Commit graph

17714 commits

Author SHA1 Message Date
David Corbett
40ef6c0577 [ot-tags] Update OpenType language system registry 2024-12-05 15:59:39 -07:00
Kesavan Yogeswaran
1c249be96e Sidestep nontrivial-memaccess warning in Crap()
With -Wnontrivial-memaccess, recent versions of clang flag the usage of
memcpy in hb-null.hh with pointers to nontrivially-copyable types.
Sidestep this warning by casting the problematic pointer to void*.
2024-12-02 14:55:50 -07:00
Caleb Maclennan
10cf348a67 [gsubgpos] Guard integer arithmetic against wrapping below zero
When either casting a signed integer to an unsigned one or subtracting
a value from an unsigned one, add assertions to verify we will not end
up below expected bounds.
2024-11-28 16:22:33 -07:00
Luca Ebach
780aaca89b set harfbuzz version in cmake config file 2024-11-28 02:31:46 +02:00
Qunxin Liu
3bb89eebd6 [instancer] use hb_parse_double() for parsing axis positions
Added hb_subset_axis_range_from/to_string()
2024-11-25 09:38:13 -07:00
dependabot[bot]
26a737ac15 Bump ninja from 1.11.1.1 to 1.11.1.2 in /.ci
Bumps [ninja](https://github.com/scikit-build/ninja-python-distributions) from 1.11.1.1 to 1.11.1.2.
- [Release notes](https://github.com/scikit-build/ninja-python-distributions/releases)
- [Changelog](https://github.com/scikit-build/ninja-python-distributions/blob/master/HISTORY.rst)
- [Commits](https://github.com/scikit-build/ninja-python-distributions/compare/1.11.1.1...1.11.1.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-25 04:33:37 -07:00
dependabot[bot]
1dc8ff050f Bump codecov/codecov-action from 5.0.2 to 5.0.7
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.0.2 to 5.0.7.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](5c47607acb...015f24e681)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-25 04:07:53 -07:00
dependabot[bot]
7d6729de29 Bump github/codeql-action from 3.27.4 to 3.27.5
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.27.4 to 3.27.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](ea9e4e3799...f09c1c0a94)

---
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-11-25 04:07:44 -07:00
Khaled Hosny
056cc56044 [config] Improve language handling with HB_LEAN
Remove HB_NO_LANGUAGE_LONG and HB_NO_LANGUAGE_PRIVATE_SUBTAG defines to
support language tags longer than 2 letters and private language tags
(needed to set language using OpenType language tags) respectively.

HB_LEAN is used when smaller binary size is desired, but in general it
should not produce different shaping output.

Fixes https://github.com/harfbuzz/harfbuzzjs/issues/108
2024-11-24 17:42:43 -07:00
Khaled Hosny
5e584ee7d9 [ci] Try to fix homebrew pkg-config/pkgconf mess
The packages are in conflict again, try to remove pkg-config this time
and use pkgconf.
2024-11-24 09:43:12 +02:00
Garret Rieger
0b7beefd0b Raise table growth limit during subsetting. Real case encountered that exceeded the current limit. Fixes #4943. 2024-11-21 18:10:21 -07:00
Khaled Hosny
773fe85018 [layout] Blocklist the GDEF table of various Courier New versions
These files have incorrectly give several base glyphs GDEF mark glyph
class leading in zeroing there advance widths.

Fixes https://github.com/harfbuzz/harfbuzz/issues/4936
2024-11-21 14:40:57 -07:00
Khaled Hosny
5002153e3a [ci] Try to fix macOS build
It seems that Homebrew now packages an alternative implementation of
pkg-config called pkgconf and some of the packages we install depend on
it, and installing both pkgconf and pkg-config is not supported.

Looks like pkgconf can’t find dependencies for us, so we do some
brew unlink/link dance to get both installed, and hope for the best.
2024-11-20 17:51:37 +02:00
dependabot[bot]
b14def8bb3 Bump fonttools from 4.54.1 to 4.55.0 in /.ci
Bumps [fonttools](https://github.com/fonttools/fonttools) from 4.54.1 to 4.55.0.
- [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.54.1...4.55.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 08:30:48 -07:00
dependabot[bot]
baf374e378 Bump codecov/codecov-action from 4.6.0 to 5.0.2
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4.6.0 to 5.0.2.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](b9fd7d16f6...5c47607acb)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 08:30:34 -07:00
dependabot[bot]
b608892658 Bump github/codeql-action from 3.27.0 to 3.27.4
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.27.0 to 3.27.4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](662472033e...ea9e4e3799)

---
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-11-18 08:30:19 -07:00
Behdad Esfahbod
2ddae77179 [util/cairo] Handle all null matrices 2024-11-17 00:02:03 -07:00
Behdad Esfahbod
392463267f [cairo] Protect against some invalid matrices
hb-view --font-size 0,10 still fails with cairo error.
To be debugged separately.
2024-11-16 12:20:24 -07:00
Behdad Esfahbod
d759ee5a8d [ft] Guard FT_LOAD_NO_SVG
Also pass FT_LOAD_NO_BITMAP.
2024-11-15 16:18:34 -07:00
Behdad Esfahbod
965790764a [ft-colr] Don't load SVG table since we don't support it
Part of https://github.com/harfbuzz/harfbuzz/issues/4938
2024-11-15 15:33:11 -07:00
Behdad Esfahbod
21cba9e5bc [cairo] Fix scaling in paint_color_glyph
Fixes https://github.com/harfbuzz/harfbuzz/issues/4938
2024-11-15 15:21:21 -07:00
Behdad Esfahbod
de7f97b7f7 [COLR] Add comment 2024-11-15 15:14:37 -07:00
Garret Rieger
b0d52abe97 [subset] consider variation selectors subsetting cmap14
cmap14 subsetting code was not considering variation selectors in the input unicode set when deciding which variant glyphs to keep. This updates subsetting to only keeps variant glyphs if their variation selector code point is in the input unicodes set.

For https://github.com/harfbuzz/harfbuzz/issues/4911
2024-11-11 13:45:08 -07:00
Behdad Esfahbod
1767f99e2e [cairo] Guard hb_cairo_glyphs_from_buffer() against bad UTF-8
Previously it was assuming valid UTF-8.
2024-11-10 22:43:28 -07:00
Khaled Hosny
6898a6048c [meson] Update wrap files
This also updates the meson version on Windows cross-build jobs as wraps
now requires newer versions of meson. We still require only meson 0.55.0
for building HarfBuzz, but building with fallback wraps is allowed
to require newer meson.
2024-11-09 13:17:58 +02:00
Qunxin Liu
b5ed7846d6 [subset-serialize] release discarded objects 2024-11-08 18:06:35 -07:00
Qunxin Liu
622e9c33c3 [instancer] fix for incorrect offset calculation when we have gvar padding 2024-11-06 12:38:00 -07:00
Khaled Hosny
9ef44a2d67 10.1.0 2024-11-05 08:04:49 +02:00
Khaled Hosny
a9b76edca6 [ci] Pin Python version to 3.12 on macOS
It seems that lxml does not have 3.13 binary wheels (for macOS at
least), and building it from source is failing.
2024-11-05 02:13:11 +02:00
Behdad Esfahbod
c85a6c2a22 [cairo] Respect HB_NO_VAR
Fixes https://github.com/harfbuzz/harfbuzz/issues/4924
2024-11-04 17:34:02 -05:00
dependabot[bot]
5e32b5ca8f Bump actions/setup-python from 5.2.0 to 5.3.0
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.2.0 to 5.3.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](f677139bbe...0b93645e9f)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-28 08:48:18 -06:00
dependabot[bot]
4148c8d4e1 Bump actions/checkout from 4.2.1 to 4.2.2
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.1 to 4.2.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](eef61447b9...11bd71901b)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-28 08:48:05 -06:00
dependabot[bot]
f8e0ba5eff Bump github/codeql-action from 3.26.12 to 3.27.0
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.12 to 3.27.0.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](c36620d31a...662472033e)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-28 08:47:53 -06:00
Behdad Esfahbod
9974a66169 [icu] Make it build with ICU 76
Fixes https://github.com/harfbuzz/harfbuzz/issues/4915
2024-10-27 16:14:53 -07:00
Garret Rieger
392581be01 [subest] get benchmark subset working again. 2024-10-24 15:42:31 -06:00
Qunxin Liu
e5139c51aa bug fix in hashmap get_with_hash() 2024-10-21 15:46:06 -06:00
Behdad Esfahbod
825bc19643 [perf] Simplify meson.build
Fixes https://github.com/harfbuzz/harfbuzz/issues/4896
2024-10-16 01:56:17 -06:00
Behdad Esfahbod
35f67618e8
Merge pull request #4895 from harfbuzz/coretext-font
Coretext font
2024-10-15 15:27:25 -06:00
Behdad Esfahbod
de1a1e27d4 [coretext-font] Implement get_glyph_v_origin()
For a font without vertical metrics, I'm getting different
values from ot/ft. But that's expected, since in ot we just
implemented the same heuristics as ft.
2024-10-15 14:58:13 -06:00
Behdad Esfahbod
786097029e [coretext-font] Implement get_glyph_v_advances 2024-10-15 14:58:13 -06:00
Behdad Esfahbod
e1026a2252 [coretext-font] Implement get_variation_glyph()
Not sure if I got it right, but *seems* to work.
2024-10-15 14:58:13 -06:00
Behdad Esfahbod
d44cc8a1fc [coretext-font] Implement get_glyph_name() 2024-10-15 14:58:13 -06:00
Behdad Esfahbod
0ce67f56dd [coretext-font] Implement font_get_h_metrics 2024-10-15 14:58:13 -06:00
Behdad Esfahbod
e31ea830c8 [ft] Try using a ref-counted ft_library
https://github.com/harfbuzz/harfbuzz/pull/4895#issuecomment-2412348792
2024-10-15 14:58:13 -06:00
Behdad Esfahbod
52becf1c6d [test] Fix a leak 2024-10-15 14:58:13 -06:00
Behdad Esfahbod
a8360b7e95 [perf] Respect new envvar HB_FACE_LOADER 2024-10-15 14:58:13 -06:00
Behdad Esfahbod
c224178a09 [perf] Add hb-benchmark.hh 2024-10-15 14:58:13 -06:00
Behdad Esfahbod
2dc6334133 [tests] Remove invalid tests from collections.tests
Previously we silently returned the empty face if face_index
was out of range. With util/ now using the new API
hb_font_face_create_from_file_or_fail(), that returns a nullptr
face now. So, adjust tests.
2024-10-15 14:58:13 -06:00
Behdad Esfahbod
734ba5ab48 [hb-info] Fix font face number recording for .dfont 2024-10-15 14:58:13 -06:00
Behdad Esfahbod
67591f8511 [util] Add --face-loader
Currently crashes with ft. Investigating.
2024-10-15 14:58:13 -06:00