ttf-parser د TrueType/OpenType فونټونو د پارس کولو لپاره یو کتابتون دی.
نوې نسخه د متغیر فونټونو لپاره بشپړ ملاتړ لري
(متغیر فونټونه) او C API، د پایلې په توګه ما پریکړه وکړه چې دا په لور کې اعلان کړم.
تر دې وروستیو پورې، که چیرې د TrueType فونټونو سره کار کولو ته اړتیا وه، په سمه توګه دوه اختیارونه شتون درلود: FreeType او stb_truetype. لومړی یو لوی ترکیب دی ، دوهم د کافي لږ شمیر کارونو ملاتړ کوي.
ttf-parser په منځ کې یو ځای دی. دا د ټولو ورته TrueType جدولونو ملاتړ کوي (د TrueType بڼه د ډیری جلا بائنری جدولونو څخه جوړه ده) د FreeType په توګه، مګر پخپله ګالیفس نه رسموي.
په ورته وخت کې، ttf-parser ډیری نور مهم توپیرونه لري:
- ttf-parser د غیر محفوظ کارولو پرته په Rust کې لیکل شوی. FreeType او stb_truetype په C کې لیکل شوي.
- ttf-parser یوازینی د حافظې خوندي تطبیق دی. د تصادفي حافظې لوستل ممکن ندي. زیانمنتیاوې په دوامداره توګه په FreeType کې ټاکل کیږي، او stb_truetype په اصل کې د خپل سري فونټونو لوستلو لپاره ډیزاین شوی نه دی.
- ttf-parser یوازینی تار خوندي تطبیق دی. د تحلیل ټول میتودونه ثابت دي. یوازینی استثنا د متغیر فونټونو لپاره همغږي تنظیم کول دي ، مګر دا فنکشن بیرته راګرځیدونکی دی. FreeType اساسا یو واحد موضوع ده. stb_truetype - بیا ننوتل (تاسو کولی شئ انفرادي کاپيونه په مختلفو تارونو کې وکاروئ، مګر یو له ډیری څخه نه).
- ttf-parser یوازینی تطبیق دی چې د هپ تخصیص نه کاروي. دا تاسو ته اجازه درکوي د پارس کولو سرعت ګړندی کړئ او د OOM سره د ستونزو څخه مخنیوی وکړئ.
- همچنان ، نږدې ټول حسابي عملیات او د عددي ډولونو تبادلې چک شوي (په شمول د جامد ډول).
- په بدترین حالت کې، کتابتون ممکن یو استثنا وغورځوي. په دې حالت کې، په C API کې، استثناوې به ونیول شي او فنکشن به یوه تېروتنه بیرته راولي، مګر خراب نشي.
او د ټولو امنیتي تضمینونو سره سره، ttf-parser هم ترټولو چټک تطبیق دی. د مثال په توګه، د CFF2 تحلیل د FreeType په پرتله 3.5 ځله ګړندی دی. په عین حال کې د glyf پارس کول د stb_truetype په پرتله 10٪ ورو دی، مګر دا د دې حقیقت له امله دی چې دا د متغیر فونټونو ملاتړ نه کوي، چې پلي کول یې اضافي ذخیره کولو ته اړتیا لري. معلومات نور جزیات په کې README.
سرچینه: linux.org.ru