| /* |
| * font.h -- `Soft' font definitions |
| * |
| * Created 1995 by Geert Uytterhoeven |
| * |
| * This file is subject to the terms and conditions of the GNU General Public |
| * License. See the file COPYING in the main directory of this archive |
| * for more details. |
| */ |
| |
| #ifndef _VIDEO_FONT_H |
| #define _VIDEO_FONT_H |
| |
| #include <linux/types.h> |
| |
| struct font_desc { |
| int idx; |
| const char *name; |
| unsigned int width, height; |
| unsigned int charcount; |
| const void *data; |
| int pref; |
| }; |
| |
| #define VGA8x8_IDX 0 |
| #define VGA8x16_IDX 1 |
| #define PEARL8x8_IDX 2 |
| #define VGA6x11_IDX 3 |
| #define FONT7x14_IDX 4 |
| #define FONT10x18_IDX 5 |
| #define SUN8x16_IDX 6 |
| #define SUN12x22_IDX 7 |
| #define ACORN8x8_IDX 8 |
| #define MINI4x6_IDX 9 |
| #define FONT6x10_IDX 10 |
| #define TER16x32_IDX 11 |
| #define FONT6x8_IDX 12 |
| |
| extern const struct font_desc font_vga_8x8, |
| font_vga_8x16, |
| font_pearl_8x8, |
| font_vga_6x11, |
| font_7x14, |
| font_10x18, |
| font_sun_8x16, |
| font_sun_12x22, |
| font_acorn_8x8, |
| font_mini_4x6, |
| font_6x10, |
| font_ter_16x32, |
| font_6x8; |
| |
| /* Find a font with a specific name */ |
| |
| extern const struct font_desc *find_font(const char *name); |
| |
| /* Get the default font for a specific screen size */ |
| |
| extern const struct font_desc *get_default_font(int xres, int yres, |
| u32 font_w, u32 font_h); |
| |
| /* Max. length for the name of a predefined font */ |
| #define MAX_FONT_NAME 32 |
| |
| /* Extra word getters */ |
| #define REFCOUNT(fd) (((int *)(fd))[-1]) |
| #define FNTSIZE(fd) (((int *)(fd))[-2]) |
| #define FNTCHARCNT(fd) (((int *)(fd))[-3]) |
| #define FNTSUM(fd) (((int *)(fd))[-4]) |
| |
| #define FONT_EXTRA_WORDS 4 |
| |
| struct font_data { |
| unsigned int extra[FONT_EXTRA_WORDS]; |
| const unsigned char data[]; |
| } __packed; |
| |
| #endif /* _VIDEO_FONT_H */ |