Catchup to latest Symbian^4 GCC_SURGE
authorWilliam Roberts <williamr@symbian.org>
Thu, 22 Jul 2010 16:43:58 +0100
branchGCC_SURGE
changeset 92 8dd1c4fde3d7
parent 65 38e4cecf6e95 (current diff)
parent 91 d20751edaa5f (diff)
Catchup to latest Symbian^4
locales/loce32/Coltab/DISTRIBUTION.POLICY
locales/loce32/region/src/region_gb.cpp
locales/loce32/rom/Elocl.iby
uigraphics/Icons/data/Icons.zip
uigraphics/palette/bmarm/DISTRIBUTION.POLICY
uigraphics/palette/bwins/DISTRIBUTION.POLICY
uigraphics/palette/group/DISTRIBUTION.POLICY
uigraphics/palette/inc/DISTRIBUTION.POLICY
uigraphics/palette/src/DISTRIBUTION.POLICY
--- a/fontsupport/fontprovider/Src/FontProvider.cpp	Wed Jun 16 14:20:09 2010 +0100
+++ b/fontsupport/fontprovider/Src/FontProvider.cpp	Thu Jul 22 16:43:58 2010 +0100
@@ -234,6 +234,12 @@
 //end                                    
 
 
+#define EElafLFLoReLangs   (  EElafLangs \
+                               | EChineseLangsPRCLF)
+
+
+#define EElafLFHiReLangs   (  EElafLangs \
+                               | EChineseLangsPRCHiResLF)
 // Wildcard value for langs (font is to be used for all languages)
 #define EAnyLangs           0xffffffff
 const TInt KAknFontStylesSupported(3);
@@ -334,6 +340,28 @@
     }
 CDL_ARRAY_END(SHeightRequest, latinHeightRequestArray);
 
+CDL_ARRAY_START( SHeightRequest, latinLFHeightRequestArray)
+    {
+        {  2,  2 }, 
+        { 10,  8 }, 
+        { 11,  9 }, 
+        { 13, 11 }, 
+        { 14, 12 }, 
+        { 14, 13 }, 
+        { 16, 14 }, 
+        { 18, 15 }, 
+        { 19, 16 }, 
+        { 24, 21 }, 
+        { 25, 22 }, 
+        { 26, 24 }, 
+        { 27, 25 }, 
+        { 28, 26 }, 
+        { 29, 26 }, 
+        { 30, 27 }, 
+        { 79, 72 }, 
+        { 218, 200 }, 
+    }
+CDL_ARRAY_END(SHeightRequest, latinLFHeightRequestArray);
 
 CDL_ARRAY_START( SHeightRequest, agfaDigitalHeightRequestArray)
     {
@@ -580,7 +608,9 @@
         { EChineseLangsTaiwanHKHiResLF, LIT_AS_DESC_PTR(KS60TCHKHRSANSRLF) },
         { EJapaneseLFLangs, LIT_AS_DESC_PTR(KS60JAPSANSRLF) },
         { EKoreanLFLangs, LIT_AS_DESC_PTR(KS60KORSANSRLF) },
-        //end
+        { EElafLFHiReLangs, LIT_AS_DESC_PTR(KS60SCHRSANSRLF) },
+        { EElafLFLoReLangs, LIT_AS_DESC_PTR(KS60SCSANSRLF) },
+        //end        
         { EAnyLangs, LIT_AS_DESC_PTR(KS60Sans) } // Ultimate fallback
     }
 CDL_ARRAY_END(SAknLanguagesAndTypefaceTableLine, languagesAndTypefaceTable);
@@ -764,6 +794,38 @@
     { EAknFontCategoryTitle,        EAny, EAny, EAny, EAny, EAny, ENotBold, EAntialiase,    EKoreanLFLangs, LIT_AS_DESC_PTR(KS60KORSANSTTLSMBLDLF), LIT_AS_DESC_PTR(KS60Group), &koreanVectorFontBaselineArray, &koreanLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
     { EAknFontCategoryAny,          8, 17,      EAny, EAny, EAny, ENotBold, ENotAntialiase, EKoreanLFLangs, LIT_AS_DESC_PTR(KS60Korean), LIT_AS_DESC_PTR(KS60Group), &koreanVectorFontBaselineArray, &koreanLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
     { EAknFontCategoryAny,          EAny, EAny, EAny, EAny, EAny, ENotBold, EAntialiase,    EKoreanLFLangs, LIT_AS_DESC_PTR(KS60Korean), LIT_AS_DESC_PTR(KS60Group), &koreanVectorFontBaselineArray, &koreanLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+//western SC link
+    //stroke font
+    { EAknFontCategorySecondary,    10,   15,   EStrokeWeightNormal, 0,    EAny, ENotBold, ENotAntialiase, EElafLFLoReLangs, LIT_AS_DESC_PTR(KS60SCSANSRLF), LIT_AS_DESC_PTR(KS60Group), NULL, &latinLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+    { EAknFontCategorySecondary,    EAny, EAny, EStrokeWeightNormal, EAny, EAny, ENotBold, EAntialiase,    EElafLFLoReLangs, LIT_AS_DESC_PTR(KS60SCSANSRLF), LIT_AS_DESC_PTR(KS60Group), NULL, &latinLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+    { EAknFontCategorySecondary,    10,   15,   EStrokeWeightBold,   0,    EAny, ENotBold,    ENotAntialiase, EElafLFLoReLangs, LIT_AS_DESC_PTR(KS60SCSANSSBLF), LIT_AS_DESC_PTR(KS60Group), NULL, &latinLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+    { EAknFontCategorySecondary,    EAny, EAny, EStrokeWeightBold,   EAny, EAny, ENotBold,    EAntialiase,    EElafLFLoReLangs, LIT_AS_DESC_PTR(KS60SCSANSSBLF), LIT_AS_DESC_PTR(KS60Group), NULL, &latinLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+    { EAknFontCategoryPrimarySmall, 10,   15,   EAny,                0,    EAny, ENotBold,    ENotAntialiase, EElafLFLoReLangs, LIT_AS_DESC_PTR(KS60SCSANSSBLF), LIT_AS_DESC_PTR(KS60Group), NULL, &latinLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+    { EAknFontCategoryPrimarySmall, EAny, EAny, EAny,                EAny, EAny, ENotBold,    EAntialiase,    EElafLFLoReLangs, LIT_AS_DESC_PTR(KS60SCSANSSBLF), LIT_AS_DESC_PTR(KS60Group), NULL, &latinLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+    { EAknFontCategoryPrimary,      10,   15,   EAny,                0,    EAny, ENotBold,    ENotAntialiase, EElafLFLoReLangs, LIT_AS_DESC_PTR(KS60SCSANSSBLF), LIT_AS_DESC_PTR(KS60Group), NULL, &latinLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+    { EAknFontCategoryPrimary,      EAny, EAny, EAny,                EAny, EAny, ENotBold,    EAntialiase,    EElafLFLoReLangs, LIT_AS_DESC_PTR(KS60SCSANSSBLF), LIT_AS_DESC_PTR(KS60Group), NULL, &latinLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+    { EAknFontCategoryTitle,        10,   17,   EAny,                0,    EAny, ENotBold, ENotAntialiase, EElafLFLoReLangs, LIT_AS_DESC_PTR(KS60SCSANSTTLSMBLDLF), LIT_AS_DESC_PTR(KS60Group), NULL, &latinLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+    { EAknFontCategoryTitle,        EAny, EAny, EAny,                EAny, EAny, ENotBold, EAntialiase,  EElafLFLoReLangs, LIT_AS_DESC_PTR(KS60SCSANSTTLSMBLDLF), LIT_AS_DESC_PTR(KS60Group), NULL, &latinLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+    { EAknFontCategoryAny,          10,   15,   EStrokeWeightNormal, 0,    EAny, ENotBold, ENotAntialiase, EElafLFLoReLangs, LIT_AS_DESC_PTR(KS60SCSANSRLF), LIT_AS_DESC_PTR(KS60Group), NULL, &latinLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+    { EAknFontCategoryAny,          EAny, EAny, EStrokeWeightNormal, EAny, EAny, ENotBold, EAntialiase, EElafLFLoReLangs, LIT_AS_DESC_PTR(KS60SCSANSRLF), LIT_AS_DESC_PTR(KS60Group), NULL, &latinLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+    { EAknFontCategoryAny,          10,   15,   EStrokeWeightBold,   0,    EAny, ENotBold,    ENotAntialiase, EElafLFLoReLangs, LIT_AS_DESC_PTR(KS60SCSANSSBLF), LIT_AS_DESC_PTR(KS60Group), NULL, &latinLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+    { EAknFontCategoryAny,          EAny, EAny, EStrokeWeightBold,   EAny, EAny, ENotBold,    EAntialiase, EElafLFLoReLangs, LIT_AS_DESC_PTR(KS60SCSANSSBLF), LIT_AS_DESC_PTR(KS60Group), NULL, &latinLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+
+    //hi-res fonts
+    { EAknFontCategorySecondary,    10,   15,   EStrokeWeightNormal, 0,    EAny, ENotBold, ENotAntialiase, EElafLFHiReLangs, LIT_AS_DESC_PTR(KS60SCSANSRLF), LIT_AS_DESC_PTR(KS60Group), NULL, &latinLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+    { EAknFontCategorySecondary,    EAny, EAny, EStrokeWeightNormal, EAny, EAny, ENotBold, EAntialiase,    EElafLFHiReLangs, LIT_AS_DESC_PTR(KS60SCSANSRLF), LIT_AS_DESC_PTR(KS60Group), NULL, &latinLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+    { EAknFontCategorySecondary,    10,   15,   EStrokeWeightBold,   0,    EAny, ENotBold,    ENotAntialiase, EElafLFHiReLangs, LIT_AS_DESC_PTR(KS60SCSANSSBLF), LIT_AS_DESC_PTR(KS60Group), NULL, &latinLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+    { EAknFontCategorySecondary,    EAny, EAny, EStrokeWeightBold,   EAny, EAny, ENotBold,    EAntialiase,    EElafLFHiReLangs, LIT_AS_DESC_PTR(KS60SCSANSSBLF), LIT_AS_DESC_PTR(KS60Group), NULL, &latinLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+    { EAknFontCategoryPrimarySmall, 10,   15,   EAny,                0,    EAny, ENotBold,    ENotAntialiase, EElafLFHiReLangs, LIT_AS_DESC_PTR(KS60SCSANSSBLF), LIT_AS_DESC_PTR(KS60Group), NULL, &latinLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+    { EAknFontCategoryPrimarySmall, EAny, EAny, EAny,                EAny, EAny, ENotBold,    EAntialiase,    EElafLFHiReLangs, LIT_AS_DESC_PTR(KS60SCSANSSBLF), LIT_AS_DESC_PTR(KS60Group), NULL, &latinLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+    { EAknFontCategoryPrimary,      10,   15,   EAny,                0,    EAny, ENotBold,    ENotAntialiase, EElafLFHiReLangs, LIT_AS_DESC_PTR(KS60SCSANSSBLF), LIT_AS_DESC_PTR(KS60Group), NULL, &latinLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+    { EAknFontCategoryPrimary,      EAny, EAny, EAny,                EAny, EAny, ENotBold,    EAntialiase,    EElafLFHiReLangs, LIT_AS_DESC_PTR(KS60SCSANSSBLF), LIT_AS_DESC_PTR(KS60Group), NULL, &latinLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+    { EAknFontCategoryTitle,        10,   17,   EAny,                0,    EAny, ENotBold, ENotAntialiase, EElafLFHiReLangs, LIT_AS_DESC_PTR(KS60SCSANSTTLSMBLDLF), LIT_AS_DESC_PTR(KS60Group), NULL, &latinLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+    { EAknFontCategoryTitle,        EAny, EAny, EAny,                EAny, EAny, ENotBold, EAntialiase,  EElafLFHiReLangs, LIT_AS_DESC_PTR(KS60SCSANSTTLSMBLDLF), LIT_AS_DESC_PTR(KS60Group), NULL, &latinLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+    { EAknFontCategoryAny,          10,   15,   EStrokeWeightNormal, 0,    EAny, ENotBold, ENotAntialiase, EElafLFHiReLangs, LIT_AS_DESC_PTR(KS60SCSANSRLF), LIT_AS_DESC_PTR(KS60Group), NULL, &latinLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+    { EAknFontCategoryAny,          EAny, EAny, EStrokeWeightNormal, EAny, EAny, ENotBold, EAntialiase, EElafLFHiReLangs, LIT_AS_DESC_PTR(KS60SCSANSRLF), LIT_AS_DESC_PTR(KS60Group), NULL, &latinLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+    { EAknFontCategoryAny,          10,   15,   EStrokeWeightBold,   0,    EAny, ENotBold,    ENotAntialiase, EElafLFHiReLangs, LIT_AS_DESC_PTR(KS60SCSANSSBLF), LIT_AS_DESC_PTR(KS60Group), NULL, &latinLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+    { EAknFontCategoryAny,          EAny, EAny, EStrokeWeightBold,   EAny, EAny, ENotBold,    EAntialiase, EElafLFHiReLangs, LIT_AS_DESC_PTR(KS60SCSANSSBLF), LIT_AS_DESC_PTR(KS60Group), NULL, &latinLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
 //end
     };
 // ============================ GLOBAL FUNCTIONS ========================================
@@ -925,7 +987,18 @@
         }
     else
         {
-        requiredLangs |= EElafLangs;    
+        if(fLinkedFonts && fHiResFonts)
+            {
+            requiredLangs |= EElafLFHiReLangs;
+            }
+        else if(fLinkedFonts)
+            {
+            requiredLangs |= EElafLFLoReLangs;
+            }
+        else
+            {
+            requiredLangs |= EElafLangs;
+            }
         }
 
     return requiredLangs;
@@ -2236,6 +2309,10 @@
     _LIT(KJAPStop, "[JAP_LINK_STOP]");
     _LIT(KKORStart, "[KOR_LINK_START]");
     _LIT(KKORStop, "[KOR_LINK_STOP]");
+    _LIT(KWESTLINKLRStart, "[WESTERN_LINKLR_START]");
+    _LIT(KWESTLINKLRStop, "[WESTERN_LINKLR_STOP]");
+    _LIT(KWESTLINKHRStart, "[WESTERN_LINKHR_START]");
+    _LIT(KWESTLINKHRStop, "[WESTERN_LINKHR_STOP]");    
 
     TInt ret = KErrNone;
     RPointerArray<SLinkedFontDetails> fontfiles;
@@ -2309,7 +2386,23 @@
             tfile.Seek(ESeekStart);
             ret = DoPopulateAndCreateLinkFontsL(tfile, startTok, stopTok);
             }			
-        
+        if((!fChinese) && (!fKorean) && (!fJapanese) )//western linked fonts
+            {
+            if(fHiResFonts)
+                {
+                startTok.Copy(KWESTLINKHRStart);
+                stopTok.Copy(KWESTLINKHRStop);
+                tfile.Seek(ESeekStart);
+                ret = DoPopulateAndCreateLinkFontsL(tfile, startTok, stopTok);
+                }
+            else
+                {
+                startTok.Copy(KWESTLINKLRStart);
+                stopTok.Copy(KWESTLINKLRStop);
+                tfile.Seek(ESeekStart);
+                ret = DoPopulateAndCreateLinkFontsL(tfile, startTok, stopTok);                            
+                }
+            }        
         }
         
 
@@ -2364,6 +2457,8 @@
             ref +=KAknFontStylesSupported;
         if(fKorean)
             ref +=KAknFontStylesSupported;
+        if((!fChinese) && (!fKorean) && (!fJapanese))
+            ref +=KAknFontStylesSupported;//western linked fonts
         }
     for (TInt i = 0; i < noOfTypefaces; i++)
         {
@@ -2431,6 +2526,25 @@
                     }
 
                 }
+          if (!fChinese && !fJapanese && !fKorean && fHiResFonts)
+              {
+            if (typefaceInfo.iTypeface.iName.Compare(KS60SCHRSANSRLF)==0||
+                typefaceInfo.iTypeface.iName.Compare(KS60SCHRSANSSBLF)==0||
+                typefaceInfo.iTypeface.iName.Compare(KS60SCHRSANSTTLSMBLDLF)==0)
+                  {
+                  files++;
+                  }
+
+              }
+          else if (!fChinese && !fJapanese && !fKorean)
+              {
+            if (typefaceInfo.iTypeface.iName.Compare(KS60SCSANSRLF)==0||
+                typefaceInfo.iTypeface.iName.Compare(KS60SCSANSSBLF)==0||
+                typefaceInfo.iTypeface.iName.Compare(KS60SCSANSTTLSMBLDLF)==0)
+                  {
+                  files++;
+                 }
+              }                          
             }
         }
     if (files && (ref == files) )
Binary file fontsupport/fontprovider/data/link.ini has changed
--- a/fontsupport/fontutils/group/typefaces_s60_Japanese.xml	Wed Jun 16 14:20:09 2010 +0100
+++ b/fontsupport/fontutils/group/typefaces_s60_Japanese.xml	Thu Jul 22 16:43:58 2010 +0100
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <typeface_information >
     <typeface_set>
-        <typeface_mapping role="Primary" family="S60JAPSANSRLF" weight="bold"></typeface_mapping>
+        <typeface_mapping role="Primary" family="S60JAPSANSSBLF" weight="bold"></typeface_mapping>
         <typeface_mapping role="Secondary" family="S60JAPSANSRLF"></typeface_mapping>
         <typeface_mapping role="Title" family="S60JAPSANSTTLSMBLDLF"></typeface_mapping>
-        <typeface_mapping role="PrimarySmall" family="S60JAPSANSRLF" weight="bold"></typeface_mapping>
+        <typeface_mapping role="PrimarySmall" family="S60JAPSANSSBLF" weight="bold"></typeface_mapping>
         <typeface_mapping role="Digital" family="Series 60 ZDigi"></typeface_mapping>
     </typeface_set>
 </typeface_information>
\ No newline at end of file
--- a/fontsupport/fontutils/group/typefaces_s60_Korean.xml	Wed Jun 16 14:20:09 2010 +0100
+++ b/fontsupport/fontutils/group/typefaces_s60_Korean.xml	Thu Jul 22 16:43:58 2010 +0100
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <typeface_information >
     <typeface_set>
-        <typeface_mapping role="Primary" family="S60KORSANSRLF" weight="bold"></typeface_mapping>
+        <typeface_mapping role="Primary" family="S60KORSANSSBLF" weight="bold"></typeface_mapping>
         <typeface_mapping role="Secondary" family="S60KORSANSRLF"></typeface_mapping>
         <typeface_mapping role="Title" family="S60KORSANSTTLSMBLDLF"></typeface_mapping>
-        <typeface_mapping role="PrimarySmall" family="S60KORSANSRLF" weight="bold"></typeface_mapping>
+        <typeface_mapping role="PrimarySmall" family="S60KORSANSSBLF" weight="bold"></typeface_mapping>
         <typeface_mapping role="Digital" family="Series 60 ZDigi"></typeface_mapping>
     </typeface_set>
 </typeface_information>
\ No newline at end of file
--- a/fontsupport/fontutils/group/typefaces_s60_Simplified_Chinese.xml	Wed Jun 16 14:20:09 2010 +0100
+++ b/fontsupport/fontutils/group/typefaces_s60_Simplified_Chinese.xml	Thu Jul 22 16:43:58 2010 +0100
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <typeface_information >
     <typeface_set>
-        <typeface_mapping role="Primary" family="S60SCHRSANSRLF" weight="bold"></typeface_mapping>
+        <typeface_mapping role="Primary" family="S60SCHRSANSSBLF" weight="bold"></typeface_mapping>
         <typeface_mapping role="Secondary" family="S60SCHRSANSRLF"></typeface_mapping>
         <typeface_mapping role="Title" family="S60SCHRSANSTTLSMBLDLF"></typeface_mapping>
-        <typeface_mapping role="PrimarySmall" family="S60SCHRSANSRLF" weight="bold"></typeface_mapping>
+        <typeface_mapping role="PrimarySmall" family="S60SCHRSANSSBLF" weight="bold"></typeface_mapping>
         <typeface_mapping role="Digital" family="Series 60 ZDigi"></typeface_mapping>
     </typeface_set>
 </typeface_information>
\ No newline at end of file
--- a/fontsupport/fontutils/group/typefaces_s60_Simplified_Traditional.xml	Wed Jun 16 14:20:09 2010 +0100
+++ b/fontsupport/fontutils/group/typefaces_s60_Simplified_Traditional.xml	Thu Jul 22 16:43:58 2010 +0100
@@ -1,52 +1,52 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <typeface_information>
     <typeface_set language="zh" country="TW">
-        <typeface_mapping role="Primary" family="S60TCHKHRSANSRLF" weight="bold"></typeface_mapping>
+        <typeface_mapping role="Primary" family="S60TCHKHRSANSSBLF" weight="bold"></typeface_mapping>
         <typeface_mapping role="Secondary" family="S60TCHKHRSANSRLF"></typeface_mapping>
         <typeface_mapping role="Title" family="S60TCHKHRSANSTTLSMBLDLF"></typeface_mapping>
-        <typeface_mapping role="PrimarySmall" family="S60TCHKHRSANSRLF" weight="bold"></typeface_mapping>
+        <typeface_mapping role="PrimarySmall" family="S60TCHKHRSANSSBLF" weight="bold"></typeface_mapping>
         <typeface_mapping role="Digital" family="Series 60 ZDigi"></typeface_mapping>
     </typeface_set>
     <typeface_set language="zh" country="HK">
-        <typeface_mapping role="Primary" family="S60TCHKHRSANSRLF" weight="bold"></typeface_mapping>
+        <typeface_mapping role="Primary" family="S60TCHKHRSANSSBLF" weight="bold"></typeface_mapping>
         <typeface_mapping role="Secondary" family="S60TCHKHRSANSRLF"></typeface_mapping>
         <typeface_mapping role="Title" family="S60TCHKHRSANSTTLSMBLDLF"></typeface_mapping>
-        <typeface_mapping role="PrimarySmall" family="S60TCHKHRSANSRLF" weight="bold"></typeface_mapping>
+        <typeface_mapping role="PrimarySmall" family="S60TCHKHRSANSSBLF" weight="bold"></typeface_mapping>
         <typeface_mapping role="Digital" family="Series 60 ZDigi"></typeface_mapping>
     </typeface_set>
     <typeface_set language="zh" country="CN">
-        <typeface_mapping role="Primary" family="S60SCHRSANSRLF" weight="bold"></typeface_mapping>
+        <typeface_mapping role="Primary" family="S60SCHRSANSSBLF" weight="bold"></typeface_mapping>
         <typeface_mapping role="Secondary" family="S60SCHRSANSRLF"></typeface_mapping>
         <typeface_mapping role="Title" family="S60SCHRSANSTTLSMBLDLF"></typeface_mapping>
-        <typeface_mapping role="PrimarySmall" family="S60SCHRSANSRLF" weight="bold"></typeface_mapping>
+        <typeface_mapping role="PrimarySmall" family="S60SCHRSANSSBLF" weight="bold"></typeface_mapping>
         <typeface_mapping role="Digital" family="Series 60 ZDigi"></typeface_mapping>
     </typeface_set>
     <typeface_set language="en" country="CN">
-        <typeface_mapping role="Primary" family="S60SCHRSANSRLF" weight="bold"></typeface_mapping>
+        <typeface_mapping role="Primary" family="S60SCHRSANSSBLF" weight="bold"></typeface_mapping>
         <typeface_mapping role="Secondary" family="S60SCHRSANSRLF"></typeface_mapping>
         <typeface_mapping role="Title" family="S60SCHRSANSTTLSMBLDLF"></typeface_mapping>
-        <typeface_mapping role="PrimarySmall" family="S60SCHRSANSRLF" weight="bold"></typeface_mapping>
+        <typeface_mapping role="PrimarySmall" family="S60SCHRSANSSBLF" weight="bold"></typeface_mapping>
         <typeface_mapping role="Digital" family="Series 60 ZDigi"></typeface_mapping>
     </typeface_set>
     <typeface_set language="en" country="HK">
-        <typeface_mapping role="Primary" family="S60TCHKHRSANSRLF" weight="bold"></typeface_mapping>
+        <typeface_mapping role="Primary" family="S60TCHKHRSANSSBLF" weight="bold"></typeface_mapping>
         <typeface_mapping role="Secondary" family="S60TCHKHRSANSRLF"></typeface_mapping>
         <typeface_mapping role="Title" family="S60TCHKHRSANSTTLSMBLDLF"></typeface_mapping>
-        <typeface_mapping role="PrimarySmall" family="S60TCHKHRSANSRLF" weight="bold"></typeface_mapping>
+        <typeface_mapping role="PrimarySmall" family="S60TCHKHRSANSSBLF" weight="bold"></typeface_mapping>
         <typeface_mapping role="Digital" family="Series 60 ZDigi"></typeface_mapping>
     </typeface_set>
     <typeface_set language="en" country="TW">
-        <typeface_mapping role="Primary" family="S60TCHKHRSANSRLF" weight="bold"></typeface_mapping>
+        <typeface_mapping role="Primary" family="S60TCHKHRSANSSBLF" weight="bold"></typeface_mapping>
         <typeface_mapping role="Secondary" family="S60TCHKHRSANSRLF"></typeface_mapping>
         <typeface_mapping role="Title" family="S60TCHKHRSANSTTLSMBLDLF"></typeface_mapping>
-        <typeface_mapping role="PrimarySmall" family="S60TCHKHRSANSRLF" weight="bold"></typeface_mapping>
+        <typeface_mapping role="PrimarySmall" family="S60TCHKHRSANSSBLF" weight="bold"></typeface_mapping>
         <typeface_mapping role="Digital" family="Series 60 ZDigi"></typeface_mapping>
     </typeface_set>
     <typeface_set>
-        <typeface_mapping role="Primary" family="S60SCHRSANSRLF" weight="bold"></typeface_mapping>
+        <typeface_mapping role="Primary" family="S60SCHRSANSSBLF" weight="bold"></typeface_mapping>
         <typeface_mapping role="Secondary" family="S60SCHRSANSRLF"></typeface_mapping>
         <typeface_mapping role="Title" family="S60SCHRSANSTTLSMBLDLF"></typeface_mapping>
-        <typeface_mapping role="PrimarySmall" family="S60SCHRSANSRLF" weight="bold"></typeface_mapping>
+        <typeface_mapping role="PrimarySmall" family="S60SCHRSANSSBLF" weight="bold"></typeface_mapping>
         <typeface_mapping role="Digital" family="Series 60 ZDigi"></typeface_mapping>
     </typeface_set>
 </typeface_information>
\ No newline at end of file
--- a/fontsupport/fontutils/group/typefaces_s60_Traditional_Chinese.xml	Wed Jun 16 14:20:09 2010 +0100
+++ b/fontsupport/fontutils/group/typefaces_s60_Traditional_Chinese.xml	Thu Jul 22 16:43:58 2010 +0100
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <typeface_information >
     <typeface_set>
-        <typeface_mapping role="Primary" family="S60TCHKHRSANSRLF" weight="bold"></typeface_mapping>
+        <typeface_mapping role="Primary" family="S60TCHKHRSANSSBLF" weight="bold"></typeface_mapping>
         <typeface_mapping role="Secondary" family="S60TCHKHRSANSRLF"></typeface_mapping>
         <typeface_mapping role="Title" family="S60TCHKHRSANSTTLSMBLDLF"></typeface_mapping>
-        <typeface_mapping role="PrimarySmall" family="S60TCHKHRSANSRLF" weight="bold"></typeface_mapping>
+        <typeface_mapping role="PrimarySmall" family="S60TCHKHRSANSSBLF" weight="bold"></typeface_mapping>
         <typeface_mapping role="Digital" family="Series 60 ZDigi"></typeface_mapping>
     </typeface_set>
 </typeface_information>
\ No newline at end of file
--- a/fontsupport/fontutils/rom/fonts_variant.iby	Wed Jun 16 14:20:09 2010 +0100
+++ b/fontsupport/fontutils/rom/fonts_variant.iby	Thu Jul 22 16:43:58 2010 +0100
@@ -23,8 +23,8 @@
  #include <iculayoutengine.iby>
 #endif
 
-// Rasteriser always included
-ECOM_PLUGIN(ityperast.dll, ityperast.RSC)
+// include ityperast.iby
+#include <ityperast.iby>
 
 // Include proper font set based on configuration
 #ifdef __CHINESE
@@ -88,11 +88,32 @@
  data=ABI_DIR\BUILD_DIR\Series60Korean.ttf                                                   resource\Fonts\Series60Korean.ttf
 
 #else  // Must be western
-
+#ifndef FF_LINKED_FONTS_CHINESE
  data=ABI_DIR\BUILD_DIR\s60snr.ttf                                                   resource\Fonts\s60snr.ttf
  data=ABI_DIR\BUILD_DIR\s60ssb.ttf                                                   resource\Fonts\s60ssb.ttf
  data=ABI_DIR\BUILD_DIR\s60tsb.ttf                                                   resource\Fonts\s60tsb.ttf
+#else
+  #ifdef FF_CHINESE_FONTS_HIRES
 
+   // HiRes fonts only used in high resolutions
+   #if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH) \
+    || defined(__LAYOUT_320_480) || defined(__LAYOUT_320_480_TOUCH) \
+    || defined(__LAYOUT_480_320) || defined(__LAYOUT_480_320_TOUCH) \
+    || defined(__LAYOUT_480_640) || defined(__LAYOUT_480_640_TOUCH) \
+    || defined(__LAYOUT_640_480) || defined(__LAYOUT_640_480_TOUCH) \
+    || defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3)
+
+    // Reso OK, include HiRes font
+    data=ABI_DIR\BUILD_DIR\S60SC_C.ttf                                           resource\Fonts\S60SC_C.ttf
+   #else
+    // Invalid configuration: HiRes fonts enabled in low or unknown resolution device
+    #error "Feature configuration error: Chinese HiRes fonts not supported in this resolution!"
+   #endif
+
+  #else  // Not FF_CHINESE_FONTS_HIRES - use regular stroke
+    data=ABI_DIR\BUILD_DIR\S60SC.ccc                                            resource\Fonts\S60SC.ccc
+  #endif
+#endif
 #endif //__CHINESE
 
  #ifdef FF_LINKED_FONTS_CHINESE
@@ -133,7 +154,7 @@
 
 #else  // Must be western
 
-data=ABI_DIR\BUILD_DIR\typefaces_s60_English.xml                    			resource\Fonts\typefaces.xml   
+data=ABI_DIR\BUILD_DIR\typefaces_s60_Simplified_Chinese.xml   				resource\Fonts\typefaces.xml           
 
 #endif //__CHINESE
 
--- a/layouts/aknlayout2/LayoutMetaData/layoutmetadata.cdl.custom.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/LayoutMetaData/layoutmetadata.cdl.custom.h	Thu Jul 22 16:43:58 2010 +0100
@@ -21,7 +21,7 @@
 #ifndef LAYOUTMETADATA_CDL_CUSTOM_H
 #define LAYOUTMETADATA_CDL_CUSTOM_H
 
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
 #include "LayoutMetaData.cdl.common.h"
 
 namespace Layout_Meta_Data
--- a/layouts/aknlayout2/displaylayoutmetrics/displaylayoutmetrics.cdl.custom.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/displaylayoutmetrics/displaylayoutmetrics.cdl.custom.h	Thu Jul 22 16:43:58 2010 +0100
@@ -21,7 +21,7 @@
 #ifndef DISPLAYLAYOUTMETRICS_CDL_CUSTOM_H
 #define DISPLAYLAYOUTMETRICS_CDL_CUSTOM_H
 
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
 #include "displaylayoutmetrics.cdl.common.h"
 
 namespace Display_Layout_Metrics
--- a/layouts/aknlayout2/generated/Nhd_akn_app/aknlayoutscalable_apps.cdl.custom.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated/Nhd_akn_app/aknlayoutscalable_apps.cdl.custom.h	Thu Jul 22 16:43:58 2010 +0100
@@ -22,7 +22,7 @@
 #ifndef AKNLAYOUTSCALABLE_APPS_CDL_CUSTOM_H
 #define AKNLAYOUTSCALABLE_APPS_CDL_CUSTOM_H
 
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
 #include "aknlayoutscalable_apps.cdl.common.h"
 
 namespace AknLayoutScalable_Apps
--- a/layouts/aknlayout2/generated/Nhd_akn_app/aknlayoutscalable_avkon.cdl.custom.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated/Nhd_akn_app/aknlayoutscalable_avkon.cdl.custom.h	Thu Jul 22 16:43:58 2010 +0100
@@ -22,7 +22,7 @@
 #ifndef AKNLAYOUTSCALABLE_AVKON_CDL_CUSTOM_H
 #define AKNLAYOUTSCALABLE_AVKON_CDL_CUSTOM_H
 
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
 #include "aknlayoutscalable_avkon.cdl.common.h"
 
 namespace AknLayoutScalable_Avkon
--- a/layouts/aknlayout2/generated/Nhd_akn_app/displaylayoutmetrics.cdl.custom.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated/Nhd_akn_app/displaylayoutmetrics.cdl.custom.h	Thu Jul 22 16:43:58 2010 +0100
@@ -21,7 +21,7 @@
 #ifndef DISPLAYLAYOUTMETRICS_CDL_CUSTOM_H
 #define DISPLAYLAYOUTMETRICS_CDL_CUSTOM_H
 
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
 #include "displaylayoutmetrics.cdl.common.h"
 
 namespace Display_Layout_Metrics
--- a/layouts/aknlayout2/generated/Nhd_akn_app/layoutpack.cdl.custom.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated/Nhd_akn_app/layoutpack.cdl.custom.h	Thu Jul 22 16:43:58 2010 +0100
@@ -22,7 +22,7 @@
 #ifndef LAYOUTPACK_CDL_CUSTOM_H
 #define LAYOUTPACK_CDL_CUSTOM_H
 
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
 #include "layoutpack.cdl.common.h"
 
 namespace LayoutPack
--- a/layouts/aknlayout2/generated/Nhd_uiaccel/aknlayoutscalable_uiaccel.cdl.custom.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated/Nhd_uiaccel/aknlayoutscalable_uiaccel.cdl.custom.h	Thu Jul 22 16:43:58 2010 +0100
@@ -22,7 +22,7 @@
 #ifndef AKNLAYOUTSCALABLE_UIACCEL_CDL_CUSTOM_H
 #define AKNLAYOUTSCALABLE_UIACCEL_CDL_CUSTOM_H
 
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
 #include "aknlayoutscalable_uiaccel.cdl.common.h"
 
 namespace AknLayoutScalable_UiAccel
--- a/layouts/aknlayout2/generated/Nhd_uiaccel/layoutpack.cdl.custom.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated/Nhd_uiaccel/layoutpack.cdl.custom.h	Thu Jul 22 16:43:58 2010 +0100
@@ -22,7 +22,7 @@
 #ifndef LAYOUTPACK_CDL_CUSTOM_H
 #define LAYOUTPACK_CDL_CUSTOM_H
 
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
 #include "layoutpack.cdl.common.h"
 
 namespace LayoutPack
--- a/layouts/aknlayout2/generated/Qvga2_akn_app/aknlayoutscalable_apps.cdl.custom.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated/Qvga2_akn_app/aknlayoutscalable_apps.cdl.custom.h	Thu Jul 22 16:43:58 2010 +0100
@@ -22,7 +22,7 @@
 #ifndef AKNLAYOUTSCALABLE_APPS_CDL_CUSTOM_H
 #define AKNLAYOUTSCALABLE_APPS_CDL_CUSTOM_H
 
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
 #include "aknlayoutscalable_apps.cdl.common.h"
 
 namespace AknLayoutScalable_Apps
--- a/layouts/aknlayout2/generated/Qvga2_akn_app/aknlayoutscalable_avkon.cdl.custom.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated/Qvga2_akn_app/aknlayoutscalable_avkon.cdl.custom.h	Thu Jul 22 16:43:58 2010 +0100
@@ -22,7 +22,7 @@
 #ifndef AKNLAYOUTSCALABLE_AVKON_CDL_CUSTOM_H
 #define AKNLAYOUTSCALABLE_AVKON_CDL_CUSTOM_H
 
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
 #include "aknlayoutscalable_avkon.cdl.common.h"
 
 namespace AknLayoutScalable_Avkon
--- a/layouts/aknlayout2/generated/Qvga2_akn_app/displaylayoutmetrics.cdl.custom.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated/Qvga2_akn_app/displaylayoutmetrics.cdl.custom.h	Thu Jul 22 16:43:58 2010 +0100
@@ -21,7 +21,7 @@
 #ifndef DISPLAYLAYOUTMETRICS_CDL_CUSTOM_H
 #define DISPLAYLAYOUTMETRICS_CDL_CUSTOM_H
 
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
 #include "displaylayoutmetrics.cdl.common.h"
 
 namespace Display_Layout_Metrics
--- a/layouts/aknlayout2/generated/Qvga2_akn_app/layoutpack.cdl.custom.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated/Qvga2_akn_app/layoutpack.cdl.custom.h	Thu Jul 22 16:43:58 2010 +0100
@@ -22,7 +22,7 @@
 #ifndef LAYOUTPACK_CDL_CUSTOM_H
 #define LAYOUTPACK_CDL_CUSTOM_H
 
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
 #include "layoutpack.cdl.common.h"
 
 namespace LayoutPack
--- a/layouts/aknlayout2/generated/Qvga2_uiaccel/aknlayoutscalable_uiaccel.cdl.custom.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated/Qvga2_uiaccel/aknlayoutscalable_uiaccel.cdl.custom.h	Thu Jul 22 16:43:58 2010 +0100
@@ -22,7 +22,7 @@
 #ifndef AKNLAYOUTSCALABLE_UIACCEL_CDL_CUSTOM_H
 #define AKNLAYOUTSCALABLE_UIACCEL_CDL_CUSTOM_H
 
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
 #include "aknlayoutscalable_uiaccel.cdl.common.h"
 
 namespace AknLayoutScalable_UiAccel
--- a/layouts/aknlayout2/generated/Qvga2_uiaccel/layoutpack.cdl.custom.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated/Qvga2_uiaccel/layoutpack.cdl.custom.h	Thu Jul 22 16:43:58 2010 +0100
@@ -22,7 +22,7 @@
 #ifndef LAYOUTPACK_CDL_CUSTOM_H
 #define LAYOUTPACK_CDL_CUSTOM_H
 
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
 #include "layoutpack.cdl.common.h"
 
 namespace LayoutPack
--- a/layouts/aknlayout2/generated/Vga3_akn_app/aknlayoutscalable_apps.cdl.custom.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated/Vga3_akn_app/aknlayoutscalable_apps.cdl.custom.h	Thu Jul 22 16:43:58 2010 +0100
@@ -22,7 +22,7 @@
 #ifndef AKNLAYOUTSCALABLE_APPS_CDL_CUSTOM_H
 #define AKNLAYOUTSCALABLE_APPS_CDL_CUSTOM_H
 
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
 #include "aknlayoutscalable_apps.cdl.common.h"
 
 namespace AknLayoutScalable_Apps
--- a/layouts/aknlayout2/generated/Vga3_akn_app/aknlayoutscalable_avkon.cdl.custom.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated/Vga3_akn_app/aknlayoutscalable_avkon.cdl.custom.h	Thu Jul 22 16:43:58 2010 +0100
@@ -22,7 +22,7 @@
 #ifndef AKNLAYOUTSCALABLE_AVKON_CDL_CUSTOM_H
 #define AKNLAYOUTSCALABLE_AVKON_CDL_CUSTOM_H
 
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
 #include "aknlayoutscalable_avkon.cdl.common.h"
 
 namespace AknLayoutScalable_Avkon
--- a/layouts/aknlayout2/generated/Vga3_akn_app/displaylayoutmetrics.cdl.custom.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated/Vga3_akn_app/displaylayoutmetrics.cdl.custom.h	Thu Jul 22 16:43:58 2010 +0100
@@ -21,7 +21,7 @@
 #ifndef DISPLAYLAYOUTMETRICS_CDL_CUSTOM_H
 #define DISPLAYLAYOUTMETRICS_CDL_CUSTOM_H
 
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
 #include "displaylayoutmetrics.cdl.common.h"
 
 namespace Display_Layout_Metrics
--- a/layouts/aknlayout2/generated/Vga3_akn_app/layoutpack.cdl.custom.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated/Vga3_akn_app/layoutpack.cdl.custom.h	Thu Jul 22 16:43:58 2010 +0100
@@ -22,7 +22,7 @@
 #ifndef LAYOUTPACK_CDL_CUSTOM_H
 #define LAYOUTPACK_CDL_CUSTOM_H
 
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
 #include "layoutpack.cdl.common.h"
 
 namespace LayoutPack
--- a/layouts/aknlayout2/generated/Vga3_uiaccel/aknlayoutscalable_uiaccel.cdl.custom.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated/Vga3_uiaccel/aknlayoutscalable_uiaccel.cdl.custom.h	Thu Jul 22 16:43:58 2010 +0100
@@ -22,7 +22,7 @@
 #ifndef AKNLAYOUTSCALABLE_UIACCEL_CDL_CUSTOM_H
 #define AKNLAYOUTSCALABLE_UIACCEL_CDL_CUSTOM_H
 
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
 #include "aknlayoutscalable_uiaccel.cdl.common.h"
 
 namespace AknLayoutScalable_UiAccel
--- a/layouts/aknlayout2/generated/Vga3_uiaccel/layoutpack.cdl.custom.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated/Vga3_uiaccel/layoutpack.cdl.custom.h	Thu Jul 22 16:43:58 2010 +0100
@@ -22,7 +22,7 @@
 #ifndef LAYOUTPACK_CDL_CUSTOM_H
 #define LAYOUTPACK_CDL_CUSTOM_H
 
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
 #include "layoutpack.cdl.common.h"
 
 namespace LayoutPack
--- a/layouts/aknlayout2/generated/Vga_akn_app/aknlayoutscalable_apps.cdl.custom.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated/Vga_akn_app/aknlayoutscalable_apps.cdl.custom.h	Thu Jul 22 16:43:58 2010 +0100
@@ -22,7 +22,7 @@
 #ifndef AKNLAYOUTSCALABLE_APPS_CDL_CUSTOM_H
 #define AKNLAYOUTSCALABLE_APPS_CDL_CUSTOM_H
 
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
 #include "aknlayoutscalable_apps.cdl.common.h"
 
 namespace AknLayoutScalable_Apps
--- a/layouts/aknlayout2/generated/Vga_akn_app/aknlayoutscalable_avkon.cdl.custom.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated/Vga_akn_app/aknlayoutscalable_avkon.cdl.custom.h	Thu Jul 22 16:43:58 2010 +0100
@@ -22,7 +22,7 @@
 #ifndef AKNLAYOUTSCALABLE_AVKON_CDL_CUSTOM_H
 #define AKNLAYOUTSCALABLE_AVKON_CDL_CUSTOM_H
 
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
 #include "aknlayoutscalable_avkon.cdl.common.h"
 
 namespace AknLayoutScalable_Avkon
--- a/layouts/aknlayout2/generated/Vga_akn_app/displaylayoutmetrics.cdl.custom.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated/Vga_akn_app/displaylayoutmetrics.cdl.custom.h	Thu Jul 22 16:43:58 2010 +0100
@@ -21,7 +21,7 @@
 #ifndef DISPLAYLAYOUTMETRICS_CDL_CUSTOM_H
 #define DISPLAYLAYOUTMETRICS_CDL_CUSTOM_H
 
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
 #include "displaylayoutmetrics.cdl.common.h"
 
 namespace Display_Layout_Metrics
--- a/layouts/aknlayout2/generated/Vga_akn_app/layoutpack.cdl.custom.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated/Vga_akn_app/layoutpack.cdl.custom.h	Thu Jul 22 16:43:58 2010 +0100
@@ -22,7 +22,7 @@
 #ifndef LAYOUTPACK_CDL_CUSTOM_H
 #define LAYOUTPACK_CDL_CUSTOM_H
 
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
 #include "layoutpack.cdl.common.h"
 
 namespace LayoutPack
--- a/layouts/aknlayout2/generated/Vga_touch_akn_app/aknlayoutscalable_apps.cdl.custom.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated/Vga_touch_akn_app/aknlayoutscalable_apps.cdl.custom.h	Thu Jul 22 16:43:58 2010 +0100
@@ -22,7 +22,7 @@
 #ifndef AKNLAYOUTSCALABLE_APPS_CDL_CUSTOM_H
 #define AKNLAYOUTSCALABLE_APPS_CDL_CUSTOM_H
 
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
 #include "aknlayoutscalable_apps.cdl.common.h"
 
 namespace AknLayoutScalable_Apps
--- a/layouts/aknlayout2/generated/Vga_touch_akn_app/aknlayoutscalable_avkon.cdl.custom.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated/Vga_touch_akn_app/aknlayoutscalable_avkon.cdl.custom.h	Thu Jul 22 16:43:58 2010 +0100
@@ -22,7 +22,7 @@
 #ifndef AKNLAYOUTSCALABLE_AVKON_CDL_CUSTOM_H
 #define AKNLAYOUTSCALABLE_AVKON_CDL_CUSTOM_H
 
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
 #include "aknlayoutscalable_avkon.cdl.common.h"
 
 namespace AknLayoutScalable_Avkon
--- a/layouts/aknlayout2/generated/Vga_touch_akn_app/displaylayoutmetrics.cdl.custom.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated/Vga_touch_akn_app/displaylayoutmetrics.cdl.custom.h	Thu Jul 22 16:43:58 2010 +0100
@@ -21,7 +21,7 @@
 #ifndef DISPLAYLAYOUTMETRICS_CDL_CUSTOM_H
 #define DISPLAYLAYOUTMETRICS_CDL_CUSTOM_H
 
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
 #include "displaylayoutmetrics.cdl.common.h"
 
 namespace Display_Layout_Metrics
--- a/layouts/aknlayout2/generated/Vga_touch_akn_app/layoutpack.cdl.custom.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated/Vga_touch_akn_app/layoutpack.cdl.custom.h	Thu Jul 22 16:43:58 2010 +0100
@@ -22,7 +22,7 @@
 #ifndef LAYOUTPACK_CDL_CUSTOM_H
 #define LAYOUTPACK_CDL_CUSTOM_H
 
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
 #include "layoutpack.cdl.common.h"
 
 namespace LayoutPack
--- a/layouts/aknlayout2/generated/Vga_uiaccel/aknlayoutscalable_uiaccel.cdl.custom.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated/Vga_uiaccel/aknlayoutscalable_uiaccel.cdl.custom.h	Thu Jul 22 16:43:58 2010 +0100
@@ -22,7 +22,7 @@
 #ifndef AKNLAYOUTSCALABLE_UIACCEL_CDL_CUSTOM_H
 #define AKNLAYOUTSCALABLE_UIACCEL_CDL_CUSTOM_H
 
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
 #include "aknlayoutscalable_uiaccel.cdl.common.h"
 
 namespace AknLayoutScalable_UiAccel
--- a/layouts/aknlayout2/generated/Vga_uiaccel/layoutpack.cdl.custom.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated/Vga_uiaccel/layoutpack.cdl.custom.h	Thu Jul 22 16:43:58 2010 +0100
@@ -22,7 +22,7 @@
 #ifndef LAYOUTPACK_CDL_CUSTOM_H
 #define LAYOUTPACK_CDL_CUSTOM_H
 
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
 #include "layoutpack.cdl.common.h"
 
 namespace LayoutPack
--- a/layouts/aknlayout2/generated_inc/aknapaclayout.cdl.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated_inc/aknapaclayout.cdl.h	Thu Jul 22 16:43:58 2010 +0100
@@ -21,7 +21,7 @@
 #ifndef AKNAPACLAYOUT_CDL
 #define AKNAPACLAYOUT_CDL
 
-#include <cdlengine.h>
+#include <CdlEngine.h>
 #include <aknapaclayout.cdl.common.h>
 
 namespace AknApacLayout
--- a/layouts/aknlayout2/generated_inc/aknlayout.cdl.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated_inc/aknlayout.cdl.h	Thu Jul 22 16:43:58 2010 +0100
@@ -21,7 +21,7 @@
 #ifndef AKNLAYOUT_CDL
 #define AKNLAYOUT_CDL
 
-#include <cdlengine.h>
+#include <CdlEngine.h>
 #include <aknlayout.cdl.common.h>
 
 namespace AknLayout
--- a/layouts/aknlayout2/generated_inc/aknlayoutscalable_uiaccel.cdl.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated_inc/aknlayoutscalable_uiaccel.cdl.h	Thu Jul 22 16:43:58 2010 +0100
@@ -21,7 +21,7 @@
 #ifndef AKNLAYOUTSCALABLE_UIACCEL_CDL
 #define AKNLAYOUTSCALABLE_UIACCEL_CDL
 
-#include <cdlengine.h>
+#include <CdlEngine.h>
 #include <aknlayoutscalable_uiaccel.cdl.common.h>
 
 namespace AknLayoutScalable_UiAccel
--- a/layouts/aknlayout2/generated_inc/cdlfont.cdl.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated_inc/cdlfont.cdl.h	Thu Jul 22 16:43:58 2010 +0100
@@ -21,7 +21,7 @@
 #ifndef CDLFONT_CDL
 #define CDLFONT_CDL
 
-#include <cdlengine.h>
+#include <CdlEngine.h>
 #include <cdlfont.cdl.common.h>
 
 namespace CDL_Font
--- a/layouts/aknlayout2/generated_inc/layoutmetadata.cdl.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated_inc/layoutmetadata.cdl.h	Thu Jul 22 16:43:58 2010 +0100
@@ -21,7 +21,7 @@
 #ifndef LAYOUTMETADATA_CDL
 #define LAYOUTMETADATA_CDL
 
-#include <cdlengine.h>
+#include <CdlEngine.h>
 #include <layoutmetadata.cdl.common.h>
 
 namespace Layout_Meta_Data
--- a/layouts/aknlayout2/generated_inc/skinlayout.cdl.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/aknlayout2/generated_inc/skinlayout.cdl.h	Thu Jul 22 16:43:58 2010 +0100
@@ -21,7 +21,7 @@
 #ifndef SKINLAYOUT_CDL
 #define SKINLAYOUT_CDL
 
-#include <cdlengine.h>
+#include <CdlEngine.h>
 #include <skinlayout.cdl.common.h>
 
 namespace SkinLayout
--- a/layouts/cdl/CdlUtils/CdlExplorer/inc/CdlExplorerAppUi.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/cdl/CdlUtils/CdlExplorer/inc/CdlExplorerAppUi.h	Thu Jul 22 16:43:58 2010 +0100
@@ -25,7 +25,7 @@
 #include <e32std.h>
 #include <coeccntx.h>
 #include <aknappui.h>
-#include <cdlengine.h>
+#include <CdlEngine.h>
 #include <cdlrefs.h>
 
 // FORWARD DECLARATIONS
--- a/layouts/cdl/CdlUtils/CdlExplorer/inc/CdlExplorerContainer.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/layouts/cdl/CdlUtils/CdlExplorer/inc/CdlExplorerContainer.h	Thu Jul 22 16:43:58 2010 +0100
@@ -23,7 +23,7 @@
 #include <coecntrl.h>
 #include <eiklbo.h>
 #include <eiktxlbx.h>
-#include <cdlengine.h>
+#include <CdlEngine.h>
 #include <cdlrefs.h>
 
 // FORWARD DECLARATIONS
--- a/locales/loce32/Coltab/DISTRIBUTION.POLICY	Wed Jun 16 14:20:09 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-Category E
--- a/locales/loce32/Coltab/group/Coltab.mmp	Wed Jun 16 14:20:09 2010 +0100
+++ b/locales/loce32/Coltab/group/Coltab.mmp	Thu Jul 22 16:43:58 2010 +0100
@@ -20,4 +20,4 @@
 CAPABILITY      CAP_APPLICATION
 SOURCEPATH      ../src
 SOURCE          coltab.cpp
-//SYSTEMINCLUDE /epoc32/include
+
--- a/locales/loce32/bld.inf	Wed Jun 16 14:20:09 2010 +0100
+++ b/locales/loce32/bld.inf	Thu Jul 22 16:43:58 2010 +0100
@@ -21,8 +21,8 @@
 
 PRJ_EXPORTS
 
-// IBY-files
-rom/elocl.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(elocl.iby)
+// languages.confml export
+rom/languages.confml    /epoc32/rom/config/global/confml/languages.confml
 
 PRJ_MMPFILES    // List of MMP files 
 
@@ -48,7 +48,7 @@
 language/group/elocl_language_sk.mmp
 language/group/elocl_language_pl.mmp
 language/group/elocl_language_sl.mmp
-language/group/elocl_language_zh_tw.mmp
+language/group/elocl_language_zh_TW.mmp
 language/group/elocl_language_zh_hk.mmp
 language/group/elocl_language_zh_cn.mmp
 language/group/elocl_language_ja.mmp
--- a/locales/loce32/collation/inc/locl_collation.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/locales/loce32/collation/inc/locl_collation.h	Thu Jul 22 16:43:58 2010 +0100
@@ -20,7 +20,7 @@
 #define __LOCL_COLLATION_H_
 
 #if !defined(__E32STD_H__)
-#include <E32std.h>
+#include <e32std.h>
 #endif
 
 #ifdef _UNICODE
--- a/locales/loce32/language/group/elocl_language_ko.mmp	Wed Jun 16 14:20:09 2010 +0100
+++ b/locales/loce32/language/group/elocl_language_ko.mmp	Thu Jul 22 16:43:58 2010 +0100
@@ -29,7 +29,7 @@
 SOURCE	language.cpp
 SOURCE	language_ko.cpp
 SOURCE  unicodeconv.cpp
-SOURCE  CP949.cpp
+SOURCE  Cp949.cpp
 
 // This is a SYSTEMINCLUDE macro containing the middleware
 // layer specific include directories
--- a/locales/loce32/language/inc/complocl.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/locales/loce32/language/inc/complocl.h	Thu Jul 22 16:43:58 2010 +0100
@@ -21,7 +21,7 @@
 #define __COMPLOCL_H__
 
 #if !defined(__E32STD_H__)
-#include <E32std.h>
+#include <e32std.h>
 #endif
 
 class LLocaleData
--- a/locales/loce32/language/inc/locl_language.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/locales/loce32/language/inc/locl_language.h	Thu Jul 22 16:43:58 2010 +0100
@@ -20,7 +20,7 @@
 #define __LOCL_LANGUAGE_H__
 
 #if !defined(__E32STD_H__)
-#include <E32std.h>
+#include <e32std.h>
 #endif
 
 #ifdef _UNICODE
--- a/locales/loce32/region/inc/locl_region.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/locales/loce32/region/inc/locl_region.h	Thu Jul 22 16:43:58 2010 +0100
@@ -20,7 +20,7 @@
 #define __LOCL_REGION_H__
 
 #if !defined(__E32STD_H__)
-#include <E32std.h>
+#include <e32std.h>
 #endif
 
 #ifdef _UNICODE
--- a/locales/loce32/region/src/region_gb.cpp	Wed Jun 16 14:20:09 2010 +0100
+++ b/locales/loce32/region/src/region_gb.cpp	Thu Jul 22 16:43:58 2010 +0100
@@ -28,11 +28,11 @@
 const TDateFormat RegionAspect::DateFormat = EDateEuropean;
 const TTimeFormat RegionAspect::TimeFormat = ETime12;
 const TLocalePos RegionAspect::CurrencySymbolPosition = ELocaleBefore;
-const TBool RegionAspect::CurrencySpaceBetween = ETrue;
+const TBool RegionAspect::CurrencySpaceBetween = EFalse;
 const TInt RegionAspect::CurrencyDecimalPlaces = 2; 
 const TLocale::TNegativeCurrencyFormat RegionAspect::NegativeCurrencyFormat=TLocale::TNegativeCurrencyFormat(TLocale::ELeadingMinusSign); // replacing CurrencyNegativeInBrackets
 const TBool RegionAspect::CurrencyTriadsAllowed = ETrue;
-const TText * const RegionAspect::ThousandsSeparator = _S(" ");
+const TText * const RegionAspect::ThousandsSeparator = _S(",");
 const TText * const RegionAspect::DecimalSeparator = _S(".");
 const TText * const RegionAspect::DateSeparator[KMaxDateSeparators] = {_S(""),_S("/"),_S("/"),_S("")};
 const TText * const RegionAspect::TimeSeparator[KMaxTimeSeparators] = {_S(""),_S(":"),_S(":"),_S("")};
--- a/locales/loce32/region/src/region_sk.cpp	Wed Jun 16 14:20:09 2010 +0100
+++ b/locales/loce32/region/src/region_sk.cpp	Thu Jul 22 16:43:58 2010 +0100
@@ -35,7 +35,7 @@
 const TText * const RegionAspect::ThousandsSeparator = _S(" ");
 const TText * const RegionAspect::DecimalSeparator = _S(",");
 const TText * const RegionAspect::DateSeparator[KMaxDateSeparators] = {_S(""),_S(". "),_S(". "),_S("")};
-const TText * const RegionAspect::TimeSeparator[KMaxTimeSeparators] = {_S(""),_S("."),_S("."),_S("")}; 
+const TText * const RegionAspect::TimeSeparator[KMaxTimeSeparators] = {_S(""),_S(":"),_S(":"),_S("")}; 
 const TLocalePos RegionAspect::AmPmSymbolPosition = ELocaleAfter;
 const TBool RegionAspect::AmPmSpaceBetween = ETrue;
 const TDaylightSavingZone RegionAspect::HomeDaylightSavingZone = EDstEuropean;
--- a/locales/loce32/rom/Elocl.iby	Wed Jun 16 14:20:09 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,377 +0,0 @@
-/*
-* Copyright (c) 2003 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   Defines Series60 localized files
-*
-*/
-
-
-
-#ifndef __ELOCL_IBY__
-#define __ELOCL_IBY__
-
-#ifdef EKA2
-
-#if defined __LOCALES_01_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.001			SHARED_LIB_DIR\elocl_lan.001
-file=ABI_DIR\BUILD_DIR\elocl_reg.826			SHARED_LIB_DIR\elocl_reg.826
-file=ABI_DIR\BUILD_DIR\elocl_col.001			SHARED_LIB_DIR\elocl_col.001
-#endif // __LOCALES_01_IBY__
-
-#if defined __LOCALES_02_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.002			SHARED_LIB_DIR\elocl_lan.002
-file=ABI_DIR\BUILD_DIR\elocl_reg.250			SHARED_LIB_DIR\elocl_reg.250
-file=ABI_DIR\BUILD_DIR\elocl_col.002			SHARED_LIB_DIR\elocl_col.002
-#endif // __LOCALES_02_IBY__
-
-#if defined __LOCALES_03_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.003			SHARED_LIB_DIR\elocl_lan.003
-file=ABI_DIR\BUILD_DIR\elocl_reg.276			SHARED_LIB_DIR\elocl_reg.276
-file=ABI_DIR\BUILD_DIR\elocl_col.003			SHARED_LIB_DIR\elocl_col.003
-#endif // __LOCALES_03_IBY__
-
-#if defined __LOCALES_04_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.004			SHARED_LIB_DIR\elocl_lan.004
-file=ABI_DIR\BUILD_DIR\elocl_reg.724			SHARED_LIB_DIR\elocl_reg.724
-file=ABI_DIR\BUILD_DIR\elocl_col.004			SHARED_LIB_DIR\elocl_col.004
-#endif // __LOCALES_04_IBY__
-
-#if defined __LOCALES_05_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.005			SHARED_LIB_DIR\elocl_lan.005
-file=ABI_DIR\BUILD_DIR\elocl_reg.380			SHARED_LIB_DIR\elocl_reg.380
-file=ABI_DIR\BUILD_DIR\elocl_col.005			SHARED_LIB_DIR\elocl_col.005
-#endif // __LOCALES_05_IBY__
-
-#if defined __LOCALES_06_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.006			SHARED_LIB_DIR\elocl_lan.006
-file=ABI_DIR\BUILD_DIR\elocl_reg.752			SHARED_LIB_DIR\elocl_reg.752
-file=ABI_DIR\BUILD_DIR\elocl_col.006			SHARED_LIB_DIR\elocl_col.006
-#endif // __LOCALES_06_IBY__
-
-#if defined __LOCALES_07_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.007			SHARED_LIB_DIR\elocl_lan.007
-file=ABI_DIR\BUILD_DIR\elocl_reg.208			SHARED_LIB_DIR\elocl_reg.208
-file=ABI_DIR\BUILD_DIR\elocl_col.007			SHARED_LIB_DIR\elocl_col.007
-#endif // __LOCALES_07_IBY__
-
-#if defined __LOCALES_08_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.008			SHARED_LIB_DIR\elocl_lan.008
-file=ABI_DIR\BUILD_DIR\elocl_reg.578			SHARED_LIB_DIR\elocl_reg.578
-file=ABI_DIR\BUILD_DIR\elocl_col.008			SHARED_LIB_DIR\elocl_col.008
-#endif // __LOCALES_08_IBY__
-
-#if defined __LOCALES_09_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.009			SHARED_LIB_DIR\elocl_lan.009
-file=ABI_DIR\BUILD_DIR\elocl_reg.246			SHARED_LIB_DIR\elocl_reg.246
-file=ABI_DIR\BUILD_DIR\elocl_col.009			SHARED_LIB_DIR\elocl_col.009
-#endif // __LOCALES_09_IBY__
-
-#if defined __LOCALES_10_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.010			SHARED_LIB_DIR\elocl_lan.010
-file=ABI_DIR\BUILD_DIR\elocl_reg.840			SHARED_LIB_DIR\elocl_reg.840
-file=ABI_DIR\BUILD_DIR\elocl_col.010			SHARED_LIB_DIR\elocl_col.010
-#endif // __LOCALES_10_IBY__
-
-#if defined __LOCALES_13_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.013			SHARED_LIB_DIR\elocl_lan.013
-file=ABI_DIR\BUILD_DIR\elocl_reg.620			SHARED_LIB_DIR\elocl_reg.620
-file=ABI_DIR\BUILD_DIR\elocl_col.013			SHARED_LIB_DIR\elocl_col.013
-#endif // __LOCALES_13_IBY__
-
-#if defined __LOCALES_14_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.014			SHARED_LIB_DIR\elocl_lan.014
-file=ABI_DIR\BUILD_DIR\elocl_reg.792			SHARED_LIB_DIR\elocl_reg.792
-file=ABI_DIR\BUILD_DIR\elocl_col.014			SHARED_LIB_DIR\elocl_col.014
-#endif // __LOCALES_14_IBY__
-
-#if defined __LOCALES_15_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.015			SHARED_LIB_DIR\elocl_lan.015
-file=ABI_DIR\BUILD_DIR\elocl_reg.352			SHARED_LIB_DIR\elocl_reg.352
-file=ABI_DIR\BUILD_DIR\elocl_col.015			SHARED_LIB_DIR\elocl_col.015
-#endif // __LOCALES_15_IBY__
-
-#if defined __LOCALES_16_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.016			SHARED_LIB_DIR\elocl_lan.016
-file=ABI_DIR\BUILD_DIR\elocl_reg.643    		SHARED_LIB_DIR\elocl_reg.643
-file=ABI_DIR\BUILD_DIR\elocl_col.016			SHARED_LIB_DIR\elocl_col.016
-#endif // __LOCALES_16_IBY__
-
-#if defined __LOCALES_17_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.017			SHARED_LIB_DIR\elocl_lan.017
-file=ABI_DIR\BUILD_DIR\elocl_reg.348			SHARED_LIB_DIR\elocl_reg.348
-file=ABI_DIR\BUILD_DIR\elocl_col.017			SHARED_LIB_DIR\elocl_col.017
-#endif // __LOCALES_17_IBY__
-
-#if defined __LOCALES_18_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.018			SHARED_LIB_DIR\elocl_lan.018
-file=ABI_DIR\BUILD_DIR\elocl_reg.528			SHARED_LIB_DIR\elocl_reg.528
-file=ABI_DIR\BUILD_DIR\elocl_col.018			SHARED_LIB_DIR\elocl_col.018
-#endif // __LOCALES_18_IBY__
-
-#if defined __LOCALES_25_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.025			SHARED_LIB_DIR\elocl_lan.025
-file=ABI_DIR\BUILD_DIR\elocl_reg.203			SHARED_LIB_DIR\elocl_reg.203
-file=ABI_DIR\BUILD_DIR\elocl_col.025			SHARED_LIB_DIR\elocl_col.025
-#endif // __LOCALES_25_IBY__
-
-#if defined __LOCALES_26_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.026			SHARED_LIB_DIR\elocl_lan.026
-file=ABI_DIR\BUILD_DIR\elocl_reg.703			SHARED_LIB_DIR\elocl_reg.703
-file=ABI_DIR\BUILD_DIR\elocl_col.026			SHARED_LIB_DIR\elocl_col.026 
-#endif // __LOCALES_26_IBY__
-
-#if defined __LOCALES_27_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.027			SHARED_LIB_DIR\elocl_lan.027
-file=ABI_DIR\BUILD_DIR\elocl_reg.616			SHARED_LIB_DIR\elocl_reg.616
-file=ABI_DIR\BUILD_DIR\elocl_col.027			SHARED_LIB_DIR\elocl_col.027 
-#endif // __LOCALES_27_IBY__
-
-#if defined __LOCALES_28_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.028			SHARED_LIB_DIR\elocl_lan.028
-file=ABI_DIR\BUILD_DIR\elocl_reg.705			SHARED_LIB_DIR\elocl_reg.705
-file=ABI_DIR\BUILD_DIR\elocl_col.028			SHARED_LIB_DIR\elocl_col.028 
-#endif // __LOCALES_28_IBY__
-
-#if defined __LOCALES_29_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.029			SHARED_LIB_DIR\elocl_lan.029
-file=ABI_DIR\BUILD_DIR\elocl_reg.158			SHARED_LIB_DIR\elocl_reg.158
-file=ABI_DIR\BUILD_DIR\elocl_col.029			SHARED_LIB_DIR\elocl_col.029 
-#endif // __LOCALES_29_IBY__
-
-#if defined __LOCALES_30_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.030			SHARED_LIB_DIR\elocl_lan.030
-file=ABI_DIR\BUILD_DIR\elocl_reg.344			SHARED_LIB_DIR\elocl_reg.344
-file=ABI_DIR\BUILD_DIR\elocl_col.030			SHARED_LIB_DIR\elocl_col.030 
-#endif // __LOCALES_30_IBY__
-
-#if defined __LOCALES_31_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.031			SHARED_LIB_DIR\elocl_lan.031
-file=ABI_DIR\BUILD_DIR\elocl_reg.156            SHARED_LIB_DIR\elocl_reg.156
-file=ABI_DIR\BUILD_DIR\elocl_col.031			SHARED_LIB_DIR\elocl_col.031 
-#endif // __LOCALES_31_IBY__
-
-#if defined __LOCALES_32_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.032			SHARED_LIB_DIR\elocl_lan.032
-file=ABI_DIR\BUILD_DIR\elocl_reg.392			SHARED_LIB_DIR\elocl_reg.392
-file=ABI_DIR\BUILD_DIR\elocl_col.032			SHARED_LIB_DIR\elocl_col.032 
-#endif // __LOCALES_32_IBY__
-
-#if defined __LOCALES_33_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.033			SHARED_LIB_DIR\elocl_lan.033
-file=ABI_DIR\BUILD_DIR\elocl_reg.764			SHARED_LIB_DIR\elocl_reg.764
-file=ABI_DIR\BUILD_DIR\elocl_col.033			SHARED_LIB_DIR\elocl_col.033 
-#endif // __LOCALES_33_IBY__
-
-#if defined __LOCALES_37_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.037			SHARED_LIB_DIR\elocl_lan.037
-file=ABI_DIR\BUILD_DIR\elocl_reg.682			SHARED_LIB_DIR\elocl_reg.682
-file=ABI_DIR\BUILD_DIR\elocl_col.037			SHARED_LIB_DIR\elocl_col.037 
-#endif // __LOCALES_37_IBY__
-
-#if defined __LOCALES_39_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.039			SHARED_LIB_DIR\elocl_lan.039
-file=ABI_DIR\BUILD_DIR\elocl_reg.608			SHARED_LIB_DIR\elocl_reg.608
-file=ABI_DIR\BUILD_DIR\elocl_col.039			SHARED_LIB_DIR\elocl_col.039 
-#endif // __LOCALES_39_IBY__
-
-#if defined __LOCALES_42_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.042			SHARED_LIB_DIR\elocl_lan.042
-file=ABI_DIR\BUILD_DIR\elocl_reg.100			SHARED_LIB_DIR\elocl_reg.100
-file=ABI_DIR\BUILD_DIR\elocl_col.042			SHARED_LIB_DIR\elocl_col.042 
-#endif // __LOCALES_42_IBY__
-
-#if defined __LOCALES_44_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.044			SHARED_LIB_DIR\elocl_lan.044
-file=ABI_DIR\BUILD_DIR\elocl_reg.724			SHARED_LIB_DIR\elocl_reg.724
-file=ABI_DIR\BUILD_DIR\elocl_col.044			SHARED_LIB_DIR\elocl_col.044 
-#endif // __LOCALES_44_IBY__
-
-#if defined __LOCALES_45_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.045			SHARED_LIB_DIR\elocl_lan.045
-file=ABI_DIR\BUILD_DIR\elocl_reg.191			SHARED_LIB_DIR\elocl_reg.191
-file=ABI_DIR\BUILD_DIR\elocl_col.045			SHARED_LIB_DIR\elocl_col.045 
-#endif // __LOCALES_45_IBY__
-
-#if defined __LOCALES_49_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.049			SHARED_LIB_DIR\elocl_lan.049
-file=ABI_DIR\BUILD_DIR\elocl_reg.233			SHARED_LIB_DIR\elocl_reg.233
-file=ABI_DIR\BUILD_DIR\elocl_col.049			SHARED_LIB_DIR\elocl_col.049 
-#endif // __LOCALES_49_IBY__
-
-#if defined __LOCALES_50_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.050			SHARED_LIB_DIR\elocl_lan.050
-file=ABI_DIR\BUILD_DIR\elocl_reg.364			SHARED_LIB_DIR\elocl_reg.364
-file=ABI_DIR\BUILD_DIR\elocl_col.050			SHARED_LIB_DIR\elocl_col.050 
-#endif // __LOCALES_50_IBY__
-
-#if defined __LOCALES_51_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.051			SHARED_LIB_DIR\elocl_lan.051
-file=ABI_DIR\BUILD_DIR\elocl_reg.124			SHARED_LIB_DIR\elocl_reg.124
-file=ABI_DIR\BUILD_DIR\elocl_col.051			SHARED_LIB_DIR\elocl_col.051 
-#endif // __LOCALES_51_IBY__
-
-#if defined __LOCALES_54_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.054			SHARED_LIB_DIR\elocl_lan.054
-file=ABI_DIR\BUILD_DIR\elocl_reg.300			SHARED_LIB_DIR\elocl_reg.300
-file=ABI_DIR\BUILD_DIR\elocl_col.054			SHARED_LIB_DIR\elocl_col.054 
-#endif // __LOCALES_54_IBY__
-
-#if defined __LOCALES_57_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.057			SHARED_LIB_DIR\elocl_lan.057
-file=ABI_DIR\BUILD_DIR\elocl_reg.376			SHARED_LIB_DIR\elocl_reg.376
-file=ABI_DIR\BUILD_DIR\elocl_col.057			SHARED_LIB_DIR\elocl_col.057 
-#endif // __LOCALES_57_IBY__
-
-#if defined __LOCALES_58_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.058			SHARED_LIB_DIR\elocl_lan.058
-file=ABI_DIR\BUILD_DIR\elocl_reg.356			SHARED_LIB_DIR\elocl_reg.356
-file=ABI_DIR\BUILD_DIR\elocl_col.058			SHARED_LIB_DIR\elocl_col.058 
-#endif // __LOCALES_58_IBY__
-
-#if defined __LOCALES_59_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.059			SHARED_LIB_DIR\elocl_lan.059
-file=ABI_DIR\BUILD_DIR\elocl_reg.360            SHARED_LIB_DIR\elocl_reg.360
-file=ABI_DIR\BUILD_DIR\elocl_col.059			SHARED_LIB_DIR\elocl_col.059 
-#endif // __LOCALES_59_IBY__
-
-#if defined __LOCALES_65_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.065			SHARED_LIB_DIR\elocl_lan.065
-file=ABI_DIR\BUILD_DIR\elocl_reg.410			SHARED_LIB_DIR\elocl_reg.410
-file=ABI_DIR\BUILD_DIR\elocl_col.065			SHARED_LIB_DIR\elocl_col.065 
-#endif // __LOCALES_65_IBY__
-
-#if defined __LOCALES_67_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.067			SHARED_LIB_DIR\elocl_lan.067
-file=ABI_DIR\BUILD_DIR\elocl_reg.428			SHARED_LIB_DIR\elocl_reg.428
-file=ABI_DIR\BUILD_DIR\elocl_col.067			SHARED_LIB_DIR\elocl_col.067 
-#endif // __LOCALES_67_IBY__
-
-#if defined __LOCALES_68_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.068			SHARED_LIB_DIR\elocl_lan.068
-file=ABI_DIR\BUILD_DIR\elocl_reg.440    		SHARED_LIB_DIR\elocl_reg.440
-file=ABI_DIR\BUILD_DIR\elocl_col.068			SHARED_LIB_DIR\elocl_col.068 
-#endif // __LOCALES_68_IBY__
-
-#if defined __LOCALES_70_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.070			SHARED_LIB_DIR\elocl_lan.070
-file=ABI_DIR\BUILD_DIR\elocl_reg.458			SHARED_LIB_DIR\elocl_reg.458
-file=ABI_DIR\BUILD_DIR\elocl_col.070			SHARED_LIB_DIR\elocl_col.070 
-#endif // __LOCALES_70_IBY__
-
-#if defined __LOCALES_76_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.076			SHARED_LIB_DIR\elocl_lan.076
-file=ABI_DIR\BUILD_DIR\elocl_reg.076			SHARED_LIB_DIR\elocl_reg.076
-file=ABI_DIR\BUILD_DIR\elocl_col.076			SHARED_LIB_DIR\elocl_col.076 
-#endif // __LOCALES_76_IBY__
-
-#if defined __LOCALES_78_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.078			SHARED_LIB_DIR\elocl_lan.078
-file=ABI_DIR\BUILD_DIR\elocl_reg.642			SHARED_LIB_DIR\elocl_reg.642
-file=ABI_DIR\BUILD_DIR\elocl_col.078			SHARED_LIB_DIR\elocl_col.078 
-#endif // __LOCALES_78_IBY__
-
-#if defined __LOCALES_79_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.079			SHARED_LIB_DIR\elocl_lan.079
-file=ABI_DIR\BUILD_DIR\elocl_reg.891			SHARED_LIB_DIR\elocl_reg.891
-file=ABI_DIR\BUILD_DIR\elocl_col.079			SHARED_LIB_DIR\elocl_col.079 
-#endif // __LOCALES_79_IBY__
-
-#if defined __LOCALES_83_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.083			SHARED_LIB_DIR\elocl_lan.083
-file=ABI_DIR\BUILD_DIR\elocl_reg.484    		SHARED_LIB_DIR\elocl_reg.484
-file=ABI_DIR\BUILD_DIR\elocl_col.083			SHARED_LIB_DIR\elocl_col.083 
-#endif // __LOCALES_83_IBY__
-
-#if defined __LOCALES_93_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.093			SHARED_LIB_DIR\elocl_lan.093
-file=ABI_DIR\BUILD_DIR\elocl_reg.804			SHARED_LIB_DIR\elocl_reg.804
-file=ABI_DIR\BUILD_DIR\elocl_col.093			SHARED_LIB_DIR\elocl_col.093 
-#endif // __LOCALES_93_IBY__
-
-#if defined __LOCALES_94_IBY__  
-file=ABI_DIR\BUILD_DIR\elocl_lan.094			SHARED_LIB_DIR\elocl_lan.094
-file=ABI_DIR\BUILD_DIR\elocl_reg.526			SHARED_LIB_DIR\elocl_reg.526
-file=ABI_DIR\BUILD_DIR\elocl_col.094			SHARED_LIB_DIR\elocl_col.094 
-#endif // __LOCALES_94_IBY__
-
-#if defined __LOCALES_96_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.096			SHARED_LIB_DIR\elocl_lan.096
-file=ABI_DIR\BUILD_DIR\elocl_reg.704			SHARED_LIB_DIR\elocl_reg.704
-file=ABI_DIR\BUILD_DIR\elocl_col.096			SHARED_LIB_DIR\elocl_col.096 
-#endif // __LOCALES_96_IBY__
-
-#if defined __LOCALES_129_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.129			SHARED_LIB_DIR\elocl_lan.129
-file=ABI_DIR\BUILD_DIR\elocl_reg.826			SHARED_LIB_DIR\elocl_reg.826
-file=ABI_DIR\BUILD_DIR\elocl_col.129			SHARED_LIB_DIR\elocl_col.129 
-#endif // __LOCALES_129_IBY__
-
-#if defined __LOCALES_157_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.157			SHARED_LIB_DIR\elocl_lan.157
-file=ABI_DIR\BUILD_DIR\elocl_reg.158			SHARED_LIB_DIR\elocl_reg.158
-file=ABI_DIR\BUILD_DIR\elocl_col.157			SHARED_LIB_DIR\elocl_col.157 
-#endif // __LOCALES_157_IBY__
-
-#if defined __LOCALES_158_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.158			SHARED_LIB_DIR\elocl_lan.158
-file=ABI_DIR\BUILD_DIR\elocl_reg.344			SHARED_LIB_DIR\elocl_reg.344
-file=ABI_DIR\BUILD_DIR\elocl_col.158			SHARED_LIB_DIR\elocl_col.158 
-#endif // __LOCALES_158_IBY__
-
-#if defined __LOCALES_159_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.159			SHARED_LIB_DIR\elocl_lan.159
-file=ABI_DIR\BUILD_DIR\elocl_reg.156			SHARED_LIB_DIR\elocl_reg.156
-file=ABI_DIR\BUILD_DIR\elocl_col.159			SHARED_LIB_DIR\elocl_col.159 
-#endif // __LOCALES_159_IBY__
-
-#if defined __LOCALES_160_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.160			SHARED_LIB_DIR\elocl_lan.160
-file=ABI_DIR\BUILD_DIR\elocl_reg.392			SHARED_LIB_DIR\elocl_reg.392
-file=ABI_DIR\BUILD_DIR\elocl_col.160			SHARED_LIB_DIR\elocl_col.160 
-#endif // __LOCALES_160_IBY__
-
-#if defined __LOCALES_161_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.161            SHARED_LIB_DIR\elocl_lan.161
-file=ABI_DIR\BUILD_DIR\elocl_reg.764			SHARED_LIB_DIR\elocl_reg.764
-file=ABI_DIR\BUILD_DIR\elocl_col.161			SHARED_LIB_DIR\elocl_col.161 
-#endif // __LOCALES_161_IBY__
-
-#if defined __LOCALES_326_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.326			SHARED_LIB_DIR\elocl_lan.326
-file=ABI_DIR\BUILD_DIR\elocl_reg.458			SHARED_LIB_DIR\elocl_reg.458
-file=ABI_DIR\BUILD_DIR\elocl_col.326			SHARED_LIB_DIR\elocl_col.326 
-#endif // __LOCALES_326_IBY__
-
-#if defined __LOCALES_327_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.327			SHARED_LIB_DIR\elocl_lan.327
-file=ABI_DIR\BUILD_DIR\elocl_reg.360			SHARED_LIB_DIR\elocl_reg.360
-file=ABI_DIR\BUILD_DIR\elocl_col.327			SHARED_LIB_DIR\elocl_col.327 
-#endif // __LOCALES_327_IBY__
-
-#if defined __LOCALES_401_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.401			SHARED_LIB_DIR\elocl_lan.401
-file=ABI_DIR\BUILD_DIR\elocl_reg.724			SHARED_LIB_DIR\elocl_reg.724
-file=ABI_DIR\BUILD_DIR\elocl_col.401			SHARED_LIB_DIR\elocl_col.401 
-#endif // __LOCALES_401_IBY__
-
-#if defined __LOCALES_402_IBY__
-file=ABI_DIR\BUILD_DIR\elocl_lan.402			SHARED_LIB_DIR\elocl_lan.402
-file=ABI_DIR\BUILD_DIR\elocl_reg.727    		SHARED_LIB_DIR\elocl_reg.724
-file=ABI_DIR\BUILD_DIR\elocl_col.402			SHARED_LIB_DIR\elocl_col.420 
-#endif // __LOCALES_402_IBY__
-
-#else
-file=\epoc32\release\armi\DEBUG_DIR\Elocl.dll   System\libs\Elocl.loc
-#endif	//EKA2
-    
-#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locales/loce32/rom/languages.confml	Thu Jul 22 16:43:58 2010 +0100
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration xmlns="http://www.s60.com/xml/confml/2" xmlns:xi="http://www.w3.org/2001/XInclude" name="languages">
+  <feature ref="SystemLanguages" name="System Languages">
+    <setting ref="Language" mapKey="LanguageName" mapValue="LanguageName" name="Language" type="sequence">
+      <setting ref="LanguageName" name="Language Name" type="string"/>
+      <setting ref="LanguageCode" name="Language Code" type="int"/>
+    </setting>
+    <setting ref="Region" mapKey="RegionName" mapValue="RegionName" name="Region" type="sequence">
+      <setting ref="RegionName" name="Region Name" type="string"/>
+      <setting ref="RegionCode" name="Region Code" type="int"/>
+    </setting>
+    <setting ref="Collation" mapKey="CollationName" mapValue="CollationName" name="Collation" type="sequence">
+      <setting ref="CollationName" name="Collation Name" type="string"/>
+      <setting ref="CollationCode" name="Collation Code" type="int"/>
+    </setting>
+    <setting ref="VariantSelection" name="Variant selection" type="sequence">
+      <desc>When the default language / region is changed in the phone UI it will select a certain 
+      the language, region and collation.</desc>
+      <setting ref="SelectedLanguage" name="Selected Language" type="selection">
+        <desc>The input language/region which is selected by user</desc>
+        <option map="SystemLanguages/Language"/>
+      </setting>
+      <setting ref="Language" name="Language" type="selection">
+        <option map="SystemLanguages/Language"/>
+      </setting>
+      <setting ref="Region" name="Region" type="selection">
+        <option map="SystemLanguages/Region"/>
+      </setting>
+      <setting ref="Collation" name="Collation" type="selection">
+        <option map="SystemLanguages/Collation"/>
+      </setting>
+    </setting>
+  </feature>
+</configuration>
\ No newline at end of file
Binary file skins/AknSkinContent/srcdata/scalableseries60skin/scalableseries60skin.txt has changed
--- a/skins/AknSkins/group/AknSkinDescCompiler.mmp	Wed Jun 16 14:20:09 2010 +0100
+++ b/skins/AknSkins/group/AknSkinDescCompiler.mmp	Thu Jul 22 16:43:58 2010 +0100
@@ -36,7 +36,7 @@
 SOURCE         SDCIIDConstants.cpp
 SOURCE         SDCInlOutput.cpp
 SOURCE         SDCInput.cpp
-SOURCE         SDCMbmOutput.cpp
+SOURCE         SDCMBMOutput.cpp
 SOURCE         SDCPkgOutput.cpp
 SOURCE         SDCReader.cpp
 
--- a/skins/AknSkins/group/AknSkinDescCompiler_NR.mmp	Wed Jun 16 14:20:09 2010 +0100
+++ b/skins/AknSkins/group/AknSkinDescCompiler_NR.mmp	Thu Jul 22 16:43:58 2010 +0100
@@ -36,7 +36,7 @@
 SOURCE         SDCIIDConstants.cpp
 SOURCE         SDCInlOutput.cpp
 SOURCE         SDCInput.cpp
-SOURCE         SDCMbmOutput.cpp
+SOURCE         SDCMBMOutput.cpp
 SOURCE         SDCPkgOutput.cpp
 SOURCE         SDCReader.cpp
 
--- a/skins/AknSkins/rom/aknskins.iby	Wed Jun 16 14:20:09 2010 +0100
+++ b/skins/AknSkins/rom/aknskins.iby	Thu Jul 22 16:43:58 2010 +0100
@@ -30,9 +30,9 @@
 
 // Series 60 Default System Skin
 
-AUTO-BITMAP=DATAZ_\RESOURCE_FILES_DIR\skins\101f84b9\Series60Skin.mbm  RESOURCE_FILES_DIR\skins\101f84b9\Series60Skin.mbm
-data=DATAZ_\SKINS_DIR\import\101f84b9\Series60Skin.skn         SKINS_DIR\import\101f84b9\Series60Skin.skn
-data=DATAZ_\RESOURCE_FILES_DIR\skins\101f84b9\Series60Skin.mif         RESOURCE_FILES_DIR\skins\101f84b9\Series60Skin.mif
+AUTO-BITMAP=DATAZ_\RESOURCE_FILES_DIR\skins\101f84b9\series60skin.mbm  RESOURCE_FILES_DIR\skins\101f84b9\series60skin.mbm
+data=DATAZ_\SKINS_DIR\import\101f84b9\series60skin.skn         SKINS_DIR\import\101f84b9\series60skin.skn
+data=DATAZ_\RESOURCE_FILES_DIR\skins\101f84b9\series60skin.mif         RESOURCE_FILES_DIR\skins\101f84b9\series60skin.mif
 
 // Series 60 Default System Skin MIF CDL header
 ECOM_PLUGIN(101f84b9.dll,101f84b9.rsc)
@@ -40,17 +40,17 @@
 
 // "Haze" ROM skin
 #if defined(FF_THEME_HAZE)
-AUTO-BITMAP=DATAZ_\RESOURCE_FILES_DIR\skins\2000B12D\Haze.mbm  RESOURCE_FILES_DIR\skins\2000B12D\Haze.mbm
-data=DATAZ_\SKINS_DIR\import\2000B12D\Haze.skn         SKINS_DIR\import\2000B12D\Haze.skn
-data=DATAZ_\RESOURCE_FILES_DIR\skins\2000B12D\Haze.mif         RESOURCE_FILES_DIR\skins\2000B12D\Haze.mif
+AUTO-BITMAP=DATAZ_\RESOURCE_FILES_DIR\skins\2000B12D\haze.mbm  RESOURCE_FILES_DIR\skins\2000B12D\haze.mbm
+data=DATAZ_\SKINS_DIR\import\2000B12D\haze.skn         SKINS_DIR\import\2000B12D\haze.skn
+data=DATAZ_\RESOURCE_FILES_DIR\skins\2000B12D\haze.mif         RESOURCE_FILES_DIR\skins\2000B12D\haze.mif
 #endif
 
 // "JingMask" ROM Mask
 #if defined(FF_THEME_JINGMASK)
 // (zero-length, must be excluded to make bmconv work in ROM image creation)
-//AUTO-BITMAP=DATAZ_\RESOURCE_FILES_DIR\skins\2000B12E\Jing.mbm  RESOURCE_FILES_DIR\skins\2000B12E\Jing.mbm
-data=DATAZ_\SKINS_DIR\import\2000B12E\Jing.skn         SKINS_DIR\import\2000B12E\Jing.skn
-data=DATAZ_\RESOURCE_FILES_DIR\skins\2000B12E\Jing.mif         RESOURCE_FILES_DIR\skins\2000B12E\Jing.mif
+//AUTO-BITMAP=DATAZ_\RESOURCE_FILES_DIR\skins\2000B12E\jing.mbm  RESOURCE_FILES_DIR\skins\2000B12E\jing.mbm
+data=DATAZ_\SKINS_DIR\import\2000B12E\jing.skn         SKINS_DIR\import\2000B12E\jing.skn
+data=DATAZ_\RESOURCE_FILES_DIR\skins\2000B12E\jing.mif         RESOURCE_FILES_DIR\skins\2000B12E\jing.mif
 #endif
 
 
--- a/skins/AknSkins/sdcinc/AknsConvertedConstants_NR.inl	Wed Jun 16 14:20:09 2010 +0100
+++ b/skins/AknSkins/sdcinc/AknsConvertedConstants_NR.inl	Thu Jul 22 16:43:58 2010 +0100
@@ -1,20 +1,3 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: 
-*
-*/
-
 {L"KAknsIIDNone",  EAknsMajorNone, EAknsMinorNone },
 {L"KAknsIIDDefault",  EAknsMajorDefault, EAknsMinorDefault },
 {L"KAknsIIDQsnBgScreen",  EAknsMajorSkin, EAknsMinorQsnBgScreen },
--- a/skins/AknSkins/sdcinc/SDCInput.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/skins/AknSkins/sdcinc/SDCInput.h	Thu Jul 22 16:43:58 2010 +0100
@@ -47,6 +47,7 @@
 public:
     static int ConvertToNumber( const wchar_t* aToken );
     static void ConvertToAscii( char* aTarget, const wchar_t* aSource );
+    static void ConvertToWchar( wchar_t* aTarget, const char* aSource );
     static void ConvertToAsciiWithCPPEscapes( char* aTarget, const wchar_t* aSource );
     static TSDCColorDepth ConvertToColorDepth( const wchar_t* aToken );
     static int ConvertToLayer( const wchar_t* aToken );
--- a/skins/AknSkins/sdcsrc/SDCInlOutput.cpp	Wed Jun 16 14:20:09 2010 +0100
+++ b/skins/AknSkins/sdcsrc/SDCInlOutput.cpp	Thu Jul 22 16:43:58 2010 +0100
@@ -291,8 +291,9 @@
     fprintf( file, "\nCAPABILITY CAP_GENERAL_DLL\n" );
 
     fprintf( file, "\nUSERINCLUDE \\s60\\AknSkins\\srvinc\n" );
-    fprintf( file, "SYSTEMINCLUDE \\epoc32\\include \\epoc32\\include\\oem\n" );
-
+    fprintf( file, "#include <platform_paths.hrh>\nMW_LAYER_SYSTEMINCLUDE\n" );
+		fprintf( file, "SYSTEMINCLUDE \\epoc32\\include\\oem\n" );
+		
     fprintf( file, "\nLIBRARY euser.lib\n" );
 
     fprintf( file, "\nSOURCE %s_ContentDLL.cpp\n", aSkinName );
--- a/skins/AknSkins/sdcsrc/SDCInput.cpp	Wed Jun 16 14:20:09 2010 +0100
+++ b/skins/AknSkins/sdcsrc/SDCInput.cpp	Thu Jul 22 16:43:58 2010 +0100
@@ -241,13 +241,12 @@
 
 void CSDCInput::ConvertToAscii( char* aTarget, const wchar_t* aSource )
     {
-    int i = 0;
-    while( true )
-        {
-        aTarget[i] = (char)aSource[i];
-        if( !aSource[i] ) break;
-        i++;
-        }
+    while( *aTarget++ = (char)*aSource++);
+    }
+
+void CSDCInput::ConvertToWchar( wchar_t* aTarget, const char* aSource )
+    {
+    while( *aTarget++ = (wchar_t)*aSource++);
     }
 
 void CSDCInput::ConvertToAsciiWithCPPEscapes( char* aTarget, const wchar_t* aSource )
@@ -343,7 +342,7 @@
 #if (defined(__MSVCRT__) || defined(_MSC_VER))
         iNextChar = fgetwc( iFile );
 #else
-        /* to make it work under linux */
+        /* Workaround for linux */
         char c1 = fgetc(iFile);
         char c2 = fgetc(iFile);
         
--- a/skins/AknSkins/sdcsrc/SDCMBMOutput.cpp	Wed Jun 16 14:20:09 2010 +0100
+++ b/skins/AknSkins/sdcsrc/SDCMBMOutput.cpp	Thu Jul 22 16:43:58 2010 +0100
@@ -44,7 +44,7 @@
 
     if( aData->IsScalable() )
         {
-        fprintf( file, "/E\n" );
+        fprintf( file, "-E\n" );
         }
     else
         {
@@ -63,16 +63,16 @@
             {
             switch( entry->iColorDepth )
                 {
-                case ESDCColorDepth1: fprintf( file, "/1" ); break;
-                case ESDCColorDepth2: fprintf( file, "/2" ); break;
-                case ESDCColorDepth4: fprintf( file, "/4" ); break;
-                case ESDCColorDepth8: fprintf( file, "/8" ); break;
-                case ESDCColorDepthC4: fprintf( file, "/c4" ); break;
-                case ESDCColorDepthC8: fprintf( file, "/c8" ); break;
-                case ESDCColorDepthC12: fprintf( file, "/c12" ); break;
-                case ESDCColorDepthC16: fprintf( file, "/c16" ); break;
-                case ESDCColorDepthC24: fprintf( file, "/c24" ); break;
-                case ESDCColorDepthC32: fprintf( file, "/c32" ); break;
+                case ESDCColorDepth1:   fprintf( file, "-1"   ); break;
+                case ESDCColorDepth2:   fprintf( file, "-2"   ); break;
+                case ESDCColorDepth4:   fprintf( file, "-4"   ); break;
+                case ESDCColorDepth8:   fprintf( file, "-8"   ); break;
+                case ESDCColorDepthC4:  fprintf( file, "-c4"  ); break;
+                case ESDCColorDepthC8:  fprintf( file, "-c8"  ); break;
+                case ESDCColorDepthC12: fprintf( file, "-c12" ); break;
+                case ESDCColorDepthC16: fprintf( file, "-c16" ); break;
+                case ESDCColorDepthC24: fprintf( file, "-c24" ); break;
+                case ESDCColorDepthC32: fprintf( file, "-c32" ); break;
                 default:
                     throw CSDCException( ESDCUnknownError, "Unknown color depth value used internally" );
                 }
@@ -89,7 +89,7 @@
             fprintf( file, " " );
             if ( entry->iSvgAnim )
                 {
-                 fprintf( file, "/A " );
+                fprintf( file, "-A " );
                 }
             char pathBuf[512];
             gInput.ConvertToAscii( pathBuf, entry->iSourcePath );
@@ -101,16 +101,16 @@
             {
             switch( entry->iColorDepth )
                 {
-                case ESDCColorDepth1: fprintf( file, "/1" ); break;
-                case ESDCColorDepth2: fprintf( file, "/2" ); break;
-                case ESDCColorDepth4: fprintf( file, "/4" ); break;
-                case ESDCColorDepth8: fprintf( file, "/8" ); break;
-                case ESDCColorDepthC4: fprintf( file, "/c4" ); break;
-                case ESDCColorDepthC8: fprintf( file, "/c8" ); break;
-                case ESDCColorDepthC12: fprintf( file, "/c12" ); break;
-                case ESDCColorDepthC16: fprintf( file, "/c16" ); break;
-                case ESDCColorDepthC24: fprintf( file, "/c24" ); break;
-                case ESDCColorDepthC32: fprintf( file, "/c32" ); break;
+                case ESDCColorDepth1:   fprintf( file, "-1"   ); break;
+                case ESDCColorDepth2:   fprintf( file, "-2"   ); break;
+                case ESDCColorDepth4:   fprintf( file, "-4"   ); break;
+                case ESDCColorDepth8:   fprintf( file, "-8"   ); break;
+                case ESDCColorDepthC4:  fprintf( file, "-c4"  ); break;
+                case ESDCColorDepthC8:  fprintf( file, "-c8"  ); break;
+                case ESDCColorDepthC12: fprintf( file, "-c12" ); break;
+                case ESDCColorDepthC16: fprintf( file, "-c16" ); break;
+                case ESDCColorDepthC24: fprintf( file, "-c24" ); break;
+                case ESDCColorDepthC32: fprintf( file, "-c32" ); break;
                 default:
                     throw CSDCException( ESDCUnknownError, "Unknown color depth value used internally" );
                 }
@@ -123,10 +123,10 @@
             switch( entry->iMaskColorDepth )
                 {
                 case ESDCColorDepthNone: continue;
-                case ESDCColorDepth1: fprintf( file, "/1" ); break;
-                case ESDCColorDepth2: fprintf( file, "/2" ); break;
-                case ESDCColorDepth4: fprintf( file, "/4" ); break;
-                case ESDCColorDepth8: fprintf( file, "/8" ); break;
+                case ESDCColorDepth1: fprintf( file, "-1" ); break;
+                case ESDCColorDepth2: fprintf( file, "-2" ); break;
+                case ESDCColorDepth4: fprintf( file, "-4" ); break;
+                case ESDCColorDepth8: fprintf( file, "-8" ); break;
                 default:
                     throw CSDCException( ESDCUnknownError, "Unknown color depth value used internally" );
                 }
--- a/skins/AknSkins/sdcsrc/SDCReader.cpp	Wed Jun 16 14:20:09 2010 +0100
+++ b/skins/AknSkins/sdcsrc/SDCReader.cpp	Thu Jul 22 16:43:58 2010 +0100
@@ -988,9 +988,30 @@
         {
         bool changed( true );
         if( sd_wcscasecmp( gInput.iToken, iData->iBmpPath ) == 0 ) changed = false;
-        iData->SetBmpPath( gInput.iToken );
         char buf[512];
         CSDCInput::ConvertToAscii( buf, gInput.iToken );
+
+        /* prepend EPOCROOT on linux */
+        if(buf[0] == '/')
+            {
+#if (defined(__MSVCRT__) || defined(_MSC_VER))
+            /* FIXME: We have to use \\ for referencing root path on Windows? */
+            buf[0] = '\\';
+            
+            CSDCInput::ConvertToWchar(gInput.iToken, buf);
+#else
+            char b[512];
+
+            sprintf(b, "%s%s", getenv("EPOCROOT"), buf);
+
+            strcpy(buf, b);
+
+            CSDCInput::ConvertToWchar(gInput.iToken, b);
+#endif
+            }
+
+        iData->SetBmpPath( gInput.iToken );
+        
         if( changed )
             printf("NOTE: Bitmap source path set to %s\n", buf );
         }
--- a/skins/AknSkins/src/AknsAppSkinInstance.cpp	Wed Jun 16 14:20:09 2010 +0100
+++ b/skins/AknSkins/src/AknsAppSkinInstance.cpp	Thu Jul 22 16:43:58 2010 +0100
@@ -758,7 +758,6 @@
             {
             // Do not create an entry for typed miss, otherwise we might hide
             // a real item
-            delete itemData;
             return NULL;
             }
         }
--- a/skins/AknSkins/srvinc/AknsSrvFileBuffer.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/skins/AknSkins/srvinc/AknsSrvFileBuffer.h	Thu Jul 22 16:43:58 2010 +0100
@@ -24,6 +24,7 @@
 #include <e32std.h>
 #include <f32file.h>
 #include <caf/caf.h>
+#include <caf/cafplatform.h>
 // CLASS DECLARATION
 
 /**
--- a/skins/AknSkins/srvsrc/AknsSrv.cpp	Wed Jun 16 14:20:09 2010 +0100
+++ b/skins/AknSkins/srvsrc/AknsSrv.cpp	Thu Jul 22 16:43:58 2010 +0100
@@ -100,25 +100,24 @@
 	aStartFailed = EFalse;
 	
     CAknsSrv* server = new CAknsSrv();
-    server->iMergeType = (TAknsSkinSrvMergeType)(
-        EAknsSkinSrvSkin | EAknsSkinSrvIdleWp );
-    server->iBootFinished = EFalse;
-    if ( server )
-        {
-        if ( server->Start( KAknSkinSrvName ) != KErrNone )
-            {
-            AKNS_TRACE_ERROR("CAknsSrv::New START FAILED!");
-
-           	aStartFailed = ETrue;
-            delete server;
-            return NULL;
-            }
-        }
-    else
+    if ( !server )
         {
         AKNS_TRACE_ERROR("CAknsSrv::New SERVER ALLOCATION FAILED!");
         return NULL;
         }
+
+    server->iMergeType = (TAknsSkinSrvMergeType)(
+        EAknsSkinSrvSkin | EAknsSkinSrvIdleWp );
+    server->iBootFinished = EFalse;
+    if (server->Start(KAknSkinSrvName) != KErrNone)
+        {
+        AKNS_TRACE_ERROR("CAknsSrv::New START FAILED!");
+
+        aStartFailed = ETrue;
+        delete server;
+        return NULL;
+        }
+
     server->iBitmapStore = new CAknsSrvBitmapStore;
     if( !server->iBitmapStore )
         {
--- a/skins/AknSkins/srvsrc/AknsSrvChunkMaintainer.cpp	Wed Jun 16 14:20:09 2010 +0100
+++ b/skins/AknSkins/srvsrc/AknsSrvChunkMaintainer.cpp	Thu Jul 22 16:43:58 2010 +0100
@@ -279,7 +279,7 @@
     TAknsSrvEffectQueueDef applyGfxEffectQueue;
     applyGfxEffectQueue.iEffectQueueSize = sizeof(TAknsSrvEffectQueueDef)
         + 2*sizeof(TAknsSrvEffectDef) + 3*sizeof(TAknsSrvEffectParameterDef)
-        + 11*sizeof(TInt32);
+        + 8*sizeof(TInt32);
     applyGfxEffectQueue.iInputLayerIndex =0;
     applyGfxEffectQueue.iInputLayerMode = 2; //RGB
     applyGfxEffectQueue.iOutputLayerIndex = 2;
--- a/skins/AknSkins/srvsrc/AknsSrvUtils.cpp	Wed Jun 16 14:20:09 2010 +0100
+++ b/skins/AknSkins/srvsrc/AknsSrvUtils.cpp	Thu Jul 22 16:43:58 2010 +0100
@@ -24,7 +24,7 @@
 #include <DRMRights.h>
 
 #include <DRMHelper.h>
-#include <caf/caf.h>
+#include <caf/cafplatform.h>
 #include <caf/rightsinfo.h>
 
 #include "AknsSrvUtils.h"
--- a/skins/AknSkins/srvsrc/tfxconfigparser.cpp	Wed Jun 16 14:20:09 2010 +0100
+++ b/skins/AknSkins/srvsrc/tfxconfigparser.cpp	Thu Jul 22 16:43:58 2010 +0100
@@ -989,7 +989,7 @@
             {
             CTFxTransition* transition = transitionarray->operator[](count);
             CTFxEffect* effect = transition->Effect();
-            if (transition && effect && effect->PathIndex() >=0)
+            if ( effect && effect->PathIndex() >=0 )
                 {
                 err = aTransSrv->RegisterFullscreenKml(transition->ContextId(),
                     transition->Uid(),
@@ -1014,7 +1014,7 @@
             {
             CTFxCtrlTransition* ctrltransition = ctrltransitionarray->operator[](count);
             CTFxEffect* effect = ctrltransition->Effect();
-            if (ctrltransition && effect && effect->PathIndex() >=0)
+            if ( effect && effect->PathIndex() >=0)
                 {
                 if (!ctrltransition->KmlRegistrationStatus())
                     {
--- a/uiconfig/s60config/src/epoc_360x640_nhd4.ini	Wed Jun 16 14:20:09 2010 +0100
+++ b/uiconfig/s60config/src/epoc_360x640_nhd4.ini	Thu Jul 22 16:43:58 2010 +0100
@@ -72,6 +72,9 @@
 KeyMap Home EStdKeyApplication0
 KeyMap LeftAlt 1 EStdKeyDevice0
 KeyMap LeftAlt 2 EStdKeyDevice1
+KeyMap LeftAlt 3 EStdKeyDevice4
+KeyMap LeftAlt 4 EStdKeyDevice5
+KeyMap LeftAlt 5 EStdKeyDeviceF
 
 
 
--- a/uiconfig/s60config/src/epoc_360x640_touch.ini	Wed Jun 16 14:20:09 2010 +0100
+++ b/uiconfig/s60config/src/epoc_360x640_touch.ini	Thu Jul 22 16:43:58 2010 +0100
@@ -72,6 +72,9 @@
 KeyMap Home EStdKeyApplication0
 KeyMap LeftAlt 1 EStdKeyDevice0
 KeyMap LeftAlt 2 EStdKeyDevice1
+KeyMap LeftAlt 3 EStdKeyDevice4
+KeyMap LeftAlt 4 EStdKeyDevice5
+KeyMap LeftAlt 5 EStdKeyDeviceF
 
 
 
--- a/uiconfig/s60config/src/epoc_640x360_nhd4_qwerty.ini	Wed Jun 16 14:20:09 2010 +0100
+++ b/uiconfig/s60config/src/epoc_640x360_nhd4_qwerty.ini	Thu Jul 22 16:43:58 2010 +0100
@@ -127,6 +127,9 @@
 KeyMap Home EStdKeyApplication0
 KeyMap LeftAlt 1 EStdKeyDevice0
 KeyMap LeftAlt 2 EStdKeyDevice1
+KeyMap LeftAlt 3 EStdKeyDevice4
+KeyMap LeftAlt 4 EStdKeyDevice5
+KeyMap LeftAlt 5 EStdKeyDeviceF
 
 
 
--- a/uiconfig/s60config/src/epoc_640x360_touch_qwerty.ini	Wed Jun 16 14:20:09 2010 +0100
+++ b/uiconfig/s60config/src/epoc_640x360_touch_qwerty.ini	Thu Jul 22 16:43:58 2010 +0100
@@ -127,6 +127,9 @@
 KeyMap Home EStdKeyApplication0
 KeyMap LeftAlt 1 EStdKeyDevice0
 KeyMap LeftAlt 2 EStdKeyDevice1
+KeyMap LeftAlt 3 EStdKeyDevice4
+KeyMap LeftAlt 4 EStdKeyDevice5
+KeyMap LeftAlt 5 EStdKeyDeviceF
 
 
 
--- a/uiconfig/s60config/src/epoc_640x480_touch_qwerty.ini	Wed Jun 16 14:20:09 2010 +0100
+++ b/uiconfig/s60config/src/epoc_640x480_touch_qwerty.ini	Thu Jul 22 16:43:58 2010 +0100
@@ -126,6 +126,9 @@
 KeyMap Home EStdKeyApplication0
 KeyMap LeftAlt 1 EStdKeyDevice0
 KeyMap LeftAlt 2 EStdKeyDevice1
+KeyMap LeftAlt 3 EStdKeyDevice4
+KeyMap LeftAlt 4 EStdKeyDevice5
+KeyMap LeftAlt 5 EStdKeyDeviceF
 
 
 
--- a/uigraphics/AknIcon/SvgtFbsRasterizer/group/SvgtFbsRasterizer.mmp	Wed Jun 16 14:20:09 2010 +0100
+++ b/uigraphics/AknIcon/SvgtFbsRasterizer/group/SvgtFbsRasterizer.mmp	Thu Jul 22 16:43:58 2010 +0100
@@ -40,6 +40,7 @@
 SOURCE SvgtFbsRasterizer.cpp
 SOURCE svgtregisteredbitmap.cpp 
 SOURCE svgtgraphicsinterface.cpp
+SOURCE SvgtRasterizerOOMPropertyMonitor.cpp
 
 #ifdef _EGL_SUPPORT_ENABLED_
 SOURCE eglgraphicsinterface.cpp
--- a/uigraphics/AknIcon/SvgtFbsRasterizer/inc/SvgtFbsRasterizer.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/uigraphics/AknIcon/SvgtFbsRasterizer/inc/SvgtFbsRasterizer.h	Thu Jul 22 16:43:58 2010 +0100
@@ -21,6 +21,9 @@
 #include "SvgtRegisteredBitmap.h"
 #include "svgtgraphicsinterface.h"
 #include <graphics/fbsrasterizer.h>
+#include <graphics/fbsrasterizerclearcache.h>
+#include "SvgtRasterizerCacheLimitHandler.h"
+
 #include <e32base.h>
 #include <VG/openvg.h>
 
@@ -36,11 +39,14 @@
 
 TBool operator==(const CFbsRasterizer::TBitmapDesc& aBitmapDesc1, const CFbsRasterizer::TBitmapDesc& aBitmapDesc2);
 
+class CSvgtRasterizerOOMPropertyMonitor;
 
 /** Example implementation of a rasterizer that is used to generate pixel
 data for extended bitmaps of example type KUidExtendedBitmapExample. 
  */
-NONSHARABLE_CLASS (CSvgtFbsRasterizer) : public CFbsRasterizer
+NONSHARABLE_CLASS (CSvgtFbsRasterizer) : public CFbsRasterizer, 
+                                            public MFbsRasterizerClearCache,
+                                            public MSvgtRasterizerCacheLimitHandler
     {
 public:
     IMPORT_C static CFbsRasterizer* New();
@@ -100,6 +106,13 @@
      * Returns cache limit (if) specific to process
      */
     TInt GetCacheLimit(TUid aProcessUID) const;
+
+    //From MFbsRasterizerClearCache
+    virtual void ClearCache();
+    
+    //from MSvgtRasterizerCacheLimitHandler
+    virtual void ChangeCacheLimit( TBool aChangeCacheLimit );
+
 private: //Data members
     /** List of currently registered extended bitmaps, the key is the bitmap id.
      */
@@ -114,6 +127,7 @@
      */
     
     CSvgtGraphicsInterface * iGraphicsInterface;
+    CSvgtRasterizerOOMPropertyMonitor* iMonitor;
          
     TBool iIsRasterizerValidState;
     TBool iMatricesUpdated;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/uigraphics/AknIcon/SvgtFbsRasterizer/inc/SvgtRasterizerCacheLimitHandler.h	Thu Jul 22 16:43:58 2010 +0100
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   MSvgtRasterizerCacheLimitHandler class.
+*
+*/
+
+#if !defined(_ENABLESVGTRASTERIZER_H_)
+#define _ENABLESVGTRASTERIZER_H_
+#include <e32def.h>
+
+const TUint32 KUidEnableSvgtRasterizer = 0x10286586;
+
+class MSvgtRasterizerCacheLimitHandler
+    {
+public:
+    virtual void ChangeCacheLimit( TBool aChangeCacheLimit ) = 0;
+    };
+
+#endif //_ENABLESVGTRASTERIZER_H_
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/uigraphics/AknIcon/SvgtFbsRasterizer/inc/SvgtRasterizerOOMPropertyMonitor.h	Thu Jul 22 16:43:58 2010 +0100
@@ -0,0 +1,47 @@
+/*
+* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   CSvgtRasterizerOOMPropertyMonitor class for OOM implementation.
+*
+*/
+#if !defined(_SVGTRASTERIZEROOMPROPERTYMONITOR_H_)
+#define _SVGTRASTERIZEROOMPROPERTYMONITOR_H_
+
+#include <e32base.h>
+#include <e32property.h>
+#include "SvgtRasterizerKeyDefs.hrh"
+class CFbsRasterizer;
+
+class CSvgtRasterizerOOMPropertyMonitor : public CActive
+    {
+public:
+    static CSvgtRasterizerOOMPropertyMonitor* NewL();
+    ~CSvgtRasterizerOOMPropertyMonitor();
+    
+private: //Class methods
+    CSvgtRasterizerOOMPropertyMonitor();
+    void ConstructL();
+    void Queue();
+
+private: //From CActive
+    void RunL();
+    void DoCancel();
+
+private:
+    RProperty iOomWatcher;
+    CFbsRasterizer* iRasterizer;
+    };
+    
+#endif //_SVGTRASTERIZEROOMPROPERTYMONITOR_H_
+
+    
--- a/uigraphics/AknIcon/SvgtFbsRasterizer/src/SvgtFbsRasterizer.cpp	Wed Jun 16 14:20:09 2010 +0100
+++ b/uigraphics/AknIcon/SvgtFbsRasterizer/src/SvgtFbsRasterizer.cpp	Thu Jul 22 16:43:58 2010 +0100
@@ -28,6 +28,8 @@
 #include <bitstd.h>
 #include <bitdev.h>
 
+#include "SvgtRasterizerOOMPropertyMonitor.h"
+
 TBool operator==(const CFbsRasterizer::TBitmapDesc& aBitmapDesc1, 
 				 const CFbsRasterizer::TBitmapDesc& aBitmapDesc2)
 	{
@@ -64,11 +66,10 @@
 
 /** Constructor */
 CSvgtFbsRasterizer::CSvgtFbsRasterizer()
-    :iRegisteredBmps(_FOFF(CSvgtRegisteredBitmap, iLink)), iRecentBmps(_FOFF(CSvgtRegisteredBitmap, iLink))
-	{
-	    RProcess currentProcess;
-	    iCacheLimit = GetCacheLimit(currentProcess.SecureId());
-	    }
+:iRegisteredBmps(_FOFF(CSvgtRegisteredBitmap, iLink)), iRecentBmps(_FOFF(CSvgtRegisteredBitmap, iLink))
+	            {
+
+	            }
 
 CSvgtFbsRasterizer::~CSvgtFbsRasterizer()
     {
@@ -87,6 +88,18 @@
         {
         RestoreMatrices();
         }
+    delete iMonitor;//OOM
+    }
+
+void CSvgtFbsRasterizer::ChangeCacheLimit( TBool aChangeCacheLimit )//OOM
+    {
+    iCacheLimit = KMaxRecentBmpCacheSize;
+
+    if(aChangeCacheLimit)
+        {
+        RProcess currentProcess;
+        iCacheLimit = GetCacheLimit(currentProcess.SecureId());
+        }
     }
 
 /** Register a bitmap with this rasterizer for rendering. In this example the extended 
@@ -206,11 +219,28 @@
 /**  No extension interaces are available, KErrNotSupported for all aInterfaceId passed.
 @see CFbsRasterizer::GetInterface()
  */
-TInt CSvgtFbsRasterizer::GetInterface(TUid /*aInterfaceId*/, TAny*& aInterface)
-	{
-	aInterface = NULL;
-	return KErrExtensionNotSupported;
-	}
+TInt CSvgtFbsRasterizer::GetInterface(TUid aInterfaceId, TAny*& aInterface)
+    {
+    aInterface = NULL;
+    TInt err = KErrNone;
+
+    switch (aInterfaceId.iUid)
+        {
+        case KUidFbsRasterizerClearCache:
+            aInterface = static_cast<MFbsRasterizerClearCache*>(this);
+            break;
+        case KUidEnableSvgtRasterizer:
+            aInterface = static_cast<MSvgtRasterizerCacheLimitHandler*>(this);
+            break;
+        default:
+            err = KErrExtensionNotSupported;                        
+            break;
+        }
+
+    return err;
+
+
+    }
 
 
 /** Gets a bitmap that has been registered with this rasterizer.
@@ -253,6 +283,16 @@
 
 void CSvgtFbsRasterizer::InitializeRasterizer()
     {
+    TBool cacheEnabled=TRUE;
+    RProperty::Get(KSvgtPropertyCategory, ESvgtPropertyBool, cacheEnabled);
+    iCacheLimit = KMaxRecentBmpCacheSize;
+    if(cacheEnabled)
+        {
+        RProcess currentProcess;
+        iCacheLimit = GetCacheLimit(currentProcess.SecureId());
+        }
+    TRAPD(err, iMonitor = CSvgtRasterizerOOMPropertyMonitor::NewL());
+    iIsRasterizerValidState = ( err == KErrNone);
     }
 
 void CSvgtFbsRasterizer::RenderBitmapL(CSvgtRegisteredBitmap& aPixMap, CFbsBitmap * aMask, 
@@ -639,11 +679,11 @@
     }
 
 TInt CSvgtFbsRasterizer::GetCacheLimit(TUid aProcessUID) const
-    {
+{
     TInt cacheLimit = KMaxRecentBmpCacheSize;
-
+    
     RProcess currentProcess;
-   
+    
     if(aProcessUID == TUid::Uid(0x10003B20)) // Alf 
         {
         cacheLimit = 0x600000; 
@@ -654,4 +694,17 @@
         }
     
     return cacheLimit;
+}
+void CSvgtFbsRasterizer::ClearCache()//OOM 
+    {
+    CSvgtRegisteredBitmap* regBmp=NULL;
+    if(iCacheLimit>KMaxRecentBmpCacheSize)
+        { 
+        while (!iRecentBmps.IsEmpty()&&(iTotalRecentBmpSize > KMaxRecentBmpCacheSize))
+            {
+            regBmp = iRecentBmps.Last();
+            iTotalRecentBmpSize -= regBmp->DataSize();
+            delete regBmp;
+            }
+        }
     }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/uigraphics/AknIcon/SvgtFbsRasterizer/src/SvgtRasterizerOOMPropertyMonitor.cpp	Thu Jul 22 16:43:58 2010 +0100
@@ -0,0 +1,95 @@
+/*
+ * Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "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:    CSvgtRasterizerOOMPropertyMonitor class for OOM implementation.
+ *
+ */
+
+#include "SvgtRasterizerOOMPropertyMonitor.h"
+#include <graphics/fbsrasterizer.h>
+#include <graphics/fbsrasterizerclearcache.h>
+#include "SvgtRasterizerCacheLimitHandler.h"
+#include <fbs.h>
+//#include <e32debug.h>
+
+CSvgtRasterizerOOMPropertyMonitor* CSvgtRasterizerOOMPropertyMonitor::NewL()
+    {
+    CSvgtRasterizerOOMPropertyMonitor* self = new (ELeave) CSvgtRasterizerOOMPropertyMonitor();
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;
+    }
+
+CSvgtRasterizerOOMPropertyMonitor::CSvgtRasterizerOOMPropertyMonitor()
+: CActive(CActive::EPriorityStandard)
+            {
+            if (CActiveScheduler::Current())
+                {
+                CActiveScheduler::Add(this);
+                }
+
+            }
+
+CSvgtRasterizerOOMPropertyMonitor::~CSvgtRasterizerOOMPropertyMonitor()
+    {
+    if (CActiveScheduler::Current())
+        {    
+        Cancel();
+        }
+    iOomWatcher.Close();
+    } 
+
+void CSvgtRasterizerOOMPropertyMonitor::ConstructL()
+    {
+    
+    if (CActiveScheduler::Current())    
+        {
+        User::LeaveIfError(iOomWatcher.Attach(KSvgtPropertyCategory, ESvgtPropertyBool));
+        Queue();
+        }
+    }
+
+void CSvgtRasterizerOOMPropertyMonitor::RunL()
+    {
+    TBool changeCacheLimit=ETrue;
+    iOomWatcher.Get(changeCacheLimit);
+    iRasterizer = CFbsBitmap::Rasterizer();
+    if(!changeCacheLimit)
+        {
+        MFbsRasterizerClearCache* cacheInterfacePtr = NULL;
+        iRasterizer->GetInterface(TUid::Uid(KUidFbsRasterizerClearCache), (TAny*&)cacheInterfacePtr);
+        if(cacheInterfacePtr)
+            cacheInterfacePtr->ClearCache();
+        }
+    MSvgtRasterizerCacheLimitHandler* interfacePtr = NULL;
+    iRasterizer->GetInterface(TUid::Uid(KUidEnableSvgtRasterizer), (TAny*&)interfacePtr);
+    if(interfacePtr)
+        interfacePtr->ChangeCacheLimit(changeCacheLimit);
+    Queue();
+    }
+
+void CSvgtRasterizerOOMPropertyMonitor::DoCancel()
+    {
+    iOomWatcher.Cancel();
+    }
+
+void CSvgtRasterizerOOMPropertyMonitor::Queue()
+    {
+    if (!IsActive())
+        {
+        iOomWatcher.Subscribe(iStatus);
+        SetActive();
+        }
+    }
+
--- a/uigraphics/AknIcon/group/AknIconInterfaces.mk	Wed Jun 16 14:20:09 2010 +0100
+++ b/uigraphics/AknIcon/group/AknIconInterfaces.mk	Thu Jul 22 16:43:58 2010 +0100
@@ -33,9 +33,9 @@
 BLD : do_nothing
 
 CLEAN :
-	-$(call remove,$(EPOCROOT)epoc32/include/platform/mw/MifHeader.cdl.h)	
-	-$(call remove,$(EPOCROOT)epoc32/include/platform/mw/MifHeader.cdl.common.h)	
-	-$(call remove,$(EPOCROOT)epoc32/include/platform/mw/MifHeader.cdl.common.hrh)	
+	-$(call remove,$(EPOCROOT)epoc32/include/platform/mw/mifheader.cdl.h)	
+	-$(call remove,$(EPOCROOT)epoc32/include/platform/mw/mifheader.cdl.common.h)	
+	-$(call remove,$(EPOCROOT)epoc32/include/platform/mw/mifheader.cdl.common.hrh)	
 
 LIB : do_nothing
 
@@ -48,8 +48,8 @@
 SAVESPACE : do_nothing
 
 RELEASABLES :
-	@echo $(EPOCROOT)epoc32/include/platform/mw/MifHeader.cdl.h
-	@echo $(EPOCROOT)epoc32/include/platform/mw/MifHeader.cdl.common.h
-	@echo $(EPOCROOT)epoc32/include/platform/mw/MifHeader.cdl.common.hrh
+	@echo $(EPOCROOT)epoc32/include/platform/mw/mifheader.cdl.h
+	@echo $(EPOCROOT)epoc32/include/platform/mw/mifheader.cdl.common.h
+	@echo $(EPOCROOT)epoc32/include/platform/mw/mifheader.cdl.common.hrh
 
 FINAL : do_nothing
--- a/uigraphics/AknIcon/group/akniconinterfaces.flm	Wed Jun 16 14:20:09 2010 +0100
+++ b/uigraphics/AknIcon/group/akniconinterfaces.flm	Thu Jul 22 16:43:58 2010 +0100
@@ -31,7 +31,7 @@
 
 $(TARGETS) : $(CDLCOMPILER) $(TARGETDIR)/$(FILENAME).cdl
 	$(call startrule,generatecdlheaders,FORCESUCCESS) \
-	$(CDLCOMPILER) client -p$(subst /,\\\\,$(TARGETDIR)) $(subst /,\\\\,$(TARGETDIR)/)$(FILENAME).cdl \
+	$(CDLCOMPILER) client -p$(TARGETDIR) $(TARGETDIR)/$(FILENAME).cdl \
 	$(call endrule,generatecdlheaders)
 
 CLEANTARGETS:=$(TARGETS)
--- a/uigraphics/AknIcon/srvsrc/AknIconSrv.cpp	Wed Jun 16 14:20:09 2010 +0100
+++ b/uigraphics/AknIcon/srvsrc/AknIconSrv.cpp	Thu Jul 22 16:43:58 2010 +0100
@@ -53,6 +53,8 @@
 #include <AvkonInternalCRKeys.h>    // KAknQwertyInputModeActive
 #include <avkondomainpskeys.h>      // KAknPowerMenuStatus
 #include <bitdev.h>
+
+#include "SvgtRasterizerKeyDefs.hrh"
 // CONSTANTS
 
 const TUid KZiUdbProterty = {0x101F8614};
@@ -114,6 +116,10 @@
     TInt err10 = RProperty::Define(KPSUidAvkonDomain, KAknPowerMenuStatus,       RProperty::EInt, KPassReadPolicy, KWriteDDPolicy);
     TInt err11 = RProperty::Define(KPSUidAvkonDomain, KAknEndKeyEvent,           RProperty::EInt, KPassReadPolicy, KWriteDDPolicy);         
 
+    TInt err12 = RProperty::Define(KSvgtPropertyCategory, ESvgtPropertyBool,     RProperty::EInt);         
+    
+    RProperty::Set( KSvgtPropertyCategory, ESvgtPropertyBool, ETrue );
+    
 #ifdef _DEBUG
     RDebug::Print(_L("xxxx KAknQwertyInputModeActive err=%d"), err1);
     RDebug::Print(_L("xxxx KUikLayoutState           err=%d"), err2);
@@ -126,6 +132,8 @@
     RDebug::Print(_L("xxxx KT9UdbProterty            err=%d"), err9);
     RDebug::Print(_L("xxxx KAknPowerMenuStatus       err=%d"), err10);
     RDebug::Print(_L("xxxx KAknEndKeyEvent           err=%d"), err11);
+
+    RDebug::Print(_L("xxxx ESvgtPropertyBool         err=%d"), err12);
 #endif
     
     CRepository* repository = NULL;
@@ -1163,6 +1171,9 @@
 	
     iCurrentIndex = -1;
 	iCache->EnableCache(aEnable);
+	
+    RProperty::Set(KSvgtPropertyCategory, ESvgtPropertyBool, aEnable );
+
 	}
 
 // -----------------------------------------------------------------------------
--- a/uigraphics/AknIcon/srvsrc/AknIconSrvCache.cpp	Wed Jun 16 14:20:09 2010 +0100
+++ b/uigraphics/AknIcon/srvsrc/AknIconSrvCache.cpp	Thu Jul 22 16:43:58 2010 +0100
@@ -24,7 +24,7 @@
 #include <barsc.h>
 // Skin server client
 #include <AknsSrvClient.h>
-#include <AknIconSrv.rsg>
+#include <akniconsrv.rsg>
 #include <mifconvdefs.h>
 #include <mifconvdefs.h>
 
--- a/uigraphics/AknIcon/srvsrc/AknIconSrvPrecacher.cpp	Wed Jun 16 14:20:09 2010 +0100
+++ b/uigraphics/AknIcon/srvsrc/AknIconSrvPrecacher.cpp	Thu Jul 22 16:43:58 2010 +0100
@@ -23,7 +23,7 @@
 #include <barsc.h>
 #include "AknIconSrvPrecacher.h"
 #include "AknIconSrv.h"
-#include <AknIconSrv.rsg>
+#include <akniconsrv.rsg>
 #include "AknIconTraces.h"
 
 #include "AknIconSrv.h"
--- a/uigraphics/palette/bmarm/DISTRIBUTION.POLICY	Wed Jun 16 14:20:09 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-Category E
-OSD:	Common Replaceable	Dynamic Palette Support
-
--- a/uigraphics/palette/bwins/DISTRIBUTION.POLICY	Wed Jun 16 14:20:09 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-Category E
-OSD:	Common Replaceable	Dynamic Palette Support
-
--- a/uigraphics/palette/group/DISTRIBUTION.POLICY	Wed Jun 16 14:20:09 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-Category E
-OSD:	Common Replaceable	Dynamic Palette Support
-
--- a/uigraphics/palette/inc/DISTRIBUTION.POLICY	Wed Jun 16 14:20:09 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-Category E
-OSD:	Common Replaceable	Dynamic Palette Support
-
--- a/uigraphics/palette/src/DISTRIBUTION.POLICY	Wed Jun 16 14:20:09 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-Category E
-OSD:	Common Replaceable	Dynamic Palette Support
-
--- a/uiresources_plat/cdl_api/tsrc/inc/testdomcdl.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/uiresources_plat/cdl_api/tsrc/inc/testdomcdl.h	Thu Jul 22 16:43:58 2010 +0100
@@ -25,7 +25,7 @@
 #include <testscripterinternal.h>
 #include <stiftestmodule.h>
 #include <testclassassert.h>
-#include <cdlengine.h>
+#include <CdlEngine.h>
 #include <e32des8.h>
 #include <coemain.h>
 #include <e32cmn.h>
--- a/uiresources_plat/cdl_api/tsrc/inc/testdomcdlengineobserver.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/uiresources_plat/cdl_api/tsrc/inc/testdomcdlengineobserver.h	Thu Jul 22 16:43:58 2010 +0100
@@ -21,7 +21,7 @@
 
 class MCdlChangeObserver;
 
-#include <cdlengine.h>
+#include <CdlEngine.h>
 #include <cdlexplorer.h>
 #include <cdluserpackageexplorer.h>
 
--- a/uiresources_plat/layout_data_api/inc/aknlayoutscalable_uiaccel.cdl.h	Wed Jun 16 14:20:09 2010 +0100
+++ b/uiresources_plat/layout_data_api/inc/aknlayoutscalable_uiaccel.cdl.h	Thu Jul 22 16:43:58 2010 +0100
@@ -21,7 +21,7 @@
 #ifndef AKNLAYOUTSCALABLE_UIACCEL_CDL
 #define AKNLAYOUTSCALABLE_UIACCEL_CDL
 
-#include <cdlengine.h>
+#include <CdlEngine.h>
 #include <aknlayoutscalable_uiaccel.cdl.common.h>
 
 namespace AknLayoutScalable_UiAccel
--- a/uiresources_pub/scalable_icons_api/group/bld.inf	Wed Jun 16 14:20:09 2010 +0100
+++ b/uiresources_pub/scalable_icons_api/group/bld.inf	Thu Jul 22 16:43:58 2010 +0100
@@ -32,3 +32,4 @@
 ../inc/AknInternalIconUtils.h     MW_LAYER_PUBLIC_EXPORT_PATH(AknInternalIconUtils.h)
 ../inc/AknIconHeader.h         MW_LAYER_PUBLIC_EXPORT_PATH(AknIconHeader.h)
 ../inc/AknIconHeader.inl         MW_LAYER_PUBLIC_EXPORT_PATH(AknIconHeader.inl)
+../inc/SvgtRasterizerKeyDefs.hrh MW_LAYER_PUBLIC_EXPORT_PATH(SvgtRasterizerKeyDefs.hrh)
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/uiresources_pub/scalable_icons_api/inc/SvgtRasterizerKeyDefs.hrh	Thu Jul 22 16:43:58 2010 +0100
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   OOM related Publish n Subscribe UIDs for SvgtFbsrasterizer
+*
+*/
+
+#ifndef SVGTRASTERIZERKEYDEFS_HRH_
+#define SVGTRASTERIZERKEYDEFS_HRH_
+
+const TUid KSvgtPropertyCategory = {0x10012345};
+enum TSvgtPropertyKeys 
+    {
+    ESvgtPropertyBool
+    };
+
+#endif /* SVGTRASTERIZERKEYDEFS_HRH_ */