|
cb05c363
|
2021-08-13T15:19:20
|
|
[subset] add some basic tests for the legacy subset methods.
|
|
44802c8e
|
2021-08-12T11:11:51
|
|
[subset] use layout-features=* for layout subsetting tests w/ synthetic test fonts.
|
|
c0f3af91
|
2021-08-11T16:20:05
|
|
[subset] speed up add_gid_and_children and adjust op limit.
Fix for fuzzer timeout: https://oss-fuzz.com/testcase-detail/5001604901240832.
- Operation limit is per glyph, so 100,000 should still be far more than needed.
- Switches from for(...) to while(...) loop for iteration. for(...) calls it.end() which in this case triggers a complete iteration.
- Cache CompositeGlyph size in the iterator to avoid needing to recalculate it.
|
|
23282c9c
|
2021-08-11T22:49:47
|
|
[util/hb-subset] Support ranges in --unicodes / --unicodes-file
Fixes https://github.com/harfbuzz/harfbuzz/issues/3109
|
|
58bfe407
|
2021-08-11T19:48:28
|
|
[util] Move hb-subset away from main-font-text
|
|
3147e081
|
2021-08-11T19:33:00
|
|
Merge branch 'main' into post-parse
|
|
43722cc9
|
2021-08-12T02:32:29
|
|
[test] Add some real reverse sub tests
|
|
e0d7060f
|
2021-08-11T18:43:21
|
|
[test] Rename shaping/ to shape/
|
|
f1226988
|
2021-08-12T01:47:35
|
|
[test] Improve generate-expected-outputs.py diff output
|
|
6ac6a2b2
|
2021-08-12T00:04:32
|
|
[test] hb_ot_layout_language_get_feature_tags()
|
|
e9b743b2
|
2021-08-11T23:51:12
|
|
[test] hb_ot_layout_script_get_language_tags()
|
|
bf438b81
|
2021-08-11T23:23:51
|
|
[test] hb_ot_layout_table_get_feature_tags()
|
|
2f88ea5a
|
2021-08-11T23:12:00
|
|
[test] hb_ot_layout_table_find_script()
|
|
f60caad7
|
2021-08-11T22:54:30
|
|
[test] hb_ot_layout_table_get_script_tags()
|
|
c08f1b89
|
2021-08-10T12:29:32
|
|
[map] fix incorrect population count in hash map.
If the same key was set twice the population was being incorrectly incremented.
|
|
e39c3bde
|
2021-08-10T11:41:55
|
|
[subset] fix bug in parsing glyf flags.
the bytes of the flag stream were being treated as signed integers instead of unsigned as specified in the spec.
|
|
f3acb977
|
2021-08-10T11:05:40
|
|
[test/shaping;util] Use ';' instead of ':' to separate test fields
Accept that in --batch mode. Also in batch mode don't send the 0th arg.
Related discussion: https://github.com/harfbuzz/harfbuzz/pull/3102
|
|
b83fd3a5
|
2021-08-10T02:21:05
|
|
[util] Refactor batch-processing code into batch.hh
|
|
8c0c217b
|
2021-08-06T10:45:38
|
|
[subset] fail reference blob in face builder if allocation for table sorting fails.
Fixes https://oss-fuzz.com/testcase-detail/5041767803125760
|
|
c2ee1fdd
|
2021-08-04T16:42:49
|
|
[subset] remove unsed table_entry struct.
|
|
dea0fe57
|
2021-08-04T16:36:20
|
|
[subset] discard extra copies of a table in face builder.
Fixes #2361. Stores tables in the builder in a hashmap so you end up with at most one copy of each table. Table serialization order is now based on tag sort order instead of order of insertion into the builder.
|
|
2c024dc3
|
2021-08-04T11:38:38
|
|
[subset] prune redundant cmap12 subtables.
If the post subset cmap12 table is equivalent to another cmap subtable don't include the 12 table in the final subset. Matches change https://github.com/fonttools/fonttools/pull/2146 from fontTools.
|
|
84946e4d
|
2021-08-05T00:05:26
|
|
[test] Suggest updating the expectation if ttx matches
https://github.com/harfbuzz/harfbuzz/issues/3089#issuecomment-892208892
|
|
5086e105
|
2021-07-29T17:03:55
|
|
[test] Add failing fuzzer test case
From https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=36236
https://oss-fuzz.com/testcase-detail/5061207689134080
|
|
f698fe5a
|
2021-08-04T12:08:18
|
|
[test] Always fail subset tests if hashes don’t match
Regardless of the pre sentience or absence of fonttools.
|
|
9f544e50
|
2021-08-04T04:20:14
|
|
[test] Don’t skip subset tests early
Check for FontTools only when the checksums are mismatching.
|
|
b0841533
|
2021-08-04T04:12:31
|
|
[test] Remove subset tests from the slow suite
|
|
7ccc52b0
|
2021-08-04T03:57:18
|
|
[test] Compare sha256 hash before TTX dumps
Most of time the files are identical, so instead of comparing the TTX
dump we can check sha256 hashes of the files first and if they match, we
don’t have to check the TTX dumps at all, making the subset tests orders
of magnitude faster.
time meson test --suite=subset down from:
real 0m19.418s
user 0m38.171s
sys 0m3.587s
to:
real 0m3.102s
user 0m8.622s
sys 0m1.701s
The expected files have been replaced by hb-subset output so they are
bit-identical where FontTools output might not.
The generate-expected-outputs.py now compares the hb-subset output with
fontttols subset and errors of they don’t match.
|
|
770fbd5a
|
2021-08-04T00:07:23
|
|
Revert "[test] Speed-up subset tests by saving TTX dump"
This reverts commit 278f44dcee34cea25403e42e06668f0afe2328c1.
|
|
2cc9ed2b
|
2021-08-02T22:00:11
|
|
[test] More lookup_collect_glyphs() tests
|
|
06640374
|
2021-08-02T19:52:59
|
|
[test] More lookup_collect_glyphs() tests
|
|
ecdd8e3f
|
2021-08-02T19:36:20
|
|
[test] More lookup_collect_glyphs() tests
|
|
f998d7e1
|
2021-08-02T16:10:13
|
|
[test] Add API test for lookup_collect_glyphs()
We don’t seem to have any tests exercising this API at all, and it is a
good check of GSUB/GPOS code.
|
|
10e73d18
|
2021-08-01T11:11:12
|
|
[test] Add batch mode to hb-subset and use it
time meson test --suite=subset down from:
real 0m22.822s
user 0m44.561s
sys 0m9.255s
to:
real 0m19.418s
user 0m38.171s
sys 0m3.587s
Does not seem to help much, but it is something.
Part of https://github.com/harfbuzz/harfbuzz/issues/3089
|
|
1fd3a261
|
2021-08-01T19:38:39
|
|
[test] Remove unused shaping tests reference mode
|
|
05cf8128
|
2021-08-01T07:59:25
|
|
[util/hb-shape] Fix use of EOF as end-of-line
EOF is -1, which was being treated as a valid char (255).
Use int instead.
|
|
7cbcdaf6
|
2021-07-30T11:26:46
|
|
Whitespace
|
|
5d283aa0
|
2021-07-30T10:15:09
|
|
Merge pull request #3095 from harfbuzz/subset-tests-speed
[test] Speed-up subset tests by saving TTX dump
|
|
f9d8e4a9
|
2021-07-29T15:25:41
|
|
[subset] switch ..._set_flags to not take a mask.
|
|
3d534b14
|
2021-07-29T11:52:14
|
|
[subset] convert subset input flags into bit flags.
Store the flags in a bit set. Updates the public api to work with the bit set directly.
|
|
f6c67a5f
|
2021-07-30T02:20:19
|
|
[test] Open file in UTF-8
It is 2021 and Python still does not default to UTF-8 on Windows!
|
|
bafbade0
|
2021-07-30T01:42:45
|
|
[test] Force FontTools to use \n on all platforms
On Windows in helfuly uses \r\n.
|
|
278f44dc
|
2021-07-29T23:43:56
|
|
[test] Speed-up subset tests by saving TTX dump
Speed-up subset tests by saving TTX dump of expected output instead of
generating it each time the tests are run.
Cuts down meson test --suite=subset on my system from:
real 0m38.977s
user 1m12.024s
sys 0m10.547s
to:
real 0m22.291s
user 0m44.548s
sys 0m9.221s
Part of https://github.com/harfbuzz/harfbuzz/issues/3089
|
|
72489f3e
|
2021-07-29T18:20:03
|
|
[test] Free memory in hb-aots-tester
|
|
895162d6
|
2021-07-29T18:03:00
|
|
[test] Account for mark zeroing in AOTS tests
The AOTS are not written with the face that mark glyphs gets their
advances zeroed. Taking this into account makes 16 more tests to pass.
|
|
e65bf605
|
2021-07-29T17:36:09
|
|
[test] make this test runner less verbose
Print the command being called once and in a way the can be manually
run.
|
|
9a7ff54b
|
2021-07-29T01:52:55
|
|
[test] Write one sequence per-line
https://github.com/harfbuzz/harfbuzz/pull/3087#issuecomment-888691436
|
|
ddf87ffb
|
2021-07-29T01:12:46
|
|
[test] Add generated tests for emoji clusters
Fixes https://github.com/harfbuzz/harfbuzz/issues/3017
Uses AdobeBlank2.ttf from:
https://github.com/adobe-fonts/adobe-blank-2
instead of a dummy empty font so that everything maps to GID 1 and
control code points are kept instead of being dropped because there is
not space glyph (otherwise we’d need to identify control code points
somehow when generating the expectations).
|
|
6fe0d7d6
|
2021-07-28T12:06:49
|
|
[GSUB] If MultipleSubst is applied to a ligature-component, preserve lig-id
Fixes https://github.com/harfbuzz/harfbuzz/issues/3069
|
|
acbd8b27
|
2021-07-27T14:31:18
|
|
[subset] temporarily disable COLRv1 subsetting.
Currently COLRv1 spec is being changed so the subsetting implementation is out of sync. Disable subsetting by failing sanitization for COLRv1 tables and disable all colrv1 tests.
|
|
0ded6a70
|
2021-07-28T11:28:38
|
|
[subset] Fix another fuzzer issue
Addition could overflow on 32bit arch.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=36636
Fixes https://oss-fuzz.com/testcase-detail/5072358514753536
|
|
c65e1e08
|
2021-07-28T17:04:10
|
|
[test] Run AOTS cmap tests with ot font functions only
We are not interested in testing FreeType cmap support.
Fixes most format 4 tests. The remaining test seems to be peculiar, and
I can’t find any cmap implementation that produces the expected output.
|
|
8396c523
|
2021-07-28T16:29:43
|
|
[test] Add AOTS cmap tests
Uses https://github.com/adobe-type-tools/aots/pull/3
Related to https://github.com/unicode-org/text-rendering-tests/issues/70
We don’t support format 4 or 8, so these tests are disabled. We support
format 4 but most of the tests are failing, investigating.
|
|
50379fbb
|
2021-07-28T16:13:49
|
|
[util] Don’t split text at new lines in batch mode
In batch mode (which is used for testing) we are probably not interested
in splitting text into lines as we could have split the string into
different tests. This fixes a bunch of AOTS tests that use newlines as
input.
|
|
92b85749
|
2021-07-28T15:56:53
|
|
[util] Strip quotes when parsing features
When running in batch mode, the quotes are not stripped by the shell and
end up in the feature string. This breaks one of the AOTS tests.
Alternatively, we can remove the quotes from the test files, not sure
which is less hacky, though!
|
|
ad9559e3
|
2021-07-28T14:35:23
|
|
[tests] Make AOTS update.py work on macOS
Use C++ compiler and make sure C++11 is used.
|
|
d84efca3
|
2021-07-28T13:17:41
|
|
[tests] Add missed test file to Makefile/meson
It was introduced in 205737acdc268b1c90cf00bde2d2038519a8bf48 but was
not actually used.
See https://github.com/harfbuzz/harfbuzz/issues/2098
|
|
09474d8d
|
2021-06-29T16:07:14
|
|
[subset] Fix fuzzer timeout in add_gid_and_children.
The composite glyph graph isn't check for max operations by sanitize so track an operations count during the graph traversal.
|
|
c68a00b9
|
2021-07-27T13:25:22
|
|
[subset] Fix possible overflows in VarRegionList serialize
Fixes https://oss-fuzz.com/testcase-detail/5362189182566400
|
|
4762fcb4
|
2021-07-26T11:48:55
|
|
Merge pull request #3067 from googlefonts/glyph_names
[subset] support option --glyph-names
|
|
aeec2784
|
2021-07-26T11:31:54
|
|
Merge pull request #3068 from harfbuzz/hoi
[variations] Support multiple axes with same tag, aka HOI
|
|
71b5509c
|
2021-07-20T20:05:35
|
|
[subset] support option --glyph-names
|
|
b235511e
|
2021-07-23T12:15:15
|
|
Merge pull request #3021 from googlefonts/stable_api
[subset] update hb_subset api with final changes before going stable.
|
|
a9a607d3
|
2021-07-22T16:49:56
|
|
[variations] Support multiple axes with same tag, aka HOI
The axes in fvar are in arbitrary order, NOT sorted. Hence have to
lsearch all entries.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1673
Fixes https://github.com/harfbuzz/harfbuzz/issues/2743
Test from https://github.com/ctrlcctrlv/FontForge-Higher-Order-Interpolation
|
|
9ab751ac
|
2021-06-23T13:38:47
|
|
[subset] Remove hb_subset(). Leaving just hb_subset_or_fail().
|
|
aba2e131
|
2021-06-09T16:23:35
|
|
[subset] Remove hb_subset_input_get/set_overlaps_flag ().
|
|
7d82191f
|
2021-06-09T16:20:55
|
|
[subset] Remove hb_subset_input_get/set_name_legacy ().
|
|
942636ae
|
2021-06-09T16:18:39
|
|
[subset] Remove hb_subset_input_get/set_retain_gids.
|
|
77b4a1cd
|
2021-06-09T14:11:17
|
|
[subset] Remove hb_subset_input_get/set_desubroutinize.
|
|
8bf5d4d4
|
2021-06-09T14:05:17
|
|
[subset] Remove hb_subset_input_get/set_drop_hints.
|
|
79e8b306
|
2021-07-16T15:06:10
|
|
[ot-shape] Fix application of kern table if GPOS kern is missing
Was broken sometime after we implemented kerx and tweaking it.
Fixes https://github.com/harfbuzz/harfbuzz/issues/3043
|
|
deee24fb
|
2021-07-14T13:46:36
|
|
[subset] Add missing FontName op code in top dict parsing.
Fix for #3058
|
|
7416face
|
2021-07-07T11:27:49
|
|
[subset] fuzzer fix: https://oss-fuzz.com/testcase-detail/5715464591376384
|
|
0da9158f
|
2021-06-29T14:23:37
|
|
[subset] Remove OffsetTo::serialize().
Convert remaining uses of it to serialize_serialize() which correctly uses the object packer.
|
|
eee7b459
|
2021-06-24T10:17:46
|
|
[subset] add option --no-prune-unicode-ranges
|
|
c3be28ea
|
2021-06-23T17:39:23
|
|
[ot-shape] Numeric runs native direction is LTR
See inline comments. Slightly modified version of the code from Jonathan
Kew on the linked issue.
Fixes https://github.com/harfbuzz/harfbuzz/issues/501
|
|
71a62966
|
2021-06-23T18:16:56
|
|
[tests] Make record-test.sh work with .otf files
It hard-codes the file extension, but fonttools sunset will use .otf for
CFF fonts, so hard-code the output file from subset as well.
|
|
bc06af97
|
2021-06-16T15:49:14
|
|
[subset] speed up feature collection when tags are specified.
Precompute a feature index filter to avoid needing to iterate the feature tag list for each encountered feature index. For this particular fuzzer case speeds up feature collection from 50s to 2s.
|
|
d2397d91
|
2021-06-18T18:12:19
|
|
[subset] Add additional colrv1 subsetting tests that has a glyph with components.
|
|
d07f789a
|
2021-06-09T15:36:40
|
|
[subset] support option "--notdef-outline"
|
|
675ebbeb
|
2021-06-16T10:40:46
|
|
[subset] don't alloc zero bytes.
It will be leaked later since hb_blob_create() won't set up the blob to cleanup since it has length zero.
|
|
bdfed8f1
|
2021-06-14T15:46:04
|
|
[blob] Add failing versions of create API
Fixes https://github.com/harfbuzz/harfbuzz/issues/2567
New API:
+hb_blob_create_or_fail()
+hb_blob_create_from_file_or_fail()
Use these in util/ to distinguish empty file from not-found file.
Only err on the latter.
|
|
5bc05ba1
|
2021-06-13T05:28:20
|
|
Prefer GPOS over kerx, if GSUB was applied
Fixes https://github.com/harfbuzz/harfbuzz/issues/3008
|
|
5585ea02
|
2021-06-05T08:35:28
|
|
[syllabic] Set position of dotted circle for Indic
|
|
35d6af69
|
2021-06-04T10:04:27
|
|
[subset] fix fuzzer testcase: https://oss-fuzz.com/testcase-detail/5965777994907648
|
|
1b6008ca
|
2021-06-02T15:07:18
|
|
fix fuzzer testcase: https://oss-fuzz.com/testcase-detail/5417934246772736
|
|
7ab0f4ed
|
2021-05-27T11:40:34
|
|
fuzzer fix
|
|
cb5a6b5a
|
2021-05-19T17:33:46
|
|
[subset] support option --layout-features
|
|
0989b555
|
2021-05-18T17:12:50
|
|
[subset] Add test for overlaps flag setting.
|
|
f739e1dc
|
2021-05-11T11:44:32
|
|
[subset] subset both CPAL and COLRv1
|
|
2000f47a
|
2021-05-19T00:34:09
|
|
[set] Compute is_subset by comparing pages.
Test subsets one page at a time instead of by codepoints. On my machine
this is about 250x faster than the previous implementation.
|
|
89df3539
|
2021-05-13T11:45:32
|
|
[aat] Add testcase for Apple Color Emoji couple-with-skin-tones sequence.
|
|
a08900b7
|
2021-05-04T16:48:41
|
|
[subset] fix failing colrv0 subsetting when font has composite glyphs.
Composite glyph collection was happening along side colrv0 glyph collection which meant it was possible to miss grabbing the component glyphs for a glyph added by colrv0.
|
|
b07b97d5
|
2021-03-29T10:39:38
|
|
[subset] Add more Noto Nastaliq test cases.
|
|
2b764764
|
2021-04-30T13:34:16
|
|
[subset] update test-subset-gpos expected files.
|
|
92757f68
|
2021-04-22T15:18:35
|
|
[subset] Don't drop anchor device tables when dropping hints. These may contain variation data.
Update subseting expected files to match latest version of fontTools.
|
|
6fddc2bb
|
2021-04-01T15:34:17
|
|
[subset] subset layout tables (G*) by default.
|
|
425ba1f4
|
2021-04-19T18:01:24
|
|
[subset] fixes infinite loop in hb_set_get_max().
Fixes https://oss-fuzz.com/testcase-detail/5363902507515904
|
|
ec432106
|
2021-04-19T17:18:05
|
|
[subset] fix infinite loop caused by alloc failure in repacker.
Fixes: https://oss-fuzz.com/testcase-detail/5609112151916544.
|
|
0e845d97
|
2021-04-19T16:09:37
|
|
[subset] fix memory leak in repacker caused by failed alloc.
Fixes: https://oss-fuzz.com/testcase-detail/5616763250278400.
|