diff --git a/ChangeLog b/ChangeLog index 94ce30229..1e7f951b3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,57 +1,86 @@ -2006-03-20 David Turner +2006-03-20 Werner Lemberg - * src/autofit/aflatin.c (af_latin_hints_init): - disable horizontal hinting for italic/oblique fonts + * builds/freetype.mk (CACHE_DIR, CACHE_H): Remove. + (FREETYPE_H): Updated. - * builds/win32/visualc/freetype.dsp: updating the project file, adding - missing base source files (e.g. ftstroke.c, ftxf86.c, etc...) + * src/cache/rules.mk (CACHE_H_DIR): Remove. + (CACHE_DRV_H): Updated. - * src/autofit/afcjk.c, src/autofit/aflatin.c, src/base/ftobjs.c, - src/cff/cffobjs.c, src/cid/cidobjs.c, src/pfr/pfrobjs.c, - src/sfnt/sfobjs.c, src/sfnt/ttmtx.c, src/truetype/ttpload.c, - src/truetype/ttpload.h, src/type1/t1afm.c, src/type1/t1objs.c: - removing compiler warnings when building with Visual C++ 6 and /W4 +2006-03-20 David Turner - * builds/unix/install.mk: - changing the installation procedure to remove the 'freetype/cache' - from the target directory. + * include/freetype/cache/ftccache.h, + include/freetype/cache/ftccmap.h, include/freetype/cache/ftcglyph.h + include/freetype/cache/ftcimage.h include/freetype/cache/ftcmanag.h + include/freetype/cache/ftcmru.h include/freetype/cache/ftcsbits.h: + Move to... - * include/freetype/cache/ftccache.h, - include/freetype/cache/ftccmap.h, - include/freetype/cache/ftcglyph.h - include/freetype/cache/ftcimage.h - include/freetype/cache/ftcmanag.h - include/freetype/cache/ftcmru.h - include/freetype/cache/ftcsbits.h: - removing these header files from the public include directory. + * src/cache/ftccache.h, src/cache/ftcglyph.h, src/cache/ftcimage.h, + src/cache/ftcsbits.h, src/cache/ftcmanag.h, src/cache/ftccmap.h, + src/cache/ftcmru.h: This new location. + Update declarations according to the changes in the corresponding + source files. - * include/freetype/config/ftheader.h: - changing the definition of FT_CACHE_INTERNAL_XXX_H macros to - redirect to FT_CACHE_H instead + Note that these files are not used by FreeType clients; all public + APIs of the cache module have been already moved to + `include/freetype/ftcache.h', and all FT_CACHE_INTERNAL_XXXX_H + macros resolve to it. - * src/cache/ftcbasic.c, src/cache/ftccache.c, src/cache/ftccache.h, - src/cache/ftccback.h, src/cache/ftccmap.c, src/cache/ftcglyph.c, - src/cache/ftcglyph.h, src/cache/ftcimage.c, src/cache/ftcimage.h, - src/cache/ftcmanag.c, src/cache/ftcmanag.h, src/cache/ftcmru.c, - src/cache/ftcmru.h, src/cache/ftcsbits.c, src/cache/ftcsbits.h: - modifications to prevent using the FT_CACHE_INTERNAL_XXX_H macros, - and grab the headers in 'src/cache' instead (see below). + Reason for the move is to allow modifications of the internals + without interferences with rogue clients. Note that there are no + known clients that access the cache internals at the moment. - * src/cache/ftccache.h, src/cache/ftcglyph.h, src/cache/ftcimage.h, - src/cache/ftcsbits.h, src/cache/ftcmanag.h, src/cache/ftccmap.h, - src/cache/ftcmru.h: copying the cache's internal header files which - were located in 'include/freetype/cache' to the 'src/cache' directory - instead. + * builds/unix/install.mk (install): Don't install headers from + $(CACHE_H). + Remove `freetype/cache' from the target directory. - Note that these files are not used by FreeType clients, all cache - public APIs have been already moved to include/freetype/ftcache.h, - and the FT_CACHE_INTERNAL_XXXX_H macros all resolve to it. + * include/freetype/config/ftheader.h (FT_CACHE_MANAGER_H, + FT_CACHE_INTERNAL_MRU_H, FT_CACHE_INTERNAL_MANAGER_H, + FT_CACHE_INTERNAL_CACHE_H, FT_CACHE_INTERNAL_GLYPH_H, + FT_CACHE_INTERNAL_IMAGE_H, FT_CACHE_INTERNAL_SBITS_H): Point to + FT_CACHE_H. - the move is to allow us to modify the internals without intereference - from rogue clients. Note that there are no known client that accesses - the cache internals at the moment. + * src/cache/ftcbasic.c, src/cache/ftccache.h, src/cache/ftccback.h, + src/cache/ftccmap.c, src/cache/ftcglyph.c, src/cache/ftcglyph.h, + src/cache/ftcimage.c, src/cache/ftcimage.h, src/cache/ftcmanag.c, + src/cache/ftcmanag.h, src/cache/ftcmru.h, src/cache/ftcsbits.c, + src/cache/ftcsbits.h: Don't use the FT_CACHE_INTERNAL_XXX_H macros + but include the headers directly (which are now in `src/cache'). -2006-03-06 David Turner + * src/cache/ftccache.c: Don't use the FT_CACHE_INTERNAL_XXX_H + macros but include the headers directly. + (FTC_Cache_Init, FTC_Cache_Done, FTC_Cache_NewNode, + FTC_Cache_Lookup, FTC_Cache_RemoveFaceID): Declare as FT_LOCAL_DEF. + + * src/cache/ftccache.c: Don't use the FT_CACHE_INTERNAL_XXX_H + macros but include the headers directly. + (FTC_MruNode_Prepend, FTC_MruNode_Up, FTC_MruNode_Remove, + FTC_MruList_Init, FTC_MruList_Reset, FTC_MruList_Done, + FTC_MruList_New, FTC_MruList_Remove, FTC_MruList_RemoveSelection): + Declare as FT_LOCAL_DEF. + (FTC_MruListFind, FTC_MruList_Lookup) [!FTC_INLINE]: Compile + conditionally. + Declare as FT_LOCAL_DEF. + + + * builds/win32/visualc/freetype.dsp: Update project file, add + missing base source files (ftstroke.c, ftxf86.c, etc.). + + + * src/autofit/afcjk.c, src/autofit/aflatin.c, src/base/ftobjs.c, + src/cff/cffobjs.c, src/cid/cidobjs.c, src/pfr/pfrobjs.c, + src/sfnt/sfobjs.c, src/sfnt/ttmtx.c, src/type1/t1afm.c, + src/type1/t1objs.c: Remove compiler warnings when building with + Visual C++ 6 and /W4. + + * src/autofit/aflatin.c (af_latin_hints_init): Disable horizontal + hinting for italic/oblique fonts. + + + + * src/truetype/ttpload.c, src/truetype/ttpload.h + (tt_face_get_device_metrics): Change second argument to `FT_UInt'. + +2006-03-06 David Turner * src/cache/ftcmanag.c (FTC_Manager_Lookup_Size): Prevent crashes in Mozilla/FireFox print preview in Ubuntu Hoary. diff --git a/builds/freetype.mk b/builds/freetype.mk index c60e9eff6..cb59b4241 100644 --- a/builds/freetype.mk +++ b/builds/freetype.mk @@ -101,7 +101,6 @@ PUBLIC_DIR := $(TOP_DIR)/include/freetype INTERNAL_DIR := $(PUBLIC_DIR)/internal SERVICES_DIR := $(INTERNAL_DIR)/services CONFIG_DIR := $(PUBLIC_DIR)/config -CACHE_DIR := $(PUBLIC_DIR)/cache # The documentation directory. # @@ -169,8 +168,8 @@ OBJECTS_LIST := # Define $(PUBLIC_H) as the list of all public header files located in -# `$(TOP_DIR)/include/freetype'. $(BASE_H), $(CACHE_H), and $(CONFIG_H) are -# defined similarly. +# `$(TOP_DIR)/include/freetype'. $(BASE_H), and $(CONFIG_H) are defined +# similarly. # # This is used to simplify the dependency rules -- if one of these files # changes, the whole library is recompiled. @@ -182,10 +181,9 @@ CONFIG_H := $(wildcard $(CONFIG_DIR)/*.h) \ $(wildcard $(BUILD_DIR)/freetype/config/*.h) \ $(FTMODULE_H) \ $(FTOPTION_H) -CACHE_H := $(wildcard $(CACHE_DIR)/*.h) DEVEL_H := $(wildcard $(TOP_DIR)/devel/*.h) -FREETYPE_H := $(PUBLIC_H) $(BASE_H) $(CONFIG_H) $(CACHE_H) $(DEVEL_H) +FREETYPE_H := $(PUBLIC_H) $(BASE_H) $(CONFIG_H) $(DEVEL_H) # ftsystem component diff --git a/builds/unix/install.mk b/builds/unix/install.mk index d83558911..680bfa1d3 100644 --- a/builds/unix/install.mk +++ b/builds/unix/install.mk @@ -44,7 +44,7 @@ install: $(PROJECT_LIBRARY) $(INSTALL_DATA) \ $$P $(DESTDIR)$(includedir)/freetype2/freetype/config ; \ done - -$(DELETE° $(DESTDIR)$(includedir)/freetype2/freetype/cache/* + -$(DELETE) $(DESTDIR)$(includedir)/freetype2/freetype/cache/* -$(DELDIR) $(DESTDIR)$(includedir)/freetype2/freetype/cache -$(DELETE) $(DESTDIR)$(includedir)/freetype2/freetype/internal/* -$(DELDIR) $(DESTDIR)$(includedir)/freetype2/freetype/internal diff --git a/include/freetype/config/ftheader.h b/include/freetype/config/ftheader.h index fe27d1560..ac65bab3b 100644 --- a/include/freetype/config/ftheader.h +++ b/include/freetype/config/ftheader.h @@ -624,10 +624,10 @@ #define FT_ERROR_DEFINITIONS_H -/* the internals of the cache sub-system are no longer exposed, we */ -/* default to FT_CACHE_H at the moment just in case, but we know of */ -/* no rogue client that uses them anyway */ -/* */ + /* The internals of the cache sub-system are no longer exposed. We */ + /* default to FT_CACHE_H at the moment just in case, but we know of */ + /* no rogue client that uses them. */ + /* */ #define FT_CACHE_MANAGER_H #define FT_CACHE_INTERNAL_MRU_H #define FT_CACHE_INTERNAL_MANAGER_H @@ -636,6 +636,7 @@ #define FT_CACHE_INTERNAL_IMAGE_H #define FT_CACHE_INTERNAL_SBITS_H + #define FT_XFREE86_H #define FT_INCREMENTAL_H diff --git a/src/autofit/aflatin.c b/src/autofit/aflatin.c index 335d23dbe..5f6949d21 100644 --- a/src/autofit/aflatin.c +++ b/src/autofit/aflatin.c @@ -1364,7 +1364,7 @@ /* * In `light' hinting mode we disable horizontal hinting completely. - * we also do it if the face is italic + * We also do it if the face is italic. */ if ( mode == FT_RENDER_MODE_LIGHT || (face->style_flags & FT_STYLE_FLAG_ITALIC) != 0 ) diff --git a/src/cache/ftcglyph.c b/src/cache/ftcglyph.c index 70474e333..dc0a7b921 100644 --- a/src/cache/ftcglyph.c +++ b/src/cache/ftcglyph.c @@ -4,7 +4,7 @@ /* */ /* FreeType Glyph Image (FT_Glyph) cache (body). */ /* */ -/* Copyright 2000-2001, 2003, 2004 by */ +/* Copyright 2000-2001, 2003, 2004, 2006 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/ftcglyph.h b/src/cache/ftcglyph.h index 4441e83b2..254876169 100644 --- a/src/cache/ftcglyph.h +++ b/src/cache/ftcglyph.h @@ -4,7 +4,7 @@ /* */ /* FreeType abstract glyph cache (specification). */ /* */ -/* Copyright 2000-2001, 2003, 2004 by */ +/* Copyright 2000-2001, 2003, 2004, 2006 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/ftcimage.c b/src/cache/ftcimage.c index 54133aa0c..b1015cbb4 100644 --- a/src/cache/ftcimage.c +++ b/src/cache/ftcimage.c @@ -4,7 +4,7 @@ /* */ /* FreeType Image cache (body). */ /* */ -/* Copyright 2000-2001, 2003, 2004 by */ +/* Copyright 2000-2001, 2003, 2004, 2006 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/ftcimage.h b/src/cache/ftcimage.h index 6acc77b18..eafaa380d 100644 --- a/src/cache/ftcimage.h +++ b/src/cache/ftcimage.h @@ -4,7 +4,7 @@ /* */ /* FreeType Generic Image cache (specification) */ /* */ -/* Copyright 2000-2001, 2002, 2003 by */ +/* Copyright 2000-2001, 2002, 2003, 2006 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.h b/src/cache/ftcmanag.h index e455a54e3..d1742fea0 100644 --- a/src/cache/ftcmanag.h +++ b/src/cache/ftcmanag.h @@ -4,7 +4,7 @@ /* */ /* FreeType Cache Manager (specification). */ /* */ -/* Copyright 2000-2001, 2003, 2004 by */ +/* Copyright 2000-2001, 2003, 2004, 2006 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/ftcmru.c b/src/cache/ftcmru.c index 21d2e0c87..3a6c625af 100644 --- a/src/cache/ftcmru.c +++ b/src/cache/ftcmru.c @@ -4,7 +4,7 @@ /* */ /* FreeType MRU support (body). */ /* */ -/* Copyright 2003, 2004 by */ +/* Copyright 2003, 2004, 2006 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/ftcmru.h b/src/cache/ftcmru.h index 37c60ef2d..c8f0c6ef6 100644 --- a/src/cache/ftcmru.h +++ b/src/cache/ftcmru.h @@ -4,7 +4,7 @@ /* */ /* Simple MRU list-cache (specification). */ /* */ -/* Copyright 2000-2001, 2003, 2004, 2005 by */ +/* Copyright 2000-2001, 2003, 2004, 2005, 2006 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 4e544d877..cef01062e 100644 --- a/src/cache/ftcsbits.c +++ b/src/cache/ftcsbits.c @@ -4,7 +4,7 @@ /* */ /* FreeType sbits manager (body). */ /* */ -/* Copyright 2000-2001, 2002, 2003, 2004, 2005 by */ +/* Copyright 2000-2001, 2002, 2003, 2004, 2005, 2006 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.h b/src/cache/ftcsbits.h index 5da1bf7f4..56570e34d 100644 --- a/src/cache/ftcsbits.h +++ b/src/cache/ftcsbits.h @@ -4,7 +4,7 @@ /* */ /* A small-bitmap cache (specification). */ /* */ -/* Copyright 2000-2001, 2002, 2003 by */ +/* Copyright 2000-2001, 2002, 2003, 2006 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 381104ad6..3af1f2529 100644 --- a/src/cache/rules.mk +++ b/src/cache/rules.mk @@ -3,7 +3,7 @@ # -# Copyright 2000, 2001, 2003, 2004 by +# Copyright 2000, 2001, 2003, 2004, 2006 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -16,7 +16,6 @@ # Cache driver directory # CACHE_DIR := $(SRC_DIR)/cache -CACHE_H_DIR := $(PUBLIC_DIR)/cache # compilation flags for the driver # @@ -25,24 +24,24 @@ CACHE_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(CACHE_DIR)) # Cache driver sources (i.e., C files) # -CACHE_DRV_SRC := $(CACHE_DIR)/ftcmru.c \ - $(CACHE_DIR)/ftcmanag.c \ - $(CACHE_DIR)/ftcbasic.c \ +CACHE_DRV_SRC := $(CACHE_DIR)/ftcbasic.c \ $(CACHE_DIR)/ftccache.c \ + $(CACHE_DIR)/ftccmap.c \ $(CACHE_DIR)/ftcglyph.c \ - $(CACHE_DIR)/ftcsbits.c \ $(CACHE_DIR)/ftcimage.c \ - $(CACHE_DIR)/ftccmap.c + $(CACHE_DIR)/ftcmanag.c \ + $(CACHE_DIR)/ftcmru.c \ + $(CACHE_DIR)/ftcsbits.c # Cache driver headers # -CACHE_DRV_H := $(CACHE_H_DIR)/ftcmru.h \ - $(CACHE_H_DIR)/ftcmanag.h \ - $(CACHE_H_DIR)/ftcglyph.h \ - $(CACHE_H_DIR)/ftcimage.h \ - $(CACHE_H_DIR)/ftccmap.h \ - $(CACHE_DIR)/ftcerror.h \ - $(CACHE_DIR)/ftccback.h +CACHE_DRV_H := $(CACHE_DIR)/ftccback.h \ + $(CACHE_DIR)/ftccmap.h \ + $(CACHE_DIR)/ftcerror.h \ + $(CACHE_DIR)/ftcglyph.h \ + $(CACHE_DIR)/ftcimage.h \ + $(CACHE_DIR)/ftcmanag.h \ + $(CACHE_DIR)/ftcmru.h # Cache driver object(s) diff --git a/src/sfnt/sfobjs.c b/src/sfnt/sfobjs.c index a29a0b67b..869269cdd 100644 --- a/src/sfnt/sfobjs.c +++ b/src/sfnt/sfobjs.c @@ -567,7 +567,7 @@ if ( !has_outline && sfnt->load_bhed ) { LOAD_( bhed ); - is_apple_sbit = FT_BOOL(!error); + is_apple_sbit = FT_BOOL( !error ); } /* load the font header (`head' table) if this isn't an Apple */ @@ -947,7 +947,7 @@ if ( error ) goto Exit; - bsize->height = (FT_Short)(metrics.height >> 6); + bsize->height = (FT_Short)( metrics.height >> 6 ); bsize->width = (FT_Short)( ( avgwidth * metrics.x_ppem + em_size / 2 ) / em_size ); diff --git a/src/type1/t1afm.c b/src/type1/t1afm.c index 25a2221d0..379b33067 100644 --- a/src/type1/t1afm.c +++ b/src/type1/t1afm.c @@ -285,8 +285,8 @@ t1_face->bbox.xMax = ( fi->FontBBox.xMax + 0xFFFFU ) >> 16; t1_face->bbox.yMax = ( fi->FontBBox.yMax + 0xFFFFU ) >> 16; - t1_face->ascender = (FT_Short)(( fi->Ascender + 0x8000U ) >> 16); - t1_face->descender = (FT_Short)(( fi->Descender + 0x8000U ) >> 16); + t1_face->ascender = (FT_Short)( ( fi->Ascender + 0x8000U ) >> 16 ); + t1_face->descender = (FT_Short)( ( fi->Descender + 0x8000U ) >> 16 ); if ( fi->NumKernPair ) {