History log of /external/freetype/src/autofit/afhints.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0a0c22569deab933df21127e75db5c81f724f292 02-Jan-2018 Werner Lemberg <wl@gnu.org> Update copyright year.
/external/freetype/src/autofit/afhints.c
8768536c89d6bb3e747bc69a7c2c1e58d2ed4aa9 12-Oct-2017 Werner Lemberg <wl@gnu.org> [autofit] Better visualize table tracing in source code.
/external/freetype/src/autofit/afhints.c
0ab2b62d3fa6b3c5a50ece8b322bf21cc0e38d52 09-Sep-2017 Werner Lemberg <wl@gnu.org> [autofit] Improve communication with ftgrid.

* src/autofit/afhints.c (af_glyph_hints_get_segment_offset):
Provide values in font units.
/external/freetype/src/autofit/afhints.c
563ae780229aef5b6f6ae361211d5fb733de8321 04-Jan-2017 Werner Lemberg <wl@gnu.org> Update copyright year.
/external/freetype/src/autofit/afhints.c
4441f7b24675fbd7d91f794f5d54e6c1ff168439 26-Dec-2016 Werner Lemberg <wl@gnu.org> Replace `foo == NULL' and `foo != NULL' with `!foo' and `foo', resp.

Other minor formatting.
/external/freetype/src/autofit/afhints.c
1831e6f0689c8de6340774de1ad00fd3bb6ff924 15-Jul-2016 Werner Lemberg <wl@gnu.org> [autofit] Update and improve segment and edge tracing.

* src/autofit/afhints.c (af_glyph_hints_dump_segments): Trace
`delta' also.
Don't show first point of segment as a replacement for `pos'; this
is (a) misleading, since the difference to `pos' can be almost
arbitrarily large in corner cases, and (b) it is better to have all
segment data in font units instead of a single value given in output
space coordinates.
Improve layout.
(af_glyph_hints_dump_edges): Show px->units and units->px conversion
values for convenience.
Improve layout.
/external/freetype/src/autofit/afhints.c
614a8f17c7bd931e99ebbf70308fe75ee27eb8e7 21-Mar-2016 Werner Lemberg <wl@gnu.org> * src/autofit/afhints.c (af_glyph_hints_reload): Thinko.

This fixes the previous commit to this file.
/external/freetype/src/autofit/afhints.c
709486db7f5684329bdf39156fadf6bdff6d8fdd 20-Mar-2016 Werner Lemberg <wl@gnu.org> [autofit] Show `near' points in tracing.

* src/autofit/afhints.h (AF_FLAG_NEAR): New macro.

* src/autofit/afhints.c (af_glyph_hints_dump_points): Implement it.
(af_glyph_hints_reload): Handle AF_FLAG_NEAR.
/external/freetype/src/autofit/afhints.c
baa41ff204e581fee745d0a2badbe62b35509e58 30-Jan-2016 Werner Lemberg <wl@gnu.org> [autofit] Minor tracing improvement.

* src/autofit/afhints.c (af_glyph_hints_dump_points): Insert newline
at the start of a new contour.
/external/freetype/src/autofit/afhints.c
9adeab6452a220270c311f756d55acd734fd52ea 13-Jan-2016 Werner Lemberg <wl@gnu.org> Update copyright year.
/external/freetype/src/autofit/afhints.c
2e09812c5121413fa29692a46b310983cb3de3e8 25-Dec-2015 Werner Lemberg <wl@gnu.org> [autofit] Make top-to-bottom hinting work in latin auto-hinter.

This improves rendering of scripts like Bengali or Devanagari.

* src/autofit/afhints.c (af_axis_hints_new_edge): Add parameter to
pass top-to-bottom hinting flag. This makes the function sort edges
in descending vertical position.

* src/autofit/afhints.c: Updated.

* src/autofit/aflatin.c (af_latin_hints_compute_edges,
af_latin_hint_edges): Use `top_to_bottom_hinting' flag.

* src/autofit/afcjk.c (af_cjk_hints_compute_edges),
src/autofit/aflatin2.c (af_latin2_hints_compute_edges): Updated.
/external/freetype/src/autofit/afhints.c
68fb4789a582561606fafbe51e7a217598bb35ec 15-Nov-2015 Werner Lemberg <wl@gnu.org> * src/autofit/afhints.c (af_get_segment_index): Fix it.

The old code was too simple, returning invalid values in most cases
where a segment crosses the contour start.
/external/freetype/src/autofit/afhints.c
02cfd71498fda2fca19a8fc70a4c9b7a912425a0 29-Oct-2015 Werner Lemberg <wl@gnu.org> * src/autofit/afhints.c (af_glyph_hints_dump_points): Minor.
/external/freetype/src/autofit/afhints.c
7f00fa64627bb57042ec62aa2ec938f679e097c1 25-Oct-2015 Werner Lemberg <wl@gnu.org> [autofit] Improve tracing.

* src/autofit/afhints.c (af_print_idx, af_get_segment_index,
af_get_edge_index): New functions.

(af_glyph_hints_dump_points): Remove unnecessary `|', `[', and `]'.
Add segment and edge index for each point.
Slightly change printing order of some elements.
Don't print `-1' but `--' for missing elements.

(af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Remove
unnecessary `|', `[', and `]'.
Don't print `-1' but `--' for missing elements.
/external/freetype/src/autofit/afhints.c
a678560dc23f7dfa6d6cda8d0d35be37c04713e2 28-May-2015 Werner Lemberg <wl@gnu.org> Minor.
/external/freetype/src/autofit/afhints.c
409149527173a089278fd6d1b84a2a8dc911c9a6 30-Apr-2015 Alexei Podtelezhnikov <apodtele@gmail.com> [autofit] Speed up IUP.

* src/autofit/afhints.c (af_iup_interp): Separate trivial snapping to
the same position from true interpolation, use `scale' to reduce divisions.
/external/freetype/src/autofit/afhints.c
67b912d2fa17caa921f513cae180c7aae28b1bc6 04-Apr-2015 Alexei Podtelezhnikov <apodtele@gmail.com> * src/autofit/afhints.c (af_glyph_hints_reload): Use do-while loop.
/external/freetype/src/autofit/afhints.c
886f4d049391993197b409a9038138a8208dd5fe 02-Apr-2015 Alexei Podtelezhnikov <apodtele@gmail.com> [autofit] Finish the thought.

* src/autofit/afhints.c (af_direction_compute): make sure the long arm
is never negative so that its `FT_ABS' is not necessary.
/external/freetype/src/autofit/afhints.c
a2fa657a03f17ef9cd79b4ad529f08cfe676aa1c 01-Apr-2015 Werner Lemberg <wl@gnu.org> [autofit] Call dumper functions for tracing.

* src/autofit/afcjk.c (af_cjk_hints_apply): Remove dead code.
* src/autofit/afhints.c (af_glyph_hints_dump_points): Minor
improvement.
* src/autofit/afmodule.c (af_autofitter_load_glyph): Implement it.
/external/freetype/src/autofit/afhints.c
16217e5f22127cbe3aed6375b446629228098b90 01-Apr-2015 Werner Lemberg <wl@gnu.org> * src/autofit/afhints.c (af_glyph_hints_done): Fix minor thinko.
/external/freetype/src/autofit/afhints.c
b57bb11ad015e2d41426d435d6e5ba692afba207 19-Feb-2015 Werner Lemberg <wl@gnu.org> [autofit] Fix signedness issues.

* src/autofit/afangles.c, src/autofit/afcjk.c,
src/autofit/afglobal.c, src/autofit/afhints.c,
src/autofit/aflatin.c, src/autofit/aflatin2.c, src/autofit/afwarp.c,
src/autofit/hbshim.c: Apply.
/external/freetype/src/autofit/afhints.c
81e5ff53a89b454a3984a7181516dfb4cb22187a 19-Feb-2015 Werner Lemberg <wl@gnu.org> [autofit] Use macros for (unsigned) flags, not enumerations.

This harmonizes with other code in FreeType (and reduces the number
of necessary casts to avoid compiler warnings).

* src/autofit/afblue.hin: Make flag macros unsigned.
* src/autofit/afblue.h: Regenerated.

* src/autofit/afcjk.h: Replace flag enumeration with macros.
* src/autofit/afcjk.c: Updated.

* src/autofit/afhints.h (AF_Flags, AF_Edge_Flags): Replace with
macros.
* src/autofit/afhints.c: Updated.

* src/autofit/aflatin.h: Replace flag enumerations with macros.
* src/autofit/aflatin.c, src/autofit/aflatin2.c: Updated.

* src/autofit/aftypes.h (AF_ScalerFlags): Replace with macros.
/external/freetype/src/autofit/afhints.c
b6cb4997e8f0accd98b9589f29e4654e8002501f 06-Feb-2015 Werner Lemberg <wl@gnu.org> [autofit] Fix potential memory leak.

While this doesn't show up with FreeType, exactly the same code
leaks with ttfautohint's modified auto-hinter code (which gets used
in a slightly different way).

It certainly doesn't harm since it is similar to already existing
checks in the code for embedded arrays.

* src/autofit/afhints.c (af_glyph_hints_reload): Set `max_contours'
and `max_points' for all cases.
/external/freetype/src/autofit/afhints.c
f57fc59e016217687362b6fbbc4842fab932175c 17-Jan-2015 Werner Lemberg <wl@gnu.org> Run `src/tools/update-copyright'.
/external/freetype/src/autofit/afhints.c
56ddafa01ce251d2f1f3adde3b0f72dd8ff7a405 14-Jan-2015 Behdad Esfahbod <behdad@behdad.org> [autofit] Add embedded array of segments and edges.

Avoids multiple mallocs per typical glyphs.

With this and recent changes to avoid mallocs, the thread-safe
stack-based loader is now as fast as the previous model that had one
cached singleton.

* src/autofit/afhints.h (AF_SEGMENTS_EMBEDDED, AF_EDGES_EMBEDDED):
New macros.
(AF_AxisHintsRec): Add two arrays for segments and edges.

* src/autofit/afhints.c (af_axis_hints_new_segment): Only allocate
data if number of segments exceeds given threshold value.
(af_axis_hints_new_edge): Only allocate data if number of edges
exceeds given threshold value.
(af_glyph_hints_done): Updated.
/external/freetype/src/autofit/afhints.c
6f16b10019d7699aff4d5bbc64999a5fd1ce7457 14-Jan-2015 Behdad Esfahbod <behdad@behdad.org> [autofit] Add embedded arrays for points and contours.

This avoids at least two malloc calls for typical glyphs.

* src/autofit/afhints.h (AF_POINTS_EMBEDDED, AF_CONTOURS_EMBEDDED):
New macros.
(AF_GlyphHintsRec): Add two arrays for contours and points.

* src/autofit/afhints.c (af_glyph_hints_init, af_glyph_hints_done):
Updated.
(af_glyph_hints_reload): Only allocate data if number of contours or
points exceeds given threshold values.
/external/freetype/src/autofit/afhints.c
a632b5f4064873ab7f21b749f93332387bc47f76 03-Dec-2014 Werner Lemberg <wl@gnu.org> [autofit] Better fix for conversion specifiers in debug messages.

Using `%ld' for pointer differences causes warnings on 32bit
platforms. The correct type would be (the relatively new) `%td',
however, this is missing on some important platforms.

This patch improves the change from 2014-11-28.

* src/autofit/afhints.c (AF_INDEX_NUM): Use `int' typecast. Our
pointer differences are always sufficiently small.
(af_glyph_hints_dump_points, af_glyph_hints_dump_segments,
af_glyph_hints_dump_edge): Revert to `%d' and use `AF_INDEX_NUM'.
/external/freetype/src/autofit/afhints.c
9ee6a0a0851334a50e9fc54e382adc468533c140 28-Nov-2014 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> Fix compiler warning to conversion specifiers in debug messages.

* src/autofit/afhints.c (af_glyph_hints_dump_points): Add length
modifier to dump long integers. (af_glyph_hints_dump_segments,
af_glyph_hints_dump_edges): Ditto.
/external/freetype/src/autofit/afhints.c
5b68e4fb60421038b58cceb8ef86e27ebf8625d7 24-Sep-2014 Werner Lemberg <wl@gnu.org> [autofit] Minor clean-ups.

* src/autofit/afhints.c (AF_FLAGS): Remove obsolete values.

* src/autofit/afhints.c (af_glyph_hints_dump_points,
af_glyph_hints_align_strong_points): Updated.

* src/autofit/aflatin.c (af_latin_hints_link_segments,
af_latin_hints_compute_segments), src/autofit/afcjk.c
(af_cjk_hints_link_segments), src/autofit/aflatin2.c
(af_latin2_hints_link_segments, af_latin2_hints_compute_segments):
There are no longer fake segments since more than 10 years...
/external/freetype/src/autofit/afhints.c
387a9fe73dabcac45a11a55bb27fa0e8e7d81437 22-Sep-2014 Werner Lemberg <wl@gnu.org> [autofit] Minor code streamlining.

* src/autofit/afhints.c (af_axis_hints_new_edge): Remove redundant
initialization.
/external/freetype/src/autofit/afhints.c
faa21472b795eff3a5254b17ca10d0333d7d03fe 11-May-2014 Werner Lemberg <wl@gnu.org> [autofit] Fix variable initializations.

* src/autofit/afhints.c (af_glyph_hints_reload): Assign default
values to `in_dir' and `out_dir' for all points.
/external/freetype/src/autofit/afhints.c
07e7b8affeef35383fdef09ebe817b568f71249a 11-May-2014 Werner Lemberg <wl@gnu.org> [autofit] Fix crash with font `CabinSketch-Bold.ttf'.

Problem reported by Ralf S. Engelschall <rse@engelschall.com>.

* src/autofit/afhints.c (af_glyph_hints_reload): Fix threshold for
finding first non-near point.
Properly initialize non-near point deltas.
/external/freetype/src/autofit/afhints.c
8a94b1efd6cfe76ffbd66e9315542c9438a34722 12-Apr-2014 Werner Lemberg <wl@gnu.org> [autofit] Redesign the recognition algorithm of strong points.

In particular, local extrema without horizontal or vertical segments
are better recognized:

+ A + D
\ /
\ /
\ /
\ /
\ + C
\ /
B +/

If the distances AB and CD are large, point B wasn't previously
detected as an extremum since the `ft_corner_is_flat' function
`swallowed' BC regardless of its direction, tagging point B as weak.
The next iteration started at B and made `ft_corner_is_flat' swallow
point C, tagging it as weak also, et voilĂ .

To improve that, another pass gets now performed before calling
`ft_corner_is_flat' to improve the `topology' of an outline: A
sequence of non-horizontal or non-vertical vectors that point into
the same quadrant are handled as a single, large vector.

Additionally, distances of near points are now accumulated, which
makes the auto-hinter handle them as if they were prepended to the
next non-near vector.

This generally improves the auto-hinter's rendering results.

* src/autofit/afhints.c (af_glyph_hints_reload): Implement it.

* src/autofit/afhints.h (AF_FLAGS): Remove no longer used flag
`AF_FLAG_NEAR'.
/external/freetype/src/autofit/afhints.c
7ac76b50da64efc6c9bf2d1e52c1daf42abc54d5 04-Mar-2014 Werner Lemberg <wl@gnu.org> 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.
/external/freetype/src/autofit/afhints.c
7be2a94a50109773459414687151d70a99a1b6bd 08-Feb-2014 Sean McBride <sean@rogue-research.com> 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.
/external/freetype/src/autofit/afhints.c
5c7f5500e89824dad3888a02cd9770e58c44230e 03-Jan-2014 Werner Lemberg <wl@gnu.org> [autofit] Better ftgrid support.

* src/autofit/afhints.c (af_glyph_hints_get_segment_offset): Add
parameters `is_blue' and `blue_offset'.
/external/freetype/src/autofit/afhints.c
3f91cb338b860307b4db874e703bbdf96a8750c6 18-Dec-2013 Werner Lemberg <wl@gnu.org> [autofit] s/ScriptMetrics/StyleMetrics/.
/external/freetype/src/autofit/afhints.c
52166ab0a7e51ebedd144e8cac546a3f732c77b1 27-Nov-2013 Werner Lemberg <wl@gnu.org> [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.
/external/freetype/src/autofit/afhints.c
df41fe57917df4ac239fdbc0877c24049aaf8c90 05-Aug-2013 Werner Lemberg <wl@gnu.org> Whitespace.
/external/freetype/src/autofit/afhints.c
cc25e3ae12216380179506b9d5d9c25293966708 05-Aug-2013 Werner Lemberg <wl@gnu.org> [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.
/external/freetype/src/autofit/afhints.c
eed830614f280406f4c4784d4b22429b8c199cb8 23-Mar-2013 Werner Lemberg <wl@gnu.org> Whitespace.
/external/freetype/src/autofit/afhints.c
e3c9301581a450fae5db73a3b94b10ed6a0aeb5e 14-Mar-2013 Werner Lemberg <wl@gnu.org> */*: Use FT_Err_Ok only.

This is a purely mechanical conversion.
/external/freetype/src/autofit/afhints.c
059bc335ce42220b222763379e89d0cbf2b949eb 14-Mar-2013 Werner Lemberg <wl@gnu.org> */*: 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.
/external/freetype/src/autofit/afhints.c
b6978dd0c949aedbaa1773724e19fec47a34a29c 06-Jul-2012 Werner Lemberg <wl@gnu.org> [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.
/external/freetype/src/autofit/afhints.c
fd5ae9599ad674db14a3730f2a07e11e0407b182 05-Jul-2012 Werner Lemberg <wl@gnu.org> [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.
/external/freetype/src/autofit/afhints.c
e8da532d2a87a2210dc8ddc07966dcf01dd07bd7 04-Jul-2012 Werner Lemberg <wl@gnu.org> [autofit] Improve comment.
/external/freetype/src/autofit/afhints.c
6b19fd5c14883f36f5e7e177d9c1acd2fa7759c9 30-May-2011 Werner Lemberg <wl@gnu.org> Fix g++ 4.6 compilation.

* src/autofit/afhints.c (af_glyph_hints_dump_segments,
af_glyph_hints_dump_edges): Use cast.
/external/freetype/src/autofit/afhints.c
3ad8f355371d495fc0897a5217a48c1bf4c4a982 24-May-2011 Daniel Zimmermann <netzimme@googlemail.com> 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.
/external/freetype/src/autofit/afhints.c
3a0844c8ef274a1dff8594164579a093435fb286 01-May-2011 Werner Lemberg <wl@gnu.org> [autofit] Add more debugging functions.

* src/autofit/afhints.c (af_glyph_hints_get_num_segments,
af_glyph_hints_get_segment_offset): New functions.
/external/freetype/src/autofit/afhints.c
d503b1bce25d61a7ed6c262e013b6ceb3b627045 18-Apr-2011 Werner Lemberg <wl@gnu.org> 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.
/external/freetype/src/autofit/afhints.c
948a8fb674c99ff41ae108b986721a4fd15c6a0e 04-Apr-2011 Werner Lemberg <wl@gnu.org> 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.
/external/freetype/src/autofit/afhints.c
8bd77f9030a718daf6526ce631e9e79fd62a95bd 19-Mar-2011 Werner Lemberg <wl@gnu.org> 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"'.
/external/freetype/src/autofit/afhints.c
576fc2c06e9b34db235b18cc8ae20c3ce789fb65 02-Mar-2011 Werner Lemberg <wl@gnu.org> 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.
/external/freetype/src/autofit/afhints.c
7ad15d59265410139078d835181565b771e34c05 20-Feb-2011 Werner Lemberg <wl@gnu.org> [autofit] Document warper.
/external/freetype/src/autofit/afhints.c
c5bda503b9b15bdd042e2c9696f2b1975f49d98c 16-Feb-2011 Werner Lemberg <wl@gnu.org> [autofit] Add a lot of comments and do some minor formatting.
/external/freetype/src/autofit/afhints.c
c217bf19f02f0d0442bd58516dfab4fabf74ed2c 26-May-2010 Werner Lemberg <wl@gnu.org> Remove unused variable.
Found by Graham.

* src/autofit/afhints.c (af_glyph_hints_reload): Remove unused
variable `first' in first block.
/external/freetype/src/autofit/afhints.c
09344385ee652cb8df33d35f07627c93e827f10d 22-May-2010 Werner Lemberg <wl@gnu.org> 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.
/external/freetype/src/autofit/afhints.c
87054758fb1a416a045690d38dcd3d2b05ab1ac1 31-Jul-2009 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> autofit: Fix some data types mismatching with their sources.
/external/freetype/src/autofit/afhints.c
b56680240a10db7e13cf5925a61946626d269c84 31-Jul-2009 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> autofit: Count the size of the memory object by ptrdiff_t.
/external/freetype/src/autofit/afhints.c
15dc278c5a23eb34c2d71b9a2fccd462a180890f 31-Jul-2009 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> autofit: Fix for unused variable `first'.
/external/freetype/src/autofit/afhints.c
24d72a1b0b3d7227000a8b9a54f3513f99c7fe4e 13-Jan-2009 Werner Lemberg <wl@gnu.org> 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.
/external/freetype/src/autofit/afhints.c
e85baf4f8e9ba09fd16d31808b6a5d31735b13bf 12-Jan-2009 Werner Lemberg <wl@gnu.org> 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/.
/external/freetype/src/autofit/afhints.c
49e18b8d5f7df1c931e07f94615b375a0399162a 11-Jun-2007 Werner Lemberg <wl@gnu.org> formatting
/external/freetype/src/autofit/afhints.c
b792017fafd1e99e8ca81811a58b09dc562b48c9 11-Jun-2007 David Turner <david@freetype.org> experimental changes for the Latin auto-hinter.
note that the new code is disabled by default.
/external/freetype/src/autofit/afhints.c
d91eebda1c2eb722eeb63fce27fbbf243a701cf0 26-Jan-2007 David Turner <david@freetype.org> improvement to glyph spacing, especially when light auto-hinting
/external/freetype/src/autofit/afhints.c
23df31adcc598c4da75ea6ed3cf11bd95a6e3ba9 13-Jan-2007 Werner Lemberg <wl@gnu.org> * 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.
/external/freetype/src/autofit/afhints.c
960ba59ad95d67c56df4bf22aa1881c48548b2ee 01-Dec-2006 Werner Lemberg <wl@gnu.org> * 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.
/external/freetype/src/autofit/afhints.c
80658e5075a48e892e548e0a1624a4a6a7c09f92 28-Nov-2006 David Turner <david@freetype.org> * 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
/external/freetype/src/autofit/afhints.c
1bd6c47260977043437c7de799c5debe49a27ff3 25-Nov-2006 David Turner <david@freetype.org> * src/autofit/afhints.c: add stubs to link the "ftgrid" test program
when debugging is disabled in the auto-hinter
/external/freetype/src/autofit/afhints.c
81e725f5133557bcfafa1ec55fe6cebb9c559902 23-Nov-2006 David Turner <david@freetype.org> * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
src/autofit/aftypes.h: Misc. auto-hinter improvements
/external/freetype/src/autofit/afhints.c
111b5aefcaf1156fe4f25b3f0f166f3cbc644ac3 03-Nov-2006 Werner Lemberg <wl@gnu.org> * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.

Formatting
/external/freetype/src/autofit/afhints.c
effd15de89b8c11f933609888c8370dc1d6fe948 02-Nov-2006 David Turner <david@freetype.org> - merging af_corner_XXX and psh_corner_XXX functions into ft_corner_XXX versions in ftcalc.c
- more auto-fitter debugging support
/external/freetype/src/autofit/afhints.c
406047481513a215fbd5d631cb2baff836148334 02-Nov-2006 David Turner <david@freetype.org> - fixed a bug in af_compute_direction which generated ugly glyphs
- added more debug/log messages to help improve the auto-fitter
/external/freetype/src/autofit/afhints.c
545c4e566e9785ba3c84062e211d21aeb5be989a 18-May-2006 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
[FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.


Formatting, documentation fixes.
/external/freetype/src/autofit/afhints.c
281679de8591f6884ea904c9c812e520ba3cc5dc 17-May-2006 David Turner <david@freetype.org> * 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%.
/external/freetype/src/autofit/afhints.c
1be9ebf5f909d7fc026eb185a8b5eeb6a372afe6 22-Jan-2006 Werner Lemberg <wl@gnu.org> * src/autofit/rules.mk (AUTOF_DRV_SRC): Add afwarp.c.

Formatting, copyright notices, copyright years.
/external/freetype/src/autofit/afhints.c
bb4edc923597aa48da0d0ac217e7a80d41e77f0d 21-Jan-2006 David Turner <david@freetype.org> * 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.
/external/freetype/src/autofit/afhints.c
5b5f382b7d093e085d41be95cd73075acb5cd1a2 14-Dec-2005 David Turner <david@freetype.org> * 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.
/external/freetype/src/autofit/afhints.c
cee37a3b0a34c88caa981f9ef8cd3080d1fe0def 12-Nov-2005 Werner Lemberg <wl@gnu.org> Clean-up.
/external/freetype/src/autofit/afhints.c
9fbd2ab8849d2517f2e7f4ce1af3c5a77893cbe5 28-Oct-2005 David Turner <david@freetype.org> - 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
/external/freetype/src/autofit/afhints.c
750fa961c63e35913583c0d78e9bfa5bb3dfda59 01-May-2005 David Turner <david@freetype.org> * 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
/external/freetype/src/autofit/afhints.c
0529ba8d2579dcff1c287c40ea491ebc39fa24f5 04-Apr-2005 David Turner <david@freetype.org> * 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
/external/freetype/src/autofit/afhints.c
a37745bad4e46c5ad0e690150b0ec8081ff81c90 23-Mar-2005 Werner Lemberg <wl@gnu.org> * 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/.
/external/freetype/src/autofit/afhints.c
f13516c8321b386227414be01e707563e852fc0d 03-Mar-2005 Werner Lemberg <wl@gnu.org> Various fixes for C and C++ compiling.

* src/autofit/*: Add copyright messages.
Formatting.

* src/autofit/afhints.c (af_glyph_hints_done): Don't use
`AF_Dimension' but `int' for loop counter.

* src/autofit/aflatin.c (af_latin_metrics_init_widths): Don't use
`AF_Dimension' but `int' for loop counter.
Use proper enumeration value for `render_mode'.
(af_latin_metrics_scale_dim): Don't shadow variables.
(af_latin_hints_compute_segments): Use proper cast for `major_dir'
and `segment_dir'.
(af_latin_align_linked_edge, af_latin_hint_edges): Fix arguments of call to
`af_latin_compute_stem_width'.
(af_latin_hints_apply): Don't use `AF_Dimension' but `int' for loop
counter.

* src/base/ftdbgmem.c (ft_mem_table_get_source, FT_DumpMemory): Use
proper cast for memory allocation.

* src/cff/cffdrivr.c (cff_get_kerning): Use proper cast for
initialization of `sfnt'.

* src/sfnt/sfdriver.c: Include `ttkern.h'.

* src/sfnt/ttkern.c (tt_face_get_kerning): Don't shadow variables.

* src/truetype/ttgload.c: Include `ttpload.h'.

* src/truetype/ttpload.c (tt_face_load_loca) [FT_OPTIMIZE_MEMORY]:
Remove redundant variable.
/external/freetype/src/autofit/afhints.c
b19b0810cd887a4c1036121b0d3e9bb93278a0a9 02-Mar-2005 Werner Lemberg <wl@gnu.org> * src/autofit/afdummy.c, src/autofit/afdummy.h
(af_dummy_script_class): Fix type.

* src/autofit/aflatin.c, src/autofit/aflatin.h
(af_latin_script_class): Fix type.

* src/autofit/rules.mk (AUTOF_DRV_SRC): Fix typo.

Formatting.
/external/freetype/src/autofit/afhints.c
b9c22aff61a90a17d8ace2dfda5094df31ac860c 01-Mar-2005 David Turner <david@freetype.org> * src/autofit/{afhints.h,afhints.c,aflatin.h,aflatin.c,afloader.c}:
various bug-fixes and drastic heap usage reduction improvements.

* include/freetype/config/ftmodule.h: the auto-fitter is now the
only supported auto-hinting module

* include/freetype/config/ftstdlib.h: adding FT_INT_MAX definition
/external/freetype/src/autofit/afhints.c
e664efadddc49bee32b337571e329f150006a84b 04-Jun-2004 David Turner <david@freetype.org> * src/autofit/*: important fixes to the auto-fitter. The output
now seems to be 100% equivalent to the auto-hinter, while being
about 2% faster (which proves that script-specific algorithm
selection isn't a performance problem).

to test it, change "autohint" to "autofit" in
<freetype/config/ftmodule.h> and recompile.

a few more testing is needed before making this the official
auto-hinting module
/external/freetype/src/autofit/afhints.c
8bb07e6386ef47f9f9d2bd28a36dda8784530727 27-Mar-2004 Werner Lemberg <wl@gnu.org> Add vertical phantom points.

* include/freetype/internal/tttypes.h (TT_LoaderRec): Add
`top_bearing', `vadvance', `pp3, and `pp4'.

* src/autofit/afloader.c (af_loader_load_g): Handle two more points.

* src/autohint/ahhint.c (ah_hinter_load): Handle two more points.
* src/truetype/ttgload.c (Get_VMetrics): New function.
(TT_Load_Simple_Glyph, TT_Process_Simple_Glyph): Handle two more
points.
(load_truetype_glyph): Use Get_VMetrics.
Handle two more points.
(compute_glyph_metrics): Thanks to vertical phantom points we now
can always compute `advance_height' and `top_bearing'.
* src/truetype/ttobjs.h (TT_SubglyphRec): Add vertical phantom
points.


* src/autohint/ahglyph.c (ah_outline_load): Fix allocation of
`news'.

Converting some files to Unix end-of-line convention.
/external/freetype/src/autofit/afhints.c
dfa46199d21086ce9227d816f33b7b3907379dd5 05-Mar-2004 Werner Lemberg <wl@gnu.org> * Jamfile, vms_make.com, builds/win32/visualc/freetype.dsp,
builds/win32/visualc/freetype/vcproj, include/freetype/ftmoderr.h:
Add LZW module.

* Jamfile.in: Removed.

* docs/CHANGES: Updated.

* include/freetype/internal/ftobjs.h: s/MIN/FT_MIN/, s/MAX/FT_MAX/,
s/ABS/FT_ABS/. Updated all callers.

* src/type1/t1load.c (parse_dict), src/pcf/pcfdrivr.c
(PCF_Face_Init): Use FT_ERROR_BASE.



Add support for PCF fonts compressed with LZW (extension .pcf.Z,
created with `compress').

* include/freetype/config/ftoption.h, devel/ftoption.h
(FT_CONFIG_OPTION_USE_LZW): New macro.

* include/freetype/ftlzw.h: New file.
* include/freetype/config/ftheader.h (FT_LZW_H): New macro for
ftlzw.h.

* src/lzw/*: New files.

* src/pcf/pcfdrivr.c: Include FT_LZW_H.
(PCF_Face_Init): Try LZW also.

* src/gzip/ftgzip.c: s/0/Gzip_Err_Ok/ where appropriate.
Beautify.
/external/freetype/src/autofit/afhints.c
1029ed26af608db8cf03d38ea2e269d16b17d029 23-Feb-2004 David Turner <david@freetype.org> * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
src/autofit/afloader.c, src/types.h: grave bugs were fixed. The
auto-fitter works, doesn't crashes, but still produces unexpected
results !!
/external/freetype/src/autofit/afhints.c
6b3d00e1a0bc5033aeeab51912eda0aff6ed6e8b 03-Feb-2004 Werner Lemberg <wl@gnu.org> * src/type1/t1load.c (parse_dict): Handle `RD' and `-|' commands
outside of /Subrs or /CharStrings. This can happen if there is
additional code manipulating those two arrays so that FreeType
doesn't recognize them properly.
(T1_Open_Face): Improve an error message.

Remove CR/LF on many files.
/external/freetype/src/autofit/afhints.c
f546bacdcfcadd13c3b93332635530e58fc62ce3 01-Feb-2004 David Turner <david@freetype.org> * src/sfnt/Jamfile: removing "ttcmap" from the list of sources

* src/cache/*, include/freetype/cache/*: fixing a bug after heavy
testing. The current sources are now "release candidates" for the
final version of the cache sub-system

* Jamfile: updating "refdoc" target, and adding "autohint" to the
list of modules to build. Both the autohinter and autofitter will be
built by default. But which one will be used is determined by
the content of "ftmodule.h"

* src/autofit/*: much updates, but the code is still buggy as hell.
Aargh..
/external/freetype/src/autofit/afhints.c
8ccb4552a965821f2e5e9913b9c600322667483c 16-Jan-2004 David Turner <david@freetype.org> updates
/external/freetype/src/autofit/afhints.c
cf2c49c80c8337b4326a9a911b2452a88eb23660 24-Dec-2003 David Turner <david@freetype.org> * fixed compilation problems in the cache sub-system

* partial updates to src/autofit
/external/freetype/src/autofit/afhints.c
57ecae22a7b837d486bb03eda944736780ce0868 19-Dec-2003 David Turner <david@freetype.org> new version of the cache sub-system - still under debugging
/external/freetype/src/autofit/afhints.c
ff9d2415a7a192520ea198187dbdb6408625e210 23-Nov-2003 David Turner <david@freetype.org> * src/autofit/*: more updates
/external/freetype/src/autofit/afhints.c
d25ad56d787cd4ecb37a69c64bfb2714458df7fc 02-Oct-2003 David Turner <david@freetype.org> * src/autofit/*: adding first sources of the new multi-script
"auto-fitter"

* include/freetype/ftoutln.h, src/base/ftoutln.c: adding the
definition of FT_Outline_Get_Orientation, used to compute the
fill orientation of a given glyph outline.

* include/freetype/internal/ftserv.h: fixed trivial bug which
could crashed the font engine when a cached service pointer was
retrieved with FT_FACE_LOOKUP_SERVICE
/external/freetype/src/autofit/afhints.c