/* Header for fontset handler.
Ver.1.0
-
Copyright (C) 1995 Free Software Foundation, Inc.
Copyright (C) 1995 Electrotechnical Laboratory, JAPAN.
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
+This file is part of GNU Emacs.
+
+GNU Emacs is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+GNU Emacs is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
+You should have received a copy of the GNU General Public License
+along with GNU Emacs; see the file COPYING. If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA. */
#ifndef _FONTSET_H
#define _FONTSET_H
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 */