JPH0452728A - プリンタ制御装置 - Google Patents
プリンタ制御装置Info
- Publication number
- JPH0452728A JPH0452728A JP2155859A JP15585990A JPH0452728A JP H0452728 A JPH0452728 A JP H0452728A JP 2155859 A JP2155859 A JP 2155859A JP 15585990 A JP15585990 A JP 15585990A JP H0452728 A JPH0452728 A JP H0452728A
- Authority
- JP
- Japan
- Prior art keywords
- data
- area
- emulator
- 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
Links
- 238000012545 processing Methods 0.000 claims abstract description 69
- 238000000034 method Methods 0.000 claims description 50
- 239000008186 active pharmaceutical agent Substances 0.000 description 24
- 239000000872 buffer Substances 0.000 description 18
- 102100028284 Collagen alpha-1(XXVI) chain Human genes 0.000 description 16
- 101710113648 Collagen alpha-1(XXVI) chain Proteins 0.000 description 16
- 238000007726 management method Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 238000013500 data storage Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 6
- 102100032066 EMI domain-containing protein 1 Human genes 0.000 description 5
- 101710133019 EMI domain-containing protein 1 Proteins 0.000 description 5
- 238000004321 preservation Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000013523 data management Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 108091008695 photoreceptors Proteins 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は、複数のエミュレータを搭載したプリンタの制
御装置に関する。
御装置に関する。
(従来の技術)
最近、複数のホスト(ホストコンピュータなど)に接続
可能なプリンタが使用されている。通常、プリンタの印
字制御は、ホストコンピュータなどのホストから一定の
プロトコル(コマンド体系)すなわちフォーマットに従
ったコマンドを印字データと共に送ることによって行な
われる。このフォーマントは、現在、各社まちまちに決
められており、ホストとプリンタが異った7オーマツト
を利用した場合には、プリンタはホストから受信したデ
ータを解析できない。そこで、複数のホストに接続可能
なプリンタにおいては、複数種の7オーマツトに対応す
る機能(エミュレータ)を搭載していて、操作パネルで
の指定、または、ホストから送られてくるエミュレータ
指定のコマンドにより、指定されたエミュレータが実行
を開始する。
可能なプリンタが使用されている。通常、プリンタの印
字制御は、ホストコンピュータなどのホストから一定の
プロトコル(コマンド体系)すなわちフォーマットに従
ったコマンドを印字データと共に送ることによって行な
われる。このフォーマントは、現在、各社まちまちに決
められており、ホストとプリンタが異った7オーマツト
を利用した場合には、プリンタはホストから受信したデ
ータを解析できない。そこで、複数のホストに接続可能
なプリンタにおいては、複数種の7オーマツトに対応す
る機能(エミュレータ)を搭載していて、操作パネルで
の指定、または、ホストから送られてくるエミュレータ
指定のコマンドにより、指定されたエミュレータが実行
を開始する。
(発明が解決しようとする課題)
一般に、複数のホストに接続可能であって、多くのエミ
ュレータを搭載したプリンタにおいて、各々のエミュレ
ータが起動されている時には、メモリマツプやデータの
管理方法がそれぞれちがう。
ュレータを搭載したプリンタにおいて、各々のエミュレ
ータが起動されている時には、メモリマツプやデータの
管理方法がそれぞれちがう。
そのため、ホストで使用するアプリケーションを切り換
えるとき、プリンタのエミュレータの切換を指定すると
、従来は、切り換えたエミュレータのためにメモリの初
期化かおこなわれ、これによりプリンタにおけるそれ以
前の状態は失われていた。
えるとき、プリンタのエミュレータの切換を指定すると
、従来は、切り換えたエミュレータのためにメモリの初
期化かおこなわれ、これによりプリンタにおけるそれ以
前の状態は失われていた。
この初期化によるメモリのクリアは、−人でブリンクシ
ステムを利用している場合には問題はない。
ステムを利用している場合には問題はない。
しかし、特に複数のホストに接続さF′L複数のユーザ
ーが使用するシステムにおいては、エミュレータ切り換
え時に以前の状態(使用環境)を保持しておいた方がよ
いことがある。たとえば、複数のホストと1台のプリン
タが接続され、複数のユーザーがそれぞれ異なるエミュ
レータで使用していた場合を考える。1人がフォントを
ダウンロードして利用していた時に、他のユーザーがプ
リンタを使用するためエミュレータを切換えると、この
時点でダウンロードフォントのデータが消えてしまうの
で、最初のユーザーは、そのダウンロードフォントを用
いてプリントする場合に、エミュレータを切り換えるだ
けでなく、また最初からフォントをダウンロードしなお
さなければならない。
ーが使用するシステムにおいては、エミュレータ切り換
え時に以前の状態(使用環境)を保持しておいた方がよ
いことがある。たとえば、複数のホストと1台のプリン
タが接続され、複数のユーザーがそれぞれ異なるエミュ
レータで使用していた場合を考える。1人がフォントを
ダウンロードして利用していた時に、他のユーザーがプ
リンタを使用するためエミュレータを切換えると、この
時点でダウンロードフォントのデータが消えてしまうの
で、最初のユーザーは、そのダウンロードフォントを用
いてプリントする場合に、エミュレータを切り換えるだ
けでなく、また最初からフォントをダウンロードしなお
さなければならない。
さらに前に設定した値は、他のユーザーから割り込まれ
るたびに初期化され消えてしまう。
るたびに初期化され消えてしまう。
この様に複数のユーザが異なるエミュレータを利用した
場合に連続的な作業が中断されてしまうという問題があ
る。
場合に連続的な作業が中断されてしまうという問題があ
る。
そこで、本出願人は、別の出願において提案したプリン
タ制御装置では、エミュレータ切換えの際に、エミュレ
ータが処理の実行においてアクセスする第1のメモリに
おいて記憶している現在のエミュレータの使用環境を設
定するデータ(ダウンロードフォントデータなど)を別
のメモリに保存しておき、以前に使用していたエミュレ
ータに戻る切換の際に、その保存しておいたデータを復
帰させる。これにより、新たにフォントデータのダウン
ロードをしなくても、直ちに印字情報の処理を開始でき
る。しかも、他のユーザーの使用環境を破壊することは
ない。
タ制御装置では、エミュレータ切換えの際に、エミュレ
ータが処理の実行においてアクセスする第1のメモリに
おいて記憶している現在のエミュレータの使用環境を設
定するデータ(ダウンロードフォントデータなど)を別
のメモリに保存しておき、以前に使用していたエミュレ
ータに戻る切換の際に、その保存しておいたデータを復
帰させる。これにより、新たにフォントデータのダウン
ロードをしなくても、直ちに印字情報の処理を開始でき
る。しかも、他のユーザーの使用環境を破壊することは
ない。
ここで、エミュレータ処理のための第1のメモリとデー
タ保存のための第2のメモリとを同一のメモリ空間でエ
リアを割り当てて使用すると、データ保存のだめのエリ
アの境界を浮動的に設定でき、全体としてのメモリ容量
を少なくしてメモリを効率的に利用できると考えられる
。
タ保存のための第2のメモリとを同一のメモリ空間でエ
リアを割り当てて使用すると、データ保存のだめのエリ
アの境界を浮動的に設定でき、全体としてのメモリ容量
を少なくしてメモリを効率的に利用できると考えられる
。
しかし、エミュレータ切換えの際に、保存するべきデー
タの量が多いと、新しいエミュレータの実行のために必
要なエリアが確保できないことがありうる。しかし、エ
リアが確保出来ない場合でも、通常未必要なエリアのサ
イズよりも小さいエリアで実行できることがある。この
ような場合、一部の機能に制限はでるとしても、エミュ
レータ切り換えを優先したい場合がある。
タの量が多いと、新しいエミュレータの実行のために必
要なエリアが確保できないことがありうる。しかし、エ
リアが確保出来ない場合でも、通常未必要なエリアのサ
イズよりも小さいエリアで実行できることがある。この
ような場合、一部の機能に制限はでるとしても、エミュ
レータ切り換えを優先したい場合がある。
本発明の目的は、複数のエミュレータを搭載したプリン
タにおいて、エミュレータ切換えの際に、エミュレータ
が処理の実行において使用するメモリエリアとデータ保
存のだめのエリアを共通化したプリンタ制御装置を提供
することである。
タにおいて、エミュレータ切換えの際に、エミュレータ
が処理の実行において使用するメモリエリアとデータ保
存のだめのエリアを共通化したプリンタ制御装置を提供
することである。
(課題を解決するための手段)
本発明に係るプリンタ制御装置は、それぞれ異なったプ
ロトコルを処理する複数のエミュレータを備えたプリン
タにおいて、使用環境を設定するデータの記憶エリアや
ワークエリアとしてエミュレータが処理の実行において
アクセスする第1記憶エリアとデータ保存のだめの第2
記憶エリアとから構成される記憶手段と、記憶手段の使
用状況を判定する判定手段と、エミュレータ切換の指示
を受け取るデータ入力手段と、データ入力手段からエミ
ュレータ切換指示を受け取ると、指示されたエミュレー
タに切換える一方、第1記憶エリアに記憶したデータの
中の元のエミュレータの使用環境を設定するデータを第
2記憶エリアに保存し、切り換えられたエミュレータの
ための保存データが第2記憶エリアに記憶してあった場
合にその保存データを第1記憶エリアに復帰し、判定手
段が新しく指示されたエミュレータの実行に必要な通常
の大きさのエリアを確保できないと判定すると、そのエ
ミュレータの実行条件を記憶手段のエリア構成について
制限するエミュレータ切換手段を備えたことを特徴とす
る。
ロトコルを処理する複数のエミュレータを備えたプリン
タにおいて、使用環境を設定するデータの記憶エリアや
ワークエリアとしてエミュレータが処理の実行において
アクセスする第1記憶エリアとデータ保存のだめの第2
記憶エリアとから構成される記憶手段と、記憶手段の使
用状況を判定する判定手段と、エミュレータ切換の指示
を受け取るデータ入力手段と、データ入力手段からエミ
ュレータ切換指示を受け取ると、指示されたエミュレー
タに切換える一方、第1記憶エリアに記憶したデータの
中の元のエミュレータの使用環境を設定するデータを第
2記憶エリアに保存し、切り換えられたエミュレータの
ための保存データが第2記憶エリアに記憶してあった場
合にその保存データを第1記憶エリアに復帰し、判定手
段が新しく指示されたエミュレータの実行に必要な通常
の大きさのエリアを確保できないと判定すると、そのエ
ミュレータの実行条件を記憶手段のエリア構成について
制限するエミュレータ切換手段を備えたことを特徴とす
る。
(作用)
エミュレータが処理の実行においてアクセスする第1記
憶エリアには、エミュレータの使用環境を設定するデー
タも記憶される。たとえば、文字印字を中心とした処理
を行なうエミュレータにおいてダウンロードされる7オ
ントデータがそのようなデータである。他のエミュレー
タからこのエミュレータに切り換えたときは、このダウ
ンロードフォントデータがだい2記憶エリアに保存して
あれば、そのデータを第1記憶エリアに復帰すれば、直
ちに印字情報の処理が実行できる。そこで、ホストコン
ピュータや操作パネルなどからエミュレータ切換指示を
データ入力手段が受け取ると、エミュレータ切換手段は
、第2記憶エリアに現在のエミュレータの使用環境を設
定するデータを保存する。また、エミュレータ切換手段
は、指示されたエミュレータのための保存データを第2
記憶エリアから第1記憶エリアに復帰する。
憶エリアには、エミュレータの使用環境を設定するデー
タも記憶される。たとえば、文字印字を中心とした処理
を行なうエミュレータにおいてダウンロードされる7オ
ントデータがそのようなデータである。他のエミュレー
タからこのエミュレータに切り換えたときは、このダウ
ンロードフォントデータがだい2記憶エリアに保存して
あれば、そのデータを第1記憶エリアに復帰すれば、直
ちに印字情報の処理が実行できる。そこで、ホストコン
ピュータや操作パネルなどからエミュレータ切換指示を
データ入力手段が受け取ると、エミュレータ切換手段は
、第2記憶エリアに現在のエミュレータの使用環境を設
定するデータを保存する。また、エミュレータ切換手段
は、指示されたエミュレータのための保存データを第2
記憶エリアから第1記憶エリアに復帰する。
さらに、判定手段が、記憶手段の使用状況を判定する。
すなわち、判定手段は、保存すべきデータの大きさ、復
帰すべきデータの大きさ、エミュレータか処理の実行の
ために確保すべきエリアの大きさなどをチエツクする。
帰すべきデータの大きさ、エミュレータか処理の実行の
ために確保すべきエリアの大きさなどをチエツクする。
エミュレータ切換手段は、判定手段が、新しく選択され
たエミュ一タの処理の実行のだめの通常のエリアの大き
さが確保できないと判断すると、そのエリアの大きさを
通常の大きさより小さく制限する。
たエミュ一タの処理の実行のだめの通常のエリアの大き
さが確保できないと判断すると、そのエリアの大きさを
通常の大きさより小さく制限する。
たとえば、処理時の効率を上げるためのキャッシュエリ
アはある程度大きさを制限してもプログラムの実行上の
問題がないので、キャッシュエリアを制限する。また、
ドツトイメージを描画するだめのビットマツプエリアの
大きさを制限して、印字すべきペーパーのサイズを(た
とえばA4サイズからB5サイズに)制限する。これに
より、元のエミュレータの必要なデータを確保しつつ、
新しく選択されたエミュレータの実行を確保する。
アはある程度大きさを制限してもプログラムの実行上の
問題がないので、キャッシュエリアを制限する。また、
ドツトイメージを描画するだめのビットマツプエリアの
大きさを制限して、印字すべきペーパーのサイズを(た
とえばA4サイズからB5サイズに)制限する。これに
より、元のエミュレータの必要なデータを確保しつつ、
新しく選択されたエミュレータの実行を確保する。
以下余白
(実施例)
以下、本発明の実施例を図面を参照しつつ説明する。
(a)プリンタの全体構成
第1図は本発明に係るレーザプリンタ1の外観を示す斜
視図である。
視図である。
レーザプリンタlは、電子写真プロセスによる画像形成
のための、感光体、現像器、露光用のレーザー光学系、
及び後述する画像データ処理部lOなどを備えたプリン
トエンジン4と、自動給紙ユニット5及びソータ6から
なる。自動給紙ユニット5には、上段給紙力セット51
中段給紙カセット52および下段給紙カセット53が、
装着されており、これらの中の1つの給紙カセットから
用紙がプリントエンジン4に供給される。
のための、感光体、現像器、露光用のレーザー光学系、
及び後述する画像データ処理部lOなどを備えたプリン
トエンジン4と、自動給紙ユニット5及びソータ6から
なる。自動給紙ユニット5には、上段給紙力セット51
中段給紙カセット52および下段給紙カセット53が、
装着されており、これらの中の1つの給紙カセットから
用紙がプリントエンジン4に供給される。
プリントエンジン4の上部前面には、ユーザーによる操
作のための操作パネル44が設けられている。
作のための操作パネル44が設けられている。
第2図は、操作パネル44の正面図である。
7セグメントLEDのPr1nter Status
表示3Iは、レーザプリンタlの動作状態(エラー表示
を含む)をコード表示する。サイズ指定キー35は、用
紙を供給する給紙カセット51〜53の中の1つを選択
するために設けられ、選択された給紙力セントに収納さ
れている用紙のサイズに応じてサイズ表示LEDが点灯
される。37は初期化のためのリセットキー、38はテ
スト印字のためのテストキー、39は内部の画像データ
を排出するためのフオームフィードキーである。
表示3Iは、レーザプリンタlの動作状態(エラー表示
を含む)をコード表示する。サイズ指定キー35は、用
紙を供給する給紙カセット51〜53の中の1つを選択
するために設けられ、選択された給紙力セントに収納さ
れている用紙のサイズに応じてサイズ表示LEDが点灯
される。37は初期化のためのリセットキー、38はテ
スト印字のためのテストキー、39は内部の画像データ
を排出するためのフオームフィードキーである。
オンラインキー40は各部の処理を一時停止させるため
に設けられ、処理が停止すると表示LED40aは消灯
する。
に設けられ、処理が停止すると表示LED40aは消灯
する。
さらに、41は、エミュレータを選択するためのエミュ
レータ選択キーであり、キー41の押下により表示31
に表示された数字に対応するエミュレータが選択される
。
レータ選択キーであり、キー41の押下により表示31
に表示された数字に対応するエミュレータが選択される
。
第3図はレーザプリンタ1の画像データ処理部10の構
成を示すブロック図である。画像データ処理部10は、
画像データ処理部10の全体の動作を制御するマイクロ
コンピュータからなるCPU(中央九理装置月1、処理
のプログラムを記憶するプログラムROM12、操作パ
ネル44と接続された操作パネルインターフェイス13
、後述するようにビットマツプメモリとして用いられ且
つ各種のデータが格納されるRAM17、予め所定のフ
ォントデータが書き込まれたフォントROM18、これ
らのRAM17及び7オントROM18を制御するメモ
リコントローラ14、外部装置としてのホストコンピュ
ータ(以下「ホスト」という)に接続された外部インタ
ーフェイス15、デイツプスイッチ19、及び、プリン
トエンジン4において電子写真プロセスを制御するプリ
ントエンジン制御部に接続されたプリントエンジンイン
ターフェイス16から構成されている。
成を示すブロック図である。画像データ処理部10は、
画像データ処理部10の全体の動作を制御するマイクロ
コンピュータからなるCPU(中央九理装置月1、処理
のプログラムを記憶するプログラムROM12、操作パ
ネル44と接続された操作パネルインターフェイス13
、後述するようにビットマツプメモリとして用いられ且
つ各種のデータが格納されるRAM17、予め所定のフ
ォントデータが書き込まれたフォントROM18、これ
らのRAM17及び7オントROM18を制御するメモ
リコントローラ14、外部装置としてのホストコンピュ
ータ(以下「ホスト」という)に接続された外部インタ
ーフェイス15、デイツプスイッチ19、及び、プリン
トエンジン4において電子写真プロセスを制御するプリ
ントエンジン制御部に接続されたプリントエンジンイン
ターフェイス16から構成されている。
ここに、デイツプスイッチ19は、ユーザーが設定する
プリンタ動作方法のデフォルト値を決めるために設(す
られる。ユーザーは、あらかじめ自分が使用するエミュ
レータ、ペーパーサイズ、通信速度、メモリサイズなど
をデイツプスイッチ19に設定することができる。後述
のエミュレータ切換の場合のメモリ容量不足の場合のデ
ータ保存優先かデータ放棄優先(エミュレータ切換優先
)かの取り扱いの選択もデイツプスイッチ19により設
定される。この情報は、電源投入とともに読み込まれ、
デフォルト値の設定が行われる。エミュレータ切換優先
の場合は、gard fdataフラグが0に設定され
、エミュレータ切換放棄優先の場合は、そのフラグが1
に設定される(第24図(a) 584〜S86参照)
。
プリンタ動作方法のデフォルト値を決めるために設(す
られる。ユーザーは、あらかじめ自分が使用するエミュ
レータ、ペーパーサイズ、通信速度、メモリサイズなど
をデイツプスイッチ19に設定することができる。後述
のエミュレータ切換の場合のメモリ容量不足の場合のデ
ータ保存優先かデータ放棄優先(エミュレータ切換優先
)かの取り扱いの選択もデイツプスイッチ19により設
定される。この情報は、電源投入とともに読み込まれ、
デフォルト値の設定が行われる。エミュレータ切換優先
の場合は、gard fdataフラグが0に設定され
、エミュレータ切換放棄優先の場合は、そのフラグが1
に設定される(第24図(a) 584〜S86参照)
。
プログラムROM12内には、ホストから送られてくる
文字データおよび複数のコマンドを解析し実行するプロ
グラム(エミュレータ)が収められている。すなわち、
本プリンタは、数種のフォーマットに対応する機能(エ
ミュレータ)を持っており、操作パネル44での指定、
あるいはホストから送られるコマンドにより、各エミュ
レータが対応を開始する。
文字データおよび複数のコマンドを解析し実行するプロ
グラム(エミュレータ)が収められている。すなわち、
本プリンタは、数種のフォーマットに対応する機能(エ
ミュレータ)を持っており、操作パネル44での指定、
あるいはホストから送られるコマンドにより、各エミュ
レータが対応を開始する。
メモリコントローラ14は、ホストから外部インターフ
ェイス15を介して画像データが入力されると、この画
像データに基づいて、後述するRAM17内のビットマ
ツプエリアBMにイメージデータの描画を行う。イメー
ジデータの描画には、線や円などの図形描画と、フォン
トROM18又はRAM17からのフォントデータの読
み出しにより行われるフォント描画とがある。
ェイス15を介して画像データが入力されると、この画
像データに基づいて、後述するRAM17内のビットマ
ツプエリアBMにイメージデータの描画を行う。イメー
ジデータの描画には、線や円などの図形描画と、フォン
トROM18又はRAM17からのフォントデータの読
み出しにより行われるフォント描画とがある。
また、プリント(印字)動作時において、メモリコント
ローラ14は、ホストから送られてくるプリント開始コ
ードに対応して、プリントエンジン4内のプリントエン
ジン制御部からの同期信号に従って、RAM17内のビ
ットマツプエリアBMからイメージデータを画素の配列
順に読み出し、プリントエンジン制御部へ出力する。
ローラ14は、ホストから送られてくるプリント開始コ
ードに対応して、プリントエンジン4内のプリントエン
ジン制御部からの同期信号に従って、RAM17内のビ
ットマツプエリアBMからイメージデータを画素の配列
順に読み出し、プリントエンジン制御部へ出力する。
プリントエンジン制御部では、このイメージデータに応
じてレーザ光源の点滅を行って感光体上に潜像を形成す
る公知の電子写真プロセスにより、自動給紙ユニット5
から供給される用紙に、用紙の周囲に余白を設けた所定
のイメージサイズの画像を形成する制御が行われる。
じてレーザ光源の点滅を行って感光体上に潜像を形成す
る公知の電子写真プロセスにより、自動給紙ユニット5
から供給される用紙に、用紙の周囲に余白を設けた所定
のイメージサイズの画像を形成する制御が行われる。
フォントROM18(第10図参照)内のフォントデー
タには、文字や記号の形をドットパターンとしてイメー
ジのとおりに表すパターン7オントデータと、文字など
輪郭のみを表すアウトラインフォント(ベクトル)オン
ト)データやデータ長の短縮を図った圧縮フォントデー
タなどからなるコード7オントデータ(内部1次データ
)とがある。
タには、文字や記号の形をドットパターンとしてイメー
ジのとおりに表すパターン7オントデータと、文字など
輪郭のみを表すアウトラインフォント(ベクトル)オン
ト)データやデータ長の短縮を図った圧縮フォントデー
タなどからなるコード7オントデータ(内部1次データ
)とがある。
アウトラインフォントデータを印字に用いると、高品位
の変形文字や拡大文字などを含む画像を容易に形成する
ことができる。
の変形文字や拡大文字などを含む画像を容易に形成する
ことができる。
また、プリントに7オントROM18内のフォントデー
タ以外のフォントが必要な場合には、ホストからパター
ンフォントデータ又はコードフォントデータからなる必
要なフォントデータ(外部1次データ)が、RAM17
ヘダウンロードされる(第8図、第11図参照)。
タ以外のフォントが必要な場合には、ホストからパター
ンフォントデータ又はコードフォントデータからなる必
要なフォントデータ(外部1次データ)が、RAM17
ヘダウンロードされる(第8図、第11図参照)。
コードフォントデータに基づいて、RAM17のビット
マツプエリアに描画するときには、塗り潰しやドツト数
の計算などの演算処理が必要となり、描画速度が低下す
る。そこで、描画速度を高めるため、CPU11により
、プリント動作の開始前などの待機時間を利用してフォ
ント変換処理が行われ、前もってコードフォントデータ
(内部又は外部1次データ)をパターンフォントデータ
に変換し、これを2次データとしてRAM17(第11
1mのキャッンユエリアなど)に格納しておくことがあ
る。
マツプエリアに描画するときには、塗り潰しやドツト数
の計算などの演算処理が必要となり、描画速度が低下す
る。そこで、描画速度を高めるため、CPU11により
、プリント動作の開始前などの待機時間を利用してフォ
ント変換処理が行われ、前もってコードフォントデータ
(内部又は外部1次データ)をパターンフォントデータ
に変換し、これを2次データとしてRAM17(第11
1mのキャッンユエリアなど)に格納しておくことがあ
る。
(c)RAMの構成とエミュレータ
第4図は、RAM17のメモリエリアMAの構成を示す
。メモリエリアMAは単数又は複数のRAMチップによ
り構成される。メモリエリアMAは、1つのアドレス系
によりアクセス可能なメモリ空間であり、格納されるデ
ータの種類から見て、CPUIIが行なう各部の制御の
ためのシステムエリアSA、画像データに関するユーザ
ーエリアUA、 及び、ダウンロードフォントデータな
と゛をエミュレータ切り換え時に保存するデータセーブ
エリアDSに分けられる。
。メモリエリアMAは単数又は複数のRAMチップによ
り構成される。メモリエリアMAは、1つのアドレス系
によりアクセス可能なメモリ空間であり、格納されるデ
ータの種類から見て、CPUIIが行なう各部の制御の
ためのシステムエリアSA、画像データに関するユーザ
ーエリアUA、 及び、ダウンロードフォントデータな
と゛をエミュレータ切り換え時に保存するデータセーブ
エリアDSに分けられる。
システムエリアSAやユーザエリアUAは、その目的に
より、さらに細分化されて利用されるが、その内訳はエ
ミュレータか起動されるごとに変化する。これは各エミ
ュレータにおいてプリンタコマンドがその構造や機能が
異なるためであり、エミュレータプログラムもそれを反
映した形になり、メモリの利用目的もエミュレータごと
に変わる。
より、さらに細分化されて利用されるが、その内訳はエ
ミュレータか起動されるごとに変化する。これは各エミ
ュレータにおいてプリンタコマンドがその構造や機能が
異なるためであり、エミュレータプログラムもそれを反
映した形になり、メモリの利用目的もエミュレータごと
に変わる。
なおユーザエリアUAと、データセーブエリアDSのア
ドレスは、後で説明するように、エミュレータが起動さ
れると変化する。
ドレスは、後で説明するように、エミュレータが起動さ
れると変化する。
なお、RAMチップを増設してゆくことにより、ユーザ
エリアUAとデータセーブエリアDSを拡張することも
できる。
エリアUAとデータセーブエリアDSを拡張することも
できる。
次に、具体的に2つのエミュレータのメモリ空間につい
て説明する。ここでは、2つのエミュレータをEMUl
、EMU2と呼ぶ。
て説明する。ここでは、2つのエミュレータをEMUl
、EMU2と呼ぶ。
はじめに、エミュレータEMUIの場合のメモリ空間に
ついて説明する。
ついて説明する。
EMUIは、キャラクタの印字を中心とした処理を行な
うエミュレータであり、文字印字の際にはフォントRO
M18のパターンフォントデータ181のみを使用する
。内部での情報管理は主にキャラクタ単位に行なわれ、
文字情報、印字制御コマンドとともに画定フオーマット
に従い中間コードと呼ばれるコードに変換される。描画
時にはこの中間コードの情報をもとに処理を行なう。
うエミュレータであり、文字印字の際にはフォントRO
M18のパターンフォントデータ181のみを使用する
。内部での情報管理は主にキャラクタ単位に行なわれ、
文字情報、印字制御コマンドとともに画定フオーマット
に従い中間コードと呼ばれるコードに変換される。描画
時にはこの中間コードの情報をもとに処理を行なう。
一方、EMU2は図形処理を中心とした処理を行なうエ
ミュレータであり、内部では座標データを中心とした画
像データを管理する。文字の場合も、画像データに近い
形で扱われ、最終的には画像データと同じ管理データに
まで分解される。文字印字の際は、フォントROM18
のコード7オントデータ182のみを使用する。コード
7オントデータ182は文字の輪郭情報か集められたも
のであり基本的には図形を描画する情報に近いものであ
る。
ミュレータであり、内部では座標データを中心とした画
像データを管理する。文字の場合も、画像データに近い
形で扱われ、最終的には画像データと同じ管理データに
まで分解される。文字印字の際は、フォントROM18
のコード7オントデータ182のみを使用する。コード
7オントデータ182は文字の輪郭情報か集められたも
のであり基本的には図形を描画する情報に近いものであ
る。
EMUlでは、第5図に示す様にRAMl7のメモリ配
置が行なわれる。RAM17のシステムエリアSAには
、CPUIIによる演算処理のためのパラメータなどを
格納するパラメータエリアSAa、ホストから入力され
た各種の制御のための命令フードに対応する中間コード
を格納するP−バッファエリアSAb、及びホストとの
通信用のR−バッファエリアSAcが設けられる。
置が行なわれる。RAM17のシステムエリアSAには
、CPUIIによる演算処理のためのパラメータなどを
格納するパラメータエリアSAa、ホストから入力され
た各種の制御のための命令フードに対応する中間コード
を格納するP−バッファエリアSAb、及びホストとの
通信用のR−バッファエリアSAcが設けられる。
EMUlでは、パラメータエリアSAaにはプログラム
全体を管理するための情報が記憶される(ディレクトリ
管理)。その内部は、第6図に示すように、さらにいく
つかのブロックに分けられて、管理を行なう。たとえば
エミュレータの現在の動作情報を保存するエミュレータ
管理ブロック5Aalや、ダウンロードフォントなどの
情報を管理するダウンロードデータ管理ブロック5Aa
2、データセーブエリアDSの使用情報を管理するデー
タセーブエリア管理ブロック5Aa3、画像情報全体(
たとえば中間コードやテーブルエリアのデータも)を管
理する画像情報管理ブロック5Aa4などのいくつかの
ブロックが設けられる。
全体を管理するための情報が記憶される(ディレクトリ
管理)。その内部は、第6図に示すように、さらにいく
つかのブロックに分けられて、管理を行なう。たとえば
エミュレータの現在の動作情報を保存するエミュレータ
管理ブロック5Aalや、ダウンロードフォントなどの
情報を管理するダウンロードデータ管理ブロック5Aa
2、データセーブエリアDSの使用情報を管理するデー
タセーブエリア管理ブロック5Aa3、画像情報全体(
たとえば中間コードやテーブルエリアのデータも)を管
理する画像情報管理ブロック5Aa4などのいくつかの
ブロックが設けられる。
第7図に示すように、データセーブエリアDSは、デー
タ保存エリアDSaとエミュレータ情報保存エリアDS
bとからなるデータ保存エリアDSaは、後に詳しく説
明するように、エミュレータ切換時に外部1次データな
どを保存、復帰するにめのエリアである(第21図55
56〜563参照)。
タ保存エリアDSaとエミュレータ情報保存エリアDS
bとからなるデータ保存エリアDSaは、後に詳しく説
明するように、エミュレータ切換時に外部1次データな
どを保存、復帰するにめのエリアである(第21図55
56〜563参照)。
また、パラメータエリアの上述のエミュレータ情報管理
ブロック5Aalの内容は、エミュレータが切り換えら
れる時、データセーブエリアDS内のエミュレータ情報
保存エリアDSbにコピーされる(第21図5551参
照)。そして、次に再び元のエミュレータが起動された
時、エミュレータ情報保存エリアDSbからエミュレー
タ情報管理ブロックSAa lにコピーされる(第21
図5565参照)。
ブロック5Aalの内容は、エミュレータが切り換えら
れる時、データセーブエリアDS内のエミュレータ情報
保存エリアDSbにコピーされる(第21図5551参
照)。そして、次に再び元のエミュレータが起動された
時、エミュレータ情報保存エリアDSbからエミュレー
タ情報管理ブロックSAa lにコピーされる(第21
図5565参照)。
このコピーは現在のエミュレータの動作情報(使用環境
)を保存しておくために行なう作業であるが、データセ
ーブエリアDS内に保存エリアDSbを置かずにパラメ
ータエリアSAa内に置いてもよい。
)を保存しておくために行なう作業であるが、データセ
ーブエリアDS内に保存エリアDSbを置かずにパラメ
ータエリアSAa内に置いてもよい。
一方、ユーザー二リアUAには、第8図に示すように、
プリントの必要に応じてホストからダウンロードされた
パターンデータを格納するフォントロードエリアFLと
、イメージデータを描画する仮想画面としてのビットマ
ツプエリアBMとが割り当てられる。ただし、EMU
lではパターンフォントデータのみを扱い、コードフォ
ントは使わない。
プリントの必要に応じてホストからダウンロードされた
パターンデータを格納するフォントロードエリアFLと
、イメージデータを描画する仮想画面としてのビットマ
ツプエリアBMとが割り当てられる。ただし、EMU
lではパターンフォントデータのみを扱い、コードフォ
ントは使わない。
第9図に示すように、ダウンロードの際、フォントRO
M18からのパターンフォントデータがユーザー二リア
UAの端から順に格納されてゆく(斜線部)。これは7
オントロードエリアFLを使い切るまで可能であるが、
データがエリア内で一杯になると、後Iニダウンロード
されたデータは捨てられる。一方、ビットマツプエリア
BMは、ユーザー二リアUAの反対側の端から使用され
る。
M18からのパターンフォントデータがユーザー二リア
UAの端から順に格納されてゆく(斜線部)。これは7
オントロードエリアFLを使い切るまで可能であるが、
データがエリア内で一杯になると、後Iニダウンロード
されたデータは捨てられる。一方、ビットマツプエリア
BMは、ユーザー二リアUAの反対側の端から使用され
る。
なお、図かられかるように、ユーザーエリアにおいて、
フォントロードエリアFLとビットマツプエリアBMと
は、メモリ空間を共通化していて、その破線で示す境界
は浮動的である。
フォントロードエリアFLとビットマツプエリアBMと
は、メモリ空間を共通化していて、その破線で示す境界
は浮動的である。
第1O図は、フォントROM18の構成を示す。
EMUIではパターンフォントデータ181のみを利用
し、コードフォントデータ182は全く使用しない。
し、コードフォントデータ182は全く使用しない。
次に、EMU2の場合のメモリ空間について説明する。
EMU2では、第11図の様にシステムエリアSAとユ
ーザー二リアUAが配置される。
ーザー二リアUAが配置される。
さらに、データセーブエリアDSは第7図と同様に配置
される。
される。
システムエリアSAには、EMUlと同様にパラメータ
を格納するパラメータエリアSAaとホストとの通信用
のR−バッファSAcが設けられる他、テーブルエリア
SAbが設けられる。
を格納するパラメータエリアSAaとホストとの通信用
のR−バッファSAcが設けられる他、テーブルエリア
SAbが設けられる。
EMU2の場合には、すでに第6図に示したように、パ
ラメータエリアSAaに、さらに画像情報保存ブロック
5Aa5が作られる。これは、印字制御コマンドや、テ
ーブルエリアSA、bに保存される座標データなどが作
られる以前の情報を保存しておくエリアであり、解析途
中もしくは解析前のデータを保存する。ダウンロードフ
ォントデータなどもこのエリアSAa 5に蓄えられる
。それゆえ、7オントロードユリアFLはこのエリアの
一部に対応することになる。このエリアは画像情報管理
ブロック5Aa4によって管理される。
ラメータエリアSAaに、さらに画像情報保存ブロック
5Aa5が作られる。これは、印字制御コマンドや、テ
ーブルエリアSA、bに保存される座標データなどが作
られる以前の情報を保存しておくエリアであり、解析途
中もしくは解析前のデータを保存する。ダウンロードフ
ォントデータなどもこのエリアSAa 5に蓄えられる
。それゆえ、7オントロードユリアFLはこのエリアの
一部に対応することになる。このエリアは画像情報管理
ブロック5Aa4によって管理される。
このように、フォントをダウンロードした場合は、EM
UIの場合と異なり、パラメータエリアSAaの内部に
フォントデータが収められる。これはフォントデータを
グラフィックなどの画像データと同一に扱うためであり
、画像を生成するためのパラメータも、このパラメータ
エリアSAa内部に収められる。
UIの場合と異なり、パラメータエリアSAaの内部に
フォントデータが収められる。これはフォントデータを
グラフィックなどの画像データと同一に扱うためであり
、画像を生成するためのパラメータも、このパラメータ
エリアSAa内部に収められる。
EMU2では、コードフォントのみを使用し、パターン
フォントデータは扱われないので、ROM18からはコ
ード7オントデータ182のみを読み込み、フォントロ
ードエリアFLにはコードフォントデータのみが収めら
れる。
フォントデータは扱われないので、ROM18からはコ
ード7オントデータ182のみを読み込み、フォントロ
ードエリアFLにはコードフォントデータのみが収めら
れる。
EMU2では中間コードは使用しないので、EMUIの
場合のような中間コードを格納するP−バッファエリア
SAbは設けない。その代わりに、第12図に示すよう
なテーブルエリアSAbが設けられ、画像データを描画
する上で必要となる座標データ、もしくは座標データを
生成する過程で作られる中間データ、もしくはプログラ
ムを管理する上で必要なアドレス情報か集められ管理さ
れる。また画像情報は分解されていくつものテーブルに
分けられるので、これら複数のテーブルを指すポインタ
(アドレス)を集めた、テーブルを管理するt:めのテ
ーブル管理テーブルがさらに作られる。これらも同様に
テーブルエリアSAb内に置かれる。
場合のような中間コードを格納するP−バッファエリア
SAbは設けない。その代わりに、第12図に示すよう
なテーブルエリアSAbが設けられ、画像データを描画
する上で必要となる座標データ、もしくは座標データを
生成する過程で作られる中間データ、もしくはプログラ
ムを管理する上で必要なアドレス情報か集められ管理さ
れる。また画像情報は分解されていくつものテーブルに
分けられるので、これら複数のテーブルを指すポインタ
(アドレス)を集めた、テーブルを管理するt:めのテ
ーブル管理テーブルがさらに作られる。これらも同様に
テーブルエリアSAb内に置かれる。
ユーザーエリアUAは、第11図に示すように、複数の
エリアに分割され利用される。大部分はイメージデータ
を描画する仮想画面としてのビットマツプエリアBMを
使用するが、他のエリアは描画処理を高速化するための
キャッシュエリアFC。
エリアに分割され利用される。大部分はイメージデータ
を描画する仮想画面としてのビットマツプエリアBMを
使用するが、他のエリアは描画処理を高速化するための
キャッシュエリアFC。
CAなどに割りあてられる。
キャッシュエリアには、フォントキャッンユエリアFC
とハーフトーンなどのキャッシュエリアCAがある。E
MU2は、図形処理を頻繁Iこ行なうエミュレータであ
るか、図形データのパラメータからビットマツプ形式へ
のハーフトーンなどのパターンデータに展開処理するに
は非常に時間がかかる。このため、1度展開したハーフ
トーンなどのパターンデータをキャッシュエリアCAに
保存し、同じパターンを使用する時にキャッシュエリア
CAからパターンデータを直接コピーする。
とハーフトーンなどのキャッシュエリアCAがある。E
MU2は、図形処理を頻繁Iこ行なうエミュレータであ
るか、図形データのパラメータからビットマツプ形式へ
のハーフトーンなどのパターンデータに展開処理するに
は非常に時間がかかる。このため、1度展開したハーフ
トーンなどのパターンデータをキャッシュエリアCAに
保存し、同じパターンを使用する時にキャッシュエリア
CAからパターンデータを直接コピーする。
(わざわざ、図形パラメーターから展開しなおさない。
)まt二、フォントの場合にはフォントキャッシュエリ
アFCに各文字(たとえばA−Z)のデータを保存する
。この時のデータは前に述べた2次フォントデータ(パ
ターンフォントデータ)に対応している。
アFCに各文字(たとえばA−Z)のデータを保存する
。この時のデータは前に述べた2次フォントデータ(パ
ターンフォントデータ)に対応している。
また、ユーザーエリアUAのワーキングバッファエリア
WBは、複雑な図形処理、たとえば、ハーフトーン処理
、クリッピング処理、重ねあわせ処理を行なう場合に、
−時的な作業を行なうt:めのエリアである。その処理
を行なう時には、このエリアWB上で1度図形を作成し
、その後に、ビットマツプエリ78M上にコピーする。
WBは、複雑な図形処理、たとえば、ハーフトーン処理
、クリッピング処理、重ねあわせ処理を行なう場合に、
−時的な作業を行なうt:めのエリアである。その処理
を行なう時には、このエリアWB上で1度図形を作成し
、その後に、ビットマツプエリ78M上にコピーする。
(d)エミュレータ切換とメモリ管理
多くのエミュレータを搭載したプリンタにおいて、複数
のユーザーが異なるエミュレータ(アプリケーションプ
ログラム)で使用する場合に、エミュレータを切換える
時、以前に設定した使用環境をメモリに保存し各ユーザ
ーの連続的な使用を可能にするために、エミュレータ切
換時に、使用環境設定のために必要なデータをメモリに
保存する(第21図参照)。
のユーザーが異なるエミュレータ(アプリケーションプ
ログラム)で使用する場合に、エミュレータを切換える
時、以前に設定した使用環境をメモリに保存し各ユーザ
ーの連続的な使用を可能にするために、エミュレータ切
換時に、使用環境設定のために必要なデータをメモリに
保存する(第21図参照)。
第13図は、エミュレータをEMUIからEMU2に切
り換え、次に再びEMU]に戻しt:場合のメモリエリ
アの構成を示す。EMUlからEMU2への切り換えに
おいては、EMUIのユーザー二リアUAのフォントロ
ードエリアFLにダウンロードされていた7オントデー
タ(斜線部)を、前述したデータセーブエリアDSに保
存しておく。
り換え、次に再びEMU]に戻しt:場合のメモリエリ
アの構成を示す。EMUlからEMU2への切り換えに
おいては、EMUIのユーザー二リアUAのフォントロ
ードエリアFLにダウンロードされていた7オントデー
タ(斜線部)を、前述したデータセーブエリアDSに保
存しておく。
そして、ふたたび現在のエミュレータEMU1に戻った
時に、データセーブエリアに保存していたダウンロード
フォントデータ(斜線部)をフォントロードエリアPL
に復帰させる。これにより、ユーザーは、外部フォント
データを読み込まなくても直ちにアプリケーションプロ
グラムを実行できる。なお、説明を簡単にするため、先
に説明したエミュレータ情報データの保存と復帰につい
ては、図示と説明を省略した。
時に、データセーブエリアに保存していたダウンロード
フォントデータ(斜線部)をフォントロードエリアPL
に復帰させる。これにより、ユーザーは、外部フォント
データを読み込まなくても直ちにアプリケーションプロ
グラムを実行できる。なお、説明を簡単にするため、先
に説明したエミュレータ情報データの保存と復帰につい
ては、図示と説明を省略した。
このEMU2の場合などでは、ダウンロードされたコー
ドデータ(外部1次データ)があれば元の使用環境に復
帰できるので、エミュレータ切換えの際に、1次データ
のみを保存し、2次データは捨ててもよい。
ドデータ(外部1次データ)があれば元の使用環境に復
帰できるので、エミュレータ切換えの際に、1次データ
のみを保存し、2次データは捨ててもよい。
さらに第14図に示すように、エミュレータを切り換え
た時、データセーブエリアDSに空きが出ない様にして
、次のエミュレータで使用するエリアを拡張する。たと
えば前に説明したEMUIからEMU2に切り換える時
にフォントロードエリアFLからデータセーブエリアD
Sに保存する。
た時、データセーブエリアDSに空きが出ない様にして
、次のエミュレータで使用するエリアを拡張する。たと
えば前に説明したEMUIからEMU2に切り換える時
にフォントロードエリアFLからデータセーブエリアD
Sに保存する。
この時に使用済みエリア(斜線部)のみをデータセーブ
エリアDSとし、その他の余った空間をユーザエリアU
AとシステムエリアSAに割りあてる。これによりメモ
リ利用の効率化が図れる(第22図55554〜555
57.第21図3566参照)。
エリアDSとし、その他の余った空間をユーザエリアU
AとシステムエリアSAに割りあてる。これによりメモ
リ利用の効率化が図れる(第22図55554〜555
57.第21図3566参照)。
ただし、第15図に示す様にデータセーブエリアDSの
大きさによっては、次のエミュレータで使用するユーザ
ーエリアUAについて、必ずしも通常の大きさが確保で
きない場合もある。たとえば(a)の場合の様に、保存
すべきデータ(斜線部)が少ないためユーザー二リアU
Aが通常の大きさより大きくとれる場合には問題かない
が、(b)の場合の様にデータセーブエリアDSが大き
いためユーザー二リアUAにおいてキャッシュエリア(
FC,CA)やワーキングバッファエリア(WE)の通
常の大きさを確保できない時もある。
大きさによっては、次のエミュレータで使用するユーザ
ーエリアUAについて、必ずしも通常の大きさが確保で
きない場合もある。たとえば(a)の場合の様に、保存
すべきデータ(斜線部)が少ないためユーザー二リアU
Aが通常の大きさより大きくとれる場合には問題かない
が、(b)の場合の様にデータセーブエリアDSが大き
いためユーザー二リアUAにおいてキャッシュエリア(
FC,CA)やワーキングバッファエリア(WE)の通
常の大きさを確保できない時もある。
この場合(第22図55553でNO)、ユーザーによ
るデイツプスイッチ19の設定に従い設定されているフ
ラグgard fdataに対応して、データ保存優先
(gard fdata・1)又はデータ放棄優先(g
ard fdata=o)すなわちエミュレータ切換優
先の処理を行なう(第22図55558参照)。
るデイツプスイッチ19の設定に従い設定されているフ
ラグgard fdataに対応して、データ保存優先
(gard fdata・1)又はデータ放棄優先(g
ard fdata=o)すなわちエミュレータ切換優
先の処理を行なう(第22図55558参照)。
データ保存優先の設定の場合には、第22図55561
−55566に示すように、ユーザーエリアUAにおい
てキャッシュエリア(FC,CA)やワーキングバッフ
ァエリア(WB)の大きさに制限をかける。これらのエ
リアは処理時の効率を上げるためのエリアであるので、
ある程度の制限はプログラムの実行自体には問題がない
。たとえば、フォントキャッシュ(F C)の場合は、
最小限1文字分があればよいし、ハーフトーンキャッシ
ュ(CA)では、最小限ハーフトーンlブロック分があ
ればよい。
−55566に示すように、ユーザーエリアUAにおい
てキャッシュエリア(FC,CA)やワーキングバッフ
ァエリア(WB)の大きさに制限をかける。これらのエ
リアは処理時の効率を上げるためのエリアであるので、
ある程度の制限はプログラムの実行自体には問題がない
。たとえば、フォントキャッシュ(F C)の場合は、
最小限1文字分があればよいし、ハーフトーンキャッシ
ュ(CA)では、最小限ハーフトーンlブロック分があ
ればよい。
この様に、エミュレータ切換え後に通常のユーザーエリ
アが確保できない時は、使用上に問題のない程度に(A
−Zまでのエリアが確保できないときには、たとえばA
−Nだけとする)、ユーザーエリアUAの大きさに制限
をかける。
アが確保できない時は、使用上に問題のない程度に(A
−Zまでのエリアが確保できないときには、たとえばA
−Nだけとする)、ユーザーエリアUAの大きさに制限
をかける。
以上のメモリ配置操作を行なっても最小限のメモリエリ
ア(FC,CA、WB)の大きさが確保できない時は、
さらに、ビットマツプエリアBMの大きさ、すなわち、
印字可能な最大ペーパーサイズにfllllをかけ、大
きなペーパーサイズが選択できない様にする。これによ
り、ユーザーが希望するよりも小さいサイズでの印字し
かできないことも有り得るが、エミュレータの切換は可
能になる。(また逆にEMU2からEMUIに切り換え
る時は、フォントロードエリアFLやビットマツプエリ
アBMの大きさに制限をかければよい。フォントロード
エリアFLは最低でもデータセーブエリアDSに格納さ
れているデータを復帰できるだけの容量があれば印字動
作は行えるので、その大きさにまで制限する。また、上
記最小限のフォントロードエリアが確保できない場合に
は、EMUlからEMU2への切り換え時と同様、ビッ
トマツプエリアBMに制限をかける。) 一方、ユーザーがデータ放棄優先すなわちエミュレータ
切換優先を設定した場合には、データセーブエリアDS
をクリアして外部1次データなどを捨て、エミュレータ
を切り換える。
ア(FC,CA、WB)の大きさが確保できない時は、
さらに、ビットマツプエリアBMの大きさ、すなわち、
印字可能な最大ペーパーサイズにfllllをかけ、大
きなペーパーサイズが選択できない様にする。これによ
り、ユーザーが希望するよりも小さいサイズでの印字し
かできないことも有り得るが、エミュレータの切換は可
能になる。(また逆にEMU2からEMUIに切り換え
る時は、フォントロードエリアFLやビットマツプエリ
アBMの大きさに制限をかければよい。フォントロード
エリアFLは最低でもデータセーブエリアDSに格納さ
れているデータを復帰できるだけの容量があれば印字動
作は行えるので、その大きさにまで制限する。また、上
記最小限のフォントロードエリアが確保できない場合に
は、EMUlからEMU2への切り換え時と同様、ビッ
トマツプエリアBMに制限をかける。) 一方、ユーザーがデータ放棄優先すなわちエミュレータ
切換優先を設定した場合には、データセーブエリアDS
をクリアして外部1次データなどを捨て、エミュレータ
を切り換える。
なお、本実施例では、エミュレータ切換優先か否かを通
常のメモリエリアが確保できない場合について選択する
ようにしたが、その他の大きさ、たとえばペーパーサイ
ズが確保できない場合や最小限のメモリが確保できない
場合に選択するようにしてもよい。
常のメモリエリアが確保できない場合について選択する
ようにしたが、その他の大きさ、たとえばペーパーサイ
ズが確保できない場合や最小限のメモリが確保できない
場合に選択するようにしてもよい。
第16図は、エミュレータを切り換える時のデータの移
動の1例について示す。ここに、LLllはEMUIで
ダウンロードされIニフォントデータであり、m2は以
前に退避したEMU2のダウンロードフォントデータで
ある。また、m3は他のエミュレータEMU3でダウン
ロードされた7オントデータである。EMUIからEM
U2へのエミュレータ切り換えの際に、EMUIのダウ
ンロードフォントデータmlはデータセーブエリアDS
へ保存され、EMU2のダウンロードフォントデータm
2はデータセーブエリアDSからシステムエリアSA中
に復帰するが、その他のエミュレータEMU3のための
m3は、EMUIからEMU2への切換に無関係である
ので、データセーブエリアDS内でそのまま保存される
。
動の1例について示す。ここに、LLllはEMUIで
ダウンロードされIニフォントデータであり、m2は以
前に退避したEMU2のダウンロードフォントデータで
ある。また、m3は他のエミュレータEMU3でダウン
ロードされた7オントデータである。EMUIからEM
U2へのエミュレータ切り換えの際に、EMUIのダウ
ンロードフォントデータmlはデータセーブエリアDS
へ保存され、EMU2のダウンロードフォントデータm
2はデータセーブエリアDSからシステムエリアSA中
に復帰するが、その他のエミュレータEMU3のための
m3は、EMUIからEMU2への切換に無関係である
ので、データセーブエリアDS内でそのまま保存される
。
ここに、Mで示す部分がユーザーエリアUAとして利用
できるエリアであるので、ビットマツプエリアBM、7
オントキヤツンユFC,ハーフトーンなどのキャッシュ
CA、ワーキングバッファWBをこのエリアに割りふる
。
できるエリアであるので、ビットマツプエリアBM、7
オントキヤツンユFC,ハーフトーンなどのキャッシュ
CA、ワーキングバッファWBをこのエリアに割りふる
。
(e)プリント制御のフロー
第17図は、CPUIIのメイン70−を示す。
電源をONにすると、まずRAM17のパラメータエリ
アSAa内のパラメーターを初期化する(ステップSl
(以下「ステップ」を略する))。
アSAa内のパラメーターを初期化する(ステップSl
(以下「ステップ」を略する))。
次に、受信バッファS Ac、ビットマツプエリアBM
、フォントキャッシュエリアFC,キャッシュエリアC
A、ワーキングバッファWB、パケットバッファSAb
などのエリアをクリアする(S2)。また、デフォルト
値の設定を確認するためにデイツプスイッチ19の設定
をチエツクする(S3)。この設定値は、パラメータエ
リアSAaの中に情報として保存される。
、フォントキャッシュエリアFC,キャッシュエリアC
A、ワーキングバッファWB、パケットバッファSAb
などのエリアをクリアする(S2)。また、デフォルト
値の設定を確認するためにデイツプスイッチ19の設定
をチエツクする(S3)。この設定値は、パラメータエ
リアSAaの中に情報として保存される。
メイン70−は、その後、受信処理プロセス(S5)、
描画プロセス(36)、エンジン処理プロセス(S7)
および操作部処理プロセス(S8)を繰り返し行なう。
描画プロセス(36)、エンジン処理プロセス(S7)
および操作部処理プロセス(S8)を繰り返し行なう。
ここに、受信処理プロセス(S5)は、ホストから送ら
れてくる印字データに必要な情報を付加して、内部で管
理するフォーマントに直す処理を行なう。
れてくる印字データに必要な情報を付加して、内部で管
理するフォーマントに直す処理を行なう。
描画処理プロセス(S6)は、受信処理プロセス(S5
)で作られた7オーマツトをさらに解析し、ビットマツ
プエリアBM上に実際に印字されるイメージとして描画
してゆく。
)で作られた7オーマツトをさらに解析し、ビットマツ
プエリアBM上に実際に印字されるイメージとして描画
してゆく。
エンジン処理プロセス(S7)は、プリントエンジン4
の状態を監視するとともに実際のプリント動作を行なう
。これはすべてのエミュレータで共通の処理となる。
の状態を監視するとともに実際のプリント動作を行なう
。これはすべてのエミュレータで共通の処理となる。
操作部処理プロセス(S8)は、操作パネル44で設定
される内容のチエツクおよび表示などを行なう。これは
すべてのエミュレータで共通の処理となる。
される内容のチエツクおよび表示などを行なう。これは
すべてのエミュレータで共通の処理となる。
data fullフラグは、エミュレータ切換時にデ
ータ保存を優先する設定においてメモリが確保できなか
ったことを示すフラグである(第22図55567参照
)。詳しくは後述するが、このフラグが立っている時は
(S4でYES)、処理が行なえないため、受信処理プ
ロセス(S5)と描画処理プロセス(S6)は実行しな
い。しかし、エンジン処理プロセス(S7)と操作部処
理プロセス(S8)は、その状態を常に監視しなければ
いけないので、その処理を実行する。ただしこの時、エ
ンジン処理プロセス(S7)と操作部処理プロセス(S
8)が使用するパラメータエリアSAa内の情報は不用
意に変更されるとプログラムが暴走する可能性があるの
で、そのエリアは変更されてはならない。
ータ保存を優先する設定においてメモリが確保できなか
ったことを示すフラグである(第22図55567参照
)。詳しくは後述するが、このフラグが立っている時は
(S4でYES)、処理が行なえないため、受信処理プ
ロセス(S5)と描画処理プロセス(S6)は実行しな
い。しかし、エンジン処理プロセス(S7)と操作部処
理プロセス(S8)は、その状態を常に監視しなければ
いけないので、その処理を実行する。ただしこの時、エ
ンジン処理プロセス(S7)と操作部処理プロセス(S
8)が使用するパラメータエリアSAa内の情報は不用
意に変更されるとプログラムが暴走する可能性があるの
で、そのエリアは変更されてはならない。
第18図は、受信割り込みの処理のフローを示す。ホス
トとの通信を描画などの処理と非同期で行なうために、
ホストから受信があった時点で割り込みがかかり、受信
割込みの処理を行なう。すなわち、外部インターフェー
ス15からデータを読み込み(S9])、その内容をR
−バッファSACに出力する(S92)。そして、リタ
ーンする。
トとの通信を描画などの処理と非同期で行なうために、
ホストから受信があった時点で割り込みがかかり、受信
割込みの処理を行なう。すなわち、外部インターフェー
ス15からデータを読み込み(S9])、その内容をR
−バッファSACに出力する(S92)。そして、リタ
ーンする。
i!19図は、デイツプスイッチ19の設定を読み込む
70−(第17図53)を示す。まずデイツプスイッチ
19の設定を確認する(531)。次に、その設定に従
い、RAM17のパラメータエリアSAaに値をセット
し、リターンする。たとえば、最初にどのエミュレータ
を起動するか調べ(S32)、起動するエミュレータの
タイプをcurr emuにセットする(S32−1−
532−n)。ニーこに、curr emuはパラメー
タエリアSAa内のあるアドレスにある。まI;、ダウ
ンロードデータ(外部1次データ)を保存するためにメ
モリを使い切る時に、ダウンロードデータを捨てるがど
うかの設定をチエツクする(S33)。ユーザーがデー
タを捨てるデータ放棄優先すなわちエミュレータ切換優
先の設定をした時には(S33でYES) 、gard
fdataフラグを0としてセットしく534)、ユー
ザーが、データを捨てないで、キャッシュなどのエリア
を減少、もしくはペーパーサイズを減少させて使用する
データ保存優先の設定をした時は、gardJdata
を1としてセットする(S35)。ここに、gardJ
dataはパラメータエリアSAc内のあるアドレスに
ある。この様にデイツプスイッチI9で設定した各々の
値は、具体的にどの様な設定にするかチエツクされ、パ
ラメータに値をセットする形で記憶される。そして、リ
ターンする。
70−(第17図53)を示す。まずデイツプスイッチ
19の設定を確認する(531)。次に、その設定に従
い、RAM17のパラメータエリアSAaに値をセット
し、リターンする。たとえば、最初にどのエミュレータ
を起動するか調べ(S32)、起動するエミュレータの
タイプをcurr emuにセットする(S32−1−
532−n)。ニーこに、curr emuはパラメー
タエリアSAa内のあるアドレスにある。まI;、ダウ
ンロードデータ(外部1次データ)を保存するためにメ
モリを使い切る時に、ダウンロードデータを捨てるがど
うかの設定をチエツクする(S33)。ユーザーがデー
タを捨てるデータ放棄優先すなわちエミュレータ切換優
先の設定をした時には(S33でYES) 、gard
fdataフラグを0としてセットしく534)、ユー
ザーが、データを捨てないで、キャッシュなどのエリア
を減少、もしくはペーパーサイズを減少させて使用する
データ保存優先の設定をした時は、gardJdata
を1としてセットする(S35)。ここに、gardJ
dataはパラメータエリアSAc内のあるアドレスに
ある。この様にデイツプスイッチI9で設定した各々の
値は、具体的にどの様な設定にするかチエツクされ、パ
ラメータに値をセットする形で記憶される。そして、リ
ターンする。
第20図は、受信処理プロセス(第13図55)のフロ
ーである。受信割り込み(第14図)でR−バッファエ
リアSAcにデータが格納されるが、このデータの有無
をチエツクしく551)、もしデータがあったら(S5
1でYES)R−バッファエリアSAcからデータを取
り出しく552)、無がったら(551でNo)この処
理を終了する。
ーである。受信割り込み(第14図)でR−バッファエ
リアSAcにデータが格納されるが、このデータの有無
をチエツクしく551)、もしデータがあったら(S5
1でYES)R−バッファエリアSAcからデータを取
り出しく552)、無がったら(551でNo)この処
理を終了する。
取り出したデータは、まず、エミュレータ切換えコマン
ドであるかチエツクされる(S53)。もしそうだっt
;ら(S53でYES)、次に、どのエミュレータ、タ
イプに切り換えるかをチエツクしく554)、各々のタ
イプに従ってcurr emuに値をセットしくS 5
4−1 ”554−n)、そして、現在ノエミュレータ
の動作情報を保存するためにエミュレータ切換処理を行
なう(S55、第21図参照)。
ドであるかチエツクされる(S53)。もしそうだっt
;ら(S53でYES)、次に、どのエミュレータ、タ
イプに切り換えるかをチエツクしく554)、各々のタ
イプに従ってcurr emuに値をセットしくS 5
4−1 ”554−n)、そして、現在ノエミュレータ
の動作情報を保存するためにエミュレータ切換処理を行
なう(S55、第21図参照)。
次lこ、以前にcurr ernuに現在のエミュレー
タが何であるか設定しであるので(第19図参照)、そ
の値をチエツクしくs 56)、設定されたタイプのエ
ミュレータに対応した受信データ処理を行なう(S56
−1=356−n)。ここでは、受信したデータから内
部で管理するデータの書式に変換するのが主な処理であ
る。なお、内部で管理するデータの書式は、前に述べた
様にエミュレータごとに異なる。以上の処理が終わった
あと、リターンする。
タが何であるか設定しであるので(第19図参照)、そ
の値をチエツクしくs 56)、設定されたタイプのエ
ミュレータに対応した受信データ処理を行なう(S56
−1=356−n)。ここでは、受信したデータから内
部で管理するデータの書式に変換するのが主な処理であ
る。なお、内部で管理するデータの書式は、前に述べた
様にエミュレータごとに異なる。以上の処理が終わった
あと、リターンする。
第21[mは、エミュレータ切換処理(第19図555
)の70−を示す。現在使用しているエミュレータは、
今後また使用する可能性があるので、現在の動作情報を
退避して保存しておく必要がある。このため、データセ
ーブエリアDS内のエミュレータ情報保存エリアDSb
にまとめて保存しておく。動作情報はパラメータエリア
SAc内にあるユミュレータ情報管理ブロック5Aal
にまとめられているので、実際にはこのエリアの内容を
そのままコピーする処理になる(5551)。(パラメ
ーター内部で保管できる場合は、そのままでよい。) 次に、データセーブエリアDSで使用しているデータ長
さを調べる(S 552)。これは、データセーブエリ
ア管理ブロック5Aa3内で管理されているので、ブロ
ック内を参照することにより調べられる。
)の70−を示す。現在使用しているエミュレータは、
今後また使用する可能性があるので、現在の動作情報を
退避して保存しておく必要がある。このため、データセ
ーブエリアDS内のエミュレータ情報保存エリアDSb
にまとめて保存しておく。動作情報はパラメータエリア
SAc内にあるユミュレータ情報管理ブロック5Aal
にまとめられているので、実際にはこのエリアの内容を
そのままコピーする処理になる(5551)。(パラメ
ーター内部で保管できる場合は、そのままでよい。) 次に、データセーブエリアDSで使用しているデータ長
さを調べる(S 552)。これは、データセーブエリ
ア管理ブロック5Aa3内で管理されているので、ブロ
ック内を参照することにより調べられる。
次ノこ、データを復帰し、保存するため、復帰するデー
タと保存するデータの両方のデータ長をそれぞれ求める
(S553,5554)。復帰する時は先はどと同じく
、データセーブエリアDSの管3iJ 7” aツク5
Aa3を調べ、保存データはダウンロードデータ管理ブ
ロック5Aa2を調べる。保存する時は必ずしも、ダウ
ンロードデータに関するすべての情報について保存する
わけではなく、コードフォントデータの様な基になる1
次データのみを保存する。2次的に作られたキャッシュ
内のデータなどはすべて無視される。
タと保存するデータの両方のデータ長をそれぞれ求める
(S553,5554)。復帰する時は先はどと同じく
、データセーブエリアDSの管3iJ 7” aツク5
Aa3を調べ、保存データはダウンロードデータ管理ブ
ロック5Aa2を調べる。保存する時は必ずしも、ダウ
ンロードデータに関するすべての情報について保存する
わけではなく、コードフォントデータの様な基になる1
次データのみを保存する。2次的に作られたキャッシュ
内のデータなどはすべて無視される。
実際にエミュレータを起動する前に内部で使用するバッ
ファなどのエリアのアドレスをどこに置くか決める必要
があるので、これを決定する(S555.822図参照
)。:、Z−?’ハS 552.5553.5554で
求めた値を利用して計算を行なう。
ファなどのエリアのアドレスをどこに置くか決める必要
があるので、これを決定する(S555.822図参照
)。:、Z−?’ハS 552.5553.5554で
求めた値を利用して計算を行なう。
メモリ配置が決まったので、実際にデータの復帰、保存
を行なう。次に起動するエミュレータに関する保存情報
が、以前にデータセーブエリア管理フロック5Aa3に
書き込まれたがどうが調べ(S556)、データが保存
されていたら(S 556でYES)、先はどのメモリ
配置処理(s 555)によりフォントロードエリアF
Lが決まったので、データセーブ管理ブロックS Aa
3を調ベコピーすべき元のデータのアドレスを決める(
S 557)。
を行なう。次に起動するエミュレータに関する保存情報
が、以前にデータセーブエリア管理フロック5Aa3に
書き込まれたがどうが調べ(S556)、データが保存
されていたら(S 556でYES)、先はどのメモリ
配置処理(s 555)によりフォントロードエリアF
Lが決まったので、データセーブ管理ブロックS Aa
3を調ベコピーすべき元のデータのアドレスを決める(
S 557)。
そしで保存したデータの復帰を行なう(5558)。
保存時も、上述の復帰の時と同じ様に、保存するデータ
があるかどうか調べ(5561)、コピーするアドレス
を調べ(S562)、データの保存を行なう(s536
)。
があるかどうか調べ(5561)、コピーするアドレス
を調べ(S562)、データの保存を行なう(s536
)。
エミュレータを切り換えると、ビットマツプエリアBM
のデータやテーブルエリアSAb(EMU2の時)やP
−バッファエミュレータSAb(EMUlの時)のデー
タなどは、必要なくなるのでクリアする(S564)。
のデータやテーブルエリアSAb(EMU2の時)やP
−バッファエミュレータSAb(EMUlの時)のデー
タなどは、必要なくなるのでクリアする(S564)。
ただし、R−バッファSACのデータは、次の処理に使
うのでクリアしない。
うのでクリアしない。
そして、エミュレータの情報をエミュレータ情報保存エ
リアDSbから復帰する(s 565)。エミュレータ
情報保存エリアDSbには、あらかじめ初めてエミュレ
ータを使うためのデフォルト値が入れられている。
リアDSbから復帰する(s 565)。エミュレータ
情報保存エリアDSbには、あらかじめ初めてエミュレ
ータを使うためのデフォルト値が入れられている。
以上の処理でエミュレータの情報の入れ換え(保存と復
帰)が終ったわけであるが、メモリの一部に空きが出る
場合がある。そのため最後にデータを移動して空きをつ
める<s 566)。また以前使用したデータをそのま
ま使う時に、うまくアドレスが合わなくなった時もこの
時に調整する。
帰)が終ったわけであるが、メモリの一部に空きが出る
場合がある。そのため最後にデータを移動して空きをつ
める<s 566)。また以前使用したデータをそのま
ま使う時に、うまくアドレスが合わなくなった時もこの
時に調整する。
第22図は、メモリ配置を決める処理(第22図555
5)の70−を示す。これはEMUIからEMU2にエ
ミュレータを切り換える場合について書いであるが、他
のエミュレータに切り換える時もほぼ同じである。ユー
ザー二リアUAのFC,CA、WBのサイズを変化され
ているが、EMU2からEMUIに切り換える時にはフ
ォントロードエリアFLがこれに対応して変化すること
になる。
5)の70−を示す。これはEMUIからEMU2にエ
ミュレータを切り換える場合について書いであるが、他
のエミュレータに切り換える時もほぼ同じである。ユー
ザー二リアUAのFC,CA、WBのサイズを変化され
ているが、EMU2からEMUIに切り換える時にはフ
ォントロードエリアFLがこれに対応して変化すること
になる。
まず、ユーザーエリアUAとして使用できるエリアのサ
イズを求める(S5551)。このサイズは、以前に求
めたデータセーブエリアDSの使用量(S552)と復
帰するデータ長(S553)から計算できる。システム
エリアSAの使用量はエミュレータごとにサイズが決め
られているので、これらの余りがユーザーエリアUAと
して使用できるエリアとなる。
イズを求める(S5551)。このサイズは、以前に求
めたデータセーブエリアDSの使用量(S552)と復
帰するデータ長(S553)から計算できる。システム
エリアSAの使用量はエミュレータごとにサイズが決め
られているので、これらの余りがユーザーエリアUAと
して使用できるエリアとなる。
次に、ユーザーエリア内部に割り当てられる各エリア(
たとえばEMU2の場合にはビットマツプエリアBM、
フォントキャッシュエリアFC,その他のキャッシュエ
リアCA、およびワーキングバッファWB)の大きさを
調べる(s5552)。
たとえばEMU2の場合にはビットマツプエリアBM、
フォントキャッシュエリアFC,その他のキャッシュエ
リアCA、およびワーキングバッファWB)の大きさを
調べる(s5552)。
これはパラメータエリアSAa内に情報として収められ
ているので、これを調べればよい。
ているので、これを調べればよい。
次に、これと現在のユーザーエリアUAのサイズを比較
してサイズが確保できるかをチエツクする(s5553
)。入る場合には(S 5553でYES)、さらにユ
ーザー二リアUAで余るサイズを求め(S5554)、
各エリアに割りふるために各エリア(FC,CA、WB
)で使用している割合でサイズを分配する(S5555
)。(ただし、サイズを大きくしても意味のないもの、
たとえばビットマツプエリアBMや、一定値以上のデー
タを利用しないエリアなどには、割りふらない。たとえ
ばキャッシュエリアであっても、あるセルの大きさ以上
のグラフィックデータは扱えない様な場合であれば、意
味がないのでエリアを増やさない。)この後、各エリア
の値(サイズ、アドレス)を更新する訳であるが、各エ
リアは通常、ワード単位もしくはブロック単位に管理さ
れていることが多いので、端数などは切りすてるなどの
処理を行ない調整する(S5556)。これで、サイズ
が決まったので、これよりアドレスを割りふる(S 5
557)。そしてリターンする。
してサイズが確保できるかをチエツクする(s5553
)。入る場合には(S 5553でYES)、さらにユ
ーザー二リアUAで余るサイズを求め(S5554)、
各エリアに割りふるために各エリア(FC,CA、WB
)で使用している割合でサイズを分配する(S5555
)。(ただし、サイズを大きくしても意味のないもの、
たとえばビットマツプエリアBMや、一定値以上のデー
タを利用しないエリアなどには、割りふらない。たとえ
ばキャッシュエリアであっても、あるセルの大きさ以上
のグラフィックデータは扱えない様な場合であれば、意
味がないのでエリアを増やさない。)この後、各エリア
の値(サイズ、アドレス)を更新する訳であるが、各エ
リアは通常、ワード単位もしくはブロック単位に管理さ
れていることが多いので、端数などは切りすてるなどの
処理を行ない調整する(S5556)。これで、サイズ
が決まったので、これよりアドレスを割りふる(S 5
557)。そしてリターンする。
しかし、各エリアFC,CA、WBの通常のサイズが確
保できない時(S 5553でNo)には、先はどのも
しくは後述する様な、デイツプスイッチ19の設定もし
くは操作パネル44の設定でセットされるgard f
dataフラグの値を参照する(55558)。(g2
rd fdataはバラメーター二リアSAaの内部の
あるアドレスにある。) もし通常のエリアのサイズが確保できないときにダウン
ロードデータを捨てるユーザーの指示(gard fd
ata= O)の時には(S 5558でYES)、エ
ミュレータ切換を優先するためデータセーブエリアDS
の中身をクリア(放棄)L(S5559)、ユーザー二
リアUAの内部にセットされる各エリアのアドレスを計
算する。これはS 5554〜55557の手順と同じ
手順になる。
保できない時(S 5553でNo)には、先はどのも
しくは後述する様な、デイツプスイッチ19の設定もし
くは操作パネル44の設定でセットされるgard f
dataフラグの値を参照する(55558)。(g2
rd fdataはバラメーター二リアSAaの内部の
あるアドレスにある。) もし通常のエリアのサイズが確保できないときにダウン
ロードデータを捨てるユーザーの指示(gard fd
ata= O)の時には(S 5558でYES)、エ
ミュレータ切換を優先するためデータセーブエリアDS
の中身をクリア(放棄)L(S5559)、ユーザー二
リアUAの内部にセットされる各エリアのアドレスを計
算する。これはS 5554〜55557の手順と同じ
手順になる。
一方、データ保存(使用環境保存)を優先するためデー
タを捨てるのを禁止している場合には(gard fd
ata −I XS 5558でNo)、FC,CA。
タを捨てるのを禁止している場合には(gard fd
ata −I XS 5558でNo)、FC,CA。
WBなどのエリアで最低でも必要とするサイズをパラメ
ーター二リアSAaから調べる(55561)。そして
、このデータを使ってユーザーエリアUAに入りきるか
チエツクしく55562)、入る場合には(YES)、
55554〜55557の処理により、アドレスを割り
ふる。
ーター二リアSAaから調べる(55561)。そして
、このデータを使ってユーザーエリアUAに入りきるか
チエツクしく55562)、入る場合には(YES)、
55554〜55557の処理により、アドレスを割り
ふる。
さらに、ユーザー二リアUAに入らない場合では(S
5562テNo)、そノサイズを求メ(S5563)、
ビットマツプエリアBMの中からそのサイズを引<(S
5564)。この時、最低のペーパーサイズが確保でき
るかチエツクしく55565)、できるなら、確保でき
る最大のペーパー長を求める(S5566)。たとえば
、リーガルサイズのペーパーが今まで使用できたとする
。この時に、上の様な状態になった時は、レターサイズ
、A5サイズなどのペーパーまでしか選択できなくする
(リーガルサイズ〉レターサイズ〉A5)。
5562テNo)、そノサイズを求メ(S5563)、
ビットマツプエリアBMの中からそのサイズを引<(S
5564)。この時、最低のペーパーサイズが確保でき
るかチエツクしく55565)、できるなら、確保でき
る最大のペーパー長を求める(S5566)。たとえば
、リーガルサイズのペーパーが今まで使用できたとする
。この時に、上の様な状態になった時は、レターサイズ
、A5サイズなどのペーパーまでしか選択できなくする
(リーガルサイズ〉レターサイズ〉A5)。
そして、55554〜55557の手順でアドレスを割
りふる。
りふる。
以上の処理をしてもメモリサイズが確保できない時は(
S 5565でNo)、データの保存ができないので操
作部44にエラー表示をするためにdata full
という変数を1にする(S5567)。そして、リター
ンする。
S 5565でNo)、データの保存ができないので操
作部44にエラー表示をするためにdata full
という変数を1にする(S5567)。そして、リター
ンする。
第23図は、描画処理プロセス(第13図56)のフロ
ーを示す。まず、現在のエミュレータをチエ/りしく5
61)、そのタイプに対応した描画処理を行なう(S6
2−1”562−n)。これはピントマツプエリアBM
上にイメージを描画する処理であり、受信処理で作られ
た内部データから画像データを作り描画を行なう。そし
て、リターンする。
ーを示す。まず、現在のエミュレータをチエ/りしく5
61)、そのタイプに対応した描画処理を行なう(S6
2−1”562−n)。これはピントマツプエリアBM
上にイメージを描画する処理であり、受信処理で作られ
た内部データから画像データを作り描画を行なう。そし
て、リターンする。
第24図(a) 、 (b)は、操作部処理プロセス(
第13図58)のフローを示す。基本的には操作パネル
44のスイッチをチエツクして、内部のパラメーター(
パラメータエリア5Aa)にその情報をセットし、それ
に対応した表示を行なう。(今回はループ内で定期的に
実行される様な場合を説明したがこの時間が確保できな
い時には、タイマー割り込みによってこの処理がコール
される様にしてもよい。) 今回の説明に対応するパラメータをセットする手順が3
81〜S89である。まず、スイッチが押されたかをチ
エツクする(581)。押されたかどうかの情報は操作
パネルインターフェース13を通じて知らされる。押さ
れていない場合には内部パラメータの変更(881〜5
89)を行なわず、次の処理(5891こ移る。押され
た場合には(S81でYES)、スイッチの状態を読み
込む(382)。そして、データ保護の設定が変更され
たら(S83でYES)、その内容に従い(S84)、
前述したデータを捨てるか否か即ちエミュレータ切換か
使用環境保存かを示すgard fdataのパラメー
タを変更する(585.586)。
第13図58)のフローを示す。基本的には操作パネル
44のスイッチをチエツクして、内部のパラメーター(
パラメータエリア5Aa)にその情報をセットし、それ
に対応した表示を行なう。(今回はループ内で定期的に
実行される様な場合を説明したがこの時間が確保できな
い時には、タイマー割り込みによってこの処理がコール
される様にしてもよい。) 今回の説明に対応するパラメータをセットする手順が3
81〜S89である。まず、スイッチが押されたかをチ
エツクする(581)。押されたかどうかの情報は操作
パネルインターフェース13を通じて知らされる。押さ
れていない場合には内部パラメータの変更(881〜5
89)を行なわず、次の処理(5891こ移る。押され
た場合には(S81でYES)、スイッチの状態を読み
込む(382)。そして、データ保護の設定が変更され
たら(S83でYES)、その内容に従い(S84)、
前述したデータを捨てるか否か即ちエミュレータ切換か
使用環境保存かを示すgard fdataのパラメー
タを変更する(585.586)。
次に、エミュレータを操作パネル44から切り換えた時
には(S87でYES)、どのエミュレータを起動する
かを調べ(S 88) 、curr emuのパラメー
タにそのタイプをセットしく589−1〜589−n)
、前述したエミュレータ切換処理(S55)を行う(5
90)。
には(S87でYES)、どのエミュレータを起動する
かを調べ(S 88) 、curr emuのパラメー
タにそのタイプをセットしく589−1〜589−n)
、前述したエミュレータ切換処理(S55)を行う(5
90)。
次に、先はどメモリ配置処理(S555)においてda
ta fullが1にセットされていた場合にはぐS9
1’でYES)、第2図に示した操作パネルのPr1n
ter 5tatus表示31にエラー表示を行なう(
S92’)。次に復帰スイッチ(第3図のResetス
イッチ37)が押されたかをチエツクし、押された場合
には(S93でYES)、データセーブエリアDS内の
データを捨て(S94)、data fullをOにし
く595)、アドレスをもう一度決めるメモリ配置処理
(S555)を行う(S96)。
ta fullが1にセットされていた場合にはぐS9
1’でYES)、第2図に示した操作パネルのPr1n
ter 5tatus表示31にエラー表示を行なう(
S92’)。次に復帰スイッチ(第3図のResetス
イッチ37)が押されたかをチエツクし、押された場合
には(S93でYES)、データセーブエリアDS内の
データを捨て(S94)、data fullをOにし
く595)、アドレスをもう一度決めるメモリ配置処理
(S555)を行う(S96)。
最後に、操作パネル44の表示を制御する表示処理(S
97)を行ない、リターンする。
97)を行ない、リターンする。
以上の様にユーザーがあらかじめ、ダウンロードフォン
トを優先して残すか、エミュレータの切換えを優先する
か、あらかじめ、デイツプスイッチ19で設定しておく
ことができる。これにより複数のユーザーで使用した場
合に、自分の使用環境がむやみに破壊されるのを防ぐこ
とができる。
トを優先して残すか、エミュレータの切換えを優先する
か、あらかじめ、デイツプスイッチ19で設定しておく
ことができる。これにより複数のユーザーで使用した場
合に、自分の使用環境がむやみに破壊されるのを防ぐこ
とができる。
また、他人の使用環境を破壊するか否かを心配せずに使
用できる。
用できる。
以上の説明ではシステムエリアSAのサイズが変化しな
い場合であったが、エミュレータを切り換えた時に、シ
ステムエリアSAの大きさが変化してもよい、この場合
はユーザーエリアのトップアドレスが変化する。
い場合であったが、エミュレータを切り換えた時に、シ
ステムエリアSAの大きさが変化してもよい、この場合
はユーザーエリアのトップアドレスが変化する。
また、フォントROM内に格納されている1次データの
コード7オントデータからパターン7tントデータヘ変
換される途中の中間フォントデータが生成される様な場
合には、この中間データも復元可能な2次データとして
扱ってもよい。
コード7オントデータからパターン7tントデータヘ変
換される途中の中間フォントデータが生成される様な場
合には、この中間データも復元可能な2次データとして
扱ってもよい。
また、以上の説明ではパターンデータとコードフォント
データを互いのエミュレータが利用できない場合につい
て説明したが、格納されたデータが同じタイプであって
も(を二とえばパターンデータであっても)、どちらか
が使えなければ同様である。
データを互いのエミュレータが利用できない場合につい
て説明したが、格納されたデータが同じタイプであって
も(を二とえばパターンデータであっても)、どちらか
が使えなければ同様である。
また、データを保存する時には、データを圧縮して保存
してもよい。
してもよい。
また、本実施例では、設定はデイツプスイッチ19から
設定する様に説明したが、デフォルト値を操作パネル4
4であらかじめ設定しておける様にしておいてもよい。
設定する様に説明したが、デフォルト値を操作パネル4
4であらかじめ設定しておける様にしておいてもよい。
また、本実施例では、制限をかけダウンロードフォント
を消さない様に設定した時に、メモリが確保できない時
にエラーを表示し、解析データをすべて捨ててしまうが
、データを捨てるか、ダウンロードデータを捨てるかを
この時点で指示できる様にしてもよい。
を消さない様に設定した時に、メモリが確保できない時
にエラーを表示し、解析データをすべて捨ててしまうが
、データを捨てるか、ダウンロードデータを捨てるかを
この時点で指示できる様にしてもよい。
(発明の効果)
複数のユーザーが異なるアプリケーションで異なるエミ
ュレータを切り換えて使用する場合に、切り換え時に第
2記憶エリアに最低限の使用環境のデータを保存してお
くことにより、このデータを破壊しない。このため、元
のエミュレータに切り換えても保存データを復帰して処
理が早く行える。また、このデータ保存により、他のユ
ーザーを意識せずにプリンタを使用できる。
ュレータを切り換えて使用する場合に、切り換え時に第
2記憶エリアに最低限の使用環境のデータを保存してお
くことにより、このデータを破壊しない。このため、元
のエミュレータに切り換えても保存データを復帰して処
理が早く行える。また、このデータ保存により、他のユ
ーザーを意識せずにプリンタを使用できる。
エミュレータで使用する記憶エリアとデータ保存用記憶
エリアとを共通化できるので、一部の機能に制限はでる
が、全体のメモリ容量を少なくできる。
エリアとを共通化できるので、一部の機能に制限はでる
が、全体のメモリ容量を少なくできる。
第1図は、レーザプリンタの斜視図である。
第2図は、操作パネルの正面図である。
第3図は、画像データ処理部のブロック図である。
第4図は、RAMのメモリ構成を示す図である。
第5図は、EMUIにおけるメモリ配置を示す図である
。 第6図は、パラメータエリアの構成を示す図である。 第7図は、データセーブエリアの構成を示す図である。 第8図は、ユーザーエリアの構成を示す図である。 第9図は、ユーザーエリアの使用状況を示す図である。 第10図は、7オントROMの構成を示す図である。 第11図は、EMU2におけるメモリ構成の一部を示す
図である。 第12図は、テーブルエリアの構成を示す図である。 第13図は、データの保存と復帰を示す図である。 第14図は、データの保存と復帰を示す図である。 第15図は、通常の保存のためのメモリが確保できない
場合のデータ保存を示す図である。 第16図は、エミュレータ切換時のデータ移動の図であ
る。 第17図は、画像データ処理のメインフローチャ−トの
図である。 第18図は、受信割り込みの処理のフローチャートであ
る。 第19図は、デイツプスイッチ設定読込処理のフローチ
ャートである。 第20図は、受信処理の70−チャートである。 第21図は、エミュレータ切換処理の70−チャートで
ある。 1g22図は、メモリ配置処理のフローチャートである
。 第23図は、描画処理のフローチャートである。 第24図(a)、(b)は、操作部処理のフローチャー
トである。 IA、IB、IC・・・ホスト、 3・・・プリンタコントローラ、 4・・・プリンタエンジン、 lO・・・プリンタシステム、 11・・・画像データ処理部のCPU、17・・・RA
M。 19・・・デイツプスイッチ、 41・・・エミュレータ切換キー 44・・・操作パネル。 特許出願人 ミノルタカメラ株式会社 代 理 人 弁理士 青 山 葆 ほか2名第1図 第2図 第4図 第5図 @9図 第11図 第17図 第18図 第23図 第24図ia) 第24図(b)
。 第6図は、パラメータエリアの構成を示す図である。 第7図は、データセーブエリアの構成を示す図である。 第8図は、ユーザーエリアの構成を示す図である。 第9図は、ユーザーエリアの使用状況を示す図である。 第10図は、7オントROMの構成を示す図である。 第11図は、EMU2におけるメモリ構成の一部を示す
図である。 第12図は、テーブルエリアの構成を示す図である。 第13図は、データの保存と復帰を示す図である。 第14図は、データの保存と復帰を示す図である。 第15図は、通常の保存のためのメモリが確保できない
場合のデータ保存を示す図である。 第16図は、エミュレータ切換時のデータ移動の図であ
る。 第17図は、画像データ処理のメインフローチャ−トの
図である。 第18図は、受信割り込みの処理のフローチャートであ
る。 第19図は、デイツプスイッチ設定読込処理のフローチ
ャートである。 第20図は、受信処理の70−チャートである。 第21図は、エミュレータ切換処理の70−チャートで
ある。 1g22図は、メモリ配置処理のフローチャートである
。 第23図は、描画処理のフローチャートである。 第24図(a)、(b)は、操作部処理のフローチャー
トである。 IA、IB、IC・・・ホスト、 3・・・プリンタコントローラ、 4・・・プリンタエンジン、 lO・・・プリンタシステム、 11・・・画像データ処理部のCPU、17・・・RA
M。 19・・・デイツプスイッチ、 41・・・エミュレータ切換キー 44・・・操作パネル。 特許出願人 ミノルタカメラ株式会社 代 理 人 弁理士 青 山 葆 ほか2名第1図 第2図 第4図 第5図 @9図 第11図 第17図 第18図 第23図 第24図ia) 第24図(b)
Claims (1)
- (1)それぞれ異なったプロトコルを処理する複数のエ
ミュレータを備えたプリンタにおいて、使用環境を設定
するデータの記憶エリアやワークエリアとしてエミュレ
ータが処理の実行においてアクセスする第1記憶エリア
とデータ保存のための第2記憶エリアとから構成される
記憶手段と、記憶手段の使用状況を判定する判定手段と
、エミュレータ切換の指示を受け取るデータ入力手段と
、 データ入力手段からエミュレータ切換指示を受け取ると
、指示されたエミュレータに切換える一方、第1記憶エ
リアに記憶したデータの中の元のエミュレータの使用環
境を設定するデータを第2記憶エリアに保存し、切り換
えられたエミュレータのための保存データが第2記憶エ
リアに記憶してあった場合にその保存データを第1記憶
エリアに復帰し、判定手段が新しく指示されたエミュレ
ータの実行に必要な通常の大きさのエリアを確保できな
いと判定すると、そのエミュレータの実行条件を記憶手
段のエリア構成について制限するエミュレータ切換手段
を備えたことを特徴とするプリンタ制御装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2155859A JPH0452728A (ja) | 1990-06-14 | 1990-06-14 | プリンタ制御装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2155859A JPH0452728A (ja) | 1990-06-14 | 1990-06-14 | プリンタ制御装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0452728A true JPH0452728A (ja) | 1992-02-20 |
Family
ID=15615067
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2155859A Pending JPH0452728A (ja) | 1990-06-14 | 1990-06-14 | プリンタ制御装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0452728A (ja) |
-
1990
- 1990-06-14 JP JP2155859A patent/JPH0452728A/ja active Pending
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 | |
| US7280245B2 (en) | Data processing apparatus adaptable to plural environments and data processing method | |
| JP2006259986A (ja) | アイコン制御プログラム、コンピュータ、方法 | |
| JPH1120272A (ja) | 印刷制御装置および方法 | |
| JP3907362B2 (ja) | 印刷制御方法及び装置および印刷システム | |
| JPH1063448A (ja) | メモリ割り振り方法及びシステム | |
| JPH0452728A (ja) | プリンタ制御装置 | |
| JP4612231B2 (ja) | 印刷システム | |
| US6894795B1 (en) | Method and apparatus for enhancing the perceptual performance of a post-printing application environment | |
| JP3024170B2 (ja) | プリンタ制御装置 | |
| JPH0452727A (ja) | プリンタ制御装置 | |
| JP3013577B2 (ja) | メモリ管理装置及びメモリ管理装置を備えたプリンタ | |
| JP3472064B2 (ja) | 印刷装置 | |
| JP3471870B2 (ja) | 印刷装置および処理方法 | |
| JP2006235933A (ja) | 画像処理装置及び印刷ジョブ生成装置 | |
| JPH05270055A (ja) | 画像記録方法及び装置及び情報処理方法 | |
| JP3432141B2 (ja) | 編集装置および編集方法並びに編集用制御プログラムを格納した記憶媒体 | |
| JP2008195041A (ja) | 画像形成装置、情報処理方法、情報処理プログラム | |
| JP3241767B2 (ja) | 画像処理装置 | |
| JPH09146521A (ja) | 出力制御装置及び方法 | |
| JPH10305631A (ja) | 印刷制御装置および方法 | |
| JP2792216B2 (ja) | プリンタ装置 | |
| JP2006155307A (ja) | 負荷分散処理を行う画像処理システム | |
| JP2004030260A (ja) | 情報処理装置、印刷装置及びび印刷システム |