对于很多编程人员来说,有些字体写出来的代码,不仅看起来赏心悦目,而且写代码的时候非常方便。但是很多程序员都是使用编辑器所默认的字体,这样写出来的代码,不仅千篇一律,而且枯燥无味。下面我们就来看看,究竟哪些字体写出来的代码更美观,哪些字体更适合写代码!

1.字母的宽度一致

或称为等宽字体,由于代码文件是普通文本,不带样式的,所以宽度一致易于排列和对齐,能迅速找到位置,提高可读性。

印刷术中这种等宽字体称之为monospaced字体,他是字体中的一个大分类(family),如常见的Courier和Courier

New。由于考虑到现在的多语言环境,在不同的系统中,要将这个字体在不同字符集下映射到不同的具体字体上去,比如,一般我们的系统都会把中文的映射到“宋体”上。

2.轮廓清晰规则

只有清晰和规则的外形才能迅速分辨不同的字符,并且在长时间的阅读下不容易感觉到疲劳

在这里要说的是,西方人和东方人在对字体大小上的不同,我认识一些老外,写程序的时候喜欢使用10px的字体来显示代码,而且使用的屏幕分辨率还很高,这是因为他们的文字是字母文字,每个字母的细节少,使用小字体可以在一个屏幕上显示更多内容。所以使用具有清晰和规则的字体,在字体较小的情况下,依然能在屏幕上快速分辨。

3.l,1,i易于分辨

0,o,O易于分辨

前三个是小写L,数字1和小写I, 后三个是数字0,小写o和大写O,这几个字母在代码中常容易混淆。

例如,C风格的代码中,长整型数字要在数字后加后缀L来表示,像“111111111111L”,一般我们推荐都是使用大写的“L”目的就是为了防止混淆,而如果字体中这3中字母可以很容易分辨,那么即使我们误打成了小写l,也不会混淆。

4.清晰易分辨的标点

标点在代码中也占了非常重要的部分,如果一个字体不能很好区分逗号“,”和句号“.

”,“:”和“;”,那么不能说是一个好字体,同样,“`”“’”也最好能是配对的形式,这在某些编程中常常用到。

5.选择哪种字体?

有了以上一些参考标准之后,我们来看一些常见的字体

6.宋体

所有的中文Windows系统都自带宋体,而且宋体同时又是一个中文字体,涵盖了几乎所有的字符,在某些特殊场合,需要同时出现中文和英文的代码时,会考虑直接使用宋体。宋体由于主要照顾中文字符,而中文字符是等宽的,所以在考虑英文字符的时候,也考虑为等宽的,宽度为中文字符的一半。但是宋体的点阵英文字体并不美观,由于有衬线,导致在屏幕上小字号时的可读性较低。“0”和“O”以及“l”和“1”的区分不是很完美。

7.Courier New

这个字体也是每个 Windows都会带的,字体很好看,除了o O 0的区别,也是很多人在编程中使用的。

8.Bitstream Vera Sans Mono

最后我要向大家推荐Bitstream Vera Sans Mono,以及他的衍生字体DejaVu Sans

Mono——DejaVu扩展了一些Unicode中的字符。

这也是很多开发者推荐的字体,除了完全满足上面说的所有条件之外,又是TTF字体,基本字形是无衬线的,适合屏幕阅读,最重要的还是开源的字体!

9.Consolas

微软新开发的字体,Vista、Office2007、Visual Studio

2005中包含它。既然是MS出品,则肯定在ClearType下效果最佳。不过官方网站的安装包很累赘,还需要先安装.net framework 3.5。

10.MONACO

这款字体的功效,相信不要小编介绍,很多程序员都很爱用。

在某网站上,有人问过这样的问题:有哪些适合用于写代码的西文字体?下面是很多网友的回复:

1.网友A

易于分辨单词中的每个字母或数字,防止变量\函数名打错(如:“0”、“o”和“O”,“1”、“I”和"l"等)

数字部分等高(这个可以讨论)。

代码中大量出现的符号(如 # % $ * \)与字母混杂在一起不太丑。

引号易于辨识,两个单引号「''」和一个双引号「"」区别尽量明显。

有些环境中要求字体等宽,代码需要对齐。

支持中文显示,因为在matlab中搞不定。

2.网友B

Ctrl+F了一下,真的没有人用 InputMono 吗……

Input: Fonts for Code

3.网友C

我最喜欢的是 Adobe 发布开源字体 Source Code Pro.这个字体网上可以下载到,我最喜欢 bold 加粗版.现在windows

的IDE,都被我改成这个字体了.

搜索应该能找到,如果找不到,可以问我要哈.

最喜欢的地方是字体自带定制 line-height。

4.网友D

Rio 说的那几个除了 Consolas 好像 Windows 下都没有。

Mac OS X 和 Linux 我不熟悉,个人认为 Windows 下 Consolas 是最好的选择。支持

ClearType,比较好看,斜体尤其优雅;只是我觉得它的标点太一般了。

Courier new 挺经典的,非常漂亮,我很喜欢它的标点,尤其是分号的那个小圆点,非常性感;但是太细了,斜体不如 Consolas

的好看。

5.网友F

我喜欢把不同的环境配成不同的字体,这样一眼就能看出来是debugger,是readonly

viewer,还是主力IDE。另外,我还有一个经验是,主力环境中写完代码以后,换个viewer和另一种字体来审阅代码,很容易发现问题

目前的我的主力编程环境用的是Droid Sans

Mono,优点在于朴实但是又不过于朴实,不像Monaco、Consolas那样有跳动感,又比Menlo平淡一点点。

6.网友G

以前写js

用微软雅黑。。。。后来写coffee,不得已必须用等宽字体,换成inconsolata,话说我之前老是觉得等宽字体写出来的代码宽度太宽了,看着难受。现在有coffee这么简介的语言,总算看起来还算舒服。

7.网友H

consolas 基本所有机器上都有。

以前用过Courier New。

8.网友I

Fixedsys字体是挺特殊的一种字体,因为这款字体中每个字体的宽度都是固定的,字体感觉特别的坚固,即便是一个小小的点,显示的也很清晰,所以特别适合显示一些代码。

Fixedsys字体的大小不可更改,所以在网页中妄想使用CSS的font-size来改变Fixedsys字体的大小是不可能的,当然在一些图形软件里就另当别论了。

Fixedsys不是True Type字体,一些程序如VS2010文本编辑器不支持非True

Type字体,于是有人制作了这款Truetype版的Fixedsys字体(Fixedsys Excelsior)可以用于所有程序显示。

Fixedsys字体大小在12时显示最佳效果。

从上面大家的回答来看,每个程序员的爱好和审美观不一样,喜欢的字体也不一样。所以说也不一定别人喜欢什么,自己也喜欢什么。不过如果你不喜欢编辑器默认的字体,还是可以换一下字体,也许会有不一样的发现也不一定!

文章来源:知乎

公众号:w3c技术教程

提供专业的web技术教程、手册、工具。

用C语言程序编写字体,程序员都爱用这些字体写代码!相关推荐

  1. c语言算正方形面积和周长,c语言中编写一程序计算正方形的周长和面积

    C语言 编写程序,从键盘输入一个正数,计算该数的平方根. #include#includeintmain(){\x09doublex;\x09scanf("%lf",&x) ...

  2. 利用C语言,编写一程序:从键盘输入10个整数,统计其中正数、负数和零的个数,并在屏幕上输出

    利用C语言,编写一程序:从键盘输入多个整数,统计其中正数.负数和零的个数,并在屏幕上输出 //从键盘输入10个整数,统计其中正数.负数和零的个数,并在屏幕上输出 #include <stdio. ...

  3. java数组输入一个实数_用java!!输入五个数,保存到一个数组中,然后将... C语言,编写一个程序,从键盘输入5个数,算出总和......

    导航:网站首页 > 用java!!输入五个数,保存到一个数组中,然后将... C语言,编写一个程序,从键盘输入5个数,算出总和... 用java!!输入五个数,保存到一个数组中,然后将... C ...

  4. 有赞996反省:男程序员们,别再低头写代码了(上)

    近日,一条"有赞年会亲历"的帖子在知乎刷屏,关于有赞年会上宣布的年后开始执行"996"工作制度的消息,引发了有赞乃至整个互联网员工激烈吐槽. 什么是" ...

  5. 有赞996刷屏:男程序员们,别再低头写代码了

    近日,一条"有赞年会亲历"的帖子在知乎刷屏,关于有赞年会上宣布的年后开始执行"996"工作制度的消息,引发了有赞乃至整个互联网员工激烈吐槽. 图片: mmbiz ...

  6. 建议收藏99%的程序员都爱的网站

    导读 作为程序员,你每天接触到的比较多的网站或者平时比较喜欢浏览的网站有哪些?今天给大家介绍9个99%的程序员都爱的网站,建议收藏起来.如果你有什么其他有用的网站,也可以评论区推荐给大家. 1.Git ...

  7. C语言:编写一个程序,打印乘法“九九表”

    /*编写一个程序,打印乘法"九九表"*/ #include <Stdio.h> #include <conio.h>int main (void) {int ...

  8. C语言:编写一个程序,建立一个abc.txt文本文件,向其中写入“this is a test”,然后显示该字符串

    /*编写一个程序,建立一个abc.txt文本文件,向其中写入"this is a test",然后显示该字符串*/ #include <stdio.h> #includ ...

  9. C语言:编写一个程序,输入用户的姓名和电话号码,按姓名的词典顺序排序后,输出用户的姓和电话号码;

    /*编写一个程序,输入用户的姓名和电话号码,按姓名的词典顺序排序后, 输出用户的姓和电话号码:*/ #include <stdio.h> #include <string.h> ...

  10. C语言:编写一个程序,求s=1+(1+2)+(1+2+3)+....+(1+2+3+....+n)的值。

    /*编写一个程序,求s=1+(1+2)+(1+2+3)+....+(1+2+3+....+n)的值*/ #include <stdio.h> int main() {int i,n,sum ...

最新文章

  1. mapbox 修改初始位置_3dmax样条线的创建和修改
  2. Linux下载交通图片数据集CityScapes Dataset
  3. 互联网金融2.0 这是最好的时代
  4. 李开复:非常看好移动互联网的未来 --记CSDNCTO俱乐部李开复交流会
  5. 随笔1106-练习例题
  6. 百度开平台BAE搭建网站
  7. 音视频技术开发周刊 80期
  8. 遵义医科大学计算机专业好吗,遵义医科大学专业评价
  9. python标准库之smtplib,poplib,imaplib,smptd
  10. 熟练掌握git撤销命令
  11. DPDK在Linux用户级执行环境中执行EAL
  12. 2.写给设计师看的HTMLCSS入门指导
  13. 金融matlab创建3x3数组,Matlatb金融时间序列工具箱——建立金融时间序列
  14. Selenium-WebDriverApi介绍
  15. matlab绘制有夹角的2个平面,matlab求两向量夹角
  16. 老毛子出现app页面解决办法
  17. char ch= 中 什么意思java_c语言中char ch什么意思
  18. 红色警戒常用的快捷键
  19. c语言 输出方阵。输入一个正整数 n(1≤n≤10),打印一个n行n列的方阵,输出如下方阵
  20. 王者服务器维护8月四日,王者荣耀体验服弈星重做上线 8月4日停机更新

热门文章

  1. 技术指南 | 使用 mPaaS 配置 SM2 国密加密指南
  2. 记服务器系统安装中不识别固态硬盘问题
  3. excel表格打开是乱码要如何解决?
  4. java爬虫框架哪个好_Java爬虫(二)Java爬虫框架
  5. java 水仙花数问题(java50道经典编程题)
  6. oozie mysql5.6_oozie服务安装及使用
  7. 【计算机组成原理习题(2023王道考研 )】-- 第一章 计算机系统概述(选择+简答)
  8. 最好用的十六进制编辑器010 Editor
  9. 中控考勤软件sqlserver数据库建立办法
  10. Java使用for循环打印菱形