JP2812412B2 - プリンタ制御装置及び方法 - Google Patents

プリンタ制御装置及び方法

Info

Publication number
JP2812412B2
JP2812412B2 JP4125137A JP12513792A JP2812412B2 JP 2812412 B2 JP2812412 B2 JP 2812412B2 JP 4125137 A JP4125137 A JP 4125137A JP 12513792 A JP12513792 A JP 12513792A JP 2812412 B2 JP2812412 B2 JP 2812412B2
Authority
JP
Japan
Prior art keywords
data
printer
emulation
program
processing
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.)
Expired - Fee Related
Application number
JP4125137A
Other languages
English (en)
Other versions
JPH05324930A (ja
Inventor
聡 永田
正明 清水
裕 村上
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP4125137A priority Critical patent/JP2812412B2/ja
Publication of JPH05324930A publication Critical patent/JPH05324930A/ja
Application granted granted Critical
Publication of JP2812412B2 publication Critical patent/JP2812412B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Dot-Matrix Printers And Others (AREA)
  • Record Information Processing For Printing (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はプリンタ制御装置及び方
法、詳しくはプリンタ言語を解析するプリンタ制御装置
及び方法に関するものである。
【0002】
【従来の技術】この種の装置の代表的なものとしては、
高精細・高速性を可能にしたページプリンタ、特にレー
ザビームプリンタが上げられる。そして、最近ではアウ
トラインフォントをはじめとする拡大縮小によらず滑ら
かな文字を印刷する機能を始めとし、様々な機能を有す
るものも登場している。
【0003】この種の装置は、今現在活用している多く
のアプリケーションソフトの資産を継承すべく、それら
のアプリケーションが印刷対象としていた従来のプリン
タをエミュレートする機能を有していることが多い。ま
た、プリンタ側で解釈できるプリンタ言語も多数あるの
で、それらの言語コマンドも解釈できるようにするた
め、複数機種をエミュレートする装置も登場している。
【0004】さて、こうしたエミュレート機能を有する
プリンタにおいては、少なくとも1つの印刷処理が開始
されると、1つのエミュレーションが選択される。以
後、その処理が完了するまで、そのエミュレーションが
選択され続ける。
【0005】
【発明が解決しようとする課題】しかしながら、個々の
プリンタ言語には向いている分野とそうでない分野とが
あることも事実である。従って、1つのプリンタ言語を
使用して印刷させると、どうしてもその言語の短所の部
分による問題が起こる可能性がある。尚、その問題は、
処理時間の問題であったり、印字品質の問題であったり
する。
【0006】
【課題を解決するための手段】本発明はかかる問題に鑑
みなされたものであり、印刷しようとする同一頁に対し
て複数の異なる制御言語で記述された入力データを許容
し、それぞれの制御言語で記述された部分を合わせて1
頁分の印刷を行なわせることを可能ならしめるプリンタ
制御装置及び方法を提供しようとするものである。
【0007】この目的を達成するため、例えば本発明の
プリンタ制御装置は以下の構成を備える。すなわち、入
力データに基づいて印刷データを生成して印刷させるプ
リンタ制御装置であって、入力データ中の第1制御言語
部分を解析することで第1出力データを生成する第1解
析手段と、入力データ中の第2制御言語部分を解析する
ことで第2出力データを生成する第2解析手段と、前記
第1出力データと第2出力データに基づいて1ページ分
の印刷データを生成する生成手段とを備える。
【0008】また、上記目的を達成する本発明のプリン
タ制御方法は以下に示す工程を備える。
【0009】入力データに基づいて印刷データを生成し
て印刷させるプリンタのプリンタ制御方法であって、入
力データ中の第1制御言語部分を解析することで第1出
力データを生成する第1解析工程と、入力データ中の第
2制御言語部分を解析することで第2出力データを生成
する第2解析工程と、前記第1出力データと第2出力デ
ータに基づいて1ページ分の印刷データを生成する生成
工程とを備える。
【0010】
【作用】かかる本発明の構成において、入力データ中の
第1制御言語部分を第1解析手段で解析して第1出力デ
ータを生成し、第2制御言語部分を第2解析手段で解析
して第2出力データを生成する。そして、生成手段でも
って、それぞれから生成された第1、第2出力データに
基づいて1ページ分の印刷データを生成する。
【0011】
【実施例】以下、添付図面に従って本発明に係る実施例
を詳細に説明する。尚、実施例ではレーザビームプリン
タ(解像度300dpi)を例にして説明するが、以下
の説明から明らかになるように、プリント方式として
は、熱転写、インクジェット、或いは、ワイヤードット
インパクト方式等にも適応可能である。従って、かかる
方式で本願発明が限定されるものではない。
【0012】[構成概念及び動作概要の説明]図1は実
施例の画像形成装置の構成概念図を示している。同図に
従って本実施例の動作概要を説明すると以下の通りであ
る。
【0013】本装置には印刷データ発生源としての複数
の外部装置301,302が接続されるようになってお
いる(そのための複数の入力インターフェースを備えて
いる)。101は後述するプリンタ制御ユニットを示
し、外部装置301,302から送出された印刷データ
を入力部11が受信する。そして、入力部11は一番最
初に印刷データを送出してきた外部装置のみのデータを
有効とし、その外部装置から印刷データが入力され続け
ている間は、他の装置からの印刷データ受信を不能にす
る。
【0014】受信された印刷データは、その内容が解析
され、本装置のどの解析部で印刷処理するのかを判断す
る。換言すれば、入力部11は、受信した印刷データ中
に含まれる制御コマンドを調べ、そのコマンドがどのよ
うなプリンタ言語に対応するものかを判断し、複数の解
析部12a,12bのうちそのプリンタ言語を解釈でき
る解析部にその印刷データを渡す処理を行う。すなわ
ち、この入力部11は自動インターフェース切り換え及
び自動解析部切り換えを含む。
【0015】解析部12a,12bを別の言い方をすれ
ば、異なるプリンタ言語中の制御コマンドを解釈する機
能を有するエミュレーションプログラムとなるが、実施
例で注目すべき点は、いずれの解析部(エミュレーショ
ンプログラム)でも共通な中間表現の言語データ(以
下、単に中間言語データという)を発生するだけで、ド
ット展開に係る処理は行わない。尚、この中間言語デー
タについての詳細は後述する。
【0016】各解析部は、自身に適したプリンタ言語を
入力してその結果を、中間表現発生標準ライブラリ13
(ドットパターン発生にかかる各種関数の集合体)及び
フォントスケーラ15a,15bを参照することで、ド
ットパターン生成用の中間言語データを作成する。繰り
返すが、各解析部で解析するプリンタ言語はそれぞれ異
なるが、それぞれで生成される中間言語データが共通で
ある。
【0017】従って、どの解析部から出力されても1つ
の共通なドットパターン展開部(ラスタライザ)14に
渡すことが可能になり、そこでドットデータとしてペー
ジメモリ(ビットマップメモリ)16に展開される。こ
うして、ページメモリ18に展開されたドットイメージ
を順次ビデオ信号として出力部17が出力機構(プリン
タエンジン)200に出力することで、印刷が行われる
ことになる。
【0018】以上のように処理することで、解析部(エ
ミュレーションプログラム)を新規に作成する場合、ド
ット展開処理にかかるプログラムを含まず、単にラスタ
ライザ14が実行できる形式のデータを作成するプログ
ラムだけでよいので、制作にかかる負担は軽減する。ま
た、その解析部の規模(メモリ容量)も当然のことなが
ら小さくできるので、コスト低減に寄与することも可能
になる。
【0019】[中間言語データの説明]ここで、中間言
語について説明する。
【0020】通常、受信した印刷データは、人間から見
て比較的にわかり易いものである。換言すれば、その印
刷データは、画像形成装置内のCPUが直接解釈できる
形式のデータにはなっていない。また、1つ1つの印字
データを受信しては、その受信データをその場で解釈し
て対応するドットデータを発生する処理を行ってもよい
のであるが、それに要する時間は無視できず、結果とし
て外部装置は印刷データ出力処理から解放されるまでの
時間が長くなる。
【0021】そこで、受信データを先ず、それより低い
レベルの言語データ(CPUが解釈し易い形式のデー
タ)に変換し、その変換データを記憶保持させる。そし
て、その低レベル言語データが後述する中間言語エリア
24Cに例えば1ページ分蓄えられたとき、実際のドッ
ト展開処理を行うようにする。ここで言う低レベル言語
データを実施例では中間言語データと呼んでいる。
【0022】例えば文字1つ印字するにしても、文字
種、拡大率、印字位置、回転方向、修飾情報等様々な情
報があってはじめて、CPUは1つの文字パターンを発
生し、それを印刷用メモリに展開できる。そこで、実施
例における各解析部12a,12bで発生する中間言語
データの形式は、下記の如く、そのデータが何の処理の
ためのデータであるのかを識別する識別コード、及び、
その処理に渡すパラメータが連続した形式とした。
【0023】中間言語データの形式(バイナリデータ:
…識別コード、p1、p2、…pn、識別コード、p
1、p2、…pm、…(p1等はパラメータを示し、そ
のパラメータ数は識別コードに依存する)ラスタライザ
14は、こうして生成された中間言語データを実行する
場合には、その識別コードに対応する関数(サブルーチ
ンプログラム)を中間表現発生標準ライブラリ13から
取り出し(或いは直接コールし)、それを実行する。こ
のとき、対応するパラメータが存在するのであれば、そ
の実行に先だって、そのパラメータも引き渡す。
【0024】ここで、実施例における実施例の処理の流
れの概略を簡単に示したのが、図4及び図5である。図
4は文字ハンドリングにかかる処理内容を示し、図5は
イメージにかかる処理内容を示している。図4について
簡単に説明すると、解析部12a(又は12b)は入力
部11を介して受信したデータ中に含まれる位置指定コ
マンド、フォント選択コマンド、文字コード等を受ける
と、そのデータを解析し、中間言語発生標準ライブラリ
13内に格納された各種関数を特定する識別情報(ID
コード)と、それに付随させる引き数(パラメータ)を
発生し、中間表現の情報を生成する。これは、図5のイ
メージに対する解析部12a(又は12b)でも同じで
ある。生成される情報としては、文字の場合には文字の
ビットマップ、物理X,Y座標の指定、クリッピング情
報をはじめとする各種情報がある。また、イメージデー
タの場合、解析部12a(又は12b)は入力した各イ
メージの確保及びその確保されたイメージを特定する情
報を発生すると共に、中間表現のデータにはその確保し
格納されたイメージを展開する位置やクリッピング情
報、更には必要な場合(受信した印刷データ中にその旨
の指示データがある場合)にはイメージ変形情報等を中
間表現のデータにする。
【0025】ここで、文字ハンドリング時の中間言語の
例を図22に示し、イメージハンドリング時のそれを図
23に示す。文字ハンドリング時に発生する中間言語に
は、図示の如く、クリッピング情報、描画論理情報、拡
大率情報、ビットマップパターン等がある。また、イメ
ージハンドリング時の中間言語にも同様の形式のデータ
の他、イメージパターンに関するものが含まれる。勿
論、これら中間言語データが実施例で扱う中間言語デー
タの全てではない。文字或いはイメージのいずれにして
も、発生する中間言語データの先頭には、各中間言語デ
ータが何を意味するのかを示す識別IDコード(呼び出
す関数を特定する情報)が存在する。そして、各識別I
Dの後に続く情報は、その識別情報の処理を行う(つま
り、ライブラリ13内の関数を読み出す)ときに渡され
る引き数であって、それらの個数は識別IDに依存して
いる。
【0026】尚、クリッピング情報(文字ハンドリング
及びイメージハンドリング共通に存在する)とは、指定
された矩形領域(その左上隅のX,Y座標と横幅と高さ
で特定される)内でのみ、文字パターン或いはイメージ
を展開するようにするためのものである。換言すれば、
これ以降のデータ展開に対しては、更なるクリッピング
情報がない限り、この領域を越えた部分には展開しない
ようにする宣言文である。また、描画論理情報(文字ハ
ンドリング及びイメージハンドリング共通に存在する)
における、引き数“描画論理情報”には、パターン或い
はイメージを展開するときの論理式を指定する指示情報
を格納する。具体的には、文字パターン(或いはイメー
ジ)をページメモリ16に展開するとき、既に展開され
ているパターンに対して上書き展開か、透過展開(論理
和)か、或いは排他的論理和展開かなどを指示する情報
が格納される。尚、この場合も、格別な指示がない限り
は、これ以降に対しては同じ論理に従って処理されるこ
とを示している。また、拡大率情報には、実施例の装置
においては、縦方向と横方向の拡大率が独立しているの
で、2つの引き数を有する。また、ビットマップパター
ンに対しては、展開しようとするビットマップパターン
1つを特定する情報の他に、その展開する座標位置のパ
ラメータが存在する。
【0027】イメージハンドリング時の中間言語データ
もほぼ同様であるが、ここではその特徴である受信イメ
ージを展開する場合の中間言語データの形式について説
明する。先に説明したように、イメージデータを受信し
た場合には、解析部12a(又は12b)は受信イメー
ジを後述するRAM24のワークエリア24aにそのデ
ータを格納し、それに対して一意なID番号を発生す
る。図23(C)中の“イメージパターンコード”は、
このIDコードを示している。また、それに続く、6つ
のパラメータは、勿論、イメージパターン展開する処理
(ライブラリ中の関数)に渡される引き数であるが、そ
の意味するところは、イメージパターンコードで特定さ
れるイメージデータをどのように変形させるのかを示す
データである。具体的には、これら6つの情報は、イメ
ージパターン展開の関数が変形処理するときに使われる
行列式内の各要素を示している。イメージパターン展開
関数は、指定されたパターン中の個々の画素の原座標
(XS,YS)を、与えられたパラメータからなる行列式
によって計算することで変形先座標(XD,YD)を計算
し、原パターン中の(XS,YS)に存在する画素を座標
(XD,YD)に転送する処理を行う。尚、これらの座標
は、印刷用のイメージを展開するメモリの絶対的な座標
値を示すものではなく、クリッピング情報で特定された
矩形内のローカルな座標値である。
【0028】尚、図4或いは図5において、解析部12
a,12bに入力される印字データの形式は、当然のこ
とながら、その解析部の解析対象となるプリンタ言語に
よって大きく異なる。
【0029】[具体的構成の説明]次に上述した実施例
の画像形成装置の具体的構成例を図2に示す。尚、後述
する各実施例においても本図を共通の構造として説明し
ている。
【0030】図示において、21は後述するプリンタ制
御ユニットであり、21a,21bは外部装置(ホスト
コンピュータ等)301,302と接続するためのイン
ターフェース(I/F)である。但し、各々のインター
フェースはパラレル、シリアルをとわずどのようなもの
であっても良い。22は本装置全体の制御を司るCP
U、23はCPU22が実行する処理手順中の基本的な
プログラム(I/Fを介してのデータ取り込みや後述す
る図6のフローチャートに係るプログラム等)を記憶し
ているROMである。24はRAMであって、CPU2
2が各種処理を実行中に参照されるワークエリア24
a、受信した印刷データの一時格納用の受信バッファエ
リア24b、或いは先に説明した中間言語データを格納
する中間言語エリア24c等を有する。尚、このRAM
24には、これ以外にも各種データエリアが作成される
が、それについては後述する。25a,25bは各種プ
リンタ言語を解釈するエミュレーションプログラムを格
納したメモリ(図1で言うところの解析部12a,12
bに対応する)であり、このメモリ25a,25bはR
OM等で構成される。26はドットパターン発生にかか
る各種関数の集合体を記憶した中間言語発生用ライブラ
リメモリ(図1で言うところの中間表現発生標準ライブ
ラリ13に対応する)である。また、27a,27b
は、フォントスケーラデータを格納しているメモリであ
って、実施例で図示の如く複数種類の文字(例えばゴシ
ック体とか明朝体等)を印刷することができるようにな
っている。これらフォントスケーラメモリ27a,27
bの内容には、それぞれの文字種のアウトラインフォン
トデータ15及びそのデータに基づいて最終的な文字パ
ターンを発生させるためのプログラムが含まれている。
このメモリ26,27a,27bもROM等で構成され
る。
【0031】28は少なくとも1ページ分のドットイメ
ージを展開するだけの容量を有したビットマップメモリ
(図1のページメモリ16に対応する)である。29
は、ビットマップメモリ28に展開されたドット情報を
順次ビデオ信号としてプリンタエンジン部200に出力
する出力I/Fである。31は、各種設定内容等を記憶
保持している不揮発性メモリ(以下、NVRAM)であ
って、例えばE2PROM等から構成されている。30
は各種操作ボタン及びLCD表示部から構成される操作
パネルである。32は、外部装置301,302からR
AM24上のワークエリア24aにダウンロードした各
種データを必要に応じて格納するハードディスクであ
る。そして、これら各構成要素はシステムバス33に接
続されている。
【0032】次に実施例のレーザビームプリンタのプリ
ンタエンジン部200の構造を図3に従って説明する。
【0033】図示で、100はレーザビームプリンタ本
体であり、101はプリンタ制御ユニットであって、図
2における点線枠内の各構成要素が含まれている。この
プリンタ制御ユニット101は主に文字情報を対応する
文字パターンのビデオ信号に変換してレーザドライバ1
02に出力する。
【0034】レーザドライバ102は半導体レーザ10
3を駆動するための回路であり、出力I/F29を介し
て入力されたビデオ信号に応じて半導体レーザ103か
ら発射されるレーザ光104をオン・オフ切り換えす
る。レーザ光104は回転多面鏡105で左右方向に振
らされて静電ドラム106上を走査露光する。これによ
り、静電ドラム106上には文字パターンの静電潜像が
形成されることになる。この潜像は静電ドラム106周
囲に配設された現像ユニット107により現像された
後、記録紙に転写される。この記録紙にはカットシート
を用い、カットシート記録紙はLBP100に装着した
用紙カセット108に収納され、給紙ローラ109及び
搬送ローラ110と111とにより、装置内に取り込ま
れて、静電ドラム106に供給される。
【0035】[処理内容の説明]説明が前後するが、実
施例では、例えば外部装置301が印刷データを出力し
てくると、対応するI/F21aがCPU22に割り込
み信号を発生する。この割り込み信号を受けて、CPU
22は割り込み処理(ルーチン)を実行するが、簡単に
説明すれば以下の通りである。
【0036】割り込みルーチンでは、割り込みがかかっ
たI/F21aから受信データを読み出し、それを受信
バッファエリア24bに格納する処理を行う。但し、電
源投入時など、全てのI/Fが解放されている場合に
は、最初に印刷データを入力した(最初に割り込み信号
を発生した)I/Fのみを有効にし、その他のI/Fを
不能状態にする(印字データを受け付けないようにす
る)。
【0037】上記割り込み処理が行われることを念頭に
いれて、実施例のCPU22の動作処理手順(メイン処
理)を図6に従って説明する。
【0038】先ず、本装置に電源が投入されると、ステ
ップS1において初期化処理を行う。この初期化処理に
は入力用I/F21a,21bを全て解放する等の処理
も含まれる。次のステップS2では、全てのI/F21
a,21bをオンライン状態(データ受信可能状態)に
なっているかどうか判断し、オンライン状態のときには
ステップS3に進んで、受信バッファ24bに印刷デー
タが格納されているかどうかを判断する。
【0039】受信データが存在した場合、処理はステッ
プS4に進んで、I/F解放時間を初期化(不図示のタ
イマをリセット)する。このI/F解放時間の意味は後
述の説明から明らかにする。
【0040】次いで、ステップS5では、その受信した
データをどの解析部で処理するのか決定しているかどう
か、つまり、エミュレーションプログラムメモリ25
a,25bのどれを使用するか決まっているかどうかを
判断する。初期状態では、これが決まっていないので、
この場合にはステップS6に進むが、印刷データに対す
る処理はある程度進んでいて、つまり、エミュレーショ
ンプログラムが決まっている場合にはステップS9に分
岐する。
【0041】ステップS6では、受信バッファエリア2
4bに格納されたデータ中に含まれる制御コードに基づ
いてどのプリンタ言語のデータなのかを判断し、対応す
るエミュレーションプログラムを選択する処理を行う。
そして、このとき、対応するエミュレーションプログラ
ムが存在しない、或いは複数個存在し得ると判断された
場合(ステップS7)には、ステップS8に進んで予め
決められたエミュレーションプログラムを選択する。勿
論、このとき複数の候補が存在すると判断した場合に
は、その候補の中で一番優先順位が高いエミュレーショ
ンプログラムを選択する(優先順位は予め決められてい
るものとする)。こうして、1つのエミュレーションプ
ログラムが決定されることになる。
【0042】さて、ステップS5で、既にエミュレーシ
ョンプログラムの1つが決定されていると判断された場
合、ステップS6で適合するエミュレーションプログラ
ムの1つが選択された場合、更にはデフォルトのエミュ
レーションプログラムが選択された場合、処理はステッ
プS9に進む。
【0043】このステップS9では、決定された(或い
は既に決定されている)エミュレーションプログラム
(解析部)を実行(コール)する。ここで実行されるエ
ミュレーションプログラムは、各々のエミュレーション
毎にその処理内容が異なるが、いずれにしてもこの解析
処理が実行されて本メインルーチン(ステップS10)
に復帰した場合には、1枚の記録紙に印刷すべき中間言
語データがRAM24中の中間言語エリア24cに格納
されている状態になっている。
【0044】そこで、次のステップS10では、生成さ
れた中間言語データに基づいてビットマップメモリ28
に対応するパターン展開処理を行う。
【0045】こうして、1枚の記録紙に記録すべきパタ
ーンが展開されると、処理はステップS11に進み、出
力I/F29を介した公知のビデオ信号の出力処理によ
る印刷処理を行うことになる。そして、1枚の印刷処理
が終わると、ステップS3に戻り、上述した処理を繰り
返すことになる。この間、I/F解放時間がその都度リ
セットされると共に、エミュレーションプログラムが決
定されているわけであるから、ステップS5の判断は
“YES”になって、ステップS6〜ステップS8の処
理は行われない。
【0046】一意に決定されたエミュレーションプログ
ラムに基づく印刷処理を進めていって、それまで印刷デ
ータを出力していた外部装置が印刷データ出力を止め、
且つ、受信バッファエリア24bに処理すべきデータが
存在しなくなると、処理はステップS3からステップS
12に分岐することになる。
【0047】ここでは、I/F解放時間が所定以上経過
したか否かを判断する。つまり、いままで受信していた
外部装置が一連の印字データの出力処理を終えたのか否
かを判断する。所定時間経過していないと判断した場合
には、ステップS2に進んで、ステップS3及びS12
をループすることになる。そして、所定時間経過して
も、それまで受信対象であった外部装置から印刷データ
が受信されないと判断した場合には、ステップS12か
らステップS13に進んで、全ての入力用のI/F21
a,21bを解放して、全ての外部装置301,302
からの受信を許可状態にする。
【0048】以上の処理の如く、メイン処理では、それ
ぞれのエミュレーションプログラムで作成された共通な
中間言語データに従ってビットマップメモリ28への展
開を行うので、それぞれのエミュレーションプログラム
はそのビットマップデータの展開処理から解放されるこ
とになる。
【0049】ここで、ステップS9でのエミュレーショ
ンプログラムの解析処理内容の一例を図7のフローチャ
ートに従って説明する。尚、以下に説明するエミュレー
ションプログラムは、ページ記述言語の1つに対応した
ものである。
【0050】メイン処理から本エミュレーションプログ
ラム、例えばエミュレーションプログラムメモリ25a
がコールされると、ステップS21において、受信バッ
ファエリア24bに格納された受信データを使って解析
処理をする。そして、次のステップS22において、そ
のデータが改ページコマンド(印字コマンド)であるか
どうかを判断する。改ページコマンドでないと判断した
ら、ステップS23に進んで、そのデータを解析し(ス
テップS23)、中間言語発生用ライブラリメモリ26
に格納されている各種関数に対する識別コード及びそれ
らに渡すパラメータを生成し(ステップS24)、それ
を中間言語エリア24cに格納する。以下、改ページコ
マンドが検出されるまで、ステップS21以下の処理を
繰り返し、その改ページコマンドが検出されたら、メイ
ン処理のステップS10に復帰する。
【0051】こうして、メインルーチンに復帰した時点
では、中間言語エリア24cには1ページ分の中間言語
データが生成されることになる。
【0052】尚、例えばキャリッジを往復運動させて印
刷を行うことを意図したプリンタ専用のプリンタ言語に
対するエミュレーションプログラムは、原則としては同
様の処理を行う。但し、必ずしも改ページコマンドを受
信するとは限らないので、ステップS22に対応する処
理では、そのエミュレートしようとする言語の対する行
ピッチに基づく行数も判断の対象とする。
【0053】また、例えば、格別使用するフォントの指
定することがないプリンタ言語を受信しても(そのエミ
ュレーションプログラムが特定のフォントスケーラに依
存しないプログラムであっても)、ユーザが操作パネル
30上で使用するフォントスケーラを選択したり、或い
は予めそれを決めておくだけで(設定内容はNVRAM
に記憶保持させれば良い)、自分好みの印刷結果を得る
ことが可能になる。換言すれば、装置自身が有するフォ
ントスケーラ15a,15bを共通の財産として、自由
に使用することも可能になる。
【0054】以上説明したように本実施例によれば、共
通な中間言語発生用ライブラリメモリ26を有すること
で、各エミュレーションプログラム25a,25bはそ
の共通な中間言語データを生成するだけの処理を行えば
良い。従って、エミュレーションプログラムを新規に開
発する場合の開発環境は向上し、且つ、そのために要す
るメモリ量も少なくて済むので、コスト低減を図ること
も可能になる。また、1つのエミュレーションプログラ
ムが、複数のフォントスケーラのフォントを切り換え使
用することも可能になる。
【0055】尚、上述した実施例では、各解析部は1ペ
ージ分の中間言語を生成する度にメインルーチンに復帰
したが、必ずしも1ページ分の中間言語データを待つ必
要はない。また、中間言語データに基づくドットパター
ン展開処理が並行動作するようにしても良い。
【0056】[第2の実施例の説明]上述した実施例
(第1の実施例という)では、装置自身が予め有してい
たフォントスケーラ15a,15bを使用したが、外部
装置が適宜、所望とするフォントスケーラ15cを本装
置に送信し、登録するようにしても良い。つまり、本装
置がフォントスケーラデータを外部装置からダウンロー
ドする。この例を第2の実施例として以下に説明する。
なお、新規登録するフォントスケーラは1種類に限定さ
れるものではなく2種類以上であっても構わない。
【0057】本第2の実施例の概念を図8に示し、その
処理概要を説明する。
【0058】同図において、例えば、外部装置301か
らは、本装置にダウンロードさせるための制御コマンド
(ダウンロードコマンド)と、ダウンロードするのがフ
ォントスケーラデータであることを示すコード、送出す
る総バイト数及びフォントスケーラデータとチェックサ
ム用のデータを送ってくる。尚、ダウンロードコマンド
以外にそのデータの種類を示すコードを送って来るの
は、ダウンロード対象はフォントスケーラデータのみで
はないからである(それについては後述する実施例で説
明する)。このダウンロードコマンドかどうかの判断処
理は、その性質上、入力部11が通常の印字データが入
力された場合のプリンタ言語を判別する処理(図6のス
テップS6)の前に判断するものとする。なお、外部装
置は外部装置301に限らず、外部装置302或いはそ
の他の外部装置であってもよい。
【0059】勿論、各エミュレーションプログラムにダ
ウンロードコマンドかどうかの判断処理、及びもしそう
ならダウンロードを行う処理を追加してもよい。ここで
ダウンロードするプログラム自身は、必ずしも各エミュ
レーションプログラムが有する必要はなく、そのプログ
ラムをROM23に記憶させておけば、ダウンロードコ
マンドか否かの判断とその処理をコールする処理だけで
よいことになるので、その分のメモリ量は無視できる。
【0060】本第2の実施例では、外部装置はダウンロ
ードコマンドとフォントスケーラ(拡大縮小し、文字パ
ターンを発生するプログラム及びそのアウトラインフォ
ントデータ)の総バイト数を示すデータに続いて、実際
のフォントスケーラのデータを送出する。そして、それ
らデータはRAM24の受信バッファ24bに格納され
るものとする。
【0061】こうして送られてきたフォントスケーラデ
ータは、最終的にRAM24上のワークエリア24aに
格納される。そして、RAM24のワークエリア24a
に確保されているフォントスケーラの管理情報(フォン
ト属性テーブル)が更新される。しかし、電源をOFF
にするとこのダウンロードしたデータ及びフォント属性
テーブルが消えてしまうので、必要に応じて、ハードデ
ィスク32にこのダウンロードしたデータを格納し、電
源をONにした際に,このデータに基づいてフォント属
性テーブルを再生させることもできる。尚、RAM24
は不図示のバックアップ電源によってその内容が保持さ
れるようになっているものとする。
【0062】このようにして、ユーザは新たにダウンロ
ードしたフォントスケーラ15cを共通の資源として活
用することも可能になっている。すなわち、既存のフォ
ントスケーラ15a,15bと同様に、ダウンロードし
たフォントスケーラデータは、各エミュレーションプロ
グラムに依存せず、自由に選択することが可能になる。
【0063】上述した処理を実現するため、本第2の実
施例のCPU22の動作処理手順を図9のフローチャー
トに従って説明する。尚、このフローチャートは図6の
ステップS5の判断処理で“NO”と判断されたとき、
すなわち、ステップS6の直前に挿入される。
【0064】ここで、ステップS5の判断が“NO”と
なるのは、印刷すべき解析部(エミュレーションプログ
ラム)が決定していないと判断されたとき、つまり、電
源投入して最初に印刷データを受信した場合、或いは、
一連の印刷処理が完了して全ての入力用のI/F21
a,21bを解放した後に新たなデータを受信した場合
に実行されることに注目されたい。
【0065】さて、図6に示すステップS5の判断が
“NO”になって、図9に示す本処理のステップS31
に進むと、その受信データはダウンロードコマンドであ
るかどうかが判断される。ダウンロードコマンドではな
く、印刷データであると判断した場合には図6のステッ
プS6に進む。この後は、先に説明した通りである。
【0066】さて、ステップS31でダウンロードコマ
ンドを受信したと判断した場合にはステップS32で、
続いて入力された総バイト数を得る。そして、ステップ
S33でこれから受信する総バイト数と、RAM24の
ワークエリア24aの空きエリアとの比較をし、そのデ
ータをRAM24のワークエリア24aに確保できるか
どうか判断する。確保できないと判断した場合には、そ
れ以降に受信するデータを読み飛ばし、図6のステップ
S2に戻る。このとき、読み飛ばし処理が完了した時点
で、それによって不能にされた他の入力I/Fを解放す
る。
【0067】また、RAM24のワークエリア24aに
確保できると判断した場合には、ステップS35でこれ
から送られてくるデータはフォントスケーラデータであ
るかどうかを判断する。フォントスケーラデータ以外で
あると判断したら、ステップS36に進んで、対応する
データのダウンロードを行ってステップS2に戻る。こ
のときも、ダウンロード処理が完了した時点で、それに
よって不能にされた他の入力I/Fを解放する。
【0068】こうして、受信するデータがフォントスケ
ーラデータであると判断されたらステップS37に進ん
で、順次入力されるデータをRAM24に確保されたワ
ークエリア24aに格納していく。このとき、受信した
データを格納するとき、各バイトの総和を求めていく。
更に、必要に応じて、ワークエリア24aにダウンロー
ドしたデータをハードディスク32に格納することもで
きる。
【0069】こうして、最終的に受信データがRAM2
4のワークエリア24aにダウンロードされるが、最後
に受信したバイトとそれまで受信して加算した結果を比
較し、データが正しく受信されたかどうかを判断する。
正しく受信できたと判断した場合には、ステップS39
に進んでワークエリア24aに予め確保されていたフォ
ント属性テーブルにダウンロードしたフォントを登録す
る。また、チェックサムがNGになった場合には、ステ
ップS40に進んで、ダウンロードした全データを削除
し、確保したワークエリア24aを他の処理に使用でき
るよう解放する。
【0070】いずれにせよ、ステップS39、40で
は、その受信処理によって不能にされた他の入力I/F
を解放し、ステップS2に戻る。
【0071】ここで、フォント属性テーブルの一例を図
10(各実施例共通)に示す。図示の如く、このテーブ
ルは、フォントスケーラの名称と、そのフォントスケー
ラを実現するプログラムの格納先アドレスから構成され
ている。図示では、上述したフォントスケーラデータの
ダウンロードによって更新された状態を示している。
尚、図示で“EOT”はそのテーブルの終わりを示すマ
ークである。
【0072】以上説明したように本第2の実施例によれ
ば、フォントスケーラデータを外部装置(ホストコンピ
ュータ等)からダウンロードすることができるので、フ
ォントスケーラ15cの新規登録が行えるようになる。
【0073】また、各エミュレーションは、標準装備さ
れていたフォントスケーラ15a,15b及び新たに登
録したフォントスケーラ15cを適宜切り換えることが
できるので、表現力豊かな出力を得ることが可能にな
る。
【0074】[第3の実施例の説明]次に、新たな解析
部(エミュレーションプログラム)をダウンロードする
例を説明する。この目的は、勿論、装置に新たな回路を
設けることなく、それまで対応していなかったプリンタ
言語にも容易に対処させることにある。説明を簡単にす
るため、実施例の装置の解析部(エミュレーションプロ
グラム)12a,12bは標準装備であって、新規に解
析部12cをダウンロードする例を説明する。勿論、こ
れら解析部12a,12b,12cは第1、第2の実施
例で説明した中間言語データを生成するものである。
【0075】本第3の実施例の概念図を図11に示す。
【0076】図示では、予め装置自身に解析部12a,
12bの2つのエミュレーションプログラムが設けら
れ、それに新たに第3の解析部12cを登録する例を示
している。例えば、外部装置301からダウンロードし
たエミュレーションプログラムのデータは、第2の実施
例と同様に、最終的にRAM24上のワークエリア24
aに格納されるものとする。また、ワークエリア24a
には、現在どのような解析部が登録されているのか等を
管理する管理テーブル(後述する)が設けられているも
のとする。なお、外部装置は外部装置301に限らず、
外部装置302或いは、その他の外部装置であってもよ
い。
【0077】外部装置301からのエミュレーションプ
ログラムのダウンロードの処理は、第2の実施例で説明
したフォントスケーラデータのダウンロードと実質的に
同じであるので、ここでの詳述は省略する。ただし、か
かるエミュレーションプログラムのダウンロードは、図
9におけるステップS36で行われるものである。
【0078】図12に、外部装置301が送出してくる
全データ中におけるエミュレーションプログラムデータ
の内容を示す。
【0079】図示の如く、ヘッダには自身のエミュレー
ションプログラムがどのプリンタ言語に対応しているの
かを示す名称があって、続いて判別用プログラムデー
タ、設定用プログラムデータ、最後に実際のエミュレー
ションプログラムデータがある。なお、これらデータの
前には、第2の実施例で説明したダウンロードコマンド
と、ダウンロードするのがエミュレーションデータであ
ることを示すコード、総出する総バイト数等がある。
【0080】判別用プログラムデータは、第1の実施例
における図6ステップS6の処理で活用されるものであ
り、入力されてきたデータが自身のエミュレーションに
対応するのかを判別するものである。従って、この判別
用プログラムには自身が解析するプリンタ言語の特徴的
な制御コマンド(及びどのような形式のパラメータが付
加されるかを示すデータフォーマット情報等)が複数個
含まれる。
【0081】また、設定用プログラムデータは、そのエ
ミュレーションプログラムを使用する上での各種設定事
項を決定するためのプログラムであり、その詳細につい
ては後述する。
【0082】さて、図12に示した形態のデータをRA
M24のワークエリア24aに無事ダウンロードした
後、CPU22は、その中の各データに応じて装置の各
種テーブルを更新する。具体的には、ワークエリア24
aに設けられた判別用プログラムテーブル及び管理テー
ブルを更新する。すなわち、それらのテーブルに新たに
ダウンロードしたエミュレーションプログラムを登録す
る。
【0083】ここで、判別用プログラムテーブルの一例
を図13、管理テーブルの一例を図14に示す。尚、図
示で“EOT”は、そのテーブル内のデータの終わりを
示すマークである。また、これらテーブルのフォーマッ
トは前述した各実施例及び後述する実施例に共通であ
る。
【0084】図13の判別用プログラムテーブルは、エ
ミュレーションプログラムA、Bを装置が最初から有し
ていることを示し、エミュレーションプログラムCが新
規に登録されたことを示している。因みに、第1の実施
例の図6ステップS6における自動判別処理は、この判
別用プログラムテーブルによって示された各解析部の判
別用プログラムを順次コールし、その結果に基づいて判
断している。例えば、各判別用プログラムは、受信バッ
ファエリア24bに格納されたデータ中の制御コマンド
が自身のエミュレーションプログラムに適合するか否か
の判断結果を返すプログラムと考えればよい。
【0085】図14の管理テーブルについても同様で、
“エミュレーションC”以外の項目は最初から装置に備
えられたものである。
【0086】プリンタの各種環境はパネル30で設定さ
れる。その環境の中には、例えば、以下で説明するイン
ターフェースの転送速度の様な、全エミュレーションで
共通に使える設定もあれば、各エミュレーション固有の
環境設定もある。こうした環境設定は最終的にNVRA
M31に格納され、電源を切ってもその内容は保持され
る。
【0087】実施例の装置は、図1、或いは図2で示し
たように、複数の入力用I/F21a,21bが設けら
れている。その中にはパラレルインターフェースもあれ
ば、RS-232C等のシリアルインターフェースも含
まれる。
【0088】この管理テーブル中の“インターフェー
ス”とは、そうしたI/F関係を管理している(I/F
関係のプログラムの格納先アドレスが記憶されてい
る)。このプログラムには、例えば、ある入力用のI/
Fがシリアルインターフェースである場合には、その転
送速度等を設定するなどの処理が含まれる。
【0089】また、同テーブルの“制御”とは、例えば
装着されている記録紙のサイズ、マージン等の設定を管
理している(制御関係のプログラムの格納先アドレスが
記憶されている)。
【0090】“メモリ”とは、現在装着されているメモ
リ量(適宜増設することが出来るようになっている)、
受信バッファエリア24bのサイズ(このサイズを大き
くすると外部装置は、自身の印刷データ出力処理から早
くの開放される)等の設定を管理している。
【0091】“エミュレーションA、B、C”は、各々
のエミュレーション固有の環境設定のためのプログラム
と、そのエミュレーションプログラムの格納先アドレス
を管理している。環境設定のプログラムとしては、例え
ば、エミュレーションAでは、デフォルトでどのような
種類やサイズのフォントを選択するか等である。
【0092】そして、“初期化”は、NVRAM31に
格納された各種環境値を工場出荷時の値に戻すことを意
味する。
【0093】また、ダウンロードしたエミュレーション
プログラムの登録は、この“初期化”の直前に挿入され
る。
【0094】尚、かかるテーブルで管理しているプログ
ラム中、ダウンロードしたプログラム及びデータ以外
は、すべてエミュレーションプログラムメモリ25a、
或いは25bに格納されているものである。
【0095】図15に従って、管理テーブルに基づくユ
ーザインターフェースの処理手順を説明する。ただし、
以下の説明におけるセットアップキー、選択キーは共に
操作パネル30に設けられたキー群の一部であり、
“i”はRAM24中のワークエリアに確保された管理
テーブルの項目を示すポインタ変数である。
【0096】まず、ステップS61で、キー入力があっ
たと判断すると、ステップS62でそのキーはセットア
ップキーかどうか判断される。セットアップキー以外の
場合には、対応する処理を行うべくステップ63に進
む。
【0097】また、セットアップキーの入力を検出した
ら、ステップS64に進んで変数iに初期値“0”を代
入し、次のステップS65で変数iを1つだけインクリ
メントする。次のステップS66では、管理テーブルの
i番目の項目が“EOT”であるか否かを判断する。も
し、その“EOT”であると判断したら、ポインタ変数
iはテーブルの終わりを差し示していることになるか
ら、次のステップS67で先頭項目を差し示すように訂
正する。
【0098】いずれにせよ、ステップS68では、i番
目の項目名を操作パネル30に設けられたLCD表示部
に表示し、ステップS69で次のキー入力を待つ。
【0099】ここで入力されたキーがセットアップキー
であると判断したら(ステップS70)、処理はステッ
プS65に戻って上述した処理を行うことで次の項目名
を表示する。こうして、セットアップキーが押下される
たびにLCD表示部には操作項目名が順次表示されるよ
うになる。
【0100】さて、セットアップキーを何回か押して、
目的の項目名の表示を確認すると、選択キーを押す。こ
の選択キーの押下を検出すると(ステップS71)、処
理はステップS72に進んで、そのときの変数iが示し
ている項目の設定用プログラムをコールする。各設定用
プログラムは、各々の項目に依存しているのでここでの
説明は割愛するが、いずれの場合も、ユーザはLCD表
示部に表示された内容に従って操作を進めるようにな
る。
【0101】以上説明したように本第3の実施例によれ
ば、格別な改造することになしに、適宜、所望とするエ
ミュレーション機能を付加させることが可能になる。
【0102】また、操作パネルの操作方法も、装置全体
にかかる共通な環境設定の操作部分と、各エミュレーシ
ョン独自の環境設定の操作部分が分離されており、この
状態は新たなエミュレーションをダウンロードした場合
も維持される。換言すれば、ユーザから見れば、ダウン
ロードしたエミュレーションプログラムについての操作
知識を増やせば良いだけで、統一された操作環境は維持
されることになり、極めて有益なユーザインターフェー
スを提供できる。更には、エミュレーションプログラム
を開発する立場から見た場合、該当するエミュレーショ
ンに係る操作のプログラムを作成するだけでよいので、
開発が容易になる。
【0103】また、ダウンロードしたエミュレーション
プログラムデータ中には、印刷データ自身がサポートす
るプリンタ言語によるものかを判別するプログラムも含
まれているので、自動判別機能がそのまま実行できるよ
うになる。
【0104】[第4の実施例の説明]前述した第1〜第
3の実施例では、いずれの解析部でも最終的に中間言語
データを生成した。そして、共通の展開処理によってビ
ットマップメモリ28に対応するビットパターンを展開
し、印刷処理した。
【0105】ところで、近年の電子技術分野を鑑みる
と、外部装置(ホストコンピュータ等)の処理能力(処
理速度)の向上には目覚ましいものがある。そこで、上
述した中間言語データを生成する処理を外部装置に分担
してもらって、印刷処理をより高速にすることを実現す
る例を第4の実施例として説明する。
【0106】本第4の実施例の構成概念図を図16に示
す。
【0107】図示の如く、通常の外部装置(例えば外部
装置302)はそれ上で動作しているアプリケーション
プログラム304が印刷データをプリンタドライバ30
7を介して出力しているのに対し、本第4の実施例の対
象としている外部装置(例えば外部装置301)は、中
間言語ライブラリ13、フォントスケーラ15a,15
b、解析部12a,12b等の中間言語を生成するため
に必要な構成要素を有し、プリンタドライバ305又は
306を介して、アプリケーションプログラム303が
出力する印刷データを中間言語データのレベルまで落と
して画像形成装置の制御ユニット101へ出力する。
【0108】図18に外部装置301が出力してくる中
間言語データのフォーマットを示す。図示において、
“1000”は中間言語データの総バイト数を示す数値
であり、この部分はその場に応じて変化する。この場合
には、“#>GS,1000CR”からエンドマーク
(排紙指示コマンド)の“#>EOT”の間にある10
00バイトが中間言語データを意味する。
【0109】処理としては、受信バッファエリア24b
に格納されたデータが中間言語データであるか否かを判
断する処理を行う。そして、受信バッファエリア24b
に格納されたデータが中間言語形式のデータでないと判
断したら、上述した第1〜第3の実施例の処理を行い、
もしそうならそのデータに基づくビットパターンを直接
ビットマップメモリ(ページメモリ16)に展開し、印
刷処理を行えばよい。
【0110】具体的には、例えば図6のステップS6の
直前(或いは図9のステップS31の直前でも良い)に
図17に示すうな判断処理ステップS81を挿入するこ
とで、実現できる。
【0111】尚、受信データが中間言語形式のデータで
あると判断してステップS10に進んだ場合のビットマ
ップ展開処理では、処理対象の中間言語データが中間言
語エリア24cではなく、受信バッファエリア24bに
あるものとして処理を行う。
【0112】このように本第4の実施例によれば、画像
形成装置自身は中間言語データを直接入力する様にす
る。従って、前述した第1〜第3の実施例で説明した中
間言語データ生成に係る処理から開放され、その印刷処
理を向上させることができる。しかも、新たにエミュレ
ーションプログラムをダウンロードする場合、メモリを
増設しなければならない事態が発生する危惧があるが、
本第4の実施例によれば、そういった危惧を一切考慮す
る必要がなくなり、ローコストで多数のエミュレーショ
ン機能を具備した装置を提供できるようになる。
【0113】[第5の実施例の説明]外部装置が出力し
てくるプリンタ言語に様々なものがあるのは上述した通
りである。また、プリンタ言語には例えば文章に適した
もの、図形に適したもの、更にはイメージ等に適したも
のがある。
【0114】本第5の実施例では、複数のプリンタ言語
に基づく画像を1ページ中に記録、すなわち、複数のエ
ミュレーションによる同一ページに記録することを可能
にする例を説明する。
【0115】これを実現するため、外部装置からは、図
19に示す如く、エミュレーションデータの種別とデー
タ長(サイズ)を示すエミュレーション指示コマンドと
実際の印刷データの対から構成されるデータが続けて送
られてくる。そして、最後には印刷処理を実行して排紙
させる排紙指示コマンドが付加される。
【0116】図示では、エミュレーションデータAはテ
キスト印字に適したプリント言語データを示しており、
以下、、エミュレーションデータBは図形、エミュレー
ションデータCはドットイメージ、エミュレーションデ
ータDは図形であることを示している。
【0117】入力データの具体的なフォーマット例を図
20に示す。
【0118】図示の如く、エミュレーション指示コマン
ドは、“#>”で始まるエミュレーション名、カンマ、
サイズ、及び改行コードで構成されている。また、排紙
指示コマンドは“#>EOT”である。
【0119】上記データフォーマットにおける本装置の
動作処理内容例を図21に示し、以下に説明する。
【0120】尚、本装置に電源が投入されたときに行う
初期化処理をはじめとする、オンライン状態か否か、且
つ受信バッファエリア24bにデータが存在することが
検出された場合のI/F解放時間リセット、更には受信
バッファにデータが存在しない場合の処理は、第1の実
施例と同様であるものとし、以下ではステップS95以
降について説明する。
【0121】ステップS95では、受信バッファエリア
24bに格納されたデータを未だ処理されていないデー
タの最初の部分を調べ、それがエミュレーション指示コ
マンドであるか否かを判別する。ここでエミュレーショ
ン指示コマンドであると判断した場合にはステップS9
6に進んで、指示されたエミュレーションプログラム
(解析部)に指示されたサイズ分の中間言語データの生
成処理を行わせる。この処理が終わったら、ステップS
93に戻り、次のデータに対する処理を行うようにす
る。こうして、エミュレーション指示コマンドで指示さ
れた分の中間言語データを生成していく。
【0122】また、1つの印刷処理の開始時の受信デー
タの先頭部分、或いは1つの解析部による中間言語デー
タ生成に使用された受信データの後に続くデータがエミ
ュレーション指示コマンドではないと判断された場合、
処理はステップS97に進んで、それは排紙指示コマン
ドであるかどうかを判断する。排紙指示コマンドでもな
いと判断した場合にはステップS98に進んで、先に説
明した第1〜第4の実施例の処理を行う。
【0123】また、排紙指示コマンドであると判断した
場合には、それまでの処理で中間言語エリア24cに生
成された中間言語に基づくパターンをビットマップメモ
リ28に展開し、次のステップS100でそれを出力す
る。
【0124】尚、上述した処理では、各解析部(エミュ
レーションプログラム)によって1ページ分の中間言語
データが生成されてから、パターン展開処理したが、1
つ1つの解析部で中間言語データが生成される度に、パ
ターン展開処理を行うようにしても良い。この場合に
は、ステップS96の直後にその展開処理を行えば良
い。
【0125】また、パターン展開処理が別途並行して動
作する様にする場合にはこの限りではない。また、各解
析部(エミュレーションプログラム)は、メインルーチ
ンからコールされるときに、処理対象のバイト数を受
け、そのバイト数分の中間言語データ生成処理を行えば
良いので、その説明は省略する。
【0126】以上説明したように本第5の実施例によれ
ば、1ページ中に複数のプリンタ言語に基づく画像を記
録し出力することができるので、見栄えのするの画像を
得ることが可能になる。
【0127】尚、本第5の実施例に示したような高位の
指示コマンドを送出してくるには、外部装置上で動作す
るOS、或いはプリンタドライバにその種の機能を付加
させれば良い。従って、場合によっては、外部装置上で
動作しているアプリケーションプログラムで、作成中の
文章、図形及びイメージ等に対してそれぞれのプリンタ
言語を指示することも考えられる。更には、文章を作成
するアプリケーション、図形を作成するアプリケーショ
ン、スキャナ等から読み取ったイメージを編集するアプ
リケーションから、それぞれ指定された部分情報をカッ
トアンドペースト形式でOSが合成するようにし、それ
を出力するときに本第5の実施例で示した形式のデータ
を構築し、出力するようにしても良い。
【0128】尚、上記第1〜第5の実施例において、外
部装置(301,302)及びそれらに対応する入力イ
ンターフェース(21a,21b)、解析部(12a,
12b)、フォントスケーラ(15a,15b)は2種
類に限定されるものでなく、2種類以上でも構わない。
また、新規登録する解析部12c、フォントスケーラ1
5cは1種類に限定されるものではなく、2種類以上で
も構わない。
【0129】また、本発明は、複数の機器から構成され
るシステムに適用しても良いし、1つの機器から成る装
置に適用しても良いし、システム或いは装置にプログラ
ムを供給することによって達成される場合にも適用でき
ることは言うまでもない。なお,本実施例の画像形成装
置としてレーザービームプリンタを例にして説明した
が、これに限定されるものでなく、以下で説明するイン
クジェットプリンタ等にも本発明が適用できることは言
うまでもない。
【0130】(i)装置本体の概略説明 図16は、本発明が適用できるインクジェット記録装置
IJRAの概観図である。同図において、駆動モータ5
013の正逆回転に連動して駆動力伝達ギア5011,
5009を介して回転するリードスクリュー5005の
螺旋溝5004に対して係合するキャリッジHCはピン
(不図示)を有し、矢印a,b方向に往復移動される。
このキャリッジHCには、インクジェットカートリッジ
IJCが搭載されている。5002は紙押え板であり、
キャリッジ移動方向にわたって紙をプラテン5000に
対して押圧する。5007,5008はフォトカプラ
で、キャリッジのレバー5006のこの域での存在を確
認して、モータ5013の回転方向切換等を行うための
ホームポジション検知手段である。5016は記録ヘッ
ドの前面をキャップするキャップ部材5022を支持す
る部材で、5015はこのキャップ内を吸引する吸引手
段でキャップ内開口5023を介して記録ヘッドの吸引
回復を行う。5017はクリーニングプレードで、50
19はこのプレードを前後方向に異動可能にする部材で
あり、本体支持板5018にこれらは支持されている。
プレードは、この形態でなく周知のクリーニングプレー
ドが本例に適用できることはいうまでもない。又、50
12は、吸引回復の吸引を開始するためのレバーで、キ
ャリッジと係合するカム5020の移動に伴って移動
し、駆動モータからの駆動力がクラッチ切換等の公知の
伝達手段で移動制御される。
【0131】これらのキャッピング、クリーニング、吸
引回復は、キャリッジがホームポジション側領域にきた
ときにリードスクリュー5005の作用によって反れら
の対応位置で所望の処理が行えるように構成されている
が、周知のタイミングで所望の作動を行うようにすれ
ば、本例には何れも適用できる。 (ii)制御構成の説明 次に、上述した装置構成の各分の記録制御を実行するた
めの制御構成について、図17に示すブロック図を参照
して説明する。制御回路を示す同図において、1700
は記録信号を入力するインターフェイス、1701はM
PU、1702はMPU1701が実行する制御プログ
ラムを格納するプログラムROM、1703は各種デー
タ(上記記録信号やヘッドに供給される記録データ等)
を保存しておくダイナミック型のRAMである。170
4は記録ヘッド1708に対する記録データの供給制御
を行うゲートアレイであり、インターフェース170
0、MPU1701,RAM1703間のデータの転送
制御も行う。1710は 記録ヘッド1708を搬送す
るためのキャリアモータ、1709は記録用紙搬送のた
めの搬送モータである。1705はヘッドを駆動するヘ
ッド土来場1706,1707は夫々搬送モータ170
9、キャリアモータ1710を駆動するモータドライバ
である。
【0132】上記制御構成の動作を説明すると、インタ
ーフェース1700に記録信号が入るとゲートアレイ1
704とMPU1701との間で記録信号がプリント用
の記録データに変換される。そして、モータドライバ1
706,1707が駆動されるとともに、ヘッドドライ
バ1705に送られた記録データに従って記録ヘッドが
駆動され、印字が行われる。
【0133】以上のような、インクジェットプリンタの
制御構成に本発明の構成要素を組み込むことが可能であ
り、本発明が、レーザービームプリンタに限らず上記イ
ンクジェットプリンタ等にも適用できることは明らかで
ある。
【0134】
【発明の効果】以上説明したように本発明によれば、印
刷しようとする同一頁に対して複数の異なる制御言語で
記述された入力データを許容し、それぞれの制御言語で
記述された部分を合わせて1頁分の印刷を行なわせるこ
とが可能になる。
【0135】
【図面の簡単な説明】
【図1】第1の実施例における画像形成装置の構成概念
図である。
【図2】各実施例に共通する画像形成装置のブロック構
成図である。
【図3】各実施例に共通するプリンタエンジン部の構造
を示す図である。
【図4】第1の実施例における文字ハンドリングの処理
概念図である。
【図5】第1の実施例におけるイメージハンドリングの
処理概念図である。
【図6】第1の実施例におけるメイン処理を示すフロー
チャートである。
【図7】第1の実施例における解析部の1つの処理例を
示すフローチャートである。
【図8】第2の実施例における画像形成装置の構成概念
図である。
【図9】第2の実施例において付加される処理内容を示
すフローチャートである。
【図10】各実施例共通なフォント属性テーブルの一例
を示す図である。
【図11】第3の実施例における画像形成装置の構成概
念図である。
【図12】第3の実施例においてダウンロードされるエ
ミュレーションプログラムデータのフォーマットを示す
図である。
【図13】各実施例共通の判別用プログラムテーブルの
一例を示す図である。
【図14】各実施例共通の管理テーブルの一例を示す図
である。
【図15】第3の実施例における操作パネルに係る処理
内容を示すフローチャートである。
【図16】第4の実施例における画像形成装置の構成概
念図である。
【図17】第4の実施例での処理で付加される処理を示
すフローチャートである。
【図18】第4の実施例において、外部装置が送出して
くる中間言語データのフォーマットを示す図である。
【図19】第5の実施例における入力データと出力画像
の関係の一例を示す図である。
【図20】第5の実施例のおける入力データフォーマッ
トを示す図である。
【図21】第5の実施例におけるメイン処理を示すフロ
ーチャートである。
【図22】各実施例における文字ハンドリング時の中間
言語の具体的なフォーマットを示す図である。
【図23】各実施例におけるイメージハンドリング時の
中間言語の具体的なフォーマットを示す図である。
【図24】本発明が適用できるインクジェットプリンタ
の内部構造を示す図である。
【図25】図24のインクジェットプリンタの制御回路
の構成図である。
【符号の説明】
21a,21b 入力用のI/F 22 CPU 23 ROM 24 RAM 24a ワークエリア 24b 受信バッファエリア 24c 中間言語エリア 25a エミュレーションプログラムメモリA 25b エミュレーションプログラムメモリB 26 中間言語発生用ライブラリメモリ 27a フォントスケーラメモリ 27b フォントスケーラメモリ 28 ビットマップメモリ 29 出力用のI/F 30 操作パネル 31 NVRAM 32 ハードディスク 33 システムバス 101 制御ユニット 200 出力機構 301 外部装置1 302 外部装置2
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平4−128068(JP,A) 特開 昭60−126735(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06K 15/00 B41J 2/485 B41J 5/30 B41J 29/38

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】 入力データに基づいて印刷データを生成
    して印刷させるプリンタ制御装置であって、 入力データ中の第1制御言語部分を解析することで第1
    出力データを生成する第1解析手段と、 入力データ中の第2制御言語部分を解析することで第2
    出力データを生成する第2解析手段と、 前記第1出力データと第2出力データに基づいて1ペー
    ジ分の印刷データを生成する生成手段とを備えることを
    特徴とするプリンタ制御装置。
  2. 【請求項2】 前記第1出力データと第2出力データは
    共通仕様の中間言語のデータであって、印刷印刷データ
    はビットマップデータであることを特徴とする請求項第
    1項に記載のプリンタ制御装置。
  3. 【請求項3】 更に、前記印刷データに基づいて印刷処
    理を行なうレーザビームプリンタ或いはインクジェット
    プリンタを備えることを特徴とする請求項第1項に記載
    のプリンタ制御装置。
  4. 【請求項4】 更に、前記入力データ中に含まれるのエ
    ミュレーション指示コマンドに基づいて、該当する部分
    毎に第1、第2の解析手段のどちらで解釈させるかを判
    断する判断手段を備えることを特徴とする請求項第1項
    に記載のプリンタ制御装置。
  5. 【請求項5】 入力データに基づいて印刷データを生成
    して印刷させるプリンタのプリンタ制御方法であって、 入力データ中の第1制御言語部分を解析することで第1
    出力データを生成する第1解析工程と、 入力データ中の第2制御言語部分を解析することで第2
    出力データを生成する第2解析工程と、 前記第1出力データと第2出力データに基づいて1ペー
    ジ分の印刷データを生成する生成工程とを備えることを
    特徴とするプリンタ制御方法。
  6. 【請求項6】 前記第1出力データと第2出力データは
    共通仕様の中間言語のデータであって、印刷印刷データ
    はビットマップデータであることを特徴とする請求項第
    5項に記載のプリンタ制御方法。
  7. 【請求項7】 更に、前記入力データ中に含まれるのエ
    ミュレーション指示コマンドに基づいて、該当する部分
    毎に第1、第2の解析手段のどちらで解釈させるかを判
    断する判断工程を備えることを特徴とする請求項第5項
    に記載のプリンタ制御方法。
JP4125137A 1992-05-18 1992-05-18 プリンタ制御装置及び方法 Expired - Fee Related JP2812412B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4125137A JP2812412B2 (ja) 1992-05-18 1992-05-18 プリンタ制御装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4125137A JP2812412B2 (ja) 1992-05-18 1992-05-18 プリンタ制御装置及び方法

Publications (2)

Publication Number Publication Date
JPH05324930A JPH05324930A (ja) 1993-12-10
JP2812412B2 true JP2812412B2 (ja) 1998-10-22

Family

ID=14902782

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4125137A Expired - Fee Related JP2812412B2 (ja) 1992-05-18 1992-05-18 プリンタ制御装置及び方法

Country Status (1)

Country Link
JP (1) JP2812412B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2859208B2 (ja) * 1996-05-22 1999-02-17 日本電気オフィスシステム株式会社 印刷装置
CN100349159C (zh) * 2005-01-18 2007-11-14 北京北大方正电子有限公司 一种在页面光栅化时刻附加标记的方法
JP2008074023A (ja) * 2006-09-22 2008-04-03 Oki Data Corp 画像形成装置及び情報処理装置
JP4613975B2 (ja) * 2008-03-31 2011-01-19 ブラザー工業株式会社 ページ記述言語処理装置
EP2093659B1 (en) 2008-02-19 2017-07-19 Brother Kogyo Kabushiki Kaisha Device, method and computer readable medium for page description language processing
CN103186648B (zh) * 2011-12-31 2016-09-21 北大方正集团有限公司 一种页面图元叠印处理的方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60126735A (ja) * 1983-12-13 1985-07-06 Nec Corp コンパイル方式
JP3245151B2 (ja) * 1990-09-19 2002-01-07 富士ゼロックス株式会社 ページ記述言語処理装置およびページ記述言語処理印刷装置

Also Published As

Publication number Publication date
JPH05324930A (ja) 1993-12-10

Similar Documents

Publication Publication Date Title
JP2860204B2 (ja) 出力装置及び当該装置における解釈プログラムの選択方法
JP2839119B2 (ja) 文字処理装置及び方法
JP3209102B2 (ja) プリントシステム、プリンタドライバ及びプリンタ
US6388757B1 (en) Printing apparatus, printing system, and a method for acquiring character resources of the printing system
EP0571145B1 (en) Apparatus for printer command languages translation
JPH05270069A (ja) 印刷装置及び該装置の制御方法
JP2812412B2 (ja) プリンタ制御装置及び方法
JP2783345B2 (ja) 出力装置及び方法
JP2783344B2 (ja) プリンタ制御装置及びその制御方法
JP3159875B2 (ja) 印刷方法及びその装置、及び印刷システム
JP3689445B2 (ja) 印刷装置及びシステム、並びに制御方法
JP3154243B2 (ja) 印刷装置
JPS59201870A (ja) 印字装置
JPH10187390A (ja) 情報処理装置および情報処理装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP3397514B2 (ja) 出力装置及び出力方法
JP2744025B2 (ja) 印字制御装置
JP3610307B2 (ja) 画像形成方法及び装置
JP3192563B2 (ja) 情報処理装置及び情報処理方法
JP2958017B2 (ja) 出力制御装置及びその方法
JP3100784B2 (ja) 文字処理方法及びその装置
JP2001092609A (ja) 情報出力システム及びその制御方法、並びにその制御プログラムを記録した記録媒体
JPH08328782A (ja) 情報処理装置、情報処理方法、印刷装置およびその制御方法、印刷システムおよびその制御方法
JPH1158873A (ja) ぺージプリンタ
JPH08108600A (ja) 情報処理装置,周辺装置並びに情報処理装置と周辺装置とを有する情報処理システムおよび情報処理システムの資源情報提示方法
JPH09309233A (ja) 画像形成装置及び画像形成方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980623

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

Free format text: PAYMENT UNTIL: 20070807

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20080807

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20080807

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090807

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20090807

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100807

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20110807

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees