(57)【要約】【課題】より高速に文字を描画することを目的とする。【解決手段】ＣＰＵは、内部メモリ上に書き込み可能な文字の高さを算出し（ＳＡ１１）、書き込む文字の高さでこの値を除算して、分割数ｍを算出する（ＳＡ１２）。ＣＰＵは、分割数ｍが規定値Ｐを超えないと判断すると（ＳＡ１３；ＮＯ）、分割数ｍとし、内部メモリの使用を選択する（ＳＡ１４、１５）。ＣＰＵは分割数ｍが規定値Ｐを超えると判断すると（ＳＡ１３；ＹＥＳ）、ＲＡＭ上に書き込み可能な文字の高さを算出し（ＳＡ１６）、書き込む文字の高さでこの値を除算して、分割数ｎを算出する（ＳＡ１７）。ＣＰＵは、分割数ｎとし、ＲＡＭの使用を選択する（ＳＡ１８、１９）。以上のように、ＣＰＵは内部メモリでは分割数が規定値Ｐを超える場合に、分割数が少なくて済むＲＡＭを選択するので、高速な処理が可能な方のメモリを使用することができる。【選択図】図１１
2008241924.tif 000002
【特許請求の範囲】
【請求項１】
字形データによって表される文字の字形を、所定の部分領域毎に分割して描画する第１の描画手段と、
前記第１の描画手段により描画された字形に基づいて文字を描画する第２の描画手段と、
前記第２の描画手段によって描画された文字を転送する転送手段と、
データを記憶する第１の記憶手段と、
前記第１の記憶手段よりデータの読み書き速度が遅く、且つ、記憶容量が大きい第２の記憶手段と、
前記第１の描画手段によって分割された部分領域の数が閾値以下の場合には前記第１の記憶手段を選択し、前記第１の描画手段によって分割された前記部分領域の数が前記閾値を超える場合には前記第２の記憶手段を選択する選択手段とを備え、
前記選択手段によって前記第１の記憶手段が選択された場合、前記第１の描画手段は、前記所定の部分領域毎に分割して描画した字形を前記第１の記憶手段に書き込み、前記第２の描画手段は、前記第１の記憶手段から前記字形を読み出して前記文字を描画し、
前記選択手段によって前記第２の記憶手段が選択された場合、前記第１の描画手段は、前記所定の部分領域毎に描画した字形を前記第２の記憶手段に書き込み、前記第２の描画手段は、前記第２の記憶手段から前記字形を読み出して文字を描画する
ことを特徴とする文字描画装置。
【請求項２】
前記第２の記憶手段と外部バスを介して接続された第１のバスと、
前記第１の記憶手段に接続された第２のバスと、
前記第１のバスと前記第２のバスとを接続する接続手段と
を備え、
前記第１の描画手段は、
前記第１のバス及び前記第２のバスに接続され、
前記選択手段によって前記第１の記憶手段が選択された場合、前記字形データに基づいて描画した字形を前記第２のバス経由で前記第１の記憶手段に書き込み、前記選択手段によって前記第２の記憶手段が選択された場合、前記字形データに基づいて描画した字形を前記第１のバス及び前記外部バスを介して前記第２の記憶手段に書き込み、
前記第２の描画手段は、
前記第２のバスに接続され、
前記選択手段によって前記第１の記憶手段が選択された場合、前記第１の記憶手段から前記第２のバス経由で前記字形を読み出して前記文字を描画し、前記選択手段によって前記第２の記憶手段が選択された場合、前記第２の記憶手段から前記外部バス、前記第１のバス、前記接続手段及び前記第２のバスを介して前記字形を読み出して前記文字を描画する
ことを特徴とする請求項１記載の文字描画装置。
【請求項３】
前記第２の記憶手段と外部バスを介して接続された第１のバスと、
前記第１の記憶手段に接続された第２のバスと
を備え、
前記第１の描画手段は、
前記第１のバス及び前記第２のバスに接続され、
前記選択手段によって前記第１の記憶手段が選択された場合、前記字形データに基づいて文字の字形を描画した字形を前記第２のバス経由で前記第１の記憶手段に書き込み、
前記選択手段によって前記第２の記憶手段が選択された場合、前記字形データに基づいて描画した字形を、前記第１のバス及び前記外部バスを介して前記第２の記憶手段に書き込み、
前記第２の描画手段は、
前記第１のバス及び前記第２のバスに接続され、
前記選択手段によって前記第１の記憶手段が選択された場合、前記第１の記憶手段から前記第２のバス経由で前記字形を読み出して前記文字を描画し、前記選択手段によって前記第２の記憶手段が選択された場合、前記第２の記憶手段から前記外部バス及び前記第１のバス経由で前記字形を読み出して前記文字を描画する
ことを特徴とする請求項１記載の文字描画装置。
【請求項４】
前記第１の記憶手段及び前記第２の記憶手段はそれぞれ複数の記憶領域を有しており、
前記第１の記憶手段及び前記第２の記憶手段が有する複数の記憶領域のうちのいずれかの記憶領域が、前記所定の部分領域毎に指定され、
前記第１の描画手段は、前記所定の部分領域毎に分割して描画した文字の字形を、各々の当該部分領域について指定された記憶領域に順次書き込み、
前記第２の描画手段は、前記第１の描画手段によって前記複数の記憶領域のいずれかに前記文字の字形が書き込まれると、その記憶領域から前記文字の字形を読み出し、読み出した字形に基づいて前記文字を描画する
ことを特徴とする請求項１に記載の文字描画装置。
【請求項５】
前記字形データは、アウトライン形式の字形データであり、
前記第１の描画手段は、前記字形データに基づいて文字の輪郭を描画して書き込み、
前記第２の描画手段は、前記文字の輪郭を読み出し、読み出した輪郭によって囲まれた領域を塗りつぶした文字を描画する
ことを特徴とする請求項１に記載の文字描画装置。
【請求項６】
前記字形データは、ストローク形式の字形データであり、
前記第１の描画手段は、前記字形データに基づいて、文字の線幅の中心線を描画して書き込み、
前記第２の描画手段は、前記文字の線幅の中心線を読み出し、読み出した中心線の周辺を塗りつぶした文字を描画する
ことを特徴とする請求項１に記載の文字描画装置。
【請求項７】
請求項１乃至６のいずれか１項に記載の文字描画装置と、
前記転送手段によって転送される文字を表示する表示部と
を備えた表示装置。
【請求項８】
請求項１乃至６のいずれか１項に記載の文字描画装置と、
前記転送手段によって転送される文字を印刷する印刷部と
を備えた印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字を描画するための技術に関する。
【背景技術】
【０００２】
ディスプレイに表示される文字を描画したり、用紙に印刷される文字を描画するために、その文字の字形を表すフォントデータが用いられる。フォントデータには、大別してビットマップ形式と、アウトライン形式と、ストローク形式の３種類がある。例えばアウトライン形式のフォントデータを用いて文字を描画する場合には、文字の輪郭（字形）を描画する「輪郭描画」と、その輪郭内を塗りつぶす「塗りつぶし」と、この塗りつぶしによって生成された文字のビットマップデータを表示装置や印刷装置に転送する「転送」という、３つの処理ステップが必要となる。これらの処理をより高速に行うために、各処理ステップを並行して行う技術が知られている。
【０００３】
これらの各処理においては、処理対象のデータを一時的に記憶するためのメモリが必要となる。このメモリの容量に比して、描画する文字のサイズが大きい場合には、文字を複数の部分領域に分割して各々の部分領域単位で文字を描画するという方法がある。例えば特許文献１には、描画する文字のサイズに基づいて、その文字を分割して描画するか又は分割せずに描画するかをフォント毎に判定する技術が開示されている。
【特許文献１】特開平９−２３０８４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
文字の描画は、使用されるメモリの容量に関わらず、できる限り高速に処理されることが望ましい。
そこで、本発明はより高速に文字を描画することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明に係る文字描画装置は、字形データによって表される文字の字形を、所定の部分領域毎に分割して描画する第１の描画手段と、前記第１の描画手段により描画された字形に基づいて文字を描画する第２の描画手段と、前記第２の描画手段によって描画された文字を転送する転送手段と、データを記憶する第１の記憶手段と、前記第１の記憶手段よりデータの読み書き速度が遅く、且つ、記憶容量が大きい第２の記憶手段と、前記第１の描画手段によって分割された部分領域の数が閾値以下の場合には前記第１の記憶手段を選択し、前記第１の描画手段によって分割された前記部分領域の数が前記閾値を超える場合には前記第２の記憶手段を選択する選択手段とを備え、前記選択手段によって前記第１の記憶手段が選択された場合、前記第１の描画手段は、前記所定の部分領域毎に分割して描画した字形を前記第１の記憶手段に書き込み、前記第２の描画手段は、前記第１の記憶手段から前記字形を読み出して前記文字を描画し、前記選択手段によって前記第２の記憶手段が選択された場合、前記第１の描画手段は、前記所定の部分領域毎に描画した字形を前記第２の記憶手段に書き込み、前記第２の描画手段は、前記第２の記憶手段から前記字形を読み出して文字を描画することを特徴とする。本発明によれば、より高速に文字を描画することができる。
【０００６】
本発明において、前記第２の記憶手段と外部バスを介して接続された第１のバスと、前記第１の記憶手段に接続された第２のバスと、前記第１のバスと前記第２のバスとを接続する接続手段とを備え、前記第１の描画手段は、前記第１のバス及び前記第２のバスに接続され、前記選択手段によって前記第１の記憶手段が選択された場合、前記字形データに基づいて描画した字形を前記第２のバス経由で前記第１の記憶手段に書き込み、前記選択手段によって前記第２の記憶手段が選択された場合、前記字形データに基づいて描画した字形を前記第１のバス及び前記外部バスを介して前記第２の記憶手段に書き込み、前記第２の描画手段は、前記第２のバスに接続され、前記選択手段によって前記第１の記憶手段が選択された場合、前記第１の記憶手段から前記第２のバス経由で前記字形を読み出して前記文字を描画し、前記選択手段によって前記第２の記憶手段が選択された場合、前記第２の記憶手段から前記外部バス、前記第１のバス、前記接続手段及び前記第２のバスを介して前記字形を読み出して前記文字を描画するようにしてもよい。本発明によれば、メモリアドレスの管理が簡単で済む。
【０００７】
また、本発明において、前記第２の記憶手段と外部バスを介して接続された第１のバスと、前記第１の記憶手段に接続された第２のバスとを備え、前記第１の描画手段は、前記第１のバス及び前記第２のバスに接続され、前記選択手段によって前記第１の記憶手段が選択された場合、前記字形データに基づいて文字の字形を描画した字形を前記第２のバス経由で前記第１の記憶手段に書き込み、前記選択手段によって前記第２の記憶手段が選択された場合、前記字形データに基づいて描画した字形を、前記第１のバス及び前記外部バスを介して前記第２の記憶手段に書き込み、前記第２の描画手段は、前記第１のバス及び前記第２のバスに接続され、前記選択手段によって前記第１の記憶手段が選択された場合、前記第１の記憶手段から前記第２のバス経由で前記字形を読み出して前記文字を描画し、前記選択手段によって前記第２の記憶手段が選択された場合、前記第２の記憶手段から前記外部バス及び前記第１のバス経由で前記字形を読み出して前記文字を描画するようにしてもよい。本発明によれば、第１のバスと第２のバスとを接続する接続手段を備えなくても文字を描画することができる。
【０００８】
また、本発明において、前記第１の記憶手段及び前記第２の記憶手段はそれぞれ複数の記憶領域を有しており、前記第１の記憶手段及び前記第２の記憶手段が有する複数の記憶領域のうちのいずれかの記憶領域が、前記所定の部分領域毎に指定され、前記第１の描画手段は、前記所定の部分領域毎に分割して描画した文字の字形を、各々の当該部分領域について指定された記憶領域に順次書き込み、前記第２の描画手段は、前記第１の描画手段によって前記複数の記憶領域のいずれかに前記文字の字形が書き込まれると、その記憶領域から前記文字の字形を読み出し、読み出した字形に基づいて前記文字を描画することが望ましい。本発明によれば、より高速に文字を描画することができる。
【０００９】
本発明において、前記字形データは、アウトライン形式の字形データであり、前記第１の描画手段は、前記字形データに基づいて文字の輪郭を描画して書き込み、前記第２の描画手段は、前記文字の輪郭を読み出し、読み出した輪郭によって囲まれた領域を塗りつぶした文字を描画することが望ましい。これにより、一般的なアウトライン形式のフォントデータとフォーマットを合わせることができる。
【００１０】
また、本発明において、前記字形データは、ストローク形式の字形データであり、前記第１の描画手段は、前記字形データに基づいて、文字の線幅の中心線を描画して書き込み、前記第２の描画手段は、前記文字の線幅の中心線を読み出し、読み出した中心線の周辺を塗りつぶした文字を描画するようにしてもよい。これにより、一般的なストローク形式のフォントデータとフォーマットを合わせることができる。
【００１１】
また、本発明に係る表示装置は、上記文字描画装置と、前記転送手段によって転送される文字を表示する表示部とを備えたことを特徴とする。本発明によれば、描画した文字を表示画面上に表示させることができる。
【００１２】
また、本発明に係る印刷装置は、上記文字描画装置と、前記転送手段によって転送される文字を印刷する印刷部とを備えたことを特徴とする。本発明によれば、描画した文字を用紙等に印刷することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明を実施するための最良の形態を説明する。
（１）実施形態の構成
図１は、画像表示装置１のハードウェア構成を示した図である。
図示のように、画像表示装置１は、ＣＰＵ１０と、フォントプロセッサ１１と、入力装置１２と、表示体コントローラ１３と、表示体１４と、ＲＯＭ（Read Only Memory）１５と、ＲＡＭ（Random Access Memory）１６と、ＶＲＡＭ（Video Random Access Memory）１７と、不揮発性メモリ１８と、バスコントローラ１９とを備えている。
ＣＰＵ１０は、ＲＯＭ１５に記憶されている制御プログラムを読み出してＲＡＭ１６に展開し、その制御プログラムに記述された手順に従って処理を実行する。ＲＯＭ１５には、アウトライン形式のフォントデータ（以下、「アウトラインデータ」という）と文字コードとが対応付けられて記憶されている。ＲＡＭ１６は、必要に応じてＲＡＭ１６−１と１６−２とに論理的に分割された作業エリアを有し、異なるモジュールからそれぞれに独立したアクセスが可能となる。なお、以下の説明において、ＲＡＭ１６−１と１６−２とを特に区別する必要がない場合は、これらを総称して「ＲＡＭ１６」で表す。
【００１４】
ＲＯＭ１５には、ＣＰＵ１０によって実行されるＯＳ（Operating System）や、アウトラインデータに基づいて表示体１４に文字を表示するためのプログラムであるレンダラが記憶されている。入力装置１２は、ユーザによって操作される操作手段であり、キーボードやマウス、ペンデバイスやジョイスティックなどの操作デバイスを含んでおり、ユーザによって入力装置１２が操作されるとその操作に応じた信号をＣＰＵ１０に供給する。
【００１５】
ＣＰＵ１０は、入力装置１２から供給された信号に基づいてＲＯＭ１５からアウトラインデータを読み出し、フォントプロセッサ１１に転送する。フォントプロセッサ１１は、このアウトラインデータを解釈してビットマップ形式の画像データに変換し、これをＶＲＡＭ１７上に書き込む。なお、ＶＲＡＭ１７は、ＲＡＭ１６の一部に含まれるような構成であってもよい。ＶＲＡＭ１７上に書き込まれた画像データは、ＣＰＵ１０の指示のもとで表示体コントローラ１３に供給される。表示体コントローラ１３は、表示体１４を制御して表示画面上に画像を表示させる。表示体１４は、コレステリック液晶や電気泳動などを利用した表示手段であり、電力供給が停止しても画像を表示し続けることができるという記憶性を有している。不揮発性メモリ１８は、フラッシュメモリやハードディスクなどの不揮発性の記憶手段である。バスコントローラ１９は、外部バスＢに接続されている各モジュールに対して同時にアクセスが行われないように制御する。
【００１６】
信号線Ｓ１は、ＣＰＵ１０とフォントプロセッサ１１とを接続する。この信号線Ｓ１により、ＣＰＵ１０からフォントプロセッサ１１に対して文字の描画の開始を指示する命令（文字描画命令）が供給されたり、フォントプロセッサ１１からＣＰＵ１０に対して、文字の描画が完了したことを通知する信号（完了通知信号）が供給される。信号線Ｓ２は、ＣＰＵ１０と表示体コントローラ１３とを接続する。ＣＰＵ１０は、この信号線Ｓ２を介して、例えば画像のリフレッシュ時期などに、表示体コントローラ１３に表示体１４をリフレッシュ駆動するよう指示する。なお、表示体１４が非記憶性の場合には、表示体コントローラ１３自体が表示体１４を駆動するため、信号線Ｓ２は不用である。画像表示装置１に電源が投入されると、各モジュールのリセット動作が行われる。そして、ＣＰＵ１０は、ＲＯＭ１５に記憶されたブートプログラムを起動することによりＯＳが起動する。その後、ＣＰＵ１０がプログラムに基づいた処理を行い、ユーザからの指示に応じて文字を描画する「文字描画処理」等を開始する。
【００１７】
次に、図２は、フォントプロセッサ１１のハードウェア構成を示した図である。
図示のように、フォントプロセッサ１１は、輪郭描画モジュール１１０と、塗りつぶし描画モジュール１１１と、背景合成・転送モジュール１１２と、外部バスコントローラ１１３と、内部バスコントローラ１１４と、内部メモリ１１５と、ブリッジ１１６と、第１のバスである内部バスＢ-１と、第２のバスである内部バスＢ-２とを備えている。なお、内部メモリ１１５は、内部メモリ１１５−１と１１５−２との作業エリアに論理的に分割されており、すなわち、異なるモジュールから独立したアクセスが可能な構成を有している。なお、以下の説明において、内部メモリ１１５−１と１１５−２とを特に区別する必要がない場合には、これらを総称して「内部メモリ１１５」という。また、内部メモリ１１５とＲＡＭ１６とを、必要に応じて「メモリ」と総称する。
【００１８】
外部バスコントローラ１１３は、内部バスＢ-１を介して接続されている輪郭描画モジュール１１０と背景合成・転送モジュール１１２に対して同時にアクセスが行われないように制御したり、外部バスＢと内部バスＢ-１との間でデータの遣り取りが行われるよう制御する。内部バスコントローラ１１４は、輪郭描画モジュール１１０または塗りつぶし描画モジュール１１１から、内部メモリ１１５に対して同時にアクセスが行われないように制御する。ブリッジ１１６は、内部バスＢ-１と内部バスＢ-２とを接続する接続手段である。
【００１９】
文字の輪郭描画及び塗りつぶしの処理においては、フォントプロセッサ１１における内部メモリ１１５（第１の記憶手段）と、フォントプロセッサ１１から見た外部メモリであるＲＡＭ１６（第２の記憶手段）のいずれかが用いられる。内部メモリ１１５とＲＡＭ１６におけるデータの読み書きの速度および記憶容量を比較すると、ＲＡＭ１６は、内部メモリ１１５より読み書き速度が遅く、且つ、記憶容量が大きい。ＣＰＵ１０は、文字のサイズが或るサイズよりも大きい場合には、第１の記憶手段であるＲＡＭ１６を選択し、文字のサイズが或るサイズ以下の場合には、第２の記憶手段である内部メモリ１１５を選択する。
【００２０】
（１−１）文字の輪郭描画
第１の描画手段である輪郭描画モジュール１１０は、内部バスＢ-１及び内部バスＢ-２に接続されている。輪郭描画モジュール１１０は、外部バスＢ及び内部バスＢ-１を介してＲＯＭ１５から供給されるアウトラインデータに基づいて、文字の輪郭を表すビットマップ形式の画像データ（以下、「輪郭データ」という）を生成する（つまり輪郭を描画する）。そして、輪郭描画モジュール１１０は、生成した輪郭データを、ＣＰＵ１０によって選択されたメモリ（ＲＡＭ１６又は内部メモリ１１５）上に書き込む。輪郭描画モジュール１１０がＲＡＭ１６上に輪郭データを書き込む場合には、内部バスＢ-１及び外部バスＢを介してＲＡＭ１６上に輪郭を書き込む。一方、輪郭描画モジュール１１０が、内部メモリ１１５上に輪郭を書き込む場合には、内部バスＢ-２を介して内部メモリ１１５上に輪郭データを書き込む。
【００２１】
ここで、輪郭描画モジュール１１０が輪郭を描画して書き込む処理について、具体的に説明する。なお、以下では、ＴＴＦ（True Type Font）と呼ばれるアウトラインデータを用いるものとする。図３は、「口」という文字（漢字）をＴＴＦによって表したものである。文字の輪郭の周囲に沿って、矩形と円形の図形が配置されているが、これらはいずれも「制御点」と呼ばれるものである。矩形の図形はオンカーブ制御点（オンカーブポイント）であり、円形の図形はオフカーブ制御点（オフカーブポイント）である（以降の図において同じ）。ＴＴＦでは、文字の輪郭を１又は複数の「コンター」によって表現する。コンターとは、直線または２次ベジエ曲線を連結することによって表される閉じた線図のことであり、この線図によって文字の輪郭が表わされる。例えばオンカーブ制御点が連続している場合は、それら隣り合う２つの制御点が直線で結ばれる。一方、オフカーブ制御点が現れた場合には、そのオフカーブ制御点の隣にある２つのオンカーブ制御点が２次ベジエ曲線で結ばれる。なお、２つのオフカーブ制御点が隣り合う場合は、それらの中点にオンカーブ制御点を補って２つの２次ベジエ曲線で結べばよい。
【００２２】
例えば図４に示す制御点Ａ，Ｂ，Ｃ，Ｅをオンカーブ制御点とし、制御点Ｄをオフカーブ制御点とすると、直線Ａ−Ｂと、２次ベジエ曲線Ｃ−Ｄ−Ｅはそれぞれ、次の数式で表される点Ｐの集合（直線）と、点Ｑの集合（２次ベジエ曲線）として表現される。
Ｐ＝（１−ｔ）Ａ＋ｔＢ
Ｑ＝（１−ｔ）2Ｃ＋２ｔ（１−ｔ）Ｄ＋ｔ2Ｅ
ｔは、０≦ｔ≦１の範囲で連続的に変化する媒介変数である。直線Ａ−Ｂにおいて、ｔ＝０の場合には点Ｐは点Ａに一致し、ｔ＝１の場合には点Ｐは点Ｂに一致する。同様に、２次ベジエ曲線Ｃ−Ｄ−Ｅにおいて、ｔ＝０の場合には点Ｑは点Ｃに一致し、ｔ＝１の場合には点Ｑは点Ｅに一致する。
【００２３】
ここで、図５は、１つの文字を表すアウトラインデータを例示した図である。
図５に示すように、アウトラインデータは、各制御点に対して昇順に割り当てられた「制御点番号」と、その制御点の種別（オンカーブ制御点かオフカーブ制御点か）と、その制御点の平面上の「位置」（Ｘ，Ｙ座標）との集合によって表されている。これらのアウトラインデータによって１つの文字の輪郭が表わされる。さらに、１つのアウトラインデータに対しては、そのアウトラインデータに含まれるコンターの総数と、各々のコンターの終端となる制御点番号とが対応付けられている。例えば図６に示すように、「Ｄ」というアルファベットの輪郭は、２つのコンターｃ１，ｃ２によって表されているから、図５に示すとおり、コンターの総数は「２」である。また、コンターｃ１においては、コンターの終端となる制御点番号は「７」であり、コンターｃ２においては、コンターの終端となる制御点番号は「１１」である。よって、図４に示すとおり、コンターの終端となる制御点番号は「７，１１」である。
輪郭描画モジュール１１０は、上述したようにして、アウトラインデータを解釈して輪郭を算出し、算出した輪郭を表すビットマップの画像データを生成することで、文字の輪郭を描画する。そして、輪郭描画モジュール１１０は、その描画結果であるビットマップデータを（輪郭データ）として、ＣＰＵ１０によって選択されたメモリに書き込む。
【００２４】
（１−２）塗りつぶしによる文字描画
以上のようにして輪郭データが書き込まれると、第２の描画手段である塗りつぶし描画モジュール１１１は、ＣＰＵ１０によって選択されたメモリ（ＲＡＭ１６又は内部メモリ１１５）から文字の輪郭データを読み出す。そして、塗りつぶし描画モジュール１１１は、輪郭データによって表される輪郭によって囲まれた領域を有色画素で塗りつぶした画像データを生成することで、文字を描画する。輪郭描画モジュール１１０がＲＡＭ１６から輪郭データを読み出して文字を描画する場合には、ＲＡＭ１６から外部バスＢ、内部バスＢ-１、ブリッジ１１６及び内部バスＢ-２を介して輪郭データを読み出す。一方、輪郭描画モジュール１１０が内部メモリ１１５から輪郭データを読み出して文字を描画する場合には、内部メモリ１１５から内部バスＢ-２を介して輪郭データを読み出す。
【００２５】
ここで、塗りつぶし描画モジュール１１１が行う処理について、具体的に説明する。
塗りつぶし描画モジュール１１１は、内部メモリ１１５上またはＲＡＭ１６上に書き込まれた輪郭データを読み出し、この輪郭データを一定の方向（通常は水平方向）に沿って走査し、その走査ラインとコンターとが交差する点を求める。このとき、塗りつぶし描画モジュール１１１は、或る変数ｗ（初期値は０）を保持している。そして、塗りつぶし描画モジュール１１１は、小さい制御点番号から大きい制御点番号に進む方向に描いたコンターが、走査ラインに対して下から上に交差したか又は上から下に交差したかを判定する。そして、塗りつぶし描画モジュール１１１は、判断の結果が前者なら変数ｗに１を加算し、後者なら変数ｗから１を減算する。図６に示すように、走査ラインＬはコンターｃ１，ｃ２によっていくつかの区間に区分されることになるが、塗りつぶし描画モジュール１１１は、変数ｗ＝０の区間においては何も処理を行わず、変数ｗが１の区間には有色画素を配置する（つまり有色で塗りつぶす）。塗りつぶし描画モジュール１１１は、このようにして各々の走査ライン毎に塗りつぶしを行いつつ、この画像データを背景合成・転送モジュール１１２に順次出力する。
【００２６】
以上のような規則に従って、塗りつぶし描画モジュール１１１が、図３のように配置された制御点に従って形成されたコンターの内側を塗りつぶすと、図７に示すように、「口」という画像が描画される。また、この図では、オンカーブ制御点及びオフカーブ制御点といった制御点を示しているが、これは補助的に示しているに過ぎず、実際の画像には現れない。
【００２７】
（１−３）文字の転送
続いて、背景合成・転送モジュール１１２は、塗りつぶし描画モジュール１１１から供給されてくる画像データを所定の背景画像に合成した画像データを生成する。すなわち、背景合成・転送モジュール１１２は、内部バスＢ-１および外部バスＢを介して、ＶＲＡＭ１７上に書き込まれた背景画像を表す画像データを読み出して、この背景画像上に文字を描画した画像データを生成する。このとき、背景合成・転送モジュール１１２は、文字を描画する背景画像に対応する画像データを読み出す。そして、背景合成・転送モジュール１１２は、表示体１４の表示画面上における表示位置に対応するＶＲＡＭ１７上の領域にこの画像データを書き込む。そして、背景合成・転送モジュール１１２は、内部バスＢ-１を介して完了通知信号をＣＰＵ１０に出力する。この完了通知信号に応じて、ＣＰＵ１０は、ＶＲＡＭ１７上に書き込まれた画像データを表示体コントローラ１３に転送する。
【００２８】
（１−４）文字描画の分割
前述したように、フォントプロセッサ１１は、ＣＰＵ１０によって選択されたメモリを用いて上記の処理を行う。
まず、ＣＰＵ１０によって内部メモリ１１５が選択された場合に、フォントプロセッサ１１１の各モジュールがどのような順番で各々の処理を行うかについて説明する。
図８は、各モジュールによって実行される各処理の時系列的な順番を表している。なお、図８では、図９に示した文字「Ｄ」を、部分領域Ｔ１、Ｔ２およびＴ３という３つの所定の部分領域毎に分割して描画する場合を想定している。また、図において、内部メモリ１１５−１のことを「メモリ１」と称し、内部メモリ１１５−２のことを「メモリ２」と称している。また、図では、輪郭描画モジュール１１０が行う処理を「輪郭描画」と称し、塗りつぶし描画モジュール１１１が行う処理を「塗りつぶし」と称し、背景合成・転送モジュール１１２が行う処理を「合成・転送」と称している。また、「輪郭描画」、「塗りつぶし」および「合成・転送」のそれぞれの末尾に付しているＴ１〜Ｔ３は、いずれの部分領域に対する処理かを示すものであり、「Ｔ１」は部分領域Ｔ１、「Ｔ２」は部分領域Ｔ２、「Ｔ３」は部分領域Ｔ３における処理であることを示す。
【００２９】
まず、輪郭描画モジュール１１０は、内部メモリ１１５−１を用いて「輪郭描画Ｔ１」を行う。輪郭描画Ｔ１においては、まず、輪郭描画モジュール１１０は、文字「Ｄ」の全体の輪郭を把握する（図中の「把握」に相当）。上述したように、文字の輪郭はコンターによって表現され、コンターは連続する制御点やその位置によって一意に特定される。すなわち、輪郭描画モジュール１１０が部分領域Ｔ１に相当する輪郭を描画するためには、部分領域Ｔ１に含まれる制御点及びその制御点に隣接した制御点（制御点番号「６」及び「９」を除く制御点）に対応するアウトラインデータが必要となる。輪郭描画モジュール１１０は、輪郭を把握してから輪郭データを内部メモリ１１５−１上に書き込み（図中の「書込」に相当）を行い、「輪郭描画Ｔ１」を完了する。続いて、塗りつぶし描画モジュール１１１は、内部メモリ１１５−１上に書き込まれた部分領域Ｔ１に相当する輪郭データを読み出し、「塗りつぶしＴ１」を開始する。その一方で、輪郭描画モジュール１１０は、部分領域Ｔ２の輪郭を把握してから輪郭データを書き込む「輪郭描画Ｔ２」を、内部メモリ１１５−２を用いて開始する。塗りつぶし描画モジュール１１１では、内部バスＢ-２を介して内部メモリ１１５−１から輪郭データを読み出して所定の領域を塗りつぶして文字を表す画像データを生成し、背景合成・転送モジュール１１２は、この画像データが表す文字を背景画像上に描画した画像データを生成し、画像データをＶＲＡＭ１７上に書き込む。
【００３０】
輪郭描画モジュール１１０は「輪郭描画Ｔ２」を終了すると、部分領域Ｔ３の輪郭を把握してから輪郭データを書き込む「輪郭描画Ｔ３」を内部メモリ１１５−１を用いて開始する。その一方で、塗りつぶし描画モジュール１１１は、内部メモリ１１５−２上に書き込まれた輪郭データを読み出し、「塗りつぶしＴ２」および「合成・転送Ｔ２」を行う。「輪郭描画Ｔ３」が終了すると、文字「Ｄ」の全体の輪郭の描画が終了となる。以降、「塗りつぶしＴ３」および「合成・転送Ｔ３」が完了すると、文字描画命令における文字「Ｄ」の描画が終了となる。
以上のように、文字を複数の部分領域に分割して描画する場合、輪郭描画モジュール１１０は分割数と同数だけ、上述した「把握」を行うことになる。すなわち、分割数が増加するほど輪郭の把握に要する時間は増大することになる。
【００３１】
一方、使用するメモリとしてＲＡＭ１６が選択された場合にも、フォントプロセッサ１１１に含まれる各モジュールは、ＲＡＭ１６−１，１６−２を用いて、内部メモリ１１５−１，１１５−２に対する処理と同様にして文字を描画する。ＲＡＭ１６は、内部メモリ１１５に対して大容量であるから、分割数は少なくて済む。分割数が少なくなれば、輪郭の把握に要する処理が少なくて済む。すなわち、データの読み書きに要する時間は内部メモリ１１５の方が短くて済むものの、分割数が多くなり輪郭の把握に要する時間が増大しすぎると、ＲＡＭ１６を用いた方が、結果として文字の描画に要する時間は短くなるわけである。
規定値Ｐは、内部メモリ１１５を用いて描画した方が処理時間が短くて済む場合の、分割数の上限値である。従って、この規定値Ｐを閾値として、規定値Ｐを超える分割数の場合には、ＲＡＭ１６を用いた方が内部メモリ１１５よりも高速に文字全体を描画できる。この規定値Ｐは、各モジュールの内部メモリ１１５に対するデータの読み書きに要する時間と、ＲＡＭ１６に対するデータの読み書きに要する時間と、輪郭の把握に要する時間に応じて決められる。以下においては、ＣＰＵ１０は、分割数が規定値Ｐ以下の場合には、内部メモリ１１５を作業エリアとして選択し、分割数が規定値Ｐを超える場合には、ＲＡＭ１６を作業エリアとして選択し、その選択結果をフォントプロセッサ１１に通知する。
【００３２】
（２）実施形態の動作
次に、画像表示装置１の動作について説明する。
（２−１）ＣＰＵ１０の基本動作
図１０は、画像表示装置１のＣＰＵ１０がフォントプロセッサ１１に分割した部分領域毎に文字描画命令を供給するまでの動作の手順を示したフローチャートである。
ユーザが入力装置１２を用いて文字「Ｄ」を指定し、その文字の表示を、その表示サイズとともに指示する。ＣＰＵ１０は、これらの指示に従って図１０に示すような処理を開始する。
【００３３】
まず、ＣＰＵ１０は、描画させる文字のサイズに応じて、分割数を算出し、その数に応じて、使用するメモリを選択する（ステップＳＡ１）。このステップＳＡ１の動作手順については後で詳述する。次に、ＣＰＵ１０は、ユーザによって指定された文字に対応する文字コードをＲＯＭ１５から取得する（ステップＳＡ２）。なお、ここで用いる文字コードとしては、周知のコードであるシフトＪＩＳコードやＡＳＣＩＩコードなどが好適である。ＣＰＵ１０は、文字「Ｄ」の輪郭の描画に必要なアウトラインデータが格納された記憶領域うち、その先頭のアドレスを取得する（ステップＳＡ３）。具体的には、フォントプロセッサ１１は、所定の処理毎にとして輪郭データを描画していくから、その描画に必要なアウトラインデータが格納されたＲＯＭ１５における先頭のアドレス取得するのである。
【００３４】
続いて、ＣＰＵ１０は、ステップＳＡ１で選択したメモリ（内部メモリ１１５又はＲＡＭ１６）上のどの作業エリアを用いるかを指定する（ステップＳＡ４）。すなわち、内部メモリ１１５であれば内部メモリ１１５−１か１１５−２のいずれか、ＲＡＭ１６であればＲＡＭ１６−１か１６−２のいずれかが指定される。このステップＳＡ４の動作手順については後で詳述する。
【００３５】
次に、ＣＰＵ１０は、文字を表示させる表示体１４の表示画面上における表示位置を指定する（ステップＳＡ５）。そして、ＣＰＵ１０は、ステップＳＡ１〜ＳＡ５で選択乃至指定した内容を含めた「文字描画命令」を生成し、フォントプロセッサ１１に供給する（ステップＳＡ６）。次に、ＣＰＵ１０は、描画する文字において分割した全ての部分領域に対して、処理ステップＳＡ４〜ＳＡ６を行ったか否かを判断する（ステップＳＡ７）。ＣＰＵ１０は、分割した全ての部分領域に対しての処理が終了していなければ（ステップＳＡ７；ＮＯ）、ステップＳＡ４に戻って、未処理の部分領域について処理ステップＳＡ４〜ＳＡ７を実行する。一方、ＣＰＵ１０は、分割した全ての部分領域に対しての処理が終了していれば（ステップＳＡ７；ＹＥＳ）、描画すべき次の文字があるか否かを判断する（ステップＳＡ８）。ＣＰＵ１０は、例えば文書作成プログラムを実行しているときには、ユーザによって入力装置１２から文字を指定されるたびに（ステップＳＡ８；ＹＥＳ）、上記処理ステップＳＡ１〜ＳＡ７を実行することになる。
以上のようにして、ＣＰＵ１０は、描画する文字の部分領域単位で文字描画命令をフォントプロセッサ１１に供給し、文字描画処理を行わせる。
【００３６】
（２−２）ＣＰＵ１０による分割数の算出とメモリの選択
次に、上述した図１０のステップＳＡ１において、ＣＰＵ１０が分割数を算出してメモリを選択する動作手順について説明する。
図１１は、この動作手順を示すフローチャートである。図１１において、まず、ＣＰＵ１０は、内部メモリ１１５上に書き込み可能な文字の高さを算出する（ステップＳＡ１１）。ここでの「文字の高さ」とは、内部メモリ１１５上に書き込むことができる輪郭データの高さ方向（副走査方向）の最大画素数である。例えば、内部メモリ１１５が１０００画素分の画素データを記憶することができ、かつ、描画する文字の幅方向（主走査方向）のサイズが１００画素である場合には、内部メモリ１１５上に書き込むことのできる文字の高さは、１０００／１００＝１０画素となる。
【００３７】
次に、ＣＰＵ１０は、書き込む文字の高さを、ステップＳＡ１１で求めた高さで除算して分割数ｍを算出する（ステップＳＡ１２）。書き込む文字の高さが例えば４２画素である場合、４２／１０＝４．２となるから、のべ５つの作業エリアを用いれば、文字全体の輪郭データを書き込むことができるということになる。すなわち、分割数ｍ＝５である。
【００３８】
次に、ＣＰＵ１０は、分割数ｍが所定の規定値Ｐ（閾値）を超えるか否かを判断する（ステップＳＡ１３）。この規定値Ｐは例えば９である。ＣＰＵ１０は、分割数ｍが規定値Ｐを超えないと判断すると（ステップＳＡ１３；ＮＯ）、分割数ｍを確定し（ステップＳＡ１４）、フォントプロセッサ１１が使用するメモリとして内部メモリ１１５を選択する（ステップＳＡ１５）。
【００３９】
一方、ＣＰＵ１０は、分割数ｍが規定値Ｐを超えると判断すると（ステップＳＡ１３；ＹＥＳ）、ＲＡＭ１６上に書き込み可能な文字の高さを算出する（ステップＳＡ１６）。ここでの「文字の高さ」も、上記と同様に、ＲＡＭ１６上に書き込むことができる輪郭データの高さ方向（副走査方向）の画素数である。例えばＲＡＭ１６が１００００画素分の画素データを記憶することができ、かつ、書き込む文字の幅方向（主走査方向）のサイズが１００画素である場合には、ＲＡＭ１６上に書き込むことのできる文字の高さは、１００００／１００＝１００画素となる。
【００４０】
次に、ＣＰＵ１０は、書き込む文字の高さを、ステップＳＡ１６で求めたＲＡＭ１６上に書き込み可能な高さで除算して、分割数ｎを求める（ステップＳＡ１７）。書き込む文字の高さが例えば４２画素である場合には、４２／１００＝０．４２となるから、ＲＡＭ１６の１つの作業エリアを用いれば、文字全体の輪郭データを書き込むことができるということになる。この場合、ＣＰＵ１０は、分割数をｎに確定し（ステップＳＡ１８）、フォントプロセッサ１１が使用するメモリとしてＲＡＭ１６を選択する（ステップＳＡ１９）。
【００４１】
（２−３）ＣＰＵ１０によるメモリの作業エリアの特定
次に、上述した図１０のステップＳＡ４において、ＣＰＵ１０がフォントプロセッサ１１に使用させるメモリの作業エリアを特定する動作手順について説明する。なお、内部メモリ１１５を用いる場合とＲＡＭ１６を用いる場合とでは、その作業エリアが異なるだけで、処理の内容は同じであるから、以下では内部メモリ１１５を用いる場合について説明する。ＲＡＭ１６を用いる場合には、以下に述べる説明において、内部メモリ１１５−１をＲＡＭ１６−１に対応させ、内部メモリ１１５−２をＲＡＭ１６−２に対応させればよい。
【００４２】
図１２は、ＣＰＵ１０が作業エリアを指定する動作手順を示すフローチャートである。以下の動作では、図９に示した文字「Ｄ」を描画する際にＣＰＵ１０が作業エリアを指定する場合を想定する。
図１２において、まず、ＣＰＵ１０は、ワークエリアとして使用する内部メモリ１１５−ｉ（ｉ＝１，２）のアドレスを取得する（ステップＳＡ４１）。なお、変数ｉの初期値を１とし、部分領域Ｔ１においては、ＣＰＵ１０は、内部メモリ１１５−１上の輪郭データを書き込み位置に対応するアドレスを取得することになる。次に、ＣＰＵ１０は、ステップＳＡ４１で取得した内部メモリ１１５−ｉのアドレスを、文字描画命令に含めてフォントプロセッサ１１に通知する（ステップＳＡ４２）。すなわち、ＣＰＵ１０は、部分領域Ｔ１の文字の描画を、内部メモリ１１５−１を用いて行うことを通知することになる。
【００４３】
次に、ＣＰＵ１０は、変数ｉが、内部メモリが有する作業エリアの総数に一致するか否かを判断する（ステップＳＡ４３）。本実施形態では、フォントプロセッサ１１は内部メモリ１１５−１および１１５−２の２つの作業エリアを有するから、ＣＰＵ１０は変数ｉが「２」であるか否かを判断することになる。ここではｉ＝１であるから、ＣＰＵ１０は、変数ｉは内部メモリ１１５の作業エリアの総数に一致しないと判断し（ステップＳＡ４３；ＮＯ）、変数ｉを１ずつインクリメントして、変数ｉ＝ｉ＋１とする（ステップＳＡ４４）。ここで、変数ｉ＝２となる。
【００４４】
続いて、ＣＰＵ１０は、部分領域Ｔ２の文字の描画に用いる作業エリアを指定するべく、再び処理ステップＳＡ４１〜ＳＡ４３を実行することになる。このときステップＳＡ４１においては変数ｉ＝２であるから、ＣＰＵ１０は内部メモリ１１５−２上の輪郭データの書き込み位置に対応するアドレスを取得する。ステップＳＡ４３においては、ＣＰＵ１０は変数ｉが内部メモリ１１５の作業エリアの総数である２に一致すると判断するから（ステップＳＡ４３；ＹＥＳ）、変数ｉを初期値である「１」に戻す（ステップＳＡ４５）。
次に、ＣＰＵ１０は、部分領域Ｔ３に含まれる文字の描画を指定する際には、ステップＳＡ１において内部メモリ１１５−１のアドレスを取得することになるから、上述した部分領域Ｔ１に含まれる文字の描画を指示する場合と同様の処理を行う。
このようにして、ＣＰＵ１０は、フォントプロセッサ１１に使用させる内部メモリを特定する。具体的には、変数ｉは、１→２→１→２→１→２→・・・という具合に変化するから、ＣＰＵ１０は、文字の描画を指示されるたびに、内部メモリ１１５−１と１１５−２とのアドレスを交互に通知することになる。
【００４５】
（２−４）輪郭描画モジュール１１０による輪郭描画
次に、輪郭描画モジュール１１０が行う輪郭描画について説明する。
図１３は、輪郭描画モジュール１１０が行う、輪郭描画の手順を示すフローチャートである。
図１３において、フォントプロセッサ１１の輪郭描画モジュール１１０は、ＣＰＵ１０から文字描画命令が供給されるまで待機し、部分領域Ｔ１の文字描画命令が供給されると（ステップＳＢ１；ＹＥＳ）、これを図示せぬレジスタに格納する。そして、輪郭描画モジュール１１０は、文字「Ｄ」の文字コードに対応するアウトラインデータが格納されたＲＯＭ１５上の先頭アドレスに基づいて、処理単位毎にアウントラインデータを取得する（ステップＳＢ２）。続いて、輪郭描画モジュール１１０は、輪郭データの書き込みに必要なアウトラインデータを全て取得したか否かを判断する（ステップＳＢ３）。輪郭描画モジュール１１０は、アウトラインデータの取得を完了していなければ（ステップＳＢ３；ＮＯ）、そのまま取得を続ける。
【００４６】
一方、輪郭描画モジュール１１０は、アウトラインデータの取得を完了すれば（ステップＳＢ３；ＹＥＳ）、図５に示したような各制御点番号に対応する制御点の種別や位置に基づいて、内部メモリ１１５−１上に輪郭データを書き込む（ステップＳＢ４）。このようにして、輪郭描画モジュール１１０は、処理単位毎に必要なアウトラインデータを取得して、輪郭データを内部メモリ１１５上に書き込んでいく。輪郭描画モジュール１１０は、部分領域Ｔ１の文字描画処理における輪郭データの書き込みを完了すると、レジスタに格納された文字描画命令をクリアする（ステップＳＢ５）。そして、輪郭描画モジュール１１０は、塗りつぶしを開始することを指示する「塗りつぶし開始命令」を生成し、塗りつぶし描画モジュール１１１に出力する（ステップＳＢ６）。
続いて、部分領域Ｔ２の文字描画命令が供給されると、輪郭描画モジュール１１０は、ＣＰＵ１０によって指定された内部メモリ１１５−２を作業エリアとして、上記と同様の処理を行うことになる。
【００４７】
（２−５）塗りつぶし描画モジュール１１１による文字の塗りつぶし
次に、塗りつぶし描画モジュール１１１が内部メモリ１１５上に書き込まれた輪郭データに基づいて行う、塗りつぶし描画について説明する。
図１４は、塗りつぶし描画モジュール１１１が、輪郭描画モジュール１１０によって生成された輪郭データに基づいて、塗りつぶし描画を行う動作の手順を示すフローチャートである。
図１４において、塗りつぶし描画モジュール１１１は、部分領域Ｔ１の文字描画命令における塗りつぶし開始命令が供給されるまで待機し、塗りつぶし開始命令が供給されると（ステップＳＣ１；ＹＥＳ）、図示せぬレジスタにこれを格納し、塗りつぶしを行っていない輪郭データが内部メモリ１１５−１上に存在するか否かを判断する（ステップＳＣ２）。塗りつぶし描画モジュール１１１は、塗りつぶしが完了していない輪郭データが存在すると判断すれば（ステップＳＣ２；ＹＥＳ）、内部メモリ１１５−１に書き込まれた輪郭データのうち、処理単位となる分だけ輪郭データを読み出す（取得する）（ステップＳＣ３）。
【００４８】
塗りつぶし描画モジュール１１１は、読み出した輪郭データのうちのコンターの内側に相当する領域を塗りつぶす（ステップＳＣ４）。塗りつぶし描画モジュール１１１は、塗りつぶし描画を完了すれば、この画像データを背景合成・転送モジュール１１２に出力する（ステップＳＣ５）。そして、ステップＳＣ２に戻り、塗りつぶし描画モジュール１１１は、塗りつぶし描画が完了していない輪郭データが他に存在するか否かを判断することになる。
塗りつぶし描画モジュール１１１は、部分領域Ｔ１の文字描画命令に対応するすべての輪郭データについて塗りつぶし描画を完了し、内部メモリ１１５−１上に未処理の輪郭データが残っていないと判断すれば（ステップＳＣ２；ＮＯ）、レジスタに格納された塗りつぶし開始命令をクリアする（ステップＳＣ６）。そして、塗りつぶし描画モジュール１１１は、塗りつぶしを完了したことを示す「塗りつぶし完了信号」を背景合成・転送モジュール１１２に出力する（ステップＳＣ７）。
【００４９】
続いて、背景合成・転送モジュール１１２が、描画された文字を背景画像へ合成し、表示体１４への転送を指示する際の動作について説明する。
図１５は、背景合成・転送モジュール１１２が塗りつぶし後の画像を背景画像に合成し、表示体１４への転送を指示するまでの処理の過程を示すフローチャートである。図１５において、背景合成・転送モジュール１１２は、塗りつぶし描画モジュール１１１から塗りつぶし後の文字を表す画像データが供給されるまで待機し、画像データが供給されると（ステップＳＤ１；ＹＥＳ）、背景画像を表す画像データをＶＲＡＭ１７から読み出す（ステップＳＤ２）。そして、背景合成・転送モジュール１１２は、描画した文字を表す画像データと、背景画像を表す画像データとを合成する（ステップＳＤ３）。すなわち、合成後の画像は、指定された表示位置に応じた背景画像上に文字が描画された画像となる。背景合成・転送モジュール１１２は、このようにして生成した画像データを、ＶＲＡＭ１７上の表示位置に応じた領域に書き込む（ステップＳＤ４）。続いて、背景合成・転送モジュール１１２は、塗りつぶし完了信号を受信したか否かを判断する（ステップＳＤ５）。背景合成・転送モジュール１１２は、塗りつぶし完了信号を受信していないと判断すれば（ステップＳＤ５；ＮＯ）、ステップＳＤ１に戻り、次の画像データが供給されるまで待機する。一方、ステップＳＤ５において、背景合成・転送モジュール１１２は、塗りつぶし完了信号を受信したと判断すれば（ステップＳＤ５；ＹＥＳ）、この塗りつぶし完了信号をクリアし（ステップＳＤ６）、ＣＰＵ１０に完了通知信号を出力する（ステップＳＤ７）。
ＣＰＵ１０は、この完了通知信号が供給されると、ＶＲＡＭ１７上に書き込まれた画像データを表示体コントローラ１３に転送し、画像の表示を指示する。この指示に応じて、表示体コントローラ１３は、転送された画像データが表す画像を表示体１４に表示させる。
【００５０】
以上説明した実施形態によれば、ＣＰＵ１０は、描画する文字のサイズとメモリの容量に応じて文字の分割数を算出し、この分割数が予め決められた規定値を超えるか否かに応じて、フォントプロセッサ１１に使用させるメモリを選択する。規定値は、文字全体を描画するために要する時間が短くて済むメモリを決定し得る数値であるから、この規定値を用いて選択したメモリを使用することで、使用されるメモリの容量に関わらず、文字の描画処理に要する時間をより短縮することができる
また、フォントプロセッサ１１は、アウトラインデータを読み出すための内部バスＢ-１と、内部メモリ１１５やＲＡＭ１６上に輪郭データを書き込んだり読み出したりするための内部バスＢ-２とを有するため、輪郭描画と、塗りつぶしおよび合成・転送を並行して行うことができ、かつ、それぞれの処理において用いる内部バスが異なるため、文字描画処理の高速化が可能となる。
【００５１】
（３）変形例
上述した実施形態の内容を次のように変形してもよい。
上述した実施形態では、１文字を幅方向（主走査方向）に分割して文字の描画を行っていたが、これを高さ方向（副走査方向）に分割して描画してもよいし、幅方向と高さ方向の両方に分割して描画するようにしてもよい。
【００５２】
上述した実施形態では、フォントプロセッサ１１において内部バスＢ-１と内部バスＢ-２を接続するブリッジ１１６を設けていたが、このブリッジ１１６を設けなくてもよい。この場合には、塗りつぶし描画モジュール１１１と、内部バスＢ-１とを接続しておき、塗りつぶし描画モジュール１１１は、内部バスＢ-１及び外部バスＢを介してＲＡＭ１６から輪郭データを読み出す。
このようにブリッジを備えている場合とブリッジを備えていない場合とを比較すると、次のような違いがある。
ブリッジを備えている場合、塗りつぶし描画モジュール１１１は内部バスＢ-２を介して内部メモリ１１５やＲＡＭ１６にアクセスする。このように１つのバスを介して２つのメモリにアクセスする場合には、それら２つのメモリの記憶領域を連続した１つの記憶領域とみなしてメモリアドレスを管理するだけでよい。これに対し、ブリッジを備えていない場合、塗りつぶし描画モジュール１１１は内部バスＢ-１を介してＲＡＭ１６にアクセスする一方、内部バスＢ-２を介して内部メモリ１１５にアクセスする。このように異なるバスを介して２つのメモリにアクセスする場合には、個々のメモリに対して別々のアドレス管理を行う必要がある。つまり、ブリッジを備えている場合には、ブリッジを備えていない場合に比べると、メモリアドレスの管理が簡単で済むという利点がある。
【００５３】
上述した実施形態では、アウトライン形式のフォントデータを用いて文字を描画する場合について説明したが、ストローク形式のフォントデータを用いて文字を描画してもよい。ストローク形式においては、文字の字形を中心線だけで指定してからその太さを指定するから、やはり、複数の処理ステップを実行して文字を描画する。よって、輪郭描画モジュール１１０と塗りつぶし描画モジュール１１１とを、例えば文字の線幅の中心線（字形）を描画するモジュールと、その中心線（字形）の周辺を塗りつぶすモジュールとに置き換えることにより、ストローク形式のフォントデータを用いた場合にも、本発明を適用することができる。
また、ベクタ形式の画像を描画する場合であっても、点の座標とそれを結ぶ線や面の方程式のパラメータに基づいて、輪郭の描画や、塗りつぶし、特殊効果等を行って画像を描画するから、このような各処理ステップを実行可能なモジュールを設けることにより、本発明を適用することができる。
【００５４】
上述した実施形態では、塗りつぶし描画モジュール１１１は、処理単位毎に行う塗りつぶし描画が終了すると、処理単位毎に背景合成・転送モジュール１１２に出力していたが、文字描画処理における全ての領域の塗りつぶし描画が終了するまで保持しておき、それから出力するようにしてもよい。すなわち、図１４において、ステップＳＣ２において、塗りつぶし描画モジュール１１１が、塗りつぶし描画が完了していない輪郭データが、対応するメモリ上に存在しないことを確認してから、ステップＳ５の処理を行う。
【００５５】
上述した実施形態では、塗りつぶし描画モジュール１１１と、背景合成・転送モジュール１１２とは別々のモジュールであったが、これらに代えて、同様の機能を実現する１つの専用モジュールを適用してもよい。背景合成・転送モジュール１１２は、内部メモリ１１５に対してアクセスすることはなく、塗りつぶし描画モジュール１１１から供給される画像データに基づいて処理を行うため、そのまま塗りつぶし描画モジュール１１１と背景合成・転送モジュール１１２とを、１つの専用モジュールとする構成とすることができる。
また、背景合成・転送モジュール１１２は、塗りつぶし描画モジュール１１１によって描画された文字を背景画像に合成せずに、塗りつぶし描画モジュール１１１から供給された画像データをそのままＶＲＡＭ１７上に書き込むようにしてもよい。
【００５６】
上述した実施形態では、表示体１４の表示画面上に文字を描画する場合について説明したが、記録用紙等に画像を印刷するような構成としてもよい。つまり、実施形態における表示体コントローラ１３を印刷制御部に置き換え、表示体１４を印刷部に置き換える構成とする。印刷制御部は、印刷部を制御して用紙に画像を印刷させるよう制御する。印刷部は、熱転写方式やインクジェット方式等を用いて記録用紙に画像を印刷する。
具体的には、例えば記録用紙１枚に印刷する画像に相当する画像データがＶＲＡＭ１７上に書き込まれ、完了通知信号が供給されると、ＣＰＵ１０はＶＲＡＭ１７上に書き込まれた画像データを印刷制御部に転送し、画像の印刷を指示する。この指示に応じて、印刷制御部は転送された画像データが表す画像（文字）を、印刷部に印刷させる。
【００５７】
上述した実施形態では、描画する文字として「口」や「Ｄ」の場合について説明したが、この「文字」は、平仮名、片仮名、漢字等の日本語であってもよく、アルファベット等の外国語であってもよい。さらに、「＋」や「−」等の記号や、円や多角形等の図形も文字に含めるものとする。つまり、フォントデータを取得し、それに基づいて文字を描画することができるのであれば、その輪郭によらず、本発明を適用することができる。
【００５８】
上述した実施形態では、内部メモリ１１５やＲＡＭ１６は２つの作業エリアを有する構成としていたが、さらに多くの作業エリアを有する構成としてもよい。このようにすれば、フォントプロセッサが更に多くの専用モジュールを有する場合にも、それぞれが各内部メモリに対して独立してアクセスすることにより、さらに多くの処理を並行して行うことができるようになる。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施形態に係る画像表示装置のハードウェア構成を示した図である。
【図２】フォントプロセッサのハードウェア構成を示した図である。
【図３】ＴＴＦに規定された制御点と、画像表示装置に表示される画像の例を説明する図である。
【図４】制御点を結ぶコンターを説明する図である。
【図５】ＴＴＦに規定された制御点を含むアウトラインデータのデータ構造を説明する図である。
【図６】制御点を結ぶコンターを説明する図である。
【図７】コンターで輪郭を形成し、その内側を塗りつぶす様子を示した図である。
【図８】各モジュールが実行する処理が行われる順番を時系列的に説明する図である。
【図９】文字の分割方法を説明する図である。
【図１０】ＣＰＵが実行する処理の手順を示すフローチャートである。
【図１１】ＣＰＵが実行する処理の手順を示すフローチャートである。
【図１２】ＣＰＵが実行する処理の手順を示すフローチャートである。
【図１３】輪郭描画モジュールが実行する処理の手順を示すフローチャートである。
【図１４】塗りつぶし描画モジュールが実行する処理の手順を示すフローチャートである。
【図１５】背景合成・転送モジュールが実行する処理の手順を示すフローチャートである。
【符号の説明】
【００６０】
１…画像表示装置、１０…ＣＰＵ、１１…フォントプロセッサ、１２…入力装置、１３…表示体コントローラ、１４…表示体、１５…ＲＯＭ、１６…ＲＡＭ、１７…ＶＲＡＭ、１８…不揮発性メモリ、１９…バスコントローラ、１１０…輪郭描画モジュール、１１１…塗りつぶし描画モジュール、１１２…背景合成・転送モジュール、１１３…外部バスコントローラ、１１４…内部バスコントローラ、１１５、１１５−１、１１５−２…内部メモリ、１１６…ブリッジ。
【図１】
2008241924.tif 000003
【図２】
2008241924.tif 000004
【図３】
2008241924.tif 000005
【図４】
2008241924.tif 000006
【図５】
2008241924.tif 000007
【図６】
2008241924.tif 000008
【図７】
2008241924.tif 000009
【図８】
2008241924.tif 000010
【図９】
2008241924.tif 000011
【図１０】
2008241924.tif 000012
【図１１】
2008241924.tif 000013
【図１２】
2008241924.tif 000014
【図１３】
2008241924.tif 000015
【図１４】
2008241924.tif 000016
【図１５】
2008241924.tif 000017