summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEwald Hew <ewaldhew@gmail.com>2017-08-10 09:22:59 +0800
committerEwald Hew <ewaldhew@gmail.com>2017-08-28 08:29:08 +0800
commit14c9575aea8c73b1cf990ba5935a57191477d807 (patch)
treeaeb0de3dc920d8280ad253d56c6940915203f643
parent7e7764219f6e80005a68d8b01e8d6d28961711b2 (diff)
downloadfreetype2-14c9575aea8c73b1cf990ba5935a57191477d807.tar.gz
Move `psdecode' into `psobjs'.
As the former only contains a single procedure, move it into `psobjs' for simplicity. Also change the parameter order to the conventional one. * src/psaux/psdecode.c (ps_decoder_init): Moved to... * src/psaux/psobjs.c: ...Here. * src/psaux/psdecode.h, src/psaux/psobjs.h: Ditto. * include/freetype/internal/psaux.h: Update function signature. * src/cff/cffgload.c, src/cid/cidgload.c, src/type1/t1gload.c: Update calls. * src/psaux/psaux.c, src/psaux/psauxmod.c: Update includes. * src/psaux/Jamfile, src/psaux/rules.mk: Update file references.
-rw-r--r--include/freetype/internal/psaux.h6
-rw-r--r--src/cff/cffgload.c2
-rw-r--r--src/cid/cidgload.c2
-rw-r--r--src/psaux/Jamfile1
-rw-r--r--src/psaux/psaux.c1
-rw-r--r--src/psaux/psauxmod.c1
-rw-r--r--src/psaux/psdecode.c91
-rw-r--r--src/psaux/psdecode.h20
-rw-r--r--src/psaux/psobjs.c81
-rw-r--r--src/psaux/psobjs.h5
-rw-r--r--src/psaux/rules.mk1
-rw-r--r--src/type1/t1gload.c2
12 files changed, 92 insertions, 121 deletions
diff --git a/include/freetype/internal/psaux.h b/include/freetype/internal/psaux.h
index 7357da452..c287974a5 100644
--- a/include/freetype/internal/psaux.h
+++ b/include/freetype/internal/psaux.h
@@ -1286,9 +1286,9 @@ FT_BEGIN_HEADER
(*cff_random)( FT_UInt32 r );
void
- (*ps_decoder_init)( void* decoder,
- FT_Bool is_t1,
- PS_Decoder* ps_decoder );
+ (*ps_decoder_init)( PS_Decoder* ps_decoder,
+ void* decoder,
+ FT_Bool is_t1 );
void
(*t1_make_subfont)( FT_Face face,
diff --git a/src/cff/cffgload.c b/src/cff/cffgload.c
index 917fb3ad8..9a2080b21 100644
--- a/src/cff/cffgload.c
+++ b/src/cff/cffgload.c
@@ -435,7 +435,7 @@
else
#endif
{
- psaux->ps_decoder_init( &decoder, FALSE, &psdecoder );
+ psaux->ps_decoder_init( &psdecoder, &decoder, FALSE );
error = decoder_funcs->parse_charstrings( &psdecoder,
charstring,
diff --git a/src/cid/cidgload.c b/src/cid/cidgload.c
index 9f47dcdf1..2194151a6 100644
--- a/src/cid/cidgload.c
+++ b/src/cid/cidgload.c
@@ -187,7 +187,7 @@
CFF_SubFontRec subfont;
- psaux->ps_decoder_init( decoder, TRUE, &psdecoder );
+ psaux->ps_decoder_init( &psdecoder, decoder, TRUE );
psaux->t1_make_subfont( FT_FACE( face ), &dict->private_dict, &subfont );
psdecoder.current_subfont = &subfont;
diff --git a/src/psaux/Jamfile b/src/psaux/Jamfile
index ab861e656..0e5944d69 100644
--- a/src/psaux/Jamfile
+++ b/src/psaux/Jamfile
@@ -23,7 +23,6 @@ SubDir FT2_TOP $(FT2_SRC_DIR) psaux ;
t1cmap
t1decode
cffdecode
- psdecode
psarrst
psblues
pserror
diff --git a/src/psaux/psaux.c b/src/psaux/psaux.c
index 8c9e63316..e30c9b084 100644
--- a/src/psaux/psaux.c
+++ b/src/psaux/psaux.c
@@ -26,7 +26,6 @@
#include "t1cmap.c"
#include "t1decode.c"
#include "cffdecode.c"
-#include "psdecode.c"
#include "psarrst.c"
#include "psblues.c"
diff --git a/src/psaux/psauxmod.c b/src/psaux/psauxmod.c
index b07192909..fea60ce6d 100644
--- a/src/psaux/psauxmod.c
+++ b/src/psaux/psauxmod.c
@@ -23,7 +23,6 @@
#include "t1cmap.h"
#include "psft.h"
#include "cffdecode.h"
-#include "psdecode.h"
#ifndef T1_CONFIG_OPTION_NO_AFM
#include "afmparse.h"
diff --git a/src/psaux/psdecode.c b/src/psaux/psdecode.c
deleted file mode 100644
index c8a5d01c2..000000000
--- a/src/psaux/psdecode.c
+++ /dev/null
@@ -1,91 +0,0 @@
-
-
-#include <ft2build.h>
-#include FT_INTERNAL_SERVICE_H
-
-#include "psdecode.h"
-#include "psobjs.h"
-
-#include "psauxerr.h"
-
-
- /*************************************************************************/
- /* */
- /* <Function> */
- /* ps_decoder_init */
- /* */
- /* <Description> */
- /* Creates a decoder for the combined Type 1 / CFF interpreter. */
- /* */
- /* <InOut> */
- /* decoder :: A pointer to the glyph builder to initialize. */
- /* */
- /* <Input> */
- /* */
- /* */
- /* */
- /* */
- /* */
- FT_LOCAL_DEF( void )
- ps_decoder_init( void* decoder,
- FT_Bool is_t1,
- PS_Decoder* ps_decoder )
- {
- FT_ZERO( ps_decoder );
-
- if ( is_t1 )
- {
- T1_Decoder t1_decoder = (T1_Decoder)decoder;
-
- ps_builder_init( &t1_decoder->builder,
- is_t1,
- &ps_decoder->builder );
-
- ps_decoder->cf2_instance = &t1_decoder->cf2_instance;
- ps_decoder->psnames = t1_decoder->psnames;
-
- ps_decoder->num_glyphs = t1_decoder->num_glyphs;
- ps_decoder->glyph_names = t1_decoder->glyph_names;
- ps_decoder->hint_mode = t1_decoder->hint_mode;
- ps_decoder->blend = t1_decoder->blend;
-
- ps_decoder->num_locals = t1_decoder->num_subrs;
- ps_decoder->locals = t1_decoder->subrs;
- ps_decoder->locals_len = t1_decoder->subrs_len;
- ps_decoder->locals_hash = t1_decoder->subrs_hash;
-
- ps_decoder->buildchar = t1_decoder->buildchar;
- ps_decoder->len_buildchar = t1_decoder->len_buildchar;
-
- ps_decoder->lenIV = t1_decoder->lenIV;
- }
- else
- {
- CFF_Decoder* cff_decoder = (CFF_Decoder*)decoder;
-
- ps_builder_init( &cff_decoder->builder,
- is_t1,
- &ps_decoder->builder );
-
- ps_decoder->cff = cff_decoder->cff;
- ps_decoder->cf2_instance = &cff_decoder->cff->cf2_instance;
- ps_decoder->current_subfont = cff_decoder->current_subfont;
-
- ps_decoder->num_globals = cff_decoder->num_globals;
- ps_decoder->globals = cff_decoder->globals;
- ps_decoder->globals_bias = cff_decoder->globals_bias;
- ps_decoder->num_locals = cff_decoder->num_locals;
- ps_decoder->locals = cff_decoder->locals;
- ps_decoder->locals_bias = cff_decoder->locals_bias;
-
- ps_decoder->glyph_width = cff_decoder->glyph_width;
- ps_decoder->nominal_width = cff_decoder->nominal_width;
- ps_decoder->width_only = cff_decoder->width_only;
-
- ps_decoder->hint_mode = cff_decoder->hint_mode;
-
- ps_decoder->get_glyph_callback = cff_decoder->get_glyph_callback;
- ps_decoder->free_glyph_callback = cff_decoder->free_glyph_callback;
- }
- }
-
diff --git a/src/psaux/psdecode.h b/src/psaux/psdecode.h
deleted file mode 100644
index dd7e6f285..000000000
--- a/src/psaux/psdecode.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef PSDECODE_H_
-#define PSDECODE_H_
-
-
-#include <ft2build.h>
-#include FT_INTERNAL_POSTSCRIPT_AUX_H
-
-
-FT_BEGIN_HEADER
-
- FT_LOCAL( void )
- ps_decoder_init( void* decoder,
- FT_Bool is_t1,
- PS_Decoder* ps_decoder );
-
-
-FT_END_HEADER
-
-#endif
-
diff --git a/src/psaux/psobjs.c b/src/psaux/psobjs.c
index b592163ce..d643afeff 100644
--- a/src/psaux/psobjs.c
+++ b/src/psaux/psobjs.c
@@ -2328,6 +2328,87 @@
/*************************************************************************/
+ /*************************************************************************/
+ /* */
+ /* <Function> */
+ /* ps_decoder_init */
+ /* */
+ /* <Description> */
+ /* Creates a wrapper decoder for use in the combined */
+ /* Type 1 / CFF interpreter. */
+ /* */
+ /* <InOut> */
+ /* ps_decoder :: A pointer to the decoder to initialize. */
+ /* */
+ /* <Input> */
+ /* decoder :: A pointer to the original decoder. */
+ /* */
+ /* is_t1 :: Flag indicating Type 1 or CFF */
+ /* */
+ FT_LOCAL_DEF( void )
+ ps_decoder_init( PS_Decoder* ps_decoder,
+ void* decoder,
+ FT_Bool is_t1 )
+ {
+ FT_ZERO( ps_decoder );
+
+ if ( is_t1 )
+ {
+ T1_Decoder t1_decoder = (T1_Decoder)decoder;
+
+ ps_builder_init( &t1_decoder->builder,
+ is_t1,
+ &ps_decoder->builder );
+
+ ps_decoder->cf2_instance = &t1_decoder->cf2_instance;
+ ps_decoder->psnames = t1_decoder->psnames;
+
+ ps_decoder->num_glyphs = t1_decoder->num_glyphs;
+ ps_decoder->glyph_names = t1_decoder->glyph_names;
+ ps_decoder->hint_mode = t1_decoder->hint_mode;
+ ps_decoder->blend = t1_decoder->blend;
+
+ ps_decoder->num_locals = t1_decoder->num_subrs;
+ ps_decoder->locals = t1_decoder->subrs;
+ ps_decoder->locals_len = t1_decoder->subrs_len;
+ ps_decoder->locals_hash = t1_decoder->subrs_hash;
+
+ ps_decoder->buildchar = t1_decoder->buildchar;
+ ps_decoder->len_buildchar = t1_decoder->len_buildchar;
+
+ ps_decoder->lenIV = t1_decoder->lenIV;
+ }
+ else
+ {
+ CFF_Decoder* cff_decoder = (CFF_Decoder*)decoder;
+
+ ps_builder_init( &cff_decoder->builder,
+ is_t1,
+ &ps_decoder->builder );
+
+ ps_decoder->cff = cff_decoder->cff;
+ ps_decoder->cf2_instance = &cff_decoder->cff->cf2_instance;
+ ps_decoder->current_subfont = cff_decoder->current_subfont;
+
+ ps_decoder->num_globals = cff_decoder->num_globals;
+ ps_decoder->globals = cff_decoder->globals;
+ ps_decoder->globals_bias = cff_decoder->globals_bias;
+ ps_decoder->num_locals = cff_decoder->num_locals;
+ ps_decoder->locals = cff_decoder->locals;
+ ps_decoder->locals_bias = cff_decoder->locals_bias;
+
+ ps_decoder->glyph_width = cff_decoder->glyph_width;
+ ps_decoder->nominal_width = cff_decoder->nominal_width;
+ ps_decoder->width_only = cff_decoder->width_only;
+
+ ps_decoder->hint_mode = cff_decoder->hint_mode;
+
+ ps_decoder->get_glyph_callback = cff_decoder->get_glyph_callback;
+ ps_decoder->free_glyph_callback = cff_decoder->free_glyph_callback;
+ }
+ }
+
+
FT_LOCAL_DEF( void )
t1_make_subfont( FT_Face face,
PS_Private priv,
diff --git a/src/psaux/psobjs.h b/src/psaux/psobjs.h
index aed19decd..6773eacb2 100644
--- a/src/psaux/psobjs.h
+++ b/src/psaux/psobjs.h
@@ -285,6 +285,11 @@ FT_BEGIN_HEADER
/*************************************************************************/
FT_LOCAL( void )
+ ps_decoder_init( PS_Decoder* ps_decoder,
+ void* decoder,
+ FT_Bool is_t1 );
+
+ FT_LOCAL( void )
t1_make_subfont( FT_Face face,
PS_Private priv,
CFF_SubFont subfont );
diff --git a/src/psaux/rules.mk b/src/psaux/rules.mk
index 55a835f6a..266d446f8 100644
--- a/src/psaux/rules.mk
+++ b/src/psaux/rules.mk
@@ -36,7 +36,6 @@ PSAUX_DRV_SRC := $(PSAUX_DIR)/psobjs.c \
$(PSAUX_DIR)/psauxmod.c \
$(PSAUX_DIR)/psarrst.c \
$(PSAUX_DIR)/psblues.c \
- $(PSAUX_DIR)/psdecode.c \
$(PSAUX_DIR)/pserror.c \
$(PSAUX_DIR)/psfont.c \
$(PSAUX_DIR)/psft.c \
diff --git a/src/type1/t1gload.c b/src/type1/t1gload.c
index 6e5d3e819..e5f88d0a0 100644
--- a/src/type1/t1gload.c
+++ b/src/type1/t1gload.c
@@ -110,7 +110,7 @@
CFF_SubFontRec subfont;
- psaux->ps_decoder_init( decoder, TRUE, &psdecoder );
+ psaux->ps_decoder_init( &psdecoder, decoder, TRUE );
psaux->t1_make_subfont( FT_FACE( face ), &face->type1.private_dict, &subfont );
psdecoder.current_subfont = &subfont;