ApplySinhalaReorder

Assinatura

function ApplySinhalaReorder(const Wide: UnicodeString): UnicodeString;

Finalidade

Aplica a etapa prévia de reordenação Sinhala a Wide e retorna um UnicodeString preparado para cmap e GSUB. Texto fora de Sinhala permanece estável byte a byte, permitindo processar texto misto sem alterar trechos não relacionados

Cobertura

  • Sinhala usa o registro de script sinh para U+0D80-U+0DFF. O caminho documentado cobre R1-R5 with Sinhala pre-base and split-matra handling e preserva o comportamento da API para formação do lado produtor
  • ApplyIndicReorder dispatches to this helper when the active codepoint range matches U+0D80-U+0DFF

Exemplo

var
  Wide: UnicodeString;
begin
  // Input: KA (U+0D9A) + O-matra (U+0DDC, 2-part split: pre + post)
  Wide:= Doc.ApplySinhalaReorder(#$0D9A#$0DDC);
  // Wide is now: E (U+0DD9, pre) + KA + AA (U+0DCF, post)
end;

Veja também

Padrões

  • Unicode 16.0 U+0D80-U+0DFF
  • ISO 32000-1 §9.10
  • OpenType Sinhala shaping specification

Histórico de versões

  • v2.119.77 - Introduzido como parte do lote de formação Indic do HotPDF