forked from mirrors/linux
		
	 152609795d
			
		
	
	
		152609795d
		
	
	
	
	
		
			
			By using bitmaps we actually support whatever size we would want, but the console currently limits fonts to 64x128 (which gives 60x16 text on 4k screens), so we don't need more for now, and we can easily increase later. Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Signed-off-by: Helge Deller <deller@gmx.de>
		
			
				
	
	
		
			79 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  *  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,
 | |
| 						unsigned long *font_w,
 | |
| 						unsigned long *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 */
 |