THotPDF GPOS-kerning- och placeringsmetoder

THotPDF API-referens

 

THotPDF-metoder  Automatisk formning  GSUB

Dokumenterar HotPDF-frågor för GPOS-parkerning, kontextuell kerning, vertikal kerning, kursiva ankare, markpositionering och mark-to-ligature samt de ShapingFeatures-flaggor som tillämpar dem under textutdata

 

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;

 

Täckta API:er

APIAnvändningsnoter
HasGPOSKerningRapporterar om det registrerade Unicode-typsnittet exponerar GPOS-kerninguppslag
GetGPOSPairAdjustmentReturnerar signerad advance-justering för ett ordnat glyfpar och kan även returnera placeringsmedvetna X/Y-offsets via overloaden
GetGPOSContextualKernRunReturnerar kontextuella kerningjusteringar per glyf genom att lösa GPOS Type 7 och Type 8 placeringsregler över en glyfrun
HasGPOSVerticalKernRapporterar om det registrerade Unicode-typsnittet exponerar vertikal kerning eller vertikala proportionella justeringsuppslag
GetGPOSVerticalKernReturnerar signerad vertikal YAdvance-justering från vkrn- eller vpal-uppslag för ett ordnat glyfpar
GetGPOSMarkOffsetReturnerar Mark-to-Base-placeringsförskjutningar för att fästa en markglyf vid en basglyf
GetGPOSMarkMarkOffsetReturnerar Mark-to-Mark-placeringsförskjutningar för att stapla en markglyf på en annan
HasGPOSCursiveRapporterar om det registrerade Unicode-typsnittet exponerar GPOS-uppslag för kursiv anslutning
GetGPOSCursiveAnchorsReturnerar ingångs- och utgångsankare för en glyf när typsnittet tillhandahåller en kursiv anslutningsregel
GetGPOSMarkToLigatureOffsetReturnerar Mark-to-Ligature-placeringsförskjutningar för att fästa en mark vid en specifik ligaturkomponent
GetGPOSLigatureComponentCountReturnerar antalet markfästkomponenter som registrerats för en ligaturglyf så att anroparen kan välja ett giltigt ComponentIndex före GetGPOSMarkToLigatureOffset
ApplyMarkToLigatureShapingRegistrerar ägarskap för ligaturkomponenter så att mark-to-ligature-förskjutningar kan tillämpas under textemission
sfKerningAktiverar GPOS-parkerningjusteringar under Unicode-textemission från vänster till höger
sfMarkPositioningAktiverar GPOS Mark-to-Base- och Mark-to-Mark-förskjutningar för kombinerande märken
sfMarkToLigatureAktiverar GPOS Mark-to-Ligature-förskjutningar för märken fästa vid enskilda ligaturkomponenter
sfCursiveAttachmentAktiverar justering av GPOS-kursiva in-/utgångsankare under Unicode-textemission, inklusive arabiska körningar från höger till vänster formade av sfArabicGSUB
sfVerticalKerningAktiverar vertikal advance-justering för GPOS vkrn och vpal i den vertikala textutdatavägen

 

Användningsnoter

Parkerning returnerar signerade advance- och placeringsjusteringar i en em på 1000 enheter. Kontextuell kerning löser Type 7- och Type 8-uppslag över en glyfrun. Markpositionering täcker Mark-to-Base-, Mark-to-Mark- och Mark-to-Ligature-ankare. ApplyMarkToLigatureShaping förbereder ligaturkomponentdata på runnivå som används av sfMarkToLigature. Kursiv anslutning justerar ett utgångsankare på en glyf mot ett ingångsankare på nästa glyf, vilket är mest användbart efter att inbyggd Arabic GSUB-formning har producerat de typsnittsspecifika kontextuella glyf-ID:n som bär dessa ankare. Utdatavägen tillämpar dessa justeringar endast när matchande formningsflagga är aktiverad

 

Se även: ShapingFeatures OpenType GSUB Engine Automatic Shaping Pipeline