|
726af2e4
|
2025-02-05T18:10:40
|
|
[PairPos] Use a class cache
10% speedup on Roboto-Regular. 5% on SF Pro.
|
|
acd122d0
|
2025-02-05T17:38:39
|
|
[gsubgpos] Prepare for per-lookup allocated caches
|
|
3f40edbf
|
2025-02-05T17:25:27
|
|
[ClassDef] Add ability to use a cache
|
|
7392f32e
|
2025-02-05T19:16:08
|
|
[face] Tweak stack again
Let's go with one loop iteration. It's cheap.
|
|
515b6a58
|
2025-02-05T19:13:19
|
|
[face] Minor stack var size change
|
|
601dd1a7
|
2025-02-05T19:10:41
|
|
[face-builder] Fix an OOM issue
Fixes https://oss-fuzz.com/testcase-detail/5721476158521344
|
|
c05002af
|
2025-02-05T16:46:13
|
|
[set] Add may_have() as alias for get()
|
|
ad7f428b
|
2025-02-05T16:44:04
|
|
[set-digest] Comment
|
|
900db7b1
|
2025-02-05T16:41:49
|
|
[bit-set] Add a couple of alias methods
|
|
942a30b7
|
2025-02-05T14:21:49
|
|
[aat] Remove now-unused code
|
|
44281b28
|
2025-02-05T14:19:01
|
|
[aat] Back to simplified heuristic
Performs overall better.
|
|
dc8da612
|
2025-02-05T14:12:55
|
|
Merge pull request #5042 from harfbuzz/aat-regression
[aat] Fix performance regression
|
|
b857b21a
|
2025-02-05T13:15:15
|
|
[morx] Try using buffer-glyph-set adaptive to number of chains
|
|
491c8c4e
|
2025-02-05T13:00:09
|
|
Revert "[aat] Change threshold from 4 to 16"
This reverts commit 624d6edfe4a4b854cf5e66c3fdeb6fc2e1916e14.
Some other benchmarks see better results for 4. Let's leave at that.
|
|
624d6edf
|
2025-02-05T12:45:57
|
|
[aat] Change threshold from 4 to 16
Still worth it it seems.
|
|
a26cf0f4
|
2025-02-05T12:41:40
|
|
[aat] Fix regression in performance of shaping tiny strings
|
|
cec5c571
|
2025-02-05T12:37:50
|
|
[aat] Refactor a method
|
|
cd5dfc6d
|
2025-02-05T12:32:02
|
|
[kerx] Use hb_bit_set_t instead of hb_set_t
|
|
d40c079f
|
2025-02-05T12:30:56
|
|
[morx] Use hb_bit_set_t instead of hb_set_t directly
|
|
7b927748
|
2025-02-05T12:25:54
|
|
[bit-set] Rename a method
|
|
b44f6ff5
|
2025-02-05T12:19:48
|
|
[perf/texts] Add a list of just 2letter strings
|
|
f7385340
|
2025-02-05T12:19:30
|
|
Merge pull request #5041 from harfbuzz/aat-machine-initial
[morx] Only collect glyphs that can initiate action in the machine
|
|
fc825168
|
2025-02-05T11:17:18
|
|
[aat] Remove idempotent check
Not necessary after the recent filtering.
Another 10% speedup with LucidaGrande.
|
|
849b1735
|
2025-02-05T11:05:29
|
|
[aat] Divide the logic of is_actionable() into two
The two different uses require different logic. I had combined
the two logic into one in 37bfdf79c66ffbe4a5f02dbbc13756865ca11c1e
|
|
b4787838
|
2025-02-05T10:52:26
|
|
[aat] Speed up per-machine initial-glyph-set calculation
Use a bit-page instead of a full hb-set.
|
|
7d14eb5e
|
2025-02-05T10:46:28
|
|
[aat] Minor rename
|
|
6215d68b
|
2025-02-05T10:43:24
|
|
[aat] Minor tweak to logic
DELETED_GLYPH can also initiate action.
|
|
dc4ff701
|
2025-02-05T10:42:33
|
|
[bit-page] Add a couple of operators
|
|
37bfdf79
|
2025-02-05T02:08:19
|
|
[morx] Only collect glyphs that can initiate action in the machine
And match them against the buffer glyph_set.
4% speedup in LucidaGrande.
|
|
d9e99baa
|
2025-02-05T02:06:59
|
|
[aat] Move is_actionable outside of the driver_context
|
|
5ade5bab
|
2025-02-05T01:53:09
|
|
[aat] Move Flags out of driver_context_t
|
|
9f38690e
|
2025-02-05T01:39:28
|
|
[aat] Remove another unused parameter
One logic change, but should be fine.
|
|
d9058c64
|
2025-02-05T01:38:06
|
|
[aat] Remove an unused parameter
|
|
1a278073
|
2025-02-05T00:35:40
|
|
[array] Micro-optimize
|
|
c87bfe41
|
2025-02-05T00:22:27
|
|
[morx] Reuse a variable
|
|
e99e6538
|
2025-02-05T00:08:29
|
|
[aat-map] Micro-optimize a malloc
|
|
3e27038f
|
2025-02-04T23:39:42
|
|
[aat-map] Micro-optimize
|
|
7f5fac7c
|
2025-02-04T23:35:34
|
|
[test-buffer] Fix unintionally merged change
|
|
f0ead852
|
2025-02-04T23:27:03
|
|
[aat] Implement set filtering for Noncontextual chains as well
|
|
e5bdba0b
|
2025-02-04T23:03:23
|
|
[aat] Rename a variable
|
|
cb09fe79
|
2025-02-04T22:54:10
|
|
[bit-set] Remove a likely()
|
|
749dc1ee
|
2025-02-04T22:53:17
|
|
[bit-set] Fix may_intersect() logic
|
|
b30c65e2
|
2025-02-04T22:48:58
|
|
Merge pull request #5040 from harfbuzz/aat-set
[aat] Speed up subchain skipping using exact sets
|
|
22a21e81
|
2025-02-04T22:21:52
|
|
[aat] Fix a crash
|
|
275fb565
|
2025-02-04T22:07:48
|
|
[morx] Clean up memory
|
|
255dadc1
|
2025-02-04T22:02:11
|
|
[set] Speed up may_intersect()
|
|
a6173280
|
2025-02-04T22:00:14
|
|
[bit-set] Sprinkle a few .arrayZ around
All accesses are valid.
|
|
7862c7c5
|
2025-02-04T21:37:27
|
|
Rename a method again
|
|
474bef1c
|
2025-02-04T19:17:13
|
|
[aat] Use exact set for buffer intersection versus subchains
|
|
95eefa38
|
2025-02-04T19:16:57
|
|
[set] Add a brute-force intersects(other_set)
|
|
80bbb0b2
|
2025-02-04T18:42:33
|
|
[set-digest] Rename a method
|
|
7d17ea49
|
2025-02-04T18:43:33
|
|
Merge pull request #5037 from harfbuzz/face-blob
[face] Add fallback implementation to hb_face_reference_blob
|
|
a315d43b
|
2025-02-04T20:41:01
|
|
[doc] Update hb_face_reference_blob() and hb_reference_table_func_t
|
|
5b49ac21
|
2025-02-04T18:40:27
|
|
Merge pull request #5039 from harfbuzz/lucida
[aat] Speed up Lucida Grande among others
|
|
722ab548
|
2025-02-04T17:59:39
|
|
[kerx] Don't compute buffer digest
We don't use it in kerx
|
|
449c7f2a
|
2025-02-04T17:56:22
|
|
[aat] Add some tracing
|
|
3a1d7ee7
|
2025-02-04T17:33:42
|
|
[aat] Remove the buffer-digest threshold
This can help us skip entire subchains, eg. when they are for
different scripts.
Speeds up LucidaGrande with ASCII text by 20%.
|
|
e1cb3b15
|
2025-02-04T17:28:29
|
|
Revert "[aat] Remove set-digest"
This reverts commit 832f199607292a41b4621b87a646c30cddc00124.
|
|
359d163d
|
2025-02-04T17:11:46
|
|
Revert "[aat] Remove buffer-digest stuff"
This reverts commit 7642366593826c0e04ad58df83fa63ec53960486.
|
|
7d23e642
|
2025-02-04T17:11:13
|
|
Revert "[aat] Remove dead code"
This reverts commit bf36f5c3a4ff0003d330e2c2fc410c0cde911cba.
|
|
d1099476
|
2025-02-04T17:12:23
|
|
Revert "[aat] Remove unused macro"
This reverts commit 2ddcccd26ea4962a97ba6858952a5a71d032e6c1.
|
|
2ddcccd2
|
2025-02-04T17:05:45
|
|
[aat] Remove unused macro
|
|
1ff46235
|
2025-02-04T16:46:25
|
|
[morx] Micro-optimize
|
|
4825e5e2
|
2025-02-04T00:54:58
|
|
[face] Add fallback implementation to hb_face_reference_blob
If referencing the face blob is not possible (e.g. not implemented by
the font functions), use face builder to create a blob out of
individual table blobs.
Fixes https://github.com/harfbuzz/harfbuzz/issues/5036
|
|
9cf2ea3e
|
2025-02-04T13:34:31
|
|
Merge branch 'kern-set'
|
|
bf36f5c3
|
2025-02-04T13:32:31
|
|
[aat] Remove dead code
|
|
76423665
|
2025-02-04T13:19:43
|
|
[aat] Remove buffer-digest stuff
With both morx & kerx sped up now using cache / set, this is not
beneficial anymore. Remove it.
|
|
9a4601b0
|
2025-02-04T13:14:04
|
|
[kern/kerx] Use hb-set-t for left/right, to guard bsearch
Use a set of all left glyphs participating in kerning, and all
right glyphs participating in kerning, and use these two to weed
out non-kerning pairs before bsearching into the kerns.
Speeds up shaping of HelveticaNeue by ~10%.
|
|
3e50a8df
|
2025-02-04T13:05:34
|
|
[buffer] Use UINT_MAX instead of wrong macro
|
|
cafbdf42
|
2025-02-04T11:22:15
|
|
Merge pull request #5031 from harfbuzz/aat-speedup
[aat] Add a class-cache to the machine & fix speed regression from 2023!
|
|
267ebeec
|
2025-02-04T11:08:52
|
|
[perf/text] Add a long piece of JS code for benchmarking
|
|
ee4ca63b
|
2025-02-03T13:23:08
|
|
[aat] Micro-optimize
|
|
ed37725e
|
2025-02-03T12:59:58
|
|
[aat] Micro-optimize get_class
|
|
be022b35
|
2025-02-03T11:05:47
|
|
Bump actions/setup-python from 5.3.0 to 5.4.0
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.3.0 to 5.4.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/0b93645e9fea7318ecaed2b359559ac225c90a2b...42375524e23c412d93fb67b49958b491fce71c38)
---
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>
|
|
42911142
|
2025-02-03T11:05:44
|
|
Bump github/codeql-action from 3.28.5 to 3.28.8
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.5 to 3.28.8.
- [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/f6091c0113d1dcf9b98e269ee48e8a7e51b7bdd4...dd746615b3b9d728a6a37ca2045b68ca76d4841a)
---
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>
|
|
91572945
|
2025-02-02T18:25:45
|
|
[aat] More delambda
Again, this was costly.
|
|
556eb029
|
2025-02-02T18:19:32
|
|
[aat] Remove a lambda
This lambda was added to "simplify" the logic. But has a lot of overhead.
|
|
d9a25bc4
|
2025-02-02T17:37:43
|
|
[aat] Allocate caches together
No separate malloc.
|
|
7b44a94a
|
2025-02-02T17:33:46
|
|
[aat] Shrink cache to 256 bytes per subtable
|
|
b89ab7d0
|
2025-02-02T17:08:20
|
|
[aat] Shrink the class cache to be 512 bytes instead of 1kb
|
|
4fb0ac77
|
2025-02-02T17:06:45
|
|
[aat] Minor simplify
|
|
832f1996
|
2025-02-02T17:04:06
|
|
[aat] Remove set-digest
Now that we have a class cache, this was just speeding things down.
|
|
0e13e781
|
2025-02-02T16:50:04
|
|
[aat] Add a class-cache to the machine
Speeds up Times.ttc benchmark by 20%.
|
|
3839e5fd
|
2025-02-03T10:53:59
|
|
Bump fonttools from 4.55.6 to 4.55.8 in /.ci
Bumps [fonttools](https://github.com/fonttools/fonttools) from 4.55.6 to 4.55.8.
- [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.55.6...4.55.8)
---
updated-dependencies:
- dependency-name: fonttools
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|
04b2006f
|
2025-02-03T11:53:46
|
|
Remove outdated documentation note about CT operating in 96 DPI
As extensively discussed and documented in #1484, Core Text does
not operate in 96 DPI. Core Text doesn't actually have a concept of
DPI internally, as it doesn't rasterize anything by itself, it just
generates vector paths that get passed along to Core Graphics.
In practice this means Core Text operates in the classical macOS
logical DPI of 72, with one typographic point corresponding to one
point in the Core Graphics coordinate system, which for a normal
bitmap context then corresponds to one pixel -- or two pixels for
a "retina" context with a 2x scale transform.
As of f401f85a5a3ec4ab9c28012a0bfe713d7ee96951, we no longer apply
any assumptions in HB about the target DPI being different than the
72 DPI used by CT, for example to account for the Web's standard of
96 DPI, so let's remove the documentation that still indicated this
was necessary.
|
|
bbb9e563
|
2025-02-02T23:14:03
|
|
[ci] Pin GitHub workflows to Python 3.12 for now
Some dependencies seem to fail to install on Python 3.13.
|
|
d8d0987f
|
2025-02-02T18:08:09
|
|
[benchmark-shape] Remove variable-font test set
It doesn't really affect shaping much. Kill it.
|
|
13844848
|
2025-02-02T11:56:01
|
|
[aat] Typo
|
|
f5e50890
|
2025-02-02T11:40:27
|
|
[open-type] Another tweak to cmp()
Again, unlikely that compiler cares.
|
|
c68df817
|
2025-02-02T11:33:42
|
|
[open-type] Minor tweak to cmp()
Remove codepath that was never taken.
|
|
9bd75952
|
2025-02-02T11:14:49
|
|
[benchmark-shape] Compare diff shapers, not font funcs
|
|
66bb94fe
|
2025-02-02T08:40:30
|
|
[set-digest] Tune back to starting with 4
Make Amiri slightly slower again, but works better for AAT fonts
I tested.
|
|
9fd855ed
|
2025-02-02T07:55:53
|
|
[set-digest] Tune a bit more
Saves another 2% on Amiri benchmark.
|
|
880b92ed
|
2025-02-02T07:43:33
|
|
[set-digest] Fix build on Linux
|
|
92f13bbd
|
2025-02-01T19:11:20
|
|
[set-digest] Inline combiner
Instead of defining one digest and then combining three of them at
different shifts, inline the code The compiler can optimize it better.
3% speedup with Amiri benchmark.
|
|
c4c8eb4f
|
2025-01-26T16:25:55
|
|
[algs] Rename a macro
Clashes with Apple simd/simd.h
|
|
b394ab39
|
2025-01-31T10:21:31
|
|
[test-buffer] Add code for testing end_ptr
|
|
9ba286de
|
2025-02-01T14:23:47
|
|
[ot-shape] Micro-optimize ::equal
For two integers, it's faster to compare them directly.
|
|
6d8035a9
|
2025-01-27T11:02:35
|
|
Bump meson from 1.6.1 to 1.7.0 in /.ci
Bumps [meson](https://github.com/mesonbuild/meson) from 1.6.1 to 1.7.0.
- [Release notes](https://github.com/mesonbuild/meson/releases)
- [Commits](https://github.com/mesonbuild/meson/compare/1.6.1...1.7.0)
---
updated-dependencies:
- dependency-name: meson
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|
adc5ef1e
|
2025-01-27T10:38:27
|
|
Bump codecov/codecov-action from 5.1.2 to 5.3.1
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.1.2 to 5.3.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/1e68e06f1dbfde0e4cefc87efeba9e4643565303...13ce06bfc6bbe3ecf90edbbf1bc32fe5978ca1d3)
---
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>
|