|
41b89ee8
|
2025-07-23T20:19:57
|
|
[kbts] Streamline buffer management
|
|
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
|
|
d7e0a6d5
|
2025-07-22T21:18:15
|
|
const up thai_below_start_state
|
|
de2efbf3
|
2025-07-21T22:40:57
|
|
[glyf] Another OOM fix
|
|
c0052d17
|
2025-07-21T19:19:05
|
|
[ot-font] Handle scratch alloc failures
Might fix https://issues.oss-fuzz.com/issues/433311403
|
|
4e3df1c1
|
2025-07-20T17:47:20
|
|
11.3.2
|
|
8991fa7a
|
2025-07-20T18:12:25
|
|
[rust] Roll forward
Give clippy more time.
|
|
b6552d7e
|
2025-07-21T08:44:24
|
|
Corrected syntax
|
|
95a15d53
|
2025-07-20T14:15:02
|
|
11.3.1
|
|
166e7024
|
2025-07-20T13:57:33
|
|
[font] Fix glyph_v_origin copy/pasta
Ouch!
|
|
30e7af11
|
2025-07-20T21:40:37
|
|
11.3.0
|
|
639adcf2
|
2025-07-20T21:08:56
|
|
Fix missing REPLACEME version numbers from 11.2.0 release
|
|
fc86cd92
|
2025-07-20T10:39:29
|
|
[DeltaIndexMap] Add a HB_HOT
|
|
4fd6345a
|
2025-07-19T14:42:40
|
|
[ot-font] Clean up cache invalidation
Also, cache is_synthetic on font.
|
|
aee066bc
|
2025-07-19T14:21:17
|
|
[ot-font] Fix v-origins caching
Negative numbers don't fit in the cache...
|
|
8d87e3af
|
2025-07-19T14:16:03
|
|
[font] Typo in glyph_v_origins impl
|
|
6bf2292d
|
2025-07-19T07:16:57
|
|
[ot-font] Comment
|
|
abcefb69
|
2025-07-19T06:57:03
|
|
[glyf] Remove dead code
|
|
d95faf90
|
2025-07-19T06:41:13
|
|
[ot-font] Cosmetic
|
|
7a41150f
|
2025-07-19T06:36:13
|
|
[ot-font] Use glyf scratch in v-advances
|
|
ecc5c488
|
2025-07-19T06:30:02
|
|
[ot-font] Release v-origins caches
|
|
a40f85af
|
2025-07-19T06:18:06
|
|
[font] Acquire a scratch for v-origins
Still too slow.
|
|
76357479
|
2025-07-19T06:15:29
|
|
[glyf] Non-var-optimize a method
|
|
0dc5f8a2
|
2025-07-19T06:07:37
|
|
[ot-font] Finish caching of v-origins
On to benchmarking...
|
|
e697e4d3
|
2025-07-19T05:48:08
|
|
[ot-font] More baby steps towards caching v-origins
|
|
9cd9057a
|
2025-07-19T05:28:48
|
|
[ot-font] More baby steps towards caching v-origins
|
|
df6c76dc
|
2025-07-19T04:46:59
|
|
[ot-font] Baby steps re glyph-v-origins batching
|
|
486eb914
|
2025-07-19T04:36:14
|
|
[ot-font] Baby steps re batching glyph-v-origins
|
|
ebc61ec4
|
2025-07-19T04:33:35
|
|
[ot-font] Slow massaging of glyph-v-origins
|
|
da18bc05
|
2025-07-19T04:25:37
|
|
[docs] Fix build
|
|
1f6fe465
|
2025-07-19T04:24:27
|
|
[ot-font] Switch to plural glyph-v-origins
Still calls the singular slow version.
|
|
faa4472d
|
2025-07-19T03:12:19
|
|
[ot-shape] Use batch origin-changing callbacks
Backends don't implement it yet.
|
|
6eeb012e
|
2025-07-19T02:54:09
|
|
[font] Don't set origin values if returning false
|
|
7d3f8ced
|
2025-07-19T02:53:03
|
|
[font] Minor refactor
|
|
1835c088
|
2025-07-19T02:25:43
|
|
[font] Add get_glyph_[hv]_origins callbacks (plural)
Unused so far, and unimplemented in backends.
|
|
afe6661b
|
2025-07-18T22:33:26
|
|
[docs] All callbacks return in scaled units
"font units" is confusing in the context of scaled fonts.
|
|
ce4a0a3d
|
2025-07-18T00:13:31
|
|
[ot-font] Fix unused-label error...
|
|
fdf4c759
|
2025-07-17T23:40:41
|
|
[hmtx] Simplify get-leading code
Can't return false. The false was being used before to mean
"table not present". Handle that instead.
|
|
b359c83c
|
2025-07-17T23:27:27
|
|
[ot-font] Rewrite h/v-advance code
Faster, better cached...
24% faster across the benchmarks for hmtx-only path.
Comparing before to after
Benchmark Time CPU Time Old Time New CPU Old CPU New
------------------------------------------------------------------------------------------------------------------------------------------------------------
BM_Font/glyph_h_advances/Roboto-Regular.ttf/ot -0.2410 -0.2411 2 1 2 1
BM_Font/glyph_h_advances/RobotoFlex-Variable.ttf/ot -0.2482 -0.2484 1 1 1 1
BM_Font/glyph_h_advances/RobotoFlex-Variable.ttf/var/ot -0.0296 -0.0296 48 47 48 47
BM_Font/glyph_h_advances/SourceSansPro-Regular.otf/ot -0.2412 -0.2416 2 2 2 2
BM_Font/glyph_h_advances/SourceSansPro-Regular.otf/var/ot -0.2381 -0.2384 2 2 2 2
BM_Font/glyph_h_advances/AdobeVFPrototype.otf/ot -0.2347 -0.2349 0 0 0 0
BM_Font/glyph_h_advances/AdobeVFPrototype.otf/var/ot -0.0343 -0.0346 2 2 2 2
BM_Font/glyph_h_advances/SourceSerifVariable-Roman.ttf/ot -0.2623 -0.2621 2 1 2 1
BM_Font/glyph_h_advances/SourceSerifVariable-Roman.ttf/var/ot -0.0388 -0.0401 24 23 24 23
BM_Font/glyph_h_advances/Comfortaa-Regular-new.ttf/ot -0.2396 -0.2394 1 1 1 1
BM_Font/glyph_h_advances/NotoNastaliqUrdu-Regular.ttf/ot -0.2344 -0.2346 2 1 2 1
BM_Font/glyph_h_advances/NotoSerifMyanmar-Regular.otf/ot -0.2366 -0.2367 1 1 1 1
OVERALL_GEOMEAN -0.1945 -0.1948 0 0 0 0
|
|
e0a06c94
|
2025-07-20T07:01:32
|
|
[algs] Mark bsearch as hot
Doesn't make a difference in the generated code though.
|
|
56f888ce
|
2025-07-20T06:58:36
|
|
[cache] Mark get/set as hot
|
|
4214bfef
|
2025-07-20T06:55:56
|
|
[cache] Simplify return
|
|
bc51ad67
|
2025-07-20T02:58:47
|
|
[DeltaIndexMap] Micro-optimize
|
|
a6f20aa4
|
2025-07-20T02:43:54
|
|
[VarData] Optimize get_delta if column-count is zero
This is common in certain workloads.
|
|
fd2c0469
|
2025-07-20T02:35:39
|
|
[ot-font] Minor, call methods directly
|
|
307a19f2
|
2025-07-20T00:32:45
|
|
[glyf] Minor micro-optimize
|
|
0ce2b74f
|
2025-07-19T20:45:50
|
|
[gvar] Don't store deltas not needed
For phantoms-only case. 30% speedup on v-advances func's slowest
codepath (using phantom-points).
|
|
fed65c8b
|
2025-07-19T15:35:20
|
|
[ot-font] Mark a function hot
|
|
57083f26
|
2025-07-19T15:23:33
|
|
[ot-font] Use varStore-cache for VORG VVAR in v-origins
|
|
8a7b9cf2
|
2025-07-19T15:17:08
|
|
[hvar] Remove dead code
|
|
f2a3ca72
|
2025-07-19T15:10:42
|
|
[ot-font] Speed up VORG codepath in v-origins
|
|
62546424
|
2025-07-19T14:44:00
|
|
[font] Speed up non-synthetic v-origins
|
|
d47a319b
|
2025-07-15T12:08:00
|
|
[rust] Roll deps forward
Adjust tests. See:
https://github.com/harfbuzz/harfbuzz/issues/5388
|
|
3d154bc6
|
2025-07-14T13:53:27
|
|
[buffer-message] Fix potential buffer overflow...
...when buffer messaging is enabled and with malicious font.
Fixes https://github.com/harfbuzz/harfbuzz/security/advisories/GHSA-p965-5rr7-9mhq
|
|
5dbb8141
|
2025-07-11T08:58:01
|
|
[subset] AnchorFormat3: better check for when should downgrade to format1
|
|
1a804b0f
|
2025-07-13T20:40:53
|
|
const up modifier_combining_marks
and supported_face_loaders, etc.
move these symbols out of the .data section
|
|
a81e73a7
|
2025-07-11T23:56:53
|
|
Merge pull request #5385 from harfbuzz/fontations-names
[fontations] Cache glyph_from_names hashmap on the face
|
|
57f02dd2
|
2025-07-11T00:30:07
|
|
[fontations] Cache glyph_from_names hashmap on the face
Fixes https://github.com/harfbuzz/harfbuzz/issues/5384
|
|
e81efe3a
|
2025-07-11T01:40:23
|
|
[glyf] Add TODO
|
|
0855d33a
|
2025-07-11T01:00:43
|
|
Merge branch 'main' into HVF
|
|
deb60ecf
|
2025-07-11T00:30:07
|
|
[fontations] Cache glyph_from_names hashmap on the face
Fixes https://github.com/harfbuzz/harfbuzz/issues/5384
|
|
6ed598e1
|
2025-07-10T13:03:44
|
|
Merge pull request #5382 from harfbuzz/lig_split
[repacker] Implement table splitting for LigatureSubst
|
|
95dc1109
|
2025-07-10T09:52:07
|
|
[subset] bug fix
Don't downgrade to format1 when subsetting
|
|
2dfaf2a2
|
2025-07-10T01:00:20
|
|
[repacker] fix imports.
|
|
e50d16f6
|
2025-07-09T23:48:45
|
|
[repacker] During liga splitting re-use orphaned liga sets.
|
|
cad41886
|
2025-07-09T17:09:05
|
|
[repacker] fix bug where nodes with incoming virtual links could get orphaned.
When attempting to fix overflows nodes that have incoming edges from more than one parent can be duplicated. However, if all of these incoming links are virtual except for one duplicating it will effectively orphan it (one of the copies will be pointed to only by virtual links). Since parent book keeping is expensive we don't want to separately track virtual/real parents so instead just don't duplicate nodes that have at least one incoming virtual link.
|
|
614cf096
|
2025-07-08T18:01:14
|
|
Merge branch 'main' into HVF
|
|
3c819450
|
2025-07-08T18:00:35
|
|
Comments
|
|
f5279200
|
2025-07-08T22:46:33
|
|
[repacker] Add test which hits the move liga set pathway in clone_range().
|
|
18c67b77
|
2025-07-08T22:05:39
|
|
[repacker] store liga counts before processing.
Otherwise processing changes the counts when we need them later on.
|
|
4fa5788c
|
2025-07-08T21:29:48
|
|
[repacker] fix bug with original count in liga splitting.
|
|
96fedd88
|
2025-07-08T01:14:14
|
|
[repacker] Fix handling of virtual links in liga table splitting.
|
|
5b47710f
|
2025-07-07T20:15:30
|
|
[repacker] Start implementing test for liga splitting.
|
|
38ab13c6
|
2025-07-04T22:31:04
|
|
[repacker] add support for splitting GSUB Ligature lookups.
|
|
af1b9acc
|
2025-07-02T16:55:48
|
|
[glib] Drop fallback code for versions we don’t support
We require Glib 2.30.0, so drop checks for older versions.
|
|
48bc5a17
|
2025-06-24T23:02:00
|
|
[face-builder] Remove a redundant check
Fixes https://github.com/harfbuzz/harfbuzz/issues/5371
|
|
567a0307
|
2025-06-13T10:39:37
|
|
dwrite: Implement hb_face_reference_blob()
|
|
e970f702
|
2025-06-13T17:51:24
|
|
[harfruzz] Round towards negative infinity
|
|
64bcc95c
|
2025-06-12T10:08:20
|
|
Comment
|
|
1eca1f31
|
2025-06-12T09:20:33
|
|
[HVF] Fix drawing
|
|
12475fc9
|
2025-06-11T16:33:15
|
|
Merge branch 'main' into HVF
|
|
5060ccf4
|
2025-06-11T16:01:54
|
|
[rust] Ignore one more compiler symbol
|
|
2617e89d
|
2025-06-11T15:52:47
|
|
[rust] Finish renaming HarfRuzz to HarfRust
|