(57)【特許請求の範囲】
【請求項１】
記録対象データに対応する汎用文字コードセットの文字コードを、記録装置が対応する第１の文字コードセットの文字コードに変換する第１のコード変換手段と、
前記汎用文字コードセットの文字コードを、前記記録装置が対応する第２の文字コードセットの文字コードに変換する第２のコード変換手段と、
前記第１のコード変換手段による前記第１の文字コードセットの文字コードへの変換が成功した場合に、前記第１のコード変換手段で変換された前記第１の文字コードセットの文字コードに対応するフォントデータが前記記録装置で対応可能か否かを判定し、対応可能でないと判定した場合に、前記第２のコード変換手段で前記汎用文字コードセットの文字コードを前記第２の文字コードセットの文字コードに変換し、変換した前記第２の文字コードセットの文字コードを前記記録装置に出力する制御手段と、
を備えることを特徴とする記録制御装置。
【請求項２】
前記制御手段は、前記第１のコード変換手段による前記第１の文字コードセットの文字コードへの変換が失敗した場合に、前記第２のコード変換手段で前記汎用文字コードセットの文字コードを前記第２の文字コードセットの文字コードに変換して、変換した前記第２の文字コードセットの文字コードを前記記録装置に出力する請求項１記載の記録制御装置。
【請求項３】
前記第１のコード変換手段で変換される前記第１の文字コードセットの文字コードのうち、対応するフォントデータが前記記録装置に記憶されていない文字コードを示す設定データを記憶する記憶手段を備え、
前記制御手段は、前記記憶手段に記憶された前記設定データに基づいて、前記第１のコード変換手段で変換された前記第１の文字コードセットの文字コードに対応するフォントデータが前記記録装置に記憶されていないと判定した場合に、前記汎用文字コードセットの文字コードを前記第２のコード変換手段で前記第２の文字コードセットの文字コードに変換する請求項１又は２記載の記録制御装置。
【請求項４】
前記第１のコード変換手段による前記第１の文字コードセットの文字コードへの変換は、オペレーティングシステムにより実行され、
前記第１のコード変換手段で変換された前記第１の文字コードセットの文字コードに対応するフォントデータが前記記録装置で対応可能か否かの判定と、前記第２のコード変換手段による前記第２の文字コードセットの文字コードへの変換とは、プリンタードライバーにより実行される請求項１から３のいずれか一項に記載の記録制御装置。
【請求項５】
前記第１の文字コードセットは、マルチバイトコードセットであり、
前記第２の文字コードセットは、１バイトコードセットである請求項１から４のいずれか一項に記載の記録制御装置。
【請求項６】
第１の文字コードセットの文字コードに対応するフォントデータと、第２の文字コードセットの文字コードに対応するフォントデータとを記憶し、前記第１の文字コードセットの一部の文字コードに対応するフォントデータを省略して記憶し、前記フォントデータを使用して文字を記録する記録装置と、
記録対象データに対応する汎用文字コードセットの文字コードを、前記第１の文字コードセットの文字コードに変換する第１のコード変換手段と、
前記汎用文字コードセットの文字コードを、前記第２の文字コードセットの文字コードに変換する第２のコード変換手段と、
前記第１のコード変換手段による前記第１の文字コードセットの文字コードへの変換が成功した場合に、前記第１のコード変換手段で変換された前記第１の文字コードセットの文字コードに対応するフォントデータが前記記録装置で対応可能か否かを判定し、対応可能でないと判定した場合に、前記第２のコード変換手段で前記汎用文字コードセットの文字コードを前記第２の文字コードセットの文字コードに変換し、変換した前記第２の文字コードセットの文字コードを前記記録装置に出力する制御手段と、を備える記録制御装置と、
を備えることを特徴とする記録システム。
【請求項７】
コンピューターで実行される記録制御装置の制御方法であって、
記録対象データに対応する汎用文字コードセットの文字コードを、第１のコード変換手段により、記録装置が対応する第１の文字コードセットの文字コードに変換し、
前記第１のコード変換手段による前記第１の文字コードセットの文字コードへの変換が成功した場合に、前記第１のコード変換手段で変換された前記第１の文字コードセットの文字コードに対応するフォントデータが前記記録装置で対応可能か否かを判定し、対応可能でないと判定した場合に、第２のコード変換手段により、前記汎用文字コードセットの文字コードを前記記録装置が対応する第２の文字コードセットの文字コードに変換し、変換した前記第２の文字コードセットの文字コードを前記記録装置に出力することを特徴とする記録制御装置の制御方法。
【請求項８】
コンピューターを、
記録対象データに対応する汎用文字コードセットの文字コードを、記録装置が対応する第１の文字コードセットの文字コードに変換する第１のコード変換手段と、
前記汎用文字コードセットの文字コードを、前記記録装置が対応する第２の文字コードセットの文字コードに変換する第２のコード変換手段と、
前記第１のコード変換手段による前記第１の文字コードセットの文字コードへの変換が成功した場合に、前記第１のコード変換手段で変換された前記第１の文字コードセットの文字コードに対応するフォントデータが前記記録装置で対応可能か否かを判定し、対応可能でないと判定した場合に、前記第２のコード変換手段により、前記汎用文字コードセットの文字コードを第２の文字コードセットの文字コードに変換して、変換した前記第２の文字コードセットの文字コードを前記記録装置に出力する制御手段として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録媒体に文字を記録する記録装置を制御する記録制御装置、当該記録装置を有する記録システム、記録制御装置の制御方法、及び、プログラムに関する。
【背景技術】
【０００２】
従来、文字の記録に使用するためのフォントデータをＲＯＭ等の記憶媒体に記憶（内蔵）し、記憶したフォントデータに基づいて文字の記録を行う記録装置が知られている（例えば、特許文献１参照）。この種の記録装置は、通常、複数の言語に対応できるように言語毎に複数の文字コードセット（文字コード体系、キャラクターセット）に対応している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−１８３０７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
記録装置に接続される記録制御装置を構成するコンピューターシステムは、近年、Ｕｎｉｃｏｄｅ等の汎用文字コードセットを使用することが多くなっているが、記録装置は依然として従来の文字コードセットを採用することが多い。この場合、記録装置を制御するコンピューター側で、記録する文字コードを、記録装置が用いる文字コードセットの文字コードに変換して記録装置に出力することになる。しかしながら、一つの文字コードセットの文字コードに対応する全てのフォントデータを収容するには記憶容量の大きいメモリーが必要となるため、記録装置が文字コードセットの全てのフォントデータを有しているとは限らない。また、異なる文字コードセット間も含め、全ての文字コードがフォントデータに対し１対１で対応しているとは限らない。このため、記録制御装置が生成した文字コードに対応するフォントデータを記録装置が内蔵していないために、当該文字コードの文字を記録できない可能性があった。
本発明は、上述した事情に鑑みてなされたものであり、記録装置が内蔵するフォントデータに適合した文字コードを記録装置に与えることで、必要な文字を確実に記録させることが可能な記録制御装置、記録システム、記録制御装置の制御方法、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明は、記録対象データに対応する汎用文字コードセットの文字コードを、記録装置が対応する第１の文字コードセットの文字コードに変換する第１のコード変換手段と、前記汎用文字コードセットの文字コードを、前記記録装置が対応する第２の文字コードセットの文字コードに変換する第２のコード変換手段と、前記第１のコード変換手段による前記第１の文字コードセットの文字コードへの変換が成功した場合に、前記第１のコード変換手段で変換された前記第１の文字コードセットの文字コードに対応するフォントデータが前記記録装置で対応可能か否かを判定し、対応可能でないと判定した場合に、前記第２のコード変換手段で前記汎用文字コードセットの文字コードを前記第２の文字コードセットの文字コードに変換し、変換した前記第２の文字コードセットの文字コードを前記記録装置に出力する制御手段とを備えることを特徴とする。
本発明によれば、第１のコード変換手段による第１の文字コードセットの文字コードへの変換が成功した場合に、変換された第１の文字コードセットの文字コードに対応するフォントデータが記録装置で対応可能であるか否かを判定し、記録装置で対応可能ではないと判定した場合に、汎用文字コードセットの文字コードを記録装置が対応する第２の文字コードセットの文字コードに変換して記録装置に出力するので、記録装置が内蔵するフォントデータに適した文字コードを用いて、記録対象データの文字を確実に記録できる。
【０００６】
また、本発明は、上記記録制御装置において、前記制御手段は、前記第１のコード変換手段による前記第１の文字コードセットの文字コードへの変換が失敗した場合に、前記第２のコード変換手段で前記汎用文字コードセットの文字コードを前記第２の文字コードセットの文字コードに変換して、変換した前記第２の文字コードセットの文字コードを前記記録装置に出力する。
本発明によれば、第１のコード変換手段による第１の文字コードセットの文字コードへの変換が失敗した場合に、汎用文字コードセットの文字コードを記録装置が対応する第２の文字コードセットの文字コードに変換して記録装置に出力するので、記録装置が内蔵するフォントデータに適した文字コードを用いて、記録対象データの文字を確実に記録できる。
【０００７】
また、本発明は、上記記録制御装置において、前記第１のコード変換手段で変換される前記第１の文字コードセットの文字コードのうち、対応するフォントデータが前記記録装置に記憶されていない文字コードを示す設定データを記憶する記憶手段を備え、前記制御手段は、前記記憶手段に記憶された前記設定データに基づいて、前記第１のコード変換手段で変換された前記第１の文字コードセットの文字コードに対応するフォントデータが前記記録装置に記憶されていないと判定した場合に、前記汎用文字コードセットの文字コードを前記第２のコード変換手段で前記第２の文字コードセットの文字コードに変換する。
本発明によれば、第１のコード変化手段が変換した文字コードに記録装置が対応しているか否かを、より速やかに判定できる。
【０００８】
また、本発明は、上記記録制御装置において、前記第１のコード変換手段による前記第１の文字コードセットの文字コードへの変換は、オペレーティングシステムにより実行され、前記第１のコード変換手段で変換された前記第１の文字コードセットの文字コードに対応するフォントデータが前記記録装置で対応可能か否かの判定と、前記第２のコード変換手段による前記第２の文字コードセットの文字コードへの変換とは、プリンタードライバーにより実行される。
本発明によれば、オペレーティングシステムにより変換された第１の文字コードセットの文字コードに対応するフォントデータが記録装置で対応可能であるか否かをプリンタードライバーにより判定する。プリンタードライバーは、記録装置で対応可能でないと判定した場合に、プリンタードライバーが汎用文字コードセットの文字コードを記録装置が対応する第２の文字コードセットの文字コードに変換して記録装置に出力する。従って、記録対象データの文字を、記録装置において確実に記録することができる。
【０００９】
また、本発明は、上記記録制御装置において、前記第１の文字コードセットは、マルチバイトコードセットであり、前記第２の文字コードセットは、１バイトコードセットである。
本発明によれば、マルチバイトコードセットの文字コードを記録装置が持たない場合に、第２のコード変換手段により１バイトコードセットで同じ文字を示す文字コードに変換して記録装置に出力するので、記録装置が、マルチバイトコードの一部の文字コードを他の文字コードセットの文字により置き換えている場合に、この記録装置に適合する文字コードを出力して記録を実行させることができる。
【００１０】
また、上記目的を達成するために、本発明は、第１の文字コードセットの文字コードに対応するフォントデータと、第２の文字コードセットの文字コードに対応するフォントデータとを記憶し、前記第１の文字コードセットの一部の文字コードに対応するフォントデータを省略して記憶し、前記フォントデータを使用して文字を記録する記録装置と、記録対象データに対応する汎用文字コードセットの文字コードを、前記第１の文字コードセットの文字コードに変換する第１のコード変換手段と、前記汎用文字コードセットの文字コードを、前記第２の文字コードセットの文字コードに変換する第２のコード変換手段と、前記第１のコード変換手段による前記第１の文字コードセットの文字コードへの変換が成功した場合に、前記第１のコード変換手段で変換された前記第１の文字コードセットの文字コードに対応するフォントデータが前記記録装置で対応可能か否かを判定し、対応可能でないと判定した場合に、前記第２のコード変換手段で前記汎用文字コードセットの文字コードを前記第２の文字コードセットの文字コードに変換し、変換した前記第２の文字コードセットの文字コードを前記記録装置に出力する制御手段と、を備える記録制御装置と、を備えることを特徴とする。
本発明によれば、第１のコード変換手段による第１の文字コードセットの文字コードへの変換が成功した場合に、変換された第１の文字コードセットの文字コードに対応するフォントデータが、記録装置において省略されたフォントデータであるか否かを判定する。フォントデータが省略された文字コードであると判定された場合に、汎用文字コードセットの文字コードを記録装置がフォントデータを記憶する第２の文字コードセットの文字コードに変換して記録装置に出力するので、記録装置が内蔵するフォントデータに適した文字コードを用いて、記録対象データの文字を確実に記録できる。
【００１１】
また、上記目的を達成するために、本発明は、コンピューターで実行される記録制御装置の制御方法であって、記録対象データに対応する汎用文字コードセットの文字コードを、第１のコード変換手段により、記録装置が対応する第１の文字コードセットの文字コードに変換し、前記第１のコード変換手段による前記第１の文字コードセットの文字コードへの変換が成功した場合に、前記第１のコード変換手段で変換された前記第１の文字コードセットの文字コードに対応するフォントデータが前記記録装置で対応可能か否かを判定し、対応可能でないと判定した場合に、第２のコード変換手段により、前記汎用文字コードセットの文字コードを前記記録装置が対応する第２の文字コードセットの文字コードに変換し、変換した前記第２の文字コードセットの文字コードを前記記録装置に出力することを特徴とする。
本発明によれば、第１のコード変換手段による第１の文字コードセットの文字コードへの変換が成功した場合に、変換された第１の文字コードセットの文字コードに対応するフォントデータが記録装置で対応可能であるか否かを判定し、記録装置で対応可能ではないと判定した場合に、汎用文字コードセットの文字コードを記録装置が対応する第２の文字コードセットの文字コードに変換して記録装置に出力するので、記録装置が内蔵するフォントデータに適した文字コードを用いて、記録対象データの文字を確実に記録できる。
【００１２】
また、上記目的を達成するために、本発明は、コンピューターを、記録対象データに対応する汎用文字コードセットの文字コードを、記録装置が対応する第１の文字コードセットの文字コードに変換する第１のコード変換手段と、前記汎用文字コードセットの文字コードを、前記記録装置が対応する第２の文字コードセットの文字コードに変換する第２のコード変換手段と、前記第１のコード変換手段による前記第１の文字コードセットの文字コードへの変換が成功した場合に、前記第１のコード変換手段で変換された前記第１の文字コードセットの文字コードに対応するフォントデータが前記記録装置で対応可能か否かを判定し、対応可能でないと判定した場合に、前記第２のコード変換手段により、前記汎用文字コードセットの文字コードを第２の文字コードセットの文字コードに変換して、変換した前記第２の文字コードセットの文字コードを前記記録装置に出力する制御手段として機能させることを特徴とする。
本発明によれば、第１のコード変換手段による第１の文字コードセットの文字コードへの変換が成功した場合に、変換された第１の文字コードセットの文字コードに対応するフォントデータが記録装置で対応可能であるか否かを判定し、記録装置で対応可能ではないと判定した場合に、汎用文字コードセットの文字コードを記録装置が対応する第２の文字コードセットの文字コードに変換して記録装置に出力するので、記録装置が内蔵するフォントデータに適した文字コードを用いて、記録対象データの文字を確実に記録できる。
【００１３】
また、本発明は、上記のプログラムをコンピューターにより読み取り可能に記録した情報記録媒体として実現することも可能である。
【発明の効果】
【００１４】
本発明によれば、記録装置が内蔵するフォントデータに適した文字コードを用いて、記録対象データを確実に記録できる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態に係る記録システムの構成を示すブロック図である。
【図２】ホスト側制御部の機能的構成を示す図である。
【図３】コードページの構成を示す図である。
【図４】ホストコンピューターの動作を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、図面を参照して本発明の実施形態について説明する。
図１は、本実施形態に係る記録システム１の構成を概略的に示す図である。
記録システム１は、ホストコンピューター１０（記録制御装置）と、このホストコンピューター１０と通信可能に接続され、ホストコンピューター１０によって制御されるプリンター２０（記録装置）とを備えている。
ホストコンピューター１０は、ホスト側制御部１１と、ホスト側表示部１２と、ホスト側入力部１３と、プリンター２０に接続される入出力インターフェイス１４と、プログラムや各種データを不揮発的に記憶するホスト側記憶部１５（記憶手段）とを備えている。
ホストコンピューター１０は、基本制御ソフトウェアとしてのオペレーティングシステムがハードディスク装置などに実装され、このオペレーティングシステムとともに、プリンター２０を制御するためのプログラムであるプリンタードライバーが動作可能にインストールされている。ホスト側制御部１１は、当該プリンタードライバーを実行することにより、プリンター２０を制御する。
【００１７】
ホスト側制御部１１は、ホストコンピューター１０の各部を中枢的に制御するものであり、演算実行部としてのＣＰＵや、このＣＰＵに実行される基本制御プログラムや、この基本制御プログラムに係るデータ等を不揮発的に記憶するＲＯＭや、ＣＰＵに実行されるプログラムやこのプログラムに係るデータ等を一時的に記憶するＲＡＭ、その他の周辺回路等を備えている。
【００１８】
ホスト側表示部１２は、液晶ディスプレイパネルや、有機ＥＬパネル等の表示パネルを備え、ホスト側制御部１１の制御の下、表示パネルに各種情報を表示する。
ホスト側入力部１３は、キーボードや、マウス等の入力デバイスに接続され、これら入力デバイスの出力信号をホスト側制御部１１に出力する。
入出力インターフェイス１４は、ＵＳＢポートやパラレルプリンターポート等のポートを介してプリンター２０に接続され、ホスト側制御部１１の制御の下、プリンター２０との間で通信規格に準拠した通信を行う。
ホスト側記憶部１５は、各種データを書き換え可能に記憶する不揮発性の記憶装置により構成され、具体的にはハードディスク装置や、ＥＥＰＲＯＭ等の半導体記憶装置を備えている。ホスト側記憶部１５には、ある文字コードセットから他の文字コードセットなどの異なる文字コードセットの文字コードを変換するための変換テーブル１５Ａ、１５Ｂ、及び、プリンター２０が内蔵するフォントデータに関する設定データ１９が記憶される。
【００１９】
図２は、ホストコンピューター１０の機能的構成を示すブロック図である。この図２に示す各機能部は、ホスト側制御部１１のＣＰＵがプログラムを実行することにより、ハードウェアとソフトウェアとの協働により実現される。
【００２０】
ホスト側制御部１１は、オペレーティングシステム１０Ａによりホストコンピューター１０の各部を中枢的に制御するとともに、ホスト側表示部１２、ホスト側入力部１３及び入出力インターフェイス１４によるデータの入出力を実行する。
ホストコンピューター１０のオペレーティングシステム１０Ａ上で動作するアプリケーションプログラムは、文字コードセットとしてＵｎｉｃｏｄｅ（汎用文字コードセット）を採用している。このため、オペレーティングシステム１０Ａの機能を利用して文字を表示したり記録処理する際、日本語や中国語などに対応するために、オペレーティングシステム１０Ａは、Ｕｎｉｃｏｄｅを日本語や中国語などの文字コードセットに変換することが行われている。オペレーティングシステム１０Ａは、このＵｎｉｃｏｄｅの文字コードで規定された文字や文字列を、プリンター２０等の他の装置に出力する際に他の文字コードセットの文字コードに変換する文字コード変換部１０Ｂ（第１のコード変換手段）を備えている。文字コード変換部１０Ｂは、オペレーティングシステム１０Ａの機能モジュールとして構成され、後述するプリンタードライバー１０Ｄから呼び出して処理を実行させることも可能である。
Ｕｎｉｃｏｄｅの文字コードで規定された文字を、他の文字コードセットの文字コードに変換する例としては、中国語に対応するＧＢ２３１２（２バイトコード）やＧＢ１８０３０（４バイトコード）などがある。これらは、オペレーティングシステム１０Ａに対し予め設定されているので、中国語対応のオペレーティングシステム１０Ａが立ち上がると、いずれかに変換することが選択される。
また、ホスト側制御部１１は、オペレーティングシステム１０Ａ上でアプリケーションプログラムを実行するアプリケーション実行部１０Ｃを有する。アプリケーション実行部１０Ｃは、例えば文書作成ソフトウェア、表計算ソフトウェア等のアプリケーションソフトウェアを実行する。これらのアプリケーションソフトウェアを実行中に、記録が指示された場合には、アプリケーション実行部１０Ｃはプリンタードライバー１０Ｄを呼び出して、記録対象データとして指定された文書等と、記録部数や記録媒体として使用する用紙サイズ等の記録制御情報を出力する。
【００２１】
プリンタードライバー１０Ｄは、プリンター２０の機種のコマンド体系に適合するように構成されたソフトウェアで構成される。プリンタードライバー１０Ｄは、プリンター２０による記録動作を制御する記録制御部１０Ｅ（制御手段）と、オペレーティングシステム１０Ａから出力される文字コードをプリンター２０が対応して記録できるような文字コードセットの文字コードに変換を行う文字コード変換部１０Ｆ（第２のコード変換手段）とを有する。
プリンタードライバー１０Ｄは、アプリケーション実行部１０Ｃにより呼び出されて動作を開始し、記録制御部１０Ｅの機能により、アプリケーション実行部１０Ｃから出力された記録対象データを取得する。記録制御部１０Ｅは、記録対象データを構成するＵｎｉｃｏｄｅに対応した文字コードを、オペレーティングシステム１０Ａの機能モジュールである文字コード変換部１０Ｂ、或いは文字コード変換部１０Ｆ、或いはその両方によって、プリンター２０が搭載する文字コードセットの文字コードに変換し、プリンター２０が記録できるようにする。そして、記録制御部１０Ｅは、プリンター２０に対して記録実行を指示するコマンドを生成し、このコマンドと、記録対象データを変換した後の文字コードとをプリンター２０に送信して、記録を実行させる。
【００２２】
また、プリンタードライバー１０Ｄは、プリンター２０との間で制御データを送受信し、プリンター２０が紙切れや紙詰まりなどによりオフラインとなった場合に、オペレーティングシステム１０Ａに対してプリンター２０のオフラインを通知する機能や、プリンター２０が一定時間動作しないためにスリープ状態になった場合に、このスリープ状態から通常動作状態に復帰させる等の機能を有する。
【００２３】
図１に示すプリンター２０は、プリンター側制御部２１と、プリントエンジン２２と、プリンター側表示部２３と、プリンター側入力部２４と、インターフェイス部２５と、プリンター側記憶部２６と、を備えている。
プリンター側制御部２１は、プリンター２０の各部を中枢的に制御するものであり、ホスト側制御部１１と同様、ＣＰＵや、ＲＯＭ、ＲＡＭ、その他の周辺回路等を備えている。プリントエンジン２２は、プリンター側制御部２１の制御の下、記録媒体に対し画像を記録する記録ヘッドや、この記録ヘッドを駆動する記録ヘッド駆動機構、記録媒体を搬送する搬送機構等の、記録媒体に対して画像を記録するための装置や機構等を制御して、記録媒体へ文字や記号あるいは画像等を記録（印刷）する。
【００２４】
プリンター側表示部２３は、液晶表示パネル等の表示パネルや、ＬＥＤ等を備え、これらを介してプリンター２０の状態等の各種情報を報知する。
プリンター側入力部２４は、電源スイッチや選択スイッチ等の各種スイッチを備え、これらスイッチに対する操作を検出し、プリンター側制御部２１に入力する。
インターフェイス部２５は、プリンター側制御部２１の制御の下、ホストコンピューター１０との間で通信規格に準拠した通信を行う。
【００２５】
また、プリンター側記憶部２６は、各種データを書き換え可能に記憶する不揮発性の記憶装置により構成され、具体的にはハードディスク装置や、ＥＥＰＲＯＭ等の半導体記憶装置を備えている。
プリンター側記憶部２６は、プリンター２０が記録媒体に記録する文字の実データであるフォントデータを、該当するコードページＣＰの該当する文字コードに対応させて記憶している。コードページＣＰには、含まれる文字コードとそれに対応するフォントデータが複数あり、フォント群として記憶されている。なお、Ｕｎｉｃｏｄｅは、全ての言語の文字に対応して文字コードが割り当てられているので、コードページに相当するものはない。
【００２６】
図３は、コードページＣＰの構成を模式的に示す図である。
本実施形態では、プリンター２０のプリンター側記憶部２６は、複数の記憶領域２６Ａ、２６Ｂを有し、各記憶領域２６Ａ、２６Ｂの各々には、コードページＣＰ０〜コードページＣＰ２５５の２５６個のコードページＣＰが記憶されている。各々のコードページＣＰには含まれている複数の文字コードに対応するフォントデータが格納される。本実施形態では、各コードページＣＰが文字コード毎に１２８個の記憶領域に分割され、１２８個の格納位置（アドレス）が形成されており、文字コード毎に各格納位置に１つのフォントデータが格納された例について説明する。すなわち、１つのコードページＣＰには、１２８個の文字コードのフォントデータが格納可能である。
各格納位置には０番地（８０Ｈ）〜１２７番地（ＦＦＨ）の１２８個の番地が割り振られており、コードページＣＰを指定する情報と、コードページＣＰにおける格納位置を示す情報（文字コード）（５０番地（９０Ｈ））とによって、１つのフォントデータを一意に指定できる。
ここで、フォントデータとは、プリンター２０が文字をプリントエンジン２２の記録ヘッドなどで記録媒体に印字可能な態様で表現する実データのことであり、ドットマトリックスフォントデータや、ベクトルフォントデータ、アウトラインフォントデータ、ビットマップフォントデータや、スケイラブルフォントデータ等が存在する。
【００２７】
記憶領域２６Ａ、２６Ｂは、それぞれ異なる文字コードセットに対応するコードページＣＰを記憶している。本実施形態では、記憶領域２６Ａに、１バイトコードの文字コードセットに対応するフォントデータを含むコードページＣＰが格納され、記憶領域２６Ｂには、２バイト、４バイトまたはその他のマルチバイトコードの文字コードセットに対応するコードページＣＰを格納する。１バイトコードの文字コードセットの例としてはＡＳＣＩＩコード等が、マルチバイトコードとしては、シフトＪＩＳやＧＢ２３１２（２バイトコード）、ＧＢ１８０３０（４バイトコード）等が挙げられる。こららは、オペレーティングシステム１０Ａが立ち上がったとき、いずれかに選択される。
【００２８】
このように本実施形態では、プリンター側記憶部２６に、全てのフォントデータが格納されたコードページＣＰが１つ記憶されるのではなく、複数の文字コードの個数（１２８個）のフォントデータを格納可能なコードページＣＰが複数（２５６個）記憶される構成となっている。これにより、日本語や中国語などに対応するフォントデータを格納するコードページＣＰと、英語などに対応するフォントデータを格納するコードページＣＰとを個別に記憶することができ、日本語や中国語などに専用的に対応するプリンター２０に対しては、日本語や中国語などに対応するフォントデータを格納するコードページＣＰのみを記憶させたり、英語などに専用的に対応するプリンター２０に対しては、英語等に対応するフォントデータを格納するコードページＣＰのみを記憶させたりすることができる。このため、必要なコードページＣＰのみをプリンター２０のプリンター側記憶部２６に記憶させることが可能となり、メモリーの容量の制約があっても記憶領域の効率的利用が実現できると共に、プリンター２０を製造する上で仕向け先の国別の製造容易性の向上を図ることができる。
なお、記憶領域２６Ａ、２６Ｂの各々に記憶するコードページＣＰの数（ページ数）は、対応する国や文字等に応じて適宜調整可能である。
【００２９】
また、プリンター側記憶部２６に複数の記憶領域２６Ａ、２６Ｂが設けられ、各記憶領域２６Ａ、２６Ｂに異なるコードページＣＰが格納されるので、例えば、１バイトコードや２バイトコード、４バイトコードなどの複数の言語で使用されるフォントデータにも対応することも可能であるし、また、複数の異なる文字コードセットやコードページＣＰ間で共通するフォントデータを相補的に利用してプリンター側記憶部２６の容量を節約するとともに、処理の効率化を図ることができる。
例えば、記憶領域２６ＡにＡＳＣＩＩコードに対応したコードページＣＰを記憶し、記憶領域２６ＢにＧＢ１８０３０に対応したコードページＣＰを記憶する。ＧＢ１８０３０は４バイトコードであり、半角英数字を含む様々な文字を含んでいるため文字数も膨大である。しかしながら、半角英数字のフォントデータは、記憶領域２６Ａに格納された１バイトコードであるＡＳＣＩＩのコードページＣＰにも格納されている。そこで、記憶領域２６ＢのＧＢ１８０３０には、半角英数字のフォントデータは記憶させず、ＧＢ１８０３０の半角英数字に該当する文字コードが指定された場合は、常に記憶領域２６Ａに格納されているＡＳＣＩＩのコードページＣＰの文字コードに対応するフォントデータが記憶されている記憶領域２６Ａから読み出して使用することが考えられる。この場合、プリントエンジン２２がフォントデータを取得する際の処理対象が記憶領域２６Ａと記憶領域２６Ｂとの間で変わる他には何ら問題はなく、フォントデータの重複を解消することで、メモリーの容量やフォントデータを取得する処理の効率化を図ることができる。
この場合、オペレーティングシステム１０Ａの文字コード変換部１０Ｂで、ＵｎｉｃｏｄｅからＧＢ１８０３０に変換し、さらに、半角英数字などこのままの文字コードではプリンター２０のプリンター側記憶部２６で対応できないものは、プリンタードライバー１０Ｄが有する文字コード変換部１０Ｆで、ＧＢ１８０３０からＡＳＣＩＩに変換し、プリンター側記憶部２６で対応可能なコードページと文字コードにすればよい。
また、ＧＢ１８０３０の規格が更新されて対応する文字種が増えた場合、アプリケーション側が更新し追加したＧＢ１８０３０に合致したＵｎｉｃｏｄｅを使って構成したものであっても、オペレーティングシステム１０Ａの文字コード変換部１０Ｂが更新前のものであった場合、対応できない。この場合も、プリンタードライバー１０Ｄが有する文字コード変換部１０Ｆで、ＵｎｉｃｏｄｅからＡＳＣＩＩに変換し、プリンター側記憶部２６で対応可能なコードページと文字コードにすればよい。
【００３０】
図１に示したように、ホストコンピューター１０のホスト側記憶部１５には、複数の変換テーブル１５Ａ、１５Ｂが格納されている。各変換テーブル１５Ａ、１５Ｂは、それぞれ、異なる文字コードセットに対応しており、例えば変換テーブル１５Ａは、Ｕｎｉｃｏｄｅの文字コードから、ＧＢ１８０３０の２バイトコードや４バイトコードのコードページと文字コードなど他の文字コードセットに変換するためのテーブルである。変換テーブル１５Ｂはこのままの文字コードではプリンター２０のプリンター側記憶部２６で対応できない場合に対応できるように変換するものであり、Ｕｎｉｃｏｄｅから、または変換テーブル１５Ａで２バイトコードや４バイトコードの文字コードセットに変換したものから、１バイトコードのＡＳＣＩＩコードのコードページと文字コードに変換するためのテーブルである。中国語対応のオペレーティングシステム１０Ａが立ち上がると、まずＧＢ１８０３０用の変換テーブル１５Ａにより変換される。次に、ＧＢ１８０３０で半角英数字などの文字コード場合、さらに、ＡＳＣＩＩコード用の変換テーブル１５Ｂにより変換される。その結果、プリンター２０のプリンター側記憶部２６で対応できる文字コードページと文字コードが指定され、記録しているフォントデータを使用しての記録が可能となる。
また、ＧＢ１８０３０の規格が更新されて対応する文字種が増えた場合、アプリケーション側が更新し追加したＧＢ１８０３０に合致したＵｎｉｃｏｄｅで構成したものであっても、オペレーティングシステム１０Ａの変換テーブル１５Ａ（文字コード変換部１０Ｂ）が更新前のものであった場合、対応できない。この場合も、プリンタードライバー１０Ｄが有する変換テーブル１５Ｂ（文字コード変換部１０Ｆ）で、ＵｎｉｃｏｄｅからＡＳＣＩＩに変換し、プリンター側記憶部２６で対応可能なコードページと文字コードにすればよい。
なお、ホスト側記憶部１５により多数の変換テーブルを格納することも可能である。異なる文字コードセットは、同じ文字があったとしてもそれぞれに異なる文字コードを割り当てている。変換テーブル１５Ａは、Ｕｎｉｃｏｄｅにおける文字コードとＧＢ１８０３０のコードページと文字コードとを１対１で対応づけたテーブルである。この変換テーブル１５Ａを使用すると、Ｕｎｉｃｏｄｅで表現されたある文字と同じ文字に対応するＧＢ１８０３０の文字コードに変換することができる。変換テーブル１５Ｂも同様であり、ＵｎｉｃｏｄｅやＧＢ１８０３０などで表現された文字コードをＡＳＣＩＩコードで表現できる。
ホストコンピューター１０は上述したようにＵｎｉｃｏｄｅを使用するアプリケーションが動作する。このため、オペレーティングシステム１０Ａ上で動作するアプリケーション実行部１０Ｃ等は文字コードセットとしてＵｎｉｃｏｄｅを使用し、アプリケーション実行部１０Ｃにより生成される記録対象データが含む文字データは、Ｕｎｉｃｏｄｅにおける文字コードで構成されている。しかしながら、プリンター２０はＵｎｉｃｏｄｅの文字コードに対応していない。このため、プリンター２０がフォントデータを記憶領域２６Ａ、２６Ｂから取得して記録できるように、ホストコンピューター１０側では、記録対象データを構成するＵｎｉｃｏｄｅの文字コードを、プリンター２０が対応している文字コードセットのコードページと文字コードに変換する。
【００３１】
文字コードの変換処理は、上述した文字コード変換部１０Ｂ、及び、プリンタードライバー１０Ｄが有する文字コード変換部１０Ｆが実行する。文字コード変換部１０Ｂは、変換テーブル１５Ａを使用して、ＵｎｉｃｏｄｅからＧＢ１８０３０への文字コードの変換を行う。これに対し、文字コード変換部１０Ｆは変換テーブル１５Ｂを使用して、ＵｎｉｃｏｄｅやＧＢ１８０３０からＡＳＣＩＩへの変換を行う。
ところで、ほとんどの言語に対応しているＵｎｉｃｏｄｅに含まれる文字数は膨大であり、全ての文字に対応するフォントデータをプリンター２０に搭載することは、メモリーの容量も膨大となってしまう。上述したように、プリンター２０はプリンター側記憶部２６の容量を削減する等の目的で、複数の文字コードに対応するコードページＣＰや文字コードセットを相補的に利用して、記憶領域２６Ａ、２６Ｂのうち一部のフォントデータを共用とし省略している。このため、変換テーブル１５Ａに基づいてＧＢ１８０３０に変換された文字コードに対応するフォントデータが、ＧＢ１８０３０に対応してプリンター２０が記憶するコードページＣＰから省略されている可能性がある。この場合には、該当する文字の文字コードを、ＡＳＣＩＩコードに変換する必要がある。そこで、ホストコンピューター１０側では、記録制御部１０Ｅの機能により、文字コードの変換を制御する。この制御は、ホスト側記憶部１５に記憶された設定データ１９によって行われる。設定データ１９は、プリンター２０が記憶しているコードページＣＰにおいてフォントデータが省略されている文字を示す情報であり、例えば、文字コードセットと、当該文字コードのコードページＣＰにおいて省略された文字の文字コードとを対応づけたテーブル形式のデータである。上述の例では、ＧＢ１８０３０における半角英数文字のコードページと文字コードを、ＡＳＣＩＩコードのコードページと文字コードに変換するような対応を示すテーブル形式のデータである。また、設定データ１９に、ＧＢ１８０３０が更新して追加した文字コードをＡＳＣＩＩコードのコードページと文字コードに変換するような対応を示すテーブル形式のデータを記憶しておく。オペレーティングシステム１０Ａ側で、更新したＧＢ１８０３０に対応していなくても、ＵｎｉｃｏｄｅからＡＳＣＩＩコード変換してプリンター２０で記録可能となる。なお、ＡＳＣＩＩコードにした文字コードは、プリンター２０の記憶領域２６Ａで対応している文字コードと同じものであり、この文字コードに該当するフォントデータにより記録可能なので、そのままプリンター２０に送信して記録できる。
【００３２】
記録制御部１０Ｅは、まずオペレーティングシステム１０Ａの文字コード変換部１０Ｂを利用し、アプリケーションから記録対象データのＵｎｉｃｏｄｅの文字コードを、変換テーブル１５Ａに従ってＵｎｉｃｏｄｅからＧＢ１８０３０に変換させる。ここで、記録制御部１０Ｅは、変換されたＧＢ１８０３０の文字コードを設定データ１９において検索し、該当する情報がある場合には、その文字の文字コードを、文字コード変換部１０Ｆの機能によりＵｎｉｃｏｄｅからＡＳＣＩＩに変換する。記録制御部１０Ｅは、この処理を処理対象データの文字に対して１文字ずつ実行する。設定データ１９に記録されていないＧＢ１８０３０の文字コードは、プリンター２０の記憶領域２６Ｂで対応している文字コードと同じものであり、この文字コードに該当するフォントデータにより記録可能なので、そのままプリンター２０に送って記録できる。
これにより、プリンター２０が保持していない文字コードを指定してしまうことがなく、全ての文字を確実にプリンター２０が記録できる。
【００３３】
図４は、ホストコンピューター１０の動作を示すフローチャートである。
まず、アプリケーション実行部１０Ｃにより作成されたＵｎｉｃｏｄｅによる記録対象データがプリンタードライバー１０Ｄに入力される（ステップＳ１１）。記録制御部１０Ｅは、オペレーティングシステム１０Ａが有する文字コード変換部１０Ｂの機能により、ＵｎｉｃｏｄｅからＧＢ１８０３０などへ文字コードの変換を実行する（ステップＳ１２）。この変換は、入力された記録対象データの１文字を選択して実行される。
ここで、記録制御部１０Ｅは、変換処理が成功したか否かを判別する（ステップＳ１３）。変換処理に失敗する場合とは、例えば、文字コード変換部１０Ｂが使用する変換テーブル１５Ａに、該当する文字が定義されていない場合である。すなわち、Ｕｎｉｃｏｄｅは多言語の多数の文字を含んでいるので、Ｕｎｉｃｏｄｅから他の文字コードセットへの変換を行う場合、変換先の文字コードセットに該当する文字が割り当てられていないことがある。先に変換テーブル１５Ａ、１５Ｂは異なる文字コードセット間の文字コードを１対１で定義すると説明したが、該当する文字が文字コードセットで割り当てられていない（定義されてない）場合は、変換テーブル１５Ａ、１５Ｂでは該当するデータなしと定義される。具体的な例としては、ＧＢ１８０３０の規格が更新されて対応する文字種が増えた場合、アプリケーション側が更新し追加したＧＢ１８０３０に合致したＵｎｉｃｏｄｅでアプリケーション実行部１０Ｃが生成したものであっても、オペレーティングシステム１０Ａの変換テーブル１５Ａが更新前のものであった場合、割り当てられていない。変換処理が成功しなかった場合、オペレーティングシステム１０Ａは、「？」などの特定のデータを返すので、プリンタードライバー１０Ｄ側では成功しなかったことがわかる。
【００３４】
記録制御部１０Ｅは、処理対象の文字の変換が成功したと判別した場合（ステップＳ１３；Ｙｅｓ）、設定データ１９を参照して、変換後の文字コードでプリンター２０が記録可能か否かを判別する（ステップＳ１４）。ここで、記録制御部１０Ｅは、変換後の文字コードに対応するフォントデータがプリンター２０のコードページＣＰに格納されているか否かを、設定データ１９に基づいて判別する。
【００３５】
そして、変換後の文字コードでプリンター２０が記録可能な場合（ステップＳ１４；Ｙｅｓ）、記録制御部１０Ｅは、変換後のコードページと文字コードを含むデータをプリンター２０に送信して（ステップＳ１５）、記録を実行させる。なお、ステップＳ１５の処理を行う前に、記録対象データの全ての文字についてステップＳ１２〜Ｓ１６の処理を行うことも勿論可能である。
【００３６】
一方、文字コード変換部１０Ｂが文字コードの変換に成功しなかった場合（ステップＳ１３；Ｎｏ）、及び、変換後の文字コードが設定データ１９に定義されている場合、すなわちそのままの文字コードではプリンター２０が記録できない場合（ステップＳ１４；Ｎｏ）、記録制御部１０Ｅは、プリンタードライバー１０Ｄが備える文字コード変換部１０Ｆの機能により、変換テーブル１５Ｂを参照して文字コードの変換を行う（ステップＳ１６）。つまり、ステップＳ１２とは違う文字コードセットへの変換を実行し、その後、ステップＳ１５に移行する。
文字コード変換部１０Ｂが文字コードの変換に成功しなかった場合（ステップＳ１３；Ｎｏ）、上述のように、オペレーティングシステム１０Ａの変換テーブル１５Ａが更新前のものであった場合などである。設定データ１９に、ＧＢ１８０３０が更新して追加した文字コードをＡＳＣＩＩコードのコードページと文字コードに変換するような対応を示すテーブル形式のデータを記憶しておく。プリンタードライバー１０Ｄが有する文字コード変換部１０Ｆで、Ｕｎｉｃｏｄｅの文字コードからＡＳＣＩＩコードのコードページと文字コードに変換し、プリンター側記憶部２６で対応可能なコードページＣＰと文字コードにすることができる。
変換後の文字コードが設定データ１９に定義されている場合（ステップＳ１４；Ｎｏ）、上述のように、ＧＢ１８０３０の半角英数文字の場合などである。設定データ１９を参照して、ＧＢ１８０３０の半角英数文字に該当するコードページと文字コードが検索できた場合、それに対応するＡＳＣＩＩコードのコードページと文字コードに変換する。この場合も、プリンタードライバー１０Ｄが有する文字コード変換部１０Ｆで、Ｕｎｉｃｏｄｅの文字コードからＡＳＣＩＩコードのコードページと文字コードに変換し、プリンター側記憶部２６に該当する半角英数文字が格納されているコードページＣＰと文字コードに変換すればよい。
【００３７】
以上説明したように、本発明を適用した実施形態に係る記録システム１によれば、複数の文字コードセットに対応する複数のフォントデータを記憶し、これらのフォントデータを使用して文字を記録するプリンター２０を制御するホストコンピューター１０側では、記録対象データに対応する汎用文字コードセット（Ｕｎｉｃｏｄｅ）の文字コードを、所定の文字コードセットの文字コードに変換する文字コード変換部１０Ｂと、汎用文字コードセットの文字コード、または、所定の文字コードセットを、プリンター２０が有するいずれかのコードページＣＰに対応する文字コードセットの文字コードに変換する文字コード変換部１０Ｆと、文字コード変換部１０Ｂにより変換された文字コードがプリンター２０によって対応可能か否か、すなわち記録可能か否かを判定し、対応可能でないと判定した場合に文字コード変換部１０Ｆによりプリンター２０が対応する文字コードセットの文字コードに変換し、変換した文字コードを含む記録対象データをプリンター２０に出力する記録制御部１０Ｅとを備える。これにより、ホストコンピューター１０側が変換した文字コードでプリンター２０が記録を行えない場合、例えば、この文字コードに該当するフォントデータがない、或いは、プリンター２０が上記文字コードに対応していない等の場合に、プリンター２０が対応している別の文字コードセットの文字コードに変換してプリンター２０に出力するので、プリンター２０が内蔵するフォントデータに適した文字コードを用いて、記録対象データの文字を確実に記録できる。
【００３８】
また、記録制御部１０Ｅは、プリンター２０が内蔵する文字コードのコードページＣＰにおいて、文字コード変換部１０Ｂが変換した文字コードに割り当てられたフォントデータの有無を判定し、その文字コードでは該当するフォントデータがない場合には文字コード変換部１０Ｆにより文字コードを変換するので、文字コード変換部１０Ｂが変換した文字コードにプリンター２０が対応していない場合に、別の文字コードセットの文字コードに変換して、プリンター２０が対応する文字コードとして出力する。これにより、プリンター２０が内蔵するフォントデータに適した文字コードを用いて、記録対象データの文字を確実に記録できる。
【００３９】
また、文字コード変換部１０Ｂが変換する所定の文字コードセットのフォントデータのうち、プリンター２０が有していない文字コードに対応するように変換する設定データ１９を記憶するホスト側記憶部１５を備え、記録制御部１０Ｅは、設定データ１９に基づいて、文字コード変換部１０Ｂにより変換された文字コードに割り当てられたフォントデータの有無を判定し、変換するので、文字コード変換部１０Ｂが変換した文字コードをプリンター２０が有しているか否かを、より速やかに判定し、変換できる。
【００４０】
また、プリンター２０は、記憶領域２６Ａに１バイトコードセットに対応するコードページＣＰを記憶し、記憶領域２６Ｂにマルチバイトコードセットに対応するコードページＣＰを記憶しており、文字コード変換部１０Ｂは、所定の汎用文字コードセットによって規定される記録対象データの文字に基づいてマルチバイトコードセットの文字コードを生成し、記録制御部１０Ｅは、マルチバイトコードセットのコードページＣＰにおいて文字コード変換部１０Ｂが生成した文字コードに該当するものの有無を判定し、文字コード変換部１０Ｆは、記録制御部１０Ｅによってマルチバイトコードセットに対応するコードページＣＰに該当する文字コードがないと判定された場合に、１バイトフォントの文字コードを生成する。これにより、マルチバイトコードセットの文字コードをプリンター２０が持たない場合に、１バイトコードセットで同じ文字を示す文字コードを生成してプリンター２０に出力するので、プリンター２０が、マルチバイトコードの一部の文字コードを他の文字コードセットの文字により置き換えている場合に、このプリンター２０に適合する文字コードを出力して記録を実行させることができる。
【００４１】
なお、上記実施形態において、ホストコンピューター１０は、プリンター２０が有するコードページＣＰにおいて省略されたフォントデータを示す設定データ１９を記憶し、この設定データ１９に基づき、変換後の文字コードをプリンター２０が記録できるか否かを判定するものとしたが、本発明はこれに限定されるものではなく、例えば、プリンター２０がコードページＣＰに格納している文字コードをホスト側記憶部１５に記憶していてもよい。この場合、記録制御部１０Ｅは、変換後の文字コードがホスト側記憶部１５に記憶されているか否かに基づいて、プリンター２０が記録できるか否かをより正確に判定できる。
また、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、上述した実施形態では、プリンター２０は、１２８個のフォントデータを格納可能なコードページＣＰを２５６個記憶していたが、プリンター２０が記憶するコードページＣＰの態様はこれに限らず、ホストコンピューター１０がホスト側記憶部１５に記憶する変換テーブルの数を含め、記録システム１の細部構成については、ホストコンピューター１０及びプリンター２０の仕様等に応じて、適宜変更可能である。
【符号の説明】
【００４２】
１…記録システム、１０…ホストコンピューター（記録制御装置）、１０Ａ…オペレーティングシステム、１０Ｂ…文字コード変換部（第１のコード変換手段）、１０Ｃ…アプリケーション実行部、１０Ｄ…プリンタードライバー、１０Ｅ…記録制御部（制御手段）、１０Ｆ…文字コード変換部（第２のコード変換手段）、１１…ホスト側制御部、１５…ホスト側記憶部、１５Ａ、１５Ｂ…変換テーブル、１９…設定データ、２０…プリンター、２１…プリンター側制御部、２６…プリンター側記憶部、２６Ａ、２６Ｂ…記憶領域、ＣＰ…コードページ。
【図１】
0005736912.tif 000002
【図２】
0005736912.tif 000003
【図３】
0005736912.tif 000004
【図４】
0005736912.tif 000005