Make CoreText backend more robust against broken fonts
authorKristian Rietveld <kris@lanedo.com>
Sat, 28 Jan 2012 09:34:52 +0000 (10:34 +0100)
committerKristian Rietveld <kris@lanedo.com>
Sat, 28 Jan 2012 10:24:26 +0000 (11:24 +0100)
commit38ada127bfb53911ecd64ced26fd23ec67138b43
treef1ec3e56f2183f9b6934afb718dd4c678ec4adb7
parent37e74619215ede8a4fa7f5edabab14b517e673b2
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.
pango/pangocoretext-fontmap.c
pango/pangocoretext.c