Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 47574f7e | 2024-01-27 11:11:22 | Update all copyright notices. | ||
| 01f23c39 | 2023-12-01 23:13:28 | * src/raster/ftraster.c (Draw_Sweep): Swap stub conditions. | ||
| 5999d47d | 2023-12-01 20:50:16 | * src/raster/ftmisc.h (FT_MulDiv): Remove unused copy. | ||
| 8f255c89 | 2023-11-27 22:44:36 | [raster] Speed up Bézier arches with extrema. While it is recommended to have an explicit point at each curve extrema, they might be missing or outline could be rotated. This leads to excessive bisections in raster to find them. This change helps to decrease the number of bisections. The scanline intersections remain monotonous, of course. * src/raster/ftraster.c (Conic_To, Cubic_To): Check that control points cross the scanlines to bisect. | ||
| efbae547 | 2023-11-24 10:23:36 | [raster] Eliminate intensive flow checking. * src/raster/ftraster.c (Draw_Sweep): Pass the flow increment. (Increment): Accept the flow increment. | ||
| 63d3a37e | 2023-11-23 17:50:04 | * src/raster/ftraster.c: Comments, defines, includes, cleanups. | ||
| df39b017 | 2023-11-21 18:12:45 | * src/raster/ftraster.c (FT_Outline_Get_CBox ) [STANDALONE_]: Removed. | ||
| c62027d9 | 2023-11-21 16:54:25 | * src/raster/ftraster.c (Draw_Sweep): No-fault return. (Render_Single_Pass): Updated. | ||
| d77dd24b | 2023-11-21 15:16:56 | [raster] Sweep polishing. * src/raster/ftraster.c (*_Sweep_Span): Polish. (*_Sweep_Drop): Restore tracing, polish. (Draw_Sweep): Simplify the dropout processing loop. | ||
| da8e4289 | 2023-11-21 00:53:50 | [raster] Rearrange dropout control. This reduces the code duplication. * src/raster/ftraster.c (Function_Sweep_Span): Change signature. (Vertical_Sweep_Drop, Horizontal_Sweep_Drop): Focus on pixel setting and move duplicated the dropout control logic to... (Draw_Sweep): ... this function and refactor. (Vertical_Sweep_Span, Horizontal_Sweep_Span): Minor. | ||
| d7c72ff9 | 2023-11-20 22:46:36 | [raster] Use bitwise dropout mode interpretation. * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop, Draw_Sweep, Render_GLyph): Interpret dropout mode using bit masks. | ||
| 050a3207 | 2023-11-15 23:41:56 | [raster] Keep only bottom y-turns. This results in noticeable performance improvement. * src/raster/ftraster.c (Insert_Y_Turns): All bottom y-turns are still sorted and stored; only the maximum top y-turn is recorded now. The function is renamed. (End_Profile): Updated accordingly. (Convert_Glyph): Reserve space for the top value. | ||
| fa59e0d6 | 2023-11-15 16:55:57 | * src/raster/ftraster.c (End_Profile): Reduce branching. (InsNew): Tweak condition. | ||
| c580926f | 2023-11-15 15:17:50 | * src/raster/ftraster.c (Draw_Sweep): Use more natural loop. | ||
| b0265ccd | 2023-11-14 23:32:06 | [raster] Dissolve a loop. * src/raster/ftraster.c (End_Profile): Set initial `X` here... (Draw_Sweep): ... instead of here; delay the `start` decrement. | ||
| 6dc2ecb7 | 2023-11-14 23:06:41 | * src/raster/ftraster.c: Comments. | ||
| aec7e717 | 2023-11-14 16:47:34 | [raster] Stylistic changes. * src/raster/ftraster.c (Line_To): Code it similar to curves; shortcut the flat lines here... (Line_Up): ... instead of here. | ||
| d1b3ef77 | 2023-11-14 15:54:52 | [raster] Revise overshoot setting. * src/raster/ftraster.c (New_Profile, End_Profile): Deal with overshoots locally. (Line_To, Conic_To, Cubic_To): Update callers. | ||
| 667aad58 | 2023-11-14 15:10:52 | * src/raster/ftraster.c (Conic_To, Cubic_To): Fix recent regression. | ||
| 6e7ef168 | 2023-11-13 22:07:42 | * src/raster/ftraster.c (Increment): Minor tweak. | ||
| e9359e29 | 2023-11-12 23:01:49 | [raster] Get rid of the fresh flag. * src/raster/ftraster.c (black_TWorker): Remove the fresh flag. (New_Profile): Set the starting scanline here based on the current coordinate and initialize the joint crossing if necessary. (Line_Up, Bezier_Up): Do not deal with fresh and joint starts at all. (Line_Down, Bezier_Down): Simplify. (Conic_To, Cubic_To): Update the current coordinate after each subsection. | ||
| d5e8686d | 2023-11-11 21:10:29 | [raster] Get rid of the joint flag. * src/raster/ftraster.c (Line_Up, Bezier_Up): Deal with the scanline joints directly based on the initial y-coordinate. (New_Profile, black_TWorker): Remove the boolean flag. | ||
| 9cd403bc | 2023-11-11 10:18:53 | * src/raster/ftraster.c (Line_Up, Bezier_Up): Check "between" earlier. | ||
| 028b0d5c | 2023-11-10 23:25:26 | * src/raster/ftraster.c (Line_Up): Updated and fixed up. This largely synchronizes the entries into `Line_Up` and `Bezier_Up`. Minor bugs in the remainder calculations and accumulations are fixed. | ||
| d5973932 | 2023-11-09 22:52:14 | * src/raster/ftraster.c (End_Profile, Convert_Glyph): Clean up. | ||
| e9a81e4d | 2023-11-09 22:31:36 | * src/raster/ftraster.c (Bezier_Up): Improve joint and loop. | ||
| 6338f2a6 | 2023-11-06 18:56:38 | [raster] Harmonize target bitmap navigation. * src/raster/ftraster.c (black_TWorker): Store signed maximum indexes in both directions instead of unsigned dimensions of the original bitmap. (*_Sweep_*, Render_Glyph, ft_black_render): Updated all users. | ||
| e9202737 | 2023-11-05 23:12:56 | * src/raster/ftraster.c (Bezier_Up): Improve flow. | ||
| 8a2ca26b | 2023-11-05 22:34:16 | [raster] Reshuffle code for readability. * src/raster/ftraster.c (Render_Glyph): Setup the rendering pool here. (ft_black_render): Setup the target bitmap helpers here. | ||
| 9e86fb80 | 2023-11-03 23:59:05 | [raster] Improve profile accounting during sweeping. * src/raster/ftraster.c (TProfile): Get rid of `countL`. (Draw_Sweep): Use `start` for countdown to activation. (Horizontal_Sweep_Drop, Vertical_Sweep_Drop): Rely on `height` and `offset` to verify profile ends for the stub detection. | ||
| 32081d81 | 2023-11-03 23:10:41 | [raster] Consolidate profile increment to the next line. * src/raster/ftraster.c (s/Sort/Increment): Rename this function to reflect its true purpose, delete exhausted profiles here... (Draw_Sweep): ... instead of here. | ||
| 046c4fc7 | 2023-11-03 22:34:37 | [raster] Instantly remove profiles from linked lists. * src/raster/ftraster.c (DelOld): Remove loopy function. (Draw_Sweep): Implement instant profile removal. | ||
| 6d6607b8 | 2023-11-02 22:09:18 | [raster] Modify the split condition. While curving close to a pixel center, vertical and horizontal pass might split the curve differently and cause a rare dropout. This makes the split condition invariant of the sweep direction and more robust. * src/raster/ftraster.c (Bezier_Up): Modify the split condition. | ||
| f2e76e83 | 2023-11-02 22:08:04 | [raster] Remove the jitter exception. The jitter exception used to be applied when two neighboring pixels were barely inside the outline. One the left one was turned on then, which contradicts the OpenType specifications. Intended to remove glitches, it caused disappearing lines and was softened by adding an exception to the exception (#54589). * src/raster/ftraster.c (Vertical_Sweep_Span): Drop the jitter exception. | ||
| dc519d06 | 2023-10-31 15:01:32 | [raster] Simplify dropout detection. * src/raster/ftrater.c (Draw_Sweep): Use a single dropout condition. | ||
| 4e2d1f04 | 2023-10-30 22:46:32 | [raster] Simplify sweeping entry and exit. * src/raster/ftraster.c (Draw_Sweep): Use y-turns to set the range, correctly set the initial position, directly loop through y_turns, and remove a 5-gray remnant at exit. | ||
| 55d0287c | 2023-10-25 23:23:30 | [raster] Switch to routine Int instead of Short. This is mostly cosmetic and removes a few casts, plus Short is promoted to Int in calculations anyway. * src/raster/ftraster.c (Vertical_Sweep_Init, Vertical_Sweep_Span, Vertical_Sweep_Drop, Horizontal_Sweep_Init, Horizontal_Sweep_Span, Horizontal_Sweep_Drop, Draw_Sweep): Mostly s/Short/Int/ and remove casting. | ||
| 8c5ec8dd | 2023-10-23 22:48:34 | [raster] Increase the raster pool density. This only helps to delay the pool overflow and bisections to larger sizes and benefits only very intricate glyphs at reasonable sizes. * src/raster/ftraster.c (TProfile): Use Int instead of Long or PLong when it is sufficient. (New_Profile, End_Profuile, Bezier_Up, Sort): Updated accordingly. | ||
| a0e10a87 | 2023-10-23 17:47:10 | [raster] Slightly improve the pool design. * src/raster/ftraster.c (TProfile): Include the variable array member and repackage with pointers first. (New_Profile): Advance the top using the variable array pointer. | ||
| d1e894b1 | 2023-10-22 13:08:36 | [raster] Clean up sweeping. * src/raster/ftraster.c (Draw_Sweep): Zero initialize the working lists directly and remove unnecessary y-turn checks. (Init_Linked): Removed. | ||
| 09ae6eb6 | 2023-10-22 08:13:35 | * src/raster/ftraster.c (Insert_Y_Turn): Improve flow. | ||
| 4e61303a | 2023-10-18 23:13:13 | [raster] Small optimizations. * src/raster/ftraster.c (New_Profile): Set important fields only and delay setting `gProfile` until... (End_Profile): ... it is checked to be valid here. (Convert_Glyph): Updated. | ||
| a35da2c0 | 2023-10-18 18:44:00 | * src/raster/ftraster.c (Convert_Glyph): Remove redundant check. | ||
| 3fa5c845 | 2023-10-17 23:56:23 | [raster] Fix linked profiles in contour loops. This fixes a subtle bug when the last profile in a contour was not properly short-circuited if it was still empty at `End_Profile`. We finalize all linking in `Finalize_Profile_List` now and do nothing else there. The turns are added in `End_Profile`. * src/raster/ftraster.c (Insert_Y_Turn): Moved up unchanged. (End_Profile): Take care of turns but set only preliminary linking. (Finalize_Profile_Table): Take care of linking and null-termination. (Convert_Glyph): Adjusted accordingly. | ||
| 749b8f9d | 2023-10-14 22:28:06 | * src/raster/ftraster.c: Improve tracing. | ||
| 153c038e | 2023-10-13 15:22:32 | [raster] Improve profile accounting. * src/raster/ftraster.c (End_Profile): Do not initiate next profile. (New_Profile): Fully initiate new profile. (Convert_Glyph): Clean up variables, initialize `fProfile` here. | ||
| f09c5e58 | 2023-10-13 13:44:39 | * src/raster/ftraster.c (Convert_Glyph): Fix null-dereference. | ||
| c7fa00bf | 2023-10-13 00:16:02 | [raster] Fix pool overflow checking. * src/raster/ftraster.c (New_Profile, End_Profile): Check for overflow immediately. (Convert_Glyph, Render_Single_Pass): Fix boundaries. | ||
| 14bcb286 | 2023-10-12 22:44:46 | [raster] Miscellaneous clean-ups. * src/raster/ftraster.c (New_Profile): Use NULL. (End_Profile): Optimize variables. (Convert_Glyph): Do not initialize `cProfile` yet. (Render_Single_Pass): Tracing. | ||
| 84cd2e98 | 2023-10-09 22:11:41 | * src/raster/ftraster.c: Tracing updates. | ||
| 2fb8eda5 | 2023-06-01 19:38:36 | */*: Remove many function pointer casts. In C it is undefined behavior to call a function through a function pointer of a different type. This is now detected by the Control Flow Integrity Sanitizer. All known issues have already been fixed. Prevent any accidental re-introduction by removing function pointer casts when defining services. The services will call the service functions through the function pointers on the service. As a result the functions must have the same type so there should be no need to cast. Removing the casts allows compilers to warn about assignment to an incompatible function pointer type. | ||
| 6e7b1b76 | 2023-05-07 20:51:32 | [raster] Signature fixes. | ||
| 3f01161f | 2023-02-21 16:17:07 | [raster] Clean up contour indexing. * src/raster/ftraster.c (Decompose_Curve, Convert_Glyph): Use consistent index types (Int) and compact iterations. | ||
| be724c81 | 2023-02-07 22:24:53 | For debugging, avoid implicit conversion from integer to double. Otherwise we get zillions of clang 15 warnings. * src/autofit/afcjk.c, src/autofit/afhints.c, src/autofit/aflatin.c, src/base/ftobjs.c, src/base/ftoutln.c, src/cff/cffparse.c, src/raster/ftraster.c, src/sfnt/pngshim.c, src/truetype/ttgload.c, src/truetype/ttgxvar.c, src/truetype/ttobjs.c, src/type1/t1gload.c: Use `double` cast in debugging and tracing macros. | ||
| 65f85237 | 2023-01-17 09:18:25 | Update all copyright notices. | ||
| 695d606a | 2022-04-01 08:50:33 | Whitespace. | ||
| d0cfb4e1 | 2022-01-11 10:54:10 | Update all copyright notices. | ||
| 8c8f51c5 | 2021-11-19 21:50:22 | Avoid undefined left-shifts. We really have to use double casts to avoid issues with C's and C++'s signedness propagation rules in implicit casts. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=41178 https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=41182 * include/freetype/config/public-macros.h (FT_STATIC_CAST, FT_REINTERPRET_CAST): Modify macro to take two arguments. Update all callers. (FT_STATIC_BYTE_CAST): New macro. * include/freetype/freetype.h (FT_ENC_TAG): Use `FT_STATIC_BYTE_CAST`. * include/freetype/ftimage.h (FT_IMAGE_TAG): Ditto. * include/freetype/fttypes.h (FT_MAKE_TAG): Ditto. Use `FT_Tag` for casting. * src/ftraster/ftmisc.h (FT_MAKE_TAG): Removed, no longer needed. (FT_STATIC_BYTE_CAST): New macro. * src/smooth/ftgrays.c (FT_STATIC_CAST): Replace with... (FT_STATIC_BYTE_CAST): ... this. | ||
| 238245cd | 2021-11-16 22:07:28 | Fix clang++ warnings. * src/*: Initialize some variables to NULL. | ||
| 7f8f0c1c | 2021-09-02 23:30:31 | [smooth, raster, sdf] Clean up initialization calls. * src/raster/ftraster.c (ft_black_init): Removed. (ft_black_new): Clean up. * src/sdf/ftbsdf.c (bsdf_raster_new): Ditto. * src/sdf/ftsdf.c (sdf_raster_new): Ditto. * src/smooth/ftgrays.c (gray_raster_new): Ditto. | ||
| c2fa51d9 | 2021-07-24 20:32:16 | Fix some `cppcheck` warnings. * src/bzip2/ftbzip2.c (ft_bzip2_file_skip_output), src/gzip/ftgzip.c (ft_gzip_file_skip_output): Reduce scope of `delta`. * src/psaux/psintrp.c, src/psaux/psintrp.h (cf2_interpT2CharString): Add `const` to `buf` parameter. * src/raster/ftraster.c (DelOld): Add `const` to `profile` parameter. (Vertical_Sweep_Span): Reduce scope of `target`. (FT_Outline_Get_CBox): Reduce scope of `xMin`, `xMax`, `yMin`, `yMax`. * src/smooth/ftgrays.c (gray_render_conic): Reduce scope of `split`. (gray_sweep, gray_sweep_direct): Reduce scope of `area`. * src/tools/apinames.c (names_dump) <OUTPUT_WATCOM_LBC>: Reduce scope of `temp`. | ||
| f27b4834 | 2021-06-30 10:54:59 | * src/raster/ftraster.c (Render_Single_Pass): Simplify `band_stack'. | ||
| 69c3516c | 2021-06-29 23:51:23 | [raster] Do not skip the second pass without dropout control. The second pass also fixes horizontal lines through the pixel centers. * src/raster/ftraster.c (black_TWorker): Do not use `second_pass'. (Render_Glyph): Skip the second pass only with the appropriate flag. | ||
| 3696ac5a | 2021-06-29 23:27:10 | [raster] Handle sub-band stack locally. * src/raster/ftraster.c (black_TWorker): Move `band_stack' from here.. (Render_Single_Pass): ... to here and accept limit arguments. (Render_Glyph): Updated. | ||
| c852388d | 2021-06-28 23:26:10 | [raster] Handle Bézier stack locally. * src/raster/ftraster.c (black_TWorker): Move `arcs' from here... (Conic_To, Cubic_To): ... to here to tighten their scope. (Bezier_Up, Bezier_Down): ... Take the current `arc' argument. | ||
| 3a278381 | 2021-06-28 10:22:03 | [raster] Clean up vertical sweep. * src/raster/ftraster.c (black_TWorker): Replace the current line offset with the pointer and drop the increment. (Function_Sweep_Init): Take values as arguments instead of pointers. (Vertical_Sweep_*, Horizontal_Sweep_Init, Draw_Sweep): Updated. | ||
| fb4511eb | 2021-06-26 08:49:20 | [raster] Make `band_top' local variable. * src/raster/ftraster.c (black_TWorker): Move `band_top' from here... (Render_Single_Pass): ... to here, and refactor. (Render_Glyph): Updated. | ||
| f6370e2f | 2021-06-25 22:59:39 | [raster] Adjust sub-band bisecting limits. We can bisect a band until it is just a single scan line. This might be slow and cause time-outs but if we need to impose limits it should be elsewhere. * src/raster/ftraster.c (Render_Single_Pass): Tweak sub-banding. | ||
| bc1029b9 | 2021-06-25 18:20:57 | * src/raster/ftraster.c (Render_Single_Pass): Remove dead code. | ||
| 1e0cef9e | 2021-06-24 00:19:50 | [smooth, raster] Fix up and align error codes. FT_Render_Glyph picked up FAILURE or 1 returned from the raster function, which became a confusing error code. Instead, return Raster_Overflow in the unlikely event that banding does not help or another meaningful error. * src/smooth/ftgrays.c (gray_convert_glyph_inner, gray_convert_glyph): Use Raster_Overflow when the rendering pool is exhausted and return it if banding does not help. (gray_raster_render): Use Smooth_Err_Ok. * src/raster/ftraster.c (Render_Single_Pass): Return Raster_Overflow if banding does not help or another error code. | ||
| d8ac180c | 2021-06-23 23:32:02 | [smooth, raster] Remove synonymous error macros. * src/smooth/ftgays.c [STANDALONE_]: s/ErrRaster_/Smooth_Err_/. (gray_convert_glyph_inner): Updated accordingly. * src/raster/ftraster.c [STANDALONE_]: Do not abbreviate error macros. (New_Profile, End_Profile, Insert_Y_Turn, Line_Up, Bezier_Up, Decompose_Curve, Draw_Sweep, Render_Single_Pass, ft_black_render): Updated accordingly. | ||
| b6e8a712 | 2021-01-17 07:18:48 | Update all copyright notices. | ||
| c9f588be | 2020-10-10 12:48:18 | Document changes to last release. | ||
| 20186d1b | 2020-09-11 23:47:54 | [raster] Improve the second pass (#58373). Besides dropout control the second horizontal sweep is supposed to clean up straight horizontal edges that are mishandled by the first vertical sweep when a line passes through pixel centers. This line would present as perfectly aligned span edges in the second sweep. * src/raster/ftraster.c (Horizontal_Sweep_Span): Replace the old implementation with a better one focusing on aligned span edges only. | ||
| c3721642 | 2020-09-11 23:13:02 | [raster] Tune SMART macro (#58352). Windows seems to perform smart dropout control at 26.6 precision. To mimick Windows independent of increased precision, we need to tweak the macro so that some close calls break down rather than up. * src/raster/ftraster.c (SMART): Tweak the macro. | ||
| cb473313 | 2020-09-08 22:41:53 | [raster] Introduce SMART macro. * src/raster/ftraster.c (SMART): New macro for smart dropout rounding. (Verstical_Sweep_Drop, Horizontal_Sweep_Drop): Use it. | ||
| 3594eaee | 2020-09-08 22:20:11 | [raster] Improve tracing. | ||
| 53be1753 | 2020-07-28 07:33:40 | Fix `-Wformat' compiler warnings. * src/*: Fix format specifiers. * builds/unix/ftsystem.c (FT_Stream_Open): Ditto. | ||
| bb66c8d8 | 2020-07-02 11:09:57 | [build] Split off more stuff from `ftconfig.h'. * builds/unix/ftconfig.h.in, builds/vms/ftconfig.h, include/freetype/config/ftconfig.h: Split off macro definitions required by the FreeType API headers to... * include/freetype/config/public-macros.h: ...this new file. * builds/unix/ftconfig.h.in, builds/vms/ftconfig.h, include/freetype/config/ftconfig.h: Split off macro definitions used by the library but not to be exposed to clients to... * include/freetype/config/compiler-macros.h: ...this new file. * include/freetype/internal/*.h, src/raster/ftraster.h: Include `compiler-macros.h' where needed. | ||
| 16586859 | 2020-06-13 21:15:45 | Remove redundant inclusion of `ft2build.h'. * */*: Remove `#include <ft2build.h>' where possible. * include/freetype/freetype.h: Remove cpp error about missing inclusion of `ft2build.h'. | ||
| e1339133 | 2020-06-08 13:31:55 | Make macros for header file names optional. We no longer have to take care of the 8.3 file name limit; this allows us (a) to introduce longer, meaningful file names, and (b) to avoid macro names in `#include' lines altogether since some compilers (most notably Visual C++) doesn't support this properly. */*: Replace #include FOO_H with #include <freetype/foo.h> or something similar. Also update the documentation. | ||
| 4eee1340 | 2020-05-18 09:16:12 | Remove Jamfile files from the tree. These have not been used in a very, very long time, so better remove them. A corresponding patch will be submitted to the `freetype2-demos' repository. * src/Jamfile, src/*/Jamfile, Jamrules: Delete. | ||
| e5038be7 | 2020-01-19 17:05:19 | Update all copyright notices. | ||
| 0c6f61ab | 2019-05-07 19:07:11 | * src/raster/ftraster.c (Draw_Sweep): Unbreak. | ||
| ea7e20fb | 2019-05-07 07:00:38 | * src/raster/ftraster.c: Clean-ups. | ||
| 7b841047 | 2019-05-04 08:13:22 | Various clang 8.0 static analyzer fixes. Reported by Sender Ghost <lightside@gmx.com>. * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Catch a corner case where `edge->first' could be NULL. * src/pfr/pfrobjs.c (pfr_slot_load): Remove unnecessary test of `size'. * src/raster/ftraster.c (Draw_Sweep): Catch a corner case where `draw_right' might be NULL. * src/sfnt/ttmtx.c (tt_face_get_metrics): Fix limit test for `aadvance'. Ensure `abearing' always hold a meaningful result. * src/truetype/ttgload.c (load_truetype_glyph): Ensure `subglyph' is not NULL before accessing it. * src/truetype/ttgxvar.c (TT_Set_Named_Instance): Remove unnecessary test of `namedstyle'. * src/type42/t42parse.c (t42_parser_done): Ensure `parser->root.funcs.done' is not NULL before accessing it. | ||
| 7a81b63a | 2019-04-25 22:06:33 | Optimize Bézier bisections. * src/raster/ftraster.c (Split_Conic, Split_Cubic): Use shifts and refactor. * src/smooth/ftgrays.c (gray_split_conic, gray_split_cubic): Ditto. * src/base/ftstroke.c (ft_conic_split, ft_cubic_split): Ditto. * src/base/ftbbox.c (cubic_peak): Use shifts. | ||
| 75859970 | 2019-02-23 10:07:09 | Update all copyright notices. | ||
| f686ad46 | 2019-01-22 20:31:44 | Update copyright years. | ||
| d71f2bc1 | 2018-10-26 22:52:25 | Revert "Align FreeType with standard C memory management." This reverts commit 877aa1b2cc662978aae61ed4d5c6ea8ba56b2fe7. | ||
| 877aa1b2 | 2018-09-27 21:17:36 | Align FreeType with standard C memory management. * include/freetype/ftsystem.h: Include FT_TYPES_H. (*FT_Alloc_Func, *FT_Realloc_Func): Use size_t for the size arguments. * src/raster/ftmisc.h: Ditto. * builds/amiga/src/base/ftsystem.c, builds/unix/ftsystem.c, * builds/vms/ftsystem.c, src/base/ftsystem.c (ft_alloc, ft_realloc): Use size_t for the size arguments. * src/base/ftdbgmem.c (ft_mem_debug_alloc, ft_mem_debug_realloc): Use FT_Offset, aka size_t, for the size arguments. | ||
| c168cc3b | 2018-09-21 11:09:27 | [raster] Fix disappearing vertical lines (#54589). * src/raster/ftraster.c (Vertical_Sweep_Span): Handle special case where both left and right outline exactly pass pixel centers. | ||
| 8e950680 | 2018-09-20 06:26:34 | [base] Remove unused function `FT_GlyphLoader_CopyPoints'. * include/freetype/internal/ftgloadr.h, src/base/ftgloadr.c (FT_GlyphLoader_CopyPoints): Do it. | ||
| 1dacbd89 | 2018-08-30 23:28:30 | Consolidate bitmap presetting and size assessment. * include/freetype/internal/ftobjs.h (ft_glyphslot_preset_bitmap): Change return type. * src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Return the bitmap size assessment. * src/raster/ftrend1.c (ft_raster1_render): Use it to refuse the rendering of enourmous or far-fetched outlines. * src/smooth/ftsmooth.c (ft_smooth_render_generic): Ditto. | ||
| a0dd16fb | 2018-08-15 18:13:17 | Don't use `trace_' prefix for FT_COMPONENT arguments. * include/freetype/internal/ftdebug.h (FT_TRACE_COMP, FT_TRACE_COMP_): New auxiliary macros to add `trace_' prefix. (FT_TRACE): Use `FT_TRACE_COMP'. */* (FT_COMPONENT): Updated. | ||
| e16bfbec | 2018-08-09 22:18:00 | [raster, smooth] Reinstate bitmap size limits. This again moves outline and bitmap size checks one level up. * src/base/ftoutln.c (FT_Outline_Render): Explicitly reject enormous outlines. * src/raster/ftrend1.c (ft_raster1_render): Reject enormous bitmaps and, therefore, outlines that require them. * src/smooth/ftsmooth.c (ft_smooth_render_generic): Ditto. * src/raster/ftraster.c (ft_black_render): Remove outline size checks. * src/smooth/ftgrays.c (gray_raster_render): Ditto. [STANDALONE]: Remove `FT_Outline_Get_CBox' copy. | ||
| eaa5a42a | 2018-06-11 21:56:23 | [raster] Clean up. * src/raster/ftraster.c (black_TWorker, SCALED, Set_High_Precision): Clean up after 5-level gray removal (8dc8635874). (Vertical_Sweep_Span): Be brief. | ||
| 50fda0be | 2018-06-09 22:52:43 | [raster] Deal with pitch sign earlier. * src/raster/ftraster.c (black_TWorker): Remove unused `traceG', s/bTarget/bOrigin/. (Render_Glyph): Set `ras.bOrigin' at the bottom-left corner. (Vertical_Sweep_Init, {Vertical,Horizontal}_Sweep_{Span,Drop}): Updated accordingly. | ||
| ca4e707a | 2018-06-06 08:18:23 | [smooth, raster] Limit bitmap size (#54019). * src/raster/ftraster.c [STANDALONE] (FT_Outline_Get_CBox): Add function. [!STANDALONE]: Include FT_OUTLINE_H. (ft_black_render): Compute CBox and reject glyphs larger than 0xFFFF x 0xFFFF. * src/smooth/ftgrays.c (gray_raster_render): Reject glyphs larger than 0xFFFF x 0xFFFF. | ||
| 78d85b9c | 2018-06-04 18:42:29 | Restore missing comment lines and other minor fixes |