fontsupport/fontprovider/Src/FontProvider.cpp
changeset 80 3bd7be4c9278
parent 53 8f0f421d3d0f
equal deleted inserted replaced
79:a1b3ef187795 80:3bd7be4c9278
   232                                         | ELanguageSupportChineseHiRes \
   232                                         | ELanguageSupportChineseHiRes \
   233                                         | ELanguageSupportFontLinking )
   233                                         | ELanguageSupportFontLinking )
   234 //end                                    
   234 //end                                    
   235 
   235 
   236 
   236 
       
   237 #define EElafLFLoReLangs   (  EElafLangs \
       
   238                                | EChineseLangsPRCLF)
       
   239 
       
   240 
       
   241 #define EElafLFHiReLangs   (  EElafLangs \
       
   242                                | EChineseLangsPRCHiResLF)
   237 // Wildcard value for langs (font is to be used for all languages)
   243 // Wildcard value for langs (font is to be used for all languages)
   238 #define EAnyLangs           0xffffffff
   244 #define EAnyLangs           0xffffffff
   239 const TInt KAknFontStylesSupported(3);
   245 const TInt KAknFontStylesSupported(3);
   240 enum TAknLinkedFontTypes
   246 enum TAknLinkedFontTypes
   241     {
   247     {
   332         { 79, 72 }, 
   338         { 79, 72 }, 
   333         { 218, 200 }, 
   339         { 218, 200 }, 
   334     }
   340     }
   335 CDL_ARRAY_END(SHeightRequest, latinHeightRequestArray);
   341 CDL_ARRAY_END(SHeightRequest, latinHeightRequestArray);
   336 
   342 
       
   343 CDL_ARRAY_START( SHeightRequest, latinLFHeightRequestArray)
       
   344     {
       
   345         {  2,  2 }, 
       
   346         { 10,  8 }, 
       
   347         { 11,  9 }, 
       
   348         { 13, 11 }, 
       
   349         { 14, 12 }, 
       
   350         { 14, 13 }, 
       
   351         { 16, 14 }, 
       
   352         { 18, 15 }, 
       
   353         { 19, 16 }, 
       
   354         { 24, 21 }, 
       
   355         { 25, 22 }, 
       
   356         { 26, 24 }, 
       
   357         { 27, 25 }, 
       
   358         { 28, 26 }, 
       
   359         { 29, 26 }, 
       
   360         { 30, 27 }, 
       
   361         { 79, 72 }, 
       
   362         { 218, 200 }, 
       
   363     }
       
   364 CDL_ARRAY_END(SHeightRequest, latinLFHeightRequestArray);
   337 
   365 
   338 CDL_ARRAY_START( SHeightRequest, agfaDigitalHeightRequestArray)
   366 CDL_ARRAY_START( SHeightRequest, agfaDigitalHeightRequestArray)
   339     {
   367     {
   340         { 5, 5 },
   368         { 5, 5 },
   341         { 18, 16 },
   369         { 18, 16 },
   578         { EChineseLangsTaiwanHKLF, LIT_AS_DESC_PTR(KS60TCHKSANSRLF) },
   606         { EChineseLangsTaiwanHKLF, LIT_AS_DESC_PTR(KS60TCHKSANSRLF) },
   579         { EChineseLangsPRCHiResLF, LIT_AS_DESC_PTR(KS60SCHRSANSRLF) },
   607         { EChineseLangsPRCHiResLF, LIT_AS_DESC_PTR(KS60SCHRSANSRLF) },
   580         { EChineseLangsTaiwanHKHiResLF, LIT_AS_DESC_PTR(KS60TCHKHRSANSRLF) },
   608         { EChineseLangsTaiwanHKHiResLF, LIT_AS_DESC_PTR(KS60TCHKHRSANSRLF) },
   581         { EJapaneseLFLangs, LIT_AS_DESC_PTR(KS60JAPSANSRLF) },
   609         { EJapaneseLFLangs, LIT_AS_DESC_PTR(KS60JAPSANSRLF) },
   582         { EKoreanLFLangs, LIT_AS_DESC_PTR(KS60KORSANSRLF) },
   610         { EKoreanLFLangs, LIT_AS_DESC_PTR(KS60KORSANSRLF) },
   583         //end
   611         { EElafLFHiReLangs, LIT_AS_DESC_PTR(KS60SCHRSANSRLF) },
       
   612         { EElafLFLoReLangs, LIT_AS_DESC_PTR(KS60SCSANSRLF) },
       
   613         //end        
   584         { EAnyLangs, LIT_AS_DESC_PTR(KS60Sans) } // Ultimate fallback
   614         { EAnyLangs, LIT_AS_DESC_PTR(KS60Sans) } // Ultimate fallback
   585     }
   615     }
   586 CDL_ARRAY_END(SAknLanguagesAndTypefaceTableLine, languagesAndTypefaceTable);
   616 CDL_ARRAY_END(SAknLanguagesAndTypefaceTableLine, languagesAndTypefaceTable);
   587 
   617 
   588 
   618 
   762     { EAknFontCategoryPrimary,      EAny, EAny, EAny, EAny, EAny, ENotBold, EAntialiase,    EKoreanLFLangs, LIT_AS_DESC_PTR(KS60KORSANSSBLF), LIT_AS_DESC_PTR(KS60Group), &koreanVectorFontBaselineArray, &koreanLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
   792     { EAknFontCategoryPrimary,      EAny, EAny, EAny, EAny, EAny, ENotBold, EAntialiase,    EKoreanLFLangs, LIT_AS_DESC_PTR(KS60KORSANSSBLF), LIT_AS_DESC_PTR(KS60Group), &koreanVectorFontBaselineArray, &koreanLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
   763     { EAknFontCategoryTitle,        8, 17,      EAny, EAny, EAny, ENotBold, ENotAntialiase, EKoreanLFLangs, LIT_AS_DESC_PTR(KS60KORSANSTTLSMBLDLF), LIT_AS_DESC_PTR(KS60Group), &koreanVectorFontBaselineArray, &koreanLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
   793     { EAknFontCategoryTitle,        8, 17,      EAny, EAny, EAny, ENotBold, ENotAntialiase, EKoreanLFLangs, LIT_AS_DESC_PTR(KS60KORSANSTTLSMBLDLF), LIT_AS_DESC_PTR(KS60Group), &koreanVectorFontBaselineArray, &koreanLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
   764     { 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) },
   794     { 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) },
   765     { 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) },
   795     { 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) },
   766     { 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) },
   796     { 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) },
       
   797 //western SC link
       
   798     //stroke font
       
   799     { 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) },
       
   800     { 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) },
       
   801     { 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) },
       
   802     { 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) },
       
   803     { 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) },
       
   804     { 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) },
       
   805     { 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) },
       
   806     { 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) },
       
   807     { 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) },
       
   808     { 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) },
       
   809     { 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) },
       
   810     { 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) },
       
   811     { 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) },
       
   812     { 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) },
       
   813 
       
   814     //hi-res fonts
       
   815     { 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) },
       
   816     { 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) },
       
   817     { 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) },
       
   818     { 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) },
       
   819     { 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) },
       
   820     { 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) },
       
   821     { 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) },
       
   822     { 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) },
       
   823     { 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) },
       
   824     { 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) },
       
   825     { 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) },
       
   826     { 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) },
       
   827     { 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) },
       
   828     { 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) },
   767 //end
   829 //end
   768     };
   830     };
   769 // ============================ GLOBAL FUNCTIONS ========================================
   831 // ============================ GLOBAL FUNCTIONS ========================================
   770 
   832 
   771 /**
   833 /**
   923             requiredLangs |= EChineseLangsPRC;
   985             requiredLangs |= EChineseLangsPRC;
   924             }
   986             }
   925         }
   987         }
   926     else
   988     else
   927         {
   989         {
   928         requiredLangs |= EElafLangs;    
   990         if(fLinkedFonts && fHiResFonts)
       
   991             {
       
   992             requiredLangs |= EElafLFHiReLangs;
       
   993             }
       
   994         else if(fLinkedFonts)
       
   995             {
       
   996             requiredLangs |= EElafLFLoReLangs;
       
   997             }
       
   998         else
       
   999             {
       
  1000             requiredLangs |= EElafLangs;
       
  1001             }
   929         }
  1002         }
   930 
  1003 
   931     return requiredLangs;
  1004     return requiredLangs;
   932     }
  1005     }
   933 
  1006 
  2234     _LIT(KTCHKHRStop, "[TCHKHR_LINK_STOP]");
  2307     _LIT(KTCHKHRStop, "[TCHKHR_LINK_STOP]");
  2235     _LIT(KJAPStart, "[JAP_LINK_START]");
  2308     _LIT(KJAPStart, "[JAP_LINK_START]");
  2236     _LIT(KJAPStop, "[JAP_LINK_STOP]");
  2309     _LIT(KJAPStop, "[JAP_LINK_STOP]");
  2237     _LIT(KKORStart, "[KOR_LINK_START]");
  2310     _LIT(KKORStart, "[KOR_LINK_START]");
  2238     _LIT(KKORStop, "[KOR_LINK_STOP]");
  2311     _LIT(KKORStop, "[KOR_LINK_STOP]");
       
  2312     _LIT(KWESTLINKLRStart, "[WESTERN_LINKLR_START]");
       
  2313     _LIT(KWESTLINKLRStop, "[WESTERN_LINKLR_STOP]");
       
  2314     _LIT(KWESTLINKHRStart, "[WESTERN_LINKHR_START]");
       
  2315     _LIT(KWESTLINKHRStop, "[WESTERN_LINKHR_STOP]");    
  2239 
  2316 
  2240     TInt ret = KErrNone;
  2317     TInt ret = KErrNone;
  2241     RPointerArray<SLinkedFontDetails> fontfiles;
  2318     RPointerArray<SLinkedFontDetails> fontfiles;
  2242     RFs fs;
  2319     RFs fs;
  2243     RFile rFile;
  2320     RFile rFile;
  2307             startTok.Copy(KKORStart);
  2384             startTok.Copy(KKORStart);
  2308             stopTok.Copy(KKORStop);
  2385             stopTok.Copy(KKORStop);
  2309             tfile.Seek(ESeekStart);
  2386             tfile.Seek(ESeekStart);
  2310             ret = DoPopulateAndCreateLinkFontsL(tfile, startTok, stopTok);
  2387             ret = DoPopulateAndCreateLinkFontsL(tfile, startTok, stopTok);
  2311             }			
  2388             }			
  2312         
  2389         if((!fChinese) && (!fKorean) && (!fJapanese) )//western linked fonts
       
  2390             {
       
  2391             if(fHiResFonts)
       
  2392                 {
       
  2393                 startTok.Copy(KWESTLINKHRStart);
       
  2394                 stopTok.Copy(KWESTLINKHRStop);
       
  2395                 tfile.Seek(ESeekStart);
       
  2396                 ret = DoPopulateAndCreateLinkFontsL(tfile, startTok, stopTok);
       
  2397                 }
       
  2398             else
       
  2399                 {
       
  2400                 startTok.Copy(KWESTLINKLRStart);
       
  2401                 stopTok.Copy(KWESTLINKLRStop);
       
  2402                 tfile.Seek(ESeekStart);
       
  2403                 ret = DoPopulateAndCreateLinkFontsL(tfile, startTok, stopTok);                            
       
  2404                 }
       
  2405             }        
  2313         }
  2406         }
  2314         
  2407         
  2315 
  2408 
  2316     
  2409     
  2317     rFile.Close();
  2410     rFile.Close();
  2362            ref +=KAknFontStylesSupported;
  2455            ref +=KAknFontStylesSupported;
  2363         if(fJapanese)
  2456         if(fJapanese)
  2364             ref +=KAknFontStylesSupported;
  2457             ref +=KAknFontStylesSupported;
  2365         if(fKorean)
  2458         if(fKorean)
  2366             ref +=KAknFontStylesSupported;
  2459             ref +=KAknFontStylesSupported;
       
  2460         if((!fChinese) && (!fKorean) && (!fJapanese))
       
  2461             ref +=KAknFontStylesSupported;//western linked fonts
  2367         }
  2462         }
  2368     for (TInt i = 0; i < noOfTypefaces; i++)
  2463     for (TInt i = 0; i < noOfTypefaces; i++)
  2369         {
  2464         {
  2370         TTypefaceSupport typefaceInfo;
  2465         TTypefaceSupport typefaceInfo;
  2371         screenDevice->TypefaceSupport(typefaceInfo, i);
  2466         screenDevice->TypefaceSupport(typefaceInfo, i);
  2429                     {
  2524                     {
  2430                     files++;
  2525                     files++;
  2431                     }
  2526                     }
  2432 
  2527 
  2433                 }
  2528                 }
       
  2529           if (!fChinese && !fJapanese && !fKorean && fHiResFonts)
       
  2530               {
       
  2531             if (typefaceInfo.iTypeface.iName.Compare(KS60SCHRSANSRLF)==0||
       
  2532                 typefaceInfo.iTypeface.iName.Compare(KS60SCHRSANSSBLF)==0||
       
  2533                 typefaceInfo.iTypeface.iName.Compare(KS60SCHRSANSTTLSMBLDLF)==0)
       
  2534                   {
       
  2535                   files++;
       
  2536                   }
       
  2537 
       
  2538               }
       
  2539           else if (!fChinese && !fJapanese && !fKorean)
       
  2540               {
       
  2541             if (typefaceInfo.iTypeface.iName.Compare(KS60SCSANSRLF)==0||
       
  2542                 typefaceInfo.iTypeface.iName.Compare(KS60SCSANSSBLF)==0||
       
  2543                 typefaceInfo.iTypeface.iName.Compare(KS60SCSANSTTLSMBLDLF)==0)
       
  2544                   {
       
  2545                   files++;
       
  2546                  }
       
  2547               }                          
  2434             }
  2548             }
  2435         }
  2549         }
  2436     if (files && (ref == files) )
  2550     if (files && (ref == files) )
  2437         ret = ETrue;
  2551         ret = ETrue;
  2438     return ret;
  2552     return ret;