Enrico Forestieri wrote: > I think I discovered why the math symbols \Omega, \otimes, \nleqslant, > and \rightleftharpoons are currently not displayed (bug 3181). > From the lib/symbols file, it turns out that the codepoint of all > of them is 173=0x00ad, and, according to the following code > > // hide soft-hyphens by default > if (uc[i].unicode() == 0x00ad || qIsControlChar(uc[i].unicode())) > glyphs[pos].attributes.dontPrint = true; > > in the Qt4 qscriptengine.cpp source file, they are hidden by default.
Good detective work! Unfortunately the problem is exactly what I suspected: qt4 tries to be clever and fails. Did I say already that I hate how qt handles fonts? AFAIK it is not even possible to reliably get the information which font is really used. > I don't see an easy solution to this problem, other than changing their > codepoint both in the lib/symbols file and the font files (fontforge can > do this). The best solution would be find a way to address a font directly without making qt think that the printed character is a unicode character. If that is not possible somebody who has a qt tracker accout should file a bug against qt, and we should create a new font with these glyphs that is used instead of the original ones. We shoult not change the positions of the glyphs in the ttf fonts and the symbols file, the ttf fonts should remain drop-in replacements for the .pfb versions. Georg