freetype
[Top][All Lists]
Advanced

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

Re: [ft] ttfautohint strong-stem-width commandline default


From: pippin
Subject: Re: [ft] ttfautohint strong-stem-width commandline default
Date: Sun, 9 Feb 2014 09:53:18 +0000
User-agent: Mutt/1.5.20 (2009-06-14)

On Sun, Feb 09, 2014 at 09:08:43AM +0100, Werner LEMBERG wrote:
> 
> > ttfautohint only generates hints affecting vertical coordinates /
> > snapping horizontal stems closer to pixel boundaries. 'G' has the
> > same vertical resolution as 'g' and 'D' but a smaller effective
> > horizontal resolution.
> 
> [g = grayscaling, G = GDI ClearType, D = DW ClearType]
> 
> This is not correct.  Regarding effective horizontal resolution, we
> have
> 
>   res(horz): g < G == D

Here my understanding was correct; but my summary of it was wrong.

> due to the horizontal colour filtering of ClearType.  Note that GDI
> ClearType doesn't use sub-pixel hinting, contrary to DW ClearType.
> 
> Regarding effective vertical resolution, however, we have
> 
>   res(vert): G < D == g
> 
> since GDI ClearType essentially uses B/W hinting along the vertical
> axis.

This distinction I wasn't aware of. It also explains the default setting.  I
was under the impression that the effective vertical resolution was the same
for all targets.

> > As a novice font-designer my opinion is that the current default
> > produces and encourages broken fonts.
> 
> I don't understand why you consider this `broken'.  Please explain.

I decided to illustrate with screenshots; but my system is no longer producing
the broken behavior.

When I was testing earlier; it seemed like chromium used the 'GDI ClearType'
hints - which distorted the glyphs shapes more than neccesary. I was trying to
change things different places in my stack. 

Now the same hints are being used in firefox/chromium no matter how I tune the
--strong-stem-width= option. Either one of the changes I attempted to my
system has affected it, or upgrading to the newest ttfautohint I am able to
build from git (~0.95) fixed it.

> I think it fits best: `G' means
> 
>   . full-pixel stem widths for GDI ClearType
>   . discrete, possibly non-integer stem widths for both DW ClearType
>     and grayscale hinting
> 
> [..]. 
> In general, I consider smooth stem widths superior to strong stem widths
> since the overall shape distortions are reduced, together with a better
> grayness.  The default setting makes it possible: strong stem widths only in
> the GDI environment, where non-integer positioning leads to extremely ugly
> results otherwise.

I agree that smooth stem widths are better when possible. Striving for
consistent and/or good behavior with different stacks (platforms, versions and
configurations) is similar to cross browser struggles with HTML/CSS.

/pippin



reply via email to

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