aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog3
-rw-r--r--src/xftfont.c17
2 files changed, 20 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index f005d1bf70..52e8901ff8 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,8 @@
2008-06-20 Kenichi Handa <[email protected]>
+ * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
+ the pattern.
+
* fontset.c (fontset_from_font): Copy font_spec before changing
the elements.
diff --git a/src/xftfont.c b/src/xftfont.c
index 7d5bf245cb..aa6c270e64 100644
--- a/src/xftfont.c
+++ b/src/xftfont.c
@@ -219,6 +219,23 @@ xftfont_open (f, entity, pixel_size)
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;