top page > L'Internationale > here

localization (様々な言語環境を使う)


ここは現在作成中です.

概要

ここでは外国語環境の設定の実例を示します.

対象は次のようなものです.

  1. 独仏露語のように,文字をキーボードから直接入力するような言語.
    (ここで言う直接とは,日本語のローマ字入力やかな漢字変換と異なり,変換を要しないこと.)
  2. PC は PC-98 および AT 互換機です.
    キーボードは PC-98 および AT 互換機用 us101, jp106 です.
  3. 入力は consoleX Window System (XFree86 4 系, X.Org 6 系, 7 系) においてです.

FreeBSD は,多くの言語環境にて使えるよう開発されています. ここで言う「環境」とは,文字の表示と入力です. ところが,日本において英語,日本語以外の環境で使うには,特にキーボードに関連した問題から敷居が高いように思えます. すなわち,

よって,us101 K/B を使うことができるならば,それが一番面倒でない選択肢と言えます.

しかし,それができない,またはやりたくない状況もあると思います. 例えば,

そこで,外国語の入力環境の設定法や自作のやり方を示すことにします.

なお,資料として FreeBSD におけるキーボード を作成いたしましたので,そちらもご覧下さい.


目次

1. PC-98
2. jp106
3. us101
3.1 ロシア語
3.2 ドイツ語,フランス語

1. PC-98

PC-98 に対しては,console では英語環境のみ,X Window System では「英語 + 日本語」環境のみしか用意されていません.

PC-98 の console では,私の理解する限りでは AT 互換機のようにフォントを変更することができないので,様々な言語を扱うことができません. その状態でキーボードによる入力環境だけを整備しても仕方ないので,これ以上は触れません.

X Window System に対しては,他の言語に対応するための環境を作成しました. 用意してあるのは「英語のみ」「英語 + 日本語」「英語 + ロシア語」だけです. また「ドイツ語」「フランス語」は試用中のものを添付しました. 従来のように英語と日本語とが一体になった状態から 1 言語 1 ファイルに構成を変えたこと,PC-98 専用にして単純化したことから,これら以外の環境を作る場合にも,ここを出発点にした方が合理的だと考えます.

詳しくは xkb98.tgz を download して,先ずは添付の READMECONFIG の注釈を除く部分をお読み下さい.
(2009.8.17 : xkb98.tgz を X.Org 7 系にも対応できるよう,修正しました.)

また,以下の 3 節の us101 についての解説もお読み下さい.

2. jp106

jp106 K/B に対しても,console では英語環境のみ,X Window System では「英語 + 日本語」環境のみしか用意されていません.

こちらはもう少しお待ち下さい. うちでは,上述の PC-98 専用の環境に相当する改良版が動作する状態にあります. (jp106 専用です.) まだ配布できる状態にはありません.

3. us101

3.1  ロシア語

us101 K/B に対しては,ロシア語の環境は console でも X Window System でも標準で用意されています.

文字コードとしては,koi8-riso8859-5 があります. (それ以外にも多数ありますが,触れません.) ports/russiankoi8-r 専用のものが多いようです.

この環境は,以下のような要領で設定し,利用します.

1. ~/login_conf にて環境変数 LANG を規定する.

me: :charset=KOI8-R:     :lang=ru_RU.KOI8-R:
#me: :charset=iso-8859-1: :lang=ru_RU.ISO8859-5:

2. /etc/rc.conf にて console のフォントとキーマップを規定する.[1]

font8x16="koi8-r-8x16"
keymap="ru.koi8-r"
#font8x16="iso05-8x16"
#keymap="ru.iso5"

3. XF86Config または xorg.conf にて X Window System の言語を規定する.[2]

Section "InputDevice"
   Identifier "Keyboard1"
   Driver     "keyboard"
   Option     "XkbRules"   "xfree86"  # or "xorg"
   Option     "XkbModel"   "pc104"    # or "pc101"
   Option     "XkbLayout"  "ru"
   Option     "XkbOptions" "grp:caps_toggle"
EndSection

使わないキーがあれば,それに割り当てる

また,rules/xfree86 または rules/xorg! $nonlatin 以下の三行は行頭の // により comment out されているので,それを修正する.

! $nonlatin = am ar ben bg by dev el ge_la ge_ru guj gur il il_phonetic\
              ir iu kan lo mk mm ml ori ru sr syr syr_phonetic telth\
              tj tml ua

4. 次のようにフォントを指定して xterm を立ち上げる.
  (フォントの指定には,~/.Xresources を利用する方法もあります.)

% xterm -fn -misc-fixed-medium-r-normal--20-200-75-75-c-100-koi8-r &

または,

% xterm -fn -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-5 &

5. K/B の英語とロシア語との切り換えは,次のように行ないます.

  • console では,alock を割り当てられたキー ([CAPS]) により切り換えます.
  • X Window System では,"grp:caps_toggle" のように指定したキー (この場合 [CAPS]) により切り換えます.

なお,console, X Window System 共に本来の [CAPS] の機能は,[SHIFT] + [CAPS] によって実現できます.

[1] iso05-u-8x16.fnt には Bug があり,小文字の 'q' が space のように空白になります. この件は,とうの昔に patch を送ったのに,commit されません. いかに iso8859-5 が使われていないかの証左だと思います.

[2] 「X.Org では grp:caps_toggle は使えない」という情報がありますが,6 系ではなく 7 系でしょう. また,7 系でも既に修復されているかもしれませんから,試してみるのが良いでしょう.
いずれにしても,使っていないキーがあるならば,そのキーを切り換えに活用するようにした方が良いでしょう.

3.2  ドイツ語,フランス語

us101 K/B に対しては,ドイツ語やフランス語の環境は console でも X Window System でも標準で用意されています. 文字コードとしては,両者共通の iso8859-1 とフランス語で合字 oe ("o,e dans l'o") を使う場合の iso8859-15 があります.[1]

この環境は,以下のような要領で設定し,利用します.

1. ~/login_conf にて環境変数 LANG を規定する.

me: :charset=iso-8859-1: :lang=de_DE.ISO8859-1:
#me: :charset=iso-8859-1: :lang=fr_FR.ISO8859-1:
#me: :charset=iso-8859-15: :lang=fr_FR.ISO8859-15:  ← 合字 oe を使う場合

2. /etc/rc.conf にて console のフォントとキーマップを規定する.[2]

font8x16="iso-thin-8x16"      ← ドイツ語,フランス語共通
#font8x16="iso15-thin-8x16"   ← フランス語で合字 oe を使う場合
keymap="german.iso"
#keymap="fr.iso"

3. XF86Config または xorg.conf にて X Window System の言語を規定する.(関連部分のみ示す.)

   Option     "XkbLayout"  "de"

または,

   Option     "XkbLayout"  "fr"
   Option     "XkbVariant" "latin9"   ← 合字 oe を使う場合.そうでなくても好みに応じて.

4. 次のようにフォントを指定して xterm を立ち上げる.
  (フォントの指定には,~/.Xresources を利用する方法もあります.)

% xterm -fn -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-1 &

ここで判断に迷うのは,X Window System にて言語に "us" を含め,

   Option     "XkbLayout"  "us,de"
#  Option     "XkbLayout"  "us,fr"
   Option     "XkbOptions" "grp:caps_toggle"

のようにするか否かです. (これは説明のために書いた設定であり,ちゃんと動くかどうかは試していません.) "de""fr" も,"us" に何かを付加するというだけでなく,いくつかのアルファベットや記号の配置が変えられています.[3] したがって,慣れないと command の入力すら困難になります.
(console の方は,ロシア語のように scancode 128-255 を使って英語環境と切り換えているわけではなく,X Window System にて "de""fr" を単独で設定したのとほぼ同じキー配置です.)

それ以外の可能性として,標準で用意された環境を使う代わりに "us" を基にして group2 で種々のアクセント付き文字を入力できるようにしただけの環境を作った方が使い易いかもしれませんね.

[1] 合字 oe はフランス語のアルファベットにはありませんが,o と e が続く時には必ずこの合字を用います. 大文字 OE にも合字があります. これらは iso8859-15 以外にも UTF-8 にあります.
HTML でも合字 OE, oe は特殊文字として Œ, œ と表わすことができます. (うまく行けば Œ, œ と表示されます.)

[2] 困ったことに,標準で用意されている console 用のキーマップでは,合字 oe を入力することはできません. X Window System を使いましょう. ついでながら,アクセント付きの文字を読むのは目が疲れるので,なるだけ大きなフォントを使いましょう.

[3] 例えば,ドイツ語では [Y][Z] のキーが入れ替わっています. フランス語では [Q], [W], [A], [Z] のキーが入れ替わり,また [M] の位置も異なります. 記号に至っては,相当のものが入れ替わっています. ドイツ,フランスのキーボードは,刻印がちがうのでしょうか? それとも,みんな「心眼」で見ているのでしょうか?
→ フランス帰りの後輩から情報が得られました. 刻印からして違うそうです. ドイツでもそうらしいです.