freetype-commit
[Top][All Lists]
Advanced

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

[freetype2] master a3b70d7: [truetype] Make GETDATA work only for GX fon


From: Werner LEMBERG
Subject: [freetype2] master a3b70d7: [truetype] Make GETDATA work only for GX fonts.
Date: Mon, 18 Jul 2016 04:24:11 +0000 (UTC)

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

    [truetype] Make GETDATA work only for GX fonts.
    
    * src/truetype/ttinterp.c (opcode_name): Updated.
    (Ins_GETDATA): Only define for `TT_CONFIG_OPTION_GX_VAR_SUPPORT'.
    (TT_RunIns): Updated.
---
 ChangeLog               |   10 +++++++++-
 src/truetype/ttinterp.c |   17 ++++++++++++-----
 2 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 250dbe5..fc1ae90 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,12 @@
-2016-07-16  Werner Lemberg  <address@hidden>
+2016-07-18  Werner Lemberg  <address@hidden>
+
+       [truetype] Make GETDATA work only for GX fonts.
+
+       * src/truetype/ttinterp.c (opcode_name): Updated.
+       (Ins_GETDATA): Only define for `TT_CONFIG_OPTION_GX_VAR_SUPPORT'.
+       (TT_RunIns): Updated.
+
+2016-07-17  Werner Lemberg  <address@hidden>
 
        [truetype] Add support for Apple's
 
diff --git a/src/truetype/ttinterp.c b/src/truetype/ttinterp.c
index 3883e67..eb6025f 100644
--- a/src/truetype/ttinterp.c
+++ b/src/truetype/ttinterp.c
@@ -1068,10 +1068,11 @@
     "7 INS_$90",
 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
     "6 GETVAR",
+    "7 GETDATA",
 #else
     "7 INS_$91",
+    "7 INS_$92",
 #endif
-    "7 GETDATA",
     "7 INS_$93",
     "7 INS_$94",
     "7 INS_$95",
@@ -7426,8 +7427,6 @@
       args[i] = coords[i] >> 2; /* convert 16.16 to 2.14 format */
   }
 
-#endif /* TT_CONFIG_OPTION_GX_VAR_SUPPORT */
-
 
   /*************************************************************************/
   /*                                                                       */
@@ -7444,6 +7443,8 @@
     args[0] = 17;
   }
 
+#endif /* TT_CONFIG_OPTION_GX_VAR_SUPPORT */
+
 
   static void
   Ins_UNKNOWN( TT_ExecContext  exc )
@@ -8204,11 +8205,17 @@
           else
             Ins_UNKNOWN( exc );
           break;
-#endif
 
         case 0x92:
-          Ins_GETDATA( args );
+          /* there is at least one MS font (LaoUI.ttf version 5.01) that */
+          /* uses IDEFs for 0x91 and 0x92; for this reason we activate   */
+          /* GETDATA for GX fonts only, similar to GETVARIATION          */
+          if ( exc->face->blend )
+            Ins_GETDATA( args );
+          else
+            Ins_UNKNOWN( exc );
           break;
+#endif
 
         default:
           if ( opcode >= 0xE0 )



reply via email to

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