[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_ */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2] ewaldhew-cleaned 441aa14 08/10: [psaux, cff] Move cff_random into psaux service.,
Hew Yih Shiuan Ewald <=