diff --git a/ChangeLog b/ChangeLog index 7b8eadfd6..0ae7f05b0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2000-11-23 Werner Lemberg + + * src/type1/t1load.c (parse_subrs, parse_charstrings): Use decrypt + function from PSAux module. + + * src/type1/t1parse.c (T1_Done_Parse): Renamed to... + (T1_Finalize_Parser): New function (to avoid name clash with a + function in the PSAux module). + (T1_Decrypt): Removed since it it duplicated in the PSAux module. + (T1_Get_Private_Dict): Added `psaux' as new parameter; use decrypt + function from PSAux module. + + * src/type1/t1parse.h: Adapted. + 2000-11-22 Tom Kacvinsky * src/cff/t2objs.c (T2_Init_Face): For pure CFF fonts, set @@ -56,8 +70,10 @@ * builds/cygwin/freetype-config.in, builds/unix/freetype-config.in: Move test down for empty --exec-prefix. Fix --version. + * builds/cygwin/install.mk, builds/unix/install.mk: Use $(INSTALL_SCRIPT) for installation of freetype-config. + * builds/cygwin/install.mk: Fix clean target names. 2000-11-09 David Turner diff --git a/src/cff/t2objs.c b/src/cff/t2objs.c index e2958a515..c1d3f77b4 100644 --- a/src/cff/t2objs.c +++ b/src/cff/t2objs.c @@ -375,6 +375,7 @@ { CFF_Font_Dict* dict = &cff->top_font.font_dict; + /* we need the `PSNames' module for pure-CFF and CEF formats */ if ( !psnames ) { @@ -396,9 +397,9 @@ /* set global bbox, as well as EM size */ root->units_per_EM = 1000; - root->bbox = dict->font_bbox; - root->ascender = (FT_Short)root->bbox.yMax; - root->descender = (FT_Short)root->bbox.yMin; + root->bbox = dict->font_bbox; + root->ascender = (FT_Short)root->bbox.yMax; + root->descender = (FT_Short)root->bbox.yMin; /* retrieve font family & style name */ root->family_name = T2_Get_Name( &cff->name_index, face_index ); diff --git a/src/type1/t1load.c b/src/type1/t1load.c index 4c8e33584..06381bc00 100644 --- a/src/type1/t1load.c +++ b/src/type1/t1load.c @@ -1148,7 +1148,7 @@ /* */ if ( face->type1.private_dict.lenIV >= 0 ) { - T1_Decrypt( base, size, 4330 ); + psaux->t1_decrypt( base, size, 4330 ); size -= face->type1.private_dict.lenIV; base += face->type1.private_dict.lenIV; } @@ -1268,7 +1268,7 @@ if ( face->type1.private_dict.lenIV >= 0 ) { - T1_Decrypt( base, size, 4330 ); + psaux->t1_decrypt( base, size, 4330 ); size -= face->type1.private_dict.lenIV; base += face->type1.private_dict.lenIV; } @@ -1567,7 +1567,7 @@ T1_Release_Table( &loader->subrs ); /* finalize parser */ - T1_Done_Parser( parser ); + T1_Finalize_Parser( parser ); } @@ -1599,7 +1599,7 @@ if ( error ) goto Exit; - error = T1_Get_Private_Dict( parser ); + error = T1_Get_Private_Dict( parser, psaux ); if ( error ) goto Exit; diff --git a/src/type1/t1parse.c b/src/type1/t1parse.c index 75edd6aba..97a14ab2e 100644 --- a/src/type1/t1parse.c +++ b/src/type1/t1parse.c @@ -236,7 +236,7 @@ FT_LOCAL_DEF - void T1_Done_Parser( T1_ParserRec* parser ) + void T1_Finalize_Parser( T1_ParserRec* parser ) { FT_Memory memory = parser->root.memory; @@ -276,25 +276,8 @@ FT_LOCAL_DEF - void T1_Decrypt( FT_Byte* buffer, - FT_Int length, - FT_UShort seed ) - { - while ( length > 0 ) - { - FT_Byte plain; - - - plain = ( *buffer ^ ( seed >> 8 ) ); - seed = ( *buffer + seed ) * 52845 + 22719; - *buffer++ = plain; - length--; - } - } - - - FT_LOCAL_DEF - FT_Error T1_Get_Private_Dict( T1_ParserRec* parser ) + FT_Error T1_Get_Private_Dict( T1_ParserRec* parser, + PSAux_Interface* psaux ) { FT_Stream stream = parser->stream; FT_Memory memory = parser->root.memory; @@ -473,7 +456,7 @@ } /* we now decrypt the encoded binary private dictionary */ - T1_Decrypt( parser->private_dict, parser->private_len, 55665 ); + psaux->t1_decrypt( parser->private_dict, parser->private_len, 55665 ); parser->root.base = parser->private_dict; parser->root.cursor = parser->private_dict; parser->root.limit = parser->root.cursor + parser->private_len; diff --git a/src/type1/t1parse.h b/src/type1/t1parse.h index 5d53a9ff2..f114e7790 100644 --- a/src/type1/t1parse.h +++ b/src/type1/t1parse.h @@ -118,15 +118,11 @@ PSAux_Interface* psaux ); FT_LOCAL - FT_Error T1_Get_Private_Dict( T1_ParserRec* parser ); + FT_Error T1_Get_Private_Dict( T1_ParserRec* parser, + PSAux_Interface* psaux ); FT_LOCAL - void T1_Decrypt( FT_Byte* buffer, - FT_Int length, - FT_UShort seed ); - - FT_LOCAL - void T1_Done_Parser( T1_ParserRec* parser ); + void T1_Finalize_Parser( T1_ParserRec* parser ); #ifdef __cplusplus