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 knda script 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
  • ApplyIndicReorder dispatches 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

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