Не все шрифты TTF, видимые от (Sun) JDK

Я хотел использовать Monaco.ttf с IntelliJ. К сожалению, это не обнаруживается.

Я также заметил, что шрифт Монако не появляется в списке шрифтов, полученных от awt:

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 при каждой попытке, но шрифты не видимы от солнца jdk.

Все другие приложения видят, что шрифт (даже затмение, которое находится в Java, но пользуется библиотекой SWT),

Кто-либо знает, как заставить jdk видеть дополнительные шрифты?

6
задан 20 January 2011 в 22:36

4 ответа

Проблема в самом шрифте Монако, он, кажется, не имеет соответствующих метаданных и является хакки-портом, поэтому Java его не распознает. Вероятно, вы можете найти какую-нибудь другую версию этого TTF файла, которая будет работать лучше, или попытаться исправить это самостоятельно, используя FontForge.

См. также мой комментарий в трекере проблем IntelliJ IDEA.

4
ответ дан 20 January 2011 в 22:36

Чтобы обновить файл fonts.dir, необходимо запустить утилиты mkfontscale и mkfontdir в таком порядке.

Введите каталог /usr/lib/jvm/java-6-sun/jre/lib/fonts со своего терминала и запустите

sudo mkfontscale
sudo mkfontdir

mkfontscale, чтобы создать шрифты.масштабировать файл, который mkfontdir может использовать для создания fonts.dir.

2
ответ дан 20 January 2011 в 22:36

Обновите кэш шрифтов

sudo fc-cache -f -v
1
ответ дан 20 January 2011 в 22:36

Попробуйте позвонить:

java.awt.GraphicsEnvironment.getAllFonts()

Похоже, что система шрифтов Java немного запуталась:

http://www.sabi.co.uk/Notes/linuxFonts.html#fontSwJava

Возможно, вам придется поработать над проблемами поиска шрифтов. Но если затмение может видеть шрифт, то нет причин, по которым ваше приложение не может этого сделать. Вы даже можете посмотреть на код эклипса, чтобы увидеть, как они это сделали.

http://java.sun.com/products/java-media/2D/reference/faqs/#Font_and_Text_questions

0
ответ дан 20 January 2011 в 22:36

Другие вопросы по тегам:

Похожие вопросы: