[Interest] Asian text sets at an angle - Mac OS 10.9 Mavericks - Qt 4.5.2

Dan Korn dkorn at pti.com
Fri Mar 7 02:33:51 CET 2014


The answer to this is probably to update Qt, but we have an application that has been working fine on both Windows and Mac for many years, with a UI which can be switched between several Eastern and Western languages.

English and other Western text display properly, on all OS versions, but when the app is set to display Asian (Japanese or Chinese) text on Mavericks, all the text (except for application menus and window titles) looks like it’s set on an angular baseline.  This happens with all the controls in our app, even in QMessageBox.

Here is a screenshot showing the same QMessage box with English text and with Japanese text:
http://postimg.org/image/hcnisa2o7/

The shift/angle is more pronounced as the line gets longer.  Some longer button captions actually extend outside of their button borders.

Native Mac dialogs created in the same app with Mac OS API calls, such as Carbon’s CreateStandardAlert, are fine, as are dialogs such as QFileDialog which seem to simply leverage Carbon or Cocoa APIs.  Non-Qt apps are fine as well.  It’s just the regular Qt dialogs and controls that have this problem.

I thought that it might somehow be related to the high-res Retina display, which I added support for recently by setting the Qt::WA_MacFrameworkScaled attribute in our dialogs, and setting NSHighResolutionCapable in the app's plist, but if I turn off NSHighResolutionCapable, or run an older version of the app without the changes for Retina, I still see the same problem (just in lower resolution), again, only on Mavericks.

I found this post:
http://www.qtcentre.org/threads/56682-How-to-fix-Qt-4-fonts-on-Mac-OS-X-10-9
But adding the call to QFont::insertSubstitution didn’t make any difference.

Has anyone else seen this?  What could be causing it?  Is it fixed in a later version of Qt after 4.5?  Where would I look in the Qt source code to try to patch this?

Thanks,
Dan




More information about the Interest mailing list