Last Comment Bug 214715 - add a port to use pango for font rendering
: add a port to use pango for font rendering
: intl
Product: Core Graveyard
Classification: Graveyard
Component: GFX: Gtk (show other bugs)
: Trunk
: x86 Linux
-- normal with 9 votes (vote)
: Future
Assigned To: Christopher Blizzard (:blizzard)
: Hixie (not reading bugmail)
Depends on: 257436 260663 261447 284927
Blocks: 197649 233462 60546 gtk2 245157 270012 271057
  Show dependency treegraph
Reported: 2003-07-31 23:07 PDT by Jungshik Shin
Modified: 2014-04-25 15:17 PDT (History)
30 users (show)
See Also:
QA Whiteboard:
Iteration: ---
Points: ---


Description User image Jungshik Shin 2003-07-31 23:07:24 PDT
At least to make a placeholder for the discussion....
Comment 1 User image Jungshik Shin 2003-07-31 23:54:01 PDT
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? 
Comment 2 User image Christopher Blizzard (:blizzard) 2003-08-04 08:21:14 PDT
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?
Comment 3 User image Jungshik Shin 2004-03-18 09:34:52 PST
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.
Comment 4 User image Jungshik Shin 2004-08-22 17:36:29 PDT
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
Comment 5 User image Christopher Blizzard (:blizzard) 2004-09-07 12:51:29 PDT
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.
Comment 6 User image Christopher Blizzard (:blizzard) 2004-09-23 11:58:09 PDT
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.
Comment 7 User image Mats Palmgren (:mats) 2007-06-16 14:57:47 PDT
Jungshik, is this bug still relevant?
Comment 8 User image Julien "_FrnchFrgg_" RIVAUD 2008-01-25 08:54:38 PST
roc could tell
Comment 9 User image Robert O'Callahan (:roc) (email my personal email if necessary) 2008-01-25 22:29:10 PST
We did it.

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