Werner Lemberg
86e041b5a8
Remove redundant header inclusions.
...
This covers many Ghostscript Coverity issues.
* src/*: Do it.
2009-03-21 08:51:44 +01:00
Werner Lemberg
24d72a1b0b
Don't use stdlib.h and friends directly.
...
Reported by Mickey Gabel <mickey@monfort.co.il>.
* src/base/ftdbgmem.c: s/<stdlib.h>/FT_CONFIG_STANDARD_LIBRARY_H/.
* src/gzip/ftgzip.c, src/lzw/ftlzw.c, src/raster/ftmisc.h:
s/<string.h>/FT_CONFIG_STANDARD_LIBRARY_H/.
* src/autofit/aftypes.h, src/autofit/afhints.c,
src/pshinter/pshalgo.c: s/<stdio.h>/FT_CONFIG_STANDARD_LIBRARY_H/
* src/lzw/ftlzw.c, src/base/ftdbgmem.c: Don't include stdio.h.
2009-01-13 17:34:48 +00:00
Werner Lemberg
f47acf2b5f
Avoid compiler warnings.
...
* */*: s/do ; while ( 0 )/do { } while ( 0 )/.
Reported by Sean McBride <sean@rogue-research.com>.
2009-01-12 20:11:14 +00:00
Werner Lemberg
e85baf4f8e
Fix stdlib dependencies.
...
Problem reported by Mickey Gabel <mickey@monfort.co.il>.
* include/freetype/config/ftstdlib.h (ft_exit): Removed. Unused.
* src/autofit/afhints.c, src/base/ftlcdfil.c, src/smooth/ftsmooth.c:
s/memcpy/ft_memcpy/.
* src/psaux/t1decode.c: s/memset/ft_memset/, s/memcpy/ft_memcpy/.
2009-01-12 20:01:10 +00:00
Werner Lemberg
ce33a312da
FT_USE_MODULE declares things as:
...
extern const FT_Module_Class
(or similar for C++). However, the actual types of the variables
being declared are often different, e.g., FT_Driver_ClassRec or
FT_Renderer_Class. (Some are, indeed, FT_Module_Class.)
This works with most C compilers (since those structs begin with an
FT_Module_Class struct), but technically it's undefined behavior.
To quote the ISO/IEC 9899:TC2 final committee draft, section 6.2.7
paragraph 2:
All declarations that refer to the same object or function shall
have compatible type; otherwise, the behavior is undefined.
(And they are not compatible types.)
Most C compilers don't reject (or even detect!) code which has this
issue, but the GCC LTO development branch compiler does. (It
outputs the types of the objects while generating .o files, along
with a bunch of other information, then compares them when doing the
final link-time code generation pass.)
Patch from Savannah bug #25133 .
* src/base/ftinit.c (FT_USE_MODULE): Include variable type.
* builds/amiga/include/freetype/config/ftmodule.h,
include/freetype/config/ftmodule.h, */module.mk: Updated to declare
pass correct types to FT_USE_MODULE.
2008-12-21 10:29:30 +00:00
Werner Lemberg
b6fa845146
* src/autofit/aflatin.c (af_latin_hint_edges),
...
src/autofit/aflatin2.c (af_latin2_hint_edges), src/autofit/afcjk.c
(af_cjk_hint_edges): Protect against division by zero.
2008-12-21 09:46:31 +00:00
Werner Lemberg
e3b083c65b
* src/autofit/aflatin.c (af_latin_uniranges): Add more ranges. This
...
fixes Savannah bug #21190 which also provides a basic patch.
2008-12-05 22:50:40 +00:00
Werner Lemberg
1a5d561dce
* src/autofit/afcjk.c, src/base/ftoutln.c, src/base/ftrfork.c,
...
src/bdf/bdfdrivr.c, src/gxvalid/gxvmorx.c, src/otvalid/otvmath.c,
src/pcf/pcfdrivr.c, src/psnames/pstables.h, src/smooth/ftgrays.c,
src/tools/glnames.py, src/truetype/ttinterp.c, src/type1/t1load.c,
src/type42/t42objs.c, src/winfonts/winfnt.c: Fix compiler warnings
(Atari PureC).
2008-11-29 22:50:24 +00:00
Werner Lemberg
cd91bf0acc
Make braces balanced throughout the whole file.
2008-10-07 18:13:23 +00:00
Werner Lemberg
2b0b4221ab
Cosmetic code changes.
2008-05-28 22:17:28 +00:00
Werner Lemberg
e6e6eade04
Finish fix of scaling bug of CID-keyed CFF subfonts.
...
* include/freetype/internal/ftcalc.h, src/base/ftcalc.c
(FT_Matrix_Multiply_Scaled, FT_Vector_Transform_Scaled): New
functions.
* src/cff/cffobjs.h (CFF_Internal): New struct. It is used to
provide global hinting data for both the top-font and all subfonts
(with proper scaling).
* src/cff/cffobjs.c (cff_make_private_dict): New function, using
code from `cff_size_init'.
(cff_size_init, cff_size_done, cff_size_select, cff_size_request):
Use CFF_Internal and handle subfonts.
(cff_face_init): Handle top-dict and subfont matrices correctly;
apply some heuristic in case of unlikely matrix concatenation
results. This has been discussed with people from Adobe (thanks
goes mainly to David Lemon) who confirm that the CFF specs are fuzzy
and not correct.
* src/cff/cffgload.h (cff_decoder_prepare): Add `size' argument.
* src/cff/cffgload.c (cff_builder_init): Updated.
(cff_decoder_prepare): Handle hints globals for subfonts.
Update all callers.
(cff_slot_load): Handling scaling of subfonts properly.
* src/cff/cffparse.c (cff_parse_fixed_dynamic): New function.
(cff_parse_font_matrix): Use it.
* src/cff/cfftypes.h (CFF_FontDictRec): Make `units_per_em'
FT_ULong.
* docs/CHANGES: Document it.
2008-05-14 23:05:38 +00:00
Werner Lemberg
44c655b01c
* src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
...
Check for valid callback pointers.
2008-02-17 08:22:08 +00:00
Suzuki, Toshiya (鈴木俊哉)
75696860ea
Formatting.
2008-01-04 01:43:23 +00:00
Werner Lemberg
1e1b6dff54
* src/pfr/pfrcmap.c: Include pfrerror.h.
...
* src/autofit/afindic.c: Add some external declarations to pacify
`make multi' compilation.
* src/cid/cidgload.c (cid_load_glyph): Pacify compiler.
* src/cff/cffdrivr.c (cff_ps_get_font_info), src/cff/cffobjs.c
(cff_strcpy), include/freetype/internal/ftmemory.h (FT_MEM_STRDUP),
src/autofit/aflatin.c (af_latin_hints_compute_edges),
src/autofit/afcjk.c (af_cjk_hints_compute_edges), src/sfnt/ttmtx.c
(tt_face_get_metrics), src/base/ftobjs.c (open_face)
[FT_CONFIG_OPTION_INCREMENTAL]: Fix compilation with C++ compiler.
* docs/release: Mention test compilation targets.
2007-07-07 07:30:40 +00:00
Werner Lemberg
3b0e500601
* src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize
...
`round' to pacify compiler.
Really commit changes which have been used to build release 2.3.5.
2007-07-03 04:48:19 +00:00
David Turner
74cc0e9ee4
* src/truetype/ttinterp.c: add missing variable initialization,
...
gets rid of Valgrind fixes.
* src/autofit/aflatin.c: get rid of an infinite loop in the case
of degenerate fonts.
2007-06-30 22:54:12 +00:00
Werner Lemberg
7723dc34d3
Add autofit module for Indic scripts. This currently just reuses
...
the CJK-specific functions.
* include/freetype/config/ftoption.h (AF_CONFIG_OPTION_INDIC): New
macro.
* devel/ftoption.h: Synchronize with
include/freetype/config/ftoption.h.
* src/autofit/afindic.c, src/autofit/afindic.h: New files.
* src/autofit/afglobal.c, src/autofit/aftypes.h,
src/autofit/autofit.c: Updated.
* src/autofit/Jamfile (_sources), * src/autofit/rules.mk
(AUTOF_DRV_SRC): Updated.
2007-06-26 04:44:35 +00:00
Werner Lemberg
46dde4953a
* src/autofit/aflatin.c (af_latin_uniranges): Expand structure to
...
cover all ranges which could possibly be handled by the aflatin
module (since the default fallback for unknown ranges is now the
afcjk module). It might be necessary to fine-tune this further by
splitting off modules for Greek, Cyrillic, or other blocks.
2007-06-14 03:59:02 +00:00
Werner Lemberg
49e18b8d5f
formatting
2007-06-11 21:15:09 +00:00
David Turner
a48162759e
experimental auto-hinter updates
2007-06-11 20:35:54 +00:00
David Turner
b38c15da09
fix bug #19565 , which was caused by an incorrect segment link computation
2007-06-11 19:36:48 +00:00
David Turner
b792017faf
experimental changes for the Latin auto-hinter.
...
note that the new code is disabled by default.
2007-06-11 05:37:35 +00:00
David Turner
f0cd69c1b4
2007-05-28 David Turner <david@freetype.org>
...
* src/autofit/afglobal.c: change default hinting script to
CJK, since it works well with a larger array of scripts. thanks to
"Rahul Bhalerao" <b.rahul.pm@gmail.com> for pointing this out !
2007-05-28 15:42:09 +00:00
Werner Lemberg
607dec79bb
* src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
...
variable.
* src/autofit/afloader.c (af_loader_load_g): Ditto.
* src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
(open_face_from_buffer): Initialize `stream'.
(FT_Request_Metrics): Remove unused variable.
Remove redundant `break' statements.
(FT_Get_Track_Kerning): Remove unused variable.
* src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
afm_parse_kern_data): Remove redundant
`break' statements.
(afm_parser_parse): Ditto.
Don't use uninitialized variables.
* src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
Use `|' operator instead of `^' to set it.
Update all users.
* src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
* src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
comparison.
(TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
(TT_Load_Glyph): Remove unused variable.
2007-05-15 06:49:37 +00:00
Werner Lemberg
94be20ea82
* src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
...
(af_latin_metrics_scale_dim): Fix compiler warnings.
2007-05-09 20:02:55 +00:00
Werner Lemberg
94f1227f32
formatting; improved ChangeLog entries
2007-04-03 07:19:53 +00:00
David Turner
e6472c1251
detect "extra-light" fonts in the auto-hinter in order to avoid producing weird results with them
2007-04-02 13:13:54 +00:00
Werner Lemberg
644b1ad49e
* builds/win32/visualc/index.html,
...
builds/win32/visualc/freetype.dsp,
builds/win32/visualc/freetype.vcproc, README: s/2.3.2/2.3.3/,
s/232/233/.
* docs/CHANGES: Mention ftdiff.
2007-03-28 21:17:11 +00:00
David Turner
23553d6d2b
* docs/CHANGES, docs/VERSION, include/freetype/freetype.h,
...
builds/unix/configure.raw, README, Jamfile: update documentation and bump version
number to 2.3.3
2007-03-26 13:37:17 +00:00
David Turner
f58caa09bc
fix autofit's blue zone computations: it now ignores 1-point contours that
...
correspond to mark attach coordinates, and not to the real glyph outline
2007-03-26 12:39:25 +00:00
Werner Lemberg
3d92f08bc5
* include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
...
macro for `strstr'.
* src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
`trick_names', as suggested by Ivan Nincic.
2007-03-06 11:59:24 +00:00
Werner Lemberg
a091517a04
* src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
...
* src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
2007-02-16 08:12:50 +00:00
Werner Lemberg
3cd6cc24f2
formatting
2007-02-16 08:10:17 +00:00
David Turner
a6bdb667d9
better handling of serif segments in the Latin auto-fitter, gets rid of
...
broken "9" in Arial 9pt/96dpi
2007-02-12 22:33:48 +00:00
David Turner
2ef3e0f1cd
fix inter-letter spacing of auto-hinted glyphs (non-light modes)w
2007-02-12 21:28:21 +00:00
Werner Lemberg
582067dc92
* src/autofit/afloader.c (af_loader_load_g): Don't change width for
...
non-spacing glyphs.
2007-02-11 15:03:05 +00:00
Werner Lemberg
689dd66b56
More typo fixes from Alexei.
2007-01-30 23:08:50 +00:00
David Turner
a7ee608c1d
disable light auto-hinting optimization for the next release
2007-01-30 10:33:53 +00:00
Werner Lemberg
6e87ed9f04
Spelling fixes from Alexei.
2007-01-26 22:18:56 +00:00
Werner Lemberg
bf24176be5
formatting
2007-01-26 16:08:49 +00:00
David Turner
d91eebda1c
improvement to glyph spacing, especially when light auto-hinting
2007-01-26 15:05:41 +00:00
Werner Lemberg
b1be9e8b57
* src/cff/cffload.c (cff_index_get_pointers): Handle last entry
...
correctly. This fixes Savannah bug #18867 .
* docs/CHANGES: Document it.
Other formatting.
2007-01-25 11:50:00 +00:00
David Turner
b6de8d1d3f
* src/autofit/aflatin.c, src/autofit/aftypes.h, src/autofit/afwarp.h,
...
src/autofit/afwarp.c: fix and enable the warper to improve "light"
hinting mode. This is not necessarily a final version, but it seems
to work well
2007-01-23 15:51:50 +00:00
Werner Lemberg
b4142d5126
Whitespace and spelling fixes from Alexei.
...
Formatting, copyright years.
2007-01-17 12:45:26 +00:00
David Turner
2212272992
* src/autofit/aflatin.c, src/cff/cffdriver.c, src/truetype/ttobjs.c,
...
src/truetype/ttinterp.c: fixing compiler warnings
2007-01-16 20:06:44 +00:00
Werner Lemberg
8c4120d0a3
Fix various compiler warnings.
...
* src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
s/index/strike_index/.
* src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
* src/gxvalid/gxvmorx5.c
(gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
* src/truetype/ttinterp.c (Compute_Point_Displacement),
src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
uninitialized variables.
2007-01-15 06:42:40 +00:00
Werner Lemberg
23df31adcc
* src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
...
with C++ compiler.
* src/autofit/afhints.c (af_glyph_hints_dump_segments,
af_glyph_hints_dump_edges): Ditto.
* src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
`modules.cfg').
* src/sfnt/ttsbit0.h: Remove.
* src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
2007-01-13 08:45:00 +00:00
Werner Lemberg
6b87e6f0ff
* src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
...
Remove compiler warning.
Formatting.
2007-01-02 19:20:08 +00:00
David Turner
115b442b23
* src/autofit/aflatin.c, src/truetype/ttgload.c: removing compiler
...
warnings
* builds/win32/visualc/freetype.vcproj: adding _CRT_SECURE_NO_DEPRECATE
to avoid deprecation warnings with Visual C++ 8
2006-12-22 11:37:05 +00:00
David Turner
dbf3b43aea
* src/autofit/afloader.c (af_loader_load_g): small adjustment
...
to the spacing of auto-fitter glyphs. This only impacts rare
cases (e.g. Arial Bold at rather small character sizes)
2006-12-07 21:18:09 +00:00