diff src/xftfont.c @ 96094:0304b3142c84

(xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to the pattern.
author Kenichi Handa <handa@m17n.org>
date Fri, 20 Jun 2008 12:27:56 +0000
parents 3376493a3ad4
children e26d249d40df
line wrap: on
line diff
--- a/src/xftfont.c	Fri Jun 20 09:20:09 2008 +0000
+++ b/src/xftfont.c	Fri Jun 20 12:27:56 2008 +0000
@@ -219,6 +219,23 @@
   val = AREF (entity, FONT_FAMILY_INDEX);
   if (! NILP (val))
     FcPatternAddString (pat, FC_FAMILY, (FcChar8 *) SDATA (SYMBOL_NAME (val)));
+  val = AREF (entity, FONT_FOUNDRY_INDEX);
+  if (! NILP (val))
+    FcPatternAddString (pat, FC_FOUNDRY, (FcChar8 *) SDATA (SYMBOL_NAME (val)));
+  val = AREF (entity, FONT_SPACING_INDEX);
+  if (! NILP (val))
+    FcPatternAddInteger (pat, FC_SPACING, XINT (val));
+  val = AREF (entity, FONT_DPI_INDEX);
+  if (! NILP (val))
+    {
+      double dbl = XINT (val);
+
+      FcPatternAddDouble (pat, FC_DPI, dbl);
+    }
+  val = AREF (entity, FONT_AVGWIDTH_INDEX);
+  if (INTEGERP (val) && XINT (val) == 0)
+    FcPatternAddBool (pat, FC_SCALABLE, FcTrue);
+
   for (tail = AREF (entity, FONT_EXTRA_INDEX); CONSP (tail); tail = XCDR (tail))
     {
       Lisp_Object key, val;