ttf-parser 0.5 - he waihona hou no ka hana pū ʻana me nā kikokikona TrueType

ttf-parser He waihona ia no ka hoʻokaʻawale ʻana i nā kikokikona TrueType/OpenType.
Loaʻa i ka mana hou ke kākoʻo piha no nā font loli
(nā huaʻōlelo hoʻololi) a me C API, no laila ua hoʻoholo wau e hoʻolaha iā ia ma ka lore.

A hiki i kēia manawa, inā pono e hana pū me nā font TrueType, aia ʻelua mau koho: FreeType a me stb_truetype. ʻO ka mua he hui nui, kākoʻo ka lua i kahi helu liʻiliʻi o nā hana.

ttf-parser aia ma kahi o ka waena. Kākoʻo ia i nā papa like ʻo TrueType like (ʻo ka ʻano TrueType he nui nā papa binary kaʻawale) me FreeType, akā ʻaʻole ia e huki i nā glyphs iā lākou iho.

I ka manawa like, loaʻa i ka ttf-parser nā ʻokoʻa nui ʻē aʻe:

  1. Ua kākau ʻia ʻo ttf-parser ma Rust me ka hoʻohana ʻole i ka palekana. Ua kākau ʻia ʻo FreeType a me stb_truetype ma C.
  2. ʻO ttf-parser wale nō ka hoʻokō hoʻomanaʻo-palekana. ʻAʻole hiki ke heluhelu i ka hoʻomanaʻo maʻamau. Hoʻopaʻa mau ʻia nā vulnerabilities ma FreeType, a ʻo stb_truetype, ma ke kumu, ʻaʻole i hoʻolālā ʻia e heluhelu i nā moʻo paʻa ʻole.
  3. ʻO ttf-parser wale nō ka hoʻokō pono-palekana. ʻO nā ʻano parsing a pau he mau. ʻO ka ʻokoʻa wale nō ka hoʻonohonoho ʻana i nā hoʻonohonoho no nā font variable, akā hoʻi hou kēia hana. ʻO FreeType ka mea maʻamau i hoʻokahi kaula. stb_truetype - reentrant (hiki iā ʻoe ke hoʻohana i nā kope hoʻokahi i nā pae like ʻole, akā ʻaʻole hoʻokahi o nā mea he nui).
  4. ʻO ttf-parser wale nō ka hoʻokō ʻaʻole i hoʻohana i nā ʻāpana puʻu. ʻAe kēia iā ʻoe e wikiwiki i ka parsing a pale i nā pilikia me OOM.
  5. Eia kekahi, ʻaneʻane nānā ʻia nā hana helu helu a me nā hoʻololi ʻana o nā ʻano helu (me ka statically).
  6. I ka hihia maikaʻi loa, hiki i ka waihona ke hoʻolei i kahi ʻokoʻa. I kēia hihia, ma ka C API, e hopu ʻia nā ʻokoʻa a e hoʻihoʻi ka hana i kahi hewa, akā ʻaʻole e hāʻule.

A ʻoiai nā hōʻoia palekana āpau, ʻo ttf-parser ʻo ia ka hoʻokō wikiwiki loa. No ka laʻana, ʻoi aku ka wikiwiki o ka parsing CFF2 ma mua o FreeType. ʻO Parsing glyf, ʻo ia hoʻi, he 3.5% ʻoi aku ka lohi ma mua o stb_truetype, akā no ka mea ʻaʻole ia e kākoʻo i nā font variable, ʻo ka hoʻokō ʻana e pono ai e mālama hou. ʻike. Nā kikoʻī hou aku ma README.

Source: linux.org.ru

Pākuʻi i ka manaʻo hoʻopuka