Bug 106

Summary: Garbage ouput on mixed AA/non-AA text on the same line
Product: xorg Reporter: Frederic Crozat <fcrozat>
Component: Lib/XftAssignee: Keith Packard <keithp>
Status: CLOSED INVALID QA Contact:
Severity: major    
Priority: high    
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Patch for fix the bug with Xft 2.0 none

Description Frederic Crozat 2003-08-19 07:26:01 UTC
This bug is a follow-up of an old Xft 2.0 bug which was fixed by keith 6 months
ago (I'll attached the fix patch) but which has reappear when switching to Xft
2.1. Patch is no longer applicable (partially merged), so I guess some part of
it are missing.

In Mozilla GTK2, if you try to display web pages containing both AA and non-AA
glyphs on the same line (usually, when displaying Japanese, Korean or Chinese
pages, with only unscalable fonts), non-AA glyphs are output as garbage. 

For what I recall from irc discussion with keith, it was a bug in Xft which was
fixed by the attached patch... Unfortunately, it is back with Xft 2.1.
Comment 1 Frederic Crozat 2003-08-19 07:36:18 UTC
Created attachment 51 [details] [review]
Patch for fix the bug with Xft 2.0
Comment 2 Frederic Crozat 2003-08-28 06:16:16 UTC
Test page for mozilla/xft :

http://www.uue.org/~mr/japtest.html
Comment 3 Frederic Crozat 2003-09-05 09:47:56 UTC
I've tried to dig further for this bug (in fact, I was able to apply the format
= 0  and if (!format || format->|| font->format->depth > format->depth) ormat =
 font->format;) stuff.

It fixed the garbare but it also changed glyphs rendering (hinting mainly)..

I'm not sure it is the right fix to use..

Any idea ?
Comment 4 Frederic Crozat 2003-09-10 07:45:08 UTC
Sorry, my latest comment is incorrect, it doesn't fix glyph corruption..
Comment 5 Frederic Crozat 2003-09-10 08:53:46 UTC
I s*ck when I backported xft 2.1.2 to our XFree86 package.. I forgot xftrender.c
changes :((

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.