The default bug view has changed. See this FAQ.

add a port to use pango for font rendering

RESOLVED FIXED in Future

Status

Core Graveyard
GFX: Gtk
RESOLVED FIXED
14 years ago
3 years ago

People

(Reporter: Jungshik Shin, Assigned: blizzard)

Tracking

(Blocks: 2 bugs, {intl})

Trunk
Future
x86
Linux
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

14 years ago
At least to make a placeholder for the discussion....
(Reporter)

Comment 1

14 years ago
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
Pango(http://bugzilla.gnome.org/show_bug.cgi?id=95708)
 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
http://bugzilla.gnome.org/show_bug.cgi?id=112467

  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 (http://sila.mozilla.org) '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? 
(Assignee)

Comment 2

14 years ago
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: 92033
Summary: make nsFontMetricsPango.cpp → add a port to use pango for font rendering

Updated

13 years ago
Blocks: 233462
(Reporter)

Comment 3

13 years ago
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
(Reporter)

Updated

13 years ago
Blocks: 245157
(Reporter)

Updated

13 years ago
Blocks: 60546
(Reporter)

Comment 4

13 years ago
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
'--enable-pango'
Assignee: jshin → blizzard
(Reporter)

Updated

13 years ago
Blocks: 197649
(Assignee)

Comment 5

13 years ago
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.
(Assignee)

Updated

13 years ago
Status: NEW → ASSIGNED
(Assignee)

Updated

13 years ago
Depends on: 257436
(Assignee)

Comment 6

13 years ago
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.
(Assignee)

Updated

13 years ago
Depends on: 261447
(Assignee)

Updated

13 years ago
Depends on: 260663
(Reporter)

Updated

13 years ago
Blocks: 270012

Updated

12 years ago
Depends on: 284927

Updated

12 years ago
Blocks: 271057

Comment 7

10 years ago
Jungshik, is this bug still relevant?
roc could tell
We did it.
Status: ASSIGNED → RESOLVED
Last Resolved: 9 years ago
Resolution: --- → FIXED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.