空间站

北极心空

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  15 Posts :: 393 Stories :: 160 Comments :: 0 Trackbacks

在很长的一段时间内,Visual Studio 2003/2005的代码编辑器中的编辑字体设置,对中国的程序员来说,是一个挠头的问题。许多人在代码编辑器中使用的无非是宋体、新宋体,有的安装了Office套件后使用的是幼圆。

但是我们使用的是代码编辑器,输入英文代码的数量远远大于输入中文,而中文字体内包含的英文字符又实在是难看,要不在设定中使用英文字体,忍受难看的中文字符,要不使用中文字体,英文显示非常不美观。

出现这种情况的原因就是Visual Studio 2002/2003/2005 中的代码编辑器只能设定一种字体,而不能设定中文显示用XX字体,英文显示用YY字体。

那么最终只有一种解决办法,就是把英文字体和中文字体合并成一个字体。我经常想,如果有这么一种字体,其中中文字符使用的是新宋体,而字体内的英文和标点符号使用的是Courier New,就好了。我在互联网中寻找了很长时间,一直没有找到。

现在好了,昨晚我找到一个工具,可以自己编辑你喜欢的字体,它的功能就是编辑新字体,可以把已有的多个字体文件中一部分字符复制出来,然后合并成一个新字体文件。大家看看我的VS2005代码编辑器的抓图:



大家可以看到,上面图片是VS2005 C# 代码编辑器的抓图。很明显,上面的代码编辑器的字体使用了两种不同的字体:中文字体使用的是“微软雅黑”,英文字体使用的是 “Courier New Bold”。

大家一定怀疑,我是否是修改注册表或者修改了VS2005的编辑器。这里可以告诉大家,我没有修改任何东西,我仅仅是使用了一个名为”Visual Studio Code Editor Font”的ttf文件而已,如下图:


可以看出,上面的字体不是微软附带的字体,也不是网上下的字体,而是我自己制作的字体。其中的英文与标点符号是Courier New Bold,中文是微软雅黑。使用的软件名称是 Font Creator 5.0 的一个软件。

这个软件可以使你打开任意数量的 TTF (字体文件),显示其中的所有字符(包括中文字符),并且可以在打开的字体文件中任意复制粘贴任意数量的字符。

使用方法如下:
1 选择你喜欢的中文字体文件作为模板,我选择的是微软雅黑字体(msyh.ttf)。
2 选择你喜欢的英文字体文件,这里我选择的是Courier New Bold字体(courbd.ttf)。
3 把这两个文件从 %SystemRoot%\Font 文件夹内复制到你指定的新文件夹内。
4 修改msyh.ttf 的文件名,一定要取一个与Windows文件夹内Font目录中独一无二的名称。
5 打开Font Creator 5.0 ,打开msyh.ttf(时间可能很长)。
6 打开 courbd.ttf 。
7 选择窗口,把两个窗口并列显示。
8 把Courier New Bold 字体内所有的英文字符,标点符号,还有空格等字符,使用复制粘贴的方式覆盖掉微软雅黑字体中相同位置的字符/符号。
9 检查几次,确认没有错误后,单击保存,保存字体,并把Courier New Bold 字体窗口关闭。
10 选择“Format”菜单中的“Naming”项,显示出字体名称。因字体属性中除了字体文件名外,主要分辨字体方式是字体的Family Name,而我们是以“微软雅黑”作为模板的,所以必须修改这些名称,使自己的字体名与微软雅黑不同,否则与微软雅黑字体名称冲突,无法安装到系统的Font 文件夹内。
11 修改好后,关闭程序。
12 使用系统资源管理器打开Windows\Font 目录,并安装字体。
13 打开VS,在工具--> 选项 --> 字体和颜色 --> 编辑器字体 中选择你建立的字体名。
14 成功。

需要注意的问题:
1 注意,修改字体必须以中文字体为模板,即修改的字体文件是中文字体文件,然后打开一个你喜欢的英文字体文件,把英文文件中的英文字符复制并粘贴到中文字体文件的对应字符位置中。这样工作量小,无非是大小写a-z字母,0-9数字,还有一些! @ # $ 符号。

2 在复制过程中,中文字体的字符位置与英文字体的字符位置是不一样的,在Font Creator中每个字符都有一个名称(Unicode标准名),这个名称对于所有字体中的ASCII字符是相同的,所以必须确认两个字符名绝对等同,否则字符复制错误,显示的就是错字了。

3 Font Creator 使用时需要的内存量极大,我的计算机1G内存,在打开/保存/测试字符时,有很小一段时间程序没有反应,这是正常的,你可以干别的事。

4 Font Creator 5.0 可以到Google中搜索,我是在华军软件中下的(不是广告)。

好,教程说完了,现提供我自己制作的字体(压缩后大小8兆)英文是Courier New Bold ,中文是微软雅黑。
博客园上传文件被设定不得大于1.95兆,我的文件有8兆,无法上传,谁提供我一个FTP或帮忙上传到博客园,谢谢!~

注:
微软雅黑可能有人不知道,它是微软在Vista中包含的下一代主打中文字体,被人从Vista中提取并修改,使之可以在WindowsXP中使用,可以到Google中搜索“微软雅黑5.0”,即可下载。

update 1 :\>

1 我把我当前使用的字体上传了,字体使用的是微软雅黑作为中文字体, Courier New Bold (即Courier New 的粗体)作为英文显示。请大家下载,因上传文件大小限制,分成两个压缩包。

[占位符:正在上传新文件,原文件已删除,请等待...]

2 我本想使用宋体字和Courier New 字体做一个字体包,给喜欢宋体字的朋友,但是我的计算机中的宋体字体文件不是TTF(True Type Font/Format)而是TTC (True Type Collections),而Font Creator 无法编辑TTC格式文件,请需要宋体的朋友在网上寻找 simsun.ttf 文件,自行修改。

3 上面提供的vscode.ttf文件,使用的是Courier New Bold ,它是Courier New 粗体格式,我现在正在做微软雅黑 + Courier New 字体,给明天可以提供下载。

再次希望喜欢自定义字体的朋友,去下载Font Creator,可以自己定义自己的VS代码编辑器字体,并提供下载谢谢!

posted on 2006-12-22 16:02 芦苇 阅读(1194) 评论(0)  编辑  收藏 所属分类: .NET

只有注册用户登录后才能发表评论。


网站导航: