Skip to content

_UNICODE compilation #108

@wsu-cb

Description

@wsu-cb

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 .vcproj files 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.

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions