|
Dokumentuje dotazy HotPDF pro GPOS pair-kerning, kontextový kerning, svislý kerning, cursive-anchor, umisťování značek a mark-to-ligature spolu s příznaky ShapingFeatures, které je používají při textovém výstupu
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 | Poznámky k použití |
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 |
Poznámky k použití
Pair kerning vrací znaménkové úpravy advance a umístění v 1000jednotkovém em. Kontextový kerning řeší lookupy Type 7 a Type 8 napříč během glyfů. Umisťování značek pokrývá kotvy Mark-to-Base, Mark-to-Mark a Mark-to-Ligature. ApplyMarkToLigatureShaping připravuje data komponent ligatur na úrovni běhu používaná příznakem sfMarkToLigature. Cursive attachment zarovnává výstupní kotvu jednoho glyfu na vstupní kotvu dalšího glyfu, což je nejužitečnější poté, co nativní arabské tvarování GSUB vytvoří kontextová ID glyfů specifická pro písmo, která tyto kotvy nesou. Výstupní cesta je použije pouze tehdy, když je zapnut odpovídající příznak tvarování
Viz také: ShapingFeatures OpenType GSUB Engine Automatic Shaping Pipeline
|