最近は、FedoraやSUSEでUTF-8をシステムのデフォルトロケールで利用して来てます。
そこで、DebianもUTF-8環境に変更してみました。
|
| 1.システムのロケールを変更する。 |
Debianには、デフォルトで"ja_JP.eucJP"のロケールしか作成されていません。そこで、"UTF-8"(ja_JP.UTF-8)のロケールを作成します。
#dpkg-reconfigure locales
で、"ja_JP.UTF-8"ロケールを作成します。デフォルトロケールの選択も"ja_JP.UTF-8"に。
|
| 2.ログイン時のロケールと基本アプリの設定 |
ログイン時に読み込むファイルに、"LANG=ja_JP.eucJP"って設定してある場所があれば、"LANG=ja_JP.UFT8"に変更します。
.xsession、.gnomerc、.bashrc、.bash_profile辺りをチェックしてください。
次に、アプリ関係です。大まかには以下の事をしておきます。
vi(vim)でのUTF-8対応
emacsでのUTF-8対応
lessの変わりにlv
ここを参考にUTF-8文字コードファイルの扱い方Tips
|
| 3.Gtkアプリの文字化け対応 |
Gtkアプリの文字化けが発生します。これは、Gtkの設定でUTF-8を利用した場合には"ISO10646-1"を利用するようになっているためです。
ここでは、この改善を行います。
|
| /etc/gtk/gtkrc.ja.utf-8を作成 |
|
まず、UTF-8の場合に利用するフォントを設定します。これには、/etc/gtk/gtkrc.ja.utf-8ファイルを以下の内容で作成します。
|
style "gtk-default-ja-utf8" {
fontset = "-adobe-helvetica-medium-r-normal--14-100-100-100-p-76-iso8859-1,\
-ricoh-ms mincho-medium-r-normal--14-*-*-*-*-*-jisx0208.1983-0,\
-misc-fixed-medium-r-normal--14-*-*-*-*-*-jisx0208.1983-0,\
*-r-*"
}
class "GtkWidget" style "gtk-default-ja-utf8"
|
|
|
|
XLC_LOCALEの設定を変更し、ISO10646-1の優先度を下げます。
そのために、"/usr/X11R6/lib/X11/locale/ja_JP.UTF-8/XLC_LOCALE"ファイルを以下の内容に変更します。
これで、Gtkアプリの文字化けも改善されます。
これは、Sargeリリース時には変更してほしいいんですが、どんなもんなんでしょう、、。
|
#
# XLC_FONTSET category
#
XLC_FONTSET
on_demand_loading True
object_name generic
# We leave the legacy encodings in for the moment, because we don't
# have that many ISO10646 fonts yet.
# fs0 class (7 bit ASCII)
fs0 {
charset {
name ISO8859-1:GL
}
font {
primary ISO8859-1:GL
vertical_rotate all
}
}
# fs1 class (ISO8859 families)
fs1 {
charset {
name ISO8859-1:GR
}
font {
primary ISO8859-1:GR
}
}
# ISO10646-1 is put after iso8859-1 to make usually better-looking
# iso8859-x fonts are picked up before iso10646-1 fonts.
# Moreover, some iso10646-1 fonts don't have any glyph at all
# in ISO8859-X ranges.
# fs2 class (Kanji)
fs2 {
charset {
name JISX0208.1983-0:GL
}
font {
primary JISX0208.1983-0:GL
}
}
# fs3 class (Korean Character)
fs3 {
charset {
name KSC5601.1987-0:GL
}
font {
primary KSC5601.1987-0:GL
}
}
# fs4 class (Chinese Han Character)
fs4 {
charset {
name GB2312.1980-0:GL
}
font {
primary GB2312.1980-0:GL
}
}
# fs5 class (Half Kana)
fs5 {
charset {
name JISX0201.1976-0:GR
}
font {
primary JISX0201.1976-0:GR
vertical_rotate all
}
}
# fs6 class
fs6 {
charset {
name ISO10646-1
}
font {
primary ISO10646-1
}
}
END XLC_FONTSET
#
# XLC_XLOCALE category
#
XLC_XLOCALE
encoding_name UTF-8
mb_cur_max 6
state_depend_encoding False
# cs0 class
cs0 {
side GL
length 1
ct_encoding ISO8859-1:GL
}
# cs1 class
cs1 {
side GR
length 2
ct_encoding JISX0208.1983-0:GL;JISX0208.1983-0:GR;JISX0208.1983-1:GL;JISX0208.1983-1:GR
}
# cs2 class
cs2 {
side GL
length 2
ct_encoding KSC5601.1987-0:GL;KSC5601.1987-0:GR;KSC5601.1987-1:GL;KSC5601.1987-1:GR
}
# cs3 class
cs3 {
side GR
length 2
ct_encoding GB2312.1980-0:GL;GB2312.1980-0:GR
}
# cs4 class
cs4 {
side GR
length 1
ct_encoding JISX0201.1976-0:GR
}
# cs5 class
cs5 {
side none
ct_encoding ISO10646-1
}
# cs6 class
cs6 {
side GR:Default
length 1
ct_encoding ISO8859-1:GR
}
END XLC_XLOCALE
|
|