|
63aaf89c
|
2018-02-17T10:34:47
|
|
s/sub-pixel/subpixel/.
|
|
0a0c2256
|
2018-01-02T09:33:57
|
|
Update copyright year.
|
|
71fecc53
|
2017-12-05T12:06:29
|
|
Improve tracing messages by using singular and plural forms.
* src/*/*.c: Implement it.
|
|
87ddad20
|
2017-12-04T20:43:30
|
|
Update or fix links to use the https protocol instead of http.
|
|
ab6fe076
|
2017-11-06T21:34:56
|
|
* src/smooth/ftgrays.c (gray_set_cell): Fix uninitialized variables.
|
|
81651636
|
2017-11-01T22:51:03
|
|
[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.
|
|
91015cb4
|
2017-10-21T22:57:43
|
|
[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.
|
|
6bea49e0
|
2017-10-14T22:45:11
|
|
[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.
|
|
dcd8de27
|
2017-06-09T11:21:58
|
|
*/*: Remove `OVERFLOW_' prefix.
This increases readability.
|
|
cd02d359
|
2017-06-01T17:05:39
|
|
[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.
|
|
761d9e41
|
2017-02-22T22:41:36
|
|
* src/smooth/ftgrays.c (gray_hline): Improve code.
|
|
fcd47b3d
|
2017-02-12T23:07:29
|
|
* src/smooth/ftgrays.c (gray_sweep): Improve code.
|
|
a3754d66
|
2017-02-01T22:36:16
|
|
Comment.
|
|
2ca5b07d
|
2017-01-31T23:13:50
|
|
* src/smooth/ftgrays.c (gray_render_scanline): Improve code.
|
|
563ae780
|
2017-01-04T20:16:34
|
|
Update copyright year.
|
|
24be60b5
|
2017-01-01T08:20:38
|
|
*/*: Use hex numbers for errors in tracing messages.
|
|
4441f7b2
|
2016-12-26T17:08:17
|
|
Replace `foo == NULL' and `foo != NULL' with `!foo' and `foo', resp.
Other minor formatting.
|
|
1d28f697
|
2016-11-29T18:45:22
|
|
[smooth] Revert previous commit. Already fixed with 6ca54c64.
|
|
d949a3db
|
2016-11-29T12:09:56
|
|
[smooth] Avoid conditional jump on uninitialized value (#49711).
* src/smooth/ftgrays.c (gray_raster_render): Initialize `worker'.
|
|
b0aacff4
|
2016-10-01T12:55:33
|
|
[smooth] Remove impossibility.
* src/smooth/ftgrays.c (TWorker): Rearrange fields.
(gray_convert_glyph): Remove impossible condition and clean up.
|
|
45cad2e5
|
2016-09-28T19:10:52
|
|
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/.
|
|
53ae7a54
|
2016-09-22T22:48:15
|
|
[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.
|
|
c95b7652
|
2016-09-17T17:12:50
|
|
s/0/NULL/ for function pointers; comments, formatting.
|
|
d5f7533e
|
2016-09-15T00:13:36
|
|
* src/smooth/ftgrays.c (gray_sweep): Remove check for empty table.
|
|
ad47550b
|
2016-09-14T23:15:03
|
|
[smooth] Another tiny speed-up.
* src/smooth/ftgrays.c (gray_find_cell): Merge into...
(gray_record_cell): ... this function.
|
|
c38be52b
|
2016-09-11T22:44:44
|
|
* src/smooth/ftgrays.c (gray_{find,set}_cell): Remove dubious code.
|
|
6ca54c64
|
2016-09-11T16:00:52
|
|
[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.
|
|
a0b92bcb
|
2016-09-07T23:19:57
|
|
* src/smooth/ftgrays.c (gray_hline): Microptimize.
|
|
9d0a3bd8
|
2016-09-06T23:59:33
|
|
[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.
|
|
44b172e8
|
2016-09-06T23:24:17
|
|
[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.
|
|
9773d5f7
|
2016-09-05T23:33:35
|
|
* src/smooth/ftgrays.c (gray_move_to, gray_start_cell): Revert.
|
|
7effc279
|
2016-09-05T21:58:56
|
|
[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.
|
|
16583ccd
|
2016-09-02T22:45:14
|
|
* src/smooth/ftgrays.c (gray_hline): Fix clang compiler warnings.
|
|
11d3336a
|
2016-09-01T22:56:24
|
|
[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.
|
|
f44ddfda
|
2016-08-30T23:21:23
|
|
[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.
|
|
e73055c7
|
2016-08-29T23:15:35
|
|
[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.
|
|
4d3f7ca8
|
2016-08-27T23:25:54
|
|
[smooth] Reduce stack of band boundaries.
* src/smooth/ftgrays.c (gray_TBand): Removed.
(gray_convert_glyph): Updated to stack band boundaries concisely.
|
|
9a444f05
|
2016-08-25T22:36:01
|
|
* src/smooth/ftgrays.c (gray_raster_render): Minor tweaks.
|
|
cb438878
|
2016-08-22T23:06:45
|
|
[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.
|
|
3b37bfc4
|
2016-08-10T22:38:08
|
|
* src/smooth/ftgrays.c (gray_hline): Fix uninitialized access.
|
|
97718f3c
|
2016-08-05T23:36:16
|
|
[smooth] Minor refactoring.
* src/smooth/ftgrays.c (gray_render_scanline, gray_render_line):
Updated.
|
|
971f10b6
|
2016-07-08T06:59:31
|
|
Formatting.
|
|
109d1662
|
2016-07-08T06:58:46
|
|
Revert "Formatting."
This reverts commit a0f3a1f25a69a7c5268e87ee6e7a9238c26e6242.
|
|
a0f3a1f2
|
2016-07-08T06:53:46
|
|
Formatting.
|
|
4a2f8f1f
|
2016-07-08T00:16:07
|
|
[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.
|
|
d1876e58
|
2016-07-04T23:46:53
|
|
[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.
|
|
597c6959
|
2016-07-01T23:27:41
|
|
[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.
|
|
ef0a3e7e
|
2016-06-28T22:56:22
|
|
[smooth] Minor clean-ups.
* src/smooth/ftgrays.c (gray_TWorker): Remove redundant `ycount'.
(gray_sweep, gray_convert_glyph, gray_dump_cells): Updated.
|
|
c9cf359f
|
2016-06-28T00:30:58
|
|
[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.
|
|
25e82bc2
|
2016-06-23T23:17:39
|
|
[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.
|
|
e2233481
|
2016-06-22T23:14:26
|
|
[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.
|
|
78e8fc0d
|
2016-06-22T00:04:08
|
|
[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'.
|
|
20c6ef4c
|
2016-06-21T11:39:34
|
|
[smooth] Remove compiler warnings.
* src/smooth/ftgrays.c (gray_convert_glyph): Fix reports from clang.
|
|
3c64af98
|
2016-06-20T00:01:55
|
|
[smooth] Sanitize memory managenent.
* src/smooth/ftgrays.c (gray_convert_glyph): Cleaned up.
|
|
74fd251b
|
2016-06-18T22:31:26
|
|
[smooth] Remove `band_shoot' that never worked.
* src/smooth/ftgrays.c (gray_TWorker): Remove `band_shoot'.
(gray_convert_glyph): Updated.
|
|
3e1f7bc5
|
2016-06-18T22:13:23
|
|
Fresh typos.
|
|
72a06531
|
2016-06-17T23:10:22
|
|
[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.
|
|
7f569f45
|
2016-06-14T23:49:31
|
|
Move function.
|
|
32acceff
|
2016-06-14T23:38:17
|
|
* src/smooth/ftgrays.c (gray_hline): Optimize if-condition.
|
|
77180c7a
|
2016-06-08T23:31:28
|
|
[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.
|
|
9cf232ed
|
2016-06-08T23:19:41
|
|
[smooth] Minor clean-ups.
* src/smooth/ftgrays.c (gray_dump_cells): Move out of the way.
(gray_render_span): Remove spurious casts and streamline.
|
|
e9f95093
|
2016-05-26T23:46:38
|
|
[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.
|
|
6e88087d
|
2016-05-05T23:41:03
|
|
[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.
|
|
98967b77
|
2016-03-23T23:07:24
|
|
Add comment.
|
|
31f2dc19
|
2016-03-23T07:31:59
|
|
[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.
|
|
e9181aba
|
2016-03-23T06:58:20
|
|
[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.
|
|
3beccbdf
|
2016-03-21T00:07:47
|
|
[smooth] Partly revert recent changes.
* src/smooth/ftgrays.c (gray_conic_to, gray_cubic_to): Rework
conditions to fix rendering issues.
|
|
8e8bb126
|
2016-03-18T23:21:59
|
|
[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.
|
|
84b2c633
|
2016-03-17T00:53:09
|
|
[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.
|
|
1865575a
|
2016-03-14T22:39:22
|
|
[smooth] Temporarily revert 6eb6158dd787 (#47114).
* src/smooth/ftgrays.c (gray_render_line): Old implementation.
|
|
d0b0e31e
|
2016-03-06T23:01:50
|
|
[smooth] Replace left shifts with multiplications (#47114).
* src/smooth/ftgrays.c (SUBPIXELS, UPSCALE, DOWNSCALE): Do it.
|
|
015c6e08
|
2016-03-01T06:45:52
|
|
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.
|
|
08e89b73
|
2016-02-16T22:32:13
|
|
[smooth] Fix integer overflow (#47114).
* src/smooth/ftgrays.c (TArea): Make it unconditionally `long'.
|
|
9adeab64
|
2016-01-13T11:54:10
|
|
Update copyright year.
|
|
9d0b76d7
|
2016-01-12T22:27:29
|
|
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_/.
|
|
6eb6158d
|
2015-10-06T22:39:54
|
|
[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.
|
|
e2dae8fe
|
2015-10-01T22:03:34
|
|
[smooth] Clean up worker.
* src/smooth/ftgrays.c (gray_TWorker): Remove never used fields.
|
|
8bbcfb2c
|
2015-09-30T23:08:53
|
|
[smooth] Clean up worker.
* src/smooth/ftgrays.c (gray_TWorker): Remove lightly used `last_ey'.
(gray_start_cell, gray_render_line): Update.
|
|
d8a44ff9
|
2015-09-26T22:33:55
|
|
Remove unused macro.
|
|
b002f688
|
2015-09-07T13:47:36
|
|
* src/smooth/ftgrays.c (gray_render_line): Simplify clipping.
|
|
5a6dc872
|
2015-09-04T23:14:46
|
|
[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.
|
|
392cf22f
|
2015-06-25T13:04:57
|
|
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.
|
|
8502c98b
|
2015-06-22T06:35:23
|
|
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.
|
|
4d1f7af1
|
2015-02-23T07:04:36
|
|
[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.
|
|
cb13e710
|
2015-02-23T06:41:52
|
|
[smooth] Signedness fixes.
* src/smooth/ftgrays.c, src/smooth/ftsmooth.c: Apply.
|
|
f57fc59e
|
2015-01-17T20:41:43
|
|
Run `src/tools/update-copyright'.
|
|
b2ba6866
|
2015-01-14T18:43:13
|
|
[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'.
|
|
747ae2c8
|
2015-01-14T17:54:26
|
|
[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.
|
|
553c9672
|
2014-12-07T19:29:52
|
|
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.
|
|
04c2aa18
|
2014-11-25T10:22:12
|
|
*/*: s/Invalid_Argument/Invalid_Outline/ where appropriate.
|
|
3e86711e
|
2014-11-25T09:01:07
|
|
[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.
|
|
74916997
|
2014-10-29T22:24:24
|
|
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.
|
|
7630787a
|
2014-04-13T15:41:13
|
|
[smooth] Fix stand-alone compilation.
* src/smooth/ftgrays.c (FT_BEGIN_STMNT, FT_END_STMNT): Define.
|
|
7be2a94a
|
2014-02-08T13:55:38
|
|
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.
|
|
fae38207
|
2013-11-13T08:55:46
|
|
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.
|
|
9a7951d9
|
2013-07-16T15:25:24
|
|
[smooth] Fix segfault caused by previous commit.
* src/smooth/ftgrays.c (gray_set_cell): Always compute
`ras.invalid'.
|
|
89929ec6
|
2013-07-16T13:36:07
|
|
[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.
|
|
d7e3444b
|
2013-06-14T18:33:39
|
|
* src/smooth/ftgrays.c One final pragma to silence 64-bit MSVC.
|
|
dc624ca4
|
2013-06-04T10:30:48
|
|
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.
|
|
059bc335
|
2013-03-14T10:27:35
|
|
*/*: 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.
|