|
THotPDF GPOS 字距调整和定位方法 THotPDF API 参考
|
THotPDF 方法 自动整形 GSUB |
|
本页说明 HotPDF 的 GPOS 成对字距、上下文字距、纵向字距、连写锚点、标记定位和标记到连字查询,以及在文本输出期间应用这些查询的 ShapingFeatures 标志
Delphi 语法 function HasGPOSKerning: Boolean; function GetGPOSPairAdjustment(FirstGID, SecondGID: Word): Integer; function GetGPOSPairAdjustment(FirstGID, SecondGID: Word; out AXPlacement, AYPlacement, AYAdvance: Integer): Integer; function GetGPOSSingleAdjustment(GID: Word; const FeatureTag: AnsiString; out XPlacement, YPlacement: Integer; out XAdvance, YAdvance: Integer): Boolean; 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 返回有符号前进量和定位调整。上下文字距会在字形序列上解析 Type 7 和 Type 8 查找。标记定位覆盖 Mark-to-Base、Mark-to-Mark 和 Mark-to-Ligature 锚点。ApplyMarkToLigatureShaping 准备 sfMarkToLigature 使用的序列级连字组件数据。连写连接会把一个字形的出口锚点与下一个字形的入口锚点对齐,这在原生 Arabic GSUB 整形已经生成带有这些锚点的字体专用上下文字形 ID 后最有用。输出路径只会在启用匹配的整形标志时应用这些调整
另请参阅: ShapingFeatures OpenType GSUB Engine Automatic Shaping Pipeline |