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 動作を維持します ApplyIndicReorderdispatches 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;
関連項目
ApplyIndicReorder- 対応範囲GetSinhalaCategory- Sinhala category lookup
標準
- Unicode 16.0 U+0D80-U+0DFF
- ISO 32000-1 §9.10
- OpenType Sinhala shaping specification
バージョン履歴
- v2.119.77 - HotPDF の Indic shaping バッチの一部として追加されました