[命令行] 为windows cmd或powershell配置字体

来源:互联网 发布:linux 777权限 命令 编辑:程序博客网 时间:2024/06/05 00:55

其实powershell可以看成是cmd的增强版,就仅以powershell为例说明。


快捷方式增加了可选的内容

首先在桌面上创建一个powershell的快捷方式,右键》属性,可以发现里面有很多选项卡。其中:

1> 选项:这里面主要是配置代码页(codepage),一般常用的有437(oem-美国)和936(ansi/oem 简体中文 GBK)

2> 字体:这里可以选择字体类型和大小

3> 颜色:可以选择前景背景色

4> 布局:可以选择窗口位置和窗口大小


增加可选字体

编程时我们常用等宽字体,网上有很多推荐,我个人比较喜欢“Anonymous Pro”,下载地址http://www.ms-studio.com/FontSales/anonymous.html

下载后安装到系统。

如果修改powershell字体,你会发现能选择的很少,虽然我们的系统里有很多字体,下面说说如何增加可用字体。

开始》运行》regedit.exe

找到HKLM\Software\Microsoft\WindowsNT\CurrentVersion\Fonts,这里面是你已经安装的字体

找到HKLM\Software\Microsoft\WindowsNT\CurrentVersion\Console\TrueTypeFont

在里面新建一个纯0的字符串,不要和原来冲突,如果原来里面已经有了“0”和“00”,那么就新建“000”,然后值设置为你想要的字体,例如“Anonymous Pro”。


选择字体

这样再次右键powershell快捷方式,然后选择代码页437,再去查看字体,就可以看到“Anonymous Pro”了。

你还可以添加其它你喜欢的字体,但是需要注意,只能是在代码页437中,在代码页936中是看不到这些的。

以下是对字体的一些要求:

The fonts must meet the following criteria to be available in a command session window:The font must be a fixed-pitch font.The font cannot be an italic font.The font cannot have a negative A or C space.If it is a TrueType font, it must be FF_MODERN.If it is not a TrueType font, it must be OEM_CHARSET.Additional criteria for Asian installations:If it is not a TrueType font, the face name must be "Terminal."If it is an Asian TrueType font, it must also be an Asian character set.

我的尝试

系统默认给代码页936提供的是新宋体,这个字体一般,我想换一个,但是不知道如何修改注册表,因为添加“0000”这样的方法似乎对代码页936没用。

所以我的想法是直接将注册表中936-》*新宋体替换掉,替换成我自己的字体。

从网上下载了一个Font Creator,可以打开ttf文件,并且显示每一个字符。

1> 将微软雅黑和Anonymous字体复制到桌面

2> 分别打开这两种字体

3> 用Anonymous里面常用的字符(0-9A-Za-z,还有一些标点符号等)替换微软雅黑里面的字符。注意空格,null字符等。

4> 将更改后的微软雅黑重新命名(这个命名是保存在字体文件内部的,和文件名不是一个概念),格式》命名,平台就是UNICODE,语言注意需要分别设置英文和中文(我操作系统是中文版的,先前只改了英文的name,导致字体名称实际没有改),修改字体家族名,例如我改成“ProgramYaHei”(英文)和“\7F16\7A0B\96C5\9ED1”(中文),(后面这个是“编程雅黑”的UTF16编码)。

5> 格式》设置》类别》比例,选择“单空格(monospaced)”,这个如果不选择,字体无法被powershell使用。

5> 保存为msyh_anonymous.ttf,右键ttf文件》安装。

可以发现在word中可以选择“编程雅黑”了,但是不知道为什么,这个字体的英文和Anonymous有点区别,似乎失真了。

修改注册表,将“*新宋体”替换为“*编程雅黑”,然后配置快捷方式,OK。


参考文章

http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q247815

http://www.cnblogs.com/submaie/archive/2006/12/22/600193.html

http://www.cnblogs.com/submaie/archive/2006/12/22/600193.html

http://www.cnblogs.com/submaie/archive/2006/12/24/602192.html

http://www.cnblogs.com/RobertLee/archive/2006/12/24/602246.html

http://www.cnblogs.com/RobertLee/archive/2006/12/25/602646.html

http://zhidao.baidu.com/question/77162600.html