Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| f7d7e7f9 | 2021-02-27 12:14:02 | freetype.h: Documentation typos. | ||
| ff34ea8e | 2021-02-27 11:02:53 | Improve build documentation. Fixes #1012. | ||
| e1f364e5 | 2021-02-25 20:00:07 | [woff2] Fix memory leak. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28148 * src/sfnt/sfwoff2.c (woff2_open_font): Reject fonts that have multiple tables with the same tag. While not explicitly forbidden in the OpenType specification, it is implicitly forbidden by describing a binary search algorithm for tables that only works reliably if table tags are unique. | ||
| df7fcafe | 2021-02-22 15:33:23 | * CMakeLists.txt: Update location of `LICENSE.TXT`. Fixes #1035. | ||
| 111f2f27 | 2021-02-19 20:33:50 | * builds/unix/ax_pthread.m4: Update from 'autoconf-archive'. A bunch of fixes were added recently to its git repository. | ||
| eca35e04 | 2021-02-17 21:10:34 | [unix] Updates for autoconf 2.71. This fixes warnings reported by autoupdate. * builds/unix/ax_pthread.m4: Replace `as_echo` with `AS_ECHO`. * builds/unix/configure.raw: Remove obsolete `AC_HEADER_STDC`. Don't escape back quotes in messages for `AC_MSG_WARN`. | ||
| 635d394f | 2021-02-16 19:24:15 | * builds/toplevel.mk: Fix previous commit. <top_level>: Use `TOP_DIR` in `wildcard` function. (check_out_submodule, copy_submodule): Move down to come after definition of `all` rule. Call `mkdir` conditionally. | ||
| c3a0b43e | 2021-02-16 17:04:51 | * builds/toplevel.mk: Use rules for handling 'dlg'. Suggested by Alexei. (check_out_submodule, copy_submodule): New targets. <top-level>: Replace calls to `shell` with rules. | ||
| dfa7cca5 | 2021-02-16 14:29:45 | * builds/toplevel.mk: Avoid side effects of `shell`. We use a dummy variable to catch its output. Otherwise the `make` program is going to interpret the return value of `shell`; this can cause obscure warning or error messages or even be harmful. | ||
| 92bd99bd | 2021-02-16 14:07:18 | Move 'dlg' submodule to `subprojects` directory. This is for future changes with Meson, which doesn't allow a different name for its `subprojects` directory. Having both a `submodules` and a `subprojects` directory is confusing. * .gitmodules, autogen.sh (copy_submodule_files, DLG_INC_DIR, DLG_SRC_DIR): Updated. * builds/toplevel.mk (<top-level>, do-dist), builds/windows/vc2010/script.bat: Updated. * src/tools/no-copyright: Updated. | ||
| 215ae253 | 2021-02-16 12:53:45 | [sfnt] Update paint format values to support non-variable paints. * freetype.h (FT_PaintFormat): Update paint format identifiers after a specification change. The specification was updated to have sibling formats, variable and non-variable variants for each. Reflect that here. * sfnt/ttcolr.c (read_paint): Remove parsing of variable indices as the non-variable formats no longer have them. | ||
| b2aeca5f | 2021-02-14 20:25:21 | * CMakeLists.txt: Improve 'bz2' support. Not all distributions such as FreeBSD provide a `.pc` file for '(lib)bz2' so follow autotools and add it to `Libs.private` instead. | ||
| 7849316c | 2021-02-13 09:21:37 | * src/tools/update-copyright-year: Fix single-year entry handling. The fix from 2021-01-17 didn't cover the case where the year to be updated is identical to the current year. | ||
| d51452e3 | 2021-02-13 08:52:58 | Add new function `FT_Get_Transform`. See https://github.com/harfbuzz/harfbuzz/issues/2428 for some reasons to introduce this function. * include/freetype/freetype.h, src/base/ftobjs.c (FT_Get_Transform): Implement it. | ||
| d93a0119 | 2021-02-13 07:50:04 | Minor editing of last commit; formatting. | ||
| 70fd20e6 | 2021-02-12 19:28:05 | Decorate qsort callbacks with cdecl. * include/freetype/internal/compiler-macros.h (FT_COMPARE_DEF): Add new macro. * src/base/ftrfork.c, src/bdf/bdflib.c, src/gxvalid/gxvcommn.c, src/psaux/afmparse.c, src/psnames/psmodule.c, src/type1/t1afm.c, src/sfnt/sfwoff.c, src/sfnt/sfwoff2.c: Update qsort callbacks. Fixes #1026 when compiling FreeType with an unusual calling convention while the C library qsort still expects cdecl. | ||
| 54c5ad5c | 2021-02-10 19:24:13 | [sfnt] Implement 'COLR' v1 sweep gradients. * freetype.h (FT_PaintSweepGradient): Add `FT_PaintSweepGradient` to represent a 'COLR' v1 sweep gradient. Update format. (FT_PaintFormat): Update shifted paint formats. Sync with spec. * sfnt/ttcolr.c (read_paint): Logic to parse sweep gradients. Fix struct access in radial gradient implementation. | ||
| c8dede7b | 2021-02-10 18:58:21 | [dlg] Update submodule to upstream's current master. | ||
| 64f01bfe | 2021-01-20 13:04:50 | [sfnt] Provide optional root transform for 'COLR' v1 glyph graph. * include/freetype/freetype.h (FT_Get_Color_Glyph_Paint): Additional function argument root_transform to control whether root transform should be returned. (FT_OpaquePaint): Additional tracking field to denote whether root transform is to be returned. * include/freetype/internal/sfnt.h (TT_Get_Color_Glyph_Paint_Func): Propagate additional argument. * src/base/ftobjs.c (FT_Get_Color_Glyph_Paint): Ditto. * src/sfnt/ttcolr.c (tt_face_get_colr_glyph_paint): Return root transform reflecting the size and tranform configured on FT_Face. (read_paint): Initialize and track status of insert_root_transform flag. | ||
| cc90307d | 2021-02-10 09:30:40 | * meson.build: s/freetype2_dep/freetype_dep/. Many projects (e.g., fontconfig, cairo) hardcode the `freetype_dep` variable name to use FreeType as subproject because that was the variable name in Centricular's Meson port of FreeType. While they should stop hardcoding that variable name, it does not cost us anything to keep using that name to ease transition. | ||
| 3dbdb78a | 2021-02-10 09:25:42 | [meson] Fix handling of HarfBuzz library. * meson.build (harfbuzz_dep): Do not fall back to HarfBuzz by default. Otherwise it causes a dependency cycle: cairo => fontconfig => freetype2 => harfbuzz => cairo Meson will still fall back to HarfBuzz subprojects if the `harfbuzz` option is set to `enabled` instead of `auto` and a `subprojects/harfbuzz.wrap` file is present. In that case it is the responsibility of the main project to set the proper options on each subproject to break the dependency cycle. Fixes: #1028. | ||
| 2c405596 | 2020-10-26 14:56:05 | Meson: Fix dependency lookup and generate ftconfig.h [meson] Fix dependency lookup and generate `ftconfig.h`. - zlib: If not found on the system, meson can build it as a subproject. We thus never use the (outdated) zlib support that comes with FreeType. Doing so has the additional advantage that the zlib code can be shared with other projects like GLib if both are subprojects of an application. - harfbuzz: Build as a subproject if not found on the system. - 'QUESTION: What if the compiler doesn't support `-D` but uses `/D` instead as on Windows?' Answer: Meson translate arguments for us. - visibility: Replace self-made code with meson-specific solution. * meson.build (ft2_defines): Rewrite logic to set and handle it. (process_header_command): New variable, previously called `ftoption_command`. (ftoption_command, ftconfig_command): New variables. (zlib_option): Removed. (zlib_dep): New variable. (ft2_deps): Updated. (harfbuzz_dep): Updated. (ftconfig_h_in, ftconfig_h): New variables. (ft2_sources): Updated. (ft2_lib): Updated, handle visibility. (summary): Updted. * meson_options.txt (zlib): Updated. | ||
| e11cc40a | 2020-10-26 14:21:19 | * meson.build: Fix resource compilation on Windows. This is copied from GStreamer's meson port of FreeType. (ft2_sources): Add both debug and resource file (the latter for Windows only). (ft2_debug_src): Removed. | ||
| 69e0faa8 | 2020-10-26 13:39:19 | * meson.build: s/ft2_libtool_version/ft2_pkgconfig_version/. (freetype2_dep): Use it. `ft2_libtool_version` would be the shared library version, not the one we should use in file `freetype2.pc`. | ||
| 0565c5ba | 2020-10-26 11:31:19 | * meson.build: Use `meson.override_dependency`. This is a new meson mechanism to avoid other projects to hard-code the `freetype2_dep` variable name in their build definition. It also ensures that meson does not mix system and subproject versions of FreeType inside of the same project. Also remove outdated TODO because `declare_dependency` was already there. | ||
| 5c81e09b | 2020-10-26 11:26:04 | * meson.build (bzip2_dep): Simplify. We remove `static:false` from `find_library('bz2')`. I don't know whether the previous code was a workaround for an old meson bug, but at least with version >=0.55.0 (which FreeType uses) it picks the shared library when both are available. With this commit, file `freetype2.pc` no longer contains the full path to file `libbz2.so`; instead, it correctly uses `-lbz2`. Note that this is a meson bug is still present in the current version (0.57.0). | ||
| 1b69fb9b | 2020-10-26 11:25:08 | * meson.build: Set project version. | ||
| 947e4752 | 2021-02-04 10:19:26 | [base] Fix Netpbm tracing message. * src/base/ftobjs.c (FT_Render_Glyph_Internal): Don't emit Netpbm warning if there is nothing to output. | ||
| d924a66a | 2021-02-04 07:44:06 | * src/*: Don't use more than one '\n' in `FT_TRACE` and `FT_ERROR`. This ensures good logging output, with all lines having a proper prefix (if requested). This is a continuation of a similar patch from 2020-12-02, which missed some locations. | ||
| fd7f92b6 | 2021-02-03 14:44:14 | * builds/unix/configure.raw [mmap]: Restore default path. Fixes #1023. | ||
| 0636dc8a | 2021-02-03 19:16:02 | [psaux] Fix integer overflow. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30154 * src/psaux/psblues.c (cf2_blues_capture): Use `SUB_INT32`. | ||
| d3befe1c | 2021-02-02 23:02:54 | * builds/unix/configure.raw [mmap support]: Explicitly handle Windows. Fixes #1024. | ||
| 5635d5ed | 2021-02-02 10:33:53 | * builds/unix/configure.raw [mmap support]: Correctly handle Windows. Fixes #1024. | ||
| 68940241 | 2021-02-02 09:38:25 | builds/{unix,windows}/ftsystem.c: Sync comments with `src/base/ftsystem.c`. Also some minor code formatting. | ||
| 4554c6da | 2021-01-31 17:17:40 | * builds/windows/ftdebug.c: Synchronize with `src/base/ftdebug.c`. | ||
| 324612ce | 2021-01-31 14:28:44 | Always provide logging API. It's easier to have stubs if FT_DEBUG_LOGGING is undefined than to modify `ftexport.sym` conditionally. Problem reported by Alexei. * src/base/ftdebug.c: Include `ftlogging.h`. (FT_Trace_Set_Level, FT_Trace_Set_Default_Level, FT_Set_Log_Handler, FT_Set_Default_Log_Handler) [!FT_DEBUG_LOGGING]: Provide stubs. | ||
| 939e8444 | 2021-01-30 06:32:38 | * builds/unix/configure.raw: Fix typo. Bug introduced in Vincent's last commit bb33f03. Fixes issue #1021. | ||
| 7ae5609d | 2021-01-27 16:08:08 | * src/base/ftstroke.c (FT_Stroker_EndSubPath): Ignore tiny gaps. Fixes bug #1020. | ||
| 4c3bd2ab | 2021-01-27 15:54:34 | [stroker] Minor clean-up. * src/base/ftstroke.c (FT_Stroker_{ConicTo,CubicTo}): Reset the last line length. (FT_Stroker_EndSubPath): Call `ft_stroker_process_corner'. | ||
| 601c5a61 | 2021-01-27 13:04:43 | Improve ChangeLog entry for last commit. | ||
| bb33f03a | 2021-01-27 06:43:41 | * builds/windows/ftsystem.c: Add shared memory support on Windows. | ||
| c7cc947c | 2021-01-23 15:45:10 | Minor documentation fixes. | ||
| 209e9841 | 2021-01-23 14:15:29 | Require HarfBuzz 2.0.0. This is needed to make commit f1f9705f9 work. * CMakeLists.txt (HARFBUZZ_MIN_VERSION), builds/unix/configure.raw (harfbuzz_pkg), meson.build (harfbuzz_dep): Updated. | ||
| 8dc31132 | 2021-01-22 20:27:15 | * autogen.sh: Absorb `version.sed'. * version.sed: Removed. | ||
| 60ba8fe9 | 2021-01-22 09:02:07 | Move old ChangeLog files to new `docs/oldlogs` directory. | ||
| 0606350c | 2021-01-22 09:01:46 | LICENSE.TXT: Moved to root directory; minor edits. Fixes issue #1015. | ||
| b594cd90 | 2021-01-19 07:35:38 | * srd/base/ftlcdfil.c (FT_Library_SetLcdGeometry): Fix return value. | ||
| f1f9705f | 2021-01-15 23:52:04 | [afshaper] Fix hb_ot_tags_from_script deprecation warning. * autofit/afshaper.c (af_shaper_get_coverage): Copy the source code of the function as suggested in https://github.com/harfbuzz/harfbuzz/issues/2737 and adjust to handle at most three tags. | ||
| d35c7f7c | 2021-01-17 08:44:00 | * src/tools/update-copyright-year: Fix single-year entry handling. | ||
| b6e8a712 | 2021-01-17 07:18:48 | Update all copyright notices. | ||
| 4278ee6c | 2021-01-17 07:16:26 | no-copyright: Updated. | ||
| 4e7a0184 | 2021-01-16 12:04:35 | * builds/unix/unixddef.mk: Remove the second DEVEL_DIR definition. | ||
| 5e4ed8ba | 2021-01-16 15:45:13 | Documentation update for repository move to 'freedesktop.org'. | ||
| b0f86752 | 2021-01-16 08:57:33 | .gitattributes: New file. We use this to handle ChangeLog files with the `git-merge-changelog` program. | ||
| 89184195 | 2021-01-16 07:53:09 | README, README.git: First updates due to freedesktop.org migration. | ||
| 268bdd77 | 2021-01-15 14:49:32 | CHANGES: Mention 'COLR' v1 support. | ||
| ba1a6acf | 2021-01-15 10:09:00 | [sfnt] Additional checks for 'colr' table presence. * sfnt/ttcolr.c (tt_face_get_colr_glyph_paint, tt_face_get_colorline_stops, tt_face_get_paint): Additional checks for whether colr table is present. Prevents crashes when these methods are called on non-COLR fonts. | ||
| 53fea877 | 2021-01-14 16:06:03 | Add config option to test for 'COLR' v1 support in headers. * include/freetype/config/ftoption.h (TT_SUPPORT_COLRV1): New macro so that clients can test whether the FreeType checkout that they are building against supports the 'COLR' v1 API. This is intended to be a temporary solution until 'COLR' v1 support is released in a FreeType version and such a check can be made by using the version number instead. | ||
| 4b58cf47 | 2020-12-16 17:18:56 | [base] Fill 'COLR' v1 API templates to make them work (#59703). * src/base/ftobjs.c (FT_Get_Color_Glyph_Paint, FT_Get_Paint_Layers, FT_Get_Paint, FT_Get_Colorline_Stops): Add basic sanity checks, check for existence of `FT_Face`, check arguments and delegate calls for the respective 'COLR' v1 API to the SFNT driver. | ||
| d3e95d97 | 2020-12-16 17:12:30 | [sfnt] Register 'COLR' v1 API in driver (#59703). * include/freetype/internal/sfnt.h (TT_Get_Color_Glyph_Paint_Func, TT_Get_Paint_Layers_Func, TT_Get_Colorline_Stops_Func, TT_Get_Paint_Func): New function pointer types. (SFNT_Interface): Add them. (FT_DEFINE_SFNT_INTERFACE): Updated. * src/sfnt/sfdriver.c (PUT_COLOR_LAYERS_V1): New macro. (sfnt_interface): Add new function pointers. | ||
| 6260b490 | 2020-12-16 17:06:42 | [sfnt] Add 'COLR' v1 API to retrieve color layers (#59703). * src/sfnt/ttcolr.c (tt_face_get_paint_layers): New function to get the layers of a `PaintColrLayers` table in the font, using an `FT_LayerIterator` from an `FT_PaintColrLayers` object retrieved via `tt_face_get_paint`. * src/sfnt/ttcolr.h: Updated. | ||
| be06a9d0 | 2020-12-16 17:02:22 | [sfnt] Add 'COLR' v1 API to iterate color stops (#59703). * src/sfnt/ttcolr.c (tt_face_get_colorline_stops): New function to return the current `FT_ColorStop` object from `FT_ColorStopIterator`. Also increment the iterator. * src/sfnt/ttcolr.h: Updated. | ||
| cdad4db4 | 2020-12-16 16:52:24 | [sfnt] Add API to get actual paint from `FT_OpaquePaint` (#59703). * src/sfnt/ttcolr.c (tt_face_get_paint): New function to resolve an `FT_OpaquePaint` paint reference into an `FT_COLR_Paint` object of a certain format, which contains the detailed information stored in a paint of the respective format. (read_paint): New function to provide the format specific parsing and to populate the data members of each specific `FT_COLR_Paint` subtype. (read_color_line): New function to parse retrieved color line information into an `FT_ColorLine` object, which has information about the color line extend mode as well as an `FT_ColorStopIterator` object. * src/sfnt/ttcolr.h: Updated. | ||
| 9e422b67 | 2020-12-16 16:44:34 | [sfnt] Add API to retrieve 'COLR' v1 root paint (#59703). * src/sfnt/ttcolr.c (BaseGlyphV1Record): New structure. (tt_face_load_colr): Handle version 1 table header. (find_base_glyph_v1_record): New auxiliary function. (tt_face_get_colr_glyph_paint): New function to find the root `FT_OpaquePaint` object for a given glyph ID. * src/sfnt/ttcolr.h: Updated. | ||
| 08dba4dc | 2020-12-16 16:14:19 | Add new methods required for 'COLR' v1 to public API (#59703). * include/freetype/freetype.h (FT_Get_Color_Glyph_Paint): New method for retrieving the root paint object for a color glyph by specifying a glyph ID. (FT_Get_Paint_Layers): New method for retrieving the layers of a `PaintColorGlyph`. (FT_Get_ColorLine_Stops): New method for retrieving the stops of a color. (FT_Get_Paint): New method for resolving an `FT_OpaquePaint` into an `FT_COLR_Paint` object. | ||
| f57c24db | 2020-12-16 16:02:02 | Add types required for 'COLR' v1 to public API (#59703). * include/freetype/freetype.h (FT_PaintFormat, FT_ColorStopIterator, FT_ColorIndex, FT_ColorStop, FT_PaintExtend, FT_ColorLine, FT_Affine23, FT_CompositeMode, FT_OpaquePaint, FT_PaintColrLayers, FT_PaintSolid, FT_PaintLinearGradient, FT_PaintRadialGradient, FT_PaintGlyph, FT_PaintColrGlyph, FT_PaintTransformed, FT_PaintTranslate, FT_PaintRotate, FT_PaintSkew, FT_PaintComposite, FT_COLR_Paint): Adding structs and enum to represent paint format, color stop information, gradient extend information, structs to reference paint offsets, and to define transforms and compositions. Adding a union type to represent the union of the structs, distinguished by `FT_PaintFormat`. | ||
| 03ceda97 | 2021-01-10 15:34:46 | * builds/*: s/BUILD_DIR/PLATFORM_DIR/. The old variable name caused confusion. | ||
| 34315538 | 2021-01-08 13:22:34 | [builds] Revert `FTMODULE_H' changes. * builds/toplevel.mk, builds/freetype.mk: Revert changes. | ||
| 0901a6f7 | 2021-01-07 19:43:15 | Tweak .gitignore. | ||
| 6f24bab6 | 2021-01-07 16:57:13 | [builds/windows] Fix up DLG build with VC++. * builds/windows/vc2010/script.bat: Copy headers to include/. * builds/windows/vc2010/freetype.vcxproj: Remove DLG paths. | ||
| 576403f2 | 2021-01-07 16:02:32 | [builds] Relocate `FTMODULE_H'. * builds/toplevel.mk: Place `FTMODULE_H' in include/. * builds/freetype.mk: Simplify included path. | ||
| cbc14b10 | 2021-01-07 10:13:15 | Fix ABI incompatibility. * include/freetype/ftimage.h (FT_Pixel_Mode): Don't insert `FT_PIXEL_MODE_GRAY16' but append it. * src/base/ftobjs.c (pixel_modes): Updated. | ||
| 8afc1854 | 2021-01-07 10:04:24 | Fix typos from last commit. | ||
| 6369058e | 2021-01-07 00:13:23 | [dlg] Move the headers to include/dlg to simplify their use. * autogen.sh, builds/toplevel.mk: Copy headers to incluide/dlg. * builds/freetype.mk, builds/windows/vc2010/freetype.vcxproj: Simplify included path. * include/freetype/internal/ftdebug.h: Simplify #include. * src/dlg/rules.mk, .gitignore: Updated. | ||
| f88c00e4 | 2021-01-06 19:19:29 | * meson.build: Add summary. Based on a patch from Vincent Torri <vincent.torri@gmail.com>. | ||
| c6345ca3 | 2021-01-06 08:55:16 | * meson.build: Fix 'png' build option (#59458). Without this patch, 'png' is always required. | ||
| 74f1b6be | 2021-01-04 23:35:01 | [builds/windows] Add SDF to VC2010 project. * builds/windows/vc2010/freetype.vcxproj: Updated; AfterBuild conveniences. | ||
| c6ff2556 | 2020-12-26 10:50:21 | [sdf] Use 'counter-clockwise', not 'anti-clockwise'. We prefer US nomenclature. * src/sdf/ftsdf.c (SDF_Contour_Orientation): s/SDF_ORIENTATION-ACW/SDF_ORIENTATION_CCW/. Update all users. | ||
| bca740d5 | 2020-12-26 08:55:49 | Typo. | ||
| b6c8542d | 2020-12-26 08:51:46 | * src/base/ftobjs.c (pixel_modes): Updated. | ||
| 10a5dfec | 2020-12-26 08:34:38 | [sdf] Remove custom memory tracker. The internal FreeType memory tracker is sufficient. * src/sdf/ftsdf.c (FT_DEBUG_INNER, FT_ASSIGNP_INNER, SDF_MemoryUser, sdf_alloc, sdf_free, SDF_ALLOC, SDF_FREE, SDF_MEMORY_TRACKER_DECLARE, SDF_MEMORY_TRACKER_SETUP, SDF_MEMORY_TRACKER_DONE): Removed. s/SDF_ALLOC/FT_ALLOC/. s/SDF_FREE/FT_FREE/. Other updates. | ||
| a8d3ad35 | 2020-12-24 08:43:55 | .mailmap: Updated and synchronized with 'freetype2-demos' repository. | ||
| 286e9e0d | 2020-12-24 08:41:12 | [sdf] Two more copyright notices. | ||
| 3c983eb8 | 2020-12-24 08:36:09 | [sdf] Fix `make multi`. * src/sdf/ftsdf.c: Include `ftoutln.h`. | ||
| aa1b5362 | 2020-12-24 08:32:04 | [sdf] Fix tracing. * include/freetype/internal.fttrace.h: Add 'bsdf' component. * src/sdf/ftbsdf.c, src/sdf/ftsdf.c (FT_COMPONENT): Define. | ||
| 04a64432 | 2020-12-24 08:29:05 | [sdf] Add copyright notices. | ||
| eb2b5bb1 | 2020-12-24 07:44:16 | docs/CHANGES: Mention new SDF module. | ||
| b298a644 | 2020-08-21 04:59:08 | [sdf] Add debugging function. * src/sdf/ftsdf.c (sdf_shape_dump): New function. | ||
| 6444875f | 2020-08-21 03:59:23 | [sdf] Add brief technical overview of both rasterizers. | ||
| 6cd6df55 | 2020-08-20 21:57:43 | [sdf] Add 'bsdf' renderer to 'sdf' module. * src/sdf/ftsdfrend.c (ft_bsdf_render): New function. (ft_bitmap_sdf_renderer_class): New structure. | ||
| d27d107f | 2020-08-20 21:25:46 | [sdf] Add interface functions for the 'bsdf' rasterizer. * src/sdf/ftsdf.c (bsdf_raster_new, bsdf_raster_reset, bsdf_raster_set_mode, bsdf_raster_render, bsdf_raster_done): New functions. (ft_bitmap_sdf_raster): New variable. * src/sdf/ftsdf.h: Updated. | ||
| a2113475 | 2020-08-20 21:21:33 | [sdf] Add function to copy SDF data into output bitmap. * src/sdf/ftbsdf.c (finalize_sdf): New function. | ||
| e2ae96b9 | 2020-08-20 21:19:32 | [sdf] Add '8-point sequential Euclidean distance mapping' algorithm. * src/sdf/ftbsdf.c (compare_neighbor, first_pass, second_pass, edt8): New functions. | ||
| 6b9a8044 | 2020-08-20 21:09:23 | [sdf] Add function to copy source bitmap to distance map. * src/sdf/ftbsdf.c (bsdf_init_distance_map): New function. | ||
| 0f644f38 | 2020-08-20 09:25:15 | [sdf] Add functions to compute pixel edge distances. * src/sdf/ftbsdf.c (compute_edge_distance, bsdf_approximate_edge): New functions. | ||
| c5761764 | 2020-08-20 09:20:26 | [sdf] Add function to find edge pixels in a grid of alpha values. * src/sdf/ftbsdf.c (bsdf_is_edge): New function. | ||
| 9bbb3611 | 2020-08-20 09:17:38 | [sdf] Add essential structures for the 'bsdf' rasterizer. * src/sdf/ftbsdf.c (ONE): New macro. (BSDF_TRaster, ED, BSDF_Worker): New structures. (zero_ed): New constant. | ||
| c6f394bf | 2020-08-20 08:28:14 | [sdf] Add 'sdf' module to non-gnumake build systems. * include/freetype/config/ftmodule.h: Add both the 'sfd' and 'bsfd' renderers to the list of modules. * CMakeLists.txt (BASE_SRCS): Add 'sdf' single-object module. | ||
| 05f6088d | 2020-08-20 07:54:13 | [sdf] Added basic overlapping contour support. * src/sdf/ftsdf.c (sdf_generate_with_overlaps): New function. (sdf_raster_render): Enable it. | ||
| 879ca87f | 2020-08-19 16:57:38 | [sdf] Add build infrastructure. * src/sdf/module.mk, src/sfd/rules.mk: New files. * src/sdf/ftsdf.h (ft_sdf_raster): New forward declaration. * include/freetype/ftmoderr.h (FT_MODERRDEF): Add error definition for the 'sdf' module. * include/freetype/internal/fttrace.h (FT_TRACE_DEF): Add trace definition for the `sdf' module. * modules.cfg (RASTER_MODULES): Add the `sdf' module to the list of rasterizers. |