ApplyKhmerReorder
Signatur
function ApplyKhmerReorder(const Wide: UnicodeString): UnicodeString;
Zweck
Wendet den Khmer-Reorder-Vorlauf auf Wide an und gibt einen für cmap und GSUB vorbereiteten UnicodeString zurück. Text ausserhalb von Khmer bleibt byte-stabil, sodass gemischte Läufe ohne Änderung fremder Abschnitte verarbeitet werden können
Abdeckung
- Khmer verwendet den Script-Eintrag
khmrfür U+1780-U+17FF. Der dokumentierte Pfad deckt independent South-East Asian syllable processing ab und bewahrt das API-Verhalten für producerseitiges Shaping ApplyIndicReorderdispatches to this helper when the active codepoint range matches U+1780-U+17FF
Beispiel
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;
Siehe auch
ApplyIndicReorder- AbdeckungGetKhmerCategory- Khmer-Kategorielookup
Standards
- Unicode 16.0 U+1780-U+17FF
- ISO 32000-1 §9.10
- OpenType Khmer shaping specification
Versionsverlauf
- v2.120.9 - Eingeführt als Teil des HotPDF-Indic-Shaping-Batches