http://bugs.winehq.org/show_bug.cgi?id=17500
Summary: regression: libs/wine: best-fit should be renamed to "not so" best-fit Product: Wine Version: 1.1.15 Platform: Other OS/Version: other Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: galtgendo@o2.pl CC: julliard@winehq.org
...at least for cp932. But I'm getting ahead of myself.
Just recently I've noticed that a few programs, that required Japanese locale (not every single one, just a few) stopped running, or more exactly, terminated with some conversion error. First, I went through the tarballs. Last good was 1.1.13, but I didn't have an idea at first, what's exactly wrong. So, I've done a bisect. Checking out a whole tree take a long time - really annoying, if you're not planning to keep it, but without it, I wouldn't get so far.
After I've done a few bisects, build process failed suddenly with following error: ../../tools/wrc/wrc --nostdinc -I. -I. -I../../include -I../../include -D__WINESRC__ -D_KERNEL32_ -fokernel.res kernel.rc Source: ¢̤ a2 cc a4 eb Unicode: 5341 6708 Back: ¤Q¤ë a4 51 a4 eb nls/cht.nls:84:16: Error: String ¢Ì¤ë does not convert identically to Unicode and back in codepage 950. Try using a Unicode string instead
It messed something with my locale, while it failed (my normal locale is pl_PL.UTF-8). Luckily, I managed to get far enough, that I could notice the probably buggy commit in webgit and reverted it manually against 1.1.15 tarball. That fixed the regression.
As far as I could check, those programs were doing something like: MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED|MB_ERR_INVALID_CHARS, s, -1, NULL, 0);
The commit I'm talking about is : 8e16e7871063df35ca3a6de6fb165767c00bd087