在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);
使用完后,在退出程序时要记得删除字体,以免造成内存泄漏
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,微软雅黑",将字体别名都链接到雅黑上去。
最后关机重启,就可以了。
注:以上名称、字段均不含双引号。