THotPDF Script Shaping Preprocess Methods

THotPDF API 參考

 

THotPDF Methods  Auto Shaping  GSUB

記錄 N'Ko、Adlam、Hanifi Rohingya、Thai/Lao、Hebrew、Javanese、Tai Viet、Meetei Mayek、Khmer 與 Myanmar text 的目前 script-level preprocess 與 RTL cursive helpers

 

Delphi 語法

AutoShapeNko、AutoShapeAdlam 與 AutoShapeHanifiRohingya 會將 RTL cursive GSUB positional paths 連接到 text output。sfThaiLaoReorder 會分解 SARA AM 並排序 tone marks,sfHebrewReorder 會在 mark placement 前依 canonical combining class 排序 niqqud,而 Javanese、Tai Viet、Meetei Mayek、Khmer 與 Myanmar flags 會在 cmap-to-GID mapping 前 normalize script-specific cluster order

property AutoShapeAdlam: Boolean read FAutoShapeAdlam write FAutoShapeAdlam;

property AutoShapeHanifiRohingya: Boolean read FAutoShapeHanifiRohingya write FAutoShapeHanifiRohingya;

function ApplyNkoGSUBPositional(const S: UnicodeString): UnicodeString;

function ApplyAdlamGSUBPositional(const S: UnicodeString): UnicodeString;

function ApplyHanifiRohingyaGSUBPositional(const S: UnicodeString): UnicodeString;

function ApplyThaiLaoReorder(const S: UnicodeString): UnicodeString;

function ApplyHebrewReorder(const S: UnicodeString): UnicodeString;

function ApplyJavaneseReorder(const S: UnicodeString): UnicodeString;

function GetMeeteiMayekCategory(CP: Cardinal): Integer;

function ApplyMeeteiMayekReorder(const Wide: UnicodeString): UnicodeString;

function ApplyTaiVietReorder(const S: UnicodeString): UnicodeString;

 

涵蓋的 API

API使用注意事項
AutoShapeNkoOpt-in property,會將 N'Ko producer-side GSUB cursive shaping 連接到 text output
AutoShapeAdlamopt-in 屬性,會把 Adlam producer-side GSUB cursive shaping 連接到文字輸出
AutoShapeHanifiRohingyaopt-in 屬性,會把 Hanifi Rohingya producer-side GSUB cursive shaping 連接到文字輸出
ApplyNkoGSUBPositional套用 N'Ko joining-position 分析與字型 positional GSUB features,產生 RTL cursive 輸出
ApplyAdlamGSUBPositional套用 Adlam SMP joining-position 分析與字型 positional GSUB features,產生 RTL cursive 輸出
ApplyHanifiRohingyaGSUBPositional套用 Hanifi Rohingya joining-position 分析與字型 positional GSUB features,產生 RTL cursive 輸出
ApplyThaiLaoReorder在 glyph mapping 之前套用 Thai/Lao SARA AM 分解與 canonical mark 排序
ApplyHebrewReorder在 RTL 輸出與 GPOS mark placement 之前,依 canonical combining class 排序 Hebrew marks
ApplyJavaneseReorder在 glyph mapping 之前,把 Javanese pre-base vowel signs 搬到子音叢前面
GetMeeteiMayekCategory傳回 reorder helper 所使用的 Meetei Mayek shaping 類別
ApplyMeeteiMayekReorder在 glyph mapping 之前套用 Meetei Mayek Brahmic-style syllable reorder
ApplyTaiVietReorder在 glyph mapping 之前套用 Tai Viet visual-order-left vowel 與 mark ordering
sfThaiLaoReorder在 cmap-to-GID mapping 前啟用 Thai/Lao SARA AM decomposition 與 tone-mark ordering
sfHebrewReorder在 RTL 輸出與 mark placement 之前,依 canonical combining class 排序 Hebrew niqqud 與 points
sfJavaneseShaping在 glyph mapping 之前啟用 Javanese pre-base vowel-sign reorder
sfTaiVietReorder在 cmap-to-GID mapping 前啟用 Tai Viet visual-order-left vowel 與 mark ordering
sfMeeteiMayekShaping在 cmap-to-GID mapping 前啟用 Meetei Mayek syllable reorder
sfKhmerShaping在 cmap-to-GID mapping 前啟用 Khmer pre-base vowel 與 cluster reorder
sfMyanmarShaping在 cmap-to-GID mapping 前啟用 Myanmar kinzi、pre-base vowel、medial 與 mark reorder

 

使用注意事項

AutoShapeNko、AutoShapeAdlam 與 AutoShapeHanifiRohingya 會將 RTL cursive GSUB positional paths 連接到 text output。sfThaiLaoReorder 會分解 SARA AM 並排序 tone marks,sfHebrewReorder 會在 mark placement 前依 canonical combining class 排序 niqqud,而 Javanese、Tai Viet、Meetei Mayek、Khmer 與 Myanmar flags 會在 cmap-to-GID mapping 前 normalize script-specific cluster order

 

請參閱: International Script Shaping Tibetan/Mongolian/Syriac shaping methods ShapingFeatures