|
5e816ef7
|
2025-09-15T18:43:22
|
|
[iup] Reuse vectors
|
|
a64ab6c6
|
2025-09-15T17:47:07
|
|
[iup] Reduce hb_set_t allocs
|
|
5928a3c7
|
2025-09-15T17:17:15
|
|
[iup] Reduce vector allocs
|
|
df18518f
|
2025-09-15T17:14:31
|
|
[iup] Don't sqrt
|
|
db86e546
|
2025-09-15T16:41:31
|
|
[instancer/gvar] Combine peak_coords mallocs into one chunk
|
|
26cc7355
|
2025-09-15T15:49:36
|
|
[vector] Remove a comment
|
|
9d004544
|
2025-09-16T00:16:30
|
|
Fix invalid reinterpret_cast (#5558)
* Fix invalid reinterpret_cast
reinterpret_cast from non-atomic object to atomic object is not valid.
https://eel.is/c++draft/atomics.types.generic#general-3
>[Note 2: The representation of an atomic specialization
>need not have the same size and alignment requirement as
>its corresponding argument type. — end note]
https://eel.is/c++draft/basic.compound#5
>5 Two objects a and b are pointer-interconvertible if
>(5.1) they are the same object, or
>(5.2) one is a union object and the other is a non-static
>data member of that object ([class.union]), or
>(5.3) one is a standard-layout class object and the other
>is the first non-static data member of that object or any
>base class subobject of that object ([class.mem]), or
>(5.4) there exists an object c such that a and c are
>pointer-interconvertible, and c and b are pointer-interconvertible.
>If two objects are pointer-interconvertible, then they have
>the same address, and it is possible to obtain a pointer
>to one from a pointer to the other via a reinterpret_cast
>([expr.reinterpret.cast]).
objects of types `int` and `std::atomic<int>` are not
pointer-interconvertible (an object of type `int` is not
first non-static data member of `std::atomic<int>`)
https://eel.is/c++draft/basic.lval#11
>11 An object of dynamic type T-obj is type-accessible through
>a glvalue of type T-ref if T-ref is similar ([conv.qual]) to:
>(11.1) T-obj,
>(11.2) a type that is the signed or unsigned type corresponding
>to T-obj, or
>(11.3) a char, unsigned char, or std::byte type.
>If a program attempts to access ([defns.access]) the stored
>value of an object through a glvalue through which it is not
>type-accessible, the behavior is undefined
The original code resulted in undefined behavior.
* revert code formatting
* fix const qualifier in type for atomic operation.
* implement copy and move ctors (assignment-operators) and swap functions.
* swap-functions replaced as frendly members, common header includes returned.
* add HB_ prefix to defined macro.
* some formatting.
|
|
43284d1f
|
2025-09-15T20:11:36
|
|
fix clang-format repeated flags (#5559)
* fix clang-format repeated flags
some flags were listed twice with opposite meanings
* Change AfterStruct formatting option to true
---------
Co-authored-by: Behdad Esfahbod <behdad@behdad.org>
|
|
b33f6fd2
|
2025-09-15T01:11:30
|
|
Merge pull request #5555 from harfbuzz/instancer-gvar-micro-opts
Instancer gvar micro opts
|
|
e310f811
|
2025-09-15T00:58:07
|
|
[instancer/gvar] Speed up hash lookup-set
|
|
7a57c3c1
|
2025-09-15T00:52:50
|
|
[instancer/gvar] Simplify sorting
|
|
b51ea436
|
2025-09-15T00:44:49
|
|
[gvar] Micro-opt instancing
|
|
08fddebe
|
2025-09-14T20:43:31
|
|
Merge pull request #5554 from harfbuzz/lazy-interms
Lazy interms
|
|
4d590199
|
2025-09-14T18:04:51
|
|
[instancer/tuplevar] Allocate intermediates array on demand
|
|
35212ba3
|
2025-09-14T17:46:13
|
|
[gvar] Change a storage type
No functional change.
|
|
4974f5eb
|
2025-09-14T16:39:29
|
|
Merge pull request #5553 from harfbuzz/instancer-tuplevars-hashmap-opt
Instancer tuplevars hashmap opt
|
|
20457df5
|
2025-09-14T16:05:29
|
|
[map] Tune for small maps
|
|
323901f8
|
2025-09-14T13:47:32
|
|
[instancer/tuplevars] Reduce work by combining two loops
|
|
eb6de664
|
2025-09-14T13:13:22
|
|
[instancer/tuplevars] Reduce work
|
|
ebcc20d0
|
2025-09-14T00:03:51
|
|
Merge pull request #5552 from harfbuzz/speedup-map-copy
Speedup map copy
|
|
90ea408e
|
2025-09-13T18:18:08
|
|
[map] Speed up copying of trivially-assignable types
|
|
fd282dcf
|
2025-09-13T17:56:34
|
|
[map] Speed up operator= for trivial item types
|
|
78e5920d
|
2025-09-13T17:43:30
|
|
Merge pull request #5551 from harfbuzz/instancer-micro-opts
Instancer micro opts
|
|
1f936e23
|
2025-09-13T16:58:45
|
|
[instancer] Try to move instead of copy some tuples
|
|
2319d763
|
2025-09-13T16:21:34
|
|
[TupleValues] Micro-optimize encoding
Also, a check for 32bit values in the word-encoding function
was missing. Ouch.
|
|
f2c4ab45
|
2025-09-13T16:14:55
|
|
[instancer/varstore] Micro-optimize
|
|
051d97b1
|
2025-09-13T16:09:53
|
|
[RELEASING] Update
|
|
b97369bb
|
2025-09-13T14:10:20
|
|
Merge pull request #5549 from harfbuzz/instancer-varstore-optimize-compromise
[instancer/varstore] Only optimize instanced varstore incrementally
|
|
cf6c9d8a
|
2025-09-13T13:49:56
|
|
[instancer/varstore] Put back sort again
In testing with GoogleSansFlex, this produces slightly smaller
result.
|
|
d6343fa3
|
2025-09-13T13:38:47
|
|
[instancer/varstore] Update test expectations
|
|
c7e46ab2
|
2025-09-13T12:54:18
|
|
[instancer/varstore] Avoid copies in loops
|
|
7a430de3
|
2025-09-13T00:08:10
|
|
Add -Wpessimizing-move warning
Part of https://github.com/harfbuzz/harfbuzz/issues/5550
|
|
a4a50892
|
2025-09-12T23:41:40
|
|
[instancer/varstore] Speed up encoding merging
Don't recalculate chars from all row data.
|
|
f0a1289a
|
2025-09-12T19:25:57
|
|
[instancer/varstore] Massage optimizer a bit
|
|
a878dca0
|
2025-09-12T19:19:07
|
|
[instancer/varstore] Remove sorting from the optimizer
Just work with incoming order.
|
|
e16be515
|
2025-09-12T17:42:57
|
|
[instancer/varstore] Only optimize instanced varstore incrementally
See comments. This basically wipes of the varstore optimization
costs out of the profiles, which saves eg. 25% total time in
GoogleSansFlex instantiation, with practically no file size
downside.
|
|
a4087e7f
|
2025-09-12T15:48:26
|
|
[instancer/varlib] Minor non-functional change
|
|
d8c1bce2
|
2025-09-12T14:39:38
|
|
[instancer/varstore] Mark a function HOT
|
|
aa58b43d
|
2025-09-12T14:24:41
|
|
[subset] Introduce HB_SUBSET_FLAGS_RETAIN_NUM_GLYPHS. (#5547)
Used in conjunction with retain gids, when set the num glyphs from the input font will be preserved. Empty glyphs will be inserted as necessary to maintain the num glyphs value. Put under experimental for now.
|
|
bf8929fb
|
2025-09-12T13:32:38
|
|
11.5.0
|
|
74c31861
|
2025-09-12T13:31:29
|
|
[rust] Update to HarfRust 0.3.0 (#5548)
|
|
3965e9a6
|
2025-09-12T13:12:05
|
|
[instancer/varstore] Change sort key (#5540)
See https://github.com/harfbuzz/harfbuzz/pull/5540
|
|
c9480db9
|
2025-09-12T12:22:17
|
|
[instancer/varstore] Add a heuristic to speed up optimization
|
|
6dadd846
|
2025-09-12T18:37:30
|
|
Re-disable fonttools comparison for update_def_wght.tests
|
|
dce73766
|
2025-09-12T13:56:01
|
|
[Unicode 17] Update the script direction list
|
|
0f1dab0f
|
2025-09-12T11:43:21
|
|
[instancer/varstore] More gain_from_merging optimization (#5543)
* [instancer/varstore] More gain_from_merging optimization
* [tests] Re-enable a test that was disabled until an issue fixed
See comment.
|
|
e4957b0c
|
2025-09-12T10:57:49
|
|
[varLib/instancer] Simplify gain encoding
|
|
20d7ef5f
|
2025-09-12T10:45:08
|
|
[instancer/varstore] Change gain encoding
gain can be high in theory.
|
|
3200a075
|
2025-09-12T04:07:45
|
|
Merge pull request #5542 from harfbuzz/instancer-varstore-gain-compare-opt
[instancer/varstore] Optimize gain comparisons
|
|
ca9a8aba
|
2025-09-12T03:50:46
|
|
Revert "[instancer/varstore] Micro-optimize"
This reverts commit 7484eb5807d6127bea6b888a7d8fdad1b73a8c0b.
|
|
f12be45c
|
2025-09-12T03:42:49
|
|
[instancer/varstore] Optimize gain comparisons
|
|
7484eb58
|
2025-09-12T03:16:59
|
|
[instancer/varstore] Micro-optimize
|
|
92ec75f8
|
2025-09-12T03:13:25
|
|
[instancer/varstore] Micro-optimize
|
|
14e7d5b2
|
2025-09-12T03:04:59
|
|
[instancer/varstore] Speed up gain_from_merging
10% speedup instancing GoogleSansFlex.
|
|
006ec160
|
2025-09-12T02:52:29
|
|
[instancer/varstore] Minor refactor in anticipation of next change
|
|
c6a15cd6
|
2025-09-12T01:20:50
|
|
Merge pull request #5539 from harfbuzz/instancer-optimize-more
[instancer] optimize more
|
|
aba798dd
|
2025-09-12T00:52:40
|
|
[instancer/varstore] Use heapify() instead of inserts()
|
|
12c46237
|
2025-09-12T00:05:37
|
|
Revert "[instancer/varstore] Change chars_t storage scheme"
This reverts commit aaeea5729b97813eb71b1d809212534a77436ca2.
|
|
aaeea572
|
2025-09-11T23:52:44
|
|
[instancer/varstore] Change chars_t storage scheme
Slows down. Gonna revert.
Apparently builtin popcount is not fast unless built for archs that
support it.
|
|
3dc5e3d6
|
2025-09-11T23:27:51
|
|
[instancer/varstore] Consolidate chars_t logic
|
|
fe6c9a0f
|
2025-09-11T23:23:41
|
|
[instancer/varstore] Fix a logic bug
combined_chars was moved already.
Also, see comment.
|
|
9d971169
|
2025-09-11T23:10:50
|
|
[instancer/varstore] Add a chars_t type
|
|
1a6c6d78
|
2025-09-11T21:59:41
|
|
[instancer] Micro-optimize a couple of hot comparisons
|
|
c938e8ce
|
2025-09-11T21:57:14
|
|
[instancer] Micro-optimize by using bit-set directly
|
|
266e1c24
|
2025-09-11T20:12:39
|
|
[instancer] Short-circuit some work in gain_from_merging
|
|
a34f8b31
|
2025-09-11T19:10:05
|
|
[instancer] Use bitset instead of vector for VarStore optimizer columns
~30% faster on GoogleSansFlex.
|
|
b2dcb8f1
|
2025-09-11T18:51:51
|
|
Merge pull request #5538 from harfbuzz/subset-robotoflex-opts
[instancer] Optimize mallocs
|
|
2e86070e
|
2025-09-11T18:15:19
|
|
[instancer] Don't clear a couple of resize allocations
Not needed.
|
|
01fd17d6
|
2025-09-11T17:05:03
|
|
[instancer] Reduce mallocs in create_from_tuple_var_data
|
|
23e40cd7
|
2025-09-11T16:53:44
|
|
[instancer] Reduce mallocs in gain_from_merging
|
|
3225bd73
|
2025-09-11T16:44:24
|
|
[instancer] Minor default construction simplify
|
|
3df6e510
|
2025-09-11T16:33:10
|
|
[instancer] Reduce mallocs in merge_tuple_variations
|
|
6d82b40a
|
2025-09-11T16:09:13
|
|
[instancer] Remove unnecessary vector fini
|
|
87c36992
|
2025-09-11T15:42:59
|
|
[instancer] Reduce mallocs in calc_inferred_deltas
|
|
740cbf1c
|
2025-09-11T15:30:30
|
|
[vector] Add malloc debug facility
|
|
67bddf15
|
2025-09-11T15:16:30
|
|
[instancer] Reduce mallocs in change_tuple_var_axis_limit
|
|
17aa37ab
|
2025-09-11T15:13:51
|
|
[instancer] Reduce mallocs in rebase-tent
|
|
0fbbf749
|
2025-09-10T21:11:44
|
|
[ot-tags] Update IANA subtags to 2025-08-25 (#5537)
|
|
ce75945c
|
2025-09-10T10:19:04
|
|
Merge pull request #5534 from harfbuzz/unicode-17
Update to Unicode 17.0.0
|
|
bc2c60e4
|
2025-09-10T11:43:01
|
|
[Unicode 17] Add tests
|
|
13c8ffa0
|
2025-09-10T11:35:54
|
|
[Unicode 17] Send the new scripts to USE
|
|
f59d532b
|
2025-09-10T11:34:07
|
|
[Unicode 17] Update the USE table
|
|
5b6409f0
|
2025-09-10T11:22:02
|
|
[Unicode 17] Update the vowel constraint table
|
|
7c611a2b
|
2025-09-10T11:21:36
|
|
[Unicode 17] Update the Indic table
|
|
e189b34e
|
2025-09-10T11:19:14
|
|
[Unicode 17] Update the emoji table & cluster test
|
|
e0e0a757
|
2025-09-10T11:18:07
|
|
[Unicode 17] Update the Arabic joining script list
|
|
5b72f304
|
2025-09-10T11:17:25
|
|
[Unicode 17] Update the Arabic table
|
|
147db69b
|
2025-09-10T11:15:30
|
|
[Unicode 17] Update the UCD table
|
|
d08a72dd
|
2025-09-10T11:12:37
|
|
[Unicode 17] Add new `hb_script_t` values
|
|
d59f62ac
|
2025-09-08T10:29:50
|
|
Bump fonttools from 4.59.1 to 4.59.2 in /.ci
Bumps [fonttools](https://github.com/fonttools/fonttools) from 4.59.1 to 4.59.2.
- [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.59.1...4.59.2)
---
updated-dependencies:
- dependency-name: fonttools
dependency-version: 4.59.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|
5c7ae655
|
2025-09-08T10:26:44
|
|
Bump github/codeql-action from 3.29.11 to 3.30.1
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.11 to 3.30.1.
- [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/3c3833e0f8c1c83d449a7478aa59c036a9165498...f1f6e5f6af878fb37288ce1c627459e94dbf7d01)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-version: 3.30.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|
fb7af519
|
2025-09-08T10:25:13
|
|
Bump actions/setup-python from 5.6.0 to 6.0.0
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.6.0 to 6.0.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/a26af69be951a213d495a4c3e4e4022e16d87065...e797f83bcb11b83ae66e0230d6156d7c80228e7c)
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-version: 6.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|
dd291f48
|
2025-09-07T23:46:27
|
|
Short-circuit ASCII more (#5528)
|
|
49ac0df6
|
2025-09-06T15:35:38
|
|
[meson] Add graphite2 wrap file
|
|
da17d4fd
|
2025-09-06T15:34:46
|
|
[meson] Remove "allow_fallback: true" from icu dependency
We don’t do this for any other dependency.
|
|
09204699
|
2025-09-06T15:27:40
|
|
[meson] Simplify freetype dependency handling
Drop support for CMake-built FreeType which complicates things and makes
freetype dependency behave differently (it does not respect --wrap-mode,
for instance).
We don’t want to care about CMake-build dependencies, if they behave
differently that is on them.
|
|
01d4fff1
|
2025-09-03T17:33:31
|
|
[meson] Add ICU wrap
|
|
8a92b8f2
|
2025-08-31T11:38:54
|
|
[meson] Drop CMake-built ICU support, fixing fallback to wrap >= 77.1-3
The WrapDB ICU wrap switched from the transitional "icu-uc = icuuc_dep"
syntax to the recommended "dependency_names = icu-uc", which apparently
broke our fallback path because we passed a components: argument to
dependency() for CMake (mesonbuild/meson#14979). Per review guidance,
drop support for CMake-built ICU.
|
|
d94851e5
|
2025-09-03T11:52:51
|
|
[rust] Use inherited codegen-units=1 in debugoptimized build
It makes significant (30% in Nastaliq benchmark) difference.
|
|
cb4548d3
|
2025-09-02T14:58:00
|
|
[subset] always generate AdvMap (#5524)
|