【事件の表示】
　特許第３２０８１９７号「印刷装置」の請求項３、４に係る特許に対する特許異議の申立てについて、次のとおり決定する。
【結　論】
　訂正を認める。
　特許第３２０８１９７号の請求項４に係る特許を取り消す。
　同請求項３に係る特許を維持する。
【理　由】
１．手続の経緯
　本件特許３２０８１９７号「印刷装置」の請求項１ないし５に係る発明についての出願は、平成４年１１月６日に特許出願され、平成１３年７月６日にその発明について特許権の設定登録がなされ、その後、その請求項３，４に係る発明の特許について、異議申立人梅沢靖幸より特許異議の申立てがなされ、第１回目の取消理由通知に対し、その指定期間内である平成１４年１２月１０日に訂正請求がなされるとともに異議意見書が提出され、第２回目の取消理由通知に対し、その指定期間内である平成１５年７月１４日に訂正請求がなされるとともに異議意見書が提出されたものである。
　なお、平成１４年１２月１０日付けの訂正請求は、その後取り下げられた。
　
２．訂正の適否について
（１）訂正の内容
・訂正事項ａ
　特許請求の範囲の【請求項３】の記載を次のとおりに訂正する。
「印刷装置固有のコマンドを制御するプリンタドライバを記憶する手段を備え、該コマンドに従ってページ単位で編集、印刷を行う印刷装置において、
上位制御装置と情報を送受信する通信手段と、
イメージデータを密度変換するイメージデータ密度変換手段を有し、
前記上位装置から送信されたイメージデータを密度変換し、この変換後のイメージデータを前記上位制御装置へ送信することを特徴とする印刷装置。」
・訂正事項ｂ
　特許請求の範囲の【請求項４】の記載を次のとおりに訂正する。
「ページ単位で編集、印刷を行う印刷装置において、
システムのネットワークに直接接続する通信手段と、
印刷する情報を順番に蓄えるキューと当該キューを管理するキュー管理テーブルを有し、
印刷する情報を蓄えるキューの中の待ち行列が予め定められた値より多い場合、または印刷データが予め定められた値より多い場合に他の印刷装置に印刷すべきであることを示す情報を前記上位制御装置へ送信することを特徴とする印刷装置。」
・訂正事項ｃ
　明細書の【発明の詳細な説明】の欄の段落【００１６】を次のとおり訂正する。
「【００１６】【課題を解決するための手段】
　上記課題を解決するために本発明は、ページ単位で編集、印刷を行う印刷装置において、上位制御装置と情報を送受信する通信手段と、前記印刷装置固有のコマンドを制御するプリンタドライバを記憶する手段を有し、前記上位制御装置の指示に基づき、前記プリンタドライバを前記印刷装置から前記上位制御装置へ送信することとした。また、アウトラインフォントと該アウトラインフォントをビットマップフォントに変換する変換手段と、変換した該ビットマップフォントを一時的に記憶しキャッシングするキャッシング手段を有し、前記上位制御装置の指示に基づき、アウトラインフォントをビットマップフォントに展開するとともに該ビットマップフォントを前記上位制御装置へ送信することとした。さらに、
印刷する情報を順番に蓄えるキューと当該キューを管理するキュー管理テーブルを有し、印刷する情報を蓄えるキューの中の待ち行列数が予め定められた値より多い場合、または印刷データが予め定められた値より多い場合に他の印刷装置に印刷すべきであることを示す情報を前記上位制御装置へ送信することとした。」
・訂正事項ｄ
　明細書の【発明の詳細な説明】の欄の段落【００１７】を次のとおり訂正する。
「【００１７】【作用】
　上記各手段を具備することにより、印刷装置から上位装置へプリンタドライバをアップロードすることができる。また、アウトラインフォントと該アウトラインフォントをビットマップフォントに変換する変換手段を具備したのでフォントキャッシュに展開されたデータをビットマップフォントデータとして印刷装置から上位装置へアップロードすることができる。さらに、印刷する情報を順番に蓄えるキューと当該キューを管理するキュー管理テーブルを具備したので印刷する情報を蓄えるキューの中の待ち行列が予め定められた値より多い場合、または印刷データが予め定められた値より多い場合に他の印刷装置に印刷すべきであることを示す情報を前記上位制御装置へ送信することができる。」と訂正する。
　
（２）訂正の目的の適否、新規事項の有無、及び特許請求の範囲の拡張・変更の存否
　上記訂正事項ａは、請求項３の「ページ単位で編集、印刷を行う印刷装置において」という記載部分と「前記印刷装置固有のコマンドを制御するプリンタドライバを記憶する手段と」という記載部分とをまとめて整理し、「印刷装置固有のコマンドを制御するプリンタドライバを記憶する手段を備え、該コマンドに従ってページ単位で編集、印刷を行う印刷装置において、」と訂正するものであり、明りょうでない記載の釈明を目的とした明細書の訂正に該当し、当該訂正の内容については、願書に添付された明細書の段落【００６８】、【００７０】および図２２などに明確に記載されているので新規事項の追加に該当せず、特許請求の範囲を実質上拡張し、又は変更するものでもない。
　上記訂正事項ｂは、請求項４の記載の「印刷キューの中に多くの待ち行列がある場合、または印刷データが多い場合に他の印刷装置に印刷すべきであることを示す情報を前記上位制御装置へ送信する」とあるのを「印刷する情報を蓄えるキューの中の待ち行列が予め定められた値より多い場合、または印刷データが予め定められた値より多い場合に他の印刷装置に印刷すべきであることを示す情報を前記上位制御装置へ送信する」と訂正するものであり、明りょうでない記載の釈明を目的とした明細書の訂正に該当し、当該訂正の内容については、願書に添付された明細書の段落【００１３】、【００８１】などに明確に記載されているので新規事項の追加に該当せず、特許請求の範囲を実質上拡張し、又は変更するものでもない。
　上記訂正事項ｃ、ｄは、上記訂正事項ａ，ｂと整合を図るものであるから、明りょうでない記載の釈明を目的とした明細書の訂正に該当し、いずれも新規事項の追加に該当せず、特許請求の範囲を実質上拡張し、又は変更するものでもない。
　
（３）むすび
　以上のとおりであるから、上記訂正は、特許法第１２０条の４第２項及び同条第３項において準用する特許法第126条第２項から第４項までの規定に適合するので、当該訂正を認める。
　
３．特許異議の申立ての概要
　異議申立人梅沢靖幸は、甲第１号証（特開平４−２５７９１７号公報）、甲第２号証（特開平３−２５５２３号公報）、甲第３号証、（特開平４−８５６１８号公報）、甲第４号証（特開平６−１１０６２６号公報）および周知技術として周知文献１（特開平４−２３３０２７号公報）、周知文献２（特開平３−２５２７１９号公報）を提出し、本件特許発明の請求項３は、甲第１号証、甲第２号証の記載または甲第１号証、甲第２号証と周知文献１から容易になし得たものであり、本件特許発明の請求項４は、甲第３号証と同一または甲第３号証の記載または甲第３号証と周知文献２から容易になし得たものであるから、特許法第２９条第１項第３号または第２項の規定により特許を受けることができないものであり、また本件特許発明の請求項３は、甲第４号証に記載された発明と同一であるから、特許法第２９条の２の規定により特許を受けることができないものであり、さらに、本件特許発明の請求項３、４は、特許法第３６条第３、４項に規定する要件を満たしていないので特許をうけることができないものである旨、それぞれ主張している。
　
４．本件発明
　本件特許第３２０８１９７号の請求項３および４に係る発明（以下、それぞれ、「本件訂正発明１」および「本件訂正発明２」という。）は、訂正明細書の特許請求の範囲の請求項３および４に記載されるとおりのものである（上記２．（１）訂正の内容参照。）。
　
５．本件訂正発明１の特許について
（１）特許法第３６条第４、５項違反について
　当審が第２回取消理由通知で指摘した請求項３についての記載不備は、平成１５年７月１４日付け訂正請求の訂正により請求項３が上記２．（１）の訂正事項ａのように訂正されたことから、印刷装置固有のコマンドを制御する制御するプリンタドライバを記憶する手段と他の手段との関連性が明りょうになったので解消した。したがって、当該特許は、特許法第３６条第４，５項の規定に違反してされたものであると認めることはできない。
　
（２）特許法第２９条第１項第３号または第２項の異議申立について
　異議申立人が請求項３に係る発明に対して提示した甲第１号証（特開平４−２５７９１号公報）に記載された発明は、文書処理装置から送られてきた印刷データをプリントサーバ装置でイメージデータに展開するものであることから、文書処理装置（上位制御装置）側に印刷装置のコマンド系に合わせたプリンタドライバを備えていることが前提となる技術であり、本件訂正発明１のように印刷データを印刷装置でイメージデータに展開するものではない点で相違している。また、同じく甲第２号証（特開平３−２５５２３号公報）に記載された発明もプリンタ側で印刷データをビットマップ展開するものであり、ホストコンピュータ（上位制御装置）側にプリンタドライバを備えてることが前提となる技術であるから甲第１号証の発明と同様に本件訂正発明１と相違している。
　そして、本件訂正発明１の印刷装置は、上位制御装置より送られてくるイメージデータを密度変換手段により密度変換し、変換後のイメージデータを上位制御装置へ送信する構成を採用したことにより、上位制御装置側にプリンタドライバを備えておく必要が無いという格別の効果を奏するものであるから、甲第１号証に記載された発明と同一と認めることはできず、また、甲第１，２号証に記載された発明から当業者が容易に発明をすることができたものと認めることはできないので、異議申立人の上記主張は採用することができない。
　
（３）特許法第２９条の２の異議申立について
　特願平４−２５６８４５号（甲第４号証：特開平６−１１０６２６号公報）の明細書に記載された発明は、特許請求の範囲の【請求項１】の「外部機器よりの印刷データを受信して印刷を行う印刷装置であって、外部機器よりの印刷データをコード形式で受信し、印刷イメージデータに展開する展開手段と、前記印刷イメージを前記外部機器に伝送する伝送手段と、を有することを特徴とする印刷装置。」
、段落【００１８】の「次に図１において、１１はホストコンピュータ２０１との通信を行なうデータラインを示している。１２は入出力Ｉ／Ｆ部で、ホストコンピュータ２０１との間で種々のデータ送受信制御を実行している。１３はページメモリで、入力した文書データをページ単位に記憶している。１４はビットマップメモリで、ページメモリ１３に記憶された文書データを印刷イメージに展開したビットマップイメージが記憶されている。」、段落【００２０】の「ホストコンピュータ２０１から送られてきた文書データは、例えばセントロニクス等のＩ／Ｆを通してプリンタ装置１００に入力される。この文書データは入出力Ｉ／Ｆ１２を通って、ページメモリ１３にページ単位に記憶される。このページメモリ１３へ記憶された文書データは、更に主制御部１７の制御によって順次読出され、その文書データに含まれるコマンドが解析されるととともに、そのコードデータはフォントＲＯＭ１６を参照してドットデータ（イメージデータ）に変換される。こうしてビットマップに展開されたイメージデータは、ビットマップメモリ１４へ展開されて記憶される。」等の記載および図５、図６のフローチャートの記載からみて、上位制御装置に相当する外部機器（ホストコンピュータ２０１）から送信されてくる文書データを印刷装置側でイメージデータに展開することが前提となっていることは明らかであり、上位制御装置からイメージデータを受信することが前提となっている本件訂正発明１の構成とは異なっている。
　したがって、本件訂正発明１が特願平４−２５６８４５号の明細書に記載された発明と同一であると認めることはできない。
　
６．本件訂正発明２の特許について
（１）引用刊行物
　本件特許発明の請求項４に対する当審の第２回取消理由通知で引用した刊行物１の特開平４−２３３０２７号公報（異議申立人の提出した周知技術２）には、複数のホストコンピュータに共用される印刷装置に関する発明が記載されており、第２実施例の構成ブロック図を示す図４、同図の実施例の動作を説明するフローチャートである図５，プリンタＩＤが管理されているプリンタＩＤテーブルを示す図３、などと共に次のような記載がある。
(ａ)「【0004】）本発明の目的は、上記技術的課題を解決し、印刷データ等の送信側で印刷処理状況を認識することができ利便性を向上することができる記録装置を提供することである。」
(ｂ)「【0005】【課題を解決するための手段及び作用】
　本発明に従えば、例えばメモリフル状態等で印刷データを記憶できないときに識別データのみと格納するテーブルを設けたので、このテーブルに記憶された識別データの印刷ジョブに対してはすぐに印刷ができない旨の情報を送信側に返答することができる。」
(ｃ)「【0014】・・・プリンタＩＤテーブルとは図３に示すように送信された印刷ジョブを管理するテーブルで、プリンタＩＤとはプリンタに印刷せよと命令する印刷コマンドに付加されてデータとして送られてくるものである。・・・」
(ｄ)「【0015】その格納されたデータの先頭アドレスをプリンタＩＤテーブルに登録し、その印刷ジョブのプリンタＩＤとともに管理するのである。」
(ｅ)「【0017】以上の様なプリンタＩＤテーブルがいっぱいで空き領域が無い場合、ステップＳ６に進みホストコンピュータ側に印刷が遅れる旨をステータスで返す。」
(ｆ)「【0023】図４において、１はホストコンピュータで、画像や印字データを発生するものである。２はコンピュータ側に送受信部であり、データで所定の周波数の搬送信号を変調してプリンタ側に送信するとともに、プリンタからのステータスを受信する。」
(ｇ)「【0024】１３は、プリンタ側の送受信部であり、送受信部２からの信号を受信、復調するとともに、ステータスをホストコンピュータ１に送信する。」
(ｈ)「【0027】１０は識別データであるプリンタＩＤを格納するプリンタＩＤ格納テーブル、１１はホストコンピュータにプリンタの印刷状況をステータスとして返答するためのプリンタＩＤ応答処理部である。」
(ｉ)「【0028】１２はプリンタＩＤ格納テーブルに格納できないプリンタＩＤを格納する補助ＩＤテーブルである。」
（ｊ)「【0029】図５が本発明の他の実施例の動作を示すフローチャートであり、・・・」
（ｋ）「【0030】・・・ステップＳ７でデータが送信されたと判断されたならば、ステップＳ８に進みプリンタＩＤテーブルの空き状況を調べる。」
(ｍ)「【0032】このプリンタＩＤテーブルがいっぱいで空き領域が無い場合、ステップＳ９に進み補助ＩＤテーブルにプリンタＩＤテーブルに登録できなかったプリンタＩＤ登録する。」
（ｎ）「【0033】そしてステップＳ１０で、ホストコンピュータ側に印刷が遅れますとステータスで返す。」
(ｏ)「【0034】・・・次にステップＳ１２でプリンタＩＤテーブルにストアされているプリンタＩＤの印刷データについて、本実施例ではプリンタＩＤは印刷ジョブの識別デーダあるとともに、その印刷ジョブの優先順位を表しており、プリンタＩＤの昇順に通常の印刷処理をする。・・・」
　これらの記載事項からみて、引用刊行物１には、「無線を介して複数のホストコンピュータに共用されるプリンタであって、ホストコンピュータからの信号を受信するとともに、プリンタの印刷状況を示すステータス情報をホストコンピュータに送信する送受信部（１３）と、ホストコンピュータから送信されてきた印刷ジョブを管理するプリンタＩＤ格納テーブル（１０）と、ホストコンピュータにプリンタの印刷状況をステータスとして返答するためのプリンタＩＤ応答処理部（１１）と有し、プリンタＩＤテーブルがいっぱいになっている場合に、「印刷が遅れます」という主旨のステータス情報を送信するようになっているプリンタ」の発明（以下、「刊行物１に記載された発明」という。）が記載されているものと認める。
　同じく、第２回取消理由通知で引用した刊行物２の特開平４−８５６１８号公報（異議申立人の提出した甲第３号証）には、同一ネットワーク上に、それぞれ印刷制御装置を介して複数台の印刷装置が接続されたデータ処理装置（システム）の構成を示す第１図、第１図中のデータ処理装置３の内部構成を示すブロック図である第２図と共に次のような事項が記載されている。
(ｐ)「本発明は、例えば複数のコンピュータ端末と複数の印刷装置とをネットワーク接続して構成した複数印刷装置を備えたデータ処理装置に関する。」（産業上の利用分野の項）
(ｑ)「ネットワーク通信媒体Ｎには、印刷制御装置（ａ）４を通して印刷装置（ａ）５が接続される。印刷制御装置（ａ）４は、ネットワーク通信媒体Ｎを通して与えられた被印刷データを印刷装置（ａ）５に出力転送しその印刷動作を制御すると共に、被印刷データの印刷待ち行列に基づく印刷負荷状態を定期的に検査するもので、この印刷負荷状態の検査情報はネットワーク通信媒体Ｎを通してデータ処理装置側へ送信される。」（第２頁左下欄第１２行−同欄第２０行目）
(ｒ)「第２図は上記データ処理装置（ａ）３の内部構成を示すもので、入力装置１から与えられた印刷指令信号は印刷印刷指令受付部３１に入力され、この印刷指令受付部３１による印刷印刷指令受付信号は印刷装置選択部３２に出力される。この印刷装置選択部３２は、上記印刷制御装置（ａ）４及び（ｂ）９から与えられる印刷負荷状態の検査情報に基づく、印刷待ち行列が少ない方の印刷装置を選択するもので、この印刷装置選択部３２による宇印刷装置選択指定信号は、
上記入力装置１から与えられた被印刷データと共にデータ送信部３３を介してネットワーク通信媒体Ｎに出力される。
　一方、印刷制御装置（ａ）４及び（ｂ）９から繰返し与えられるリアルタイムな印刷負荷状態の検査情報は、検査結果受信部３５に受信されて負荷情報保存部３２に一時保存され、上記印刷装置選択部３２に出力される。」（第２頁右下欄第８行−第３頁左上欄第４行目）
(ｓ)「一方、上記待ち行列処理部４２における被印刷データの印刷待ち行列量に相当する印刷負荷状態は、負荷検査部４４により定期的に検査され、検査結果送信部４５からネットワーク通信媒体Ｎを通してデータ処理装置（ａ）３又は（ｂ）８に繰返し送信される。」（第３頁左上欄第１６行−同頁右上欄第１行目）
（ｔ）「したがって、上記構成の複数印刷装置を備えたデータ処理装置によれば、２台有る印刷装置（ａ）５及び（ｂ）１０の印刷待ち時間に相当する印刷負荷状態を定期的に検査し、該印刷負荷の検査情報に基づき印刷開始時期が最も早い何れか一方の印刷装置（ａ）５又は（ｂ）１０が選択されるようにしたので、オペレータは自分自身で複数台存在する印刷装置の選択を行う必要なく、最短時間で印刷処理を実行することが可能になり、効率的な印刷作業を行うことができる。」（第３頁右下欄第１３行−第４頁左上欄第２行目）
　これらの記載事項からみて、引用刊行物２には、「システムのネットワークに接続する通信手段を有し、印刷待ち行列量である印刷負荷情報をデータ処理装置（上位制御装置）に送信する印刷制御装置と印刷装置とからなる複数の印刷装置手段がステムのネットワークに接続され、上位制御装置であるデータ処理装置では、印刷装置手段から送信されてくる上記印刷負荷情報に基づいて印刷待ち行列量の少ない印刷装置を自動的に選択するようになっているネットワーク・プリンタ・システム」の発明（以下、「刊行物２に記載された発明」という）が記載されているものと認める。
（２）対比・判断
　本件訂正発明２と刊行物１に記載された発明とを対比すると、刊行物１における「ホストコンピュータ」は、本件訂正発明２における「上位制御装置」に、刊行物１における「送受信部（１３）」は本件訂正発明２における「通信手段」に相当し、また、刊行物１における「プリンタＩＤ」、「プリンタＩＤテーブル」は、上記(ｃ)、(ｄ)の記載事項からみて、それぞれ本件訂正発明２における「キュー」、「キュー管理テーブル」に相当しているのは明らかであるから、両者は、以下のとおりの一致点及び相違点を有するものと認められる。
［一致点］
　上位制御装置と情報を送受信する通信手段と、印刷する情報を順番に蓄えるキューと当該キューを管理するキュー管理テーブルとを有し、キューの状態から印刷待ちデータが所定量より多い状態になっていることを意味する情報を上位制御装置へ送信する印刷装置。
［相違点］
（１）本件訂正発明２における印刷装置は、ページ単位で編集、印刷を行うものであるのに対し、刊行物の発明は、この点について明記されていない点。
（２）上位制御装置と情報を送受信するための通信手段について、本件訂正発明２はシステムのネットワークに接続されるものであるのに対し、刊行物１に記載された発明は無線を介して上位制御装置と接続されるものである点。
（３）本件訂正発明２は、上位制御装置に対して複数の印刷装置が利用可能になっていることが前提であるのに対し、刊行物１に記載された発明は、上位制御装置に対しての印刷装置は１台である点。
（４）印刷待ちデータが所定量より多い状態になっていることを意味する情報を得るのに、本件訂正発明２は、印刷する情報を蓄えるキューの中の待ち行列数が予め定められた値より多い場合、または印刷データが予め定められた値より多い場合、としているのに対し、刊行物１に記載の発明は、プリンタＩＤテーブルがいっぱいでメモリに空き領域が無い場合としている点。
（５）印刷待ちデータが所定量以上溜まった場合に上位制御装置に送信する情報として、本件訂正発明２は「他の印刷装置に印刷すべきであることを示すもの」であるのに対し、刊行物１に記載の発明は、「印刷が遅れますという主旨のステータス」である点。
［相違点についての判断］
相違点（１）；ページ単位で編集、印刷を行う印刷装置を、いわゆるネットワーク・プリンタにおいて使用することは周知慣用技術に過ぎないから、当該相違点に困難性はない。
相違点（２）；印刷装置と上位制御装置であるホストコンピュータとをシステムのネットワークを介して接続するのは、刊行物２に見られるように周知慣用技術であるから、当該相違点に困難性はない。
相違点（３）；上位制御装置に対して複数の印刷装置を利用可能にすることは、刊行物２に記載された発明に見られるように周知慣用技術である。
相違点（４）；印刷待ちデータが所定量より多い状態になったことを判断するのに、プリンタＩＤテーブルがいっぱいか否かで判断するのと、印刷する情報を蓄えるキューの中の待ち行列数が予め定められた値より多いか否かで判断するのとの違いは、単に所定量の決め方の差異に過ぎず、また、印刷待ちデータが予め定められた値より多いか否かで判断することを併用することは、印刷作業のさらなる利便性等を考慮して当業者が適宜採用できる程度のことであるから、当該相違点に困難性は認められない。
相違点（５）；印刷装置における印刷待ちデータが所定量を超えた場合、そのことを上位制御装置に知らせる情報として本件訂正発明２における「他の印刷装置に印刷すべきであることを示す情報」とは、利用できる印刷装置が複数台存在していることが前提とはなるが、他の印刷装置における印刷待ちデータの情報との関係で知らせるというものではないから、実質的には、印刷待ちデータが所定量越えているので送信済みの印刷データが全て印刷し終わるまで時間がかかる（遅くなる）ということと同じことであり、単なるメッセージの表現の違いに過ぎない。
　また、刊行物２に記載された発明は、「印刷装置手段から送信されてくる印刷負荷情報に基づいて印刷待ち行列量の少ない印刷装置を自動的に選択する」ことを実現したものであり、「他の印刷装置に印刷すべきであることを示す情報を上位制御装置へ送信する」のみに過ぎない技術思想は、その前の段階に位置する発想である。
　したがって、当該相違点に困難性は認められない。
　なお、特許権者は特許異議意見書において、当該請求項に係る発明においては、ネットワークを介して印刷装置で受信された印刷データの量を上位装置が確認することなく、即ち、上位装置側から印刷装置に対して問い合わせを行い、返信された回答から判断するといった処理を行うことなく、印刷装置の印刷時間がかかることを知ることができ、他の印刷装置で印刷した方が早く印刷できることを認識することができる効果があるという趣旨の主張をしている。しかし、この様な主張は当該請求項のみならず発明の詳細な説明の記載に基づいたものとは言えない。
　すなわち、ネットワークに接続されている複数の印刷装置のどの印刷装置を選択した方がより早く印刷が行えるかどうかという判断は、自身の印刷装置における印刷待ちデータ量だけでなく、他の印刷装置における印刷待ちデータ量の情報もなければできないはずであるが、当該請求項に係る発明はそのような手段を備えているわけではなく、発明の詳細な説明や図面にもその点については何も開示されていない。
　
５．むすび
　以上のとおり、請求項３に係る発明については、取り消しの理由を発見しない。
　また、請求項４に係る発明の特許は、特許法第２９条第２項の規定に違反してされたものであるから、同法第１１３条第２号に該当し、取り消されるべきものである。
　よって、結論のとおり決定する。
【異議決定日】
平成１５年１１月２８日（２００３．１１．２８）
【訂正の要旨】
審決（決定）の【理由】欄参照。
（５４）【発明の名称】
印刷装置
（５７）【特許請求の範囲】
　【請求項１】　ページ単位で編集、印刷を行う印刷装置において、
上位制御装置と情報を送受信する通信手段と、
前記印刷装置固有のコマンドを制御するプリンタドライバを記憶する手段を有し、
前記上位制御装置の指示に基づき、前記プリンタドライバを前記印刷装置から前記上位制御装置へ送信することを特徴とする印刷装置。
　【請求項２】　印刷装置内にフォント種、ダウンラインローディングフォント種、これらフォントのフォントサイズ、使用可能な用紙サイズ等の印刷装置環境設定項目を記憶する印刷装置環境設定項目記憶手段を有し、
プリンタドライバを前記印刷装置から前記上位制御装置へ送信する際、送信するプリンタドライバに前記印刷装置環境設定項目記憶手段に記憶された印刷装置環境設定項目を付加して送信することを特徴とする請求項１記載の印刷装置。
　【請求項３】　
印刷装置固有のコマンドを制御するプリンタドライバを記憶する手段を備え、該コマンドに従って
上位制御装置と情報を送受信する通信手段と、
イメージデータを密度変換するイメージデータ密度変換手段を有し、
前記上位装置から送信されたイメージデータを密度変換し、この変換後のイメージデータを前記上位制御装置へ送信することを特徴とする印刷装置。
　【請求項４】　ページ単位で編集、印刷を行う印刷装置において、
システムのネットワークに直接接続する通信手段と、
印刷する情報を順番に蓄えるキューと当該キューを管理するキュー管理テーブルを有し、
印刷する情報を蓄える
の待ち行列数が予め定められた値より
い
予め定められた値より
　【請求項５】　ページ単位で編集、印刷を行う印刷装置において、
システムのネットワークに直接接続する通信手段と、
印刷する情報を順番に蓄えるキューと当該キューを管理するキュー管理テーブルと、
アウトラインフォントと該アウトラインフォントをビットマップフォントに変換する変換手段と、
変換した該ビットマップフォントを一時的に記憶しキャッシングするキャッシング手段を有し、
印刷キューの中に多くの待ち行列がある場合、使用するフォントを調べ同じフォント種のあるものから順次印刷することを特徴とする印刷装置。
【発明の詳細な説明】
　【０００１】
　【産業上の利用分野】　本発明は、印刷用データを画像メモリに格納し、これを読み出しながら用紙上に印刷を行う印刷装置に関する。
　【０００２】
　【従来技術】　従来、コンピュータやワードプロセッサなどの上位制御装置によって作成された印刷用データを用紙上に印刷する装置としては、電子写真方式のプリンタ、サーマルプリンタ、ワイヤドット式プリンタ等種々のものが提供されている。図２は従来の電子写真方式を採用した印刷装置のブロック図である。
　【０００３】
　図２に示すように、上位制御装置１にインタフェース２を介して接続されたシステムバス３に対し、プロセッサ４、プログラムＲＯＭ５，ワーキングメモリ６、ビットマップフォントＲＯＭ７、画像メモり８、不揮発性メモり１１及びプリントエンジンインタフェース９が接続され、該プリントエンジンインタフェース９には、プリントエンジン１０が接続される。
　【０００４】
　上位制御装置１は、印刷用データを作成するコンピュータ、ワードプロセッサ、画像読取装置等の装置であり、インタフェース２は、いわゆるシリアルインタフェースやパラレルインタフェースなどから構成される回路である。プロセッサ４は、印刷装置全体の制御を行う回路であり、その実行用プログラムはプログラムＲＯＭ５に格納されている。また、ワーキングメモリ６は、インタフェース２より送受信されたデータ等を記憶管理するためのメモリであり、ビットマップフォントＲＯＭ７は、上位制御装置１から送り込まれた文字キャラクタコードやその他のコードを印刷用のビットマップフォントデータに変換するメモリである。また、画像メモリ８は、編集処理されイメージ化された印刷用データを例えば１ページ分格納するランダムアクセスメモリで構成される。上記プリントエンジン１０は、上記画像メモリ８に格納された印刷用データに基づいて、印刷用の用紙に印刷を行う装置であり、用紙搬送系や電子写真プロセス等を含む装置である。プリントエンジンインタフェース９は、プロセッサ４の指示に従って画像メモリ８から印刷用データ９ａを読み出してプリントエンジン１０に転送し、あるいはプリントエンジン１０から出力されるプリントコントロール信号９ｂを受け入れ、これをプロセッサ４等に送信するインタフェース回路である。不揮発性メモリ１１は、印刷装置の初期化データを記憶したバッテリバックアップメモリ又はＥＥＰＲＯＭなどのメモリである。
　【０００５】
　上記構成の印刷装置において、上位制御装置１からインタフェース２を介して受信された制御コマンドや文字キャラクタコード、グラフィックコマンド、ビットイメージデータ等は、必要に応じてワーキングメモリ６に一時格納され、プロセッサ４の制御に従ってイメージ化された印刷用データが画像メモリ８上に作成される。
　【０００６】
　上述したように文字を印刷する場合には、ビットマップフォントＲＯＭ７に入っているビットマップフォントを印刷するが、該ビットマップフォントＲＯＭに入っていない文字を印刷したい場合には、上記制御装置１からＤＬＬフォント（ダウンラインローディングフォント）として、ワーキングメモリ６内のＤＬＬメモリ６ａ領域に登録して印刷を行うことが可能である。
　【０００７】
　しかしながら、このような印刷装置において各種サイズの文字を印刷する場合には、上位制御装置１内にすべてのサイズの文字を格納しておかなければならず、また、インタフェース２の伝送速度が低く印刷に時間がかかる。そこで、図３に示すようなアウトラインフォントＲＯＭを使用する印刷装置が提供されている。
　【０００８】
　図３は従来の他の印刷装置のブロック図である。図３において、７ａはアウトラインフォントＲＯＭであり、図２におけるビットマップフォントＲＯＭ７の代わりに接続される。また、ワーキングメモリ６内には、ビットマップフォントを記憶させるためのフォントキャッシュメモリ６ｂが設けられる。図２のビットマップフォントＲＯＭ７には、実際に印刷されるビットイメージでフォントデータが格納されているのに対して、アウトラインフォントＲＯＭ７ａには輪郭を表現するベッセル関数曲線、スプライン関数曲線等の関数式と、その接続点及びそれらの制御用パラメータが格納されており、実際に印刷されるビットイメージの形では格納されていない。そのため、文字サイズのパラメータを無段階に与えることにより、任意の文字サイズでビットマップイメージに変換して生成することができる。しかし、その反面ビットマップイメージの生成のために高度の関数処理を行わなければならないため、印刷に多くの時間を必要とする。
　【０００９】
　このように、アウトラインフォントからビットマップフォントを生成して印刷する場合、ビットマップフォントから直接印刷する場合に比べて１００倍程度の処理時間がかかるので、アウトラインフォントを使用して印刷する場合には、印刷するごとにアウトラインフォントからビットマップフォントを発生させるのではなく、一度ビットマップフォントを生成した時点で、そのビットマップフォントをワーキングメモリ６の中のフォントキャッシュメモリ６ｂに記憶させておき、２回目以降にその文字を印刷する時には、このフォントキャッシュ６ｂ内の既にビットマップデータ化されたフォントを使用して印刷を高速化している。
　【００１０】
　さらに、プログラムＲＯＭ５または、不揮発性メモリ１１に、どのアウトラインフォントをどのサイズでビットマップフォントに変換してフォントキャッシュメモリ６ｂに記憶させておき、上位制御装置１から印刷する文字コードが送られてきた時点では、既にアウトラインフォントがビットマップフォントに変換されているようにしてある。
　【００１１】
　また、図４のようにアウトラインフォントの場合においても、アウトラインフォントＲＯＭ７ａに入っていない文字を印刷したい場合には、上位制御装置１から、ビットマップフォントと同じように、アウトラインＤＬＬフォントとして、ワーキングメモリ６内のアウトラインＤＬＬメモリ６ｃ領域に登録して印刷を行うことが可能である。
　【００１２】
　上位制御装置との高速な伝送を行うためと、高価なプリンタを共用するために、ネットワークに直接接続するプリンタが使用されてきた。
　【００１３】
　この場合には、図２、図３及び図４のインタフェース２の部分をユニットとして、図６に示すブロックのような構成をとってきた。図６において、プロセッサ１５４はこのインタフェース部の全体の制御を司る。ネットワークインターフェースドライバ１５１は、ＩＥＥＥ−８０２．３やＩＥＥＥ−８０２．５の物理層を駆動するドライバであり、ネットワークインタフェース制御部１５２は、ネットワークの物理層のプロトコルの解釈及び制御を行いＬＳＩ等で構成される。プログラムＲＯＭ１５５はインタフェース部全体の制御を行うプロセッサ１５４のプログラムを記憶している。ワーキングメモリ１５６は、プロセッサ１５４の一時的な情報を蓄えるメモリである。受信データバッファ１５７は、上位制御装置１からネットワーク１６０を介してネットワークインタフェース制御部１５２及びプロセッサ１５４にて処理された受信データを格納するメモリであり、内部には、送られてきたファイル単位のデータを順序よく管理するキュー１５７ａのエリアが割り当てられている。システムバス１５３はインタフェース部２の構成要素を接続するバスである。キュー（ｑｕｅｕｅ　ｃｏｎｔｒｏｌ：待ち行列制御、以下キュー）１５７ａにある受信されたデータは、印刷制御部インタフェース１５８を介して、印刷装置の制御部にわたされる。
　【００１４】
　このような、多種の機能を利用するために、上位制御装置１のソフトウエア構造は一般的に図５のような構造をとっている。図５に示すように、ＯＳ（オペレーティングシステム、以下ＯＳと呼ぶ）１００が上位制御装置の基本動作を司り、各アプリケーションプログラム１０１がワードプロセッサやスプレッドシートなどの目的にあった処理を行う。印刷を行う際には対応するプリンタコマンド系にあわせたプリンタドライバ（またはプリンタ用フィルタ、以下プリンタドライバと呼ぶ）１０２にて、プリンタの設定情報をオペレーターが設定して、インタフェースドライバ１０３を介して、ＲＳ２３２Ｃ、パラレル、ＳＣＳＩ（Ｓｍａｌｌ　Ｃｏｍｐｕｔｅｒ　Ｓｙｓｔｅｍ　Ｉｎｔｅｒｆａｃｅ：　以下　ＳＣＳＩ）、ネットワークなどの目的にあったインタフェースを選択してプリンタに印刷コマンド、及び印刷データをおくる。
　【００１５】
　【発明が解決しようとする課題】　しかしながら、上記従来の印刷装置は、印刷装置固有のコマンド体系を持っているために、上位制御装置にプリンタドライバがない場合には、コマンドが異なる為に、正確な印刷を行うことができなかった。また、上記従来の印刷装置は、上位制御装置のユーザが印刷装置の環境設定を完全に把握していないと、正確な印刷ができず、ユーザにとって煩わしいものとなっていた。また、上記従来の印刷装置は、一般に多方面のアプリケーションに使用することができ、その場合使用されるエミュレーション言語等のコマンド系、フォント種や文字サイズ等のプリンタの環境設定はアプリケーションプログラムごとに異なり、また、使用するユーザによってフォント種や文字サイズが異なることが多い。特に、ＤＬＬ等はプリンタ内のメモリに制限があるため、一定量のＤＬＬフォントのみしか受け付けることができない。　従来は、プリンタを複数のホストで使用した場合には、各ユーザにより異なるプリンタの設定が行われるので、毎回印刷時にすべてのプリンタ設定情報をプリンタに送る方法がとられてきた。従って、ＤＬＬフォントなどの大きなファイルサイズのプリンタへの伝送が行われる、ホストからみた伝送時間を含めたプリンタの印刷時間は長くかかっていた。
　【００１６】
　【課題を解決するための手段】　上記課題を解決するために本発明は、ページ単位で編集、印刷を行う印刷装置において、上位制御装置と情報を送受信する通信手段と、前記印刷装置固有のコマンドを制御するプリンタドライバを記憶する手段を有し、前記上位制御装置の指示に基づき、前記プリンタドライバを前記印刷装置から前記上位制御装置へ送信することとした。また、アウトラインフォントと該アウトラインフォントをビットマップフォントに変換する変換手段と、変換した該ビットマップフォントを一時的に記憶しキャッシングするキャッシング手段を有し、前記上位制御装置の指示に基づき、アウトラインフォントをビットマップフォントに展開するとともに該ビットマップフォントを前記上位制御装置へ送信することとした。さらに、印刷する情報を順番に蓄えるキューと当該キューを管理するキュー管理テーブルを有し、
印刷する情報を蓄える
の待ち行列数が予め定められた値より
い
予め定められた値より
　【００１７】
　【作用】　上記各手段を具備することにより、印刷装置から上位装置へプリンタドライバをアップロードすることができる。また、アウトラインフォントと該アウトラインフォントをビットマップフォントに変換する変換手段を具備したのでフォントキャッシュに展開されたデータをビットマップフォントデータとして印刷装置から上位装置へアップロードすることができる。さらに、印刷する情報を順番に蓄えるキューと当該キューを管理するキュー管理テーブルを具備したので
印刷する情報を蓄える
の待ち行列数が予め定められた値より
い
予め定められた値より
　【００１８】
　【実施例】　以下、本発明の実施例について図面を参照しながら詳細に説明する。図１は本発明の第１の実施例を示す印刷装置のブロック図である。図１において、本発明の印刷装置は、上位制御装置１にインタフェース２を介して接続されたシステムバス３に対し、プロセッサ４、プログラムＲＯＭ５、ワーキングメモリ６、ビットマップフォントＲＯＭ７、画像メモリ８、プリントエンジンインタフェース９、不揮発生メモリ１１が接続されるとともに、プリンタドライバＲＯＭ２０が接続される。
　【００１９】
　上位制御装置１は、印刷データを作成するコンピュータやワードプロセッサ、画像読取装置等の装置である。インタフェース２は、いわゆるＲＳ２３２Ｃインタフェースや両方向パラレルインタフェース、ＬＡＮインタフェースなど、上位制御装置と印刷装置が相互に情報を伝達することができる回路から構成される。プロセッサ４は、印刷装置全体の制御を行う回路であり、その実行プログラムはプログラムＲＯＭ５に格納されている。ワーキングメモリ６は、インタフェース２により送受信されたデータ等を記憶管理するためのメモリであり、上位制御装置１からＤＬＬフォント（ダウンローディングフォント）を、ワーキングメモリ６内にＤＬＬメモリ６ａ領域として確保することが可能となっている。ビットマップフォントＲＯＭ７は、上位制御装置１から送り込まれた文字キャラクタコードやその他のコードを印刷用のビットマップフォントデータに変換するメモリである。
　【００２０】
　画像メモリ８は、編集処理されイメージ化された印刷用データを、例えば１ページ分格納するランダムアクセスメモリで構成される。プリントエンジン１０は、画像メモリ８に格納された印刷用データに基づいて印刷用の用紙に印刷を行う装置であり、用紙搬送系、電子写真プロセス等を含む。プリントエンジンインタフェース９は、プロセッサ４の指示に従って画像メモリ８から印刷用データ９ａを読み出してプリントエンジン１０に転送し、又はプリントエンジン１０から出力されるプリントコントロール信号９ｂを受け入れ、これをプロセッサ４などに送信したり、プロセッサ４などの指示を送受信するインタフェース回路である。不揮発性メモリ１１は、印刷装置の電源オン時の初期状態を設定するための情報を記憶しておくバッテリバックアップメモリやＥＥＰＲＯＭなどで構成されるメモリである。プリンタドライバＲＯＭ２０は、１つまたは複数からなる、それぞれ印刷装置のコマンド系に対応したプリンタドライバを格納するメモリである。
　【００２１】
　次に、本発明の動作について説明する。図７は、本発明の印刷装置がプリンタドライバを上位制御装置に伝送する動作を示すフローチャートである。図７において、電源がオンされると第１図のプロセッサ４、インタフェース２、ワーキングメモリ６、画像メモリ８、プリントエンジンインタフェース９等の各構成要素が、あらかじめプログラムＲＯＭ５及び不揮発性メモリ１１に格納してある内容により、初期化される。（ステップＳ２０１）
次に、上位制御装置１からデータを１バイトまたは任意のバイト数でブロック化された単位で受信を行う。（ステップＳ２０２）
受信されたデータは、コマンドとして有効なもの無効なもの、データとに区分され、各コマンドはどのようなコマンドか解析される。（ステップＳ２０４）
解析されたコマンドが、上位制御装置１からのプリンタドライバの送信要求コマンドであるならば（ステップＳ２０５）、プリンタドライバＲＯＭ２０に格納してあるプリンタドライバを上位制御装置に送信する。（ステップＳ２０６、Ｓ２０７）
プリンタドライバを上位制御装置１に送信し終ると、次のデータの受信を行う。（ステップＳ２０７、Ｓ２０２）
一方、送られてきたコマンドが上位制御装置１からのプリンタドライバの送信要求でない場合には（ステップＳ２０５）、コマンド内容に従い定められた印刷編集処理を行い、編集結果をワーキングメモリ６に格納する。（ステップＳ２０８）
また、送られてきたコマンドがＦＦ等のページ区切りコマンドであったり、１ページを越える印刷データであった場合には、ページの終りと判断し、そのページの印刷編集を終了する。（ステップＳ２０８、Ｓ２０９）
ページの終りまで編集処理が終了すると、ワーキングメモリ６に格納された前述した編集データに基づき、ビットマップフォントＲＯＭ７、ＤＬＬメモリ６ａの内容を画像メモリ８に展開し、１ページ分の印刷データを作成する。画像メモリ８に作成された印刷データは、プリントエンジンインタフェース９を介して、プリントエンジン１０に送られ印刷が行われる。（ステップＳ２１０）印刷が行われたあと、電源オフで終了し、オフでない場合には、データを受信する状態にもどる。（ステップＳ２１１、Ｓ２０２）
また、印刷編集処理した結果がページの終りでなかつた場合には（ステップＳ２０８、Ｓ２０９）、データを受信する状態に戻る。（Ｓ２０９、Ｓ２０２）
次に、本発明における印刷装置が、上位制御装置にプリンタドライバを送信する際の上位制御装置の動作を説明する。
　【００２２】
　図８は、本発明における印刷装置が、上位制御装置にプリンタドライバを送信する際の上位制御装置の動作を示すフローチャートである。図８において、図示しない上位制御装置１のインタフェースの初期化設定を行うと（ステップＳ２２０）、上位制御装置１はインタフェース２を介して、当該印刷装置にプリンタドライバの送信を要求するコマンドを送信する。（ステップＳ２２１）次に、当該印刷装置から送られてくるプリンタドライバを受信する。（ステップＳ２２２、Ｓ２２３）上位制御装置は、受信したプリンタドライバを第５図のプリンタドライバ１０２のひとつとして登録し記憶保存する。（ステップＳ２２４）
次に、本発明の印刷装置の第２の実施例を説明する。図９は、本発明の印刷装置がプリンタドライバを上位制御装置に伝送する動作を示す他の実施例のフローチャートである。図９において、電源がオンされると図１のプロセッサ４、インタフェース２、ワーキングメモリ６、画像メモリ８、プリントエンジンインタフェース９等の各構成要素が、あらかじめプログラムＲＯＭ５及び不揮発性メモリ１１に格納してある内容により初期化される。（ステップＳ２０１）
次に、上位制御装置１からデータを１バイトまたは任意のバイト数でブロック化された単位で受信を行う。（ステップＳ２０２）
受信されたデータは、コマンドとして有効なもの無効なもの、データとに区分され、各コマンドはどのようなコマンドか解析される。（ステップＳ２０４）
解析されたコマンドが、上位制御装置１からのプリンタドライバの送信要求コマンドであるならば（ステップＳ２０５）、プリンタドライバＲＯＭ２０に格納してあるプリンタドライバに現在のＤＬＬフォント種、サイズ、用紙サイズ等の環境設定項目をプリンタドライバに付加して上位制御装置に送信する。（ステップＳ２１２、Ｓ２０６、Ｓ２０７）
プリンタドライバを上位制御装置１に送信し終ると、次のデータの受信を行う。（ステップＳ２０７、Ｓ２０２）
一方、送られてきたコマンドが上位制御装置１からのプリンタドライバの送信要求でない場合には（ステップＳ２０５）、コマンド内容に従い定められた印刷編集処理を行い、編集結果をワーキングメモリ６に格納する。（ステップＳ２０８）
また、送られてきたコマンドがＦＦ等のページ区切りコマンドであったり、１ページを越える印刷データであった場合には、ページの終りと判断し、そのページの印刷編集を終了する。（ステップＳ２０８、Ｓ２０９）
ページの終りまで編集処理が終了すると、ワーキングメモリ６に格納された前述した編集データに基づき、ビットマップフォントＲＯＭ７、ＤＬＬメモリ６ａの内容を画像メモリ８に展開し、１ページ分の印刷データを作成する。画像メモリ８に作成された印刷データは、プリントエンジンインタフェース９を介して、プリントエンジン１０に送られ印刷が行われる。（ステップＳ２１０）印刷が行われたあと、電源オフで終了し、オフでない場合には、データを受信する状態にもどる。（ステップＳ２１１、Ｓ２０２）
また、印刷編集処理した結果がページの終りでなかつた場合には（ステップＳ２０８、Ｓ２０９）、データを受信する状態に戻る。（Ｓ２０９、Ｓ２０２）
上位制御装置に関する動作は、前述の第一の実施例と同様である。
　【００２３】
　次に、第３の実施例を説明する。第１及び第２の実施例においては、印刷装置から上位制御装置へのプリンタドライバの送信の起動は、上位制御装置からのコマンドが送られてくることにより行われる。
　【００２４】
　第３の実施例では、送信の起動を印刷装置の操作パネルより行うことを特徴としている。図１０は本発明の印刷装置がプリンタドライバを上位制御装置に伝送する動作を示すフローチャートである。
　【００２５】
　図１０において、電源がオンされると第１図のプロセッサ４、インタフェース２、ワーキングメモリ６、画像メモリ８、プリントエンジンインタフェース９等の各構成要素が、あらかじめプログラムＲＯＭ５及び不揮発性メモリ１１に格納してある内容により、初期化される。（ステップＳ９０１）
次に、図示しない印刷装置の操作パネル内のプリンタドライバ送出スイッチの押下の判別を行う。（ステップＳ９０２）
なお、この際に操作パネルのプリンタドライバ送出スイッチは、独立したスイッチでなくてもかまわなく、他のスイッチとシフトモードによる兼用、または、図示しない操作パネルの液晶表示器の表示されるメニューに従い、他のスイッチと兼用によるスイッチの押下によるものであっても構わないことはいうまでもない。次に、図示しない操作パネルにより、上位制御装置１に送信するプリンタドライバを選択するスイッチを押下し、プリンタドライバを決定し、当該ドライバが選択されたことを表示する。（ステップＳ９０３）
なお、この際に操作パネルに表示される方法は、一意的に定められたＬＥＤ等のランプが点灯する方法であっても、または、シフトによる組み合わせであっても、液晶表示器等の表示手段による文字の表示であっても構わない。
　【００２６】
　次に、印刷装置から、選択された当該プリンタドライバのドライバ名およびそのプログラムサイズを上位制御装置へ通知し、上位制御装置１が当該プリンタドライバを受け入れ可能か確認する。（ステップＳ９０４）
上位制御装置が当該プリンタドライバを受け入れ可能であるならば、上位制御装置１へ当該プリンタドライバを送信し、送信終了後は通常の受信処理を行う。（ステップＳ９０５、Ｓ９０６）
上位制御装置１が当該プリンタドライバを受け入れ可能でない時には、上位制御装置１へ送信不可能であることを、前述と同様に表示する。なお、受信処理においては、前述の実施例１および２と同様な処理を行う。
　【００２７】
　図１１は、本発明の実施例３における印刷装置が、上位制御装置１にプリンタドライバを送信する際の上位制御装置１の動作を示すフローチャートである。図１１において、図示しない上位制御装置１のインタフェースの初期化設定を行うと（ステップＳ９２１）、上位制御装置１は当該印刷装置からのプリンタドライバ名及びプログラムサイズを受信する。（ステップＳ９２２）
次に、受信したプログラムサイズから、図示しない上位制御装置１内のメモりまたは、外部記憶装置の空きエリアを調べ、当該プリンタドライバを登録可能かどうかを調べる。（ステップＳ９２３）
当該プリンタドライバが登録可能であるならば、当該印刷装置からプリンタドライバを受信する。（ステップＳ９２４、Ｓ９２５）
次に、受信した当該プリンタドライバを第５図のプリンタドライバ１０２のひとつとして登録し記憶保存する。（ステップＳ９２６）
一方、当該プリンタドライバが登録可能ではない場合には（ステップＳ９２３）、当該プリンタドライバを登録できないことを、当該印刷装置に通知する。（ステップＳ９２７）
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形が可能であり、それらを本発明の範囲から排除するものではない。
　【００２８】
　例えば、図１のプリンタドライバＲＯＭ２０は、ＲＯＭに限定するのではなく、他の不揮発性メモリであっても良いし、メモリカードや、ＦＤＤ、ＨＤＤ等の外部記憶装置であっても良い。
　【００２９】
　フォントは単に、ビットマップフォントに限定するのではなく、図４のアウトラインフォントＲＯＭ７ａやフォントキャッシュメモリ６ｂを使用した印刷装置でも良い。この時には、プリンタドライバに付加される、プリンタ環境設定項目には、アウトラインフォント種や、フォントキャッシュ６ｂに展開ずみのフォント種、サイズ、フォント修飾情報等も含まれる。また、印刷部の構成は電子写真のみならず、サーマルプリンタ方式、ワイヤドット方式等いずれの方式のものでもよい。さらに、印刷制御部は、同様の性能をもつ種々の回路におきかえて差し支えない。
　【００３０】
　以上、本発明を詳細に説明したように、本発明によれば、上位制御装置に印刷装置の固有のコマンド体系を持っていない場合もしくは、当該印刷装置のプリンタドライバを持っていない場合でも、当該印刷装置側からプリンタドライバをおくることができるので、正確な印刷を可能とする印刷装置を提供することができる。また、従来の印刷装置は、上位制御装置のユーザが印刷装置の環境設定を完全に把握していないと、正確な印刷ができず、ユーザにとっても煩わしいものであったが、本発明により、ユーザが印刷装置の環境設定を完全に把握していない場合でも、正確にかつ容易に印刷する印刷装置を提供することができる。
　【００３１】
　次に、本発明の第４実施例について図面を参照して詳細に説明する。
　【００３２】
　図１２は本発明の第４実施例を示す印刷装置のブロック図である。図１２において、本発明の印刷装置は、上位制御装置１にインタフェース２を介して接続されたシステムバス３に対し、プロセッサ４、プログラムＲＯＭ５、ワーキングメモリ６、ビットマップフォントＲＯＭ７、アウトラインフォントＲＯＭ７ａ、画像メモリ８、プリントエンジンインタフェース９、不揮発性メモリ１１が接続されるとともに、プリンタドライバＲＯＭ２０が接続される。
　【００３３】
　上位制御装置１は、印刷データを作成するコンピュータやワードプロセッサ、画像読取装置等の装置である。インタフェース２は、いわゆるシリアルインタフェースや両方向パラレルインタフェース、ＬＡＮインタフェースなど、上位制御装置と印刷装置が相互に情報を伝達することができる回路から構成される。　プロセッサ４は、印刷装置全体の制御を行う回路であり、その実行プログラムはプログラムＲＯＭ５に格納されている。ワーキングメモリ６は、インタフェース２により送受信されたデータ等を記憶管理するためのメモリであり、上位制御装置１からＤＬＬフォント（ダウンローディングフォント）を、ワーキングメモリ６内にＤＬＬメモリ６ａ領域として確保することが可能となっている。ビットマップフォントＲＯＭ７は、上位制御装置１から送り込まれた文字キャラクタコードやその他のコードを印刷用のビットマップフォントデータに変換するメモリである。
　【００３４】
　アウトラインフォントＲＯＭ７ａには、輪郭を表現するベッセル関数曲線やスプライン関数曲線など曲線等の関数式と、その接続点及びそれらの制御用パラメータが格納されており、プロセッサ４はこれらのデータの計算処理を行い印刷用ビットマップフォントデータを生成する。フォントキャッシュメモリ６ｂは、アウトラインフォントＲＯＭ７ａからプロセッサ４が生成したビットマップフォントデータを一時的に記憶させておくキャッシュメモリである。画像メモリ８は、編集処理されイメージ化された印刷用データを、例えば１ページ分格納するランダムアクセスメモリで構成される。プリントエンジン１０は、画像メモリ８に格納された印刷用データに基づいて印刷用の用紙に印刷を行う装置であり、用紙搬送系、電子写真プロセス等を含む。
　【００３５】
　プリントエンジンインタフェース９は、プロセッサ４の指示に従って画像メモリ８から印刷用データ９ａを読み出してプリントエンジン１０に転送し、又はプリントエンジン１０から出力されるプリントコントロール信号９ｂを受け入れ、これをプロセッサ４などに送信し、またプロセッサ４などの指示を送受信するインタフェース回路である。不揮発性メモリ１１は、印刷装置の電源オン時の初期状態を設定するための情報を記憶しておくバッテリバックアップメモリやＥＥＰＲＯＭなどで構成されるメモリである。プリンタドライバＲＯＭ２０は、１つまたは複数からなる、それぞれ印刷装置のコマンド系に対応したプリンタドライバを格納するメモリである。
　【００３６】
　図１３は、本発明の印刷装置がフォント種情報を上位制御装置に伝送する動作を示すフローチャートである。図１３において、電源がオンされると図１２のプロセッサ４、インタフェース２、ワーキングメモリ６、画像メモリ８、プリントエンジンインタフェース９等の各構成要素が、あらかじめプログラムＲＯＭ５及び不揮発性メモリ１１に格納してある内容により初期化される。（ステップＳ２３０）
次に、上位制御装置１からデータを１バイトまたは任意のバイト数でブロック化された単位で受信を行う。（ステップＳ２３１）
受信されたデータは、コマンドとして有効なもの無効なもの、データとに区分され、各コマンドはどのようなコマンドか解析される。（ステップＳ２３３）
解析されたコマンドが、上位制御装置１からの印刷装置内のフォント種データの送信要求コマンドであるならば（ステップＳ２３４）、ビットマップフォントＲＯＭ　７、ワーキングメモリ６内のＤＬＬメモリ６ａ及び、アウトラインＤＬＬメモリ６ｃからフォント種、サイズ、フォント修飾情報を取り出し（ステップＳ２３５）、上位制御装置に送信する。（ステップＳ２３６、Ｓ２３７）
フォント種情報を上位制御装置１に送信し終ると、次のデータの受信を行う。（ステップＳ２３７、Ｓ２３１）一方、送られてきたコマンドが上位制御装置１からの印刷装置内臓のフォント種の送信要求でない場合には（ステップＳ２３５）、コマンド内容に従い定められた印刷編集処理を行い、編集結果をワーキングメモリ６に格納する。（ステップＳ２０８）
また、送られてきたコマンドがＦＦ等のページ区切りコマンドであったり、１ページを越える印刷データであった場合には、ページの終りと判断し、そのページの印刷編集を終了する。（ステップＳ２０８、Ｓ２０９）
ページの終りまで編集処理が終了すると、ワーキングメモリ６に格納された前述した編集データに基づき、ビットマップフォントＲＯＭ　７、ＤＬＬメモリ６ａ、フォントキャッシュメモリ６ｂ、アウトラインＤＬＬメモリ６ｃの内容を画像メモリ８に展開し、１ページ分の印刷データを作成する。画像メモリ８に作成された印刷データは、プリントエンジンインタフェース９を介して、プリントエンジン１０に送られ印刷が行われる。（ステップＳ２１０）
印刷が行われたあと、電源オフで終了し、オフでない場合には、データを受信する状態にもどる。（ステップＳ２１１、Ｓ２３１）
また、印刷編集処理した結果がページの終りでなかつた場合には（ステップＳ２０８、Ｓ２０９）、データを受信する状態に戻る。（Ｓ２０９、Ｓ２３１）
次に、本発明における印刷装置が、上位制御装置にフォント種情報を送信する際の上位制御装置の動作を説明する。図１４は、本発明における印刷装置が、上位制御装置にフォント種情報を送信する際の上位制御装置の動作を示すフローチャートである。
　【００３７】
　図１４において、図示しない上位制御装置１のインタフェースの初期化設定を行うと（ステップＳ２４０）、上位制御装置１はインタフェース２を介して、当該印刷装置内のビットマップフォント、アウトラインフォント及びＤＬＬを含めた、フォント種、フォントサイズ、フォント修飾情報の送信を要求するコマンドを送信する。（ステップＳ２４１）
次に、当該印刷装置から送られてくるフォント情報を受信する。（ステップＳ２４２、Ｓ２４３）
上位制御装置は、受信したフォント情報を第５図のプリンタドライバ１０２の当該ドライバに情報を付加し記憶保存する。（ステップＳ２４４）
上記第４の実施例においては、印刷装置から上位制御装置へのフォント情報の送信の起動は、上位制御装置からのコマンドが送られてくることにより行われるが、送信の起動を上位制御装置からのコマンドに代わり、印刷装置の操作パネルより行うことにより可能である。
　【００３８】
　なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形が可能であり、それらを本発明の範囲から排除するものではない。例えば、フォント情報を記憶する手段が、図３０のフォント用不揮発性メモリカード１３であったり、単なるＲＯＭを内臓したフォントカードであったり、ＦＤＤ、ＨＤＤ等の外部記憶装置であったりしても構わない。また、印刷部の構成は電子写真のみならず、サーマルプリンタ方式、ワイヤドット方式等いずれの方式のものでもよい。　また、印刷制御部は、同様の性能をもつ種々の回路におきかえて差し支えない。
　【００３９】
　以上、本発明を詳細に説明したように、本発明によれば、毎回印刷時にＤＬＬ等の大きなファイルを印刷時に伝送しなくても、印刷時に上位制御装置が印刷装置のフォント情報を把握できるので、無駄な伝送が発生せず、上位制御装置の伝送時間を含めた印刷装置の印刷時間を短時間で行う印刷装置を提供することができる。
　【００４０】
　次に本発明の第５実施例について図面を参照しながら詳細に説明する。第５実施例の印刷装置のブロック図は第４実施例の印刷装置のブロック図である図１２と同様であるため構成についての説明は省略する。
　【００４１】
　図１５は、本発明の第５実施例を詳細に説明するためのフローチャートであり、本発明の印刷装置がアウトラインフォントを、フォントキャッシュにビットマップフォントとして展開しているフォント種情報を上位制御装置に伝送する動作を示すフローチャートである。図１５において、電源がオンされると図１２のプロセッサ４、インタフェース２、ワーキングメモリ６、画像メモリ８、プリントエンジンインタフェース９等の各構成要素が、あらかじめプログラムＲＯＭ　５及び不揮発性メモリ１１に格納してある内容により、初期化される。（ステップＳ２５０）
次に、上位制御装置１からデータを１バイトまたは任意のバイト数でブロック化された単位で受信を行う。（ステップＳ２５１、Ｓ２５２）
受信されたデータは、コマンドとして有効なもの無効なもの、データとに区分され、各コマンドはどのようなコマンドか解析される。（ステップＳ２５３）
解析されたコマンドが、上位制御装置１からの印刷装置内のフォントキャッシュ内のアウトラインフォントからビットマップフォントに展開したフォント種データの送信要求コマンドであるならば（ステップＳ２５４）、ワーキングメモリ６内のフォントキャッシュメモリ６ｂ及び、アウトラインＤＬＬメモリ６ｃからフォント種、サイズ、フォント修飾情報を取り出し（ステップＳ２５５）、上位制御装置に送信する。（ステップＳ２５６、Ｓ２５７）
フォント種情報を上位制御装置１に送信し終ると、次のデータの受信を行う。（ステップＳ２５７、Ｓ２５１）
一方、送られてきたコマンドが上位制御装置１からのフォントキャッシュ内のアウトラインフォントからビットマップフォントに展開したフォント種データの送信要求でない場合には（ステップＳ２５４）、コマンド内容に従い定められた印刷編集処理を行い、編集結果をワーキングメモリ６に格納する。（ステップＳ２０８）
また、送られてきたコマンドがＦＦ等のページ区切りコマンドであったり、１ページを越える印刷データであった場合には、ページの終りと判断し、そのページの印刷編集を終了する。（ステップＳ２０８、Ｓ２０９）
ページの終りまで編集処理が終了すると、ワーキングメモリ　６に格納された前述した編集データに基づき、フォントキャッシュメモリ６ｂ、アウトラインＤＬＬメモリ６ｃの内容を画像メモリ８に展開し、１ページ分の印刷データを作成する。　画像メモリ８に作成された印刷データは、プリントエンジンインタフェース９を介して、プリントエンジン１０に送られ印刷が行われる。（ステップＳ２１０）
印刷が行われたあと、電源オフで終了し、オフでない場合には、データを受信する状態にもどる。（ステップＳ２１１、Ｓ２３１）
また、印刷編集処理した結果がページの終りでなかつた場合には（ステップＳ２０８、Ｓ２０９）、データを受信する状態に戻る。（Ｓ２０９、Ｓ２５１）
次に、本発明における印刷装置が、上位制御装置にフォントキャッシュに展開されているビットマップフォントのフォント種情報を送信する際の上位制御装置の動作を説明する。
　【００４２】
　図１６は、本発明における印刷装置が、上位制御装置にフォントキャッシュに展開されているビットマップフォントのフォント種情報を送信する際の上位制御装置の動作を示すフローチャートである。
　【００４３】
　図１６において、図示しない上位制御装置１のインタフェースの初期化設定を行うと（ステップＳ２６０）、上位制御装置１はインタフェース２を介して、当該印刷装置内のフォントキャッシュ６ｂ内のアウトラインフォントからビットマップフォントに展開した、フォント種、フォントサイズ、フォント修飾情報の送信を要求するコマンドを送信する。（ステップＳ２６１）次に、当該印刷装置から送られてくるビットマップに展開されたフォント種情報を受信する。（ステップＳ２６２、ステップＳ２６３）上位制御装置は、受信した当該フォント種情報を図５のプリンタドライバ１０２の当該ドライバに情報を付加し記憶保存する。（ステップＳ２６４）なお、前述の第５の実施例においては、印刷装置から上位制御装置へのフォント情報の送信の起動は、上位制御装置からのコマンドが送られてくることにより行われるが、送信の起動を印刷装置の操作パネルより行ってもよい。
　【００４４】
　また、本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形が可能であり、それらを本発明の範囲から排除するものではない。
　【００４５】
　例えば、フォント情報を記憶する手段が、図３０に示すフォント用不揮発性メモリカード１３であったり、単なるＲＯＭの内臓したフォントカードであったり、ＦＤＤ、ＨＤＤ等の外部記憶装置であったりしても構わない。また、印刷部の構成は電子写真のみならず、サーマルプリンタ方式、ワイヤドット方式等いずれの方式のものでもよく、印刷制御部は、同様の性能をもつ種々の回路におきかえて差し支えない。
　【００４６】
　以上、本発明を詳細に説明したように、本発明によれば、印刷時に上位制御装置が印刷装置のフォントキャッシュの内容を印刷する前に事前に把握できるので、印刷するファイルの順番を入れ替えることにより、印刷装置の限られたワーキングメモリのなかでフォントキャッシュを毎回印刷時にこわすことなく、無駄なアウトラインフォントからビットマップフォントへの展開が発生せず、安価で印刷時間を短時間で行う印刷装置を提供することができる。
　【００４７】
　以下、本発明の第６の実施例について図面を参照しながら詳細に説明する。第６実施例の印刷装置のブロック図は第４および第５実施例の印刷装置のブロック図である図１２と同様であるため構成についての説明は省略する。
　【００４８】
　図１７は、本発明の印刷装置がアウトラインフォントを、フォントキャッシュにビットマップフォントとして展開し、当該ビットマップフォントデータを上位制御装置に伝送する動作を示すフローチャートである。図１７において、電源がオンされると図１２のプロセッサ４、インタフェース２、ワーキングメモリ６、画像メモリ８、プリントエンジンインタフェース９等の各構成要素が、あらかじめプログラムＲＯＭ　５及び不揮発性メモリ１１に格納してある内容により初期化される。（ステップＳ２７０）
次に、上位制御装置１からデータを１バイトまたは任意のバイト数でブロック化された単位で受信を行う。（ステップＳ２７１、Ｓ２７２）
受信されたデータは、コマンドとして有効なもの無効なもの、データとに区分され、各コマンドはどのようなコマンドか解析される。（ステップＳ２７３）
解析されたコマンドが、上位制御装置１からのアウトラインフォントからビットマップフォントに展開したビットマップフォントデータの送信要求コマンドであるならば（ステップＳ２７４）、ワーキングメモリ６内のフォントキャッシュメモリ６ｂに当該フォントを展開生成し（ステップＳ２７５）、フォントキャッシュメモリ６ｂから当該フォント種、サイズ、フォント修飾情報、フォントデータを取り出し（ステップＳ２７６）、上位制御装置に送信する。（ステップＳ２７７、Ｓ２７８）
当該ビットマップフォントデータをを上位制御装置１に送信し終ると、次のデータの受信を行う。（ステップＳ２７８、Ｓ２７１）
一方、送られてきたコマンドが上位制御装置１からのアウトラインフォントからビットマップフォントに展開したフォントデータの送信要求でない場合には（ステップＳ２７４）、コマンド内容に従い定められた印刷編集処理を行い、編集結果をワーキングメモリ６に格納する。（ステップＳ２０８）
また、送られてきたコマンドがＦＦ等のページ区切りコマンドであったり、１ページを越える印刷データであった場合には、ページの終りと判断し、そのページの印刷編集を終了する。（ステップＳ２０８、Ｓ２０９）
ページの終りまで編集処理が終了すると、ワーキングメモリ　６に格納された前述した編集データに基づき、フォントキャッシュメモリ６ｂ、アウトラインＤＬＬメモリ６ｃの内容を画像メモリ８に展開し、１ページ分の印刷データを作成する。画像メモリ８に作成された印刷データは、プリントエンジンインタフェース９を介して、プリントエンジン１０に送られ印刷が行われる。（ステップＳ２１０）
印刷が行われたあと、電源オフで終了し、オフでない場合には、データを受信する状態にもどる。（ステップＳ２１１、Ｓ２７１）
また、印刷編集処理した結果がページの終りでなかつた場合には（ステップＳ２０８、Ｓ２０９）、データを受信する状態に戻る。（Ｓ２０９、Ｓ２７１）
次に、本第６実施例の印刷装置が、上位制御装置にアウトラインフォントからビットマップフォントを展開し、当該ビットマップフォントデータを送信する際の上位制御装置の動作を説明する。図１８は、本発明における印刷装置が、上位制御装置にアウトラインフォントからビットマップフォントに展開し、当該ビットマップフォントデータを送信する際の上位制御装置の動作を示すフローチャートである。
　【００４９】
　図１８において、図示しない上位制御装置１のインタフェースの初期化設定を行うと（ステップＳ２８０）、上位制御装置１はインタフェース２を介して、必要とするフォント種、サイズの当該印刷装置内のアウトラインフォントからビットマップフォントに展開し、当該ビットマップフォントデータを送信を要求するコマンドを送信する。（ステップＳ２８１）
次に、当該印刷装置から送られてくるビットマップに展開されたフォントデータを受信する。（ステップＳ２８２、Ｓ２８３）
上位制御装置は、受信した当該フォント種情報を図示しないディスプレイドライバの当該ドライバに情報を付加し記憶保存する。（ステップＳ２８４）
なお、前述の第６実施例においては、印刷装置から上位制御装置へのアウトラインフォントからビットマップフォントに展開したデータの送信の起動は、上位制御装置からのコマンドが送られてくることにより行われるが、送信の起動を印刷装置の操作パネルより行ってもよい。
　【００５０】
　なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形が可能であり、それらを本発明の範囲から排除するものではない。
　【００５１】
　例えば、フォント情報を記憶する手段が、図３０のフォント用不揮発性メモリカード１３であったり、単なるＲＯＭの内蔵したフォントカードであったり、ＦＤＤ、ＨＤＤ等の外部記憶装置であったりしても構わない。
　【００５２】
　また、印刷部の構成は電子写真のみならず、サーマルプリンタ方式、ワイヤドット方式等いずれの方式のものでもよい。また、印刷制御部は、同様の性能をもつ種々の回路におきかえて差し支えない。
　【００５３】
　以上、本発明を詳細に説明したように、本発明によれば、印刷装置に内臓または、他の上位制御装置からダウンロードしているアウトラインフォントから、上位制御装置内にないビットマップフォントを生成でき、印刷装置からビットマップフォントをアップロードが可能となる。プリンタと同じフォント種、フォントサイズ、フォント修飾でアプリケーションソフトウェアが動作することにより、正確に上位制御装置の画面上でアウトプットイメージを編集でき、安価で正確な印刷を行う印刷装置を提供することができる。
　【００５４】
　次に本発明の第７実施例について図面を参照しながら詳細に説明する。
　【００５５】
　第７実施例の印刷装置のブロック図は第４および第５実施例の印刷装置のブロック図である
図１２と同様であるため構成についての説明は省略する。
　【００５６】
　図１９は、本第７実施例の印刷装置がアウトラインフォントを、すでにフォントキャッシュにビットマップフォントとして展開生成している当該ビットマップフォントデータを上位制御装置に伝送する動作を示すフローチャートである。
　【００５７】
　図１９において、電源がオンされると図１２のプロセッサ４、インタフェース２、ワーキングメモリ６、画像メモリ８、プリントエンジンインタフェース９等の各構成要素が、あらかじめプログラムＲＯＭ５及び不揮発性メモリ１１に格納してある内容により、初期化される。（ステップＳ２９０）
次に、上位制御装置１からデータを１バイトまたは任意のバイト数でブロック化された単位で受信を行う。（ステップＳ２９１、Ｓ２９２）
受信されたデータは、コマンドとして有効なもの無効なもの、データとに区分され、各コマンドはどのようなコマンドか解析される。（ステップＳ２９３）
解析されたコマンドが、上位制御装置１からのアウトラインフォントからビットマップフォントに展開した生成済のビットマップフォントデータの送信要求コマンドであるならば（ステップＳ２９４）、ワーキングメモリ６内のフォントキャッシュメモリ６ｂから当該フォント種、サイズ、フォント修飾情報、フォントデータを取り出し（ステップＳ２９５）、上位制御装置に送信する。（ステップＳ２９６、Ｓ２７７）
当該ビットマップフォントデータを上位制御装置１に送信し終ると、次のデータの受信を行う。（ステップＳ２９７、Ｓ２９１）
一方、送られてきたコマンドが上位制御装置１からのアウトラインフォントからビットマップフォントに展開した生成済のフォントデータの送信要求でない場合には（ステップＳ２９４）、コマンド内容に従い定められた印刷編集処理を行い、編集結果をワーキングメモリ６に格納する。（ステップＳ２０８）
また、送られてきたコマンドがＦＦ等のページ区切りコマンドであったり、１ページを越える印刷データであった場合には、ページの終りと判断し、そのページの印刷編集を終了する。（ステップＳ２０８、Ｓ２０９）
ページの終りまで編集処理が終了すると、ワーキングメモリ　６に格納された前述した編集データに基づき、フォントキャッシュメモリ６ｂ、アウトラインＤＬＬメモリ６ｃの内容を画像メモリ８に展開し、１ページ分の印刷データを作成する。　画像メモリ８に作成された印刷データは、プリントエンジンインタフェース９を介して、プリントエンジン１０に送られ印刷が行われる。（ステップＳ２１０）
印刷が行われたあと、電源オフで動作を終了し、オフでない場合には、データを受信する状態にもどる。（ステップＳ２１１、Ｓ２９１）
また、印刷編集処理した結果がページの終りでなかつた場合には（ステップＳ２０８、Ｓ２０９）、データを受信する状態に戻る。（Ｓ２０９、Ｓ２９１）
次に、本発明における印刷装置が、上位制御装置にアウトラインフォントからビットマップフォントを展開し生成済の当該ビットマップフォントデータを送信する際の上位制御装置の動作を説明する。
　【００５８】
　図２０は、本発明における印刷装置が、上位制御装置にアウトラインフォントからビットマップフォントに展開し生成済の当該ビットマップフォントデータを送信する際の上位制御装置の動作を示すフローチャートである。
　【００５９】
　図２０において、図示しない上位制御装置１のインタフェースの初期化設定を行うと（ステップＳ３００）、上位制御装置１はインタフェース２を介して、必要とするフォント種、サイズの当該印刷装置内のアウトラインフォントからビットマップフォントに展開し生成済の当該ビットマップフォントデータを送信を要求するコマンドを送信する。（ステップＳ３０１）
次に、当該印刷装置から送られてくるビットマップに展開されたフォントデータを受信する。（ステップＳ３０２、Ｓ３０３）
上位制御装置は、受信した当該フォント種情報を図示しないディスプレイドライバの当該ドライバに情報を付加し記憶保存する。（ステップＳ３０４）
前記第７実施例においては、印刷装置から上位制御装置へのアウトラインフォントからビットマップフォントに展開した生成済みデータの送信の起動は、上位制御装置からのコマンドが送られてくることにより行われるが、送信の起動を印刷装置の操作パネルより行うっても良い。
　【００６０】
　なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形が可能であり、それらを本発明の範囲から排除するものではない。例えば、フォント情報を記憶する手段が、図３０に示すフォント用不揮発性メモリカード１３であったり、単なるＲＯＭを内臓したフォントカードであったり、ＦＤＤ、ＨＤＤ等の外部記憶装置であったりしても構わない。また、印刷部の構成は電子写真のみならず、サーマルプリンタ方式、ワイヤドット方式等いずれの方式のものでもよい。また、印刷制御部は、同様の性能をもつ種々の回路におきかえて差し支えない。
　【００６１】
　以上、本発明を詳細に説明したように、本発明によれば、印刷装置に内臓または、他の上位制御装置からダウンロードしているアウトラインフォントから、上位制御装置内にないビットマップフォントを生成でき、印刷装置からビットマップフォントをアップロードが可能となる。プリンタと同じフォント種、フォントサイズ、フォント修飾でアプリケーションソフトウェアが動作することにより、正確に上位制御装置の画面上でアウトプットイメージを編集でき、安価で正確な印刷を行う印刷装置を提供することができる。
　【００６２】
　次に、本発明の第８実施例について図面を参照しながら詳細に説明する。
　【００６３】
　図２１は本発明の第８実施例を示す印刷装置のブロック図である。
　【００６４】
　図において、本発明の印刷装置は、上位制御装置１にインタフェース２を介して接続されたシステムバス３に対し、プロセッサ４、プログラムＲＯＭ　５、ワーキングメモリ６、ビットマップフォントＲＯＭ　７、アウトラインフォントＲＯＭ　７ａ、画像メモリ８、プリントエンジンインタフェース９、不揮発性メモリ１１、プリンタドライバＲＯＭ２０が接続されるとともに、密度変換ドライバＲＯＭ２１が接続される。
　【００６５】
　上位制御装置１は、印刷データを作成するコンピュータやワードプロセッサ、画像読取装置等の装置である。　インタフェース２は、いわゆるシリアルインタフェースや両方向パラレルインタフェース、ＬＡＮインタフェースなど、上位制御装置と印刷装置が相互に情報を伝達することができる回路から構成される。プロセッサ４は、印刷装置全体の制御を行う回路であり、その実行プログラムはプログラムＲＯＭ５に格納されている。ワーキングメモリ６は、インタフェース２により送受信されたデータ等を記憶管理するためのメモリであり、上位制御装置１からＤＬＬフォント（ダウンローディングフォント）を、ワーキングメモリ６内にＤＬＬメモリ６ａ領域として確保することが可能となっている。ビットマップフォントＲＯＭ　７は、上位制御装置１から送り込まれた文字キャラクタコードやその他のコードを印刷用のビットマップフォントデータに変換するメモリである。
　【００６６】
　アウトラインフォントＲＯＭ７ａには、輪郭を表現するベッセル関数曲線やスプライン関数曲線など曲線等の関数式と、その接続点及びそれらの制御用パラメータが格納されており、プロセッサ４はこれらのデータの計算処理を行い印刷用ビットマップフォントデータを生成する。フォントキャッシュメモリ６ｂは、アウトラインフォントＲＯＭ　７ａからプロセッサ４が生成したビットマップフォントデータを一時的に記憶させておくキャッシュメモリである。画像メモリ８は、編集処理されイメージ化された印刷用データを、例えば１ページ分格納するランダムアクセスメモリで構成される。プリントエンジン１０は、画像メモリ８に格納された印刷用データに基づいて印刷用の用紙に印刷を行う装置であり、用紙搬送系、電子写真プロセス等を含む。
　【００６７】
　プリントエンジンインタフェース９は、プロセッサ４の指示に従って画像メモリ８から印刷用データ９ａを読み出してプリントエンジン１０に転送し、又はプリントエンジン１０から出力されるプリントコントロール信号９ｂを受け入れ、これをプロセッサ４などに送信したり、プロセッサ４などの指示を送受信するインタフェース回路である。
　【００６８】
　不揮発性メモリ１１は、印刷装置の電源オン時の初期状態を設定するための情報を記憶しておくバッテリバックアップメモリやＥＥＰＲＯＭなどで構成されるメモリである。プリンタドライバＲＯＭ　２０は、１つまたは複数からなる、それぞれ印刷装置のコマンド系に対応したプリンタドライバを格納するメモリである。
　【００６９】
　密度変換ドライバＲＯＭ　２１は、１つまたは複数からなる、密度変換を行うドライバを格納するメモリである。
　【００７０】
　図２２は、本発明の印刷装置が上位制御装置の指示により、上位制御装置から送られてきたイメージデータの密度変換を行い上位制御装置に伝送する動作を示すフローチャートである。図２２において、電源がオンされると図３０のプロセッサ４、インタフェース２、ワーキングメモリ６、画像メモリ８、プリントエンジンインタフェース９等の各構成要素が、あらかじめプログラムＲＯＭ　５及び不揮発性メモリ１１に格納してある内容により、初期化される。（ステップＳ３１０）
次に、上位制御装置１からデータを１バイトまたは任意のバイト数でブロック化された単位で受信を行う。（ステップＳ３１１、Ｓ３１２）
受信されたデータは、コマンドとして有効なもの無効なもの、データとに区分され、各コマンドはどのようなコマンドか解析される。（ステップＳ３１３）
解析されたコマンドが、上位制御装置１からのイメージデータを密度変換して当該データを送信する送信要求コマンドであるならば（ステップＳ３１４）、上位制御装置からイメージデータを受信しワーキングメモリ６に格納する。（ステップＳ３１５、Ｓ３１６）
ワーキングメモリ６内の当該イメージデータを密度変換ドライバＲＯＭ　２１の密度変換ドライバにより密度変換し上位制御装置に送信する。（ステップＳ３１８、Ｓ３１９）
当該イメージデータを上位制御装置１に送信し終ると、次のデータの受信を行う。（ステップＳ３１９、Ｓ３１１）
一方、送られてきたコマンドが上位制御装置１からのイメージデータを密度変換して当該データを送信する送信要求でない場合には（ステップＳ３１４）、コマンド内容に従い定められた印刷編集処理を行い、編集結果をワーキングメモリ６に格納する。（ステップＳ２０８）
また、送られてきたコマンドがＦＦ等のページ区切りコマンドであったり、１ページを越える印刷データであった場合には、ページの終りと判断し、そのページの印刷編集を終了する。（ステップＳ２０８、Ｓ２０９）
ページの終りまで編集処理が終了すると、ワーキングメモリ　６に格納された前述した編集データに基づき、フォントキャッシュメモリ６ｂ、アウトラインＤＬＬメモリ６ｃの内容を画像メモリ８に展開し、１ページ分の印刷データを作成する。　画像メモリ８に作成された印刷データは、プリントエンジンインタフェース９を介して、プリントエンジン１０に送られ印刷が行われる。（ステップＳ２１０）
印刷が行われたあと、電源オフで終了し、オフでない場合には、データを受信する状態にもどる。（ステップＳ２１１、Ｓ３１１）
また、印刷編集処理した結果がページの終りでなかつた場合には（ステップＳ２０８、Ｓ２０９）、データを受信する状態に戻る。（Ｓ２０９、Ｓ３１１）
次に、本発明における印刷装置が、上位制御装置からの指示でイメージデータを受信し当該イメージデータを密度変換して当該データを上位制御装置に送信する際の上位制御装置の動作を説明する。
　【００７１】
　図２３は、本発明における印刷装置が、上位制御装置からの指示でイメージデータを受信し当該イメージデータを密度変換して当該データを上位制御装置に送信する際の上位制御装置の動作を示すフローチャートである。
　【００７２】
　図２３において、図示しない上位制御装置１のインタフェースの初期化設定を行うと（ステップＳ３３０）、上位制御装置１はインタフェース２を介して、印刷装置が上位制御装置からの指示でイメージデータを受信し当該イメージデータを密度変換して当該データを上位制御装置に送信するコマンドを送信する。（ステップＳ３３１）
次に、上位制御装置は当該イメージデータを送信する。（ステップＳ３３２）次に、上位制御装置は当該印刷装置から送られてくる密度変換されたイメージデータを受信する。（ステップＳ３３４、Ｓ３３５）
上位制御装置は、受信した当該イメージデータを図示しない上位制御装置のメモリに格納し、図５のアプリケーションプログラム１０１に引き渡す。（ステップＳ３３５）
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形が可能であり、それらを本発明の範囲から排除するものではない。例えば、密度変換ドライバを記憶する手段及びフォント情報を記憶する手段が、図３０に示すフォント用不揮発性メモリカード１３であったり、単なるＲＯＭの内臓したフォントカードであったり、ＦＤＤ、ＨＤＤ等の外部記憶装置であったりしても構わない。
　【００７３】
　また、密度変換ドライバは単にソフトウェアに限定するのではなく、ＬＳＩ等のハードウェアの回路に置き換えても構わない。また、印刷部の構成は電子写真のみならず、サーマルプリンタ方式、ワイヤドット方式等いずれの方式のものでもよい。さらに、印刷制御部は、同様の性能をもつ種々の回路におきかえて差し支えない。
　【００７４】
　以上、本発明を詳細に説明したように、本発明によれば、印刷装置に内臓された密度変換ドライバにて上位制御装置のイメージデータの密度変換処理を、印刷装置のアウトラインフォント等を処理する高速な処理能力及び大きな画像メモリやワークメモリを利用できるようになり、上位制御装置は他の処理に専念することが可能となり、処理の分散化が可能となる。従って、本発明により、上位制御装置のユーザから見た、アプリケーションプログラムの処理時間を含めた印刷時間を、上位制御装置側で高速化をはからなくても、短縮できる印刷装置を提供することができる。
　【００７５】
　以下、本発明の第９の実施例について図面を参照しながら詳細に説明する。
　【００７６】
　図２１及び図２４は本発明の第９実施例を示す印刷装置のブロック図である。図２１はすでに説明したので、ここでは説明を省略する。
　【００７７】
　図２４は、図２１のインタフェース２の内部の構成を示すブロック図である。図２４において、本発明の印刷装置のインタフェース部は、上位制御装置１とネットワーク１６０にて接続され、当該ネットワーク１６０にネットワークインタフェースドライバ１５１、ネットワークインタフェース制御部１５２を介して接続されたシステムバス１５３に対し、プロセッサ１５４、プログラムＲＯＭ１５５、ワーキングメモリ１５６、受信データバッファ１５７が接続されるとともに、印刷制御部インタフェース１５８が接続される。
　【００７８】
　ネットワークインタフェースドライバ１５１は、ＩＥＥＥ−８０２．３やＩＥＥＥ−８０２．５等のネットワークの物理層を駆動する能動素子からなるドライバであり、ネットワークインタフェース制御部１５２は、ネットワークの物理層のプロトコルの解釈及び制御を行いＬＳＩ等で構成される。プロセッサ１５４は当該インタフェース部全体の制御を行う回路であり、ネットワークのリンク層のプロトコルの解釈及び制御を行い、その実行プログラムはプログラムＲＯＭ１５５に格納されている。
　【００７９】
　ワーキングメモリ１５６は、プロセッサ１５４及びネットワークインタフェース制御部１５２の一時的な情報を蓄えるメモリである。受信データバッファ１５７は、上位制御装置１からネットワーク１６０を介してネットワークインタフェース制御部１５２及びプロセッサ１５４にて処理された受信データを順序よく管理するキュー１５７ａのエリアと、当該キューを管理するキュー管理テーブル１５７ｂが割り当てられている。キュー１５７ａにある受信されたデータは、印刷制御部インタフェース１５８を介して、印刷装置の制御部に渡される。
　【００８０】
　図２５は本発明に於ける印刷装置のネットワークインタフェース部の実施例の動作を示すフローチャートである。
　【００８１】
　プロセッサ１５４はプログラムＲＯＭ１５４に記憶してあるプログラムに従い、ネットワークインタフェース部１５２、印刷制御部インタフェース１５８等の回路の各部、及びプログラムを実効して行くためのワーキングメモリ１５６、受信バッファ１５７、キュー１５７ａ、キュー管理テーブル１５７ｂ等の初期化を行う。（ステップＳ３４０）
次に、ネットワーク１６０に通信プロトコルの決定を含めたログ・イン処理を行う。（ステップＳ３４１）
ネットワーク１６０から通信プロトコルで定めたブロックサイズのブロックでデータを受信を行い、ネットワークインタフェース制御部１５２及びプロセッサ１５４にて定められたプロトコルを分析する。（ステップＳ３４２、ステップＳ３４３）
受信したデータをキュー管理テーブル１５７ｂの一番最後に登録を行う。（ステップＳ３４４）
キューの中の待行列の、総ファイル数を調べる。（ステップＳ３４５）
キューの中の待行列の総ファイル数が予め定めておいた、定数よりも大きい場合には（ステップＳ３４６）、印刷装置の印刷時間がかかることを、上位制御装置１にネットワーク１６０を介して知らせ、他の印刷装置に印刷した方が早く印刷できることを上位制御装置に知らしめる。（ステップＳ３５０）
キューの中の待行列の総ファイル数が定数より小さい場合には（ステップＳ３４６）、今度は、キュー管理テーブル１５７ｂに登録されている全ファイルの総データ数を調べ、予め定めてある定数より大きいかどうかを調べる。（ステップＳ３４８）
定数よりも大きい場合には（ステップＳ３４８）、前述同様に印刷装置の印刷時間がかかることを、上位制御装置１にネットワーク１６０を介して知らせ、他の印刷装置に印刷した方が早く印刷できることを上位制御装置に知らしめる。（ステップＳ３５０）
キューの中の待行列の総ファイルの全データ数が定数よりも小さい場合には、ログ・アウトでなければ（ステップＳ３４９）、再度データの受信処理を行う。（ステップＳ３４２）
次に、本発明における印刷装置の制御部とのインタフェース方法を説明する。図２６は、本発明における印刷装置の制御部とのインタフェースの動作を示すフローチャートである。
　【００８２】
　印刷制御部は、印刷制御部インタフェース等の初期設定を行った後（ステップＳ３７０）、キュー管理テーブル１５７ｂを調べ、キュー１５７ａの中に待行列があるかどうか調べる。（ステップＳ３７１）
キュー１５７に待行列があった場合には（ステップＳ３７１）、キュー管理テーブル１５７ｂの最初の項目からキュー１５７の中のデータの格納してあるアドレス及びデータ数を入手してデータ格納エリアを把握する。（ステップＳ３７２）
印刷制御部は、入手したデータ格納エリア情報を基に、当該データをキュー１５７ｂより読み込む。（ステップＳ３７３、Ｓ３７４）
印刷制御部は、当該データの読み込みを終了した後、印刷に伴う処理を行いそれらが終了した後、キュー管理テーブル１５７ｂの当該データ項目を削除する。（ステップＳ３７５）
印刷制御部は、再度、キュー管理テーブル１５７ｂを調べ、キュー１５７ａの中に待行列がない場合には、ネットワークインタフェース部からのデータの取り込みを終了する。（ステップＳ３７１）
次に、本発明の印刷装置のネットワークインタフェース部のキュー管理テーブル１５７ｂの具体的実施例を説明する。
　【００８３】
　図２７は、本発明の印刷装置のネットワークインタフェース部のキュー管理テーブル及びキューの構成を示す図である。
　【００８４】
　２７図において、（ａ）はキュー管理テーブル１５７ｂの構成を示し、（ｂ）は対応するキュー１５７ａの構成を示す。
　【００８５】
　図２７（ａ）において、各項目要素はプロセッサ１５４のアドレスを表現できるビット数の単位で構成されるワード長、例えば１６ビットで構成される。図中の横列びはテーブルの１項目を表現し、１テーブルは数ワードで構成される。（例テーブル１　４７４）
本実施例では、一例として４ワード構成をとっている。図２７（ａ）のキュー管理テーブルは、テーブル自信の開始と終了アドレス及びキューの名前とテーブル内トータルワード数部分を示すへッダ部分（ａｄｄｒｅｓｓ　ｌａｂ，　ａｄｄｒｅｓｓ　ｎａｍｅ）と、テーブル部分（ａｄｄｒｅｓｓ　１　〜　ａｄｄｒｅｓｓ　ｎ）から構成される。
　【００８６】
　ヘッダ部分は、テーブル開始アドレス４０１、キュー最終アドレス４０２、受信データ最先頭アドレス４０３、受信データ最終アドレス４０４、キューの名前４０５、キューテーブル内トータルワード数４７３から構成される。テーブル（テーブル１　４７４）は、テーブル１内トータルワード数４１０、次のテーブルの先頭アドレス４１１、テーブル１受信データ先頭アドレス４１２、テーブル１受信データサイズ４１３から構成され、任意の数のテーブルｎまで同様に構成される。
　【００８７】
　次に、キュー管理テーブルの使用法の説明を行う。プロセッサ１５４の初期化設定時に、初期化されたヘッダ部分が設定される。この際にはまだ受信が行われていないので、テーブル開始アドレス４０１の中は、テーブル１内トータルワード数４１０のアドレスを示し、当該テーブル１内トータルード数４１０の内容は０に設定される。キュー最終アドレス４０２には、テーブル１　４７４の最終項目である、テーブル１受信データサイズ４１４のアドレスが設定され、当該テーブル１受信データサイズ４１３には０が設定される。受信データ最先頭アドレス４０３には、キュー１５７における、受信データの格納を行うエリアの先頭アドレスが格納され、図２７（ｂ）の４５１が対応する。　同様に、受信データ最終アドレス４０４は、キュー１５７における、受信データの格納を行うエリアの最終アドレスが格納され、図２７（ｂ）の４７２に対応するが、初期時には、受信データ最先頭アドレス４０３と同じ内容が格納される。　キューの名前４０５には、当該キュー管理テーブルの名前が格納され、複数のキューをもつ場合の判別に使用される。
　【００８８】
　キューテーブル内トータルワード数４７３には、各テーブルの合計ワード数を格納し、印刷量の判別に用いる。初期設定時には、０が設定される。テーブル１の、次のテーブルの先頭アドレス４１１には、テーブル２　４７５のテーブル２内トータルワード数４２０のアドレスが格納される。初期化時には、０が格納され次のテーブルが存在しないことを示す。
　【００８９】
　次に、受信データがきたときの動作を説明する。
　【００９０】
　最初の受信データファイルがきた時には、テーブル１　４７４に管理情報が格納される。この際、テーブル開始アドレス４０１、キュー最終アドレス４０２、受信データ最先頭アドレス４０３、及びテーブル１受信データ先頭アドレス４１２は、あらかじめテーブル１の設定がされているので、変更は必要ないが、テーブル１内トータルワード数４１０及び、テーブル１受信データサイズ４１３には、受信したデータファイルのデータサイズを格納する。また、受信データ最終アドレス４０４には受信データファイルのデータ数分の数を加えたアドレスが格納される。キューテーブル内トータルワード数４７３には、テーブル１内トータルワード数４１０の内容を加えた内容が格納される。
　【００９１】
　また、受信したデータファイルは、図２７（ｂ）の受信データ４５０に格納される。
　【００９２】
　次に、第２の受信データファイルを受信した時には、テーブル１の次のテーブルの先頭アドレス４１１にテーブル２の先頭アドレスである、テーブル内トータルワード数４２０のアドレスを格納し、当該項目及びテーブル２受信データサイズ４２３には、当該データファイルサイズを格納し、キュー内テーブルトータルワード数４７３には、当該データファイルサイズを加えたものを格納する。　テーブル２受信データ先頭アドレス４２２には、受信データ最終アドレス４０４の内容の次のアドレス４６０（図ｂ）を格納し、対応したキューの受信データエリアを確保し、当該受信データファイル４６０（図ｂ）を格納し、受信データ最終アドレス４０４には、新たに、第２の受信データファイルを格納した最終アドレスを格納する。
　【００９３】
　テーブル２の次のテーブルの先頭アドレスには、テーブルの終りであることを示す０を格納する。また、キュー最終アドレス４０２には、テーブル２受信データサイズ４２３のアドレスを格納する。
　【００９４】
　受信データを格納した後、テーブルの数を調べるため、次のテーブルの先頭アドレス４１１、４２１と順次しらべ０が格納されているまで調べ、テーブルの数を計数する。この計数した値と、あらかじめ設定してある値と比較し、計数値の方が大きい場合には、上位制御装置に、当該印刷装置が印刷するのに時間のかかることを知らせる。また、当該計数値の方が小さい場合でも、キューテーブル内トータルワード数４７３を調べ、あらかじめ設定してある値と比較して、当該内容の方が大きい場合には、前述同様に上位制御装置にしらせる。
　【００９５】
　第３の受信データファイル以降同様な動作を行う。
　【００９６】
　なお、前述では、テーブル内トータルワード数４１０、４２０、４３０と受信データサイズ４１３、４２３、４３３には、同じデータを格納したが、受信データサイズには、実際のデータサイズを格納し、テーブル内トータルワード数には、当該データをあらかじめ設定してある関数式にて計算を行い、格納することも可能である。
　【００９７】
　また、キュー１５７ａのメモリ及び、テーブルのメモリの割り付けに関しては、公知であるリングバッファの方式がとることが可能である。
　【００９８】
　次に、印刷装置制御部がキューからデータを読み出す時のキュー管理テーブルの動作を説明する。
　【００９９】
　印刷装置制御部は、印刷データをネットワークインタフェース部から入手する際に、キュー管理テーブル１５７ｂのテーブル開始アドレス４０１を参照し、最初のテーブルのあるアドレスを入手する。最初である、第１のテーブルの受信データ先頭アドレス４１２を参照し、図ｂのキュー１５７ａの第１の受信データ４５０の先頭アドレスを入手し、テーブル１の受信データサイズ４１３を参照して、格納エリアを把握して、テーブル１にて表現している第一のデータを入手する。印刷装置制御部の印刷のための第１のデータの処理が終了しキュー１５７ａのデータが不用になると、印刷装置制御部はテーブル１の次のテーブルの先頭アドレス４１１を参照し、テーブル２の開始アドレスを入手し、当該アドレスを新しい、テーブル開始アドレス４０１の内容として格納する。また、同時にテーブル２の受信データ先頭アドレス４２２の内容を、受信データ最先頭アドレス４０３に格納する。さらに、テーブル１のテーブル１内トータルワード数４１０の内容を、キューテーブル内トータルワード数４７３からひいた内容を、新たに、キューテーブル内トータルワード数４７３に格納する。これらの、動作を第２以降の受信データの読みだしでも繰り返す。このように、動作させることで、常に、テーブルを維持管理可能となる。
　【０１００】
　なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形が可能であり、それらを本発明の範囲から排除するものではない。
　【０１０１】
　例えば、密度変換ドライバを記憶する手段及びフォント情報を記憶する手段が、図３０に示すフォント用不揮発性メモリカード１３であったり、単なるＲＯＭの内臓したフォントカードであったり、ＦＤＤ、ＨＤＤ等の外部記憶装置であったりしても構わない。
　【０１０２】
　また、密度変換ドライバは単にソフトウェアに限定するのではなく、ＬＳＩ等のハードロジックで構成しても良い。また、印刷部の構成は電子写真のみならず、サーマルプリンタ方式、ワイヤドット方式等いずれの方式のものでもよい。また、印刷制御部は、同様の性能をもつ種々の回路におきかえて差し支えない。
　【０１０３】
　また、本発明の説明では、ネットワークインタフェース部を１つのプロセッサをもつユニットとして表現したが、印刷制御部のプロセッサがその機能を受け持つことが可能であることは自明である。
　【０１０４】
　以上、本発明を詳細に説明したように、本発明によれば、複数の上位制御装置が接続されているネットワークに、直接接続する印刷装置において、当該印刷装置の印刷処理のかかり具合を各上位制御装置が知ることができるので、上位制御装置のユーザが印刷を急ぐ時には、他の印刷装置に印刷することが可能となる。従って、本発明により、上位制御装置のユーザから見た、アプリケーションプログラムの処理時間を含めた印刷時間を、短縮できる印刷装置を提供することができる。
　【０１０５】
　以下、本発明の第１０実施例について図面を参照しながら詳細に説明する。
　【０１０６】
　図２１及び図２４は本発明の第１０の実施例を示す印刷装置のブロック図である図２８は、本第１０実施例における印刷装置のネットワークインタフェース部の動作を説明するフローチャートである。
　【０１０７】
　プロセッサ１５４はプログラムＲＯＭ１５４に記憶してあるプログラムに従い、ネットワークインタフェース部１５２、印刷制御部インタフェース１５８等の回路の各部、およびプログラムを実行して行くためのワーキングメモリ１５６、受信バッファ１５７、キュー１５７ａ、キュー管理テーブル１５７ｂ等の初期化を行う。
　【０１０８】
　次に、ネットワーク１６０に通信プロトコルの決定を含めたログ・イン処理を行う。ネットワーク１６０から通信プロトコルで定めたブロックサイズのブロックでデータ受信を行い、ネットワークインタフェース部１５２およびプロセッサ１５４にて定められたプロトコルを分析する。（ステップ５０３、ステップ５０４）受信したファイルのデータ中の使用フォントの抽出を行う。（ステップ５０５）　抽出した当該使用フォントをキュー管理テーブル１５７ｂに登録する。（ステップ５０６）
次に、当該使用フォントを他のキュー管理テーブル１５７ｂ内のファイルと比較する。（ステップ５０７）
比較した際に、同一フォントが予め定めてある規定数以上であった場合には、（ステップ５０８）、当該ファイルを比較したファイルの次に出力する順番に、キュー管理テーブル１５７ｂに設定し、（ステップ５１１）、ログアウトでなければ（ステップ５１０）、次のファイルを受信する。（ステップ５０３）
また、比較した際に、同一フォントが規定数ない場合には（ステップＳ５０８）、キュー管理テーブル１５７ｂ内の、他のすべてのファイルを調べ（ステップＳ５０９）、受信したデータをキュー管理テーブル１５７ｂの一番最後に登録を行い、次のファイルを受信する。（ステップＳ５０３）
次に、本発明の印刷装置のネットワークインタフェース部のキュー管理テーブル１５７ｂの具体的実施例を説明する。
　【０１０９】
　図２９は、本発明の印刷装置のネットワークインタフェース部のキュー管理テーブルの構成を示す図である。図２８において、各項目要素はプロセッサ１５４のアドレスを表現できるビット数の単位で構成されるワード長、例えば１６ビットで構成される。　図中の横列びはテーブルの１項目を表現し、１テーブルは数ワードで構成される。（例　テーブル１　６６０）
図２９のキュー管理テーブル６００は、テーブル自身の開始と終了アドレス及びキューの名前とを示すヘッダ部分６７０と、テーブル部分６８０から構成される。
　【０１１０】
　ヘッダ部分は、テーブル開始アドレス６０１、キュー最終アドレス６０２、キューの名前６０３から構成される。
　【０１１１】
　テーブル部のテーブル１　６６０は、テーブル１内トータルワード数６１０、次のテーブルの先頭アドレス６１１、テーブル１受信データ先頭アドレス６１２、テーブル１受信データサイズ６１３、使用フォント情報サイズ６１４、使用フォント情報６１５から構成され、任意の数のテーブルｎまで同様に構成される。
　【０１１２】
　次に、キュー管理テーブルの使用法の説明を行う。
　【０１１３】
　プロセッサ１５４の初期化設定時に、初期化されたヘッダ部分が設定される。この際にはまだ受信が行われていないので、テーブル開始アドレス６０１の中は、テーブル１内トータルワード数６１０のアドレスを示し、当該テーブル１内トータルード数６１０の内容は０に設定される。
　【０１１４】
　キュー最終アドレス６０２には、テーブル１　６６０の当面の最終項目である、テーブル１使用フォント情報サイズ６１４のアドレスが設定され、当該テーブル１使用フォント情報サイズ６１４には０が設定される。
　【０１１５】
　キューの名前６０３には、当該キュー管理テーブルの名前が格納され、複数のキューをもつ場合の判別に使用される。
　【０１１６】
　テーブル１の受信データサイズ６１３には、受信ファイルのデータ数が格納され、初期化時には、０が格納される。
　【０１１７】
　テーブル１の、次のテーブルの先頭アドレス６１１には、テーブル２　６９０のテーブル２内トータルワード数６２０のアドレスが格納される。初期化時には、０が格納され次のテーブルが存在しないことを示す。
　【０１１８】
　テーブル１受信データ先頭アドレス６１２には、キュー１５７ｂにおける対応する受信データを格納する、先頭アドレスを格納する。なお、初期化時には、あらかじめ割り付けられているアドレスを格納しておく。
　【０１１９】
　これら、キュー管理テーブル６００及び、キュー１５７ａのメモリ割り付けに関しては、公知である、メモリのダイナミックアロケーションの手法を用いる。
　【０１２０】
　次に、受信データが来たときの動作を説明する。
　【０１２１】
　まず、第１の受信データがきた時には、受信データファイルの中の使用フォントを調べ、当該フォント種、サイズ、フォント修飾情報を、テーブル１使用フォント情報６１５に格納する。同時に当該使用フォント情報に使用したワード数を、テーブル１使用フォント情報サイズ６１４に格納する。　また、当該受信データファイルのデータサイズをテーブル１受信データサイズ６１３に格納する。
　【０１２２】
　テーブル１使用フォント情報６１５をふくめた、テーブル１の構成ワード数を、テーブル１のトータルワード数６１０に格納し、テーブル１使用フォント情報６１５の最終アドレスをキュー最終アドレス６０２に格納する。
　【０１２３】
　第２の受信データがきた時には、前述の公知のメモリ割り付けによりテーブル２の先頭アドレスを求め、テーブル１の次のテーブルの先頭アドレス６１１に、テーブル２の先頭アドレスを格納する。第２のデータであるため、印刷順序は一意的に、２番目となるので、フォントの調査は行わず、テーブル１と同様に、各項目に当該データを格納する。ただし、キュー最終アドレス６０２には、テーブル２の使用フォント６１５の最後のワードのアドレスが格納され、テーブル２の次の先頭アドレス６２１には、最後のテーブルであることを示す０が格納される。
　【０１２４】
　第３の受信データがきた時には、メモリ割り付けによりテーブル３の先頭アドレスを求め、受信データファイルの使用フォントを調べ、当該フォント種、サイズ、フォント修飾情報を、テーブル３使用フォント情報６３５に格納する。　同時に当該使用フォント情報に使用したワード数を、テーブル３使用フォント情報サイズ６３４に格納する。　また、当該受信データファイルのデータサイズをテーブル３の受信データサイズ６３３に格納する。
　【０１２５】
　次に、テーブル３使用フォント情報６３５と、受信済みのテーブル１及びテーブル２の当該情報との比較を、次のテーブルの先頭アドレス６１１、６２１をたどり行う。
　【０１２６】
　いま、比較した結果、テーブル１の使用フォント情報があらかじめ定めた規定数より大きく、テーブル２の使用フォント情報が規定数よりも小さい場合には、印刷する順番をテーブル１、テーブル３、テーブル２の順番になるように、次のテーブルの先頭アドレス６１１、６２１、６３１に格納する。
　【０１２７】
　つまり、テーブル１の次のテーブルの先頭アドレス６１１には、テーブル３の先頭アドレスを格納し、テーブル３の次の先頭アドレス６３１には、テーブル２の先頭アドレスを格納し、テーブル２の次の先頭アドレス６２１には、最後のテーブルであることを示す０を格納する。テーブル３の受信データ先頭アドレス６３２には、キュー１５７ｂにおいて割り付けられたメモリエリアの先頭アドレスか格納され、テーブル３のトータルワード数６３０には、テーブル３の使用フォント情報６３５〜６３６のワード数をふくめた、テーブル３の合計ワード数が格納される。また、キュー最終アドレス６０２には、テーブル２が最終順位のままなので、テーブル２の最終項目である、使用フォント情報６２６のアドレスが格納される。
　【０１２８】
　このように、受信したデータファイルのフォント使用状況を、以前に受信したこれから印刷するデータファイルと比較して、フォント使用頻度により、印刷する順番を替える操作を、当該キュー管理テーブル１５７ｂにて制御する。
　【０１２９】
　次に、印刷装置制御部がキューからデータを読み出す時のキュー管理テーブルの動作を説明する。印刷装置制御部は、印刷データをネットワークインタフェース部から入手する際に、キュー管理テーブル１５７ｂのテーブル開始アドレス６０１を参照し、最初のテーブルのあるアドレスを入手する。印刷装置の制御部は最初である、第１のテーブルの受信データ先頭アドレス６１２を参照し、キュー１５７ａの第１の受信データの先頭アドレスを入手し、テーブル１の受信データサイズ６１３を参照して、格納エリアを把握して、テーブル１にて表現している第一のデータを入手する。
　【０１３０】
　印刷装置制御部の印刷のための第１のデータの処理が終了し、キュー１５７ａのデータが不用になると、印刷装置制御部はテーブル１の次のテーブルの先頭アドレス６１１を参照し、テーブル３の開始アドレスを入手し、当該アドレスを新しい、テーブル開始アドレス６０１の内容として格納する。
　【０１３１】
　また、使用済みとなった、受信データエリア及びテーブルのエリアは、公知のメモリダイナミックアロケーション手法により、解放する。
　【０１３２】
　これらの、動作を第２印刷順位以降の受信データの読みだしでも繰り返す。このように、動作させることで、常に、テーブルを維持管理可能となる。
　【０１３３】
　なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形が可能であり、それらを本発明の範囲から排除するものではない。例えば、密度変換ドライバを記憶する手段及びフォント情報を記憶する手段が、図３０のフォント用不揮発性メモリカード１３であったり、単なるＲＯＭの内臓したフォントカードであったり、ＦＤＤ、ＨＤＤ等の外部記憶装置であったりしても構わない。
　【０１３４】
　また、密度変換ドライバは単にソフトウェアに限定するのではなく、ＬＳＩ等のハードウェアの回路等に置き換えても構わない。また、印刷部の構成は電子写真のみならず、サーマルプリンタ方式、ワイヤドット方式等いずれの方式のものでもよい。また、印刷制御部は、同様の性能をもつ種々の回路におきかえて差し支えない。また、本発明の説明では、ネットワークインタフェース部を１つのプロセッサをもつユニットとして表現したが、印刷制御部のプロセッサがその機能を受け持つことが可能であることは自明である。
　【０１３５】
　以上、本発明を詳細に説明したように、本発明によれば、複数の上位制御装置が接続されているネットワークに、直接接続する印刷装置において、受信したデータファイルのフォント使用状況によってファイルの印刷順位を替えることが可能となり、アウトラインフォントを使用した印刷において、フォントキャッシュを小さなサイズで効率良く使用が可能になる。従って、本発明により、上位制御装置のユーザから見た、アプリケーションプログラムの処理時間を含めた印刷時間を、安価で短縮できる印刷装置を提供することができる。
　【０１３６】
　【発明の効果】　以上、本発明を詳細に説明したように、本発明によれば、上位制御装置に印刷装置の固有のコマンド体系を持っていない場合もしくは、当該印刷装置のプリンタドライバを持つていない場合でも、当該印刷装置側からプリンタドライバをおくることができるので、正確な印刷を可能とする印刷装置を提供することができる。
　【０１３７】
　また、従来の印刷装置は、上位制御装置のユーザが印刷装置の環境設定を完全に把握していないと、正確な印刷ができず、ユーザにとっても煩わしいものであったが、本発明により、ユーザが印刷装置の環境設定を完全に把握していない場合でも、正確にかつ容易に印刷する印刷装置を提供することができる。
　【０１３８】
　さらに、本発明によれば、毎回印刷時にＤＬＬ等の大きなファイルを印刷時に伝送しなくても、印刷時に上位制御装置が印刷装置のフォント情報を把握できるので、無駄な伝送が発生せず、上位制御装置の伝送時間を含めた印刷装置の印刷時間を短時間で行う印刷装置を提供することができる。
　【０１３９】
　さらに、本発明によれば、印刷時に上位制御装置が印刷装置のフォントキャッシュの内容を印刷する前に事前に把握できるので、印刷するファイルの順番を入れ替えることにより、印刷装置の限られたワーキングメモリのなかでフォントキャッシュを毎回印刷時にこわすことなく、無駄なアウトラインフォントからビットマップフォントへの展開が発生せず、安価で印刷時間を短時間で行う印刷装置を提供することができる。
　【０１４０】
　さらに、本発明によれば、印刷装置に内臓または、他の上位制御装置からダウンロードしているアウトラインフォントから、上位制御装置内にないビットマップフォントを生成でき、印刷装置からビットマップフォントをアップロードが可能となる。プリンタと同じフォント種、フォントサイズ、フォント修飾でアプリケーションソフトウェアが動作することにより、正確に上位制御装置の画面上でアウトプットイメージを編集でき、安価で正確な印刷を行う印刷装置を提供することができる。
　【０１４１】
　さらにまた、本発明によれば、印刷装置に内臓または、他の上位制御装置からダウンロードしているアウトラインフォントから、上位制御装置内にないビットマップフォントを生成でき、印刷装置からビットマップフォントをアップロードが可能となる。プリンタと同じフォント種、フォントサイズ、フォント修飾でアプリケーションソフトウェアが動作することにより、正確に上位制御装置の画面上でアウトプットイメージを編集でき、安価で正確な印刷を行う印刷装置を提供することができる。
　【０１４２】
　さらに、本発明によれば、印刷装置に内臓された密度変換ドライバにて上位制御装置のイメージデータの密度変換処理を、印刷装置のアウトラインフォント等を処理する高速な処理能力及び大きな画像メモリやワークメモリを利用できるようになり、上位制御装置は他の処理に専念することが可能となり、処理の分散化が可能となる。　従って、本発明により、上位制御装置のユーザから見た、アプリケーションプログラムの処理時間を含めた印刷時間を、上位制御装置側で高速化をはからなくても、短縮できる印刷装置を提供することができる。
　【０１４３】
　さらに、本発明によれば、複数の上位制御装置が接続されているネットワークに、直接接続する印刷装置において、当該印刷装置の印刷処理のかかり具合を各上位制御装置が知ることができるので、上位制御装置のユーザが印刷を急ぐ時には、他の印刷装置に印刷することが可能となる。　従って、本発明により、上位制御装置のユーザから見た、アプリケーションプログラムの処理時間を含めた印刷時間を、短縮できる印刷装置を提供することができる。
　【０１４４】
　さらに、本発明によれば、複数の上位制御装置が接続されているネットワークに、直接接続する印刷装置において、受信したデータファイルのフォント使用状況によってファイルの印刷順位を替えることが可能となり、アウトラインフォントを使用した印刷において、フォントキャッシュを小さなサイズで効率良く使用が可能になる。　従って、本発明により、上位制御装置のユーザから見た、アプリケーションプログラムの処理時間を含めた印刷時間を、安価で短縮できる印刷装置を提供することができる。
【図面の簡単な説明】
　【図１】第１実施例のブロック図
　【図２】従来の印刷装置のブロック図
　【図３】従来の他の印刷装置のブロック図
　【図４】従来の他の印刷装置のブロック図
　【図５】従来の上位制御装置のソフトウェア構造図
　【図６】従来のインタフェース部のブロック図
　【図７】第１実施例の印刷装置の動作説明フローチャート
　【図８】第１実施例の上位装置の動作説明フローチャート
　【図９】第２実施例の印刷装置の動作説明フローチャート
　【図１０】第３実施例の印刷装置の動作説明フローチャート
　【図１１】第３実施例の上位装置の動作説明フローチャート
　【図１２】第４実施例のブロック図
　【図１３】第４実施例の印刷装置の動作説明フローチャート
　【図１４】第４実施例の上位装置の動作説明フローチャート
　【図１５】第５実施例の印刷装置の動作説明フローチャート
　【図１６】第５実施例の上位装置の動作説明フローチャート
　【図１７】第６実施例の印刷装置の動作説明フローチャート
　【図１８】第６実施例の上位装置の動作説明フローチャート
　【図１９】第７実施例の印刷装置の動作説明フローチャート
　【図２０】第７実施例の上位装置の動作説明フローチャート
　【図２１】第８実施例のブロック図
　【図２２】第８実施例の印刷装置の動作説明フローチャート
　【図２３】第８実施例の上位装置の動作説明フローチャート
　【図２４】第９実施例のインタフェース部のブロック図
　【図２５】第９実施例のネットワークインタフェース部の動作説明フローチャート
　【図２６】第９実施例のインタフェース動作説明フローチャート
　【図２７】ネットワークインタフェース部のキュー管理テーブル
　【図２８】ネットワークインタフェース部の動作説明フローチャート
　【図２９】ネットワークインタフェース部のキュー管理テーブル詳細説明図
　【図３０】本発明の印刷装置のブロック図
　【符号の説明】
　１　　　上位制御装置
　２　　　インタフェース
　３　　　システムバス
　４　　　プロセッサ
　５　　　プログラムＲＯＭ
　６　　　ワーキングメモリ
　６ａ　　ＤＬＬメモリ
　６ｂ　　アウトラインＤＬＬメモリ
　６ｃ　　フォントキャッシュメモリ
　７　　　ビットマップフォントＲＯＭ
　８　　　画像メモリ
　９　　　プリントエンジンインタフェース
　１０　　　プリントエンジン
　１１　　　不揮発性メモリ
　２０　　　プリンタドライバＲＯＭ
　２１　　　密度変換ドライバＲＯＭ