Locale-independent case conversion

If you have a cool piece of software to share, but you are not hosting it officially yet, please dump it in here. If you have code snippets that are useful, please donate!
Post Reply
User avatar
doublemax
Moderator
Moderator
Posts: 19116
Joined: Fri Apr 21, 2006 8:03 pm
Location: $FCE2

Locale-independent case conversion

Post by doublemax »

The following code is based on this table: http://unicode.org/Public/UNIDATA/CaseFolding.txt

It handles only the simple cases, where the conversion from lower to upper-case is reversible. There are some exceptions, for example in German where the lower-case "ß" is converted to uppercase "SS", but the uppercase "SS" can be either "ß" or "ss" in lower case depending on the word/context.

These are simple functions in a global namespace, not optimized for speed. Feel free to use/edit/optimize at will.
This is not heavily tested, so use at your own risk ;)

Simple usage example:

Code: Select all

#include "case_conversion.h"

wxString s("äöüÄÖÜ áóéúí âôêûî");
wxLogMessage(s);
wxLogMessage( ToUpper(s) );
wxLogMessage( ToLower(s) );
Attachments
case_conversion.zip
(4.38 KiB) Downloaded 304 times
Use the source, Luke!
Post Reply