我正在编写一个tcl / tk应用程序,我想使用font-awesome图标。
原则上,这很好用:只显示一些带有正确unicode字符的字符串/标签,如果安装了正确的字体,它将呈现)
现在,在我的开发机器上,我将font-awesome安装为普通机器。 我不能指望在部署机器上。
所以我想知道,系统是否可以渲染给定的角色,或者它是否仅使用 glyph-not-found 占位符。在后一种情况下,我会回到一些不太好的表示......
(我不希望我的用户必须回答“这个字符串看起来是否正确?”这样的问题。)
E.g。符号“”(
)在我的应用程序中显示为stackoverflow-icon。在我的浏览器中,它呈现为 glyph-not-found 。
那么,有没有办法以编程方式找出,如果任何(使用过的)系统字体提供给定字符的字形?
答案 0 :(得分:2)
不幸的是,没有;它完全没有功能。你可以得到的最接近的是获得一个角色的实际字体信息 - 我认为需要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
(该字符使用该字体呈现为此系统上的字形未找到符号。)