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
| Code | Category | Example codepoints |
|---|---|---|
| 0 | Other | U+0D3D Avagraha |
| 1 | Consonant | U+0D15–U+0D3A; U+0D4E DOT REPH; U+0D54–U+0D56 chillu variants; U+0D7A–U+0D7F chillu letters |
| 2 | Independent vowel | U+0D05–U+0D0C, U+0D0E–U+0D10, U+0D12–U+0D14, U+0D5F–U+0D61 |
| 3 | Matra (dependent vowel sign) | U+0D3E–U+0D44, U+0D46–U+0D48, U+0D4A–U+0D4C, U+0D57, U+0D62–U+0D63 |
| 4 | Virama (CHANDRAKKALA) | U+0D4D |
| 6 | Bindu | U+0D00–U+0D02 (combining anusvara variants, anusvara) |
| 7 | Visarga | U+0D03 |
| 9 | Digit | U+0D66–U+0D6F |
| 10 | ZWJ | U+200D |
| 11 | ZWNJ | U+200C |
| 12 | Modifier | U+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+0D43–U+0D44), Vocalic L / LL matras (U+0D62–U+0D63). - Split matras (
MatraPos = 5): O (U+0D4A), OO (U+0D4B), AU (U+0D4C). All three decomposed to pre + post components byApplyMalayalamReorderper Unicode 16.0 canonical decomposition data. - Chillu letters (
U+0D54–U+0D56,U+0D7A–U+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+0D00–U+0D02; visarga atU+0D03.
See also
Version history
- v2.119.76 — Introduced in Phase 8f.7.