ttf-parser on teek TrueType/OpenType fontide sÔelumiseks.
Uus versioon toetab tÀielikult muutuvaid fonte
(muutlikud fondid) ja C API, mille tulemusena otsustasin seda pÀrimuses reklaamida.
Kuni viimase ajani, kui oli vajadus töötada TrueType fontidega, oli tĂ€pselt kaks vĂ”imalust: FreeType ja stb_truetype. Esimene on tohutu kombain, teine ââtoetab ĂŒsna vĂ€he funktsioone.
ttf-parser on kuskil keskel. See toetab kĂ”iki samu TrueType'i tabeleid (TrueType'i vorming koosneb paljudest eraldi kahendtabelitest) nagu FreeType, kuid ei joonista glĂŒĂŒfe ise.
Samal ajal sisaldab ttf-parser palju muid olulisi erinevusi:
- ttf-parser on kirjutatud Rusti keeles ilma unsafe'i kasutamata. FreeType ja stb_truetype on kirjutatud C keeles.
- ttf-parser on ainus mÀluohutu teostus. Juhusliku mÀlu lugemine pole vÔimalik. FreeType'is parandatakse pidevalt turvaauke ja stb_truetype pole pÔhimÔtteliselt loodud suvaliste fontide lugemiseks.
- ttf-parser on ainus lĂ”imekindel teostus. KĂ”ik sĂ”elumismeetodid on konstantsed. Ainus erand on muutuvate fontide koordinaatide mÀÀramine, kuid see funktsioon on uuesti sisenev. FreeType on pĂ”himĂ”tteliselt ĂŒhe keermega. stb_truetype - reentrant (vĂ”ite kasutada ĂŒksikuid koopiaid erinevates lĂ”imedes, kuid mitte ĂŒhte paljudest).
- ttf-parser on ainus rakendus, mis ei kasuta kuhjaeraldisi. See vÔimaldab teil sÔelumist kiirendada ja vÀltida probleeme OOM-iga.
- Samuti kontrollitakse peaaegu kĂ”iki aritmeetilisi tehteid ja numbritĂŒĂŒpide teisendusi (ka staatiliselt).
- Halvimal juhul vĂ”ib raamatukogu teha erandi. Sel juhul pĂŒĂŒtakse C API-s erandid kinni ja funktsioon tagastab veateate, kuid ei jookse kokku.
Ja hoolimata kÔigist turvagarantiidest on ttf-parser ka kÔige kiirem rakendus. NÀiteks CFF2 sÔelumine on 3.5 korda kiirem kui FreeType. Vahepeal on glyfi parsimine 10% aeglasem kui stb_truetype, kuid see on tingitud asjaolust, et see ei toeta muutuvaid fonte, mille rakendamine nÔuab tÀiendavate salvestamist. teavet. TÀpsemalt sisse README.
Allikas: linux.org.ru
