|
dd291f48
|
2025-09-07T23:46:27
|
|
Short-circuit ASCII more (#5528)
|
|
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)
|
|
77d07304
|
2025-09-02T14:40:51
|
|
[subset] fix HVAR encoding width (#5523)
|
|
12ec6682
|
2025-09-02T14:21:57
|
|
[buffer] Micro-optimize set_masks
Somehow this specialization loop was in HarfRust / RustyBuzz.
|
|
598da8c8
|
2025-09-02T14:21:08
|
|
[buffer] Add some buffer op accounting to a few methods (#5522)
Should fix a fuzzer-found issue, now that we have increased
most buffer limits.
|
|
a89c36e0
|
2025-09-02T13:05:11
|
|
[GPOS/kerx] Support attaching marks to bases after them (#5520)
See comments. Fuzzer found. I'm surprised this was not discovered
before though. I hope I have not missed anything.
Fixes https://oss-fuzz.com/testcase-detail/6399443634290688
|
|
22f77d48
|
2025-08-30T11:39:01
|
|
11.4.5
|
|
6d1c70bf
|
2025-08-29T17:09:00
|
|
Remove unused code
|
|
01072c5c
|
2025-08-29T13:19:59
|
|
[harfrust] Require 0.2.0
|
|
c61a4f26
|
2025-08-29T02:11:52
|
|
[GPOS] Micro-optimize offset propagation
|
|
cb8b47eb
|
2025-08-29T00:08:28
|
|
[kern] Use reset_fast
|
|
772279df
|
2025-08-28T15:58:39
|
|
[utf] inline some
|
|
c6e3f5a8
|
2025-08-27T16:41:25
|
|
[aat] Reverse buffer only when necessary (#5516)
|
|
141df8b9
|
2025-08-27T16:09:35
|
|
[buffer] Adjust inlining
|
|
ff8d8e44
|
2025-08-27T15:36:48
|
|
Fixup
|
|
1091b8a9
|
2025-08-27T15:35:26
|
|
[shape-fallback] Adjust inlining
|
|
bc6eba94
|
2025-08-27T13:29:15
|
|
Fix kerx attachment shaping issues (#5515)
* [ot-shape] Don't zero offsets of default-ignorables
Part of fixing https://github.com/harfbuzz/harfbuzz/issues/5514
* [ot-shape] Propagate chain offsets in opposite direction if RTL
Part of fixing https://github.com/harfbuzz/harfbuzz/issues/5514
|
|
7d936359
|
2025-08-26T01:46:34
|
|
[aat] Clear cached buffer glyph set (#5508)
Ouch.
|
|
12b0f086
|
2025-08-26T01:29:50
|
|
[morx] Move a few initializations later (#5507)
|
|
8e2e18fe
|
2025-08-25T23:55:30
|
|
[aat] Rename a few members (#5506)
|
|
653b7722
|
2025-08-25T20:15:43
|
|
[kern] Simplify Format3 collect_glyphs() (#5505)
No idea why I wrote it that way initially.
|
|
1e5b65b7
|
2025-08-25T19:55:13
|
|
[aat] Remove unused code (#5504)
|
|
8f4778d2
|
2025-08-25T19:49:48
|
|
[aat] Implement collect_glyphs_filtered for LookupFormat10 (#5503)
Oops.
|
|
3420ef02
|
2025-08-26T00:57:35
|
|
11.4.4
|
|
b7c55efe
|
2025-08-26T00:28:12
|
|
[subset] Fix shaping behaviour when pruning empty mark sets
See https://github.com/harfbuzz/harfbuzz/issues/5499
|
|
6b62d367
|
2025-08-25T14:02:59
|
|
[ligature-cache] Handle case of ligature with no components (#5500)
In the cache with "seconds" set-digest.
|
|
724ae78d
|
2025-08-25T13:14:43
|
|
Revert "[check-glyph-properties] Cache current lookup-prop's matching result." (#5497)
This reverts commit 5b6836e10802266b4c216208e517d617c0a75693.
This broke some shaping, namely, "j̣̈́J̣J̈́" with Google Sans, and is quite
tricky to debug. Since this slowed down everything other than Duployan,
and we also decided NOT to port it to HarfRust, just revert and keep the
simpler and more reasonable code logic.
|
|
567dde62
|
2025-08-25T17:50:54
|
|
[coretext] fix unsigned integer comparison (#5496)
Comparing a CFIndex with an unsigned int results in a compilation error on iOS armv7 targets:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.4.sdk -Isrc/libharfbuzz.a.p -Isrc -I../src -I. -I.. -I/Volumes/External/videolanci/builds/vCi6yJP3/0/robUx4/vlc/contrib/armv7-iphoneos/include/freetype2 -I/Volumes/External/videolanci/builds/vCi6yJP3/0/robUx4/vlc/contrib/armv7-iphoneos/include -fdiagnostics-color=always -Wall -Winvalid-pch -std=c++11 -fno-exceptions -O2 -g -fno-exceptions -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -DHAVE_CONFIG_H -mios-version-min=9.0 -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.4.sdk -Werror=partial-availability -fno-stack-check -g -O2 -MD -MQ src/libharfbuzz.a.p/hb-coretext-font.cc.o -MF src/libharfbuzz.a.p/hb-coretext-font.cc.o.d -o src/libharfbuzz.a.p/hb-coretext-font.cc.o -c ../src/hb-coretext-font.cc
../src/hb-coretext-font.cc:413:11: error: comparison of integers of different signs: 'CFIndex' (aka 'long') and 'unsigned int' [-Werror,-Wsign-compare]
if (len > size - 1)
~~~ ^ ~~~~~~~~
1 error generated.
|
|
029eb215
|
2025-08-23T18:43:50
|
|
[harfrust] Encode pre-context in the correct order (#5495)
https://github.com/harfbuzz/harfrust/issues/205
|
|
9ac9af25
|
2025-08-23T11:48:18
|
|
11.4.3
|
|
04953dca
|
2025-08-21T23:00:37
|
|
[vector] Enable set_storage only on trivial types (#5493)
|
|
7ba05752
|
2025-08-21T19:38:10
|
|
[harfrust] Fix compile with clang
|
|
5fddacc1
|
2025-08-21T12:54:49
|
|
[harfrust] Set buffer pre/post-context (#5492)
* [harfrust] Set buffer pre/post-context
Fixes the failing item-context tests. Yay.
* Bump MSRV
|
|
e80b6d11
|
2025-08-21T19:24:35
|
|
[ot-math] Fix constant scaling when checking if the font is Cambria Math (#5490)
Co-authored-by: Khaled Hosny <khaled@aliftype.com>
|
|
c1a75d36
|
2025-08-21T17:38:04
|
|
Avoid UB if shrink_vector(0) is called on an already-empty vector (#5491)
Fixes #5489
|
|
6c42e2d7
|
2025-08-21T00:04:56
|
|
[buffer] Consume ops in shift_forward (#5488)
Makes failing infinite-recursion fonts and stuff much faster.
|
|
6b754c33
|
2025-08-21T08:40:14
|
|
11.4.2
|
|
b51de936
|
2025-08-20T23:15:46
|
|
Remove duplicate buffer->leave call (#5487)
* Remove duplicate buffer->leave call
hb-shape.cc does it for us.
* Fail shaping if max len reached
* Increase buffer limits
https://github.com/harfbuzz/harfrust/issues/107
* Remove shaping_failed; fail in buffer.successful
|
|
b790eb9e
|
2025-08-20T19:11:54
|
|
[gen-use-table] Generate --rust output
Used for HarfRust.
|
|
14227e16
|
2025-08-20T19:07:51
|
|
Update use (#5486)
* [use-table] Regenerate with latest packtab
* [gen-use-table] Remove unused code
Copied from gen-indic-table.
|
|
00492ec7
|
2025-08-20T13:48:11
|
|
[harfrust] Pin to 0.1.2 for relase
|
|
c32ea553
|
2025-08-20T13:15:58
|
|
[avar] Fix version2 handling (#5485)
|
|
724249ff
|
2025-08-20T00:54:05
|
|
Simplify a return after recent changes (#5484)
|
|
8bdedb3b
|
2025-08-20T00:27:41
|
|
Limit external caches (#5483)
* Revert "[external_cache] Remove a conditional (#5471)"
This reverts commit 9794ad9e00ff66741c36ec9511e3e968663b74a7.
* Limit external_cache to 8 subtables per lookup
|
|
22545743
|
2025-08-20T00:06:00
|
|
Match positions no malloc (#5481)
* Reduce allocation of match_positions by caching one in ctx
* Use a stack-array for small match-positions
This surgically enables stack-backed storage in vector.
* Handle match-positions alloc failure
And make allocations unchecked.
* Clean up CFF hack to use static storage in vector
* Fixup for match_positions allocations
* Fix vector handling of foreign arrays memory management
|
|
6a449756
|
2025-08-18T18:52:02
|
|
[aat] Comment
|
|
04f1a435
|
2025-08-18T16:57:46
|
|
Add a typedef
|
|
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
|
|
7b56d3a1
|
2025-07-26T05:35:57
|
|
[ot-layout] s/hb_ot_lookup_cache_t/hb_ot_layout_mapping_cache_t/g
|
|
09978fc5
|
2025-07-26T04:20:59
|
|
[ot] Rename hb_ot_lookup_cache_op_t, and cache to subtable_cache
|