diff options
author | Jan Djärv <jan.h.d@swipnet.se> | 2010-01-06 20:38:39 +0100 |
---|---|---|
committer | Jan Djärv <jan.h.d@swipnet.se> | 2010-01-06 20:38:39 +0100 |
commit | d0cf45b70247fc1f4cfc6d74c1b5f6d4ca75f0fc (patch) | |
tree | ddbd3b141e6e402e77d48f601a9befdbccad8536 /src/font.h | |
parent | ea2b370da2766fed12db4e7c0f33ddce12f9d0b4 (diff) | |
download | emacs-d0cf45b70247fc1f4cfc6d74c1b5f6d4ca75f0fc.tar.gz emacs-d0cf45b70247fc1f4cfc6d74c1b5f6d4ca75f0fc.tar.bz2 emacs-d0cf45b70247fc1f4cfc6d74c1b5f6d4ca75f0fc.zip |
Fix slowdown and wrong font choosed by XSETTINGS changes. bug #5157.
* font.c (font_open_entity): Enable chache and call cached_font_ok
for the driver if defined.
(QCuser_spec): New symbol.
(font_spec_from_name): Save name as user-spec.
(font_load_for_lface): Keep user-spec instead of name.
(font_open_by_name): Save name as user-spec.
(syms_of_font): Initialize QCuser_spec.
* xftfont.c (xftfont_open): Call xftfont_add_rendering_parameters.
(xftfont_add_rendering_parameters, xftfont_cached_font_ok): New.
(syms_of_xftfont): Initialize xftfont_driver.cached_font_ok.
* font.h (struct font_driver): Add cached_font_ok.
* font-setting.el (font-setting-change-default-font): Use user-spec
instead of name.
Diffstat (limited to 'src/font.h')
-rw-r--r-- | src/font.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/font.h b/src/font.h index 1a09df2558c..798676d546e 100644 --- a/src/font.h +++ b/src/font.h @@ -689,6 +689,14 @@ struct font_driver int c, unsigned variations[256])); void (*filter_properties) P_ ((Lisp_Object font, Lisp_Object properties)); + + /* Optional. + + Return non-zero if FONT_OBJECT can be used as a (cached) font + for ENTITY on frame F. */ + int (*cached_font_ok) P_ ((struct frame *f, + Lisp_Object font_object, + Lisp_Object entity)); }; |