JPH0452727A - プリンタ制御装置 - Google Patents

プリンタ制御装置

Info

Publication number
JPH0452727A
JPH0452727A JP2155858A JP15585890A JPH0452727A JP H0452727 A JPH0452727 A JP H0452727A JP 2155858 A JP2155858 A JP 2155858A JP 15585890 A JP15585890 A JP 15585890A JP H0452727 A JPH0452727 A JP H0452727A
Authority
JP
Japan
Prior art keywords
data
emulator
area
switching
font
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2155858A
Other languages
English (en)
Inventor
Hidekazu Yoshida
英一 吉田
Yoshikazu Ikenoue
義和 池ノ上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Minolta Co Ltd
Original Assignee
Minolta Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Minolta Co Ltd filed Critical Minolta Co Ltd
Priority to JP2155858A priority Critical patent/JPH0452727A/ja
Publication of JPH0452727A publication Critical patent/JPH0452727A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、複数のエミュレータを搭載したプリンタの制
御装置に関する。
(従来の技術) 最近、複数のホスト(ホストコンピュータなど)に接続
可能なプリンタが使用されている。通常、プリンタの印
字制御は、ホストコンピュータなどのホストから一定の
プロトコル(コマンド体系)すなわち7オーマツトに従
ったコマンドを印字データと共に受信することによって
行なわれる。このフォーマットは、現在、各社まちまち
に決められており、ホストとプリンタが異ったフォーマ
ットを利用した場合には、プリンタはホストから受信し
たデータを解析できない。そこで、複数のホストに接続
可能なプリンタにおいては、複数種の7オーマツトに対
応する機能(エミュレータ)を搭載していて、操作パネ
ルでの指定、または、ホストから送られてくるエミュレ
ータ指定のコマンドにより、指定されたエミュレータが
実行を開始する。
(発明が解決しようとする課題) 一般に、複数のホストに接続可能であって、多くのエミ
ュレータを搭載したプリンタにおいて、各々のエミュレ
ータが起動されている時には、メモリマツプやデータの
管理方法がそれぞれ異なる。
そのため、ホスト側から使用するアプリケーションを切
り換えるとき、ホストからプリンタのエミュレータの切
換を指定すると、従来は、切り換えたエミュレータのた
めにメモリの初期化がおこなわれ、これによりプリンタ
におけるそれ以前の状態は失われていた。
この初期化によるメモリのクリアは、−人でプリンタシ
ステムを利用している場合には問題はない。
しかし、特に複数のホストに接続され複数のユーザーが
使用するシステムにおいては、エミュレータ切換時に以
前の状態(使用環境)を保持しておいた方がよいことが
ある。たとえば、複数のホストと1台のプリンタが接続
され、複数のユーザーがそれぞれ異なるエミュレータで
使用していた場合を考える。1人がフォントをダウンロ
ードして利用していた時に、他のユーザーかエミュレー
タを切換えると、この時点でダウンロードフォントのデ
ータが消えてしまうので、最初のユーザーは、そのダウ
ンロードフォントを用いてプリントする場合、エミュレ
ータを切換えるだけでなく、また最初からフォントをダ
ウンロードしなおさなければならない。さらに前に設定
した値は、他のユーザーから割り込まれるたびに初期化
され消えてしまう。
この様に複数のユーザが異なるエミュレータを利用した
場合に連続的な作業が中断されてしまうという問題があ
る。
本発明の目的は、複数のエミュレータを搭載したプリン
タにおいて、エミュレータ切り換え時に、切り換え前に
使用していたエミュレータに復帰するときのためにその
エミュレータの使用のために必要なデータを保存できる
プリンタ制御装置を提供することである。
(課題を解決するための手段) 本発明に係るプリンタ制御装置は、それぞれ異なったプ
ロトコルを処理する複数のエミュレータを備えたプリン
タにおいて、使用環境を設定するデータの記憶エリアや
ワークエリアとしてエミュレータが処理の実行において
アクセスする第1記憶手段と、データ保存のための第2
記憶手段と、エミュレータ切換の指示を受け取るデータ
入力手段と、データ入力手段からエミュレータ切換指示
を受け取ると、指示されたエミュレータに切り換える一
方、第1記憶手段に記憶したデータの中の元のエミュレ
ータの使用環境を設定するデータを第2記憶手段に保存
し、切り換えられたエミュレータのための保存データが
その保存データを第2記憶手段に記憶してあった場合に
、第1記憶手段に復帰するエミュレータ切換手段を備え
たことを特徴とする。
(作用) エミュレータが処理の実行においてアクセスする第1記
憶手段には、エミュレータの使用環境を設定するデータ
も記憶される。たとえば、文字印字を中心とした処理を
行なうエミュレータにおいてダウンロードされるフォン
トデータがそのようなデータである。他のエミュレータ
からこのエミュレータに切り換えたときは、このダウン
ロードフォントデータが第2記憶手段に保存してあれば
、そのデータを第1記憶手段に復帰すれば、直ちに印字
情報の処理が実行できる。そこで、ホストコンピュータ
や操作パネルなどからエミュレータ切換指示をデータ入
力手段が受け取ると、エミュレータ切換手段は、第2記
憶手段に現在のエミュレータの使用環境を設定するデー
タを保存する。
また、エミュレータ切換手段は、指示されたエミュレー
タのための保存データを第2記憶手段から第1記憶手段
に復帰する。
(実施例) 以下、本発明の実施例を図面を参照しつつ説明する。
(a)プリンタの全体構成 第1図は本発明に係るレーザプリンタlの外観を示す斜
視図である。
レーザプリンタlは、電子写真プロセスによる画像形成
のための、感光体、現像器、露光用のレーザー光学系、
及び後述する画像データ処理部lOなどを備えたプリン
トエンジン4と、自動給紙ユニット5及びソータ6から
なる。自動給紙ユニット5には、上段給紙カセット51
、中段給紙カセット52および下段給紙カセット53が
、装着されており、これらの中の1つの給紙カセットか
ら用紙がプリントエンジン4に供給される。
プリントエンジン4の上部前面には、ユーザーによる操
作のための操作パネル44が設けられている。
第2図は、操作パネル44の正面図である。。
7セグメントLEDのPr1nter  5tatus
表示31は、レーザプリンタlの動作状態(エラー表示
を含む)をコード表示する。サイズ指定キー35は、用
紙を供給する給紙カセット51〜53の中の1つを選択
するために設けられ、選択された給紙カセットに収納さ
れている用紙のサイズに応じてサイズ表示LEDが点灯
される。37は初期化のためのリセットキー、38はテ
スト印字のためのテストキー、39は内部の画像データ
を排出するだめのフオームフィードキーである。
オンラインキー40は各部の処理を一時停止させるため
に設けられ、処理が停止すると表示LED40aは消灯
する。
さらに、41は、エミュレータを選択するためのエミュ
レータ選択キーであり、キー41の押下により表示31
に表示された数字に対応するエミュレータが選択される
第3図はレーザプリンタlの画像データ処理部10の構
成を示すブロック囚である。画像データ処理部lOは、
画像データ処理部10の全体の動作を制御するマイクロ
コンピュータからなるCPU(中央処理装置)111処
理のプログラムを記憶するプログラムROM12、操作
パネル44と接続された操作パネルインターフェイス1
3、後述するようにビットマツプメモリとして用いられ
且つ各種のデータが格納されるRAM17、予め所定の
フォントデータが書き込まれI;フォントROM18、
これらのRAM17及びフォントROM18を制御する
メモリコントローラ14、外部装置としてのホストコン
ピュータ(以下「ホスト」という)に接続された外部イ
ンターフェイス15、デイツプスイッチ19、及び、プ
リントエンジン4において電子写真プロセスを制御する
プリントエンジン制御部に接続されたプリントエンジン
インターフェイス16から構成されている。
ここに、デイツプスイッチ19は、ユーザーが設定する
プリンタ動作方法のデフォルト値を決めるために設けら
れる。ユーザーは、あらかしめ自分が使用するエミュレ
ータ、ペーパーサイズ、通信速度、メモリサイズなどを
デイツプスイッチ19に設定することができる。後述の
エミュレータ切換の場合のメモリ容量不足の場合のデー
タ保存優先かデータ放棄優先(エミュレータ切換優先)
かの取り扱いの選択もデイツプスイッチ19により設定
される。この情報は、電源投入とともに読み込まれ、デ
フォルト値の設定か行われる。エミュレータ切換優先の
場合は、gard fdataフラグがOに設定され、
エミュレータ切換放棄優先の場合は、そのフラグが1に
設定される(第24図(a) S84〜S86参照)。
プログラムROM12内には、ホストから送られてくる
文字データおよび複数のコマンドを解析し実行するプロ
グラム(エミュレータ)が収められている。すなわち、
本プリンタは、数種のフォーマットに対応する機能(エ
ミュレータ)を持っており、操作パネル44での指定、
あるいはホストから送られるコマンドにより、各エミュ
レータが対応を開始する。
メモリコントローラ14は、ホストから外部インターフ
ェイス15を介して画像データが入力されると、この画
像データに基づいて、後述するRAM17内のビットマ
ッグエリアBMにイメージデータの描画を行う。イメー
ジデータの描画には、線や円などの図形描画と、フォン
トROM18又はRAM17からのフォントデータの読
み出しにより行われるフォント描画とがある。
また、プリント(印字)動作時において、メモリコント
ローラ14は、ホストから送られてくるプリント開始コ
ードに対応して、プリントエンジン4内のプリントエン
ジン制御部からの同期信号に従って、RAM17内のビ
ットマツプエリアBMからイメージデータを画素の配列
順に読み出し、プリントエンジン制御部へ出力する。
プリントエンジン制御部では、このイメージデータに応
じてレーザ光源の点滅を行って感光体上に潜像を形成す
る公知の電子写真プロセスにより、自動給紙ユニット5
から供給される用紙に、用紙の周囲に余白を設けた所定
のイメージサイズの画像を形成する制御が行われる。
7オントROM18(第10図参照)内のフォントデー
タには、文字や記号の形をドツトパターンとしてイメー
ジのとおりに表すパターンフォントデータと、文字など
輪郭のみを表すアウトラインフォント(ベクトルフォン
ト)データやデータ長の短縮を図った圧縮フォントデー
タなどからなるコードフォントデータ(内部1次データ
)とがある。
アウトラインフォントデータを印字に用いると、高品位
の変形文字や拡大文字などを含む画像を容易に形成する
ことができる。
まtこ、プリントにフォントROM18内のフォントデ
ータ以外のフォントが必要な場合には、ホストからパタ
ーンフォントデータ又はコードフォントデータからなる
必要なフォントデータ(外部り次データ)が、RAM1
7ヘダウンロードされる(第8図、第11図参照)。
コードフォントデータに基づいて、RAM17のビット
マツプエリアに描画するときには、塗り潰しやドツト数
の計算などの演算処理が必要となり、描画速度が低下す
る。そこで、描画速度を高めるため、CPU1lにより
、プリント動作の開始前などの待機時間を利用してフォ
ント変換処理が行われ、前もってコードフォントデータ
(内部又は外部1次データ)をパターンフォントデータ
に変換し、これを2次データとしてRAM17(第11
図のキャッシュエリアなど)に格納しておくことがある
(c)RAMのwIg戒とエミュレータ第4図は、RA
M17のメモリエリアMAの構成を示す。メモリエリア
MAは単数又は複数のRAMチップにより構成される。
メモリエリアMAは、1つのアドレス系によりアクセス
可能なメモリ空間であり、格納されるデータの種類から
見て、CPUIIが行なう各部の制御のためのシステム
エリアSA、画像データに関するユーザー二リアUA、
及び、ダウンロードフォントデータなどをエミュレータ
切り換え時に保存するデータセーブエリアDSに分けら
れる。
システムエリアSAやユーザエリアUAは、その目的に
より、さらに細分化されて利用されるが、その内訳はエ
ミュレータが起動されるごとに変化する。これは各エミ
ュレータにおいてプリンタコマンドがその構造や機能が
異なるためであり、エミュレータプログラムもそれを反
映した形になり、メモリの利用目的もエミュレータごと
に変わス なおユーザエリアUAと、データセーブエリアDSのア
ドレスは、後で説明するように、エミュレータが起動さ
れると変化する。
なお、RAMチップを増設してゆくことにより、ユーザ
エリアUAとデータセーブエリアDSを拡張することも
できる。
次に、具体的に2つのエミュレータのメモリ空間につい
て説明する。ここでは、2つのエミュレータをEMUl
、EMU2と呼ぶ。
はじめに、エミュレータEMUIの場合のメモリ空間に
ついて説明する。
EMUIは、キャラクタの印字を中心とした処理を行な
うエミュレータであり、文字印字の際にはフォントRO
M18のパターンフォントデータ181のみを使用する
。内部での情報管理は主にキャラクタ単位に行なわれ、
文字情報、印字制御コマンドとともに画定7オーマント
に従い中間コードと呼ばれるコードに変換される。描画
時にはこの中間コードの情報をもとに処理を行なう。
一方、EMU2は図形処理を中心とした処理を行なうエ
ミュレータであり、内部では座標データを中心とした画
像データを管理する。文字の場合も、画像データに近い
形で扱われ、最終的には画像データと同じ管理データに
まで分解される。文字印字の際は、フォントROM18
のコードフォントデータ182のみを使用する。コード
フォントデータ182は文字の輪郭情報が集められたも
のであり基本的には図形を描画する情報に近いものであ
る。
EMUIでは、第5図に示す様にRAM17のメモリ配
置が行なわれる。RAM17のシステムエリアSAには
、CPUIIによる演算処理のためのパラメータなどを
格納するパラメータエリアSAa、ホストから入力され
た各種の制御のための命令コードに対応する中間コード
を格納するP−バッファエリアSAb、及びホストとの
通信用のR−バッファエリアSAcが設けられる。
EMUIでは、パラメータエリアSAaにはプログラム
全体を管理するための情報が記憶される(ディレクトリ
管理)。その内部は、第6図に示すように、さらにいく
つかのブロックに分けられて、管理を行なう。たとえば
エミュレータの現在の動作情報を保存するエミュレータ
管理ブロック5Aa1や、ダウンロードフォントなどの
情報を管理するダウンロードデータ管理ブロック5Aa
2、データセーブエリアDSの使用情報を管理するデー
タセーブエリア管理ブロック5Aa3、画像情報全体(
たとえば中間コードやテーブルエリアのデータも)を管
理する画像情報管理ブロック5Aa4などのいくつかの
ブロックが設けられる。
第7図に示すように、データセーブエリアDSは、デー
タ保存エリアDSaとエミュレータ情報保存エリアDS
bとからなるデータ保存エリアDSaは、後に詳しく説
明するように、エミュレータ切換時に外部1次データな
どを保存、復帰するためのエリアである(第21図55
56〜563参照)。
また、パラメータエリアの上述のエミュレータ情報管理
ブロック5Aalの内容は、エミュレータが切り換えら
れる時、データセーブエリアDS内のエミュレータ情報
保存エリアDSbにコピーされる(第21図3551参
照)。そして、次に再び元のエミュレータが起動された
時、エミュレータ情報保存エリアDSbからエミュレー
タ情報管理ブロックSAa 1にコピーされる(第21
図8565参照)。
このコピーは現在のエミュレータの動作情報(使用環境
)を保存しておくために行なう作業であるが、データセ
ーブエリアDS内に保存エリアDSbを置かずにパラメ
ータエリアSAa内に置いてもよい。
一方、ユーザー二リアUAには、第8図に示すように、
プリントの必要に応じてホストからダウンロードされた
パターンデータを格納する7オントロードエリアFLと
、イメージデータを描画する仮想画面としてのビットマ
ツプエリアBMとが割り当てられる。ただし、EMUI
ではパターン7オントデータのみを扱い、コードフォン
トは使わない。
第9図に示すように、ダウンロードの際、フォントRO
M18からのパターン7オントデータがユーザーエリア
UAの端から順に格納されてゆく(斜線部)。これは7
オントロードエリアFLを使い切るまで可能であるが、
データがエリア内で一杯になると、後にダウンロードさ
れたデータは捨てられる。一方、ビットマツプエリアB
Mは、ユーザー二リアUAの反対側の端から使用される
なお、図かられかるように、ユーザーエリアにおいて、
フォントロードエリアFLとビットマツプエリアBMと
は、メモリ空間を共通化していて、その破線で示す境界
は浮動的である。
第1θ図は、フォントROM18の構成を示す。
EMUIではパターン7オントデータ181のみを利用
し、コードフォントデータ182は全く使用しない。
次に、EMU2の場合のメモリ空間について説明する。
EMU2では、第11図の様にシスチムニリアSAとユ
ーザーエリアUAが配置される。
さらに、データセーブエリアDSは第7図と同様に配置
される。
システムエリアSAには、EMUlと同様にパラメータ
を格納するパラメータエリアSAaとホストとの通信用
のR−バッファSAcが設けられる他、テーブルエリア
SAbが設けられる。
EMU2の場合には、すでに第6図に示したように、パ
ラメータエリアSAaに、さらに画像情報保存ブロック
5Aa5が作られる。これは、印字制御コマンドや、テ
ーブルエリアSAbに保存される座標データなどが作ら
れる以前の情報を保存しておくエリアであり、解析途中
もしくは解析前のデータを保存する。ダウンロードフォ
ントデータなどもこのエリアSAa 5に蓄えられる。
それゆえ、7オントロードエリアFLはこのエリアの一
部に対応することになる。このエリアは画像情報管理ブ
ロック5Aa4によって管理される。
このように、フォントをダウンロードした場合は、EM
UIの場合と異なり、パラメータエリアSAaの内部に
7オントデータが収められる。これはフォントデータを
グラフィックなどの画像データと同一に扱うためであり
、画像を生成するためのパラメータも、このパラメータ
エリアSAa内部に収められる。
EMU2では、コードフォントのみを使用し、パターン
フォントデータは扱われないので、ROM18からはコ
ードフォントデータ182のみを読み込み、フォントロ
ードエリアFLにはコードフォントデータのみが収めら
れる。
EMU2では中間コードは使用しないので、EMUIの
場合のような中間コードを格納するP−バッファエリア
SAbは設けない。その代わりに、第12図に示すよう
なテーブルエリアSAbが設けられ、画像データを描画
する上で必要となる座標データ、もしくは座標データを
生成する過程で作られる中間データ、もしくはプログラ
ムを管理する上で必要なアドレス情報が集められ管理さ
れる。また画像情報は分解されていくつものテーブルに
分けられるので、これら複数のテーブルを指すポインタ
(アドレス)を集めた、テーブルを管理するためのテー
ブル管理テーブルがさらに作られる。これらも同様にテ
ーブルエリアSAb内に置かれる。
ユーザーエリアUAは、第11図に示すように、複数の
エリアに分割され利用される。大部分はイメージデータ
を描画する仮想画面としてのビットマツプエリアBMを
使用するが、他のエリアは描画処理を高速化するための
キャッシュエリアFC。
CAなどに割りあてられる。
キャッシュエリアには、フォントキャッシュエリアFC
とハーフトーンなどのキャッシュエリアCAがある。E
MU2は、図形処理を頻繁に行なうエミュレータである
が、図形データのパラメータからビットマツプ形式への
ハーフトーンなどのパターンデータに展開処理するには
非常に時間がかかる。このため、1度展開しt;ハーフ
トーンなどのパターンデータをキャッシュエリアCAに
保存し、同じパターンを使用する時にキャッシュエリア
CAからパターンデータを直接コピーする。
(わざわざ、図形パラメーターから展開しなおさない。
)まIこ、7オントの場合には7オントキヤツシユエリ
アFCに各文字(たとえばA−Z)のデータを保存する
。この時のデータは前に述べた2次フォントデータ(パ
ターンフォントデータ)に対応している。
また、ユーザーエリアUAのワーキングバッファエリア
WBは、複雑な図形処理、たとえば、ハーフトーン処理
、クリッピング処理、重ねあわせ処理を行なう場合に、
−時的な作業を行なうためのエリアである。その処理を
行なう時には、このエリアWB上で1度図形を作成し、
その後に、ビットマツプエリアBM上にコピーする。
(d)エミュレータ切換とメモリ管理 多くのエミュレータを搭載したプリンタにおいて、複数
のユーザーが異なるエミュレータ(アプリケーションプ
ログラム)で使用する場合に、エミュレータを切換える
時、以前に設定した使用環境をメモリに保存し各ユーザ
ーの連続的な使用を可能にするために、エミュレータ切
換時に、使用環境設定のために必要なデータをメモリに
保存する(第21図参照)。
第13図は、エミュレータをEMUIからEMU2に切
り換え、次に再びEMUIに戻した場合のメモリエリア
の構成を示す。EMUIからEMU2への切り換えにお
いては、EMUIのユーザーエリアUAのフォントロー
ドエリアFLにダウンロードされていたフォントデータ
(斜線部)を、前述したデータセーブエリアDSに保存
しておく。
そして、ふたたび現在のエミュレータEMUIに戻った
時に、データセーブエリアに保存していたダウンロード
フォントデータ(斜線部)をフォントロードエリアFL
に復帰させる。これにより、ユーザーは、外部フォント
データを読み込まなくても直ちにアプリケーションプロ
グラムを実行できる。なお、説明を簡巣にするため、先
に説明したエミュレータ情報データの保存と復帰につい
ては、図示と説明を省略した。
このEMU2の場合なとでは、ダウンロードされたコー
ドデータ(外部1次データ)があれば元の使用環境に復
帰できるので、エミュレータ切換えの際に、1次データ
のみを保存し、2次データは捨ててもよい。
さらに第14図に示すように、エミュレータを切り換え
た時、データセーブエリアDSに空きが出ない様にして
、次のエミュレータで使用するエリアを拡張する。たと
えば前に説明したEMUIからEMU2に切り換える時
に7オントロードエリアFLからデータセーブエリアD
Sに保存する。
この時に使用済みエリア(斜線部)のみをデータセーブ
エリアDSとし、その他の余った空間をユーザエリアU
AとシステムエリアSAに割りあてる。これによりメモ
リ利用の効率化が図れる(第22図55554〜555
57.第21図5566参照)。
ただし、第15図に示す様にデータセーブエリアDSの
大きさによっては、次のエミュレータで使用するユーザ
ー二リアUAについて、必ずしも通常の大きさが確保で
きない場合もある。たとえば(a)の場合の様に、保存
すべきデータ(斜線部)が少ないためユーザーエリアU
Aが通常の大きさより大きくとれる場合には問題がない
が、(b)の場合の様にデータセーブエリアDSが大き
いためユーザーエリアUAにおいてキャッシュエリア(
FC,CA)やワーキングバッファエリア(WB)の通
常の大きさを確保できない時もある。
この場合(第22図95553でNo)、ユーザーによ
るデイツプスイッチ19の設定に従い設定されているフ
ラグgard fdataに対応して、データ保存優先
(gard fdata・1)又はデータ放棄優先(g
ard fdata=0)すなわちエミュレータ切換優
先の処理を行なう(第22図55558参照)。
データ保存優先の設定の場合には、822図55561
〜55566に示すように、ユーザー二リアUAにおい
てキャッシュエリア(FC,CA)やワーキングバッフ
ァエリア(WB)の大きさに制限をかける。これらのエ
リアは処理時の効率を上げるだめのエリアであるので、
ある程度の制限はプログラムの実行自体には問題がない
。たとえば、フォントキャッシュ(F C)の場合は、
最小限1文字分があればよいし、ハーフトーンキャッシ
ュ(CA)では、最小限ハーフトーン1ブロツク分があ
ればよい。
この様(:、エミュレータ切換え後に通常のユーザーエ
リアが確保できない時は、使用上に問題のない程度に(
A−Zまでのエリアが確保できないときには、たとえば
A−Nだけとする)、ユーザーエリアUAの大きさに制
限をかける。
以上のメモリ配置操作を行なっても最小限のメモリエリ
ア(FC,CA、WB)の大きさが確保できない時は、
さらに、ビットマツプエリアBMの大きさ、すなわち、
印字可能な最大ペーパーサイズtニアfIJ限をかけ、
大きなベーパーサイズが選択できない様にする。これに
より、ユーザーが希望するよりも小さいサイズでの印字
しかできないことも有り得るが、エミュレータの切換は
可能になる。(また逆にEMU2からEMUIに切り換
える時は、フォントロードエリアFLやヒ゛ットマップ
エリアBMの大きさに制限をかければよい。フォントロ
ードエリアFLは最低でもデータセーブエリアDSに格
納されているデータを復帰できるだけの容量があれば印
字動作は行えるので、その大きさにまで制限する。また
、上記最小限の7ォントロードエリアが確保できない場
合には、EMUlからEMU2への切り換え時と同様、
ビットマツプエリアBMに制限をかける。) 一方、ユーザーがデータ放棄優先すなわちエミュレータ
切換優先を設定した場合には、データセーブエリアDS
をクリアして外部1次データなどを捨て、エミュレータ
を切り換える。
なお、本実施例では、エミュレータ切換優先か否かを通
常のメモリエリアが確保できない場合について選択する
ようにしたが、その他の大きさ、たとえばペーパーサイ
ズが確保できない場合や最小限のメモリが確保できない
場合に選択するようにしてもよい。
第16図は、エミュレータを切り換える時のデータの移
動の1例について示す。ここに、mlはEMUIでダウ
ンロードされtこフォントデータであり、m2は以前に
退避したEMU2のダウンロードフォントデータである
。また、m3は他のエミュレータEMU3でダウンロー
ドされたフォントデータである。EMUIからEMU2
へのエミュレータ切り換えの際に、EMUIのダウンロ
ードフォントデータmlはデータセーブエリアDSへ保
存され、EMU2のダウンロードフォントデータm2は
データセーブエリアDSからシステムエリアSA中に復
帰するが、その他のエミュレータEMU3のためのm3
は、EMUIからEMU2への切換に無関係であるので
、データセーブエリアDS内でそのまま保存される。
ここに、Mで示す部分がユーザーエリアUAとして利用
できるエリアであるので、ビットマツプエリアBM、フ
ォントキャッシュFC,ハーフトーンなどのキャッシュ
CA、ワーキングバッファWBをこのエリアに割りふる
(e)プリント制御のフロー 第17図は、CPUI lのメイン70−を示す。
電源をONにすると、まずRAM17のパラメータエリ
アSAa内のパラメーターを初期化する(ステップSl
(以下「ステップ」を略する))。
次に、受信バッファS Ac、ビットマツプエリアBM
、フォントキャッシュエリアFC,キャッシュエリアC
A、ワーキングバッファWB、バケットバッファSAb
などのエリアをクリアする(S2)。また、デフォルト
値の設定を確認するためにデイツプスイッチ19の設定
をチエツクする(S3)。この設定値は、パラメータエ
リアSAaの中に情報として保存される。
メインフローは、その後、受信処理プロセス(S5)、
描画プロセス(S6)、エンジン処理プロセス(S7)
および操作部処理プロセス(S8)を繰り返し行なう。
ここに、受信処理プロセス(S5)は、ホストから送ら
れてくる印字データに必要な情報を付加して、内部で管
理するフォーマットに直す処理を行なう。
描画処理プロセス(S6)は、受信処理プロセス(S5
)で作られたフォーマットをさらに解析し、ビットマツ
プエリアBM上に実際に印字されるイメージとして描画
してゆく。
エンジン処理プロセス(S7)は、プリントエンジン4
の状態を監視するとともに実際のプリント動作を行なう
。これはすべてのエミュレータで共通の処理となる。
操作部処理プロセス(S8)は、操作パネル44で設定
される内容のチエツクおよび表示などを行なう。これは
すべてのエミュレータで共通の処理となる。
data fullフラグは、エミュレータ切換時にデ
ータ保存を優先する設定においてメモリが確保できなか
ったことを示すフラグである(第22図55567参照
)。詳しくは後述するが、このフラグが立っている時は
(S4でYES)、処理が行なえないため、受信処理プ
ロセス(S5)と描画処理プロセス(S6)は実行しな
い。しかし、エンジン処理プロセス(S7)と操作部処
理プロセス(S8)は、その状態を常に監視しなければ
いけないので、その処理を実行する。ただしこの時、エ
ンジン処理プロセス(S7)と操作部処理プロセス(S
8)が使用するパラメータエリアSAa内の情報は不用
意に変更されるとプログラムが暴走する可能性があるの
で、そのエリアは変更されてはならない。
第18図は、受信割り込みの処理のフローを示す。ホス
トとの通信を描画などの処理と非同期で行なうために、
ホストから受信があった時点で割り込みがかかり、受信
割込みの処理を行なう。すなわち、外部インターフェー
ス15からデータを読み込み(591)、その内容をR
−バッファSACに出力する(S92)。そして、リタ
ーンする。
笑19図は、デイツプスイッチ19の設定を読み込むフ
ロー(第17図53)を示す。まずデイツプスイッチ1
9の設定を確認する(531)。次に、その設定に従い
、RAM17のパラメータエリアSAaに値をセットし
、リターンする。たとえば、最初にどのエミュレータを
起動するか調べ(S32)、起動するエミュレータのタ
イプをcurr−emuにセットする(S32−1〜5
32−n)。ここに、curr emuはパラメータエ
リアSAc内のあるアドレスにある。また、ダウンロー
ドデータ(外部1次データ)を保存するためにメモリを
使い切る時に、ダウンロードデータを捨てるかどうかの
設定をチエツクする(S33)。ユーザーがデータを捨
てるデータ放棄優先すなわちエミュレータ切換優先の設
定をした時には(S33でYES)、gardfdat
a7ラグを0としてセットしく534)、ユーザーが、
データを捨てないで、キャッシュなどのエリアを減少、
もしくはペーパーサイズを減少させて使用するデータ保
存優先の設定をした時は、gard fdataをIと
してセットする(S35)。ここに、gard fda
taはパラメータエリアSAc内のあるアドレスにある
。この様にデイツプスイッチ19で設定した各々の値は
、具体的にどの様な設定にするかチエツクされ、パラメ
ータに値をセットする形で記憶される。そして、リター
ンする。
第20図は、受信処理プロセス(第13図55)のフロ
ーである。受信割り込み(第14図)でR−バッファエ
リアSAcにデータが格納されるが、このデータの有無
をチエツクしく551)、もしデータカアったら(S5
1でYES)R−/(ツファエリアSAcからデータを
取り出しく552)、無かったら(S51でNO)この
処理を終了する。
取り出したデータは、まず、エミュレータ切換えコマン
ドであるかチエツクされる(S53)。もしそうだった
ら(S53でYES)、次に、どのエミュレータタイプ
に切り換えるかをチエツクしく554)、各々のタイプ
に従ってcurr emuに値をセットしくS 54−
1=554−n)、そして、現在のエミュレータの動作
情報を保存するためにエミュレータ切換処理を行なう(
S55、第21図参照)。
次に、以前にCurr eDIuに現在のエミュレータ
が何であるか設定しであるので(第19図参照)、その
値をチエツクしく556)、設定されたタイプのエミュ
レータに対応した受信データ処理を行なう(S56−1
”556−n)。ここでは、受信したデータから内部で
管理するデータの書式に変換するのが主な処理である。
なお、内部で管理するデータの書式は、前に述べた様に
エミュレータごとに異なる。以上の処理が終わったあと
、リターンする。
第21図は、エミュレータ切換処理(第19図555)
の70−を示す。現在使用しているエミュレータは、今
後また使用する可能性があるので、現在の動作情報を退
避して保存しておく必要がある。このI;め、データセ
ーブエリアDS内のエミュレータ情報保存エリアDSb
にまとめて保存しておく。動作情報はパラメータエリア
SAc内にあるエミュレータ情報管理ブロック5Aal
にまとめられているので、実際にはこのエリアの内容を
そのままコピーする処理になる(5551)。(パラメ
ーター内部で保管できる場合は、そのままでよい。) 次に、データセーブエリアDSで使用しているデータ長
さを調べる(S 552)。これは、データセーブエリ
ア管理ブロック5Aa3内で管理されているので、ブロ
ック内を参照することにより調べられる。
次に、データを復帰し、保存するため、復帰するデータ
と保存するデータの両方のデータ長をそれぞれ求める(
S553,5554)。復帰する時は先はどと同じく、
データセーブエリアDSの管理ブロック5Aa3を調べ
、保存データはダウンロードデータ管理ブロック5Aa
2を調べる。保存する時は必ずしも、ダウンロードデー
タに関するすべての情報について保存するわけではなく
、コードフォントデータの様な基になる1次データのみ
を保存する。2次的に作られたキヤ・ンシュ内のデータ
などはすべて無視される。
実際にエミュレータを起動する前に内部で使用するバッ
ファなどのエリアのアドレスをどこに置くか決める必要
があるので、これを決定する(S555、第22図参照
)。ここでは5552,5553.5554で求めた値
を利用して計算を行なう。
メモリ配置が決まったので、実際にデータの復帰、保存
を行なう。次に起動するエミュレータに関する保存情報
が、以前にデータセーブエリア管理ブロック5Aa3に
書き込まれたかどうか調べ(S556)、データが保存
されていたら(S 556でYES)、先はどのメモリ
配置処理(S555)によりフォントロードエリアFL
が決まったので、データセーブ管理ブロック5Aa3を
調ベコピーすべき元のデータのアドレスを決める(S5
57)。
そして保存したデータの復帰を行なう(3558)。
保存時も、上述の復帰の時と同じ様に、保存するデータ
があるかどうか調べ(5561)、コピーするアドレス
を調べ(S 562)、データの保存を行なう(353
6)。
エミュレータを切り換えると、ビ/トマ・ンプエリアB
MのデータやテーブルエリアSAb(EMU2の時)や
P−バッファエミュレータSAb(EMUlの時)のデ
ータなどは、必要なくなるのでクリアする(S564)
。ただし、R−バッファSACのデータは、次の処理に
使うのでクリアしない。
そして、エミュレータの情報をエミュレータ情報保存エ
リアDSbから復帰する(S565)。エミュレータ情
報保存エリアDSbには、あらかじめ初めてエミュレー
タを使うためのデフォルト値が入れられている。
以上の処理でエミュレータの情報の入れ換え(保存と復
帰)が終ったわけであるが、メモリの一部に空きが出る
場合がある。そのため最後にデータを移動して空きをつ
める(5566)。また以前使用したデータをそのまま
使う時に、うまくアドレスが合わなくなった時もこの時
に調整する。
第22図は、メモリ配置を決める処理(第22図955
5)のフローを示す。これはEMUIからEMU2にエ
ミュレータを切り換える場合について書いであるが、他
のエミュレータに切り換える時もほぼ同じである。ユー
ザーエリアUAのFC,CA、WBのサイズを変化され
ているが、EMU2からEMUIに切り換える時にはフ
ォントロードエリアFLがこれに対応して変化すること
になる。
まず、ユーザーエリアUAとして使用できるエリアのサ
イズを求める(S5551)。このサイズは、以前に求
めたデータセーブエリアDSの使用量(S552)と復
帰するデータ長(5553)から計算できる。システム
エリアSAの使用量はエミュレータごとにサイズが決め
られているので、これらの余りがユーザー二リアUAと
して使用できるエリアとなる。
次に、ユーザーエリア内部に割り当てられる各エリア(
たとえばEMU2の場合にはビットマツプエリアBM、
フォントキャッシュエリアFC,その他のキャッシュエ
リアCA、およびワーキングバッファWB)の大きさを
調べる(S5552)。
これはパラメータエリアSAa内に情報として収められ
ているので、これを調べればよい。
次に、これと現在のユーザーエリアUAのサイズを比較
してサイズが確保できるかをチエツクする(S5553
)。入る場合には(S 5553でYES)、さらにユ
ーザーエリアUAで余るサイズを求め(S5554)、
各エリアに割りふるために各エリア(FC,CA、WB
)で使用している割合でサイズを分配する(S5555
)。(ただし、サイズを大きくしても意味のないもの、
たとえばビットマツプエリアBMや、一定値以上のデー
タを利用しないエリアなどには、割りふらない。たとえ
ばキャッシュエリアであっても、あるセルの大きさ以上
のグラフィックデータは扱えない様な場合であれば、意
味がないのでエリアを増やさない。)この後、各エリア
の値(サイズ、アドレス)を更新する訳であるが、各エ
リアは通常、ワード単位もしくはブロック単位に管理さ
れていることが多いので、端数などは切りすてるなどの
処理を行ない調整する(S5556)。これで、サイズ
が決まっl二ので、これよりアドレスを割りふる(S 
5557)。そしてリターンする。
しかし、各エリアFC,CA、WBの通常のサイズが確
保できない時(S 5553でNO)には、先はどのも
しくは後述する様な、デイツプスイッチ19の設定もし
くは操作パネル44の設定でセットされるgard f
dataフラグの値を参照する(S5558)。(ga
rd fdataはパラメーターエリアSAaの内部の
あるアドレスにある。) もし通常のエリアのサイズが確保できないときにダウン
ロードデータを捨てるユーザーの指示(gard fd
ata −0)の時には(55558でYES)、エミ
ュレータ切換を優先するためデータセーブエリアDSの
中身をクリア(放棄)L(S5559)、ユーザーエリ
アUAの内部にセントされる各エリアのアドレスを計算
する。これは55554〜55557の手順と同じ手順
になる。
一方、データ保存(使用環境保存)を優先するI;めデ
ータを捨てるのを禁止している場合には(gard f
data= I XS 5558でNo)、FC,CA
WBなどのエリアで最低でも必要とするサイズをパラメ
ーターエリアSAaから調べる(55561)。そして
、このデータを使ってユーザー二リアUAに入りきるか
チエツクしく55562)、入る場合には(YES)、
55554〜55557の処理により、アドレスを割り
ふる。
さらに、ユーザー二リアUAに入らない場合では(S 
5562でNO)、そのサイズを求め(S5563)、
ビットマツプエリアBMの中からそのサイズを引<(S
5564)。この時、最低のペーパーサイズが確保でき
るかチエツクしく55565)、できるなら、確保でき
る最大のペーパー長を求める(S5566)。たとえば
、リーガルサイズのペーパーが今まで使用できたとする
。この時に、上の様な状態になった時は、レターサイズ
、A5サイズなどのペーパーまでしか選択できなくする
(リーガルサイズ〉レターサイズ〉A5)。
そして、55554〜55557の手順でアドレスを割
りふる。
以上の処理をしてもメモリサイズが確保できない時は(
S 5565でNo)、データの保存ができないので操
作部44にエラー表示をするためにdataJullと
いう変数を1にする(55567)。そして、リターン
する。
823図は、描画処理ブ”−1’ス(@l 313US
 6)のフローを示す。まず、現在のエミュレータをチ
エツクしく561)、そのタイプに対応した描画処理を
行なう(S62−1−362−n)。これはビットマツ
プエリアBM上にイメージを描画する処理であり、受信
処理で作られた内部データから画像データを作り描画を
行なう。そして、リターンする。
第24図(a)、(b)は、操作部処理プロセス(第1
3図58)のフローを示す。基本的には操作パネル44
のスイッチをチエツクして、内部のパラメーター(パラ
メータエリア5Aa)にその情報をセットし、それに対
応した表示を行なう。(今回はループ内で定期的に実行
される様な場合を説明したがこの時間が確保できない時
には、タイマー割り込みによってこの処理がコールされ
る様にしてもよい。) 今回の説明に対応するパラメータをセットする手順が5
81〜S89である。まず、スイッチが押されたかをチ
エツクする(S81)。押されたかどうかの情報は操作
パネルインターフェース13を通じて知らされる。押さ
れていない場合には内部パラメータの変更(581〜5
89)を行なわず、次の処理(5891)に移る。押さ
れた場合には(S81でYES)、スイッチの状態を読
み込む(582)。そして、データ保護の設定が変更さ
れたら(S83でYES)、その内容に従い(S84)
、前述したデータを捨てるか否か即ちエミュレータ切換
か使用環境保存かを示すgard fdataのパラメ
ータを変更する(S85.586)。
次に、エミュレータを操作パネル44から切り換えた時
にはぐS87でYES)、どのエミュレー夕を起動する
かを調べ(S 88) 、curr emuのパラメー
タにそのタイプをセットしく589−1〜S89〜n)
、前述したエミュレータ切換処理(S55)を行う(5
90)。
次に、先はどメモリ配置処理(S 555)においてd
ata fullが1にセットさ″れていた場合には(
591′でYES)、第2図に示した操作パネルのPr
1nter 5tatus表示31にエラー表示を行な
う(s92’)。次に復帰スイッチ(第3図のRase
tスイッチ37)が押されたかをチエツクし、押された
場合には(S93でYES)、データセーブエリアDS
内のデータを捨て(S94)、data fullを0
にしく595)、アドレスをもう一度決めるメモリ配置
処理(S555)を行う(S96)。
最後に、操作パネル44の表示を制御する表示処理(S
97)を行ない、リターンする。
以上の様にユーザーがあらかじめ、ダウンロードフォン
トを優先して残すか、エミュレータの切換えを優先する
か、あらかじめ、デイツプスイッチ19で設定しておく
ことができる。これにより複数のユーザーで使用した場
合に、自分の使用環境がむやみに破壊されるのを防ぐこ
とができる。
また、他人の使用環境を破壊するか否かを心配せずに使
用できる。
以上の説明ではシステムエリアSAのサイズが変化しな
い場合であったが、エミュレータを切り換えた時に、シ
ステムエリアSAの大きさが変化してもよい、この場合
はユーザーエリアのトップアドレスが変化する。
また、フォントROM内に格納されている1次データの
コードフォントデータからパターンフォントデータへ変
換される途中の中間フォントデータか生成される様な場
合には、この中間データも復元可能な2次データとして
扱ってもよい。
また、以上の説明ではパターンデータとコードフォント
データを互いのエミュレータが利用できない場合につい
て説明したが、格納されたデータが同じタイプであって
も(たとえばパターンデータであっても)、どちらかか
使えなければ同様である。
また、データを保存する時には、データを圧縮して保存
してもよい。
また、本実施例では、設定はデイツプスイッチ19から
設定する様に説明したが、デフォルト値を操作パネル4
4であらかじめ設定しておける様にしておいてもよい。
また、本実施例では、制限をかけダウンロード7オント
を消さない様に設定した時に、メモリが確保できない時
にエラーを表示し、解析データをすべて捨ててしまうが
、データを捨てるか、ダウンロードデータを捨てるかを
この時点で指示できる様にしてもよい。
(発明の効果) 複数のユーザーが異なるアプリケーションで異なるエミ
ュレータを切り換えて使用する場合に、切り換え時に第
2記憶手段に最低限のデータを保存しておくことにより
、このデータを破壊しない。
このため、元のエミュレータに切り換えても保存データ
を復帰して処理が早く行える。また、このデータ保存に
より、他のユーザーを意識せずにブリンクを使用できる
【図面の簡単な説明】
第1図は、レーザプリンタの斜視図である。 第2図は、操作パネルの正面図である。 @3図は、画像データ旭理部のプロ/り図である。 第4図は、RAMのメモリ構成を示す図である。 第513Cは、EMUlにおけるメモリ配置を示す図で
ある。 第6図は、パラメータエリアの構成を示す図である。 第7図は、データセーブエリアの構成を示す図である。 第8図は、ユーザーエリアの構成を示す図である。 第9図は、ユーザーエリアの使用状況を示す図である。 第1O図は、フォントROMの構成を示す図である。 第11図は、EMU2におけるメモリ構成の−部を示す
図である。 第12図は、テーブルエリアの構成を示す図である。 第13図は、データの保存と復帰を示す図である。 第14図は、データの保存と復帰を示す図である。 第、15図は、通常の保存のためのメモリが確保できな
い場合のデータ保存を示す図である。 第16図は、エミュレータ切換時のデータ移動の図であ
る。 第17図は、画像データ処理のメインフロルチャートの
図である。 第18図は、受信割り込みの処理の70−チャートであ
る。 第19図は、デイツプスイッチ設定読込処理のフローチ
ャートである。 第20図は、受信処理のフローチャートである。 第21図は、エミュレータ切換処理の70−チヤトであ
る。 第22図は、メモリ配置処理のフローチャートである。 第23図は、描画処理のフローチャートである。 第24図(a)、(b)は、操作部処理のフローチャー
トである。 IA、IB、Ic・・・ホスト、 3・・・プリンタコントローラ、 4・・・プリンタエンジン、 lO・・・プリンタシステム、 11・・・画像データ処理部のCPU。 17・・・RAM。 19・・・デイツプスイッチ、 41・・・エミュレータ切換キー 44・・・操作パネル。 特許出願人 ミノルタカメラ株式会社 代 理 人 弁理士 青 山  葆 ほか2名第1図 第2図 第4図 第5図 A 第9図 第11図 第17図 第18図 第23図 第24図(at 第24図(b)

Claims (1)

    【特許請求の範囲】
  1. (1)それぞれ異なったプロトコルを処理する複数のエ
    ミュレータを備えたプリンタにおいて、使用環境を設定
    するデータの記憶エリアやワークエリアとしてエミュレ
    ータが処理の実行においてアクセスする第1記憶手段と
    、 データ保存のための第2記憶手段と、 エミュレータ切換の指示を受け取るデータ入力手段と、 データ入力手段からエミュレータ切換指示を受け取ると
    、指示されたエミュレータに切り換える一方、第1記憶
    手段に記憶したデータの中の元のエミュレータの使用環
    境を設定するデータを第2記憶手段に保存し、切り換え
    られたエミュレータのための保存データがその保存デー
    タを第2記憶手段に記憶してあった場合に、第1記憶手
    段に復帰するエミュレータ切換手段を備えたことを特徴
    とするプリンタ制御装置。
JP2155858A 1990-06-14 1990-06-14 プリンタ制御装置 Pending JPH0452727A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2155858A JPH0452727A (ja) 1990-06-14 1990-06-14 プリンタ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2155858A JPH0452727A (ja) 1990-06-14 1990-06-14 プリンタ制御装置

Publications (1)

Publication Number Publication Date
JPH0452727A true JPH0452727A (ja) 1992-02-20

Family

ID=15615043

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2155858A Pending JPH0452727A (ja) 1990-06-14 1990-06-14 プリンタ制御装置

Country Status (1)

Country Link
JP (1) JPH0452727A (ja)

Similar Documents

Publication Publication Date Title
US6111654A (en) Method and apparatus for replacing or modifying a postscript built-in font in a printer
US6052202A (en) Output device, information processing apparatus memory control method and memory medium
JP3741749B2 (ja) プリントオーバーラン防止方法および装置
US5748861A (en) Image processing apparatus and method therefor
JPH08258380A (ja) プリンタ制御装置、プリンタ制御システム及びプリンタ制御方法
JP2003246123A (ja) 印刷装置、制御プログラムロード方法、ロード制御プログラムを記録した媒体およびロード制御プログラム
JPH0452727A (ja) プリンタ制御装置
JP3013577B2 (ja) メモリ管理装置及びメモリ管理装置を備えたプリンタ
JP4612231B2 (ja) 印刷システム
JPH0452729A (ja) プリンタ制御装置
JPH0452728A (ja) プリンタ制御装置
JP2006099220A (ja) 印刷システム、印刷制御装置、プリンタドライバおよび印刷装置
JP3432141B2 (ja) 編集装置および編集方法並びに編集用制御プログラムを格納した記憶媒体
JPH02220863A (ja) プリンタ装置
JPH037359A (ja) メモリ領域の割り当て方式
JPH044171A (ja) プリンタ制御装置
JPH10305631A (ja) 印刷制御装置および方法
JP2006155307A (ja) 負荷分散処理を行う画像処理システム
JP2736549B2 (ja) 印刷装置
JPH02220864A (ja) プリンタ装置
JPH09146521A (ja) 出力制御装置及び方法
JPH06161688A (ja) プリンタ
JPH02220862A (ja) プリンタ装置
JPH0916348A (ja) 出力装置及びメモリ制御方法
JPH0999597A (ja) プリンタ