wince使用自定义字体

时间:2021-11-19 17:35:52

在wince中使用自定义字体其实很简单,只要将自已的字体加到你的程序中就可以使用了,在使用完后再将其清除掉。以wince中加使用"Georgia”字体为例:

在程序初始化的时候将你的字体加载进程序

AddFontResource(L"NandFlash\\Font\\Georgia.ttf") ;//我的字体文件放在NandFlash下的Font目录下,文件名称为Georgia.ttf

...

在程序中使用字体,创建一个字体

LOGFONT    lf ;

lf.lfHeight  =  FontWidht;   
 lf.lfWidth   =   0;   
 lf.lfEscapement   =   0;   
 lf.lfOrientation   =   0;   
 lf.lfWeight   =   FW_BOLD;     //FW_BOLD   
 lf.lfItalic   =   FALSE;   
 lf.lfUnderline   =   FALSE;   
 lf.lfStrikeOut   =   0;   
 lf.lfCharSet   =   ANSI_CHARSET;   
 lf.lfOutPrecision   =   OUT_DEFAULT_PRECIS;   
 lf.lfClipPrecision   =   CLIP_DEFAULT_PRECIS;   
 lf.lfQuality   =   DEFAULT_QUALITY;   
 lf.lfPitchAndFamily   =   DEFAULT_PITCH   |   FF_SWISS;   
 _tcscpy(lf.lfFaceName,L"Georgia");  //这里的字体名称要对应你字体文件中的名称 ,如下图红框内,在打开的字体文件最上面一行中
 m_hFont   =   CreateFontIndirect(&lf);

wince使用自定义字体

 

使用完后,在退出程序时要记得删除字体,以免造成内存泄漏

RemoveFontResource(L"NandFlash\\Font\\Georgia.ttf") ;

就是这么简单






注意字体效果,字体是微软雅黑,是不是比原有效果好多了?

首先找个微软雅黑字体,涉及版权问题,这里不提供下载,自己去搜一下很容易找到的。

将字体文件(MSYH.TTF)拷到\windows\下面。

再去这个帖子http://bbs.zhiqi.com.cn/thread-5459-1-2.html拖一个注册表编辑器,如TascalRegEdit。

运行注册表编辑器,左边找到HKEY_LOCAL_MACHINE\SYSTEM\GDI并选中,新建一个项名为“Cleartype”,选中“Cleartype”,在右边新建一个DWORD,名字为Default,值为1。

然后找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\FontLink\SystemLink并选中,一一双击右边的键,将值都改为"\windows\MSYH.TTF,微软雅黑",将字体别名都链接到雅黑上去。

最后关机重启,就可以了。

注:以上名称、字段均不含双引号。