windows命令行(Command Prompt / Console)字体设置

作者:半瓶墨水   链接:http://www.2maomao.com/blog/windows-console-font/

Windows命令行的字体一直让我不爽,只有两个选项,英文版还有个Lucida Console比较好看,切换到中文版以后,就只有很让人抓狂的Fixedsys和新宋体,唉,现在只要是可以输入的地方,哪有不让改字体的。

今天搜了一下,英文系统下,通过改注册表是可以做到的:
http://www.orablogs.com/duffblog/archives/001209.html
http://support.microsoft.com/kb/247815

但是中文系统下仍然不行,我先切换到英文系统,然后搞了几个快捷方式再切回来,试了几次总算成功了。

这里有张截图,其中用的是Bitstream Vera Sans Mono字体:
console_font_veramono.gif

为了以后方便,我做了一个包,按照说明安装之后重启机器,就可以在中英文系统上用了。
在这儿下载
http://www.2maomao.com/blog/wp-content/uploads/win_console_fonts.zip

压缩包里面包含了:
—— Lucida Console和Bitstream Vera Sans Mono字体
(参见我以前的文章:程序员最喜欢用的编程字体

—— 修改好的注册表项:console_font_setting.reg

—— 一些配置好字体的命令行快捷方式,包括Courier New / Lucida Console / Consolas / Bitstream Vera Sans Mono

使用方式
1. 下载,解压,先随便找个地方放一下
2. 导入注册表:双击console_font_setting.reg导入注册表
3. 安装字体:把ttf文件全部安装到c:\windows\font 目录下
4. 重启系统(必须),把四个快捷方式打开看看。

然后嘛,就看你自己做什么了,修改一下那些快捷方式里面的属性一般就够用了。

Update:
Fatalerr同学在随时随地进入命令行的评论中指出,要改变直接运行cmd.exe出来的窗口字体,需如下操作:
在注册表HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe下面增加以下String:
FaceName = Bitstream Vera Sans Mono
之后你再运行cmd.exe,字体就变成bitstream mono了!

18 条评论 发表在“windows命令行(Command Prompt / Console)字体设置”上

  1. Izual_Yang说道:

    这样中文字体不好看呀,扁头扁脑的
    要是能够自定义英文字体+正常宋体还差不多

  2. 兔毛猫说道:

    @Izual_Yang
    可以按照这个方法试试其他字体
    呵呵我写代码处理英文还是占大多数,换了字体感觉非常爽 :k

  3. 小白说道:

    非常好,用起来很爽,太感谢你了。
    默认的字体()完全分不开,现在很好。
    现在用在windows下面用vim写,用g++编译,很舒服了。 :h

  4. cocobear说道:

    看起来还是不爽,呵呵。

  5. 半瓶墨水说道:

    @cocobear
    嗯,所以我后来改成Consolas了,比这个好看

  6. 刷刷说道:

    恩,不错,很好很强大。另外我发现中文系统下修改不管用是因为默认的是中文字体,可以先把default选项里的default code page 修改为OEM UNITED STATE。 然后就可以看到新添加的字体了。

  7. 半瓶墨水说道:

    @刷刷 你提供的方法也不错,多谢了:D

  8. zzz说道:

    我把命令行默认字体改了之后(通过博主提供的注册表),输入法不能使用中文了,这是怎么回事啊?

  9. 半瓶墨水说道:

    @zzz 你是说那个注册表文件吗?我试了好几台机器都好好的啊(我装的是搜狗输入法)
    你是不是把区域设置里面non-Unicode改成英文了?

  10. 水的影子说道:

    真滴很有用

  11. ichuan说道:

    哎为了能用其他字体,我都用cygwin+mintty了,不再用cmd.exe了

  12. cppgohan说道:

    zzz 三月 5th, 2009 9:42 下午

    我把命令行默认字体改了之后(通过博主提供的注册表),输入法不能使用中文了,这是怎么回事啊?

    这个刚刚遇到了, 可以在注册表上手动修改一下代码页为936.

  13. regex说道:

    我想在命令行窗口使用Inconsolata,该怎么修改?求指点

  14. wayne zhang说道:

    谢谢,还是挺好用的。

  15. […] 你可以在参考资料[1]或者这里找到可以直接导入注册表的文件 […]

  16. humen a说道:

    很不错,收藏了。

  17. 说道:

    坑啊,修改了之后,我配置的环境变量都失效了。。。。

留下回复