From 948ee807e1d1d3270dc4d3a9c09615c11024b9c3 Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Thu, 2 May 2002 06:50:58 +0000 Subject: [PATCH] * src/sfnt/ttcmap0.c (tt_cmap4_char_index): Fix serious typo (0xFFFU -> 0xFFFFU). * docs/INSTALL: Fix URL of makepp. formatting --- ChangeLog | 73 ++++++++++++++++-------------- builds/freetype.mk | 4 +- docs/INSTALL | 2 +- include/freetype/config/ftstdlib.h | 1 + src/sfnt/ttcmap0.c | 29 ++++++------ src/sfnt/ttload.c | 4 +- 6 files changed, 62 insertions(+), 51 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7a008c778..321218580 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,42 +1,49 @@ +2002-05-02 Werner Lemberg + + * src/sfnt/ttcmap0.c (tt_cmap4_char_index): Fix serious typo + (0xFFFU -> 0xFFFFU). + +2002-05-01 Werner Lemberg + + * docs/INSTALL: Fix URL of makepp. + 2002-05-01 David Turner - * src/sfnt/sfobjs.c (tt_face_get_name): fixing a bug that - caused FreeType to crash when certain broken fonts (e.g. - "hya6gb.ttf") were opened. + * src/sfnt/sfobjs.c (tt_face_get_name): Fixing a bug that caused + FreeType to crash when certain broken fonts (e.g. "hya6gb.ttf") + were opened. - * src/sfnt/ttload.c (TT_Load_Names): applied a small work-around to - manage fonts containing a broken name table (e.g. "hya6gb.ttf") + * src/sfnt/ttload.c (TT_Load_Names): Applied a small work-around to + manage fonts containing a broken name table (e.g. "hya6gb.ttf"). - * src/sfnt/ttcmap0.c (tt_cmap4_validate): - fixed over-restrictive validation test. the charmap validator - now accepts overlapping ranges in format 4 charmaps. + * src/sfnt/ttcmap0.c (tt_cmap4_validate): Fixed over-restrictive + validation test. The charmap validator now accepts overlapping + ranges in format 4 charmaps. - * src/sfnt/ttcmap0.c (tt_cmap4_char_index): - switched to a binary search algorithm. Certain fonts contain - more than 170 distinct segments !! + * src/sfnt/ttcmap0.c (tt_cmap4_char_index): Switched to a binary + search algorithm. Certain fonts contain more than 170 distinct + segments! - * include/freetype/config/ftstdlib.h: adding an alias for the - 'exit' function. This will be used in the near future to panic - in case of un-expected exception (which shouldn't happen in - theory, but as everyone knows, shit happens :-) ) + * include/freetype/config/ftstdlib.h: Adding an alias for the `exit' + function. This will be used in the near future to panic in case of + unexpected exception (which shouldn't happen in theory). - * include/freetype/internal/fthash.h, src/base/fthash.c: - adding a generic implementation of dynamic hash tables using - linear algorithm (to get rid of 'stalls' during resizes). This - will be used in the future in at least three parts of the - library: the cache sub-system, the object sub-system and - the memory debugger. + * include/freetype/internal/fthash.h, src/base/fthash.c: Adding a + generic implementation of dynamic hash tables using a linear + algorithm (to get rid of `stalls' during resizes). This will be + used in the future in at least three parts of the library: the cache + sub-system, the object sub-system, and the memory debugger. - * include/freetype/internal/ftcore.h: added this header file to - group all new definitions related to exception handling and - memory management. It's very likely that this file will disappear - or be renamed in the future.. + * include/freetype/internal/ftcore.h: Added this header file to + group all new definitions related to exception handling and memory + management. It is very likely that this file will disappear or be + renamed in the future. - * include/freetype/internal/ftobject.h, include/freetype/ftsysmem.h: - adding comments to better explain the object sub-system as well - as the new memory manager interface. + * include/freetype/internal/ftobject.h, include/freetype/ftsysmem.h: + Adding comments to better explain the object sub-system as well as + the new memory manager interface. -2002-04-30 Wenlin Institute (Tom Bishop) +2002-04-30 Wenlin Institute (Tom Bishop) * src/base/ftmac.c (p2c_str): Removed. (file_spec_from_path) [TARGET_API_MAC_CARBON]: Added support for @@ -167,10 +174,10 @@ 2002-04-18 David Turner * src/base/ftobjs.c, builds/win32/ftdebug.c, - builds/amiga/src/base/ftdebug.c: Version 2.1.0 couldn't be linked - against applications in Win32 and Amiga builds due to changes to - "src/base/ftdebug.c" that were not properly propagated to - "builds/win32" and "builds/amiga". This has been fixed. + builds/amiga/src/base/ftdebug.c: Version 2.1.0 couldn't be linked + against applications in Win32 and Amiga builds due to changes to + "src/base/ftdebug.c" that were not properly propagated to + "builds/win32" and "builds/amiga". This has been fixed. * include/freetype/internal/ftobject.h, include/freetype/internal/ftexcept.h, include/freetype/ftsysmem.h, diff --git a/builds/freetype.mk b/builds/freetype.mk index 426f6f601..62e42ea45 100644 --- a/builds/freetype.mk +++ b/builds/freetype.mk @@ -3,7 +3,7 @@ # -# Copyright 1996-2000 by +# Copyright 1996-2000, 2002 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -276,7 +276,7 @@ distclean_project_std: clean_project_std # The Dos command shell does not support very long list of arguments, so # we are stuck with wildcards. # -# Don't break the command lines with; this prevents the "del" command from +# Don't break the command lines with \; this prevents the "del" command from # working correctly on Win9x. # clean_project_dos: diff --git a/docs/INSTALL b/docs/INSTALL index 38820225f..70caa8669 100644 --- a/docs/INSTALL +++ b/docs/INSTALL @@ -70,7 +70,7 @@ II. From the command line [Well, this is not really correct. Recently, a perl implementation of make called `makepp' has appeared which can also build FreeType 2 - successfully on Unix platforms. See http://LNC.usc.edu/~holt/makepp + successfully on Unix platforms. See http://makepp.sourceforge.net for more details.] - Go to the `freetype2' directory. diff --git a/include/freetype/config/ftstdlib.h b/include/freetype/config/ftstdlib.h index 24826bc97..fcb46baaa 100644 --- a/include/freetype/config/ftstdlib.h +++ b/include/freetype/config/ftstdlib.h @@ -98,6 +98,7 @@ #define ft_qsort qsort #define ft_exit exit /* only used to exit from un-handled exceptions */ + /**********************************************************************/ /* */ /* execution control */ diff --git a/src/sfnt/ttcmap0.c b/src/sfnt/ttcmap0.c index b464a5b68..9094ef0be 100644 --- a/src/sfnt/ttcmap0.c +++ b/src/sfnt/ttcmap0.c @@ -670,9 +670,9 @@ if ( start > end ) FT_INVALID_DATA; - /* this test should be performed at default validation level */ - /* unfortunately, some popular asian fonts present overlapping */ - /* ranges in their charmaps.. */ + /* this test should be performed at default validation level; */ + /* unfortunately, some popular Asian fonts present overlapping */ + /* ranges in their charmaps */ /* */ if ( valid->level >= FT_VALIDATE_TIGHT ) { @@ -735,19 +735,19 @@ num_segs2 = TT_PEEK_USHORT( p ) & -2; /* be paranoid! */ #if 1 - /* some fonts have more than 170 segments in their charmaps !! */ - /* we changed this function to use a more efficient binary */ - /* search to boost its performance */ + /* Some fonts have more than 170 segments in their charmaps! */ + /* We changed this function to use a more efficient binary */ + /* search for improving performance */ { - FT_UInt min = 0; - FT_UInt max = num_segs2 >> 1; - FT_UInt mid, start, end, offset; + FT_UInt min = 0; + FT_UInt max = num_segs2 >> 1; + FT_UInt mid, start, end, offset; while ( min < max ) { mid = ( min + max ) >> 1; - p = table + 14 + mid*2; + p = table + 14 + mid * 2; end = TT_NEXT_USHORT( p ); p += num_segs2; start = TT_PEEK_USHORT( p); @@ -756,7 +756,7 @@ max = mid; else if ( code > end ) - min = mid+1; + min = mid + 1; else { @@ -771,12 +771,12 @@ if ( offset != 0 ) { - p += offset + 2*( idx - start ); + p += offset + 2 * ( idx - start ); idx = TT_PEEK_USHORT( p ); } if ( idx != 0 ) - result = (FT_UInt)( idx + delta ) & 0xFFFU; + result = (FT_UInt)( idx + delta ) & 0xFFFFU; goto Exit; } @@ -784,6 +784,7 @@ } #else /* 0 - old code */ + { FT_UInt n; FT_Byte* q; @@ -823,7 +824,9 @@ } } } + #endif /* 0 */ + } Exit: diff --git a/src/sfnt/ttload.c b/src/sfnt/ttload.c index 364d5ca92..24ab8bb0a 100644 --- a/src/sfnt/ttload.c +++ b/src/sfnt/ttload.c @@ -988,8 +988,8 @@ /* check the 'storageOffset' field */ storageOffset = names->storageOffset; - /* some broken asian fonts have a storage offset whose value is */ - /* 12*numNameRecords. We deal with them here.. */ + /* Some broken Asian fonts have a storage offset whose value is */ + /* 12 * numNameRecords. We deal with them here. */ if ( storageOffset == (FT_ULong)(12 * names->numNameRecords) ) storageOffset += 6;