既然支持外挂字体,我尝试在配置文件中添加 FONT C:\Windows\Fonts\*.* ,结果中途停止响应,估计是硬盘上的字体太多的缘故!
于是尝试分别注册硬盘系统中的黑体、宋体、仿宋等常用字体,结果成功。因此我们既可以把字体外挂到光盘的特定目录,也可以尝试注册硬盘系统中的字体(注册硬盘上的字体相对比较安全,不会写硬盘也不会运行硬盘上的程序)。
1、命令改为
FONT C:\Windows\Fonts
试试。
2、确定PE启动后的C:的确存在 Windows\Fonts 这个字体目录,本人的PE启动后,原Windows系统在D:盘,经试验一条命令即可将所有字体注册成功。本人在外部配置文件中使用的命令是
FONT D:\Windows\Fonts
当然这样的命令还不够完善,要自动注册字体的话要全盘查找,且系统的目录不一定是 Windows (可能是 WinNT 或 WinXP 或 Windows XP 或 Windows 2003 等等),总之,目录注册硬盘上系统的字体必须确定其路径,若把字体放在外置目录下就容易些。
一条 API 命令 AddFontResource(字体资源名含路径) ,这条 API 函数很好理解,Add Font Resource 意为加入字体资源,另一个 API 函数可能不需要,不过还是加上了,就是 SendMessage(HWND_BROADCAST,WM_FONTCHANGE,0,0),它的意思是向 HWND_BROADCAST 投递一条消息,通知字体资源发生变化(WM_FONTCHANG)。