test


Log

Author Commit Date CI Message
Behdad Esfahbod aacc667e 2025-03-16T21:27:45 [test/shape/run-tests] Streamline testing other backends
Behdad Esfahbod 379688c5 2025-03-13T14:47:34 [test-face] Relax on face load failure
Behdad Esfahbod 469502c9 2025-03-12T11:02:43 [test-paint] Test fontations too Luckily it passes!
Behdad Esfahbod d014efd0 2025-03-11T13:37:48 Merge pull request #5131 from harfbuzz/using2 Add hb_ft_face_create_from_blob_or_fail() et al
Behdad Esfahbod 759e1881 2025-03-11T12:12:08 [coretext] Fix loading TTC files
Behdad Esfahbod 15fcfcb6 2025-03-11T12:01:20 Merge pull request #5129 from harfbuzz/buffer-deserialize Fix buffer deserialize
Behdad Esfahbod 5e6da541 2025-03-11T12:00:18 [test] Minor, accept absolute font paths
Behdad Esfahbod 8687f5c3 2025-03-10T23:11:27 [face] Add tests for new constructors
Behdad Esfahbod 756668d3 2025-03-11T11:27:02 [directwrite] Drop dependency again as per review https://github.com/harfbuzz/harfbuzz/pull/5132#issuecomment-2714186460
Behdad Esfahbod 6b2f8592 2025-03-11T00:27:32 [test-c] Disable gobject include It can't find its dependent headers since not installed.
Behdad Esfahbod 8ca892b0 2025-03-11T00:19:34 [directwrite] Simplify headers
Behdad Esfahbod d247c116 2025-03-11T00:11:41 [test-draw] Test all font funcs
Behdad Esfahbod d2ccf595 2025-03-11T00:15:19 Directwrite is a C++ header?
Behdad Esfahbod 41dcc493 2025-03-10T23:40:39 [test-cplusplus] Simplify
Behdad Esfahbod dbad6cdf 2025-03-10T23:20:54 [test-c(plusplus)] Add more headers
Behdad Esfahbod 3c02fcd0 2025-03-10T23:16:30 [test-multithread] Simplify
Behdad Esfahbod 7a912c47 2025-03-10T16:20:16 [buffer-deserialize] Fix return value and parsing I think I got it right. Alternative to https://github.com/harfbuzz/harfbuzz/pull/5028
Behdad Esfahbod d8a774c0 2025-03-10T01:04:35 [test] Add test for new grapheme cluster level
Behdad Esfahbod ff76244e 2025-03-09T17:23:18 [aat/morx] Delete deleted glyphs again But also check for default-ignorable bit this time.
Behdad Esfahbod c6972ac6 2025-03-07T15:29:48 [aat] Towards removing special deleting of 0xFFFF See https://github.com/harfbuzz/harfbuzz/discussions/5118 Remove the removal. Depend on the default_ignorable flag to hide them later. Test output adjusted.
Behdad Esfahbod 712a403b 2025-03-08T12:23:41 [font-funcs-using] Apply review feedback
Behdad Esfahbod c3eac5c0 2025-03-08T11:54:15 [test-threads] Test all font-funcs Fontations & Coretext are new and seems to pass.
Behdad Esfahbod 2a878b1b 2025-03-07T17:23:17 [font-funcs] Add two new API + hb_font_set_funcs_using() + hb_font_list_funcs() Part of https://github.com/harfbuzz/harfbuzz/issues/5117
Matthias Clasen 41e14f70 2025-03-07T08:00:34 [test-paint] Use latest test fonts Update the color test fonts from https://github.com/googlefonts/color-fonts/ repository and update the test results.
Khaled Hosny a3566030 2025-03-07T14:07:13 [directwrite/test] Add test that actually works Apparently DirectWrite does not allow disabling calt in Arabic, so test liga in Latin and ss01 in Arabic.
Khaled Hosny 9abaf193 2025-03-07T02:53:43 [directwrite] Fix applying features to directwrite shaper The range_features was ending up with random data because hb_ms_make_feature_ranges() keeps pointers to data allocated in feature_records and range_records, but that data was getting freed before range_features was used. Change the variable scope to avoid freeing the data too early. Fixes https://github.com/harfbuzz/harfbuzz/issues/5113
Behdad Esfahbod 6506bd7e 2025-03-06T20:00:54 Merge pull request #4498 from harfbuzz/PaintColrLayers [COLRv1] Optimize PaintColrLayers instead of PaintComposite
Matthias Clasen 9fbc2d23 2025-03-06T20:11:23 [test-paint] Regenerate the test output This commit updates the expected output of the paint tests to what the current code produces.
Matthias Clasen 0ce90f60 2025-03-06T20:10:13 [test-paint] Make it easier to regenerate test output This command will regenerate the expected output for all the paint tests: GENERATE_DATA=1 G_TEST_SRCDIR=./test/api ./build/test/api/test-paint
Khaled Hosny aecc9110 2025-03-06T03:51:57 [fontations/test] Add to test-draw
Khaled Hosny 69e1c3c3 2025-02-28T00:25:17 [ft] Add hb_ft_font_get_ft_face() A new name for hb_ft_font_get_face(), which is now deprecated. Fixes https://github.com/harfbuzz/harfbuzz/issues/5084
Behdad Esfahbod 9d149c52 2025-02-26T15:07:46 [test-paint] Redirect generated output to stderr
Behdad Esfahbod 753093d6 2025-02-26T14:41:04 [test-colrv1] Add test files from https://roettsch.es/var_colrv1.html These are not currently used for any testing. To be used later.
Behdad Esfahbod 6fe14417 2023-11-17T12:25:42 [test-paint] Update comment
Garret Rieger ea1434b8 2025-02-25T19:00:29 Split iup glyf partial instance tests into a separate set which ignores due to IUP rounding differences fonttools.
Behdad Esfahbod 9a0cf8d6 2025-02-25T00:19:25 [test/subset/cff-japanese] Shrink test Was taking too long.
Behdad Esfahbod 084fb3ab 2025-02-25T00:16:27 [test/subset/cmap] Shrink test Was taking more than the rest of the test suite combined.
Behdad Esfahbod 74bb7c52 2025-02-24T20:21:38 Fix a compiler warning
Khaled Hosny 03cf1565 2025-02-20T21:56:56 [directwrite] Rename font_get_font to font_get_dw_font https://github.com/harfbuzz/harfbuzz/pull/5079#pullrequestreview-2627407692
Khaled Hosny a8fd2971 2025-02-13T17:16:20 [directwrite] Add hb_directwrite_font_create()/font_get_font() Uses hb_directwrite_face_create() under the hood, but copies variations from directwrite to hb-font.
Khaled Hosny ff3aaece 2025-02-10T14:25:58 [test/shape-plan] Add another test and some comments
Khaled Hosny cf336f17 2025-02-10T14:15:25 [shape-plan] Rename hb_ot_shape_plan_get_features to get_feature_tags Simplify the API by returning only feature tags. The users of this API would be interested only in feature enabled by default and whether the feature is globally or partially enabled wouldn’t be of much interest in that case. For user features, the user of the API already have full access to them.
Khaled Hosny a7d7715f 2025-02-02T23:06:11 [shape-plan] Add hb_ot_shape_plan_get_features This should get the features on a shape plan after executing it. Initially I wanted to return an array of tags, but then there can be user features that are not enabled globally, so I thought returning hb_feature_t with value and range would be better. There is a TODO since I couldn’t figure out how to get the value and range from the feature mask. But also it may be overkill and a simple boolean indicating wither it is a global feature or not would be enough. I wounder also what should happen to non-user features that are applied selectively, like init or medi, does ot make sense to indicate whether they are global or not? This is inspired by the discussion in: https://github.com/fontforge/fontforge/pull/5522#pullrequestreview-2574321449, but it might be useful to other HarfBuzz users.
Khaled Hosny 8c561733 2025-02-12T12:37:10 [test/coretext] Add a test for copying variations
Khaled Hosny 7ba3efa5 2025-02-09T18:42:45 [tests/fuzzing] Use the correct dirs for subset and repacker fuzzers
Khaled Hosny c404d8fc 2025-02-09T18:08:50 [test/fuzzing] Merge hb_fuzzer_tools.py back and simplify
Khaled Hosny 4c43fdcd 2025-02-09T17:52:13 [test/fuzzing] Simplify Python scripts further We always path the fuzzer path in meson, so we don’t need to search for fuzzer path in the scripts, and then we can use one script for all the fuzzers.
Behdad Esfahbod c29b1de3 2025-02-09T15:38:18 [test/fuzzing] Remove old cruft
Behdad Esfahbod 86329643 2025-02-09T15:12:03 [test/fuzzing] Call binaries with 64 fonts at a time Second try... Previous attempt caused a too-many-command-line-args on Windows. https://github.com/harfbuzz/harfbuzz/issues/5061
Behdad Esfahbod be22e43d 2025-02-09T14:55:44 [test/fuzzing] Run each fuzzer on all fonts in one process Much much faster, specially under valgrind, than spawning one process per font. Fixes https://github.com/harfbuzz/harfbuzz/issues/5061
Behdad Esfahbod 6738ee3d 2025-02-09T13:30:19 [ci/fedora-valgrind] Add time multiplier of 10 and run slow tests
Behdad Esfahbod fc4d5077 2025-02-09T13:28:45 [hb-draw-fuzzer] Increase test time I'm getting timeouts. Might be an infinite loop. But let's see.
Behdad Esfahbod cb6779f9 2025-02-09T08:39:03 [test] Try running slow tests early Probably already happens, but this wouldn't hurt. https://github.com/harfbuzz/harfbuzz/issues/4153#issuecomment-2646125367
Behdad Esfahbod 134eef55 2025-02-09T08:22:38 [test] Reorder test suites Makes it a bit faster. https://github.com/harfbuzz/harfbuzz/issues/4153#issuecomment-2646120679
Behdad Esfahbod c55738fa 2025-02-09T08:08:52 [test] Set MALLOC_CHECK_ to 1 instead of 2; kill G_SLICE=always-malloc MALLOC_CHECK_=2 makes running tests twice slower on macOS. Value 1 is as fast as not checking at all. It's not like this ever caught a bug for us or anything. We have so many sanitizers and fuzzers funning on CI, which catch all kinds of memory problems. G_SLICE is long gone in glib. The slowest part of running the test suite now is the google-benchmark tests, that get run by us... I'll see if I can disable. I had reported it before at https://github.com/harfbuzz/harfbuzz/issues/4153
Behdad Esfahbod be287eab 2025-02-09T04:18:31 [trak] Don't shift glyphs That's what CoreText does and fonts are designed for. Who are we to improve on...
Behdad Esfahbod 1150d4bf 2025-02-09T04:16:57 [trak] Remove support for disabling using pseudo-font-feature Fixes https://github.com/harfbuzz/harfbuzz/issues/5052
Behdad Esfahbod 1bf0a5bc 2025-02-09T02:43:09 [trak] Streamline a bit Also use float math.
Behdad Esfahbod b1677e76 2025-02-09T01:56:03 [trak] Handle "out-of-range" values better If requested size < min-size, use the value for min-size. If requested size > max-size, use the value for max-size. This is the only way that makes sense. Extrapolating as we were doing, is just wrong... This also seems to match what CoreText does. Adjacent to fixing https://github.com/harfbuzz/harfbuzz/issues/5054
Behdad Esfahbod f394206b 2025-02-06T19:48:56 [ot-shape] Only apply trak'ing if STAT table present
Behdad Esfahbod 7f5fac7c 2025-02-04T23:35:34 [test-buffer] Fix unintionally merged change
Behdad Esfahbod f0ead852 2025-02-04T23:27:03 [aat] Implement set filtering for Noncontextual chains as well
Khaled Hosny 4825e5e2 2025-02-04T00:54:58 [face] Add fallback implementation to hb_face_reference_blob If referencing the face blob is not possible (e.g. not implemented by the font functions), use face builder to create a blob out of individual table blobs. Fixes https://github.com/harfbuzz/harfbuzz/issues/5036
Behdad Esfahbod b394ab39 2025-01-31T10:21:31 [test-buffer] Add code for testing end_ptr
Behdad Esfahbod 9ef009f5 2025-01-24T16:37:12 [test] Fix test Broken by previous commit. https://github.com/harfbuzz/harfbuzz/issues/5020#issuecomment-2613597379
Garret Rieger bdb50f1c 2025-01-07T20:32:05 [repacker] Also rename api method from hb_subset_repack_or_fail -> hb_subset_serialize_or_fail.
Garret Rieger 05650416 2025-01-07T19:56:25 [repacker] rename hb-subset-repacker -> hb-subset-serialize. Also hb_link_t and hb_object_t to hb_subset_serialize_link_t and hb_subset_serialize_object_t.
Garret Rieger 5a6f5922 2025-01-06T21:16:24 [repacker] Promote repacking API to stable. For #227.
David Corbett 57569baa 2025-01-02T21:14:25 Don’t insert U+25CC before super/subscript digits
David Corbett edb3b208 2024-12-15T12:01:33 Make hb_test_tools.py work in Python 3.13
David Corbett f887096a 2024-12-15T10:53:09 [myanmar] Allow all tones (& visarga) in any order
Khaled Hosny 773fe850 2024-11-20T17:20:49 [layout] Blocklist the GDEF table of various Courier New versions These files have incorrectly give several base glyphs GDEF mark glyph class leading in zeroing there advance widths. Fixes https://github.com/harfbuzz/harfbuzz/issues/4936
Garret Rieger b0d52abe 2024-10-23T20:49:44 [subset] consider variation selectors subsetting cmap14 cmap14 subsetting code was not considering variation selectors in the input unicode set when deciding which variant glyphs to keep. This updates subsetting to only keeps variant glyphs if their variation selector code point is in the input unicodes set. For https://github.com/harfbuzz/harfbuzz/issues/4911
Qunxin Liu 622e9c33 2024-11-06T10:59:17 [instancer] fix for incorrect offset calculation when we have gvar padding
Behdad Esfahbod 2dc63341 2024-10-13T20:03:16 [tests] Remove invalid tests from collections.tests Previously we silently returned the empty face if face_index was out of range. With util/ now using the new API hb_font_face_create_from_file_or_fail(), that returns a nullptr face now. So, adjust tests.
Behdad Esfahbod 755929c4 2024-10-12T20:08:32 Fix more compiler warnings In case FreeType is not available.
Khaled Hosny 4d1f6e04 2024-10-06T18:25:24 [COLR] Enable COLRv0 support in get_extents() paint_glyph() supports COLRv0 but this code is never reached because of the early return if version is not 1. This early return seems to be from before COLRv0 extents were supported.
Julien Nabet e1572054 2024-10-06T18:51:33 unused-parameter in test/fuzzing/hb-draw-fuzzer.cc ../test/fuzzing/hb-draw-fuzzer.cc:19:28: error: unused parameter 'dfuncs' [-Werror,-Wunused-parameter] _move_to (hb_draw_funcs_t *dfuncs, void *draw_data_, ^ ../test/fuzzing/hb-draw-fuzzer.cc:22:10: error: unused parameter 'user_data' [-Werror,-Wunused-parameter] void *user_data) ^ ../test/fuzzing/hb-draw-fuzzer.cc:31:28: error: unused parameter 'dfuncs' [-Werror,-Wunused-parameter] _line_to (hb_draw_funcs_t *dfuncs, void *draw_data_, ^ ../test/fuzzing/hb-draw-fuzzer.cc:34:10: error: unused parameter 'user_data' [-Werror,-Wunused-parameter] void *user_data) ^ ../test/fuzzing/hb-draw-fuzzer.cc:44:33: error: unused parameter 'dfuncs' [-Werror,-Wunused-parameter] _quadratic_to (hb_draw_funcs_t *dfuncs, void *draw_data_, ^ ../test/fuzzing/hb-draw-fuzzer.cc:46:15: error: unused parameter 'control_x' [-Werror,-Wunused-parameter] float control_x, float control_y, ^ ../test/fuzzing/hb-draw-fuzzer.cc:46:32: error: unused parameter 'control_y' [-Werror,-Wunused-parameter] float control_x, float control_y, ^ ../test/fuzzing/hb-draw-fuzzer.cc:48:15: error: unused parameter 'user_data' [-Werror,-Wunused-parameter] void *user_data) ^ ../test/fuzzing/hb-draw-fuzzer.cc:58:29: error: unused parameter 'dfuncs' [-Werror,-Wunused-parameter] _cubic_to (hb_draw_funcs_t *dfuncs, void *draw_data_, ^ ../test/fuzzing/hb-draw-fuzzer.cc:60:11: error: unused parameter 'control1_x' [-Werror,-Wunused-parameter] float control1_x, float control1_y, ^ ../test/fuzzing/hb-draw-fuzzer.cc:60:29: error: unused parameter 'control1_y' [-Werror,-Wunused-parameter] float control1_x, float control1_y, ^ ../test/fuzzing/hb-draw-fuzzer.cc:61:11: error: unused parameter 'control2_x' [-Werror,-Wunused-parameter] float control2_x, float control2_y, ^ ../test/fuzzing/hb-draw-fuzzer.cc:61:29: error: unused parameter 'control2_y' [-Werror,-Wunused-parameter] float control2_x, float control2_y, ^ ../test/fuzzing/hb-draw-fuzzer.cc:63:11: error: unused parameter 'user_data' [-Werror,-Wunused-parameter] void *user_data) ^ ../test/fuzzing/hb-draw-fuzzer.cc:73:31: error: unused parameter 'dfuncs' [-Werror,-Wunused-parameter] _close_path (hb_draw_funcs_t *dfuncs, void *draw_data_, ^ ../test/fuzzing/hb-draw-fuzzer.cc:75:13: error: unused parameter 'user_data' [-Werror,-Wunused-parameter] void *user_data) ^ 16 errors generated.
Julien Nabet 8de0d911 2024-10-06T18:44:21 missing-field-initializers in test/api/test-ot-face.c FAILED: test/fuzzing/hb-shape-fuzzer.p/hb-shape-fuzzer.cc.o clang++ -Itest/fuzzing/hb-shape-fuzzer.p -Itest/fuzzing -I../test/fuzzing -I. -I.. -Isrc -I../src -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++11 -fno-exceptions -O3 -fno-exceptions -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -DHAVE_CONFIG_H -Wall -Wextra -Werror -MD -MQ test/fuzzing/hb-shape-fuzzer.p/hb-shape-fuzzer.cc.o -MF test/fuzzing/hb-shape-fuzzer.p/hb-shape-fuzzer.cc.o.d -o test/fuzzing/hb-shape-fuzzer.p/hb-shape-fuzzer.cc.o -c ../test/fuzzing/hb-shape-fuzzer.cc In file included from ../test/fuzzing/hb-shape-fuzzer.cc:9: ../test/fuzzing/../api/test-ot-face.c:47:34: error: missing field 'y_bearing' initializer [-Werror,-Wmissing-field-initializers] hb_glyph_extents_t extents = {0}; ^ ../test/fuzzing/../api/test-ot-face.c:85:55: error: missing field 'enable' initializer [-Werror,-Wmissing-field-initializers] hb_aat_layout_feature_selector_info_t setting = {0}; ^ 2 errors generated.
David Corbett b6196986 2024-10-03T15:56:04 [USE] Update the data files This uses the data files from <https://github.com/microsoft/font-tools/tree/e00698c07a0444647db84a7f8bf03d1081bd53b3/USE>.
Behdad Esfahbod 867366cc 2024-09-24T09:17:12 [test] Add GeezaPro tests for MacOS 15.0
Behdad Esfahbod 7aace3d3 2024-09-23T07:47:24 Ignore CGJ and Mongolian Variation Selectors during GPOS Fixes https://github.com/harfbuzz/harfbuzz/issues/4869
Behdad Esfahbod 5e5cd10e 2024-09-22T12:36:51 Don't make variation-selectors default-ignorable if not-found set https://github.com/harfbuzz/harfbuzz/pull/4863#issuecomment-2366908261
Behdad Esfahbod b94a39d7 2024-09-22T08:23:34 Follow up to variation-selector-not-found glyph Addresses https://github.com/harfbuzz/harfbuzz/pull/4529#discussion_r1769638033 I'm not sure if this is an improvement. By leaving the var-selector as default-ignorable, ligatures can form around it, and the resulting cluster won't make it clear *which* base+var-selector could not be resolved... That doesn't quite help font fallback the way we want. Putting up for review.
Behdad Esfahbod 287046f7 2023-12-15T10:24:03 [buffer] Hook up not-found-variation-selector-glyph Fixes https://github.com/harfbuzz/harfbuzz/issues/4398
Qunxin Liu 6fd76e1f 2024-09-17T13:50:10 [subset] offset format fix in gvar table
David Corbett e30dedbb 2024-09-14T12:06:08 [Unicode 16] Add tests
David Corbett 554658e3 2024-09-14T11:08:37 [Unicode 16] Update the emoji table & cluster test
Behdad Esfahbod 98353ece 2024-09-11T11:35:15 [test] Run shape tests with C locale as well https://github.com/harfbuzz/harfbuzz/pull/4857
Alexander Grund 70334d74 2024-09-11T14:30:32 Run subset tests with C-locale One problematic input is `--instance=wdth=112.5` which is parsed using the users local (`strtof`). So while in C or US locales it yields 112.5 in some European locales it yields 112 as the dot is not valid in this position. A European user might pass "112,5" instead but for the test the C locale is assumed, so enforce it. Fixes #4854
Qunxin Liu 634778ef 2024-08-20T14:34:09 [subset] bug fix in post table insert retain-gid holes when retain-gids is enabled
Qunxin Liu 72502ef0 2024-08-12T14:08:06 [instancer] dont return false when variation data is empty after partial instancing
Behdad Esfahbod 59a97ac0 2024-08-06T14:53:36 [test] More get_table_tags test
Behdad Esfahbod a55b0071 2024-08-06T14:39:10 [test] Add get_table_tags test for hb-coretext
Behdad Esfahbod bd79bfb6 2024-08-06T13:40:06 [test] Add get_table_tags test for hb-ft
Behdad Esfahbod a459753e 2024-08-06T13:31:24 [test] Test get_table_tags of face_builder
Behdad Esfahbod 8896b1d5 2024-08-06T12:34:15 [test] Add test for get_table_tags So far just tests the default implementation.
Behdad Esfahbod 84f16564 2024-08-06T12:15:39 [test] Move code around
Behdad Esfahbod 22e1a5a7 2024-08-06T12:20:34 [test-paint] Fix warnings
Behdad Esfahbod 191c6eed 2024-08-06T06:59:32 Fix Linux bot