Commit graph

16934 commits

Author SHA1 Message Date
L. E. Segovia
617e447854 [meson] Set C++14 as minimum as implied by MSVC support
Microsoft's STL uses C++14 as minimum. Using C++11 is actually enforced
by clang-cl and clang, which will lead to all sorts of compilation
errors.
2023-09-06 10:04:29 +03:00
L. E. Segovia
15bc9e342f [meson] Detect Microsoft compilers through _MSC_FULL_VER
Microsoft ships three compilers nowadays: MSVC, clang-cl, and Clang.
The latter is always skipped by `compiler.get_argument_syntax()`,
which leads to the incorrect export macro being applied.

This commit also removes the tests that are affected in Microsoft Clang.
2023-09-06 10:04:29 +03:00
Qunxin Liu
fd3eb2c672 fuzzer fix: https://oss-fuzz.com/testcase-detail/6032126569742336 2023-09-05 21:51:02 +03:00
Behdad Esfahbod
0340ba1c50 [bit-page] Add a few operators 2023-09-05 14:56:09 +03:00
dependabot[bot]
a0b758f7d7 Bump github/codeql-action from 2.21.4 to 2.21.5
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.21.4 to 2.21.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](a09933a12a...00e563ead9)

---
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>
2023-09-04 14:50:51 +03:00
Ben Wagner
4cfc6d8e17 Specify tuple_variations_t special member functions
Building with clang complains about the use of `tuple_variations_t`'s
implicit copy constructor and copy assignment operator, since automatic
generation of these is deprecated when declaring a non-default
destructor. This is a good warning because it isn't obvious that copies
were being made instead of the object being moved and this struct should
be moved and not copied. Declare all the special member functions,
defaulting the moves and deleting the copies.

After making `tuple_variations_t` move only, an issue is revealed in
`hb_vector_t::push` which has been requiring that objects be copyable.
Remove the old non-emplacing `push` now that this works with all
existing objects and make a single `push` which is more like
`std::vector::emplace_back` since that is somewhat what the newer `push`
is attempting to do.
2023-08-31 22:49:42 +03:00
Benoit Pierre
4668b43e2c [meson] add source fallback URL to freetype2 wrap 2023-08-31 21:28:32 +03:00
Garret Rieger
8d22a57065 [repacker] fix potential use after free in repacker.
During table splitting we iterate over the lookups map which can be modified during table splitting. This can result in a use after free in the iterator. Create a local copy of the lookup indices to avoid this.
2023-08-30 15:38:16 +03:00
Garret Rieger
a1f034eaac [repacker] fix fuzzer failure.
Fixes: https://oss-fuzz.com/testcase-detail/6490945267564544
2023-08-28 23:17:13 -04:00
Bruce Mitchener
f380a32825 Fix some typos. 2023-08-25 07:51:05 -06:00
Garret Rieger
c28fdc39b2 [repacker] fix bot failure. 2023-08-23 17:03:54 -06:00
Garret Rieger
d7ee328f80 [repacker] include the size of all lookup tables in the layer size estimates from the start.
In extension promotion previously we incrementally added the contribution of the lookup table to the layer size estimates as the lookups were processed. However, this isn't quite correct as regardless of the promotion decision the full lookup table size will be incurred. So the size should be added to the initial sizes.
2023-08-23 17:03:54 -06:00
Garret Rieger
5587247d5b [repacker] create only one extension subtable per physical subtable.
During extension promotion when multiple lookups refer to a shared subtable node create and reuse a single extension subtable for it. Fixes: https://github.com/fonttools/fonttools/issues/3260.
2023-08-23 17:03:54 -06:00
Behdad Esfahbod
56e8a29032 Fix static_size declaration
I have a vague memory that it was intentionally written
that way, but I can't recall :-(.
2023-08-22 15:50:55 -06:00
Behdad Esfahbod
2023384bdf
Merge pull request #4368 from googlefonts/support_gvar
Initial implementation for gvar partial instancing
2023-08-22 13:09:26 -07:00
Qunxin Liu
dd8d35766b [instancer] enable partial instancing tests when experimental api is on 2023-08-22 12:54:50 -07:00
dependabot[bot]
970d2c438f Bump github/codeql-action from 2.21.3 to 2.21.4
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.21.3 to 2.21.4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](5b6282e01c...a09933a12a)

---
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>
2023-08-21 10:12:02 -07:00
dependabot[bot]
6c7aed1000 Bump fonttools from 4.42.0 to 4.42.1 in /.ci
Bumps [fonttools](https://github.com/fonttools/fonttools) from 4.42.0 to 4.42.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.42.0...4.42.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-21 10:11:43 -07:00
Garret Rieger
ca906e8747 [repacker] fix fuzzer timeout.
Corrects some mistakes in the handling of incoming_edges_ when memory allocation failures happen.
2023-08-17 12:01:44 -06:00
Behdad Esfahbod
c7f2d440f4 [hb-view] Better cairo version check 2023-08-16 09:55:23 -07:00
Behdad Esfahbod
e714e7d4f3 [hb-view] Work around old cairo
Fixes https://github.com/harfbuzz/harfbuzz/issues/4378
2023-08-16 09:54:08 -07:00
Qunxin Liu
bea26446d2 [instancer] reference all points for gvar
If a point is not referenced and delta is not inferred, set delta to 0
2023-08-15 14:20:54 -07:00
Behdad Esfahbod
06ff3bcb8d [COLR,glyf] Use map instead of set for tracking current glyphs / layers 2023-08-15 14:41:18 -06:00
Behdad Esfahbod
b530e485cd [glyf] Don't recuse into alread-active composite glyphs
Deny loops.
2023-08-15 14:31:40 -06:00
Behdad Esfahbod
8f039ab4d6 [COLR] Avoid infinite-loop through PaintColrLayers
Fixes https://github.com/harfbuzz/harfbuzz/issues/4376
Fixes https://oss-fuzz.com/testcase-detail/5717524023738368
2023-08-15 11:27:19 -06:00
Behdad Esfahbod
0c80aec10b [COLR] Move cycle-detection to the renderer instead of cairo
Alternative fix for https://github.com/harfbuzz/harfbuzz/issues/4375
2023-08-15 10:30:38 -06:00
Behdad Esfahbod
21a894f055 [cairo] Protect against infinite loops
Fixes https://github.com/harfbuzz/harfbuzz/issues/4375

Maybe we should do this in hb-ft and COLR instead?
2023-08-15 10:21:26 -06:00
Behdad Esfahbod
7d7541e35d [test-paint] Print paint-color-glyph 2023-08-14 17:55:09 -06:00
Behdad Esfahbod
5560eb60d7 [paint] Fix docs 2023-08-14 17:05:22 -06:00
Behdad Esfahbod
47231bdc70 [COLR/cairo/ft] Fixups to paint-color-glyph and implement for hb-ft 2023-08-14 16:55:21 -06:00
Behdad Esfahbod
58effbcc4f . 2023-08-14 16:47:36 -06:00
Behdad Esfahbod
74527670fc [COLR/cairo] Add paint_color_glyph func
Implement in cairo to use scaled-font's glyph cache.
2023-08-14 16:22:06 -06:00
Behdad Esfahbod
8d19274c2d [layout] Speed up VarStoreInstancer 2023-08-14 14:40:26 -06:00
dependabot[bot]
1da4c61550 Bump github/codeql-action from 2.21.2 to 2.21.3
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.21.2 to 2.21.3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](0ba4244466...5b6282e01c)

---
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>
2023-08-14 10:02:22 -06:00
dependabot[bot]
8d44562b42 Bump hendrikmuhs/ccache-action from 1.2.9 to 1.2.10
Bumps [hendrikmuhs/ccache-action](https://github.com/hendrikmuhs/ccache-action) from 1.2.9 to 1.2.10.
- [Release notes](https://github.com/hendrikmuhs/ccache-action/releases)
- [Commits](ca3acd2731...6d1841ec15)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 10:02:14 -06:00
dependabot[bot]
a8fb56e0f3 Bump meson from 1.2.0 to 1.2.1 in /.ci
Bumps [meson](https://github.com/mesonbuild/meson) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/mesonbuild/meson/releases)
- [Commits](https://github.com/mesonbuild/meson/compare/1.2.0...1.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 10:02:02 -06:00
Behdad Esfahbod
e8eb1dc5ff [parse_tag] Accept non-ALNUM in tag name 2023-08-09 15:35:59 -06:00
Behdad Esfahbod
9a7afe922b [perf] Benchmark glyph painting 2023-08-09 12:00:41 -06:00
Behdad Esfahbod
077c4308cc [limits] Increase COLRv1 edge-count
We have a "pixel" color font that was easily hitting the limit...
2023-08-09 10:41:04 -06:00
Behdad Esfahbod
45c1ad0512 [paint] Add tracing 2023-08-09 10:27:45 -06:00
Behdad Esfahbod
483bc0a384 [arabic/stch] Center the stretched group over the digits
Mostly relevant when there's one digit only.

https://github.com/harfbuzz/harfbuzz/issues/4369#issuecomment-1670361856
2023-08-08 15:58:20 -06:00
Behdad Esfahbod
9daef6ed4e [arabic] Add test for previous commit 2023-08-08 13:33:11 -06:00
Behdad Esfahbod
313c772989 [arabic/stch] Also work in left-to-right direction
Fixes https://github.com/harfbuzz/harfbuzz/issues/4369
2023-08-08 13:06:12 -06:00
Behdad Esfahbod
40bfabd1f9 [arabic/stch] Zero advances
This was working for our test suite because those glyphs were
declared mark and their advances zeroed automatically. But is
not the case in eg. the font posted at:

https://github.com/harfbuzz/harfbuzz/issues/4369
2023-08-08 12:17:25 -06:00
Qunxin Liu
0aa5dafefd fix bots.
-Also disable partial instancing tests for now, cause the command option
is wrapped by experimental_api
2023-08-08 08:44:31 -07:00
Qunxin Liu
77b158c72d [instancer] add tests for gvar partial instancing 2023-08-07 16:02:02 -07:00
Qunxin Liu
32cfa37e2e [instancer] command line support for partial instancing
-Also updated hb_subset_input_set_axis_range (), so user can define
default value as well
2023-08-07 14:37:13 -07:00
Qunxin Liu
0065658e96 [instancer] enable cvar instancing code 2023-08-07 11:12:02 -07:00
dependabot[bot]
0ba4d539b3
Bump fonttools from 4.41.1 to 4.42.0 in /.ci (#4365)
Bumps [fonttools](https://github.com/fonttools/fonttools) from 4.41.1 to 4.42.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.41.1...4.42.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-07 11:49:03 -06:00
Qunxin Liu
366ffd1ef0 [instancer] fix move constructor for tuple_delta_t 2023-08-07 10:42:49 -07:00