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 + -
显示快捷键?