(57)【特許請求の範囲】
【請求項１】
プロセッサーに方法を実行させるためのコンピューター可読プログラムコードが含まれているコンピューター可読媒体であって、前記方法が、
マークアップ言語で符号化された文書を受け取る工程と、
前記文書を構文解析して画像およびテキストを識別する工程と、
前記画像に対応する第１のハイレベルグラフィックス（ＨＬＧ）オブジェクトであり、前記第１のＨＬＧオブジェクトの０より小さい第１のｚ−ｉｎｄｅｘを指定する前記第１のＨＬＧオブジェクトを作成する工程と、
植字プログラム入力ファイル内に、前記第１のｚ−ｉｎｄｅｘが指定された前記第１のＨＬＧオブジェクトを指し示すポインターを含む第１のエントリーを生成する工程と、
前記植字プログラム入力ファイル内に、前記テキストに対応する第２のエントリーを生成する工程と、
植字プログラムおよび前記植字プログラム入力ファイルを用いて植字プログラム出力ファイルを生成する工程と、
前記第１のＨＬＧオブジェクトの前記ｚ−ｉｎｄｅｘが０ではないと判定する工程と、
前記判定に基づき、
前記植字プログラム出力ファイルを構文解析して、前記文書の、前記テキストおよび前記第１のＨＬＧオブジェクトが位置するページを識別し、
前記ページについてのアイテムハンドル（ＩｔｅｍＨａｎｄｌｅ）リストを作成し、
前記第１のエントリーに対応するとともに、前記第１のｚ−ｉｎｄｅｘが指定された前記第１のＨＬＧオブジェクトを指し示す前記ポインターを含む第１のアイテムハンドルを、前記アイテムハンドルリストに追加し、
前記植字プログラム出力ファイルおよび前記アイテムハンドルリストを用いて前記ページについてのディスプレイリストを生成する工程と、
を含むコンピューター可読媒体。
【請求項２】
前記文書を構文解析してベクトルグラフィックスを識別する工程と、
前記ベクトルグラフィックスに対応する第２のハイレベルグラフィックス（ＨＬＧ）オブジェクトであり、前記第２のＨＬＧオブジェクトの第２のｚ−ｉｎｄｅｘを指定する前記第２のＨＬＧオブジェクトを作成する工程と、
前記植字プログラム出力ファイル内に、前記第２のｚ−ｉｎｄｅｘが指定された前記第２のＨＬＧオブジェクトに対応するとともに、前記第２のＨＬＧオブジェクトを指し示すポインターを含む第３のエントリーを生成する工程と、
をさらに含む請求項１に記載のコンピューター可読媒体。
【請求項３】
前記第２のｚ−ｉｎｄｅｘが０より大きい請求項２に記載のコンピューター可読媒体。
【請求項４】
前記ディスプレイリストを生成する工程が、
（ａ）前記アイテムハンドルリスト内の、ｚ−ｉｎｄｅｘ＜０であるｚ−ｉｎｄｅｘを有するすべてのアイテムハンドルを識別して第１のアイテムハンドルの集合を取得する工程と、
（ｂ）（ａ）の後、前記ディスプレイリスト内に、前記第１のアイテムハンドルの集合に対応する第１のディスプレイリストエントリーの集合を生成する工程と、
（ｃ）（ｂ）の後、前記ディスプレイリスト内に、前記第２のエントリーに対応する第２のディスプレイリストエントリーの集合を生成する工程と、
（ｄ）（ｃ）の後、前記アイテムハンドルリスト内の、ｚ−ｉｎｄｅｘ＞０であるｚ−ｉｎｄｅｘを有するすべてのアイテムハンドルを識別して第３のアイテムハンドルの集合を取得する工程と、
（ｅ）（ｄ）の後、前記ディスプレイリスト内に、前記第３のアイテムハンドルの集合に対応する第３のディスプレイリストエントリーの集合を生成する工程と、
を含む請求項２又は３に記載のコンピューター可読媒体。
【請求項５】
前記植字プログラムがＴｅＸレイアウトエンジンである請求項１〜４の何れか一項に記載のコンピューター可読媒体。
【請求項６】
前記植字プログラム入力ファイルがＴｅＸ入力ファイルである請求項１〜５の何れか一項に記載のコンピューター可読媒体。
【請求項７】
前記マークアップ言語がＯＯＸＭＬ（Ｏｐｅｎ  Ｏｆｆｉｃｅ  Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）である請求項１〜６の何れか一項に記載のコンピューター可読媒体。
【請求項８】
前記文書がＯＯＸＭＬパーサーを用いて構文解析される請求項７に記載のコンピューター可読媒体。
【請求項９】
前記第１のＨＬＧオブジェクトが前記画像のネイティブ画像データへの参照を含む請求項１〜８の何れか一項に記載のコンピューター可読媒体。
【請求項１０】
前記ディスプレイリストが、前記文書を表示画面上に表示することおよび前記文書を印刷することからなる群より選択される少なくとも１つを行うのに用いられる請求項１〜９の何れか一項に記載のコンピューター可読媒体。
【請求項１１】
プロセッサーと、
前記プロセッサーによって実行されるとプリンターに方法を実行させるコンピューター可読プログラムコードを含むメモリーであり、前記方法が、
マークアップ言語で符号化された文書についての印刷ジョブを受け取る工程と、
前記文書を構文解析して画像およびテキストを識別する工程と、
前記画像に対応する第１のハイレベルグラフィックス（ＨＬＧ）オブジェクトであり、前記第１のＨＬＧオブジェクトの０より小さい第１のｚ−ｉｎｄｅｘを指定する前記第１のＨＬＧオブジェクトを作成する工程と、
植字プログラム入力ファイル内に、前記第１のｚ−ｉｎｄｅｘが指定された前記第１のＨＬＧオブジェクトを指し示すポインターを含む第１のエントリーを生成する工程と、
前記植字プログラム入力ファイル内に、前記テキストに対応する第２のエントリーを生成する工程と、
植字プログラムおよび前記植字プログラム入力ファイルを用いて植字プログラム出力ファイルを生成する工程と、
前記第１のＨＬＧオブジェクトの前記ｚ−ｉｎｄｅｘが０ではないと判定する工程と、
前記判定に基づき、
前記植字プログラム出力ファイルを構文解析して、前記印刷ジョブ中の、前記テキストおよび前記第１のＨＬＧオブジェクトが位置するページを識別し、
前記ページについてのアイテムハンドルリストを作成し、
前記第１のエントリーに対応するとともに、前記第１のｚ−ｉｎｄｅｘが指定された前記第１のＨＬＧオブジェクトを指し示す前記ポインターを含む第１のアイテムハンドルを、前記アイテムハンドルリストに追加し、
前記植字プログラム出力ファイルおよび前記アイテムハンドルリストを用いて前記ページについてのディスプレイリストを生成する工程と、
を含む前記メモリーと、
生成された前記ディスプレイリストに基づいて前記文書を印刷するように構成された印刷エンジンと、
を備えるプリンター。
【請求項１２】
前記方法が、
前記文書を構文解析してベクトルグラフィックスを識別する工程と、
前記ベクトルグラフィックスに対応する第２のハイレベルグラフィックス（ＨＬＧ）オブジェクトであり、前記第２のＨＬＧオブジェクトの第２のｚ−ｉｎｄｅｘを指定する前記第２のＨＬＧオブジェクトを作成する工程と、
前記植字プログラム出力ファイル内に、前記第２のｚ−ｉｎｄｅｘが指定された前記第２のＨＬＧオブジェクトに対応するとともに、前記第２のＨＬＧオブジェクトを指し示すポインターを含む第３のエントリーを生成する工程と、
をさらに含む請求項１１に記載のプリンター。
【請求項１３】
前記第２のｚ−ｉｎｄｅｘが０より大きい請求項１２に記載のプリンター。
【請求項１４】
前記ディスプレイリストを生成する工程が、
（ａ）前記アイテムハンドルリスト内の、ｚ−ｉｎｄｅｘ＜０であるｚ−ｉｎｄｅｘを有するすべてのアイテムハンドルを識別して第１のアイテムハンドルの集合を取得する工程と、
（ｂ）（ａ）の後、前記ディスプレイリスト内に、前記第１のアイテムハンドルの集合に対応する第１のディスプレイリストエントリーの集合を生成する工程と、
（ｃ）（ｂ）の後、前記ディスプレイリスト内に、前記第２のエントリーに対応する第２のディスプレイリストエントリーの集合を生成する工程と、
（ｄ）（ｃ）の後、前記アイテムハンドルリスト内の、ｚ−ｉｎｄｅｘ＞０であるｚ−ｉｎｄｅｘを有するすべてのアイテムハンドルを識別して第３のアイテムハンドルの集合を取得する工程と、
（ｅ）（ｄ）の後、前記ディスプレイリスト内に、前記第３のアイテムハンドルの集合に対応する第３のディスプレイリストエントリーの集合を生成する工程と、
を含む請求項１２又は１３に記載のプリンター。
【請求項１５】
前記植字プログラムがＴｅＸレイアウトエンジンである請求項１１〜１４の何れか一項に記載のプリンター。
【請求項１６】
前記植字プログラム入力ファイルがＴｅＸ入力ファイルである請求項１１〜１５の何れか一項に記載のプリンター。
【請求項１７】
前記マークアップ言語がＯＯＸＭＬ（Ｏｐｅｎ  Ｏｆｆｉｃｅ  Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）である請求項１１〜１６の何れか一項に記載のプリンター。
【請求項１８】
前記文書がＯＯＸＭＬパーサーを用いて構文解析される請求項１７に記載のプリンター。
【請求項１９】
レーザープリンター、インクジェットプリンター、およびコピー機からなる群より選択される１つである請求項１１〜１８の何れか一項に記載のプリンター。
【請求項２０】
プロセッサーに方法を実行させるためのコンピューター可読プログラムコードが含まれているコンピューター可読媒体であって、前記方法が、
マークアップ言語で符号化された文書を受け取る工程と、
前記文書を構文解析して画像およびテキストを識別する工程と、
前記画像に対応する第１のハイレベルグラフィックス（ＨＬＧ）オブジェクトであり、前記第１のＨＬＧオブジェクトの０より小さい第１のｚ−ｉｎｄｅｘを指定する前記第１のＨＬＧオブジェクトを作成する工程と、
植字プログラム入力ファイル内に、前記第１のｚ−ｉｎｄｅｘが指定された前記第１のＨＬＧオブジェクトを指し示すポインターを含む第１のエントリーを生成する工程と、
前記植字プログラム入力ファイル内に、前記テキストに対応する第２のエントリーを生成する工程と、
植字プログラムおよび前記植字プログラム入力ファイルを用いて第１の植字プログラム出力ファイルを生成する工程と、
前記第１の植字プログラム出力ファイルを構文解析して第１の構文解析されたデータを生成する工程と、
前記第１の構文解析されたデータを用いて、
前記文書内のページについてのアイテムハンドルリストを作成し、
前記第１のエントリーに対応するとともに、前記第１のｚ−ｉｎｄｅｘが指定された前記第１のＨＬＧオブジェクトを指し示す前記ポインターを含む第１のアイテムハンドルを、前記アイテムハンドルリストに追加する工程と、
植字プログラムおよび前記植字プログラム入力ファイルを用いて第２の植字プログラム出力ファイルを生成する工程と、
前記第２の植字プログラム出力ファイルを構文解析して第２の構文解析されたデータを生成する工程と、
前記第２の構文解析されたデータおよび前記アイテムハンドルリストを用いて前記第１のエントリーについての第１のディスプレイリストエントリーを生成する工程と、
前記第１のディスプレイリストエントリーを生成した後で、前記第２の構文解析されたデータを用いて前記第２のエントリーについての第２のディスプレイリストエントリーを生成する工程と、
を含むコンピューター可読媒体。
【請求項２１】
前記第１の植字プログラム出力ファイルがデバイス非依存ファイル形式である請求項２０に記載のコンピューター可読媒体。
【請求項２２】
前記アイテムハンドルリストがＯＯＸＭＬバックエンドによって維持される請求項２１に記載のコンピューター可読媒体。
【請求項２３】
前記マークアップ言語がＯＯＸＭＬ（Ｏｐｅｎ  Ｏｆｆｉｃｅ  Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）であり、前記文書がＯＯＸＭＬパーサーを用いて構文解析される請求項２０〜２２の何れか一項に記載のコンピューター可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は植字プログラムをマークアップ言語とともに用いることに関する。
【背景技術】
【０００２】
文書処理ソフトウェアは、ユーザが文書を都合よく閲覧し、編集し、処理し、記憶し、印刷することを可能にする。文書は通常、マークアップ言語形式で記述される。マークアップ言語形式は、文書内のコンテンツ（テキストおよび画像を含む）、コンテンツの位置、ならびにコンテンツの書式（色およびフォントを含む）を記述する。マークアップ言語は通常、文書がどのようにしてディスプレイ上にレンダリングされ、または印刷されるべきかに関して十分な情報を提供しない。
【０００３】
マークアップ言語を用いて記述された文書がレンダリングされる際には、その文書の表示または印刷のために文書内のコンテンツをどのように配置すべきか決定するのに、植字プログラムが用いられ得る。例えば、文書を表示または印刷する前に文書を活字に組み、特に、印刷可能なデータの画面またはページ上での書式および位置を指定するのに、ＴｅＸ等の植字プログラムが用いられ得る。より具体的には、植字プログラムは、入力として書式なしのテキストおよびコマンドを取り込み、出力として書式付きの（レイアウトされた）テキストを生じさせる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の植字プログラムは、Ｏｆｆｉｃｅ  Ｏｐｅｎ  ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（「ＯＯＸＭＬ」）等のマークアップ言語を用いて定義されたすべてのアイテムを処理できるわけではない。例えば植字プログラムは、ベクトルグラフィックスおよび／または画像データを処理する機能を含まない場合がある。
【課題を解決するための手段】
【０００５】
概括すると、一形態において、本発明は、プロセッサーに方法を実行させるためのコンピューター可読プログラムコードが含まれているコンピューター可読媒体に関する。前記方法は、マークアップ言語で符号化された文書を受け取る工程と、前記文書を構文解析して画像およびテキストを識別する工程と、前記画像に対応する第１のハイレベルグラフィックス（ＨＬＧ）オブジェクトであり、前記第１のＨＬＧオブジェクトの０より小さい第１のｚ−ｉｎｄｅｘを指定する前記第１のＨＬＧオブジェクトを作成する工程と、植字プログラム入力ファイル内に、前記第１のｚ−ｉｎｄｅｘが指定された前記第１のＨＬＧオブジェクトを指し示すポインターを含む第１のエントリーを生成する工程と、前記植字プログラム入力ファイル内に、前記テキストに対応する第２のエントリーを生成する工程と、植字プログラムおよび前記植字プログラム入力ファイルを用いて植字プログラム出力ファイルを生成する工程と、前記第１のＨＬＧオブジェクトの前記ｚ−ｉｎｄｅｘが０ではないと判定する工程と、前記判定に基づき、前記植字プログラム出力ファイルを構文解析して、前記文書の、前記テキストおよび前記第１のＨＬＧオブジェクトが位置するページを識別し、前記ページについてのアイテムハンドル（ＩｔｅｍＨａｎｄｌｅ）リストを作成し、前記第１のエントリーに対応するとともに、前記第１のｚ−ｉｎｄｅｘが指定された前記第１のＨＬＧオブジェクトを指し示す前記ポインターを含む第１のアイテムハンドルを、前記アイテムハンドルリストに追加し、前記植字プログラム出力ファイルおよび前記アイテムハンドルリストを用いて前記ページについてのディスプレイリストを生成する工程と、を含む。
【０００６】
概括すると、一形態において、本発明は、プリンターに関する。前記プリンターは、プロセッサーと、前記プロセッサーによって実行されるとプリンターに方法を実行させるコンピューター可読プログラムコードを含むメモリーであり、前記方法が、マークアップ言語で符号化された文書についての印刷ジョブを受け取る工程と、前記文書を構文解析して画像およびテキストを識別する工程と、前記画像に対応する第１のハイレベルグラフィックス（ＨＬＧ）オブジェクトであり、前記第１のＨＬＧオブジェクトの０より小さい第１のｚ−ｉｎｄｅｘを指定する前記第１のＨＬＧオブジェクトを作成する工程と、植字プログラム入力ファイル内に、前記第１のｚ−ｉｎｄｅｘが指定された前記第１のＨＬＧオブジェクトを指し示すポインターを含む第１のエントリーを生成する工程と、前記植字プログラム入力ファイル内に、前記テキストに対応する第２のエントリーを生成する工程と、植字プログラムおよび前記植字プログラム入力ファイルを用いて植字プログラム出力ファイルを生成する工程と、前記第１のＨＬＧオブジェクトの前記ｚ−ｉｎｄｅｘが０ではないと判定する工程と、前記判定に基づき、前記植字プログラム出力ファイルを構文解析して、前記印刷ジョブ中の、前記テキストおよび前記第１のＨＬＧオブジェクトが位置するページを識別し、前記ページについてのアイテムハンドルリストを作成し、前記第１のエントリーに対応するとともに、前記第１のｚ−ｉｎｄｅｘが指定された前記第１のＨＬＧオブジェクトを指し示す前記ポインターを含む第１のアイテムハンドルを、前記アイテムハンドルリストに追加し、前記植字プログラム出力ファイルおよび前記アイテムハンドルリストを用いて前記ページについてのディスプレイリストを生成する工程と、を含む前記メモリーと、生成された前記ディスプレイリストに基づいて前記文書を印刷するように構成された印刷エンジンと、を備える。
【０００７】
概括すると、一形態において、本発明は、プロセッサーに方法を実行させるためのコンピューター可読プログラムコードが含まれているコンピューター可読媒体に関する。前記方法は、マークアップ言語で符号化された文書を受け取る工程と、前記文書を構文解析して画像およびテキストを識別する工程と、前記画像に対応する第１のハイレベルグラフィックス（ＨＬＧ）オブジェクトであり、前記第１のＨＬＧオブジェクトの０より小さい第１のｚ−ｉｎｄｅｘを指定する前記第１のＨＬＧオブジェクトを作成する工程と、植字プログラム入力ファイル内に、前記第１のｚ−ｉｎｄｅｘが指定された前記第１のＨＬＧオブジェクトを指し示すポインターを含む第１のエントリーを生成する工程と、前記植字プログラム入力ファイル内に、前記テキストに対応する第２のエントリーを生成する工程と、植字プログラムおよび前記植字プログラム入力ファイルを用いて第１の植字プログラム出力ファイルを生成する工程と、前記第１の植字プログラム出力ファイルを構文解析して第１の構文解析されたデータを生成する工程と、前記第１の構文解析されたデータを用いて、前記文書内のページについてのアイテムハンドルリストを作成し、前記第１のエントリーに対応するとともに、前記第１のｚ−ｉｎｄｅｘが指定された前記第１のＨＬＧオブジェクトを指し示す前記ポインターを含む第１のアイテムハンドルを、前記アイテムハンドルリストに追加する工程と、植字プログラムおよび前記植字プログラム入力ファイルを用いて第２の植字プログラム出力ファイルを生成する工程と、前記第２の植字プログラム出力ファイルを構文解析して第２の構文解析されたデータを生成する工程と、前記第２の構文解析されたデータおよび前記アイテムハンドルリストを用いて前記第１のエントリーについての第１のディスプレイリストエントリーを生成する工程と、前記第１のディスプレイリストエントリーを生成した後で、前記第２の構文解析されたデータを用いて前記第２のエントリーについての第２のディスプレイリストエントリーを生成する工程と、を含む。
【０００８】
本発明の他の形態は、以下の説明および添付の特許請求の範囲から明らかであろう。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態によるコンピューターシステムを示す図である。
【図２】本発明の実施形態によるプリンターを示す図である。
【図３】本発明の実施形態による方法を示す図である。
【図４Ａ】本発明の実施形態による方法を示す図である。
【図４Ｂ】本発明の実施形態による方法を示す図である。
【図４Ｃ】本発明の実施形態による方法を示す図である。
【図４Ｄ】本発明の実施形態による方法を示す図である。
【図４Ｅ】本発明の実施形態による方法を示す図である。
【図５】本発明の実施形態による例を示す図である。
【図６】本発明の実施形態による例を示す図である。
【発明を実施するための形態】
【００１０】
次に、本発明の具体的実施形態を、添付の図を参照して詳細に説明する。それぞれの図における類似の要素は、一貫性を保つために類似の参照番号で表す。
【００１１】
以下の本発明の実施形態の詳細な説明においては、本発明がより完全に理解されるように、多くの具体的詳細が示される。しかし、本発明はこれらの具体的詳細なしでも実施され得ることが当業者には明らかであろう。場合によっては、説明を不必要に複雑にすることのないように、周知の特徴を詳細に説明しないこともある。
【００１２】
概括すると、本発明の実施形態は、マークアップ言語によって指定されるすべてのアイテムをネイティブにサポートする機能をもたない植字プログラムをマークアップ言語とともに用いることに関する。より具体的には、本発明の実施形態は正しいＺオーダーでディスプレイリストを生成することに関する。本発明の実施形態では、植字プログラムがＺオーダーの処理をネイティブにサポートするのではなく、マークアップ言語が、文書処理プログラムが文書内のアイテムのｚ−ｉｎｄｅｘを設定することを可能にする。
【００１３】
本発明の一実施形態において、限定はしないがＭｉｃｒｏｓｏｆｔ（登録商標）Ｗｏｒｄ等の文書処理プログラムによって生成される文書は、テキスト、画像、ベクトルグラフィックス等のアイテムを含む。Ｍｉｃｒｏｓｏｆｔは、米国ワシントン州シアトル所在のＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎの登録商標である。本発明の一実施形態において、文書処理プログラムは文書をＯＯＸＭＬ等のマークアップ言語形式で表現する。さらに、本発明の一実施形態では、マークアップ言語形式の文書を処理すると、結果として文書内の画像またはベクトルグラフィックスに対応する一または複数のハイレベルグラフィックス（ＨＬＧ：Ｈｉｇｈ−Ｌｅｖｅｌ  Ｇｒａｐｈｉｃｓ）オブジェクトが作成される。
【００１４】
本発明の一実施形態において、文書上の各アイテム（すなわち、テキスト、画像、またはベクトルグラフィックス）は、ｘ座標およびｙ座標を用いて位置決めされ得る。さらに、（文書内の画像またはベクトルグラフィックスに対応する）各ＨＬＧオブジェクトは、さらに別の座標であるｚ−ｉｎｄｅｘを用いて位置決めされ得る。ｚ−ｉｎｄｅｘは、ＨＬＧオブジェクトが本文の背面にあるか、本文と揃っているか、それとも本文の前面にあるか指定する。言い換えると、文書内の本文（例えば、テキストボックスに含まれないテキスト等）は、文書のインライン面（ｉｎ−ｌｉｎｅ  ｐｌａｎｅ）上に位置する。さらに、ＨＬＧオブジェクトは、（ｉ）例えば背景画像としてインライン面の背面に位置していてもよく、（ｉｉ）例えばテキストと並んで配置されるテキストとしてインライン面上に位置していてもよく、（ｉｉｉ）例えば重ね合わせ画像としてインライン面の前面に位置していてもよい。
【００１５】
本発明の一実施形態では、ｚ−ｉｎｄｅｘ＜０はＨＬＧオブジェクトがインライン面の背面に位置することを示し、ｚ−ｉｎｄｅｘ＝０はＨＬＧオブジェクトがインライン面に位置することを示し、ｚ−ｉｎｄｅｘ＞０はＨＬＧオブジェクトがインライン面の前面に位置することを示す。本発明の一または複数の実施形態では、ｚ−ｉｎｄｅｘは、整数または実数として指定され得る。所与のＨＬＧオブジェクトがインライン面の背面にあるか、インライン面にあるか、それともインライン面の前面にあるか指示するのに他の規則が用いられてもよいことを当業者は理解するであろう。図５に、前述の様々な面にＨＬＧオブジェクトを有するページの一例を示す。
【００１６】
図１に本発明の実施形態によるコンピューターシステムを示す。図１に示すように、コンピューターシステム（１００）は、一または複数のコンピューティングプロセッサー（１０２）と、関連付けられたメモリー（１０４）（ランダム・アクセス・メモリー（ＲＡＭ）、キャッシュメモリー、フラッシュメモリー等）と、内部および／または外部記憶装置（１０６）（ハードディスク、コンパクト・ディスク・ドライブやデジタル・ビデオ・ディスク（ＤＶＤ）ドライブ等の光ドライブ、フラッシュ・メモリー・スティック、ユニバーサル・シリアル・バス（ＵＳＢ）ドライブ、スマートカード等）と、今日のコンピューターに典型的な他の多数の要素および機能（不図示）と、を含む。またシステム（１００）は、キーボード（１０８）、（モニター（１１２）において実行され得る）タッチスクリーン、マウス（１１０）、またはマイクロフォン（不図示）等の入力手段も含み得る。さらに、コンピューターシステム（１００）は、モニター（１１２）（液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、陰極線管（ＣＲＴ）モニター等）や、プリンター（１１６）等の出力手段も含み得る。コンピューターシステム（１００）は、有線または無線のネットワークインターフェース接続（不図示）を介してネットワーク（１１４）（ローカル・エリア・ネットワーク（ＬＡＮ）、インターネット等の広域ネットワーク（ＷＡＮ）、他の任意の種類のネットワーク等）に接続され得る。図１に示すように、コンピューターシステムは、ネットワーク（１１４）を用いてプリンター（１１６）に接続するように構成される。これに加えて、または代替として、コンピューターシステムは、限定はしないが、Ｂｌｕｅｔｏｏｔｈ（登録商標）、有線接続、ピア・ツー・ピア・ネットワーク等の直接の有線または無線の通信機構を用いて、プリンターと直接通信する機能を含んでいてもよい。Ｂｌｕｅｔｏｏｔｈは米国ワシントン州ベルビュー所在のＢｌｕｅｔｏｏｔｈ  ＳＩＧ，Ｉｎｃ．の登録商標である。
【００１７】
多種多様なコンピューターシステムが存在し、前述の入力および出力の手段は他の形も取り得ることを当業者は理解するであろう。一般には、コンピューターシステム（１００）は、本発明の実施形態を実施するのに必要な少なくとも最小限の処理、入力、および／または出力の手段を含む。
【００１８】
図２に本発明の実施形態によるプリンターを示す。プリンター（２００）は、ファームウェア（２０２）と、メモリー（２０４）と、（一または複数の）特定用途向け集積回路／フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）（２０６）と、２次記憶装置（２０８）と、（一または複数の）入力／出力インターフェース（２１０）と、（一または複数の）プロセッサー（２１２）と、印刷エンジン（２１４）とを含む。以下で、これらの各構成要素について説明する。
【００１９】
本発明の一実施形態では、ファームウェア（２０２）は、プロセッサー（２１２）および／またはＡＳＩＣ／ＦＰＧＡ（２０６）が実行するためのコンピューター可読プログラムコードを含み得る。本発明の一実施形態では、コンピューター可読プログラムコードは、図３および図４Ａ〜４Ｄに示すステップのうちの一または複数を実行するための命令を含む。加えて、コンピューター可読プログラムコードは、プリンターを起動し、シャットダウンするための命令、ならびにプリンター（２００）の外部の装置との間でデータを送受信するための命令も含み得る。
【００２０】
本発明の一実施形態では、メモリー（２０４）は、揮発性メモリー（ランダム・アクセス・メモリー（ＲＡＭ）、キャッシュメモリー等）および／または不揮発性メモリー（フラッシュメモリー等）を含み得る。メモリーは、図３および図４Ａ〜４Ｄに示す一または複数の方法ステップの実行時に生成されるデータを記憶するように構成され得る。
【００２１】
本発明の一実施形態では、２次記憶装置（２０８）は、不揮発性メモリー（フラッシュメモリー等）および／または外部記憶装置（ハードディスク等）に対応する。２次記憶装置（２０８）は、図３および図４Ａ〜４Ｄに示す一または複数の方法ステップの実行時に生成されるデータを含み得る。
【００２２】
本発明の一実施形態では、（一または複数の）入力／出力インターフェース（２１０）は、プリンターの外部の装置にデータを送信し、かつ／またはプリンターの外部の装置からデータを受信するように構成される。入力／出力インターフェースの例には、限定はしないが、無線ネットワークインターフェース、有線ネットワークインターフェース、シリアルインターフェース、ユニバーサル・シリアル・バス（ＵＳＢ）インターフェース、Ｂｌｕｅｔｏｏｔｈ（登録商標）インターフェース、パラレルインターフェース等が含まれる。
【００２３】
本発明の一実施形態では、（一または複数の）プロセッサー（２１２）は、ファームウェア（２０２）と、２次記憶装置があれば２次記憶装置とに記憶されたコンピューター可読プログラムコードを実行するように構成される。
【００２４】
任意選択で、プリンターはＡＳＩＣおよび／またはＦＰＧＡ（２０６）を含んでいてもよい。ＡＳＩＣおよび／またはＦＰＧＡは、コンピューター可読プログラムコードの実行を円滑に行わせる専用ハードウェアを含み得る。代替として、またはこれに加えて、ＡＳＩＣおよび／またはＦＰＧＡは、図３および図４Ａ〜４Ｄに示す方法ステップのうちの一または複数を実行するように構成されてもよい。これらの実施形態では、コンピューター可読プログラムコードは、ＡＳＩＣおよび／またはＦＰＧＡの構成が対象とする図３および図４Ａ〜４Ｄに示す方法ステップのうちの一または複数を、ＡＳＩＣおよび／またはＦＰＧＡに実行させるための適切なメソッド呼出しを含み得る。
【００２５】
本発明の一実施形態では、印刷エンジン（２１４）は、印刷文書を生成するように構成される。したがって印刷エンジンは、トナーおよび／またはインクを紙やプラスチック等の印刷媒体に付着させる機能を含み得る。プリンター（２００）は、レーザープリンター、インクジェットプリンター、またはコピー機として実施され得る。
【００２６】
図３および図４Ａ〜４Ｅに、本発明の一または複数の実施形態によるフローチャートを示す。これらのフローチャートにおける様々なステップは順次に提示され、記述されているが、これらステップのうちの一部または全部が異なる順序で実行されたり、組み合わされたり、もしくは省略されたりしてもよく、これらのステップの一部または全部が並列に実行されてもよいことを当業者は理解するであろう。
【００２７】
図３を参照すると、ステップ３００では、プリンターにより印刷ジョブが受け取られる。この印刷ジョブはマークアップ言語（ＯＯＸＭＬ等）で符号化された文書についてのものである。ステップ３０２では、文書に対応するマークアップ言語データが処理されてディスプレイリストが生成される。本発明の一実施形態では、ディスプレイリストは、文書内のページ上のコンテンツをラスタ化するのに必要とされるすべての情報を含む。前述の情報の例には、限定はしないが、ベクトルグラフィックスの形状を記述する情報、画像データを記述する情報、色や不透明度等の、テキスト、画像、およびベクトルグラフィックスの属性を記述する情報等が含まれ得る。ステップ３０２の実施形態については、以下で図４Ａ〜４Ｅを参照して説明する。
【００２８】
ステップ３０４では、文書についてのラスタ化データがディスプレイリストを用いて生成される。ラスタ化データの非限定的例には、空間的にマップされた画素の配列であるピックスマップと、空間的にマップされたビットの配列であるビットマップとが含まれる。本発明の一実施形態では、ラスタ化データの生成は、典型的にはポリゴンを用いて記述される３次元画面を取得し、その３次元画面を２次元表面上にレンダリングすることによって実現され得る。そのような場合、ポリゴンは、三角形の集合体として表現され得る。三角形は、３次元空間おいて３つの頂点により表現され得る。１つの頂点は、１点、１辺の終点、またはポリゴンの２辺が交わる角を規定する。このように、ラスタ化により、頂点の軌跡（Ｓｔｒｅａｍ）を、対応する２次元の点に変換し、変換された２次元の三角形を塗りつぶすことができる。ラスタ化時に、ラスタ化されたデータはプリンター上のメモリーに記憶され得る。ステップ３０６では、任意選択で後処理が行われ得る。例えば、ラスタ化データに対して、ハーフトーニング、トラッピング等の様々な操作が行われ得る。ステップ３０８では、ラスタ化データは、印刷エンジンにより、文書の画像が付着された印刷媒体（すなわちハードコピー文書）を生成するのに用いられる。
【００２９】
図４Ａ〜４Ｅには、図３のステップ３０２の様々な実施形態が説明されている。図４Ａを参照すると、ステップ４００では、マークアップ言語データが構文解析されて、テキスト、ベクトルグラフィックス、画像等の文書内のアイテムが識別される。
【００３０】
ステップ４０２では、処理すべきアイテムが選択される。ステップ４０４では、そのアイテムがベクトルグラフィックスまたは画像に対応するか否かについての判定が行われる。アイテムがベクトルグラフィックスまたは画像に対応する場合、プロセスはステップ４０６に進み、そうでない場合、プロセスはステップ４１０に進む。ステップ４０６では、ベクトルグラフィックスまたは画像に対応するＨＬＧオブジェクトが作成される。ステップ４０８では、ステップ４００のマークアップ言語データの構文解析から得られた情報を用いて、ＨＬＧオブジェクトのｚ−ｉｎｄｅｘが設定される。次いでプロセスはステップ４１０に進む。
【００３１】
ステップ４１０では、植字プログラム入力ファイル内に、ステップ４０２で識別されたアイテムについてのエントリーが生成される。本発明の一実施形態では、植字プログラムはＴｅＸである。本発明は他の植字プログラムをカバーするようにも拡張され得ることを当業者は理解するであろう。ベクトルグラフィックスまたは画像に対応するアイテムについて、生成されるエントリーは、（ステップ４０６で生成された）ＨＬＧオブジェクトを指し示すポインターを含む。本発明の一実施形態では、ＨＬＧオブジェクトに対応するアイテムは、植字プログラム・レイアウト・エンジンにより無視されるコマンドにカプセル化される。例えば、植字プログラムがＴｅＸである場合には、ＨＬＧオブジェクトに対応するアイテムは、「＼ｓｐｅｃｉａｌ」コマンドを用いてカプセル化され得る。この実施形態では、ＴｅＸレイアウトエンジンは「＼ｓｐｅｃｉａｌ」コマンドを用いてカプセル化されたすべてのアイテムを無視する。図４Ａを続けると、ステップ４１２では、処理すべき別のアイテムがあるか否かについての判定が行われる。処理すべき別のアイテムがある場合、プロセスはステップ４０２に進み、そうでない場合、プロセスは図４Ｂのステップ４１３に進む。
【００３２】
この段階では、植字プログラム入力ファイルが生成されている。植字プログラム入力ファイルは、図４Ｂ〜４Ｅに示すように、対応するディスプレイリストを生成するために引き続き処理される。
【００３３】
図４Ｂを参照すると、ステップ４１３では、植字プログラム入力ファイルは植字プログラム・レイアウト・エンジン（ＴｅＸレイアウトエンジン等）に送られる。ステップ４１４で、植字プログラム・レイアウト・エンジンは、植字プログラム入力ファイルを用いて植字プログラム出力ファイルを生成する。植字プログラム出力ファイルは、限定はしないが、ＨＬＧオブジェクトを指し示すポインター、（対応するバウンディングボックス情報を用いて決定される）ＨＬＧオブジェクトのレイアウト、文書のインライン面上のテキスト、テキストのフォント、テキストの色、ならびに先頭ページおよび末尾ページの標識を含む。本発明の一実施形態では、植字プログラム出力ファイルは、デバイス非依存ファイル形式（ＤＶＩ）である。
【００３４】
ステップ４１６では、植字プログラム入力ファイル内のすべてのＨＬＧオブジェクトがｚ−ｉｎｄｅｘ＝０であるｚ−ｉｎｄｅｘを有するか否かについての判定が行われる。植字プログラム入力ファイル内のすべてのＨＬＧオブジェクトがｚ−ｉｎｄｅｘ＝０であるｚ−ｉｎｄｅｘを有する場合、プロセスはステップ４１８に進み、そうでない場合、プロセスはステップ４２８に進む。
【００３５】
ステップ４１８では、植字プログラム出力ファイルの処理が開始され、植字プログラム出力ファイルが構文解析されて植字プログラム出力ファイル内のエントリーが取得され、続いてそのうちの１つのエントリーが選択される。ステップ４２０では、エントリーがＨＬＧオブジェクトに対応するか否かについての判定が行われる。エントリーがＨＬＧオブジェクトに対応しない場合には、プロセスはステップ４２２に進み、そうでない場合には、プロセスはステップ４２４に進む。
【００３６】
ステップ４２２では、エントリーが処理されて、対応するエントリーがディスプレイリスト内に生成される。次いでプロセスはステップ４２６に進む。ステップ４２４では、エントリーが処理されて、対応するエントリーがディスプレイリスト内に生成される。次いでプロセスはステップ４２６に進む。本発明の一実施形態では、処理ステップ４２４は、（ｉ）ＨＬＧオブジェクトが（ベクトルグラフィックスではなく）画像についてのものである場合には、ＨＬＧオブジェクト内のネイティブ画像データへの参照を用い、（ｉｉ）グラフィックスライブラリーを呼び出して、ディスプレイリスト上に配置するための適切なグラフィックスプリミティブを生成することを含み得る。
【００３７】
ステップ４２６では、処理すべき別のエントリーが植字プログラム出力ファイル内にあるか否かについての判定が行われる。処理すべき別のエントリーが植字プログラム出力ファイル内にある場合には、プロセスはステップ４１８に進み、そこで別のエントリーが選択され、そうでない場合には、プロセスは終了する。ステップ４２８では、ページごとにＨＬＧオブジェクト記録が行われて、印刷ジョブ内のページごとのアイテムハンドル（ＩｔｅｍＨａｎｄｌｅ）リストが生成される。ステップ４２８については図４Ｃに詳細に説明されている。ステップ４３０では、植字プログラム出力ファイルと、ステップ４２８で生成されたアイテムハンドルリストとを用いてディスプレイリストが生成される。ステップ４３０については図４Ｄおよび図４Ｅに詳細に説明されている。
【００３８】
図４Ｃを参照すると、ステップ４３２の前に、植字プログラム出力ファイルの構文解析が開始されて一連のエントリーが生成される。ステップ４３２では、ページの先頭に対応する（植字プログラム出力ファイルの構文解析であるプロセスから出力された）エントリーが受け取られる。ステップ４３４では、そのページについてのアイテムハンドルリストが作成される。ステップ４３６では、そのページからの（植字プログラム出力ファイルの構文解析であるプロセスから出力された）エントリーが受け取られる。ステップ４３８では、そのエントリーがページの末尾に対応するか否かについての判定が行われる。エントリーがページの末尾に対応する場合、プロセスはステップ４４４に進み、そうでない場合、プロセスはステップ４４０に進む。
【００３９】
ステップ４４０では、エントリーがＨＬＧオブジェクトに対応するか否かについての判定が行われる。アイテムがＨＬＧオブジェクトに対応する場合、プロセスはステップ４４２に進み、そうでない場合、プロセスはステップ４３６に進む。
【００４０】
ステップ４４２では、ＨＬＧオブジェクトのアイテムハンドルが、ステップ４３４で作成されたページについてのアイテムハンドルリストに追加される。ＨＬＧオブジェクトのアイテムハンドルは、ＨＬＧオブジェクトを指し示すポインターとページ上でのＨＬＧの位置とを含む。ステップ４４４では、植字プログラム出力ファイル内に別の未処理のエントリーが残っているか否かについての判定が行われる。植字プログラム出力ファイル内に別の未処理のエントリーが残っている場合、プロセスはステップ４３２に進み、そうでない場合、プロセスは終了する。
【００４１】
図４Ｄを参照すると、ステップ４４６の前に、植字プログラム出力ファイルの構文解析が開始されて一連のエントリーが生成される。植字プログラム出力ファイルはステップ４１４で生成される植字プログラム出力ファイルに対応していてもよく、植字プログラムが植字プログラム入力ファイルを再処理して新しい植字プログラム出力ファイルを生成することにより生成される植字プログラム出力ファイルに対応していてもよい。
【００４２】
ステップ４４６を参照すると、ページの先頭に対応する（植字プログラム出力ファイルの構文解析であるプロセスから出力された）エントリーが受け取られる。ステップ４４８では、ステップ４４６で識別されたページについてのアイテムハンドルリストが取得される。ステップ４５０では、ステップ４４８で取得されたアイテムハンドルリスト内の、ｚ−ｉｎｄｅｘ＜０であるｚ−ｉｎｄｅｘを有するすべてのアイテムハンドルが識別される。
【００４３】
ステップ４５２では、ステップ４５０で識別されたすべてのアイテムハンドルが処理されて、ディスプレイリスト上に適切なエントリーが生成される。本発明の一実施形態では、アイテムハンドルの処理は、アイテムハンドルで指定されたポインターを用いてＨＬＧオブジェクトを取得すること、および適切なグラフィックス・ライブラリー・ルーチンを呼び出して対応するエントリーをディスプレイリスト上に生成することを含む。ステップ４５２が完了した後には、インライン面の背面にあるすべてのＨＬＧオブジェクトが処理され、ディスプレイリストに追加されている。次いでプロセスは引き続き図４Ｅの各ステップを実行する。
【００４４】
図４Ｅを参照すると、図４Ｅには、植字プログラム出力ファイル内のインライン面上のテキストおよびＨＬＧオブジェクトの処理が詳述されている。ステップ４７０を見ると、ステップ４７０では、ページからの（植字プログラム出力ファイルの構文解析であるプロセスから出力された）エントリーが受け取られる。ステップ４７２では、そのエントリーがページの末尾に対応するか否かについての判定が行われる。エントリーがページの末尾に対応する場合、プロセスは終了に進み、そうでない場合、プロセスはステップ４７４に進む。
【００４５】
ステップ４７４では、エントリーがＨＬＧオブジェクトに対応するか否かについての判定が行われる。アイテムがＨＬＧオブジェクトに対応する場合、プロセスはステップ４７６に進み、そうでない場合、プロセスはステップ４８０に進む。ステップ４７６では、ＨＬＧオブジェクトのｚ−ｉｎｄｅｘが０であるか否かについての判定が行われる。ＨＬＧオブジェクトのｚ−ｉｎｄｅｘが０である場合、プロセスはステップ４７８に進み、そうでない場合、プロセスはステップ４７０に進む。ステップ４７８では、ＨＬＧオブジェクトが処理されてディスプレイリスト上に適切なエントリーが生成される。本発明の一実施形態では、ＨＬＧオブジェクトの処理は、アイテムハンドルで指定されたＨＬＧオブジェクトを指し示すポインターを用いること、および適切なグラフィックス・ライブラリー・ルーチンを呼び出して対応するエントリーをディスプレイリスト上に生成することを含む。次いでプロセスはステップ４７０に進む。ステップ４８０では、エントリーが処理されて、対応するエントリーがディスプレイリスト内に生成される。ステップ４８０は本質的に、図４Ｂを参照して前述したステップ４２２と同じである。次いでプロセスはステップ４７０に進む。
【００４６】
図４Ｄに戻って、ステップ４５６では、ステップ４４８で取得されたアイテムハンドルリスト内の、ｚ−ｉｎｄｅｘ＞０であるｚ−ｉｎｄｅｘを有するすべてのアイテムハンドルが識別される。ステップ４５８では、ステップ４５６で識別されたすべてのアイテムハンドルが処理されて、ディスプレイリスト上に適切なエントリーが生成される。本発明の一実施形態では、アイテムハンドルの処理は、アイテムハンドルで指定されたポインターを用いてＨＬＧオブジェクトを取得すること、および適切なグラフィックス・ライブラリー・ルーチンを呼び出して対応するエントリーをディスプレイリスト上に生成することを含む。ステップ４５８が完了した後には、インライン面の前面にあるすべてのＨＬＧオブジェクトが処理され、ディスプレイリストに追加されている。次いでプロセスはステップ４６０に進む。
【００４７】
ステップ４６０では、ページの処理が完了する。本発明の一実施形態では、ページの処理の完了は、ページの処理を完了するのに必要とされる他の任意のグラフィックス・ライブラリー・ルーチンまたは他のプロセスを呼び出すことを含み得る。ステップ４６２では、植字プログラム出力ファイル内に未処理のエントリーがあるか否かについての判定が行われる。植字プログラム出力ファイル内に未処理のエントリーがある場合、プロセスはステップ４４６に進み、そうでない場合、プロセスは終了する。
【００４８】
以下の例は、本発明の様々な実施形態を例示するものであり、本発明の範囲を限定するためのものではない。
【００４９】
図５に、３つのＨＬＧオブジェクトおよびテキストを含むページ例（５９９）を示す。図５に示すように、ＨＬＧ  Ａ（５０２）はインライン面の背面にあり、ＨＬＧ  Ｂ（５０４）およびテキスト（５０５）はインライン面上にあり、ＨＬＧ  Ｃ（５０６）はインライン面の前面にある。本発明の一または複数の実施形態によれば、ＨＬＧ  Ａ（５０２）のｚ−ｉｎｄｅｘは０より小さく、ＨＬＧ  Ｂ（５０４）のｚ−ｉｎｄｅｘは０であり、ＨＬＧ  Ｃ（５０６）のｚ−ｉｎｄｅｘは０より大きい。
【００５０】
図６に、本発明の一または複数の実施形態によるソフトウェアアーキテクチャーの例を示す。このソフトウェアアーキテクチャーは、コンピュータ・プログラム・コードとして実施される以下のモジュールを含む。すなわち、ＯＯＸＭＬパーサー（６００）、ＯＯＸＭＬフロントエンド（ＯＦＥ）（６０２）、ＴｅＸレイアウトエンジン（６０４）、ＯＯＸＭＬバックエンド（ＯＢＥ）（６０６）、およびＴｅＸ出力ファイルパーサー（６０８）、およびグラフィックスライブラリー（６１０）を含む。以下で、これらの各構成要素について説明する。
【００５１】
ＯＯＸＭＬパーサー（６００）は、ＯＯＸＭＬで符号化された文書を受け取り、続いてその文書を構文解析して構文解析されたＯＯＸＭＬデータを取得するように構成される。次いで、構文解析されたＯＯＸＭＬデータはＯＦＥ（６０２）に転送される。ＯＦＥ（６０２）は、上記図４Ａに示す各ステップを行ってＴｅＸ入力ファイルを生成するように構成される。ＯＦＥ（６０２）はさらに、ＴｅＸ入力ファイルが、ｚ−ｉｎｄｅｘ≠０であるｚ−ｉｎｄｅｘを有するＨＬＧオブジェクトを含むか否か判定する（図４Ｂのステップ４１６）ように構成される。
【００５２】
ＴｅＸ入力ファイルはＴｅＸレイアウトエンジン（６０４）に転送されて、ＴｅＸ出力ファイルが生成される。続いてＴｅＸ出力ファイルは、ＴｅＸ出力ファイルパーサー（６０８）、ＯＢＥ（６０６）およびグラフィックスライブラリー（６１０）によって（あるいは、より具体的には、グラフィックスライブラリー（６１０）内のルーチンを用いて）処理される。
【００５３】
ＴｅＸ出力ファイルパーサー（６０８）は、ＴｅＸ出力ファイルを構文解析し、構文解析の結果をＯＢＥ（６０６）に転送するように構成される。ＯＢＥ（６０６）は、ステップ４２８を実行することによりＴｅＸ出力ファイルの構文解析の結果の第１のパスを実行し、アイテムハンドルリストを維持するように構成される。ＯＢＥ（６０６）はさらに、ステップ４３０を実行することによりＴｅＸ出力ファイルの構文解析の結果の第２のパスを実行するように構成される。
【００５４】
グラフィックスライブラリー（６１０）は、文書内のテキスト、画像、およびベクトルグラフィックスのためにディスプレイリスト上に適切なエントリーを生成するのに必要なルーチンを含む。ＯＢＥ（６０６）は、グラフィックスライブラリーを呼び出して、対応するエントリーをディスプレイリスト上に生成するためのルーチンの実行を開始するように構成される。
【００５５】
本発明の実施形態は印刷文書の生成に用いるためのディスプレイリストを生成することを対象としているが、本発明の実施形態は、モニター等のディスプレイ上に画像を出力するためのディスプレイリストの生成にも用いられ得ることを当業者は理解するであろう。
【００５６】
本発明の実施形態を実行するためのコンピューター可読プログラムコードは、コンパクトディスク（ＣＤ）、ディスケット、テープ、物理メモリー、あるいは、本発明の実施形態を実行するためのコンピューター可読プログラムコードを記憶する機能を含む他の任意の物理的なコンピューター可読記憶媒体等のコンピューター可読媒体上に記憶され得る。本発明の一実施形態では、コンピューター可読プログラムコードは、（一または複数の）プロセッサーによって実行されると、本発明の実施形態を実行するように構成される。
【００５７】
本発明は限られた数の実施形態について説明されているが、本開示の利益を有する当業者は、ここで開示する本発明の範囲を逸脱しない、他の実施形態を考案することもできることを理解するであろう。したがって、本発明の範囲は、添付の特許請求の範囲によってのみ限定されるべきものである。
【図１】
0005603295.tif 000002
【図２】
0005603295.tif 000003
【図３】
0005603295.tif 000004
【図４Ａ】
0005603295.tif 000005
【図４Ｂ】
0005603295.tif 000006
【図４Ｃ】
0005603295.tif 000007
【図４Ｄ】
0005603295.tif 000008
【図４Ｅ】
0005603295.tif 000009
【図５】
0005603295.tif 000010
【図６】
0005603295.tif 000011