Commit graph

17645 commits

Author SHA1 Message Date
Behdad Esfahbod
1a4bdd699a [font] Change fallback y_advance sign
Ouch.
2024-10-10 14:16:14 -06:00
Khaled Hosny
9c00255b4a [ci] Fix Codecov upload
Setup a repository token and use it, this seems to be required now.
2024-10-10 14:20:26 +03:00
Khaled Hosny
6a25df24b0 [COLR] Add and use get_clip_list () 2024-10-09 10:23:12 -06:00
Khaled Hosny
5462978c90 [COLR] Lets see if this makes CIFUZZ any happier 2024-10-09 10:23:12 -06:00
Behdad Esfahbod
008505e1c4 [COLR] Pepper some hb_barrier()'s around
The version is a minor version (because uint16), as such
version > 1 should be considered as supporting version 1
data.
2024-10-08 09:31:29 -06:00
Khaled Hosny
cec95a2d26 Try to fix heap-buffer-overflow 2024-10-07 13:24:14 -06:00
Khaled Hosny
4d1f6e049c [COLR] Enable COLRv0 support in get_extents()
paint_glyph() supports COLRv0 but this code is never reached because of
the early return if version is not 1. This early return seems to be from
before COLRv0 extents were supported.
2024-10-07 13:24:14 -06:00
Behdad Esfahbod
4587e08a46 [VarStoreInstancer] Fix null deref
Should fix this hopefully:
https://github.com/harfbuzz/harfbuzz/actions/runs/11203732283/job/31141330056?pr=4885
2024-10-07 08:41:23 -06:00
Behdad Esfahbod
e8de8d88df [CONFIG] Remove unused HB_NDEBUG 2024-10-07 06:11:25 -06:00
dependabot[bot]
50d67b202a Bump codecov/codecov-action from 4.5.0 to 4.6.0
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4.5.0 to 4.6.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](e28ff129e5...b9fd7d16f6)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-07 05:47:42 -06:00
dependabot[bot]
d9c029755c Bump github/codeql-action from 3.26.9 to 3.26.11
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.9 to 3.26.11.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](461ef6c76d...6db8d6351f)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-07 05:47:29 -06:00
Julien Nabet
e157205499 unused-parameter in test/fuzzing/hb-draw-fuzzer.cc
../test/fuzzing/hb-draw-fuzzer.cc:19:28: error: unused parameter 'dfuncs' [-Werror,-Wunused-parameter]
_move_to (hb_draw_funcs_t *dfuncs, void *draw_data_,
                           ^
../test/fuzzing/hb-draw-fuzzer.cc:22:10: error: unused parameter 'user_data' [-Werror,-Wunused-parameter]
          void *user_data)
                ^
../test/fuzzing/hb-draw-fuzzer.cc:31:28: error: unused parameter 'dfuncs' [-Werror,-Wunused-parameter]
_line_to (hb_draw_funcs_t *dfuncs, void *draw_data_,
                           ^
../test/fuzzing/hb-draw-fuzzer.cc:34:10: error: unused parameter 'user_data' [-Werror,-Wunused-parameter]
          void *user_data)
                ^
../test/fuzzing/hb-draw-fuzzer.cc:44:33: error: unused parameter 'dfuncs' [-Werror,-Wunused-parameter]
_quadratic_to (hb_draw_funcs_t *dfuncs, void *draw_data_,
                                ^
../test/fuzzing/hb-draw-fuzzer.cc:46:15: error: unused parameter 'control_x' [-Werror,-Wunused-parameter]
               float control_x, float control_y,
                     ^
../test/fuzzing/hb-draw-fuzzer.cc:46:32: error: unused parameter 'control_y' [-Werror,-Wunused-parameter]
               float control_x, float control_y,
                                      ^
../test/fuzzing/hb-draw-fuzzer.cc:48:15: error: unused parameter 'user_data' [-Werror,-Wunused-parameter]
               void *user_data)
                     ^
../test/fuzzing/hb-draw-fuzzer.cc:58:29: error: unused parameter 'dfuncs' [-Werror,-Wunused-parameter]
_cubic_to (hb_draw_funcs_t *dfuncs, void *draw_data_,
                            ^
../test/fuzzing/hb-draw-fuzzer.cc:60:11: error: unused parameter 'control1_x' [-Werror,-Wunused-parameter]
           float control1_x, float control1_y,
                 ^
../test/fuzzing/hb-draw-fuzzer.cc:60:29: error: unused parameter 'control1_y' [-Werror,-Wunused-parameter]
           float control1_x, float control1_y,
                                   ^
../test/fuzzing/hb-draw-fuzzer.cc:61:11: error: unused parameter 'control2_x' [-Werror,-Wunused-parameter]
           float control2_x, float control2_y,
                 ^
../test/fuzzing/hb-draw-fuzzer.cc:61:29: error: unused parameter 'control2_y' [-Werror,-Wunused-parameter]
           float control2_x, float control2_y,
                                   ^
../test/fuzzing/hb-draw-fuzzer.cc:63:11: error: unused parameter 'user_data' [-Werror,-Wunused-parameter]
           void *user_data)
                 ^
../test/fuzzing/hb-draw-fuzzer.cc:73:31: error: unused parameter 'dfuncs' [-Werror,-Wunused-parameter]
_close_path (hb_draw_funcs_t *dfuncs, void *draw_data_,
                              ^
../test/fuzzing/hb-draw-fuzzer.cc:75:13: error: unused parameter 'user_data' [-Werror,-Wunused-parameter]
             void *user_data)
                   ^
16 errors generated.
2024-10-06 22:48:37 +03:00
Julien Nabet
8de0d91166 missing-field-initializers in test/api/test-ot-face.c
FAILED: test/fuzzing/hb-shape-fuzzer.p/hb-shape-fuzzer.cc.o clang++ -Itest/fuzzing/hb-shape-fuzzer.p -Itest/fuzzing -I../test/fuzzing -I. -I.. -Isrc -I../src -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++11 -fno-exceptions -O3 -fno-exceptions -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -DHAVE_CONFIG_H -Wall -Wextra -Werror -MD -MQ test/fuzzing/hb-shape-fuzzer.p/hb-shape-fuzzer.cc.o -MF test/fuzzing/hb-shape-fuzzer.p/hb-shape-fuzzer.cc.o.d -o test/fuzzing/hb-shape-fuzzer.p/hb-shape-fuzzer.cc.o -c ../test/fuzzing/hb-shape-fuzzer.cc In file included from ../test/fuzzing/hb-shape-fuzzer.cc:9: ../test/fuzzing/../api/test-ot-face.c:47:34: error: missing field 'y_bearing' initializer [-Werror,-Wmissing-field-initializers]
hb_glyph_extents_t extents = {0};
^
../test/fuzzing/../api/test-ot-face.c:85:55: error: missing field 'enable' initializer [-Werror,-Wmissing-field-initializers]
hb_aat_layout_feature_selector_info_t setting = {0};
^
2 errors generated.
2024-10-06 12:47:27 -06:00
David Corbett
b6196986d7 [USE] Update the data files
This uses the data files from
<e00698c07a/USE>.
2024-10-03 19:54:54 -06:00
David Corbett
31b22016a2 [ot-tags] Update IANA and OT language registries 2024-10-03 19:54:54 -06:00
Julien Nabet
5772f4ffce missing-field-initializers in main.cc
FAILED: src/main.p/main.cc.o
clang++ -Isrc/main.p -Isrc -I../src -I. -I.. -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++11 -fno-exceptions -O3 -fno-exceptions -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -DHAVE_CONFIG_H -Wall -Wextra -Werror -pthread -Wno-non-virtual-dtor -UNDEBUG -MD -MQ src/main.p/main.cc.o -MF src/main.p/main.cc.o.d -o src/main.p/main.cc.o -c ../src/main.cc
../src/main.cc:220:33: error: missing field 'y_bearing' initializer [-Werror,-Wmissing-field-initializers]
        hb_glyph_extents_t extents = {0};
                                       ^
../src/main.cc:270:36: error: missing field 'y_bearing' initializer [-Werror,-Wmissing-field-initializers]
    hb_glyph_extents_t extents = {0};
                                   ^
2 errors generated.
2024-10-01 11:33:20 -06:00
Julien Nabet
18f1d9121e missing-field-initializers in hb-draw.h
With clang build, I got:
FAILED: test/api/test-draw.p/test-draw.c.o
clang -Itest/api/test-draw.p -Itest/api -I../test/api -I. -I.. -Isrc -I../src -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/freetype2 -I/usr/include/libpng16 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -DHAVE_CONFIG_H -Wall -Wextra -Werror -pthread -MD -MQ test/api/test-draw.p/test-draw.c.o -MF test/api/test-draw.p/test-draw.c.o.d -o test/api/test-draw.p/test-draw.c.o -c ../test/api/test-draw.c
../test/api/test-draw.c:920:26: error: missing field 'reserved4' initializer [-Werror,-Wmissing-field-initializers]
    hb_draw_state_t st = HB_DRAW_STATE_DEFAULT;
                         ^
../src/hb-draw.h:73:71: note: expanded from macro 'HB_DRAW_STATE_DEFAULT'
define HB_DRAW_STATE_DEFAULT {0, 0.f, 0.f, 0.f, 0.f, {0.}, {0.}, {0.}}
2024-10-01 11:11:10 -06:00
Behdad Esfahbod
c1c0e82e3f Revert "Bump setuptools from 73.0.1 to 75.1.0 in /.ci"
This reverts commit a87fa89b4e.

Build was failing in linux-ci.
2024-09-30 09:46:27 -06:00
dependabot[bot]
4aad43c826 Bump github/codeql-action from 3.26.8 to 3.26.9
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.8 to 3.26.9.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](294a9d9291...461ef6c76d)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-30 09:43:53 -06:00
dependabot[bot]
a891445449 Bump actions/checkout from 4.1.7 to 4.2.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.7 to 4.2.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](692973e3d9...d632683dd7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-30 09:43:40 -06:00
dependabot[bot]
a87fa89b4e Bump setuptools from 73.0.1 to 75.1.0 in /.ci
Bumps [setuptools](https://github.com/pypa/setuptools) from 73.0.1 to 75.1.0.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v73.0.1...v75.1.0)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-30 09:43:24 -06:00
dependabot[bot]
fa79b51d13 Bump fonttools from 4.53.1 to 4.54.1 in /.ci
Bumps [fonttools](https://github.com/fonttools/fonttools) from 4.53.1 to 4.54.1.
- [Release notes](https://github.com/fonttools/fonttools/releases)
- [Changelog](https://github.com/fonttools/fonttools/blob/main/NEWS.rst)
- [Commits](https://github.com/fonttools/fonttools/compare/4.53.1...4.54.1)

---
updated-dependencies:
- dependency-name: fonttools
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-30 09:43:11 -06:00
Behdad Esfahbod
c7ef6a2ed5 Remove the hack re variation-selectors
Instead of abusing an unused Gen_Cat value, use existing facilities
to remember variation selectors.

Addresses
https://github.com/RazrFalcon/rustybuzz/pull/134#issuecomment-2374894164
2024-09-25 19:42:40 -06:00
Khaled Hosny
a1d9bfe628 10.0.1 2024-09-24 19:52:43 +03:00
Behdad Esfahbod
527e60b015 [morx] Relax sanitizing
Ignore claimed ChainSubtable length and only sanitize against
the whole table.

Works around what seems to be a broken LookupFormat0 in a
Noncontextual subtable in GeezaPro on MacOS 15.0

Fixes https://github.com/harfbuzz/harfbuzz/issues/4873
2024-09-24 09:40:44 -06:00
Behdad Esfahbod
867366ccf1 [test] Add GeezaPro tests for MacOS 15.0 2024-09-24 09:40:44 -06:00
Behdad Esfahbod
70ca19dff3 Use hb_barrier() instead of longer name
No functional change.
2024-09-24 08:42:44 -06:00
Khaled Hosny
d5261f7234 10.0.0 2024-09-23 23:07:55 +03:00
Khaled Hosny
667ce682a2 [hb-view] Support cairo script as output format
Can be handy for debugging the series of operations cairo performs.
2024-09-23 22:08:41 +03:00
Behdad Esfahbod
7a390b5095 [hb-view] Simplify background drawing
Works around a Firefox bug.

Fixes https://github.com/harfbuzz/harfbuzz/issues/4811
2024-09-23 12:16:05 -06:00
chitao1234
700ef11c9b [meson] Add back with_libstdcxx build option
Building harfbuzz when targeting Android API<=20 would need libstdc++
due to lack of uselocale and freelocale in C library but present in
libstdc++.

This reverts commit 0151da23d6.
2024-09-23 17:44:33 +03:00
David Corbett
242b584405 [USE] Update the data files
This uses the data files from
<1ffb9024b7/USE>.
2024-09-23 08:39:50 -06:00
Behdad Esfahbod
7a890c2eb7 Add hb_barrier() to switches of unions
https://github.com/harfbuzz/harfbuzz/pull/4864#issuecomment-2366923736
2024-09-23 08:02:25 -06:00
Behdad Esfahbod
7aace3d3fc Ignore CGJ and Mongolian Variation Selectors during GPOS
Fixes https://github.com/harfbuzz/harfbuzz/issues/4869
2024-09-23 08:00:06 -06:00
Behdad Esfahbod
540666b807 [paint] Err. Make previous commit actually work 2024-09-23 07:01:26 -06:00
Behdad Esfahbod
ed6362600d [paint] Intersect clips 2024-09-23 07:00:41 -06:00
Behdad Esfahbod
b0cf3d81ea [paint] Comment 2024-09-23 06:50:59 -06:00
Behdad Esfahbod
b95cb48f88 Revert "Bump setuptools from 73.0.1 to 75.1.0 in /.ci"
This reverts commit 25591a3a1d.
2024-09-23 06:37:54 -06:00
Behdad Esfahbod
5e5cd10e10 Don't make variation-selectors default-ignorable if not-found set
https://github.com/harfbuzz/harfbuzz/pull/4863#issuecomment-2366908261
2024-09-23 06:30:59 -06:00
Behdad Esfahbod
b94a39d7f3 Follow up to variation-selector-not-found glyph
Addresses https://github.com/harfbuzz/harfbuzz/pull/4529#discussion_r1769638033

I'm not sure if this is an improvement. By leaving the var-selector
as default-ignorable, ligatures can form around it, and the resulting
cluster won't make it clear *which* base+var-selector could not be
resolved... That doesn't quite help font fallback the way we want.
Putting up for review.
2024-09-23 06:30:59 -06:00
dependabot[bot]
25591a3a1d Bump setuptools from 73.0.1 to 75.1.0 in /.ci
Bumps [setuptools](https://github.com/pypa/setuptools) from 73.0.1 to 75.1.0.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v73.0.1...v75.1.0)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-23 06:15:02 -06:00
dependabot[bot]
29157e6a64 Bump meson from 1.5.1 to 1.5.2 in /.ci
Bumps [meson](https://github.com/mesonbuild/meson) from 1.5.1 to 1.5.2.
- [Release notes](https://github.com/mesonbuild/meson/releases)
- [Commits](https://github.com/mesonbuild/meson/compare/1.5.1...1.5.2)

---
updated-dependencies:
- dependency-name: meson
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-23 06:14:51 -06:00
dependabot[bot]
5807388b85 Bump github/codeql-action from 3.26.7 to 3.26.8
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.7 to 3.26.8.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](8214744c54...294a9d9291)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-23 06:14:38 -06:00
Behdad Esfahbod
0958929508 [post] Add a hb_barrier() 2024-09-22 13:01:18 -06:00
Behdad Esfahbod
4877405211 [GDEF] Sprinkle some hb_barrier()s 2024-09-22 13:01:14 -06:00
Behdad Esfahbod
e4e9f6a18f [gsubgpos] Add a barrier
Fixes https://github.com/harfbuzz/harfbuzz/issues/4852
2024-09-22 11:17:48 -06:00
Behdad Esfahbod
0dace9f341 [PairPos] Forgo an optimization for the sake of compatibility
Fixes https://github.com/harfbuzz/harfbuzz/issues/4797
2024-09-21 12:38:16 -06:00
Behdad Esfahbod
287046f71a [buffer] Hook up not-found-variation-selector-glyph
Fixes https://github.com/harfbuzz/harfbuzz/issues/4398
2024-09-21 12:21:56 -06:00
Behdad Esfahbod
a003890e84 [buffer] Add hb_buffer_[sg]et_not_found_variation_selector_glyph()
Unused.
2024-09-21 12:21:56 -06:00
Qunxin Liu
6fd76e1f67 [subset] offset format fix in gvar table 2024-09-17 15:23:43 -06:00