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;

راجع أيضًا

المعايير

  • Unicode 16.0 chapters 12 and 16
  • ISO 32000-1 §9.10
  • OpenType per-script shaping specifications

سجل الإصدارات

  • v2.119.69-v2.120.10 - سجل الإصدارات