diff --git a/ChangeLog b/ChangeLog index 9b4146ae5..3382006a3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,16 +1,36 @@ 2002-03-30 David Turner - * src/sfnt/sfobjs.c (tt_face_get_name): bug-fix + * include/freetype/internal/tttypes.h: Adding comments to some of + the TT_FaceRec fields. - * include/freetype/internal/tttypes.h: adding comments to some of - the TT_FaceRec fields. + * src/sfnt/ttcmap0.c (TT_Build_CMaps): Removed compiler warnings. - * src/sfnt/ttcmap0.c (TT_Build_CMaps): removed compiler warnings + * src/sfnt/sfobjs.c (tt_face_get_name): Bug-fix. 2002-03-30 Werner Lemberg * include/freetype/t1tables.h (t1_blend_max): Fix typo. * src/base/ftstream.c: Simplify FT_ERROR calls. + * src/cff/cffdrivr.c (cff_get_glyph_name): Fix debug message. + + * src/cff/cffobjs.c (CFF_Driver_Init, CFF_Driver_Done) + [TT_CONFIG_OPTION_EXTEND_ENGINE]: Removed. + * src/cff/sfobjs.c (SFNT_Load_Face) + [TT_CONFIG_OPTION_EXTEND_ENGINE]: Ditto. + * src/truetype/ttobjs.c (TT_Init_Driver, TT_Done_Driver) + [TT_CONFIG_OPTION_EXTEND_ENGINE]: Ditto. + + * src/truetype/ttdriver.c, src/truetype/ttobjs.c, + src/truetype/ttobjs.h: Renaming driver functions to the + FT__ scheme: + + TT_Init_Driver => TT_Driver_Init + TT_Done_Driver => TT_Driver_Done + TT_Init_Face => TT_Face_Init + TT_Done_Face => TT_Face_Done + TT_Init_Size => TT_Size_Init + TT_Done_Size => TT_Size_Done + TT_Reset_Size => TT_Size_Reset 2002-03-29 Werner Lemberg @@ -103,6 +123,11 @@ Also introduced the FT_PEEK_XXXX functions. + * src/cff/cffobjs.c (CFF_Build_Unicode_Charmap): Removed commented + out function. + (find_encoding): Removed. + (CFF_Face_Init): Remove charmap support. + * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_USE_CMAPS, TT_CONFIG_CMAP_FORMAT{0,2,4,6,8,10,12}): New macros to fine-tune support of cmaps. diff --git a/src/cache/descrip.mms b/src/cache/descrip.mms index b3db22c4e..ea12f2e37 100644 --- a/src/cache/descrip.mms +++ b/src/cache/descrip.mms @@ -3,7 +3,7 @@ # -# Copyright 2001 by +# Copyright 2001, 2002 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/src/cache/ftccache.c b/src/cache/ftccache.c index 09e6cd2e5..e55dcb7ba 100644 --- a/src/cache/ftccache.c +++ b/src/cache/ftccache.c @@ -4,7 +4,7 @@ /* */ /* The FreeType internal cache interface (body). */ /* */ -/* Copyright 2000-2001 by */ +/* Copyright 2000-2001, 2002 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ diff --git a/src/cache/ftccmap.c b/src/cache/ftccmap.c index 9219f6459..7dfabc2ad 100644 --- a/src/cache/ftccmap.c +++ b/src/cache/ftccmap.c @@ -4,7 +4,7 @@ /* */ /* FreeType CharMap cache (body) */ /* */ -/* Copyright 2000-2001 by */ +/* Copyright 2000-2001, 2002 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ diff --git a/src/cache/ftcmanag.c b/src/cache/ftcmanag.c index 14c9df159..271154003 100644 --- a/src/cache/ftcmanag.c +++ b/src/cache/ftcmanag.c @@ -4,7 +4,7 @@ /* */ /* FreeType Cache Manager (body). */ /* */ -/* Copyright 2000-2001 by */ +/* Copyright 2000-2001, 2002 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ diff --git a/src/cache/ftcsbits.c b/src/cache/ftcsbits.c index 4b7525148..5d18ee18a 100644 --- a/src/cache/ftcsbits.c +++ b/src/cache/ftcsbits.c @@ -4,7 +4,7 @@ /* */ /* FreeType sbits manager (body). */ /* */ -/* Copyright 2000-2001 by */ +/* Copyright 2000-2001, 2002 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ diff --git a/src/cache/ftlru.c b/src/cache/ftlru.c index e91fbdaba..4a6f60355 100644 --- a/src/cache/ftlru.c +++ b/src/cache/ftlru.c @@ -4,7 +4,7 @@ /* */ /* Simple LRU list-cache (body). */ /* */ -/* Copyright 2000-2001 by */ +/* Copyright 2000-2001, 2002 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ diff --git a/src/cache/rules.mk b/src/cache/rules.mk index fb6a177a9..a74e7800a 100644 --- a/src/cache/rules.mk +++ b/src/cache/rules.mk @@ -3,7 +3,7 @@ # -# Copyright 2000 by +# Copyright 2000, 2001 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/src/cff/cffdrivr.c b/src/cff/cffdrivr.c index fb150d117..14aa24592 100644 --- a/src/cff/cffdrivr.c +++ b/src/cff/cffdrivr.c @@ -4,7 +4,7 @@ /* */ /* OpenType font driver implementation (body). */ /* */ -/* Copyright 1996-2001 by */ +/* Copyright 1996-2001, 2002 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -228,21 +228,22 @@ FT_Pointer buffer, FT_UInt buffer_max ) { - CFF_Font font = (CFF_Font)face->extra.data; - FT_Memory memory = FT_FACE_MEMORY( face ); - FT_String* gname; - FT_UShort sid; + CFF_Font font = (CFF_Font)face->extra.data; + FT_Memory memory = FT_FACE_MEMORY( face ); + FT_String* gname; + FT_UShort sid; PSNames_Service psnames; - FT_Error error; + FT_Error error; + psnames = (PSNames_Service)FT_Get_Module_Interface( face->root.driver->root.library, "psnames" ); if ( !psnames ) { - FT_ERROR(( "CFF_Init_Face:" )); + FT_ERROR(( "cff_get_glyph_name:" )); FT_ERROR(( " cannot open CFF & CEF fonts\n" )); - FT_ERROR(( " " )); + FT_ERROR(( " " )); FT_ERROR(( " without the `PSNames' module\n" )); error = CFF_Err_Unknown_File_Format; goto Exit; @@ -293,9 +294,9 @@ cff_get_char_index( TT_CharMap charmap, FT_Long charcode ) { - FT_Error error; - CFF_Face face; - TT_CMapTable cmap; + FT_Error error; + CFF_Face face; + TT_CMapTable cmap; cmap = &charmap->cmap; @@ -337,9 +338,9 @@ cff_get_next_char( TT_CharMap charmap, FT_Long charcode ) { - FT_Error error; - CFF_Face face; - TT_CMapTable cmap; + FT_Error error; + CFF_Face face; + TT_CMapTable cmap; cmap = &charmap->cmap; @@ -358,7 +359,8 @@ cmap->loaded = TRUE; } - return ( cmap->get_next_char ? cmap->get_next_char( cmap, charcode ) : 0 ); + return ( cmap->get_next_char ? cmap->get_next_char( cmap, charcode ) + : 0 ); } @@ -383,8 +385,8 @@ cff_get_name_index( CFF_Face face, FT_String* glyph_name ) { - CFF_Font cff; - CFF_Charset charset; + CFF_Font cff; + CFF_Charset charset; PSNames_Service psnames; FT_Memory memory = FT_FACE_MEMORY( face ); FT_String* name; @@ -406,7 +408,7 @@ if ( sid > 390 ) name = CFF_Get_Name( &cff->string_index, sid - 391 ); else - name = (FT_String *) psnames->adobe_std_strings( sid ); + name = (FT_String *)psnames->adobe_std_strings( sid ); result = strcmp( glyph_name, name ); @@ -439,6 +441,7 @@ { FT_Module sfnt; + #ifndef FT_CONFIG_OPTION_NO_GLYPH_NAMES if ( strcmp( (const char*)interface, "glyph_name" ) == 0 ) @@ -484,24 +487,24 @@ sizeof( FT_SizeRec ), sizeof( CFF_GlyphSlotRec ), - (FT_Face_InitFunc) CFF_Face_Init, - (FT_Face_DoneFunc) CFF_Face_Done, - (FT_Size_InitFunc) CFF_Size_Init, - (FT_Size_DoneFunc) CFF_Size_Done, - (FT_Slot_InitFunc)CFF_GlyphSlot_Init, - (FT_Slot_DoneFunc)CFF_GlyphSlot_Done, + (FT_Face_InitFunc) CFF_Face_Init, + (FT_Face_DoneFunc) CFF_Face_Done, + (FT_Size_InitFunc) CFF_Size_Init, + (FT_Size_DoneFunc) CFF_Size_Done, + (FT_Slot_InitFunc) CFF_GlyphSlot_Init, + (FT_Slot_DoneFunc) CFF_GlyphSlot_Done, (FT_Size_ResetPointsFunc) CFF_Size_Reset, - (FT_Size_ResetPixelsFunc)CFF_Size_Reset, + (FT_Size_ResetPixelsFunc) CFF_Size_Reset, - (FT_Slot_LoadFunc) Load_Glyph, - (FT_CharMap_CharIndexFunc) cff_get_char_index, + (FT_Slot_LoadFunc) Load_Glyph, + (FT_CharMap_CharIndexFunc)cff_get_char_index, - (FT_Face_GetKerningFunc) Get_Kerning, - (FT_Face_AttachFunc) 0, - (FT_Face_GetAdvancesFunc) 0, + (FT_Face_GetKerningFunc) Get_Kerning, + (FT_Face_AttachFunc) 0, + (FT_Face_GetAdvancesFunc) 0, - (FT_CharMap_CharNextFunc) cff_get_next_char + (FT_CharMap_CharNextFunc) cff_get_next_char }; diff --git a/src/cff/cffdrivr.h b/src/cff/cffdrivr.h index 1272796c8..553848c0a 100644 --- a/src/cff/cffdrivr.h +++ b/src/cff/cffdrivr.h @@ -4,7 +4,7 @@ /* */ /* High-level OpenType driver interface (specification). */ /* */ -/* Copyright 1996-2001 by */ +/* Copyright 1996-2001, 2002 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ diff --git a/src/cff/cffgload.c b/src/cff/cffgload.c index 7ffc99afd..73266546f 100644 --- a/src/cff/cffgload.c +++ b/src/cff/cffgload.c @@ -4,7 +4,7 @@ /* */ /* OpenType Glyph Loader (body). */ /* */ -/* Copyright 1996-2001 by */ +/* Copyright 1996-2001, 2002 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -426,6 +426,7 @@ builder->last = *point; } + outline->n_points++; } @@ -492,6 +493,7 @@ if ( !error ) error = add_point1( builder, x, y ); } + return error; } @@ -502,6 +504,7 @@ { FT_Outline* outline = builder->current; + /* XXXX: We must not include the last point in the path if it */ /* is located on the first point. */ if ( outline->n_points > 1 ) @@ -518,8 +521,8 @@ p1 = outline->points + first; } - /* `delete' last point only if it coincides with the first */ - /* point and it is not a control point (which can happen). */ + /* `delete' last point only if it coincides with the first */ + /* point and if it is not a control point (which can happen). */ if ( p1->x == p2->x && p1->y == p2->y ) if ( *control == FT_Curve_Tag_On ) outline->n_points--; @@ -533,7 +536,7 @@ static FT_Int cff_lookup_glyph_by_stdcharcode( CFF_Font cff, - FT_Int charcode ) + FT_Int charcode ) { FT_UInt n; FT_UShort glyph_sid; @@ -567,7 +570,7 @@ FT_Int bchar_index, achar_index, n_base_points; FT_Outline* base = decoder->builder.base; TT_Face face = decoder->builder.face; - CFF_Font cff = (CFF_Font)(face->extra.data); + CFF_Font cff = (CFF_Font)(face->extra.data); FT_Vector left_bearing, advance; FT_Byte* charstring; FT_ULong charstring_len; @@ -587,8 +590,8 @@ /* accent character and return the array of subglyphs. */ if ( decoder->builder.no_recurse ) { - FT_GlyphSlot glyph = (FT_GlyphSlot)decoder->builder.glyph; - FT_GlyphLoader loader = glyph->internal->loader; + FT_GlyphSlot glyph = (FT_GlyphSlot)decoder->builder.glyph; + FT_GlyphLoader loader = glyph->internal->loader; FT_SubGlyph subg; @@ -1124,15 +1127,13 @@ { FT_UInt maskbyte; + FT_TRACE4(( " " )); for ( maskbyte = 0; maskbyte < (FT_UInt)(( decoder->num_hints + 7 ) >> 3); maskbyte++, ip++ ) - { FT_TRACE4(( "%02X", *ip )); - } - } #else ip += ( decoder->num_hints + 7 ) >> 3; @@ -2115,7 +2116,7 @@ FT_Error error = 0; CFF_Decoder decoder; FT_Int glyph_index; - CFF_Font cff = (CFF_Font)face->other; + CFF_Font cff = (CFF_Font)face->other; *max_advance = 0; @@ -2185,7 +2186,7 @@ CFF_Decoder decoder; TT_Face face = (TT_Face)glyph->root.face; FT_Bool hinting; - CFF_Font cff = (CFF_Font)face->extra.data; + CFF_Font cff = (CFF_Font)face->extra.data; FT_Matrix font_matrix; FT_Vector font_offset; @@ -2329,8 +2330,8 @@ if ( hinting ) { - metrics->horiAdvance = ( metrics->horiAdvance + 32 ) & -64; - metrics->vertAdvance = ( metrics->vertAdvance + 32 ) & -64; + metrics->horiAdvance = ( metrics->horiAdvance + 32 ) & -64; + metrics->vertAdvance = ( metrics->vertAdvance + 32 ) & -64; metrics->vertBearingX = ( metrics->vertBearingX + 32 ) & -64; metrics->vertBearingY = ( metrics->vertBearingY + 32 ) & -64; diff --git a/src/cff/cffgload.h b/src/cff/cffgload.h index 7b2233043..b749d1d97 100644 --- a/src/cff/cffgload.h +++ b/src/cff/cffgload.h @@ -4,7 +4,7 @@ /* */ /* OpenType Glyph Loader (specification). */ /* */ -/* Copyright 1996-2001 by */ +/* Copyright 1996-2001, 2002 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -41,79 +41,81 @@ FT_BEGIN_HEADER /* A structure used during glyph loading to store its outline. */ /* */ /* */ - /* memory :: The current memory object. */ + /* memory :: The current memory object. */ /* */ - /* face :: The current face object. */ + /* face :: The current face object. */ /* */ - /* glyph :: The current glyph slot. */ + /* glyph :: The current glyph slot. */ /* */ - /* current :: The current glyph outline. */ + /* loader :: The current glyph loader. */ /* */ - /* base :: The base glyph outline. */ + /* base :: The base glyph outline. */ /* */ - /* max_points :: maximum points in builder outline */ + /* current :: The current glyph outline. */ /* */ - /* max_contours :: Maximal number of contours in builder outline. */ + /* last :: The last point position. */ /* */ - /* last :: The last point position. */ + /* scale_x :: The horizontal scale (FUnits to sub-pixels). */ /* */ - /* scale_x :: The horizontal scale (FUnits to sub-pixels). */ + /* scale_y :: The vertical scale (FUnits to sub-pixels). */ /* */ - /* scale_y :: The vertical scale (FUnits to sub-pixels). */ + /* pos_x :: The horizontal translation (if composite glyph). */ /* */ - /* pos_x :: The horizontal translation (if composite glyph). */ + /* pos_y :: The vertical translation (if composite glyph). */ /* */ - /* pos_y :: The vertical translation (if composite glyph). */ + /* left_bearing :: The left side bearing point. */ /* */ - /* left_bearing :: The left side bearing point. */ + /* advance :: The horizontal advance vector. */ /* */ - /* advance :: The horizontal advance vector. */ + /* bbox :: Unused. */ /* */ - /* bbox :: Unused. */ + /* path_begun :: A flag which indicates that a new path has begun. */ /* */ - /* path_begun :: A flag which indicates that a new path has begun. */ + /* load_points :: If this flag is not set, no points are loaded. */ /* */ - /* load_points :: If this flag is not set, no points are loaded. */ + /* no_recurse :: Set but not used. */ /* */ - /* no_recurse :: Set but not used. */ + /* error :: An error code that is only used to report memory */ + /* allocation problems. */ /* */ - /* error :: An error code that is only used to report memory */ - /* allocation problems. */ + /* metrics_only :: A boolean indicating that we only want to compute */ + /* the metrics of a given glyph, not load all of its */ + /* points. */ /* */ - /* metrics_only :: A boolean indicating that we only want to compute */ - /* the metrics of a given glyph, not load all of its */ - /* points. */ + /* hints_funcs :: Auxiliary pointer for hinting. */ + /* */ + /* hints_globals :: Auxiliary pointer for hinting. */ /* */ typedef struct CFF_Builder_ { - FT_Memory memory; - TT_Face face; - CFF_GlyphSlot glyph; - FT_GlyphLoader loader; - FT_Outline* base; - FT_Outline* current; + FT_Memory memory; + TT_Face face; + CFF_GlyphSlot glyph; + FT_GlyphLoader loader; + FT_Outline* base; + FT_Outline* current; - FT_Vector last; + FT_Vector last; - FT_Fixed scale_x; - FT_Fixed scale_y; + FT_Fixed scale_x; + FT_Fixed scale_y; - FT_Pos pos_x; - FT_Pos pos_y; + FT_Pos pos_x; + FT_Pos pos_y; - FT_Vector left_bearing; - FT_Vector advance; + FT_Vector left_bearing; + FT_Vector advance; - FT_BBox bbox; /* bounding box */ - FT_Bool path_begun; - FT_Bool load_points; - FT_Bool no_recurse; + FT_BBox bbox; /* bounding box */ + FT_Bool path_begun; + FT_Bool load_points; + FT_Bool no_recurse; - FT_Error error; /* only used for memory errors */ - FT_Bool metrics_only; + FT_Error error; /* only used for memory errors */ + FT_Bool metrics_only; - void* hints_funcs; /* hinter-specific */ - void* hints_globals; /* hinter-specific */ + void* hints_funcs; /* hinter-specific */ + void* hints_globals; /* hinter-specific */ } CFF_Builder; @@ -132,7 +134,7 @@ FT_BEGIN_HEADER typedef struct CFF_Decoder_ { CFF_Builder builder; - CFF_Font cff; + CFF_Font cff; FT_Fixed stack[CFF_MAX_OPERANDS + 1]; FT_Fixed* top; diff --git a/src/cff/cffload.c b/src/cff/cffload.c index d4b334274..1e0078929 100644 --- a/src/cff/cffload.c +++ b/src/cff/cffload.c @@ -4,7 +4,7 @@ /* */ /* OpenType and CFF data/program tables loader (body). */ /* */ -/* Copyright 1996-2001 by */ +/* Copyright 1996-2001, 2002 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -1358,7 +1358,7 @@ static void CFF_Done_FD_Select( CFF_FDSelect select, - FT_Stream stream ) + FT_Stream stream ) { if ( select->data ) FT_FRAME_RELEASE( select->data ); @@ -1371,9 +1371,9 @@ static FT_Error CFF_Load_FD_Select( CFF_FDSelect select, - FT_UInt num_glyphs, - FT_Stream stream, - FT_ULong offset ) + FT_UInt num_glyphs, + FT_Stream stream, + FT_ULong offset ) { FT_Error error; FT_Byte format; @@ -1415,7 +1415,7 @@ FT_LOCAL_DEF( FT_Byte ) CFF_Get_FD( CFF_FDSelect select, - FT_UInt glyph_index ) + FT_UInt glyph_index ) { FT_Byte fd = 0; @@ -1485,7 +1485,7 @@ static void CFF_Done_Encoding( CFF_Encoding encoding, - FT_Stream stream ) + FT_Stream stream ) { FT_Memory memory = stream->memory; @@ -1501,7 +1501,7 @@ static void CFF_Done_Charset( CFF_Charset charset, - FT_Stream stream ) + FT_Stream stream ) { FT_Memory memory = stream->memory; @@ -1529,7 +1529,7 @@ /* Get the format of the table. */ if ( FT_STREAM_SEEK( charset->offset ) || - FT_READ_BYTE( charset->format ) ) + FT_READ_BYTE( charset->format ) ) goto Exit; /* If the the offset is greater than 2, we have to parse the */ @@ -1627,7 +1627,7 @@ /* Copy the predefined charset into the allocated memory. */ FT_MEM_COPY( charset->sids, cff_isoadobe_charset, - num_glyphs * sizeof ( FT_UShort ) ); + num_glyphs * sizeof ( FT_UShort ) ); break; @@ -1646,7 +1646,7 @@ /* Copy the predefined charset into the allocated memory. */ FT_MEM_COPY( charset->sids, cff_expert_charset, - num_glyphs * sizeof ( FT_UShort ) ); + num_glyphs * sizeof ( FT_UShort ) ); break; @@ -1665,7 +1665,7 @@ /* Copy the predefined charset into the allocated memory. */ FT_MEM_COPY( charset->sids, cff_expertsubset_charset, - num_glyphs * sizeof ( FT_UShort ) ); + num_glyphs * sizeof ( FT_UShort ) ); break; @@ -1695,10 +1695,10 @@ static FT_Error CFF_Load_Encoding( CFF_Encoding encoding, CFF_Charset charset, - FT_UInt num_glyphs, - FT_Stream stream, - FT_ULong base_offset, - FT_ULong offset ) + FT_UInt num_glyphs, + FT_Stream stream, + FT_ULong base_offset, + FT_ULong offset ) { FT_Memory memory = stream->memory; FT_Error error = 0; @@ -1747,8 +1747,8 @@ /* we need to parse the table to determine its size */ if ( FT_STREAM_SEEK( encoding->offset ) || - FT_READ_BYTE( encoding->format ) || - FT_READ_BYTE( count ) ) + FT_READ_BYTE( encoding->format ) || + FT_READ_BYTE( count ) ) goto Exit; switch ( encoding->format & 0x7F ) @@ -1867,7 +1867,7 @@ case 0: /* First, copy the code to SID mapping. */ FT_MEM_COPY( encoding->sids, cff_standard_encoding, - 256 * sizeof ( FT_UShort ) ); + 256 * sizeof ( FT_UShort ) ); /* Construct code to GID mapping from code */ /* to SID mapping and charset. */ @@ -1898,7 +1898,7 @@ case 1: /* First, copy the code to SID mapping. */ FT_MEM_COPY( encoding->sids, cff_expert_encoding, - 256 * sizeof ( FT_UShort ) ); + 256 * sizeof ( FT_UShort ) ); /* Construct code to GID mapping from code to SID mapping */ /* and charset. */ @@ -1958,17 +1958,17 @@ static FT_Error CFF_Load_SubFont( CFF_SubFont font, - CFF_Index idx, - FT_UInt font_index, - FT_Stream stream, - FT_ULong base_offset ) + CFF_Index idx, + FT_UInt font_index, + FT_Stream stream, + FT_ULong base_offset ) { - FT_Error error; - CFF_ParserRec parser; - FT_Byte* dict; - FT_ULong dict_len; + FT_Error error; + CFF_ParserRec parser; + FT_Byte* dict; + FT_ULong dict_len; CFF_FontRecDict top = &font->font_dict; - CFF_Private priv = &font->private_dict; + CFF_Private priv = &font->private_dict; CFF_Parser_Init( &parser, CFF_CODE_TOPDICT, &font->font_dict ); @@ -2010,7 +2010,7 @@ CFF_Parser_Init( &parser, CFF_CODE_PRIVATE, priv ); if ( FT_STREAM_SEEK( base_offset + font->font_dict.private_offset ) || - FT_FRAME_ENTER( font->font_dict.private_size ) ) + FT_FRAME_ENTER( font->font_dict.private_size ) ) goto Exit; error = CFF_Parser_Run( &parser, @@ -2025,7 +2025,7 @@ if ( priv->local_subrs_offset ) { if ( FT_STREAM_SEEK( base_offset + top->private_offset + - priv->local_subrs_offset ) ) + priv->local_subrs_offset ) ) goto Exit; error = cff_new_index( &font->local_subrs_index, stream, 1 ); @@ -2045,7 +2045,7 @@ static void - CFF_Done_SubFont( FT_Memory memory, + CFF_Done_SubFont( FT_Memory memory, CFF_SubFont subfont ) { if ( subfont ) @@ -2059,7 +2059,7 @@ FT_LOCAL_DEF( FT_Error ) CFF_Load_Font( FT_Stream stream, FT_Int face_index, - CFF_Font font ) + CFF_Font font ) { static const FT_Frame_Field cff_header_fields[] = { @@ -2074,9 +2074,9 @@ FT_FRAME_END }; - FT_Error error; - FT_Memory memory = stream->memory; - FT_ULong base_offset; + FT_Error error; + FT_Memory memory = stream->memory; + FT_ULong base_offset; CFF_FontRecDict dict; @@ -2138,7 +2138,7 @@ if ( dict->cid_registry ) { CFF_IndexRec fd_index; - CFF_SubFont sub; + CFF_SubFont sub; FT_UInt idx; diff --git a/src/cff/cffload.h b/src/cff/cffload.h index 1a37c16fc..9511838e6 100644 --- a/src/cff/cffload.h +++ b/src/cff/cffload.h @@ -4,7 +4,7 @@ /* */ /* OpenType & CFF data/program tables loader (specification). */ /* */ -/* Copyright 1996-2001 by */ +/* Copyright 1996-2001, 2002 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -33,29 +33,29 @@ FT_BEGIN_HEADER FT_LOCAL( FT_String* ) CFF_Get_Name( CFF_Index index, - FT_UInt element ); + FT_UInt element ); FT_LOCAL( FT_String* ) - CFF_Get_String( CFF_Index index, - FT_UInt sid, + CFF_Get_String( CFF_Index index, + FT_UInt sid, PSNames_Service interface ); FT_LOCAL( FT_Error ) CFF_Access_Element( CFF_Index index, - FT_UInt element, - FT_Byte** pbytes, - FT_ULong* pbyte_len ); + FT_UInt element, + FT_Byte** pbytes, + FT_ULong* pbyte_len ); FT_LOCAL( void ) CFF_Forget_Element( CFF_Index index, - FT_Byte** pbytes ); + FT_Byte** pbytes ); FT_LOCAL( FT_Error ) CFF_Load_Font( FT_Stream stream, FT_Int face_index, - CFF_Font font ); + CFF_Font font ); FT_LOCAL( void ) CFF_Done_Font( CFF_Font font ); @@ -63,7 +63,7 @@ FT_BEGIN_HEADER FT_LOCAL( FT_Byte ) CFF_Get_FD( CFF_FDSelect select, - FT_UInt glyph_index ); + FT_UInt glyph_index ); FT_END_HEADER diff --git a/src/cff/cffobjs.c b/src/cff/cffobjs.c index 067c43d5c..b724bad54 100644 --- a/src/cff/cffobjs.c +++ b/src/cff/cffobjs.c @@ -4,7 +4,7 @@ /* */ /* OpenType objects manager (body). */ /* */ -/* Copyright 1996-2001 by */ +/* Copyright 1996-2001, 2002 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -44,8 +44,6 @@ #define FT_COMPONENT trace_cffobjs - - /*************************************************************************/ /* */ /* SIZE FUNCTIONS */ @@ -60,7 +58,7 @@ CFF_Size_Get_Globals_Funcs( CFF_Size size ) { CFF_Face face = (CFF_Face)size->face; - CFF_Font font = (CFF_FontRec *)face->extra.data; + CFF_Font font = (CFF_FontRec *)face->extra.data; PSHinter_Service pshinter = (PSHinter_Service)font->pshinter; FT_Module module; @@ -101,10 +99,10 @@ { PSH_Globals globals; CFF_Face face = (CFF_Face)size->face; - CFF_Font font = (CFF_FontRec *)face->extra.data; - CFF_SubFont subfont = &font->top_font; + CFF_Font font = (CFF_FontRec *)face->extra.data; + CFF_SubFont subfont = &font->top_font; - CFF_Private cpriv = &subfont->private_dict; + CFF_Private cpriv = &subfont->private_dict; PS_PrivateRec priv; @@ -196,7 +194,7 @@ CFF_GlyphSlot_Init( CFF_GlyphSlot slot ) { CFF_Face face = (CFF_Face)slot->root.face; - CFF_Font font = (CFF_FontRec *)face->extra.data; + CFF_Font font = (CFF_FontRec *)face->extra.data; PSHinter_Service pshinter = (PSHinter_Service)font->pshinter; @@ -256,12 +254,12 @@ FT_Int num_params, FT_Parameter* params ) { - FT_Error error; + FT_Error error; SFNT_Service sfnt; PSNames_Service psnames; PSHinter_Service pshinter; - FT_Bool pure_cff = 1; - FT_Bool sfnt_format = 0; + FT_Bool pure_cff = 1; + FT_Bool sfnt_format = 0; sfnt = (SFNT_Service)FT_Get_Module_Interface( @@ -335,7 +333,7 @@ /* now load and parse the CFF table in the file */ { - CFF_Font cff; + CFF_Font cff; FT_Memory memory = face->root.memory; FT_Face root; FT_UInt flags; @@ -367,7 +365,7 @@ { FT_ERROR(( "CFF_Face_Init:" )); FT_ERROR(( " cannot open CFF & CEF fonts\n" )); - FT_ERROR(( " " )); + FT_ERROR(( " " )); FT_ERROR(( " without the `PSNames' module\n" )); goto Bad_Format; } @@ -449,7 +447,7 @@ root->style_flags = flags; - /* XXX: no charmaps for pure CFF fonts for now !! */ + /* XXX: no charmaps for pure CFF fonts currently! */ } } @@ -465,7 +463,7 @@ FT_LOCAL_DEF( void ) CFF_Face_Done( CFF_Face face ) { - FT_Memory memory = face->root.memory; + FT_Memory memory = face->root.memory; SFNT_Service sfnt = (SFNT_Service)face->sfnt; @@ -488,36 +486,16 @@ FT_LOCAL_DEF( FT_Error ) CFF_Driver_Init( CFF_Driver driver ) { - /* init extension registry if needed */ - -#ifdef TT_CONFIG_OPTION_EXTEND_ENGINE - - return TT_Init_Extensions( driver ); - -#else - FT_UNUSED( driver ); return CFF_Err_Ok; - -#endif } FT_LOCAL_DEF( void ) CFF_Driver_Done( CFF_Driver driver ) { - /* destroy extensions registry if needed */ - -#ifdef TT_CONFIG_OPTION_EXTEND_ENGINE - - TT_Done_Extensions( driver ); - -#else - FT_UNUSED( driver ); - -#endif } diff --git a/src/cff/cffobjs.h b/src/cff/cffobjs.h index 4918b6bbc..6610952e7 100644 --- a/src/cff/cffobjs.h +++ b/src/cff/cffobjs.h @@ -4,7 +4,7 @@ /* */ /* OpenType objects manager (specification). */ /* */ -/* Copyright 1996-2001 by */ +/* Copyright 1996-2001, 2002 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -124,6 +124,7 @@ FT_BEGIN_HEADER FT_LOCAL( FT_Error ) CFF_GlyphSlot_Init( CFF_GlyphSlot slot ); + /*************************************************************************/ /* */ /* Face functions */ diff --git a/src/cff/cffparse.c b/src/cff/cffparse.c index 4c1888384..8f3502028 100644 --- a/src/cff/cffparse.c +++ b/src/cff/cffparse.c @@ -4,7 +4,7 @@ /* */ /* CFF token stream parser (body) */ /* */ -/* Copyright 1996-2001 by */ +/* Copyright 1996-2001, 2002 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -48,7 +48,7 @@ /* now generate handlers for the most simple fields */ - typedef FT_Error (*CFF_Field_Reader)( CFF_Parser parser ); + typedef FT_Error (*CFF_Field_Reader)( CFF_Parser parser ); typedef struct CFF_Field_Handler_ { @@ -64,9 +64,9 @@ FT_LOCAL_DEF( void ) - CFF_Parser_Init( CFF_Parser parser, - FT_UInt code, - void* object ) + CFF_Parser_Init( CFF_Parser parser, + FT_UInt code, + void* object ) { FT_MEM_SET( parser, 0, sizeof ( *parser ) ); @@ -311,15 +311,15 @@ } static FT_Error - cff_parse_font_matrix( CFF_Parser parser ) + cff_parse_font_matrix( CFF_Parser parser ) { CFF_FontRecDict dict = (CFF_FontRecDict)parser->object; - FT_Matrix* matrix = &dict->font_matrix; - FT_Vector* offset = &dict->font_offset; - FT_UShort* upm = &dict->units_per_em; - FT_Byte** data = parser->stack; - FT_Error error; - FT_Fixed temp; + FT_Matrix* matrix = &dict->font_matrix; + FT_Vector* offset = &dict->font_offset; + FT_UShort* upm = &dict->units_per_em; + FT_Byte** data = parser->stack; + FT_Error error; + FT_Fixed temp; error = CFF_Err_Stack_Underflow; @@ -359,12 +359,12 @@ static FT_Error - cff_parse_font_bbox( CFF_Parser parser ) + cff_parse_font_bbox( CFF_Parser parser ) { CFF_FontRecDict dict = (CFF_FontRecDict)parser->object; - FT_BBox* bbox = &dict->font_bbox; - FT_Byte** data = parser->stack; - FT_Error error; + FT_BBox* bbox = &dict->font_bbox; + FT_Byte** data = parser->stack; + FT_Error error; error = CFF_Err_Stack_Underflow; @@ -383,11 +383,11 @@ static FT_Error - cff_parse_private_dict( CFF_Parser parser ) + cff_parse_private_dict( CFF_Parser parser ) { CFF_FontRecDict dict = (CFF_FontRecDict)parser->object; - FT_Byte** data = parser->stack; - FT_Error error; + FT_Byte** data = parser->stack; + FT_Error error; error = CFF_Err_Stack_Underflow; @@ -404,11 +404,11 @@ static FT_Error - cff_parse_cid_ros( CFF_Parser parser ) + cff_parse_cid_ros( CFF_Parser parser ) { CFF_FontRecDict dict = (CFF_FontRecDict)parser->object; - FT_Byte** data = parser->stack; - FT_Error error; + FT_Byte** data = parser->stack; + FT_Error error; error = CFF_Err_Stack_Underflow; @@ -480,9 +480,9 @@ FT_LOCAL_DEF( FT_Error ) - CFF_Parser_Run( CFF_Parser parser, - FT_Byte* start, - FT_Byte* limit ) + CFF_Parser_Run( CFF_Parser parser, + FT_Byte* start, + FT_Byte* limit ) { FT_Byte* p = start; FT_Error error = CFF_Err_Ok; diff --git a/src/cff/cffparse.h b/src/cff/cffparse.h index 045fa25cc..f2a935cb0 100644 --- a/src/cff/cffparse.h +++ b/src/cff/cffparse.h @@ -4,7 +4,7 @@ /* */ /* CFF token stream parser (specification) */ /* */ -/* Copyright 1996-2001 by */ +/* Copyright 1996-2001, 2002 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -50,14 +50,14 @@ FT_BEGIN_HEADER FT_LOCAL( void ) - CFF_Parser_Init( CFF_Parser parser, - FT_UInt code, - void* object ); + CFF_Parser_Init( CFF_Parser parser, + FT_UInt code, + void* object ); FT_LOCAL( FT_Error ) - CFF_Parser_Run( CFF_Parser parser, - FT_Byte* start, - FT_Byte* limit ); + CFF_Parser_Run( CFF_Parser parser, + FT_Byte* start, + FT_Byte* limit ); FT_END_HEADER diff --git a/src/cff/cfftoken.h b/src/cff/cfftoken.h index 431ae123e..2cbb837b4 100644 --- a/src/cff/cfftoken.h +++ b/src/cff/cfftoken.h @@ -2,9 +2,9 @@ /* */ /* cfftoken.h */ /* */ -/* CFF token definitions */ +/* CFF token definitions (specification only). */ /* */ -/* Copyright 1996-2001 by */ +/* Copyright 1996-2001, 2002 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -20,7 +20,7 @@ #define FT_STRUCTURE CFF_FontRecDictRec #undef CFFCODE -#define CFFCODE CFFCODE_TOPDICT +#define CFFCODE CFFCODE_TOPDICT CFF_FIELD_STRING ( 0, version ) CFF_FIELD_STRING ( 1, notice ) diff --git a/src/cff/descrip.mms b/src/cff/descrip.mms index e3816fe15..2401f2ee2 100644 --- a/src/cff/descrip.mms +++ b/src/cff/descrip.mms @@ -3,7 +3,7 @@ # -# Copyright 2001 by +# Copyright 2001, 2002 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/src/cff/rules.mk b/src/cff/rules.mk index 73fea4d95..6f0b9e4e7 100644 --- a/src/cff/rules.mk +++ b/src/cff/rules.mk @@ -3,7 +3,7 @@ # -# Copyright 1996-2000 by +# Copyright 1996-2000, 2001 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/src/sfnt/sfobjs.c b/src/sfnt/sfobjs.c index 21d4d71b0..a1c208fab 100644 --- a/src/sfnt/sfobjs.c +++ b/src/sfnt/sfobjs.c @@ -478,11 +478,6 @@ LOAD_( pclt ) ) goto Exit; -#ifdef TT_CONFIG_OPTION_EXTEND_ENGINE - if ( ( error = TT_Extension_Create( face ) ) != SFNT_Err_Ok ) - goto Exit; -#endif - face->root.family_name = tt_face_get_name( face, TT_NAME_ID_FONT_FAMILY ); face->root.style_name = tt_face_get_name( face, TT_NAME_ID_FONT_SUBFAMILY ); diff --git a/src/truetype/ttdriver.c b/src/truetype/ttdriver.c index d54c57aea..0902be391 100644 --- a/src/truetype/ttdriver.c +++ b/src/truetype/ttdriver.c @@ -222,7 +222,7 @@ size->strike_index = 0xFFFF; #endif - return TT_Reset_Size( size ); + return TT_Size_Reset( size ); } @@ -261,7 +261,7 @@ size->strike_index = 0xFFFF; #endif - return TT_Reset_Size( size ); + return TT_Size_Reset( size ); } @@ -319,7 +319,7 @@ if ( !size->ttmetrics.valid ) { - if ( FT_SET_ERROR( TT_Reset_Size( size ) ) ) + if ( FT_SET_ERROR( TT_Size_Reset( size ) ) ) return error; } } @@ -496,8 +496,8 @@ (void*)0, /* driver specific interface */ - (FT_Module_Constructor)TT_Init_Driver, - (FT_Module_Destructor) TT_Done_Driver, + (FT_Module_Constructor)TT_Driver_Init, + (FT_Module_Destructor) TT_Driver_Done, (FT_Module_Requester) tt_get_interface, }, @@ -506,10 +506,10 @@ sizeof ( FT_GlyphSlotRec ), - (FT_Face_InitFunc) TT_Init_Face, - (FT_Face_DoneFunc) TT_Done_Face, - (FT_Size_InitFunc) TT_Init_Size, - (FT_Size_DoneFunc) TT_Done_Size, + (FT_Face_InitFunc) TT_Face_Init, + (FT_Face_DoneFunc) TT_Face_Done, + (FT_Size_InitFunc) TT_Size_Init, + (FT_Size_DoneFunc) TT_Size_Done, (FT_Slot_InitFunc)0, (FT_Slot_DoneFunc)0, diff --git a/src/truetype/ttobjs.c b/src/truetype/ttobjs.c index 6da86e1ef..4fbac7253 100644 --- a/src/truetype/ttobjs.c +++ b/src/truetype/ttobjs.c @@ -133,7 +133,7 @@ /*************************************************************************/ /* */ /* */ - /* TT_Init_Face */ + /* TT_Face_Init */ /* */ /* */ /* Initializes a given TrueType face object. */ @@ -154,7 +154,7 @@ /* FreeType error code. 0 means success. */ /* */ FT_LOCAL_DEF( FT_Error ) - TT_Init_Face( FT_Stream stream, + TT_Face_Init( FT_Stream stream, TT_Face face, FT_Int face_index, FT_Int num_params, @@ -216,7 +216,7 @@ /*************************************************************************/ /* */ /* */ - /* TT_Done_Face */ + /* TT_Face_Done */ /* */ /* */ /* Finalizes a given face object. */ @@ -225,7 +225,7 @@ /* face :: A pointer to the face object to destroy. */ /* */ FT_LOCAL_DEF( void ) - TT_Done_Face( TT_Face face ) + TT_Face_Done( TT_Face face ) { FT_Memory memory = face->root.memory; FT_Stream stream = face->root.stream; @@ -266,7 +266,7 @@ /*************************************************************************/ /* */ /* */ - /* TT_Init_Size */ + /* TT_Size_Init */ /* */ /* */ /* Initializes a new TrueType size object. */ @@ -278,7 +278,7 @@ /* FreeType error code. 0 means success. */ /* */ FT_LOCAL_DEF( FT_Error ) - TT_Init_Size( TT_Size size ) + TT_Size_Init( TT_Size size ) { FT_Error error = TT_Err_Ok; @@ -447,7 +447,7 @@ /*************************************************************************/ /* */ /* */ - /* TT_Done_Size */ + /* TT_Size_Done */ /* */ /* */ /* The TrueType size object finalizer. */ @@ -456,7 +456,7 @@ /* size :: A handle to the target size object. */ /* */ FT_LOCAL_DEF( void ) - TT_Done_Size( TT_Size size ) + TT_Size_Done( TT_Size size ) { #ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER @@ -738,7 +738,7 @@ /*************************************************************************/ /* */ /* */ - /* TT_Reset_Size */ + /* TT_Size_Reset */ /* */ /* */ /* Resets a TrueType size when resolutions and character dimensions */ @@ -748,7 +748,7 @@ /* size :: A handle to the target size object. */ /* */ FT_LOCAL_DEF( FT_Error ) - TT_Reset_Size( TT_Size size ) + TT_Size_Reset( TT_Size size ) { FT_Face face; FT_Error error = TT_Err_Ok; @@ -788,7 +788,7 @@ /*************************************************************************/ /* */ /* */ - /* TT_Init_Driver */ + /* TT_Driver_Init */ /* */ /* */ /* Initializes a given TrueType driver object. */ @@ -800,7 +800,7 @@ /* FreeType error code. 0 means success. */ /* */ FT_LOCAL_DEF( FT_Error ) - TT_Init_Driver( TT_Driver driver ) + TT_Driver_Init( TT_Driver driver ) { FT_Error error; @@ -808,13 +808,6 @@ /* set `extra' in glyph loader */ error = FT_GlyphLoader_CreateExtra( FT_DRIVER( driver )->glyph_loader ); - /* init extension registry if needed */ - -#ifdef TT_CONFIG_OPTION_EXTEND_ENGINE - if ( !error ) - return TT_Init_Extensions( driver ); -#endif - return error; } @@ -822,7 +815,7 @@ /*************************************************************************/ /* */ /* */ - /* TT_Done_Driver */ + /* TT_Driver_Done */ /* */ /* */ /* Finalizes a given TrueType driver. */ @@ -831,16 +824,8 @@ /* driver :: A handle to the target TrueType driver. */ /* */ FT_LOCAL_DEF( void ) - TT_Done_Driver( TT_Driver driver ) + TT_Driver_Done( TT_Driver driver ) { - /* destroy extensions registry if needed */ - -#ifdef TT_CONFIG_OPTION_EXTEND_ENGINE - - TT_Done_Extensions( driver ); - -#endif - #ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER /* destroy the execution context */ diff --git a/src/truetype/ttobjs.h b/src/truetype/ttobjs.h index eb09a4085..787178867 100644 --- a/src/truetype/ttobjs.h +++ b/src/truetype/ttobjs.h @@ -379,14 +379,14 @@ FT_BEGIN_HEADER /* Face functions */ /* */ FT_LOCAL( FT_Error ) - TT_Init_Face( FT_Stream stream, + TT_Face_Init( FT_Stream stream, TT_Face face, FT_Int face_index, FT_Int num_params, FT_Parameter* params ); FT_LOCAL( void ) - TT_Done_Face( TT_Face face ); + TT_Face_Done( TT_Face face ); /*************************************************************************/ @@ -394,13 +394,13 @@ FT_BEGIN_HEADER /* Size functions */ /* */ FT_LOCAL( FT_Error ) - TT_Init_Size( TT_Size size ); + TT_Size_Init( TT_Size size ); FT_LOCAL( void ) - TT_Done_Size( TT_Size size ); + TT_Size_Done( TT_Size size ); FT_LOCAL( FT_Error ) - TT_Reset_Size( TT_Size size ); + TT_Size_Reset( TT_Size size ); /*************************************************************************/ @@ -408,10 +408,10 @@ FT_BEGIN_HEADER /* Driver functions */ /* */ FT_LOCAL( FT_Error ) - TT_Init_Driver( TT_Driver driver ); + TT_Driver_Init( TT_Driver driver ); FT_LOCAL( void ) - TT_Done_Driver( TT_Driver driver ); + TT_Driver_Done( TT_Driver driver ); FT_END_HEADER