# HG changeset patch # User Kenichi Handa # Date 1210727091 0 # Node ID e61553aa7a7335cb1adbe08ca57a7ec722623934 # Parent 283ee643ce8bfb248286c7b0bca27ed88ed014db Throughout the file, delete all USE_FONT_BACKEND conditionals. Don't check enable_font_backend. Delete all codes used only when USE_FONT_BACKEND is not defined. Surround non-used code by "#ifdef OLD_FONT" and "endif". (Fw32_select_font): Use FONT_COMPAT to get old font structure. diff -r 283ee643ce8b -r e61553aa7a73 src/w32fns.c --- a/src/w32fns.c Wed May 14 01:04:21 2008 +0000 +++ b/src/w32fns.c Wed May 14 01:04:51 2008 +0000 @@ -62,9 +62,8 @@ #include #define FILE_NAME_TEXT_FIELD edt1 -#ifdef USE_FONT_BACKEND #include "font.h" -#endif +#include "w32font.h" void syms_of_w32fns (); void globals_of_w32fns (); @@ -74,7 +73,9 @@ extern int w32_console_toggle_lock_key P_ ((int, Lisp_Object)); extern void w32_menu_display_help P_ ((HWND, HMENU, UINT, UINT)); extern void w32_free_menu_strings P_ ((HWND)); +#if OLD_FONT extern XCharStruct *w32_per_char_metric P_ ((XFontStruct *, wchar_t *, int)); +#endif extern int quit_char; @@ -342,10 +343,8 @@ static int menubar_in_use = 0; /* From w32uniscribe.c */ -#ifdef USE_FONT_BACKEND extern void syms_of_w32uniscribe (); extern int uniscribe_available; -#endif /* Function prototypes for hourglass support. */ static void show_hourglass P_ ((struct frame *)); @@ -4270,7 +4269,6 @@ return Qnil; } -#ifdef USE_FONT_BACKEND static void x_default_font_parameter (f, parms) struct frame *f; @@ -4301,7 +4299,6 @@ } x_default_parameter (f, parms, Qfont, font, "font", "Font", RES_TYPE_STRING); } -#endif DEFUN ("x-create-frame", Fx_create_frame, Sx_create_frame, 1, 1, 0, @@ -4444,58 +4441,15 @@ f->resx = dpyinfo->resx; f->resy = dpyinfo->resy; -#ifdef USE_FONT_BACKEND - if (enable_font_backend) - { - /* Perhaps, we must allow frame parameter, say `font-backend', - to specify which font backends to use. */ - if (uniscribe_available) - register_font_driver (&uniscribe_font_driver, f); - register_font_driver (&w32font_driver, f); - - x_default_parameter (f, parameters, Qfont_backend, Qnil, - "fontBackend", "FontBackend", RES_TYPE_STRING); - } -#endif /* USE_FONT_BACKEND */ - + if (uniscribe_available) + register_font_driver (&uniscribe_font_driver, f); + register_font_driver (&w32font_driver, f); + + x_default_parameter (f, parameters, Qfont_backend, Qnil, + "fontBackend", "FontBackend", RES_TYPE_STRING); /* Extract the window parameters from the supplied values that are needed to determine window geometry. */ -#ifdef USE_FONT_BACKEND - if (enable_font_backend) - x_default_font_parameter (f, parameters); - else -#endif - { - Lisp_Object font; - - font = w32_get_arg (parameters, Qfont, "font", "Font", RES_TYPE_STRING); - - BLOCK_INPUT; - /* First, try whatever font the caller has specified. */ - if (STRINGP (font)) - { - tem = Fquery_fontset (font, Qnil); - if (STRINGP (tem)) - font = x_new_fontset (f, tem); - else - font = x_new_font (f, SDATA (font)); - } - /* Try out a font which we hope has bold and italic variations. */ - if (!STRINGP (font)) - font = x_new_font (f, "-*-Courier New-normal-r-*-*-*-100-*-*-c-*-iso8859-1"); - if (! STRINGP (font)) - font = x_new_font (f, "-*-Courier-normal-r-*-*-13-*-*-*-c-*-iso8859-1"); - /* If those didn't work, look for something which will at least work. */ - if (! STRINGP (font)) - font = x_new_font (f, "-*-Fixedsys-normal-r-*-*-12-*-*-*-c-*-iso8859-1"); - UNBLOCK_INPUT; - if (! STRINGP (font)) - font = build_string ("Fixedsys"); - - x_default_parameter (f, parameters, Qfont, font, - "font", "Font", RES_TYPE_STRING); - } - + x_default_font_parameter (f, parameters); x_default_parameter (f, parameters, Qborder_width, make_number (2), "borderWidth", "BorderWidth", RES_TYPE_NUMBER); /* This defaults to 2 in order to match xterm. We recognize either @@ -4683,6 +4637,8 @@ } +#if OLD_FONT + /* Return the charset portion of a font name. */ char * xlfd_charset_of_font (char * fontname) @@ -5008,6 +4964,7 @@ xfree (font); } } +#endif /* OLD_FONT */ /* The font conversion stuff between x and w32 */ @@ -5506,6 +5463,8 @@ } } +#if OLD_FONT + /* Get the Windows codepage corresponding to the specified font. The charset info in the font name is used to look up w32-charset-to-codepage-alist. */ @@ -5561,7 +5520,7 @@ else return CP_UNKNOWN; } - +#endif /* OLD_FONT */ static BOOL w32_to_x_font (lplogfont, lpxstr, len, specific_charset) @@ -5847,6 +5806,8 @@ return (TRUE); } +#if OLD_FONT + /* Strip the pixel height and point height from the given xlfd, and return the pixel height. If no pixel height is specified, calculate one from the point height, or if that isn't defined either, return @@ -6560,10 +6521,14 @@ } } +#endif /* OLD_FONT */ + /* directory-files from dired.c. */ Lisp_Object Fdirectory_files P_ ((Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object)); +#if OLD_FONT + /* Find BDF files in a specified directory. (use GCPRO when calling, as this calls lisp to get a directory listing). */ static Lisp_Object @@ -6614,6 +6579,7 @@ } return list; } +#endif /* OLD_FONT */ DEFUN ("xw-color-defined-p", Fxw_color_defined_p, Sxw_color_defined_p, 1, 2, 0, @@ -7084,6 +7050,7 @@ error ("Display still has frames on it"); BLOCK_INPUT; +#if OLD_FONT /* Free the fonts in the font table. */ for (i = 0; i < dpyinfo->n_fonts; i++) if (dpyinfo->font_table[i].name) @@ -7093,6 +7060,7 @@ xfree (dpyinfo->font_table[i].name); w32_unload_font (dpyinfo, dpyinfo->font_table[i].font); } +#endif x_destroy_all_bitmaps (dpyinfo); x_delete_display (dpyinfo); @@ -7523,56 +7491,16 @@ f->resx = dpyinfo->resx; f->resy = dpyinfo->resy; -#ifdef USE_FONT_BACKEND - if (enable_font_backend) - { - /* Perhaps, we must allow frame parameter, say `font-backend', - to specify which font backends to use. */ - register_font_driver (&w32font_driver, f); - - x_default_parameter (f, parms, Qfont_backend, Qnil, - "fontBackend", "FontBackend", RES_TYPE_STRING); - } -#endif /* USE_FONT_BACKEND */ + /* Perhaps, we must allow frame parameter, say `font-backend', + to specify which font backends to use. */ + register_font_driver (&w32font_driver, f); + + x_default_parameter (f, parms, Qfont_backend, Qnil, + "fontBackend", "FontBackend", RES_TYPE_STRING); /* Extract the window parameters from the supplied values that are needed to determine window geometry. */ -#ifdef USE_FONT_BACKEND - if (enable_font_backend) - x_default_font_parameter (f, parms); - else -#endif /* USE_FONT_BACKEND */ - { - Lisp_Object font; - - font = w32_get_arg (parms, Qfont, "font", "Font", RES_TYPE_STRING); - - BLOCK_INPUT; - /* First, try whatever font the caller has specified. */ - if (STRINGP (font)) - { - tem = Fquery_fontset (font, Qnil); - if (STRINGP (tem)) - font = x_new_fontset (f, tem); - else - font = x_new_font (f, SDATA (font)); - } - - /* Try out a font which we hope has bold and italic variations. */ - if (!STRINGP (font)) - font = x_new_font (f, "-*-Courier New-normal-r-*-*-*-100-*-*-c-*-iso8859-1"); - if (! STRINGP (font)) - font = x_new_font (f, "-*-Courier-normal-r-*-*-13-*-*-*-c-*-iso8859-1"); - /* If those didn't work, look for something which will at least work. */ - if (! STRINGP (font)) - font = x_new_font (f, "-*-Fixedsys-normal-r-*-*-12-*-*-*-c-*-iso8859-1"); - UNBLOCK_INPUT; - if (! STRINGP (font)) - font = build_string ("Fixedsys"); - - x_default_parameter (f, parms, Qfont, font, - "font", "Font", RES_TYPE_STRING); - } + x_default_font_parameter (f, parms); x_default_parameter (f, parms, Qborder_width, make_number (2), "borderWidth", "BorderWidth", RES_TYPE_NUMBER); @@ -8304,7 +8232,7 @@ /* Initialize as much of the font details as we can from the current default font. */ hdc = GetDC (FRAME_W32_WINDOW (f)); - oldobj = SelectObject (hdc, FRAME_FONT (f)->hfont); + oldobj = SelectObject (hdc, FONT_COMPAT (FRAME_FONT (f))->hfont); GetTextFace (hdc, LF_FACESIZE, lf.lfFaceName); if (GetTextMetrics (hdc, &tm)) { @@ -8996,9 +8924,7 @@ x_set_fringe_width, 0, /* x_set_wait_for_wm, */ x_set_fullscreen, -#ifdef USE_FONT_BACKEND x_set_font_backend -#endif }; void @@ -9395,12 +9321,15 @@ defsubr (&Sw32_reconstruct_hot_key); defsubr (&Sw32_toggle_lock_key); defsubr (&Sw32_window_exists_p); +#if OLD_FONT defsubr (&Sw32_find_bdf_fonts); +#endif defsubr (&Sw32_battery_status); defsubr (&Sfile_system_info); defsubr (&Sdefault_printer_name); +#if OLD_FONT /* Setting callback functions for fontset handler. */ get_font_info_func = w32_get_font_info; @@ -9414,6 +9343,7 @@ query_font_func = w32_query_font; set_frame_fontset_func = x_set_font; get_font_repertory_func = x_get_font_repertory; +#endif check_window_system_func = check_w32; @@ -9476,9 +9406,7 @@ /* MessageBox does not work without this when linked to comctl32.dll 6.0. */ InitCommonControls (); -#ifdef USE_FONT_BACKEND syms_of_w32uniscribe (); -#endif } #undef abort