ttf-parser 0.5 — uus teek TrueType fondide töötlemiseks

ttf-parser — see on TrueType/OpenType font parsing library.
Uues versioonis on lisandunud tÀiskohaga tugi muutuvale fondile.
(muutuvad fondid) ja C API, ja selle tÔttu otsustasin seda Lore'is reklaamida.

Kuni hiljaaegu, kui oli vaja töötada TrueType fontidega, oli kaks vĂ”imalust: FreeType ja stb_truetype. Esimene on tohutu kaevandamine, teine toetab ĂŒsna piiratud funktsioone.

ttf-parser on kuskil vahepeal. See toetab kĂ”iki neid samu TrueType tabeleid (TrueType formaadi struktuur koosneb mitmest eraldi binaartabelist), mis on FreeType'is, kuid ei tegele ise glĂŒfide renderdamisega.

Samal ajal sisaldab ttf-parser mitmeid muid olulisi erinevusi:

  1. ttf-parser on kirjutatud Rustis, ilma unsafe'i kasutamiseta. FreeType ja stb_truetype on kirjutatud C-s.
  2. ttf-parser on ainus ohutu (memory-safe) rakendus. Juhusliku mĂ€lu lugemine pole vĂ”imalik. FreeType'is parandatakse pidevalt haavatavusi ning stb_truetype pole ĂŒldse ette nĂ€htud juhuslike fontide lugemiseks.
  3. ttf-parser on ainus thread-safe rakendus. KĂ”ik parsimismeetodid on konstandid. Ainus erand on muutuva fondi koordinaatide mÀÀramine, kuid see funktsioon on reentrant. FreeType on pĂ”himĂ”tteliselt ĂŒhesuunaline. stb_truetype on reentrant (vĂ”ib kasutada eraldi koopiaid erinevates lĂ”imedes, kuid mitte ĂŒhte paljusid).
  4. ttf-parser on ainus rakendus, mis ei kasuta „heap’is” mÀÀramist. See vĂ”imaldab kiirendada parsimist ja vĂ€ltida OOM-i probleeme.
  5. Samuti kontrollitakse peaaegu kĂ”iki aritmeetilisi operatsioone ja tĂŒĂŒbi tĂ”lgendusi (sealhulgas staatiliselt).
  6. KĂ”ige hullemal juhul vĂ”ib raamatukogu visata erandi. Samal ajal C API-s pĂŒĂŒavad erandid kinni ning funktsioon tagastab vea, kuid ei kukku kokku.

Ja hoolimata kĂ”igist ohutuse garantiiidest on ttf-parser ka kiireim rakendus. NĂ€iteks CFF2 parsimine on 3,5 korda kiirem kui FreeType'il. Glyfi parsimine on samal ajal 10% aeglasem kui stb_truetype'il, kuid see on tingitud asjaolust, et see ei toeta muutuvaid fonte, mille rakendamiseks on vajalik tĂ€iendava teabe hoidmine. Rohkem ĂŒksikasju on nĂ€iteks, mis kuvatakse armatuurlaudade peal koos Prometheuse pĂ€ringutega, mis tĂ€idavad armatuure..

Allikas: linux.org.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster