Je voulais utiliser Monaco.ttf avec IntelliJ. Malheureusement, ça ne se voit pas.
J'ai également remarqué que la police Monaco n'apparaissait pas dans la liste des polices obtenues de awt:
Java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames()
J'ai installé Monaco.ttf dans/usr/share/fonts/truetype/osx
J'ai également essayé de le copier dans /usr/lib/jvm/Java-6-Sun/jre/lib/fonts
et j'ai même essayé de mettre à jour manuellement le fichier /usr/lib/jvm/Java-6-Sun/jre/lib/fonts/fonts.dir
.
J'ai redémarré le fichier jvm à chaque essai, mais les polices ne sont pas visibles à partir du fichier jdk de Sun.
Toutes les autres applications voient cette police (même Eclipse, qui se trouve dans Java mais utilise la bibliothèque SWT)
Est-ce que quelqu'un sait comment faire en sorte que jdk voie des polices supplémentaires?
Le problème vient de la police Monaco elle-même, elle ne semble pas avoir les métadonnées appropriées et est un portage de hacky, donc Java ne la reconnaît pas. Vous pouvez probablement trouver une autre version de ce fichier TTF qui fonctionnera mieux ou essayer de la réparer vous-même avec FontForge.
Voir aussi mon commentaire dans le suivi des problèmes IntelliJ IDEA.
Vous devez exécuter les utilitaires mkfontscale
et mkfontdir
dans cet ordre afin de mettre à jour le fichier fonts.dir.
Entrez le répertoire /usr/lib/jvm/Java-6-Sun/jre/lib/fonts
à partir de votre terminal et exécutez
Sudo mkfontscale
Sudo mkfontdir
mkfontscale
crée le fichier fonts.scale que mkfontdir
peut utiliser pour créer fonts.dir
.
Mettre à jour votre cache de polices
Sudo fc-cache -f -v
Avez-vous essayé d'appeler:
Java.awt.GraphicsEnvironment.getAllFonts()
Il semble que le système de polices Java soit un peu foiré:
http://www.sabi.co.uk/Notes/linuxFonts.html#fontSwJava
Vous devrez peut-être contourner les problèmes liés à la recherche des polices. Mais si Eclipse peut voir la police, il n’ya aucune raison pour que votre application ne le puisse pas. Vous pouvez même choisir de consulter le code Eclipse pour voir comment ils l'ont fait.
http://Java.Sun.com/products/Java-media/2D/reference/faqs/#Font_and_Text_questions