kc3-lang/freetype

Branch :


Log

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.