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

プリンタ制御装置

Info

Publication number
JPH044172A
JPH044172A JP2105645A JP10564590A JPH044172A JP H044172 A JPH044172 A JP H044172A JP 2105645 A JP2105645 A JP 2105645A JP 10564590 A JP10564590 A JP 10564590A JP H044172 A JPH044172 A JP H044172A
Authority
JP
Japan
Prior art keywords
image
buffer
printer
size
data
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
JP2105645A
Other languages
English (en)
Inventor
Ikunori Yamaguchi
山口 郁準
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 JP2105645A priority Critical patent/JPH044172A/ja
Priority to US07/687,677 priority patent/US5220431A/en
Publication of JPH044172A publication Critical patent/JPH044172A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Handling Of Cut Paper (AREA)
  • Record Information Processing For Printing (AREA)
  • Control Or Security For Electrophotography (AREA)

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、ドツトプリンタの制御装置に関する。
(従来の技術) プリンタで印字を行う場合、最初に書式設定を行う。こ
の際に、使用者の使用目的に応じて、用紙のサイス、印
字幅、マージン、改行ピッチなとを設定する。使用者が
設定しなけれは、所定の標準書式か初期値として設定さ
れる。
ドツトプリンタには、操作パネルに、受信した描画する
イメージをそのまま印字する縦長(ポートレート)と描
画するイメージを紙に対して900回転して印字する横
長(ランドスケープ)を指定するキー又は入力モードを
設けたものがある。この指定に対応して、使用するフォ
ントの角度や印字方向を切り替えることが可能になる。
プリンタが印字可能な最大幅(たとえばレターサイズ(
8,5インチ))以上の幅のイメージデータかホストか
ら受信される場合は、この横長印字を指定すればよい。
これに対応して、ホストから受信された横長のイメージ
がプリンタ内での編集により紙に対して900回転して
縦長のイメージとしてメモリに記憶され、これに対応し
て印字方向も切り替えられる。こうして、プリンタが印
字可能な最大幅以上の横幅のイメージが印字できる(第
8図参照)。
(発明が解決しようとする課題) ドツトプリンタの中には、コストなどの理由より操作パ
ネルより横長(ランドスケープ)印字を指定する機能や
横長印字指定コマンドがないものがある。
このようなプリンタでは、他のドツトプリンタ用のアプ
リケーションプログラムを走らせるエミュレーションモ
ードにおいて、他のドツトプリンタ用のアプリケーショ
ンプログラムで発生されt;イメージを印字する場合、
プリンタの印字可能な最大幅以上のイメージを発生する
アプリケーションプログラムは使用できない。
このような場合、アプリケーションプログラム側におい
て横長印字指定のコマンドを新しく追加するという手段
も考えられるか、アプリケーションプログラム側でこの
コマンドに対応していない場合はイメージデータを送る
前にユーザーがホストからあらかしめ横長指定コマンド
を送る必要があり、使い勝手上あまり良くない。
さらに、ホストか受信したイメージのエリアが、プリン
タの印字可能な最大幅以下であっても、現在プリンタの
カセットにセントされている紙のサイスより太きけれは
、印字はできない。かかる場合も自動的に横長(ランド
スケープ)印字かできると、ユーザーが誤って縦長で印
字出来ると判断していた場合でも、プリンタ側の自動的
な判断により印字が可能になり、プリンタの使い勝手が
改善される。
本発明の目的は、ホスト側から受信されたイメージデー
タのエリアが現在プリンタのカセットにセットされてい
る紙のサイズの幅より大きい場合に、横長(ランドスケ
ープ)印字を可能にしたプリンタの制御装置を提供する
ことである。
(問題点を解決するための手段) 本発明に係るプリンタ制御装置は、プリンタにセットさ
れている紙のサイズを要求するコマンドを送り、それに
応じて紙のサイズを返すことによって紙サイズを検出す
る紙サイズ検出手段、紙サイス検出手段より得た紙サイ
ズに応じて、編集するイメージサイズを変えるイメージ
サイズ設定手段、イメージ幅をホストからの命令により
指定するイメージ幅指定手段、描画するイメージを縦長
から横長に変え、それに応じて使用するフォントの角度
と印字方向を切り替えるランドスケープ設定手段、及び
エミュレーションモードにおいて、イメージ幅指定手段
より指定されたイメージ幅が紙サイズ検出手段で検出し
た紙サイズの横幅より大きいと判断した場合にランドス
ケープ設定手段を作動させるイメージ方向切替手段を備
えることを特徴とする。
(作用) ランドスケープ設定手段によりランドスケープ印字機能
を指定可能とする。この指定は、イメージ幅と紙サイス
の横幅とを比較することにより縦長での印字か不可能と
判断されると、ランドスケプ設定手段が自動的に行う。
これにより、ホストから受信したイメージか自動的に9
0°回転して印字できる。
(実施例) 以下、本発明の実施例を添付の図面を参照して次の順序
で説明する。
(a)電子写真プリンタの構成 〈全体の構成〉 〈ヒツトマツプ制御部の構成〉 〈ビットマツプ書込部の構成〉 (b)エミュレーションモードとビットマツプ制御の動
作 (C)イメージエリアとランドスケープ指定機能(d)
ヒツトマツプ制御の70− 〈スタートプロセス〉 〈スケジューラ〉 くユーザープロセス〉 くホストプロセス〉 (a)電子写真プリンタの構成 〈全体の構成〉 まず、プリンタおよびプリンタ・コントローラの概略構
成について説明する。
第1図は、本発明の実施例であるグラフィック描画の可
能なプリンタシステムlOの処理システムの構成を示す
。コンピュータなどの汎用のデータ処理装置(ホスト)
■からのデータは、データ処理装置lのスループットを
改善するために、ファイルバッファ2に格納された後、
プリンタシステム10に出力される。プリンタシステム
lOは、ビットマツプ方式のデータ処理ユニット3と、
電子写真プロセスとレーザ光学系を用いたプリントエン
ジン4よりなる。
なお、プリンタのカセットにセットされている紙のサイ
ズは、通常の手段で検出されるが、検出についての説明
は省略する。
第2図は、プリンタンステムlOの外観を示す。
プリンタシステム10は、データ処理ユニット3を内蔵
している。また、プリントエンジン4には、システムの
状態を示す表示が並べられた表示パネル44が装着され
ている。
第3図は、プリンタンステムlOの制御概略ブロック図
である。ビットマツプ方式データ処理ユニット3は、ビ
ットマツプ制御部(第4図参照)30、ビットマツプ用
のメモリ(BM−RAM)32、二のBM−RAM32
に描画を行なうビットマツプ書込部31(第5図参照)
、及びフォント部33よりなる。プリントエンジン4と
の接続は、制御データ(枚数、アクセサリ−など)用の
バスB3とイメージデータ用バスB4を介して行う。
プリントエンジン4は、3つのコントローラを中心に構
成される。まず、インターフェイス制御部40は、ビッ
トマツプ制御部30からの制御データの処理、表示パネ
ル44の制御、及び内部バスB5を通じてプリントエン
ジン4全体のタイミングの制御を行なう。電子写真制御
部41は、内部バスB5を通じてインターフェイス制御
部40から送られるデータに応じて、電子写真プロセス
部45の制御を行なう。プリントヘッド制御部42は、
内部バスB4を通じてビットマツプ書込部31から送ら
れてくる情報に従って、プリントへ、。
ド部43の半導体レーザーの発光やポリゴン・モータの
回転を制御する。
〈ビットマツプ制御部の構成〉 第4図は本発明によるビットマツプ制御部30の構成を
示す。全体の構成としては、データ入出力用のインター
フェイス301,309,310.311と、ビットマ
ツプ制御部の中心となるCPU303とそのシステムR
OM305.システムRAM307、CPU303に定
期的に割り込みをかけるタイマー302.そしてデータ
蓄積用のバッファメモリ304,306,308.31
2からなる。
Rバッフ7304は、ホストからデータ処理ユニットイ
ンターフェイス301を介して取り込まれた受信データ
を記憶するために用いる。URバッファ306は、後で
説明するユーザープロセスで他のプリンタ用のプロトコ
ルで送られてきたデータを本プリンタのプロトコルに変
換して記憶するために用いる。UTバッファ312は、
現在プリンタのカセットに設定されている紙のサイズを
記憶するために用いる。システムRAM307は、後述
のユーザープロセスのダウンロード領域も備える。パケ
ットバッファ308は、FIFOメモリであり、Rバッ
ファ304又はURバッファ306のデータを変換して
得られる中間コードであるパケットを記憶するために用
いる。CPU303は、後に説明するように、システム
ROM305に格納されたホストプロセス、パケットプ
ロセスの他、システムRAM307に格納されたユーザ
ープロセスも実行できる。
〈ビットマツプ書込部の構成〉 第5図は、ビットマツプ書込部31の詳細ブロック図を
示す。ビットマツプ書込部31の機能は大別して、BM
−RAM32への描画機能と、プリントの際にBM−R
AM32のデータをプリントエンジン4へ出力する機能
とに分かれる。
BM−RAM32への描画機能は、さらに2つに分けら
れ、グラフィックイメージ書込部316により行われる
線や円の描画と、フォントイメージ書込部311により
行われる7オント描画とからなる。両方ともビットマツ
プ制御部インターフェイス317を通じてビットマツプ
制御部30かも送られてくる中間コードで動作するロジ
ック部であるが、グラフィックイメージ書込部31f3
のほとんどの処理は、中間コード内のパラメータを解析
してBM−RAM32に描画するのに対して、フォント
イメージ書込部311のほとんどの処理は、中間コード
内のデータに従ってフォント部インターフェイス314
を通じて7オント部33から読み込んだフォントイメー
ジをBM−RAM32に描画する。
一方、プリントの際のデータ出力のal能は、プリント
ヘッド制御部インターフェイス315により行われる。
すなわち、ビットマツプ制御部30からビットマツプ制
御部インターフェイス317を介して送られてくるプリ
ント開始コードを受は取ると、プリントエンジン4のプ
リントヘッド制御部42からバスB4を澤じて送られて
くる同期信号に従って、BM−RAM32のデータをプ
リントヘッド制御部427こ出力する。
(b)エミュレーションモードとビットマツプ制御の動
作 次にビットマツプ制御部30の動作を説明する。
CPU303は、システムROM305とンステムRA
M307のプログラムによりBM−RAM32への描画
と電子写真プロセス部45での印字を制御する。
本プリンタシステムのプログラムには、システムROM
305に格納されているホストプロセス(第14図参照
)とパケットプロセス(図示しない)、及びシステムR
AM307のダウンロードセグメントlこ格納されてい
るユーザープロセス(第12図(a)、(b)参照)が
ある。これらの3つのプロセスは独立したプログラムと
なっており、優先順位のある時分割処理によって並行し
て動作している。優先順位はパケットプロセス、ホスト
プロセス、ユーザープロセスの順位となる。
システムROM305には、この他に、タイマー割り込
みによりこれらのプロセスの管理を行なうスケジューラ
(第11図参照)と、スタート時に起動される初期化の
ためのスタートプロセスが格納されている。
システムROM305内のスケジューラがタイマー30
2からのタイマー割り込みによって各プロセスを状態に
応じて切り替える。ここでシステムRAM3Q7内には
カレント・プロセス・ステータス(CPS)ブロックと
いう領域があって(第9図参照)、各プロセスの切り替
え時にCPU303のレジスタの内容がCPS内に退避
されるので、各プロセスは独立して動作を行うことかで
さる。このようなビットマツプ制御の動作は、本出願人
による特開昭63−231957号公報に開示されてい
る。本実施例との相違は、ユーザープロセスとホストプ
ロセスにおけるランドスケープ指示機能に関する部分だ
けである。
エミュレーションモードとは、他のプリンタ用のエミュ
レーションプログラムで動作するモードである。エミュ
レーションモードでは、ユーザープロセス、ホストプロ
セス、パケットプロセスが順次用いられる。
ここで、ユーザープロセス(第12図(a)。
(b)参照)は、他のプリンタに対応するプロトコルで
送られてきたデータを、ホストプロセスか解析可能な本
プリンタのプロトコル(ホストプロトコル)に変換し、
URバッファ306に書き込み、ホストプロセスに渡す
プログラムである。エミュレーションプログラムは、フ
ォントカートリッジまたは内蔵ROMさらにデータ処理
装置lからのダウンロードによって供給される。プロト
コル変換か必要なければコード変換は実行されない。
なお、本実施例ではユーザープロセスがロードされるの
は電源投入時か、カートリッジを後から挿入した場合に
ホストからのロード要求コードを受信した時となってい
るが、ロード方法及びそのタイミングは別にどのように
決めてもかまわない。
さらに、ユーザープロセスがカートリッジ内に複数存在
する場合も考えられるが、本実施例では考えていない。
ホストプロセス(第14図参照)は、データ処理装置1
から送られてきたRバンファ304又はURバッファ3
06内のデータの解析を行い、ビットマツプ書込部31
やプリントエンジン4を制御するための中間データであ
るバケットをバケットバッファ308に書き込む。
バケットプロセスは、バケットバッファ308内のバケ
ットを解析してヒツトマツプ書込部インターフェイス3
10よりビットマツプ書込部31へ、またはフォントイ
ンターフェイス309を通じてフォント部33へ、さら
にプリントエンジンインターフェイス311を通してイ
ンターフェイス制御部40ヘデータを送り、実際にBM
−RAM32への描画とプリントエンジン4の制御を行
う。
本実施例ではユーザープロセスとしてエミュレーション
プログラムを動作させ、そのエミュレーションプログラ
ム内でランドスケープ((c) In参照)とポートレ
ートを自動的に切り替える場合について説明する。
すでに説明したように、他のプリンタ用のプロトコルで
送られてきたデータは、Rバッファ304にまず格納さ
れる。プロセスの管理を行うスケジューラかタイマ割り
込みによりユーザープロセスに処理を切り替えると(第
11図参照)、起動されたユーザープロセスは、後に説
明するように、受信したイメージの幅が現在印字可能な
最大幅(即ちカセットにセットされている紙サイズの横
幅)を越えると判断するとランドスケープ指定コマンド
をURバッファに記憶し、さらに、Rバッファ304内
の受信データを取り出し、本プリンタのプロトコルに変
換した後、URバッファ306に蓄積する。よってデー
タの仮編集を行なうホストプロセスは、ユーザープロセ
スの起動時にはURバッフ7306内のデータを取出し
、非起動時にはRバッファ304内の欠信データを取り
出すだけで良く、他に変更の必要がない。また、プリン
タ動作を制御する他のプロセスを変更する必要もない。
従って、ユーザープロセスはデータの変換のみを行なう
簡単なものになり、エミュレーションソフトウェアの開
発も容易となる。
(C)イメージエリアとランドスケープ指定機能まずイ
メージエリアの考え方について説明する。
第6図と第7図に、ホスト1から受信した通常の場合(
ポートレート)のイメージデータのイメージエリアの例
を示す。ここで、全エリアAIで示される部分が、1枚
の紙のサイズに相当する。
マージンエリアA2は、実際に紙にプリントを行なう際
の余白部分で、BM−RAM32で印字データの描画が
行われるのは、残ったイメージエリアA3の部分である
。ホストから受信したデータより、第6図の場合、縦に
長いイメージエリアA3にイメージデータが発生され、
第7図の場合、横に長いイメージエリアA3にイメージ
データが発生される。なお、マージンエリアA2は、ホ
ストからの指定によりページ単位に変更が可能である。
ここで、レフトマージンA4とは、全エリアA1の左端
より文字の書出し位置まで、ライトマージンA5とは、
全エリアAIの左端よりイメージエリアA3の右端まで
をいう。
印字の開始は、イメージエリアA3の左上から行なわれ
、文字は印字方向AIOに従って順次印字される。途中
、改行コードが入力された場合、改行方向Allに、改
行幅A12だけ次の印字位置が移動する。また、復行コ
ードが入力されると、イメージエリア左端の復行位置A
I3に次の印字位置が移動する。印字の際の通紙方向A
14は、印字方向AIOと90°回転しに方向にある。
本プリンタのカセットにセットされている紙に印字可能
な最大幅は、ライトマージンA5やレフトマージンA4
から定まる。し7トマージンA4を一定とすると、印字
幅は、ライトマージンの最大値で定まり、これをイメー
ジの横幅と比較すると、印字可能か否かが判断できる。
本実施例のプリンタでは、既に説明したように、他のド
ツトプリンタのエミュレーションプログラムを走らせる
ことができるユーザープロセスとよぶプログラム(第1
2図(a)、(b)参照)を実行できる。そこで、他の
プリンタ用の表計算プログラムなどのアブリケーシッン
プログラムの場合、ホストlから送られたイメージの横
幅が本プリンタのカセットに設定された紙に印字可能な
幅を越えることがある。かかる場合には、そのままでは
そのイメージの印字はできない。
そこでランドスケープモードを設けて、第8図に示すよ
うに、受信したイメージを紙に対して90a回転して縦
長の形でBM−RAM32に展開し、印字するようにす
ればよい。
しかし、本実施例のプリンタでは、ランドスケープ指定
コマンドが無く、操作パネル上でランドスケープモード
を指定できない。そこで、エミュレーションプログラム
で所定の幅以上のイメージが発生されたと判断した場合
、ランドスケープ指定コマンドを発生させて、ホストよ
り受信した所定幅以上の横長イメージも紙に対して90
°回転して印字可能とした。
具体的には、エミュレーシ3ンプログラム、1プリンタ
にセットされている紙のサイズを要求するコマンドを送
り(第12150 (b)ステップ5514)、このコ
マンドに対応してプリンタで現在選択されているカセッ
トの紙サイズをUTバッファ312に書き込んでおく(
第17図(c)S 1365139)。そして、ユーザ
ープロセスでのライトマージン設定コマンドのコード変
換処理(第13図)において、1頁のイメージの初めな
らば、現在プリンタでセットされている紙のサイズを読
み込み、この紙サイズとエミュレーションプログラムで
指定されたイメージサイズとを比較する。
そして、イメージサイズが紙の横幅より大きい場合に、
ランドスケープ指定コマンドをURバッファ306に送
る。そして、ライトマージンにイメージサイズを設定す
る(第13図ステップ5601〜5605参照)。これ
により、ランドスケープ指定コマンドが無く、操作パネ
ル上でもその指定ができない本プリンタにおいて、現在
プリンタでセットされている紙の横幅よりも大きな横長
のイメージサイズが指定されt:場合に、自動的I2編
集イメージのサイズを90°回転して横長(ランドスケ
ープ)に切り替える二とができる(第8図参照)。
(d)ビットマツプ制御の70− 以下、フローチャートを参照しながらヒツトマツプ制御
の動作を詳細に説明する。なお、パケットプロセスは、
ポートレート(縦長)とランドスケープ(横長)の切り
替えに無関係であり、従来と同じなので、説明を省略す
る。
くスタートプロセス〉 810図はスタートプロセスを示すフローチャートであ
る。このプロセスはスタート時に1回だけ起動される。
このプロセスでは、システムRAM307のカレント・
プロセス・ステータス(CPS)ブロック(第9図参照
)において記憶されるリクエストベクターとカレントベ
クターの2つのステータスを表わすベクターが使用され
る。リクエストベクターは、タイマー割り込みによって
スケジューラ(第11t!!参照)が起動されたとき、
実行が中断されたプロセスがスケジューうに対して実行
の放棄と他プロセスの起動要ネを伝達するために使用さ
れ、各プロセスに対応すうビ)トがセットまたはリセッ
トされる。またカレントベクターは実行中のプロセスに
対応するヒツトをセットするようになっていて、スケジ
ューラが起動されたときは実行が中断されたプロセスの
ヒントかセットされている。
さらに、CPSブロックのCRTPR5にはカレントベ
クターの示すプロセスの番号が入っていて、70セスの
番号は優先順位が高い程大きくしである。
スタートプロセスでは、まず電源か投入されると(ステ
ップS1)、内部の初期化を行ない(ステップS2)、
Rバッファ304、URバンファ306、UT/(ッフ
ァ312、及びバケットバッファ(FIFOメモリ)3
08のクリアを行なう(ステップS3.S4.S5)。
次に、この後ユーザープロセスを起動するため準備動作
として、リクエストベクターのホストプロセスを示すビ
ットをセットしくステップS6)、カレントベクターの
ユーザープロセスを示すビットをセットしくステップS
7)、CRTPR3にユーザープロセスを示す番号を入
れる(ステップS8)。この後に、システムRAM30
7のCPSブロックの初期化を行なう(ステップS9)
。具体的には、各cpsでCPU303の実行アドレス
ポインタのデータを格納するエリアに、各プロセスプロ
グラムのスタートアドレス値を入れ、スタックポインタ
を格納するエリアに所定のアドレス値を入れる。また必
要に応じて他のポインタの初期値も入れる。
これらの初期設定を終えると割り込みを許可しくステッ
プ510)、タイマー割り込み待ち(ステップ5ll)
のループに入る。タイマー割込があると、スケジューラ
(第11図参照)が起動され、上記のリクエストベクタ
ー、カレントベクターCRTPR3を用いてスケジュー
ラは次のプロセスの実行先を決定する。
この様な構成を取ることによって、本プリンタと異なる
プロトコルのデータに対しても、ダウンロードを行なう
ユーザープロセスを変えることによって任意に対応可能
となる。
〈スケジューラ〉 第11図はタイマ割り込みによって起動されるスケジュ
ーラのフローを示す。まずタイマによる割り込みが入る
と(ステップ530)、CPUの各レジスタの値をCP
Sブロック内の退避エリアへ退避する(ステップ531
)。次にリクエストベクタにセットされているビットの
内で、最優先のプロセス番号をREQPR5に入れる(
ステップ532)。ここでCRTPRSには割り込み処
理を行う直前のプロセス番号が入っているので、これと
REQPR5を比較することによって、より優先順位の
高いプロセスの起動リクエストがあるかどうかを判断す
る(ステップ533)。上位プロセスの起動リクエスト
がない場合(ステップS33でNO)、処理中t;った
プロセス(CRTPRSが示している)がリクエストベ
クタのビットをリセットして先の実行を放棄しているか
どうかをチエツクしくステップ542)、もし放棄して
いないならば(ステップS42でYES)CPSブロッ
クの退避エリアの各レジスタのデータをCPUにセット
して(ステップ539)、復帰する。この場合タイマ割
り込みによって中断したプロセスがそのまま実行される
。もし先の実行を放棄している場合は(ステップS42
でNo)CRTPRSの示すプロセスよりも下位でかつ
最上位のプロセス番号をREQPR5に入れて(ステッ
プ541)、ステップS35に進み、ステップS33で
YESの場合と同様の処理を行う。ここではCRTPR
Sの示す実行を中断するプロセスのCPSに退避エリア
の値を転送しくステップ535) 、REQPR5の示
すプロセスのCPSの値を退避エリアに転送する(ステ
ップ536)。さらに、CRTPRSにREQPR5の
値を入れ(ステップ537)、REQPR5の示すプロ
セスのカレントベクタのビットだけをセットし、他はリ
セットする(ステップ538)。これらの処理によって
退避エリアにはREQPR5の示すプロセスのレジスタ
の値が入っているので、復帰先はREQPR5の示すプ
ロセスとなる。
〈ユーザープロセス〉 第12図(a)、(b)はユーザープロセスの処理例を
示すフローである。ユーザープロセス自体は対応するプ
ロトコルによっていくつかのプログラムが存在するであ
ろうが、基本的な形態はこの様になっている。特に、ス
テップ5501〜5504.5509は各ユーザープロ
セスで共通化しておかないと他のプロセスとの対応が取
れなくなる。
まず、Rバッファ304にデータが有ることをチエツク
しくステップ5501)、その後にURバッファ306
の空きをチエツクする(ステップ5502)。
URバンファ306の空きがないときは(ステ・ンプ5
502でNo)、ホストプロセスの起動要求をリクエス
トベクターによって行ない(ステップ5503)、UR
パン7ア304に空きを作るようにする。そして、55
Qlに戻る。
URバッファ306の空きがあるときは(ステップ55
02でYES)、Rバッファ304よりデータを取り込
み(ステップ5504)、プロトコル変換処理(ステッ
プ5505〜5508.5519)を行なう。すなわち
、制御コードであれば(ステンプ5505でYES)、
コード変換処理(ステップ5506.第13図参照)を
行い、必要ならばランドスケープ指定コマンドをURバ
ッファ306に送り、上位プロセス(ホストプロセス)
のリクエストベクターのビットをセットする(S 50
7)。
そしてステップ5501に戻る。制御コードでなければ
、次にステップ5508で印字データであるか否かを判
定する。印字データでなければ、データをそのままUR
バッファ306に書き込み(ステップ5509)、ステ
ップ5501に戻る。
ステップ5508で印字データであると判定されたとき
は、次にPAGE  WRITEフラグが0かどうか、
つまりそのページで初めて印字データを受けたかどうか
をチエツクしくステ・ツブ5511)、受信していると
き1iPAGE  WRITEフラグを1にセットする
(ステップ5512)。
その後にURバッファ306に空きがあるかどうかを見
て(ステップ5513)、空きがあれば(ステップ55
13でYES)、プリンタのカセットにセットされてい
る紙サイズを要求するペーパーサイズ要求コードをUT
バッファ312へ送る(ステップ5514)。そしてそ
のアンサ−が返ってくるまでUT−バッファ312を見
つづける(ステップ5515〜5517)。アンサ−が
返ってきたら(ステップ5517でYES)、その紙サ
イズデータとイメージサイズに応じてその紙サイズの横
幅値RI GHTMAXやページ長なとのイメージサイ
ズ設定パラメータ(第6図、第8図参照)をセットする
(ステップ5518)。最後に本プリンタのプロトコル
へのデータ変換を行い(5519)、URバッファ30
6に書き込み(ステップ5509)、ステップ5501
に戻る。
この実施例では受信データを制御コードと印字データに
分け、制御コードを受信した時のみホストプロセスの起
動要求を行なうようになっているが、リクエストベクタ
ーのセットのタイミングは変更を行なうプロトコルの形
態や処理効率を考慮して任意の位置で行なってもかまわ
ない。
次に、制御コードのコード変換処理(第12図ステップ
5505)の詳細を第13図に示す。
ステップ5601で、Rバッファ304よす読み込んだ
データがライトマージン設定コマンドであると判定され
たときは(ステップ5601でYES)、次にそのペー
ジに印字データが書き込まれたことを示すフラグPAG
E  WRITEが1かとうかをチエツクしくステップ
5602)、PAGE  WRITE7ラグが0のとき
、つまりそのページに印字データが書き込まれていない
とき(ステップ5602でYES)には、ステップ56
03以下の処理を行なう。ステップ5603ではライト
マージン設定コマンドのパラメータが印字可能エリアの
最大横幅を示すRIGHTMAXを越えているかどうか
をチエツクする。越えているとき(ステップ5603で
YES)は、横長印字をするためにランドスケープ指定
コマンドをURバッファ306へ送り(ステップ560
4)、現在のライトマージン値を示すRI GHTMG
にパラメータの値をセットする(ステップ5605)。
ステップ5603でNoのときはポートレート指定コマ
ンドをURバッファ306へ送り(ステップ5606)
、ステップ5605に入ってRIGHTMGにパラメー
タの値をセットする。ステップ5607〜5614のス
テップはPAGE  WRITEフラグの管理を示して
いる。まず、改頁コマンド(OCR)のときは(ステッ
プ5607でYES)PAGE  WRITEフラグを
Oにセットした後(ステップ5608)、改頁コマンド
をURバッファ306へ送る(ステップS 609) 次にラインフィードコマンドのときは(ステップ561
0でYES)Y方向のカーソルを1行分下方へ動かしく
ステップ5611)、Y方向のカーソルが設定されてい
るページ長を越えたかどうかをチエツクする(ステップ
5612)。
ここでページ長を越えt:ときは(ステップ5612で
YES)Y方向のカーソル値をOへ動かし、改頁の処理
(ステップ5608,5609)を行なう。
その他のコマンドのときはそのコマンドに対応した変換
コマンドをURバッファ306へ送るが(ステップ56
14)、ここでは詳しくは説明しな〈ホストプロセス〉 第14図はホストプロセスの動作を示スフローチャート
である。ホストプロセスの最初の起動は、前述のように
タイマー割り込みによって起動されたスケジューラがホ
ストプロセスに切り替えることによって行なわれる。こ
のとき、ビットマツプ制御部のCPU303のプログラ
ムカウンタにホストプロセスの先頭アドレスが設定され
る。
処理の流れを説明すると、まずホストプロセスに用いて
いるフラグの初期化を行う(ステップ551)。具体的
には、ユーザープロセスの実行の有無を示すUSERフ
ラグを0にリセットし、受信データ処理ルーチンで仮イ
メージ編集中であることを示すLPWRITEフラグを
0にセットする。そして、中間コード作成の準備として
フォント部33より7オント属性を読み込む(ステップ
552)。このときフォント部33のフォントカートリ
ッジ内にユーザープロセスか有るかどうかをチエツクし
て(ステップ553)、有りの場合はシステムRAM3
07の所定の領域にユーザープロセスをロードする(ス
テップ554)。そして、ロード終了(ステップ555
)を待ってユーザープロセスの実行を示すUSERフラ
グを1にセットしくステップ556)、リクエストベク
ターのユーザープロセスのビットをセットする(ステッ
プ557)。これは、最下位のプロセスであるユーザー
プロセスが有るときは常にリクエストベクターのビット
をセットしておき、自分自身の実行を放棄することの無
いようにするためである。これらの初期化動作(ステッ
プ551〜ステツプ557)を行なった後、主ループ(
ステップ558〜ステツプ563)に入る。
主ループではパケットバッファ308の空エリアかなく
なるとき(ステップ558でNo)、USERフラグ−
1のとき(ステップS59でYES)URバッファ30
6にデータがないとき(ステップ560でNo)、US
ERフラグ#0のとき(ステップS59でNo)でRバ
ッファ304が空になるとき(ステップ561でNo)
以外は、受信データ処理(ステップ562)を行なう。
また、受信データ処理を行なわないとき(ステップS5
8、ステップ560、ステップS61でNo)はJOB
OUT処理l(第処理図参照)を実行する(ステップ5
63)。JOBOUT処理1では、ホストプロセスがス
ケジューラに対して上位プロセス(実施例ではパケット
プロセス)への切り替えを要求するために、リクエスト
ベクターを更新する。
これらの流れから明らかなように、特定の条件(パケッ
トバッフy308の空エリアがないかまf−ハRバッフ
ァ304.URバッファ306が空きとか、他に受信デ
ータ処理内でも設定している)によってJOBOUT処
理lが実処理図リクエストベクターが更新されるまでは
、タイマー割り込みによってスケジューラが起動されて
も再びホストプロセスに戻ってくるので受信データ処理
をくり返して行なうことになる。
第15図は、JOBOUT処理lの7処理図示す。この
処理では、ホストプロセスがスケジューラ(第11図参
照)に対して上位プロセス(実施例ではパケットプロセ
ス)への切り替えを要求するために、リクエストベクタ
のパケットプロセスヒツトをセットしくステップ572
)、ユーザープロセスがある場合(ステップS73でY
ES)にはホストプロセスは最下位プロセスではないの
でリクエストベクタのホストプロセスのヒ゛・ントをリ
セットし自らの実行を放棄する。またユーザープロセス
の無い場合(ステップS73でNo)は、ホスト70セ
スが最下位プロセスとなるのでリクエストベクタのホス
トプロセスのヒツトはセットしたままにしておく。なお
、これらの処理中はタイマー割り込みを禁止して(ステ
ップ571,575)誤動作を防ぐようにしている。
受信データは、第16図に示すようにデータの受信割り
込みによってデータ処理インターフェイス301より取
り込まれ(ステップs 191)、Rバッファ304に
蓄積される(ステップ5192)。
受信データ処理(S62)のフローを第17図(a)、
 (b) 、 (c)に示す。
まず、受信データの処理を行なうためにRバッファ30
4よりデータを取り出す必要がある。ここで、ユーザー
プロセスが有る場合は(U S E Rフラグ−1)、
Rバッファ304のデータのプロトコル変換を行なった
後URバッファ306に蓄積されているのでユーザープ
ロセスを優先する。
そこで、USERフラグが1のときは(ステップ510
1でYES)URバッファ306より、USERフラグ
が0のときは(ステップ5101でNo)Rバッファ3
04よりデータを取り込む(ステップ5102.ステッ
プ5107)。
ここで受信データは次の6つに分類される。
・IFC関連コード(プリント・エンジン関連コード)
(ステップ5103〜ステツプ5105)・JOB制御
コード(JOBSTART、PAGEEJECTXステ
ップ5108〜ステップ5112)。
・書式制御コード(ステップ5113〜ステツプ・印字
データ(文字コード、グラフィックコード)(ステップ
5128〜ステツプ5134)・ユーザープロセス制御
コード(ステ・ノブ5l18〜ステツプs 122) ・プリンタステータス要求コード(ステ・7ブ5136
〜5t40) まず、印字データの場合は(ステップ5103゜ステッ
プ5108.5ILO,5113,5l15、5L17
5123.5126でいずれもNo)、対応するフォー
マットの中間コード(パケット)に変換してパケットバ
ッファ308に出力する。
すなわち、第17図(b)に示すように、仮イメージ編
集を示すLPWRITEフラグが0であれば(ステップ
5126でYES)、LPWRITEフラグを1にセッ
トする。次に文字コードの場合は(ステップ5128で
YES)、フォント・イメージ書込部311への7オー
マ・ノドと同じでフォント・パターンのアドレス(ステ
ップ5129)、イメージ・エリア上の印字位置に対応
するBM−RAM32への書込みアドレス(ステップ5
130)および書込みモード(ステップs 131)を
バケットバッファ308に出力する。グラフィックコー
ドの場合は(ステップ5133でYES)、グラフィッ
クイメージ書込部316へのコマンドと同一のフォーマ
ットでバケットバッファ308に出力される(ステップ
5134)。このとき、文字コードの場合は、次の文字
印字位置を更新しておく(ステップS l 32)。
第17図(a)に示すように、IFC関連コードの場合
は(ステップ5103でYES)、インターフェイス制
御部(IFC)40に出力するものであるが、印字デー
タとの同期をとるため、印字データとは形式の異なるフ
ァンクションタイプの中間コードとしてバケットバッフ
ァ308へ出力しくステップ5104)、JOBOUT
処理lを行処理区テップ5105)。
JOB制御フードには、ページの区切りに用いるPAG
E  EJECTコード(ステップ5LIOでYES)
と、ページ群の区切りに用いるJOBSTART(ステ
ップ5108でYES)の2つがある。どちらもIFC
関連コードと同様に、バケットバッファ308に出力す
る(ステップ5109、ステップ5ill)。
書式制御コードの場合は(ステップ5113でYES)
、印字の書式を制御する(5114)。
同一イメージのコピー枚数を指定するコピー枚数コード
の場合は(ステップ5115でYES)、印字データと
の同期をとるためバケットバッファ308に対応するフ
ァンクションを出力する。
第17図(b)図に示すように、ユーザープロセスロー
ド要求コードの場合は(ステップ5117でYES)、
ユーザープロセスの有無をチエツクしt二後(ステップ
5118)、フォントカートリッジよりユーザープロセ
スのプログラムのロード処理を行ない(ステップ511
9、ステップ5120)、USERフラグのセットをし
くステップ5121)、さらにリクエストベクターのユ
ーザープロセスビットをセットする(ステップS l 
22)。
またユーザープロセス解除コードの場合は(ステップ5
123でYES)逆にUSERフラグをリセットしくス
テップ5124)、リクエストベクターのユーザープロ
セスビットをリセットする(ステップ5125)。
第17図(C)に示すように、ペーパーサイズ要求コー
ドの場合は(ステップ5136でYES)、現在選択さ
れているカセットの紙サイズをインターフェイス制御部
40を通してプリントエンジン4より得て(ステップ5
137)、UTバッファ312に空きがある場合(ステ
ップ5138でYES)は、ペーパーサイズ要求コード
のアンサ−つまりペーパーサイズをUTバッファ312
へ書き込む(ステップS 139)。UTバッファ31
2に空きがない場合は(ステップ5138でNo)、J
○BOUT処理1によってパケットプロセスへ処理を移
し、UTバッファ312が空になるまで待つ。
(発明の効果) プリンタでカセットにセットした紙のサイズが変わった
場合、ポートレートでの印字が不可能になっても紙のサ
イズに応じてイメージサイズ(印字幅)を自動的に切り
替えることができる。
操作部よりランドスケープ印字を指定する機能かない場
合でも、アプリケーションプログラム側で設定したイメ
ージ幅と現在カセットにセットされている紙のサイズに
応じて、自動的にランドスケープ印字に切り替えること
ができる。
【図面の簡単な説明】
第1図は、プリンタシステムの構成図である。 第2図は、プリンタシステムの斜視図である第3図は、
プリンタシステムの制御系のブロック図である。 第4図は、ビットマツプ制御部のブロック図である。 第5図は、ビットマツプ書込部のブロック図である。 第6図は、縦に長いイメージ(ポートレート)の図であ
る。 第7図は、横に長いイメージ(ポートレート)の図であ
る。 第8図は、第7図の図を回転したランドスケープモード
でのイメージの図である。 第9図は、カレントプロセスブロンクの構成図である。 第1O図は、スタートプロセスの70−チャートである
。 第11図は、スケジューラのフローチャートである。 第12図(a)、(b)は、ユーザープロセスの70−
チャートである。 第13図は、コード変換処理のフローチャートである。 第14図は、ホストプロセスのフローチャートである。 第15図は、JOBOUT処理lのフローチャートであ
る。 第16図は、受信割込のフローチャートである。 第17図(a)、(b)、(c)は、受信データ処理の
フローチャートである。 30・・・ヒツトマツプ制御部、 32・・・BM−RAM、303・・・CPU。 304・・・Rバッファ、 306・・・URバッファ、 308・・・バケットバッファ、 312・・・UTバッファ。 特許出願人 ミ ノルタカメラ株式会社代 理 人 弁
理士 青白 葆 ほか2名第 ■ 図 第 図 第6図 人m甲ま方向 第7図 第 図 第 図 第11図 第10図 第15図 第17図(C)

Claims (1)

    【特許請求の範囲】
  1. (1)プリンタにセットされている紙のサイズを要求す
    るコマンドを送り、それに応じて紙のサイズを返すこと
    によって紙サイズを検出する紙サイズ検出手段、 紙サイズ検出手段より得た紙サイズに応じて、編集する
    イメージサイズを変えるイメージサイズ設定手段、 イメージ幅をホストからの命令により指定するイメージ
    幅指定手段、 描画するイメージを縦長から横長に変え、それに応じて
    使用するフォントの角度と印字方向を切り替えるランド
    スケープ設定手段、及び イメージ幅指定手段より指定されたイメージ幅が、紙サ
    イズ検出手段で検出した紙サイズの横幅より大きいと判
    断した場合にランドスケープ設定手段を作動させるイメ
    ージ方向切替手段を備えることを特徴とするプリンタ制
    御装置。
JP2105645A 1990-04-21 1990-04-21 プリンタ制御装置 Pending JPH044172A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2105645A JPH044172A (ja) 1990-04-21 1990-04-21 プリンタ制御装置
US07/687,677 US5220431A (en) 1990-04-21 1991-04-19 Image-forming apparatus having a landscape mode and a portrail mode

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2105645A JPH044172A (ja) 1990-04-21 1990-04-21 プリンタ制御装置

Publications (1)

Publication Number Publication Date
JPH044172A true JPH044172A (ja) 1992-01-08

Family

ID=14413193

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2105645A Pending JPH044172A (ja) 1990-04-21 1990-04-21 プリンタ制御装置

Country Status (1)

Country Link
JP (1) JPH044172A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07108718A (ja) * 1993-10-08 1995-04-25 Nec Corp 印字欠け防止機能を有する印刷装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07108718A (ja) * 1993-10-08 1995-04-25 Nec Corp 印字欠け防止機能を有する印刷装置

Similar Documents

Publication Publication Date Title
JP2692081B2 (ja) 画像メモリのアドレス制御方式
JP3805122B2 (ja) 情報処理装置及びその印刷設定方法及びコンピュータ読み取り可能なプリンタドライバプログラムが格納された記憶媒体
JP3007103B2 (ja) 印刷制御装置
JPH10285421A (ja) プリンタ色処理モード自動制御装置、その方法、その受信装置、システム及びその記憶媒体
US4991114A (en) Printer comprising display means for displaying operation state thereof
US4992882A (en) Printer
US5220431A (en) Image-forming apparatus having a landscape mode and a portrail mode
US20020051192A1 (en) Print apparatus, print control system, print control method, and storage medium
US4975858A (en) Controller for a printer for printing data received from an external data processor
JPH044172A (ja) プリンタ制御装置
JPH044171A (ja) プリンタ制御装置
JP2776894B2 (ja) プリンタコントローラおよび印刷制御方法
JP4058982B2 (ja) プリンタ
JP2737983B2 (ja) 印写装置及び印写装置の状態を表示する表示装置
JP3129679B2 (ja) プリンタ
JP2687408B2 (ja) プリンタ制御装置
JPH05309871A (ja) プリンタの制御装置
EP0473016B1 (en) Image forming apparatus
JPH10264455A (ja) プリンタ及びその動作方法
JP2792216B2 (ja) プリンタ装置
JPS63231957A (ja) プリンタ制御装置
JPH05301429A (ja) エラー回復機能付き印刷制御装置及び印刷制御方法
JP2982007B2 (ja) 表示装置
JP2715433B2 (ja) プリンタ
JPH09231027A (ja) 情報処理装置並びに印刷装置並びに印刷システムおよび印刷システムのデータ処理方法