Make compiling instructions in docs/CUSTOMIZE work again.
* builds/unix/unix-cc.in (CPPFLAGS): New variable.
(CFLAGS): Don't include @CPPFLAGS@.
* builds/freetype.mk (FT_CFLAGS): Add CPPFLAGS.
- fixing apinames.c, adding support for Watcom and Borland compilers
- adding generation of exported symbols list to the build system, including the Unix one !!
sorry Werner, I have no time to document this in ChangeLog at the moment
halved.
* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Change the default
strength.
Don't increase slot->advance.y.
* include/freetype/freetype.h (FREETYPE_MINOR): Set to 2.
(FREETYPE_PATCH): Set to 0.
* builds/unix/configure.ac (version_info): Set to 9:9:3.
Currently, we are still binary compatible.
* builds/win32/visualc/index.html,
builds/win32/visualc/freetype.dsp,
builds/win32/visualc/freetype.vcproj: s/219/2110/, s/2.1.9/2.1.10/.
* builds/freetype.mk (refdoc), README, Jamfile (RefDoc):
s/2.1.9/2.1.10/.
* docs/CHANGES, docs/VERSION.DLL: Updated.
* ChangeLog: Split off older entries into...
* ChangeLog.20, ChangeLog.21: These new files.
The next release will be 2.2.0, so don't worry about source code
backwards compatibility.
* include/freetype/ftimage.h (FT_Outline_MoveToFunc,
FT_Outline_LineToFunc, FT_Outline_ConicToFunc,
FT_Outline_CubicToFunc, FT_SpanFunc, FT_Raster_RenderFunc),
include/freetype/ftrender.h (FT_Glyph_TransformFunc,
FT_Renderer_RenderFunc, FT_Renderer_TransformFunc): Decorate
parameters with `const' where appropriate.
* src/sfnt/ttsbit.c (tt_face_load_sbit_image): Compute vertBearingY
to make glyphs centered vertically.
* src/truetype/ttgload.c (compute_glyph_metrics): Compute
vertBearingY to make glyphs centered vertically.
Fix some bugs in vertical metrics:
. loader->pp3.y and loader->pp4.y are in 26.6 format, not in font
units.
. As we use the glyph's cbox to calculate the top bearing now
there iss no need to adjust `top'.
* src/otvalid/otvcommn.h (OTV_OPTIONAL_TABLE): Use FT_UShort to be
in sync with OTV_OPTIONAL_OFFSET. Reported by YAMATO Masatake.
* docs/release: Update.
(CFLAGS), builds/compiler/gcc.mk (CFLAGS): Remove
-fno-strict-aliasing.
Say you have `(Foo*)x' and want to assign, pass, or return it as
`(Bar*)'. If you simply say `x' or `(Bar*)x', then the C compiler
would warn you that type casting incompatible pointer types breaks
strict-aliasing. The solution is to cast to `(void*)' instead which
is the generic pointer type, so the compiler knows that it should
make no strict-aliasing assumption on `x'. But the problem with
`(void*)x' is that seems like in C++, unlike C, `void*' is not a
generic pointer type and assigning `void*' to `Bar*' without a cast
causes an error. The solution is to cast to `Bar*' too, with
`(Bar*)(void*)x' as the result -- this is what the patch does.
* include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP),
include/freetype/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): Remove
cast on lvalue, use a temporary pointer instead.
Cast temporarily to (void*) to not break strict aliasing.
* include/freetype/internal/ftmemory.h (FT_MEM_ALLOC,
FT_MEM_REALLOC, FT_MEM_QALLOC, FT_MEM_QREALLOC, FT_MEM_FREE),
src/base/ftglyph.c (FT_Glyph_To_Bitmap): Cast temporarily to (void*)
to not break strict aliasing.
* src/base/ftinit.c (FT_USE_MODULE): Fix wrong type information.
* builds/unix/configure.ac (XX_CFLAGS): Remove -fno-strict-aliasing.
* src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c --
it is currently loaded from ttsbit.c.
Other formatting.
Exclude debug info for `Release' versions to reduce library size.
* src/base/ftobjs.c (FT_Open_Face): Make it work as documented, this
is, ignore `aface' completely if face_index < 0. Reported by David
Osborn <spam@habitualhiatus.com>.
* include/freetype/ftimage.h (FT_Outline_MoveToFunc,
FT_Outline_LineTo_Func, FT_Outline_ConicToFunc,
FT_Outline_CubicToFunc), src/smooth/ftgrays.c (gray_render_conic,
gray_render_cubic, gray_move_to, gray_line_to, gray_conic_to,
gray_cubic_to, gray_render_span, gray_sweep): Decorate parameters
with `const' where appropriate.
* builds/amiga/makefile, builds/amiga/makefile.os4,
builds/amiga/smakefile: Included the base extension files
(ftbitmap.c, ftotval.c, ftpfr.c, ftstroke.c, ftxf86.c).
* builds/amiga/makefile, builds/amiga/smakefile: Handle new modules.
* builds/amiga/makefile.os4: Makefile for AmigaOS4 SDK.
* builds/amiga/README: Updated.
* builds/amiga/include/freetype/config/ftconfig.h: Handle gcc for
AmigaOS4.
* builds/amiga/include/freetype/config/ftmodule.h: Handle new
modules.
* builds/amiga/src/base/ftdebug.c: Updated to current version of
default ftdebug.c.
Add various include files and macros to have proper support for
both AmigaOS4 and older AmigaOS versions.
Don't declare KVPrintF explicitly.
Replace getenv with GetVar.
Actually enable debugging code.
* builds/amiga/src/base/ftsystem.c: Major rewrite.
--copy' from libtool 1.5.14.
* builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
automake 1.9.4.
* builds/unix/config.guess, builds/unix/config.sub: Updated from
`config' CVS module at subversions.gnu.org.
* builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
`texinfo' CVS module at subversions.gnu.org.
return the FreeType version. Suggested by George Williams
<gww@silcom.com>.
* docs/CHANGES: Updated.
* src/otvalid/otvmod.c (otv_validate): Deallocate arrays in case
of error. Reported by YAMANO-UCHI Hidetoshi <mer@din.or.jp>.
* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
<op_closepath>: Accept `T1_Parse_Have_Moveto' state also which can
happen in empty glyphs. Reported by Ian Brown
<ian.brown@printsoft.de>.
--copy' from libtool 1.5.10.
* builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
automake 1.9.4.
* builds/unix/configure: Regenerated with autoconf 2.59b.
* builds/unix/config.guess, builds/unix/config.sub: Updated from
`config' CVS module at subversions.gnu.org.
* builds/unix/install-sh: Updated from
`texinfo' CVS module at subversions.gnu.org.
to NULL. This allows custom close functions to delete the FT_STREAM
object.
Add API to get information about SFNT tables.
* include/freetype/internal/services/svsfnt.h
(FT_SFNT_Table_Info_Func): New typedef.
(SFNT_Table): Add it.
* src/base/ftobjs (FT_Sfnt_Table_Info): New function.
* include/freetype/tttables.h: Updated.
* src/sfnt/sfdriver.c (sfnt_table_info): New function.
(sfnt_service_sfnt_table): Add it.
* docs/CHANGES: Updated.
* include/freetype/freetype.h (FREETYPE_PATCH): Set to 10.
* builds/unix/configure.ac (version_info): Set to 9:8:3.
* builds/unix/configure: Updated.
* builds/win32/visualc/index.html,
builds/win32/visualc/freetype.dsp,
builds/win32/visualc/freetype.vcproj: s/219/2110/, s/2.1.9/2.1.10/.
* builds/freetype.mk (refdoc), README, Jamfile (RefDoc):
s/2.1.8/2.1.9/.
* docs/CHANGES, docs/VERSION.DLL: Updated.
* src/base/ftrfork.c (FT_Raccess_Guess)
[!FT_CONFIG_OPTION_GUESSING_EMBEDDED_FORK]: Remove compiler
warnings.
tt_face_done, tt_size_init, tt_size_done, tt_driver_init,
tt_driver_done): Don't use TT_XXX but FT_XXX arguments which are
typecast to the proper TT_XXX within the function.
Update code accordingly.
* src/truetype/ttdriver.c (Get_Kerning, Set_Char_Sizes,
Set_Pixel_Sizes, Load_Glyph, tt_get_interface): Don't use TT_XXX but
FT_XXX arguments which are typecast to the proper TT_XXX within the
function.
Update code accordingly.
(tt_driver_class): Remove casts.
* builds/unix/configure.ac: Don't try to remove `-ansi' compilation
switch on the Mac.
* builds/unix/ltmain.sh: Regenerated with `libtoolize --force
--copy' from libtool 1.5.6.
* builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
automake 1.8a.
* builds/unix/configure: Regenerated with autoconf 2.59a.
--copy' from libtool 1.5.2.
* builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
automake 1.8a.
* builds/unix/configure: Regenerated with autoconf 2.59a.
`--with-old-mac-fonts'.
* builds/unix/configure: Regenerated.
* src/base/ftmac.c: s/TARGET_API_MAC_CARBON/!TARGET_API_MAC_OS8/.
(FT_New_Face_From_Resource): New function.
(FT_New_Face): Use FT_New_Face_From_Resource.
(FT_New_Face_From_FSSpec): Use FT_New_Face_From_Resource.
[__MWERKS__]: Don't include FSp_fopen.h.