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