2010-06-14 2 views
2

Я пишу небольшое приложение в качелях. Я использую Ratpoison как мой оконный менеджер (с wmname LG3D) и Netbeans как IDE. Мои шрифты приложений при запуске из KDE или непосредственно из Netbeans выглядят нормально. Начав с ratpoison они выглядят следующим образом:Уродливые качели шрифты под ratpoison

Screenshot http://img195.imageshack.us/img195/8079/swingfontsratpoison.png Нажмите для полного размера

+0

Ссылка добавлена. См. Также http://java.sun.com/javase/6/docs/technotes/guides/intl/fontconfig.html – trashgod

ответ

0

KDE, вероятно, добавляя больше шрифтов в систему при запуске.

Выполнить это на KDE и в ratpoison:

fc-list -v | grep "file:\|fullname:\|^$" 

и сравнить список шрифтов, чтобы увидеть, чего не хватает.

Если какой-либо каталог отсутствует, добавьте его в /etc/fonts/fonts.conf, в новую запись.

Если просто отсутствуют некоторые шрифты, вы можете скопировать затем в ~/.fonts (при условии, что у вас есть этот реж конфигурирует в fonts.conf)

если все шрифты одинаковы, попробуйте переместить все конфиги в /etc/fonts/conf.d во временный каталог и запустить

fc-cache -f 

и тест.

Если выглядит лучше, начните добавлять обратно еще одну конфигурацию, запустите fc-cache -f еще раз, снова запустите приложение java и проверьте.

Повторите попытку, пока не найдете конфигурацию, которая разбивает java-шрифты. В конце вы должны иметь все конфиги минус тот, который разбивает java.

Обычно его некоторая конфигурация, которая задает шрифт как предпочтительный, что java будет использовать вслепую более качественные шрифты.

0

На самом деле вы можете использовать любой системный шрифт в Swing.

Легко, просто добавив одно предложение: yourComponent.setFont (новый шрифт («Tahoma», Font.BOLD | Font.ITALIC, 16));

Или вы можете изменить общие настройки: UIManager.put ("label.font", новый шрифт ("Tahoma", Font.BOLD, 16));

«ключи» метода пут обычно строки, указывающие на то, что вы хотите изменить, как: label.font, button.font, label.color, textfield.font и т.д. Все в малых случаях.

И не забудьте импортировать java.awt.font И/ИЛИ javax.swing.UIManager в начале!