t1load.c File Reference

#include <ft2build.h>
#include "t1load.h"
#include "t1errors.h"
#include "t1tokens.h"

Go to the source code of this file.

Defines

#define FT_COMPONENT   trace_t1load
#define TABLE_EXTEND   5
#define T1_FIELD_COUNT   ( sizeof ( t1_keywords ) / sizeof ( t1_keywords[0] ) )

Functions

static FT_Error t1_allocate_blend (T1_Face face, FT_UInt num_designs, FT_UInt num_axis)
 T1_Get_Multi_Master (T1_Face face, FT_Multi_Master *master)
 mm_axis_unmap (PS_DesignMap axismap, FT_Fixed ncv)
 mm_weights_unmap (FT_Fixed *weights, FT_Fixed *axiscoords, FT_UInt axis_count)
 T1_Get_MM_Var (T1_Face face, FT_MM_Var **master)
 T1_Set_MM_Blend (T1_Face face, FT_UInt num_coords, FT_Fixed *coords)
 T1_Set_MM_Design (T1_Face face, FT_UInt num_coords, FT_Long *coords)
 T1_Set_Var_Design (T1_Face face, FT_UInt num_coords, FT_Fixed *coords)
 T1_Done_Blend (T1_Face face)
static void parse_blend_axis_types (T1_Face face, T1_Loader loader)
static void parse_blend_design_positions (T1_Face face, T1_Loader loader)
static void parse_blend_design_map (T1_Face face, T1_Loader loader)
static void parse_weight_vector (T1_Face face, T1_Loader loader)
static void parse_buildchar (T1_Face face, T1_Loader loader)
static FT_Error t1_load_keyword (T1_Face face, T1_Loader loader, const T1_Field field)
static void parse_private (T1_Face face, T1_Loader loader)
static int read_binary_data (T1_Parser parser, FT_Long *size, FT_Byte **base)
static void parse_font_matrix (T1_Face face, T1_Loader loader)
static void parse_encoding (T1_Face face, T1_Loader loader)
static void parse_subrs (T1_Face face, T1_Loader loader)
static void parse_charstrings (T1_Face face, T1_Loader loader)
static FT_Error parse_dict (T1_Face face, T1_Loader loader, FT_Byte *base, FT_Long size)
static void t1_init_loader (T1_Loader loader, T1_Face face)
static void t1_done_loader (T1_Loader loader)
 T1_Open_Face (T1_Face face)

Variables

static const T1_FieldRec t1_keywords []


Define Documentation

#define FT_COMPONENT   trace_t1load

Definition at line 81 of file t1load.c.

#define T1_FIELD_COUNT   ( sizeof ( t1_keywords ) / sizeof ( t1_keywords[0] ) )

Definition at line 1939 of file t1load.c.

#define TABLE_EXTEND   5

Definition at line 1457 of file t1load.c.

Referenced by parse_charstrings().


Function Documentation

mm_axis_unmap ( PS_DesignMap  axismap,
FT_Fixed  ncv 
)

Definition at line 223 of file t1load.c.

References FT_MulDiv(), INT_TO_FIXED, j, RooFitShortHand::L(), t, and x10000L.

Referenced by T1_Get_MM_Var().

mm_weights_unmap ( FT_Fixed weights,
FT_Fixed axiscoords,
FT_UInt  axis_count 
)

Definition at line 259 of file t1load.c.

References FT_ASSERT, and T1_MAX_MM_AXIS.

Referenced by T1_Get_MM_Var().

static void parse_blend_axis_types ( T1_Face  face,
T1_Loader  loader 
) [static]

Definition at line 565 of file t1load.c.

References PS_BlendRec_::axis_names, error, FT_ALLOC, FT_ERROR, FT_MEM_COPY, if(), len, n, name, t1_allocate_blend(), T1_MAX_MM_AXIS, and T1_ToTokenArray.

static void parse_blend_design_map ( T1_Face  face,
T1_Loader  loader 
) [static]

Definition at line 729 of file t1load.c.

References PS_BlendRec_::design_map, error, for(), FT_ERROR, FT_NEW_ARRAY, n, p, T1_TokenRec_::start, t1_allocate_blend(), T1_MAX_MM_AXIS, T1_MAX_MM_MAP_POINTS, T1_ToFixed, T1_ToInt, and T1_ToTokenArray.

static void parse_blend_design_positions ( T1_Face  face,
T1_Loader  loader 
) [static]

Definition at line 632 of file t1load.c.

References axis, PS_BlendRec_::design_pos, error, FT_ERROR, T1_TokenRec_::limit, n, T1_TokenRec_::start, t1_allocate_blend(), T1_MAX_MM_AXIS, T1_MAX_MM_DESIGNS, T1_ToFixed, and T1_ToTokenArray.

static void parse_buildchar ( T1_Face  face,
T1_Loader  loader 
) [static]

Definition at line 890 of file t1load.c.

References NULL, and T1_ToFixedArray.

static void parse_charstrings ( T1_Face  face,
T1_Loader  loader 
) [static]

Definition at line 1461 of file t1load.c.

References error, FT_ALLOC, FT_FREE, FT_MEM_COPY, ft_strcmp, PS_Table_FuncsRec_::init, IS_PS_DELIM, len, n, PSAux_ServiceRec_::ps_table_funcs, read_binary_data(), size, T1_Add_Table, PSAux_ServiceRec_::t1_decrypt, T1_Skip_PS_Token, T1_Skip_Spaces, T1_ToInt, and TABLE_EXTEND.

static FT_Error parse_dict ( T1_Face  face,
T1_Loader  loader,
FT_Byte base,
FT_Long  size 
) [static]

Definition at line 1944 of file t1load.c.

static void parse_encoding ( T1_Face  face,
T1_Loader  loader 
) [static]

Definition at line 1129 of file t1load.c.

References error, FT_Bool, FT_ERROR, ft_isdigit, FT_NEW_ARRAY, FT_SET_ERROR, ft_strncmp, FT_TRACE6, PS_Table_FuncsRec_::init, IS_PS_DELIM, len, n, PSAux_ServiceRec_::ps_table_funcs, T1_Add_Table, T1_ENCODING_TYPE_ARRAY, T1_ENCODING_TYPE_EXPERT, T1_ENCODING_TYPE_ISOLATIN1, T1_ENCODING_TYPE_STANDARD, T1_Skip_PS_Token, T1_Skip_Spaces, and T1_ToInt.

static void parse_font_matrix ( T1_Face  face,
T1_Loader  loader 
) [static]

Definition at line 1070 of file t1load.c.

References FT_ABS, FT_DivFix(), FT_ERROR, RooFitShortHand::L(), result(), root, T1_ToFixedArray, and x10000L.

static void parse_private ( T1_Face  face,
T1_Loader  loader 
) [static]

Definition at line 1018 of file t1load.c.

References FT_UNUSED, and T1_PRIVATE.

static void parse_subrs ( T1_Face  face,
T1_Loader  loader 
) [static]

Definition at line 1329 of file t1load.c.

References error, FT_ALLOC, FT_FREE, FT_MEM_COPY, ft_strncmp, PS_Table_FuncsRec_::init, PSAux_ServiceRec_::ps_table_funcs, read_binary_data(), size, T1_Add_Table, PSAux_ServiceRec_::t1_decrypt, T1_Skip_PS_Token, T1_Skip_Spaces, and T1_ToInt.

static void parse_weight_vector ( T1_Face  face,
T1_Loader  loader 
) [static]

Definition at line 819 of file t1load.c.

References PS_BlendRec_::default_weight_vector, error, FT_ERROR, T1_TokenRec_::limit, n, PS_BlendRec_::num_designs, T1_TokenRec_::start, t1_allocate_blend(), T1_MAX_MM_DESIGNS, T1_ToFixed, T1_ToTokenArray, and PS_BlendRec_::weight_vector.

static int read_binary_data ( T1_Parser  parser,
FT_Long size,
FT_Byte **  base 
) [static]

Definition at line 1028 of file t1load.c.

References FT_ERROR, ft_isdigit, T1_Skip_PS_Token, T1_Skip_Spaces, and T1_ToInt.

Referenced by parse_charstrings(), and parse_subrs().

static FT_Error t1_allocate_blend ( T1_Face  face,
FT_UInt  num_designs,
FT_UInt  num_axis 
) [static]

Definition at line 96 of file t1load.c.

References PS_BlendRec_::bboxes, PS_BlendRec_::default_weight_vector, PS_BlendRec_::design_pos, error, PS_BlendRec_::font_infos, for(), FT_NEW, FT_NEW_ARRAY, if(), n, PS_BlendRec_::num_axis, PS_BlendRec_::num_designs, PS_BlendRec_::privates, and PS_BlendRec_::weight_vector.

Referenced by parse_blend_axis_types(), parse_blend_design_map(), parse_blend_design_positions(), and parse_weight_vector().

T1_Done_Blend ( T1_Face  face  ) 

Definition at line 511 of file t1load.c.

References PS_BlendRec_::axis_names, PS_BlendRec_::bboxes, PS_BlendRec_::default_weight_vector, PS_BlendRec_::design_map, PS_BlendRec_::design_pos, PS_BlendRec_::font_infos, for(), FT_FREE, n, PS_BlendRec_::num_axis, PS_BlendRec_::num_designs, PS_BlendRec_::privates, and PS_BlendRec_::weight_vector.

Referenced by T1_Face_Done().

static void t1_done_loader ( T1_Loader  loader  )  [static]

Definition at line 2162 of file t1load.c.

T1_Get_MM_Var ( T1_Face  face,
FT_MM_Var **  master 
)

Definition at line 301 of file t1load.c.

References FT_MM_Var_::axis, FT_Multi_Master_::axis, FT_Var_Axis_::def, PS_BlendRec_::default_weight_vector, PS_BlendRec_::design_map, error, for(), FT_ALLOC, FT_MAKE_TAG, ft_strcmp, i, if(), INT_TO_FIXED, FT_Var_Axis_::maximum, FT_Var_Axis_::minimum, mm_axis_unmap(), mm_weights_unmap(), FT_Var_Axis_::name, FT_MM_Var_::namedstyle, NULL, PS_BlendRec_::num_axis, FT_Multi_Master_::num_axis, FT_MM_Var_::num_axis, FT_MM_Var_::num_designs, PS_BlendRec_::num_designs, FT_Multi_Master_::num_designs, FT_MM_Var_::num_namedstyles, sizeof(), FT_Var_Axis_::strid, T1_Get_Multi_Master(), T1_MAX_MM_AXIS, and FT_Var_Axis_::tag.

T1_Get_Multi_Master ( T1_Face  face,
FT_Multi_Master master 
)

Definition at line 184 of file t1load.c.

References axis, PS_BlendRec_::axis_names, PS_BlendRec_::design_map, error, n, PS_BlendRec_::num_axis, and PS_BlendRec_::num_designs.

Referenced by T1_Get_MM_Var().

static void t1_init_loader ( T1_Loader  loader,
T1_Face  face 
) [static]

Definition at line 2141 of file t1load.c.

static FT_Error t1_load_keyword ( T1_Face  face,
T1_Loader  loader,
const T1_Field  field 
) [static]

Definition at line 913 of file t1load.c.

References PS_BlendRec_::bboxes, error, PS_BlendRec_::font_infos, T1_FieldRec_::location, PS_BlendRec_::num_designs, PS_BlendRec_::privates, T1_FieldRec_::reader, T1_FIELD_LOCATION_BBOX, T1_FIELD_LOCATION_BLEND, T1_FIELD_LOCATION_FACE, T1_FIELD_LOCATION_FONT_EXTRA, T1_FIELD_LOCATION_FONT_INFO, T1_FIELD_LOCATION_LOADER, T1_FIELD_LOCATION_PRIVATE, T1_FIELD_TYPE_CALLBACK, T1_FIELD_TYPE_FIXED_ARRAY, T1_FIELD_TYPE_INTEGER_ARRAY, T1_Load_Field, T1_Load_Field_Table, and T1_FieldRec_::type.

T1_Open_Face ( T1_Face  face  ) 

Definition at line 2180 of file t1load.c.

References T1_FontRec_::encoding, ft_strcmp, T1_FontRec_::glyph_names, if(), and T1_FontRec_::num_glyphs.

Referenced by T1_Face_Init().

T1_Set_MM_Blend ( T1_Face  face,
FT_UInt  num_coords,
FT_Fixed coords 
)

Definition at line 366 of file t1load.c.

References error, FT_MulFix(), m, n, PS_BlendRec_::num_axis, PS_BlendRec_::num_designs, result(), PS_BlendRec_::weight_vector, and x10000L.

Referenced by T1_Set_MM_Design().

T1_Set_MM_Design ( T1_Face  face,
FT_UInt  num_coords,
FT_Long coords 
)

Definition at line 413 of file t1load.c.

References PS_DesignMap_::blend_points, PS_BlendRec_::design_map, PS_DesignMap_::design_points, error, FT_MulDiv(), if(), n, PS_BlendRec_::num_axis, PS_DesignMap_::num_points, p, T1_MAX_MM_DESIGNS, and T1_Set_MM_Blend().

Referenced by T1_Set_Var_Design().

T1_Set_Var_Design ( T1_Face  face,
FT_UInt  num_coords,
FT_Fixed coords 
)

Definition at line 489 of file t1load.c.

References error, FIXED_TO_INT, i, and T1_Set_MM_Design().


Variable Documentation

const T1_FieldRec t1_keywords[] [static]

Definition at line 1761 of file t1load.c.


Generated on Tue Jul 5 15:58:26 2011 for ROOT_528-00b_version by  doxygen 1.5.1