最近情况真的是很糟,小小年纪,得了好几样小毛病,弄得每天都提不起精神来,恍恍惚惚的,幸好有妻子的支持,她不论自己多忙多累,一看到我情绪不好,就给与很多安慰,百般鼓励,真的非常感谢她。
同时,接了个wince的活,赚点外快,否则闲的也是挺无聊的,赶快进入正题,记录下我的工作成果。项目中要求系统的默认字体为楷体,而原来是宋体的,字体这部分之前我也没有接触过,头一次弄,还真花了我2天时间。还是直接说解决方法吧。
解决的方法是修改common.reg注册表当中的几个键值:
1,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\FontLink\SystemLink
"Tahoma"="\\Windows\\simkai.ttf,楷体_GB2312"
"Courier New"="\\Windows\\simkai.ttf,楷体_GB2312"
"Arial"="\\Windows\\simkai.ttf,楷体_GB2312"
"Times New Roman"="\\Windows\\simkai.ttf,楷体_GB2312"
"Symbol"="\\Windows\\simkai.ttf,楷体_GB2312"
此键的含义我觉得是将simkai.ttf 字库链接进来,wince本身没有simkai.ttf,我是从XP的windows/font当中找到的。
"Tahoma"="\\Windows\\simkai.ttf,楷体_GB2312"
"字体名称"="补充字体路径,补充字体名称"
Tahoma是字体名称;\Windows\\simkai.ttf是字库文件在Wince系统当中的位置,是补充字体路径,当前面的字体数据库Tahoma包含的编码不足以显示当前的文字信息的时候,由后面的补充字体库来补充缺损部分;楷体_GB2312 是补充字体名称。从simkai.ttf文件当中获得的。如下图所示:
如果要添加多种补充字体,例如中文简体和繁体,补充部分之间用”;“隔开。
2,HKEY_LOCAL_MACHINE\SYSTEM\GDI\SysFnt
"Nm"="楷体_GB2312" ;"楷体_GB2312"名字很重要,不能写成"Tahoma"
"Ht"=dword:fffffff4
"It"=dword:00000000
"Wt"=dword:00000190
"CS"=dword:00000000
3,HKEY_LOCAL_MACHINE\SYSTEM\GWE\Menu\BarFnt
"Nm"="楷体_GB2312"
;"楷体_GB2312"名字很重要,不能写成"Tahoma"
"Ht"=dword:fffffff4
"It"=dword:00000000
"Wt"=dword:00000190
"CS"=dword:00000000
4,HKEY_LOCAL_MACHINE\SYSTEM\GWE\Menu\PopFnt
"Nm"="楷体_GB2312" ;
"楷体_GB2312"名字很重要,不能写成"Tahoma"
"Ht"=dword:fffffff4
"It"=dword:00000000
"Wt"=dword:00000190
"CS"=dword:00000000
5,HKEY_LOCAL_MACHINE\SYSTEM\GWE\OOMFnt
"Nm"="楷体_GB2312" ;"楷体_GB2312"名字很重要,不能写成"Tahoma"
"Ht"=dword:fffffff4
"It"=dword:00000000
"Wt"=dword:00000190
"CS"=dword:00000000
另外,需要将
simkai.ttf文件添加到NK内核当中,添加方法是在project.bib文件中添加:
simkai.ttf $(_PROJECTROOT)\simkai.ttf NK SH
之后用Sysgen重新编译内核,下载效果如下: