[Development] about the Cocoa/Freetype fontengine

René J. V. Bertin rjvbertin at gmail.com
Mon Jan 1 10:41:48 CET 2018


Nikolaus Waxweiler wrote:

>> Right, and where did *that* come from in discussion that's about font
>> engine choice by the user?
> 
> We are talking about giving devs the ability to ship Qt apps with
> switched font engines, no?

Here's what I currently have locally (disregard the hacks for building against 
Qt 5.8 and the font gamma tweaks, useful though those might be for e.g. visually 
challenged users):

in qcocoaintegration.mm, i.e. the Cocoa QPA:
https://github.com/RJVB/osx-integration/blob/qt590/src/qcocoa-qpa/qcocoaintegration.mm#L338
https://github.com/RJVB/osx-integration/blob/qt590/src/qcocoa-qpa/qcocoaintegration.mm#L765

In my osx-integration platform theme plugin which basically does what KDE's 
plasma-integration plugin does:

https://github.com/RJVB/osx-integration/blob/qt590/src/platformtheme/kfontsettingsdatamac.mm#L146

This gives users and developers the possibility to (and in order of priority)
- start an application with -platform cocoa:fontengine=[freetype|fontconfig]
- use the fontEngine=[freetype|fontconfig|coretext] key in a user-specific 
settings file (kdeglobals by default).
- use an env.variable QT_MAC_FONTENGINE=[freetype|fontconfig|coretext]

Evidently this supposes that QtBase has been built with FontConfig support, which 
in the current state of things requires a few minor patches mostly to override 
decisions in the build system.

Probably still a bit rough around the edges, but I think everything is there to 
please anyone except maybe strongly principled Qt devs ;)

Happy NY!

R.




More information about the Development mailing list