aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenichi Handa2008-06-30 07:40:40 +0000
committerKenichi Handa2008-06-30 07:40:40 +0000
commit1cf6763fdbc156b9ba341d4fd193129c0605e6ef (patch)
treea7000d133955607af793147d31f80abc78e1ab39 /src
parent7d7ad10e334f29d603fd1fdc3c6c92cb918def94 (diff)
downloademacs-1cf6763fdbc156b9ba341d4fd193129c0605e6ef.tar.gz
emacs-1cf6763fdbc156b9ba341d4fd193129c0605e6ef.zip
(xftfont_open): Don't call FcConfigSubstitute and
XftDefaultSubstitute (they are called in XftFontMatch). (xftfont_open): Fix args to ftfont_font_format.
Diffstat (limited to 'src')
-rw-r--r--src/xftfont.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/xftfont.c b/src/xftfont.c
index c6aab049b4c..8ccdb946eca 100644
--- a/src/xftfont.c
+++ b/src/xftfont.c
@@ -175,7 +175,7 @@ xftfont_match (frame, spec)
175 return entity; 175 return entity;
176} 176}
177 177
178extern Lisp_Object ftfont_font_format P_ ((FcPattern *)); 178extern Lisp_Object ftfont_font_format P_ ((FcPattern *, Lisp_Object));
179extern Lisp_Object QCantialias; 179extern Lisp_Object QCantialias;
180 180
181static FcChar8 ascii_printable[95]; 181static FcChar8 ascii_printable[95];
@@ -209,7 +209,6 @@ xftfont_open (f, entity, pixel_size)
209 if (size == 0) 209 if (size == 0)
210 size = pixel_size; 210 size = pixel_size;
211 pat = FcPatternCreate (); 211 pat = FcPatternCreate ();
212 FcPatternAddString (pat, FC_FILE, (FcChar8 *) SDATA (filename));
213 FcPatternAddInteger (pat, FC_WEIGHT, FONT_WEIGHT_NUMERIC (entity)); 212 FcPatternAddInteger (pat, FC_WEIGHT, FONT_WEIGHT_NUMERIC (entity));
214 i = FONT_SLANT_NUMERIC (entity) - 100; 213 i = FONT_SLANT_NUMERIC (entity) - 100;
215 if (i < 0) i = 0; 214 if (i < 0) i = 0;
@@ -262,12 +261,12 @@ xftfont_open (f, entity, pixel_size)
262 FcPatternAddBool (pat, FC_EMBOLDEN, NILP (val) ? FcFalse : FcTrue); 261 FcPatternAddBool (pat, FC_EMBOLDEN, NILP (val) ? FcFalse : FcTrue);
263#endif 262#endif
264 } 263 }
265 FcConfigSubstitute (NULL, pat, FcMatchPattern);
266 264
267 BLOCK_INPUT; 265 BLOCK_INPUT;
268 XftDefaultSubstitute (display, FRAME_X_SCREEN_NUMBER (f), pat);
269 match = XftFontMatch (display, FRAME_X_SCREEN_NUMBER (f), pat, &result); 266 match = XftFontMatch (display, FRAME_X_SCREEN_NUMBER (f), pat, &result);
270 FcPatternDestroy (pat); 267 FcPatternDestroy (pat);
268 FcPatternDel (match, FC_FILE);
269 FcPatternAddString (match, FC_FILE, (FcChar8 *) SDATA (filename));
271 xftfont = XftFontOpenPattern (display, match); 270 xftfont = XftFontOpenPattern (display, match);
272 UNBLOCK_INPUT; 271 UNBLOCK_INPUT;
273 272
@@ -291,7 +290,7 @@ xftfont_open (f, entity, pixel_size)
291 AREF (font_object, FONT_NAME_INDEX)); 290 AREF (font_object, FONT_NAME_INDEX));
292 ASET (font_object, FONT_FILE_INDEX, filename); 291 ASET (font_object, FONT_FILE_INDEX, filename);
293 ASET (font_object, FONT_FORMAT_INDEX, 292 ASET (font_object, FONT_FORMAT_INDEX,
294 ftfont_font_format (xftfont->pattern)); 293 ftfont_font_format (xftfont->pattern, filename));
295 font = XFONT_OBJECT (font_object); 294 font = XFONT_OBJECT (font_object);
296 font->pixel_size = pixel_size; 295 font->pixel_size = pixel_size;
297 font->driver = &xftfont_driver; 296 font->driver = &xftfont_driver;