Chillus, Virama, ZWJ, and ZWNJ in Malayalam Typing
Some Malayalam forms that look like one character may be encoded in more than one way. Learn what the invisible controls do before troubleshooting the keyboard.
Learning objectives
- Explain the roles of virama, zero-width joiner, and zero-width non-joiner.
- Recognize common chillu letters such as ൻ, ൽ, ർ, ൺ, and ൾ.
- Distinguish an input problem from a font-rendering or Unicode-normalization difference.
Visible letters can have hidden structure
Malayalam shaping combines base letters, vowel signs, virama, and sometimes invisible format controls into a visible grapheme. A chillu is a consonant form without an inherent vowel. Modern text often uses dedicated chillu code points, while older or compatibility text may use a consonant, virama, and zero-width joiner sequence.
IndicTyping normalizes several common compatibility sequences so that visually equivalent chillus compare consistently. This helps matching, but copying text between older software, fonts, and web pages can still reveal encoding differences.
What the controls mean
The virama ് suppresses the inherent vowel and participates in consonant clusters. A zero-width joiner (ZWJ) requests joining behavior; a zero-width non-joiner (ZWNJ) requests separation. Both controls are invisible, so the result must be judged from the shaped grapheme and its behavior when copied or deleted.
Use the direct Enhanced InScript Chillu positions for current lessons: Shift+V gives ൻ, Shift+Period gives ൽ, Backslash gives ർ, Shift+X gives ൺ, and Shift+8 gives ൾ. Joiner sequences remain useful for reviewed compatibility cases, but they are not a separate legacy keyboard mode.
- Use AltGr+1 (or Ctrl+Alt+1) for ZWJ only in a reviewed sequence that explicitly calls for it.
- Use AltGr+2 (or Ctrl+Alt+2) for ZWNJ only when an explicit non-joining form is intended.
- Do not insert invisible controls at random to force a font to look right.
A troubleshooting order that saves time
First confirm the target spelling. Next compare the input in another modern Malayalam-capable application. Then try a different font or browser. Only after those checks should you inspect code points or joiners. Most learners benefit more from reproducing the intended key sequence than from editing Unicode controls directly.
Worked examples
Common chillus
ൻ · ൽ · ർ · ൺ · ൾ
These may appear as dedicated code points or normalized equivalents depending on source text.
Virama
ന + ്
The virama changes the consonant’s vowel behavior and can participate in clusters or compatibility sequences.
Grapheme behavior
മലയാളം
Several underlying characters can shape into units that should be navigated and deleted as visible graphemes.
Common mistakes
Assuming two visually identical chillus must contain identical code points.
Better approach: Allow normalization-aware comparison and inspect code points only when interoperability fails.
Typing ZWJ or ZWNJ as if it were visible punctuation.
Better approach: Remember that the key emits an invisible formatting control whose effect appears in neighboring letters.
Adding repeated viramas to repair a rendering problem.
Better approach: Verify the correct sequence and test a modern Malayalam font instead of stacking controls.
Troubleshooting
- A chillu looks correct but the target does not advance.
- Retype it using the expected InScript sequence; copied text may contain a different compatibility representation.
- Boxes, dotted circles, or detached marks appear.
- Test a browser and font with current Malayalam shaping support, then report the exact platform and target.
- An invisible key appears to do nothing.
- Enter it only in the correct consonant-plus-virama context; ZWJ and ZWNJ have no standalone glyph.