/* Font backend for the Microsoft W32 Uniscribe API.
- Copyright (C) 2008-2013 Free Software Foundation, Inc.
+ Copyright (C) 2008-2014 Free Software Foundation, Inc.
This file is part of GNU Emacs.
extern Lisp_Object Qopentype;
/* EnumFontFamiliesEx callback. */
-static int CALLBACK add_opentype_font_name_to_list (ENUMLOGFONTEX *,
- NEWTEXTMETRICEX *,
- DWORD, LPARAM);
+static int CALLBACK ALIGN_STACK add_opentype_font_name_to_list (ENUMLOGFONTEX *,
+ NEWTEXTMETRICEX *,
+ DWORD, LPARAM);
/* Used by uniscribe_otf_capability. */
static Lisp_Object otf_features (HDC context, char *table);
/* Uniscribe backend uses glyph indices. */
uniscribe_font->w32_font.glyph_idx = ETO_GLYPH_INDEX;
- /* Mark the format as opentype */
- uniscribe_font->w32_font.font.props[FONT_FORMAT_INDEX] = Qopentype;
uniscribe_font->w32_font.font.driver = &uniscribe_font_driver;
return font_object;
}
static void
-uniscribe_close (struct frame *f, struct font *font)
+uniscribe_close (struct font *font)
{
struct uniscribe_font_info *uniscribe_font
= (struct uniscribe_font_info *) font;
if (uniscribe_font->cache)
ScriptFreeCache (&(uniscribe_font->cache));
- w32font_close (f, font);
+ w32font_close (font);
}
/* Return a list describing which scripts/languages FONT supports by
Lisp_Object uniscribe_get_cache (Lisp_Object frame);
void uniscribe_free_entity (Lisp_Object font_entity);
int uniscribe_has_char (Lisp_Object entity, int c);
- int uniscribe_text_extents (struct font *font, unsigned *code,
- int nglyphs, struct font_metrics *metrics);
+ void uniscribe_text_extents (struct font *font, unsigned *code,
+ int nglyphs, struct font_metrics *metrics);
int uniscribe_draw (struct glyph_string *s, int from, int to,
int x, int y, int with_background);
int uniscribe_get_bitmap (struct font *font, unsigned code,
struct font_bitmap *bitmap, int bits_per_pixel);
void uniscribe_free_bitmap (struct font *font, struct font_bitmap *bitmap);
- void * uniscribe_get_outline (struct font *font, unsigned code);
- void uniscribe_free_outline (struct font *font, void *outline);
int uniscribe_anchor_point (struct font *font, unsigned code,
int index, int *x, int *y);
int uniscribe_start_for_frame (struct frame *f);
/* Callback function for EnumFontFamiliesEx.
Adds the name of opentype fonts to a Lisp list (passed in as the
lParam arg). */
-static int CALLBACK
+static int CALLBACK ALIGN_STACK
add_opentype_font_name_to_list (ENUMLOGFONTEX *logical_font,
NEWTEXTMETRICEX *physical_font,
DWORD font_type, LPARAM list_object)
\f
struct font_driver uniscribe_font_driver =
{
- 0, /* Quniscribe */
+ LISP_INITIALLY_ZERO, /* Quniscribe */
0, /* case insensitive */
w32font_get_cache,
uniscribe_list,
w32font_draw,
NULL, /* get_bitmap */
NULL, /* free_bitmap */
- NULL, /* get_outline */
- NULL, /* free_outline */
NULL, /* anchor_point */
uniscribe_otf_capability, /* Defined so (font-get FONTOBJ :otf) works. */
NULL, /* otf_drive - use shape instead. */