Commit Graph

2209 Commits

Author SHA1 Message Date
Garret Rieger ddd0f7f40b [subset] Add a test for CFF2 instancing.
Adds option to disable the fonttools comparison check in the test. This is needed since CFF2 instancing is not yet supported in fonttools.
2023-02-22 14:12:55 -07:00
Behdad Esfahbod 4a735b30c4 [cff2-subset] Update test 2023-02-19 20:39:01 -07:00
Qunxin Liu af1e605be2 [instancer] bug fix
It's possible that length of all_points equals to 4 for non-empty
glyphs: a composite glyph which contains only one child glyph that is
empty.
2023-02-10 12:51:27 -07:00
Jens Kutilek 219e2f12f0 Clarify that those two test fonts are CC0-licensed 2023-02-10 10:06:28 -07:00
Behdad Esfahbod 64fa5cd482 [GPOS] Fix assert fail introduced recently
Was introduced in 8708b9e081.

If these lookups are recursed to from (Chain)Context out-of-order,
it was possible that last_base > buffer->idx, in which case we
were attaching marks to a base after them... and an assertion
was failing fortunately.

Fixes https://oss-fuzz.com/testcase-detail/6377756666757120
2023-02-07 15:52:53 -07:00
Behdad Esfahbod 474b99d122 [test-paint] Fix build without FreeType
Fixes https://github.com/harfbuzz/harfbuzz/issues/4103
2023-02-04 10:16:11 -07:00
Qunxin Liu 615595689c [subset/COLR] add tests for copying varStore 2023-01-27 12:21:52 -07:00
Khaled Hosny 6c46da7710 [test] Fix shell script quoting 2023-01-27 10:34:50 +02:00
Behdad Esfahbod e377888990 [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.
2023-01-26 13:27:55 -07:00
Matthias Clasen 8d80d1dd18 [paint] Update expected test results
These tests were affected by recent fixes.
2023-01-25 19:06:51 -05:00
Qunxin Liu 5e86870378 [instancer] compute head/maxp values using only non-empty glyphs 2023-01-25 14:53:19 -07:00
Andres Salomon 0bbc9d5256 [fonts] move OFL-1.1 license to a higher directory
There's a bunch of font directories inside of test/ for which the vast
majority of fonts are licensed under the SIL open font license. We currently
have a COPYING file in test/shape/data/in-house/COPYING that says that most
of the fonts are OFL-1.1, but that doesn't apply to the fonts in, say,
test/api/fonts/ or test/fuzzing/fonts/. Since there are so many OFL-1.1
fonts all over test, let's move the COPYING file to the top-level test/
directory.
2023-01-25 10:07:03 -07:00
Andres Salomon c622c6b883 [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
2023-01-25 09:27:49 -07:00
Matthias Clasen eb0a025e49 Add a test for glyph names
This verifies that hb_font_get_glyph_name
returns false for nonexisting glyphs.
2023-01-24 21:35:04 -07:00
Matthias Clasen dd64266ea4 Add a test for glyph extents
This verifies a recent fix for COLRv1 returning
0,0,-1,1 for extents of non-painting glyphs.
2023-01-24 18:08:22 -07:00
Qunxin Liu 73e6f6cc88 [instancer] enable the missing test 2023-01-24 17:28:51 -07:00
Qunxin Liu 27f72f0deb [instancer] avoid double free for compiled glyph bytes
also increase the HB_GLYF_MAX_POINTS limit to 20000 cause the test file has a
.notdef glyph which is a composite glyph and has 10176 points after
get_points() call
2023-01-24 17:28:51 -07:00
Garret Rieger e4fff64ce3 [repacker] check duplicate() for success.
Fixes fuzzer testcase https://oss-fuzz.com/testcase-detail/5475787333828608.
2023-01-23 18:37:13 -07:00
Behdad Esfahbod b987918125
Merge pull request #4052 from googlefonts/instancer_recalc_bounds
[instancer] recalc bounds by default when --instance option is enabled
2023-01-22 09:08:51 -07:00
Behdad Esfahbod e4cdaa1d3f [test] Fix build 2023-01-22 08:36:51 -07:00
Behdad Esfahbod 9ba1e400d6 [test] Remove non-free font and its test
Fixes https://github.com/harfbuzz/harfbuzz/issues/4059
2023-01-22 08:31:39 -07:00
Behdad Esfahbod b63159e8bf [PairPosFormat1] Fix stride
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=55287
and generally the lookup with MediumTypes.
2023-01-21 15:51:40 -07:00
Khaled Hosny c08e5d094a [hb-draw] Fix MSVC warning
warning C4305: 'initializing': truncation from 'double' to 'float'
2023-01-21 15:27:56 +02:00
Qunxin Liu 89d332559e [instancer] add tests 2023-01-20 14:50:03 -08:00
Khaled Hosny 910adc7e92 [test-paint] Update expectations 2023-01-17 15:43:09 +02:00
Behdad Esfahbod c86bab3fb4 [test-paint] Use G_GNUC_PRINTF 2023-01-17 06:29:17 -07:00
Behdad Esfahbod f02c4ebb40 [test-paint] Adjust condition for enabling ft backend 2023-01-16 14:17:44 -07:00
Sergei Trofimovich 7dfa672dac test/threads/hb-subset-threads.cc: add missing <cstdio> include
This week's `gcc-13` snapshot cleaned further up it's standard headers
and exposed missing declaration as a build failure:

    ../test/threads/hb-subset-threads.cc: In function 'void test_operation(operation_t, const char*, const test_input_t&)':
    ../test/threads/hb-subset-threads.cc:127:3: error: 'printf' was not declared in this scope

    ../test/threads/hb-subset-threads.cc: In function 'int main(int, char**)':
    ../test/threads/hb-subset-threads.cc:157:19: error: 'atoi' was not declared in this scope
2023-01-16 13:16:23 -07:00
Garret Rieger ea1ee0d4b6 [instance] drop and don't collect lookups from feature variations when fully instancing.
This previously incorrectly collected lookups that could be reached via feature variations that are dropped and not activated by the current instance position.
2023-01-14 18:04:24 -07:00
Matthias Clasen d250148db0
Merge pull request #4024 from harfbuzz/test-paint-variable
test-paint: Add variable font tests
2023-01-12 21:26:24 -05:00
Behdad Esfahbod 60a4f2e6f5 [test-paint] Detect FreeType COLRv1 from struct size 2023-01-12 19:12:46 -07:00
Behdad Esfahbod b783967242 [test] Minor save glyph_count 2023-01-12 19:11:10 -07:00
Matthias Clasen cca0ed9bcd test-paint: Add variable font tests
These needs freetype master to work.
2023-01-12 21:09:50 -05:00
Garret Rieger c324d99952 [instancing] Add tests for MVAR instancing. 2023-01-12 18:15:07 +00:00
Behdad Esfahbod d675f0d4f2
Merge pull request #4023 from harfbuzz/aat-features2
[aat] Support feature ranges
2023-01-11 15:06:31 -07:00
Matthias Clasen 1cb5a87feb test-pain: Print out extend for color lines
Update all expected results to include this value.
2023-01-10 22:13:44 -05:00
Matthias Clasen 6648e6e3e5 Add one more paint test
Add a test for the clip_box_top_left_glyph,
since we've seen broken rendering with it.
2023-01-10 22:07:44 -05:00
Behdad Esfahbod 4ee6094114 [aat] Add test for feature range 2023-01-10 11:52:12 -07:00
Khaled Hosny 8460909e0c [build] Fix make dist 2023-01-10 09:04:35 -07:00
Garret Rieger 0f01a83622 [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.
2023-01-09 21:15:11 -07:00
Matthias Clasen b20871322f test-paint: Fix use of g_test_skip 2023-01-09 16:30:42 -05:00
Matthias Clasen eb0f0279d2 test-paint: Avoid g_test_skip_printf
This is relatively recent api we don't need.
2023-01-09 15:33:34 -05:00
Matthias Clasen e61c2be41c test-paint: Skip tests if ft COLRv1 is missing 2023-01-09 15:25:29 -05:00
Matthias Clasen 1d662632d9 test-paint: More output for failures 2023-01-09 15:01:59 -05:00
Matthias Clasen d0108d31a2 Add more paint tests
These tests compare the output of the ft and ot
implementations for all the glyphs in the test_glyphs
font.
2023-01-09 14:42:30 -05:00
Matthias Clasen 5f976d86a7 test-paint: Use %.3g for results
This produces more readable output.
2023-01-09 14:24:32 -05:00
Matthias Clasen ec78a486bf Run paint tests at upem scale
This avoids problems with rouding.
2023-01-09 14:03:58 -05:00
Matthias Clasen a085efa699 test-paint: Fix font setup for ft
We must call hb_ft_font_set_funcs after
setting the font scale.
2023-01-09 13:11:16 -05:00
Matthias Clasen 26f713a7f5 paint-test: Use larger scales
A scale of 20 is noise, so use 1000.
2023-01-09 12:54:06 -05:00
Behdad Esfahbod e886b6b8a6 [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.
2023-01-09 10:31:28 -07:00