- Port Wine's WideCharToMultiByte implementation for conversion to a codepage to...
authorColin Finck <colin@reactos.org>
Fri, 11 Jul 2008 19:11:06 +0000 (19:11 +0000)
committerColin Finck <colin@reactos.org>
Fri, 11 Jul 2008 19:11:06 +0000 (19:11 +0000)
commitf25ac715b0f56b3c6295a944255796fe46538e35
treeb9deba27f32dd56e8fa689ffb0658ba3a120371e
parentdfb10c4404e8486c36484bab79aafd839d56bbec
- Port Wine's WideCharToMultiByte implementation for conversion to a codepage to ReactOS. (with comments :-))
  It adds support for DefaultChar, UsedDefaultChar and the flag WC_NO_BEST_FIT_CHARS.
  WC_COMPOSITECHECK is also supported by the Wine implementation, but I don't have an idea how to port it to ReactOS, as we don't seem to have composition tables. I left FIXME's for this flag in the appropriate blocks, this is why some of the code might look badly structured/unoptimized at the moment.
  As we completely rely on the NLS tables for the conversion now, this commit might trigger some bugs there. I already found out that the CP950 table doesn't map Unicode 0 back to MultiByte 0 (but 254), using Windows' c_950.nls it works correctly. Other tables could be buggy as well, c_1252.nls worked flawlessy for me though.
- Added comments to the CPTABLEINFO structure based on documentation from http://www.ping.uio.no/~ovehk/nls/

svn path=/trunk/; revision=34426
reactos/dll/win32/kernel32/misc/nls.c
reactos/include/ddk/ntnls.h