GetKannadaCategory

Signature

function GetKannadaCategory(CP: Cardinal): Integer;

Purpose

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

Return values

CodeCategoryExample codepoints
0OtherU+0CBD Avagraha
1ConsonantU+0C95–U+0CA8, U+0CAA–U+0CB3, U+0CB5–U+0CB9, U+0CDD–U+0CDE
2Independent vowelU+0C85–U+0C8C, U+0C8E–U+0C90, U+0C92–U+0C94, U+0CE0–U+0CE1
3Matra (dependent vowel sign)U+0CBE–U+0CC4, U+0CC6–U+0CC8, U+0CCA–U+0CCC, U+0CD5–U+0CD6, U+0CE2–U+0CE3
4Virama (Halant)U+0CCD
5NuktaU+0CBC
6BinduU+0C81–U+0C82 (Candrabindu / Anusvara)
7VisargaU+0C83
9DigitU+0CE6–U+0CEF
10ZWJU+200D
11ZWNJU+200C

Notable Kannada-specific assignments

  • No pre-base matras. MatraPos = 1 is unused for Kannada — I (U+0CBF) and E (U+0CC6) are above-base, not pre-base.
  • Above-base matras (MatraPos = 3): I (U+0CBF), E (U+0CC6), AU (U+0CCC), AI length mark (U+0CD6).
  • Below-base matras (MatraPos = 4): Vocalic R (U+0CC3), Vocalic RR (U+0CC4), Vocalic L matra (U+0CE2), Vocalic LL matra (U+0CE3).
  • Post-base matras (MatraPos = 2): AA (U+0CBE), U (U+0CC1), UU (U+0CC2), post-base length mark (U+0CD5).
  • Split matras (MatraPos = 5): II (U+0CC0), EE (U+0CC7), AI (U+0CC8), O (U+0CCA), OO (U+0CCB). All decomposed by ApplyKannadaReorder per Unicode 16.0 canonical decomposition data; U+0CCB is uniquely three-part.
  • Halant: U+0CCD.
  • Two bindu codepoints (candrabindu / anusvara) at U+0C81U+0C82; visarga at U+0C83.

See also

Version history

  • v2.119.75 — Introduced in Phase 8f.6.