"プロセッサーに方法を実行させるためのコンピューター可読プログラムコードが含まれているコンピューター可読媒体であって、前記方法が、マークアップ言語で符号化された文書を受け取る工程と、前記文書を構文解析して画像およびテキストを識別する工程と、前記画像に対応する第1のハイレベルグラフィックスHLGオブジェクトであり、前記第1のHLGオブジェクトの0より小さい第1のz-indexを指定する前記第1のHLGオブジェクトを作成する工程と、植字プログラム入力ファイル内に、前記第1のHLGオブジェクトを指し示すポインターを含む第1のエントリーを生成する工程と、前記植字プログラム入力ファイル内に、前記テキストに対応する第2のエントリーを生成する工程と、植字プログラムおよび前記植字プログラム入力ファイルを用いて植字プログラム出力ファイルを生成する工程と、前記第1のHLGオブジェクトの前記z-indexが0ではないと判定する工程と、前記判定に基づき、前記植字プログラム出力ファイルを構文解析して、前記文書の、前記テキストおよび前記第1のHLGオブジェクトが位置するページを識別し、前記ページについてのアイテムハンドルItemHandleリストを作成し、前記第1のエントリーに対応するとともに、前記第1のHLGオブジェクトを指し示す前記ポインターを含む第1のアイテムハンドルを、前記アイテムハンドルリストに追加し、前記植字プログラム出力ファイルおよび前記アイテムハンドルリストを用いて前記ページについてのディスプレイリストを生成する工程と、を含むコンピューター可読媒体。前記文書を構文解析してベクトルグラフィックスを識別する工程と、前記ベクトルグラフィックスに対応する第2のハイレベルグラフィックスHLGオブジェクトであり、前記第2のHLGオブジェクトの第2のz-indexを指定する前記第2のHLGオブジェクトを作成する工程と、前記植字プログラム出力ファイル内に、前記第2のHLGオブジェクトに対応するとともに、前記第2のHLGオブジェクトを指し示すポインターを含む第3のエントリーを生成する工程と、をさらに含む請求項1に記載のコンピューター可読媒体。前記第2のz-indexが0より大きい請求項2に記載のコンピューター可読媒体。前記ディスプレイリストを生成する工程が、a前記アイテムハンドルリスト内の、z-index<0であるz-indexを有するすべてのアイテムハンドルを識別して第1のアイテムハンドルの集合を取得する工程と、baの後、前記ディスプレイリスト内に、前記第1のアイテムハンドルの集合に対応する第1のディスプレイリストエントリーの集合を生成する工程と、cbの後、前記ディスプレイリスト内に、前記第2のエントリーに対応する第2のディスプレイリストエントリーの集合を生成する工程と、dcの後、前記アイテムハンドルリスト内の、z-index>0であるz-indexを有するすべてのアイテムハンドルを識別して第3のアイテムハンドルの集合を取得する工程と、edの後、前記ディスプレイリスト内に、前記第3のアイテムハンドルの集合に対応する第3のディスプレイリストエントリーの集合を生成する工程と、を含む請求項2に記載のコンピューター可読媒体。前記植字プログラムがTeXレイアウトエンジンである請求項1に記載のコンピューター可読媒体。前記植字プログラム入力ファイルがTeX入力ファイルである請求項1に記載のコンピューター可読媒体。前記マークアップ言語がOOXMLOpenOfficeExtensibleMarkupLanguageである請求項1に記載のコンピューター可読媒体。前記文書がOOXMLパーサーを用いて構文解析される請求項7に記載のコンピューター可読媒体。前記第1のHLGオブジェクトが前記画像のネイティブ画像データへの参照を含む請求項1に記載のコンピューター可読媒体。前記ディスプレイリストが、前記文書を表示画面上に表示することおよび前記文書を印刷することからなる群より選択される少なくとも1つを行うのに用いられる請求項1に記載のコンピューター可読媒体。プロセッサーと、前記プロセッサーによって実行されるとプリンターに方法を実行させるコンピューター可読プログラムコードを含むメモリーであり、前記方法が、マークアップ言語で符号化された文書についての印刷ジョブを受け取る工程と、前記文書を構文解析して画像およびテキストを識別する工程と、前記画像に対応する第1のハイレベルグラフィックスHLGオブジェクトであり、前記第1のHLGオブジェクトの0より小さい第1のz-indexを指定する前記第1のHLGオブジェクトを作成する工程と、植字プログラム入力ファイル内に、前記第1のHLGオブジェクトを指し示すポインターを含む第1のエントリーを生成する工程と、前記植字プログラム入力ファイル内に、前記テキストに対応する第2のエントリーを生成する工程と、植字プログラムおよび前記植字プログラム入力ファイルを用いて植字プログラム出力ファイルを生成する工程と、前記第1のHLGオブジェクトの前記z-indexが0ではないと判定する工程と、前記判定に基づき、前記植字プログラム出力ファイルを構文解析して、前記印刷ジョブ中の、前記テキストおよび前記第1のHLGオブジェクトが位置するページを識別し、前記ページについてのアイテムハンドルリストを作成し、前記第1のエントリーに対応するとともに、前記第1のHLGオブジェクトを指し示す前記ポインターを含む第1のアイテムハンドルを、前記アイテムハンドルリストに追加し、前記植字プログラム出力ファイルおよび前記アイテムハンドルリストを用いて前記ページについてのディスプレイリストを生成する工程と、を含む前記メモリーと、前記印刷可能な書式の文書を用いて前記文書を印刷するように構成された印刷エンジンと、を備えるプリンター。前記方法が、前記文書を構文解析してベクトルグラフィックスを識別する工程と、前記ベクトルグラフィックスに対応する第2のハイレベルグラフィックスHLGオブジェクトであり、前記第2のHLGオブジェクトの第2のz-indexを指定する前記第2のHLGオブジェクトを作成する工程と、前記植字プログラム出力ファイル内に、前記第2のHLGオブジェクトに対応するとともに、前記第2のHLGオブジェクトを指し示すポインターを含む第3のエントリーを生成する工程と、をさらに含む請求項11に記載のプリンター。前記第2のz-indexが0より大きい請求項12に記載のプリンター。前記ディスプレイリストを生成する工程が、a前記アイテムハンドルリスト内の、z-index<0であるz-indexを有するすべてのアイテムハンドルを識別して第1のアイテムハンドルの集合を取得する工程と、baの後、前記ディスプレイリスト内に、前記第1のアイテムハンドルの集合に対応する第1のディスプレイリストエントリーの集合を生成する工程と、cbの後、前記ディスプレイリスト内に、前記第2のエントリーに対応する第2のディスプレイリストエントリーの集合を生成する工程と、dcの後、前記アイテムハンドルリスト内の、z-index>0であるz-indexを有するすべてのアイテムハンドルを識別して第3のアイテムハンドルの集合を取得する工程と、edの後、前記ディスプレイリスト内に、前記第3のアイテムハンドルの集合に対応する第3のディスプレイリストエントリーの集合を生成する工程と、を含む請求項12に記載のプリンター。前記植字プログラムがTeXレイアウトエンジンである請求項11に記載のプリンター。前記植字プログラム入力ファイルがTeX入力ファイルである請求項11に記載のプリンター。前記マークアップ言語がOOXMLOpenOfficeExtensibleMarkupLanguageである請求項11に記載のプリンター。前記文書がOOXMLパーサーを用いて構文解析される請求項17に記載のプリンター。レーザープリンター、インクジェットプリンター、およびコピー機からなる群より選択される1つである請求項11に記載のプリンター。プロセッサーに方法を実行させるためのコンピューター可読プログラムコードが含まれているコンピューター可読媒体であって、前記方法が、マークアップ言語で符号化された文書を受け取る工程と、前記文書を構文解析して画像およびテキストを識別する工程と、前記画像に対応する第1のハイレベルグラフィックスHLGオブジェクトであり、前記第1のHLGオブジェクトの0より小さい第1のz-indexを指定する前記第1のHLGオブジェクトを作成する工程と、植字プログラム入力ファイル内に、前記第1のHLGオブジェクトを指し示すポインターを含む第1のエントリーを生成する工程と、前記植字プログラム入力ファイル内に、前記テキストに対応する第2のエントリーを生成する工程と、植字プログラムおよび前記植字プログラム入力ファイルを用いて第1の植字プログラム出力ファイルを生成する工程と、前記第1の植字プログラム出力ファイルを構文解析して第1の構文解析されたデータを生成する工程と、前記第1の構文解析されたデータを用いて、前記文書内のページについてのアイテムハンドルリストを作成し、前記第1のエントリーに対応するとともに、前記第1のHLGオブジェクトを指し示す前記ポインターを含む第1のアイテムハンドルを、前記アイテムハンドルリストに追加する工程と、植字プログラムおよび前記植字プログラム入力ファイルを用いて第2の植字プログラム出力ファイルを生成する工程と、前記第2の植字プログラム出力ファイルを構文解析して第2の構文解析されたデータを生成する工程と、前記第2の構文解析されたデータおよび前記アイテムハンドルリストを用いて前記第1のエントリーについての第1のディスプレイリストエントリーを生成する工程と、前記第1のディスプレイリストエントリーを生成した後で、前記第2の構文解析されたデータを用いて前記第2のエントリーについての第2のディスプレイリストエントリーを生成する工程と、を含むコンピューター可読媒体。前記第1の植字プログラム出力ファイルがデバイス非依存ファイル形式である請求項20に記載のコンピューター可読媒体。前記アイテムハンドルリストがOOXMLバックエンドによって維持される請求項21に記載のコンピューター可読媒体。前記マークアップ言語がOOXMLOpenOfficeExtensibleMarkupLanguageであり、前記文書がOOXMLパーサーを用いて構文解析される請求項20に記載のコンピューター可読媒体。従来の植字プログラムは、OfficeOpeneXtensibleMarkupLanguageOOXML等のマークアップ言語を用いて定義されたすべてのアイテムを処理できるわけではない。例えば植字プログラムは、ベクトルグラフィックスおよび/または画像データを処理する機能を含まない場合がある。概括すると、一形態において、本発明は、プロセッサーに方法を実行させるためのコンピューター可読プログラムコードが含まれているコンピューター可読媒体に関する。前記方法は、マークアップ言語で符号化された文書を受け取る工程と、前記文書を構文解析して画像およびテキストを識別する工程と、前記画像に対応する第1のハイレベルグラフィックスHLGオブジェクトであり、前記第1のHLGオブジェクトの0より小さい第1のz-indexを指定する前記第1のHLGオブジェクトを作成する工程と、植字プログラム入力ファイル内に、前記第1のHLGオブジェクトを指し示すポインターを含む第1のエントリーを生成する工程と、前記植字プログラム入力ファイル内に、前記テキストに対応する第2のエントリーを生成する工程と、植字プログラムおよび前記植字プログラム入力ファイルを用いて植字プログラム出力ファイルを生成する工程と、前記第1のHLGオブジェクトの前記z-indexが0ではないと判定する工程と、前記判定に基づき、前記植字プログラム出力ファイルを構文解析して、前記文書の、前記テキストおよび前記第1のHLGオブジェクトが位置するページを識別し、前記ページについてのアイテムハンドルItemHandleリストを作成し、前記第1のエントリーに対応するとともに、前記第1のHLGオブジェクトを指し示す前記ポインターを含む第1のアイテムハンドルを、前記アイテムハンドルリストに追加し、前記植字プログラム出力ファイルおよび前記アイテムハンドルリストを用いて前記ページについてのディスプレイリストを生成する工程と、を含む。概括すると、一形態において、本発明は、プリンターに関する。前記プリンターは、プロセッサーと、前記プロセッサーによって実行されるとプリンターに方法を実行させるコンピューター可読プログラムコードを含むメモリーであり、前記方法が、マークアップ言語で符号化された文書についての印刷ジョブを受け取る工程と、前記文書を構文解析して画像およびテキストを識別する工程と、前記画像に対応する第1のハイレベルグラフィックスHLGオブジェクトであり、前記第1のHLGオブジェクトの0より小さい第1のz-indexを指定する前記第1のHLGオブジェクトを作成する工程と、植字プログラム入力ファイル内に、前記第1のHLGオブジェクトを指し示すポインターを含む第1のエントリーを生成する工程と、前記植字プログラム入力ファイル内に、前記テキストに対応する第2のエントリーを生成する工程と、植字プログラムおよび前記植字プログラム入力ファイルを用いて植字プログラム出力ファイルを生成する工程と、前記第1のHLGオブジェクトの前記z-indexが0ではないと判定する工程と、前記判定に基づき、前記植字プログラム出力ファイルを構文解析して、前記印刷ジョブ中の、前記テキストおよび前記第1のHLGオブジェクトが位置するページを識別し、前記ページについてのアイテムハンドルリストを作成し、前記第1のエントリーに対応するとともに、前記第1のHLGオブジェクトを指し示す前記ポインターを含む第1のアイテムハンドルを、前記アイテムハンドルリストに追加し、前記植字プログラム出力ファイルおよび前記アイテムハンドルリストを用いて前記ページについてのディスプレイリストを生成する工程と、を含む前記メモリーと、前記印刷可能な書式の文書を用いて前記文書を印刷するように構成された印刷エンジンと、を備える。概括すると、一形態において、本発明は、プロセッサーに方法を実行させるためのコンピューター可読プログラムコードが含まれているコンピューター可読媒体に関する。前記方法は、マークアップ言語で符号化された文書を受け取る工程と、前記文書を構文解析して画像およびテキストを識別する工程と、前記画像に対応する第1のハイレベルグラフィックスHLGオブジェクトであり、前記第1のHLGオブジェクトの0より小さい第1のz-indexを指定する前記第1のHLGオブジェクトを作成する工程と、植字プログラム入力ファイル内に、前記第1のHLGオブジェクトを指し示すポインターを含む第1のエントリーを生成する工程と、前記植字プログラム入力ファイル内に、前記テキストに対応する第2のエントリーを生成する工程と、植字プログラムおよび前記植字プログラム入力ファイルを用いて第1の植字プログラム出力ファイルを生成する工程と、前記第1の植字プログラム出力ファイルを構文解析して第1の構文解析されたデータを生成する工程と、前記第1の構文解析されたデータを用いて、前記文書内のページについてのアイテムハンドルリストを作成し、前記第1のエントリーに対応するとともに、前記第1のHLGオブジェクトを指し示す前記ポインターを含む第1のアイテムハンドルを、前記アイテムハンドルリストに追加する工程と、植字プログラムおよび前記植字プログラム入力ファイルを用いて第2の植字プログラム出力ファイルを生成する工程と、前記第2の植字プログラム出力ファイルを構文解析して第2の構文解析されたデータを生成する工程と、前記第2の構文解析されたデータおよび前記アイテムハンドルリストを用いて前記第1のエントリーについての第1のディスプレイリストエントリーを生成する工程と、前記第1のディスプレイリストエントリーを生成した後で、前記第2の構文解析されたデータを用いて前記第2のエントリーについての第2のディスプレイリストエントリーを生成する工程と、を含む。本発明の他の形態は、以下の説明および添付の特許請求の範囲から明らかであろう。次に、本発明の具体的実施形態を、添付の図を参照して詳細に説明する。それぞれの図における類似の要素は、一貫性を保つために類似の参照番号で表す。以下の本発明の実施形態の詳細な説明においては、本発明がより完全に理解されるように、多くの具体的詳細が示される。しかし、本発明はこれらの具体的詳細なしでも実施され得ることが当業者には明らかであろう。場合によっては、説明を不必要に複雑にすることのないように、周知の特徴を詳細に説明しないこともある。概括すると、本発明の実施形態は、マークアップ言語によって指定されるすべてのアイテムをネイティブにサポートする機能をもたない植字プログラムをマークアップ言語とともに用いることに関する。より具体的には、本発明の実施形態は正しいZオーダーでディスプレイリストを生成することに関する。本発明の実施形態では、植字プログラムがZオーダーの処理をネイティブにサポートするのではなく、マークアップ言語が、文書処理プログラムが文書内のアイテムのz-indexを設定することを可能にする。本発明の一実施形態において、限定はしないがMicrosoft登録商標Word等の文書処理プログラムによって生成される文書は、テキスト、画像、ベクトルグラフィックス等のアイテムを含む。Microsoftは、米国ワシントン州シアトル所在のMicrosoftCorporationの登録商標である。本発明の一実施形態において、文書処理プログラムは文書をOOXML等のマークアップ言語形式で表現する。さらに、本発明の一実施形態では、マークアップ言語形式の文書を処理すると、結果として文書内の画像またはベクトルグラフィックスに対応する一または複数のハイレベルグラフィックスHLG:High-LevelGraphicsオブジェクトが作成される。本発明の一実施形態において、文書上の各アイテムすなわち、テキスト、画像、またはベクトルグラフィックスは、x座標およびy座標を用いて位置決めされ得る。さらに、文書内の画像またはベクトルグラフィックスに対応する各HLGオブジェクトは、さらに別の座標であるz-indexを用いて位置決めされ得る。z-indexは、HLGオブジェクトが本文の背面にあるか、本文と揃っているか、それとも本文の前面にあるか指定する。言い換えると、文書内の本文例えば、テキストボックスに含まれないテキスト等は、文書のインライン面in-lineplane上に位置する。さらに、HLGオブジェクトは、i例えば背景画像としてインライン面の背面に位置していてもよく、ii例えばテキストと並んで配置されるテキストとしてインライン面上に位置していてもよく、iii例えば重ね合わせ画像としてインライン面の前面に位置していてもよい。本発明の一実施形態では、z-index<0はHLGオブジェクトがインライン面の背面に位置することを示し、z-index=0はHLGオブジェクトがインライン面に位置することを示し、z-index>0はHLGオブジェクトがインライン面の前面に位置することを示す。本発明の一または複数の実施形態では、z-indexは、整数または実数として指定され得る。所与のHLGオブジェクトがインライン面の背面にあるか、インライン面にあるか、それともインライン面の前面にあるか指示するのに他の規則が用いられてもよいことを当業者は理解するであろう。図5に、前述の様々な面にHLGオブジェクトを有するページの一例を示す。図1に本発明の実施形態によるコンピューターシステムを示す。図1に示すように、コンピューターシステム100は、一または複数のコンピューティングプロセッサー102と、関連付けられたメモリー104ランダムアクセスメモリーRAM、キャッシュメモリー、フラッシュメモリー等と、内部および/または外部記憶装置106ハードディスク、コンパクトディスクドライブやデジタルビデオディスクDVDドライブ等の光ドライブ、フラッシュメモリースティック、ユニバーサルシリアルバスUSBドライブ、スマートカード等と、今日のコンピューターに典型的な他の多数の要素および機能不図示と、を含む。またシステム100は、キーボード108、モニター112において実行され得るタッチスクリーン、マウス110、またはマイクロフォン不図示等の入力手段も含み得る。さらに、コンピューターシステム100は、モニター112液晶ディスプレイLCD、プラズマディスプレイ、陰極線管CRTモニター等や、プリンター116等の出力手段も含み得る。コンピューターシステム100は、有線または無線のネットワークインターフェース接続不図示を介してネットワーク114ローカルエリアネットワークLAN、インターネット等の広域ネットワークWAN、他の任意の種類のネットワーク等に接続され得る。図1に示すように、コンピューターシステムは、ネットワーク114を用いてプリンター116に接続するように構成される。これに加えて、または代替として、コンピューターシステムは、限定はしないが、Bluetooth登録商標、有線接続、ピアツーピアネットワーク等の直接の有線または無線の通信機構を用いて、プリンターと直接通信する機能を含んでいてもよい。Bluetoothは米国ワシントン州ベルビュー所在のBluetoothSIG,Inc.の登録商標である。多種多様なコンピューターシステムが存在し、前述の入力および出力の手段は他の形も取り得ることを当業者は理解するであろう。一般には、コンピューターシステム100は、本発明の実施形態を実施するのに必要な少なくとも最小限の処理、入力、および/または出力の手段を含む。図2に本発明の実施形態によるプリンターを示す。プリンター200は、ファームウェア202と、メモリー204と、一または複数の特定用途向け集積回路/フィールドプログラマブルゲートアレイFPGA206と、2次記憶装置208と、一または複数の入力/出力インターフェース210と、一または複数のプロセッサー212と、印刷エンジン214とを含む。以下で、これらの各構成要素について説明する。本発明の一実施形態では、ファームウェア202は、プロセッサー212および/またはASIC/FPGA206が実行するためのコンピューター可読プログラムコードを含み得る。本発明の一実施形態では、コンピューター可読プログラムコードは、図3および図4A~4Dに示すステップのうちの一または複数を実行するための命令を含む。加えて、コンピューター可読プログラムコードは、プリンターを起動し、シャットダウンするための命令、ならびにプリンター200の外部の装置との間でデータを送受信するための命令も含み得る。本発明の一実施形態では、メモリー204は、揮発性メモリーランダムアクセスメモリーRAM、キャッシュメモリー等および/または不揮発性メモリーフラッシュメモリー等を含み得る。メモリーは、図3および図4A~4Dに示す一または複数の方法ステップの実行時に生成されるデータを記憶するように構成され得る。本発明の一実施形態では、2次記憶装置208は、不揮発性メモリーフラッシュメモリー等および/または外部記憶装置ハードディスク等に対応する。2次記憶装置208は、図3および図4A~4Dに示す一または複数の方法ステップの実行時に生成されるデータを含み得る。本発明の一実施形態では、一または複数の入力/出力インターフェース210は、プリンターの外部の装置にデータを送信し、かつ/またはプリンターの外部の装置からデータを受信するように構成される。入力/出力インターフェースの例には、限定はしないが、無線ネットワークインターフェース、有線ネットワークインターフェース、シリアルインターフェース、ユニバーサルシリアルバスUSBインターフェース、Bluetooth登録商標インターフェース、パラレルインターフェース等が含まれる。本発明の一実施形態では、一または複数のプロセッサー212は、ファームウェア202と、2次記憶装置があれば2次記憶装置とに記憶されたコンピューター可読プログラムコードを実行するように構成される。任意選択で、プリンターはASICおよび/またはFPGA206を含んでいてもよい。ASICおよび/またはFPGAは、コンピューター可読プログラムコードの実行を円滑に行わせる専用ハードウェアを含み得る。代替として、またはこれに加えて、ASICおよび/またはFPGAは、図3および図4A~4Dに示す方法ステップのうちの一または複数を実行するように構成されてもよい。これらの実施形態では、コンピューター可読プログラムコードは、ASICおよび/またはFPGAの構成が対象とする図3および図4A~4Dに示す方法ステップのうちの一または複数を、ASICおよび/またはFPGAに実行させるための適切なメソッド呼出しを含み得る。本発明の一実施形態では、印刷エンジン214は、印刷文書を生成するように構成される。したがって印刷エンジンは、トナーおよび/またはインクを紙やプラスチック等の印刷媒体に付着させる機能を含み得る。プリンター200は、レーザープリンター、インクジェットプリンター、またはコピー機として実施され得る。図3および図4A~4Eに、本発明の一または複数の実施形態によるフローチャートを示す。これらのフローチャートにおける様々なステップは順次に提示され、記述されているが、これらステップのうちの一部または全部が異なる順序で実行されたり、組み合わされたり、もしくは省略されたりしてもよく、これらのステップの一部または全部が並列に実行されてもよいことを当業者は理解するであろう。図3を参照すると、ステップ300では、プリンターにより印刷ジョブが受け取られる。この印刷ジョブはマークアップ言語OOXML等で符号化された文書についてのものである。ステップ302では、文書に対応するマークアップ言語データが処理されてディスプレイリストが生成される。本発明の一実施形態では、ディスプレイリストは、文書内のページ上のコンテンツをラスタ化するのに必要とされるすべての情報を含む。前述の情報の例には、限定はしないが、ベクトルグラフィックスの形状を記述する情報、画像データを記述する情報、色や不透明度等の、テキスト、画像、およびベクトルグラフィックスの属性を記述する情報等が含まれ得る。ステップ302の実施形態については、以下で図4A~4Eを参照して説明する。ステップ304では、文書についてのラスタ化データがディスプレイリストを用いて生成される。ラスタ化データの非限定的例には、空間的にマップされた画素の配列であるピックスマップと、空間的にマップされたビットの配列であるビットマップとが含まれる。本発明の一実施形態では、ラスタ化データの生成は、典型的にはポリゴンを用いて記述される3次元画面を取得し、その3次元画面を2次元表面上にレンダリングすることによって実現され得る。そのような場合、ポリゴンは、三角形の集合体として表現され得る。三角形は、3次元空間おいて3つの頂点により表現され得る。1つの頂点は、1点、1辺の終点、またはポリゴンの2辺が交わる角を規定する。このように、ラスタ化により、頂点の軌跡Streamを、対応する2次元の点に変換し、変換された2次元の三角形を塗りつぶすことができる。ラスタ化時に、ラスタ化されたデータはプリンター上のメモリーに記憶され得る。ステップ306では、任意選択で後処理が行われ得る。例えば、ラスタ化データに対して、ハーフトーニング、トラッピング等の様々な操作が行われ得る。ステップ308では、ラスタ化データは、印刷エンジンにより、文書の画像が付着された印刷媒体すなわちハードコピー文書を生成するのに用いられる。図4A~4Eには、図3のステップ302の様々な実施形態が説明されている。図4Aを参照すると、ステップ400では、マークアップ言語データが構文解析されて、テキスト、ベクトルグラフィックス、画像等の文書内のアイテムが識別される。ステップ402では、処理すべきアイテムが選択される。ステップ404では、そのアイテムがベクトルグラフィックスまたは画像に対応するか否かについての判定が行われる。アイテムがベクトルグラフィックスまたは画像に対応する場合、プロセスはステップ406に進み、そうでない場合、プロセスはステップ410に進む。ステップ406では、ベクトルグラフィックスまたは画像に対応するHLGオブジェクトが作成される。ステップ408では、ステップ400のマークアップ言語データの構文解析から得られた情報を用いて、HLGオブジェクトのz-indexが設定される。次いでプロセスはステップ410に進む。ステップ410では、植字プログラム入力ファイル内に、ステップ402で識別されたアイテムについてのエントリーが生成される。本発明の一実施形態では、植字プログラムはTeXである。本発明は他の植字プログラムをカバーするようにも拡張され得ることを当業者は理解するであろう。ベクトルグラフィックスまたは画像に対応するアイテムについて、生成されるエントリーは、ステップ406で生成されたHLGオブジェクトを指し示すポインターを含む。本発明の一実施形態では、HLGオブジェクトに対応するアイテムは、植字プログラムレイアウトエンジンにより無視されるコマンドにカプセル化される。例えば、植字プログラムがTeXである場合には、HLGオブジェクトに対応するアイテムは、\specialコマンドを用いてカプセル化され得る。この実施形態では、TeXレイアウトエンジンは\specialコマンドを用いてカプセル化されたすべてのアイテムを無視する。図4Aを続けると、ステップ412では、処理すべき別のアイテムがあるか否かについての判定が行われる。処理すべき別のアイテムがある場合、プロセスはステップ402に進み、そうでない場合、プロセスは図4Bのステップ413に進む。この段階では、植字プログラム入力ファイルが生成されている。植字プログラム入力ファイルは、図4B~4Eに示すように、対応するディスプレイリストを生成するために引き続き処理される。図4Bを参照すると、ステップ413では、植字プログラム入力ファイルは植字プログラムレイアウトエンジンTeXレイアウトエンジン等に送られる。ステップ414で、植字プログラムレイアウトエンジンは、植字プログラム入力ファイルを用いて植字プログラム出力ファイルを生成する。植字プログラム出力ファイルは、限定はしないが、HLGオブジェクトを指し示すポインター、対応するバウンディングボックス情報を用いて決定されるHLGオブジェクトのレイアウト、文書のインライン面上のテキスト、テキストのフォント、テキストの色、ならびに先頭ページおよび末尾ページの標識を含む。本発明の一実施形態では、植字プログラム出力ファイルは、デバイス非依存ファイル形式DVIである。ステップ416では、植字プログラム入力ファイル内のすべてのHLGオブジェクトがz-index=0であるz-indexを有するか否かについての判定が行われる。植字プログラム入力ファイル内のすべてのHLGオブジェクトがz-index=0であるz-indexを有する場合、プロセスはステップ418に進み、そうでない場合、プロセスはステップ428に進む。ステップ418では、植字プログラム出力ファイルの処理が開始され、植字プログラム出力ファイルが構文解析されて植字プログラム出力ファイル内のエントリーが取得され、続いてそのうちの1つのエントリーが選択される。ステップ420では、エントリーがHLGオブジェクトに対応するか否かについての判定が行われる。エントリーがHLGオブジェクトに対応しない場合には、プロセスはステップ422に進み、そうでない場合には、プロセスはステップ424に進む。ステップ422では、エントリーが処理されて、対応するエントリーがディスプレイリスト内に生成される。次いでプロセスはステップ426に進む。ステップ424では、エントリーが処理されて、対応するエントリーがディスプレイリスト内に生成される。次いでプロセスはステップ426に進む。本発明の一実施形態では、処理ステップ424は、iHLGオブジェクトがベクトルグラフィックスではなく画像についてのものである場合には、HLGオブジェクト内のネイティブ画像データへの参照を用い、iiグラフィックスライブラリーを呼び出して、ディスプレイリスト上に配置するための適切なグラフィックスプリミティブを生成することを含み得る。ステップ426では、処理すべき別のエントリーが植字プログラム出力ファイル内にあるか否かについての判定が行われる。処理すべき別のエントリーが植字プログラム出力ファイル内にある場合には、プロセスはステップ418に進み、そこで別のエントリーが選択され、そうでない場合には、プロセスは終了する。ステップ428では、ページごとにHLGオブジェクト記録が行われて、印刷ジョブ内のページごとのアイテムハンドルItemHandleリストが生成される。ステップ428については図4Cに詳細に説明されている。ステップ430では、植字プログラム出力ファイルと、ステップ428で生成されたアイテムハンドルリストとを用いてディスプレイリストが生成される。ステップ430については図4Dおよび図4Eに詳細に説明されている。図4Cを参照すると、ステップ432の前に、植字プログラム出力ファイルの構文解析が開始されて一連のエントリーが生成される。ステップ432では、ページの先頭に対応する植字プログラム出力ファイルの構文解析であるプロセスから出力されたエントリーが受け取られる。ステップ434では、そのページについてのアイテムハンドルリストが作成される。ステップ436では、そのページからの植字プログラム出力ファイルの構文解析であるプロセスから出力されたエントリーが受け取られる。ステップ438では、そのエントリーがページの末尾に対応するか否かについての判定が行われる。エントリーがページの末尾に対応する場合、プロセスはステップ444に進み、そうでない場合、プロセスはステップ440に進む。ステップ440では、エントリーがHLGオブジェクトに対応するか否かについての判定が行われる。アイテムがHLGオブジェクトに対応する場合、プロセスはステップ442に進み、そうでない場合、プロセスはステップ436に進む。ステップ442では、HLGオブジェクトのアイテムハンドルが、ステップ434で作成されたページについてのアイテムハンドルリストに追加される。HLGオブジェクトのアイテムハンドルは、HLGオブジェクトを指し示すポインターとページ上でのHLGの位置とを含む。ステップ444では、植字プログラム出力ファイル内に別の未処理のエントリーが残っているか否かについての判定が行われる。植字プログラム出力ファイル内に別の未処理のエントリーが残っている場合、プロセスはステップ432に進み、そうでない場合、プロセスは終了する。図4Dを参照すると、ステップ446の前に、植字プログラム出力ファイルの構文解析が開始されて一連のエントリーが生成される。植字プログラム出力ファイルはステップ414で生成される植字プログラム出力ファイルに対応していてもよく、植字プログラムが植字プログラム入力ファイルを再処理して新しい植字プログラム出力ファイルを生成することにより生成される植字プログラム出力ファイルに対応していてもよい。ステップ446を参照すると、ページの先頭に対応する植字プログラム出力ファイルの構文解析であるプロセスから出力されたエントリーが受け取られる。ステップ448では、ステップ446で識別されたページについてのアイテムハンドルリストが取得される。ステップ450では、ステップ448で取得されたアイテムハンドルリスト内の、z-index<0であるz-indexを有するすべてのアイテムハンドルが識別される。ステップ452では、ステップ450で識別されたすべてのアイテムハンドルが処理されて、ディスプレイリスト上に適切なエントリーが生成される。本発明の一実施形態では、アイテムハンドルの処理は、アイテムハンドルで指定されたポインターを用いてHLGオブジェクトを取得すること、および適切なグラフィックスライブラリールーチンを呼び出して対応するエントリーをディスプレイリスト上に生成することを含む。ステップ452が完了した後には、インライン面の背面にあるすべてのHLGオブジェクトが処理され、ディスプレイリストに追加されている。次いでプロセスは引き続き図4Eの各ステップを実行する。図4Eを参照すると、図4Eには、植字プログラム出力ファイル内のインライン面上のテキストおよびHLGオブジェクトの処理が詳述されている。ステップ470を見ると、ステップ470では、ページからの植字プログラム出力ファイルの構文解析であるプロセスから出力されたエントリーが受け取られる。ステップ472では、そのエントリーがページの末尾に対応するか否かについての判定が行われる。エントリーがページの末尾に対応する場合、プロセスは終了に進み、そうでない場合、プロセスはステップ474に進む。ステップ474では、エントリーがHLGオブジェクトに対応するか否かについての判定が行われる。アイテムがHLGオブジェクトに対応する場合、プロセスはステップ476に進み、そうでない場合、プロセスはステップ480に進む。ステップ476では、HLGオブジェクトのz-indexが0であるか否かについての判定が行われる。HLGオブジェクトのz-indexが0である場合、プロセスはステップ478に進み、そうでない場合、プロセスはステップ470に進む。ステップ478では、HLGオブジェクトが処理されてディスプレイリスト上に適切なエントリーが生成される。本発明の一実施形態では、HLGオブジェクトの処理は、アイテムハンドルで指定されたHLGオブジェクトを指し示すポインターを用いること、および適切なグラフィックスライブラリールーチンを呼び出して対応するエントリーをディスプレイリスト上に生成することを含む。次いでプロセスはステップ470に進む。ステップ480では、エントリーが処理されて、対応するエントリーがディスプレイリスト内に生成される。ステップ480は本質的に、図4Bを参照して前述したステップ422と同じである。次いでプロセスはステップ470に進む。図4Dに戻って、ステップ456では、ステップ448で取得されたアイテムハンドルリスト内の、z-index>0であるz-indexを有するすべてのアイテムハンドルが識別される。ステップ458では、ステップ456で識別されたすべてのアイテムハンドルが処理されて、ディスプレイリスト上に適切なエントリーが生成される。本発明の一実施形態では、アイテムハンドルの処理は、アイテムハンドルで指定されたポインターを用いてHLGオブジェクトを取得すること、および適切なグラフィックスライブラリールーチンを呼び出して対応するエントリーをディスプレイリスト上に生成することを含む。ステップ458が完了した後には、インライン面の前面にあるすべてのHLGオブジェクトが処理され、ディスプレイリストに追加されている。次いでプロセスはステップ460に進む。ステップ460では、ページの処理が完了する。本発明の一実施形態では、ページの処理の完了は、ページの処理を完了するのに必要とされる他の任意のグラフィックスライブラリールーチンまたは他のプロセスを呼び出すことを含み得る。ステップ462では、植字プログラム出力ファイル内に未処理のエントリーがあるか否かについての判定が行われる。植字プログラム出力ファイル内に未処理のエントリーがある場合、プロセスはステップ446に進み、そうでない場合、プロセスは終了する。以下の例は、本発明の様々な実施形態を例示するものであり、本発明の範囲を限定するためのものではない。図5に、3つのHLGオブジェクトおよびテキストを含むページ例599を示す。図5に示すように、HLGA502はインライン面の背面にあり、HLGB504およびテキスト505はインライン面上にあり、HLGC506はインライン面の前面にある。本発明の一または複数の実施形態によれば、HLGA502のz-indexは0より小さく、HLGB504のz-indexは0であり、HLGC506のz-indexは0より大きい。図6に、本発明の一または複数の実施形態によるソフトウェアアーキテクチャーの例を示す。このソフトウェアアーキテクチャーは、コンピュータプログラムコードとして実施される以下のモジュールを含む。すなわち、OOXMLパーサー600、OOXMLフロントエンドOFE602、TeXレイアウトエンジン604、OOXMLバックエンドOBE606、およびTeX出力ファイルパーサー608、およびグラフィックスライブラリー610を含む。以下で、これらの各構成要素について説明する。OOXMLパーサー600は、OOXMLで符号化された文書を受け取り、続いてその文書を構文解析して構文解析されたOOXMLデータを取得するように構成される。次いで、構文解析されたOOXMLデータはOFE602に転送される。OFE602は、上記図4Aに示す各ステップを行ってTeX入力ファイルを生成するように構成される。OFE602はさらに、TeX入力ファイルが、z-index≠0であるz-indexを有するHLGオブジェクトを含むか否か判定する図4Bのステップ416ように構成される。TeX入力ファイルはTeXレイアウトエンジン604に転送されて、TeX出力ファイルが生成される。続いてTeX出力ファイルは、TeX出力ファイルパーサー608、OBE606およびグラフィックスライブラリー610によってあるいは、より具体的には、グラフィックスライブラリー610内のルーチンを用いて処理される。TeX出力ファイルパーサー608は、TeX出力ファイルを構文解析し、構文解析の結果をOBE606に転送するように構成される。OBE606は、ステップ428を実行することによりTeX出力ファイルの構文解析の結果の第1のパスを実行し、アイテムハンドルリストを維持するように構成される。OBE606はさらに、ステップ430を実行することによりTeX出力ファイルの構文解析の結果の第2のパスを実行するように構成される。グラフィックスライブラリー610は、文書内のテキスト、画像、およびベクトルグラフィックスのためにディスプレイリスト上に適切なエントリーを生成するのに必要なルーチンを含む。OBE606は、グラフィックスライブラリーを呼び出して、対応するエントリーをディスプレイリスト上に生成するためのルーチンの実行を開始するように構成される。本発明の実施形態は印刷文書の生成に用いるためのディスプレイリストを生成することを対象としているが、本発明の実施形態は、モニター等のディスプレイ上に画像を出力するためのディスプレイリストの生成にも用いられ得ることを当業者は理解するであろう。本発明の実施形態を実行するためのコンピューター可読プログラムコードは、コンパクトディスクCD、ディスケット、テープ、物理メモリー、あるいは、本発明の実施形態を実行するためのコンピューター可読プログラムコードを記憶する機能を含む他の任意の物理的なコンピューター可読記憶媒体等のコンピューター可読媒体上に記憶され得る。本発明の一実施形態では、コンピューター可読プログラムコードは、一または複数のプロセッサーによって実行されると、本発明の実施形態を実行するように構成される。本発明は限られた数の実施形態について説明されているが、本開示の利益を有する当業者は、ここで開示する本発明の範囲を逸脱しない、他の実施形態を考案することもできることを理解するであろう。したがって、本発明の範囲は、添付の特許請求の範囲によってのみ限定されるべきものである。"