X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/2ec1b5ee3464999a18b8197101e8bf08a3c564a8..e4cebfca13580f80fb0ecee27afb81b55c031535:/src/font.h diff --git a/src/font.h b/src/font.h index 40d7511790..ead5223a6c 100644 --- a/src/font.h +++ b/src/font.h @@ -1,6 +1,6 @@ /* font.h -- Interface definition for font handling. - Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. - Copyright (C) 2006, 2007, 2008, 2009, 2010 + Copyright (C) 2006-2011 Free Software Foundation, Inc. + Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 National Institute of Advanced Industrial Science and Technology (AIST) Registration Number H13PRO009 @@ -159,14 +159,19 @@ enum font_property_index /* This value is the length of font-spec vector. */ FONT_SPEC_MAX, - /* The followings are used only for a font-entity. */ + /* The followings are used only for a font-entity and a font-object. */ /* List of font-objects opened from the font-entity. */ FONT_OBJLIST_INDEX = FONT_SPEC_MAX, + /* Font-entity from which the font-object is opened. */ + FONT_ENTITY_INDEX = FONT_SPEC_MAX, + /* This value is the length of font-entity vector. */ FONT_ENTITY_MAX, + /* The followings are used only for a font-object. */ + /* XLFD name of the font (string). */ FONT_NAME_INDEX = FONT_ENTITY_MAX, @@ -234,7 +239,9 @@ enum font_property_index ASET ((font), prop, make_number (font_style_to_value (prop, val, 1))) extern Lisp_Object QCspacing, QCdpi, QCscalable, QCotf, QClang, QCscript; -extern Lisp_Object QCavgwidth, QCfont_entity, QCfc_unknown_spec; +extern Lisp_Object QCavgwidth, QCantialias, QCfont_entity; +extern Lisp_Object Qp; + /* Important character set symbols. */ extern Lisp_Object Qascii_0; @@ -574,7 +581,7 @@ struct font_driver FONT-ENTITY and it must be opened to check it, return -1. */ int (*has_char) (Lisp_Object font, int c); - /* Return a glyph code of FONT for characer C (Unicode code point). + /* Return a glyph code of FONT for character C (Unicode code point). If FONT doesn't have such a glyph, return FONT_INVALID_CODE. */ unsigned (*encode_char) (struct font *font, int c); @@ -730,16 +737,13 @@ struct font_data_list }; EXFUN (Ffont_spec, MANY); -EXFUN (Fcopy_font_spec, 1); -EXFUN (Fmerge_font_spec, 2); +extern Lisp_Object copy_font_spec (Lisp_Object); +extern Lisp_Object merge_font_spec (Lisp_Object, Lisp_Object); EXFUN (Ffont_get, 2); EXFUN (Ffont_put, 3); EXFUN (Flist_fonts, 4); -EXFUN (Ffont_family_list, 1); -EXFUN (Fclear_font_cache, 0); EXFUN (Ffont_xlfd_name, 2); -extern Lisp_Object font_make_spec (void); extern Lisp_Object font_make_entity (void); extern Lisp_Object font_make_object (int, Lisp_Object, int); @@ -760,11 +764,9 @@ extern Lisp_Object font_get_name (Lisp_Object font_object); extern Lisp_Object font_spec_from_name (Lisp_Object font_name); extern Lisp_Object font_get_frame (Lisp_Object font_object); extern int font_has_char (FRAME_PTR, Lisp_Object, int); -extern unsigned font_encode_char (Lisp_Object, int); extern void font_clear_prop (Lisp_Object *attrs, enum font_property_index prop); -extern void font_update_lface (FRAME_PTR f, Lisp_Object *attrs); extern Lisp_Object font_find_for_lface (FRAME_PTR f, Lisp_Object *lface, Lisp_Object spec, int c); extern Lisp_Object font_open_for_lface (FRAME_PTR f, Lisp_Object entity, @@ -776,30 +778,24 @@ extern void font_prepare_for_face (FRAME_PTR f, struct face *face); extern void font_done_for_face (FRAME_PTR f, struct face *face); extern Lisp_Object font_open_by_spec (FRAME_PTR f, Lisp_Object spec); -extern Lisp_Object font_open_by_name (FRAME_PTR f, char *name); +extern Lisp_Object font_open_by_name (FRAME_PTR f, const char *name); extern void font_close_object (FRAME_PTR f, Lisp_Object font_object); -extern Lisp_Object font_intern_prop (char *str, int len, int force_symbol); +extern Lisp_Object font_intern_prop (const char *str, int len, int force_symbol); extern void font_update_sort_order (int *order); extern void font_parse_family_registry (Lisp_Object family, Lisp_Object registry, Lisp_Object spec); -extern Lisp_Object font_spec_from_family_registry (Lisp_Object family, - Lisp_Object registry); extern int font_parse_xlfd (char *name, Lisp_Object font); extern int font_unparse_xlfd (Lisp_Object font, int pixel_size, char *name, int bytes); -extern int font_parse_fcname (char *name, Lisp_Object font); extern int font_unparse_fcname (Lisp_Object font, int pixel_size, char *name, int bytes); -extern int font_unparse_gtkname (Lisp_Object, struct frame *, char *, int); extern void register_font_driver (struct font_driver *driver, FRAME_PTR f); extern void free_font_driver_list (FRAME_PTR f); extern Lisp_Object font_update_drivers (FRAME_PTR f, Lisp_Object list); -extern Lisp_Object font_at (int c, EMACS_INT pos, struct face *face, - struct window *w, Lisp_Object object); extern Lisp_Object font_range (EMACS_INT, EMACS_INT *, struct window *, struct face *, Lisp_Object); @@ -814,31 +810,47 @@ extern int font_put_frame_data (FRAME_PTR f, extern void *font_get_frame_data (FRAME_PTR f, struct font_driver *driver); +extern void font_filter_properties (Lisp_Object font, + Lisp_Object alist, + const char *const boolean_properties[], + const char *const non_boolean_properties[]); + #ifdef HAVE_FREETYPE extern struct font_driver ftfont_driver; +extern void syms_of_ftfont (void); #endif /* HAVE_FREETYPE */ #ifdef HAVE_X_WINDOWS extern struct font_driver xfont_driver; extern struct font_driver ftxfont_driver; +extern void syms_of_xfont (void); +extern void syms_of_ftxfont (void); #ifdef HAVE_XFT extern struct font_driver xftfont_driver; +extern void syms_of_xftfont (void); #endif /* HAVE_XFT */ +#ifdef HAVE_BDFFONT +extern void syms_of_bdffont (void); +#endif /* HAVE_BDFFONT */ #endif /* HAVE_X_WINDOWS */ #ifdef WINDOWSNT extern struct font_driver w32font_driver; extern struct font_driver uniscribe_font_driver; +extern void syms_of_w32font (void); #endif /* WINDOWSNT */ #ifdef HAVE_NS +extern Lisp_Object Qfontsize; extern struct font_driver nsfont_driver; +extern void syms_of_nsfont (void); #endif /* HAVE_NS */ #ifndef FONT_DEBUG #define FONT_DEBUG #endif -extern Lisp_Object Vfont_log; -extern void font_add_log (char *, Lisp_Object, Lisp_Object); -extern void font_deferred_log (char *, Lisp_Object, Lisp_Object); +extern Lisp_Object QCfoundry; + +extern void font_add_log (const char *, Lisp_Object, Lisp_Object); +extern void font_deferred_log (const char *, Lisp_Object, Lisp_Object); #define FONT_ADD_LOG(ACTION, ARG, RESULT) \ do { \ @@ -859,6 +871,3 @@ extern void font_deferred_log (char *, Lisp_Object, Lisp_Object); #endif /* not FONT_DEBUG */ #endif /* not EMACS_FONT_H */ - -/* arch-tag: 3b7260c3-5bec-4d6b-a0db-95c1b431b1a2 - (do not change this comment) */