Metode Kerning dan Penempatan GPOS THotPDF

Referensi API THotPDF

 

THotPDF Methods  Auto Shaping  GSUB

Mendokumentasikan kueri pair-kerning, contextual kerning, vertical kerning, cursive-anchor, mark-positioning, dan mark-to-ligature GPOS HotPDF beserta flag ShapingFeatures yang menerapkannya selama output teks

 

Sintaks 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 yang dicakup

APICatatan penggunaan
HasGPOSKerningMelaporkan apakah font Unicode yang terdaftar menyediakan lookup kerning GPOS
GetGPOSPairAdjustmentMengembalikan penyesuaian advance bertanda untuk pasangan glyph berurutan dan juga dapat mengembalikan offset X/Y yang sadar penempatan melalui overload
GetGPOSContextualKernRunMengembalikan penyesuaian kern kontekstual per glyph dengan menyelesaikan aturan penempatan GPOS Type 7 dan Type 8 pada satu run glyph
HasGPOSVerticalKernMelaporkan apakah font Unicode yang terdaftar menyediakan lookup kerning vertikal atau penyesuaian proporsional vertikal
GetGPOSVerticalKernMengembalikan penyesuaian YAdvance vertikal bertanda dari lookup vkrn atau vpal untuk pasangan glyph berurutan
GetGPOSMarkOffsetMengembalikan offset penempatan Mark-to-Base untuk menempelkan glyph mark ke glyph base
GetGPOSMarkMarkOffsetMengembalikan offset penempatan Mark-to-Mark untuk menumpuk satu glyph mark di atas glyph mark lain
HasGPOSCursiveMelaporkan apakah font Unicode yang terdaftar menyediakan lookup attachment cursive GPOS
GetGPOSCursiveAnchorsMengembalikan anchor cursive masuk dan keluar untuk sebuah glyph saat font menyediakan aturan attachment cursive
GetGPOSMarkToLigatureOffsetMengembalikan offset penempatan Mark-to-Ligature untuk menempelkan mark ke komponen ligature tertentu
GetGPOSLigatureComponentCountMengembalikan jumlah komponen attachment mark yang tercatat untuk glyph ligature agar pemanggil dapat memilih ComponentIndex yang valid sebelum memanggil GetGPOSMarkToLigatureOffset
ApplyMarkToLigatureShapingMencatat kepemilikan komponen ligature agar offset mark-to-ligature dapat diterapkan selama emisi teks
sfKerningMengaktifkan penyesuaian pair-kerning GPOS selama emisi teks Unicode kiri ke kanan
sfMarkPositioningMengaktifkan offset GPOS Mark-to-Base dan Mark-to-Mark untuk tanda gabung
sfMarkToLigatureMengaktifkan offset GPOS Mark-to-Ligature untuk mark yang dilampirkan ke komponen ligature individual
sfCursiveAttachmentMengaktifkan penyelarasan anchor masuk dan keluar cursive GPOS selama emisi teks Unicode, termasuk run Arab kanan ke kiri yang dibentuk oleh sfArabicGSUB
sfVerticalKerningMengaktifkan penyesuaian advance vertikal GPOS vkrn dan vpal di jalur output teks vertikal

 

Catatan penggunaan

Pair kerning mengembalikan penyesuaian advance dan penempatan bertanda dalam em 1000 unit. Contextual kerning menyelesaikan lookup Type 7 dan Type 8 di seluruh glyph run. Mark positioning mencakup anchor Mark-to-Base, Mark-to-Mark, dan Mark-to-Ligature. ApplyMarkToLigatureShaping menyiapkan data komponen ligature tingkat run yang dipakai oleh sfMarkToLigature. Attachment cursive menyelaraskan anchor keluar pada satu glyph ke anchor masuk pada glyph berikutnya, yang paling berguna setelah shaping GSUB Arab asli menghasilkan ID glyph kontekstual spesifik font yang membawa anchor tersebut. Jalur emit menerapkan ini hanya saat flag shaping yang cocok diaktifkan

 

Lihat juga ShapingFeatures OpenType GSUB Engine Automatic Shaping Pipeline