THotPDF GPOS Kerning and Placement Methods

THotPDF API reference

 

THotPDF Methods  Auto Shaping  GSUB

Dokumenterer HotPDFs GPOS-spørringer for par-kerning, kontekstuell kerning, vertikal kerning, kursivankre, mark-posisjonering og mark-to-ligature, samt ShapingFeatures-flaggene som bruker dem under tekstutdata

 

Delphi Syntaks

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;

 

Dekket API-er

APIBruksnotater
HasGPOSKerningRapporterer om den registrerte Unicode-fonten eksponerer GPOS-kerningoppslag
GetGPOSPairAdjustmentReturnerer den signerte fremdriftsjusteringen for et ordnet glyfpar og kan også returnere plasseringsbevisste X/Y-forskyvninger via overlasten
GetGPOSContextualKernRunReturnerer kontekstuelle kerningjusteringer per glyf ved å løse GPOS type 7- og type 8-plasseringsregler over en glyfsekvens
HasGPOSVerticalKernRapporterer om den registrerte Unicode-fonten eksponerer vertikal kerning eller vertikale proporsjonale justeringsoppslag
GetGPOSVerticalKernReturnerer signert vertikal YAdvance-justering fra vkrn- eller vpal-oppslag for et ordnet glyfpar
GetGPOSMarkOffsetReturnerer plasseringsforskyvninger for Mark-to-Base når et markglyf skal festes til et baseglyf
GetGPOSMarkMarkOffsetReturnerer plasseringsforskyvninger for Mark-to-Mark når ett markglyf skal stables på et annet
HasGPOSCursiveRapporterer om den registrerte Unicode-fonten eksponerer GPOS-kursivkoblingsoppslag
GetGPOSCursiveAnchorsReturnerer inn- og utgangsankre for et glyf når fonten leverer en kursivkoblingsregel
GetGPOSMarkToLigatureOffsetReturnerer plasseringsforskyvninger for Mark-to-Ligature når et mark skal festes til en bestemt ligaturkomponent
GetGPOSLigatureComponentCountReturnerer antallet mark-tilknytningskomponenter som er registrert for et ligaturglyf, slik at kallere kan velge en gyldig ComponentIndex før de kaller GetGPOSMarkToLigatureOffset
ApplyMarkToLigatureShapingRegistrerer eierskapet til ligaturkomponenter slik at mark-to-ligature-forskyvninger kan brukes under tekstutskrift
sfKerningAktiverer GPOS-parkerningjusteringer under venstre-til-høyre Unicode-tekstutskrift
sfMarkPositioningAktiverer GPOS-forskyvninger for Mark-to-Base og Mark-to-Mark for kombinerende tegn
sfMarkToLigatureAktiverer GPOS-forskyvninger for Mark-to-Ligature for tegn som festes til enkeltkomponenter i en ligatur
sfCursiveAttachmentAktiverer justering av inn- og utgangsankre for GPOS-kursiv under Unicode-tekstutskrift, inkludert høyre-til-venstre arabiske sekvenser formet av sfArabicGSUB
sfVerticalKerningAktiverer vertikal fremdriftsjustering fra GPOS vkrn og vpal i den vertikale tekstutgangsstien

 

Bruksnotater

Parvis kerning returnerer signerte fremdrifts- og plasseringsjusteringer i en 1000-enhets em. Kontekstuell kerning løser type 7- og type 8-oppslag over en glyfsekvens. Markposisjonering dekker ankerne Mark-to-Base, Mark-to-Mark og Mark-to-Ligature. ApplyMarkToLigatureShaping forbereder ligaturkomponentdata på sekvensnivået som brukes av sfMarkToLigature. Kursivkobling justerer et utgangsanker på ett glyf til et inngangsanker på det neste glyfet, og er mest nyttig etter at innfødt arabisk GSUB-shaping har produsert de fontspesifikke kontekstuelle glyf-ID-ene som bærer disse ankerne. Utskriftsstien bruker disse bare når den matchende shaping-flagget er aktivert

 

Se også: ShapingFeatures OpenType GSUB Engine Automatic Shaping Pipeline