Commit Graph

182 Commits

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