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

プリンタ制御装置

Info

Publication number
JPH044171A
JPH044171A JP10564490A JP10564490A JPH044171A JP H044171 A JPH044171 A JP H044171A JP 10564490 A JP10564490 A JP 10564490A JP 10564490 A JP10564490 A JP 10564490A JP H044171 A JPH044171 A JP H044171A
Authority
JP
Japan
Prior art keywords
image
printer
landscape
data
buffer
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.)
Granted
Application number
JP10564490A
Other languages
English (en)
Other versions
JP3126367B2 (ja
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 JP10564490A priority Critical patent/JP3126367B2/ja
Priority to US07/687,677 priority patent/US5220431A/en
Publication of JPH044171A publication Critical patent/JPH044171A/ja
Application granted granted Critical
Publication of JP3126367B2 publication Critical patent/JP3126367B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Dot-Matrix Printers And Others (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、ドツトプリンタの制御装置に関する。
(従来の技術) プリンタで印字を行う場合、最初に書式設定を行う。こ
の際に、使用者の使用目的に応じて、用紙のサイズ、印
字幅、マージン、改行ピッチなどを設定する。使用者が
設定しなければ、所定の標準書式が初期値として設定さ
れる。
ドツトプリンタには、操作パネルに、受信した描画する
イメージをそのまま印字する縦長(ポートレート)と描
画するイメージを紙に対して900回転して印字する横
長(ランドスケープ)を指定するキー又は入力モードを
設けたものがある。この指定に対応して、使用する7オ
ントの角度や印字方向を切り替えることか可能になる。
プリンタが印字できる最大幅(たとえばレターサイズ(
8,5インチ))以上の幅のイメージデータかホストか
ら受信される場合は、この横長印字を指定すればよい。
これに対応して、ホストから受信された横長のイメージ
がプリンタ内での編集により紙に対して90°回転して
縦長のイメージとしてメモリに記憶され、これに対応し
て印字方向も切り替えられる。こうして、プリンタが印
字できる最大幅以上の横幅のイメージが紙に印字できる
(第8図参照)。
(発明が解決しようとする課題) ドツトプリンタの中には、コストなどの理由より操作パ
ネルより横長(ランドスケープ)印字を指定する機能や
横長印字指定コマンドがないものがある。
このようなプリンタでは、他のドツトプリンタ用のアプ
リケーションプログラムを走らせるエミュレーションモ
ードにおいて、他のドツトプリンタ用のアプリケーショ
ンプログラムで発生されたイメージを印字する場合、プ
リンタの印字可能な最大幅以上のイメージを発生するア
プリケーションプログラムは使用できない。
このような場合、アプリケーションプログラム側におい
て横長印字指定のコマンドを新しく追加するという手段
も考えられるが、アプリケーションプログラム側でこの
コマンドに対応していない場合はイメージデータを送る
前にユーザーがあらかじめ横長指定コマンドを送る必要
があり、使い勝手上あまり良くない。
本発明の目的は、ホスト側から受信されたイメージデー
タのエリアかプリンタの縦長印字可能な最大幅より大き
い場合tこ、横長印字を可能にしたプリンタの制御装置
を提供することである。
(問題点を解決するだめの手段) 本発明に係るプリンタ制御装置は、イメージ幅をホスト
からの命令により指定するイメージ幅指定手段、描画す
るイメージを縦長から横長に変え、それに応じて使用す
るフォントの角度と印字方向を切り替えるランドスケー
プ設定手段、及びイメージ幅指定手段より指定されたイ
メージ幅がプリンタの縦長印字可能な最大幅を越えたと
きにランドスケープ設定手段によって自動的にイメージ
の描画方向を切り替えるイメージ方向切替手段を備えた
ことを特徴とする。
(作用) ランドスケーグ設定手段により横長(ラン1゛スケープ
)印字機能を指定可能とする。この指定は、イメージ幅
とプリンタの印字可能な最大幅とを比較することにより
縦長での印字が不可能と判断されると、ランドスケープ
設定手段が自動的に行う。
これにより、ホストから受信したイメージか自動的に9
0°回転して印字できる。
(実施例) 以下、本発明の実施例を添付の図面を参照して次の順序
で説明する。
(a)を子写真プリンタの構成 〈全体の構成〉 〈ビットマツプ制御部の構成〉 〈ビットマツプ書込部の構成〉 (b)エミュレーションモードとピントマツプ制御の動
作 (C)イメージエリアとランドスケ−プ設定手段(d)
ピントマツプ制御のフロー 〈スタートプロセス〉 〈スケジューラ〉 〈ユーザープロセス〉 〈ホストプロセス〉 (a)を子写真プリンタの構成 〈全体の構成〉 まず、プリンタおよびプリンタ・コントローラの概略構
成につし1て説明する。
第1図は、本発明の実施例であるグラフィック描画の可
能なプリンタンステム10の処理/ステムの構成を示す
。コンピュータなとの汎用のブタ処理装置(ホスト)1
からのデータは、データ処理袋ff1lのスルーフット
を改善するために、ファイルハンファ2に格納された後
、プリンタ/ステム10に出力される。プリンタシステ
ムIOは、ヒツトマツプ方式のデータ処理ユニット3と
、電子写真プロセスとレーザ光学系を用いたプリントエ
ンジン4よりなる。
なお、プリンタのカセットにセットされている紙のサイ
ズは、通常の手段で検出されるか、検出についての説明
は省略する。
第2図は、プリンタ/ステム10の外観を示す。
プリンタンステム10は、データ処理ユニット3を内蔵
している。また、プリントエンジン4には、/ステムの
状態を示す表示が並べられた表示パネル44が装着され
ている。
第3図は、プリンタ7ステム10の制御概略ブロック図
である。ビットマツプ方式データ処理ユニント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から成
る。
Rバッファ304は、ホストからデータ処理ユニ7トイ
ンターフエイス301を介して取り込まれた受信データ
を記憶するために用いる。URバッファ306は、後で
説明するユーザープロセスで他のプリンタ用のプロトコ
ルで送られてきたブタを本プリンタのプロトコルに変換
して記憶するために用いる。システムRAM307は、
後述のユーザープロセスのダウンロード領域も備える。
パケットバッファ308は、FIF○メモリであり、R
バッファ304又はUR/(ッファ306(7)データ
を変換して得られる中間コードであるパケットを記憶す
るために用いる。CPU303は、後に説明するように
、システムROM305に格納され!ニホストプロセス
、パケットプロセスの他、システムRAM307に格納
されたユーザープロセスも実行できる。
〈ビットマツプ書込部の構成〉 第5図は、ビットマツプ書込部31の詳細ブロック図を
示す。ビットマツプ書込部31の機能は大別して、BM
−RAM32への描画機能と、プリントの際にBM−R
AM32のデータをプリントエンジン4へ出力する機能
とに分かれる。
BM−RAM32への描画機能は、さらに2つに分けら
れ、グラフィックイメージ書込部316により行われる
線や円の描画と、フォントイメージ書込部311により
行われるフォント描画とからなる。両方ともピントマツ
プ制御部インターフェイス317を通じてヒツトマツプ
制御部30から送られてくる中間コードで動作するロジ
ック部であるが、グラフインクイメージ書込部316の
ほとんとの処理は、中間コード内のパラメータを解析し
てBM−RAM32に描画するのに対して、フォントイ
メージ書込部311のほとんどの処理は、中間コード内
のデータに従ってフォント部インターフェイス314を
通してフォント部33から読み込んだフォントイメージ
をBM−RAM32に描画する。
方、プリントの際のデータ出力の機能は、プリントヘッ
ド制御部インターフェイス315により行われる。すな
わち、ヒツトマツプ制御部30からヒツトマツプ制御部
インターフェイス317を介して送られてくるプリント
開始コードを受は取ると、プリントエンジン4のプリン
トヘッド制御部42からバスB4を通じて送られてくる
同期信号に従って、BM−RAM32のデータをプリン
トヘッド制御部42に出力する。
′Cb)エミュレ=7ヨンモードとビノトマ/ブ制御の
動作 次にピントマツプ制御部30の動作を説明する。
CPU303は、システムROM305とンステムRA
M307のプログラムによりBM−RAM32への描画
と電子写真プロセス部45での印字を制御する。
本プリンタシステムのプログラムには、システムROM
305に格納されているホストプロセス(第14図参照
)とバケットプロセス(図示しない)、及びシステムR
AM307のダウンロードセグメントに格納されている
ユーザープロセス(第12図参照)がある。これらの3
つのプロセスは独立したプログラムとなっており、優先
順位のある時分割処理によって並行して動作している。
優先順位はパケットプロセス、ホストプロセス、ユーザ
ープロセスの順位となる。
システムROM305には、この他に、タイマー割り込
みによりこれらのプロセスの管理を行なうスケジューラ
(第11図参照)と、スタート時に起動される初期化の
だめのスタートプロセスが格納されている。
システムROM305内のスケジューラがタイマー30
2からのタイマー割り込みによって各プロセスを状態に
応して切り替える。ここで/ステムRAM307内には
カレント・プロセス・ステータス(CPS)ブロックと
いう領域かあって(第9図参照)、各プロセスの切り替
え時にCPU303のレジスタの内容がCPS内に退避
されるので、各プロセスは独立して動作を行うことかで
きる。このようなビットマツプ制御の動作は、本出願人
による特開昭63−231957号公報に開示されてい
る。本実施例との相違は、ユーザープロセスとホストプ
ロセスにおけるランドスケープ指示機能に関する部分だ
けである。
エミュレーションモードとは、他のプリンタ用のエミュ
レーションプログラムで動作するモードである。エミュ
レーションモードでは、ユーザープロセス、ホストプロ
セス、パケットプロセスが順次用いられる。
ここで、ユーザープロセス(第12図参照)は、他のプ
リンタに対応するプロトコルで送られてきたデータを、
ホストプロセスが解析可能な本プリンタのプロトコル(
ホストプロトコル)に変換し、URバッファ306に書
き込み、ホストプロセスに渡すプログラムである。エミ
ュレーションプログラムは、フォントカートリッジまた
は内蔵ROMさらにデータ処理装置lかものダウンロー
ドによって供給される。プロトコル変換が必要なければ
コード変換は実行されない。
なお、本実施例ではユーザープロセスかロードされるの
は電源投入時か、カートリッジを後から挿入した場合に
ホストからのロード要求コードを受信した時となってい
るが、ロード方法及びそのタイミングは別にどのように
決めてもかまわない。
サラに、ユーザープロセスがカートリッジ内に複数存在
する場合も考えられるが、本実施例では考えていない。
ホストプロセス(第14図参照)は、データ処理装置l
から送られてきたRバッファ304又はURバッファ3
06内のデータの解析を行い、ヒントマツプ書込部31
やプリントエンジン4を制御するための中間データであ
るバケットをバケットバッファ308に書き込む。
パケットプロセスは、パケントバッフ730g内のバケ
ットを解析してヒツトマツプ書込部インターフェイス3
10よりヒントマツプ書込部31へ、マを二はフォント
インターフェイス309t−通してフォント部33へ、
さら(こプリントエンジンインターフェイス311を通
してインターフェイス制御部40ヘデータを送り、実際
にBM−RAM32への描画とプリントエンジン4の制
御を行う。
本実施例ではユーザープロセスとしてエミュレーション
プログラムを動作させ、そのエミュレーションプログラ
ム内でランドスケープ((C)節参照)とポートレート
を自動的に切り替える場合について説明する。
すでに説明したように、他のプリンタ用のプロトコルで
送られてきたデータは、Rバッファ304にまず格納さ
れる。プロセスの管理を行うスケジューラがタイマ割り
込みによりユーザープロセスに処理を切り替えると(第
11図参照)、起動されたユーザープロセスは、後に説
明するように、受信したイメージの幅が本プリンタの印
字可能な最大幅を越えると判断するとランドスケープ指
定コマンドをURバンファに記憶し、サラに、Rバッフ
ァ304内の受信データを取り出し、本プリンタのプロ
トコルに変換した後、URバッファ306に蓄積する。
よってデータの仮編集を行なうホストプロセスは、ユー
ザープロセスの起動時にはURバッファ306内のデー
タを取出し、非起動時にはRバッファ304内の受信デ
ータを取り出すだけで良く、他に変更の必要かない。ま
た、プリンタ動作を制御する他のプロセスを変更する必
要もない。従って、ユーザープロセスはデータの変換の
みを行なう間車なものになり、エミュレーションソフト
ウェアの開発も容易となる。
(c)イメージエリアとランドスケープ指定機能まずイ
メージエリアの考え方について説明する。
第6図と第7図に、ホスト1から受信した通常の場合(
ポートレート)のイメージデータのイメージエリアの例
を示す。ここで、全エリアAIで示される部分が、1枚
の紙のサイズに相当する。
マージンエリアA2は、実際に紙にプリントを行なう際
の余白部分で、BM−RAM32で印字データの描画か
行われるのは、残ったイメージエリアA3の部分である
。ホストから受信したデータより、第6図の場合、縦に
長いイメージエリアA3にイメージデータか発生され、
第7図の場合、横に長いイメージエリアA3にイメージ
データか発生される。なお、マージンエリアA2は、ホ
ストからの指定によりページ単位に変更が可能である。
ここで、レフトマージンA4とは、全エリアAIの左端
より文字の書出し位置まで、ライトマージンA5とは、
全エリアAIの左端よりイメージエリアA3の右端まで
をいう。
印字の開始は、イメージエリアA3の左上から行なわれ
、文字は印字方向AIOに従って順次印字される。途中
、改行コードが入力された場合、改行方向Allに、改
行幅AI2だけ次の印字位置か移動する。また、復行コ
ードが入力されると、イメージエリア左端の復行位置A
13に次の印字位置か移動する。印字の際の通紙方向A
14は、印字方向AlOと90°回転した方向にある。
本プリンタの印字可能な最大幅は、ライトマージンA5
やレフトマージンA4から定まる。レフトマージンA4
を一定とすると、印字幅は、ライトマージンの最大値で
定まり、これをイメージの横幅と比較すると、印字可能
か否かか判断できる。
本実施例のプリンタでは、既に説明したように、他のド
ツトプリンタのエミュレーションプログラムを走らせる
ことができるユーザープロセスとよぶプログラム(第1
2図参照)を実行できる。そこで、他のプリンタ用の表
計算プログラムなとのアプリケーションプログラムの場
合、第7図に示すような横長のイメージかホスト1から
送られて、イメージの横幅か本プリンタの印字可能な幅
を越えることがある。かかる場合には、そのままではそ
のイメージの印字はできない。
そこでランドスケープモードを設けて、第8図に示すよ
うに、受信したイメージを紙に対して90°回転して縦
長の形でBM−RAM32に展開し、印字するようにす
ればよい。
しかし、本実施例のプリンタでは、ランドスケプ指定コ
マンドか無く、操作パネル上でランドスケープモードを
指定できない。そこで、エミュレーンヨンプログラムで
所定の幅以上のイメージか発生されたと判断した場合、
ランドスケープ指定コマンドを発生させて、ホストより
受信した所定幅以上の横長イメージも紙に対して90°
回転して印字可能とした。
具体的には、ユーザープロセスでのエミュレンヨン70
グラムのライトマージン設定コマンドのコード変換処理
(第13図ステップ5602〜5605参照)において
、1頁のイメージの初めならば、プリンタの印字可能な
横幅とエミュレーンヨンプログラムで指定されたイメー
ジエリアとを比較する。そして、イメージサイズが印字
可能な最大横幅より大きい場合に、ランドスケープ指定
コマンドをURバッファ306に送る。そして、ライト
マージンにイメージサイズを設定する。これによりラン
ドスケーグ指定コマンドが無く、操作パネル上でもその
指定ができない本プリンタにおいて、印字可能な最大横
幅よりも大きな横長のイメージサイズが指定された場合
に、ランドスケープ指定コマンドに対応して自動的に編
集イメージのサイズを90°回転して横長(ランドスケ
ープ)に切り替えることができる(第8図参照)。
(d)ピントマツプ制御のフロー 以下、フローチャートを参照しながらビットマツプ制御
の動作を詳細に説明する。なお、パケットプロセスは、
ポートレート(縦長)とランドスケープ(横長)の切り
替えに無関係であり、従来と同じなので、説明を省暗す
る。
〈スタートプロセス〉 第10図はスタートプロセスを示すフローチャートであ
る。このプロセスはスタート時に1回だけ起動される。
このプロセスでは、システムRAM307のカレント・
プロセス・ステータス(CPS)ブロック(第9図参照
)において記憶されるリクエストベクターとカレントベ
クターの2つのステータスを表わすベクターが使用され
る。リクエストベクターは、タイマー割り込みによって
スケジューラ(第11図参照)か起動されたとき、実行
か中断されたプロセスかスケジューラに対して実行の放
棄と他プロセスの起動要求を伝達するために使用され、
各プロセスに対応するビットかセットまたはリセットさ
れる。またカレントベクターは実行中のプロセスに対応
するビットをセットするようになっていて、スケジュー
ラが起動されたときは実行が中断されたプロセスのヒツ
トかセントされている。
さらに、CPSブロックのCRTPR5にはカレントベ
クターの示すプロセスの番号が入っていて、プロセスの
番号は優先順位が高い程大きくしである。
スタートプロセスでは、まず電源か投入されると(ステ
ップSl)、内部の初期化を行ない(ステップS2)、
Rバッファ304、URバッファ306、及びバケット
バッファ(FIFOメモリ)308のクリアを行なう(
ステップS3.S4.S5)。
次に、この後ユーザープロセスを起動するため準備動作
として、リクエストベクターのホストプロセスを示すピ
ントをセットしくステップS6)、カレントベクターの
ユーザープロセスを示すヒ′ントをセットしくステップ
S7)、CRTPR3にユーザープロセスを示す番号を
入れる(ステップS8)。
この後に、システムRAM307のCPSブロックの初
期化を行なう(ステップS9)。具体的には、各CPS
でCPU303の実行アドレスポインタのデータを格納
するエリアに、各プロセスプログラムのスタートアドレ
ス値を入れ、スタックポインタを格納するエリアに所定
のアドレス値を入れる。また必要に応して他のポインタ
の初期値も入れる。
これらの初期設定を終えると割り込みを許可しくステッ
プ510)、タイマー割り込み待ち(ステップ5ll)
のループに入る。タイマー割込があると、スケジューラ
(第11図参照)が起動され、上記のリクエストベクタ
ー、カレントベクターCRTPR5を用いてスケジュー
ラは次のプロセスの実行先を決定する。
この様な構成を取ることによって、本プリンタと異なる
プロトコルのデータに対しても、ダウンロードを行なう
ユーザープロセスを変えることによって任意に対応可能
となる。
くスケジューラ〉 第11図はタイマ割り込みによって起動されるスケジュ
ーラの70−を示す。まずタイマによる割り込みが入る
と(ステップ530)、CPUの各レジスタの値をCP
Sブロック内の退避エリアへ退避する(ステップ531
)。次にリクエストベクタにセントされているピントの
内で、最優先のプロセス番号をREQPR5に入れる(
ステップ532)。ここでCRTPR5には割り込み処
理を行う直前のプロセス番号か入っているので、これと
REQPR5を比較することによって、より優先順位の
高いプロセスの起動リクエストかあるかとうかを判断す
る(ステップ533)。上位プロセスの起動リクエスト
かない場合(ステップ333でNO)、処理中だったプ
ロセス(CRTPR5が示している)がリクエストベク
タのビ・ントをリセットして先の実行を放棄しているか
どうかをチエツクしくステップ542)、もし放棄して
いないならば(ステップS42でYES)CPSブロッ
クの退避エリアの各レジスタのデータをCPUにセット
して(ステップ539)、復帰する。この場合タイマ割
り込みによって中断したプロセスがそのまま実行される
。もし先の実行を放棄している場合は(ステップS42
でNo)CRTPR5の示すプロセスよりも下位でかつ
最上位のプロセス番号をREQPR5に入れて(ステッ
プ541)、ステップS35に進み、ステップS33で
YESの場合と同様の処理を行う。ここではCRTPR
5の示す実行を中断するプロセスのCPSに退避エリア
の値を転送しくステップ535) 、REQP’R5の
示すプロセスのcpsの値を退避エリアに転送する(ス
テップ536)。さらに、CRT P RS l: R
E Q P RSの値を入れ(ステップ337)、RE
QPR3の示すプロセスのカレントベクタのビットだけ
をセットし、他はリセットする(ステップ538)。こ
れらの処理によって退避エリアにはREQPR5の示す
プロセスのレジスタの値が入っているので、復帰先はR
EQPR3の示すプロセスとなる。
くユーザープロセス〉 第12図はユーザープロセスの処理例を示すフローであ
る。ユーザープロセス自体は対応するプロトコルによっ
ていくつかのプログラムが存在するであろうが、基本的
な形態はこの様になっている。特に、ステップ5501
−5504.5509は各ユーザープロセスで共通化し
ておかないと他のプロセスとの対応が取れなくなる。
まず、Rバッファ304にデータが有ることをチエツク
しくステップ5501)、その後にUR/<ッファ30
6の空きをチエツクする(ステップ5502)。
UR,(ッ7ア306の空きかないときは(ステップ5
502でNo)、ホストプロセスの起動要求をリクエス
トベクターによって行ない(ステップS 503)、U
Rバッファ304に空きを作るようにする。そして、5
501に戻る。
URバッファ306の空きがあるときは(ステップ55
02でYES)、Rハンファ304よりデータを取り込
み(ステップ5504)、プロトコル変換処理(ステッ
プ8505〜5508.5513)を行なう。すなわち
、制御コードであれば(ステップ5505でYES)、
フード変換処理(ステップ5506、第13図参照)を
行い、必要ならばランドスケープ指定コマンドをURバ
ッファ306に送す、上位プロセス(ホストプロセス)
のリクエストベクターのビットをセントする。そしてス
テップ5501に戻る。制御コードでなけれは、次にス
テップ5508で印字データであるか否かを判定する。
印字データでなければ、データをそのままURバッファ
306に賓き込み(ステップ5509)、ステップ55
011こ戻る。
ステップ5508で印字データであると判定されたとき
は、次にPAGE  WRITEフラグが0かどうか、
つまりそのページで初めて印字データを受けたかどうか
をチエツクしくステップ5511)、受信しているとき
1まPAGE  WRITEフラグを1にセットする(
ステップ5512)。
最後にデータ変換を行い(5513)、URバッフ73
06に書き込み(ステップS 509)、ステップ55
01に戻る。
この実施例では受信データを制御コードと印字データに
分け、制御コードを受信した時のみホストプロセスの起
動要求を行なうようになっているか、リクエストベクタ
ーのセントのタイミングは変更を行なうプロトコルの形
態や処理効率を考慮して任意の位置で行なってもかまわ
ない。
次に、制御コードのコード変換処理(第12図ステップ
s 505)の詳細を第13図に示す。
ステップ5601で、Rバッファ304より読み込んだ
データがライトマージン設定コマンドであると判定され
たときは(ステップ5601でYES)、次にそのペー
ジに印字データが書き込まれたことを示すフラグPAG
E  WRITEが1かとうかをチエツクしくステップ
5602)、PAGE  WRITEフラグが0のとき
、つまりそのページに印字データが書き込まれていない
とき(ステップ5602でYES)には、ステップS6
03以下の処理を行なう。ステップ5603ではライト
マージン設定コマンドのパラメータが印字可能エリアの
最大横幅を示すRI GHTMAXを越えているかとう
かをチエツクする。越えているとき(ステップ5603
でYES)は、横長印字をするためにランドスケープ指
定コマンドをURバッファ306へ送り(ステップ56
04)、現在のライトマージン値を示すRI GHTM
Gにパラメータの値をセットする(ステップ5605)
。ステップ5603でNOのときはポートレート指定コ
マンドをURバッファ306へ送り(ステ・ン7’56
06)、ステップ5605に入ってRI GHTMGに
パラメータの値をセントする。ステ・7プ5607〜5
614のステップはPAGE  WRITEフラグの管
理を示している。まず、改頁コマンド(OCH)のとき
は(ステップ5607でYES)PAGE  WRIT
Eフラグを0にセントした後(ステップ5608)、改
頁コマンドをU R/(−ンファ306へ送る(ステ7
プ5609) 次にラインフィードコマンドのときは(ステ・ンプ56
10でYES)Y方向のカーソルを1行分下方へ動かし
くステップ5611)、Y方向のカーソルか設定されて
いるページ長を越えたかどうかをチエツクする(ステッ
プ5612)。
ここでページ長を越えたときは(ステップ5612でY
ES)Y方向のカーソル値を0へ動かし、改頁の処理(
ステップ5608,5609)を行なう。
その他のコマンドのときはそのコマンドに対応した変換
コマンドをUR/Xツファ306へ送るが(ステップ5
614)、ここでは詳しくは説明しない。
〈ホストプロセス〉 第14図はホストプロセスの動作を示すフローチャート
である。ホストプロセスの最初の起動は、前述のように
タイマー割り込みによって起動されたスケジューラがホ
ストプロセスに切り替えることによって行なわれる。こ
のとき、ヒ・7トマ・ンプ制御部のCPU303のプロ
グラムカウンタにホストプロセスの先頭アドレスが設定
される。
処理の流れを説明すると、まずホストプロセスに用いて
いるフラグの初期化を行う(ステップ551)。具体的
には、ユーザープロセスの実行の有無を示すUSERフ
ラグをOにリセットし、受信データ処理ルーチンで仮イ
メージ編集中であることを示すLPWRITEフラグを
0にセットする。そして、中間コード作成の準備として
フォント部33よりフォント属性を読み込む(ステップ
552)。このときフォント部33のフォントカートリ
ッジ内にユーザープロセスか有るかどうかをチエツクし
て(ステップ553)、有りの場合はシステムRAM3
07の所定の領域にユーザープロセスをロードする(ス
テップ554)。そして、ロード終了(ステップ555
)を待ってユーザープロセスの実行を示すUSERフラ
グを1にセットしくステップ556)、リクエストベク
ターのユーザープロセスのビットをセットする(ステッ
プ557)。これは、最下位のプロセスであるユーザー
プロセスが有るときは常にリクエストベクターのビット
をセットしておき、自分自身の実行を放棄することの無
いようにするためである。これらの初期化動作(ステッ
プ558〜ステツプ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、ステップ561でNO)はJOB
OUT処理I (第15図参照)を実行する(ステップ
563)。JOBOUT処理lでは処理区トプロセスが
スケジューラに対して上位プロセス(実施例ではパケッ
トプロセス)への切り替えを要求するために、リクエス
トベクターを更新する。
これらの流れから明らかなように、特定の条件(パケッ
トバッファ308の空エリアがないかまたはRバッファ
304.URバッファ306が空きとか、他に受信デー
タ処理内でも設定している)によってJOBOUT処理
1が実行されリクエストベクターが更新されるまでは、
タイマー割り込みによってスケジューラが起動されても
再びホストプロセスに戻ってくるので受信データ処理を
くり返して行なうことになる。
第15図は、JOBOUT処理lのフローを示す。この
処理では、ホストプロセスがスケジューラに対して上位
プロセス(笑施例ではパケットプロセス)への切り替え
を要求するために、リクエストベクタのパケットプロセ
スビットをセットしくステップ572)、ユーザープロ
セスがある場合(ステップS73でYES)にはホスト
プロセスは最下位プロセスではないの゛でリクエストベ
クタのホストプロセスのビットをリセットし自らの実行
を放棄する。またユーザープロセスの無い場合(ステッ
プ573でNO)は、ホストプロセスが最下位プロセス
となるのでリクエストベクタのホストプロセスのヒツト
はセットしたままにしておく。
なお、これらの処理中はタイマー割り込みを禁止して(
ステップ571,575)誤動作を防ぐようIこしてい
る。
受信データは、第16図に示すようにデータの受信割り
込みによってデータ処理インターフェイス301より取
り込まれ(ステップ5191)、Rバッファ304に蓄
積される(ステップ5192)。
受信データ処理(S62)のフローを第17図(a)、
(b)に示す。
まず、受信データの処理を行なうためにRバッファ30
4よりデータを取り出す必要がある。ここで、ユーザー
プロセスが有る場合は(U S E Rフラグ=1)、
Rバッファ304のデータのプロトコル変換を行なった
後URバy 7−r 306に蓄積されているのでユー
ザープロセスを優先する。
そこで、USERフラグが1のときは(ステップ510
1でYES)URバッファ306より、USER7ラグ
がOのときは(ステップ5101でNo)Rバッファ3
04よりデータを取り込む(ステップ5102.ステッ
プ5107)。
ここで受信データは次の6つに分類される。
・IFC関連コード(プリント・エンジン関連コード)
(ステップ5103〜ステツプ5105)・JOB制御
コード(JOBSTART、PAGEEJECTXステ
ップ5IO8〜ステップ5112)。
・書式制御フード(ステップ5113〜ステツプ・印字
データ(文字コード、グラフィックコード)(ステップ
5128〜ステツプ5134)・ユーザーフロセス制御
コード(ステップ5l18〜ステツプ5122) まず、印字データの場合は(ステップ5103.510
8.5ilo、5113.5115.5117.512
3.5126でいずれもNO)、対応するフォーマット
の中間コード(パケット)に変換してパケットバッファ
308に出力する。すなわち、第17図(b)に示すよ
うに、仮イメージ編集を示すLPWRITEフラグがO
であれば(ステップ5126でYES)、LPWRIT
Eフラグを1にセットする。次に文字コードの場合は(
ステップ5128でYES)、フォント・イメージ書込
部311へのフォーマットと同じでフォント・パターン
のアドレス(ステップ5129)、イメージ・エリア上
の印字位置に対応するBM−RAM32への書込みアド
レス(ステップ5130)お、1−び書込みモード(ス
テップ5131)をパケットバンフ7308に出力する
。グラフィックコードの場合は(ステップ5133でY
ES)、グラフィックイメージ書込部316へのコマン
ドと同一のフォーマットでパケットバッファ308に出
力される(ステップ5134)。このとき、文字コード
の場合は、次の文字印字位置を更新しておく(ステップ
5132)。
第17図(a)に示すように、IFC関連コードの場合
は(ステップ5103でYES)、インターフェイス制
御部(IFC)40に出力するものであるが、印字デー
タとの同期をとるため、印字デ−夕とは形式の異なるフ
ァンクションタイプの中間コードとしてバケットバッフ
ァ308へ出カシ(ステップ5104)、JOBOUT
処理1を行う(ステップ5105)。
JOB制御コードには、ページの区切りに用いるPAG
E  EJECTコード(ステップ5llOでYES)
と、ページ群の区切りに用いるJOBSTART(ステ
ップ5108でYES)の2つがある。どちらもIFC
関連コードと同様に、バケットバッファ308に出力す
る(ステップ5109 ステップS 111)。
書式制御コードの場合は(ステップ5113でYES)
、印字の書式を制御する(S 114)。
同一イメージのコピー枚数を指定するコピー枚数コード
の場合は(ステップ5115でYES)、印字データと
の同期をとるためバケットバッファ308に対応するフ
ァンクションを出力する。
817図(b)図に示すように、次にユーザープロセス
ロード要求コードの場合は(ステップ3117でYES
)、ユーザープロセスの有無をチエツクしt二後(ステ
・ンプ5118)、フォントカートリ・ンジよりユーザ
ープロセスのプログラムのロード処理を行ない(ステッ
プS 119、ステップ5120)、USERフラグの
セントをしくステップ5121)、さらにリクエストベ
クターのユーザープロセスヒツトをセットする(ステッ
プ5122)。
またユーザープロセス解除コードの場合(ステップ51
23でYES)は逆にUSERフラグをリセットしくス
テップ5124)、リクエストペクタのユーザープロセ
スビットをリセットする(ステップ5125)。
(発明の効果) アプリケーションプログラム側で設定したイメージ幅と
プリンタが印字可能な幅に応じて、自動的にランドスケ
ープ印字に切り替えることができるようになる。特に操
作部よりランドスケープを指定する機能がないプリンタ
の場合でも、使い勝手がよくなる。
【図面の簡単な説明】
第1囚は、プリンタシステムの411成図である。 第2図は、プリンタンステムの斜視因である第3図は、
プリンタンステムの制御系のブロック図である。 第4図は、ビットマツプ制御部のブロック図である。 第5図は、ビットマツプ書込部のブロック図である。 第6図は、縦長のイメージの図である。 第7図は、横長のイメージの図である。 第8図は、第7図の図を回転したランドスケープードで
のイメージの図である。 第9図は、カレントプロセスブロンクの構成図である。 第10[fflは、スタートプロセスのフローチャート
である。 第11図は、スケジューラのフローチャートである。 第12図は、ユーザープロセスのフローチャトである。 第13図は、コード変換処理の70−チャートである。 第14図は、ホストプロセスの70−チャートである。 第15図は、JOBOUT処理lのフローチャートであ
る。 第16図は、受信割込のフローチャートである。 第17図(a)、(b)は、受信データ処理のフローチ
ャートである。 30・・・ビットマツプ制御部、 32・・・BM−RAM、303・・・CPU、304
・・・Rバッファ、 306・・・URバッファ、 308・・・バケットバッファ。 特許出願人 ミ ノルタ カ メ ラ株式会社代 理 
人 弁理士 青白 葆 ほか2名第 図 第 図 囚旦甲ま方向 第6図 第7図 第 図 AIO印字方向 第 図 第11図 第1O図 第 15図

Claims (1)

    【特許請求の範囲】
  1. (1)イメージ幅をホストからの命令により指定するイ
    メージ幅指定手段、 描画するイメージを縦長から横長に変え、それに応じて
    使用するフォントの角度と印字方向を切り替えるランド
    スケープ設定手段、及び イメージ幅指定手段より指定されたイメージ幅がプリン
    タの縦長印字可能な最大幅を越えたときにランドスケー
    プ設定手段によって自動的にイメージの描画方向を切り
    替えるイメージ方向切替手段を備えたことを特徴とする
    プリンタ制御装置。
JP10564490A 1990-04-21 1990-04-21 プリンタ制御装置 Expired - Lifetime JP3126367B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP10564490A JP3126367B2 (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
JP10564490A JP3126367B2 (ja) 1990-04-21 1990-04-21 プリンタ制御装置

Publications (2)

Publication Number Publication Date
JPH044171A true JPH044171A (ja) 1992-01-08
JP3126367B2 JP3126367B2 (ja) 2001-01-22

Family

ID=14413165

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10564490A Expired - Lifetime JP3126367B2 (ja) 1990-04-21 1990-04-21 プリンタ制御装置

Country Status (1)

Country Link
JP (1) JP3126367B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0635613A1 (en) 1993-07-19 1995-01-25 Ryobi Ltd. A sliding door stopper device
KR100415805B1 (ko) * 2001-04-27 2004-01-24 니토 코키 가부시키가이샤 미닫이문 프리스톱 장치
CN116048433A (zh) * 2021-10-28 2023-05-02 珠海奔图电子有限公司 图片的云打印方法、云打印系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0635613A1 (en) 1993-07-19 1995-01-25 Ryobi Ltd. A sliding door stopper device
KR100415805B1 (ko) * 2001-04-27 2004-01-24 니토 코키 가부시키가이샤 미닫이문 프리스톱 장치
CN116048433A (zh) * 2021-10-28 2023-05-02 珠海奔图电子有限公司 图片的云打印方法、云打印系统

Also Published As

Publication number Publication date
JP3126367B2 (ja) 2001-01-22

Similar Documents

Publication Publication Date Title
JP2692081B2 (ja) 画像メモリのアドレス制御方式
JP3805122B2 (ja) 情報処理装置及びその印刷設定方法及びコンピュータ読み取り可能なプリンタドライバプログラムが格納された記憶媒体
WO1992001269A1 (en) Raster image processor for all points addressable printer
JPH0412874A (ja) プリンタ制御装置
JP2001125756A (ja) 出力システム、出力装置、ホスト装置、これらの制御方法、および、情報記録媒体
JP4029391B2 (ja) プリンタ
JPH044171A (ja) プリンタ制御装置
JP2776894B2 (ja) プリンタコントローラおよび印刷制御方法
JPH044172A (ja) プリンタ制御装置
JP3020498B2 (ja) 印刷処理システム
JP2687408B2 (ja) プリンタ制御装置
JP2737983B2 (ja) 印写装置及び印写装置の状態を表示する表示装置
JPS63231957A (ja) プリンタ制御装置
JP2792216B2 (ja) プリンタ装置
JPH0459268A (ja) プリンタ制御装置
JPH10193748A (ja) 情報処理方法及びシステム並びに記憶媒体
JPH0465262A (ja) ページプリンタ
JP2982007B2 (ja) 表示装置
JPH02120060A (ja) プリンタ制御装置
JPH03161828A (ja) プリンタ制御装置
JP2715433B2 (ja) プリンタ
JP2003099232A (ja) 印刷制御装置、印刷装置、印刷制御システム、フォントダウンロード方式決定方法、印刷制御方法、記憶媒体、及びプログラム
JPH10301725A (ja) 印刷装置及び情報処理装置及びシステム、及び制御方法及び記憶媒体
JPH0796642A (ja) プリンタの制御装置
JP2003015849A (ja) 印刷制御装置及び印刷制御方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071102

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081102

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091102

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101102

Year of fee payment: 10

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101102

Year of fee payment: 10