我安装了图标字体https://materialdesignicons.com在我的 Antergos 安装上,但它似乎没有渲染。运行fc-list
它会在已安装字体的列表中显示它。我甚至可以使用gucharmap
和查看字形。但尝试显示它们以进行复制时,什么都没有显示或显示奇怪的字符,如下所示:可能出了什么问题?
答案1
我再次阅读了你的问题:对于字体图标的工作方式似乎存在误解。
那么,他们如何不是有用吗?只需复制/粘贴即可。
如何做它们有用吗?这是一种特殊的字体,没有常规字符字形。因此,当您输入时A,您实际上可能会得到一个 Microsoft Access 图标或其他东西。
让我们以 Font Awesome 为例。它是为在网络上使用而制作的,并附带 CSS 样式。例如,当您使用亚马逊图标时,将使用以下 CSS 类:
.fa-amazon::before {
content: "\f270";
}
因此它使用代码点 0xF270 处的字符。当您尝试在其他字体中查看此字符时,您很可能看不到任何内容或看不到占位符:
根据 unicode-table.com这个代码点位于所谓的私有使用区域。那里没有标准化的字符。
只有当用于显示该字符的字体是 Font Awesome 时,您才会看到亚马逊图标。
所有这些也适用于您拥有的字体。“要复制的文本”字段不是使用图标字体来显示字符,这样你就可以绝不在那里看不到所选的图标。相反,您会看到看似“垃圾文本”的内容。
以下是以太网图标的 CSS 类:
.mdi-ethernet:before {
content: "\F200";
}
如何在其他地方使用该字体?您可以打开 LibreOffice Writer 或其他程序,然后将“垃圾文本”粘贴到那里。现在您需要选择粘贴的文本并将其字体更改为图标字体,该字体应该像任何其他字体一样出现在字体选择中。只有这样,您才会看到所需的图标。
答案2
问题在于字体Adobe 空白已安装在我的系统上(不知道为什么)。来自 Adobe 本身:
Adobe Blank 是一种特殊用途的 OpenType 字体,旨在使用无间距和无标记字形呈现所有 Unicode 代码点。[...] 它有以下两个用途:
- 调用此字体作为一种临时措施,可防止在预期字体呈现之前启动操作系统或应用程序级字体回退。
- 与上述内容相关,使用字体可以让人们检测网络字体的实际加载时间,这可以说是一种克服 CSS 限制的技巧。
禁用此字体后,一切正常。也许这不是最好的解决方案,但这是我目前能想到的最好的解决方案。