JPH05318829A - Device and method of forming image - Google Patents

Device and method of forming image

Info

Publication number
JPH05318829A
JPH05318829A JP12513392A JP12513392A JPH05318829A JP H05318829 A JPH05318829 A JP H05318829A JP 12513392 A JP12513392 A JP 12513392A JP 12513392 A JP12513392 A JP 12513392A JP H05318829 A JPH05318829 A JP H05318829A
Authority
JP
Japan
Prior art keywords
data
printer
emulation
intermediate language
program
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
JP12513392A
Other languages
Japanese (ja)
Other versions
JP2783344B2 (en
Inventor
Masaki Kashiwazaki
昌己 柏崎
Masamichi Akashi
雅道 赤司
Youichi Toyokura
洋一 豊倉
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 JP4125133A priority Critical patent/JP2783344B2/en
Priority to EP93303761A priority patent/EP0571145B1/en
Priority to DE69326713T priority patent/DE69326713T2/en
Publication of JPH05318829A publication Critical patent/JPH05318829A/en
Priority to US08/968,925 priority patent/US5931586A/en
Application granted granted Critical
Publication of JP2783344B2 publication Critical patent/JP2783344B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime 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)

Abstract

PURPOSE:To reduce the cost of a printer having an emulation facility. CONSTITUTION:By what printer language an input data is written is judges, and one of corresponding analyzing sections in a plurality of analyzing sections is started on the basis of the result of the judgement. Each analyzing section analyzes printing data input when itself is started, and intermediate language data lower than the data of printer language input and common in each analyzing section are formed onto an intermediate language area 24c. Accordingly, an image based on the intermediate language data formed is developed onto a bit map memory 28, and printing is conducted.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は画像形成装置及びその制
御方法、詳しくは入力した印刷データに基づく画像を所
定の記録媒体上に印刷し出力する画像形成装置及びその
制御方法に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image forming apparatus and a control method thereof, and more particularly to an image forming apparatus for printing an image based on input print data on a predetermined recording medium and outputting the same and a control method thereof.

【0002】[0002]

【従来の技術】この種の装置の代表的なものとしては、
高精細・高速性を可能にしたページプリンタ、特にレー
ザビームプリンタが上げられる。そして、最近ではアウ
トラインフォントをはじめとする拡大縮小によらず滑ら
かな文字を印刷する機能を始めとし、様々な機能を有す
るものも登場している。
2. Description of the Related Art A typical device of this type is as follows.
Page printers that enable high definition and high speed, especially laser beam printers, are available. Recently, various functions such as a function of printing smooth characters regardless of enlargement / reduction such as an outline font have been introduced.

【0003】また、この種の装置は、今現在活用してい
る多くのアプリケーションソフトの資産を継承すべく、
それらのアプリケーションが印刷対象としていた従来の
プリンタをエミュレートする機能を有していることが多
い。
In addition, this type of device inherits the assets of many application software currently in use.
In many cases, those applications have a function of emulating a conventional printer which is a print target.

【0004】さて、こうしたエミュレート機能を有する
プリンタにおいては、少なくとも実際の印刷処理におい
ては1つのエミュレーションモード下で全処理が行われ
ることになり、入力したデータ中に含まれる各種制御コ
マンドもまたそのエミュレーションモード下で解析され
処理される。
Now, in a printer having such an emulation function, all the processes are performed under one emulation mode at least in the actual printing process, and various control commands included in the input data are also changed. It is analyzed and processed under emulation mode.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、こうし
たエミュレーションプログラムの作成は、非常に面倒で
ある。且つ出来上がったプログラムサイズも、こうした
一連の処理を全て行うものであるから無視できない量に
なり、コストダウンの妨げとなっていた。加えて、エミ
ュレート対象が多数あるようなプリンタにおいては、サ
イズがその分大きいメモリを必要とするのでコストアッ
プの要因にもなる。
However, creating such an emulation program is very troublesome. In addition, the completed program size is a non-negligible amount because all the series of processes are performed, which has been an obstacle to cost reduction. In addition, a printer having a large number of emulated objects requires a memory having a correspondingly large size, which causes a cost increase.

【0006】[0006]

【課題を解決するための手段】本発明はかかる問題に鑑
みなされたものであり、エミュレート機能を有するプリ
ンタのコストダウンを図ることが可能な画像形成装置及
びその方法を提供しようとするものである。
SUMMARY OF THE INVENTION The present invention has been made in view of the above problems, and an object of the present invention is to provide an image forming apparatus and method capable of reducing the cost of a printer having an emulation function. is there.

【0007】この目的を達成する本発明の画像形成装置
は以下に示す構成を備える。すなわち、異なるプリンタ
言語を解釈する複数の解析部を有する画像形成装置にお
いて、パターン生成に係る各種関数群を記憶しているラ
イブラリと、該ライブラリに記憶された関数群を用い、
与えられた手順に従って実行することで、画像形成用メ
モリ上にイメージを展開する展開手段とを備え、更に
は、前記解析部それぞれは、入力されたそれぞれのプリ
ンタ言語の印刷データを解釈する場合、前記ライブラリ
内の各関数を使用するための、前記展開部の展開手順の
ための共通な低レベルの言語データを生成する中間言語
データ生成手段を備える。
An image forming apparatus of the present invention that achieves this object has the following configuration. That is, in an image forming apparatus having a plurality of analysis units for interpreting different printer languages, a library storing various function groups relating to pattern generation and a function group stored in the library are used,
By executing in accordance with a given procedure, the image forming memory to expand the image is provided with a developing unit, further, each of the analysis unit, when interpreting the input print data of each printer language, An intermediate language data generation unit for generating common low-level language data for the expansion procedure of the expansion unit for using each function in the library is provided.

【0008】また、上記目的を達成する本発明の画像形
成方法は、以下の行程を備える。
Further, the image forming method of the present invention which achieves the above object comprises the following steps.

【0009】異なるプリンタ言語を解釈する複数の解析
部を有する画像形成方法において、前記解析部のそれぞ
れは、入力された各プリンタ言語のデータを解釈する場
合、パターン生成に係る各種関数群を記憶しているライ
ブラリを使用することを意図した各プリンタ言語に対し
て共通な低レベルの言語データを生成する行程と、生成
された低レベルデータに基づくイメージを画像形成用メ
モリに展開する行程とを備える。
In the image forming method having a plurality of analysis units for interpreting different printer languages, each of the analysis units stores various function groups relating to pattern generation when interpreting input data of each printer language. A low-level language data common to each printer language intended to use the library, and a step of developing an image based on the low-level data generated into an image forming memory. ..

【0010】[0010]

【作用】かかる構成或いは行程において、各解析部は入
力されたそれぞれのプリンタ言語に対応する共通な低レ
ベルの言語を生成する。そして、生成された低レベル言
語に従ってライブラリに記憶された関数を実行させるこ
とで、画像形成用メモリにイメージを展開する。
In such a configuration or process, each analysis unit generates a common low-level language corresponding to each input printer language. Then, by executing the function stored in the library according to the generated low-level language, the image is developed in the image forming memory.

【0011】[0011]

【実施例】以下、添付図面に従って本発明に係る実施例
を詳細に説明する。尚、実施例ではレーザビームプリン
タ(解像度300dpi)を例にして説明するが、以下
の説明から明らかになるように、プリント方式として
は、熱転写、インクジェット、或いは、ワイヤードット
インパクト方式等にも適応可能である。従って、かかる
方式で本願発明が限定されるものではない。
Embodiments of the present invention will be described in detail below with reference to the accompanying drawings. In the embodiment, a laser beam printer (resolution of 300 dpi) will be described as an example, but as will be apparent from the following description, the printing method can be applied to thermal transfer, ink jet, or wire dot impact method. Is. Therefore, the present invention is not limited to this method.

【0012】[構成概念及び動作概要の説明]図1は実
施例の画像形成装置の構成概念図を示している。同図に
従って本実施例の動作概要を説明すると以下の通りであ
る。
[Description of Configuration Concept and Operation Outline] FIG. 1 is a configuration conceptual diagram of an image forming apparatus according to an embodiment. The outline of the operation of this embodiment will be described below with reference to FIG.

【0013】本装置には印刷データ発生源としての複数
の外部装置301,302が接続されるようになってお
いる(そのための複数の入力インターフェースを備えて
いる)。101は後述するプリンタ制御ユニットを示
し、外部装置301,302から送出された印刷データ
を入力部11が受信する。そして、入力部11は一番最
初に印刷データを送出してきた外部装置のみのデータを
有効とし、その外部装置から印刷データが入力され続け
ている間は、他の装置からの印刷データ受信を不能にす
る。
A plurality of external devices 301 and 302 as print data generating sources are connected to this device (provided with a plurality of input interfaces for that purpose). Reference numeral 101 denotes a printer control unit which will be described later, and the input unit 11 receives print data sent from the external devices 301 and 302. Then, the input unit 11 validates only the data of the external device that first sent the print data, and while the print data is continuously input from the external device, the print data cannot be received from other devices. To

【0014】受信された印刷データは、その内容が解析
され、本装置のどの解析部で印刷処理するのかを判断す
る。換言すれば、入力部11は、受信した印刷データ中
に含まれる制御コマンドを調べ、そのコマンドがどのよ
うなプリンタ言語に対応するものかを判断し、複数の解
析部12a,12bのうちそのプリンタ言語を解釈でき
る解析部にその印刷データを渡す処理を行う。すなわ
ち、この入力部11は自動インターフェース切り換え及
び自動解析部切り換えを含む。
The contents of the received print data are analyzed, and it is determined which analysis unit of the apparatus should perform the print processing. In other words, the input unit 11 checks the control command included in the received print data, determines what printer language the command corresponds to, and selects the printer among the plurality of analysis units 12a and 12b. The print data is passed to the analysis unit that can interpret the language. That is, the input unit 11 includes automatic interface switching and automatic analysis unit switching.

【0015】解析部12a,12bを別の言い方をすれ
ば、異なるプリンタ言語中の制御コマンドを解釈する機
能を有するエミュレーションプログラムとなるが、実施
例で注目すべき点は、いずれの解析部(エミュレーショ
ンプログラム)でも共通な中間表現の言語データ(以
下、単に中間言語データという)を発生するだけで、ド
ット展開に係る処理は行わない。尚、この中間言語デー
タについての詳細は後述する。
In other words, the analysis units 12a and 12b are emulation programs having a function of interpreting control commands in different printer languages. What is noteworthy in the embodiment is which analysis unit (emulation The program) only generates common intermediate language data (hereinafter, simply referred to as intermediate language data), and does not perform the dot expansion processing. The details of the intermediate language data will be described later.

【0016】各解析部は、自身に適したプリンタ言語を
入力してその結果を、中間表現発生標準ライブラリ13
(ドットパターン発生にかかる各種関数の集合体)及び
フォントスケーラ15a,15bを参照することで、ド
ットパターン生成用の中間言語データを作成する。繰り
返すが、各解析部で解析するプリンタ言語はそれぞれ異
なるが、それぞれで生成される中間言語データが共通で
ある。
Each analysis unit inputs a printer language suitable for itself and outputs the result to the intermediate representation generation standard library 13
Intermediate language data for dot pattern generation is created by referring to (aggregate of various functions relating to dot pattern generation) and font scalers 15a and 15b. To repeat, the printer languages analyzed by the respective analysis units are different, but the intermediate language data generated by each is common.

【0017】従って、どの解析部から出力されても1つ
の共通なドットパターン展開部(ラスタライザ)14に
渡すことが可能になり、そこでドットデータとしてペー
ジメモリ(ビットマップメモリ)16に展開される。こ
うして、ページメモリ18に展開されたドットイメージ
を順次ビデオ信号として出力部17が出力機構(プリン
タエンジン)200に出力することで、印刷が行われる
ことになる。
Therefore, any analysis unit can output the data to one common dot pattern development unit (rasterizer) 14, and the data is developed as dot data in the page memory (bitmap memory) 16. In this way, the dot images developed in the page memory 18 are sequentially output as video signals by the output unit 17 to the output mechanism (printer engine) 200, whereby printing is performed.

【0018】以上のように処理することで、解析部(エ
ミュレーションプログラム)を新規に作成する場合、ド
ット展開処理にかかるプログラムを含まず、単にラスタ
ライザ14が実行できる形式のデータを作成するプログ
ラムだけでよいので、制作にかかる負担は軽減する。ま
た、その解析部の規模(メモリ容量)も当然のことなが
ら小さくできるので、コスト低減に寄与することも可能
になる。
When a new analysis unit (emulation program) is created by the above processing, it does not include a program related to dot expansion processing, and only a program that creates data in a format that the rasterizer 14 can execute. Since it is good, the burden of production is reduced. In addition, the scale (memory capacity) of the analysis unit can be naturally reduced, which also contributes to cost reduction.

【0019】[中間言語データの説明]ここで、中間言
語について説明する。
[Explanation of Intermediate Language Data] Here, the intermediate language will be described.

【0020】通常、受信した印刷データは、人間から見
て比較的にわかり易いものである。換言すれば、その印
刷データは、画像形成装置内のCPUが直接解釈できる
形式のデータにはなっていない。また、1つ1つの印字
データを受信しては、その受信データをその場で解釈し
て対応するドットデータを発生する処理を行ってもよい
のであるが、それに要する時間は無視できず、結果とし
て外部装置は印刷データ出力処理から解放されるまでの
時間が長くなる。
Usually, the received print data is relatively easy for humans to understand. In other words, the print data is not in a format that can be directly interpreted by the CPU in the image forming apparatus. It is also possible to receive each print data and interpret the received data on the spot to generate the corresponding dot data. However, the time required for this may not be ignored and the result As a result, the external device takes a long time to be released from the print data output process.

【0021】そこで、受信データを先ず、それより低い
レベルの言語データ(CPUが解釈し易い形式のデー
タ)に変換し、その変換データを記憶保持させる。そし
て、その低レベル言語データが後述する中間言語エリア
24Cに例えば1ページ分蓄えられたとき、実際のドッ
ト展開処理を行うようにする。ここで言う低レベル言語
データを実施例では中間言語データと呼んでいる。
Therefore, the received data is first converted into language data of a lower level (data in a format that can be easily interpreted by the CPU), and the converted data is stored and held. Then, when the low-level language data is stored in, for example, one page in the intermediate language area 24C described later, the actual dot development processing is performed. The low-level language data referred to here is called intermediate language data in the embodiment.

【0022】例えば文字1つ印字するにしても、文字
種、拡大率、印字位置、回転方向、修飾情報等様々な情
報があってはじめて、CPUは1つの文字パターンを発
生し、それを印刷用メモリに展開できる。そこで、実施
例における各解析部12a,12bで発生する中間言語
データの形式は、下記の如く、そのデータが何の処理の
ためのデータであるのかを識別する識別コード、及び、
その処理に渡すパラメータが連続した形式とした。
For example, even if one character is printed, the CPU generates one character pattern only when there is various information such as the character type, the enlargement ratio, the print position, the rotation direction, and the modification information. Can be deployed to. Therefore, the format of the intermediate language data generated in each of the analysis units 12a and 12b in the embodiment is as follows, an identification code for identifying what kind of processing the data is, and
The parameters passed to the process are in a continuous format.

【0023】中間言語データの形式(バイナリデータ:
…識別コード、p1、p2、…pn、識別コード、p
1、p2、…pm、…(p1等はパラメータを示し、そ
のパラメータ数は識別コードに依存する) ラスタライザ14は、こうして生成された中間言語デー
タを実行する場合には、その識別コードに対応する関数
(サブルーチンプログラム)を中間表現発生標準ライブ
ラリ13から取り出し(或いは直接コールし)、それを
実行する。このとき、対応するパラメータが存在するの
であれば、その実行に先だって、そのパラメータも引き
渡す。
Intermediate language data format (binary data:
... identification code, p1, p2, ... pn, identification code, p
1, p2, ... Pm, ... (p1 and the like indicate parameters, and the number of parameters depends on the identification code) The rasterizer 14 corresponds to the identification code when executing the intermediate language data thus generated. A function (subroutine program) is taken out (or directly called) from the intermediate representation generation standard library 13 and executed. At this time, if the corresponding parameter exists, that parameter is also passed prior to its execution.

【0024】ここで、実施例における実施例の処理の流
れの概略を簡単に示したのが、図4及び図5である。図
4は文字ハンドリングにかかる処理内容を示し、図5は
イメージにかかる処理内容を示している。図4について
簡単に説明すると、解析部12a(又は12b)は入力
部11を介して受信したデータ中に含まれる位置指定コ
マンド、フォント選択コマンド、文字コード等を受ける
と、そのデータを解析し、中間言語発生標準ライブラリ
13内に格納された各種関数を特定する識別情報(ID
コード)と、それに付随させる引き数(パラメータ)を
発生し、中間表現の情報を生成する。これは、図5のイ
メージに対する解析部12a(又は12b)でも同じで
ある。生成される情報としては、文字の場合には文字の
ビットマップ、物理X,Y座標の指定、クリッピング情
報をはじめとする各種情報がある。また、イメージデー
タの場合、解析部12a(又は12b)は入力した各イ
メージの確保及びその確保されたイメージを特定する情
報を発生すると共に、中間表現のデータにはその確保し
格納されたイメージを展開する位置やクリッピング情
報、更には必要な場合(受信した印刷データ中にその旨
の指示データがある場合)にはイメージ変形情報等を中
間表現のデータにする。
Here, FIGS. 4 and 5 briefly show the outline of the processing flow of the embodiment. FIG. 4 shows processing contents relating to character handling, and FIG. 5 shows processing contents relating to images. Briefly describing FIG. 4, when the analysis unit 12a (or 12b) receives a position designation command, a font selection command, a character code, etc. included in the data received via the input unit 11, the analysis unit 12a (or 12b) analyzes the data, Identification information (ID that identifies various functions stored in the intermediate language generation standard library 13)
Code) and its associated arguments (parameters) are generated to generate intermediate representation information. The same applies to the analysis unit 12a (or 12b) for the image of FIG. In the case of a character, the generated information includes a bitmap of the character, designation of physical X and Y coordinates, and various information such as clipping information. Further, in the case of image data, the analysis unit 12a (or 12b) generates information for securing each input image and specifying the secured image, and the intermediate representation data includes the secured and stored image. The expansion position, clipping information, and, if necessary (when the received print data includes instruction data to that effect), the image transformation information and the like are used as intermediate representation data.

【0025】ここで、文字ハンドリング時の中間言語の
例を図22に示し、イメージハンドリング時のそれを図
23に示す。文字ハンドリング時に発生する中間言語に
は、図示の如く、クリッピング情報、描画論理情報、拡
大率情報、ビットマップパターン等がある。また、イメ
ージハンドリング時の中間言語にも同様の形式のデータ
の他、イメージパターンに関するものが含まれる。勿
論、これら中間言語データが実施例で扱う中間言語デー
タの全てではない。文字或いはイメージのいずれにして
も、発生する中間言語データの先頭には、各中間言語デ
ータが何を意味するのかを示す識別IDコード(呼び出
す関数を特定する情報)が存在する。そして、各識別I
Dの後に続く情報は、その識別情報の処理を行う(つま
り、ライブラリ13内の関数を読み出す)ときに渡され
る引き数であって、それらの個数は識別IDに依存して
いる。
Here, an example of the intermediate language at the time of character handling is shown in FIG. 22, and that at the time of image handling is shown in FIG. As shown in the figure, the intermediate language generated during character handling includes clipping information, drawing logic information, enlargement ratio information, bitmap patterns, and the like. Further, the intermediate language at the time of image handling includes not only data of the same format but also data relating to image patterns. Of course, these intermediate language data are not all the intermediate language data handled in the embodiment. An identification ID code (information for specifying a function to be called) indicating what each intermediate language data means is present at the head of the generated intermediate language data in either characters or images. And each identification I
The information following D is an argument passed when processing the identification information (that is, reading a function in the library 13), and the number of them depends on the identification ID.

【0026】尚、クリッピング情報(文字ハンドリング
及びイメージハンドリング共通に存在する)とは、指定
された矩形領域(その左上隅のX,Y座標と横幅と高さ
で特定される)内でのみ、文字パターン或いはイメージ
を展開するようにするためのものである。換言すれば、
これ以降のデータ展開に対しては、更なるクリッピング
情報がない限り、この領域を越えた部分には展開しない
ようにする宣言文である。また、描画論理情報(文字ハ
ンドリング及びイメージハンドリング共通に存在する)
における、引き数“描画論理情報”には、パターン或い
はイメージを展開するときの論理式を指定する指示情報
を格納する。具体的には、文字パターン(或いはイメー
ジ)をページメモリ16に展開するとき、既に展開され
ているパターンに対して上書き展開か、透過展開(論理
和)か、或いは排他的論理和展開かなどを指示する情報
が格納される。尚、この場合も、格別な指示がない限り
は、これ以降に対しては同じ論理に従って処理されるこ
とを示している。また、拡大率情報には、実施例の装置
においては、縦方向と横方向の拡大率が独立しているの
で、2つの引き数を有する。また、ビットマップパター
ンに対しては、展開しようとするビットマップパターン
1つを特定する情報の他に、その展開する座標位置のパ
ラメータが存在する。
Note that the clipping information (existing commonly for character handling and image handling) means that characters are specified only within a specified rectangular area (specified by the X and Y coordinates of the upper left corner, width and height). It is for expanding patterns or images. In other words,
It is a declarative statement to prevent the data beyond this area from being expanded unless further clipping information is applied to the subsequent data expansion. In addition, drawing logic information (exists for both character handling and image handling)
In the argument "drawing logic information" in, the instruction information for designating the logic expression when the pattern or image is developed is stored. Specifically, when a character pattern (or image) is expanded in the page memory 16, it is determined whether the pattern already expanded is overwritten expansion, transparent expansion (logical sum), or exclusive logical sum expansion. Information to be instructed is stored. It should be noted that, also in this case, unless otherwise specified, it is indicated that the subsequent processing is performed according to the same logic. Further, the enlargement ratio information has two arguments because the enlargement ratios in the vertical direction and the horizontal direction are independent in the apparatus of the embodiment. Further, for the bitmap pattern, in addition to the information specifying one bitmap pattern to be developed, there is a parameter of the coordinate position to be developed.

【0027】イメージハンドリング時の中間言語データ
もほぼ同様であるが、ここではその特徴である受信イメ
ージを展開する場合の中間言語データの形式について説
明する。先に説明したように、イメージデータを受信し
た場合には、解析部12a(又は12b)は受信イメー
ジを後述するRAM24のワークエリア24aにそのデ
ータを格納し、それに対して一意なID番号を発生す
る。図23(C)中の“イメージパターンコード”は、
このIDコードを示している。また、それに続く、6つ
のパラメータは、勿論、イメージパターン展開する処理
(ライブラリ中の関数)に渡される引き数であるが、そ
の意味するところは、イメージパターンコードで特定さ
れるイメージデータをどのように変形させるのかを示す
データである。具体的には、これら6つの情報は、イメ
ージパターン展開の関数が変形処理するときに使われる
行列式内の各要素を示している。イメージパターン展開
関数は、指定されたパターン中の個々の画素の原座標
(XS,YS)を、与えられたパラメータからなる行列式
によって計算することで変形先座標(XD,YD)を計算
し、原パターン中の(XS,YS)に存在する画素を座標
(XD,YD)に転送する処理を行う。尚、これらの座標
は、印刷用のイメージを展開するメモリの絶対的な座標
値を示すものではなく、クリッピング情報で特定された
矩形内のローカルな座標値である。
The intermediate language data at the time of image handling is almost the same, but here, the format of the intermediate language data when the received image which is the characteristic thereof is developed will be described. As described above, when the image data is received, the analysis unit 12a (or 12b) stores the received image data in the work area 24a of the RAM 24, which will be described later, and generates a unique ID number for the data. To do. The “image pattern code” in FIG. 23C is
This ID code is shown. The six parameters that follow are, of course, the arguments passed to the image pattern expansion process (function in the library), which means what the image data specified by the image pattern code is. It is data indicating whether to transform into. Specifically, these six pieces of information indicate each element in the determinant used when the image pattern expansion function performs the transformation process. The image pattern expansion function calculates the transformation coordinates (XD, YD) by calculating the original coordinates (XS, YS) of each pixel in the specified pattern by the determinant composed of the given parameters, A process of transferring a pixel existing at (XS, YS) in the original pattern to coordinates (XD, YD) is performed. It should be noted that these coordinates do not indicate absolute coordinate values of the memory for developing the image for printing, but are local coordinate values within the rectangle specified by the clipping information.

【0028】尚、図4或いは図5において、解析部12
a,12bに入力される印字データの形式は、当然のこ
とながら、その解析部の解析対象となるプリンタ言語に
よって大きく異なる。
Incidentally, in FIG. 4 or FIG.
The format of the print data input to a and 12b naturally varies greatly depending on the printer language to be analyzed by the analysis unit.

【0029】[具体的構成の説明]次に上述した実施例
の画像形成装置の具体的構成例を図2に示す。尚、後述
する各実施例においても本図を共通の構造として説明し
ている。
[Description of Specific Configuration] Next, FIG. 2 shows a specific configuration example of the image forming apparatus of the above-described embodiment. It should be noted that this drawing is also described as a common structure in each of the embodiments described later.

【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等で構成され
る。
In the figure, 21 is a printer control unit to be described later, and 21a and 21b are interfaces (I / F) for connecting to external devices (host computer etc.) 301 and 302. However, each interface may be any interface other than parallel and serial. 22 is a CP that controls the entire apparatus
U and 23 are ROMs that store basic programs (such as programs for fetching data via the I / F and the flowchart of FIG. 6 described later) in the processing procedure executed by the CPU 22. 24 is a RAM, which is the CPU 2
2 is a work area 24 that is referred to while executing various processes.
a, a reception buffer area 24b for temporarily storing the received print data, or an intermediate language area 24c for storing the intermediate language data described above. This RAM
Various data areas other than this are created in 24, which will be described later. Reference numerals 25a and 25b denote memories storing emulation programs for interpreting various printer languages (analyzing units 12a and 12 in FIG. 1).
(corresponding to b), and the memories 25a and 25b are R
It is composed of OM and the like. Reference numeral 26 denotes an intermediate language generation library memory (corresponding to the intermediate expression generation standard library 13 in FIG. 1) that stores a set of various functions related to dot pattern generation. Also, 27a, 27b
Is a memory that stores font scaler data, and is capable of printing a plurality of types of characters (for example, Gothic font or Mincho font) as shown in the embodiment. These font scaler memories 27a, 27
The content of b includes outline font data 15 of each character type and a program for generating a final character pattern based on the data.
The memories 26, 27a and 27b are also composed of ROM and the like.

【0031】28は少なくとも1ページ分のドットイメ
ージを展開するだけの容量を有したビットマップメモリ
(図1のページメモリ16に対応する)である。29
は、ビットマップメモリ28に展開されたドット情報を
順次ビデオ信号としてプリンタエンジン部200に出力
する出力I/Fである。31は、各種設定内容等を記憶
保持している不揮発性メモリ(以下、NVRAM)であ
って、例えばE2PROM等から構成されている。30
は各種操作ボタン及びLCD表示部から構成される操作
パネルである。32は、外部装置301,302からR
AM24上のワークエリア24aにダウンロードした各
種データを必要に応じて格納するハードディスクであ
る。そして、これら各構成要素はシステムバス33に接
続されている。
Reference numeral 28 denotes a bit map memory (corresponding to the page memory 16 in FIG. 1) having a capacity enough to develop a dot image for at least one page. 29
Is an output I / F which sequentially outputs the dot information expanded in the bitmap memory 28 to the printer engine unit 200 as a video signal. Reference numeral 31 is a non-volatile memory (hereinafter referred to as NVRAM) that stores and holds various setting contents, and is composed of, for example, an E 2 PROM. Thirty
Is an operation panel including various operation buttons and an LCD display unit. 32 is R from the external device 301, 302
This is a hard disk that stores various data downloaded to the work area 24a on the AM 24 as needed. Then, each of these components is connected to the system bus 33.

【0032】次に実施例のレーザビームプリンタのプリ
ンタエンジン部200の構造を図3に従って説明する。
Next, the structure of the printer engine unit 200 of the laser beam printer of the embodiment will be described with reference to FIG.

【0033】図示で、100はレーザビームプリンタ本
体であり、101はプリンタ制御ユニットであって、図
2における点線枠内の各構成要素が含まれている。この
プリンタ制御ユニット101は主に文字情報を対応する
文字パターンのビデオ信号に変換してレーザドライバ1
02に出力する。
In the figure, reference numeral 100 is a laser beam printer main body, 101 is a printer control unit, and includes the respective components within the dotted frame in FIG. The printer control unit 101 mainly converts character information into a video signal of a corresponding character pattern to convert the laser driver 1 into a video signal.
Output to 02.

【0034】レーザドライバ102は半導体レーザ10
3を駆動するための回路であり、出力I/F29を介し
て入力されたビデオ信号に応じて半導体レーザ103か
ら発射されるレーザ光104をオン・オフ切り換えす
る。レーザ光104は回転多面鏡105で左右方向に振
らされて静電ドラム106上を走査露光する。これによ
り、静電ドラム106上には文字パターンの静電潜像が
形成されることになる。この潜像は静電ドラム106周
囲に配設された現像ユニット107により現像された
後、記録紙に転写される。この記録紙にはカットシート
を用い、カットシート記録紙はLBP100に装着した
用紙カセット108に収納され、給紙ローラ109及び
搬送ローラ110と111とにより、装置内に取り込ま
れて、静電ドラム106に供給される。
The laser driver 102 is the semiconductor laser 10.
3 is a circuit for driving the laser diode 3, and switches on / off the laser beam 104 emitted from the semiconductor laser 103 in accordance with the video signal input via the output I / F 29. The laser light 104 is oscillated in the left-right direction by the rotating polygon mirror 105 to scan and expose the electrostatic drum 106. As a result, an electrostatic latent image of a character pattern is formed on the electrostatic drum 106. This latent image is developed by a developing unit 107 arranged around the electrostatic drum 106, and then transferred to a recording paper. A cut sheet is used as the recording paper, and the cut sheet recording paper is stored in a paper cassette 108 mounted on the LBP 100, and is taken into the apparatus by a paper feed roller 109 and conveyance rollers 110 and 111, and the electrostatic drum 106 is used. Is supplied to.

【0035】[処理内容の説明]説明が前後するが、実
施例では、例えば外部装置301が印刷データを出力し
てくると、対応するI/F21aがCPU22に割り込
み信号を発生する。この割り込み信号を受けて、CPU
22は割り込み処理(ルーチン)を実行するが、簡単に
説明すれば以下の通りである。
[Explanation of Processing Contents] Although the explanation is repeated, in the embodiment, when the external device 301 outputs print data, the corresponding I / F 21a generates an interrupt signal to the CPU 22. Upon receiving this interrupt signal, the CPU
22 executes an interrupt process (routine), which will be briefly described below.

【0036】割り込みルーチンでは、割り込みがかかっ
たI/F21aから受信データを読み出し、それを受信
バッファエリア24bに格納する処理を行う。但し、電
源投入時など、全てのI/Fが解放されている場合に
は、最初に印刷データを入力した(最初に割り込み信号
を発生した)I/Fのみを有効にし、その他のI/Fを
不能状態にする(印字データを受け付けないようにす
る)。
The interrupt routine reads the received data from the interrupted I / F 21a and stores it in the receive buffer area 24b. However, when all I / Fs are released, such as when the power is turned on, only the I / F that first input the print data (first generated the interrupt signal) is enabled and the other I / Fs are activated. Is disabled (print data is not accepted).

【0037】上記割り込み処理が行われることを念頭に
いれて、実施例のCPU22の動作処理手順(メイン処
理)を図6に従って説明する。
The operation processing procedure (main processing) of the CPU 22 of the embodiment will be described with reference to FIG. 6 in consideration of the fact that the interrupt processing is performed.

【0038】先ず、本装置に電源が投入されると、ステ
ップS1において初期化処理を行う。この初期化処理に
は入力用I/F21a,21bを全て解放する等の処理
も含まれる。次のステップS2では、全てのI/F21
a,21bをオンライン状態(データ受信可能状態)に
なっているかどうか判断し、オンライン状態のときには
ステップS3に進んで、受信バッファ24bに印刷デー
タが格納されているかどうかを判断する。
First, when the power of this apparatus is turned on, initialization processing is performed in step S1. This initialization processing also includes processing such as releasing all the input I / Fs 21a and 21b. In the next step S2, all I / Fs 21
It is determined whether or not a and 21b are in the online state (data receivable state), and when it is in the online state, the process proceeds to step S3, and it is determined whether print data is stored in the reception buffer 24b.

【0039】受信データが存在した場合、処理はステッ
プS4に進んで、I/F解放時間を初期化(不図示のタ
イマをリセット)する。このI/F解放時間の意味は後
述の説明から明らかにする。
If there is received data, the process proceeds to step S4 to initialize the I / F release time (reset a timer (not shown)). The meaning of this I / F release time will be clarified from the description below.

【0040】次いで、ステップS5では、その受信した
データをどの解析部で処理するのか決定しているかどう
か、つまり、エミュレーションプログラムメモリ25
a,25bのどれを使用するか決まっているかどうかを
判断する。初期状態では、これが決まっていないので、
この場合にはステップS6に進むが、印刷データに対す
る処理はある程度進んでいて、つまり、エミュレーショ
ンプログラムが決まっている場合にはステップS9に分
岐する。
Next, in step S5, it is determined whether or not which analysis unit should process the received data, that is, the emulation program memory 25.
It is determined whether it is decided which of a and 25b will be used. In the initial state, this has not been decided, so
In this case, the process proceeds to step S6, but if the process for the print data has advanced to some extent, that is, if the emulation program is determined, the process branches to step S9.

【0041】ステップS6では、受信バッファエリア2
4bに格納されたデータ中に含まれる制御コードに基づ
いてどのプリンタ言語のデータなのかを判断し、対応す
るエミュレーションプログラムを選択する処理を行う。
そして、このとき、対応するエミュレーションプログラ
ムが存在しない、或いは複数個存在し得ると判断された
場合(ステップS7)には、ステップS8に進んで予め
決められたエミュレーションプログラムを選択する。勿
論、このとき複数の候補が存在すると判断した場合に
は、その候補の中で一番優先順位が高いエミュレーショ
ンプログラムを選択する(優先順位は予め決められてい
るものとする)。こうして、1つのエミュレーションプ
ログラムが決定されることになる。
In step S6, the reception buffer area 2
Based on the control code included in the data stored in 4b, it is determined which printer language the data is, and the process for selecting the corresponding emulation program is performed.
At this time, when it is determined that the corresponding emulation program does not exist or there may exist a plurality of emulation programs (step S7), the process proceeds to step S8 and a predetermined emulation program is selected. Of course, when it is determined that there are a plurality of candidates at this time, the emulation program having the highest priority is selected from the candidates (the priority is assumed to be predetermined). Thus, one emulation program is decided.

【0042】さて、ステップS5で、既にエミュレーシ
ョンプログラムの1つが決定されていると判断された場
合、ステップS6で適合するエミュレーションプログラ
ムの1つが選択された場合、更にはデフォルトのエミュ
レーションプログラムが選択された場合、処理はステッ
プS9に進む。
If it is determined in step S5 that one of the emulation programs has already been determined, if one of the matching emulation programs is selected in step S6, and further the default emulation program is selected. If so, the process proceeds to step S9.

【0043】このステップS9では、決定された(或い
は既に決定されている)エミュレーションプログラム
(解析部)を実行(コール)する。ここで実行されるエ
ミュレーションプログラムは、各々のエミュレーション
毎にその処理内容が異なるが、いずれにしてもこの解析
処理が実行されて本メインルーチン(ステップS10)
に復帰した場合には、1枚の記録紙に印刷すべき中間言
語データがRAM24中の中間言語エリア24cに格納
されている状態になっている。
In step S9, the determined (or already determined) emulation program (analyzing unit) is executed (called). The emulation program executed here has different processing contents for each emulation, but in any case, this analysis processing is executed and the main routine (step S10) is executed.
When the process returns to, the intermediate language data to be printed on one sheet of recording paper is stored in the intermediate language area 24c in the RAM 24.

【0044】そこで、次のステップS10では、生成さ
れた中間言語データに基づいてビットマップメモリ28
に対応するパターン展開処理を行う。
Therefore, in the next step S10, the bitmap memory 28 is generated based on the generated intermediate language data.
Pattern expansion processing corresponding to is performed.

【0045】こうして、1枚の記録紙に記録すべきパタ
ーンが展開されると、処理はステップS11に進み、出
力I/F29を介した公知のビデオ信号の出力処理によ
る印刷処理を行うことになる。そして、1枚の印刷処理
が終わると、ステップS3に戻り、上述した処理を繰り
返すことになる。この間、I/F解放時間がその都度リ
セットされると共に、エミュレーションプログラムが決
定されているわけであるから、ステップS5の判断は
“YES”になって、ステップS6〜ステップS8の処
理は行われない。
In this way, when the pattern to be recorded on one recording sheet is developed, the process proceeds to step S11, and the printing process is performed by the known output process of the video signal via the output I / F 29. .. When the printing process for one sheet is completed, the process returns to step S3, and the above-described process is repeated. During this time, since the I / F release time is reset each time and the emulation program is determined, the determination in step S5 is "YES", and the processing in steps S6 to S8 is not performed. ..

【0046】一意に決定されたエミュレーションプログ
ラムに基づく印刷処理を進めていって、それまで印刷デ
ータを出力していた外部装置が印刷データ出力を止め、
且つ、受信バッファエリア24bに処理すべきデータが
存在しなくなると、処理はステップS3からステップS
12に分岐することになる。
The print processing based on the emulation program uniquely determined is being advanced, and the external device which has been outputting the print data until then stops the output of the print data,
Moreover, when there is no data to be processed in the reception buffer area 24b, the process proceeds from step S3 to step S
It will be branched to 12.

【0047】ここでは、I/F解放時間が所定以上経過
したか否かを判断する。つまり、いままで受信していた
外部装置が一連の印字データの出力処理を終えたのか否
かを判断する。所定時間経過していないと判断した場合
には、ステップS2に進んで、ステップS3及びS12
をループすることになる。そして、所定時間経過して
も、それまで受信対象であった外部装置から印刷データ
が受信されないと判断した場合には、ステップS12か
らステップS13に進んで、全ての入力用のI/F21
a,21bを解放して、全ての外部装置301,302
からの受信を許可状態にする。
Here, it is determined whether or not the I / F release time has exceeded a predetermined time. That is, it is determined whether or not the external device that has been received up to now has completed the output process of the series of print data. If it is determined that the predetermined time has not elapsed, the process proceeds to step S2 and steps S3 and S12.
Will loop. When it is determined that the print data is not received from the external device that has been the reception target until the predetermined time has elapsed, the process proceeds from step S12 to step S13, and all the input I / Fs 21 are input.
a and 21b are released and all external devices 301 and 302 are released.
Enable reception from.

【0048】以上の処理の如く、メイン処理では、それ
ぞれのエミュレーションプログラムで作成された共通な
中間言語データに従ってビットマップメモリ28への展
開を行うので、それぞれのエミュレーションプログラム
はそのビットマップデータの展開処理から解放されるこ
とになる。
As in the above processing, in the main processing, the expansion into the bitmap memory 28 is performed according to the common intermediate language data created by the respective emulation programs, so that each emulation program expands the bitmap data. Will be released from.

【0049】ここで、ステップS9でのエミュレーショ
ンプログラムの解析処理内容の一例を図7のフローチャ
ートに従って説明する。尚、以下に説明するエミュレー
ションプログラムは、ページ記述言語の1つに対応した
ものである。
Here, an example of the analysis processing contents of the emulation program in step S9 will be described with reference to the flowchart of FIG. The emulation program described below corresponds to one of the page description languages.

【0050】メイン処理から本エミュレーションプログ
ラム、例えばエミュレーションプログラムメモリ25a
がコールされると、ステップS21において、受信バッ
ファエリア24bに格納された受信データを使って解析
処理をする。そして、次のステップS22において、そ
のデータが改ページコマンド(印字コマンド)であるか
どうかを判断する。改ページコマンドでないと判断した
ら、ステップS23に進んで、そのデータを解析し(ス
テップS23)、中間言語発生用ライブラリメモリ26
に格納されている各種関数に対する識別コード及びそれ
らに渡すパラメータを生成し(ステップS24)、それ
を中間言語エリア24cに格納する。以下、改ページコ
マンドが検出されるまで、ステップS21以下の処理を
繰り返し、その改ページコマンドが検出されたら、メイ
ン処理のステップS10に復帰する。
From the main processing to this emulation program, for example, emulation program memory 25a
Is called, in step S21, analysis processing is performed using the reception data stored in the reception buffer area 24b. Then, in the next step S22, it is determined whether or not the data is a page break command (print command). If it is determined that the command is not a page break command, the process proceeds to step S23, the data is analyzed (step S23), and the intermediate language generation library memory 26
The identification codes for the various functions and the parameters to be passed to them are generated (step S24) and stored in the intermediate language area 24c. Hereinafter, the processing from step S21 is repeated until the page break command is detected, and when the page break command is detected, the procedure returns to step S10 of the main processing.

【0051】こうして、メインルーチンに復帰した時点
では、中間言語エリア24cには1ページ分の中間言語
データが生成されることになる。
Thus, when returning to the main routine, one page of intermediate language data is generated in the intermediate language area 24c.

【0052】尚、例えばキャリッジを往復運動させて印
刷を行うことを意図したプリンタ専用のプリンタ言語に
対するエミュレーションプログラムは、原則としては同
様の処理を行う。但し、必ずしも改ページコマンドを受
信するとは限らないので、ステップS22に対応する処
理では、そのエミュレートしようとする言語の対する行
ピッチに基づく行数も判断の対象とする。
In principle, the emulation program for the printer language dedicated to the printer intended to perform the reciprocating movement of the carriage performs the same processing. However, since the page break command is not always received, in the process corresponding to step S22, the number of lines based on the line pitch of the language to be emulated is also a target of determination.

【0053】また、例えば、格別使用するフォントの指
定することがないプリンタ言語を受信しても(そのエミ
ュレーションプログラムが特定のフォントスケーラに依
存しないプログラムであっても)、ユーザが操作パネル
30上で使用するフォントスケーラを選択したり、或い
は予めそれを決めておくだけで(設定内容はNVRAM
に記憶保持させれば良い)、自分好みの印刷結果を得る
ことが可能になる。換言すれば、装置自身が有するフォ
ントスケーラ15a,15bを共通の財産として、自由
に使用することも可能になる。
Further, for example, even if a printer language in which a font to be specially used is not specified is received (even if the emulation program is a program which does not depend on a specific font scaler), the user operates the operation panel 30. Just select the font scaler to use or decide it in advance (setting contents are NVRAM
You can get the print result of your choice. In other words, the font scalers 15a and 15b of the apparatus itself can be freely used as a common property.

【0054】以上説明したように本実施例によれば、共
通な中間言語発生用ライブラリメモリ26を有すること
で、各エミュレーションプログラム25a,25bはそ
の共通な中間言語データを生成するだけの処理を行えば
良い。従って、エミュレーションプログラムを新規に開
発する場合の開発環境は向上し、且つ、そのために要す
るメモリ量も少なくて済むので、コスト低減を図ること
も可能になる。また、1つのエミュレーションプログラ
ムが、複数のフォントスケーラのフォントを切り換え使
用することも可能になる。
As described above, according to this embodiment, by having the common intermediate language generation library memory 26, each emulation program 25a, 25b performs only the processing for generating the common intermediate language data. I'm fine. Therefore, the development environment for newly developing the emulation program is improved, and the amount of memory required for that is reduced, so that the cost can be reduced. Also, one emulation program can switch and use the fonts of a plurality of font scalers.

【0055】尚、上述した実施例では、各解析部は1ペ
ージ分の中間言語を生成する度にメインルーチンに復帰
したが、必ずしも1ページ分の中間言語データを待つ必
要はない。また、中間言語データに基づくドットパター
ン展開処理が並行動作するようにしても良い。
In the above-described embodiment, each analysis unit returns to the main routine each time one page of intermediate language is generated, but it is not always necessary to wait for one page of intermediate language data. Further, the dot pattern development processing based on the intermediate language data may be operated in parallel.

【0056】[第2の実施例の説明]上述した実施例
(第1の実施例という)では、装置自身が予め有してい
たフォントスケーラ15a,15bを使用したが、外部
装置が適宜、所望とするフォントスケーラ15cを本装
置に送信し、登録するようにしても良い。つまり、本装
置がフォントスケーラデータを外部装置からダウンロー
ドする。この例を第2の実施例として以下に説明する。
なお、新規登録するフォントスケーラは1種類に限定さ
れるものではなく2種類以上であっても構わない。
[Explanation of the Second Embodiment] In the above-mentioned embodiment (referred to as the first embodiment), the font scalers 15a and 15b which the apparatus itself had in advance were used. The font scaler 15c may be transmitted to the apparatus and registered. That is, this device downloads the font scaler data from the external device. This example will be described below as a second embodiment.
The font scaler to be newly registered is not limited to one type and may be two or more types.

【0057】本第2の実施例の概念を図8に示し、その
処理概要を説明する。
The concept of the second embodiment is shown in FIG. 8 and its processing outline will be described.

【0058】同図において、例えば、外部装置301か
らは、本装置にダウンロードさせるための制御コマンド
(ダウンロードコマンド)と、ダウンロードするのがフ
ォントスケーラデータであることを示すコード、送出す
る総バイト数及びフォントスケーラデータとチェックサ
ム用のデータを送ってくる。尚、ダウンロードコマンド
以外にそのデータの種類を示すコードを送って来るの
は、ダウンロード対象はフォントスケーラデータのみで
はないからである(それについては後述する実施例で説
明する)。このダウンロードコマンドかどうかの判断処
理は、その性質上、入力部11が通常の印字データが入
力された場合のプリンタ言語を判別する処理(図6のス
テップS6)の前に判断するものとする。なお、外部装
置は外部装置301に限らず、外部装置302或いはそ
の他の外部装置であってもよい。
In the figure, for example, from the external device 301, a control command (download command) for downloading to this device, a code indicating that the font scaler data is downloaded, the total number of bytes to be sent, and It sends font scaler data and checksum data. In addition to the download command, the code indicating the type of the data is sent because the download target is not only the font scaler data (this will be described in the embodiment described later). Due to its nature, the determination process as to whether or not this is a download command is performed before the process (step S6 in FIG. 6) for determining the printer language when the input unit 11 receives normal print data. The external device is not limited to the external device 301, and may be the external device 302 or another external device.

【0059】勿論、各エミュレーションプログラムにダ
ウンロードコマンドかどうかの判断処理、及びもしそう
ならダウンロードを行う処理を追加してもよい。ここで
ダウンロードするプログラム自身は、必ずしも各エミュ
レーションプログラムが有する必要はなく、そのプログ
ラムをROM23に記憶させておけば、ダウンロードコ
マンドか否かの判断とその処理をコールする処理だけで
よいことになるので、その分のメモリ量は無視できる。
Of course, it is also possible to add processing for determining whether or not the command is a download command to each emulation program, and if so, processing for downloading. The program itself to be downloaded here does not necessarily have to be included in each emulation program, and if the program is stored in the ROM 23, it is only necessary to determine whether it is a download command and to call the process. , The amount of memory can be ignored.

【0060】本第2の実施例では、外部装置はダウンロ
ードコマンドとフォントスケーラ(拡大縮小し、文字パ
ターンを発生するプログラム及びそのアウトラインフォ
ントデータ)の総バイト数を示すデータに続いて、実際
のフォントスケーラのデータを送出する。そして、それ
らデータはRAM24の受信バッファ24bに格納され
るものとする。
In the second embodiment, the external device uses the download command and the data indicating the total number of bytes of the font scaler (the program for enlarging / reducing and generating the character pattern and its outline font data), and then the actual font. Send the scaler data. Then, it is assumed that these data are stored in the reception buffer 24b of the RAM 24.

【0061】こうして送られてきたフォントスケーラデ
ータは、最終的にRAM24上のワークエリア24aに
格納される。そして、RAM24のワークエリア24a
に確保されているフォントスケーラの管理情報(フォン
ト属性テーブル)が更新される。しかし、電源をOFF
にするとこのダウンロードしたデータ及びフォント属性
テーブルが消えてしまうので、必要に応じて、ハードデ
ィスク32にこのダウンロードしたデータを格納し、電
源をONにした際に,このデータに基づいてフォント属
性テーブルを再生させることもできる。尚、RAM24
は不図示のバックアップ電源によってその内容が保持さ
れるようになっているものとする。
The font scaler data thus sent is finally stored in the work area 24a on the RAM 24. The work area 24a of the RAM 24
The management information (font attribute table) of the font scaler which is secured in the above is updated. However, power off
If this is set, the downloaded data and font attribute table will be erased. Therefore, if necessary, the downloaded data is stored in the hard disk 32, and when the power is turned on, the font attribute table is reproduced based on this data. You can also let it. The RAM 24
The contents are held by a backup power supply (not shown).

【0062】このようにして、ユーザは新たにダウンロ
ードしたフォントスケーラ15cを共通の資源として活
用することも可能になっている。すなわち、既存のフォ
ントスケーラ15a,15bと同様に、ダウンロードし
たフォントスケーラデータは、各エミュレーションプロ
グラムに依存せず、自由に選択することが可能になる。
In this way, the user can also utilize the newly downloaded font scaler 15c as a common resource. That is, similarly to the existing font scalers 15a and 15b, the downloaded font scaler data can be freely selected without depending on each emulation program.

【0063】上述した処理を実現するため、本第2の実
施例のCPU22の動作処理手順を図9のフローチャー
トに従って説明する。尚、このフローチャートは図6の
ステップS5の判断処理で“NO”と判断されたとき、
すなわち、ステップS6の直前に挿入される。
In order to realize the above-mentioned processing, the operation processing procedure of the CPU 22 of the second embodiment will be described with reference to the flowchart of FIG. It should be noted that, when this flowchart is judged as "NO" in the judgment processing of step S5 of FIG.
That is, it is inserted immediately before step S6.

【0064】ここで、ステップS5の判断が“NO”と
なるのは、印刷すべき解析部(エミュレーションプログ
ラム)が決定していないと判断されたとき、つまり、電
源投入して最初に印刷データを受信した場合、或いは、
一連の印刷処理が完了して全ての入力用のI/F21
a,21bを解放した後に新たなデータを受信した場合
に実行されることに注目されたい。
Here, the judgment of step S5 becomes "NO" when it is judged that the analysis section (emulation program) to be printed is not decided, that is, when the power is turned on and the print data is first printed. If received, or
I / F21 for all input after a series of printing process is completed
Note that this is done if new data is received after releasing a, 21b.

【0065】さて、図6に示すステップS5の判断が
“NO”になって、図9に示す本処理のステップS31
に進むと、その受信データはダウンロードコマンドであ
るかどうかが判断される。ダウンロードコマンドではな
く、印刷データであると判断した場合には図6のステッ
プS6に進む。この後は、先に説明した通りである。
Now, the determination in step S5 shown in FIG. 6 becomes "NO", and step S31 of this processing shown in FIG.
Proceeding to, it is determined whether the received data is a download command. When it is determined that the print data is not the download command, the process proceeds to step S6 in FIG. After this, it is as described above.

【0066】さて、ステップS31でダウンロードコマ
ンドを受信したと判断した場合にはステップS32で、
続いて入力された総バイト数を得る。そして、ステップ
S33でこれから受信する総バイト数と、RAM24の
ワークエリア24aの空きエリアとの比較をし、そのデ
ータをRAM24のワークエリア24aに確保できるか
どうか判断する。確保できないと判断した場合には、そ
れ以降に受信するデータを読み飛ばし、図6のステップ
S2に戻る。このとき、読み飛ばし処理が完了した時点
で、それによって不能にされた他の入力I/Fを解放す
る。
If it is determined in step S31 that the download command is received, in step S32,
Then get the total number of bytes input. Then, in step S33, the total number of bytes to be received is compared with the empty area of the work area 24a of the RAM 24 to determine whether the data can be secured in the work area 24a of the RAM 24. When it is determined that the data cannot be secured, the data received thereafter is skipped and the process returns to step S2 in FIG. At this time, when the read skip processing is completed, the other input I / F disabled by it is released.

【0067】また、RAM24のワークエリア24aに
確保できると判断した場合には、ステップS35でこれ
から送られてくるデータはフォントスケーラデータであ
るかどうかを判断する。フォントスケーラデータ以外で
あると判断したら、ステップS36に進んで、対応する
データのダウンロードを行ってステップS2に戻る。こ
のときも、ダウンロード処理が完了した時点で、それに
よって不能にされた他の入力I/Fを解放する。
When it is determined that the data can be secured in the work area 24a of the RAM 24, it is determined in step S35 whether or not the data to be sent is font scaler data. If it is determined that the data is not the font scaler data, the process proceeds to step S36, the corresponding data is downloaded, and the process returns to step S2. Also at this time, when the download process is completed, the other input I / F disabled by it is released.

【0068】こうして、受信するデータがフォントスケ
ーラデータであると判断されたらステップS37に進ん
で、順次入力されるデータをRAM24に確保されたワ
ークエリア24aに格納していく。このとき、受信した
データを格納するとき、各バイトの総和を求めていく。
更に、必要に応じて、ワークエリア24aにダウンロー
ドしたデータをハードディスク32に格納することもで
きる。
When it is determined that the received data is font scaler data, the process proceeds to step S37, and the sequentially input data is stored in the work area 24a secured in the RAM 24. At this time, when storing the received data, the sum of each byte is calculated.
Furthermore, the data downloaded to the work area 24a can be stored in the hard disk 32 as required.

【0069】こうして、最終的に受信データがRAM2
4のワークエリア24aにダウンロードされるが、最後
に受信したバイトとそれまで受信して加算した結果を比
較し、データが正しく受信されたかどうかを判断する。
正しく受信できたと判断した場合には、ステップS39
に進んでワークエリア24aに予め確保されていたフォ
ント属性テーブルにダウンロードしたフォントを登録す
る。また、チェックサムがNGになった場合には、ステ
ップS40に進んで、ダウンロードした全データを削除
し、確保したワークエリア24aを他の処理に使用でき
るよう解放する。
Thus, finally, the received data is the RAM 2
Although it is downloaded to the work area 24a of No. 4, the last received byte is compared with the result received and added up to that time to determine whether the data has been correctly received.
If it is determined that the reception was successful, step S39.
Then, the downloaded font is registered in the font attribute table previously secured in the work area 24a. If the checksum is NG, the process proceeds to step S40 to delete all the downloaded data and release the reserved work area 24a so that it can be used for other processing.

【0070】いずれにせよ、ステップS39、40で
は、その受信処理によって不能にされた他の入力I/F
を解放し、ステップS2に戻る。
In any case, in steps S39 and S40, other input I / Fs disabled by the reception processing are performed.
Is released and the process returns to step S2.

【0071】ここで、フォント属性テーブルの一例を図
10(各実施例共通)に示す。図示の如く、このテーブ
ルは、フォントスケーラの名称と、そのフォントスケー
ラを実現するプログラムの格納先アドレスから構成され
ている。図示では、上述したフォントスケーラデータの
ダウンロードによって更新された状態を示している。
尚、図示で“EOT”はそのテーブルの終わりを示すマ
ークである。
Here, an example of the font attribute table is shown in FIG. 10 (common to each embodiment). As shown in the figure, this table is composed of the name of the font scaler and the storage destination address of the program for realizing the font scaler. The drawing shows a state in which the font scaler data is updated by downloading.
In the figure, "EOT" is a mark indicating the end of the table.

【0072】以上説明したように本第2の実施例によれ
ば、フォントスケーラデータを外部装置(ホストコンピ
ュータ等)からダウンロードすることができるので、フ
ォントスケーラ15cの新規登録が行えるようになる。
As described above, according to the second embodiment, since the font scaler data can be downloaded from the external device (host computer or the like), the font scaler 15c can be newly registered.

【0073】また、各エミュレーションは、標準装備さ
れていたフォントスケーラ15a,15b及び新たに登
録したフォントスケーラ15cを適宜切り換えることが
できるので、表現力豊かな出力を得ることが可能にな
る。
In each emulation, the font scalers 15a and 15b provided as standard equipment and the newly registered font scaler 15c can be appropriately switched, so that it is possible to obtain an expressive output.

【0074】[第3の実施例の説明]次に、新たな解析
部(エミュレーションプログラム)をダウンロードする
例を説明する。この目的は、勿論、装置に新たな回路を
設けることなく、それまで対応していなかったプリンタ
言語にも容易に対処させることにある。説明を簡単にす
るため、実施例の装置の解析部(エミュレーションプロ
グラム)12a,12bは標準装備であって、新規に解
析部12cをダウンロードする例を説明する。勿論、こ
れら解析部12a,12b,12cは第1、第2の実施
例で説明した中間言語データを生成するものである。
[Description of Third Embodiment] Next, an example of downloading a new analysis unit (emulation program) will be described. The purpose is, of course, to easily deal with a printer language which has not been supported until then, without providing a new circuit in the apparatus. In order to simplify the description, an example will be described in which the analysis units (emulation programs) 12a and 12b of the apparatus of the embodiment are standard equipment, and the analysis unit 12c is newly downloaded. Of course, these analysis units 12a, 12b, 12c generate the intermediate language data described in the first and second embodiments.

【0075】本第3の実施例の概念図を図11に示す。A conceptual diagram of the third embodiment is shown in FIG.

【0076】図示では、予め装置自身に解析部12a,
12bの2つのエミュレーションプログラムが設けら
れ、それに新たに第3の解析部12cを登録する例を示
している。例えば、外部装置301からダウンロードし
たエミュレーションプログラムのデータは、第2の実施
例と同様に、最終的にRAM24上のワークエリア24
aに格納されるものとする。また、ワークエリア24a
には、現在どのような解析部が登録されているのか等を
管理する管理テーブル(後述する)が設けられているも
のとする。なお、外部装置は外部装置301に限らず、
外部装置302或いは、その他の外部装置であってもよ
い。
In the figure, the analyzer 12a,
An example is shown in which two emulation programs 12b are provided and the third analysis unit 12c is newly registered in the emulation program. For example, the data of the emulation program downloaded from the external device 301 is finally the work area 24 on the RAM 24, as in the second embodiment.
It shall be stored in a. Also, the work area 24a
It is assumed that a management table (which will be described later) that manages what kind of analysis unit is currently registered and the like is provided. The external device is not limited to the external device 301,
It may be the external device 302 or another external device.

【0077】外部装置301からのエミュレーションプ
ログラムのダウンロードの処理は、第2の実施例で説明
したフォントスケーラデータのダウンロードと実質的に
同じであるので、ここでの詳述は省略する。ただし、か
かるエミュレーションプログラムのダウンロードは、図
9におけるステップS36で行われるものである。
Since the process of downloading the emulation program from the external device 301 is substantially the same as the download of the font scaler data described in the second embodiment, the detailed description thereof will be omitted here. However, the download of the emulation program is performed in step S36 in FIG.

【0078】図12に、外部装置301が送出してくる
全データ中におけるエミュレーションプログラムデータ
の内容を示す。
FIG. 12 shows the contents of the emulation program data in all the data sent by the external device 301.

【0079】図示の如く、ヘッダには自身のエミュレー
ションプログラムがどのプリンタ言語に対応しているの
かを示す名称があって、続いて判別用プログラムデー
タ、設定用プログラムデータ、最後に実際のエミュレー
ションプログラムデータがある。なお、これらデータの
前には、第2の実施例で説明したダウンロードコマンド
と、ダウンロードするのがエミュレーションデータであ
ることを示すコード、総出する総バイト数等がある。
As shown in the figure, the header has a name indicating which printer language the emulation program of its own corresponds to, followed by discrimination program data, setting program data, and finally the actual emulation program data. There is. Incidentally, before these data, there are the download command described in the second embodiment, a code indicating that the emulation data is downloaded, the total number of bytes to be output, and the like.

【0080】判別用プログラムデータは、第1の実施例
における図6ステップS6の処理で活用されるものであ
り、入力されてきたデータが自身のエミュレーションに
対応するのかを判別するものである。従って、この判別
用プログラムには自身が解析するプリンタ言語の特徴的
な制御コマンド(及びどのような形式のパラメータが付
加されるかを示すデータフォーマット情報等)が複数個
含まれる。
The discrimination program data is utilized in the processing of step S6 of FIG. 6 in the first embodiment, and discriminates whether the inputted data corresponds to its own emulation. Therefore, this discrimination program includes a plurality of characteristic control commands of the printer language analyzed by itself (and data format information indicating what type of parameter is added, etc.).

【0081】また、設定用プログラムデータは、そのエ
ミュレーションプログラムを使用する上での各種設定事
項を決定するためのプログラムであり、その詳細につい
ては後述する。
The setting program data is a program for determining various setting items for using the emulation program, and details thereof will be described later.

【0082】さて、図12に示した形態のデータをRA
M24のワークエリア24aに無事ダウンロードした
後、CPU22は、その中の各データに応じて装置の各
種テーブルを更新する。具体的には、ワークエリア24
aに設けられた判別用プログラムテーブル及び管理テー
ブルを更新する。すなわち、それらのテーブルに新たに
ダウンロードしたエミュレーションプログラムを登録す
る。
The data of the form shown in FIG.
After successfully downloading to the work area 24a of M24, the CPU 22 updates various tables of the device according to each data therein. Specifically, work area 24
The determination program table and the management table provided in a are updated. That is, the newly downloaded emulation program is registered in those tables.

【0083】ここで、判別用プログラムテーブルの一例
を図13、管理テーブルの一例を図14に示す。尚、図
示で“EOT”は、そのテーブル内のデータの終わりを
示すマークである。また、これらテーブルのフォーマッ
トは前述した各実施例及び後述する実施例に共通であ
る。
Here, an example of the discrimination program table is shown in FIG. 13, and an example of the management table is shown in FIG. In the figure, "EOT" is a mark indicating the end of the data in the table. Further, the formats of these tables are common to the above-mentioned respective embodiments and the later-described embodiments.

【0084】図13の判別用プログラムテーブルは、エ
ミュレーションプログラムA、Bを装置が最初から有し
ていることを示し、エミュレーションプログラムCが新
規に登録されたことを示している。因みに、第1の実施
例の図6ステップS6における自動判別処理は、この判
別用プログラムテーブルによって示された各解析部の判
別用プログラムを順次コールし、その結果に基づいて判
断している。例えば、各判別用プログラムは、受信バッ
ファエリア24bに格納されたデータ中の制御コマンド
が自身のエミュレーションプログラムに適合するか否か
の判断結果を返すプログラムと考えればよい。
The discrimination program table of FIG. 13 shows that the apparatus has the emulation programs A and B from the beginning, and that the emulation program C is newly registered. Incidentally, in the automatic discrimination processing in step S6 of FIG. 6 of the first embodiment, the discrimination programs of the respective analysis units indicated by this discrimination program table are sequentially called, and the discrimination is made based on the result. For example, each determination program may be considered as a program that returns a determination result as to whether or not the control command in the data stored in the reception buffer area 24b matches the emulation program of its own.

【0085】図14の管理テーブルについても同様で、
“エミュレーションC”以外の項目は最初から装置に備
えられたものである。
The same applies to the management table of FIG.
Items other than "emulation C" are provided in the apparatus from the beginning.

【0086】プリンタの各種環境はパネル30で設定さ
れる。その環境の中には、例えば、以下で説明するイン
ターフェースの転送速度の様な、全エミュレーションで
共通に使える設定もあれば、各エミュレーション固有の
環境設定もある。こうした環境設定は最終的にNVRA
M31に格納され、電源を切ってもその内容は保持され
る。
Various environments of the printer are set on the panel 30. In the environment, there are settings that can be commonly used in all emulations, such as the transfer speed of the interface described below, and environment settings unique to each emulation. This environment setting is finally NVRA
Stored in M31, its contents are retained even when the power is turned off.

【0087】実施例の装置は、図1、或いは図2で示し
たように、複数の入力用I/F21a,21bが設けら
れている。その中にはパラレルインターフェースもあれ
ば、RS-232C等のシリアルインターフェースも含
まれる。
The apparatus of the embodiment is provided with a plurality of input I / Fs 21a and 21b as shown in FIG. 1 or 2. Some of them include parallel interfaces, and some include serial interfaces such as RS-232C.

【0088】この管理テーブル中の“インターフェー
ス”とは、そうしたI/F関係を管理している(I/F
関係のプログラムの格納先アドレスが記憶されてい
る)。このプログラムには、例えば、ある入力用のI/
Fがシリアルインターフェースである場合には、その転
送速度等を設定するなどの処理が含まれる。
The "interface" in this management table manages such I / F relationship (I / F).
The storage address of the related program is stored). In this program, for example, I /
When F is a serial interface, it includes processing such as setting the transfer speed and the like.

【0089】また、同テーブルの“制御”とは、例えば
装着されている記録紙のサイズ、マージン等の設定を管
理している(制御関係のプログラムの格納先アドレスが
記憶されている)。
The "control" in the table manages, for example, the size and margin of the recording paper loaded (the storage destination address of the control-related program is stored).

【0090】“メモリ”とは、現在装着されているメモ
リ量(適宜増設することが出来るようになっている)、
受信バッファエリア24bのサイズ(このサイズを大き
くすると外部装置は、自身の印刷データ出力処理から早
くの開放される)等の設定を管理している。
"Memory" means the amount of memory currently installed (it is possible to appropriately add more),
It manages settings such as the size of the reception buffer area 24b (when this size is increased, the external device is released from its own print data output process sooner).

【0091】“エミュレーションA、B、C”は、各々
のエミュレーション固有の環境設定のためのプログラム
と、そのエミュレーションプログラムの格納先アドレス
を管理している。環境設定のプログラムとしては、例え
ば、エミュレーションAでは、デフォルトでどのような
種類やサイズのフォントを選択するか等である。
"Emulation A, B, C" manages programs for environment setting unique to each emulation and the storage destination address of the emulation program. As the environment setting program, for example, in the emulation A, what kind and size of font is selected by default.

【0092】そして、“初期化”は、NVRAM31に
格納された各種環境値を工場出荷時の値に戻すことを意
味する。
"Initialize" means to restore various environmental values stored in the NVRAM 31 to the factory default values.

【0093】また、ダウンロードしたエミュレーション
プログラムの登録は、この“初期化”の直前に挿入され
る。
The registration of the downloaded emulation program is inserted immediately before this "initialization".

【0094】尚、かかるテーブルで管理しているプログ
ラム中、ダウンロードしたプログラム及びデータ以外
は、すべてエミュレーションプログラムメモリ25a、
或いは25bに格納されているものである。
Of the programs managed by the table, all but the downloaded programs and data are emulated program memory 25a,
Alternatively, it is stored in 25b.

【0095】図15に従って、管理テーブルに基づくユ
ーザインターフェースの処理手順を説明する。ただし、
以下の説明におけるセットアップキー、選択キーは共に
操作パネル30に設けられたキー群の一部であり、
“i”はRAM24中のワークエリアに確保された管理
テーブルの項目を示すポインタ変数である。
The processing procedure of the user interface based on the management table will be described with reference to FIG. However,
The setup key and the selection key in the following description are both part of the key group provided on the operation panel 30,
“I” is a pointer variable indicating an item of the management table secured in the work area in the RAM 24.

【0096】まず、ステップS61で、キー入力があっ
たと判断すると、ステップS62でそのキーはセットア
ップキーかどうか判断される。セットアップキー以外の
場合には、対応する処理を行うべくステップ63に進
む。
First, if it is determined in step S61 that there is a key input, it is determined in step S62 whether the key is the setup key. If the key is other than the setup key, the process proceeds to step 63 to perform the corresponding process.

【0097】また、セットアップキーの入力を検出した
ら、ステップS64に進んで変数iに初期値“0”を代
入し、次のステップS65で変数iを1つだけインクリ
メントする。次のステップS66では、管理テーブルの
i番目の項目が“EOT”であるか否かを判断する。も
し、その“EOT”であると判断したら、ポインタ変数
iはテーブルの終わりを差し示していることになるか
ら、次のステップS67で先頭項目を差し示すように訂
正する。
When the input of the setup key is detected, the process proceeds to step S64, the initial value "0" is assigned to the variable i, and the variable i is incremented by one in the next step S65. In the next step S66, it is determined whether or not the i-th item in the management table is "EOT". If it is determined that it is "EOT", it means that the pointer variable i indicates the end of the table, so the correction is made so as to indicate the first item in the next step S67.

【0098】いずれにせよ、ステップS68では、i番
目の項目名を操作パネル30に設けられたLCD表示部
に表示し、ステップS69で次のキー入力を待つ。
In any case, in step S68, the i-th item name is displayed on the LCD display section provided on the operation panel 30, and in step S69, the next key input is awaited.

【0099】ここで入力されたキーがセットアップキー
であると判断したら(ステップS70)、処理はステッ
プS65に戻って上述した処理を行うことで次の項目名
を表示する。こうして、セットアップキーが押下される
たびにLCD表示部には操作項目名が順次表示されるよ
うになる。
If it is determined that the entered key is the setup key (step S70), the process returns to step S65 to perform the above-mentioned process to display the next item name. In this way, each time the setup key is pressed, the operation item names are sequentially displayed on the LCD display section.

【0100】さて、セットアップキーを何回か押して、
目的の項目名の表示を確認すると、選択キーを押す。こ
の選択キーの押下を検出すると(ステップS71)、処
理はステップS72に進んで、そのときの変数iが示し
ている項目の設定用プログラムをコールする。各設定用
プログラムは、各々の項目に依存しているのでここでの
説明は割愛するが、いずれの場合も、ユーザはLCD表
示部に表示された内容に従って操作を進めるようにな
る。
Now, press the setup key several times,
After confirming the display of the desired item name, press the select key. When the pressing of the selection key is detected (step S71), the process proceeds to step S72 to call the setting program for the item indicated by the variable i at that time. Since each setting program depends on each item, a description thereof will be omitted here, but in any case, the user will proceed with the operation according to the contents displayed on the LCD display unit.

【0101】以上説明したように本第3の実施例によれ
ば、格別な改造することになしに、適宜、所望とするエ
ミュレーション機能を付加させることが可能になる。
As described above, according to the third embodiment, it is possible to appropriately add a desired emulation function without special modification.

【0102】また、操作パネルの操作方法も、装置全体
にかかる共通な環境設定の操作部分と、各エミュレーシ
ョン独自の環境設定の操作部分が分離されており、この
状態は新たなエミュレーションをダウンロードした場合
も維持される。換言すれば、ユーザから見れば、ダウン
ロードしたエミュレーションプログラムについての操作
知識を増やせば良いだけで、統一された操作環境は維持
されることになり、極めて有益なユーザインターフェー
スを提供できる。更には、エミュレーションプログラム
を開発する立場から見た場合、該当するエミュレーショ
ンに係る操作のプログラムを作成するだけでよいので、
開発が容易になる。
Also, regarding the operation method of the operation panel, the operation part of the common environment setting related to the entire apparatus and the operation part of the environment setting unique to each emulation are separated, and this state is obtained when a new emulation is downloaded. Is also maintained. In other words, from the user's point of view, only by increasing the operation knowledge of the downloaded emulation program, the unified operation environment can be maintained, and an extremely useful user interface can be provided. Furthermore, from the standpoint of developing an emulation program, it is only necessary to create a program for the operation related to the corresponding emulation.
Development becomes easy.

【0103】また、ダウンロードしたエミュレーション
プログラムデータ中には、印刷データ自身がサポートす
るプリンタ言語によるものかを判別するプログラムも含
まれているので、自動判別機能がそのまま実行できるよ
うになる。
Since the downloaded emulation program data also includes a program for determining whether the print data is in the printer language supported by itself, the automatic determination function can be directly executed.

【0104】[第4の実施例の説明]前述した第1〜第
3の実施例では、いずれの解析部でも最終的に中間言語
データを生成した。そして、共通の展開処理によってビ
ットマップメモリ28に対応するビットパターンを展開
し、印刷処理した。
[Explanation of Fourth Embodiment] In the above-mentioned first to third embodiments, the intermediate language data is finally generated by any of the analysis units. Then, the bit pattern corresponding to the bit map memory 28 is developed by the common developing process and the printing process is performed.

【0105】ところで、近年の電子技術分野を鑑みる
と、外部装置(ホストコンピュータ等)の処理能力(処
理速度)の向上には目覚ましいものがある。そこで、上
述した中間言語データを生成する処理を外部装置に分担
してもらって、印刷処理をより高速にすることを実現す
る例を第4の実施例として説明する。
In view of the recent electronic technology field, there is a remarkable improvement in the processing capability (processing speed) of an external device (host computer or the like). Therefore, an example will be described as a fourth embodiment in which an external device is responsible for the above-described processing of generating intermediate language data to realize a higher speed printing process.

【0106】本第4の実施例の構成概念図を図16に示
す。
FIG. 16 shows a conceptual diagram of the structure of the fourth embodiment.

【0107】図示の如く、通常の外部装置(例えば外部
装置302)はそれ上で動作しているアプリケーション
プログラム304が印刷データをプリンタドライバ30
7を介して出力しているのに対し、本第4の実施例の対
象としている外部装置(例えば外部装置301)は、中
間言語ライブラリ13、フォントスケーラ15a,15
b、解析部12a,12b等の中間言語を生成するため
に必要な構成要素を有し、プリンタドライバ305又は
306を介して、アプリケーションプログラム303が
出力する印刷データを中間言語データのレベルまで落と
して画像形成装置の制御ユニット101へ出力する。
As shown in the figure, in an ordinary external device (for example, the external device 302), the application program 304 operating on the external device 302 sends print data to the printer driver 30.
7, the external device (for example, the external device 301) targeted by the fourth embodiment is the intermediate language library 13 and the font scalers 15a, 15
b, the analysis units 12a and 12b, and the like, which have the components necessary for generating an intermediate language, and reduce the print data output by the application program 303 to the intermediate language data level via the printer driver 305 or 306. Output to the control unit 101 of the image forming apparatus.

【0108】図18に外部装置301が出力してくる中
間言語データのフォーマットを示す。図示において、
“1000”は中間言語データの総バイト数を示す数値
であり、この部分はその場に応じて変化する。この場合
には、“#>GS,1000CR”からエンドマーク
(排紙指示コマンド)の“#>EOT”の間にある10
00バイトが中間言語データを意味する。
FIG. 18 shows the format of the intermediate language data output by the external device 301. In the figure,
“1000” is a numerical value indicating the total number of bytes of the intermediate language data, and this portion changes depending on the situation. In this case, 10 between “#> GS, 1000CR” and “#> EOT” of the end mark (paper ejection instruction command)
00 bytes means intermediate language data.

【0109】処理としては、受信バッファエリア24b
に格納されたデータが中間言語データであるか否かを判
断する処理を行う。そして、受信バッファエリア24b
に格納されたデータが中間言語形式のデータでないと判
断したら、上述した第1〜第3の実施例の処理を行い、
もしそうならそのデータに基づくビットパターンを直接
ビットマップメモリ(ページメモリ16)に展開し、印
刷処理を行えばよい。
As processing, the reception buffer area 24b
A process of determining whether the data stored in is the intermediate language data is performed. Then, the reception buffer area 24b
If it is determined that the data stored in is not the data in the intermediate language format, the processes of the above-described first to third embodiments are performed,
If so, the bit pattern based on the data may be directly expanded in the bitmap memory (page memory 16) and the printing process may be performed.

【0110】具体的には、例えば図6のステップS6の
直前(或いは図9のステップS31の直前でも良い)に
図17に示すうな判断処理ステップS81を挿入するこ
とで、実現できる。
Specifically, it can be realized by inserting a judgment processing step S81 shown in FIG. 17 immediately before step S6 of FIG. 6 (or immediately before step S31 of FIG. 9).

【0111】尚、受信データが中間言語形式のデータで
あると判断してステップS10に進んだ場合のビットマ
ップ展開処理では、処理対象の中間言語データが中間言
語エリア24cではなく、受信バッファエリア24bに
あるものとして処理を行う。
In the bitmap expansion processing when it is determined that the received data is in the intermediate language format and the process proceeds to step S10, the intermediate language data to be processed is not the intermediate language area 24c but the reception buffer area 24b. Processing is performed as if it were in.

【0112】このように本第4の実施例によれば、画像
形成装置自身は中間言語データを直接入力する様にす
る。従って、前述した第1〜第3の実施例で説明した中
間言語データ生成に係る処理から開放され、その印刷処
理を向上させることができる。しかも、新たにエミュレ
ーションプログラムをダウンロードする場合、メモリを
増設しなければならない事態が発生する危惧があるが、
本第4の実施例によれば、そういった危惧を一切考慮す
る必要がなくなり、ローコストで多数のエミュレーショ
ン機能を具備した装置を提供できるようになる。
As described above, according to the fourth embodiment, the image forming apparatus itself directly inputs the intermediate language data. Therefore, the processing relating to the intermediate language data generation described in the above-described first to third embodiments is released, and the print processing can be improved. Moreover, when downloading a new emulation program, there is a risk that additional memory may be needed.
According to the fourth embodiment, there is no need to consider such fears at all, and it becomes possible to provide a device having a large number of emulation functions at low cost.

【0113】[第5の実施例の説明]外部装置が出力し
てくるプリンタ言語に様々なものがあるのは上述した通
りである。また、プリンタ言語には例えば文章に適した
もの、図形に適したもの、更にはイメージ等に適したも
のがある。
[Explanation of the Fifth Embodiment] As described above, there are various printer languages output by the external device. Further, printer languages include, for example, one suitable for sentences, one suitable for figures, and one suitable for images.

【0114】本第5の実施例では、複数のプリンタ言語
に基づく画像を1ページ中に記録、すなわち、複数のエ
ミュレーションによる同一ページに記録することを可能
にする例を説明する。
In the fifth embodiment, an example will be described in which an image based on a plurality of printer languages can be recorded in one page, that is, it can be recorded on the same page by a plurality of emulations.

【0115】これを実現するため、外部装置からは、図
19に示す如く、エミュレーションデータの種別とデー
タ長(サイズ)を示すエミュレーション指示コマンドと
実際の印刷データの対から構成されるデータが続けて送
られてくる。そして、最後には印刷処理を実行して排紙
させる排紙指示コマンドが付加される。
To realize this, as shown in FIG. 19, from the external device, data consisting of a pair of emulation instruction command indicating the type of emulation data and data length (size) and the actual print data is continuously provided. Will be sent. Then, at the end, a paper discharge instruction command for executing the print processing and discharging the paper is added.

【0116】図示では、エミュレーションデータAはテ
キスト印字に適したプリント言語データを示しており、
以下、、エミュレーションデータBは図形、エミュレー
ションデータCはドットイメージ、エミュレーションデ
ータDは図形であることを示している。
In the figure, the emulation data A indicates print language data suitable for text printing,
Hereinafter, it is shown that the emulation data B is a figure, the emulation data C is a dot image, and the emulation data D is a figure.

【0117】入力データの具体的なフォーマット例を図
20に示す。
FIG. 20 shows a specific format example of the input data.

【0118】図示の如く、エミュレーション指示コマン
ドは、“#>”で始まるエミュレーション名、カンマ、
サイズ、及び改行コードで構成されている。また、排紙
指示コマンドは“#>EOT”である。
As shown in the figure, the emulation instruction command includes an emulation name starting with "#>", a comma,
It consists of size and line feed code. Further, the discharge instruction command is “#> EOT”.

【0119】上記データフォーマットにおける本装置の
動作処理内容例を図21に示し、以下に説明する。
FIG. 21 shows an example of operation processing contents of this apparatus in the above data format, which will be described below.

【0120】尚、本装置に電源が投入されたときに行う
初期化処理をはじめとする、オンライン状態か否か、且
つ受信バッファエリア24bにデータが存在することが
検出された場合のI/F解放時間リセット、更には受信
バッファにデータが存在しない場合の処理は、第1の実
施例と同様であるものとし、以下ではステップS95以
降について説明する。
It should be noted that the I / F, such as the initialization processing performed when the power of the apparatus is turned on, is performed in the online state and when it is detected that data is present in the reception buffer area 24b. The release time reset and the processing when there is no data in the reception buffer are the same as those in the first embodiment, and step S95 and subsequent steps will be described below.

【0121】ステップS95では、受信バッファエリア
24bに格納されたデータを未だ処理されていないデー
タの最初の部分を調べ、それがエミュレーション指示コ
マンドであるか否かを判別する。ここでエミュレーショ
ン指示コマンドであると判断した場合にはステップS9
6に進んで、指示されたエミュレーションプログラム
(解析部)に指示されたサイズ分の中間言語データの生
成処理を行わせる。この処理が終わったら、ステップS
93に戻り、次のデータに対する処理を行うようにす
る。こうして、エミュレーション指示コマンドで指示さ
れた分の中間言語データを生成していく。
In step S95, the data stored in the reception buffer area 24b is examined for the first portion of the unprocessed data, and it is determined whether or not it is an emulation instruction command. If it is determined here that the command is an emulation instruction command, step S9
In step 6, the designated emulation program (analyzing unit) is caused to generate intermediate language data of the designated size. After this process is completed, step S
Returning to 93, the processing for the next data is performed. In this way, the intermediate language data instructed by the emulation instruction command is generated.

【0122】また、1つの印刷処理の開始時の受信デー
タの先頭部分、或いは1つの解析部による中間言語デー
タ生成に使用された受信データの後に続くデータがエミ
ュレーション指示コマンドではないと判断された場合、
処理はステップS97に進んで、それは排紙指示コマン
ドであるかどうかを判断する。排紙指示コマンドでもな
いと判断した場合にはステップS98に進んで、先に説
明した第1〜第4の実施例の処理を行う。
When it is determined that the head portion of the received data at the start of one printing process or the data following the received data used for the intermediate language data generation by one analysis unit is not the emulation instruction command. ,
The process proceeds to step S97, and it is determined whether it is a paper discharge instruction command. If it is determined that the command is not the paper discharge instruction command, the process proceeds to step S98, and the processes of the first to fourth embodiments described above are performed.

【0123】また、排紙指示コマンドであると判断した
場合には、それまでの処理で中間言語エリア24cに生
成された中間言語に基づくパターンをビットマップメモ
リ28に展開し、次のステップS100でそれを出力す
る。
If it is determined that the command is the paper discharge instruction command, the pattern based on the intermediate language generated in the intermediate language area 24c by the processing up to that point is expanded in the bit map memory 28, and in the next step S100. Output it.

【0124】尚、上述した処理では、各解析部(エミュ
レーションプログラム)によって1ページ分の中間言語
データが生成されてから、パターン展開処理したが、1
つ1つの解析部で中間言語データが生成される度に、パ
ターン展開処理を行うようにしても良い。この場合に
は、ステップS96の直後にその展開処理を行えば良
い。
In the processing described above, the pattern expansion processing is performed after the intermediate language data for one page is generated by each analysis unit (emulation program).
The pattern expansion process may be performed every time the intermediate language data is generated by each analysis unit. In this case, the expansion process may be performed immediately after step S96.

【0125】また、パターン展開処理が別途並行して動
作する様にする場合にはこの限りではない。また、各解
析部(エミュレーションプログラム)は、メインルーチ
ンからコールされるときに、処理対象のバイト数を受
け、そのバイト数分の中間言語データ生成処理を行えば
良いので、その説明は省略する。
This is not the case when the pattern development processing is separately operated in parallel. Further, each analysis unit (emulation program) receives the number of bytes to be processed when it is called from the main routine, and may perform the intermediate language data generation process for the number of bytes, and therefore the description thereof is omitted.

【0126】以上説明したように本第5の実施例によれ
ば、1ページ中に複数のプリンタ言語に基づく画像を記
録し出力することができるので、見栄えのするの画像を
得ることが可能になる。
As described above, according to the fifth embodiment, it is possible to record and output images based on a plurality of printer languages in one page, so that it is possible to obtain a good-looking image. Become.

【0127】尚、本第5の実施例に示したような高位の
指示コマンドを送出してくるには、外部装置上で動作す
るOS、或いはプリンタドライバにその種の機能を付加
させれば良い。従って、場合によっては、外部装置上で
動作しているアプリケーションプログラムで、作成中の
文章、図形及びイメージ等に対してそれぞれのプリンタ
言語を指示することも考えられる。更には、文章を作成
するアプリケーション、図形を作成するアプリケーショ
ン、スキャナ等から読み取ったイメージを編集するアプ
リケーションから、それぞれ指定された部分情報をカッ
トアンドペースト形式でOSが合成するようにし、それ
を出力するときに本第5の実施例で示した形式のデータ
を構築し、出力するようにしても良い。
Incidentally, in order to send out a high-level instruction command as shown in the fifth embodiment, such a function may be added to the OS or printer driver operating on the external device. .. Therefore, in some cases, the application program running on the external device may instruct the respective printer languages for the sentence, figure, image, etc. being created. Further, the OS synthesizes the partial information designated by the application for creating a sentence, the application for creating a figure, and the application for editing an image read by a scanner in a cut-and-paste format, and outputs it. Sometimes, the data of the format shown in the fifth embodiment may be constructed and output.

【0128】尚、上記第1〜第5の実施例において、外
部装置(301,302)及びそれらに対応する入力イ
ンターフェース(21a,21b)、解析部(12a,
12b)、フォントスケーラ(15a,15b)は2種
類に限定されるものでなく、2種類以上でも構わない。
また、新規登録する解析部12c、フォントスケーラ1
5cは1種類に限定されるものではなく、2種類以上で
も構わない。
In the first to fifth embodiments, the external devices (301, 302) and their corresponding input interfaces (21a, 21b), analysis unit (12a,
12b) and the font scalers (15a, 15b) are not limited to two types, and may be two or more types.
Also, the newly registered analysis unit 12c and font scaler 1
5c is not limited to one type, and may be two or more types.

【0129】また、本発明は、複数の機器から構成され
るシステムに適用しても良いし、1つの機器から成る装
置に適用しても良いし、システム或いは装置にプログラ
ムを供給することによって達成される場合にも適用でき
ることは言うまでもない。なお,本実施例の画像形成装
置としてレーザービームプリンタを例にして説明した
が、これに限定されるものでなく、以下で説明するイン
クジェットプリンタ等にも本発明が適用できることは言
うまでもない。
Further, the present invention may be applied to a system composed of a plurality of devices, may be applied to an apparatus composed of one device, or may be achieved by supplying a program to the system or the device. It is needless to say that it can be applied to the case. Although the laser beam printer has been described as an example of the image forming apparatus of the present embodiment, the present invention is not limited to this, and it goes without saying that the present invention can be applied to an inkjet printer described below.

【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の移動に伴って移動
し、駆動モータからの駆動力がクラッチ切換等の公知の
伝達手段で移動制御される。
(I) General Description of Apparatus Main Body FIG. 16 is a schematic view of an inkjet recording apparatus IJRA to which the present invention can be applied. In the figure, the drive motor 5
The driving force transmission gear 5011 is interlocked with the forward / reverse rotation of 013,
The carriage HC that engages with the spiral groove 5004 of the lead screw 5005 that rotates via 5009 has a pin (not shown) and is reciprocated in the directions of arrows a and b.
An inkjet cartridge IJC is mounted on the carriage HC. 5002 is a paper pressing plate,
The paper is pressed against the platen 5000 in the carriage movement direction. Reference numerals 5007 and 5008 denote photocouplers, which are home position detecting means for confirming the presence of the carriage lever 5006 in this area and switching the rotation direction of the motor 5013. Reference numeral 5016 is a member that supports a cap member 5022 that caps the front surface of the recording head. Reference numeral 5015 is a suction unit that suctions the inside of the cap to perform suction recovery of the recording head through the cap opening 5023. 5017 is a cleaning blade, 50
Reference numeral 19 denotes a member that allows the blade to move in the front-rear direction, and these members are supported by the main body support plate 5018.
Needless to say, a known cleaning blade can be applied to this example instead of this form. Also, 50
Reference numeral 12 denotes a lever for starting suction for suction recovery, which moves in accordance with the movement of the cam 5020 that engages with the carriage, and the driving force from the driving motor is movement-controlled by a known transmission means such as clutch switching. ..

【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を駆動するモータドライバ
である。
The capping, cleaning, and suction recovery are performed so that desired processing can be performed at the position corresponding to the warp by the action of the lead screw 5005 when the carriage comes to the home position side area. As long as the desired operation is performed at the timing, any of the present examples can be applied. (Ii) Description of Control Configuration Next, a control configuration for executing recording control for each portion of the above-described device configuration will be described with reference to the block diagram shown in FIG. In the figure showing the control circuit, 1700
Is an interface for inputting a recording signal, and 1701 is M
PU, 1702 is a program ROM that stores the control program executed by the MPU 1701, and 1703 is various data (the above-mentioned recording signals, recording data supplied to the head, etc.).
It is a dynamic RAM that stores the data. 170
A gate array 4 controls the supply of print data to the print head 1708.
0, data transfer control between the MPU 1701 and the RAM 1703 is also performed. Reference numeral 1710 is a carrier motor for carrying the recording head 1708, and 1709 is a carrying motor for carrying the recording paper. Reference numeral 1705 denotes a head visitor 1706 for driving the head, and 1707 denotes a transport motor 170.
9, a motor driver for driving the carrier motor 1710.

【0132】上記制御構成の動作を説明すると、インタ
ーフェース1700に記録信号が入るとゲートアレイ1
704とMPU1701との間で記録信号がプリント用
の記録データに変換される。そして、モータドライバ1
706,1707が駆動されるとともに、ヘッドドライ
バ1705に送られた記録データに従って記録ヘッドが
駆動され、印字が行われる。
The operation of the above control structure will be described. When a recording signal is input to the interface 1700, the gate array 1
The recording signal is converted between the 704 and the MPU 1701 to print data for printing. And the motor driver 1
The recording heads 706 and 1707 are driven, and the recording head is driven according to the recording data sent to the head driver 1705 to perform printing.

【0133】以上のような、インクジェットプリンタの
制御構成に本発明の構成要素を組み込むことが可能であ
り、本発明が、レーザービームプリンタに限らず上記イ
ンクジェットプリンタ等にも適用できることは明らかで
ある。
It is obvious that the constituent elements of the present invention can be incorporated in the control structure of the ink jet printer as described above, and the present invention can be applied not only to the laser beam printer but also to the above ink jet printer and the like.

【0134】[0134]

【発明の効果】以上説明したように本発明の画像形成装
置及びその方法によれば、エミュレート機能を有するプ
リンタのコストダウンを図ることが可能になる。
As described above, according to the image forming apparatus and the method of the present invention, it is possible to reduce the cost of the printer having the emulation function.

【0135】[0135]

【図面の簡単な説明】[Brief description of drawings]

【図1】第1の実施例における画像形成装置の構成概念
図である。
FIG. 1 is a configuration conceptual diagram of an image forming apparatus according to a first embodiment.

【図2】各実施例に共通する画像形成装置のブロック構
成図である。
FIG. 2 is a block configuration diagram of an image forming apparatus common to each embodiment.

【図3】各実施例に共通するプリンタエンジン部の構造
を示す図である。
FIG. 3 is a diagram showing a structure of a printer engine unit common to each embodiment.

【図4】第1の実施例における文字ハンドリングの処理
概念図である。
FIG. 4 is a conceptual diagram of processing of character handling in the first embodiment.

【図5】第1の実施例におけるイメージハンドリングの
処理概念図である。
FIG. 5 is a conceptual diagram of processing of image handling in the first embodiment.

【図6】第1の実施例におけるメイン処理を示すフロー
チャートである。
FIG. 6 is a flowchart showing main processing in the first embodiment.

【図7】第1の実施例における解析部の1つの処理例を
示すフローチャートである。
FIG. 7 is a flowchart showing one processing example of an analysis unit in the first embodiment.

【図8】第2の実施例における画像形成装置の構成概念
図である。
FIG. 8 is a structural conceptual diagram of an image forming apparatus according to a second embodiment.

【図9】第2の実施例において付加される処理内容を示
すフローチャートである。
FIG. 9 is a flowchart showing the processing contents added in the second embodiment.

【図10】各実施例共通なフォント属性テーブルの一例
を示す図である。
FIG. 10 is a diagram showing an example of a font attribute table common to each embodiment.

【図11】第3の実施例における画像形成装置の構成概
念図である。
FIG. 11 is a conceptual diagram of a configuration of an image forming apparatus according to a third embodiment.

【図12】第3の実施例においてダウンロードされるエ
ミュレーションプログラムデータのフォーマットを示す
図である。
FIG. 12 is a diagram showing a format of emulation program data downloaded in a third embodiment.

【図13】各実施例共通の判別用プログラムテーブルの
一例を示す図である。
FIG. 13 is a diagram showing an example of a discrimination program table common to each embodiment.

【図14】各実施例共通の管理テーブルの一例を示す図
である。
FIG. 14 is a diagram showing an example of a management table common to each embodiment.

【図15】第3の実施例における操作パネルに係る処理
内容を示すフローチャートである。
FIG. 15 is a flowchart showing the processing contents related to the operation panel in the third embodiment.

【図16】第4の実施例における画像形成装置の構成概
念図である。
FIG. 16 is a conceptual diagram of a configuration of an image forming apparatus according to a fourth embodiment.

【図17】第4の実施例での処理で付加される処理を示
すフローチャートである。
FIG. 17 is a flowchart showing a process added in the process of the fourth embodiment.

【図18】第4の実施例において、外部装置が送出して
くる中間言語データのフォーマットを示す図である。
FIG. 18 is a diagram showing a format of intermediate language data sent from an external device in the fourth embodiment.

【図19】第5の実施例における入力データと出力画像
の関係の一例を示す図である。
FIG. 19 is a diagram showing an example of a relationship between input data and an output image in the fifth embodiment.

【図20】第5の実施例のおける入力データフォーマッ
トを示す図である。
FIG. 20 is a diagram showing an input data format in the fifth embodiment.

【図21】第5の実施例におけるメイン処理を示すフロ
ーチャートである。
FIG. 21 is a flowchart showing a main process in the fifth embodiment.

【図22】各実施例における文字ハンドリング時の中間
言語の具体的なフォーマットを示す図である。
FIG. 22 is a diagram showing a specific format of an intermediate language during character handling in each example.

【図23】各実施例におけるイメージハンドリング時の
中間言語の具体的なフォーマットを示す図である。
FIG. 23 is a diagram showing a specific format of an intermediate language during image handling in each example.

【図24】本発明が適用できるインクジェットプリンタ
の内部構造を示す図である。
FIG. 24 is a diagram showing an internal structure of an inkjet printer to which the present invention can be applied.

【図25】図24のインクジェットプリンタの制御回路
の構成図である。
25 is a configuration diagram of a control circuit of the inkjet printer of FIG. 24.

【符号の説明】[Explanation of symbols]

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 21a, 21b Input I / F 22 CPU 23 ROM 24 RAM 24a Work area 24b Receive buffer area 24c Intermediate language area 25a Emulation program memory A 25b Emulation program memory B 26 Intermediate language generation library memory 27a Font scaler memory 27b Font scaler Memory 28 Bitmap memory 29 Output I / F 30 Operation panel 31 NVRAM 32 Hard disk 33 System bus 101 Control unit 200 Output mechanism 301 External device 1 302 External device 2

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 異なるプリンタ言語を解釈する複数の解
析部を有する画像形成装置において、 パターン生成に係る各種関数群を記憶しているライブラ
リと、 該ライブラリに記憶された関数群を用い、与えられた手
順に従って実行することで、画像形成用メモリ上にイメ
ージを展開する展開手段とを備え、 更には、前記解析部それぞれは、 入力されたそれぞれのプリンタ言語の印刷データを解釈
する場合、前記ライブラリ内の各関数を使用するため
の、前記展開部の展開手順のための共通な低レベルの言
語データを生成する中間言語データ生成手段を備えるこ
とを特徴とする画像形成装置。
1. In an image forming apparatus having a plurality of analysis units for interpreting different printer languages, a library storing various function groups relating to pattern generation and a function group stored in the library are used to provide a given library. And a developing unit that develops an image on the image forming memory by executing the procedure according to the above procedure. Further, each of the analyzing units is configured to interpret the input print data of each printer language in the library. An image forming apparatus, comprising: an intermediate language data generation unit for generating common low-level language data for the expansion procedure of the expansion unit for using each function in the above.
【請求項2】 異なるプリンタ言語を解釈する複数の解
析部を有する画像形成方法において、 前記解析部のそれぞれは、入力された各プリンタ言語の
データを解釈する場合、パターン生成に係る各種関数群
を記憶しているライブラリを使用することを意図した各
プリンタ言語に対して共通な低レベルの言語データを生
成する行程と、 生成された低レベルデータに基づくイメージを画像形成
用メモリに展開する行程とを備えることを特徴とする画
像形成方法。
2. An image forming method having a plurality of analysis units for interpreting different printer languages, wherein each of the analysis units, when interpreting input data of each printer language, includes various function groups relating to pattern generation. A process of generating common low-level language data for each printer language intended to use the stored library, and a process of developing an image based on the generated low-level data into an image forming memory. An image forming method comprising:
JP4125133A 1992-05-18 1992-05-18 Printer control device and control method thereof Expired - Lifetime JP2783344B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP4125133A JP2783344B2 (en) 1992-05-18 1992-05-18 Printer control device and control method thereof
EP93303761A EP0571145B1 (en) 1992-05-18 1993-05-17 Apparatus for printer command languages translation
DE69326713T DE69326713T2 (en) 1992-05-18 1993-05-17 Device for translating printer control languages
US08/968,925 US5931586A (en) 1992-05-18 1997-11-06 Apparatus capable of combining inputs from two different printer languages

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4125133A JP2783344B2 (en) 1992-05-18 1992-05-18 Printer control device and control method thereof

Publications (2)

Publication Number Publication Date
JPH05318829A true JPH05318829A (en) 1993-12-03
JP2783344B2 JP2783344B2 (en) 1998-08-06

Family

ID=14902678

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4125133A Expired - Lifetime JP2783344B2 (en) 1992-05-18 1992-05-18 Printer control device and control method thereof

Country Status (1)

Country Link
JP (1) JP2783344B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003114776A (en) * 2002-07-17 2003-04-18 Seiko Epson Corp Network corresponding printing device, printing method, and printing system
JP2009241363A (en) * 2008-03-31 2009-10-22 Brother Ind Ltd Page description language processing apparatus
US8566715B2 (en) 2008-02-19 2013-10-22 Brother Kogyo Kabushiki Kaisha Device, method and computer readable medium for processing commands in data described using a page description language

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60252940A (en) * 1984-05-29 1985-12-13 Fujitsu Ltd Printer control system
JPS63216125A (en) * 1987-03-04 1988-09-08 Fuji Xerox Co Ltd Printer capable of emulating device type
JPS63250727A (en) * 1987-04-07 1988-10-18 Minolta Camera Co Ltd Printer controller
JPH0399334A (en) * 1989-09-12 1991-04-24 Fujitsu Ltd Program down loading type emulator
JPH04113865A (en) * 1990-09-05 1992-04-15 Canon Inc Printer

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60252940A (en) * 1984-05-29 1985-12-13 Fujitsu Ltd Printer control system
JPS63216125A (en) * 1987-03-04 1988-09-08 Fuji Xerox Co Ltd Printer capable of emulating device type
JPS63250727A (en) * 1987-04-07 1988-10-18 Minolta Camera Co Ltd Printer controller
JPH0399334A (en) * 1989-09-12 1991-04-24 Fujitsu Ltd Program down loading type emulator
JPH04113865A (en) * 1990-09-05 1992-04-15 Canon Inc Printer

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003114776A (en) * 2002-07-17 2003-04-18 Seiko Epson Corp Network corresponding printing device, printing method, and printing system
US8566715B2 (en) 2008-02-19 2013-10-22 Brother Kogyo Kabushiki Kaisha Device, method and computer readable medium for processing commands in data described using a page description language
JP2009241363A (en) * 2008-03-31 2009-10-22 Brother Ind Ltd Page description language processing apparatus
JP4613975B2 (en) * 2008-03-31 2011-01-19 ブラザー工業株式会社 Page description language processor

Also Published As

Publication number Publication date
JP2783344B2 (en) 1998-08-06

Similar Documents

Publication Publication Date Title
JP2860204B2 (en) Output device and method of selecting interpretation program in the device
US6337744B1 (en) Method and apparatus for print processing, and storage medium
JP2839119B2 (en) Character processing apparatus and method
EP0571145B1 (en) Apparatus for printer command languages translation
US5422985A (en) Output method
JP2812412B2 (en) Printer control device and method
JP2783345B2 (en) Output device and method
JP2783344B2 (en) Printer control device and control method thereof
US5696891A (en) Printing apparatus and method for storing various printing parameters
JP3689445B2 (en) Printing apparatus and system, and control method
JPH0869362A (en) Output method and device
JP3397514B2 (en) Output device and output method
JP3121103B2 (en) Character processing apparatus and method
JP3154243B2 (en) Printing equipment
JPH05270055A (en) Image recording method and device, and information processing method
JP3176239B2 (en) Printing apparatus and printing method
JP3192563B2 (en) Information processing apparatus and information processing method
JP2001092609A (en) Information outputting system, method for controlling the same and recording medium for recording its control program
JP2000033730A (en) Printer, control thereof and printing system
JPH09146521A (en) Device and method for output control
JPH09188006A (en) Output device
JPH07121321A (en) Printer and its control method
JPH09309233A (en) Image forming device and image formation
JPH08328782A (en) Information processor, information processing method, printer, control method therefor, printing system and control method therefor
JPH07125372A (en) Printing device

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: 19980407

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

Free format text: PAYMENT UNTIL: 20090522

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100522

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20100522

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20110522

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20120522

Year of fee payment: 14

EXPY Cancellation because of completion of term