IntelliJでMonaco.ttfを使用したかった。残念ながら、表示されません。
また、awtから取得したフォントのリストにMonacoフォントが表示されないことに気付きました。
Java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames()
Monaco.ttfを/ usr/share/fonts/truetype/osxにインストールしました
また、/usr/lib/jvm/Java-6-Sun/jre/lib/fonts
にコピーして、/usr/lib/jvm/Java-6-Sun/jre/lib/fonts/fonts.dir
ファイルを手動で更新しようとしました。
試行ごとにjvmを再起動しましたが、Sun jdkからフォントが表示されません。
他のすべてのアプリケーションはそのフォントを参照します(JavaにあるがSWTライブラリを使用するEclipseも)
Jdkに追加のフォントを表示させる方法を知っている人はいますか?
問題はMonacoフォント自体にあり、適切なメタデータを持たないようで、ハッキングポートであるため、Javaはそれを認識しません。おそらく、このTTFファイルの他のバージョンを見つけることができますが、これはより適切に機能するか、FontForgeを使用して自分で修正しようとします。
私のコメントも参照 IntelliJ IDEA課題トラッカー。
Fonts.dirファイルを更新するには、mkfontscale
およびmkfontdir
ユーティリティをこの順序で実行する必要があります。
ターミナルから/usr/lib/jvm/Java-6-Sun/jre/lib/fonts
ディレクトリを入力して実行します
Sudo mkfontscale
Sudo mkfontdir
mkfontscale
は、mkfontdir
がfonts.dir
の作成に使用できるfonts.scaleファイルを作成します。
フォントキャッシュを更新する
Sudo fc-cache -f -v
呼び出してみましたか:
Java.awt.GraphicsEnvironment.getAllFonts()
Javaフォントシステムは少し混乱しているようです。
http://www.sabi.co.uk/Notes/linuxFonts.html#fontSwJava
フォントの検索に関する問題を回避する必要がある場合があります。しかし、Eclipseがフォントを認識できる場合、アプリケーションが認識できない理由はありません。 Eclipseコードを見て、どのように実行されたかを確認することもできます。
http://Java.Sun.com/products/Java-media/2D/reference/faqs/#Font_and_Text_questions