On Wed, Aug 15, 2007 at 07:40:18PM +0200, Abdelrazak Younes wrote:

> Enrico Forestieri wrote:
> 
> > This is not X11 related. If you load the attached .lyx file, you wont
> > be able to see the second \Omega, and the first one is displayed
> > in black. When setting USE_PIXMAP_CACHE to 0, the second \Omega is
> > visible again, but they are in black, still. Happens with Qt 4.1.5,
> > 4.2.2, 4.3.0, and 4.3.1.
> 
> Got it I think. The problem is that \Omega use the character 173 in the 
> cmr font. 173 == 0x00ad, does that rings a bell?

Yes, I know that Omega is special for Qt wrt the other math symbols,
and had also thought about it but was not sure how that could be
related.

> Here is the relevant code in QLPainter::text:
> 
>       // Qt4 does not display a glyph whose codepoint is the
>       // same as that of a soft-hyphen (0x00ad), unless it
>       // occurs at a line-break. As a kludge, we force Qt to
>       // render this glyph using a one-column line.
>       if (s.size() == 1 && str[0].unicode() == 0x00ad) {
> 
> This code happens before we chose or not to use the pixmap cache so I 
> don't really understand why the non cache case is not affected. I'll 
> include the font family in the test above and report back if it fixes 
> the problem.
> 
> Question: was this kludge introduced exactly for the purpose of 
> displaying \Omega?

Yes, otherwise Qt4 does not display it.

-- 
Enrico

Reply via email to