ttf-parser 0.5 - raibhurari nyowani yekushanda nemafonti eTrueType

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:

  1. ttf-parser yakanyorwa neRust pasina kushandisa isina kuchengeteka. FreeType uye stb_truetype zvakanyorwa muC.
  2. 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.
  3. 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).
  4. ttf-parser ndiyo yega kuita iyo isingashandisi mirwi migove. Izvi zvinokutendera kuti ukurumidze kupatsanura uye kudzivirira matambudziko neOOM.
  5. Zvakare, anenge ese arithmetic mashandiro uye shanduko yenhamba dzemhando dzinotariswa (kusanganisira statically).
  6. 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

Voeg