Commit 4c206326 authored by Alexandre Julliard's avatar Alexandre Julliard

winex11: Fetch the antialias parameter from fontconfig too.

parent 40b3d2ed
...@@ -193,6 +193,7 @@ MAKE_FUNCPTR(FcPatternCreate) ...@@ -193,6 +193,7 @@ MAKE_FUNCPTR(FcPatternCreate)
MAKE_FUNCPTR(FcPatternDestroy) MAKE_FUNCPTR(FcPatternDestroy)
MAKE_FUNCPTR(FcPatternAddInteger) MAKE_FUNCPTR(FcPatternAddInteger)
MAKE_FUNCPTR(FcPatternAddString) MAKE_FUNCPTR(FcPatternAddString)
MAKE_FUNCPTR(FcPatternGetBool)
MAKE_FUNCPTR(FcPatternGetInteger) MAKE_FUNCPTR(FcPatternGetInteger)
MAKE_FUNCPTR(FcPatternGetString) MAKE_FUNCPTR(FcPatternGetString)
static void *fontconfig_handle; static void *fontconfig_handle;
...@@ -408,6 +409,7 @@ LOAD_OPTIONAL_FUNCPTR(XRenderSetPictureTransform) ...@@ -408,6 +409,7 @@ LOAD_OPTIONAL_FUNCPTR(XRenderSetPictureTransform)
LOAD_FUNCPTR(FcPatternDestroy); LOAD_FUNCPTR(FcPatternDestroy);
LOAD_FUNCPTR(FcPatternAddInteger); LOAD_FUNCPTR(FcPatternAddInteger);
LOAD_FUNCPTR(FcPatternAddString); LOAD_FUNCPTR(FcPatternAddString);
LOAD_FUNCPTR(FcPatternGetBool);
LOAD_FUNCPTR(FcPatternGetInteger); LOAD_FUNCPTR(FcPatternGetInteger);
LOAD_FUNCPTR(FcPatternGetString); LOAD_FUNCPTR(FcPatternGetString);
#undef LOAD_FUNCPTR #undef LOAD_FUNCPTR
...@@ -936,14 +938,17 @@ static int GetCacheEntry(X11DRV_PDEVICE *physDev, LFANDSIZE *plfsz) ...@@ -936,14 +938,17 @@ static int GetCacheEntry(X11DRV_PDEVICE *physDev, LFANDSIZE *plfsz)
if ((match = pFcFontMatch( NULL, pattern, &result ))) if ((match = pFcFontMatch( NULL, pattern, &result )))
{ {
int rgba; int rgba;
FcBool antialias;
if (pFcPatternGetBool( match, FC_ANTIALIAS, 0, &antialias ) != FcResultMatch)
antialias = TRUE;
if (pFcPatternGetInteger( match, FC_RGBA, 0, &rgba ) == FcResultMatch) if (pFcPatternGetInteger( match, FC_RGBA, 0, &rgba ) == FcResultMatch)
{ {
FcChar8 *file; FcChar8 *file;
if (pFcPatternGetString( match, FC_FILE, 0, &file ) != FcResultMatch) file = NULL; if (pFcPatternGetString( match, FC_FILE, 0, &file ) != FcResultMatch) file = NULL;
TRACE( "fontconfig returned rgba %u for font %s file %s\n", TRACE( "fontconfig returned rgba %u antialias %u for font %s file %s\n",
rgba, debugstr_w(plfsz->lf.lfFaceName), debugstr_a((char *)file) ); rgba, antialias, debugstr_w(plfsz->lf.lfFaceName), debugstr_a((char *)file) );
switch (rgba) switch (rgba)
{ {
...@@ -951,7 +956,7 @@ static int GetCacheEntry(X11DRV_PDEVICE *physDev, LFANDSIZE *plfsz) ...@@ -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_BGR: entry->aa_default = AA_BGR; break;
case FC_RGBA_VRGB: entry->aa_default = AA_VRGB; break; case FC_RGBA_VRGB: entry->aa_default = AA_VRGB; break;
case FC_RGBA_VBGR: entry->aa_default = AA_VBGR; 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 ); pFcPatternDestroy( match );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment