⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hztest1.cpp

📁 配合hzk16可以在屏幕上打印点阵汉字
💻 CPP
字号:
// hztest1.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "string.h"

unsigned char Ezk[]={ 
/*32*/  
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/* */
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x18,0x3c,0x3c,0x3c,0x18,0x18,/*!*/
	0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00,
	0x00,0x66,0x66,0x66,0x24,0x00,0x00,0x00,/*"*/
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x6c,0x6c,0xfe,0x6c,0x6c,
	0x6c,0xfe,0x6c,0x6c,0x00,0x00,0x00,0x00,
	0x18,0x18,0x7c,0xc6,0xc2,0xc0,0x7c,0x06,
	0x86,0xc6,0x7c,0x18,0x18,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0xc2,0xc6,0x0c,0x18,
	0x30,0x60,0xc6,0x86,0x00,0x00,0x00,0x00,
	0x00,0x00,0x38,0x6c,0x6c,0x38,0x76,0xdc,
	0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
	0x00,0x30,0x30,0x30,0x60,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x0c,0x18,0x30,0x30,0x30,0x30,
	0x30,0x30,0x18,0x0c,0x00,0x00,0x00,0x00,
	0x00,0x00,0x30,0x18,0x0c,0x0c,0x0c,0x0c,
	0x0c,0x0c,0x18,0x30,0x00,0x00,0x00,0x00,
/*42*/
	0x00,0x00,0x00,0x00,0x00,0x66,0x3c,0xff, //*
	0x3c,0x66,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x7e,
	0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x18,0x18,0x18,0x30,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x02,0x06,0x0c,0x18,
	0x30,0x60,0xc0,0x80,0x00,0x00,0x00,0x00,

	0x00,0x00,0x7c,0xc6,0xc6,0xce,0xd6,0xd6,/*0*/
	0xe6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
	0x00,0x00,0x18,0x38,0x78,0x18,0x18,0x18,/*1*/
	0x18,0x18,0x18,0x7e,0x00,0x00,0x00,0x00,
	0x00,0x00,0x7c,0xc6,0x06,0x0c,0x18,0x30,
	0x60,0xc0,0xc6,0xfe,0x00,0x00,0x00,0x00,
	0x00,0x00,0x7c,0xc6,0x06,0x06,0x3c,0x06,
	0x06,0x06,0xc6,0x7c,0x00,0x00,0x00,0x00,
	0x00,0x00,0x0c,0x1c,0x3c,0x6c,0xcc,0xfe,
	0x0c,0x0c,0x0c,0x1e,0x00,0x00,0x00,0x00,
	0x00,0x00,0xfe,0xc0,0xc0,0xc0,0xfc,0x0e,
	0x06,0x06,0xc6,0x7c,0x00,0x00,0x00,0x00,
	0x00,0x00,0x38,0x60,0xc0,0xc0,0xfc,0xc6,
	0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
	0x00,0x00,0xfe,0xc6,0x06,0x06,0x0c,0x18,
	0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x00,
	0x00,0x00,0x7c,0xc6,0xc6,0xc6,0x7c,0xc6,
	0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
	0x00,0x00,0x7c,0xc6,0xc6,0xc6,0x7e,0x06,
	0x06,0x06,0x0c,0x78,0x00,0x00,0x00,0x00,

/*58*/
	0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,/*:*/
	0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,
	0x00,0x18,0x18,0x30,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x06,0x0c,0x18,0x30,0x60,
	0x30,0x18,0x0c,0x06,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,
	0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x60,0x30,0x18,0x0c,0x06,
	0x0c,0x18,0x30,0x60,0x00,0x00,0x00,0x00,
	0x00,0x00,0x7c,0xc6,0xc6,0x0c,0x18,0x18,
	0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x7c,0xc6,0xc6,0xde,0xde,
	0xde,0xdc,0xc0,0x7c,0x00,0x00,0x00,0x00,
	0x00,0x00,0x10,0x38,0x6c,0xc6,0xc6,0xfe,
	0xc6,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00,
	0x00,0x00,0xfc,0x66,0x66,0x66,0x7c,0x66,
	0x66,0x66,0x66,0xfc,0x00,0x00,0x00,0x00,
	0x00,0x00,0x3c,0x66,0xc2,0xc0,0xc0,0xc0,
	0xc0,0xc2,0x66,0x3c,0x00,0x00,0x00,0x00,
	0x00,0x00,0xf8,0x6c,0x66,0x66,0x66,0x66,
	0x66,0x66,0x6c,0xf8,0x00,0x00,0x00,0x00,
	0x00,0x00,0xfe,0x66,0x62,0x68,0x78,0x68,
	0x60,0x62,0x66,0xfe,0x00,0x00,0x00,0x00,
	0x00,0x00,0xfe,0x66,0x62,0x68,0x78,0x68,
	0x60,0x60,0x60,0xf0,0x00,0x00,0x00,0x00,
	0x00,0x00,0x3c,0x66,0xc2,0xc0,0xc0,0xde,
	0xc6,0xc6,0x66,0x3a,0x00,0x00,0x00,0x00,
	0x00,0x00,0xc6,0xc6,0xc6,0xc6,0xfe,0xc6,
	0xc6,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00,
	0x00,0x00,0x3c,0x18,0x18,0x18,0x18,0x18,
	0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
	0x00,0x00,0x1e,0x0c,0x0c,0x0c,0x0c,0x0c,
	0xcc,0xcc,0xcc,0x78,0x00,0x00,0x00,0x00,
	0x00,0x00,0xe6,0x66,0x6c,0x6c,0x78,0x78,
	0x6c,0x66,0x66,0xe6,0x00,0x00,0x00,0x00,
	0x00,0x00,0xf0,0x60,0x60,0x60,0x60,0x60,
	0x60,0x62,0x66,0xfe,0x00,0x00,0x00,0x00,
	0x00,0x00,0xc6,0xee,0xfe,0xfe,0xd6,0xc6,
	0xc6,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00,
	0x00,0x00,0xc6,0xe6,0xf6,0xfe,0xde,0xce,
	0xc6,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00,
	0x00,0x00,0x38,0x6c,0xc6,0xc6,0xc6,0xc6,
	0xc6,0xc6,0x6c,0x38,0x00,0x00,0x00,0x00,
	0x00,0x00,0xfc,0x66,0x66,0x66,0x7c,0x60,
	0x60,0x60,0x60,0xf0,0x00,0x00,0x00,0x00,
	0x00,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,
	0xc6,0xd6,0xde,0x7c,0x0c,0x0e,0x00,0x00,
	0x00,0x00,0xfc,0x66,0x66,0x66,0x7c,0x6c,
	0x66,0x66,0x66,0xe6,0x00,0x00,0x00,0x00,
	0x00,0x00,0x7c,0xc6,0xc6,0x60,0x38,0x0c,
	0x06,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
	0x00,0x00,0x7e,0x7e,0x5a,0x18,0x18,0x18,
	0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
	0x00,0x00,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,
	0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
	0x00,0x00,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,
	0xc6,0x6c,0x38,0x10,0x00,0x00,0x00,0x00,
	0x00,0x00,0xc6,0xc6,0xc6,0xc6,0xc6,0xd6,
	0xd6,0xfe,0x6c,0x6c,0x00,0x00,0x00,0x00,
	0x00,0x00,0xc6,0xc6,0x6c,0x6c,0x38,0x38,
	0x6c,0x6c,0xc6,0xc6,0x00,0x00,0x00,0x00,
	0x00,0x00,0x66,0x66,0x66,0x66,0x3c,0x18,
	0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
	0x00,0x00,0xfe,0xc6,0x86,0x0c,0x18,0x30,
	0x60,0xc2,0xc6,0xfe,0x00,0x00,0x00,0x00,
	0x00,0x00,0x3c,0x30,0x30,0x30,0x30,0x30,
	0x30,0x30,0x30,0x3c,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x80,0xc0,0xe0,0x70,0x38,
	0x1c,0x0e,0x06,0x02,0x00,0x00,0x00,0x00,
	0x00,0x00,0x3c,0x0c,0x0c,0x0c,0x0c,0x0c,
	0x0c,0x0c,0x0c,0x3c,0x00,0x00,0x00,0x00,
	0x10,0x38,0x6c,0xc6,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,
	0x30,0x30,0x18,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x78,0x0c,0x7c,
	0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
	0x00,0x00,0xe0,0x60,0x60,0x78,0x6c,0x66,
	0x66,0x66,0x66,0xdc,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0xc0,
	0xc0,0xc0,0xc6,0x7c,0x00,0x00,0x00,0x00,
	0x00,0x00,0x1c,0x0c,0x0c,0x3c,0x6c,0xcc,
	0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0xfe,
	0xc0,0xc0,0xc6,0x7c,0x00,0x00,0x00,0x00,
	0x00,0x00,0x38,0x6c,0x64,0x60,0xf0,0x60,
	0x60,0x60,0x60,0xf0,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x76,0xcc,0xcc,
	0xcc,0xcc,0xcc,0x7c,0x0c,0xcc,0x78,0x00,
	0x00,0x00,0xe0,0x60,0x60,0x6c,0x76,0x66,
	0x66,0x66,0x66,0xe6,0x00,0x00,0x00,0x00,
	0x00,0x00,0x18,0x18,0x00,0x38,0x18,0x18,
	0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
	0x00,0x00,0x06,0x06,0x00,0x0e,0x06,0x06,
	0x06,0x06,0x06,0x06,0x66,0x66,0x3c,0x00,
	0x00,0x00,0xe0,0x60,0x60,0x66,0x6c,0x78,
	0x78,0x6c,0x66,0xe6,0x00,0x00,0x00,0x00,
	0x00,0x00,0x38,0x18,0x18,0x18,0x18,0x18,
	0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0xec,0xfe,0xd6,
	0xd6,0xd6,0xd6,0xd6,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0xdc,0x66,0x66,
	0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0xc6,
	0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0xdc,0x66,0x66,
	0x66,0x66,0x66,0x7c,0x60,0x60,0xf0,0x00,
	0x00,0x00,0x00,0x00,0x00,0x76,0xcc,0xcc,
	0xcc,0xcc,0xcc,0x7c,0x0c,0x0c,0x1e,0x00,
	0x00,0x00,0x00,0x00,0x00,0xdc,0x76,0x62,
	0x60,0x60,0x60,0xf0,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0x60,
	0x38,0x0c,0xc6,0x7c,0x00,0x00,0x00,0x00,
	0x00,0x00,0x10,0x30,0x30,0xfc,0x30,0x30,
	0x30,0x30,0x36,0x1c,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0xcc,0xcc,0xcc,
	0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,
	0x66,0x66,0x3c,0x18,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,0xc6,
	0xd6,0xd6,0xfe,0x6c,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0xc6,0x6c,0x38,
	0x38,0x38,0x6c,0xc6,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,0xc6,
	0xc6,0xc6,0xc6,0x7e,0x06,0x0c,0xf8,0x00,
	0x00,0x00,0x00,0x00,0x00,0xfe,0xcc,0x18,
	0x30,0x60,0xc6,0xfe,0x00,0x00,0x00,0x00,
	0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,
	0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,
	0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,
	0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,
	0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,
	0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe
};

unsigned int calulate_addr(unsigned char first, unsigned char second)
{
	return ((first-0xA1)*94+(second-0xA1)) * 32;
}

void hz_draw(char * buf)
{
	int i,j,k;
	
	for (i=0; i<16; i++)
	{
		k=2*i;
		//printf one line;
		for (j=0; j<8;j++)  
		{
			if (buf[k]&0x80) 
				printf("<>");
			else
				printf("  ");
			buf[k]<<=1;
		}
		k++;
		for (j=0; j<8;j++)
		{
			if (buf[k]&0x80)
				printf("<>");
			else 
				printf("  ");
			buf[k]<<=1;
		}		
		printf("\n");
	}
}

void ec_draw(char * buf)
{
	int i,j;
	
	for (i=0; i<16; i++)
	{
		//printf one line;
		for (j=0; j<8;j++)  
		{
			if (buf[i]&0x80) 
				printf("<>");
			else
				printf("  ");
			buf[i]<<=1;
		}
		printf("\n");
	}
}

int main(int argc, char* argv[])
{
	char *dd="Aa上海W中国129@天卫";
	//char dd[200];



	FILE *hzFile=NULL;
	char buf[100];
	unsigned int addr;

	int ptr=0;

	//open the OSD string;
	/*hzFile = fopen("E:\\myprogram\\test\\hztest1\\OSDtext.txt", "rt");
	memset(dd, 0, 200);
	fread(dd, 1, 200, hzFile);
	fclose(hzFile);	*/

	//open HZK16 for reading;
	hzFile=fopen("E:\\myprogram\\test\\hztest1\\HZK16", "rb");

	while(ptr<strlen(dd))
	{
		if(dd[ptr]&0x80) //it's a Chinese Char
		{
			addr=calulate_addr(dd[ptr], dd[ptr+1]);
			//read the HZ from the library;
			fseek(hzFile, addr, SEEK_SET);
			fread(buf, 1, 32, hzFile);
			//draw the HZ;
			hz_draw(buf);
			ptr+=2;
		}else
		{
			//printf("%c\n", dd[ptr]);
			memcpy(buf, Ezk+(dd[ptr]-0x20)*16, 16);

			ec_draw(buf);
			ptr++;
		}
		getchar(); //wait a key press;
	}	


	fclose(hzFile);
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -