|
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
|
|
ff46559b
|
2025-07-24T00:34:37
|
|
[benchmark-shape] Massage message again
|
|
5991cb3d
|
2025-07-24T00:30:06
|
|
[benchmark-shape] Change message
|
|
0a7a760a
|
2025-07-24T00:28:51
|
|
[benchmark-shape] Skip shaper if shaping failed
|
|
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.
|
|
3750c0e9
|
2025-07-23T23:55:44
|
|
Merge pull request #5407 from harfbuzz/kbts-touchup
[kbts] Clean up font initialization
|
|
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
|
|
112f0e0e
|
2025-07-23T23:11:18
|
|
Merge pull request #5406 from harfbuzz/kbts-buffer
[kbts] Streamline buffer management
|
|
41b89ee8
|
2025-07-23T20:19:57
|
|
[kbts] Streamline buffer management
|
|
04010aad
|
2025-07-23T18:18:45
|
|
Merge pull request #5403 from harfbuzz/VARC-enabled
[VARC] Graduate out of experimental
|
|
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
|
|
0c3606b5
|
2025-07-23T17:06:50
|
|
[benchmark-font] Respect HB_BENCHMARK_TEXT
|
|
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.
|
|
fa082b25
|
2025-07-23T15:17:48
|
|
[benchmark-shape] Warm up the font / buffer first
|
|
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
|
|
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.
|
|
ad7d4367
|
2025-07-23T19:31:45
|
|
[ci/linux] Enable kbts shaper
|
|
16fe5422
|
2025-07-23T16:03:18
|
|
[kbts] Add some tests
|
|
1e7b99c5
|
2025-07-23T15:30:02
|
|
[kbts] Support features
Probably does too many reallocations, but it works.
|
|
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
|
|
c5047aa8
|
2025-07-22T11:18:48
|
|
[README] Use https link [ci skip]
|
|
75bb916b
|
2025-07-21T22:49:03
|
|
[README] Update dead link
|
|
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
|
|
03387e3f
|
2025-07-21T09:16:07
|
|
[RELEASING] Update a bit
|
|
2213eaaf
|
2025-07-21T08:17:12
|
|
[ci/crossbuild-mingw] Try to fix publishing binaries
Remrove the verbose ls -R command that fails the build.
|
|
4e3df1c1
|
2025-07-20T17:47:20
|
|
11.3.2
|
|
8991fa7a
|
2025-07-20T18:12:25
|
|
[rust] Roll forward
Give clippy more time.
|
|
503ab00e
|
2025-07-20T16:51:10
|
|
Merge pull request #5394 from radarhere/patch-1
Corrected syntax
|
|
b6552d7e
|
2025-07-21T08:44:24
|
|
Corrected syntax
|
|
46aff9de
|
2025-07-20T15:50:28
|
|
[RELEASING] Minor wording
|
|
95a15d53
|
2025-07-20T14:15:02
|
|
11.3.1
|
|
2fa175ec
|
2025-07-20T14:14:35
|
|
[test] Fix compiler warning
|
|
166e7024
|
2025-07-20T13:57:33
|
|
[font] Fix glyph_v_origin copy/pasta
Ouch!
|
|
56ca4d1a
|
2025-07-20T21:57:42
|
|
[ci/crossbuild-mingw] Run on tag pushes as well
We need it to upload Windows binaries.
|
|
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
|
|
93b8f96c
|
2025-07-20T20:31:36
|
|
[ci/linux] Create new release as a draft.
|
|
42d1aa8c
|
2025-07-20T20:37:16
|
|
[ci/linux] Simplify new release creation
We don’t put release notes in tag message body, so no point in trying to
extract something from it.
|
|
e6ae6db1
|
2025-07-20T20:29:02
|
|
[ci/linux] Enable write permission
This is needed to create new releases.
|
|
54d4a5a8
|
2025-07-20T20:17:46
|
|
[ci/linux] Remove unnecessary and verbose step from release upload
No need to list the files or extract anything.
|
|
b63da39c
|
2025-07-20T20:07:30
|
|
[ci] Don’t run rust workflow on tag pushs
Only the linux workflow needs to run for tags, as it is where we upload
the releases.
|
|
fc86cd92
|
2025-07-20T10:39:29
|
|
[DeltaIndexMap] Add a HB_HOT
|
|
4a497554
|
2025-07-20T10:08:25
|
|
Merge pull request #5392 from harfbuzz/v-origin-cleanup
[ot-font] advances and v-origin cleanup
|
|
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
|
|
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
|
|
b3765e7c
|
2025-07-19T07:13:41
|
|
[benchmark-font] Call the plural glyph-v-origins API
Ouch!
|
|
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
|
|
cbc928fa
|
2025-07-19T06:29:38
|
|
[benchmark-font] malloc hygiene
|
|
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
|