Werner Lemberg
7ac76b50da
Fix several clang static analyzer dead store warnings.
...
* src/autofit/afhints.c (af_glyph_hints_reload,
af_glyph_hints_align_weak_points): Remove unnecessary assignments.
* src/bdf/bdflib.c (bdf_font_load): Ditto.
* src/pshinter/pshalgo.c (psh_glyph_compute_extrema,
psh_glyph_interpolate_other_points): Ditto.
* src/type1/t1load.c (T1_Set_MM_Blend): Ditto.
2014-03-04 04:29:17 +01:00
Sean McBride
7be2a94a50
Fix clang static analyzer and compiler warnings.
...
* src/autofit/afhints.c (af_glyph_hints_align_weak_points),
src/autofit/afloader (af_loader_load_g) <FT_GLYPH_FORMAT_COMPOSITE>,
src/base/ftcalc.c (FT_MSB), src/base/ftoutln.c
(FT_Outline_Decompose), src/bdf/bdfdrivr.c (bdf_interpret_style),
src/cff/cffparse.c (cff_parse_integer), src/cid/cidparse.c
(cid_parser_new), src/pfr/pfrload.c (pfr_phy_font_load),
src/raster/ftraster.c (Decompose_Curve), src/sfnt/sfdriver.c
(sfnt_get_ps_name), src/sfnt/ttcmap.c (tt_cmap12_next,
tt_cmap13_next), src/smooth/ftgrays.c (gray_hline): Remove dead
code.
* src/autofit/afmodule.c (af_property_get_face_globals,
af_property_set, af_property_get), src/base/ftbitmap.c
(ft_gray_for_premultiplied_srgb_bgra): Make functions static.
* src/base/ftobjs.c (ft_remove_renderer): Protect against
library == NULL.
(ft_property_do): Make function static.
* src/base/ftrfork.c: Include `ftbase.h'.
* src/sfnt/ttsbit.c (tt_face_load_sbix_image)
[!FT_CONFIG_OPTION_USE_PNG], src/type1/t1gload.c
(T1_Compute_Max_Advance): Avoid compiler warning.
* src/truetype/ttinterp.c (TT_New_Context): Reduce scope of
variable.
2014-02-08 13:55:38 +01:00
Werner Lemberg
5c7f5500e8
[autofit] Better ftgrid support.
...
* src/autofit/afhints.c (af_glyph_hints_get_segment_offset): Add
parameters `is_blue' and `blue_offset'.
2014-01-03 10:48:26 +01:00
Werner Lemberg
3f91cb338b
[autofit] s/ScriptMetrics/StyleMetrics/.
2013-12-18 12:59:35 +01:00
Werner Lemberg
52166ab0a7
[autofit] Fix use of dumping functions in `ftgrid' demo program.
...
* src/autofit/afhints.c (AF_DUMP) [FT_DEBUG_AUTOFIT]: New macro.
(af_glyph_hints_dump_points, af_glyph_hints_dump_segments,
af_glyph_hints_dump_edges) [FT_DEBUG_AUTOFIT]: Add parameter to
handle output to stdout.
Use AF_DUMP.
(af_glyph_hints_dump_points, af_glyph_hints_dump_segments,
af_glyph_hints_dump_edges) [!FT_DEBUG_AUTOFIT]: Removed.
2013-11-27 10:10:16 +01:00
Werner Lemberg
df41fe5791
Whitespace.
2013-08-05 16:34:32 +02:00
Werner Lemberg
cc25e3ae12
[autofit] Improve handling of `near' points.
...
Points which are very near to each other are now marked as such.
The `weak' flag is then computed by using the `in' vector of the
first and the `out' vector of the last point of a group of near
points.
For example, this fixes the rendering of glyph `Oslash' in
`Roboto-Thin.ttf'.
* src/autofit/afhints.h (AF_Flags): New value `AF_FLAGS_NEAR'.
* src/autofit/afhints.c (af_glyph_hints_reload): Introduce
the heuristic value `near_limit' to decide whether the current point
is near to the previous one, then set `AF_FLAG_NEAR' accordingly.
Store good `in' vector (of last non-near point) in
`last_good_in_{x,y}' and use it as an argument to
`ft_corner_is_flat' if necessary.
2013-08-05 08:46:15 +02:00
Werner Lemberg
eed830614f
Whitespace.
2013-03-23 14:25:43 +01:00
Werner Lemberg
e3c9301581
*/*: Use FT_Err_Ok only.
...
This is a purely mechanical conversion.
2013-03-14 11:21:17 +01:00
Werner Lemberg
059bc335ce
*/*: Use `FT_THROW'.
...
This is essentially a mechanical conversion, adding inclusion of
`FT_INTERNAL_DEBUG_H' where necessary, and providing the macros for
stand-alone compiling modes of the rasterizer modules.
To convert the remaining occurrences of FT_Err_XXX and friends it is
necessary to rewrite the code. Note, however, that it doesn't harm
if some cases are not handled since FT_THROW is a no-op.
2013-03-14 10:27:35 +01:00
Werner Lemberg
b6978dd0c9
[autofit] Do some code cleanup.
...
* src/autofit/afglobal.c (af_face_globals_new): Simplify.
* src/autofit/afhints.c: Use `FT_TRACE7' instead of `printf'
everywhere.
(FT_COMPONENT): New macro.
(af_glyph_hints_done): Simplify.
* include/freetype/internal/fttrace.h: Updated.
2012-07-06 19:38:44 +02:00
Werner Lemberg
fd5ae9599a
[autofit] Improve output of debugging information.
...
* src/autofit/afhints.c (af_glyph_hints_dump_segments): Print more
data; report no data.
(af_glyph_hints_dump_edges): Report no data.
2012-07-05 10:30:41 +02:00
Werner Lemberg
e8da532d2a
[autofit] Improve comment.
2012-07-04 13:51:32 +02:00
Werner Lemberg
6b19fd5c14
Fix g++ 4.6 compilation.
...
* src/autofit/afhints.c (af_glyph_hints_dump_segments,
af_glyph_hints_dump_edges): Use cast.
2011-05-30 07:27:59 +02:00
Daniel Zimmermann
3ad8f35537
Reduce warnings for MS Visual Studio 2010.
...
* src/autofit/afhints.c (af_glyph_hints_get_num_segments,
af_glyph_hints_get_segment_offset) [!FT_DEBUG_AUTOFIT]: Provide
return value.
* src/cff/cffgload.c (cff_slot_load): Add cast.
* src/truetype/ttobjs.c (tt_check_trickyness_sfnt_ids): Use proper
loop variable type.
2011-05-24 06:22:32 +02:00
Werner Lemberg
3a0844c8ef
[autofit] Add more debugging functions.
...
* src/autofit/afhints.c (af_glyph_hints_get_num_segments,
af_glyph_hints_get_segment_offset): New functions.
2011-05-01 13:44:44 +02:00
Werner Lemberg
d503b1bce2
Integrate autofitter debugging stuff.
...
* devel/ftoption.h, include/freetype/config/ftoption.h
(FT_DEBUG_AUTOFIT): New macro.
* include/freetype/internal/fttrace.h: Add trace components for
autofitter.
* src/autofit/aftypes.h (AF_LOG): Removed.
(_af_debug): Removed.
* src/autofit/*: s/AF_DEBUG/FT_DEBUG_AUTOFIT/.
s/AF_LOG/FT_TRACE5/.
Define FT_COMPONENT where necessary.
2011-04-18 19:05:28 +02:00
Werner Lemberg
948a8fb674
Fix formatting of autofit debug dumps.
...
* src/autofit/afhints.c (af_glyph_hints_dump_points,
af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Adjust
column widths.
2011-04-04 13:02:08 +02:00
Werner Lemberg
8bd77f9030
More C++ compilation fixes.
...
* src/autofit/afhints.c (af_glyph_hints_dump_points,
af_glyph_hints_dump_segments, af_glyph_hints_dump_edges)
[__cplusplus]: Protect with `extern "C"'.
2011-03-19 15:27:04 +01:00
Werner Lemberg
576fc2c06e
Add AF_CONFIG_OPTION_USE_WARPER to control the autofit warper.
...
* devel/ftoption.h, include/freetype/config/ftoption.h
(AF_CONFIG_OPTION_USE_WARPER): New macro.
* src/autofit/aftypes.h (AF_USE_WARPER): Remove.
* src/autofit/*: s/AF_USE_WARPER/AF_CONFIG_OPTION_USE_WARPER/.
* src/autofit/afwarp.c [!AF_CONFIG_OPTION_USE_WARPER]: Replace dummy
variable assignment with a typedef.
2011-03-02 03:52:36 +01:00
Werner Lemberg
7ad15d5926
[autofit] Document warper.
2011-02-20 07:30:46 +01:00
Werner Lemberg
c5bda503b9
[autofit] Add a lot of comments and do some minor formatting.
2011-02-16 21:59:44 +01:00
Werner Lemberg
c217bf19f0
Remove unused variable.
...
Found by Graham.
* src/autofit/afhints.c (af_glyph_hints_reload): Remove unused
variable `first' in first block.
2010-05-26 16:16:34 +02:00
Werner Lemberg
09344385ee
autofit: Remove dead code.
...
Suggested by Graham.
* src/autofit/afhints.c (af_glyph_hints_compute_inflections):
Removed.
(af_glyph_hints_reload): Remove third argument.
Update all callers.
2010-05-22 07:43:22 +02:00
suzuki toshiya
87054758fb
autofit: Fix some data types mismatching with their sources.
2009-08-01 00:32:08 +09:00
suzuki toshiya
b56680240a
autofit: Count the size of the memory object by ptrdiff_t.
2009-08-01 00:32:07 +09:00
suzuki toshiya
15dc278c5a
autofit: Fix for unused variable `first'.
2009-08-01 00:32:07 +09: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
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
49e18b8d5f
formatting
2007-06-11 21:15:09 +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
d91eebda1c
improvement to glyph spacing, especially when light auto-hinting
2007-01-26 15:05:41 +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
960ba59ad9
* src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
...
encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
(tt_name_entry_ascii_from_ucs4): Removed.
* include/freetype/ftxf86.h: Fix and extend comment so that it
appears in the documentation.
* include/freetype/ftchapters.h: Add `font_format' section.
* src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
to TOC in index page.
Formatting.
2006-12-01 08:20:47 +00:00
David Turner
80658e5075
* src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch
...
* src/smooth/ftgrays.c: remove hard-coded error values, use FreeType
ones instead
* src/autofit/afhints.c (af_glyph_hints_dump_segments): remove unused
variable
2006-11-28 08:09:20 +00:00
David Turner
1bd6c47260
* src/autofit/afhints.c: add stubs to link the "ftgrid" test program
...
when debugging is disabled in the auto-hinter
2006-11-25 01:30:40 +00:00
David Turner
81e725f513
* src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
...
src/autofit/aftypes.h: Misc. auto-hinter improvements
2006-11-23 14:49:48 +00:00
Werner Lemberg
111b5aefca
* src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
...
Formatting
2006-11-03 09:40:12 +00:00
David Turner
effd15de89
- merging af_corner_XXX and psh_corner_XXX functions into ft_corner_XXX versions in ftcalc.c
...
- more auto-fitter debugging support
2006-11-02 17:21:02 +00:00
David Turner
4060474815
- fixed a bug in af_compute_direction which generated ugly glyphs
...
- added more debug/log messages to help improve the auto-fitter
2006-11-02 16:37:35 +00:00
Werner Lemberg
545c4e566e
* src/truetype/ttgload.c (TT_Load_Composite_Glyph)
...
[FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
Formatting, documentation fixes.
2006-05-17 22:55:04 +00:00
David Turner
281679de85
* include/freetype/internal/tttypes.h, src/autofit/afangles.c,
...
src/autofit/afcjk.c, src/autofit/afhints.c, src/autofit/aflatin.c,
src/autofit/aftypes.h, src/base/ftcalc.c, src/base/ftoutln.c,
src/gzip/ftgzip.c, src/psaux/psconv.c, src/truetype/ttgload.c,
src/type1/t1gload.c:
this is a major patch used to drastically improve the performance
of loading glyphs. This both speeds up loading the glypn vector
themselves and the auto-fitter.
note that we've started using inline assembler with GCC to
implement FT_MulFix, given that this function is so damn
important for the engine's performance.
the resulting speed-up is about 25%.
2006-05-17 13:34:21 +00:00
Werner Lemberg
1be9ebf5f9
* src/autofit/rules.mk (AUTOF_DRV_SRC): Add afwarp.c.
...
Formatting, copyright notices, copyright years.
2006-01-22 06:58:16 +00:00
David Turner
bb4edc9235
* src/autofit/aflatin.c, src/autofit/afwarp.h, src/autofit/afwarp.c,
...
src/autofit/aftypes.h, src/autofit/afloader.c, src/autofit/autofit.c:
adding experimental implementation of "warp hinting" (new hinting
algorithm for gray-level and LCD rendering). It is disabled by default,
you need to #define AF_USE_WARPER in aftypes.h to enable it.
2006-01-21 14:31:45 +00:00
David Turner
5b5f382b7d
* src/autofit/aflatin.c, src/autofit/afhints.c: changed the
...
implementation of the LIGHT hinting mode to completely disable
horizontal hinting. This is an experimental effort to integrate
David Chester's latest patch without fucking the other hinting
modes as well.
Note that this doesn't force auto-hinting for all fonts however.
2005-12-14 16:37:15 +00:00
Werner Lemberg
cee37a3b0a
Clean-up.
2005-11-12 07:34:40 +00:00
David Turner
9fbd2ab884
- various performance enhancements
...
- 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
2005-10-28 16:14:14 +00:00
David Turner
750fa961c6
* Jamfile: removing otvalid from the list of compiled modules
...
* include/freetype/internal/ftserv.h: added compiler pragmas to get rid
of annoying warnings with Visual C++ compiler in maximum warning mode
* src/autofit/afhints.c, src/autofit/aflatin.c, src/base/ftstroke.c,
src/bdf/bdfdrivr.c, src/cache/ftcbasic.c, src/cache/ftccmap.c,
src/cache/ftcmanag.c, src/cff/cffload.c, src/cid/cidload.c,
src/lzw/zopen.c, src/otvalid/otvgdef.c, src/pcf/pcfread.c,
src/sfnt/sfobjs.c, src/truetype/ttgxvar.c: removing compiler warnings
2005-05-01 10:11:32 +00:00
David Turner
0529ba8d25
* include/freetype/config/ftoption.h: commenting the definition of
...
FT_OPTIMIZE_MEMORY for the upcoming 2.1.10 release
* src/autofit/afhints.c: small tweak to use a bit less heap memory
within the auto-fitter
2005-04-03 22:09:41 +00:00
Werner Lemberg
a37745bad4
* docs/CHANGES, docs/INSTALL.ANY: Updated.
...
* include/freetype/ftmoderr.h: Replace `Autohint' with `Autofit'.
Add `OTvalid'.
* src/autofit/aferrors.h: New file.
* src/autofit/afglobal.c, src/autofit/afhints.c,
src/autofit/aflatin.c, src/autofit/afloader.c: s/FT_Err_/AF_Err_/.
Include aferrors.h.
* src/autofit/rules.mk (AUTOF_DRV_H): Include aferrors.h.
* src/otvalid/otverror.h: s/FT_Mod_Err_OTV/FT_Mod_Err_OTvalid/.
2005-03-23 16:45:24 +00:00