ttf-parser 0.5 - umtapo wolwazi omusha wokusebenza namafonti e-TrueType

ttf-parser iwumtapo wolwazi wokudlulisa amafonti e-TrueType/OpenType.
Inguqulo entsha inokusekelwa okugcwele kwamafonti aguquguqukayo
(amafonti aguquguqukayo) kanye ne-C API, ngenxa yalokho nganquma ukuyikhangisa ku-lore.

Kuze kube muva nje, uma bekunesidingo sokusebenzisana namafonti e-TrueType, bekukhona izinketho ezimbili ngqo: I-FreeType ne-stb_truetype. Eyokuqala iyinhlanganisela enkulu, eyesibili isekela inani elincane lemisebenzi.

I-ttf-parser isendaweni ethile phakathi. Isekela wonke amathebula e-TrueType afanayo (ifomethi ye-TrueType iqukethe amathebula kanambambili amaningi ahlukene) njenge-FreeType, kodwa ayidwebi ama-glyph ngokwawo.

Ngasikhathi sinye, i-ttf-parser iqukethe ezinye umehluko omningi obalulekile:

  1. I-ttf-parser ibhalwe ngeRust ngaphandle kokusebenzisa okungaphephile. I-FreeType ne-stb_truetype zibhalwe ngo-C.
  2. I-ttf-parser ukuphela kokusetshenziswa okuphephile kwememori. Ukufunda inkumbulo engahleliwe akunakwenzeka. Ubungozi buhlala bulungiswa ku-FreeType, futhi i-stb_truetype, empeleni, ayiklanyelwe ukufunda amafonti angenangqondo.
  3. I-ttf-parser ukuphela kokusetshenziswa okuphephile kwentambo. Zonke izindlela zokuhlaziya azishintshi. Okuwukuphela kwento ehlukile wukusetha izixhumanisi zamafonti aguquguqukayo, kodwa lo msebenzi uphinde ungene. I-FreeType iwuchungechunge olulodwa. stb_truetype - reentrant (ungasebenzisa amakhophi ngamanye emicu ehlukene, kodwa hhayi eyodwa kweziningi).
  4. I-ttf-parser ukuphela kokusetshenziswa okungasebenzisi inqwaba yezabelo. Lokhu kukuvumela ukuthi usheshise ukuhlukanisa futhi ugweme izinkinga nge-OOM.
  5. Futhi, cishe yonke imisebenzi ye-arithmetic nokuguqulwa kwezinhlobo zezinombolo kuyahlolwa (kuhlanganise nezibalo).
  6. Esimeni esibi kakhulu, umtapo wezincwadi ungase wenze okuhlukile. Kulokhu, ku-C API, okuhlukile kuzobanjwa futhi umsebenzi uzobuyisela iphutha, kodwa ngeke kuphahlazeke.

Futhi ngaphandle kwazo zonke iziqinisekiso zokuphepha, i-ttf-parser futhi iwukusebenzisa okusheshayo. Isibonelo, ukuhlukanisa i-CFF2 kushesha izikhathi ezi-3.5 kune-FreeType. Ukuhlaziya i-glyf, ngakolunye uhlangothi, kuhamba kancane ngo-10% kune-stb_truetype, kodwa lokhu kungenxa yokuthi ayisekeli amafonti aguquguqukayo, ukuqaliswa kwawo okudinga ukugcinwa okwengeziwe. ulwazi. Imininingwane eminingi ku README.

Source: linux.org.ru

Engeza amazwana