Summary: | Truncated display of combining characters (decomposed text) | ||
---|---|---|---|
Product: | [Applications] konsole | Reporter: | Arfrever Frehtes Taifersar Arahesis <Arfrever.FTA> |
Component: | general | Assignee: | Konsole Developer <konsole-devel> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | mglb, ninjalj |
Priority: | NOR | ||
Version First Reported In: | master | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | All | ||
Latest Commit: | 8ad28a12574cadc7a41e152ec683380d7743c2a8 | Version Fixed In: | v21.08.0 |
Sentry Crash Report: | |||
Attachments: |
Script printing some combining characters
Display with Konsole 18.04 Display with Konsole master branch |
Description
Arfrever Frehtes Taifersar Arahesis
2018-06-11 06:02:19 UTC
Created attachment 113213 [details] Display with Konsole 18.04 This image shows not truncated display with Konsole 18.04. E.g. for U+0361 (COMBINING DOUBLE INVERTED BREVE), the fully correct display would be as above first "kp" in this image from Wikipedia: https://en.wikipedia.org/wiki/File:Character_tie.svg (See also https://en.wikipedia.org/wiki/Tie_(typography) article.) Created attachment 113214 [details]
Display with Konsole master branch
This image shows truncated display with Konsole master branch.
Regression probably caused by https://cgit.kde.org/konsole.git/commit/?id=a565bc97337a3bfc3a027f46aa2dec3e9a6f8618 (In reply to Christoph Feck from comment #3) > Regression probably caused by > https://cgit.kde.org/konsole.git/commit/ > ?id=a565bc97337a3bfc3a027f46aa2dec3e9a6f8618 Correct. The code renders combining characters with a previous character (as it should be), but due to a Qt bug combining characters appear above next character. I'll look if it is possible to do some workaround for shifted combining characters. If not, rendering character on the right with combining characters will fix the bug. I've made a partial fix, but it turns out the Qt bug is worse than I thought. Some combining characters (e.g. 0x0332-0x0338) are treated as regular characters. This causes (without current functionality which cuts them off) wrong position detection and rendering problems. If I'll not find anything better, I'll filter out those problematic combining characters. |