changeset 90550:5996c3b2f18d

*** empty log message ***
author Kenichi Handa <handa@m17n.org>
date Wed, 26 Jul 2006 01:20:00 +0000
parents 5dab62a4573c
children 26d91844482a
files src/ChangeLog.unicode src/font.h
diffstat 2 files changed, 32 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog.unicode	Wed Jul 26 01:19:04 2006 +0000
+++ b/src/ChangeLog.unicode	Wed Jul 26 01:20:00 2006 +0000
@@ -1,3 +1,30 @@
+2006-07-26  Kenichi Handa  <handa@m17n.org>
+
+	* font.h (struct font_driver_list): New member `on'.
+	(Fclear_font_cache): EXFUN it.
+	(font_update_drivers): Extern it.
+
+	* font.c (font_unparse_fcname): Fix typo (swidth->width).
+	(font_list_entities): Check driver_list->on.
+	(register_font_driver): Initalize `on' member to 0.
+	(font_update_drivers): New function.
+	(Fclear_font_cache): Check driver_list->on.
+
+	* frame.h (Qfont_backend): Extern it.
+	(x_set_font_backend): Extern it.
+
+	* frame.c (Qfont_backend): New variable.
+	(frame_parms): New element for font-backend.
+	(x_set_font_backend): New function.
+
+	* xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
+	FontBackend frame parameter.
+	(x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
+	x_set_font_backend.
+
+	* xfont.c (xfont_list): Don't try listing by :name property if the
+	name is not for XLFD.
+
 2006-07-24  Kenichi Handa  <handa@m17n.org>
 
 	* font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
--- a/src/font.h	Wed Jul 26 01:19:04 2006 +0000
+++ b/src/font.h	Wed Jul 26 01:20:00 2006 +0000
@@ -424,6 +424,8 @@
 
 struct font_driver_list
 {
+  /* 1 iff this driver is currently used.  */
+  int on;
   struct font_driver *driver;
   struct font_driver_list *next;
 };
@@ -432,6 +434,7 @@
 
 EXFUN (Ffont_spec, MANY);
 EXFUN (Flist_fonts, 4);
+EXFUN (Fclear_font_cache, 0);
 
 extern Lisp_Object font_symbolic_weight P_ ((Lisp_Object font));
 extern Lisp_Object font_symbolic_slant P_ ((Lisp_Object font));
@@ -474,6 +477,8 @@
 				  char *name, int bytes));
 extern void register_font_driver P_ ((struct font_driver *driver, FRAME_PTR f));
 extern void free_font_driver_list P_ ((FRAME_PTR f));
+extern void font_update_drivers P_ ((FRAME_PTR f, Lisp_Object name_list,
+				     struct font *));
 extern Lisp_Object font_at P_ ((int c, EMACS_INT pos, struct face *face,
 				struct window *w, Lisp_Object object));