Behdad Esfahbod
a960571f24
[glyf] Comments
2023-04-21 16:45:08 -06:00
Behdad Esfahbod
2b042cc5c6
[VarComposite] Implement trim_padding()
2023-04-21 16:43:47 -06:00
Qunxin Liu
591c9460dc
[instancer] compile composite glyphs directly with shifted component
...
points instead of deltas
2023-04-21 15:47:26 -06:00
Behdad Esfahbod
3520f528aa
[CompositeGlyph] Apply gvar deltas with component transform
...
This was being done wrong for one of the scaled_offsets() cases.
2023-04-21 15:46:36 -06:00
Behdad Esfahbod
33972b3bf6
[glyf] Increase CompositeGlyf memory allocation
...
The 50% wasn't justified by logic.
2023-04-21 12:37:51 -06:00
Behdad Esfahbod
290cef39be
[glyf] When instancing, just spew empty VarComposites
...
Before we were dropping the entire glyf table.
2023-04-21 12:22:30 -06:00
Behdad Esfahbod
d1f49ba6d2
[VarComposites] More ifdef guards
2023-04-20 18:17:14 -06:00
Behdad Esfahbod
f2d21425a3
[VarC/subset] Support subsetting VarComposites
...
By renumbering components.
2023-04-20 17:32:59 -06:00
Behdad Esfahbod
15d0a1dcfd
[glyf] TODO
2023-04-20 17:28:10 -06:00
Behdad Esfahbod
85d0c3b5f1
[glyf] Comment
2023-04-20 17:17:28 -06:00
Behdad Esfahbod
5d74b42b9e
[glyf] Change variable name
2023-04-20 17:15:57 -06:00
Behdad Esfahbod
c997e490c7
Remove unnecessary return
2023-04-20 17:02:38 -06:00
Behdad Esfahbod
781da13e99
[glyf] Comment
2023-04-20 16:59:25 -06:00
Behdad Esfahbod
b3da715b9c
Fix HB_TINY build
2023-04-20 16:05:03 -06:00
Behdad Esfahbod
32f145ff9c
Fix build
2023-04-20 15:58:26 -06:00
Behdad Esfahbod
000a3c5dca
[beyond-64k/subset] Fetch lsb from glyph table if not available
...
The beyond-64k hmtx table doesn't encode LSB. If subsetting brings
the glyph under 64k (which currently is the only mode we support),
then we need to encode the LSB, which wasn't available. We need to
fetch xMin from glyf table and set it as LSB.
2023-04-20 15:53:10 -06:00
Behdad Esfahbod
1111c7578e
hb_memset
2023-04-20 15:17:23 -06:00
Behdad Esfahbod
219e739c9f
[beyond-64k/subset] Lower CompositeGlyph GID24's when possible
2023-04-20 15:13:12 -06:00
Behdad Esfahbod
a2e8ecf996
[Glyph] Minor change type of type to enum type
...
Say that thrice.
2023-04-20 14:08:23 -06:00
Garret Rieger
19e1b698c5
[subset] Fix ubsan failure.
2023-04-18 13:21:46 -06:00
Garret Rieger
647b024784
[subset] Fix fuzzer issue https://oss-fuzz.com/testcase-detail/6521393809588224
2023-04-18 13:21:46 -06:00
Behdad Esfahbod
75e6498d9a
Don't use M_PI
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/4166
Happy Pi Day!
2023-03-14 12:41:46 -06:00
Garret Rieger
663ecc01d8
[subset] don't free glyphs by range.
...
The iterator in this loop is a map iterator so glyphs are not necessarily traveresed in order.
2023-03-13 16:32:59 -06:00
Garret Rieger
3d05b96181
[subset] track which glyphs have allocated memory so we can clean up correctly.
...
Fixes https://oss-fuzz.com/testcase-detail/5388270411579392
2023-03-13 16:03:58 -06:00
Garret Rieger
28b05e1cb6
[subset] Fix memory leak in glyf subset.
...
Fixes fuzzer issue: https://oss-fuzz.com/testcase-detail/6525813890875392 .
2023-03-08 17:02:04 -07:00
Garret Rieger
9286e12525
Don't subset a glyf table with an unknown format.
...
Fixes fuzzer issue: https://oss-fuzz.com/testcase-detail/4875306193518592
2023-03-08 14:51:54 -07:00
Behdad Esfahbod
cfa9541daa
[glyf] "Support" glyf version 1
2023-03-08 10:35:39 -07:00
Behdad Esfahbod
f325aba561
[VarComposites] Minor rename
2023-03-06 13:07:42 -07:00
Behdad Esfahbod
6b286cfabf
[cubic-glyf] Remove stale comment
2023-02-21 16:15:45 -07:00
Behdad Esfahbod
22b9315628
[cubic-glyf] Handle wrap-around cubic off-curves
2023-02-21 15:50:55 -07:00
Behdad Esfahbod
050f5a58fe
[cubic-glyf] Handle contour-initial cubic offcurves
2023-02-21 15:26:27 -07:00
Behdad Esfahbod
c6c1c6ddf1
Merge pull request #4107 from harfbuzz/cubic-glyf
...
[glyf] Support cubic curves
2023-02-11 09:20:51 -07:00
Behdad Esfahbod
6ddd490191
[path-builder] Comment re cubic
2023-02-10 14:24:03 -07:00
Behdad Esfahbod
91c2f098d0
[cubic-glyf] Add HB_NO_CUBIC_GLYF
2023-02-10 14:15:16 -07:00
Qunxin Liu
af1e605be2
[instancer] bug fix
...
It's possible that length of all_points equals to 4 for non-empty
glyphs: a composite glyph which contains only one child glyph that is
empty.
2023-02-10 12:51:27 -07:00
Behdad Esfahbod
1d9dafbfd5
[glyf] Support cubic curves
...
https://github.com/harfbuzz/boring-expansion-spec/issues/41
2023-02-07 22:19:45 -07:00
Behdad Esfahbod
ef2a8f722f
[VarComposite] Adjust for RESET_UNSPECIFIED_AXES semantic change
...
https://github.com/harfbuzz/boring-expansion-spec/issues/81
2023-02-06 12:04:16 -07:00
Garret Rieger
fda200658e
[subset] fix missing compiled glyph cleanup when serialization succeeds.
2023-02-02 15:25:37 -07:00
Qunxin Liu
5e86870378
[instancer] compute head/maxp values using only non-empty glyphs
2023-01-25 14:53:19 -07:00
Qunxin Liu
d15551c6f3
[instancer] update head table flagbit: allXMinIsLsb
2023-01-25 14:53:19 -07:00
Behdad Esfahbod
a4420479a8
Revert "[VarComposite] Fix skew"
...
This reverts commit 8cf7076309
.
2023-01-25 14:37:10 -07:00
Behdad Esfahbod
8cf7076309
[VarComposite] Fix skew
2023-01-25 14:35:35 -07:00
Qunxin Liu
90a98dd62a
[instancer] fix potential memory leak for compiled glyph bytes
...
Also calculate max_offsets after glyph bytes are compiled, cause byte
length of a glyph might change after compile
2023-01-25 11:37:19 -07:00
Qunxin Liu
27f72f0deb
[instancer] avoid double free for compiled glyph bytes
...
also increase the HB_GLYF_MAX_POINTS limit to 20000 cause the test file has a
.notdef glyph which is a composite glyph and has 10176 points after
get_points() call
2023-01-24 17:28:51 -07:00
Qunxin Liu
30058f489a
[instancer] trim .notdef outline data after recalc bounds
...
If outline data present, we use it to recalc bounds and then trim it
accordingly
2023-01-20 14:50:03 -08:00
Qunxin Liu
94c390d078
[instancer] update head table
2023-01-20 14:50:03 -08:00
Qunxin Liu
2ecb1c31e9
[instancer] always recalculate bounds when --instance option enabled
...
But don't recompile glyph bytes if pinned at default
2023-01-20 14:50:03 -08:00
Qunxin Liu
1f948e7fd5
[instancer] store recalculated head/maxp info in subset plan
2023-01-20 14:49:54 -08:00
Qunxin Liu
92122421c9
[instancer] update vhea/hhea tables
2023-01-20 14:48:53 -08:00
Behdad Esfahbod
d06976e68f
[glyf] Add an edge-count limit
...
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=55246
2023-01-20 08:21:43 -07:00