X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/2d3c9015c70fd05ac1bec42cc59d57c3fb6b82b5..2cae8632b75245e232030244159963287ffc6231:/src/nsfont.m diff --git a/src/nsfont.m b/src/nsfont.m index 2c5e25b993..13c7b0bce2 100644 --- a/src/nsfont.m +++ b/src/nsfont.m @@ -627,8 +627,8 @@ static Lisp_Object nsfont_open (struct frame *f, Lisp_Object font_entity, static void nsfont_close (struct font *font); static int nsfont_has_char (Lisp_Object entity, int c); static unsigned int nsfont_encode_char (struct font *font, int c); -static int nsfont_text_extents (struct font *font, unsigned int *code, - int nglyphs, struct font_metrics *metrics); +static void nsfont_text_extents (struct font *font, unsigned int *code, + int nglyphs, struct font_metrics *metrics); static int nsfont_draw (struct glyph_string *s, int from, int to, int x, int y, bool with_background); @@ -649,7 +649,7 @@ struct font_driver nsfont_driver = nsfont_encode_char, nsfont_text_extents, nsfont_draw, - /* excluded: get_bitmap, free_bitmap, get_outline, free_outline, + /* excluded: get_bitmap, free_bitmap, anchor_point, otf_capability, otf_driver, start_for_frame, end_for_frame, shape */ }; @@ -830,9 +830,6 @@ nsfont_open (struct frame *f, Lisp_Object font_entity, int pixel_size) font->baseline_offset = 0; font->relative_compose = 0; - font->props[FONT_FORMAT_INDEX] = Qns; - font->props[FONT_FILE_INDEX] = Qnil; - { const char *fontName = [[nsfont fontName] UTF8String]; @@ -945,6 +942,8 @@ nsfont_close (struct font *font) xfree (font_info->glyphs[i]); xfree (font_info->metrics[i]); } + xfree (font_info->glyphs); + xfree (font_info->metrics); [font_info->nsfont release]; #ifdef NS_IMPL_COCOA CGFontRelease (font_info->cgfont); @@ -989,9 +988,9 @@ nsfont_encode_char (struct font *font, int c) /* Perform the size computation of glyphs of FONT and fill in members of METRICS. The glyphs are specified by their glyph codes in CODE (length NGLYPHS). */ -static int -nsfont_text_extents (struct font *font, unsigned int *code, int nglyphs, - struct font_metrics *metrics) +static void +nsfont_text_extents (struct font *font, unsigned int *code, + int nglyphs, struct font_metrics *metrics) { struct nsfont_info *font_info = (struct nsfont_info *)font; struct font_metrics *pcm; @@ -1001,7 +1000,7 @@ nsfont_text_extents (struct font *font, unsigned int *code, int nglyphs, memset (metrics, 0, sizeof (struct font_metrics)); - for (i =0; iwidth = totalWidth; - - return totalWidth; /* not specified in doc, but xfont.c does it */ } @@ -1042,8 +1039,13 @@ nsfont_draw (struct glyph_string *s, int from, int to, int x, int y, static unsigned char cbuf[1024]; unsigned char *c = cbuf; #ifdef NS_IMPL_GNUSTEP +#if GNUSTEP_GUI_MAJOR_VERSION > 0 || GNUSTEP_GUI_MINOR_VERSION > 22 + static CGFloat advances[1024]; + CGFloat *adv = advances; +#else static float advances[1024]; float *adv = advances; +#endif #else static CGSize advances[1024]; CGSize *adv = advances;