Summary: | Konsole removes some important Unicode characters from input, such as ZWNJ | ||
---|---|---|---|
Product: | [Applications] konsole | Reporter: | Ebrahim Mohammadi <ebrahim> |
Component: | font | Assignee: | Konsole Developer <konsole-devel> |
Status: | RESOLVED UNMAINTAINED | ||
Severity: | normal | CC: | adaptee |
Priority: | NOR | ||
Version: | 2.8.3 | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Ebrahim Mohammadi
2011-05-18 07:35:03 UTC
Another important removed character is U+0654. "The zero-width non-joiner (ZWNJ) is a non-printing character used in the computerization of writing systems that make use of ligatures. When placed between two characters that would otherwise be connected into a ligature, a ZWNJ causes them to be printed in their final and initial forms, respectively. This is also an effect of a space character, but a ZWNJ is used when it is desirable to keep the words closer together." So a ZWNJ is meant to increase the space between two letters. That does not go well with the columns x rows model used by konsole, if I understand it correctly. Below is the code where ZWNJ is currently simply ignored (the category for ZWNJ is QChar::Other_Format) void Screen::displayCharacter(unsigned short c) { int w = konsole_wcwidth(c); if (w < 0) return; else if (w == 0) { if (QChar(c).category() != QChar::Mark_NonSpacing) return; .... } No idea about what U+0654 is meant for. Ebrahim Mohammadi, could you provide a test case? And it is better to re-check those problems using KDE SC newer than 4.8 (or just konsole newer than 2.8.0) Please open a new ticket if this is still an issue w/ a recent KDE5 version |