Bug 249079 - missing characters in the default font not being replaced by fallbacks from other fonts
Summary: missing characters in the default font not being replaced by fallbacks from o...
Status: RESOLVED UPSTREAM
Alias: None
Product: kde
Classification: I don't know
Component: general (show other bugs)
Version: 4.5
Platform: Slackware Linux
: NOR normal
Target Milestone: ---
Assignee: Unassigned bugs mailing-list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-26 08:45 UTC by both1970
Modified: 2010-09-02 08:43 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description both1970 2010-08-26 08:45:16 UTC
Version:           4.5 (using KDE 4.5.0) 
OS:                Linux

Normally, when my default font doesn't contain a character (say from a non-Latin script), it finds that character in another font and displays it.

I've noticed that in KDE 4.5, this doesn't happen in all cases. For example, if I go to https://secure.wikimedia.org/wikipedia/en/wiki/Tamil_script in Konqueror I get boxes for the Tamil letters, whereas in Firefox they are displayed. I have reproduced this problem with various other scripts which are not in my default font. Some characters (for example Chinese) do display correctly, however, even though they are not in my default font.

This is not uniquely a Konqueror problem. It affects all KDE applications (Kate, Kmail, etc). I know that in previous KDE versions, this was not the case. I can't pinpoint exactly when this problem first occurred, but I believe it happened between 4.4.4 and 4.5 (I didn't use 4.4.5).

The most important example that I have found is this one: http://en.wikipedia.org/wiki/Syriac_alphabet#Summary_table
Notice that the names of the letters appear as boxes, but the letters themselves appear because they have been explicitly defined with 'font-family' in the HTML code.

I'm guessing that KDE's selection of a fallback font is buggy in that it chooses fallbacks which do not contain the required characters.

This also happens with a new user.

Reproducible: Always

Steps to Reproduce:
Go to http://en.wikipedia.org/wiki/Uyghur_alphabet#Present_situation

Actual Results:  
Note that several Arabic characters do not appear (ie KDE is using a fallback font that contains some of the missing letters but not all of them).



Expected Results:  
On Firefox and Chrome, a different fallback font is used which covers all the missing letters.
Comment 1 Christoph Feck 2010-08-26 11:25:19 UTC
I tried Arora (a pure Qt/QtWebKit based browser) and Konqueror (in KHTML mode) on the pages you mentioned, and got the same results with identical character coverage (i.e. the same rectangles are visible in both browsers; I may lack proper fonts though, I did not try Firefox).

Since KDE does not do any font selection, you either

- upgraded Qt in addition to KDE
- upgraded or changed any other font related libraries or configuration files (fontconfig, freetype, or .fonts.conf file)

In any case, I feel you should report this Qt bug to Nokia via http://bugreports.qt.nokia.com/
Comment 2 both1970 2010-08-26 19:13:49 UTC
I tried a couple of pure Qt apps and I'm seeing the same problem. Plus, there was a recent repository upgrade to qt-4.6.3_ef2e850-i486-1.txz (but not fontconfig or freetype) so I will submit a Qt bug report.

I'm still curious to hear confirmation of this bug from other people though.

Thanks, B.
Comment 3 Christoph Feck 2010-08-26 21:14:15 UTC
http://bugreports.qt.nokia.com/browse/QTBUG-13206
Comment 4 both1970 2010-09-02 08:43:28 UTC
The problem was resolved by uninstalling unifont (http://unifoundry.com/unifont.html) which for some reason interfered with Qt's fallback mechanisms.