ttf-parser iraibhurari yekupatsanura TrueType/OpenType mafonti.
Iyo vhezheni itsva ine rutsigiro rwakazara rwemafonti akasiyana
(mafonti akasiyana) uye C API, semugumisiro wandakasarudza kuishambadza mulore.
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 matafura eTrueType (iyo TrueType fomati ine akawanda akapatsanurwa mabhinari matafura) seFreeType, asi haidhirowe 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 dzisina kurongeka hazvibviri. Kusagadzikana kunogara kuchigadziriswa muFreeType, uye stb_truetype iri, musimboti, haina kugadzirirwa kuverenga 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 - reentrant (unogona kushandisa makopi ega mushinda dzakasiyana, asi kwete imwe yeakawanda).
- ttf-parser ndiyo yega kuita iyo isingashandisi mirwi migove. Izvi zvinokutendera kuti ukurumidze kupatsanura uye kudzivirira matambudziko neOOM.
- Zvakare, anenge ese arithmetic mashandiro uye shanduko yenhamba dzemhando dzinotariswa (kusanganisira statically).
- Mumamiriro ezvinhu akaipisisa, raibhurari inogona kukanda zvakasiyana. Muchiitiko ichi, muC API, kunze kuchabatwa uye basa racho richadzorera kukanganisa, asi haringaputsi.
Uye kunyangwe zvese zvivimbiso zvekuchengetedza, ttf-parser zvakare ndiyo inokurumidza kuita. Semuenzaniso, kupatsanura CFF2 inokurumidza 3.5 nguva kupfuura FreeType. Parsing glyf, panguva iyi, inononoka ne10% pane stb_truetype, asi izvi zvinokonzerwa nekuti haitsigire mafonti akasiyana-siyana, kushandiswa kunoda kuchengetedza kuwedzera. ruzivo. Mamwe mashoko mukati README.
Source: linux.org.ru