[truetype] Improve logic for getting fast advance widths.

* src/cff/cffdrivr.c (cff_get_advances), src/truetype/ttdriver.c
(tt_get_advances): Use `is_default_instance' for test; this gets
recomputed after changing blend coordinates.
This commit is contained in:
Werner Lemberg 2016-12-20 12:27:22 +01:00
parent 59b0b3a76c
commit 70704b34ac
3 changed files with 16 additions and 8 deletions

View File

@ -1,3 +1,11 @@
2016-12-20 Werner Lemberg <wl@gnu.org>
[truetype] Improve logic for getting fast advance widths.
* src/cff/cffdrivr.c (cff_get_advances), src/truetype/ttdriver.c
(tt_get_advances): Use `is_default_instance' for test; this gets
recomputed after changing blend coordinates.
2016-12-20 Ben Wagner <bungeman@google.com>
Werner Lemberg <wl@gnu.org>

View File

@ -219,8 +219,8 @@
{
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
/* no fast retrieval for blended MM fonts without VVAR table */
if ( ( FT_HAS_MULTIPLE_MASTERS( face ) && ttface->blend ) &&
!( var && var->vadvance_adjust ) )
if ( !ttface->is_default_instance &&
!( var && var->vadvance_adjust ) )
return FT_THROW( Unimplemented_Feature );
#endif
@ -251,8 +251,8 @@
{
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
/* no fast retrieval for blended MM fonts without HVAR table */
if ( ( FT_HAS_MULTIPLE_MASTERS( face ) && ttface->blend ) &&
!( var && var->hadvance_adjust ) )
if ( !ttface->is_default_instance &&
!( var && var->hadvance_adjust ) )
return FT_THROW( Unimplemented_Feature );
#endif

View File

@ -238,8 +238,8 @@
{
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
/* no fast retrieval for blended MM fonts without VVAR table */
if ( ( FT_HAS_MULTIPLE_MASTERS( ttface ) && face->blend ) &&
!( var && var->vadvance_adjust ) )
if ( !face->is_default_instance &&
!( var && var->vadvance_adjust ) )
return FT_THROW( Unimplemented_Feature );
#endif
@ -258,8 +258,8 @@
{
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
/* no fast retrieval for blended MM fonts without HVAR table */
if ( ( FT_HAS_MULTIPLE_MASTERS( ttface ) && face->blend ) &&
!( var && var->hadvance_adjust ) )
if ( !face->is_default_instance &&
!( var && var->hadvance_adjust ) )
return FT_THROW( Unimplemented_Feature );
#endif