https://bugs.winehq.org/show_bug.cgi?id=39297
--- Comment #24 from Hin-Tak Leung htl10@users.sourceforge.net --- (In reply to Hin-Tak Leung from comment #19)
Alternatively, if you fill out the program below, and make running it under wine matches the result of running it under windows, would that be considered reverse-engineering? All it does is to make one array inside wine matches, so you can probably do it "clean-room" style, building the array, one element at a time.
On real windows, you can probably write a little program to dump the mapping table for code page 708, by doing something like this:
char inputbuf[1]; wchar_t outputbuf[1]; UINT CodePage = 708 ;
for (ushort c = 0; c<256; c++) { inputbuf[0] = (char)c; if (MultiByteToWideChar(CodePage, MB_ERR_INVALID_CHARS, inputbuf, 1, outputbuf, 1) != 0) { // dump c and outputbuf[0] in two columns }
}
and hopefully it should result in something identical to what I attached.