中英文 1:2 等宽字体

2020-05-08 16:08:22 +08:00
 atuocn

折腾了半天字体。

起因是在 linux 下用 ReText 写 rst 格式文档,写标题的时候报错文字下的标记长度不够,明明是对对齐的。原因是中英文字体不是严格 1:2 等宽,1 个中文字宽度不等于 2 个英文字宽度,造成错觉。换了几个等宽字体也不行。

搜索折腾了一番。总结如下:

  1. 最简单实用的办法是安装一个为中文优化过的等宽英文字体,设置字体时就选这个等宽英文字体。这种字体不多,例如:ubuntu mono 。据说还有 mplus fonts,应该是含有中日文的,没试过。

  2. gnome terminal 和 vim,gvim 有特殊处理,不用安装特殊字体,自动中英文 1:2 等宽。

  3. Windos 7 下,我记得有款达人自制的雅黑 Consolas 混合字体,挺棒的。中英文看起来都比较舒服。至于是不是中英文 1:2 等宽,有段时间没用 Windows 7,不太记得了。

  4. Windows 10 下,看程序心情。

    • 正常程序 notepad, notepad++, 选择普通的等宽英文字体,自动中英文 1:2 等宽。

    • 自制雅黑 Consolas 混合字体,不再中英文 1:2 等宽。

    • 较高版本的 Visual Studio 2012, 2017 、SQL Server Management Studio 2017, 字体不会自动等宽。进入抽风模式

      • 原本包含 1:2 等宽中英文的字体,如“新宋体”,能保持中英文 1:2 等宽
      • ubuntu mono,设置 12 号字体,能中英文 1:2 等宽
      • 其他字体,抽风
    • Visual Studio 2008, 抽风模式

  5. 其他:

    • Linux 下可能会找到一些修改 fontconfig 的办法。别折腾,弄来弄去不如安装字体实用。人家字体设计就没有为中英文比例设计。再说强行等宽也不见的好看。

    • Windows 下可能会有些 FontLink 方案,修改系统注册表的 SystemLink 。也别折腾,弄来弄去,重启注销 N 次也调不出个好结果。

      另:FontLink 时,有个缩放因子,比较难以调整把握,很难找到这个缩放因子的说明,附注一段找到的说明1, Mark 一下。

    如前所述,我找不到任何关于这两个缩放因子的详细资料,唯一能找到的相关信息就是开源软件 gdipp 的一个源程序文件。在这个文件里,Fontlink 里定义的两个缩放因子被用来以如下方式计算另外一个缩放参数:
    
    new_info.scaling = (factor1 / 128.0) * (96.0 / factor2);
    

忽然惊喜的发现,自己原来写在 oschina 上的文章,找到入口了。自从它要求绑定手机后,因不想提供手机号,我再也没找到原来的文章。既然失而复得,转几个还有点价值的文章到这里,以免再次丢失。

原文写于 2018/06/20 11:32

3371 次点击
所在节点    分享发现
2 条回复
alan0liang
2020-05-08 22:32:50 +08:00
Sarasa Gothic 它不香吗
atuocn
2020-05-09 08:17:26 +08:00
原来的文章写于近 2 年前了。更纱黑体当时应该看过,为什么没用不记得原因了。有机会再试试。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/669677

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX