Matthias Clasen
d250148db0
Merge pull request #4024 from harfbuzz/test-paint-variable
...
test-paint: Add variable font tests
2023-01-12 21:26:24 -05:00
Behdad Esfahbod
60a4f2e6f5
[test-paint] Detect FreeType COLRv1 from struct size
2023-01-12 19:12:46 -07:00
Behdad Esfahbod
b783967242
[test] Minor save glyph_count
2023-01-12 19:11:10 -07:00
Matthias Clasen
cca0ed9bcd
test-paint: Add variable font tests
...
These needs freetype master to work.
2023-01-12 21:09:50 -05:00
Garret Rieger
c324d99952
[instancing] Add tests for MVAR instancing.
2023-01-12 18:15:07 +00:00
Behdad Esfahbod
d675f0d4f2
Merge pull request #4023 from harfbuzz/aat-features2
...
[aat] Support feature ranges
2023-01-11 15:06:31 -07:00
Matthias Clasen
1cb5a87feb
test-pain: Print out extend for color lines
...
Update all expected results to include this value.
2023-01-10 22:13:44 -05:00
Matthias Clasen
6648e6e3e5
Add one more paint test
...
Add a test for the clip_box_top_left_glyph,
since we've seen broken rendering with it.
2023-01-10 22:07:44 -05:00
Behdad Esfahbod
4ee6094114
[aat] Add test for feature range
2023-01-10 11:52:12 -07:00
Khaled Hosny
8460909e0c
[build] Fix make dist
2023-01-10 09:04:35 -07:00
Garret Rieger
0f01a83622
[subset] add basic test for CFF2 subsetting.
...
FontTools does not yet support CFF2 subsetting so we can't add a comparison test. Instead add a golden file test.
2023-01-09 21:15:11 -07:00
Matthias Clasen
b20871322f
test-paint: Fix use of g_test_skip
2023-01-09 16:30:42 -05:00
Matthias Clasen
eb0f0279d2
test-paint: Avoid g_test_skip_printf
...
This is relatively recent api we don't need.
2023-01-09 15:33:34 -05:00
Matthias Clasen
e61c2be41c
test-paint: Skip tests if ft COLRv1 is missing
2023-01-09 15:25:29 -05:00
Matthias Clasen
1d662632d9
test-paint: More output for failures
2023-01-09 15:01:59 -05:00
Matthias Clasen
d0108d31a2
Add more paint tests
...
These tests compare the output of the ft and ot
implementations for all the glyphs in the test_glyphs
font.
2023-01-09 14:42:30 -05:00
Matthias Clasen
5f976d86a7
test-paint: Use %.3g for results
...
This produces more readable output.
2023-01-09 14:24:32 -05:00
Matthias Clasen
ec78a486bf
Run paint tests at upem scale
...
This avoids problems with rouding.
2023-01-09 14:03:58 -05:00
Matthias Clasen
a085efa699
test-paint: Fix font setup for ft
...
We must call hb_ft_font_set_funcs after
setting the font scale.
2023-01-09 13:11:16 -05:00
Matthias Clasen
26f713a7f5
paint-test: Use larger scales
...
A scale of 20 is noise, so use 1000.
2023-01-09 12:54:06 -05:00
Behdad Esfahbod
e886b6b8a6
[test-draw] Use a larger scale
...
A scale of 20 is in the noise category for us. Using a larger
scale makes the test pass.
2023-01-09 10:31:28 -07:00
Matthias Clasen
347910fd4c
Add a draw test
...
This test compares output between ft and ot
font funcs.
2023-01-09 10:31:28 -07:00
Matthias Clasen
42047070dd
test-paint: More helpful output
...
No need to print ASCII chars as hex.
2023-01-08 16:08:16 -05:00
Behdad Esfahbod
3fd6c0d97a
[test-paint] Remove unused FT_Library
2023-01-08 12:30:26 -07:00
Behdad Esfahbod
28be4f8805
[test-paint] Actually run against hb-ft
2023-01-08 12:19:41 -07:00
Matthias Clasen
ed7d0234e1
test-paint: Limit the precision of clip boxes
...
Update expected test results.
2023-01-08 11:57:43 -07:00
Matthias Clasen
10390ec5c6
Update expected test results
2023-01-08 09:06:03 -05:00
Matthias Clasen
f3ce137420
test-paint: Be more flexible for expected results
...
When generating the expected output with GENERATE_DATA=1,
Glib's test framework puts out some comments at the top
of the file. Ignore them when comparing the expected
output. This makes it possible to directly use the output
of
GENERATE_DATA=1 ./test-paint -p TESTCASE
as expected result for TESTCASE.
2023-01-08 09:01:31 -05:00
Matthias Clasen
d0aaea2319
Update test results for paint-test
...
These were affected by the PaintComposite optimization.
2023-01-07 16:30:56 -05:00
Qunxin Liu
1eb5445e75
[subset] Fix issue in hb_subset_input_override_name_table()
...
If a nameRecord with provided name_id/platform_id/encoding_id/lang_id
is not retained after subsetting, create it and insert it to
the name table. So we need to check against retained name_records
rather than name_record in the original name table.
2023-01-06 19:17:14 -07:00
Behdad Esfahbod
c54debc76d
[face] Add hb_face_collect_nominal_glyph_mapping
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3973
2023-01-05 11:57:48 -07:00
Matthias Clasen
9f3b59fe6b
Update expected test results
...
These need updates, because they record
every callback, and we've changed what
callbacks are happening.
2022-12-31 16:19:20 -05:00
Matthias Clasen
313f74a693
Add a basic test for hb-coretext api
...
This tests what would be my minimum assumption
about this api. It was written blindly.
2022-12-28 11:14:22 -07:00
Matthias Clasen
661baf403c
Add a basic test for hb-ft api
...
This tests what would be my minimum assumption
about this api.
2022-12-28 11:14:22 -07:00
Matthias Clasen
2a51567925
[paint] Add a test for recursion
2022-12-26 17:00:20 -07:00
Matthias Clasen
1eb4d002f2
Try to fix the build with msvc
2022-12-26 11:29:26 -07:00
Matthias Clasen
00e93102a6
Add a test for hb_ot_color_glyph_has_paint
2022-12-26 11:29:26 -07:00
Matthias Clasen
e7b0947afd
Add a test for hb_ot_color_has_paint
2022-12-26 11:29:26 -07:00
Matthias Clasen
a7a93b85e6
Drop accidentally added ttx files
2022-12-24 12:08:32 -07:00
Behdad Esfahbod
6ccbfabd4f
[paint] Return bool from paint_image()
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3974
2022-12-24 10:44:25 -07:00
Matthias Clasen
d00e97f16c
Add test-paint to the autotools build
2022-12-24 09:16:29 -05:00
Matthias Clasen
3478728edb
Fix test-paint build without freetype
2022-12-24 09:16:29 -05:00
Matthias Clasen
9b9d7c7b8e
Plug a memory lek in paint tests
2022-12-24 05:34:47 -05:00
Matthias Clasen
f9c865a899
Update test results
...
These were changed by the introduction of
clip boxes.
2022-12-23 20:56:20 -05:00
Matthias Clasen
55b7af6b62
Tweak paint-tests
2022-12-23 18:34:09 -05:00
Matthias Clasen
44b48845b7
Add tests for hb_color_line_t
...
Test a few things that were broken with the
ft implementation before.
2022-12-23 16:28:53 -05:00
Behdad Esfahbod
a4a86c0ec2
[test-paint] g_test_message
2022-12-23 13:52:22 -07:00
Behdad Esfahbod
dcab567988
[test-paint] Don't use g_test_fail_print() for older glib
2022-12-23 13:47:37 -07:00
Matthias Clasen
8e197f50da
Add missing paint test results
2022-12-23 13:40:02 -07:00
Matthias Clasen
3b021c5568
Run paint tests with ft font funcs
2022-12-23 13:37:59 -07:00
Matthias Clasen
ca190aaba4
Split off the hb-paint tests
...
They belong in their own file.
2022-12-23 13:37:59 -07:00
Matthias Clasen
ee7bbdf372
tests: Update expected results
...
These were changed by fixes for glyph transforms.
2022-12-23 13:37:59 -07:00
Matthias Clasen
3993a40703
test: Add some verification hints
2022-12-23 13:37:59 -07:00
Matthias Clasen
47dbebff39
[paint] Add COLRv0 tests
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
3c972867b9
More s/hb_font_get_glyph_shape/hb_font_draw_glyph/
2022-12-23 13:37:59 -07:00
Matthias Clasen
c221933977
[paint] Preserve foreground information
2022-12-23 13:37:59 -07:00
Matthias Clasen
6387004cad
[paint] Simplify api
...
Drop the hb_paint_context_t struct from the API, and
only pass the font where we need it.
2022-12-23 13:37:59 -07:00
Matthias Clasen
71bd5a0dfc
[paint] Resolve colors
...
We don't need to pass the index/alpha pairs to
client callbacks, and can just resolve the colors
internally.
Update test results.
2022-12-23 13:37:59 -07:00
Matthias Clasen
9be01b6bff
[paint] Pass hb_paint_context_t along
...
Replace the font argument with a hb_paint_context_t
that carries the font, the palette index and the
foreground color.
The hb_font_paint_glyph() api now takes the palette
index and the foreground color as extra arguments.
Update all callers and regenerate test results.
2022-12-23 13:37:59 -07:00
Matthias Clasen
97224f3b63
[paint] Pass font to all callbacks
...
This will lead to easier implementations.
At the same time, we change the push_clip_glyph
callback to use the font as-is, no unscaling needed.
Update all callers and expected test results.
2022-12-23 13:37:59 -07:00
Matthias Clasen
b0fa40b2ec
tests: More diagnostics
2022-12-23 13:37:59 -07:00
Matthias Clasen
290bb338bf
Dist test result files
2022-12-23 13:37:59 -07:00
Matthias Clasen
74ccc1e76d
tests: Produce useful output on failure
2022-12-23 13:37:59 -07:00
Matthias Clasen
084291108a
Tests: Fix memleak pointed out by valgrind
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
d8cb7ceefb
[test] Try fixing bots with old glib
2022-12-23 13:37:59 -07:00
Matthias Clasen
2d4678b647
Add a comment
2022-12-23 13:37:59 -07:00
Matthias Clasen
30a6fd04d0
[colr] Add some tests
2022-12-23 13:37:59 -07:00
Chun-wei Fan
4622be7f84
test/fuzzing: Fix dist
...
We need to dist the repacker fuzzer test items into the tarball, along
with the items in graphs/ and sets/.
2022-12-22 06:44:04 -07:00
Garret Rieger
40342c9437
[subset] check for addition overflow in hdmx size calculation.
...
Fixes https://oss-fuzz.com/testcase-detail/4877336988483584 .
2022-12-21 16:44:06 -07:00
Garret Rieger
b5acde43ed
[subset] check pending/subsetted tag sets for alloc failure.
2022-12-13 15:31:40 -07:00
Garret Rieger
9fbe52b88d
[subset] enable instancing tests by default.
2022-12-12 20:24:24 +00:00
Garret Rieger
eda02c2ebd
[subset] Move hb_subset_preprocess to be non-experimental.
2022-12-08 16:32:24 -07:00
Garret Rieger
35233d2514
[repacker] fix fuzzer reported stack overflow.
...
Fixes https://oss-fuzz.com/testcase-detail/6014493291577344 .
2022-12-07 10:32:56 -07:00
Garret Rieger
b17fbc200b
[repacker] use memcpy to avoid alignment issues.
2022-12-05 14:13:47 -07:00
Garret Rieger
f1d3489388
[repacker] bail on failure to alloc assigned_bytes set.
...
Fixes fuzzer issue https://oss-fuzz.com/testcase-detail/5390364397928448 .
2022-12-05 14:13:47 -07:00
Garret Rieger
239a5aca02
[repacker] don't allow references to the null object in graph.
...
Fixes fuzzer issue https://oss-fuzz.com/testcase-detail/6714085985353728
2022-12-05 14:13:47 -07:00
David Corbett
260df1fa32
[indic] Support <U+0A02, U+0A40>
2022-12-04 10:46:47 -07:00
Qunxin Liu
8eadb83640
[subset] Update hb_subset_input_override_name_table API
...
Override the name string for the NameRecord identified by name_id,
platform_id, encoding_id and language_ids specified by the user.
If a record with specified name_id does not exist, this API will create
a new NameRecord with provided info and insert it to the name table.
2022-12-02 18:05:53 -07:00
Garret Rieger
16f61a1c87
[repacker] only build repacker fuzzer when experimental api is enabled.
2022-12-02 00:02:14 +00:00
Garret Rieger
de5a621322
[repacker] enforce root node having no incoming edges.
2022-12-01 23:37:16 +00:00
Garret Rieger
30e405e470
[repacker] ensure link obj indices are valid.
2022-12-01 22:12:59 +00:00
Garret Rieger
554ed06fac
[repacker] add cycle detection to the graph sort.
...
This allows us to bail early if the graph is not acyclic.
2022-12-01 21:52:37 +00:00
Garret Rieger
9e99d08470
[repacker] validate link widths during repacker setup.
2022-12-01 20:17:41 +00:00
Garret Rieger
edf7a29595
[repacker] Validate link positions before running the repacker.
2022-12-01 20:17:41 +00:00
Garret Rieger
88d437525f
[repacker] add test for repacker fuzzer.
2022-12-01 20:17:40 +00:00
Garret Rieger
6627a1ab45
[repacker] Add a initial seed for the fuzzer repacker.
2022-12-01 20:17:40 +00:00
Garret Rieger
deca30b268
[repacker] get repacker fuzzer working.
...
Additionally add helper method that allows a graph to be saved as a fuzzer seed.
2022-12-01 20:17:40 +00:00
Garret Rieger
261a605f9c
[repacker] verify graph is a dag before using the fuzzer input.
2022-12-01 20:17:40 +00:00
Garret Rieger
985b19f678
[repacker] begin implementing a fuzzer for the repacker api.
2022-12-01 20:17:39 +00:00
Garret Rieger
64e8707eca
[subset] don't use hb repacker when generating test files from fonttools.
2022-11-24 18:24:50 +00:00
Garret Rieger
ff3cac0ccd
[subset] Fix unecessary trailing 0 bytes left by ContextFormat2 pruning.
...
Uneeded rules where beind removed from the count by the bytes for them was being left in the font.
2022-11-23 23:50:49 +00:00
Garret Rieger
dd1ba328a8
[repacker] fix fuzzer timeout.
...
For https://oss-fuzz.com/testcase-detail/5845846876356608 . Only process the set of unique overflows.
2022-11-21 16:24:48 -07:00
Behdad Esfahbod
527823ccac
[unicode] Destroy user_data in set_funcs fail paths
...
This is what the font_funcs / draw_funcs do.
2022-11-19 15:19:08 -07:00
Qunxin Liu
6314aa7da4
[subset] add an experimental API that can override name strings for specified name_id
2022-11-08 14:10:25 -07:00
Behdad Esfahbod
f53ef69d59
[indic] Order left-matras inside-out
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3863
2022-11-05 15:40:05 -06:00
Garret Rieger
2822b589bc
[subset] Include instancing tests in distribution.
...
Automatically enable them when the experimental api is enabled.
2022-11-03 14:24:15 -06:00
Qunxin Liu
8a5524833c
[instance] update OS2/.usWeightClass and .usWidthClass when
...
no-prune-unicode-ranges option is enabled
2022-10-27 11:59:31 -06:00
Behdad Esfahbod
e854739b2d
[fuzzing] Add test font for previous commit
2022-10-26 13:12:56 -06:00
Garret Rieger
db22bfb3cc
[subset] Remove Franklin from the tests which is not an open source font.
2022-10-17 13:15:47 -06:00
Garret Rieger
3394ec7048
[subset] use subset accelerator in tests.
...
This ensures it produces equivalent subsets as without the accelerator.
2022-10-13 23:02:54 +00:00