説明

記録制御装置、記録装置の制御方法、及び、プログラム

【課題】汎用文字コード文字と、プリンターに実際に記憶されたフォントデータとを適切に対応させた上で記録装置に文字を記録させることができるようにする。
【解決手段】プリンター20は、記録媒体に文字を記録する際に使用するフォントデータが複数格納されたコードページCPを複数記憶しており、プリンター20が記憶する複数のコードページCPの各々に基づき、Unicode文字と、Unicode文字に対応するフォントデータが含まれているコードページCPを示す情報と、当該コードページCPにおける格納位置を示す情報とを対応づけて格納した文字コード変換テーブル18を作成又は更新するようにした。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記録媒体に文字を記録する記録装置を制御する記録制御装置、当該記録装置の制御方法、及び、当該記録装置を制御するためのプログラムに関する。
【背景技術】
【0002】
従来、文字の記録に使用するためのフォントデータ(フォントパターンデータ)をROM等の記憶媒体に記憶し、記憶したフォントデータに基づいて文字の記録を行う記録装置としてのプリンターが知られている(例えば、特許文献1参照)。
また、従来、記録装置の記録媒体には、所定の数のフォントが含まれるフォント群が、複数記憶されている。ホストコンピューター(記録制御装置)から、文字を特定する場合、当該文字が含まれるフォント群を特定し、さらにそのフォント群の中の当該文字の番地(アドレス)を特定する。
このようなプリンターを用いて、Unicode等の汎用文字コードによって規定される汎用文字コード文字を記録媒体に記録する場合、汎用文字コード文字と対応するフォントデータが特定された上で、特定したフォントデータに基づいてプリンター装置による文字の記録が行われる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平6−183071号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
汎用文字コードには、Unicodeのように多言語に亘る複数の文字を単一の文字コード体系で取り扱う汎用文字コードが存在するが、このような汎用文字コードによって規定される汎用文字コード文字が多岐に渡る。このため、汎用文字コードによって規定される汎用文字コード文字と、プリンターが実際にフォント群によって記憶するフォントデータとを適切に対応させたいとするニーズがある。
本発明は、上述した事情に鑑みてなされたものであり、記録装置に汎用文字コード文字に係る文字を記録させる際、汎用文字コード文字と、プリンターに実際に記憶されたフォントデータとを適切に対応させた上で文字を記録させることが可能な記録制御装置、記録装置の制御方法、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するために、本発明は、記録媒体に文字を記録する記録装置を制御する記録制御装置において、前記記録装置は、記録媒体に文字を記録する際に使用するフォントデータが複数格納されたフォント群を複数記憶しており、前記記録装置が記憶する複数のフォント群の各々に基づき、所定の汎用文字コードによって規定される汎用文字コード文字の各々について、汎用文字コード文字と、当該汎用文字コード文字に対応するフォントデータが含まれているフォント群を示す情報と、当該フォント群における当該フォントデータの格納位置を示す情報とを対応づけて格納した文字コード変換テーブルを作成又は更新するテーブル処理部を備えたこと、を特徴とする。
ここで、フォントデータとは、文字を、記録媒体に印字可能な態様で表現する実データのことであり、ドットマトリックスフォントデータや、ベクトルフォントデータ、アウトラインフォントデータ、ビットマップフォントデータや、スケイラブルフォントデータ等が存在する。また、フォントデータには、図や記号、画像なども含まれる。
そして、上記構成によれば、テーブル処理部は、記録装置が記録するフォント群の各々に基づき、所定の汎用文字コードによって規定される汎用文字コード文字の各々について、汎用文字コード文字と、当該汎用文字コード文字に対応するフォントデータが含まれているフォント群を示す情報と、当該フォント群における当該フォントデータの格納位置を示す情報とを対応づけて格納した文字コード変換テーブルを作成又は更新する。このため、記録装置に汎用文字コード文字に係る文字を記録させる際、テーブル処理部により作成又は更新された文字コード変換テーブルを利用することにより、汎用文字コード文字と、プリンターに実際に記憶されたフォントデータとを適切に対応させた上で文字を記録させることが可能となる。
【0006】
ここで、上記発明の記録制御装置において、前記記録装置が記憶する複数のフォント群の各々について、フォント群に格納されている複数のフォントデータと、これら複数のフォントデータの各々に対応する汎用文字コード文字とを対応づけて格納したフォント群情報を記憶するフォント群情報記憶部をさらに備え、前記テーブル処理部は、前記フォント群情報記憶部により記憶された前記フォント群情報に基づいて、汎用文字コード文字の各々について、汎用文字コード文字と、当該汎用文字コード文字に対応するフォントデータが含まれているフォント群を示すフォント群情報と、当該フォント群における当該フォントデータの格納位置を示すフォントデータ位置情報とを対応づけて格納した文字コード変換テーブルを作成又は更新するようにしてもよい。
この構成によれば、テーブル処理部は、実際に記録装置に記憶されたフォントデータに対応した文字コード変換テーブルの生成又は更新を行うことができる。
【0007】
また、上記発明の記録制御装置において、前記記録装置による文字の記録を指示する記録ジョブが発生した場合に、前記テーブル処理部により作成又は更新された前記文字コード変換テーブルに基づいて、当該記録ジョブに含まれる汎用文字コード文字を、当該汎用文字コード文字に対応するフォントデータが含まれているフォント群を示す情報及び当該フォント群における当該フォントデータの格納位置を示す情報を含むフォントデータ位置情報に変換する変換処理部を備えたようにしてもよい。
この構成によれば、変換処理部が文字コード変換テーブルに基づいて汎用文字コード文字をフォントデータ位置情報に変換することにより、記録装置に実際に記憶されたフォントデータを反映して、汎用文字コード文字とフォントデータとを対応させることができる。
【0008】
また、上記発明の記録制御装置において、同一のフォントデータが異なる前記フォント群に格納される場合を有し、前記変換処理部は、前記記録ジョブに汎用文字コード文字が複数含まれている場合、所定の順序で汎用文字コード文字を前記フォントデータ位置情報に変換すると共に、1の汎用文字コード文字の変換に際し、直近に変換した汎用文字コード文字に対応するフォントデータが格納されたフォント群を優先して、当該1の汎用文字コード文字に対応するフォントデータが格納されているか否かを判別し、格納されている場合は、当該1の汎用文字コード文字を、当該フォント群を示す情報及び当該フォント群における当該フォントデータの格納位置を示す情報を含むフォントデータ位置情報に変換するようにしてもよい。
この構成によれば、複数の汎用文字コード文字をフォントデータ位置情報に変換する場合において、連続した汎用文字コード文字について、対応するフォントデータが同一のフォント群に存在する場合に、処理効率の向上を図ることができる。
【0009】
また、上記発明の記録制御装置において、フォント群に格納されたフォントデータの編集が可能に構成されたようにしてもよい。
この構成によれば、汎用文字コード文字とフォントデータとの関係を任意に変更することができ、ユーザーが使用したいフォントを作成して割り当てて、使用可能にできる等利便性の向上を図ることができる。
【0010】
また、上記発明の記録制御装置において、前記記録装置が記憶している複数の前記フォント群を示す情報を取得し、前記フォント群情報を複数の前記フォント群に対応させて更新するフォント群情報更新処理部を備えたようにしてもよい。
この構成によれば、フォント群情報を、記録装置に実際に記憶されているフォント群が反映された情報とすることができる。
【0011】
また、上記目的を達成するために、本発明は、記録媒体に文字を記録し、記録媒体に文字を記録する際に使用するフォントデータが複数格納されたフォント群を複数記憶した記録装置を制御して、前記記録装置が記憶する複数のフォント群の各々に基づき、所定の汎用文字コードによって規定される汎用文字コード文字の各々について、汎用文字コード文字と、当該汎用文字コード文字に対応するフォントデータが含まれているフォント群を示す情報と、当該フォント群における当該フォントデータの格納位置を示す情報とを対応づけて格納した文字コード変換テーブルを作成又は更新し、この文字コード変換テーブルに基づいて、汎用文字コード文字を、当該汎用文字コード文字に対応するフォントデータが含まれているフォント群を示す情報及び当該フォント群における当該フォントデータの格納位置を示す情報を含むフォントデータ位置情報に変換することを特徴とする。
この制御方法によれば、テーブル処理部は、記録装置が記録するフォント群の各々に基づき、所定の汎用文字コードによって規定される汎用文字コード文字の各々について、汎用文字コード文字と、当該汎用文字コード文字に対応するフォントデータが含まれているフォント群を示す情報と、当該フォント群における当該フォントデータの格納位置を示す情報とを対応づけて格納した文字コード変換テーブルを作成又は更新する。このため、記録装置に汎用文字コード文字に係る文字を記録させる際、テーブル処理部により作成又は更新された文字コード変換テーブルを利用することにより、汎用文字コード文字と、プリンターに実際に記憶されたフォントデータとを適切に対応させた上で文字を記録させることが可能となる。
【0012】
また、上記目的を達成するために、本発明は、記録媒体に文字を記録し、記録媒体に文字を記録する際に使用するフォントデータが複数格納されたフォント群を複数記憶した記録装置に接続された記録制御装置を制御する制御部により実行されるプログラムであって、前記制御部を、前記記録装置が記憶する複数のフォント群の各々に基づき、所定の汎用文字コードによって規定される汎用文字コード文字の各々について、汎用文字コード文字と、当該汎用文字コード文字に対応するフォントデータが含まれているフォント群を示す情報と、当該フォント群における当該フォントデータの格納位置を示す情報とを対応づけて格納した文字コード変換テーブルを作成又は更新するテーブル処理部として機能させること、を特徴とする。
このプログラムを実行すれば、テーブル処理部は、記録装置が記録するフォント群の各々に基づき、所定の汎用文字コードによって規定される汎用文字コード文字の各々について、汎用文字コード文字と、当該汎用文字コード文字に対応するフォントデータが含まれているフォント群を示す情報と、当該フォント群における当該フォントデータの格納位置を示す情報とを対応づけて格納した文字コード変換テーブルを作成又は更新する。このため、記録装置に汎用文字コード文字に係る文字を記録させる際、テーブル処理部により作成又は更新された文字コード変換テーブルを利用することにより、汎用文字コード文字と、プリンターに実際に記憶されたフォントデータとを適切に対応させた上で文字を記録させることが可能となる。
【発明の効果】
【0013】
本発明によれば、記録装置に汎用文字コードに係る文字を記録させる際、汎用文字コード文字と、プリンターに実際に記憶されたフォントデータとを適切に対応させた上で文字を記録させることが可能となる。
【図面の簡単な説明】
【0014】
【図1】本実施形態に係る印刷システムの構成を示す図である。
【図2】コードページの構成を示す図である。
【図3】フォント群情報を示す図である。
【図4】設定用ウィンドウを示す図である。
【図5】格納用ウィンドウを示す図である。
【図6】文字コード変換テーブルを示す図である。
【図7】ホストコンピューターの動作を示すフローチャートである。
【図8】ホストコンピューターの動作を示すフローチャートである。
【図9】印刷コマンドを示す図である。
【発明を実施するための形態】
【0015】
以下、図面を参照して本発明の実施形態について説明する。
図1は、本実施形態に係る印刷システム1の構成を概略的に示す図である。
図1に示すように、ホストコンピューター10(記録制御装置)と、このホストコンピューター10と通信可能に接続され、ホストコンピューター10によって制御されるプリンター20(記録装置)とを備えている。
ホストコンピューター10は、ホスト側制御部11と、ホスト側表示部12と、ホスト側入力部13と、入出力インターフェイス14と、ホスト側記憶部15とを備えている。
ホスト側制御部11は、ホストコンピューター10の各部を中枢的に制御するものであり、演算実行部としてのCPUや、このCPUに実行される基本制御プログラムや、この基本制御プログラムに係るデータ等を不揮発的に記憶するROMや、CPUに実行されるプログラムやこのプログラムに係るデータ等を一時的に記憶するRAM、その他の周辺回路等を備えている。ホストコンピューター10には、プリンター20を制御するためのプログラムであるプリンタードライバーが予めインストールされており、ホスト側制御部11は、当該プリンタードライバーを実行することにより、プリンター20を制御する。
図1に示すように、ホスト側制御部11は、テーブル処理部16と、フォント群情報更新処理部17とを備えているが、これについては、後述する。
【0016】
ホスト側表示部12は、液晶ディスプレイパネルや、有機ELパネル等の表示パネルを備え、ホスト側制御部11の制御の下、表示パネルに各種情報を表示する。
ホスト側入力部13は、キーボードや、マウス等の入力デバイスに接続され、これら入力デバイスの出力信号をホスト側制御部11に出力する。
入出力インターフェイス14は、USBポートやパラレルプリンターポート等のポートを介してプリンター20に接続され、ホスト側制御部11の制御の下、プリンター20との間で通信規格に準拠した通信を行う。
ホスト側記憶部15は、各種データを書き換え可能に記憶する部位であり、ハードディスクや、EEPROM等の記憶装置を備えている。ホスト側記憶部15には、フォント群情報FJ(フォント群情報FJ0〜フォント群情報FJ255)と、Unicode(汎用文字コード)に関する情報を含む文字コード変換テーブル18とが記憶される。ホスト側記憶部15は、フォント群情報FJを記憶するフォント群情報記憶部として機能する。
【0017】
プリンター20は、プリンター側制御部21と、プリントエンジン22と、プリンター側表示部23と、プリンター側入力部24と、インターフェイス部25と、プリンター側記憶部26と、を備えている。
プリンター側制御部21は、プリンター20の各部を中枢的に制御するものであり、ホスト側制御部11と同様、CPUや、ROM、RAM、その他の周辺回路等を備えている。
プリントエンジン22は、プリンター側制御部21の制御の下、記録媒体に対し画像を記録する印刷ヘッドや、この印刷ヘッドを駆動する印刷ヘッド駆動機構、記録媒体を搬送する搬送機構等の、記録媒体に対して画像を記録するための装置や機構等を制御して、記録媒体へ画像を記録する。
【0018】
プリンター側表示部23は、液晶表示パネル等の表示パネルや、LED等を備え、これらを介してプリンター20の状態等の各種情報を報知する。
プリンター側入力部24は、電源スイッチや選択スイッチ等の各種スイッチを備え、これらスイッチに対する操作を検出し、プリンター側制御部21に入力する。
インターフェイス部25は、プリンター側制御部21の制御の下、ホストコンピューター10との間で通信規格に準拠した通信を行う。
プリンター側記憶部26は、各種データを書き換え可能に記憶する部位であり、ハードディスクや、EEPROM等の記憶装置を備えている。プリンター側記憶部26には、コードページCP(フォント群、コードページCP0〜コードページCP255)が記憶されている。
【0019】
図2は、コードページCPを模式的に示す図である。
本実施形態では、コードページCPは、コードページCP0〜コードページCP255の256個のコードページCPがプリンター側記憶部26に記憶されている。コードページCPは、フォントデータが格納されるものであり、本実施形態では、コードページCPは、128個の記憶領域に分割されることにより128個の格納位置(アドレス)が形成され、各格納位置には、1つのフォントデータが格納可能である。すなわち、1つのコードページCPには、128個のフォントデータが格納可能である。格納位置のそれぞれは、0番地(80H)〜127番地(FFH)の128個の番地が割り振られており、コードページCPを示す情報と、コードページCPにおける格納位置を示す情報(50番地(90H))とによって、1つのフォントデータが一意に指定可能である。
フォントデータとは、文字を記録媒体に印字可能な態様で表現する実データのことであり、ドットマトリックスフォントデータや、ベクトルフォントデータ、アウトラインフォントデータ、ビットマップフォントデータや、スケイラブルフォントデータ等が存在する。
【0020】
このように本実施形態では、プリンター側記憶部26に、全てのフォントデータが格納されたコードページCPが1つ記憶されるのではなく、限られた個数(128個)のフォントデータを格納可能なコードページCPが複数(256個)記憶される構成となっている。これにより、日本語に対応するフォントデータを格納するコードページCPと、英語に対応するフォントデータを格納するコードページCPとを個別に記憶することができ、日本語に専用的に対応するプリンター20に対しては、日本語に対応するフォントデータを格納するコードページCPのみを記憶させたり、英語に専用的に対応するプリンター20に対しては、英語に対応するフォントデータを格納するコードページCPのみを記憶させたりすることができる。これにより、必要なコードページCPのみをプリンター20のプリンター側記憶部26に記憶させることが可能となり、記憶領域の効率的利用が実現できると共に、プリンター20を製造する上での製造容易性の向上を図ることができる。
なお、本実施形態では、異なるコードページCPに同一のフォントデータが格納されることがある。例えば、コードページCP0が日本語に対応するフォントデータが格納されたコードページCPであり、コードページCP1が英語に対応するフォントデータが格納されたコードページCPであるとすると、日本語においても英語においても共通して使用される「A」や、「@」は、コードページCP0及びコードページCP1のそれぞれに格納される。
【0021】
図3は、フォント群情報FJを模式的に示す図である。
フォント群情報FJは、コードページCPに対応して、コードページCP毎に存在するデータであり、本実施形態では、コードページCP0〜CP255に対応してフォント群情報FJ0〜FJ255が存在している。
図3に示すように、1つのフォント群情報FJは、対応するコードページCPに形成された格納位置と、対応するコードページの番号と、各フォントデータに対応するUnicode文字(汎用文字コード文字)とを対応づけて格納するデータであり、1件のレコードには、格納位置フィールド30と、コードページデータフィールド31と、Unicode文字フィールド32とが含まれている。格納位置フィールド30には、格納位置を示す格納位置データが格納され、コードページデータフィールド31には、対応するコードページの番号が格納され、Unicode文字フィールド32には、Unicode文字を示すUnicode文字データが格納される。
Unicode(汎用文字コード)とは、コンピューター上で、日本語や英語等の異なる言語の文字を1のコードで取り扱う文字コード体系のことである。Unicode文字とは、Unicodeによって規定される1つの文字のことであり、1文字毎に一意のコードが割り振られている。本実施形態では、説明の便宜のため、1つのUnicode文字は、一律に、16ビットのコードからなるものとし、各Unicode文字を4桁の16進数で表現するものとする。
なお上述したように、本実施形態では、異なる複数のコードページCPに同一のフォントデータが格納される場合があるが、これに起因して、異なるフォント群情報FJのUnicode文字フィールド60に、同一のUnicode文字データが格納されている場合がある。
【0022】
ここで、Unicode文字と、フォントデータとの関係について説明する。
Unicode文字を記録媒体に記録する場合、本実施形態に係る印刷システム1では、基本的に以下の流れでUnicode文字に対応する文字の記録が行われる。
まず、ホストコンピューター10において、印刷データを生成可能な所定のアプリケーションが稼働し、Unicode文字を含む画像に係る印刷データが生成される。次いで、印刷データに基づいて、プリンタードライバーを実行するホスト側制御部11が、プリンター20にUnicode文字に係る文字の記録をさせる動作を実行させるための印刷コマンドを生成する。その際、ホスト側制御部11は、後述する手段により、Unicode文字に対応するフォントデータが、いずれのコードページCPにおけるいずれの格納位置に格納されているかを特定する情報を生成し、この情報に基づいて、特定のコードページCPの特定の格納位置に格納されたフォントデータに基づいて、記録媒体の所定の位置にフォントデータに対応する画像を記録する旨の命令を含んだ印刷コマンドを生成する。
次いで、ホスト側制御部11は、生成した印刷コマンドをプリンター20のプリンター側制御部21に出力する。プリンター側制御部21は、入力された印刷コマンドに基づいて、記録媒体への画像の記録を実行する。
このように、1つのUnicode文字に係る文字の記録に際しては、当該1つのUnicode文字と対応するフォントデータが格納されたコードページCP及び当該コードページCPにおける格納位置が特定され、プリンター20は、特定された格納位置に格納されたフォントデータに基づいて、文字に係る画像の記録を実行する。
そして、フォント群情報FJは、コードページCP毎に、各コードページCPに形成された格納位置に格納されているフォントデータと、Unicode文字とを対応づけている。
【0023】
本実施形態では、ユーザーは、ホストコンピューター10を操作することにより、コードページCPに格納されたフォントデータの編集が可能である。ユーザーが使用したいフォントを新たに定義し登録することもできる。ここで、本実施形態において、「コードページCPに格納されたフォントデータの編集」とは、Unicode文字とフォントデータとの対応関係を設定すること、又は、コードページCPのうち、ユーザー編集用のコードページCPとして用意されたコードページ254、255にフォントデータを新たに格納すること、をいう。
なお、ホストコンピューター10には、コードページCPに格納されたフォントデータの編集を行うためのユーザーインターフェースを提供するためのユーティリティなどのソフトウェアが予めインストールされている。
【0024】
図4は、Unicode文字とフォントデータとの対応関係を設定する際に利用されるユーティリティなどのウィンドウである設定用ウィンドウ40を示す図である。
Unicode文字とフォントデータとの対応関係を設定する場合、ユーザーは、ホスト側表示部12に設定用ウィンドウ40を表示する。設定用ウィンドウ40は、上述したソフトウェアの機能によって表示される。そして、ユーザーは、ホスト側入力部13を操作して、文字コード欄41に、対応付けの対象となるUnicode文字を入力する。さらに、コードページ欄42に、当該Unicode文字と対応づけたいフォントデータが格納されているコードページCPを示す値を入力し、格納位置欄43に当該コードページCPにおいて対応づけたいフォントデータが格納されている格納位置を示す値を入力する。文字コード欄41、コードページ欄42、及び、格納位置欄43のそれぞれに適切な値を入力した後、ユーザーは、登録ボタン44を選択する。これにより、Unicode文字とフォントデータとの対応関係が設定される。
【0025】
図5は、コードページ254、255の任意の格納位置にフォントデータを格納する際に利用される格納用ウィンドウ50を示す図である。
コードページ254、255の任意の格納位置にフォントデータを格納する場合、ユーザーは、ホスト側表示部12に格納用ウィンドウ50を表示する。そして、ユーザーは、ホスト側入力部13を操作して、コードページ欄51に、フォントデータを格納するコードページCPとしてコードページ254又はコードページ255のいずれかを示す値を入力し、格納位置欄52に、フォントデータを格納する格納位置を示す値を入力する。次いで、ユーザーは、フォントデータタイプチェックボックス53を利用してフォントデータの種類(本実施形態では、スケイラブルフォント、もしくは、ビットマップフォント、ドットマトリックスフォント、ベクトルフォント)を選択し、ファイル名欄54に、実際のフォントデータが格納されているファイルのファイル名を示す値を入力する。フォントデータが1種類しかない場合は、省略してもよい。実際のフォントデータは、別のフォント作成ユーティリティなどのソフトウェアによって作成することもできる。それぞれの欄へ値を入力した後、ユーザーは、登録ボタン55を選択する。これにより、コードページ欄51及び格納位置欄52に入力した値が示す、プリンター側記憶部26のコードページCPの格納位置に、ファイル名欄54に入力された値が示すファイル名のファイルに格納されたフォントデータが格納される。
【0026】
次いで、ホスト側制御部11が備えるフォント群情報更新処理部17の動作について説明する。なお、フォント群情報更新処理部17の動作は、CPUがROMに記憶されたプログラムを実行する等、ハードウェアとソフトウェアとの協働によって実現される。
上述したように、本実施形態では、ユーザーは、Unicode文字とフォントデータとの対応関係を設定できるが、ユーザーによって対応関係が設定される度に、フォント群情報更新処理部17は、設定された内容を反映して、対応するフォント群情報FJにおける格納位置と、Unicode文字との対応関係を設定する。
また、上述したように、本実施形態では、ユーザーは、コードページ254、255の任意の格納位置にフォントデータを格納することができるが、ユーザーによってコードページ254、255の任意の格納位置にフォントデータが格納される度に、フォント群情報更新処理部17は、これを反映して、対応するフォント群情報FJ(フォント群情報FJ254、又は、フォント群情報FJ255)における格納位置と、Unicode文字との対応関係を設定する。
すなわち、フォント群情報更新処理部17の機能により、各コードページCP0〜CP255と、各フォント群情報FJ0〜FJ255との間で完全に整合性がとれた状態が維持される。
【0027】
次いで、ホスト側制御部11が備えるテーブル処理部16の動作について説明する。
なお、テーブル処理部16の動作は、CPUがROMに記憶されたプログラムを実行する等、ハードウェアとソフトウェアとの協働によって実現される。
テーブル処理部16は、フォント群情報FJに基づいて、文字コード変換テーブル18を生成する。
【0028】
図6は、文字コード変換テーブル18を模式的に示す図である。
文字コード変換テーブル18は、Unicode文字と、当該Unicode文字に対応するフォントデータが格納されたコードページCP及び当該コードページCPにおける格納位置と、を対応づけて記憶するテーブルであり、例として、1件のレコードには、Unicode文字フィールド60と、第1フォント位置情報フィールド61と、第2フォント位置情報フィールド62と、第3フォント位置情報フィールド63とが含まれているものとする。
Unicode文字フィールド60には、Unicode文字を示すUnicode文字データが格納される。第1〜第3フォント位置情報フィールド61〜63には、それぞれ、コードページCP0〜CP255のうちいずれかのコードページCPを示すデータと、当該コードページCPにおける格納位置(アドレス、番地)を示すデータとが組となったフォントデータ位置情報データが格納される。
テーブル処理部16は、フォント群情報FJに基づいて、以下のようにして文字コード変換テーブル18を生成する。
すなわち、テーブル処理部16は、全てのフォント群情報FJのUnicode文字フィールド32を参照し、すべてのフォント群情報FJに格納されているUnicode文字データを取得する。
次いで、テーブル処理部16は、取得したUnicode文字データについて、1種類のUnicode文字データ毎に文字コード変換テーブル18の1件のレコードを生成する。なお、上述したように、異なるフォント群情報FJのUnicode文字フィールド60に、同一のUnicode文字データが格納されている場合があり得るが、その場合であっても、同一のUnicode文字データについて、2件のレコードを生成せずに、1件のレコードを生成する。
【0029】
次いで、テーブル処理部16は、全てのフォント群情報FJの格納位置フィールド30を参照し、各Unicode文字について、対応するフォントデータが格納されているフォントデータが格納されているコードページCPと、当該コードページCPにおける格納位置とを取得する。なお、上述したように、本実施形態では、ある1つのUnicode文字に対応する1つのフォントデータが、異なる複数のコードページCPに格納されていることがある。また、説明の便宜のため、本実施形態では、1つのフォントデータは、4つ以上の異なるコードページCPに格納されることはないものとする。
次いで、テーブル処理部16は、Unicode文字毎に、当該Unicode文字に対応するフォントデータが格納されたコードページCP、及び、当該コードページCPにおける格納位置を示す情報(フォントデータ位置情報)を示すフォントデータ位置情報データを生成し、第1〜第3フォント位置情報フィールド61〜63に格納する。なお、フォントデータ位置情報データが複数存在する場合は、テーブル処理部16は、第1フォント位置情報フィールド61、第2フォント位置情報フィールド62、第3フォント位置情報フィールド63の順に、フォントデータ位置情報データを格納する。
このようにして、テーブル処理部16は、文字コード変換テーブル18を生成する。
【0030】
テーブル処理部16は、文字コード変換テーブル18を、以下のタイミングで生成する。
例えば、テーブル処理部16は、ユーザーによって、コードページCPに格納されたフォントデータの編集が実行され、フォント群情報FJが更新される度に、文字コード変換テーブル18を生成する。これによれば、文字コード変換テーブル18の内容を、ユーザーによる編集が反映された状態とすることができる。
また、例えば、テーブル処理部16は、プリンター20による画像の記録が指示された場合に、文字コード変換テーブル18を生成する。これによれば、詳細は後述するが、最新の文字コード変換テーブル18を用いて、画像の記録を実行することが可能となる。
【0031】
次いで、印刷システム1の動作について図7のフローチャートを用いて説明する。
なお、動作の前提として、ホストコンピューター10に予めインストールされた印刷データを生成可能なソフトウェアの機能によって印刷データが生成され、当該印刷データに係る記録が指示されたものとする(記録ジョブの発生)。そして、印刷データには、Unicode文字が含まれており、印刷データは、このUnicode文字に係る文字のみを記録媒体に記録するためのデータであるものとする。但し、従来のように、ホストコンピューター10のソフトウェアからの印刷データの文字を、当該文字が含まれるコードページを特定し、さらにそのコードページの中の当該文字の番地(アドレス)を特定して、記録する機能も備えている。
また、以下の動作において、ホストコンピューター10は、文字コード変換テーブル18に基づいて、Unicode文字をフォントデータ位置情報に変換する変換処理部として機能する。
【0032】
まず、ホストコンピューター10のホスト側制御部11は、印刷データを解析し、印刷データに含まれるUnicode文字を抽出する(ステップSA1)。
次いで、ホスト側制御部11は、抽出したUnicode文字の全てについて、ステップSA3〜SA5の処理を実行したか否かを判別する(ステップSA2)。すなわち、ステップSA3〜SA5の処理は、Unicode文字ごとに全てのUnicode文字について実行される。
抽出したUnicode文字の全てについて、処理が実行されていない場合(ステップSA2:NO)、ホスト側制御部11は、未だ処理対象となっていないUnicode文字を選択する(ステップSA3)。ここで、ホスト側制御部11は、複数のUnicode文字によって文字列が形成されている場合は、文字列の先頭のUnicode文字から順に処理対象のUnicode文字とする。すなわち、Unicode文字が複数含まれる場合、Unicode文字が所定の順序で処理対象となる。
次いで、ホスト側制御部11は、文字コード変換テーブル18を参照し(ステップSA4)、ステップSA3で処理対象としたUnicode文字に対応するフォントデータが格納されたコードページCPと、当該コードページCPにおける格納位置を特定し、Unicode文字をフォントデータ位置情報(特定のコードページCPと特定の格納位置を示す情報)に変換し(ステップSA5)、処理手順をステップSA2に戻す。
ここで、ステップSA5の処理である変換処理について図8のフローチャートを用いて詳述する。
【0033】
図8は、変換処理時におけるホスト側制御部11の動作を示すフローチャートである。
まず、ホスト側制御部11は、ステップSA2で処理対象として選択されたUnicode文字(以下、「対象Unicode文字」という)に対応する文字コード変換テーブル18のレコードを特定する(ステップSB1)。次いで、ホスト側制御部11は、特定したレコードの第1〜第3フォント位置情報フィールド61〜63を参照し(ステップSB2)、Unicode文字に対応するフォントデータが複数の異なるコードページCPに格納されているか否かを判別する(ステップSB3)。なお、ステップSB3では、第2フォント位置情報フィールド62にフォントデータ位置情報データが格納されている場合は、Unicode文字に対応するフォントデータが複数の異なるコードページCPに格納されていると判別し、そうでない場合は、Unicode文字に対応するフォントデータが複数の異なるコードページCPに格納されていないと判別する。
ステップSB3において、対象Unicode文字に対応するフォントデータが複数の異なるコードページCPに格納されていない場合(ステップSB3:NO)、ホスト側制御部11は、ステップSB1で特定したレコードの第1フォント位置情報フィールド61に格納されているフォントデータ位置情報データを取得し、対象Unicode文字を、当該フォントデータ位置情報データが示すフォントデータ位置情報に変換する(ステップSB4)。
【0034】
一方、対象Unicode文字に対応するフォントデータが複数の異なるコードページCPに格納されている場合(ステップSB3:YES)、ホスト側制御部11は、現在の対象Unicode文字の直近(直前)に対象Unicode文字であったUnicode文字(以下「直近Unicode文字」という)から変換したフォントデータ位置情報を取得し、フォントデータ位置情報に含まれるコードページCPを示す情報を取得する(ステップSB5)。ここで取得した情報が示すコードページCPを「直近コードページTCP」というものとする。なお、ホスト側制御部11は、直近Unicode文字から変換したフォントデータ位置情報をホスト側記憶部15に記憶しているものとする。
次いで、ホスト側制御部11は、ステップSB1で特定したレコードの第1〜第3フォント位置情報フィールド61〜63を参照し、直近コードページTCPと同一のコードページCPに、対象Unicode文字に対応するフォントデータが格納されているか否かを判別する(ステップSB6)。このステップSB6の判別は、ステップSB1で特定したレコードの第1〜第3フォント位置情報フィールド61〜63のいずれかに、直近コードページTCPと同一のコードページCPを示す情報を含むフォントデータ位置情報データが格納されているか否かを判別することによって行われる。
格納されていない場合(ステップSB6:NO)、ホスト側制御部11は、ステップSB1で特定したレコードの第1フォント位置情報フィールド61に格納されているフォントデータ位置情報データを取得し、取得したフォント位置情報データに基づいて、対象Unicode文字を、当該フォントデータ位置情報データが示すフォントデータ位置情報に変換する(ステップSB7)。
一方、格納されている場合(ステップSB6:YES)、ホスト側制御部11は、第1〜第3フォント位置情報フィールド61〜63に格納されているフォントデータ位置情報データのうち、直近コードページTCPと同一のコードページCPを示す情報を含むフォントデータ位置情報データを取得し、取得したフォント位置情報データに基づいて、対象Unicode文字を、当該フォントデータ位置情報データが示すフォント位置情報に変換する(ステップSB8)。
【0035】
次いで、図8が示す変換処理について、図6を用いて具体的に説明する。
ここで、文字コード変換テーブル18が図6のような状態にあるものとする。すなわち、Unicode文字=「U+0001」(以下、「文字A」と表現する)に対応するフォントデータは、コードページCP2の1番地に格納されており、Unicode文字=「U+0002」(以下、「文字B」と表現する)に対応するフォントデータは、コードページCP1の3番地、コードページCP2の4番地、及び、コードページCP3の1番地に格納されており、Unicode文字=「U+0003」(以下、「文字C」と表現する)に対応するフォントデータは、コードページCP1の1番地、及び、コードページCP3の5番地に格納されている。そして、このような状態において、文字A、文字B、文字Cの順に変換処理が行われるものとする。
【0036】
この場合において、まず、文字Aについて変換処理を行う場合、文字Aに対応するフォントデータは、異なる複数のコードページCPに格納されていないため(ステップSB3:NO)、ホスト側制御部11は、第1フォント位置情報フィールド61に格納されたフォントデータ位置情報データに基づいて、文字Aをフォントデータ位置情報(コードページCP、及び、当該コードページCPにおける格納場所を指定する情報)に変換する(ステップSB4)。
次いで、文字Bについて変換処理を行う場合、文字Bに対応するフォントデータは、異なる複数のコードページCPに格納されているため(ステップSB3:YES)、ホスト側制御部11は、直近Unicode文字である文字Aから変換されたフォントデータ位置情報に含まれる情報が示すコードページCP(直近コードページTCP)であるコードページCP2を取得する(ステップSB5)。そして、ホスト側制御部11は、文字Bに対応するレコードの第1〜第3フォント位置情報フィールド61〜63を参照し、コードページCP2(直近コードページTCP)に文字Bに対応するフォントデータが格納されているか否かを判別する(ステップSB6)。文字Bに対応するレコードの第2フォント位置情報フィールド62に格納されたフォントデータ位置情報データが示すように、文字Bに対応するフォントデータはコードページCP2に格納されているため(ステップSB6:YES)、ホスト側制御部11は、第2フォント位置情報フィールド62に格納されたフォントデータ位置情報データ(コードページCP2を示す情報を含むフォントデータ位置情報データ)に基づいて、文字Bを、フォントデータ位置情報に変換する(ステップSB8)。
【0037】
次いで、文字Cについて変換処理を行う場合、文字Cに対応するフォントデータは、異なる複数のコードページCPに格納されているため(ステップSB3:YES)、ホスト側制御部11は、直近Unicode文字である文字Bから変換されたフォントデータ位置情報に含まれる情報が示すコードページCP(直近コードページTCP)であるコードページCP2を取得する(ステップSB5)。そして、ホスト側制御部11は、文字Cに対応するレコードの第1〜第3フォント位置情報フィールド61〜63を参照し、コードページCP2(直近コードページTCP)に文字Cに対応するフォントデータが格納されているか否かを判別する(ステップSB6)。文字Cに対応するフォントデータは、コードページCP2に格納されていないため(ステップSB6:NO)、ホスト側制御部11は、第1フォント位置情報フィールド61に格納されたフォントデータ位置情報データに基づいて、文字Cを、フォントデータ位置情報に変換する(ステップSB7)。
【0038】
さて、前掲図7に戻り、ステップSA2において、全てのUnicode文字に対する処理が終了した場合(ステップSA2:YES)、ホスト側制御部11は、印刷コマンドを生成し(ステップSA6)、生成した印刷コマンドをプリンター20に出力する(ステップSA7)。
【0039】
図9は、ホスト側制御部11によって生成された印刷コマンドを模式的に示す図である。
図9に示すように、印刷コマンドでは、記録媒体に記録すべき文字に対応するフォントデータが「コードページ切替コマンド」と「格納位置指定コマンド」との組み合わせによって特定される。
ここで、上述した変換処理により、Unicode文字の各々は、フォントデータ位置情報に変換されるが、このフォントデータ位置情報には、当該Unicode文字が格納されたコードページCPを示す情報と、当該コードページCPにおける格納位置を示す情報とが含まれている。これを踏まえ、ホスト側制御部11は、印刷コマンドの生成にあたり、変換処理の処理結果に基づいてUnicode文字毎に、プリンター側制御部21が参照するコードページCPをUnicode文字に対応するフォントデータが格納されたコードページCPに切り替えるコマンド(コードページ切替コマンド)及び当該コードページCPにおいて格納位置を指定するコマンド(格納位置指定コマンド)を生成する。印刷コマンドが入力されたホスト側制御部11では、コードページ切替コマンド、及び、格納位置指定コマンドに基づいて、記録すべき文字に対応する1つのフォントデータを特定し、特定したフォントデータを利用して文字に係る画像の記録を実行する。
なお、コードページ切替コマンドは、フォントデータの格納位置の特定に際し、プリンター側制御部21が参照すべきコードページCPを切り替えるためのコマンドである。従って、例えば、連続する2つのUnicode文字に対応するフォントデータが同一のコードページCPに存在する場合、1つめのUnicode文字を特定するために参照すべきコードページCPと、2つめのUnicode文字を特定するために参照すべきコードページCPとを切り替える必要がない。従って、この場合、印刷コマンドにおいて、2つめのUnicode文字を特定するためのコマンドについて、コードページ切替コマンドが必要ない。
【0040】
ところで、本実施形態では、複数のUnicode文字を連続して変換処理する場合において、1のUnicode文字を変換処理する際、当該1のUnicode文字に対応するフォントデータが複数の異なるコードページCPに格納されている場合は、当該1のUnicode文字に対応するフォントデータが直近コードページTCPに格納されているか否かを判別し、格納されている場合は、当該直近コードページTCPと同一のコードページCPを示す情報、及び、当該コードページCPにおける格納位置を示す情報が含まれるフォントデータ位置情報にUnicode文字を変更する。このため、連続するUnicode文字に対応するフォントデータが同一のコードページCPに格納されている場合、これらUnicode文字から変換されたフォントデータ位置情報に含まれるコードページCPを示す情報が同一となる。この場合、印刷コマンドの生成にあたり、コードページ切替コマンドの個数を減らすことができ、コマンドの減少に伴う処理効率の向上、及び、ホストコンピューター10とプリンター20との間で送受信されるデータ量の減少に伴う通信効率の向上を図ることができる。
【0041】
以上説明したように、本実施形態では、ホスト側制御部11のテーブル処理部16は、プリンター20が記憶するコードページCP(フォント群)の各々に基づいたフォント群情報FJに基づいて、Unicode文字と、当該Unicode文字に対応するフォントデータが含まれているコードページCPを示す情報と、当該コードページCPおける格納位置を示す情報とを対応づけて格納した文字コード変換テーブル18を作成又は更新する。
これによれば、プリンター20にUnicode文字に係る文字を記録させる際、テーブル処理部16により作成又は更新された文字コード変換テーブル18を利用することにより、Unicode文字と、プリンター20に実際に記憶されたフォントデータとを適切に対応させた上で文字を記録させることが可能となる。
【0042】
また、本実施形態に係るホストコンピューター10は、プリンター20が記憶する複数のコードページCPの各々について、コードページCPに格納されている複数のフォントデータと、これら複数のフォントデータの各々に対応するUnicode文字とを対応づけて格納したフォント群情報FJをホスト側記憶部15に記憶する。そして、テーブル処理部16は、ホスト側記憶部15に記憶されたフォント群情報FJに基づいて、文字コード変換テーブル18を作成又は更新する。
これによれば、テーブル処理部16は、フォント群情報FJに基づいて、実際にプリンター20に記憶されたフォントデータに対応した文字コード変換テーブル18の生成又は更新を行うことができる。
【0043】
また、本実施形態に係るホスト側制御部11は、プリンター20による文字の記録を指示する記録ジョブが発生した場合に、文字コード変換テーブル18に基づいて、印刷データに含まれるUnicode文字を、Unicode文字に対応するフォントデータが含まれているコードページCPを示す情報及びコードページCPにおける当該フォントデータの格納位置を示す情報を含むフォントデータ位置情報に変換する。
これによれば、ホスト側制御部11が文字コード変換テーブル18に基づいてUnicode文字をフォントデータ位置情報に変換することにより、プリンター20に実際に記憶されたフォントデータを反映して、Unicode文字とフォントデータとを対応させることができる。
【0044】
また、本実施形態では、同一のフォントデータが異なるコードページCPに格納される場合がある。そして、ホスト側制御部11は、印刷データにUnicode文字が複数含まれている場合、所定の順序でUnicode文字をフォントデータ位置情報に変換すると共に、1のUnicode文字の変換に際し、直近に変換したUnicode文字に対応するフォントデータが格納されたコードページCPを優先して、当該1のUnicode文字に対応するフォントデータが格納されているか否かを判別し、格納されている場合は、当該1のUnicode文字を、当該コードページCPを示す情報及び当該コードページCPにおける当該フォントデータの格納位置を示す情報を含むフォントデータ位置情報に変換する。
これによれば、複数のUnicode文字をフォントデータ位置情報に変換する場合において、連続した汎用文字コード文字について、対応するフォントデータが同一のフォント群に存在する場合に、処理効率の向上を図ることができる。
【0045】
また、本実施形態では、ユーザーは、コードページCPに格納されたフォントデータの編集が可能である。
これによれば、Unicode文字とフォントデータとの関係を任意に変更することができ、ユーザーが使用したいフォントを作成して割り当てて、使用可能にできる利便性の向上を図ることができる。
【0046】
また、本実施形態では、ホストコンピューター10は、フォント群情報FJを、プリンターが記憶している複数のコードページCPに対応させて更新するフォント群情報更新処理部17を備えたようにしてもよい。
これによれば、フォント群情報FJを、プリンター20に実際に記憶されているコードページCPが反映された情報とすることができる。
【0047】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、上述した実施形態では、プリンター20は、128個のフォントデータを格納可能なコードページCPを256個記憶していたが、プリンター20が記憶するコードページCPの態様はこれに限らず、プリンター20に仕様等に応じて、適宜変更可能である。
【符号の説明】
【0048】
10…ホストコンピューター(記録制御装置)、11…ホスト側制御部(変換処理部)、15…ホスト側記憶部(フォント群情報記憶部)、16…テーブル処理部、17…フォント群情報更新処理部、18…文字コード変換テーブル、20…プリンター(記録装置)、CP…コードページ、FJ…フォント群情報。

【特許請求の範囲】
【請求項1】
記録媒体に文字を記録する記録装置を制御する記録制御装置において、
前記記録装置は、記録媒体に文字を記録する際に使用するフォントデータが複数格納されたフォント群を複数記憶しており、
前記記録装置が記憶する複数のフォント群の各々に基づき、所定の汎用文字コードによって規定される汎用文字コード文字の各々について、汎用文字コード文字と、当該汎用文字コード文字に対応するフォントデータが含まれているフォント群を示す情報と、当該フォント群における当該フォントデータの格納位置を示す情報とを対応づけて格納した文字コード変換テーブルを作成又は更新するテーブル処理部を備えたこと、
を特徴とする記録制御装置。
【請求項2】
前記記録装置が記憶する複数のフォント群毎に、各フォント群におけるフォントデータの格納位置と、当該格納位置に格納されているフォントデータに対応する汎用文字コード文字とを対応づけて格納したフォント群情報を記憶するフォント群情報記憶部をさらに備え、
前記テーブル処理部は、前記フォント群情報記憶部により記憶された前記フォント群情報に基づいて、汎用文字コード文字の各々について、汎用文字コード文字と、当該汎用文字コード文字に対応するフォントデータが含まれているフォント群を示す情報と、当該フォント群における当該フォントデータの格納位置を示す情報とを対応づけて格納した文字コード変換テーブルを作成又は更新すること、
を特徴とする請求項1に記載の記録制御装置。
【請求項3】
前記記録装置による文字の記録を指示する記録ジョブが発生した場合に、前記テーブル処理部により作成又は更新された前記文字コード変換テーブルに基づいて、当該記録ジョブに含まれる汎用文字コード文字を、当該汎用文字コード文字に対応するフォントデータが含まれているフォント群を示す情報及び当該フォント群における当該フォントデータの格納位置を示す情報を含むフォントデータ位置情報に変換する変換処理部を備えたこと、
を特徴とする請求項1又は2記載の記録制御装置。
【請求項4】
同一のフォントデータが異なる前記フォント群に格納される場合を有し、
前記変換処理部は、前記記録ジョブに汎用文字コード文字が複数含まれている場合、所定の順序で汎用文字コード文字を前記フォントデータ位置情報に変換すると共に、1の汎用文字コード文字の変換に際し、直近に変換した汎用文字コード文字に対応するフォントデータが格納されたフォント群を優先して、当該1の汎用文字コード文字に対応するフォントデータが格納されているか否かを判別し、格納されている場合は、当該1の汎用文字コード文字を、当該フォント群を示す情報及び当該フォント群における当該フォントデータの格納位置を示す情報を含むフォントデータ位置情報に変換すること、
を特徴とする請求項1乃至3のいずれかに記載の記録制御装置。
【請求項5】
フォント群に格納されたフォントデータの編集が可能に構成されたことを特徴とする記録制御装置。
【請求項6】
前記記録装置が記憶している複数の前記フォント群を示す情報を取得し、前記フォント群情報を複数の前記フォント群に対応させて更新するフォント群情報更新処理部を備えたこと、
を特徴とする請求項1乃至4のいずれかに記載の記録制御装置。
【請求項7】
記録媒体に文字を記録し、記録媒体に文字を記録する際に使用するフォントデータが複数格納されたフォント群を複数記憶した記録装置を制御して、
前記記録装置が記憶する複数のフォント群の各々に基づき、所定の汎用文字コードによって規定される汎用文字コード文字の各々について、汎用文字コード文字と、当該汎用文字コード文字に対応するフォントデータが含まれているフォント群を示す情報と、当該フォント群における当該フォントデータの格納位置を示す情報とを対応づけて格納した文字コード変換テーブルを作成又は更新し、この文字コード変換テーブルに基づいて、汎用文字コード文字を、当該汎用文字コード文字に対応するフォントデータが含まれているフォント群を示す情報及び当該フォント群における当該フォントデータの格納位置を示す情報を含むフォントデータ位置情報に変換すること、
を特徴とする記録装置の制御方法。
【請求項8】
記録媒体に文字を記録し、記録媒体に文字を記録する際に使用するフォントデータが複数格納されたフォント群を複数記憶した記録装置に接続された記録制御装置を制御する制御部により実行されるプログラムであって、
前記制御部を、
前記記録装置が記憶する複数のフォント群の各々に基づき、所定の汎用文字コードによって規定される汎用文字コード文字の各々について、汎用文字コード文字と、当該汎用文字コード文字に対応するフォントデータが含まれているフォント群を示す情報と、当該フォント群における当該フォントデータの格納位置を示す情報とを対応づけて格納した文字コード変換テーブルを作成又は更新するテーブル処理部として機能させること、
を特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2011−108171(P2011−108171A)
【公開日】平成23年6月2日(2011.6.2)
【国際特許分類】
【出願番号】特願2009−265188(P2009−265188)
【出願日】平成21年11月20日(2009.11.20)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】