(57)【要約】【課題】  プリントサーバが、プリンタで管理されているプロポーショナルフォントのそれぞれの文字幅の情報を管理していなくとも、印字位置データを含まない印刷データに含まれる各文字の印字位置を、帳票のレイアウトに合わせて調整すること。【解決手段】  印刷を行うフォントがプロポーショナルフォントか否かを判断し、非プロポーショナルフォントからプロポーショナルフォントに切り替わったことを認識した場合、現在の文字の印字位置を記憶する命令をプリンタに発行する。その後、プロポーショナルフォントから非プロポーショナルフォントに切り替わったことを認識した場合は、プロポーショナルフォントを印字した文字数と基準となる文字幅から印字位置の移動量を算出し、プリンタに対して、記憶した印字位置から移動量分印刷された位置を新しい印字位置とする命令を送信する。【選択図】  図５
2014130470.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置と通信可能に接続される情報処理装置であって、
前記印刷装置に対して、印刷データの印字に使用するフォントを指示する第１の指示手段と、
前記第１の指示手段で、印字に使用するフォントとしてプロポーショナルフォントが指示される場合、前記印刷装置に対して現在の印字位置の記憶指示を行う第２の指示手段と、
前記第１の指示手段で、プロポーショナルフォントを指示した後に、前記印刷装置に対して送信した文字数をカウントするカウント手段と、
前記カウント手段でカウントした文字数と、文字の基準幅情報を用いて、印字位置の移動量を算出する算出手段と、
前記第２の指示手段で記憶指示を行った結果、印刷装置に記憶された印字位置から、前記算出手段で算出された移動量分移動させた位置を、次の文字の印字位置に設定するよう、前記印刷装置に対して指示する第３の指示手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
ホストコンピュータから送信される印刷データの第１のフォントと、当該第１のフォントが指定された文字を前記印刷装置で印刷する際に使用する第２のフォントとを対応付けた対応テーブルを記憶する第１の記憶手段と、
前記ホストコンピュータから送信される印刷データを受信する受信手段と、
前記受信手段で受信した印刷データを印刷する際に用いるフォントを、前記対応テーブルを用いて決定する決定手段と、
を更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記決定手段で決定したフォントを記憶する第２の記憶手段を更に備え、
前記第１の指示手段は、前記第２の記憶手段に記憶されているフォントと、前記決定手段により決定されたフォントとが異なる場合に、前記第１の指示手段は、前記印刷装置に対して、前記決定手段で決定したフォントを、印刷データの印字に使用するフォントとする指示を行うこと
を特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第１の指示手段により、前記印刷手段で印刷データの印字に使用するフォントを、プロポーショナルフォントから、非プロポーショナルフォントに変更する指示が行われる場合に、前記第３の指示手段は、前記印刷装置に対して、前記印字位置の設定指示を行うこと
を特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
印刷装置と通信可能に接続される情報処理装置によって行われる情報処理方法であって、
前記印刷装置に対して、印刷データの印字に使用するフォントを指示する第１の指示工程と、
前記第１の指示工程で、印字に使用するフォントとしてプロポーショナルフォントが指示される場合、前記印刷装置に対して現在の印字位置の記憶指示を行う第２の指示工程と、
前記第１の指示工程で、プロポーショナルフォントを指示した後に、前記印刷装置に対して送信した文字数をカウントするカウント工程と、
前記カウント工程でカウントした文字数と、文字の基準幅情報を用いて、印字位置の移動量を算出する算出工程と、
前記第２の指示工程で記憶指示を行った結果、印刷装置に記憶された印字位置から、前記算出工程で算出された移動量分移動させた位置を、次の文字の印字位置に設定するよう、前記印刷装置に対して指示する第３の指示工程と、
を備えることを特徴とする情報処理方法。
【請求項６】
印刷装置と通信可能に接続される情報処理装置を、
前記印刷装置に対して、印刷データの印字に使用するフォントを指示する第１の指示手段と、
前記第１の指示手段で、印字に使用するフォントとしてプロポーショナルフォントが指示される場合、前記印刷装置に対して現在の印字位置の記憶指示を行う第２の指示手段と、
前記第１の指示手段で、プロポーショナルフォントを指示した後に、前記印刷装置に対して送信した文字数をカウントするカウント手段と、
前記カウント手段でカウントした文字数と、文字の基準幅情報を用いて、印字位置の移動量を算出する算出手段と、
前記第２の指示手段で記憶指示を行った結果、印刷装置に記憶された印字位置から、前記算出手段で算出された移動量分移動させた位置を、次の文字の印字位置に設定するよう、前記印刷装置に対して指示する第３の指示手段
として機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部から受信した印字位置情報を持たない印刷データを印刷する技術に関する。
【背景技術】
【０００２】
ホストコンピュータ（メインフレーム）で作成された印刷データ（以降、ホストデータという）をプリンタで出力する場合、事前に表題や罫線等を定義した帳票定義情報、及び、用紙サイズ、文字間隔や行間隔を定義した行桁情報、各桁で印字に使用するフォントの情報を含む印刷定義情報を作成しておき、作成した帳票定義情報や印刷定義情報を用いてホストデータを専用のプリンタから印刷出力していた。
【０００３】
近年、ホストデータの印刷出力を行うために専用のプリンタを使用せず、オフィスに設置される複合機やページプリンタ等（まとめてオフィスプリンタという）から、ホストデータの印刷出力を行うことが一般的になっており、そのために、ホストデータをオフィスプリンタで印刷可能な形式に変換するためのプリントサーバを設置することが多くなってきている。プリントサーバは、ホストデータを解析して、オフィスプリンタで出力可能なページ記述言語（ＰＤＬ）に変換し、そのデータをプリンタに送信することで、オフィスプリンタによるホストデータの印刷処理が行われる。
【０００４】
また、帳票データの出力において、表現力の向上等のために、多彩なフォントを使用することや、また、バーコードを印刷することなども求められてきている。通常、位置情報を持たない印刷データの印刷処理を行う場合には、固定幅のフォントを用い、空白文字や改行文字などを用いることで、文字の印字位置を調整しているが、プロポーショナルフォントや、バーコードフォントは、文字によって、文字幅が異なるために、ある文字を所定の位置に印刷させるための調整が困難であった。
【０００５】
そこで、特許文献１には、フォントの変換前と、変換後のそれぞれの文字幅を用いて印字位置の移動量を計算し、その計算結果に従って、文字の印刷位置を調整することで、印刷体裁を保つ発明が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平０８−１１８７３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１の発明では、変換前、変換後のそれぞれのフォントの幅から印字位置調整のための移動教理を計算しているので、フォントの幅情報をプリントサーバが管理している必要がある。
【０００８】
しかし、プリンタで管理されているプロポーショナルフォントのそれぞれの文字幅の情報を、プリントサーバが管理していないことも多く、そのような場合には、特許文献１に開示された方法では、印字位置の調整を行うことはできない。
【０００９】
そこで、本発明は、プリントサーバが、プリンタで管理されているプロポーショナルフォントのそれぞれの文字幅の情報を管理していなくとも、印字位置データを含まない印刷データに含まれる各文字の印字位置を、帳票のレイアウトに合わせて調整することを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記した目的を達成するために、本発明の情報処理装置は、印刷装置と通信可能に接続される情報処理装置であって、前記印刷装置に対して、印刷データの印字に使用するフォントを指示する第１の指示手段と、前記第１の指示手段で、印字に使用するフォントとしてプロポーショナルフォントが指示される場合、前記印刷装置に対して現在の印字位置の記憶指示を行う第２の指示手段と、前記第１の指示手段で、プロポーショナルフォントを指示した後に、前記印刷装置に対して送信した文字数をカウントするカウント手段と、前記カウント手段でカウントした文字数と、文字の基準幅情報を用いて、印字位置の移動量を算出する算出手段と、前記第２の指示手段で記憶指示を行った結果、印刷装置に記憶された印字位置から、前記算出手段で算出された移動量分移動させた位置を、次の文字の印字位置に設定するよう、前記印刷装置に対して指示する第３の指示手段と、を備えることを特徴とする。
【００１１】
上記した目的を達成するために、本発明の情報処理方法は、印刷装置と通信可能に接続される情報処理装置によって行われる情報処理方法であって、前記印刷装置に対して、印刷データの印字に使用するフォントを指示する第１の指示工程と、前記第１の指示工程で、印字に使用するフォントとしてプロポーショナルフォントが指示される場合、前記印刷装置に対して現在の印字位置の記憶指示を行う第２の指示工程と、前記第１の指示工程で、プロポーショナルフォントを指示した後に、前記印刷装置に対して送信した文字数をカウントするカウント工程と、前記カウント工程でカウントした文字数と、文字の基準幅情報を用いて、印字位置の移動量を算出する算出工程と、前記第２の指示工程で記憶指示を行った結果、印刷装置に記憶された印字位置から、前記算出工程で算出された移動量分移動させた位置を、次の文字の印字位置に設定するよう、前記印刷装置に対して指示する第３の指示工程と、を備えることを特徴とする。
【００１２】
上記した目的を達成するために、本発明のコンピュータプログラムは、印刷装置と通信可能に接続される情報処理装置を、前記印刷装置に対して、印刷データの印字に使用するフォントを指示する第１の指示手段と、前記第１の指示手段で、印字に使用するフォントとしてプロポーショナルフォントが指示される場合、前記印刷装置に対して現在の印字位置の記憶指示を行う第２の指示手段と、前記第１の指示手段で、プロポーショナルフォントを指示した後に、前記印刷装置に対して送信した文字数をカウントするカウント手段と、前記カウント手段でカウントした文字数と、文字の基準幅情報を用いて、印字位置の移動量を算出する算出手段と、前記第２の指示手段で記憶指示を行った結果、印刷装置に記憶された印字位置から、前記算出手段で算出された移動量分移動させた位置を、次の文字の印字位置に設定するよう、前記印刷装置に対して指示する第３の指示手段として機能させることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、プリントサーバが、プリンタで管理されているプロポーショナルフォントのそれぞれの文字幅の情報を管理していなくとも、印字位置データを含まない印刷データに含まれる各文字の印字位置を、帳票のレイアウトに合わせて調整することを可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態における印刷システムの概略構成を示す図である。
【図２】図１のプリントサーバ１０１のハードウェア構成の一例を示す図である。
【図３】図１のプリントサーバ１０１の機能構成の一例を示す図である。
【図４】プリントサーバ１０１によって行われる印刷データ変換処理の一例を示すフローチャートである。
【図５】図４のステップＳ４０５のフォント変更処理の詳細な処理の一例を示すフローチャートである。
【図６】印刷定義情報６００の構成の一例を示す図である。
【図７】帳票定義情報７００の構成の一例を示す図である。
【図８】印刷データ８００の構成の一例を示す図である。
【図９】図８に示す印刷データ８００を、本発明の印刷方法により図７の帳票定義情報で定義される帳票に重ねて印刷した際の、印刷結果を示す図である。
【図１０】図８に示す印刷データ８００を、従来の印刷方法により図７の帳票定義情報で定義される帳票に重ねて印刷した際の、印刷結果を示す図である。
【図１１】フォント変換テーブル１１００の構成の一例を示す図である。
【図１２】コード変換テーブル１２００の構成の一例を示す図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、本発明の実施の形態の一例について説明する。
【００１６】
図１は、本発明の実施の形態における印刷システムの概略構成を示す図である。図１に示すように、本発明の印刷システムは、プリントサーバ１０１、ホストコンピュータ１０２、業務サーバ１０３、クライアントＰＣ１０４、プリンタ１０５、これら装置を相互に通信可能に接続するＬＡＮ等のネットワーク１０６を備えて構成されている。
【００１７】
ホストコンピュータ１０２及び業務サーバ１０３には、印刷データ（印刷ジョブ）を作成するためのアプリケーションがインストールされており、ホストコンピュータ１０２（若しくは業務サーバ１０３）の操作者による操作指示に従って、このアプリケーションを用いて印刷対象のデータを作成する。その後、この印刷データに基づく印刷をプリンタ１０５に実行させるために、当該印刷データを、ネットワーク１０６を介してプリントサーバ１０３に送出する。
【００１８】
なお、印刷データを作成し、プリントサーバ１０１に対して当該データを送出可能な装置であれば、ホストコンピュータ１０２、業務サーバ１０３以外の装置を用いてもよく、その台数や装置の種類などについて限定するものではない。
【００１９】
プリントサーバ１０１は、外部（本実施の形態ではホストコンピュータ１０２や業務サーバ１０２）から印刷データを受信し、プリンタ１０５で印刷可能なデータ形式に変換し、プリンタ１０５に送出する処理を行う情報処理装置である。プリントサーバ１０１が行う処理については後述する。
【００２０】
プリンタ１０５は、それぞれプリンタ又は複合機などの出力装置により構成されており、プリントサーバ１０３から受信した印刷データに基づいて、紙やＯＨＰなどの記録媒体上に画像や文字の記録（印刷）処理を行う。記録方法については特に限定するものではなく、インクジェット方式、レーザビーム方式、熱転写方式等、各種の記録方式のいずれを用いてもよい。なお、プリンタ１０５の動作状況などについては、プリントサーバ１０３が適宜監視している。
【００２１】
クライアントＰＣ１０４は、プリントサーバ１０３の処理状況を表示装置（不図示）の表示画面上に表示する装置である。プリントサーバ１０３における処理状況やプリンタ１０５による印刷データの印刷結果などについては、当該プリントサーバ１０３が適宜クライアントＰＣ１０６に対して送信しているので、クライアントＰＣ１０４は受信した処理状況や印刷結果などを表示装置の表示画面上に表示する処理を行う。また、クライアントＰＣ１０４は、ホストコンピュータ１０２や業務サーバ１０２と同様に、印刷データを作成してプリントサーバ１０３に対して送出してもよい。
【００２２】
ネットワーク１０６は、インターネット、ＬＡＮ等に代表される通信ネットワークであって、上記の各装置を相互に通信可能に接続するものである。尚、接続形態は、有線／無線を問わない。
【００２３】
以上が、本発明の印刷システムの概略構成の説明である。
【００２４】
次に、図２を参照して、図１のプリントサーバ１０１のハードウェア構成の一例について説明する。
【００２５】
図２において、２０１はＣＰＵで、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０３あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Basic Input / Output System）やオペレーティングシステムプログラム（以下、ＯＳ）や、プリントサーバ１０１が実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【００２６】
２０２はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０３あるいは外部メモリ２１１からＲＡＭ２０２にロードして、該ロードしたプログラムを実行することで後述する各種動作を実現するものである。
【００２７】
また、２０５は入力コントローラで、キーボードやポインティングデバイス等の入力装置２０９からの入力を制御する。２０６はビデオコントローラで、ディスプレイ装置２１０等の表示器への表示を制御する。これらは必要に応じて操作者が使用するものである。
【００２８】
２０７はメモリコントローラで、ブートプログラム，各種のアプリケーション，フォントデータ，ユーザファイル，編集ファイル，各種データ等を記憶するハードディスク（ＨＤ）や、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００２９】
２０８は通信Ｉ／Ｆ（インタフェース）コントローラで、ネットワーク（例えば、図１に示したネットワーク１０６）を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。
【００３０】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０２内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ装置２１０上での表示を可能としている。また、ＣＰＵ２０１は、ディスプレイ装置２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００３１】
本発明を実現するための後述するフローチャートに示す各ステップの処理は、コンピュータで読み取り実行可能なプログラムにより実行され、そのプログラムは外部メモリ２１１に記録されている。そして、必要に応じてＲＡＭ２０２にロードされることによりＣＰＵ２０１によって実行されるものである。
【００３２】
以上が、図１に示すプリントサーバ１０１のハードウェア構成の一例の説明である。尚、プリントサーバ１０１が後述する処理を実行することが可能であれば、必ずしも図２に示すハードウェア構成を有していなくとも構わないことは言うまでもない。
【００３３】
次に、図３を参照して、プリントサーバ１０１の機能構成の一例について説明する。
【００３４】
図３に示す通り、プリントサーバ１０１は、印刷データ受信部３０１、印刷データ監視部３０２、印刷データ管理部３０３、印刷データ変換部３０４、印刷データ送信部３０５、データ記憶部３０６等を備えて構成されている。
【００３５】
印刷データ受信部３０１は、ホストコンピュータ１０２や業務サーバ１０３から転送された印刷データを受信して、受信フォルダに格納する機能部である。
【００３６】
印刷データ監視部３０２は、印刷データ受信部３０１による印刷データの受信が終了したと判断した場合、当該印刷データを受信フォルダから印刷データ保存フォルダへ移し、印刷データ管理部３０３へ新規に印刷データを受信したことを通知する機能部である。
【００３７】
印刷データ管理部３０３は、データ保存フォルダに保存されている印刷データを管理し、ユーザから指示があった場合には印刷データ変換部３０５へ印刷データの変換指示を行う機能部である。
【００３８】
印刷データ変換部３０４は、印刷データ管理部３０３から変換指示を受け取ると、データ記憶部３０６に記憶されている印刷定義情報６００（図６）、帳票定義情報７００（図７）、フォント変換テーブル１１００（図１１）、コード変換テーブル１２００（図１２）等を参照し、印刷データをプリンタ１０５で出力できる形式に変換する機能部である。
【００３９】
印刷データ送信部３０５は、印刷データ変換部３０４で変換処理され、プリンタ１０５で印刷可能な形式となった印刷データを、プリンタ１０５に送信する機能部である。
【００４０】
データ記憶部３０６は、印刷データ変換部３０４が印刷データの変換処理を行う際に使用する、印刷定義情報６００、帳票定義情報７００、フォント変換テーブル１１００、コード変換テーブル１２００等を記憶する機能部である。
【００４１】
以上が、プリントサーバ１０１の機能構成の一例の説明である。
【００４２】
ここで、図６、図７、図１１及び図１２を参照して、プリントサーバ１０１のデータ管理部３０６で記憶管理されている各種のデータについて説明する。
【００４３】
図６は、データ記憶部３０６に記憶されている印刷定義情報６００の一例を示す図である。図６に示す通り、印刷定義情報には、印刷を行う際に使用する用紙のサイズ・向き（図中の６０１）、印字領域の開始座標（６０２）、終了座標（６０３）、印刷データ中に指定された文字列を印字する際の文字ピッチ（６０５）や行ピッチ（６０４）、フォント（６０６）等が定義されている。
【００４４】
図７は、データ記憶部３０６に記憶されている帳票定義情報７００の一例を示す図である。図７に示す通り、帳票定義情報には、印刷データと重ね合わせて印刷を行う表の罫線やロゴ等の情報が定義されている。
【００４５】
図１１は、フォント変換テーブル１１００のデータ構成の一例を示す図である。フォント変換テーブル１１００は、印刷定義情報や印刷データで指定されたフォントと、プリンタ１０５に内蔵されているフォントの対応テーブルであり、図１１に示すような構成のテキストファイルである。
【００４６】
図１１に示すようにこのフォント変換テーブル１１００には、ホストコンピュータ１０２から受信した印刷データで指定されているフォントのフォント名、フォント幅、フォント高と、当該フォントの指定を受け付けた場合にプリンタ１０５での印刷実行の際に使用するフォントのフォント名、フォント幅、フォント高、及び、プロポーショナルフォントであるか否かを示すフラグ情報であるプロポーショナル情報が対応付けて登録されている。
【００４７】
図１２は、コード変換テーブル１２００のデータ構成の一例を示す図である。コード変換テーブル１２００は印刷データ中のフォントや文字コードと、印刷に使用するフォントや文字コードの対応テーブルであり、図１２のような構成のテキストファイルである。
【００４８】
このコード変換テーブル１２００には、ホストコンピュータ１０２から受信した印刷データで指定されているフォントのフォント名、文字コードと、当該フォントの指定を受け付けた場合にプリンタ１０５での印刷実行の際に使用するフォントのフォント名、文字コード、及び、プロポーショナルフォントであるか否かを示すフラグ情報であるプロポーショナル情報が対応付けて登録されている。
【００４９】
以上が、プリントサーバ１０１のデータ記憶部３０６に記憶されている各種データの説明である。
【００５０】
次に、図４を参照して、プリントサーバ１０１のＣＰＵ２０１によって行われる印刷データ変換処理の一例について説明する。この処理は、プリントサーバ１０１のＣＰＵ２０１を、印刷データ変換部３０４、及び、印刷データ送信部３０５として機能させるためのプログラムによる制御に従って、プリントサーバ１０１のＣＰＵ２０１によって行われる。
【００５１】
プリントサーバ１０１のＣＰＵ２０１は、印刷データの変換指示を受け付けると、データ保存フォルダに保存されている変換処理対象の印刷データの解析を開始する。そして、印刷データから１文字分の印刷処理に必要となるデータを取得する（ステップＳ４０１）。この時、文字のフォント名と文字コードの組を取得することになる。
【００５２】
そして、ステップＳ４０１で取得した文字のフォント名と文字コードの組が、図１２のコード変換テーブル１２００に存在するか否かを判定する（ステップＳ４０２）。
【００５３】
ステップＳ４０２の判定処理で、文字のフォント名と文字コードの組が、図１２のコード変換テーブル１２００に存在する（ＹＥＳ）と判定した場合には、プリントサーバ１０１のＣＰＵ２０１は処理をステップＳ４０３に進め、ステップＳ４０１で取得した文字のフォント名と文字コードの組に対応する出力フォント名と出力文字コード、プロポーショナル情報を、コード変換テーブル１２００より取得する。
【００５４】
一方、ステップＳ４０２の判定処理で、文字のフォント名と文字コードの組が、図１２のコード変換テーブル１２００に存在しない（ＮＯ）と判定した場合には、プリントサーバ１０１のＣＰＵ２０１は処理をステップＳ４０４に進め、ステップＳ４０１で取得した文字のフォント名からに対応する、出力フォントの情報（フォント名、フォント高、フォント幅、プロポーショナル情報等）を、図１１に示すフォント変換テーブル１１００より取得する。
【００５５】
ステップＳ４０３、または、ステップＳ４０４の処理が終了後、プリントサーバ１０１のＣＰＵ２０１は、処理をステップＳ４０５に進め、フォント変換処理を実行する。この処理の詳細については、図５を参照して説明する。
【００５６】
ここで、図５を参照して、図４のステップＳ４０５のフォント変換処理の詳細について説明する。このフォント変換処理では、文字の印刷に用いるフォントに変更があった場合に、プリンタ１０５に対してフォント変更命令（フォント変更指示）を発行する等の処理を実行する。
【００５７】
プリントサーバ１０１のＣＰＵ２０１は、処理対象の文字を印刷する際のフォントが、選択中のフォント（１つ前の文字を使用した際に使用したフォント）と同一のフォントであるかを判定する（ステップＳ５０１）。
【００５８】
ステップＳ５０１の判定処理で、ＹＥＳと判定した場合には、プリントサーバ１０１のＣＰＵ２０１は、特に、プリンタ１０５に対する処理を行うことなく本図に示す処理を終了する。
【００５９】
一方、ステップＳ５０１の判定処理で、ＮＯと判定した場合には、プリントサーバ１０１のＣＰＵ２０１は、処理をステップＳ５０２に進め、文字の印刷に使用されるフォントが、非プロポーショナルフォントから、プロポーショナルフォントに変更されるかを判定する。尚、プロポーショナルフォントＡからプロポーショナルフォントＢにフォントが変更される場合には、管理サーバ１０１のＣＰＵ２０１は、この判定処理でＮＯと判定することになる。
【００６０】
ステップＳ５０２の判定処理で、文字の印刷に使用されるフォントが、非プロポーショナルフォントから、プロポーショナルフォントに変更される（ＹＥＳ）と判定した場合には、プリントサーバ１０１のＣＰＵ２０１は処理をステップＳ５０３に進め、印刷データの出力先に指定されたプリンタ１０５に、ＣＡＰ位置（現在の印字位置情報）の記憶命令（記憶指示）を発行する。
【００６１】
その後、プリントサーバ１０１のＣＰＵ２０１は、プロポーショナルフォントで印字する文字の文字数をカウントする値を初期化（０にセット）する（ステップＳ５０４）。
【００６２】
そして、その後、プリントサーバ１０１は処理をステップＳ５０５に進め、非プロポーショナルフォントが印字される際の基準の文字幅情報を取得する。このとき基準となる文字幅は、フォント変換テーブル１１００から取得しても、印刷定義情報６００に設定されている印字幅から取得しても良い。そして、その情報をＲＡＭ２０２に記憶する。その後、処理をステップＳ５１０に進める。
【００６３】
プリントサーバ１０１のＣＰＵ２０１は、ステップＳ５０２でＮＯと判定した場合には、処理をステップＳ５０６に進め、文字の印刷に使用されるフォントが、プロポーショナルフォントから非プロポーショナルフォントに変更されるかを判定する。尚、非プロポーショナルフォントＸから非プロポーショナルフォントＹにフォントが変更される場合には、管理サーバ１０１のＣＰＵ２０１は、この判定処理でＮＯと判定することになる。
【００６４】
ステップＳ５０６の判定処理で、プロポーショナルフォントから、非プロポーショナルフォントに変更されると判定した場合には、プリントサーバ１０１のＣＰＵ２０１は、処理をステップＳ５０７へ進め、プリンタ１０５に対して既に行っているＣＡＰ位置記憶命令に応じて記憶した位置に文字の印字位置を移動させるために、印字位置の移動命令（移動指示）を発行する。尚、プリンタ１０５に対するＣＡＰ位置の記憶命令（記憶指示）を発行していない場合には、予め設定されているデフォルト位置への印字位置の移動命令（移動指示）を発行することになる。
【００６５】
その後、プロポーショナルフォントの印字文字数をカウントしているカウンタ変数（文字数カウント）の値（後述する、図４のステップＳ４０８でカウントアップされる）と、非プロポーショナルフォントの基準文字幅とを用いて、文字の印字位置の移動距離を算出する（ステップＳ５０８）。その後、プリンタ１０５に対して、文字の印字位置をステップＳ５０８で算出した移動距離分移動させる印字位置の移動命令（移動指示）を発行する（ステップＳ５０９）。
【００６６】
ステップＳ５０５、ステップＳ５０９の処理が終了後、または、ステップＳ５０６の判定処理でＮＯと判定した場合には、処理をステップＳ５１０に進め、プリンタ１０５に対してフォントの変更命令を発行する。この時、フォント名、フォント幅、フォント高などの情報がプリンタ１０５に送信される。プリンタ１０５はこれら情報に従って、印刷に使用するフォントの設定を行う。
【００６７】
ステップＳ５１０の処理が終了後、プリントサーバ１０１のＣＰＵ２０１は処理をステップＳ５１１に進め、新たにプリンタ１０５に設定した、現在の処理対象の文字の印刷に使用するフォントを、選択中フォントとしてＲＡＭ２０２に記憶する。
【００６８】
以上が、図４のステップＳ４０５のフォント変更処理の詳細な処理の説明である。
【００６９】
図４の説明に戻る。プリントサーバ１０１のＣＰＵ２０１は、ステップＳ４０５の処理終了後、文字コードをプリンタ１０５に送信する（ステップＳ４０６）。プリンタ１０５は、プリントサーバ１０１から送信された文字コードを、図５のステップＳ５１０で変更指示を受け付けたフォントで印刷する。そして、印字位置を、その文字の文字幅等を用いて変更する。次に文字コードをプリントサーバ１０１から受け付けた場合には、その印字位置に文字コードに対応する文字の印刷出力を行うことになる。
【００７０】
ステップＳ４０６の処理が終了後、プリントサーバ１０１のＣＰＵ２０１は処理をステップＳ４０７に進め、現在選択中のフォントがプロポーショナルフォントであるかを判定する。この判定処理で、ＹＥＳと判定した場合には、プリントサーバ１０１のＣＰＵ２０１は処理をステップＳ４０８に進め、文字カウントをカウントアップする。
【００７１】
ステップＳ４０７の判定処理でＮＯと判定した場合、または、ステップＳ４０８の処理が終了後、プリントサーバ１０１のＣＰＵ２０１は、処理対象の印刷データに、まだ印刷処理を行っていない文字の情報があるかを判定し（次の文字あり：ステップＳ４０９）、ＹＥＳと判定した場合には、処理をステップＳ４０１に進め、次に印字処理を実行させる文字について、ステップＳ４０１以降の処理を実行する。
【００７２】
印刷データ中の全ての文字の印刷処理が終了したと判定した場合には、本図に示す処理を終了する。
【００７３】
以上が、プリントサーバ１０１のＣＰＵ２０１によって行われる印刷データ変換処理の一例の説明である。
【００７４】
ここで、図８から図１０を参照して、従来の印刷方法により文字の印字位置情報を含まない印刷データの印刷処理を実行した場合と、本発明の印刷方法により、当該印刷データの印刷処理を実行した場合の印刷結果について説明する。尚、ここでは、図８に示す印刷データ８００を、図７に示す帳票定義情報で定義された帳票に重ねて印刷する場合を例にした説明を行う。
【００７５】
図９、図１０に示す印刷結果は、図８に示す印刷データ８００の、先頭行にある「１１００２３」と、商品コード「１１２３４５」及び「１３４２９５」を、プロポーショナルフォントであるバーコードフォントで印刷した結果を示している。
【００７６】
尚、この印刷データには印字位置情報が含まれていない。その代わりとして、空白文字や、改行コード等を用いて、図７に示す帳票定義情報により定義された帳票に合わせて印字位置が調整された印刷データ８００が作成されている。この時、文字幅は非プロポーショナルフォントの基準の文字幅を基準としている。
【００７７】
図１０は、従来の方法でバーコードを印刷した例を示している。バーコードフォントはプロポーショナルフォントであるので、それぞれの文字によって、印字される幅が異なる。なので、ホストコンピュータ１０１から送信された印刷データに含まれる特定の文字フォントをプリンタが備えるバーコードフォントで印刷すると、図１０に示すように正しい印字位置に印字されない文字が発生することがある。
【００７８】
それに対して、本発明による印刷を行えば、ホストコンピュータ１０１から送信された印刷データに含まれる特定の文字フォントをプリンタが備えるバーコードフォントで印刷しても、それぞれの文字の文字幅に関わらず、非プロポーショナルフォントの文字幅と文字数を基準にした印字位置の調整が行われる。よって、図９に示すように、それぞれの文字を適切な位置に印字することが可能となる。
【００７９】
以上説明したように、本発明によれば、プリントサーバが、プリンタで管理されているプロポーショナルフォントのそれぞれの文字幅の情報を管理していなくとも、印字位置データを含まない印刷データに含まれる各文字の印字位置を、帳票のレイアウトに合わせて調整することを可能となる。
【００８０】
以上、実施形態の一例を詳述したが、本発明は、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能である。
【００８１】
また、本発明におけるプログラムは、各処理方法をコンピュータが実行可能（読み取り可能）なプログラムであり、本発明の記録媒体は、各処理方法をコンピュータが実行可能なプログラムが記憶されている。
【００８２】
なお、本発明におけるプログラムは、各装置の処理方法ごとのプログラムであってもよい。
【００８３】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読取り実行することによっても、本発明の目的が達成されることは言うまでもない。
【００８４】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【００８５】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ，シリコンディスク等を用いることができる。
【００８６】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８７】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８８】
また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【００８９】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ，データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【００９０】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【００９１】
１０１  プリントサーバ
１０２  ホストコンピュータ
１０３  業務サーバ
１０４  クライアントＰＣ
１０５  プリンタ
１０６  ネットワーク
２０１  ＣＰＵ
２０２  ＲＡＭ
２０３  ＲＯＭ
２０４  システムバス
２０５  入力コントローラ
２０６  ビデオコントローラ
２０７  メモリコントローラ
２０８  通信Ｉ／Ｆ（インタフェース）コントローラ
２０９  入力装置
２１０  ディスプレイ装置
２１１  外部メモリ
【図１】
2014130470.tif 000003
【図２】
2014130470.tif 000004
【図３】
2014130470.tif 000005
【図４】
2014130470.tif 000006
【図５】
2014130470.tif 000007
【図６】
2014130470.tif 000008
【図７】
2014130470.tif 000009
【図８】
2014130470.tif 000010
【図９】
2014130470.tif 000011
【図１０】
2014130470.tif 000012
【図１１】
2014130470.tif 000013
【図１２】
2014130470.tif 000014