📄 font.h
字号:
#ifndef _LCT_FONT_H#define _LCT_FONT_H#include <stdio.h>#include <linux/kd.h>#include "generic.h"#include "unicode.h"#include "utils.h"/* * SFM stuff */struct unicode_list{ unicode uc; /* Unicode listed */ struct unicode_list *next;};/* unimap-*.c */int sfm_read_ascii (FILE*, struct unimapdesc*, int fontlen);int sfm_read_binary (FILE*, struct unimapdesc*, int fontlen);int sfm_write_ascii (FILE*, struct unimapdesc*);int sfm_write_binary (FILE*, struct unimapdesc*, int fontlen);/* * Unifont stuff *//* font-file-formats identification */#define FFF_RAW 1#define FFF_CP 2#define FFF_PSF 3#define FFF_XPSF 4#define FFF_BDF 5extern const struct magicset ff_magics;/* core unifont stuff */#define FONTDATA_CHARPADHEIGHT 32typedef struct cfontdesc{ unsigned short charcount; /* nb of characters in font */ unsigned short charheight; /* add charheight_pad = 32 ? */ unsigned short charwidth; char *chardata; /* font data with height fixed to FONTDATA_CHARPADHEIGHT */} cfontdesc;typedef struct unifont{ struct unimapdesc sfm; struct cfontdesc font;} simple_font;typedef struct fontgroup{ struct unimapdesc sfm; unsigned char fontcount; /* nb of fonts in fonts[] */ unsigned char allocated_fontslots; /* nb of font slots allocated to fonts[] */ struct cfontdesc* fonts;} font_group;/* * font-format independant API */lct_boolean fff_is_simple_font (int fff_id);lct_boolean fff_is_font_group (int fff_id);char* fff_id_to_name (int id);int fff_name_to_id (char* name);void fff_fprintf_names (FILE* file, char* format);FINDFILE_WRAPPER_HEADER(font);/* high-level font-handling funcs */simple_font* read_simple_font (FILE* fontfile, int font_format);font_group* read_font_group (FILE* fontfile, int font_format);void free_simple_font (simple_font* font);void free_font_group (font_group* group);/* * PSF stuff */#define PSF_MAGIC1 0x36#define PSF_MAGIC2 0x04#define PSF_MODE256NOSFM 0#define PSF_MODE512NOSFM 1#define PSF_MODE256SFM 2#define PSF_MODE512SFM 3#define PSF_SEPARATOR 0xFFFFstruct psf_header{ unsigned char magic1, magic2; /* Magic number */ unsigned char mode; /* PSF font mode */ unsigned char charheight; /* Character size */};#define PSF_MAGIC_OK(x) ((x).magic1 == PSF_MAGIC1 && (x).magic2 == PSF_MAGIC2)#define PSF_MODE_VALID(x) ((x) <= PSF_MODE512SFM)#define PSF_MODE_HAS512(x) (((x) == 1) || ((x) == 3))#define PSF_MODE_HASSFM(x) (((x) == 2) || ((x) == 3))/* low-level PSF-specific funcs from psf-header.c */int psf_header_read (FILE* in, struct psf_header* psfhdr_ptr);int psf_header_write (FILE* out, struct psf_header* psfhdr_ptr);int write_as_psf_header (FILE* out, int charheight, int charcount, int with_sfm);/* low-level BDF-specific funcs from bdf.c */int bdf_read (FILE* fontfile, simple_font* font_ptr);/* * Font data stuff *//* fontdata.c */int fontdata_write_binary (FILE* out, cfontdesc *cfd);int fontdata_read_binary (FILE* in, cfontdesc *cfd);#endif /* _LCT_FONT_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -