2017-05-04 116 views
2

我正在寫一個tcl/tk應用程序,在那裏我想使用字體真棒圖標。檢查字形是否呈現「正確」

原則上,這很好地工作:只顯示與正確的Unicode字符的一些字符串/標籤,如果安裝了正確的字體,它會呈現)現在

,我的開發機器上,我有字體真棒作爲普通機器安裝。 我不能指望在部署機器上。

所以我想知道,系統是否可以渲染給定的字符,或者它是否只使用字形未找到的佔位符。在後一種情況下,我只想回退到一些,不太好看...表示

(我不希望我的用戶必須回答一個問題像「此字符串看起來是正確的?」)

例如符號「」 ()在我的應用程序中顯示爲stackoverflow-圖標。在我的瀏覽器中,它呈現爲字形未找到

那麼,有沒有一種方法來找出編程方式,如果任何(使用)系統字體提供給定字符的字形?

回答

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 

(字符呈現爲glyph-在該系統上沒有找到該字體的符號)。