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