📄 transfont.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 + -