History log of /external/freetype/src/smooth/ftgrays.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/smooth/ftgrays.c
71fecc539e135d2f5a0295e433693f8090811e26 05-Dec-2017 Werner Lemberg <wl@gnu.org> Improve tracing messages by using singular and plural forms.

* src/*/*.c: Implement it.
/external/freetype/src/smooth/ftgrays.c
87ddad20076d330c4139757054d783be9b3c56ab 04-Dec-2017 Werner Lemberg <wl@gnu.org> Update or fix links to use the https protocol instead of http.
/external/freetype/src/smooth/ftgrays.c
ab6fe0768fd2a319d73adfd6cc1c8338bf2e669c 07-Nov-2017 Alexei Podtelezhnikov <apodtele@gmail.com> * src/smooth/ftgrays.c (gray_set_cell): Fix uninitialized variables.
/external/freetype/src/smooth/ftgrays.c
816516360c7609916a889b5d0f38759e49507e7f 02-Nov-2017 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Fix complex rendering at high ppem.

We used to split large glyphs into horizontal bands and continue
bisecting them still horizontally if that was not enough. This is
guaranteed to fail when a single scanline cannot fit into the
rendering memory pool. Now we bisect the bands vertically so that
the smallest unit is a column of the band height, which is guranteed
to fit into memory.

* src/smooth/ftgrays.c (gray_convert_glyph): Implement it.
/external/freetype/src/smooth/ftgrays.c
91015cb41d8f56777f93394f5a60914bc0c0f330 22-Oct-2017 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Improve complex rendering at high ppem.

At large sizes almost but not exactly horizontal segments can quickly
drain the rendering pool. This patch at least avoids filling the pool
with trivial cells. Beyond this, we can only increase the pool size.

Reported, analyzed, and tested by Colin Fahey.

* src/smooth/ftgrays.c (gray_set_cell): Do not record trivial cells.
/external/freetype/src/smooth/ftgrays.c
6bea49e026ce8a103de2b3c232042458b8f309eb 15-Oct-2017 Alexei Podtelezhnikov <apodtele@gmail.com> [base] Netpbm image tracing.

* src/base/ftobjs.c (FT_Load_Glyph): Trace bitmap size.
(FT_Render_Glyph_Internal): Trace bitmap in Netpbm format.

* src/smooth/ftgrays.c (gray_sweep): Sweep remnants of span tracing.
/external/freetype/src/smooth/ftgrays.c
dcd8de272f940065b6a326b16518e3e5acb695a6 09-Jun-2017 Werner Lemberg <wl@gnu.org> */*: Remove `OVERFLOW_' prefix.

This increases readability.
/external/freetype/src/smooth/ftgrays.c
cd02d359a6d0455e9d16b87bf9665961c4699538 01-Jun-2017 Werner Lemberg <wl@gnu.org> [smooth] Some 32bit integer overflow run-time errors.

* src/smooth/ftgrays.c [STANDALONE] (OVERFLOW_ADD_LONG,
OVERFLOW_SUB_LONG, OVERFLOW_MUL_LONG, NEG_LONG): New macros.
[!STANDALONE]: Include FT_INTERNAL_CALC_H.
(gray_render_cubic): Use those macros where appropriate.
/external/freetype/src/smooth/ftgrays.c
761d9e418bb76499cf9d12bfbddf8e7ae7ff96fb 23-Feb-2017 Alexei Podtelezhnikov <apodtele@gmail.com> * src/smooth/ftgrays.c (gray_hline): Improve code.
/external/freetype/src/smooth/ftgrays.c
fcd47b3d3e41a7ee4dd6e675a83b18c59b1e9f04 13-Feb-2017 Alexei Podtelezhnikov <apodtele@gmail.com> * src/smooth/ftgrays.c (gray_sweep): Improve code.
/external/freetype/src/smooth/ftgrays.c
a3754d662652e12da290e504692ac08538bc1dd8 02-Feb-2017 Alexei Podtelezhnikov <apodtele@gmail.com> Comment.
/external/freetype/src/smooth/ftgrays.c
2ca5b07d4f27a1f1c3be9438c49b41a15a84ff7b 01-Feb-2017 Alexei Podtelezhnikov <apodtele@gmail.com> * src/smooth/ftgrays.c (gray_render_scanline): Improve code.
/external/freetype/src/smooth/ftgrays.c
563ae780229aef5b6f6ae361211d5fb733de8321 04-Jan-2017 Werner Lemberg <wl@gnu.org> Update copyright year.
/external/freetype/src/smooth/ftgrays.c
24be60b5f160d9aad7366bf3043ec8069664df0b 01-Jan-2017 Werner Lemberg <wl@gnu.org> */*: Use hex numbers for errors in tracing messages.
/external/freetype/src/smooth/ftgrays.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/smooth/ftgrays.c
1d28f697d24207bc3a95ed2a12c43ff66ef6a7b2 29-Nov-2016 Werner Lemberg <wl@gnu.org> [smooth] Revert previous commit. Already fixed with 6ca54c64.
/external/freetype/src/smooth/ftgrays.c
d949a3db5809e9ad258a5933a606d1ae9ff0c25a 29-Nov-2016 Werner Lemberg <wl@gnu.org> [smooth] Avoid conditional jump on uninitialized value (#49711).

* src/smooth/ftgrays.c (gray_raster_render): Initialize `worker'.
/external/freetype/src/smooth/ftgrays.c
b0aacff474a4514566c287001e0fc9918756be32 01-Oct-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Remove impossibility.

* src/smooth/ftgrays.c (TWorker): Rearrange fields.
(gray_convert_glyph): Remove impossible condition and clean up.
/external/freetype/src/smooth/ftgrays.c
45cad2e5e15c08b682e87b5636cccfc941b3fe7d 28-Sep-2016 Werner Lemberg <wl@gnu.org> More FT_ZERO usage.

* src/gxvalid/gxvcommn.c (gxv_ClassTable_validate):
s/ft_memset/FT_MEM_ZERO/.

* src/psaux/t1decode.c (t1_decoder_parse_charstrings):
s/ft_memset/FT_ARRAY_ZERO/.

* src/raster/ftraster.c (FT_ZERO): Define.
(ft_black_new): Use it.
* src/raster/ftrend1.c (ft_raster1_get_cbox):
s/FT_MEM_ZERO/FT_ZERO/.

* src/smooth/ftgrays.c (FT_ZERO): Define.
(gray_raster_new): Use it.
* src/smooth/ftsmooth.c (ft_smooth_get_cbox):
s/FT_MEM_ZERO/FT_ZERO/.
/external/freetype/src/smooth/ftgrays.c
53ae7a542dd7c7b36168cdddb120ef3e0ab97f43 23-Sep-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Reduce divisions in the line renderer.

We don't need some divisions if a line segments stays within a single
row or a single column of pixels.

* src/smooth/ftgrays.c (gray_render_line) [FT_LONG64]: Make divisions
conditional.
/external/freetype/src/smooth/ftgrays.c
c95b7652d8db19530c91e80d23c288bbf27f1b72 17-Sep-2016 Werner Lemberg <wl@gnu.org> s/0/NULL/ for function pointers; comments, formatting.
/external/freetype/src/smooth/ftgrays.c
d5f7533e8ec349f57d3669b5afc694a98f498d6e 15-Sep-2016 Alexei Podtelezhnikov <apodtele@gmail.com> * src/smooth/ftgrays.c (gray_sweep): Remove check for empty table.
/external/freetype/src/smooth/ftgrays.c
ad47550b80b5fa3a77d2b7d5e61193cb078e974e 15-Sep-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Another tiny speed-up.

* src/smooth/ftgrays.c (gray_find_cell): Merge into...
(gray_record_cell): ... this function.
/external/freetype/src/smooth/ftgrays.c
c38be52bf8de3b1699d74932b849bf150265819e 12-Sep-2016 Alexei Podtelezhnikov <apodtele@gmail.com> * src/smooth/ftgrays.c (gray_{find,set}_cell): Remove dubious code.
/external/freetype/src/smooth/ftgrays.c
6ca54c643094800c1915dd856b9ea36276fe1e97 11-Sep-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Fix valgrind warning and reoptimize.

The algorithm calls `gray_set_cell' at the start of each new contour
or when the contours cross the cell boundaries. Double-checking for
that is wasteful.

* src/smooth/ftgrays.c (gray_set_cell): Remove check for a new cell.
(gray_convert_glyph): Remove initialization introduced by 44b172e88.
/external/freetype/src/smooth/ftgrays.c
a0b92bcb47ea6a91a368d890f152631c1f188950 08-Sep-2016 Alexei Podtelezhnikov <apodtele@gmail.com> * src/smooth/ftgrays.c (gray_hline): Microptimize.
/external/freetype/src/smooth/ftgrays.c
9d0a3bd84804926c13808060fc9585a76648ef83 07-Sep-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Operate in absolute bitmap coordinates.

Simpler bitmap addressing improves performance by 1.5%.

* src/smooth/ftgrays.c (gray_TWorker): Remove count fields.
(gray_dump_cells, gray_find_cell, gray_set_cell, gray_hline,
gray_sweep, gray_convert_glyph, gray_raster_render): Updated.
/external/freetype/src/smooth/ftgrays.c
44b172e8839b4e2765a606b6dff10090c3874f20 07-Sep-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Improve contour start (take 2).

* src/smooth/ftgrays.c (gray_move_to): Call `gray_set_cell' directly
instead of...
(gray_start_cell): ... this function, which is removed.
(gray_convert_glyph): Make initial y-coordinate invalid.
/external/freetype/src/smooth/ftgrays.c
9773d5f72136717b41339fe58d72e5c01d0afa04 06-Sep-2016 Alexei Podtelezhnikov <apodtele@gmail.com> * src/smooth/ftgrays.c (gray_move_to, gray_start_cell): Revert.
/external/freetype/src/smooth/ftgrays.c
7effc279b0b625884512d72fa0b7b070b1c785b5 06-Sep-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Improve contour start.

* src/smooth/ftgrays.c (gray_move_to): Call `gray_set_cell' directly
instead of...
(gray_start_cell): ... this function, which is removed.
/external/freetype/src/smooth/ftgrays.c
16583ccde906399758edf73b94bbcf16911ee173 02-Sep-2016 Werner Lemberg <wl@gnu.org> * src/smooth/ftgrays.c (gray_hline): Fix clang compiler warnings.
/external/freetype/src/smooth/ftgrays.c
11d3336af3aeee2a07b38815d2b15a5e69bc99c6 02-Sep-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Simplify span rendering more.

It turns out that there is significant cost associated with `FT_Span'
creation and calls to `gray_render_span' because it happerns so
frequently. This removes these steps from our internal use but leaves
it alone for `FT_RASTER_FLAG_DIRECT" to preserve API. The speed gain
is about 5%.

* src/smooth/ftgrays.c (gray_render_span): Removed. The code is
migrated to...
(gray_hline): ... here.
/external/freetype/src/smooth/ftgrays.c
f44ddfda45eaded9956f46ad1c531b61d8447eef 31-Aug-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Streamline pixmap drawing a bit more.

Zero coverage is unlikely (1 out of 256) to warrant checking. This
gives 0.5% speed improvement in dendering simple glyphs.

* src/smooth/ftgrays.c (gray_hline, gray_render_span): Remove checks.
/external/freetype/src/smooth/ftgrays.c
e73055c791776ec35cb43c39614d35ec5fd99539 30-Aug-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Streamline pixmap drawing.

This gives 2% speed improvement in rendering simple glyphs.

* src/smooth/ftgrays.c (TPixmap): Reduced pixmap descriptor with a
pointer to its bottom-left and pitch to be used in...
(gray_TWorker): ... here.
(gray_render_span): Move pixmap flow check from here...
(gray_raster_render): .. to here.
/external/freetype/src/smooth/ftgrays.c
4d3f7ca8cedbddad40b9e93a82926618e3fb4265 28-Aug-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Reduce stack of band boundaries.

* src/smooth/ftgrays.c (gray_TBand): Removed.
(gray_convert_glyph): Updated to stack band boundaries concisely.
/external/freetype/src/smooth/ftgrays.c
9a444f0547e661ad36a94869c86114502343e431 26-Aug-2016 Alexei Podtelezhnikov <apodtele@gmail.com> * src/smooth/ftgrays.c (gray_raster_render): Minor tweaks.
/external/freetype/src/smooth/ftgrays.c
cb4388783cecc893d0542541f3326f3614ca209d 23-Aug-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Simplify span rendering.

This removes unnecessary complexity of span merging and buffering.
Instead, the spans are rendered as they come, speeding up the
rendering by about 5% percents as a result.

* src/smooth/ftgrays.c [FT_MAX_GRAY_SPANS]: Macro removed.
(gray_TWorker): Remove span buffer and related fields.
(gray_sweep, gray_hline): Updated.

* include/freetype/ftimage.h: Remove documentation note about
`FT_MAX_GRAY_SPANS', which was never in `ftoption.h' and is now gone.
/external/freetype/src/smooth/ftgrays.c
3b37bfc4b59597486230ce67e9b75eb7bc0fab7e 11-Aug-2016 Peter Klotz <Peter.Klotz@ith-icoserve.com> * src/smooth/ftgrays.c (gray_hline): Fix uninitialized access.
/external/freetype/src/smooth/ftgrays.c
97718f3c91864994025048af756ded07218a1aea 06-Aug-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Minor refactoring.

* src/smooth/ftgrays.c (gray_render_scanline, gray_render_line):
Updated.
/external/freetype/src/smooth/ftgrays.c
971f10b63a6685b7c40737cb5629e0a853ae3b17 08-Jul-2016 Werner Lemberg <wl@gnu.org> Formatting.
/external/freetype/src/smooth/ftgrays.c
109d1662d414e880daf509d7e36be4c2bdf443d9 08-Jul-2016 Werner Lemberg <wl@gnu.org> Revert "Formatting."

This reverts commit a0f3a1f25a69a7c5268e87ee6e7a9238c26e6242.
/external/freetype/src/smooth/ftgrays.c
a0f3a1f25a69a7c5268e87ee6e7a9238c26e6242 08-Jul-2016 Werner Lemberg <wl@gnu.org> Formatting.
/external/freetype/src/smooth/ftgrays.c
4a2f8f1faffd7aad7a8cb3be196abc49e4b227da 08-Jul-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Sub-banding protocol revision.

Rasterization sub-banding is utilized at large sizes while using
rather small fixed memory pool. Indeed it is possible to make an
educated guess how much memory is necessary at a given size for a
given glyph. It turns out that, for large majority of European glyphs,
you should store about 8 times more boundary pixels than their height.
Or, vice versa, if your memory pool can hold 800 pixels the band
height should be 100 and you should sub-band anything larger than
that. Should you still run out of memory, FreeType bisects the band
but you have wasted some time. This is what has been implemented in
FreeType since the beginning.

It was overlooked, however, that the top band could grow to twice the
default band size leading to unnecessary memory overflows there. This
commit fixes that. Now the bands are distributed more evenly and
cannot exceed the default size.

Now the magic number 8 is really suitable for rather simple European
scripts. For complex Chinese logograms the magic number should be 13
but that is subject for another day.

* src/smooth/ftgrays.c (gray_convert_glyph): Revise sub-banding
protocol.
/external/freetype/src/smooth/ftgrays.c
d1876e5832300b09529fbfe4cefbbab92e9e15a3 05-Jul-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Variable type revision (part 2).

* src/smooth/ftgrays.c (TArea): Restore original definition as `int'.
(gray_render_line) [FT_LONG64]: Updated.
(gray_convert_glyph): 32-bit band bisection stack should be 32 bands.
(gray_convert_glyph_inner): Trace successes and failures.
/external/freetype/src/smooth/ftgrays.c
597c69596cc59cda01cdbea72cc3900e4c6baabc 02-Jul-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Variable type revision (part 1).

This patch restores original `TCoord' definition as `int' so that the
rendering pool is used more efficiently on LP64 platforms (unix).

* src/smooth/ftgrays.c (gray_TWorker, TCell, gray_TBand): Switch some
fields to `TCoord'.
(gray_find_cell, gray_render_scanline, gray_render_line, gray_hline,
gray_sweep, gray_convert_glyph): Updated.
/external/freetype/src/smooth/ftgrays.c
ef0a3e7e657dda6d006cf1524b89f7f395032b10 29-Jun-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Minor clean-ups.

* src/smooth/ftgrays.c (gray_TWorker): Remove redundant `ycount'.
(gray_sweep, gray_convert_glyph, gray_dump_cells): Updated.
/external/freetype/src/smooth/ftgrays.c
c9cf359fd2a1047c270056e2f080586772fa7b33 28-Jun-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Minor clean-ups.

* src/smooth/ftgrays.c (gray_convert_glyph): Do not use volatile
qualifier.
(gray_raster_render): Move span initializations from here.
(gray_sweep): ... to here and remove unused `target' argument.
/external/freetype/src/smooth/ftgrays.c
25e82bc2b54054b1819c92bad01b623de7d380c7 24-Jun-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Consolidate memory management.

* src/smooth/ftgrays.c (gray_init_cells): Remove function.
(gray_TWorker): Remove fields that become local variables.
(gray_raster_render): Move rendering buffer declaration from here.
(gray_convert_glyph): ... to here and update accordingly.
/external/freetype/src/smooth/ftgrays.c
e22334812f83cd03fe988b5f903d66247e049b7d 23-Jun-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Consolidate boundary checks.

Removing the checks from `gray_hline' shaves 1% off rendering speed.

* src/smooth/ftgrays.c [STANDALONE_]: Duplicate `FT_MIN' and `FT_MAX'.
(gray_TWorker): No need to store `clip_box'.
(gray_hline): Remove unnecessary boundary checks.
(gray_convert_glyph): Move boundary checks from here.
(gray_raster_render): ... to here and consolidate.
/external/freetype/src/smooth/ftgrays.c
78e8fc0dadac960b27d05e62b9a9a6a6b3b12166 22-Jun-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Use `FT_Outline_Get_CBox'.

* src/smooth/ftgrays.c [STANDALONE_]: Duplicate `FT_Outline_Get_CBox'.
(gray_compute_cbox): Remove this function.
(gray_convert_glyph): Update to use `FT_Outline_Get_CBox'.
/external/freetype/src/smooth/ftgrays.c
20c6ef4c25b6a4f1e8b284b1b0898c675f19a476 21-Jun-2016 Werner Lemberg <wl@gnu.org> [smooth] Remove compiler warnings.

* src/smooth/ftgrays.c (gray_convert_glyph): Fix reports from clang.
/external/freetype/src/smooth/ftgrays.c
3c64af98ffa03312ee36809e1fe0a08cb844d4f8 20-Jun-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Sanitize memory managenent.

* src/smooth/ftgrays.c (gray_convert_glyph): Cleaned up.
/external/freetype/src/smooth/ftgrays.c
74fd251b4a7894e3841c560646b5783dd76c74f7 19-Jun-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Remove `band_shoot' that never worked.

* src/smooth/ftgrays.c (gray_TWorker): Remove `band_shoot'.
(gray_convert_glyph): Updated.
/external/freetype/src/smooth/ftgrays.c
3e1f7bc506652bbeb89632733430a72a92dde2cd 19-Jun-2016 Alexei Podtelezhnikov <apodtele@gmail.com> Fresh typos.
/external/freetype/src/smooth/ftgrays.c
72a0653142420a060296ed261406ea61342fae8b 18-Jun-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [raster, smooth] Handle FT_RENDER_POOL_SIZE better.

* src/raster/ftraster.c (FT_MAX_BLACK_POOL): New macro.
(ft_black_render): Updated.
* src/smooth/ftgrays.c (FT_MAX_GRAY_POOL): New macro.
(gray_raster_render): Updated.
/external/freetype/src/smooth/ftgrays.c
7f569f4574e035aeb3bc4457ac8d01d8cede9cf6 15-Jun-2016 Alexei Podtelezhnikov <apodtele@gmail.com> Move function.
/external/freetype/src/smooth/ftgrays.c
32acceff836c2ca40be0034d0efaefad8278fadb 15-Jun-2016 Alexei Podtelezhnikov <apodtele@gmail.com> * src/smooth/ftgrays.c (gray_hline): Optimize if-condition.
/external/freetype/src/smooth/ftgrays.c
77180c7adc8693d81f47634ebd00579d622d1e43 09-Jun-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Re-enable new line renderer on 64-bit archs.

* src/smooth/ftgrays (gray_render_line): Conditionally re-enable new
implementation, where it is safe from overflows.
/external/freetype/src/smooth/ftgrays.c
9cf232ed668476361fb144d79a7e9e8d4debfb1f 09-Jun-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Minor clean-ups.

* src/smooth/ftgrays.c (gray_dump_cells): Move out of the way.
(gray_render_span): Remove spurious casts and streamline.
/external/freetype/src/smooth/ftgrays.c
e9f950938f4862b21cb74c71595b79bfe9a76e5f 27-May-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Shrink bisection stack.

The convergence of Bézier flatteners is fast with the deviation
from straight line being assymptotically cut 4-fold on each bisection.
This justifies smaller bisection stack size.

* src/smooth/ftgrays.c (gray_TWorker): Remove common `bez_stack'.
(gray_render_conic): Create and use conic `bez_stack'. Move back the
band analysis from...
(gray_conic_to): ... here.
(gray_render_cubic): Create and use cubic `bez_stack'. Move back the
band analysis from...
(gray_cubic_to): ... here.
(gray_move_to): Updated.
/external/freetype/src/smooth/ftgrays.c
6e88087d6962714e2cf1d1ddba56cfeb2cf9c02c 06-May-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] More efficient accounting of conic splits and draws.

A single decrement counter of segments to draw, instead of an array,
contains all the information necessary to decide when to split and
when to draw a conic segment. The number of splits before each draw is
equal to the number of trailing zeros in the counter.

* src/smooth/ftgrays.c (gray_TWorker): Remove `lev_stack'.
(gray_render_conic): Updated to use decrement counter of segments.
/external/freetype/src/smooth/ftgrays.c
98967b77e51f1108b9a73f7c59c5145e6ba848d8 24-Mar-2016 Alexei Podtelezhnikov <apodtele@gmail.com> Add comment.
/external/freetype/src/smooth/ftgrays.c
31f2dc19462774dd4e5b55f80cafcee07077e744 23-Mar-2016 Werner Lemberg <wl@gnu.org> [raster, smooth] Directly test outline size (#47500).

This improves stand-alone compilation.

* src/base/ftoutln.c (FT_Outline_Render): Move cbox size test to...

* src/raster/ftraster.c (ft_black_render), src/smooth/ftgrays.c
(gray_raster_render): ...these functions.
/external/freetype/src/smooth/ftgrays.c
e9181aba2c5594f5fedba649170c6e8efbabdea2 23-Mar-2016 Werner Lemberg <wl@gnu.org> [raster, smooth] Fix some clang sanitizer runtime issues.

* src/raster/ftraster.c (ft_black_reset, ft_black_set_mode,
ft_black_render): Harmonize signatures with `ftimage.h'.

* src/smooth/ftgrays.c (gray_raster_render, gray_raster_reset):
Ditto.
/external/freetype/src/smooth/ftgrays.c
3beccbdf3996f9ba749d9aad6e223a2f7c77c542 21-Mar-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Partly revert recent changes.

* src/smooth/ftgrays.c (gray_conic_to, gray_cubic_to): Rework
conditions to fix rendering issues.
/external/freetype/src/smooth/ftgrays.c
8e8bb126d126affb36a2cfe9885f0c62711aa547 19-Mar-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Minor refactoring and microoptimizations.

* src/smooth/ftgrays.c (gray_render_conic, gray_render_cubic): Move
band clipping from here.
(gray_conic_to, gray_cubic_to): ... to here.
(gray_rander_line, gray_render_scanline): Initialize variables closer
to their use.
/external/freetype/src/smooth/ftgrays.c
84b2c63374cb5444e927285ece93a24084674e48 17-Mar-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Minor refactoring.

* src/smooth/ftgrays.c (gray_render_conic, gray_render_cubic): Move
upscaling from here...
(gray_conic_to, gray_cubic_to):... to here.
/external/freetype/src/smooth/ftgrays.c
1865575a712adfcd844ae2aa7abb810e1055c4d4 15-Mar-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Temporarily revert 6eb6158dd787 (#47114).

* src/smooth/ftgrays.c (gray_render_line): Old implementation.
/external/freetype/src/smooth/ftgrays.c
d0b0e31ed775b599912bb021f762deaf39dae3f5 07-Mar-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Replace left shifts with multiplications (#47114).

* src/smooth/ftgrays.c (SUBPIXELS, UPSCALE, DOWNSCALE): Do it.
/external/freetype/src/smooth/ftgrays.c
015c6e08a1e87b421b1dfcff313eeba024f4bc14 01-Mar-2016 Werner Lemberg <wl@gnu.org> Fix clang warnings.

* src/autofit/aflatin.c (af_latin_hints_compute_segments): Use
FT_UShort for `min_flags' and `max_flags'.
Initialize `prev_*' variables.

* src/cff/cffobjs.c (cff_face_init) [FT_DEBUG_LEVEL_TRACE]: Fix
types of local variables.

* src/smooth/ftgrays.c (gray_dump_cells) [FT_DEBUG_LEVEL_TRACE]:
Update `printf' format string.

* src/tools/ftfuzzer/ftfuzzer.cc (setIntermediateAxis): Add cast.
(LLVMFuzzerTestOneInput): Fix loop type.
/external/freetype/src/smooth/ftgrays.c
08e89b734c73fe6caa7141626637afa92c75b443 17-Feb-2016 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Fix integer overflow (#47114).

* src/smooth/ftgrays.c (TArea): Make it unconditionally `long'.
/external/freetype/src/smooth/ftgrays.c
9adeab6452a220270c311f756d55acd734fd52ea 13-Jan-2016 Werner Lemberg <wl@gnu.org> Update copyright year.
/external/freetype/src/smooth/ftgrays.c
9d0b76d7f6e87b68ee739688be693f28094b23bf 12-Jan-2016 Werner Lemberg <wl@gnu.org> Don't use macro names that start with `_[A-Z]' [2/3].

Such macro names are reserved for both C and C++.

* include/freetype/ftimage.h, src/raster/ftraster.c,
src/smooth/ftgrays.c, src/smooth/ftgrays.h:
s/_STANDALONE_/STANDALONE_/.
/external/freetype/src/smooth/ftgrays.c
6eb6158dd787dfbd7576904f99346f5b18a72ee7 07-Oct-2015 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Faster alternative line renderer.

This implementation renders the entire line segment at once without
subdividing it into scanlines. The main speed improvement comes from
reducing the number of divisions to just two per line segment, which
is a bare minimum to calculate cell coverage in a smooth rasterizer.
Notably, the progression from cell to cell does not itself require any
divisions at all. The speed improvement is more noticeable at larger
sizes.

* src/smooth/ftgrays.c (gray_render_line): New implementation.
/external/freetype/src/smooth/ftgrays.c
e2dae8fead1a3b2308b650074a7c139a8cf70fb5 02-Oct-2015 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Clean up worker.

* src/smooth/ftgrays.c (gray_TWorker): Remove never used fields.
/external/freetype/src/smooth/ftgrays.c
8bbcfb2c2f4fccdb9cbe87fc81503e09cdd0cb8c 01-Oct-2015 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Clean up worker.

* src/smooth/ftgrays.c (gray_TWorker): Remove lightly used `last_ey'.
(gray_start_cell, gray_render_line): Update.
/external/freetype/src/smooth/ftgrays.c
d8a44ff9323e7e3524686fd07d7defe7469a8b88 27-Sep-2015 Alexei Podtelezhnikov <apodtele@gmail.com> Remove unused macro.
/external/freetype/src/smooth/ftgrays.c
b002f6882dbf184f353bee39db152a56d4b528d8 07-Sep-2015 Alexei Podtelezhnikov <apodtele@gmail.com> * src/smooth/ftgrays.c (gray_render_line): Simplify clipping.
/external/freetype/src/smooth/ftgrays.c
5a6dc87240905f0e55568678e0fbf93a51242051 05-Sep-2015 Alexei Podtelezhnikov <apodtele@gmail.com> [raster,smooth] Microoptimizations.

* src/raster/ftraster.c (Insert_Y_Turn, Finalize_Profile_Table,
Beziier_Up, ): Use do-while loops.

* src/smooth/ftgrays.c (gray_render_scanline, gray_render_line,
gray_convert_glyph): Ditto.
/external/freetype/src/smooth/ftgrays.c
392cf22f8a5a281b8ebc56bf932e66da78f66410 25-Jun-2015 Werner Lemberg <wl@gnu.org> Another adjustment to header locations.

This change is a result of a discussion thread on freetype-devel

http://lists.nongnu.org/archive/html/freetype-devel/2015-06/msg00041.html

Re-introduce the `freetype2' subdirectory for all FreeType header
files after installation, and rename the `freetype2' subdirectory in
the git repository to `freetype'.

* include/freetype2: Renamed to...
* include/freetype: This.

* CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS,
PRIVATE_HEADERS): Updated.
Update creation of `ftconfig.h'.
Install generated `ftconfig.h'.

* Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated.

* builds/amiga/include/config/ftconfig.h, builds/freetype.mk
(PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work),
builds/unix/freetype2.in: Updated.

* builds/unix/freetype-config.in: Updated.
* builds/unix/configure.raw: Don't check for `rmdir'.
* builds/unix/unix-def.in (DELDIR): Use `rm -rf', which is portable
according to the autoconf info manual.
* builds/unix/install.mk (install, uninstall,
distclean_project_unix): Update and simplify.

* builds/wince/*, builds/windows/*: Updated.

* devel/ft2build.h, include/ft2build.h: Updated.

* include/freetype2/config/ftheader.h,
include/freetype2/internal/ftserv.h,
include/freetype2/internal/internal.h: Update all header file
macros.

* src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated.

* docs/*: Updated.
/external/freetype/src/smooth/ftgrays.c
8502c98b15390a397de2d5826c9d8b017d7fc208 22-Jun-2015 Werner Lemberg <wl@gnu.org> Fix Savannah bug #45097.

We no longer `pollute' the namespace of possible header file names;
instead we move `ft2build.h' up by one level so that it gets
installed in the default include directory (e.g.,
/usr/local/include). After this commit, only `ft2build.h' stays in
the compiler's include path.

No visible changes for the user who follows the standard FreeType
header inclusion rules.

* include/*: Move to ...
* include/freetype2/*: This directory, except `ft2build.h'.

* CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS,
PRIVATE_HEADERS), Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated.

* builds/amiga/include/config/ftconfig.h, builds/freetype.mk
(PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work),
builds/unix/install.mk (install, uninstall),
builds/unix/freetype2.in: Updated.

* builds/unix/freetype-config.in: Updated.
Emit -I directory only if it is not `/usr/include'.

* builds/wince/*, builds/windows/*: Updated.

* devel/ft2build.h, include/ft2build.h: Updated.

* include/freetype2/config/ftheader.h,
include/freetype2/internal/ftserv.h,
include/freetype2/internal/internal.h: Update all header file
macros.

* src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated.

* docs/*: Updated.
/external/freetype/src/smooth/ftgrays.c
4d1f7af17b4b0966d5ed7fab215fc855fe459345 23-Feb-2015 Werner Lemberg <wl@gnu.org> [smooth, raster] Re-enable standalone compilation.

* src/raster/ftraster.c (FT_RENDER_POOL_SIZE, FT_MAX)
[_STANDALONE_]: Define macros.

* src/smooth/ftgrays.c (FT_RENDER_POOL_SIZE, FT_MAX, FT_ABS,
FT_HYPOT) [_STANDALONE_]: Define macros.
/external/freetype/src/smooth/ftgrays.c
cb13e7109ce10a3860066e59ce8907ac67d2e297 23-Feb-2015 Werner Lemberg <wl@gnu.org> [smooth] Signedness fixes.

* src/smooth/ftgrays.c, src/smooth/ftsmooth.c: Apply.
/external/freetype/src/smooth/ftgrays.c
f57fc59e016217687362b6fbbc4842fab932175c 17-Jan-2015 Werner Lemberg <wl@gnu.org> Run `src/tools/update-copyright'.
/external/freetype/src/smooth/ftgrays.c
b2ba68665f93be2b03b6b27aa30dc9f190cf3fef 14-Jan-2015 Behdad Esfahbod <behdad@behdad.org> [smooth] Fix uninitialized memory access.

Looks like `ras.span_y' could always be used without initialization.
This was never detected by valgrind before because the library-wide
`raster_pool' was used for the worker object and `raster_pool' was
originally zero'ed. But subsequent reuses of it were using `span_y'
uninitialized. With the recent change to not use `render_pool' and
allocate worker and buffer on the stack, valgrind now detects this
uninitialized access.

* src/smooth/ftgrays.c (gray_raster_render): Initialize
`ras.span_y'.
/external/freetype/src/smooth/ftgrays.c
747ae2c8aa3d8d3a5b731caf6aca9aae4ffb74fb 14-Jan-2015 Behdad Esfahbod <behdad@behdad.org> [smooth] Allocate render pool for smooth rasterizer on the stack.

Instead of using the `render_pool' member of `FT_Library' that is
provided down to the rasterizer, completely ignore that and allocate
needed objects on the stack instead.

With this patch, rasterizing glyphs from different faces from
different threads doesn't crash in the smooth rasterizer.

Bugs:

https://bugzilla.redhat.com/show_bug.cgi?id=678397
https://bugzilla.redhat.com/show_bug.cgi?id=1004315
https://bugzilla.redhat.com/show_bug.cgi?id=1165471
https://bugs.freedesktop.org/show_bug.cgi?id=69034

* src/smooth/ftgrays.c (gray_TRaster): Remove `buffer',
`buffer_size', `band_size', and `worker' members.

(gray_raster_render): Create `buffer', `buffer_size', and
`band_size' locally.
(gray_raster_reset): Updated.
/external/freetype/src/smooth/ftgrays.c
553c9672b35dd39e4ccfe564084ec67bd218d45f 07-Dec-2014 Werner Lemberg <wl@gnu.org> Work around a bug in Borland's C++ compiler.

See

http://qc.embarcadero.com/wc/qcmain.aspx?d=118998

for Borland's bug tracker entry.

Reported by Yuliana Zigangirova <zigangirova@inbox.ru>,
http://lists.gnu.org/archive/html/freetype-devel/2014-04/msg00001.html.

* include/internal/ftvalid.h (FT_ValidatorRec), src/smooth/ftgrays.c
(gray_TWorker_): Move `ft_jmp_buf' field to be the first element.
/external/freetype/src/smooth/ftgrays.c
04c2aa18bf05dbedc88212caa7eb93fb0839bdd3 25-Nov-2014 Werner Lemberg <wl@gnu.org> */*: s/Invalid_Argument/Invalid_Outline/ where appropriate.
/external/freetype/src/smooth/ftgrays.c
3e86711ebf6efdea405f8f35bc34baf737b744df 25-Nov-2014 Werner Lemberg <wl@gnu.org> [Savannah bug #43682] Adjust some renderer callbacks.

* src/raster/ftraster.c (ft_black_set_mode): Change return type to
`int' to stay in sync with `FT_Renderer_SetModeFunc' prototype.

* src/smooth/ftgrays.c (gray_raster_set_mode): New dummy function
for orthogonality.
(ft_grays_raster): Use it.
/external/freetype/src/smooth/ftgrays.c
74916997ded864cb6eb91452c2eaa08f54e5f929 30-Oct-2014 Alexei Podtelezhnikov <apodtele@gmail.com> Unify hypotenuse approximations.

* include/internal/ftcalc.h (FT_HYPOT): Move macro from here...
* include/internal/ftobjs.h: ... to here, next to required `FT_ABS'.
* src/smooth/ftgrays.c (gray_render_cubic): Use it here.
/external/freetype/src/smooth/ftgrays.c
7630787a6a6b2d7bf5c61995f8521923a66f3e70 13-Apr-2014 David Weber <weber.aulendorf@googlemail.com> [smooth] Fix stand-alone compilation.

* src/smooth/ftgrays.c (FT_BEGIN_STMNT, FT_END_STMNT): Define.
/external/freetype/src/smooth/ftgrays.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/smooth/ftgrays.c
fae382076409db198dfbff36ac4cbb97b05b30a1 13-Nov-2013 Werner Lemberg <wl@gnu.org> Simplify header file hierarchy.

This large patch changes the header file directory layout from
`include/freetype/...' to `include/...', effectively removing one
level. Since the file `ft2build.h' is also located in `include'
(and it stays there even after installation), all FreeType header
files are now in a single directory.

Applications that use (a) `freetype-config' or FreeType's
`pkg-config' file to get the include directory for the compiler, and
(b) the documented way for header inclusion like

#include <ft2build.h>
#include FT_FREETYPE_H
...

don't need any change to the source code.

* include/freetype/*: Move up to...
* include/*: ... this directory.

* builds/amiga/include/freetype/*: Move up to...
* builds/amiga/include/*: ... this directory.

*/*: Essentially do `s@/freetype/@/@' where appropriate.

* CMakeList.txt: Simplify.
* builds/unix/freetype-config.in, builds/unix/freetype2.in: For
`--cflags', return a single directory.
* builds/unix/install.mk (install): No longer try to remove `cache'
and `internal' subdirectories; instead, remove the `freetype'
subdirectory.
/external/freetype/src/smooth/ftgrays.c
9a7951d99b056957ba002a4e20ba7057d64faff5 16-Jul-2013 Werner Lemberg <wl@gnu.org> [smooth] Fix segfault caused by previous commit.

* src/smooth/ftgrays.c (gray_set_cell): Always compute
`ras.invalid'.
/external/freetype/src/smooth/ftgrays.c
89929ec6b961456dba8fe3126815a0d49e2e9cb8 16-Jul-2013 David Turner <digit@google.com> [smooth] Improve performance.

Provide a work-around for an ARM-specific performance bug in GCC.
This speeds up the rasterizer by more than 5%.

Also slightly optimize `set_gray_cell' and `gray_record_cell' (which
also improves performance on other platforms by a tiny bit (<1%).

* src/smooth/ftgrays.c (FT_DIV_MOD): New macro.
Use it where appropriate.

(gray_record_cell, gray_set_cell, gray_move_to,
gray_convert_glyph_inner): Streamline condition handling.
/external/freetype/src/smooth/ftgrays.c
d7e3444b8ac426c47d0506a0a1453e983915a992 14-Jun-2013 Werner Lemberg <wl@gnu.org> * src/smooth/ftgrays.c One final pragma to silence 64-bit MSVC.
/external/freetype/src/smooth/ftgrays.c
dc624ca4dcac1cbfb6870414e6aaedba43aeb9ee 04-Jun-2013 Werner Lemberg <wl@gnu.org> Apply fixes for cppcheck nitpicks.

http://cppcheck.sourceforge.net/

Note that the current version heavily chokes on FreeType, delivering
even wrong results. I will report those issues to the cppcheck team
so that a newer version gives improved results hopefully.

*/* Improve variable scopes.
*/* Remove redundant initializations which get overwritten.

* src/base/ftmac.c ,builds/mac/ftmac.c (count_faces_scalable):
Remove unused variable.

* src/base/ftdbgmem.c (ft_mem_table_destroy): `table' can't be zero.

* src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt1_entry_validate):
Remove functionless code.

* src/tools/ftrandom.c (main): Fix memory leak.
/external/freetype/src/smooth/ftgrays.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/smooth/ftgrays.c
4cd5fd463edd0055c5270a0e13c52983668ce078 24-Jan-2013 Werner Lemberg <wl@gnu.org> Remove trailing whitespace.
/external/freetype/src/smooth/ftgrays.c
fdcbaf19fef106522eb5a5e11acbd04a3fa6330f 21-Oct-2012 Werner Lemberg <wl@gnu.org> [smooth] Improve tracing.

* src/smooth/ftgrays.c (gray_sweep): Trace last sweep line of
current band also.
/external/freetype/src/smooth/ftgrays.c
9ea55c7c333e47345de2dff0e613e3e23dc8fdd3 12-Aug-2012 Alexei Podtelezhnikov <apodtele@gmail.com> Fix Savannah bug #37017.

* src/smooth/ftgrays.c (gray_render_cubic): Use a different set of
checks when detecting super curvy splines to be split.
/external/freetype/src/smooth/ftgrays.c
f1ec08429284de4d4ddaa9f1bf30ca6b5cb039c3 11-Mar-2012 Werner Lemberg <wl@gnu.org> s/maximal/maximum/ everywhere, s/minimal/minimum/ where appropriate.
/external/freetype/src/smooth/ftgrays.c
95111433853850345e4c3103b3bdf28a525ebb92 22-Feb-2012 Vinnie Falco <vinnie.falco@gmail.com> Prepare source code for amalgamation (4/6).

* src/smooth/ftgrays.c, src/raster/ftraster.c: Undefine RAS_ARG,
RAS_ARGS, RAS_VAR, and RAS_VARS before defining it.

* src/smooth/ftgrays.c: s/TRaster/black_TRaster/,
s/PRaster/black_PRaster/.
* src/raster/ftraster.c: s/TRaster/gray_TRaster/,
s/PRaster/gray_PRaster/.
/external/freetype/src/smooth/ftgrays.c
d55f16df11121ef4d5af8dfa0d7670d0bb0e238f 21-Feb-2012 Vinnie Falco <vinnie.falco@gmail.com> Prepare source code for amalgamation (3/6).

* src/smooth/ftgrays.c: s/TWorker/black_TWorker/,
s/PWorker/black_PWorker/.
* src/raster/ftraster.c: s/TWorker/gray_TWorker/,
s/PWorker/gray_PWorker/
/external/freetype/src/smooth/ftgrays.c
5ccebc4e1eb71e5ee82a88edb9cd553e08fc69b9 21-Feb-2012 Vinnie Falco <vinnie.falco@gmail.com> Prepare source code for amalgamation (2/6).

* src/smooth/ftgrays.c, src/raster/ftraster.c: Undefine FLOOR,
CEILING, TRUNC, and SCALED before defining it.
/external/freetype/src/smooth/ftgrays.c
126405adde4caf69ea6eacf478ce805f6635f42a 21-Feb-2012 Vinnie Falco <vinnie.falco@gmail.com> Prepare source code for amalgamation (1/6).

See discussion starting at

http://lists.gnu.org/archive/html/freetype-devel/2012-01/msg00037.html

* src/smooth/ftgrays.c: s/TBand/gray_TBand/.
* src/raster/ftraster.c: s/TBand/black_TBand/.
/external/freetype/src/smooth/ftgrays.c
5cb356405eb9f9cad624487a0b836ff6e6f51d6c 10-Dec-2011 Werner Lemberg <wl@gnu.org> Add some variable initializations.
Reported by Richard COOK <rscook@unicode.org>.

* src/type1/t1driver.c (t1_ps_get_font_value): Initialize `val'.
* src/smooth/ftgrays.c (gray_render_conic): Initialize `levels'
earlier.
/external/freetype/src/smooth/ftgrays.c
c52f44d4fdb6ea11cb1ab316f1924a5dd1bf7444 30-Nov-2011 Werner Lemberg <wl@gnu.org> Whitespace.
/external/freetype/src/smooth/ftgrays.c
e9e93d1b19201a5e258f6cd91ada496b6c636a83 17-Sep-2011 Werner Lemberg <wl@gnu.org> [smooth] Slightly optimize conic and cubic flatterners.

* src/smooth/ftgrays.c (gray_render_conic, gray_render_cubic): Move
out some code from the main loop to speed it up.
/external/freetype/src/smooth/ftgrays.c
8fb8841430e34b4e61f6e79bb983479ca831e266 17-Mar-2011 Alexei Podtelezhnikov <apodtele@gmail.com> A better fix for Savannah bug #32671.

* src/smooth/ftgrays.c (gray_render_conic): Clean up code and
replace WHILE loop with a more natural DO-WHILE construct.
/external/freetype/src/smooth/ftgrays.c
6c045535eaa717a05279cbc5724a489bfc9d3bf1 07-Mar-2011 Werner Lemberg <wl@gnu.org> Quick fix for Savannah bug #32671.

This isn't the optimal solution yet, but it restores the previous
rendering quality (more or less).

* src/smooth/ftgrays.c (gray_render_conic): Do more splitting.
/external/freetype/src/smooth/ftgrays.c
7c4ac3cb0c3defe453009503d2a85026227bad55 28-Nov-2010 Алексей Подтележников <apodtele@gmail.com> [ftsmooth]: Minor code simplification.

* src/smooth/ftgrays (gray_render_cubic): Do only one comparison
instead of two.
/external/freetype/src/smooth/ftgrays.c
6aee69096f7c04f3c16fa3d1a097180f9fb62154 02-Nov-2010 Alexei Podtelezhnikov <apodtele@gmail.com> [ftsmooth] Improve rendering.

* src/smooth/ftsmooth.c (gray_render_conic): Since version 2.4.3,
cubic deviations have been estimated _after_ UPSCALE, whereas
conic ones have been evaluated _before_ UPSCALE, which produces
inferior rendering results. Fix this.
Partially undo change from 2010-10-15 by using ONE_PIXEL/4; this has
been tested with demo images sent to the mailing list. See

http://lists.gnu.org/archive/html/freetype-devel/2010-10/msg00055.html

and later mails in this thread.
/external/freetype/src/smooth/ftgrays.c
34d61e8637f29b05fccae5464fa4414e62627b8e 15-Oct-2010 Werner Lemberg <wl@gnu.org> Fix thinko in spline flattening.

FT_MAX_CURVE_DEVIATION is dependent on the value of ONE_PIXEL.

* src/smooth/ftgrays.c (FT_MAX_CURVE_DEVIATION): Remove it and
replace it everywhere with ONE_PIXEL/8.
/external/freetype/src/smooth/ftgrays.c
0e6fc09134c0c39016f681802918b92db2ab2155 02-Oct-2010 Werner Lemberg <wl@gnu.org> [smooth] Fix splitting of cubics for negative values.

Reported by Róbert Márki <gsmiko@gmail.com>; see
http://lists.gnu.org/archive/html/freetype/2010-09/msg00019.html.

* src/smooth/ftgrays.c (gray_render_cubic): Fix thinko.
/external/freetype/src/smooth/ftgrays.c
e0a9a93330d3057ddf532205709ba4e1423b2557 20-Sep-2010 Graham Asher <graham.asher@btinternet.com> [smooth] Fix and improve spline flattening.

This fixes the flattening of cubic, S-shaped curves and speeds up
the handling of both the conic and cubic arcs.

See the discussions on the freetype-devel mailing list in late
August and September 2010 for details.

* src/smooth/ftgrays.c (FT_MAX_CURVE_DEVIATION): New macro.
(TWorker): Remove `conic_level' and `cubic_level' elements.
(gray_render_conic): Simplify algorithm.
(gray_render_cubic): New algorithm; details are given in the code
comments.
(gray_convert_glyph): Remove heuristics.
/external/freetype/src/smooth/ftgrays.c
c8f5b98be26df911f41d804d69ccb6d4bf818a53 12-Jul-2010 Werner Lemberg <wl@gnu.org> Remove C++ warnings.

*/*: Initialize pointers where necessary to make g++ happy.
/external/freetype/src/smooth/ftgrays.c
e0176397100a165776c3d28e03c2d4587433cad6 03-Jul-2010 Werner Lemberg <wl@gnu.org> Make ftgrays.c compile stand-alone again.

* src/smooth/ftgrays.c [_STANDALONE_]: Include `stddef.h'.
(FT_INT_MAX, FT_PtrDist)[_STANDALONE_]: Define.
/external/freetype/src/smooth/ftgrays.c
6305b869d86ff415a33576df6d43729673c66eee 30-Jun-2010 Werner Lemberg <wl@gnu.org> Fix Savannah bug #30263.

* src/smooth/ftgrays.c (gray_render_span): Use cast to `unsigned
int' to avoid integer overflow.

* src/smooth/ftsmooth.c (ft_smooth_render_generic): Use smaller
threshold values for `width' and `height'. This is not directly
related to the bug fix but makes sense anyway.
/external/freetype/src/smooth/ftgrays.c
e419f48b40a746465a6c8e1d446b407b8677bfed 24-Jun-2010 Graham Asher <graham.asher@btinternet.com> * src/smooth/ftgrays.c (gray_render_cubic): Fix algorithm.
The previous version was too aggressive, as demonstrated in
http://lists.gnu.org/archive/html/freetype-devel/2010-06/msg00020.html.
/external/freetype/src/smooth/ftgrays.c
7fb3ef64a24489189113f693696eaf935f500c3f 10-Jun-2010 Graham Asher <graham.asher@btinternet.com> ftgrays: Speed up rendering of small cubic splines.

* src/smooth/ftgrays.c (gray_render_cubic): Implement new,
simplified algorithm to find out whether the spline can be replaced
with two straight lines. See this thread for more:

http://lists.gnu.org/archive/html/freetype-devel/2010-06/msg00000.html
/external/freetype/src/smooth/ftgrays.c
ad61f178e2dc59e03ca8769a238f208412b24478 09-Jun-2010 Werner Lemberg <wl@gnu.org> Oops, revert unwanted previous commit for ftgrays.c.
/external/freetype/src/smooth/ftgrays.c
7d3d2cc4fef72c6be9c454b3809c387e12b44cfc 09-Jun-2010 Werner Lemberg <wl@gnu.org> Fix Savannah bug #30082.

* src/cff/cffgload.c (cff_decoder_parse_charstrings)
<cff_op_callothersubr>: Protect against stack underflow.
/external/freetype/src/smooth/ftgrays.c
471980d9dc246da210d73fc91c27627cfdce076d 31-Jul-2009 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> smooth: Improve the format in debug message.
/external/freetype/src/smooth/ftgrays.c
e45e052279c609019822737421eec4f49fcd99cf 31-Jul-2009 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> smooth: Fix some data types mismatching with their sources.
/external/freetype/src/smooth/ftgrays.c
e866cf3f5537cfb03cfb87e3e607f13f41f5d299 31-Jul-2009 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> Improve bitmap size or pixel variables for 16-bit systems.
/external/freetype/src/smooth/ftgrays.c
93bb15940bf51ec4dfa3d4b22292b90569cc5bf1 31-Jul-2009 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> smooth: Fix a data type mismatching with its source.
/external/freetype/src/smooth/ftgrays.c
ea5268d2d2b61dcefdc116e061dd7b2ffb486b02 31-Jul-2009 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> smooth: Fix a data type mismatching with its source.
/external/freetype/src/smooth/ftgrays.c
858abbedc0c156965aba830bfc2072a3c21144cf 26-Jun-2009 Werner Lemberg <wl@gnu.org> For warning messages, replace FT_ERROR with FT_TRACE0.

FT_ERROR is now used only if a function produces a non-zero `error'
value.

Formatting, improving and harmonizing debug strings.
/external/freetype/src/smooth/ftgrays.c
d1862d227cd3431241107849b5b757795da6364d 19-Jun-2009 Werner Lemberg <wl@gnu.org> More ftgray fixes for FT_STATIC_RASTER.
Problems reported by suyu@cooee.cn.

* src/smooth/ftgrays.c (gray_move_to, gray_raster_render): Use
RAS_VAR.
/external/freetype/src/smooth/ftgrays.c
b5a460597a4cc2a0c4f6906279aeb36dc6f94bfc 26-Apr-2009 Werner Lemberg <wl@gnu.org> Make ftgrays compile with _STANDALONE_ and FT_STATIC_RASTER again.
Problems reported by suyu@cooee.cn.

* src/smooth/ftgrays.c (FT_DEFINE_OUTLINE_FUNCS,
FT_DEFINE_RASTER_FUNCS) [_STANDALONE_]: Define.
[!_STANDALONE_]: Include ftspic.h only here.
(ras): Define/declare after definition of `TWorker'.
Use `RAS_VAR_' where necessary.
/external/freetype/src/smooth/ftgrays.c
c1e22f3986d8f7df115f9e5a627c396390cac679 05-Apr-2009 Oran Agra <oran@monfort.co.il> Position Independent Code (PIC) support in smooth renderer.

* src/smooth/ftsmooth.h declare ft_smooth_renderer_class,
ft_smooth_lcd_renderer_class and ft_smooth_lcd_v_renderer_class
using macros from ftrender.h,
when FT_CONFIG_OPTION_PIC is defined create and destroy
functions will be declared.
* src/smooth/ftsmooth.c when FT_CONFIG_OPTION_PIC is defined
the following structs:
ft_smooth_renderer_class, ft_smooth_lcd_renderer_class
and ft_smooth_lcd_v_renderer_class
will have functions to init or create and destroy them
instead of being allocated in the global scope.
And macros will be used from ftspic.h in order to access
ft_grays_raster from the pic_container (allocated in ftgrays.c).

* src/smooth/ftgrays.h include FT_CONFIG_CONFIG_H
* src/smooth/ftgrays.c when FT_CONFIG_OPTION_PIC is NOT defined
func_interface was moved from gray_convert_glyph_inner function
to the global scope.
When FT_CONFIG_OPTION_PIC is defined
func_interface and ft_grays_raster structs
will have functions to init them
instead of being allocated in the global scope.
And func_interface will be allocated on the stack of
gray_convert_glyph_inner.

New Files:
* src/smooth/ftspic.h declare struct to hold PIC globals for smooth
renderer and macros to access them.
* src/smooth/ftspic.c implement functions to allocate, destroy and
initialize PIC globals for smooth renderer.

* src/smooth/smooth.c add new file to build: ftspic.c.
* src/smooth/jamfile add new files to FT2_MULTI build: ftspic.c.
/external/freetype/src/smooth/ftgrays.c
f47acf2b5fcd9d6c9dc58809ef8ecf1b1e0b46ad 12-Jan-2009 Werner Lemberg <wl@gnu.org> Avoid compiler warnings.

* */*: s/do ; while ( 0 )/do { } while ( 0 )/.
Reported by Sean McBride <sean@rogue-research.com>.
/external/freetype/src/smooth/ftgrays.c
3c5ad9516675db198246b460f84ae7ea01b46adb 21-Dec-2008 Werner Lemberg <wl@gnu.org> * src/pfr/pfrdrivr.c, src/winfonts/winfnt.c, src/cache/ftcmanag.c,
src/smooth/ftgrays.c, src/base/ftobjc.s, src/sfobjs.c:
s/_Err_Bad_Argument/_Err_Invalid_Argument/. The former is for
errors in the bytecode interpreter only.
/external/freetype/src/smooth/ftgrays.c
1a5d561dce3731a5691a27a8b0a04c664bca7add 29-Nov-2008 Werner Lemberg <wl@gnu.org> * 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).
/external/freetype/src/smooth/ftgrays.c
bd0f71aa960cdaf0cdeea26d47792e9d13520bf8 22-Sep-2008 Werner Lemberg <wl@gnu.org> Fix Savannah bug #24307.

* include/freetype/internal/t1types.h (CID_FaceRec),
src/type42/t42types.h (T42_FaceRec): Comment out `afm_data'.


* src/smooth/ftgrays.c (gray_raster_render): Don't dereference
`target_map' if FT_RASTER_FLAG_DIRECT is set. Problem reported by
Stephan T. Lavavej <stl@nuwen.net>.
/external/freetype/src/smooth/ftgrays.c
70f4cff19d0b555cf4a217de6cd114af750dddcf 20-Sep-2008 Werner Lemberg <wl@gnu.org> * src/smooth/ftgrays.c (gray_find_cell): Fix threshold. The values
passed to this function are already `normalized'. Problem reported
by Stephan T. Lavavej <stl@nuwen.net>.

* docs/CHANGES: Document it.
/external/freetype/src/smooth/ftgrays.c
22e970a23e8667aeb0ff6ac1c59ac659ad71059a 20-Sep-2008 Werner Lemberg <wl@gnu.org> Formatting, minor code fixes.
/external/freetype/src/smooth/ftgrays.c
6874d85ba0cb281aa977dfaf1964229879437715 20-Sep-2008 Werner Lemberg <wl@gnu.org> * src/base/ftoutln.c: Include FT_INTERNAL_DEBUG_H.
(FT_Outline_Decompose): Decorate with tracing messages.

* src/smooth/ftgrays.c [DEBUG_GRAYS]: Replace with
FT_DEBUG_LEVEL_TRACE.
[_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: Include stdio.h and
stdarg.h.

(FT_TRACE) [_STANDALONE_]: Remove.
(FT_Message) [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: New function.
(FT_TRACE5, FT_TRACE7) [_STANDALONE_]: New macros.
(FT_ERROR) [_STANDALONE_]: Updated.

(gray_hline) [FT_DEBUG_LEVEL_TRACE]: Fix condition.
Use FT_TRACE7.
(gray_dump_cells): Make it `static void'.
(graay_convert_glyph): Use FT_TRACE7.

(FT_Outline_Decompose) [_STANDALONE_]: Synchronize with version in
ftoutln.c.

* src/base/ftadvanc.c (FT_Get_Advance, FT_Get_Advances): Use
FT_ERROR_BASE.

Other minor modifications.
/external/freetype/src/smooth/ftgrays.c
c91dfa39e8863318f092b4d38b31e7dca32d5b40 21-Jun-2008 Werner Lemberg <wl@gnu.org> Improve documentation of gray-level rastering and what to do if you need
less than 256 gray levels.
/external/freetype/src/smooth/ftgrays.c
d2e1573706cd2f9a28250f8f98e943da3fba9d8f 31-Dec-2007 Werner Lemberg <wl@gnu.org> * src/smooth/ftgrays.c (gray_raster_render): Check `outline'
correctly.

Whitespace.
/external/freetype/src/smooth/ftgrays.c
e12ed563d600299fc7e009311ed412be6fde4188 17-Jun-2007 Werner Lemberg <wl@gnu.org> * src/tools/ftrandom.c (font_size): New global variable.
(TestFace): Use it.
(main): Handle new option `--size' to set `font_size'.
(Usage): Updated.

Formatting.
/external/freetype/src/smooth/ftgrays.c
6c2ab0977cd6d443fe845f88c9846bda2944622a 16-Jun-2007 David Turner <david@freetype.org> prevent a 16-bit integer overflow that would create problems when rendering
*very* large anti-aliased outlines
/external/freetype/src/smooth/ftgrays.c
6e87ed9f04f7914e15f9284b0b762b730222c399 26-Jan-2007 Werner Lemberg <wl@gnu.org> Spelling fixes from Alexei.
/external/freetype/src/smooth/ftgrays.c
4ea0a7f0b65c026420f39cabdc146b943c74e2c5 05-Jan-2007 Werner Lemberg <wl@gnu.org> formatting, minor doc fixes, copyright years
/external/freetype/src/smooth/ftgrays.c
8a2c7f8fb804f3b74ea062f1c367b78d12c5b3f2 04-Jan-2007 David Turner <david@freetype.org> * src/raster/ftraster.c, src/smooth/ftgrays.c: small optimization, the
rasterizers now uses the render pool to store their state during scanline
convertion. this saves about 6 KB of heap space for each FT_Library instance
/external/freetype/src/smooth/ftgrays.c
91bd5ddf17f01594bbd05fd226dc680b8d24f523 04-Jan-2007 David Turner <david@freetype.org> * src/smooth/ftgrays.c: small optimization, the rasterizer now
uses the render pool to store its state during its operation,
this saves about 4 KB of heap for each FT_Library instance
/external/freetype/src/smooth/ftgrays.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/smooth/ftgrays.c
3a18c5e29efbb463f360c0951530572a5020535f 28-Nov-2006 David Turner <david@freetype.org> * src/smooth/ftgrays.c (gray_raster_render): return 0 when we're
trying to rendering into a zero-width/height bitmap, instead of an
error code.
/external/freetype/src/smooth/ftgrays.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/smooth/ftgrays.c
36d2eab05468d531cf8f51dce4cbca27e553b672 05-Sep-2006 Werner Lemberg <wl@gnu.org> * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
values which have the upper two bytes set to 0xFF instead of 0xFF
(as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
`HAN NOM B.ttf').

* src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.

Formatting.
/external/freetype/src/smooth/ftgrays.c
2066e0acd6e78520a4837e74a6d34aa41a2ce4d6 05-Sep-2006 David Turner <david@freetype.org> fix stupid bug
/external/freetype/src/smooth/ftgrays.c
c7bc9b79073562ff7cc2c3499e1b97343430eb88 05-Sep-2006 David Turner <david@freetype.org> * src/smooth/ftgrays.c: minor source cleanups and optimization
/external/freetype/src/smooth/ftgrays.c
772e55d38eadd78ace6301034d90c4bb31317e80 05-Sep-2006 David Turner <david@freetype.org> * src/smooth/ftgrays.c (gray_sweep): Avoid buffer overwrites
when to the end of a bitmap scanline. The fun never ends ;-)
/external/freetype/src/smooth/ftgrays.c
aa557a908a9f3a865f9cb06b5d14648fab88acb9 04-Sep-2006 David Turner <david@freetype.org> fix for the latest rasterizer optimization
/external/freetype/src/smooth/ftgrays.c
2d8629b3931dfc66ce5411553e89ea8ffd1b0f7e 03-Sep-2006 Werner Lemberg <wl@gnu.org> * devel/ftoption.h: Synchronize with
include/freetype/config/ftoption.h.

* src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
variable declaration.
(gray_convert_glyph): Fix compiler warnings.

Formatting, copyright years.
/external/freetype/src/smooth/ftgrays.c
bd50295ca4c86ee46e330272078ac58cc60728d8 01-Sep-2006 David Turner <david@freetype.org> * src/smooth/ftgrays.c: optmized the performance of the anti-aliased
rasterizer. The speed gains is between 15% and 25%, depending on
content
/external/freetype/src/smooth/ftgrays.c
7f049f422141b79a5bc6d0abf24b954906629d98 25-Feb-2006 Werner Lemberg <wl@gnu.org> Formatting, copyright years.
/external/freetype/src/smooth/ftgrays.c
de271ab8f027cb35806b3f566cde91722499752e 25-Feb-2006 David Turner <david@freetype.org> * builds/unix/ftsystem.c, include/freetype/config/ftheader.h,
include/freetype/internal/services/svotval.h,
include/freetype/internal/services/svpfr.h,
src/base/ftsystem.c, src/bdf/bdfdrivr.c, src/cache/ftcbasic.c,
src/cff/cffcmap.c, src/gzip/ftgzip.c, src/lzw/ftlzw.c,
src/lzw/ftlzw2.c, src/psaux/t1cmap.c, src/sfnt/ttbdf.c,
src/smooth/ftgrays.c:

solved -Wmissing-prototypes warnings with GCC
/external/freetype/src/smooth/ftgrays.c
8ae1dceb94effa59a307c0b778b37483f808f3d4 20-May-2005 Werner Lemberg <wl@gnu.org> * include/freetype/ftimage.h (FT_Raster_Params),
include/freetype/ftoutln.h (FT_Outline_Translate,
FT_Outline_Transform), src/base/ftoutln.c (FT_Outline_Translate,
FT_Outline_Transform): Decorate parameters with `const' where
appropriate.
Update all callers.

* src/raster/ftraster.c (ft_black_reset), src/smooth/ftgrays.c
(gray_raster_reset): Remove `const' from `pool_base' argument.
/external/freetype/src/smooth/ftgrays.c
eaab4a3c3bccd39e0aeb7108d295574cffcf6c22 18-May-2005 Werner Lemberg <wl@gnu.org> * docs/announce: Start updating.
/external/freetype/src/smooth/ftgrays.c
ce235eaf099765b1a868ce27fef4e83171767e11 17-May-2005 Werner Lemberg <wl@gnu.org> * builds/win32/visualc/freetype.vcproj: Updated.
Exclude debug info for `Release' versions to reduce library size.


* src/base/ftobjs.c (FT_Open_Face): Make it work as documented, this
is, ignore `aface' completely if face_index < 0. Reported by David
Osborn <spam@habitualhiatus.com>.


* include/freetype/ftimage.h (FT_Outline_MoveToFunc,
FT_Outline_LineTo_Func, FT_Outline_ConicToFunc,
FT_Outline_CubicToFunc), src/smooth/ftgrays.c (gray_render_conic,
gray_render_cubic, gray_move_to, gray_line_to, gray_conic_to,
gray_cubic_to, gray_render_span, gray_sweep): Decorate parameters
with `const' where appropriate.
/external/freetype/src/smooth/ftgrays.c
fa420250c59414e432243feffb70be68654b8c27 11-May-2005 Werner Lemberg <wl@gnu.org> * include/freetype/ftimage.h (FT_Raster_RenderFunc),
include/freetype/ftrender.h (FT_Glyph_TransformFunc,
FT_Renderer_Render_Func, FT_Renderer_TransformFunc),
src/base/ftglyph.c (ft_outline_glyph_transform),
src/raster/ftrend1.c (ft_raster1_transform, ft_raster1_render),
src/smooth/ftgrays.c (FT_Outline_Decompose, gray_raster_render),
src/smooth/ftsmooth.c (ft_smooth_transform,
ft_smooth_render_generic, ft_smooth_render, ft_smooth_render_lcd,
ft_smooth_render_lcd_v): Decorate parameters with `const' where
appropriate.

* src/raster/ftraster.c (RASTER_RENDER_POOL): Removed. Obsolete.
(ft_black_render): Decorate parameters with `const' where
appropriate.


* src/sfnt/ttcmap.c (tt_cmap4_set_range): Fix typo (FT_PEEK_SHORT ->
FT_PEEK_USHORT) which caused crashes. Reported by Ismail Donmez
<ismail@kde.org.tr>.
/external/freetype/src/smooth/ftgrays.c
c01c90424939a4b60edce9900cbfed09a9bfacdf 14-Apr-2005 Werner Lemberg <wl@gnu.org> * include/freetype/freetype.h (FT_Vector_Transform),
include/freetype/ftimage.h (FT_Raster_Params),
include/freetype/ftoutln.h, src/base/ftoutln.c (FT_Outline_Get_CBox,
FT_Outline_Copy, FT_Outline_Transform, FT_Vector_Transform,
FT_Outline_Get_Bitmap), src/raster/ftraster.c (ft_black_render),
src/smooth/ftgrays.c (gray_raster_render): Decorate parameters with
`const' where appropriate.

* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Fix arguments
to call of tt_sbit_decoder_load_bitmap.
/external/freetype/src/smooth/ftgrays.c
73861976779a754cc9b808760cc8e6cf98d52549 05-Jun-2003 Werner Lemberg <wl@gnu.org> * include/freetype/internal/ftdriver.h,
include/freetype/internal/ftobjs.h,
include/freetype/internal/psaux.h, src/cid/cidgload.c,
src/psaux/psobjs.c, src/psaux/t1decode.c, src/psaux/psobjs.h,
src/pshinter/pshrec.c, src/pshinter/pshalgo.c,
src/psnames/psmodule.c, src/raster/ftraster.c, src/sfnt/sfobjs.c,
src/smooth/ftgrays.c, src/smooth/ftsmooth.c, src/truetype/ttobjs.c,
src/truetype/ttdriver.c, src/truetype/ttgload.c, src/type1/t1afm.c,
src/type1/t1gload.c, src/type1/t1gload.h, src/type1/t1load.c,
src/type1/t1objs.c, src/type42/t42parse.c, src/type42/t42parse.h:
Many casts and slight argument type changes to make it work with
a 16bit compiler.
/external/freetype/src/smooth/ftgrays.c
b442ca17130e5d103f299440419e5ea3ad1f9fd3 23-Apr-2003 Werner Lemberg <wl@gnu.org> Cleanups.
/external/freetype/src/smooth/ftgrays.c
b280537b6d330a2e24307afc8058a79f5b3b8864 13-Mar-2003 David Turner <david@freetype.org> * src/base/ftdbgmem.c, docs/DEBUG.TXT: added new environment variables
to control memory debugging with FreeType. See the description of
"FT2_DEBUG_MEMORY", "FT2_ALLOC_TOTAL_MAX" and "FT2_ALLOC_COUNT_MAX"
in DEBUG.TXT

* src/cache/ftccache.c, src/cache/ftccmap.c, src/cache/ftcsbits.c,
ftlru.c: fixed the cache sub-system to correctly deal with out-of-memory
conditions.

* src/pfr/pfrobjs.c, src/pfr/pfrsbits.c: fixing compiler warnings and a
small memory leak

* src/psaux/psobjs.c (t1_reallocate_table): fixed a bug (memory leak) that
only happened when trying to resize an array would end in an OOM.

* src/smooth/ftgrays.c: removed compiler warnings / volatile bug

* src/truetype/ttobjs.c: removed segmentation fault that happened in
tight memory environments.
/external/freetype/src/smooth/ftgrays.c
621e4886223a6528fee553f6618ed1c22297ad19 16-Dec-2002 David Turner <david@freetype.org> 2002-12-16 David Turner <david@freetype.org>

* docs/VERSION.DLL: updating document to better explain the differences between
the three version numbers being used on Unix, as well as provide the AutoConf
fragment provided by Lars Clausen

* src/smooth/ftgrays.c (gray_render_conic): fixed small bug that
prevented bezier arcs with negative vertical coordinates to be rendered
appropriately


2002-11-27 Vincent Caron <v.caron@zerodeux.net>

* builds/unix/unix-def.in, builds/unix/freetype-config.in,
builds/unix/configure.ac, src/gzip/rules.mk, src/gzip/ftgzip.c:
adding support for system zlib installations when available on the
target platform (Unix only)
/external/freetype/src/smooth/ftgrays.c
b4e18f1d6a57bd2d1de35c3b6a045063919b8b93 24-Oct-2002 Werner Lemberg <wl@gnu.org> Fix header comment.
/external/freetype/src/smooth/ftgrays.c
4c09ae8002bcd35509f365c871776f9acbe35ab0 05-Oct-2002 Werner Lemberg <wl@gnu.org> * src/smooth/ftgrays.c (SUBPIXELS): Add cast to `TPos'.
Update all callers.
(TRUNC): Add cast to `TCoord'.
Update all callers.
(TRaster): Use `TPos' for min_ex, max_ex, min_ey, max_ey, and
last_ey.
Update all casts.
(gray_render_line): Fix casts for `p' and `first'.
/external/freetype/src/smooth/ftgrays.c
c219a5e8c47a54f0b0a63776413ad6ba77193207 28-Sep-2002 Werner Lemberg <wl@gnu.org> * src/include/freetype/internal/tttypes.h (num_sbit_strikes,
num_sbit_scales): Use `FT_ULong'.
* src/sfnt/sfobjs.c (sfnt_load_face): Updated accordingly.
* src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Ditto.
(find_sbit_image): Remove cast.
* src/raster/ftrend1.c (ft_raster1_render): Fix cast.

* src/sfnt/ttload.c (tt_face_load_names): Use cast.
* src/sfnt/ttcmap.c (code_to_next2): Use long constant.
(code_to_index4): Use cast.
(code_to_index8_12): Fix cast.
* src/sfnt/ttcmap0.c (tt_cmap4_char_next, tt_cmap8_char_index,
tt_cmap12_char_index): Use cast for `result'.
(tt_face_build_cmaps): Use cast.
* src/sfnt/sfobjs.c (tt_name_entry_ascii_from_ucs4): Use cast for
`code'.
(sfnt_load_face): Use FT_Int32 for `flags'.

* src/smooth/ftgrays.c (gray_render_scanline, gray_render_line,
gray_compute_cbox, gray_convert_glyph, gray_raster_reset): Add casts
to `TCoord' and `int'.
More 16bit fixes.
s/FT_Pos/TPos/.
* src/smooth/ftsmooth.c (ft_smooth_render_generic): Add casts.
/external/freetype/src/smooth/ftgrays.c
5dfbdf76594325baea09634869566195cf5937e8 16-Sep-2002 Werner Lemberg <wl@gnu.org> Making ftgrays.c compile stand-alone again.

* include/freetype/ftimage.h: Include ft2build.h only if _STANDALONE_
isn't defined.
* src/smooth/ftgrays.c [_STANDALONE_]: Define ft_memset,
FT_BEGIN_HEADER, FT_END_HEADER.
(FT_MEM_ZERO): Define.
(TRaster) [GRAYS_USE_GAMMA]: Use `unsigned char' instead of FT_Byte.
(gray_render_span, gray_init_gamma): Don't use `FT_UInt'.
Don't cast with `FT_Byte'.
(grays_init_gamma): Don't use `FT_UInt'.

* src/base/ftinit.c (FT_Add_Default_Modules): Improve error message.
* src/pcf/pcfdriver.c (PCF_Face_Done): Improve tracing message.
* include/freetype/config/ftoption.h (FT_MAX_MODULES): Increased
to 32.
/external/freetype/src/smooth/ftgrays.c
b08fe2dc7af972a61f4e6bcadd7bb522861faec5 27-Aug-2002 David Turner <david@freetype.org> * massive re-formatting changes to many, many source files. I don't
want to list them all here. The operations performed were all logical
transformations of the sources:

- trying to convert all enums and constants to CAPITALIZED_STYLE, with
#define definitions like

#define my_old_constants MY_NEW_CONSTANT

- big, big update of the documentation comments

* include/freetype/freetype.h, src/base/ftobjs.c, src/smooth/ftsmooth.c,
include/freetype/ftimage.h: adding support for LCD-optimized rendering
though the new constants/enums:

FT_RENDER_MODE_LCD, FT_RENDER_MODE_LCD_V
FT_PIXEL_MODE_LCD, FT_PIXEL_MODE_LCD_V

this is still work in progress, don't expect everything to work correctly
though most of the features have been implemented.

* adding new FT_LOAD_XXX flags, used to specify both hinting and rendering
targets:

FT_LOAD_TARGET_NORMAL :: anti-aliased hinting & rendering
FT_LOAD_TARGET_MONO :: monochrome bitmaps
FT_LOAD_TARGET_LCD :: horizontal RGB/BGR decimated hinting & rendering
FT_LOAD_TARGET_LCD_V :: vertical RGB/BGR decimated hinting & rendering

note that FT_LOAD_TARGET_NORMAL is 0, which means that the default
behaviour of the font engine is _unchanged_.
/external/freetype/src/smooth/ftgrays.c
b3d5e9cf03dce78e606b79c81cb1f29ce06555d5 28-Jul-2002 Werner Lemberg <wl@gnu.org> s/ft_memset/FT_MEM_SET/.
s/FT_MEM_SET/FT_MEM_ZERO/ where appropriate.
/external/freetype/src/smooth/ftgrays.c
25a6e3a1677aadd56b8c000f0b9d00f22d3c95f1 11-Jun-2002 David Turner <david@freetype.org> * include/freetype/internal/ftobjs.h, src/autohint/ahglyph.c,
src/base/ftobjs.c, src/objs/fttype1.c, src/sfnt/ttcmap0.c,
src/smooth/ftgrays.c: changed uses of "setjmp" and "longjmp"
to "ft_setjmp" and "ft_lonjmp". Removed direct references to
<stdio.h> and <setjmp.h> when appropriate, to eventually replace
them with a FT_CONFIG_STANDARD_LIBRARY_H. Useful for the XFree86
Font Server backend based on FT2.
/external/freetype/src/smooth/ftgrays.c
9ca7a157273201e4e40168e7b239e12bb813f9a7 30-Apr-2002 Werner Lemberg <wl@gnu.org> * src/base/ftmac.c (p2c_str): Removed.
(file_spec_from_path) [TARGET_API_MAC_CARBON]: Added support for
OS X.
(is_dfont) [TARGET_API_MAC_CARBON]: Define only for OS X.
Handle `nameLen' <= 6 also.
(parse_fond): Remove unused variable `name_table'.
Use functionality of old p2c_str directly.
Add safety checks.
(read_lwfn): Initialize `size_p'.
Check for size_p == NULL.
(new_memory_stream, open_face_from_buffer): Updated to FreeType 2.1.
(FT_New_Face_From_LWFN): Remove unused variable `memory'.
Remove some dead code.
(FT_New_Face_From_SFNT): Remove unused variable `stream'.
(FT_New_Face_From_dfont) [TARGET_API_MAC_CARBON]: Define only for
OS X.
(FT_New_Face_From_FOND): Remove unused variable `error'.
(ResourceForkSize): New function.
(FT_New_Face): Use it.
Handle empty resource forks.
Conditionalize some code for OS X.
Add code to call normal loader as a fallback.

Some more variable renames to avoid troubles on the Mac.

* src/raster/ftraster.c:
s/Unknown|Ascending|Descending|Flat/\1_State/.
* src/smooth/ftgrays.c: s/TScan/TCoord/.

Other changes for the Mac.

* include/freetype/config/ftconfig.h: Define FT_MACINTOSH for
Mac platforms.
* src/base/ftobjs.c: s/macintosh/FT_MACINTOSH/.

* src/raster/ftrend1.c (ft_raster1_render): Make `pitch' always
an even number.
/external/freetype/src/smooth/ftgrays.c
5f0ee94c06156e1c0d45c6add8a8716262c866d4 30-Apr-2002 Werner Lemberg <wl@gnu.org> `interface' is reserved on the Mac.

* include/freetype/ftoutln.h, include/freetype/internal/sfnt.h,
src/base/ftoutln.c: s/interface/func_interface/.
* src/base/ftbbox.c (FT_Outline_Get_BBox):
s/interface/bbox_interface/.
* src/cff/cffdrivr.c: s/interface/module_interface/.
* src/cff/cffload.c, src/cff/cffload.h:
s/interface/psnames_interface/.
* src/cid/cidriver.c: s/interface/cid_interface/.
* src/sfnt/sfdriver.c: s/interface/module_interface/.
* src/smooth/ftgrays.c: s/interface/func_interface/.
* src/truetype/ttdriver.c: s/interface/tt_interface/.
* src/type1/t1driver.c: s/interface/t1_interface/.
/external/freetype/src/smooth/ftgrays.c
94ffae5239631a18b8b5a39674c0afa8a992410e 14-Apr-2002 Werner Lemberg <wl@gnu.org> * src/cff/cffgload.c (CFF_Parse_CharStrings): s/rand/Rand/ to avoid
compiler warning.

formatting/fixing ChangeLog
/external/freetype/src/smooth/ftgrays.c
d15bc0d13a163995e1ca11925349bd64d1c33617 12-Apr-2002 David Turner <david@freetype.org> * README.UNX: updated the Unix-specific quick-compilation guide to
warn about the GNU Make requirement at compile time..

* include/freetype/config/ftstdlib.h,
include/freetype/config/ftconfig.h,
include/freetype/config/ftheader.h,
include/freetype/internal/ftmemory.h,
include/freetype/internal/ftobjs.h,

src/autohint/ahoptim.c,

src/base/ftdbgmem.c, src/base/ftdebug.c,
src/base/ftmac.c, src/base/ftobjs.c,
src/base/ftsystem.c,

src/cache/ftcimage.c, src/cache/ftcsbits.c,

src/cff/cffdriver.c, src/cff/cffload.c, src/cff/cffobjs.c,

src/cid/cidload.c, src/cid/cidparse.c, src/cid/cidriver.c,

src/pcf/pcfdriver.c, src/pcf/pcfread.c,

src/psaux/t1cmap.c, src/psaux/t1decode.c,

src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
src/pshinter/pshrec.c,

src/psnames/psmodule.c,

src/raster/ftraster.c,

src/sfnt/sfdriver.c, src/sfnt/ttload.c, src/sfnt/ttpost.c,

src/smooth/ftgrays.c,

src/type1/t1afm.c, src/type1/t1driver.c, src/type1/t1gload.c,
src/type1/t1load.c, src/type1/t1objs.c, src/type1/t1parse.c:

added the new configuration file "ftstdlib.h" used to define
aliases for all ISO C library functions used by the engine
(e.g. strlen, qsort, setjmp, etc...)

this eases the porting of FreeType 2 to exotic environments like
XFree86 modules/extensions..

also removed many #include <string.h>, #include <stdlib.h>, etc...
from the engine's sources where they're not needed..
/external/freetype/src/smooth/ftgrays.c
2c7558ce40fbe164910e50eef25b9fbf498ec25e 11-Apr-2002 David Turner <david@freetype.org> * README, docs/CHANGES, Jamfile.in: updating for the 2.1.0 release
/external/freetype/src/smooth/ftgrays.c
91db04cb9ccd853296af72b6c070bf6fb655a79c 01-Apr-2002 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c: 16bit fixes.
(TT_Load_Simple_Glyph): Improve debug messages.
(load_truetype_glyph): Remove dead code.
* src/truetype/ttinterp.c: 16bit fixes.
* src/truetype/ttobjs.c: Ditto.

* include/freetype/ftsnames.h, include/freetype/internal/sfnt.h,
src/cff/cffload.h, src/psaux/psobjs.h, src/truetype/ttinterp.[ch],
src/sfnt/ttpost.h: s/index/idx/.

formatting, copyright updates.
/external/freetype/src/smooth/ftgrays.c
e459d742e6236df43f542b8c29dfdcf05d69716c 22-Mar-2002 David Turner <david@freetype.org> * include/freetype/internal/ftmemory.h, and a lot of other files !!:

changed the names of memory macros. Examples:

MEM_Set => FT_MEM_SET
MEM_Copy => FT_MEM_COPY
MEM_Move => FT_MEM_MOVE

ALLOC => FT_ALLOC
FREE => FT_FREE
REALLOC = >FT_REALLOC

FT_NEW was introduced to allocate a new object from a _typed_
pointer..

note that ALLOC_ARRAY and REALLOC_ARRAY have been replaced
by FT_NEW_ARRAY and FT_RENEW_ARRAY which take _typed_ pointer
arguments.

This results in _lots_ of sources being changed, but makes the
code more generic and less error-prone..
/external/freetype/src/smooth/ftgrays.c
222cec8c201dfb93aae9e167ead620ea5065cd7b 21-Feb-2002 David Turner <david@freetype.org> * include/freetype/internal/ftdebug.h, src/base/ftdebug.c: modified
the debug sub-system initialization. trace levels can now be specified
within the "FT2_DEBUG" environment variable. See the comments within
"ftdebug.c" for more details

* include/freetype/internal/fttrace.h: new file to define the trace
levels used for debugging. it is used both to define enums and
toggle names for FT2_DEBUG

* src/base/ftobjs.c, src/base/ftstream.c: FT_Assert renamed to
FT_ASSERT

* include/freetype/internal/ftextend.h, src/base/ftextend.c,
src/base/Jamfile, src/base/rules.mk: removing "ftextend" from the
library, since it is now completely obsolete..
/external/freetype/src/smooth/ftgrays.c
e274290d71d952f1d6c227710b8bf9f042b696e7 28-Jan-2002 Werner Lemberg <wl@gnu.org> * src/smooth/ftgrays.c (gray_render_scanline): Fix bug which caused
bad rendering of thin lines (less than one pixel thick).
/external/freetype/src/smooth/ftgrays.c
3975e2e1f5ae5a616c4a4cc9994d483a15c17495 09-Jan-2002 Werner Lemberg <wl@gnu.org> Formatting.
/external/freetype/src/smooth/ftgrays.c
db3ac3b3604abbf8348c06c1f130dac636ebad82 09-Jan-2002 David Turner <david@freetype.org> small speed-up to the anti-aliased renderer
/external/freetype/src/smooth/ftgrays.c
c3b21608699a72698d382ad44c5f9fd6946ce43c 05-Dec-2001 Werner Lemberg <wl@gnu.org> Formatting.

Cleaning up of ChangeLog.

* docs/license.txt: s/X Windows/X Window System/.

* src/raster/ftraster.c: Fix definition condition of MEM_Set().
* src/smooth/ftgrays.c (M_Y): Change value to 192.
* src/base/ftdbgmem.c (ft_mem_table_destroy): Fix printf() parameter.
Remove unused variable.
* src/cache/ftcimage.c (ftc_image_node_init,
ftc_image_node_compare): Remove unused variables.
* src/cache/ftcsbits.c (ftc_sbit_node_weight): Remove unused
variable.
* src/raster/ftraster.c (MEM_Set): Move definition down to avoid
compiler warning.
* src/autohint/ahhint.c (ah_hinter_hint_edges): Use UNUSED() to
avoid compiler warnings.
* src/pcf/pcfread.c (tableNames): Use `const'.
(pcf_read_TOC): Change counter name to avoid compiler warning.
Use `const'.
* src/pshinter/pshrec.c (ps_hints_close): Remove redundant
declaration.
* src/pshinter/pshalgo1.c (psh1_hint_table_init): Rename variables
to avoid shadowing.
* src/pshinter/pshalgo2.c (psh2_hint_table_activate_mask): Ditto.
* src/type1/t1objs.h: Remove double declarations of `T1_Size_Init()'
and `T1_Size_Done()'.
/external/freetype/src/smooth/ftgrays.c
f2c56515f5e0279c93e9fc5c8c6167daf13eaffd 20-Nov-2001 David Turner <david@freetype.org> * src/pshinter/{pshalgo2.c, pshalgo1.c}: fixed stupid bug in sorting
routine that created nasty alignment artefacts.

* src/pshinter/pshrec.c, tests/gview.c: debugging updates..

* src/smooth/ftgrays.c: de-activated experimental gamme support,
apparently, "optimal" gamma tables depend on the monitor type,
resolution and general karma, so it's better to compute them outside
of the rasterizer itself..
/external/freetype/src/smooth/ftgrays.c
adf07a930cb0ce44a57018a2c5edbc9ac8916d88 31-Oct-2001 David Turner <david@freetype.org> * src/smooth/ftgrays.c: adding experimental "gamma" support. This
produces smoother glyphs at small sizes for very little cost

* src/autohint/ahglyph.c, src/autohint/ahhint.c: various fixes to
the auto-hinter. They merely improve the output of sans-serif fonts.
Note that there are still problems with serifed fonts and composites
(accented characters)

* tests/gview.c: updated the debugging glyph viewer to show the
hints generated by the "autohint" module
/external/freetype/src/smooth/ftgrays.c
5a1de37e7e1a2fdc1a5ef1679850b8964975d09b 24-Oct-2001 David Turner <david@freetype.org> replaced liberal uses of "memset" by the "MEM_Set" macro call
(some platforms don't provide this ANSI function !!)

some changes to "ftsystem.c" implementations in order to use
the new memory debugger on Unix, VMS and Amiga too !!
/external/freetype/src/smooth/ftgrays.c
7e4b52d17be4462ff9c74907a70370fa154515f1 19-Oct-2001 David Turner <david@freetype.org> getting rid of compiler warnings
/external/freetype/src/smooth/ftgrays.c
80b8d77024768b6cc5921173d963c01207818106 10-Oct-2001 Werner Lemberg <wl@gnu.org> Fixed a bug in `glnames.py' that prevented it from generating
correct glyph names tables. This resulted in the unavailability of
certain glyphs like `Cacute', `cacute' and `lslash' in Unicode
charmaps, even if these were present in the font (causing problems
for Polish users).

* src/tools/glnames.py (mac_standard_names): Fixed.
(t1_standard_strings): Some fixes and renamed to ...
(sid_standard_names): This.
(t1_expert_encoding): Fixed.
(the_adobe_glyph_list): Renamed to ...
(adobe_glyph_names): This.
(the_adobe_glyphs): Renamed to ...
(adobe_glyph_values): This.
(dump_mac_indices, dump_glyph_list, dump_unicode_values, main):
Updated.
* src/psnames/pstables.h: Regenerated.
* src/psnames/psmodule.c (PS_Unicode_Value): Fix offset.
Fix return value.
Use `sid_standard_table' and `ps_names_to_unicode' instead of
`t1_standard_glyphs' and `names_to_unicode'.
(PS_Macintosh_Name): Use `ps_glyph_names' instead of
`standard_glyph_names'.
(PS_Standard_Strings): Use `sid_standard_names' instead of
`t1_standard_glyphs'.
* doc/BUGS, doc/TODO: New documents.
* src/cache/ftlru.c (FT_Lru_Lookup_Node): Fixed a bug that prevented
correct LRU behaviour.
setjmp() and longjmp() are now used for rollback (i.e. when memory
pool overflow occurs).
Function names are now all uniformly prefixed with `gray_'.

* src/smooth/ftgrays.c: Include <setjmp.h>.
(ErrRaster_MemoryOverflow): New macro.
(TArea): New type to store area values in each cell (using `int' was
too small on 16-bit systems). <limits.h> is included to properly
get the needed data type.
(TCell, TRaster): Use it.
(TRaster): New element `jump_buffer'.
(gray_compute_cbox): Use `RAS_ARG' as the only parameter and get
`outline' from it.
(gray_record_cell): Use longjmp().
(gray_set_cell): Use gray_record_cell() for error handling.
(gray_render_line, gray_render_conic, gray_render_cubic): Simplify.
(gray_convert_glyph_inner): New function, using setjmp().
(gray_convert_glyph): Use it.


Provide a public API to manage multiple size objects for a given
FT_Face in the new header file `ftsizes.h'.

* include/freetype/ftsizes.h: New header file,
* include/freetype/internal/ftobjs.h: Use it.
Remove declarations of FT_New_Size and FT_Done_Size (moved to
ftsizes.h).
* include/freetype/config/ftheader.h (FT_SIZES_H): New macro.
* src/base/ftobjs.c (FT_Activate_Size): New function.
* src/cache/ftcmanag.c: Include ftsizes.h.
(ftc_manager_init_size, ftc_manager_flush_size): Use
FT_Activate_Size.
/external/freetype/src/smooth/ftgrays.c
c4f622c3411141e1dfa94813a6c111b67f4f233e 07-Oct-2001 David Turner <david@freetype.org> * src/smooth/ftgrays: "setjmp/longjmp" is now used for rollback (i.e.
when memory pool overflow occurs), function names are now all prefixed
with "gray_", and a new type (TArea) is defined to store area value in
each cell (using "int" was too small on 16-bit systems)..
/external/freetype/src/smooth/ftgrays.c
415235df1b955940ce85401a076f882e8717ef7b 28-Jun-2001 Werner Lemberg <wl@gnu.org> finishing function header formatting

updating copyrights
/external/freetype/src/smooth/ftgrays.c
52005c304229e2bfc54c0d406944d125d4849920 28-Jun-2001 Werner Lemberg <wl@gnu.org> formatting
/external/freetype/src/smooth/ftgrays.c
8eb0353fec1494ab7d9fe9bb91a5954449ab30c1 20-Jun-2001 Werner Lemberg <wl@gnu.org> Formatting.
/external/freetype/src/smooth/ftgrays.c
8edbcabce1b3756fb1921f85901dcce944bdf1e7 19-Jun-2001 David Turner <david@freetype.org> - updated doc for FT_New_Memory_Face
- removed lots of compiler warnings in lint-style
warning modes (/W4 with Visual C++)
/external/freetype/src/smooth/ftgrays.c
cf24d51531d41b1675753d39533c6ae562f8104b 18-Jun-2001 Werner Lemberg <wl@gnu.org> Minor cleanups to remove compiler warnings.

* include/freetype/cache/ftcmanag.h (FTC_MAX_BYTES_DEFAULT): Use
`L' for constant.
* include/freetype/config/ftoption.h (FT_RENDER_POOL_SIZE): Ditto.
* src/base/ftcalc.c (FT_MulDiv): Use `L' for constant.
* src/base/ftglyph.c (FT_Glyph_Get_CBox): Remove `error' variable.
* src/base/fttrigon.c (ft_trig_arctan_table): Use `L' for constants.
* src/base/ftobjs.c (FT_Done_Size): Fix return value.
(FT_Set_Char_Size, FT_Set_Pixel_Sizes, FT_Get_Kerning): Remove
unused `memory' variable.
* src/autohint/ahglyph.c (ah_get_orientation): Use `L' for constant.
* src/autohint/ahhint.c (ah_hint_edges_3,
ah_hinter_align_edge_points): Remove unused `before' and `after'
variables.
(ah_hinter_align_weak_points): Remove unused `edge_limit' variable.
(ah_hinter_load): Remove unused `new_advance', `start_contour',
and `metrics' variables.
* src/cff/cffload.c (CFF_Load_Encoding): Remove dead code to avoid
compiler warning.
* src/cff/cffobjs.c (CFF_Init_Face): Remove unused `base_offset'
variable.
* src/cff/cffgload.c (CFF_Parse_CharStrings): Remove unused
`outline' variable.
(cff_compute_bias): Use `U' for constant.
* src/cid/cidload.c (cid_decrypt): Ditto.
* src/psaux/psobjs.c (T1_Decrypt): Ditto.
* src/psaux/t1decode.c (T1_Decoder_Parse_CharStrings): Ditto.
* src/sfnt/ttload.c (TT_Load_Kern): Remove unused `version'
variable.
* src/sfnt/ttsbit.c (TT_Load_SBit_Image): Remove unused `top'
variable.
* src/truetype/ttgload.c (load_truetype_glyph): Remove unused
`num_contours' and `ins_offset' variables.
(compute_glyph_metrics): Remove unused `Top' and `x_scale'
variables.
(TT_Load_Glyph): Remove unused `memory' variable.
* src/smooth/ftgrays.c (grays_raster_render): Use `L' for constants.
/external/freetype/src/smooth/ftgrays.c
1f7f0e87e58168b2e739e2622db0ee06e0c9accc 06-Jun-2001 Werner Lemberg <wl@gnu.org> Complete redesign of error codes. Please check ftmoderr.h for more
details.

* include/freetype/internal/cfferrs.h,
include/freetype/internal/tterrors.h,
include/freetype/internal/t1errors.h: Removed. Replaced with files
local to the module. All extra error codes have been moved to
`fterrors.h'.

* src/sfnt/ttpost.h: Move error codes to `fterrors.h'.

* src/autohint/aherrors.h, src/cache/ftcerror.h, src/cff/cfferrs.h,
src/cid/ciderrs.h, src/pcf/pcferror.h, src/psaux/psauxerr.h,
src/psnames/psnamerr.h, src/raster/rasterrs.h, src/sfnt/sferrors.h,
src/smooth/ftsmerrs.h, src/truetype/tterrors.h,
src/type1/t1errors.h, src/winfonts/fnterrs.h: New files defining the
error names for the module it belongs to.

* include/freetype/ftmoderr.h: New file, defining the module error
offsets. Its structure is similar to `fterrors.h'.

* include/freetype/fterrors.h (FT_NOERRORDEF): New macro.
(FT_ERRORDEF): Redefined to use module error offsets.
All internal error codes are now public; unused error codes have
been removed, some are new.

* include/freetype/config/ftheader.h (FT_MODULE_ERRORS_H): New
macro.
* include/freetype/config/ftoption.h
(FT_CONFIG_OPTION_USE_MODULE_ERRORS): New macro.

All other source files have been updated to use the new error codes;
some already existing (internal) error codes local to a module have
been renamed to give them the same name as in the base module.

All make files have been updated to include the local error files.


* src/cid/cidtokens.h: Replaced with...
* src/cid/cidtoken.h: This file for 8+3 consistency.

* src/raster/ftraster.c: Use macros for header file names.
/external/freetype/src/smooth/ftgrays.c
3780273e3e000a728adc97d0a35642347037ca1b 26-Apr-2001 Werner Lemberg <wl@gnu.org> * builds/unix/config.guess, builds/unix/config.sub: Updated to
latest versions from gnu.org.

* builds/compiler/gcc-dev.mk: Add `-Wno-long-long' flag.

* include/freetype/internal/ftcalc.h: Define FT_SqrtFixed()
uncoditionally.
* src/base/ftbbox.c: Include FT_INTERNAL_CALC_H.
Fix compiler warnings.
* src/base/ftcalc.c: Fix (potential) compiler warnings.

* src/base/ftcalc.c (FT_SqrtFixed): Corrected/optimized the 32-bit
fixed-point square root computation. It is now used even with
64-bits integers, as it is _much_ faster than calling FT_Sqrt64 :-)
* src/base/ftbbox.c: Removed invalid "#include FT_BEZIER_H" line.
* src/base/ftbbox.c (BBox_Cubic_Check): Rewrote function to use
direct computations with 16.16 values instead of sub-divisions. It
is now slower, but proves a point :-)
* src/raster/ftraster.c, src/smooth/ftgrays.c, src/base/ftbbox.c:
Fixed the bezier stack depths.
* src/base/ftcalc.c (FT_MulFix): Minor rounding fix.
* builds/beos: Added BeOS-specific files to the old build system
(no changes were necessary to support BeOS in the Jamfile though).
* ftconfig.h, ftoption.h: Updated "ftconfig.h" to detect 64-bit int
types on platforms where Autoconf is not available). Also removed
FTCALC_USE_LONG_LONG and replaced it with
FT_CONFIG_OPTION_FORCE_INT64.
* builds/win32/freetype.dsp: Updated the Visual C++ project file.
Doesn't create a DLL yet.
* cffgload.c: Removed a compilation warning.
/external/freetype/src/smooth/ftgrays.c
caf72cd6e5765aa5419f2f3e8e42610181dc82e8 25-Apr-2001 David Turner <david@freetype.org> * src/base/ftbbox.c (BBox_Cubic_Check): rewrote function to use
direct computations with 16.16 values instead of sub-divisions.
It is now slower, but proves a point :-)

* src/raster/ftraster.c, src/smooth/ftgrays.c, src/base/ftbbox.c :
fixed the bezier stack depths..

* src/base/ftcalc.c (FT_MulFix): minor rounding fix

* builds/beos : added BeOS-specific files to the old build system
(no changes were necessary to support BeOS in the Jamfile though)
/external/freetype/src/smooth/ftgrays.c
8d3a401fa808a8c70bd6a9ce17d5a840fb0ae2db 20-Mar-2001 David Turner <david@freetype.org> * builds/*/*-def.mk: changed the objects directory from "obj" to "objs"

* include/freetype/config/ftheader.h: removed obsolete macros like
FT_SOURCE_FILE, etc.. and added cache-specific macro definitions that
were previously defined in <freetype/ftcache.h>. Added comments to be
included in a new API Reference section.

* src/*/*: removed the use of FT_SOURCE_FILE, etc.. now, each component
needs to added its own directory to the include path at compile time.
Modified all "rules.mk" and "descrip.mms" accordingly..
/external/freetype/src/smooth/ftgrays.c
914b289f1623b1030b66537d3b3ce4b652e4606c 10-Mar-2001 Werner Lemberg <wl@gnu.org> * src/*/*.c: Added many casts to make code more 64bit-safe.
/external/freetype/src/smooth/ftgrays.c
5aeaad6c3900fc66aead452d35a0a3059d2afa35 23-Feb-2001 David Turner <david@freetype.org> fixed a bug reported by Graham Asher
/external/freetype/src/smooth/ftgrays.c
594f0c965d9bfcba9ef07ce54490a8ab7f6ba2a2 20-Dec-2000 Werner Lemberg <wl@gnu.org> * *.mk: Added lots of `.PHONY' targets.


* *.mk: Implemented `platform' target to disable auto-detection.


Added support for clipped direct rendering in the smooth renderer.
This should not break binary compatibility of existing applications.
* include/freetype/fttypes.h, include/freetype/ftimage.h: Move
definition of the FT_BBox structure from the former to the latter.
* include/freetype/ftimage.h: Add `ft_raster_flag_clip' value to
FT_Raster_Flag enumeration.
Add `clip_box' element to FT_Raster_Params structure.
* src/smooth/ftgrays.c (grays_convert_glyph): Implement it.

* src/raster/ftraster.c (ft_black_render): Test for unsupported
direct rendering before testing arguments.
/external/freetype/src/smooth/ftgrays.c
859a18a358ccc64451ac834137e61cf26c9da1f8 14-Dec-2000 David Turner <david@freetype.org> support for clipped direct rendering
updated INSTALL file for Win32 case
/external/freetype/src/smooth/ftgrays.c
63408a12996662d7af707c844a3d879d68c4ca7b 14-Dec-2000 Werner Lemberg <wl@gnu.org> include/freetype/internal/internal.h: Fixed header inclusion macros
to use direct definitions. This is the only way to do these things
in a portable way :-( The rest of the code should follow shortly
though everything compiles now.
* builds/compiler/intelc.mk, builds/compiler/watcom.mk: New files.

* builds/win32/detect.mk: Added support for the Intel C/C++
compiler, as well as _preliminary_ (read: doesn't work!) support for
Watcom. Also added a new setup target. Type "make setup list" for
a list of supported command-line compilers on Win32.

* src/base/ftdebug.c: Added dummy symbol to avoid empty file if
conditionals are off.
/external/freetype/src/smooth/ftgrays.c
170c0d4c0d009bc5c08434b46515238620a410bd 13-Dec-2000 David Turner <david@freetype.org> * include/freetype/config/ft2build.h,
include/freetype/internal/internal.h: fixed header inclusion macros
to use direct definitions. This is the only way to do these things
in a portable way :-( The rest of the code should follow shortly
though everything compiles now..

* builds/compiler/intelc.mk, builds/compiler/watcom.mk,
builds/win32/detect.mk: added support for the Intel C/C++ compiler,
as well as _preliminary_ (read: doesn't work !!) support for Watcom.
Also added a new setup target. Type "make setup list" for a list
of supported command-line compilers on Win32..
/external/freetype/src/smooth/ftgrays.c
d5c1b27d58c4308745338cb0f3f710d6c1549982 12-Dec-2000 Werner Lemberg <wl@gnu.org> * include/freetype/config/ft2build.h (FT2_ROOT, FT2_CONFIG_ROOT):
Removed. ANSI C doesn't (explicitly) allow macro expansion in
arguments using `##'.
(FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE): Use directory
names directly. Make them configurable. Use `##' to strip leading
and trailing spaces from arguments.

* builds/unix/ft2unix.h: Adapted.

* src/base/ftsystem.c (ft_alloc, ft_realloc, ft_free, ft_io_stream,
ft_close_stream): Use FT_CALLBACK_DEF.

* builds/unix/ftsystem.c: Use new header scheme.
(FT_Done_Memory): Use free() from FT_Memory structure.

* src/base/ftinit.c, src/base/ftmac.c: Header scheme fixes.

* include/freetype/config/ft2build.h (FT2_CONFIG_ROOT,
FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE,
FT_SOURCE_FILE): Use `##' operator to be really ANSI C compliant.
/external/freetype/src/smooth/ftgrays.c
19ed8afe60bbc5becf0fbbe3987a91b35a36aad4 08-Dec-2000 David Turner <david@freetype.org> - updated all source files to adhere to the new inclusion scheme
- the CFF loader now loads the encodings and charset tables
though doesn't use them for now
/external/freetype/src/smooth/ftgrays.c
dc26e7b77f6751d014123ccebbd78d9a0603f030 24-Oct-2000 David Turner <david@freetype.org> - minor reformatting of "ftmodule.h"
- added missing "const" statements in the source code in order
to really get rid of writable static variables
/external/freetype/src/smooth/ftgrays.c
6fbe4db6b7208d94557a9a52574b4b65d2920c95 05-Oct-2000 Werner Lemberg <wl@gnu.org> minor formatting issues
/external/freetype/src/smooth/ftgrays.c
ec0b2cd97441c99021be80044f159b8b090dfb57 03-Oct-2000 David Turner <david@freetype.org> small fix:
when in direct rendering mode, the target bitmap buffer
is not checked..
/external/freetype/src/smooth/ftgrays.c
78dd7104ef2419d742d89ae897f99d8fe06d4685 03-Oct-2000 David Turner <david@freetype.org> small fix:
when in direct rendering mode, the target bitmap buffer
is not checked..
/external/freetype/src/smooth/ftgrays.c
b71c6af028715b35e35be15488c81d3636c522f0 17-Sep-2000 David Turner <david@freetype.org> fixed minor bug in the smooth renderer which forced
the span callback to be called with y == -1 and count == 0
/external/freetype/src/smooth/ftgrays.c
f9b0375002872fc8502cc87a65c8b16f6d48508c 12-Sep-2000 Werner Lemberg <wl@gnu.org> small formatting issues.
/external/freetype/src/smooth/ftgrays.c
a8194a97db5963393baf216fd8e2006942c5d3e1 02-Sep-2000 David Turner <david@freetype.org> - added a new function called FT_SqrtFixed to compute the
16.16 square root of a 16.16 number (this could come handy
in a later version of the auto-hinter)

- small fixes to the smooth renderer. It used to use way too
much line segments when drawing beziers !!
/external/freetype/src/smooth/ftgrays.c
b48a6094b2e7b82eae118549571028c50e0d4ca8 09-Jul-2000 Werner Lemberg <wl@gnu.org> Formatting.

Moving some internal structures and constants from freetype.h to ftobjs.h.

Finally removing FT_LOAD_ANTI_ALIAS.

Cleaning up all error codes. Only the used ones have survived :-)

Removed unused FT_MAX_GLYPH_FORMATS constant.

T2 error codes are now in the range 0x500-0x5FF (instead of `TrueDoc').

Some minor improvements of error return values.

Finally fixing error code values in ftraster and ftgrays to be compliant
with all other FT error codes.
/external/freetype/src/smooth/ftgrays.c
7fa51b5535dc05a91b96aac57835bf1473a24339 08-Jul-2000 Werner Lemberg <wl@gnu.org> Formatting.

Adding some trivial error checking.

Adding/Fixing tracing levels.
/external/freetype/src/smooth/ftgrays.c
a90663f591e995bd148d7b45178c9d63a2b7eb93 08-Jul-2000 David Turner <david@freetype.org> vast clean-up of the sources in order to allow flat
directory compilation (by defining the FT_FLAT_COMPILE
macro at compile time..)

moved "freetype2/BUILD" to "freetype2/docs/BUILD"
/external/freetype/src/smooth/ftgrays.c
bd5ae40006959667299f09f13defa6f025caa744 05-Jul-2000 Werner Lemberg <wl@gnu.org> Run g++ on the FreeType library. This should make the use of code in
C++ programs easier:

Renamed FT_WordXX to FT_UIntXX.

Changed a lot of void* to FT_Byte* if related to i/o streams -- FreeType
always accesses streams byte-wise, so this makes sense IMHO.

Added a lot of #ifdef __cplusplus to header files (and removed a few).

Other minor syntax fixes (mostly casts).

Replaced the variable `private' with `private_dict' -- `private' is
reserved in C++.
/external/freetype/src/smooth/ftgrays.c
c6a92202c23b916536903921401e6289f8b66ca2 04-Jul-2000 David Turner <david@freetype.org> various clean-ups:

- using FT_UNUSED instead of UNUSED
- using FT_LONG64 and FT_INT64 instead of LONG64 & INT64
- using FT_SIZEOF_INT & FT_SIZEOF_LONG instead of...

- removed the #ifdefs that used SIZEOF_INT, instead we now
use FT_Int32 and FT_UInt32 when needed to support
32-bits quantity correctly on 64-bits systems..
/external/freetype/src/smooth/ftgrays.c
fbeb41d93d84b6f6dfa2ec8a8b43bafe0fe7696c 02-Jul-2000 Werner Lemberg <wl@gnu.org> Formatting.

Adding copyright notices.

Removing an unnecessary file (smooth.h).
/external/freetype/src/smooth/ftgrays.c
f9ca2bb58a3c8e70cf5e0e0d2580c50385c48df0 01-Jul-2000 David Turner <david@freetype.org> managed to re-design entirely the API in <freetype/ftglyph.h>
It is now really the "glyph factory" that Stefan was probably
dreaming about..

fixed some recent formatting errors from Werner ;-)

cleaned up the demonstration programs from most of the
rust that they had, though I'm sure someone is going to
re-format them really soon !!

"ftstring" now uses the new ftglyph.h API, and is now
faster and smaller.. yep..
/external/freetype/src/smooth/ftgrays.c
5ae1bad3f6f1c842a6f87d8c6e1e5c0237eb236b 28-Jun-2000 David Turner <david@freetype.org> added new renderer module
/external/freetype/src/smooth/ftgrays.c