17 #if !defined(OPENNURBS_UNICODE_INC_) 18 #define OPENNURBS_UNICODE_INC_ 22 enum ON_UnicodeEncoding
35 enum ON_UnicodeCodePoint
43 ON_NullCodePoint = 0x00,
47 ON_VerticalTab = 0x0B,
49 ON_CarriageReturn = 0x0D,
60 ON_NoBreakSpace = 0x00A0,
61 ON_NarrowNoBreakSpace = 0x202F,
62 ON_ZeroWidthSpace = 0x200B,
68 ON_RadiusSymbol = 0x0052,
69 ON_DegreeSymbol = 0x00B0,
70 ON_PlusMinusSymbol = 0x00B1,
71 ON_DiameterSymbol = 0x00D8,
77 ON_LineSeparator = 0x2028,
78 ON_ParagraphSeparator = 0x2029,
84 ON_GreekAlpha = 0x03B1,
85 ON_CyrillicCapitalYu = 0x042E,
86 ON_SimplifiedChineseTree = 0x6881,
87 ON_TraditionalChineseTree = 0x6A39,
88 ON_JapaneseRhinoceros = 0x7280,
89 ON_JapaneseTree = 0x6728,
90 ON_KoreanHan = 0xD55C,
91 ON_KoreanJeong = 0xC815,
97 ON_DollarSign = 0x0024,
99 ON_PoundSign = 0x00A3,
100 ON_CurrencySign = 0x00A4,
102 ON_EuroSign = 0x20AC,
103 ON_PesoSign = 0x20B1,
104 ON_RubleSign = 0x20BD,
110 ON_RecyclingSymbol = 0x2672,
111 ON_BlackRecyclingSymbol = 0x267B,
119 ON_ReplacementCharacter = 0xFFFD,
130 ON_Wastebasket = 0x1F5D1,
137 ON_InvalidCodePoint = 0x110000
148 enum ON_UnicodeEncoding ON_UnicodeNativeCPU_UTF16();
158 enum ON_UnicodeEncoding ON_UnicodeNativeCPU_UTF32();
189 enum ON_UnicodeEncoding ON_IsUTFByteOrderMark(
201 unsigned int ON_UTFSizeofByteOrderMark(
202 enum ON_UnicodeEncoding e
218 int ON_IsValidUnicodeCodePoint(
244 int ON_IsValidSingleElementWideCharValue(
249 int ON_IsValidUTF16SurrogatePair(
267 int ON_IsValidUTF32Value(
288 int ON_IsValidUTF16Singleton(
294 int ON_IsValidSingleElementUTF16Value(
312 int ON_IsValidUTF8SingletonChar(
317 int ON_IsValidSingleByteUTF8CharValue(
334 int ON_IsValidUTF8Singleton(
340 int ON_IsValidSingleElementUTF8Value(
347 #if defined(ON_CPLUSPLUS) 451 int ON_DecodeUTF32LE(
452 const ON__UINT32* sUTF32,
455 ON__UINT32* unicode_code_point
498 int ON_DecodeUTF32BE(
499 const ON__UINT32* sUTF32,
502 ON__UINT32* unicode_code_point
547 const ON__UINT32* sUTF32,
550 ON__UINT32* unicode_code_point
595 int ON_DecodeSwapByteUTF32(
596 const ON__UINT32* sUTF32,
599 ON__UINT32* unicode_code_point
638 int ON_EncodeUTF8( ON__UINT32 u,
char sUTF8[6] );
675 ON__UINT32* unicode_code_point
702 int ON_EncodeUTF16( ON__UINT32 unicode_code_point, ON__UINT16 sUTF16[2] );
748 int ON_DecodeUTF16LE(
749 const ON__UINT16* sUTF16,
752 ON__UINT32* unicode_code_point
799 int ON_DecodeUTF16BE(
800 const ON__UINT16* sUTF16,
803 ON__UINT32* unicode_code_point
851 const ON__UINT16* sUTF16,
854 ON__UINT32* unicode_code_point
903 int ON_DecodeSwapByteUTF16(
904 const ON__UINT16* sUTF16,
907 ON__UINT32* unicode_code_point
952 int ON_DecodeWideChar(
953 const wchar_t* sWideChar,
956 ON__UINT32* unicode_code_point
1004 ON__UINT32 ON_MapRTFcharsetToWindowsCodePage(
1005 ON__UINT32 rtf_charset,
1006 ON__UINT32 default_code_page
1035 const ON__UINT32* ON_MSSBCP_0x80_0xFF_Unicode(
1036 ON__UINT32 code_page
1056 ON__UINT32 ON_MapMSSBCPToUnicode(
1057 ON__UINT32 code_page,
1058 ON__UINT32 code_page_single_byte_encoding
1081 ON__UINT32 ON_MapUnicodeToMSSBCP(
1082 ON__UINT32 code_page,
1083 ON__UINT32 unicode_code_point
1113 int ON_EncodeWideChar(
1114 ON__UINT32 code_point,
1247 int ON_ConvertUTF8ToUTF8(
1249 const char* sInputUTF8,
1250 int sInputUTF8_count,
1252 int sOutputUTF8_count,
1253 unsigned int* error_status,
1254 unsigned int error_mask,
1255 ON__UINT32 error_code_point,
1256 const char** sNextInputUTF8
1384 int ON_ConvertUTF8ToUTF16(
1390 unsigned int* error_status,
1391 unsigned int error_mask,
1392 ON__UINT32 error_code_point,
1393 const char** sNextUTF8
1521 int ON_ConvertUTF8ToUTF32(
1527 unsigned int* error_status,
1528 unsigned int error_mask,
1529 ON__UINT32 error_code_point,
1530 const char** sNextUTF8
1671 int ON_ConvertUTF16ToUTF8(
1673 const ON__UINT16* sUTF16,
1677 unsigned int* error_status,
1678 unsigned int error_mask,
1679 ON__UINT32 error_code_point,
1680 const ON__UINT16** sNextUTF16
1812 int ON_ConvertUTF16ToUTF16(
1814 const ON__UINT16* sInputUTF16,
1815 int sInputUTF16_count,
1816 ON__UINT16* sOutputUTF16,
1817 int sOutputUTF16_count,
1818 unsigned int* error_status,
1819 unsigned int error_mask,
1820 ON__UINT32 error_code_point,
1821 const ON__UINT16** sNextInputUTF16
1962 int ON_ConvertUTF16ToUTF32(
1964 const ON__UINT16* sUTF16,
1966 unsigned int* sUTF32,
1968 unsigned int* error_status,
1969 unsigned int error_mask,
1970 ON__UINT32 error_code_point,
1971 const ON__UINT16** sNextUTF16
2112 int ON_ConvertUTF32ToUTF8(
2114 const ON__UINT32* sUTF32,
2118 unsigned int* error_status,
2119 unsigned int error_mask,
2120 ON__UINT32 error_code_point,
2121 const ON__UINT32** sNextUTF32
2263 int ON_ConvertUTF32ToUTF16(
2265 const ON__UINT32* sUTF32,
2269 unsigned int* error_status,
2270 unsigned int error_mask,
2271 ON__UINT32 error_code_point,
2272 const ON__UINT32** sNextUTF32
2421 int ON_ConvertUTF32ToUTF32(
2423 const ON__UINT32* sInputUTF32,
2424 int sInputUTF32_count,
2425 ON__UINT32* sOuputUTF32,
2426 int sOutputUTF32_count,
2427 unsigned int* error_status,
2428 unsigned int error_mask,
2429 ON__UINT32 error_code_point,
2430 const ON__UINT32** sNextInputUTF32
2568 int ON_ConvertWideCharToUTF8(
2570 const wchar_t* sWideChar,
2571 int sWideChar_count,
2574 unsigned int* error_status,
2575 unsigned int error_mask,
2576 ON__UINT32 error_code_point,
2577 const wchar_t** sNextWideChar
2715 int ON_ConvertWideCharToUTF16(
2717 const wchar_t* sWideChar,
2718 int sWideChar_count,
2721 unsigned int* error_status,
2722 unsigned int error_mask,
2723 ON__UINT32 error_code_point,
2724 const wchar_t** sNextWideChar
2863 int ON_ConvertWideCharToUTF32(
2865 const wchar_t* sWideChar,
2866 int sWideChar_count,
2869 unsigned int* error_status,
2870 unsigned int error_mask,
2871 ON__UINT32 error_code_point,
2872 const wchar_t** sNextWideChar
3012 int ON_ConvertUTF8ToWideChar(
3017 int sWideChar_count,
3018 unsigned int* error_status,
3019 unsigned int error_mask,
3020 ON__UINT32 error_code_point,
3021 const char** sNextUTF8
3160 int ON_ConvertUTF16ToWideChar(
3162 const ON__UINT16* sUTF16,
3165 int sWideChar_count,
3166 unsigned int* error_status,
3167 unsigned int error_mask,
3168 ON__UINT32 error_code_point,
3169 const ON__UINT16** sNextUTF16
3310 int ON_ConvertUTF32ToWideChar(
3312 const ON__UINT32* sUTF32,
3315 int sWideChar_count,
3316 unsigned int* error_status,
3317 unsigned int error_mask,
3318 ON__UINT32 error_code_point,
3319 const ON__UINT32** sNextUTF32
3398 int ON_ConvertMSMBCPToWideChar(
3399 ON__UINT32 windows_code_page,
3403 int sWideChar_capacity,
3404 unsigned int* error_status
3410 #if defined(ON_CPLUSPLUS) 3412 ON__UINT32 ON_Test_MSSBCP(
3413 const ON__UINT32 code_page,
3414 const ON__UINT32 char_encoding,
3415 bool bWindowsAPITest,
3420 bool ON_Test_MSSBCP(
3421 const ON__UINT32 code_page,
3422 bool bWindowsAPITest,
3427 bool ON_Test_MSSBCP(
3428 bool bWindowsAPITest,
3433 bool ON_Test_PrintPlatformMSSBCPToUnicodeTable(
3434 const ON__UINT32 code_page,
3435 ON__UINT32 char_encoding0,
3436 ON__UINT32 char_encoding1,
Definition: opennurbs_unicode.h:344
ON__UINT32 m_error_code_point
Definition: opennurbs_unicode.h:408
unsigned int m_error_mask
Definition: opennurbs_unicode.h:400
unsigned int m_error_status
Definition: opennurbs_unicode.h:392
Definition: opennurbs_textlog.h:20