Commit Graph

11062 Commits

Author SHA1 Message Date
Ebrahim Byagowi 5c8e1bd237 [meson] Don't allow introspection on static library 2020-07-14 18:02:40 +04:30
Ebrahim Byagowi 9566904cb3
[morx] minor, mark with unlikely
at least just to show this is the unusual path
2020-07-14 15:17:17 +04:30
Ebrahim Byagowi 11d583a9ea
[aat] Consume glyph insertion from buffer's max_ops (#2223)
Glyph insertion is an expensive operation and we like to have it limited
based on buffer's input size which is handled by buffer's max_ops.

clusterfuzz-testcase-minimized-harfbuzz_fuzzer-5754958982021120:

Before the change: 0.67s user 0.00s system 99% cpu 0.674 total
 After the change: 0.02s user 0.00s system 98% cpu 0.024 total

Which takes much longer on valgrind and tsan bots.
2020-07-13 18:53:06 -07:00
Ebrahim Byagowi 6937092a66 [py] apply lgtm.com python suggestions 2020-07-13 23:37:52 +04:30
Ebrahim Byagowi 2a182128b9
[py] minor, comment buffer_add_utf8 call
mainly to apply lgtm suggestion, looks better also however,
some minor spacing is also applied.
2020-07-13 20:41:13 +04:30
Ebrahim Byagowi 2c1d699409
[ci] use clang for cov-build
to be honest this is done as a let's see what
happens move but the background is coverity
reveals more things for Firefox project and there
should be an interesting reason for it.
2020-07-13 20:26:57 +04:30
Ebrahim Byagowi cdf18e8338
[py] minor, remove unnecessary pass
discovered by lgtm
2020-07-13 20:07:51 +04:30
Ebrahim Byagowi 45d9e8d76c
[py] minor, remove unused import 2020-07-13 19:25:53 +04:30
Ebrahim Byagowi 9ab7525a06
[ci] use a fixed version of meson in gh actions bot
a patch is uploaded to fix the issue with b_coverage in meson upstream thus let's revive our bot at least for now
2020-07-13 01:15:36 +04:30
Ebrahim Byagowi 3236db625b
[ci] install a fixed version of meson in msys2 bots
for some reason apparently msys2 installation here has 0.51 version, which, is weird, lets use a fixed version anyway
2020-07-13 01:06:24 +04:30
Ebrahim Byagowi 51a8eb1c02
[ci] use meson package from msys2
as https://github.com/harfbuzz/harfbuzz/issues/2561#issuecomment-657261692
2020-07-12 23:40:50 +04:30
Ebrahim Byagowi 3163e9fedb
[ci] Remove HB_TEST_SUBSET_FUZZER_TIMEOUT
meson is passing it itself

Fortunately oss-fuzz has its own timeout value, I just like to be conservative here
and not involve outsiders with flakiness of tests specially as meson which runs
them concurrently so consuming more time is expected on meson.
2020-07-12 23:11:45 +04:30
Ebrahim Byagowi cd6f62d960
[meson] Raise timeout value of subset fuzzer testcases
happens when tsan is enabled
2020-07-12 23:05:11 +04:30
Behdad Esfahbod 1dfa33854f [arabic] Remove stale comment 2020-07-12 09:24:03 -07:00
Ebrahim Byagowi f8d345ee06
[ci] Remove ambiguous-reversed-operator warning from whitelist
Should be fixed by 6a45df0
2020-07-09 10:57:51 +04:30
Behdad Esfahbod 6a45df0a54 Fix -Wambiguous-reversed-operator warning
Fixes https://github.com/harfbuzz/harfbuzz/issues/2554
2020-07-08 18:17:40 -05:00
Ebrahim Byagowi 5ea11cb817
[ci] don't use harfbuzz.cc with -Weverything
Causes

In file included from src/harfbuzz.cc:13:
src/hb-ot-cff1-table.cc:36:17: error: using namespace directive in global context in header [-Werror,-Wheader-hygiene]
using namespace CFF;
                ^
In file included from src/harfbuzz.cc:14:
src/hb-ot-cff2-table.cc:35:17: error: using namespace directive in global context in header [-Werror,-Wheader-hygiene]
using namespace CFF;
                ^
2 errors generated.
2020-07-08 19:29:47 +04:30
Ebrahim Byagowi e4f9969108 [ci] migrate to meson
two bots, one bot here (distcheck) and one in travis still run autotools and
won't be removed till we decide about autotools
2020-07-08 19:18:31 +04:30
Ebrahim Byagowi f62f4e388b [meson] minor on gdi, dwrite and icu 2020-07-08 03:12:32 +04:30
Ebrahim Byagowi 69a1e07acb
[meson] don't enable benchmark if is in nodownload wrap mode
Fixes #2551
2020-07-08 03:12:09 +04:30
Ebrahim Byagowi e04050e3b8
[meson] split fuzzer_ldflags before use 2020-07-08 01:06:30 +04:30
Ebrahim Byagowi 747f65f9ef
[meson] Remove HAVE_OT and HAVE_FALLBACK
No need as 1e8fdd2 and 23768a9
2020-07-07 11:37:16 +04:30
Ebrahim Byagowi c5def34730 [meson] don't underscorify fuzzers names 2020-07-06 23:51:52 +04:30
Ebrahim Byagowi d608f2ac85 [meson] Add fuzzer_ldflags
As ots, https://github.com/khaledhosny/ots/commit/4d37b9b
2020-07-06 23:51:52 +04:30
Ebrahim Byagowi e1c35ca581
[meson] rename the section
As Behdad's comment
2020-07-06 22:29:11 +04:30
Ebrahim Byagowi ddb103ea1a
[meson] minor 2020-07-06 22:27:39 +04:30
Ebrahim Byagowi 13d78b50f2
[doc] minor 2020-07-06 22:22:42 +04:30
Ebrahim Byagowi e5dd7d3ef9 [doc] more on build 2020-07-06 22:19:59 +04:30
Ebrahim Byagowi 471ae786ce [ci] Install a newer meson version 2020-07-06 22:19:59 +04:30
Ebrahim Byagowi 694a0c6bbc [meson] Always add icu deps 2020-07-06 22:19:59 +04:30
Ebrahim Byagowi 28554cb831 [doc] add a note for packagers 2020-07-06 22:19:59 +04:30
Ebrahim Byagowi 0fc52d3b2d [doc] Simplify and extend build instructions 2020-07-06 22:19:59 +04:30
Ebrahim Byagowi 3a8d137c2c [ci] migrate macOS bots to meson 2020-07-06 22:19:59 +04:30
Khaled Hosny a2b52cbb77 [ci] Use --wrap-mode=default for MSVC builds 2020-07-06 21:15:44 +04:30
Khaled Hosny dc684103d4 [meson] Set the default wrap mode to nofallback
This, I believe, will prevent any automatic use of subprojects be
default and will only look for dependencies on the system.
https://mesonbuild.com/Subprojects.html#commandline-options
2020-07-06 21:15:44 +04:30
Ebrahim Byagowi 52199349aa
[meson] mark meson as tested
tested in a CI bot that in a `-Dcoretext=enabled` build, `build/util/hb-shape --shaper=ot` works fine.
2020-07-06 16:30:59 +04:30
Ebrahim Byagowi ba810ce83d [tests] Replace space with colon in batch mode 2020-07-06 13:53:19 +04:30
Ebrahim Byagowi 2013babcbf
[tests] Use HAVE_FREETYPE itself instead NO_FT_FUNCS 2020-07-06 11:57:45 +04:30
Ebrahim Byagowi d5238c1833 [RELEASE] Rely to GitHub's tarball generation 2020-07-06 11:48:59 +04:30
Ebrahim Byagowi a08ba46d86 [meson] move meson version so can be referenced easier 2020-07-06 11:48:59 +04:30
Ebrahim Byagowi 6d3d0ebba3 Remove .tarball-revision generation from meson dist
Toward making release tarball identical to git checkout now that we are moving to meson.
2020-07-06 11:48:59 +04:30
jfkthame 1e6027e29c
[aat] Correct array indexing when looking up actions in KerxSubTableFormat4 (#2539)
* [aat] Correct array indexing when looking up actions in KerxSubTableFormat4.

- For action_type 0 and 1, there are 2 values per action record; for action_type 2, there are 4. So we need to account for these factors when indexing into the ankrData array.

Fixes https://github.com/harfbuzz/harfbuzz/issues/2531.
2020-07-05 22:44:10 +01:00
Ebrahim Byagowi aa732e454a
[tests] minor, ligcarets is fetched from gdef not gsub 2020-07-06 00:10:16 +04:30
Ebrahim Byagowi 122a2897e4 [aat] Remove lcar support
Very low use, only two distinct font files, Apple Chancery.ttf and Hoefler Text.ttc
have it so it really doesn't worth the size addition and so, but one may argue that
whole ligature caret is low use but guess we better to encourage GDEF one anyway.
2020-07-06 00:05:36 +04:30
Ebrahim Byagowi a3b9b94b63
[style] Remove fdsc support (#2541)
It isn't exposed yet and low use between Apple fonts,
32 fdsc table vs 767 OS/2 tables, even Apple doesn't
support it anymore per Ned.
2020-07-06 00:05:21 +04:30
Dirk Lemstra 6a50aa4e54 Corrected the link to the releases. 2020-07-05 21:38:23 +04:30
Ebrahim Byagowi a6fb8ce98a Minor, fix -Wrange-loop-analysis warnings
Fixing these complains raised by newer versions of clang,

./hb-ot-layout-common.hh:1720:53: error: loop variable 'gid_klass_pair' is always a copy because the range of type 'hb_map_iter_t<hb_sorted_array_t<OT::HBGlyphID>, (lambda at ./hb-ot-layout-common.hh:1672:29), hb_function_sortedness_t::RETAINS_SORTING, nullptr>' does not return a reference [-Werror,-Wrange-loop-analysis]
    for (const hb_pair_t<hb_codepoint_t, unsigned>& gid_klass_pair : + it)

And

./hb-ot-color-colr-table.hh:177:44: error: loop variable '_' is always a copy because the range of type 'hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<hb_range_iter_t<unsigned int, unsigned int>, (lambda at ./hb-ot-color-colr-table.hh:209:31), hb_function_sortedness_t::RETAINS_SORTING, nullptr>, (anonymous struct at ./hb-algs.hh:331:1) &, (anonymous struct at ./hb-algs.hh:51:1) &, nullptr>, (anonymous struct at ./hb-algs.hh:338:1) &, hb_function_sortedness_t::RETAINS_SORTING, nullptr>' does not return a reference [-Werror,-Wrange-loop-analysis]
    for (const hb_item_type<BaseIterator>& _ : + base_it.iter ())
2020-07-05 11:18:04 +04:30
Ebrahim Byagowi a470b0b205 Minor, disable strict-aliasing warning in set fuzzer
../test/fuzzing/hb-set-fuzzer.cc: In function ‘int LLVMFuzzerTestOneInput(const uint8_t*, size_t)’:
../test/fuzzing/hb-set-fuzzer.cc:38:82: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   38 |   const instructions_t &instructions = reinterpret_cast<const instructions_t &> (data);
      |

And it is already disabled at project level so let's disable it here also.
2020-07-05 10:49:10 +04:30
Jan Alexander Steffens (heftig) 4444482297 meson: Pin harfbuzz in .pc files to the built version
This ensures that we link -subset, -icu and -gobject with a matching
version of the main library.
2020-07-04 23:16:09 +04:30
Jan Alexander Steffens (heftig) 3adcf398a0 meson: Make Requires in .pc files match autotools
Libreoffice tries to use only harfbuzz-icu.pc and assumes this includes
-lharfbuzz.
2020-07-04 23:16:09 +04:30