-extern Lisp_Object Vuse_default_ascent;
-extern Lisp_Object Valternative_fontname_alist;
-extern Lisp_Object Vhighlight_wrong_size_font;
-extern Lisp_Object Vclip_large_size_font;
-
-#endif /* _FONTSET_H */
-extern int font_idx_temp;
-
-/* Load a font named FONTNAME for displaying CHARSET on frame F.
- All fonts for frame F is stored in a table pointed by FONT_TABLE.
- Return a pointer to the struct font_info of the loaded font.
- If loading fails, return 0;
- If FONTNAME is NULL, the name is taken from the information of FONTSET.
- If FONTSET is given, try to load a font whose size matches that of
- FONTSET, and, the font index is stored in the table for FONTSET. */
-
-#define FS_LOAD_FONT(f, font_table, charset, fontname, fontset) \
- (fontset >= 0 && fontset < FRAME_FONTSET_DATA (f)->n_fontsets \
- && (font_idx_temp = (FRAME_FONTSET_DATA (f) \
- ->fontset_table[fontset]->font_indexes[charset]), \
- font_idx_temp >= 0) \
- ? font_table + font_idx_temp \
- : fs_load_font (f, font_table, charset, fontname, fontset))
-
+extern Lisp_Object Vuse_default_ascent;
+extern Lisp_Object Vignore_relative_composition;
+extern Lisp_Object Valternate_fontname_alist;
+extern Lisp_Object Vfontset_alias_alist;
+extern Lisp_Object Vvertical_centering_font_regexp;
+
+/* Load a font named FONTNAME for displaying character C. All fonts
+ for frame F is stored in a table pointed by FONT_TABLE. Return a
+ pointer to the struct font_info of the loaded font. If loading
+ fails, return 0; If FONTNAME is NULL, the name is taken from the
+ information of FONTSET. If FONTSET is given, try to load a font
+ whose size matches that of FONTSET, and, the font index is stored
+ in the table for FONTSET. */
+
+#define FS_LOAD_FONT(f, c, fontname, fontset) \
+ fs_load_font (f, c, fontname, fontset, NULL)
+
+#define FS_LOAD_FACE_FONT(f, c, fontname, face) \
+ fs_load_font (f, c, fontname, -1, face)
+
+/* Return an immutable id for font_info FONT_INFO on frame F. The
+ reason for this macro is hat one cannot hold pointers to font_info
+ structures in other data structures, because the table is
+ reallocated in x_list_fonts. */
+
+#define FONT_INFO_ID(F, FONT_INFO) \
+ (FONT_INFO) - (FRAME_X_DISPLAY_INFO ((F))->font_table)
+
+/* Given a font_info id ID, return a pointer to the font_info
+ structure on frame F. If ID is invalid, return null. */
+
+#define FONT_INFO_FROM_ID(F, ID) \
+ (((ID) >= 0 && (ID) < FRAME_X_DISPLAY_INFO ((F))->font_table_size) \
+ ? (FRAME_X_DISPLAY_INFO ((F))->font_table + (ID)) \
+ : 0)
+
+extern Lisp_Object fontset_name P_ ((int));
+extern Lisp_Object fontset_ascii P_ ((int));
+extern int fontset_height P_ ((int));
+
+#endif /* EMACS_FONTSET_H */
+
+/* arch-tag: c27cef7b-3cab-488a-8398-7a4daa96bb77
+ (do not change this comment) */