ApplyIndicReorder
Signature
function ApplyIndicReorder(const Wide: UnicodeString): UnicodeString;
Objectif
Aiguille le texte d’écriture Indic vers l’aide de réordonnancement enregistrée pour chaque écriture. Il parcourt Wide, segmente les plages d’écriture, garde le texte non Indic stable octet par octet et prépare les segments pour cmap et GSUB
Couverture
Le dispatcher couvre les écritures enregistrées ci-dessous et sépare le chemin conservateur de réordonnancement du façonnage GSUB complet
- Devanagari (
deva, U+0900-U+097F) - R1-R5 with conjunct preservation - Bengali (
beng, U+0980-U+09FF) - R1, R2, R4, R5, and split-matra decomposition - Gujarati (
gujr, U+0A80-U+0AFF) - R1-R5 with no split matras - Tamil (
taml, U+0B80-U+0BFF) - R2-R5 with Tamil split-matra handling and no Repha - Telugu (
telu, U+0C00-U+0C7F) - R1, R3, R4, and Telugu split-matra handling - Kannada (
knda, U+0C80-U+0CFF) - R1, R3, R4, R5, and Kannada split-matra handling - Malayalam (
mlym, U+0D00-U+0D7F) - R1, R2, R4, R5, split matras, chillu letters, and DOT REPH - Sinhala (
sinh, U+0D80-U+0DFF) - R1-R5 with Sinhala pre-base and split-matra handling - Khmer (
khmr, U+1780-U+17FF) - independent South-East Asian syllable processing - Myanmar (
mymr, U+1000-U+109F and U+AA60-U+AA7F) - Kinzi, medial sorting, pre-base vowel, ASAT, and stacked-consonant handling
Exemple
var
Wide: UnicodeString;
begin
Wide:= Doc.ApplyIndicReorder('Hello '+ #$0915#$093F+ ' world.');
// Result: 'Hello ' + I-matra + KA + ' world.'
// (Latin segments unchanged; Devanagari segment reordered.)
end;
Voir aussi
ApplyDevanagariReorder- aide DevanagariGetDevanagariCategory- recherche de catégorie Devanagari
Normes
- Unicode 16.0 chapters 12 and 16
- ISO 32000-1 §9.10
- OpenType per-script shaping specifications
Historique des versions
- v2.119.69-v2.120.10 - infrastructure de réordonnancement Indic et lot d'écritures enregistrées