charconvfw/charconvplugins/src/shared/CnvPictographShared.cpp
branchRCL_3
changeset 17 336bee5c2d35
parent 16 748ec5531811
equal deleted inserted replaced
16:748ec5531811 17:336bee5c2d35
   203 // -----------------------------------------------------------------------------
   203 // -----------------------------------------------------------------------------
   204 //
   204 //
   205 void CnvPictographShared::SetMethodsForPictograph(
   205 void CnvPictographShared::SetMethodsForPictograph(
   206         RArray<CnvUtilities::SMethod>& aArrayOfMethods, TOriginalCharset aOriginalCharset)
   206         RArray<CnvUtilities::SMethod>& aArrayOfMethods, TOriginalCharset aOriginalCharset)
   207     {
   207     {
   208     TInt ret = KErrNone;
       
   209     CnvUtilities::SMethod method;
   208     CnvUtilities::SMethod method;
   210     switch (aOriginalCharset)
   209     switch (aOriginalCharset)
   211         {
   210         {
   212         case ECharsetShiftJis:
   211         case ECharsetShiftJis:
   213             method.iNumberOfBytesAbleToConvert =
   212             method.iNumberOfBytesAbleToConvert =
   216                 DummyConvertToIntermediateBufferInPlace;
   215                 DummyConvertToIntermediateBufferInPlace;
   217             method.iConversionData =
   216             method.iConversionData =
   218                 &CnvShiftJisDirectmap::ConversionData();
   217                 &CnvShiftJisDirectmap::ConversionData();
   219             method.iNumberOfBytesPerCharacter = 2;
   218             method.iNumberOfBytesPerCharacter = 2;
   220             method.iNumberOfCoreBytesPerCharacter = 2;
   219             method.iNumberOfCoreBytesPerCharacter = 2;
   221             ret |= aArrayOfMethods.Append(method);
   220             aArrayOfMethods.Append(method);
   222             break;
   221             break;
   223         case ECharsetEucJp:
   222         case ECharsetEucJp:
   224             method.iNumberOfBytesAbleToConvert =
   223             method.iNumberOfBytesAbleToConvert =
   225                 CnvPictographShared::NumberOfBytesAbleToConvertToEucJpDirectMap1;
   224                 CnvPictographShared::NumberOfBytesAbleToConvertToEucJpDirectMap1;
   226             method.iConvertToIntermediateBufferInPlace =
   225             method.iConvertToIntermediateBufferInPlace =
   227                 CnvPictographShared::ConvertToPictographFromEucJpPackedInPlace;
   226                 CnvPictographShared::ConvertToPictographFromEucJpPackedInPlace;
   228             method.iConversionData =
   227             method.iConversionData =
   229                 &CnvShiftJisDirectmap::ConversionData();
   228                 &CnvShiftJisDirectmap::ConversionData();
   230             method.iNumberOfBytesPerCharacter = 2;
   229             method.iNumberOfBytesPerCharacter = 2;
   231             method.iNumberOfCoreBytesPerCharacter = 2;
   230             method.iNumberOfCoreBytesPerCharacter = 2;
   232             ret |= aArrayOfMethods.Append(method);
   231             aArrayOfMethods.Append(method);
   233             method.iNumberOfBytesAbleToConvert =
   232             method.iNumberOfBytesAbleToConvert =
   234                 CnvPictographShared::NumberOfBytesAbleToConvertToEucJpDirectMap2;
   233                 CnvPictographShared::NumberOfBytesAbleToConvertToEucJpDirectMap2;
   235             method.iConvertToIntermediateBufferInPlace =
   234             method.iConvertToIntermediateBufferInPlace =
   236                 CnvPictographShared::ConvertToPictographFromEucJpPackedInPlace;
   235                 CnvPictographShared::ConvertToPictographFromEucJpPackedInPlace;
   237             method.iConversionData =
   236             method.iConversionData =
   238                 &CnvShiftJisDirectmap::ConversionData();
   237                 &CnvShiftJisDirectmap::ConversionData();
   239             method.iNumberOfBytesPerCharacter = 3;
   238             method.iNumberOfBytesPerCharacter = 3;
   240             method.iNumberOfCoreBytesPerCharacter = 2;
   239             method.iNumberOfCoreBytesPerCharacter = 2;
   241             ret |= aArrayOfMethods.Append(method);
   240             aArrayOfMethods.Append(method);
   242             break;
   241             break;
   243         default:
   242         default:
   244             break;
   243             break;
   245         }
   244         }
   246     __ASSERT_DEBUG(!ret, User::Panic(_L("RArray append failure"), ret));
   245 
   247     // SAMPLE CODE
   246     // SAMPLE CODE
   248     // If this module needs to support escape sequence pictograph,
   247     // If this module needs to support escape sequence pictograph,
   249     // Remove the comment from the following code.
   248     // Remove the comment from the following code.
   250 
   249 
   251     // method.iNumberOfBytesAbleToConvert =
   250     // method.iNumberOfBytesAbleToConvert =
   268 //
   267 //
   269 void CnvPictographShared::SetCharacterSetsForPictograph(
   268 void CnvPictographShared::SetCharacterSetsForPictograph(
   270         RArray<CnvUtilities::SCharacterSet>& aArrayOfStates,
   269         RArray<CnvUtilities::SCharacterSet>& aArrayOfStates,
   271         TOriginalCharset aOriginalCharset)
   270         TOriginalCharset aOriginalCharset)
   272     {
   271     {
   273     TInt ret = KErrNone;
       
   274     CnvUtilities::SCharacterSet characterSet;
   272     CnvUtilities::SCharacterSet characterSet;
   275     switch (aOriginalCharset)
   273     switch (aOriginalCharset)
   276         {
   274         {
   277         case ECharsetShiftJis:
   275         case ECharsetShiftJis:
   278             // Append the character set for pictograph
   276             // Append the character set for pictograph
   279             characterSet.iConversionData =
   277             characterSet.iConversionData =
   280                 &CnvShiftJisDirectmap::ConversionData();
   278                 &CnvShiftJisDirectmap::ConversionData();
   281             characterSet.iConvertFromIntermediateBufferInPlace =
   279             characterSet.iConvertFromIntermediateBufferInPlace =
   282                 DummyConvertFromIntermediateBufferInPlace;
   280                 DummyConvertFromIntermediateBufferInPlace;
   283             characterSet.iEscapeSequence = &KNullDesC8;
   281             characterSet.iEscapeSequence = &KNullDesC8;
   284             ret |= aArrayOfStates.Append(characterSet);
   282             aArrayOfStates.Append(characterSet);
   285             break;
   283             break;
   286         case ECharsetEucJp:
   284         case ECharsetEucJp:
   287             // Append the character set for pictograph1
   285             // Append the character set for pictograph1
   288             characterSet.iConversionData = &CnvShiftJisDirectmap::ConversionData();
   286             characterSet.iConversionData = &CnvShiftJisDirectmap::ConversionData();
   289             characterSet.iConvertFromIntermediateBufferInPlace =
   287             characterSet.iConvertFromIntermediateBufferInPlace =
   290                 ConvertFromPictogaphToEucJpDirectmapInPlace;
   288                 ConvertFromPictogaphToEucJpDirectmapInPlace;
   291             characterSet.iEscapeSequence = &KNullDesC8;
   289             characterSet.iEscapeSequence = &KNullDesC8;
   292             ret |= aArrayOfStates.Append(characterSet);
   290             aArrayOfStates.Append(characterSet);
   293 
   291 
   294             // Append the character set for pictograph2
   292             // Append the character set for pictograph2
   295             characterSet.iConversionData = &CnvShiftJisDirectmap::ConversionData();
   293             characterSet.iConversionData = &CnvShiftJisDirectmap::ConversionData();
   296             characterSet.iConvertFromIntermediateBufferInPlace =
   294             characterSet.iConvertFromIntermediateBufferInPlace =
   297                 ConvertFromPictogaphToEucJpDirectmapInPlace;
   295                 ConvertFromPictogaphToEucJpDirectmapInPlace;
   298             characterSet.iEscapeSequence = &KNullDesC8;
   296             characterSet.iEscapeSequence = &KNullDesC8;
   299             ret |= aArrayOfStates.Append(characterSet);
   297             aArrayOfStates.Append(characterSet);
   300             break;
   298             break;
   301         default:
   299         default:
   302             break;
   300             break;
   303         }
   301         }
   304     __ASSERT_DEBUG(!ret, User::Panic(_L("RArray append failure"), ret));
       
   305     }
   302     }
   306 
   303 
   307 // -----------------------------------------------------------------------------
   304 // -----------------------------------------------------------------------------
   308 // CnvPictographShared::SetStatesForPictograph
   305 // CnvPictographShared::SetStatesForPictograph
   309 // It sets parameters to SState array. It called in ConvertToUnicode().
   306 // It sets parameters to SState array. It called in ConvertToUnicode().