https://bugs.winehq.org/show_bug.cgi?id=43557
Bug ID: 43557 Summary: Ukrainian I/i letter support for OEM console applications using cp866. Product: Wine Version: unspecified Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: winelib Assignee: wine-bugs@winehq.org Reporter: alter@ukr.net Distribution: Other
Created attachment 58962 --> https://bugs.winehq.org/attachment.cgi?id=58962 patch for c_866.c adding ukrainian I/i support
Ukrainian I/i letter support for OEM console applications using cp866.
There is well-known Windows problem with Ukrainian letters 'I' and 'i'. They are displayed as question mark ('?') in console applications. But the most annoying thing is that these files cannot be copied with console File Managers, like Far. Proposed patch fixes it.
OEM cp966 characters 0xf6 (I ukr) and 0xf7 (i ukr) should be mapped to unicode 0x0406 and 0x0456
Since Wine uses statically compited NLS translation, it is not possible to just fix NLS file like under Windows (http://alter.org.ua/en/soft/win/cp866u/)
https://bugs.winehq.org/show_bug.cgi?id=43557
--- Comment #1 from Nikolay Sivov bunglehead@gmail.com --- I don't think I follow. Unicode data file has this for CP866:
--- 0xf6 0x040e #CYRILLIC CAPITAL LETTER SHORT U 0xf7 0x045e #CYRILLIC SMALL LETTER SHORT U ---
that's what we use when generating codepage tables.
If you mean that Windows is using different mappings, then make_unicode should be patched. If you mean that Windows does maps to SHORT U too, then I don't see a problem - you can't expect Wine to match Windows installation with altered nls data files.
https://bugs.winehq.org/show_bug.cgi?id=43557
--- Comment #2 from Alter alter@ukr.net --- In practive, there are standard CP866 with Short-U on f6/f7 and CP866ukr with Cyrilic I/i on the same places used be several non-unicode software with Ukrainian localization. Maybe it worth adding other NLS codepage (e.g. 10866) for proper localization of such software. 866ukr is mentioned in https://uk.wikipedia.org/wiki/CP866#.D0.92.D0.B0.D1.80.D1.96.D0.B0.D0.BD.D1.... (unfortunately, english version is not full)
Another possible solution is translation of Unicode Ukrainian I/i into English I/i
https://bugs.winehq.org/show_bug.cgi?id=43557
--- Comment #3 from Nikolay Sivov bunglehead@gmail.com --- This wiki page talks about patching Windows nls data to remap from SHORT U I/i, mentioning that Windows does not support such modified codepage either (called 866ukr in this article), so doesn't Wine.
https://bugs.winehq.org/show_bug.cgi?id=43557
--- Comment #4 from Alter alter@ukr.net --- So, I propose to add compatibility option. With special built-in codepage or with loadable custom nls.
https://bugs.winehq.org/show_bug.cgi?id=43557
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |enhancement Component|winelib |-unknown
--- Comment #5 from Matteo Bruni matteo.mystral@gmail.com --- (In reply to Alter from comment #4)
So, I propose to add compatibility option. With special built-in codepage or with loadable custom nls.
I think that might be a valid enhancement request. Not sure you'll find anyone interested in implementing it any time soon though...
https://bugs.winehq.org/show_bug.cgi?id=43557
--- Comment #6 from Alter alter@ukr.net --- Created attachment 63842 --> https://bugs.winehq.org/attachment.cgi?id=63842 Add support for ukrainian cp866 (cp866ukr) to Wine (as codepage 22866)
added new codepage 22866 (like koi8r, koi8u) with 866ukr OEM-Unicode translation
https://bugs.winehq.org/show_bug.cgi?id=43557
Julius Schwartzenberg julius.schwartzenberg@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |julius.schwartzenberg@gmail | |.com
--- Comment #7 from Julius Schwartzenberg julius.schwartzenberg@gmail.com --- It seems good to investigate this more. From what I understand there was a more or less popular hack to patch an existing codepage intended for Russian so that it would fit Ukrainian? Or the different variants of CP866 were not always fully distinguished? At least when it concerns І and і? What about other letters specific to Ukrainian such as Ї and Ґ?
Are there any example programs/archives that could help to show this issue? I presume any modern program would rely on Unicode, so this would affect older software?
Maybe you could provide a reproduction path?
https://bugs.winehq.org/show_bug.cgi?id=43557
--- Comment #8 from Nikolay Sivov bunglehead@gmail.com --- Current Wine versions are using compatible NLS files, so potentially workaround from description that installs modified c_866.nls should work?