第六回多言語組版研究会:メモ
STSFの歴史
- 商用ソフトとしては、WindowsやMacなどに高品位な描画を行うものが存在している。しかし、フォント技術の進歩を採用するという点で、X11アーキテクチャは大幅な遅れをとってしまった。オープンソースで新世代のシステムを作ろう。
- AppleのATSUI、JAVA2DのC/C++版として、Open2D構想があったが、Open2Dは構想が大きすぎ。そこで、Textパッケージのみに絞ったプロジェクトとしてSTSFを開始。
- STSFは、SourceForgeでオープンソース化している。しかし、技術について分かっている人が少なく、コミットしている人は5,6人しかいない。
- X11のXST拡張としても利用することで、Xの描画システムの改良にもなる。32ビットRGB、大きな座標系。
モダンな描画システム
- 既存のシステムにも使えるように。XST---Solaris10は、XSTのサーバになっている。
- JAVA2D、ATSUI/QuickDrawGXの経験を参考にしたモジュール化
- 昔と比べてリソースが安価になっているので、やり直しにはちょうど良い機会
- 新生代のインテリジェント・フォントを基本とする。上位からみるとスマート・フォントとしか見えないようにし、必要に応じて内部にエミュレートする機構をもたせる。(Xft2とは逆のアプローチ。STSFはトップダウン、Xft2はボトムアップ)
- 分散多重インストールの無駄を省く。フォントを巡る管理方法が現在は混沌としている。Xwindowは、Xのパス、JAVAは自分で抱えている。OpenOffice/StarOfficeも自分で抱え込む。STSFは、STSFにフォントをインストールして、誰にもアクセスさせない、という思想である。
- MSWindowsと比べると、STSFはクライアント・サーバのアーキテクチャを採る。
- Uniscribeは意識している。
【疑問】例えば、PDFにフォントのアウトラインを埋め込むにはフォントにアクセスしてアウトラインを取り出す必要がある。Type1形式のレガシーなフォント資産は沢山あるがそういうものに対して、アウトラインの取り出しなどの機能はサポートされるか?
【疑問】Windowsは、インテリジェント・フォントの機能を使わずに自分でいろいろやっている部分がある。STSFのような奇麗事で、そういうWindows方式と競争できるのだろうか?
STSFのサーバモデル
- スマート・フォントはメモリの占有量が非常に大きい。それをアプリケーションで丸抱え、多重コピーするのは無駄。サーバ側でできることを行うのが良い。
- ホスト毎のFontServer
- クライアントとは、SharedMemoryで共有、通信する。
- FontServer同士の通信で情報を共有する。
- FontServerだけが、フォントに直接アクセスする。
- アプリケーションは、クライアント・ライブラリー経由でアクセス
- セッション・フォント(メカニズムのみ考案)
【問題点】FontServerでフォント管理する場合、誰がフォントを利用する権利を持っているかもうまく管理しないと、フォントの権利保護の間での問題が生じるのではないか?ということが指摘された。
Fontconfig, Xft2
STSFと競合するプロジェクトとしてXFree86プロジェクトのKeith Packardが開発しているFontconfig, Xft2がある。Xfree86は、Suse、Compaq/HPのスポンサーによるもの。
「Xft2 and STSF, A Side by Side Comparison Revision A, March 27, 2003」は、SunのGNOMEデスクトップ・プロジェクトの観点からSTSFとXft2の比較を行っている。
多言語化の4階層モデル
Unicodeは、2バイト固定で、コードの境界が文字の境界という神話があった。しかし、実際は、Unicodeでの文字は可変長のバイトをもつと考えるべき。一番、最初の例としては、サロゲート。2つのコードを組み合わせて100万の文字を追加する空間を生成。
4階層モデルは、そういう誤った神話を正すためのコンセプトとして提唱したもの。
- 1階層:メモリ上の単位のレベル
- 2階層:サロゲート
- 3階層:合成のシーケンスを含めて、どこまでが文字か、を示す境界。
- 4階層:コンテキストに依存して、境界が変わる。例えば行末処理。
JIS X0213では、「か+半濁音記号(上付き。)」が1文字になる。Unicodeでは、16ビット2文字である。そうなると日本語処理でもサロゲート的処理が必要になる。
配布資料
【お断り】本のレジュメは樋浦氏の講演内容をメモしたものです。理解の誤りがあるかもしれませんので、その際は、ご連絡ください。
2003年6月29日小林(徳)記。