2017-05-04 19 views
2

私はフォントのすばらしいアイコンを使用したいと思うtcl/tkアプリケーションを作成しています。グリフが "正しく"レンダリングされているかどうか確認してください

原則として

、これはうまく動作します。ただ、正しいユニコード文字でいくつかの文字列/ラベルを表示し、適切なフォントがインストールされている場合、それがレンダリングされます)

さて、私のdevのマシン上で、私はフォント素晴らしいを持っています通常のマシンとしてインストールされます。 デプロイメントマシンではそれを期待できません。

システムが特定の文字をレンダリングできるかどうか、またはグリフが見つからないプレースホルダを使用しているかどうかを確認したいと思います。後者の場合、私はちょうど...いくつかのあまりの素敵な表現に

をフォールバックでしょう(私は、ユーザーが「この文字列が正しい見えますか?」などの質問に答えるためにしたくない)

例えば記号 "" ()が私のアプリケーションにstackoverflow-iconとして表示されます。私のブラウザではグリフが見つからないと表示されます。

したがって、(使用されている)システムフォントのいずれかが特定の文字のグリフを提供するかどうかをプログラムで調べる方法はありますか?

答えて

2

残念ながら、ありません。それは抜け目のない機能です。

% 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-としてレンダリング:あなたが得ることができる最も近い文字の実際のフォント情報を取得することである - またはその幅を測定するために、それは本当に助けにはならない - 私は思う8.6が必要ですそのシステムではそのフォントでは見つかりませんでした)

関連する問題