Commit graph

735 commits

Author SHA1 Message Date
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
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
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
David Corbett
ade87e1538 [Unicode 15] Add tests 2022-08-27 19:11:19 -04:00
Behdad Esfahbod
4ab7e579cb Make HB_BORING_EXPANSION opt-in instead of opt-out
Fixes https://github.com/harfbuzz/harfbuzz/issues/3757
2022-08-12 12:23:48 -06:00
Garret Rieger
f3aff45e04 [repacker] Update call to hb_subset_repack_or_fail in tests. 2022-07-29 16:16:46 -06:00
Behdad Esfahbod
1945b400da [cpluscplus] Wrap hb-subset types as well
Also changes signature of get_user_data of hb.h types to take const
object. This is safe.
2022-07-25 10:45:55 -06:00
Frédéric Wang
32e542d6f0 try & fix build errors on the bot 2022-06-29 10:08:07 -06:00
Frédéric Wang
03d2376745 [math] Improve fuzzing coverage
Extend testing to cover parts that are missing according to the recent
oss-fuzz-coverage report:
- Retriving all constants from MathConstants.
- Retrieving entries from MathKern, MathGlyphPartRecord and
  MathGlyphAssembly.
- Retrieving italic correction from MathGlyphAssembly.
- Choosing between horizontal/vertical offset in MathVariants.

https://storage.googleapis.com/oss-fuzz-coverage/harfbuzz/reports/20220627/linux/src/harfbuzz/src/hb-ot-math-table.hh.html
https://github.com/harfbuzz/harfbuzz/issues/3688
2022-06-29 10:08:07 -06:00
Behdad Esfahbod
d3308f4713 [font] Optimize font scaling further 2022-06-27 11:28:57 -06:00
Behdad Esfahbod
556e7078f0 [font] Optimize glyph scaling 2022-06-26 17:48:43 -06:00
Garret Rieger
af74ab452f [repack] always run the sort in repack.
This is needed to ensure virtual link ordering constraints are respected when repack is being called from fontTools. For subset usage, repack won't be called if the graph doesn't already overflow so this change doesn't cause any extra work.
2022-06-16 15:17:58 -06:00
Behdad Esfahbod
b39b5f2f31 [name] Implement approximate language matching
Very rudimentary.

Fixes https://github.com/harfbuzz/harfbuzz/issues/3354
2022-06-03 13:00:33 +01:00
Behdad Esfahbod
7aacdd05bd [cplusplus] Test hashing shared_ptr / unique_ptr 2022-06-03 02:10:06 -06:00
Behdad Esfahbod
d7785a6da0 [cplusplus] Add unique_ptr 2022-06-02 12:43:04 -06:00