更改Windows命令行字体
来源:互联网 发布:淘宝导航条自定义图片 编辑:程序博客网 时间:2024/05/20 23:38
更改Windows命令行字体
<转载自kangflict的博客>
平常工作时不时地会用到Windows命令行,编译个小程序或者使用某些命令行程序什么的,但是中文版Windows的命令行可选的字体只有点阵字体和新宋体,我都不喜欢。在网上搜索了一下,发现这个问题源自于Windows命令行的代码页设置。代码页是字符编码发展过程的产物,本文不再详述,感兴趣的同学可以关注我的专栏《编码精粹》 。下面我们直接看怎么解决这个问题,叙述以Windows 7为例,但是应该适合大多数版本的Windows系统。
一、默认情况
默认情况下的效果如下所示:
这个字体稍微用用还行,如果每天都要用的话,我会疯的,尤其是汉字的效果,让人不忍直视。
打开cmd,点击左上角图标,在弹出的系统菜单中选择属性,就会出现如下所示的属性窗口。可以看到cmd程序的当前代码页是936,使用的编码是GBK。接着切换到字体选项卡,查看可选的字体。
字体列表中只有点阵字体和新宋体,这个问题源于Windows对Console程序的设定,打开注册表定位至[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont],就可以看到Windows下Console程序的TrueType字体设定了。
我们可以看到936等几个字符串值每一项都对应一个代码页,比如936对应简体中文,950代表繁体中文等。0和00(000是我后加的)两项则比较特殊,其实这两个都是代码页437对应的字体。也就是说除了代码页437之外,其他的代码页只能指定一种可用的字体,否则就要使用点阵字体。
二、解决方案
既然问题的根源已经找到,那么解决起来也很简单。如果不使用默认字体以外的字体的话,可以很简单的将代码页切换到437,然后选择喜欢的字体即可。当然了默认情况下代码页437可用的字体也只有Lucida Console和Consolas,Lucida Console的效果就不敢恭维了,Consolas我觉得还挺不错的。那代码页怎么切换呢?很简单chcp [codepage]即可。
现在我们再来看一下属性页面的可选字体。
可以看到字体列表中有Consolas和Lucida Console了,选择Consolas看一下效果。
还不错哈!但是,如果你和我一样想使用更多的字体,或者对Consolas在命令行程序中的效果不满意的话,就要考虑一下增加命令行程序可用的字体了。要增加字体其实也很简单,在注册表中[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont]项下增加一项名字为000的字符串值,并将其值设置为你想要用的字体的名字,如果要增加更多字体只要再增加一项字符串值,并将其命名为0000,也就是多加一个0即可。下图中我增加了一个名为Bitstream Vera Sans Mono的字体,你可以选择任何你想用的字体,当然了必须是系统中已经有的。
选择Bitstream Vera Mono,然后看一下效果~
这回顺眼不少了哈~
三、两个注意事项
- 有的同学说在代码页437下,中文显示有问题,这个我没有遇到过。如果你确实遇到了这样的问题的话,可以尝试着先按照前面我说的方法更改或添加字体,然后再将代码页切换到936。
- 前面讲的方法不仅适用于命令提示符程序cmd,也适用于PowerShell。
- 更改Windows命令行字体
- 更改Windows10命令行字体
- windows更改命令行cmd的字体为conlosas+微软雅黑
- 如何更改命令行窗体背景字体颜色
- windows命令行更改文件夹权限
- 更改Windows系统默认字体的方法
- windows 命令行cmd环境变量查看,更改,设置
- windows命令行(Command Prompt / Console)字体设置
- windows下cmd命令更改好看的字体
- Windows下在命令行下更改ip地址
- [命令行] 为windows cmd或powershell配置字体
- 更改场景字体
- ITextSymbol字体的更改
- TreeView更改字体
- 如何更改alert字体
- 更改JRE字体配置
- gnome-shell 字体更改
- ubuntu11.10字体更改
- 三种简单的html网页自动跳转方法
- 电脑无法使用vmware10安装centos7的解决
- 禁止页面Body在后台滚动
- iOS 中单例的使用以及原理
- 优秀程序员的十个习惯
- 更改Windows命令行字体
- solr4.7新建core
- 利用DrawerLayout和触摸事件分发来实现抽屉侧滑业务
- Android 内部存储和Cache简单介绍
- 自定义基类BaseActivity,节省开发步骤
- LeetCode-334.Increasing Triplet Subsequence
- Charged view 0x7f9fb9568c80 was still registered to a window when it was deallocated.
- HDBSQL-命令行模式执行SQL
- easyui的datagrid整合struts2,以及Ajax,实现局部刷新功能,并设置分页的实现---------投票案例