Commit graph

18056 commits

Author SHA1 Message Date
Behdad Esfahbod
8226f597ac [decycler] Add a couple more tests 2025-02-28 13:49:44 -07:00
Behdad Esfahbod
64dbeaf0f4 [glyf] Mover decycler to the scratch pad 2025-02-28 01:13:25 -07:00
Behdad Esfahbod
d59d435ec6 [decycler] Comments 2025-02-27 22:41:03 -07:00
Behdad Esfahbod
cb781f53aa [BASE] Fix a TODO item 2025-02-27 10:15:22 -07:00
Khaled Hosny
1a759886d9 Improve GitHub Actions badges [ci skip] 2025-02-27 15:45:28 +02:00
Khaled Hosny
527a209674 Remove Codacy badge [ci skip]
It takes long time on PRs and no one actually looks into its reports.
The service has just been disabled and the badge is a dead link now.
2025-02-27 15:31:56 +02:00
Behdad Esfahbod
4be765c083 Fix config build 2025-02-27 02:26:08 -07:00
Behdad Esfahbod
4a43373aec [MultiVarData] Unroll another loop 2025-02-26 17:24:28 -07:00
Behdad Esfahbod
00541f1952
Merge pull request #4970 from harfbuzz/GVAR
Add `GVAR` table
2025-02-26 16:22:48 -07:00
Behdad Esfahbod
a0543453de [CBDT] Change has_data() to be more accurate
get_length() was returning the Null table length if table
was not present.
2025-02-26 15:36:03 -07:00
Behdad Esfahbod
7504c67fb7 [CBDT] Return immediately if no data 2025-02-26 15:24:40 -07:00
Behdad Esfahbod
44b7ba51a3 [GVAR] Hide behind HB_NO_BEYOND_64K 2025-02-26 14:21:15 -07:00
Behdad Esfahbod
13900ce40d [GVAR] Hook up to face and glyf table 2025-02-26 14:21:15 -07:00
Behdad Esfahbod
ffe955b9f9 [GVAR] Change offsetToData size to 24bit
As per https://github.com/harfbuzz/boring-expansion-spec/issues/162
2025-02-26 14:21:15 -07:00
Behdad Esfahbod
894fee6db3 [GVAR] Implement table
Unused. It's just like `gvar` but with 24bit glyphCount.
2025-02-26 14:21:15 -07:00
Behdad Esfahbod
4d3642c188 [face] Fix a malloc fail infinite-loop error 2025-02-26 14:20:45 -07:00
Behdad Esfahbod
6fbd6bb34e [face] Avoid infinite-loop in building a face blob 2025-02-26 14:06:35 -07:00
Behdad Esfahbod
6a7b4dcae6 [VARC] Reduce stack usage on 32bit systems 2025-02-26 13:25:50 -07:00
Behdad Esfahbod
84ffb7e477 [SimpleGlyph] Minor use an intermediate variable 2025-02-26 12:53:58 -07:00
Behdad Esfahbod
54db2b2ed6 [SimpleGlyph] Remove a conditional from hot path
5% speedup in Roboto-Regular draw benchmark
2025-02-26 12:53:52 -07:00
Behdad Esfahbod
bb4d37b052 [VARC/coord-setter] Reduce stack allocation on 32bit systems 2025-02-26 12:17:27 -07:00
Behdad Esfahbod
51d3489ca1 [Composite] Fix memory-free rendering 2025-02-26 12:09:31 -07:00
Behdad Esfahbod
a037d3815f [vector] Fix operator = 2025-02-26 12:05:12 -07:00
Behdad Esfahbod
59e6a1c477 [glyf/Composite] Malloc-free 2025-02-26 11:34:04 -07:00
Behdad Esfahbod
3c4cb472d1 [VARC] Fix uninitialized value
Fixes https://oss-fuzz.com/testcase-detail/6089638800588800
2025-02-26 10:48:36 -07:00
Behdad Esfahbod
fcbf14a0e5 [CompositeGlyph] Adjust pre-allocation 2025-02-25 20:16:18 -07:00
Behdad Esfahbod
6ca8852eff [glyf] Return earlier if table is empty 2025-02-25 19:57:43 -07:00
Behdad Esfahbod
0cd98ebbf7 [vector] Add a missing fast-path 2025-02-25 18:53:04 -07:00
Behdad Esfahbod
41626401b0 [vector] Add faster extend() for array types 2025-02-25 18:48:34 -07:00
Behdad Esfahbod
aaf5c06d62 [vector] Rewrite copy_array() to extend vector 2025-02-25 18:45:38 -07:00
Behdad Esfahbod
40c77a1c5a Remove a redundant method 2025-02-25 18:37:20 -07:00
Behdad Esfahbod
81339256da [gvar] Rename two variables 2025-02-25 18:02:26 -07:00
Behdad Esfahbod
87830b62c6 [gvar] Remove unused method 2025-02-25 18:02:26 -07:00
Behdad Esfahbod
7614320a13 [glyf] Reduce malloc pressure
Benchmark 15% faster for draw.
2025-02-25 16:59:37 -07:00
Behdad Esfahbod
882d328839 [glyf] Port to decycler for composite glyphs
5% speed up drawing Roboto-Regular.ttf.
2025-02-25 16:35:32 -07:00
Behdad Esfahbod
ffee85d67f [VARC] Minor simplify pointer math 2025-02-25 16:20:42 -07:00
Behdad Esfahbod
dcb80ecbd9 [gvar] Use a method 2025-02-25 15:58:37 -07:00
Behdad Esfahbod
23937e8cd5 [gvar] Combine two loops 2025-02-25 15:48:23 -07:00
Behdad Esfahbod
9b451f2055 [gvar] Minor remove a variable 2025-02-25 15:16:09 -07:00
Behdad Esfahbod
7222c1e50f [path-builder] Add a constexpr 2025-02-25 15:13:20 -07:00
Behdad Esfahbod
e450552d07 [coord-setter] Fix memory access in case of malloc failure
Fixes https://oss-fuzz.com/testcase-detail/5383702943432704
2025-02-25 14:54:37 -07:00
Behdad Esfahbod
b12612f525 Fix compiler warnings 2025-02-25 13:47:06 -07:00
Behdad Esfahbod
8280ef7d93
Merge pull request #5089 from harfbuzz/vector-explicit
[vector] Disallow accidental creation of transient vectors
2025-02-25 12:18:43 -07:00
Garret Rieger
ea1434b897 Split iup glyf partial instance tests into a separate set which ignores due to IUP rounding differences fonttools. 2025-02-25 19:02:11 +00:00
Behdad Esfahbod
aaecaa4c0e [vector] Disallow accidental creation of transient vectors
Fix sites that were doing this under our feet.

This lowers precision of some instancing operations from double
to float, which modifies a few results by rounding error.

TODO: Update tests.
2025-02-25 19:02:11 +00:00
Behdad Esfahbod
f71faf5fec [VARC] Fix buffer scratch borrowing 2025-02-25 11:35:21 -07:00
Behdad Esfahbod
e76b689fe1 [VARC] Fix resource leak 2025-02-25 11:23:48 -07:00
Behdad Esfahbod
827be1b23c Revert "[MultiVarStore] Micro-optimize"
This reverts commit 13d98f1ded.

This broke bots. I don't fully understand why tests pass locally.
2025-02-25 10:23:10 -07:00
Behdad Esfahbod
13d98f1ded [MultiVarStore] Micro-optimize 2025-02-25 01:40:19 -07:00
Behdad Esfahbod
9a0cf8d641 [test/subset/cff-japanese] Shrink test
Was taking too long.
2025-02-25 00:19:25 -07:00