Mercurial > emacs
changeset 94911:f29483946da4
Delete USE_FONT_BACKEND conditional.
(uniscribe_open): Return value changed to font-object. Adjusted
for the format change of font-object.
(uniscribe_otf_capability): Adjusted for the change of struct
font.
(add_opentype_font_name_to_list): Don't downcase names.
(uniscribe_font_driver): Adjusted for the change of struct
font_driver.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Wed, 14 May 2008 00:39:27 +0000 |
parents | 3c91cba34532 |
children | 5b153bea483d |
files | src/w32uniscribe.c |
diffstat | 1 files changed, 14 insertions(+), 22 deletions(-) [+] |
line wrap: on
line diff
--- a/src/w32uniscribe.c Wed May 14 00:38:39 2008 +0000 +++ b/src/w32uniscribe.c Wed May 14 00:39:27 2008 +0000 @@ -18,7 +18,6 @@ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -#ifdef USE_FONT_BACKEND #include <config.h> /* Override API version - Uniscribe is only available as standard since @@ -112,32 +111,29 @@ return list; } -static struct font * +static Lisp_Object uniscribe_open (f, font_entity, pixel_size) FRAME_PTR f; Lisp_Object font_entity; int pixel_size; { + Lisp_Object font_object + = font_make_object (VECSIZE (struct uniscribe_font_info)); struct uniscribe_font_info *uniscribe_font - = xmalloc (sizeof (struct uniscribe_font_info)); - - if (uniscribe_font == NULL) - return NULL; + = (struct uniscribe_font_info *) XFONT_OBJECT (font_object); - if (!w32font_open_internal (f, font_entity, pixel_size, - (struct w32font_info *) uniscribe_font)) + if (!w32font_open_internal (f, font_entity, pixel_size, font_object)) { - xfree (uniscribe_font); - return NULL; + return Qnil; } /* Initialize the cache for this font. */ uniscribe_font->cache = NULL; /* Mark the format as opentype */ - uniscribe_font->w32_font.font.format = Qopentype; + uniscribe_font->w32_font.font.props[FONT_FORMAT_INDEX] = Qopentype; uniscribe_font->w32_font.font.driver = &uniscribe_font_driver; - return (struct font *) uniscribe_font; + return font_object; } static void @@ -168,8 +164,7 @@ f = XFRAME (selected_frame); context = get_frame_dc (f); - old_font = SelectObject (context, - ((W32FontStruct *) (font->font.font))->hfont); + old_font = SelectObject (context, FONT_COMPAT (font)->hfont); features = otf_features (context, "GSUB"); XSETCAR (capability, features); @@ -262,8 +257,7 @@ f = XFRAME (selected_frame); context = get_frame_dc (f); - old_font = SelectObject (context, - ((W32FontStruct *) (font->font.font))->hfont); + old_font = SelectObject (context, FONT_COMPAT (font)->hfont); glyphs = alloca (max_glyphs * sizeof (WORD)); clusters = alloca (nchars * sizeof (WORD)); @@ -428,8 +422,7 @@ /* Use selected frame until API is updated to pass the frame. */ f = XFRAME (selected_frame); context = get_frame_dc (f); - old_font = SelectObject (context, - ((W32FontStruct *)(font->font.font))->hfont); + old_font = SelectObject (context, FONT_COMPAT (font)->hfont); retval = GetGlyphIndicesW (context, chars, 1, indices, GGI_MARK_NONEXISTING_GLYPHS); @@ -494,8 +487,8 @@ && font_type != TRUETYPE_FONTTYPE) return 1; - family = intern_downcase (logical_font->elfLogFont.lfFaceName, - strlen (logical_font->elfLogFont.lfFaceName)); + family = font_intern_prop (logical_font->elfLogFont.lfFaceName, + strlen (logical_font->elfLogFont.lfFaceName)); if (! memq_no_quit (family, *list)) *list = Fcons (family, *list); @@ -819,6 +812,7 @@ struct font_driver uniscribe_font_driver = { 0, /* Quniscribe */ + 0, /* case insensitive */ w32font_get_cache, uniscribe_list, uniscribe_match, @@ -866,7 +860,5 @@ register_font_driver (&uniscribe_font_driver, NULL); } -#endif /* USE_FONT_BACKEND */ - /* arch-tag: 9530f0e1-7471-47dd-a780-94330af87ea0 (do not change this comment) */