http://bugs.winehq.org/show_bug.cgi?id=18349
Summary: Incorrect font rendering in Japanese locale Product: Wine Version: 1.1.20 Platform: Other OS/Version: other Status: UNCONFIRMED Severity: enhancement Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: hramrach@centrum.cz
When I apply the registry patch and run the application attached to bug 11281 in Japanese locale (ja_JP.UTF-8) I can see the kana characters correctly but the Latin letters are displayed wrong.
The lowercase letters seem bold compared to lowercase.
http://bugs.winehq.org/show_bug.cgi?id=18349
Michal Suchanek hramrach@centrum.cz changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|enhancement |normal OS/Version|other |Linux Platform|Other |PC-x86-64
--- Comment #1 from Michal Suchanek hramrach@centrum.cz 2009-05-04 09:43:56 --- The kochi-substitute can be obtained in the Debian ttf-kochi-gothic package or here:
http://sourceforge.jp/projects/efont/downloads/5411/kochi-substitute-2003080...
http://bugs.winehq.org/show_bug.cgi?id=18349
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |trivial
--- Comment #2 from Dmitry Timoshkov dmitry@codeweavers.com 2009-05-05 00:39:38 --- What registry patch is that? Most likely a freetype problem (it's not that great with CJK rendering in general), try to enable the TT interpreter or install Windows japanese fonts.
http://bugs.winehq.org/show_bug.cgi?id=18349
--- Comment #3 from Michal Suchanek hramrach@centrum.cz 2009-05-05 03:50:12 --- it's specifically this application: http://bugs.winehq.org/attachment.cgi?id=10369 and this patch: http://bugs.winehq.org/attachment.cgi?id=20749
As I understand font linking the Latin characters should not be rendered in the Japanese font in the first place as the System font should have glyphs for ASCII at the very least.
Also I believe the font has consistent glyphs for Latin characters if it came to that.
http://bugs.winehq.org/show_bug.cgi?id=18349
--- Comment #4 from Dmitry Timoshkov dmitry@codeweavers.com 2009-05-05 08:29:01 --- Please try to more closely follow the questions and suggestions.
http://bugs.winehq.org/show_bug.cgi?id=18349
--- Comment #5 from Michal Suchanek hramrach@centrum.cz 2009-05-05 10:40:32 --- Please try to be more concrete and specific in your replies to bug comments.
I am noticing that I am not the only person somewhat dissatisfied with the way you reply.
I have verified that the font has consistent glyphs for ASCII Latin range in gucharmap, and it should not be used anyway.
http://bugs.winehq.org/show_bug.cgi?id=18349
--- Comment #6 from Dmitry Timoshkov dmitry@codeweavers.com 2009-05-05 10:46:24 --- Bugzilla is not for satisfaction of some kind...
From the Comment #2:
"try to enable the TT interpreter or install Windows japanese fonts."
Is that hard to read and try?
http://bugs.winehq.org/show_bug.cgi?id=18349
--- Comment #7 from Michal Suchanek hramrach@centrum.cz 2009-05-06 04:35:33 --- Yes, I could try that.
However, I have explained in comment #3 that doing so is pointless in my view because the error lies elsewhere than with rendering of that font.
Indeed, running Notepad in Japanese locale and using System font results in this error (uppercase letters thin, lowercase thick) but using Kochi Gothic results in all letters being thin (and somewhat smaller).
If you have some insight into the problem that suggests the results of your proposed tests are still useful then stating why it is so would convince me to perform the tests. Also doing so might give the people reading this report more insight into that part of Wine resulting in more accurate future reports.
http://bugs.winehq.org/show_bug.cgi?id=18349
--- Comment #8 from Dmitry Timoshkov dmitry@codeweavers.com 2009-05-06 07:56:52 --- The point is that Wine neither renders fonts (Freetype does that), nor provides CJK fonts. So the problem with fonts quality is outside of Wine.
Both using Freetype with enabled TT bytecode interpreter, and installing Windows CJK fonts will get that 2 things more close to Windows. Although as I said many times even Freetype with enabled TT bytecode interpreter doesn't work very well sometimes, especially with so complex fonts as the CJK ones are.
http://bugs.winehq.org/show_bug.cgi?id=18349
--- Comment #9 from Michal Suchanek hramrach@centrum.cz 2009-05-06 08:19:38 --- However, this bug is not about the quality of rendering CJK ideographs but about not getting the matching glyphs for Latin characters.
http://bugs.winehq.org/show_bug.cgi?id=18349
--- Comment #10 from Dmitry Timoshkov dmitry@codeweavers.com 2009-05-06 08:33:50 --- Maybe I'm reading some other bug then?
Indeed, running Notepad in Japanese locale and using System font results in this error (uppercase letters thin, lowercase thick) but using Kochi Gothic results in all letters being thin (and somewhat smaller).
http://bugs.winehq.org/show_bug.cgi?id=18349
Paul "TBBle" Hampson Paul.Hampson@Pobox.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |Paul.Hampson@Pobox.com
--- Comment #11 from Paul "TBBle" Hampson Paul.Hampson@Pobox.com 2009-05-09 12:01:46 --- Not a Wine bug.
The latin characters in jvgasys.fon actually look like that, with thick lowercase and thin uppercase letters, with font linking disabled. jvgasys.fon is used as the System font in ja_JP.utf8 locale, in en_* locale vgasys.fon is used as the System font.
Wine's built-in System font-linking links System to Tahoma and its fontlinks, but that doesn't override glyphs that appear in the base font. So if you remove all the entries in your FontLinks registry key (eg added by attach 20749) you'll see that the latin characters stay the same, but the Japanese-range characters are reduced to boxes.
The actual font appearance difference is due to the ppem value used for jvgasys.fon compared to vgasys.fon. vgasys.fon has a ppem of 16, jvgasys.fon has a ppem of 18. (I don't know what ppem is, see the source of tools/sfnt2fnt for details, and tools/Makefile.in is the file that controls the ppem values used for generating the various .fon files)
The ugliness of the font is stated in comment 9 to not be the issue of this bug, but rather the choice of font to use the glyphs from. And that's working correctly.
http://bugs.winehq.org/show_bug.cgi?id=18349
--- Comment #12 from Michal Suchanek hramrach@centrum.cz 2009-05-09 12:36:56 --- Then jvgasys.fon is broken.
I don't recall seeing anything that ugly in Windows but I could check later to make sure.
jvgasys.fon is distributed (or generated) as part of Wine so it sure is a Wine bug.
http://bugs.winehq.org/show_bug.cgi?id=18349
Michal Suchanek hramrach@centrum.cz changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |fonts Summary|Incorrect font rendering in |Incorrect glyphs in |Japanese locale |jvgasys.fon
http://bugs.winehq.org/show_bug.cgi?id=18349
--- Comment #13 from Dmitry Timoshkov dmitry@codeweavers.com 2009-05-10 00:45:21 --- (In reply to comment #12)
Then jvgasys.fon is broken. I don't recall seeing anything that ugly in Windows but I could check later to make sure. jvgasys.fon is distributed (or generated) as part of Wine so it sure is a Wine bug.
jvgasys.fon in Wine matches what Windows has. We have a test case in gdi32 which confirms that.
As a general rule don't blame Wine if don't have hard facts, do your home work with testing first.
http://bugs.winehq.org/show_bug.cgi?id=18349
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Incorrect glyphs in |Incorrect font rendering in |jvgasys.fon |Japanese locale
http://bugs.winehq.org/show_bug.cgi?id=18349
--- Comment #14 from Paul "TBBle" Hampson Paul.Hampson@Pobox.com 2009-05-10 03:55:36 --- "LC_CTYPE=ja_JP.utf8 make font.ok" in build/dlls/gdi32/tests barfs quite badly, while without LC_CTYPE set it passes fine.
I guess you mean test_bitmap_font_metrics? It passes with the wine jvgasys.fon, but fails with "font.c:810: Test failed: System(18): tm.tmWeight 400 != 700" with the _Windows_ jvgasys.fon (sourced from Windows XP x64). That's to be expected though, as a comment in the test notes that Wine's Japanese System font has the wrong weight (BOLD instead of NORMAL).
And certainly comparing WINEDEBUG=+font for notepad with Wine and Windows jvgasys.fon, I see the following differences:
Wine: trace:font:AddFontToList pix_h 18 charset 128 dpi 96x96 pt 14 trace:font:AddFontToList Adding bitmap size h 20 w 8 size 13 x_ppem 18 y_ppem 18 trace:font:OpenFontFace "/home/tbble/code/wine/wine/build-18044/loader/../fonts/jvgasys.fon"/(nil), 0, 18 x 18 trace:font:GetTextMetricsW text metrics: Weight = 700 FirstChar = 32 AveCharWidth = 7 Italic = 0 LastChar = 255 MaxCharWidth = 14 UnderLined = 0 DefaultChar = 128 Overhang = 0 StruckOut = 0 BreakChar = 32 CharSet = 128 PitchAndFamily = 21 -------------------- InternalLeading = 0 Ascent = 16 Descent = 2 Height = 18
Windows: trace:font:AddFontToList pix_h 18 charset 128 dpi 96x96 pt 12 trace:font:AddFontToList Adding bitmap size h 20 w 8 size 12 x_ppem 16 y_ppem 16 trace:font:OpenFontFace "/home/tbble/code/wine/wine/build-18044/loader/../fonts/jvgasys.fon"/(nil), 0, 16 x 16 trace:font:GetTextMetricsW text metrics: Weight = 400 FirstChar = 32 AveCharWidth = 7 Italic = 0 LastChar = 255 MaxCharWidth = 14 UnderLined = 0 DefaultChar = 128 Overhang = 0 StruckOut = 0 BreakChar = 32 CharSet = 128 PitchAndFamily = 01 -------------------- InternalLeading = 0 Ascent = 16 Descent = 2 Height = 18
Note that _both_ log: trace:font:WineEngCreateFontInstance L"System", h=16, it=0, weight=400, PandF=22, charset=128 orient 0 escapement 0
Which suggests at first glance to me that Wine is having to rescale the Wine-built 18pt jvgasys.fon file down to 16pt, while the Windows-source 16pt jvgasys.fon is fine.
As to what this means (is jvgasys.fon being generated wrong? Should Wine insist that it's actually 18pt, even if Windows applications expect 16pt System? Something else?) I'm not sure at this point.
Interestingly, changing ppem from 18 to 16 in fonts/Makefile.in for jvgasys.fon produces the following: trace:font:AddFontToList pix_h 16 charset 128 dpi 96x96 pt 12 trace:font:AddFontToList Adding bitmap size h 18 w 8 size 12 x_ppem 16 y_ppem 16 and identical trace:font:OpenFontFace and trace:font:GetTextMetricsW results to the Windows jvgasys.fon. It also looks reasonable (although maybe slight small...)
Long story short, workaround for this bug is to replace Wine's jvgasys.fon with one from Windows, or one generated with 16ppem instead of 18ppem. They're not fixes though, since although Windows uses 16ppem for its font, its pix_h is the same as Wine's when Wine is at 18ppem. So possibly the font generation or conversion has issues, or some of the mismatched values are due to extra characters in Wine's jvgasys.fon compared to Windows (as mentioned in the gdi32 font.c unit test)
http://bugs.winehq.org/show_bug.cgi?id=18349
--- Comment #15 from Dmitry Timoshkov dmitry@codeweavers.com 2009-05-11 07:03:21 --- I've added a font dumper to winedump, and the only difference between Wine and Windows jvgasys.fon is the dfPoints field in the font header. I sent a patch for that: http://www.winehq.org/pipermail/wine-patches/2009-May/072834.html Otherwise the headers are (almost) identical.
http://bugs.winehq.org/show_bug.cgi?id=18349
--- Comment #16 from Paul "TBBle" Hampson Paul.Hampson@Pobox.com 2009-05-11 08:44:58 --- I can confirm that jvgasys.fon generated with the patch applied appears correct.
http://bugs.winehq.org/show_bug.cgi?id=18349
--- Comment #17 from Paul "TBBle" Hampson Paul.Hampson@Pobox.com 2009-05-11 09:57:28 --- Actually, I might have been wrong. I just tried the same test again, and got the different-weight-looking upper and lower case latin characters.
http://bugs.winehq.org/show_bug.cgi?id=18349
--- Comment #18 from Dmitry Timoshkov dmitry@codeweavers.com 2009-05-11 22:11:00 --- (In reply to comment #17)
Actually, I might have been wrong. I just tried the same test again, and got the different-weight-looking upper and lower case latin characters.
That's exactly how jvgasys.fon looks in Windows.
http://bugs.winehq.org/show_bug.cgi?id=18349
--- Comment #19 from Paul "TBBle" Hampson Paul.Hampson@Pobox.com 2009-05-12 03:00:31 --- Copying a jvgasys.fon from Windows XP x64 doesn't look like that.
http://bugs.winehq.org/show_bug.cgi?id=18349
--- Comment #20 from Dmitry Timoshkov dmitry@codeweavers.com 2009-05-12 03:22:11 --- (In reply to comment #19)
Copying a jvgasys.fon from Windows XP x64 doesn't look like that.
Ah, Windows version has only small diacritics in bold from (why?) while Wine version has normal small letters bold as well.
http://bugs.winehq.org/show_bug.cgi?id=18349
--- Comment #21 from Dmitry Timoshkov dmitry@codeweavers.com 2009-05-12 03:22:53 --- s/from/form/
http://bugs.winehq.org/show_bug.cgi?id=18349
--- Comment #22 from Dmitry Timoshkov dmitry@codeweavers.com 2009-05-14 05:54:37 --- I sent a patch: http://www.winehq.org/pipermail/wine-patches/2009-May/072962.html
http://bugs.winehq.org/show_bug.cgi?id=18349
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #23 from Dmitry Timoshkov dmitry@codeweavers.com 2009-05-14 11:14:28 --- The patch has been committed.
http://bugs.winehq.org/show_bug.cgi?id=18349
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #24 from Alexandre Julliard julliard@winehq.org 2009-05-22 11:18:27 --- Closing bugs fixed in 1.1.22.
http://bugs.winehq.org/show_bug.cgi?id=18349
--- Comment #25 from Michal Suchanek hramrach@centrum.cz 2009-05-27 11:52:13 --- Still present in wine 1.1.22
http://bugs.winehq.org/show_bug.cgi?id=18349
--- Comment #26 from Paul "TBBle" Hampson Paul.Hampson@Pobox.com 2009-06-05 14:17:46 --- I can't reproduce this with a clean build of current git HEAD (wine-1.1.22-444-g8d0cb61) running notepad in LC_CTYPE=ja_JP.utf8 and the System font, which used to reproduce it fine.
http://bugs.winehq.org/show_bug.cgi?id=18349
--- Comment #27 from Michal Suchanek hramrach@centrum.cz 2009-06-22 07:13:29 --- It works in 1.1.23
Thanks