diff --git a/uppsrc/Core/CharSet.cpp b/uppsrc/Core/CharSet.cpp index 8e9e5485f..e6b45000b 100644 --- a/uppsrc/Core/CharSet.cpp +++ b/uppsrc/Core/CharSet.cpp @@ -1954,7 +1954,6 @@ struct CharSetData { static byte undef[128]; byte *line[16]; VectorMap map; - byte system; void Gen(); @@ -2058,125 +2057,11 @@ CharSetData::~CharSetData() static void sInit() { -#ifdef PLATFORM_WIN32 - AddCharSetE("NONE" , CHRTAB_ISO8859_1, CHARSET_WIN1252); - AddCharSetE("iso8859-1", CHRTAB_ISO8859_1, CHARSET_WIN1252); - AddCharSetE("iso8859-2", CHRTAB_ISO8859_2, CHARSET_WIN1250); //?? - AddCharSetE("iso8859-3", CHRTAB_ISO8859_3, CHARSET_WIN1254); //?? - AddCharSetE("iso8859-4", CHRTAB_ISO8859_4, CHARSET_WIN1257); //?? - AddCharSetE("iso8859-5", CHRTAB_ISO8859_5, CHARSET_WIN1251); - AddCharSetE("iso8859-6", CHRTAB_ISO8859_6, CHARSET_WIN1256); - AddCharSetE("iso8859-7", CHRTAB_ISO8859_7, CHARSET_WIN1253); - AddCharSetE("iso8859-8", CHRTAB_ISO8859_8, CHARSET_WIN1255); //?? - AddCharSetE("iso8859-9", CHRTAB_ISO8859_9, CHARSET_WIN1254); - AddCharSetE("iso8859-10", CHRTAB_ISO8859_10, CHARSET_WIN1257); //?? - AddCharSetE("iso8859-13", CHRTAB_ISO8859_13, CHARSET_WIN1257); - AddCharSetE("iso8859-14", CHRTAB_ISO8859_14, CHARSET_WIN1252); //?? - AddCharSetE("iso8859-15", CHRTAB_ISO8859_15, CHARSET_WIN1252); //?? - AddCharSetE("iso8859-16", CHRTAB_ISO8859_16, CHARSET_WIN1250); //?? - AddCharSetE("windows-1250",CHRTAB_WIN1250, CHARSET_WIN1250); - AddCharSetE("windows-1251",CHRTAB_WIN1251, CHARSET_WIN1251); - AddCharSetE("windows-1252",CHRTAB_WIN1252, CHARSET_WIN1252); - AddCharSetE("windows-1253",CHRTAB_WIN1253, CHARSET_WIN1253); - AddCharSetE("windows-1254",CHRTAB_WIN1254, CHARSET_WIN1254); - AddCharSetE("windows-1255",CHRTAB_WIN1255, CHARSET_WIN1255); - AddCharSetE("windows-1256",CHRTAB_WIN1256, CHARSET_WIN1256); - AddCharSetE("windows-1257",CHRTAB_WIN1257, CHARSET_WIN1257); - AddCharSetE("windows-1258",CHRTAB_WIN1258, CHARSET_WIN1258); - AddCharSetE("koi8-r", CHRTAB_KOI8_R, CHARSET_WIN1251); - AddCharSetE("cp852", CHRTAB_CP852, CHARSET_WIN1250); - AddCharSetE("mjk", CHRTAB_MJK, CHARSET_WIN1250); - AddCharSetE("cp850", CHRTAB_CP850, CHARSET_WIN1252); -#else - AddCharSetE("NONE" , CHRTAB_ISO8859_1, CHARSET_ISO8859_1); - AddCharSetE("iso8859-1", CHRTAB_ISO8859_1, CHARSET_ISO8859_1); - AddCharSetE("iso8859-2", CHRTAB_ISO8859_2, CHARSET_ISO8859_2); - AddCharSetE("iso8859-3", CHRTAB_ISO8859_3, CHARSET_ISO8859_3); - AddCharSetE("iso8859-4", CHRTAB_ISO8859_4, CHARSET_ISO8859_4); - AddCharSetE("iso8859-5", CHRTAB_ISO8859_5, CHARSET_ISO8859_5); - AddCharSetE("iso8859-6", CHRTAB_ISO8859_6, CHARSET_ISO8859_6); - AddCharSetE("iso8859-7", CHRTAB_ISO8859_7, CHARSET_ISO8859_7); - AddCharSetE("iso8859-8", CHRTAB_ISO8859_8, CHARSET_ISO8859_8); - AddCharSetE("iso8859-9", CHRTAB_ISO8859_9, CHARSET_ISO8859_9); - AddCharSetE("iso8859-10", CHRTAB_ISO8859_10, CHARSET_ISO8859_10); - AddCharSetE("iso8859-13", CHRTAB_ISO8859_13, CHARSET_ISO8859_13); - AddCharSetE("iso8859-14", CHRTAB_ISO8859_14, CHARSET_ISO8859_14); - AddCharSetE("iso8859-15", CHRTAB_ISO8859_15, CHARSET_ISO8859_15); - AddCharSetE("iso8859-16", CHRTAB_ISO8859_16, CHARSET_ISO8859_16); - AddCharSetE("windows-1250",CHRTAB_WIN1250, CHARSET_ISO8859_2); - AddCharSetE("windows-1251",CHRTAB_WIN1251, CHARSET_ISO8859_5); - AddCharSetE("windows-1252",CHRTAB_WIN1252, CHARSET_ISO8859_1); - AddCharSetE("windows-1253",CHRTAB_WIN1253, CHARSET_ISO8859_7); - AddCharSetE("windows-1254",CHRTAB_WIN1254, CHARSET_ISO8859_9); - AddCharSetE("windows-1255",CHRTAB_WIN1255, CHARSET_ISO8859_8); - AddCharSetE("windows-1256",CHRTAB_WIN1256, CHARSET_ISO8859_6); - AddCharSetE("windows-1257",CHRTAB_WIN1257, CHARSET_ISO8859_13); - AddCharSetE("windows-1258",CHRTAB_WIN1258, CHARSET_ISO8859_9); - AddCharSetE("koi8-r", CHRTAB_KOI8_R, CHARSET_ISO8859_5); - AddCharSetE("cp852", CHRTAB_CP852, CHARSET_ISO8859_2); - AddCharSetE("mjk", CHRTAB_MJK, CHARSET_ISO8859_2); - AddCharSetE("cp850", CHRTAB_CP850, CHARSET_ISO8859_1); -#endif - AddCharSetE("ARMSCII-8", CHRTAB_ARMSCII_8 ,CHARSET_ARMSCII_8 ); - AddCharSetE("CP1046", CHRTAB_CP1046 ,CHARSET_CP1046 ); - AddCharSetE("CP1124", CHRTAB_CP1124 ,CHARSET_CP1124 ); - AddCharSetE("CP1125", CHRTAB_CP1125 ,CHARSET_CP1125 ); - AddCharSetE("CP1129", CHRTAB_CP1129 ,CHARSET_CP1129 ); - AddCharSetE("CP1133", CHRTAB_CP1133 ,CHARSET_CP1133 ); - AddCharSetE("CP1161", CHRTAB_CP1161 ,CHARSET_CP1161 ); - AddCharSetE("CP1162", CHRTAB_CP1162 ,CHARSET_CP1162 ); - AddCharSetE("CP1163", CHRTAB_CP1163 ,CHARSET_CP1163 ); - AddCharSetE("CP1250", CHRTAB_CP1250 ,CHARSET_CP1250 ); - AddCharSetE("CP1251", CHRTAB_CP1251 ,CHARSET_CP1251 ); - AddCharSetE("CP1252", CHRTAB_CP1252 ,CHARSET_CP1252 ); - AddCharSetE("CP1253", CHRTAB_CP1253 ,CHARSET_CP1253 ); - AddCharSetE("CP1254", CHRTAB_CP1254 ,CHARSET_CP1254 ); - AddCharSetE("CP1255", CHRTAB_CP1255 ,CHARSET_CP1255 ); - AddCharSetE("CP1256", CHRTAB_CP1256 ,CHARSET_CP1256 ); - AddCharSetE("CP1257", CHRTAB_CP1257 ,CHARSET_CP1257 ); - AddCharSetE("CP1258", CHRTAB_CP1258 ,CHARSET_CP1258 ); - AddCharSetE("CP437", CHRTAB_CP437 ,CHARSET_CP437 ); - AddCharSetE("CP737", CHRTAB_CP737 ,CHARSET_CP737 ); - AddCharSetE("CP775", CHRTAB_CP775 ,CHARSET_CP775 ); - AddCharSetE("CP853", CHRTAB_CP853 ,CHARSET_CP853 ); - AddCharSetE("CP855", CHRTAB_CP855 ,CHARSET_CP855 ); - AddCharSetE("CP856", CHRTAB_CP856 ,CHARSET_CP856 ); - AddCharSetE("CP857", CHRTAB_CP857 ,CHARSET_CP857 ); - AddCharSetE("CP858", CHRTAB_CP858 ,CHARSET_CP858 ); - AddCharSetE("CP860", CHRTAB_CP860 ,CHARSET_CP860 ); - AddCharSetE("CP861", CHRTAB_CP861 ,CHARSET_CP861 ); - AddCharSetE("CP862", CHRTAB_CP862 ,CHARSET_CP862 ); - AddCharSetE("CP863", CHRTAB_CP863 ,CHARSET_CP863 ); - AddCharSetE("CP864", CHRTAB_CP864 ,CHARSET_CP864 ); - AddCharSetE("CP865", CHRTAB_CP865 ,CHARSET_CP865 ); - AddCharSetE("CP866", CHRTAB_CP866 ,CHARSET_CP866 ); - AddCharSetE("CP869", CHRTAB_CP869 ,CHARSET_CP869 ); - AddCharSetE("CP874", CHRTAB_CP874 ,CHARSET_CP874 ); - AddCharSetE("CP922", CHRTAB_CP922 ,CHARSET_CP922 ); - AddCharSetE("Georgian-Academy", CHRTAB_GEORGIAN_ACADEMY ,CHARSET_GEORGIAN_ACADEMY ); - AddCharSetE("Georgian-PS", CHRTAB_GEORGIAN_PS ,CHARSET_GEORGIAN_PS ); - AddCharSetE("HP-ROMAN8", CHRTAB_HP_ROMAN8 ,CHARSET_HP_ROMAN8 ); - AddCharSetE("KOI8-RU", CHRTAB_KOI8_RU ,CHARSET_KOI8_RU ); - AddCharSetE("KOI8-T", CHRTAB_KOI8_T ,CHARSET_KOI8_T ); - AddCharSetE("KOI8-U", CHRTAB_KOI8_U ,CHARSET_KOI8_U ); - AddCharSetE("MacArabic", CHRTAB_MACARABIC ,CHARSET_MACARABIC ); - AddCharSetE("MacCentralEurope", CHRTAB_MACCENTRALEUROPE ,CHARSET_MACCENTRALEUROPE ); - AddCharSetE("MacCroatian", CHRTAB_MACCROATIAN ,CHARSET_MACCROATIAN ); - AddCharSetE("MacCyrillic", CHRTAB_MACCYRILLIC ,CHARSET_MACCYRILLIC ); - AddCharSetE("MacGreek", CHRTAB_MACGREEK ,CHARSET_MACGREEK ); - AddCharSetE("MacHebrew", CHRTAB_MACHEBREW ,CHARSET_MACHEBREW ); - AddCharSetE("MacIceland", CHRTAB_MACICELAND ,CHARSET_MACICELAND ); - AddCharSetE("MacRoman", CHRTAB_MACROMAN ,CHARSET_MACROMAN ); - AddCharSetE("MacRomania", CHRTAB_MACROMANIA ,CHARSET_MACROMANIA ); - AddCharSetE("MacThai", CHRTAB_MACTHAI ,CHARSET_MACTHAI ); - AddCharSetE("MacTurkish", CHRTAB_MACTURKISH ,CHARSET_MACTURKISH ); - AddCharSetE("MacUkraine", CHRTAB_MACUKRAINE ,CHARSET_MACUKRAINE ); - AddCharSetE("MuleLao-1", CHRTAB_MULELAO_1 ,CHARSET_MULELAO_1 ); - AddCharSetE("NEXTSTEP", CHRTAB_NEXTSTEP ,CHARSET_NEXTSTEP ); - AddCharSetE("RISCOS-LATIN1", CHRTAB_RISCOS_LATIN1 ,CHARSET_RISCOS_LATIN1 ); - AddCharSetE("TCVN", CHRTAB_TCVN ,CHARSET_TCVN ); - AddCharSetE("TIS-620", CHRTAB_TIS_620 ,CHARSET_TIS_620 ); - AddCharSetE("VISCII", CHRTAB_VISCII ,CHARSET_VISCII ); + AddCharSetE("NONE", CHRTAB_ISO8859_1); + +#define CHRSET_(id, s) AddCharSetE(s, CHRTAB_##id); +#include "CharSet.i" +#undef CHRSET } static ArrayMap& s_map() @@ -2190,7 +2075,7 @@ static ArrayMap& s_map() return Single< ArrayMap >(); } -byte AddCharSet(const char *name, const word *table, byte systemcharset) +byte AddCharSet(const char *name, const word *table) { /* #ifdef _DEBUG @@ -2205,16 +2090,15 @@ byte AddCharSet(const char *name, const word *table, byte systemcharset) int q = s_map().GetCount(); CharSetData& m = s_map().Add(name); m.table = table; - m.system = systemcharset; return q; } -byte AddCharSetE(const char *name, word *table, byte systemcharset) +byte AddCharSetE(const char *name, word *table) { for(int i = 0; i < 128; i++) if(table[i] == CUNDEF) table[i] = i + 0xEE80; - return AddCharSet(name, table, systemcharset); + return AddCharSet(name, table); } const char *CharsetName(byte charset) @@ -2260,11 +2144,6 @@ static CharSetData& s_cset(byte charset) return s_map()[ResolveCharset(charset)]; } -byte SystemCharset(byte charset) -{ - return s_cset(charset).system; -} - int ToUnicode(int chr, byte charset) { return s_cset(charset).ToUnicode(chr); diff --git a/uppsrc/Core/CharSet.h b/uppsrc/Core/CharSet.h index 96e6b395b..0fa9fddc5 100644 --- a/uppsrc/Core/CharSet.h +++ b/uppsrc/Core/CharSet.h @@ -1,112 +1,11 @@ -#define CHARSET_DEFAULT 0 +#define CHRSET_(id, s) CHARSET_##id, -#define CHARSET_ISO8859_1 1 -#define CHARSET_ISO8859_2 2 -#define CHARSET_ISO8859_3 3 -#define CHARSET_ISO8859_4 4 -#define CHARSET_ISO8859_5 5 -#define CHARSET_ISO8859_6 6 -#define CHARSET_ISO8859_7 7 -#define CHARSET_ISO8859_8 8 -#define CHARSET_ISO8859_9 9 -#define CHARSET_ISO8859_10 10 -#define CHARSET_ISO8859_13 11 -#define CHARSET_ISO8859_14 12 -#define CHARSET_ISO8859_15 13 -#define CHARSET_ISO8859_16 14 -#define CHARSET_WIN1250 15 -#define CHARSET_WIN1251 16 -#define CHARSET_WIN1252 17 -#define CHARSET_WIN1253 18 -#define CHARSET_WIN1254 19 -#define CHARSET_WIN1255 20 -#define CHARSET_WIN1256 21 -#define CHARSET_WIN1257 22 -#define CHARSET_WIN1258 23 -#define CHARSET_KOI8_R 24 -#define CHARSET_CP852 25 -#define CHARSET_MJK 26 -#define CHARSET_CP850 27 +enum { + CHARSET_DEFAULT, +#include "CharSet.i" +}; -#define CHARSET_ARMSCII_8 28 -#define CHARSET_CP1046 29 -#define CHARSET_CP1124 30 -#define CHARSET_CP1125 31 -#define CHARSET_CP1129 32 -#define CHARSET_CP1133 33 -#define CHARSET_CP1161 34 -#define CHARSET_CP1162 35 -#define CHARSET_CP1163 36 -#define CHARSET_CP1250 37 -#define CHARSET_CP1251 38 -#define CHARSET_CP1252 39 -#define CHARSET_CP1253 40 -#define CHARSET_CP1254 41 -#define CHARSET_CP1255 42 -#define CHARSET_CP1256 43 -#define CHARSET_CP1257 44 -#define CHARSET_CP1258 45 -#define CHARSET_CP437 46 -#define CHARSET_CP737 47 -#define CHARSET_CP775 48 - -#define CHARSET_TCVN 49 -#define CHARSET_TIS_620 50 - -#define CHARSET_CP853 51 -#define CHARSET_CP855 52 -#define CHARSET_CP856 53 -#define CHARSET_CP857 54 -#define CHARSET_CP858 55 -#define CHARSET_CP860 56 -#define CHARSET_CP861 57 -#define CHARSET_CP862 58 -#define CHARSET_CP863 59 -#define CHARSET_CP864 60 -#define CHARSET_CP865 61 -#define CHARSET_CP866 62 -#define CHARSET_CP869 63 -#define CHARSET_CP874 64 -#define CHARSET_CP922 65 -#define CHARSET_GEORGIAN_ACADEMY 66 -#define CHARSET_GEORGIAN_PS 67 -#define CHARSET_HP_ROMAN8 68 -#define CHARSET_ISO_8859_1 69 -#define CHARSET_ISO_8859_10 70 -#define CHARSET_ISO_8859_13 71 -#define CHARSET_ISO_8859_14 72 -#define CHARSET_ISO_8859_15 73 -#define CHARSET_ISO_8859_16 74 -#define CHARSET_ISO_8859_2 75 -#define CHARSET_ISO_8859_3 76 -#define CHARSET_ISO_8859_4 77 -#define CHARSET_ISO_8859_5 78 -#define CHARSET_ISO_8859_6 79 -#define CHARSET_ISO_8859_7 80 -#define CHARSET_ISO_8859_8 81 -#define CHARSET_ISO_8859_9 82 -#define CHARSET_JIS_X0201 83 - -#define CHARSET_VISCII 84 - -#define CHARSET_KOI8_RU 85 -#define CHARSET_KOI8_T 86 -#define CHARSET_KOI8_U 87 -#define CHARSET_MACARABIC 88 -#define CHARSET_MACCENTRALEUROPE 89 -#define CHARSET_MACCROATIAN 90 -#define CHARSET_MACCYRILLIC 91 -#define CHARSET_MACGREEK 92 -#define CHARSET_MACHEBREW 93 -#define CHARSET_MACICELAND 94 -#define CHARSET_MACROMAN 95 -#define CHARSET_MACROMANIA 96 -#define CHARSET_MACTHAI 97 -#define CHARSET_MACTURKISH 98 -#define CHARSET_MACUKRAINE 99 -#define CHARSET_MULELAO_1 100 -#define CHARSET_NEXTSTEP 101 -#define CHARSET_RISCOS_LATIN1 102 +#undef CHRSET_ #define CHARSET_TOASCII 253 #define CHARSET_UTF8 255 @@ -118,108 +17,10 @@ enum { #ifndef flagSO -extern word CHRTAB_ISO8859_1[128]; -extern word CHRTAB_ISO8859_2[128]; -extern word CHRTAB_ISO8859_3[128]; -extern word CHRTAB_ISO8859_4[128]; -extern word CHRTAB_ISO8859_5[128]; -extern word CHRTAB_ISO8859_6[128]; -extern word CHRTAB_ISO8859_7[128]; -extern word CHRTAB_ISO8859_8[128]; -extern word CHRTAB_ISO8859_9[128]; -extern word CHRTAB_ISO8859_10[128]; -extern word CHRTAB_ISO8859_13[128]; -extern word CHRTAB_ISO8859_14[128]; -extern word CHRTAB_ISO8859_15[128]; -extern word CHRTAB_ISO8859_16[128]; -extern word CHRTAB_WIN1250[128]; -extern word CHRTAB_WIN1251[128]; -extern word CHRTAB_WIN1252[128]; -extern word CHRTAB_WIN1253[128]; -extern word CHRTAB_WIN1254[128]; -extern word CHRTAB_WIN1255[128]; -extern word CHRTAB_WIN1256[128]; -extern word CHRTAB_WIN1257[128]; -extern word CHRTAB_WIN1258[128]; -extern word CHRTAB_KOI8_R[128]; -extern word CHRTAB_CP852[128]; -extern word CHRTAB_MJK[128]; -extern word CHRTAB_ARMSCII_8[128]; -extern word CHRTAB_CP1046[128]; -extern word CHRTAB_CP1124[128]; -extern word CHRTAB_CP1125[128]; -extern word CHRTAB_CP1129[128]; -extern word CHRTAB_CP1133[128]; -//extern word CHRTAB_CP1161[128]; -extern word CHRTAB_CP1162[128]; -extern word CHRTAB_CP1163[128]; -extern word CHRTAB_CP1250[128]; -extern word CHRTAB_CP1251[128]; -extern word CHRTAB_CP1252[128]; -extern word CHRTAB_CP1253[128]; -extern word CHRTAB_CP1254[128]; -extern word CHRTAB_CP1255[128]; -extern word CHRTAB_CP1256[128]; -extern word CHRTAB_CP1257[128]; -extern word CHRTAB_CP1258[128]; -extern word CHRTAB_CP437[128]; -extern word CHRTAB_CP737[128]; -extern word CHRTAB_CP775[128]; -extern word CHRTAB_CP853[128]; -extern word CHRTAB_CP855[128]; -extern word CHRTAB_CP856[128]; -extern word CHRTAB_CP857[128]; -extern word CHRTAB_CP858[128]; -extern word CHRTAB_CP860[128]; -extern word CHRTAB_CP861[128]; -extern word CHRTAB_CP862[128]; -extern word CHRTAB_CP863[128]; -extern word CHRTAB_CP864[128]; -extern word CHRTAB_CP865[128]; -extern word CHRTAB_CP866[128]; -extern word CHRTAB_CP869[128]; -extern word CHRTAB_CP874[128]; -extern word CHRTAB_CP922[128]; -extern word CHRTAB_GEORGIAN_ACADEMY[128]; -extern word CHRTAB_GEORGIAN_PS[128]; -extern word CHRTAB_HP_ROMAN8[128]; -extern word CHRTAB_ISO_8859_1[128]; -extern word CHRTAB_ISO_8859_10[128]; -extern word CHRTAB_ISO_8859_13[128]; -extern word CHRTAB_ISO_8859_14[128]; -extern word CHRTAB_ISO_8859_15[128]; -extern word CHRTAB_ISO_8859_16[128]; -extern word CHRTAB_ISO_8859_2[128]; -extern word CHRTAB_ISO_8859_3[128]; -extern word CHRTAB_ISO_8859_4[128]; -extern word CHRTAB_ISO_8859_5[128]; -extern word CHRTAB_ISO_8859_6[128]; -extern word CHRTAB_ISO_8859_7[128]; -extern word CHRTAB_ISO_8859_8[128]; -extern word CHRTAB_ISO_8859_9[128]; -extern word CHRTAB_JIS_X0201[128]; -extern word CHRTAB_KOI8_R[128]; -extern word CHRTAB_KOI8_RU[128]; -extern word CHRTAB_KOI8_T[128]; -extern word CHRTAB_KOI8_U[128]; -extern word CHRTAB_MACARABIC[128]; -extern word CHRTAB_MACCENTRALEUROPE[128]; -extern word CHRTAB_MACCROATIAN[128]; -extern word CHRTAB_MACCYRILLIC[128]; -extern word CHRTAB_MACGREEK[128]; -extern word CHRTAB_MACHEBREW[128]; -extern word CHRTAB_MACICELAND[128]; -extern word CHRTAB_MACROMAN[128]; -extern word CHRTAB_MACROMANIA[128]; -extern word CHRTAB_MACTHAI[128]; -extern word CHRTAB_MACTURKISH[128]; -extern word CHRTAB_MACUKRAINE[128]; -extern word CHRTAB_MULELAO_1[128]; -extern word CHRTAB_NEXTSTEP[128]; -extern word CHRTAB_RISCOS_LATIN1[128]; -extern word CHRTAB_TCVN[128]; -extern word CHRTAB_TIS_620[128]; -extern word CHRTAB_VISCII[128]; +#define CHRSET_(id, s) extern word CHRTAB_##id[128]; + +#include "CharSet.i" + #endif void SetDefaultCharset(byte charset); @@ -227,15 +28,13 @@ byte GetDefaultCharset(); byte ResolveCharset(byte charset); -byte AddCharSet(const char *name, const word *table, byte systemcharset = CHARSET_DEFAULT); -byte AddCharSetE(const char *name, word *table, byte systemcharset = CHARSET_DEFAULT); +byte AddCharSet(const char *name, const word *table); +byte AddCharSetE(const char *name, word *table); const char *CharsetName(byte charset); int CharsetCount(); int CharsetByName(const char *name); -byte SystemCharset(byte charset); - int ToUnicode(int chr, byte charset); int FromUnicode(wchar wchr, byte charset, int defchar = DEFAULTCHAR); diff --git a/uppsrc/Core/CharSet.i b/uppsrc/Core/CharSet.i new file mode 100644 index 000000000..06b6dbb22 --- /dev/null +++ b/uppsrc/Core/CharSet.i @@ -0,0 +1,88 @@ +CHRSET_(ISO8859_1, "iso8859-1") +CHRSET_(ISO8859_2, "iso8859-2") +CHRSET_(ISO8859_3, "iso8859-3") +CHRSET_(ISO8859_4, "iso8859-4") +CHRSET_(ISO8859_5, "iso8859-5") +CHRSET_(ISO8859_6, "iso8859-6") +CHRSET_(ISO8859_7, "iso8859-7") +CHRSET_(ISO8859_8, "iso8859-8") +CHRSET_(ISO8859_9, "iso8859-9") +CHRSET_(ISO8859_10, "iso8859-10") +CHRSET_(ISO8859_13, "iso8859-13") +CHRSET_(ISO8859_14, "iso8859-14") +CHRSET_(ISO8859_15, "iso8859-15") +CHRSET_(ISO8859_16, "iso8859-16") +CHRSET_(WIN1250, "windows-1250") +CHRSET_(WIN1251, "windows-1251") +CHRSET_(WIN1252, "windows-1252") +CHRSET_(WIN1253, "windows-1253") +CHRSET_(WIN1254, "windows-1254") +CHRSET_(WIN1255, "windows-1255") +CHRSET_(WIN1256, "windows-1256") +CHRSET_(WIN1257, "windows-1257") +CHRSET_(WIN1258, "windows-1258") +CHRSET_(KOI8_R, "koi8-r") +CHRSET_(CP852, "cp852") +CHRSET_(MJK, "mjk") +CHRSET_(CP850, "cp850") +CHRSET_(ARMSCII_8, "ARMSCII-8") +CHRSET_(CP1046, "cp1046") +CHRSET_(CP1124, "cp1124") +CHRSET_(CP1125, "cp1125") +CHRSET_(CP1129, "cp1129") +CHRSET_(CP1133, "cp1133") +CHRSET_(CP1161, "cp1161") +CHRSET_(CP1162, "cp1162") +CHRSET_(CP1163, "cp1163") +CHRSET_(CP1250, "cp1250") +CHRSET_(CP1251, "cp1251") +CHRSET_(CP1252, "cp1252") +CHRSET_(CP1253, "cp1253") +CHRSET_(CP1254, "cp1254") +CHRSET_(CP1255, "cp1255") +CHRSET_(CP1256, "cp1256") +CHRSET_(CP1257, "cp1257") +CHRSET_(CP1258, "cp1258") +CHRSET_(CP437, "cp437") +CHRSET_(CP737, "cp737") +CHRSET_(CP775, "cp775") +CHRSET_(CP853, "cp853") +CHRSET_(CP855, "cp855") +CHRSET_(CP856, "cp856") +CHRSET_(CP857, "cp857") +CHRSET_(CP858, "cp858") +CHRSET_(CP860, "cp860") +CHRSET_(CP861, "cp861") +CHRSET_(CP862, "cp862") +CHRSET_(CP863, "cp863") +CHRSET_(CP864, "cp864") +CHRSET_(CP865, "cp865") +CHRSET_(CP866, "cp866") +CHRSET_(CP869, "cp869") +CHRSET_(CP874, "cp874") +CHRSET_(CP922, "cp922") +CHRSET_(GEORGIAN_ACADEMY, "Georgian-Academy") +CHRSET_(GEORGIAN_PS, "Georgian-PS") +CHRSET_(HP_ROMAN8, "HP-ROMAN8") +CHRSET_(KOI8_RU, "koi8-ru") +CHRSET_(KOI8_T, "koi8-t") +CHRSET_(KOI8_U, "koi8-u") +CHRSET_(MACARABIC, "MacArabic") +CHRSET_(MACCENTRALEUROPE, "MacCentralEurope") +CHRSET_(MACCROATIAN, "MacCroatian") +CHRSET_(MACCYRILLIC, "MacCyrillic") +CHRSET_(MACGREEK, "MacGreek") +CHRSET_(MACHEBREW, "MacHebrew") +CHRSET_(MACICELAND, "MacIceland") +CHRSET_(MACROMAN, "MacRoman") +CHRSET_(MACROMANIA, "MacRomania") +CHRSET_(MACTHAI, "MacThai") +CHRSET_(MACTURKISH, "MacTurkish") +CHRSET_(MACUKRAINE, "MacUkraine") +CHRSET_(MULELAO_1, "MuleLao-1") +CHRSET_(NEXTSTEP, "NEXTSTEP") +CHRSET_(RISCOS_LATIN1, "RISCOS-LATIN1") +CHRSET_(TCVN, "TCVN") +CHRSET_(VISCII, "VISCII") +CHRSET_(TIS_620, "TIS-620") +CHRSET_(JIS_X0201, "JIS-X0201") diff --git a/uppsrc/Core/Core.upp b/uppsrc/Core/Core.upp index 3a5ffc97b..b40dd6495 100644 --- a/uppsrc/Core/Core.upp +++ b/uppsrc/Core/Core.upp @@ -49,6 +49,7 @@ file String.cpp optimize_speed, WString.cpp optimize_speed, StrUtil.cpp optimize_speed, + CharSet.i, CharSet.h, CharSet.cpp optimize_speed, Bom.cpp,