(57)【特許請求の範囲】
【請求項１】
Ｗｅｂブラウザを備え、Ｗｅｂサーバーおよびデバイスと接続されたデバイス制御装置であって、
前記Ｗｅｂブラウザを用いて、前記Ｗｅｂサーバーから、Ｗｅｂページと、前記デバイスを制御するためのデバイス制御スクリプトを取得するＷｅｂページ取得部と、
前記Ｗｅｂブラウザを用いて、取得した前記Ｗｅｂページを表示し、前記デバイス制御スクリプトを実行するＷｅｂページ表示部と、
前記デバイス制御スクリプトを用いて、当該デバイス制御スクリプトの文字コードであるスクリプト文字コードを、前記デバイス用の文字コードであるデバイス文字コードに変換する文字コード変換部と、
前記デバイス制御スクリプトを用いて、変換後の前記デバイス文字コードを含むコマンドを、前記デバイスに送信するコマンド送信部と、
前記デバイス制御スクリプトを用いて、前記デバイスから応答情報を受信する応答情報受信部と、
前記デバイス制御スクリプトを用いて、前記応答情報に含まれる前記デバイス文字コードを前記スクリプト文字コードに変換する文字コード逆変換部と、を備えたことを特徴とするデバイス制御装置。
【請求項２】
前記文字コード変換部は、文字コード変換テーブルを参照してコード変換を行い、
前記デバイス制御スクリプトを用いて、前記文字コード変換テーブルを作成するテーブル作成部をさらに備えたことを特徴とする請求項１に記載のデバイス制御装置。
【請求項３】
前記テーブル作成部は、前記スクリプト文字コードを前記デバイス文字コード順に格納したデバイス文字列に含まれる各文字と、当該デバイス文字列の各文字の格納位置に基づいて算出した前記デバイス文字コードと、を対応付けて、前記文字コード変換テーブルを作成することを特徴とする請求項２に記載のデバイス制御装置。
【請求項４】
前記文字コード変換テーブルは、連想配列の添え字と要素の値、若しくはオブジェクトのプロパティの名称とプロパティの値、の対応関係を記憶していることを特徴とする請求項３に記載のデバイス制御装置。
【請求項５】
前記文字コード逆変換部は、前記デバイス文字列から、前記デバイス文字コードに基づいて算出した格納位置に存在する前記スクリプト文字コードを取り出すことにより、コード変換を行うことを特徴とする請求項３または４に記載のデバイス制御装置。
【請求項６】
前記デバイスは、印刷装置であり、
前記デバイス制御スクリプトは、印刷制御スクリプトであることを特徴とする請求項１ないし５のいずれか１項に記載のデバイス制御装置。
【請求項７】
請求項１ないし６のいずれか１項に記載のデバイス制御装置と、
前記Ｗｅｂサーバーと、
前記デバイスと、を備えたことを特徴とするデバイス制御システム。
【請求項８】
Ｗｅｂブラウザを用いたデバイス制御方法であって、
前記Ｗｅｂブラウザが、
Ｗｅｂサーバーから、Ｗｅｂページと、デバイスを制御するためのデバイス制御スクリプトを取得するＷｅｂページ取得ステップと、
取得した前記Ｗｅｂページを表示し、前記デバイス制御スクリプトを実行するＷｅｂページ表示ステップと、を実行し、
前記デバイス制御スクリプトが、
前記デバイス制御スクリプトの文字コードであるスクリプト文字コードを、前記デバイス用の文字コードであるデバイス文字コードに変換する文字コード変換ステップと、
変換後の前記デバイス文字コードを含むコマンドを、前記デバイスに送信するコマンド送信ステップと、
前記デバイスから応答情報を受信する応答情報受信ステップと、
前記応答情報に含まれる前記デバイス文字コードを前記スクリプト文字コードに変換する文字コード逆変換ステップと、を実行することを特徴とするデバイス制御方法。
【請求項９】
前記文字コード変換ステップは、文字コード変換テーブルを参照してコード変換を行い、
前記デバイス制御スクリプトは、前記文字コード変換テーブルを作成するテーブル作成ステップをさらに実行することを特徴とする請求項８に記載のデバイス制御方法。
【請求項１０】
前記テーブル作成ステップは、前記スクリプト文字コードを前記デバイス文字コード順に格納したデバイス文字列に含まれる各文字と、当該デバイス文字列の各文字の格納位置に基づいて算出した前記デバイス文字コードと、を対応付けて、前記文字コード変換テーブルを作成することを特徴とする請求項９に記載のデバイス制御方法。
【請求項１１】
前記文字コード変換テーブルは、連想配列の添え字と要素の値、若しくはオブジェクトのプロパティの名称とプロパティの値、の対応関係を記憶していることを特徴とする請求項１０に記載のデバイス制御方法。
【請求項１２】
前記文字コード逆変換ステップは、前記デバイス文字列から、前記デバイス文字コードに基づいて算出した格納位置に存在する前記スクリプト文字コードを取り出すことにより、コード変換を行うことを特徴とする請求項１０または１１に記載のデバイス制御方法。
【請求項１３】
コンピューターに、請求項８ないし１２のいずれか１項に記載のデバイス制御方法における前記文字コード変換ステップおよび前記コマンド送信ステップを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイスドライバーを用いることなくデバイスを動作させることができるデバイス制御装置、デバイス制御システム、デバイス制御方法およびプログラムに関する。
【背景技術】
【０００２】
従来、この種の技術として、アプリケーションの実行要求を行うクライアント端末と、アプリケーションを実行するアプリケーション実行サーバーと、クライアント端末の印刷指令に基づいて印刷を行う印刷装置と、印刷装置を制御する印刷制御サーバーと、がネットワーク接続された印刷制御システムが知られている（特許文献１参照）。当該印刷制御システムでは、印刷制御サーバーが印刷装置のドライバー（以下、「印刷ドライバー」と称する）として機能するため、クライアント端末に印刷ドライバーをインストールすることなく、印刷装置を動作させることができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１５７４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上記特許文献１の印刷制御システムでは、印刷制御サーバーによって、アプリケーション実行サーバーで用いられる汎用文字コードを、印刷装置用の文字コードに変換している。このため、クライアント端末と印刷制御サーバー間がオフラインの場合、印刷装置を制御することができない。また、文字コードの変換を、印刷装置側で行うことも考えられるが、高い処理能力を必要とするため、適用可能な印刷装置が限られてしまう。
【０００５】
本発明は、上記の問題点に鑑み、ネットワークが切断された状況でもデバイスの制御が可能であり、且つ簡易な構成で文字コード変換を行い得るデバイス制御装置、デバイス制御システム、デバイス制御方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明のデバイス制御装置は、Ｗｅｂブラウザを備え、Ｗｅｂサーバーおよびデバイスと接続されたデバイス制御装置であって、Ｗｅｂブラウザを用いて、Ｗｅｂサーバーから、Ｗｅｂページと、デバイスを制御するためのデバイス制御スクリプトを取得するＷｅｂページ取得部と、Ｗｅｂブラウザを用いて、取得したＷｅｂページを表示し、デバイス制御スクリプトを実行するＷｅｂページ表示部と、デバイス制御スクリプトを用いて、当該デバイス制御スクリプトの文字コードであるスクリプト文字コードを、デバイス用の文字コードであるデバイス文字コードに変換する文字コード変換部と、デバイス制御スクリプトを用いて、変換後のデバイス文字コードを含むコマンドを、デバイスに送信するコマンド送信部と、デバイス制御スクリプトを用いて、デバイスから応答情報を受信する応答情報受信部と、デバイス制御スクリプトを用いて、応答情報に含まれるデバイス文字コードをスクリプト文字コードに変換する文字コード逆変換部と、を備えたことを特徴とする。
上記のデバイス制御装置において、文字コード変換部は、文字コード変換テーブルを参照してコード変換を行い、デバイス制御スクリプトを用いて、文字コード変換テーブルを作成するテーブル作成部をさらに備えたことを特徴とする。
上記のデバイス制御装置において、テーブル作成部は、スクリプト文字コードをデバイス文字コード順に格納したデバイス文字列に含まれる各文字と、当該デバイス文字列の各文字の格納位置に基づいて算出したデバイス文字コードと、を対応付けて、文字コード変換テーブルを作成することを特徴とする。
上記のデバイス制御装置において、文字コード変換テーブルは、連想配列の添え字と要素の値、若しくはオブジェクトのプロパティの名称とプロパティの値、の対応関係を記憶していることを特徴とする。
上記のデバイス制御装置において、文字コード逆変換部は、デバイス文字列から、デバイス文字コードに基づいて算出した格納位置に存在するスクリプト文字コードを取り出すことにより、コード変換を行うことを特徴とする。
上記のデバイス制御装置において、デバイスは、印刷装置であり、デバイス制御スクリプトは、印刷制御スクリプトであることを特徴とする。
本発明のデバイス制御システムは、上記のデバイス制御装置と、Ｗｅｂサーバーと、デバイスと、を備えたことを特徴とする。
本発明のデバイス制御方法は、Ｗｅｂブラウザを用いたデバイス制御方法であって、Ｗｅｂブラウザが、Ｗｅｂサーバーから、Ｗｅｂページと、デバイスを制御するためのデバイス制御スクリプトを取得するＷｅｂページ取得ステップと、取得したＷｅｂページを表示し、デバイス制御スクリプトを実行するＷｅｂページ表示ステップと、を実行し、デバイス制御スクリプトが、デバイス制御スクリプトの文字コードであるスクリプト文字コードを、デバイス用の文字コードであるデバイス文字コードに変換する文字コード変換ステップと、変換後のデバイス文字コードを含むコマンドを、デバイスに送信するコマンド送信ステップと、デバイスから応答情報を受信する応答情報受信ステップと、応答情報に含まれるデバイス文字コードをスクリプト文字コードに変換する文字コード逆変換ステップと、を実行することを特徴とする。
上記のデバイス制御方法において、文字コード変換ステップは、文字コード変換テーブルを参照してコード変換を行い、デバイス制御スクリプトは、文字コード変換テーブルを作成するテーブル作成ステップをさらに実行することを特徴とする。
上記のデバイス制御方法において、テーブル作成ステップは、スクリプト文字コードをデバイス文字コード順に格納したデバイス文字列に含まれる各文字と、当該デバイス文字列の各文字の格納位置に基づいて算出したデバイス文字コードと、を対応付けて、文字コード変換テーブルを作成することを特徴とする。
上記のデバイス制御方法において、文字コード変換テーブルは、連想配列の添え字と要素の値、若しくはオブジェクトのプロパティの名称とプロパティの値、の対応関係を記憶していることを特徴とする。
上記のデバイス制御方法において、文字コード逆変換ステップは、デバイス文字列から、デバイス文字コードに基づいて算出した格納位置に存在するスクリプト文字コードを取り出すことにより、コード変換を行うことを特徴とする。
本発明のプログラムは、コンピューターに、上記のデバイス制御方法における文字コード変換ステップおよびコマンド送信ステップを実行させることを特徴とする。
なお、以下の構成としても良い。
本発明のデバイス制御装置は、標準のＷｅｂブラウザを備え、Ｗｅｂサーバーおよびデバイスと接続されたデバイス制御装置であって、Ｗｅｂブラウザを用いて、Ｗｅｂサーバーから、Ｗｅｂページと、デバイスを制御するためのデバイス制御スクリプトを取得するＷｅｂページ取得部と、Ｗｅｂブラウザを用いて、取得したＷｅｂページを表示し、デバイス制御スクリプトを実行するＷｅｂページ表示部と、デバイス制御スクリプトを用いて、当該デバイス制御スクリプトの文字コードであるスクリプト文字コードを、デバイス用の文字コードであるデバイス文字コードに変換する文字コード変換部と、デバイス制御スクリプトを用いて、変換後のデバイス文字コードを含むコマンドを、デバイスに送信するコマンド送信部と、を備えたことを特徴とする。
【０００７】
本発明のデバイス制御方法は、標準のＷｅｂブラウザを用いたデバイス制御方法であって、Ｗｅｂブラウザが、Ｗｅｂサーバーから、Ｗｅｂページと、デバイスを制御するためのデバイス制御スクリプトを取得するＷｅｂページ取得ステップと、取得したＷｅｂページを表示し、デバイス制御スクリプトを実行するＷｅｂページ表示ステップと、を実行し、デバイス制御スクリプトが、デバイス制御スクリプトの文字コードであるスクリプト文字コードを、デバイス用の文字コードであるデバイス文字コードに変換する文字コード変換ステップと、変換後のデバイス文字コードを含むコマンドを、デバイスに送信するコマンド送信ステップと、を実行することを特徴とする。
【０００８】
これらの構成によれば、プラグインやデバイスドライバーを必要とすることなく、標準のＷｅｂブラウザ（プラグインをサポートしていないノンプラグインＷｅｂブラウザ）で実行可能なデバイス制御スクリプトを用いて文字コードの変換を行うことができる。これにより、デバイス側で文字コード変換を行う必要がないため、高機能ではないデバイスを用いることができる。また、標準のＷｅｂブラウザを搭載した端末（スマートフォンやタブレット端末など）に、本発明を適用できる。また、デバイスドライバーが不要であるため、文字コード変換ライブラリーを、ハードウェアやＯＳ（Operating  System）ごとに用意する必要がなく、開発コストを削減できる。さらに、Ｗｅｂブラウザ（デバイス制御装置）にて文字コードの変換を行うため、Ｗｅｂサーバーとのネットワークがオフラインの場合でもデバイスを制御できる。特に、デバイス制御装置がオフライン状態でＷｅｂページを動作可能な機能（オフラインアプリケーション機能）を有している場合、Ｗｅｂサーバーに依存しない文字コード変換機能が役立つ。
【０００９】
上記のデバイス制御装置において、文字コード変換部は、文字コード変換テーブルを参照してコード変換を行い、デバイス制御スクリプトを用いて、文字コード変換テーブルを作成するテーブル作成部をさらに備えたことを特徴とする。
【００１０】
この構成によれば、文字コード変換テーブルを用いるため、少ない演算量でコード変換を行うことができる。また、テーブル作成部を備えているため、デバイスの文字コードセット（キャラクタセット）の種類に応じて、文字コード変換テーブルを作成することができる。つまり、種々の文字コードセットに対応できるため、デバイスの選択肢が広がる。
【００１１】
上記のデバイス制御装置において、テーブル作成部は、スクリプト文字をデバイス文字コード順に格納したデバイス文字列に含まれる各文字と、当該デバイス文字列の各文字の格納位置に基づいて算出したデバイス文字コードと、を対応付けて、文字コード変換テーブルを作成することを特徴とする。
【００１２】
この構成によれば、文字コード変換テーブルを「デバイス文字コード順に格納したデバイス文字列」で管理するため、デバイスの機種に合わせて、文字を容易に追加・削除することができる。つまり、デバイスの仕様書に記載される文字コード表の文字の順序は、デバイスの文字コード体系に従っているため、新しい機種に対応する場合など、その機種の仕様書を参照することで、「デバイス文字コード順に格納したデバイス文字列」を容易に作成することができる。
【００１３】
上記のデバイス制御装置において、文字コード変換テーブルは、連想配列の添え字と要素の値、若しくはオブジェクトのプロパティの名称とプロパティの値、の対応関係を記憶していることを特徴とする。
【００１４】
この構成によれば、スクリプトファイルを小容量とすることができる。これにより、大容量且つ複雑な処理を行うデバイス制御スクリプトを必要としないため、Ｗｅｂページの更新速度の低下や、ユーザーの操作に対する応答速度の低下を防ぐことができる。
【００１５】
上記のデバイス制御装置において、デバイス制御スクリプトを用いて、デバイスから応答情報を受信する応答情報受信部と、デバイス制御スクリプトを用いて、応答情報に含まれるデバイス文字コードをスクリプト文字コードに変換する文字コード逆変換部と、をさらに備えたことを特徴とする。
【００１６】
この構成によれば、デバイスから送信された応答情報（ステータスやエラー等）をスクリプト文字コードに逆変換するため、Ｗｅｂページに表示してユーザーに通知したり、メンテナンスや再操作の方法を促したりすることができる。また、Ｗｅｂサーバー等に、システムの稼働状況（動作ログ）を記録するためにも利用できる。
【００１７】
上記のデバイス制御装置において、文字コード逆変換部は、デバイス文字列から、デバイス文字コードに基づいて算出した格納位置に存在するスクリプト文字コードを取り出すことにより、コード変換を行うことを特徴とする。
【００１８】
この構成によれば、逆変換を行うための文字コード変換テーブルの記述を省略できるため、スクリプトファイルの容量をさらに小さくすることができる。
【００１９】
上記のデバイス制御装置において、デバイスは、印刷装置であり、デバイス制御スクリプトは、印刷制御スクリプトであることを特徴とする。
【００２０】
この構成によれば、本発明を、印刷装置を制御するための装置に適用できる。
【００２１】
本発明のデバイス制御システムは、上記のデバイス制御装置と、Ｗｅｂサーバーと、デバイスと、を備えたことを特徴とする。
【００２２】
本発明のプログラムは、コンピューターに、上記のデバイス制御方法における文字コード変換ステップおよびコマンド送信ステップを実行させることを特徴とする。
【００２３】
これらの構成によれば、ネットワークが切断された状況でもデバイス制御が可能であり、且つ簡易な構成で文字コード変換を行い得るデバイス制御システムおよびデバイス制御方法を実現できる。
【図面の簡単な説明】
【００２４】
【図１】本発明の一実施形態に係る印刷制御システムのシステム構成図である。
【図２】印刷制御システムの機能ブロック図である。
【図３】印刷装置文字列の一例、並びに印刷装置文字列に含まれる各文字と印刷装置文字コードの対応付けの一例を示す説明図である。
【図４】印刷処理を示すフローチャートである。
【図５】文字コード変換テーブル作成処理を示すフローチャートである。
【図６】文字コード変換処理（順方向変換処理，逆方向変換処理）を示すフローチャートである。
【発明を実施するための形態】
【００２５】
以下、添付の図面を参照して、本実施形態に係るデバイス制御装置、デバイス制御システム、デバイス制御方法およびプログラムについて説明する。本実施形態では、クライアント端末に専用の印刷ドライバーをインストールすることなく、Ｗｅｂブラウザを用いて印刷装置を動作させることができる印刷制御システムを例示する。
【００２６】
図１は、印刷制御システムＳＹ（デバイス制御システム）のシステム構成図である。同図に示すように、印刷制御システムＳＹは、Ｗｅｂサーバー１と、クライアント端末２（デバイス制御装置）と、印刷装置３（デバイス）と、から成る。Ｗｅｂサーバー１とクライアント端末２は、インターネット等のネットワークを介して接続される。また、クライアント端末２と印刷装置３は、有線／無線ＬＡＮ等のネットワークを介して接続される。クライアント端末２は、例えば小売店のレジカウンターに設置されるＰＯＳ（Point  Of  Sales）端末であり、印刷装置３は、会計レシートを発行するレシートプリンターである。
【００２７】
なお、図１のシステム構成図では、Ｗｅｂサーバー１、クライアント端末２および印刷装置３が、それぞれ１台ずつの構成を示したが、これに限るものではなく、１台のＷｅｂサーバー１に対して複数台のクライアント端末２が接続されたり、１台のクライアント端末２に対して複数台の印刷装置３が接続されたりする構成であっても良い。
【００２８】
Ｗｅｂサーバー１は、制御部１１、通信部１２および記憶部１３の他、一般的なコンピューターに搭載されるハードウェア構成を有している。制御部１１は、ＣＰＵ（Central  Processing  Unit）、ＲＯＭ（Read  Only  Memory）およびＲＡＭ（Random  Access  Memory）等により構成される。記憶部１３は、例えばＨＤＤ（Hard  Disk  Drive）であり、ＨＴＴＰサーバー１５およびＷｅｂアプリケーション１６を記憶している。
【００２９】
通信部１２は、クライアント端末２（Ｗｅｂブラウザ２７）と通信を行なうためのインターフェースである。このＷｅｂサーバー１とクライアント端末２との通信は、ＨＴＴＰサーバー１５によりＨＴＴＰ（Hypertext  Transfer  Protocol）に基づいて行なわれる。すなわち、Ｗｅｂサーバー１は、クライアント端末２（Ｗｅｂブラウザ２７）からのＨＴＴＰリクエストを受け付け、このＨＴＴＰリクエストに含まれるＵＲＬ（Uniform  Resource  Locator）に基づいて、Ｗｅｂアプリケーション１６が提供するＷｅｂページ４０をクライアント端末２に送信する。
【００３０】
なお、詳細は後述するが、このＷｅｂページ４０には、Ｗｅｂページ４０自体を制御するためのページ制御スクリプト４１（JavaScript（登録商標））と、印刷制御を行うための印刷制御スクリプト４２（JavaScript（登録商標））が組み込まれている。クライアント端末２は、Ｗｅｂブラウザ２７において（Ｗｅｂページ４０の内部で）印刷制御スクリプト４２を実行することにより、印刷処理を行う。
【００３１】
印刷装置３は、制御部３１、通信部３２、記憶部３３および印刷機構３４を備えている。制御部３１は、ＣＰＵ等を有し、印刷装置３全体を制御する。記憶部３３は、例えば不揮発性メモリー（フラッシュＲＯＭ等）であり、ＨＴＴＰサーバー３６を記憶している。
【００３２】
印刷機構３４は、印刷ヘッド、用紙送り機構、用紙切断機構などを含み、制御部３１の制御下で印刷動作を行う。なお、印刷方式は、インクジェット方式やレーザー方式など、その種類を問わない。
【００３３】
通信部３２は、クライアント端末２（Ｗｅｂブラウザ２７）と通信を行なうためのインターフェースである。この印刷装置３とクライアント端末２（Ｗｅｂブラウザ２７）との通信は、ＨＴＴＰサーバー３６によりＨＴＴＰに基づいて行われる。すなわち、クライアント端末２から、印刷装置３に割り当てられたサービスエンドポイントアドレス（http://x.x.x.x/などのＵＲＩ（Uniform  Resource  Identifier））に対して印刷データが送信されると、印刷装置３は当該印刷データを受信し、当該印刷データに基づいて、印刷機構３４により印刷を実行する。
【００３４】
クライアント端末２は、制御部２１、表示部２２、通信部２３、記憶部２４および操作部２５を備えている。制御部２１は、ＣＰＵ等を有し、クライアント端末２全体を制御する。
【００３５】
表示部２２は、Ｗｅｂブラウザ２７上に、当該Ｗｅｂブラウザ２７により取得（ダウンロード）したＷｅｂページ４０を表示したり、Ｗｅｂブラウザ２７の操作に伴う各種通知画面や各種設定画面を表示する。操作部２５は、Ｗｅｂブラウザ２７で表示したＷｅｂページ４０において、印刷指示等の各種操作を行うために用いられる。なお、表示部２２と操作部２５は、別々のハードウェアとして構成しても良いし、タッチパネルとして一体に構成しても良い。
【００３６】
通信部２３は、Ｗｅｂサーバー１および印刷装置３と通信を行なうためのインターフェースである。上述のとおり、クライアント端末２は、Ｗｅｂブラウザ２７を用いて、Ｗｅｂサーバー１および印刷装置３と通信を行なう。
【００３７】
記憶部２４は、例えばＨＤＤであり、Ｗｅｂブラウザ２７を記憶している。このＷｅｂブラウザ２７は、プラグインモジュールをサポートしない単機能ブラウザ（標準のブラウザ）である。制御部２１は、このＷｅｂブラウザ２７により、通信部２３を介してＷｅｂサーバー１にアクセスし、Ｗｅｂアプリケーション１６が提供するＷｅｂページ４０を取得する。
【００３８】
Ｗｅｂページ４０には、上述のとおり、ページ制御スクリプト４１および印刷制御スクリプト４２が組み込まれている。Ｗｅｂブラウザ２７が、Ｗｅｂページ４０に組み込まれたページ制御スクリプト４１によりユーザーの印刷指示操作（印刷ボタンの押下等）を受付けると、同じくＷｅｂページ４０に組み込まれた印刷制御スクリプト４２を実行して文字コード変換処理を行い、印刷データを生成して、印刷装置３に（印刷装置３のサービスエンドポイントに対し）送信する。この印刷データの送信先となる印刷装置３のサービスエンドポイントアドレスは、印刷制御スクリプト４２内で指定されている。
【００３９】
なお、上記クライアント端末２は、Ｗｅｂブラウザ２７が動作するコンピューターであれば良く、例えば、スマートフォンやタブレット端末、パーソナルコンピューターなど、その種類を問わない。
【００４０】
次に、図２を参照し、印刷制御システムＳＹの機能構成（主に、Ｗｅｂブラウザ２７および印刷制御スクリプト４２によって実現される機能）について説明する。同図（ａ）は、Ｗｅｂブラウザ２７の機能ブロック図である。Ｗｅｂブラウザ２７は、主な機能構成として、Ｗｅｂページ取得部５１およびＷｅｂページ表示部５２を備えている。
【００４１】
Ｗｅｂページ取得部５１は、Ｗｅｂサーバー１（Ｗｅｂアプリケーション１６）にアクセスし、対象となるＷｅｂページ４０（ページ制御スクリプト４１および印刷制御スクリプト４２が組み込まれたＷｅｂページ４０）を取得する。
【００４２】
なお、Ｗｅｂページ４０と印刷制御スクリプト４２は、同時に取得するのではなく、個別に取得しても良い。また、先に取得したＷｅｂページ４０に、後から取得した印刷制御スクリプト４２を動的に組み込んでも良い。また、Ｗｅｂページ４０と印刷制御スクリプト４２を個別に取得する場合、Ｗｅｂページ４０の取得元となるＷｅｂサーバー１と、印刷制御スクリプト４２の取得元となるＷｅｂサーバー１は、必ずしも同一でなくても良い。
【００４３】
Ｗｅｂページ表示部５２は、Ｗｅｂページ４０を表示し、当該Ｗｅｂページ４０に組み込まれたページ制御スクリプト４１および印刷制御スクリプト４２を実行する。
【００４４】
一方、図２（ｂ）は、印刷制御スクリプト４２の機能ブロック図である。印刷制御スクリプト４２は、主な機能構成として、テーブル作成部６１、文字コード変換部６２、コマンド送信部６３、応答情報受信部６４および文字コード逆変換部６５を備えている。
【００４５】
テーブル作成部６１は、文字コード変換処理を行うための文字コード変換テーブル７０を作成する（文字コード変換テーブル作成処理，図５参照）。具体的には、印刷制御スクリプト４２の文字コードであるスクリプト文字コード（Unicode（登録商標）などの汎用文字コード）を、印刷装置３用の文字コードである印刷装置文字コード（デバイス文字コード）順に格納することにより、文字コード変換テーブル７０を作成する。なお、以下の説明では、スクリプト文字コードを印刷装置文字コード順に配列したものを、「印刷装置文字列（デバイス文字列）」と称する。つまり、文字コード変換テーブル７０は、印刷装置文字列に含まれる各文字と、当該印刷装置文字列の各文字の格納位置に基づいて算出した印刷装置文字コードと、を対応付けたものである。
【００４６】
図３（ａ）は、印刷装置文字列の一例を示す説明図である。同図パターン１では、ＡＮＫの文字コード順に並んだUnicode（登録商標）文字列を、印刷装置文字列とした例を示している。つまり、同図四角枠内に示す文字列が、印刷装置文字列である。また、同図パターン２では、シフトＪＩＳの文字コード順に並んだUnicode（登録商標）文字列を、印刷装置文字列とした例を示している。このように、印刷装置文字列は、文字コードセットの種類に応じて記述される。
【００４７】
また、文字コード変換テーブル７０は、連想配列の添え字と要素の値、若しくはオブジェクトのプロパティの名称とプロパティの値、の対応関係を記憶している。図３（ｂ）は、印刷装置文字列に含まれる各文字と、印刷装置文字コードの対応付けの一例を示す説明図である。同図パターン１では、Unicode（登録商標）文字列が「ａウムラウト」の場合の、連想配列による対応付けを示している。同例において、符号８１は連想配列、符号８２は連想配列の添え字、符号８３は連想配列の要素を示している。また、同図パターン２では、Unicode（登録商標）文字列が「ａウムラウト」の場合の、オブジェクトのプロパティによる対応付けを示している。同例において、符号８５はオブジェクト、符号８６はオブジェクトのプロパティの名称、符号８７はオブジェクトのプロパティの値を示している。
【００４８】
なお、テーブル作成部６１は、作成した文字コード変換テーブル７０を、ＷｅｂストレージなどのＡＰＩ（Application  Program  Interface）を使用してストレージオブジェクトに保存する。これにより、同一ドメインにあるＷｅｂページ４０を表示する場合、その文字コード変換テーブル７０が消去されないため（Ｗｅｂストレージに保存されるため）、Ｗｅｂページ４０を表示するたびに文字コード変換テーブル７０を作成する必要がない。つまり、テーブル作成部６１は、初めてＷｅｂページ４０を表示したときのみ、文字コード変換テーブル７０を作成する。
【００４９】
図２の説明に戻る。文字コード変換部６２は、文字コード変換テーブル７０を参照し、スクリプト文字コードを印刷装置文字コードに変換する（順方向変換処理，図６（ａ）参照）。コマンド送信部６３は、変換後の印刷装置文字コードを含むコマンド（例えば、印刷装置文字コードにＥＳＣ／ＰＯＳコマンドを付加したもの）を、印刷装置３に送信する。
【００５０】
応答情報受信部６４は、印刷装置３から、ステータスやエラー情報を含む応答情報を受信する。文字コード逆変換部６５は、応答情報に含まれる印刷装置文字コードをスクリプト文字コードに変換する（逆方向変換処理，図６（ｂ）参照）。具体的には、文字コード変換テーブル７０（印刷装置文字列）から、印刷装置文字コードに基づいて算出した格納位置に存在するスクリプト文字コードを取り出すことにより、コード変換を行う。
【００５１】
次に、図４のフローチャートを参照し、印刷処理の一連の流れについて説明する。クライアント端末２（Ｗｅｂブラウザ２７）は、Ｗｅｂサーバー１からＷｅｂページ４０を取得すると（Ｓ０１）、これを表示部２２に表示し、印刷制御スクリプト４２を実行する（Ｓ０２）。印刷制御スクリプト４２は、初めて表示したＷｅｂページ４０であるか否かを判別し（Ｓ０３）、初めてであると判定した場合は（Ｓ０３：Ｙｅｓ）、文字コード変換テーブル作成処理を行う（Ｓ０４）。一方、初めてではないと判定した場合は（Ｓ０３：Ｎｏ）、Ｓ０４を省略し、ユーザーからの印刷指示の有無を判別する（Ｓ０５）。
【００５２】
ユーザーからの印刷指示があった場合は（Ｓ０５：Ｙｅｓ）、順方向変換処理を行う（Ｓ０６）。つまり、スクリプト文字コードを印刷装置文字コードに変換する。また、変換後の印刷装置文字コードを含むコマンドを印刷装置３に送信する（Ｓ０７）。その後、印刷装置３から応答情報を受信し（Ｓ０８）、当該応答情報の逆方向変換処理を行う（Ｓ０９）。つまり、印刷装置文字コードをスクリプト文字コードに変換する。最後に、Ｗｅｂブラウザ２７は、変換後の応答情報（スクリプト文字コード）を、Ｗｅｂページ４０に表示する（Ｓ１０）。これにより、印刷装置３のステータスやエラー情報をユーザーに通知し、レシート用紙の補充など印刷装置３のメンテナンスや、再印刷などの対応を促すことができる。また、Ｓ１０と並行して、変換後の応答情報を、Ｗｅｂサーバー１に通知し、システムの稼働状況（動作ログ）をＷｅｂサーバー１内に記録しても良い。
【００５３】
次に、図５のフローチャートを参照し、文字コード変換テーブル作成処理について説明する。当該フローチャートは、図４のＳ０４に相当するサブフローチャートである。印刷制御スクリプト４２は、スクリプト文字を、印刷装置文字コードのコード順に並べることにより、印刷装置文字列を作成する（Ｓ２１）。つまり、図３（ａ）の四角枠に示したように、印刷装置３に対応する文字コードセット（ＡＮＫ文字コードセット（パターン１）、シフトＪＩＳ文字コードセット（パターン２））に応じた印刷装置文字列（スクリプト文字列）を作成する。
【００５４】
続いて、印刷装置文字列に含まれる各文字と、各文字の格納位置を対応付ける（Ｓ２２）。つまり、各文字のインデックス（印刷装置文字列内における順位）に０ｘ８０を加算したものを、各文字の格納位置として対応付ける。最後に、Ｓ２２の対応付け結果を、文字コード変換テーブル７０に格納する（Ｓ２３）。「対応付け結果」とは、図３（ｂ）の四角枠に示したような、連想配列の添え字と要素の値の対応付け（パターン１）、若しくはオブジェクトのプロパティの名称とプロパティの値の対応付け（パターン２）を指す。
【００５５】
次に、図６のフローチャートを参照し、文字コード変換処理について説明する。図６（ａ）に示す順方向変換処理は、図４のＳ０６に相当するサブフローチャートである。印刷制御スクリプト４２は、変換対象となるスクリプト文字を取得すると（Ｓ３１）、当該スクリプト文字を、取得したスクリプト文字の格納位置に対応する印刷装置文字コードに変換する（Ｓ３２）。例えば、印刷装置文字列として、図３（ａ）のパターン１に示すスクリプト文字列を作成した場合であって、スクリプト文字「ａウムラウト」を取得した場合、印刷装置文字列の中で４番目に位置するため、印刷装置文字コード「０ｘ８４（４番目＋０ｘ８０＝０ｘ８４）」に変換する。
【００５６】
一方、図６（ｂ）は、逆方向変換処理を示すフローチャートであり、図４のＳ０９に相当する。印刷制御スクリプト４２は、変換対象となる印刷装置文字コード（応答情報）を取得すると（Ｓ４１）、当該印刷装置文字コードを、その格納位置に格納されているスクリプト文字に変換する（Ｓ４２）。例えば、印刷装置文字列として、図３（ａ）のパターン１に示すスクリプト文字列を作成した場合であって、印刷装置文字コード「０ｘ８４」を取得した場合は、印刷装置文字列の中の４番目（０ｘ８４−０ｘ８０＝４番目）のスクリプト文字「ａウムラウト」に変換する。
【００５７】
以上説明したとおり、本実施形態によれば、プラグインや印刷ドライバーを用いることなく、標準のＷｅｂブラウザ２７で実行可能な印刷制御スクリプト４２を用いて、文字コードの変換を行うことができる。これにより、プラグインをサポートしていないＷｅｂブラウザ２７を搭載した端末において、簡易なコード変換を実現できる。また、印刷ドライバーが不要であるため、文字コード変換ライブラリーを、ハードウェアやＯＳごとに用意する必要がなく、開発コストを削減できる。さらに、Ｗｅｂブラウザ２７にて文字コードの変換を行うため、Ｗｅｂサーバー１とのネットワークが切断された状態場合でも、印刷装置３を制御することができる。特に、クライアント端末２が、オフライン状態でＷｅｂページ４０を動作可能なＡＰＩをサポートしている場合、Ｗｅｂサーバー１にアクセスすることなくコード変換を行い得るため、本発明の適用が有用である。また、Ｗｅｂブラウザ２７にてコード変換を行うため、印刷装置３のスペックを問わない（低スペックの印刷装置３でも導入できる）。
【００５８】
また、印刷制御スクリプト４２は、テーブル作成機能を有しているため、印刷装置３の文字コードセットに応じた文字コード変換テーブル７０を作成することができる。また、文字コード変換テーブル７０は、スクリプト文字を印刷装置文字コード順に格納した印刷装置文字列で管理するため、印刷装置３の機種に合わせて、文字を容易に追加・削除することができる。また、文字コード変換テーブル７０を用いることで、１文字の文字コード変換処理（順方向変換処理および逆方向変換処理）に必要な計算量を、最良の場合でオーダーＯ（１）とすることができる。つまり、本実施形態では、データ量＝文字コード変換テーブル７０の文字数、計算量＝文字コード変換に必要な処理ステップであり、文字コード変換テーブル７０の文字数が増えても、文字コード変換に必要な処理ステップは増えない。したがって、文字コード変換テーブル７０の文字数が増えても、Ｗｅｂページ４０の更新速度が低下したり、ユーザーの操作に対する応答速度が低下したりする虞がない。
【００５９】
また、印刷制御スクリプト４２は、印刷装置３から送信された応答情報の逆変換機能も有しているため、応答情報をＷｅｂページ４０に表示してユーザーに通知したり、メンテナンスや再操作の方法を促したりすることができる。また、逆変換する際も文字コード変換テーブル７０を利用できるため（順方向変換処理と逆方向変換処理で２種類の変換テーブルを必要としないため）、スクリプトファイルの更なる小容量化を図ることができる。
【００６０】
なお、上記の実施形態において、テーブル作成部６１は、初めてＷｅｂページ４０を表示したときだけ文字コード変換テーブル７０を作成したが、Ｗｅｂページ４０を表示する都度、文字コード変換テーブル７０を作成しても良い。この構成によれば、Ｗｅｂストレージなど、データをＷｅｂブラウザ２７に保存する機能を有しない場合でも、支障なく動作させることができる。すなわち、Ｗｅｂページ４０を移動または更新すると、Ｗｅｂブラウザ２７がスクリプトの実行を中止し、スクリプトの実行状態や変数を破棄するが、Ｗｅｂページ４０の表示ごとに文字コード変換テーブル７０を作成するため、問題はない。
【００６１】
また、上記に示した印刷制御システムＳＹの各構成要素（Ｗｅｂブラウザ２７、印刷制御スクリプト４２など）をプログラムとして提供することが可能である。また、そのプログラムを各種記録媒体（ＣＤ−ＲＯＭ、フラッシュメモリ等）に格納して提供することも可能である。すなわち、コンピューターを印刷制御システムＳＹの各構成要素として機能させるためのプログラム、およびそれを記録した記録媒体も、本発明の権利範囲に含まれる。
【００６２】
また、上記の実施形態では、デバイスとして印刷装置３（レシートプリンター）を例示したが、レシートプリンター以外の印刷装置（例えば、ラベルライターなど）にも、本発明を適用可能である。また、印刷装置３以外に、文字コード変換を必要とする種々の電子機器に適用しても良い。例えば、表示装置を備えた組み込み機器をデバイスとして適用することが考えられる。特に、文字コード変換をデバイス自身で行うことができない低スペック機器への適用が望ましい。主な用途は、設定変更（表示・記録内容の変更）で、クライアント端末２（Ｗｅｂブラウザ２７）を設定用端末として使用する。具体的な適用機器としては、ＰＯＳ（Point  Of  Sales）関連機器の場合、カスタマディスプレー、カードリーダーライター、ハンディスキャナー、電子ＰＯＰ、電子棚札、オーダーディスプレーなどが挙げられる。また、業務用機器の場合、自動販売機、電光掲示板、空調機器、厨房機器、防犯装置などが挙げられる。さらに、民生機器の場合、映像機器、音響機器、デジタル家電（液晶テレビ、レコーダー、デジタルカメラなど）、電話機、時計などが挙げられる。
【００６３】
また、上記の実施形態では、スクリプトの一例として、JavaScript（登録商標）を例示したが、これ以外の各種プログラミング言語を用いた場合でも本発明を適用可能である。その他、本発明の要旨を逸脱しない範囲で、適宜変更が可能である。
【符号の説明】
【００６４】
１…Ｗｅｂサーバー  ２…クライアント端末  ３…印刷装置  １５…ＨＴＴＰサーバー  １６…Ｗｅｂアプリケーション  ２７…Ｗｅｂブラウザ  ４０…Ｗｅｂページ  ４２…印刷制御スクリプト  ５１…Ｗｅｂページ取得部  ５２…Ｗｅｂページ表示部  ６１…テーブル作成部  ６２…文字コード変換部  ６３…コマンド送信部  ６４…応答情報受信部  ６５…文字コード逆変換部  ７０…文字コード変換テーブル  ＳＹ…印刷制御システム
【図１】
0005903871.tif 000002
【図２】
0005903871.tif 000003
【図３】
0005903871.tif 000004
【図４】
0005903871.tif 000005
【図５】
0005903871.tif 000006
【図６】
0005903871.tif 000007