ApplyMalayalamReorder

Signature

function ApplyMalayalamReorder(const Wide: UnicodeString): UnicodeString;

Purpose

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

Coverage

  • Malayalam uses the mlym script record for U+0D00-U+0D7F. The documented path covers R1, R2, R4, R5, split matras, chillu letters, and DOT REPH while preserving API behaviour for producer-side shaping
  • ApplyIndicReorder dispatches to this helper when the active codepoint range matches U+0D00-U+0D7F

Example

var
  Wide: UnicodeString;
begin
  // Input: KA (U+0D15) + O-matra (U+0D4A, split into pre + post)
  Wide:= Doc.ApplyMalayalamReorder(#$0D15#$0D4A);
  // Wide is now: E (U+0D46, pre) + KA + AA (U+0D3E, post)
end;

See also

Standards

  • Unicode 16.0 U+0D00-U+0D7F
  • ISO 32000-1 ยง9.10
  • OpenType Malayalam shaping specification

Version history

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