freetype-commit
[Top][All Lists]
Advanced

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

[freetype2] master 1ede367: [truetype] Fix thinko related to PS name of


From: Werner LEMBERG
Subject: [freetype2] master 1ede367: [truetype] Fix thinko related to PS name of default named instance.
Date: Wed, 29 Mar 2017 18:27:11 -0400 (EDT)

branch: master
commit 1ede3674cbb61888cccaf30a83536654b1c9d4e8
Author: Werner Lemberg <address@hidden>
Commit: Werner Lemberg <address@hidden>

    [truetype] Fix thinko related to PS name of default named instance.
    
    * src/truetype/ttgxvar.c (TT_Get_MM_Var): `strid' and `psid' are
    name ID values, not indices into the array of name entries.
---
 ChangeLog              |  7 +++++++
 src/truetype/ttgxvar.c | 33 +++++++++++++++++----------------
 2 files changed, 24 insertions(+), 16 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index a2afd15..9dc20c0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2017-03-29  Werner Lemberg  <address@hidden>
+
+       [truetype] Fix thinko related to PS name of default named instance.
+
+       * src/truetype/ttgxvar.c (TT_Get_MM_Var): `strid' and `psid' are
+       name ID values, not indices into the array of name entries.
+
 2017-03-27  Werner Lemberg  <address@hidden>
 
        [cid, truetype] Don't use `index' as a variable name.
diff --git a/src/truetype/ttgxvar.c b/src/truetype/ttgxvar.c
index 55b7b0d..a87913d 100644
--- a/src/truetype/ttgxvar.c
+++ b/src/truetype/ttgxvar.c
@@ -2171,42 +2171,43 @@
       {
         SFNT_Service  sfnt = (SFNT_Service)face->sfnt;
 
-        FT_Int  found, win, apple;
+        FT_Int   found, dummy1, dummy2;
+        FT_UInt  strid = 0xFFFFFFFFUL;
 
 
         /* the default instance is missing in array the   */
         /* of named instances; try to synthesize an entry */
         found = sfnt->get_name_id( face,
                                    TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY,
-                                   &win,
-                                   &apple );
-        if ( !found )
+                                   &dummy1,
+                                   &dummy2 );
+        if ( found )
+          strid = TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY;
+        else
+        {
           found = sfnt->get_name_id( face,
                                      TT_NAME_ID_FONT_SUBFAMILY,
-                                     &win,
-                                     &apple );
+                                     &dummy1,
+                                     &dummy2 );
+          if ( found )
+            strid = TT_NAME_ID_FONT_SUBFAMILY;
+        }
 
         if ( found )
         {
-          FT_Int  strid = win >= 0 ? win : apple;
-
-
           found = sfnt->get_name_id( face,
                                      TT_NAME_ID_PS_NAME,
-                                     &win,
-                                     &apple );
+                                     &dummy1,
+                                     &dummy2 );
           if ( found )
           {
-            FT_Int  psid = win >= 0 ? win : apple;
-
-
             FT_TRACE5(( "TT_Get_MM_Var:"
                         " Adding default instance to named instances\n" ));
 
             ns = &mmvar->namedstyle[fvar_head.instanceCount];
 
-            ns->strid = (FT_UInt)strid;
-            ns->psid  = (FT_UInt)psid;
+            ns->strid = strid;
+            ns->psid  = TT_NAME_ID_PS_NAME;
 
             a = mmvar->axis;
             c = ns->coords;



reply via email to

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