📄 changelog
字号:
2006-05-07 Werner Lemberg <wl@gnu.org>
Put version information into the configure script. Reported by Paul
Watson <pwatson@redlinepy.com>.
* builds/unix/configure.ac: Renamed to...
* builds/unix/configure.raw: This which now serves (with appropriate
modifications) as a template for configure.ac.
* version.sed: New script.
* autogen.sh: Generate configure.ac from configure.raw, using
FREETYPE_MAJOR, FREETYPE_MINOR, and FREETYPE_PATCH from freetype.h.
2006-05-06 Werner Lemberg <wl@gnu.org>
* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
* builds/unix/configure.ac (version_info): Set to 9:10:3.
* builds/win32/visualc/index.html,
builds/win32/visualc/freetype.dsp,
builds/win32/visualc/freetype.vcproj, builds/freetype.mk (refdoc),
Jamfile (RefDoc), README: s/220/221/, s/2.2.0/2.2.1/.
Minor updates.
* docs/CHANGES, docs/VERSION.DLL, docs/PROBLEMS, README.CVS:
Updated.
* builds/unix/install-sh: Updated from `texinfo' CVS module at
savannah.gnu.org.
* devel/ftoption.h: Synchronize with
include/freetype/config/ftoption.h.
2006-05-04 Werner Lemberg <wl@gnu.org>
* src/lzw/ftlzw2.c: Renamed to...
* src/lzw/ftlzw.c: This.
* src/lzw/Jamfile, src/lzw/rules.mk: Updated.
* builds/mac/FreeType.m68k_cfm.make.txt,
builds/mac/FreeType.m68k_far.make.txt,
builds/mac/FreeType.ppc_carbon.make.txt,
builds/mac/FreeType.ppc_classic.make.txt: Updated.
2006-05-03 David Turner <david@freetype.org>
Allow compilation again with C++ compilers.
* include/freetype/internal/ftmemory.h (FT_ASSIGNP,
FT_ASSIGNP_INNER): New macros which do the actual assignment, and
which exist in two variants (for C and C++).
Update callers accordingly.
2006-05-03 Werner Lemberg <wl@gnu.org>
* include/freetype/config/ftoption.h (FT_STRICT_ALIASING): Removed.
2006-05-02 Werner Lemberg <wl@gnu.org>
* include/freetype/internal/ftmemory.h: s/new/newsz/ (for C++).
(FT_ALLOC): Remove redundant redefinition.
* builds/compiler/gcc-dev.mk (CFLAGS) [g++]: Don't use
`-Wstrict-prototypes'.
* src/base/ftstream.c (FT_Stream_EnterFrame): Add cast.
* include/freetype/config/ftconfig.h (FT_BASE_DEF) [__cplusplus]:
Remove `extern'.
2006-05-02 David Turner <david@freetype.org>
Update the memory management functions and macros to safely deal
with array size buffer overflows. This corresponds to attemps to
allocate arrays that are too large. For an example, consider the
following code:
count = read_uint32_from_file(); array = malloc( sizeof ( Item ) *
count ); for ( nn = 0; nn < count; nn++ )
array[nn] = read_item_from_file();
If `count' is larger than `FT_UINT_MAX/sizeof(Item)', the
multiplication overflows, and the array allocated os smaller than
the data read from the file. In this case, the heap will be
trashed, and this can be used as a denial-of-service attack, or make
the engine crash later.
The FT_ARRAY_NEW and FT_ARRAY_RENEW macros now ensure that the new
count is no larger than `FT_INT_MAX/item_size', otherwise a new
error code `FT_Err_Array_Too_Large' will be returned.
Note that the memory debugger now works again when FT_DEBUG_MEMORY
is defined. FT_STRICT_ALIASING has disappeared; the corresponding
code is now the default.
* include/freetype/config/ftconfig.h (FT_BASE_DEF) [!__cplusplus]:
Don't use `extern'.
* include/freetype/fterrdef.h (FT_Err_Array_Too_Large): New error
code.
* include/freetype/internal/ftmemory.h (FT_DEBUG_INNER)
[FT_DEBUG_MEMORY]: New macro.
(ft_mem_realloc, ft_mem_qrealloc): Pass new object size count also.
(ft_mem_alloc_debug, ft_mem_qalloc_debug, ft_mem_realloc_debug,
ft_mem_qrealloc_debug, ft_mem_free_debug): Removed.
(FT_MEM_ALLOC, FT_MEM_REALLOC, FT_MEM_QALLOC, FT_MEM_QREALLOC,
FT_MEM_FREE): Redefine.
(FT_MEM_NEW_ARRAY, FT_MEM_RENEW_ARRAY, FT_MEM_QNEW_ARRAY,
FT_MEM_QRENEW_ARRAY): Redefine.
(FT_ALLOC_MULT, FT_REALLOC_MULT, FT_MEM_QALLOC_MULT,
FT_MEM_QREALLOC_MULT): New macros. Update callers where
appropriate.
(FT_MEM_SET_ERROR): Slightly redefine.
* src/base/ftdbgmem.c (_ft_debug_file, _ft_debug_lineno)
[FT_DEBUG_MEMORY]: New global variables, replacing...
(FT_MemTable_Rec) [FT_DEBUG_MEMORY]: Remove `filename' and
`line_no'. Update all callers.
(ft_mem_debug_alloc) [FT_DEBUG_MEMORY]: Avoid possible integer
overflow.
(ft_mem_alloc_debug, ft_mem_realloc_debug, ft_mem_qalloc_debug,
ft_mem_qrealloc_debug, ft_mem_free_debug): Removed.
* src/base/ftmac.c (read_lwfn): Catch integer overflow.
* src/base/ftrfork.c (raccess_guess_darwin_hfsplus): Ditto.
* src/base/ftutil.c: Remove special code for FT_STRICT_ALIASING.
(ft_mem_alloc. ft_mem_realloc, ft_mem_qrealloc): Rewrite.
* include/freetype/ftstream.h (FT_FRAME_ENTER, FT_FRAME_EXIT,
FT_FRAME_EXTRACT, FT_FRAME_RELEASE): Use FT_DEBUG_INNER to report the
place where the frames were entered, extracted, exited or released
in the memory debugger.
* src/base/ftstream.c (FT_Stream_ReleaseFrame) [FT_DEBUG_MEMORY]:
Call ft_mem_free.
(FT_Stream_EnterFrame) [FT_DEBUG_MEMORY]: Use ft_mem_qalloc.
(FT_Stream_ExitFrame) [FT_DEBUG_MEMORY]: Use ft_mem_free.
2006-04-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
* src/base/ftobjs.c (Mac_Read_POST_Resource): Correct pfb_pos
initialization, remove extra cast to copy to pfb_lenpos. This fixes
parsing of PFB fonts with MacOS resource fork (bug introduced
2003-09-11). Patch provided by Huib-Jan Imbens <ft@imbens.nl>.
2006-04-29 Werner Lemberg <wl@gnu.org>
Further C library abstraction. Based on a patch from
msn2@bidyut.com.
* include/freetype/config/ftstdlib.h (FT_CHAR_BIT, FT_FILE,
ft_fopen, ft_fclose, ft_fseek, ft_ftell, ft_fread, ft_smalloc,
ft_scalloc, ft_srealloc, ft_sfree, ft_labs): New wrapper macros for
C library functions. Update all users accordingly (and catch some
other places where the C library function was used instead of the
wrapper functions).
* src/base/ftsystem.c: Don't include stdio.h and stdlib.h.
* src/gzip/zutil.h [MSDOS && !(__TURBOC__ || __BORLANDC__)]: Don't
include malloc.h.
* builds/unix/unix-def.in (datarootdir): Define, for autoconf 2.59c
and forthcoming versions.
2006-04-28 Werner Lemberg <wl@gnu.org>
* src/lzw/ftlzw.c, src/lzw/zopen.c, src/lzw/zopen.h: Removed,
obsolete.
2006-04-27 yi luo <luoyi.ly@gmail.com>
* builds/win32/visualc/freetype.vcproj: Updated.
2006-04-26 David Turner <david@freetype.org>
* Version 2.2 released.
=======================
Tag sources with `VER-2-2-0'.
2006-04-26 Werner Lemberg <wl@gnu.org>
* src/psaux/psobjs.c (shift_elements): Don't use FT_Long but
FT_PtrDiff for `delta'. Reported by Céline PILLET
<Celine.Pillet@Tagginfo.com>.
2006-04-21 David Turner <david@freetype.org>
* include/freetype/ftincrem.h: Documentation updates.
(FT_Incremental_Interface): New typedef.
* include/freetype/ftmodapi.h, include/freetype/ftglyph.h:
Documentation updates.
* include/freetype/freetype.h: Documentation update.
(FT_HAS_FAST_GLYPHS): Always set to 0.
* include/freetype/ftstroke.h, src/base/ftstroke.c (FT_Stroker_New):
Take an FT_Library argument instead of FT_Memory.
* src/sfnt/ttcmap.c: Remove compiler warnings (gcc-4.0.2).
2006-04-13 David Turner <david@freetype.org>
* src/autofit/afloader.c (af_loader_init, af_loader_load_g): Remove
superfluous code in the auto-fitter's loader.
2006-04-05 Detlef Würkner <TetiSoft@apg.lahn.de>
* builds/amiga/makefile, builds/amiga/makefile.os4,
builds/amiga/smakefile: Added FT2_BUILD_LIBRARY define.
2006-04-03 luoyi <luoyi.ly@gmail.com>
* builds/compiler/intelc.mk (TE): New variable.
(ANSIFLAGS): Updated.
2006-04-03 Werner Lemberg <wl@gnu.org>
* builds/exports.mk (clean_symbols_list, clean_apinames): Removed.
(CLEAN): Add $(EXPORTS_LIST) and $(APINAMES_EXE).
(.PHONY): Updated.
* configure.ac: Minor fixes to improve --help output.
* docs/PROBLEMS: New file.
2006-04-01 David Turner <david@freetype.org>
* docs/CHANGES: Updated.
* include/freetype/ftcache.h, include/freetype/config/ftheader.h:
Update documentation comments.
2006-04-01 Werner Lemberg <wl@gnu.org>
* builds/unix/install.mk (uninstall): Don't handle `cache'
directory which no longer exists.
2006-03-29 Detlef Würkner <TetiSoft@apg.lahn.de>
* src/psaux/psconv.c: Changed some variables which are expected to
hold negative values from `char' to `FT_Char' to allow building with
a compiler where `char' is unsigned by default.
2006-03-27 David Turner <david@freetype.org>
* src/sfnt/ttkern.c (tt_face_get_kerning): Fix a serious bug that
causes some programs to go into an infinite loop when dealing with
fonts that don't have a properly sorted kerning sub-table.
2006-03-26 Werner Lemberg <wl@gnu.org>
* src/bdf/bdflib.c (ERRMSG4): New macro.
(_bdf_parse_glyphs): Handle invalid BBX values.
* include/freetype/fterrdef.h (FT_Err_Bbx_Too_Big): New error
macro.
2006-03-23 Werner Lemberg <wl@gnu.org>
* docs/CHANGES: Updated.
* src/tools/docmaker/tohtml.py (html_header_2): Add horizontal
padding between table elements.
(html_header_1): The `DOCTYPE' comment must be in uppercase.
(make_html_para): Convert `...' quotations into real left and
right single quotes.
Use `para_header' and `para_footer'.
* src/tools/docmaker/sources.py (re_bold, re_italic): Accept "'"
also.
2006-03-23 David Turner <david@freetype.org>
Add FT_Get_SubGlyph_Info API to retrieve subglyph data. Note that
we do not expose the FT_SubGlyphRec structure.
* include/freetype/internal/ftgloadr.h (FT_SUBGLYPH_FLAGS_*): Moved
to...
* include/freetype/freetype.h (FT_SUBGLYPH_FLAGS_*): Here.
(FT_Get_SybGlyph_Info): New declaration.
* src/base/ftobjs.c (FT_Get_SubGlyph_Info): New function.
* src/autofit/afloader.c (af_loader_load_g): Compute lsb_delta and
rsb_delta correctly in edge cases.
2006-03-22 Werner Lemberg <wl@gnu.org>
* src/cache/ftccache.c, (ftc_node_mru_up, FTC_Cache_Lookup)
[!FTC_INLINE]: Compile conditionally.
* src/cache/ftccache.h: Updated.
* src/cache/ftcglyph.c (FTC_GNode_Init, FTC_GNode_UnselectFamily,
FTC_GNode_Done, FTC_GNode_Compare, FTC_Family_Init, FTC_GCache_New):
s/FT_EXPORT/FT_LOCAL/.
(FTC_GCache_Init, FTC_GCache_Done): Commented out.
(FTC_GCache_Lookup) [!FTC_INLINE]: Compile conditionally.
s/FT_EXPORT/FT_LOCAL/.
* src/cache/ftcglyph.h: Updated.
* src/cache/ftcimage.c (FTC_INode_Free, FTC_INode_New):
s/FT_EXPORT/FT_LOCAL/.
(FTC_INode_Weight): Commented out.
* src/cache/ftcimage.h: Updated.
* src/cache/ftmanag.c (FTC_Manager_Compress,
FTC_Manager_RegisterCache, FTC_Manager_FlushN):
s/FT_EXPORT/FT_LOCAL/.
* src/cache/ftmanag.h: Updated.
* src/cache/ftcsbits.c (FTC_SNode_Free, FTC_SNode_New,
FTC_SNode_Compare): s/FT_EXPORT/FT_LOCAL/.
(FTC_SNode_Weight): Commented out.
* src/cache/ftcsbits.h: Updated.
2006-03-22 Werner Lemberg <wl@gnu.org>
* src/cache/ftccache.c, src/cache/ftccache.h (FTC_Node_Destroy):
Remove, unused.
* src/cache/ftccmap.h: Remove, unused.
* src/cache/rules.mk (CACHE_DRV_H): Remove ftccmap.h.
2006-03-21 Zhe Su <james.su@gmail.com>
* src/base/ftoutln.c (FT_Outline_Get_Orientation): Improve
algorithm.
2006-03-21 Werner Lemberg <wl@gnu.org>
* src/cff/cfftypes.h (CFF_CharsetRec): Add `max_cid' member.
* src/cff/cffload.c (cff_charset_load): Set `charset->max_cid'.
* src/cff/cffgload.c (cff_slot_load): Change type of third parameter
to `FT_UInt'.
Check range of `glyph_index'.
* src/cff/cffgload.h: Updated.
* src/sfnt/ttcmap.c (tt_face_build_cmaps): Handle invalid offset
correctly.
* builds/freetype.mk (refdoc), docs/CHANGES, Jamfile (RefDoc),
README: s/2.1.10/2.2/.
2006-03-21 David Turner <david@freetype.org>
* src/autofit/aflatin.c (af_latin_metrics_scale): Fix small bug
that crashes the auto-hinter (introduced by previous patch).
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -