g_unichar_toupper/lower with any character types
Submitted by Carlos Garcia Campos
g_unichar_tolower() and toupper() only work with uppercase/lowercase or titlecase letters, however there are other characters defined in UnicodeData.txt that have a 1:1 case mapping. ICU for example, doesn't restrict single character case mapping to upper/lower and title letters:
"A character is considered to have a lowercase, uppercase, or title case equivalent if there is a respective "simple" case mapping specified for the character in the Unicode Character Database (UnicodeData.txt). If a character has no mapping equivalent, the result is the character itself."