我正在编写一个 tcl/tk 应用程序,我想在其中使用很棒的字体图标。
原则上,这很好用:只需显示一些带有正确 unicode 字符的字符串/标签,如果安装了正确的字体,它将呈现)
现在,在我的开发机器上,我已经将 font-awesome 作为普通机器安装了。 我不能指望在部署机器上会出现这种情况。
所以我想知道系统是否可以渲染给定的字符,或者它是否只使用glyph-not-found占位符。在后一种情况下,我只会回退到一些不太好的表示......
(我不希望我的用户必须回答“这个字符串看起来正确吗?”之类的问题)
例如符号“”(
) 在我的应用程序中显示为 stackoverflow 图标。在我的浏览器中,它呈现为未找到字形。
那么,有没有办法以编程方式找出任何(使用的)系统字体是否提供给定字符的字形?
最佳答案
不幸的是,没有;它完全缺少功能。您可以获得的最接近的是获取字符的实际字体信息(我认为需要 8.6)或测量其宽度,但这并没有真正帮助:
% font actual TkFixedFont
-family Monaco -size 11 -weight normal -slant roman -underline 0 -overstrike 0
% font actual TkFixedFont \uf16c
-family Monaco -size 11 -weight normal -slant roman -underline 0 -overstrike 0
% font measure TkFixedFont \uf16c
14
(该字符在该系统上使用该字体呈现为未找到字形的符号。)
关于unicode - 检查字形是否呈现 "correctly",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43787208/