Java: Русские буквы и не только…
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
?урации:
Mandrake Linux 7.1
XFree86 3.3.6
IBM Java 1.3.0 (релизная)
Проблема:
IBM Java 1.3 не дает вводить русские буквы (видны как крокозябры) при том что на лейблах и в менюхах их видно.
Причина:
использование XIM ( -> xkb) в AWT. (это не есть плохо само по себе, просто с такими штуками нужно обращаться осторожно + некоторые прилады xkb не любят).
Решение:
Настроить xkb (и локаль (xkb без локали НЕ РАБОТАЕТ))
Процедура:
выставляется локаль (где-нибудь типа в /etc/profile или в ~/.bash_profile)
export LANG=ru_RU.KOI8-R
export LC_ALL=ru_RU.KOI8-R
правится (если это еще не сделано) /etc/X11/XF86Config. В секции Keyboard должно быть примерно следующее:
XkbKeycodes "xfree86"
XkbTypes "default"
XkbCompat "default"
XkbSymbols "ru"
XkbGeometry "pc"
XkbRules "xfree86"
XkbModel "pc101"
XkbLayout "ru"
XkbOptions "grp:shift_toggle" # переключение 2-мя шифтами
#XkbOptions "grp:caps_toggle" # переключение caps-lockом
примечание: такая настройка xkb не совместима с xrus (и ему подобными типа kikbd) а посему с ними придется распрощаться.
перезапускаются X-ы. Нужно проверить чтобы все работало (типа русские буковки в терминале и приложениях)
$JAVA_HOME/jre/lib">font.properties.ru -> $JAVA_HOME/jre/lib
$JAVA_HOME/jre/lib/fonts">fonts.dir -> $JAVA_HOME/jre/lib/fonts
cd $JAVA_HOME/jre/lib/fonts; rm fonts.scale; ln -s fonts.dir fonts.scale
Теперь русские буквы должны вводиться и выводиться в свинге без проблем.
Как Вы можете заметить, в описании приводились ссылки на различные файлы font.properties.ru для Linux. Отличаются они тем, какие шрифты будут использованы по умолчанию в AWT и Swing. Соответственно Вам нужно выбрать один и пользоваться им.
Список литературы
Для подготовки данной работы были использованы материалы с сайта