|
原来我写过一个中文ROM机器更换字体的教程,但这次为96DPI寻找最佳字体的时候发现其实根本不需要这么繁琐3 S) V# H& D9 |8 j$ P
* U- y0 `5 V5 [& j我们先来看初始的字体注册表
7 }% g7 V* M. |: ]1 q+ K1 B ]) _6 m9 \* [
[HKEY_LOCAL_MACHINE\Software\Microsoft\FontLink\SystemLink]6 {9 @; |8 a& x0 ?( s0 J+ n8 v
"Courier New"="\\Windows\\sunfon.ac3,SC_Song"
! f1 c' c, E$ a" F! }$ H( G1 M6 _"Nina"="\\Windows\\sunfon.ac3,SC_Song"/ z7 H% c. h0 U( s
"SC_Song"="\\Windows\\nina.ttf,Nina"$ `) j+ I* c7 O* r9 T( U6 e y6 Y
宋体"="\\Windows\\nina.ttf,Nina"
7 k- p' _+ l2 ], Q* B" i
% F" u: ?4 L# }5 ~ F7 n& P x, J中文ROM机器里真正的字体文件就三个,一个是中文的宋体 sunfon.ac3,一个是英文字体 nina.ttf,另一个是Nina对应的粗体
R3 i6 S9 t2 ^8 d1 I0 K5 k( u! d \% j
有一个很有意思的情况就是:初始注册表中各处关于使用中文字体的指定上,没有一个是指向宋体文件的,都是指定到 Courier New 和 Nina上,这样我们再来看这个初始注册表就简单了,只要命名这两项等于新的字体,其他的都指向Nina,不就OK了吗,实际测试下来确实如此,以后换字体就简单了。
1 x7 d5 L4 e& @ C( x4 V% X' j$ \
+ r0 q2 R8 L7 e0 I8 s以雅黑为例(假设雅黑字体为MSYH.TTF ,真实的名字为微软雅黑,复制到WINDOWS目录)那我们更换字体只需要这样写就行了,其他各处的注册表都不需要改了
2 p7 g! z* i: `+ m s
# k/ U) x" y$ i) a$ t" F1 `"Courier New"="\Windows\MSYH.TTF,微软雅黑"
' B" ?8 c. _; U7 p8 y& s" D"Nina"="\Windows\MSYH.TTF,微软雅黑"" Z5 v4 G) b1 a( `# v
"微软雅黑"="\Windows\nina.ttf.Nina"
9 l' ?3 ~5 U+ u' }' v7 _
: i D! G: m- D. W0 ~( n/ u/ _这里要注意手动修改是 \ ,REG文件导入要写成 \\,不过这么简单的修改大家还是手动吧,呵呵。6 [7 C+ @# W6 _0 o( M
4 \ `2 l4 ]% D1 Q. R" u* bPS:安装过其他字体包的朋友,其他各处注册表的指向可能已经被改了,这个修改是建立在初始注册表上,其实机器本身的定义是很合理的,哎,当初弄繁琐了。$ o1 k; z2 G: t/ E8 J. M
" ^0 R" s8 X$ D[ 本帖最后由 LiuHaiTao 于 2009-3-21 09:30 编辑 ] |
|