ApplyIndicReorder
التوقيع
function ApplyIndicReorder(const Wide: UnicodeString): UnicodeString;
الغرض
يوجه نص Indic إلى مساعد إعادة الترتيب المسجل لكل script. يمسح Wide ويقسم نطاقات script ويحافظ على النص غير Indic ثابتًا على مستوى البايت ويجهزه لـ cmap وGSUB
التغطية
يغطي الموزع النصوص المسجلة أدناه ويفصل مسار إعادة الترتيب المحافظ عن تشكيل GSUB الكامل
- 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
مثال
var
Wide: UnicodeString;
begin
Wide:= Doc.ApplyIndicReorder('Hello '+ #$0915#$093F+ ' world.');
// Result: 'Hello ' + I-matra + KA + ' world.'
// (Latin segments unchanged; Devanagari segment reordered.)
end;
راجع أيضًا
ApplyDevanagariReorder- DevanagariGetDevanagariCategory- Devanagari
المعايير
- Unicode 16.0 chapters 12 and 16
- ISO 32000-1 §9.10
- OpenType per-script shaping specifications
سجل الإصدارات
- v2.119.69-v2.120.10 - سجل الإصدارات