ttf-parser - iraibhurari yekuisa TrueType/OpenType mafonti.
Iyo vhezheni itsva ikozvino ine rutsigiro rwakazara rwemafonti akasiyana
(mafonti akasiyana) uye C API, ndicho chikonzero ndakasarudza kuishambadza pane lore.
Kusvika nguva pfupi yadarika, kana paine chikonzero chekushanda nemafonti eTrueType, pakanga paine sarudzo mbiri chaidzo: FreeType uye stb_truetype. Yekutanga musanganiswa wakakura, yechipiri inotsigira nhamba shoma yemabasa.
ttf-parser pane imwe nzvimbo pakati. Iyo inotsigira ese akafanana TrueType matafura (iyo TrueType fomati ine akawanda akapatsanurwa mabhinari matafura) seFreeType, asi haipe iwo glyphs pachawo.
Panguva imwecheteyo, ttf-parser ine mimwe misiyano yakawanda yakakosha:
- ttf-parser yakanyorwa neRust pasina kushandisa isina kuchengeteka. FreeType uye stb_truetype zvakanyorwa muC.
- ttf-parser ndiyo yega ndangariro-yakachengeteka kuita. Kuverenga ndangariro dzemadiro hazvibviri. FreeType inogara ichivharidzirwa nekuda kwekusagadzikana, uye stb_truetype haina kugadzirwa kuti iverenge mafonti asina kujeka.
- ttf-parser ndiyo yega tambo-yakachengeteka kuita. Nzira dzese dzekupenengura dzinogara dziripo. Chinosarudzika chete kuseta marongedzero emafonti akasiyana, asi basa iri rinopindazve. FreeType inonyanya kurongedzerwa tambo imwe chete. stb_truetype is reentrant (unogona kushandisa makopi akaparadzana mushinda dzakasiyana, asi kwete imwe yeakawanda).
- ttf-parser ndiyo yega kuita iyo isingashandisi mirwi migove. Izvi zvinobvumira kukurumidza kupatsanura uye kudzivirira nyaya dzeOOM.
- Zvakare, anenge ese arithmetic mashandiro uye kukanda kwenhamba dzemhando zvinotariswa (kusanganisira statically).
- Mumamiriro ezvinhu akaipisisa, raibhurari inogona kukanda zvakasiyana. Muchiitiko ichi, zvisizvo zvichabatwa muC API uye basa racho rinodzorera chikanganiso, asi haringaputsi.
Uye kunyangwe zvese zvivimbiso zvekuchengetedza, ttf-parser zvakare ndiyo inokurumidza kuita. Semuenzaniso, CFF2 parsing ndeye 3.5 times nekukurumidza kupfuura FreeType. Glyf parsing inononoka ne10% pane stb_truetype, asi izvi imhaka yekuti haitsigire mafonti akasiyana, ayo anoda kuchengetedza rumwe ruzivo kuti uite. Mamwe mashoko mukati README.
Source: linux.org.ru
