[Konsole-devel] [Bug 44993] graphical characters not displayed
Nikita V.Youshchenko
yoush at cs.msu.su
Wed Oct 23 14:37:02 UTC 2002
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.kde.org/show_bug.cgi?id=44993
------- Additional Comments From yoush at cs.msu.su 2002-10-23 16:36 -------
I've spent several hours tracing qt with gdb.
This is the result.
If unicode (iso10646-1) fonts are available, Qt uses those, and linedrawing
characters work ok.
The problem starts if unicode fonts are not available.
In this case, at some point Qt tries to load font for "GeometricSymbols"
"script" using QFontPrivate::load(). This function uses a static table named
script_table (defined in src/kernel/qfont_x11.cpp) to find out which encodings
do provide which "scripts". In that table there are no encodings that provide
"GeometricSymbols". So QFontPrivate::load() fails,
I don't know what is the correct way to fix.
I used the following workaround.
We use russian locale here, and truetype fonts we use here, when referenced as
koi8-r in appropriate fonts.dir, do provide geometric symbols in range
0x80-0x9F.
So i fixed script_table structure such that "GeometricSymbols" "script" is
provided by "koi8-r" encoding. I also had to fix sampleCharacter() as noted
above to make 0x2502 as a sample character for "GeometricSymbols"
With qt recompiled with those changes, konsole does draw mc correctly when
truetype fonts are used.
This is an ugly workaround, but it works.
More information about the konsole-devel
mailing list