(57)【要約】【課題】文字を描画させる命令に含まれる情報の量を従来よりも少なくする。【解決手段】ＣＰＵは、フォントプロセッサーに記憶されている設定パラメーターを取得し（ＳＡ１）、これから描画させる文字のグリフデータのアフィン変換パラメーター及びオフセットパラメーターを取得する（ＳＡ２）。ＣＰＵは、ＳＡ２で取得したアフィン変換パラメーターと、ＳＡ１で取得した設定パラメーターとが一致すると判断すると（ＳＡ３；ＹＥＳ）、ＳＡ２で取得したオフセットパラメーターと、ＳＡ１で取得した設定パラメーターとが一致すると判断するか否かを判断する（ＳＡ５）。ＣＰＵは「ＹＥＳ」と判断すれば、アフィン変換パラメーター及びオフセットパラメーターを含めない描画命令を生成し（ＳＡ６）、「ＮＯ」と判断すれば、アフィン変換パラメーターを含めず、オフセットパラメーターを含む描画命令を生成する（ＳＡ７）。【選択図】図１３
2010224145.tif 000002
【特許請求の範囲】
【請求項１】
各グリフを識別する識別情報を含み、グリフの輪郭を描画する命令を表す描画命令を供給する命令供給手段と、
前記命令供給手段から前記描画命令が供給されると、当該描画命令に含まれる前記識別情報によって識別されるグリフの輪郭を示すグリフデータを取得し、取得したグリフデータが示す輪郭を複数の画素の階調値によって表した画像データをメモリーに書き込む輪郭描画手段と、
前記メモリーに書き込まれた画像データによって表される前記輪郭の姿勢を指定する姿勢情報を記憶する記憶手段と
を備え、
前記命令供給手段は、前記記憶手段に記憶された姿勢情報により指定される姿勢でグリフの輪郭を描画させる場合には、前記姿勢情報を含まない描画命令を前記輪郭描画手段に供給し、前記記憶手段に記憶された姿勢情報により指定される姿勢でグリフの輪郭を描画させない場合には、前記姿勢情報を含む描画命令を前記輪郭描画手段に供給し、
前記輪郭描画手段は、前記姿勢情報を含む描画命令が前記命令供給手段から供給された場合には、当該姿勢情報により指定される姿勢で前記輪郭を表す前記画像データを書き込み、前記姿勢情報を含まない描画命令が前記命令供給手段から供給された場合には、前記記憶手段に記憶された姿勢情報により指定される姿勢で前記輪郭を表す前記画像データを書き込む
ことを特徴とする情報処理装置。
【請求項２】
前記輪郭描画手段は、前記描画命令に含まれる姿勢情報により指定される姿勢で前記輪郭を表す前記画像データを書き込む場合に、前記記憶手段に記憶された姿勢情報を、当該描画命令に含まれる姿勢情報に書き換える姿勢情報書換手段を備える
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記記憶手段は、前記メモリーに書き込まれた前記画像データによって表される前記輪郭を描画する位置を指定する位置情報を記憶し、
前記命令供給手段は、前記記憶手段に記憶された位置情報により指定される位置に前記グリフの輪郭を描画させる場合には、前記位置情報を含まない描画命令を供給し、前記記憶手段に記憶された位置情報により指定される位置にグリフの輪郭を描画させない場合には、前記位置情報を含む描画命令を供給し、
前記輪郭描画手段は、前記描画命令に前記位置情報が含まれる場合には、当該位置情報により指定される位置に前記輪郭を描画し、前記描画命令に前記位置情報が含まれない場合には、前記記憶手段に記憶された位置情報により指定される位置に前記輪郭を描画するよう前記画像データを書き込む
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記輪郭描画手段は、前記描画命令に含まれる位置情報により指定される位置に前記輪郭を表す前記画像データを書き込む場合に、前記記憶手段に記憶された位置情報を、当該描画命令に含まれる位置情報に書き換える位置情報書換手段を備える
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
グリフを識別する識別情報を含み、当該グリフの輪郭を描画する命令を表す描画命令が供給されると、当該描画命令に含まれる前記識別情報によって識別されるグリフの輪郭を示すグリフデータを取得し、取得したグリフデータが示す輪郭を複数の画素の階調値によって表した画像データをメモリーに書き込む輪郭描画手段と、
前記メモリーに書き込まれた画像データによって表されるグリフの輪郭の姿勢を指定する姿勢情報を記憶する記憶手段と
を備えるフォント描画装置に対し、前記描画命令を供給する制御装置であって、
前記輪郭描画手段が、前記姿勢情報を含む描画命令が供給されると、当該姿勢情報により指定される姿勢で前記輪郭を表す前記画像データを書き込み、前記姿勢情報を含まない描画命令が供給されると、前記記憶手段に記憶された姿勢情報により指定される姿勢で前記輪郭を表す前記画像データを書き込む輪郭描画手段である場合に、前記記憶手段に記憶された姿勢情報により指定される姿勢でグリフの輪郭を描画させるときには、前記姿勢情報を含まない描画命令を前記輪郭描画手段に供給し、前記記憶手段に記憶された姿勢情報により指定される姿勢でグリフの輪郭を描画させないときには、前記姿勢情報を含む描画命令を前記輪郭描画手段に供給する命令供給手段
を備えることを特徴とする制御装置。
【請求項６】
グリフを識別する識別情報を含み、当該グリフの輪郭を描画する命令を表す描画命令が供給されると、当該描画命令に含まれる前記識別情報によって識別されるグリフの輪郭を示すグリフデータを取得し、取得したグリフデータが示す輪郭を複数の画素の階調値によって表した画像データをメモリーに書き込む輪郭描画手段と、
前記メモリーに書き込まれた画像データによって表されるグリフの輪郭の姿勢を指定する姿勢情報を記憶する記憶手段と
を備えるフォント描画装置に対し、前記描画命令を供給するコンピューターを、
前記輪郭描画手段が、前記姿勢情報を含む描画命令が供給されると、当該姿勢情報により指定される姿勢で前記輪郭を表す前記画像データを書き込み、前記姿勢情報を含まない描画命令が供給されると、前記記憶手段に記憶された姿勢情報により指定される姿勢で前記輪郭を表す前記画像データを書き込む輪郭描画手段である場合に、前記記憶手段に記憶された姿勢情報により指定される姿勢でグリフの輪郭を描画させるときには、前記姿勢情報を含まない描画命令を前記輪郭描画手段に供給し、前記記憶手段に記憶された姿勢情報により指定される姿勢でグリフの輪郭を描画させないときには、前記姿勢情報を含む描画命令を前記輪郭描画手段に供給する命令供給手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アウトラインフォントを描画する技術に関する。
【背景技術】
【０００２】
グリフの形をコンピューター上で表現するためのデータ形式として、アウトラインフォントがある。アウトラインフォントは、グリフの形状を、基準となる点の座標及び輪郭の集まりによって表現する形式である。特許文献１には、アウトラインフォントに係るデータを文字の構成要素単位に分解して格納しておき、描画要求のあった文字に応じたアウトラインフォントを集合させて文字を描画することが開示されている。なお、グリフとは、文字の可視化表現、又はその構成部分から大きさ及び意匠を正規化した抽象表現のことをいう。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−９０９３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
文字を描画する処理を行うモジュールに対してＣＰＵ（Central Processing Unit）が描画命令を供給してその処理を実行させる場合、描画命令には、グリフの識別情報のほか、そのグリフを描画する位置やそのグリフの姿勢を指定する情報が少なくとも含まれている。例えば複数のグリフを組み合わせて複雑な字体の文字を描画させるようなときや、文字数が膨大であるときには、描画命令に含まれる情報の量が増大してしまう。
本発明は、かかる事情に鑑みてなされたものであり、その目的は、文字を描画させる命令に含まれる情報の量を従来よりも少なくすることである。
【課題を解決するための手段】
【０００５】
上述した目的を達成するために、本発明は、各グリフを識別する識別情報を含み、グリフの輪郭を描画する命令を表す描画命令を供給する命令供給手段と、前記命令供給手段から前記描画命令が供給されると、当該描画命令に含まれる前記識別情報によって識別されるグリフの輪郭を示すグリフデータを取得し、取得したグリフデータが示す輪郭を複数の画素の階調値によって表した画像データをメモリーに書き込む輪郭描画手段と、前記メモリーに書き込まれた画像データによって表される前記輪郭の姿勢を指定する姿勢情報を記憶する記憶手段とを備え、前記命令供給手段は、前記記憶手段に記憶された姿勢情報により指定される姿勢でグリフの輪郭を描画させる場合には、前記姿勢情報を含まない描画命令を前記輪郭描画手段に供給し、前記記憶手段に記憶された姿勢情報により指定される姿勢でグリフの輪郭を描画させない場合には、前記姿勢情報を含む描画命令を前記輪郭描画手段に供給し、前記輪郭描画手段は、前記姿勢情報を含む描画命令が前記命令供給手段から供給された場合には、当該姿勢情報により指定される姿勢で前記輪郭を表す前記画像データを書き込み、前記姿勢情報を含まない描画命令が前記命令供給手段から供給された場合には、前記記憶手段に記憶された姿勢情報により指定される姿勢で前記輪郭を表す前記画像データを書き込むことを特徴とする情報処理装置を提供する。これにより、文字を描画させる命令に含まれる情報の量を従来よりも少なくすることができる。
【０００６】
本発明の好ましい態様において、前記輪郭描画手段は、前記描画命令に含まれる姿勢情報により指定される姿勢で前記輪郭を表す前記画像データを書き込む場合に、前記記憶手段に記憶された姿勢情報を、当該描画命令に含まれる姿勢情報に書き換える姿勢情報書換手段を備える。これにより、記憶手段の姿勢情報を描画命令に含まれる姿勢情報に書き換え、書き換え後の姿勢情報が指定する姿勢で輪郭を描画するための画像データの書き込みを行うことができる。
本発明の好ましい態様において、前記記憶手段は、前記メモリーに書き込まれた前記画像データによって表される前記輪郭を描画する位置を指定する位置情報を記憶し、
前記命令供給手段は、前記記憶手段に記憶された位置情報により指定される位置に前記グリフの輪郭を描画させる場合には、前記位置情報を含まない描画命令を供給し、前記記憶手段に記憶された位置情報により指定される位置にグリフの輪郭を描画させない場合には、前記位置情報を含む描画命令を供給し、前記輪郭描画手段は、前記描画命令に前記位置情報が含まれる場合には、当該位置情報により指定される位置に前記輪郭を描画し、前記描画命令に前記位置情報が含まれない場合には、前記記憶手段に記憶された位置情報により指定される位置に前記輪郭を描画するよう前記画像データを書き込む。これにより、文字を描画させる命令に含まれる情報の量をさらに少なくすることができる。かかる構成において、前記輪郭描画手段は、前記描画命令に含まれる位置情報により指定される位置に前記輪郭を表す前記画像データを書き込む場合に、前記記憶手段に記憶された位置情報を、当該描画命令に含まれる位置情報に書き換える位置情報書換手段を備えるようにしてもよい。これにより、記憶手段の位置情報を描画命令に含まれる位置情報に書き換え、書き換え後の位置情報が指定する位置に輪郭を描画するよう画像データの書き込みを行うことができる。
【０００７】
また、本発明は、グリフを識別する識別情報を含み、当該グリフの輪郭を描画する命令を表す描画命令が供給されると、当該描画命令に含まれる前記識別情報によって識別されるグリフの輪郭を示すグリフデータを取得し、取得したグリフデータが示す輪郭を複数の画素の階調値によって表した画像データをメモリーに書き込む輪郭描画手段と、前記メモリーに書き込まれた画像データによって表されるグリフの輪郭の姿勢を指定する姿勢情報を記憶する記段とを備えるフォント描画装置に対し、前記描画命令を供給する制御装置であって、前記輪郭描画手段が、前記姿勢情報を含む描画命令が供給されると、当該姿勢情報により指定される姿勢で前記輪郭を表す前記画像データを書き込み、前記姿勢情報を含まない描画命令が供給されると、前記記憶手段に記憶された姿勢情報により指定される姿勢で前記輪郭を表す前記画像データを書き込む輪郭描画手段である場合に、前記記憶手段に記憶された姿勢情報により指定される姿勢でグリフの輪郭を描画させるときには、前記姿勢情報を含まない描画命令を前記輪郭描画手段に供給し、前記記憶手段に記憶された姿勢情報により指定される姿勢でグリフの輪郭を描画させないときには、前記姿勢情報を含む描画命令を前記輪郭描画手段に供給する命令供給手段を備えることを特徴とする制御装置を提供する。これにより、文字を描画させる命令に含まれる情報の量を従来よりも少なくすることができる。
【０００８】
また、本発明は、グリフを識別する識別情報を含み、当該グリフの輪郭を描画する命令を表す描画命令が供給されると、当該描画命令に含まれる前記識別情報によって識別されるグリフの輪郭を示すグリフデータを取得し、取得したグリフデータが示す輪郭を複数の画素の階調値によって表した画像データをメモリーに書き込む輪郭描画手段と、前記メモリーに書き込まれた画像データによって表されるグリフの輪郭の姿勢を指定する姿勢情報を記憶する記憶手段とを備えるフォント描画装置に対し、前記描画命令を供給するコンピューターを、前記輪郭描画手段が、前記姿勢情報を含む描画命令が供給されると、当該姿勢情報により指定される姿勢で前記輪郭を表す前記画像データを書き込み、前記姿勢情報を含まない描画命令が供給されると、前記記憶手段に記憶された姿勢情報により指定される姿勢で前記輪郭を表す前記画像データを書き込む輪郭描画手段である場合に、前記記憶手段に記憶された姿勢情報により指定される姿勢でグリフの輪郭を描画させるときには、前記姿勢情報を含まない描画命令を前記輪郭描画手段に供給し、前記記憶手段に記憶された姿勢情報により指定される姿勢でグリフの輪郭を描画させないときには、前記姿勢情報を含む描画命令を前記輪郭描画手段に供給する命令供給手段として機能させるためのプログラムを提供する。これにより、文字を描画させる命令に含まれる情報の量を従来よりも少なくすることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係る表示装置の外観を示す図である。
【図２】同実施形態の表示装置の構成を示すブロック図である。
【図３】同実施形態のフォントプロセッサーの構成を示すブロック図である。
【図４】単純グリフの輪郭を示すグリフデータを説明する図である。
【図５】単純グリフの輪郭を示すグリフデータを説明する図である。
【図６】単純グリフの輪郭を示すグリフデータを説明する図である。
【図７】複合グリフの輪郭を示すグリフデータを説明する図である。
【図８】アフィン変換パラメーターと、輪郭の姿勢との関係を説明する図である。
【図９】複合グリフの輪郭を示すグリフデータを説明する図である。
【図１０】Ｔｒｕｅ  Ｔｙｐｅフォントで推奨されている描画方法を説明する図である。
【図１１】同実施形態の表示装置が実行する「文字描画処理」の手順を示したシーケンス図である。
【図１２】同実施形態の表示装置が「文字描画処理」を実行するときの、各モジュールの動作の時系列的な遷移の様子を示すタイムチャートである。
【図１３】同実施形態の表示装置が実行する「命令生成処理」の手順を示すフローチャートである。
【図１４】本発明の変形例に係る表示装置が「文字描画処理」を実行するときの、各モジュールの動作の時系列的な遷移の様子を示すタイムチャートである。
【発明を実施するための形態】
【００１０】
（Ａ）構成
（Ａ−１）装置構成
まず、本実施形態の表示装置の装置構成について説明する。
図１は、本実施形態の表示装置１の外観を示す図である。表示装置１は、本発明の情報処理装置の一例であり、電子ペーパーなどと呼ばれる可搬型の表示装置である。同図に示すように、表示装置１の前面には、入力装置１２の操作キー及び表示領域Ｆが設けられている。表示領域Ｆは矩形の表示領域であり、表示装置１は、ユーザーによる入力装置１２の操作に応じた画像を表示領域Ｆに表示する。
【００１１】
図２は、表示装置１の構成を示すブロック図である。
同図に示すように、表示装置１が備えるＣＰＵ１０、フォントプロセッサー１１、表示体コントローラー１３、ＲＯＭ(Read Only Memory)１５、ＲＡＭ（Random Access Memory）１６、ＶＲＡＭ（Video RAM）１７、不揮発性メモリー１８及びバスコントローラー１９は、バスＢを介して互いにデータの授受が行われるように接続されている。
ＣＰＵ１０は、本発明の命令供給手段の一例であり、ＲＯＭ１５に記憶された制御プログラムを読み出してＲＡＭ１６に展開し、その制御プログラムに記述された手順に従って処理を実行する。ＲＯＭ１５には、制御プログラムのほか、ＣＰＵ１０によって実行されるＯＳ（Operating System）や、アウトラインフォントに関するデータとしてグリフデータが記憶されている。グリフデータは、グリフの輪郭を示すデータである。ＲＡＭ１６は、ＣＰＵ１０がプログラムを実行する際にワークエリアとして用いられる記憶装置である。入力装置１２は、ユーザーによって操作される操作手段であり、キーボードやマウス、ペンデバイスやジョイスティックなどの操作デバイスを含む。ユーザーによって入力装置１２が操作されると、入力装置１２はその操作に応じた操作信号をＣＰＵ１０に供給する。
【００１２】
ＣＰＵ１０は、入力装置１２から供給された操作信号に応じて、フォントプロセッサー１１に文字を描画する命令を表す「描画命令」を生成して、フォントプロセッサー１１に供給する。フォントプロセッサー１１は、本発明の輪郭描画手段の一例であり、例えばＬＳＩ（Large Scale Integration）により構成される。フォントプロセッサー１１は、ＣＰＵ１０から描画命令が供給されると、供給された描画命令に従って文字を描画する「文字描画処理」を実行する。この文字描画処理において、フォントプロセッサー１１は、ＲＯＭ１５から描画命令に応じたグリフデータを読み出して取得し、取得したグリフデータを解釈してビットマップ形式の画像データに変換する。フォントプロセッサー１１は、文字描画処理により生成した画像データを、ＶＲＡＭ１７に転送する。なお、ＶＲＡＭ１７は、ＲＡＭ１６の一部に含まれるような構成であってもよい。ＶＲＡＭ１７に書き込まれた画像データは、ＣＰＵ１０の制御の下、表示体コントローラー１３に供給される。表示体コントローラー１３は、表示体１４を制御して表示領域Ｆに画像を表示させる。表示体１４は、コレステリック液晶や電気泳動などを利用した複数の画素からなる表示手段であり、電力供給が停止しても画像を表示し続ける、いわゆる記憶性を有している。不揮発性メモリー１８は、フラッシュメモリーやハードディスクなどの不揮発性の記憶手段である。バスコントローラー１９は、内部に接続されている各モジュールに対して同時にアクセスが行われないように調停を行う。
【００１３】
信号線Ｓ１は、ＣＰＵ１０とフォントプロセッサー１１とを接続する。信号線Ｓ１により、ＣＰＵ１０からフォントプロセッサー１１に対して描画命令が供給されたり、フォントプロセッサー１１からＣＰＵ１０に対して、文字の描画が完了したことを通知する信号（完了通知信号）が供給される。信号線Ｓ２は、ＣＰＵ１０と表示体コントローラー１３とを接続する。ＣＰＵ１０は、信号線Ｓ２を介して、例えば画像のリフレッシュ時期等に表示体１４をリフレッシュ駆動するよう、表示体コントローラー１３に指示する。なお、表示体１４が非記憶性の場合には、表示体コントローラー１３自体が表示体１４を駆動するため、信号線Ｓ２は不用である。
表示装置１に電源が投入されると、各モジュールのリセット動作が行われる。そして、ＣＰＵ１０は、ＲＯＭ１５に記憶されたブートプログラムを起動することによりＯＳが起動する。その後、ＣＰＵ１０は制御プログラムに基づいて制御を行い、ユーザーによる入力装置１２の操作に応じて描画命令を生成して、フォントプロセッサー１１により文字描画処理を実行させる。
【００１４】
図３は、フォントプロセッサー１１の構成を示すブロック図である。
メインコントローラー１１１は、ＣＰＵやレジスター１１１ａを備え、フォントプロセッサー１１の各部を制御する。レジスター１１１ａは、本発明の記憶手段の一例であり、描画命令に含まれるフォント描画に必要な情報を記憶する。
【００１５】
フォント描画コントローラー１１２は、メインコントローラー１１１の制御の下、輪郭描画モジュール１１３及び塗り潰しモジュール１１４に文字を描画させる処理を実行させる。描画命令に含まれるフォント描画に必要な情報には、「ＤｒａｗＣｈａｒ」、「ＤｒａｗＣｈａｒＦｉｌｌ」のいずれであるかを示す情報がある。「ＤｒａｗＣｈａｒ」は、輪郭を描画する処理（以下、「輪郭描画処理」という。）の実行を指示する命令である。「ＤｒａｗＣｈａｒＦｉｌｌ」は、輪郭描画処理、及び輪郭の内側を塗り潰す処理（以下、「塗り潰し描画処理」という。）の実行を指示する命令である。
輪郭描画モジュール１１３は、グリフデータが示すグリフの輪郭をビットマップ形式のデータでメモリーに書き込むことによって輪郭を描画するモジュールであり、メインコントローラー１１１に命令「ＤｒａｗＣｈａｒ」、又は命令「ＤｒａｗＣｈａｒＦｉｌｌ」が与えられた場合に、輪郭を描画するための輪郭描画処理を実行する。具体的には、輪郭描画モジュール１１３は、ＲＯＭ１５から取得したグリフデータや描画命令に含まれる情報に基づいてグリフの輪郭を計算し、輪郭を描画する画素の位置を計算する。そして、輪郭描画モジュール１１３は、輪郭を表す画像データをワークメモリー１１５−１，１１５−２（以下、それぞれを区別する必要のない場合には、以下「ワークメモリー１１５」と総称する。）のいずれかに書き込む。輪郭描画モジュール１１３は、第１のグリフの輪郭を表す画像データを一方のワークメモリー１１５−１に書き込んだ後に、それに後続する第２のグリフの輪郭を表す画像データを他方のワークメモリー１１５−２に書き込む。
【００１６】
ワークメモリー１１５は、輪郭を表す画像データとして、マトリクス状に２次元配置された画素の階調値を表す画像データを記憶する。この２次元配置された画素にあっては、一方向がＸ軸と定められ、Ｘ軸に直交する方向がＹ軸と定められた直交座標系に従って各画素に座標（ｘ，ｙ）が割り当てられている。なお、原点の座標を（０，０）とする。ＶＲＡＭ１７に書き込まれる各画素を表す画像データは、表示体１４の画素の座標値に対応付けられている。ワークメモリー１１５には塗り潰さないことを示すデータ（例えば、階調値「０」）、又は塗り潰すことを示すデータ（例えば、階調値「１」）のいずれかが画素単位で書き込まれる。
【００１７】
塗り潰しモジュール１１４は、メインコントローラー１１１に命令「ＤｒａｗＣｈａｒＦｉｌｌ」が与えられた場合に、塗り潰し描画処理を実行する。具体的には、塗り潰しモジュール１１４は、ワークメモリー１１５から輪郭を表す画像データを読み出して、輪郭描画モジュール１１３により描画された輪郭の内部、すなわち輪郭で囲まれた領域を塗り潰す描画を行う。この塗り潰しに係る具体的なアルゴリズムについては、種々知られているからその説明を省略する。フォント描画コントローラー１１２は、輪郭描画処理、及び塗り潰し描画処理を、ワークメモリー１１５−１，１１５−２を交互に用いて実行させる。これにより、輪郭描画モジュール１１３が輪郭描画処理を実行しているときに、塗り潰しモジュール１１４が塗り潰し描画処理を実行することができるので、この並列処理によって文字の描画に係る処理の高速化が可能となる。また、塗り潰しモジュール１１４は、必要に応じて画素と背景を合成した画像データを生成して出力する。なお、命令「ＤｒａｗＣｈａｒ」が与えられたときには、塗り潰しモジュール１１４は、塗り潰し描画処理を実行しない。
【００１８】
バスインターフェースモジュール１１６は、バスＢを介してＣＰＵ１０、ＲＯＭ１５、ＲＡＭ１６及びＶＲＡＭ１７等の各部との間で信号やデータの入出力を行う。メインバスＢ−１およびＢ−２は、フォントプロセッサー１１内の間のデータや信号の伝送に用いられる伝送路である。
輪郭描画モジュール１１３と塗り潰しモジュール１１４との間の信号線は、輪郭描画処理の終了の通知に用いられる。フォント描画コントローラー１１２と塗り潰しモジュール１１４との間の信号線は、ワークメモリー１１５のビット幅、データの範囲などの情報の伝送に用いられる。塗り潰しモジュール１１４とメインバスＢとの間の信号線は、背景データの伝送や、塗り潰し描画処理の結果の伝送に用いられる。
【００１９】
（Ａ−２）グリフデータの構成
次に、本実施形態のグリフデータについて説明する。
ＲＯＭ１５に記憶されているグリフデータにより表されるグリフは、１又は複数の文字の輪郭、或いは１の文字の一部の輪郭を構成し、以下では「単純グリフ」と称する。一方、グリフの形状が複雑であるような場合、単純グリフを複数組み合わせたグリフが用いられる。このグリフのことを、単純グリフに対し、「複合グリフ」と称する。
【００２０】
（Ａ−２−１）単純グリフ
まず、本実施形態の単純グリフについて説明する。
図４は、「Ａ」という文字のグリフの輪郭を示すグリフデータを説明する図である。同図（ａ）は、グリフデータを図形的に示したものである。グリフデータは実際には命令および点の座標を含むテキストデータまたはバイナリデータである。同図（ｂ）は、グリフデータのデータ構造を示したものである。
図４（ｂ）に示すように、「Ａ」に対応するグリフデータには、グリフを識別するための識別情報としてグリフＩＤ「３３」が割り当てられている。ＲＯＭ１５に記憶されているグリフデータには、それぞれのグリフを識別するためのグリフＩＤが割り当てられている。グリフデータは、グリフの輪郭を描くのに用いられる情報を含む。具体的には、グリフデータは、輪郭の端点を特定する情報として点の座標（Ｘ１，Ｙ１）、（Ｘ２，Ｙ２）と、２つの端点を結ぶ直線または曲線を特定する情報として直線又は曲線を描画する命令（コマンド）とを含む。図４（ａ）において、「１」〜「１６」という数値は、輪郭上の各点（制御点）を表しており、同図（ｂ）に示すＮＯ．１〜Ｎｏ．１６で区別される各命令に対応している。
【００２１】
図４（ｂ）に示すように、グリフデータには文字の描画に関する各命令が記述されている。命令「ＭｏｖｅＴｏ」は、点位置を移動させる命令であり、移動先の点の座標を引数として含む。命令「ＬｉｎｅＴｏ」は、直線（線分）を描画させる命令であり、直線の終点の座標を引数として含む。命令「ＬｉｎｅＴｏ」には、命令「ＨｏｒＬｉｎｅＴｏ」と、命令「ＶｅｒＬｉｎｅＴｏ」とがあり、命令「ＨｏｒＬｉｎｅＴｏ」はＸ軸方向に延びる直線（線分）を描くことを命令するもので、命令「ＶｅｒＬｉｎｅＴｏ」はＹ軸方向に延びる直線（線分）を描くことを命令するものである。なお、図４（ｂ）において、命令の末尾に「＿Ｓ」と付されたものは、すべての引数が７ｂｉｔ以下であることを意味し、命令の末尾に「＿Ｍ」と付されたものは、すべての引数が１０ｂｉｔ以下であることを意味する。命令「ＥｎｄＯｆＣｏｄｅ」は、グリフデータの最後に付与され、グリフの終点の位置を規定する。
なお、図４の例では用いられていないが、これ以外にも、命令「Ｃｕｒｖｅ２」や、命令「Ｃｕｒｖｅ３」等がある。命令「Ｃｕｒｖｅ２」は２次のベジェ曲線を描画させる命令で、曲線の終点の座標（図４の「Ｘ１」，「Ｙ１」）および１つの制御点（図４の「Ｘ２」，「Ｙ２」）の座標を引数として含む。命令「Ｃｕｒｖｅ３」は、３次のベジェ曲線を描画させる命令で、曲線の終点の座標および２つの制御点の座標を引数として含む。なお、命令の内容は、少なくとも輪郭の端点を特定する情報として点の座標と、２つの端点を結ぶ直線または曲線を描画する命令とを含むものであればよい。
【００２２】
図４に示すグリフデータの内容についてより具体的に説明する。
図４（ａ）において、点「１」は基準点である。基準点の位置はグリフデータ毎に予め決められている。命令「ＭｏｖｅＴｏ＿Ｓ」により、点位置が点「１」から点「２」に移動する。命令「ＭｏｖｅＴｏ＿Ｓ」は、直線の終点の座標（４０，０）を引数として含むから、Ｘ軸方向に対して４０画素分だけ移動する。次に、命令「ＶｅｒＬｉｎｅＴｏ＿Ｓ」により、点「２」から点「３」までｙ軸方向に延びる直線が描画される。この命令「ＶｅｒＬｉｎｅＴｏ＿Ｓ」は、直線の終点の座標（−，２０）を引数として含むから、Ｙ軸方向に対して２０画素分の長さの線分が描画される。なお、「−（ハイフン）」は、データが存在しないことを意味し、その命令の内容は「０」の場合と同じである。次に、「ＬｉｎｅＴｏ＿Ｓ」により、点「３」から点「４」の方向に延びる直線（線分）が描画される。この命令「ＬｉｎｅＴｏ＿Ｓ」は、直線の終点の座標（１２０，２００）を引数として含むから、Ｘ軸方向に対して１２０画素分、Ｙ軸方向に対して３００画素分だけ移動した位置を終点として、点「３」から点「４」まで延びる線分が描画される。以降も同様にして、グリフデータに従って図４（ａ）で示されるような輪郭が記述される。
【００２３】
図５は、「Ｅ」という文字のグリフの輪郭を示すグリフデータを説明する図である。同図（ａ）は、グリフデータを図形的に示したものである。同図（ｂ）は、グリフデータのデータ構造を示したものである。
図５に示すように、「Ｅ」に対応するグリフデータには、グリフＩＤ「３７」が割り当てられている。図５（ｂ）に示すように、グリフデータのデータ構造は、図４に示す文字「Ａ」の場合とは命令の内容や引数が異なるだけで、上述したような命令の内容に従ってグリフデータに基づいて輪郭が記述される。よって、ここでは各命令の内容の説明を省略する。
【００２４】
図６は、「´」という文字のグリフの輪郭を示すグリフデータを説明する図である。同図（ａ）は、グリフデータを図形的に示したものである。同図（ｂ）は、グリフデータのデータ構造を示したものである。なお、「´」は、フランス語の母音等につけて発音を表すアクサン記号である。
図６に示すように、「´」に対応するグリフデータにはグリフＩＤ「１５３」が割り当てられている。図６（ｂ）に示すように、グリフデータのデータ構造は、図４に示す文字「Ａ」や図５に示す「Ｅ」の場合とは命令の内容や引数が異なるだけで、命令の内容に従った輪郭がグリフデータに基づいて記述されることになる。よって、ここでは命令の内容の説明については省略する。
【００２５】
（Ａ−２−２）複合グリフ
次に、複合グリフについて説明する。
図７は、複合グリフにより輪郭が記述される文字であり、「Ａ」という文字の上部にアクサン記号「´」を付した文字（明細書中では、以下「Ａ´」と表す。）の輪郭を示すググリフデータを説明する図である。同図（ａ）は、グリフデータを図形的に示したものである。同図（ｂ）は、グリフデータのデータ構造を示したものである。
【００２６】
図７（ｂ）に示すように、「Ａ´」のグリフの輪郭を示すグリフデータには、各グリフを識別するためのグリフＩＤ「２９３」が割り当てられている。複合グリフについても、それぞれを識別するためのグリフＩＤが割り当てられている。複合グリフの輪郭を示すグリフデータには、命令「ＣｏｍｐｌｅｘＧｌｙｐｈ」、命令「Ｐａｒｔｓ  Ｎｕｍｂｅｒ＝２」、及び各単純グリフに対応する命令（ここでは、命令「Ｐ１」、「Ｐ２」）が含まれる。命令「ＣｏｍｐｌｅｘＧｌｙｐｈ」は、複合グリフであることを示し、複数の単純グリフの組み合わせにより文字を描画することを示す。命令「Ｐａｒｔｓ  Ｎｕｍｂｅｒ＝２」は、２つの単純グリフの組み合わせにより、輪郭を記述することを示す。なお、この引数は組み合わせる単純グリフの数によって異なる。また、単純グリフに対応する命令として、ここでは「Ａ」、「´」のそれぞれのグリフに対応する命令「Ｐ１」及び「Ｐ２」が含まれている。
【００２７】
次に、命令「Ｐ１」及び「Ｐ２」について説明するが、まず、両者で共通する内容について説明する。
命令「Ｐ１」及び命令「Ｐ２」には、それぞれ、単純グリフの「グリフＩＤ」と、「アフィン変換パラメーター」と、「オフセットパラメーター」とが含まれている。グリフＩＤは、単純グリフに割り当てられたグリフＩＤであり、ＲＯＭ１５にグリフデータが記憶された単純グリフを識別する情報である。アフィン変換パラメーターは、本発明の輪郭の姿勢を指定する姿勢情報の一例である。オフセットパラメーターは、輪郭の基準点からの位置の変更量を表し、本発明の輪郭を描画する位置を指定する位置情報の一例である。複合グリフの輪郭を示すグリフデータに基づいて記述される輪郭は、アフィン変換パラメーター及びオフセットパラメーターを用いると、下記式（１）の関係を満たす。
【数１】
2010224145.tif 000003
【００２８】
式（１）において、Ａ，Ｂ，Ｄ，Ｅを含む２×２の行列式（以下、（Ａ，Ｂ，Ｄ，Ｅ）と表す。）は、アフィン変換パラメーターである。Ｃ，Ｆを含む１×２の行列式（以下、（Ｃ，Ｆ）と表す。）は、オフセットパラメーターである。ｘ０、ｙ０は、基準となる姿勢であり、姿勢を変更させないでグリフデータに基づいて輪郭が描画された場合の、ワークメモリー１１５における各画素のＸ軸、Ｙ軸の座標を表す。ｘ、ｙは、アフィン変換パラメーターによって姿勢が指定され、オフセットパラメーターにより描画位置が指定されて輪郭描画された場合の、ワークメモリー１１５における各画素のＸ軸、Ｙ軸の座標を表す。例えば、ＲＯＭ１５に記憶されたグリフデータによって描画される輪郭の姿勢を変化させない場合には、アフィン変換パラメーターとして（Ａ，Ｂ，Ｄ，Ｅ）＝（１，０，０，１）という単位行列が用いられる。また、輪郭を描画する位置を基準点から変化させない場合には、オフセットパラメーターとして（Ｃ，Ｆ）＝（０，０）というゼロ行列が用いられる。また、基準点からＸ軸方向に「２０」画素、Ｙ軸方向に「−５」画素だけ位置を変更する場合には、オフセットパラメーターとして（Ｃ，Ｆ）＝（２０，−５）という値が用いられる。このようにオフセットパラメーターによって、輪郭が描画される位置の基準点からの変更量が指定される。
【００２９】
図８は、アフィン変換パラメーターと、ワークメモリー１１５に書き込まれる画像データによって表される輪郭の姿勢との関係を説明する図である。ここでは、「ａ」という文字を例に挙げて説明する。
図８（ａ）の場合、（Ａ，Ｂ，Ｄ，Ｅ）＝（１，０，０，１）であり、アフィン変換パラメーターは、グリフデータが示す輪郭の姿勢を変化させないことを指定する。図８（ｂ）の場合、（Ａ，Ｂ，Ｄ，Ｅ）＝（１，０，０，−１）であり、アフィン変換パラメーターは、グリフデータが示す輪郭の天地方向を反転（上下反転）した姿勢とするよう指定する。図８（ｃ）の場合、（Ａ，Ｂ，Ｄ，Ｅ）＝（−１，０，０，−１）であり、アフィン変換パラメーターは、グリフデータが表す輪郭を時計回りに１８０度回転させた姿勢（つまり、上下左右を反転した姿勢）とするよう指定する。図８（ｄ）の場合、（Ａ，Ｂ，Ｄ，Ｅ）＝（０，１，−１，０）であり、グリフデータが表す輪郭を時計回りに９０度回転させた姿勢とすることを指定する。図８（ｅ）の場合、（Ａ，Ｂ，Ｄ，Ｅ）＝（０，−１，１，０）であり、アフィン変換パラメーターは、グリフデータが表す輪郭を時計回りに２７０度回転させた姿勢とすることを指定する。また、図８に示したパラメーター以外にも（Ａ，Ｂ，Ｄ，Ｅ）＝（０，１，１，０）であれば、アフィン変換パラメーターは、左上部と右下部とを反転した姿勢とすることを指定するし、（Ａ，Ｂ，Ｄ，Ｅ）＝（０，１，１，０）であれば、アフィン変換パラメーターは、左下部と右上部とを反転した姿勢とすることを指定する。このように、アフィン変換パラメーターの値に応じて、ワークメモリー１１５に書き込まれる画像データよって表される輪郭の姿勢が指定される。なお、上述したものはアフィン変換パラメーターが採る値の一例であり、これら以外にも文字の姿勢を指定ためのパラメーターが用いられることがある。
【００３０】
図７に戻って、命令「Ｐ１」及び命令「Ｐ２」についてより詳しく説明する。
命令「Ｐ１」には、グリフＩＤ「３３」と、アフィン変換パラメーター（Ａ，Ｂ，Ｄ，Ｅ）＝（１，０，０，１）と、オフセットパラメーター（Ｃ，Ｆ）＝（０，０）とが含まれている。グリフＩＤ「３３」が割り当てられたグリフデータは、図４に示した文字「Ａ」のグリフの輪郭を示す。命令「Ｐ１」には、（Ａ，Ｂ，Ｄ，Ｅ）＝（１，０，０，１）、（Ｃ，Ｆ）＝（０，０）とすることが指定されている。すなわち、命令「Ｐ１」は「Ａ」の姿勢を変更せずに、且つ、輪郭を描画する位置を基準点から変更しないことを指定する。命令「Ｐ２」には、グリフＩＤ「１５３」と、アフィン変換パラメーター（Ａ，Ｂ，Ｄ，Ｅ）＝（１，０，０，１）と、オフセットパラメーター（Ｃ，Ｆ）＝（０，０）とが含まれている。グリフＩＤ「１５３」が割り当てられたグリフデータは、図６に示すアクサン記号「´」のグリフの輪郭を示す。命令「Ｐ２」において、（Ａ，Ｂ，Ｄ，Ｅ）＝（１，０，０，１）、（Ｃ，Ｆ）＝（０，０）が指定されている。すなわち、命令「Ｐ２」は「´」の姿勢を変更せずに、且つ、輪郭を描画する位置を基準点から移動させないことを指定する。
【００３１】
図９は、複合グリフにより輪郭が記述される「Ｅ」という文字の上部にアクサン記号「´」を付した文字（明細書中では、以下「Ｅ´」と表す。）のグリフデータを説明する図である。同図（ａ）は、グリフデータを図形的に示したものである。同図（ｂ）は、グリフデータのデータ構造を示したものである。
【００３２】
「Ｅ´」に対応するグリフデータには、グリフＩＤ「３０１」が割り当てられ、命令「ＣｏｍｐｌｅｘＧｌｙｐｈ」や命令「Ｐａｒｔｓ  Ｎｕｍｂｅｒ＝２」が含まれている。これらの内容は「Ａ´」と同じであるから、その説明を省略する。
命令「Ｐ１」には、グリフＩＤ「３７」と、アフィン変換パラメーター（Ａ，Ｂ，Ｄ，Ｅ）＝（１，０，０，１）と、オフセットパラメーター（Ｃ，Ｆ）＝（０，０）とが含まれている。グリフＩＤ「３７」が割り当てられたグリフデータは、図５に示した「Ｅ」の輪郭を示す。命令「Ｐ１」には、（Ａ，Ｂ，Ｄ，Ｅ）＝（１，０，０，１）、（Ｃ，Ｆ）＝（０，０）が含まれている。すなわち、命令「Ｐ１」は、「Ｅ」の姿勢を変更せずに、且つ、輪郭を描画する位置を基準点から移動させないことを指定する。命令「Ｐ２」には、グリフＩＤ「１５３」と、（Ａ，Ｂ，Ｄ，Ｅ）＝（１，０，０，１）と、（Ｃ，Ｆ）＝（０，−３０）とが含まれている。グリフＩＤ「３３」が割り当てられたグリフデータは、図６に示したアクサン記号「´」の輪郭を示す。命令「Ｐ２」には、（Ａ，Ｂ，Ｄ，Ｅ）＝（１，０，０，１）、（Ｃ，Ｆ）＝（−３０，０）が含まれている。すなわち、命令「Ｐ２」は、「´」の姿勢を変更せずに、且つ、輪郭を描画する位置を基準点からＸ軸方向に対して「−３０」画素だけ変更することを指定する。
なお、３つ以上の単純グリフを組み合わせたグリフデータが用いられてもよく、この場合、グリフデータにおいては、命令「Ｐａｒｔｓ  Ｎｕｍｂｅｒ」のパラメーターや、単純グリフに対応する命令の数が異なるだけで、上述した内容に従ったデータ構造となる。
【００３３】
（Ａ−３）フォント描画方法
ここで、本実施形態のフォント描画方法について説明する。
図１０は、Ｔｒｕｅ  Ｔｙｐｅフォントで推奨されている描画方法を説明する図である。ここでは、単純グリフＡおよび単純グリフＢの２つの単純グリフを合成して、複合グリフの輪郭を表す画像データを生成する例を説明する。まず、ＲＯＭ１５に記憶された単純グリフＡおよび単純グリフＢのグリフデータ（図１０（Ａ）および（Ｂ））は、ワークメモリー１１５で合成される（図１０（Ｃ））。こうして、複合グリフのグリフデータがワークメモリー１１５上に記憶される。なお、３つ以上の単純グリフを組み合わせる場合も、同様にしてワークメモリー１１５でグリフデータが合成される。また、図１０（Ａ）、（Ｂ）では理解を助けるために図形として示しているが、記憶されているのはビットマップデータではなくグリフデータである。次に、複合グリフのグリフデータを用いて、塗り潰しモジュール１１４によりワークメモリー１１５から輪郭を表すデータが読み出され（図１０（Ｄ））、塗り潰しモジュール１１４において輪郭の内部が塗り潰される（図１０（Ｅ））。
【００３４】
（Ｂ）動作
次に、本実施形態の表示装置１が実行する動作について説明する。
（Ｂ−１）文字描画処理
まず、文字描画処理について説明する。
ここでは、図７，９に示される複合グリフにより輪郭を描画をする場合の動作について説明する。図１１は、表示装置１が実行する「文字描画処理」の手順を示したシーケンス図である。以下の処理は、ＣＰＵ１０が、ＲＯＭ１５に記憶された制御プログラムに従って動作することにより行われる。
【００３５】
まず、ＣＰＵ１０は、ユーザーにより入力装置１２が操作されて表示体１４の表示内容を更新することが指示されると、それに応じた画像データを不揮発性メモリー１８から読み出して取得する（ステップＳ１）。このとき、ＣＰＵ１０は、ＲＡＭ１６に画像データを展開する。そして、ＣＰＵ１０は、「命令生成処理」を実行する（ステップＳ２）。ＣＰＵ１０は、各グリフを識別するグリフＩＤを含み、アフィン変換パラメータやオフセットパラメーターを含む描画命令を生成する。この描画命令には、「ＤｒａｗＣｈａｒ」、「ＤｒａｗＣｈａｒＦｉｌｌ」のいずれであるかを示す情報や、複合グリフであれば、図７，９に示したデータ構造の情報等が含まれる。「命令生成処理」の内容について詳しくは後述する。
【００３６】
ＣＰＵ１０は、命令生成処理の実行により生成した描画命令をフォントプロセッサー１１に供給する（ステップＳ３）。フォントプロセッサー１１のメインコントローラー１１１は、描画命令が供給されると、その描画命令に含まれるフォント描画に必要な情報をレジスター１１１ａに記憶させる（ステップＳ４）。このとき、メインコントローラー１１１は、レジスター１１１ａに記憶されていた内容を、その描画命令に含まれるアフィン変換パラメーター及びオフセットパラメーターに書き換えることになる。すなわち、メインコントローラー１１１は、本発明の姿勢情報書換手段、及び位置情報書換手段の一例である。そして、メインコントローラー１１１は、その描画命令に含まれるグリフＩＤが割り当てられたグリフデータを、ＲＯＭ１５から読み出して取得する（ステップＳ５）。続いて、メインコントローラー１１１は、文字描画処理を実行する（ステップＳ６）。この文字描画処理において、メインコントローラー１１１は、グリフデータ、及びアフィン変換パラメーター及びオフセットパラメーターに基づいて、輪郭を表す画像データをワークメモリー１１５に書き込む輪郭描画処理を実行する。メインコントローラー１１１は、アフィン変換パラメーターによって指定される姿勢とし、オフセットパラメーターによって指定される位置に輪郭を描画するよう、ワークメモリー１１５に輪郭を表す画像データを書き込む。
文字描画処理が完了すると、メインコントローラー１１１は、画像データをＶＲＡＭ１７に転送して画像データを書き込み（ステップＳ７）、文字描画処理が完了したことを示す完了通知信号をＣＰＵ１０に供給する（ステップＳ８）。
以上が、「文字描画処理」の説明である。
【００３７】
図１２は、表示装置１が文字を描画する処理を実行する場合の、各モジュールの動作の時系列的な遷移の様子を示すタイムチャートである。なお、図１２において、横軸は時刻ｔを表し、矢印方向に時刻が遷移する。図１２の矢印に付したＳ１〜Ｓ８は、図１１に示す各ステップに対応しており、各モジュール間の矢印はそのステップの処理の実行により生じるデータの流れを示す。ＣＰＵ１０は描画命令をフォントプロセッサー１１に供給し、フォントプロセッサー１１により文字描画処理が実行されて完了通知信号を受け取ると、それに後続する描画命令を生成して、フォントプロセッサー１１に供給する。このようにして、ＣＰＵ１０は文字を描画するための描画命令を繰り返し生成して供給する。
【００３８】
（Ｂ−２）命令生成処理
次に「命令生成処理」について説明する。ここでは、表示装置１が複合グリフの輪郭を示すグリフデータを用いて、「Ａ´」という文字と、それに続けて「Ｅ´」という文字とを描画する場合の動作について説明する。図１３は、ＣＰＵ１０が実行する「命令生成処理」の手順を示すフローチャートである。
「Ａ´」という文字を描画させる場合には、ＣＰＵ１０は、「Ａ」という文字を描画させるための描画命令を生成してフォントプロセッサー１１に供給し、この描画命令に従ってフォントプロセッサー１１により文字描画処理が実行されると、それに続けて「´」という文字を描画させるための描画命令を生成して供給する。そこで、まずＣＰＵ１０は「Ａ」を描画させるための描画命令を生成する。
【００３９】
（Ｂ−２−１）１番目の命令生成処理
まず、ＣＰＵ１０は、フォントプロセッサー１１のレジスター１１１ａに記憶されている描画命令に関する情報のうち、設定パラメーターａ〜ｆ（アフィン変換パラメーター及びオフセットパラメーター）を取得する（ステップＳＡ１）。レジスター１１１ａに記憶されているＡ〜Ｆのパラメーターを総称して、以下では「設定パラメーター」と称する。また、ＣＰＵ１０が命令生成処理によって生成する描画命令に含めるＡ〜Ｆの各値と、設定パラメーターのＡ〜Ｆの各値とを区別するために、設定パラメーターについてはａ，ｂ，ｃ，ｄ，ｅ，ｆという、それぞれ対応する小文字のアルファベットを用いて表す。ここでは、ＣＰＵ１０は「Ａ」の前には描画命令を生成していないものとし、レジスター１１１ａには設定パラメーターが記憶されていないとする。
【００４０】
次に、ＣＰＵ１０は、文字描画処理の対象となる「Ａ」について、グリフデータにおいて定義されているアフィン変換パラメーター及びオフセットパラメーターを取得する（ステップＳＡ２）。具体的には、ＣＰＵ１０は、ＲＯＭ１５から図７に示したような「Ａ´」に対応するグリフデータを取得し、ここではまず命令「Ｐ１」に含まれるＡ〜Ｆの各パラメーターを取得する。すなわち、ＣＰＵ１０は、（Ａ，Ｂ，Ｄ，Ｅ）＝（１，０，０，１）、（Ｃ，Ｆ）＝（０，０）というパラメーターを取得する。
【００４１】
次に、ＣＰＵ１０は、ステップＳＡ２で取得したアフィン変換パラメーターが、ステップＳＡ１で取得した設定パラメーターに一致するか（つまり、Ａ＝ａ，Ｂ＝ｂ，Ｄ＝ｄ，Ｅ＝ｅという条件を全て満たしているか）否かを判断する（ステップＳＡ３）。上述したようにステップＳＡ１で設定パラメーターを取得しなかったから、ここではＣＰＵ１０は「ＮＯ」と判断して、ステップＳＡ４に進む。
【００４２】
そして、ＣＰＵ１０は、「Ａ」という文字を描画させる描画命令として、ＳｅｔＡｆｆｉｎｅＣｏｅｆ（１，０，０，１，０，０）と、単純グリフ「Ａ」を識別するためのグリフＩＤ「３３」とを含む描画命令を生成する。ＳｅｔＡｆｆｉｎｅＣｏｅｆ（Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ）という形式の命令は、Ａ〜Ｆのすべてのパラメーターをフォントプロセッサー１１に供給するときに用いられるものであり、換言すれば、ＣＰＵ１０がレジスター１１１ａに記憶されている設定パラメーターにより指定される姿勢で輪郭を描画させず、設定パラメーターにより指定される位置に輪郭を描画させない場合に生成される。ここで、Ａ〜Ｆのそれぞれのパラメーターが８ｂｉｔの情報であるとすると、これらの情報量の合計は４８ｂｉｔある。なお、複合グリフの輪郭を示すグリフデータに基づいて描画を行わせるときには、ＣＰＵ１０は、複合グリフのグリフＩＤ（ここでは、グリフＩＤ「２９３」）や、「ＣｏｍｐｌｅｘＧｌｙｐｈ」、「Ｐａｒｔｓ  Ｎｕｍｂｅｒ＝２」などという情報をそれぞれの描画命令に含める。また、ＣＰＵ１０は、描画命令には「ＤｒａｗＣｈａｒ」、「ＤｒａｗＣｈａｒＦｉｌｌ」等の情報も含める。この内容は、以下で説明する描画命令でも共通する内容であるから、その説明については以下では省略する。ＣＰＵ１０は、図１１のステップＳ３において、この命令生成処理にて生成した描画命令をフォントプロセッサー１１に供給する。
【００４３】
描画命令が供給されると、フォントプロセッサー１１のメインコントローラー１１１は、上述したようにして、レジスター１１１ａに描画命令に関する情報を書き込む。そして、メインコントローラー１１１は、この描画命令に関する情報に従って文字描画処理を実行する。このとき、メインコントローラー１１１は、この描画命令に含まれるパラメーターＡ〜Ｆを設定パラメーターとしてレジスター１１１ａに記憶させる（図１１のステップＳ４）。メインコントローラー１１１は、「Ａ」の文字描画処理が終了すると、この設定パラメーターの記憶を維持しておき、「Ａ」に対応するその他の描画命令の情報については消去する。
【００４４】
（Ｂ−２−２）２番目の命令生成処理
次に、ＣＰＵ１０は、２番目の描画命令として「´」という文字を描画させるための描画命令を生成するための、命令生成処理を実行する。
ＣＰＵ１０は、フォントプロセッサー１１のレジスター１１１ａに記憶されているアフィン変換パラメーター及びオフセットパラメーターを、メインコントローラー１１１から設定パラメーターａ〜ｆとして取得する（ステップＳＡ１）。ここでは、「Ａ」に対応する描画命令によって、レジスター１１１ａには（Ａ，Ｂ，Ｄ，Ｅ）＝（１，０，０，１）、（Ｃ，Ｆ）＝（０，０）という設定パラメーターが記憶されているから、ＣＰＵ１０はこれらを取得する。そして、ＣＰＵ１０は、文字描画処理の対象となる「´」について、グリフの輪郭の姿勢、及び輪郭を描画する位置を指定するために、グリフデータにおいて定義されているアフィン変換パラメーター及びオフセットパラメーターを、グリフデータから取得する（ステップＳＡ２）。ここでは、ＣＰＵ１０は、図７に示した命令「Ｐ２」に含まれる（Ａ，Ｂ，Ｄ，Ｅ）＝（１，０，０，１）、（ｃ，ｆ）＝（０，０）というパラメーターを取得する。
【００４５】
そして、ＣＰＵ１０は、ステップＳＡ２で取得したアフィン変換パラメーターが、ステップＳＡ１で取得した設定パラメーターに一致するか否かを判断する（ステップＳＡ３）。ここでは、Ａ＝ａ＝１，Ｂ＝ｂ＝０，Ｄ＝ｄ＝０，Ｅ＝ｅ＝１であるから、ＣＰＵ１０は「ＹＥＳ」と判断して、ステップＳＡ５に進む。次に、ＣＰＵ１０は、ステップＳＡ２で取得したオフセットパラメーターが、ステップＳＡ１で取得した設定パラメーターに一致する（つまり、Ｃ＝ｃ，Ｆ＝ｆという条件を全て満たしている）か否かを判断する（ステップＳＡ５）。ここで、ＣＰＵ１０は、Ｃ＝ｃ＝０，Ｆ＝ｆ＝０であるから「ＹＥＳ」と判断して、ステップＳＡ６に進む。
【００４６】
この場合、これから描画させようとする文字「´」と、先に描画した「Ａ」とが同じ姿勢で、且つ基準点からの位置の変更量が同じ位置に描画されることを意味する。このとき、フォントプロセッサー１１は、アフィン変換パラメーター及びオフセットパラメーターについては、レジスター１１１ａに記憶されている設定パラメーターを用いて文字描画処理を行う。この場合、ＣＰＵ１０は、レジスター１１１ａに記憶された設定パラメーターにより指定される姿勢で、且つ、設定パラメーターにより指定される位置に輪郭を描画させるよう、アフィン変換パラメーター及びオフセットパラメーターを含めない描画命令を生成して供給する。この描画命令を受け取ったフォントプロセッサー１１は、レジスター１１１ａに記憶されている設定パラメーターａ〜ｆを取得し、これらを「´」に対するアフィン変換パラメーター及びオフセットパラメーターとして用いて、文字描画処理を実行する。これにより「´」の描画命令の情報量については、アフィン変換パラメーター及びオフセットパラメーターが含まれる場合に比べて、６×８ｂｉｔ＝４８ｂｉｔだけ小さくなる。
【００４７】
次に、ＣＰＵ１０は「Ｅ´」という文字を描画させるための描画命令を生成する。この場合も、ＣＰＵ１０は、「Ｅ」という文字を描画させるための描画命令を生成してフォントプロセッサー１１に供給し、それに続けて「´」という文字を描画させるための描画命令を生成してフォントプロセッサー１１に供給する。
【００４８】
（Ｂ−２−３）３番目の命令生成処理
ＣＰＵ１０は、３番目の描画命令として「Ｅ」という文字を描画するための描画命令を生成する。
図９に示すように、複合グリフ「Ｅ」に対応するグリフデータの命令「Ｐ１」には、グリフＩＤ「３７」、アフィン変換パラメーター（Ａ，Ｂ，Ｄ，Ｅ）＝（１，０，０，１）、オフセットパラメーター（Ｃ，Ｆ）＝（０，０）という内容が含まれている。よって、ＣＰＵ１０は、「´」を描画したときと同様に、ステップＳＡ１，ＳＡ２，ＳＡ３，ＳＡ５，ＳＡ６という順序で各ステップを実行し、アフィン変換パラメーター及びオフセットパラメーターを含めずに、グリフＩＤ「３７」を含む描画命令を生成して、フォントプロセッサー１１に供給する。
【００４９】
（Ｂ−２−４）４番目の命令生成処理
フォントプロセッサー１１により「Ｅ」について文字描画処理が実行されると、続いて、ＣＰＵ１０は、４番目の描画命令として「´」という文字を描画させるための描画命令を生成する。「´」については、図９に示すように、命令「Ｐ２」にグリフＩＤ「１５３」、（Ａ，Ｂ，Ｄ，Ｅ）＝（１，０，０，１）、（Ｃ，Ｆ）＝（−３０，０））という内容が含まれている。一方、設定パラメーターは、（ａ，ｂ，ｄ，ｅ）＝（１，０，０，１）、（ｃ，ｆ）＝（−３０，０））である。よって、ＣＰＵ１０はステップＳＡ３において、ステップＳＡ２で取得したアフィン変換パラメーターが、ステップＳＡ１で取得した設定パラメーターに一致するから「ＹＥＳ」と判断して、ステップＳＡ５に進む。次に、ＣＰＵ１０は、ステップＳＡ２で取得したオフセットパラメーターが、ステップＳＡ１で取得した設定パラメーターに一致するか否かを判断する（ステップＳＡ５）ここでは、Ｃ≠ｃ＝−３０，Ｆ＝ｆ＝０であるから、ＣＰＵ１０は「ＮＯ」と判断して、ステップＳＡ７に進む。
【００５０】
この場合、先に描画した文字「Ｅ」と、これから描画しようとする文字「´」とを同じ姿勢で描画させられるが、基準点からの位置の変更量がそれぞれ異なる。この場合、フォントプロセッサー１１は、アフィン変換パラメーターについてはレジスター１１１ａに記憶されているものを用いて輪郭を描画させ、オフセットパラメーターについてはレジスター１１１ａに記憶されている設定パラメーターを用いずに輪郭を描画させるよう、描画命令を生成する。このとき、ＣＰＵ１０は、「´」に対応するアフィン変換パラメーターを含めず、オフセットパラメーターを含む描画命令として、ＳｅｔＡｆｆｉｎｅＣｏｅｆＣＦ（−３０，０）と、「´」を識別するためのグリフＩＤ「１５３」とを含む描画命令を生成する。ＳｅｔＡｆｆｉｎｅＣｏｅｆＣＦ（Ｃ，Ｆ）という形式の命令は、アフィン変換パラメーターを供給せずに、オフセットパラメーターをフォントプロセッサー１１に供給するときに用いられるものであり、換言すれば、ＣＰＵ１０がレジスター１１１ａに記憶されている設定パラメーターにより指定される姿勢で輪郭を描画させ、設定パラメーターにより指定される位置に輪郭を描画させない場合に生成する描画命令を表す。上述したように、Ａ〜Ｆの各パラメーターが８ｂｉｔの情報量を有するから、この場合、ＣＰＵ１０がＡ〜Ｆのパラメーターをすべて供給する場合に比べて、情報量は４８ｂｉｔから３２ｂｉｔに低減される。
【００５１】
このように、ＣＰＵ１０は、描画命令を供給しようとするたびに「命令生成処理」を実行し、レジスター１１１ａに記憶されている設定パラメーターと一致するものについては、設定パラメーターと一致するアフィン変換パラメーター及びオフセットパラメーターを含めないようにして描画命令を生成する。
【００５２】
フォントプロセッサー１１が用いるアフィン変換パラメーターやオフセットパラメーターにあっては、或るパラメーターを用いる頻度が突出して多いことを発明者らは発見した。具体的には、グリフの輪郭の姿勢を変化させないことがほとんどで、つまり、アフィン変換パラメーター（Ａ，Ｂ，Ｄ，Ｅ）＝（１，０，０，１）とすることが圧倒的に多い。オフセットパラメーターにおいても、輪郭を描画する位置を変更することは比較的少なく、（Ｃ，Ｆ）＝（０，０）とすることが多い。このような背景があるから、ＣＰＵ１０は、使用の頻度が多いパラメーターについては、描画命令にそのパラメーターを含めないようにすることになるから、描画命令に係る情報量を従来よりも少なくすることができる。
【００５３】
（Ｃ）変形例
なお、上記実施形態を次のように変形してもよい。具体的には、例えば以下のような変形が挙げられる。これらの変形は、各々を適宜に組み合わせることも可能である。
（Ｃ−１）変形例１
以上説明した実施形態では、ＣＰＵ１０は、設定パラメーターに一致する場合には、アフィン変換パラメーター及びオフセットパラメーターの両方を描画命令に含めないようにしていたが、オフセットパラメーターについては常に描画命令に含める構成としてもよい。この場合、設定パラメーターは、アフィン変換パラメーターに対応するもののみでよい。また、ＣＰＵ１０は、アフィン変換パラメーターを常に描画命令に含めるようにし、設定パラメーターに一致する場合には、オフセットパラメーターのみを描画命令に含めないようにしてもよい。この場合、設定パラメーターは、オフセットパラメーターに対応するもののみでよい。すなわち、ＣＰＵ１０は、アフィン変換パラメーター及びオフセットパラメーターのうち、少なくともいずれか一方を含めない描画命令を供給するようにすれば、それら両方を含めた場合に比べて、描画命令に含まれる情報の量を少なくすることができる。
【００５４】
（Ｃ−２）変形例２
上述した実施形態では、フォントプロセッサー１１は、描画命令に含まれるアフィン変換パラメーターやオフセットパラメーターを用いて輪郭を描画する場合には、これらのパラメーターを新たな設定パラメーターとするよう、レジスター１１１ａに記憶されている設定パラメーターを書き換えていた。これにより、フォントプロセッサー１１が直前に実行した文字描画処理と同じパラメーターを用いる場合に、描画命令の情報量が低減されていた。これに代えて、設定パラメーターを固定値としてもよい。例えば、実施形態で使用の頻度が高いと述べた（Ａ，Ｂ，Ｄ，Ｅ）＝（１，０，０，１）、（Ｃ，Ｆ）＝（０，０）を常に設定パラメーターとしてもよいし、これ以外のパラメーターを設定パラメーターとしてもよい。この構成において、ＣＰＵ１０は、予め決められた設定パラメーターと一致するパラメーターを用いて文字を描画させるときには、一致するパラメーターを含めないようにした描画命令を生成することになる。
【００５５】
（Ｃ−３）変形例３
上述した実施形態では、設定パラメーターをフォントプロセッサー１１が内蔵するレジスター１１１ａが記憶していたが、かかる記憶手段はフォントプロセッサー１１外にあってもよい。また、上述した実施形態では、ＣＰＵ１０が命令生成処理を実行するたびにフォントプロセッサー１１から設定パラメーターを取得していたが、ＣＰＵ１０に内蔵するメモリーや不揮発性メモリー１８にこれと同じ内容を記憶しておき、そこから取得するようにしてもよい。
【００５６】
（Ｃ−４）変形例４
ＣＰＵ１０が実行する命令生成処理を以下のようにして実行してもよい。図１４は、表示装置１が文字を描画する処理を実行する場合の、各モジュールの動作の時系列的な遷移の様子を示すタイムチャートである。なお、図１４において、横軸は時刻ｔを表し、矢印方向に時刻が遷移する。同図に示すＳ１〜Ｓ８は、図１１に示す各ステップの符号に対応している。
この例では、ＣＰＵ１０は、例えば表示領域Ｆの１枚分（１ページ）の文字を表示するための描画命令の生成を処理単位として、この処理単位に含まれる命令生成処理をすべて実行した後に、フォントプロセッサー１１に文字描画処理を開始させる。
この場合、ＣＰＵ１０は、命令生成処理で生成した描画命令をフォントプロセッサー１１に供給し（ステップＳ３）、フォントプロセッサー１１は、供給された描画命令に含まれるフォント描画に必要な情報をＲＡＭ１６に記憶させる（ステップＳ９）。そして、フォントプロセッサー１１は描画命令を記憶させたことを示す記憶完了信号をＣＰＵ１０に供給する（ステップＳ１０）。この記憶完了信号を受け取ると、ＣＰＵ１０は、次に描画させる文字に対応する描画命令を生成し、フォントプロセッサー１１に供給する。このようにして表示装置１は、Ｓ３→Ｓ９→Ｓ１０という処理ステップを繰り返し、次々と描画命令を生成する。そして、ＣＰＵ１０は、処理単位に含まれるすべての命令生成処理が終了すると、フォントプロセッサー１１に開始命令を供給して、文字描画処理を開始させる（ステップＳ１１）。この開始命令を受け取ったことを契機として、フォントプロセッサー１１は、ＲＡＭ１６から描画命令に含まれるフォント描画に必要な情報を読み出して取得し（ステップＳ１２）、その描画命令に応じたグリフデータを取得して（ステップＳ５）、文字描画処理を実行する（ステップＳ６）。そして、フォントプロセッサー１１は生成した画像データをＶＲＡＭ１７に転送する（ステップＳ７）。フォントプロセッサー１１は、ＣＰＵ１０が生成したすべての描画命令に対する文字描画処理を完了するまで、Ｓ１２→Ｓ５→Ｓ６→Ｓ７という処理ステップを繰り返す。すべての文字描画処理が完了すると、フォントプロセッサー１１は完了通知信号をＣＰＵ１０に供給する。
【００５７】
このように、ＣＰＵ１０は、処理単位に含まれるすべての描画命令を生成した後であって、フォントプロセッサー１１によって描画処理が行われている期間では作動している必要がないから、この期間にＣＰＵ１０への給電を減じることで、表示装置１全体としての省電力の効果を得ることができる。なお、ここではＣＰＵ１０が１ページ分の画像の画像データに応じた描画命令を一度に供給していたが、或る決められた処理単位に含まれる複数の描画命令を供給するものであればよい。
【００５８】
（Ｃ−５）変形例５
表示装置１のハードウェア構成は図２に示されるものに限定されず、実施形態で説明した描画命令の生成や、描画命令に基づいて文字を描画する機能を実現するものであればよい。描画命令の内容は少なくともグリフＩＤを含むものであればよく、フォント描画に必要な情報については、文字を描画する装置に応じて適宜決められればよい。また、グリフＩＤは、グリフデータが格納されたＲＯＭ１５の記憶領域のアドレスを示すものでもよく、フォントプロセッサー１１が取得するグリフデータを識別できるものであればよい。
また、上述した実施形態では、表示装置１が電子ペーパーである例について説明したが、パーソナルコンピューター、ＰＤＡ（Personal Digital Assistant）、携帯電話機など電子ペーパー以外の情報処理装置であってもよい。また、上述した実施形態では、表示装置１に内蔵されているＣＰＵ１０の例で説明したが、ＣＰＵ１０は、表示装置１に内蔵されているものに限らず、例えば、ＵＳＢ（Universal Serial Bus）ケーブルやＬＡＮ（Local Area Network）等の通信手段を介して接続されたコンピューター装置（制御装置）によって実現されてもよい。この場合、制御装置は、通信インターフェースを備え、外部装置であるフォントプロセッサー（フォント描画装置）から設定パラメーターを取得して、上記命令生成処理を実行して描画命令を生成する。そして、制御装置は、通信インターフェースによってフォント描画装置に描画命令を供給する。
【００５９】
（Ｃ−６）変形例６
上述した実施形態では、表示体１４に文字を描画する場合について説明したが、記録用紙等に画像を印刷するような構成としてもよい。つまり、実施形態における表示体コントローラー１３を印刷制御部に置き換え、表示体１４を印刷部に置き換える構成とする。印刷制御部は、印刷部を制御して用紙に画像を印刷させるよう制御する。印刷部は、熱転写方式やインクジェット方式等を用いて記録用紙に画像を印刷する。具体的には、例えば記録用紙１枚に印刷する画像に相当する画像データがＶＲＡＭ１７上に書き込まれ、完了通知信号が供給されると、ＣＰＵ１０はＶＲＡＭ１７上に書き込まれた画像データを印刷制御部に転送し、画像の印刷を指示する。この指示に応じて、印刷制御部は転送された画像データが表す画像（文字）を、印刷部に印刷させる。
【００６０】
上述した実施形態では、描画する文字として「Ａ」や「Ｅ」、「Ａ´」、「Ｅ´」の場合について説明したが、この「文字」は、平仮名、片仮名、漢字等の日本語であってもよく、その他のアルファベット等の外国語であってもよい。さらに、「＋」や「−」等の記号や、円や多角形等の図形も文字に含めるものとする。つまり、グリフデータに基づいて文字の輪郭を描画することができるのであれば、文字の字体（輪郭）に関係なく、本発明を適用することができる。
【００６１】
（Ｃ−７）変形例７
上述の実施形態においてＣＰＵ１０によって実行されるプログラムは、磁気記録媒体（磁気テープ、磁気ディスク（ＨＤＤ（Hard Disk Drive）、ＦＤ（Flexible Disk））など）、光記録媒体（光ディスク（ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disk））など）、光磁気記録媒体、半導体メモリー（フラッシュＲＯＭなど）などのコンピューター読取り可能な記録媒体に記憶した状態で提供されてもよい。また、このプログラムは、インターネットのようなネットワーク経由でダウンロードされてもよい
【符号の説明】
【００６２】
１…表示装置、１０…ＣＰＵ、１１…フォントプロセッサー、１１１…メインコントローラー、１１２…フォント描画コントローラー、１１３…輪郭描画モジュール、１１４…塗り潰しモジュール、１１５…ワークメモリー、１１６…バスインターフェースモジュール、１２…入力装置、１３…表示体コントローラー、１４…表示体、１５…ＲＯＭ、１６…ＲＡＭ、１７…ＶＲＡＭ、１８…不揮発性メモリー、１９…バスコントローラー。
【図１】
2010224145.tif 000004
【図２】
2010224145.tif 000005
【図３】
2010224145.tif 000006
【図４】
2010224145.tif 000007
【図５】
2010224145.tif 000008
【図６】
2010224145.tif 000009
【図７】
2010224145.tif 000010
【図８】
2010224145.tif 000011
【図９】
2010224145.tif 000012
【図１０】
2010224145.tif 000013
【図１１】
2010224145.tif 000014
【図１２】
2010224145.tif 000015
【図１３】
2010224145.tif 000016
【図１４】
2010224145.tif 000017