|
THotPDF GPOS カーニングおよび配置メソッド THotPDF API リファレンス
|
THotPDF メソッド 自動シェーピング GSUB |
|
HotPDF の GPOS ペアカーニング、文脈カーニング、縦書きカーニング、筆記体アンカー、マーク配置、mark-to-ligature の各問い合わせと、テキスト出力時にそれらを適用する ShapingFeatures フラグを説明します
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
使用上の注意 ペアカーニングは 1000 ユニット em で符号付き advance および配置調整を返します。文脈カーニングはグリフ列上で Type 7 と Type 8 の lookup を解決します。マーク配置は Mark-to-Base、Mark-to-Mark、Mark-to-Ligature アンカーを対象にします。ApplyMarkToLigatureShaping は sfMarkToLigature が使用する run レベルのリガチャコンポーネントデータを準備します。筆記体接続は、あるグリフの出口アンカーを次のグリフの入口アンカーに整列します。これはネイティブ Arabic GSUB シェーピングが、それらのアンカーを持つフォント固有の文脈グリフ ID を生成した後に特に有用です。出力パスは対応するシェーピングフラグが有効な場合にのみこれらを適用します
関連項目: ShapingFeatures OpenType GSUB Engine Automatic Shaping Pipeline |