|
c6153c73
|
2025-08-16T16:52:02
|
|
[buffer] Micro-optimize next_glyph() (#5472)
|
|
9794ad9e
|
2025-08-16T15:51:05
|
|
[external_cache] Remove a conditional (#5471)
|
|
96f3cae5
|
2025-08-16T15:02:37
|
|
Revert "[set-digest] Branch-free tests (#5469)" (#5470)
This reverts commit a4d4c41023dd738d35f2e917d8deea2b473a38aa.
That commit had slowed down clang by 3% while sped up gcc by 3%.
Revert, to keep the code *intention* clear. Rely on compiler
to avoid branches if it sees fit.
|
|
a4d4c410
|
2025-08-16T13:55:46
|
|
[set-digest] Branch-free tests (#5469)
|
|
368598b5
|
2025-08-16T00:38:42
|
|
Increase match_positions stack allocation from 4 to 8 (#5468)
Slight speedup on NotoNastaliq.
|
|
0e6e18e7
|
2025-08-15T14:27:33
|
|
Rename a method
|
|
0a257b01
|
2025-08-15T00:54:52
|
|
[gen-ucd-table] Rust clippy
|
|
03d516f8
|
2025-08-15T00:52:44
|
|
[ucd] Change compression level from 5 to 3 (#5466)
3kb bigger binary size. 1% faster in Roboto.
|
|
dae2c8bb
|
2025-08-14T22:26:40
|
|
[ligature] Add a set-digest on the second component (#5464)
|
|
8268473a
|
2025-08-14T21:57:19
|
|
Add external_cache_create separate from cache_func (#5463)
* Add external_cache_create separate from cache_func
* Simplify cache_func_t signature
* Rename a cache type
* Rename another cache type
|
|
cf614fc8
|
2025-08-14T16:23:45
|
|
[LigatureSet] Use slow path only if <= 1 ligatures (#5462)
|
|
bbc2e0d0
|
2025-08-14T16:12:59
|
|
[harfrust] Scale using int64 instead of float (#5461)
Like hb-font.hh does.
|
|
354c6a17
|
2025-08-14T16:01:44
|
|
[harfrust] Remove one function call (#5460)
lol. That's how desperate we are now.
|
|
75044854
|
2025-08-14T11:24:19
|
|
[harfrust] Update to latest API
|
|
53cd214e
|
2025-08-14T10:24:21
|
|
[harfrust] Use buffer.ensure() (#5459)
|
|
a9a78e1b
|
2025-08-14T02:04:06
|
|
[main-loop] Hypothetically remove a branch (#5458)
Don't rely on the compiler.
|
|
7d1ef008
|
2025-08-14T01:03:18
|
|
Remove an unneeded parameter (#5457)
|
|
f9e6c84d
|
2025-08-13T18:18:57
|
|
[gen-ucd-table] Add another clippy warning
|
|
8ebdb9f7
|
2025-08-13T17:39:30
|
|
[harfrust] Cache Shaper object (#5454)
|
|
6b285e6e
|
2025-08-13T11:59:30
|
|
11.4.1
|
|
71a7c58c
|
2025-08-13T11:57:36
|
|
Fix build on some compilers
|
|
8c859f25
|
2025-08-13T11:47:38
|
|
11.4.0
|
|
fbc21a95
|
2025-08-12T10:59:11
|
|
[gsubgpos] Remove copy/pasta code
|
|
4aa7dcba
|
2025-08-12T03:18:38
|
|
[Coverage cache] Micro-optimize
|
|
a4dbb7d4
|
2025-08-12T02:34:49
|
|
[Coverage] Cache NOT_COVERED effectively (#5453)
Before, our cache.set was always failing for NOT_COVERED,
making the cache ineffective for uncovered glyphs. Fix that.
Some nice speedups in Latin fonts.
|
|
1e8a554e
|
2025-08-11T19:27:32
|
|
Hr buffer cache (#5452)
* [harfrust] Rename a variable
* [harfrust] Cache HR buffer on HB buffer
|
|
1a2337d5
|
2025-08-11T12:52:47
|
|
[rust] Require HarfRust 0.1.*
|
|
6ec1b279
|
2025-08-11T01:14:19
|
|
[lookup] Give each subtable an external-cache opportunity (#5449)
* [lookup] Give each subtable an external-cache opportunity
* [subtable-cache] Fixups
|
|
0f6323e1
|
2025-08-10T15:15:08
|
|
[layout] Rename a variable
|
|
ef5c3d59
|
2025-08-10T01:27:41
|
|
[rust] Oops
|
|
940604b2
|
2025-08-10T01:20:41
|
|
[gsubgpos] Micro improvement of (Chain)ContextFormat2 classdef cache
|
|
fe554a1b
|
2025-08-08T05:05:19
|
|
[contextuals] Fix cache_cost
Was just wrong.
|
|
6195c434
|
2025-08-08T04:00:27
|
|
[contextuals] Tweak cache cost
|
|
673934f2
|
2025-08-07T22:58:14
|
|
Revert "[VARC] Graduate out of experimental"
This reverts commit 7a708a935c9642a26ffa903759c41b5bd5289898.
|
|
06e9277f
|
2025-08-07T22:38:58
|
|
Rename _S to HB_STR
Fixes https://github.com/harfbuzz/harfbuzz/issues/5446
|
|
5f46ff80
|
2025-08-07T22:04:20
|
|
[shape] Rename a buffer var
For clarity.
|
|
880eb464
|
2025-08-04T00:57:48
|
|
[graphite2] Use signed int for current advance
Graphite can return negative advances, but we were storing current x and
y advances as unsigned ints. The `curradvx` and `curradvy` variables are
used only when calculating the respective offset, but the advance itself
it always taken from Graphite directly, so using signed here makes no
difference to how advances are set, only the offsets.
Fixes https://github.com/harfbuzz/harfbuzz/issues/5439
|
|
5a443ade
|
2025-07-29T22:30:33
|
|
[ci] Add a script to extract release notes from NEWS file
Add a script to extract the release notes from the NEWS files and use
them when creating GitHub releases, so that we don’t need to copy them
manually.
Add also a test to make sure the NEWS file always have release notes for
the current release.
|
|
cd49b14b
|
2025-07-29T14:32:26
|
|
[subset] add more aggressive pruning for MarkLigPos and MarkMarkPos (#5434)
Remove lig/mark glyphs without defined anchor points after subsetting
|
|
7d7f8681
|
2025-07-29T14:31:53
|
|
Don't cast negative advance to unsigned. (#5436)
|
|
7af1df67
|
2025-07-28T10:24:45
|
|
Revert "Merge branch 'main' into HVF"
This reverts commit 3a64fce9b73bc601e257d13d1ea8ac7f32ce60b6, reversing
changes made to f63d960c4eda79514c060ddce796df9e607b5bae.
|
|
57565de1
|
2025-07-28T10:20:28
|
|
Revert "[hvgl] Fix cast-align issue"
This reverts commit b03089bf56794b3e96898231c1ca6fbcb4f6454b.
|
|
57f0eb80
|
2025-07-28T06:10:45
|
|
Add pragma GCC diagnostic ignored "-Wold-style-cast" (#5431)
From https://github.com/SFML/SFML/pull/3543#issuecomment-3126532776
|
|
290063c6
|
2025-07-28T03:18:44
|
|
[face] Fix a potential crasher if not enough font data
In hb_face_count().
Fixes https://github.com/memononen/Skribidi/pull/67
|
|
c7ec53d9
|
2025-07-27T19:55:21
|
|
Try to fix build on gcc-8 (#5430)
* [machinery] Use std::forward in StructAfter
Might not fix https://github.com/harfbuzz/harfbuzz/issues/5429
but I was inspecting there and looks relevant.
* [machinery] Write StructAfter as an auto-return
Maybe fixes https://github.com/harfbuzz/harfbuzz/issues/5429
* [machinery] Another try at fixing gcc-8
Trying to fix https://github.com/harfbuzz/harfbuzz/issues/5429
|
|
4df970fc
|
2025-07-26T14:07:11
|
|
Merge tag '11.3.3'
11.3.3
|
|
c3fcbffa
|
2025-07-26T14:00:32
|
|
11.3.3
|
|
5565d78d
|
2025-07-26T12:51:18
|
|
[ot-font] Fix v-advance if font has no vmtx table
Fixes https://github.com/harfbuzz/harfbuzz/issues/5425
|
|
3918f085
|
2025-07-26T12:51:18
|
|
[ot-font] Fix v-advance if font has no vmtx table
Fixes https://github.com/harfbuzz/harfbuzz/issues/5425
|
|
11daf566
|
2025-07-26T06:31:48
|
|
[GDEF] Rename a var
|
|
09978fc5
|
2025-07-26T04:20:59
|
|
[ot] Rename hb_ot_lookup_cache_op_t, and cache to subtable_cache
|
|
7b56d3a1
|
2025-07-26T05:35:57
|
|
[ot-layout] s/hb_ot_lookup_cache_t/hb_ot_layout_mapping_cache_t/g
|
|
a220479f
|
2025-07-26T06:10:31
|
|
Remove std::forward inside loops (#5424)
* [iter,cff] Remove std::forward from inside loops
Was moving multiple times, if args were movable.
* [CPAL] Handle an error
* [serialize] Remove another std::forward in a loop
* [bit-page] Fix a static-analysis out-of-range warning
Code was safe. Just rewrite.
* [ot-layout] Remove another std::forward from inside a loop
|
|
87aaaf47
|
2025-07-26T03:51:30
|
|
[ragel] Update artifacts (#5421)
|
|
66231e85
|
2025-07-25T06:54:46
|
|
Merge pull request #5420 from harfbuzz/duployan-speedup
Duployan speedup
|
|
f8e0bf1c
|
2025-07-25T06:08:58
|
|
[match_properties_mark] inline and hot
|
|
a592330e
|
2025-07-25T05:58:00
|
|
Sprinkle consts back
|
|
3c18f60d
|
2025-07-25T05:41:07
|
|
[check-glyph-property] Move the cache check to MarkFilteringSets only
|
|
5b6836e1
|
2025-07-25T04:42:49
|
|
[check-glyph-properties] Cache current lookup-prop's matching result.
Slows down everything other than speeding up Duployan.
|
|
3ac630a5
|
2025-07-25T04:21:55
|
|
Merge pull request #5404 from harfbuzz/no-cargo-lock
[rust] Remove Cargo.lock
|
|
786f8381
|
2025-07-25T04:00:37
|
|
[GDEF] Use bit-set instead of set-digest for mark glyph classes
Most fonts don't even have these. Some, like NotoSansDuployan
have huge ones. This speeds it up by 25%.
|
|
b87d866b
|
2025-07-25T03:21:46
|
|
Fix HB_TINY `ninja -Cbuild libs` with experimental_api=true
|
|
75f91987
|
2025-07-25T02:39:47
|
|
[src/test-*] Use hb_always_assert() which isn't compiled out under NDEBUG
Part of https://github.com/harfbuzz/harfbuzz/issues/5418
|
|
2dc0b070
|
2025-07-25T02:20:50
|
|
[test] Mark a couple functions as unused
Under NDEBUG.
|
|
aadc7ccf
|
2025-07-25T02:18:15
|
|
[subset-table] Add a HB_UNUSED
|
|
8204e2dc
|
2025-07-25T01:45:35
|
|
[ot-shape] Micro-optimize a loop
By gemini-cli.
|
|
415ea36a
|
2025-07-24T23:21:36
|
|
[subset] Break up hb-subset.cc
|
|
9aa9fc51
|
2025-07-24T22:47:08
|
|
[subset] Move code around
|
|
367300ec
|
2025-07-24T22:33:19
|
|
[subset] Move code around
|
|
bdbcd8f6
|
2025-07-24T22:01:26
|
|
[subset] Comment
|
|
675f8ee6
|
2025-07-24T21:46:11
|
|
[scalar-cache] Fix sanitizer whining
Fixes https://github.com/harfbuzz/harfbuzz/issues/5410
|
|
305ac175
|
2025-07-24T15:54:59
|
|
Merge pull request #5412 from qxliu76/mark_base_pos
[subset] MarkBasePos: remove base glyphs with empty base record
|
|
879c4ac7
|
2025-07-24T14:13:16
|
|
[subset] MarkBasePos: remove base glyphs with empty base record
BaseRecord could become empty if all anchor offsets for retained mark
classes are null
|
|
b03089bf
|
2025-07-24T11:33:34
|
|
[hvgl] Fix cast-align issue
Fixes https://github.com/harfbuzz/harfbuzz/issues/5408
|
|
64ebfa04
|
2025-07-24T17:20:45
|
|
Fix unary minus operator applied to unsigned type, result still unsigned
|
|
b7d5dc85
|
2025-07-24T00:24:48
|
|
[kbts] Grow buffer exponentially
See comment.
|
|
be585dfc
|
2025-07-24T00:08:57
|
|
[kbts] Don't clear contents
That was resetting props to invalid. We shouldn't touch props.
|
|
926ad165
|
2025-07-23T23:53:50
|
|
[kbts] Handle a malloc fail
|
|
a98d08a8
|
2025-07-23T23:48:47
|
|
[kbts] Fix a compiler warning
|
|
70e587de
|
2025-07-23T23:36:13
|
|
[kbts] Clean up font initialization
|
|
41b89ee8
|
2025-07-23T20:19:57
|
|
[kbts] Streamline buffer management
|
|
b3258808
|
2025-07-23T20:00:41
|
|
[rust] Remove Cargo.lock
As per recommendations. I hope this is what they meant.
|
|
f5acbb5c
|
2025-07-23T17:48:13
|
|
[VARC] Fix HB_NO_DRAW build
|
|
64b50ec4
|
2025-07-23T17:40:12
|
|
[config] Kill HB_NO_BORING_EXPANSION
As features graduate from it and become part of the standard / default,
one tag doesn't do us any good. Features should be disabled
individually, like using HB_NO_VAR_COMPOSITES.
|
|
7a708a93
|
2025-07-23T17:36:54
|
|
[VARC] Graduate out of experimental
|
|
fc671f0e
|
2025-07-23T17:12:31
|
|
[kb] Clear buffer out flags and stuff
|
|
8c79e4f8
|
2025-07-23T22:26:17
|
|
[repacker] Add batch version of move_child().
Move child is O(n) where n = number of links on the parent object. The batch version is also O(n). Use this in ligature splitting clone range to avoid O(n^2) behaviour.
|
|
38181c3f
|
2025-07-23T21:45:06
|
|
[repacker] cache liga index to object id maps between clone_range calls.
|
|
1caab75b
|
2025-07-23T21:14:20
|
|
[repacker] fix O(n^2) behaviour in LigatureSubstFormat1::clone_range.
|
|
ee4a7a32
|
2025-07-23T21:05:23
|
|
[repacker] fix O(n^2) in LigatureSubstFormat1::shrink.
|
|
870b37ba
|
2025-07-23T20:57:09
|
|
[repacker] optimize ligature splitting implementation.
Eliminate O(n^2) behaviour in compute_split_points().
|
|
a2b85859
|
2025-07-23T15:32:33
|
|
[kbts] Fix Indic stuff
We were trying with 'dev3' tag and failing, as kbts only undersetands
'dev2' tags. Try all and stop at first accepted.
|
|
dd347eb4
|
2025-07-23T19:22:19
|
|
[VARC] fix potential unitialized value use in get_extents_without_var_scaled.
Callers of get_extents_without_var_scaled assume it will set extents if it has returned true.
|
|
4b00cec0
|
2025-07-15T11:25:49
|
|
[subset] bug fix for COLRv1 layer index closure
|
|
04d60de6
|
2025-07-23T18:55:56
|
|
[CFF2] Fix fuzzer failure in CFF2.
Fixes https://oss-fuzz.com/testcase-detail/5291661985120256
|
|
1e7b99c5
|
2025-07-23T15:30:02
|
|
[kbts] Support features
Probably does too many reallocations, but it works.
|
|
7d219f0b
|
2025-07-23T14:22:32
|
|
[kbts] Add shaper
|
|
bb3a8394
|
2025-07-23T11:07:12
|
|
[kbts] Add dummy shaper
Just the infrastructure to build the shaper.
|
|
3a64fce9
|
2025-07-23T00:29:55
|
|
Merge branch 'main' into HVF
|
|
f63d960c
|
2025-07-22T16:59:48
|
|
Fix a MSVC warning re __has_builtin
Fixes https://github.com/harfbuzz/harfbuzz/issues/5395
|