Behdad Esfahbod
e5bdba0b3c
[aat] Rename a variable
2025-02-04 23:03:23 +00:00
Behdad Esfahbod
cb09fe7995
[bit-set] Remove a likely()
2025-02-04 22:54:10 +00:00
Behdad Esfahbod
749dc1eee0
[bit-set] Fix may_intersect() logic
2025-02-04 22:53:17 +00:00
Behdad Esfahbod
b30c65e271
Merge pull request #5040 from harfbuzz/aat-set
...
[aat] Speed up subchain skipping using exact sets
2025-02-04 22:48:58 +00:00
Behdad Esfahbod
22a21e81a0
[aat] Fix a crash
2025-02-04 22:30:42 +00:00
Behdad Esfahbod
275fb565bb
[morx] Clean up memory
2025-02-04 22:30:42 +00:00
Behdad Esfahbod
255dadc152
[set] Speed up may_intersect()
2025-02-04 22:30:42 +00:00
Behdad Esfahbod
a617328005
[bit-set] Sprinkle a few .arrayZ around
...
All accesses are valid.
2025-02-04 22:30:42 +00:00
Behdad Esfahbod
7862c7c5e1
Rename a method again
2025-02-04 22:30:42 +00:00
Behdad Esfahbod
474bef1cfd
[aat] Use exact set for buffer intersection versus subchains
2025-02-04 22:30:42 +00:00
Behdad Esfahbod
95eefa38f6
[set] Add a brute-force intersects(other_set)
2025-02-04 22:30:42 +00:00
Behdad Esfahbod
80bbb0b2e9
[set-digest] Rename a method
2025-02-04 22:30:32 +00:00
Behdad Esfahbod
7d17ea4996
Merge pull request #5037 from harfbuzz/face-blob
...
[face] Add fallback implementation to hb_face_reference_blob
2025-02-04 18:43:33 +00:00
Khaled Hosny
a315d43b04
[doc] Update hb_face_reference_blob() and hb_reference_table_func_t
2025-02-04 20:41:01 +02:00
Behdad Esfahbod
5b49ac21fe
Merge pull request #5039 from harfbuzz/lucida
...
[aat] Speed up Lucida Grande among others
2025-02-04 18:40:27 +00:00
Behdad Esfahbod
722ab54868
[kerx] Don't compute buffer digest
...
We don't use it in kerx
2025-02-04 17:59:39 +00:00
Behdad Esfahbod
449c7f2a0d
[aat] Add some tracing
2025-02-04 17:56:22 +00:00
Behdad Esfahbod
3a1d7ee7e8
[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%.
2025-02-04 17:33:42 +00:00
Behdad Esfahbod
e1cb3b155a
Revert "[aat] Remove set-digest"
...
This reverts commit 832f199607
.
2025-02-04 17:29:23 +00:00
Behdad Esfahbod
359d163d25
Revert "[aat] Remove buffer-digest stuff"
...
This reverts commit 7642366593
.
2025-02-04 17:12:30 +00:00
Behdad Esfahbod
7d23e642a2
Revert "[aat] Remove dead code"
...
This reverts commit bf36f5c3a4
.
2025-02-04 17:12:30 +00:00
Behdad Esfahbod
d109947672
Revert "[aat] Remove unused macro"
...
This reverts commit 2ddcccd26e
.
2025-02-04 17:12:30 +00:00
Behdad Esfahbod
2ddcccd26e
[aat] Remove unused macro
2025-02-04 17:05:45 +00:00
Behdad Esfahbod
1ff462354b
[morx] Micro-optimize
2025-02-04 16:46:25 +00:00
Khaled Hosny
4825e5e2b4
[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
2025-02-04 15:45:22 +02:00
Behdad Esfahbod
9cf2ea3e8f
Merge branch 'kern-set'
2025-02-04 13:34:31 +00:00
Behdad Esfahbod
bf36f5c3a4
[aat] Remove dead code
2025-02-04 13:32:31 +00:00
Behdad Esfahbod
7642366593
[aat] Remove buffer-digest stuff
...
With both morx & kerx sped up now using cache / set, this is not
beneficial anymore. Remove it.
2025-02-04 13:19:43 +00:00
Behdad Esfahbod
9a4601b06b
[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%.
2025-02-04 13:16:54 +00:00
Behdad Esfahbod
3e50a8dfec
[buffer] Use UINT_MAX instead of wrong macro
2025-02-04 13:06:23 +00:00
Behdad Esfahbod
cafbdf4217
Merge pull request #5031 from harfbuzz/aat-speedup
...
[aat] Add a class-cache to the machine & fix speed regression from 2023!
2025-02-04 11:22:15 +00:00
Behdad Esfahbod
267ebeeccd
[perf/text] Add a long piece of JS code for benchmarking
2025-02-04 11:10:31 +00:00
Behdad Esfahbod
ee4ca63b6d
[aat] Micro-optimize
2025-02-03 13:23:08 +00:00
Behdad Esfahbod
ed37725e00
[aat] Micro-optimize get_class
2025-02-03 12:59:58 +00:00
dependabot[bot]
be022b3550
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](0b93645e9f...42375524e2
)
---
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>
2025-02-03 04:47:45 -07:00
dependabot[bot]
4291114246
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](f6091c0113...dd746615b3
)
---
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>
2025-02-03 04:47:37 -07:00
Behdad Esfahbod
91572945bb
[aat] More delambda
...
Again, this was costly.
2025-02-03 11:28:50 +00:00
Behdad Esfahbod
556eb02977
[aat] Remove a lambda
...
This lambda was added to "simplify" the logic. But has a lot of overhead.
2025-02-03 11:28:50 +00:00
Behdad Esfahbod
d9a25bc4ee
[aat] Allocate caches together
...
No separate malloc.
2025-02-03 11:28:50 +00:00
Behdad Esfahbod
7b44a94a55
[aat] Shrink cache to 256 bytes per subtable
2025-02-03 11:28:50 +00:00
Behdad Esfahbod
b89ab7d0fb
[aat] Shrink the class cache to be 512 bytes instead of 1kb
2025-02-03 11:28:50 +00:00
Behdad Esfahbod
4fb0ac7728
[aat] Minor simplify
2025-02-03 11:28:50 +00:00
Behdad Esfahbod
832f199607
[aat] Remove set-digest
...
Now that we have a class cache, this was just speeding things down.
2025-02-03 11:28:50 +00:00
Behdad Esfahbod
0e13e78153
[aat] Add a class-cache to the machine
...
Speeds up Times.ttc benchmark by 20%.
2025-02-03 11:28:50 +00:00
dependabot[bot]
3839e5fd59
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>
2025-02-03 04:28:16 -07:00
Tor Arne Vestbø
04b2006fc9
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 f401f85a5a
, 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.
2025-02-03 04:28:02 -07:00
Khaled Hosny
bbb9e56365
[ci] Pin GitHub workflows to Python 3.12 for now
...
Some dependencies seem to fail to install on Python 3.13.
2025-02-02 23:14:03 +02:00
Behdad Esfahbod
d8d0987feb
[benchmark-shape] Remove variable-font test set
...
It doesn't really affect shaping much. Kill it.
2025-02-02 18:08:09 +00:00
Behdad Esfahbod
138448487e
[aat] Typo
2025-02-02 11:56:01 +00:00
Behdad Esfahbod
f5e50890d0
[open-type] Another tweak to cmp()
...
Again, unlikely that compiler cares.
2025-02-02 11:40:27 +00:00