Log

Author Commit Date CI Message
Behdad Esfahbod 4c0a925e 2025-04-22T22:36:28 [paint] Document clip_glyph vs synthetic shapes hurdle
Behdad Esfahbod 01e9c77e 2025-04-22T21:57:02 [COLR] Fix clip-box Was slanting it. Was wrong with new code.
Behdad Esfahbod 9445778e 2025-04-22T21:33:15 [test-paint] Update expectations for recent slant changes
Behdad Esfahbod c57f49f7 2025-04-22T21:32:35 [ft] Return false from get_extents for COLR glyphs
Behdad Esfahbod fcbe7676 2025-04-22T21:22:31 [fontations] Return false from get_extents for COLR glyphs
Behdad Esfahbod e9ae6cc5 2025-04-22T21:14:50 [cairo] Draw unsynthetic glyphs during COLRv1 Fixes the double-slanting issue of COLRv1 glyphs.
Behdad Esfahbod 395bc276 2025-04-22T21:05:53 [font] Fix draw_glyph default implementation to new scheme
Behdad Esfahbod a69713b5 2025-04-22T21:01:04 [color] Move slanting to font layer COLRv1 is still being double-slanted. Investigating.
Behdad Esfahbod 9dbb84e6 2025-04-22T20:25:44 [font] Don't apply synthetic bold/slant to parent Fixes https://github.com/harfbuzz/harfbuzz/issues/5274
Behdad Esfahbod 1a9e2175 2025-04-22T19:52:21 [font/draw] Move slanting to font layer I moved it to the draw layer in 11.0.0; That was a bad design: font-funcs should NOT be responsible for synthetic bold & slant. This design reverts that and makes the font layer apply it, using a recording. This is a minor API change from 11.0.0 since hb_draw_state_t::slant_xy which was introduced in 11.0.0, is removed now. I believe no client had started using it. It was only relevant to other font-funcs draw implementations.
Behdad Esfahbod 9ef82f89 2025-04-22T19:35:34 [font] Embolden font_v_extents
Behdad Esfahbod 5ebd740e 2025-04-22T19:28:16 [font] Move font_h_extents emboldening to font layer
Behdad Esfahbod 0d871727 2025-04-22T15:40:06 [buffer] Limit the extent of set_flags range We can easily get into O(n^2) otherwise.
JordanTheToaster b0f4979d 2025-04-22T08:42:58 [cmake] Fix missing sources
dependabot[bot] ad36480b 2025-04-21T11:47:35 Bump setuptools from 78.1.0 to 79.0.0 in /.ci Bumps [setuptools](https://github.com/pypa/setuptools) from 78.1.0 to 79.0.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/v78.1.0...v79.0.0) --- updated-dependencies: - dependency-name: setuptools dependency-version: 79.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Khaled Hosny fa791a34 2025-04-20T15:19:18 [ci/msys2] Drop mingw32 build Upstream is dropping it, and mingw-w64-i686-icu package is already gone. https://www.msys2.org/news/#2023-12-13-starting-to-drop-some-32-bit-packages https://github.com/msys2/MINGW-packages/discussions/19326
Behdad Esfahbod 12457498 2025-04-20T05:18:38 [meson] Report Fontations status
Behdad Esfahbod 05362548 2025-04-20T05:06:54 Merge pull request #5294 from harfbuzz/paint-bounds [COLRv1] `paint-bounds`
Behdad Esfahbod c62af2c3 2025-04-20T04:53:33 [paint-unbounded] Minor tweak I like it better this way.
Behdad Esfahbod 6e2806e4 2025-04-20T04:47:58 [paint-bounded] Reduce vector use Keep current drawing's boundedness outside of the vector (common case). Again, no speedup because of the scratch pattern.
Behdad Esfahbod 27b2e16a 2025-04-20T04:34:40 [atomic] Make cmpexch() non-const Was a mistake. Make the affected members mutable instead.
Behdad Esfahbod 7aa3ab93 2025-04-20T04:28:28 [paint-bounded] Remove one vector Doesn't make things faster though because of the scratch pattern.
Behdad Esfahbod 78822b63 2025-04-20T04:23:35 Revert "[COLRv1] Move paint boundedness check to font layer" This reverts commit c9a26fbf47f01fdd55df1a0ccc81111cb07bf108.
Behdad Esfahbod c9a26fbf 2025-04-20T04:22:32 [COLRv1] Move paint boundedness check to font layer This way it will apply to fontations and future implementations as well. But this slows down things apparently, specially if the font does use clipboxes. So I'm going to revert.
Behdad Esfahbod 8aa88aa4 2025-04-20T04:08:41 [COLRv1:ot/ft] Use paint-bounded instead of paint-extents Faster. Note that this also means that if there is no clip-box, we don't compute the bounds and emit an initial clip anymore. That was totally unnecessary and against the COLRv1 rendering algorithm. This makes painting of COLRv1 fonts without clipboxes *much* faster, as previously we were computing bounds using all subglyph outlines. Not anymore. Before: BM_Font/paint_glyph/Nupuram-Color.colrv1.ttf/ot 1.78 ms After: BM_Font/paint_glyph/Nupuram-Color.colrv1.ttf/ot 0.155 ms
Behdad Esfahbod d175e221 2025-04-20T03:29:11 [paint-bounded] Add new code to compute boundedness of paintings This is faster than using paint-extents to just compute boundedness. Unused right now.
Behdad Esfahbod 4a9ac263 2025-04-20T02:12:40 [draw] Move draw_extents form paint-extents to draw
Behdad Esfahbod 4fc84b0e 2025-04-20T00:36:28 [ot-font] Fix order of COLR vs VARC extents COLR can reference VARC, not the other way around.
Behdad Esfahbod 01793d3e 2025-04-20T00:32:44 [fontations] Pop font transform
jfkthame 4e7b178f 2025-04-17T15:05:20 Avoid unannotated-fallthrough in hb-ot-layout-base-table.hh
jfkthame 2602f729 2025-04-17T15:02:59 Avoid unannotated-fallthrough warning in COLR.hh
Khaled Hosny 416e6b69 2025-04-16T20:21:27 11.1.0
Behdad Esfahbod 32b36fa8 2025-04-15T12:14:01 [atexit] Fix extra semicolon Fixes https://github.com/harfbuzz/harfbuzz/issues/5290
Behdad Esfahbod bc15ebde 2025-04-15T12:37:11 [font] Fix abs of int value
Behdad Esfahbod 8f413a53 2025-04-15T10:03:16 [layout] Docs
Behdad Esfahbod 21516f74 2025-04-15T09:58:25 [cmake] Add hb-script-list.h Fixes https://github.com/harfbuzz/harfbuzz/issues/5288
Behdad Esfahbod 7bb3000a 2025-04-13T12:46:52 [font] Allow negative emboldening strength to enlighten
dependabot[bot] 4da8671b 2025-04-14T10:16:54 Bump github/codeql-action from 3.28.14 to 3.28.15 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.14 to 3.28.15. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/fc7e4a0fa01c3cca5fd6a1fddec5c0740c977aa2...45775bd8235c68ba998cffa5171334d58593da47) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 3.28.15 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Khaled Hosny e192a584 2025-04-15T15:52:52 [check-symbols] Ignore another rust symbol Fixes https://github.com/harfbuzz/harfbuzz/issues/5287
robxnano cf7bffb6 2025-04-05T12:42:47 meson: Use full path in HBSOURCES Using the file object directly in a format string is broken and now deprecated.
robxnano 9def626d 2025-04-05T12:37:09 meson: Fix warnings about features in later versions By using the fs.relative_to() function inside version_compare blocks, Meson can suppress warning messages about it being used in a project with a lower minimum version.
robxnano e2a865f0 2025-04-05T12:29:28 meson: Only check for _MSC_FULL_VER once Prevents the log from filling with repeated calls to check the value of the define.
Garret Rieger efcb7d3d 2025-04-11T23:34:06 [subset] close unicodes over bidi mirror variants during subsetting. Fixes #5281. Does the closure by default, but I've introduced a new flag and option to disable this behaviour since some users may want to get the minimal set if they know they don't need the mirrored variants.
Garret Rieger 5afbd187 2025-04-09T22:48:27 [subset] Split subset plan variations function into separate file. Compile times for hb-subset-plan.cc go from 16s -> 13s.
Behdad Esfahbod e6b5dba3 2025-04-09T16:53:08 [README] Add Subsetter study
Garret Rieger d3ccdcdd 2025-04-09T22:26:59 [subset] Move GDEF subset planning into hb-subset-plan-layout.cc
Garret Rieger b33f2e26 2025-04-09T22:11:12 [subset] Start splitting layout specific subset plan functionality. The aim is to reduce the compiled time of hb-subset-plan.cc which on my machine takes almost 30s to compile.
Behdad Esfahbod ab323515 2025-04-08T22:13:02 [common] Move hb_script_t enum to a separate file Fixes https://github.com/harfbuzz/harfbuzz/issues/5271
Behdad Esfahbod 5f80cc16 2025-04-08T02:11:11 [directwrite] Fix build
Behdad Esfahbod 6b012428 2025-04-08T01:58:10 [mutex] Delete copy constructors
Behdad Esfahbod caa9cf2e 2025-04-08T01:50:51 [atomic] Remove unnecessary macro Had typo in it as well.
Behdad Esfahbod c7f98090 2025-04-07T16:36:42 [GPOS] Short-circuit variations if no axis set
Garret Rieger b1a0a4c2 2025-04-07T18:39:21 In OT::VarData::Serialize don't attempt to serialize an empty set of rows. Protects against incorrectly accessing rows[0] when rows is empty.
dependabot[bot] 6dff699f 2025-04-07T11:40:46 Bump fonttools from 4.56.0 to 4.57.0 in /.ci Bumps [fonttools](https://github.com/fonttools/fonttools) from 4.56.0 to 4.57.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.56.0...4.57.0) --- updated-dependencies: - dependency-name: fonttools dependency-version: 4.57.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] 6697cd83 2025-04-07T11:32:00 Bump github/codeql-action from 3.28.13 to 3.28.14 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.13 to 3.28.14. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/1b549b9259bda1cb5ddde3b41741a82a2d15a841...fc7e4a0fa01c3cca5fd6a1fddec5c0740c977aa2) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 3.28.14 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Khaled Hosny 2c4bc832 2025-04-07T04:53:51 [ot-math] Fix build with HB_NO_MATH
Behdad Esfahbod e31721b5 2025-04-06T21:40:43 [test/shape] Write cmdline as test description
Behdad Esfahbod a9e2c8f3 2025-04-06T19:34:18 Merge pull request #5264 from harfbuzz/tap2 Tap2
Behdad Esfahbod a3d626b4 2025-04-06T19:16:43 [test-object] Hopefully last ubsan fix API change: - hb_face_is_immutable() now takes `hb_face_t *` instead of previous `const hb_face_t *`. This should not pose any problem for any clients in our belief.
Behdad Esfahbod b99382e2 2025-04-06T18:53:53 [test-unicode] Try disabling one test under ubsan
Behdad Esfahbod ba4a92c5 2025-04-06T18:48:39 [test-object] Fix ubsan issues
Behdad Esfahbod 8a1ba4d1 2025-04-06T18:12:22 [test-object] See if this helps make ubsan happy
Behdad Esfahbod fb04a306 2025-04-06T17:41:18 [test/api] Fix a few ubsan issues
Behdad Esfahbod b4390115 2025-04-06T17:28:03 [test-draw] Make ubsan happy
Behdad Esfahbod b106a9ef 2025-04-06T16:34:19 [CI] Put back the meson-default sanitizer options
Behdad Esfahbod 59771e56 2025-04-06T16:28:40 [CI] Redirect sanitizer outputs to stderr
Behdad Esfahbod fd9903fc 2025-04-06T16:04:17 [hb-subset] Try to fix leak
Behdad Esfahbod f09c4d6d 2025-04-06T15:54:21 [test/subset] Fix a regular expression
Behdad Esfahbod 1f055939 2025-04-06T15:39:19 [test/subset] Massage more
Behdad Esfahbod d8f00171 2025-04-06T15:33:25 [test/subset] black
Behdad Esfahbod cc065cf2 2025-04-06T15:33:08 [test/subset] Better report passed tests
Behdad Esfahbod c60067c6 2025-04-06T15:25:58 [test/subset] See if this fixes CI
Behdad Esfahbod 8456c33a 2025-04-06T14:33:44 [test/shape] Respect @face-loaders directive
Behdad Esfahbod 1f1cbb64 2025-04-06T14:30:07 Merge pull request #5260 from harfbuzz/tap Use TAP protocol for tests
Behdad Esfahbod aa6a37de 2025-04-06T14:13:18 [test/subset] Port to TAP
Behdad Esfahbod ba309a18 2025-04-06T13:54:47 [test/fuzzing] Port all to TAP
Behdad Esfahbod 58d7ab2d 2025-04-06T13:42:13 [meson] Remove unneeded dependencies
Behdad Esfahbod 328509ef 2025-04-06T13:34:04 [tap] Try to fix cross64 build
Behdad Esfahbod 03f42301 2025-04-06T13:31:17 [mac] Add tests for --face-loader https://github.com/harfbuzz/harfbuzz/issues/5142
Behdad Esfahbod 5a468728 2025-04-06T13:05:43 Add test for https://github.com/harfbuzz/harfbuzz/issues/5232
Khaled Hosny 9718681c 2025-04-06T19:45:10 [meson] Require 0.60.0 Fixes https://github.com/harfbuzz/harfbuzz/issues/5261
Behdad Esfahbod 2b5ae9de 2025-04-06T12:46:43 [meson] Use a glob.py instead of ls / dir
Behdad Esfahbod 155e1e63 2025-04-06T03:49:15 [test/api] Use g_assert_true instead of g_assert The latter terminates the program. The former marks the test as failing.
Behdad Esfahbod f7303942 2025-04-06T03:33:27 [CI] See if this fixes crossbuild 64
Behdad Esfahbod 5efdb884 2025-04-06T03:21:15 [run-tests] Fix remaining bot fails, fingers crossed
Behdad Esfahbod 8132a660 2025-04-06T03:12:38 [shape/run-tests] Don't return non-zero TAP protocol.
Behdad Esfahbod b2179dcf 2025-04-06T02:56:20 [meson.build] Another try
Behdad Esfahbod a777a9c5 2025-04-06T02:47:06 [meson.build] Try fix using of `find`
Behdad Esfahbod e3327777 2025-04-06T02:30:09 [fuzzing/subset] Make TAP protocol
Behdad Esfahbod 740a103b 2025-04-06T02:26:17 [meson] See if this fixes bots
Behdad Esfahbod a530672f 2025-04-06T02:20:41 [meson.build] Don't use str.replace() method Too recent.
Behdad Esfahbod 628a9ee2 2025-04-06T02:15:51 [check-static-inits] objdump all objects together We won't see which object has the bad initializers anymore. We can later adapt to objdump each object one by one if any error was found. Changes test runtime from 1s down to 0.15s.
Behdad Esfahbod fbda749b 2025-04-06T02:01:28 [meson.build] Try to bring down required version range() not found
Behdad Esfahbod da5a9fb8 2025-04-06T01:50:01 [meson.build] Remove unused fs module
Behdad Esfahbod b01cea95 2025-04-06T01:48:35 [meson] Cosmetic
Behdad Esfahbod 1db93d2f 2025-04-06T01:46:23 [test/fuzzing/subset] Run chunks in parallel
Behdad Esfahbod ee50fad6 2025-04-06T01:08:28 [run-tests] black
Behdad Esfahbod db953a43 2025-04-06T01:06:25 [meson.build] Cosmetic
Behdad Esfahbod 69fd9490 2025-04-06T00:33:44 [test/shape] Run using TAP protocol Run all tests for a suite in one process. Saves runtime from 3s to 2s.
Behdad Esfahbod 2834900d 2025-04-06T00:15:12 [test/shape] Run each test suite in one process