[Bug 16792] [GTK] Fails to render Japanese/Chinese text with simple path

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Sep 4 03:01:56 UTC 2008


https://bugs.webkit.org/show_bug.cgi?id=16792





------- Comment #11 from alp at nuanti.com  2008-09-03 20:01 PDT -------
(In reply to comment #10)
> Created an attachment (id=23155)
 --> (https://bugs.webkit.org/attachment.cgi?id=23155&action=view) [edit]
> Font selection and rendering fixes
> 
>         GTK+ font fixes and enhancements.
> 
>         Implement font fallback for the simple FontConfig-based text path and
>         improve the Pango-based complex text path to make use of requested
>         font properties and available font selection.
> 
>         Add text shadow support to the complex path.
> 

Some notes on this patch:

1) These changes push Pango's high level (layout) API as far as it can go. If
we want to go further we'll probably want to use the low-level Pango API
directly as Mozilla does, but at least the complex path is now
feature-complete.

2) FontPlatformDataGtk's comparison operator and copy constructor need to be
fixed some time to avoid leaking FontPlatformDatas. The leaks are pretty minor
(per-font) and the fix was too involved to be ready for this patch.

3) Our FontConfig-based fallback font selection doesn't always match what Pango
would select since we don't have that kind of advanced coverage analysis, but
with these changes the simple path does successfully select fonts with the
necessary glyphs available for the first time.

I hope this improves the experience for users of non-Latin scripts and would be
interested to get some feedback. You need to build with the "freetype" backend
to see most of the improvements since they haven't been implemented in the
"pango" backend yet.


-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.




More information about the fonts-bugs mailing list