ttf-parser 0.5 - laibulale yatsopano yogwirira ntchito ndi mafonti a TrueType

ttf-parser ndi laibulale yosinthira zilembo za TrueType/OpenType.
Mtundu watsopanowu uli ndi chithandizo chonse cha mafonti osinthika
(mafonti osiyanasiyana) ndi C API, chifukwa chake ndinaganiza zolengeza muzolemba.

Mpaka posachedwa, ngati pakufunika kugwira ntchito ndi mafonti a TrueType, panali njira ziwiri ndendende: FreeType ndi stb_truetype. Choyamba ndi chophatikiza chachikulu, chachiwiri chimathandizira magwiridwe antchito ochepa.

ttf-parser ndi penapake pakati. Imathandizira matebulo onse omwewo a TrueType (mtundu wa TrueType uli ndi matebulo angapo osiyana) monga FreeType, koma samajambula ma glyph okha.

Nthawi yomweyo, ttf-parser ili ndi zosiyana zina zambiri:

  1. ttf-parser imalembedwa mu Rust osagwiritsa ntchito zosatetezeka. FreeType ndi stb_truetype zalembedwa mu C.
  2. ttf-parser ndiye njira yokhayo yotetezera kukumbukira. Kuwerenga kukumbukira mwachisawawa sikutheka. Ziwopsezo zimakhazikika mu FreeType, ndipo stb_truetype, kwenikweni, sinapangidwe kuti iwerenge mafonti osagwirizana.
  3. ttf-parser ndiye njira yokhayo yotetezera ulusi. Njira zonse zowerengera ndizokhazikika. Chokhacho ndikukhazikitsa ma fonti amitundu yosiyanasiyana, koma ntchitoyi ndikulowanso. FreeType kwenikweni imakhala ndi ulusi umodzi. stb_truetype - reentrant (mutha kugwiritsa ntchito makope paokha mumizere yosiyanasiyana, koma osati imodzi mwambiri).
  4. ttf-parser ndiye kukhazikitsa kokha komwe sikugwiritsa ntchito milu. Izi zimakupatsani mwayi wofulumira kugawa ndikupewa zovuta ndi OOM.
  5. Komanso, pafupifupi machitidwe onse a masamu ndi kutembenuka kwa mitundu ya manambala amawunikidwa (kuphatikiza ma statically).
  6. Muzochitika zoipitsitsa, laibulale ikhoza kutaya zosiyana. Pankhaniyi, mu C API, zosiyana zidzagwidwa ndipo ntchitoyi idzabwezera zolakwika, koma sizidzawonongeka.

Ndipo ngakhale zitsimikizo zonse zachitetezo, ttf-parser ndiyenso kukhazikitsa kwachangu kwambiri. Mwachitsanzo, kugawa CFF2 ndi liwiro la 3.5 kuposa FreeType. Parsing glyf, panthawiyi, ndi 10% pang'onopang'ono kusiyana ndi stb_truetype, koma izi ndi chifukwa chakuti sichigwirizana ndi ma fonti osinthika, kukhazikitsidwa kwake komwe kumafuna kusunga zowonjezera. zambiri. Zambiri mu YERENGANI.

Source: linux.org.ru

Kuwonjezera ndemanga