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 行为稳定
  • ApplyIndicReorder dispatches 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;

另请参阅

标准

  • 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 塑形批次的一部分引入