| |
Copyright © 2002, 2003 The FreeBSD Documentation Project
$FreeBSD: doc/en_US.ISO8859-1/articles/euro/article.sgml,v 1.7
2003/02/17 22:52:09 blackend Exp $
FreeBSD is a registered trademark of Wind River Systems, Inc. This is expected to change soon.
Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this document, and the FreeBSD Project was aware of the trademark claim, the designations have been followed by the ``™'' or the ``®'' symbol.
В этом документе будет сделана попытка помочь вам начать работу с новым символом Euro на вашей новой клавиатуре, которую вы купили в начале 2002 года для перехода на новую общую валюту. Сначала мы сконцентрируемся на более важных вопросах, таких, как правильное отображение символа на консоли. Последующие разделы посвящены настройке конкретных программ типа X11.
Много полезной информации было получено от Oliver Fromme, Tom Rhodes и многих других. Спасибо! Без вас этой статьи бы не было!
Если вы уже чувствуете себя уверенно при работе с локализацией, как она описана во Руководстве по FreeBSD, то вас могут заинтересовать только следующие факты, которые помогут вам быстро вникнуть в суть:
Это несколько модифицированная версия широко используемого набора символов ISO8859-1. В него включен символ Евро. Используется для задания переменных окружения LANG и LC_CTYPE.
Шрифт vidcontrol(1) для консоли
Клавиатурные раскладки, соответствующие вашему языку. Укажите одну из них в качестве значения для параметра keymap из файла rc.conf.
Используется для указания правильного типа символов при вашей локализации.
Параметр настройки XFree86.
Обязательно приведите ваши шрифты для X11 к виду -*-..-*-iso8859-15
В последующих разделах мы будем часто обращаться к термину ISO8859-15. Это стандартное обозначение начиная с FreeBSD 4.5. В более старых версиях стандартным обозначением было ISO_8859-15 или DIS_8859-15.
Если вы используете более старую версию FreeBSD, обязательно посмотрите в каталоге /usr/share/locale/, какое используется соглашение по наименованию.
В зависимости от разрешения вашей консоли и её размера вам нужно задать одну из таких строк в rc.conf:
font8x16="iso15-8x16.fnt" # из /usr/share/syscons/fonts/* font8x14="iso15-8x14.fnt" font8x8="iso15-8x8.fnt"
Это приведёт к выбору шрифта ISO8859-15, известному также как Latin-9. ISO8859-15 является вариантом ISO8859-1. Вы можете увидеть разницу между ними, посмотрев на символ Евро: его десятичное значение равно 164. В ISO8859-1 вы увидите кружок с четырьмя полосками по углам. Часто он называется ``универсальным символом валюты''. В ISO8859-15 место маленького кружка занимает символ Евро. Если его нет, то шрифты более или менее идентичны.
Warning: На момент написания этого документа единственным пригодным к использованию шрифтом был iso15-8x16.fnt. Другие выдавали ISO8859-1, хотя название говорило о другом.
Note: После задания этого шрифта сообщения некоторых консольных приложений будут выглядеть искажёнными. Это происходит в силу того, что они предполагают использование другого шрифта/набора символов, такого, как ANSI 850. Одним из примеров может выступать sysinstall. Однако в большинстве случаев это не имеет большого значения и сильно не беспокоит.
Следующим шагом вы должны либо перезагрузить вашу систему для того, чтобы изменения вступили в силу, либо (вручную) выполнить те действия, которые происходят при начале работы системы:
% vidcontrol -f iso15-8x16.fnt
Для проверки того, был ли выбран шрифт, выполните такой короткий скрипт на языке awk:
#!/usr/bin/awk -f BEGIN { for(i=160;i<180;i++) printf"%3d %c\n",i,i }
В результате знак Евро должен быть в позиции 164.
Большинство клавиатурных раскладок уже должно быть корректно настроено. Другими словами: Если у вас немецкая клавиатура и ваши клавиши с умляутами работают, то вы можете пропустить этот раздел, так как клавиатура уже отображает какую-то комбинацию клавиш (к примеру: Alt Gr+e) в символ с десятичным значением 164. Если вы сталкиваетесь с проблемами, лучше всего проверить в каталоге /usr/share/syscons/keymaps/*.kbd. Формат файлов раскладок клавиатуры описан в keyboard(4). Утилита kbdcontrol(1) может использоваться для загрузки пользовательских клавиатурных раскладок.
После выбора правильной клавиатурной раскладки она должна быть указана в файле /etc/rc.conf такой строкой:
keymap="german.iso" # or another map
Как указано выше, этот шаг, скорее всего, был уже вами выполнен во время установки (в sysinstall). Если это не так, либо перезагрузитесь, либо загрузите новую клавиатурную раскладку посредством kbdcontrol(1).
Для проверки раскладки клавиатуры, переключитесь на другую консоль и в приглашении на вход в систему вместо имени входа попробуйте набрать клавишу Euro. Если она не работает, отправьте сообщение об ошибке через send-pr(1) либо проверьте, что вы действительно выбрали правильную раскладку клавиатуры.
Note: На этом этапе клавиша Euro ещё не работает в bash или tcsh.
Командные процессоры (bash, tcsh) обращаются к библиотеке readline(3), которая, в свою очередь, использует переменную окружения LC_CTYPE. LC_CTYPE должна быть задана до полного запуска оболочки. К счастью, для этого достаточно добавить строку:
export LC_CTYPE=de_DE.ISO8859-15
в ваш .bash_profile (bash), или:
setenv LC_CTYPE de_DE.ISO8859-15
в ваш файл .login (tcsh). Конечно же, de_DE должно быть заменено на то, что соответствует вашему языку. Затем завершите работу с системой, войдите в систему снова и проверьте, что клавиша Евро работает. Теперь большинство консольных приложений должно воспринимать клавишу Евро. Однако для специализированных программ, таких, как, например, pine, могут потребоваться дополнительные шаги по их настройке.
Note: Альтернативой изменению .login и .bash_profile является задание переменных окружения через механизм login.conf(5). Этот подход имеет преимущество в назначении классов входа в систему определенным пользователям (к примеру, французам, итальянцам, и так далее) в одном месте.
Измените /etc/XF86Config следующим образом:
Option "XkbLayout" "de(euro)"
И снова, замените de на то, что соответствует вашему языку. С этого момента клавиатура должна быть настроена правильно. Как и в разделе о консоли, должен быть выбран правильный шрифт. В случае KDE перейдите к KDE control center -> Personalization -> Country & Language -> Charset и смените его на ISO8859-15. Подобные же шаги должны быть выполнены для kmail и других приложений.
Другим хорошим способом является изменение ваших файлов fonts.alias. Следует отметить, что шрифт fixed должен быть изменен на правильный набор символов: файл автора /usr/X11R6/lib/X11/fonts/misc/fonts.alias выглядит примерно так:
! $Xorg: fonts.alias,v 1.3 2000/08/21 16:42:31 coskrey Exp $ fixed -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-15 variable -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-15 (...)
Как и в разделах о консоли, в специализированных приложениях всё ещё могут остаться настроенными шрифты ISO8859-1 в их базах данных xrdb(1). Одним из видимых примеров является xterm. Как правило, достаточно изменить соответствующий конфигурационный файл из каталога /usr/X11R6/lib/X11/app-defaults, добавив правильный шрифт. Продемонстрируем это на примере xterm.
# cd /usr/X11R6/lib/X11/app-defaults/ # vi XTerm
Добавьте такую строку в начало файла:
*font: -misc-fixed-medium-r-normal-*-*-120-*-*-c-*-iso8859-15
И наконец, перезапустите X и проверьте, что шрифты могут выводиться, выполнив вышеприведённый скрипт на awk. Все основные приложения должны воспринять клавиатурную раскладку и настройки шрифта.
Конечно, автор будет рад получить отклики. Кроме того, по крайней мере дайте мне знать, если ли у вас решения для следующих открытых проблем:
Описание альтернативного способа настройки XFree86: x11/xkeycaps
Настройки в GNOME
Настройки в XFCE
Настройки для (X)Emacs
Описание UTF-8
Описание libiconv как эффективного способа преобразования между ISO8859-15 и UTF-{8,16} внутри приложений
Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
По вопросам связанными с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам связанным с русским переводом документации, пишите <frdp@FreeBSD.org.ua>.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |