与中文对齐的英文等宽字体

与中文对齐的英文等宽字体

原始文档:https://www.yuque.com/lart/blog/wbhfef

前言

等宽字体是编程中常会用到的一些字体, 基本的形式就是所有符号的宽度都是一样的.
但由于大多数等宽字体设计时并未考虑对中文字符的兼容, 所以我们在使用时会面对这样一个问题, 就是中文和英文字体对不齐.
下面展示了我在网站https://www.programmingfonts.org/中寻找合适的字体时的一个例子(这里选择的英文字体是非常常见的一个等宽字体 [Source Code Pro](https://www.programmingfonts.org/#source-code-pro) ):

image.png

可以看到, 上面的竖线是对不齐的.
而我们的目的是想找一款字体, 在保证字符 o0O8iIlLg9q 这些明显可区分外, 还可以保证两个英文字符的宽度等于一个中文字符的宽度.
当然, 对于本文而言, 更重要的是后者, 所以我在https://www.programmingfonts.org/测试了其提供的各款字体, 最终找到了如下几款至少可以保证对齐的字体.
对应链接中的左栏提供了字体下载的链接.
写完这篇文章后忽然发现, 对于 z2 之间的对比缺少了大写字母 Z . 但是后面的截图太麻烦了, 大家感兴趣的可以拿稍微调整后的这两段话来自行测试:

啊|啊|啊啊啊|啊|啊|啊啊啊|啊|啊|啊啊啊|啊|啊|啊啊啊|啊|啊|啊啊啊|啊||||
(q9gp?){GCu}<iIL1tT7>ck'b6'r[o0O]`nh`"uvw"|s5e|zZ2|8B3|,.\/|=;:|*|~-_+|

字体展示

https://www.programmingfonts.org/#agave

image.png

https://www.programmingfonts.org/#binchotan-sharp

image.png

https://www.programmingfonts.org/#bront-ubuntu

image.png

https://www.programmingfonts.org/#cozette

image.png

https://www.programmingfonts.org/#d2coding

image.png

https://www.programmingfonts.org/#fairfax

image.png

https://www.programmingfonts.org/#fairfax-hd

image.png

https://www.programmingfonts.org/#fairfax-serif

image.png

https://www.programmingfonts.org/#fixedsys-ligatures

image.png

https://www.programmingfonts.org/#unifont

image.png

https://www.programmingfonts.org/#inconsolata

image.png

https://www.programmingfonts.org/#iosevka

image.png

这个字体的作者有一款专门添加了对中文支持的字体, 即更纱黑体, 喜欢的可以试试.

https://www.programmingfonts.org/#mplus

image.png

https://www.programmingfonts.org/#monofur

image.png

https://www.programmingfonts.org/#nanum-gothic-coding

image.png

https://www.programmingfonts.org/#terminus

image.png

https://www.programmingfonts.org/#ubuntu

image.png

Ubuntu 上最常见的 Ubuntu Mono 也是很不错的.

posted @ 2021-10-31 17:07  lart  阅读(802)  评论(0编辑  收藏  举报