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

Daisuke Kameda daisuke.kameda @ gmail.com
2010年 3月 6日 (土) 14:38:12 UTC


Daisukeです。

2010年3月3日23:52 Daisuke Kameda <daisuke.kameda @ gmail.com>:
>> あと、 qfontengine_ft.cpp の default_load_flags の値を変更するだけで他の部分の変更はいらないはずです。
>> 前に少し実験していたときはそれで良さそうでした。
>> キチンと検証はしてないので良ければ確認してみてください。
>> パッチがシンプルになります。
>
> 確かに、それで表示されるのは確認しました。
>
> ただ、何ヶ所かフラグを直に指定して
> FT_Load_Glyphところがあります。
>
> よく見直してみると、関数名的には、
> FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH
> のフラグが不要のように見えますが、確認します。

該当する関数は、3つあります。
フラグの指定は不要と考えていますが、
確信がないので、調べてみたところの意見を書いておきます。
コメントあれば、お願いします。


QFontEngineFT::addOutlineToPath()
QFontEngineFT::addGlyphsToPath()
の二つの関数は、呼び出し関係も見てみましたが、
フォントのパスをリストに追加しているような感じなので、
フラグの指定が不要に見えます。

が、呼び出し元とドキュメントが見当たらないので、
やや不安です。


QFontEngineFT::getUnscaledGlyph() は、
QFontSubset::toTruetype() という関数から呼ばれてます。

これだけ見るとフラグの指定が必要そうですが、
フォントデータの幅などの計算に利用しているだけのようです。

そのため、フラグ指定はなくても大丈夫だと思います。


最後に、一応patchを添付しておきます。

-- 
Daisuke Kameda
 Japan KDE Users' Group:  President
   mailto:daisuke @ kde.gr.jp  http://www.kde.gr.jp/~daisuke/
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: qt-head-IgnoreGlobalAdvanceWidth-20100306.diff
型:         text/x-diff
サイズ:     507 バイト
説明:       無し
URL:        <http://mail.kde.org/pipermail/kde-jp/attachments/20100306/c0982741/attachment-0002.bin>


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