(57)【特許請求の範囲】
【請求項１】
フォントのアウトラインと、背景画像と、オブジェクトと、前記フォントのアウトラインと背景画像とオブジェクトとを合成する合成演算子と、からなる要素を含む表現ツリーおよび前記表現ツリーに応じて得られるフォントのサンプルを表示する表示手段と、
前記表示手段により表示される表現ツリーにおいて、前記要素を選択するためのユーザインターフェースを有する操作手段と、
前記操作手段により要素が操作された表現ツリーにおいて、前記フォントのアウトラインと前記背景画像と前記オブジェクトとを前記表現ツリーにおける前記合成演算子を用いて合成して得られた前記フォントのサンプルを前記表示手段により表示させる表示制御手段と
を有することを特徴とする文字生成装置。
【請求項２】
フォントのアウトラインと、背景画像と、オブジェクトと、前記フォントのアウトラインと背景画像とオブジェクトとを合成する合成演算子と、からなる要素を含む表現ツリーおよび前記表現ツリーに応じて得られるフォントのサンプルを表示する表示ステップと、
前記表示ステップにより表示される表現ツリーにおいて、前記要素を選択するためのユーザインターフェースを有する操作ステップと、
前記操作ステップにより要素が操作された表現ツリーにおいて、前記フォントのアウトラインと前記背景画像と前記オブジェクトとを前記表現ツリーにおける前記合成演算子を用いて合成して得られた前記フォントのサンプルを前記表示ステップにより表示させる表示制御ステップと
を有することを特徴とする文字生成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタル画像処理の分野に関し、特に、質の高いあるいは優れた出力画像フォントを生成するように、文字やテキストをその中に持つ画像の創作に関する。また、魅力的な芸術的特徴を有するフォントを創作するためのツールも開示している。
【０００２】
【発明の背景】
近年、高解像度のグラフィックディスプレイと、高解像度の、望ましくはカラーの出力用プリンタを有するコンピュータシステムを用いて複雑な画像を作ることが、ますます一般的になりつつある。グラフィック画像制作産業は急速に発展しており、たとえばアドビフォトショップ（商標）のように、複雑で洗練された画像生成ツールが複雑な画像生成のためにしばしば利用されている。
【０００３】
多くの画像の一つの重要な美的特質は、テキストを表現する文字フォントである。文字フォントのデザインは、デザイナにより、程度の高い芸術的判断がなされることが必要である。従来は、フォントはビットマップあるいはアウトラインから構成され、後者は、典型的にはスプラインデータで表されている。フォントアウトラインを利用することで、縮尺（スケーリング）操作が非常に柔軟に行える。その操作においては、一つのフォントを、スプラインデータの再縮尺によって多くの異なるサイズに対して定義することができる。様々なデザインされたフォント、たとえばTimes New RomanやCourierなどが非常に広く知られてきている。
【０００４】
フォントは公知であり、ワードプロセシングプログラムやハイエンドのグラフィックプログラムといったコンピュータ画像生成プログラム用いられているが、それらは一般的に柔軟性、創造性、構造のうち少なくともひとつを欠いている。フォントの利用者は予め定義された構造の範囲内で作業しなければならないため、しばしば限られた、あるいは妨げられた芸術的な出力結果となる。
【０００５】
フォントをデザインする場合、ひとつのフォントセット内の、あらゆる文字の各々をデザインする必要がある。これは、ローマン書体の、それが適用される言語の文字セットについてでさえ、困難で時間のいる仕事である。また、他の言語についてフォントをデザインする場合、文字セット内の文字の数は非常に多く（たとえば漢字）、それゆえにかなりの作業、労働、費用が、フォント文字を創るために必要とされる。
【０００６】
そのため、柔軟性及び利用性の水準を向上させる、柔軟で融通のきくフォント構造を提供することが必要となる。また、フォントの創作工程は、各文字についての本質的な芸術性の管理はそのまま継続される一方で、ほとんどが自動化され、それによってグラフィックデザイナの負担が減るることが望ましい。
【０００７】
【発明の要約】
本発明は、現存する装置の一つあるいはそれ以上の欠陥を、ほとんど克服すること、あるいは少なくとも改善することを目的とする。
【０００８】
本発明の第一の側面によれば、複数のグリフを含んだフォントから文字を生成する方法であって、（ａ）フォントから１あるいはそれ以上のグリフの記述を抽出し、（ｂ）グループから選択されたコンポーネントを演算する合成演算子を用いて、少なくとも一つのグリフの記述のコンポーネントを合成し、（ｃ）合成されるコンポーネントを用いて文字をレンダリングする。
【０００９】
本発明の第２の側面によれば、一連の文字を含む画像制作システムにおいて用いられるフォント構造であって、各文字はカスタマイズ可能なグリフ構造から成り、前記グリフ構造はさらに所定の順序でともに合成される一連のグラフィックオブジェクトをさらに備えるフォント構造が提供される。
【００１０】
本発明の第３の側面によれば、コンピュータシステム上で一連のフォント文字を制作する方法であって、一連のフォントアウトライン及び元の図像を提供し、前記アウトライン及び図像の外観の操作のための一連の操作ツールを提供し、前記アウトライン及び元の図像及び操作ツールから実質的に任意の複雑なフォント構造の制作を提供し、前記複雑なフォント構造を、前記一連のフォント文字中の基本となるフォントアウトラインのそれぞれに適用することで前記一連のフォントを制作する方法が提供される。
【００１１】
好ましくは、前記複雑なフォント構造は、フォントの制作において遂行される演算のグラフィカルな表現ツリーを含み、前記ツリーはフォントのアウトラインを含む。前記操作ツールは、フォントのアウトラインの歪み、置換あるいは合成のためのツールを含み、さらに、前記フォントアウトラインに構造的及び非構造的な効果を加える。これは、フォントの読みやすさを保守する間に、文字アウトラインのセットに適用されるグラフィカルな効果を含む。
【００１２】
フォントアウトラインは、
（１）存在するフォント（たとえばTrue Type）
（２）文字形式のプリミティブから自動的に生成される
（３）アーティストにより描かれる
ことが望ましい。
【００１３】
【実施例】
フォントアーキテクチャ
本実施形態においては、フォントは一連の「グリフ」(griph)によって表される。グリフは彫刻された文字あるいはシンボルである。グリフは複雑な構造を有し、より複雑な文字を有する画像の創作に利用できる。
【００１４】
ここで図１をみると、本実施例に係るフォントのひとつのグリフ１の構造が図式的に示されている。記憶部内においては、各グリフ１は、グリフ全体を参照するために利用される、対応するグリフインデックス番号（これ以降グリフインデックスと呼ぶ）を有している。必要であれば、個々のグリフインデックスに対応する一つあるいはそれ以上のコードまたは文字がある。それ故、本実施例における文字のアクセスの単位は、グリフ番号で行われる。グリフ１は文字の視覚的な表現であり、グリフインデックスに対応する文字の外観を示す図１に示されたように、合わさってツリー構造を形成する一つあるいはそれ以上のグラフィックオブジェクト２から構成される。このような、文字の外観を示すツリー構造は、これからグラフィックオブジェクト（ＧＯＢ）ツリーとして、時折言及される。
【００１５】
図２において、文字コード３０の、対応するグリフインデックス３２へのマッピング３０が示されている。このマッピングは、グリフマッピングテーブル３０を用いて実行される。
【００１６】
各グラフィックオブジェクト２は、典型的には、グリフあるいはフォントの再生において用いられる様々な情報要素を含む。このような要素の例としては、プリミティブ、プリミティブの属性、演算子、選択を含む。
【００１７】
プリミティブは、いくつかの方法で形成でき、オブジェクトの形を描写するために用いられる。たとえば、３次元のスプラインパスはオブジェクトの形（文字のパスを含む）を定義するために利用される。かわりに、ピクセルマップ形式の画像データ（圧縮フォーマットであっても、なくてもよい）で、全体の形状を定義してもよい。
【００１８】
プリミティブの属性は、特徴をもたらし、プリミティブにアピールする様々な項目を含んでいる。
【００１９】
図３は、グラフィックコンテクスト属性のレイアウトを示す図である。この属性は、
＊色及び色混合情報９０；
＊不透明度及び不透明度混合情報９１；
＊オブジェクトのエッジのエッジ混合、たとえば符号９３，９４；
＊パス及び画像に適用される一つあるいはそれ以上の変換マトリクス（不図示）；及び
＊ドロースタイル９２及びパスのための線引き(stroking)のパラメータ９５，９６。
【００２０】
２項演算子は、２つあるいはそれ以上のグラフィックオブジェクトを合成するために用いられる。これら演算子として、OVER,IN,OUT,ATOP, XOR,PLUSC,PLUSWを含み、これらは公知の論文「デジタル画像の合成(Compositing Digital Image）」（ポーター，Ｔ；ダフ，Ｔ；コンピュータグラフィクス第１８巻第３号、１９８４年４月、第２５３−２５９ページ）で検討されている。他の合成演算子としては、NOT-XOR,PLUS,MINUS,AND, NAND,NOR,NOT,CLEAR,SET,COPYが含まれる。
【００２１】
選択は、現在の環境の状態に基づいて、添付されたグラフィックオブジェクトを選択させる。
【００２２】
グラフィックオブジェクトで使用されているいかなるプリミティブも、非常にパラメータ化されていることは明らかであろう。これは、文字が使用される場合、グラフィックコンテクスト中のパラメータを変え、得られる値を変えさせることで対応する特徴を調べられることを意味する。オブジェクト及び特徴をパラメータすると決定したことで、フォントデザイナは非常に柔軟に複雑なフォントを制作できる。パラメータ化された各特徴にデフォルト値が与えられることが望ましい。
【００２３】
図１に戻ると、選択肢を持ったグラフィックオブジェクトは、ＧＯＢツリーのノード（たとえばＧ０１）を形成し、フォントとともに与えられた、所望のグラフィックコンテクストに従属する子のグラフィックオブジェクトのグループ（たとえばＧ０２，Ｇ０３）からオブジェクトを一つ選択する方法を提供する。
【００２４】
選択は、グラフィックコンテクスト中のいかなるパラメータとでも共同して行える。選択工程の例は、図６を参照して後述する。
【００２５】
プリミティブのパラメータは、個々の効果を達成するために結合される設定のグループとして利用できる。これを利用するために、上述したフォントは属性部を含んでいてよい。この属性部は、利用者の要求に応じてグラフィックコンテクストに転送できるパラメータ設定を含む。
【００２６】
影響され得るグリフの属性（図３参照）は、次のものを含み得る。
＊色
＊不透明度
＊ドロースタイル
＊ストロークの幅
＊ライン結合スタイル
＊ラインキャップスタイル
＊留め継ぎ(mitre)の制限
＊ダッシュパターン
＊選択番号
全ての色及び不透明度の値は、フォント全体にわたってパラメータ化し得ることが望ましい。これは、フォント全体の色を調和させるためにいくつかの色だけを選択すればよいこと、及び、必要があるなら、フォントデザイナには、各文字に対して異なるパラメータを用いる自由があることを意味する。パラメータとされる各固有の色値は、図９に示されているように、異なるグラフィックコンテクスト番号（ＧＣ番号）から獲得される。
【００２７】
図４に示すように、各グリフ１は、フォントファイルから得られるその垂直及び水平植字方向に関する植字（type setting）情報４０を持ち得る。たとえば、次のものが与えられ得る。
＊水平植字位置（ｘ，ｙ）
＊水平植字ベクタ（ｄｘ，ｄｙ）
＊垂直植字位置（ｘ，ｙ）
＊垂直植字ベクタ（ｄｘ，ｄｙ）
図１のグリフ構造１を用いることで、任意に複雑なフォント構造を制作できる。従来のフォントよりも非常に多くの情報を含むフォントを制作することができ、それゆえに、よりその外観を詳細に記述できる。けれども、従来のフォント文字もまた、容易にグリフのグラフィックオブジェクトとして格納できる。それにより、必要に応じて、それらを単純にあるいは複雑にできる柔軟性を備える。
【００２８】
それゆえに、このグリフ構造は、従来のフォントに対して同様に演算ができるように適合することができ、そのため互いに交換して使用できる。利用者がグリフ構造において文字の外観の様相を制御できるグラフィック言語への拡張は、完全に任意である。
【００２９】
利用者は、所望の外観を得るために、得られたグリフ文字の外観をカスタマイズできる。各フォントはデフォルトの「外観」を有しており、フォントデザイナは、デフォルトの外観からカスタム化された外観に利用者が変更できるよう、任意のカスタム化可能なパラメータを含んでいる。
【００３０】
そのため、フォントは、グリフ１から創作でき、次のような要素を含み得る、図５に示した「フォントファイル」１０に格納できる。
＊フォントヘッダ１１；
＊各文字について、文字コード，グリフインデックス，植字情報１２；
＊カーニングテーブル１３；
＊フォントのグラフィックコンテクストについて、グラフィックコンテクスト属性セッティング１４；
＊形状１６及び画像データ１７へのポインタを含む各グリフについて、グラフィックオブジェクトのツリー構造１５（あるいはＧＯＢツリー）；
＊形状データ１６；
＊イメージデータ１７。
【００３１】
利用者の視点から見たフォントの構造は、グラフィックオブジェクト２が集まったままものであり、それはグリフ１について少なくとも１つはある。グラフィックオブジェクト２は他のグラフィックオブジェクトで使用されている要素を含んでもよい。グラフィックコンテクスト属性１４を変えることでグラフィックオブジェクトの外観を変えるための機構をさらに用意してもよい。図６に示したように、選択する番号を変え、選択機構５０の選択パラメータを用いることで、一つの文字に関して多様な外観を与えることができる。グリフに関連づけられたパラメータのカスタム化により、さらにフォントに固有の外観を与えることができる。
【００３２】
図７は、本実施形態によるフォント文字の処理を実行するプロセス２０を示している。プロセス２０は、フォントファイル２１を読むステップと、正しい文字を参照するためのテキストオブジェクトを制作するステップと、テキストオブジェクトから対応するグリフ２３を生成するステップとを含んでいる。
【００３３】
フォントファイルが読み出されると、それは内部表現、たとえば「キャッシュ」版(cached version)に変換され、そのフォントのキャッシュ版は利用することができる。
【００３４】
図８は各文字についてＧＯＢツリーの処理から得られるグラフィックオブジェクトの形成の仕方を示している。グラフィックオブジェクトは、完全に定義された文字のインスタンスを含み、グリフツリーが獲得されるステップ６０でアクセスされる。ステップ６１において、文字の外観の様相は全て固まっており、グリフの属性を読める。ステップ６３における最終的なグラフィックオブジェクトの変換は、ステップ６２で読まれたグラフィックコンテクストの属性を全てのパラメータに当てはめることを含んでいる。この段階では、利用者が文字の外観の管理を練習することができる。
【００３５】
本フォント構造の一つの重要な特徴は、フォントの利用者がそのフォントの外観をカスタマイズできることである。これは、グラフィックコンテクスト内の属性をセットすることで達成できる（図３）。また、図９に示されているとおり、グラフィックコンテクストは拡張でき、その結果一つだけでなく複数のインスタンス７０−７２を持つ。各インスタンスはグラフィックコンテクスト番号（ＧＣ番号）により参照される。これらは、そのフォントで利用できる限りの属性全てを持つことができ、そのフォント内の文字をカスタマイズするために利用することができる。いかなるＧＣ番号における属性も、グラフィックコンテクスト７０の基本レベル（ＧＣ番号０）にそれらをセットアップすること、及び、それから新たなＧＣ番号にコピーすることで初期化される。代わりに、図１０に示すように、フォントファイル中の属性から、その属性をロードすることもできる。いかなるＧＣ番号におけるグラフィックコンテクストも、基本レベルにコピーし戻すことができる。たとえば、次のコマンドはグラフィックコンテクスト番号をサポートするために使用できる。
１． gc(copy("attr-name",gcnum) あるいは、gc(copy("attr-name",gcnum1,gcnum2)このコマンドは、属性(attr-name)を、グラフィックコンテクスト番号ゼロ(gcnum0（７０）から指定された番号へとコピーするのに用いられる。第２のケースでは、属性はgcnum2（７２）からgcnum1 （７１）にコピーされる。
２．gc(swap("attr-name",gcnum)あるいはgc(swap("attr-name", gcnum1,gcnum2)このコマンドは、属性(attr-name)を、グラフィックコンテクスト番号ゼロ(gcnum0（７０）と指定された番号の間で入れ替えるのに用いられる。第２のケースでは、属性はgcnum1とgcnum2との間で入れ替えられる。
３．gc(load(font(default()図１０に示すように、gc(load(font(defaultsコマンドは、フォント８０内のデフォルトから、グラフィックコンテクスト８１内の属性をセットするのに用いられる。この場合、属性は、典型的にはフォントファイルからロードされる。
４．gc(clear()gc(clearコマンドは、gcnum0をのぞいたグラフィックコンテクスト全てをクリアするのに用いられる。
【００３６】
選択番号
図３で説明している、グラフィックコンテクストの属性に含まれる属性は、選択番号属性９７である。選択番号属性９７は、図１０のフォント文字ファイルの処理の間に読み出される。選択番号属性は、数値であることが望ましい。選択番号に影響を及ぼすコマンドは、gc(choice(num(option)を含む。このコマンドは、ＧＣ番号ゼロ７０について、選択番号を特定の指定された（数）値にセットする。指定された値がゼロであると、デフォルトのフォントの選択であると見なされる。
【００３７】
ここでoption=gc(choice(num()なるコマンドはＧＣ番号ゼロ７０の選択番号の値を返す。
【００３８】
前述の説明から、従来技術におけるよりも、より十分に著しく柔軟で、任意に複雑なフォント構造を提供するフォント制作システムが提供できると思われる。フォント構造は、必要に応じて、フォントの制作者あるいはフォント及び利用者によって、容易に改作あるいは修正できる。
フォント制作ツール
この実施例においては、フォントを得られる構造を制作できる、洗練されたフォントの制作のためのツールが提供される。
【００３９】
本実施例の原理は一般的に適用でき、特に最終的なフォントとして生成される「ビットマップ」に適用できるが、本実施例は、上述したフォントアーキテクチャシステムを利用することが望ましい。もちろん、フォトショップのような他の複雑な画像制作パッケージを用いて、特にそのパッケージでマクロ言語が用いられている場合には、他の文字についてのフォントを制作することができる。
【００４０】
はじめに図１１には、Times Roman文字フォントの“Ａ”１０１を含む複雑なフォントの例が示されている。文字フォント“Ａ”１０１は、その境界内に、オブジェクト１０３のような丸いボールが上に連ねて置かれた背景画像１０２から成る複雑な画像構造を含むように処理されている。
【００４１】
図１２は、フォント文字１０１の制作に対応して前述の記載の原理によって制作されるであろう、対応する「グラフィックオブジェクトのツリー」（ＧＯＢ）１０５を示す。表現ツリー１０５は、最終的なフォントを制作するために併せて複合されるオペランドを持つ多くの演算子を含む。複合処理は、必要に応じて実時間で遂行されるか、あるいはオフラインで行われる。修正は、ＧＯＢツリー５のどの部分でもよい。たとえば、要求に応じて文字１内にどのボールオブジェクト１０６を置くか利用者が選択できることが望ましい。それゆえ、ボールオブジェクト１０６は、要求されるフォント制作の特性に応じて、クリップアートを含んでもよいし、異なるボールオブジェクト（たとえば野球のボール）のリストから選んでもよい。
【００４２】
図１３には、本実施例に従って構成されたフォント制作ツール１１０のユーザインターフェースの一形式が図示されている。フォント制作ツール１１０は、マイクロソフト社のVisualC++の開発者用環境のような、標準的なソフトウエアの開発ツールを用いて実現される。フォント制作ツール１１０は、その入力として、画像及びクリップアートを含む元となる図版に加えて、標準true typeアウトライン１１１の形式のフォントアウトラインを受け取る。フォント制作ツールの出力は、必要に応じて文字セットに対応させることのできるフォントセット１１３である。その代わりとして、たとえば完全なユニコードの文字セットを出力してもよい。フォント制作ツール１１０は、目的フォントのサンプル１１５を見るためのウインドウ１１４を含むユーザインターフェースを基本としている。フォントは、ユーザインターフェースリスト１１７を介してアクセスできる一連の操作ツール１１６によって操作される。必要に応じて操作ツールの変数を設定するためにリスト１１７中の項目にアクセスすると、ウインドウがポップアップする。さらに、ツリー表示パネル１１９が、ＧＯＢツリー１２０の操作と表示のために用意されている。ほかのフォント配列を構成するように、適当なツリーの制作のためにツリー表示パネル１１９内の要素を操作できるユーザインターフェース（不図示）を追加してもよい。
【００４３】
多くの操作ツール１１６を通じて、各ツールは設定可能な多くの独立変数を持ち、任意に複雑なＧＯＢツリー構造を制作することに加えて、もっともふさわしい最終結果をもたらすべく、独立変数を迅速にテストできる非常に多くのフォント構造の制作のための手段が提供される。それにおいては、サンプルのフォントは即座に評価するためにフォント表示ウインドウ１１４内に表示される。もちろん、本好適な実施例のユーザインターフェースは、変更の要求及び追加開発に応じて容易に応用でき、適応させることができる。
【００４４】
理想的には、フォント文字のアウトラインは、ツリー表示ウインドウ１１９の少なくとも一つの部分で使用される。それゆえ、出力フォントセット１１３は、調和する出力文字を生成するように、各文字についてＧＯＢツリー１２０内のアウトラインパスを置換することで制作できる。
【００４５】
操作ツール１１６は、たくさんあり、また様々である。操作ツール１１６は、非構造的な（形状に依存しない）ものと、構造的な（形状に依存する）ものとに分けられる。これら２つのカテゴリの下における主題の配置のグラフを図１４及び図１５に示す。図１４において、非構造的なカテゴリ１３０が図示され、これはさらに、フォント１３２のテクスチャあるいは色に適用される演算と、それにくわえて、フォントのアウトライン１３１に適用される演算とに分割される。アウトラインの変更は、フーリエ成分やフォントアウトラインのずらし、あるいはそれに代えてアウトラインのひだ(ripple)の適用といった、歪み１３４を含む。置換１３５は、フォントアウトラインを、粒子や、リボンや、アウトラインへの幾何学的置換の適用といった一連の構造で置き換えることを含む。また、アウトラインの合成１３６は、影や遅延関数といった演算を含む。テクスチャあるいは色演算は１３２は、個々のフォントについて、テクスチャ及び色の実質の範囲の選択を含む。
【００４６】
図１５には、フォントに適用できる構造的演算のカテゴリのグラフの例が示されている。これらは、静的演算１４１と動的演算１４２とを含む。静的演算１４１は、示されているように、全体論的演算とストロークに基づいた演算とに分割される。全体論的演算はフォントに対する３次元モデルの適用と、フォントに対するアウトラインアルゴリズムの適用とを含んでいる。ストロークに基づいた演算は、画像置換及び筆記体演算を含んでいる。動的演算１４２は、ペンスタイル、フォント上の成長の構造、フォントの３Ｄモデル、イメージオーバレイ、リボンなどのような２1/2（２と２分の１）次元の効果に適用できる。
【００４７】
図１４及び図１５のカテゴリのアウトラインは、おもしろい効果を作り出すようにフォントに対して適用できるいくつかの操作を単に表している。また、この操作は、フォントの一部分にも適用でき、フォントを表したＧＯＢ表現ツリーの構築に利用できる。
【００４８】
したがって、後で完全なフォントセットを制作する前に、図１３に図式的に描かれたと同様なインターフェースを用いて、非常に複雑で興味深い効果をサンプル文字に作り込むことができ、そしてテストできることは当業者には明白であろう。またＧＯＢツリーの構造を利用すれば、フォントの制作に用いるに適した、任意の複雑なグラフィック画像を制作できる。
【００４９】
本発明の様々な実施例が図１６に示したようなパーソナルコンピュータ１５０を用いて実践できる。コンピュータシステム１５０は、コンピュータモジュール１５１や、ビデオディスプレイモニタ１５４、マウスポインティングデバイス１５３及びキーボード１５２のような一つあるいはそれ以上の入力デバイスを含む。コンピュータシステム１５０は、１つあるいはそれ以上の他のコンピュータや、ＬＡＮ、ＷＡＮあるいはインターネットといったコンピュータネットワークに、コンピュータモジュール１５１内に必須ではないが多くの場合備えられた通信リンク１６２及びそれとつながったモデム１６１により接続してもよい。また、プロッタやプリンタ、レーザプリンタを含む多くのタイプのハードコピー再生出力デバイス１６４のいずれかを、適当なインターフェース１６３を介してコンピュータモジュール１５１に接続してもよい。
【００５０】
コンピュータモジュール１５５は、一つあるいはそれ以上の中央処理ユニット（ＣＰＵまたはプロセッサ）１５５と、揮発性のランダムアクセスメモリ（ＲＡＭ）、スタティックＲＡＭあるいはキャッシュ、リードオンリメモリ（ＲＯＭ）、入力デバイス１５２，１５３に接続された入出力（Ｉ／Ｏ）インターフェース１５８を有する。格納デバイス１５９はデータの不揮発性のストレージを提供し、ビデオインターフェース／アダプタ１５７には、ビデオディスプレイモニタ１５４に表示を行うため、コンピュータモジュール１５１からビデオ信号を供給するように、ビデオディスプレイモニタ１５４が接続される。格納デバイス１５９は、一つあるいはそれ以上のフロッピドライブとハードディスク、光磁気ディスクドライブ、磁気テープ、ＣＤＲＯＭ及びその他の多くの不揮発性の格納デバイスの少なくともいずれかを備える。図１６に示された構成要素１５５から１５９及び１６１は、典型的には、データ，アドレス，制御バスを含むバス１６０によって互いに接続され、ＩＢＭ  ＰＣ／ＡＴやその互換機、アップルマッキントッシュファミリ（商標）コンピュータのひとつ、サンスパークステーション（商標）などといった公知のシステムに対応した、実在する従来の方法によって動作するよう相互に作用しあう。コンピュータシステム１５の全体的な構造及び個々の構成要素は、本質的に従来のものであり、当業者によく知られている。このように、システム１５０は単に実例とする目的で用意されたもので、本発明の範囲と主旨から逸脱しないように、他の構成を用いることもできる。
【００５１】
本好適な実施例は、典型的には、コンピュータシステム１５０上で実行されるソフトウエアとして動作し、典型的には格納デバイス１５９（たとえばハードディスク）に納められるが、通常はＲＡＭ１５６で有向となる。代わりに、このソフトウエアはコンピュータネットワークから供給されてもよい。このソフトウエアは、ディスプレイモニタ１５４上での、あるいはプリンタ１６４による再生のために、ディスプレイモニタ１５４を用いて利用者の制御下で対話的に文字フォントを変えるよう動作する。
【００５２】
フォント制作は多くの方法で可能である。そのうちの一つを図１３、１６、１７を参照してこれより説明する。本好適な実施例では、コンピュータシステム１５０のハードディスク１５９から実行されるアプリケーションプログラムは、最初にステップ２０２でデフォルトフォントの選択をユーザに促す方法２００を実行する。この結果、たとえば図１３に示されているように、Times New Romanフォントが選択されるかもしれない。このシステムは、それから、手本となる文字及びそれに対応する属性と表現ツリーを、ウインドウ１１４，１１６，１１９それぞれにステップ２０４で表示すべく動作する。デフォルトフォントが与えられたなら、利用者はウインドウ１１６内の属性１１７と表現ツリー１２０のどちらかあるいは両方を、所望の視覚効果を達成するために操作することができる。操作が行われたなら、変更されたフォントは、利用者が修正を観察できるようにウインドウ１１４内で更新されることが望ましい。これはステップ２０８である。もし利用者が手本となる文字によって表示された、変更された文字が不満なら、この方法は、さらに操作が行えるステップ２０６へとパス２１４を通って戻ることができる。満足であれば、ステップ２１２において、利用者は対応する文字セット内の全ての文字に適用される新しいフォントを承認する。図示された例では、Time New Roman文字セットの輪郭は変更されないが、セット内の文字を満たしている色は、上述の、ボールの配列が合成されたテクスチャ画像を再生するように変えられている。新しい文字セットは、それからステップ２１６で一般の使用が可能となる。このステップは、１回あるいはそれ以上の、フォントの多くの利用、たとえば、文書処理される文書内のテキストの変更や、従来のフォントの上に表示された見出しの制作を含む。ウインドウ１１０、１１４、１１６、１１９は、コンピュータシステム１５０のビデオディスプレイ１５４に表示されることが望ましく、新しいフォントは、それを利用するために、たとえばハードディスク１５９に格納すればよい。代わりに、新しいフォントを所望の文書の印刷に直接利用することや、コンピュータネットワークを介して他のコンピュータの使用に供することもできる。デフォルトのフォントはこのような伝統的なフォントである必要はなく、たとえばネットワークやフロッピディスクによってコンピュータシステム１５０に供給される新しいフォントに対応した、上述した新しいアーキテクチャに対応するデータフォーマットを含んでいてもよい。それから、利用者はそれらの新しいフォントを文書中で直接利用したり、あるいは、さらにフォントを生成するために、上述した方法で新しいフォントを変更することもできる。
【００５３】
大まかに説明したとおり、本発明の主旨あるいは範囲から逸脱することなく、具体的な実施例により示した本発明に対して多くのバリエーション及び変形を為しえることは、当業者には理解されるであろう。それゆえ、説明した実施例は、全ての点において実例であると見なされるべきで、限定的と見なされるべきではない。
【図面の簡単な説明】
本発明の範囲内に収まる他のいかなる形式にも関らず、本発明のいくつかの実施例を単なる例として、添付した次の図面を用いて説明する。
【図１】第１の実施例を用いた文字グリフの構造を説明する図である。
【図２】文字コードからグリフインデックスを引き渡す処理を説明する図である。
【図３】グラフィックコンテクスト属性のレイアウトを説明する図である。
【図４】植字情報の使用を説明する図である。
【図５】第1の実施例の原理に従ってフォントを格納するためのファイル構造を説明する図である。
【図６】ＧＯＢツリーの選択処理を説明する図である。
【図７】第1の実施例に従ってフォント文字をアクセスする工程の流れ図である。
【図８】最終文字の精製処理を説明する図である。
【図９】複数のグラフィックコンテクストを説明する図である。
【図１０】グラフィックコンテクストの属性の設定を説明する図である。
【図１１】注目特性を有するフォントの例を説明する図である。
【図１２】図１１のフォントに関するＧＯＢツリーの構造の例を説明する図である。
【図１３】第２の実施例のユーザインターフェースの例を説明する図である。
【図１４】
【図１５】第２の実施例の従って操作ツールの構成に関する分類の例を説明する図である。
【図１６】本発明の様々な実施例が実行できるコンピュータシステムの概要ブロック図である。
【図１７】好適な実施例に従ったフォント制作処理のフローチャートである。
【図１】
0004434343.tif 000002
【図２】
0004434343.tif 000003
【図３】
0004434343.tif 000004
【図４】
0004434343.tif 000005
【図５】
0004434343.tif 000006
【図６】
0004434343.tif 000007
【図７】
0004434343.tif 000008
【図８】
0004434343.tif 000009
【図９】
0004434343.tif 000010
【図１０】
0004434343.tif 000011
【図１１】
0004434343.tif 000012
【図１２】
0004434343.tif 000013
【図１３】
0004434343.tif 000014
【図１４】
0004434343.tif 000015
【図１５】
0004434343.tif 000016
【図１６】
0004434343.tif 000017
【図１７】
0004434343.tif 000018