diff options
| author | Kenichi Handa | 2008-06-30 07:40:40 +0000 |
|---|---|---|
| committer | Kenichi Handa | 2008-06-30 07:40:40 +0000 |
| commit | 1cf6763fdbc156b9ba341d4fd193129c0605e6ef (patch) | |
| tree | a7000d133955607af793147d31f80abc78e1ab39 /src | |
| parent | 7d7ad10e334f29d603fd1fdc3c6c92cb918def94 (diff) | |
| download | emacs-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.c | 9 |
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 | ||
| 178 | extern Lisp_Object ftfont_font_format P_ ((FcPattern *)); | 178 | extern Lisp_Object ftfont_font_format P_ ((FcPattern *, Lisp_Object)); |
| 179 | extern Lisp_Object QCantialias; | 179 | extern Lisp_Object QCantialias; |
| 180 | 180 | ||
| 181 | static FcChar8 ascii_printable[95]; | 181 | static 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; |