对于某些 Windows 字体,存在显示问题,其中连字字距调整似乎翻转并使两个字母变粗。这是在 Firefox 中使用 Helvetica 的电子邮件截图:
正如你所看到的,这似乎是关于交叉字符(t
和f
)相互连接的方式以及像i
.
我已经有这个问题很长时间了(在多个系统上),想知道是否有人见过类似的问题出现并找到了解决它们的方法。
注意:我认为这只会影响 Firefox。Chrome 和 LibreOffice 都很好。
Cal*_*imo 30
aldeby提供了另一种适用于所有应用程序(包括 Libre Office)的解决方案:
编辑或创建文件~/.fonts.conf
并将此代码粘贴到其中:
<match target="font" >
<edit name="embeddedbitmap" mode="assign">
<bool>false</bool>
</edit>
</match>
Run Code Online (Sandbox Code Playgroud)
确保保留 XML 结构。
注销并再次登录,Calibri(可能还有其他一些字体)看起来会好得多(实际上甚至比这里给出的其他答案还要好,因为丑陋的位图替换被完全禁用)。
Ada*_*atz 11
禁用连字(参见Calimo 的fonts.conf
回答)是错误的方向!它可能会删除Calibri 等字体中那些过度锯齿的“粗体”连字,但它也会删除一些排版的美感。这与缩小字体非常相似,直到您无法分辨出差异为止。
我通过删除 Calibri 字体、安装“与 Calibri公制兼容”的Carlito来为我的系统解决了这个问题,并且打包了“一个到 fontconfig (local.conf) 的映射条目”,并刷新了我的字体缓存:
$ rm ~/.fonts/microsoft/CALIBRI*
$ sudo apt install fonts-crosextra-carlito
$ fc-cache
Run Code Online (Sandbox Code Playgroud)
然后,您可以验证 Carlito 是否代表 Calibri:
$ fc-match Calibri
Carlito-Regular.ttf: "Carlito" "Regular"
Run Code Online (Sandbox Code Playgroud)
(如果这不起作用,您可能需要类似的东西,sudo rm /usr/share/fonts/truetype/msttcorefonts/calibri*
尽管案例和确切位置可能有所不同。)
在删除微软的 Calibri 之前,我在 LibreOffice 中保存了一个使用 Calibri 的测试文档并截取了屏幕截图。这样做之后,我退出了 LibreOffice,再次打开它,然后加载了我的测试文档。“Calibri”字体名称为斜体,表示它已被替换。我截取了这个替换版本的屏幕截图并将其粘贴在原始版本下方:
上面的文字是一对13pt Calibri的屏幕截图,与fontconfig匹配的Carlito上方的微软Calibri。正如 LibreOffice 5.0.5.1 所呈现的那样,没有粗体、没有格式、启用“对字距调整”。
Carlito 与 Calibri 非常接近,连字渲染正确,而且整体更漂亮。
您可以使用Caladea for Cambria with做同样的事情fonts-crosextra-caladea
,您可以使用 Google 的Croscore 字体Arimo、Tinos 和 Cousine for Arial、Times New Roman和Courier New with fonts-croscore
。在 Debian 的替代 Calibri 和 Cambria 字体维基了解更多信息。
此问题询问Helvetica字体,这是 Apple 首选的sans-serif字体。在改为 Calibri 之前,微软更喜欢Arial。默认的 Linux 映射因发行版而异,但通常是Nimbus Sans L或Liberation Sans,例如
$ fc-match Helvetica
n019003l.pfb: "Nimbus Sans L" "Regular"
Run Code Online (Sandbox Code Playgroud)
如果你运行它并得到 Arial,这就是上述连字问题的一个很好的理由——Arial 不是一个很好的字体。
Helvetica 有很多围绕它的文化,我找不到一种与 Helvetica 完全兼容的字体。Arial(以及与 Arial公制兼容的字体,包括 Liberation Sans 及其分支Arimo,具有相同的字符宽度(这意味着它们“主要”与公制兼容;文本的换行方式与 Helvetica 相同)。在免费字体中, Liberation Sans 和 Nimbus Sans似乎有着最相似的审美。
还有IBM Plex,这是一种背后有大笔资金的新字体[ 1 ][ 2 ]。Plex 旨在替换 IBM 的所有材料中的 Helvetica(它还具有压缩的 sans 以及 serif 和 monospace 字体),尽管它与 Helvetica 或其他字体完全不兼容。Font Squirrel 有一个很好的 Plex 字体示例视图。
要将 Helvetica 手动别名为另一种字体(因此不需要删除 Calibri 和/或 Arial,但在这种情况下,您也应该手动为它们设置别名),请编辑您的~/.config/fontconfig/fonts.conf
文件(对于较旧的系统,即~/.fonts.conf
. 为避免混淆,我将后者进行符号链接到前者),如本答案中所述,<alias>
为 Helvetica添加一个新部分(此部分使用 Arimo。确保您已安装它):
$ rm ~/.fonts/microsoft/CALIBRI*
$ sudo apt install fonts-crosextra-carlito
$ fc-cache
Run Code Online (Sandbox Code Playgroud)
lgarzo的答案将工作只能在具有上的文字是“noligs”类网站(大部分网站都没有)。
要在所有网站上全局禁用连字,请将以下行添加到您的userChrome.css
:
* { -moz-font-feature-settings: "liga" 0; }
Run Code Online (Sandbox Code Playgroud)
最简单的方法是使用Stylish扩展创建新样式。