changeset 90564:cb3eb6150704

(struct font_driver): New member `match'. (font_update_drivers): Prototype adjusted.
author Kenichi Handa <handa@m17n.org>
date Tue, 01 Aug 2006 01:29:26 +0000
parents 7c29515f7c2a
children 258e759bcffa
files src/font.h
diffstat 1 files changed, 9 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/font.h	Tue Aug 01 01:28:43 2006 +0000
+++ b/src/font.h	Tue Aug 01 01:29:26 2006 +0000
@@ -291,11 +291,16 @@
      cons whose cdr part is the actual cache area.  */
   Lisp_Object (*get_cache) P_ ((Lisp_Object frame));
 
-  /* List fonts matching with FONT_SPEC on FRAME.  The value is a
-     vector of font-entities.  This is the sole API that allocates
-     font-entities.  */
+  /* List fonts exactly matching with FONT_SPEC on FRAME.  The value
+     is a vector of font-entities.  This is the sole API that
+     allocates font-entities.  */
   Lisp_Object (*list) P_ ((Lisp_Object frame, Lisp_Object font_spec));
 
+  /* Return a font entity most closely maching with FONT_SPEC on
+     FRAME.  The closeness is detemined by the font backend, thus
+     `face-font-selection-order' is ignored here.  */
+  Lisp_Object (*match) P_ ((Lisp_Object frame, Lisp_Object font_spec));
+
   /* Optional.
      List available families.  The value is a list of family names
      (symbols).  */
@@ -480,8 +485,7 @@
 				  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_update_drivers P_ ((FRAME_PTR f, Lisp_Object list));
 extern Lisp_Object font_at P_ ((int c, EMACS_INT pos, struct face *face,
 				struct window *w, Lisp_Object object));