[Interest] Problems with Display of Arabic Text Diacritical Marks

Jeffrey Brendecke jeffrey.brendecke at gmail.com
Sun May 21 16:11:52 CEST 2017

I am working on a cross-platform application with Arabic text and am having problems with diacritical marks not being properly displayed.

Fatha and sukun display too far above the text. Kasra displays so far below the text that it crashes into the next line. This is the case with the default Geeza Pro font (TrueType), which displays great in native applications (e.g., Pages). Using other fonts on MacOS leads to some improvement (e.g., Adobe Arabic (OpenType) looks better though still far from ideal).

Many of the marks display too close to the text if not crash into the letters.

Linux (Ubuntu 16.04)
Similar problems as MacOS.

Windows 10:
This is the only platform I tried that seems to get it right with display of the Arabic text. All fonts I tried look great.

My application is Qml-based, but a short test shows that text widgets have the same problem.

Using renderType: Text.NativeRendering or Text.QtRendering does not make any difference on MacOS/iOS.

I tried recompiling for MacOS explicitly setting -qt-harfbuzz, with the same results as before. I looked into the code (qt-everywhere-enterprise-src-5.9.0-beta4/qtbase/src/3rdparty/harfbuzz/) , and it appears that there is an old version of harfbuzz in there, at least when compared to what I see in https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-1.4.6.tar.bz2 <https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-1.4.6.tar.bz2> .

I found the following bugs that seem to relate to the situation, but there does not seem to be any real movement on them:

https://bugreports.qt.io/browse/QTBUG-18980 <https://bugreports.qt.io/browse/QTBUG-18980>
https://bugreports.qt.io/browse/QTBUG-33764 <https://bugreports.qt.io/browse/QTBUG-33764>

https://bugreports.qt.io/browse/QTBUG-17728 <https://bugreports.qt.io/browse/QTBUG-17728> suggests setting QT_ENABLE_HARFBUZZ on MacOS when running the app. I did this and ran qmlscene on a test qml file, and it made no difference.

Is there anyway I can work with the situation to get the type to display well?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20170521/55ad7a79/attachment.html>

More information about the Interest mailing list