JP2008225888A - 電子機器 - Google Patents

電子機器 Download PDF

Info

Publication number
JP2008225888A
JP2008225888A JP2007063780A JP2007063780A JP2008225888A JP 2008225888 A JP2008225888 A JP 2008225888A JP 2007063780 A JP2007063780 A JP 2007063780A JP 2007063780 A JP2007063780 A JP 2007063780A JP 2008225888 A JP2008225888 A JP 2008225888A
Authority
JP
Japan
Prior art keywords
firmware
message
program
language
electronic device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007063780A
Other languages
English (en)
Inventor
Nobuaki Takenaka
宣明 武仲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2007063780A priority Critical patent/JP2008225888A/ja
Publication of JP2008225888A publication Critical patent/JP2008225888A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】ユーザインタフェース用メッセージのローカライズを簡単にできるようにする。
【解決手段】電子機器(例えばプリンタ)の出荷当初、電子機器内のプログラムデバイス7には、初期的に、一つのマスタ言語(例えば英語)で表現されたコントロールパネル用とステータスシート用のメッセージデータ553,555が格納されている。後に、ユーザが、ホストコンピュータ1上で、ローカル言語で表現したコントロールパネル用とステータスシート用のメッセージデータ557,559を作成し、それらのメッセージデータ557,559で、プログラムデバイス7内のマスタ言語表現のメッセージデータ553,555を置換することができる。
【選択図】図2

Description

本発明は、一般には、プリンタのような電子機器に関し、特に、その電子機器のユーザインタフェースで用いられる自然言語のメッセージをローカライズするための技術に関する。
従来、プリンタのような電子機器において、そのユーザインタフェース(例えば、表示パネル、またはステータスシートのプリントアウトなど)で用いられる自然言語のメッセージは、その電子機器の使用地域適合するようにローカライズされる(すなわち、メッセージのテキストがその使用地域で通用する自然言語で表現される)ことが必要である。これに関して、例えば特許文献1には、キャッシュレジスタにおいて、英語によるメッセージデータと日本語によるメッセージデータと予め記憶装置に格納しておき、英語によるメッセージの出力が要求されているときには、英語によるメッセージデータを記憶装置から選択的に読み出し出力し、日本語によるメッセージが要求されたときには、日本語によるメッセージデータを選択的に記憶装置から読み出して出力することが開示されている。
特開平8−315249号公報
上述した従来技術によれば、任意の言語のメッセージデータが選択できるように、異なる自然言語でそれぞれ表現されたメッセージデータが、ファームウェアとして電子機器に予め搭載される。しかし、世界中の人々が親しめる電子機器を実現するためには、電子機器メーカは世界中の多数の自然言語のメッセージデータを予め準備してその電子機器に記憶させる必要がある。しかし、多数の言語のすべてについて適切なメッセージを用意することは、極めて難しく、多大な作業量が必要である。さらに、多数の言語のメッセージをすべて電子機器に搭載すると、電子機器内のファームウェアのデータ量が増え、それを記憶するためのプログラムデバイスの容量が増大し、コストアップを引き起こす。
従って、本発明の目的は、多数の自然言語で表現されたメッセージデータを予め電子機器に搭載してなくても、ユーザインタフェース用のメッセージをローカライズできるようにすることにある。
別の目的は、ユーザインタフェース用のメッセージをローカライズするためのの作業量を減らすことにある。
また別の目的は、電子機器に搭載されるファームウェアの量を大幅に増やさずに、ユーザインタフェース用のメッセージのローカライズを可能にすることにある。
本発明に従う電子機器は、前記電子機器のユーザインタフェース用のメッセージを定義したデータであって所定のマスタ言語で表現されたメッセージテキストを含むマスタ言語メッセージデータを初期的に格納した書き換え可能な記録媒体であるプログラムデバイスと、前記ユーザインタフェース用のメッセージを定義したデータであって前記マスタ言語とは異なるローカル言語で表現されたメッセージテキストを含むローカル言語メッセージデータを外部から受け、前記受けたローカル言語メッセージデータを前記プログラムデバイスに、前記マスタ言語メッセージデータと置換してまたは追加して格納するファームウェアメンテナンス手段とを備える。
この電子機器によれば、プログラムデバイスに初期的に格納されるメッセージデータは、所定のマスタ言語で表現されたメッセージを定義したものである。後に、プログラムデバイス内のマスタ言語のメッセージデータを、任意のローカル言語で表現したメッセージを定義したメッセージデータに置換したり、または、そのローカル言語のメッセージデータをプログラムデバイスに追加的に格納することができる。従って、多数の言語のメッセージデータを予めプログラムデバイスに格納しておかなくても、メッセージを任意のローカル言語にローカライズすることができる。
好適な実施形態では、前記メッセージの前記マスタ言語で表現されたメッセージテキストを表示するともに、前記ローカル言語で表現されたメッセージテキストをユーザに入力させ、入力された前記ローカル言語で表現されたメッセージテキストに基づいて、前記ファームウェアメンテナンス手段に提供されることになる前記ローカル言語メッセージデータを作成するメッセージビルダ手段が更に備えられる。
上記メッセージビルダ手段により、ユーザは、表示されたマスタ言語表現のメッセージテキストを参照しながら、ローカル言語表現のメッセージテキストを入力することができ、入力されたローカル言語表現のメッセージテキストに基づいて、自動的に、ローカル言語メッセージデータが作成される。従って、任意のローカル言語表現のメッセージデータを作成することが、ユーザにとり容易である。
好適な実施形態では、また、前記メッセージビルダ手段が、コンピュータにより前記ローカル言語をサポートしたオペレーシングシステム上で実行されるコンピュータプログラムにより実現される。メッセージビルダ手段を実現するコンピュータプログラムが、ローカル言語をサポートしたオペレーシングシステム上で実行されるから、ローカル言語の言語入力プログラムを別途に用意しなくても、ローカル言語で表現されたメッセージを作成することができる。
好適な実施形態では、また、前記メッセージビルダ手段が、前記ユーザが入力した前記ローカル言語で表現されたメッセージテキストを、前記電子機器のユーザインタフェースに表示されるときと同じレイアウトで表示する。ユーザは、この表示を参照することで、自分が入力したローカル言語のメッセージテキストが電子機器のユーザインタフェースで適切に表示されるかどうかを確認することができ、必要に応じて、そのメッセージテキストの文章、用語、改行位置などを修正することで、最適に表示されるメッセージテキストを作成することができる。
好適な実施形態では、また、前記プログラムデバイスは、前記マスタ言語メッセージデータの他に、前記電子機器に搭載可能な全ての機能のうちの一部の所定の複数種類の機能を提供するための所定の複数のファームウェアモジュールを初期的に格納し、前記初期格納されたファームウェアモジュールの合計サイズより大きい容量を持つ。そして、前記ファームウェアメンテナンス手段が、前記初期格納されたファームウェアモジュールとは別の種類の1以上のファームウェアモジュールを外部から受け、前記受けたファームウェアモジュールを前記プログラムデバイスに追加的又は置換的に格納し、且つ、前記プログラムデバイスに既に追加的に格納されたファームウェアモジュールを削除する。
この構成によれば、電子機器に搭載可能な全ての機能中の一部の機能のファームウェアモジュールがプログラムデバイスに格納されるから、プログラムデバイスの容量を全ファームウェアモジュールの合計サイズより小さくすることができる。プログラムデバイスの容量は、初期格納されたファームウェアモジュールの合計サイズよりは大きく、初期的に空エリアがあるので、後に必要に応じて、初期格納されたファームウェアモジュール以外のファームウェアモジュールをその空エリアに格納することができる。
好適な実施形態では、また、前記初期格納されたファームウェアモジュールは、前記電子機器の所定の必須機能を提供するための必須ファームウェアモジュールであり、前記別の種類1以上のファームウェアモジュールは、前記電子機器の前記必須機能とは別の1以上の種類のオプショナルな機能をそれぞれ提供するための1以上のオプショナルファームウェアである。さらに、前記必須ファームウェアモジュール中の少なくとも一つのファームウェアモジュールは、それと代替性のある所定の1種類以上のオプショナル機能をそれぞれ提供するための所定の少なくとも1つのオプショナルファームウェアモジュールと置換されることができる置換可能必須ファームウェアモジュールである。そして、前記ファームウェアメンテナンス手段は、前記所定の少なくとも1つのオプショナルファームウェアモジュールを外部から受けて、前記プログラムデバイス内の前記置換可能必須ファームウェアモジュールを、前記受けた所定のオプショナルファームウェアモジュールで置換するファームウェア置換手段を有する。
例えば、この電子機器が外部装置と通信するための複数種類の通信インタフェース装置を備える場合、前記置換可能必須ファームウェアモジュールは、前記複数種類のインタフェース装置の中の1種類のインタフェース装置を制御するためのインタフェース制御プログラムであってよく、前記置換可能必須ファームウェアモジュールと置換可能である前記所定の少なくとも1つのオプショナルファームウェアモジュールは、前記複数種類のインタフェース装置の中の他の少なくとも1種類のインタフェース装置を制御するための少なくとも1つのインタフェース制御プログラムであってよい。
あるいは、例えば、この電子機器が、印刷ジョブデータを外部から受けて印刷を行うプリンタである場合、前記置換可能必須ファームウェアモジュールが、前記印刷ジョブデータで使用され得る複数種類の印刷言語の中の1種類の印刷言語を解釈するための印刷言語制御プログラムであってよく、また、前記置換可能必須ファームウェアモジュールと置換可能である前記所定の少なくとも1つのオプショナルファームウェアモジュールが、前記複数種類の印刷言語の中の他の少なくとも1種類の印刷言語をそれぞれ解釈するための少なくとも1つの印刷言語制御プログラムであってよい。
このような構成により、電子機器に、代替可能な複数の機能が搭載可能である場合、それら複数の機能のファームウェアモジュールの全てをプログラムデバイスに格納する必要はなく、少なくとも1つ又は少数の良く利用する機能のファームウェアモジュールだけを格納しておくことができるから、プログラムデバイスの容量が節約できる。
また、好適な実施形態では、この電子機器は、前記1以上のオプショナルファームウェアモジュール及び前記置換可能必須ファームウェアモジュールを格納した外部記憶装置と通信可能である。そして、前記ファームウェアメンテナンス手段は、前記外部記憶装置からいずれかのオプショナルファームウェアモジュール又はいずれかの置換可能必須ファームウェアモジュールを受けて、前記受けたファームウェアモジュールを前記プログラムデバイスに追加的又は置換的に格納する手段を有する。
この構成によれば、外部記憶装置内にオプショナルファームウェアモジュールだけでなく置換可能必須ファームウェアモジュールも格納されていて、そこからいずれかのファームウェアモジュールを受けてプログラムデバイスに格納できる。それゆえ、プログラムデバイス内の置換可能必須ファームウェアモジュールを、外部記憶装置からの代替性のあるオプショナルファームウェアモジュールと置換することだけでなく、そのような置換を行った後に、逆方向に置換をして再び置換可能必須ファームウェアモジュールをプログラムデバイスに戻すこともできる。
好適な実施形態では、この電子機器は、前記別の種類の1以上のファームウェアモジュールを格納した外部記憶装置と通信可能である。そして、前記ファームウェアメンテナンス手段は、前記プログラムデバイスと前記外部記憶装置とを調べて、前記外部記憶装置内の1以上のファームウェアモジュールと置換可能な1以上のファームウェアモジュールを、前記プログラムデバイスからピップアップし、前記プログラムデバイスからピックアップされたい1以上のファームウェアモジュールと置換可能である1以上のファームウェアモジュールを、前記外部記憶装置からピックアップする手段と、前記外部記憶装置からピックアップされた1以上のファームウェアモジュールの中から、ユーザに1つのファームウェアモジュールを選択させる手段と、前記ユーザ選択された1つのファームウェアモジュールで、前記プログラムデバイスからピックアップされた1以上のファームウェアモジュール中の、前記ユーザ選択された1つのファームウェアモジュールと代替可能な1つのファームウェアモジュールを、前記ユーザ選択された1つのファームウェアモジュールで置換する手段とを有する。
この構成によれば、ファームウェアメンテナンス手段が、プログラムデバイスと外部記憶装置とを調べて、互いに置換可能なファームウェアモジュールの組をピックアップし、そのピックアップされたものの中から、ユーザが置換対象のファームウェアモジュールを選択することができる。それゆえ、特にファームウェアモジュールの種類が多い場合に、ユーザの操作が楽でかつ間違いが少ない。
好適な実施形態では、この電子機器は、前記プログラムデバイスの記憶エリアの中で、前記ファームウェアモジュールが格納されてないエリアを、前記ファームウェアモジュールの格納とは別の目的に使用する空エリア管理手段を更に備える。これにより、空エリアを有効活用して、電子機器の性能を高めることができる。
好適な実施形態では、この電子機器は、ホスト装置の周辺デバイスであり、前記ホスト装置に前記電子機器のためのデバイスドライバがインストールされるときに、前記ファームウェア置換手段が動作するようになっている。これにより、周辺デバイスとしてのこの電子機器を利用する環境をセットアップするときに、電子機器内のファームウェアを、初期格納されたファームウェアモジュールの組み合わせより適切な組み合わせへとセットアップできるので、ユーザにとり使い易い。
本発明によれば、多数の自然言語で表現されたメッセージデータを予め電子機器に搭載してなくても、ユーザインタフェース用のメッセージをローカライズできる。また、それぞれの地域において、その地域での通用言語のメッセージを作成すればすむので、メッセージをローカライズするためのの作業量が少なてすむ。また、電子機器に搭載されるファームウェアの量を大幅に増やさずに、メッセージのローカライズが可能である。
図1は、本発明に従う電子機器の一実施形態であるプリンタとホストコンピュータを有するプリントシステムの全体構成を示す。
図1に示すように、プリントシステム100は、プリンタ1と、これに通信可能に接続されたホストコンピュータ3とを備える。プリンタ1は、CPU5、プログラムデバイス7、コントロールパネル9、印刷エンジン11、エンジンコントローラ23、及びホスト装置との通信用の複数種類の通信インタフェース装置15、17、19などを備える。
プログラムデバイス7は、例えばフラッシュメモリのような書換え可能な不揮発性メモリであり、そこには、複数のファームウェアモジュールが記憶されるが、それらの具体例は後に説明する。CPU5は、プログラムデバイス7からファームウェアモジュールをロードしそれを実行することにより、プリンタ1の各部の動作を制御する。コントロールパネル9は、ユーザが手動でプリンタ1を操作したり、プリンタ1からのユーザ向けのメッセージを表示したりするための装置である。コントロールパネル9に表示されるユーザ向けのメッセージ(例えば、エラーの発生を報じるエラーメッセージや、プリンタ1の操作の仕方を教えるヘルプメッセージなど)は、本発明の原理に従ってローカライズする(そのテキストを、使用地域で通用する自然言語により表現する)ことができるようになっている。印刷エンジン11は、用紙へインクを付着させて画像を印刷する動作を行うための機構及び回路である。エンジンコントローラ13は、CPU5から印刷データを受けて印刷エンジン11を駆動し制御する回路である。必要に応じて、プリンタ1の各種の状態を報じるためのテータスシートが印刷エンジン11から出力されるようになっているが、そのステータスシート上に表示(印刷)されるメッセージも、本発明の原理に従ってローカライズすることができるようになっている。
複数種類の通信インタフェース装置15、17、19は、それぞれ、ホストコンピュータ3やその他の周辺デバイスと通信するためのものである。この実施形態では、一例として、1種類の通信インタフェース装置15のみがホストコンピュータ3との接続で使用されているが、残りのインタフェース17、19は使用されていない。
ホストコンピュータ3は、汎用的なコンピュータ、デジタルカメラあるいはその他の情報処理機器であってよく、CPU21、RAM23、ROM25、ストレージ装置27、及びプリンタ1のような外部の電子機器との通信用の複数種類のインタフェース装置31、33、35などを備える。複数種類のインタフェース装置31、33、35のうち、この実施形態では、一つのインタフェース装置31がプリンタ1との接続に使用されている。
ストレージ装置27は、例えばハードディスクドライブであり、そこには、CPU21により実行されたり、あるいはプリンタ1へ送信されたりすることになる、各種のプログラムが格納されている。それらのプログラムの代表は、オペレーティングシステム40である。オペレーティングシステム40は、望ましくは、例えばマイクロソフト社のWindows(登録商標)のように世界中で広く使われていて、世界中で最も共通的に使われる所定の自然言語(例えば英語)(以下、「マスタ言語」という)をサポートするとともに、そのオペレーティングシステム40が使用される地域で通用するローカルな自然言語(例えば、使用地域が日本国の場合の日本語)(以下、「ローカル言語」)をサポートしている。従って、そのオペレーティングシステム40上では、マスタ言語とローカル言語のいずれをも用いたテキストの作成が可能である。
さらに、ストレージ装置27には、オペレーティングシステム40上で動作する種々のアプリケーションプログラム、及びそれらのアプリケーションプログラム用の各種のファイルが格納され得る。それらのうち、プリンタ1に関連するプログラムとして、プリンタドライバ41、ファームウェアセットアッププログラム43、オプショナルファームウェアモジュール群45、メッセージビルダプログラム47及びメッセージビルダプログラム47用のファイルであるメッセージファイル49が、図1に示されている。
プリンタドライバ41は、CPU21に実行されることで、主に、アプリケーションプログラムから文書データを受けて印刷ジョブデータを作成し、その印刷ジョブデータをプリンタ1に送る処理を行う。ファームウェアセットアッププログラム43は、CPU21に実行されることで、プリンタ1のプログラムデバイス7にユーザ所望のファームウェアモジュールを追加したり、消去したり、或いは置換したりすることをプリンタ1に命令し、かつ、追加されるファームウェアモジュールをオプションファームウェアモジュール群45から選んでプリンタ1へ送信する。オプションファームウェアモジュール群45は、プリンタ1のプログラムデバイス7に追加されたり、消去されたり、或いは置換されたりすることができる複数のファームウェアモジュールの集まりであり、その具体例は後述する。
メッセージビルダプログラム47は、CPU21に実行されることで、ユーザインタフェース用(すなわち、コントロールパネル用及びステータスシート用)の種々のメッセージのテキスト(以下、「メッセージテキスト」という)をローカル言語で作成する(具体的には、メッセージファイル49を読み込み、ユーザに、ローカル言語のメッセージテキストを入力させ、入力されたローカル言語のメッセージテキストをメッセージファイル49に記録し、そして、そのメッセージファイル49を保存する)プログラムである。メッセージファイル49は、ユーザインタフェースに必要なすべてのメッセージを定義したデータ(以下、「メッセージデータ」という)を記録するファイルである。メッセージファイル49に記録されるメッセージデータには、各メッセージのメッセージID、マスタ言語表現されたメッセージテキスト(これは、デフォルトデータとして初期的に記録されている)、及びローカル言語で表現されたメッセージテキスト(これは、初期的にはブランク又はメッセージ未作成を示す所定コードであり、メッセージビルダプログラム47により後にローカル言語のメッセージテキストが作成された場合に記録される)などのデータ要素が含まれる。
メッセージビルダプログラム47によってメッセージファイル49にローカル言語のメッセージテキストが記録され終わった後、上述したファームウェアセットアッププログラム43が、メッセージファイル49を読み込んで、メッセージファイル49から、プリンタ1のファームウェアモジュールであるローカル言語パネルメッセージデータ(ローカル言語でそのテキストが表現されたコントロールパネル用のメッセージのデータ)とローカル言語ステータスシートデータ(ローカル言語でそのテキストが表現されたステータスシート用のデータ)を作成することができる。ファームウェアセットアッププログラム43は、作成されたローカル言語パネルメッセージとローカル言語ステータスシートデータとをプリンタ1に送信して、それらのメッセージデータをプログラムデバイスに格納させることができる。
上述したプリンタ用のプログラム41〜47及びファイル49のうち、プリンタドライバ41、ファームウェアセットアッププログラム43及びオプショナルファームウェアモジュール45は、プリンタ1の販売時にプリンタ1に添付されるCD−ROMのような外部記録媒体、あるいは、プリンタメーカが提供する広域ネットワーク上のダウンロードサイトなどから、ホストコンピュータ3に供給されることができる。従って、プリンタ1を購入したエンドユーザは、自分の使用するホストコンピュータ3に、上記のプログラム41〜45をインストールして使用することができる。また、エンドユーザだけでなく、プリンタ1をそれぞれの地域の市場に提供する業者も、自分の使用するホストコンピュータ3に、上記のプログラム41〜45をインストールして使用することができる。
ファームウェアセットアッププログラム43の実行は、ユーザが任意の時に行えるようになっていてもよいし、プリンタドライバ41がインストールされるときに、自動的に行われるようになっていてもよい。後者の場合、エンドユーザがプリンタ1の使用環境をセットアップするときに、プリンタ1内のファームウェアのセットアップ(エンドユーザにとって最適と思われるファームウェアモジュールを取捨選択してプリンタ1にセットアップすること)が行えるので便利である。また、プログラム43とオプションファームウェアモジュール群45は、必ずしも、ストレージ装置27にインストールされてなくてもよく、例えばプリンタドライバ41をインストールするためのプリンタ1に付属のCD−ROMのような外部記録媒体に格納されていて、実行時にはそこからCPU21にロードされるようになっていてもよい。
他方、メッセージビルダプログラム47とメッセージファイル49は、ユーザインタフェース用メッセージをローカライズするという用途の性質上、上記のプログラム41〜45とは異なり、エンドユーザではなく、プリンタ1をそれぞれの地域に提供する業者によって使用されるのが通常である(勿論、エンドユーザが使用できてもよい)。メッセージビルダプログラム47とメッセージファイル49は、プリンタメーカからそれぞれの地域の市場を担当するローカルな業者に対し、CD−ROMのような記録媒体または通信ネットワークを通じて提供され得る(勿論、エンドユーザにも提供されてよい)。それぞれのローカル業者(又はエンドユーザ)は、自分の使用するホストコンピュータ3に、メッセージビルダプログラム47とメッセージファイル49をインストールして(加えて、ファームウェアセットアッププログラム43もインストールして)、それらのプログラムを用いてユーザインタフェース用メッセージをローカライズし、ローカライズされたユーザインタフェース用メッセージデータ(上述したローカル言語パネルメッセージデータとローカル言語ステータスシートデータ)を、プリンタ1のプログラムデバイス7に格納することができる。また、とりわけ、ローカライズされたユーザインタフェース用メッセージを記録済みのメッセージファイル49は、業者にとってもエンドユーザにとっても利用価値の高いものであるから、そのような記録済みのメッセージファイル49が、それを有する者からネットワーク上のダウンロードサイトにアップロードされ、そして、そのダウンロードサイトから、その記録済みのメッセージファイル49が公に提供され得るようになっていることが望ましい。ここで、メッセージビルダプログラム47とメッセージファイル49のそれ自体が提供するユーザインタフェースは、例えばマスタ言語のような一つの言語で表現されていればよく、ローカル言語で表現されるる必要はない。それぞれのローカル業者(又はエンドユーザ)は、それぞれの地域のローカル言語をサポートしたオペレーティングシステム40上でメッセージビルダプログラム47を実行するであろうから、自ずと、メッセージビルダプログラム47上で、ローカル言語を用いたメッセージテキストの作成が可能である。
なお、上述したどのプログラムをエンドユーザとローカル業者のいずれが使用するかという点は、本発明の技術的な本質に直接関わることではない。そこで、以下の説明では、エンドユーザもローカル業者も区別せずに「ユーザ」と総称する。
図2は、図1に示されたプリントシステム1において、プリンタ1のユーザインタフェース用メッセージをローカライズしたり、プリンタ1内のファームウェアを追加、消去、置換するための機能的構成をより具体的に示す。
図2において、メッセージローカライズプロセス85は、図1に示したメッセージビルダプログラム47がホストコンピュータ1により実行されることで行われる制御プロセスである。ファームウェアセットアッププロセス81は、図1に示したファームウェアセットアッププログラム43がホストコンピュータ1により実行されることで行われる制御プロセスである。また、ファームウェアメンテナンスプロセス83とは、プリンタ1のプログラムデバイス7に格納されたファームウェアモジュールの一つである後述のファームウェアメンテナンスプログラム59が、プリンタ1により実行されることにより行われる制御プロセスである。ホストコンピュータ1で、ファームウェアセットアッププログラム43が起動されてファームウェアセットアッププロセス81が開始されると、ファームウェアセットアッププロセス81はプリンタ1に命じてファームウェアメンテナンスプログラム59を起動させ、ファームウェアメンテナンスプロセス83が開始するようになっている。メッセージビルダプログラム47は、ファームウェアセットアッププロセス81とは非同期で実行されることができる。
図2に示されるように、ファームウェアセットアッププロセス81とファームウェアメンテナンスプロセス83とが、互いに連携して、ホストコンピュータ3内のオプショナルファームウェアモジュール群45中から任意のファームウェアモジュールを選択して、選択されたファームウェアモジュールを、プリンタ1内のプログラムデバイス7に書き込むことができる。それだけでなく、ファームウェアセットアッププロセス81とファームウェアメンテナンスプロセス83とは、互いに連携して、プログラムデバイス7から不要なファームウェアモジュールを削除したり、或いは、プログラムデバイス7内の或るファームウェアモジュールを、オプショナルファームウェアモジュール群45中の代替可能なファームウェアモジュールで置換したりすることができる。
また、メッセージローカライズプロセス85は、メッセージファイル49を読み込み、ユーザにローカル言語のメッセージテキストを入力させ、入力されたローカル言語のメッセージテキストをメッセージファイル49に記録し、そして、記録の終わったメッセージファイル49を保存することができる。ファームウェアセットアッププロセス81は、ローカル言語のメッセージテキストが記録されたメッセージファイル49を読み込み、読み込まれたメッセージファイル49から、プリンタ1のプログラムデバイスにファームウェアモジュールとして格納可能なローカル言語パネルメッセージデータ557とローカル言語ステータスシートデータ559を作成し、作成されたローカル言語パネルメッセージデータ557とローカル言語ステータスシートデータ559とをファームウェアメンテナンスプロセス83に送信することができる。ファームウェアメンテナンスプロセス83は、受信されたローカル言語パネルメッセージデータ557とローカル言語ステータスシートデータ559をプログラムデバイス7に格納することができる。このとき、上述したようなファームウェアモジュールを置換する方法(すなわち、既にプログラムデバイス7に格納されている別のパネルメッセージデータ及びステータスシートデータと置換する方法)が用いられる(あるいは追加する方法を用いることもできる)。このように、ファームウェアセットアッププロセス81とファームウェアメンテナンスプロセス83とが、互いに連携して、ローカライズされたユーザインタフェース用メッセージデータを、プリンタ1内のプログラムデバイス7に書き込むことができる。
ところで、プリンタ1の工場出荷時において、プリンタ1内のプログラムデバイス7には、図2に例示されるような所定の複数のプログラムモジュール51〜63が、初期的に格納されている。これらの初期格納されたプログラムモジュール51〜63は、プリンタ1に必須な(必須と考えられる)所定の機能(以下、「必須機能」といい、例えば、印刷機能、ホストコンピュータとの通信機能、ユーザインタフェース(コントロールパネル)の機能、及び、本発明の原理に従ったファームウェアをメンテナンスする機能など)をそれぞれ実現するためのファームウェアモジュールであり、これらを以下、「必須ファームウェアモジュール」という。
プログラムデバイス7の容量は、望ましくは、初期格納された必須プログラムモジュール51〜63の合計サイズより大きく、その容量中の余った分の領域は、ユーザエリア65として管理される。ユーザエリア64は、ファームウェア以外のデータ又はプログラム、例えば、ユーザが任意に入力したフォントデータ、文書フォームデータ、または、ホストコンピュータ3などから入力された印刷ジョブデータなどのユーザデータを記憶するために利用可能である。
必須ファームウェアモジュールが提供する必須機能は、プリンタ1に搭載可能な全部の機能ではなく、そのうちの一部にすぎない。必須機能以外のオプショナルな機能を提供するためのファームウェアモジュール67、69、71〜77は、プログラムデバイス7に初期的には格納されておらず、代わりに、オプショナルファームウェアモジュール群45に含まれており、後に、ファームウェアセットアッププロセス81とファームウェアメンテナンスプロセス83とを通じて、プログラムデバイス7に追加的に又は置換的に格納することができるようになっている。ユーザエリア65のサイズは、このような後の追加的又は置換的なモジュール格納によって変化する。
この実施形態では、プログラムデバイス7に初期格納された必須ファームウェアモジュールには、例えば、プリンタOS(プリンタのオペレーティングシステム)51、プリンタ1に搭載された所定デバイス用のデバイスドライバ群53、パネル制御プログラム55、所定周辺機器の制御用やその他の所定必須機能用のプログラム57、ファームウェアメンテナンスプログラム59などが含まれる。ここで、ファームウェアメンテナンスプログラム59は、プリンタ1のCPU5により実行されることで、上述したファームウェアメンテナンスプロセス83を行うものである。ファームウェアメンテナンスプロセス83は、ホストコンピュータ3におけるファームウェアセットアッププログラム43の実行によって行われるファームウェアセットアッププロセス81と連携して、プログラムデバイス7内のファームウェアモジュールの追加、削除及び置換の動作を行う。
プログラムデバイス7に初期格納された必須ファームウェアモジュールには、さらに、少なくとも1種類(または最低限必要な小数種類)の印刷制御言語プログラム61と、少なくとも1種類(または最低限必要な小数種類)のホスト通信インタフェース制御プログラム63が含まれる。印刷制御言語(印刷ジョブデータで使用される言語)には複数種類のもの(例えば、プリンタ1のメーカが独自に定義した印刷制御言語、或るいはPostScriptの様な標準的なページ記述言語、各種のエミュレータなど)があるが、このうちプリンタ1で最もよく使われる1種類(または最低限必要な種類)の言語(例えば、プリンタ1のメーカが独自に定義した印刷制御言語)を解釈する印刷制御言語プログラム61が、必須ファームウェアモジュールとして初期格納されている。また、ホスト通信用のインタファースにも複数種類のもの(例えば、図1に示した複数種類のインタフェース15〜19であり、例えば、パラレルインタフェース、USB、ネットワークインタフェースなど)があるが、その中で、プリンタ1で最もよく使われる1種類(または最低限必要な種類)の通信インタフェース(例えば、図1に示した1種類の通信インタフェース装置15であり、例えばUSB)の制御プログラム63が、必須ファームウェアモジュールとして初期格納されている。
ここで、印刷制御言語プログラム61は、これと代替性をもつ別種類のオプショナルな印刷言語制御機能を提供するオプショナルな印刷制御言語プログラムと置換されることができる。その理由は、プリンタ1に搭載可能な全ての種類の印刷制御言語が必ずしも使用できなければならないわけではなく、ユーザが利用する少なくとも1種類のプリンタ制御言語が使用できれば、プリンタの必要条件を満たすからである。必須ファームウェアモジュールとしての印刷制御言語プログラム61、及びこれと代替性のある他種類のオプショナルな印刷制御言語プログラム67、69は、オプショナルファームウェアモジュール群45に含まれており、後に、ファームウェアセットアッププロセス81とファームウェアメンテナンスプロセス83とを通じて、プログラムデバイス7に追加的に又は置換的に格納することができ、また、置換や追加をした後に元へ戻すこともできるようになっている。
これと同様に、通信インタフェース制御プログラム63も、これと代替性をもつ別種類のオプショナルな通信インタフェース機能を提供するオプショナルな通信インタフェース制御プログラムと置換されることができる。その理由は、プリンタ1に搭載可能な全ての種類の通信インタフェースが必ずしも使用できなければならないわけではなく、ユーザが利用する少なくとも1種類の通信インタフェースが使用できれば、プリンタの必要条件を満たすからである。必須ファームウェアモジュールとしての通信インタフェース制御プログラム63、及びこれと代替性のある他種類のオプショナルな通信インターフェース制御言語プログラム71、73は、オプショナルファームウェアモジュール群45に含まれており、後に、ファームウェアセットアッププロセス81とファームウェアメンテナンスプロセス83とを通じて、プログラムデバイス7に追加的に又は置換的に格納することができ、また、置換や追加をした後に元へ戻すこともできるようになっている。
プログラムデバイス7に初期格納された必須ファームウェアモジュールのうち、印刷制御言語プログラム61と通信インタフェース制御プログラム63のように、それと代替性のある他の種類のファームウェアモジュールによって置換され得るものを、以下、「置換可能必須ファームウェアモジュール」という。これに対し、プリンタOS51、デバイスドライバ群53、周辺機器制御プログラム57及びファームウェアメンテナンスプログラム59のように、他の種類のファームウェアモジュールで置換し得ない必須ファームウェアモジュールを、以下、「絶対必須ファームウェアモジュール」という。
ここで、必須ファームウェアモジュールの一つであるパネル制御プログラム55は、図2に示されるように、パネル基本制御プログラム551と、マスタ言語パネル制御メッセージデータ553と、マスタ言語ステータスシートデータ555とを有する。パネル基本制御プログラム551は、プリンタ1のユーザインタフェースの動作の制御(すなわち、コントロールパネル9の動作の制御及びステータスシートの印刷の制御)を行うためのプログラムである。マスタ言語パネル制御メッセージデータ553は、マスタ言語で各メッセージのテキストが表現されたコントロールパネル用メッセージを定義したデータであり、マスタ言語ステータスシートデータ555は、マスタ言語で各メッセージのテキストが表現されたステータスシート用メッセージを定義したデータである。パネル基本制御プログラム551は上述した「絶対必須ファームウェアモジュール」に属するが、マスタ言語パネル制御メッセージデータ553とマスタ言語ステータスシートデータ555は上述した「置換可能必須ファームウェアモジュール」に属する(それらは、ローカル言語パネル制御メッセージデータ557とローカル言語ステータスシートデータ559と置換可能である)。従って、プリンタ1のコントロールパネル9やステータスシートには、初期的には、マスタ言語パネル制御メッセージデータ553とマスタ言語ステータスシートデータ555により定義されたマスタ言語のメッセージが表示される。しかし、後に、ローカル言語パネル制御メッセージデータ557とローカル言語ステータスシートデータ559が、マスタ言語パネル制御メッセージデータ553とマスタ言語ステータスシートデータ555と置換して(または、追加して)、プログラムデバイス7に格納され得る。そうすると、プリンタ1のコントロールパネル9やステータスシートには、ローカル言語パネル制御メッセージデータ557とローカル言語ステータスシートデータ559により定義された、ローカル言語のメッセージが表示され得る。
他方、ホストコンピュータ3に格納されたオプショナルファームウェアモジュール群45には、上述したように、プログラムデバイス7に追加的に又は置換的に格納することができる複数のオプショナルなファームウェアモジュール67〜77が含まれており、これらを以下、「オプショナルファームウェアモジュール」という。これらのオプショナルファームウェアモジュールの中には、既に説明したオプショナルな印刷制御言語プログラム67、69及びオプショナルな通信インタフェース制御プログラム71、73の他に、付加的な機能をプリンタ1に提供するためのファームウェアモジュールとして、ネットワークOS75及びハードディスク制御プログラム77がある。ネットワークOS75は、追加機能としてのLANなどのネットワークでの通信機能を提供するオペレーシングシステムである。ハードディスク制御プログラム77は、追加機能としてハードディスクドライブ使用機能を提供するためのデバイスドライバである。メッセージファイル49から作成されるローカル言語パネル制御メッセージデータ557とローカル言語ステータスシートデータ559も、「オプショナルファームウェアモジュール」に属する。
さらに、上述した置換可能必須ファームウェアモジュールである印刷制御言語プログラム61と通信インタフェース制御プログラム63も、オプショナルファームウェアモジュール群45に含まれている。その理由は、その必須ファームウェアモジュールが別の代替性のあるオプショナルファームウェアモジュールに置換にされた後に、再びその必須ファームウェアモジュールを格納することができるようにするためである。
このようなオプショナルファームウェアモジュール群45やメッセージファイル49(ローカル言語のメッセージデータ557,559)中から、ユーザが利用したい一部のオプショナルファームウェアモジュールだけを選択して、プログラムデバイス7に置換的又は追加的に格納することが、プログラムデバイス7の容量を超えない範囲内で可能である。もし、プログラムデバイス7の容量が、全ての必須及びオプショナルファームウェアモジュールの合計のサイズ以上に大きければ、全ての必須及びオプショナルファームウェアモジュールをプログラムデバイス7に格納することが可能である。図3は、全ての必須及びオプショナルオプショナルファームウェアモジュールがプログラムデバイス7に格納された状態を示している。従来技術によれば、プログラムデバイスの容量は、全てのファームウェアモジュール(全ての言語のメッセージデータを含む)を収容できるよう大きく、プログラムデバイスは初期的に図3に示すように、全てのファームウェアモジュールを格納した状態になっている。これに対し、本実施形態によれば、必須ファームウェアモジュールだけが初期的にプログラムデバイス7に格納されており、後に、ユーザが必要と考えるオプショナルファームウェアモジュールを選択的にプログラムデバイス7に追加的又は置換的に格納すればよい。特に、メッセージデータについては、図2に示された初期格納のマスタ言語のメッセージデータ553、555を、ホストコンピュータ3側で作成された一つのローカル言語のメッセージデータ557、559に置換して図4に示されるようにすればよく、図3に示されるようにマスタ言語のローカル言語のメッセージデータ553、555、557、559の全てを格納する必要はない。そのため、プログラムデバイス7の容量は、全てのファームウェアモジュールの合計サイズより小さく、必須ファームウェアモジュールの合計サイズより大きい適当値に選ぶことができ、プログラムデバイス7の容量とコストの増大を抑えることができる。加えて、プログラムデバイス7に格納されるファームウェアモジュールの数を極力少なくすれば、ユーザエリア65として使用できる容量が増えるから、プリンタ1のパフォーマンスの向上が期待できる。
なお、図2〜図4を参照して上に説明した各種のファームウェアモジュールの具体例は、本発明の説明のための簡単な例を示したにすぎず、本発明の実施品では、本発明の要旨を逸脱しない範囲で、これらの例示とは異なる種類の或いはより多くの種類のファームウェアモジュールが、必須ファームウェアモジュール又はオプショナルファームウェアモジュールとして採用され得る。
図5は、ユーザインタフェース用メッセージのローカライズのために使用されるメッセージファイル49の構成例を示す。
図5に示されるように、メッセージファイル49には、ローカライズの必要な多数のメッセージの各々について、そのメッセージにユニークに割り当てられたメッセージID、マスタ言語で表現されたメッセージテキスト、ローカル言語で表現されたメッセージテキスト、及びそのメッセージがメッセージテキストに加えてイメージを含むか否かを示すフラグ(例えば、付く場合には“yes”)及び付く場合のそのイメージのファイル名(イメージファイル自体は、図示してないが、図1に示されたストレージ装置27に格納されている)を示すイメージ指定が記録される。メッセージファイル49のファイル形式は、ユーザが取り扱いやすい形式であることが望ましく、例えばCSV形式である。
メッセージファイル49において、各メッセージのローカル言語表現のメッセージテキストは、既に説明したように、メッセージビルダプロセス85によりそれが作成された場合にメッセージファイル49内に記録されるものであり、作成前はブランクであるか、又は未作成を意味する所定コードが記録されている。各メッセージのマスタ言語表現のメッセージテキストは、メッセージファイル49に初期的に記録されており、それは、図2に示されたプログラムデバイス7内に初期格納されたマスタ言語のメッセージデータ553、555により定義されたメッセージテキストと同じである。
また、各メッセージのメッセージIDは、望ましくは、単にそのメッセージを他のメッセージから識別するためだけのコードではなく、そのメッセージの種類、意味又は属性を示す複数のコードの組み合わせを含んだものである。例えば、或るエラーを報知するためのエラーメッセージの場合、そのエラーの大分類を示すコード(所謂エラー番号)、その大分類中の細分類を示すコード、及びそのメッセージをコントロールパネル9のディスプレイスクリーンに表示するときのページ総数を示す番号などの組み合わせが、そのエラーメッセージのメッセージIDに含まれる。それにより、メッセージビルダプログラム47及び/又はパネル基本制御プログラム551は、各メッセージのメッセージIDに基づいて、各メッセージの種類、意味又は属性を自動的に把握することができ、そして、把握された種類、意味又は属性に基づいて、各メッセージの表示動作を制御することができる。例えば、ユーザがメッセージビルダプログラム47を用いて或るメッセージのローカル言語表現テキストを作成するとき、メッセージビルダプログラム47は、そのメッセージのメッセージIDから、そのメッセージの種類、意味又は属性を自動把握して、その種類、意味又は属性を自然言語(例えばマスタ言語)で表現した文字列をメッセージビルダプログラム47のユーザインタフェース画面に表示し、それにより、ユーザは自分が今ローカライズしているメッセージがどのような種類又は意味を持つメッセージであるかを容易に理解することができる。
図6と図7は、ユーザがメッセージビルダプログラム47(メッセージビルダプロセス85)を用いてメッセージのローカライズを行うときに、ホストコンピュータ3のディスプレイスクリーンに表示されるメッセージビルダプログラム47の2つのユーザインタフェース画面を示す。
図6に示された画面は、ユーザにローカル言語表現のメッセージテキストを入力させるためのメイン画面80である。メイン画面80において、メッセージリストエリア81には、メッセージビルダプログラム47に読み込まれたメッセージファイル49に記録されている多数のメッセージのメッセージIDが、各行に各メッセージIDが記述されたリストの形で表示される。メッセージリストエリア81上の任意の行(メッセージID)を選択することで、ユーザはローカライズ対象のメッセージを選択することができ、選択された行(メッセージID)は非選択の行(メッセージID)とは異なる所定の色で表示される。メッセージIDエリア83には、選択されたメッセージの種類、意味又は属性(上述したように、メッセージビルダプログラム47が、選択されたメッセージIDから把握したもの)が、自然言語(例えばマスタ言語)表現の文字列で表示される。
メイン画面80において、編集エリア85には、選択されたメッセージについて、ユーザが入力したローカル言語表現のメッセージテキストが表示される。マスタ言語メニュー88には、マスタ言語がどの自然言語であるかが表示される。この実施形態では、マスタ言語は1つ(例えば英語)に決められており、マスタ言語メニュー87にはその一つの言語しか表示されないが、変形例として、複数の言語が選択できてもよく、その場合には、メッセージファイル49にも、その複数のマスタ言語でそれぞれ表現されたメッセージテキストが初期的に記録されることになる。
ローカル言語メニュー89には、ローカル言語がどの自然言語であるかが表示される。メッセージビルダプログラム47は、起動されると、ホストコンピュータ3のオペレーティングシステム40がサポートしている通常は複数の自然言語が何であるかを自動的に調べ、それらの自然言語をローカル言語メニュー89に自動的に登録する。これにより、ユーザは、ローカル言語メニュー89上で、オペレーティングシステム40がサポートしている通常は複数の自然言語の中からの、任意の一つの言語をローカル言語として選択することができる。メッセージビルダプログラム47は、編集エリア85にユーザがキーボードなどを用いてメッセージテキストを入力するとき、オペレーティングシステム40内の選択されたローカル言語の言語処理プログラムを選択的に使用するので、選択されたローカル言語で表現された入力メッセージテキストが編集エリア85に自動的に表示されることになる。
リフレッシュボタン86がユーザにより押されると、メッセージビルダプログラム47は、編集エリア85に入力されたローカル言語表現のメッセージテキストを、メッセージファイル49の選択されたメッセージのローカル言語表現メッセージのフィールドに記録する。
図7に示された画面は、リアルタイムメッセージビューワ画面90である。図7に示されたメイン画面80上のリアルタイムメッセージビューワボタン87がユーザに押されると、図7に示されたリアルタイムメッセージビューワ画面90が表示され、リアルタイムメッセージビューワボタン87が再び押されると、リアルタイムメッセージビューワ画面90が消える。リアルタイムメッセージビューワ画面90には、第1ビューワエリア91と第2ビューワエリア93とが並んでいる。第1ビューワエリア91には、メッセージファイル49に初期的に記録されている選択メッセージのマスタ言語表現のメッセージテキストが表示され、第2ビューワエリア93には、メイン画面80上で入力された選択メッセージのローカル言語表現のメッセージテキストが表示される。第1ビューワエリア91と第2ビューワエリア93の双方において、メッセージテキストは、コントロールパネル9またはステータスシートに表示されるときと同じレイアウトで表示すされる。従って、その選択メッセージにイメージが含まれる場合には、メッセージテキストとイメージとが一緒に、コントロールパネル9またはステータスシートに表示されるときと同じレイアウトで表示される。これにより、ユーザは、入力したローカル言語のメッセージテキストが、コントロールパネル9またはステータスシート上で、イメージと重なったりするような不具合なく、良好な配置で表示されるかどうかを確かめることができる。もし、その配置が悪ければ、ユーザは、メイン画面80の編集エリア85上で、メッセージテキストの文章や用語や改行位置などを変更してメッセージテキストの配置に修正することすることができ、そうすると、メッセージビルダプログラム47は、第2ビューワエリア93に、変更後の配置でメッセージテキストを改めて表示するので、ユーザは、最もよい配置になるようにメッセージテキストを編集することができる。
上記のようにしてメッセージビルダプログラム47(メッセージビルダプロセス85)上でユーザにより作成されたそれぞれのメッセージのローカル言語表現のメッセージテキストは、図5に示されたメッセージファイル49のそれぞれのメッセージのローカル言語表現メッセージのフィールドに記録される。必要な全てのメッセージのローカル言語表現のメッセージテキストがメッセージファイル49に記録され終わると、ユーザは、ファームウェアセットアッププログラム43(ファームウェアセットアッププロセス81)を起動して、作成されたローカル言語表現のメッセージテキストを定義したデータ(図2に示されるローカル言語パネルメッセージデータ557とローカル言語ステータスシートデー559)をプリンタ1に送ってプログラムデバイス7に格納させることができる。そのとき、ファームウェアセットアッププログラム43(ファームウェアセットアッププロセス81)は、既に述べたように、メッセージファイル49を読み込も、メッセージファイル49に基づいて、ローカル言語のメッセージデータ557、559を作成する。ここで、メッセージファイル49とローカル言語のメッセージデータ557、559が互いに共通のデータ形式、例えばCSV形式で設計されていれば、メッセージファイル49からコントロールパネル用及びステータスシート用のメッセージセットの必要データ(例えば、メッセージID、ローカル言語表現メッセージテキスト及びイメージ指定)をそれぞれ取り出すという簡単な処理で、ローカル言語パネルメッセージデータ557とローカル言語ステータスシートデー559を作成することができる。
図8は、図2に示したファームウェアセットアッププロセス81の流れを示す。
図8に示すように、ステップS0で、ファームウェアセットアッププロセス81は、ユーザに、ローカライズされたユーザインタフェース用メッセージのセットアップを行うのか、それ以外のファームウェアモジュールのセットアップを行うのかを選択させる。ローカライズされたメッセージのセットアップが選択された場合、制御はステップS1Aへ進み、そ例外のファームウェアモジュールのセットアップがうでない場合、制御はステップS2Aへ進む。
ステップS1Aで、ファームウェアセットアッププロセス81は、ファームウェアメンテナンスプロセス83を通じて、プリンタ1内のプログラムデバイス7を調べて、そこに現在格納されているコントロルパネ9用とステータスシート用のメッセージデータ(初期的には、図3に示されたマスタ言語のメッセージデータ553、555であるが、既に1回以上のローカライズが行われている場合には、何らかのローカル言語のデータである)を認識し、また、プログラムデバイス7の空エリアサイズ(ユーザエリア65のサイズ)を把握し、認識されたコントロールパネル9用とステータスシート用のメッセージデータのリスト(以下、「実装リスト」という)と、把握された空エリアサイズとを、ホストコンピュータ1のディスプレイスクリーン(図示省略)に表示する。
ステップS2Aで、ファームウェアセットアッププロセス81は、ホストコンピュータ1内のメッセージファイル49を読み込み、メッセージファイル49内のローカライズが必要な全てのメッセージについてローカル言語のメッセージテキストが記録されているかチェックする。そのチェックの結果が肯定的であれば、ファームウェアセットアッププロセス81は、メッセージファイル49から、ローカル言語パネルメッセージデータ557とローカル言語ステータスシートデータ559を作成し、それらのメッセージデータ557と559のリスト(以下、「オプションリスト」という)を、ホストコンピュータ1のディスプレイスクリーン(図示省略)に、上述した実装リストと並べて表示する。
また、制御がステップS1Bに進んだ場合、ステップS1Bで、ファームウェアセットアッププロセス81は、ファームウェアメンテナンスプロセス83を通じて、プリンタ1内のプログラムデバイス7を調べて、そこに現在格納されている置換可能なファームウェアモジュールと消去可能なファームウェアモジュールの全てをピックアップし、また、プログラムデバイス7の空エリアサイズ(ユーザエリア65のサイズ)を把握し、ピックアップされた置換可能なファームウェアモジュールと消去可能なファームウェアモジュールのリスト(以下、「実装リスト」という)と、把握された空エリアサイズとを、ホストコンピュータ1のディスプレイスクリーン(図示省略)に表示する。ここで、置換可能なファームウェアモジュールとは、プログラムデバイス7内の置換可能必須ファームウェアモジュールと、置換可能必須ファームウェアモジュールを置換してプログラムデバイス7に格納されたオプショナルファームウェアモジュールである。消去可能なファームウェアモジュールとは、プログラムデバイス7に追加的に格納されたオプショナルファームウェアモジュールである。
ステップS2Bで、ファームウェアセットアッププロセス81は、ホストコンピュータ1内のオプショナルファームウェアモジュール群45を調べて、そこに含まれる置換可能必須及びオプショナルファームウェアモジュールの全てをピックアップする。また、ファームウェアセットアッププロセス81は、ホストコンピュータ1内のメッセージファイル49を読み込み、メッセージファイル49からオプショナルファームウェアモジュール群45を調べてし、ピックアップされたファームウェアモジュールのリスト(以下、「オプションリスト」という)を、ホストコンピュータ1のディスプレイスクリーン(図示省略)に、上述した実装リストと並べて表示する。
ステップS1AまたはステップS1Bの後、制御はステップS3へ進む。ステップS3で、ファームウェアセットアッププロセス81は、行いたい操作の種類(置換、追加または削除)をユーザに選択させる。ユーザ選択された操作種類が「置換」であったならば(ステップS11)、制御はステップS12へ進み、「追加」であったならば(ステップS21)、制御はステップS22へ進み、また、「削除」であったならば(ステップS31)、制御はステップS32へ進む。
ステップS11で「置換」が選択された場合、ステップS12でファームウェアセットアッププロセス81は、ユーザに、表示された実装リスト中の置換可能なファームウェアモジュール(すなわち、上記ステップS1Aで認識されたコントロルパネル用とステータスメッセージ用のメッセージデータ、又は上記ステップS2Bでピックアップされた置換可能なファームウェアモジュール)の中から、削除したいファームウェアモジュール(以下、「削除モジュール」という)を選択させる。ステップS13で、ファームウェアセットアッププロセス81は、ユーザ選択された削除モジュールと機能的に置換可能(代替性のある)であって且つプログラムデバイス7の空エリアサイズの範囲内で(つまり、空きエリアサイズを超えずに)その置換が行えるようなサイズをもつファームウェアモジュール(以下「置換可能モジュール」という)を、表示されたオプションリスト中で選択し表示する。例えば、削除モジュールとして実装リスト中からマスタ言語のコントロールパネル用とステータスシート用のメッセージデータがユーザにより選択された場合には、オプションリスト中から、ローカル言語のコントロールパネル用とステータスシート用のメッセージデータが置換可能モジュールとして自動的に選択される。また、削除モジュールとして実装リスト中から或る印刷制御言語プログラムがユーザにより選択された場合には、オプションリスト中の全ての印刷制御言語プログラムが置換可能モジュールとして自動的に選択される。ステップS14で、ファームウェアセットアッププロセス81は、ユーザに、表示された置換可能モジュール中から、削除モジュールと置換したいファームウェアモジュール(以下、「置換モジュール」という)を選択させる。メッセージをローカライズする場合には、通常、ローカル言語パネルメッセージデータ557とローカル言語ステータスシートデータ559の双方が、置換モジュールとして選択される。なお、変形例として、上記とは逆に、ユーザにオプションリスト中から置換モジュールを選択させた後、その置換モジュールと置換可能な削除モジュールの候補を実装リスト中から自動的に選択して表示し、その後に、ユーザに、どの置換モジュールとどの削除モジュールを置換するのかを確定させるようにしてもよい。
ステップS15で、ファームウェアセットアッププロセス81は、ステップS14で選択された置換モジュールを取り込み、そして、置換命令と、削除モジュールの識別情報と、取り込まれた選択された置換モジュールとを、プリンタ1(ファームウェアメンテナンスプロセス83)へ送信する。
他方、ステップS21で「追加」が選択された場合、ステップS22で、ファームウェアセットアッププロセス81は、プログラムデバイス7の空エリアサイズの範囲内で(つまり、空きエリアサイズを超えずに)追加可能であるようなサイズをもつファームウェアモジュール(以下、「追加可能モジュール」という)を、表示されたオプションリス中で選択し表示する。ステップS23で、ファームウェアセットアッププロセス81は、ユーザに、追加したいファームウェアモジュール(以下、「追加モジュール」と言う)を、表示された追加可能モジュール中から選択させる。メッセージをローカライズする場合には、通常、ローカル言語パネルメッセージデータ557とローカル言語ステータスシートデータ559の双方が、追加モジュールとして選択される。
ステップS24で、ファームウェアセットアッププロセス81は、ステップS23で選択された追加モジュールを取り込み、そして、追加命令と、取り込まれた追加モジュールとを、プリンタ1(ファームウェアメンテナンスプロセス83)へ送信する。
また、ステップS31で「削除」が選択された場合、ステップS32で、ファームウェアセットアッププロセス81は、ユーザに、表示された実装リスト中の上記ステップS2でピックアップされた削除可能なファームウェアモジュールの中から、削除モジュールを選択させる。そして、ステップS33で、置換命令と、削除モジュールの識別情報とを、プリンタ1(ファームウェアメンテナンスプロセス83)へ送信する。
図9は、図2に示されたファームウェアメンテナンスプロセス83の流れを示す。これは、上述したファームウェアセットアッププロセス81と連携するプロセスである。
図9に示すように、ステップS41で、ファームウェアメンテナンスプロセス83は、ホストコンピュータ1(ファームウェアセットアッププロセス81)から、置換、追加又は削除命令と、それに付随するパラメータ又はデータ(すなわち、置換モジュールまたは追加モジュールと、もしあれば、削除モジュールの識別情報)とを受信する。ステップS42で、ファームウェアメンテナンスプロセス83は、プログラムデバイス7に対して、命じられた置換、追加又は削除を実行する。すなわち、置換命令を受けた場合には、受けた識別情報に該当する削除モジュールをプログラムデバイス7から削除し、そして、受けた置換モジュールをプログラムデバイス7に書き込む。また、追加命令を受けた場合には、受けた追加モジュールをプログラムデバイス7に書き込む。また、削除命令を受けた場合には、受けた識別情報に該当する削除モジュールをプログラムデバイス7から削除する。
ステップS43で、ファームウェアメンテナンスプロセス83は、置換、追加又は削除が行われた後のプログラムデバイス7内の空エリアの場所とサイズを調べ、以後、その空エリアをユーザエリア65として利用できるように管理する。
以上、本発明の好適な実施形態を説明したが、上記実施形態は本発明の説明のための例示にすぎず、本発明の範囲を上記実施形態にのみ限定する趣旨ではない。従って、本発明は、その要旨を逸脱することなしに、上記実施形態とは異なる態様でも、実施することができる。
例えば、上述した実施形態においてホストコンピュータ3で実行されるファームウェアセットアッププログラム43が提供するファームウェアモジュールの置換/追加/消去のための機能が、プリンタ1内のファームウェアメンテナンスプログラム59によって行われえるようになっていて、それにより、ホストコンピュータ3を用いなくても、プリンタ1だけで、ファームウェアモジュールの置換/追加/消去が行えるようになっていてもよい。その場合、オプショナルファームウェアモジュール群45は、外部記録媒体、ホストコンピュータ又はネットワーク上のダウンロードサイトなどの外部装置から、プリンタ1に提供されるようになっていてよい。
また、上述した実施形態では、プログラムデバイス7は、書き換え可能な不揮発性メモリ、例えばフラッシュメモリであるが、別の種類の書き換え可能な記録媒体、例えば書き換え可能な不揮発性メモリの一つであるハードディスクドライブ、或いは、書き換え可能なメモリの一つであるFRAMなどであってもよい。
本発明に従う電子機器の一実施形態であるプリンタとホストコンピュータを有するプリントシステムの全体構成を示すブロック図。 図1に示されたプリントシステム1において、プリンタ1のユーザインタフェース用メッセージをローカライズしたり、プリンタ1内のファームウェアを追加、消去、置換するための機能的構成をより具体的に示したブロック図。 全てのファームウェアモジュールが格納されたプログラムデバイス7の状態を示すブロック図。 パネル制御プログラム55のマスタ言語のメッセージデータ553,555をローカル言語のメッセージデータ557,559で置換した状態を示すブロック図。 ユーザインタフェース用メッセージのローカライズのために使用されるメッセージファイル49の構成例を示す図。 メッセージビルダプログラム47のメイン画面80の例を示す図。 メッセージビルダプログラム47のリアルタイムメッセージビューワ画面90の例を示す図。 図2に示したファームウェアセットアッププロセス81の流れを示す図。 図2に示したファームウェアメンテナンスプロセス83の流れを示す図。
符号の説明
100 プリントシステム、 1 プリンタ、 3 ホストコンピュータ、 5 CPU、 7 プログラムデバイス、 15、17、19 通信インタフェース、 40 ローカル言語をサポートしたオペレーティングシステム、 43 ファームウェアセットアッププログラム、 45 オプショナルファームウェアモジュール群、 47 メッセージビルダプログラム、 49 メッセージファイル、 55 パネル制御プログラム、 551 パネル基本制御プログラム、 553 マスタ言語パネルメッセージデータ、 555 マスタ言語ステータスシートデータ、 557 ローカル言語パネルメッセージデータ、 559 ローカル言語ステータスシートデータ。

Claims (12)

  1. 前記電子機器のユーザインタフェース用のメッセージを定義したデータであって所定のマスタ言語で表現されたメッセージテキストを含むマスタ言語メッセージデータを初期的に格納した書き換え可能な記録媒体であるプログラムデバイスと、
    前記ユーザインタフェース用のメッセージを定義したデータであって前記マスタ言語とは異なるローカル言語で表現されたメッセージテキストを含むローカル言語メッセージデータを外部から受け、前記受けたローカル言語メッセージデータを前記プログラムデバイスに、前記マスタ言語メッセージデータと置換してまたは追加して格納するファームウェアメンテナンス手段と
    を備えた電子機器。
  2. 請求項1に記載の電子機器において、
    前記メッセージの前記マスタ言語で表現されたメッセージテキストを表示するともに、前記ローカル言語で表現されたメッセージテキストをユーザに入力させ、入力された前記ローカル言語で表現されたメッセージテキストに基づいて、前記ファームウェアメンテナンス手段に提供されることになる前記ローカル言語メッセージデータを作成するメッセージビルダ手段
    をさらに備えた電子機器。
  3. 請求項2に記載の電子機器において、
    前記メッセージビルダ手段が、コンピュータにより前記ローカル言語をサポートしたオペレーシングシステム上で実行されるコンピュータプログラムにより実現される電子機器。
  4. 請求項2に記載の電子機器において、
    前記メッセージビルダ手段が、前記ユーザが入力した前記ローカル言語で表現されたメッセージテキストを、前記電子機器のユーザインタフェースに表示されるときと同じレイアウトで表示する、
    電子機器。
  5. 請求項1に記載の電子機器において、
    前記プログラムデバイスは、前記マスタ言語メッセージデータの他に、前記電子機器に搭載可能な全ての機能のうちの一部の所定の複数種類の機能を提供するための所定の複数のファームウェアモジュールを初期的に格納し、前記初期格納されたファームウェアモジュールの合計サイズより大きい容量を持ち、
    前記ファームウェアメンテナンス手段が、前記初期格納されたファームウェアモジュールとは別の種類の1以上のファームウェアモジュールを外部から受け、前記受けたファームウェアモジュールを前記プログラムデバイスに追加的又は置換的に格納し、且つ、前記プログラムデバイスに既に追加的に格納されたファームウェアモジュールを削除する
    電子機器。
  6. 請求項5に記載の電子機器において、
    前記初期格納されたファームウェアモジュールは、前記電子機器の所定の必須機能を提供するための必須ファームウェアモジュールであり、
    前記別の種類1以上のファームウェアモジュールは、前記電子機器の前記必須機能とは別の1以上の種類のオプショナルな機能をそれぞれ提供するための1以上のオプショナルファームウェアであり、
    前記必須ファームウェアモジュール中の少なくとも一つのファームウェアモジュールは、それと代替性のある所定の1種類以上のオプショナル機能をそれぞれ提供するための所定の少なくとも1つのオプショナルファームウェアモジュールと置換されることができる置換可能必須ファームウェアモジュールであり、
    前記ファームウェアメンテナンス手段は、
    前記所定の少なくとも1つのオプショナルファームウェアモジュールを外部から受けて、前記プログラムデバイス内の前記置換可能必須ファームウェアモジュールを、前記受けた所定のオプショナルファームウェアモジュールで置換するファームウェア置換手段を有する
    電子機器。
  7. 請求項6に記載の電子機器において、
    外部装置と通信するための複数種類の通信インタフェース装置を備え、
    前記置換可能必須ファームウェアモジュールが、前記複数種類のインタフェース装置の中の1種類のインタフェース装置を制御するためのインタフェース制御プログラムであり、
    前記置換可能必須ファームウェアモジュールと置換可能である前記所定の少なくとも1つのオプショナルファームウェアモジュールが、前記複数種類のインタフェース装置の中の他の少なくとも1種類のインタフェース装置を制御するための少なくとも1つのインタフェース制御プログラムである、
    電子機器。
  8. 請求項6に記載の電子機器において、
    前記電子機器は、印刷ジョブデータを外部から受けて印刷を行うプリンタであり、
    前記置換可能必須ファームウェアモジュールが、前記印刷ジョブデータで使用され得る複数種類の印刷言語の中の1種類の印刷言語を解釈するための印刷言語制御プログラムであり、
    前記置換可能必須ファームウェアモジュールと置換可能である前記所定の少なくとも1つのオプショナルファームウェアモジュールが、前記複数種類の印刷言語の中の他の少なくとも1種類の印刷言語をそれぞれ解釈するための少なくとも1つの印刷言語制御プログラムである、
    電子機器。
  9. 請求項6に記載の電子機器において、
    前記電子機器は、前記1以上のオプショナルファームウェアモジュール及び前記置換可能必須ファームウェアモジュールを格納した外部記憶装置と通信可能であり、 前記ファームウェアメンテナンス手段は、
    前記外部記憶装置からいずれかのオプショナルファームウェアモジュール又はいずれかの置換可能必須ファームウェアモジュールを受けて、前記受けたファームウェアモジュールを前記プログラムデバイスに追加的又は置換的に格納する手段を有する
    電子機器。
  10. 請求項5に記載の電子機器において、
    前記電子機器は、前記別の種類の1以上のファームウェアモジュールを格納した外部記憶装置と通信可能であり、
    前記ファームウェアメンテナンス手段は、
    前記プログラムデバイスと前記外部記憶装置とを調べて、前記外部記憶装置内の1以上のファームウェアモジュールと置換可能な1以上のファームウェアモジュールを、前記プログラムデバイスからピップアップし、前記プログラムデバイスからピックアップされたい1以上のファームウェアモジュールと置換可能である1以上のファームウェアモジュールを、前記外部記憶装置からピックアップする手段と、
    前記外部記憶装置からピックアップされた1以上のファームウェアモジュールの中から、ユーザに1つのファームウェアモジュールを選択させる手段と、
    前記ユーザ選択された1つのファームウェアモジュールで、前記プログラムデバイスからピックアップされた1以上のファームウェアモジュール中の、前記ユーザ選択された1つのファームウェアモジュールと代替可能な1つのファームウェアモジュールを、前記ユーザ選択された1つのファームウェアモジュールで置換する手段と
    を有する
    電子機器。
  11. 請求項5に記載の電子機器において、
    前記プログラムデバイスの記憶エリアの中で、前記ファームウェアモジュールが格納されてないエリアを、前記ファームウェアモジュールの格納とは別の目的に使用する空エリア管理手段を更に備えた電子機器。
  12. 請求項5に記載の電子機器において、
    前記電子機器は、ホスト装置の周辺デバイスであり、
    前記ホスト装置に前記電子機器のためのデバイスドライバがインストールされるときに、前記ファームウェア置換手段が動作するようになっている電子機器。
JP2007063780A 2007-03-13 2007-03-13 電子機器 Pending JP2008225888A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007063780A JP2008225888A (ja) 2007-03-13 2007-03-13 電子機器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007063780A JP2008225888A (ja) 2007-03-13 2007-03-13 電子機器

Publications (1)

Publication Number Publication Date
JP2008225888A true JP2008225888A (ja) 2008-09-25

Family

ID=39844431

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007063780A Pending JP2008225888A (ja) 2007-03-13 2007-03-13 電子機器

Country Status (1)

Country Link
JP (1) JP2008225888A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011161704A (ja) * 2010-02-08 2011-08-25 Brother Industries Ltd プリンタ
US8036562B2 (en) * 2008-04-28 2011-10-11 Konica Minolta Business Technologies, Inc. Image forming apparatus and method of the same
JP2013246648A (ja) * 2012-05-25 2013-12-09 Fuji Xerox Co Ltd 言語データ処理装置、電子機器及びプログラム
WO2015149839A1 (en) * 2014-03-31 2015-10-08 Arcelik Anonim Sirketi Image display device with automatic menu language update function

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8036562B2 (en) * 2008-04-28 2011-10-11 Konica Minolta Business Technologies, Inc. Image forming apparatus and method of the same
JP2011161704A (ja) * 2010-02-08 2011-08-25 Brother Industries Ltd プリンタ
US8813059B2 (en) 2010-02-08 2014-08-19 Brother Kogyo Kabushiki Kaisha Display apparatus with memory storing firmware and network system including display apparatus
JP2013246648A (ja) * 2012-05-25 2013-12-09 Fuji Xerox Co Ltd 言語データ処理装置、電子機器及びプログラム
WO2015149839A1 (en) * 2014-03-31 2015-10-08 Arcelik Anonim Sirketi Image display device with automatic menu language update function

Similar Documents

Publication Publication Date Title
JP5025101B2 (ja) 画像形成装置、プログラム、記録媒体、画像形成装置の制御方法、画像形成システム及び画像形成システムの運用方法
JP5960005B2 (ja) 画像形成装置、アプリケーションのプレインストール方法、およびプログラム
US20090300661A1 (en) Installer System and Installer Program
JP4926807B2 (ja) 情報処理装置及び情報処理方法
JP2023001176A (ja) 情報処理装置及びプログラム
JP4774078B2 (ja) 情報処理装置
JP2008225888A (ja) 電子機器
US20100002262A1 (en) Display terminal and computer program product therefor
JP4639917B2 (ja) 画像形成装置および画像形成システム
JP6431279B2 (ja) 印刷装置、印刷装置の制御方法
JP4980961B2 (ja) 印刷制御装置,印刷システム,プログラム,および記録媒体
JP5042377B2 (ja) 動作要求受付装置、プログラム、動作要求受付装置の動作方法及び通信システム
JP5299263B2 (ja) 印刷システム、プリンター、及び専用usbメモリ
JP2007233781A (ja) 画像出力装置および画像出力プログラム
JP2013191118A (ja) 印刷システム、ホストコンピューター
JP4393286B2 (ja) 情報処理装置及びその制御方法、プログラム
JP5003365B2 (ja) 印刷システム、印刷プログラム
JP2008201001A (ja) 印刷装置及び制御方法
JP4830968B2 (ja) 印刷システム、印刷制御装置、印刷システムの制御方法、ドライバプログラム、およびそのプログラムを記録した記録媒体
JP2008225882A (ja) 電子機器
JP2008273091A (ja) 情報処理装置及び情報処理装置の制御方法
JP7147405B2 (ja) 印刷装置の制御方法および印刷装置
JP2012141732A (ja) 情報処理装置、制御方法、及びプログラム
US20120327445A1 (en) Information processing apparatus, information processing method and storage medium
JP2002108582A (ja) 印刷装置、印刷システムおよび印刷方法