freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ft-devel] State of TrueType interpreter v38 and up?


From: Nikolay Sivov
Subject: Re: [ft-devel] State of TrueType interpreter v38 and up?
Date: Thu, 3 Dec 2015 22:31:04 +0300
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0

On 03.12.2015 21:38, Werner LEMBERG wrote:

There is a misunderstanding, see above.  `Native' ClearType doesn't do
y-only hinting!  It's simply that advance width modifications are
ignored in Windows at a later stage, namely in the rasterizer.

I'm confused. Is this "native ClearType" actually called "Natural
ClearType" or "natural advance widths"?

MS created too many buzzwords :-(

   `Native ClearType ' means `no ClearType backwards-compatibility
   mode'

   `natural ClearType mode' is DWrite talk for subpixel positioning

   `natural ClearType widths' is GDI talk for integer pixel positioning
   with subpixel rendering.


Mostly as note to my future self, to summarize those rendering modes in DWrite terms, please correct me if I got anything wrong:

DWRITE_RENDERING_MODE_ALIASED

No antialiasing (still hinted I think)

DWRITE_RENDERING_MODE_GDI_CLASSIC

Horizontal direction AA, advances are adjusted.

DWRITE_RENDERING_MODE_GDI_NATURAL

Horizontal direction AA, advances are not adjusted, but still rounded.

DWRITE_RENDERING_MODE_NATURAL

Horizontal axis AA, with subpixel positioning, i.e. no snapping to pixel boundaries.

DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC

Both axis AA, with subpixel positioning

DWRITE_RENDERING_MODE_OUTLINE

Raw design outlines, irrelevant in this context.

In all cases that offer AA, it could be either cleartype or grayscale, it's specified separately from rendering mode. Could it mean that in grayscale mode DWrite NATURAL mode is the same as GDI_NATURAL?

I remember that symmetric mode is not supported in freetype yet, so we can forget about it.

So the question is what does freetype support from this list, and how can I switch between different modes? I know that one option is a per-library engine version setting, but what does it change in terms of those listed modes (also is there any reason to never switch it back and forth between render operations, performance penalty for example?).






reply via email to

[Prev in Thread] Current Thread [Next in Thread]