GNOME Bugzilla – Bug 343796
Italic Chinese character can't be show correctly in Win32.
Last modified: 2007-02-27 09:31:39 UTC
Please describe the problem: <i>我</i> When show this tag in a label or textview, it shows something strange. Bold Chinese character have no problem. Test environment: gtk-2.8.15, Windows XP. In Linux, this have no problem. Steps to reproduce: Actual results: Expected results: Does this happen every time? Other information:
This beahviour is partially caused by bug #110521 - Pango not synthesizing italic variants on win32. I'll attach an updated patch there. But the showing of "something strange" was also a bug. The hexbox (showing the hex code for unknown glyphs) was not properly sized. I've just commited a fix to HEAD. Maybe it should also be applied to pango-1-12? 2006-06-05 Hans Breuer <hans@breuer.org> * pango/pangocairo-win32font.c(compute_glyph_extents) : not only handle PANGO_GLYPH_EMPTY but also PANGO_GLYPH_UNKNOWN_FLAG. The latter is needed to have proper sizing of the "hex box" for missing glyphs. It also stops cairo complaining about unknown glyphs. Fixes part of bug #343796.
Yes, please do apply to pango-1-12, too. Thanks!
Created attachment 66788 [details] left: unknown glyph; right synthesized italic glyph applied to pango-1-12. Now this is kind of a duplicate of bug #110521. Still leaving this one open cause the other bug sounds like a theoretical enhancement. But this one shows real buggy behaviour. BTW: the attached PNG is a composed before/after. In Dia you can just select e.g. 'sans' and 'italic' for a text. And the italic did break the rendering; but allowed me to see the other bug ;)
Reassigning to Pango, where it needs to be fixed.
Applied to HEAD and pango-1-12: 2006-06-05 Hans Breuer <hans@breuer.org> * pango/pangowin32-fontmap.c(pango_win32_font_map_init) : synthesize some italic variants for fonts no having them already. This fixes bug #343796 and for the italic case also bug #110521.
Reopening as the patch committed as a fix to bug #110521 seems to be somewhat broken.
Should be fixed now.