|
طرق THotPDF للكرنينغ والتموضع في GPOS THotPDF مرجع API
|
طرق THotPDF التشكيل التلقائي GSUB |
|
توثق استعلامات HotPDF لكرنينغ أزواج GPOS والكرنينغ السياقي والكرنينغ الرأسي ومراسي الكتابة المتصلة وتموضع العلامات وmark-to-ligature، إضافة إلى أعلام ShapingFeatures التي تطبقها أثناء إخراج النص
صيغة Delphi function HasGPOSKerning: Boolean; function GetGPOSPairAdjustment(FirstGID, SecondGID: Word): Integer; function GetGPOSPairAdjustment(FirstGID, SecondGID: Word; out AXPlacement, AYPlacement, AYAdvance: Integer): Integer; function GetGPOSContextualKernRun(const GIDs: array of Word): TArray<Integer>; function HasGPOSVerticalKern: Boolean; function GetGPOSVerticalKern(FirstGID, SecondGID: Word): Integer; function GetGPOSMarkOffset(BaseGID, MarkGID: Word; out DX, DY: Integer): Boolean; function GetGPOSMarkMarkOffset(BaseMarkGID, AttachMarkGID: Word; out DX, DY: Integer): Boolean; function HasGPOSCursive: Boolean; function GetGPOSCursiveAnchors(GID: Word; out EntryX, EntryY, ExitX, ExitY: Integer; out HasEntry, HasExit: Boolean): Boolean; function GetGPOSMarkToLigatureOffset(LigGID: Word; ComponentIndex: Integer; MarkGID: Word; out DX, DY: Integer): Boolean; function GetGPOSLigatureComponentCount(LigGID: Word): Integer; function ApplyMarkToLigatureShaping(const Wide: UnicodeString): UnicodeString;
واجهات API المشمولة
ملاحظات الاستخدام يعيد كرنينغ الأزواج تعديلات advance والتموضع بعلامة في em من 1000 وحدة. يحل الكرنينغ السياقي lookup Type 7 وType 8 عبر تسلسل glyphs. يغطي تموضع العلامات مراسي Mark-to-Base وMark-to-Mark وMark-to-Ligature. يجهز ApplyMarkToLigatureShaping بيانات مكونات ligature على مستوى التسلسل التي يستخدمها sfMarkToLigature. يحاذي الاتصال المتصل مرساة خروج glyph مع مرساة دخول glyph التالي، وهو مفيد خصوصا بعد أن ينتج تشكيل Arabic GSUB الأصلي معرفات glyph سياقية خاصة بالخط وتحمل تلك المراسي. يطبق مسار الإخراج هذه التعديلات فقط عندما يكون علم التشكيل المطابق مفعلا
راجع أيضا: ShapingFeatures OpenType GSUB Engine Automatic Shaping Pipeline |