Behdad Esfahbod [Thu, 3 Jan 2013 09:52:09 +0000 (03:52 -0600)]
Make pango threadsafe!
By way of declaring fontmaps NOT threadsafe, and making
pango_cairo_font_map_get_default() return a thread-private fontmap.
test-pangocairo-threads doesn't crash anymore, if used with fontconfig
master.
Behdad Esfahbod [Thu, 3 Jan 2013 09:51:10 +0000 (03:51 -0600)]
Add test-pangocairo-threads.c
Currently is not run automatically. But run it with args "10 100" and
see it crash...
Behdad Esfahbod [Wed, 7 Nov 2012 18:58:40 +0000 (10:58 -0800)]
Link to gthread-2.0
Behdad Esfahbod [Thu, 3 Jan 2013 09:19:15 +0000 (03:19 -0600)]
Revert "Bug 689342 - Lifetime of patterns in pattern_hash may use too much memory"
This reverts commit
7ed3cb89923c376d8b30ae3f977ab9e1a231e430, after
resolving conflicts.
The patch introduced some lifecycle management issues that could easily
cause crashing. Reverting till the issues are resolved.
Behdad Esfahbod [Mon, 31 Dec 2012 03:44:56 +0000 (21:44 -0600)]
Whitespace
Behdad Esfahbod [Mon, 31 Dec 2012 02:52:10 +0000 (20:52 -0600)]
Fix most of "failed to choose font" warnings
If we are in fallback mode, with a font that has to space glyph, then
looking up engine/font for any character not in the font was failing
badly. In that case, if there's only one engine (which is the case
these days), just choose it.
Behdad Esfahbod [Mon, 31 Dec 2012 00:50:42 +0000 (18:50 -0600)]
Don't RenderPrepare the FcFontMatch result
After commit
7c1d6208a4b42ef3a3cce0d8dffb214c7a321e5e, the first matched
font was being prepared twice, causing misconfiguration.
John Ralls [Sat, 29 Dec 2012 21:36:33 +0000 (13:36 -0800)]
Revert "Make PANGO_GLYPH flags an enum to make gobject-introspection happy."
This reverts commit
7274bd56db3ce2f02594687a307d22aa99c787c4.
Whatever the problem was with g-ir-scanner, it's resolved.
Behdad Esfahbod [Thu, 20 Dec 2012 05:51:55 +0000 (00:51 -0500)]
Bug 689342 - Lifetime of patterns in pattern_hash may use too much memory
Refcount cached patterns.
Behdad Esfahbod [Wed, 19 Dec 2012 17:51:32 +0000 (12:51 -0500)]
Link basicfc module to HarfBuzz
FDO Bug 58496 - Basic module doesn't link against HarfBuzz
Behdad Esfahbod [Tue, 18 Dec 2012 18:59:33 +0000 (13:59 -0500)]
Bug 690279 - broken relocation of modules
Fix OS X relocation.
Behdad Esfahbod [Tue, 18 Dec 2012 18:30:04 +0000 (13:30 -0500)]
[hb] Pass down BOT/EOT flags to HarfBuzz
Behdad Esfahbod [Tue, 18 Dec 2012 04:51:46 +0000 (23:51 -0500)]
Hint advances correctly
Matthias Clasen [Tue, 18 Dec 2012 00:49:49 +0000 (19:49 -0500)]
1.32.5
Jasper St. Pierre [Fri, 14 Dec 2012 18:01:46 +0000 (13:01 -0500)]
markup: Remove error from markup parser constructor
https://bugzilla.gnome.org/show_bug.cgi?id=679299
Jasper St. Pierre [Tue, 3 Jul 2012 02:07:33 +0000 (22:07 -0400)]
markup: Allow incrementally parsing pango markup
This is intended for applications that need to parse pango
markup from some sort of GIO stream.
https://bugzilla.gnome.org/show_bug.cgi?id=679299
Jasper St. Pierre [Mon, 2 Jul 2012 19:10:21 +0000 (15:10 -0400)]
markup: Always start with a <markup> tag
It doesn't do anything bad, and will help us when we move to a stream-based
approach.
https://bugzilla.gnome.org/show_bug.cgi?id=679299
Chun-wei Fan [Thu, 13 Dec 2012 09:14:06 +0000 (17:14 +0800)]
Update Visual C++ 2010 solutions
Cosmetic changes, so that the .sln files will have the same headers across
the board
Behdad Esfahbod [Wed, 12 Dec 2012 20:04:06 +0000 (15:04 -0500)]
Bug 690081 - pangofc-fontmap: Remove bad use of the comma operator
Essentially our FcFontRenderPrepare() for fallback fonts was never
actually being called. Donno how this was "working"...
Behdad Esfahbod [Mon, 10 Dec 2012 01:23:00 +0000 (20:23 -0500)]
Bug 686512 - pango_cairo_font_get_scaled_font failed under wine
Behdad Esfahbod [Mon, 10 Dec 2012 00:49:29 +0000 (19:49 -0500)]
Bug 689882 - pango-font.h:381: error: comma at end of enumerator list
John Ralls [Sat, 3 Nov 2012 18:46:59 +0000 (11:46 -0700)]
Fix relative module paths
So that the created absolute path is where the modules are installed
instead of where the modules file is installed (i.e.,
lib/pango/1.8.0/modules instead of etc/pango).
Behdad Esfahbod [Fri, 7 Dec 2012 21:18:59 +0000 (16:18 -0500)]
Bug 689864 - build failure
Colin Walters [Fri, 7 Dec 2012 14:23:17 +0000 (09:23 -0500)]
Drop last use of deprecated G_CONST_RETURN
This was blowing up the cogl build since it uses G_DISABLE_DEPRECATED.
https://bugzilla.gnome.org/show_bug.cgi?id=689843
Alexander Larsson [Thu, 6 Dec 2012 18:32:00 +0000 (19:32 +0100)]
post release version bump
Alexander Larsson [Thu, 6 Dec 2012 17:36:58 +0000 (18:36 +0100)]
Disable check.docs for now
This is broken for now and we can't distcheck without it.
Disabling this for now until we figure out how to fix this.
Alexander Larsson [Thu, 6 Dec 2012 15:50:54 +0000 (16:50 +0100)]
Update NEWS for 1.32.4
Alexander Larsson [Thu, 6 Dec 2012 15:35:59 +0000 (16:35 +0100)]
Bump harfbuzz requirement to 0.9.9
Alexander Larsson [Wed, 5 Dec 2012 13:04:20 +0000 (14:04 +0100)]
Track changes in layout and dependencies via serials
We track changes in the PangoContext and automatically call
pango_layout_context_changed() when needed, plus we track
changes in the layout and let apps know via pango_layout_get_serial
when the layout changed and needs to be redrawn.
https://bugzilla.gnome.org/show_bug.cgi?id=340066
Alexander Larsson [Wed, 5 Dec 2012 12:56:06 +0000 (13:56 +0100)]
Track changes in PangoContext via a serial
Whenever a PangoContext or its fontmap changes we bump the
contexts serial, you can get it via pango_context_get_serial()
to see find out if the context changed since the last time and
you need to relayout.
You can also force the context to be "changed" by calling
pango_context_changed().
https://bugzilla.gnome.org/show_bug.cgi?id=340066
Alexander Larsson [Wed, 5 Dec 2012 12:29:48 +0000 (13:29 +0100)]
Track changes in FontMaps using a serial
This adds the pango_font_map_get_serial method that lets you see
if a fontmap has changes since the last check. It adds implementations
to all current fontmaps.
https://bugzilla.gnome.org/show_bug.cgi?id=340066
Behdad Esfahbod [Thu, 6 Dec 2012 01:27:47 +0000 (20:27 -0500)]
Fix Win32 and CoreText cairo backends to take cairo CTM into account
Colin Walters [Tue, 4 Dec 2012 17:46:04 +0000 (12:46 -0500)]
build: Use -Bsymbolic-functions by default if available
Using -Bsymbolic-functions to avoid internal PLT indirection is an
easy win. This is the same code that both GLib and GTK+ have.
https://bugzilla.gnome.org/show_bug.cgi?id=689648
Behdad Esfahbod [Sun, 2 Dec 2012 16:48:09 +0000 (18:48 +0200)]
Update bidi tables to Unicode 6.2.0
Behdad Esfahbod [Sun, 2 Dec 2012 16:08:55 +0000 (18:08 +0200)]
Add GraphemeBreakTest.txt to the tree
All tests in that file pass, lets keep it that way.
This is as of Unicode 6.1.0. 6.2 needs more work.
Behdad Esfahbod [Sun, 2 Dec 2012 16:06:59 +0000 (18:06 +0200)]
Minor
Behdad Esfahbod [Sun, 2 Dec 2012 16:05:35 +0000 (18:05 +0200)]
Fix grapheme boundaries of surrogates and unassigned default ignorables
Behdad Esfahbod [Sun, 2 Dec 2012 15:27:52 +0000 (17:27 +0200)]
Fix line break of surrogate characters
Behdad Esfahbod [Sun, 2 Dec 2012 15:14:01 +0000 (17:14 +0200)]
Fix grapheme properties of U+FFxx range
Oops!
Behdad Esfahbod [Sun, 2 Dec 2012 15:10:19 +0000 (17:10 +0200)]
Fix grapheme properties of joiner / nonjoiner
Oops!
Behdad Esfahbod [Sun, 2 Dec 2012 15:28:47 +0000 (17:28 +0200)]
Fix warning
Behdad Esfahbod [Sun, 2 Dec 2012 15:45:50 +0000 (17:45 +0200)]
Fix test-ot-tags expectations after harfbuzz transition
Behdad Esfahbod [Sun, 2 Dec 2012 15:43:09 +0000 (17:43 +0200)]
Remove runtests.sh
Behdad Esfahbod [Sun, 2 Dec 2012 15:39:58 +0000 (17:39 +0200)]
Build test programs in "make all"
Behdad Esfahbod [Sun, 2 Dec 2012 15:38:55 +0000 (17:38 +0200)]
Fix build for tests
Theppitak Karoonboonyanan [Sun, 2 Dec 2012 08:47:49 +0000 (15:47 +0700)]
Remove Thai/Lao Prepend/Extend properties
In UAX#29 revision 19 (reissued for Unicode 6.1.0), Prepend and Extend
GCB properties have been dropped for Thai/Lao. So, drop the hard coding
accordingly.
https://bugzilla.gnome.org/show_bug.cgi?id=576156
Matthias Clasen [Fri, 30 Nov 2012 04:32:03 +0000 (23:32 -0500)]
Fix a copy-paste error
This was spotted by Coverity.
Behdad Esfahbod [Wed, 21 Nov 2012 06:22:10 +0000 (01:22 -0500)]
Require harfbuzz 0.9.7
Matthias Clasen [Tue, 20 Nov 2012 01:35:16 +0000 (20:35 -0500)]
Post-release version bump
Matthias Clasen [Tue, 20 Nov 2012 01:14:06 +0000 (20:14 -0500)]
1.32.3
Behdad Esfahbod [Thu, 15 Nov 2012 08:21:08 +0000 (00:21 -0800)]
Adjust to HarfBuzz 0.9.7 API
John Ralls [Tue, 13 Nov 2012 03:40:09 +0000 (19:40 -0800)]
Provide a phony define for the LANGUAGE macro
Gobject-introspection encounters it without the definitions in the
including code and fails.
John Ralls [Tue, 13 Nov 2012 03:38:30 +0000 (19:38 -0800)]
Make PANGO_GLYPH flags an enum to make gobject-introspection happy.
See bug 688356
Matthias Clasen [Wed, 14 Nov 2012 00:46:09 +0000 (19:46 -0500)]
Post-release version bump
Matthias Clasen [Wed, 14 Nov 2012 00:14:42 +0000 (19:14 -0500)]
1.32.2
Matthias Clasen [Wed, 14 Nov 2012 00:13:41 +0000 (19:13 -0500)]
Rename configure.in to configure.ac
autoconf is going to drop support for .in at some point.
Benjamin Otte [Tue, 13 Nov 2012 20:17:05 +0000 (21:17 +0100)]
colors: Update colors to SVG/CSS palette
Colors that were defined to different values in Pango than they were in
the CSS specification have been updated to conform to the CSS specs.
See http://dev.w3.org/csswg/css3-color/#svg-color for the color values.
Benjamin Otte [Fri, 9 Nov 2012 17:55:16 +0000 (18:55 +0100)]
colors: Add missing colors from the web palette
Color names taken from
http://dev.w3.org/csswg/css3-color/#svg-color
Matthias Clasen [Tue, 13 Nov 2012 20:12:01 +0000 (15:12 -0500)]
Xft: Fix a deadlock on display close
We can't call pango_xft_shutdown display while holding
the same lock it is taking.
https://bugzilla.gnome.org/show_bug.cgi?id=687470
Behdad Esfahbod [Wed, 7 Nov 2012 18:58:40 +0000 (10:58 -0800)]
Flush cairo surface when done
Chun-wei Fan [Mon, 15 Oct 2012 04:38:26 +0000 (12:38 +0800)]
Bug 685021: "Add" load_fontset() for Win32 backend
We now need a load_fontset() implementation for the Windows backend as the
pango.aliases handling is moved to pangowin32-fontmap.c since commit
831611158, so that it will go through the pango.aliases file and load
the appropriate fontset needed to display various texts.
This basically copies pango_font_map_load_fontset() from pango-fontmap.c
and adds the old (pre-commit
831611158) pango_font_map_fontset_add_fonts(),
but using pango_win32_font_map_load_font() in place of
pango_font_map_load_font().
Matthias Clasen [Fri, 28 Sep 2012 00:15:05 +0000 (20:15 -0400)]
1.32.1
Matthias Clasen [Fri, 28 Sep 2012 00:24:37 +0000 (20:24 -0400)]
Don't wipe docs in dist-hook-local
It is just super-annoying that one cannot even do 'make dist'
and get a working tarball. There has to be a better to do this;
for now, just remove this, no other gtk-doc-using module is
doing this.
Behdad Esfahbod [Thu, 27 Sep 2012 18:08:30 +0000 (14:08 -0400)]
Fixup grapheme clusters
After adding pango_shape_full() and passing full paragraph text to
HarfBuzz, we were getting cluster values relative to beginning to
paragraph back from HarfBuzz, and I forgot to account for that. Caused
severe crashes.
Fixes:
Bug 684959 - crash after "Add pango_shape_full()"
and the dupes...
Behdad Esfahbod [Wed, 26 Sep 2012 21:17:41 +0000 (17:17 -0400)]
Add template for new API
Matthias Clasen [Wed, 26 Sep 2012 21:15:21 +0000 (17:15 -0400)]
Revert "Temporarily work around doc build breakages"
This reverts commit
150691036aab59044d05ed3fa29785910249bb9a.
Matthias Clasen [Wed, 26 Sep 2012 20:38:09 +0000 (16:38 -0400)]
1.32.0
Matthias Clasen [Mon, 20 Aug 2012 22:42:07 +0000 (18:42 -0400)]
Temporarily work around doc build breakages
The doc check script gets tripped up by some struct members
that gtk-doc considers undocumented, and for some reason,
forcing a doc rebuild in make dist does not work either.
Behdad Esfahbod [Wed, 26 Sep 2012 19:37:20 +0000 (15:37 -0400)]
Add pango_shape_full()
Variant of pango_shape() that takes the full paragraph text as input.
This is then passed in entirety to HarfBuzz, which would allow certain
cross-run interactions (in Arabic for example).
When combined with upcoming HarfBuzz 0.9.5+, this fixes:
Red Hat Bug 858736 - [Spanish] Stray dotted circle rendered
https://bugzilla.redhat.com/show_bug.cgi?id=858736
and partially:
Bug 313181 - color changes break arabic shaping
https://bugzilla.gnome.org/show_bug.cgi?id=313181
Behdad Esfahbod [Wed, 26 Sep 2012 19:09:03 +0000 (15:09 -0400)]
Unbreak build system
After
88692e4e, every make invocation was rebuilding everything. Fix.
John Ralls [Tue, 25 Sep 2012 18:40:05 +0000 (11:40 -0700)]
Port PangoCoreTextFont to use GWeakRef
For its PangoCoreTextFontMap* member.
Behdad Esfahbod [Tue, 25 Sep 2012 02:02:10 +0000 (22:02 -0400)]
Allow --without-xft
Patch from galtgendo.
Matthias Clasen [Tue, 18 Sep 2012 00:27:33 +0000 (20:27 -0400)]
Revert "Temporarily work around doc build breakages"
This reverts commit
9c1e5d60a078db4b08bd7247004e759ff60cc534.
Matthias Clasen [Tue, 18 Sep 2012 00:26:45 +0000 (20:26 -0400)]
1.31.2
Matthias Clasen [Mon, 20 Aug 2012 22:42:07 +0000 (18:42 -0400)]
Temporarily work around doc build breakages
The doc check script gets tripped up by some struct members
that gtk-doc considers undocumented, and for some reason,
forcing a doc rebuild in make dist does not work either.
Matthias Clasen [Sat, 15 Sep 2012 02:12:30 +0000 (22:12 -0400)]
Make modules.c thread-safe
The maps list is protected with a mutex.
registered_engines, dlloaded_engines and dlloaded_modules are
read-only after init_modules, which is protected with g_once_init.
Finally, engine creation is protected with another mutex.
Matthias Clasen [Sat, 15 Sep 2012 00:09:38 +0000 (20:09 -0400)]
Rework config file reading
The code was loading and parsing the system config file
every single time, and has not correctly handling mixed
requests for user and system config entries.
This commit reworks the code so that the configuration is
loaded only once, in threadsafe fashion.
pango_config_key_get_system is no longer using the same
hash table, but reloads its data every time - this is
not a really problem, since this function is only used
in pango-querymodules.
Matthias Clasen [Fri, 14 Sep 2012 22:37:06 +0000 (18:37 -0400)]
Load config file only once
Behdad Esfahbod [Fri, 14 Sep 2012 16:40:02 +0000 (12:40 -0400)]
Add HarfBuzz to pkgconfig requires.private
Chun-wei Fan [Fri, 14 Sep 2012 10:31:27 +0000 (18:31 +0800)]
pango/pangowin32-fontmap.c: Fix build
-Include glib/gstdio.h for g_fopen
-Make up for a missed #endif
-correct an internal function name, pango_load_aliases to load_aliases
John Ralls [Thu, 13 Sep 2012 21:23:51 +0000 (14:23 -0700)]
Fixups for introspecting without Freetype
Behdad Esfahbod [Sat, 8 Sep 2012 18:13:04 +0000 (14:13 -0400)]
Only build pangocoretext if have cairo-qaurtz
Matthias Clasen [Wed, 5 Sep 2012 02:28:48 +0000 (22:28 -0400)]
Bump the required GLib version
We need GLib 2.33.12 for g_object_replace_qdata.
Matthias Clasen [Wed, 5 Sep 2012 02:20:30 +0000 (22:20 -0400)]
Revert "Temporarily work around doc build breakages"
This reverts commit
007aa41d10038e9632bad373a837e540b4d0e8e4.
Matthias Clasen [Wed, 5 Sep 2012 01:36:23 +0000 (21:36 -0400)]
1.31.1
Matthias Clasen [Mon, 20 Aug 2012 22:42:07 +0000 (18:42 -0400)]
Temporarily work around doc build breakages
The doc check script gets tripped up by some struct members
that gtk-doc considers undocumented, and for some reason,
forcing a doc rebuild in make dist does not work either.
Matthias Clasen [Sat, 1 Sep 2012 14:32:21 +0000 (10:32 -0400)]
Use thread-safe qdata API for caching
GLib gained a new API that allows to set qdata in a thread-safe
way. Use it here.
John Ralls [Thu, 30 Aug 2012 23:14:42 +0000 (16:14 -0700)]
Fix PangoCoreTextFontsetClass definition so that it builds
Behdad Esfahbod [Wed, 29 Aug 2012 20:59:03 +0000 (16:59 -0400)]
Use g_value_take_object
Behdad Esfahbod [Wed, 29 Aug 2012 20:58:52 +0000 (16:58 -0400)]
Fix warning
Behdad Esfahbod [Wed, 29 Aug 2012 14:51:30 +0000 (10:51 -0400)]
Bug 682952 - remove old glib check
Behdad Esfahbod [Wed, 29 Aug 2012 13:54:19 +0000 (09:54 -0400)]
Port pangofc-font.c to GWeakRef
Behdad Esfahbod [Wed, 29 Aug 2012 13:37:50 +0000 (09:37 -0400)]
Plug leak
Chun-wei Fan [Wed, 29 Aug 2012 04:27:45 +0000 (12:27 +0800)]
Update config.h.win32.in
Make its entries more consistent with the entries given in config.h.in.
Matthias Clasen [Wed, 29 Aug 2012 02:06:20 +0000 (22:06 -0400)]
Make enum get_type functions thread-safe
Use a more modern, template-based way of calling glib-mkenums,
and use templates that use g_once_init_enter/leave to be
thread-safe.
Colin Walters [Tue, 28 Aug 2012 12:17:37 +0000 (08:17 -0400)]
pangoft2: Fix typo
Behdad Esfahbod [Tue, 28 Aug 2012 04:19:35 +0000 (00:19 -0400)]
Start cleaning up config reading
Behdad Esfahbod [Tue, 28 Aug 2012 03:43:38 +0000 (23:43 -0400)]
More churn
Alessandro Pignotti [Wed, 25 May 2011 15:04:44 +0000 (17:04 +0200)]
Protect fontmaps with a mutex in pangoxft-fontmap.c
Alessandro Pignotti [Wed, 25 May 2011 14:58:22 +0000 (16:58 +0200)]
Make static data thread safe in pangowin32-fontmap.c