aboutsummaryrefslogtreecommitdiffstats
path: root/src/xftfont.c
diff options
context:
space:
mode:
authorDmitry Antipov2014-07-08 18:50:45 +0400
committerDmitry Antipov2014-07-08 18:50:45 +0400
commit96f17a2f73d1a29c7cdc279daa1fb7f1b7f58aff (patch)
treeeff4991614caccccefdc7d9b10f795728070159e /src/xftfont.c
parentd64a4984c147d0c4550aa1e9e3b9a5db10b3de6a (diff)
downloademacs-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.c16
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));