Closed Bug 214715 Opened 21 years ago Closed 16 years ago

add a port to use pango for font rendering


(Core Graveyard :: GFX: Gtk, defect)

Not set


(Not tracked)



(Reporter: jshin1987, Assigned: blizzard)



(Keywords: intl)

At least to make a placeholder for the discussion....
A couple of issues with going all the way to Pango:

  1. For some scripts (specifically Korean), Mozilla does a lot better than
Pango. Last fall, I made patches for both
 and Mozilla(bug 176290), but my patch didn't make it in Pango 1.3 in last
December. I haven't followed up since. Instead of fixing bug 95708 (that is for
MS' fonts that are not easily available), I'd rather implement OTF support in

  2. In a way, Pango is too intelligent. We need to find a way to do somethings
in our own way while delegating most things to Pango. For instance, MathML has
to be done as we do now. The same might be true of fallback rendering and
'invisible' glyphs handling.

  3. do we  want to replace nsFontMetricsXft.cpp with nsFontMetricsPango
(PangoXft) or use them both? 
   Frank Tang's SILA ( 'grafted' 
   Graphite-font handling code to nsFontMetricsWin.cpp
   I also considered doing the same, but doing so is not as easy as Graphite +
nsFontMetricsWin. Perhaps, it's still possible

  4. perf. issue. blizzard, you had some reservation about perf. of Pango,
didn't you? 
My performance concerns were only related to the fact that owen thought that it
might be a bit slow for what we need.  I don't have any hard numbers to back
that up.

If we're only worried about custom encodings (PUA -> glyph translation, usually)
isn't it easy enough to write a pango module to do that for us?  Or, as a stop
gap, still have some of that in our code?
Blocks: gtk2
Summary: make nsFontMetricsPango.cpp → add a port to use pango for font rendering
Blocks: 233462
We may never do this (because in bug 215219, we came up with a reasonable
alternative). Let's future it for the now and see how it'll  work out later.
Target Milestone: --- → Future
Blocks: 245157
Blocks: 60546
blizzard has recently landed patches for nsFontMetricsPango and other related
stuffs. To test it, pango 1.5 (which can handle custom-font encodings for
MathML) has to be installed and mozilla has to be configured/built with
Assignee: jshin → blizzard
Blocks: 197649
Yeah, you can use pango now.  I've been using it full time for quite a while now
and haven't run into any serious problems.  I would love to try to get wider
testing before I turn this on in rawhide, but I'm not sure how to do this.
Depends on: 257436
So the pango code in the tree is good enough for display of pages.  I've
implemented the code that should allow MathML to work.  It seems to display the
MatML pages, but they don't look quite right.  I suspect there are still some
bugs in my code.

If you want to use this code you need a version of Pango >= 1.6.0 and just use
--enable-pango as a flag to configure.  It should build and run out of the box.
 If you want to disable it on the command line for testing, just use
MOZ_DISABLE_PANGO=1 in your envioronment.

I haven't written the code to use pango for printing, hit testing or cursor
position yet.
Depends on: 261447
Depends on: 260663
Blocks: 270012
Depends on: 284927
Blocks: 271057
Jungshik, is this bug still relevant?
roc could tell
We did it.
Closed: 16 years ago
Resolution: --- → FIXED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.