THotPDF GPOS-kerning- en plaatsingsmethoden

THotPDF API-referentie

 

THotPDF-methoden  Automatische shaping  GSUB

Documenteert HotPDF-query’s voor GPOS-pair-kerning, contextuele kerning, verticale kerning, cursieve ankers, mark-positionering en mark-to-ligature, plus de ShapingFeatures-vlaggen die deze tijdens tekstuitvoer toepassen

 

Delphi-syntaxis

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;

 

Gedekte API’s

APIGebruiksnotities
HasGPOSKerningMeldt of het geregistreerde Unicode-lettertype GPOS-kerninglookups aanbiedt
GetGPOSPairAdjustmentRetourneert de gesigneerde advance-aanpassing voor een geordend glyphpaar en kan via de overload ook plaatsingsbewuste X/Y-offsets teruggeven
GetGPOSContextualKernRunRetourneert contextuele kerningaanpassingen per glyph door GPOS Type 7 en Type 8 positioneringsregels over een glyphrun op te lossen
HasGPOSVerticalKernMeldt of het geregistreerde Unicode-lettertype verticale kerning of verticale proportionele aanpassingslookups aanbiedt
GetGPOSVerticalKernRetourneert gesigneerde verticale YAdvance-aanpassing uit vkrn- of vpal-lookups voor een geordend glyphpaar
GetGPOSMarkOffsetRetourneert Mark-to-Base-plaatsingsoffsets om een markglyph aan een basisglyph te koppelen
GetGPOSMarkMarkOffsetRetourneert Mark-to-Mark-plaatsingsoffsets om een markglyph op een andere markglyph te stapelen
HasGPOSCursiveMeldt of het geregistreerde Unicode-lettertype GPOS-lookups voor cursieve aansluiting aanbiedt
GetGPOSCursiveAnchorsRetourneert invoer- en uitvoercursiefankers voor een glyph wanneer het lettertype een cursieve aansluitregel levert
GetGPOSMarkToLigatureOffsetRetourneert Mark-to-Ligature-plaatsingsoffsets om een mark aan een specifieke ligatuurcomponent te koppelen
GetGPOSLigatureComponentCountRetourneert het aantal mark-aanhechtingscomponenten dat voor een ligatuurglyph is vastgelegd, zodat de aanroeper een geldige ComponentIndex kan kiezen voordat GetGPOSMarkToLigatureOffset wordt aangeroepen
ApplyMarkToLigatureShapingLegt eigendom van ligatuurcomponenten vast zodat mark-to-ligature-offsets tijdens tekstemissie kunnen worden toegepast
sfKerningSchakelt GPOS-pair-kerningaanpassingen in tijdens Unicode-tekstuitvoer van links naar rechts
sfMarkPositioningSchakelt GPOS Mark-to-Base- en Mark-to-Mark-offsets in voor combinatieaccenten
sfMarkToLigatureSchakelt GPOS Mark-to-Ligature-offsets in voor marks die aan afzonderlijke ligatuurcomponenten zijn gekoppeld
sfCursiveAttachmentSchakelt uitlijning van GPOS-cursieve invoer-/uitvoerankers in tijdens Unicode-tekstuitvoer, inclusief rechts-naar-links Arabische runs gevormd door sfArabicGSUB
sfVerticalKerningSchakelt GPOS vkrn- en vpal-aanpassing van verticale advance in het verticale tekstuitvoerpad in

 

Gebruiksnotities

Pair-kerning retourneert gesigneerde advance- en plaatsingsaanpassingen in een em van 1000 eenheden. Contextuele kerning lost Type 7 en Type 8 lookups op over een glyphrun. Mark-positionering dekt Mark-to-Base-, Mark-to-Mark- en Mark-to-Ligature-ankers. ApplyMarkToLigatureShaping bereidt de ligatuurcomponentgegevens op runniveau voor die door sfMarkToLigature worden gebruikt. Cursieve aansluiting lijnt een uitvoeranker op de ene glyph uit met een invoeranker op de volgende glyph, vooral nuttig nadat native Arabic GSUB-shaping de lettertypespecifieke contextuele glyph-ID’s met die ankers heeft geproduceerd. Het uitvoerpad past deze alleen toe wanneer de bijpassende shapingvlag is ingeschakeld

 

Zie ook: ShapingFeatures OpenType GSUB Engine Automatic Shaping Pipeline