示例#1
0
PLangDriver CreateLanguage_CN(int LangID, char *FontName, int FontSize)
{
	TLangDriver *LangDriver=CreateLanguage_Default(LangID);
	LangDriver->GetNextTextFun=GetNextText_EUC;
	LangDriver->GetTextDotsFun=GetTextDots_CN;
	if(ToUCSTable==NULL)
		ToUCSTable=(unsigned short *)LoadFile("GB2312.UNI",&ToUCSTableSize);
	LangDriver->FontLib=LoadOldFont();
	if(LangDriver->FontLib==NULL)
	{
		LangDriver->FontLib=(TFontLib*)malloc(sizeof(TFontLib));
		if(LoadFontLib("GB2312.FT", LangDriver->FontLib))
		{
			LangDriver->FontLib->codeid=LID_GB2312;
		}
		else if(ToUCSTable && LoadFontLib("UNI2.FT", LangDriver->FontLib))
		{
			LangDriver->FontLib->codeid=LID_UNICODE2;
		}
		else
		{
			free(LangDriver->FontLib->buffer);
			free(LangDriver->FontLib);
			LangDriver->FontLib=NULL;
			free(LangDriver);
			LangDriver=NULL;			
		}
	}
	return LangDriver;
}
示例#2
0
PLangDriver CreateLanguage_SYM(int LangID, char *FontName, int FontSize)
{
    if(LangDriver==NULL)
        LangDriver=(PLangDriver)malloc(sizeof(TLangDriver));
    else
        return LangDriver;
    memset(LangDriver, 0, sizeof(TLangDriver));
    LangDriver->CharHeight=16;
    LangDriver->CharWidth=8;
    LangDriver->GetNextTextFun=GetNextText_SYM;
    LangDriver->GetTextDotsFun=GetTextDots_SYM;
    LangDriver->GetTextHeightFun=GetTextHeight_Default;
    LangDriver->GetTextWidthFun=GetTextWidth_Default;
    LangDriver->LanguageID=LangID;
    if(!(SymbolDots=LoadFile("SYM.FT", &FontSize)))
        LangDriver->FontLib=LoadOldFont();
    return LangDriver;
}