ttf-parser 0.5 - sabon ɗakin karatu don aiki tare da fonts na TrueType

ttf-fasa ɗakin karatu ne don tantance fonts na TrueType/OpenType.
Sabuwar sigar tana da cikakken goyan baya ga mabambantan fonts
(m fonts) da C API, a sakamakon haka na yanke shawarar tallata shi a cikin labaran.

Har kwanan nan, idan akwai buƙatar yin aiki tare da fonts na TrueType, akwai ainihin zaɓuɓɓuka biyu: FreeType da stb_truetype. Na farko shine babban haɗaka, na biyu yana goyan bayan ƙaramin adadin ayyuka.

ttf-parser yana wani wuri a tsakiya. Yana goyan bayan duk tebur na TrueType guda ɗaya (tsarin TrueType ya ƙunshi tebur na binaryar da yawa) kamar FreeType, amma ba ya zana glyphs da kansu.

A lokaci guda, ttf-parser ya ƙunshi wasu manyan bambance-bambance masu yawa:

  1. ttf-parser an rubuta shi cikin Rust ba tare da amfani da rashin lafiya ba. FreeType da stb_truetype an rubuta su a cikin C.
  2. ttf-parser shine kawai aiwatar da amintaccen ƙwaƙwalwar ajiya. Karanta bazuwar ƙwaƙwalwar ajiya ba zai yiwu ba. Kullum ana gyara rashin lahani a cikin FreeType, kuma stb_truetype shine, bisa ƙa'ida, ba a tsara shi don karanta rubutun sabani ba.
  3. ttf-parser shine kawai aiwatar da zaren mai aminci. Duk hanyoyin tantancewa koyaushe ne. Iyakar abin da ke faruwa shine saitin daidaitawa don mabambantan fonts, amma wannan aikin yana sake dawowa. FreeType shine ainihin zaren guda ɗaya. stb_truetype - reentrant (zaka iya amfani da kowane kwafi a cikin zaren daban-daban, amma ba ɗaya daga cikin da yawa ba).
  4. ttf-parser shine kawai aiwatarwa wanda baya amfani da rabon tudu. Wannan yana ba ku damar hanzarta bincike kuma ku guje wa matsaloli tare da OOM.
  5. Hakanan, kusan duk ayyukan lissafi da jujjuyawar nau'ikan lambobi ana duba su (ciki har da ƙididdiga).
  6. A cikin mafi munin yanayi, ɗakin karatu na iya jefa banda. A wannan yanayin, a cikin C API, za a kama keɓancewa kuma aikin zai dawo da kuskure, amma ba zai faɗi ba.

Kuma duk da garantin tsaro, ttf-parser kuma shine mafi saurin aiwatarwa. Misali, yin nazarin CFF2 yana da sauri sau 3.5 fiye da FreeType. Parsing glyf, a halin yanzu, yana da 10% a hankali fiye da na stb_truetype, amma wannan ya faru ne saboda gaskiyar cewa baya goyan bayan manyan fonts, wanda aiwatar da shi yana buƙatar adana ƙarin. bayani. Karin bayani a ciki README.

source: linux.org.ru

Add a comment