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