ttf-parser 0.5 — ett nytt bibliotek för att arbeta med TrueType-typsnitt

ttf-parser Àr ett bibliotek för att analysera TrueType/OpenType typsnitt.
I den nya versionen har fullstÀndig support för variabla typsnitt lagts till.
(variabla typsnitt) och C API, dÀrför beslutade jag mig för att marknadsföra det pÄ loren.

Tidigare, om det fanns ett behov av att arbeta med TrueType typsnitt, fanns det precis tvÄ alternativ: FreeType och stb_truetype. Den första Àr en enorm mjukvarusvamp, medan den andra har ett ganska begrÀnsat antal funktioner.

ttf-parser ligger nÄgonstans mittemellan. Det stöder alla samma TrueType-tabeller (TrueType-formatet bestÄr av mÄnga separata binÀra tabeller) som FreeType, men hanterar inte sjÀlva ritningen av glyphs.

Samtidigt innehÄller ttf-parser mÄnga andra betydande skillnader:

  1. ttf-parser Àr skrivet i Rust utan att anvÀnda unsafe. FreeType och stb_truetype Àr skrivna i C.
  2. ttf-parser Àr den enda sÀkra (memory-safe) implementationen. Att lÀsa vilkorsminne Àr omöjligt. I FreeType rÀttas sÄrbarheter stÀndigt, och stb_truetype Àr i grunden inte avsett för att lÀsa godtyckliga typsnitt.
  3. ttf-parser Àr den enda trÄd-sÀkra implementationen. Alla analysmetoder Àr konstanta. Det enda undantaget Àr att stÀlla in koordinater för variabla typsnitt, men denna funktion Àr reentrant. FreeType Àr i grunden entrÄdad. stb_truetype Àr reentrant (kan anvÀnda separata kopior i olika trÄdar, men inte en av mÄnga).
  4. ttf-parser Àr den enda implementationen som inte anvÀnder allokering i "heapen". Detta möjliggör snabbare analys och undviker problem vid OOM.
  5. Dessutom kontrolleras nÀstan alla aritmetiska operationer och typkonverteringar (inklusive statiskt).
  6. I vÀrsta fall kan biblioteket kasta ett undantag. I C API kommer undantag att fÄngas och funktionen kommer att returnera ett fel, men inte krascha.

Och trots alla sÀkerhetsgarantier Àr ttf-parser ocksÄ den snabbaste implementationen. Till exempel Àr analysen av CFF2 3,5 gÄnger snabbare Àn i FreeType. Analysen av glyf Àr 10% lÄngsammare Àn i stb_truetype, men det beror pÄ att den inte stöder variabla typsnitt, vilket krÀver lagring av ytterligare information. Mer information finns i README.

KĂ€lla: linux.org.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster