مرجع HotPDF

تستطيع HotPDF فحص محاور fvar والمثيلات (instances) المسمّاة، والتحقق من الإحداثيات المختارة، وإنتاج مثيل ثابت (static) قبل تركيب الخط العادي، والتصغير (subsetting)، والتخزين المؤقت الدائم

مسار عمل الخطوط المتغيّرة (variable fonts)

PDF.InspectVariableFont(FontPath, Axes, Instances);
PDF.SetVariableFontAxis('wght', 650);
PDF.RegisterUnicodeTTF(FontPath);

تُنشَأ مثيلات (instantiate) خطوط CFF2 من نوع OpenType داخليًا عند الإحداثيات الافتراضية أو المختارة، بما يشمل fvar، وتعيين avar بالإصدارين 1.0 و2.0، وحالة vsindex لكل قاموس خط، وتقييم blend، والإجراءات الفرعية (subroutines) المحلية والعامة التكرارية، وفروق (deltas) مقاييس HVAR و VVAR و MVAR

تُنشَأ مثيلات خطوط TrueType المتغيّرة ذات المخططات (outlines) من نوع glyf داخليًا للإحداثيات غير الافتراضية. ويقيّم خط الأنابيب زوجًا (tuples) مشتركة وخاصة من gvar، ويطبّق استيفاء (interpolation) IUP، ويحدّث المخططات البسيطة والإزاحات المركَّبة (composite offsets)، ويحلّ مقاييس نقاط الوهم (phantom-point) الأفقية والرأسية، ويخبز MVAR، ويعيد بناء بيانات الحروف المضغوطة و loca، ويزيل جداول التغاير (variation) من sfnt الثابت الصحيح المجموع الاختباري

OnVariableFontInstance اختياري لخطوط CFF2 و TrueType المتغيّرة. ويمكنه تجاوز مثيل داخلي غير افتراضي بإعادة sfnt ثابت صالح دون جدول fvar

تبقى الإحداثيات المحلولة متاحة عبر GetRegisteredVariableFontAxes وتصبح جزءًا من محتوى الخط المركَّب والمخزَّن مؤقتًا

الإنشاء (instancing) والتقليص (subsetting) والأمان منخفض المستوى

تكشف HPDFIsCFF2Font و HPDFInstantiateCFF2Font و HPDFSubsetCFF2Font و HPDFIsTrueTypeVariableFont و HPDFInstantiateTrueTypeVariableFont مسارات عمل بمصفوفة بايتات (byte-array) للمستدعين الذين يديرون بالفعل حاويات الخطوط

تحافظ المخرجات الثابتة (static) على معرّفات الحروف وبرامج التلميح (hint) أثناء إعادة بناء جداول sfnt والمجاميع الاختبارية. ويحافظ مسار CFF2 أيضًا على البيانات الخاصة لكل قاموس خط ومصفوفات الخط

الإزاحات المشوَّهة وبنى التغيير (variation) غير الصالحة وعمق الروتينات الفرعية (subroutine) المفرط وحدود العمليات وحدود CharString الموسَّعة، كلها تفشل بأمان (fail closed) بدلاً من إرجاع خط أُنشئ جزئيًا فقط

الإنشاء (instancing) والتقليص (subsetting) والأمان منخفض المستوى

تكشف GetRegisteredColorGlyphInfo طبقات COLR و CPAL، ومستندات حروف SVG، وstrikes من نوع CBDT/CBLC، وstrikes من نوع sbix لخط مسجَّل

ترسم DrawRegisteredColorGlyph بشكل أصلي طبقات COLR v0، ورسومات طلاء (paint graphs) محدودة من COLR v1، ومستندات SVG آمنة ومقيَّدة، وصور PNG من CBDT، وصور PNG أو JPEG من sbix

الإزاحات المشوَّهة وبنى التغيير (variation) غير الصالحة وعمق الروتينات الفرعية (subroutine) المفرط وحدود العمليات وحدود CharString الموسَّعة، كلها تفشل بأمان (fail closed) بدلاً من إرجاع خط أُنشئ جزئيًا فقط

الإزاحات المشوَّهة وبنى التغيير (variation) غير الصالحة وعمق الروتينات الفرعية (subroutine) المفرط وحدود العمليات وحدود CharString الموسَّعة، كلها تفشل بأمان (fail closed) بدلاً من إرجاع خط أُنشئ جزئيًا فقط

يبقى THPDFColorGlyphRasterizeEvent هو الحل الاحتياطي (fallback) لميزات SVG غير المدعومة، وأنماط Porter-Duff غير المدعومة، والعتامة (opacity)، والتدرجات اللونية، ومخرجات raster الخاصة بالتطبيق

تكشف THPDFOpenTypeColorGlyphInfo.COLRv1Paints رسم DAG المسطَّح والمُتحقَّق منه عبر سجلات THPDFCOLRv1Paint و THPDFCOLRv1ColorStop و THPDFCOLRv1Transform للفحص دون إعادة تحليل بايتات الخط

الإزاحات المشوَّهة وبنى التغيير (variation) غير الصالحة وعمق الروتينات الفرعية (subroutine) المفرط وحدود العمليات وحدود CharString الموسَّعة، كلها تفشل بأمان (fail closed) بدلاً من إرجاع خط أُنشئ جزئيًا فقط