freetype2/src
Werner Lemberg 319125d4c2 [autofit] Prevent overlapping blue zones.
Problem reported as

  https://github.com/google/fonts/issues/632

The font in question (Nunito) has values 705 and 713 for the
reference and overshoot values, respectively, of the first blue
zone.  Blue zone 2, however, has value 710 for both the reference
and overshoot.  At 12ppem, reference and overshoot of blue zone 0
becomes 8px, while blue zone 2 becomes 9px.

A peculiarity of this font is that the tops of isolated vertical
stems like `N' have a slight overshoot also.  The auto-hinter tries
to find the nearest blue zone using the *original* coordinates.  For
vertical stems, this is value 713.  For normal horizontal tops like
in character `E', this is value 710.  Since value 713 is mapped to
8px but value 710 to 9px, `N' and similar characters are one pixel
higher than `E', which looks very bad.

This commit sanitizes blue zones to avoid such a behaviour.

* src/autofit/aflatin.c (af_latin_sort_blue): New function.
(af_latin_metrics_init_blues): Sort blue values and remove overlaps.
2017-02-13 09:34:17 +01:00
..
autofit [autofit] Prevent overlapping blue zones. 2017-02-13 09:34:17 +01:00
base [base] Fix error handing in MM functions. 2017-01-31 18:47:10 +01:00
bdf Update copyright year. 2017-01-04 20:16:34 +01:00
bzip2 Update copyright year. 2017-01-04 20:16:34 +01:00
cache Update copyright year. 2017-01-04 20:16:34 +01:00
cff Make compilation with FT_CONFIG_OPTION_PIC work again. 2017-02-02 07:13:29 +01:00
cid Update copyright year. 2017-01-04 20:16:34 +01:00
gxvalid Typos. 2017-01-22 23:09:05 -05:00
gzip Typos. 2017-01-24 23:56:59 -05:00
lzw Update copyright year. 2017-01-04 20:16:34 +01:00
otvalid Update copyright year. 2017-01-04 20:16:34 +01:00
pcf [pcf] Make long family names configurable. 2017-01-09 11:30:32 +01:00
pfr Update copyright year. 2017-01-04 20:16:34 +01:00
psaux Update copyright year. 2017-01-04 20:16:34 +01:00
pshinter Update copyright year. 2017-01-04 20:16:34 +01:00
psnames Update copyright year. 2017-01-04 20:16:34 +01:00
raster Update copyright year. 2017-01-04 20:16:34 +01:00
sfnt [cff] Provide metrics variation service interface (#50196). 2017-01-31 23:06:38 +01:00
smooth * src/smooth/ftgrays.c (gray_sweep): Improve code. 2017-02-12 23:07:29 -05:00
tools Typos. 2017-01-17 23:45:08 -05:00
truetype [truetype] Implement `VVAR' table support. 2017-02-06 13:13:02 +01:00
type1 Update copyright year. 2017-01-04 20:16:34 +01:00
type42 Update copyright year. 2017-01-04 20:16:34 +01:00
winfonts Update copyright year. 2017-01-04 20:16:34 +01:00
Jamfile Update copyright year. 2017-01-04 20:16:34 +01:00