关于VSCode字体的选择,配置为中文英文宽度比例符合2:1的 Sarasa Mono SC 更纱黑体。
我对字体的需求,首先就要是IiLl10O
区分都很明显;
再有就是我更偏好等宽字体(Monospaced Font
),不能对齐什么的对强迫症太不友好了。
另外我目前还有要写中文注释的项目,所以需要中文英文宽度比例符合2:1的字体,即字体支持中英文对齐。
至于连字符,这一点我觉得有没有都能够接受。
VSCode设置
VSCode 默认字体为 Consolas, 'Courier New', monospace
如果字体名称包含空格,则需用引号'
将字体名称括起。
VSCode 允许同时设置多个字体,不同字体间用 ,
分隔,VSCode 则会按照给出的字体顺序选择。当第一个字体能够在系统上找到,则使用第一个字体;否则判断第二个字体,依次类推。
{
// ... 其他配置
/* 字体相关配置 */
"editor.fontSize": 14, // 字体大小
"editor.fontWeight": 400, // 字重 (400为Regular/normal标准字重
"editor.fontFamily": "'Sarasa Mono SC', Inconsolata",
"terminal.integrated.fontFamily": "'Sarasa Term SC', 'MesloLGS NF'",
"editor.fontLigatures": true, // 启用连字符 (还需字体本身支持连字符
"editor.fontVariations": true, // 启用可变字重
}
能接受的字体
-
Sarasa Gothic
更纱黑体。
Sarasa Mono SC
也是我正在用的字体。字体支持中英文对齐,中英文字体宽度比例符合2:1,也支持连字符。终端里使用
Sarasa Term SC
,同样是等宽字体。 -
JetBrains Mono
英文看起来真的挺舒服的,可惜中文不支持等宽 https://www.jetbrains.com/lp/mono/ https://fonts.google.com/specimen/JetBrains+Mono
-
Inconsolata
Google出品。中英2:1对齐的等宽字体,但不支持连字符 https://fonts.google.com/specimen/Inconsolata
-
Fira Code
是开源等宽字体。https://github.com/tonsky/FiraCode
-
Ubuntu Sans Mono
是中英2:1对齐的等宽字体。Ubuntu的最新版字体,支持Variable可变字重。 https://fonts.google.com/specimen/Ubuntu+Sans+Mono
其他
SF Mono
:来自AppleCascadia Code
:Microsoft出品,等宽字体支持连字符
另外还想吐槽一下,Consolas
的1和l区分真的不是很明显啊。
字体包装
otf
(Open Type)ttf
(True Type)ttc
(True Type Collection)ttc
(Super TTC)variable_ttf
(Variable True Type)woff
(Web Open Font Format) /woff2
(Web Open Font Format 2)
优先选择 Open Type 字体文件格式。
TTC是几个TTF合成的字库。TTC会合并多种TrueType字体同一笔划信息共享以节省字体文件所占空间。
Super TTC将所有字体打包在一起,形成一个单一文件。这是推荐的桌面使用TTC字体的安装方式。
如果TTC遇到软件兼容性问题,就要选择TTF。
Web Open Font Format 主要为网络传输优化,其特点是字体均经过压缩,其大小会比较小。
Variable True Type 是可以无极变换的 True Type 字体。
字体格式
一个字体文件名:
sarasa-moon-sc-regular.ttf
它由多个部分组成,分别是:
- 字体家族名称:sarasa。代表这是更纱黑体家族的字体。
- 字体风格 (Style):fixed。分为 Gothic、UI、Mono、Term、Fixed、Slab。
- 汉字字形 (Orthography):sc 简体中文。根据不同使用中文地区的标准,字形分为 CL、HC、J、K、SC、TC 六种。
-
字重:regular。代表字体的粗细。从细到粗为 extralight、light、regular、semibold、bold 等。
-
连字:Ligature。体现在 ->、<>、!=等等
- 更纱黑体家族的字体风格
风格 | 等宽 | 弯引号 | 破折号 | 连字 | 衬线 |
---|---|---|---|---|---|
Gothic | 否 | 全宽 | 全宽 | 否 | 否 |
UI | 否 | 半宽 | 全宽 | 否 | 否 |
Mono | 是 | 半宽 | 全宽 | 是 | 否 |
Term | 是 | 半宽 | 半宽 | 是 | 否 |
Fixed | 是 | 半宽 | 半宽 | 否 | 否 |
MonoSlab | 是 | 半宽 | 全宽 | 是 | 是 |
- 字重
缩写 | 字重 |
---|---|
regular | 常规字体 |
italic | 斜体(意大利体) |
light | 细体 |
bold | 粗体 |
SemiBold | 半粗字体 |
ExtraBold | 超粗字体 |
- 汉字字形
缩写 | 汉字字形 |
---|---|
SC | Simplified Chinese。简体中文,中国内地、大马、新加坡等地字形 |
TC | Traditional Chinese。繁体中文,台湾地区的字形 |
J | Japaness。日本语,日文新字形的字形 |
K | Korean。朝鲜语(韩语),朝鲜半岛和朝鲜族的字形 |
HC | HongKong Chinese。香港繁体和澳门繁体的字形 |
CL | Classical。旧字(古典)体汉字字形,仅用于需要使用旧字形的场景 |
例如中国大陆、中国香港、日本的 冷
字写法都不一样。