ttf-parser 0.5 - he whare pukapuka hou mo te mahi me nga momotuhi TrueType

ttf-parser he whare pukapuka mo te wetewete i nga momotuhi TrueType/OpenType.
Ko te putanga hou he tautoko katoa mo nga momotuhi taurangi
(momotuhi taurangi) me te C API, na te mea i whakatau ahau ki te panui i roto i nga korero.

I mua tata nei, mena he hiahia ki te mahi me nga momotuhi TrueType, e rua nga whiringa: FreeType me stb_truetype. Ko te tuatahi he huinga nui, ko te tuarua e tautoko ana i te iti o nga mahi.

Ko te ttf-parser kei waenganui. Ka tautokohia e ia nga ripanga TrueType katoa (he maha nga ripanga takirua motuhake te whakatakotoranga TrueType) ko FreeType, engari kaore e tuhia nga glyphs ake.

I te wa ano, he maha atu nga rereketanga nui kei roto i te ttf-parser:

  1. Ko te ttf-parser kua tuhia ki roto i te Rust me te kore whakamahi haumaru. Ko FreeType me te stb_truetype kua tuhia ki C.
  2. Ko te ttf-parser anake te whakatinana mahara-haumaru. Kare e taea te panui mahara matapōkere. Ko nga whakaraeraetanga kei te whakatika i nga wa katoa i FreeType, a, ko te tikanga, ko te stb_truetype, ehara i te mea i hangaia hei panui momotuhi noa.
  3. Ko te ttf-parser anake te whakatinanatanga miro-haumaru. He rite tonu nga tikanga wetewete. Ko te mea rereke ko te whakarite taunga mo nga momotuhi taurangi, engari ko tenei mahi ka uru ano. Ko te FreeType he miro kotahi. stb_truetype - reentrant (ka taea e koe te whakamahi kape takitahi ki nga miro rereke, engari kaua tetahi o te maha).
  4. Ko te ttf-parser anake te whakatinanatanga kaore e whakamahi i nga tohatoha puranga. Ma tenei ka taea e koe te tere ake i te panui me te karo i nga raruraru me te OOM.
  5. Ano hoki, tata katoa nga mahi tatau me nga huringa o nga momo tau ka takina (tae atu ki te taatai).
  6. I te kino rawa atu, ka tukuna pea e te whare pukapuka he otahi. I tenei keehi, i roto i te C API, ka mau nga tuunga ka hoki mai te mahi he hapa, engari kaore e pakaru.

A ahakoa nga taurangi haumarutanga katoa, ko te ttf-parser hoki te whakatinanatanga tere. Hei tauira, ko te poroporo CFF2 he 3.5 nga wa tere atu i a FreeType. Ko te parsing glyf, i tenei wa, he 10% te puhoi ake i te stb_truetype, engari na te mea kaore i te tautoko i nga momotuhi taurangi, ko te whakatinanatanga me penapena taapiri. nga korero. Ētahi atu kōrero i roto i README.

Source: linux.org.ru

Tāpiri i te kōrero