ttf-parser pirtûkxaneyek ji bo parkirina tîpên TrueType/OpenType ye.
Guhertoya nû ji bo tîpên guhêrbar piştgirîya tam heye
(tîpên guherbar) û C API, di encama vê yekê de min biryar da ku ez wê di lore de reklam bikim.
Heya vê dawiyê, ger hewce bû ku bi tîpên TrueType re bixebitin, tam du vebijark hebûn: FreeType û stb_truetype. Ya yekem berhevokek mezin e, ya duyemîn hejmareke hindik fonksiyonan piştgirî dike.
ttf-parser cîhek di navîn de ye. Ew hemî heman tabloyên TrueType piştgirî dike (forma TrueType ji gelek tabloyên binary yên cihêreng pêk tê) wekî FreeType, lê bi xwe glyphan xêz nake.
Di heman demê de, ttf-parser gelek cûdahiyên din ên girîng hene:
- ttf-parser bêyî karanîna neewle di Rust de tê nivîsandin. FreeType û stb_truetype di C de têne nivîsandin.
- ttf-parser yekane pêkanîna bîranîn-ewle ye. Xwendina bîra rasthatî ne mimkûn e. Di FreeType de qelsî bi domdarî têne rast kirin, û stb_truetype, di prensîbê de, ji bo xwendina tîpên kêfî nayê sêwirandin.
- ttf-parser yekane pêkanîna pêbawer-ewle ye. Hemî rêbazên parskirinê berdewam in. Tenê îstîsna danîna koordînatên ji bo tîpên guhêrbar e, lê ev fonksiyon ji nû ve vedigere. FreeType di bingeh de yek-mijalek e. stb_truetype - vegere (hûn dikarin kopiyên kesane di mijarên cihê de bikar bînin, lê ne yek ji gelekan).
- ttf-parser tekane pêkanîn e ku veqetandinên heap bikar nayîne. Ev dihêle hûn parskirinê bilez bikin û pirsgirêkên bi OOM re dûr bixin.
- Di heman demê de, hema hema hemî operasyonên arîtmetîk û veguherînên celebên hejmarî têne kontrol kirin (tevî statîkî).
- Di rewşa herî xirab de, pirtûkxane dibe ku îstîsnayek bavêje. Di vê rewşê de, di C API-ê de, dê îstîsna werin girtin û fonksiyon dê xeletiyek vegere, lê dê têk nebe.
Û tevî hemî garantiyên ewlehiyê, ttf-parser di heman demê de pêkanîna herî bilez e. Mînakî, parskirina CFF2 3.5 carî ji FreeType zûtir e. Di vê navberê de, parsing glyf ji stb_truetype% 10 hêdîtir e, lê ev ji ber vê yekê ye ku ew tîpên guhêrbar piştgirî nake, ji bo pêkanîna wan pêdivî bi hilanîna zêde heye. agahî. Agahiyên bêtir di BIXWÎNE.
Source: linux.org.ru
