I've been researching libraries for converting a Latin-1 compatible (using unsigned char) C application to be Unicode compatible.
ICU project seems to be the most promising, but it's also a huge library and hard to integrate/build (especially considering it needs to compile for iOS, Android, Windows, WASM and Linux).
I only really need fixed-length encoding and the ability to convert case - would it be possible to do this using only UTF-32 strings (stored as int[]) and two UTF-32 compatible strtoupper()/strtolower() functions or is there something preventing me from doing this (such as ligatures or combining characters)?
My plan was to make a static list of upper/lowercase mappings and use it as a lookup table (or rather, consolidate ranges of characters of the same "type" to save space).