THotPDF Script Shaping Preprocess Methods

THotPDF API reference

 

THotPDF Methods  Auto Shaping  GSUB

Documents the current script-level preprocess and RTL cursive helpers for N'Ko, Adlam, Hanifi Rohingya, Thai/Lao, Hebrew, Javanese, Tai Viet, Meetei Mayek, Khmer, and Myanmar text

 

Delphi syntax

property AutoShapeNko: Boolean read FAutoShapeNko write FAutoShapeNko;

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;

 

Covered APIs

APIUsage notes
AutoShapeNkoOpt-in property that connects N'Ko producer-side GSUB cursive shaping to text output
AutoShapeAdlamOpt-in property that connects Adlam producer-side GSUB cursive shaping to text output
AutoShapeHanifiRohingyaOpt-in property that connects Hanifi Rohingya producer-side GSUB cursive shaping to text output
ApplyNkoGSUBPositionalApplies N'Ko joining-position analysis and font positional GSUB features for RTL cursive output
ApplyAdlamGSUBPositionalApplies Adlam SMP joining-position analysis and font positional GSUB features for RTL cursive output
ApplyHanifiRohingyaGSUBPositionalApplies Hanifi Rohingya joining-position analysis and font positional GSUB features for RTL cursive output
ApplyThaiLaoReorderApplies Thai/Lao SARA AM decomposition and canonical mark ordering before glyph mapping
ApplyHebrewReorderOrders Hebrew marks by canonical combining class before RTL output and GPOS mark placement
ApplyJavaneseReorderMoves Javanese pre-base vowel signs before the consonant cluster before glyph mapping
GetMeeteiMayekCategoryReturns the Meetei Mayek shaping category used by the reorder helper
ApplyMeeteiMayekReorderApplies Meetei Mayek Brahmic-style syllable reorder before glyph mapping
ApplyTaiVietReorderApplies Tai Viet visual-order-left vowel and mark ordering before glyph mapping
sfThaiLaoReorderEnables Thai/Lao SARA AM decomposition and tone-mark ordering before cmap-to-GID mapping
sfHebrewReorderOrders Hebrew niqqud and points by canonical combining class before RTL output and mark placement
sfJavaneseShapingEnables Javanese pre-base vowel-sign reorder before glyph mapping
sfTaiVietReorderEnables Tai Viet visual-order-left vowel and mark ordering before cmap-to-GID mapping
sfMeeteiMayekShapingEnables Meetei Mayek syllable reorder before cmap-to-GID mapping
sfKhmerShapingEnables Khmer pre-base vowel and cluster reorder before cmap-to-GID mapping
sfMyanmarShapingEnables Myanmar kinzi, pre-base vowel, medial, and mark reorder before cmap-to-GID mapping

 

Usage notes

AutoShapeNko, AutoShapeAdlam, and AutoShapeHanifiRohingya connect RTL cursive GSUB positional paths to text output. sfThaiLaoReorder decomposes SARA AM and orders tone marks, sfHebrewReorder orders niqqud by canonical combining class before mark placement, and the Javanese, Tai Viet, Meetei Mayek, Khmer, and Myanmar flags normalize script-specific cluster order before cmap-to-GID mapping

 

See also: International Script Shaping Tibetan/Mongolian/Syriac shaping methods ShapingFeatures