[Konsole-devel] [Bug 273535] Konsole removes some important Unicode characters from input, such as ZWNJ

Jekyll Wu adaptee at gmail.com
Thu Apr 26 03:04:54 UTC 2012


https://bugs.kde.org/show_bug.cgi?id=273535

--- Comment #2 from Jekyll Wu <adaptee at gmail.com> ---
"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)

-- 
You are receiving this mail because:
You are the assignee for the bug.



More information about the konsole-devel mailing list