MFONT_ADSTYLE,
MFONT_REGISTRY,
MFONT_RESY,
- /* Actually this should not be used as an index to
+ /* The follwoings should not be used as an index to
MFont->propperty. */
MFONT_SIZE,
+ MFONT_SPACING,
/* anchor */
MFONT_PROPERTY_MAX = MFONT_SIZE
};
MFONT_SOURCE_FT = 2
};
+enum MFontSpacing
+ {
+ MFONT_SPACING_UNDECIDED,
+ MFONT_SPACING_PROPORTIONAL,
+ MFONT_SPACING_MONO,
+ MFONT_SPACING_CHARCELL
+ };
+
typedef struct MFontEncoding MFontEncoding;
typedef struct MFontDriver MFontDriver;
For FONT-OPENED: The actual size of opened font.
- <prperty>[MFONT_RESY] is the designed resolution of the font in
+ <property>[MFONT_RESY] is the designed resolution of the font in
DPI, or zero. Zero means that the font is scalable.
For the time being, we mention only Y-resolution (resy) and
unsigned short property[MFONT_PROPERTY_MAX];
enum MFontType type : 2;
enum MFontSource source : 2;
+ enum MFontSpacing spacing : 2;
/* Size of the font in 1/10 pixels. */
unsigned size : 26;
MSymbol file;
non-NULL, it must be a pointer to a managed object. */
void *info;
- short ascent, descent;
+ int ascent, descent, max_advance;
/* Pointer to the font structure. */
void *fontp;
extern void mfont__ft_fini ();
-extern int mfont__ft_parse_name (char *name, MFont *font);
+extern int mfont__ft_parse_name (const char *name, MFont *font);
extern char *mfont__ft_unparse_name (MFont *font);
extern int mfont__split_name (char *name, int *property_idx,
unsigned short *point, unsigned short *resy);
-extern void mfont__set_spec (MFont *font,
- MSymbol attrs[MFONT_PROPERTY_MAX],
- unsigned size, unsigned short resy);
-
-extern int mfont__parse_name_into_font (char *name, MSymbol format,
+extern int mfont__parse_name_into_font (const char *name, MSymbol format,
MFont *font);
extern MPlist *mfont__encoding_list (void);