diff options
| author | Dmitry Antipov | 2014-07-08 18:50:45 +0400 |
|---|---|---|
| committer | Dmitry Antipov | 2014-07-08 18:50:45 +0400 |
| commit | 96f17a2f73d1a29c7cdc279daa1fb7f1b7f58aff (patch) | |
| tree | eff4991614caccccefdc7d9b10f795728070159e /src/xftfont.c | |
| parent | d64a4984c147d0c4550aa1e9e3b9a5db10b3de6a (diff) | |
| download | emacs-96f17a2f73d1a29c7cdc279daa1fb7f1b7f58aff.tar.gz emacs-96f17a2f73d1a29c7cdc279daa1fb7f1b7f58aff.zip | |
* font.c (font_build_object) [HAVE_XFT || HAVE_FREETYPE || HAVE_NS]:
New function, with an intention to avoid code duplication between
a few font drivers.
* font.h (font_build_object) [HAVE_XFT || HAVE_FREETYPE || HAVE_NS]:
Add prototype.
* ftfont.c (ftfont_open):
* macfont.m (macfont_open):
* xftfont.c (xftfont_open): Use it.
Diffstat (limited to 'src/xftfont.c')
| -rw-r--r-- | src/xftfont.c | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/src/xftfont.c b/src/xftfont.c index bd3f2c92142..1ca3f92b239 100644 --- a/src/xftfont.c +++ b/src/xftfont.c | |||
| @@ -270,8 +270,7 @@ xftfont_open (struct frame *f, Lisp_Object entity, int pixel_size) | |||
| 270 | double size = 0; | 270 | double size = 0; |
| 271 | XftFont *xftfont = NULL; | 271 | XftFont *xftfont = NULL; |
| 272 | int spacing; | 272 | int spacing; |
| 273 | char name[256]; | 273 | int i; |
| 274 | int len, i; | ||
| 275 | XGlyphInfo extents; | 274 | XGlyphInfo extents; |
| 276 | FT_Face ft_face; | 275 | FT_Face ft_face; |
| 277 | FcMatrix *matrix; | 276 | FcMatrix *matrix; |
| @@ -341,17 +340,8 @@ xftfont_open (struct frame *f, Lisp_Object entity, int pixel_size) | |||
| 341 | 340 | ||
| 342 | /* We should not destroy PAT here because it is kept in XFTFONT and | 341 | /* We should not destroy PAT here because it is kept in XFTFONT and |
| 343 | destroyed automatically when XFTFONT is closed. */ | 342 | destroyed automatically when XFTFONT is closed. */ |
| 344 | font_object = font_make_object (VECSIZE (struct xftfont_info), entity, size); | 343 | font_object = font_build_object (VECSIZE (struct xftfont_info), |
| 345 | ASET (font_object, FONT_TYPE_INDEX, Qxft); | 344 | Qxft, entity, size); |
| 346 | len = font_unparse_xlfd (entity, size, name, 256); | ||
| 347 | if (len > 0) | ||
| 348 | ASET (font_object, FONT_NAME_INDEX, make_string (name, len)); | ||
| 349 | len = font_unparse_fcname (entity, size, name, 256); | ||
| 350 | if (len > 0) | ||
| 351 | ASET (font_object, FONT_FULLNAME_INDEX, make_string (name, len)); | ||
| 352 | else | ||
| 353 | ASET (font_object, FONT_FULLNAME_INDEX, | ||
| 354 | AREF (font_object, FONT_NAME_INDEX)); | ||
| 355 | ASET (font_object, FONT_FILE_INDEX, filename); | 345 | ASET (font_object, FONT_FILE_INDEX, filename); |
| 356 | ASET (font_object, FONT_FORMAT_INDEX, | 346 | ASET (font_object, FONT_FORMAT_INDEX, |
| 357 | ftfont_font_format (xftfont->pattern, filename)); | 347 | ftfont_font_format (xftfont->pattern, filename)); |