It is essential for all people who write with Arabic scripts to be able to insert http://en.wikipedia.org/wiki/Zero-width_non-joiner character. But it doesn't work in kate. It used to work correctly but for now there is problem. Reproducible: Always Steps to Reproduce: 1. write some Arabic script like: می خواهم 2. I must add Zero-width_non-joiner character between می and خواهم instead of regular SPACE with SHIFT+SPACE 3. But when I press SHIFT + SPACE it prints the regular SPACE, not Zero-width_non-joiner character. Actual Results: it prints the regular SPACE, not ZWNJ character. Expected Results: It should add ZWNJ character when I press SHIFT+SPACE together
Confirmed. Arch Linux 64-bit Kate 16.04.2 KDE Frameworks 5.23.0 Qt 5.7 xcb wm
In general it was a Qt bug in KDE which is fixed now. It seems some parts of Kate are still in the old implementation and have not switched to update. It could be a simple refactoring if no other type of bug. I am using Kubuntu hence it also affects Ubuntu packages. More info: https://bugreports.qt.io/browse/QTBUG-42074
The issue is in Kate's view. The search line-edit, for example, is OK now because the same issue is fixed in Qt-5.9.
The Gerrit code changes from the link in comment #2 could give some inspirations for a fix in Kate.
> could give some inspirations for a fix in Kate Don't know about Kate's code but, for example, inside keyPressEvent(QKeyEvent *event) this can be done for a text-edit: if (event->key() == 0x200c) { insertPlainText (QChar (0x200C)); event->accept(); return; } It shouldn't be needed after the Qt fix but, apparently, Kate's behavior is different from that of QPlainTextEdit.
(In reply to Tsu Jan from comment #5) > > could give some inspirations for a fix in Kate > > Don't know about Kate's code but, for example, inside > keyPressEvent(QKeyEvent *event) this can be done for a text-edit: > > if (event->key() == 0x200c) > { > insertPlainText (QChar (0x200C)); > event->accept(); > return; > } > > It shouldn't be needed after the Qt fix but, apparently, Kate's behavior is > different from that of QPlainTextEdit. Hi Tsu can you please confirm if this issue is fixed now that we're on a later Qt version?
Yes, this was a Qt issue. It was fixed a long time ago, after this old report. The Zero-width_non-joiner character is OK.