ApplyKhmerReorder

Signature

function ApplyKhmerReorder(const Wide: UnicodeString): UnicodeString;

Objectif

Applique le prétraitement de réordonnancement Khmer à Wide et renvoie un UnicodeString prêt pour cmap et GSUB. Le texte hors Khmer reste stable octet par octet, ce qui permet de traiter du texte mixte sans modifier les segments non concernés

Couverture

  • Khmer utilise l’entrée de script khmr pour U+1780-U+17FF. Le chemin documenté couvre independent South-East Asian syllable processing tout en conservant le comportement API pour le façonnage côté producteur
  • ApplyIndicReorder dispatches to this helper when the active codepoint range matches U+1780-U+17FF

Exemple

var
  Wide: UnicodeString;
begin
  // Input: KA (U+1780) + E-vowel (U+17C1, pre-base)
  Wide:= Doc.ApplyKhmerReorder(#$1780#$17C1);
  // Wide is now: E (U+17C1) + KA (U+1780)

  // Input: KA + COENG + KHA + AA-vowel (stacked consonant + post vowel)
  Wide:= Doc.ApplyKhmerReorder(#$1780#$17D2#$1781#$17B6);
  // Wide unchanged: KA + COENG + KHA + AA
  //   (COENG cluster stays in BaseBuf in original order; AA in PostBuf)
end;

Voir aussi

Normes

  • Unicode 16.0 U+1780-U+17FF
  • ISO 32000-1 §9.10
  • OpenType Khmer shaping specification

Historique des versions

  • v2.120.9 - Introduit dans le lot de façonnage Indic de HotPDF