--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/charconvfw/Charconvplugin/src/G_Win1258.cpp Fri Jun 04 10:37:54 2010 +0100
@@ -0,0 +1,579 @@
+/*
+* Copyright (c) 1258 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 <e32std.h>
+#include <convdata.h>
+#include <convgeneratedcpp.h>
+
+#define ARRAY_LENGTH(aArray) (sizeof(aArray)/sizeof((aArray)[0]))
+
+#pragma warning (disable: 4049) // compiler limit : terminating line number emission
+
+_LIT8(KLit8ReplacementForUnconvertibleUnicodeCharacters, "\x1a");
+
+GLDEF_C const TDesC8& ReplacementForUnconvertibleUnicodeCharacters_internal()
+ {
+ return KLit8ReplacementForUnconvertibleUnicodeCharacters;
+ }
+
+LOCAL_D const TUint16 keyedTables16OfIndexedTables16_indexedEntries_foreignToUnicode_1[]=
+ {
+ 0x201a,
+ 0x0192,
+ 0x201e,
+ 0x2026,
+ 0x2020,
+ 0x2021,
+ 0x02c6,
+ 0x2030,
+ 0x008a,
+ 0x2039,
+ 0x0152,
+ 0x008d,
+ 0x008e,
+ 0x008f,
+ 0x0090,
+ 0x2018,
+ 0x2019,
+ 0x201c,
+ 0x201d,
+ 0x2022,
+ 0x2013,
+ 0x2014,
+ 0x02dc,
+ 0x2122,
+ 0x009a,
+ 0x203a,
+ 0x0153,
+ 0x009d,
+ 0x009e,
+ 0x0178
+ };
+
+LOCAL_D const TUint16 keyedTables16OfIndexedTables16_indexedEntries_foreignToUnicode_2[]=
+ {
+ 0x0102
+ };
+
+LOCAL_D const TUint16 keyedTables16OfIndexedTables16_indexedEntries_foreignToUnicode_3[]=
+ {
+ 0x0300,
+ 0x00cd,
+ 0x00ce,
+ 0x00cf,
+ 0x0110,
+ 0x00d1,
+ 0x0309,
+ 0x00d3,
+ 0x00d4,
+ 0x01a0
+ };
+
+LOCAL_D const TUint16 keyedTables16OfIndexedTables16_indexedEntries_foreignToUnicode_4[]=
+ {
+ 0x01af,
+ 0x0303,
+ 0x00df,
+ 0x00e0,
+ 0x00e1,
+ 0x00e2,
+ 0x0103
+ };
+
+LOCAL_D const TUint16 keyedTables16OfIndexedTables16_indexedEntries_foreignToUnicode_5[]=
+ {
+ 0x0301,
+ 0x00ed,
+ 0x00ee,
+ 0x00ef,
+ 0x0111,
+ 0x00f1,
+ 0x0323,
+ 0x00f3,
+ 0x00f4,
+ 0x01a1
+ };
+
+LOCAL_D const TUint16 keyedTables16OfIndexedTables16_indexedEntries_foreignToUnicode_6[]=
+ {
+ 0x01b0,
+ 0x20ab,
+ 0x00ff
+ };
+
+LOCAL_D const SCnvConversionData::SOneDirectionData::SRange::UData::SKeyedTable16OfIndexedTables16::SKeyedEntry keyedTables16OfIndexedTables16_keyedEntries_foreignToUnicode_1[]=
+ {
+ {
+ 0x82,
+ 0x9f,
+ keyedTables16OfIndexedTables16_indexedEntries_foreignToUnicode_1
+ },
+ {
+ 0xc3,
+ 0xc3,
+ keyedTables16OfIndexedTables16_indexedEntries_foreignToUnicode_2
+ },
+ {
+ 0xcc,
+ 0xd5,
+ keyedTables16OfIndexedTables16_indexedEntries_foreignToUnicode_3
+ },
+ {
+ 0xdd,
+ 0xe3,
+ keyedTables16OfIndexedTables16_indexedEntries_foreignToUnicode_4
+ },
+ {
+ 0xec,
+ 0xf5,
+ keyedTables16OfIndexedTables16_indexedEntries_foreignToUnicode_5
+ },
+ {
+ 0xfd,
+ 0xff,
+ keyedTables16OfIndexedTables16_indexedEntries_foreignToUnicode_6
+ }
+ };
+
+LOCAL_D const SCnvConversionData::SOneDirectionData::SRange::UData::SKeyedTable1616::SEntry keyedTable1616_unicodeToForeign_1[]=
+ {
+ {
+ 0x008a,
+ 0x8a
+ },
+ {
+ 0x008d,
+ 0x8d
+ },
+ {
+ 0x008e,
+ 0x8e
+ },
+ {
+ 0x008f,
+ 0x8f
+ },
+ {
+ 0x0090,
+ 0x90
+ },
+ {
+ 0x009a,
+ 0x9a
+ },
+ {
+ 0x009d,
+ 0x9d
+ },
+ {
+ 0x009e,
+ 0x9e
+ },
+ {
+ 0x00cd,
+ 0xcd
+ },
+ {
+ 0x00ce,
+ 0xce
+ },
+ {
+ 0x00cf,
+ 0xcf
+ },
+ {
+ 0x00d1,
+ 0xd1
+ },
+ {
+ 0x00d3,
+ 0xd3
+ },
+ {
+ 0x00d4,
+ 0xd4
+ },
+ {
+ 0x00df,
+ 0xdf
+ },
+ {
+ 0x00e0,
+ 0xe0
+ },
+ {
+ 0x00e1,
+ 0xe1
+ },
+ {
+ 0x00e2,
+ 0xe2
+ },
+ {
+ 0x00ed,
+ 0xed
+ },
+ {
+ 0x00ee,
+ 0xee
+ },
+ {
+ 0x00ef,
+ 0xef
+ },
+ {
+ 0x00f1,
+ 0xf1
+ },
+ {
+ 0x00f3,
+ 0xf3
+ },
+ {
+ 0x00f4,
+ 0xf4
+ },
+ {
+ 0x00ff,
+ 0xff
+ },
+ {
+ 0x0102,
+ 0xc3
+ },
+ {
+ 0x0103,
+ 0xe3
+ },
+ {
+ 0x0110,
+ 0xd0
+ },
+ {
+ 0x0111,
+ 0xf0
+ },
+ {
+ 0x0152,
+ 0x8c
+ },
+ {
+ 0x0153,
+ 0x9c
+ },
+ {
+ 0x0178,
+ 0x9f
+ },
+ {
+ 0x0192,
+ 0x83
+ },
+ {
+ 0x01a0,
+ 0xd5
+ },
+ {
+ 0x01a1,
+ 0xf5
+ },
+ {
+ 0x01af,
+ 0xdd
+ },
+ {
+ 0x01b0,
+ 0xfd
+ },
+ {
+ 0x02c6,
+ 0x88
+ },
+ {
+ 0x02dc,
+ 0x98
+ },
+ {
+ 0x0300,
+ 0xcc
+ },
+ {
+ 0x0301,
+ 0xec
+ },
+ {
+ 0x0303,
+ 0xde
+ },
+ {
+ 0x0309,
+ 0xd2
+ },
+ {
+ 0x0323,
+ 0xf2
+ },
+ {
+ 0x2013,
+ 0x96
+ },
+ {
+ 0x2014,
+ 0x97
+ },
+ {
+ 0x2018,
+ 0x91
+ },
+ {
+ 0x2019,
+ 0x92
+ },
+ {
+ 0x201a,
+ 0x82
+ },
+ {
+ 0x201c,
+ 0x93
+ },
+ {
+ 0x201d,
+ 0x94
+ },
+ {
+ 0x201e,
+ 0x84
+ },
+ {
+ 0x2020,
+ 0x86
+ },
+ {
+ 0x2021,
+ 0x87
+ },
+ {
+ 0x2022,
+ 0x95
+ },
+ {
+ 0x2026,
+ 0x85
+ },
+ {
+ 0x2030,
+ 0x89
+ },
+ {
+ 0x2039,
+ 0x8b
+ },
+ {
+ 0x203a,
+ 0x9b
+ },
+ {
+ 0x20ab,
+ 0xfe
+ },
+ {
+ 0x2122,
+ 0x99
+ }
+ };
+
+LOCAL_D const SCnvConversionData::SVariableByteData::SRange foreignVariableByteDataRanges[]=
+ {
+ {
+ 0x00,
+ 0xff,
+ 0,
+ 0
+ }
+ };
+
+LOCAL_D const SCnvConversionData::SOneDirectionData::SRange foreignToUnicodeDataRanges[]=
+ {
+ {
+ 0x00,
+ 0x81,
+ SCnvConversionData::SOneDirectionData::SRange::EDirect,
+ 0,
+ 0,
+ {
+ 0
+ }
+ },
+ {
+ 0xa0,
+ 0xc2,
+ SCnvConversionData::SOneDirectionData::SRange::EDirect,
+ 0,
+ 0,
+ {
+ 0
+ }
+ },
+ {
+ 0xc4,
+ 0xcb,
+ SCnvConversionData::SOneDirectionData::SRange::EDirect,
+ 0,
+ 0,
+ {
+ 0
+ }
+ },
+ {
+ 0xd6,
+ 0xdc,
+ SCnvConversionData::SOneDirectionData::SRange::EDirect,
+ 0,
+ 0,
+ {
+ 0
+ }
+ },
+ {
+ 0xe4,
+ 0xeb,
+ SCnvConversionData::SOneDirectionData::SRange::EDirect,
+ 0,
+ 0,
+ {
+ 0
+ }
+ },
+ {
+ 0xf6,
+ 0xfc,
+ SCnvConversionData::SOneDirectionData::SRange::EDirect,
+ 0,
+ 0,
+ {
+ 0
+ }
+ },
+ {
+ 0x82,
+ 0xff,
+ SCnvConversionData::SOneDirectionData::SRange::EKeyedTable16OfIndexedTables16,
+ 0,
+ 0,
+ {
+ UData_SKeyedTable16OfIndexedTables16(keyedTables16OfIndexedTables16_keyedEntries_foreignToUnicode_1)
+ }
+ }
+ };
+
+LOCAL_D const SCnvConversionData::SOneDirectionData::SRange unicodeToForeignDataRanges[]=
+ {
+ {
+ 0x0000,
+ 0x0081,
+ SCnvConversionData::SOneDirectionData::SRange::EDirect,
+ 1,
+ 0,
+ {
+ 0
+ }
+ },
+ {
+ 0x00a0,
+ 0x00c2,
+ SCnvConversionData::SOneDirectionData::SRange::EDirect,
+ 1,
+ 0,
+ {
+ 0
+ }
+ },
+ {
+ 0x00c4,
+ 0x00cb,
+ SCnvConversionData::SOneDirectionData::SRange::EDirect,
+ 1,
+ 0,
+ {
+ 0
+ }
+ },
+ {
+ 0x00d6,
+ 0x00dc,
+ SCnvConversionData::SOneDirectionData::SRange::EDirect,
+ 1,
+ 0,
+ {
+ 0
+ }
+ },
+ {
+ 0x00e4,
+ 0x00eb,
+ SCnvConversionData::SOneDirectionData::SRange::EDirect,
+ 1,
+ 0,
+ {
+ 0
+ }
+ },
+ {
+ 0x00f6,
+ 0x00fc,
+ SCnvConversionData::SOneDirectionData::SRange::EDirect,
+ 1,
+ 0,
+ {
+ 0
+ }
+ },
+ {
+ 0x008a,
+ 0x2122,
+ SCnvConversionData::SOneDirectionData::SRange::EKeyedTable1616,
+ 1,
+ 0,
+ {
+ UData_SKeyedTable1616(keyedTable1616_unicodeToForeign_1)
+ }
+ }
+ };
+
+GLDEF_D const SCnvConversionData conversionData=
+ {
+ SCnvConversionData::EFixedBigEndian,
+ {
+ ARRAY_LENGTH(foreignVariableByteDataRanges),
+ foreignVariableByteDataRanges
+ },
+ {
+ ARRAY_LENGTH(foreignToUnicodeDataRanges),
+ foreignToUnicodeDataRanges
+ },
+ {
+ ARRAY_LENGTH(unicodeToForeignDataRanges),
+ unicodeToForeignDataRanges
+ },
+ NULL,
+ NULL
+ };
+