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
Garret Rieger
8658c257c4
[subset] In LigatureSubst subsetting, check if the ligature glyph is in glyphset.
...
Otherwise coverage will not match the retained ligature sets.
2023-04-17 14:35:27 -06:00
Qunxin Liu
fe671a5ac8
[instancer] support COLRv1 full instancing
2023-03-21 11:51:58 -06:00
Garret Rieger
a84cae424d
[subset] Don't add invalid gids (-1) to the glyphset when loading glyph map from the accelerator.
2023-03-15 12:10:18 -06:00
Behdad Esfahbod
09a2662361
Merge pull request #4168 from googlefonts/subset_name_collect
...
[subset] name_id closure
2023-03-14 12:48:12 -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
Qunxin Liu
de6533d885
[subset] collect name_ids from CPAL table
2023-03-13 13:36:00 -07:00
Qunxin Liu
7b77cd198c
[subset] fix bug in CPAL V1tail serialization
...
We should serialize nameIDs rather than retained color index
2023-03-13 12:51:46 -07: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
7327006d68
[GSUB] Support SingleSubst in get_glyph_alternates
...
Fixes https://github.com/harfbuzz/harfbuzz/discussions/4146
2023-03-07 21:06:01 -07:00
Behdad Esfahbod
f325aba561
[VarComposites] Minor rename
2023-03-06 13:07:42 -07:00
Behdad Esfahbod
08784baf10
[GSUB/GPOS] Fix sanitization in Format1
...
Fixes https://oss-fuzz.com/testcase-detail/5120727025319936
2023-03-02 10:48:30 -07:00
Behdad Esfahbod
c67c0086ef
[GPOS] Fix indexing in MarkLigPos
...
This was broken in 8708b9e081
.
Fixes https://github.com/harfbuzz/harfbuzz/issues/4142
2023-03-01 13:32:44 -07:00
Garret Rieger
918193ebf9
[subset] fix a class of fuzzer timeouts caused by large shared coverage tables.
...
More acurately estimates the op count for CoverageFormat2 tables as the population size instead of the size in bytes.
2023-02-22 16:57:39 -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
adccc5355b
[MarkBase] Adjust base-finding logic
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/4124
2023-02-17 12:29:42 -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
64fa5cd482
[GPOS] Fix assert fail introduced recently
...
Was introduced in 8708b9e081
.
If these lookups are recursed to from (Chain)Context out-of-order,
it was possible that last_base > buffer->idx, in which case we
were attaching marks to a base after them... and an assertion
was failing fortunately.
Fixes https://oss-fuzz.com/testcase-detail/6377756666757120
2023-02-07 15:52:53 -07:00
Behdad Esfahbod
8708b9e081
[GPOS] Avoid O(n^2) behavior in mark-attachment
...
Better implementation; avoids arbitrary limit on look-back.
2023-02-06 14:51:25 -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
Khaled Hosny
ae96295d67
Delete commented out include
2023-01-28 22:12:33 +02:00
Matthias Clasen
09b7fce857
Make includes relative
2023-01-28 12:09:45 -07:00