font.c
来自「参照MINIX3写的操作系统 用GCC+NASM+BOCHS开发」· C语言 代码 · 共 36 行
C
36 行
#define PUBLIC
#define PRIVATE static
#define ASC_NUM 256
#define ASC_WIDTH 8
#define CHS_WIDTH 16
#define SPACING 2
#define CHAR_HEIGHT 16
#define CHS_QU 87
//?
#define CHS_WEI 94
/*每行能容放下的中文字符数??*/
#define CHS_NUM (CHS_QU * CHS_WEI)
extern unsigned char ASC[ASC_NUM][CHAR_HEIGHT];
unsigned char CHS[CHS_NUM][CHAR_HEIGHT][(CHS_WIDTH / ASC_WIDTH)];
PUBLIC void OutAsc(int x,int y)
{
int ch;
int i=0,j=0,k=0;
for (i = 0; i < CHAR_HEIGHT; i++)
for (j = 0; j < ASC_WIDTH; j++)
if ((ASC['E'][i] >> (ASC_WIDTH - j - 1)) & 1)
SetPixel(x + j, y + i, 99);
x+=10;
for (i = 0; i < CHAR_HEIGHT; i++)
for (j = 0; j < ASC_WIDTH; j++)
if ((ASC['T'][i] >> (ASC_WIDTH - j - 1)) & 1)
SetPixel(x + j, y + i, 99);
/* ch = ((0XB9 - 0xA1) * CHS_WEI + (0XFE - 0xA1)) % CHS_NUM;
for (i = 0; i < CHAR_HEIGHT; i++)
for (j = 0; j < (CHS_WIDTH / ASC_WIDTH); j++)
for (k = 0; k < ASC_WIDTH; k++)
if ((CHS[5000][i][j] >> (ASC_WIDTH - k - 1)) & 1)
SetPixel(x + j * ASC_WIDTH + k, y + i, 99);
*/
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?