ApplyMyanmarReorder
签名
function ApplyMyanmarReorder(const Wide: UnicodeString): UnicodeString;
用途
对 Wide 应用 Myanmar 重排预处理,并返回可交给 cmap 与 GSUB 使用的 UnicodeString。Myanmar 之外的文本保持字节稳定
覆盖范围
- Myanmar 对 U+1000-U+109F and U+AA60-U+AA7F 使用
mymr脚本记录。覆盖范围包含Kinzi, medial sorting, pre-base vowel, ASAT, and stacked-consonant handling,并保持生产端 API 行为稳定 ApplyIndicReorderdispatches to this helper when the active codepoint range matches U+1000-U+109F and U+AA60-U+AA7F
示例
var
Wide: UnicodeString;
begin
// Input: KA (U+1000) + E-vowel (U+1031, pre-base)
Wide:= Doc.ApplyMyanmarReorder(#$1000#$1031);
// Wide is now: E (U+1031) + KA (U+1000)
// Input: Kinzi (U+1004 U+103A U+1039) + KA + AA-vowel (U+102C)
Wide:= Doc.ApplyMyanmarReorder(#$1004#$103A#$1039#$1000#$102C);
// Wide unchanged: Kinzi + KA + AA (all in canonical positions)
// Input: KA + medials H + W + R + Y (reversed source order)
Wide:= Doc.ApplyMyanmarReorder(#$1000#$103E#$103D#$103C#$103B);
// Wide is now: KA + Y + R + W + H (R9 sorted)
end;
另请参阅
ApplyIndicReorder- 覆盖范围GetMyanmarCategory- Myanmar category lookup
标准
- Unicode 16.0 U+1000-U+109F and U+AA60-U+AA7F
- ISO 32000-1 §9.10
- OpenType Myanmar shaping specification
版本历史
- v2.120.10 - 作为 HotPDF Indic 塑形批次的一部分引入