チェコ語を表示するための方法(Linux)

Linuxでチェコ語文字を表示・入力する方法について紹介します。

[必要なもの] [emacsとmule-ucsをインストールする] [emacsを使う] [チェコ語の入力] [X上の他のアプリケーションでもチェコ語文字の入力をする方法] [emacs/emacs でスペルチェッカーを使う]

「表示するための」と謳いましたが、実際のところ、私が使用したDebian GNU/Linux (3.0(woody)以降〜現在の最新は7.0(wheezy)) では、特に表示させるために設定が必要となったということはありませんでした。つまり、何もしなくても、FirefoxやemacsなどX上の主要なアプリケーションでチェコ語が表示できていました。
そこで、ここでは専ら「書く」方について、述べます。


注:新規インストールしたDebian GNU/Linux 7.x (wheezy) 環境を元に記述しています。その他の環境とは異なる点があるかも知れません。

ここでは、Unicodeでの日本語・チェコ語混在テキストの編集について述べています。
Unicodeを扱えるUNIX系OS用のエディタは幾つかありますが、ここでは emacs を使用したやり方に触れます。

必要なもの

  1. X-window が使える Linux環境
  2. emacs
  3. チェコ語フォント
  4. mule-ucsパッケージ
サーバ用の構成で環境構築していない限り、emacs 関連とmule-ucsパッケージ以外は大概インストールされているでしょう。

emacs と mule-ucsをインストールする

・・・というわけで、まずはLinux に、emacsと、emacs の多言語化用のパッケージ "mule-ucs" をインストールします。但し最近の Debian では、 mule-ucs は emacs に最初から組み込まれているようです。
# aptitude install emacs
でインストール完了です。
emacsを初めてインストールする場合、実際には aptitude により上記以外にも幾つかリストアップされるパッケージがありますが、そのままインストールします。
「aptitude って何?」という人は、まずはこちらへ...

フォントを追加

Debianでは、初期状態で既にチェコ語を表示できるフォントが入っているので、必ずしも必要な作業ではありません。
しかし、指定したフォントサイズによっては、適当なものがなかったりで見難くなってしまう場合には、チェコ語用のフォントの追加します。
ここでは、「Synapticパッケージマネージャー」を起動し、キーワード "czech" で関係するパッケージを検索してインストールしてみます。
「Synapticパッケージマネージャー」は、「アプリケーション」ー「システムツール」ー「システム管理」から起動できます。
Synapticパッケージマネージャー
該当するフォントパッケージは が見つかります。パッケージ名の左側にあるチェックボックスにチェックを入れ、上の「適用」を押すと、パッケージのダウンロードとインストールが実行されます。
他にもチェコ語関連のパッケージがリストに出てくるので、じっくり見てみるといいかもしれません。

emacsを使う

以前はこのページでは XEmacs を使う話をしていたのですが、チェコ語・ドイツ語・日本語混在文書で文字化けが起きるようになった為、私は使用しなくなりました。今ではその代わりに emacs を使用しています。
XEmacs を使わないもう一つの理由として、主要なLinux ディストリビューションに含まれなくなってきたというのも挙げて良いかもしれません。

ファイルを新規作成

まずは、新規にutf-8 のテキストファイルを作ってみます。
emacsを起動したら、まず最初に文字コードを指定します。
C-x [RETURN] f <文字コード>
と入力すると、文字コードを指定できます。ここで Tab キーを押すと、選択可能な候補一覧が下図のように表示されます(更に Tab キーを押すと候補を表示しているウインドウがスクロールします)。
Windowsのエディタでファイル保存をする場合、文字コードには、「BOMなしのUTF-8」を意味する"UTF-8N"というのを指定しますが、emacsではBOMの指定の選択肢はありません。最初から「BOMなしのUTF-8」しかないようです。その代わりに"utf-8-unix", "utf-8-mac", "utf-8-win"というのが選択肢に出てきます。多分これらの違いは、改行コードのことでしょう。作成するのがHTMLファイルで、公開するwebサーバがUNIX系OSならば、ここでは"utf-8-unix" を指定するのが無難でしょう。
emacs23で文字コード指定

これで作成したUnicodeのHTMLは、Firefox, MSIE, Chrome など、一般的なwebブラウザで読み込んでも、正常に表示できます(OperaやSafariでも大丈夫)。



ファイルの保存

特別な保存の方法は必要ありません。普通に
C-x C-s
でOKです。


既存ファイルの編集

最近のバージョンの emacs では、Unicode (utf-*) な文字コードのファイルも、euc-jpやiso-2022-jpと同様、文字コードを意識することなく、普通の手順で開くことが出来ます。
emacsからファイルを開く場合は、
C-x C-f <ファイル名>
但し、どうしても失敗する場合には、強制的に文字コードを指定して開くことも出来ます。
C-x [RETURN] c <文字コード>
C-x C-f <ファイル名>
で、文字コードを指定してファイルを開くことが出来ます。

チェコ語の入力

では、ここまできたら、今度は実際に、チェコ語固有文字の入力方法を見ていきましょう。
まず、チェコ語を入力出来るように、入力方式を切り替えねばなりません。これは、
C-x C-m C-\ <入力方式>
で、変更します。
Tab キーを押すと下図のように候補一覧が出てきます(更にTabキーを押すと候補一覧のウインドウがスクロールします)。 emacs23で入力方式変更する。
チェコ語については、次の5つの入力方式(キー配列)が利用できます。
このうち、"prog" が付くモノは、プログラマ向けのキー配列と言われています。

各種チェコ語キー配列の概略
キーマップ 備考
czech Linuxのチェコ語キーマップでは唯一、YとZが入れ替わっている(MacitoshやWindowsで一般的な中欧言語仕様キーボードに対応している)
czech-prog-1 ě,Ě,ů,Ů の入力が若干面倒。
czech-prog-2 ě,Ě,ů,Ů の入力が若干面倒。
czech-prog-3 ů,Ů 以外はczech-qwerty に似ている
czech-qwerty YとZの入れ替えがない他は、czechと一緒。
ちなみに、Linuxで(BSDとか他のUNIX系OSでもそうかな?)中欧地域の言語仕様のキーボード配列への切り替えをする際、キーマップ名に "qwerty" "qwertz" などというのが出てくるのを目にすることがあると思います。これらは、キーボード上のアルファベットの一番上の行(数字の行の一つ手前の行)の左端からの並びを示していて、これにより"Y"と"Z"の入れ替えの有無を名前で区別できるようになっています。
中東の産油国の名前とは関係ありません(笑)。


各入力方式についての説明は、
C-h C-\
の後、調べたい入力方式の名前を入力します。チェコ語の場合、通常は"czech"を選択することになりますが、この場合は、
emacs help for czech imput method
のような説明が出てきます。
5年くらい前と比べると、キーボード配列図まで付くようになり、だいぶ親切にはなりましたが、まだ見慣れないと分かり難いと思います。
キーバインドは、下表を参考にした方が分り易いかもしれません。
日本語106キーボード上における、emacs上のチェコ語入力モードでの特殊文字のキー割り当て
特殊文字 キー割り当て
czech
(qwertz)
czech-prog-1
(qwerty)
czech-prog-2
(qwerty)
czech-prog-3
(qwerty)
czech-qwerty
(qwerty)
ハーチェク
(小文字)
ě
2
(Shift + ";") + e
2
(Shift + ";") + (Shift + ";") + e
2
(Shift + ";") + (Shift + ";") + e
2
(Shift + ";") + e
2
(Shift + ";") + e
š
3
(Shift + ";") + s
3
(Shift + ";") + s
3
(Shift + ";") + s
3
(Shift + ";") + s
3
(Shift + ";") + s
č
4
(Shift + ";") + c
4
(Shift + ";") + c
4
(Shift + ";") + c
4
(Shift + ";") + c
4
(Shift + ";") + c
ň
(Shift + ";") + n (Shift + ";") + n (Shift + ";") + n (Shift + ";") + n (Shift + ";") + n
ř
5
(Shift + ";") + r
5
(Shift + ";") + r
5
(Shift + ";") + r
5
(Shift + ";") + r
5
(Shift + ";") + r
ž
6
(Shift + ";") + y
6
(Shift + ";") + z
6
(Shift + ";") + z
6
(Shift + ";") + z
6
(Shift + ";") + z
チャールカ
(小文字)
ý
7
(Shift + "-") + z
7
(Shift + ";") + y
7
(Shift + ";") + y
7
(Shift + -) + y
7
(Shift + -) + y
á
8
(Shift + "-") + a
8
(Shift + ";") + a
8
(Shift + ";") + a
8
(Shift + -) + a
8
(Shift + -) + a
í
9
(Shift + -) + i
9
(Shift + ";") + i
9
(Shift + ";") + i
9
(Shift + -) + i
9
(Shift + -) + i
é
0
(Shift + -) + e
0
(Shift + ";") + e
0
(Shift + ";") + e
0
(Shift + -) + e
0
(Shift + -) + e
ú
"["
(Shift + -) + u
(Shift + ";") + u (Shift + ";") + u "["
(Shift + -) + u
"["
(Shift + -) + u
ハーチェク
(大文字)
Ě
(Shift + ";") + (Shift + e) (Shift + ";") + (Shift + ";") + (Shift + e) (Shift + ";") + (Shift + ";") + (Shift + e) (Shift + ";") + (Shift + e) (Shift + ";") + (Shift + e)
Š
(Shift + ";") + (Shift + s) (Shift + ";") + (Shift + s) (Shift + ";") + (Shift + s) (Shift + ";") + (Shift + s) (Shift + ";") + (Shift + s)
Č
(Shift + ";") + (Shift + c) (Shift + ";") + (Shift + c) (Shift + ";") + (Shift + c) (Shift + ";") + (Shift + c) (Shift + ";") + (Shift + c)
Ň
(Shift + ";") + (Shift + n) (Shift + ";") + (Shift + n) (Shift + ";") + (Shift + n) (Shift + ";") + (Shift + n) (Shift + ";") + (Shift + n)
Ř
(Shift + ";") + (Shift + r) (Shift + ";") + (Shift + r) (Shift + ";") + (Shift + r) (Shift + ";") + (Shift + r) (Shift + ";") + (Shift + r)
Ž
(Shift + ";") + (Shift + y) (Shift + ";") + (Shift + z) (Shift + ";") + (Shift + z) (Shift + ";") + (Shift + z) (Shift + ";") + (Shift + z)
Ď
(Shift + ";") + (Shift + d) (Shift + ";") + (Shift + d) (Shift + ";") + (Shift + d) (Shift + ";") + (Shift + d) (Shift + ";") + (Shift + d)
チャールカ
(大文字)
Ý
(Shift + -) + (Shift + z) (Shift + ";") + (Shift + y) (Shift + ";") + (Shift + y) (Shift + -) + (Shift + y) (Shift + -) + (Shift + y)
Á
(Shift + -) + (Shift + a) (Shift + ";") + (Shift + a) (Shift + ";") + (Shift + a) (Shift + -) + (Shift + a) (Shift + -) + (Shift + a)
Í
(Shift + -) + (Shift + i) (Shift + ";") + (Shift + i) (Shift + ";") + (Shift + i) (Shift + -) + (Shift + i) (Shift + -) + (Shift + i)
É
(Shift + -) + (Shift + e) (Shift + ";") + (Shift + e) (Shift + ";") + (Shift + e) (Shift + -) + (Shift + e) (Shift + -) + (Shift + e)
Ú
(Shift + -) + (Shift + u) (Shift + ";") + (Shift + u) (Shift + ";") + (Shift + u) (Shift + -) + (Shift + u) (Shift + -) + (Shift + u)
軟記号
ť
(Shift + ";") + t (Shift + ";") + t (Shift + ";") + t (Shift + ";") + t (Shift + ";") + t
ď
(Shift + ";") + d (Shift + ";") + d (Shift + ";") + d (Shift + ";") + d (Shift + ";") + d
クロウジェク
ů
";"
(Shift + ^) + u
";"
(Shift + ";") + (Shift + ";") + u
1
(Shift + ";") + (Shift + ";") + u
"]"
(Shift + ";") + u
";"
(Shift + ^) + u
Ů
(Shift + ^) + (Shift + u) (Shift + ";") + (Shift + ";") + (Shift + u) (Shift + ";") + (Shift + ";") + (Shift + u) (Shift + ";") + (Shift + u) (Shift + ^) + (Shift + u)

X上の他のアプリケーションでもチェコ語文字の入力をする方法

emacs 以外の X 環境でチェコ語を扱うには、別の対応が必要になります。
X上でチェコ語を入力するにはキーマップの切り替えが必要になります。キーマップの切り替えを行う方法は幾つかありますが、ここでは以下のモノを取り上げてみます:
setxkbmap コマンド
以前は xkbsel というコマンドもありましたが、最近は使われることがないらしく、 Debian 7.x のパッケージからは削除されています。
以降の章で注意しなければならないことは、今まで述べてきたXEmac/emacs上での場合とキー割り当てが異なるものがある、ということです。この辺は追々説明を追加していきたいと思います。

setxkbmap コマンド

setxkbmap を使うと、X上で直接チェコ語/日本語の入力切り替えが出来るようになる。
$ setxkbmap cz [RETURN] # → チェコ語キーマップへ切り替え
$ setxkbmap jp [RETURN] # → 日本語キーマップへ切り替え
こういうのを打つのは割と面倒なので、例えば ${HOME}/.bashrc に、
alias CZ='setxkbmap cz'
alias JP='setxkbmap jp'
と書いておく(当然ながら、端末毎に "source ~/.bashrc" と打つのを忘れずに...)。
チェコ語に切り替えたいときに、xtermなどの仮想端末の1つで
$ CZ [RETURN]
と打てば一発で切り替えられます(って、面倒臭いなぁ・・・苦笑)。
日本語に戻す場合は、同様に
$ JP [RETURN]

GNOME3でキーマップの切り替え用にキーボードショートカットを定義する

前節までの設定のみだと、キーマップを切り替える時には仮想端末から "CZ", "JP" などと打ち込まなければなりませんが、それでは面倒です。
GNOME3 ではショートカットを定義することでその手間を軽減出来ます。
以下の手順で設定します:
  1. 「アプリケーション」ー「システムツール」ー「設定」ー「システム設定」ー「キーボード」を起動。
  2. 「ショートカット」タブ選択。
  3. 「独自のショートカット」を選択。
  4. 「+」をクリックして開いたダイアログに設定を入力する。
  5. 「名前」には自分のわかりやすい名前(画像では「KBD CZ」)、「コマンド」にはキーマップ切り替えのコマンド "setxkbmap cz" を入力して「適用」をクリック。ショートカットキーを設定する(Ctrl+Shift+C など。自分の使いやすいものを指定する。)
  6. 同様に、日本語に戻す設定も行う。(「名前」に「KBD JP」、「コマンド」に "setxkbmap jp" ショートカットは Ctrl+Shift+J とした)
「独自のショートカット」設定
この場合の入力方法は、WindowsやMacと同じです。
下記にチェコ語のキーボードレイアウトを示します。
X上でのチェコ語キーボードレイアウト ...ということで、こんなことが出来ます。
X上で直接チェコ語文字(Zdeněk Fibich Vítězslav Novák)を入力してみたところ。勿論Googleの検索文字入力にも使えます。

emacs/XEmacs でスペルチェッカーを使う

慣れないうちの打ち間違いはつきもの、ということで、スペルチェッカーを使います。
ここでは、ispellaspell の2つのスペルチェッカーについて触れます。
何れもデフォルトでは英語用になっていますが、チェコ語にも対応しているので、それが出来るようにします。
尚、ispellは開発が終了しており、現在は後継ソフトとしてaspellの開発が進められています。

スペルチェッカーを使う(ispell)

なのでaspellを使った方が良いとは思いますが、ひとまず覚書として。
大抵インストールされているとは思いますが、なければ入れます。
# aptitude install ispell
尚、チェコ語辞書はほぼ間違いなく入っていないので、入れます。
# aptitude install iczech
emacsから使いますが、特に設定は必要ないようです。
チェコ語の文書をemacsで開き、チェコ語でスペルチェックするにはispellを起動する前に
M-x: ispell-change-dictionary czech
とします。それから下記コマンドを実行すると、スペルチェックが始まります。
M-x: ispell
通常、ispellが正しくないと判断した単語に対して修正候補が列挙され、その中から正しいものの番号を選ぶと、その綴りで修正対象が置き換えられます。
主なコマンド
キー コマンド 説明
SPACE Accept the word this time only 単語を修正せず、次へ
i insert into private dictionary 単語を修正せず、その単語をユーザー辞書に追加する。
r replace word 単語を修正候補で修正せず、手動で修正する。
q Quit ispellを終了する。
C-h help helpを表示する。

スペルチェッカーを使う(aspell)

aspellは、前述のispellの後継ソフトです。 ispellと同じインターフェースを備えているため、ispellを呼び出すことの出来るアプリケーションでは、コマンド名を入れ替えるだけでaspellを呼び出すことが出来ます。
まずはインストールから。チェコ語辞書(aspell-cs)も一緒に入れます。
# aptitude install aspell aspell-cs
XEmacsの場合は ${HOME}/.xemacs/init.el、emacsの場合は ${HOME}/.emacs に、下記の設定が必要になります:
;; コマンドの設定
(setq ispell-program-name "aspell") ; ispell の代わりに aspell を使う
これで、ispellの代わりにaspellが呼び出されるようになります。
チェコ語の文書をemacsで開き、チェコ語でスペルチェックするにはaspell(呼び出しコマンド名はispellのまま)を起動する前に
M-x: ispell-change-dictionary cs
とします。→ ispellでは czech でしたが、 aspell では cs です。ISO 639に則っていると思えば理解しやすいかもしれません。
それからispellの場合と同様、下記コマンドを実行すると、aspellによるスペルチェックが始まります。
M-x: ispell
後の操作は、殆どispellと同様のようです。

OpenOffice.org でスペルチェッカーを使う

OpenOffice.orgに付属しているスペルチェッカーで、チェコ語のスペルチェックを行えます。
...とはいえ、やはりデフォルトのままでは辞書がないので、インストールします:
# aptitude install myspell-cs
あとはOpenOffice.org を起動し、チェコ語の書かれた文章を開くなり作るなりした後、スペルチェッカーを起動します。




戻る...
メッセージを送る...