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