[Development] about the Cocoa/Freetype fontengine

Nikolaus Waxweiler madigens at gmail.com
Sun Dec 31 01:10:56 CET 2017

>> We want to get to "Gamma 1.8, darkenend": 
>> https://www.freetype.org/image/BlendingExamples.png
> On Mac (FT and/or FT+FC *without* Infinality+Ultimate patches) I
> find 1.5 comes closer to the native CoreText font colour. 1.8 is too 
> thin.

Fair enough, depends on your screen and how much you darken. Ideally,
you match the sRGB gamma curve of roughly 2.2 that in an ideal world,
your screen matches, too. Ha!

> And for giggles, which one looks better and which more correct in 
> this screenshot (of 2 Konsole windows under X11)?

Both look off (right: hinting, left: autohinting), specifically the
gamma correction. Looks more like a gamma of 1.0 plus maybe some
thickening/smearing via the LCD filter. Is gamma correction enabled in
your Qt build? No strong hinting preference here, still prefer left for 
the slightly cleaner look should you wonder.

The ftview program from the freetype2-demos package will render stuff in
the technical correct way I'm going on about with a default gamma of
1.8. Use the FREETYPE_PROPERTIES env thing to toggle darkening for CFF
fonts. All of that is courtesy of Adobe.

>> Which confirms my claim that most users will give higher priority 
>> to on-screen legibility than to design veracity. Very 
>> understandably so.
> Alternative explanation: people complain when something they know 
> changes. Nobody could stand to use Macs if bitmap fonts were the 
> pinnacle of on-screen legibility.

Reworded: if most users have higher priority on on-screen legibility in
the strongly hinted sense, nobody would have used Macs before Retina
screens. Text on pre-Retina Macs is however quite readable if you get
used to the look.

> Please re-read and ponder the difference between fixing something and
> "tweaking to reduce it".

Reworded: you can't reduce the difference between different hinting
strategies without rewriting the hinting. See the attached screenshot.
Left is hinting, right is autohinting, both use the v40 hinting engine
that discards changes to vertical stems. The designers chose to clamp
horizontal stems to full pixels (the usual strategy in Win95 times),
note the thickness jump between 18 and 19 and 30 and 31 pt. The
autohinter instead pulls horizontal stems to the pixel boundary without
changing the stem thickness/width, a different design/clarity trade-off.
This is a fundamental difference you can't paper over. You can see this
even on Windows when you look at Arial and some ttfautohinted font in a
text waterfall.

Well, okay, you could theoretically start to supersample on the y-axis
and apply some black magic, but then you might as well use autohinting.

> 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?

> That'd mean both...

Yes :)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Bildschirmfoto vom 2017-12-31 00-57-38.png
Type: image/png
Size: 131964 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/development/attachments/20171231/fb5aab45/attachment.png>

More information about the Development mailing list