Comment 16 for bug 37828

Revision history for this message
James Henstridge (jamesh) wrote :

I talked a bit with Christopher Blizzard about the problem on IRC (#gnome-hackers):

 <halfline> jamesh: he says that when firefox does justification it goes into a "draw slow string" code path where firefox passes in it's own spacing
 <halfline> and that there are some known bugs with that layouting engine with generating the spacing
 <halfline> he says he can get on irc and talk to you about it...
 <halfline> let me tell him to get on #gnome-hackers
 --> blizzard (~blizzard@216-15-114-104.c3-0.arl-ubr1.sbo-arl.ma.cable.rcn.com) has joined #gnome-hackers
 <blizzard> hello
 <jamesh> hi blizzard
 <blizzard> I'm here for a few mins :)
 <halfline> blizzard: url is here http://www.gnome.org/~jamesh/firefox-ligature.html
 <halfline> you'll only see the bug, though, if you have a font that supports ligatures for fi, ffi, etc
 <jamesh> ^^ that page asks for DejaVu Sans specifically (a font that triggers the rendering bug)
 <blizzard> jamesh: so
 <blizzard> jamesh: there's per-character code in the layout engine that does per-character spacing
 <blizzard> jamesh: and that tends to fall apart when you start using justification or letter spacing with any code that does character combinging
 <blizzard> combining
 <jamesh> I guessed something like that given the limited conditions when it gets triggered
 <blizzard> yeah
 <blizzard> if you stay away from those things
 <blizzard> selection and friends should work pretty well
 <blizzard> I fixed parts of the layout engine to support grapheme clusters a long time ago
 <blizzard> but not in all case
 <blizzard> cases
 <jamesh> blizzard: I guess part of the problem is that our default sans serif font now contains ligatures ...
 <blizzard> just the common ones
 <blizzard> ugh
 <jamesh> so a web page using text-align: justify and sans-serif font will trigger it
 <blizzard> that is teh suck
 <blizzard> sounds like it's time to try and get that bug fixed
 <jamesh> if it is difficult to fix, maybe going back to Vera as default would be advisable for Dapper
 <blizzard> could be, could be
 <halfline> i wonder if it would be easier to just tell pango to ignore the ligatures
 <blizzard> ok, food time
 <blizzard> back in a bit
 <jamesh> blizzard: thanks