Merge from emacs-23 branch.
[bpt/emacs.git] / src / fontset.h
1 /* Header for fontset handler.
2 Copyright (C) 1998, 2001, 2002, 2003, 2004, 2005,
3 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
4 Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
5 2005, 2006, 2007, 2008, 2009, 2010, 2011
6 National Institute of Advanced Industrial Science and Technology (AIST)
7 Registration Number H14PRO021
8 Copyright (C) 2003, 2006
9 National Institute of Advanced Industrial Science and Technology (AIST)
10 Registration Number H13PRO009
11
12 This file is part of GNU Emacs.
13
14 GNU Emacs is free software: you can redistribute it and/or modify
15 it under the terms of the GNU General Public License as published by
16 the Free Software Foundation, either version 3 of the License, or
17 (at your option) any later version.
18
19 GNU Emacs is distributed in the hope that it will be useful,
20 but WITHOUT ANY WARRANTY; without even the implied warranty of
21 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 GNU General Public License for more details.
23
24 You should have received a copy of the GNU General Public License
25 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
26
27 #ifndef EMACS_FONTSET_H
28 #define EMACS_FONTSET_H
29
30 /* Check if any window system is used now. */
31 extern void (*check_window_system_func) (void);
32
33 struct face;
34
35 extern void free_face_fontset (FRAME_PTR, struct face *);
36 extern int face_suitable_for_char_p (struct face *, int);
37 extern int face_for_char (FRAME_PTR, struct face *, int,
38 int, Lisp_Object);
39 extern Lisp_Object font_for_char (struct face *, int, int, Lisp_Object);
40
41 extern int make_fontset_for_ascii_face (FRAME_PTR, int, struct face *);
42 extern int fontset_from_font (Lisp_Object);
43 extern int fs_query_fontset (Lisp_Object, int);
44 EXFUN (Fquery_fontset, 2);
45 extern Lisp_Object list_fontsets (struct frame *, Lisp_Object, int);
46
47 extern Lisp_Object Qlatin;
48 extern Lisp_Object Vuse_default_ascent;
49 extern Lisp_Object Vignore_relative_composition;
50 extern Lisp_Object Valternate_fontname_alist;
51 extern Lisp_Object Vfontset_alias_alist;
52 extern Lisp_Object Vvertical_centering_font_regexp;
53 extern Lisp_Object Votf_script_alist;
54
55 extern Lisp_Object fontset_name (int);
56 extern Lisp_Object fontset_ascii (int);
57
58 struct font;
59 extern int face_for_font (struct frame *, Lisp_Object, struct face *);
60
61 #endif /* EMACS_FONTSET_H */
62
63 /* arch-tag: c27cef7b-3cab-488a-8398-7a4daa96bb77
64 (do not change this comment) */