CentOSへの日本語フォントのインストール

CentOSはわりと親切なLinuxだが、サーバ用途となると日本語環境はヒンソである。 コマンドラインで日本語なんて使わないし、デスクトップなどサーバで動かすわけもなく。

ただ、Jadeのサービスを構築する上で、日本語が扱えるかどうかは結構大事、 というか、ないと日本語環境で動かないサービスがある。 環境といっても日本語Fontを入れればいいだけなのだが。

ということでCentOSへの日本語フォントのインストールメモを。

有償フォントをインストールする(もしくはしてある)ならかまわないが せっかくのLinuxサーバならできるかぎりOpenで通したいもの。 ということで、Open系のFontをJavaで扱うまでに設定してみる。

まずはyumで取得可能なフォントをインストールしてみる。 通常のfont ( fonts-ja )とTrueType (ttfonts-ja) のフォント。

#yum install fonts-ja* ttfonts-ja*

この辺はX11とか入れないと本来ご用のないものだが、 文字の出力&変換サービスをサーバサイドでやるにはあるとないとでは大違い。 pdf/ps変換でも使いますし。 さて、yumのインストールが完了したところでフォント一覧を見てミル。

% fc-list 
fxd:style=Bold semicondensed
sys:style=Bold
hlv:style=Bold Italic
Fixed:style=Bold
goth_p:style=Bold
sys:style=Bold Italic
fxd:style=semicondensed
gothic:style=Bold
fxd:style=Italic semicondensed
Fixed:style=Bold Italic
Sazanami Mincho,さざなみ明朝:style=Mincho-Regular,Regular
fxd:style=Bold
hlv:style=Italic
hlv:style=Bold
goth_p:style=Italic
hlv:style=Regular
fxd:style=Italic
Marumoji:style=Regular
gothic:style=Italic
Fixed:style=Italic
hlvw:style=Regular
Sazanami Gothic,さざなみゴシック:style=Gothic-Regular,Regular
goth_p:style=Regular
sys:style=Italic
fxd:style=Regular
goth_p:style=Bold Italic
Fixed:style=Regular
gothic:style=Regular
gothic:style=Bold Italic
fxd:style=Bold Italic semicondensed
qub:style=Regular
sys:style=Regular
fxd:style=Bold Italic

出力に明らかに日本語のフォント「さざなみ」が入っているのがわかる。 関係ないけどコンソールもデフォルトで日本語見えることが多くて嬉しいです(笑)

さて、さざなみもいいのですが、少し華奢な気がするので、もう一つ、IPAフォントを入れてみます。 IPAフォントの配布サイトは こちらです。 非常にしっかりしたもので、配布元の意識の高さが伺えます。 まぁ、国のものなので当然ですが・・・。

さて、せっかくなのでver.3(記載時点で3.02)をインストールしてみます。 ソースを展開、fontディレクトリを適当に作成し、フォント登録のコマンドを実行します。

//適当なディレクトリで、ほんとはsudoでやって下さい・・・。
# unzip IPAfont00302.zip
# mkdir /usr/share/fonts/ipa/TrueType
# cd /usr/share/fonts/ipa/TrueType
# ttmkfdir > fonts.scale
# mkfontdir

これでとりあえずフォントマップに入ることを確認します。

% fc-list 
fxd:style=Bold semicondensed
sys:style=Bold
hlv:style=Bold Italic
Fixed:style=Bold
...
(中略)
...
gothic:style=Bold Italic
fxd:style=Bold Italic semicondensed
IPAMincho,IPA明朝:style=Regular
qub:style=Regular
sys:style=Regular
IPAPMincho,IPA P明朝:style=Regular
fxd:style=Bold Italic

デスクトップ環境なら標準フォントの切替えをやるのですが、 ここではJavaからのフォント呼び出しの設定ですので これ以上は設定が不要です。

めんどうなのがJavaでのフォント利用設定。 新式のフォント設定はどうもうまく書けないので、旧式のフォント設定をjre/lib/以下に入れます。 設定ファイルは$JAVA_HOME/jre/bin/

//
# @(#)linux.fontconfig.properties	1.2 03/10/28
#
# Copyright 2003 Sun Microsystems, Inc. All rights reserved.
#

# Version

version=1

# Component Font Mappings


serif.plain.latin-1=-b&h-lucidabright-medium-r-normal--*-%d-*-*-p-*-iso8859-1
serif.bold.latin-1=-b&h-lucidabright-demibold-r-normal--*-%d-*-*-p-*-iso8859-1
serif.italic.latin-1=-b&h-lucidabright-medium-i-normal--*-%d-*-*-p-*-iso8859-1
serif.bolditalic.latin-1=-b&h-lucidabright-demibold-i-normal--*-%d-*-*-p-*-iso8859-1

sansserif.plain.latin-1=-b&h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1
sansserif.bold.latin-1=-b&h-lucidasans-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1
sansserif.italic.latin-1=-b&h-lucidasans-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1
sansserif.bolditalic.latin-1=-b&h-lucidasans-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1

monospaced.plain.latin-1=-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1
monospaced.bold.latin-1=-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1
monospaced.italic.latin-1=-b&h-lucidatypewriter-medium-i-normal-sans-*-%d-*-*-m-*-iso8859-1
monospaced.bolditalic.latin-1=-b&h-lucidatypewriter-bold-i-normal-sans-*-%d-*-*-m-*-iso8859-1

dialog.plain.latin-1=-b&h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1
dialog.bold.latin-1=-b&h-lucidasans-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1
dialog.italic.latin-1=-b&h-lucidasans-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1
dialog.bolditalic.latin-1=-b&h-lucidasans-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1

dialoginput.plain.latin-1=-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1
dialoginput.bold.latin-1=-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1
dialoginput.italic.latin-1=-b&h-lucidatypewriter-medium-i-normal-sans-*-%d-*-*-m-*-iso8859-1
dialoginput.bolditalic.latin-1=-b&h-lucidatypewriter-bold-i-normal-sans-*-%d-*-*-m-*-iso8859-1

dialog.plain.japanese=IPA Gothic
dialog.bold.japanese=IPA Gothic
dialog.italic.japanese=IPA Gothic
dialog.bolditalic.japanese=IPA Gothic
sansserif.plain.japanese=IPA PGothic
sansserif.bold.japanese=IPA PGothic
sansserif.italic.japanese=IPA PGothic
sansserif.bolditalic.japanese=IPA PGothic
serif.plain.japanese=IPA PMincho
serif.bold.japanese=IPA PMincho
serif.italic.japanese=IPA PMincho
serif.bolditalic.japanese=IPA PMincho
monospaced.plain.japanese=IPA Gothic
monospaced.bold.japanese=IPA Gothic
monospaced.italic.japanese=IPA Gothic
monospaced.bolditalic.japanese=IPA Gothic
dialoginput.plain.japanese=IPA Gothic
dialoginput.bold.japanese=IPA Gothic
dialoginput.italic.japanese=IPA Gothic
dialoginput.bolditalic.japanese=IPA Gothic

# Search Sequences

sequence.allfonts=latin-1
sequence.allfonts.x-euc-jp-linux=japanese,latin-1
sequence.allfonts.UTF-8.ja=japanese,latin-1
sequence.fallback=japanese

# Exclusion Ranges

# Font File Names

filename.IPA_Gothic=/usr/share/fonts/ipa/TrueType/ipag.ttf
filename.IPA_PGothic=/usr/share/fonts/ipa/TrueType/ipagp.ttf
filename.IPA_Mincho=/usr/share/fonts/ipa/TrueType/ipam.ttf
filename.IPA_PMincho=/usr/share/fonts/ipa/TrueType/ipamp.ttf
filename.Sazanami_Gothic=/usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf
filename.Sazanami_Mincho=/usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf

これでjavaプロセスを再起動すれば日本語フォントを優先的に呼び出す設定になります。 上の設定ですとIPAフォントをデフォルトにしています。 パッケージにない他のttfフォントを読込む場合も同様にすればOKです。

最後に、Java側で利用可能なフォントリストをImageFactoryで確認してみます。

//http://server/j-de/img/fontlist の出力結果(server/j-deのパスは設定によります)

Dialog
DialogInput
IPAGothic
IPAMincho
IPAPGothic
IPAPMincho
Lucida Bright
Lucida Sans
Lucida Sans Typewriter
Monospaced
SansSerif
Sazanami Gothic
Sazanami Mincho
Serif

ここに表示されたFont Family Nameを使ってJava内で指定のFontを呼び出せます。

サンプルでImageFactoryで生成した文字付きボタン用画像を貼付けておきますが フォント指定でこれだけ見た目が変ります。 良いフォントを使いたいものです。

Comments

No comments.