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

📄 getfont.cpp

📁 把矢量字体转换成点阵字体,无密码,直接编译,运行即可.
💻 CPP
字号:
#include "conio.h"
#include "stdlib.h"
#include "stdio.h"
#include "string.h"
#include "ctype.h"
#define   CHARTOTALONELINE	19
#define   LINE_END_SIGN		0X5E

typedef union
{
	long 	LPart;
	unsigned char CPart[4];
}LongInt;
unsigned int SceneTotal,StartUnit,EndUnit,StartLesson,EndLesson,PartTotal,LessonTotal,ParaTotal,SentenceTotal;
unsigned char FileName1[13],BinFName[13],TabFName[13],FileName2[13],FileName3[13];
unsigned char LineBuffer[4000],TitleString[4000];
unsigned char CurrWordFirstLetter;
unsigned char PrevWord[500];
unsigned long Offset1;
unsigned int Offset,ThisWordTotal;
unsigned char TempChar;
unsigned long Low,Mid,High;
//unsigned char SentenceBuffer[100][400];
FILE* TxtFp,*V_IndexFp,*BinFp,*TabFp,*G_IndexFp,*ListFp;
LongInt  WriteLessonAddr,BackAddr,WriteSentenceTotalAddr;
unsigned int GetThisWordOffset(unsigned char chartype);
void GetWordAddr(void);
void SearchThisWord(void);
void ReadAString(unsigned char SignChar,unsigned char * DestStr);
unsigned int ChangeOt(void)
{
   unsigned int i,j;
   TitleString[0]='~';
   TitleString[1]=LineBuffer[0];
   TitleString[2]=LineBuffer[1];
   TitleString[3]=0;
   strcat(TitleString,"~,~");
   j=strlen(TitleString);
   for(i=2;;i++)
   {
     if ( LineBuffer[i]>='a' && LineBuffer[i]<='z') break;
     if ( LineBuffer[i]!=' ' ) return 0;
   }

   for(;;i++,j++)
    if ( LineBuffer[i]==' ' || LineBuffer[i]=='\n' ) break;
    else
       TitleString[j]=LineBuffer[i];

   TitleString[j++]='~';
   TitleString[j]=0;
   fputs(TitleString,BinFp);
   fputc('\n',BinFp);

}
void main(int arg, char* arv[])
{
	unsigned char i;
	unsigned char endflag=0;
   if ( arg != 2 )
   {
      printf("Usage: getfont  *.txt");
      exit(0);
   }
   strcpy(FileName2,arv[1]);
   for(i=0;;i++)
    if ( FileName2[i]=='.' ) break;
    FileName2[i]=0;
   strcpy(FileName2,"hnwb1.txt");
   TxtFp = fopen(arv[1],"rt");
   BinFp = fopen(FileName2,"wt");
   ThisWordTotal=0;
   CurrWordFirstLetter='a';
   PrevWord[0]=0;

   while(!feof(TxtFp))
   {
    fgets(LineBuffer,1600,TxtFp);
      LineBuffer[1200]=0;
    if ( LineBuffer[0] >= 0xa1 )
    {
      if  (LineBuffer[2]<0xa1)
      {
	if (strcmp(LineBuffer,PrevWord)==0 ) break;
	strcpy(PrevWord,LineBuffer);
	ChangeOt();
      }
    }else
    {   fputs(LineBuffer,BinFp);
	fputc('\n',BinFp);
    }

   }
   fcloseall();

}


⌨️ 快捷键说明

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