ApplySinhalaReorder

シグネチャ

function ApplySinhalaReorder(const Wide: UnicodeString): UnicodeString;

目的

Wide に Sinhala の並べ替え前処理を適用し、cmap と GSUB に渡せる UnicodeString を返します。Sinhala 以外のテキストはバイト単位で安定したままです

対応範囲

  • Sinhala は U+0D80-U+0DFF に対して script レコード sinh を使用します。対応範囲は R1-R5 with Sinhala pre-base and split-matra handling を含み、生成側の API 動作を維持します
  • ApplyIndicReorder dispatches to this helper when the active codepoint range matches U+0D80-U+0DFF

var
  Wide: UnicodeString;
begin
  // Input: KA (U+0D9A) + O-matra (U+0DDC, 2-part split: pre + post)
  Wide:= Doc.ApplySinhalaReorder(#$0D9A#$0DDC);
  // Wide is now: E (U+0DD9, pre) + KA + AA (U+0DCF, post)
end;

関連項目

標準

  • Unicode 16.0 U+0D80-U+0DFF
  • ISO 32000-1 §9.10
  • OpenType Sinhala shaping specification

バージョン履歴

  • v2.119.77 - HotPDF の Indic shaping バッチの一部として追加されました