[Kdeveloper] [Qt-devel] Fwd: KDE 4.3における日本語フォントに関する問題整理

KOBAYASHI Tomoyuki maron-kde @ maidlab.jp
2010年 1月 12日 (火) 10:52:22 UTC


こばやしと申します。
#fromを間違って投稿したので再送します。

MandrivaLinux/x86 2008.1(ちょっと古い)で試してみました。

環境は以下の通りです。

* qt4-4.3.4-6mdv2008.1 および 
  gitでとってきたHEAD (5339d24dc09525a67295adf98e9042971f4a9b2e)
  (freetype, fontconfig有効でコンパイル)
* libfreetype6-2.3.5-2.2mdv2008.1
* fontconfig-2.5.0-2mdv2008.1
* libxft2-2.1.12-4mdv2008.1

Qtはfontconfig経由でフォントを読むときはfontconfigを利用し
(src/gui/text/qfontengine_x11.cpp)、
*.{ttf,otf}を指定されて自前でフォントファイルを
開かなければならないときは、freetypeを直接
(src/gui/text/qfontengine_ft.cpp)
叩いています。


結果としては、

1. freetypeinfo(*.ttfのファイル指定)で
   所謂半角と全角の横幅がほぼ倍になるもの

* fonts-ttf-japanese-0.20080217-1mdv2008.1
  (http://www.geocities.jp/ep3797/modified_fonts_01.html)
* fonts-ttf-japanese-extra-0.20040217-7mdv2008.1
  (http://sourceforge.jp/projects/mplus-fonts/)
* fonts-ttf-japanese-mplus_ipagothic-20060520-3mdv2008.1
  (http://mix-mplus-ipa.sourceforge.jp/)
* IPAの古いフォント(ビットマップ埋め込み)
* Solarisで使われているフォントをテスト用に拝借

2. freetypeinfoで所謂半角と全角の横幅が同じになるもの

* IPAfont00301

3. フォントを$HOME/.fonts/*.{ttf,otf}において
   fontconfig経由で読む
   (examples/painting/fontsampler/fontsampler)
   とき、"abc"と半角で正常に表示されるもの

* 1に挙げたIPA以外のフォント
* IPAfont00101

4. フォントを$HOME/.fonts/*.{ttf,otf}において
   fontconfig経由で読む、
   所謂半角が"f o o b a r "状態になるもの

* IPAfont00103
* IPAfont00201
* IPAfont00203
* IPAfont00301


という感じになりました。
やはりIPAfontに特有の問題が潜んでいるような気がします。

ただ、ここで使用しているfontconfigはユーロ記号が入っていない
古いフォントはラテン用として認識してくれない
という落とし穴のあるバージョンです。
(今回のテストではユーロ記号を無視するパッチははずしていますが
 それが結果に影響を与えているかはまだ調べていません)

fontconfigは少々難解なxmlファイルに
かなり細かい指定が書けるので、
$HOME/.fonts.confで頑張ればなんとかなるかもしれません。

#うちのfirefoxはfontconfigに丸投げしていますが、
#所謂半角アルファベットにはサンセリフを使い、
#全角漢字では明朝を使用し、
#さらに全角漢字のピクセル数が指定より越えたら
#ゴシックにするようにしています。

-- 
   小林ともゆき             http://imcp.maid.ne.jp/
 GPG DSA#B60BDED8 FP:639B11BC 4E46C768 0DF3-596E EC670510 B60BDED8




Kde-jp メーリングリストの案内