--- a/fontsupport/fontprovider/Src/FontProvider.cpp Tue Feb 02 00:52:22 2010 +0200
+++ b/fontsupport/fontprovider/Src/FontProvider.cpp Fri Mar 19 09:48:44 2010 +0200
@@ -73,8 +73,8 @@
_LIT(KS60TCAndHK,"Sans MT UniT_HKSCS_S60");
_LIT(KS60SC,"Sans MT 936_S60");
-_LIT(KS60TCAndHKHiRes,"Sans MT TC Big5HK_S60C");
-_LIT(KS60SCHiRes,"Sans MT SC 936_S60C");
+_LIT(KS60TCAndHKHiRes,"MHeiC-Medium-Big5HKSCS-S60");
+_LIT(KS60SCHiRes,"MHeiGB18030C-Medium-S60");
_LIT(KJapaneseHensei,"Heisei Kaku Gothic S60");
_LIT(KS60Digital, "Series 60 ZDigi");
_LIT(KS60Sans, "Series 60 Sans");
@@ -100,6 +100,15 @@
_LIT(KS60TCHKHRSANSTTLSMBLDLF, "S60TCHKHRSANSTTLSMBLDLF");
//end
+//all font files
+_LIT(KS60JAPSANSRLF, "S60JAPSANSRLF");
+_LIT(KS60JAPSANSSBLF, "S60JAPSANSSBLF");
+_LIT(KS60JAPSANSTTLSMBLDLF, "S60JAPSANSTTLSMBLDLF");
+
+_LIT(KS60KORSANSRLF, "S60KORSANSRLF");
+_LIT(KS60KORSANSSBLF, "S60KORSANSSBLF");
+_LIT(KS60KORSANSTTLSMBLDLF, "S60KORSANSTTLSMBLDLF");
+//end
// Texts for measuring maximum ascents and descents:
_LIT(KWesternFontMaxExtentText, "\x00C1\x00C7" );
@@ -124,7 +133,8 @@
#define ELanguageSupportKorean 0x00100000
#define ELanguageSupportHangul 0x00200000
//chinese adaptation
-#define ELanguageSupportChineseFontLinking 0x00400000
+#define ELanguageSupportFontLinking 0x00400000
+//end
//end
#define ELanguageSupportDevanagari 0x01000000
#define ELanguageSupportS60PrivateUseArea1 0x10000000
@@ -175,10 +185,16 @@
#define EJapaneseLangs ( EApacCommonLangs \
| ELanguageSupportJapanese )
-
+#define EJapaneseLFLangs ( EApacCommonLangs \
+ | ELanguageSupportJapanese \
+ | ELanguageSupportFontLinking )
#define EKoreanLangs ( EApacCommonLangs \
| ELanguageSupportKorean )
+#define EKoreanLFLangs ( EApacCommonLangs \
+ | ELanguageSupportKorean \
+ | ELanguageSupportFontLinking )
+
#define EChineseLangs ( EApacCommonLangs \
| ELanguageSupportCJKUnifiedIdeographsLevel0 \
| ELanguageSupportCJKUnifiedIdeographsLevel1 )
@@ -200,21 +216,21 @@
//chinese adaptation
#define EChineseLangsPRCLF ( EChineseLangs \
| ELanguageSupportChinesePRC \
- | ELanguageSupportChineseFontLinking )
+ | ELanguageSupportFontLinking )
#define EChineseLangsTaiwanHKLF ( EChineseLangs \
| ELanguageSupportChineseTaiwanHK \
- | ELanguageSupportChineseFontLinking )
+ | ELanguageSupportFontLinking )
#define EChineseLangsPRCHiResLF ( EChineseLangs \
| ELanguageSupportChinesePRC \
| ELanguageSupportChineseHiRes \
- | ELanguageSupportChineseFontLinking )
+ | ELanguageSupportFontLinking )
#define EChineseLangsTaiwanHKHiResLF ( EChineseLangs \
| ELanguageSupportChineseTaiwanHK \
| ELanguageSupportChineseHiRes \
- | ELanguageSupportChineseFontLinking )
+ | ELanguageSupportFontLinking )
//end
@@ -447,6 +463,62 @@
}
CDL_ARRAY_END(SHeightRequest, chnlinkedFontHeightRequestArray);
+CDL_ARRAY_START( SHeightRequest, japaneseLFHeightRequestArray)
+ {
+ { 2, 2 },
+ { 10, 8 },
+ { 11, 9 },
+ { 13, 10 },
+ { 14, 12 },
+ { 15, 12 },
+ { 16, 14 },
+ { 17, 14 },
+ { 18, 14 },
+ { 19, 16 },
+ { 20, 16 },
+ { 21, 18 },
+ { 24, 21 },
+ { 25, 22 },
+ { 26, 24 },
+ { 27, 25 },
+ { 28, 26 },
+ { 29, 26 },
+ { 30, 27 },
+ { 79, 72 },
+ { 218, 200 },
+ }
+CDL_ARRAY_END(SHeightRequest, japaneseLFHeightRequestArray);
+
+CDL_ARRAY_START( SHeightRequest, koreanLFHeightRequestArray)
+ {
+ { 2, 2 },
+ { 8, 6 },
+ { 9, 6 },
+ { 10, 8 },
+ { 11, 8 },
+ { 13, 11 },
+ { 14, 12 },
+ { 15, 12 },
+ { 16, 14 },
+ { 17, 14 },
+ { 18, 16 },
+ { 19, 16 },
+ { 20, 18 },
+ { 21, 18 },
+ { 22, 20 },
+ { 23, 20 },
+ { 24, 22 },
+ { 25, 22 },
+ { 26, 24 },
+ { 27, 24 },
+ { 28, 26 },
+ { 29, 26 },
+ { 30, 27 },
+ { 79, 72 },
+ { 218, 200 },
+ }
+CDL_ARRAY_END(SHeightRequest, koreanLFHeightRequestArray);
+
// Typeface Aliasing
// Minimum length for alias substring matching
@@ -506,6 +578,8 @@
{ EChineseLangsTaiwanHKLF, LIT_AS_DESC_PTR(KS60TCHKSANSRLF) },
{ EChineseLangsPRCHiResLF, LIT_AS_DESC_PTR(KS60SCHRSANSRLF) },
{ EChineseLangsTaiwanHKHiResLF, LIT_AS_DESC_PTR(KS60TCHKHRSANSRLF) },
+ { EJapaneseLFLangs, LIT_AS_DESC_PTR(KS60JAPSANSRLF) },
+ { EKoreanLFLangs, LIT_AS_DESC_PTR(KS60KORSANSRLF) },
//end
{ EAnyLangs, LIT_AS_DESC_PTR(KS60Sans) } // Ultimate fallback
}
@@ -623,8 +697,10 @@
{ EAknFontCategoryAny, 8, 17, EAny, EAny, EAny, ENotBold, ENotAntialiase, EKoreanLangs, LIT_AS_DESC_PTR(KS60Korean), LIT_AS_DESC_PTR(KS60Group), &koreanVectorFontBaselineArray, &koreanFontHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
{ EAknFontCategoryAny, EAny, EAny, EAny, EAny, EAny, ENotBold, EAntialiase, EKoreanLangs, LIT_AS_DESC_PTR(KS60Korean), LIT_AS_DESC_PTR(KS60Group), &koreanVectorFontBaselineArray, &koreanFontHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
//chinese adaptation
- { EAknFontCategorySecondary, 12, 21, EAny, 0, EAny, ENotBold, ENotAntialiase, EChineseLangsPRCLF, LIT_AS_DESC_PTR(KS60SCSANSRLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, &chnlinkedFontHeightRequestArray, NULL },
- { EAknFontCategorySecondary, EAny, EAny, EAny, EAny, EAny, ENotBold, EAntialiase, EChineseLangsPRCLF, LIT_AS_DESC_PTR(KS60SCSANSRLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, &chnlinkedFontHeightRequestArray, NULL },
+ { EAknFontCategorySecondary, 12, 21, EStrokeWeightNormal, 0, EAny, ENotBold, ENotAntialiase, EChineseLangsPRCLF, LIT_AS_DESC_PTR(KS60SCSANSRLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, &chnlinkedFontHeightRequestArray, NULL },
+ { EAknFontCategorySecondary, EAny, EAny, EStrokeWeightNormal, EAny, EAny, ENotBold, EAntialiase, EChineseLangsPRCLF, LIT_AS_DESC_PTR(KS60SCSANSRLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, &chnlinkedFontHeightRequestArray, NULL },
+ { EAknFontCategorySecondary, 12, 21, EStrokeWeightBold, 0, EAny, ENotBold, ENotAntialiase, EChineseLangsPRCLF, LIT_AS_DESC_PTR(KS60SCSANSSBLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, &chnlinkedFontHeightRequestArray, NULL },
+ { EAknFontCategorySecondary, EAny, EAny, EStrokeWeightBold, EAny, EAny, ENotBold, EAntialiase, EChineseLangsPRCLF, LIT_AS_DESC_PTR(KS60SCSANSSBLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, &chnlinkedFontHeightRequestArray, NULL },
{ EAknFontCategoryPrimarySmall, 12, 21, EAny, 0, EAny, ENotBold, ENotAntialiase, EChineseLangsPRCLF, LIT_AS_DESC_PTR(KS60SCSANSSBLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, &chnlinkedFontHeightRequestArray, NULL },
{ EAknFontCategoryPrimarySmall, EAny, EAny, EAny, EAny, EAny, ENotBold, EAntialiase, EChineseLangsPRCLF, LIT_AS_DESC_PTR(KS60SCSANSSBLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, &chnlinkedFontHeightRequestArray, NULL },
{ EAknFontCategoryPrimary, 12, 21, EAny, 0, EAny, ENotBold, ENotAntialiase, EChineseLangsPRCLF, LIT_AS_DESC_PTR(KS60SCSANSSBLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, &chnlinkedFontHeightRequestArray, NULL },
@@ -634,8 +710,10 @@
{ EAknFontCategoryAny, 12, 21, EAny, 0, EAny, ENotBold, ENotAntialiase, EChineseLangsPRCLF, LIT_AS_DESC_PTR(KS60SCSANSRLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, &chnlinkedFontHeightRequestArray, NULL },
{ EAknFontCategoryAny, EAny, EAny, EAny, EAny, EAny, ENotBold, EAntialiase, EChineseLangsPRCLF, LIT_AS_DESC_PTR(KS60SCSANSRLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, &chnlinkedFontHeightRequestArray, NULL },
- { EAknFontCategorySecondary, 12, 21, EAny, 0, EAny, ENotBold, ENotAntialiase, EChineseLangsTaiwanHKLF, LIT_AS_DESC_PTR(KS60TCHKSANSRLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, &chnlinkedFontHeightRequestArray, NULL },
- { EAknFontCategorySecondary, EAny, EAny, EAny, EAny, EAny, ENotBold, EAntialiase, EChineseLangsTaiwanHKLF, LIT_AS_DESC_PTR(KS60TCHKSANSRLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, &chnlinkedFontHeightRequestArray, NULL },
+ { EAknFontCategorySecondary, 12, 21, EStrokeWeightNormal, 0, EAny, ENotBold, ENotAntialiase, EChineseLangsTaiwanHKLF, LIT_AS_DESC_PTR(KS60TCHKSANSRLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, &chnlinkedFontHeightRequestArray, NULL },
+ { EAknFontCategorySecondary, EAny, EAny, EStrokeWeightNormal, EAny, EAny, ENotBold, EAntialiase, EChineseLangsTaiwanHKLF, LIT_AS_DESC_PTR(KS60TCHKSANSRLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, &chnlinkedFontHeightRequestArray, NULL },
+ { EAknFontCategorySecondary, 12, 21, EStrokeWeightBold, 0, EAny, ENotBold, ENotAntialiase, EChineseLangsTaiwanHKLF, LIT_AS_DESC_PTR(KS60TCHKSANSSBLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, &chnlinkedFontHeightRequestArray, NULL },
+ { EAknFontCategorySecondary, EAny, EAny, EStrokeWeightBold, EAny, EAny, ENotBold, EAntialiase, EChineseLangsTaiwanHKLF, LIT_AS_DESC_PTR(KS60TCHKSANSSBLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, &chnlinkedFontHeightRequestArray, NULL },
{ EAknFontCategoryPrimarySmall, 12, 21, EAny, 0, EAny, ENotBold, ENotAntialiase, EChineseLangsTaiwanHKLF, LIT_AS_DESC_PTR(KS60TCHKSANSSBLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, &chnlinkedFontHeightRequestArray, NULL },
{ EAknFontCategoryPrimarySmall, EAny, EAny, EAny, EAny, EAny, ENotBold, EAntialiase, EChineseLangsTaiwanHKLF, LIT_AS_DESC_PTR(KS60TCHKSANSSBLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, &chnlinkedFontHeightRequestArray, NULL },
{ EAknFontCategoryPrimary, 12, 21, EAny, 0, EAny, ENotBold, ENotAntialiase, EChineseLangsTaiwanHKLF, LIT_AS_DESC_PTR(KS60TCHKSANSSBLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, &chnlinkedFontHeightRequestArray, NULL },
@@ -645,17 +723,47 @@
{ EAknFontCategoryAny, 12, 21, EAny, 0, EAny, ENotBold, ENotAntialiase, EChineseLangsTaiwanHKLF, LIT_AS_DESC_PTR(KS60TCHKSANSRLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, &chnlinkedFontHeightRequestArray, NULL },
{ EAknFontCategoryAny, EAny, EAny, EAny, EAny, EAny, ENotBold, EAntialiase, EChineseLangsTaiwanHKLF, LIT_AS_DESC_PTR(KS60TCHKSANSRLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, &chnlinkedFontHeightRequestArray, NULL },
- { EAknFontCategorySecondary, 0, EAny, EAny, EAny, EAny, ENotBold, EAntialiase, EChineseLangsPRCHiResLF, LIT_AS_DESC_PTR(KS60SCHRSANSRLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, NULL, NULL },
+ { EAknFontCategorySecondary, 0, EAny, EStrokeWeightNormal, EAny, EAny, ENotBold, EAntialiase, EChineseLangsPRCHiResLF, LIT_AS_DESC_PTR(KS60SCHRSANSRLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, NULL, NULL },
+ { EAknFontCategorySecondary, 0, EAny, EStrokeWeightBold, EAny, EAny, ENotBold, EAntialiase, EChineseLangsPRCHiResLF, LIT_AS_DESC_PTR(KS60SCHRSANSSBLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, NULL, NULL },
{ EAknFontCategoryPrimarySmall, 0, EAny, EAny, EAny, EAny, ENotBold, EAntialiase, EChineseLangsPRCHiResLF, LIT_AS_DESC_PTR(KS60SCHRSANSSBLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, NULL, NULL },
{ EAknFontCategoryPrimary, 0, EAny, EAny, EAny, EAny, ENotBold, EAntialiase, EChineseLangsPRCHiResLF, LIT_AS_DESC_PTR(KS60SCHRSANSSBLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, NULL, NULL },
{ EAknFontCategoryTitle, 0, EAny, EAny, EAny, EAny, ENotBold, EAntialiase, EChineseLangsPRCHiResLF, LIT_AS_DESC_PTR(KS60SCHRSANSTTLSMBLDLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, NULL, NULL },
{ EAknFontCategoryAny, 0, EAny, EAny, EAny, EAny, ENotBold, EAntialiase, EChineseLangsPRCHiResLF, LIT_AS_DESC_PTR(KS60SCHRSANSRLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, NULL, NULL },
- { EAknFontCategorySecondary, 0, EAny, EAny, EAny, EAny, ENotBold, EAntialiase, EChineseLangsTaiwanHKHiResLF, LIT_AS_DESC_PTR(KS60TCHKHRSANSRLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, NULL, NULL },
+ { EAknFontCategorySecondary, 0, EAny, EStrokeWeightNormal, EAny, EAny, ENotBold, EAntialiase, EChineseLangsTaiwanHKHiResLF, LIT_AS_DESC_PTR(KS60TCHKHRSANSRLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, NULL, NULL },
+ { EAknFontCategorySecondary, 0, EAny, EStrokeWeightBold, EAny, EAny, ENotBold, EAntialiase, EChineseLangsTaiwanHKHiResLF, LIT_AS_DESC_PTR(KS60TCHKHRSANSSBLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, NULL, NULL },
{ EAknFontCategoryPrimarySmall, 0, EAny, EAny, EAny, EAny, ENotBold, EAntialiase, EChineseLangsTaiwanHKHiResLF, LIT_AS_DESC_PTR(KS60TCHKHRSANSSBLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, NULL, NULL },
{ EAknFontCategoryPrimary, 0, EAny, EAny, EAny, EAny, ENotBold, EAntialiase, EChineseLangsTaiwanHKHiResLF, LIT_AS_DESC_PTR(KS60TCHKHRSANSSBLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, NULL, NULL },
{ EAknFontCategoryTitle, 0, EAny, EAny, EAny, EAny, ENotBold, EAntialiase, EChineseLangsTaiwanHKHiResLF, LIT_AS_DESC_PTR(KS60TCHKHRSANSTTLSMBLDLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, NULL, NULL },
- { EAknFontCategoryAny, 0, EAny, EAny, EAny, EAny, ENotBold, EAntialiase, EChineseLangsTaiwanHKHiResLF, LIT_AS_DESC_PTR(KS60TCHKHRSANSRLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, NULL, NULL }
+ { EAknFontCategoryAny, 0, EAny, EAny, EAny, EAny, ENotBold, EAntialiase, EChineseLangsTaiwanHKHiResLF, LIT_AS_DESC_PTR(KS60TCHKHRSANSRLF), LIT_AS_DESC_PTR(KS60Group), &apacVectorFontBaselineArray, NULL, NULL },
+//end
+//jap link
+ { EAknFontCategorySecondary, 12, 15, EBold, 0, EAny, ENotBold, ENotAntialiase, EJapaneseLFLangs, LIT_AS_DESC_PTR(KS60JAPSANSSBLF), LIT_AS_DESC_PTR(KS60Group), &heiseiBaselineArray, &japaneseLFHeightRequestArray, NULL },
+ { EAknFontCategorySecondary, 12, 15, EAny, 0, EAny, ENotBold, ENotAntialiase, EJapaneseLFLangs, LIT_AS_DESC_PTR(KS60JAPSANSRLF), LIT_AS_DESC_PTR(KS60Group), &heiseiBaselineArray, &japaneseLFHeightRequestArray, NULL },
+ { EAknFontCategorySecondary, EAny, EAny, EBold, EAny, EAny, ENotBold, EAntialiase, EJapaneseLFLangs, LIT_AS_DESC_PTR(KS60JAPSANSSBLF), LIT_AS_DESC_PTR(KS60Group), &heiseiBaselineArray, &japaneseLFHeightRequestArray, NULL },
+ { EAknFontCategorySecondary, EAny, EAny, EAny, EAny, EAny, ENotBold, EAntialiase, EJapaneseLFLangs, LIT_AS_DESC_PTR(KS60JAPSANSRLF), LIT_AS_DESC_PTR(KS60Group), &heiseiBaselineArray, &japaneseLFHeightRequestArray, NULL },
+ { EAknFontCategoryPrimarySmall, 12, 15, EAny, 0, EAny, ENotBold, ENotAntialiase, EJapaneseLFLangs, LIT_AS_DESC_PTR(KS60JAPSANSSBLF), LIT_AS_DESC_PTR(KS60Group), &heiseiBaselineArray, &japaneseLFHeightRequestArray, NULL },
+ { EAknFontCategoryPrimarySmall, EAny, EAny, EAny, EAny, EAny, ENotBold, EAntialiase, EJapaneseLFLangs, LIT_AS_DESC_PTR(KS60JAPSANSSBLF), LIT_AS_DESC_PTR(KS60Group), &heiseiBaselineArray, &japaneseLFHeightRequestArray, NULL },
+ { EAknFontCategoryPrimary, 12, 15, EAny, 0, EAny, ENotBold, ENotAntialiase, EJapaneseLFLangs, LIT_AS_DESC_PTR(KS60JAPSANSSBLF), LIT_AS_DESC_PTR(KS60Group), &heiseiBaselineArray, &japaneseLFHeightRequestArray, NULL },
+ { EAknFontCategoryPrimary, EAny, EAny, EAny, EAny, EAny, ENotBold, EAntialiase, EJapaneseLFLangs, LIT_AS_DESC_PTR(KS60JAPSANSSBLF), LIT_AS_DESC_PTR(KS60Group), &heiseiBaselineArray, &japaneseLFHeightRequestArray, NULL },
+ { EAknFontCategoryTitle, 12, 15, EAny, 0, EAny, ENotBold, ENotAntialiase, EJapaneseLFLangs, LIT_AS_DESC_PTR(KS60JAPSANSSBLF), LIT_AS_DESC_PTR(KS60Group), &heiseiBaselineArray, &japaneseLFHeightRequestArray, NULL },
+ { EAknFontCategoryTitle, EAny, EAny, EAny, EAny, EAny, ENotBold, EAntialiase, EJapaneseLFLangs, LIT_AS_DESC_PTR(KS60JAPSANSTTLSMBLDLF), LIT_AS_DESC_PTR(KS60Group), &heiseiBaselineArray, &japaneseLFHeightRequestArray, NULL },
+ { EAknFontCategoryAny, 12, 15, EAny, 0, EAny, ENotBold, ENotAntialiase, EJapaneseLFLangs, LIT_AS_DESC_PTR(KS60JAPSANSRLF), LIT_AS_DESC_PTR(KS60Group), &heiseiBaselineArray, &japaneseLFHeightRequestArray, NULL },
+ { EAknFontCategoryAny, EAny, EAny, EAny, EAny, EAny, ENotBold, EAntialiase, EJapaneseLFLangs, LIT_AS_DESC_PTR(KS60JAPSANSRLF), LIT_AS_DESC_PTR(KS60Group), &heiseiBaselineArray, &japaneseLFHeightRequestArray, NULL },
+
+//kor link
+ { EAknFontCategorySecondary, 8, 17, EBold, EAny, EAny, ENotBold, ENotAntialiase, EKoreanLFLangs, LIT_AS_DESC_PTR(KS60KORSANSSBLF), LIT_AS_DESC_PTR(KS60Group), &koreanVectorFontBaselineArray, &koreanLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+ { EAknFontCategorySecondary, 8, 17, EAny, EAny, EAny, ENotBold, ENotAntialiase, EKoreanLFLangs, LIT_AS_DESC_PTR(KS60KORSANSRLF), LIT_AS_DESC_PTR(KS60Group), &koreanVectorFontBaselineArray, &koreanLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+ { EAknFontCategorySecondary, EAny, EAny, EBold, EAny, EAny, ENotBold, EAntialiase, EKoreanLFLangs, LIT_AS_DESC_PTR(KS60KORSANSSBLF), LIT_AS_DESC_PTR(KS60Group), &koreanVectorFontBaselineArray, &koreanLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+ { EAknFontCategorySecondary, EAny, EAny, EAny, EAny, EAny, ENotBold, EAntialiase, EKoreanLFLangs, LIT_AS_DESC_PTR(KS60KORSANSRLF), LIT_AS_DESC_PTR(KS60Group), &koreanVectorFontBaselineArray, &koreanLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+ { EAknFontCategoryPrimarySmall, 8, 17, EAny, EAny, EAny, ENotBold, ENotAntialiase, EKoreanLFLangs, LIT_AS_DESC_PTR(KS60KORSANSSBLF), LIT_AS_DESC_PTR(KS60Group), &koreanVectorFontBaselineArray, &koreanLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+ { EAknFontCategoryPrimarySmall, 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) },
+ { EAknFontCategoryPrimary, 8, 17, EAny, EAny, EAny, ENotBold, ENotAntialiase, EKoreanLFLangs, LIT_AS_DESC_PTR(KS60KORSANSSBLF), LIT_AS_DESC_PTR(KS60Group), &koreanVectorFontBaselineArray, &koreanLFHeightRequestArray, LIT_AS_DESC_PTR(KWesternFontMaxExtentText) },
+ { 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) },
+ { 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) },
+ { 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) },
//end
};
// ============================ GLOBAL FUNCTIONS ========================================
@@ -720,26 +828,32 @@
TBool fHiResFonts = FeatureManager::FeatureSupported(KFeatureIdChineseFontsHires);
TBool fKorean = FeatureManager::FeatureSupported(KFeatureIdKorean);
//chinese adaptation
- TBool fChLinkFlag = FeatureManager::FeatureSupported(KFeatureIdFfLinkedFontsChinese);
- TBool fChLinkedFonts = EFalse;
+ TBool fLinkedFontsFeature = FeatureManager::FeatureSupported(KFeatureIdFfLinkedFontsChinese);
+ TBool fLinkedFonts = EFalse;
//handling error here
//fontlinking unsuccessful, handle with normal font files as earlier
- if(fChLinkFlag)
+ if(fLinkedFontsFeature)
{
if(!LinkTypefacesInstalled(EAknSystemLinkedFonts))
- fChLinkedFonts = EFalse;
+ fLinkedFonts = EFalse;
else
- fChLinkedFonts = ETrue;
+ fLinkedFonts = ETrue;
}
//end
if(fKorean)
{
- requiredLangs |= EKoreanLangs;
+ if (fLinkedFonts)
+ requiredLangs |= EKoreanLFLangs;
+ else
+ requiredLangs |= EKoreanLangs;
}
else if (fJapanese)
{
- requiredLangs |= EJapaneseLangs;
+ if (fLinkedFonts)
+ requiredLangs |= EJapaneseLFLangs;
+ else
+ requiredLangs |= EJapaneseLangs;
}
else if (fTCHKFonts)
{
@@ -747,11 +861,11 @@
if ((fSCFonts) && (uilang == KLangPrcEnglish || uilang == ELangPrcChinese))
{
//chinese adaptation
- if (fChLinkedFonts && fHiResFonts)
+ if (fLinkedFonts && fHiResFonts)
{
requiredLangs |= EChineseLangsPRCHiResLF;
}
- else if(fChLinkedFonts)
+ else if(fLinkedFonts)
{
requiredLangs |= EChineseLangsPRCLF;
}
@@ -768,11 +882,11 @@
else
{
//chinese adaptation
- if (fChLinkedFonts && fHiResFonts)
+ if (fLinkedFonts && fHiResFonts)
{
requiredLangs |= EChineseLangsTaiwanHKHiResLF;
}
- else if(fChLinkedFonts)
+ else if(fLinkedFonts)
{
requiredLangs |= EChineseLangsTaiwanHKLF;
}
@@ -790,11 +904,11 @@
else if (fSCFonts)
{
//chinese adaptation
- if (fChLinkedFonts && fHiResFonts)
+ if (fLinkedFonts && fHiResFonts)
{
requiredLangs |= EChineseLangsPRCHiResLF;
}
- else if(fChLinkedFonts)
+ else if(fLinkedFonts)
{
requiredLangs |= EChineseLangsPRCLF;
}
@@ -1805,9 +1919,8 @@
EXPORT_C void AknFontProvider::InitializeSystemL ( const CEikonEnv& aEnv )
{
//chinese adaptation
- TBool fChLinkedFonts = FeatureManager::FeatureSupported(KFeatureIdFfLinkedFontsChinese);
- TBool fChinese = FeatureManager::FeatureSupported(KFeatureIdChinese);
- if(fChinese && fChLinkedFonts)
+ TBool fLinkedFonts = FeatureManager::FeatureSupported(KFeatureIdFfLinkedFontsChinese);
+ if(fLinkedFonts)
{
//attempt to create linked font only once
if(!LinkTypefacesInstalled())
@@ -2119,6 +2232,10 @@
_LIT(KSCHRStop, "[SCHR_LINK_STOP]");
_LIT(KTCHKHRStart, "[TCHKHR_LINK_START]");
_LIT(KTCHKHRStop, "[TCHKHR_LINK_STOP]");
+ _LIT(KJAPStart, "[JAP_LINK_START]");
+ _LIT(KJAPStop, "[JAP_LINK_STOP]");
+ _LIT(KKORStart, "[KOR_LINK_START]");
+ _LIT(KKORStop, "[KOR_LINK_STOP]");
TInt ret = KErrNone;
RPointerArray<SLinkedFontDetails> fontfiles;
@@ -2133,7 +2250,7 @@
TBuf<50> startTok;
TBuf<50> stopTok;
- TBool fChLinkedFonts = FeatureManager::FeatureSupported(
+ TBool fLinkedFonts = FeatureManager::FeatureSupported(
KFeatureIdFfLinkedFontsChinese);
TBool fTCHKFonts = FeatureManager::FeatureSupported(
KFeatureIdChineseTaiwanHkFonts);
@@ -2142,8 +2259,12 @@
TBool fHiResFonts = FeatureManager::FeatureSupported(
KFeatureIdChineseFontsHires);
+ TBool fJapanese = FeatureManager::FeatureSupported(KFeatureIdJapanese);
+ TBool fKorean = FeatureManager::FeatureSupported(KFeatureIdKorean);
+ TBool fChinese = FeatureManager::FeatureSupported(
+ KFeatureIdChinese);
- if (fChLinkedFonts)
+ if (fLinkedFonts)
{
if (fSCFonts && fHiResFonts)
@@ -2174,8 +2295,23 @@
tfile.Seek(ESeekStart);
ret = DoPopulateAndCreateLinkFontsL(tfile, startTok, stopTok);
}
+ if(fJapanese)
+ {
+ startTok.Copy(KJAPStart);
+ stopTok.Copy(KJAPStop);
+ tfile.Seek(ESeekStart);
+ ret = DoPopulateAndCreateLinkFontsL(tfile, startTok, stopTok);
+ }
+ if(fKorean)
+ {
+ startTok.Copy(KKORStart);
+ stopTok.Copy(KKORStop);
+ tfile.Seek(ESeekStart);
+ ret = DoPopulateAndCreateLinkFontsL(tfile, startTok, stopTok);
+ }
}
+
rFile.Close();
@@ -2210,16 +2346,24 @@
KFeatureIdChinesePrcFonts);
TBool fHiResFonts = FeatureManager::FeatureSupported(
KFeatureIdChineseFontsHires);
+ TBool fChinese = FeatureManager::FeatureSupported(
+ KFeatureIdChinese);
+ TBool fJapanese = FeatureManager::FeatureSupported(KFeatureIdJapanese);
+ TBool fKorean = FeatureManager::FeatureSupported(KFeatureIdKorean);
TBool ret = EFalse;
TInt files = 0, ref = 0;
if( (EAknAllLinkedFonts == aFonttype) || (EAknSystemLinkedFonts == aFonttype))
{
- if(fSCFonts)
+ if( (fChinese && fSCFonts ))
+ ref +=KAknFontStylesSupported;
+ if(fChinese && fTCHKFonts)
ref +=KAknFontStylesSupported;
- if(fTCHKFonts)
- ref +=KAknFontStylesSupported;
+ if(fJapanese)
+ ref +=KAknFontStylesSupported;
+ if(fKorean)
+ ref +=KAknFontStylesSupported;
}
for (TInt i = 0; i < noOfTypefaces; i++)
{
@@ -2267,9 +2411,29 @@
files++;
}
}
+ if (fJapanese)
+ {
+ if (typefaceInfo.iTypeface.iName.Compare(KS60JAPSANSRLF)==0||
+ typefaceInfo.iTypeface.iName.Compare(KS60JAPSANSSBLF)==0||
+ typefaceInfo.iTypeface.iName.Compare(KS60JAPSANSTTLSMBLDLF)==0)
+ {
+ files++;
+ }
+
+ }
+ if (fKorean)
+ {
+ if (typefaceInfo.iTypeface.iName.Compare(KS60KORSANSRLF)==0||
+ typefaceInfo.iTypeface.iName.Compare(KS60KORSANSSBLF)==0||
+ typefaceInfo.iTypeface.iName.Compare(KS60KORSANSTTLSMBLDLF) == 0)
+ {
+ files++;
+ }
+
+ }
+ }
}
- }
- if (ref == files)
+ if (files && (ref == files) )
ret = ETrue;
return ret;
}