(57)【要約】【課題】プリンタにおいてＵｎｉｃｏｄｅに基づいて文字を印刷する際に、Ｕｎｉｃｏｄｅ上で印字幅を規定していない曖昧文字について、任意の印字幅を選択して印刷できるようにする。【解決手段】Ｕｎｉｃｏｄｅ上で印字幅を規定していない曖昧文字について、どの印字幅で印字するかを示した印字幅指定情報を指定情報記憶部５５に記憶させることによって印字幅を設定する印字幅設定部５４と、当該指定情報記憶部５５に記憶された印字幅指定情報により指定される印字幅で曖昧文字を印刷するように制御する印刷制御部５２とを備え、指定情報記憶部５５に記憶させる印字幅指定情報を変えることによって曖昧文字の印字幅を任意に設定できるようにして、プリンタ２００によってあらかじめ決められた固定の印字幅ではなく、任意に設定した印字幅で印刷を実行することができるようにする。【選択図】図４
2016047625.tif 000002
【特許請求の範囲】
【請求項１】
文字を符号化した文字コードを含む印刷データをホストコンピュータから入力し、当該入力した文字コードに基づいて文字列の印刷を実行するプリンタであって、
上記文字コード上で印字幅を規定していない曖昧文字について、どの印字幅で印字するかを示した印字幅指定情報を記憶する指定情報記憶部と、
上記指定情報記憶部に対して上記印字幅指定情報を記憶させることにより、上記印字幅を設定する印字幅設定部と、
上記指定情報記憶部に記憶された上記印字幅指定情報により指定される印字幅で上記曖昧文字を印刷するように制御する印刷制御部とを備えたことを特徴とするプリンタ。
【請求項２】
上記印字幅設定部は、上記ホストコンピュータまたは上記プリンタにおけるユーザによる印字幅の指定操作に基づいて特定された上記印字幅指定情報を上記指定情報記憶部に記憶させることにより、上記印字幅を設定することを特徴とする請求項１に記載のプリンタ。
【請求項３】
上記印字幅設定部は、上記プリンタの電源がオンにされたとき、上記ユーザによる印字幅の指定操作に基づいて不揮発性メモリに登録された上記印字幅指定情報を、当該不揮発性メモリから取得して上記指定情報記憶部に記憶させることにより、上記印字幅を設定することを特徴とする請求項２に記載のプリンタ。
【請求項４】
上記印字幅設定部は、上記ユーザによる印字幅の指定操作に基づいて生成された印字幅指定コマンドに従って、上記印字幅指定情報を上記不揮発性メモリに登録することを特徴とする請求項３に記載のプリンタ。
【請求項５】
上記印字幅設定部は、上記印刷データに基づく印刷の実行時に、上記ホストコンピュータにおける上記ユーザによる印字幅の指定操作に基づいて生成された印字幅指定コマンドに従って、上記印字幅指定情報を特定して上記指定情報記憶部に記憶させることにより、上記印字幅を設定することを特徴とする請求項２に記載のプリンタ。
【請求項６】
上記印字幅設定部は、上記ホストコンピュータまたは上記プリンタに記憶されているロケール情報に基づいて上記不揮発性メモリに登録された上記印字幅指定情報を、当該不揮発性メモリから取得して上記指定情報記憶部に記憶させることにより、上記印字幅を設定することを特徴とする請求項１に記載のプリンタ。
【請求項７】
上記印字幅設定部は、上記ロケール情報に基づいて生成された印字幅指定コマンドに従って、上記印字幅指定情報を上記不揮発性メモリに登録することを特徴とする請求項６に記載のプリンタ。
【請求項８】
上記印字幅設定部は、上記印刷データに基づく印刷の実行時に、上記印刷データにより構成される文字列に基づいて上記ホストコンピュータにおいて生成された印字幅指定コマンドに従って、上記印字幅指定情報を特定して上記指定情報記憶部に記憶させることにより、上記印字幅を設定することを特徴とする請求項１に記載のプリンタ。
【請求項９】
ホストコンピュータと、当該ホストコンピュータから印刷データを入力して印刷を実行するプリンタとを備えた印刷システムであって、
上記ホストコンピュータは、
文字を符号化した文字コードを含む印刷データを生成する印刷データ生成部と、
上記印刷データ生成部により生成された上記印刷データを上記プリンタに出力する印刷データ出力部とを備え、
上記プリンタは、
上記ホストコンピュータから上記印刷データを入力する印刷データ入力部と、
上記文字コード上で印字幅を規定していない曖昧文字について、どの印字幅で印字するかを示した印字幅指定情報を記憶する指定情報記憶部と、
上記指定情報記憶部に対して上記印字幅指定情報を記憶させることにより、上記印字幅を設定する印字幅設定部と、
上記印刷データ入力部により入力された上記印刷データに基づいて上記文字列の印刷の実行を制御する印刷制御部とを備え、
上記印刷制御部は、上記指定情報記憶部に記憶された上記印字幅指定情報により指定される印字幅で上記曖昧文字を印刷するように制御することを特徴とする印刷システム。
【請求項１０】
上記印字幅設定部は、上記ホストコンピュータまたは上記プリンタにおけるユーザによる印字幅の指定操作に基づいて特定された上記印字幅指定情報を上記指定情報記憶部に記憶させることにより、上記印字幅を設定することを特徴とする請求項９に記載の印刷システム。
【請求項１１】
上記印字幅設定部は、上記プリンタの電源がオンにされたとき、上記ユーザによる印字幅の指定操作に基づいて不揮発性メモリに登録された上記印字幅指定情報を、当該不揮発性メモリから取得して上記指定情報記憶部に記憶させることにより、上記印字幅を設定することを特徴とする請求項１０に記載の印刷システム。
【請求項１２】
上記印字幅設定部は、上記印刷データに基づく印刷の実行時に、上記ホストコンピュータにおける上記ユーザによる印字幅の指定操作に基づいて生成された印字幅指定コマンドに従って、上記印字幅指定情報を特定して上記指定情報記憶部に記憶させることにより、上記印字幅を設定することを特徴とする請求項１０に記載の印刷システム。
【請求項１３】
上記ホストコンピュータは、当該ホストコンピュータに記憶されているロケール情報に基づいて印字幅指定コマンドを生成し、上記プリンタに出力するコマンド出力部を更に備え、
上記プリンタの印字幅設定部は、上記プリンタの電源がオンにされたとき、上記コマンド出力部より出力された上記印字幅指定コマンドに従って不揮発性メモリに登録された上記印字幅指定情報を、当該不揮発性メモリから取得して上記指定情報記憶部に記憶させることにより、上記印字幅を設定することを特徴とする請求項９に記載の印刷システム。
【請求項１４】
上記ホストコンピュータは、上記印刷データにより構成される文字列に基づいて、どの印字幅で印字するかを特定し、当該特定した印字幅で印字することを指示するための印字幅指定コマンドを生成して上記プリンタに出力し、
上記プリンタの上記印字幅設定部は、上記ホストコンピュータから送られてくる上記印字幅指定コマンドに従って、上記印字幅指定情報を特定して上記指定情報記憶部に記憶させることにより、上記印字幅を設定することを特徴とする請求項９に記載の印刷システム。
【請求項１５】
文字を符号化した文字コードを含む印刷データをホストコンピュータからプリンタに入力し、当該入力した文字コードに基づいて文字列の印刷の実行を制御する印刷制御方法であって、
上記プリンタの印字幅設定部が、上記文字コード上で印字幅を規定していない曖昧文字について、どの印字幅で印字するかを示した印字幅指定情報を指定情報記憶部に記憶させることにより、上記印字幅を設定する第１のステップと、
上記プリンタの印刷制御部が、上記印刷データに従って上記文字列の印刷を実行する第２のステップとを有し、
上記第２のステップにおいて、上記印刷制御部は、上記指定情報記憶部に記憶された上記印字幅指定情報により指定される印字幅で上記曖昧文字を印刷するように制御することを特徴とする印刷制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタ、印刷システムおよび曖昧文字の印刷制御方法に関し、特に、文字を符号化した文字コードを含む印刷データをホストコンピュータから入力し、当該入力した文字コードに基づいて文字列の印刷を実行するプリンタ、およびこれを用いた印刷システムに用いて好適なものである。
【背景技術】
【０００２】
従来、ホストコンピュータとプリンタとを接続し、ホストコンピュータで作成した文書等の印刷データをプリンタに送信して印刷するようにした印刷システムが広く使われている。この種の印刷システムでは、文字を符号化した文字コードをホストコンピュータからプリンタに出力するともに、使用するフォントを指定して印刷を実行するようになされている。
【０００３】
ところで、近年では、グローバル化に伴って、複数言語の文字を混在して扱うコンピュータが増えてきている。また、スマートフォンやタブレット端末のように、使用される地域が特定の国に限定されず、世界各国に出荷されて使用され得るモバイル端末も多用されている。このような複数言語対応型のコンピュータやモバイル端末では、画面表示の際に用いる文字コードとして、Ｕｎｉｃｏｄｅが使われるケースが多い。特に、モバイル端末では、Ｕｎｉｃｏｄｅを用いることがスタンダードになりつつある。
【０００４】
Ｕｎｉｃｏｄｅ上では、全角／半角のどちらで印刷すべきかを明確に規定していない文字（以下、曖昧文字という）がある。例えば、αβγ・・・のギリシャ文字などが曖昧文字に該当する。従来、このような曖昧文字については、プリンタの設定により全角／半角のどちらか片方に固定して印刷するようにしていた。そのため、全角／半角のどちらにするか、ユーザが印字幅を選択して印刷することができなかった。その結果、例えば曖昧文字以外の文字にあわせて適切な印字幅を選択することができないため、印字面での桁ずれを調整することができないという問題があった。
【０００５】
なお、文字コードに対応したグリフイメージが国や地域間で異なる文字（「骨」「刃」など）を印刷する場合に、ユーザが所望のグリフイメージを選択して印刷できるようにした技術が提案されている（例えば、特許文献１参照）。この特許文献１には、プリンタの操作パネルにグリフ選択ボタンを表示させ、ユーザが何れかの選択ボタンを押下することによって所望のグリフイメージを選択可能にすることが記載されている（図１１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−２３２２７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１に記載の技術では、所望のグリフイメージを選択して印刷することはできるものの、曖昧文字について所望の印字幅を選択して印刷することはできない。
【０００８】
本発明は、このような問題を解決するために成されたものであり、プリンタにおいてＵｎｉｃｏｄｅに基づいて文字を印刷する際に、Ｕｎｉｃｏｄｅ上で印字幅を規定していない曖昧文字について、任意の印字幅を選択して印刷できるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
上記した課題を解決するために、本発明では、文字コード上で印字幅を規定していない曖昧文字について、どの印字幅で印字するかを示した印字幅指定情報を指定情報記憶部に記憶させることによって印字幅を設定し、当該指定情報記憶部に記憶された印字幅指定情報により指定される印字幅で曖昧文字を印刷するように制御している。
【発明の効果】
【００１０】
上記のように構成した本発明によれば、プリンタにおいてＵｎｉｃｏｄｅに基づいて文字を印刷する際に、Ｕｎｉｃｏｄｅ上で印字幅を規定していない曖昧文字について、指定情報記憶部に記憶させる印字幅指定情報を変えることによって曖昧文字の印字幅を任意に設定することが可能となる。これにより、プリンタによってあらかじめ決められた固定の印字幅ではなく、指定情報記憶部に任意に記憶させた印字幅指定情報に従って任意の印字幅を選択して印刷を実行することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態による印刷システムの構成例を示す図である。
【図２】本実施形態によるホストコンピュータのハードウェア構成例を示す図である。
【図３】本実施形態によるプリンタのハードウェア構成例を示す図である。
【図４】第１の実施形態によるホストコンピュータおよびプリンタの機能構成例を示す図である。
【図５】本実施形態によるＲＡＭおよび不揮発性メモリの記憶例を示す図である。
【図６】第１の実施形態によるプリンタの動作例を示すフローチャートである。
【図７】第２の実施形態によるホストコンピュータおよびプリンタの機能構成例を示す図である。
【発明を実施するための形態】
【００１２】
（第１の実施形態）
以下、本発明の一実施形態を図面に基づいて説明する。図１は、第１の実施形態による印刷システムの構成例を示す図である。図１に示すように、第１の実施形態による印刷システムは、ホストコンピュータ１００と、当該ホストコンピュータ１００から印刷データを入力して印刷を実行するプリンタ２００とを備えて構成されている。
【００１３】
ホストコンピュータ１００とプリンタ２００との間は、例えばＵＳＢ（Universal Serial Bus）ケーブル３００により接続されている。なお、ホストコンピュータ１００とプリンタ２００との間を有線または無線のＬＡＮにより接続するようにしてもよい。
【００１４】
本実施形態では、ホストコンピュータ１００は、Ｕｎｉｃｏｄｅに対応したアプリケーションがインストールされた端末であり、当該アプリケーションにおいてＵｎｉｃｏｄｅによる文字コードを含む印刷データを生成するものとする。また、本実施形態では、プリンタ２００もＵｎｉｃｏｄｅに対応しており、Ｕｎｉｃｏｄｅによる文字コードに基づいて印刷を実行することが可能であるものとする。
【００１５】
図２は、ホストコンピュータ１００のハードウェア構成例を示す図である。図２に示すように、ホストコンピュータ１００は、そのハードウェア構成として、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、フラッシュ等の不揮発性メモリ２４、ハードディスク２５、ＵＳＢ通信部２６、操作部２７および表示部２８を備えている。
【００１６】
ＣＰＵ２１は、ＲＯＭ２２、不揮発性メモリ２４またはハードディスク２５に記憶されたプログラムに従って、ＲＡＭ２３をワークメモリとして用いながら、ホストコンピュータ１００の動作を制御する。ハードディスク２５は、各種プログラムおよびデータを記憶する。ハードディスク２５が記憶するデータの中には、印刷データも含まれる。
【００１７】
ＵＳＢ通信部２６は、プリンタ２００との間でＵＳＢケーブル３００を介してデータ通信を行う。例えば、ＵＳＢ通信部２６は、ホストコンピュータ１００で生成された印刷データをプリンタ２００に送信する。操作部２７は、印刷データの生成や印刷指示などに関する操作をユーザが行うためのものであり、キーボードおよびマウス、またはタッチパネル等により構成される。表示部２８は、印刷データに係る文書などを表示するためのものであり、液晶ディスプレイ等により構成される。
【００１８】
図３は、プリンタ２００のハードウェア構成例を示す図である。図３に示すように、プリンタ２００は、そのハードウェア構成として、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、フラッシュ等の不揮発性メモリ３４、ＵＳＢ通信部３５、操作部３６、表示部３７および印刷部３８を備えている。
【００１９】
ＣＰＵ３１は、ＲＯＭ３２または不揮発性メモリ３４に記憶されたプログラムに従って、ＲＡＭ３３をワークメモリとして用いながら、プリンタ２００の動作を制御する。ここで、Ｕｎｉｃｏｄｅ上で印字幅を規定していない曖昧文字について、どの印字幅（例えば、全角／半角の何れか）で印字するかの印字幅指定情報がＲＡＭ３３に格納され、ＣＰＵ３１はこの印字幅指定情報により指定される印字幅で曖昧文字を印刷するように制御する。
【００２０】
なお、不揮発性メモリ３４には、プリンタ２００の電源をオンとしたときに初期設定される初期印字幅情報が格納されており、この不揮発性メモリ３４の初期印字幅情報がＲＡＭ３３に印字幅指定情報として格納されることにより、全角または半角の何れかが初期設定されるようになっている。その後、印刷データに基づく印刷の実行時にＲＡＭ３３の印字幅指定情報を必要に応じて書き換えることにより、曖昧文字の印字幅を任意に切り替えることができるようになっている。
【００２１】
ＵＳＢ通信部３５は、ホストコンピュータ１００との間でＵＳＢケーブル３００を介してデータ通信を行う。例えば、ＵＳＢ通信部３５は、ホストコンピュータ１００で生成された印刷データを受信する。操作部３６は、印刷データに基づく印刷、印字幅の初期設定などに関する操作をユーザが行うためのものであり、各種ボタンまたはタッチパネル等により構成される。
【００２２】
表示部３７は、プリンタ２００の動作状態などを表示するためのものであり、液晶ディスプレイ等により構成される。印刷部３８は、ＣＰＵ３１から印刷実行の指示を受けて、印刷データに基づく印刷処理を実行する。すなわち、印刷部３８は、ホストコンピュータ１００から入力した印刷データの文字コードに基づいて、当該文字コードで表わされる文字列の印刷を実行する。
【００２３】
図４は、第１の実施形態によるホストコンピュータ１００およびプリンタ２００の機能構成例を示す図である。なお、プリンタ２００については、図３に示したハードウェア構成も一部図示している。
【００２４】
図４に示すように、ホストコンピュータ１００は、その機能構成として、印刷データ生成部４１、印刷データ出力部４２、印字幅指定部４３およびコマンド出力部４４を備えている。また、プリンタ２００は、その機能構成として、印刷データ入力部５１、印刷制御部５２、コマンド入力部５３、印刷幅設定部５４および指定情報記憶部５５を備えている。
【００２５】
ここで、ホストコンピュータ１００の印刷データ生成部４１、印刷データ出力部４２、印字幅指定部４３およびコマンド出力部４４は、図２に示したＣＰＵ２１の制御に従って、ＲＯＭ２２、不揮発性メモリ２４またはハードディスク２５に記憶されたプログラムが動作することによって実現される。また、プリンタ２００の印刷データ入力部５１、印刷制御部５２、コマンド入力部５３および印刷幅設定部５４は、図３に示したＣＰＵ３１の制御に従って、ＲＯＭ３２または不揮発性メモリ３４に記憶されたプログラムが動作することによって実現される。指定情報記憶部５５は、図３のＲＡＭ３３により構成される。
【００２６】
ホストコンピュータ１００の印刷データ生成部４１は、ユーザが操作部２７に対して行う操作を通じて、任意の文字列を含む印刷データを生成する。本実施形態では、印刷データ生成部４１は、文字列をＵｎｉｃｏｄｅによる文字コードで表した印刷データを生成するものとする。印刷データ出力部４２は、印刷データ生成部４１により生成された印刷データをプリンタ２００に出力する。
【００２７】
印字幅指定部４３は、αβγ等のギリシャ文字のように、Ｕｎｉｃｏｄｅでは全角／半角のどちらで印刷すべきかを明確に規定していない曖昧文字をどちらの印字幅で印字するかを指定するものである。この印字幅の指定は、例えばユーザがホストコンピュータ１００の操作部２７を操作することによって行うことが可能である。印字幅の指定は、印刷データ生成部４１により生成されるどの印刷データに対しても共通のものとして行うことが可能である（初期設定）。また、個々の印刷データを単位として印字幅の指定を行うことも可能である。
【００２８】
コマンド出力部４４は、印字幅指定部４３により指定された印字幅でＵｎｉｃｏｄｅの曖昧文字を印字することをプリンタ２００に指示するための印字幅指定コマンドを生成し、プリンタ２００に出力する。どの印刷データに対しても共通のものとして印字幅を指定する場合、コマンド出力部４４は、印刷データ出力部４２による印刷データの出力とは非同期で印字幅指定コマンドをプリンタ２００に出力する。一方、個々の印刷データを単位として印字幅を指定する場合、コマンド出力部４４は、印刷データ出力部４２が印刷データを出力する際に、それと同期して印字幅指定コマンドをプリンタ２００に出力する。
【００２９】
なお、ここでは印刷データ生成部４１、印刷データ出力部４２、印字幅指定部４３およびコマンド出力部４４の機能を個別に示して説明したが、印刷データ生成部４１が印字幅指定部４３の機能を内包し、印刷データ出力部４２がコマンド出力部４４の機能を内包するようにしてもよい。この場合、印刷データ生成部４１の機能によって印刷データを生成するとともに曖昧文字の印字幅を指定し、印刷データ出力部４２の機能によって印刷データと共に印字幅指定コマンドをプリンタ２００に出力する。
【００３０】
プリンタ２００の印刷データ入力部５１は、ホストコンピュータ１００から印刷データを入力する。印刷制御部５２は、印刷部３８を制御することにより、印刷データ入力部５１により入力された印刷データに基づく印刷処理を実行する。このとき印刷制御部５２は、ホストコンピュータ１００の印字幅指定部４３により指定された印字幅でＵｎｉｃｏｄｅの曖昧文字を印刷するように制御する。
【００３１】
コマンド入力部５３は、ホストコンピュータ１００のコマンド出力部４４から出力された印字幅指定コマンドを入力する。印字幅設定部５４は、コマンド入力部５３により入力された印字幅指定コマンドに従って、印字幅指定情報を特定して指定情報記憶部５５（ＲＡＭ３３）に記憶させることにより、曖昧文字の印字幅を設定する。また、印字幅設定部５４は、コマンド入力部５３により入力された印字幅指定コマンドに従って、初期印字幅情報を特定して不揮発性メモリ３４に記憶させることにより、曖昧文字の印字幅の初期設定をする。
【００３２】
印刷制御部５２は、指定情報記憶部５５（ＲＡＭ３３）に記憶された印字幅指定情報により指定される印字幅で曖昧文字を印刷するように制御する。図５は、印字幅の指定に関してＲＡＭ３３および不揮発性メモリ３４に記憶される情報の一例を示す図である。上述したように、不揮発性メモリ３４は、プリンタ２００の電源をオンとしたときに初期設定される初期印字幅情報３４ａ（初期設定用の印字幅指定情報）を記憶している。この初期印字幅情報３４ａは、ホストコンピュータ１００の操作部２７を用いた印字幅の指定操作によって任意に設定することが可能である。
【００３３】
具体的には、ユーザが操作部２７を操作して所望の印字幅（全角または半角の何れか）を指定すると、指定された印字幅を表す印字幅指定コマンドがホストコンピュータ１００からプリンタ２００に出力される（印字幅指定部４３およびコマンド出力部４４の機能）。印字幅設定部５４は、その印字幅指定コマンドに従って指定印字幅情報３３ｂをＲＡＭ３３にいったん格納させ、それを不揮発性メモリ３４に初期印字幅情報３４ａとして記憶させる。なお、ユーザが特に指定しない場合は、所定の印字幅を表す初期印字幅情報３４ａが不揮発性メモリ３４にあらかじめ記憶されているものとする。
【００３４】
プリンタ２００の電源がオンにされると、印字幅設定部５４は、ユーザによる印字幅の指定操作に基づいて不揮発性メモリ３４に登録された初期印字幅情報３４ａを、当該不揮発性メモリ３４から取得してＲＡＭ３３（指定情報記憶部５５）に印字幅指定情報３３ａとして記憶させることにより、印字幅を設定する。これにより、曖昧文字の印字幅がプリンタ２００に初期設定される。そして、初期設定された印字幅に従って、印刷制御部５２が印刷データに基づく印刷を制御するようになっている。
【００３５】
その後、例えばホストコンピュータ１００から印刷データ入力部５１が印刷データを入力したとき、それと同期してコマンド入力部５３が印字幅指定コマンドを入力した場合、印字幅設定部５４は、その印字幅指定コマンドに従って、ＲＡＭ３３の印字幅指定情報３３ａを書き換える。すなわち、印字幅設定部５４は、印刷データに基づく印刷の実行時に、ホストコンピュータ１００におけるユーザによる印字幅の指定操作に基づいて生成された印字幅指定コマンドに従って、印字幅指定情報３３ａを特定してＲＡＭ３３（指定情報記憶部５５）に記憶させることにより、印字幅を設定する。なお、印刷データ入力部５１が印刷データを入力した際に、コマンド入力部５３が印字幅指定コマンドを入力していない場合、印刷制御部５２は、上述のように指定情報記憶部５５に初期設定されている印字幅指定情報３３ａに従って印刷を制御する。
【００３６】
図６は、上記のように構成した第１の実施形態によるプリンタ２００の動作例を示すフローチャートである。図６に示すフローチャートは、プリンタ２００の電源をオンとしたときに開始する。
【００３７】
プリンタ２００の電源がオンにされると、まず、印字幅設定部５４は、不揮発性メモリ３４に記憶されている初期印字幅情報３４ａを、ＲＡＭ３３（指定情報記憶部５５）に印字幅指定情報３３ａとして記憶させることにより、曖昧文字の印字幅をプリンタ２００に初期設定する（ステップＳ１）。
【００３８】
その後、印刷データ入力部５１は、ホストコンピュータ１００から印刷データを入力したか否かを判定する（ステップＳ２）。印刷データ入力部５１が印刷データを入力した場合、コマンド入力部５３は、ホストコンピュータ１００から印字幅指定コマンドを入力したか否かを判定する（ステップＳ３）。
【００３９】
ここで、コマンド入力部５３が印字幅指定コマンドを入力した場合、つまり、プリンタ２００が印刷データと共に印字幅指定コマンドを入力した場合、印字幅設定部５４は、その印字幅指定コマンドにより示される印字幅を印字幅指定情報３３ａとして指定情報記憶部５５に記憶させることにより、曖昧文字の印字幅を設定する（ステップＳ４）。そして、印刷制御部５２は、指定情報記憶部５５に記憶された印字幅指定情報３３ａに従って、ステップＳ２で入力された印刷データに基づく印刷を実行する（ステップＳ５）。
【００４０】
一方、ステップＳ３において、コマンド入力部５３が印字幅指定コマンドを入力していないと判定した場合、つまり、プリンタ２００が印刷データのみを入力した場合、処理はステップＳ４を省いてステップＳ５に進む。この場合、印刷制御部５２は、ステップＳ１で指定情報記憶部５５に初期設定された印字幅指定情報３３ａに従って、ステップＳ２で入力された印刷データに基づく印刷を実行する（ステップＳ５）。
【００４１】
その後、印刷制御部５２は、印刷が終了したか否かを判定する（ステップＳ６）。まだ印刷が終了していない場合、処理はステップＳ５に戻る。以降、ステップＳ５〜Ｓ６の処理を繰り返し実行する。そして、ステップＳ６で印刷が終了したと判定した場合、図６に示すフローチャートの処理は終了する。
【００４２】
上記ステップＳ２において、印刷データ入力部５１が印刷データを入力していないと判定した場合、コマンド入力部５３は、ホストコンピュータ１００から印字幅指定コマンドを入力したか否かを判定する（ステップＳ７）。この場合の印字幅指定コマンドは、ホストコンピュータ１００から印刷データと共に送られてくるものではなく、所望の印字幅を初期印字幅情報３４ａとして不揮発性メモリ３４に記憶させるための操作に基づいて生成されるものである。
【００４３】
ここで、コマンド入力部５３が印字幅指定コマンドを入力していない場合、処理はステップＳ２に戻る。一方、コマンド入力部５３が印字幅指定コマンドを入力した場合、印字幅設定部５４は、その印字幅指定コマンドにより示される印字幅を初期印字幅情報３４ａとして不揮発性メモリ３４に記憶させる（ステップＳ８）。その後、処理はステップＳ２に戻る。
【００４４】
なお、ステップＳ８において、印字幅指定コマンドにより示される印字幅を初期印字幅情報３４ａとして不揮発性メモリ３４に記憶させるとともに、当該不揮発性メモリ３４に記憶させた印字幅を、さらに印字幅指定情報３３ａとして指定情報記憶部５５に記憶させるようにしてもよい。このようにした場合、プリンタ２００の電源がいったんオフとされて次にオンとされるまで待たず、ユーザがコマンド操作を行った時点から印字幅の指定を変更することが可能となる。
【００４５】
また、印字幅指定コマンドにより示される印字幅を不揮発性メモリ３４には記憶させず、印字幅指定情報３３ａとして指定情報記憶部５５にのみ記憶させるようにしてもよい。このようにした場合、プリンタ２００の電源が次にオンとされたときに初期設定される印字幅は変更せず、現時点において印字幅の指定を一時的に変更することが可能となる。
【００４６】
以上詳しく説明したように、第１の実施形態では、印字幅設定部５４が、Ｕｎｉｃｏｄｅ上で印字幅を規定していない曖昧文字について、どの印字幅で印字するかの印字幅指定情報３３ａを指定情報記憶部５５に記憶させることによって印字幅を設定する。そして、印刷制御部５２が、当該指定情報記憶部５５に記憶された印字幅指定情報３３ａにより指定される印字幅で曖昧文字を印刷するように制御している。第１の実施形態では、ユーザによる印字幅の指定操作に基づいて、指定情報記憶部５５に記憶させる印字幅指定情報３３ａを任意に設定することも可能であるし、印刷データに基づく印刷の実行時に印字幅指定情報３３ａを任意に書き換えることも可能である。
【００４７】
このように構成した第１の実施形態によれば、プリンタ２００においてＵｎｉｃｏｄｅに基づいて文字を印刷する際に、Ｕｎｉｃｏｄｅ上で印字幅を規定していない曖昧文字について、どの印字幅で印字するかの印字幅指定情報３３ａを指定情報記憶部５５に記憶させることによって印字幅を任意に設定することが可能となる。これにより、プリンタ２００によってあらかじめ決められた固定の印字幅ではなく、指定情報記憶部５５（ＲＡＭ３３）に任意に記憶させた印字幅指定情報３３ａに従って任意の印字幅を選択して印刷を実行することができる。
【００４８】
（第２の実施形態）
次に、本発明の第２の実施形態を図面に基づいて説明する。第２の実施形態による印刷システムの全体構成、ホストコンピュータ１００のハードウェア構成およびプリンタ２００のハードウェア構成は、それぞれ図１〜図３に示したものと同じである。
【００４９】
図７は、第２の実施形態によるホストコンピュータ１００およびプリンタ２００の機能構成例を示す図である。なお、図７において、図４に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。第２の実施形態では、ホストコンピュータ１００は、ロケール情報記憶部４５をさらに備えている。また、ホストコンピュータ１００は、図４に示したコマンド出力部４４に代えてコマンド出力部４４’を備えている。
【００５０】
ロケール情報記憶部４５は、ホストコンピュータ１００に設定されているロケール情報を記憶するものであり、図２の不揮発性メモリ２４またはハードディスク２５により構成される。ロケール情報とは、ＯＳ（オペレーティングシステム）等のソフトウェアに内蔵される、言語や国・地域などを表す情報である。すなわち、ホストコンピュータ１００を使用する言語や国・地域の指定を表すものがロケール情報である。
【００５１】
コマンド出力部４４’は、第１の実施形態で説明した機能に加えて、以下の機能を有している。すなわち、コマンド出力部４４’は、ロケール情報記憶部４５に記憶されているロケール情報に基づいて印字幅指定コマンドを生成し、プリンタ２００に出力する。このロケール情報に基づく印字幅指定コマンドの生成は、例えば、ホストコンピュータ１００にプリンタ２００が接続されたことを検出したときに自動的に実行する。あるいは、プリンタ２００の接続時に、ユーザによる操作に応じて実行するようにしてもよい。
【００５２】
印字幅指定コマンドの生成は、具体的には以下のようにして行う。例えば、ロケール情報によって日本国または日本語が示されている場合、日本語ではαβγ等の曖昧文字は全角で使用されるのが通常であるから、コマンド出力部４４’は全角を指定するための印字幅指定コマンドを生成し、プリンタ２００に出力する。逆に、曖昧文字を半角で使用するのが通常である国や言語がロケール情報により示されている場合、コマンド出力部４４’は半角を指定するための印字幅指定コマンドを生成し、プリンタ２００に出力する。どの国または言語が全角または半角に対応するかは、例えばテーブル情報にあらかじめ登録しておく。コマンド出力部４４’は、このテーブル情報を参照して、全角または半角を指定するための印字幅指定コマンドを生成する。
【００５３】
プリンタ２００では、印字幅設定部５４が、ロケール情報に基づいて生成された印字幅指定コマンドに従って初期印字幅情報３４ａを生成し、不揮発性メモリ３４に記憶させる。
【００５４】
また、コマンド出力部４４’は、印刷データ生成部４１により生成された印刷データにより構成される文字列に基づいて、曖昧文字をどの印字幅で印字するかを特定する。そして、当該特定した印字幅で印字することを指示するための印字幅指定コマンドを生成し、プリンタ２００に出力する。例えば、印刷データにより構成される文字列に漢字等の全角の文字が含まれている場合、コマンド出力部４４’は全角を指定するための印字幅指定コマンドを生成し、プリンタ２００に出力する。また、印刷データにより構成される文字列が全て半角の文字の場合、コマンド出力部４４’は半角を指定するための印字幅指定コマンドを生成し、プリンタ２００に出力する。
【００５５】
なお、印刷データを構成する文字列に基づいて全角または半角の何れかを指定するための印字幅指定コマンドを生成する場合、図７に示すように、印刷データ生成部４１が印刷データを生成するのとは別にコマンド出力部４４’が印字幅指定コマンドを生成する方式に限らない。例えば、印刷データ生成部４１が、印刷データにより構成される文字列に基づいて、曖昧文字をどの印字幅で印字するかを特定し、当該特定した印字幅で印字することを指示するための印字幅指定コマンドを付加した印刷データを生成するようにしてもよい。この場合、プリンタ２００の印字幅設定部５４は、印刷データ入力部５１により入力された印刷データに付加されている印字幅指定コマンドに従って、印字幅指定情報３３ａを特定して指定情報記憶部５５に記憶させることにより、印字幅を設定する。
【００５６】
以上詳しく説明したように、第２の実施形態によれば、ホストコンピュータ１００に記憶されているロケール情報または印刷データ生成部４１により生成された印刷データを構成している文字列に基づいて、Ｕｎｉｃｏｄｅの曖昧文字をどの印字幅で印字するかを自動的に特定し、当該特定した適切な印字幅で曖昧文字を印刷することができる。
【００５７】
なお、上記第１および第２の実施形態では、個々の印刷データを単位として印字幅を指定する場合に、印刷データと印字幅指定コマンドとを別々に構成し、これらを同期してプリンタ２００に出力する例について説明したが、本発明はこれに限定されない。例えば、印刷データに印字幅指定コマンドを付加して出力するようにしてもよい。この場合、プリンタ２００の印字幅設定部５４は、印刷データ入力部５１により入力された印刷データに付加されている印字幅指定コマンドに従って、印字幅指定情報３３ａを特定して指定情報記憶部５５に記憶させることにより、印字幅を設定する。
【００５８】
なお、印刷データに印字幅指定コマンドを付加する場合、個々の印刷データを単位として印字幅を指定するだけでなく、印刷データを構成している文字列の中の個々の曖昧文字を単位として印字幅を指定できるようにしてもよい。すなわち、印刷データ生成部４１により印刷データを生成する際に、当該印刷データを構成している文字列の中から曖昧文字を特定し、特定した曖昧文字の印字幅を印字幅指定部４３により任意に指定できるように構成してもよい。この場合、特定した曖昧文字を表す文字コードの前後に印字幅指定コマンドと印字幅解除コマンドとをそれぞれ付加する。
【００５９】
また、上記第１および第２の実施形態では、ホストコンピュータ１００に印字幅指定部４３を設け、印字幅の指定をホストコンピュータ１００にて行うこととしたが、本発明はこれに限定されない。例えば、プリンタ２００に印字幅指定部４３を設け、ユーザがプリンタ２００の操作部３６を操作することによって曖昧文字の印字幅を初期設定できるように構成してもよい。
【００６０】
また、上記第１および第２の実施形態では、印刷データに基づく印刷の実行時に、ホストコンピュータ１００からプリンタ２００に出力される印字幅指定コマンドに従って印字幅指定情報３３ａをＲＡＭ３３（指定情報記憶部５５）に記憶させることにより、プリンタ２００の電源オン時に初期設定された印字幅指定情報３３ａを更新する例について説明した。これに対し、印刷データに基づく印刷の実行が終了したときに、ＲＡＭ３３（指定情報記憶部５５）に記憶されている印字幅指定情報３３ａを、不揮発性メモリ３４に記憶されている初期印字幅情報３４ａに戻すようにしてもよい。
【００６１】
また、上記第１および第２の実施形態では、印字幅の種類として全角または半角の２つを例に挙げて説明したが、本発明はこれに限定されない。例えば、全角文字の印字幅を１００％として、ｘ％（ｘは任意の正数）の印字幅を指定できるようにしてもよい。
【００６２】
また、上記第２の実施形態では、ホストコンピュータ１００に記憶されているロケール情報に基づいて曖昧文字の印字幅を設定する例について説明したが、本発明はこれに限定されない。例えば、プリンタ２００の不揮発性メモリ３４にロケール情報が記憶されている場合、印字幅設定部５４がプリンタ２００のロケール情報に基づいて初期印字幅情報３４ａを生成して不揮発性メモリ３４に記憶させるようにしてもよい。
【００６３】
その他、上記第１および第２の実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００６４】
３３  ＲＡＭ
３４  不揮発性メモリ
４１  印刷データ生成部
４２  印刷データ出力部
４３  印字幅指定部
４４，４４’  コマンド出力部
４５  ロケール情報記憶部
５１  印刷データ入力部
５２  印刷制御部
５３  コマンド入力部
５４  印字幅設定部
５５  指定情報記憶部
１００  ホストコンピュータ
２００  プリンタ
【図１】
2016047625.tif 000003
【図２】
2016047625.tif 000004
【図３】
2016047625.tif 000005
【図４】
2016047625.tif 000006
【図５】
2016047625.tif 000007
【図６】
2016047625.tif 000008
【図７】
2016047625.tif 000009