How it works...

Note that the title-case mapping in Unicode differs from the uppercase mapping. The difference is that the number of characters requires special handling. These are mainly ligatures and digraphs such as fl, dz, and lj, plus a number of polytonic Greek characters. For example, U+01C7 (LJ) maps to U+01C8 (Lj) rather than to U+01C9 (lj).

For proper case-insensitive comparison, the  EqualFold function from the strings package should be used. This function uses case folding to normalize the strings and compare them.