Keith Packard <[EMAIL PROTECTED]> writes:

> Around 10 o'clock on Jun 4, Owen Taylor wrote:
> 
> > I believe the correct solution is to simply remove the code in
> > fontconfig that adds FC_ANTIALIAS=FcFalse for non-scaleable fonts.
> 
> No, I suspect all that's needed is to move FC_ANTIALIAS to be less 
> important in the matching algorithm than FC_FAMILY.  Right now, we have:
> 
>       FC_FOUNDRY
>       FC_CHARSET
>       FC_ANTIALIAS
>       FC_LANG
>       FC_FAMILY
>       FC_SPACING
>       FC_PIXEL_SIZE
>       FC_STYLE
>       FC_SLANT
>       FC_WEIGHT
>       FC_RASTERIZER
>       FC_OUTLINE
> 
> Any mismatch in an entry higher in this table overrides differences 
> further along in the table.
> 
> Certainly it would be nice to prefer anti-aliased over non-antialiased 
> fonts for the same family, I suggest that FC_ANTIALIAS get moved to just 
> above FC_RASTERIZER.

Sounds fine to me. Just for completeness the obvious patch to do this
is attached.

Regards,
                                        Owen


--- fontconfig/src/fcmatch.c.noantialias	Mon Jun 10 15:13:16 2002
+++ fontconfig/src/fcmatch.c	Mon Jun 10 15:13:38 2002
@@ -109,29 +109,29 @@
     { FC_CHARSET,	FcCompareCharSet },
 #define MATCH_CHARSET	1
     
-    { FC_ANTIALIAS,	FcCompareBool, },
-#define MATCH_ANTIALIAS	2
-    
     { FC_LANG,		FcCompareString },
-#define MATCH_LANG	3
+#define MATCH_LANG	2
     
     { FC_FAMILY,	FcCompareString, },
-#define MATCH_FAMILY	4
+#define MATCH_FAMILY	3
     
     { FC_SPACING,	FcCompareInteger, },
-#define MATCH_SPACING	5
+#define MATCH_SPACING	4
     
     { FC_PIXEL_SIZE,	FcCompareSize, },
-#define MATCH_PIXEL_SIZE	6
+#define MATCH_PIXEL_SIZE	5
     
     { FC_STYLE,		FcCompareString, },
-#define MATCH_STYLE	7
+#define MATCH_STYLE	6
     
     { FC_SLANT,		FcCompareInteger, },
-#define MATCH_SLANT	8
+#define MATCH_SLANT	7
     
     { FC_WEIGHT,	FcCompareInteger, },
-#define MATCH_WEIGHT	9
+#define MATCH_WEIGHT	8
+    
+    { FC_ANTIALIAS,	FcCompareBool, },
+#define MATCH_ANTIALIAS	9
     
     { FC_RASTERIZER,	FcCompareString, },
 #define MATCH_RASTERIZER	10

Reply via email to