freetype-commit
[Top][All Lists]
Advanced

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

[freetype2] master 8c93013: [truetype] Add support for Apple's


From: Werner LEMBERG
Subject: [freetype2] master 8c93013: [truetype] Add support for Apple's
Date: Sun, 17 Jul 2016 20:42:33 +0000 (UTC)

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

    [truetype] Add support for Apple's
    
      GETDATA[], opcode 0x92
    
    bytecode instruction.  It always returns 17, and we have absolutely
    no idea what it is good for...
    
    * src/truetype/ttinterp.c (Pop_Push_Count, opcode_name): Updated.
    (Ins_GETDATA): New function.
    (TT_RunIns): Add it.
---
 ChangeLog               |   13 +++++++++++++
 src/truetype/ttinterp.c |   25 ++++++++++++++++++++++---
 2 files changed, 35 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 59541b4..250dbe5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,18 @@
 2016-07-16  Werner Lemberg  <address@hidden>
 
+       [truetype] Add support for Apple's
+
+         GETDATA[], opcode 0x92
+
+       bytecode instruction.  It always returns 17, and we have absolutely
+       no idea what it is good for...
+
+       * src/truetype/ttinterp.c (Pop_Push_Count, opcode_name): Updated.
+       (Ins_GETDATA): New function.
+       (TT_RunIns): Add it.
+
+2016-07-16  Werner Lemberg  <address@hidden>
+
        [truetype] Add bytecode support for GX variation fonts.
 
        This commit implements undocumented (but confirmed) stuff from
diff --git a/src/truetype/ttinterp.c b/src/truetype/ttinterp.c
index 3851b7a..3883e67 100644
--- a/src/truetype/ttinterp.c
+++ b/src/truetype/ttinterp.c
@@ -784,7 +784,7 @@
 
     /*  INS_$90  */   PACK( 0, 0 ),
     /*  GETVAR   */   PACK( 0, 0 ), /* will be handled specially */
-    /*  INS_$92  */   PACK( 0, 0 ),
+    /*  GETDATA  */   PACK( 0, 1 ),
     /*  INS_$93  */   PACK( 0, 0 ),
     /*  INS_$94  */   PACK( 0, 0 ),
     /*  INS_$95  */   PACK( 0, 0 ),
@@ -1071,7 +1071,7 @@
 #else
     "7 INS_$91",
 #endif
-    "7 INS_$92",
+    "7 GETDATA",
     "7 INS_$93",
     "7 INS_$94",
     "7 INS_$95",
@@ -7400,7 +7400,7 @@
   /*************************************************************************/
   /*                                                                       */
   /* GETVARIATION[]: get normalized variation (blend) coordinates          */
-  /* Opcode range:   0x24                                                  */
+  /* Opcode range:   0x91                                                  */
   /* Stack:          --> f2.14...                                          */
   /*                                                                       */
   /* XXX: UNDOCUMENTED!  There is no documentation from Apple for this     */
@@ -7429,6 +7429,21 @@
 #endif /* TT_CONFIG_OPTION_GX_VAR_SUPPORT */
 
 
+  /*************************************************************************/
+  /*                                                                       */
+  /* GETDATA[]:    no idea what this is good for                           */
+  /* Opcode range: 0x92                                                    */
+  /* Stack:        --> 17                                                  */
+  /*                                                                       */
+  /* XXX: UNDOCUMENTED!  There is no documentation from Apple for this     */
+  /*      very weird bytecode instruction.                                 */
+  /*                                                                       */
+  static void
+  Ins_GETDATA( FT_Long*  args )
+  {
+    args[0] = 17;
+  }
+
 
   static void
   Ins_UNKNOWN( TT_ExecContext  exc )
@@ -8191,6 +8206,10 @@
           break;
 #endif
 
+        case 0x92:
+          Ins_GETDATA( args );
+          break;
+
         default:
           if ( opcode >= 0xE0 )
             Ins_MIRP( exc, args );



reply via email to

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