GetMalayalamCategory

Signature

function GetMalayalamCategory(CP: Cardinal): Integer;

Purpose

Pure Unicode-codepoint → Malayalam syllabic-category lookup. No font state required. Returns one of 13 category codes (same numbering as GetDevanagariCategory).

Return values

CodeCategoryExample codepoints
0OtherU+0D3D Avagraha
1ConsonantU+0D15–U+0D3A; U+0D4E DOT REPH; U+0D54–U+0D56 chillu variants; U+0D7A–U+0D7F chillu letters
2Independent vowelU+0D05–U+0D0C, U+0D0E–U+0D10, U+0D12–U+0D14, U+0D5F–U+0D61
3Matra (dependent vowel sign)U+0D3E–U+0D44, U+0D46–U+0D48, U+0D4A–U+0D4C, U+0D57, U+0D62–U+0D63
4Virama (CHANDRAKKALA)U+0D4D
6BinduU+0D00–U+0D02 (combining anusvara variants, anusvara)
7VisargaU+0D03
9DigitU+0D66–U+0D6F
10ZWJU+200D
11ZWNJU+200C
12ModifierU+0D3B–U+0D3C vertical strokes

Notable Malayalam-specific assignments

  • I-matra (U+0D3F) is POST-base (MatraPos = 2), in contrast to Devanagari / Bengali / Gujarati where the I-matra is pre-base. Malayalam shares this with Tamil.
  • Pre-base matras (MatraPos = 1): E (U+0D46), EE (U+0D47), AI (U+0D48). True pre-base matras.
  • Post-base matras (MatraPos = 2): AA (U+0D3E), I (U+0D3F), II (U+0D40), AU length mark (U+0D57).
  • Below-base matras (MatraPos = 4): U (U+0D41), UU (U+0D42), Vocalic R / RR (U+0D43U+0D44), Vocalic L / LL matras (U+0D62U+0D63).
  • Split matras (MatraPos = 5): O (U+0D4A), OO (U+0D4B), AU (U+0D4C). All three decomposed to pre + post components by ApplyMalayalamReorder per Unicode 16.0 canonical decomposition data.
  • Chillu letters (U+0D54U+0D56, U+0D7AU+0D7F): pure consonants without halant requirement, classified as Consonant (category 1). Malayalam-specific feature.
  • DOT REPH (U+0D4E): Malayalam-specific letter, classified as Consonant per Unicode 16.0 IndicSyllabicCategory.
  • Halant is U+0D4D (named CHANDRAKKALA in Malayalam).
  • Three bindu codepoints (combining anusvara variants and anusvara) at U+0D00U+0D02; visarga at U+0D03.

See also

Version history

  • v2.119.76 — Introduced in Phase 8f.7.