|
Documentează interogările HotPDF pentru kerning în pereche GPOS, kerning contextual, kerning vertical, ancore cursive, poziționare a mărcilor și mark-to-ligature, plus indicatoarele ShapingFeatures care le aplică în timpul ieșirii de text
Sintaxă 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-uri acoperite
| API | Note de utilizare |
HasGPOSKerning | Raportează dacă fontul Unicode înregistrat expune căutări GPOS pentru kerning |
GetGPOSPairAdjustment | Returnează ajustarea semnată a avansului pentru o pereche ordonată de glife și poate returna și deplasări X/Y sensibile la poziționare prin suprasarcină |
GetGPOSContextualKernRun | Returnează ajustări de kerning contextual pentru fiecare glif, rezolvând regulile de poziționare GPOS de tip 7 și tip 8 peste un șir de glife |
HasGPOSVerticalKern | Raportează dacă fontul Unicode înregistrat expune căutări pentru kerning vertical sau ajustare verticală proporțională |
GetGPOSVerticalKern | Returnează ajustarea verticală semnată YAdvance din căutări vkrn sau vpal pentru o pereche ordonată de glife |
GetGPOSMarkOffset | Returnează deplasările de poziționare Mark-to-Base pentru atașarea unui glif de marcă la un glif de bază |
GetGPOSMarkMarkOffset | Returnează deplasările de poziționare Mark-to-Mark pentru suprapunerea unui glif de marcă peste altul |
HasGPOSCursive | Raportează dacă fontul Unicode înregistrat expune căutări GPOS pentru atașare cursivă |
GetGPOSCursiveAnchors | Returnează ancorele cursive de intrare și ieșire pentru un glif atunci când fontul furnizează o regulă de atașare cursivă |
GetGPOSMarkToLigatureOffset | Returnează deplasările de poziționare Mark-to-Ligature pentru atașarea unei mărci la o componentă specifică a unei ligaturi |
GetGPOSLigatureComponentCount | Returnează numărul de componente de atașare a mărcilor înregistrate pentru un glif de ligatură, astfel încât apelanții să poată alege un ComponentIndex valid înainte de a apela GetGPOSMarkToLigatureOffset |
ApplyMarkToLigatureShaping | Înregistrează apartenența componentelor ligaturii, astfel încât deplasările mark-to-ligature să poată fi aplicate în timpul emiterii textului |
sfKerning | Activează ajustările GPOS pentru kerning în pereche în timpul emiterii textului Unicode de la stânga la dreapta |
sfMarkPositioning | Activează deplasările GPOS Mark-to-Base și Mark-to-Mark pentru semnele combinate |
sfMarkToLigature | Activează deplasările GPOS Mark-to-Ligature pentru semnele atașate la componente individuale ale ligaturii |
sfCursiveAttachment | Activează alinierea ancorelor de intrare și ieșire cursivă în timpul emiterii textului Unicode, inclusiv pentru șirurile arabe de la dreapta la stânga modelate de sfArabicGSUB |
sfVerticalKerning | Activează ajustarea verticală a avansului GPOS prin vkrn și vpal în calea de ieșire a textului vertical |
Note de utilizare
Kerningul în pereche returnează ajustări semnate ale avansului și ale poziționării într-un em de 1000 de unități. Kerningul contextual rezolvă căutările de tip 7 și tip 8 pe un șir de glife. Poziționarea mărcilor acoperă ancorele Mark-to-Base, Mark-to-Mark și Mark-to-Ligature. ApplyMarkToLigatureShaping pregătește datele de nivel de șir despre componentele ligaturii folosite de sfMarkToLigature. Atașarea cursivă aliniază o ancoră de ieșire de pe un glif la o ancoră de intrare de pe gliful următor, ceea ce este cel mai util după ce modelarea GSUB arabă nativă a produs ID-urile de glif contextual specifice fontului care poartă acele ancore. Calea de emitere le aplică numai când este activat indicatorul de modelare corespunzător
Vezi și: ShapingFeatures OpenType GSUB Engine Automatic Shaping Pipeline
|