freetype-commit
[Top][All Lists]
Advanced

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

[freetype2] ewaldhew-cleaned 441aa14 08/10: [psaux, cff] Move cff_random


From: Hew Yih Shiuan Ewald
Subject: [freetype2] ewaldhew-cleaned 441aa14 08/10: [psaux, cff] Move cff_random into psaux service.
Date: Tue, 4 Jul 2017 06:41:49 -0400 (EDT)

branch: ewaldhew-cleaned
commit 441aa1453970c09ef201aa94f94f917012431682
Author: Ewald Hew <address@hidden>
Commit: Ewald Hew <address@hidden>

    [psaux, cff] Move cff_random into psaux service.
    
    NOTE: Does not compile!
    
    Minor fix to allow both `cff' and `psaux' to use cff_random.
    
    * src/cff/cffload.c (cff_random): Moved to...
    * src/psaux/psobjs.c: Here.
    * src/cff/cffload.h: Move corresponding declaration to src/psaux/psobjs.h.
    
    * include/freetype/internal/psaux.h (PSAux_ServiceRec): Register the 
function here...
    * src/psaux/psauxmod.c: And here.
    
    * src/cff/cffload.c, src/psaux/cf2intrp.c: Updated code.
---
 include/freetype/internal/psaux.h |  4 ++++
 src/cff/cffload.c                 | 18 ++++--------------
 src/cff/cffload.h                 |  3 ---
 src/psaux/cf2intrp.c              |  1 +
 src/psaux/psauxmod.c              |  1 +
 src/psaux/psobjs.c                | 12 ++++++++++++
 src/psaux/psobjs.h                |  4 ++++
 7 files changed, 26 insertions(+), 17 deletions(-)

diff --git a/include/freetype/internal/psaux.h 
b/include/freetype/internal/psaux.h
index 4243b15..0df4057 100644
--- a/include/freetype/internal/psaux.h
+++ b/include/freetype/internal/psaux.h
@@ -1067,6 +1067,10 @@ FT_BEGIN_HEADER
                    FT_Offset  length,
                    FT_UShort  seed );
 
+    FT_UInt32
+    (*cff_random)( FT_UInt32  r );
+
+
     T1_CMap_Classes  t1_cmap_classes;
 
     /* fields after this comment line were added after version 2.1.10 */
diff --git a/src/cff/cffload.c b/src/cff/cffload.c
index 1242038..5e6839d 100644
--- a/src/cff/cffload.c
+++ b/src/cff/cffload.c
@@ -1945,18 +1945,6 @@
   }
 
 
-  FT_LOCAL_DEF( FT_UInt32 )
-  cff_random( FT_UInt32  r )
-  {
-    /* a 32bit version of the `xorshift' algorithm */
-    r ^= r << 13;
-    r ^= r >> 17;
-    r ^= r << 5;
-
-    return r;
-  }
-
-
   /* There are 3 ways to call this function, distinguished by code.  */
   /*                                                                 */
   /* . CFF_CODE_TOPDICT for either a CFF Top DICT or a CFF Font DICT */
@@ -1980,6 +1968,8 @@
     CFF_FontRecDict  top  = &subfont->font_dict;
     CFF_Private      priv = &subfont->private_dict;
 
+    PSAux_Service  psaux = (PSAux_Service)face->psaux;
+
     FT_Bool  cff2      = FT_BOOL( code == CFF2_CODE_TOPDICT  ||
                                   code == CFF2_CODE_FONTDICT );
     FT_UInt  stackSize = cff2 ? CFF2_DEFAULT_STACK
@@ -2094,7 +2084,7 @@
           do
           {
             driver->random_seed =
-              (FT_Int32)cff_random( (FT_UInt32)driver->random_seed );
+              (FT_Int32)psaux->cff_random( (FT_UInt32)driver->random_seed );
 
           } while ( driver->random_seed < 0 );
         }
@@ -2107,7 +2097,7 @@
           do
           {
             face->root.internal->random_seed =
-              (FT_Int32)cff_random( 
(FT_UInt32)face->root.internal->random_seed );
+              (FT_Int32)psaux->cff_random( 
(FT_UInt32)face->root.internal->random_seed );
 
           } while ( face->root.internal->random_seed < 0 );
         }
diff --git a/src/cff/cffload.h b/src/cff/cffload.h
index 82a0417..ef3c1bd 100644
--- a/src/cff/cffload.h
+++ b/src/cff/cffload.h
@@ -61,9 +61,6 @@ FT_BEGIN_HEADER
                              FT_UInt      cid );
 
 
-  FT_LOCAL( FT_UInt32 )
-  cff_random( FT_UInt32  r );
-
   FT_LOCAL( FT_Error )
   cff_font_load( FT_Library  library,
                  FT_Stream   stream,
diff --git a/src/psaux/cf2intrp.c b/src/psaux/cf2intrp.c
index 3e7ad57..605b468 100644
--- a/src/psaux/cf2intrp.c
+++ b/src/psaux/cf2intrp.c
@@ -47,6 +47,7 @@
 #include "cf2intrp.h"
 
 #include "cf2error.h"
+#include "psobjs.h"  /* for cff_random */
 
 
   /*************************************************************************/
diff --git a/src/psaux/psauxmod.c b/src/psaux/psauxmod.c
index cd9f525..a880881 100644
--- a/src/psaux/psauxmod.c
+++ b/src/psaux/psauxmod.c
@@ -143,6 +143,7 @@
     &t1_builder_funcs,
     &t1_decoder_funcs,
     t1_decrypt,
+    cff_random,
 
     (const T1_CMap_ClassesRec*) &t1_cmap_classes,
 
diff --git a/src/psaux/psobjs.c b/src/psaux/psobjs.c
index db268fc..92691db 100644
--- a/src/psaux/psobjs.c
+++ b/src/psaux/psobjs.c
@@ -2044,4 +2044,16 @@
   }
 
 
+  FT_LOCAL_DEF( FT_UInt32 )
+  cff_random( FT_UInt32  r )
+  {
+    /* a 32bit version of the `xorshift' algorithm */
+    r ^= r << 13;
+    r ^= r >> 17;
+    r ^= r << 5;
+
+    return r;
+  }
+
+
 /* END */
diff --git a/src/psaux/psobjs.h b/src/psaux/psobjs.h
index c06bb28..c163794 100644
--- a/src/psaux/psobjs.h
+++ b/src/psaux/psobjs.h
@@ -247,6 +247,10 @@ FT_BEGIN_HEADER
               FT_UShort  seed );
 
 
+  FT_LOCAL( FT_UInt32 )
+  cff_random( FT_UInt32  r );
+
+
 FT_END_HEADER
 
 #endif /* PSOBJS_H_ */



reply via email to

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