ttf-parser 0.5 - nova bibliotheca ad operandum cum TrueType fonts

ttf-parser bibliotheca est pro parsing TrueType/OpenType fonts.
Nova versio plena subsidia fontium variabilium habet
(variabilis fonts) et C API, ex quo statui id in lore commoneri.

Usque nuper, si opus erat ut fontes cum TrueType laboraremus, prorsus duo optiones erant: FreeType et stb_truetype. Prima ingens coagmentatio, secunda satis exiguum munera sustinet.

ttf-parser alicubi in medio. Omnes ipsas tabulas TrueType (forma TrueType format ex multis binariis tabulis separatis constat) sicut FreeType, sed glyphas ipsas non trahit.

Eodem tempore ttf-parser multas alias notabiles differentias continet;

  1. ttf-parser scribitur in Rust sine male. FreeType and stb_truetype are written in C.
  2. ttf-parser solum memoria tuta exsecutio est. Lectio temere memoria esse non potest. Vulnerabilitates in FreeType perpetuo figuntur, et stb_truetypum in principio, non ordinatur ad fontes legendos arbitrarios.
  3. ttf-parser sola exsecutio filorum tuta est. Omnes modi parsing constant. Sola exceptio coordinatas pro fontibus variantibus disponit, sed hoc munus reentrant. FreeType est basically una-fila. stb_truetype - reentrant (in diversis stamina potes uti singulis exemplaribus, sed non uno ex multis).
  4. ttf-parser sola exsecutio est quae prouinciis acerui non utitur. Hoc tibi permittit ut parsing accelerare et difficultates vitare cum OOM.
  5. Etiam fere omnes arithmeticae operationes et conversiones generum numerorum sedantur (statically comprehendo).
  6. In gravissimo casu bibliotheca exceptionem iacere potest. In hoc casu, in C API, exceptiones deprehendentur et munus errorem reddet, sed non fragorem.

Et quamvis omnes cautiones securitatis, ttf-parser est etiam quam celerrime exsecutionem. Exempli gratia, parsing CFF2 est 3.5 temporibus velocior quam FreeType. Parsing glyf, interim 10% tardior est quam in stb_truetypo, sed hoc ex eo quod fontes variabiles non sustinet, quorum exsecutio additicium recondere requirit. indicium. More details in README.

Source: linux.org.ru

Add a comment