2005/10/03さて、突然ですがまず告知。合同オープン編集会議」というイベントを開催することになりました。詳細はホームページの方を参照していただきたいと思いますが、オープンソースマガジンの編集長以下編集スタッフ全員とともにパーティー形式でオープンソースマガジンへの誌名変更祝いと編集部への要望、企画持込み会をいっぺんにやってしまおう、というイベントです。誰でも参加できますので、ご都合のつく方は是非参加されてみてはいかがでしょうか。4だとデフォルトでは日本語フォントでボールドがでねぇぜ!!!」てなネタを書いた。4のフォントネタで攻めてみる。いうか、GoogleでXftでググったらこのブログの例の記事が結構高い順位で表示されてしまっていたのでまずいと思ったからちょっと本気だして調べてみたというのが真実だったりする訳だが。4ではデフォルトでは日本語フォントでボールド表示がされない。日本語フォントのほとんどはフォント自体にボールドフォントの情報が含まれていないのが原因。Windowsなどでは通常のフォントからボールドフォントを合成して表示していたりする。Coreではそのパッチが採用されていない。Coreでも「ボールド合成パッチを採用してくれ」というリクエストはあったが、「これはX側で対処するべき問題なのでバグではない。Project側(以下Fedora側)では対処しない。」ということで、「Fedora側の問題じゃねぇ!」と言われてしまっているこの問題。それでは、とX側の方を調べてみた。現在、Xで主流となっているのが、Xft+freetype+fontconfigというライブラリの組み合せによるフォントの描画だ。Xでのフォントの話をすると非常にややこしくなるので詳細は割愛するが、おおざっぱに言えばXftがフォントを描画するフロントエンドで、Xftがフォントを描画する際に使用するレンダリングライブラリがfreetype、そしてフォント関連のマネージメントを行っているのがfontconfigである。合成ボールドを表示させる場合、それぞれの役割としてはfontconfigは合成ボールドを使用するかどうかの判別、freetypeは通常のフォントからボールドフォントを合成する機能の提供、Xftはfontconfigの指示をチェックしてのfreetypeの呼び出し、という感じである。2004年3月号第1特集「フォント徹底解剖」や関連Webを参照してほしい。2.2.3では、「日本語フォント(というかボールド情報を持っていないフォント)でボールドがでない」という問題はすでに解決されており、その3つの組み合せでは正しく日本語フォントでボールドフォントが表示される。fontconfigでのボールドフォント合成機能はまだ実験的機能としての搭載であるため、将来的に変更される可能性もあるようで、開発者の間でもこの機能をどうするかは議論の対象となっているようだ。漢字など、画数が多く込み入った文字についてボールドフォントを合成する場合、見ため的に美しいボールドフォントを合成することが難しいという問題点がある。日本語フォントのボールド表示問題はだいぶ前から話題になっているにも関わらず、なかなかきちんとした実装が行われていなかったのも、その辺りが原因なのだろう。実際にXft、freetype、fontconfigをインストールしてみようインストールはfreetype、fontconfig、Xftの順で行う。これは、Xftのconfigure時に、インストールされているfreetypeがボールド合成機能を持っているかチェックを行うためである。それぞれの入手先はfreetypehttp://freetype.sourceforge.net/index2.htmlXfthttp://xlibs.freedesktop.org/release/fontconfighttp://www.fontconfig.org/である。インストールの手順は以下の通りだ。exitまた、以上のライブラリのインストール後、fontconfigに合成ボールドの機能を利用するよう設定を追加する必要がある。fontconfigの設定ファイルは/etc/fonts/fonts.confである。charsets-->の前に、次の設定を追加しよう。</match>以上で、ブラウザ等を再起動すれば日本語フォントでもボールドが正しく表示されるはずだ。この設定は以前紹介したパッチによるものとは若干異なるため、注意していただきたい。fontconfigには設定ファイルのサンプルが同梱されているが、その設定ファイルではFirefoxで正しくボールド表示が行えないようである。Coreの次期バージョンではデフォルトで日本語フォントがボールド表示できるようになるだろう。Comment(1)最新の投稿トラブルシューティングは大変だ(レッドハットLinuxトレーニング4日目)レッドハットLinuxトレーニング3日目。HDDパーティション後はpartprobe(レッドハット試験対策2日目)。16:07有り難うございます。お蔭様でタコなわたしにもボールド表示ができるようになりました。一つだけ追加させて下さい。コンパイルに失敗してしまいます。