whose default value is defined in lisp/fontset.el. Since there's
no charset whose id is 1, we use encoding[1] to store the
encoding information decided by the font itself. */
- char encoding[MAX_CHARSET];
+ char encoding[MAX_CHARSET + 1];
/* The baseline position of a font is normally `ascent' value of the
font. However, there exists many fonts which don't set `ascent'
height). In this case, the character is drawn beneath the
previous glyphs.
- This value is take from a private font property
+ This value is taken from a private font property
`_MULE_RELATIVE_COMPOSE' which is introduced by Emacs. */
int relative_compose;
+ /* Non zero means an ascent value to be used for a character
+ registered in char-table `use-default-ascent'. */
+ int default_ascent;
+
/* CCL program to calculate code points of the font. */
struct ccl_program *font_encoder;
};
int height;
/* Table of font name for each character set. */
- char *fontname[MAX_CHARSET];
+ char *fontname[MAX_CHARSET + 1];
/* Table of index numbers of fonts indexed by charset. If a font is
not yet loaded, the value is -1 (FONT_NOT_OPENED). If font
loading is failed, the value is -2 (FONT_NOT_FOUND). */
- int font_indexes[MAX_CHARSET];
+ int font_indexes[MAX_CHARSET + 1];
};
/* This data type is used for the fontset_data field of struct frame. */
extern Lisp_Object Vglobal_fontset_alist;
extern Lisp_Object Qfontset;
+extern Lisp_Object Vuse_default_ascent;
+extern Lisp_Object Valternative_fontname_alist;
#endif /* _FONTSET_H */