ApplyTamilReorder

Signature

function ApplyTamilReorder(const Wide: UnicodeString): UnicodeString;

Purpose

Applies the Tamil reorder pre-pass to Wide and returns a UnicodeString prepared for cmap and GSUB consumption. Text outside Tamil remains byte-stable, so callers can route mixed text without changing unrelated runs

Coverage

  • Tamil uses the taml script record for U+0B80-U+0BFF. The documented path covers R2-R5 with Tamil split-matra handling and no Repha while preserving API behaviour for producer-side shaping
  • ApplyIndicReorder dispatches to this helper when the active codepoint range matches U+0B80-U+0BFF

Example

var
  Wide: UnicodeString;
begin
  // Input: KA (U+0B95) + O-matra (U+0BCA, split)
  Wide:= Doc.ApplyTamilReorder(#$0B95#$0BCA);
  // Wide is now: E (U+0BC6) + KA + AA (U+0BBE)  (canonical decomposition)
end;

See also

Standards

  • Unicode 16.0 U+0B80-U+0BFF
  • ISO 32000-1 ยง9.10
  • OpenType Tamil shaping specification

Version history

  • v2.119.73 - Introduced as part of the HotPDF Indic shaping batch