Wal*_*oss 10 fonts gnome-terminal .ttf
我认为Fixedsys字体是编程中最清晰的等宽字体之一。它具有零抗锯齿,垂直线大多为 2 像素宽。在我看来(字面意思)接近当前监视器点距的理想选择。这是一个示例:
经过多年在家中使用 Windows(出于家庭原因)和工作中通过 Windows 上的 Cygwin 访问 Linux 服务器(出于公司政策原因),使用 Fixedsys 作为外壳和 IDE 字体后,我终于决定在家中切换到 Ubuntu。
Eclipse 和 gedit 没有问题,它们接受Fixedsys Excelsior TTF 字体的更正版本,您可以在评论 #16(文件名:FSEX301-L2.ttf)中找到该字体。但是 Gnome 终端只接受等宽字体。
尽管 Fixedsys Excelsior 本质上是等宽的,但它包含较大的字形(主要用于东方语言)和一些连字。由于显然所有字符必须具有相同的宽度才能将字体识别为等宽字体,因此无法在需要等宽字体的所有上下文中选择 Fixedsys Excelsior,包括 gnome-terminal。
那么在只接受等宽字体的上下文中使用 Fixedsys 克隆的最简单/最干净的方法是什么?
这是我找到的解决方案。我已经对它进行了多次彻底的测试,并且我已经在很多地方使用生成的字体超过 2 年了,但请注意:程序的某些部分可能从次优到完全错误。
在你问“为什么不让生成的字体可用”之前,答案是:“因为我不确定我可以这样做”。字体版权是一个复杂的问题。
下载更正的 Fixedsys Excelsior 字体(文件FSEX301-L2.ttf
,注释 #16)
安装FontForge(例如,从 Ubuntu 软件中心)
右键单击该FSEX301-L2.ttf
文件并使用 FontForge 打开它。在出现的Load Bitmap Fonts窗口中,单击No。
单击File → Execute Script...,然后将以下内容复制并粘贴到出现的窗口中:
SelectAll()
foreach
if (GlyphInfo("Width") != 80)
DetachAndRemoveGlyphs()
else
b = GlyphInfo("BBox")
if (b[0] < 0 || b[1] < -30 || b[2] > 80 || b[3] > 130)
DetachAndRemoveGlyphs()
endif
endif
endloop
SelectNone()
Run Code Online (Sandbox Code Playgroud)
然后选择FF并点击OK(这需要一段时间,你必须等到Execute Script窗口消失)
单击Element → Font Info...在PS Names 中更改Fontname、Family Name和Name for Humans,例如,通过附加Mono
(仅在第二个和第三个字符串中允许空格)。
在同一个字体信息窗口中,选择OS/2。
在杂项。选项卡将PFM 系列更改为Monospace。
在 Metrics 选项卡中,将 Win Descent Offset 和 HHead Descent Offset 都设置为 0 (*)。
在Panose选项卡中,将Proportion更改为Monospaced。
在同一个字体信息窗口中,选择Lookups。
在GSUB选项卡和GPOS选项卡中,依次选择每一行并单击删除。
在同一个Font Information窗口中,单击OK,然后在Change UniqueID? 出现的窗口单击更改。
如果需要,您可以调整 Fixedsys 的一个或多个有问题的功能。例如,零字符向右移动一个像素。要改变它回到中心,双击它,然后单击度量→设置LBearing ......,设定LBearing到10
,然后单击确定。您还可以更改字符的形状,但始终保持控制点为 10 的倍数,宽度为 80。
单击Element → Bitmap Strikes Available...,然后在出现的窗口中将Pixel Sizes设置为16
并单击OK。
单击File → Generate Fonts...,根据需要选择不同的目录和/或不同的文件名,确保输出格式为TrueType,然后单击Save。在出现的非标准 Em-Size窗口中,单击Yes。在接下来出现的错误检测窗口中单击保存(别担心)。
退出 FontForge(文件 → 退出)。在出现的Font changed窗口中单击Don't Save。
将生成的文件移动到.fonts
您的主目录的子目录(如果它不存在则创建它)。
打开 Gnome 终端。单击编辑 → 配置文件...在配置文件中(我建议您创建一个新的)将字体更改为Fixedsys Excelsior 3.01-L2 Mono
(或任何您称之为 Fixedsys Excelsior 的单声道版本),大小12
(这是唯一的“真实”Fixedsys 大小) . 如果需要,您还可以禁用粗体文本。我建议白底黑字,但这是一个品味问题。
这种字体的粗体变体相当于重复向右移动一个像素的字符(这不同于FSEX301-L2.ttf
,它看起来是平滑的)。它不是很清晰 - 但你真的需要粗体吗?我不。问题仅在于那些无法禁用粗体的上下文(甚至不是,例如,通过编辑语法突出显示),特别是在字符间距也增加一个像素,破坏对齐的情况下(在 gnome 中不是这种情况) -终端)。我还没有找到解决这最后一个麻烦的方法。欢迎提出建议。
(*):自 FontForge 于 2012-07-31 发布以来不需要(在 14.04 LTS - Trusty Tahr)
归档时间: |
|
查看次数: |
7516 次 |
最近记录: |