📄 convfont.c
字号:
/* Convert standard binary font to codepage format */#include <stdio.h>#include <stdlib.h>int fontheight;int sfontsize;int font_nuchars;unsigned char sfontbuf[32 * 256];unsigned char tfontbuf[32 * 256];FILE *sf;FILE *tf;voidmain (int argc, char **argv){ int i; if (argc != 4) { printf ("Syntax: convfont fontfile fontheight vgafontfile\n"); printf ( "\nconvfont - convert standard format binary font to codepage format\n" "The converted font is written to vgafontfile.\n"); printf ( "A binary font file of any number of characters up to 256 can be used, although\n" "at least defining the first 128 characters is a good idea. The fontheight\n" "should be in the range 1-32.\n" ); exit (1); } if ((sf = fopen (argv[1], "rb")) == NULL) { printf ("convfont: Unable to open file.\n"); exit (1); } if ((tf = fopen (argv[3], "wb")) == NULL) { printf ("convfont: Unable to create file.\n"); exit (1); } fontheight = atoi (argv[2]); if (fontheight < 1 || fontheight > 32) { printf ("convfont: Invalid fontheight.\n"); exit (1); } fseek (sf, 0, SEEK_END); sfontsize = ftell (sf); fseek (sf, 0, SEEK_SET); font_nuchars = sfontsize / fontheight; printf ("Converting %d characters\n", font_nuchars); if (font_nuchars < 1 || font_nuchars > 256) { printf ("convfont: Invalid number of characters in font.\n"); exit (1); } fread (sfontbuf, 1, sfontsize, sf); fclose (sf); for (i = 0; i < font_nuchars; i++) { int j; for (j = 0; j < fontheight; j++) tfontbuf[i * 32 + j] = sfontbuf[i * fontheight + j]; for (j = 0; j < 32 - fontheight; j++) tfontbuf[i * 32 + fontheight] = 0; } /* clear remaining characters */ for (i = font_nuchars * 32; i < 32 * 256; i++) tfontbuf[i] = 0; printf ("Writing font file.\n"); fwrite (tfontbuf, 1, 32 * 256, tf); fclose (tf); exit (0);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -