Zero-Width Joiner is a character used in languages like Malayalam and Persian to connect characters and form a complex character. LyX was giving me trouble in inserting those characters. This is how deep the rabbit hole goes
LyX having got malayalam support now it is important that there are no bugs in the way Malayalam is rendered by LyX.
When I tried copy pasting some text into LyX I immediately came across an issue. The chillu characters were being mangled up. That is, the characters like ര് and ല് where being converted to ര് and ല് and similar counterparts. This was strange. I initially thought it was a rendering problem, but the LaTeX output also was not showing the chillus.
Then I saw Joice’s output did show those characters without any trouble. Even stranger!
Read this about different input methods and you will see XIM is outdated.
Turns out there
is was a bug in QT which made these character get ignored in old versions of QT.
So, I installed
ibus-m17n) and configured LyX to use ibus as the input method and chillus started working again.