Alexandre Julliard : winex11: Fetch the antialias parameter from fontconfig too.

Alexandre Julliard julliard at winehq.org
Mon May 24 11:30:50 CDT 2010


Module: wine
Branch: master
Commit: 4c206326913706788644e8f4ebc11dcede368d6f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=4c206326913706788644e8f4ebc11dcede368d6f

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Mon May 24 12:34:28 2010 +0200

winex11: Fetch the antialias parameter from fontconfig too.

---

 dlls/winex11.drv/xrender.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/dlls/winex11.drv/xrender.c b/dlls/winex11.drv/xrender.c
index cc0b2b5..087da2b 100644
--- a/dlls/winex11.drv/xrender.c
+++ b/dlls/winex11.drv/xrender.c
@@ -193,6 +193,7 @@ MAKE_FUNCPTR(FcPatternCreate)
 MAKE_FUNCPTR(FcPatternDestroy)
 MAKE_FUNCPTR(FcPatternAddInteger)
 MAKE_FUNCPTR(FcPatternAddString)
+MAKE_FUNCPTR(FcPatternGetBool)
 MAKE_FUNCPTR(FcPatternGetInteger)
 MAKE_FUNCPTR(FcPatternGetString)
 static void *fontconfig_handle;
@@ -408,6 +409,7 @@ LOAD_OPTIONAL_FUNCPTR(XRenderSetPictureTransform)
         LOAD_FUNCPTR(FcPatternDestroy);
         LOAD_FUNCPTR(FcPatternAddInteger);
         LOAD_FUNCPTR(FcPatternAddString);
+        LOAD_FUNCPTR(FcPatternGetBool);
         LOAD_FUNCPTR(FcPatternGetInteger);
         LOAD_FUNCPTR(FcPatternGetString);
 #undef LOAD_FUNCPTR
@@ -936,14 +938,17 @@ static int GetCacheEntry(X11DRV_PDEVICE *physDev, LFANDSIZE *plfsz)
             if ((match = pFcFontMatch( NULL, pattern, &result )))
             {
                 int rgba;
+                FcBool antialias;
 
+                if (pFcPatternGetBool( match, FC_ANTIALIAS, 0, &antialias ) != FcResultMatch)
+                    antialias = TRUE;
                 if (pFcPatternGetInteger( match, FC_RGBA, 0, &rgba ) == FcResultMatch)
                 {
                     FcChar8 *file;
                     if (pFcPatternGetString( match, FC_FILE, 0, &file ) != FcResultMatch) file = NULL;
 
-                    TRACE( "fontconfig returned rgba %u for font %s file %s\n",
-                         rgba, debugstr_w(plfsz->lf.lfFaceName), debugstr_a((char *)file) );
+                    TRACE( "fontconfig returned rgba %u antialias %u for font %s file %s\n",
+                           rgba, antialias, debugstr_w(plfsz->lf.lfFaceName), debugstr_a((char *)file) );
 
                     switch (rgba)
                     {
@@ -951,7 +956,7 @@ static int GetCacheEntry(X11DRV_PDEVICE *physDev, LFANDSIZE *plfsz)
                     case FC_RGBA_BGR:  entry->aa_default = AA_BGR; break;
                     case FC_RGBA_VRGB: entry->aa_default = AA_VRGB; break;
                     case FC_RGBA_VBGR: entry->aa_default = AA_VBGR; break;
-                    case FC_RGBA_NONE: entry->aa_default = AA_None; break;
+                    case FC_RGBA_NONE: entry->aa_default = antialias ? AA_Grey : AA_None; break;
                     }
                 }
                 pFcPatternDestroy( match );




More information about the wine-cvs mailing list