[cairo] Pango issues on Mac OS X
Ben Anderman
ben at happyspork.com
Mon Sep 7 18:39:39 PDT 2009
Hello everyone,
I'm having problems with Pango on Mac OS X. I package Wesnoth for Mac,
which is in the process of switching to Pango/Cairo for text
rendering. I originally built using Pango 1.21.3, Cairo 1.8.2, and
Pixman 0.12.0. Everything mostly worked with that, but we had the
following issues:
1. Pango would only use fonts installed on the system, while Wesnoth
ships with its own 2 fonts to cover all of its languages. I used a
pango.aliases file to map the main font (DejaVu Sans) to a font
included on OS X (Arial Unicode MS), which supports all but 2
languages Wesnoth has translations for (Arabic and Hebrew). That
worked well enough, but what about those last 2 languages?
2. Pango would simply use the first font in the list you give it for
all the text, rather than falling back to the next font when it found
glyphs the current font couldn't handle. This made it impossible to
get the last two languages to work, because although OS X comes with
Hebrew and Arabic fonts, those fonts don't support any other glyphs at
all. This also made the language selection menu not work, since that
obviously needs to use more than one font.
So, I figured, before trying to get help with this, I'd upgrade to the
latest version (which, by the way, is rather hard on Mac, if you want
to support i386/ppc and OS X 10.4+). So I did that this past weekend,
but that seems to have made things significantly worse; not only did
it not fix the problem, but now it seems as though UTF isn't supported
at all. With DejaVu Sans, all the text is upper cased, and the first
letter of every chunk of text is some symbol (like !@#$%, etc.). In
Arial Unicode MS things aren't quite so bad, but it seems clear that
UTF-8 isn't supported. Here's screen shots of each:
DejaVu Sans: http://www.happyspork.com/pics/broken_pango_dejavu.png
(On the plus side, Wesnoth never used to support !RABIC before!)
Arial: http://www.happyspork.com/pics/broken_pango.png
Old Pango: http://www.happyspork.com/pics/old_pango.png
The versions I upgraded to were: Pango 1.25.5, Pixman 0.16.0, and
Cairo 1.8.8. I noticed with Pango, it now uses Core Text instead (or
as well as?) ATSUI. This is good, I suppose, since ATSUI is deprecated
now. But it did mean that I had to build one of the files with OS X
10.5 headers, because Core Text, although it was introduced in OS X
10.4, was only made a public API in 10.5. I wonder if Core Text has
anything to do with the problems?
Thanks for any help,
Ben Anderman (crimson_penguin on IRC)
More information about the cairo
mailing list