説明

ページ記述言語を処理するシステム、方法及びコンピュータ可読媒体

【課題】サポートされる固有のPDL文書を処理することのできる能力を保持しつつ、PPMLページ記述に埋め込まれたPDLオブジェクトを処理する方法を提供する。
【解決手段】PPML印刷データを構文解析して、少なくとも1つのクライアントPDLで書かれた言語オブジェクトを識別することもできる。次いで、言語エントリポイント関数を使ってそのクライアントPDLのための言語プロセッサを呼び出すことができる。いくつかの実施形態においては言語エントリテーブルまたは言語エントリポイントのテーブルを使ってPDLを言語エントリポイント関数にマップすることもできる。また、クライアントPDL言語プロセッサを使ってPDLオブジェクトを処理するときにPPMLレイアウトに従ってページレイアウトデータを処理する方法も提示される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は印刷の分野に関し、詳しくは、PPML(Personalized Print Markup Language)のコンテキストにおいてページ記述言語(PDL)を処理するシステム、方法及びコンピュータ可読媒体に関する。
【背景技術】
【0002】
文書処理ソフトウェアによれば、ユーザは、文書を都合よく閲覧し、編集し、処理し、記憶することができる。文書中のページは、それらが印刷物に現れるとおりに、スクリーン上に正確に表示されうる。しかしながら、文書を印刷する前に、データは、プリンタが認識し、使用することのできる形に変換されなければならない。このために、文書内の各ページはしばしばページ記述言語(PDL)で記述される。PDLは、視認可能な所望の出力セットを生成するためにプリンタまたは表示装置に送ることのできる命令を作成するのに使用される。これらの命令は一般に、最終的な出力が物理媒体に対するものでないときでさえも、視認可能な出力のレイアウトを記述する手段を含む。本出願で使用する場合、PDLには、ポストスクリプト(商標)、アドビ(商標)PDF、HP(商標)PCL(商標)、マイクロソフト(商標)XPS(商標)、およびこれらの変形、ならびに文書内のページを記述するのに使用される他の言語が含まれ得る。
【0003】
文書のPDL記述によれば、文書中のそれぞれのページのハイレベルな記述がもたらされる。このPDL記述は、文書が印刷されるときには、多くの場合、一連のよりローレベルなプリンタ特有コマンドへ翻訳される。プリンタまたは印刷装置はローレベルなプリンタ特有コマンドを使って印刷媒体上に印をつけることができる。PDLの様々な特徴は用途によって異なる利点を提供する。例えばPDLの中にはより優れた、または高速な印刷性能を提供することのできるものもあり、或る種の視認可能なデータおよび/またはグラフィックアプリケーションを用いてより高品質のグラフィックスを提供することのできるものもある。
【0004】
PDL言語の1つのクラスはPPML規格によって管理(governed)されるものを含んでおり、このPPMLはテキスト要素およびグラフィック要素をプリンタ言語が識別し、格納し、再利用することを可能にする。PPMLはXMLベースの言語とすることができ、テキスト要素およびグラフィック要素を格納、再利用させて、ラスタ化および帯域幅のオーバーヘッド(overheads)を低減することにより、特定の印刷ジョブの印刷を高速化することができる。PPMLはプリンタにページレベルではなくオブジェクトレベルでデータ構成要素を操作することを可能にする。言い換えると、プリンタにより格納される情報の細かさ(granularity)をオブジェクトレベルまで下げることにより、PPMLは、可変データ印刷ジョブの印刷プロセスの間に、必要に応じてコードがオブジェクトに名前を付し、これらのオブジェクトを再利用することを可能にする。
【発明の概要】
【発明が解決しようとする課題】
【0005】
PPMLが導入される以前、印刷アーキテクチャは、単一のPDLで書かれた命令が提供され、PDLが処理されて、印刷されるページのレイアウトが決定され、書式設定されるというフレームワークを使って開発された。この意味では、非PPML PDLは、各PDLがページのレイアウトおよびその内容を別々に記述する特有の手法を有するという点においてページベースの言語である。また、言語の決定、選択、開始といった、印刷アーキテクチャの他の特徴もこのフレームワークに基づくものであった。
【0006】
PPMLを導入する場合、1ページの各部分をレンダリングするのに1つ以上のPDLが呼び出され、ページレイアウト方法や言語識別方法といった標準的なページベースの処理方法がPPMLコンテキストにおける使用のために適合され得る。したがって、言語処理をページベースのコンテキストで行わせる機能を保持しつつ、従来からの単一のページフレームワークに単一のPDL、というコンテキストの枠外でのPDL言語処理を行う柔軟で効率の良い方式が求められている。
【課題を解決するための手段】
【0007】
本発明によれば、印刷リソース管理のためのシステム、方法及びコンピュータ可読媒体が提供される。いくつかの実施形態においては、少なくとも1つの文書ページのPPML印刷データを処理する方法であって、前記PPML印刷データは、少なくとも1つのクライアントページ記述言語(PDL)で記述された少なくとも1つの言語オブジェクトを備えており、当該方法は、前記少なくとも1つの文書ページの前記PPML印刷データを構文解析して、前記少なくとも1つのクライアントPDLで書かれた少なくとも1つの言語オブジェクトを識別するステップと、前記少なくとも1つの言語オブジェクトを、前記少なくとも1つのクライアントPDLのための言語エントリポイント関数にマップするステップと、前記言語エントリポイント関数を使って前記少なくとも1つのクライアントPDLのための前記言語プロセッサを呼び出すステップと、前記少なくとも1つのクライアントPDLのための前記言語プロセッサを使って、前記少なくとも1つの言語オブジェクトを処理するステップとを含む方法が提供される。
【0008】
また本発明の実施形態は、PDLを使ってページレイアウト命令を処理する方法にも関連するものである。以下の各図に関連して上記その他の実施形態を以下でさらに説明する。
【図面の簡単な説明】
【0009】
【図1】文書を印刷するシステムにおける構成要素を示すブロック図である。
【図2】例示的プリンタを示すハイレベルなブロック図である。
【図3】PDLを使ったページ記述処理のシステムのハイレベルなアーキテクチャの例を示す図である。
【図4】従来のページ記述言語の処理例を示すフローチャートである。
【図5】PPMLと1つ以上のクライアントPDLを使ったページ記述処理のシステムのハイレベルなアーキテクチャの例を示す図である。
【図6】1つ以上の言語で書かれたPDLオブジェクトを組み込んだPPMLデータを処理するアルゴリズムの一例における各部分を示すフローチャートである。
【図7】PPMLを使ってPDLを処理するシステムにおいて使用するための言語エントリポイントのテーブルの例を示す図である。
【発明を実施するための形態】
【0010】
本発明の様々な特徴を反映する実施形態によれば、ページベースのコンテキストの外部でPDL言語を処理するシステム、方法及びコンピュータ可読媒体が提示される。加えて、ページベースのコンテキストにおいてPDL命令を処理することのできる能力を維持しながら、ページベースのコンテキストの外部でPDL命令を処理するシステム、方法及びコンピュータ可読媒体も提示される。
【0011】
図1に、本発明のいくつかの実施形態によって文書を印刷するシステムにおける構成要素を例示するブロック図を示す。図1に示すように、本発明と整合性を有するコンピュータソフトウェアアプリケーションはコンピュータネットワーク上で展開することができ、このネットワークは、従来の通信プロトコルおよび/またはデータポートインターフェースを使って情報が交換されることを可能にする通信リンクを介して接続されている。
【0012】
図1に示すように、例示的なシステム100には、演算装置110とサーバ130とを含む複数のコンピュータが備えられる。さらに演算装置110とサーバ130とはコネクション120を介して通信し、コネクション120はネットワーク140を通る。ネットワーク140は、一例ではインターネットとすることもできる。演算装置110はコンピュータワークステーション、デスクトップコンピュータ、ラップトップコンピュータ、またはネットワーク環境で使用することのできる他の演算装置とすることができる。サーバ130は、演算装置110およびその他の装置(図示しない)に接続することのできるプラットフォームとすることができる。演算装置110とサーバ130とは、プリンタ170を使った文書の印刷を可能にするソフトウェア(図示しない)を実行することもできる。
【0013】
例示的なプリンタ170は電子データから物理文書を生成する装置を含んでおり、この装置にはレーザプリンタ、インクジェットプリンタ、LEDプリンタ、プロッタ、ファクシミリ装置、およびディジタル複写機が含まれるが、これらに限定されない。いくつかの実施形態においては、プリンタ170は、演算装置110またはサーバ130からコネクション120を介して受信した文書を直接印刷することもできる。いくつかの実施形態においては、このような構成は、演算装置110またはサーバ130による追加の処理を伴って(またはこれを伴わずに)、文書の直接印刷を可能にする。いくつかの実施形態においては、文書はテキスト、グラフィックス、およびイメージのうちの1つ以上を含む。いくつかの実施形態においては、プリンタ170は印刷用の文書のPDLまたはPPML記述を受け取る。また、文書印刷処理を分散させることもできることに留意されたい。よって、演算装置110、サーバ130、および/またはプリンタ170は、文書がプリンタ170によって物理的に印刷される前に、ハーフトーニング、カラーマッチング、および/またはその他の操作プロセスといった文書印刷処理の部分を実行し得る。
【0014】
また演算装置110は着脱可能型メディアドライブ150も含む。着脱可能型メディアドライブ150には、例えば、3.5インチフロッピードライブ、CD−ROMドライブ、DVD−ROMドライブ、CD±RWもしくはDVD±RWドライブ、USBフラッシュドライブ、および/または本発明の実施形態と整合性を有する他の着脱可能型メディアドライブなどが含まれ得る。
【0015】
コネクション120は、演算装置110とサーバ130とプリンタ170とを接続するものであり、従来の通信プロトコルおよび/またはデータポートインターフェースを使った有線または無線の接続として実施され得る。一般にコネクション120は、装置間のデータの伝送を可能にする任意の通信路とすることができる。一実施形態では、例えば各装置は、パラレルポート、シリアルポート、イーサネット(商標)、USB、SCSI、FIREWIRE(商標)、および/または適切な接続を介したデータ伝送用の同軸ケーブルポートといった、従来のデータポートを備える。いくつかの実施形態においては、コネクション120は、ディジタル加入者線(DSL)、非対称ディジタル加入者線(ADSL)、またはケーブル接続とすることができる。通信リンクは無線リンクでも、有線リンクでも、様々な装置間の通信を可能とする本発明の各実施形態と整合性を有する任意の組み合わせとすることもできる。
【0016】
ネットワーク140はローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、またはインターネットを含んでいてもよい。いくつかの実施形態においては、ネットワーク140を介して送られる情報は、送信されるデータのセキュリティを確保するために暗号化することができる。プリンタ170はコネクション120を介してネットワーク140へ接続することができる。いくつかの実施形態においては、プリンタ170は演算装置110および/またはサーバ130に直接接続される。またシステム100は、本発明のいくつかの実施形態によれば、他の周辺装置(図示しない)を含んでいてもよい。本発明と整合性を有するコンピュータソフトウェアアプリケーションは、図1に示すように、例示的コンピュータおよびプリンタのいずれに配備されていてもよい。例えば演算装置110は、サーバ130から直接ダウンロードされるソフトウェアを実行することもできる。いくつかの実施形態においては、ソフトウェアアプリケーションの各部分がリムーバブルメディア上に置かれ、演算装置110により着脱可能型メディアドライブ150を使って読み取られ、実行される。またアプリケーションの各部分は、開示されるいくつかの実施形態によれば、プリンタ170によって実行されてもよい。
【0017】
図2に例示的なプリンタ170のハイレベルなブロック図200を示す。いくつかの実施形態においては、プリンタ170は、中央処理装置(CPU)176、ファームウェア171、メモリ172、入出力ポート175、印刷エンジン177、および補助記憶装置173を接続するバス174を含む。またプリンタ170は、1つ以上の開示の実施形態によれば、PPMLを処理するためのアプリケーションの一部分を実行することのできるその他の特定用途向け集積回路(ASIC)、および/またはフィールドプログラマブルゲートアレイ(FPGA)178を含んでいてもよい。別の実施形態ではプリンタ170は、入出力ポート175およびコネクション120またはネットワーク140を使って、2次記憶メモリまたは演算装置110内のその他のメモリにアクセスすることもできる。いくつかの実施形態においては、プリンタ170は、プリンタオペレーティングシステムおよびその他の適切なアプリケーションソフトウェアを含むソフトウェアを実行することもできる。いくつかの実施形態においては、プリンタ170は、他のオプションのうち、用紙サイズ、排紙トレイ、色選択、および印刷解像度をユーザ設定可能なものにすることができる。
【0018】
いくつかの実施形態においては、CPU176は、汎用プロセッサとすることも、専用プロセッサとすることも、組み込みプロセッサとすることもできる。CPU176は、制御情報および命令を含むデータをメモリ172および/またはファームウェア171と交換することができる。メモリ172は、SDRAMやRDRAMといった任意の種類のダイナミックランダムアクセスメモリ(DRAM)とすることができるが、これらには限定されない。ファームウェア171は、起動シーケンス、事前定義のルーチン、およびその他のコードを含む命令およびデータを保持するが、これらには限定されない。いくつかの実施形態においては、PPMLを処理するためのコードおよびデータがファームウェア171に置かれ、CPU176によって処理される前にメモリ172にコピーされる。ファームウェア171に含まれるルーチンには、演算装置110から受け取られるPDLまたはPPMLページ記述を変換するコードを含めることができる。いくつかの実施形態においては、ファームウェア171は、1つ以上のPDLを含むPPMLを処理するルーチンを含む。またファームウェア171は、ディスプレイリスト中の表示コマンドを適切なラスタ化ビットマップに変換し、そのビットマップをメモリ172に格納するルーチンを含んでいてもよい。またファームウェア171は、圧縮ルーチンおよびメモリマネージメントルーチンを含んでいてもよい。いくつかの実施形態においてはファームウェア171内のデータおよび命令をアップグレード可能とすることもできる。
【0019】
いくつかの実施形態においては、CPU176が命令およびデータに従って動作し、ASIC/FPGA178および印刷エンジン177に制御およびデータを提供して印刷文書を生成する。また、いくつかの実施形態においては、ASIC/FPGA178が印刷エンジン177に制御およびデータを提供する。またASIC/FPGA178は、変換、圧縮、およびラスタ化のアルゴリズムのうちの1つ以上を実施してもよい。いくつかの実施形態においては、演算装置110が文書データを第1の印刷可能データに変換することができる。次いで第1の印刷可能データを、中間印刷可能データに変換するためにプリンタ170に送ることができる。プリンタ170は、中間印刷可能データを最終形態の印刷可能データに変換して、この最終形態に従って印刷を行う。いくつかの実施形態においては、第1の印刷可能データは文書のPDLまたはPPML記述に該当する。
【0020】
いくつかの実施形態においては、文書のPDLまたはPPML記述から、一連のよりローレベルなプリンタ特有コマンドを有する最終印刷可能データへの変換には、オブジェクトのディスプレイリストを有する中間印刷可能データの生成が含まれる。いくつかの実施形態においては、ディスプレイリストはメモリ172または補助記憶装置173に格納される。例示的な補助記憶装置173は、内蔵または外付けハードディスク、メモリスティック、またはシステム200で使用され得る他の記憶装置などとすることができる。いくつかの実施形態においては、ディスプレイリストは、プリンタ170、演算装置110、およびサーバ130のうちの1つ以上に置かれる。
【0021】
図3に、PDLを使ったページ記述処理のシステムのハイレベルなアーキテクチャ300の例を示す。言語選択ルーチン320は、プリンタ170における処理のために受け取られる言語データ310を用いて、印刷ジョブを処理するのに使用されるPDLを決定するために用いることができる。例えば言語選択ルーチン320は、印刷ジョブ内のヘッダデータを調べて印刷ジョブで使用されるPDLを決定することができる。言語選択ルーチン320は、「スニファ(sniffer)」とも呼ばれる。また言語選択ルーチン320は、PDL言語プロセッサ330のエントリポイントを決定し、適切なエントリポイントにおいてPDL言語プロセッサ330を呼び出すこともできる。PDL言語プロセッサ330は、印刷ジョブを処理してPDLに特有のディスプレイリスト350およびページレイアウトデータ340を生成することができる。次いで、ディスプレイリスト350をレンダリングし、印刷エンジン177を使って印刷媒体上に印刷マークを記すことができる。言語選択ルーチン320が関与し、PDL言語プロセッサ330によって実行される処理は、ファームウェア171、CPU176、および/または印刷エンジン177のうちの1つ以上を使って行われてもよく、さらにASIC/FPGA178を利用してもよい。ディスプレイリスト350はメモリ172および/または補助記憶装置173に格納される。また、言語選択ルーチン320が関与し、PDL言語プロセッサ330によって実行される処理の全部または一部は、演算装置110のホストコントローラ内で実施されてもよい。
【0022】
図4に、従来のページ記述言語の処理を説明するフローチャートの例400を示す。図4に示すように、ステップ410では、処理のための印刷ジョブが受け取られる。次にステップ420では、印刷ジョブで使用されるPDLが決定される。ステップ430でアルゴリズムは、PDL言語プロセッサ330を呼び出すためのエントリポイントを決定する。次にステップ440で、PDL言語プロセッサ330が呼び出される。例えば、プリンタ170上で作動している言語選択ルーチン320が、印刷エンジン177によって受け取られる印刷ジョブを処理してエントリポイントを決定し、適切なPDL言語プロセッサ330を呼び出してもよい。
【0023】
ステップ450では、PDL言語プロセッサ330によりPDLに特有のページレイアウトデータ340が決定され、設定される。PDL言語プロセッサ330が呼び出された後、ステップ460では、ディスプレイリスト350またはPDLに特有の印刷データの他の中間形態が作成され、適切なオブジェクトが読み込まれる。次にステップ470では、ディスプレイリスト350がラスタ化され、ステップ480では、ページがレンダリングされる。例えば、ディスプレイリスト350内のオブジェクトは、メモリ172に置かれたフレームバッファにレンダリングされてもよい。従来の処理では、例示的なディスプレイリスト350−1、350−2、および350−3といった別々の互いに異なるディスプレイリストが、それぞれPDL言語プロセッサ330−1、330−2、および330−3によって個々のPDLのために作成され、更新され、保持される。したがって従来の方法では、印刷ジョブにおける新しいPDLの呼び出しにより新しいディスプレイリストが作成され、PDL言語プロセッサ330のうち、その新しいPDLのための1つのPDL言語プロセッサ330によって生成されるオブジェクトを処理する。
【0024】
次にステップ490で、印刷ジョブが完了しているかどうかの判定を行うことができる。印刷ジョブが完了している場合、アルゴリズムは終了し、次のジョブを待つ待機状態に入る。例えば、すべての印刷命令が処理され、各ページがレンダリングされたときに印刷ジョブが完了とマークされ、印刷ジョブが完了し、ステップ495でコントローラがPDL言語プロセッサ330を終了する。印刷ジョブが完了していない場合、アルゴリズムはステップ450に戻り、印刷ジョブの処理が完了するまで後続の各ステップを繰り返す。図3および図4に示すように、従来の処理では、PDL言語プロセッサ330が印刷ジョブ内の命令を処理し、ディスプレイリスト350を作成し、これにデータを読み込むことができる。従来のPDLにおいては、このようなページベースの処理が一般的である。
【0025】
図5に、PPMLと1つ以上のクライアントPDLを使ったページ記述言語処理のシステムのハイレベルなアーキテクチャ500の例を示す。図5に示し、以下でより詳細に論じるように、言語選択ルーチン520、すなわちスニファは、プリンタ170における処理のために受け取られる言語データ510を用いて、印刷ジョブを処理するのに使用されるPDLを決定するために用いることができる。例えば、言語選択ルーチン520は、印刷ジョブ内のヘッダデータを調べて印刷ジョブで使用される言語を決定することができる。一実施形態では、言語選択ルーチン520は、印刷ジョブ内のヘッダデータを解析することにより印刷ジョブをPPMLに分類する。いくつかの実施形態においては、言語選択ルーチン520は、PPML言語プロセッサ530のエントリポイントを決定し、適切なエントリポイントにおいてPPMLを呼び出すことができる。PPML言語プロセッサ530は印刷ジョブを処理して、PPMLに特有のディスプレイリスト560およびページレイアウトデータ540を生成することができる。
【0026】
PPMLで実施される印刷ジョブは、1つ以上の非PPML PDL(non-PPML PDSs)で記述された1つ以上の言語および/またはグラフィックオブジェクトを含むことができる。PPMLは、様々な別個のPDLで書かれた命令をページ記述のために使用させることのできるPDLの一種とみなすことができる。これらの非PPML PDLは、PPML言語プロセッサ530によって呼び出すことができ、しばしばクライアントPDLと呼ばれる。いくつかの実施形態においては、クライアントPDLは、JPEGやTIFF等といったオブジェクトフォーマットおよび画像フォーマットの1つ以上を含むこともできる。クライアントPDLのセットは、印刷ジョブのPPML記述に埋め込むことのできるPDLの範囲を含む。例えば、ページ記述のためのPPML印刷データは、様々な異なるPDLで書かれた言語オブジェクトを使ったグラフィックコンテンツの記述を含むことができる。よってPDLで書かれたページ記述は、Adobe(商標)PDFで記述されたあるグラフィック言語オブジェクトを含むことができ、同時に、同じページ上の別のグラフィック言語オブジェクトをPostScript(商標)で記述することもできる。PPMLは様々なPDLでグラフィック出力を記述することのできる能力を提供するため、特定のオブジェクトを記述する際に個々のPDLによって与えられる利点を維持することができ、誰が使っても全体の印刷品質および/または利用速度が向上する。加えてPPMLは、既存のPDLのために以前に開発されたツールおよびグラフィックの財産を活用することができる。一実施形態では、文書のPPML記述またはPPML自体を生成するユーザまたはプログラムは、特定のグラフィック言語オブジェクトに使用され得るクライアントPDLのセットを決定することができる。したがって、様々な用途(application)にわたって印刷品質と、処理速度と、その他のジョブパラメータの間のトレードオフを制御することができる。
【0027】
いくつかの実施形態においては、PPML言語プロセッサ530は、印刷ジョブ内の言語オブジェクトに遭遇すると、適切なエントリポイントにおいてクライアントPDLに適したPDL言語プロセッサ330を呼び出すことができる。クライアントPDLのためのPDL言語プロセッサ330は、印刷ジョブを処理して、ディスプレイリスト560にデータを読み込む。ディスプレイリスト560は、PPML言語プロセッサ530によって作成され、かつ/または使用されるものであり、PPML言語プロセッサ530によって処理されるPPML印刷データに特有のものとすることができる。例えばPPML言語プロセッサ530は、PPML印刷データを含む印刷ジョブであって、更にPDL−1およびPDL−2で書かれた1つ以上の言語オブジェクトを含む印刷ジョブを処理して、エントリポイントを決定し、適切なクライアントPDL言語プロセッサ330−1および330−2を呼び出す。いくつかの実施形態においては、クライアントPDL言語プロセッサ330のうちの1つを呼び出すときに、PPML言語プロセッサ530は、適切なクライアントPDL言語プロセッサ330に言語オブジェクトを処理させ、ディスプレイリスト560にデータを読み込ませるために、ページレイアウトデータ540およびディスプレイリスト560の位置に関する情報を盛り込む(include)。一実施形態では、クライアントPDL言語プロセッサが呼び出された後で、クライアントPDLにより、ディスプレイリスト560またはPPMLに特有の印刷データの他の中間形態に、適切なオブジェクトが読み込まれる。一実施形態では、PPML言語プロセッサ530が印刷ジョブのページデータを処理する間にページレイアウト命令に遭遇すると、文書用のPPMLページレイアウトデータを含み得るページレイアウトデータ540がPPML言語プロセッサ530により決定され、設定される。言語オブジェクト自体が1つ以上のクライアントPDLで記述されていてもよい場合には、PPMLページレイアウトデータ540はページサイズおよび/またはグラフィックオブジェクトサイズデータを含んでいてもよい。
【0028】
印刷データ内の言語オブジェクトが処理されたとPPML言語プロセッサ530が判定した後で、ディスプレイリスト560をレンダリングし、印刷エンジン177を使って印刷媒体上に印刷マークを記すことができる。言語選択ルーチン520が関与し、PPML言語プロセッサ530およびクライアントPDL言語プロセッサ330の1つ以上によって実行される処理は、ファームウェア171、CPU176、および/または印刷エンジン177のうちの1つ以上を使って行われてもよく、さらにASIC/FPGA178を利用してもよい。ディスプレイリスト560または別のメモリ位置がメモリ172および/または補助記憶装置173に格納されてもよい。言語選択ルーチン520が関与し、PPML言語プロセッサ530および/またはクライアントPDL言語プロセッサ330によって実行される処理の全部または一部は、演算装置110のホストコントローラ内で実施されてもよい。
【0029】
いくつかの実施形態においては、ジョブが完全に単一の非PPML PDL言語で記述されている場合、言語選択ルーチン520は、その通常のエントリポイントにおいて適切なPDL言語プロセッサ330を直接呼び出す。従ってジョブは、PDL文書の通常のプロセスフローに従って処理される。いくつかの実施形態においては、下層のコードに最小限の変更を加えるだけで既存の機能を活用するために、システムアーキテクチャ500が既存のPDL処理アーキテクチャの上の層として実施される。
【0030】
図6に、1つ以上の言語で書かれたPDLオブジェクトを組み込んだPPMLデータを処理するアルゴリズムの例の各部分を説明するフローチャート600を示す。図6に示すように、ステップ610では、プリンタ170において処理するために受け取られる印刷ジョブが解析され、当該印刷ジョブで使用される言語が決定される。例えば言語選択ルーチン520は、印刷ジョブ内のヘッダデータを解析して、使用される言語を決定する。ステップ615では、使用される言語がPPMLであると判定された場合、初期設定およびその他のPPML特有の機能が実行される。いくつかの実施形態においては、これらの機能にディスプレイリストの作成および初期設定を含めることもできる。いくつかの実施形態においては、これらの機能はPPML言語プロセッサ530によって実行される。ステップ620では、PPMLに特有のページレイアウトデータ540が決定され、設定される。いくつかの実施形態においては、PPMLに特有のページレイアウトデータ540を、PPML言語プロセッサ530が決定し、設定することができる。
【0031】
印刷ジョブにおいて非PPML PDLが使用されていると判定された場合、PDL言語プロセッサ330を呼び出すためのエントリポイントが決定される。例えばこのステップは、言語選択ルーチン520によって行われてもよい。続いて、図3および図4に示し、これらに関連して先に論じた方法に従って、印刷ジョブの処理が行われる。いくつかの実施形態においては、この処理はPDL言語プロセッサ330によって行われる。
【0032】
ステップ625では、PPML印刷命令内の言語オブジェクトに遭遇するまで、1つ以上の文書ページの印刷ジョブまたはPPML印刷データが構文解析される。この構文解析は、例えばPPML言語プロセッサ530によって行われる。PPML印刷ジョブ内で言語オブジェクトが見つかると、ステップ630で、その言語オブジェクトに関連するクライアントPDLの言語エントリポイントが決定され、またはマップされる。この決定またはマッピングは、一実施形態では、PPML言語プロセッサ530によって行われる。例えばこの決定を行うために、PPML言語プロセッサ530は、1つ以上のクライアントPDLに対する言語エントリポイントのテーブルを備えていてもよい。
【0033】
次いでステップ640でPDL言語プロセッサ330が呼び出される。一実施形態では、PPML言語プロセッサ530が言語エントリポイント関数を使ってPDL言語プロセッサ330を呼び出すことができる。一実施形態では、クライアントPDLのためのPDL言語プロセッサ330が、アプリケーションプログラミングインターフェース(API)を使って呼び出される。クライアントPDLによって使用されるディスプレイリスト560および/またはその他の構造のメモリ位置を指すアドレスが、呼び出しのときにPDL言語プロセッサ330に提供される。一実施形態では、クライアントPDLのためのPDL言語プロセッサ330が、提供されるアドレスを使ってディスプレイリスト560内でグラフィック出力の位置付け(locate)および格納を行う。一実施形態では、この開始アドレスは、PPML言語プロセッサ530によってPPML印刷データのためにすでに作成されているディスプレイリスト560のアドレスとすることができる。一実施形態では、PDL言語プロセッサ330を呼び出すのにAPIが使用され、APIに提供されるパラメータが個々のクライアントPDLへのエントリポイントと、ディスプレイリスト560などのメモリ位置との両方を記述する。これらエントリポイント及びメモリ位置は、PPMLに特有、またはPPML言語プロセッサ530によって処理されるPPML印刷データに特有である。例えばPPML言語プロセッサ530がクライアントPDLのためのPDL言語プロセッサ330にAPIおよび/または開始アドレスを提供してもよい。
【0034】
一実施形態では、ステップ645では、ページレイアウトデータ540に従ってグラフィック出力を生成するために、言語オブジェクトがさらに構文解析される。一実施形態では、PDL言語プロセッサ330がこの機能を果たす。ページレイアウトデータ540は、グラフィック出力を書式設定し、またはこれを変換するのに使用される。一実施形態では、クライアントPDLのためのPDL言語プロセッサ330は、PPML言語プロセッサ530によって以前に決定されたページレイアウトデータ540を適用する。
【0035】
いくつかの実施形態においては、ステップ640でクライアントPDLのためのPDL言語プロセッサ330が呼び出されるときに、クライアントPDLのためのPDL言語プロセッサ330にPPMLページレイアウトデータ540へのアクセス権が与えられる。一実施形態では、APIは、PPML言語プロセッサ530とクライアントPDLのためのPDL言語プロセッサ330との一方または両方に提供され、PPMLでページレイアウトデータ540のエントリポイントを記述する。
【0036】
一実施形態では、クライアントPDLのためのPDL言語プロセッサ330が「クライアントモード」で動作しているという判断がなされ、ステップ645でPPMLページレイアウトデータ540が検索され、適用される。例えばクライアントPDL言語プロセッサ330は、PDLレイアウト命令を識別すると、クライアントPDL言語プロセッサ330がクライアントモードで動作していると判断する。その場合、クライアントPDL言語プロセッサ330は、PPML言語プロセッサ530により以前に決定されたPPMLページレイアウトデータ540を検索し、これをグラフィック出力に適用することができる。
【0037】
一実施形態では、クライアントPDLのためのPDL言語プロセッサ330がクライアントモードで動作していないと判断され、PDLに特有のPDLページレイアウトデータが判断(determined)され、または設定される。一実施形態では、これらの判断がPDL言語プロセッサ330によって行われる。例えば、印刷ジョブが完全に単一のPDLで記述されているときには、図5に示すように、PDL言語プロセッサ330が直接呼び出され、固有のモードで動作する。したがって、いくつかの実施形態においては、図3および図4で説明したようなPPMLのコンテキストの外部のPDL言語プロセッサ330の動作と同様に、1つ以上のPDLレイアウト命令を使って、PDLページレイアウトデータ340を決定し、設定することができる。例えば、1つ以上のPDLレイアウト命令には、ページサイズ命令および/またはグラフィックオブジェクトサイズ命令が含まれてもよい。
【0038】
ステップ650では、ディスプレイリスト560に適切なオブジェクトを読み込むことができる。例えば、クライアントPDLのためPDL言語プロセッサ330がこの機能を果たす。次に、ステップ655では、クライアントPDL印刷ジョブが完了しているかどうか判定される。クライアントPDLジョブが完了している場合、ステップ660でクライアントPDL言語プロセッサ330が終了し、PPML言語プロセッサ530に戻る。クライアントPDLジョブが完了していない場合、アルゴリズムはステップ645に戻り、PDL印刷ジョブの処理が完了するまで後続のステップを反復する。
【0039】
ステップ665で、PPMLページが完了しているかどうか判定される。PPMLページが完了している場合、ディスプレイリスト560がラスタ化され、ページがレンダリングされる。PPMLページが完了していない場合、アルゴリズムはステップ625に戻り、PPMLページの処理が完了するまで後続のステップを反復する。具体的には、文書ページは、1つ以上のクライアントPDLを使って処理するための別の言語オブジェクトを含む。PPMLページが完了した後、ステップ675ではPPML印刷ジョブが完了しているかどうか判定される。PPML印刷ジョブが完了している場合、ステップ680でPPML言語プロセッサ530が終了する。印刷ジョブが完了していない場合、処理はステップ620に進み、印刷ジョブの処理が完了されるまで後続のステップを反復する。
【0040】
いくつかの実施形態においては、印刷ジョブがPPML印刷ジョブであるかどうかの判定が、PDLレイアウト命令を実施し、またはPPMLページレイアウトデータを適用する前に行われる。また、いくつかの実施形態においては、印刷ジョブがPPML印刷ジョブであるかどうかの判定が、ディスプレイリスト560またはディスプレイリスト350にグラフィック出力を出力する前に行われる。例えば、PDL言語プロセッサ330がこれらの機能を果たしてもよい。
【0041】
図6に示すように、処理はページベースで行われる。一実施形態では、クライアントPDLのためのPDL言語プロセッサ330は、あたかもページベースの印刷ジョブを実行しているかのように動作することができる。この意味において、ページベースのPDL処理を利用するプリンタアーキテクチャは、引き続きPDL印刷ジョブを処理することができ、同時に、さらにPPMLで提供される印刷ジョブのためのPPML機能もサポートすることができる。
【0042】
図7に、PPMLを使ってPDLを処理するシステムにおいて使用するための言語エントリポイントのテーブル700の例を示す。図7に示すように、言語エントリポイントのテーブル700は、言語列挙名710〜740と言語エントリポイント関数750〜780とを含む。一実施形態では、テーブル700はPPML言語プロセッサ530に備えられる。テーブル700は、言語列挙名710〜740および言語エントリポイント関数750〜780を含むものとして示されているが、言語列挙名と言語エントリポイント関数はより多くても、より少なくてもよい。言語エントリポイント関数750〜780は、クライアントPDLのPDL言語プロセッサ330を呼び出すためにPPML言語プロセッサ530によって呼び出される関数である。
【0043】
一実施形態では、PPML言語プロセッサ530は、言語オブジェクトに遭遇すると、言語定義命令などの印刷データの一部を受け取る。一実施形態では、PPML命令内の言語定義命令は、PPML言語プロセッサ530によって処理される言語オブジェクトのためのSOURCE要素のFORMAT属性の一部である。PPML言語プロセッサ530は内部で、言語オブジェクトにおいて使用される言語を判定するルーチンを実施する。一実施形態では、PPML言語プロセッサ530は、まず、言語定義命令などの印刷データ内の印刷命令を見て、グラフィックオブジェクトをレンダリングするのにどのクライアントPDLを使用することができるか判定する。例えば、PPML言語プロセッサ530は、言語定義命令を識別し、この言語定義命令を使って言語列挙名710〜740を決定する。一実施形態では、PPML言語プロセッサ530は、言語オブジェクトの一部分を解析して言語列挙名710〜740を決定することができる。続いてPPML言語プロセッサ530は、テーブル700を使って言語列挙名710〜740を、対応する言語エントリポイント関数750〜780にマップする。
【0044】
例えば、以下のXMLコード断片を用いて説明する。
<SOURCE DIMENSIONS=“100 100” FORMAT=“APPLICATION/POSTSCRIPT”>
PPML言語プロセッサ530は、上記のXMLコード断片を構文解析すると、文字列「APPLICATION/POSTSCRIPT」を、「PPML_POSTSCRIPT」の言語列挙名710に対応する言語定義命令であると識別する。次いでPPML言語プロセッサ530はテーブル700を使って、言語列挙名710に対応する言語エントリポイント関数750を見つける。このようにして、PPML言語プロセッサ530は、例示的な言語エントリポイント関数750「PPML POSTSCRIPTENTRY」を探索する。この関数は、例示的クライアントPDL PostScript(商標)で書かれた言語オブジェクトを処理するためのPDL PostScript(商標)のPDL言語プロセッサ330をPPML言語プロセッサ530が呼び出すのに使用することのできるものである。
【0045】
PDLを使ったページデータ処理は以下の例によって示すことができる。PPML言語プロセッサ530は以下のような例示的命令を受け取る。
【0046】
<?xml version="1.0" encoding="UTF-8"?>
<PPML>
<PAGE_DESIGN TrimBox="0 0 612 792"/>
<JOB Label="1">
<DOCUMENT Label="1">
<PAGE Label="1">
<MARK Position="20 220">
<VIEW/>
<OBJECT Position="0 0">
<SOURCE Dimensions="545 20" Format="application/postscript">
<INTERNAL_DATA> << /PageSize [595 842] /ImagingBBox null>> setpagedevice /Helvetica findfont 16 scalefont setfont 0 8 moveto (PostScript Selects A4) show</INTERNAL_DATA>
</SOURCE>
<VIEW/>
</OBJECT>
</MARK>
</PAGE>
</DOCUMENT>
</JOB>
</PPML>
【0047】
命令<PAGE_DESIGN TrimBox="0 0 612 792"/>は、ページレイアウトデータ540における紙寸法をレターサイズ(8.5インチ×11インチ)に設定することができる。命令<SOURCE Dimensions="545 20" Format="application/postscript">を構文解析すると、PPML言語プロセッサ530は、文字列「application/postscript」を「PPML_POSTSCRIPT」の言語列挙名710に対応する言語定義命令であると識別する。次いで、PPML言語プロセッサ530はテーブル700を使って、言語列挙名710に対応する言語エントリポイント関数750を探索する。PPML言語プロセッサ530は、例示的言語エントリポイント関数750「PPML PostscriptEntry」を探索する。この関数は、例示的クライアントPDL PostScript(商標)で書かれた言語オブジェクトを処理するための例示的クライアントPDL PostScript(商標)のPDL言語プロセッサ330をPPML言語プロセッサ530が呼び出すのに使用することのできる関数である。
【0048】
この時点においては、PostScript(商標)PDLのためのPDL言語プロセッサ330が動作し、PDLレイアウト命令<INTERNAL_DATA> << /PageSize [595 842] /ImagingBBox null>> setpagedevice /Helvetica findfont 16 scalefont setfont 0 8 moveto (PostScript Selects A4) show</INTERNAL_DATA>を使用している。したがって、PostScript(商標)のためPDL言語プロセッサ330は、紙サイズをA4に変更しようとする。PPML言語プロセッサ530は、PDLレイアウト命令を無視し、PPMLページレイアウトデータ540を適用してページレイアウトをレターサイズとして維持できる。
【0049】
本発明の他の実施形態は、本明細書の考察、及び、本明細書中に開示された本発明の1つ以上の実施形態の実施により、当業者にとって明らかになるであろう。明細書及び例は例示的なものに過ぎないことを意図しており、本発明の本来の範囲及び要旨は、以下の特許請求の範囲に示されるものである。
【符号の説明】
【0050】
100 文書を印刷するシステム
110 演算装置
120 コネクション
130 サーバ
140 ネットワーク
150 着脱可能型メディアドライブ
170 プリンタ
171 ファームウェア
172 メモリ
173 2次記憶
174 バス
175 入出力ポート
176 CPU
177 印刷エンジン
310 言語データ
320 言語選択ルーチン
330 PDL言語プロセッサ
340 ページレイアウトデータ
350 ディスプレイリスト
510 言語データ
520 言語選択ルーチン
530 PPML言語プロセッサ
540 ページレイアウトデータ
700 言語エントリポイントのテーブル

【特許請求の範囲】
【請求項1】
少なくとも1つの文書ページのPPML印刷データを処理する方法であって、
前記PPML印刷データは、少なくとも1つのクライアントページ記述言語(PDL)で記述された少なくとも1つの言語オブジェクトを備えており、
当該方法は、
前記少なくとも1つの文書ページの前記PPML印刷データを構文解析して、前記少なくとも1つのクライアントPDLで書かれた少なくとも1つの言語オブジェクトを識別するステップと、
前記少なくとも1つの言語オブジェクトを、前記少なくとも1つのクライアントPDLのための言語プロセッサの言語エントリポイント関数にマップするステップと、
前記言語エントリポイント関数を使って前記少なくとも1つのクライアントPDLのための前記言語プロセッサを呼び出すステップと、
前記少なくとも1つのクライアントPDLのための前記言語プロセッサを使って、前記少なくとも1つの言語オブジェクトを処理するステップと
を含む方法。
【請求項2】
前記少なくとも1つの言語オブジェクトを前記少なくとも1つのクライアントPDLのための前記言語プロセッサの前記言語エントリポイント関数にマップするステップは、言語エントリポイントのテーブルを使用するステップを含む請求項1に記載の方法。
【請求項3】
前記言語エントリポイントのテーブルは、複数の言語エントリポイント関数と複数の言語列挙名とを備え、
前記少なくとも1つの言語オブジェクトの選択言語列挙名が決定すると、前記少なくとも1つの言語オブジェクトが選択言語エントリポイント関数にマップされる請求項2に記載の方法。
【請求項4】
前記言語オブジェクトを前記少なくとも1つのクライアントPDLのための前記言語プロセッサの前記言語エントリポイント関数にマップするステップは、前記言語オブジェクトの一部分を解析して言語列挙名を決定するステップを含む請求項3に記載の方法。
【請求項5】
前記少なくとも1つの言語オブジェクトを前記少なくとも1つのクライアントPDLのための前記言語プロセッサの前記言語エントリポイント関数にマップするステップは、PPML命令のSOURCE要素のFORMAT属性を解析するステップを含む請求項4に記載の方法。
【請求項6】
前記少なくとも1つのクライアントPDLのための前記言語プロセッサを使って前記少なくとも1つの言語オブジェクトを処理するステップは、前記言語プロセッサの出力を少なくとも1つのメモリ位置に格納するステップをさらに含み、
前記少なくとも1つのメモリ位置の開始アドレスは、前記少なくとも1つのクライアントPDLのための前記言語プロセッサに提供される請求項1に記載の方法。
【請求項7】
前記少なくとも1つのメモリ位置の前記開始アドレスは、前記少なくとも1つのクライアントPDLのための前記言語プロセッサが呼び出されるときに、前記少なくとも1つのクライアントPDLのための前記言語プロセッサに提供される請求項6に記載の方法。
【請求項8】
前記少なくとも1つのメモリ位置の前記開始アドレスは、前記PPML印刷データに特有のディスプレイリストのアドレスである請求項6に記載の方法。
【請求項9】
前記少なくとも1つの文書ページのPPMLで書かれたページレイアウト命令およびデータを識別するステップと、
前記少なくとも1つのクライアントPDLのための前記言語プロセッサから返されるページレイアウト命令およびデータを無視するステップと、
前記PPMLで書かれたページレイアウト命令およびデータを適用して前記少なくとも1つの文書ページを書式設定するステップと
をさらに含む請求項1に記載の方法。
【請求項10】
前記PPMLで書かれたページレイアウト命令およびデータは、ページサイズとグラフィックオブジェクトサイズのうちの少なくとも1つに関連するものである請求項9に記載の方法。
【請求項11】
複数の命令を保持するコンピュータ可読媒体であって、
前記複数の命令は、プロセッサによって実行されると、少なくとも1つの文書ページのPPML印刷データを処理する方法における各ステップを実行するものであり、
前記PPML印刷データは、少なくとも1つのクライアントページ記述言語(PDL)で記述された少なくとも1つの言語オブジェクトを備えており、
前記方法は、
前記少なくとも1つの文書ページの前記PPML印刷データを構文解析して、前記少なくとも1つのクライアントPDLで書かれた少なくとも1つの言語オブジェクトを識別するステップと、
前記少なくとも1つの言語オブジェクトを、前記少なくとも1つのクライアントPDLのための言語プロセッサの言語エントリポイント関数にマップするステップと、
前記言語エントリポイント関数を使って前記少なくとも1つのクライアントPDLのための前記言語プロセッサを呼び出すステップと、
前記少なくとも1つのクライアントPDLのための前記言語プロセッサを使って、前記少なくとも1つの言語オブジェクトを処理するステップと
を含むコンピュータ可読媒体。
【請求項12】
前記少なくとも1つの言語オブジェクトを前記少なくとも1つのクライアントPDLのための前記言語プロセッサの前記言語エントリポイント関数にマップするステップは、言語エントリポイントのテーブルを使用するステップを含む請求項11に記載のコンピュータ可読媒体。
【請求項13】
前記言語エントリポイントのテーブルは、複数の言語エントリポイント関数と複数の言語列挙名とを備え、
前記少なくとも1つの言語オブジェクトの選択言語列挙名が決定すると、前記少なくとも1つの言語オブジェクトが選択言語エントリポイント関数にマップされる請求項12に記載のコンピュータ可読媒体。
【請求項14】
前記言語オブジェクトを前記少なくとも1つのクライアントPDLのための前記言語プロセッサの前記言語エントリポイント関数にマップするステップは、前記言語オブジェクトの一部分を解析して言語列挙名を決定するステップを含む請求項13に記載のコンピュータ可読媒体。
【請求項15】
前記少なくとも1つの言語オブジェクトを前記少なくとも1つのクライアントPDLのための前記言語プロセッサの前記言語エントリポイント関数にマップするステップは、PPML命令のSOURCE要素のFORMAT属性を解析するステップを含む請求項11に記載のコンピュータ可読媒体。
【請求項16】
前記少なくとも1つのクライアントPDLのための前記言語プロセッサを使って前記少なくとも1つの言語オブジェクトを処理するステップは、前記言語プロセッサの出力を少なくとも1つのメモリ位置に格納するステップをさらに含み、
前記少なくとも1つのメモリ位置の開始アドレスは、前記少なくとも1つのクライアントPDLのための前記言語プロセッサに提供される請求項11に記載のコンピュータ可読媒体。
【請求項17】
前記少なくとも1つのメモリ位置の前記開始アドレスは、前記少なくとも1つのクライアントPDLのための前記言語プロセッサが呼び出されるときに、前記少なくとも1つのクライアントPDLのための前記言語プロセッサに提供される請求項16に記載のコンピュータ可読媒体。
【請求項18】
前記少なくとも1つのメモリ位置の前記開始アドレスは、前記PPML印刷データに特有のディスプレイリストのアドレスである請求項16に記載のコンピュータ可読媒体。
【請求項19】
少なくとも1つの文書ページのPPML印刷データを処理するシステムであって、
少なくとも1つのクライアントページ記述言語(PDL)で記述された少なくとも1つの言語オブジェクトを備えるPPML印刷データを受け取るように構成された入力インターフェースと、
前記PPML印刷データを格納するように構成されたメモリと、
前記入力インターフェースと前記メモリとに接続されたプロセッサとを備え、
前記プロセッサは、前記メモリ内の命令を実行して、
前記少なくとも1つの文書ページの前記PPML印刷データを構文解析して、前記少なくとも1つのクライアントPDLで書かれた少なくとも1つの言語オブジェクトを識別するステップと、
前記少なくとも1つの言語オブジェクトを、前記少なくとも1つのクライアントPDLのための言語プロセッサの言語エントリポイント関数にマップするステップと、
前記言語エントリポイント関数を使って前記少なくとも1つのクライアントPDLのための前記言語プロセッサを呼び出すステップと、
前記少なくとも1つのクライアントPDLのための前記言語プロセッサを使って、前記少なくとも1つの言語オブジェクトを処理し、印刷可能データを作成するステップと
を有する各ステップの機能を実現するように構成されたシステム。
【請求項20】
前記印刷可能データが記憶装置に格納される請求項19に記載のシステム。
【請求項21】
ページ記述言語(PDL)を使ってページレイアウト命令を処理する方法であって、
前記PDLのためのプロセッサを呼び出すステップと、
前記PDLのための前記プロセッサを使ってPDL言語オブジェクトを構文解析してグラフィック出力を生成し、PDLで書かれた少なくとも1つのページレイアウト命令を識別するステップと、
前記PDLで書かれた少なくとも1つのページレイアウト命令を識別すると、前記PDLのための前記プロセッサがPPMLモードで動作しているかどうか判定するステップと、
前記PDLのための前記プロセッサが前記PPMLモードで動作している場合、PPMLのためのプロセッサからPPMLで書かれたページレイアウト命令およびデータを検索し、当該PPMLで書かれたページレイアウト命令およびデータを前記グラフィック出力に適用するステップと、
前記PDLのための前記プロセッサが前記PPMLモードで動作していない場合、前記PDLで書かれた少なくとも1つのレイアウト命令を前記グラフィック出力に適用するステップと
を含む方法。
【請求項22】
前記PDLのための前記プロセッサが呼び出されるときに、前記PPMLで書かれたページレイアウト命令およびデータへのアクセス権を前記PDLのための当該プロセッサにおいて受け取るステップをさらに含む請求項21に記載の方法。
【請求項23】
前記PPMLで書かれたページレイアウト命令およびデータへのアクセス権を受け取るステップは、前記PDLのための前記プロセッサにおいてアプリケーションプログラミングインターフェース(API)を受け取るステップをさらに含む請求項21に記載の方法。
【請求項24】
前記PPMLで書かれたページレイアウト命令およびデータは、ページサイズデータとグラフィックオブジェクトサイズデータのうちの少なくとも1つを備える請求項21に記載の方法。
【請求項25】
前記PDLで書かれた少なくとも1つのページレイアウト命令は、ページサイズ命令とグラフィックオブジェクトサイズ命令のうちの少なくとも1つを備える請求項21に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2009−245433(P2009−245433A)
【公開日】平成21年10月22日(2009.10.22)
【国際特許分類】
【外国語出願】
【出願番号】特願2009−78159(P2009−78159)
【出願日】平成21年3月27日(2009.3.27)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
【出願人】(507031918)コニカ ミノルタ システムズ ラボラトリー, インコーポレイテッド (157)