charconvfw/Charconvplugin/src/G_WIN1252.cpp
changeset 0 1fb32624e06b
equal deleted inserted replaced
-1:000000000000 0:1fb32624e06b
       
     1 /*
       
     2 * Copyright (c) 1252 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 
       
    21 #include <e32std.h>
       
    22 #include <convdata.h>
       
    23 #include <convgeneratedcpp.h>
       
    24 
       
    25 #define ARRAY_LENGTH(aArray) (sizeof(aArray)/sizeof((aArray)[0]))
       
    26 
       
    27 #pragma warning (disable: 4049) // compiler limit : terminating line number emission
       
    28 
       
    29 _LIT8(KLit8ReplacementForUnconvertibleUnicodeCharacters, "\x1a");
       
    30 
       
    31 GLDEF_C const TDesC8& ReplacementForUnconvertibleUnicodeCharacters_internal()
       
    32 	{
       
    33 	return KLit8ReplacementForUnconvertibleUnicodeCharacters;
       
    34 	}
       
    35 
       
    36 LOCAL_D const TUint16 keyedTables16OfIndexedTables16_indexedEntries_foreignToUnicode_1[]=
       
    37 	{
       
    38 	0x20ac
       
    39 	};
       
    40 
       
    41 LOCAL_D const TUint16 keyedTables16OfIndexedTables16_indexedEntries_foreignToUnicode_2[]=
       
    42 	{
       
    43 	0x201a,
       
    44 	0x0192,
       
    45 	0x201e,
       
    46 	0x2026,
       
    47 	0x2020,
       
    48 	0x2021,
       
    49 	0x02c6,
       
    50 	0x2030,
       
    51 	0x0160,
       
    52 	0x2039,
       
    53 	0x0152
       
    54 	};
       
    55 
       
    56 LOCAL_D const TUint16 keyedTables16OfIndexedTables16_indexedEntries_foreignToUnicode_3[]=
       
    57 	{
       
    58 	0x017d
       
    59 	};
       
    60 
       
    61 LOCAL_D const TUint16 keyedTables16OfIndexedTables16_indexedEntries_foreignToUnicode_4[]=
       
    62 	{
       
    63 	0x2018,
       
    64 	0x2019,
       
    65 	0x201c,
       
    66 	0x201d,
       
    67 	0x2022,
       
    68 	0x2013,
       
    69 	0x2014,
       
    70 	0x02dc,
       
    71 	0x2122,
       
    72 	0x0161,
       
    73 	0x203a,
       
    74 	0x0153
       
    75 	};
       
    76 
       
    77 LOCAL_D const TUint16 keyedTables16OfIndexedTables16_indexedEntries_foreignToUnicode_5[]=
       
    78 	{
       
    79 	0x017e,
       
    80 	0x0178
       
    81 	};
       
    82 
       
    83 LOCAL_D const SCnvConversionData::SOneDirectionData::SRange::UData::SKeyedTable16OfIndexedTables16::SKeyedEntry keyedTables16OfIndexedTables16_keyedEntries_foreignToUnicode_1[]=
       
    84 	{
       
    85 		{
       
    86 		0x80,
       
    87 		0x80,
       
    88 		keyedTables16OfIndexedTables16_indexedEntries_foreignToUnicode_1
       
    89 		},
       
    90 		{
       
    91 		0x82,
       
    92 		0x8c,
       
    93 		keyedTables16OfIndexedTables16_indexedEntries_foreignToUnicode_2
       
    94 		},
       
    95 		{
       
    96 		0x8e,
       
    97 		0x8e,
       
    98 		keyedTables16OfIndexedTables16_indexedEntries_foreignToUnicode_3
       
    99 		},
       
   100 		{
       
   101 		0x91,
       
   102 		0x9c,
       
   103 		keyedTables16OfIndexedTables16_indexedEntries_foreignToUnicode_4
       
   104 		},
       
   105 		{
       
   106 		0x9e,
       
   107 		0x9f,
       
   108 		keyedTables16OfIndexedTables16_indexedEntries_foreignToUnicode_5
       
   109 		}
       
   110 	};
       
   111 
       
   112 LOCAL_D const SCnvConversionData::SOneDirectionData::SRange::UData::SKeyedTable1616::SEntry keyedTable1616_unicodeToForeign_1[]=
       
   113 	{
       
   114 		{
       
   115 		0x0152,
       
   116 		0x8c
       
   117 		},
       
   118 		{
       
   119 		0x0153,
       
   120 		0x9c
       
   121 		},
       
   122 		{
       
   123 		0x0160,
       
   124 		0x8a
       
   125 		},
       
   126 		{
       
   127 		0x0161,
       
   128 		0x9a
       
   129 		},
       
   130 		{
       
   131 		0x0178,
       
   132 		0x9f
       
   133 		},
       
   134 		{
       
   135 		0x017d,
       
   136 		0x8e
       
   137 		},
       
   138 		{
       
   139 		0x017e,
       
   140 		0x9e
       
   141 		},
       
   142 		{
       
   143 		0x0192,
       
   144 		0x83
       
   145 		},
       
   146 		{
       
   147 		0x02c6,
       
   148 		0x88
       
   149 		},
       
   150 		{
       
   151 		0x02dc,
       
   152 		0x98
       
   153 		},
       
   154 		{
       
   155 		0x2013,
       
   156 		0x96
       
   157 		},
       
   158 		{
       
   159 		0x2014,
       
   160 		0x97
       
   161 		},
       
   162 		{
       
   163 		0x2018,
       
   164 		0x91
       
   165 		},
       
   166 		{
       
   167 		0x2019,
       
   168 		0x92
       
   169 		},
       
   170 		{
       
   171 		0x201a,
       
   172 		0x82
       
   173 		},
       
   174 		{
       
   175 		0x201c,
       
   176 		0x93
       
   177 		},
       
   178 		{
       
   179 		0x201d,
       
   180 		0x94
       
   181 		},
       
   182 		{
       
   183 		0x201e,
       
   184 		0x84
       
   185 		},
       
   186 		{
       
   187 		0x2020,
       
   188 		0x86
       
   189 		},
       
   190 		{
       
   191 		0x2021,
       
   192 		0x87
       
   193 		},
       
   194 		{
       
   195 		0x2022,
       
   196 		0x95
       
   197 		},
       
   198 		{
       
   199 		0x2026,
       
   200 		0x85
       
   201 		},
       
   202 		{
       
   203 		0x2030,
       
   204 		0x89
       
   205 		},
       
   206 		{
       
   207 		0x2039,
       
   208 		0x8b
       
   209 		},
       
   210 		{
       
   211 		0x203a,
       
   212 		0x9b
       
   213 		},
       
   214 		{
       
   215 		0x20ac,
       
   216 		0x80
       
   217 		},
       
   218 		{
       
   219 		0x2122,
       
   220 		0x99
       
   221 		}
       
   222 	};
       
   223 
       
   224 LOCAL_D const SCnvConversionData::SVariableByteData::SRange foreignVariableByteDataRanges[]=
       
   225 	{
       
   226 		{
       
   227 		0x00,
       
   228 		0xff,
       
   229 		0,
       
   230 		0
       
   231 		}
       
   232 	};
       
   233 
       
   234 LOCAL_D const SCnvConversionData::SOneDirectionData::SRange foreignToUnicodeDataRanges[]=
       
   235 	{
       
   236 		{
       
   237 		0x00,
       
   238 		0x7f,
       
   239 		SCnvConversionData::SOneDirectionData::SRange::EDirect,
       
   240 		0,
       
   241 		0,
       
   242 			{
       
   243 			0
       
   244 			}
       
   245 		},
       
   246 		{
       
   247 		0xa0,
       
   248 		0xff,
       
   249 		SCnvConversionData::SOneDirectionData::SRange::EDirect,
       
   250 		0,
       
   251 		0,
       
   252 			{
       
   253 			0
       
   254 			}
       
   255 		},
       
   256 		{
       
   257 		0x80,
       
   258 		0x9f,
       
   259 		SCnvConversionData::SOneDirectionData::SRange::EKeyedTable16OfIndexedTables16,
       
   260 		0,
       
   261 		0,
       
   262 			{
       
   263 			UData_SKeyedTable16OfIndexedTables16(keyedTables16OfIndexedTables16_keyedEntries_foreignToUnicode_1)
       
   264 			}
       
   265 		}
       
   266 	};
       
   267 
       
   268 LOCAL_D const SCnvConversionData::SOneDirectionData::SRange unicodeToForeignDataRanges[]=
       
   269 	{
       
   270 		{
       
   271 		0x0000,
       
   272 		0x007f,
       
   273 		SCnvConversionData::SOneDirectionData::SRange::EDirect,
       
   274 		1,
       
   275 		0,
       
   276 			{
       
   277 			0
       
   278 			}
       
   279 		},
       
   280 		{
       
   281 		0x00a0,
       
   282 		0x00ff,
       
   283 		SCnvConversionData::SOneDirectionData::SRange::EDirect,
       
   284 		1,
       
   285 		0,
       
   286 			{
       
   287 			0
       
   288 			}
       
   289 		},
       
   290 		{
       
   291 		0x0152,
       
   292 		0x2122,
       
   293 		SCnvConversionData::SOneDirectionData::SRange::EKeyedTable1616,
       
   294 		1,
       
   295 		0,
       
   296 			{
       
   297 			UData_SKeyedTable1616(keyedTable1616_unicodeToForeign_1)
       
   298 			}
       
   299 		}
       
   300 	};
       
   301 
       
   302 GLDEF_D const SCnvConversionData conversionData=
       
   303 	{
       
   304 	SCnvConversionData::EFixedBigEndian,
       
   305 		{
       
   306 		ARRAY_LENGTH(foreignVariableByteDataRanges),
       
   307 		foreignVariableByteDataRanges
       
   308 		},
       
   309 		{
       
   310 		ARRAY_LENGTH(foreignToUnicodeDataRanges),
       
   311 		foreignToUnicodeDataRanges
       
   312 		},
       
   313 		{
       
   314 		ARRAY_LENGTH(unicodeToForeignDataRanges),
       
   315 		unicodeToForeignDataRanges
       
   316 		},
       
   317 	NULL,
       
   318 	NULL
       
   319 	};
       
   320