Kristian Rietveld [Sun, 19 Feb 2012 20:03:23 +0000 (21:03 +0100)]
Make CoreText shaping engine more robust
This commit makes the CoreText shaping engine much more robust against
the output from the CoreText typesetter. Refer to the source code
comments for exhaustive details.
Furthermore, this patch fixing cursor navigation in strings with
zero-width spaces.
Kristian Rietveld [Sat, 28 Jan 2012 09:34:52 +0000 (10:34 +0100)]
Make CoreText backend more robust against broken fonts
Patch written in collaboration with Michael Natterer.
Some CTFontDescriptors apparently do not have a style name or font
family name set. This patch makes the code take such corner cases into
account. The font family problem only appears to occur on Snow Leopard
systems, we try to fall back on the font name (postscript name), if that
fails, we fall back on a default fallback.
In some cases a coverage is also not set. (This seems to happen when we
cannot map a broken font back to a correct font descriptor). In such
cases we simply return an empty PangoCoverage, which will likely cause
the engine to fallback on a different font.
Kristian Rietveld [Fri, 14 Oct 2011 09:25:21 +0000 (11:25 +0200)]
CoreText backend: implement font fallbacks
We implement font fallbacks by making use of
CTFontCopyDefaultCascadeList, a public, non-exposed, symbol in the
CoreText library. We might want to handle this differently.
The code now also uses a PangoCoreTextFontsetKey and
PangoCoreTextFontKey, similar to the font config backend. This has also
helped to clean up the code in general.
This patch contains two fixes by Michael Natterer:
1. Fix a bug in pango_core_text_font_key_equal() where the return value
of memcmp() was wrongly interpreted.
2. Cache PangoCoverage in PangoCoreTextFont.
Behdad Esfahbod [Wed, 25 Jan 2012 18:05:02 +0000 (13:05 -0500)]
Update git.mk. git.mk lives in its own upstream repo now.
Kristian Rietveld [Sat, 26 Nov 2011 16:27:43 +0000 (17:27 +0100)]
Bug 664125 - Zero-width spaces cause missing characters
This is fixed by using the characters obtained from CoreText's mapping from
glyphs back to the original string instead of blindly iterating over the
original gchar string. Take notice that we have to convert these indices
from the mapping back to a byte index in the original UTF8 string.
Zero-width spaces are already removed from the list of CGGlyphs, so we were
mismatching CGGlyphs and characters from the original string. Using
CoreText's list of string indices instead eliminates the mismatches.
Dan Winship [Thu, 12 Jan 2012 18:22:10 +0000 (13:22 -0500)]
Fix cross-compiling bug in configure.in
https://bugzilla.gnome.org/show_bug.cgi?id=667799
Chun-wei Fan [Fri, 30 Dec 2011 07:44:54 +0000 (15:44 +0800)]
config.h.win32.in: Update a bit
Make the config entries more like the standard config.h.in
Matthias Clasen [Tue, 22 Nov 2011 20:42:32 +0000 (15:42 -0500)]
Switch to dist-xz
Matthias Clasen [Tue, 22 Nov 2011 20:09:18 +0000 (15:09 -0500)]
1.29.5
Matthias Clasen [Tue, 22 Nov 2011 19:59:13 +0000 (14:59 -0500)]
Make docs a bit more complete
Matthias Clasen [Tue, 22 Nov 2011 19:57:57 +0000 (14:57 -0500)]
Include corefont docs
Matthias Clasen [Tue, 22 Nov 2011 19:56:58 +0000 (14:56 -0500)]
Fix doc build
When gtk-doc regenerated the pango.types file, it includes
get_type functions for platform-specific things that will
cause link failures.
Matthias Clasen [Tue, 22 Nov 2011 19:00:24 +0000 (14:00 -0500)]
Move gmodule to Requires.private
Users of pango are not generally expected to use gmodule API,
so don't force them all to link against it.
Kristian Rietveld [Mon, 14 Nov 2011 09:48:53 +0000 (10:48 +0100)]
CoreText: stricter handling of FontSymbolic traits
It turns out that getting this value as "Int" is incorrect and resulted
in font traits not being returned in some cases. Without traits, an
italic trait is not set, which caused synthetic oblique fonts to be
created when not necessary.
Also use CTFontSymbolicTraits type in the PangoCoreTextFace structure
and do a stricter bit mask check for certainty.
Kristian Rietveld [Fri, 23 Sep 2011 11:50:25 +0000 (13:50 +0200)]
Get _pango_get_lc_ctype from system prefs on Mac OS X
Chun-wei Fan [Mon, 17 Oct 2011 07:22:26 +0000 (15:22 +0800)]
Update VS property sheets
Say farewell to G_DISABLE_DEPRECATED and the build breakages that it causes.
We now have warnings when we make use of deprecated GLib items
Matthias Clasen [Thu, 13 Oct 2011 21:54:40 +0000 (17:54 -0400)]
Don't set build-breaking defines
Now that we get compiler warnings for deprecations, we don't
need to use the G_DISABLE_DEPRECATED hammer anymore.
Bye, bye, build breakage.
Matthias Clasen [Wed, 12 Oct 2011 22:33:03 +0000 (18:33 -0400)]
Add deprecation attributes to deprecated functions
This is using the newly introduce G_DEPRECATED macros
from GLib. Traditional deprecation guards are still in
place.
https://bugzilla.gnome.org/show_bug.cgi?id=661612
Matthias Clasen [Wed, 28 Sep 2011 14:56:24 +0000 (10:56 -0400)]
Bump version
1.29.4 got released off a side-branch, but bump version here too.
Chun-wei Fan [Sun, 25 Sep 2011 01:56:37 +0000 (09:56 +0800)]
Update VS2008 PangoFT2 project
This project will require the use of stdint.h, which is not shipped with
VS2008 (but is shipped with VS2010), so define HAVE_STDINT_H for all
settings in this project so that the stdint.h bundled in
$(srcroot)/build/win32/vs9 will be used when HarfBuzz and FontConfig is
being used.
Chun-wei Fan [Sun, 25 Sep 2011 01:49:24 +0000 (09:49 +0800)]
README.win32: Update compilation info a bit
Update the info about the Visual Studio projects as VS2010 projects have
landed into master.
Chun-wei Fan [Fri, 16 Sep 2011 07:54:42 +0000 (15:54 +0800)]
break.c: Fix compilation against newer GLib versions
G_UNICODE_COMBINING_MARK was renamed as G_UNICODE_SPACING_MARK soon after
the GLib 2.29.14 release, so fix that in break.c and pango-ot-info.c.
To support GLib on and before 2.29.14, a convenience definition for
G_UNICODE_SPACING_MARK is defined.
Chun-wei Fan [Fri, 16 Sep 2011 08:00:51 +0000 (16:00 +0800)]
hb-private.h: Fix compilation on newer GLib versions
g_atomic_int_exchange_and_add was deprecated in the GLib gatomic.c rewrite,
for GLib 2.29.6, so use g_atomic_int_add for GLib versions 2.29.5+.
Chun-wei Fan [Fri, 16 Sep 2011 07:51:00 +0000 (15:51 +0800)]
VS support: Fix VS2008/2010 property sheets
-Seperate intermediate folders for each project to remove redundant VS
warnings/errors
-Don't create a folder for pango.aliases if the folder already exists
-Don't create pango.aliases if it already exists
Chun-wei Fan [Fri, 16 Sep 2011 03:37:25 +0000 (11:37 +0800)]
VS2010 support: Update README.txt
-This file should have Windows EOL
-Tell people about GNOME Live! page for steps to building Pango with MSVC
(and the GTK+ stack)
-Fix some errors in some of the words used here.
Chun-wei Fan [Fri, 16 Sep 2011 03:33:51 +0000 (11:33 +0800)]
Bug 653985: Fix the VS2010 Pangowin32 project
Define the PANGO_MODULE_PREFIX in the project, as was done with the
VS9 project in commit
552ffc231.
Chun-wei Fan [Fri, 16 Sep 2011 03:10:03 +0000 (11:10 +0800)]
VS 2010 support: Fix EOL of .sln files
The .sln files need to have Windows EOL.
Chun-wei Fan [Wed, 25 May 2011 03:53:10 +0000 (11:53 +0800)]
bgo# 650456 Visual C++ 2010 support-README.txt
Chun-wei Fan [Wed, 25 May 2011 03:51:44 +0000 (11:51 +0800)]
bgo# 650456: Visual C++ 2010 Project Files
These are the VS 2010 project files themselves...
As in the last patch, project and filter files for pango, pangocairo and
pangoft2 are templates so that they are filled in during "make dist",
which the resulting full project/filter files are distributed with the
templates
Yeah, I know there are 2 sets of projects/filters for pangocairo, but it is
needed to accomodate the options for the dependency on fontconfig/pangoft2
on VS2010. That's life with VS2010...
Chun-wei Fan [Wed, 25 May 2011 03:38:20 +0000 (11:38 +0800)]
bgo# 650456: Visual C++ 2010 support-autotools
Update the autotools files for:
-Creation of the full VS 2010 project/filter files for pango, pangocairo
and pangoft2 from the templates during "make dist", so that the source
file list can be made up-to-date with each release-this will simplify
maintenance, as this is what is done for the VS 2008 project files.
-Dist the VS 2010 files (with the templates) and related items
Behdad Esfahbod [Thu, 8 Sep 2011 18:55:21 +0000 (14:55 -0400)]
Fix annotation syntax
Behdad Esfahbod [Thu, 8 Sep 2011 15:12:28 +0000 (11:12 -0400)]
Bug 658561 - Double free after calling Pango.Context.get_font_description()
Behdad Esfahbod [Mon, 1 Aug 2011 21:16:36 +0000 (17:16 -0400)]
Minor
Behdad Esfahbod [Sun, 31 Jul 2011 20:59:02 +0000 (16:59 -0400)]
Add comment
Behdad Esfahbod [Sun, 31 Jul 2011 20:58:31 +0000 (16:58 -0400)]
Remove dead code
Matthias Clasen [Mon, 5 Sep 2011 14:11:28 +0000 (10:11 -0400)]
Mention GMarkup and character entities
As requested in bug 403499.
Chun-wei Fan [Wed, 31 Aug 2011 05:19:44 +0000 (13:19 +0800)]
Updated README.win32 and VS9 Readme.txt
-Set README.win32 to have Windows EOL
-Updated README.win32 regarding the situation of modules on Windows
under different build approaches.
-Tell people in both Readme files about the GNOME Live! page that
describes building Pango and its dependencies with Visual Studio
in better detail.
Matthias Clasen [Tue, 23 Aug 2011 12:36:09 +0000 (08:36 -0400)]
Fix the build
With gcc 4.6.1, I get a build error in pango/ because the C++
parts in harfbuzz have not been compiles with -lPIC. Not sure
if this change is 100% correct, but it makes things build
successfully.
Khaled Hosny [Fri, 19 Aug 2011 18:14:33 +0000 (20:14 +0200)]
Fix ChanContext backtrack matching with GPOS
Backported from HarfBuzz-ng:
http://cgit.freedesktop.org/harfbuzz/commit/?id=
cc1a8a938b4c13e76b58825a9e1951c4134e634a
Michael Vogt [Tue, 9 Aug 2011 08:43:15 +0000 (10:43 +0200)]
Fix missing GI transfer annotation for pango_layout_get_line_readonly()
https://bugzilla.gnome.org/show_bug.cgi?id=656014
Chun-wei Fan [Mon, 25 Jul 2011 03:53:27 +0000 (11:53 +0800)]
Update VS 2008 README.txt
Tell people not to compile Pango in paths with spaces in them.
Colin Walters [Fri, 22 Jul 2011 15:30:17 +0000 (11:30 -0400)]
build: Fix srcdir != builddir
Rico Tzschichholz [Fri, 15 Jul 2011 16:30:03 +0000 (18:30 +0200)]
Fix introspection build using uninstalled GIRs
https://bugzilla.gnome.org/show_bug.cgi?id=654689
Behdad Esfahbod [Wed, 20 Jul 2011 19:00:19 +0000 (15:00 -0400)]
Add more Chinese poetry
From:
https://secure.wikimedia.org/wikipedia/en/wiki/Shi_shi_shi_shi_shi
Evan Nemerson [Sun, 21 Nov 2010 00:39:42 +0000 (16:39 -0800)]
Bug 635399 - Add C include and exported packages information to GIRs
Behdad Esfahbod [Tue, 12 Jul 2011 02:24:49 +0000 (22:24 -0400)]
Bug 653985 - Pango 1.29.x make GTK3-demo.exe crashed in Windows
Similar to d9e254f which changed the rest of the modules, moved the
PANGO_MODULE_PREFIX define from basic-win32.c to the VS9 project file to
avoid breaking autotools build.
Fixes basic-win32 module loading when pango is built with autotools +
MinGW.
Kalev Lember [Tue, 12 Jul 2011 02:21:13 +0000 (22:21 -0400)]
Part of Bug 653985 - Pango 1.29.x make GTK3-demo.exe crashed in Windows
Fixes a regression from ea702f4 which changed PangoFallbackEngine to be
abstract.
Kristian Rietveld [Fri, 1 Jul 2011 19:08:39 +0000 (21:08 +0200)]
Make ATSUI backend compile again
Commit
02f80c9acdec53f58fef0e12f41363c3c4ea1efe broke the build and was
likely committed untested.
Chun-wei Fan [Wed, 29 Jun 2011 04:46:27 +0000 (12:46 +0800)]
Attempt to correct EOL on VS2008 solutions
I realized that I needed to set autocrlf=false on my Windows side ... ugh...
These are the files that must have CRLF line endings to work correctly :|
Javier Jardon [Thu, 23 Jun 2011 17:22:17 +0000 (18:22 +0100)]
docs: pangofc-fontmap: Fix typo in "Since" tag
Javier Jardon [Thu, 23 Jun 2011 17:17:24 +0000 (18:17 +0100)]
pango-docs.sgml: Add xml index pages to avoid warnings
Javier Jardón [Mon, 20 Jun 2011 14:09:23 +0000 (15:09 +0100)]
docs: Fix typo
Javier Jardón [Mon, 20 Jun 2011 14:07:24 +0000 (15:07 +0100)]
docs: Fix references to PangoFcFontmap -> PangoFcFontMap
Stefan Kost [Mon, 20 Jun 2011 13:32:38 +0000 (15:32 +0200)]
docs: modernize docs
Get rid of entities and use xi:includes instead. This makes the docs build
faster and makes it easier to conditionally include stuff.
Behdad Esfahbod [Fri, 17 Jun 2011 21:08:35 +0000 (17:08 -0400)]
Bug 652841 - Various pieces of dead code found by gcc/clang static analyzer
Javier Jardón [Thu, 16 Jun 2011 19:04:41 +0000 (20:04 +0100)]
Bump version to 1.29.3
Javier Jardón [Thu, 16 Jun 2011 19:03:21 +0000 (20:03 +0100)]
Revert latest commit
This reverts commit
6d1c98aed05ad10111c896708aca86436fc2328a.
Javier Jardón [Thu, 16 Jun 2011 18:01:00 +0000 (19:01 +0100)]
asd
Javier Jardón [Thu, 16 Jun 2011 16:15:41 +0000 (17:15 +0100)]
Bump version to 2.29.1
Behdad Esfahbod [Thu, 16 Jun 2011 16:12:31 +0000 (12:12 -0400)]
Update NEWS
Colin Walters [Wed, 15 Jun 2011 16:32:25 +0000 (12:32 -0400)]
introspection: Remove incorrect trailing colon from (skip)
The syntax doesn't include this, and apparently it confuses gtk-doc.
Tomas Bzatek [Wed, 15 Jun 2011 15:48:28 +0000 (17:48 +0200)]
Exclude headers that are not valid from gtkdoc generation
Also regenerate the types list to reflect the changes.
This still throws some warnings regarding non-existent declarations
that we excluded but allows us to distcheck on linux.
Behdad Esfahbod [Wed, 15 Jun 2011 15:29:48 +0000 (11:29 -0400)]
Revert "layout: Make sure all lines are ellipsized"
This reverts commit
00d2842d8a5ded059fc058d05b2cffcf16186710.
Matthias Clasen [Wed, 15 Jun 2011 13:04:20 +0000 (09:04 -0400)]
Cull some dead code
Some static analysis tool complained about dead code,
and it is right in this case.
https://bugzilla.gnome.org/show_bug.cgi?id=652616
Benjamin Otte [Mon, 18 Apr 2011 21:15:30 +0000 (23:15 +0200)]
layout: Make sure all lines are ellipsized
All lines that are too long should be ellipsized when ellipsizing is
enabled. Not just those lines where we thought they'd need to be in
advance. It might turn out that a word is too long so that we cannot
wrap it. In that case we still want to break as soon as possible, but
still ellipsize the line.
https://bugzilla.gnome.org/show_bug.cgi?id=649783
Behdad Esfahbod [Sat, 11 Jun 2011 03:07:58 +0000 (23:07 -0400)]
Bug 652227 - Unconditional use of stdint.h
Ryan Lortie [Thu, 9 Jun 2011 15:36:59 +0000 (11:36 -0400)]
Stop using G_CONST_RETURN in Pango
G_CONST_RETURN is headed for deprecation (as per bug #644611). Stop
using it in Pango.
https://bugzilla.gnome.org/show_bug.cgi?id=652202
Matthias Clasen [Fri, 3 Jun 2011 01:34:18 +0000 (21:34 -0400)]
Fix make check
Matej Knopp [Tue, 31 May 2011 06:20:35 +0000 (08:20 +0200)]
Bug 650781 - Font Families are listed lowercase
Fix CoreText backend to not use the casefold string as family name.
Chun-wei Fan [Wed, 25 May 2011 04:06:27 +0000 (12:06 +0800)]
Dist the Visual C++ 2008 README.txt file
accidently removed that during my last changes...doh.
Chun-wei Fan [Fri, 20 May 2011 09:20:50 +0000 (17:20 +0800)]
Update config.h.win32.in
There were some typoes in the autotools macros used-fix them up.
Chun-wei Fan [Wed, 18 May 2011 04:39:40 +0000 (12:39 +0800)]
Minor updates to Visual C++ 2008 README.txt
Make pathnames Windows-like... missed them just now. doh.
Chun-wei Fan [Wed, 18 May 2011 03:43:42 +0000 (11:43 +0800)]
Update Visual C++ 2008 README.txt
Make the instructions to compile Pango with Visual C++
clearer.
Behdad Esfahbod [Wed, 18 May 2011 02:20:42 +0000 (22:20 -0400)]
Part of Bug 377539 - Make Pango thread-safe
Behdad Esfahbod [Wed, 18 May 2011 02:20:31 +0000 (22:20 -0400)]
[docs] Update templates
Chun-wei Fan [Tue, 17 May 2011 10:03:25 +0000 (18:03 +0800)]
Update pango.def
The entry of the symbols for commit
4587e5d2231b717dd116253a49badc1ba3aa5db5 in this file was not correct.
Fix that here.
Chun-wei Fan [Tue, 17 May 2011 08:16:09 +0000 (16:16 +0800)]
Update Visual C++ 2008 property sheet
Create a pango.aliases file in $(OutDir)etc\pango during the "install"
phase. The contents of the file is identical to the one that is
suggested in README.win32
Behdad Esfahbod [Mon, 16 May 2011 14:03:18 +0000 (10:03 -0400)]
Minor
Matthias Clasen [Mon, 16 May 2011 13:34:21 +0000 (09:34 -0400)]
Add an index for 1.30 api additions
Turns out the index for 1.28 additions was mislabeled, too.
Matthias Clasen [Mon, 16 May 2011 13:32:59 +0000 (09:32 -0400)]
Provide access to PangoLayout.n_chars
This lets us avoid a bunch of g_utf8_strlen() calls, when
Pango is already maintaining this information anyway.
https://bugzilla.gnome.org/show_bug.cgi?id=650208
Matthias Clasen [Sat, 14 May 2011 12:31:02 +0000 (08:31 -0400)]
Add a readonly version of pango_layout_get_log_attrs()
Otherwise, we are forced to either make many unnecessary copies
or pass the log attrs around alongside the layout in APIs operating
on the attrs.
https://bugzilla.gnome.org/show_bug.cgi?id=650170
Chun-wei Fan [Mon, 16 May 2011 09:52:41 +0000 (17:52 +0800)]
Various Visual C++ support updates
-Move the stub stdint.h back into the vs9 folder as stdint.h is shipped
with Visual C++ 2010, and update the corresponding Makefile.am's
accordingly
-Add new solution to build Pango with FontConfig-the former solution file
will build Pango without FontConfig. This is to simplify the use
of the GTK+ stack as many will probably not use FontConfig on Windows,
therefore this is to reduce the number of dependencies
-Added configurations in Pango, PangoWin32, PangoCairo regarding FontConfig
(To make sure their configurations are consistent across the board)
-Cleaned up the various project files for a bit.
Chun-wei Fan [Mon, 16 May 2011 09:44:51 +0000 (17:44 +0800)]
Update preconfigured config.h(.win32.in)
-Update for Visual C++ 2010 regarding stdint.h (it is shipped with VS 2010
by default)
-Allow option to not use FontConfig
Chun-wei Fan [Mon, 16 May 2011 04:44:02 +0000 (12:44 +0800)]
Update Visual C++ property sheet
Force the use of the pre-generated sources and headers, so that
language/script modules can be used directly and correctly from
the main Pango/PangoWin32/PangoFT2 DLL(s)
Chun-wei Fan [Mon, 16 May 2011 04:14:22 +0000 (12:14 +0800)]
Update Visual C++ support a bit
-Move the stub unistd.h and stdint.h required up a level to ease the
addition of Visual C++ 2010 support
-Dist the Visual C++-stub unistd.h and stdint.h
-Update the pangoft2 project again to reflect the change in the location
of the Visual C++-stub headers
Chun-wei Fan [Mon, 16 May 2011 04:08:12 +0000 (12:08 +0800)]
Update pangoft2 Visual C++ project
Make the include paths and predefined macros consistent across the board.
Chun-wei Fan [Mon, 16 May 2011 04:03:13 +0000 (12:03 +0800)]
Update pangowin32 Visual C++ project
Now the code links directly to usp10.lib, so add that in the project
files.
Behdad Esfahbod [Mon, 2 May 2011 02:14:32 +0000 (22:14 -0400)]
Fix doc templates
Behdad Esfahbod [Mon, 2 May 2011 01:06:58 +0000 (21:06 -0400)]
[OT] Fix logic
That part of code is to be removed thanks to HarfBuzz move though.
Behdad Esfahbod [Mon, 2 May 2011 01:06:16 +0000 (21:06 -0400)]
Fix compiler warnings
John Ralls [Sun, 1 May 2011 19:12:21 +0000 (12:12 -0700)]
Bug 648044; Change PangoCoreTextFace::weight to type PangoWeight and perform the conversion from the CFNumber with a mapping table in pango_core_test_face_from_ct_font_descriptor()
This assigns PangoWeights which better align with the CoreText weights and better ensures that unique values are used for hash keys used for determining which faces need synthetic italic faces created.
John Ralls [Sun, 1 May 2011 05:01:00 +0000 (22:01 -0700)]
Finish conversion to using G_DEFINE_TYPE: Provide PangoCoreTextFamilyClass and PangoCoreTextFaceClass so that it actually compiles.
Javier Jardón [Sat, 30 Apr 2011 11:45:36 +0000 (12:45 +0100)]
pango/pangox-fontmap.c: Use G_DEFINE_TYPE
Javier Jardón [Sat, 30 Apr 2011 11:07:16 +0000 (12:07 +0100)]
pango/pangocoretext-fontmap.c: Use G_DEFINE_TYPE
Javier Jardón [Sat, 30 Apr 2011 11:03:36 +0000 (12:03 +0100)]
pango/pangoatsui-fontmap.c: Use G_DEFINE_TYPE
Javier Jardón [Sat, 30 Apr 2011 10:55:55 +0000 (11:55 +0100)]
pango/pango-renderer.c: parent_class is already defined in G_DEFINE_ABSTRACT_TYPE
Javier Jardón [Sat, 30 Apr 2011 10:53:57 +0000 (11:53 +0100)]
ngo/pango-ot-ruleset.c: Use G_DEFINE_TYPE
Javier Jardón [Sat, 30 Apr 2011 10:49:04 +0000 (11:49 +0100)]
pango/pango-ot-info.c: Use G_DEFINE_TYPE
Javier Jardón [Sat, 30 Apr 2011 10:41:37 +0000 (11:41 +0100)]
pango/pangox.c: Use G_DEFINE_TYPE
Javier Jardón [Sat, 30 Apr 2011 10:02:09 +0000 (11:02 +0100)]
Remove unneeded custom macros