关于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
-
InconsolataGoogle出品。中英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。旧字(古典)体汉字字形,仅用于需要使用旧字形的场景 |
例如中国大陆、中国香港、日本的 冷 字写法都不一样。