kc3-lang/harfbuzz/test

Branch :


Log

Author Commit Date CI Message
ff3aaece 2025-02-10 14:25:58 [test/shape-plan] Add another test and some comments
cf336f17 2025-02-10 14: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.
a7d7715f 2025-02-02 23: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.
8c561733 2025-02-12 12:37:10 [test/coretext] Add a test for copying variations
7ba3efa5 2025-02-09 18:42:45 [tests/fuzzing] Use the correct dirs for subset and repacker fuzzers
c404d8fc 2025-02-09 18:08:50 [test/fuzzing] Merge hb_fuzzer_tools.py back and simplify
4c43fdcd 2025-02-09 17: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.
c29b1de3 2025-02-09 15:38:18 [test/fuzzing] Remove old cruft
86329643 2025-02-09 15: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
be22e43d 2025-02-09 14: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
6738ee3d 2025-02-09 13:30:19 [ci/fedora-valgrind] Add time multiplier of 10 and run slow tests
fc4d5077 2025-02-09 13:28:45 [hb-draw-fuzzer] Increase test time I'm getting timeouts. Might be an infinite loop. But let's see.
cb6779f9 2025-02-09 08: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
134eef55 2025-02-09 08:22:38 [test] Reorder test suites Makes it a bit faster. https://github.com/harfbuzz/harfbuzz/issues/4153#issuecomment-2646120679
c55738fa 2025-02-09 08: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
be287eab 2025-02-09 04:18:31 [trak] Don't shift glyphs That's what CoreText does and fonts are designed for. Who are we to improve on...
1150d4bf 2025-02-09 04:16:57 [trak] Remove support for disabling using pseudo-font-feature Fixes https://github.com/harfbuzz/harfbuzz/issues/5052
1bf0a5bc 2025-02-09 02:43:09 [trak] Streamline a bit Also use float math.
b1677e76 2025-02-09 01: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
f394206b 2025-02-06 19:48:56 [ot-shape] Only apply trak'ing if STAT table present
7f5fac7c 2025-02-04 23:35:34 [test-buffer] Fix unintionally merged change
f0ead852 2025-02-04 23:27:03 [aat] Implement set filtering for Noncontextual chains as well
4825e5e2 2025-02-04 00: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
b394ab39 2025-01-31 10:21:31 [test-buffer] Add code for testing end_ptr
9ef009f5 2025-01-24 16:37:12 [test] Fix test Broken by previous commit. https://github.com/harfbuzz/harfbuzz/issues/5020#issuecomment-2613597379
bdb50f1c 2025-01-07 20:32:05 [repacker] Also rename api method from hb_subset_repack_or_fail -> hb_subset_serialize_or_fail.
05650416 2025-01-07 19: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.
5a6f5922 2025-01-06 21:16:24 [repacker] Promote repacking API to stable. For #227.
57569baa 2025-01-02 21:14:25 Don’t insert U+25CC before super/subscript digits
edb3b208 2024-12-15 12:01:33 Make hb_test_tools.py work in Python 3.13
f887096a 2024-12-15 10:53:09 [myanmar] Allow all tones (& visarga) in any order
773fe850 2024-11-20 17: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
b0d52abe 2024-10-23 20: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
622e9c33 2024-11-06 10:59:17 [instancer] fix for incorrect offset calculation when we have gvar padding
2dc63341 2024-10-13 20: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.
755929c4 2024-10-12 20:08:32 Fix more compiler warnings In case FreeType is not available.
4d1f6e04 2024-10-06 18: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.
e1572054 2024-10-06 18: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.
8de0d911 2024-10-06 18: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.
b6196986 2024-10-03 15:56:04 [USE] Update the data files This uses the data files from <https://github.com/microsoft/font-tools/tree/e00698c07a0444647db84a7f8bf03d1081bd53b3/USE>.
867366cc 2024-09-24 09:17:12 [test] Add GeezaPro tests for MacOS 15.0
7aace3d3 2024-09-23 07:47:24 Ignore CGJ and Mongolian Variation Selectors during GPOS Fixes https://github.com/harfbuzz/harfbuzz/issues/4869
5e5cd10e 2024-09-22 12:36:51 Don't make variation-selectors default-ignorable if not-found set https://github.com/harfbuzz/harfbuzz/pull/4863#issuecomment-2366908261
b94a39d7 2024-09-22 08: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.
287046f7 2023-12-15 10:24:03 [buffer] Hook up not-found-variation-selector-glyph Fixes https://github.com/harfbuzz/harfbuzz/issues/4398
6fd76e1f 2024-09-17 13:50:10 [subset] offset format fix in gvar table
e30dedbb 2024-09-14 12:06:08 [Unicode 16] Add tests
554658e3 2024-09-14 11:08:37 [Unicode 16] Update the emoji table & cluster test
98353ece 2024-09-11 11:35:15 [test] Run shape tests with C locale as well https://github.com/harfbuzz/harfbuzz/pull/4857
70334d74 2024-09-11 14: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
634778ef 2024-08-20 14:34:09 [subset] bug fix in post table insert retain-gid holes when retain-gids is enabled
72502ef0 2024-08-12 14:08:06 [instancer] dont return false when variation data is empty after partial instancing
59a97ac0 2024-08-06 14:53:36 [test] More get_table_tags test
a55b0071 2024-08-06 14:39:10 [test] Add get_table_tags test for hb-coretext
bd79bfb6 2024-08-06 13:40:06 [test] Add get_table_tags test for hb-ft
a459753e 2024-08-06 13:31:24 [test] Test get_table_tags of face_builder
8896b1d5 2024-08-06 12:34:15 [test] Add test for get_table_tags So far just tests the default implementation.
84f16564 2024-08-06 12:15:39 [test] Move code around
22e1a5a7 2024-08-06 12:20:34 [test-paint] Fix warnings
191c6eed 2024-08-06 06:59:32 Fix Linux bot
e0c3cbf1 2024-08-06 06:46:44 [subset] Fail if source face has no glyphs Also return nullptr if any of the input pointers are nullptr. Before we were returning the empty face. Fixes https://github.com/harfbuzz/harfbuzz/issues/4824
788b469a 2024-07-25 14:50:01 [ChainContext] Fix fast-path deviation from slow path See comments. The input skippy was hitting the U+200D and NOT seeing it skippable, whereas the context skippy would had. Fixes https://github.com/harfbuzz/harfbuzz/issues/4813
a38f853e 2024-06-27 15:35:01 Drop unused Makefile.sources files
cf1fdf16 2024-06-27 06:54:02 Drop autotools build Fixes https://github.com/harfbuzz/harfbuzz/issues/4720
49c8493f 2024-06-20 11:16:40 [test] Build with HB_MINI Also add CONFIG.md instructions for building configs with meson. Fixes https://github.com/harfbuzz/harfbuzz/issues/4760
106e4068 2024-06-20 09:50:46 HB_SCRIPT_CANADIAN_ABORIGINAL removed, as deprecated
8de7e9fd 2024-06-20 08:54:23 deprecation cleanup: HB_BUFFER_FLAGS_DEFAULT removed
1e2bd498 2024-06-04 23:53:36 Another include fix https://github.com/harfbuzz/harfbuzz/issues/4740#issuecomment-2148910890
e9870e8d 2024-06-04 20:50:06 Add missing include https://github.com/harfbuzz/harfbuzz/issues/4740#issuecomment-2148727072
9456f6bd 2024-06-02 10:32:07 [test] Fix a few compiler warnings
c2b5b7b9 2024-06-01 12:48:17 [ot-tags] Update IANA and OT language registries
135d6537 2024-05-31 01:25:05 test-draw-varc.c: Fix “warning: unused function”
0037ee28 2024-05-24 08:10:15 Merge pull request #4578 from harfbuzz/varc-table `VARC` table
0660a4d4 2024-05-13 19:28:57 [subset] fix fuzzer found heap use after free in BASE subsetting.
0db136b1 2024-05-09 11:49:48 [subset-cff] Shorten output of `encode_num_tp`
7975c9ca 2024-05-08 10:11:03 [instancer] bug fix for COLRv1, add missing mapping to VarIdx::NO_VARIATION
b74a7ecc 2024-05-07 19:53:01 Fix IUP differences accoss platforms. - Slightly increase the tolerance to account for differences in floating point math across platforms. - The specific issue is a fused multiply add (d = d1 + (x - x1) * scale; in hb-subset-instancer-iup.cc) - Also fix more implicit double conversion warnings.
a5c9c826 2024-05-06 13:22:49 rename expected files from *.retain-all-codepoint.* to *.all.* This is to fix file name too long error tar: harfbuzz-8.4.0/test/subset/data/expected/sync_vmetrics/playwrite_mm.subset.default.retain-all-codepoint.SPED=25,YEXT=520,wght=100-400,slnt=18.iup_optimize.ttf: file name is too long (cannot be split); not dumped tar: Exiting with failure status due to previous errors
3b3c154b 2024-05-06 12:56:23 add back missing tests that were disabled when wrapped by experimental
6c898572 2024-05-02 10:11:06 fix bots
f614a7d3 2024-05-02 10:05:18 [instancer] add/update tests for COLRv1 instancing
ebcdadbf 2024-05-03 14:24:56 [instancer] add tests for instantiating BASE table
4d2380f5 2024-05-03 14:05:56 Merge pull request #4693 from harfbuzz/promote-vf-api [instancer] Promote partial instancing API out of experimental.
f145ab2f 2024-05-03 18:24:33 Disable empty_region_vardata test when running on 32bit machines.
ba1f194a 2024-05-02 12:18:11 [gsubgpos] Reduce stack use in recursion
4cf606f6 2024-05-02 20:46:29 [instancer] Promote partial instancing api out of experimental.
6129c726 2024-04-22 14:52:58 [varc] Use Condition instead of ConditionSet With more Condition formats. https://github.com/harfbuzz/boring-expansion-spec/commit/df7dcc4618b9dc003740d25c53afe30a8fc03fe2 https://github.com/harfbuzz/boring-expansion-spec/issues/147
d07d70ae 2024-03-22 11:43:37 [varc] Add test
1121d80b 2024-03-22 10:45:36 [varc] Add a conditional test font
7c874354 2024-03-20 15:34:24 [varc] Implement conditionSets
3ffd92f0 2024-03-17 12:38:30 [varc] Add a couple of seeds for the fuzzer
2cfa5505 2024-03-27 23:21:57 [instancer] Switch to doubles for delta calculations. FontTools uses double's internally so match FontTool's precision so we get the same results more often for floating point calculations.
c84acc8e 2024-04-08 23:46:14 [subset] Fix fuzzer found memory leak. Fixes https://oss-fuzz.com/testcase-detail/6159925345583104.
6e874817 2024-03-27 17:47:57 [subset] add virtual links to keep the gdef varstore last.
71456071 2024-03-25 21:41:16 [subset] place the gdef var store at the end of the GDEF table. It appears that some font processors assume it is the last sub table.
990fb14d 2024-03-28 22:32:55 [subset] Disable fonttools comparison in a few tests where rounding diffs show up. Context: https://github.com/harfbuzz/harfbuzz/issues/4642
11f5dec7 2024-03-27 19:34:51 [subset] Move post apply mvar test intance position to avoid rounding diff.
975bd39b 2024-03-27 19:28:53 [subset] Match hb rounding to fonttools for avg char width. Update Muli and Roboto input test fonts to recalc class values. FontTools recalcs class values during instancing while harfbuzz does not (like the ft subsetter).
15a05b24 2024-03-27 18:26:09 [subset] Update generate-expected-outputs to drop BASE. This matches the behaviour of the test runner.
ec46c4c2 2024-03-27 18:11:26 [subset] Update subset test suite to match some changes made to fonttools. FontTools has added pruning functionality for code pages which we don't yet have in harfbuzz. Update our test runner to disable that for now. Also match fonttools and always recalc usFirst/LastCharIndex even if no prune unicode ranges is set.