[autofit] Improve coverage handling.

* src/autofit/hbshim.c (af_get_coverage): Don't exclude glyphs
appearing in the GPOS table if we are processing the default
coverage.
This commit is contained in:
Werner Lemberg 2014-04-14 07:58:19 +02:00
parent 7630787a6a
commit 8b1f2a6cda
2 changed files with 16 additions and 1 deletions

View File

@ -1,3 +1,11 @@
2014-04-14 Werner Lemberg <wl@gnu.org>
[autofit] Improve coverage handling.
* src/autofit/hbshim.c (af_get_coverage): Don't exclude glyphs
appearing in the GPOS table if we are processing the default
coverage.
2014-04-13 David Weber <weber.aulendorf@googlemail.com>
[smooth] Fix stand-alone compilation.

View File

@ -328,8 +328,15 @@
* out whether a glyph gets shifted vertically, but this is something I
* would like to avoid if not really necessary.
*
* Note that we don't follow this logic for the default coverage.
* Complex scripts like Devanagari have mandatory GPOS features to
* position many glyph elements, using mark-to-base or mark-to-ligature
* tables; the number of glyphs missed due to condition (b) would be far
* too large.
*
*/
hb_set_subtract( gsub_glyphs, gpos_glyphs );
if ( style_class->coverage != AF_COVERAGE_DEFAULT )
hb_set_subtract( gsub_glyphs, gpos_glyphs );
#ifdef FT_DEBUG_LEVEL_TRACE
FT_TRACE4(( " glyphs without GPOS data (`*' means already assigned)" ));