俺の話を聞け!:ITmediaオルタナティブ・ブログ (RSS) 俺の話を聞け!

いや、やっぱり聞いていただけなくても結構なんですがとりあえず垂れ流させてください

 現在UNIX USER編集部は8月8日発売の9月号の編集作業が大詰めを向かえ、大変なことになっている。ということで、それに乗じてこのブログの更新をサボっていたところ、編集長に発見され「そろそろ更新しないと大変なことになるよ(ー_ー)ニヤリ」てな感じで脅されてしまった……。
 ということで、たいしたネタもないのでFedora Core 4のTipsでもつらつらと書いてお茶を濁そう。

■ボールドがでませんよ!

 Fedora Core 4の日本語環境は、特に日本語環境周りに力を入れているVine Linuxなどと比べるとだいぶ貧相だったりする。たとえば、Windows上でFirefoxでみた某ページと、デフォルトのままのFrdora Core 4(以下FC4)上でFirefoxでみた某ページを比べると、こんな感じだ。

Windowsでは
win_blog
FC4では
fc_blog

 ぱっとみて明らかに分かると思うが、FC4では「ブログ」の文字がボールドで表示されていない。この原因はXウィンドウシステムでフォント関連の処理をしているXftというライブラリが2バイト文字の疑似ボールド生成に対応していないからである。

 簡単に言えば、欧文フォントだとボールドの書体が無くても非ボールドの書体を元にボールドを描画してくれるのだが、日本語フォントに関してはそれをやってくれていない、という話である。実はこの問題を修正するパッチはすでに公開されており、Vine LinuxなどではデフォルトでXftにこのパッチがあてられている。

 ということで、FC4でもこのパッチを当てたXftを用意してオリジナルのものと置き換えてしまえばよい。ただ、FC4ではXftがxorg-x11パッケージに含まれており、普通にrpmbuildでコンパイルしてしまうとxorgを全部再コンパイルする羽目になり激しく面倒臭い。よって、ソースとパッチだけSRPMから頂戴して、Xftだけ再コンパイルするという作戦に出た。

 材料としては、Fedoraのミラーサイトから入手できるxorg-x11のソースRPMパッケージ
(今回はxorg-x11-6.8.2-37.src.rpmを使用した)と、「KDEのフォント環境をさらに充実させよう」
から入手できるXft用のパッチ xft-2.1.1-MakeBold-20040405.patchだ。

 「KDEのフォント環境をさらに充実させよう」ではfontconfigについてもパッチが必要、と書かれているが、こちらはデフォルトで生成される設定ファイルfonts.confを書き換えるだけなので別に無くても対応できる。

 実行例はこんな感じだ。

●SRPMの展開と標準のパッチをソースに適用

# rpm -ivh xorg-x11-6.8.2-37.src.rpm
# cd /usr/src/redhat/SPECS
# rpmbuild -bp xorg-x11.spec   
 :(ソースが展開されて/usr/src/redhat/BUILD以下に展開される)
 :
# cd ../BUILD/xorg-x11-6.8.2/xc/lib/Xft

●パッチを適用

# patch -p1 < ~/xft-2.1.1-MakeBold-20040405.patch
 :(パッチがあたる)
 :

●Makefileの生成とconfigureの実行

# automake-1.7 -a
./configure -prefix=/root/tmp
# make

●/root/tmp以下にライブラリを仮インストール

# make install
# cd /root/tmp/lib/
# ls
libXft.a  libXft.la  libXft.so  libXft.so.2  libXft.so.2.1.2  pkgconfig

●パッチ適用済みライブラリをオリジナルと入れ換える

# cd /usr/X11R6/lib/
# ls -l libXft*
-rw-r--r--  1 root root 93418  5月 14 01:29 libXft.a
lrwxrwxrwx  1 root root    15  7月 29 21:43 libXft.so -> libXft.so.2.1.2
lrwxrwxrwx  1 root root    13  7月 29 19:28 libXft.so.1 -> libXft.so.1.1
-rwxr-xr-x  1 root root 55884  5月 14 01:31 libXft.so.1.1
lrwxrwxrwx  1 root root    15  7月 29 19:28 libXft.so.2 -> libXft.so.2.1.2
-rwxr-xr-x  1 root root 77852  5月 14 01:31 libXft.so.2.1.2
# mv libXft.so.2.1.2 libXft.so.2.1.2.org
# cp /root/tmp/lib/libXft.so.2.1.2 .
# strip libXft.so.2.1.2

あとは、以下の内容を/etc/fonts/local.conf中の

間に追加すればよい。

 

<config>
<!--
Artificial bold for fonts without an bold version
-->
  <match target="font">
    <test name="weight" compare="less_eq">
      <const>medium</const>
    </test>
    <test target="pattern" name="weight" compare="more">
      <const>medium</const>
    </test>
    <edit name="weight" mode="assign">
      <const>bold</const>
    </edit>
  </match>
</config>

 とりあえずこれでボールドが正しく表示される。今回の実行例では直接ライブラリをインストールせず、/root/tmp以下に仮にファイルをインストールしてライブラリの本体であるlibXft.so.2.1.2のみをオリジナルと入れ換える戦法をとった。これは、余計なファイルの置き換えを起こさないようにするためだ。

 しかし、たかがボールドを表示させるだけなのに面倒臭い。どうしてこのパッチをデフォルトで当ててくれないんだFedora Project、という感じではある。まぁ2バイト文字を表示させる機会なんでほとんど無いだろう欧米人にはことの深刻さが理解できないのかもしれないが。あと、自分でコンパイルができないnewbieな方々は、コンパイル済みライブラリを公開して、さらにxorgパッケージのアップデートがされたら毎回この作業をやってくれる親切な方が現れるのをお待ちください……

 それでは、ネタに困ったら次はFedora Core 4の日本語フォント周りの話をしよう。Fxxkin' Hacking!

こんな風に表示されるようになる
fc_blog2

Me.

Special

- PR -
コメント
中澤 宏次 2005/08/02 10:28

そこまでできるならなんで Upstream に パッチ投げないんですか?

gon 2005/08/02 13:21

確かに。FedoraやFedora Projectに文句いうくらいなら自分でパッチを投げればよい。なんなんだこの人は。

end 2005/08/03 11:52

ごめんなさい。コメントにコメントです。
「問題視するならお前がやれよ」って意図だとしたら、
コメント書いてるこのお二人も一緒ですよね。
それこそお二人の書くように文句を言う前に
パッチを送る方法を知っているなら
お二人がそうすればよいのではと思うのですが…
「自分が作ったものじゃない」というなら
この記事を書いた方も同じだと思いますし…
せっかく説明してくれてる方に書くようなコメントじゃないと思いました。

kikmemo 2005/08/03 15:29

FC4向けには既にバイナリパッケージを作られている方がいるみたいですよ。
http://wiki.fedora.jp/?Rpms%2Fxorg-x11
http://www.nga.jp/~sawa/?date=20050619#p03

通行人A 2005/08/03 16:55

「どうしてこのパッチをデフォルトで当ててくれないんだFedora Project」というのなら、それを言うなら Fedora じゃなくて X.org でしょ。

なんで全てのディストリビューションでいちいちパッチなんてあてなきゃいけないの?

っつーわけで、なぜ upstream に merge されてないかとか、そういった記事を書くなり書かせるなりしてください。


コメントを投稿する
メールアドレス(必須):
URL:
コメント:
トラックバック

http://app.blogs.itmedia.co.jp/t/trackback/77444/2806711

トラックバック・ポリシー


» このブログのTOP

» オルタナティブ・ブログTOP



プロフィール

松島 浩道

松島 浩道

オープンソース/ネットワーク/サーバー関連技術誌「オープンソースマガジン」編集部ヒラ部員。
コンピュータとインターネットとオープンソースと紙とペンにまみれた生活をおくる。

詳しいプロフィール

最近のトラックバック
カレンダー
2011年3月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
カテゴリー
エンタープライズ・ピックアップ

news094.gif ストレス社会との付き合い方
政府がメンタルヘルス検査の義務化を検討しています。しかしうつになった後だけではなく、なる前の予防も大切なのではないでしょうか。(5/24)

news094.gif 「思いやり経営」のススメ
産学・NPO連携の民間団体が先頃、「思いやり経営」という観点で評価した指標や企業ランキングを発表した。企業のマネジメント力を知る手立てとして注目されそうだ。(5/24)

news094.gif テレワークが労働者のマインドを変える
テレワークが普及すると、労働者の評価は従来の「時間×生産性」から「成果」へと変化する。時間や場所を自分の裁量でコントロールできる変わりに、成果を最大化するために労働をマネジメントする能力とマインドが労働者には必要になる。(5/23)

news094.gif 求む、クックパッド男子
高身長も高学歴も高収入もいらない。私が男性に求めるのは「料理の腕」だけです。(5/18)

news094.gif 37歳の常識――我々は一生学び続ける
学び続けなければ衰退するのみだ。(5/18)

オルタナティブ・ブログは、専門スタッフにより、企画・構成されています。入力頂いた内容は、アイティメディアの他、オルタナティブ・ブログ、及び本記事執筆会社に提供されます。

Special

- PR -

サイトマップ | 利用規約 | プライバシーポリシー | 広告案内 | お問い合わせ