เอกสารเกี่ยวกับคำสั่งสืบค้น GPOS pair-kerning, contextual kerning, vertical kerning, cursive-anchor, mark-positioning และ mark-to-ligature ของ HotPDF พร้อมด้วยแฟล็ก ShapingFeatures ที่ใช้ในระหว่างการส่งออกข้อความ Delphi syntax
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;
Covered APIs
| API | Usage notes |
HasGPOSKerning | Reports whether the registered Unicode font exposes GPOS kerning lookups |
GetGPOSPairAdjustment | Returns the signed advance adjustment for an ordered glyph pair and can also return placement-aware X/Y offsets through the overload |
GetGPOSContextualKernRun | Returns per-glyph contextual kern adjustments by resolving GPOS Type 7 and Type 8 positioning rules over a glyph run |
HasGPOSVerticalKern | Reports whether the registered Unicode font exposes vertical kerning or vertical proportional adjustment lookups |
GetGPOSVerticalKern | Returns signed vertical YAdvance adjustment from vkrn or vpal lookups for an ordered glyph pair |
GetGPOSMarkOffset | Returns Mark-to-Base placement offsets for attaching a mark glyph to a base glyph |
GetGPOSMarkMarkOffset | Returns Mark-to-Mark placement offsets for stacking one mark glyph on another |
HasGPOSCursive | Reports whether the registered Unicode font exposes GPOS cursive attachment lookups |
GetGPOSCursiveAnchors | Returns entry and exit cursive anchors for a glyph when the font supplies a cursive attachment rule |
GetGPOSMarkToLigatureOffset | Returns Mark-to-Ligature placement offsets for attaching a mark to a specific ligature component |
GetGPOSLigatureComponentCount | Returns the number of mark-attachment components recorded for a ligature glyph so callers can choose a valid ComponentIndex before calling GetGPOSMarkToLigatureOffset |
ApplyMarkToLigatureShaping | Records ligature component ownership so mark-to-ligature offsets can be applied during text emission |
sfKerning | Enables GPOS pair-kerning adjustments during left-to-right Unicode text emission |
sfMarkPositioning | Enables GPOS Mark-to-Base and Mark-to-Mark offsets for combining marks |
sfMarkToLigature | Enables GPOS Mark-to-Ligature offsets for marks attached to individual ligature components |
sfCursiveAttachment | Enables GPOS cursive entry/exit anchor alignment during Unicode text emission, including right-to-left Arabic runs shaped by sfArabicGSUB |
sfVerticalKerning | Enables GPOS vkrn and vpal vertical advance adjustment in the vertical text output path |
Usage notes
Pair kerning คืน signed advance และ placement adjustments ใน em 1000-unit Contextual kerning resolve Type 7 และ Type 8 lookups ตลอด glyph run Mark positioning ครอบคลุม Mark-to-Base, Mark-to-Mark และ Mark-to-Ligature anchors ApplyMarkToLigatureShaping เตรียมข้อมูล ligature component ระดับ run ที่ sfMarkToLigature ใช้ Cursive attachment จัด exit anchor บน glyph หนึ่งให้ตรงกับ entry anchor บน glyph ถัดไป ซึ่งมีประโยชน์ที่สุดหลัง native Arabic GSUB shaping สร้าง contextual forms เฉพาะ font แล้ว
See also: ShapingFeatures OpenType GSUB Engine Automatic Shaping Pipeline
|