X-TrueType 1.x に関する資料

X-TT 1.x は近い将来,開発を終了します.


新しくなった FreeType(libfreetype-xtt2) に関する資料

After X-TT Project では,CJKV環境で必須なX-TTの機能を FreeTypeバックエンドでも 使えるようにするための改良作業を行なってきました. その成果はThe XFree86 Project に取り込まれ, XFree86-4.4.0 リリースでは,"freetype"モジュール,そして xfs,Xnestでも同様に完全なTTCap オプション が利用可能になります. 以下に,この新しいFreeType(libfreetype-xtt2)バックエンド についての資料を用意しました.

新しい FreeType バックエンドの威力

日本語フォント や unicode フォント のような 文字数の多いプロポーショナルフォントをロードするときに, 従来の FreeType バックエンドでは 文字が表示されるまでにあまりに時間がかかりすぎていました. この問題を解消するために, 新しい FreeType(libfreetype-xtt2) バックエンドでは X-TT の `very lazy' method を改良して実装しています.

以下にそのパフォーマンスを調べた結果を示します. テストには以下の単純なコードを用いました:

/* bench.c */
#include <X11/Xlib.h>
int main( int argc, char *argv[] )
{
    Display* dis;
    dis=XOpenDisplay(NULL);
    XLoadQueryFont( dis, argv[1] );
    return 0;
}

フォントは Cyberbit unicode フォント を使用しました.以下が計測に使ったコマンドです:

% time ./bench "-bitstream-cyberbit-medium-r-normal--0-0-0-0-p-0-iso10646-1"

結果をグラフにしてみました:

result

新しい FreeType バックエンドの `very lazy' method は驚異的に高速である事がわかります. 新しい FreeType バックエンドでは, マルチバイトなフォントをロードする時に, この `very lazy' method がデフォルトで有効になります. したがって,TTCapオプションを設定しなくても, FreeTypeバックエンドを使っていれば, たとえ数万の文字を持つプロポーショナルフォントを表示させても イライラさせられる事はないでしょう.

TTCap オプションのリファレンス

次のようなオプションが指定できます:

Last Modified: 31 Oct. 2004