與中文對齊的英文等寬字體
原始文檔:https://www.yuque.com/lart/blog/wbhfef
前言
等寬字體是編程中常會用到的一些字體, 基本的形式就是所有符號的寬度都是一樣的.
但由於大多數等寬字體設計時並未考慮對中文字符的兼容, 所以我們在使用時會面對這樣一個問題, 就是中文和英文字體對不齊.
下面展示了我在網站https://www.programmingfonts.org/中尋找合適的字體時的一個例子(這里選擇的英文字體是非常常見的一個等寬字體 [Source Code Pro](https://www.programmingfonts.org/#source-code-pro)
):
可以看到, 上面的豎線是對不齊的.
而我們的目的是想找一款字體, 在保證字符 o0O8iIlLg9q
這些明顯可區分外, 還可以保證兩個英文字符的寬度等於一個中文字符的寬度.
當然, 對於本文而言, 更重要的是后者, 所以我在https://www.programmingfonts.org/測試了其提供的各款字體, 最終找到了如下幾款至少可以保證對齊的字體.
對應鏈接中的左欄提供了字體下載的鏈接.
寫完這篇文章后忽然發現, 對於 z2
之間的對比缺少了大寫字母 Z
. 但是后面的截圖太麻煩了, 大家感興趣的可以拿稍微調整后的這兩段話來自行測試:
啊|啊|啊啊啊|啊|啊|啊啊啊|啊|啊|啊啊啊|啊|啊|啊啊啊|啊|啊|啊啊啊|啊||||
(q9gp?){GCu}<iIL1tT7>ck'b6'r[o0O]`nh`"uvw"|s5e|zZ2|8B3|,.\/|=;:|*|~-_+|
字體展示
https://www.programmingfonts.org/#agave
https://www.programmingfonts.org/#binchotan-sharp
https://www.programmingfonts.org/#bront-ubuntu
https://www.programmingfonts.org/#cozette
https://www.programmingfonts.org/#d2coding
https://www.programmingfonts.org/#fairfax
https://www.programmingfonts.org/#fairfax-hd
https://www.programmingfonts.org/#fairfax-serif
https://www.programmingfonts.org/#fixedsys-ligatures
https://www.programmingfonts.org/#unifont
https://www.programmingfonts.org/#inconsolata
https://www.programmingfonts.org/#iosevka
這個字體的作者有一款專門添加了對中文支持的字體, 即更紗黑體, 喜歡的可以試試.
https://www.programmingfonts.org/#mplus
https://www.programmingfonts.org/#monofur
https://www.programmingfonts.org/#nanum-gothic-coding
https://www.programmingfonts.org/#terminus
https://www.programmingfonts.org/#ubuntu
Ubuntu 上最常見的 Ubuntu Mono 也是很不錯的.