Mercurial > emacs
diff src/xsettings.c @ 106201:01190029e5d3
Set Xft defaults if no XSETTING is found, better default for Gtk+ font dialog.
* xfns.c (Fx_select_font): Try to convert Fontconfig name to Gtk name
because that is what Gtk+ font dialog understands.
* font.c (font_make_object, Fcopy_font_spec): Use Fcopy_alist instead
of Fcopy_sequence.
(font_open_by_name): Put name given into QCname for font-object returned.
* frame.c (x_set_font): Save original font name as frame parameter
font-parameter.
* xsettings.c (set_default_xft_settings): New function.
(init_xfd_settings): Call set_default_xft_settings if no XSETTINGS window
is found.
author | Jan Djärv <jan.h.d@swipnet.se> |
---|---|
date | Mon, 23 Nov 2009 08:55:08 +0000 |
parents | 9b6f45dd8386 |
children | 7ddab4671153 |
line wrap: on
line diff
--- a/src/xsettings.c Mon Nov 23 05:37:34 2009 +0000 +++ b/src/xsettings.c Mon Nov 23 08:55:08 2009 +0000 @@ -368,6 +368,25 @@ } static void +set_default_xft_settings (dpyinfo) + struct x_display_info *dpyinfo; +{ + FcPattern *pat; + pat = FcPatternCreate (); + XftDefaultSubstitute (dpyinfo->display, + XScreenNumberOfScreen (dpyinfo->screen), + pat); + + FcPatternDel (pat, FC_ANTIALIAS); + FcPatternAddBool (pat, FC_ANTIALIAS, FcTrue); + FcPatternDel (pat, FC_HINTING); + FcPatternAddBool (pat, FC_HINTING, FcTrue); + FcPatternDel (pat, FC_HINT_STYLE); + FcPatternAddInteger (pat, FC_HINT_STYLE,FC_HINT_MEDIUM); + XftDefaultSet (dpyinfo->display, pat); +} + +static void apply_xft_settings (dpyinfo, send_event_p) struct x_display_info *dpyinfo; int send_event_p; @@ -546,6 +565,8 @@ get_prop_window (dpyinfo); if (dpyinfo->xsettings_window != None) apply_xft_settings (dpyinfo, False); + else + set_default_xft_settings (dpyinfo); UNBLOCK_INPUT;