中文显示问题

自从Sublime text 3更新3.1以后,代码里的中文就开始做各种奇怪的「姿势」,比如字元上下「窜动」、某些字元莫名其妙变成繁体、中英字元错位等。

情况如图:

载入超时,点击重试

刚开始我以为是小bug不影响使用,说不定下次更新就修复了,没怎么在意。用了一段时间感觉越来越感觉难受,好不容易等更新一出,赶紧安装,重启了sublime...噗!问题依然没有解决......

如图是我目前使用的版本,该版本没有解决这个问题(注册信息请无视):

然后经过各大网站搜索查阅,最后得出结论:是默认字体Consolas的问题!


Consolas字体

众所周知,Consolas是一款很适合编程码字的字体,属于无衬线等宽字体。

传统上,程序员在Windows环境下,一般都会使用Courier New或其他近似的等宽字体来显示程序代码。通常用来编写程序代码的程序都会让程序员选择用来显示程序代码的字体。由于Courier New的字型比较肥大,使每个画面或页面所能显示的程序代码大为减少。Consolas除了能够在较少的空间显示更多的内容,它的清晰字型亦使程序员能够更快捷的分辨每一个文字。—————————————百度百科

但是,这个字体没有内建中文字元!

如果是中文的话就用fallback了,这时因为某些原因(我还不明白原理),字元就会错位什么的。


解决方法

解决方法简单粗暴,就是换一个含有中文字元的字体......

毕竟看久了Consolas字体,要说换一个也不是那么容易适应,那能不能给Consolas添加中文字元呢?当然是可以的!而且更好的是已经有人做了这一工作了。

我就推荐一款已经做好的字体:

Consolas-with-Yahei

应用方法:

  1. 下载该字体(链接往下找)
  2. 打开Sublime的设置
  3. 在右侧User标签键入:

「font_face": "Consolas-with-Yahei",

应用后效果:

相当完美有没有?

下载链接:Github上的releases版


杂谈

大部分人推荐的是YaHei-Consolas-Hybrid字体:

这个字体是把Consolas的常规字体拿来改的,实际上Consolas是一套字体,包含常规、粗体斜体粗斜体,特别是斜体,是经过单独设计的,比编辑器把常规渲染成的斜体美观。

如图是Consolas字体的四种样式:

然而YaHei-Consolas-Hybrid只有常规,因此在显示斜体/粗体时只是把常规强行渲染成斜体/粗体,就像一阵风把常规吹歪了(雾)。

对于Consolas-with-Yahei,它也是有四种字形的,根据原作者说他把微软雅黑C(hinese)J(apanese)K(orean)字元的regular、bold、italic、bold and italic全部添加进入了Consolas对应字形里面制作成了Consolas-with-Yahei

下面是一个比较

可以很明显地看出这两者的区别

最后欣赏一下应用了Consolas-with-Yahei

以后斜体的魅力??


推荐阅读:
查看原文 >>
相关文章