Please do not reply directly to this email. All additional comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=492510
--- Comment #6 from Qianqian Fang fangqq@gmail.com 2009-03-27 10:10:01 EDT --- (In reply to comment #0)
Failure Case 1: gramps PDF generation
This looks to me really should be a cairo bug, as Behdad reported in his upstream bug. Bitmaps are only preferred when rendering on-screen font sizes, i.e. 11px~16px, as defined in 61-wqy-bitmapfont.conf. But for printing, the font sizes should be way bigger than that, and should by-pass bitmap rendering.
Failure Case 2: pango-view
Here is a similar way to reproduce this bug: LANG=en_US.utf8 pango-view --text "日本語 test" --font "100" LANG=zh_CN.utf8 pango-view --text "日本語 test" --font "100"
English pango renders the Chinese characters as ugly bitmap. Chinese pango renders the Chinese characters as truetype.
Again, I think this is not an issue for wqy-bitmap-fonts, rather, this is an old problem associated with the absence of preferred language (i.e. PANGO_LANGUAGE) when rendering CJK characters under non-CJK locales.
Indeed, there are two issues tangled together:
First, pango can not tell if "日本語" are Japanese Kanji or Chinese Hanzi, while PANGU_LANGUAGE is not defined under non-CJK language, so, pango will not mark the character with the proper language tags, and some CJK specific fontconfig rules will be bypassed.
Second, as a result of the above, the font rendering is now handled to fontconfig without proper language tag, while the default font orders in fontconfig 65-non-latin is very outdated. Mixed with proprietary fonts with free fonts, low quality fonts with small Unicode coverage were placed in front of more complete and polished fonts. In this case, the rendering of Chinese is horrible, mixed by Japanese Gothic, Mincho and Chinese Song/Kai glyphs, see
http://wenq.org/gallery/albums/userpics/10002/confopt_F8_no_wqy-bitmap_en-us...
In order to display Chinese properly under non-CJK fonts, I proposed using wqy-bitmap-fonts as the default CJK fonts for en locales, (many friends and I myself work under en_US locales but want to use Chinese):
http://markmail.org/message/waeyjb3hqkpglfgk
To solve this issue, I suggest to correct two things:
1. define default PANGO_LANGUAGE definition for non-CJK locales, preferably "zh". Because zh contains more complete unicode coverage (20000 characters vs. 6000 for ja and ko) which will give a more uniform look of the rendering; and there are several default Chinese fonts support large char set, such as wqy-bitmap-fonts (>27000 Hanzi), wqy-unibit-fonts(>27000 Hanzi), wqy-zenhei-fonts (=20932), and all the Arphic fonts (>20000 Hanzi). In comparison, Japanese fonts contains too little Han glyphs, and the quality is not impressive.
2. update 65-non-latin.conf. it is too old and only makes more troubles if it stay the way it is.