"パターン画像を定義するための定義命令と、前記定義命令により定義されたパターン画像を指定された範囲に配列して塗りつぶす塗りつぶし命令とを含む描画情報を解釈して実行する際に、前記定義命令により定義された前記パターン画像を、ライン毎に同一の画素値の画素が連続する区間及び該画素値を示すエッジデータを有する第1の形式で表したときの前記エッジデータの数が第1の閾値以下となる場合には、前記パターン画像を前記第1の形式で表したパターン画像情報を記憶手段に記憶するように処理し、前記パターン画像を前記第1の形式で表したときのエッジデータの数が前記第1の閾値を超える場合には、画素毎に画素値を有する第2の形式で前記パターン画像を表したパターン画像情報を前記記憶手段に記憶するように処理する第1の記憶処理手段と、前記第1の記憶手段に記憶されるパターン画像情報が前記第2の形式の場合に、前記第2の形式の前記パターン画像情報から前記塗りつぶし命令の塗りつぶしに使用される画素値を抽出するためのマスク情報を作成し、前記マスク情報を前記第1の形式で表したときのエッジデータの数が第2の閾値以下となる場合には、前記マスク情報を前記第1の形式で表して前記記憶手段に記憶するように処理し、前記マスク情報を前記第1の形式で表したときのエッジデータの数が前記第2の閾値を超える場合には、前記マスク情報を前記第2の形式で表して前記記憶手段に記憶するように処理する第2の記憶処理手段と、前記記憶したパターン画像情報が前記第1の形式の場合には、該パターン画像情報を用いて前記塗りつぶし命令を実行し、前記記憶したパターン画像情報が前記第2の形式の場合には、該パターン画像情報と共に前記記憶手段に記憶した前記マスク情報も用いて前記塗りつぶし命令を実行する実行手段と、を備えた画像処理装置。前記第2の閾値を、前記マスク情報を前記第1の形式で表したときのデータ量と、前記マスク情報を前記第2の形式で表したときのデータ量と、が等しくなるときのエッジデータの数となるように設定した請求項1記載の画像処理装置。前記第1の閾値を、前記パターン画像を前記第1の形式で表したときの前記パターン画像情報のデータ量と、前記パターン画像を前記第2の形式で表したときの前記パターン画像情報のデータ量と、が等しくなるときのエッジデータの数となるように設定した請求項1又は請求項2に記載の画像処理装置。前記第1の閾値を、前記パターン画像を前記第1の形式で表したときの前記パターン画像情報のデータ量と、前記パターン画像を前記第2の形式で表したときの前記パターン画像情報のデータ量に前記マスク情報を前記第2の形式で表したときのデータ量を加算した加算データ量と、が等しくなるときの前記パターン画像情報のエッジデータの数となるように設定した請求項1又は請求項2に記載の画像処理装置。前記第1の記憶処理手段は、ライン単位で前記パターン画像を前記第1の形式で表したときのエッジデータの数が前記第1の閾値以下となるか否かを判断し、前記パターン画像を前記第1の形式で表したときのエッジデータの数が前記第1の閾値以下となるラインについては、前記第1の形式で表したパターン画像情報を前記記憶手段に記憶するように処理し、前記パターン画像を前記第1の形式で表したときのエッジデータの数が前記第1の閾値を超えるラインについては、前記第2の形式で表したパターン画像情報を前記記憶手段に記憶するように処理し、前記第2の記憶処理手段は、ライン単位で前記マスク情報を前記第2の形式で表したときのエッジデータの数が前記第2の閾値以下となるか否かを判断し、前記マスク情報を前記第1の形式で表したときのエッジデータの数が前記第2の閾値以下となるラインについては、前記第1の形式で表したマスク情報を前記記憶手段に記憶するように処理し、前記マスク情報を前記第1の形式で表したときのエッジデータの数が前記第2の閾値を超えるラインについては、前記第2の形式で表した前記マスク情報を前記記憶手段に記憶するように処理する請求項1に記載の画像処理装置。前記第2の閾値を、前記マスク情報を前記第1の形式で表したときの1ライン分データ量と、前記マスク情報を前記第2の形式で表したときの1ライン分のデータ量と、が等しくなるときのエッジデータの数となるように設定した請求項5記載の画像処理装置。前記第1の閾値を、前記パターン画像を前記第1の形式で表したときの1ライン分のデータ量と、前記パターン画像を前記第2の形式で表したときの1ライン分のデータ量と、が等しくなるときのエッジデータの数となるように設定した請求項5又は請求項6に記載の画像処理装置。前記第1の閾値を、前記パターン画像を前記第1の形式で表したときの1ライン分のデータ量と、前記パターン画像を前記第2の形式で表したときの1ライン分のデータ量に前記マスク情報を前記第2の形式で表したときの1ライン分のデータ量を加算した加算データ量と、が等しくなるときの前記パターン画像情報のエッジデータの数となるように設定した請求項6又は請求項7に記載の画像処理装置。請求項1~請求項8のいずれか1項記載の画像処理装置と、前記画像処理装置により前記塗りつぶし命令が実行されて生成された出力画像情報に基づいて画像を形成する画像形成手段と、を備えた画像形成装置。コンピュータを、パターン画像を定義するための定義命令と、前記定義命令により定義されたパターン画像を指定された範囲に配列して塗りつぶす塗りつぶし命令とを含む描画情報を解釈して実行する際に、前記定義命令により定義された前記パターン画像を、ライン毎に同一の画素値の画素が連続する区間及び該画素値を示すエッジデータを有する第1の形式で表したときの前記エッジデータの数が第1の閾値以下となる場合には、前記パターン画像を前記第1の形式で表したパターン画像情報を記憶手段に記憶するように処理し、前記パターン画像を前記第1の形式で表したときのエッジデータの数が前記第1の閾値を超える場合には、画素毎に画素値を有する第2の形式で前記パターン画像を表したパターン画像情報を前記記憶手段に記憶するように処理する第1の記憶処理手段、前記第1の記憶手段に記憶されるパターン画像情報が前記第2の形式の場合に、前記第2の形式の前記パターン画像情報から前記塗りつぶし命令の塗りつぶしに使用される画素値を抽出するためのマスク情報を作成し、前記マスク情報を前記第1の形式で表したときのエッジデータの数が第2の閾値以下となる場合には、前記マスク情報を前記第1の形式で表して前記記憶手段に記憶するように処理し、前記マスク情報を前記第1の形式で表したときのエッジデータの数が前記第2の閾値を超える場合には、前記マスク情報を前記第2の形式で表して前記記憶手段に記憶するように処理する第2の記憶処理手段、及び前記記憶したパターン画像情報が前記第1の形式の場合には、該パターン画像情報を用いて前記塗りつぶし命令を実行し、前記記憶したパターン画像情報が前記第2の形式の場合には、該パターン画像情報と共に前記記憶手段に記憶した前記マスク情報も用いて前記塗りつぶし命令を実行する実行手段と、として機能させるためのプログラム。本発明は、描画情報に含まれる定義命令により定義されたパターン画像を該描画情報に含まれる塗りつぶし命令により指定された範囲に配列して塗りつぶす場合において、該塗りつぶし命令の実行の際に該パターン画像を表すパターン画像情報の他にマスク情報が必要なときでも、該パターン画像を表すパターン画像情報を記憶するときの記憶手段の使用量だけでなく、マスク情報を記憶するときの記憶手段の使用量も抑制することができる画像処理装置、画像形成装置、及びプログラムを得ることを目的とする。請求項1の発明の画像処理装置は、パターン画像を定義するための定義命令と、前記定義命令により定義されたパターン画像を指定された範囲に配列して塗りつぶす塗りつぶし命令とを含む描画情報を解釈して実行する際に、前記定義命令により定義された前記パターン画像を、ライン毎に同一の画素値の画素が連続する区間及び該画素値を示すエッジデータを有する第1の形式で表したときの前記エッジデータの数が第1の閾値以下となる場合には、前記パターン画像を前記第1の形式で表したパターン画像情報を記憶手段に記憶するように処理し、前記パターン画像を前記第1の形式で表したときのエッジデータの数が前記第1の閾値を超える場合には、画素毎に画素値を有する第2の形式で前記パターン画像を表したパターン画像情報を前記記憶手段に記憶するように処理する第1の記憶処理手段と、前記第1の記憶手段に記憶されるパターン画像情報が前記第2の形式の場合に、前記第2の形式の前記パターン画像情報から前記塗りつぶし命令の塗りつぶしに使用される画素値を抽出するためのマスク情報を作成し、前記マスク情報を前記第1の形式で表したときのエッジデータの数が第2の閾値以下となる場合には、前記マスク情報を前記第1の形式で表して前記記憶手段に記憶するように処理し、前記マスク情報を前記第1の形式で表したときのエッジデータの数が前記第2の閾値を超える場合には、前記マスク情報を前記第2の形式で表して前記記憶手段に記憶するように処理する第2の記憶処理手段と、前記記憶したパターン画像情報が前記第1の形式の場合には、該パターン画像情報を用いて前記塗りつぶし命令を実行し、前記記憶したパターン画像情報が前記第2の形式の場合には、該パターン画像情報と共に前記記憶手段に記憶した前記マスク情報も用いて前記塗りつぶし命令を実行する実行手段と、を備えている。請求項2の発明は、請求項1記載の画像処理装置において、前記第2の閾値を、前記マスク情報を前記第1の形式で表したときのデータ量と、前記マスク情報を前記第2の形式で表したときのデータ量と、が等しくなるときのエッジデータの数となるように設定したものである。請求項3の発明は、請求項1又は請求項2に記載の画像処理装置において、前記第1の閾値を、前記パターン画像を前記第1の形式で表したときの前記パターン画像情報のデータ量と、前記パターン画像を前記第2の形式で表したときの前記パターン画像情報のデータ量と、が等しくなるときのエッジデータの数となるように設定したものである。請求項4の発明は、請求項1又は請求項2に記載の画像処理装置において、前記第1の閾値を、前記パターン画像を前記第1の形式で表したときの前記パターン画像情報のデータ量と、前記パターン画像を前記第2の形式で表したときの前記パターン画像情報のデータ量に前記マスク情報を前記第2の形式で表したときのデータ量を加算した加算データ量と、が等しくなるときの前記パターン画像情報のエッジデータの数となるように設定したものである。請求項5の発明は、請求項1に記載の画像処理装置において、前記第1の記憶処理手段は、ライン単位で前記パターン画像を前記第1の形式で表したときのエッジデータの数が前記第1の閾値以下となるか否かを判断し、前記パターン画像を前記第1の形式で表したときのエッジデータの数が前記第1の閾値以下となるラインについては、前記第1の形式で表したパターン画像情報を前記記憶手段に記憶するように処理し、前記パターン画像を前記第1の形式で表したときのエッジデータの数が前記第1の閾値を超えるラインについては、前記第2の形式で表したパターン画像情報を前記記憶手段に記憶するように処理し、前記第2の記憶処理手段は、ライン単位で前記マスク情報を前記第2の形式で表したときのエッジデータの数が前記第2の閾値以下となるか否かを判断し、前記マスク情報を前記第1の形式で表したときのエッジデータの数が前記第2の閾値以下となるラインについては、前記第1の形式で表したマスク情報を前記記憶手段に記憶するように処理し、前記マスク情報を前記第1の形式で表したときのエッジデータの数が前記第2の閾値を超えるラインについては、前記第2の形式で表した前記マスク情報を前記記憶手段に記憶するように処理する。請求項6の発明は、請求項5記載の画像処理装置において、前記第2の閾値を、前記マスク情報を前記第1の形式で表したときの1ライン分データ量と、前記マスク情報を前記第2の形式で表したときの1ライン分のデータ量と、が等しくなるときのエッジデータの数となるように設定したものである。請求項7の発明は、請求項5又は請求項6に記載の画像処理装置において、前記第1の閾値を、前記パターン画像を前記第1の形式で表したときの1ライン分のデータ量と、前記パターン画像を前記第2の形式で表したときの1ライン分のデータ量と、が等しくなるときのエッジデータの数となるように設定したものである。請求項8の発明は、請求項6又は請求項7に記載の画像処理装置において、前記第1の閾値を、前記パターン画像を前記第1の形式で表したときの1ライン分のデータ量と、前記パターン画像を前記第2の形式で表したときの1ライン分のデータ量に前記マスク情報を前記第2の形式で表したときの1ライン分のデータ量を加算した加算データ量と、が等しくなるときの前記パターン画像情報のエッジデータの数となるように設定したものである。請求項9の発明の画像形成装置は、請求項1~請求項8のいずれか1項記載の画像処理装置と、前記画像処理装置により前記塗りつぶし命令が実行されて生成された出力画像情報に基づいて画像を形成する画像形成手段と、を備えている。請求項10の発明は、コンピュータを、パターン画像を定義するための定義命令と、前記定義命令により定義されたパターン画像を指定された範囲に配列して塗りつぶす塗りつぶし命令とを含む描画情報を解釈して実行する際に、前記定義命令により定義された前記パターン画像を、ライン毎に同一の画素値の画素が連続する区間及び該画素値を示すエッジデータを有する第1の形式で表したときの前記エッジデータの数が第1の閾値以下となる場合には、前記パターン画像を前記第1の形式で表したパターン画像情報を記憶手段に記憶するように処理し、前記パターン画像を前記第1の形式で表したときのエッジデータの数が前記第1の閾値を超える場合には、画素毎に画素値を有する第2の形式で前記パターン画像を表したパターン画像情報を前記記憶手段に記憶するように処理する第1の記憶処理手段、前記第1の記憶手段に記憶されるパターン画像情報が前記第2の形式の場合に、前記第2の形式の前記パターン画像情報から前記塗りつぶし命令の塗りつぶしに使用される画素値を抽出するためのマスク情報を作成し、前記マスク情報を前記第1の形式で表したときのエッジデータの数が第2の閾値以下となる場合には、前記マスク情報を前記第1の形式で表して前記記憶手段に記憶するように処理し、前記マスク情報を前記第1の形式で表したときのエッジデータの数が前記第2の閾値を超える場合には、前記マスク情報を前記第2の形式で表して前記記憶手段に記憶するように処理する第2の記憶処理手段、及び前記記憶したパターン画像情報が前記第1の形式の場合には、該パターン画像情報を用いて前記塗りつぶし命令を実行し、前記記憶したパターン画像情報が前記第2の形式の場合には、該パターン画像情報と共に前記記憶手段に記憶した前記マスク情報も用いて前記塗りつぶし命令を実行する実行手段と、として機能させるためのプログラムである。請求項1に記載の発明は、本発明は、描画情報に含まれる定義命令により定義されたパターン画像を該描画情報に含まれる塗りつぶし命令により指定された範囲に配列して塗りつぶす場合において、該塗りつぶし命令の実行の際に該パターン画像を表すパターン画像情報の他にマスク情報が必要なときでも、該パターン画像を表すパターン画像情報を記憶するときの記憶手段の使用量だけでなく、マスク情報を記憶するときの記憶手段の使用量も抑制することができる、という効果を有する。請求項2に記載の発明は、本構成を有しない場合に比べて、マスク情報を記憶するために必要な第2の記憶手段の使用量を抑えることができる、という効果を有する。請求項3に記載の発明は、本構成を有しない場合に比べて、パターン画像情報を格納するために必要な第1の記憶手段の使用量を抑えることができる、という効果を有する。請求項4に記載の発明は、本構成を有しない場合に比べて、パターン画像情報を格納するために必要な第1の記憶手段の使用量と、マスク情報を格納するために必要な第2の記憶手段の使用量と、を合計した合計使用量を抑えることができる。請求項5に記載の発明は、本構成を有しない場合に比べて、ライン毎に第1の記憶手段及び第2の記憶手段の使用量を抑制することができる、という効果を有する。請求項6に記載の発明は、本構成を有しない場合に比べて、マスク情報を記憶するために必要な第2の記憶手段の使用量を抑えることができる、という効果を有する。請求項7に記載の発明は、本構成を有しない場合に比べて、パターン画像情報を格納するために必要な第1の記憶手段の使用量を抑えることができる、という効果を有する。請求項8に記載の発明は、本構成を有しない場合に比べて、パターン画像情報を格納するために必要な第1の記憶手段の使用量と、マスク情報を格納するために必要な第2の記憶手段の使用量と、を合計した合計使用量を抑えることができる、という効果を有する。請求項10に記載の発明は、本発明は、描画情報に含まれる定義命令により定義されたパターン画像を該描画情報に含まれる塗りつぶし命令により指定された範囲に配列して塗りつぶす場合において、該塗りつぶし命令の実行の際に該パターン画像を表すパターン画像情報の他にマスク情報が必要なときでも、該パターン画像を表すパターン画像情報を記憶するときの記憶手段の使用量だけでなく、マスク情報を記憶するときの記憶手段の使用量も抑制することができる、という効果を有する。請求項11に記載の発明は、本発明は、描画情報に含まれる定義命令により定義されたパターン画像を該描画情報に含まれる塗りつぶし命令により指定された範囲に配列して塗りつぶす場合において、該塗りつぶし命令の実行の際に該パターン画像を表すパターン画像情報の他にマスク情報が必要なときでも、該パターン画像を表すパターン画像情報を記憶するときの記憶手段の使用量だけでなく、マスク情報を記憶するときの記憶手段の使用量も抑制することができる、という効果を有する。以下、図面を参照して画像形成装置の一実施形態を詳細に説明する。図1には本実施形態に係る画像形成装置10が示されている。画像形成装置10には、装置制御部12と、セットされた読取対象の文書を光学的に読み取って読取画像データを出力する画像読取部14と、入力された出力画像情報が表す出力画像を記録用紙等の記録媒体上に形成する画像形成部16と、LCD等から成る表示部18A及びテンキーやタッチパネル等から成り利用者による操作を受付ける操作受付部18Bが設けられた操作パネル18と、ファクシミリ装置としての機能を備えた他の機器と電話線及び公衆通信網経由で画情報の送受信を行なう画情報送受信部20と、PC等の情報処理装置とネットワークケーブル及びコンピュータネットワーク経由で情報の送受信を行なうためのネットワーク通信制御部22と、が設けられており、これらはバス24を介して互いに接続されている。装置制御部12はマイクロコンピュータ等から成り、CPU12A、メモリ12B、HDDやフラッシュメモリ等から成る不揮発性の記憶部12Cが設けられている。記憶部12Cには、各種プログラム描画情報を解釈して実行する画像処理のプログラムも含まれる。詳細は後述する及び必要なデータ等が各々記憶されている。装置制御部12は請求項1等に記載の画像処理装置の一例であり、CPU12Aが画像処理プログラムを実行することで画像処理装置の一例として機能する。画像形成部16は、装置制御部12により行われた画像処理により生成された出力画像情報に基づいて、記録用紙等に画像を形成する。本実施の形態では、前述したように装置制御部12の画像処理の機能により、入力された描画情報が解釈されて出力画像情報が生成され、ページバッファに書き込まれる。描画情報は、ポストスクリプト等のページ記述言語により記述された情報であり、本実施の形態では少なくとも定義命令及び塗りつぶし命令を含むものとする。以下、描画情報をPDLデータと呼称する。定義命令は、パターン画像を定義するための命令である。本実施の形態において、定義命令は、1又は複数のコマンドを含んで構成される。塗りつぶし命令は、出力画像情報をページバッファに書き込むための描画命令の一種であって、出力画像の指定された範囲以下、塗りつぶし範囲を指定された色で塗りつぶすか或いはパターン画像を配列して塗りつぶす。以下、パターン画像を用いた塗りつぶし命令をパターン塗りつぶし命令と呼称し、指定された色で塗りつぶす塗りつぶし命令色塗りつぶし命令と区別して説明する。なお、本実施の形態において、各描画命令も、定義命令と同様、1又は複数のコマンドを含んで構成される。なお、パターン塗りつぶし命令では、パターン画像が繰り返し用いられ塗りつぶし範囲に複写されるため、パターン画像を表す情報パターン画像情報というを、出力画像情報とは別に、中間画像データとしてメモリ12Bの領域に格納しておく必要がある。本実施の形態では、定義命令の実行により、パターン画像情報がメモリ12Bのメモリ領域に記憶される。また、後述するが、定義命令において作成されるパターン画像情報のデータ形式によっては、パターン画像情報の他に、マスク情報が作成されメモリ領域に記憶される場合もある。また、本実施の形態では、幅方向水平方向の軸をX軸、高さ方向垂直方向の軸をY軸とするX-Y座標系で位置を表すものとする。また、矩形領域における左上座標を00とする。ここで、本実施の形態の作用を概念的に説明する。本実施の形態において、PDLデータに基づく画像処理は、図2に示すように、PDLデータに含まれる命令の記述順に実行される。図2では、PDLデータの命令に含まれる各コマンドを、擬似的或いは模式的に示しており、31がパターン属性定義コマンドの疑似コード、321~3が模式的に示した描画コマンド321はグラフィックス描画コマンド、322は文字描画コマンド、323はイメージ描画コマンドを示している、33がカレントパターン設定コマンドの疑似コード,34が塗りつぶしコマンドの疑似コードであり、これら各コマンドが、この順にPDLデータに記述されているものとする。ここで、パターン属性定義コマンド31及び描画コマンド321~3は、定義命令に含まれるコマンドである。パターン属性定義コマンド31は、パターン画像のサイズ等、パターン画像の属性を定義するためのコマンドである。なお、パターン属性にはサイズの他、パターン名が含まれていてもよい。描画コマンド321~3は、パターン属性定義コマンドにより定義されたサイズの矩形領域に画像を描画するコマンドであり、描画コマンド321~3により画像が描画される領域を画像領域という。カレントパターン設定コマンド33及び塗りつぶしコマンドは、パターン塗りつぶし命令に含まれるコマンドである。カレントパターン設定コマンド33は、塗りつぶし範囲に配列するパターン画像を設定するコマンドである。塗りつぶしコマンド33は、該カレントパターン設定コマンドで設定されたパターン画像により塗りつぶす処理を実行するためのコマンドである。まず、パターン属性定義コマンド31により、パターン画像の始点を示す座標と、パターン画像の幅100画素、及び高さ100画素の各々が定義される。これにより、メモリ12B内のパターン用バッファ内に、始点を基準としてここでは矩形の左上を基準とする、幅が100画素、高さが100画素のパターン画像を表すパターン画像情報を一時的に格納するためのパターン画像用のメモリ領域が確保される図21も参照。高さが100画素であるため、該パターン画像を構成する水平方向のラインスキャンラインの数は100本となる。なお、本実施の形態において、図2に示されるマスク情報詳細は後述するを格納するためのメモリ領域は、描画コマンドによるパターン作成中に必要に応じて確保されるものである。詳細は後述する。続いて、グラフィックス描画コマンド311により、上記定義されたサイズの矩形領域の指定された位置に、図形等のグラフィックス画像が描画される。更に、文字描画コマンド312により、上記矩形領域の指定された位置に、文字を表す文字画像が追加的に描画される。更に、イメージ描画コマンド313により、上記矩形領域の指定された位置に、自然画や写真画等のイメージ画像が追加的に描画される。描画コマンドを処理する毎にパターン画像が編集され、定義命令に含まれる描画コマンドの各々が実行され最終的なパターン画像ができあがる。このように、複数或いは1つの描画コマンドにより、例えば図2に示すパターン画像が作成される。作成されたパターン画像を示すパターン画像情報は、前述したパターン画像用のメモリ領域に格納される。なお、図2では、複数の描画コマンドの画像領域が重ならないパターン画像が図示されているが、複数の描画コマンドの画像領域が重なる場合には、後から描画される画像が優先され、先に描画された画像の画素値が後に描画される画像の画素値に置き換えられる。また、定義命令においては、パターン画像の描画コマンドにより画像が描画される画像領域以外の非画像領域の画素値については指定がないデータがない。次に、パターン塗りつぶし命令の処理に移行する。パターン塗りつぶし命令に含まれるカレントパターン設定コマンド33により指定された上記定義命令により定義済みのパターン画像が、塗りつぶし範囲に配列するパターン画像カレントパターンに設定される図23も参照。。次に、塗りつぶしコマンド34により、上記メモリ領域に格納されたパターン画像情報が読み出されて繰り返し用いられ、出力画像における指定された塗りつぶし範囲にパターン画像が配列されて敷き詰められる。該塗りつぶし命令の実行によりパターン画像が配列された出力画像を示す出力画像情報は、メモリ12Bに確保された出力画像情報用の記憶領域ページバッファに、画素毎に画素値を有するラスタ形式で格納される図24も参照。。図2に擬似的に示した塗りつぶしコマンド34では、塗りつぶし範囲の始点座標と、塗りつぶし範囲の幅150画素、及び高さ200画素が指定されている。従って、該塗りつぶしコマンド34により、該始点の座標を左上の座標として幅150画素、高さ200画素の矩形の塗りつぶし範囲に、上記パターン画像が配列されることになる。図3Aに示すように、パターン画像を塗りつぶし範囲に配列する際には、パターン画像において、塗りつぶし範囲の始点の座標に対応する座標を求め、図3Bに示すように、該座標をパターン画像の描画を開始する開始点として塗りつぶし範囲に敷き詰める。従って、塗りつぶし命令で指定された座標によっては、図2,図3に示すように、塗りつぶし範囲に対して、パターン画像がパターン画像の始点から配列されない場合もある。また、PDLデータに、上記パターン画像によるパターン塗りつぶし命令以外に他の描画命令が含まれている場合もある。その場合には、パターン塗りつぶし命令より先に記述された描画命令により描画された画像に対して上書きするようにパターン塗りつぶし命令が実行される。一方、パターン定義において上記描画コマンドにより画像が描画される画像領域以外の非画像領域は、画素値のデータがない領域である。従って、PDLデータにおいて、図4Aに示すように、該パターン画像によるパターン塗りつぶし命令より先に何らかの画像を描画する命令が記述されていた場合には、該命令により先に描画された画像の描画領域とパターン画像の非画像領域とが重なる領域においては、図4Bに示すように、該先に描画された画像の画素値は、パターン画像の画素値により上書きされずにそのままページバッファに保持される。従って、パターン画像の非画像領域は、先に描画された画像背景が透過される状態となる。なお、上記で説明した定義命令やパターン塗りつぶし命令を構成するコマンドは一例であって、PDLデータにおける定義命令やパターン塗りつぶし命令の記述は特に限定されない。ところで、本実施の形態において、パターン画像情報及び後述するマスク情報をメモリ12Bに格納する際のデータ形式は2種類ある。1つは前述したラスタ形式である。図5Aに示すように、カラーのパターン画像情報をラスタ形式で表す場合には、ブラックK色、イエローY色、マゼンタM色、シアンC色の各々の画素値パターン画像においては色値ともいうが画素毎に保持される。本実施の形態では、上記KYMC各色の各々を1バイトの値で表すようにしているため、カラーの色値を表すには1画素につき4バイト必要となる。従って、図5Bに示すように、幅がwidth、高さがheightのカラーのパターン画像情報をラスタ形式で表してメモリ12Bに格納するときのメモリ使用量は、4×width×heightバイトとなる。白黒のパターン画像情報をラスタ形式で表す場合には、ブラックの色値が画素毎に保持されるため、1画素につき1バイト必要となる。従って、図5Bに示すように、幅がwidth、高さがheightの白黒のパターン画像情報をラスタ形式で表してメモリ12Bに格納するときのメモリ使用量は、width×heightバイトとなる。なお、ラスタ形式のパターン画像情報における画像領域の画素値は定義命令の定義に従った画素値とされるが、非画像領域の各画素の色値は、何らかの値であればよく、特に限定されない。これはパターン塗りつぶし命令の実行の際にマスク情報によりマスク処理すなわち画像領域の色値が抽出されて使用され、非画像領域の各画素の値は塗りつぶし範囲の塗りつぶしには使用されないためである。また、パターン画像を示すパターン画像情報をメモリ12Bに格納する際に取り得るもう1つのデータ形式は、エッジリスト形式である。エッジリスト形式は、ライン毎本実施の形態ではスキャンライン毎に同一の画素値の画素が連続する区間及び該画素値を示すエッジデータで画像を表現するものである。図6Aは、X-Y座標系のY座標値が0のスキャンラインに対応するエッジリストの一例を模式的に示した図である。図6Aに示すように、エッジリストを構成するエッジデータは、色値colorと、該色値colorの画素が連続する区間の始点startと、該色値colorの画素が連続する区間の終点endと、次のエッジデータの格納先を示すアドレスnextとを有する。次のエッジデータが存在しなければ、アドレスnextにはNULLが格納される。このように、本実施の形態では、エッジリスト形式は、次のエッジデータへのアドレスnextによって、スキャンライン毎のエッジデータの各々が連結されるリスト構造とされている。エッジデータが連結されてなるデータ群をエッジリストと呼ぶ。もちろん、画像によっては、1つのエッジデータにより構成されるエッジリストもある。図7Aは、図7Bに示す6画素×6画素のパターン画像をエッジリスト形式で表したときのパターン画像情報を模式的に示す図である。エッジリスト形式のパターン画像情報は、各スキャンライン毎のエッジデータと、各スキャンライン毎の先頭のエッジデータへのアドレス先頭アドレスを格納する先頭アドレステーブルとにより構成される。図8Aに示すように、本実施の形態において、エッジデータに含まれる色値colorは、カラーの場合には、上述した4色の色値を並べて表された4バイトの値で表され、始点start及び終点endは、各々2バイトの値で表され、アドレスnextは4バイトの値で表されるため、1つのエッジデータにつき12バイト必要となる。また、本実施の形態において、先頭アドレステーブルの各アドレスは4バイトの値で表される。従って、図8Bに示すように、幅がwidth、高さがheightのカラーのパターン画像情報をエッジリスト形式で表してメモリ12Bに格納するときのメモリ使用量は、height×412×エッジ数バイトとなる。ここで、エッジ数とは、エッジデータの数をいう。また、白黒のパターン画像情報をエッジリスト形式で表す場合には、色値colorは1バイトでよいため、図8Bに示すように、幅がwidth、高さがheightの白黒のパターン画像情報をエッジリスト形式で表してメモリ12Bに格納するときのメモリ使用量は、height×49×エッジ数バイトとなる。なお、パターン画像情報をエッジリスト形式で表す場合には、パターン画像の画像領域のエッジデータは作成されるが、非画像領域についてはエッジデータは作成されない。従って、塗りつぶし命令を実行するにあたり、パターン画像情報から画像領域の各画素の色値を抽出するためのマスク情報は必要ないが、パターン画像情報をラスタ形式で表す場合には、非画像領域の画素も含めて画素毎の画素値を保持するため、パターン画像情報から画像領域の各画素の色値を抽出するには、マスク情報が必要となる図2も参照。。マスク情報により、図4を用いて説明したように、パターン画像情報から画像領域の画素の画素値が抽出されて、ページバッファに書き込まれる。マスク情報も、パターン画像情報と同様に、ラスタ形式及びエッジリスト形式のいずれかのデータ形式で表される。マスク情報の場合には、各画素の画素値は、色を示す値ではないため、以下では、マスク情報の各画素の画素値を、パターン画像の色値と区別するため、マスク値という。ラスタ形式でマスク情報を作成する場合には、非画像領域の各画素のマスク値を0にし画像領域の各画素のマスク値を1にしてマスク情報を作成する。このようにマスク値は0又は1となるため、本実施の形態ではラスタ形式のマスク情報を1画素1ビットで表すものとする。従って、図5Bに示すように、幅がwidth、高さがheightのパターン画像に対するマスク情報をラスタ形式で表してメモリ12Bに格納するときのメモリ使用量は、width×height8バイトとなる。なお、マスク値は上記0,1に限定されるものではなく、画像領域と非画像領域とが異なるマスク値となっていればよく、例えば、塗りつぶし命令の実行の際にマスク値0の領域の画素値を抽出するように構成する場合には、前記非画像領域の各画素のマスク値を1にし前記画像領域の各画素のマスク値を0にしてもよい。また、マスク情報をエッジリスト形式で表す場合には、上記図6Aで示したエッジデータの色値colorの代わりに、図6Bに示すように、マスク値maskを用い、該マスク値maskを1にして、スキャンライン毎の画像領域の区間を示すマスク情報を作成する。マスク値0の領域はエッジデータは作成されない。ここでは、エッジデータに含まれるマスク値maskは、1バイトで足りるため、図8Bに示すように、幅がwidth、高さがheightのパターン画像に対するマスク情報をエッジリスト形式で表してメモリ12Bに格納するときのメモリ使用量は、height×49×エッジ数バイトとなる。なお、マスク値maskは少なくとも1ビットあればよいため、マスク値maskを1ビットで表現してもよい仕様となっている場合には、メモリ使用量は、height×49×エッジ数/8バイトとなるが、本実施の形態では、マスク情報のエッジデータのマスク値maskは1バイト要するものとする。エッジリスト形式においても、マスク値は1に限定されず、予め定められた特定の値とすればよい。なお、本実施の形態では、上述したように、始点start、終点end、画素値、及び次のエッジデータへのアドレスnextにより構成されているものとして説明するが、エッジリストの形式は上記に限定されるものではない。例えば、1つのエッジデータが、始点start、該始点からの同一の画素値の画素が連続する区間の長さlength、画素値及び次のエッジデータへのアドレスnextにより構成されていてもよい。また、上記の始点start、終点end、画素値color、アドレスnextのそれぞれのサイズバイト数は、一例であって、これらに限定されるものではない。このように、ラスタ形式とエッジリスト形式とでは、表現方法が異なり、データサイズも異なるため、本実施の形態では、パターン画像に応じて、メモリ12Bにパターン画像情報を格納する際にラスタ形式で格納するか、エッジリスト形式で格納するかを判断して該判断結果に応じたデータ形式でパターン画像情報を格納するものとする。また、マスク情報についても、ラスタ形式で格納するか、エッジリスト形式で格納するかを判断して該判断結果に応じた形式でマスク情報を格納する。なお、以下では、定義命令により作成される情報をパターン情報という。具体的には、パターン画像情報がラスタ形式でメモリ領域に格納された場合には、マスク情報も作成されるため、パターン画像情報及びマスク情報からなる情報がパターン情報となる。また、パターン画像情報がエッジリスト形式でメモリ領域に格納された場合には、マスク情報は作成されないため、パターン画像情報そのものがパターン情報となる。ここで、より具体的な例を挙げて本実施の形態の作用について説明する。図9に示すパターン画像により塗りつぶし範囲を塗りつぶす場合を例に挙げる。図10は、図9に示すパターン画像を定義するための定義命令の疑似コードである。図2に示す疑似コードとは異なるが、描画情報に記述される各命令のコードは、解釈可能な形態であればよく、描画情報を構成する各命令をここで例示した疑似コードに限定するものではない。図101に示すパターン属性定義コマンドパターン属性定義文と言ってもよいにより、図91に示すように、パターン画像の名称を示すパターン名:PTN1、パターン画像の高さであるものとして省略されている。図102に示す描画コマンドにより、図92に示すように、マゼンタ色の3画素×3画素の矩形図形が描画開始位置から描画される。図103に示す描画コマンドにより、図93に示すように、シアン色の3画素×3画素の矩形図形が描画開始位置から描画される。図104に示す描画コマンドにより、図94に示すように、黒色の3画素×3画素の矩形図形が描画開始位置から描画される。なお、図95に示す座標33を左上の座標とする3画素×3画素の矩形領域は、色値が指定されていないデータがない非画像領域となる。図11は、図9に示すパターン画像をエッジリスト形式で表したパターン画像情報を模式的に示した図である。図11に示すように、各スキャンライン毎に同一の色値の画素が連続する区間及び該色値を含むエッジデータがリスト構造で連結されている。パターン画像情報がエッジリスト形式の場合には、マスク情報が不要なため、パターン情報=パターン画像情報となる。以下、このようにエッジリスト形式のパターン画像情報からなるパターン情報をエッジリスト形式のパターン情報と呼称する。図12は、図9に示すパターン画像をラスタ形式で表したパターン画像情報及びラスタ形式で表したマスク情報を模式的に示した図である。以下、このようにパターン画像情報及びマスク情報の双方がラスタ形式である場合のパターン情報をラスタ形式のパターン情報と呼称する。図13は、図9に示すパターン画像をラスタ形式で表したパターン画像情報及びエッジリスト形式で表したマスク情報を模式的に示した図である。以下、このようにパターン画像情報がラスタ形式であって、マスク情報がエッジリスト形式である場合のパターン情報をハイブリッド形式のパターン情報と呼称する。パターン画像情報及びマスク情報をエッジリスト形式で保持するかラスタ形式で保持するかは、例えば、図14に示すように、これら情報をエッジリスト形式で表したときのエッジ数と閾値とを比較し、エッジ数が閾値を超えればラスタ形式で保持し、エッジ数が閾値以下であればエッジリスト形式で保持するようにしてもよい。図14は、前述した画像処理プログラムで行われる画像処理の一部としての、描画情報に含まれる定義命令を解釈して実行するパターン定義処理の一例を示す概略的なフローチャートである。ステップ50で、例えば前述のパターン属性定義コマンドにより定義されたパターン画像のサイズに基づいて、パターン画像用のメモリ領域を確保し、最初は何ら画像が定義されていないパターン情報をエッジリスト形式で作成して初期化する。具体的には、ここでは、パターン画像のスキャンライン毎の先頭のエッジデータへのアドレス先頭アドレスを格納する先頭アドレステーブルを作成してメモリ12Bのパターン画像情報用のメモリ領域に格納する。そして、各アドレスはNULLにして、先頭アドレステーブルを初期化する。先頭アドレスの数は、パターン属性定義コマンドで定義されたパターン画像の高さを示す画素数に等しい。次に、ステップ52で、PDLデータから上記パターン属性定義コマンドに組み合わされて記述されている描画コマンドを読み込む。ステップ54では、この段階でメモリ領域に記憶されているパターン情報のデータ形式を判断する。初期状態においては前述したようにパターン情報はエッジリスト形式で作成されるため、PDLデータの定義命令に描画コマンドが複数ある場合において、最初の描画コマンドが読み込まれた段階では、パターン情報はエッジリスト形式であると判断される。ステップ54において、パターン情報がエッジリスト形式であると判断された場合には、ステップ56で、読み込んだ描画コマンドに基づいて、エッジリスト形式でパターン画像を描画してパターン画像情報パターン情報を作成し、パターン画像用のメモリ領域に格納する。なお、先に読み込まれた描画コマンドにより既にメモリ領域に記憶されているエッジリストがある場合には、該エッジリストに追加挿入する。ステップ58では、上記描画コマンドにより作成したパターン画像情報のエッジデータの数エッジ数が閾値TH1を超えるか否かを判断する。ステップ58で否定判断した場合には、ステップ72に進む。また、ステップ58で、肯定判断された場合には、ステップ60で、パターン画像情報をエッジリスト形式からラスタ形式に変換してメモリ領域に格納する。描画コマンドにより描画される画像が色数が多く複雑な画像である場合には、エッジデータの数が多くなり、エッジリスト形式よりラスタ形式で表す方がメモリ使用量が抑制されることがある。そこで、ステップ58で閾値TH1と実際に作成されたエッジデータの数とを比較して、比較結果に応じたデータ形式で格納するようにしている。パターン画像をラスタ形式に変換して格納した後は、エッジリスト形式のパターン画像情報は削除される。続いて、ステップ62で、現在メモリ領域に格納されているパターン画像に対するマスク情報をエッジリスト形式で作成してマスク情報のメモリ領域に格納する。そして、ステップ72に進む。ステップ72では、描画コマンドが終了したか否か次の描画コマンドがPDLデータに記述されているか否かを判断する。ステップ72で肯定判断された場合には、パターン定義処理は終了する。そして、この時点でメモリ領域に格納されているパターン情報が、後述するパターン塗りつぶし命令で用いられるパターン情報となる。また、ステップ72で否定判断した場合には、ステップ52に戻り、次の描画コマンドを読み込んで、ステップ54に進む。また、ステップ54で、メモリ領域に記憶されているパターン情報のデータ形式の種類が、ハイブリッド形式パターン画像情報がラスタ形式で、マスク情報がエッジリスト形式であると判断した場合には、ステップ64に進む。ステップ64では、読み込んだ描画コマンドに基づいて、ラスタ形式で画像を描画して、既に作成されメモリ領域に記憶されているパターン画像情報を編集する。更に、編集後のパターン画像情報に対応するようにエッジリスト形式のマスク情報を編集する。ステップ66は、マスク情報のエッジ数が閾値HT2を超えるか否かを判断する。ステップ66で肯定判断した場合には、ステップ68で、マスク情報をエッジリスト形式からラスタ形式に変換してメモリ領域に格納する。パターン画像と同様に、マスク情報も、エッジデータの数が多くなるとメモリ使用量が増え、エッジリスト形式よりラスタ形式で表す方がメモリ使用量が抑制される場合がある。そこで、ここでは閾値TH2とエッジデータの数とを比較して、比較結果に応じたデータ形式で格納するようにしている。ステップ66で否定判断した場合、及びステップ68の処理後は、ステップ72に進む。ステップ72の処理は上述したとおりである。また、ステップ54で、メモリ領域に記憶されているパターン情報のデータ形式の種類が、ラスタ形式パターン画像情報及びマスク情報が共にラスタ形式であると判断した場合には、ステップ70に進む。ステップ70では、読み込んだ描画コマンドに基づいて、ラスタ形式で画像を描画して、既に作成されメモリ領域に記憶されているパターン画像情報を編集する。更に、編集後のパターン画像情報に対応するようにラスタ形式のマスク情報を編集する。ステップ70の後は、ステップ72に進む。ステップ72の処理は上述したとおりである。なお、ステップ62においてマスク情報を新規に作成した時点でエッジ数が閾値TH2を超えている場合もあることから、ステップ66及びステップ68の処理を、ステップ64の後だけでなくステップ62の後にも実施してもよい。また、ステップ60パターン画像情報のラスタ形式への変換の後にステップ62マスク情報の生成を実行する例について説明したが、ステップ60の処理及びステップ62の処理を並行して行ってもよい。例えば、スキャンライン毎に、パターン画像情報のラスタ形式への変換処理及びマスク情報の生成を順次行なう等である。塗りつぶし命令は、PDLデータにおいて定義命令の後に記述されている。図15Aは、パターン塗りつぶし命令の疑似コードである。図2に示す疑似コードとは異なるが、描画情報に記述される各命令のコードは、解釈可能な形態であればよく、描画情報を構成する各命令をここで例示した疑似コードに限定するものではない。図15Aの1に示す色塗りつぶし命令の塗りつぶしコマンドでは、fillRectに続くにより、始点から、幅21画素、高さ18画素の矩形領域が塗りつぶし範囲として指定されており、更にwithcolorにより、塗りつぶし範囲を塗りつぶす色イエロー色が指定されている。該コマンドを実行することで、出力画像は、図15Bの1に示すように、該指定された塗りつぶし範囲がイエロー色で塗りつぶされるページバッファの塗りつぶし範囲にイエロー色の色値が書き込まれる。続いて、図15Aの2に示すパターン塗りつぶし命令の塗りつぶしコマンドでは、fillRectに続くにより、始点から、幅15画素、高さ12画素の矩形領域が塗りつぶし範囲として指定されており、更にwithpatternにより、塗りつぶし範囲を塗りつぶすパターン画像のパターン名PTN1が指定されている。該コマンドを実行することで、メモリ領域から上記定義命令により定義されたパターン情報を読み出して用い、図15Bの2に示すように、イエロー色の矩形領域の塗りつぶし範囲上にパターン画像が配列され、パターン画像の画像領域の色値がページバッファに上書きされる。なお、前述したように、パターン画像PTN1にはデータなしの領域である非画像領域が含まれているため、該非画像領域は先の塗りつぶしコマンドにより描画された背景のイエロー色が維持される。上記では簡便なフローチャート及び模式図等によりPDLデータに基づく画像処理について説明したが、以下では、より詳細なフローチャートを用いてPDLデータの処理について具体的に説明する。以下で説明する各処理は、装置制御部12の記憶部12Cに記憶されている画像処理プログラムをCPU12Aが実行することにより実行されるものである。図16は、PDLデータ処理のメインルーチンのフローチャートを示す図である。ステップ100では、メモリ12Bに、出力画像情報を格納するためのページバッファを作成確保する。ステップ102では、パターン管理テーブルを作成してメモリ12B内に記憶する。パターン管理テーブルは、定義命令により定義されるパターン画像を管理するためのテーブルである。図17にパターン管理テーブルの一例を示す。図17に例示したパターン管理テーブルには、パターン名、パターン画像の高さ、パターン画像の幅、パターン画像についてのパターン情報のデータ形式、パターン情報の記憶領域のアドレスを示すの各々の項目が、対応付けられて記憶される。なお、パターン情報のデータ形式の項目には、前述したように、ラスタ形式rasterパターン画像情報及びマスク情報がラスタ形式、ハイブリッド形式hybridパターン画像情報がラスタ形式でマスク情報がエッジリスト形式、エッジリスト形式edgelistパターン画像情報がエッジリスト形式。マスク情報はないの3つのデータ形式がある。パターン情報の記憶領域のアドレスの項目には、パターン情報がラスタ形式及びハイブリッド形式の場合には、パターン画像情報及びマスク情報の各々の記憶領域のアドレスが登録され、パターン情報がエッジリスト形式の場合には、パターン画像情報の記憶領域のアドレスが登録される。なお、ステップ102において、パターン管理テーブルを作成した時点では、パターン画像は未定義であるため、パターン管理テーブルには、パターン画像に関する情報が何も記憶されていない状態となっている。ステップ104では、PDLデータから命令を1つ読み込む。ステップ106では、読み込んだ命令の種類を判断する。読み込んだ命令が、パターン画像を定義する定義命令である場合には、ステップ108に進み、パターン定義処理を実行する詳細は後述。読み込んだ命令が、定義命令により定義されたパターン画像を指定された範囲に配列して塗りつぶすパターン塗りつぶし命令である場合には、ステップ110に進み、パターン塗りつぶし処理を実行する詳細は後述。読み込んだ命令が、中間画像データを作成することなく直接ページバッファに描画する描画命令この描画命令を通常描画命令というであった場合には、ステップ112で、該描画命令に基づいてページバッファに描画する処理を行なう。なお、前述の色塗りつぶし命令は、通常描画命令に含まれるが、パターン塗りつぶし命令は通常描画命令に含まれない。読み込んだ命令が、ページ出力命令である場合には、ステップ114に進み、ページバッファに格納されている出力画像情報を出力先に出力する。該出力後はページバッファを初期化する。このページ出力命令により、定義命令、パターン塗りつぶし命令、及び通常描画命令等の各命令でページバッファに書き込まれた出力画像情報が出力される。なお、出力画像情報の出力先は、画像形成部16としてもよいが、画像形成部16に出力する前に、何らかの画像処理を行なう場合には、別途設けた画像処理部不図示を出力先として、該画像処理部で画像処理を行なわせるようにしてもよい。或いは装置制御部12が画像処理プログラムを実行することにより画像処理を行ない、その後、画像形成部16に出力するようにしてもよい。また、出力画像情報をすぐに印刷せずに、一端、何らかのバッファに蓄積しておく場合には、該バッファを出力先としてもよい。ステップ108、110、112、及び114のいずれかが終了した後は、ステップ116に進み、PDLデータが終了したかPDLデータに記述された全ての命令の読み込み及び実行が終了したか否かを判断する。ステップ116で否定判断した場合には、ステップ104に戻り、次の命令を読み込む。ステップ116で肯定判断した場合には、本PDL処理のルーチンが終了する。次に、ステップ108のパターン定義処理について詳細に説明する。図18は、パターン定義処理の流れを示すフローチャートである。ステップ150では、定義命令に含まれるパターン属性情報を読み取り取得する。例えば、前述したパターン属性定義コマンドにより指定されたパターン属性情報を取得する。ここで取得されるパターン属性情報には、パターン画像のパターン名の情報と、パターン画像の幅を示す情報と、パターン画像の高さを示す情報とが含まれる。なお、ここでは、パターン画像の幅及び高さはいずれも画素数で表されているものとする。ステップ152では、パターン画像のパターン情報をエッジリスト形式で作成して初期化する。これは、先に図14を用いて説明したステップ50と同様に、パターン画像用のメモリ領域以下、メモリ領域PA1と呼称するを確保し、該メモリ領域PA1に何ら画像が定義されていないパターン情報をエッジリスト形式で作成して初期化する。すなわち、パターン画像のスキャンライン毎の先頭のエッジデータへのアドレス先頭アドレスを格納する先頭アドレステーブルを作成してメモリ12Bのパターン画像情報用のメモリ領域PA1に記憶する。そして、各アドレスはNULLにして、先頭アドレステーブルを初期化する。先頭アドレスの数スキャンラインの本数は、上記取得したパターン属性情報のパターン画像の高さを示す画素数に等しい。更に、ステップ152では、上記取得したパターン属性情報のパターン画像の幅の値をptnwidthにセットし、パターン画像の高さの値をptnheightにセットし、エッジリスト形式を示すedgelistをtypeにセットする。ステップ154では、定義命令に含まれる描画コマンドを読み込む。ステップ156では、typeの値がedgelistであるか否かを判断する。後述するステップ162でtypeが変更されるまでは、typeの値はedgelistであるすなわち、パターン画像情報はエッジリスト形式で記憶されているため、ステップ156では肯定判断されるが、ステップ162でtypeの値が変更された後は否定判断される。ステップ156で肯定判断した場合には、ステップ158に進み、エッジリスト形式のパターン画像に対する描画処理を行なう。この描画処理では、描画コマンドに従って、パターン画像用のメモリ領域にエッジリスト形式で画像を展開描画するが、当該定義命令において当該描画コマンドの前に先に別の描画コマンドが実行されていた場合には、該先に実行された描画コマンドにより描画されたエッジリスト形式のパターン画像に対して、当該描画コマンドの画像領域の画像が上書きされるようにパターン画像用のメモリ領域に格納されたエッジリスト形式のパターン画像情報を編集する。本処理の詳細は後述する。ステップ160では、パターン画像情報のエッジデータの数が予め定められた閾値TH1を超えたか否かを判断する。ステップ160において、肯定判断した場合には、ステップ162に進み、エッジリスト形式のパターン画像情報をラスタ形式に変換する処理を行なう。なお、ステップ162では、合わせてマスク情報をエッジリスト形式で作成し、マスク情報用のメモリ領域に格納する処理も行われる。更に、パターン情報のtypeの値が、ハイブリッド形式を示すhybridに変更される。なお、マスク情報は、マスク情報のエッジデータの数が閾値TH2を超えた場合には、エッジリスト形式からラスタ形式に変更される。この場合には、パターン情報のtypeの値が、ラスタ形式を示すrasterに変更される。ステップ162の処理の詳細は後述する。ステップ162の後は、ステップ166に進む。一方、ステップ160において、否定判断した場合には、ステップ162をスキップしてステップ166に進む。ステップ166では、定義命令に含まれる描画コマンドを全て処理したか否かを判断する。ステップ166で否定判断した場合には、ステップ154に戻り、次の描画コマンドを読み込む。ステップ156で否定判断した場合には、当該定義命令において当該描画コマンドの実行前に別の描画コマンドの実行によりメモリ領域に書き込まれたパターン画像情報が、ラスタ形式であることを示している。そこで、ステップ164に進み、該ラスタ形式のパターン画像情報に対する描画処理を行なう。この描画処理では、該ラスタ形式のパターン画像情報に対して、当該描画コマンドにより描画される画像領域の各画素の色値を上書きするようにパターン画像情報を編集する。また、マスク情報もパターン画像情報に応じて編集される。また、エッジリスト形式のマスク情報は、マスク情報のエッジデータの数が閾値TH2を超えた場合に、エッジリスト形式からラスタ形式に変更される。マスク情報がラスタ形式に変更された場合には、typeの値はラスタ形式を示すrasterに変更される。ステップ164の処理の詳細は後述する。続いて、ステップ166に進み、上記と同様に定義命令に含まれる描画コマンドを全て処理したか否かを判断する。ステップ166で否定判断した場合には、ステップ154に戻り、次の描画コマンドを読み込む。また、ステップ166で、肯定判断した場合には、ステップ168で、定義命令により定義されたパターン画像をパターン管理テーブルに登録する。具体的には、上記取得したパターン属性情報に含まれるパターン名をパターン管理テーブルのnameに記憶し、該パターン名に対応付けて、パターン管理テーブルのptnwidthの項目に、パターン画像の幅を示すptnwidthの値を記憶し、パターン管理テーブルのptnheightの項目に、パターン画像の高さを示すptnheightの値を記憶する。そして、パターン管理テーブルのtypeの項目には、typeに現時点でセットされている値を記憶する。更にパターン管理テーブルのaddressの項目には、当該定義命令により作成されたパターン情報が記憶されている記憶先メモリ領域を示すアドレスが記憶される。次に、上記ステップ158のエッジリスト形式のパターン画像に対する描画処理について詳細に説明する。図19は、エッジリスト形式のパターン画像に対する描画処理の流れを示すフローチャートである。ステップ180では、読み込んだ描画コマンドの種類を判断する。描画コマンドがイメージ描画コマンドであれば、ステップ182で、イメージ描画コマンドのエッジリスト形式描画処理を実行し、描画コマンドがグラフィックス描画コマンドであれば、ステップ184で、グラフィックス描画コマンドのエッジリスト形式描画処理を実行し、描画コマンドが文字描画コマンドであれば、ステップ186で、文字描画コマンドのエッジリスト形式描画処理を実行する。図20は、ステップ182で行われるイメージ描画コマンドのエッジリスト形式描画処理の流れを示すフローチャートである。ステップ200では、イメージ描画コマンドにより指定された、イメージ画像のパターン画像における描画開始位置の情報を取得して、にセットする。描画開始位置xoffset、yoffsetは、上記取得したパターン属性情報が示すサイズの矩形領域にイメージ画像を描画するときのイメージ画像の左上の基準点となる位置であり、パターン画像の始点を基準点とした座標値となる。また、幅width及び高さheightは、各々画素数で表されている。としたときのY座標値がyのスキャンライン上以下、単にスキャンラインyというで、着目する画素以下、着目画素のX軸上の位置を示す座標値xを0として、描画するイメージ画像を表す画像データから座標に位置する着目画素の色値を抽出し、refcolorにセットする。更に、startxに0をセットする。ステップ232では、xに1を加算して着目画素を変更する。ステップ234では、xがwidth未満か否かを判断する。widthは前述したようにイメージ画像の幅を示す画素数である。ステップ234で肯定判断した場合には、colorに、イメージ画像の画像データから座標に位置する着目画素の色値を抽出してセットする。ステップ238では、colorの値とrefcolorの値とが等しいか否かを判断する。ステップ238で肯定判断した場合には、着目画素の色値colorは、少なくとも1つ前に着目された画素の色値refcolorに等しい同一の色値の画素が連続していることを示しているため、ステップ232に戻って、xに1を加算して、着目画素を変更する。また、ステップ238で否定判断した場合には、着目画素の色値colorは、1つ前に着目された画素の色値refcolorと異なるため、1つ前に着目された画素その画素位置は、x1yとなるが、色値refcolorの画素が連続する区間の終点となる。また、ステップ234で否定判断した場合には、1つ前に着目された画素が、スキャンラインy上の終点となるため、1つ前に着目された画素が、色値refcolorの画素が連続する区間の終点となる。これに基づき、ステップ240において、色値refcolorの画素が連続する区間を示すエッジデータを作成する。なお、前述のstartxは、イメージ画像の矩形領域の左上を原点としたときの、色値refcolorの画素が連続する区間の始点を表すものであるため、startxの値にxoffsetの値イメージ画像の描画開始位置のX座標値を加算したX座標値を、エッジデータの始点startとし、x1の値にxoffsetの値を加算したX座標値を、エッジデータの終点とする。また、次のエッジデータのアドレスnextはNULLとする図6も参照。。すなわち、ステップ240において、下記の如くエッジデータが作成される。始点start、終点end、色値color、次のエッジデータへのアドレスnext=startxxoffset、x1xoffset、refcolor、NULL続いて、ステップ242では、パターン画像を表したエッジリストにおいて、スキャンラインyyoffsetのエッジリストに、ステップ240で作成したエッジデータを追加する。図22は、エッジリストへのエッジデータ追加処理の流れを示すフローチャートである。ステップ280では、着目スキャンラインここではスキャンラインyyoffsetのエッジリストが空か否か、すなわちエッジデータが1つもないか否かを判断する。以下、着目スキャンラインのエッジリストを着目エッジリストという。ステップ280で肯定判断した場合には、上記作成したエッジデータが該着目エッジリストの先頭のエッジデータであるため、ステップ282に進み、先頭アドレステーブルにおいて、上記作成したエッジデータを記憶した記憶領域のアドレスを、該着目エッジリストの先頭アドレスとして先頭アドレステーブルに格納する。一方、パターン画像を定義する定義命令に複数の描画コマンドが含まれている場合には、先に処理された描画コマンドにより、既に着目スキャンラインにエッジデータが作成され、エッジリストとして連結されている場合がある。この場合には、上記ステップ280で否定判断される。ステップ280で否定判断した場合には、ステップ284に進み、エッジ挿入処理を実行する。エッジ挿入処理では、先に作成されたエッジリストに対して、新たに生成したエッジデータを挿入する。図23は、エッジ挿入処理の流れを示すフローチャートである。ステップ300では、新たに生成したエッジデータ挿入するエッジデータをedgeAで表し、着目エッジリストの先頭のエッジデータをedgeBで表すものとする。そして、図24Aに示すように、edgeAの始点startの値を、edgeAstartにセットし、edgeAの終点endの値を、edgeAendにセットし、edgeAの色値colorの値を、edgeAcolorにセットし、edgeAの次のアドレスnextの値=NULLを、edgeAnextにセットする。また、edgeBの始点startの値を、edgeBstartにセットし、edgeBの終点endの値を、edgeBendにセットし、edgeBの色値colorの値を、edgeBcolorにセットし、edgeBの次のアドレスnextの値を、edgeBnextにセットする。ステップ302では、edgeAendedgeBendか否かを判断する。edgeAstartがedgeBendより大きければ、edgeAとedgeBとのX軸方向の位置関係は、図24Bの2に示す位置関係となる。この位置関係にはedgeAとedgeBとが隣接している場合も含まれる。この場合には、ステップ306で肯定判断し、ステップ320に進む。ステップ320では、edgeBnextがNULLか否か、すなわち、edgeBの次にエッジデータが連結されていないか否かを判断する。ステップ320で肯定判断した場合には、ステップ322に進み、edgeBの区間を変更せずに、edgeBの後にedgeAが挿入されるように、edgeBの次のエッジデータのアドレスnextを、NULLからedgeAの記憶領域を示すアドレスとなるように変更する。なお、ここでは、図示を省略したが、ステップ320で肯定判断され、edgeAとedgeBとが隣接する位置関係にある場合において、edgeAcolorの値とedgeBcolorの値とが等しいときには、後述するステップ310と同様に合成処理される。さらにまた、ステップ320で、否定判断した場合には、ステップ324に進み、edgeBnextが示すアドレスに記憶されている次のエッジデータをedgeBとしてステップ302に戻る。また、ステップ306で、否定判断した場合には、ステップ308に進む。ステップ306で否定判断した場合には、着目スキャンラインのX軸上において、edgeAの区間範囲の一部或いは全体が、edgeBの区間の一部或いは全体と重なっている関係図24Bの3~6も参照であることを示す。そこで、ステップ308では、edgeAcolorの値とedgeBcolorの値とが等しいか否かを判断する。ステップ308で、肯定判断した場合には、ステップ310に進み、edgeAとedgeBとを合成する。具体的には、edgeBの始点startを、edgeAstart及びedgeBstartのいずれか小さい方となるように変更し、edgeBの終点endを、edgeAend及びedgeBendのいずれか大きい方となるように変更する。その後、edgeAは削除する。また、逆に、edgeAの始点及び終点を上記と同様に変更して、edgeBをedgeAに置き換え、edgeBを削除するようにしてもよい。また、ステップ308で、否定判断した場合には、ステップ312に進み、edgeBの範囲を、edgeAと重ならないように変更する。色値colorは変更しない。例えば、図24Bの3に示す位置関係であれば、edgeBの始点startをedgeAend1に変更する。また、図24Bの4に示す位置関係であれば、edgeBの終点endをedgeAstart1に変更する。また、図24Bの5に示す位置関係であれば、edgeBを元に、edgeB1とedgeB2の2つのエッジデータを作成する。edgeB1の始点startは元のedgeBの始点startとし、edgeB1の終点endは、edgeAstart1とする。edgeB2の始点startはedgeAend1とし、edgeB2の終点endは、元のedgeBの終点endとする。edgeB1及びedgeB2の色値colorは元のedgeBの色値colorとする。そして、edgeB1の次のエッジデータのアドレスnextにedgeAの記憶領域のアドレスをセットし、edgeAの次のエッジデータのアドレスnextにedgeB2の記憶領域のアドレスをセットし、edgeB2の次のエッジデータのアドレスnextにはNULLをセットする。また、図24Bの6に示す位置関係であれば、edgeBのエッジデータを削除する。なお、edgeBの削除前に該edgeBが先頭エッジデータであった場合には、先頭アドレステーブルの着目スキャンラインに対応する先頭アドレスを、edgeAの記憶領域のアドレスとなるように変更する。また、edgeBの削除前に該edgeBが先頭エッジデータでなかった場合には、edgeBの削除前にedgeBの1つ前に連結されていたエッジデータのアドレスnextを、edgeAの記憶領域のアドレスとなるように変更する。なお、図24Bの5に示すようにedgeBから2つのエッジデータを作成した場合、及び6に示すようにedgeBを削除した場合は、下記ステップ314の処理は行わないこととする図示は省略。。次に、ステップ314では、edgeAstartedgeBendか否かを判断する。edgeAstartがedgeBendより大きければ、edgeAとedgeBとのX軸方向の位置関係は、図24Bの2に示す位置関係となる。この場合には、ステップ546で肯定判断し、ステップ550に進む。ステップ550では、edgeBnextがNULLか否か、すなわち、edgeBの次のエッジデータが連結されていないか否かを判断する。ステップ550で肯定判断した場合には、ステップ552に進み、edgeBの区間を変更せずに、edgeBの後にedgeAが挿入されるように、edgeBの次のエッジデータのアドレスnextを、NULLからedgeAの記憶領域を示すアドレスとなるように変更する。さらにまた、ステップ550で、否定判断した場合には、ステップ554に進み、edgeBnextが示すアドレスに記憶されている次のエッジデータをedgeBとしてステップ540に戻る。また、ステップ546で、否定判断した場合には、着目スキャンラインのX軸上において、edgeAの区間範囲の一部或いは全体が、edgeBの区間の一部或いは全体に重なっている関係であることを示す。そこで、ステップ548に進み、edgeAとedgeBとを合成する。具体的には、edgeBの始点startを、edgeAstart及びedgeBstartのいずれか小さい方となるように変更し、edgeBの終点endにを、edgeAend及びedgeBendのいずれか大きい方となるように変更する。その後、edgeAは削除する。また、逆に、edgeAの始点及び終点を上記と同様に変更して、edgeBをedgeAに置き換え、edgeBを削除するようにしてもよい。エッジ挿入処理の後、ステップ518では、スキャンラインyのエッジリストから次のエッジデータを取得する。具体的には、上記取得したエッジデータのアドレスnextに格納されているアドレスからエッジデータを取得する。ただし、アドレスnextの値がNULLの場合には取得失敗となる。ステップ518の後は、ステップ510に戻る。ステップ510において、否定判断した場合には、ステップ520に進み、yに1を加算する。そして、ステップ522において、yがパターン画像の高さptnheight未満か否かを判断する。ステップ522で肯定判断した場合には、パターン画像の全てのスキャンラインについてラスタ形式への変換が終了していないことを示しているため、次のスキャンラインのラスタ形式への変換を行なうために、ステップ510に戻る。また、ステップ522で否定判断した場合には、パターン画像の全てのスキャンラインについてラスタ形式への変換が終了したことを示しているため、ステップ524に進み、エッジリスト形式のパターン画像情報をメモリ領域PA1から削除し、メモリ領域PA1を解放する。ステップ526では、typeの値をedgelistからhybridに変更する。次に、図18のステップ164で実行されるラスタ形式のパターン画像に対する描画処理について詳細に説明する。図32は、ラスタ形式のパターン画像に対する描画処理の流れを示すフローチャートである。ステップ600では、読み込んだ描画コマンドの種類を判断する。描画コマンドがイメージ描画コマンドであれば、ステップ602で、イメージ描画コマンドのラスタ形式描画処理を実行し、描画コマンドがグラフィックス描画コマンドであれば、ステップ604で、グラフィックス描画コマンドのラスタ形式描画処理を実行し、描画コマンドが文字描画コマンドであれば、ステップ606で、文字描画コマンドのラスタ形式描画処理を実行する。図33は、ステップ602で行われるイメージ描画コマンドのラスタ形式描画処理の流れを示すフローチャートである。ステップ620では、イメージ描画コマンドにより指定された、イメージ画像のパターン画像における描画開始位置の情報を取得して、にセットする。ステップ622では、xoffsetwidth及びptnwidth1のいずれか小さい方の値を、xendにセットする。ここで、ptnwidthは、前述したように、パターン画像の幅を示す値である。更に、ステップ622では、yoffsetwidth及びptnheight1のいずれか小さい方の値を、yendにセットする。ここで、ptnheightは、前述したように、パターン画像の高さを示す値である。ステップ624では、yに0をセットする。ステップ626では、yyoffsetが、yendより小さいか否か判断する。パターン画像の矩形領域外の部分に対する描画は不要であり、Y軸方向に不要な描画を行なわないためにステップ626が設けられている。ステップ626で、肯定判断した場合には、ステップ628に進む。ステップ628では、イメージ画像の矩形領域の左上を原点としたときのイメージ画像の座標から座標までの領域の各画素の色値を、パターン画像の矩形領域の左上を原点としたときのパターン画像の座標から座標までの領域の各画素の色値として、パターン画像用のメモリPA2に書き込むコピーする。ステップ630では、スキャンラインyyoffsetにおけるxoffsetからxendまでの範囲がマスク範囲パターン画像における画像領域となるように、マスク情報へのマスク範囲の追加処理を行なう。パターン画像用のメモリ領域PA2に新たにイメージ画像が描画されると、描画した画像及び描画位置によってはパターン画像における画像領域が変化することがある。そこで、マスク情報へのマスク範囲を追加する追加処理を行なうようにしている。詳細は後述する。ステップ630の後は、ステップ632に進み、yに1を加算して、ステップ626に戻り、次のスキャンラインについて、上記と同様に描画処理を行なう。なお、ステップ626で否定判断した場合には、本描画処理を終了する。これにより、Y軸方向においてパターン画像の矩形領域外の範囲に対する描画はなされない。次に、上記ステップ630で行われるマスク情報へのマスク範囲の追加処理について説明する。図34は、マスク情報へのマスク範囲の追加処理の流れを示すフローチャートである。ステップ650では、addyに、追加するマスク範囲のY座標をセットする。本マスク範囲の追加処理ルーチンが図33のイメージ描画コマンドのラスタ形式描画処理ルーチンから呼び出された場合には、addyには、yyoffsetの値がセットされる。本マスク範囲の追加処理ルーチンが、後述するグラフィックス描画コマンドのラスタ形式描画処理ルーチン及び文字描画コマンドのラスタ形式描画処理ルーチンから呼び出された場合には、addyには、yの値がセットされる。また、ステップ650では、startxに、追加する範囲のX座標の始点をセットする。本マスク範囲の追加処理ルーチンが図33のイメージ描画コマンドのラスタ形式描画処理ルーチンから呼び出された場合には、startxには、xoffsetの値がセットされる。本マスク範囲の追加処理ルーチンが、後述するグラフィックス描画コマンドのラスタ形式描画処理ルーチン及び文字描画コマンドのラスタ形式描画処理ルーチンから呼び出された場合には、startxには、xstartの値がセットされる。また、ステップ650では、endxに、追加する範囲のX座標の終点をセットする。ここでは、endxには、xendの値がセットされる。ステップ652では、typeの値がhybridか否かを判断する。ステップ652で肯定判断した場合には、マスク情報はメモリ領域MA1にエッジリスト形式で保持されているため、ステップ656で、マスク情報のエッジデータを作成する。ここでは、上記startxの値をエッジデータの始点startの値とし、上記endxの値をエッジデータの終点endの値とし、エッジデータのマスク値maskの値を1にし、アドレスnextの値はNULLにして作成する。ステップ658では、マスク情報のスキャンラインaddyのエッジリストに、上記作成したエッジデータを追加する。ここで行われる、エッジリストへのエッジデータの追加処理は、着目スキャンラインをaddyとして、図22及び図31を用いて説明したように実行する。ステップ660では、マスク情報のエッジデータ数が予め定められた閾値TH2を超えたか否かを判断する。ステップ660において、肯定判断した場合には、ステップ662に進み、エッジリスト形式のマスク情報をラスタ形式に変換する処理を行なう。ステップ662の処理は後述する。ステップ662の後は、ステップ664において、typeの値を、ラスタ形式を示すrasterに変更し、マスク範囲追加処理を終了する。。一方、ステップ660において、否定判断した場合には、ステップ662、664をスキップしてマスク範囲追加処理を終了する。一方、ステップ652で、否定判断した場合には、マスク情報はラスタ形式で保存されているため、マスク情報における座標から座標までの範囲の各画素のマスク値を1にする。すなわち、ラスタ形式のマスク情報では、1画素が1ビットで表されるため、該ビットを1にする。そして、マスク範囲追加処理を終了する。次に、上記ステップ662で行われるマスク情報をラスタ形式に変換する処理について説明する。図35は、マスク情報をラスタ形式に変換する処理の流れを示すフローチャートである。ステップ700では、ラスタ形式のマスク情報を格納するためのマスク情報用のメモリ領域MA2をメモリ12Bに確保する。本実施の形態では、ラスタ形式のマスク情報は、1画素1ビット必要となるため、パターン画像の幅×高さ×1ビットのメモリ領域MA2が確保される。ステップ702では、上記確保したマスク情報用のメモリ領域MA2を0でクリアする。すなわち、本実施の形態では、マスク情報の全画素のマスク値が0を示すように初期化される。ステップ704では、maskyに0をセットする。ステップ706では、メモリ領域MA1に記憶されているエッジリスト形式のマスク情報からスキャンラインmaskyのエッジリストの先頭のエッジデータを取得する。ステップ708では、スキャンラインmaskyにエッジデータがあるか否かを判断する。ステップ708がステップ706の直後に実行される場合において、ステップ706での取得が成功した取得すべきエッジデータがあったときには、ステップ708で肯定判断され、ステップ706での取得が失敗した取得すべきエッジデータがなかったときには、ステップ708で否定判断される。また、ステップ708が後述するステップ712の直後に実行される場合において、ステップ712での取得が成功した取得すべきエッジデータがあったときには、ステップ708で肯定判断され、ステップ712での取得が失敗した取得すべきエッジデータがなかったときには、ステップ708で否定判断される。ステップ708で肯定判断した場合には、ステップ710で、マスク情報用のメモリ領域MA2における、ラスタ形式のマスク情報の、始点から終点までの範囲の画素に対するマスク値上記初期化により0となっているを、1に変更する上書きする。ここで、startは取得したエッジデータの始点startの値であり、endは取得したエッジデータの終点endの値である。ステップ712では、スキャンラインmaskyのエッジリストから次のエッジデータを取得する。具体的には、上記取得したエッジデータのアドレスnextに格納されているアドレスからエッジデータを取得する。ただし、アドレスnextの値がNULLの場合には取得失敗となる。ステップ712の後は、ステップ708に戻る。ステップ708において、否定判断した場合には、ステップ714に進み、maskyに1を加算する。そして、ステップ716において、maskyがパターン画像の高さptnheight未満か否かを判断する。ステップ716で肯定判断した場合には、全てのスキャンラインについてマスク情報のラスタ形式への変換が終了していないことを示しているため、次のスキャンラインの変換を行なうために、ステップ706に戻る。また、ステップ716で否定判断した場合には、全てのスキャンラインについてマスク情報のラスタ形式への変換が終了したことを示しているため、ステップ718に進み、エッジリスト形式のマスク情報をメモリ領域MA1から削除し、メモリ領域MA1を解放する。次に、ステップ604のグラフィックス描画コマンドのラスタ形式描画処理について説明する。図36は、グラフィックス描画コマンドのラスタ形式描画処理の流れを示すフローチャートである。ステップ740では、グラフィックス描画コマンドにより指定された描画色を取得してgcolorにセットする。例えば、図10に示す定義命令に含まれるグラフィック描画コマンドfillRectに対して、withcolorで指定された色が描画色である。ステップ742では、グラフィックス描画コマンドにより指定された描画領域のY座標の範囲を求める。例えば、図10に示す例では、図10の2に示す描画コマンドのfillRectに続くにおいて、最初の2つの数値が、パターン画像におけるグラフィックス画像の描画開始位置であり、それに続く2つの数値が、描画するグラフィックス画像の幅及び高さを示す画素数であることから、グラフィックス描画コマンドの描画領域のY座標の最小値は、描画開始位置のY座標0、Y座標値の最大値は、該描画開始位置Y座標0に高さ3を加算した3となる。そして、このY座標の最小値をystartにセットし、最大値をyendにセットする。ステップ744では、yにystartの値をセットする。ステップ746では、グラフィックス描画コマンドにより描画するグラフィックス画像について、スキャンラインyにおけるスキャン変換処理画像のエッジを抽出する処理を行い、スキャンラインyにおけるX軸上の描画範囲xstart、xendを求める。ステップ748では、ラスタ形式のパターン画像の、始点から終点までの範囲の画素の色値を、描画色gcolorの値に変更するgcolorの値を書き込む。ステップ750では、スキャンラインyにおけるxstartからxendまでの範囲がマスク範囲となるように、マスク情報へのマスク範囲の追加処理を行なう。このマスク範囲の追加処理は、上記で図34を用いて説明したように実行する。ステップ752では、yに1を加算する。ステップ752では、yがyend以下であるか否かを判断する。ステップ752で肯定判断した場合には、グラフィックス画像が描画される描画範囲の全てのスキャンラインについての処理が終了していない状態であるため、ステップ746に戻り、次のスキャンラインについて上記処理を繰り返す。また、ステップ752で否定判断した場合には、グラフィックス画像が描画される描画範囲の全てのスキャンラインについての処理が終了した状態であるため、本グラフィックス描画コマンドのラスタ形式描画処理を終了する。次に、ステップ606の文字描画コマンドのラスタ形式描画処理について説明する。図37は、文字描画コマンドのラスタ形式描画処理の流れを示すフローチャートである。ステップ770では、文字描画コマンドにより指定された描画色を取得してtcolorにセットする。ステップ772では、文字描画コマンドにおいてパターン画像に配置描画するよう指定された文字画像の描画開始位置の情報を取得して、にセットする。ステップ774では、文字ビットマップデータを取得する。ステップ776では、charxに0をセットすると共に、charyに0をセットする。ステップ778では、上記取得した文字ビットマップデータから文字のエッジ抽出を行なう。具体的には、上記で図27を用いて説明したように実行する。ステップ778の文字のエッジ抽出処理が終了した後は、ステップ780に進む。ステップ780では、エッジ抽出が成功したか否かを判断する。ステップ780で肯定判断した場合には、ステップ782に進み、xstartにedgexxoffsetの値をセットし、xendにedgexendxoffsetの値をセットし、yにedgeyyoffsetの値をセットする。ステップ784では、ラスタ形式のパターン画像の、始点から終点までの範囲の画素の色値を、描画色tcolorの値に変更するtcolorの値を書き込む。ステップ786では、スキャンラインyにおけるxstartからxendまでの範囲がマスク範囲となるように、マスク情報へのマスク範囲の追加処理を行なう。具体的には、上記で図34を用いて説明したように実行する。ステップ786の後は、ステップ778に戻り、次のエッジの抽出を、上記と同様に行う。ステップ778の処理により、新たなエッジが抽出された場合には、ステップ780で肯定判断されるため、上記ステップ782以降の処理が同様に行われる。また、ステップ778で新たなエッジ抽出されなかった場合には、ステップ780で否定判断され、図37の文字描画コマンドのラスタ形式描画処理を終了する。次に、図16のステップ110のパターン塗りつぶし処理について詳細に説明する。図38は、パターン塗りつぶし処理の流れを示すフローチャートである。ステップ800では、使用するパターン画像に関する情報幅ptnwidth、高さptnheight、データ形式type、及びアドレスaddressを、パターン画像のパターン名に基づいてパターン管理テーブルから取得する。ステップ802では、パターン塗りつぶし命令に含まれる塗りつぶしコマンドにより指定されている塗りつぶし範囲のY座標の範囲の最小値ystart、及び最大値yendを求め図3Bも参照。、該ystartの値をyにセットする。ステップ804では、スキャンラインyにおけるX軸方向の塗りつぶし範囲の最小値xstart、及び最大値xendを求め図3Bも参照。、該xstartの値をxにセットする。ステップ806では、塗りつぶし範囲の開始点に対応するパターン画像の開始点を求める図3Aも参照。。更に、ptnxlenに、ptnwidthptnx及びxendptnxのいずれか小さい方の値をセットする。ステップ808では、xnextに、xptnxlenの値をセットする。xnextは、塗りつぶし範囲の開始点にパターン画像の開始点を合わせてパターン画像を1つ配置して、ページバッファにパターン画像の色値を書き込んだ後の、次の描画開始点のX座標値である。ステップ810では、パターン情報のtypeを判断する。上記パターン管理テーブルから取得したtypeの値が、rasterであれば、ステップ812に進み、ラスタ形式のパターン塗りつぶし処理を行なう。ラスタ形式パターンの塗りつぶし処理では、ラスタ形式のパターン情報を用いて、ページバッファのスキャンラインyにおけるX座標値xからxptnxlen1までの範囲の描画塗りつぶしが行われる。上記パターン管理テーブルから取得したtypeの値が、edgelistであれば、ステップ814に進み、エッジリスト形式パターンの塗りつぶし処理を行なう。エッジリスト形式パターン塗りつぶし処理では、エッジリスト形式のパターン情報を用いて、ページバッファの、スキャンラインyにおけるX座標値xからxptnxlen1までの範囲の描画塗りつぶしが行われる。上記パターン管理テーブルから取得したtypeの値が、hybridであれば、ステップ816に進み、ハイブリッド形式パターンの塗りつぶし処理を行なう。ハイブリッド形式パターンの塗りつぶし処理では、ハイブリッド形式のパターン情報を用いて、ページバッファの、スキャンラインyにおけるX座標値xからxptnxlen1までの範囲の描画塗りつぶしが行われる。これら各塗りつぶし処理の詳細については後述する。ステップ812,814,及び816のいずれかが終了すると、ステップ818に進み、xnextがxend以下か否かを判断する。ステップ818において、否定判断した場合には、ステップ820に進み、xにxnextの値をセットする。ステップ820の後は、ステップ806に戻り、上記と同様に処理する。すなわち、ステップ806~ステップ820の処理を繰り返すことで、塗りつぶし範囲のスキャンラインyにおいて、塗りつぶし範囲のX軸方向の開始点をずらしながら、該開始点の各々を書込み位置として、パターン画像のスキャンラインptny上の色値を繰り返し複写する書き込むようにしている。一方、ステップ818で、肯定判断した場合には、スキャンラインyにおけるX軸方向の塗りつぶし範囲の最大値xendまでの塗りつぶし描画が終了した状態であるため、ステップ822に進む。ステップ822に進み、yがyendより小さいか否かを判断する。ステップ822で否定判断した場合には、塗りつぶし範囲のY座標の範囲の最大値yendまでの塗りつぶしはまだ終了していない状態であるため、ステップ824に進み、次のスキャンラインの塗りつぶしが行われるように、yに1を加算して、ステップ804に戻り、上記と同様に処理する。また、ステップ822で肯定判断した場合には、塗りつぶし範囲のY座標の範囲の最大値yendまでの塗りつぶしが終了した状態、すなわち、塗りつぶし範囲に対するパターン画像の描画処理が終了した状態であるため、本パターン塗りつぶし処理を終了する。ここで、ステップ812、814、及び816の各塗りつぶし処理について、図39から図42までの各図面を用いて説明する。図39は、塗りつぶし処理を概念的に説明する説明図である。図39Aは、パターン情報がエッジリスト形式の場合の塗りつぶし処理の説明図であり、図39Bは、パターン情報がハイブリッド形式の場合の塗りつぶし処理の説明図であり、図39Cには、パターン情報がラスタ形式の場合の塗りつぶし処理の説明図である。なお、図39では、パターン画像の開始点ptnxからptnxlengthまでの領域が、塗りつぶし範囲に対応するスキャンラインptnyの領域タイリング領域として図示されている。まず最初に、図39C及び図40を参照して、ステップ812で行われる、パターン情報がラスタ形式パターン画像情報及びマスク情報の各々がラスタ形式の場合の塗りつぶし処理について説明する。図40において、ステップ840では、パターン画像情報から座標の色値を取得し、ptnxcolorにセットする。ステップ842では、マスク情報から、座標のマスク値を取得し、ptnxmaskにセットする。ステップ844では、ptnxmaskが1か否かを判断する。ステップ844で肯定判断した場合には、ステップ846に進み、ptnxcolorの値をページバッファの座標に書き込む図39Cも参照。。一方、ステップ844で、否定判断した場合には、座標のマスク値が、非画像領域の画素であることを示す0であるため、ステップ846の書込みを行なわずに図39Cも参照。、ステップ848に進む。ステップ848では、ptnxlenから1を減算し、ptnxに1を加算し、xに1を加算して、ステップ850に進む。ステップ850では、ptnxlenが0より大きいか否かを判断する。ステップ850で、肯定判断した場合には、ステップ840に戻り、次の画素について上記と同様に書込みを行なう。また、ステップ850で否定判断した場合には、本塗りつぶし処理を終了する。次に、図39A及び図41を参照して、ステップ814で行われる、パターン情報がエッジリスト形式パターン画像情報がエッジリスト形式の場合の塗りつぶし処理について説明する。ステップ870では、パターン画像情報のスキャンラインptnyのエッジリストの先頭エッジデータptnedgeを取得する。ステップ872では、エッジデータptnedgeの始点startの値を、ptnedgesxにセットし、ptnedgeの終点endの値を、ptnedgeexにセットし、ptnedgeの色値colorの値を、ptnedgecolorにセットする。ステップ874では、ptnxptnxlen1の値が、取得したエッジデータの始点ptnedgesxの値より小さいか否かを判断する。すなわち、パターン画像のスキャンラインptnyにおける描画範囲図39のタイリング領域の終点が、取得したエッジデータの始点より小さければ、該エッジデータの区間はパターン画像の描画範囲外であることを示している。更に、エッジデータは、X軸方向に順に連結されるため、これ以降のエッジデータも、描画範囲外となる。従って、ここで肯定判断された場合には、本塗りつぶし処理が終了する。なお、図示は省略するが、もともとスキャンラインptnyにエッジデータが存在せず、ステップ870でエッジデータが取得されなかった場合も、本塗りつぶし処理は終了する。一方、ステップ874で、否定判断した場合には、ステップ876に進む。ステップ876では、パターン画像におけるX軸上の開始点ptnxパターン画像のスキャンラインptnyにおける描画範囲の始点が、取得したエッジデータの終点ptnedgeexより大きいか否かを判断する。すなわち、パターン画像のスキャンラインptnyにおける描画範囲の始点が、取得したエッジデータの終点より大きければ、取得したエッジデータの区間は、X軸方向においてパターン画像の描画範囲外に存在することとなる。従って、ステップ876で肯定判断された場合には、次のエッジデータを取得するため、ステップ888に進む。ステップ888については後述する。一方、ステップ876で否定判断した場合には、取得したエッジデータの区間の一部又は全体が、パターン画像におけるスキャンラインptny上の描画範囲の一部又は全体と重複していることを示している。例えば、図39Aに示すように、edge1及びedge2の各区間は、パターン画像におけるスキャンラインptny上の描画範囲の一部と重複している。このような位置関係の場合には、ステップ876で否定判断されるため、ステップ878に進む。ステップ878では、パターン画像におけるX軸上の開始点ptnxが、取得したエッジデータの始点ptnedgesxより小さいか否かを判断する。ここで肯定判断した場合には、パターン画像におけるスキャンラインptny上の開始点ptnxに対して、取得したエッジデータの区間の始点が、例えば図39Aのedge2に示す位置関係となっていることを示している。そこで、ステップ878で、肯定判断した場合には、ステップ880に進む。ステップ880では、ptnxからptnedgesx1までの範囲は描画しない色値を書き込まないため、描画の開始点をptnedgesxに変更する。具体的には、xにptnedgesxptnxの値を加算し、ptnxlenからptnedgesxptnxの値を減算し、ptnxに、ptnedgesxの値をセットする。そして、ステップ882に進む。一方、ステップ878で否定判断した場合には、パターン画像におけるスキャンラインptny上の開始点ptnxに対して、取得したエッジでデータの区間の始点が、例えば図39Aのedge1に示す位置関係となっていることを示している。従って、ptnxから描画されるよう、ステップ880をスキップしてステップ882に進む。ステップ882では、drawlenに、ptnxlen及びptnedgeexptnedgesx1のいずれか小さい方の値をセットする。drawlenはX軸上の描画する範囲の長さを示している。ステップ884では、イメージバッファの座標から座標までの範囲へ、ptnedgecolorの値を書き込む図39のAも参照。。ステップ886では、xにdrawlenの値を加算し、ptnxlenからdrawlenの値を減算し、ptnxに、drawlenの値を加算する。すなわち、ptnxdrawlen1まで描画したので、次の描画の開始点をptnxdrawlenに移動する。ステップ886の処理後、及びステップ876で肯定判断した場合には、ステップ888に進む。ステップ888では、ptnxlenが0より大きく、かつ、次のエッジデータが存在するか否かを判断する。ステップ888で肯定判断した場合には、ステップ890で、エッジデータptnedgeのアドレスnextに格納されているアドレスが示す記憶領域から、次のエッジデータを取得し、新たに取得したエッジデータを、エッジデータptnedgeとして用いて、ステップ872に戻り、上記処理を繰り返す。また、ステップ888で否定判断した場合には、パターン画像のスキャンラインptnyにおける描画が終了したことを示しているため、本塗りつぶし処理が終了する。次に、図39B及び図42を参照して、ステップ816で行われる、パターン情報がハイブリッド形式パターン画像情報がラスタ形式でマスク情報がエッジリスト形式の場合の塗りつぶし処理について説明する。ステップ900では、マスク情報のスキャンラインptnyのエッジリストの先頭エッジデータptnedgeを取得する。ステップ902では、エッジデータptnedgeの始点startの値を、ptnedgesxにセットし、ptnedgeの終点endの値を、ptnedgeexにセットする。ステップ904では、ptnxptnxlen1の値が、取得したエッジデータの始点ptnedgesxの値より小さいか否かを判断する。すなわち、パターン画像のスキャンラインptnyにおける描画範囲図39のタイリング領域の終点が、取得したエッジデータの始点より小さければ、該エッジデータの区間はパターン画像の描画範囲外であることを示している。更に、エッジデータは、X軸方向に順に連結されるため、これ以降のエッジデータも、描画範囲外となる。従って、ここで肯定判断された場合には、本塗りつぶし処理が終了する。なお、図示は省略するが、もともとスキャンラインptnyにエッジデータが存在せず、ステップ900でエッジデータが取得されなかった場合も、本塗りつぶし処理は終了する。一方、ステップ904で、否定判断した場合には、ステップ906に進む。ステップ906では、パターン画像におけるX軸上の開始点ptnxが、取得したエッジデータの終点ptnedgeexより大きいか否かを判断する。すなわち、パターン画像のスキャンラインptnyにおける描画範囲図39のタイリング領域の始点が、取得したエッジデータの終点より大きければ、取得したエッジデータの区間は、X軸方向においてパターン画像の描画範囲外に存在することとなる。従って、ステップ904で肯定判断された場合には、次のエッジデータを取得するため、ステップ918に進む。ステップ918については後述する。一方、ステップ906で否定判断した場合には、取得したエッジデータの区間の一部又は全体が、パターン画像におけるスキャンラインptny上の描画範囲の一部又は全体と重複していることを示している。例えば、図39Bに示すように、edge3及びedge4の各区間は、パターン画像におけるスキャンラインptny上の描画範囲の一部又は全体と重複している。このような位置関係の場合には、ステップ906で否定判断されるため、ステップ908に進む。ステップ908では、パターン画像におけるX軸上の開始点ptnxが、取得したエッジデータの始点ptnedgesxより小さいか否かを判断する。ここで肯定判断した場合には、パターン画像におけるスキャンラインptny上の開始点ptnxに対して、取得したエッジデータの区間の始点が、例えば図39Bのedge4に示す位置関係となっていることを示している。そこで、ステップ908で、肯定判断した場合には、ステップ910に進む。ステップ910では、ptnxからptnedgesx1までの範囲は描画しない画素値を書き込まないため、描画の開始点をptnedgesxに変更する。具体的には、xにptnedgesxptnxの値を加算し、ptnxlenからptnedgesxptnxの値を減算し、ptnxに、ptnedgesxの値をセットする。そして、ステップ912に進む。一方、ステップ908で否定判断した場合には、パターン画像におけるスキャンラインptny上の開始点ptnxに対して、取得したエッジでデータの区間の始点が、例えば図39Bのedge3に示す位置関係となっていることを示している。従って、ptnxから描画されるよう、ステップ910をスキップしてステップ912に進む。ステップ912では、drawlenに、ptnxlen及びptnedgeexptnedgesx1のいずれか小さい方の値をセットする。drawlenはX軸上の描画する範囲の長さを示している。ステップ914では、パターン画像情報のからまでの各画素の色値を、イメージバッファのからまでの範囲に書き込む図39のBも参照。。ステップ916では、xにdrawlenの値を加算し、ptnxlenからdrawlenの値を減算し、ptnxに、drawlenの値を加算する。すなわち、ptnxdrawlen1まで描画したので、次の描画の開始点をptnxdrawlenに移動する。ステップ916の処理後、及びステップ906で肯定判断した場合には、ステップ918に進む。ステップ918では、ptnxlenが0より大きく、かつ、次のエッジデータが存在するか否かを判断する。ステップ918で肯定判断した場合には、ステップ920で、エッジデータptnedgeのアドレスnextに格納されているアドレスが示す記憶領域から、次のエッジデータを取得し、新たに取得したエッジデータを、エッジデータptnedgeとして用いて、ステップ912に戻り、上記処理を繰り返す。また、ステップ918で否定判断した場合には、パターン画像のスキャンラインptnyにおける描画が終了したことを示しているため、本塗りつぶし処理が終了する。ここでフローチャートの説明は終了するが、上記ではパターン画像情報をエッジリスト形式からラスタ形式に変換するか否かの判断に用いた閾値TH1、及びマスク情報をエッジリスト形式からラスタ形式に変換するか否かの判断に用いた閾値TH2の具体例については、何ら言及しなかったが、各閾値については以下のように予め設定して用いるようにしてもよい。まず、閾値TH1であるが、例えば、ラスタ形式で表したパターン画像情報のサイズデータ量がエッジリスト形式で表したパターン画像情報のサイズデータ量より小さくなるように閾値TH1を求めればよい。例えば、以下の1式を用いる。width×height×4×height3...22式の右辺の値は、ラスタ形式で表したパターン画像情報のサイズデータ量とエッジリスト形式で表したパターン画像情報のサイズデータ量とが等しくなるときのエッジデータの数であり、これを閾値TH1として用い、2式の条件を満たした場合に、パターン画像情報をエッジリスト形式からラスタ形式に変換してメモリ領域に記憶するようにすればよい。次に、閾値TH2であるが、例えば、ラスタ形式で表したマスク情報のサイズデータ量がエッジリスト形式で表したマスク情報のサイズデータ量より小さくなるように閾値TH2を求めればよい。例えば、以下の3式を用いる。width×height8×height72...44式の右辺の値は、ラスタ形式で表したマスク情報のサイズデータ量とエッジリスト形式で表したマスク情報のサイズデータ量とが等しくなるときのエッジデータの数であり、これを閾値TH2として用い、4式の条件を満たした場合に、マスク情報をエッジリスト形式からラスタ形式に変換してメモリ領域に記憶するようにすればよい。このように、2式により得られた閾値TH1及び4式により得られた閾値TH2を用いることで、パターン画像情報のメモリ使用量及びマスク情報のメモリ使用量の各々を個別に判断して、ラスタ形式及びエッジリスト形式のうち、各々のメモリ使用量が小さくなるほうのデータ形式で記憶されるが、パターン画像情報をラスタ情報に変換する場合には、エッジリスト形式の場合には必要なかったマスク情報が作成されるため、パターン情報全体でメモリ使用量が効率化されるように、閾値TH1を求めてもよい。例えば、下記5式を用いる。width×height×43...66式の右辺を閾値TH1として用い、6式の条件を満たした場合に、パターン画像情報をエッジリスト形式からラスタ形式に変換してメモリ領域に記憶するようにすればよい。また、上記実施の形態では、パターン定義の際に、パターン画像情報毎、及びマスク情報毎にデータ形式を切替えて記憶する例について説明したが、これに限定されず、例えば、パターン画像情報及びマスク情報ともに、スキャンライン毎にデータ形式を判断して、スキャンライン毎に判断結果に応じたデータ形式でデータを記憶するようにしてもよい。この場合には、閾値TH1に代えて、上記閾値TH1をheightで除算した閾値TH1をスキャンライン単位の閾値として用いればよい。例えば、下記7又は8の右辺の値を閾値TH1とすればよい。edge3...7edgewidth×43...8また、マスク情報の各スキャンラインのデータ形式を判断するための閾値TH2も、上記閾値TH2をheightで除算して求めればよい。例えば、下記9式の右辺の値を閾値TH2とすればよい。edgem72...9なお、スキャンライン単位で形式を切替えて記憶する際、上記実施の形態と同様に、定義命令に、描画コマンドが複数含まれる場合、且つ先に実行された描画コマンドにより既に描画されているスキャンラインが存在する場合において、該スキャンラインのデータ形式がラスタ形式で記憶されているときは、上記と同様に、閾値による判断をせずに、そのスキャンラインをラスタ形式で描画する。パターン画像だけでなく、マスク情報も同様である。また、上記では画像処理のプログラムの一例としてのプログラムが装置制御部12の記憶部12Cに記憶される態様を説明したが、これに限定されず、該プログラムを、CD-ROMやDVD-ROM等の記録媒体に記録されている形態で提供することも可能である。"