(57)【要約】【課題】フォントデータの容量の増大を抑制し、所定以下の文字サイズのラスタデータに文字潰れを生じさせないエレメント方式フォントの記号表示装置等を提供すること。【解決手段】記号を識別する記号識別情報に予め定められた全体構成数のエレメントを対応付けたエレメントリスト３１１と、エレメントのエレメント識別情報に対応づけてエレメントの輪郭を定める輪郭情報を対応づけた形状リスト３１２と、を記憶したフォントデータベース３１と、輪郭情報を用いて輪郭を生成し、該輪郭から記号のサイズに応じたラスタデータを描画するラスタデータ描画手段２９ａと、を有する記号表示装置１００において、フォントデータベース３１は、所定以下のサイズの記号に、全体構成数よりも少ない数のエレメントを対応づける、ことを特徴とする。【選択図】図６
2008310032.tif 000002
【特許請求の範囲】
【請求項１】
記号を識別する記号識別情報にエレメントのエレメント識別情報を対応づけると共に、前記エレメント識別情報に当該エレメントの配置情報を対応付けたエレメントリストと、前記エレメント識別情報に対応づけて前記エレメントの輪郭を定める輪郭情報を対応づけた形状リストと、を記憶したフォントデータベースと、
前記輪郭情報を用いて前記輪郭を生成し、該輪郭から記号のサイズに応じたラスタデータを描画するラスタデータ描画手段と、
を有する記号表示装置において、
前記フォントデータベースは、
記号のサイズに応じて、前記エレメント識別情報に対応づける前記配置情報の数を可変としている、
ことを特徴とする記号表示装置。
【請求項２】
前記エレメントリストは、
同一の記号の前記記号識別情報に、記号のサイズに応じて数の異なる前記配置情報を対応づける、
ことを特徴とする請求項１記載の記号表示装置。
【請求項３】
前記形状リストは、
前記エレメント識別情報に対応づけて、前記記号識別情報及び該記号識別情報毎に記号のサイズに応じて数の異なる前記配置情報を対応づける、
ことを特徴とする請求項１記載の記号表示装置。
【請求項４】
対応づけられた前記配置情報は、当該サイズの記号を出力する場合に描画するエレメントの前記配置情報である、
ことを特徴とする請求項３記載の記号表示装置。
【請求項５】
前記形状リストは、
前記エレメント識別情報を前記エレメントの配置に応じてさらに識別したサブエレメント識別情報に、前記記号識別情報及び該サブエレメントの描画の有無を記号のサイズに基づき指定する表示情報を対応づける、
ことを特徴とする請求項１記載の記号表示装置。
【請求項６】
前記エレメントリストは、
前記配置情報毎に描画の優先順位を記憶しており、
前記ラスタデータ描画手段は、記号のサイズに応じて算出した前記エレメントの表示可能数に応じて、前記優先順位の高い順に所定数の前記配置情報を抽出し、抽出した前記配置情報の前記エレメントのみラスタデータを描画する、
ことを特徴とする請求項１記載の記号表示装置。
【請求項７】
前記ラスタデータ描画手段が描画した前記ラスタデータを出力する出力装置、
を有することを特徴とする請求項１記載の記号表示装置。
【請求項８】
前記出力装置は、ディスプレイ又はプリンタである、ことを特徴とする請求項７記載の記号表示装置。
【請求項９】
記号を識別する記号識別情報に予め定められた全構成数のエレメントを対応付けると共に、所定以下のサイズの記号に前記全構成数よりも少ない数の前記エレメントを対応づけたエレメントリストと、前記エレメントのエレメント識別情報に対応づけて前記エレメントの輪郭を定める輪郭情報を対応づけた形状リストと、を記憶したフォントデータベースと、
コンピュータから記号を識別する記号識別情報を受信する手段と、
前記輪郭情報を用いて前記輪郭を生成し、該輪郭から記号のサイズに応じたラスタデータを描画するラスタデータ描画手段と、
前記ラスタデータ描画手段が描画した前記ラスタデータを印刷する印刷手段と、を有するプリンタ。
【請求項１０】
ラスタデータ描画手段が、
記号を識別する記号識別情報にエレメントのエレメント識別情報を対応づけると共に、前記エレメント識別情報に当該エレメントの全ての配置情報を対応付けたエレメントリストと、前記エレメント識別情報に対応づけて前記エレメントの輪郭を定める輪郭情報を対応づけた形状リストと、を記憶したフォントデータベースと、を参照して、
前記輪郭情報を用いて前記輪郭を生成し、該輪郭から記号のサイズに応じたラスタデータを描画するステップと、
描画した前記ラスタデータを出力装置に出力するステップと、有する、
ことを特徴とする記号表示装置の記号表示方法。
【請求項１１】
請求項１０記載の記号表示方法をコンピュータに実行させることを特徴とするプログラム。
【請求項１２】
請求項１１記載のプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【請求項１３】
記号を識別する記号識別情報にエレメントのエレメント識別情報を対応づけると共に、前記エレメント識別情報に当該エレメントの全ての配置情報を対応付けたエレメントリストと、前記エレメント識別情報に対応づけて前記エレメントの輪郭を定める輪郭情報を対応づけた形状リストと、を記憶したフォントデータベースであって、
記号のサイズに応じて、前記エレメント識別情報に対応づける前記配置情報の数を可変としている、
ことを特徴とするフォントデータベース
【請求項１４】
請求項１３記載のフォントデータベースを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記号を出力する記号表示装置等に関し、特に、予め定められた数のエレメントを組み合わせて記号を表現するエレメント方式フォントを用いた記号表示装置、プリンタ、記号表示方法、フォントデータベース、プログラム及び記憶媒体に関する。
【背景技術】
【０００２】
コンピュータ上で実行されるアプリケーションプログラムは、キーボードなどの入力装置から入力された文字、記号、数字等（以下、単に文字という）の文字コードに対応したラスタデータをディスプレイなどの出力装置に出力する。ラスタデータの表示方法に基づき、ビットマップフォント、アウトラインフォント及びエレメント方式フォント、等のフォントが提案されている。
【０００３】
図１は、ビットマップフォントを１２ドット×１２ドットのビットマップ（以下、広義のビットマップと区別するためドットマップという）に出力したラスタデータの一例を示す図である。図１のラスタデータは「阿」という文字をドット毎の塗りつぶしパターンで表示している。
【０００４】
ビットマップフォントのフォントデータには、文字コードに対応づけて各ドット毎に塗りつぶす／塗りつぶさない、のグリフ情報が記憶されている。ビットマップフォントでは拡大時のラスタデータに現れるジャギーを低減するため、同一の文字について様々な文字サイズのグリフ情報をフォントデータに記憶させておくことになるためフォントデータの記憶容量が増大してしまう。
【０００５】
これに対し、アウトラインフォントでは、グリフ（可視化された記号形状）の輪郭を多数の線分に分割して各線分をベジェ曲線という関数により定まる曲線にて表現する。ラスタライザは入力された文字コードに基づきグリフ情報を抽出し、ベジェ曲線に従い輪郭を描く。そして、その輪郭を文字サイズに応じて定まるドットマップの各ドットに当てはめ塗りつぶすべき点を塗りつぶすことでラスタデータが生成される。アウトラインフォントは、グリフを関数で表す性質上１つのグリフ情報で異なる文字サイズに対応でき、基本的に文字の拡大・縮小が容易である。
【０００６】
ところが、アウトラインフォントでは、ベジェ曲線に従い描かれた輪郭をドットマップの各ドットに当てはめて塗りつぶすため、文字サイズが小さい（ドット数が少ない）と複雑な形状のラスタデータのいわゆる文字潰れが生じてしまう。
【０００７】
図２（ａ）は、アウトラインフォントの文字潰れの一例を示す図である。図２（ａ）では「問題の回避策」という文字列を８ポイントから２４ポイントまで表示している。なお、ポイントとは文字サイズの単位であって、ポイント数に応じてドットマップの大きさ（縦横のドット数）が定まる。図２（ａ）に示すように、文字サイズが小さいと「門（もんがまえ）」、「題」などの一部で、文字形状を表示するためのドット数が足りず、文字が潰れてしまっている。
【０００８】
この文字潰れを回避するため、アウトラインフォントでは所定以下の文字サイズでは、同一文字に異なるビットマップフォントのフォントデータを用意している（例えば特許文献１参照。）。このフォントデータは、ドット数が不十分なドットマップに表示するため文字形状の一部を簡略化しているので、文字サイズが小さくても文字潰れを回避することができる。図２（ｂ）は所定以下の文字サイズの文字を簡略化して表示したラスタデータの一例を示す。図２（ｂ）では「問題の回避策」という文字列を８ポイントから２４ポイントまで表示しているが、９ポイントから２０ポイントまでがビットマップ方式で表示した文字列である。例えば、「問」という文字の「門」の一部を表示しないラスタデータをビットマップフォントで表示することで、文字潰れが回避されている。
【０００９】
しかしながら、アウトラインフォントのフォントデータにこのようにビットマップフォントのフォントデータを搭載すると、フォントデータの記憶容量が増大してしまう。このため、モバイル機器など記憶容量に制限がある装置への搭載が困難で、また、パソコンでもハードディスクの容量を占有することとなっている。
【００１０】
エレメント方式フォントも、グリフの輪郭を多数の線分に分割して各線分をベジェ曲線という関数により定まる曲線にて表示するが、エレメント方式フォントでは文字を構成するエレメント毎にグリフ情報を備える点でアウトラインフォントと異なる。図３（ａ）は文字のエレメントの一例を示す。ほぼ全ての文字は、例えば、縦線１０１，横線１０２、左払い１０３、右払い１０４、等、１０程度の構成単位で構成できるとされている。実際には、線幅やラスタデータのバランスを考慮するため、数百程度のエレメントにより全ての文字を構成するが、このエレメントに対応したグリフ情報は各文字に共通に使用できるため、ビットマップを含まないアウトラインフォントのフォントデータと比べても記憶容量を低減することができる。
【００１１】
図３（ｂ）は、エレメントを共通に利用して構成される異なる文字の一例を示す。「出」「炭」「屈」はいずれも「山」という文字のパーツを含む。したがって、「山」のように多くの文字で共通して利用される部首等のパーツのグリフ情報を記憶しておくことで、エレメント方式フォントではさらにフォントデータを低減できることになる。例えば、エレメント数で数えた場合、「出」は７エレメント、「炭」は１０エレメント、「屈」は１１エレメントであるが、「山」を１つのエレメントと見なした場合、「出」は２エレメント、「炭」は７エレメント、「屈」は６エレメントとなり、文字体系に共通したパーツが出現するほど記憶容量を低減できることになる。
【特許文献１】特開平０５−１７３５３９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、エレメント方式フォントであっても、各エレメントの輪郭を文字サイズに応じて定まるドットマップの各ドットに当てはめ塗りつぶすべき点を塗りつぶすという点でアウトラインフォントと同じであるため、アウトラインフォントと同様に文字サイズが小さいと複雑なグリフのラスタデータにいわゆる文字潰れが生じてしまう。エレメント方式フォントのフォントデータに、アウトラインフォントと同様ビットマップフォントのフォントデータを搭載すると記憶容量が増大してしまうため、エレメント方式フォントの利点を生かせず好ましくない。
【００１３】
本発明は、上記課題に鑑み、フォントデータの容量の増大を抑制し、所定以下の文字サイズのラスタデータに文字潰れを生じさせないエレメント方式フォントの記号表示装置、プリンタ、記号表示方法、フォントデータベース、プログラム及び記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記課題に鑑み、本発明は、記号を識別する記号識別情報（例えば文字コード）に予め定められた全構成数のエレメントを対応付けたエレメントリストと、エレメントのエレメント識別情報（例えば、エレメント番号）に対応づけてエレメントの輪郭を定める輪郭情報を対応づけた形状リスト（例えば、グリフ情報リスト３１２）と、を記憶したフォントデータベース（例えばフォントデータ３１）と、輪郭情報を用いて輪郭を生成し、該輪郭から記号のサイズに応じたラスタデータを描画するラスタデータ描画手段と、を有する記号表示装置（例えば、記号表示システム１００）において、フォントデータベースは、所定以下のサイズの記号に、全体構成数よりも少ない数のエレメントを対応づける、ことを特徴とする。
【００１５】
本発明によれば、所定以下のサイズの記号では全体構成数よりも少ない数のエレメントが表示されるので、所定以下の文字サイズのラスタデータに文字潰れを生じさせず、またビットマップフォントを備えないのでフォントデータの容量の増大を抑制できる。
【発明の効果】
【００１６】
フォントデータの容量の増大を抑制し、所定以下の文字サイズのラスタデータに文字潰れを生じさせないエレメント方式フォントの記号表示装置、プリンタ、記号表示方法、フォントデータベース、プログラム及び記憶媒体を提供することができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明を実施するための最良の形態について、図面を参照しながら実施例を挙げて説明する。
【００１８】
図４（ａ）（ｂ）は、記号表示システム１００の斜視図の一例を示す。図４（ａ）（ｂ）いずれの場合も記号表示システム１００はコンピュータシステムにより構成される。図４（ａ）の記号表示システム１００は、コンピュータ本体１１、ディスプレイ１２、キーボード１３、ポインティングデバイス１４を有する。また、文字等を用紙に印刷するプリンタ１５がコンピュータ本体１１に接続されている。なお、記号表示システム１００は、図４（ｂ）に示すように、携帯電話、ＰＨＳ、ＰＤＡ（Personal Digital Assistant）などの可搬型のモバイル機器、車載装置等、組み込み機器であってもよい。
【００１９】
コンピュータ本体１１は、予めインストールされたＯＳ（Operating System）に基づき動作し、ＯＳが提供するＡＰＩ（Application Program Interface）によりＯＳの種々の機能が利用できるようになっている。例えば、Windows（登録商標）ではＧＤＩ（Graphic Device Interface）と呼ばれるＡＰＩがディスプレイ１２やプリンタ１５等のハードウェアの違いを吸収し、本実施形態の記号をこれらの出力装置から出力することを可能にする。なお、記号には文字、数字、アルファベット、絵文字など２次元の情報伝達表示を含むが本実施形態では文字を対象に説明する。
【００２０】
プリンタ１５は、コンピュータ本体１１が出力する文字のラスタデータをレーザ、インクジェット等、公知の印刷方法で用紙に形成するものであればよい。
【００２１】
本実施形態の記号表示システム１００は、所定以下の文字サイズでは一部のエレメントを省略したグリフ情報を用いることで、所定以下の文字サイズの文字（以下、小サイズ文字という）を表示する場合に文字潰れを防止する。また、小サイズ文字を表示する場合にビットマップフォントのフォントデータを用いないので、フォントデータ３１の記憶容量が増大することもない。
【００２２】
なお、本実施形態においてグリフは、情報伝達表示を可視化した特に形状をいい、ラスタデータは可視化した形状をさらにドットマップに当てはめて塗りつぶす／塗りつぶさないをドット毎に決定したビットマップで表示したものをいう。
【００２３】
始めに、文字サイズについて説明する。文字が潰れるか否かは、１文字をラスタデータに描画するために提供される、縦と横のドットからなるドットマップのドット数、及び、ラスタデータの形状に応じて定まる。したがって、小サイズ文字は一意に定まるものではないが、各文字（ラスタデータ）毎に文字が潰れてしまうドット数は定まるので、本実施形態ではこの文字毎に定まるドット数以下のドット数でラスタデータを描画する場合、その大きさの文字を小サイズ文字という。
【００２４】
ところで、多くのアプリケーションプログラム（以下、ＡＰという）では文字サイズをポイント数等で指定できるが、1インチあたりに何ドットの点を打てるかを表わすＤＰＩ（dot per inch）の設定次第で同じポイント数であってもドット数は異なる。例えば、画面設定が９６ＤＰＩ（１インチに９６個のドットがある）の１２ポイントのドット数は１６ドットになり、画面設定が１２０ＤＰＩ（１インチに１２０個のドットがある）の１２ポイントのドット数は２０ドットになる。そこで、本実施形態ではドット数により文字サイズを指定する。
【００２５】
図５は、記号表示システム１００のブロック図の一例を示す。記号表示システム１００は、それぞれバスで相互に接続されているＲＡＭ２１、ＲＯＭ２２、ドライブ装置２３、入力装置２４、ＵＳＢ（Universal Serial Bus）２５、ＮＩＣ（Network Interface Card）２６、表示制御装置２７、記憶装置２８及びＣＰＵ２９を有するように構成される。
【００２６】
ＲＡＭ２１はＯＳやＡＰ、データを一時保管する作業メモリになり、ＲＯＭ２２はＢＩＯＳなどＯＳを起動するためのプログラムや設定ファイルを記憶している。ドライブ装置２３は、記憶媒体３０が着脱可能に構成されており、記憶媒体３０にＡＰやデータを書き込む際に使用され、また、記憶媒体３０に記録されたＡＰやデータを読み込み、記憶装置２８等に送出する。入力装置２４はキーボード１３やポインティングデバイス１４など、ユーザからの様々な操作指示を入力するためのデバイスである。ＵＳＢ２５はプリンタ１５と接続するためのインターフェイスである。ＮＩＣ２６は、インターネットやＬＡＮなどのネットワークに接続するためのインターフェイスである。表示制御装置２７は、プログラムが指示する画面情報に基づき所定の解像度や色数等で液晶などのディスプレイ１２に描画する。例えば、ＧＵＩ（Graphical User Interface）画面を形成し、操作に必要な各種ウィンドウやデータ等をディスプレイ１２に表示する。
【００２７】
ＣＰＵ２９は、ＯＳやＡＰなどのプログラムを記憶装置２８からロードして実行することで種々の機能を提供すると共に、記号表示システム１００が行う処理を統括的に制御する。
【００２８】
記憶装置２８は、ＨＤＤ（ハードディスクドライブ）やフラッシュメモリなど不揮発性メモリであり、ＯＳ、ＡＰ、ドライバ等のファイルが記憶されている。また、本実施形態では、フォントデータ３１、ビットマップ描画プログラム３２が記憶されている。ＣＰＵ２９がビットマップ描画プログラム３２を実行することで、フォントデータ３１を用いてエレメントの輪郭を生成し、該輪郭から記号のサイズに応じたラスタデータを描画するラスタデータ描画手段２９ａが実現される。
【００２９】
記号表示システム１００が図４（ａ）のようにコンピュータシステムであれば、フォントデータ３１及びビットマップ描画プログラム３２は記憶媒体３０に記憶された状態で配布されたり、ネットワークからダウンロードされて記憶装置２８にインストールされる。また、記号表示システム１００が図４（ｂ）のように組み込み機器であれば、ＲＯＭ２２又は記憶装置２８に予めインストールして出荷されるか、ネットワークからダウンロードして記憶装置２８にインストールされる。なお、記憶媒体３０は、ＤＶＤ−ＲＯＭ等の光ディスク、ＵＳＢメモリなどの半導体メモリ、フロッピーディスクなどの磁気ディスクである。
【００３０】
本実施形態の記号表示システム１００のフォントデータ３１は、小サイズ文字用のグリフ情報を記憶している点に特徴があるが、まず、小サイズ文字に限られないエレメント方式フォントのフォントデータ３１について説明する。
【００３１】
図６はフォントデータ３１の一例を示す図であり、図６（ａ）はグリフ情報リスト３１２を、図６（ｂ）はエレメントリスト３１１をそれぞれ示す。図６では「轟」（文字コード：８Ｄ８Ｃ）という文字を例にした。グリフ情報リスト３１２には、各エレメント毎に１つのグリフ情報が登録されている。グリフ情報は、２つの端点位置、及び、曲線の曲がり具合を制御する１又は２の制御点である。これによりベジェ曲線の形状を特定できる。
【００３２】
各エレメントには識別するためのエレメント番号が付与されていて、横線のエレメント１をグリフに含む文字はエレメント１のグリフ情報を用いてラスタデータが描画される。
【００３３】
また、エレメントリスト３１１には、文字コードに対応づけてエレメント番号が登録されている。エレメントリスト３１１は各文字のラスタデータの描画に用いるエレメント番号が登録されているので、文字コードが分かればラスタデータに必要なエレメント番号が抽出される。また、エレメント番号にはエレメントの配置（例えば始点）を定める配置情報が対応づけられている。各配置情報は、例えば、所定の原点を基準にしたドットマップ内の座標を示す。
【００３４】
したがって、文字コードに基づきエレメントリスト３１１を参照すると、ラスタデータに必要なエレメント番号が判明し、各エレメントの配置は配置情報から抽出されるので、当該文字のグリフのラスタデータを生成できる。
【００３５】
フォントデータ３１を参照して、ラスタデータを生成するのがラスタデータ描画手段２９ａであり、一般にラスタライザと呼ばれる。ラスタデータ描画手段２９ａはＯＳによってはＯＳの機能の一部として提供されるが、原則的にフォントデータ３１とセットに設計されている。
【００３６】
例えば、ワープロなどのＡＰから文字「轟」の描画が要求されると、ラスタデータ描画手段２９ａは文字コード（８Ｄ８Ｃ）及び文字サイズ（例えば２１ドット）に基づきフォントデータ３１を参照する。「轟」の文字コード８Ｄ８Ｃに基づきエレメントリスト３１１を参照し、２つのエレメント（エレメント１，２）を抽出する。そして、ラスタデータ描画手段２９ａはグリフ情報リスト３１２からエレメント１，２のグリフ情報を抽出し、それぞれの輪郭を描画する。
【００３７】
所定数のドットマップに、１５個あるエレメント１の配置情報に従い１５本の横線を配置し、９個あるエレメント２の配置情報に従い９本の縦線を配置し、各ドットと輪郭の対応から塗りつぶすべき点を塗りつぶしてラスタデータを生成する。なお、フォントデータ３１は、グリフの幅や高さを示すヒンティング情報を有していてもよい。
【００３８】
以上のような手順で、図７に示す「轟」という文字のラスタデータが得られる。丸で示した位置はエレメント１の配置情報に指定される位置を、三角で示した位置はエレメント２の配置情報に指定される位置を、それぞれ示す。
【００３９】
塗りつぶしたラスタデータは表示制御装置２７に送信され、ディスプレイ１２に表示されたウィンドウのＡＰが指示する位置に表示される。
【００４０】
なお、プリンタ１５にて文字を印刷する場合は、ラスタデータ描画手段２９ａが塗りつぶしたラスタデータは例えばＡＰが指示するページ毎にプリンタ１５に送信され、プリンタ１５がそのまま印刷する。また、プリンタ１５がラスタデータ描画手段２９ａ及びフォントデータ３１を備えている場合、ＡＰは書体、文字サイズ及び文字コード（文書データ）をプリンタ１５に送信する。プリンタ１５は、書体、文字サイズ及び文字コードを受信し、プリンタ１５のラスタデータ描画手段２９ａが各エレメントの輪郭を描画し、その輪郭を文字サイズに応じて定まる各ドットに当てはめ塗りつぶすべき点を塗りつぶしてラスタデータを生成する。
【００４１】
本実施形態の記号表示システム１００は、フォントデータ３１に特徴を備えるものであり、以下、実施例に沿って説明する。
【実施例１】
【００４２】
図８は、本実施例のフォントデータ３１の一例を示す。図８（ａ）はグリフ情報リスト３１２であるが、グリフ情報リスト３１２については図６（ａ）と同じである。これに対し、図８（ｂ）に示すエレメントリスト３１１は文字サイズに応じて数の異なる配置情報を備えている点で図６（ｂ）と異なる。
【００４３】
図８（ｂ）では、文字サイズが１０ドット〜１３ドット、１４ドット〜１９ドット、２０ドット以上、の３つの文字サイズに区分しており、より大きい文字サイズの文字はそれ以下の文字サイズの配置情報を共有している。
【００４４】
そして、それぞれの文字サイズ毎に配置情報が登録されており、１０ドット〜１３ドットではエレメント１の４個の配置情報とエレメント２の５個の配置情報、１４ドット〜１９ドットではエレメント１の９個の配置情報とエレメント２の７個の配置情報、２０ドット以上ではエレメント１の１４個の配置情報とエレメント２の９個の配置情報、が登録されている。したがって、２０ドット以上のように文字サイズが大きい場合には図６（ｂ）と同様である。
【００４５】
図８（ｂ）のように、より大きい文字サイズの文字はそれ以下の文字サイズの配置情報を共有するのでなく、文字サイズ毎に独立した配置情報を登録してもよい。この場合も文字サイズが小さいとエレメントの配置情報も少なくなる。独立した配置情報を記憶しておくことでグリフを自在に替えることができる。
【００４６】
このように、文字サイズが小さい文字でエレメントの配置情報が少ないことは、同一文字でも文字サイズが小さいとエレメントの数が少ないことを意味するため、文字潰れを防止することができる。
【００４７】
図９は、ラスタデータ描画手段２９ａがラスタデータを描画する手順を示すフローチャート図である。ラスタデータ描画手段２９ａはラスタデータの描画要求と共に、文字コード及び文字サイズをＡＰ等から取得する（Ｓ１０）。書体の指定がある場合は書体情報を取得してもよい。
【００４８】
ラスタデータ描画手段２９ａは文字コードに基づきエレメントリスト３１１を参照し当該文字コードのグリフに用いるエレメントのエレメント番号を抽出する（Ｓ２０）。文字コード８Ｄ８Ｃの場合はエレメント番号１，２が抽出される。
【００４９】
ついで、ラスタデータ描画手段２９ａは文字サイズに基づきエレメントリスト３１１を参照しその文字サイズに対応した配置情報を抽出する（Ｓ３０）。例えば、１０ドットであればエレメント１で４個の配置情報、エレメント２で５個の配置情報が抽出される。
【００５０】
ついで、ラスタデータ描画手段２９ａはグリフ情報リスト３１２を参照してエレメント番号に対応したエレメントのグリフ情報を抽出する（Ｓ４０）。エレメント番号１，２ではそれぞれ縦線と横線のグリフ情報が抽出される。
【００５１】
ついで、ラスタデータ描画手段２９ａはグリフ情報に基づき各エレメントの輪郭を描画し、配置情報に基づきドットマップに当てはめることで、塗りつぶすドットを決定する（Ｓ５０）。塗りつぶすと決定されたドットを塗りつぶすと文字コード８Ｄ８Ｃ及び文字サイズに対応したラスタデータが生成される（Ｓ６０）。
【００５２】
図１０（ａ）は、１０ドット〜１３ドットの文字サイズの「轟」のラスタデータを、図１０（ｂ）は１４ドット〜１９ドットの文字サイズの「轟」のラスタデータを、図１０（ｃ）は２０ドット以上の文字サイズの「轟」のラスタデータを、それぞれ示す。１０ドット〜１３ドットの文字サイズの配置情報によれば、横線（エレメント１）が４本、縦線（エレメント２）が５本であるが、このようにエレメントを省略することで小文字サイズでもラスタデータの潰れを防止できる。
【００５３】
１４ドット〜１９ドットの文字サイズの配置情報によれば、横線（エレメント１）が９本、縦線（エレメント２）が７本であるが、このようにエレメントを省略することで小文字サイズでもラスタデータの潰れを防止でき、また、若干文字サイズが大きくなるとエレメント数を増やすことで元のラスタデータ「轟」に近い形状のラスタデータとすることができる。
【００５４】
また、図１０（ｃ）に示すように、文字サイズが所定以上になればエレメントを省略することなくラスタデータを表示できる。
【００５５】
〔変形例〕
各エレメントの配置情報をエレメントリスト３１１に一体に登録してもよい。図１１は、本実施例のフォントデータ３１の一例を示す。図１１（ａ）に示すグリフ情報リスト３１２は図８（ａ）と同じであるが、エレメントリスト３１１は文字サイズ毎に配置情報を備えていると共に、２つのエレメント１，２に対し一体に配置情報が格納されている。なお、１０ドット〜１３ドットではエレメント１の４個の配置情報とエレメント２の５個の配置情報、１４ドット〜１９ドットではエレメント１の９個の配置情報とエレメント２の７個の配置情報、２０ドット以上ではエレメント１の１４個の配置情報とエレメント２の９個の配置情報、が登録されている。
【００５６】
配置情報は図８（ｂ）と同じなので、図１１（ｂ）の配置情報に基づき描画されるラスタデータは図１０（ａ）〜（ｃ）と同様である。
【００５７】
本実施例によれば、フォントデータ３１の記憶容量が少ないエレメント方式フォントの特徴を維持したまま、小サイズ文字のラスタデータの潰れを防止できる。例えば、同じことをアウトラインフォントで構成すると、文字サイズ毎に１文字全体のグリフ情報が必要となるが、本実施例ではグリフ情報リスト３１２は全ての文字及び文字サイズに共通なので、容量の増大は配置情報に関わる部分のみである。したがって、フォントデータ３１の記憶容量の増大分を最小限に抑制できる。
【実施例２】
【００５８】
実施例１では、エレメントリスト３１１の配置情報によりラスタデータの潰れを防止したが、本実施例ではグリフ情報リスト３１２によりラスタデータの潰れを防止する記号表示システム１００について説明する。
【００５９】
図１２は本実施例のフォントデータ３１の一例を示す。図１２（ｂ）のエレメントリスト３１１は文字サイズに関わらず共通であるが、図１２（ａ）のグリフ情報リスト３１２は、エレメント毎のグリフ情報に加え表示情報が登録されている。
【００６０】
表示情報は、文字コード毎に、当該文字サイズで表示するエレメントの配置情報を指定する。例えば、エレメント１を８Ｄ８Ｃ（轟）に用いる場合、１０〜１３ドットの文字サイズでは配置情報のうち「Ａ，Ｂ、Ｃ、Ｄ、Ｅ」のエレメントを表示することを示し、１４〜１９ドットの文字サイズでは配置情報のうち「Ａ，Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇ、Ｈ、Ｉ」のエレメントを表示することを示し、２０ドット以上の文字サイズでは全ての配置情報のエレメントを表示することを示している。
【００６１】
表示情報のＡ〜Ｉは配置情報そのものでもよいし、エレメントリスト３１１の配置情報の識別番号（例えば連番）でもよい。表示情報を配置情報そのものとした場合は、文字サイズに応じて形状が大きく変わる複雑な形状のグリフに有効であり、表示情報を配置情報の識別番号とした場合、記憶容量の増大を抑制できる。
【００６２】
図１２のフォントデータ３１を用いれば、文字コード毎に、小さい文字サイズには数の少ないエレメントが指定されているので、ラスタデータの文字潰れを防止できる。
【００６３】
図１３は、ラスタデータ描画手段２９ａがラスタデータを描画する手順を示すフローチャート図である。ラスタデータ描画手段２９ａはラスタデータの描画要求と共に、文字コード及び文字サイズをＡＰ等から取得する（Ｓ１０）。書体の指定がある場合は書体情報を取得してもよい。
【００６４】
ラスタデータ描画手段２９ａは文字コードに基づきエレメントリスト３１１を参照し当該文字コードのグリフに用いるエレメントのエレメント番号を抽出する（Ｓ２０）。文字コード８Ｄ８Ｃの場合はエレメント番号１，２が抽出される。
【００６５】
ついで、ラスタデータ描画手段２９ａはグリフ情報リスト３１２を参照してエレメント番号に対応したエレメントのグリフ情報を抽出する（Ｓ４０）。エレメント番号１，２ではそれぞれ縦線と横線のグリフ情報が抽出される。
【００６６】
ついで、ラスタデータ描画手段２９ａは文字サイズに基づき、グリフ情報リスト３１２からエレメント毎に文字サイズに対応した表示情報を抽出する（Ｓ４２）。例えば、１０ドットであればエレメント１で４個の配置情報、エレメント２で５個の配置情報が抽出される。
【００６７】
ついで、ラスタデータ描画手段２９ａはグリフ情報に基づき各エレメントの輪郭を描画し、配置情報に基づきドットマップに当てはめることで、塗りつぶすドットを決定する（Ｓ５１）。塗りつぶすと決定されたドットを塗りつぶすと文字コード８Ｄ８Ｃ及び文字サイズに対応したラスタデータが生成される（Ｓ６０）。かかる処理により図１０（ａ）〜（ｃ）に示したラスタデータが描画される。
【００６８】
本実施例によれば、フォントデータ３１の記憶容量が少ないエレメント方式フォントの特徴を維持したまま、小サイズ文字のラスタデータの文字潰れを防止できる。本実施例ではエレメントリスト３１１は文字サイズに関わらず共通なので、容量の増大は表示情報に関わる部分のみである。したがって、フォントデータ３１の記憶容量の増大を最小限に抑制できる。
【実施例３】
【００６９】
実施例２では、グリフ情報リスト３１２に文字コード及び文字サイズ毎の表示情報を設けたが、本実施例ではエレメント毎に表示情報を設けてラスタデータの潰れを防止する記号表示システム１００について説明する。
【００７０】
図１４は本実施例のフォントデータ３１の一例を示す。図１４（ｂ）のエレメントリスト３１１は文字サイズに関わらず共通であるが、図１４（ａ）のグリフ情報リスト３１２は、各エレメントに対応づけて文字サイズに応じた表示情報が登録されている。
【００７１】
例えば、文字「轟」のグリフでは横線は１４本であるので、それぞれに表示の有無を設定するため、グリフ情報リスト３１２にはエレメント１．１〜１．１４のエレメントが登録されている。１の位が同じエレメントは同じグリフである。このエレメント１．１〜１．１４はエレメントリスト３１１の配置情報に対応づけられていて、エレメント１．１〜１．１４毎に配置が定まっている。
【００７２】
また、エレメント１．１〜１．１４には当該エレメントをグリフに含む対象文字が登録されている。そして表示情報は、各エレメントの表示の可否を文字サイズに応じて示している。例えば、エレメント１．１は１０ドット以上で表示され、エレメント１．３は１４ドット以上で表示される（逆に言えば、エレメント１．３は１３ドット以下では表示されない）。したがって、文字サイズに応じてエレメント毎に表示の有無を指定できる。
【００７３】
図１５は、ラスタデータ描画手段２９ａがラスタデータを描画する手順を示すフローチャート図である。ラスタデータ描画手段２９ａはラスタデータの描画要求と共に、文字コード及び文字サイズをＡＰ等から取得する（Ｓ１０）。書体の指定がある場合は書体情報を取得してもよい。
【００７４】
ラスタデータ描画手段２９ａは文字コードに基づきエレメントリスト３１１を参照し当該文字コードのグリフに用いるエレメントのエレメント番号を抽出する（Ｓ２０）。文字コード８Ｄ８Ｃの場合はエレメント番号１，２が抽出される。
【００７５】
ついで、ラスタデータ描画手段２９ａはグリフ情報リスト３１２を参照してエレメント番号と文字サイズに基づきグリフ情報を抽出する（Ｓ４３）。エレメント番号は１の位が同じなら同じエレメントとして扱ってよいので、ラスタデータ描画手段２９ａはエレメント１．１〜１．１４の中から、表示情報の文字サイズに表示が許可されるグリフ情報を抽出する。
【００７６】
ついで、ラスタデータ描画手段２９ａは抽出したグリフ情報に対応した配置情報を抽出し、グリフ情報に基づき各エレメントの輪郭を描画しドットマップに当てはめることで、塗りつぶすドットを決定する（Ｓ５０）。塗りつぶすと決定されたドットを塗りつぶすと文字コード８Ｄ８Ｃ及び文字サイズに対応したラスタデータが生成される（Ｓ６０）。
【００７７】
以上の処理により、例えば図１６に示す「轟」のラスタデータが描画される。図１６では「車」の一部の横線を省略することで、ドット数の少ないドットマップにて潰れのないラスタデータの描画を実現している。
【００７８】
本実施例によれば、フォントデータ３１の記憶容量が少ないエレメント方式フォントの特徴を維持したまま、小サイズ文字のラスタデータの潰れを防止できる。エレメント１．１〜１．１４は横線を含む全ての文字に共通なので、フォントデータ３１の記憶容量が増大分を最小限に抑制できる。
【実施例４】
【００７９】
本実施例では、エレメント毎に表示する優先順位を定めておき、文字のグリフに対し文字サイズが小さいため全てのエレメントを表示できない場合、優先順位が所定以上のエレメントのみを表示する記号表示システム１００について説明する。
【００８０】
ドットマップが１０×１０に横線のエレメントを配置することを考えると、ラスタデータが潰れないためには１行おきに配置する必要があるため、１本の横線でドットマップの２行を消費すると考える。したがって、１０／２＝５本の横線を配置することができるが、多くのラスタデータでは１ドットだけ空白行を設けるため、実質的には「１０−１」の９ドットしかないことになり、９／２＝４（切り捨て）から４本の横線を配置することができる。縦線についても同様である。したがって、文字サイズから何本の横線及び縦線を表示できるかを算出することができる。
【００８１】
したがって、フォントデータ３１に、文字サイズに応じて各エレメントに優先順位を設定しておけば、優先順位の高いエレメントを取り出すことで、文字サイズが小さくても文字潰れのないラスタデータを表示できる。
【００８２】
表示可能数の算出例を示す。
１０ドット表示：（１０−１）／２＝４本
１１、１２ドット表示：（１１−１）ｏｒ（１２−１）／２＝５本
１３，１４ドット表示：（１３−１）ｏｒ（１４−１）／２＝６本
１５，１６ドット表示：（１５−１）ｏｒ（１６−１）／２＝７本
１７、１８ドット表示：（１７−１）ｏｒ（１８−１）／２＝８本
１９、２０ドット表示：（１９−１）ｏｒ（２０−１）／２＝９本
なお、エレメントには「左払い」や「てん」のように斜めのエレメントがあるが、これらについてはそれぞれ適当な算出式で表示可能数を算出すればよい。また、このような部首（エレメント）により横線、縦線の表示可能数が影響される場合は、その分をドット数から減じる（上式では分子の数値が減る）ことで、同様に表示可能数を算出できる。
【００８３】
図１７は、本実施例のエレメントリスト３１１の一例を示す。文字コードに対応づけてエレメント番号及び配置情報が対応づけられている。配置情報には、当該エレメントのエレメント数と各エレメントの配置情報が優先順位（図では１又は２）と共に記憶されている。
【００８４】
例えば、「轟」を１０ドット表示する場合、エレメント番号１のエレメントの表示可能数は４なので、優先順位が１の１（Ａ、Ａ）、１（Ｃ，Ｃ）（Ｄ，Ｄ）、１（Ｅ，Ｅ）、１（Ｆ，Ｆ）（Ｇ，Ｇ）（Ｈ，Ｈ）のエレメントが抽出され表示される。なお、配置情報が４個でなく７個あるのは、横方向に並列のエレメント（例えば、左下の車の第１辺と右下の車の第１辺）は１行に複数配置できるためである。
【００８５】
ところで、優先順位が１のエレメントは全て表示できるが優先順位が２のエレメントを全て表示することはできない場合、同じ優先順位のエレメントを全て表示できる場合にのみエレメントを表示した方がよい場合がある。これは、エレメントの優先順位を肉眼で好ましいラスタデータとなるように決定しているためである。したがって、文字サイズから算出された表示可能数によれば、より多くのエレメントを表示可能であっても、優先順位が同じエレメントを全て表示できない場合は全てのエレメントを表示できる同じ優先順位のエレメントまでを表示する。
【００８６】
また、文字によっては優先順位に従い１個でも多くのエレメントを表示した方が好ましい文字もあるので、優先順位の高い順（同じ優先順位の場合は配置情報の配置順）にエレメントを表示してもよい。いずれの表示方式を採用すべきかは文字毎に設定されている。また、図１７では優先順位を２段階で示したがより細かく優先順位を設定してもよい。
【００８７】
さらに、図１７では同じエレメント内において優先順位を設定したが、エレメント間における優先順位を定めてもよい。横線と縦線では競合することはないが、例えば斜めのエレメントと横線とは競合するため、エレメント間における優先順位を定めておくことで、肉眼で見た場合に好ましいラスタデータを描画できる。
【００８８】
したがって、ラスタデータを描画する場合、予め定められたエレメント間の優先順位を抽出し、優先順位の高いエレメントから消費するドット数を決定していき、優先順位の低いエレメントは文字サイズから既に消費されたドット数を減じた値から表示可能数を決定することで、文字サイズに応じて、文字潰れの防止と視認性を両立したラスタデータを描画できる。
【００８９】
図１８は、ラスタデータ描画手段２９ａがラスタデータを描画する手順を示すフローチャート図である。ラスタデータ描画手段２９ａはラスタデータの描画要求と共に、文字コード及び文字サイズをＡＰ等から取得する（Ｓ１０）。書体の指定がある場合は書体情報を取得してもよい。
【００９０】
ラスタデータ描画手段２９ａは文字コードに基づきエレメントリスト３１１を参照し当該文字コードのグリフに用いるエレメントのエレメント番号を抽出する（Ｓ２０）。文字コード８Ｄ８Ｃの場合はエレメント番号１，２が抽出される。
【００９１】
ついで、ラスタデータ描画手段２９ａは文字サイズに基づき表示可能数を算出する（Ｓ３１）。これによりエレメント毎に表示できる配置情報の数が定まる。
【００９２】
ついで、ラスタデータ描画手段２９ａは各エレメント毎に、優先順位の高い順に表示可能数の配置情報を抽出する（Ｓ３２）。これによりエレメント毎に表示する配置情報が定まる。
【００９３】
ラスタデータ描画手段２９ａはグリフ情報リスト３１２を参照してエレメント番号に対応したエレメントのグリフ情報を抽出する（Ｓ４０）。エレメント番号１，２ではそれぞれ縦線と横線のグリフ情報が抽出される。
【００９４】
ついで、ラスタデータ描画手段２９ａはグリフ情報に基づき各エレメントの輪郭を描画しドットマップに当てはめることで、塗りつぶすドットを決定する（Ｓ５０）。塗りつぶすと決定されたドットを塗りつぶすと文字コード８Ｄ８Ｃ及び文字サイズに対応したラスタデータが生成される（Ｓ６０）。
【００９５】
本実施例によれば、各エレメントの優先順位を定めておき、文字サイズに応じて算出された表示可能数だけ優先順位の高い順にエレメントを表示することで、エレメント方式フォントの特徴を維持したまま、小サイズ文字のラスタデータの潰れを防止できる。
【図面の簡単な説明】
【００９６】
【図１】ラスタデータの一例を示す図である。
【図２】アウトラインフォントの文字潰れの一例を示す図である。
【図３】文字のエレメントの一例を示す図である。
【図４】記号表示システムの斜視図の一例である。
【図５】記号表示システムのブロック図の一例である。
【図６】フォントデータの一例を示す図である。
【図７】エレメント方式フォントの描画結果であるラスタデータの一例を示す図である。
【図８】フォントデータの一例を示す図である（実施例１）。
【図９】ラスタデータ描画手段がラスタデータを描画する手順を示すフローチャート図である（実施例１）。
【図１０】文字サイズに応じて異なる「轟」のラスタデータを示す。
【図１１】フォントデータの一例を示す図である（実施例１変形例）。
【図１２】フォントデータの一例を示す図である（実施例２）。
【図１３】ラスタデータ描画手段がラスタデータを描画する手順を示すフローチャート図である（実施例２）。
【図１４】フォントデータの一例を示す図である（実施例３）。
【図１５】ラスタデータ描画手段がラスタデータを描画する手順を示すフローチャート図である（実施例３）。
【図１６】一部のエレメントが省略された「轟」のラスタデータを示す図である。
【図１７】フォントデータの一例を示す図である（実施例４）。
【図１８】ラスタデータ描画手段がラスタデータを描画する手順を示すフローチャート図である（実施例４）。
【符号の説明】
【００９７】
１１      コンピュータ本体
１２      ディスプレイ
１３      キーボード
１４      ポインティングデバイス
１５      プリンタ
２１      ＲＡＭ
２２      ＲＯＭ
２３      ドライブ装置
２４      入力装置
２５      ＵＳＢ
２６      ＮＩＣ
２７      表示制御装置
２８      記憶装置
２９      ＣＰＵ
２９ａ    ラスタデータ描画手段
３０      記憶媒体
３１      フォントデータ
３２      ビットマップ描画プログラム
１００    記号表示システム
３１１    エレメントリスト
３１２    グリフ情報リスト
【図１】
2008310032.tif 000003
【図２】
2008310032.tif 000004
【図３】
2008310032.tif 000005
【図４】
2008310032.tif 000006
【図５】
2008310032.tif 000007
【図６】
2008310032.tif 000008
【図７】
2008310032.tif 000009
【図８】
2008310032.tif 000010
【図９】
2008310032.tif 000011
【図１０】
2008310032.tif 000012
【図１１】
2008310032.tif 000013
【図１２】
2008310032.tif 000014
【図１３】
2008310032.tif 000015
【図１４】
2008310032.tif 000016
【図１５】
2008310032.tif 000017
【図１６】
2008310032.tif 000018
【図１７】
2008310032.tif 000019
【図１８】
2008310032.tif 000020