summaryrefslogtreecommitdiff
path: root/src/font.h
diff options
context:
space:
mode:
authorJan Djärv <jan.h.d@swipnet.se>2010-01-06 20:38:39 +0100
committerJan Djärv <jan.h.d@swipnet.se>2010-01-06 20:38:39 +0100
commitd0cf45b70247fc1f4cfc6d74c1b5f6d4ca75f0fc (patch)
treeddbd3b141e6e402e77d48f601a9befdbccad8536 /src/font.h
parentea2b370da2766fed12db4e7c0f33ddce12f9d0b4 (diff)
downloademacs-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.h8
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));
};