|
7ba3efa5
|
2025-02-09T18:42:45
|
|
[tests/fuzzing] Use the correct dirs for subset and repacker fuzzers
|
|
c404d8fc
|
2025-02-09T18:08:50
|
|
[test/fuzzing] Merge hb_fuzzer_tools.py back and simplify
|
|
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.
|
|
c29b1de3
|
2025-02-09T15:38:18
|
|
[test/fuzzing] Remove old cruft
|
|
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
|
|
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
|
|
6738ee3d
|
2025-02-09T13:30:19
|
|
[ci/fedora-valgrind] Add time multiplier of 10 and run slow tests
|
|
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.
|
|
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
|
|
134eef55
|
2025-02-09T08:22:38
|
|
[test] Reorder test suites
Makes it a bit faster.
https://github.com/harfbuzz/harfbuzz/issues/4153#issuecomment-2646120679
|
|
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
|
|
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...
|
|
1150d4bf
|
2025-02-09T04:16:57
|
|
[trak] Remove support for disabling using pseudo-font-feature
Fixes https://github.com/harfbuzz/harfbuzz/issues/5052
|
|
1bf0a5bc
|
2025-02-09T02:43:09
|
|
[trak] Streamline a bit
Also use float math.
|
|
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
|
|
f394206b
|
2025-02-06T19:48:56
|
|
[ot-shape] Only apply trak'ing if STAT table present
|
|
7f5fac7c
|
2025-02-04T23:35:34
|
|
[test-buffer] Fix unintionally merged change
|
|
f0ead852
|
2025-02-04T23:27:03
|
|
[aat] Implement set filtering for Noncontextual chains as well
|
|
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
|
|
b394ab39
|
2025-01-31T10:21:31
|
|
[test-buffer] Add code for testing end_ptr
|
|
9ef009f5
|
2025-01-24T16:37:12
|
|
[test] Fix test
Broken by previous commit.
https://github.com/harfbuzz/harfbuzz/issues/5020#issuecomment-2613597379
|
|
bdb50f1c
|
2025-01-07T20:32:05
|
|
[repacker] Also rename api method from hb_subset_repack_or_fail -> hb_subset_serialize_or_fail.
|
|
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.
|
|
5a6f5922
|
2025-01-06T21:16:24
|
|
[repacker] Promote repacking API to stable.
For #227.
|
|
57569baa
|
2025-01-02T21:14:25
|
|
Don’t insert U+25CC before super/subscript digits
|
|
edb3b208
|
2024-12-15T12:01:33
|
|
Make hb_test_tools.py work in Python 3.13
|
|
f887096a
|
2024-12-15T10:53:09
|
|
[myanmar] Allow all tones (& visarga) in any order
|
|
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
|
|
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
|
|
622e9c33
|
2024-11-06T10:59:17
|
|
[instancer] fix for incorrect offset calculation when we have gvar padding
|
|
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.
|
|
755929c4
|
2024-10-12T20:08:32
|
|
Fix more compiler warnings
In case FreeType is not available.
|
|
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.
|
|
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.
|
|
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.
|
|
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>.
|
|
867366cc
|
2024-09-24T09:17:12
|
|
[test] Add GeezaPro tests for MacOS 15.0
|
|
7aace3d3
|
2024-09-23T07:47:24
|
|
Ignore CGJ and Mongolian Variation Selectors during GPOS
Fixes https://github.com/harfbuzz/harfbuzz/issues/4869
|
|
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
|
|
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.
|
|
287046f7
|
2023-12-15T10:24:03
|
|
[buffer] Hook up not-found-variation-selector-glyph
Fixes https://github.com/harfbuzz/harfbuzz/issues/4398
|
|
6fd76e1f
|
2024-09-17T13:50:10
|
|
[subset] offset format fix in gvar table
|
|
e30dedbb
|
2024-09-14T12:06:08
|
|
[Unicode 16] Add tests
|
|
554658e3
|
2024-09-14T11:08:37
|
|
[Unicode 16] Update the emoji table & cluster test
|
|
98353ece
|
2024-09-11T11:35:15
|
|
[test] Run shape tests with C locale as well
https://github.com/harfbuzz/harfbuzz/pull/4857
|
|
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
|
|
634778ef
|
2024-08-20T14:34:09
|
|
[subset] bug fix in post table
insert retain-gid holes when retain-gids is enabled
|
|
72502ef0
|
2024-08-12T14:08:06
|
|
[instancer] dont return false when variation data is empty after partial instancing
|
|
59a97ac0
|
2024-08-06T14:53:36
|
|
[test] More get_table_tags test
|
|
a55b0071
|
2024-08-06T14:39:10
|
|
[test] Add get_table_tags test for hb-coretext
|
|
bd79bfb6
|
2024-08-06T13:40:06
|
|
[test] Add get_table_tags test for hb-ft
|
|
a459753e
|
2024-08-06T13:31:24
|
|
[test] Test get_table_tags of face_builder
|
|
8896b1d5
|
2024-08-06T12:34:15
|
|
[test] Add test for get_table_tags
So far just tests the default implementation.
|
|
84f16564
|
2024-08-06T12:15:39
|
|
[test] Move code around
|
|
22e1a5a7
|
2024-08-06T12:20:34
|
|
[test-paint] Fix warnings
|
|
191c6eed
|
2024-08-06T06:59:32
|
|
Fix Linux bot
|
|
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
|
|
788b469a
|
2024-07-25T14: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-27T15:35:01
|
|
Drop unused Makefile.sources files
|
|
cf1fdf16
|
2024-06-27T06:54:02
|
|
Drop autotools build
Fixes https://github.com/harfbuzz/harfbuzz/issues/4720
|
|
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
|
|
106e4068
|
2024-06-20T09:50:46
|
|
HB_SCRIPT_CANADIAN_ABORIGINAL removed, as deprecated
|
|
8de7e9fd
|
2024-06-20T08:54:23
|
|
deprecation cleanup: HB_BUFFER_FLAGS_DEFAULT removed
|
|
1e2bd498
|
2024-06-04T23:53:36
|
|
Another include fix
https://github.com/harfbuzz/harfbuzz/issues/4740#issuecomment-2148910890
|
|
e9870e8d
|
2024-06-04T20:50:06
|
|
Add missing include
https://github.com/harfbuzz/harfbuzz/issues/4740#issuecomment-2148727072
|
|
9456f6bd
|
2024-06-02T10:32:07
|
|
[test] Fix a few compiler warnings
|
|
c2b5b7b9
|
2024-06-01T12:48:17
|
|
[ot-tags] Update IANA and OT language registries
|
|
135d6537
|
2024-05-31T01:25:05
|
|
test-draw-varc.c: Fix “warning: unused function”
|
|
0037ee28
|
2024-05-24T08:10:15
|
|
Merge pull request #4578 from harfbuzz/varc-table
`VARC` table
|
|
0660a4d4
|
2024-05-13T19:28:57
|
|
[subset] fix fuzzer found heap use after free in BASE subsetting.
|
|
0db136b1
|
2024-05-09T11:49:48
|
|
[subset-cff] Shorten output of `encode_num_tp`
|
|
7975c9ca
|
2024-05-08T10:11:03
|
|
[instancer] bug fix for COLRv1, add missing mapping to VarIdx::NO_VARIATION
|
|
b74a7ecc
|
2024-05-07T19: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-06T13: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-06T12:56:23
|
|
add back missing tests that were disabled when wrapped by experimental
|
|
6c898572
|
2024-05-02T10:11:06
|
|
fix bots
|
|
f614a7d3
|
2024-05-02T10:05:18
|
|
[instancer] add/update tests for COLRv1 instancing
|
|
ebcdadbf
|
2024-05-03T14:24:56
|
|
[instancer] add tests for instantiating BASE table
|
|
4d2380f5
|
2024-05-03T14:05:56
|
|
Merge pull request #4693 from harfbuzz/promote-vf-api
[instancer] Promote partial instancing API out of experimental.
|
|
f145ab2f
|
2024-05-03T18:24:33
|
|
Disable empty_region_vardata test when running on 32bit machines.
|
|
ba1f194a
|
2024-05-02T12:18:11
|
|
[gsubgpos] Reduce stack use in recursion
|
|
4cf606f6
|
2024-05-02T20:46:29
|
|
[instancer] Promote partial instancing api out of experimental.
|
|
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
|
|
d07d70ae
|
2024-03-22T11:43:37
|
|
[varc] Add test
|
|
1121d80b
|
2024-03-22T10:45:36
|
|
[varc] Add a conditional test font
|
|
7c874354
|
2024-03-20T15:34:24
|
|
[varc] Implement conditionSets
|
|
3ffd92f0
|
2024-03-17T12:38:30
|
|
[varc] Add a couple of seeds for the fuzzer
|
|
2cfa5505
|
2024-03-27T23: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-08T23:46:14
|
|
[subset] Fix fuzzer found memory leak.
Fixes https://oss-fuzz.com/testcase-detail/6159925345583104.
|
|
6e874817
|
2024-03-27T17:47:57
|
|
[subset] add virtual links to keep the gdef varstore last.
|
|
71456071
|
2024-03-25T21: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-28T22: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-27T19:34:51
|
|
[subset] Move post apply mvar test intance position to avoid rounding diff.
|
|
975bd39b
|
2024-03-27T19: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-27T18:26:09
|
|
[subset] Update generate-expected-outputs to drop BASE.
This matches the behaviour of the test runner.
|
|
ec46c4c2
|
2024-03-27T18: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.
|
|
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
|
|
cfbb6a68
|
2024-03-14T17:33:34
|
|
[subset] support BASE table subsetting (#4618)
* [subset] support BASE table
* [subset] add tests for BASE table subsetting
|
|
2da79f70
|
2024-03-09T22:45:37
|
|
fix(test-ot-math.c): remove redundant lines
|
|
1ab8822b
|
2024-02-09T17:24:49
|
|
Fixed some errors in STAT table implementation
|