(57)【要約】システム及び方法は、プリンタに接続されないコンピュータデバイス上でプリンタを正確にエミュレートするために提供される。コンピュータデバイスは、ファームウェアと、カスタマイズされた印刷動作のためにファームウェアと連動するプログラミングコードとを備えている。ファームウェアはプリンタとコンピュータデバイスとに提供される。プログラミングコードはコンピュータデバイスに提供され、コンピュータデバイスはプログラミングコードを実行する。プログラミングコードは、プリンタがプログラミングコードを実行するときに、コンピュータデバイスに提供されたファームウェアと連動して、コンピュータデバイスにプリンタをエミュレートさせる。コンピュータデバイスとプリンタとは、接続されていない。【選択図】図１
2013519928.tif 000002
【特許請求の範囲】
【請求項１】
プリンタに接続しておらず、かつ、ファームウェアと、カスタマイズされた印刷動作のために前記ファームウェアと連動するプログラミングコードとが提供されたコンピュータデバイス上でプリンタを正確にエミュレートする方法であって、
前記プリンタに提供された、又は、前記コンピュータデバイス及び前記プリンタに提供された個々のアプリケーションプログラムインターフェースの少なくともひとつの機能として、前記コンピュータデバイスと前記プリンタの各々において動作可能である前記ファームウェアを前記プリンタと前記コンピュータデバイスとに提供し、
前記プログラミングコードを前記コンピュータデバイスに提供し、さらに、
又は  前記コンピュータデバイス上で前記プログラミングコードを実行し、前記コンピュータデバイスに提供された前記ファームウェアと連動して、前記コンピュータデバイスに前記プログラミングコードを実行する前記プリンタを、前記コンピュータデバイスと前記プリンタとは接続されていない状態で、エミュレートさせること、
を特徴とするコンピュータデバイス上でプリンタを正確にエミュレートする方法。
【請求項２】
請求項１に記載のコンピュータデバイス上でプリンタを正確にエミュレートする方法において、
前記プログラミングコードを前記プリンタに提供し、
前記プリンタで前記プログラミングコードを実行し、
前記コンピュータデバイスが前記プログラミングコードを実行するとき、前記プログラミングコードを実行する前記プリンタが、前記コンピュータデバイスによって正確にエミュレートされること、
を特徴とするコンピュータデバイス上でプリンタを正確にエミュレートする方法。
【請求項３】
請求項１に記載のコンピュータデバイス上でプリンタを正確にエミュレートする方法において、
前記プログラミングコードが、ラベル生成ソフトウェアアプリケーションであること、
を特徴とするコンピュータデバイス上でプリンタを正確にエミュレートする方法。
【請求項４】
請求項３に記載のコンピュータデバイス上でプリンタを正確にエミュレートする方法において、
前記コンピュータデバイスが、前記プログラミングコードによって生成された仮想ラベルを表示し、
前記表示されたラベルが、前記プログラミングコードを実行する前記プリンタの機能として印刷された物理的なラベルと同様に現れること、
を特徴とする、コンピュータデバイス上でプリンタを正確にエミュレートする方法。
【請求項５】
請求項３に記載のコンピュータデバイス上でプリンタを正確にエミュレートする方法において、
さらに統合開発環境をコンピュータデバイスに提供し、
前記統合開発環境は、ユーザが前記プログラミングコードを開発するために前記コンピュータデバイスを設定すること、
を特徴とする、コンピュータデバイス上でプリンタを正確にエミュレートする方法。
【請求項６】
請求項５に記載のコンピュータデバイス上でプリンタを正確にエミュレートする方法において、
前記統合開発環境が、ラベルフォーマット部を備え、
前記ラベルフォーマット部が、ユーザがラベルフォーマットを作成するためにコンピュータデバイスを設定すること、
を特徴とするコンピュータデバイス上でプリンタを正確にエミュレートする方法。
【請求項７】
請求項６に記載のコンピュータデバイス上でプリンタを正確にエミュレートする方法において、
ラベル用のデータ情報源を少なくともひとつ提供し、
ラベルが前記プリンタで生成されるとき、さらに前記統合開発環境が、ユーザがラベルに情報を提供するために前記コンピュータデバイスを設定すること、
を特徴とするコンピュータデバイス上でプリンタを正確にエミュレートする方法。
【請求項８】
請求項６に記載のコンピュータデバイス上でプリンタを正確にエミュレートする方法において、
プログラムコードエディタを前記統合開発環境に提供することをさらに含み、
前記プログラムコードエディタを提供された前記統合開発環境が、ユーザが前記プログラミングコードを開発するためにさらに前記コンピュータデバイスを設定すること、
を特徴とするコンピュータデバイス上でプリンタを正確にエミュレートする方法。
【請求項９】
請求項１に記載のコンピュータデバイス上でプリンタを正確にエミュレートする方法において、
前記プログラミングコードが、スクリプト言語で記述されていること、
を特徴とするコンピュータデバイス上でプリンタを正確にエミュレートする方法。
【請求項１０】
請求項１に記載のコンピュータデバイス上でプリンタを正確にエミュレートする方法において、
前記コンピュータデバイスが前記プリンタをエミュレートするとき、さらに前記プリンタのリプレゼンテーションが表示されること、
を特徴とするコンピュータデバイス上でプリンタを正確にエミュレートする方法。
【請求項１１】
プリンタに接続しておらず、かつ、ファームウェアと、カスタマイズされた印刷動作のために前記ファームウェアと連動するプログラミングコードとが備えられたコンピュータデバイス上でプリンタを正確にエミュレートするシステムであって、
前記プリンタに備えられた、又は、前記コンピュータデバイス及び前記プリンタに備えられた個々のアプリケーションプログラムインターフェースの少なくともひとつと、
前記プリンタと前記コンピュータデバイスとに備えられ、前記ファームウェアは、前記プリンタに備えられた、又は、前記コンピュータデバイス及び前記プリンタに備えられた個々のアプリケーションプログラムインターフェースの少なくともひとつの機能として、前記コンピュータデバイスと前記プリンタの各々において動作可能である前記ファームウェアと、
前記コンピュータデバイスに備えられ、前記コンピュータデバイス上で実行され、前記コンピュータデバイスに備えられた前記ファームウェアと連動して、前記コンピュータデバイスに前記プログラミングコードを実行する前記プリンタを、前記コンピュータデバイスと前記プリンタとは接続されていない状態で、エミュレートさせる前記プログラミングコードと、
を備えるコンピュータデバイス上でプリンタを正確にエミュレートするシステム。
又は
【請求項１２】
請求項１１に記載のコンピュータデバイス上でプリンタを正確にエミュレートするシステムにおいて、
前記プログラミングコードが、さらに前記プリンタに備えられており、
前記プリンタが、前記プログラミングコードを実行し、
前記コンピュータデバイスが前記プログラミングコードを実行するとき、前記プログラミングコードを実行する前記プリンタが、前記コンピュータデバイスによって正確にエミュレートされること、
を特徴とするコンピュータデバイス上でプリンタを正確にエミュレートするシステム。
【請求項１３】
請求項１１に記載のコンピュータデバイス上でプリンタを正確にエミュレートするシステムにおいて、
前記プログラミングコードが、ラベル生成ソフトウェアアプリケーションであること、
を特徴とするコンピュータデバイス上でプリンタを正確にエミュレートするシステム。
【請求項１４】
請求項１３に記載のコンピュータデバイス上でプリンタを正確にエミュレートするシステムにおいて、
前記コンピュータデバイスが、前記プログラミングコードによって生成された仮想ラベルを表示し、
前記表示されたラベルが、前記プログラミングコードを実行する前記プリンタの機能として印刷された物理的なラベルと同様に現れること、
を特徴とするコンピュータデバイス上でプリンタを正確にエミュレートするシステム。
【請求項１５】
請求項１３に記載のコンピュータデバイス上でプリンタを正確にエミュレートするシステムにおいて、
前記コンピュータデバイスに備えられた統合開発環境をさらに含み、
前記統合開発環境は、ユーザが前記プログラミングコードを開発するために前記コンピュータデバイスを設定すること、
を特徴とするコンピュータデバイス上でプリンタを正確にエミュレートするシステム。
【請求項１６】
請求項１５に記載のコンピュータデバイス上でプリンタを正確にエミュレートするシステムにおいて、
前記統合開発環境が、ラベルフォーマット部を備え、
前記ラベルフォーマット部が、ユーザがラベルフォーマットを作成するためにコンピュータデバイスを設定すること、
を特徴とするコンピュータデバイス上でプリンタを正確にエミュレートするシステム。
【請求項１７】
請求項１６に記載のコンピュータデバイス上でプリンタを正確にエミュレートするシステムにおいて、
ラベル用のデータ情報源を少なくともひとつ備え、
前記ラベルが前記プリンタ又は前記コンピュータデバイスで生成されるとき、さらに前記統合開発環境が、ユーザがラベルに情報を提供するために前記コンピュータデバイスを設定すること、
を特徴とするコンピュータデバイス上でプリンタを正確にエミュレートするシステム。
【請求項１８】
請求項１６に記載のコンピュータデバイス上でプリンタを正確にエミュレートするシステムにおいて、
前記統合開発環境と共にさらにプログラムコードエディタを含み、
前記プログラムコードエディタを備える前記統合開発環境が、ユーザが前記プログラミングコードを開発するためにさらに前記コンピュータデバイスを設定すること、
を特徴とするコンピュータデバイス上でプリンタを正確にエミュレートするシステム。
【請求項１９】
請求項１１に記載のコンピュータデバイス上でプリンタを正確にエミュレートするシステムにおいて、
前記プログラミングコードが、スクリプト言語で記述されていること、
を特徴とするコンピュータデバイス上でプリンタを正確にエミュレートするシステム。
【請求項２０】
請求項１１に記載のコンピュータデバイス上でプリンタを正確にエミュレートするシステムにおいて、
前記コンピュータデバイスが前記プリンタをエミュレートするとき、前記プリンタのリプレゼンテーションが表示されること、
を特徴とするコンピュータデバイス上でプリンタを正確にエミュレートするシステム。
【請求項２１】
カスタマイズされたプリンタソフトウェアを提供する方法であって、
前記カスタマイズされたプリンタソフトウェアが、ファームウェアを備えたプリンタで実行するように、第１の人によって操作された第１コンピュータデバイスから電子的リクエストを受信し、
前記電子的リクエストは、前記カスタマイズされたプリンタソフトウェアに関連した少なくともひとつの仕様を含み、
第２の人によって操作され、前記ファームウェアを備えた第２コンピュータデバイス上で、前記カスタマイズされたプリンタソフトウェアを開発し、
前記カスタマイズされたプリンタソフトウェアが前記電子的リクエストを満たしていることを証明するために、前記第２コンピュータデバイス上で前記カスタマイズされたプリンタソフトウェアを実行し、
前記カスタマイズされたプリンタソフトウェアが前記第２コンピュータデバイス上で実行されるとき、第２コンピュータデバイス上でプリンタをエミュレートし、
前記エミュレーションは、前記カスタマイズされたプリンタソフトウェアが前記第２コンピュータデバイス上で前記ファームウェアと連動するときに発生し、
前記第２コンピュータデバイスと前記プリンタとは接続されない状態で、前記カスタマイズされたプリンタソフトウェアが証明されなければ、前記カスタマイズされたプリンタソフトウェアを修正し、前記第２コンピュータデバイス上で、前記修正されたカスタマイズされたプリンタソフトウェアを実行させ、
前記第２コンピュータデバイスと前記プリンタとは接続されない状態で、前記カスタマイズされたプリンタソフトウェアが証明されるとき、前記カスタマイズされたプリンタソフトウェアを前記第１コンピュータデバイスに送信すること、
を特徴とするカスタマイズされたプリンタソフトウェアを提供する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタに関し、特に正確なプリントエミュレーションとプレビュー機能とを提供することに関する。
【背景技術】
【０００２】
ラベル、文書、データ報告、又は他の書式付き出力のような電子ファイルを作成するコンピュータデバイスの使用は一般に普及している。プリンタのような出力装置で電子ファイル又は他の電子情報を出力する前に、ユーザはどのように文書が印刷されるかをプレビューすることを望む。多くのソフトウェアプログラムの先行技術は、コンピュータデバイスの表示画面にプリント出力のプレビューされたリプレゼンテーションを表示する“印刷プレビュー”機能を備える。印刷プレビューソリューションの一例は、より詳細に日本公開特許公報、特開平６−１１０６２６（発明の名称、印刷装置及び前記印刷装置を用いた印刷システム）において記述されており、それを全体的に参照して本明細書に取り入れる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−１１０６２６
【発明の概要】
【発明が解決しようとする課題】
【０００４】
印刷プレビュー機能のもうひとつの必要性が、プリンタを使用するアプリケーション又は他のプリント出力を生成するアプリケーションを記述するソフトウェア開発者とプログラマーのためにある。しかし、印刷プレビュー機能は、しばしば実際の印刷結果を正確に表示することができない。これは、しばしばコンピュータデバイスが実際のプリンタ環境を正確に又は的確にエミュレートできないからである。例えば、ユーザは、特有で未知の書体フォントをコンピュータデバイス上で作成し、ユーザのワープロソフトで作成される文書内で、このフォントを使用する。コンピュータデバイスに接続している印刷装置は、フォントを一切記録しない。ユーザが印刷プレビューオプションを選択するとき、コンピュータデバイスはそのフォントを表示装置に表示する。しかし、ユーザがプリンタでこのフォントを使用する印刷ジョブを出力するとき、プリンタはフォントを生成することができない。したがって、コンピュータデバイスにより提供される印刷プレビューオプションは不正確である。先行技術において、正確にプリント出力をプレビューするために、ユーザは物理的にファイル又は他の出力を印刷しなければならないか、プリンタに接続する必要がある。これは紙又は他の貴重な印刷媒体を浪費し、時間を消費し、及び／又は、ユーザのための開発環境を制限する。
【０００５】
プリント出力の正確なプレビューの必要性は、特に印刷ラベルにおいて高い。印刷ラベルは、輸送と郵送、医学標本瓶、食料品店と製品目録、又はその種のものの多くの用途で常に使用される。残念なことに、特開平６−１１０６２６に記述されているような先の解決手段では、ユーザは印刷装置をコンピュータデバイスに接続することを要求される。さらに、接続された印刷装置は、プリンタのイメージバッファで印刷イメージを展開する特別なファームウェアを必要とし、それは表示のためにコンピュータデバイスに返送される。これは、結果的にプリンタメモリ資源の無駄になる。
【課題を解決するための手段】
【０００６】
印刷装置を接続する必要性なしに、印刷物の正確なリプレゼンテーションをプレビューしたいというユーザの産業への要望が、依然残る。
【０００７】
したがって、システム及び方法は、プリンタに接続していないコンピュータデバイス上でプリンタを正確にエミュレートするために提供される。コンピュータデバイスは、ファームウェアと、カスタマイズされた印刷動作のためにファームウェアと連動するプログラミングコードとを提供される。さらに、ファームウェアは、プリンタとコンピュータデバイスに提供されており、それぞれのアプリケーションプログラムインターフェースの少なくともひとつの機能として、コンピュータデバイスとプリンタの各々において動作可能である。一方のアプリケーションプログラムインターフェースは、プリンタに提供されていてもよく、もう一方のアプリケーションプログラムインターフェースは、コンピュータデバイスに提供されていてもよい。あるいは、コンピュータデバイスとプリンタとはいずれも同じアプリケーションプログラムインターフェースを備えていてもよい。
【発明の効果】
【０００８】
プログラミングコードはコンピュータデバイスに提供されており、コンピュータデバイスはプログラミングコードを実行する。プログラミングコードは、プリンタがプログラミングコードを実行するときに、コンピュータデバイスに提供されているファームウェアと連動して、コンピュータデバイスにプリンタをエミュレートさせる。さらに、コンピュータデバイスとプリンタとは、接続されていない。
【０００９】
本発明の他の特徴と利点とは、添付の図面を参照して以下の説明により明らかになるであろう。
【００１０】
本発明を図解する目的のために、現在好まれる形態が図示されているが、本発明が図示された正確な配置と手段に限定されないことが理解されよう。本発明の特徴と利点とは、添付の図面を参照して以下の説明により明らかになるであろう。
【図面の簡単な説明】
【００１１】
【図１】実施形態による、通信ネットワーク上で印刷環境を開発してエミュレートするためのハードウェアの配置例を示す図である。
【図２】情報処理装置例の機能的要素及び／又は図１に示されるユーザワークステーションを示す図である。
【図３】情報処理装置に提供され、プリンタアプリケーションを開発及び／又は使用するために有用であるソフトウェアコンポーネントを示す及び又はブロック図である。
【図４】プリンタに提供され、プリンタアプリケーションを開発及び／又は使用するために有用であるソフトウェアコンポーネントを示す及び又はブロック図である。
【図５】情報処理装置に表示され、アプリケーション開発部の具体例を表す表示画面例を示す図である。
【図６】実施形態による、印刷アプリケーションでの統合のために顧客のデータソースをアップロードするか、又は統合するために有用である表示画面例を示す図である。
【図７】ラベルに取り込むデータを統合したデータラベルレイアウト例を示す図である。
【図８】アプリケーション開発部の使用を示し、情報処理装置上で操作可能な表示画面例を示す図である。
【図９】アプリケーション開発部の使用を示し、情報処理装置上で操作可能な表示画面例を示す図である。
【図１０】物理的なラベルアンドタグプリンタと仮想プリンタエミュレータとの類似点を示す図である。
【図１１】仮想プリンタエミュレータと、好ましい実施形態により提供された対応するプレビューラベル出力の表示例を示す図である。
【図１２】仮想プリンタエミュレータと、好ましい実施形態により提供された対応するプレビューラベル出力の表示例を示す図である。
【図１３】仮想プリンタエミュレータと、好ましい実施形態により提供された対応するプレビューラベル出力の表示例を示す図である。
【図１４】実施形態に含むことが可能な、共有ファームウェアを提供するために使用可能な構成例を示すブロック図である。
【図１５】追加の実施形態によるハードウェア配置例を示す図である。
【図１６】追加の実施形態によるさらにハードウェア配置例を示す図である。
【図１７】カスタマイズされたラベルアプリケーションの注文を顧客から受け、その注文を実現することと関連した過程の手順を表すフローチャートである。
【発明を実施するための形態】
【００１２】
好ましい実施形態において、プリンタはひとつ以上のアプリケーションプログラムインターフェース（ＡＰＩ）によって動作可能な共有プリンタファームウェアの機能としてエミュレートされ、この共有プリンタファームウェアは、カスタムでき、機能を拡張させる。好ましい実施形態において、インタプリタ型スクリプト言語（ＬＵＡ）は、ファームウェアを生成することと、統合開発環境によってカスタム印刷アプリケーションを提供することとに用いられる。本願によれば、開発されてプリンタ上で動作する、少なくともひとつのプリンタファームウェア、ひとつ以上のプリンタＡＰＩ及び／又はプリンタソフトウェアアプリケーションは、コンピュータデバイス上で動作可能である統合開発環境に提供される。統合環境は、少なくとも外観上は、プリンタに備えられたコントロールパネルをエミュレートするグラフィカルユーザインターフェースを含むことが好ましい。
【００１３】
したがって、プリンタファームウェア、ソフトウェアアプリケーション、プリンタＡＰＩのようなプリンタ上で動作するひとつ以上のソフトウェアプログラムは、コンピュータデバイス上にロードされ、統合環境で動作する。プリンタソフトウェアのグラフィカルユーザインターフェースへの統合は、ユーザにプリント出力の正確な印刷プレビュー表示を提供する。それはプリンタ上で動作するソフトウェア（例えばファームウェア、ＡＰＩ及び／又はアプリケーション）と同じソフトウェアが同様にコンピュータデバイス上で動作するからである。好ましくは、アプリケーションと共有ファームウェアとがプリンタそのものとコンピュータデバイス（例えばＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）オペレーティングシステムを動作しているパソコン）との両方で実行するようにひとつ以上のプリンタＡＰＩが設計され、それによりプリンタの正確なエミュレーションを可能にする。本明細書での教示は、新規性があり非自明なプリンタエミュレーションを提供する。それは少なくとも挿入されたコードが、開発されたプリンタソフトウェアアプリケーション及び／又は共有ファームウェアの各部に、ひとつ以上のＡＰＩを経由してアクセスするように機能するからである。
【００１４】
したがって、本明細書での教示は、まるでそれが実際の物理的なプリンタに備わっているときと同様に効果的にコンピュータデバイスに作用するソフトウェアを含む。たとえ表示装置が物理的なプリンタから離れて提供されるとしても、ユーザ、特にそれぞれのプリンタのためのソフトウェア開発者はユーザの表示装置上でのプリント出力の正確なプレビューと同様にプリンタ機能の正確な表示を見る。このように、開発環境は、先行技術の印刷プレビュー機能に関して上述の短所に悩まされることはない。
【００１５】
実施形態において、プリンタアプリケーションは、プラットフォーム独立言語でありプログラミング言語Ｃで開発されたＬＵＡで記述される。ＬＵＡでのコンピュータとプリンタの相互作用は、Ｃ  ＡＰＩのようなインターフェースを通してなされる。Ｃ  ＡＰＩを用いることによって、ＬＵＡに基づく動作は、プリンタプラットフォームとコンピューティング（例えばＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標））プラットフォームとを含むさまざまなプラットフォーム上で、同じ方法を実行する。コンピュータデバイス上で正確なプリンタエミュレーションを実現するために、Ｃ  ＡＰＩは両プラットフォーム上で類似して又は同じ方法で機能しなければならない。ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）オペレーティングシステムを実行するパーソナルコンピューティングのようなコンピュータデバイス上で、ファイルシステムはオペレーティングシステムによって提供される。本明細書での教示によると、ファイルシステムＡＰＩは、印刷装置用に備えられる。ファイルシステムＡＰＩが、それぞれのプラットフォーム上で実行するソフトウェアアプリケーションとして同一の動作を確実に行うように両プラットフォーム上（例えばコンピュータデバイスと印刷装置）で使用されることが好ましい。例えばメモリカード、ＵＳＢ接続デバイス、ネットワーク上での転送などによってソフトウェアアプリケーションがどちらのプラットフォームにでもロードされるときのように、コンピュータデバイスと印刷装置の両方は、（当技術分野で周知のように）ＬＵＡ仮想マシン及びＣ  ＡＰＩを備え、アプリケーションはＣ  ＡＰＩによって認識されて、同一の動作をすることが好ましい。したがって、アプリケーションは印刷装置上で実行するのと同じ方法でコンピュータデバイス上で実行し、それによってコンピュータデバイスが実行しているアプリケーションを監視するために物理的に印刷装置をコンピュータデバイスに接続する必要性を排除する。
【００１６】
本明細書での教示はまた、印刷された出力がどのように現れるかを観察するために物理的にラベル又は他の出力を印刷しなければならない先行技術の負担を排除する。例えば、ファーストフードレストランチェーンの経営者は、チェーン内の複数の各レストランのためにそれぞれフォーマット化されたラベルを作成する必要がある。経営者は、ラベルを設計してプレビューするために、本明細書での教示にしたがって統合開発プラットフォームを使用する。経営者はその後、ラベルを生成するためにチェーンの各レストランにラベル設計を配布する。レストランで出力されるラベルは、所有者によって正確にプレビューされる。経営者はレストランで利用されるプリンタと物理的に接続しないが、プレビューは正確である。したがって、ラベル生産ワークフローは、先行技術のそれより著しく効率的である。さらに、コンピュータデバイス上で動作する統合環境は、コンピュータデバイスへ画像データを返信するコンピュータデバイスに接続するプリンタを必要としない。したがって、プリンタのメモリ資源が節約される。
【００１７】
好ましい実施形態において、統合開発環境は、ラベルのような出力を設計及び／又は開発するために使用可能であるグラフィカルユーザインターフェースを含む。好ましくは、統合開発環境は、例えばラベルアンドタグプリンタ用にデータラベルを設計するために、プリンタのコントロールパネルのようなプリンタの仮想リプレゼンテーションを提供するグラフィカルユーザインターフェースと組み合わせて提供される。好ましくは、統合開発環境及び／又はプリンタをリプレゼンテーションするグラフィカルユーザインターフェースは、プリンタで実行される、プリンタファームウェア及びひとつ以上のアプリケーションを備える。したがって、アプリケーション開発ツールは、パソコンなどのコンピュータデバイス上で動作し、印刷装置上で又は印刷装置によって実行するプログラムのアプリケーション開発を促進するスクリプト及び／又はコードライブラリを含むように提供される。これは、複数のパーティによる分散型で“ローカル”なアプリケーション開発のような改良された接続機能を提供する。このように、多くのプログラマーは集中化したオフィスから離れて働くことができ、カスタマイズされた及び／又は特定の顧客ニーズに適合させたアプリケーションを作成するために、エンドユーザと顧客に極めて接近した位置にいる必要がない。これはより短いリードタイムをもたらす。ここでリードタイムは、クライアントからの要求があってから、プログラムが展開されて顧客によって使用されるまでの時間を表す。本明細書でのシステム及び方法は、さらに顧客と開発者との関係を強化する。
【００１８】
好ましくは、印刷ラベルのようなフォーマット付き出力の開発者は、フォーマット付き出力用のアプリケーションを開発するために、本明細書での教示を利用する。開発者は、出力をするプリンタのような個別の出力装置の仮想リプレゼンテーションと同様に、プリント出力の正確な仮想リプレゼンテーション又は表示されるリプレゼンテーションを提供する。例えば、ラベルを印刷するエンドユーザのためのプリンタが備えるプリンタコントロールパネル（例えばＬＣＤとキーボード／キーパッド）のリプレゼンテーションを含むグラフィカルユーザインターフェースが、開発者に提供される。このように、開発者は特定のプリンタ又は他の出力装置がどのようにエンドユーザのために応答するかをテストできる。例えば、開発者はエンドユーザによって選択されるひとつ以上のキーに応じてプリンタがどのように動作するのかをプレビューできる。さらに、エンドユーザによってなされるひとつ以上のキー選択に応じて、開発者は液晶ディスプレイ（“ＬＣＤ”）又は印刷装置が備える他のディスプレイの正確なリプレゼンテーションを提供される。さらに、開発者はプリンタが提供する物理的な出力の正確なリプレゼンテーションを提供される。このように、本明細書での教示は、開発者のコンピュータデバイス上のプリンタキー動作及びＬＣＤ又は他の表示結果と同様に、印刷装置からの出力結果をシミュレートして、正確に表現（リプレゼント）する。これは、開発者のコンピュータデバイスと共に印刷装置内にファームウェアを提供することによって、少なくとも部分的に可能となる。このように、物理的な出力（すなわち、印刷）環境は、物理的に出力装置又はプリンタを開発者のコンピュータデバイスに接続する必要なしに、正確に表現（リプレゼント）される。開発者のための他の利点は、開発中の（又は挿入された）アプリケーションが機能するとき、デバッギングがコンピュータ上でなされることであり、それにより時間のかかるダウンロード及びテストプリントを解消又は縮小する。
【００１９】
したがって、例えば、所有者のプリンタ制御と操作のために開発されたソフトウェアの結果を正確に表現するために、開発者のコンピュータデバイスにプリンタファームウェアソースコードを備えることによって、複数の印刷解決策が提供される。
【００２０】
図面に関して、同じ要素には同じ符号が付されている。図１は、実施形態による通信ネットワーク上で印刷環境を開発し、エミュレートするための、ハードウェアの配置例を示す図であり、ここでは概してシステム１００と呼ぶ。好ましくは、システム１００は、少なくともひとつの情報処理装置１０２で構成され、インターネットウェブサーバとデータベースファイルサーバとして動作するように構成されてもよく、通信ネットワーク１０６にアクセスしてユーザワークステーション１０４と通信するようにプログラミングされ、構成される。ユーザワークステーション１０４及び情報処理装置１０２は、周知の通信プロトコル、伝送制御プロトコル／インターネットプロトコル“ＴＣＰ／ＩＰ”によって通信してもよい。図１に示される例において、情報処理装置１０２は、当業者に周知であるように、例えばＬＵＡプログラミング言語でアプリケーションを開発するために、統合開発プログラミング環境（“ＩＤＥ”）を備える。情報処理装置１０２は、本明細書での教示をサポートするために必要な全てのデータベースを備える、又はそれにアクセスできる。情報処理装置１０２は、プリンタ１０８にインストールされるプリンタファームウェアも備えることが好ましい。しかし、情報処理装置１０２及び／又はユーザワークステーション１０４は、通信ネットワーク１０６又は情報処理装置１０２が接続してもよい他の通信ネットワークによって必要なデータベースにアクセスできると考えられる。通信ネットワーク１０６は、好ましくはインターネットのような世界的な公衆通信ネットワークであるが、広域通信網（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、イントラネット又はコンピュータデバイスと周辺機器との通信を可能にする他のネットワークでもよい。
【００２１】
好ましい実施形態では、情報処理装置１０２及びユーザワークステーション１０４は、通信ネットワーク１０６上でデータの送受信ができるコンピュータ可読媒体であり、例えばメインフレームコンピュータ、ミニコンピュータ、パーソナルコンピュータ、ラップトップコンピュータ、携帯情報端末（ＰＤＡ）、携帯電話及びＷｅｂ  ＴＶのようなインターネット接続機器などである。さらに情報処理装置１０２は、ＭＩＣＲＯＳＯＦＴ  ＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥＲ（登録商標）、ＭＯＺＩＬＬＡ  ＦＩＲＥＦＯＸ（登録商標）などのようなウェブブラウザソフトウェアを備えることが望ましい。情報処理装置１０２は周知のデータ通信ネットワーク技術を使って通信ネットワーク１０６に接続する。
【００２２】
また、図１に示すプリンタ１０８は、ラベルアンドタグプリンタであることが望ましく、情報処理装置１０２から受信したデータのラベルとタグを印刷するために動作可能である。プリンタ１０８は、キーボードとディスプレイとを備えていてもよく、情報処理装置１０２に加えて、又は情報処理装置１０２がない場合に、又は情報処理装置１０２と併用してプリンタ１０８での入出力機能を可能にする。プリンタ１０８を使うユーザから信号を受信して解釈する（すなわち、読み込む）ことができるキーボード１１０が提供されることが好ましい。キーボードは、外付けキーボード又はプリンタ１０８に直接接続していない他の入力デバイスであってもよい。さらに、ディスプレイ１１２は、プリンタ１０８でさまざまなテキストコンテンツ及び図形コンテンツを表示するように動作するように提供されることが好ましい。ディスプレイは、プリンタ１０８に取り付けられた外付けディスプレイ（図示せず）である。例えば、多くの異なる文字言語のために、ディスプレイ１１２はフォント及び符号化方式の豊富な選択の幅をサポートすることが好ましい。
【００２３】
図２は情報処理装置１０２及び／又はユーザワークステーション１０４の一例の機能的構成要素を示す図であり、ソフトウェアコードを実行して情報処理装置１０２の操作を制御するのに使用されるひとつ以上の中央演算処理装置（ＣＰＵ）２０２を含む。他の構成要素は、読出し専用メモリ（ＲＯＭ）２０４、ランダムアクセスメモリ（ＲＡＭ）２０６、通信ネットワーク上で他のコンピュータデバイスとデータを送受信するためのひとつ以上のネットワークインターフェース２０８、プログラムコードデータベース及びアプリケーションデータを格納するためのハードディスクドライブ、フロッピー（登録商標）ディスクドライブ、テープ装置、ＣＤ  ＲＯＭ又はＤＶＤのような記憶装置２１０、キーボード、マウス、トラックボール、マイクなどのようなひとつ以上の入力装置２１２、及びディスプレイ２１４を含む。さらに、ひとつ以上の機能的構成要素の２０２から２１４は、同様にプリンタ１０８に適切に構成されていても又は提供されてもよい。
【００２４】
情報処理装置１０２及び／又はユーザワークステーション１０４のさまざまな構成要素は、物理的に同じ筐体の内で構成される必要がなく、単一場所にある必要さえない。例えば記憶装置２１０は情報処理装置１０２の残りの要素とかけ離れた場所にあってもよく、ネットワークインターフェース２０８を介して通信ネットワーク１０６上でＣＰＵ２０２に接続していてもよい。情報処理装置１０２及び／又はユーザワークステーション１０４は、ハイパーテキストマークアップ言語（ＨＴＭＬ）、Ｊａｖａ（登録商標）アプレット、ＡｃｔｉｖｅＸコントロールプログラムを通信するためのウェブサーバとして作動することと同様に、必要なデータベースとフォーラムと他のコミュニティサービスとを提供するために十分な記憶域を備えるメモリを含むことが望ましい。情報処理装置１０２及び／又はユーザワークステーション１０４は、例えば図２に示されているような、予測される動作環境に適した構成要素の配置となっている。ＣＰＵ２０２とネットワークインターフェース２０８とメモリと記憶装置とは、予測デマンドを収容するための容量が確保できるように選択される。
【００２５】
本発明の特質は、コンピュータ実行可能コード（すなわちソフトウェア）を記述する当業者が一般のコンピュータプログラミング言語及びスクリプト言語と、ＬＵＡ、Ｃ、Ｃ＋＋、Ｃ＃、Ｖｉｓｕａｌ  Ｂａｓｉｃ、ＪＡＶＡ（登録商標）、ＨＴＭＬ、ＸＭＬ、ＡＣＴＩＶＥ  ＳＥＲＶＥＲ  ＰＡＧＥＳ、ＪＡＶＡ（登録商標）サーバーページ、サーブレット、ＭＹＳＱＬ及びＰＨＰを含むがこれに限定されない開発環境とのひとつ以上の組み合せを用いて本明細書で説明される機能を実施することができることである。
【００２６】
本発明では、ここに例としてウェブブラウザとウェブサイトサーバー（例えば情報処理装置１０２）とを用いたウェブベースのシステムに関して説明するが、システム１００はそのような構成に限定されない。システム１００は、プリンタ１０８が情報処理装置１０２及び／又はユーザワークステーション１０４と通信して情報処理装置１０２及び／又はユーザワークステーション１０４から受信したデータを出力するように配置されると考えられる。プリンタ１０８と情報処理装置１０２及び／又はユーザワークステーション１０４との通信方法は周知ものを使用しており、例えばインターネットパケットエクスチェンジ（ＩＰＸ）、ダイヤルアップ、サードパーティ、プライベートネットワーク又は付加価値通信網（ＶＡＮ）のようなローカルエリアネットワークプロトコルに接続する非インターネットブラウザＷＩＮＤＯＷＳ（登録商標）ビューアを使用する。
【００２７】
さらにどの適するオペレーティングシステムでも、（例えばＤＯＳ、ＷＩＮＤＯＷＳ（登録商標）  ３．ｘ、ＷＩＮＤＯＷＳ（登録商標）  ９５、ＷＩＮＤＯＷＳ（登録商標）  ９８、ＷＩＮＤＯＷＳ（登録商標）  ＮＴ、ＷＩＮＤＯＷＳ（登録商標）  ２０００、ＷＩＮＤＯＷＳ（登録商標）  ＭＥ、ＷＩＮＤＯＷＳ（登録商標）  ＣＥ、ＷＩＮＤＯＷＳ（登録商標）  ＰＯＣＫＥＴ  ＰＣ、ＷＩＮＤＯＷＳ（登録商標）  ＸＰ、ＭＡＣ  ＯＳ（登録商標）、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）、ＰＡＬＭ  ＯＳ（登録商標）、ＰＯＣＫＥＴ  ＰＣ及び他の適するペレーティングシステム）情報処理装置１０２上で使用できると考えられる。
【００２８】
好ましい実施形態では、プリンタ１０８のアプリケーションは、ＬＵＡプログラミング言語で作成される。好ましい実施形態によれば、ＬＵＡインタプリタはアプリケーションに備えられたＬＵＡプログラミングステートメントを処理できるよう組み込まれる。典型的な高水準プログラミング言語とは異なり、ＬＵＡはスクリプト言語であり基本的なプログラミング言語ではない。本明細書での教示は、プリンタファームウェアと連動しＬＵＡインタプリタによって解釈されるＬＵＡ言語の拡張であるプリンタＡＰＩを実装する。これは、より先進で複雑なアプリケーションが例えば関数呼び出しによって開発されるのを可能にする。さらに、ＬＵＡプログラミング言語の拡張であるＡＰＩを実装することによって、プリンタ１０８の一部の機能が修正でき、ひとつの変更を実行するためにはそれぞれのファームウェアアプリケーションの完全な上書きが必要とされる先行技術のラベルアンドタグプリンタとは対照的である。
【００２９】
図３及び４は、それぞれ情報処理装置１０２及びプリンタ１０８に提供され、プリンタアプリケーションを開発及び／又は使用するために有用であるソフトウェアコンポーネントを示すブロック図である。図３において、情報処理装置１０２は四角形１０２で表示され、オペレーティングシステム３０２（例えばＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標））を備える。アプリケーション開発部３０４は、例えば、新しいプリンタアプリケーションの開発又は既存のプリンタアプリケーションの修正のための統合開発環境を含み、このプリンタアプリケーションは、ＬＵＡプログラミング言語によって作成され、ラベルのようなフォーマット付き出力を印刷するひとつ以上のプリンタ１０８に展開可能である。情報処理装置１０２は、例えば、アプリケーション開発部３０４によって情報処理装置１０２で開発されたプリンタアプリケーションを実行するプリンタ１０８の仮想リプレゼンテーションを提供するために動作可能である、仮想のプリンタエミュレータ３０６をさらに備える。上述のように、プリント出力、及び、アプリケーションが実行する間にプリンタ１０８がどのように機能するのかを、正確に表現（リプレゼント）するために、プリンタ１０８のファームウェアは、プリンタエミュレータ３０６に提供されることが望ましい。さらに、情報処理装置１０２は、ＡＰＩ及びプリンタアプリケーション３１０を備える。
【００３０】
図４において、ラベルアンドタグプリンタのようなプリンタ１０８は、四角形１０８で表示され、特に印刷装置であり情報処理装置１０２とは共有されないファームウェア３１２を備える。また、プリンタ１０８は、プリンタ１０８に特有であるが情報処理装置１０２上で同様に動作し、プリンタエミュレータ３０６を正確に動作させる共有ファームウェア３０８を備える。上述のように、プリント出力、及び、アプリケーションが実行する間にプリンタ１０８がどのように機能するのかを、正確に表現（リプレゼント）することをプリンタエミュレータ３０６に可能とさせる情報処理装置１０２にプリンタ１０８のファームウェアが提供されることが望ましい。さらに、プリンタ１０８は、ＡＰＩ及びプリンタアプリケーション３１０を備える。
【００３１】
好ましい実施形態では、情報処理装置１０２は、例えば、ソフトウェア開発者がプリンタ１０８のための印刷アプリケーションを記述することができるアプリケーション開発部３０４と、プリンタエミュレータ３０６とを備える。図５は、情報処理装置１０２に表示され、アプリケーション開発部３０４の実施形態を表現（リプレゼント）する表示画面例４００を示す。図５に示される例では、アプリケーション開発部３０４は、統合開発環境（ＩＤＥ）として提供され、プリンタ１０８で複数のラベルを出力するためのラベルアプリケーションを開発するのに用いられる。図５で示すように、テーブル部４０２は、ラベルに印刷される情報を格納するひとつ以上のデータテーブルのリストを提供する。オプション部４０４は、データフィールド入力、ラベルレイアウトオプションとデータソースを含む追加のアプリケーション開発の選択を備える。図５に示される例では、オプションの“テーブル”４０６が選択された。
【００３２】
図５に関して続けると、ラベルフォーマット部４０８は、例えばプリンタ１０８で出力されるラベルを設計するためのオプションを提供する双方向のグラフィック画面制御を含む。図５に示される例では、ラベルは小売会社のために設計され、それぞれのラベルは製品ＡＧＡＭのために作成される。とりわけ、オプションはフォントタイプ、線、四角のようなものに対して提供される。データテーブル部４１０は、設計されたラベルへ組み込むのに用いられる情報のそれぞれのテーブルの画面を含む。好ましい実施形態では、ＦＴＰ、電子メール、物理的なディスク又はドライブ、又はその種のものを介して、データテーブル又は他のフォーマットされた情報源が、情報処理装置１０２に提供される。このように、ラベルアプリケーションプログラマーは、ラベルが最終的に印刷及び／又は使用される場所の近傍に物理的に位置する必要なく、分散したラベルデータ源が管理できる。
【００３３】
図５に関して続けると、コード生成部４１２は、情報処理装置１０２のユーザが印刷アプリケーションに含まれるプログラミングコードを記述するために提供される。図５に示される例では、ＬＵＡプログラミングステートメントは、表示され、ラベルに含まれるカラーオプションを提供するのに使用される。グラフィックラベル開発プラットフォームにおける統合プログラミングコード開発は、開発者のための便利なオプションが印刷アプリケーションを正確で迅速に開発することを可能にする。さらに、プロパティ部４１４は、ラベルのようなプリント出力において表示する体裁と、データを制御するオプションとを含む。図５に示される例では、単語”Ａｇａｍ“は、フォントタイプがＳａｎｓ  Ｂｏｌｄフォント、１２ポイント、ＸＹ座標が１５３、８６、となるように、プロパティ部４１４で選択され特定され、ラベル用データは、テーブル部４０２に表示されるようにテーブルから提供される。
【００３４】
このように、表示画面例４００で示されるように、アプリケーション開発部３０４が表示する統合開発環境は、ラベルのようなフォーマットされたプリント出力用のアプリケーションを開発するために使用可能である。
【００３５】
本明細書で述べたように、カスタムデータラベルのような印刷物用に使用可能なプログラムされたアプリケーションは、従来技術において、互いに物理的に近接しなければならなかった当事者たちによって開発された。出力をテストして必要に応じてアプリケーションを修正するために、エンドユーザのプリンタ１０８に物理的に接続するのと同様に、開発者はエンドユーザのデータへのアクセスを必要とした。本明細書での教示によれば、開発者は物理的にエンドユーザのプリンタ１０８と接続する必要がなく、代わりにエンドユーザのデータと統合される印刷アプリケーションを離れて開発することができる。この印刷アプリケーションは、同様にエンドユーザの位置から離れてテスト及び評価できる。
【００３６】
図６は、印刷アプリケーションのために顧客のデータをアップロードするか、そうでなければ統合するために使用可能な表示画面例５００を示す。データパッケージ部５０２はアプリケーション開発部が利用できるオプションを例示し、このオプションは、フォーマット化すること、データソース、イメージ、プロフィール、フォントの他、システムオプションを含む。他のオプションは、異なる言語への翻訳テーブル、選択可能なリソースへの迅速なアクセスを提供するファンクションキーサポート（例えばＦ１）、予め定義された設定、及び累積値のリポジトリを含む停電時ストレージを含んでもよい。
【００３７】
テーブル部５０４は、クライアント例からインポートされ、製品コード、製品名、製造コード及びカラーコード用のデータを含むデータテーブル例を示す。一旦インポートされると、データはデータラベルのようなルカスタム印刷アプリケーション用に使用可能であり、さらに顧客例のために使用可能である。
【００３８】
図７は、例えば、テーブル部５０４（図６）で示されるテーブルにおいて提供されたデータを印刷するデータラベルレイアウト例６００を示す。図７で示すように、製造コード、カラーコード及び製品コードのような複数のデータ値を取り込むバーコードが提供される。さらに、例えば同じことを表示するために、データラベルは記述された語を取り込む。さらに、カスタムロゴがラベルに含まれてもよく、それは取引先からインポートされる。
【００３９】
図８は、アプリケーション開発部３０４の別の利用を表示し、情報処理装置１０２で動作可能な表示画面例７００を示す。図８に示される例において、アプリケーション開発部３０４は、食品供給者用のデータラベルを開発するために利用される。データテーブル部４１０で示すように、示されたデータは食品用であり、アップルパイ、ベーコン及びその他の食品を含む。対応するデータは、それぞれの食品が解凍するのに必要な時間、特定の食品の保存期間がどのくらいであるかなどを提供する。ラベルフォーマット部４０８では、データの最初の列にあるデータのいくつかは、アップルパイ用が示されている。ラベルに含むためにプログラマーによって選択されたそれぞれのデータフィールドは、食品名、“販売期限”の日付と時間、“解凍期限”の日付と時間及び”廃棄期限“の日付と時間である。データラベルが顧客に印刷される際、データテーブル部４１０からのデータのそれぞれの列の各々からの対応する情報がラベルに出力される。表示画面例７００では、コード生成部４１２は表示されず、さらにアプリケーション開発部３０４の柔軟性を例示する。アプリケーション開発部３０４の４０８、４１０、４１２の部分などは、例えば単にユーザによってひとつ以上のグラフィック画面制御（例えばチェックボックス、タブ、ラジオボタン又はそのようなもの）を選択することによって表示又は非表示することができる。
【００４０】
図９は、アプリケーション開発部３０４の別の用途を表示し、情報処理装置１０２で動作可能な表示画面８００の例を示す。図９に示される例において、アプリケーション開発部３０４は、スポーツ用品店用のデータラベルを開発するために利用される。表示画面８００の例では、ユーザは製品イメージ、バーコード、ブランド名、製品名、元の売価及び現在の売価を含む複数の構成要素を備えるデータラベルを設計している。さらに、ラベルは斜めのテキスト出力、それぞれのフォントタイプ及びポイントサイズ他を含む分かりやすく目立つ方法で、体裁を整えることが望ましい。表示画面８００の例では、データテーブル部４１０及びコード生成部４１２は表示されていない。ユーザがそれらの部分の表示を消せるため、ユーザはデータの混乱と表示画面８００を消費するプログラミングコードなしでラベルのグラフィック開発に集中することができる。
【００４１】
上述のように、アプリケーション開発部３０４に加え、実際の物理的なプリンタ１０８に備えられたソフトウェアと同様に、有効に情報処理装置で動作するソフトウェアが備えられる。表示装置が物理的なプリンタから離れて置かれても、ユーザは、プリント出力の正確なプレビューと、さらにプリンタの正確なリプレゼンテーションをユーザの表示装置上に見ることができる。
【００４２】
図１０は、物理的なプリンタ１０８とプリンタエミュレータ３０６との類似点を示す。図１０の左側は、プリンタ１０８を示し、プリンタ１０８は、キーボード１１０とディスプレイ１１２を備える。プリンタエミュレータ３０６は、同様に、キーボード１１０とディスプレイ１１２を含むプリンタ１０８の仮想リプレゼンテーションを含む。好ましい実施形態において、プリンタ１０８とプリンタエミュレータ３０６との双方に提供される共有ファームウェア３０８の機能として、プリンタエミュレータ３０６における全ての制御及び表示が、プリンタ１０８で動作する通りに、かつ正確に動作する。また、図１０に例示されるのは、アプリケーション開発部３０４によって提供され、キーボード１１０によって選択できるプロンプトをディスプレイ１１２に含むことが好ましいアプリケーション例である。
【００４３】
図１１から１３は、それぞれプリンタエミュレータ３０６の画面の例１００２、１００６及び１００８と、好ましい実施形態により提供される、対応するラベル出力のプレビューとを示す。図１１から１３で示すように、プリンタエミュレータ３０６は表示画面１００２、１００６及び１００８の左部分に示され、プレビューされたラベル出力部１００４は右部分に示される。各々の画面１００２、１００６、及び１００８は、異なるユーザのためにラベルを出力しているプリンタ１０８の仮想リプレゼンテーションを表す。例えば、表示画面１００２はスポーツ用品店用に生成したラベルを表す。表示画面１００６は食品供給者用に生成したラベルを表し、表示画面１００８は小売店用に生成したラベルを表す。各々の表示画面の例１００２、１００６及び１００８は、複数のラベル（表示画面１００２で示すような）、複数のラベルタイプ（表示画面１００６で示すような）及び複数の製品用のラベル（表示画面１００８で示すような）を含む、本明細書の教示により提供可能な出力を示す。情報処理装置１０２とプリンタ１０８との双方に提供される共有ファームウェアの少なくともの結果として、ラベル出力部１００４に示される出力は、プリンタ１０８で生成する実際の出力の正確なリプレゼンテーションである。
【００４４】
図１４は、実施形態に含むことができ、共有ファームウェア３０８を提供するのに使用可能である構成要素例を示すブロック図１１００である。図１４に示すように、標準ＬＵＡＡＰＩ１１０２及びカスタムＬＵＡプリンタＡＰＩ１１０４は、ＬＵＡ仮想マシン（“ＶＭ”）１１０６と連動するように提供される。印刷エンジン部１１０８では、モータ制御、センサー制御及びサーマルプリントヘッド（“ＴＰＨ”）制御を含む、プリンタ１０８に関連する構成要素がリストアップされる。デバイス部１１１０では、通信インターフェース（”Ｉ／Ｆ“）、キーボード及びディスプレイがリストアップされる。レンダリングエンジン部１１１２は、フォントスケーラ、フォントラッパー、コードページ、イメージ、バーコードラッパー及び線を含む。バーコードライブラリ部１１１４は、さらにそれぞれのバーコードのためにビットマップフォント及びレンダリングを含んでもよい。ファイルシステム部１１１６は、望ましくは読出し専用メモリ（“ＲＯＭ”）、ランダムアクセスメモリ（“ＲＡＭ”）、フラッシュドライブ及びセキュアデジタル（“ＳＤ”）カードラッパーを含む。ＳＤカードファイルシステム１１１８がさらに提供されてもよい。さらにソフトウェアライブラリ（“Ｃ”）１１２０が備えられ、カスタム仕様の関数であってもよい“ｍａｌｌｏｃ”及び“ｐｒｉｎｔｆ”のようなカスタムライブラリコンポーネントを含む。さらに、リアルタイムオペレーティングシステム及びハードウェアが、部分１１２２に備えられる。これらの構成の用途は、望ましくは情報処理装置１０２に提供され、プログラマーに正確な印刷プレビューとプリンタエミュレーションとを提供するために使用可能なファームウェアの構成要素として提供される。
【００４５】
図１５及び１６は、プリンタ１０８が例えばアプリケーション開発部３０４によって開発されたアプリケーションを備えている実施形態による、さらなるハードウェアの配置例を示す。図１５に示される例では、デスクトップ型のプリンタ１０８の使用をサポートする配置が示される。情報処理装置１０２、ユーザワークステーション１０４、通信ネットワーク１０６、プリンタ１０８、キーボード１１０及びディスプレイ１１２に加え、はかり１２０４が示され、このはかり１２０４は、プリンタ１０８によって生成されたラベルに含まれる食品又は商品の重さを表す情報を送信するために使用可能である。さらに、スキャナー装置１２０６は既存のバーコードから情報を得て、その情報をプリンタ１０８に送信するために使用可能である。他のデータ入力装置は、キーボード１２０８及びＰＤＡのような携帯端末１２１０を含む。データとソフトウェアは情報処理装置１０２によって提供されてもよい。情報処理装置１０２はアプリケーション開発部３０４によって開発されたアプリケーション１２１２を保存してもよく、特定のビジネス顧客用のデータを保存してもよいデータベース１２１４を保存してもよい。図１５に示される例では、アプリケーションは、食料品店、小売店又は他のビジネスのような特定の場所で動作可能であり、使用可能であり、また特定の場所で一般的に設置される装置と連動する。例えば、プリンタ１０８は、ＬＵＡインタプリタを介して実行され、かつ、データベースと連動可能なＬＵＡアプリケーションによってラベルを生成する。
【００４６】
図１６は、ラベル貼り付けの生産ラインを提供するようなプリントアンドアプライ（“Ｐ＆Ａ”）の印刷環境で使用可能であるハードウェアの配置１２１６を示す。生産ライン１２１８が提供され、それは高速で正確なデータの転送及び／又は認識のためにセンサー１２２０を含んでもよい。
【００４７】
図１７は、アプリケーションの生産を開始できるように、顧客からカスタマイズされたラベルアプリケーションの注文を受けて、注文を実現することと関連した過程を説明するステップＳ１００を表すフローチャートである。ステップＳ１０２において、一連の作業が始まり、顧客はその後正式に特定のラベルアプリケーションを依頼する（ステップＳ１０４）。ステップＳ１０６において、例えば、顧客の依頼は、技術的に顧客の要求をプログラマーに説明できる技術者によって、正式に定義される。その要求は、カスタマイズされたアプリケーションを生産するためにアプリケーション開発部３０４を利用するプログラマーに伝えられる。ステップＳ１０８において、例えば、プログラマーは、ラベルフォーマットを設計して、プログラムのプロンプトを開発して、フィールドとプロンプトをデータテーブルの列と関連付けて、アプリケーションとプリンタセットアップルーチンを開発して、及び／又はＬＵＡスクリプトのようなユーザの予め定義された機能を統合するために、アプリケーション開発部３０４を利用する。プログラマーは、新しいアプリケーションを開発するか、既存のアプリケーションを修正するためのどちらかに、アプリケーション開発部３０４を利用してもよい。一旦アプリケーションが開発されたら、例えば、プリンタエミュレータ３０６（ステップＳ１１０）、又は物理的なプリンタ１０８（ステップＳ１１２）によってアプリケーションが検証される。その後、ステップＳ１１４において、アプリケーションの変更が必要であるかどうかの判定がなされる。もし変更が必要であれば、過程はステップＳ１０８に戻る方へ分岐し、プログラマーはアプリケーションを修正する。もし変更が不要である場合、過程はステップＳ１１６に分岐し、アプリケーションは通信ネットワーク１０６で送信されるファイルか、ＳＤカード、コンパクトディスク又は他の媒体で提供されるファイルで顧客に提出される。プリンタエミュレータ３０６、又はプリンタ１０８のどちらかによって（ステップＳ１１８）、顧客はアプリケーションを検証する。その後、アプリケーションに修正が必要であるかどうかの判定がなされる（ステップＳ１２０）。もし修正が必要であれば、ステップＳ１０８に戻る方へ分岐し、プログラマーはアプリケーションを修正して、プロセスはそこから継続する。修正が不要である場合、ステップＳ１２２に分岐し、そこで顧客はアプリケーションを承認し、料金を支払い、終了する。
【００４８】
このように、本明細書に示され、説明されるように、本願はプリンタエミュレーション及びプログラム開発に関するような従来技術に関連する課題を解決する。ファームウェアをプリンタ及びコンピュータデバイスと共有することによって、正確なプリント出力プレビューの提供を含む、正確なプリンタエミュレーションが得られる。さらに、プリンタソフトウェアアプリケーションの開発サイクルは著しく減少され、もはや技術者とプログラマーは、物理的にエンドユーザの近傍に居る必要はない。分散化され、高度であり、高速、かつ、コスト効率のよい解決法は、従来技術においてこれまでは利用できなかった特注の印刷ソリューションに提供される。
この解決法は、高性能プログラミング、及び、ファイルシステムにアクセス及び連動できるＬＵＡのようなスクリプト言語を使用することによって提供され、この使用は、高性能プリンタ機能、接続機能、及び、改善されたフォントとコードページ対応を提供できることの、少なくとも一要因である。
その成果は、最初に顧客に提供される、より短い総リードタイムとより正確なアプリケーションソリューションであり、それは顧客関係を向上させ、強固にするものである。
【００４９】
さらに、今では、非常に複雑な印刷構成が可能であり、特にラベル用に、例えば、さまざまな色、ロゴ、データベース情報、バーコード及び改善されたワークフローのための作業者の手順を含んでもよい。顧客データベースにアクセス又は顧客データベースを得た後、及び、顧客の依頼又は要求が明確にされたあと、プログラマーは顧客のデータとカスタムグラフィックスを含み、アプリケーションに包括でき、顧客へ迅速に送信することができるラベルフォーマットを設計するために本明細書の教示を利用することができる。さらに、プリンタエミュレータ３０６によって、アプリケーションの正確さを検証することができる。
【００５０】
ある実施形態において、顧客は予め決められた機能がほとんどなく、実質的に“空の”装置であるプリンタを受け取る。エンドユーザは、エンドユーザのコンピュータデバイスによって通信ネットワークでプリンタアプリケーションにアクセスして、ダウンロードする。その後、プリンタはカスタム機能を提供するプログラミング命令を実行する。
【００５１】
本発明はその特定の実施形態に関して説明し示しているが、多くの他の変形と修正と他の用途とは、当業者にとっても明らかになるであろう。したがって、本発明が本明細書の特定の開示によって制限されないことが好ましい。
【図１】
2013519928.tif 000003
【図２】
2013519928.tif 000004
【図３】
2013519928.tif 000005
【図４】
2013519928.tif 000006
【図５】
2013519928.tif 000007
【図６】
2013519928.tif 000008
【図７】
2013519928.tif 000009
【図８】
2013519928.tif 000010
【図９】
2013519928.tif 000011
【図１０】
2013519928.tif 000012
【図１１】
2013519928.tif 000013
【図１２】
2013519928.tif 000014
【図１３】
2013519928.tif 000015
【図１４】
2013519928.tif 000016
【図１５】
2013519928.tif 000017
【図１６】
2013519928.tif 000018
【図１７】
2013519928.tif 000019
【国際調査報告】
2013519928.tif 000020