Skip to content

Latest commit

 

History

History
40 lines (25 loc) · 2.02 KB

README-CN.md

File metadata and controls

40 lines (25 loc) · 2.02 KB

monoback

各位有没有遇到过发现了一款心仪的编程字体,但是它和常用中文字体的字符宽度比不是恰好 1:2,不得不忍痛放弃它或者放弃中英文对齐的情况呢?在许多编辑器已经良好支持字体 fallback 的现在,为想用的等宽字体生成一份中文 fallback 字体不失为一种简单灵活的解决方案。

相较于成品整合型字体,这种方案:

  • 可以自由选择使用的字体。
  • 主字体的全部特性一定能被完整保留,并且可以随时更新版本。
  • 不需要相关字体“再发行”级别的授权许可。

但是:

  • 需要使用环境支持字体 fallback。
  • 只适配了字符宽度,中英文整体视觉效果与人工精调相比存在差距。

另外,英文字体较为美观的宽高比大概在 6:5 左右,而汉字通常是 1:1 的正方形,要让它们严格对齐有一方做出取舍不可避免(或者两方各取舍一点),本方案是一个只牺牲中文部分观感(字间距偏大)的方案,适合用于程序代码这种大段英文夹杂零星中文的场景,不太适合中英文混排为主的场景。当然你也可以选择 fallback 到比较扁的中文字体。 总之,这并非一个能够提供完美观感的解决方案,但是它可以让你在使用任意编程字体的同时保持中英文对齐。

安装

从 PyPI 安装(需要 Python 3.7+):

pip install monoback

或者从发布页面下载独立可执行版本。(仅限 Windows)

用法

monoback <等宽字体文件> <fallback字体文件> [<输出文件>]

然后安装生成的字体并在你的编辑器设置里指定它为 fallback 字体,例如:

  • 在 VSCode 中,设置 Editor: Font Family 为字符串 '主等宽字体名', '生成的字体名'
  • 在 JetBrains 产品中, 设置 编辑器 > 字体 > 版式设置 > 回滚字体 为生成的字体。

License

monoback is licensed under the MIT license.