Commit Graph

230 Commits

Author SHA1 Message Date
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