Commit Graph

313 Commits

Author SHA1 Message Date
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
Behdad Esfahbod
66e37409b3 0.9.37 2014-12-17 12:09:17 -08:00
Behdad Esfahbod
c0e95abc5f 0.9.36 2014-11-20 14:42:24 -08:00
Behdad Esfahbod
cd5a1149d9 0.9.35 2014-08-13 12:43:34 -04:00
Behdad Esfahbod
91c2c0fd2b 0.9.34 2014-08-02 19:24:55 -04:00
Behdad Esfahbod
8c1bdb46fa 0.9.33 2014-07-22 18:02:11 -04:00
Behdad Esfahbod
66f30915b1 0.9.32 2014-07-17 16:05:47 -04:00
Behdad Esfahbod
a18897f87c 0.9.31 2014-07-16 16:02:15 -04:00
Behdad Esfahbod
ea001374b8 0.9.30 2014-07-09 17:41:09 -04:00
Behdad Esfahbod
824d00dce4 Fix commit 3f38c1137b
Previous commit was not compiling with clang.
2014-06-09 14:17:33 -04:00
Behdad Esfahbod
3f38c1137b Don't use -mstructure-size-boundary=8 on clang arm
As in building for Android / iPhone.  Only set it if
struct{char} alignment is not 1.

NOT tested on an actual Arm architecture.  Guess we'll know
when this makes it to people's build bots.
2014-06-06 16:03:40 -04:00
Behdad Esfahbod
5875ad9c46 0.9.29 2014-05-29 15:48:16 -04:00
Behdad Esfahbod
79ecdc3f95 0.9.28 2014-04-28 14:30:44 -07:00
Behdad Esfahbod
50a00535cc Require gobject-introspection 1.34.0
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=75384
2014-04-10 16:03:29 -07:00
Konstantin Ritt
b96af03c20 Fix build with --coretext on iOS
On iOS CoreText and CoreGraphics are stand-alone frameworks
2014-03-21 10:29:34 -07:00
Dominik Röttsches
ba8c9d9293 0.9.27 2014-03-18 10:07:01 -07:00
Behdad Esfahbod
bb8ffb581b Use AM_MISSING_PROG for ragel and git 2014-03-04 13:03:51 -08:00
Behdad Esfahbod
189bf23bfc 0.9.26 2014-01-30 15:14:58 -05:00
Konstantin Ritt
c9522de233 Make it possible to disable the fallback shaper at configure time
The OT shaper supersedes the fallback shaper in every case
and the latter become an extra weight for 99.9% of users.
2014-01-28 11:13:53 -05:00
Behdad Esfahbod
2646aec1e6 Drop required automake version back to 1.11.3
Work around broken automake-1.13 changes.
2013-12-05 18:19:35 -05:00
Behdad Esfahbod
860fc9aa7b 0.9.25 2013-12-04 20:10:27 -05:00
Behdad Esfahbod
d913f98d88 Require automake 1.13
Fix tests build.

https://bugs.freedesktop.org/show_bug.cgi?id=71353
2013-12-04 19:59:48 -05:00
Behdad Esfahbod
6300694f6e 0.9.24 2013-11-13 14:54:07 -05:00
Behdad Esfahbod
dce79c2bd7 0.9.23 2013-10-28 20:26:40 +01:00
Behdad Esfahbod
2e990a3d72 Make "make distcheck" happy 2013-10-28 20:23:07 +01:00
Behdad Esfahbod
e152d1a278 0.9.22 2013-10-03 15:09:37 -04:00
Behdad Esfahbod
b61f97d544 0.9.21 2013-09-16 22:07:22 -04:00
Behdad Esfahbod
a2a28235e8 [gtk-doc] Generate version.xml from configure
Even though this is not what autoconf recommends, it reduces doc
rebuilds when version doesn't change but configure changes.
2013-08-30 19:38:47 -04:00
Behdad Esfahbod
ac1b723917 Remove hb-old and hb-icu-le test shapers
They've been disabled for a while and no one cared.  We're past
the point to need them for testing, and if we ever need to
resurrect them again, well, they're in git graveyard somewhere.
2013-08-30 19:32:10 -04:00
Behdad Esfahbod
f730b5d1e2 0.9.20 2013-08-29 16:17:07 -04:00
Behdad Esfahbod
79d754efee Fix build 2013-08-28 13:43:35 -04:00
Behdad Esfahbod
71ef22b04d Turn hb-gobject, and introspection off by default
Also enable bootstrapping without them.
2013-08-28 12:52:55 -04:00
Behdad Esfahbod
71439a8c7a [gobject] Flesh out hb-gobject
Move it to new harfbuzz-gobject library.  Implement enums and
boxed types for object-types.  Still have to do boxed types for
value types.
2013-08-28 12:38:37 -04:00
Behdad Esfahbod
23027f7611 [introspection] Enable gobject-introspection again 2013-08-28 12:38:37 -04:00
Anthony Carrico
f7c72b42ef [gtk-doc] Initial setup
Initial setup of gtk-doc. Straight forward setup following the gtk-doc
instructions. Ignore some troublesome types in src/hb-gobject.h. To
build use "./autogen.sh --enable-gtk-doc" then "make". Docs are in
harfbuzz/docs/reference/html/index.html.
2013-08-26 17:32:30 -04:00
Behdad Esfahbod
8ac2e88def [uniscribe] Use unique font name
When installing per-process fonts using AddFontMemResourceEx(),
if a font with the same family name is already installed, sometimes
that one gets used.  Which is problematic for us.  As such, we
now mangle the font to install a new 'name' table with a unique
name, which we then use to choose the font.

Patch from Jonathan Kew.
2013-07-21 17:17:44 -04:00
Behdad Esfahbod
2b78d67e9f 0.9.19 2013-07-16 16:06:27 -04:00
Behdad Esfahbod
570bcccd3f Fix PKG_CHECK_MODULES usage
Oops.

Bug 65246 - Fix build without graphite2
2013-06-10 13:57:25 -04:00
Behdad Esfahbod
270cfd7a9c Fix PKG_CHECK_MODULES usage
Bug 65246 - Fix build without graphite2

If we don't provide ACTION-IF-NOT-FOUND, configure aborts if it can't
find the libraries.  We handle that ourselves so we don't want the
macro to abort.
2013-06-06 18:57:15 -04:00
Behdad Esfahbod
4014aa4e53 0.9.18 2013-05-28 17:28:59 -04:00
Behdad Esfahbod
22ce096174 Generate harfbuzz-icu.pc
Currently it only works with ICU that has .pc files.  I'll
wait till someone complains before fixing it for icu-config
systems.
2013-05-28 17:18:30 -04:00
Behdad Esfahbod
2a17f9568d Bug 55494 - ScriptItemizeOpenType doesn't exists under Windows XP
Fallback to older API if OpenType variants are not available.
2013-05-28 13:13:46 -04:00
Behdad Esfahbod
f8087ffbad Add --with-cairo 2013-05-27 19:44:26 -04:00
Behdad Esfahbod
82eddfe5d6 Add --with-freetype
Defaults to auto.
2013-05-27 19:33:36 -04:00
Behdad Esfahbod
5e25eb77a4 Default glib to auto again 2013-05-27 19:30:48 -04:00
Behdad Esfahbod
eb63e786f3 Add --with-coretext
Defaults to no.
2013-05-27 19:29:09 -04:00
Behdad Esfahbod
ab2af17bc6 Add --with-uniscribe
Defaults to no.
2013-05-27 19:27:43 -04:00
Behdad Esfahbod
58db2c2542 Disable UCDN if glib is available
We only want UCDN if we don't have any other Unicode provider.
I'm going to remove ICU from the list of default Unicode providers
as part of moving hb-icu into its own library.  As such, the only
providers will be UCDN and glib.
2013-05-27 19:10:33 -04:00
Behdad Esfahbod
ca65326cbd Minor 2013-05-27 19:09:50 -04:00
Behdad Esfahbod
7ae14973ec Disable icu_le shaper
Will add a way to enable it later.
2013-05-27 19:06:50 -04:00
Behdad Esfahbod
7e6ebf7623 Remove icu-config fallback for icu_le shaper
Bug 64878 - compile error with ICU but not ICU
2013-05-27 19:06:03 -04:00
Behdad Esfahbod
932b747147 Bug 65053 - Add configure option to enable/disable ICU support 2013-05-27 19:04:40 -04:00
Behdad Esfahbod
cf2c1c7eb8 Disable hb-old shaper
Will add proper way to enable it later.
2013-05-27 18:56:05 -04:00
Behdad Esfahbod
5a78d23f25 Bug 65054 - Add configure option to enable/disable Graphite2
Add --with-graphite2.  Defaults to off.
2013-05-27 18:56:02 -04:00
Behdad Esfahbod
f1b02f4f3c 0.9.17 2013-05-20 09:23:58 -04:00
Behdad Esfahbod
00b93f6610 Fix icu linking by requesting the library searchpath from icu-config
This is not ideal as we don't like -L/usr/lib in our linker line.
But this is only relevant to environments that don't have pkgconfig
files for ICU...

https://github.com/behdad/harfbuzz/pull/2
2013-04-29 13:48:49 -04:00
Behdad Esfahbod
03adf38b22 Make both old autoconf and new automake happy
Sigh..

Bug 64039 - undefined macro AM_PROG_AR
2013-04-29 13:46:19 -04:00
Behdad Esfahbod
a408d2375a 0.9.16 2013-04-19 16:32:06 -04:00
Behdad Esfahbod
22e4745615 0.9.15 2013-04-05 18:02:43 -04:00
Behdad Esfahbod
0a2b2a505b Remove gthread leftovers
We don't use gthread anymore, remove leftovers.
2013-03-21 16:26:39 -04:00
Behdad Esfahbod
b93de1ea08 Minor 2013-03-21 16:25:20 -04:00
Behdad Esfahbod
f872a17462 0.9.14 2013-03-21 13:38:06 -04:00
Behdad Esfahbod
8226fb56f1 Allow disabling ICU by using a fake icu-config script 2013-03-19 05:22:27 -04:00
Behdad Esfahbod
14cfab52da Add build system fallback to icu-config
Ubuntu doesn't (or didn't until recently?) ship icu pkg-config
files.  That's quite unfortunate.  Work around it.

Bug 57608 - ICU Detection fallback for non-pkgconfig systems
2013-03-11 19:53:44 -04:00
Behdad Esfahbod
a8ac1d33c7 [build] Add AM_PROG_AR
Newer automake / libtools warns otherwise.
2013-03-06 20:07:01 -05:00
Behdad Esfahbod
05686b5f69 0.9.13 2013-02-25 18:19:20 -05:00
Behdad Esfahbod
e2aab4b5db Improve checks for setmode()
As reported by Jonathan, OS X has setmode() that is something other
than what setmode() is on Win32.  So, limit invocation to Windows
platforms only.
2013-02-12 15:35:32 -05:00
Behdad Esfahbod
52d66c26a2 Add color-tests automake option 2013-02-04 23:31:24 -05:00
Behdad Esfahbod
bc76449f51 Use setmode() instead of _setmode()
Looks like Cygwin / MSVC declare it that way, and it still works on
MinGW32 cross.
2013-01-31 18:18:05 -05:00
Behdad Esfahbod
09b5393874 0.9.12 2013-01-18 17:10:47 -06:00
Behdad Esfahbod
e78463211e Fix linking with non-gcc compilers 2013-01-14 00:27:21 -06:00
Behdad Esfahbod
cf81fb3624 0.9.11 2013-01-10 09:06:34 -06:00
Behdad Esfahbod
2dcb333f52 Add atomic ops for Solaris
Based on fontconfig patch from Raimund Steger.
2013-01-10 01:18:10 -06:00
Behdad Esfahbod
e5dbf39900 Bug 58638 - Building fails with ICU due to not passing required flags 2013-01-07 17:34:24 -06:00
Behdad Esfahbod
34e6c3e3e4 0.9.10 2013-01-03 00:14:24 -06:00
Behdad Esfahbod
d16ddbcbbe Add build confirmation notice to configure 2012-12-20 01:02:36 -05:00
Behdad Esfahbod
5e7e52ddf2 [uniscribe] Enable Uniscribe backend only if it has ScriptShapeOpenType()
Bug 55494 - ScriptItemizeOpenType doesn't exists under Windows XP
2012-12-10 17:44:22 -05:00
John Ralls
c48a04e5ea [coretext] Better test for CoreText
Instead of checking for ApplicationServices.h, which is present in all
versions of MacOSX, check for CTFontRef, a CoreText basic type.
2012-12-10 16:24:24 -05:00
Behdad Esfahbod
c6408a1009 0.9.9 2012-12-05 17:36:52 -05:00
Behdad Esfahbod
a52f51b216 0.9.8 2012-12-04 15:43:38 -05:00
Behdad Esfahbod
4c89635765 0.9.7 2012-11-21 01:20:56 -05:00
Behdad Esfahbod
da43a92b04 0.9.6 2012-11-13 13:48:26 -08:00
Behdad Esfahbod
13c0584729 0.9.5 2012-10-14 18:37:09 -05:00
Behdad Esfahbod
3f33f0d1f2 Import UCDN into source tree
https://github.com/grigorig/ucdn
2012-10-02 16:23:29 -04:00
Behdad Esfahbod
0e292eb2a2 Remove Glib thread-safety support
Now that we have pthread detection in configure, we don't need Glib
anymore.  Glib will only be a Unicode data provider.
2012-10-02 15:09:38 -04:00
Behdad Esfahbod
66efe89648 Check for pthreads 2012-10-02 14:55:32 -04:00
Behdad Esfahbod
c7afac0aa6 Add AC_CONFIG_MACRODIR 2012-10-02 14:44:47 -04:00
Behdad Esfahbod
f7e81ce0b8 0.9.4 2012-09-04 15:32:37 -04:00
Behdad Esfahbod
ae4d4e1de6 Bug 53815 - CoreText backend doesn't link 2012-08-26 14:27:44 -04:00
Behdad Esfahbod
2f7586c622 [icu-le] Implement icu layout engine shaper 2012-08-24 00:00:33 -04:00
Behdad Esfahbod
7d242364ea [icu-le] Start adding a icu-layout-engine backend
Import PortableFontInstance and add shaper stub.
2012-08-24 00:00:29 -04:00
Behdad Esfahbod
7fe00d15da Release 0.9.3 2012-08-18 13:59:46 -04:00
Behdad Esfahbod
b161bfc4f6 [configure] Cleanup check for ICU
Check for upstream-provided 'icu-uc' pkgconfig package.
2012-08-16 08:09:44 -04:00
Behdad Esfahbod
b7a4d37d0b minor 2012-08-11 21:32:23 -04:00
Behdad Esfahbod
e297ee4acd Bump version to 0.9.2
A *real* release this time, with NEWS, ChangeLog, etc.
2012-08-10 14:50:05 -04:00
Behdad Esfahbod
6efe1200b9 Bump version to 0.9.1 2012-08-10 13:49:32 -04:00
Behdad Esfahbod
560d68af81 Use a export-file for Windows builds
Apparently even that doesn't make check-internal-symbols.sh happy with
mingw32.  Going to disable that for DLLs again, but hopefully the
export-file is doing *something*.
2012-08-08 17:16:01 -04:00
Behdad Esfahbod
e3320ecc1b Fix compiler warnings 2012-08-06 11:44:42 -07:00
Behdad Esfahbod
8fe4c7405b [hb-old] Add HarfBuzz.old shaper
Choose using shaper name "old".
2012-07-25 11:11:22 -04:00
Behdad Esfahbod
1512a73575 [hb-old] Start adding HarfBuzz-old as a new backend 2012-07-25 11:11:16 -04:00
Jonathan Kew
aa6d849838 [CoreText] Add basic Core Text backend for comparison with our native shaping
Does not attempt to handle clusters in a Uniscribe- or HarfBuzz-compatible way;
just returns the original string indexes that CT maintains. These may even be
out-of-order in the case of reordrant glyphs.
2012-07-24 15:52:32 -04:00
Behdad Esfahbod
11c4ad439e Add -Wcast-align 2012-07-13 11:29:31 -04:00
Behdad Esfahbod
ec5f5f0f8a Don't export inline methods 2012-07-13 10:00:42 -04:00
Behdad Esfahbod
12f5c0a222 Fix check for Intel atomic ops 2012-06-26 11:16:13 -04:00
Behdad Esfahbod
8c0ea7bcb4 Disable introspection again
Until I figure out the build issues.  Sigh...
2012-06-24 13:20:56 -04:00
Behdad Esfahbod
8c5f5e6f5e Minor 2012-06-17 14:58:59 -04:00
Behdad Esfahbod
84d781e54c Flesh out gobject-introspection stuff a bit 2012-06-16 15:21:41 -04:00
Behdad Esfahbod
4282d2f377 Enabled ICU again 2012-06-06 03:42:36 -04:00
Behdad Esfahbod
a00a63b5ef Add macros to check that types are POD 2012-06-06 03:07:01 -04:00
Behdad Esfahbod
04bc1eebe7 Add configure tests for Intel atomic intrinsics 2012-06-05 20:16:56 -04:00
Behdad Esfahbod
68c75b4697 Shuffle 2012-06-05 20:15:30 -04:00
Behdad Esfahbod
cdafe3a7d8 Add gcc intrinsics implementations for atomic and mutex 2012-06-05 16:40:23 -04:00