Commit Graph

10920 Commits

Author SHA1 Message Date
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
Ebrahim Byagowi 4db1b4f1a2 [tests] rename no_ft_funcs to NO_FT_FUNCS 2020-07-04 16:21:21 +04:30
Ebrahim Byagowi 6a2b0ba78a [py] minor, replace exit with sys.exit 2020-07-04 16:16:15 +04:30
Ebrahim Byagowi a07672d353 [py] minor, replace os.environ.get with os.getenv 2020-07-04 16:16:15 +04:30
Ebrahim Byagowi 43e3ab019c [tests] make tests work when ft isn't present 2020-07-04 13:56:08 +04:30
Ebrahim Byagowi c4b6bad73a [tests] revert da95a8c and use the shared hb-shape process 2020-07-04 13:56:08 +04:30
Ebrahim Byagowi 359dbc97ae [meson] Use the recommended way to generate harfbuzz.cc
As https://github.com/harfbuzz/harfbuzz/pull/2532
2020-07-04 13:55:48 +04:30
Ebrahim Byagowi a7e82e4ffd [meson] use the recommended way to generate hb-version.h
As https://github.com/harfbuzz/harfbuzz/pull/2532
2020-07-04 13:55:48 +04:30
Ebrahim Byagowi 404ecc252c [meson] use basename in check scripts now that meson passes dir also 2020-07-04 13:55:48 +04:30
Ebrahim Byagowi 785a9a8f8a [meson] use the recommended way to generate ragel headers
As described in https://github.com/mesonbuild/meson/issues/7156#issuecomment-629622827
2020-07-04 13:55:48 +04:30
Ebrahim Byagowi 5c07c291c7
[make] use sed the way autotools used to generate hb-version.h
Left from 1853f84 and now exactly is like 4fc6189a32
2020-07-04 04:33:46 +04:30
Ebrahim Byagowi 63322513e4
[make] Revert the way harfbuzz.cc and hb-version.h are generated
Partially reverts 4fc6189
2020-07-04 03:34:58 +04:30
Ebrahim Byagowi 1853f84abc [py] overwrite harfbuzz.cc only when there is a needed change 2020-07-03 15:51:13 +04:30
Ebrahim Byagowi 82c6ddb986 [py] remove not needed imports 2020-07-03 15:51:13 +04:30
Ebrahim Byagowi 38fa924904 [meson] revert 020b182 as meson fails when there is cyclic dependency 2020-07-03 15:47:13 +04:30
Ebrahim Byagowi 42d039cc99 [meson] minor 2020-07-03 04:49:12 +04:30
Ebrahim Byagowi f2a80ab2c2 [meson] use null_dep idiom 2020-07-03 04:49:12 +04:30
Ebrahim Byagowi 05ab073d9b [meson] Improve the way cairo-ft availability is checked 2020-07-03 03:10:00 +04:30
Ebrahim Byagowi d543923294
[fvar] minor 2020-07-02 01:30:24 +04:30
Ebrahim Byagowi aadcd3ed8a [meson] use dependency's has_headers to make pulled cairo has ft support 2020-07-01 17:47:20 +04:30
Ebrahim Byagowi 020b182c79 [meson] try freetype without harfbuzz just as a last resort 2020-07-01 17:47:20 +04:30
Xavier Claessens 01fa55e88f meson: Allow freetype and cairo subprojects to fail
If their respective option is set to 'auto' configuration of the
fallback subproject should be allowed to fail for any reason.
2020-07-01 14:11:11 +04:30
Xavier Claessens 00c652adab meson: Fallback to cairo subproject when option is 'auto' 2020-07-01 14:11:11 +04:30
Xavier Claessens 571365df33 meson: Simplify check for cairo library and headers 2020-07-01 14:11:11 +04:30
Xavier Claessens c4bbe89b53 meson: Fallback to freetype2 subproject when option is 'auto'
But disable harfbuzz support when configuring freetype2 subproject to
avoid dependency cycle.
2020-07-01 14:11:11 +04:30
Xavier Claessens 33252ce576 meson: Simplify check for freetype2 library and headers 2020-07-01 14:11:11 +04:30
Hugo Beauzée-Luyssen 40ec187dec win32: Cleanup PARTITION handling
Use the WINAPI_PARTITION macro to filter desktop/app flavors.
We use a negated desktop check because the default (for mingw-w64 at
least) is to allow all API by combining desktop + app partitions.
This causes build failures if we were to filter using
WINAPI_PARTITION(WINAPI_FAMILY_APP) because it would always be true, but
those API also require Windows 8 or later, while we only require Vista

Fixes warnings like
../src/hb-blob.cc:572:47: warning: 'WINAPI_FAMILY_PC_APP' is not defined, evaluates to 0 [-Wundef]
 #if defined(WINAPI_FAMILY) && (WINAPI_FAMILY==WINAPI_FAMILY_PC_APP || WINAPI_FAMILY==WINAPI_FAMILY_PHONE_APP)
                                              ^
../src/hb-blob.cc:572:86: warning: 'WINAPI_FAMILY_PHONE_APP' is not defined, evaluates to 0 [-Wundef]
 #if defined(WINAPI_FAMILY) && (WINAPI_FAMILY==WINAPI_FAMILY_PC_APP || WINAPI_FAMILY==WINAPI_FAMILY_PHONE_APP)
2020-07-01 13:05:14 +04:30
Ebrahim Byagowi f3f9205fac [meson] Assume cairo_ft always available when cairo isn't from pkgconfig 2020-07-01 03:21:39 +04:30
Ebrahim Byagowi aa8bade97e [meson] enable cairo as subproject 2020-07-01 03:21:39 +04:30
Ebrahim Byagowi ea8e784146 [fvar] Improve naming 2020-07-01 01:33:02 +04:30
Ebrahim Byagowi 5de07b8acd [fvar] Move normalize logic where it is actually filled 2020-07-01 01:33:02 +04:30
Ebrahim Byagowi 0f8dda2cf2 [fvar] Move shared axis filling values into a new method 2020-07-01 01:33:02 +04:30
Ebrahim Byagowi 98c42b3bc7 [fvar] Make AxisRecord fields protected 2020-07-01 01:33:02 +04:30
Ebrahim Byagowi 5f870dfadb [meson] Make benchmark buildable also in dists 2020-06-29 12:54:58 +04:30
Ebrahim Byagowi 702847aadd [meson] Turn benchmark to a feature 2020-06-29 12:54:58 +04:30
Behdad Esfahbod 7ee3194f98 [meta] Remove wrong comment 2020-06-28 15:41:44 -07:00
Behdad Esfahbod 26b9670d99 [ft] Better handle allocation failures
Fixes https://github.com/harfbuzz/harfbuzz/issues/2513
2020-06-28 14:52:15 -07:00
Behdad Esfahbod 26111a11ad [dagger] Minor cleanup using hb_enumerate 2020-06-28 13:26:38 -07:00
Ebrahim Byagowi fd8b0a44c4
[ci] Limit number of processes ninja uses
Our CricleCI bots run with 32 cores last time I check which makes random compile issues
like this https://circleci.com/gh/harfbuzz/harfbuzz/146030 to happen. Guess that has
something to do with the way virtualization is done in Circle CI so let's limit number of processes.
2020-06-29 00:19:38 +04:30
Ebrahim Byagowi 831b090001 rebase draw test as recent roundf changes 2020-06-28 14:31:21 +04:30
Ebrahim Byagowi cb7fb3cf4a
Add test for a783840789 2020-06-28 13:41:33 +04:30
Ebrahim Byagowi 1536271f6b Don't check roundf availability in cmake and meson 2020-06-28 13:35:28 +04:30
Ebrahim Byagowi 08d57d9eca
Add hb_array_t::lfind 2020-06-28 13:13:25 +04:30