ApplyBengaliReorder
Signature
function ApplyBengaliReorder(const Wide: UnicodeString): UnicodeString;
Purpose
Applies the Bengali reorder pre-pass to Wide and returns a UnicodeString prepared for cmap and GSUB consumption. Text outside Bengali remains byte-stable, so callers can route mixed text without changing unrelated runs
Coverage
- Bengali uses the
bengscript record for U+0980-U+09FF. The documented path covers R1, R2, R4, R5, and split-matra decomposition while preserving API behaviour for producer-side shaping ApplyIndicReorderdispatches to this helper when the active codepoint range matches U+0980-U+09FF
Example
var
Wide: UnicodeString;
begin
// Input: KA + Oo-matra (single codepoint U+09CB)
Wide:= Doc.ApplyBengaliReorder(#$0995#$09CB);
// Wide is now: U+09C7 + KA + U+09BE (Oo decomposed to pre+post)
end;
See also
ApplyIndicReorder- coverageGetBengaliCategory- Bengali category lookup
Standards
- Unicode 16.0 U+0980-U+09FF
- ISO 32000-1 ยง9.10
- OpenType Bengali shaping specification
Version history
- v2.119.71 - Introduced as part of the HotPDF Indic shaping batch