test/api


Log

Author Commit Date CI Message
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.
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
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
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 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
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 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
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 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 e30dedbb 2024-09-14T12:06:08 [Unicode 16] Add tests
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
Behdad Esfahbod e0c3cbf1 2024-08-06T06: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
Khaled Hosny cf1fdf16 2024-06-27T06:54:02 Drop autotools build Fixes https://github.com/harfbuzz/harfbuzz/issues/4720
Behdad Esfahbod 49c8493f 2024-06-20T11: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
ssmid 106e4068 2024-06-20T09:50:46 HB_SCRIPT_CANADIAN_ABORIGINAL removed, as deprecated
ssmid 8de7e9fd 2024-06-20T08:54:23 deprecation cleanup: HB_BUFFER_FLAGS_DEFAULT removed
Behdad Esfahbod 9456f6bd 2024-06-02T10:32:07 [test] Fix a few compiler warnings
David Corbett c2b5b7b9 2024-06-01T12:48:17 [ot-tags] Update IANA and OT language registries
Khaled Hosny 135d6537 2024-05-31T01:25:05 test-draw-varc.c: Fix “warning: unused function”
Behdad Esfahbod 0037ee28 2024-05-24T08:10:15 Merge pull request #4578 from harfbuzz/varc-table `VARC` table
David Corbett 0db136b1 2024-05-09T11:49:48 [subset-cff] Shorten output of `encode_num_tp`
Behdad Esfahbod 6129c726 2024-04-22T14: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
Behdad Esfahbod d07d70ae 2024-03-22T11:43:37 [varc] Add test
Ozkan Sezer dbecddb4 2024-03-17T11:50:04 tests, hb-test.h: define g_assert_false && g_assert_nonnull for old glib Reference issue: https://github.com/harfbuzz/harfbuzz/issues/4577 Reference issue: https://github.com/harfbuzz/harfbuzz/issues/4624
Lie Yan 2da79f70 2024-03-09T22:45:37 fix(test-ot-math.c): remove redundant lines
Christer Sandberg 1ab8822b 2024-02-09T17:24:49 Fixed some errors in STAT table implementation
Lie Yan c17d6746 2024-01-07T22:10:10 [ot-math] Fix a bug in MathKern::get_value() Fixes https://github.com/harfbuzz/harfbuzz/issues/4542
Garret Rieger 9701b002 2023-11-06T22:14:31 [subset] Always place CFF1/2 char strings at the end of the packed table. Makes the behaviour from HB_SUBSET_FLAGS_IFTB_REQUIREMENTS the default.
Garret Rieger c6884377 2023-11-06T20:21:46 [subset] Add HB_SUBSET_FLAGS_IFTB_REQUIREMENTS flag. When enabled the output subset conforms to the requirements for a base font to be patched by IFTB patches. IFTB is a proposed incremental font transfer patch. This new flag is set as experimental. Currently, setting this flag causes the output subset to also use long offsets for outline data in loca/glyf, gvar, CFF, and CFF2. This change is a version of https://github.com/skef/harfbuzz/commit/3ae2fe2084d96f61d8ad1bbe42a6ef4e62ec830a rebased onto head w/ tests added.
Khaled Hosny 6e06a193 2023-09-30T01:12:16 Add some tests for hb_feature_[from|to]_string()
David Corbett c459b8a5 2023-09-16T10:27:07 [Unicode 15.1] Add tests
Behdad Esfahbod 0c80aec1 2023-08-15T10:30:38 [COLR] Move cycle-detection to the renderer instead of cairo Alternative fix for https://github.com/harfbuzz/harfbuzz/issues/4375
Behdad Esfahbod 7d7541e3 2023-08-14T17:55:09 [test-paint] Print paint-color-glyph
Behdad Esfahbod 47231bdc 2023-08-14T16:52:44 [COLR/cairo/ft] Fixups to paint-color-glyph and implement for hb-ft
Behdad Esfahbod 58effbcc 2023-08-14T16:47:01 .
Behdad Esfahbod c8f6ae1d 2023-07-08T20:21:49 [subset/hvar/retaingids] Synthesize a DeltaSetIndexMap if needed Before we were emitting the entire VarStore rows if advMap was Null. Instead, synthesize an advMap. 20% speed up in subset_glyphs/SourceHanSans-VF.otf/retaingids benchmark.
Khaled Hosny afe09102 2023-07-09T02:45:52 [font] Actually deprecate get_glyph_shape() We previously marked it as deprecated in the documentation but didn’t actually deprecate it in code. Now the only known users have migrated to draw_glyph(), lets deprecate o=it for good.
Khaled Hosny 0d354e04 2023-05-21T19:01:04 [layout] Add tests for baseline 2 APIs
Behdad Esfahbod 132391ad 2023-05-19T15:01:49 [layout] Add test for font_extents
Behdad Esfahbod 4a735b30 2023-02-19T19:51:03 [cff2-subset] Update test
Behdad Esfahbod 474b99d1 2023-02-04T10:16:11 [test-paint] Fix build without FreeType Fixes https://github.com/harfbuzz/harfbuzz/issues/4103
Behdad Esfahbod e3778889 2023-01-26T13:26:47 [ft-colr] Conditionalize on (unreleased0 FreeType 2.13.0 That's the version that the color API is called stable, and includes changes that we rely on.
Matthias Clasen 8d80d1dd 2023-01-25T19:06:51 [paint] Update expected test results These tests were affected by recent fixes.
Andres Salomon c622c6b8 2023-01-24T23:52:10 [font] update the license url for TestGVAREight.ttf The url in the exif data incorrectly links to a proprietary license. However, permission was granted for distribution under Apache-2 as part of another project, so link to that project's license instead. fixes #4062
Matthias Clasen eb0a025e 2023-01-24T20:40:32 Add a test for glyph names This verifies that hb_font_get_glyph_name returns false for nonexisting glyphs.
Matthias Clasen dd64266e 2023-01-24T19:26:20 Add a test for glyph extents This verifies a recent fix for COLRv1 returning 0,0,-1,1 for extents of non-painting glyphs.
Khaled Hosny c08e5d09 2023-01-21T03:40:09 [hb-draw] Fix MSVC warning warning C4305: 'initializing': truncation from 'double' to 'float'
Khaled Hosny 910adc7e 2023-01-17T14:23:46 [test-paint] Update expectations
Behdad Esfahbod c86bab3f 2023-01-17T06:29:17 [test-paint] Use G_GNUC_PRINTF
Behdad Esfahbod f02c4ebb 2023-01-16T14:17:16 [test-paint] Adjust condition for enabling ft backend
Behdad Esfahbod 60a4f2e6 2023-01-12T19:12:46 [test-paint] Detect FreeType COLRv1 from struct size
Behdad Esfahbod b7839672 2023-01-12T18:58:07 [test] Minor save glyph_count
Matthias Clasen cca0ed9b 2023-01-11T06:44:25 test-paint: Add variable font tests These needs freetype master to work.
Matthias Clasen 1cb5a87f 2023-01-10T22:13:44 test-pain: Print out extend for color lines Update all expected results to include this value.
Matthias Clasen 6648e6e3 2023-01-10T22:07:44 Add one more paint test Add a test for the clip_box_top_left_glyph, since we've seen broken rendering with it.
Khaled Hosny 8460909e 2023-01-10T17:43:10 [build] Fix make dist
Garret Rieger 0f01a836 2023-01-10T01:09:44 [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.
Matthias Clasen b2087132 2023-01-09T16:30:25 test-paint: Fix use of g_test_skip
Matthias Clasen eb0f0279 2023-01-09T15:33:34 test-paint: Avoid g_test_skip_printf This is relatively recent api we don't need.
Matthias Clasen e61c2be4 2023-01-09T15:25:29 test-paint: Skip tests if ft COLRv1 is missing
Matthias Clasen 1d662632 2023-01-09T15:01:59 test-paint: More output for failures
Matthias Clasen d0108d31 2023-01-08T11:20:21 Add more paint tests These tests compare the output of the ft and ot implementations for all the glyphs in the test_glyphs font.
Matthias Clasen 5f976d86 2023-01-09T13:42:22 test-paint: Use %.3g for results This produces more readable output.
Matthias Clasen ec78a486 2023-01-09T13:38:19 Run paint tests at upem scale This avoids problems with rouding.
Matthias Clasen a085efa6 2023-01-09T13:11:16 test-paint: Fix font setup for ft We must call hb_ft_font_set_funcs after setting the font scale.
Matthias Clasen 26f713a7 2023-01-09T12:54:06 paint-test: Use larger scales A scale of 20 is noise, so use 1000.
Behdad Esfahbod e886b6b8 2023-01-09T10:26:01 [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.
Matthias Clasen 347910fd 2023-01-08T20:06:24 Add a draw test This test compares output between ft and ot font funcs.
Matthias Clasen 42047070 2023-01-08T16:08:16 test-paint: More helpful output No need to print ASCII chars as hex.
Behdad Esfahbod 3fd6c0d9 2023-01-08T12:30:26 [test-paint] Remove unused FT_Library
Behdad Esfahbod 28be4f88 2023-01-08T12:19:41 [test-paint] Actually run against hb-ft
Matthias Clasen ed7d0234 2023-01-08T11:47:19 test-paint: Limit the precision of clip boxes Update expected test results.
Matthias Clasen 10390ec5 2023-01-08T09:06:03 Update expected test results
Matthias Clasen f3ce1374 2023-01-08T09:01:31 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.
Matthias Clasen d0aaea23 2023-01-07T16:27:13 Update test results for paint-test These were affected by the PaintComposite optimization.