Details
-
Bug
-
Resolution: Incomplete
-
P1: Critical
-
None
-
5.9.6, 5.12.6, 5.14.0
-
None
Description
We found an issue that elide text is not shown correctly with some Arabic fonts. When displaying long text which cannot fit in width of the text area, Qt will show truncated text. In this case, the last texts are replaced with number of dots (...), and the last character before “…” (dots) should be shown in short as Arabic manner. But the last character before the dots is displayed without being shorten with some specific font family(e.g. AL NILE). I attached screenshot of the problem and sample program to reproduce this issue.
With our initial investigation, we found that this symptom happens when the specified font does NOT have “zero-width jointer”, which code point is U+200D.
Below is the wiki page link explaining the “zero-width jointer”.
https://en.wikipedia.org/wiki/Zero-width_joiner
Another findings are:
If there is a glyph data in U+200D, the text is treated as one text group like “AAAAA…”
But if there is NO glyph data in U+200D, the text is somehow divided into 2 groups like “AAAAA” and “…”.
In this case the last character of “AAAAA” is shown in full length as it is handled as if there’s no trailing characters.
Could someone let me know how to avoid this problem?