Mercurial > emacs
diff src/w32fns.c @ 95894:76261fd18708
* w32fns.c (Fw32_select_font): Removed old font API function.
* w32font.c (logfont_to_fcname): New function.
(Fx_select_font): New font dialog function compatible with
GTK/fontconfig version.
* font.c (font_style_symbolic_from_value): New function.
(font_style_symbolic): Use it.
* font.h (font_style_symbolic_from_value): Declare new function.
author | Jason Rumney <jasonr@gnu.org> |
---|---|
date | Fri, 13 Jun 2008 14:29:47 +0000 |
parents | 4390d64d3328 |
children | efbaf6995245 |
line wrap: on
line diff
--- a/src/w32fns.c Fri Jun 13 14:28:13 2008 +0000 +++ b/src/w32fns.c Fri Jun 13 14:29:47 2008 +0000 @@ -8195,62 +8195,6 @@ w32 specialized functions ***********************************************************************/ -DEFUN ("w32-select-font", Fw32_select_font, Sw32_select_font, 0, 2, 0, - doc: /* Select a font for the named FRAME using the W32 font dialog. -Return an X-style font string corresponding to the selection. - -If FRAME is omitted or nil, it defaults to the selected frame. -If INCLUDE-PROPORTIONAL is non-nil, include proportional fonts -in the font selection dialog. */) - (frame, include_proportional) - Lisp_Object frame, include_proportional; -{ - FRAME_PTR f = check_x_frame (frame); - CHOOSEFONT cf; - LOGFONT lf; - TEXTMETRIC tm; - HDC hdc; - HANDLE oldobj; - char buf[100]; - - bzero (&cf, sizeof (cf)); - bzero (&lf, sizeof (lf)); - - cf.lStructSize = sizeof (cf); - cf.hwndOwner = FRAME_W32_WINDOW (f); - cf.Flags = CF_FORCEFONTEXIST | CF_SCREENFONTS | CF_NOVERTFONTS; - - /* Unless include_proportional is non-nil, limit the selection to - monospaced fonts. */ - if (NILP (include_proportional)) - cf.Flags |= CF_FIXEDPITCHONLY; - - cf.lpLogFont = &lf; - - /* Initialize as much of the font details as we can from the current - default font. */ - hdc = GetDC (FRAME_W32_WINDOW (f)); - oldobj = SelectObject (hdc, FONT_COMPAT (FRAME_FONT (f))->hfont); - GetTextFace (hdc, LF_FACESIZE, lf.lfFaceName); - if (GetTextMetrics (hdc, &tm)) - { - lf.lfHeight = tm.tmInternalLeading - tm.tmHeight; - lf.lfWeight = tm.tmWeight; - lf.lfItalic = tm.tmItalic; - lf.lfUnderline = tm.tmUnderlined; - lf.lfStrikeOut = tm.tmStruckOut; - lf.lfCharSet = tm.tmCharSet; - cf.Flags |= CF_INITTOLOGFONTSTRUCT; - } - SelectObject (hdc, oldobj); - ReleaseDC (FRAME_W32_WINDOW (f), hdc); - - if (!ChooseFont (&cf) || !w32_to_x_font (&lf, buf, 100, NULL)) - return Qnil; - - return build_string (buf); -} - DEFUN ("w32-send-sys-command", Fw32_send_sys_command, Sw32_send_sys_command, 1, 2, 0, doc: /* Send frame a Windows WM_SYSCOMMAND message of type COMMAND. @@ -9308,7 +9252,6 @@ /* W32 specific functions */ - defsubr (&Sw32_select_font); defsubr (&Sw32_define_rgb_color); defsubr (&Sw32_default_color_map); defsubr (&Sw32_load_color_file);