[sfnt] Adjust behaviour of PS font names for variation fonts.

* src/sfnt/sfdriver.c (sfnt_get_var_ps_name): Use a named instance's
PS name only if no variation is applied.
This commit is contained in:
Werner Lemberg 2017-10-07 13:14:38 +02:00
parent f89c67f043
commit 7bfcaacaf5
3 changed files with 16 additions and 1 deletions

View File

@ -1,3 +1,10 @@
2017-10-07 Werner Lemberg <wl@gnu.org>
[sfnt] Adjust behaviour of PS font names for variation fonts.
* src/sfnt/sfdriver.c (sfnt_get_var_ps_name): Use a named instance's
PS name only if no variation is applied.
2017-10-07 Werner Lemberg <wl@gnu.org>
[cff, truetype] Adjust behaviour of named instances.

View File

@ -3519,6 +3519,13 @@ FT_BEGIN_HEADER
/* */
/* http://wwwimages.adobe.com/content/dam/Adobe/en/devnet/font/pdfs/5902.AdobePSNameGeneration.html */
/* */
/* [Since 2.8.2] Special PostScript names for named instances are */
/* only returned if the named instance is set with */
/* @FT_Set_Named_Instance (and the font has corresponding entries in */
/* its `fvar' table). If @FT_IS_VARIATION returns true, the */
/* algorithmically derived PostScript name is provided, not looking */
/* up special entries for named instances. */
/* */
FT_EXPORT( const char* )
FT_Get_Postscript_Name( FT_Face face );

View File

@ -862,7 +862,8 @@
NULL,
&mm_var );
if ( FT_IS_NAMED_INSTANCE( FT_FACE( face ) ) )
if ( FT_IS_NAMED_INSTANCE( FT_FACE( face ) ) &&
!FT_IS_VARIATION( FT_FACE( face ) ) )
{
SFNT_Service sfnt = (SFNT_Service)face->sfnt;