Commit Graph

10915 Commits

Author SHA1 Message Date
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
Behdad Esfahbod
a783840789 Always round up
Fixes https://github.com/harfbuzz/harfbuzz/issues/2496
2020-06-28 13:10:37 +04:30
Ebrahim Byagowi
ca8202208a
[ci] retire psvita and djgpp bots
till update and overhaul
2020-06-28 11:34:01 +04:30
Sebastian Rasmussen
2267da4ee0
[ft] Do not deference ft_font if it is nullptr (#2502) 2020-06-27 20:18:16 -07:00
Sebastian Rasmussen
a373e16131
[ot-shape] Free shape plan maps upon error creating data (#2497) 2020-06-27 20:09:45 -07:00
Sebastian Rasmussen
dbf9896e7a
[ft] Handle nullptr when destroying freetype font (#2494) 2020-06-27 19:57:34 -07:00