ApplyKannadaReorder
Signature
function ApplyKannadaReorder(const Wide: UnicodeString): UnicodeString;
Purpose
Applies the Kannada reorder pre-pass to Wide and returns a UnicodeString prepared for cmap and GSUB consumption. Text outside Kannada remains byte-stable, so callers can route mixed text without changing unrelated runs
Coverage
- Kannada uses the
kndascript record for U+0C80-U+0CFF. The documented path covers R1, R3, R4, R5, and Kannada split-matra handling while preserving API behaviour for producer-side shaping ApplyIndicReorderdispatches to this helper when the active codepoint range matches U+0C80-U+0CFF
Example
var
Wide: UnicodeString;
begin
// Input: KA (U+0C95) + OO-matra (U+0CCB, three-part split)
Wide:= Doc.ApplyKannadaReorder(#$0C95#$0CCB);
// Wide is now: KA + E (U+0CC6, above) + UU (U+0CC2, post) + length-mark (U+0CD5, post)
end;
See also
ApplyIndicReorder- coverageGetKannadaCategory- Kannada category lookup
Standards
- Unicode 16.0 U+0C80-U+0CFF
- ISO 32000-1 ยง9.10
- OpenType Kannada shaping specification
Version history
- v2.119.75 - Introduced as part of the HotPDF Indic shaping batch