中华网络安全联盟 收藏本站
设为主页
商务合作
首页 新闻中心 行业动态 软件新闻 安全资讯 病毒预警 漏洞发布 操作系统 Dos Win9x Win2000 WinXP Win2003 WinVista Linux Unix
数据库 DB2 Access MSSQL MySQL Oracle Sybase 编程技术 ASP PHP JSP CGI/Perl XML .Net C/C++/C# VB VC Delphi Java 汇编
安全技术 安全教学 工具介绍 漏洞利用 病毒防范 入侵检测 防火墙 安全防范 汉化破解 攻击实例 加密解密 进程知识 技术论坛
中华网络安全联盟 >> 操作系统 >> Vista >> 让 Vista 字体查看器显示中文字符预览
操作系统
Windows XP
Windows 2000
Windows Vista
Windows 2003
Windows 9x
DOS
Linux
Unix
制作MinWin的ASCII启动
告别CMD黑暗时代 迎来
两法解决Windows Vist
利用Winsock LSP修复V
不需摆弄PS 图片处理让
倾力打造Vista的流光溢
Vista系统启动失败自动
只需两招 Vista虚拟内
让 Vista 字体查看器显示中文字符预览
字体:

中华网络安全联盟    作者:佚名    来源:互联网    时间:2007-10-27 16:42:40


  总的来说,Vista 的字体查看器和 XP 的并没有太大区别,只是将头部的字体信息部分显示方式做了一点修改。但 Vista 字体查看器的本地化工作明显没有做够,居然无法显示中文字符的预览,无论什么语言的字体都会显示出 "The quick brown fox jumps over the lazy dog. 1234567890" 这一句, 而且还有一些中文字体无法显示出其中文名称。如果平时不和这些字体打交到倒也没什么,但对于有这部分需求的人总不能找到字体后都先安装到系统中再用其它软件查看效果吧。今天正巧需要找几个字体,这个 Bug 可把我惹毛了,研究了一下。还真的有解决办法。

  首先我想到用 XP 中的 fontview.exe 文件替换掉 Vista 的,成功。但文件毕竟是 XP 的,不知道会不会引发其它问题。于是用 Restorator 2007 打开 XP 的 fontview.exe ,发现有一个“信息表”资源,一堆16进制编码,不过从右侧的预览可以看出这部分的确包含字体预览窗格中的文字。再打开 Vista 的文件,没有“信息表”资源,想必是在它的 mui 中,用 XP 的“信息表”替换掉 Vista 的。随便找一个字体打开,没有出错,不过文字显示位置全部错乱,比如窗口左上角的“打印”变成了我们苦苦寻找的“Windows 中文字型范例 1234567890”,看来对应关系不太一样,于是导出 Vista 的“信息表”,使用16进制编辑软件打开想手动修改,不过软件貌似不支持将字符替换为中文,于是又搜中文转16进制码的东西。

  自认为修改完成后想要替换回 mui 文件时,手一抖将 mui 文件拖拽到了 ResHacker 的图标上,不看不知道,一看...原来 ResHacker 可以直接对“信息表”资源进行修改(ResHacker 称之为“消息表”),晕...费了我半天劲...于是直接修改完毕,顺便还汉化了2个微软没有翻译的地方。保存,试验成功。这样以后就可以直接查看该字体中文字符的样式了,不过某些字体无法显示中文名称的问题还是没有解决(如果你认为这一点很重要那么就使用 XP 的 fontview.exe 吧)。

  下面是对比图,上为 Vista 默认状态,下为修改 mui 后的效果。

让 Vista 字体查看器显示中文字符预览
字体:
 
设为主页 收藏本站 联系我们 友情连接 商务合作 网友留言
Copyright©2006-2008 中华网络安全联盟 All rights reserved.