(57)【特許請求の範囲】
【請求項１】
プリンタと接続する外部装置であって、
プリンタに搭載している文字のフォントメトリックス情報を取得するための指示をプリンタに送信する手段と、
プリンタから受信したフォントメトリックス情報をメモリに格納する手段と、
前記フォントメトリックス情報に基づき印字位置を含む文字の印字形態を決定する決定手段と、
前記決定手段により決定された文字の印字形態で文書を印字するためにプリンタの印字出力制御命令を生成する生成手段と、
前記生成手段により生成された印字出力制御命令をプリンタに送信する手段とを有することを特徴とする外部装置。
【請求項２】
前記フォントメトリックス情報は、すべての文字の書体名、文字高、文字幅、ベースライン位置、及び修飾設定パラメータを含むことを特徴とする請求項１記載の外部装置。
【請求項３】
プリンタと接続する外部装置における印字処理方法であって、
プリンタに搭載している文字のフォントメトリックス情報を取得するための指示をプリンタに送信するステップと、
プリンタから受信したフォントメトリックス情報をメモリに格納するステップと、
前記フォントメトリックス情報に基づき印字位置を含む文字の印字形態を決定する決定ステップと、
前記決定ステップにより決定された文字の印字形態で文書を印字するためにプリンタの印字出力制御命令を生成する生成ステップと、
前記生成ステップにより生成された印字出力制御命令をプリンタに送信するステップとを有することを特徴とする印字処理方法。
【請求項４】
前記フォントメトリックス情報は、すべての文字の書体名、文字高、文字幅、ベースライン位置、及び修飾設定パラメータを含むことを特徴とする請求項３記載の印字処理方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、プリンタに搭載している文字のフォントを利用して印刷を行うための印刷情報を出力可能な外部装置および印字処理方法に関するものである。
【０００２】
【従来の技術】
従来の印刷装置並びに印刷システムの印刷制御方法により文字の印字出力を行うためには、プリンタに搭載されているプリンタフォントを利用して印字しようとした場合、プリンタに搭載されている文字に関する各種情報を、プリンタ印字制御方法を実現する外部ＣＰＵあるいはホストシステムのプログラムメモリ上にあるプリンタ印字制御プログラム（プリンタドライバ）内に用意する必要があり、プリンタドライバでその情報に基づき、文字を印字出力させる必要があった。
【０００３】
また、従来例において、文字に関する文字ピッチなどの一部情報については、ＲＳ−２３２Ｃなどのシリアル・インタフェース通信のみによって、プリンタから取得することが可能であった。例えば現在選択している書体の文字を一文字ずつコードを送信して、その文字の文字ピッチを取得する方法があった。
【０００４】
【発明が解決しようとする課題】
従来の印刷装置または印刷システムでは、文字を印字するためにプリンタに搭載されている文字に関する各種情報を、プリンタの印字制御を行うプリンタ印字制御プログラム（プリンタドライバ）内に用意するようになっていた。
【０００５】
また、文字ピッチなどの一部情報については取得可能であったが、ＲＳ−２３２Ｃ準拠などのシリアル・インタフェース通信などの一部の限定された通信方法のみでしか実現できなかったので、以下の（１）〜（３）に示すような問題点があった。
【０００６】
（１）プリンタに搭載される文字全ての情報をプリンタ印字制御プログラム（プリンタドライバ）内に用意しなければならないので、同じ制御処理系を有するプリンタ機種毎に、搭載される文字数，文字種が異なれば、その搭載文字も全て用意することになり、プリンタドライバを動作させる上で、その情報データ領域が占めるメモリ量も膨大なものとなってしまう。
【０００７】
（２）プリンタからプリンタフォントの文字ピッチなどの一部情報を取得する場合には、一文字ずつ取得可能であったが、プリンタドライバ上で印字形態制御処理を施し、多量の文字で文書を形成するためには、前記情報のみでは情報が不足しており、文字を印字するためには十分ではなく、かつ処理速度も低下するなどして完全ではなかった。
【０００８】
（３）プリンタからプリンタフォントの文字ピッチなどの一部情報を取得する場合におけるホストプリンタとの通信は、ＲＳ−２３２Ｃ準拠などのシリアル・インタフェース通信など一部の限定された通信方法のみでしか実現ができなかったので、プリンタとホストシステムとの接続方法で一般的に使われるセントロニクス準拠などのパラレル・インタフェースのハードウェアを採用しているシステムでは実現不可能であった。
【０００９】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、プリンタから取得した文字資源情報に基づき文字の印字形態を決定し、該決定された印字形態で文書を印字するための印字出力制御命令を生成してプリンタに送信することにより、外部装置側に入力される文字情報を印字しようとしている印刷装置から取得した固有の文字資源情報に従って処理することができる外部装置および印字処理方法を提供することである。
【００１３】
【課題を解決するための手段】
本発明に係る第１の発明は、プリンタと接続する外部装置であって、プリンタに搭載している文字のフォントメトリックス情報を取得するための指示をプリンタに送信する手段と、プリンタから受信したフォントメトリックス情報をメモリに格納する手段と、前記フォントメトリックス情報に基づき印字位置を含む文字の印字形態を決定する決定手段と、前記決定手段により決定された文字の印字形態で文書を印字するためにプリンタの印字出力制御命令を生成する生成手段と、前記生成手段により生成された印字出力制御命令をプリンタに送信する手段とを有することを特徴とする。
【００１４】
本発明に係る第２の発明は、前記フォントメトリックス情報は、すべての文字の書体名、文字高、文字幅、ベースライン位置、及び修飾設定パラメータを含むことを特徴とする。
【００１５】
本発明に係る第３の発明は、プリンタと接続する外部装置における印字処理方法であって、プリンタに搭載している文字のフォントメトリックス情報を取得するための指示をプリンタに送信するステップと、プリンタから受信したフォントメトリックス情報をメモリに格納するステップと、前記フォントメトリックス情報に基づき印字位置を含む文字の印字形態を決定する決定ステップと、前記決定ステップにより決定された文字の印字形態で文書を印字するためにプリンタの印字出力制御命令を生成する生成ステップと、前記生成ステップにより生成された印字出力制御命令をプリンタに送信するステップとを有することを特徴とする。
【００１６】
本発明に係る第４の発明は、前記フォントメトリックス情報は、すべての文字の書体名、文字高、文字幅、ベースライン位置、及び修飾設定パラメータを含むことを特徴とする。
【００３３】
【実施例】
以下、印刷装置および該当プリンタに接続してあるホストシステムのプログラムメモリ上に記憶されたプリンタ印字制御プログラム（プリンタドライバ）により、セントロニクス準拠のパラレル・インタフェースの既存ハードウェアを使って、後述する専用の双方向通信プロトコル制御処理手順に従ってプリンタに搭載されている全ての文字の各種文字情報（フォント・メトリックス情報）をプリンタから一括して取得して、当該取得した情報に基づいてプリンタを制御して文字を印字出力する場合を例として詳細に説明する。
〔第１実施例〕
図１は本発明の第１実施例を示す印刷システムの構成を説明するブロック図であり、印刷装置１１２と外部装置としてのホストシステムとから構成される場合に相当する。
【００３４】
なお、印刷システムは、ホストシステム１００とこれに対して入力を行うキーボード，マウスなどの入力装置１０１，表示出力装置（ディスプレイ）１０２、ファイルの入出力を行うディスク１０３および該当ホストシステム１００に接続してある印刷装置（プリンタ）１１２において、ホストシステム１００内のプログラムメモリ（ＲＡＭ）１０６上にある、本発明の文字印字システムを実現するプリンタの印字制御を行うプリンタ印字制御プログラム１２４と、同じく本発明を実現するプリンタ１１２内のプログラムメモリ（ＲＯＭ）１２０上にある専用の双方向通信制御処理を行い、フォントメトリックス情報を送信するプログラム１３４（図３参照）にて、文字を印字出力するという構成からなる。
【００３５】
上記本実施例の印刷システムには、外部ＣＰＵあるいはホストシステムのプログラムメモリ上にある印刷装置（プリンタ）の印字制御を行うプリンタ印字制御プログラム（プリンタドライバ）が、プリンタに搭載されている全ての文字の印字に関する各種情報を専用の双方向通信制御処理によって、一括して取得するためのプリンタドライバからの入力通知を受信する手段と、前記情報を取得指示入力した外部ＣＰＵあるいはホストシステムに出力するための専用の双方向通信制御手段を設け、出力送信する手段と、同じく外部ＣＰＵあるいはホストシステムのプログラムメモリ上にあるプリンタ印字制御プログラム（プリンタドライバ）より、指示入力された文字印字に関する情報に基づいて、文字を印字出力する手段を有するプリンタを備える。
【００３６】
一方、外部ＣＰＵ或はホストシステムのプログラムメモリ上に指示入力されるプリンタを初期化する手段と、プリンタに対して、プリンタに搭載されている全ての文字の印字に関する各種情報を、同じく専用の双方向通信制御手段を設け、一括して取得するための指示出力通知を送信する手段と、プリンタ前記双方向通信制御手段によって、出力通知される前記情報を受信する手段と、外部からの印刷のための文字情報の指示入力を入力する入力手段と、前記入力情報およびパラメータを解析する手段と、前記取得したプリンタからの入力文字情報に基づいて、文字種，サイズ，印字開始位置などの印字形態を決定する印字制御手段と、前記決定した印字形態に基づき、プリンタに印字するための制御命令に変換する手段と、前記文字を構成する制御命令をプリンタに送信する手段を有するプリンタ印字制御プログラム（プリンタドライバ）を備える。
【００３７】
以上、プリンタおよびプリンタドライバ間に、専用の双方向通信制御手段を設け、プリンタドライバがプリンタに搭載されている文字のフォント・メトリックス情報を取得し、その情報に基づき印字制御を行い、プリンタに文字を印字する手段を有することを特徴とする文字印字システムを備える。
【００３８】
ホストシステムなどの外部ＣＰＵのプログラムメモリ上にあるプリンタ制御プログラム（プリンタドライバ）において、専用の双方向通信制御手段を用いて、プリンタから搭載されている全ての文字の書体名，文字高／幅（ピッチ），ベースライン位置，強調（太字）／斜体角度の修飾設定パラメータ、その他属性情報などの各種情報（フォント・メトリックス情報）を一括して取得し、文字の印字形態の制御処理を行い、プリンタで文字の印字出力を行うよう動作する。
【００３９】
以下、具体的な印刷システムのホストシステム１００の構成について説明する。
【００４０】
ホストシステム１００において、１０５はホストシステムおよび接続される各入出力装置の制御や、入力された指示に従って印字制御等一連の処理、各種プログラムを実行するＣＰＵ１０４を動作させるためのオペレーティング・システムなど種々の基本プログラムを格納するメモリであるＲＯＭ、１０６はＣＰＵ１０４がプリンタ印字制御プログラム（プリンタドライバ）１２４（図２参照）などを実行する各種処理のための作業領域として用いられるメモリであるＲＡＭ、外部からプリンタドライバ１２４およびプリンタ１１２に対して印字に関する情報，指示入力および印刷指示を行うアプリケーション・プログラムなどもこのＲＡＭ上にある。１０７〜１０９はホストシステム１００に接続されるキーボード，マウス１０１，ディスプレイ１０２およびディスク１０３などの入出力インタフェース、１１０はホストシステム１００とプリンタ１１２を接続して、通信を行うためのセントロニクス準拠のパラレルインタフェースの既存ハードウェアを使った専用の双方向通信プロトコルを備えた入出力インタフェースである。１１１は各構成装置要素を接続するＣＰＵバスである。
【００４１】
以下、プリンタ１１２の構成を詳細に説明する。
【００４２】
プリンタ１１２において、１１７はプリンタに接続される各入出力の制御や、入力された指示に従って印字制御など一連の処理、通信制御処理などのプログラムを実行するＣＰＵ、１１８はＣＰＵ１１７が各種プログラム実行・処理を行うための作業領域として用いられるメモリであるＲＡＭ、１１９はフォント・メトリックス情報（例えば全ての文字の書体名，文字高／幅（ピッチ），ベースライン位置，強調（太字）／斜体角度の修飾設定パラメータ，その他属性情報等）、文字のパターン構成データなどが格納されているメモリであるフォントＲＯＭ、１２０は各入出力の制御や、入力された指示に従って印字制御など一連の処理、信制御処理などのプログラムなどが格納されているメモリ（プログラムＲＯＭ）である。１１３はフォント・メトリックス情報、文字のパターン構成データなどが格納されているディスク１１４との入出力インタフェース、１１５はホストシステム１００とプリンタ１１２を接続して、通信を行うためのセントロニクス準拠のパラレルインタフェースなどの通信プロトコルの既存ハードウェアを使った専用の双方向通信プロトコルを備えた入出力インタフェース、１１６は機構的に印字出力を行う印字出力装置駆動系（エンジン部）１２２とのデータおよび信号のやり取りを行う入出力インタフェースである。１２１は各構成装置要素を接続するＣＰＵバス、１２３は印字出力である。
【００４３】
以下、ホストシステム１００内のプリンタ印字制御プログラム（プリンタドライバ）１２４の制御処理および動作を詳細に説明する（図２参照）。
【００４４】
ホストシステム１００内のＲＡＭ１０６上にある本発明の印刷システムを実現するプリンタ印字制御プログラム（プリンタドライバ）１２４は、同じくＲＡＭ１０６上にあるワードプロセッサなどの文書入力プログラムからの文字印字出力指示により起動する。まず、プリンタ初期化プログラム１２５をプリンタの印字制御を行うためにプリンタを初期化する制御命令を送信する。
続いて、文字情報取得指示送信プログラム１２６にて、文字印字の準備をするために、プリンタ１１２に対して専用の双方向通信プロトコル制御処理を行って、プリンタ１１２に搭載されている全ての文字のフォント・メトリックス情報の取得指示を送信する。この取得指示はプリンタ制御命令形式でも良いし、あるいは信号でも良い。
【００４５】
文字情報受信プログラム１２７にて、プリンタ１１２から前記双方向通信プロトコル制御処理を行って、全ての文字のフォント・メトリックス情報を一括して受信し、記憶制御装置に格納する。
【００４６】
ＲＡＭ１０６上には、同じくＲＡＭ１０６上にあるワードプロセッサなどの文書入力アプリケーション・プログラムから、プリンタ１１２に印字を行うために文字の種類，属性，印字開始位置および各設定パラメータ情報の入力処理を行う文字情報およびパラメータ入力プログラム１２８，前記入力された文字の情報および印字出力を行うための各種指示パラメータなどを解析する入力情報およびパラメータ解析プログラム１２９，文字の種類，印字属性，印字形態などを指示する各設定パラメータおよびプリンタ１１２より取得した前記フォント・メトリックス情報に基づいて、文字および文字から構成される文書の印字を決定する印字制御プログラム１３０，前述決定した文字および文書を印字するため、プリンタ１１２の印字出力制御命令を変換・生成する出力制御命令変換プログラム１３１，生成された印字出力制御命令をプリンタ１１２に送信する出力制御命令送信プログラム１３２が記憶されており、これらのプログラムにより一連の処理を施し、文字および文書をプリンタ１１２から印字出力する構成となっている。
【００４７】
以下、印刷装置（プリンタ）１１２内の印字制御および通信制御処理プログラム１３３の制御処理および動作を詳細に説明する（図３参照）。
【００４８】
通信制御処理プログラム１３３において、文字情報取得指示受信プログラム１３４は、ホストシステム１００内のプリンタ印字制御プログラム（プリンタドライバ）１２４から、専用の双方向通信プロトコル制御処理を行って、送信されてくるフォント・メトリックス情報の取得指示の送信を受信する。
【００４９】
文字情報送信プログラム１３５は、前記双方向通信プロトコル制御処理を行って、プリンタ１１２に搭載されている全ての文字のフォント・メトリックス情報をフォントＲＯＭ１１９あるいはディスク１１４から、読み出し一括してプリンタドライバ１２４に送信する。
【００５０】
印字制御命令入力プログラム１３６は、プリンタドライバ１２４から、プリンタ１１２に印字を行うために送信されてくるプリンタ印字制御命令の入力処理を行う。
【００５１】
制御設定パラメータ解析プログラム１３７は、前記入力されたプリンタ印字制御命令および各種設定パラメータなどを解析する。
【００５２】
ビットマップ展開処理プログラム１３８は、前記印字制御命令および制御設定パラメータに基づいて、文字パターンをビットマップ・メモリに展開する。
【００５３】
これらのプリンタにより一連の処理を施し、インタフェース１１６を通して、印字出力装置駆動系（エンジン部）１２２に前記生成されたビットマップ・データを送信して、文字および文書を印字出力１２３する構成となっている。
【００５４】
次に上記構成の印刷システムにおける印字制御処理について、図４および図５に示すフローチャートを参照しながら、ホストシステム１００のプログラム・メモリ上にあるプリンタ印字制御プログラム（プリンタドライバ）１２４および印刷装置（プリンタ）１１２ないのプログラムＲＯＭ１２０上にある通信制御処理およびプリンタの印字制御処理を行う通信制御処理プログラム１３３の制御処理を詳細に説明する。以下、本実施例と第１〜第６の発明の各手段との対応及びその作用について説明する。
【００５５】
第１の発明は、印刷装置１１２において、所定のインタフェースを介して外部装置から入力される文字資源情報取得要求に基づいて文字資源情報転送手段（本実施例では文字情報取得指示受信プログラム１３４，文字情報送信プログラム１３５をＣＰＵ１１７が実行することによる）が記憶手段（フォントＲＯＭ１１９）に記憶された全ての文字資源情報を外部装置に対して一括転送して、外部装置側に入力される文字情報を印字しようとしている印刷装置から取得した固有の文字資源情報に従って処理する。
【００５６】
第２の発明は、印刷装置１１２において、所定のインタフェースを介して外部装置から入力される文字資源取得要求に基づいて印刷装置本体に着脱自在の記憶手段（図示しないフォントカード）に記憶された全ての文字資源情報を外部装置に対して一括転送して、外部装置側に入力される文字情報を印字しようとしている印刷装置から取得した固有の文字資源情報に従って処理する。
【００５７】
第３〜第６の発明は、ホストシステム１００と印刷装置１１２との印刷システムに係り、第３の発明は、印字装置の記憶手段に記憶された全ての文字の文字資源情報を取得する要求が外部装置（ホストシステム１００）からなされると、所定の双方向インタフェース（セントロニクスインタフェース等）を介して印刷装置１１２側から全ての文字資源情報を一括してホストシステム１００側に転送して、本来ホストシステム１００側に記憶すべき印字しようとしている印刷装置１１２の文字資源情報を取得してホストシステム１００に入力される文字情報を前記印字装置から良好に印刷するための処理を行う。
【００５８】
第４の発明は、印刷装置１１２側から一括転送された文字資源情報をディスク１０３等の資源記憶手段に記憶しておき、解析手段（本実施例ではプリンタドライバ１２４中の入力情報及びパラメータ解析プログラム１２９）が入力される文字情報および印字パラメータを解析し、該解析結果と該記憶された文字資源情報とを参照して前記入力される文字情報に対する印字形態を本実施例ではプリンタドライバ１２４中の印字制御プログラム１３０が決定し、該決定された前記印字形態に基づいて、本実施例ではプリンタドライバ１２４中の出力制御命令変換プログラム１３１が一連の出力制御命令に変換し、該変換された一連の出力制御命令を、本実施例ではプリンタドライバ１２４中の出力制御命令送信プログラム１３２が所定の双方向インタフェースを介して印刷装置１１２に転送して、印刷装置から取得した文字資源情報と入力された文字情報とから良好な印刷結果を得るための出力命令を印刷装置に効率よく転送する。
【００５９】
第５の発明において、印刷装置１１２の初期設定時に印字装置の記憶手段（フォントＲＯＭ１１９）に記憶された全ての文字の文字資源情報を取得する要求が外部装置（ホストシステム１００）からなされると、所定の双方向インタフェースを介して印刷装置１１２側から全ての文字資源情報を一括してホストシステム１００側に転送して、本来ホストシステム１００側に記憶すべき印字しようとしている印刷装置１１２の文字資源情報を取得してホストシステム１００に入力される文字情報を印刷装置１１２から良好に印刷するための処理を行う。
【００６０】
第６の発明において、印刷装置側から一括転送された文字資源情報をディスク１０３に複数記憶しておき、解析手段（本実施例ではプリンタドライバ１２４中の入力情報及びパラメータ解析プログラム１２９）が入力される文字情報および印字パラメータを解析し、該解析結果と該記憶されたいずれかの文字資源情報とを参照して前記入力される文字情報に対する印字形態を上記同様に決定し、該決定された前記印字形態に基づいて一連の出力制御命令に上記同様に変換し、該変換された一連の出力制御命令を所定の双方向インタフェースを介して上記同様に印刷装置１１２に転送して、印刷装置から取得した文字資源情報と入力された文字情報とから良好な印刷結果を得るための出力命令を印刷装置に効率よく転送する。
【００６１】
図４は本発明に係る印刷システムの文字資源取得方法の一実施例を示すフローチャートである。なお、（１）〜（１４）は各ステップを示し、各ステップを実行するプリンタ印字制御プログラム（プリンタドライバ）１２４は、外部、例えばワードプロセッサなど文書入力アプリケーション・プログラムからのプリンタへの印刷指示によって、起動が開始される構成となっている。
【００６２】
まず、ステップ（１）では、用紙サイズ，印刷方向，使用できる文字書体設定、座標系の単位設定など印字出力の準備をするため、プリンタ１１２に対する各設定パラメータをプリンタ制御命令に変換・生成し、送信してプリンタの初期化処理を行う。
【００６３】
ステップ（２）では、文字の印字形態を決定し、印字出力の準備をするために、プリンタ１１２に対して専用の双方向通信プロトコル制御処理を行って、ステップ（３）でプリンタ１１２に搭載している全ての文字のフォント・メトリックス情報を一括して取得するための指示を送信する。
【００６４】
次いで、ステップ（４）では、プリンタ１１２から前記双方向通信プロトコル制御処理を行って、ステップ（５）で一括して受信する全ての文字のフォント・メトリックス情報をメモリ１０６あるいはディスク１０３などの記憶制御装置に格納する。
【００６５】
次いで、ステップ（６）では、プリンタ印字制御プログラム１２４に対する、外部からの文字の印字形態を指定する各設定パラメータおよび文字データを入力する。
【００６６】
一般に、文字の印字形態を指定する各設定パラメータおよび文字データは、文字データを作成するアプリケーション・プログラムから、オペレーティング・システムを介して入力される。
【００６７】
次いで、ステップ（７）は、前記入力された各設定パラメータおよび文字データなどの解析処理を行う。
【００６８】
ステップ（７）で解析処理されたパラメータおよびデータをさらに、ステップ（８）で文字データおよび各設定パラメータに分離する。
【００６９】
ステップ（８）の判断で、入力手段が文字データと判定された場合には、ステップ（９）で文字データ記憶制御部に格納し、以降の処理に備える。
【００７０】
一方、ステップ（８）の判定で、入力データが文字データでないと判定された場合は、ステップ（１０）の入力設定パラメータ解析処理および前記プリンタ１１２から取得したプリンタ１１２に搭載されている全ての文字のフォント・メトリックス情報に基づき、ステップ（１１）の文字印字制御処理（モジュール）において、文字種選択，サイズ計算，印字位置など文字の印字形態を決定し、ディスプレイ表示およびプリンタの用紙ページに配置する。
【００７１】
これら文字の制御データは、ステップ（１２）の印字制御命令変換処理（モジュール）において、プリンタ１１２に印字出力するためにプリンタの印字出力制御命令に変換・生成する。
【００７２】
次のステップ（１３）のプリンタへの出力送信処理（モジュール）では、プリンタ１１２に対して、ステップ（１２）で生成された印字出力制御命令を送信する。そして、ステップ（１４）において、プリンタ１１２より印字出力を行い、処理を終了する。
【００７３】
図５は本発明に係る印刷システムの文字資源取得方法の一実施例を示すフローチャートであり、印刷システムを構成する印刷装置（プリンタ）１１２側での処理、特にプリンタ印字制御及び通信制御処理プログラム１３３による処理に対応する。なお、（１）〜（１５）は各ステップを示し、各ステップを実行するプリンタ印字制御および通信制御処理プログラム１３３は、外部、例えばワードプロセッサなど文書入力アプリケーション・プログラムからプリンタ印字制御プログラム（プリンタドライバ）１２４への印刷指示によって、プリンタドライバ１２４が制御命令を送信し、プリンタ１１２がその制御命令を受信して起動が開始される構成となっている。
【００７４】
まず、ステップ（１）では、プリンタドライバ１２４からのプリンタ１１２に搭載されている全ての文字のフォント・メトリックス情報をステップ（２）の取得指示を、専用の双方向通信プロトコル制御処理を行って、受信する。
ステップ（３），（４）では、前記双方向通信プロトコル制御処理を行って、全ての文字のフォント・メトリックス情報を、プリンタ１１２内のフォントＲＯＭ１１９あるいはディスク１１４の記憶制御装置から読み出し、送信する。
ステップ（５），（６）は、プリンタドライバ１２４からの文字を印字するための印字制御命令および文字データの入力である。
ステップ（７）は、前記入力された印字制御命令および文字データなどの解析処理を行う。
【００７５】
ステップ（７）で解析処理された印字制御処理命令およびデータをさらに、ステップ（８）で文字データおよび設定パラメータに分離する。
【００７６】
ステップ（８）（判断分岐）で分離された文字データは、ステップ（９）で文字データ記憶制御部に格納し、以降の処理に備える。
【００７７】
同様に、ステップ（８）（判断分岐）で分離された設定制御パラメータ、ステップ（１０）でパラメータ解析を行い、ステップ（１１）の制御命令解析処理（モジュール）において、ステップ（１０）で解析された設定パラメータおよび印字制御命令に基づき、文字種選択，サイズ計算，印字位置など文字の印字形態を決定し、文字印字のための制御データを生成する。
【００７８】
前記ステップ（９）で文字データ記憶制御部に格納した文字データと、前記解析処理され、生成された文字印字のための制御データは、ステップ（１２）の文字構成制御処理（モジュール）において、文字および文書構成パターンおよび形態，用紙ページに対する配置を決定する。
【００７９】
ステップ（１３）のビットマップ展開処理（モジュール）において、ステップ（１２）の文字構成制御処理（モジュール）で決定された、文字および文書構成パターンおよび形態をビットマップ・データに再現・生成して、ページあるいは印字領域帯（バンド）メモリに展開処理を行う。
【００８０】
ステップ（１４），（１５）で、生成されたビットマップ・データを印字出力装置駆動系（エンジン部）１２２に送信して文字および文書を印字出力を行う。
【００８１】
従って、本実施例によれば、外部ＣＰＵあるいはホストシステムと印刷装置（プリンタ）間を、セントロニクス準拠のパラレル・インタフェースの既存ハードウェアを使って、双方向通信を行うために、専用の双方向通信プロトコル制御処理を設け、ホストシステムのプログラムメモリ上にある、プリンタの印字制御を行うためのプリンタ印字制御プログラム（プリンタドライバ）が、プリンタに対して、搭載されている全ての文字の印字に関する各種情報（フォント・メトリックス情報）を、一括して取得するための指示通知を送信し、その取得指示通知を受信したプリンタが、前記フォント・メトリックス情報をホストシステムにあるプリンタドライバに送信する。該情報を受信し、取得したプリンタドライバは、外部からの文字および文書を印字出力するために入力される文字データおよび各種設定指示パラメータと、プリンタ１１２から取得したフォント・メトリックス情報に基づいて、文字種，サイズ，印字開始位置などの印字形態を決定する印字制御を行い、プリンタ１１２の印字制御命令に変換して、プリンタ１１２に送信し、文字を印字するための文字印字システムを提供することが可能となる。
〔第２実施例〕
上記第１実施例にあるパラレル・インタフェースを使った専用の双方向通信プロトコル制御を、従来よりあるＲＳ−２３２Ｃ準拠のシリアル・インタフェースを使った専用の双方向通信プロトコル制御処理に変えて、図１に示すホストシステム１００内のＲＡＭ１０６上にあるプリンタドライバ１２４とプリンタ１１２間で、通信制御を行うことによって適用することも可能である。
〔第３実施例〕
上記第１実施例の図１に示すホストシステム１００内のＲＡＭ１０６上にあるプリンタドライバ１２４から、プリンタ１１２内の文字構成パターン・データおよびフォント・メトリックス情報など文字に関する各種情報が格納されているフォントＲＯＭ１１９あるいはディスク１１４に、専用の双方向通信プロトコル制御処理を行って、直接アクセスし、必要な情報のみを取得して、文字の印字制御処理を施し、文字の印字出力を行うことによって適用することも可能である。
〔第４実施例〕
本発明は、第１実施例の図１に示すホストシステム１００内のＲＡＭ１０６上にあるプリンタドライバ１２４から、専用の双方向通信プロトコル制御処理部分を分離して、この通信制御専用のプログラムを用意し、プリンタドライバ１２４から、様々な状況下で前記プログラムを呼び出し、プリンタ１１２から文字のフォント・メトリックス情報の他に、印字制御処理に必要な情報も取得して、文字の印字制御処理を施し、印字出力を行う印字システムとして適用することも可能である。
【００８２】
なお、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器から成る装置に適用しても良い。また、本発明はシステムあるいは装置にプログラムを供給することによって達成させる場合にも適用できることは言うまでもない。
【００８３】
なお、上記各実施例では、印刷装置と外部装置とが所定のインタフェースを介して接続される印刷システムを例として説明したが、図１に示したホストシステム１００と印刷装置１１２とが、図示しない所定のネットワーク、例えばＳＣＳＩ，ローカルトーク，イーサネット，アットワーク（商品名を含む）等を介して接続されたシステムでも適用可能であり、その場合の第７〜第９の発明の各手段との対応及びその作用について図１を参照しながら説明する。
【００８４】
第７の発明において、所定のネットワークを介して各外部装置（図示しないいずれかのホストコンピュータ）から入力される文字資源取得要求に基づいて記憶手段（フォントＲＯＭ１１９）に記憶された全ての文字資源情報を各外部装置に対して一括転送して、各外部装置側に入力される文字情報を印字しようとしている各印刷装置１１２から取得した固有の文字資源情報に従って処理する。
【００８５】
第８の発明において、所定のインタフェースを介して各外部装置（図示しないいずれかのホストコンピュータ）から入力される文字資源取得要求に基づいて印刷装置本体に着脱自在の記憶手段（図示しないメモリカード）に記憶された全ての文字資源情報をいずれかの外部装置（図示しないいずれかのホストコンピュータ）に対して一括転送して、外部装置側に入力される文字情報を印字しようとしている印刷装置１１２から取得した固有の文字資源情報に従って処理する。
【００８６】
第９の発明において、印刷装置１１２の初期設定時に印字装置の記憶手段（フォントＲＯＭ１１９）に記憶された全ての文字の文字資源情報を取得する要求が外部装置（図示しないいずれかのホストコンピュータ）からなされると、所定のネットワークを介して印刷装置１１２側から全ての文字資源情報を一括して外部装置側に転送して、本来外部装置側に記憶すべき印字しようとしている印刷装置１１２の文字資源情報を取得して外部装置に入力される文字情報を前記印字装置から良好に印刷するための処理を行う。
【００８７】
なお、上記各実施例によれば、文字を印字するために、プリンタに搭載されている文字に関する各種情報を、プリンタの印字制御を行うプリンタ印字制御プログラム（プリンタドライバ）内に用意することなく、従来のＲＳ−２３２Ｃ準拠などのシリアル・インタフェースもとより、プリンタとホストシステムとの接続方法で一般に使われるセントロニクス準拠などのパラレル・インタフェースにおいても、これらの既存のハードウェア資源を継承しつつ、プリンタ−プリンタドライバ間を専用の双方向通信制御処理を行って、プリンタドライバでプリンタから取得し、その情報に基づいて印字制御を行い、文字を印字するための文字印字システムを提供することができる。
【００８８】
また、プリンタに対して、搭載される文字全ての文字資源情報（フォント・メトリックス情報（例えば全ての文字の書体名，文字高／幅（ピッチ），ベースライン位置，強調（太字）／斜体角度の修飾設定パラメータ，その他属性情報等）をプリンタ印字制御プログラム（プリンタドライバ１２４）内に用意することなく、同じ制御処理系を有するプリンタ機種毎に、搭載される文字数，文字種が異なっていても、取得することが可能となるため、プリンタドライバ１２４を制御動作させる上で、その情報データ領域が占めるメモリ量を大幅に縮小あるいは必要なくなり、システム上のメモリが節約できるという効果がある。
【００８９】
さらに、プリンタドライバ上で印字形成制御処理を施し、多量の文字で文書を形成して、文字を印字するための情報として、全てのフォント・メトリック情報あるいは必要な情報をプリンタから取得することが可能となり、かつフォント・メトリック情報を一括して取得できるため、印字制御処理速度の向上を図ることが可能となる効果がある。
【００９０】
また、従来は、ホストシステムとプリンタ間で、ＲＳ２３２Ｃ準拠等のシリアルインタフェース通信等の一部に限定された通信方法のみでしか、双方向通信制御処理が実現できなかったが、専用双方向通信プロトコル制御処理を設けることにより、プリンタと外部装置を含むホストシステムとの接続方法で一般的に使われるセントロニクス準拠等のパラレル・インタフェースを採用しているハードウエアを継承するシステムにも、本発明を適用できるものである。
【００９１】
なお、上記実施例で示す文字資源情報の転送は、外部装置と印刷装置とは汎用インタフェースを介して転送する場合の処理に対応するが、図示しないネットワークを介して外部装置と印刷装置との間で転送するように構成してもよい。
〔第５実施例〕
以下、第５実施例と第１０の発明の各工程との対応及びその作用について図４，図５等を参照しながら説明する。
【００９２】
第１０の発明は、印字可能な全ての文字の書体名，文字高／幅，ベースライン位置，文字修飾設定パラメータを含む文字資源情報を記憶する記憶手段と、外部装置から双方向インタフェースを介して受信した一連の出力制御命令を解析して記録媒体に対するプリンタエンジンの印字を制御する印字制御手段とを有する印刷システムの文字資源取得方法において、前記記憶手段に記憶された全ての文字の文字資源情報の取得要求を前記印刷装置に転送する第１の転送工程（図４のステップ（２））と、この第１の通信制御手段による前記文字資源情報を取得要求に応じて前記記憶手段に記憶された全ての文字の文字資源情報を前記所定の双方向インタフェースを介して外部装置に一括転送する第２の転送工程（図５のステップ（２））とを実行して、本来各外部装置側に記憶すべき印字しようとしている印刷装置の文字資源情報を取得して各外部装置に入力される文字情報を前記印字装置から良好に印刷するための処理を行う。
【００９３】
【発明の効果】
以上説明したように、本発明によれば、プリンタから取得した文字資源情報に基づき文字の印字形態を決定し、該決定された印字形態で文書を印字するための印字出力制御命令を生成してプリンタに送信するので、外部装置側に入力される文字情報を印字しようとしている印刷装置から取得した固有の文字資源情報に従って処理することができるという効果を奏する。
【図面の簡単な説明】
【図１】本発明の第１実施例を示す印刷システムの構成を説明するブロック図である。
【図２】図１に示したホストシステム側のＲＡＭに記憶されるプログラムの構成を説明する図である。
【図３】図１に示したプリンタ側のＲＡＭに記憶されるプログラムの構成を説明する図である。
【図４】本発明に係る印刷システムの文字資源取得方法の一実施例を示すフローチャートである。
【図５】本発明に係る印刷システムの文字資源取得方法の一実施例を示すフローチャートである。
【符号の説明】
１００  ホストシステム
１０４  ＣＰＵ
１０５  ＲＯＭ
１０６  ＲＡＭ
１１０  入出力インタフェース
１１２  印刷装置
１１５  入出力インタフェース
１１７  ＣＰＵ
１１８  ＲＡＭ
１２０  プログラムＲＯＭ
１２２  エンジン部
１２４  プリンタドライバ
１３３  通信制御処理プログラム
【図１】
0003604726.tif 000002
【図２】
0003604726.tif 000003
【図３】
0003604726.tif 000004
【図４】
0003604726.tif 000005
【図５】
0003604726.tif 000006