top page > L'Internationale > here

UTF-8 について


概要

UTF-8 に関しては,私は使用法の習得の段階です. しかも多忙だったり,切迫した必要性もないことから,積極的に向き合っているわけでもありません. 従ってここは他のページとは異なり,初心者による備忘録といった趣きです.


目次

1. 環境変数の設定
2. 文字の表示
2.1 console
2.2 xterm, uxterm
2.3 その他
3. 文字の入力
4. 文字コードの変換
5. mew による e-mail の授受
6. 今後やるべきこと

1. 環境変数の設定

言語に関係する環境変数 LANG は,~/.login_conf によって次の要領で規定します.

me: :charset=UTF-8:      :lang=ja_JP.UTF-8:
#me: :charset=UTF-8:      :lang=ru_RU.UTF-8:

UTF-8 に jaru もないのですが,言語を指定しているこの部分は date 等の出力に反映されます. LC_* は次にようになっています.

% locale
LANG=ja_JP.UTF-8
LC_CTYPE="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_ALL=

2. 文字の表示

2.1  console

UTF-8 の環境下においても,ASCII code の印字可能な文字のコードには互換性があるので,PC-98 でも AT 互換機でも console に表示されます.

AT 互換機の console にて UTF-8 のあらゆる文字を表示するためには,mltermjfbterm 等が必要です. この目的のために kon の拡張も行なわれています. (私はこれらを使ったことがありません.)

また,現行の console driver ("system console" sc) とは別の vt driver においては,そのまま UTF-8 の文字を表示することができます. ただし,フォントは用意しておく必要があります.

PC-98 の console ですが,ASCII code 以外の文字は日本語も含めて正しく表示されずに化けます.

2.2  xterm, uxterm

一方 X Window System では,xterm を立ち上げれば,そこに UTF-8 の文字を表示することができます.

% xterm &

また,LANG=ja_JP.eucJP の環境においては uxterm を立ち上げます.

% uxterm &

この場合,uxterm の中の環境変数 LANGLC_* は自動的に前節に示したように変更されます. ("ja_JP" が踏襲される.)

xterm, uxterm が使うフォントは,次のように指定します.
(1) /usr/X11R6/lib/X11/app-defaults/XTerm, UXTerm による default fonts は次のものです.

-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1

この場合,日本語フォントは次のものが選択されます.

-misc-fixed-medium-r-normal-ja-13-120-75-75-c-120-iso10646-1

(2) ~/.Xresources による指定は,次のようにします.

xterm*VT100.font:-misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1

こうした場合,日本語フォントは次のものが選択されます.

-misc-fixed-medium-r-normal-ja-18-120-100-100-c-180-iso10646-1

(3) command line での指定は,次のようにします. ((2) があれば,そちらが優先されます.)

% uxterm -fn -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1 &

xterm, uxterm にて,日本語混じりの文書に対して cat, more, less などが使えました.

また,tcsh の error message は ja_JP.UTF-8 の error message が用意されていないので英語です.
(2019.6.2) いつからか不明ですが,今は日本語になっております.

2.3  その他

(1) jless のために,~/.login に次にように設定します.

setenv JLESSCHARSET utf-8

(2) tcsh のために,~/.cshrc に次にように設定します.

set dspmbyte=utf8

(3) mwm に関しては UTF-8 環境における mwm を御覧下さい.

3. 文字の入力

UTF-8 の文字の入力は普通はエディターを通じて行なうのでしょうから,各々のエディターの設定法を調べることに帰着すると考えます. xemacsemacs の「UTF-8 対応」を御覧下さい.

なお,「入力」ではありませんが,EUC の kterm 上に表示された漢字を uxterm 上に copy & paste することもできました. こういう変換も,ちゃんとやってくれているようです.

4. 文字コードの変換

文字コードの変換を利用することにより,陽に UTF-8 を使うことを回避することができます.

ファイルの中身が英語 (ASCII code) と日本語のみから構成されている場合,変換に nkf を使うことができます. 例えば EUC から UTF-8 への変換は次のようにします.

% nkf -E -w8 file > stdout

それ以外の文字コードも含む場合には,iconv を利用することができます. 例えば UTF-8 から EUC への変換は次のようにします.

% iconv -f UTF-8 -t EUC-JP file > stdout

5. mew による e-mail の授受

UTF-8 を含む e-mail の取り扱いに関しては mew を参照して下さい.

6. 今後やるべきこと

種々の言語の文字の入力を試みる,TeX を UTF-8 で使ってみるなど,やらねばならないことは目眩がするほど多いです. 詳しい解説本なり雑誌の連載記事の登場を望みます. (探せば既にあるかもしれませんが.)

UTF-8 を試用するための専用の環境を仕立てた方が効率は良いのでしょうが,そうするとますます敷居が高くなります.[1]

この先,使い込みが進めば localization の記述に UTF-8 を反映させることができるでしょうが,その際にはページの構成の変更すら必要になりそうです.

[1] FreeBSD 12.0 を,試用目的で UTF-8 にしました.