Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 228638 - pango does not kern/ligature Type 1 fonts in firefox
Summary: pango does not kern/ligature Type 1 fonts in firefox
Alias: None
Product: Fedora
Classification: Fedora
Component: pango
Version: 8
Hardware: x86_64
OS: Linux
Target Milestone: ---
Assignee: Behdad Esfahbod
QA Contact:
Whiteboard: bzcl34nup
Depends On:
TreeView+ depends on / blocked
Reported: 2007-02-14 03:59 UTC by Ben Caradoc-Davies
Modified: 2008-04-07 23:09 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2008-04-07 03:12:00 UTC

Attachments (Terms of Use)

Description Ben Caradoc-Davies 2007-02-14 03:59:34 UTC
Description of problem:

Type 1 fonts are not kerned when rendered with pango in firefox. For example, in
the words "World" and "Weather", the bounding boxes of the "W" and the following
glyph do not overlap as they should. Kerning does occur with TrueType fonts.
Type 1 fonts also do not undergo ligature substitution, but TrueType do.

Kerning does occur if I first use fontforge to convert Nimbus Roman No9 L
Regular (a Type 1 font) to TrueType or OpenType and then select the new font,
but the results are truly hideous. (Blame autohinting?) So it seems to be a
choice between nicely rendered Type 1 fonts without kerning or ugly
{True,Open}Type fonts with kerning. Someone with a substantial knowledge of
fontforge may have better results.

Version-Release number of selected component (if applicable):


How reproducible:

Steps to Reproduce:
1. Start Firefox with pango enabled. Disable "allow pages to choose their own
2. View a web page with obvious kernable text, such as ,
and view words such as "World" or "Weather".
3. Switch between "DejaVu GCL Serif" and one of {"Nimbus Roman No9 L", "Luxi
Serif"} and observe kerning or its lack. Also look for ligatures such as "fi"
and "fl" in words like "field" or "file" or "flight".
Actual results:

Truetype fonts such as DejaVu GLC Serif are kerned and undergo ligature
substitution, while Type 1 fonts such as Nimbus Roman No9 L and Luxi Serif are not.

Expected results:

All fonts with kerning tables are kerned. All ligatures are substituted.

Additional info:

I know this is a "bug" in pango, because if firefox is started with
MOZ_DISABLE_PANGO=1 in its environment, then *all* fonts are unkerned, even
DejaVu GLC Serif.

Pango has improved firefox by introducing kerning and ligature substitution for
TrueType fonts. It would be very nice if we could get the same support for Type
1 fonts, or somebody to covert them into {Open,True}Type fonts of satisfactory

Comment 1 Behdad Esfahbod 2007-02-14 18:23:18 UTC
Does the bug happen in gedit too?

Comment 2 Ben Caradoc-Davies 2007-02-14 22:09:05 UTC
Yes, the bug occurs in gedit, with no kerning in "Weather" and "World" with Type
1 fonts but kerning with TTF fonts (DejaVu Serif).

Correction: DejaVu Serif is a bad font for seeing the ligatures problem, as it
does not appear to have ligatures for fi or fl. The non-substitution can be seen
by using fontforge to convert Nimbus Roman No9 L to TTF and then comparing the
results. Ligatures are present for the TTF but not the Type 1.

I am using an LCD monitor with subpixel smoothing. Does that change the renderer?

Comment 3 Nicolas Mailhot 2007-07-22 13:31:35 UTC
dejavu ligatures were removed for several months to give pango & firefox devs
the time to fix their bug. The ligatures are back in F7

Comment 4 Liang Zhang 2007-09-28 08:46:53 UTC
The upstream bug:

Comment 5 Bug Zapper 2008-04-04 06:13:34 UTC
Fedora apologizes that these issues have not been resolved yet. We're
sorry it's taken so long for your bug to be properly triaged and acted
on. We appreciate the time you took to report this issue and want to
make sure no important bugs slip through the cracks.

If you're currently running a version of Fedora Core between 1 and 6,
please note that Fedora no longer maintains these releases. We strongly
encourage you to upgrade to a current Fedora release. In order to
refocus our efforts as a project we are flagging all of the open bugs
for releases which are no longer maintained and closing them.

If this bug is still open against Fedora Core 1 through 6, thirty days
from now, it will be closed 'WONTFIX'. If you can reporduce this bug in
the latest Fedora version, please change to the respective version. If
you are unable to do this, please add a comment to this bug requesting
the change.

Thanks for your help, and we apologize again that we haven't handled
these issues to this point.

The process we are following is outlined here:

We will be following the process here: to ensure this
doesn't happen again.

And if you'd like to join the bug triage team to help make things
better, check out

Comment 6 Ben Caradoc-Davies 2008-04-05 00:30:28 UTC
This bug is still present in firefox-

For example, TeX Gyre Termes (TTF), a derivative of URW Nimbus Roman No9 L, is
kerned, while URW Nimbus Roman No9 L (Type 1) is not kerned.

Comment 7 Behdad Esfahbod 2008-04-07 03:12:00 UTC
Yes, Pango doesn't ligate Type1 fonts.  Not going to be fixed ever.  Just use
OpenType fonts instead.

Comment 8 Ben Caradoc-Davies 2008-04-07 23:09:23 UTC
OK. Since this bug was reported, TeX Gyre have made many core fonts available as
good quality TTF, mitigating the problem.

The non-ligating of Type 1 fonts could be considered a feature, because there is
no way to turn it off for TTF/OTF in some applications (i.e. Eclipse). For
example, if a TTF/OTF version of Courier or DejaVu Sans Mono is used in Eclipse,
ligatures are honoured, and source code "file =" has ligation applied to the
"fi", converting it to a single symbol. This is Not What The User Wanted. The
workaround is to select the Type 1 version (e.g. Bitstream Vera Sans Mono).

Note You need to log in before you can comment on or make changes to this bug.