* src/type1/t1driver.c, src/type1/t1parse.c: 16bit fixes.

formatting, copyright updates
This commit is contained in:
Werner Lemberg 2002-04-01 22:01:46 +00:00
parent 91db04cb9c
commit efa996155e
16 changed files with 203 additions and 193 deletions

View File

@ -1,3 +1,7 @@
2002-04-02 Werner Lemberg <wl@gnu.org>
* src/type1/t1driver.c, src/type1/t1parse.c: 16bit fixes.
2002-04-01 Werner Lemberg <wl@gnu.org> 2002-04-01 Werner Lemberg <wl@gnu.org>
* src/truetype/ttgload.c: 16bit fixes. * src/truetype/ttgload.c: 16bit fixes.

View File

@ -3,7 +3,7 @@
# #
# Copyright 1996-2000 by # Copyright 1996-2000, 2002 by
# David Turner, Robert Wilhelm, and Werner Lemberg. # David Turner, Robert Wilhelm, and Werner Lemberg.
# #
# This file is part of the FreeType project, and may only be used, modified, # This file is part of the FreeType project, and may only be used, modified,

View File

@ -3,7 +3,7 @@
# #
# Copyright 1996-2000 by # Copyright 1996-2000, 2001 by
# David Turner, Robert Wilhelm, and Werner Lemberg. # David Turner, Robert Wilhelm, and Werner Lemberg.
# #
# This file is part of the FreeType project, and may only be used, modified, # This file is part of the FreeType project, and may only be used, modified,

View File

@ -4,7 +4,7 @@
/* */ /* */
/* AFM support for Type 1 fonts (body). */ /* AFM support for Type 1 fonts (body). */
/* */ /* */
/* Copyright 1996-2001 by */ /* Copyright 1996-2001, 2002 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -167,7 +167,7 @@
FT_Byte* p; FT_Byte* p;
FT_Int count = 0; FT_Int count = 0;
T1_Kern_Pair* pair; T1_Kern_Pair* pair;
T1_Font type1 = &((T1_Face)t1_face)->type1; T1_Font type1 = &((T1_Face)t1_face)->type1;
T1_AFM* afm = 0; T1_AFM* afm = 0;

View File

@ -4,7 +4,7 @@
/* */ /* */
/* AFM support for Type 1 fonts (specification). */ /* AFM support for Type 1 fonts (specification). */
/* */ /* */
/* Copyright 1996-2001 by */ /* Copyright 1996-2001, 2002 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View File

@ -4,7 +4,7 @@
/* */ /* */
/* Type 1 driver interface (body). */ /* Type 1 driver interface (body). */
/* */ /* */
/* Copyright 1996-2001 by */ /* Copyright 1996-2001, 2002 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -109,7 +109,7 @@
static const char* static const char*
t1_get_ps_name( T1_Face face ) t1_get_ps_name( T1_Face face )
{ {
return (const char*) face->type1.font_name; return (const char*) face->type1.font_name;
} }
@ -239,6 +239,7 @@
/* */ /* */
/* <Input> */ /* <Input> */
/* charmap :: A handle to the source charmap object. */ /* charmap :: A handle to the source charmap object. */
/* */
/* charcode :: The character code. */ /* charcode :: The character code. */
/* */ /* */
/* <Return> */ /* <Return> */
@ -248,8 +249,8 @@
Get_Char_Index( FT_CharMap charmap, Get_Char_Index( FT_CharMap charmap,
FT_Long charcode ) FT_Long charcode )
{ {
T1_Face face; T1_Face face;
FT_UInt result = 0; FT_UInt result = 0;
PSNames_Service psnames; PSNames_Service psnames;
@ -269,7 +270,7 @@
/* the function returns 0xFFFF if the Unicode charcode has */ /* the function returns 0xFFFF if the Unicode charcode has */
/* no corresponding glyph */ /* no corresponding glyph */
if ( result == 0xFFFF ) if ( result == 0xFFFFU )
result = 0; result = 0;
goto Exit; goto Exit;
@ -286,7 +287,7 @@
/* the function returns 0xFFFF if the Unicode charcode has */ /* the function returns 0xFFFF if the Unicode charcode has */
/* no corresponding glyph */ /* no corresponding glyph */
if ( result == 0xFFFF ) if ( result == 0xFFFFU )
result = 0; result = 0;
} }
goto Exit; goto Exit;
@ -355,6 +356,7 @@
/* */ /* */
/* <Input> */ /* <Input> */
/* charmap :: A handle to the source charmap object. */ /* charmap :: A handle to the source charmap object. */
/* */
/* charcode :: The character code. */ /* charcode :: The character code. */
/* */ /* */
/* <Return> */ /* <Return> */
@ -364,7 +366,7 @@
Get_Next_Char( FT_CharMap charmap, Get_Next_Char( FT_CharMap charmap,
FT_Long charcode ) FT_Long charcode )
{ {
T1_Face face; T1_Face face;
PSNames_Service psnames; PSNames_Service psnames;
@ -389,7 +391,7 @@
/* */ /* */
case ft_encoding_latin_1: case ft_encoding_latin_1:
{ {
FT_Long code; FT_Long code;
/* use the `PSNames' module to synthetize the Unicode charmap */ /* use the `PSNames' module to synthetize the Unicode charmap */
@ -481,28 +483,28 @@
sizeof( T1_SizeRec ), sizeof( T1_SizeRec ),
sizeof( T1_GlyphSlotRec ), sizeof( T1_GlyphSlotRec ),
(FT_Face_InitFunc) T1_Face_Init, (FT_Face_InitFunc) T1_Face_Init,
(FT_Face_DoneFunc) T1_Face_Done, (FT_Face_DoneFunc) T1_Face_Done,
(FT_Size_InitFunc) T1_Size_Init, (FT_Size_InitFunc) T1_Size_Init,
(FT_Size_DoneFunc) T1_Size_Done, (FT_Size_DoneFunc) T1_Size_Done,
(FT_Slot_InitFunc)T1_GlyphSlot_Init, (FT_Slot_InitFunc) T1_GlyphSlot_Init,
(FT_Slot_DoneFunc)T1_GlyphSlot_Done, (FT_Slot_DoneFunc) T1_GlyphSlot_Done,
(FT_Size_ResetPointsFunc) T1_Size_Reset, (FT_Size_ResetPointsFunc) T1_Size_Reset,
(FT_Size_ResetPixelsFunc)T1_Size_Reset, (FT_Size_ResetPixelsFunc) T1_Size_Reset,
(FT_Slot_LoadFunc) T1_Load_Glyph, (FT_Slot_LoadFunc) T1_Load_Glyph,
(FT_CharMap_CharIndexFunc) Get_Char_Index, (FT_CharMap_CharIndexFunc)Get_Char_Index,
#ifdef T1_CONFIG_OPTION_NO_AFM #ifdef T1_CONFIG_OPTION_NO_AFM
(FT_Face_GetKerningFunc) 0, (FT_Face_GetKerningFunc) 0,
(FT_Face_AttachFunc) 0, (FT_Face_AttachFunc) 0,
#else #else
(FT_Face_GetKerningFunc) Get_Kerning, (FT_Face_GetKerningFunc) Get_Kerning,
(FT_Face_AttachFunc) T1_Read_AFM, (FT_Face_AttachFunc) T1_Read_AFM,
#endif #endif
(FT_Face_GetAdvancesFunc) 0, (FT_Face_GetAdvancesFunc) 0,
(FT_CharMap_CharNextFunc) Get_Next_Char (FT_CharMap_CharNextFunc) Get_Next_Char
}; };

View File

@ -4,7 +4,7 @@
/* */ /* */
/* High-level Type 1 driver interface (specification). */ /* High-level Type 1 driver interface (specification). */
/* */ /* */
/* Copyright 1996-2001 by */ /* Copyright 1996-2001, 2002 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View File

@ -4,7 +4,7 @@
/* */ /* */
/* Type 1 Glyph Loader (body). */ /* Type 1 Glyph Loader (body). */
/* */ /* */
/* Copyright 1996-2001 by */ /* Copyright 1996-2001, 2002 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -57,9 +57,9 @@
FT_CALLBACK_DEF( FT_Error ) FT_CALLBACK_DEF( FT_Error )
T1_Parse_Glyph( T1_Decoder decoder, T1_Parse_Glyph( T1_Decoder decoder,
FT_UInt glyph_index ) FT_UInt glyph_index )
{ {
T1_Face face = (T1_Face)decoder->builder.face; T1_Face face = (T1_Face)decoder->builder.face;
T1_Font type1 = &face->type1; T1_Font type1 = &face->type1;
@ -77,10 +77,10 @@
T1_Compute_Max_Advance( T1_Face face, T1_Compute_Max_Advance( T1_Face face,
FT_Int* max_advance ) FT_Int* max_advance )
{ {
FT_Error error; FT_Error error;
T1_DecoderRec decoder; T1_DecoderRec decoder;
FT_Int glyph_index; FT_Int glyph_index;
T1_Font type1 = &face->type1; T1_Font type1 = &face->type1;
PSAux_Service psaux = (PSAux_Service)face->psaux; PSAux_Service psaux = (PSAux_Service)face->psaux;
@ -146,13 +146,14 @@
T1_DecoderRec decoder; T1_DecoderRec decoder;
T1_Face face = (T1_Face)glyph->root.face; T1_Face face = (T1_Face)glyph->root.face;
FT_Bool hinting; FT_Bool hinting;
T1_Font type1 = &face->type1; T1_Font type1 = &face->type1;
PSAux_Service psaux = (PSAux_Service)face->psaux; PSAux_Service psaux = (PSAux_Service)face->psaux;
const T1_Decoder_Funcs decoder_funcs = psaux->t1_decoder_funcs; const T1_Decoder_Funcs decoder_funcs = psaux->t1_decoder_funcs;
FT_Matrix font_matrix; FT_Matrix font_matrix;
FT_Vector font_offset; FT_Vector font_offset;
if ( load_flags & FT_LOAD_NO_RECURSE ) if ( load_flags & FT_LOAD_NO_RECURSE )
load_flags |= FT_LOAD_NO_SCALE | FT_LOAD_NO_HINTING; load_flags |= FT_LOAD_NO_SCALE | FT_LOAD_NO_HINTING;

View File

@ -4,7 +4,7 @@
/* */ /* */
/* Type 1 Glyph Loader (specification). */ /* Type 1 Glyph Loader (specification). */
/* */ /* */
/* Copyright 1996-2001 by */ /* Copyright 1996-2001, 2002 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View File

@ -4,7 +4,7 @@
/* */ /* */
/* Type 1 font loader (body). */ /* Type 1 font loader (body). */
/* */ /* */
/* Copyright 1996-2001 by */ /* Copyright 1996-2001, 2002 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -101,7 +101,7 @@
FT_UInt num_designs, FT_UInt num_designs,
FT_UInt num_axis ) FT_UInt num_axis )
{ {
PS_Blend blend; PS_Blend blend;
FT_Memory memory = face->root.memory; FT_Memory memory = face->root.memory;
FT_Error error = 0; FT_Error error = 0;
@ -184,8 +184,8 @@
FT_Multi_Master* master ) FT_Multi_Master* master )
{ {
PS_Blend blend = face->blend; PS_Blend blend = face->blend;
FT_UInt n; FT_UInt n;
FT_Error error; FT_Error error;
error = T1_Err_Invalid_Argument; error = T1_Err_Invalid_Argument;
@ -217,8 +217,8 @@
FT_Fixed* coords ) FT_Fixed* coords )
{ {
PS_Blend blend = face->blend; PS_Blend blend = face->blend;
FT_Error error; FT_Error error;
FT_UInt n, m; FT_UInt n, m;
error = T1_Err_Invalid_Argument; error = T1_Err_Invalid_Argument;
@ -263,8 +263,8 @@
FT_Long* coords ) FT_Long* coords )
{ {
PS_Blend blend = face->blend; PS_Blend blend = face->blend;
FT_Error error; FT_Error error;
FT_UInt n, p; FT_UInt n, p;
error = T1_Err_Invalid_Argument; error = T1_Err_Invalid_Argument;
@ -276,12 +276,13 @@
for ( n = 0; n < blend->num_axis; n++ ) for ( n = 0; n < blend->num_axis; n++ )
{ {
FT_Long design = coords[n]; FT_Long design = coords[n];
FT_Fixed the_blend; FT_Fixed the_blend;
PS_DesignMap map = blend->design_map + n; PS_DesignMap map = blend->design_map + n;
FT_Fixed* designs = map->design_points; FT_Fixed* designs = map->design_points;
FT_Fixed* blends = map->blend_points; FT_Fixed* blends = map->blend_points;
FT_Int before = -1, after = -1; FT_Int before = -1, after = -1;
for ( p = 0; p < (FT_UInt)map->num_points; p++ ) for ( p = 0; p < (FT_UInt)map->num_points; p++ )
{ {
@ -331,7 +332,7 @@
T1_Done_Blend( T1_Face face ) T1_Done_Blend( T1_Face face )
{ {
FT_Memory memory = face->root.memory; FT_Memory memory = face->root.memory;
PS_Blend blend = face->blend; PS_Blend blend = face->blend;
if ( blend ) if ( blend )
@ -383,11 +384,11 @@
parse_blend_axis_types( T1_Face face, parse_blend_axis_types( T1_Face face,
T1_Loader* loader ) T1_Loader* loader )
{ {
T1_TokenRec axis_tokens[ T1_MAX_MM_AXIS ]; T1_TokenRec axis_tokens[ T1_MAX_MM_AXIS ];
FT_Int n, num_axis; FT_Int n, num_axis;
FT_Error error = 0; FT_Error error = 0;
PS_Blend blend; PS_Blend blend;
FT_Memory memory; FT_Memory memory;
/* take an array of objects */ /* take an array of objects */
@ -413,11 +414,12 @@
for ( n = 0; n < num_axis; n++ ) for ( n = 0; n < num_axis; n++ )
{ {
T1_Token token = axis_tokens + n; T1_Token token = axis_tokens + n;
FT_Byte* name; FT_Byte* name;
FT_Int len; FT_Int len;
/* skip first slash, if any */ /* skip first slash, if any */
if (token->start[0] == '/') if ( token->start[0] == '/' )
token->start++; token->start++;
len = (FT_Int)( token->limit - token->start ); len = (FT_Int)( token->limit - token->start );
@ -444,13 +446,13 @@
parse_blend_design_positions( T1_Face face, parse_blend_design_positions( T1_Face face,
T1_Loader* loader ) T1_Loader* loader )
{ {
T1_TokenRec design_tokens[ T1_MAX_MM_DESIGNS ]; T1_TokenRec design_tokens[ T1_MAX_MM_DESIGNS ];
FT_Int num_designs; FT_Int num_designs;
FT_Int num_axis; FT_Int num_axis;
T1_Parser parser = &loader->parser; T1_Parser parser = &loader->parser;
FT_Error error = 0; FT_Error error = 0;
PS_Blend blend; PS_Blend blend;
/* get the array of design tokens - compute number of designs */ /* get the array of design tokens - compute number of designs */
@ -475,9 +477,9 @@
for ( n = 0; n < (FT_UInt)num_designs; n++ ) for ( n = 0; n < (FT_UInt)num_designs; n++ )
{ {
T1_TokenRec axis_tokens[ T1_MAX_MM_DESIGNS ]; T1_TokenRec axis_tokens[ T1_MAX_MM_DESIGNS ];
T1_Token token; T1_Token token;
FT_Int axis, n_axis; FT_Int axis, n_axis;
/* read axis/coordinates tokens */ /* read axis/coordinates tokens */
@ -526,14 +528,14 @@
parse_blend_design_map( T1_Face face, parse_blend_design_map( T1_Face face,
T1_Loader* loader ) T1_Loader* loader )
{ {
FT_Error error = 0; FT_Error error = 0;
T1_Parser parser = &loader->parser; T1_Parser parser = &loader->parser;
PS_Blend blend; PS_Blend blend;
T1_TokenRec axis_tokens[ T1_MAX_MM_AXIS ]; T1_TokenRec axis_tokens[T1_MAX_MM_AXIS];
FT_Int n, num_axis; FT_Int n, num_axis;
FT_Byte* old_cursor; FT_Byte* old_cursor;
FT_Byte* old_limit; FT_Byte* old_limit;
FT_Memory memory = face->root.memory; FT_Memory memory = face->root.memory;
T1_ToTokenArray( parser, axis_tokens, T1_MAX_MM_AXIS, &num_axis ); T1_ToTokenArray( parser, axis_tokens, T1_MAX_MM_AXIS, &num_axis );
@ -555,8 +557,8 @@
/* now, read each axis design map */ /* now, read each axis design map */
for ( n = 0; n < num_axis; n++ ) for ( n = 0; n < num_axis; n++ )
{ {
PS_DesignMap map = blend->design_map + n; PS_DesignMap map = blend->design_map + n;
T1_Token token; T1_Token token;
FT_Int p, num_points; FT_Int p, num_points;
@ -607,13 +609,13 @@
parse_weight_vector( T1_Face face, parse_weight_vector( T1_Face face,
T1_Loader* loader ) T1_Loader* loader )
{ {
FT_Error error = 0; FT_Error error = 0;
T1_Parser parser = &loader->parser; T1_Parser parser = &loader->parser;
PS_Blend blend = face->blend; PS_Blend blend = face->blend;
T1_TokenRec master; T1_TokenRec master;
FT_UInt n; FT_UInt n;
FT_Byte* old_cursor; FT_Byte* old_cursor;
FT_Byte* old_limit; FT_Byte* old_limit;
if ( !blend || blend->num_designs == 0 ) if ( !blend || blend->num_designs == 0 )
@ -683,7 +685,7 @@
/*************************************************************************/ /*************************************************************************/
/* */ /* */
/* First of all, define the token field static variables. This is a set */ /* First of all, define the token field static variables. This is a set */
/* of T1_FieldRec variables used later. */ /* of T1_FieldRec variables used later. */
/* */ /* */
/*************************************************************************/ /*************************************************************************/
@ -691,13 +693,13 @@
static FT_Error static FT_Error
t1_load_keyword( T1_Face face, t1_load_keyword( T1_Face face,
T1_Loader* loader, T1_Loader* loader,
T1_Field field ) T1_Field field )
{ {
FT_Error error; FT_Error error;
void* dummy_object; void* dummy_object;
void** objects; void** objects;
FT_UInt max_objects; FT_UInt max_objects;
PS_Blend blend = face->blend; PS_Blend blend = face->blend;
/* if the keyword has a dedicated callback, call it */ /* if the keyword has a dedicated callback, call it */
@ -774,8 +776,8 @@
static int static int
read_binary_data( T1_Parser parser, read_binary_data( T1_Parser parser,
FT_Int* size, FT_Int* size,
FT_Byte** base ) FT_Byte** base )
{ {
FT_Byte* cur; FT_Byte* cur;
FT_Byte* limit = parser->root.limit; FT_Byte* limit = parser->root.limit;
@ -819,12 +821,12 @@
T1_Loader* loader ) T1_Loader* loader )
{ {
T1_Parser parser = &loader->parser; T1_Parser parser = &loader->parser;
FT_Error error; FT_Error error;
FT_Memory memory = parser->root.memory; FT_Memory memory = parser->root.memory;
FT_Int len; FT_Int len;
FT_Byte* cur; FT_Byte* cur;
FT_Byte* cur2; FT_Byte* cur2;
FT_Byte* limit; FT_Byte* limit;
if ( face->type1.font_name ) if ( face->type1.font_name )
@ -865,8 +867,8 @@
T1_Loader* loader ) T1_Loader* loader )
{ {
T1_Parser parser = &loader->parser; T1_Parser parser = &loader->parser;
FT_Fixed temp[4]; FT_Fixed temp[4];
FT_BBox* bbox = &face->type1.font_bbox; FT_BBox* bbox = &face->type1.font_bbox;
(void)T1_ToFixedArray( parser, 4, temp, 0 ); (void)T1_ToFixedArray( parser, 4, temp, 0 );
@ -881,12 +883,12 @@
parse_font_matrix( T1_Face face, parse_font_matrix( T1_Face face,
T1_Loader* loader ) T1_Loader* loader )
{ {
T1_Parser parser = &loader->parser; T1_Parser parser = &loader->parser;
FT_Matrix* matrix = &face->type1.font_matrix; FT_Matrix* matrix = &face->type1.font_matrix;
FT_Vector* offset = &face->type1.font_offset; FT_Vector* offset = &face->type1.font_offset;
FT_Face root = (FT_Face)&face->root; FT_Face root = (FT_Face)&face->root;
FT_Fixed temp[6]; FT_Fixed temp[6];
FT_Fixed temp_scale; FT_Fixed temp_scale;
if ( matrix->xx || matrix->yx ) if ( matrix->xx || matrix->yx )
@ -930,11 +932,11 @@
parse_encoding( T1_Face face, parse_encoding( T1_Face face,
T1_Loader* loader ) T1_Loader* loader )
{ {
T1_Parser parser = &loader->parser; T1_Parser parser = &loader->parser;
FT_Byte* cur = parser->root.cursor; FT_Byte* cur = parser->root.cursor;
FT_Byte* limit = parser->root.limit; FT_Byte* limit = parser->root.limit;
PSAux_Service psaux = (PSAux_Service)face->psaux; PSAux_Service psaux = (PSAux_Service)face->psaux;
/* skip whitespace */ /* skip whitespace */
@ -954,10 +956,10 @@
if ( (FT_Byte)( *cur - '0' ) < 10 ) if ( (FT_Byte)( *cur - '0' ) < 10 )
{ {
T1_Encoding encode = &face->type1.encoding; T1_Encoding encode = &face->type1.encoding;
FT_Int count, n; FT_Int count, n;
PS_Table char_table = &loader->encoding_table; PS_Table char_table = &loader->encoding_table;
FT_Memory memory = parser->root.memory; FT_Memory memory = parser->root.memory;
FT_Error error; FT_Error error;
if ( encode->char_index ) if ( encode->char_index )
@ -1104,7 +1106,7 @@
FT_Error error; FT_Error error;
FT_Int n; FT_Int n;
PSAux_Service psaux = (PSAux_Service)face->psaux; PSAux_Service psaux = (PSAux_Service)face->psaux;
if ( loader->num_subrs ) if ( loader->num_subrs )
@ -1129,7 +1131,6 @@
/* */ /* */
/* `index' + binary data */ /* `index' + binary data */
/* */ /* */
for ( n = 0; n < loader->num_subrs; n++ ) for ( n = 0; n < loader->num_subrs; n++ )
{ {
FT_Int idx, size; FT_Int idx, size;
@ -1196,20 +1197,20 @@
parse_charstrings( T1_Face face, parse_charstrings( T1_Face face,
T1_Loader* loader ) T1_Loader* loader )
{ {
T1_Parser parser = &loader->parser; T1_Parser parser = &loader->parser;
PS_Table code_table = &loader->charstrings; PS_Table code_table = &loader->charstrings;
PS_Table name_table = &loader->glyph_names; PS_Table name_table = &loader->glyph_names;
PS_Table swap_table = &loader->swap_table; PS_Table swap_table = &loader->swap_table;
FT_Memory memory = parser->root.memory; FT_Memory memory = parser->root.memory;
FT_Error error; FT_Error error;
PSAux_Service psaux = (PSAux_Service)face->psaux; PSAux_Service psaux = (PSAux_Service)face->psaux;
FT_Byte* cur; FT_Byte* cur;
FT_Byte* limit = parser->root.limit; FT_Byte* limit = parser->root.limit;
FT_Int n; FT_Int n;
FT_UInt notdef_index = 0; FT_UInt notdef_index = 0;
FT_Byte notdef_found = 0; FT_Byte notdef_found = 0;
if ( loader->num_glyphs ) if ( loader->num_glyphs )
@ -1400,11 +1401,10 @@
} }
else if ( !notdef_found ) else if ( !notdef_found )
{ {
/* notdef_index is already 0, or /.notdef is undefined in */
/* notdef_index is already 0, or /.notdef is undefined in */ /* charstrings dictionary. Worry about /.notdef undefined. */
/* charstrings dictionary. Worry about /.notdef undefined. */ /* We take index 0 and add it to the end of the table(s) */
/* We take index 0 and add it to the end of the table(s) */ /* and add our own /.notdef glyph to index 0. */
/* and add our own /.notdef glyph to index 0. */
/* 0 333 hsbw endchar */ /* 0 333 hsbw endchar */
FT_Byte notdef_glyph[] = {0x8B, 0xF7, 0xE1, 0x0D, 0x0E}; FT_Byte notdef_glyph[] = {0x8B, 0xF7, 0xE1, 0x0D, 0x0E};
@ -1639,10 +1639,10 @@
FT_LOCAL_DEF( FT_Error ) FT_LOCAL_DEF( FT_Error )
T1_Open_Face( T1_Face face ) T1_Open_Face( T1_Face face )
{ {
T1_Loader loader; T1_Loader loader;
T1_Parser parser; T1_Parser parser;
T1_Font type1 = &face->type1; T1_Font type1 = &face->type1;
FT_Error error; FT_Error error;
PSAux_Service psaux = (PSAux_Service)face->psaux; PSAux_Service psaux = (PSAux_Service)face->psaux;
@ -1653,10 +1653,10 @@
type1->private_dict.lenIV = 4; type1->private_dict.lenIV = 4;
parser = &loader.parser; parser = &loader.parser;
error = T1_New_Parser( parser, error = T1_New_Parser( parser,
face->root.stream, face->root.stream,
face->root.memory, face->root.memory,
psaux ); psaux );
if ( error ) if ( error )
goto Exit; goto Exit;

View File

@ -4,7 +4,7 @@
/* */ /* */
/* Type 1 font loader (specification). */ /* Type 1 font loader (specification). */
/* */ /* */
/* Copyright 1996-2001 by */ /* Copyright 1996-2001, 2002 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View File

@ -4,7 +4,7 @@
/* */ /* */
/* Type 1 objects manager (body). */ /* Type 1 objects manager (body). */
/* */ /* */
/* Copyright 1996-2001 by */ /* Copyright 1996-2001, 2002 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -141,7 +141,7 @@
FT_LOCAL_DEF( FT_Error ) FT_LOCAL_DEF( FT_Error )
T1_GlyphSlot_Init( T1_GlyphSlot slot ) T1_GlyphSlot_Init( T1_GlyphSlot slot )
{ {
T1_Face face; T1_Face face;
PSHinter_Service pshinter; PSHinter_Service pshinter;
@ -190,7 +190,7 @@
T1_Face_Done( T1_Face face ) T1_Face_Done( T1_Face face )
{ {
FT_Memory memory; FT_Memory memory;
T1_Font type1 = &face->type1; T1_Font type1 = &face->type1;
if ( face ) if ( face )
@ -205,7 +205,7 @@
/* release font info strings */ /* release font info strings */
{ {
PS_FontInfo info = &type1->font_info; PS_FontInfo info = &type1->font_info;
FT_FREE( info->version ); FT_FREE( info->version );
@ -351,6 +351,7 @@
char* full = face->type1.font_info.full_name; char* full = face->type1.font_info.full_name;
char* family = root->family_name; char* family = root->family_name;
if ( full ) if ( full )
{ {
while ( *family && *full == *family ) while ( *family && *full == *family )
@ -390,10 +391,10 @@
root->num_fixed_sizes = 0; root->num_fixed_sizes = 0;
root->available_sizes = 0; root->available_sizes = 0;
root->bbox.xMin = face->type1.font_bbox.xMin >> 16; root->bbox.xMin = face->type1.font_bbox.xMin >> 16;
root->bbox.yMin = face->type1.font_bbox.yMin >> 16; root->bbox.yMin = face->type1.font_bbox.yMin >> 16;
root->bbox.xMax = (face->type1.font_bbox.xMax + 0xFFFFU) >> 16; root->bbox.xMax = ( face->type1.font_bbox.xMax + 0xFFFFU ) >> 16;
root->bbox.yMax = (face->type1.font_bbox.yMax + 0xFFFFU) >> 16; root->bbox.yMax = ( face->type1.font_bbox.yMax + 0xFFFFU ) >> 16;
/* Set units_per_EM if we didn't set it in parse_font_matrix. */ /* Set units_per_EM if we didn't set it in parse_font_matrix. */
if ( !root->units_per_EM ) if ( !root->units_per_EM )
@ -432,14 +433,16 @@
#ifdef FT_CONFIG_OPTION_USE_CMAPS #ifdef FT_CONFIG_OPTION_USE_CMAPS
{ {
FT_Face root = &face->root; FT_Face root = &face->root;
if ( psnames && psaux ) if ( psnames && psaux )
{ {
FT_CharMapRec charmap; FT_CharMapRec charmap;
T1_CMap_Classes cmap_classes = psaux->t1_cmap_classes; T1_CMap_Classes cmap_classes = psaux->t1_cmap_classes;
FT_CMap_Class clazz; FT_CMap_Class clazz;
charmap.face = root; charmap.face = root;
/* first of all, try to synthetize a Unicode charmap */ /* first of all, try to synthetize a Unicode charmap */
@ -455,32 +458,32 @@
switch ( face->type1.encoding_type ) switch ( face->type1.encoding_type )
{ {
case T1_ENCODING_TYPE_STANDARD: case T1_ENCODING_TYPE_STANDARD:
charmap.encoding = ft_encoding_adobe_standard; charmap.encoding = ft_encoding_adobe_standard;
charmap.encoding_id = 0; charmap.encoding_id = 0;
clazz = cmap_classes->standard; clazz = cmap_classes->standard;
break; break;
case T1_ENCODING_TYPE_EXPORT: case T1_ENCODING_TYPE_EXPORT:
charmap.encoding = ft_encoding_adobe_expert; charmap.encoding = ft_encoding_adobe_expert;
charmap.encoding_id = 1; charmap.encoding_id = 1;
clazz = cmap_classes->expert; clazz = cmap_classes->expert;
break; break;
case T1_ENCODING_TYPE_ARRAY: case T1_ENCODING_TYPE_ARRAY:
charmap.encoding = ft_encoding_adobe_custom; charmap.encoding = ft_encoding_adobe_custom;
charmap.encoding_id = 2; charmap.encoding_id = 2;
clazz = cmap_classes->custom; clazz = cmap_classes->custom;
break; break;
case T1_ENCODING_TYPE_ISOLATIN1: case T1_ENCODING_TYPE_ISOLATIN1:
charmap.encoding = ft_encoding_latin_1; charmap.encoding = ft_encoding_latin_1;
charmap.encoding_id = 3; charmap.encoding_id = 3;
clazz = cmap_classes->unicode; clazz = cmap_classes->unicode;
break; break;
default: default:
; ;
} }
if ( clazz ) if ( clazz )
@ -600,7 +603,7 @@
/* Finalizes a given Type 1 driver. */ /* Finalizes a given Type 1 driver. */
/* */ /* */
/* <Input> */ /* <Input> */
/* driver :: A handle to the target Type 1 driver. */ /* driver :: A handle to the target Type 1 driver. */
/* */ /* */
FT_LOCAL_DEF( void ) FT_LOCAL_DEF( void )
T1_Driver_Done( T1_Driver driver ) T1_Driver_Done( T1_Driver driver )

View File

@ -4,7 +4,7 @@
/* */ /* */
/* Type 1 objects manager (specification). */ /* Type 1 objects manager (specification). */
/* */ /* */
/* Copyright 1996-2001 by */ /* Copyright 1996-2001, 2002 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */

View File

@ -4,7 +4,7 @@
/* */ /* */
/* Type 1 parser (body). */ /* Type 1 parser (body). */
/* */ /* */
/* Copyright 1996-2001 by */ /* Copyright 1996-2001, 2002 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -108,7 +108,7 @@
*size = 0; *size = 0;
if ( !FT_STREAM_READ_FIELDS( pfb_tag_fields, &head ) ) if ( !FT_STREAM_READ_FIELDS( pfb_tag_fields, &head ) )
{ {
if ( head.tag == 0x8001 || head.tag == 0x8002 ) if ( head.tag == 0x8001U || head.tag == 0x8002U )
{ {
*tag = head.tag; *tag = head.tag;
*size = head.size; *size = head.size;
@ -165,7 +165,7 @@
if ( error ) if ( error )
goto Exit; goto Exit;
if ( tag != 0x8001 ) if ( tag != 0x8001U )
{ {
/* assume that this is a PFA file for now; an error will */ /* assume that this is a PFA file for now; an error will */
/* be produced later when more things are checked */ /* be produced later when more things are checked */
@ -230,7 +230,7 @@
FT_LOCAL_DEF( void ) FT_LOCAL_DEF( void )
T1_Finalize_Parser( T1_Parser parser ) T1_Finalize_Parser( T1_Parser parser )
{ {
FT_Memory memory = parser->root.memory; FT_Memory memory = parser->root.memory;
/* always free the private dictionary */ /* always free the private dictionary */
@ -294,7 +294,7 @@
if ( error ) if ( error )
goto Fail; goto Fail;
if ( tag != 0x8002 ) if ( tag != 0x8002U )
break; break;
parser->private_len += size; parser->private_len += size;
@ -321,7 +321,7 @@
for (;;) for (;;)
{ {
error = read_pfb_tag( stream, &tag, &size ); error = read_pfb_tag( stream, &tag, &size );
if ( error || tag != 0x8002 ) if ( error || tag != 0x8002U )
{ {
error = T1_Err_Ok; error = T1_Err_Ok;
break; break;

View File

@ -4,7 +4,7 @@
/* */ /* */
/* Type 1 parser (specification). */ /* Type 1 parser (specification). */
/* */ /* */
/* Copyright 1996-2001 by */ /* Copyright 1996-2001, 2002 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -97,19 +97,19 @@ FT_BEGIN_HEADER
#define T1_ToInt( p ) (p)->root.funcs.to_int( &(p)->root ) #define T1_ToInt( p ) (p)->root.funcs.to_int( &(p)->root )
#define T1_ToFixed( p, t ) (p)->root.funcs.to_fixed( &(p)->root, t ) #define T1_ToFixed( p, t ) (p)->root.funcs.to_fixed( &(p)->root, t )
#define T1_ToCoordArray( p, m, c ) \ #define T1_ToCoordArray( p, m, c ) \
(p)->root.funcs.to_coord_array( &(p)->root, m, c ) (p)->root.funcs.to_coord_array( &(p)->root, m, c )
#define T1_ToFixedArray( p, m, f, t ) \ #define T1_ToFixedArray( p, m, f, t ) \
(p)->root.funcs.to_fixed_array( &(p)->root, m, f, t ) (p)->root.funcs.to_fixed_array( &(p)->root, m, f, t )
#define T1_ToToken( p, t ) \ #define T1_ToToken( p, t ) \
(p)->root.funcs.to_token( &(p)->root, t ) (p)->root.funcs.to_token( &(p)->root, t )
#define T1_ToTokenArray( p, t, m, c ) \ #define T1_ToTokenArray( p, t, m, c ) \
(p)->root.funcs.to_token_array( &(p)->root, t, m, c ) (p)->root.funcs.to_token_array( &(p)->root, t, m, c )
#define T1_Load_Field( p, f, o, m, pf ) \ #define T1_Load_Field( p, f, o, m, pf ) \
(p)->root.funcs.load_field( &(p)->root, f, o, m, pf ) (p)->root.funcs.load_field( &(p)->root, f, o, m, pf )
#define T1_Load_Field_Table( p, f, o, m, pf ) \ #define T1_Load_Field_Table( p, f, o, m, pf ) \
(p)->root.funcs.load_field_table( &(p)->root, f, o, m, pf ) (p)->root.funcs.load_field_table( &(p)->root, f, o, m, pf )

View File

@ -4,7 +4,7 @@
/* */ /* */
/* Type 1 tokenizer (specification). */ /* Type 1 tokenizer (specification). */
/* */ /* */
/* Copyright 1996-2001 by */ /* Copyright 1996-2001, 2002 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
@ -21,16 +21,16 @@
#undef T1CODE #undef T1CODE
#define T1CODE T1_FIELD_LOCATION_FONT_INFO #define T1CODE T1_FIELD_LOCATION_FONT_INFO
T1_FIELD_STRING( "version", version ) T1_FIELD_STRING ( "version", version )
T1_FIELD_STRING( "Notice", notice ) T1_FIELD_STRING ( "Notice", notice )
T1_FIELD_STRING( "FullName", full_name ) T1_FIELD_STRING ( "FullName", full_name )
T1_FIELD_STRING( "FamilyName", family_name ) T1_FIELD_STRING ( "FamilyName", family_name )
T1_FIELD_STRING( "Weight", weight ) T1_FIELD_STRING ( "Weight", weight )
T1_FIELD_NUM ( "ItalicAngle", italic_angle ) T1_FIELD_NUM ( "ItalicAngle", italic_angle )
T1_FIELD_TYPE_BOOL ( "isFixedPitch", is_fixed_pitch ) T1_FIELD_TYPE_BOOL( "isFixedPitch", is_fixed_pitch )
T1_FIELD_NUM ( "UnderlinePosition", underline_position ) T1_FIELD_NUM ( "UnderlinePosition", underline_position )
T1_FIELD_NUM ( "UnderlineThickness", underline_thickness ) T1_FIELD_NUM ( "UnderlineThickness", underline_thickness )
#undef FT_STRUCTURE #undef FT_STRUCTURE