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 (PSAux_ServiceRec): Update
`ps_decoder_init' 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 (_sources), src/psaux/rules.mk (PSAUX_DRV_SRC):
Update file references.
This commit is contained in:
Ewald Hew 2017-09-25 08:26:57 +02:00 committed by Werner Lemberg
parent d52dd7f31d
commit ebb1735aa7
13 changed files with 115 additions and 121 deletions

View File

@ -1,3 +1,26 @@
2017-09-25 Ewald Hew <ewaldhew@gmail.com>
[psaux] 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 (PSAux_ServiceRec): Update
`ps_decoder_init' 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 (_sources), src/psaux/rules.mk (PSAUX_DRV_SRC):
Update file references.
2017-09-25 Ewald Hew <ewaldhew@gmail.com>
[psaux] Fix Type 1 hinting.

View File

@ -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,

View File

@ -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,

View File

@ -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;

View File

@ -23,7 +23,6 @@ SubDir FT2_TOP $(FT2_SRC_DIR) psaux ;
t1cmap
t1decode
cffdecode
psdecode
psarrst
psblues
pserror

View File

@ -26,7 +26,6 @@
#include "t1cmap.c"
#include "t1decode.c"
#include "cffdecode.c"
#include "psdecode.c"
#include "psarrst.c"
#include "psblues.c"

View File

@ -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"

View File

@ -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;
}
}

View File

@ -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

View File

@ -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,

View File

@ -284,6 +284,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,

View File

@ -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 \

View File

@ -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;