fixed drawing bold font bug(P130605-6845)
authorSungyeon Woo <s.woo@samsung.com>
Fri, 7 Jun 2013 08:17:25 +0000 (17:17 +0900)
committerSungyeon Woo <s.woo@samsung.com>
Fri, 7 Jun 2013 08:17:25 +0000 (17:17 +0900)
Change-Id: I9771c435b0a87ce8d6fe54675054e8f781ed2322
Signed-off-by: Sungyeon Woo <s.woo@samsung.com>
src/graphics/FGrp_Font.cpp
src/graphics/FGrp_FontRsrcManager.cpp

index 8039ead..d5bed10 100755 (executable)
@@ -2491,10 +2491,10 @@ _Font::__GetFallbackFontFileList(wchar_t character, Tizen::Base::Collection::ILi
        FcFontSet* pSet = null;
        FcChar8* pName = null;
        FcResult res = FcResultNoMatch;
-       const char* fcStyle = (__fontAttrib.style & FONT_STYLE_BOLD) ? "Bold" : "Regular";
+       const int fcWeight = (__fontAttrib.style & FONT_STYLE_BOLD) ? FC_WEIGHT_MEDIUM : FC_WEIGHT_REGULAR;
 
        // getting fallback font list
-       pPattern = FcPatternBuild(NULL, FC_STYLE, FcTypeString, (FcChar8*)fcStyle, NULL);
+       pPattern = FcPatternBuild(NULL, FC_WEIGHT, FcTypeInteger, fcWeight, NULL);
        SysTryCatch(NID_GRP, pPattern, , E_SYSTEM, "[E_SYSTEM] Failed to FcPatternBuild()");
 
        FcPatternAddString(pPattern, FC_FAMILY, (FcChar8*)"Tizen");
index 04dc2da..387a294 100644 (file)
@@ -735,7 +735,7 @@ _FontRsrcManager::GetSystemFont(const Tizen::Base::String& fontName, int style,
        FcFontSet *pFontSet = null;
        FcResult res = FcResultNoMatch;
        FcChar8* pPath = null;
-       const char* fcStyle = (style & FONT_STYLE_BOLD) ? "Bold" : "Regular";
+       const int fcWeight = (style & FONT_STYLE_BOLD) ? FC_WEIGHT_BOLD : FC_WEIGHT_REGULAR;
        result r = E_SYSTEM;
 
        ByteBuffer* pBuffer = StringUtil::StringToUtf8N(fontName);
@@ -748,7 +748,7 @@ _FontRsrcManager::GetSystemFont(const Tizen::Base::String& fontName, int style,
        //FcBool rtn = FcInitReinitialize();
        //SysTryCatch(NID_GRP, rtn != FcFalse, , r, "[E_SYSTEM] Failed to init fontconfig");
 
-       pFontPattern = FcPatternBuild(NULL, FC_STYLE, FcTypeString, (FcChar8*)fcStyle, NULL);
+       pFontPattern = FcPatternBuild(NULL, FC_WEIGHT, FcTypeInteger, fcWeight, NULL);
        SysTryCatch(NID_GRP, pFontPattern, , r, "[E_SYSTEM] Failed to FcPatternBuild()");
 
        FcPatternAddString(pFontPattern, FC_FAMILY, (FcChar8*)utfString->GetPointer());
@@ -1148,7 +1148,8 @@ _FontRsrcManager::__GetFontPath(bool isBold)
 
        FcFontSet* pFontSet = null;
        FcPattern* pFontPattern = null;
-       const char* fcStyle = isBold ? "Bold" : "Regular";
+       const int fcWeight = isBold ? FC_WEIGHT_BOLD : FC_WEIGHT_REGULAR;
+
        // initialize fontconfig library
        //FcBool rtn = FcInitReinitialize();
        //SysTryCatch(NID_GRP, rtn != FcFalse, , E_SYSTEM, "[E_SYSTEM] Failed to init fontconfig");
@@ -1157,8 +1158,8 @@ _FontRsrcManager::__GetFontPath(bool isBold)
        pFontPattern = FcPatternCreate();
        SysTryCatch(NID_GRP, pFontPattern, , E_SYSTEM, "[E_SYSTEM] Failed to create font pattern");
 
+       FcPatternAddInteger(pFontPattern, FC_WEIGHT, fcWeight);
        FcPatternAddString(pFontPattern, FC_FAMILY, (FcChar8*)"Tizen");
-       FcPatternAddString(pFontPattern, FC_STYLE, (FcChar8*)fcStyle);
        FcConfigSubstitute(0, pFontPattern, FcMatchPattern);
        FcDefaultSubstitute(pFontPattern);