Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 5d4e649f | 2025-02-26 15:35:25 | .gitlab-ci.yml: Minor. | ||
| 316bdc96 | 2025-02-26 15:32:27 | * .gitlab-ci.yml: Switch to arm64 runners for macOS CI. | ||
| d0c905c6 | 2025-02-24 19:13:39 | [sfnt/CPAL] Return early if user requested currently-set palette Before, we were loading a palette (again and again) even if the same was requested. Even if the font only had one palette... For a font like NotoColorEmoji that has over 5000 colors in its palette, this was dominating the COLRv1 loading times for HarfBuzz (and I believe all other clients) because they have to set the palette to get access to the colors. * src/base/ftcolor.c (FT_Palette_Select): Check the current palette. | ||
| b1f47850 | 2025-01-28 22:49:21 | * src/bdf/bdflib.c (bdf_parse_start_): Move setup of properties. | ||
| 00a1567a | 2025-01-24 22:36:56 | [bdf] Treat all comments uniformly. * src/bdf/bdflib.c (bdf_parse_start_): Reject fonts with initial COMMENTs. (bdf_parse_properties_): Skip COMMENTs so that... (bdf_add_property_): Do not make exception for COMMENT. (bdf_parse_glyphs_, bdf_add_comments): Updated. | ||
| fdae51cc | 2025-01-24 22:03:00 | * src/bdf/bdflib.c (BDF_SWIDTH_ADJ_): Remove clashing flag and update. | ||
| bfe793cc | 2025-01-22 21:17:57 | * src/bdf/bdflib.c (bdf_atous_): Remove unnecessary checks. | ||
| 40a74585 | 2025-01-22 21:05:22 | * src/bdf/bdflib.c (bdf_ato{i.ul.s.us}_]): Remove uncecessary checks. | ||
| 56131e42 | 2025-01-22 20:47:56 | [bdf] Postpone font default char handling. * src/bdf/bdflib.c (bdf_parse_start_, bdf_add_property_): Delay handling of the default char until... * src/bdf/bdfdrivr.c (BDF_Face_Init): ... handles all other properties. | ||
| 8bae8706 | 2025-01-22 20:46:43 | [bdf] Postpone font spacing handling. * src/bdf/bdf.h (bdf_font_t): Remove `monowidth`. * src/bdf/bdflib.c (bdf_parse_start_, bdf_add_property_): Delay handling of the font spacing until... * src/bdf/bdfdrivr.c (BDF_Face_Init): ... handles all other properties. | ||
| c0a7839e | 2025-01-22 19:11:47 | [bdf] Postpone font ascent and descent handling. * src/bdf/bdflib.c (bdf_parse_start_, bdf_add_property_): Delay handling of the font ascent and descent until... * src/bdf/bdfdrivr.c (BDF_Face_Init): ... handles all other properties. | ||
| c33da8fb | 2025-01-22 16:59:44 | * src/bdf/bdflib.c (bdf_parse_start_): Relax the header order. We now check that the header is complete in no specific order. | ||
| a059b237 | 2025-01-19 22:39:17 | * src/truetype/ttgxvar.c (tt_face_vary_cvt): Fix all shared values. Applying cvar deltas to all shared points was incorrectly omitted. Fixes #1314. | ||
| b9e09e33 | 2025-01-19 12:35:13 | * src/bdf/bdflib.c (bdf_parse_glyphs_): Fix tracing. | ||
| 01c22b36 | 2025-01-19 11:19:10 | [bdf] Tokenize input instead of listing. Instead of cumbersome field list mamangement, we will tokenize input using custom `bdf_strtok_`. * src/bdf/bdflib.c (bdf_list_t_, bdf_list_init_, bdf_list_ensure_, bdf_list_shift_, bdf_list_join_, bdf_list_split_, bdf_set_default_spacing_): Removed. (bdf_strtok_): New function which NUL-terminates the first token at the delimiter position and returns the next token that follows consequtive delimiters. (bdf_parse_*_, bdf_load_font): Updated. * docs/CHANGES: Claim overall 75% performance improvement. | ||
| ad7dce77 | 2025-01-17 20:54:14 | * src/bdf/bdflib.c (bdf_parse_start_): Prevent another STARTPROPERTIES. Only one STARTPROPERTIES was permitted in the old flow preventing leaks and overflows. See https://issues.oss-fuzz.com/issues/389968131 https://issues.oss-fuzz.com/issues/390464875 | ||
| e3a3b39d | 2025-01-16 23:25:08 | * src/bdf/bdflib.c (bdf_parse_start_): Do not overwrite flags. | ||
| d4631a2e | 2025-01-16 20:54:33 | * src/bdf/bdflib.c (bdf_readstream_): Skip all control characters. This agrees with specifications and makes the code a lot simpler. | ||
| 02953326 | 2025-01-16 03:47:14 | * src/bdf/bdflib.c (bdf_parse_start_): Reserve space for artificial properties. | ||
| ae11e18c | 2025-01-15 15:50:12 | * src/bdf/bdflib.c (bdf_add_property_): Add extra protection. See https://issues.oss-fuzz.com/issues/389972472 https://issues.oss-fuzz.com/issues/389968131 | ||
| a0d86e56 | 2025-01-14 22:58:04 | * src/bdf/bdflib.c: Clean up. | ||
| a3c68e3b | 2025-01-14 22:32:46 | [bdf] Use flags instead of options. * src/bdf/bdf.h (bdf_options_t): Removed. (BDF_KEEP_COMMENTS, BDF_KEEP_UNENCODED, BDF_CORRECT_METRICS): Updated to avoid collisions with the other parsing flags. * src/bdf/bdfdrivr.c (BDF_Face_Init): Use default flags explicitly. * src/bdf/bdflib.c (bdf_load_font): Use flags as an argument to initialize the parser. (bdf_set_fedault_spacing_): Default to BDF_PROPORTIONAL explicitly. (bdf_parse_*_): Updated. | ||
| a05c2210 | 2025-01-14 21:11:33 | [bdf] Adjust parsing flow and CHARS handling. * src/bdf/bdflib.c (bdf_readstream_): Remove CHARS exception. (bdf_parse_glyphs_): Move glyphs allocation... (bdf_parse_properties_): and missing ascent and descent handling... (bdf_parse_start_): ...to here under CHARS. | ||
| 0864367a | 2025-01-14 18:39:50 | * src/bdf/bdflib.c (bdf_readstream_): Tweak variables and loop design. | ||
| ee1310ab | 2025-01-13 17:19:31 | * src/bdf/bdflib.c (bdf_parse_glyphs_): Free unused glyph_name. See https://issues.oss-fuzz.com/issues/389330334. | ||
| f2199967 | 2025-01-13 03:48:28 | * src/bdf/bdflib.c (bdf_parse_glyphs_): Store glyph as soon as possible. | ||
| aab40d5c | 2025-01-12 00:24:42 | * src/bdf/bdflib.c (bdf_parse_glyphs_): Avoid possible leak. | ||
| bbc445e1 | 2025-01-11 23:11:07 | [bdf] Speed up bitmap parsing. A dedicated parser of bitmap data with minimal error checking and no string comparisons helps to improve performance. * src/bdf/bdflib.c (bdf_parse_bitmap_): New dedicated bitmap parser. (bdf_parse_glyphs_): Pass to `bdf_parse_bitmap_` on BITMAP. | ||
| 4433c7b7 | 2025-01-11 18:54:04 | * src/bdf/bdflib.c (a2i): Formatting. | ||
| ff5872b4 | 2025-01-10 22:55:13 | * src/bdf/bdflib.c (bdf_parse_*_): Minor improvements. | ||
| cf451e5f | 2025-01-10 22:31:07 | * src/bdf/bdf.h (bdf_font_t): Correct `internal` type. * src/bdf/bdflib.c (*): Update users. | ||
| 8d536080 | 2025-01-10 22:44:40 | * builds/windows/ftsystem.c: Fix ancient condition. | ||
| 1f57020f | 2025-01-10 03:23:41 | * src/bdf/bdflib.c (bdf_parse_start_): Fix tracing labels. | ||
| 704d5405 | 2025-01-09 15:18:55 | * MSBuild.rsp: Force console color for mintty. | ||
| 1400b20a | 2025-01-09 13:21:50 | * CMakeLists.txt: Use modern IMPORTED targets. This resolves build problems with newer libPNG versions by switching to using IMPORTED CMake targets for common libraries where provided. To do this the required CMake version is raised to version 3.12. Doing this seems justified as using IMPORTED targets is a cleaner and more powerful solution that can leverage advanced and CMake-specific features that may be utilized by the referred dependencies' CMake modules. Resolves #1311. | ||
| 73318c86 | 2025-01-08 15:45:32 | [cff] Remove size/slot checks. After the previous commit, cff_glyph_load is no longer called without first checking for valid size and glyph objects in FT_Glyph_Load and these checks can be removed downstream. * src/cff/cffdrivr.c (cff_glyph_load): Remove `size` and `glyph` checks. * src/cff/cffgload.c (cff_slot_load): Ditto. | ||
| c7a255b4 | 2025-01-07 19:52:29 | * src/cff/cffdrivr.c (cff_get_advances): Do only fast advances. Otherwise, let TT_Get_Advances fall back on cff_load_glyph to do slow advances. This avoids unchecked access to cff_load_glyph and this is how tt_get_advances is implemented. | ||
| 81330e1f | 2025-01-03 22:54:20 | * src/truetype/ttgload.c (TT_Load_Glyph): Consolidate flag setting. | ||
| 5245fd69 | 2025-01-03 21:26:10 | Delay FT_GLYPH_FORMAT_OUTLINE assignmets. This assignmets used to be done prematurely before errors were checked and outlines were actually loaded. Delaying the assignment provides certain protection against careless usage of malformed input that should now remain FT_GLYPH_FORMAT_NONE. * src/cff/cffgload.c (cff_slot_load): Ditto. * src/cid/cidgload.c (cid_slot_load_glyph): Ditto. * src/pfr/pfrobjs.c (pfr_slot_load): Ditto. * src/truetype/ttgload.c (TT_Load_Glyph): Ditto. * src/type1/t1gload.c (T1_Load_Glyph): Ditto. | ||
| afc7000c | 2025-01-03 18:17:49 | * builds/compiler/gcc-dev.mk: Silence some warnings. | ||
| 64f8b7fb | 2025-01-02 18:22:24 | Remove superfluous outline zeroing. This is already done by `ft_glyphslot_clear`. * src/cff/cffgload.c (cff_slot_load): Do not zero outline fields. * src/cid/cidgload.c (cid_slot_load_glyph: Ditto. * src/pfr/pfrobjs.c (pfr_slot_load): Ditto. * src/truetype/ttgload.c (load_sbit_image): Ditto. * src/type1/t1gload.c (T1_Load_Glyph): Ditto. | ||
| 10b3b14d | 2025-01-01 23:04:14 | * src/truetype/ttobjs.c: Abbreviate tracing. | ||
| 1beb83fd | 2025-01-01 22:28:36 | * src/sfnt/ttsbit.c (tt_face_load_sbix_image): Refactor `flip`. | ||
| abed051e | 2025-01-01 14:40:58 | [truetype] Consolidate bitmap strike handling. * src/truetype/ttgload.c (TT_Load_Glyph): Relocate omitted whitespace strike handling from here... (load_sbit_image): ... to here. | ||
| 4ef8eed1 | 2024-12-31 16:25:50 | [truetype] Ingnore FT_LOAD_NO_BITMAP in bitmap-only fonts. For consistency with other bitmap-only fonts, we should ignore this flag of the font is not scalable. * src/truetype/ttgload.c (TT_Load_Glyph): Check if face is scalable when checking for FT_LOAD_NO_BITMAP. * docs/CHANGES: Start new chapter wtith this change. | ||
| 38272bf8 | 2024-12-16 14:29:36 | [ftstroke] Fix invalid pointer assignement to `arc` In `FT_Stroker_ConicTo` and `FT_Stroker_CubicTo` there is a `bez_stack`. `arc` is initialized with `arc = bez_stack` and is never set to point into any different object. The main loop looks like `while ( arc >= bez_stack )` which is depending on a later `arc -= 2` (or `arc -= 3`) to make `arc` point to before `bez_stack`. However, using pointer subtraction to make `arc` point outside the array is undefined behavior, and attempting to use the value in the loop predicate is "very" undefined behavior. (C99 "Additive operators" 6.5.6.8.) This particular undefined behavior was discovered as either hangs or MemorySantizer issues after "[InstCombine] Infer nuw for gep inbounds from base of object" [0]. With this change, clang can infer that `arc` must always point into the `bez_stack` object and therefore cannot be at a "negative index" so the predicate is always true. [0] https://github.com/llvm/llvm-project/commit/e21ab4d16b555c28ded307571d138f594f33e325 * src/base/ftstroke.c (FT_Stroker_ConicTo, FT_Stroker_CubicTo): test loop exit condition (there are no more arcs to process) before decrementing `arc` Fixes: #1307 | ||
| 59320b2d | 2024-12-04 16:55:10 | [cff] Fix leak of cmap data When `sfnt->load_face` succeeds it has already loaded any (optional) cmap data. As a result, a subsequent call to `sfnt->load_cmap` will overwrite the cmap data pointer with a new copy of the data but not free the old, leading to a leak. This is a fix for "* src/cff/cffobjs.c (cff_face_init): Better handling of Type0 fonts.". This still allows the cmap to be missing but avoids the leak by only calling `sfnt->load_cmap` when there is no `head` table (the font data is not being loaded as OpenType/CFF). * src/cff/cffobjs.c (cff_face_init): Fix leak Fixes: #1306 | ||
| 3f3e3de3 | 2024-11-06 06:28:41 | * src/cff/cffobjs.c (cff_face_init): Better handling of Type0 fonts. This issue relates to the PDF specification and its usage of CFF-based embedded Type0 fonts. For Type0 fonts containing CID-keyed descendant CFF-based fonts, the glyph index is the CID present in the content stream. As a result, there is no requirement for a 'cmap' table to be present in the font since the glyph indices are derived directly from the CIDs. FreeType throws an error when it doesn’t find a 'cmap' table for such an Open Type font containing CFF outlines. This commit relaxes this requirement for a 'cmap' table for such fonts. | ||
| 0ae7e607 | 2024-10-18 14:02:22 | Download the latest gnu-config files in `make dist`. * builds/toplevel.mk: In `make dist`, checkout gnu-config git repository at savannah, copy the latest versions of `config.guess` and `config.sub` to builds/unix/. Also the latest version of `gitlog-to-changelog` is used to generate `ChangeLog`. | ||
| 13944366 | 2024-10-15 18:07:55 | Move generic destroy to later in the face and size destruction. * src/base/ftobjs.c (destroy_size, destroy_face): This is such that the generic destroy can be used to call `FT_Done_Library`. For that to work, it needs to call it *after* having removed the face from the respective module. | ||
| f02bffad | 2024-10-14 11:47:31 | * src/truetype/ttgload.c (load_truetype_glyph): Rearrange. | ||
| 5f2abe76 | 2024-10-13 03:06:42 | * autogen.sh: Fix for Solaris 10. o Replace `test -e` by `test -d` (directory) and `-h` (symlink), because pre-POSIX /bin/sh of Solaris 10 does not support `test -e`. o Replace the combination of `head` and `sed ...` by single sed command `sed -n 1...p`. GNU libtoolize with Solaris 10 /bin/sh complains "Broken Pipe" for the closure of stdout by `head`. Let `sed` receive all stdout and discard. | ||
| 089ccb1b | 2024-10-13 12:14:43 | * src/smooth/ftgrays.c (gray_convert_glyph): Clear stack pointers. Fixes a dangling pointer warning, see #1299. | ||
| 5f20c892 | 2024-10-13 10:20:42 | apinames: Fix a buffer overrun for VMS platform. Some output formats may rewrite symbol names during the output, like the concatenation of "64__" suffix on VMS. To estimate sufficient size to store symbol name, pass the output format info to `names_add`. For VMS, `names_add` allocates longer buffer to append "64__". * apinames.c (SUFFIX_VMS_64ADDR): New macro of "64__". (main): Pass the format info to `read_header_file`. (read_header_file): Pass the format info to `names_add`. (names_add): Receive the format info, and reserve the symbol name buffer 4 byte longer in the case of VMS, to append the suffix in `names_dump`. | ||
| 26b545f3 | 2024-10-13 11:09:40 | apinames: Fix out-of-scope reference of a static array. * apinames.c (names_dump): For WATCOM_LBC format, the DLL name with no suffix is constructed on a static array temp[], but the scope is closed before use it. The declaration of temp[] is moved to the wider scope for the dumping part to refer it. | ||
| 7c09421d | 2024-10-12 08:22:51 | * vms_make.com: Format rules. Use tabs in rules only à la Makefile. | ||
| b4ca23be | 2024-10-12 10:57:59 | * meson.build: Define DLL_EXPORT for shared library only. Fixes #1298. | ||
| 78ff3535 | 2024-10-12 10:51:25 | * meson.build: Minor improvements. | ||
| 34aed655 | 2024-10-12 10:49:46 | * meson.build: Fix `bzip2` option handling. | ||
| f4c2a44e | 2024-10-12 10:47:38 | * meson.build: Add support for compiling with error strings. * meson_options.txt: Document it. | ||
| 0dd4eef6 | 2024-10-10 15:56:22 | Fix help message of apinames. * src/tools/apinames.c: The first header file must be given after the options. All arguments after the first header file are dealt as header files to be parsed, regardless with their leading "-". For example, "apinames include/freetype/freetype.h -dFREETYPE.DLL" warns "unable to open -dFREETYPE.DLL". Thus, the "header1" must be given after the arguments to be parsed as the options. | ||
| c8274587 | 2024-09-21 06:41:47 | Minor fixes for OpenVMS. * vms_name.com: Suppress a warning with the latest Clang compiler. * builds/vms/apinames_vms.bash: Use absolute path to avoid dependency on the environment. | ||
| 83af801b | 2024-09-07 13:44:57 | * src/sfnt/ttsbit.c (tt_face_load_sbix_image): Respect metrics_only. Also fixes recursive flip. | ||
| 30080320 | 2024-09-06 13:43:47 | * src/sfnt/ttsbit.c (tt_face_load_sbix_image): Tweak loop. | ||
| 98283cb3 | 2024-09-06 17:03:58 | [sfnt] Support sbix graphicType 'flip'. * src/sfnt/ttsbit.c (tt_face_load_sbix_image): Currently undocumented by Apple, this flips the bitmap data horizontally. It is used on macOS in Apple Color Emoji; 19.4d6e1; 2024-02-05 (file `Apple Color Emoji.ttc`). Fixes issue #1282. | ||
| aaa559ea | 2024-09-04 22:33:01 | Add `clang` to host compiler candidates in cross building. * builds/unix/configure.raw: In cross building, `clang` is tried if there is no `gcc`, nor `cc`. | ||
| e622c3c4 | 2024-09-03 15:59:42 | Improve the build rule for `apinames`. * builds/unix/configure.raw: copy `CFLAGS` & `LDFLAGS` values to `CFLAGS_BUILD` & `LDFLAGS_BUILD`, in a self-hosting case. * builds/unix/unix-cc.in: set `CCexe_CFLAGS` & `CCexe_LDFLAGS` by `CFLAGS_BUILD` & `LDFLAGS_BUILD`. In some confused environments, simple building like `cc -o apinames apinames.c` is no longer able to build an executable running on the host. The validity of `CC` is tested with consideration of `CFLAGS` and `LDFLAGS`, thus, duplicating `CFLAGS` & `LDFLAGS` to `CCexe_CFLAGS` & `CCexe_LDFLAGS` (via XXX_BUILD) would be slightly safer in a self-hosting build. Fixes the issue #1296. | ||
| d2612e1c | 2024-08-26 07:01:19 | * src/sfnt/ttcmap.c (tt_cmap*_get_info): Remove casting. | ||
| 4f00846d | 2024-08-25 18:13:10 | * include/freetype/ftimage.h (FT_Bitmap): Describe empty bitmap. | ||
| f92c9655 | 2024-08-13 23:29:13 | Fix various typos. | ||
| c4e6791f | 2024-08-12 20:19:19 | * messon.build: Install `include/freetype/ftlogging.h`. Fixes #1292. | ||
| 42608f77 | 2024-08-11 20:30:23 | * Version 2.13.3 released. ========================== Tag sources with `VER-2-13-3'. * docs/VERSION.TXT: Add entry for version 2.13.3. * docs/CHANGES: Updated. * docs/release, docs/README, builds/macs/README: Updated. * README, src/base/ftver.rc, builds/windows/vc2010/index.html, builds/windows/visualc/index.html, builds/windows/visualce/index.html, builds/wince/vc2005-ce/index.html, builds/wince/vc2008-ce/index.html, docs/freetype-config.1: s/2.13.2/2.13.3/, s/2132/2133/. * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3. * builds/unix/configure.raw (version_info): Set to 26:2:20. * CMakeLists.txt (VERSION_PATCH): Set to 3. | ||
| a4b4e3ec | 2024-08-12 12:43:14 | * meson.build: Install `freetype2.m4`. Fixes #1290. | ||
| 6b992aaa | 2024-08-11 19:44:13 | * src/*/*: Fix C++ compilation; fix clang warnings. | ||
| 8fc8b131 | 2024-08-11 18:37:48 | * subprojects/*.wrap: Updated. | ||
| ed8b82ba | 2024-08-08 10:28:05 | Various minor documentation or formatting fixes. | ||
| ec378cec | 2024-08-07 21:23:44 | tttables.h (FT_Get_CMap_Format): Minor documentation improvement. | ||
| 1f72a120 | 2024-08-05 13:05:51 | * src/truetype/ttgxvar.c (ft_var_readpacked*): Minor. | ||
| e181911d | 2024-08-05 13:02:04 | * src/base/ftstream.c (FT_Stream_ReadFields): Switch to `FT_Offset`. | ||
| a48cddde | 2024-08-01 21:15:46 | * src/winfonts/winfnt.c (fnt_face_get_dll_font): Unwrap arithmetic. | ||
| 72e199e8 | 2024-08-01 21:12:41 | * src/base/ftstream.c (FT_Stream_ReadFields): Update condition. | ||
| 7c75b8a7 | 2024-08-01 19:14:44 | [truetype/GX] Use more robust conditions. * src/truetype/ttgxvar.c (ft_var_readpacked{points,deltas}): Rewrite conditions to avoid undefined behavior. | ||
| 5e116bb0 | 2024-07-30 21:51:51 | [truetype/GX] Read points and deltas more carefully. Hopefully fixes newly introduced buffer overflows: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=70807 https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=70809 * src/truetype/ttgxvar.c (ft_var_readpacked{points,deltas}): Explicitly check stream frame limits and modify run counting. | ||
| 104f8544 | 2024-07-29 20:26:00 | [truetype/GX] Read stream more aggressively. With ample checks against the table size, we should be able to use macros without the limit checks and functional calls. * src/truetype/ttgxvar.c (ft_var_readpacked{points,deltas}): Use FT_NEXT_* instead of FT_GET_*. | ||
| 3f8edd23 | 2024-07-28 20:56:07 | * src/sfnt/ttload.c (tt_face_load_name): Shorten dereference. | ||
| d42bffd4 | 2024-07-28 20:32:41 | * src/autofit/afmodule.c (af_autofitter_load_glyph): Shorten deref. | ||
| 24888540 | 2024-07-28 19:42:49 | [bdf,pcf,winfonts,sfnt] Remove barely used marcros. * include/freetype/internal/ftobjs.h (FT_FACE_SIZE, FT_SIZE_FACE): Removed. * src/bdf/bdfdrivr.c (BDF_Glyph_Load): Updated. * src/pcf/pcfdrivr.c (PCF_Glyph_Load): Ditto. * src/winfonts/winfnt.c (FNT_Load_Glyph): Ditto * src/sfnt/ttbdf.c (tt_face_find_bdf_prop): Ditto. | ||
| 97069edd | 2024-07-27 20:41:25 | * include/freetype/internal/ftcalc.h (FT_MSB)[_M_ARM64EC]: Added. | ||
| 1452355d | 2024-07-18 09:31:19 | * src/truetype/ttobjs.c (tt_size_run_prep): Correct scaling of CVT values. This reverts the scaling behaviour introduced in commit 37580053. Fixes issue #1005. | ||
| 37cefe33 | 2024-06-13 12:01:54 | * psobjs.c (ps_table_add): Check length before calling `FT_MEM_CPY`. Fixes issue #1280. | ||
| 22803461 | 2024-06-28 17:34:05 | CMakeLists.txt: Respect FT_DISABLE_ZLIB value The CMake build uses `find_package` to look for dependencies. Before calling `find_package` it looks to see if the dependency was disabled. If not the associated `_FOUND` variable will be set. This value is then checked to determine if the dependency is added. However `find_package(PNG)` calls `find_package(ZLIB)` within its find module. So in the case of `FT_DISABLE_ZLIB=TRUE` and `FT_DISABLE_PNG=FALSE` the `ZLIB_FOUND` value can be set and even though `FT_DISABLE_ZLIB` is turned on. Unset the value of `ZLIB_FOUND` after the call to `find_package(PNG)` so the value is only set when `FT_DISABLE_ZLIB` is turned off. | ||
| bab9564a | 2024-06-26 05:39:11 | Make 'multi' build work again. * src/psaux/psobjs.c: Include `psft.h`. * src/sfnt/rules.mk (SFNT_DRV_SRC): Add `ttgpos.c`. Fixes issue #1284. | ||
| 73720c7c | 2024-06-23 10:58:00 | * src/truetype/ttgload.c (load_truetype_glyph): Unsigned fix. | ||
| 044d142b | 2024-06-20 22:16:51 | Use unsigned tags `FT_Outline`. This change comes along with 2a7bb4596f56 ans is only meant to reduce pointer casting in the code. * include/freetype/ftimage.h (FT_Outline): Do it. * src/*: Update `FT_Outline` users. | ||
| b1cbcb20 | 2024-06-20 15:00:20 | [ttgxvar] Avoid "applying zero offset to null pointer" In C it is undefined behavior to do arithmetic on a null pointer, including adding zero. When using NotoSansKhmer[wdth,wght].ttf UBSAN produces a report like ttgxvar.c:1052:31: runtime error: applying zero offset to null pointer when adding zero to `varData->deltaSet` (which is null) to produce `bytes`. Protect against all the potential issues of this kind by returning early if `varData->regionIdxCount == 0`. * src/truetype/ttgxvar.c (tt_var_get_item_delta): early return on no regions | ||
| 2a7bb459 | 2024-06-20 20:49:56 | Use unsigned point and contour indexing in `FT_Outline`. This doubles the number or allowed points, see https://github.com/harfbuzz/harfbuzz/issues/4752 Although it is hardly practical to use more than 32767 points, other font engines seem to support it. * docs/CHANGES: Announce it. * include/freetype/ftimage.h (FT_Outline): Do it and update limits. * src/*: Update `FT_Outline` users. | ||
| 2b9fdec5 | 2024-06-19 21:38:58 | * src/pfr/pfrgload.c (pfr_glyph_curve_to): Avoid casting. | ||
| 7a753c96 | 2024-06-18 21:14:58 | * src/base/ftgloadr.c (FT_GlyphLoader_Prepare): Minor refactoring. | ||
| 93a067e3 | 2024-06-18 17:48:41 | [base, autofit, psaux] Remove unnecessary casting. * src/autofit/afhints.c (af_glyph_hints_reload): Remove (short) casting. * src/base/ftgloadr.c (FT_GlyphLoader_Add): Ditto. * src/psaux/psobjs.c ({t1,cff,ps}_builder_{add,close}_contour): Ditto. | ||
| deba7feb | 2024-06-18 14:01:58 | * include/freetype/ftimage.h: Explain standard types. |