90 typedef unsigned int UTF32;
91 typedef unsigned short UTF16;
92 typedef unsigned char UTF8;
93 typedef unsigned char Boolean;
96 #define UNI_REPLACEMENT_CHAR (UTF32)0x0000FFFD 97 #define UNI_MAX_BMP (UTF32)0x0000FFFF 98 #define UNI_MAX_UTF16 (UTF32)0x0010FFFF 99 #define UNI_MAX_UTF32 (UTF32)0x7FFFFFFF 100 #define UNI_MAX_LEGAL_UTF32 (UTF32)0x0010FFFF 110 strictConversion = 0,
119 ConversionResult ConvertUTF8toUTF16(
120 const UTF8 **sourceStart,
const UTF8 *sourceEnd,
121 UTF16 **targetStart, UTF16 *targetEnd, ConversionFlags flags);
123 ConversionResult ConvertUTF16toUTF8(
124 const UTF16 **sourceStart,
const UTF16 *sourceEnd,
125 UTF8 **targetStart, UTF8 *targetEnd, ConversionFlags flags);
127 ConversionResult ConvertUTF8toUTF32(
128 const UTF8 **sourceStart,
const UTF8 *sourceEnd,
129 UTF32 **targetStart, UTF32 *targetEnd, ConversionFlags flags);
131 ConversionResult ConvertUTF32toUTF8(
132 const UTF32 **sourceStart,
const UTF32 *sourceEnd,
133 UTF8 **targetStart, UTF8 *targetEnd, ConversionFlags flags);
135 ConversionResult ConvertUTF16toUTF32(
136 const UTF16 **sourceStart,
const UTF16 *sourceEnd,
137 UTF32 **targetStart, UTF32 *targetEnd, ConversionFlags flags);
139 ConversionResult ConvertUTF32toUTF16(
140 const UTF32 **sourceStart,
const UTF32 *sourceEnd,
141 UTF16 **targetStart, UTF16 *targetEnd, ConversionFlags flags);
143 Boolean isLegalUTF8Sequence(
const UTF8 *source,
const UTF8 *sourceEnd);