/* 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
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;
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);
};
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);
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,
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);
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 { \
#endif /* not FONT_DEBUG */
#endif /* not EMACS_FONT_H */
-
-/* arch-tag: 3b7260c3-5bec-4d6b-a0db-95c1b431b1a2
- (do not change this comment) */