(57)【要約】システムと方法は、印刷動作を制御するファームウェアを備えたプリンタの機能性を修正することを特徴とする。コンピュータ可読媒体上で実行されたときにプリンタのファームウェアと連動しプリンタの機能性を修正する第１プログラミングコードが作成される。第１プログラミングコードはＬＵＡプログラミング言語のような第１プログラミング言語で記述され、ファームウェアは第１プログラミング言語以外の第２プログラミング言語で記述される。その後、第１プログラミングコードはコンピュータ可読媒体上で実行され、プリンタの機能性はファームウェアと連動する実行された第１プログラミングコード機能として修正される。ファームウェアは連動によって修正されない。【選択図】図３
2012507060.tif 000002
【特許請求の範囲】
【請求項１】
印刷動作を制御するファームウェアを備えたプリンタの機能性を修正するための方法であって、
コンピュータ可読媒体上で実行されたときに前記プリンタのファームウェアと連動し前記プリンタの機能性を修正する第１プログラミングコードを作成するステップであって、
前記第１プログラミングコードが第１プログラミング言語で記述され、
さらに前記ファームウェアが前記第１プログラミング言語以外の第２プログラミング言語で記述されているステップと、
前記第１プログラミングコードを前記コンピュータ可読媒体上で実行し、前記第１プログラミングコードを前記ファームウェアと連動させるステップと、
前記プリンタの機能性を、前記第１プログラミングコードの実行および前記ファームウェアとの連動に応じて修正するステップであって、
前記ファームウェアが前記連動によって修正されないステップと、を含んでなる方法。
【請求項２】
前記プリンタが、ラベルアンドタグプリンタである請求項１に記載の方法。
【請求項３】
前記第１プログラミング言語が、スクリプト言語である請求項１に記載の方法。
【請求項４】
前記スクリプト言語が、ＬＵＡである請求項３に記載の方法。
【請求項５】
前記第１プログラミングコードの実行が、ＬＵＡ仮想マシンでの前記第１プログラミングコードの解釈をさらに含む請求項４に記載の方法。
【請求項６】
前記第１プログラミングコードが、少なくとも一つのアプリケーションプログラムインターフェースを含む請求項１に記載の方法。
【請求項７】
前記少なくとも一つのアプリケーションプログラムインターフェースが、キーボードアプリケーションプログラムインターフェース、ディスプレイアプリケーションプログラムインターフェース、プリントレンダリングアプリケーションプログラムインターフェース、ファイルシステムアプリケーションプログラムインターフェース、無線ＩＣタグアプリケーションプログラムインターフェース、リアルタイムクロックアプリケーションプログラムインターフェース、コンフィギュレーションアプリケーションプログラムインターフェース、コミュニケーションアプリケーションプログラムインターフェース、デバイスアプリケーションプログラムインターフェース、プリンタステータスアプリケーションプログラムインターフェース、ＸＭＬパーシングアプリケーションプログラムインターフェース、ペーパーハンドリングアプリケーションプログラムインターフェース、サウンドアプリケーションプログラムインターフェース、センサーアプリケーションプログラムインターフェース、イベントアプリケーションプログラムインターフェース、ビットハンドリングアプリケーションプログラムインターフェース、およびエラーハンドリングアプリケーションプログラムインターフェースのうち、一つまたはそれ以上を含む請求項６に記載の方法。
【請求項８】
前記第１プログラミングコードが、前記プリンタ以外のコンピュータデバイス上でテスト可能である請求項１に記載の方法。
【請求項９】
前記第１プログラミングコードが、統合開発環境において作成される請求項１に記載の方法。
【請求項１０】
プリンタの機能性を修正するためのシステムであって、
前記プリンタの機能性を有したプリンタと、
第１プログラミング言語で記述され、前記プリンタ上で実行されるときに印刷動作を制御する前記プリンタを備えたファームウェアと、
前記第１プログラミング言語以外の第２プログラミング言語で記述され、コンピュータ可読媒体上で実行可能である第１プログラミングコードと、
前記第１プログラミングコードはプリンタの機能性を修正するコマンドを含み、
前記第１プログラミングコードが実行されるコンピュータ可読媒体と、を含んでなるシステムであって、
前記第１プログラミングコードが前記コンピュータ可読媒体上で実行されるとき前記第１プログラミングコードと前記ファームウェアとが前記プリンタの機能性を修正するために連動するステップと、
さらに前記ファームウェアが、前記第１プログラミングコードと前記ファームウェアとの前記連動によって修正されないステップと、を含んでなるシステム。
【請求項１１】
前記プリンタが、ラベルアンドタグプリンタである請求項１０に記載のシステム。
【請求項１２】
前記第２プログラミング言語が、スクリプト言語である請求項１０に記載のシステム。
【請求項１３】
前記スクリプト言語が、ＬＵＡである請求項１２に記載のシステム。
【請求項１４】
前記第１プログラミングコードの実行が、ＬＵＡ仮想マシンでの前記第１プログラミングコードの解釈をさらに含む請求項１０に記載のシステム。
【請求項１５】
前記第１プログラミングコードが、少なくとも一つのアプリケーションプログラムインターフェースを含む請求項１０に記載のシステム。
【請求項１６】
前記少なくとも一つのアプリケーションプログラムインターフェースが、キーボードアプリケーションプログラムインターフェース、ディスプレイアプリケーションプログラムインターフェース、プリントレンダリングアプリケーションプログラムインターフェース、ファイルシステムアプリケーションプログラムインターフェース、無線ＩＣタグアプリケーションプログラムインターフェース、リアルタイムクロックアプリケーションプログラムインターフェース、コンフィギュレーションアプリケーションプログラムインターフェース、コミュニケーションアプリケーションプログラムインターフェース、デバイスアプリケーションプログラムインターフェース、プリンタステータスアプリケーションプログラムインターフェース、ＸＭＬパーシングアプリケーションプログラムインターフェース、ペーパーハンドリングアプリケーションプログラムインターフェース、サウンドアプリケーションプログラムインターフェース、センサーアプリケーションプログラムインターフェース、イベントアプリケーションプログラムインターフェース、ビットハンドリングアプリケーションプログラムインターフェース、およびエラーハンドリングアプリケーションプログラムインターフェースのうち、一つまたはそれ以上を含む請求項１５に記載のシステム。
【請求項１７】
前記第１プログラミングコードが、ファームウェアなしで記述される請求項１０に記載のシステム。
【請求項１８】
前記第１プログラミングコードを作成するための統合開発環境をさらに含む請求項１０に記載のシステム。
【請求項１９】
印刷動作を制御するファームウェアを備えたプリンタの機能性を修正する方法であって、
コンピュータ可読媒体上で実行されたときに前記プリンタのファームウェアと連動し前記プリンタの機能性を修正する第１プログラミングコードを作成するステップであって、
前記第１プログラミングコードが第１プログラミング言語で記述され、
さらに前記ファームウェアが前記第１プログラミング言語以外の第２プログラミング言語で記述されているステップと、
前記第１プログラミングコードと前記ファームウェアとが圧縮した形式で前記プリンタに備えられている第１メモリ上に保存されるステップと、
前記プリンタを起動させたとき圧縮された前記第１プログラミングコードと前記ファームウェアとを前記プリンタに備えられている第２メモリに展開するステップと、
前記第１プログラミングコードと前記ファームウェアとを前記第２メモリ上で実行し、前記第１プログラミングコードを前記ファームウェアと連動させるステップと、
前記プリンタの機能性を、前記第１プログラミングコードの実行および前記ファームウェアとの連動に応じて修正するステップであって、
前記ファームウェアが前記連動によって修正されないステップと、を含んでなる方法。
【請求項２０】
前記第１メモリが、フラッシュメモリである請求項１９に記載の方法。
【請求項２１】
前記第２メモリが、ＳＤＲＡＭである請求項１９に記載の方法。
【請求項２２】
プリンタの機能性を修正するためのシステムであって、
前記プリンタの機能性を有したプリンタと、
第１プログラミング言語で記述され、前記プリンタ上で実行されるときに印刷動作を制御する前記プリンタを備えたファームウェアと、
前記第１プログラミング言語以外の第２プログラミング言語で記述され、コンピュータ可読媒体上で実行可能である第１プログラミングコードと、
前記第１プログラミングコードはプリンタの機能性を修正するコマンドを含み、
前記第１プログラミングコードと前記ファームウェアとが圧縮した形式で保存される第１メモリと、
前記第１プログラミングコードと前記ファームウェアとが実行される第２メモリとを含んでなるシステムであって、
前記プリンタを起動させたとき前記第１メモリ内の圧縮された前記第１プログラミングコードと前記ファームウェアとを前記第２メモリに展開するステップと、
前記第１プログラミングコードと前記ファームウェアとが前記第２メモリ上で実行されるとき前記第１プログラミングコードと前記ファームウェアとが前記プリンタの機能性を修正するために連動するステップと、
さらに前記ファームウェアが、前記第１プログラミングコードと前記ファームウェアとの前記連動によって修正されないステップと、を含んでなるシステム。
【請求項２３】
前記第１メモリが、フラッシュメモリである請求項２２に記載のシステム。
【請求項２４】
前記第２メモリが、ＳＤＲＡＭである請求項２２に記載のシステム。
【請求項２５】
印刷動作を制御するファームウェアを備えたプリンタの機能性を修正する方法であって、
コンピュータ可読媒体上で実行されたときに前記プリンタのファームウェアと連動し前記プリンタの機能性を修正する第１プログラミングコードを作成するステップであって、
前記第１プログラミングコードが第１プログラミング言語で記述され、
さらに前記ファームウェアが前記第１プログラミング言語以外の第２プログラミング言語で記述されているステップと、
前記第１プログラミングコードが、前記プリンタに備えられている第１メモリ上に記憶されるステップと、
前記第１プログラミングコードと前記ファームウェアとを前記第２メモリ上で実行し、前記第１プログラミングコードを前記ファームウェアと連動させるステップと、
前記プリンタの機能性を、前記第１プログラミングコードの実行および前記ファームウェアとの連動に応じて修正するステップであって、
前記ファームウェアが前記連動によって修正されないステップと、を含んでなる方法。
【請求項２６】
プリンタの機能性を修正するためのシステムであって、
前記プリンタの機能性を有したプリンタと、
第１プログラミング言語で記述され、前記プリンタ上で実行されるときに印刷動作を制御する前記プリンタを備えたファームウェアと、
前記第１プログラミング言語以外の第２プログラミング言語で記述され、コンピュータ可読媒体上で実行可能である第１プログラミングコードと、
前記第１プログラミングコードはプリンタの機能性を修正するコマンドを含み、
前記第１プログラミングコードが保存される第１メモリと、
前記第１プログラミングコードと前記ファームウェアとが実行される第２メモリとを含んでなるシステムであって、
前記第１プログラミングコードと前記ファームウェアとが前記第２メモリ上で実行されるとき前記第１プログラミングコードと前記ファームウェアとが前記プリンタの機能性を修正するために連動するステップと、
さらに前記ファームウェアが、前記第１プログラミングコードと前記ファームウェアとの前記連動によって修正されないステップと、を含んでなるシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタに関し、特にラベルアンドタグプリンタファームウェアを連動させることによってプリンタの機能性を高めたプリンタに関する。
【背景技術】
【０００２】
大抵のラベルアンドタグプリンタは、従来のあらかじめ定義された専用の制御言語によって動作する。例えば、サトーバーコードプリンタ言語（“ＳＢＰＬ”）、ゼブラプログラミング言語（“ＺＰＬ”）、データマックスプリンタ言語（“ＤＰＬ”）、インターメックプリンタ言語（“ＩＰＬ”）、または同種のもの全ては、専用機能を含み、それは、ユーザーがプリンタのアウトプット機能の変換を達成できるように極めて重要な最低限のスキルレベルを要求するものである。上記のプリンタ言語を支持するプリンタのベンダーによって提供されるような様々なプリンタモデルは、あらかじめ定義された専用のコマンドによって定義された印刷タスクを実行できる。具体的なプリンタ機能の変換は、一般的にプリンタのファームウェアの変換によってなされる。
【０００３】
各プリンタのそれぞれの制御言語はあらかじめ定義されているから、プリンタを終了するとあらかじめ定義されたタスクを実行できるだけである。様々なプリンタの機能を加える必要がある場合、それに応じてファームウェアを変更する必要がある。これは、しばしば複雑なソースコードの改正と、埋め込まれたプログラミング開発ツールの改正を伴う。これは柔軟性のある方法ではなく、顧客は局所的にカスタマイズできない。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
先行技術においては、プリンタのファームウェアソースコードの変更および高価な開発ツールなしにラベル／タグプリンタソフトウェアをカスタマイズまたは修正するような能力はない。
【０００５】
したがって、システムと方法とは印刷動作を制御するためのファームウェアを備えたプリンタの機能性を修正することを特徴とする。コンピュータ可読媒体上で実行されたときに、プリンタのファームウェアと連動しプリンタの機能性を修正する第１プログラミングコードが作成される。第１プログラミングコードはＬＵＡのような第１プログラミング言語で記述され、ファームウェアは第１プログラミング言語以外の第２プログラミング言語で記述される。したがって、第１プログラミングコードはコンピュータ可読媒体上で実行され、プリンタの機能性は第１プログラミングコードの実行およびファームウェアとの連動に応じて修正される。ファームウェアは連動によって修正されない。
【課題を解決するための手段】
【０００６】
好ましい実施形態では、インタプリタ型スクリプト言語は、ラベルアンドタグプリンタに関連して提供され、アプリケーションプログラムインターフェース（ＡＰＩ）を介してプリンタのファームウェアと連動し相互作用するプリンタソフトウェアアプリケーション（すなわちプリンタアプリケーションプログラム）の作成に用いられる。
【０００７】
ラベルアンドタグプリンタは、ＬＵＡ仮想マシンに装備されることが好ましい。ＬＵＡスクリプト言語は、アプリケーションプログラムインターフェース（ＡＰＩ）を介してプリンタのファームウェアと連動し、プリンタの全てのファームウェアおよびハードウェア機能への接続を許可するラベルアンドタグプリンタに適合させたプリンタアプリケーションの作成に用いられることが好ましい。
【０００８】
本発明の他の特徴と利点とは、添付の図面を参照して以下の説明により明らかになるであろう。
【０００９】
本発明を図解する目的のために、現在好まれる形態が図示されているが、本発明が図示された正確な配置と手段に限定されないことが理解されよう。本発明の特徴と利点とは、添付の図面を参照して以下の説明により明らかになるであろう。
【図面の簡単な説明】
【００１０】
【図１】好ましい実施形態に従って、ハードウェアの配置例を示す図である。
【図２】図１に示す情報処理装置の実施例の機能的構成要素を示す図である。
【図３】好ましい実施形態に従って提供されたプリンタＡＰＩを示すブロック図である。
【図４】ラベルアンドタグプリンタによって印刷され、好ましい実施形態に従って提供されたＡＰＩを用いて作成されたラベルの実施例を示す図である。
【図５】ラベル上にデータフィールドを提供するためにそれぞれの縦横位置を示した、データフィールド長の実施例を示す図である。
【図６】ラベルアンドタグプリンタによって印刷され、好ましい実施形態に従って提供されたＡＰＩを用い、カラーオプションを表現して定義されたラベルのもう一つの実施例を示す図である。
【図７】複数の電子メモリ形式を含む好ましい実施形態の実装を示す図である。
【図８】複数の電子メモリ形式を含む好ましい実施形態の実装を示す図である。
【図９】複数の電子メモリ形式を含む好ましい実施形態の実装を示す図である。
【図１０】複数の電子メモリ形式を含む好ましい実施形態の実装を示す図である。
【発明を実施するための形態】
【００１１】
本明細書の教示により、一つ以上のインターフェースは、ラベルアンドタグプリンタを備えたファームウェアソースコードの更新、変更、改造の必要性なしに、そして高価な開発ツールの必要性なしに、ラベルアンドタグプリンタの設定を個人がカスタマイズできるようにすることを提供する。したがって、ラベルアンドタグプリンタは、他人にプリンタの専用インタプリタ型言語を用いてアプリケーションを記述させる必要性なしに効果的にアプリケーション開発できる。
【００１２】
好ましい実施形態では、インタプリタ型スクリプト言語は、ラベルアンドタグプリンタと組み合わせて提供される。プリンタアプリケーションプログラムインターフェース（“ＡＰＩ”）として初期化された１セットのプリンタ拡張機能は、顧客のためにプリンタファームウェアと相互作用して操作でき、機能性を拡大させる。ＡＰＩはラベルアンドタグプリンタに備えられることが望ましい。好ましい実施形態では、インタプリタ型スクリプト言語はＬＵＡである。
【００１３】
例えばスクリプト言語で作成された１セットのプリンタＡＰＩとプリンタファームウェアを接続することによって、ラベルアンドタグプリンタのユーザーは、ラベルアンドタグプリンタによって使用される様々なタスクを実行するためのソフトウェアコマンドによって改良された柔軟性とアクセス性を得ることができる。プリンタファームウェアと組み合わせてＡＰＩを使用することで、ユーザーはラベルアンドタグプリンタのファームウェアソースコードの変更が必要なくなるか、ラベルアンドタグプリンタのファームウェアソースコードを概して変更するか修正するかが要求される開発ツールにアクセスする必要がなくなる。以下に更に詳しく説明するように、本明細書の教示と関連して提供されたＡＰＩは様々な機能を裏付ける。例えば、異なるキーボードおよびディスプレイを接続すること、プリントレンダリングの可変フォントおよび可変フォーマットを提供すること、プリンタファイルシステムおよびプリンタコンフィギュレーションにアクセスすることなど、ラベル印刷とタグ印刷に関する様々な機能性のことである。
【００１４】
このように、本発明は、ファームウェアソースコード修正の必要性がなく、または例えばあらかじめ定義された専用制御とプリンタファームウェアを修正するためのソフトウェア開発ツールを含む高価な埋め込みシステムがない複数の印刷ソリューションを提供する。
【００１５】
図面に関して、同じ要素には同じ符号が付されている。図１は本発明の実施形態に従ってハードウェアの配置例を示す図であり、直接ケーブル接続によってまたは通信ネットワーク上でプリンタアプリケーションプログラムを提供し、インストールすることを示す図である。ここではシステム１００として参照する。図１に示される実施例では、情報処理装置１０２は、当業者に知られているように例えばＬＵＡプログラミング言語でアプリケーションを開発するために統合開発環境（“ＩＤＥ”）を提供する。情報処理装置１０２は本発明を支持するのに必要なすべてのデータベースを含むことが望ましい。しかしながら情報処理装置１０２は通信ネットワーク１０６によってどんな必須のデータベースにも、または情報処理装置１０２が結合するかもしれない他のどの通信ネットワークにもアクセスできると考えられる。通信ネットワーク１０６はインターネットのような世界的な公衆通信ネットワークが望ましいが、コンピュータと周辺機器とが通信するのを可能にする広域通信網（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、イントラネットまたは他のネットワークでもよい。
【００１６】
好ましい実施形態では、情報処理装置１０２は通信ネットワーク１０６上をデータの送受信ができるコンピュータ可読媒体であり、通信ネットワーク１０６は例えばメインフレームコンピュータ、ミニコンピュータ、パソコン、ラップトップコンピュータ、携帯情報端末（ＰＤＡ）、携帯電話およびＷｅｂ  ＴＶのようなインターネット接続機器などである。さらに情報処理装置１０２は、ＭＩＣＲＯＳＯＦＴ  ＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥＲ、ＭＯＺＩＬＬＡ  ＦＩＲＥＦＯＸのようなウェブブラウザソフトウェアを具備することが望ましい。情報処理装置１０２は周知のデータ通信ネットワーク技術を使って通信ネットワーク１０６に接続する。
【００１７】
また、図１に示すプリンタ１０８は、ラベルアンドタグプリンタであることが望ましく、情報処理装置１０２から受信したデータのラベルとタグを印刷するために動作可能である。ラベルアンドタグプリンタ１０８は、キーボード１１０とディスプレイ１１２とを備えていてもよく、情報処理装置１０２がない場合に、または情報処理装置１０２と連動してラベルアンドタグプリンタ１０８での入出力機能を可能にする。
【００１８】
図２は情報処理装置１０２の機能的構成要素を示す図であり、ソフトウェアコードを実行して情報処理装置１０２の操作を制御するのに使用する一つ以上の中央演算処理装置（ＣＰＵ）２０２を含む。他の構成要素は、読出し専用メモリ（ＲＯＭ）２０４、ランダムアクセスメモリ（ＲＡＭ）２０６、通信ネットワーク上を他のコンピュータとデータを送受信するための一つ以上のネットワークインターフェース２０８、ハードディスクドライブのような記憶装置２１０、フロッピー（登録商標）ディスクドライブ、テープ装置、プログラムコードデータベースおよびアプリケーションデータを格納するためのＣＤ  ＲＯＭまたはＤＶＤ、キーボード、マウス、トラックボール、マイクなどのような一つ以上の入力装置２１２、およびディスプレイ２１４を含む。さらに、一つ以上の機能的構成要素２０２から２１４は、同様にラベルアンドタグプリンタ１０８に適切に設定されていてもまたは備えられていてもよい。
【００１９】
情報処理装置１０２の様々な構成要素は、物理的に同じ筐体の内で構成される必要がなく、単一場所にある必要さえない。例えば記憶装置２１０は情報処理装置１０２の残りの要素とかけ離れているサイトにあってもよく、ネットワークインターフェース２０８を介して通信ネットワーク１０６を通じてＣＰＵ２０２に接続していてもよい。情報処理装置１０２は、ハイパーテキストマークアップ言語（ＨＴＭＬ）、Ｊａｖａ（登録商標）アプレット、ＡｃｔｉｖｅＸコントロールプログラムを通信するためのウェブサーバとして作動することと同様に、必要なデータベースとフォーラムと他のコミュニティサービスとを提供するために十分な記憶域を備えているメモリを含むことが望ましい。情報処理装置１０２は、例えば図２に示されているような構成要素で配置され、その配置は情報処理装置１０２の期待される動作環境に適している。ＣＰＵ２０２とネットワークインターフェース２０８とメモリと記憶装置とは、予測デマンドを収容するための容量が確実に配置できるように選択される。
【００２０】
本発明の特質は、コンピュータ実行可能コード（すなわちソフトウェア）を記述する当業者が一般のコンピュータプログラミング言語と、ＬＵＡ、Ｃ、Ｃ＋＋、Ｖｉｓｕａｌ  Ｂａｓｉｃ、ＪＡＶＡ（登録商標）、ＨＴＭＬ、ＸＭＬ、ＡＣＴＩＶＥ  ＳＥＲＶＥＲ  ＰＡＧＥＳ、ＪＡＶＡ（登録商標）サーバーページ、サーブレット、ＭＹＳＱＬおよびＰＨＰを含むがこれに限定されない開発環境との一つ以上の組合せを用いて本明細書に説明される機能を実装することができるといったものである。
【００２１】
本発明は、ここに例としてウェブブラウザとウェブサイトサーバー（例えば情報処理装置１０２）とを用いたウェブベースのシステムに関して説明するが、システム１００はそのような構成に限定されない。システム１００は、ラベルアンドタグプリンタ１０８が情報処理装置１０２と通信して情報処理装置１０２から受信したデータを出力するように配置されると考えられる。ラベルアンドタグプリンタ１０８と情報処理装置１０２との通信方法は周知ものを使用しており、例えばローカルエリアネットワークプロトコル（例えばインターネットパケットエクスチェンジ（ＩＰＸ）、ダイヤルアップ、サードパーティ、プライベートネットワークまたは付加価値通信網（ＶＡＮ）のような）に結合する非インターネットブラウザＷＩＮＤＯＷＳ（登録商標）ビューアを使用する。
【００２２】
さらにどの適用するオペレーティングシステムでも（例えばＤＯＳ、ＷＩＮＤＯＷＳ（登録商標）  ３．ｘ、ＷＩＮＤＯＷＳ（登録商標）  ９５、ＷＩＮＤＯＷＳ（登録商標）  ９８、ＷＩＮＤＯＷＳ（登録商標）  ＮＴ、ＷＩＮＤＯＷＳ（登録商標）  ２０００、ＷＩＮＤＯＷＳ（登録商標）  ＭＥ、ＷＩＮＤＯＷＳ（登録商標）  ＣＥ、ＷＩＮＤＯＷＳ  （登録商標）ＰＯＣＫＥＴ  ＰＣ、ＷＩＮＤＯＷＳ（登録商標）  ＸＰ、ＭＡＣ  ＯＳ、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ、ＰＡＬＭ  ＯＳ、ＰＯＣＫＥＴ  ＰＣおよび他の適用するペレーティングシステム）情報処理装置１０２上で使用できると考えられる。
【００２３】
好ましい実施形態では、ラベルアンドタグプリンタ１０８のアプリケーションは、ＬＵＡプログラミング言語で作成される。好ましい実施形態によれば、ＬＵＡインタプリタはアプリケーションに備えられたＬＵＡプログラミングステートメントを処理できるよう装備される。典型的な高水準プログラミング言語とは異なり、ＬＵＡはスクリプト言語であり基本的なプログラミング言語ではない。ラベルアンドタグプリンタに様々な機能を実行させるようなＳＢＰＬコマンドまたは他のあらかじめ定義されたコマンドを受信する典型的なラベルアンドタグプリンタとは異なり、本発明はプリンタファームウェアと連動しＬＵＡインタプリタによって解釈されるＬＵＡ言語の拡張であるプリンタＡＰＩを実装する。これは、より先進で複雑なアプリケーションが例えば関数呼び出しによって開発されるのを可能にする。さらに、ＬＵＡプログラミング言語の拡張であるＡＰＩを実装することによって、ラベルアンドタグプリンタ１０８の一部の機能が修正でき、一つの変更を実行するためにはそれぞれのファームウェアアプリケーションの完全な上書きが必要とされる先行技術のラベルアンドタグプリンタとは対照的である。
【００２４】
本発明のもう一つの利点は、ＬＵＡプログラミング言語で作成され、ラベルアンドタグプリンタ１０８ＡＰＩに実装されるアプリケーションが、よりコンパクトでかなり速く実行することである。これは、先行技術のラベルアンドタグプリンタが、本発明のＡＰＩによってであれば達成される様々な機能を実行するにはより多くのソフトウェアインストラクションを必要とするからである。さらに、ＬＵＡインタプリタは、例えば関数呼び出し、変数宣言または同種のものを活用することによって効率的に本発明のＡＰＩと連動し、より少ないメモリ必要条件の機能としてコードの利用が先行技術のラベルアンドタグプリンタより大幅に向上する。
【００２５】
先行技術のラベルアンドタグプリンタより優れた本発明のＬＵＡプリンタＡＰＩのもう一つの長所は、例えばＳＢＰＬまたはＺＰＬのような既存の制御言語を通して印刷機能にアクセスするためのインタプリタを必要とすることなく印刷機能にアクセスできることである。言い換えると、前記ＡＰＩは、プリンタ１０８の印刷機能を制御するラベルアンドタグプリンタ１０８ファームウェアと直接連動する。これは、たとえば既存の制御言語と連動させるＳＢＰＬコマンドの生成（それによってプリンタ機能の修正と関連したステップとオーバーヘッドが増えてしまう）を必要とする先行技術システムの改善点である。
【００２６】
さらに、本発明のＡＰＩはＬＵＡインタプリタを介して連動するから、アプリケーションと関連したサイズ制限は、特定のラベルアンドタグプリンタ１０８に基づく内部メモリ必要条件を除いて実質的に削除される。これは、例えばインストールできて動的メモリ割り当てを支持しないコード行数に対する制限がある先行技術のラベルアンドタグプリンタの改善点である。本発明のＡＰＩは、たとえば、関数呼び出しと他の高水準プログラミング言語機能（特定の機能のために実装されるプログラミングコードの量を増やすメモリ（“ガベージコレクション”）を開放することのような）をサポートする。
【００２７】
本発明のもう一つの利点は、例えばＭＩＣＲＯＳＯＦＴ  ＶＩＳＵＡＬ  ＳＴＵＤＩＯ  または他の統合開発環境（“ＩＤＥ”）のような開発ツールがＬＵＡのためのプラグイン構成要素として使用できるということである。それぞれのラベルアンドタグプリンタ１０８のためのアプリケーション開発は、ビジュアル統合開発環境のソフトウェアアプリケーションに精通しているか不安がない開発者にはより魅力的である。
【００２８】
本発明のもう一つの利点は、ＬＵＡアプリケーションがプリンタ動作をシミュレートするＬＵＡ仮想マシンを備えるコンピュータ上で動くことができるということである。ユーザーは、アプリケーションをプリンタ上にダウンロードしてインストールする前にコンピュータ上で作成されたＬＵＡアプリケーションをテストすることができ、それはＬＵＡアプリケーションをテストするために実際にプリンタを動作させる必要性を排除する。
【００２９】
好ましい実施形態において、複数の独立したＬＵＡ仮想マシンはチェーンのように動作可能であり、ラベルアンドタグプリンタ１０８単独上にまたはそのネットワーク上に実装できる。このように、構成可能な動的なローカル設定は、例えば、領域設定と言語設定のような様々なカスタム設定によってデータをソートするバーコードプリンタのために実装できる。様々なローカル設定は、特定のコンピュータシステムのオペレーティングシステムに保存されてもよく、動作への変換は例えばローカル設定によって決まってもよい。
【００３０】
ＬＵＡインタプリタを介してＡＰＩを実装することによって、先行技術ですでに利用可能なもの以上にプリンタ機能の増設を提供できる。次に、好ましい実施形態に従って利用可能にしたプリンタ機能の増設とその改善された実装に関する解説を提供する。
【００３１】
実施例にあるようにプログラミング関数呼び出しおよび変数を介してプログラミング機能へ／から値を宣言し、対処し、渡す能力はＬＵＡの実装によってサポートされることが好ましい。プログラミング機能は、機能がうまく実行したかどうかにかかわらず表示するエラーコードのような値を戻すことが好ましい。例えば機能が意図するように実行しなかった場合、エラーの原因、エラーの症状、エラーの結果または他の適切な情報を表示するエラーコードが戻される。さらに、例えばテーブル名、ストリング値、データ、数値またはその種のような機能名と変数名に関連して、直ちにユーザーに表示されないことが望ましく、少なくとも部分的に非表示にするか、完全に非表示にしてもよい。
【００３２】
好ましくは、セキュリティ実装は本明細書の教示により裏付けられ、その教示とは例えば、特定のデータや一つ以上のデータディレクトリにアクセスすること、またはデータディレクトリ、データファイルまたはその種のものの作成、削除または修正を行うことのような様々なタスクを実行するためにユーザーに十分な権限を提供することとアクセス権を与えることとを必要とする、ということを含む。
【００３３】
ＡＰＩによって支持されるもう一つの特徴は、インターフェースレンダリングである。本明細書では、レンダリングとは通常双方向プログラミングオブジェクトの作成を意味する。例えば、レンダリングされたオブジェクトは、データフィールド（例えばテキストベースのフィールド）、バーコード、グラフィックフィールドとして形成されてもよい。レンダリングされたオブジェクトは、メソッドなどによって操作できるプロパティを一つ以上含む。好ましくは、ＡＰＩを介してレンダリングされるオブジェクト（例えばテキストフィールド、バーコード、グラフィックオブジェクト）は、ラベルオブジェクトを備えていて（例えば、追加または埋め込んで）、ラベルアンドタグプリンタ１０８を介して印刷される。
【００３４】
さらに、ＡＰＩはバーコードのようなオブジェクトの提供をサポートし、そのオブジェクトはラベル作成の間、ラベル印刷の間もしくはその両方のときにエラーを引き起こすことなく、ラベルの、ラベルアンドタグプリンタ１０８の印刷可能領域の少なくとも部分的に外側に位置付けられる。この特徴は、たとえば、バーコードの半分だけがラベルアンドタグプリンタ１０８で印刷されるバーコードを有するラベルを作成することを可能にする。ユーザーがラベルアンドタグプリンタ１０８を介して部分的または不完全なバーコードのようなオブジェクトをラベルに印刷されることを望む場合に、この特徴は先行技術のプリンタ機能の修正方法における改善点を提供する。
【００３５】
一つの実施形態と動作中においては、レンダリングされたオブジェクト（例えばテキストフィールド、バーコード、グラフィックボックス、イメージまたはその種のもの）のそれぞれの位置は、縦横位置パラメータ（例えば“ｈＰｏｓ”と“ｖＰｏｓ”）によって定義される。パラメータ値は、オブジェクトのためにアンカーポイント位置を定義することが望ましい。ｈＰｏｓとｖＰｏｓが正しくセットされる場合、エラーパラメータ（例えば”Ｅ＿ＳＵＣＣＥＳＳ“）が定義される。あるいは、ｈＰｏｓまたはｖＰｏｓが正しくセットされなければ、異なるエラーパラメータ（例えば”ＥＰＡＲＡＭ“）が定義される。
【００３６】
位置決めのために定義されるパラメータに加えて、本発明はバーコードまたはイメージのようなオブジェクトの拡大を支持する。例えば、縦横拡大パラメータ（例えば“ｈＭａｇ”と“ｖＭａｇ”）は縦横のピクセル拡大をセットするために（例えば、値１から１２）定義され、それはオブジェクトの縦横拡大のそれぞれの程度を表す。
【００３７】
図３は、ラベルアンドタグプリンタ１０８インターフェースと連動する好ましい実施形態に従って提供された関連ＡＰＩ３０２を例示するブロック図である。図３で示すように、キーボードＡＰＩ３０４は、ラベルアンドタグプリンタ１０８と統合されるキーボード１１０から信号を受信して解釈する（すなわち読み込む）ために操作可能である。あるいは、キーボードＡＰＩ３０４は、ラベルアンドタグプリンタ１０８に直接結合するのではなく外部キーボードまたは他の入力装置２１２から信号を読み込んで解釈するために動作する。ディスプレイＡＰＩ３０６は、プリンタ１０８と一体にしたディスプレイ１１２に多種多様なテキスト内容と画像を書き込むために動作する。あるいは、ディスプレイＡＰＩ３０６は、ラベルアンドタグプリンタ１０８に取り付けられた外部ディスプレイ２１４にテキスト内容と画像を書き込むために動作する。好ましくは、ディスプレイＡＰＩ３０６はフォントと符号化方式の幅広い選択をサポートし、それは例えば多くの異なる記述言語である。
【００３８】
図３に関して続けると、プリントレンダリングＡＰＩ３０８は、ラベルアンドタグプリンタ１０８で印刷されるラベル上に出力されるユーザー定義のデータフィールド要素をサポートする。そのようなデータフィールド要素の例は、テキストデータフィールド、一次元および二次元のバーコード、線と四角、三角関数、イメージ、個々のピクセル、グラフィックス、フォーマット済みデータおよびカウンタ値を含む。ユーザーはプリンタレンダリングＡＰＩ３０８によってデータフィールドのタイプと特定のラベル／タグ上に出力されるデータフィールドのそれぞれの位置を定義できる。様々な言語をサポートするフォントと符号化方式のための選択可能なオプションは、プリンタレンダリングＡＰＩ３０８によって提供されることが好ましい。固定長または可変長のデータフォーマットはサポートされ、フィールド定義に含むことができ、あるいは、ファイルまたはプリンタレンダリングＡＰＩ３０８を介した通信インターフェースから入力されることが好ましい。他の特徴は、上記のフィールドオブジェクトの一つ以上の色を定義するために選択可能なカラー出力オプションのサポートを含む。さらに、一つ以上のプリントアウトコマンドまたは供給コマンドは、白紙または印刷されたラベルとタグとを出力するためにプリンタレンダリングＡＰＩ３０８の機能として発令可能である。ユーザーが選択可能な印刷品質制御機能が、プリントレンダリングＡＰＩ３０８によってさらに提供されることが好ましい。
【００３９】
さらに、ファイルシステムＡＰＩ３１０は、ユーザーがファイルの格納、削除、読み込みおよび書き込みできるように提供されることが好ましく、そのファイルはラベルアンドタグプリンタ１０８の読み込み専用のメモリファイルシステム、ランダムアクセスメモリファイルシステム、フラッシュメモリファイルシステムまたは外部メモリソース（例えばコンパクトフラッシュ（登録商標）メモリカード、セキュアデジタルメモリカード、ＵＳＢメモリデバイス、またはその種のもの）の一つ以上の場所ある。ユーザーにラベルアンドグプリンタ１０８に関連した様々な内外部ソースに格納されたデータ、ファイルまたはその種のものへのアクセスを提供することは、ラベルアンドタグプリンタ１０８動作を制御、操作するための柔軟性を著しく高める。ファイルシステムＡＰＩ３１０と関連して望ましく提供される様々な機能の実施例は、フォーマット化したラベルアンドタグプリンタ１０８のファイルシステムを含み、ディレクトリの反復入力を決定し、特定のディレクトリに誘導し、新しいディレクトリを作成し、ファイルをコピーし、ディレクトリまたはファイルを除去し、ファイルシステム内の使用済みで利用可能なバイトを測定し、ファイルまたはディレクトリのアクセス権を変更する。
【００４０】
図３に関して続けると、ＲＦＩＤチップ／インレイへの読み込みおよび書き込みアクセスをサポートする無線ＩＣタグ（“ＲＦＩＤ”）ＡＰＩ３１２はラベルアンドタグプリンタ１０８を備える。さらに、リアルタイムクロックＡＰＩ３１４では、ユーザーはラベルアンドタグプリンタ１０８へ／から日付と時間データを定義して読み込むことができる。コンフィギュレーションＡＰＩ３１６は、ユーザー定義のプリンタに特有のパラメータをサポートする。例えば、コンフィギュレーションＡＰＩ３１６では、ユーザーは印刷速度、品質、日付と時間機能、ローカル言語、メニューコントロールまたはその種のものに関連した通信パラメータを定義できる。コンフィギュレーションＡＰＩ３１６は、ユーザーがラベルアンドタグプリンタ１０８の操作制御を定義または修正できることに特に有用であり、その操作制御に関しては、概してラベルアンドタグプリンタ１０８を備えたファームウェア専用であり、専門ソフトウェアとスキルを有した技術的に熟達したユーザーによってだけ修正可能である。さらに、コミュニケーションＡＰＩ３１８は、外部Ｉ／Ｏインターフェースデバイスとの通信を制御することが望ましい。複数の通信プロトコルと通信標準は、例えばＲＳ２３２、ＲＳ４８５、ＲＳ４２２、ＵＳＢ、ＬＡＮ、ＷＬＡＮおよびリレーインターフェースの外部デジタルを含んでサポートされる。
【００４１】
図３に示される他のＡＰＩ３０２は、プリンタで制御装置に動作可能であるデバイスＡＰＩ３２０、いつでもプリンタのステータスを報告するために動作可能であるプリンタステータスＡＰＩ３２２、ラベルアンドタグプリンタ１０８に送信されたＸＭＬコマンドおよび／またはＸＭＬファイルのようなコマンドおよび／またはファイルを解析するために動作可能であるパーサーＡＰＩ３２４を含む。一旦解析されると、ＸＭＬコマンドは解釈され、ラベルアンドタグプリンタ１０８に提供された出力を制御するのに用いることができる。
【００４２】
デバイスＡＰＩ３２０、プリンタステータスＡＰＩ３２２およびパーサーＡＰＩ３２４に加えて、好ましくはペーパーハンドリングＡＰＩ３２６を含むＡＰＩ３０２は、一つまたは複数のラベルとタグのサイズのために、例えばプリントフィード、フォームフィード、ラインフィード、テストフィードまたはその種のものを含む様々なペーパー機能をサポートするために提供される。さらに、サウンドＡＰＩ３２８は、例えばラベルアンドタグプリンタ１０８のベル、ブザーまたは他のサウンドデバイスのような音声制御を提供することを示す。さらに、センサーＡＰＩ３３０はラベルギャップセンサーとラベルマークセンサーのようなセンサーデバイスから情報を受信するために動作可能であることを示し、そのようなセンサーデバイスはラベルアンドタグプリンタ１０８を備えており、ラベルの端に達したとき、リボンの端に達したとき、ラベルまたはリボンの端にほとんど達したときのような様々な条件を決定するために使用可能である。一つの実施形態では、一つ以上のこれらの条件の決定が発生したときにセンサーＡＰＩ３３０は警告を出すために動作する。図３に示される他のＡＰＩ３０２は、ラベルアンドタグプリンタ１０８で発生した様々なイベントを受信して処理するイベントＡＰＩ３３２を含む。データのビット操作を行うために動作可能であるビットハンドリングＡＰＩ３３４を含み、必要に応じてラベルアンドタグプリンタ１０８で発生した、例えば停電、メモリエラー、紙詰まりまたはその種のエラーを処理するために動作可能であるエラーハンドリングＡＰＩ３３６を含む。
【００４３】
したがって好ましい実施形態により、複数のＡＰＩ３０２は、例えばＬＵＡプログラミング言語またはＣプログラミング言語で作成され、ＳＢＰＬまたはＺＰＬのような既存の制御言語を介してプリント機能にアクセスしているインタプリタの必要なしに、ラベルアンドタグプリンタ１０８に実装される。図３に例示されるＡＰＩ３０２に加えて、様々な他の雑多な機能は、一つ以上の実施形態に従って実装されるために本明細書において想定される。例えば、機能は、開発の迅速さと容易さのためにテーブルおよび／またはメーターテーブルのクローニングをサポートする。他の実施例は、エラーストリング値を変換する機能（例えば“ｅｒｒ２ｓｔｒ（）”）としてエラーコード値を測定するための機能、一つ以上の複数のフォーマット（例えばＸＭＬ、ＬＵＡまたはその他）にテーブルを保存するための機能、複数のフォーマットを提供されたテーブルをロードするための機能を含み、メニューとプロンプトのための複数の文語と口語をサポートする。
【００４４】
図４は、ラベルアンドタグプリンタ１０８で印刷され、ＡＰＩ３０２を用いて定義され、好ましい実施形態に従って提供されたラベル４００を例示する。図４で示されるように、印刷されたテキストデータのそれぞれの方向または位置にかかわらず、アンカーポイント４０２は上部左端（例えば、ｈＭａｇとｖＭａｇ変数値を介して定義される）のラベル４００上に印刷されたテキストデータの位置に定義される。また、図４で示されるのは、ラベルアンドタグプリンタ１０８を介して印刷されたラベル４００の給紙方向４０４である。ラベル４００上に印刷されたテキストデータに加えて、プリントレンダリングＡＰＩ３０８を介してレンダリングされる場合などにグラフィックイメージ４０６が提供される。
【００４５】
図５は、データフィールド５００がラベル４００上で提供されるために定義されるデータフィールドサイズを例示し、データフィールド５００の上部左端の隅のそれぞれの縦横位置（”ｈＰｏｓ”と“ｖＰｏｓ”）５０２と下部右端位置５０４の縦横位置を示す。さらに、データ方向機能５０６（例えばｄｉｒ（０，．３５９））は、ラベル４００上に出力されたとするデータフィールド５００の相対的な方向を示す。
【００４６】
図６は、ラベルアンドタグプリンタ１０８で印刷され、ＡＰＩ３０２を用いて定義され、好ましい実施形態従って提供されたラベル６００のもう一つの他の例を示す。図６に示されるラベル６００の例では、それぞれの位置６０８でラベル６００上に提供される複数の色６０２、６０４、６０６が示される。したがって、本明細書に示して説明しているように、ＬＵＡ  ＡＰＩは、ＬＵＡインタプリタを介したＡＰＩを実装することによってラベルアンドタグプリンタ１０８ファームウェアとＬＵＡインタプリタとともに動作するインターフェースであり、顧客は好ましい印刷動作を実装したＬＵＡアプリケーションプログラムを作成することができる。
【００４７】
図７を参照し、好ましい実施形態のラベルアンドタグプリンタ１０８は２種類のメモリを備えている：フラッシュメモリ７０２と同期型ＤＲＡＭ（ＳＤＲＡＭ）７０４である。フラッシュメモリ７０２（好ましくはＲＯＭの代わりに使われる）は、他の適当なデータ間で、ラベルアンドタグプリンタ１０８のブートコード、基本ファームウェア（例えばドライバー、バーコードフォーマットまたはその種のもの）、ＬＵＡ  ＡＰＩおよびＬＵＡ仮想マシンを格納する。当技術分野で周知のように、フラッシュメモリ７０２に格納されるブートコードはプリンタ１０８の起動プロセス間に動作する。好ましい実施形態では、ラベルアンドタグプリンタ１０８の基本ファームウェアとＬＵＡ  ＡＰＩとは圧縮した形式でフラッシュメモリ７０２に格納され、それによってフラッシュメモリ７０２内でメモリスペースを節約する。
【００４８】
ラベルアンドタグプリンタ１０８の起動プロセスの前に、ＳＤＲＡＭ７０４は大部分に空で、データを受信する準備ができていることが好ましい。図８に例示されるように、ラベルアンドタグプリンタ１０８のブート、ラベルアンドタグプリンタ１０８のファームウェア、ＬＵＡ  ＡＰＩおよびＬＵＡ仮想マシンが圧縮した形式でフラッシュメモリ７０２に格納されることが好ましい。起動プロセスの後、ファームウェア、ＬＵＡ  ＡＰＩおよびＬＵＡ仮想マシンは、非圧縮形式でＳＤＲＡＭに展開して提供される。その後、ラベルアンドタグプリンタ１０８の基本ファームウェア、ドライバー、バーコードデータ、ラベルフォーマット、パーサー、イメージバッファおよび他のデータは、必要に応じて一時的に、動作に備えてＳＤＲＡＭ７０４に格納される。
【００４９】
図９に関して、ＬＵＡ仮想マシンは、プリンタ１０８のファームウェア、ＬＵＡ  ＡＰＩおよびパーサーと接続してＳＤＲＡＭ７０４を介して動作することが好ましい。この方法と好ましい実施形態に従って、ラベルアンドタグプリンタ１０８は印刷動作の間にだけフラッシュメモリ７０２に頼らないが、その代わりに、動作のためにＳＤＲＡＭ７０４に格納された非圧縮データとインストラクションによって動作する。この実施形態は先行技術システムと方法より好ましい。それはＳＤＲＡＭ７０４がフラッシュメモリ７０２より速く、より効率的に動作し、そしてプリンタ動作完了後にＳＤＲＡＭ７０４は非圧縮データとインストラクションを消去できるからである。
【００５０】
図９と１０に関して、印刷動作の間、本明細書の教示と関連して提供されるＬＵＡ  ＡＰＩは、ＬＵＡ仮想マシンを介して動作し、ラベルアンドタグプリンタ１０８のバッファに格納されるラベルイメージまたは他のオブジェクトを出力するために、ラベルアンドタグプリンタ１０８ファームウェアと連動する。ラベルアンドタグプリンタ１０８は、好ましくはＬＵＡ  ＡＰＩを介して定義済みのものとして複数の入力源からインストラクション（例えばＬＵＡ  ＡＰＩを介して）および／またはデータを受信できることが好ましい。例えば、データは入力装置２１２、通信ポート、ネットワークインターフェース２０８またはその種のものを含むどんな適当な入力ポートを介してでもスキャン、タイプあるいは提供および受信できるであろう。
【００５１】
したがって、本明細書で説明し主張してきたように、そして、添付の図面に示したように、ラベルアンドタグプリンタ１０８によって提供された機能は、プリンタ１０８のファームウェアと連動するＡＰＩ３０２の機能として強化、修正、または加えられることが好ましい。アプリケーションは、ＬＵＡプログラミング言語のような高水準プログラミング言語を使用して定義されることが好ましく、それによって個人が特定のプリンタモデルファームウェア専用プログラミング言語に熟達している必要性、またはプリンタのファームウェアを修正するために専用の開発ツールにアクセスする必要性を排除する。したがって、プリンタはプリンタの専用インタプリタ型言語を用いたアプリケーションを記述する必要性なしにアプリケーション開発を可能にする。
【００５２】
本発明はその特定の実施形態に関して説明し表示しているが、多くの他の変動と修正と他の用途とは当業者にとっても明らかになるであろう。したがって、本発明が本明細書の特定の開示によって制限されないことを申しいれる。
【図１】
2012507060.tif 000003
【図２】
2012507060.tif 000004
【図３】
2012507060.tif 000005
【図４】
2012507060.tif 000006
【図５】
2012507060.tif 000007
【図６】
2012507060.tif 000008
【図７】
2012507060.tif 000009
【図８】
2012507060.tif 000010
【図９】
2012507060.tif 000011
【図１０】
2012507060.tif 000012
【誤訳訂正書】
【提出日】平成23年2月3日(2011.2.3)
【誤訳訂正１】
【訂正対象書類名】特許請求の範囲
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【特許請求の範囲】
【請求項１】
印刷動作を制御するためのファームウェアを備えたプリンタの機能性を改変する方法であり、この方法は、
第１プログラミングコードの開発であり、この第１プログラミングコードは、コンピュータ読み取り可能な媒体で実行されると、プリンタのファームウェアとインターフェースして、前記プリンタの機能性を改変するものであり、前記第１プログラミングコードは、第１プログラミング言語で書かれ、かつ、前記ファームウェアは、前記第１プログラミング言語以外の第２プログラミング言語で書かれたものである、第１プログラミングコードを開発し、
前記コンピュータ読み取り可能な媒体上で前記第１プログラミングコードを実行し、前記第１プログラミングコードを前記ファームウェアとのインターフェースさせ、
前記第１プログラミングコードを実行し、前記ファームウェアとインターフェースすることにより、前記プリンタの機能性を改変し、
前記ファームウェアは、前記インターフェースすることによっては改変されないものである、プリンタの機能性を改変する方法。
【請求項２】
請求項１に記載のプリンタの機能性を改変する方法において、
前記プリンタは、ラベル／タグプリンタであること、
を特徴とするプリンタの機能性を改変する方法。
【請求項３】
請求項１に記載のプリンタの機能性を改変する方法において、
前記第１プログラミング言語は、スクリプト言語であること、
を特徴とするプリンタの機能性を改変する方法。
【請求項４】
請求項３に記載のプリンタの機能性を改変する方法において、
前記スクリプト言語はＬＵＡであること、
を特徴とするプリンタの機能性を改変する方法。
【請求項５】
請求項４に記載のプリンタの機能性を改変する方法において、
前記第１プログラミング言語を実行する動作は、ＬＵＡ仮想マシンにおいて、前記第１プログラミングコードを解釈する動作をさらに有すること、
を特徴とするプリンタの機能性を改変する方法。
【請求項６】
請求項１に記載のプリンタの機能性を改変する方法において、
前記第１プログラミングコードは、少なくとも一つのアプリケーションプログラミングインターフェースを含むこと、
を特徴とするプリンタの機能性を改変する方法。
【請求項７】
請求項６に記載のプリンタの機能性を改変する方法において、
前記一つ以上のアプリケーションプログラミングインターフェースは、キーボードアプリケーションプログラミングインターフェース、表示ディスプレイアプリケーションプログラミングインターフェース、印刷レンダリングアプリケーションプログラミングインターフェース、ファイルシステムアプリケーションプログラミングインターフェース、無線識別（ＲＦＩＤ）アプリケーションプログラミングインターフェース、リアルタイムクロックアプリケーションプログラミングインターフェース、コンフィギュレーションアプリケーションプログラミングインターフェース、通信アプリケーションプログラミングインターフェース、デバイスアプリケーションプログラミングインターフェース、プリンタ状態アプリケーションプログラミングインターフェース、ＸＭＬパースアプリケーションプログラミングインターフェース、用紙処理アプリケーションプログラミングインターフェース、音声アプリケーションプログラミングインターフェース、センサーアプリケーションプログラミングインターフェース、イベントアプリケーションプログラミングインターフェース、ビット操作アプリケーションプログラミングインターフェース、及びエラー処理アプリケーションプログラミングインターフェースのうち、一つ以上のものを含むこと、
を特徴とするプリンタの機能性を改変する方法。
【請求項８】
請求項１に記載のプリンタの機能性を改変する方法において、
前記第１プログラミングコードは、前記プリンタ以外のコンピュータデバイス上でテスト可能であること、
を特徴とするプリンタの機能性を改変する方法。
【請求項９】
請求項１に記載のプリンタの機能性を改変する方法において、
前記第１プログラミングコードは、統合開発環境で開発されること、
を特徴とするプリンタの機能性を改変する方法。
【請求項１０】
プリンタの機能性を改変するためのシステムであり、このシステムは、
印刷機能を有するプリンタと、
第１プログラミング言語で書かれ、かつ、前記プリンタに提供されるファームウェアであり、前記プリンタ上で実行されると、印刷動作の制御を行う、ファームウェアと、
前記第１プログラミング言語以外の第２プログラミング言語で書かれ、かつ、コンピュータ読み取り可能な媒体で実行可能である第１プログラミングコードであり、この第１プログラミングコードは、印刷機能を改変するための命令を含むものである、第１プログラミングコードと、
前記第１プログラミングコードが実行されるコンピュータ読み取り可能な媒体、から構成され、
前記第１プログラミングコードは、前記コンピュータ読み取り可能な媒体上で実行されると、プリンタの機能性を改変されるようにするために、前記第１プログラミングコードとファームウェアがインターフェースされ、かつ、前記ファームウェアは、前記第１プログラミングコードによるファームウェアとの前記インターフェース動作では改変されないものである、プリンタの機能性を改変するためのシステム。
【請求項１１】
請求項１０に記載のプリンタの機能性を改変するためのシステムにおいて、
前記プリンタは、ラベル／タグプリンタであること、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項１２】
請求項１０に記載のプリンタの機能性を改変するためのシステムにおいて、
前記第２プログラミング言語は、スクリプト言語であること、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項１３】
請求項１２に記載のプリンタの機能性を改変するためのシステムにおいて、
前記スクリプト言語はＬＵＡであること、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項１４】
請求項１３に記載のプリンタの機能性を改変するためのシステムにおいて、
前記第１プログラミング言語を実行する動作は、ＬＵＡ仮想マシンにおいて、前記第１プログラミングコードを解釈する動作をさらに有すること、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項１５】
請求項１０に記載のプリンタの機能性を改変するためのシステムにおいて、
前記第１プログラミングコードは、少なくとも一つのアプリケーションプログラミングインターフェースを含むこと、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項１６】
請求項１５に記載のプリンタの機能性を改変するためのシステムにおいて、
前記一つ以上のアプリケーションプログラミングインターフェースは、キーボードアプリケーションプログラミングインターフェース、表示ディスプレイアプリケーションプログラミングインターフェース、印刷レンダリングアプリケーションプログラミングインターフェース、ファイルシステムアプリケーションプログラミングインターフェース、無線識別（ＲＦＩＤ）アプリケーションプログラミングインターフェース、リアルタイムクロックアプリケーションプログラミングインターフェース、コンフィギュレーションアプリケーションプログラミングインターフェース、通信アプリケーションプログラミングインターフェース、デバイスアプリケーションプログラミングインターフェース、プリンタ状態アプリケーションプログラミングインターフェース、ＸＭＬパースアプリケーションプログラミングインターフェース、用紙処理アプリケーションプログラミングインターフェース、音声アプリケーションプログラミングインターフェース、センサーアプリケーションプログラミングインターフェース、イベントアプリケーションプログラミングインターフェース、ビット操作アプリケーションプログラミングインターフェース、及びエラー処理アプリケーションプログラミングインターフェースのうち、一つ以上のものを含むこと、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項１７】
請求項１０に記載のプリンタの機能性を改変するためのシステムにおいて、
前記第１プログラミングコードは、ファームウェアなしで書かれること、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項１８】
請求項１０に記載のプリンタの機能性を改変するためのシステムにおいて、
前記第１プログラミングコードを開発するための統合開発環境をさらに有すること、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項１９】
印刷動作を制御するためのファームウェアを備えたプリンタの機能性を改変する方法であり、この方法は、
第１プログラミングコードの開発であり、この第１プログラミングコードは、コンピュータ読み取り可能な媒体で実行されると、プリンタのファームウェアとインターフェースして、前記プリンタの機能性を改変するものであり、前記第１プログラミングコードは、第１プログラミング言語で書かれ、かつ、前記ファームウェアは、前記第１プログラミング言語以外の第２プログラミング言語で書かれたものである、第１プログラミングコードを開発し、
前記第１プログラミングコードと前記ファームウェアを、前記プリンタに備えられる第１メモリ上に、圧縮形式で格納し、
前記プリンタを立ち上げる時に、圧縮されている前記第１プログラミングコードと前記ファームウェアの圧縮を復元して、前記プリンタに備えられる第２メモリへ渡し、
前記第２メモリ上で前記第１プログラミングコードと前記ファームウェアとを実行し、前記第１プログラミングコードを前記ファームウェアとインターフェースし、
前記第１プログラミングコードを実行して前記ファームウェアとインターフェースすることにより、前記プリンタの機能性を改変し、前記ファームウェアは、前記インターフェースすることによっては改変されないものである、プリンタの機能性を改変する方法。
【請求項２０】
請求項１９に記載のプリンタの機能性を改変する方法において、
前記第１メモリは、フラッシュメモリであること、
を特徴とするプリンタの機能性を改変する方法。
【請求項２１】
請求項１９に記載のプリンタの機能性を改変する方法において、
前記第２メモリは、ＳＤＲＡＭであること、
を特徴とするプリンタの機能性を改変する方法。
【請求項２２】
プリンタの機能性を改変するためのシステムであり、このシステムは、
印刷機能を有するプリンタと、
第１プログラミング言語で書かれ、かつ、前記プリンタに提供されるファームウェアであり、前記プリンタ上で実行されると、印刷動作の制御を行う、ファームウェアと、
前記第１プログラミング言語以外の第２プログラミング言語で書かれ、かつ、コンピュータ読み取り可能な媒体で実行可能である第１プログラミングコードであり、この第１プログラミングコードは、印刷機能を改変するための命令を含むものである、第１プログラミングコードと、
前記第１プログラミングコードと前記ファームウェアが圧縮形式で格納される第１メモリと、
前記第１プログラミングコードと前記ファームウェアが実行される第２メモリと、
から構成され、
前記プリンタが立ち上げられるとき、前記第１メモリ内の圧縮された前記第１プログラミングコードと前記ファームウェアは、圧縮を復元されて、前記第２メモリへと渡され、
前記第１プログラミングコードと前記ファームウェアが、前記第２メモリ上で実行される時、前記プリンタの機能が改変されるようにするために、前記第１プログラミングコードと前記ファームウェアとはインターフェースされて、かつ、前記ファームウェアは、前記第１プログラミングコードが前記ファームウェアと前記インターフェースすることによっては改変されないものである、プリンタの機能性を改変するためのシステム。
【請求項２３】
請求項２２に記載のプリンタの機能性を改変するためのシステムにおいて、
前記第１メモリはフラッシュメモリであること、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項２４】
請求項２２に記載のプリンタの機能性を改変するためのシステムにおいて、
前記第２メモリはＳＤＲＡＭであること、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項２５】
印刷動作を制御するためのファームウェアを備えたプリンタの機能性を改変する方法であり、この方法は、
第１プログラミングコードの開発であり、この第１プログラミングコードは、コンピュータ読み取り可能な媒体で実行されると、プリンタのファームウェアとのインターフェースして、前記プリンタの機能性を改変するものであり、前記第１プログラミングコードは、第１プログラミング言語で書かれ、かつ、前記ファームウェアは、前記第１プログラミング言語以外の第２プログラミング言語で書かれたものである、第１プログラミングコードを開発し、
前記第１プログラミングコードを、前記プリンタ内に備えられた第１メモリ上に格納し、
前記第１プログラミングコードと前記ファームウェアを第２メモリ上で実行し、前記第１プログラミングコードを前記ファームウェアとインターフェースさせ、
前記第１プログラミングコードを実行し、前記ファームウェアとインターフェースすることにより、前記プリンタの機能性を改変し、
前記ファームウェアは、前記インターフェースすることによっては改変されないものである、プリンタの機能性を改変する方法。
【請求項２６】
プリンタの機能性を改変するためのシステムであり、このシステムは、
印刷機能を有するプリンタと、
第１プログラミング言語で書かれ、かつ、前記プリンタに提供されるファームウェアであり、前記プリンタ上で実行されると、印刷動作の制御を行う、ファームウェアと、
前記第１プログラミング言語以外の第２プログラミング言語で書かれ、かつ、コンピュータ読み取り可能な媒体で実行可能である第１プログラミングコードであり、この第１プログラミングコードは、印刷機能を改変するための命令を含むものである、第１プログラミングコードと、
前記第１プログラミングコードが格納される第１メモリと、
前記第１プログラミングコードと前記ファームウェアが実行される第２メモリと、
から構成され、
前記第１プログラミングコードと前記ファームウェアが、前記第２メモリ上で実行される時、前記プリンタの機能が改変されるようにするため、前記第１プログラミングコードと前記ファームウェアとはインターフェースされて、かつ、前記ファームウェアは、前記第１プログラミングコードが前記ファームウェアと前記インターフェースすることによっては改変されないものである、プリンタの機能性を改変するためのシステム。
【誤訳訂正２】
【訂正対象書類名】明細書
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にプリンタに関するものであり、より具体的には、ラベル／タグプリンタのファームウェアとのインターフェースを提供することにより、プリンタの性能を向上させるものである。
【背景技術】
【０００２】
ほとんどのラベル／タグプリンタは、従来、予め定義されている専用の制御言語を介して動作する。例えば、ＳＡＴＯのバーコードプリンタ言語（ＳＢＰＬ）、ＺＥＢＲＡのプログラミング言語（ＺＰＬ）、ＤＡＴＡＭＡＸのプリンタ言語（ＤＰＬ），ＩＮＴＥＲＭＥＣのプリンタ言語（ＩＰＬ）等は、全て、ユーザーがプリンタの出力機能を変更するのを可能にするために、極めて最小の熟練レベルしか要しない専用機能を備えている。種々のプリンタモデル、例えば、上記に挙げたプリンタ言語をサポートするプリンタメーカーにより供給されるプリンタモデルは、予め定義された個別の命令により定義された印刷タスクを実行することができる。一般に、プリンタ機能の特定の変更は、プリンタのファームウェアを改変することにより行う。
【０００３】
各プリンタのそれぞれの制御言語は予め定義されている。したがって、既存のプリンタは、予め定義されたタスクを行うことしかできない。それゆえ、種々のプリンタ機能を追加する必要がある場合は、ファームウェアを変更する必要がある。この改訂を行うには、しばしば、複雑なソースコードの改訂版を作成したり、その改訂版を作成するための埋め込みプログラム開発ツールを作成することが必要となる。これは、顧客が現場で行うことができるような柔軟性をもったアプローチやカスタマイズではない。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来技術においては、プリンタのファームウェアのソースコードを変更しないと、ラベル／タグプリンタのソフトウェアをカスタマイズ又は改変することができず、また、これには高価な開発ツールが必要であった。
【０００５】
したがって、印刷動作を制御するファームウェアを備えたプリンタの機能性を改変するためのシステム及び方法が定義される。第１プログラミングコードは、それがコンピュータ読み取り可能な媒体上で実行されたとき、プリンタのファームウェアとインターフェースし、プリンタの機能を改変するように開発される。第１プログラミングコードは、ＬＵＡプログラミング言語のような第１プログラミング言語で書かれており、ファームウェアは、上記第１プログラミング言語とは異なる第２プログラミング言語で書かれたものである。したがって、第１プログラミングコードがコンピュータ読み取り可能な媒体上で実行され、プリンタの機能は、第１プログラミングコードがファームウェアとインターフェースした結果として改変される。ファームウェア自体は、このインターフェースすることによっては改変されない。
【課題を解決するための手段】
【０００６】
好適な実施形態において、インタープリターされるスクリプト言語がラベル／タグプリンタに関連して提供され、これを使用して、アプリケーションプログラミングインターフェース（ＡＰＩ）を介してプリンタのファームウェアとインターフェースして作用するソフトウェアアプリケーション（すなわち、プリンタアプリケションプログラム）を開発する。
【０００７】
好適には、ラベル／タグプリンタには、ＬＵＡ仮想マシンが備えられる。好ましくは、ＬＵＡスクリプト言語は、アプリケーションプログラミングインターフェース（ＡＰＩ）を介してプリンタのファームウェアとインターフェースする、ラベル／タグプリンタに適応したプリンタアプリケーションを開発するのに使用される。これにより、プリンタの全てのファームウェア及びハードウェアの機能へのアクセスが可能となる。
【０００８】
本発明のその他の特徴及び利点は、付随する図面を参照した以下の説明により明らかになるであろう。
【図面の簡単な説明】
【０００９】
本発明を説明する目的のため、図面に、好適な形態を示す。しかし、本発明は、図に示されたそのままの構成及び手段に限定されるべきものでないことに留意されたい。本発明の特徴及び利点は、付随する図面を参照した以下の説明により明らかになるであろう。
【００１０】
【図１】図１は、本発明によるハードウェアの構成例を示す。
【図２】図２は、図１に示す情報処理装置の一例の機能素子を示す。
【図３】図３は、好適な実施形態により提供されるプリンタＡＰＩを示すブロック図である。
【図４】図４は、ラベル／タグプリンタにより印刷される、本発明により提供されたＡＰＩにより定義される、ラベルの例を示す。
【図５】図５は、横位置、縦位置のそれぞれを示し、かつ、ラベル上に提供されるデータフィールドについて定義されるデータフィールドサイズの例を示す。
【図６】図６は、ラベル／タグプリンタにより印刷され、ＡＰＩにより定義される、ラベルの別の例であり、好適な実施形態により提供される色オプションを示すものである。
【図７】図７は、複数の電気的メモリの形式を含む好適な実施形態の実装を示すものである。
【図８】図８は、複数の電気的メモリの形式を含む好適な実施形態の実装を示すものである。
【図９】図９は、複数の電気的メモリの形式を含む好適な実施形態の実装を示すものである。
【図１０】図１０は、複数の電気的メモリの形式を含む好適な実施形態の実装を示すものである。
【発明を実施するための形態】
【００１１】
本技術によれば、ラベル／タグプリンタに供給されているファームウェアのソースコードを更新、変更、又は改変すること無しに、かつ、高価な開発ツールの必要がなく、各人がラベル／タグプリンタの設定をカスタマイズすることが可能となるように、一つ以上のインターフェースが備えられる。故に、ラベル／タグプリンタは、プリンタの専用のインタープリタ型言語を使用することにより、アプリケーションを記述するのにその他のツールを使用することなく、効果的に、アプリケーション開発を行うことが可能となっている。
【００１２】
好適な実施形態においては、インタープリタ型スクリプト言語が、ラベル／タグプリンタと組み合わせて供給される。カスタム化及び拡張機能のためのプリンタファームウェアへの作用、及び操作が可能となるように、プリンタアプリケーションプログラミングインターフェース（ＡＰＩ）として形式が整えられたプリンタ拡張機能のセットが供給される。これらのＡＰＩは、ラベル／タグプリンタに提供されていることが望ましい。好適な実施形態において、インタープリタ型スクリプト言語はＬＵＡである。
【００１３】
上記プリンタファームウェアを、例えば、スクリプト言語で開発された上記一群のプリンタＡＰＩにインターフェースすることにより、ラベル／タグプリンタが種々のタスクを行うのに使用するソフトウェアによる命令を介して、ラベル／タグプリンタのユーザーは、改善された柔軟性やユーザー補助機能を享受することができる。プリンタのファームウェアと組み合わせてＡＰＩを使用することにより、ユーザーは、ラベル／タグプリンタのファームウェアのソースコードを改変する必要が無くなり、また、ラベル／タグプリンタのファームウェアソースコードの変更や改変に一般に必要となる開発ツールにアクセスする必要が無くなる。以下に詳しく記述するように、本技術に関連して提供されるＡＰＩは、種々の機能、例えば、違う種類のキーボードや表示ディスプレイのためのインターフェース機能、可変フォントや印刷レンダリングの形式を提供する機能、プリンタのファイルシステムにアクセスする機能、プリンタの設定機能、及び、ラベル／タグプリンタに関係する種々のその他の機能を提供する。
【００１４】
よって、本発明は、ファームウェアのソースコードを改変することなく、また、例えば、予め定義された専用の制御ファームウェア及びプリンタのファームウェアを改変するためのソフトウェア開発ツールを含む高価な埋め込み型システムを必要とすることなく、複数の印刷に関する解決策を提供するものである。
【００１５】
参照図面においては、同様の参照番号は同様の構成要素を示す。図１は、本発明の実施形態における、直接接続されたケーブルを介して、又は、通信ネットワークを介して、プリンタアプリケーションプログラムを供給及びインストールするためのハードウェアの構成例を示すものであり、ここでは一般的に、システム１００と称する。図１中での例においては、情報処理装置１０２には、例えば、本技術の当業者には周知であるように、ＬＵＡプログラミング言語でアプリケーションを開発するためのプログラム統合開発環境（ＩＤＥ）が提供されており、。情報処理装置１０２は、本発明をサポートするために必要な全てのデータベースを有するのが好ましい。しかし、ここでの情報処理装置１０２は、通信ネットワーク１０６又は、情報処理装置１０２が結合できるその他の通信ネットワークを介して、必要とされるいずれのデータベースにもアクセスできるようなものを想定している。通信ネットワーク１０６は、インターネットのような世界的な公共ネットワークであることが好ましいが、広域ネットワーク（ＷＡＮ）やローカルネットワーク（ＬＡＮ）や、又はイントラネットやコンピュータデバイスや周辺機器との通信を可能にするその他のネットワークでもよい。
【００１６】
好適な実施形態において、情報処理装置１０２は、通信ネットワーク１０６を介してデータの送受信をすることができる任意のコンピュータ読み取り可能媒体機器であり、例えば、大型汎用コンピュータ、小型コンピュータ、パーソナルコンピュータ、ノート型コンピュータ、携帯情報端末（ＰＤＡ）、携帯電話、及び、ウェブテレビのようなインターネットアクセス可能な機器である。また、情報処理装置１０２は、ＭＩＣＲＯＳＯＦＴ  ＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥ（登録商標）、ＭＯＺＩＬＬＡ  ＦＩＲＥＦＯＸ（登録商標）のようなウェブブラウザのソフトウェアが装備されていることが望ましい。情報処理装置１０２は、既知のデータ通信ネットワーク技術を使用した通信ネットワーク１０６に接続される。
【００１７】
また、図１には、プリンタ１０８が示されている。プリンタ１０８は、好ましくは、ラベル／タグプリンタであり、情報処理装置１０２から受けたデータのラベル及びタグを印刷する操作が可能であるものが好ましい。情報処理装置１０２に関係無く、又は、情報処理装置１０２と連携して、ラベル／タグプリンタ１０８の機能の入出力を行うことが可能とするために、ラベル／タグプリンタ１０８には、キーボード１１０及び表示ディスプレイ１１２が備えられてもよい。
【００１８】
図２は、情報処理装置１０２の一例の機能構成要素を示し、これは、ソフトウェアコードを実行し、情報処理装置１０２の動作を制御するための一つ以上の中央処理装置（ＣＰＵ）２０２を含んでいる。その他の構成要素としては、読み取り専用メモリ（ＲＯＭ）２０４、ランダムアクセスメモリ（ＲＡＭ）２０６、通信ネットワークを介して他のコンピュータデバイスとデータへのデータの送受信を行うための一つ以上のネットワークインターフェース２０８、プログラミングコードのデータベース及びアプリケーションデータを格納するための、ハードディスクドライブ、フロッピー（登録商標）ディスクドライブ、テープドライブ、ＣＤＲＯＭ、又はＤＶＤのような記憶装置２１０、キーボード、マウス、トラックボール、マイク等の一つ以上の入力装置２１２、及び表示ディスプレイ２１４が挙げられる。さらに、また、ラベル／タグプリンタ１０８には、一つ以上の機能素子２０２から２１４が好適に形成、又は備えられてもよい。
【００１９】
情報処理装置１０２の種々の構成要素は、物理的に同じ筐体に含まれる必要は無く、また、一箇所に設置される必要もない。例えば、記憶装置２１０は、情報処理装置１０２の残りの構成要素から離れた場所に設置してもよい。また、記憶装置２１０は、ネットワークインターフェース２０８を介した通信ネットワーク１０６を介してＣＰＵ２０２に接続してもよい。情報処理装置１０２は、ハイパーテキスト・マークアップ言語（ＨＴＭＬ）、Ｊａｖａ（登録商標）アプレット、Ａｃｔｉｖｅ−Ｘ制御プログラムを通信するための通信ウェブサーバーとして機能し、また、必要なデータベース、フォーラム、及びその他の通信サービスを提供することができるようにするため、十分な記憶容量を有するメモリを有することが好ましい。情報処理装置１０２は、例えば、図２に示すように、その予測される操作環境に適した構成要素と共に配置される。ＣＰＵ２０２、ネットワークインターフェース２０８、及びメモリや格納素子については、期待される要求が満たされるようにその能力が確保されるように選択する。
【００２０】
本発明は、コンピュータが実行可能なコード（すなわちソフトウェア）を作成する分野の当業者において、一つ以上の一般向けコンピュータプログラミング言語と開発環境の組み合わせたもの（これは、ＬＵＡ、Ｃ、Ｃ＋＋、Ｖｉｓｕａｌ  Ｂａｓｉｃ、ＪＡＶＡ（登録商標）、ＨＴＭＬ、ＸＭＬ、ＡＣＴＩＶＥ  ＳＥＲＶＥＲ  ＰＡＧＥＳ、ＪＡＶＡ（登録商標）  ｓｅｒｖｅｒ  ｐａｇｅｓ、ｓｅｒｖｌｅｔｓ、ＭＹＳＱＬ、及びＰＨＰを含むが、これらに限るものではない）を使用することにより、ここに述べる機能を実装することを可能とするものである。
【００２１】
本発明は、ここにおいては一例として、ウェブブラウザとウェブサイトサーバー（例えば、情報処理装置）を使用したウェブを基本としたシステムについて記述しているが、システム１００は、そのような構成に限るものではない。ここでは、システム１００は、既知の通信方法、例えば、インターネットワークパケット交換（ＩＰＸ）、ダイアルアップネットワーク、第三者機関のネットワーク、個人のネットワーク、又は高度情報通信網（ＶＡＮ）のようなローカルエリアネットワークプロトコルと結合した非インターネットブラウザであるＷＩＮＤＯＷＳ（登録商標）ビューワーを使用して、ラベル／タグプリンタ１０８が通信を行い、かつ、情報処理装置１０２から受け取ったデータを出力できるように構成されると想定する。
【００２２】
さらに、情報処理装置１０２には、任意の適切なオペレーティングシステムを使用することができると想定する。上記任意の適切なオペレーティングシステムには、例えば、ＤＯＳ、ＷＩＮＤＯＷＳ（登録商標）３．ｘ、ＷＩＮＤＯＷＳ（登録商標）９５、ＷＩＮＤＯＷＳ（登録商標）９８、ＷＩＮＤＯＷＳ（登録商標）  ＮＴ、ＷＩＮＤＯＷＳ（登録商標）２０００、ＷＩＮＤＯＷＳ（登録商標）  ＭＥ、ＷＩＮＤＯＷＳ（登録商標）  ＣＥ、ＷＩＮＤＯＷＳ（登録商標）  ＰＯＣＫＥＴ  ＰＣ、ＷＩＮＤＯＷＳ（登録商標）  ＸＰ、ＭＡＣ  ＯＳ（登録商標）、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）、ＰＡＬＭ  ＯＳ（登録商標）、ＰＯＣＫＥＴ  ＰＣ、及びその他の適当なオペレーティングシステムを含む。
【００２３】
好ましい実施形態において、ラベル／タグプリンタ１０８のアプリケーションは、ＬＵＡプログラミング言語で開発される。好適な実施形態において、アプリケーションに備えられたＬＵＡプログラミングステートメントの実行を機能することができるように機能するＬＵＡインタープリタが備えられる。一般の高度プログラミング言語と違って、ＬＵＡは、スクリプト言語であり、基本的なプログラミング言語ではない。種々の機能を実行させるようなＳＢＰＬ命令や又は、その他の予め定義された命令を受ける一般のラベル／タグプリンタとは違って、本発明は、ＬＵＡ言語の拡張である、プリンタファームウェアとインターフェースし、また、ＬＵＡインタープリタにより解釈されるプリンタＡＰＩを実装するものである。これにより、関数呼び出しを介すること等により、より高度で複雑なアプリケーションを開発することが可能になる。さらに、従来のラベル／タグプリンタでは、一箇所の変更点を実装するために、対応するファームウェアアプリケーションを完全に上書きする必要があったが、ＬＵＡプログラミング言語の拡張機能であるＡＰＩを実装することにより、ラベル／タグプリンタ１０８の機能を部分的に改変することが可能となった。
【００２４】
本発明の別の利点は、ＬＵＡプログラミング言語で開発され、ラベル／タグプリンタ１０８により解釈されるアプリケーションは、よりコンパクトな構成であり、かつ、著しく動作が速いということが挙げられる。この理由は、従来のラベル／タグプリンタは、種々の機能（本発明においては、ＡＰＩにより達成される）を実行するのにより多くのソフトウェア命令を必要とするからである。さらに、ＬＵＡインタープリタは、関数呼び出しや変数宣言等における利点を利用することにより、効率的に本発明のＡＰＩとインターフェースし、メモリに対する要求が減ったことにより、コードの利便性が、従来技術におけるラベル／タグプリンタより著しく向上した。
【００２５】
従来技術のラベル／タグプリンタに対する本発明のＬＵＡプリンタＡＰＩの別の利点は、インタプリタが、ＳＢＰＬやＺＰＬのような既存の制御言語を介して印刷機能にアクセスする必要なく、印刷機能にアクセスすることが可能ということである。いい換えると、ＡＰＩは、ラベル／タグプリンタ１０８の印刷機能を制御するファームウェアに対して、直接インターフェースする。これは、従来技術によるシステムに対する改善点である。従来技術によるシステムにおいては、例えば既存の制御言語とのインターフェースするためにＳＢＰＬ命令の生成が必要となり、これにより、プリンタの機能を改変するのに関連した直接、及び間接的な工程が増加してしまう。
【００２６】
さらに、本発明のＡＰＩは、ＬＵＡインタープリタを介してインターフェースするので、ラベル／タグプリンタ１０８における内部メモリの必要性を除いて、アプリケーションのサイズの制限が実質的に無くなる。これは、例えば、インストールされうるコードの行数の制限を持ち、また、動的メモリ割り当てをサポートしていない従来技術におけるラベル／タグプリンタに対する改善点である。本発明におけるＡＰＩは、例えば、或る特定の機能のために実装されたプログラミングコードの量を増やすことができるようにメモリを解放すること（ガーベジコレクション機能）等の関数呼び出しやその他の高度なプログラミング言語機能をサポートしている。
【００２７】
本発明の別の利点は、ＭＩＣＲＯＳＯＦＴ  ＶＩＳＵＡＬ  ＳＴＵＤＩＯやその他の統合的開発環境（ＩＤＥ）等の開発ツールをＬＵＡのプラグイン構成要素として使用できるということが挙げられる。各ラベル／タグプリンタ１０８のアプリケーション開発は、ビジュアルな統合開発環境におけるソフトウェア開発になじんだ、又は快適さを感じる開発者にとってより魅力的なものとなる。
【００２８】
本発明の別の利点は、プリンタ動作をシミュレーション可能であるＬＵＡ仮想マシンを有するコンピュータ上で、ＬＵＡアプリケーションを走らせることが可能であるということが挙げられる。ユーザーは、アプリケーションをプリンタにダウンロードしてインストールする前に、開発したＬＵＡアプリケーションをコンピューター上でテストすることが可能であり、これにより、ＬＵＡアプリケーションをテストするために実際にプリンタを動作させることが不要となる。
【００２９】
好適な実施形態において、複数の独立したＬＵＡ仮想マシンは、連結操作可能であり、また、これらは、ネットワーク上の一つのラベル／タグプリンタ１０８に実装することができる。この方法においては、例えば、地域的な設定や言語の設定等の種々のカスタマイズ設定に応じてデータを並べかえるバーコードプリンタに対して、設定可能な動的ローカル設定が実装可能である。種々のローカル設定は、特定のコンピュータシステムのオペレーティングシステム上に格納されてもよい。また、動作の変更は、例えば、このローカルの設定に依存してもよい。
【００３０】
ＬＵＡインタープリタを介してＡＰＩを実装することにより、従来技術においてこれまで利用できたものに加えて、さらなる追加機能が提供される。好適な実施形態における追加のプリンタ機能及び改善された実装について以下に説明する。
【００３１】
好ましくは、一つの実施形態においては、プログラム関数呼び出し、及び、変数の宣言、アドレッシング、及び変数を介してのプログラム関数への値の受け渡し機能は、ＬＵＡの実装を介してサポートされる。好ましくは、プログラム関数は、関数が成功して完了したかどうかを現すエラーコードのような値を返す。例えば、関数が意図したように実行されなかった場合、エラーの原因、エラーの症状、エラーの結果、又はその他の適切な情報を現すエラーコードを返す。好ましくは、テーブル名、文字列の値、日付、数値等の関数名や変数名はユーザーに積極的には表示されない。又は、少なくとも、一部又は全てを隠して表示を行ってもよい。
【００３２】
セキュリティの実装は、例えば、ユーザーが特定のデータや、一つ以上のデータディレクトリにアクセスしたり、又は、データディレクトリやデータファイル等を作成、消去、又は改変する、といった種々のタスクを実行するための十分な認証やアクセス許可権を持っていることを要求すること等は、ここに記載している技術によりサポートされるのが望ましい。
【００３３】
ＡＰＩによりサポートされる別の特徴は、インターフェースのレンダリング機能である。ここで使われている「レンダリング」という意味は、一般に、対話式プログラミングオブジェクトの作成を示す。例えば、レンダリングされたオブジェクトは、データフィールド（テキストベースのフィールド）、バーコード、グラフィックフィールドとして形成されてもよい。これらレンダリングされたオブジェクトは、例えば、メソッドのようなもので操作できる一つ以上の特性を有している。好ましくは、ＡＰＩによりレンダリングされたオブジェクト（例えば、テキストフィールド、バーコード、及び、グラフィックフィールド）には、ラベルオブジェクトが備えられ（例えば付加される、又は埋め込まれる）、これは、ラベル／タグプリンタ１０８を介して供給される。
【００３４】
さらに、ＡＰＩは、エラーを出すことなしに、ラベルの開発中、又はラベルの印刷中、又はその両方の処理中において、少なくともその一部が、ラベル／タグプリンタ１０８のプリント可能領域の外側にあるラベル上に位置するバーコードのようなオブジェクトの供給をサポートする。この特徴により、例えば、ラベル／タグプリンタ１０８により、半分しか印刷されないバーコードを有するラベルを開発することが可能となる。この特徴により、ユーザーが部分的、又は不完全なオブジェクト、例えば、バーコードをラベル／タグプリンタ１０８を使用して、ラベル上に印刷したい場合において、従来技術の方法に対する改善点となっている。
【００３５】
実施形態において、及び動作中において、レンダリングされたオブジェクト、例えば、テキストフィールド、バーコード、グラフィックボックス、画像等の各位置は、水平、及び、垂直位置パラメータ（例えば、「ｈＰｏｓ」及び「ｖＰｏｓ」）により定義される。このパラメータ値は、オブジェクトの固定点の位置を定義することが好ましい。パラメータｈＰｏｓ及びｖＰｏｓが適切に設定された場合、あるエラーパラメータ（例えば「Ｅ＿ＳＵＣＣＥＳＳ」）が定義される。また、パラメータｈＰｏｓ及びｖＰｏｓが適切に設定されなかった場合、違うエラーパラメータ（例えば「ＥＰＡＲＡＭ」）が定義される。
【００３６】
位置決めを定義するためのパラメータに加えて、本発明は、オブジェクト、例えば、バーコードや画像オブジェクトの倍率をサポートする。例えば、水平及び垂直倍率パラメータ（例えば、「ｈＭａｇ」及び「ｖＭａｇ」）は、水平及び垂直ピクセル倍率を設定するために定義されており（例えば、１〜１２倍）、これにより、オブジェクトの水平及び垂直倍率の程度を現す。
【００３７】
図３は、好適な実施形態により提供される、ラベル／タグプリンタ１０８をのインターフェースするための関連するＡＰＩ３０２を示すブロック図である。図３に示すように、キーボードＡＰＩ３０４は、ラベル／タグプリンタ１０８に統合されたキーボード１１０からの信号を受信及び、解釈（読み込み）する働きを行う。又は、キーボードＡＰＩ３０４は、ラベル／タグプリンタ１０８に直接結合されていない外部キーボード又は他の入力デバイス２１２からの信号を読み込んで解釈する働きを行う。ディスプレイＡＰＩ３０６は、様々なテキスト、及び図形コンテンツを、プリンタ１０８に統合された表示ディスプレイ１１２に書き込む働きを行う。又は、ディスプレイＡＰＩ３０６は、テキスト、及び図形コンテンツを、ラベル／タグプリンタ１０８に付属した外部表示ディスプレイ２１４に書き込む働きを行う。ディスプレイＡＰＩ３０６は、例えば、様々な違った種類の文字言語のためのフォントや符号化方式を広く選択できるようにサポートするのが望ましい。
【００３８】
引き続き図３を参照して説明する。印刷レンダリングＡＰＩ３０８は、ラベル／タグプリンタ１０８により印刷されるラベル上に出力されるユーザー定義のデータフィールド要素をサポートする。このようなデータフィールド要素の例として、テキストデータフィールド、一次元及び二次元バーコード、線と長方形、三角関数、画像、個々のピクセル、図形、書式付き日付、及びカウント値が上げられる。プリンタレンダリングＡＰＩ３０８により、ユーザーは、データーフィールドの型、及び、特定のラベル及びタグ上に出力するデータフィールドの位置を定義することができる。プリンタレンダリングＡＰＩ３０８により、様々な言語をサポートするフォント及び符号化方式のための選択可能なオプションが提供されることが望ましい。固定長及び可変長データ形式がサポートされていることが望ましく、これは、フィールド定義に含まれるか、又は、プリンタレンダリングＡＰＩ３０８を介して、ファイル又は通信インターフェースから入力される。その他の特徴として、上記の一つ以上のフィールドオブジェクトの色を定義するための選択可能色出力オプションをサポートすることが挙げられる。さらに、白紙や印刷されたラベル／タグを出力するために、印刷レンダリングＡＰＩ３０８の関数として、一つ以上の印刷命令又は給紙命令を発行することが可能である。さらに、印刷レンダリングＡＰＩ３０８により、ユーザーが選択可能な印刷品質制御機能が提供されることが望ましい。
【００３９】
さらに、コンパクトフラッシュ（登録商標）メモリカード、ＳＤメモリカード、ＵＳＢメモリ機器等である、ラベル／タグプリンタ１０８の読み込み専用メモリファイルシステム、ランダムアクセスメモリファイルシステム、フラッシュメモリファイルシステム、又は、外部メモリ源のうち、少なくとも一つに置かれたファイルについて、ユーザーは、格納、消去、読み込み及び書き込みの操作が可能となるようにするため、ファイルシステムＡＰＩ３１０が備えられることが望ましい。ラベル／タグプリンタ１０８に付随した種々の内部及び外部メモリ源に格納されたデータやファイル等にアクセスする手段をユーザーに提供したことにより、ユーザーは、より柔軟に、ラベル／タグプリンタ１０８の動作の制御及び操作を行うことができる。ファイルシステムＡＰＩ３１０に関連して提供される望ましい機能の例としては、ラベル／タグプリンタ１０８のファイルシステムのフォーマット、登録するディレクトリの階層の決定、特定のディレクトリへの移動、新しいディレクトリの作成、ファイルのコピー、ディレクトリ又はファイルの消去、ファイルシステムにおいて使用するバイト又は使用可能なバイトの決定、及び、ファイル又はディレクトリへのアクセス権の変更が挙げられる。
【００４０】
引き続き図３を参照して説明する。無線識別（ＲＦＩＤ）ＡＰＩ３１２は、ラベル／タグプリンタ１０８に備えられたＲＦＩＤチップ／インレイ（内部構成部材）への読み込み及び書き込みのためのアクセスをサポートする。さらに、リアルタイムクロックＡＰＩ３１４により、ユーザーは、日時データを定義し、また、日時データをラベル／タグプリンタ１０８から読み込むことを可能としている。コンフィギュレーションＡＰＩ３１６は、ユーザー定義のプリンタに特定のパラメータをサポートするものである。例えば、コンフィギュレーションＡＰＩ３１６を使用することにより、ユーザーは、印刷スピード、印刷品質、日時機能、現地言語設定、メニュー制御等に関連した通信パラメータを定義することができる。一般にラベル／タグプリンタ１０８に備えられたファームウェアに限定され、特別なソフトウェアと技能を持った技術的な熟練者にのみ改変可能であるようなラベル／タグプリンタ１０８の制御動作をユーザーが定義及び改変できるようにするのに、コンフィギュレーションＡＰＩ３１６は特に有用である。また、コミュニケーションＡＰＩ３１８は、外部Ｉ／Ｏインターフェース機器との通信を制御することが望ましい。複数の通信プロトコルと仕様がサポートされる。サポートされる通信プロトコルと仕様の例として、ＲＳ２３２、ＲＳ４８５、ＲＳ４２２、ＵＳＢ、ＬＡＮ、ＷＡＮ、ＷＬＡＮ、及び外部デジタルリレーインターフェースが挙げられる。
【００４１】
図３に示すその他のＡＰＩ３０２として、プリンタに含まれるデバイスを制御する働きを行うデバイスＡＰＩ３２０、ある時点のプリンタの状態を報告する働きを行うプリンタステータスＡＰＩ３２２、ラベル／タグプリンタ１０８に送られたＸＭＬ命令、及び／又は、ＸＭＬファイルのような命令、及び／又は、ファイルの構文解析を行う働きをするパーサーＡＰＩ３２４が挙げられる。構文解析が行われると、ＸＭＬ命令は、インタープリトすることが可能となり、ラベル／タグプリンタ１０８による出力を制御するのに使用することができる。
【００４２】
デバイスＡＰＩ３２０、プリンタステータスＡＰＩ３２２、及びパーサーＡＰＩ３２４に加えて、ＡＰＩ３０２は、種々の用紙機能をサポートするためのペーパーハンドリングＡＰＩ３２６を有することが望ましい。この機能として、ラベル及びタグの一つ以上の用紙サイズについて、印刷給紙、用紙送り、行送り、テスト送り等が挙げられる。さらに、ラベル／タグプリンタ１０８に備えられるベル、ブザーやその他の音声装置に対する音声制御機能を提供するサウンドＡＰＩ３２８が挙げられる。さらに、ラベル／タグプリンタ１０８に備えられるラベルギャップセンサーやラベルマークセンサー等のセンサー機器からの情報を受信する働きを行い、また、ラベルの末端に達した時点、インクリボンの末端に達した時点、ラベルやインクリボンの末端に近づた時点等の種々の条件を判断する働きを行うセンサーＡＰＩ３３０が挙げられる。ある実施形態において、センサーＡＰＩ３３０は、一つ以上の条件が発生したと判断された時に警告を発する働きをする。図３に示されるその他のＡＰＩ３０２として、ラベル／タグプリンタ１０８に起こった種々のイベントを受信し処理するイベントＡＰＩ３３２、必要に応じてデータのビット操作を行う働きをするビットハンドリングＡＰＩ３３４、ラベル／タグプリンタ１０８に起きるかもしれないエラー、例えば、停電、メモリーエラー、用紙詰まり等を処理する働きをするエラーハンドリングＡＰＩ３３６が挙げられる。
【００４３】
したがって、好適な実施形態においては、例えば、ＬＵＡプログラミング言語やＣプログラミング言語で複数のＡＰＩ３０２が開発され、インタープリターが既存の制御言語、例えば、ＳＢＰＬやＺＰＬを介して印刷機能にアクセスすることなく、それらをラベル／タグプリンタ１０８に実装することができる。一つ以上の実施形態において、図３に示したＡＰＩ３０２に加えて、種々のその他の機能を実装することが想定できる。例えば、開発を迅速及び容易にするため、テーブル及び／又は、メタテーブルを複製する機能をサポートする。その他の例としては、エラーコード値をエラー文字列値の結果で決定する機能（例えば、ｅｒｒ２ｓｔｒ）、一つ以上の書式（例えば、ＸＭＬ、ＬＵＡ、及びその他の形式）でテーブルを保存する機能、複数の書式で提供されたテーブルをロードする機能、及び、メニュー及びプロンプト用の複数の書き言葉や話し言葉をサポートする機能等が挙げられる。
【００４４】
図４は、好適な実施形態において提供されるものであり、ＡＰＩ３０２を使用して定義されたものである、ラベル／タグプリンタ１０８により印刷された例のラベル４００を示す。図４に示すように、印刷されたテキストデータの向き及び位置に関わらず、アンカーポイント４０２は、ラベル４００上のテキストデータの左上位置（例えば、ｈＭａｇ及びｖＭａｇ変数で定義される）に定義されている。また、図４には、ラベル４００がラベル／タグプリンタ１０８により印刷される時のラベル４００の給紙方向４０４が示されている。ラベル４００上に印刷されたテキストデータに加えて、図形画像４０６がレンダリングＡＰＩ３０８により、レンダリングされる等して提供される。
【００４５】
図５は、ラベル４００に提供するデータフィールド５００用に定義されたデータフィールドサイズの例を示し、また、データフィールド５００の左上隅の水平及び垂直位置（例えば、ｈＰｏｓ及びｖＰｏｓ）５０２、及び、右下隅位置５０４の水平及び垂直位置をそれぞれ示す。さらに、データ方向関数５０６（例えば、ｄｉｒ（０，．３５９））は、それがラベル４００上に出力される時の、データフィールド５００の相対的な向きを示す。
【００４６】
図６は、好適な実施形態において提供されるものであり、ＡＰＩ３０２を使用して定義されたものである、ラベル／タグプリンタ１０８により印刷された他の例のラベル６００を示す。これは、。図６に示す例のラベル６００において、複数の色６０２、６０４、及び６０６がラベル６００上に、それぞれの位置６０８に供給されているのが示されている。したがって、ここに示すように、ＬＵＡ  ＡＰＩは、ＬＵＡインタプリタを介してＡＰＩを解釈することにより、ラベル／タグプリンタ１０８のファームウェアとＬＵＡインタプリタと共同して動作するインターフェースであり、顧客は、好ましい印刷動作を実行するＬＵＡアプリケーションプログラムを作成することができる。
【００４７】
図７を参照して説明する。好適な実施形態において、ラベル／タグプリンタ１０８は、２つの種類のメモリ、すなわち、フラッシュメモリ７０２とシンクロナスＤＲＡＭ（ＳＤＲＡＭ）７０４が備えられる。フラッシュメモリ７０２（ＲＯＭの代わりとして用いるのが望ましい）は、その他の適当なデータのうち、ラベル／タグプリンタ１０８の立ち上げコード、基本ファームウェア（例えば、ドライバやバーコード書式等）、ＬＵＡ  ＡＰＩ及び、ＬＵＡ仮想マシン等を格納する。本技術においてよく知られているように、フラッシュメモリ７０２に格納された立ち上げコードは、プリンタ１０８の立ち上がり処理において動作する。好適な実施形態において、ラベル／タグプリンタ１０８の基本ファームウェア及びＬＵＡ  ＡＰＩは、圧縮された形式でフラッシュメモリ７０２に格納されており、よって、フラッシュメモリ７０２のメモリ容量を節約できる。
【００４８】
ラベル／タグプリンタ１０８の立ち上げ処理前においては、ＳＤＲＡＭ７０４は、空きスペースを大きくしておき、また、データをすぐ受信できるようにしておくことが望ましい。図８に示すように、ラベル／タグプリンタ１０８が立ち上がる時、ラベル／タグプリンタ１０８のファームウェア、ＬＵＡ  ＡＰＩ、及び、ＬＵＡ仮想マシンはフラッシュメモリ７０２に圧縮形式で格納されていることが望ましい。立ち上げ処理が完了した後、このファームウェア、ＬＵＡ  ＡＰＩ，及び、ＬＵＡ仮想マシンは、圧縮を解かれ、非圧縮形式で、ＳＤＲＡＭ７０４に供給される。この後、ラベル／タグプリンタ１０８の基本ファームウェア、ドライバ、バーコードデータ、ラベル書式、パーサー、画像バッファ、及びその他のデータは、動作させるため、適宜、一時的にＳＤＲＡＭ７０４に格納される。
【００４９】
図９を参照すると、ＬＵＡ仮想マシンは、ＳＤＲＡＭ７０４を介して、プリンタ１０８のファームウェア、ＬＵＡ  ＡＰＩ、及びパーサーと結合して動作することが好ましい。好ましい実施形態において、ラベル／タグプリンタ１０８は、印刷動作のみにおいてはフラッシュメモリ７０２に依存せず、その代わり、ＳＤＲＡＭ７０４に格納された非圧縮のデータと命令を介して動作する。ＳＤＲＡＭ７０４は、フラッシュメモリ７０２よりもより高速かつ効率的に動作し、かつ、ＳＤＲＡＭ７０４は、印刷動作完了後、非圧縮のデータと命令を消去できるので、本実施形態は、一般の典型的な従来技術によるシステム及び方法より好ましい。
【００５０】
図９及び１０を参照すると、印刷動作中、ここで述べたものと結びついたＬＵＡ  ＡＰＩは、ＬＵＡ仮想マシンを介して動作し、ラベル／タグプリンタ１０８のバッファに格納されたラベル画像やその他のオブジェクトを出力するためのラベル／タグプリンタ１０８のファームウェアをインターフェースする。ラベル／タグプリンタ１０８は、好ましくはＬＵＡ  ＡＰＩを介して定義されている複数の入力源から指示命令（例えば、ＬＵＡ  ＡＰＩを介して）及び／又は、データを受信できることが望ましい。例えば、データはスキャンすることができ、また、タイピングすることができ、又は、入力装置２１２、通信ポート、ネットワークインターフェース２０８等の任意の適切な入力ポートを介して供給、及び受信することが可能であってよい。
【００５１】
以上、説明及び主張し、かつ、添付図面にて示したように、ラベル／タグプリンタ１０８により与えられる機能性は、プリンタ１０８のファームウェアとインターフェースするＡＰＩ３０２の機能として、向上、改変、又は追加されることが好ましい。アプリケーションは、ＬＵＡプログラミング言語等の高度なプログラミング言語を用いて定義されることが好ましく、これにより、各個人が、特定のプリンタモデルのファームウェアの専用プログラミング言語に精通する必要が無くなり、かつ、このプリンタのファームウェアを改変するための専用の開発ツールに触れる必要が無くなる。よって、プリンタにおいて、プリンタ専用のインタープリタ言語を用いることにより、アプリケーションそのものを書く必要なく、アプリケーション開発を行うことが可能となる。
【００５２】
本発明は、その特定の実施形態に関連して説明及び表現したが、本技術の当業者においては、その他多くの変形、及び改変及び使用は、当然、明白な事であろう。それゆえ、ここで開示した特定の事例にのみ、本発明を制限するものではない。
【手続補正書】
【提出日】平成23年7月15日(2011.7.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
印刷動作を制御するためのファームウェアを備えたプリンタの機能性を改変する方法であり、この方法は、
コンピュータ読み取り可能な媒体で実行されると、プリンタのファームウェアとインターフェースして、前記プリンタの機能性を改変する第１プログラミングコードを提供し、
前記コンピュータ読み取り可能な媒体上で前記第１プログラミングコードを実行し、前記第１プログラミングコードを前記ファームウェアとのインターフェースさせ、
前記第１プログラミングコードを実行し、前記ファームウェアとインターフェースすることにより、前記プリンタの機能性を改変し、
前記ファームウェアは、前記インターフェースすることによっては改変されないものである、プリンタの機能性を改変する方法。
【請求項２】
請求項１に記載のプリンタの機能性を改変する方法において、
前記プリンタは、ラベル／タグプリンタであること、
を特徴とするプリンタの機能性を改変する方法。
【請求項３】
請求項１に記載のプリンタの機能性を改変する方法において、
前記第１プログラミング言語は、スクリプト言語であること、
を特徴とするプリンタの機能性を改変する方法。
【請求項４】
請求項３に記載のプリンタの機能性を改変する方法において、
前記スクリプト言語はＬＵＡであること、
を特徴とするプリンタの機能性を改変する方法。
【請求項５】
請求項４に記載のプリンタの機能性を改変する方法において、
前記第１プログラミング言語を実行する動作は、ＬＵＡ仮想マシンにおいて、前記第１プログラミングコードを解釈する動作をさらに有すること、
を特徴とするプリンタの機能性を改変する方法。
【請求項６】
請求項１に記載のプリンタの機能性を改変する方法において、
少なくとも一つのアプリケーションプログラミングインターフェースの提供を含むこと、
を特徴とするプリンタの機能性を改変する方法。
【請求項７】
請求項６に記載のプリンタの機能性を改変する方法において、
前記一つ以上のアプリケーションプログラミングインターフェースは、キーボードアプリケーションプログラミングインターフェース、表示ディスプレイアプリケーションプログラミングインターフェース、印刷レンダリングアプリケーションプログラミングインターフェース、ファイルシステムアプリケーションプログラミングインターフェース、無線識別（ＲＦＩＤ）アプリケーションプログラミングインターフェース、リアルタイムクロックアプリケーションプログラミングインターフェース、コンフィギュレーションアプリケーションプログラミングインターフェース、通信アプリケーションプログラミングインターフェース、デバイスアプリケーションプログラミングインターフェース、プリンタ状態アプリケーションプログラミングインターフェース、ＸＭＬパースアプリケーションプログラミングインターフェース、用紙処理アプリケーションプログラミングインターフェース、音声アプリケーションプログラミングインターフェース、センサーアプリケーションプログラミングインターフェース、イベントアプリケーションプログラミングインターフェース、ビット操作アプリケーションプログラミングインターフェース、及びエラー処理アプリケーションプログラミングインターフェースのうち、一つ以上のものを含むこと、
を特徴とするプリンタの機能性を改変する方法。
【請求項８】
請求項１に記載のプリンタの機能性を改変する方法において、
前記第１プログラミングコードは、前記プリンタ以外のコンピュータデバイス上で実行されること、
を特徴とするプリンタの機能性を改変する方法。
【請求項９】
請求項１に記載のプリンタの機能性を改変する方法において、
前記第１プログラミングコードは、統合開発環境で開発されること、
を特徴とするプリンタの機能性を改変する方法。
【請求項１０】
プリンタの機能性を改変するためのシステムであり、このシステムは、
印刷機能を有するプリンタと、
前記プリンタに提供されるファームウェアであり、前記プリンタ上で実行されると、印刷動作の制御を行う、ファームウェアと、
コンピュータ読み取り可能な媒体で実行可能である第１プログラミングコードであり、この第１プログラミングコードは、印刷機能を改変するための命令を含むものである、第１プログラミングコードと、
前記第１プログラミングコードが実行されるコンピュータ読み取り可能な媒体、から構成され、
前記第１プログラミングコードは、前記コンピュータ読み取り可能な媒体上で実行されると、プリンタの機能性を改変されるようにするために、前記第１プログラミングコードとファームウェアがインターフェースされる。また、前記ファームウェアは、前記第１プログラミングコードによるファームウェアとの前記インターフェース動作では改変されないものである、プリンタの機能性を改変するためのシステム。
【請求項１１】
請求項１０に記載のプリンタの機能性を改変するためのシステムにおいて、
前記プリンタは、ラベル／タグプリンタであること、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項１２】
請求項１０に記載のプリンタの機能性を改変するためのシステムにおいて、
前記第２プログラミング言語は、スクリプト言語であること、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項１３】
請求項１２に記載のプリンタの機能性を改変するためのシステムにおいて、
前記スクリプト言語はＬＵＡであること、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項１４】
請求項１３に記載のプリンタの機能性を改変するためのシステムにおいて、
前記第１プログラミング言語を実行する動作は、ＬＵＡ仮想マシンにおいて、前記第１プログラミングコードを解釈する動作をさらに有すること、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項１５】
請求項１０に記載のプリンタの機能性を改変するためのシステムにおいて、
少なくとも一つのアプリケーションプログラミングインターフェースをさらに含むこと、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項１６】
請求項１５に記載のプリンタの機能性を改変するためのシステムにおいて、
前記一つ以上のアプリケーションプログラミングインターフェースは、キーボードアプリケーションプログラミングインターフェース、表示ディスプレイアプリケーションプログラミングインターフェース、印刷レンダリングアプリケーションプログラミングインターフェース、ファイルシステムアプリケーションプログラミングインターフェース、無線識別（ＲＦＩＤ）アプリケーションプログラミングインターフェース、リアルタイムクロックアプリケーションプログラミングインターフェース、コンフィギュレーションアプリケーションプログラミングインターフェース、通信アプリケーションプログラミングインターフェース、デバイスアプリケーションプログラミングインターフェース、プリンタ状態アプリケーションプログラミングインターフェース、ＸＭＬパースアプリケーションプログラミングインターフェース、用紙処理アプリケーションプログラミングインターフェース、音声アプリケーションプログラミングインターフェース、センサーアプリケーションプログラミングインターフェース、イベントアプリケーションプログラミングインターフェース、ビット操作アプリケーションプログラミングインターフェース、及びエラー処理アプリケーションプログラミングインターフェースのうち、一つ以上のものを含むこと、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項１７】
請求項１０に記載のプリンタの機能性を改変するためのシステムにおいて、
前記第１プログラミングコードは、ファームウェアなしで書かれること、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項１８】
請求項１０に記載のプリンタの機能性を改変するためのシステムにおいて、
前記第１プログラミングコードを開発するための統合開発環境をさらに有すること、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項１９】
印刷動作を制御するためのファームウェアを備えたプリンタの機能性を改変する方法であり、この方法は、
コンピュータ読み取り可能な媒体で実行されると、プリンタのファームウェアとインターフェースして、前記プリンタの機能性を改変する第１プログラミングコードを開発し、
前記第１プログラミングコードと前記ファームウェアを、前記プリンタに備えられる第１メモリ上に、圧縮形式で格納し、
前記プリンタを立ち上げる時に、圧縮されている前記第１プログラミングコードと前記ファームウェアの圧縮を復元して、前記プリンタに備えられる第２メモリへ渡し、
前記第２メモリ上で前記第１プログラミングコードと前記ファームウェアとを実行し、前記第１プログラミングコードを前記ファームウェアとインターフェースし、
前記第１プログラミングコードを実行して前記ファームウェアとインターフェースすることにより、前記プリンタの機能性を改変し、前記ファームウェアは、前記インターフェースすることによっては改変されないものである、プリンタの機能性を改変する方法。
【請求項２０】
請求項１９に記載のプリンタの機能性を改変する方法において、
前記第１メモリは、フラッシュメモリであること、
を特徴とするプリンタの機能性を改変する方法。
【請求項２１】
請求項１９に記載のプリンタの機能性を改変する方法において、
前記第２メモリは、ＳＤＲＡＭであること、
を特徴とするプリンタの機能性を改変する方法。
【請求項２２】
プリンタの機能性を改変するためのシステムであり、このシステムは、
印刷機能を有するプリンタと、
前記プリンタに提供されるファームウェアであり、前記プリンタ上で実行されると、印刷動作の制御を行う、ファームウェアと、
コンピュータ読み取り可能な媒体で実行可能である第１プログラミングコードであり、この第１プログラミングコードは、印刷機能を改変するための命令を含むものである、第１プログラミングコードと、
前記第１プログラミングコードと前記ファームウェアが圧縮形式で格納される第１メモリと、
前記第１プログラミングコードと前記ファームウェアが実行される第２メモリと、
から構成され、
前記プリンタが立ち上げられるとき、前記第１メモリ内の圧縮された前記第１プログラミングコードと前記ファームウェアは、圧縮を復元されて、前記第２メモリへと渡され、
前記第１プログラミングコードと前記ファームウェアが、前記第２メモリ上で実行される時、前記プリンタの機能が改変されるようにするために、前記第１プログラミングコードと前記ファームウェアとはインターフェースされて、かつ、前記ファームウェアは、前記第１プログラミングコードが前記ファームウェアと前記インターフェースすることによっては改変されないものである、プリンタの機能性を改変するためのシステム。
【請求項２３】
請求項２２に記載のプリンタの機能性を改変するためのシステムにおいて、
前記第１メモリはフラッシュメモリであること、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項２４】
請求項２２に記載のプリンタの機能性を改変するためのシステムにおいて、
前記第２メモリはＳＤＲＡＭであること、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項２５】
印刷動作を制御するためのファームウェアを備えたプリンタの機能性を改変する方法であり、この方法は、
コンピュータ読み取り可能な媒体で実行されると、プリンタのファームウェアとのインターフェースして、前記プリンタの機能性を改変する第１プログラミングコードを開発し、
前記第１プログラミングコードを、前記プリンタ内に備えられた第１メモリ上に格納し、
前記第１プログラミングコードと前記ファームウェアを第２メモリ上で実行し、前記第１プログラミングコードを前記ファームウェアとインターフェースさせ、
前記第１プログラミングコードを実行し、前記ファームウェアとインターフェースすることにより、前記プリンタの機能性を改変し、
前記ファームウェアは、前記インターフェースすることによっては改変されないものである、プリンタの機能性を改変する方法。
【請求項２６】
プリンタの機能性を改変するためのシステムであり、このシステムは、
印刷機能を有するプリンタと、
第１プログラミング言語で書かれ、かつ、前記プリンタに提供されるファームウェアであり、前記プリンタ上で実行されると、印刷動作の制御を行う、ファームウェアと、
コンピュータ読み取り可能な媒体で実行可能である第１プログラミングコードであり、この第１プログラミングコードは、印刷機能を改変するための命令を含むものである、第１プログラミングコードと、
前記第１プログラミングコードが格納される第１メモリと、
前記第１プログラミングコードと前記ファームウェアが実行される第２メモリと、
から構成され、
前記第１プログラミングコードと前記ファームウェアが、前記第２メモリ上で実行される時、前記プリンタの機能が改変されるようにするため、前記第１プログラミングコードと前記ファームウェアとはインターフェースされて、かつ、前記ファームウェアは、前記第１プログラミングコードが前記ファームウェアと前記インターフェースすることによっては改変されないものである、プリンタの機能性を改変するためのシステム。
【請求項２７】
請求項６に記載のプリンタの機能性を改変する方法において、
前記アプリケーションプログラミングインターフェースは、前記第１プログラミングコードと同じプログラミング言語で書かれていること、
を特徴とするプリンタの機能性を改変する方法。
【請求項２８】
請求項２７に記載のプリンタの機能性を改変する方法において、
前記ファームウェアは、前記第１プログラミングコードとは異なるプログラミング言語で書かれていること、
を特徴とするプリンタの機能性を改変する方法。
【請求項２９】
請求項１５に記載のプリンタの機能性を改変するためのシステムにおいて、
前記アプリケーションプログラミングインターフェースは、前記第１プログラミングコードと同じプログラミング言語で書かれていること、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項３０】
請求項２９に記載のプリンタの機能性を改変するためのシステムにおいて、
前記ファームウェアは、前記第１プログラミングコードとは異なるプログラミング言語で書かれていること、
を特徴とするプリンタの機能性を改変するためのシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
好ましい実施形態において、ラベル／タグプリンタ１０８のアプリケーションは、ＬＵＡプログラミング言語で開発される。好適な実施形態において、アプリケーションに備えられたＬＵＡプログラミングステートメントの実行を機能することができるように機能するＬＵＡインタープリタが備えられる。一般の高度プログラミング言語と違って、ＬＵＡは、スクリプト言語であり、基本的なプログラミング言語ではない。種々の機能を実行させるようなＳＢＰＬ命令や又は、その他の予め定義された命令を受けるような一般のラベル／タグプリンタとは違って、本発明は、ＬＵＡ言語の拡張である、プリンタファームウェアとインターフェースし、また、ＬＵＡインタープリタにより解釈されるプリンタＡＰＩを実装するものである。これにより、関数呼び出しを介すること等により、より高度で複雑なアプリケーションを開発することが可能になる。さらに、従来のラベル／タグプリンタでは、一箇所の変更点を実装するために、対応するファームウェアアプリケーションを完全に上書きする必要があったが、ＬＵＡプログラミング言語の拡張機能であるＡＰＩを実装することにより、ラベル／タグプリンタ１０８の機能を部分的に改変することが可能となった。
【手続補正書】
【提出日】平成23年11月11日(2011.11.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
印刷動作を制御するためのファームウェアを備えたプリンタの機能性を改変する方法であり、この方法は、
第１プログラミングコードの開発であり、この第１プログラミングコードは、コンピュータ読み取り可能な媒体で実行されると、プリンタのファームウェアとインターフェースして、前記プリンタの機能性を改変するものであり、前記第１プログラミングコードは、第１プログラミング言語で書かれ、かつ、前記ファームウェアは、前記第１プログラミング言語以外の第２プログラミング言語で書かれたものである、第１プログラミングコードを開発し、
前記コンピュータ読み取り可能な媒体上で前記第１プログラミングコードを実行し、前記第１プログラミングコードを前記ファームウェアとのインターフェースさせ、
前記第１プログラミングコードを実行し、前記ファームウェアとインターフェースすることにより、前記プリンタの機能性を改変し、
前記ファームウェアは、前記インターフェースすることによっては改変されないものである、プリンタの機能性を改変する方法。
【請求項２】
請求項１に記載のプリンタの機能性を改変する方法において、
前記プリンタは、ラベル／タグプリンタであること、
を特徴とするプリンタの機能性を改変する方法。
【請求項３】
請求項１に記載のプリンタの機能性を改変する方法において、
前記第１プログラミング言語は、スクリプト言語であること、
を特徴とするプリンタの機能性を改変する方法。
【請求項４】
請求項３に記載のプリンタの機能性を改変する方法において、
前記スクリプト言語はＬＵＡであること、
を特徴とするプリンタの機能性を改変する方法。
【請求項５】
請求項４に記載のプリンタの機能性を改変する方法において、
前記第１プログラミング言語を実行する動作は、ＬＵＡ仮想マシンにおいて、前記第１プログラミングコードを解釈する動作をさらに有すること、
を特徴とするプリンタの機能性を改変する方法。
【請求項６】
請求項１に記載のプリンタの機能性を改変する方法において、
前記第１プログラミングコードは、少なくとも一つのアプリケーションプログラミングインターフェースを含むこと、
を特徴とするプリンタの機能性を改変する方法。
【請求項７】
請求項６に記載のプリンタの機能性を改変する方法において、
前記一つ以上のアプリケーションプログラミングインターフェースは、キーボードアプリケーションプログラミングインターフェース、表示ディスプレイアプリケーションプログラミングインターフェース、印刷レンダリングアプリケーションプログラミングインターフェース、ファイルシステムアプリケーションプログラミングインターフェース、無線識別（ＲＦＩＤ）アプリケーションプログラミングインターフェース、リアルタイムクロックアプリケーションプログラミングインターフェース、コンフィギュレーションアプリケーションプログラミングインターフェース、通信アプリケーションプログラミングインターフェース、デバイスアプリケーションプログラミングインターフェース、プリンタ状態アプリケーションプログラミングインターフェース、ＸＭＬパースアプリケーションプログラミングインターフェース、用紙処理アプリケーションプログラミングインターフェース、音声アプリケーションプログラミングインターフェース、センサーアプリケーションプログラミングインターフェース、イベントアプリケーションプログラミングインターフェース、ビット操作アプリケーションプログラミングインターフェース、及びエラー処理アプリケーションプログラミングインターフェースのうち、一つ以上のものを含むこと、
を特徴とするプリンタの機能性を改変する方法。
【請求項８】
請求項１に記載のプリンタの機能性を改変する方法において、
前記第１プログラミングコードは、前記プリンタ以外のコンピュータデバイス上でテスト可能であること、
を特徴とするプリンタの機能性を改変する方法。
【請求項９】
請求項１に記載のプリンタの機能性を改変する方法において、
前記第１プログラミングコードは、統合開発環境で開発されること、
を特徴とするプリンタの機能性を改変する方法。
【請求項１０】
プリンタの機能性を改変するためのシステムであり、このシステムは、
印刷機能を有するプリンタと、
第１プログラミング言語で書かれ、かつ、前記プリンタに提供されるファームウェアであり、前記プリンタ上で実行されると、印刷動作の制御を行う、ファームウェアと、
前記第１プログラミング言語以外の第２プログラミング言語で書かれ、かつ、コンピュータ読み取り可能な媒体で実行可能である第１プログラミングコードであり、この第１プログラミングコードは、印刷機能を改変するための命令を含むものである、第１プログラミングコードと、
前記第１プログラミングコードが実行されるコンピュータ読み取り可能な媒体、から構成され、
前記第１プログラミングコードは、前記コンピュータ読み取り可能な媒体上で実行されると、プリンタの機能性を改変されるようにするために、前記第１プログラミングコードとファームウェアがインターフェースされ、かつ、前記ファームウェアは、前記第１プログラミングコードによるファームウェアとの前記インターフェース動作では改変されないものである、プリンタの機能性を改変するためのシステム。
【請求項１１】
請求項１０に記載のプリンタの機能性を改変するためのシステムにおいて、
前記プリンタは、ラベル／タグプリンタであること、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項１２】
請求項１０に記載のプリンタの機能性を改変するためのシステムにおいて、
前記第２プログラミング言語は、スクリプト言語であること、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項１３】
請求項１２に記載のプリンタの機能性を改変するためのシステムにおいて、
前記スクリプト言語はＬＵＡであること、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項１４】
請求項１３に記載のプリンタの機能性を改変するためのシステムにおいて、
前記第１プログラミング言語を実行する動作は、ＬＵＡ仮想マシンにおいて、前記第１プログラミングコードを解釈する動作をさらに有すること、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項１５】
請求項１０に記載のプリンタの機能性を改変するためのシステムにおいて、
前記第１プログラミングコードは、少なくとも一つのアプリケーションプログラミングインターフェースを含むこと、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項１６】
請求項１５に記載のプリンタの機能性を改変するためのシステムにおいて、
前記一つ以上のアプリケーションプログラミングインターフェースは、キーボードアプリケーションプログラミングインターフェース、表示ディスプレイアプリケーションプログラミングインターフェース、印刷レンダリングアプリケーションプログラミングインターフェース、ファイルシステムアプリケーションプログラミングインターフェース、無線識別（ＲＦＩＤ）アプリケーションプログラミングインターフェース、リアルタイムクロックアプリケーションプログラミングインターフェース、コンフィギュレーションアプリケーションプログラミングインターフェース、通信アプリケーションプログラミングインターフェース、デバイスアプリケーションプログラミングインターフェース、プリンタ状態アプリケーションプログラミングインターフェース、ＸＭＬパースアプリケーションプログラミングインターフェース、用紙処理アプリケーションプログラミングインターフェース、音声アプリケーションプログラミングインターフェース、センサーアプリケーションプログラミングインターフェース、イベントアプリケーションプログラミングインターフェース、ビット操作アプリケーションプログラミングインターフェース、及びエラー処理アプリケーションプログラミングインターフェースのうち、一つ以上のものを含むこと、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項１７】
請求項１０に記載のプリンタの機能性を改変するためのシステムにおいて、
前記第１プログラミングコードは、ファームウェアなしで書かれること、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項１８】
請求項１０に記載のプリンタの機能性を改変するためのシステムにおいて、
前記第１プログラミングコードを開発するための統合開発環境をさらに有すること、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項１９】
印刷動作を制御するためのファームウェアを備えたプリンタの機能性を改変する方法であり、この方法は、
第１プログラミングコードの開発であり、この第１プログラミングコードは、コンピュータ読み取り可能な媒体で実行されると、プリンタのファームウェアとインターフェースして、前記プリンタの機能性を改変するものであり、前記第１プログラミングコードは、第１プログラミング言語で書かれ、かつ、前記ファームウェアは、前記第１プログラミング言語以外の第２プログラミング言語で書かれたものである、第１プログラミングコードを開発し、
前記第１プログラミングコードと前記ファームウェアを、前記プリンタに備えられる第１メモリ上に、圧縮形式で格納し、
前記プリンタを立ち上げる時に、圧縮されている前記第１プログラミングコードと前記ファームウェアの圧縮を復元して、前記プリンタに備えられる第２メモリへ渡し、
前記第２メモリ上で前記第１プログラミングコードと前記ファームウェアとを実行し、前記第１プログラミングコードを前記ファームウェアとインターフェースし、
前記第１プログラミングコードを実行して前記ファームウェアとインターフェースすることにより、前記プリンタの機能性を改変し、前記ファームウェアは、前記インターフェースすることによっては改変されないものである、プリンタの機能性を改変する方法。
【請求項２０】
請求項１９に記載のプリンタの機能性を改変する方法において、
前記第１メモリは、フラッシュメモリであること、
を特徴とするプリンタの機能性を改変する方法。
【請求項２１】
請求項１９に記載のプリンタの機能性を改変する方法において、
前記第２メモリは、ＳＤＲＡＭであること、
を特徴とするプリンタの機能性を改変する方法。
【請求項２２】
プリンタの機能性を改変するためのシステムであり、このシステムは、
印刷機能を有するプリンタと、
第１プログラミング言語で書かれ、かつ、前記プリンタに提供されるファームウェアであり、前記プリンタ上で実行されると、印刷動作の制御を行う、ファームウェアと、
前記第１プログラミング言語以外の第２プログラミング言語で書かれ、かつ、コンピュータ読み取り可能な媒体で実行可能である第１プログラミングコードであり、この第１プログラミングコードは、印刷機能を改変するための命令を含むものである、第１プログラミングコードと、
前記第１プログラミングコードと前記ファームウェアが圧縮形式で格納される第１メモリと、
前記第１プログラミングコードと前記ファームウェアが実行される第２メモリと、
から構成され、
前記プリンタが立ち上げられるとき、前記第１メモリ内の圧縮された前記第１プログラミングコードと前記ファームウェアは、圧縮を復元されて、前記第２メモリへと渡され、
前記第１プログラミングコードと前記ファームウェアが、前記第２メモリ上で実行される時、前記プリンタの機能が改変されるようにするために、前記第１プログラミングコードと前記ファームウェアとはインターフェースされて、かつ、前記ファームウェアは、前記第１プログラミングコードが前記ファームウェアと前記インターフェースすることによっては改変されないものである、プリンタの機能性を改変するためのシステム。
【請求項２３】
請求項２２に記載のプリンタの機能性を改変するためのシステムにおいて、
前記第１メモリはフラッシュメモリであること、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項２４】
請求項２２に記載のプリンタの機能性を改変するためのシステムにおいて、
前記第２メモリはＳＤＲＡＭであること、
を特徴とするプリンタの機能性を改変するためのシステム。
【請求項２５】
印刷動作を制御するためのファームウェアを備えたプリンタの機能性を改変する方法であり、この方法は、
第１プログラミングコードの開発であり、この第１プログラミングコードは、コンピュータ読み取り可能な媒体で実行されると、プリンタのファームウェアとのインターフェースして、前記プリンタの機能性を改変するものであり、前記第１プログラミングコードは、第１プログラミング言語で書かれ、かつ、前記ファームウェアは、前記第１プログラミング言語以外の第２プログラミング言語で書かれたものである、第１プログラミングコードを開発し、
前記第１プログラミングコードを、前記プリンタ内に備えられた第１メモリ上に格納し、
前記第１プログラミングコードと前記ファームウェアを第２メモリ上で実行し、前記第１プログラミングコードを前記ファームウェアとインターフェースさせ、
前記第１プログラミングコードを実行し、前記ファームウェアとインターフェースすることにより、前記プリンタの機能性を改変し、
前記ファームウェアは、前記インターフェースすることによっては改変されないものである、プリンタの機能性を改変する方法。
【請求項２６】
プリンタの機能性を改変するためのシステムであり、このシステムは、
印刷機能を有するプリンタと、
第１プログラミング言語で書かれ、かつ、前記プリンタに提供されるファームウェアであり、前記プリンタ上で実行されると、印刷動作の制御を行う、ファームウェアと、
前記第１プログラミング言語以外の第２プログラミング言語で書かれ、かつ、コンピュータ読み取り可能な媒体で実行可能である第１プログラミングコードであり、この第１プログラミングコードは、印刷機能を改変するための命令を含むものである、第１プログラミングコードと、
前記第１プログラミングコードが格納される第１メモリと、
前記第１プログラミングコードと前記ファームウェアが実行される第２メモリと、
から構成され、
前記第１プログラミングコードと前記ファームウェアが、前記第２メモリ上で実行される時、前記プリンタの機能が改変されるようにするため、前記第１プログラミングコードと前記ファームウェアとはインターフェースされて、かつ、前記ファームウェアは、前記第１プログラミングコードが前記ファームウェアと前記インターフェースすることによっては改変されないものである、プリンタの機能性を改変するためのシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
好ましい実施形態において、ラベル／タグプリンタ１０８のアプリケーションは、ＬＵＡプログラミング言語で開発される。好適な実施形態において、アプリケーションに備えられたＬＵＡプログラミングステートメントの実行を機能することができるように機能するＬＵＡインタープリタが備えられる。一般の高度プログラミング言語と違って、ＬＵＡは、スクリプト言語であり、基本的なプログラミング言語ではない。種々の機能を実行させるようなＳＢＰＬ命令や又は、その他の予め定義された命令を受ける一般のラベル／タグプリンタとは違って、本発明は、ＬＵＡ言語の拡張である、プリンタファームウェアとインターフェースし、また、ＬＵＡインタープリタにより解釈されるプリンタＡＰＩを実装するものである。これにより、関数呼び出しを介すること等により、より高度で複雑なアプリケーションを開発することが可能になる。さらに、従来のラベル／タグプリンタでは、一箇所の変更点を実装するために、対応するファームウェアアプリケーションを完全に上書きする必要があったが、ＬＵＡプログラミング言語の拡張機能であるＡＰＩを実装することにより、ラベル／タグプリンタ１０８の機能を部分的に改変することが可能となった。
【国際調査報告】
2012507060.tif 000013