-
Notifications
You must be signed in to change notification settings - Fork 5
Description
For a variety of reasons, I think it is time to convert CB to compile with _UNICODE enabled.
- wxWidgets has deprecated ANSI builds, and doesn't even provide IDE
.vcprojfiles for ANSI - users might actually want to be able to reliably use non-English characters
- Windows is Unicode internally
As stated in #71 (comment), for portability/consistency to Linux/Mac, we probably want to use std::string, but assume utf-8 content in it. However, we will need to use utf-8/wchar_t conversion helpers to make calls to Windows Unicode functions. wxWidgets provides extensive helpers, but wxWidgets effectively requires _UNICODE, and I would prefer not to try to simultaneously add wxWidgets and enable _UNICODE, so I think we will need to provide our own (temporary?) helpers.
Note that CString + _UNICODE means wchar_t. Therefore, assuming we want utf-8, I think a prerequisite of _UNICODE is replacing CString with std::string.
Also note that I am not talking about true internationalization; just a single step down that path.