The ISO standard 10646 is identical to the published Unicode standard and the CrossWorks C library uses the Unicode 6.2 definition as a base. Hence, whenever you see the term ‘Unicode’ in this document, it is equivalent to Unicode 6.2 and ISO/IEC 10646:2011.

The CrossWorks C library supports both 16-bit and 32-bit wide characters, depending upon the setting of wide character width in the project.

When compiling with 16-bit wide characters, all characters in the Basic Multilingual Plane are representable in a single wchar_t (values 0 through 0xFFFF). When compiling with 32-bit wide characters, all characters in the Basic Multilingual Plane and planes 1 through 16 are representable in a single wchar_t (values 0 through 0x10FFFF).

The wide character type will hold Unicode code points in a locale that is defined to use Unicode and character type functions such as iswalpha will work correctly on all Unicode code points.