Garret Rieger
014e038b2c
[subset] Bail out of context lookup expansion once the lookup limit is encountered.
2020-04-01 11:14:41 +04:30
Garret Rieger
5d345d0cd1
[subset] Limit the number of lookup indices processed subsetting Feature.
...
> Also, remove two unnessecary full iterations of the lookup index iterator during serialization of the index array. Fixes fuzzer found timeout.
2020-04-01 11:13:05 +04:30
Simon Cozens
bdda2ff609
More strictly follow noun/verb/identifier format for GPOS/GSUB lookups
...
Less generic than the previous commit, but more descriptive and more consistent.
2020-03-30 16:40:29 +01:00
Simon Cozens
bef7ef81da
Reformat kerx/morx instrumentation to 'verb noun identifier'
2020-03-30 16:39:43 +01:00
Simon Cozens
42aac64030
Add table index to lookup messages
...
We could say GSUB/GPOS explicitly, but using the index is more general, in case future tables (such as JSTF, Silf) become supported.
2020-03-30 16:06:30 +01:00
Simon Cozens
2cea796b75
Instrument entering GSUB/GPOS tables
2020-03-30 16:04:17 +01:00
Khaled Hosny
1b64b73080
Revert "Add messages for GPOS/GSUB phases"
...
This reverts commit b07714d6b5
.
2020-03-30 16:49:23 +02:00
Ebrahim Byagowi
2e1bf61dd5
[gsubgpos] Use FeatureVariations::NOT_FOUND_INDEX instead Index::
...
As noted by https://github.com/harfbuzz/harfbuzz/issues/2280#issuecomment-604386389
Added on b143e34
, fixed on 2571891
Closes #2280
2020-03-26 22:59:28 +04:30
Ebrahim Byagowi
96d792ae80
[avar] Prevent mul overflow
...
Fixes https://crbug.com/oss-fuzz/21350
2020-03-26 15:01:14 +00:00
Ebrahim Byagowi
18fc9197e2
[meson] Run check-symbols.sh and check-static-inits.sh correctly
...
* Search src/ build directory for objects in check-static-inits.sh
* Find .def files in src/ build directory in src/check-symbols.sh
* Pass builddir also in autotools also, we may just remove libs passing after autotools removal
* Move harfbuzz_subset_def target so can be referenced as a check-static-inits.sh dependency
2020-03-26 09:40:14 +00:00
Ebrahim Byagowi
9c2c9553eb
[test] Check -subset also doesn't link to lib[std]c++
2020-03-26 09:40:14 +00:00
Ebrahim Byagowi
25718913d4
[gsubgpos] minor build fix
2020-03-26 14:04:37 +04:30
Ebrahim Byagowi
b143e34ee1
[gsubgpos] Initialize variation index on HB_NO_VAR
...
hb_shape_plan_key_t::equal expects hb_ot_shape_plan_key_t be initialized by
hb_ot_layout_table_find_feature_variations calls but it won't get initialized
when HB_NO_VAR build config is used.
Related to https://github.com/harfbuzz/harfbuzz/issues/2280
2020-03-26 12:06:12 +04:30
Ebrahim Byagowi
071e2e345f
minor
2020-03-26 12:03:07 +04:30
Ebrahim Byagowi
cc977b6e5c
[gsubgpos] Minor simplification
...
Just changed the order, no functional change
2020-03-26 11:19:43 +04:30
Ebrahim Byagowi
1a48278511
[gsubgpos] Minor style improve
2020-03-26 11:15:09 +04:30
Garret Rieger
4ad686b9c0
[subset] fix fuzzer timeout in layout closure
...
Bail out of chain context lookup expansion once the lookup limit is encountered.
2020-03-26 06:32:28 +00:00
Ebrahim Byagowi
f0ce56bbd0
[meson] Don't compile test-bimap on msvc either
...
MSVC doens't like its NullPool,
test-bimap.cc.obj : error LNK2019: unresolved external symbol "unsigned __int64 const * const _hb_NullPool" (?_hb_NullPool@@3QB_KB) referenced in function
2020-03-24 19:06:09 +00:00
Ebrahim Byagowi
22f311e100
[meson] Don't compile noinst_programs in msvc for now
2020-03-24 19:06:09 +00:00
Ebrahim Byagowi
7054b12206
[meson] Mark rest of non-install executables explicitly
2020-03-24 19:06:09 +00:00
Ebrahim Byagowi
68df3f7dac
[meson] test/api, separate subset tests
2020-03-24 19:06:09 +00:00
Ebrahim Byagowi
600bf21fbc
[meson] Add draw-fuzzer runner
2020-03-24 19:06:09 +00:00
Ebrahim Byagowi
466dbaa258
[meson] Add a note on meson stability status
2020-03-24 19:06:09 +00:00
Ebrahim Byagowi
28deb6b718
[meson] test/fuzzing simplify
2020-03-24 19:06:09 +00:00
Ebrahim Byagowi
78622231ac
[meson] More comment on tests are causing timeout failure
2020-03-24 19:06:09 +00:00
Ebrahim Byagowi
9bc792f416
[meson] Don't set MALLOC_PERTURB_ as it is already set by meson
2020-03-24 19:06:09 +00:00
Ebrahim Byagowi
e8808c1c20
[meson] Minor, replace tabs with spaces
2020-03-24 19:06:09 +00:00
Ebrahim Byagowi
4dfda9feaa
[meson] Update and simplify test/shaping
2020-03-24 19:06:09 +00:00
Ebrahim Byagowi
f22e92bb30
[meson] Update test/api from autotools
2020-03-24 19:06:09 +00:00
Ebrahim Byagowi
e248a4e46c
[make] Minor reordering on test/api/Makefile.am
2020-03-24 19:06:09 +00:00
Ebrahim Byagowi
2db8279162
[meson] Don't compile test-{algs,iter,meta} on msvc
2020-03-24 19:06:09 +00:00
Ebrahim Byagowi
3385afacd3
[meson] Don't run check-includes if is amalgam build
2020-03-24 19:06:09 +00:00
Ebrahim Byagowi
6a8a1dc5bb
[meson] Port src/ binary artifacts to meson
2020-03-24 19:06:09 +00:00
Ebrahim Byagowi
d57fc627e9
[meson] raise timeout value of subset fuzzer
2020-03-24 19:06:09 +00:00
Ebrahim Byagowi
4738dff18e
[make] minor move on Makefile.am
2020-03-24 19:06:09 +00:00
Simon Cozens
b07714d6b5
Add messages for GPOS/GSUB phases
2020-03-23 22:02:44 +02:00
Ebrahim Byagowi
748e1cf898
[subset] Avoid linking to libstdc++ in libharfbuzz-subset.so
...
Just like other targets (except harfbuzz-icu) avoid linking to libstdc++
2020-03-23 18:06:02 +00:00
Ebrahim Byagowi
761695264b
[tests] Remove py2 workaround for lack of timeout in subprocess
2020-03-19 10:32:46 +00:00
Ebrahim Byagowi
b5526a09ff
[tools] Remove in-house 'which' now that we have py3
2020-03-19 10:32:46 +00:00
Ebrahim Byagowi
a0c58be371
[tools] Remove py2 remains
2020-03-18 23:41:20 +03:30
Ebrahim Byagowi
2e29a4077b
[ci/appveyor] Adopt with Meson
2020-03-14 21:59:32 +03:30
Ebrahim Byagowi
03564fd2cf
[test] fix misspell
2020-03-14 20:09:00 +03:30
Ebrahim Byagowi
1b8a37f75f
[test] minor fix
...
oops...
2020-03-14 20:06:41 +03:30
Ebrahim Byagowi
0423da3373
[test] minor fix
...
macos tests are using absolute path which aren't relevant in Windows
2020-03-14 20:05:23 +03:30
Ebrahim Byagowi
74fdd34f4d
[test] make run-tests.py work on Windows
2020-03-14 20:03:14 +03:30
Tim-Philipp Müller
93b3e30215
[meson] fix icu-related linking errors in test with amalgam build
...
test-unicode.c:960: undefined reference to `hb_icu_get_unicode_funcs'
test-unicode.c:961: undefined reference to `hb_icu_get_unicode_funcs'
For now add the icu sources to libharfbuzz also for the amalgam
build, later we need to have a separate harfbuzz-icu module and
link against that, and/or generate harfbuzz.cc.
2020-03-14 15:16:00 +03:30
Tim-Philipp Müller
a3892be701
[meson] fix spurious warning when building test/api C sources
...
Fixes compiler warning
test-unicode.c:589:1: warning: ‘test_unicode_properties_lenient’ defined but not used
which didn't happen with autotools.
Reason it does with meson is that the setup for C was slightly wrong.
We would only add -DHAVE_CONFIG_H to cpp_args which is only valid when
compiling C++ code, but not plain C code, and many of these tests were
plain C.
Instead pass -DHAVE_CONFIG_H via add_project_arguments() and make sure
to set both c_args and cpp_args when building test executables.
Fixes https://github.com/harfbuzz/harfbuzz/issues/2257
2020-03-14 15:16:00 +03:30
Tim-Philipp Müller
bb8aaa3108
[meson] use add_project_arguments() instead of add_global_arguments()
...
.. and simplify, can pass two languages in one go.
add_global_arguments() won't work if harfbuzz is used as a
meson subproject.
2020-03-14 15:16:00 +03:30
Garret Rieger
2f556c38c0
[subset] Fix crash when serializer runs out of room during gpos subsetting.
2020-03-14 00:55:47 +03:30
Garret Rieger
430bf69653
Add potentially crashing font as a fuzzer seed.
2020-03-14 00:55:47 +03:30