webengine/osswebengine/WebKit/s60/misc/WebCharsetData.cpp
changeset 0 dd21522fd290
child 16 a359256acfc6
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/osswebengine/WebKit/s60/misc/WebCharsetData.cpp	Mon Mar 30 12:54:55 2009 +0300
@@ -0,0 +1,122 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+
+// INCLUDE FILES
+#include "WebCharsetData.h"
+
+// EXTERNAL DATA STRUCTURES
+
+// EXTERNAL FUNCTION PROTOTYPES
+
+// CONSTANTS
+const TCharsetEntry supportedCharsetTable[] =
+    {
+    {KCharacterSetIdentifierIso88591,   _S("iso-8859-1") },
+    {KCharacterSetIdentifierIso88591,   _S("iso-8859-1") },
+    {KCharacterSetIdentifierIso88591,   _S("iso8859-1") },
+    {0x101F873B,                        _S("windows-1252")},
+    {KCharacterSetIdentifierUtf8,       _S("utf-8")},
+    {KCharacterSetIdentifierGb2312,     _S("gb2312")},
+    {KCharacterSetIdentifierBig5,       _S("big5")},
+    {KCharacterSetIdentifierIso88592,   _S("iso-8859-2")},
+    {KCharacterSetIdentifierIso88594,   _S("iso-8859-4")},
+    {KCharacterSetIdentifierIso88595,   _S("iso-8859-5")},
+    {KCharacterSetIdentifierIso88596,   _S("iso-8859-6")},
+    {KCharacterSetIdentifierIso88597,   _S("iso-8859-7")},
+    {KCharacterSetIdentifierIso88598,   _S("iso-8859-8")},
+    {KCharacterSetIdentifierIso88599,   _S("iso-8859-9")},
+    {KCharacterSetIdentifierIso885915,  _S("iso-8859-15")},
+    {0x100059d6,                        _S("windows-1250")}, // no header file is provided with the converter windows-1250
+    {0x100059D7,                        _S("windows-1251")}, // no header file is provided with the converter windows-1251
+    {0x100059D8,                        _S("windows-1253")}, // no header file is provided with the converter windows-1253
+    {0x100059D9,                        _S("windows-1254")}, // no header file is provided with the converter windows-1254
+    {0x101F8547,                        _S("windows-1255")}, // no header file is provided with the converter windows-1255
+    {0x101F8547,                        _S("iso-8859-8i")}, // no header file is provided with the converter windows-1255
+    {0x101F8548,                        _S("windows-1256")}, // no header file is provided with the converter windows-1256
+    {0x100059DA,                        _S("windows-1257")}, // no header file is provided with the converter windows-1257
+    {0x102073B8,                        _S("windows-1258")}, // no header file is provided with the converter windows-1258
+    {0x101F8549,                        _S("tis-620")}, // no header file is provided with the converter tis-620
+    {KCharacterSetIdentifierShiftJis,   _S("shift_jis")},
+    {KCharacterSetIdentifierShiftJis,   _S("shift-jis")},
+    {KCharacterSetIdentifierShiftJis,   _S("x-sjis")},
+    {KCharacterSetIdentifierJis,        _S("jis_x0201-1997")},
+    {KCharacterSetIdentifierJis,        _S("jis_x0208-1997")},
+    {KCharacterSetIdentifierEucJpPacked,_S("euc-jp")},
+    {KCharacterSetIdentifierEucJpPacked,_S("x-euc-jp")},
+    {KCharacterSetIdentifierIso2022Jp,  _S("iso-2022-jp")},
+    {0x101F854A,                        _S("windows-874")}, // no header file is provided with the converter windows-874
+    {0x101F8778,                        _S("koi8-r")}, // no header file is provided with the converter Russian
+    {0x101F8761,                        _S("koi8-u")}, // no header file is provided with the converter Ukrainian
+    {KCharacterSetIdentifierUcs2,       _S("iso-10646-ucs-2")},
+    {KCharacterSetIdentifierUcs2,       _S("unicode")},
+    {KCharacterSetIdentifierUnicodeBig, _S("ucs-2-big")},
+    {KCharacterSetIdentifierUnicodeLittle,_S("ucs-2-little")},
+    {0x1027508E,                        _S("iscii")},
+    {0,                                 NULL}
+};
+
+// MACROS
+
+// LOCAL CONSTANTS AND MACROS
+
+// MODULE DATA STRUCTURES
+
+// LOCAL FUNCTION PROTOTYPES
+
+// FORWARD DECLARATIONS
+
+// ============================= LOCAL FUNCTIONS ===============================
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+
+unsigned int uidForCharset(TText* charset) 
+{
+    int i;
+    int count = sizeof(supportedCharsetTable)/sizeof(TCharsetEntry);
+    TPtrC charsetPtr(charset);
+    for (i = 0; i < count; i++) {
+        TPtrC supportedCharsetPtr(supportedCharsetTable[i].charsetName);
+        if (charsetPtr.CompareF(supportedCharsetPtr) == 0) {
+            break;
+        }
+    }
+    if (i < count && supportedCharsetTable[i].charsetName != NULL) {
+        return supportedCharsetTable[i].uid;
+    }
+    return 0;
+}
+
+
+
+const TText* charsetForUid(unsigned int uid)
+{
+    int i;
+    int count = sizeof(supportedCharsetTable)/sizeof(TCharsetEntry);
+    for (i = 0; i < count; i++) {
+        if (uid == supportedCharsetTable[i].uid) {
+            break;
+        }
+    }
+    if (i < count && supportedCharsetTable[i].charsetName != NULL) {
+        return supportedCharsetTable[i].charsetName;
+    }
+    return NULL;
+}
+
+//  End of File