| 【発明の名称】 |
印刷装置 |
| 【発明者】 |
【氏名】藤牧 敦 【住所又は居所】長野県諏訪市大和3丁目3番5号 セイコーエプソン株式会社内
|
| 【要約】 |
【課題】用いられている言語が異なっている2つの印刷データが連続的に送信されてきたときに、各印刷データの処理が素早く開始される印刷装置を、提供する。
【解決手段】印刷データを解釈するパーシング処理を行わせるためのパーシングモジュールと、パーシング処理結果からイメージデータを生成するレンダリング処理を行わせるためのレンダリングモジュールとを、言語別に、印刷装置内に用意しておくとともに、パーシングモジュール/レンダリングモジュールのダイナミック・ロードが必要に応じて行われるように、印刷装置を構成しておく。 |
【特許請求の範囲】
【請求項1】 所定形式の印刷用イメージデータに応じた信号の供給を受けて動作する印刷エンジンと、CPUと、各種のプログラムを記憶した不揮発性記憶装置と、前記CPUが実行する幾つかのプログラムが前記不揮発性記憶装置からロードされるメモリであるとともに、ロードされているプログラムの作業領域として使用されるメモリである揮発性メモリとを、備え、前記不揮発性記憶装置に、それぞれ、特定種類の言語に対応づけられているとともに、対応づけられている言語が用いられた印刷データの内容を前記CPUに解釈させるための複数のパーシングプログラム、それぞれ、前記複数のパーシングプログラムの中の幾つかのパーシングプログラムに対応づけられているとともに、対応づけられているパーシングプログラムに従った前記CPUの解釈結果に基づき、前記CPUに前記印刷用イメージデータを生成させるための1つ以上のレンダリングプログラム、及び、送信されてきた印刷データの言語の種類を認識し、前記揮発性メモリにロードされているパーシングプログラムが、認識した種類の言語に対応づけられたものではなかった場合には、当該パーシングプログラムを前記揮発性メモリ上から消去して、認識した種類の言語が対応づけられているパーシングプログラムを前記不揮発性記憶装置から前記揮発性メモリにロードする処理を、前記CPUに行わせるためのシステムプログラムが、記憶されていることを特徴とする印刷装置。 【請求項2】 前記システムプログラムは、前記揮発性メモリにロードされているレンダリングプログラムが、認識した種類の言語に対応づけられているパーシングプログラム用のものではなかった場合には、当該レンダリングプログラムを前記揮発性メモリ上から消去し、認識した種類の言語に対応づけられているパーシングプログラム用のレンダリングプログラムを前記不揮発性記憶装置から前記揮発性メモリにロードする処理を、前記CPUに、さらに行わせることを特徴とする請求項1記載の印刷装置。 【請求項3】 前記システムプログラムは、印刷装置の起動時に、前記CPUに、前記不揮発性記憶装置内の前記1つ以上のレンダリングプログラムを全て前記揮発性メモリにロードさせることを特徴とする請求項1記載の印刷装置。 【請求項4】 前記不揮発性記憶装置には、パーシングプログラム毎に、レンダリングプログラムが記憶されていることを特徴とする請求項1又は請求項2に記載の印刷装置。 【請求項5】 所定形式の印刷用イメージデータに応じた信号の供給を受けて動作する印刷エンジンと、CPUと、少なくとも、第1の言語を前記CPUに解釈させるための第1言語用パーシングプログラムと、第2の言語を前記CPUに解釈させるための第2言語用パーシングプログラムと、前記第1言語用パーシングプログラムに従った前記CPUの解釈結果に基づき,前記CPUに前記印刷用イメージデータを生成させるための第1言語用レンダリングプログラムと、前記第2言語用パーシングプログラムに従った前記CPUの解釈結果に基づき,前記CPUに前記印刷用イメージデータを生成させるための第2言語用レンダリングプログラムとを、記憶した不揮発性記憶装置と、前記不揮発性記憶装置内のプログラムがロードされるメモリであるとともに、ロードされているプログラムの作業領域として使用されるメモリである揮発性メモリとを、備え、前記揮発性メモリに前記第1言語用パーシングプログラムと前記第1言語用レンダリングプログラムとがロードされている状態で前記第2の言語が用いられた印刷データを受信した場合、前記第1言語用レンダリングプログラムに従った処理が実行されている最中であっても、前記第1言語用パーシングプログラムに従った処理が実行されていない場合には、前記第1言語用パーシングプログラムの代わりに前記揮発性メモリへ前記第2言語用パーシングプログラムがロードされ、受信した印刷データに対する前記第2言語用パーシングプログラムに従った処理が開始されることを特徴とする印刷装置。 【請求項6】 前記揮発性メモリに前記第1言語用パーシングプログラムと前記第1言語用レンダリングプログラムとがロードされている状態で前記第2の言語が用いられた印刷データを受信し、前記第1言語用パーシングプログラムの代わりに前記揮発性メモリへ前記第2言語用パーシングプログラムがロードされて当該印刷データに対する前記第2言語用パーシングプログラムに従った処理が開始された場合、前記第1言語用レンダリングプログラムに従った処理が完了した後、前記第1言語用レンダリングプログラムの代わりに前記第2言語用レンダリングプログラムがロードされることを特徴とする請求項5記載の印刷装置。
|
【発明の詳細な説明】【0001】 【発明の属する技術分野】本発明は、複数種類の言語をサポートしている印刷装置に関する。 【0002】 【従来の技術】周知のように、印刷装置の中には、複数種類の言語(制御コード体系)をサポートしたもの(用いられている言語が異なる何種類かの印刷データを処理可能なもの)が、存在している。 【0003】そのような印刷装置は、RAMの記憶容量を有効に利用できるようにするために、通常、言語によって内容が変わる処理をCPUに行わせるためのプログラム(以下、言語処理プログラムと表記する)のRAMへのロードがダイナミックに行われるように、構成されている。 【0004】すなわち、多言語をサポートした印刷装置のROM(或いはHDD)には、図9(a)に模式的に示したように、システムプログラムと、それぞれ、特定の言語を処理するための幾つかの言語処理プログラム(図では、言語#1〜#3を処理するための言語処理プログラム#1〜#3)とが、記憶されている。ここで、システムプログラムとは、言語によって内容が変わらない処理をCPUに行わせるためのプログラムの集合のことである。 【0005】そして、多言語をサポートした印刷装置の起動時には、図9(b)に模式的に示したように、システムプログラムとデフォルトの言語処理プログラム(図では、言語処理プログラム#1)がROMからRAMにロードされる。なお、図9(b)、(c)にて、システム用ヒープとは、システムプログラムの作業領域として使用される記憶領域のことであり、言語処理用ヒープとは、RAMにロードされている言語処理モジュールの作業領域として使用される記憶領域のことである。 【0006】この後、印刷装置は、印刷データの受信を監視する状態となる。そして、RAM上にロードされている言語処理プログラムでは処理することができない印刷データが送信されてきた場合には、図9(c)に示したように、RAM上の言語処理プログラムを他の言語処理プログラムに置き換えられてから、当該印刷データに対する実際の処理が開始されている。 【0007】 【発明が解決しようとする課題】上記したように構成された印刷装置では、複数の言語処理プログラムがスタティックにロードされるように構成された印刷装置よりも、RAMの記憶容量を有効に利用できる(RAMに大きな作業領域を確保できる、同じサイズの作業領域をより小容量のRAM上に確保できる)ことになる。 【0008】しかしながら、上記印刷装置は、用いられている言語が異なっている2つの印刷データが連続的に送信されてきた場合、後から送信されてきた印刷データの処理が即座に開始されない装置となっていた。 【0009】具体的には、従来の多言語をサポートした印刷装置に用いられている言語処理プログラムは、印刷データを受信して解釈することにより、その印刷データにて印刷が指示されているページ毎にそのページの内容を表す中間コード群を生成する処理(以下、パーシング処理と表記する)と、中間コード群をページ単位(又はバンド単位)で印刷用イメージデータに変換する処理(以下、レンダリング処理と表記する)とを、CPUに並行的に実行させるものとなっている。 【0010】或る印刷データに関するパーシング処理は、その内容から言って当然、その印刷データに関するレンダリング処理よりも早く完了するのであるが、従来の印刷装置は、図10に模式的に示したように、パーシング処理が完了していてもレンダリング処理が完了するまでは、レンダリング処理中の印刷データとは言語が異なる印刷データの処理が開始されない装置となっていた。 【0011】そこで、本発明の課題は、RAMの記憶容量が有効に利用された形で動作する、多言語をサポートした印刷装置であって、用いられている言語が異なっている2つの印刷データが連続的に送信されてきたときに、各印刷データの処理が素早く開始される印刷装置を、提供することにある。 【0012】 【課題を解決するための手段】上記課題を解決するために、本発明では、印刷装置を、所定形式の印刷用イメージデータに応じた信号の供給を受けて動作する印刷エンジンと、CPUと、各種のプログラムを記憶した不揮発性記憶装置と、CPUが実行する幾つかのプログラムが不揮発性記憶装置からロードされるメモリであるとともに、ロードされているプログラムの作業領域として使用されるメモリである揮発性メモリとを、備え、不揮発性記憶装置に、それぞれ、特定種類の言語に対応づけられているとともに、対応づけられている言語が用いられた印刷データの内容をCPUに解釈させるための複数のパーシングプログラム、それぞれ、複数のパーシングプログラムの中の幾つかのパーシングプログラムに対応づけられているとともに、対応づけられているパーシングプログラムに従ったCPUの解釈結果に基づき、CPUに印刷用イメージデータを生成させるための1つ以上のレンダリングプログラム、及び、送信されてきた印刷データの言語の種類を認識し、揮発性メモリにロードされているパーシングプログラムが、認識した種類の言語に対応づけられたものではなかった場合には、当該パーシングプログラムを揮発性メモリ上から消去し、認識した種類の言語が対応づけられているパーシングプログラムを不揮発性記憶装置から揮発性メモリにロードする処理を、CPUに行わせるためのシステムプログラムが、記憶されているものとする。 【0013】すなわち、本発明の印刷装置は、従来の印刷装置のように、レンダリング処理までをCPUに行わせるための言語処理プログラム単位ではなく、従来の言語処理プログラムがCPUに実行させていたパーシング処理相当の処理を、CPUに実行させるためのパーシングプログラム単位でプログラムのダイナミック・ロードが行われる構成を、有する。 【0014】従って、本発明の印刷装置は、用いられている言語が異なっている2つ以上の印刷データが連続的に送信されてきたときに、各印刷データの処理が素早く開始される装置として機能することになる。 【0015】なお、本発明の印刷装置を実現するに際して、不揮発性記憶装置(ROMやHDD)に記憶させておくレンダリングプログラムの数は、幾つであっても良く、例えば、パーシングプログラムと同数のレンダリングプログラムを不揮発性記憶装置内に記憶させておいても良い。また、全てのパーシングプログラムに対して共通して使用される1つのレンダリングプログラムを不揮発性記憶装置内に記憶させておいても良い。また、それぞれ、幾つかのパーシングプログラムに対して使用される複数のレンダリングプログラムを不揮発性記憶装置に記憶させておいても良い(不揮発性記憶装置に、N個のパーシングプログラムとM(<N)個のレンダリングプログラムとを記憶させておいても良い)。 【0016】また、本発明の印刷装置を実現するに際しては、システムプログラムを、揮発性メモリにロードされているレンダリングプログラムが認識した種類の言語に対応づけられているパーシングプログラム用のものではなかった場合には、当該レンダリングプログラムを揮発性メモリ上から消去して、認識した種類の言語に対応づけられているパーシングプログラム用のレンダリングプログラムを不揮発性記憶装置から揮発性メモリにロードする処理も、CPUに行わせるものとしておくことが出来る。 【0017】すなわち、レンダリングプログラムもダイナミックにロードされるように、本発明の印刷装置を構成しておいても良い。 【0018】また、本発明の印刷装置を実現するに際しては、印刷装置の起動時に、CPUに、不揮発性記憶装置内の1つ以上のレンダリングプログラムを全て揮発性メモリにロードさせるように、システムプログラムを作成しておいても良い。すなわち、CPUに実行させる処理内容が比較的に簡単なレンダリングプログラムは、CPUに実行させる処理内容が比較的に複雑なパーシングプログラムに比してサイズの小さなものとなるので、レンダリングプログラムに関してはスタティックにロードされるようにしておいても、RAMの記憶容量はさほど消費されない。従って、起動時に、不揮発性記憶装置内の1つ以上のレンダリングプログラムが全て揮発性メモリにロードされるように、本発明の印刷装置を構成しておいても良い。 【0019】また、本発明の他の態様の印刷装置は、所定形式の印刷用イメージデータに応じた信号の供給を受けて動作する印刷エンジンと、CPUと、少なくとも、第1の言語をCPUに解釈させるための第1言語用パーシングプログラムと、第2の言語をCPUに解釈させるための第2言語用パーシングプログラムと、第1言語用パーシングプログラムに従ったCPUの解釈結果に基づき,CPUに印刷用イメージデータを生成させるための第1言語用レンダリングプログラムと、第2言語用パーシングプログラムに従ったCPUの解釈結果に基づき,CPUに印刷用イメージデータを生成させるための第2言語用レンダリングプログラムとを、記憶した不揮発性記憶装置と、不揮発性記憶装置内のプログラムがロードされるメモリであるとともに、ロードされているプログラムの作業領域として使用されるメモリである揮発性メモリとを、備え、揮発性メモリに第1言語用パーシングプログラムと第1言語用レンダリングプログラムとがロードされている状態で第2の言語が用いられた印刷データを受信した場合、第1言語用パーシングプログラムに従った処理が実行されている最中であっても、第1言語用レンダリングプログラムに従った処理が実行されていない場合には、第1言語用パーシングプログラムの代わりに揮発性メモリへ第2言語用パーシングプログラムがロードされ、受信した印刷データに対する第2言語用パーシングプログラムに従った処理が開始されることを特徴とする。 【0020】そして、この態様の印刷装置は、揮発性メモリに第1言語用パーシングプログラムと第1言語用レンダリングプログラムとがロードされている状態で第2の言語が用いられた印刷データを受信し、第1言語用パーシングプログラムの代わりに揮発性メモリへ第2言語用パーシングプログラムがロードされて当該印刷データに対する第2言語用パーシングプログラムに従った処理が開始された場合、第1言語用レンダリングプログラムに従ったCPUの処理が完了した後、第1言語用レンダリングプログラムの代わりに第2言語用レンダリングプログラムがロードされるように構成しておくことも、出来る。 【0021】 【発明の実施の形態】以下、本発明の実施の形態を、図面を参照して詳細に説明する。 【0022】<第1実施形態>図1に、本発明の第1実施形態に係る印刷装置10のハードウェア構成を示す。 【0023】図示したように、本発明の第1実施形態に係る印刷装置10は、制御部11とコントロールパネル12と印刷機構部13とを、備える。 【0024】コントロールパネル12は、ユーザと印刷装置10との間のインタフェースである。このコントロールパネル12は、ユーザが押下可能な複数のボタンと、印刷装置10の動作状態を示すための複数のLEDと、各種メッセージを表示するための液晶ディスプレイとで、構成されている。 【0025】印刷機構部13は、制御部11の制御下、用紙上への印刷を行う機構である。この印刷機構部13は、制御部11から供給される信号に基づき用紙上へ実際に印刷を行う印刷エンジン、印刷エンジンに用紙を供給するための給紙装置、印刷が行われた用紙を印刷装置10外に排出するための排紙装置等で、構成されている。 【0026】制御部11は、印刷装置10を、複数種類の言語(本実施形態では、言語#1〜#3の3種の言語)をサポートした装置として動作させるユニットである。図示してあるように、制御部11は、ホストインタフェース回路21,CPU22,RAM23,メモリ制御部24,ROM25,ROM26,インタフェース回路部27等で、構成されている。 【0027】ROM25は、各種のプログラムが記憶された不揮発性メモリである。このROM25には、IPL(Initial Program Loader)、複数のプログラムモジュールからなるシステムプログラム、3個のパーシングモジュール#1〜#3、3個のレンダリングモジュール#1〜#3(詳細は後述)等が、記憶されている。RAM23は、ROM25に記憶されているプログラムが読み出される(ROM25からプログラムがロードされる)揮発性メモリである。また、このRAM23は、RAM23上に読み出されている(ロードされている)プログラムの作業領域として用いられるメモリともなっている。 【0028】CPU22は、プログラムに従って、制御部11内の各部を統合的に制御する制御回路である。上記したIPLとシステムプログラム(の一部)は、印刷装置10の電源が投入された際に、このCPU22に、RAM23の状態を、図2に模式的に示したような状態(ROM25に記憶されていたシステムプログラムとパーシングモジュール#1及びレンダリングモジュール#1とがロードされている状態)とさせるプログラムとなっている。なお、図2では、パーシングモジュール#1、レンダリングモジュール#1の記憶領域が連続的なものとして示されているが、レンダリングモジュール#1の実際のロードは、RAM23上に確保された、レンダリングモジュール#1〜#3の中のもっともサイズが大きなレンダリングモジュールを記憶できる領域内に行われ、パーシングモジュール#1のロードは、当該領域後の記憶領域に行われる。すなわち、各モジュールの記憶領域が出来るだけ連続するように、かつ、レンダリングモジュール#2、3が、レンダリングモジュール#1の代わりにロードできるような形で、行われる。また、図2において、システム用ヒープとは、システムプログラムの作業領域として使用される記憶領域のことであり、言語処理用ヒープとは、RAM23にロードされているパーシングモジュール及びレンダリングモジュールの作業領域として使用される記憶領域のことである。 【0029】図1に戻って、印刷装置10の構成の説明を続ける。 【0030】ROM26は、CPU22が印刷用イメージデータを生成する際に用いるフォントデータを記憶した不揮発性メモリである。なお、印刷用イメージデータとは、印刷エンジンに供給される信号に変換されるデジタルデータであって、受信した印刷データに基づきCPU22がRAM23上に作成するデジタルデータのことである。 【0031】ホストインタフェース回路21は、CPU22の制御下、図示せぬホストコンピュータが送信した印刷データを受信する回路である。メモリ制御部24は、CPU22の制御下、ホストインタフェース回路21からRAM23にデータを転送する処理や、RAM23上にCPU22によって作成された印刷用イメージデータに応じた信号を印刷エンジンへ供給する処理などを行う回路である。インタフェース回路部27は、CPU22とコントロールパネル12との間、CPU22と印刷エンジンとの間でデータを授受するための幾つかのインタフェース回路からなるユニットである。 【0032】以上のことを前提として、以下、本印刷装置10の動作(ソフトウェア構成)を、具体的に説明する。 【0033】本印刷装置10のROM25に記憶されている各パーシングモジュール#X(X=1〜3のいずれか)は、言語#Xの印刷データを受信して解釈することにより、その印刷データにて印刷が指示されているページ毎にそのページの内容を表す中間コード群をRAM23上に生成する処理(以下、パーシング処理と表記する)を、CPU22に実行させるためのプログラムである。 【0034】各レンダリングモジュール#Xは、パーシング処理#Xにより生成された中間コード群を、ページ単位で印刷用イメージデータに変換する処理(以下、レンダリング処理と表記する)を、制御部11に行わせるためのプログラムである。また、各レンダリングモジュール#Xは、パーシングモジュール#1〜3とは独立して実行可能なプログラムとなっている。 【0035】換言すれば、パーシングモジュール#Xとレンダリンクモジュール#Xとは、言語#X用の言語処理モジュールを、CPU22にパーシング処理を実行させるための部分と、CPU22にレンダリング処理を実行させるための部分とに分けたプログラムとなっている。 【0036】システムプログラムは、パーシング処理及びレンダリング処理以外の処理をCPU22に行わせるためのプログラム(システムモジュールの集合)である。このシステムプログラムに従ってCPU22が実行する処理(CPU22の制御可、制御部11内で実行される処理)には、パーシング処理及びレンダリング処理の進行状況を監視する処理、印刷データの受信を監視する処理、受信された印刷データに用いられている言語の種類を把握する処理、RAM23に他のパーシングモジュールをロードする処理(RAM23上のパーシングモジュールを他のパーシングモジュールに置換する処理)、RAM23に他のレンダリングモジュールをロードする処理(RAM23上のレンダリングモジュールを他のレンダリングモジュールに置換する処理)、レンダリング処理により生成された印刷用イメージデータに応じた信号を印刷エンジンに供給する処理(以下、印刷エンジン駆動処理と表記する)が、含まれている。 【0037】より具体的には、システムプログラムは、CPU22を、図3に模式的に示したように、第1〜第3動作モードのいずれかで動作させるプログラムとなっている。 【0038】第1動作モードは、CPU22が、パーシング処理及びレンダリング処理を実行せずに、ホストコンピュータから印刷データが送信されてくるのを監視(待機)している動作モードである。なお、システムプログラムは、印刷装置10の電源が投入された後(RAM23の状態が図2に示したような状態となった後)、CPU22に、この第1動作モードでの動作を開始させるものとなっている。 【0039】第1動作モードで動作しているCPU22は、印刷データが送信されてきた場合には、まず、その印刷データの言語が言語#1〜#3のいずれであるかを把握する。 【0040】次いで、CPU22は、その時点においてRAM23上にロードされているパーシングモジュール及びレンダリングモジュールが、把握した言語用のものであるか否かを判断する。そして、CPU22は、その時点においてRAM23上にロードされているパーシングモジュール及びレンダリングモジュールが、把握した言語用のものでなかった場合には、それらをRAM23上から消去し、把握した言語用のパーシングモジュール及びレンダリングモジュールをROM25からRAM23にロードする。その後、CPU22は、第3動作モードでの動作を開始する。一方、その時点においてRAM23上にロードされているパーシングモジュール及びレンダリングモジュールが、把握した言語用のものであった場合、CPU22は、即座に(パーシングモジュール等のRAM23へのロードを行うことなく)、第3動作モードでの動作を開始する。 【0041】第3動作モードでの動作を開始したCPU22は、ホストコンピュータが送信してきている印刷データに応じた印刷物を印刷機構部13(印刷エンジン)に生成させるために、パーシング処理とレンダリング処理と印刷エンジン駆動処理(レンダリング処理により生成された印刷用イメージデータに応じた信号を印刷エンジンに供給する処理)とを、各処理の進行状況を監視しながら、並行的に実行する。なお、レンダリング処理、印刷エンジン駆動処理が、実際に開始されるのは、パーシング処理により、所定量の中間コード群が生成されたときである。 【0042】そして、パーシング処理が終了した場合(パーシング処理の終了タイミングは、印刷データの受信が完了するタイミングとほぼ一致)、CPU22は、レンダリング処理及び印刷エンジン駆動処理を実行(続行)しながら、印刷データの受信を待機する動作モードである第2動作モードでの動作を、開始する。 【0043】この第2動作モードで動作しているCPU22は、印刷データが受信された場合には、まず、その印刷データの言語が言語#1〜#3のいずれであるかを把握する。次いで、CPU22は、その時点においてRAM23上にロードされているパーシングモジュールが、把握した言語用のものであるか否かを判断する。そして、CPU22は、その時点においてRAM23上にロードされているパーシングモジュールが、把握した言語用のものでなかった場合には、そのパーシングモジュールをRAM23上から消去し、把握した言語用のパーシングモジュールをROM25からRAM23にロードする。その後、CPU22は、第3動作モードでの動作を開始する。一方、その時点においてRAM23上にロードされているパーシングモジュールが、把握した言語用のものであった場合、CPU22は、即座に、第3動作モードでの動作を開始する。 【0044】第2動作モードから第3動作モードに移行したCPU22は、既にパーシング処理が完了している印刷データに関するレンダリング処理及び印刷エンジン駆動処理を続行するとともに、RAM23にロードされているパーシングモジュール(今回、新たにロードされたもの、或いは、既にロードされていたもの)に従って、新たに送信されてきた印刷データに対するパーシング処理を行う。 【0045】2つの印刷データの処理を並行して行っているときに一方の印刷データに関するレンダリング処理が終了した場合、CPU22は、その時点においてRAM23上にロードされているレンダリングモジュールが、パーシング処理中の言語用のものであるか否かを判断する。そして、RAM23上のレンダリングモジュールがパーシング処理中の言語用のものでなかった場合、CPU22は、そのレンダリングモジュールをRAM23上から消去して、パーシング処理中の言語用のレンダリングモジュールをROM25からRAM23にロードする。その後、CPU22は、ロードしたレンダリングモジュールに従ったレンダリング処理を開始する。一方、RAM23上のレンダリングモジュールがパーシング処理中の言語用のものであった場合、CPU22は、他のレンダリングモジュールをRAM23にロードすることなく、既にRAM23上に存在しているレンダリングモジュールに従ったレンダリング処理を開始する。 【0046】そして、CPU22は、第2動作モードで動作しているときに、新たな印刷データが受信されることなく、レンダリング処理が完了した場合に、上記した第1動作モードで動作する状態に戻る。 【0047】以上の説明から明らかなように、本印刷装置10は、以下のような動作が可能な装置となっている。 【0048】例えば、RAM23にパーシングモジュール#1、レンダリングモジュール#1が記憶されており、CPU22が第1動作モードで動作している状態で、言語#1が用いられている印刷データ#1がホストコンピュータから送信されてきた場合を考える。この場合、CPU22は、図4に模式的に示したように、パーシングモジュール/レンダリングモジュールのダイナミック・ロードを行うことなく、第3動作モードでの動作を開始する。 【0049】そして、印刷データ#1に関するパーシング処理が完了したとき(印刷データ#1の受信が完了したときとほぼ一致)、CPU22は、第2動作モードでの動作を開始する。この第2動作モードで動作しているときに、言語#2が用いられた印刷データ#2を受信した場合、CPU22は、図示してあるように、パーシングモジュール#2のダイナミック・ロードを行う。すなわち、この場合、それまで図5(a)に示したものであったRAM23の状態が、図5(b)に示したものに変更されることになる。 【0050】そして、CPU22は、印刷データ#1に関するレンダリング処理と印刷データ#2に関するパーシング処理とを並行的に実行する状態(第3動作モードで動作している状態)に移行する。 【0051】この後、CPU22は、印刷データ#1に関するレンダリング処理が終了した際には、RAM23上のレンダリングモジュールが、印刷データ#2(言語#2)用のものであるか否かを判断する。この場合、RAM23上に記憶されているレンダリングモジュールは、レンダリングモジュール#1(言語#2用のものではないレンダリングモジュール)であるので、CPU22は、レンダリングモジュール#2をRAM23にロードする。すなわち、この場合、それまで図5(b)に示したものであったRAM23の状態が、図5(c)に示したものに変更されることになる。 【0052】そして、CPU22は、図4に示してあるように、印刷データ#2に関するパーシング処理と印刷データ#2に関するレンダリング処理とを並行的に実行する状態となり、パーシング処理が完了したときには、第2動作モードでの動作を開始する。そして、CPU22は、他の印刷データが受信されることなく、印刷データ#2に関するレンダリング処理が完了した場合には、第1動作モードでの動作を開始する。 【0053】このように、第1実施形態の印刷装置10は、或る印刷データに対するパーシング処理が完了したときに、その印刷データとは異なる言語の印刷データの処理を開始できる装置となっている。そして、言語処理モジュールを、独立して実行可能なレンダリングモジュールとパーシングモジュールとに分けることは、レンダリングモジュール及びパーシングモジュールの総サイズが、元となった言語処理モジュールのサイズよりもさほど大きくならない形で、行うことが出来る。従って、本印刷装置10は、RAM23の記憶容量が有効に利用された形で動作する印刷装置であって、用いられている言語が異なっている2つ以上の印刷データが連続的に送信されてきたときに、各印刷データの処理が素早く開始される装置として機能することになる。 【0054】<第2実施形態>本発明の第2実施形態に係る印刷装置10は、上記した第1実施形態に係る印刷装置10と、ハードウェア的には同じ装置となっている。このため、以下では、第1実施形態の印刷装置10の説明時に用いたものと同じ符号を用いて、第2実施形態に係る印刷装置10の構成、動作を、第1実施形態の印刷装置10と異なる部分を中心に説明することにする。 【0055】図6に示したように、本発明の第2実施形態に係る印刷装置10のROM25には、IPL(Initial Program Loader)、複数のプログラムモジュールからなるシステムプログラム、3個のパーシングモジュール#1〜#3、レンダリングモジュール等が、記憶されている。 【0056】第2実施形態に係る印刷装置10に用いられている各パーシングモジュール#X(X=1〜3のいずれか)も、言語#Xの印刷データを受信して解釈することにより、その印刷データにて印刷が指示されているページ毎にそのページの内容を表す中間コード群をRAM23上に生成するパーシング処理を、CPU22に実行させるためのプログラムである。ただし、パーシングモジュール#1〜3は、同じ形式の中間コード群を生成するものとなっている。 【0057】レンダリンクモジュールは、パーシング処理#X(X=1〜3のいずれか)により生成された中間コード群をページ単位で印刷用イメージデータに変換するレンダリング処理を、CPU22に行わせるためのプログラムである。 【0058】そして、システムプログラムは、第1実施形態に係る印刷装置10に用いられているシステムプログラムを、パーシングモジュールのダイナミック・ロードを行わないように変形したものとなっている。 【0059】すなわち、第2実施形態に係る印刷装置10に用いられているシステムプログラムは、図7に示したように、CPU22に、RAM23へのレンダリングモジュールのロードをスタティックに行わせ、RAM23へのパーシングモジュール#Xのロードをダイナミックに行わせるものとなっている。 【0060】この第2実施形態に係る印刷装置10の構成を採用しても、或る印刷データに対するパーシング処理が完了したときに、その印刷データとは異なる言語の印刷データの処理を開始できることになる。また、複数の言語処理モジュールを、同形式の中間コード群を生成する複数のパーシングモジュールと、1個のレンダリングモジュールとに分けることは、レンダリングモジュール及び1個のパーシングモジュールの総サイズが、元となった言語処理モジュールのサイズよりもさほど大きくならない形で行うことが出来る。従って、本実施形態に係る印刷装置10も、RAM23の記憶容量が有効に利用された形で動作する印刷装置であって、用いられている言語が異なっている2つ以上の印刷データが連続的に送信されてきたときに、各印刷データの処理が素早く開始される印刷装置として機能することになる。 【0061】また、第2実施形態に係る印刷装置10は、レンダリングモジュールのダイナミック・ロードが行われない分、第1実施形態に係る印刷装置10よりも、高速に動作する装置として機能することにもなる。ただし、本印刷装置10用のパーシングモジュールを作成するためには、第1実施形態に係る印刷装置10用のパーシングモジュールの作成時には不要な作業(生成される中間コードの形式を統一する作業)を行うことが必要となるので、そのような作業を行いたくない場合等には、第1実施形態に係る印刷装置10の構成を採用すべきである。 【0062】<変形形態>各実施形態に係る印刷装置10は、各種の変形を行うことが出来る。例えば、CPU22に実行させる処理内容が比較的に簡単なレンダリングモジュールは、CPU22に実行させる処理内容が比較的に複雑なパーシングモジュールに比してサイズの小さなものとなるので、第1実施形態に係る印刷装置10を、図8に示したように、RAM23へのレンダリングモジュール#1〜#3のロードがスタティックに行われるように、変形しておいても良い。 【0063】また、レンダリングモジュールのダイナミック・ロードが行われる構成を採用する場合にも、パーシングモジュール毎にレンダリングモジュールを用意しておく(ROM25に記憶させておく)必要はない。例えば、幾つかのパーシングモジュールが同一形式の中間コードを生成するものであり、他の各パーシングモジュールがそれらとは異なる形式の中間コードを生成するものである場合(そのようなパーシングモジュール群がもっとも簡単に作成できる場合)には、同一形式の中間コードを生成する幾つかのパーシングモジュールに対して共通して利用されるレンダリングモジュールと、他の各パーシングモジュール用のレンダリングモジュールが内部に用意されているように、印刷装置10を構成しておいても良い。 【0064】さらに、各パーシングモジュールを、中間コードよりも基本的な情報を生成するものとしておき、各レンダリングモジュールをその情報から中間コードを生成した後、印刷用イメージデータを生成するものとしておいても良い。 【0065】また、各実施形態の印刷装置10を、2種或いは4種以上の言語をサポートするものに変形しても良いことや、RAM23上の各モジュールの記憶位置が上記したものと異ならせても良いことは、当然である。 【0066】 【発明の効果】本発明によれば、揮発性メモリの記憶容量が有効に利用された形で動作する、多言語をサポートした印刷装置であって、用いられている言語が異なっている2つ以上の印刷データが連続的に送信されてきたときに、各印刷データの処理が素早く開始される印刷装置を得ることが出来る。
|
| 【出願人】 |
【識別番号】000002369 【氏名又は名称】セイコーエプソン株式会社 【住所又は居所】東京都新宿区西新宿2丁目4番1号
|
| 【出願日】 |
平成14年5月13日(2002.5.13) |
| 【代理人】 |
【識別番号】100098235 【弁理士】 【氏名又は名称】金井 英幸
|
| 【公開番号】 |
特開2003−326772(P2003−326772A) |
| 【公開日】 |
平成15年11月19日(2003.11.19) |
| 【出願番号】 |
特願2002−136608(P2002−136608) |
|