[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