2004-07-17 David Turner <david@freetype.org>
* include/freetype/cache/ftcglyph.h, src/cache/ftcglyph.c:
fixed a dangling pointer bug that happened in very rare cases:
i.e. when a new family object was destroyed by an out-of-memory
condition during a glyph node initialization. The function
FTC_Cache_Lookup would flush the cache and restart the lookup
with a bad pointer.
* src/cache/ftcmanag.c: fixed a cache flushing bug
* src/truetype/ttinterp.c (TT_Normalize): fixed a bug that
caused long and unecessary delays when normalizing huge vectors
2004-07-15 Werner Lemberg <wl@gnu.org>
* docs/CHANGES: Updated.
* src/base/ftstroke.c (FT_Stroker_ParseOutline): Fix compiler
warning.
2004-07-15 David Turner <david@freetype.org>
* src/base/ftstroke.c (FT_Stroker_ParseOutline): Single points
are not stroked, preventing a bug with pala.ttf and other
fonts.
* include/freetype/ftstroke.h: Updating documentation comments.
2004-07-13 Werner Lemberg <wl@gnu.org>
* src/base/ftstroke.c (ft_stroke_border_reverse): Removed. Unused.
2004-07-12 David Turner <david@freetype.org>
* src/base/ftstroke.c (ft_stroke_border_close): Add second parameter
to indicate reversion of points.
Update all callers.
(ft_stroke_border_reverse): Fix initialization of `point1' and
`tag1'.
* src/cache/ftcsbits.c (ftc_snode_load): Fixing advance computation
for transformed glyphs.
2004-07-11 David Turner <david@freetype.org>
Fix bugs that prevented the stroker to correctly generate stroked
paths from closed paths, i.e., nearly all glyphs in vectorial fonts.
The code is still _very_ buggy though; treat with special care.
* src/base/ftstroke.c (FT_STROKE_TAG_BEGIN_END): New macro.
(ft_stroke_border_reverse): New function.
(ft_stroker_inside): Remove local variable `sigma'; use different
threshold.
(ft_stroker_add_reverse_left): Switch begin/end tags if necessary.
(FT_Stroker_EndSubPath): Call ft_stroker_inside and
ft_stroke_border_reverse.
2004-06-26 Peter Kovar <peter.kovar@r3.roburnet.sk>
* src/truetype/ttgload.c (load_truetype_glyph): Fix typo.
2004-06-25 Werner Lemberg <wl@gnu.org>
* src/type1/t1afm.c (afm_atoindex): Fix boundary test. Reported
by Dirck Blaskey.
2004-06-24 David Turner <david@freetype.org>
* src/truetype/ttgload.c, src/truetype/ttxgvar.c: Removing
compiler warnings.
2004-06-23 Werner Lemberg <wl@gnu.org>
* include/freetype/internal/ftmemory.h [FT_DEBUG_MEMORY]: Declare
FT_QAlloc_Debug and FT_QRealloc_Debug.
* src/base/ftutil.c (FT_QAlloc): Fix error and debug messages.
(FT_QRealloc): Call FT_QAlloc if original pointer is NULL.
Fix error message.
2004-06-23 David Turner <david@freetype.org>
* include/freetype/internal/ftmemory.h, src/base/ftutil.c
(FT_QAlloc, FT_QRealloc), src/base/ftdbgmem.c (FT_QAlloc_Debug,
FT_QRealloc_Debug): New functions that perform allocation without
zero-ing out the corresponding blocks.
* include/freetype/internal/ftmemory.h (FT_MEM_QALLOC,
FT_MEM_QREALLOC, FT_MEM_QNEW, FT_MEM_QNEW_ARRAY,
FT_MEM_QRENEW_ARRAY, FT_QALLOC, FT_QREALLOC, FT_QNEW, FT_QNEW_ARRAY,
FT_QRENEW_ARRAY): New macros.
* src/base/ftstream.c (FT_Stream_EnterFrame): Use FT_QALLOC.
* src/gzip/ftgzip.c (FT_Stream_OpenGzip): Use FT_QNEW_ARRAY.
* src/sfnt/sfobjs.c (tt_face_get_name): Use FT_QNEW_ARRAY.
* src/sfnt/ttload.c (tt_face_load_directory, tt_face_load_metrics,
tt_face_load_gasp): Use FT_QNEW_ARRAY.
(tt_face_load_kern): Use FT_QNEW_ARRAY.
Small optimization in the kerning table verifier; this speeds up
TrueType face opening by about 7%.
(tt_face_load_hdmx): Use FT_QNEW_ARRAY and FT_QALLOC.
* include/freetype/config/ftmodule.h: Changed the order of modules,
putting TrueType and Type 1 first. This dramatically improves the
performance of face open/close operations. For example, putting the
TrueType driver first in the list results in a 5x speedup when
opening `Vera.ttf'.
The very problem is that both the PCF and BDF drivers do a lot more
than necessary to detect that they cannot handle a font file.
2004-06-22 Werner Lemberg <wl@gnu.org>
* src/pcf/pcfread.c (pcf_read_TOC, pcf_get_properties,
pcf_get_metrics, pcf_get_bitmaps, pcf_get_encodings): Improve
debugging messages.
* src/pcf/pcfdrivr.c (FT_COMPOMENT): Move up.
(PCF_Face_Init): Simplify code.
* src/bdf/bdfdrivr.h (BDF_FaceRec): New element `default_glyph'.
* src/bdf/bdflib.c (_bdf_add_property, _bdf_parse_start),
src/bdf/bdf.h (bdf_font_t): s/default_glyph/default_char/.
* src/bdf/bdfdrivr.c (BDF_Face_Init): Fix number of glyphs.
Set `default_glyph'.
(BDF_Glyph_Load): Use `default_glyph' for undefined glyph.
* docs/CHANGES: Updated.
2004-06-21 Werner Lemberg <wl@gnu.org>
* docs/CHANGES: Updated.
2004-06-21 David Turner <david@freetype.org>
* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
load_truetype_glyph): Don't access (unrounded)
`TT_Size.root.metrics' but (rounded) `TT_Size.metrics'. This fixes
a scaling bug that caused incorrect rendering when the bytecode
interpreter was enabled.
2004-06-14 Huw D M Davies <h.davies1@physics.ox.ac.uk>
* src/winfonts/winfnt.c (FNT_Face_Init): Set x_ppem and y_ppem
based on pixel_width and pixel_height.
(FNT_Size_Set_Pixels): Updated.
2004-06-14 Werner Lemberg <wl@gnu.org>
* src/lzw/zopen.c: Comment out inclusion of signal.h and unistd.h.
Reported by Hyv