THotPDF Indic Reorder and GSUB Shaping Methods

THotPDF API reference

 

THotPDF Methods  Auto Shaping  GSUB

記錄 Indic reorder 與 GSUB shaping surface,包括 per-script reorder helpers、dispatcher,以及 v2.167 Indic GSUB producer path

 

Delphi 語法

function ApplyIndicReorder(const Wide: UnicodeString): UnicodeString; overload;

function ApplyIndicReorder(const Wide: UnicodeString; const Features: THPDFShapingFeatures): UnicodeString; overload;

function ApplyIndicShaping(const S: UnicodeString): UnicodeString;

function IndicShapeToGIDs(const S: UnicodeString): TGSUBLookupArray;

function ApplyDevanagariReorder(const Wide: UnicodeString): UnicodeString;

function ApplyBengaliReorder(const Wide: UnicodeString): UnicodeString;

function ApplyGujaratiReorder(const Wide: UnicodeString): UnicodeString;

function ApplyTamilReorder(const Wide: UnicodeString): UnicodeString;

function ApplyTeluguReorder(const Wide: UnicodeString): UnicodeString;

function ApplyKannadaReorder(const Wide: UnicodeString): UnicodeString;

function ApplyMalayalamReorder(const Wide: UnicodeString): UnicodeString;

function ApplySinhalaReorder(const Wide: UnicodeString): UnicodeString;

function ApplyKhmerReorder(const Wide: UnicodeString): UnicodeString;

function ApplyMyanmarReorder(const Wide: UnicodeString): UnicodeString;

 

Covered APIs

API使用注意事項
ApplyIndicReorderDispatches script-specific Indic reorder helpers before GSUB shaping or text output. The parameterless form keeps full-script coverage; the overload taking a THPDFShapingFeatures set reorders only the scripts whose shaping flag is present, matching the per-flag isolation applied during text output
ApplyIndicShaping套用重排與 Indic GSUB feature 鏈,傳回供輸出使用的合成碼位文字
IndicShapeToGIDs傳回 Indic 字串 shaping 後的字形 ID 序列,但不輸出 PDF 文字
GetDevanagariCategory為音節與重排判斷分類天城體(Devanagari)碼位
GetBengaliCategory為 Indic 重排判斷分類孟加拉(Bengali)碼位
GetGujaratiCategory為 Indic 重排判斷分類古吉拉特(Gujarati)碼位
GetTamilCategory為 Indic 重排判斷分類坦米爾(Tamil)碼位
GetTeluguCategory為 Indic 重排判斷分類泰盧固(Telugu)碼位
GetKannadaCategory為 Indic 重排判斷分類坎那達(Kannada)碼位
GetMalayalamCategory為 Indic 重排判斷分類馬拉雅拉姆(Malayalam)碼位
GetSinhalaCategory為 Indic 重排判斷分類僧伽羅(Sinhala)碼位
GetKhmerCategory為共用的複雜文字重排路徑分類高棉(Khmer)碼位
GetMyanmarCategory為共用的複雜文字重排路徑分類緬甸(Myanmar)碼位
sfIndicShaping在文字輸出前執行保守的 Indic 音節重排路徑,不強制套用完整 GSUB feature
sfIndicGSUB執行 Indic 重排與 GSUB feature 鏈,然後透過合成碼位輸出 shaping 後的字形 ID

 

使用注意事項

sfIndicShaping 會執行 reorder-only output,並維持為保守選項。sfIndicGSUB 會重新排序每個 syllable、套用 OpenType Indic feature chain、透過 synthetic codepoints 輸出 shaped GIDs,並在 font 缺少相關 GSUB script 時降級為 reorder path

 

請參閱: International Script Shaping ShapingFeatures GSUB lookup methods