Commit graph

2304 commits

Author SHA1 Message Date
Qunxin Liu
f1ac36ba7f [instancer] update hhea vertical metrics with OS/2 ones 2023-11-15 13:25:43 -07:00
Qunxin Liu
2d001a0adc [subset] OTS doesn't allow ligature attachment offset to be 0 2023-11-08 14:10:06 -07:00
Garret Rieger
9701b0024e [subset] Always place CFF1/2 char strings at the end of the packed table.
Makes the behaviour from HB_SUBSET_FLAGS_IFTB_REQUIREMENTS the default.
2023-11-06 16:49:09 -07:00
Garret Rieger
c6884377ec [subset] Add HB_SUBSET_FLAGS_IFTB_REQUIREMENTS flag.
When enabled the output subset conforms to the requirements for a base font to be patched by IFTB patches. IFTB is a proposed incremental font transfer patch. This new flag is set as experimental. Currently, setting this flag causes the output subset to also use long offsets for outline data in loca/glyf, gvar, CFF, and CFF2.

This change is a version of 3ae2fe2084 rebased onto head w/ tests added.
2023-11-06 16:49:09 -07:00
Qunxin Liu
d550e16acc [instancer] Recalc avgcharwidth after instancing 2023-11-06 13:12:04 -07:00
Qunxin Liu
6baf791e6f [instancer] add tests 2023-11-03 11:06:07 -07:00
Qunxin Liu
31b5b2b1d7 [instancer] add tests for valueformat 2023-11-03 10:27:33 -07:00
Qunxin Liu
413af0a9b2 [instancer] When partial instancing, subset LigCaretList after VarStore instantiation 2023-11-03 10:24:56 -06:00
Qunxin Liu
f6f35f73bc [instancer] add tests for feature variations partial instancing 2023-10-30 12:31:49 -06:00
Qunxin Liu
e595fe75cc fix bots
partial instancing tests are wrapped by experimenal_api, do not enable
them in Makefile
2023-10-19 09:38:38 -07:00
Qunxin Liu
ce46698929 [subset] update tests
to reflect changes in GDEF.MarkGlyphSetsDef and Lookup.MarkFilteringSet
2023-10-18 15:49:57 -07:00
Qunxin Liu
bde6fb83ea add missing file for test empty_region_vardata 2023-10-18 10:21:02 -07:00
Qunxin Liu
57dac23d79 [instancer] add tests
Also update tests to gei rid of no-tables-with-item-variations profile
2023-10-18 08:07:26 -06:00
Garret Rieger
bbd53fcfa4 Remove glyph_map test that uses retain gids.
We no longer allow the use of glyph map + retain gids (see: https://github.com/harfbuzz/harfbuzz/blob/main/src/hb-subset-plan.cc#L817). Also add the test to the meson file so it will be run by default.
2023-10-10 17:59:05 -06:00
Behdad Esfahbod
fc563bb437
Merge pull request #4421 from googlefonts/GDEF_GPOS
[instancer] support GDEF/GPOS tables
2023-10-05 11:07:17 -06:00
Khaled Hosny
6e06a193b3 Add some tests for hb_feature_[from|to]_string() 2023-09-29 18:22:44 -06:00
Garret Rieger
333946b00e [subset] Fix fuzzer timeout.
Fixes https://oss-fuzz.com/testcase-detail/5458896606855168. Limit iteration over coverage in MarkLigPosFormat1 subsetting to the number of glyphs in the liga array.
2023-09-28 14:22:51 -06:00
Qunxin Liu
9ceb800ac2 fuzzer fix https://oss-fuzz.com/testcase-detail/5842152921628672
Access TupleVariationData through blob, because we don't sanitize
var_data
2023-09-28 12:51:44 -06:00
Qunxin Liu
2415d5f239 [instancer] update tests to include GDEF/GPOS tables 2023-09-27 13:33:09 -07:00
Qunxin Liu
ef4ff1d6a4 [instancer] make varstore items sorting method match fonttool's
Also update expected tests
2023-09-20 11:45:00 -07:00
Qunxin Liu
2d2818c096 [instancer] update expected tests to include HVAR/VVAR tables 2023-09-20 10:30:47 -07:00
Qunxin Liu
6e49128afd [instancer] always check and update default wght/width/slnt if necessary
Sometimes default values in original file are incorrect, and if default value for an axis is not changed, then these values won't be updated
2023-09-18 12:20:36 -07:00
Qunxin Liu
7b5daff5eb [instancer] add tests for mvar partial instancing 2023-09-18 12:20:36 -07:00
David Corbett
c459b8a51a [Unicode 15.1] Add tests 2023-09-16 10:27:07 -04:00
David Corbett
c03e4c10a4 [Unicode 15.1] Update emoji table and cluster test 2023-09-16 10:06:24 -04:00
Qunxin Liu
fd3eb2c672 fuzzer fix: https://oss-fuzz.com/testcase-detail/6032126569742336 2023-09-05 21:51:02 +03:00
Garret Rieger
a1f034eaac [repacker] fix fuzzer failure.
Fixes: https://oss-fuzz.com/testcase-detail/6490945267564544
2023-08-28 23:17:13 -04:00
Behdad Esfahbod
2023384bdf
Merge pull request #4368 from googlefonts/support_gvar
Initial implementation for gvar partial instancing
2023-08-22 13:09:26 -07:00
Qunxin Liu
dd8d35766b [instancer] enable partial instancing tests when experimental api is on 2023-08-22 12:54:50 -07:00
Garret Rieger
ca906e8747 [repacker] fix fuzzer timeout.
Corrects some mistakes in the handling of incoming_edges_ when memory allocation failures happen.
2023-08-17 12:01:44 -06:00
Qunxin Liu
bea26446d2 [instancer] reference all points for gvar
If a point is not referenced and delta is not inferred, set delta to 0
2023-08-15 14:20:54 -07:00
Behdad Esfahbod
0c80aec10b [COLR] Move cycle-detection to the renderer instead of cairo
Alternative fix for https://github.com/harfbuzz/harfbuzz/issues/4375
2023-08-15 10:30:38 -06:00
Behdad Esfahbod
7d7541e35d [test-paint] Print paint-color-glyph 2023-08-14 17:55:09 -06:00
Behdad Esfahbod
47231bdc70 [COLR/cairo/ft] Fixups to paint-color-glyph and implement for hb-ft 2023-08-14 16:55:21 -06:00
Behdad Esfahbod
58effbcc4f . 2023-08-14 16:47:36 -06:00
Behdad Esfahbod
483bc0a384 [arabic/stch] Center the stretched group over the digits
Mostly relevant when there's one digit only.

https://github.com/harfbuzz/harfbuzz/issues/4369#issuecomment-1670361856
2023-08-08 15:58:20 -06:00
Behdad Esfahbod
9daef6ed4e [arabic] Add test for previous commit 2023-08-08 13:33:11 -06:00
Qunxin Liu
0aa5dafefd fix bots.
-Also disable partial instancing tests for now, cause the command option
is wrapped by experimental_api
2023-08-08 08:44:31 -07:00
Qunxin Liu
77b158c72d [instancer] add tests for gvar partial instancing 2023-08-07 16:02:02 -07:00
Behdad Esfahbod
5b337130e2 Add test for previous commit 2023-08-01 20:02:21 -06:00
Behdad Esfahbod
94d4283b12 [graph] Handle a malloc fail
Fixes https://oss-fuzz.com/testcase-detail/4579249263345664
2023-08-01 15:06:01 -06:00
Behdad Esfahbod
202888ec3e Fix mac bot
I think the new unsafe-to-concat is correct...
2023-07-30 11:49:08 -06:00
Behdad Esfahbod
f19ca24a8e Revert "Revert "Require numerator and denominator in auto fraction""
This reverts commit 8fe506e153.
2023-07-30 11:26:11 -06:00
Behdad Esfahbod
8fe506e153 Revert "Require numerator and denominator in auto fraction"
This reverts commit f3e86937df.
2023-07-30 11:09:37 -06:00
David Corbett
f3e86937df Require numerator and denominator in auto fraction 2023-07-30 10:26:00 -06:00
Behdad Esfahbod
997986ab30 [subset/hvar] Error handling
Fixes https://oss-fuzz.com/testcase-detail/5029952234586112
2023-07-09 15:16:06 -06:00
Behdad Esfahbod
c8f6ae1df7 [subset/hvar/retaingids] Synthesize a DeltaSetIndexMap if needed
Before we were emitting the entire VarStore rows if advMap
was Null. Instead, synthesize an advMap.

20% speed up in subset_glyphs/SourceHanSans-VF.otf/retaingids benchmark.
2023-07-08 20:23:20 -06:00
Khaled Hosny
afe0910295 [font] Actually deprecate get_glyph_shape()
We previously marked it as deprecated in the documentation but didn’t
actually deprecate it in code. Now the only known users have migrated to
draw_glyph(), lets deprecate o=it for good.
2023-07-09 03:20:27 +03:00
Behdad Esfahbod
f60dbd906a Fix thinko
Fixes https://oss-fuzz.com/testcase-detail/4787105656864768
2023-07-08 16:21:24 -06:00
Behdad Esfahbod
25297408de [COLR] Fix PaintComposite sanitize timeout
Was timing out after recent sanitize() change.

Fixes https://oss-fuzz.com/testcase-detail/5692635449524224
2023-07-03 10:35:27 -06:00