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

📄 transfont.c

📁 把24*24点阵的字库文件转换为24*16点阵形式的文件
💻 C
字号:
/*字库转换程序Copy Right 2000.11.22*/
/*功能:把24*24点阵的字库文件Cfont.txt转换为24*16点阵形式的文件font.txt*/
#define MAXCHR  7000 /*定义最大需转换字节数*/
#define BYTE 8/*一字节为8位*/
#include "io.h"
#include "math.h"
#include "stdio.h"
#include "stdlib.h"
/**/

/*一字节数据颠倒函数*/
char trans(char a)
{
	unsigned char i;
	unsigned char bit[BYTE];
	for(i=0;i<8;i++)
	bit[i]=a;
	bit[0]=bit[0]<<7;
	bit[0]=bit[0]&0x80;
	bit[1]=bit[1]<<5;
	bit[1]=bit[1]&0x40;
	bit[2]=bit[2]<<3;
	bit[2]=bit[2]&0x20;
	bit[3]=bit[3]<<1;
	bit[3]=bit[3]&0x10;
	bit[4]=bit[4]>>1;
	bit[4]=bit[4]&0x8;
	bit[5]=bit[5]>>3;
	bit[5]=bit[5]&0x4;
	bit[6]=bit[6]>>5;
	bit[6]=bit[6]&0x2;
	bit[7]=bit[7]>>7;
	a=bit[7]|bit[6]|bit[5]|bit[4]|bit[3]|bit[2]|bit[1]|bit[0];
	return(a);
}

/*主程序开始*/
main()
{
  int  i,j,k;/*中间变量*/
  FILE *fp;/*定义源文件指针*/
  FILE *fp1; /*目标文件指针*/
  unsigned char  ch,ch1; /*定义一个字符*/
  k=0;
  if((fp=fopen("cfont.txt","r"))==NULL) /*以只读方式打开源文件*/
  {fprintf(stderr,"Cannot open cfont.txt!");}/*不能打开*/
  if((fp1=fopen("font.txt","w+b"))==NULL)/*以二进制写方式打开或新建转换文件*/
  {fprintf(stderr,"Cannot open font.txt");}/*不能打开*/
  for (i=0;i<MAXCHR;i++)
   {
	 fseek(fp,i,0);/*源文件定位*/
	 ch=fgetc(fp);
	 j=ch;/*读入一个字符*/
	 if(j==EOF)
	 printf("Cfont.c read a char error!");
	 if (fmod((i+1),3)!=0)
	     {
		ch1=trans(ch); /*调用字节位调转函数*/
		fseek(fp1,k,0);/*目标文件定位*/
		k=k+1;
		fputc(ch1,fp1);/*送源文件取的字符到目标文件中*/
	     }
   }
fclose(fp1);/*关闭文件*/
fclose (fp);
return(1);
}

⌨️ 快捷键说明

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