mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-07-11 22:03:01 -06:00
*Core: CharSet refactored to avoid constant mismatches
git-svn-id: svn://ultimatepp.org/upp/trunk@2462 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
043b790399
commit
9d655feb36
4 changed files with 109 additions and 342 deletions
|
|
@ -1954,7 +1954,6 @@ struct CharSetData {
|
|||
static byte undef[128];
|
||||
byte *line[16];
|
||||
VectorMap<int, byte> 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<String, CharSetData>& s_map()
|
||||
|
|
@ -2190,7 +2075,7 @@ static ArrayMap<String, CharSetData>& s_map()
|
|||
return Single< ArrayMap<String, CharSetData> >();
|
||||
}
|
||||
|
||||
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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
88
uppsrc/Core/CharSet.i
Normal file
88
uppsrc/Core/CharSet.i
Normal file
|
|
@ -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")
|
||||
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue