aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenichi Handa2008-06-20 12:28:22 +0000
committerKenichi Handa2008-06-20 12:28:22 +0000
commitdc2226d0dc1c685f5d9bcd949ea3d2584651eb57 (patch)
tree4560ce175f35821b93664f2e601158c934a04956
parent5f83939ba4725a2d9400e7e1082a40f8b3255d91 (diff)
downloademacs-dc2226d0dc1c685f5d9bcd949ea3d2584651eb57.tar.gz
emacs-dc2226d0dc1c685f5d9bcd949ea3d2584651eb57.zip
(xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to the pattern.
-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 f005d1bf702..52e8901ff87 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,8 @@
12008-06-20 Kenichi Handa <handa@m17n.org> 12008-06-20 Kenichi Handa <handa@m17n.org>
2 2
3 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
4 the pattern.
5
3 * fontset.c (fontset_from_font): Copy font_spec before changing 6 * fontset.c (fontset_from_font): Copy font_spec before changing
4 the elements. 7 the elements.
5 8
diff --git a/src/xftfont.c b/src/xftfont.c
index 7d5bf245cb6..aa6c270e647 100644
--- a/src/xftfont.c
+++ b/src/xftfont.c
@@ -219,6 +219,23 @@ xftfont_open (f, entity, pixel_size)
219 val = AREF (entity, FONT_FAMILY_INDEX); 219 val = AREF (entity, FONT_FAMILY_INDEX);
220 if (! NILP (val)) 220 if (! NILP (val))
221 FcPatternAddString (pat, FC_FAMILY, (FcChar8 *) SDATA (SYMBOL_NAME (val))); 221 FcPatternAddString (pat, FC_FAMILY, (FcChar8 *) SDATA (SYMBOL_NAME (val)));
222 val = AREF (entity, FONT_FOUNDRY_INDEX);
223 if (! NILP (val))
224 FcPatternAddString (pat, FC_FOUNDRY, (FcChar8 *) SDATA (SYMBOL_NAME (val)));
225 val = AREF (entity, FONT_SPACING_INDEX);
226 if (! NILP (val))
227 FcPatternAddInteger (pat, FC_SPACING, XINT (val));
228 val = AREF (entity, FONT_DPI_INDEX);
229 if (! NILP (val))
230 {
231 double dbl = XINT (val);
232
233 FcPatternAddDouble (pat, FC_DPI, dbl);
234 }
235 val = AREF (entity, FONT_AVGWIDTH_INDEX);
236 if (INTEGERP (val) && XINT (val) == 0)
237 FcPatternAddBool (pat, FC_SCALABLE, FcTrue);
238
222 for (tail = AREF (entity, FONT_EXTRA_INDEX); CONSP (tail); tail = XCDR (tail)) 239 for (tail = AREF (entity, FONT_EXTRA_INDEX); CONSP (tail); tail = XCDR (tail))
223 { 240 {
224 Lisp_Object key, val; 241 Lisp_Object key, val;