1 #ifndef TAGLIB_UNICODE_H
2 #define TAGLIB_UNICODE_H
12 #ifndef DO_NOT_DOCUMENT // tell Doxygen not to document this header
110 #if defined(_MSC_VER) && !defined(_WCHAR_T_DEFINED)
115 #define UNI_REPLACEMENT_CHAR (UTF32)0x0000FFFD
116 #define UNI_MAX_BMP (UTF32)0x0000FFFF
117 #define UNI_MAX_UTF16 (UTF32)0x0010FFFF
118 #define UNI_MAX_UTF32 (UTF32)0x7FFFFFFF
122 typedef unsigned long UTF32;
123 typedef wchar_t UTF16;
124 typedef unsigned char UTF8;
125 typedef unsigned char Boolean;
135 strictConversion = 0,
139 ConversionResult ConvertUTF8toUTF16 (
140 const UTF8** sourceStart,
const UTF8* sourceEnd,
141 UTF16** targetStart, UTF16* targetEnd, ConversionFlags flags);
143 ConversionResult ConvertUTF16toUTF8 (
144 const UTF16** sourceStart,
const UTF16* sourceEnd,
145 UTF8** targetStart, UTF8* targetEnd, ConversionFlags flags);
147 Boolean isLegalUTF8Sequence(
const UTF8 *source,
const UTF8 *sourceEnd);