charconvfw/charconvplugins/src/plugins/ISO2022JP1_2.CPP
branchRCL_3
changeset 55 336bee5c2d35
parent 54 748ec5531811
equal deleted inserted replaced
54:748ec5531811 55:336bee5c2d35
   103 		const TDesC8& aReplacementForUnconvertibleUnicodeCharacters, 
   103 		const TDesC8& aReplacementForUnconvertibleUnicodeCharacters, 
   104 		TDes8& aForeign, 
   104 		TDes8& aForeign, 
   105 		const TDesC16& aUnicode, 
   105 		const TDesC16& aUnicode, 
   106 		CCnvCharacterSetConverter::TArrayOfAscendingIndices& aIndicesOfUnconvertibleCharacters)
   106 		CCnvCharacterSetConverter::TArrayOfAscendingIndices& aIndicesOfUnconvertibleCharacters)
   107 	{
   107 	{
   108     TInt ret = KErrNone;
       
   109     RArray<CnvUtilities::SCharacterSet> characterSets;
   108     RArray<CnvUtilities::SCharacterSet> characterSets;
   110     if ( FeatureManager::FeatureSupported(KFeatureIdJapanesePicto) )
   109     if ( FeatureManager::FeatureSupported(KFeatureIdJapanesePicto) )
   111         {        
   110         {        
   112         CnvUtilities::SCharacterSet characterSet;
   111         CnvUtilities::SCharacterSet characterSet;
   113         characterSet.iConversionData=&CnvJisRoman::ConversionData();
   112         characterSet.iConversionData=&CnvJisRoman::ConversionData();
   114         characterSet.iConvertFromIntermediateBufferInPlace=ConvertFromJisRomanToJisInPlace;
   113         characterSet.iConvertFromIntermediateBufferInPlace=ConvertFromJisRomanToJisInPlace;
   115         characterSet.iEscapeSequence=&KLit8EscapeSequenceForJisRoman;
   114         characterSet.iEscapeSequence=&KLit8EscapeSequenceForJisRoman;
   116         ret |= characterSets.Append(characterSet);
   115         characterSets.Append(characterSet);
   117         characterSet.iConversionData=&CCnvCharacterSetConverter::AsciiConversionData();
   116         characterSet.iConversionData=&CCnvCharacterSetConverter::AsciiConversionData();
   118         characterSet.iConvertFromIntermediateBufferInPlace=ConvertFromAsciiToJisInPlace;
   117         characterSet.iConvertFromIntermediateBufferInPlace=ConvertFromAsciiToJisInPlace;
   119         characterSet.iEscapeSequence=&KLit8EscapeSequenceForAscii;
   118         characterSet.iEscapeSequence=&KLit8EscapeSequenceForAscii;
   120         ret |= characterSets.Append(characterSet);
   119         characterSets.Append(characterSet);
   121         characterSet.iConversionData=&CnvJisX0208::ConversionData();
   120         characterSet.iConversionData=&CnvJisX0208::ConversionData();
   122         characterSet.iConvertFromIntermediateBufferInPlace=ConvertFromJisX0208ToJisInPlace;
   121         characterSet.iConvertFromIntermediateBufferInPlace=ConvertFromJisX0208ToJisInPlace;
   123         characterSet.iEscapeSequence=&KLit8EscapeSequenceForJisX0208_1983;
   122         characterSet.iEscapeSequence=&KLit8EscapeSequenceForJisX0208_1983;
   124         ret |= characterSets.Append(characterSet);
   123         characterSets.Append(characterSet);
   125         characterSet.iConversionData=&CnvJisX0212::ConversionData();
   124         characterSet.iConversionData=&CnvJisX0212::ConversionData();
   126         characterSet.iConvertFromIntermediateBufferInPlace=ConvertFromJisX0212ToJisInPlace;
   125         characterSet.iConvertFromIntermediateBufferInPlace=ConvertFromJisX0212ToJisInPlace;
   127         characterSet.iEscapeSequence=&KLit8EscapeSequenceForJisX0212_1990;
   126         characterSet.iEscapeSequence=&KLit8EscapeSequenceForJisX0212_1990;
   128         ret |= characterSets.Append(characterSet);
   127         characterSets.Append(characterSet);
   129 
   128 
   130         SetCharacterSetsForPictograph(characterSets);
   129         SetCharacterSetsForPictograph(characterSets);
   131         }
   130         }
   132     else
   131     else
   133         {        
   132         {        
   134         CnvUtilities::SCharacterSet characterSet;
   133         CnvUtilities::SCharacterSet characterSet;
   135 	    characterSet.iConversionData=&CnvJisRoman::ConversionData();
   134 	    characterSet.iConversionData=&CnvJisRoman::ConversionData();
   136 	    characterSet.iConvertFromIntermediateBufferInPlace=ConvertFromJisRomanToJisInPlace;
   135 	    characterSet.iConvertFromIntermediateBufferInPlace=ConvertFromJisRomanToJisInPlace;
   137 	    characterSet.iEscapeSequence=&KLit8EscapeSequenceForJisRoman;
   136 	    characterSet.iEscapeSequence=&KLit8EscapeSequenceForJisRoman;
   138 	    ret |= characterSets.Append(characterSet);
   137         characterSets.Append(characterSet);
   139     	characterSet.iConversionData=&CCnvCharacterSetConverter::AsciiConversionData();
   138     	characterSet.iConversionData=&CCnvCharacterSetConverter::AsciiConversionData();
   140     	characterSet.iConvertFromIntermediateBufferInPlace=ConvertFromAsciiToJisInPlace;
   139     	characterSet.iConvertFromIntermediateBufferInPlace=ConvertFromAsciiToJisInPlace;
   141     	characterSet.iEscapeSequence=&KLit8EscapeSequenceForAscii;
   140     	characterSet.iEscapeSequence=&KLit8EscapeSequenceForAscii;
   142     	ret |= characterSets.Append(characterSet);
   141         characterSets.Append(characterSet);
   143     	characterSet.iConversionData=&CnvJisX0208::ConversionData();
   142     	characterSet.iConversionData=&CnvJisX0208::ConversionData();
   144     	characterSet.iConvertFromIntermediateBufferInPlace=ConvertFromJisX0208ToJisInPlace;
   143     	characterSet.iConvertFromIntermediateBufferInPlace=ConvertFromJisX0208ToJisInPlace;
   145     	characterSet.iEscapeSequence=&KLit8EscapeSequenceForJisX0208_1983;
   144     	characterSet.iEscapeSequence=&KLit8EscapeSequenceForJisX0208_1983;
   146     	ret |= characterSets.Append(characterSet);
   145         characterSets.Append(characterSet);
   147     	characterSet.iConversionData=&CnvJisX0212::ConversionData();
   146     	characterSet.iConversionData=&CnvJisX0212::ConversionData();
   148     	characterSet.iConvertFromIntermediateBufferInPlace=ConvertFromJisX0212ToJisInPlace;
   147     	characterSet.iConvertFromIntermediateBufferInPlace=ConvertFromJisX0212ToJisInPlace;
   149     	characterSet.iEscapeSequence=&KLit8EscapeSequenceForJisX0212_1990;
   148     	characterSet.iEscapeSequence=&KLit8EscapeSequenceForJisX0212_1990;
   150     	ret |= characterSets.Append(characterSet);
   149         characterSets.Append(characterSet);
   151         }
   150         }
   152     __ASSERT_DEBUG(!ret, User::Panic(_L("RArray append failure"), ret));
       
   153 	TUint notUsed;
   151 	TUint notUsed;
   154 	TUint inputConversionFlags=CCnvCharacterSetConverter::EInputConversionFlagMustEndInDefaultCharacterSet;
   152 	TUint inputConversionFlags=CCnvCharacterSetConverter::EInputConversionFlagMustEndInDefaultCharacterSet;
   155     TInt unconvert = CnvUtilities::ConvertFromUnicode(aDefaultEndiannessOfForeignCharacters, aReplacementForUnconvertibleUnicodeCharacters, aForeign, aUnicode, aIndicesOfUnconvertibleCharacters, 
   153     TInt unconvert = CnvUtilities::ConvertFromUnicode(aDefaultEndiannessOfForeignCharacters, aReplacementForUnconvertibleUnicodeCharacters, aForeign, aUnicode, aIndicesOfUnconvertibleCharacters, 
   156         characterSets.Array(),notUsed,inputConversionFlags);
   154         characterSets.Array(),notUsed,inputConversionFlags);
   157 
   155 
   203 	FeatureManager::InitializeLibL();
   201 	FeatureManager::InitializeLibL();
   204 	}
   202 	}
   205 
   203 
   206 const TImplementationProxy ImplementationTable[] = 
   204 const TImplementationProxy ImplementationTable[] = 
   207 	{
   205 	{
   208 #ifdef S60_TEST
   206 		IMPLEMENTATION_PROXY_ENTRY(0x100066A3,	CISO2022JP1ConverterImpl::NewL)
   209     IMPLEMENTATION_PROXY_ENTRY(0x01000009,  CISO2022JP1ConverterImpl::NewL)
       
   210 #else
       
   211 	IMPLEMENTATION_PROXY_ENTRY(0x100066A3,	CISO2022JP1ConverterImpl::NewL)
       
   212 #endif	
       
   213 	};
   207 	};
   214 
   208 
   215 EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
   209 EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
   216 	{
   210 	{
   217 	aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
   211 	aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);