Commit Graph

324 Commits

Author SHA1 Message Date
Ebrahim Byagowi
7b4333b090
Do feature test before adding -Bsymbolic-functions, autotools part (#892) 2018-03-16 22:45:09 +03:30
Behdad Esfahbod
127096e474 [util] Remove line buffering
Something weird seems to be going on. Just kill it.

Fixes https://github.com/harfbuzz/harfbuzz/issues/888
2018-03-15 13:23:27 -07:00
Chun-wei Fan
89dbabff65 configure.ac/CMake: Check for round() and stdbool.h
Not all the compilers that HarfBuzz is buildable on supports round() and
has the header stdbool.h, so we check for them and define HAVE_ROUND and
HAVE_STDBOOL_H repsectively in our CFLAGS so that we include them only
when they are found, or use fallback implementations when necessary.

Also include FindPythonInterp earlier as we need PYTHON_EXECUTABLE to be
set for running the tests.
2018-03-13 20:13:38 +08:00
Behdad Esfahbod
ff2f81432b 1.7.6 2018-03-07 16:05:14 +01:00
Ebrahim Byagowi
f7399796a1
Enable coverage test on autotools (#857) 2018-03-03 22:55:09 +03:30
Ben Boeckel
d38f37b2e3 autoconf: provide a harfbuzz-config for use from CMake (#822) 2018-02-24 01:25:53 +03:30
Behdad Esfahbod
e91644786b Remove unused check 2018-02-18 12:41:24 -08:00
Behdad Esfahbod
978ace6fbb Improve _hb_popcount()
Support 128bit type.
2018-02-16 16:08:45 -08:00
Behdad Esfahbod
94d32d1b83 Enable C99 if available
Hopefully we can now mix-and-match code and declaration in the C test files.
2018-02-16 15:36:20 -08:00
Khaled Hosny
0b94d590d9 Rename --with-stdcpp → --with-libstdc++
Also improve wording a bit and fix make check in --with-libstdc++=yes.
2018-02-12 12:37:41 -07:00
Ebrahim Byagowi
2efc896550
Add --with-stdcpp for ossfuzzer and mupdf use (#770) 2018-02-12 12:00:07 +03:30
Behdad Esfahbod
d0f3e7f597 [util] Use setlinebuf() if present
To work around mysterious bug on OS X.

Fixes https://github.com/harfbuzz/harfbuzz/issues/727
2018-02-10 12:46:11 -06:00
Garret Rieger
0853260e99 Configure automake to run the new subset tests. 2018-02-04 12:57:33 -08:00
Behdad Esfahbod
fcb8be1a38 [configure] Fix wording
Fixes https://github.com/harfbuzz/harfbuzz/issues/741
2018-02-04 12:38:18 -05:00
Khaled Hosny
cf943f682b Correctly show documentation build status
Correctly show if building documentation is enabled or not in configure
summary.

Fixes https://github.com/harfbuzz/harfbuzz/issues/741
2018-02-04 12:36:37 -05:00
Behdad Esfahbod
f0b700db39 1.7.5 2018-01-30 11:52:11 -08:00
Ebrahim Byagowi
00806149b9
Improve avoiding C++ linkage, definition creation and cmake tests (#710) 2018-01-19 01:12:31 +03:30
Behdad Esfahbod
22d8c765e7 Disable C++11
To better catch errors locally.
2018-01-12 09:46:38 +01:00
Behdad Esfahbod
6db0b17c4c [test] Move test handling to sundirectories 2018-01-10 05:40:43 +01:00
Behdad Esfahbod
504f913654 [test] Simplify test runner
Always pass hb-shape as first argument to run-tests.py.

Also require automake 1.13.
2018-01-10 02:50:49 +01:00
Behdad Esfahbod
0473d95e27 [ft] Use FT_Done_MM_Var() if available 2018-01-08 10:07:46 +00:00
Romain Ouabdelkader
3db1d34264 link with CoreFoundation when using CoreText 2018-01-02 07:22:53 -08:00
Behdad Esfahbod
007a2a4317 1.7.4 2017-12-20 12:09:00 -05:00
Behdad Esfahbod
b5bbb791d3 1.7.3 2017-12-18 09:18:51 -05:00
Olivier Blin
0fd89dc61c [hb-ft] Fix build when Multiple Master font support is disabled in freetype
FT_Set_Var_Blend_Coordinates() is not available when "Multiple Master
font interface" is disabled in freetype's modules.cfg
2017-12-04 10:52:06 -08:00
Behdad Esfahbod
843f7f7035 1.7.2 2017-12-04 09:01:43 -08:00
ebraminio
7c6937e7c7
Move all references of old url to the new address (#622) 2017-11-20 14:49:22 -05:00
Behdad Esfahbod
f93c6f8bfa 1.7.1 2017-11-14 11:13:11 -08:00
Behdad Esfahbod
e5d7098892 1.7.0 2017-11-13 09:42:37 -08:00
Behdad Esfahbod
601126ad40 [configure] Fix gobject default value in help output
Fixes https://github.com/behdad/harfbuzz/issues/607
2017-11-03 20:34:11 -04:00
Behdad Esfahbod
919b4b76a7 Make c++11 optional
Fixes https://github.com/behdad/harfbuzz/issues/585
2017-10-27 10:29:25 -06:00
Behdad Esfahbod
223686d64f 1.6.3 2017-10-26 12:52:02 -06:00
Behdad Esfahbod
3b7388aab6 1.6.2 2017-10-23 14:35:16 -04:00
Behdad Esfahbod
0ca915efc3 1.6.1 2017-10-22 17:38:33 -04:00
Behdad Esfahbod
2075008f3e Use C++11 2017-10-15 12:12:10 +02:00
Behdad Esfahbod
25846cc39f 1.6.0 2017-10-13 16:30:33 +02:00
ebraminio
dfeccd073a Remove nmake port of harfbuzz (#562) 2017-10-12 10:41:47 +02:00
Behdad Esfahbod
3ca69c8c32 Use strtod_l() to correctly parse decimal numbers in French & other locales
Test with, eg.:
$ LC_ALL=fr_FR.utf-8 ./hb-view NotoSansArabic-VF.ttf بهداد --variations wght=1.2
2017-09-14 20:50:35 -04:00
Behdad Esfahbod
a984e0c4d9 1.5.1 2017-09-05 11:18:35 -07:00
Behdad Esfahbod
e8b364b860 1.5.0 2017-08-23 15:00:45 -07:00
Behdad Esfahbod
7917792f01 1.4.8 2017-08-08 13:17:03 -07:00
Behdad Esfahbod
fc15e60ead 1.4.7 2017-07-18 11:24:42 -07:00
Behdad Esfahbod
141b33de9a 1.4.6 2017-04-23 16:19:13 -07:00
Behdad Esfahbod
60e2586f76 1.4.5 2017-03-10 23:02:28 -08:00
Behdad Esfahbod
8e42c3cb2b 1.4.4 2017-03-05 13:54:56 -08:00
Behdad Esfahbod
6685d281d6 1.4.3 2017-02-25 11:35:05 -08:00
Behdad Esfahbod
6af6c1114a 1.4.2 2017-01-23 18:35:00 -08:00
Behdad Esfahbod
af596a5655 1.4.1 2017-01-05 20:24:41 -08:00
Behdad Esfahbod
53543f8b3e Ship UCDN and use it by default
So we are not relying on version of Unicode data in glib...

Fixes https://github.com/behdad/harfbuzz/issues/386
Fixes https://github.com/behdad/harfbuzz/issues/388
2017-01-05 20:12:32 -08:00
Behdad Esfahbod
f339706947 1.4.0 2017-01-05 01:27:49 -08:00
Mike Hommey
1c98ff87c7 Support building with older glib versions
It is desirable to be able to build against older versions of glib.

fd7a245 changed the configure check to require glib > 2.38 for
G_TEST_DIST. Before that, version 2.16 was required, but in fact,
since aafe395, G_PASTE is being used, which was introduced in 2.19.1.
And since 0ef179e2, hb-glib uses GBytes, which were introduced in
2.31.10.

2.19.1 is rather old, but 2.38 is rather new. For Firefox, building
against 2.22 is still supported, although we could probably get away
with bumping that to 2.28. Either way, GBytes is not available.

Arguably, if you build against a glib that doesn't support GBytes,
you're not going to use the hb_glib_blob_create function, so we hide
the function when building against such a glib.

As for G_TEST_DIST, when building against versions of glib that don't
support it, we can fallback to the previous behavior, which, AIUI, was
just making the test not work when building in a separate directory.
2016-12-18 01:37:07 -06:00
Behdad Esfahbod
42c8142531 [GX] Fix build with older FreeType 2016-12-16 19:06:26 -06:00
Behdad Esfahbod
b843c6d8b6 1.3.4 2016-12-05 13:45:15 -08:00
Behdad Esfahbod
966ac7ecd3 1.3.3 2016-10-26 16:17:15 +02:00
Behdad Esfahbod
118164293c Fix "make distcheck" 2016-10-26 16:04:30 +02:00
Behdad Esfahbod
331c46c79b Fix configure on iOS
Fixes https://github.com/behdad/harfbuzz/issues/342
2016-10-11 13:48:23 -07:00
Behdad Esfahbod
7201fdd0a8 LFS (large file system?) support in hb-*shap*, hb-view
Fixes https://github.com/behdad/harfbuzz/issues/336
2016-10-04 14:53:17 -07:00
Behdad Esfahbod
fd7a245d35 Require glib >= 2.38.0 for G_TEST_DIST 2016-09-27 17:56:35 +02:00
Behdad Esfahbod
f73a87d9a8 1.3.2 2016-09-27 13:50:54 +02:00
Phil Krylov
f16bf6c2da Allow building with graphite2 without pkg-config (#318) 2016-09-27 12:38:49 +02:00
Behdad Esfahbod
d22ab6cf04 1.3.1 2016-09-07 14:28:47 -07:00
Khaled Hosny
dd31fc9f7e Don’t build UCDN support when building with GLib (#296)
Regression from: b424b6c372.
2016-07-22 17:43:00 -07:00
Behdad Esfahbod
a732e00ea4 1.3.0 2016-07-21 01:58:00 -07:00
Behdad Esfahbod
a93078a0ec Change bugreport URL to github
That's where everything is happening these days.
2016-06-06 15:58:41 -07:00
Behdad Esfahbod
a5b7b0dd45 1.2.7 2016-05-02 10:44:13 +02:00
Behdad Esfahbod
00ea66f357 1.2.6 2016-04-08 13:51:01 -07:00
Behdad Esfahbod
a0331b55f7 1.2.5 2016-04-04 16:35:07 -07:00
Behdad Esfahbod
0251b0cc5c 1.2.4 2016-03-17 14:37:11 -07:00
Behdad Esfahbod
fef5dd9a72 Merge pull request #232 from c0nk/wip-icu
Add --with-icu=builtin option; fix compile error
2016-03-12 19:15:15 -08:00
Behdad Esfahbod
01ea9eaac3 [build] Use tar-ustar instead of tar-pax
The default tar-v7 is not good enough for us (99 char filename
limit), so I have had bumped to tar-pax.  We got one complaint
that someone's tar couldn't handle tar-pax.  Set to tar-ustar
which is ~13 years earlier than tar-pax and is good enough for us.
2016-03-11 18:50:02 -08:00
Kal Conley
b424b6c372 Add --with-icu=builtin configure option 2016-02-26 00:35:15 +01:00
Behdad Esfahbod
75568b0a7f 1.2.3 2016-02-25 12:26:26 +09:00
Behdad Esfahbod
b30a971bf7 1.2.2 2016-02-24 17:32:22 +09:00
Behdad Esfahbod
dabf32a5ad 1.2.1 2016-02-23 15:38:43 +09:00
Behdad Esfahbod
27847cab12 1.2.0 2016-02-19 15:56:50 +07:00
Chun-wei Fan
c679285455 build: Build the DirectWrite sources if requested
This adds to the autotools build system so that the (experimental)
DirectWrite support for HarfBuzz is built (and dist'ed).
2016-02-03 20:14:42 +08:00
Chun-wei Fan
d7b6636e5e build: Support Visual Studio builds using NMake
This adds a set of NMake Makefiles that can be used to build HarfBuzz, from
the standard basic build building the minimal HarfBuzz DLL (consisting
of OpenType, fallback and Uniscribe support only), to a full fledged build
consisting of GLib and FreeType support, as well as building the utilities,
the test programs in src/ and test/api, and HarfBuzz-ICU and
HarfBuzz-GObject, and up to building the introspection files.  This means a
flexible build mechanism is supported here, so anything that is supported
for a Windows build (code-wise), should all be supported by this build
system.

As in an earlier commit, the source listings are shared with the autotools
builds with the various Makefile.sources in src/, src/hb-ucdn and util/, and
this set of NMake Makefiles will transform these lists into the form they
want.

In the current form, all the test programs in test/api pass, and this has
been checked successfully with 'make -j8 distcheck'.
2016-02-03 18:14:30 +08:00
Behdad Esfahbod
11441291bb 1.1.3 2016-01-11 13:16:35 +00:00
Behdad Esfahbod
d44d52bd0d 1.1.2 2015-11-26 19:35:43 -05:00
Behdad Esfahbod
b24e93e3a4 1.1.1 2015-11-24 13:18:20 -06:00
Behdad Esfahbod
e1118aeac3 1.1.0 2015-11-18 23:52:51 -08:00
Behdad Esfahbod
19300183a6 [fuzzing] Add build system 2015-11-05 23:08:50 -08:00
Behdad Esfahbod
86cadc2cd4 1.0.6 2015-10-15 20:25:29 -03:00
Behdad Esfahbod
ab17052924 1.0.5 2015-10-13 10:55:33 -03:00
Behdad Esfahbod
432ffc47a4 1.0.4 2015-09-30 22:51:16 +01:00
Behdad Esfahbod
7f54053974 1.0.3 2015-09-01 17:03:50 +01:00
Behdad Esfahbod
5783e05f81 [docs] Move docs/reference/ contents into docs/ 2015-08-31 19:18:10 +01:00
Behdad Esfahbod
789b89ef71 1.0.2 2015-08-19 13:39:57 +01:00
Behdad Esfahbod
539a610e2e Add Libs.private and Requires.private to harfbuzz.pc
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=64501
2015-08-11 12:58:49 +02:00
Behdad Esfahbod
9002c27b2f 1.0.1 2015-07-27 12:17:54 +02:00
Behdad Esfahbod
260442346a 1.0.0 2015-07-26 23:39:10 +02:00
Behdad Esfahbod
2ed6be6670 0.9.42 2015-07-26 19:29:53 +02:00
Behdad Esfahbod
a6446d44e6 0.9.41 2015-06-18 11:14:56 -07:00
Behdad Esfahbod
fe97b65a54 [utils] Add hb-fc-list
This is a tool that lists all fonts that can render a given string.
It uses hb_shape() to do so, and as such is aware of HarfBuzz's
normalizer.
2015-04-09 19:16:57 -07:00
Behdad Esfahbod
e3671b8f8b 0.9.40 2015-03-20 18:03:02 -04:00
Behdad Esfahbod
02a04e6afb 0.9.39 2015-03-04 12:32:03 -08:00
Behdad Esfahbod
28f5e0b2f4 0.9.38 2015-01-23 12:45:35 -08:00
Behdad Esfahbod
350f3a02ce [ft] Add hb_ft_face_create_referenced() and hb_ft_font_create_referenced()
When I originally wrote hb-ft, FreeType objects did not support reference
counting.  As such, hb_ft_face_create() and hb_ft_font_create() had a
"destroy" callback and client was responsible for making sure FT_Face is
kept around as long as the hb-font/face are alive.

However, since this was not clearly documented, some clienets didn't
correctly did that.  In particular, some clients assumed that it's safe
to destroy FT_Face and then hb_face_t.  This, indeed, used to work, until
45fd9424c7, which make face destroy access
font tables.

Now, I fixed that issue in 395b35903e since
the access was not needed, but the problem remains that not all clients
handle this correctly.  See:

  https://bugs.freedesktop.org/show_bug.cgi?id=86300

Fortunately, FT_Reference_Face() was added to FreeType in 2010, and so we
can use it now.  Originally I wanted to change hb_ft_face_create() and
hb_ft_font_create() to reference the face if destroy==NULL was passed in.
That would improve pretty much all clients, with little undesired effects.
Except that FreeType itself, when compiled with HarfBuzz support, calls
hb_ft_font_create() with destroy==NULL and saves the resulting hb-font on
the ft-face (why does it not free it immediately?).  Making hb-face
reference ft-face causes a cycling reference there.  At least, that's my
current understanding.

At any rate, a cleaner approach, even if it means all clients will need a
change, is to introduce brand new API.  Which this commit does.

Some comments added to hb-ft.h, hoping to make future clients make better
choices.

Fixes https://bugs.freedesktop.org/show_bug.cgi?id=75299
2014-12-28 17:59:28 -08:00
Behdad Esfahbod
9a3b74884b Remove redundant check for FT_Face_GetCharVariantIndex
We require FreeType >= 2.8.3.  This symbol was introduced earlier
than that.
2014-12-28 17:27:39 -08:00
Behdad Esfahbod
1226b2e930 Fix FreeType version check 2014-12-28 17:04:23 -08:00