JPH10149148A - Screen processor - Google Patents

Screen processor

Info

Publication number
JPH10149148A
JPH10149148A JP8310952A JP31095296A JPH10149148A JP H10149148 A JPH10149148 A JP H10149148A JP 8310952 A JP8310952 A JP 8310952A JP 31095296 A JP31095296 A JP 31095296A JP H10149148 A JPH10149148 A JP H10149148A
Authority
JP
Japan
Prior art keywords
character
command
characters
overlapping
overlap
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP8310952A
Other languages
Japanese (ja)
Inventor
Yozo Kashima
洋三 鹿島
Naoyuki Iwabuchi
直行 岩渕
Masahiko Harada
政彦 原田
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP8310952A priority Critical patent/JPH10149148A/en
Publication of JPH10149148A publication Critical patent/JPH10149148A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To guarantee the order of drawing without making a means for drawing characters wait even when the characters overlap. SOLUTION: This processor has an instruction buffer 201 which stores character drawing instructions indicating the drawing of characters as many as specific characters, an instruction detection part 203 which detects whether or not the characters to be drawn with the stored instructions overlap, an overlap part drawing instruction generating means 204 which generates an overlap part drawing instruction indicating the drawing of nonoverlap parts of the characters, and an overlap part drawing instruction generation part 205 which generates an overlap part drawing instruction indicating the drawing of the overlap part and the order of the drawing when the overlap is detected. Then the characters are expanded according to the respective instructions.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、例えば、PDL
(ページ記述言語)によって記述されたコード画像デー
タを入力し、これを解釈してビットマップ形式の画像デ
ータに展開する画像処理装置において、文字等を形成す
るための手段を複数を同時に並列に動作させたとして
も、これら手段を待機させることなく、正しい順序で文
字を描画することが可能な画像処理装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention
In an image processing apparatus that inputs code image data described in (page description language), interprets the image data, and develops the image data into bitmap image data, a plurality of means for forming characters and the like are simultaneously operated in parallel. The present invention relates to an image processing apparatus capable of drawing characters in a correct order without making these units wait.

【0002】[0002]

【従来の技術】PDLで記述されたコード画像データを
用いると、写真などのイメージデータや、線図、表、文
字など(これらを総称して単にオブジェクトと呼ぶこと
にする)を混在した画像を、異なった機種の端末におい
て共通の出力装置で出力したり、同じ形式のデータを異
なる出力装置において出力することが可能となる。この
ため、PDLは、最近では画像出力を行なう場合に広く
用いられている。このようなコード画像データによって
示される画像をページプリンタによりプリントする場
合、周知のように、当該コード画像データの内容を解釈
して、プリンタで要求されるビットマップデータに展開
し、フレームバッファに一旦格納した後、当該プリンタ
の出力動作(主走査動作と副走査動作)に同期して供給
する必要がある。
2. Description of the Related Art When code image data described in PDL is used, an image in which image data such as a photograph, a diagram, a table, characters, and the like (which are collectively referred to simply as an object) are mixed. It is possible to output to a common output device between terminals of different models, or to output data of the same format to different output devices. For this reason, PDL has recently been widely used when outputting images. As is well known, when an image represented by such code image data is printed by a page printer, the contents of the code image data are interpreted, developed into bitmap data required by the printer, and temporarily stored in a frame buffer. After storing, it is necessary to supply in synchronization with the output operation (main scanning operation and sub-scanning operation) of the printer.

【0003】ところで、ビットマップデータにしたがっ
て画像を形成するプリンタエンジンそのものは、近年、
非常に高速化されており、例えば、カラーページプリン
タでは毎分35〜40ページ程度で印刷可能なのものが登場
しつつある。しかし、現状では、このようなページプリ
ンタの印刷能力を十分に活かしているとはいえない。こ
の最も大きな原因は、PDLで記述されたコード画像デ
ータをビットマップデータに展開する処理速度が、プリ
ンタの出力動作に追従できないほど低速であるためであ
る。このようにビットマップデータに展開する処理速度
が低速である理由の1つとして、文字を展開する能力が
低いことが挙げられる。DTP(デスク・トップ・パブ
リッシング)の分野では、一般的に、文字についてベク
トルフォントデータ(アウトラインフォントとか、スケ
ーラブルフォントなどと呼ばれることもある)が使用さ
れる。これは、ベクトルフォントデータを用いると、任
意の大きさ(ポイント数)で、任意の解像度で文字を描
画することができるため、高画質が求められるDTPの
分野に最適であるためである。しかし、ベクトルフォン
トデータを、実際に使用する場合、所望のポイント数お
よび解像度で示されるビットマップデータに展開する必
要がある。かかる展開処理の負荷が大きいため、必然的
に文字を展開する能力が低くなるのである。
In recent years, printer engines that form images in accordance with bitmap data have recently been developed.
For example, some color page printers that can print at about 35 to 40 pages per minute are appearing. However, at present, it cannot be said that the printing capability of such a page printer is fully utilized. The biggest cause is that the processing speed for expanding the code image data described in PDL into bitmap data is too slow to follow the output operation of the printer. One of the reasons why the processing speed for developing bitmap data is low is that the ability to develop characters is low. In the field of DTP (Desktop Publishing), vector font data (sometimes called an outline font or a scalable font) is generally used for characters. This is because, if vector font data is used, characters can be drawn with an arbitrary size (number of points) and with an arbitrary resolution, which is optimal in the field of DTP where high image quality is required. However, when vector font data is actually used, it is necessary to develop the vector font data into bitmap data indicated by a desired number of points and resolution. Since the load of such expansion processing is large, the ability to expand characters is inevitably reduced.

【0004】この問題を解決するための1つの策として
フォントキャッシュを用いることが考えられる。すなわ
ち、一度、ある文字についてビットマップデータに展開
した際、その展開結果たるビットマップデータを出力す
るとともに、キャッシュメモリにキャッシングし、次
に、同じ文字について出力要求が発生したならば、キャ
ッシングされたビットマップデータを用いるのである。
これにより、同じ文字について2度目以降の展開処理が
省略できるので、文字出力の高速化を図ることが可能で
ある。しかし、フォントキャッシュを用いる方法では、
キャッシュメモリの容量が大きいほどその効果が期待で
きるが、容量を確保するにはコストがかかるという欠点
がある。また、キャッシングされていなければ、その効
果が期待できないため、印刷開始直後では文字出力の低
速化傾向が容量の大小に拘わらず現われる、といった基
本的問題もある。
One solution to this problem is to use a font cache. That is, once a certain character is expanded into bitmap data, the expanded bitmap data is output and cached in a cache memory. If an output request is issued for the same character, the bitmap data is cached. It uses bitmap data.
This makes it possible to omit the second and subsequent expansion processes for the same character, thereby increasing the speed of character output. However, with the font cache method,
The effect can be expected as the capacity of the cache memory is larger, but there is a disadvantage that it is costly to secure the capacity. In addition, since the effect cannot be expected unless caching is performed, there is also a basic problem that the tendency of lowering the character output appears immediately after the start of printing regardless of the size of the capacity.

【0005】そこで、ビットマップデータに展開する展
開手段を複数設けることが考えられる。すなわち、これ
らが同時に並列して別個のオブジェクトについて展開処
理するように動作させて、全体として高速化させるので
ある。しかしながら、展開手段を複数設ける場合、文字
等のオブジェクトを描画する順序を考慮しなければなら
ない点に留意する必要がある。この点について図12を
参照して説明する。いま、同図(a)に示すように、正
しい描画の順序が「L」、「E」、「V」であり、これ
らの文字の1つ1つを異なる展開手段が並列に展開処理
する場合について考えてみる。文字の展開処理に要する
時間は、一般に文字の複雑に依存し、さらに、フォント
キャッシュを用いるのであれば、そこにヒットするか否
かによっても大きく相違する。このため、各展開手段が
各文字について展開を終了するタイミングも、各種条件
の相違により一様に定まらない。したがって、各展開手
段がそれぞれ「L」、「E」、「V」の1つの文字につ
いてその順序で展開処理を開始したとしても、展開が終
了したタイミングが「V」、「E」、「L」というよう
に、逆となってしまう場合も十分にあり得る。この場
合、同図(b)に示すように、得られる画像は、全く意
図しないものとなってしまう。
Therefore, it is conceivable to provide a plurality of expanding means for expanding the bitmap data. That is, these are simultaneously operated in parallel so as to perform expansion processing on separate objects, thereby increasing the overall speed. However, when providing a plurality of developing means, it is necessary to pay attention to the order in which objects such as characters are drawn. This will be described with reference to FIG. Now, as shown in FIG. 9A, the correct drawing order is “L”, “E”, and “V”, and each of these characters is processed by different developing means in parallel. Think about. The time required for character expansion processing generally depends on the complexity of the character, and if a font cache is used, it greatly differs depending on whether or not there is a hit. For this reason, the timing at which each developing means finishes developing each character is not uniformly determined due to differences in various conditions. Therefore, even if each developing means starts the developing process for one character of "L", "E", and "V" in that order, the timing of completion of the developing is "V", "E", "L". It is quite possible that the opposite is true. In this case, as shown in FIG. 7B, the obtained image is unintended.

【0006】このような描画の順番を考慮する技術とし
ては、従来より例えば、特開平4−327966号公報
に記載のものがある。この技術について、図13を参照
して簡単に説明する。主処理部11は、描画を指示する
命令を受信すると、それが文字の描画を指示する文字発
生コマンドであるか否かを判別し、文字発生コマンドで
なければ、当該命令にしたがって線図などのオブジェク
トを形成し、アクセス権管理部21を介してフレームメ
モリ20に格納する。ここで、アクセス権管理部21
は、主処理部11からフレームメモリ20に線図などの
オブジェクトが格納されると、以降アクセス拒否設定を
行なって、フレームメモリ20のアクセスを禁止する。
また、主処理部11は、受信した描画を指示する命令が
文字発生コマンドであれば、当該命令をフォント制御部
14に供給する。フォント制御部14は、文字発生コマ
ンドを受け取ると、当該コマンドにしたがった文字のビ
ットマップデータをドット文字発生部16あるいはフォ
ントキャッシュメモリ17から得て、アクセス権管理部
21のアクセス拒否を解除して、フレームメモリ20に
格納する。これにより、文字と、それ以外の線図等と
が、フレームメモリ20に対し正確な順序で格納される
こととなる。また、上記公報には、ドット文字発生部1
6を複数用いて、文字の展開を並列して行なう技術も記
載されている。
As a technique for considering the drawing order, there is a technique described in, for example, Japanese Patent Application Laid-Open No. 4-327966. This technique will be briefly described with reference to FIG. When receiving the command to instruct drawing, the main processing unit 11 determines whether or not the command is a character generation command to instruct drawing of a character. An object is formed and stored in the frame memory 20 via the access right management unit 21. Here, the access right management unit 21
When an object such as a diagram is stored in the frame memory 20 from the main processing unit 11, the access rejection setting is performed, and the access to the frame memory 20 is prohibited.
In addition, if the received instruction for drawing is a character generation command, the main processing unit 11 supplies the instruction to the font control unit 14. When receiving the character generation command, the font control unit 14 obtains the bitmap data of the character according to the command from the dot character generation unit 16 or the font cache memory 17, and cancels the access rejection of the access right management unit 21. , In the frame memory 20. As a result, the characters and other diagrams and the like are stored in the frame memory 20 in the correct order. Also, the above publication discloses a dot character generation unit 1.
A technique for performing character expansion in parallel using a plurality of characters 6 is also described.

【0007】[0007]

【発明が解決しようとする課題】しかしながら、上記公
報に記載の技術は、例えば、同一領域に線図、文字の順
序で描画を行なう場合、主処理部11は、線図の形成処
理を早く済ませたとしても、ドット文字発生部16が文
字のビットマップデータを得てフレームメモリ20に格
納して、アクセス拒否が加除されるまで、待機しなけれ
ばならないという欠点がある。それ故、主処理部11
は、待機中に他の処理を実行する構成となっているので
ある。また、上記公報において各ドット文字発生部が並
列して文字を展開する場合でも、フレームメモリ20へ
の転送する順番は一元的に管理されている。このため、
他のドット文字発生部の進捗によって、一のドット文字
発生部は待機しなければならないといった問題が発生す
る。すなわち、上記公報に記載の技術は、オブジェクト
に重なりがあったとしても、フレームメモリ20にオブ
ジェクトを格納する順序を保証することで、描画が正し
く行なわれるように企図するものであるため、必然的
に、展開処理が非効率となるという欠点があった。
However, according to the technique described in the above-mentioned publication, for example, when drawing is performed in the same area in the order of a diagram and a character, the main processing section 11 speeds up the process of forming the diagram. Even so, there is a drawback in that the dot character generator 16 must obtain the bitmap data of the character, store it in the frame memory 20, and wait until the access rejection is added. Therefore, the main processing unit 11
Is configured to execute other processing during standby. Also, in the above publication, even when the dot character generation units develop characters in parallel, the order of transfer to the frame memory 20 is managed in a unified manner. For this reason,
A problem arises in that one dot character generation unit must wait for the progress of another dot character generation unit. In other words, the technique described in the above publication intends to ensure that the objects are stored in the frame memory 20 even if the objects overlap, so that drawing is performed correctly. In addition, there is a disadvantage that the expansion processing becomes inefficient.

【0008】本発明は、上述した事情に鑑みてなされた
ものであり、その目的とするところは、たとえ、オブジ
ェクト、特に文字の描画を行なう描画手段が複数あっ
て、これらが独立に描画を行なう構成であったとして
も、重なりがある文字について、各描画手段を待機させ
ることなく、その順序が保証された状態で描画すること
が可能な画像処理装置を提供することにある。
The present invention has been made in view of the above circumstances, and has as its object to provide, for example, a plurality of drawing means for drawing an object, especially a character, which independently draws. An object of the present invention is to provide an image processing apparatus capable of drawing an overlapped character in a state in which the order is guaranteed without having to wait for each drawing unit.

【0009】[0009]

【課題を解決するための手段】上述した課題を解決する
ために、本発明にあっては、文字の描画を指示する描画
命令を少なくとも2つ以上入力して、当該命令により描
画される文字が重なるか否かを検出する検出手段と、重
なると検出された場合に、当該文字にかかる描画命令か
ら、非重複部分の描画を指示する第1の命令を生成する
第1の命令生成手段と、重なると検出された場合に、当
該文字にかかる描画命令から、重複部分の描画と描画の
順序とを指示する第2の命令を生成する第2の命令生成
手段と、各命令に基づいて実際に描画を行なう描画手段
とを具備することを特徴としている。
In order to solve the above-mentioned problems, according to the present invention, at least two or more drawing commands instructing the drawing of characters are input, and characters drawn by the commands are input. Detecting means for detecting whether or not they are overlapped; first command generating means for generating a first command for drawing a non-overlapping part from a drawing command for the character when the overlap is detected; A second command generation unit configured to generate, from the drawing command related to the character, a second command that specifies the drawing of the overlapping portion and the drawing order, when the overlapping is detected; And a drawing means for performing drawing.

【0010】(作用)本発明によれば、文字に重なりが
ある場合、当該文字にかかる描画命令は、非重複部分の
描画を指示する第1の命令と、重複部分の描画と描画の
順序とを指示する第2の命令とに再生成され、これらの
命令により描画が実際に行なわれる。したがって、たと
え描画手段が複数あり、これらが命令にしたがってそれ
ぞれ文字を独立に描画する構成であったとしても、重な
りがある文字について、各描画手段を待機させることな
く、その順序が保証された状態で描画することが可能と
なる。
According to the present invention, when characters overlap, the drawing command for the character includes a first command for instructing the drawing of a non-overlapping portion, and the order of drawing and drawing of the overlapping portion. , And a drawing is actually performed by these instructions. Therefore, even if there are a plurality of drawing means and these are configured to independently draw characters in accordance with the commands, a state in which the order of the overlapping characters is guaranteed without waiting for each drawing means. Can be drawn.

【0011】[0011]

【発明の実施の形態】以下、本発明による実施の形態に
ついて図面を参照して説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0012】<1:実施形態の構成>図1は、本実施形
態にかかる画像処理装置の構成を示すブロック図であ
る。図において、CPU101は、バスBを介して各部
を制御するものである。ROM102は、ブートプログ
ラム103や、文書展開プログラム104、印字制御プ
ログラム105などを記憶するものである。ここで、ブ
ートプログラム103は、電源投入直後やリセット直後
などにおいて、装置全体の初期化を図るためのものであ
り、展開プログラム104は、PDLで記述されたコー
ド画像データをビットマップデータに展開処理するため
のためのものであり、また、印字制御プログラム105
は、印刷を行なう際にプリンタエンジン109の起動
や、展開したビットマップデータの供給を制御するため
のものである。
<1: Configuration of Embodiment> FIG. 1 is a block diagram showing a configuration of an image processing apparatus according to the present embodiment. In the figure, a CPU 101 controls each unit via a bus B. The ROM 102 stores a boot program 103, a document development program 104, a print control program 105, and the like. Here, the boot program 103 is for initializing the entire apparatus immediately after power-on or immediately after resetting, and the expansion program 104 is for expanding code image data described in PDL into bitmap data. Print control program 105
Is for controlling activation of the printer engine 109 and supply of expanded bitmap data when printing is performed.

【0013】RAM106は、その一領域にフレームバ
ッファ107やワークメモリ108などが割り当てられ
る。前者のフレームバッファ107は、ビットマップデ
ータに展開された1ページ分の画像データをプリンタエ
ンジン109に供給する前に一時的に記憶するための領
域として用いられ、また、後者のワークメモリ108
は、展開処理の際におけるテンポラリ(一時作業)領域
や、文字の展開時にベクトルフォントデータ114(後
述)を一時記憶するための領域として用いられる。プリ
ンタエンジン109は、プリンタI/F(インターフェ
イス)110を介して供給されるビットマップデータに
したがって、用紙に画像を形成して出力するものであ
る。
A frame buffer 107 and a work memory 108 are allocated to one area of the RAM 106. The former frame buffer 107 is used as an area for temporarily storing one page of image data developed into bitmap data before being supplied to the printer engine 109, and the latter is a work memory 108.
Are used as a temporary (temporary work) area at the time of expansion processing and an area for temporarily storing vector font data 114 (described later) at the time of character expansion. The printer engine 109 forms and outputs an image on a sheet in accordance with bitmap data supplied via a printer I / F (interface) 110.

【0014】一方、ホストW/S(ワーク・ステーショ
ン)111は、ホストI/F112を介してバスBに接
続され、文字を含む画像データを作成して、出力するも
のである。なお、本実施形態において、ホストW/S1
11によって作成される画像データは、PDLで記述さ
れたコード画像データである。また、ホストW/S11
1は、実際にはバスBに対してネットワークを介して接
続されているが、そのプロトコルはホストI/F112
によって処理されるため、CPU101がそのプロトコ
ルを意識する必要はない。このため、図においては、ネ
ットワークを省略し、ホストW/S111が、ホストI
/F112を介してバスBに接続されている形態とし
た。
On the other hand, a host W / S (work station) 111 is connected to the bus B via a host I / F 112, and creates and outputs image data including characters. In the present embodiment, the host W / S1
The image data created by 11 is code image data described in PDL. Also, the host W / S11
1 is actually connected to the bus B via a network, but its protocol is the host I / F 112
Therefore, the CPU 101 does not need to be aware of the protocol. Therefore, in the figure, the network is omitted, and the host W / S 111
/ F112 connected to the bus B.

【0015】ハードディスク113は、主に、ベクトル
フォントデータ114を字体別に記憶するものであり、
容量に余裕があるならば、文書データや、ビットマップ
のイメージデータなどを記憶することとしても良い。こ
こで、ベクトルフォントデータ114は、文字の輪郭を
ベクトルデータとして、ASCIIや、JIS第1水
準、JIS第2水準などに規定される文字コードに対応
して文字毎に記憶するものであり、明朝体やゴシック体
などの字体別に複数記憶される。
The hard disk 113 mainly stores the vector font data 114 for each font.
If there is enough space, document data and bitmap image data may be stored. Here, the vector font data 114 stores character outlines as vector data for each character in accordance with character codes defined in ASCII, JIS first level, JIS second level, and the like. A plurality of fonts are stored for each font, such as morning and gothic.

【0016】ラスタライザ115a〜115cは、文字
描画命令、後述の重複部分描画命令あるいは非重複部分
描画命令により、それぞれ文字に関する展開処理を行な
うものであり、ラスタライザ制御部116の制御によっ
て並列に動作するものである。ここで、文字描画命令
は、図3(a)に示すような形式を有しており、1つの
文字について、描画すべき文字の字体を示すフォントI
Dや、その文字のコードを示す文字コード、バウンディ
ングボックスの形状を定める変換行列、その文字につい
て描画すべき位置をバウンディングボックスにおける左
上端の座標で示した座標(X、Y)などから構成され
る。このうち、バウンディングボックスとは、図14に
示すように、文字の描画領域をいい、イタリック(斜字
体)となれば平行四辺形の形状となる。また、プロポー
ショナルフォントであれば、その幅は文字毎に異なる。
なお、文字描画命令には、特に図示はしないが文字の属
性情報、例えば、描画色を規定する色指定命令も含まれ
る。そして、これらのデータからなる文字描画命令が、
CPU101によって、所定の文字数分を単位として連
続して供給される。この際、文字描画命令の供給される
順序が、文字を描画すべき順序を示している。なお、所
定の文字数分が意味するところについては後述する。ま
た、ラスタライザ115a〜115cは、色指定命令を
受信した場合、当該命令で指定された色に関する情報を
共有メモリ119に記憶させる。
The rasterizers 115a to 115c perform expansion processing on characters in accordance with a character drawing command, a later-described overlapping part drawing command or a non-overlapping part drawing command, and operate in parallel under the control of the rasterizer controller 116. It is. Here, the character drawing command has a format as shown in FIG. 3A, and for one character, a font I indicating a font of a character to be drawn.
D, a character code indicating the code of the character, a conversion matrix that determines the shape of the bounding box, coordinates (X, Y) indicating the position to be drawn for the character by the coordinates of the upper left corner of the bounding box, and the like. . Of these, the bounding box refers to a character drawing area, as shown in FIG. 14, and has a parallelogram shape when italic (italic). In the case of a proportional font, the width differs for each character.
Although not shown, the character drawing command also includes character attribute information, for example, a color designation command for defining a drawing color. Then, a character drawing instruction composed of these data is:
CPU 101 continuously supplies a predetermined number of characters. At this time, the order in which the character drawing commands are supplied indicates the order in which characters should be drawn. The meaning of the predetermined number of characters will be described later. When the rasterizers 115a to 115c receive the color designation command, the rasterizers 115a to 115c store information on the color designated by the command in the shared memory 119.

【0017】説明を再び図1に戻す。DMAC(ダイレ
クト・メモリ・アクセス・コントローラ)117は、ビ
ットマップデータがフレームバッファ107に1ページ
分格納されたならば、CPU101の指示により、当該
データを読み出してプリンタエンジン109に転送する
ものである。共有メモリ119は、ラスタライザ115
a〜115cによって共有され、使用されるメモリであ
り、CPU101からは参照できないようになってい
る。また、この共有メモリ119の一部がフォントキャ
ッシュ領域として割り当てられる。重なり処理部120
は、ラスタライズ115a〜115cに供給される文字
描画命令を前処理して、文字の重なりがある重複部分と
重なりがない非重複部分とに切り分けるとともに、当該
文字描画命令を必要に応じて分解、再生成するものであ
る。詳細については次に説明する。
The description returns to FIG. When one page of bitmap data is stored in the frame buffer 107, the DMAC (direct memory access controller) 117 reads the data and transfers it to the printer engine 109 in accordance with an instruction from the CPU 101. The shared memory 119 includes a rasterizer 115
These memories are shared and used by a to 115c and cannot be referenced from the CPU 101. A part of the shared memory 119 is allocated as a font cache area. Overlap processing unit 120
Preprocesses a character drawing command supplied to the rasterize 115a to 115c, and separates the character drawing command into an overlapped portion having overlapping characters and a non-overlapping portion having no overlap, and decomposes and reproduces the character drawing command as necessary. Is what it does. Details will be described below.

【0018】<1−1:重なり処理部>重なり処理部1
20の詳細構成について、図2を参照して説明する。こ
の図において、命令バッファ201は、CPU101か
らの文字描画命令を受信するためのバッファであり、所
定の文字数分を単位として文字描画命令を受け付ける。
重なり命令検出部202は、命令バッファ201に格納
された文字描画命令を特定して、その命令で描画される
文字のバウンディングボックスに重なりが生じるか否か
を検出するとともに、重なるものについては、その文字
の組およびその重複範囲を出力する。命令フェッチ部2
03は、命令バッファ201から文字描画命令を1つず
つ取り出し、重なり命令検出部202による検出結果を
参照して、重ならない文字の文字描画命令をラスタライ
ザ制御部116に供給する一方、重なる文字の文字描画
命令を、重なり命令検出部202により検出された重複
範囲とともに、非重複部分描画命令生成部204および
重複部分描画命令生成部205にそれぞれ供給する。
<1-1: Overlap Processing Unit> Overlap Processing Unit 1
The detailed configuration of 20 will be described with reference to FIG. In this figure, a command buffer 201 is a buffer for receiving a character drawing command from the CPU 101, and receives a character drawing command in units of a predetermined number of characters.
The overlap command detection unit 202 specifies a character drawing command stored in the command buffer 201, detects whether or not an overlapping occurs in a bounding box of a character drawn by the command. Prints character sets and their overlapping ranges. Instruction fetch unit 2
Numeral 03 fetches character drawing commands one by one from the command buffer 201 and supplies a character drawing command of a non-overlapping character to the rasterizer control unit 116 by referring to the detection result by the overlapping command detecting unit 202, The drawing command is supplied to the non-overlapping part drawing command generation unit 204 and the overlapping part drawing command generation unit 205 together with the overlapping range detected by the overlapping command detection unit 202.

【0019】非重複部分描画命令生成部204は、重複
範囲と、その重複範囲にかかる文字の文字描画命令であ
って命令フェッチ部203から供給された文字描画命令
とから非重複部分描画命令を生成して、ラスタライザ制
御部116に供給するものである。ここで、非重複部分
描画命令とは、バウンディングボックスが重なる文字の
うち、重なりが生じない領域のみの描画を指示する命令
であり、具体的には、図3(b)に示すような形式を有
し、非表示範囲指定302と非重複文字指定303とか
ら構成される。ここで、非表示範囲指定302とは、バ
ウンディングボックスの重複範囲を指定するものであ
り、その重複範囲は、2組の座標(X、Y)を結んだ直
線を対角線とする矩形領域である。また、非重複文字指
定303とは、バウンディングボックスが重なる文字を
指定するものであり、その文字の字体を示すフォントI
Dや、その文字のコードを示す文字コード、バウンディ
ングボックスの形状を示す変換行列、その文字を描画す
べき位置を、バウンディングボックスにおける左上端の
座標で示した(X、Y)などから構成される。このよう
な非重複部分描画命令により、バウンディングボックス
が重なる文字のうち、重なりが生じない領域のみの描画
に必要な情報が提供される。
A non-overlapping partial drawing command generation unit 204 generates a non-overlapping partial drawing command from the overlapping range and a character drawing command supplied from the command fetching unit 203, which is a character drawing command of a character corresponding to the overlapping range. Then, it is supplied to the rasterizer control unit 116. Here, the non-overlapping partial drawing command is a command for instructing drawing of only a non-overlapping region among characters having overlapping bounding boxes. Specifically, a format as shown in FIG. And has a non-display range designation 302 and a non-overlapping character designation 303. Here, the non-display range designation 302 designates an overlapping range of a bounding box, and the overlapping range is a rectangular area having a straight line connecting two sets of coordinates (X, Y) as a diagonal line. The non-overlapping character designation 303 designates a character with which the bounding box overlaps, and a font I indicating the font of the character is designated.
D, a character code indicating the code of the character, a conversion matrix indicating the shape of the bounding box, and (X, Y) indicating the position where the character should be drawn by the coordinates of the upper left corner of the bounding box. . By such a non-overlapping part drawing command, information necessary for drawing only an area where no overlapping occurs among characters whose bounding boxes overlap is provided.

【0020】一方、重複部分描画命令生成部205は、
重なり命令検出部202により検出された重複範囲と、
その重複範囲にかかる文字の文字描画命令であって命令
フェッチ部203から供給された文字描画命令とから重
複部分描画命令を生成して、ラスタライザ制御部116
に供給するものである。ここで、重複部分描画命令と
は、バウンディングボックスが重なる文字のうち、重な
りが生じる領域のみの描画を指示する命令であり、具体
的には、図3(c)に示すような形式を有し、表示範囲
指定304と重複文字指定305〜とから構成される。
ここで、表示範囲指定304とは、バウンディングボッ
クスの重複範囲を指定するものであり、その重複範囲
は、2組の座標(X、Y)を結んだ直線を対角線とする
矩形領域である。表示範囲指定304には、さらに、当
該重複範囲で重なる文字の個数も記される。また、重複
文字指定305〜とは、バウンディングボックスが重な
る文字を指定するものであり、当該重複範囲で重なる文
字の個数に応じて、かつ、描画すべき順序で設けられ
る。その内容は、非重複文字指定の内容と同様に、その
文字の字体を示すフォントIDや、その文字のコードを
示す文字コード、バウンディングボックスの形状を示す
変換行列、その文字を描画すべき位置を、バウンディン
グボックスにおける左上端の座標で示した(X、Y)な
どである。このような重複部分描画命令により、バウン
ディングボックスが重なる文字のうち、重なりが生じる
領域のみの描画に必要な情報が提供される。
On the other hand, the overlapping part drawing command generation unit 205
An overlapping range detected by the overlapping instruction detecting unit 202;
An overlapping part drawing command is generated from the character drawing command of the character corresponding to the overlapping range and the character drawing command supplied from the command fetch unit 203, and the rasterizer control unit 116
Is to be supplied to Here, the overlapping part drawing command is a command for instructing drawing of only the area where the overlapping occurs in the characters where the bounding boxes overlap, and has a format as shown in FIG. , A display range specification 304 and a duplicate character specification 305 to 305.
Here, the display range designation 304 designates an overlapping range of the bounding box, and the overlapping range is a rectangular area having a straight line connecting two sets of coordinates (X, Y) as a diagonal line. The display range designation 304 further describes the number of characters that overlap in the overlapping range. The duplicate character designation 305 designates a character whose bounding box overlaps, and is provided in accordance with the number of characters overlapping in the overlapping range and in the order in which the characters are to be drawn. As with the content of the non-overlapping character specification, the contents include a font ID indicating the font of the character, a character code indicating the code of the character, a conversion matrix indicating the shape of the bounding box, and a position where the character is to be drawn. , (X, Y) indicated by the coordinates of the upper left corner of the bounding box. By such an overlapping part drawing instruction, information necessary for drawing only an area where the overlapping occurs among the characters overlapping the bounding box is provided.

【0021】こうした重複部分描画命令、非重複部分描
画命令あるいは文字描画命令のような文字描画に関する
命令を受信すると、ラスタライザ制御部116は、当該
命令をラスタライザ115a〜115cのいずれかに、
その処理状況に応じて適切に分配する。そして、文字描
画に関する命令を受け取ると、ラスタライザ115a〜
115cは、以下の処理を行なって、当該命令にしたが
ったビットマップデータをフレームバッファ107に格
納する。
When a command related to character drawing such as the overlapping part drawing command, the non-overlapping part drawing command or the character drawing command is received, the rasterizer control unit 116 sends the command to one of the rasterizers 115a to 115c.
Appropriate distribution is performed according to the processing status. Then, upon receiving a command related to character drawing, the rasterizers 115a to 115a
115c stores the bitmap data according to the instruction in the frame buffer 107 by performing the following processing.

【0022】すなわち、ラスタライザ115a〜115
cは、文字描画に関する命令を受信すると、第1に、当
該命令にかかる展開結果が、キャッシングされているか
否かを判断し、なければ、第2に、当該命令にかかる文
字のベクトルフォントデータを座標変換し、第3に、補
正処理を施し、第4に、当該ベクトルフォントデータを
文字の輪郭に展開するとともに、その展開結果を共有メ
モリ119に割り当てられたキャッシュ領域に転送して
格納させ、第5に、当該輪郭で囲まれた領域を、色指定
命令で指定された色に塗りつぶして、当該文字描画命令
にかかる文字のビットマップデータを生成し、第6に、
このビットマップデータを、フレームバッファ107
に、当該文字描画命令で指定される座標に対応する領域
に転送する。一方、ラスタライザ115a〜115c
は、文字描画に関する命令を受信した際に、当該命令に
かかる展開結果がキャッシングされていれば、当該展開
結果を読み出して用いる。こうして、フレームバッファ
107には、文字描画に関する命令にしたがって展開さ
れた文字のビットマップデータが格納されることとな
る。したがって、本実施形態におけるラスタライザ11
5a〜115cは、他のラスタライザの進捗を考慮する
ことはない。なお、転送する領域が指定されていれば、
ラスタライザ115a〜115cは、当該領域のみをフ
レームバッファ107に転送する。
That is, the rasterizers 115a-115
c, upon receiving the command related to the character drawing, first determines whether or not the expansion result of the command is cached, and if not, secondly, converts the vector font data of the character related to the command into Coordinate conversion, thirdly, a correction process, and fourthly, the vector font data is developed into a character outline, and the developed result is transferred to a cache area allocated to the shared memory 119 and stored therein. Fifth, the area surrounded by the outline is painted in the color designated by the color designation command, and bitmap data of the character according to the character drawing command is generated.
This bitmap data is transferred to the frame buffer 107
Then, the data is transferred to the area corresponding to the coordinates specified by the character drawing command. On the other hand, the rasterizers 115a to 115c
When an instruction related to character drawing is received, if the expansion result of the instruction is cached, the expansion result is read and used. In this way, the frame buffer 107 stores the bitmap data of the character developed according to the instruction related to the character drawing. Therefore, the rasterizer 11 in the present embodiment
5a to 115c do not consider the progress of other rasterizers. If the transfer area is specified,
The rasterizers 115a to 115c transfer only the area to the frame buffer 107.

【0023】<2:動作>次に、上述した実施形態にか
かる画像処理装置の動作について説明する。なお、PD
Lは、一般に、文字以外にも、線図や、イメージなども
取り扱うが、本実施形態では、文字の重なりを例として
説明するので、以下、説明の便宜上、PDLで記述され
たコード画像データは、文字のみから構成される文書を
示すものとする。
<2: Operation> Next, the operation of the image processing apparatus according to the above-described embodiment will be described. In addition, PD
L generally handles not only characters, but also diagrams, images, and the like. However, in the present embodiment, character overlap will be described as an example. Therefore, for convenience of description, code image data described in PDL will be described below. , A document consisting of only characters.

【0024】<2−1:CPUにおける動作>CPU1
01の動作を示すフローチャートを図4に示す。はじめ
に、この画像処理装置に電源が投入され、あるいはリセ
ットされると、CPU101は、ステップSa1におい
て、ROM102からブートプログラム103を読み出
し、当該プログラムを実行して初期化を行なう。この初
期化には、例えば、RAM106に対し、フレームバッ
ファ107やワークメモリ108の領域を割り当てる処
理などが該当する。次に、CPU101はステップSa
2において、ホストW/S111からのコード画像デー
タが受信されるまで待機する。コード画像データを受信
すると、CPU101はステップSa3において、当該
データをRAM106に割り当てた入力バッファ(図示
せず)に格納させる。そして、1つのジョブにかかるコ
ード画像データのすべてを格納すると、CPU101
は、以下の処理を実行する。なお、全体の処理を高速化
させるため、コード画像データを所定容量だけ入力した
時点で以下の処理を実行することとしても良い。
<2-1: Operation in CPU> CPU1
FIG. 4 is a flowchart showing the operation of the operation No. 01. First, when the image processing apparatus is turned on or reset, the CPU 101 reads the boot program 103 from the ROM 102 in step Sa1, executes the program, and performs initialization. This initialization corresponds to, for example, a process of allocating an area of the frame buffer 107 or the work memory 108 to the RAM 106. Next, the CPU 101 determines in step Sa
At 2, the process waits until code image data from the host W / S 111 is received. Upon receiving the code image data, the CPU 101 stores the data in an input buffer (not shown) allocated to the RAM 106 in step Sa3. When all the code image data for one job is stored, the CPU 101
Performs the following processing. In order to speed up the entire process, the following process may be executed when code image data is input by a predetermined amount.

【0025】さて、1つのジョブにかかるコード画像デ
ータのすべてあるいは所定容量を格納すると、CPU1
01はステップSa4において、展開処理の対象を最初
の1ページ目に設定する。PDLで記述されるコード画
像データは、通常、1または複数ページの画像を示すも
のであるから、とりあえず、最初の1ページについて展
開処理を行なうように設定するのである。次に、CPU
101はステップSa5において、処理の対象に設定さ
れたページにかかる文字描画命令を描画する順序で出力
して、当該ページについて展開処理を行なうように指示
する。なお、詳細については後述する。
When all or a predetermined amount of code image data for one job is stored, the CPU 1
In step Sa4, 01 is set as the target of the expansion processing on the first page. Since the code image data described in the PDL generally indicates an image of one or a plurality of pages, it is set so that the expansion processing is performed for the first page for the time being. Next, CPU
In step Sa5, a character rendering command for a page set as a processing target is output in the rendering order, and an instruction is given to perform a rendering process on the page. The details will be described later.

【0026】そして、CPU101はステップSa6に
おいて、処理の対象となっているページにかかるビット
マップデータがすべてフレームバッファ107に格納さ
れるまで、待機する。フレームバッファ107への格納
が完了すると、CPU101はステップSa7におい
て、プリンタエンジン109を起動させるとともに、D
MAC117に対し、フレームバッファ107に格納さ
れたビットマップデータをプリンタエンジン109に転
送するように指示する。これにより、処理の対象となっ
ているページの印刷が実際に行なわれることとなる。
Then, in step Sa6, the CPU 101 waits until all bitmap data relating to the page to be processed is stored in the frame buffer 107. When the storage in the frame buffer 107 is completed, the CPU 101 activates the printer engine 109 in step Sa7 and
It instructs the MAC 117 to transfer the bitmap data stored in the frame buffer 107 to the printer engine 109. As a result, the page to be processed is actually printed.

【0027】次に、CPU101はステップSa8にお
いて、すべてのページについて展開処理を完了したか否
かを判断し、完了していなければ、処理手順をステップ
Sa9に移行させて、展開処理の対象を次のページに設
定した後、処理手順を再びステップSa5に戻す。以
降、処理手順がステップSa5〜Sa9を循環して、す
べてのページについて展開処理が完了することとなる。
一方、ステップSa8における判断において、すべての
ページについて処理が完了していれば、CPU101
は、処理手順を再びステップSa2に戻して、新たなジ
ョブにかかるコード画像データが受信されるまで待機
し、受信すればその都度、ステップSa3〜Sa9の処
理を実行して展開・印刷を実行するようになっている。
Next, in step Sa8, the CPU 101 determines whether or not the expansion processing has been completed for all the pages. If not completed, the CPU 101 shifts the processing procedure to step Sa9 and sets the target of the expansion processing to the next. After setting the page, the procedure returns to step Sa5 again. Thereafter, the processing procedure circulates through steps Sa5 to Sa9, and the expansion processing is completed for all pages.
On the other hand, if it is determined in step Sa8 that the processing has been completed for all pages, the CPU 101
Returns the processing procedure to step Sa2 again, waits until code image data relating to a new job is received, and executes the processing of steps Sa3 to Sa9 to execute development / printing each time the code image data is received. It has become.

【0028】<2−2:重なり処理部における動作>C
PU101が上述したステップSa5において、設定さ
れたページにかかる文字描画命令を描画する順序で出力
すると、重なり処理部120は、図5に示す動作を実行
し、当該文字描画命令を前処理して、ラスタライザ制御
部116に出力する。
<2-2: Operation in Overlapping Processing Unit> C
When the PU 101 outputs the character drawing command for the set page in the drawing order in step Sa5 described above, the overlap processing unit 120 executes the operation shown in FIG. 5, pre-processes the character drawing command, Output to the rasterizer control unit 116.

【0029】まず、ステップSb1において命令バッフ
ァ201は、当該ページにかかる文字描画命令を所定の
文字数分だけ格納する。ここで、所定の文字数分とは、
例えば、処理の対象となっているページにおけるすべて
の文字数分としても良いし、1〜数行分の文字数分とし
ても良いし、また、句読点「。」および「、」を検出し
て、そこに挟まれる文字数分としても良い。すなわち、
ここでいう所定の文字数分とは、ある文字について着目
した場合に、その文字が、その文字以降の文字について
どこまで重なりが発生するかを考慮して定められるべき
性質のものである。
First, in step Sb1, the command buffer 201 stores a character drawing command for the page for a predetermined number of characters. Here, the predetermined number of characters means
For example, the number of characters may be the number of all characters in the page to be processed, the number of characters of one to several lines, or the punctuation marks "." It may be the number of characters to be sandwiched. That is,
Here, the predetermined number of characters is a property that should be determined in consideration of a certain character, when attention is paid to the character, and to what extent the character and the subsequent characters overlap.

【0030】次に、ステップSb2において命令フェッ
チ部203は、命令バッファ201に格納された文字描
画命令の個数を検出して、この数をnにセットした後、
ステップSb3において「1」をmにセットして、当該
nおよびmの値を重なり命令検出部202に通知する。
すると、重なり命令検出部202はステップSb4にお
いて、m番目の文字描画命令にかかるバウンディングボ
ックス(BB)を演算し、次に、ステップSb5におい
て、m番目以外の文字描画命令のうち、m番目の文字の
属性情報と異なるもの、例えば、m番目の文字とは異な
る色で描画を指示する命令にかかるウンディングボック
スを順次演算して求める。そして、重なり命令検出部2
02はステップSb6において、m番目の文字描画命令
にかかる文字のバウンディングボックスが、直前ステッ
プで求めたバウンディングボックスと重複するか否かを
判別して、その判別結果を命令フェッチ部203に通知
する。したがって、m番目の文字描画命令にかかる文字
と同色描画を指示する文字描画命令については、そのバ
ウンディングボックスがm番目の文字描画命令にかかる
文字のバウンディングボックスと実際に重複するもので
あっても、このステップSb6において重複するとは判
断されない。これは、同色文字が重なる場合、その描画
順序を保証する必要がないためである(図12(c)参
照)。なお、ここでは、文字の属性情報が異なる例とし
て、カラー印刷において見た目に与える影響が大きい色
属性、すなわち、描画する色を挙げたが、本発明におい
てはこれに限られない。この他に、文字の属性情報とし
ては、ハーフトーンパターン(シェードなど)や、色の
パターン、グラデーション、張り付けたイメージなどが
考えられる。ここで、色のパターンとしては、縦縞/横
縞や、特定の模様(キャラクターパターンなど)、小さ
い文字で大きな文字を構成する場合におけるその小さい
文字など、当該文字の構成要素を規定する情報が考えら
れる。すなわち、本願における文字の属性情報とは、文
字の重ね合わせの順序によって影響を受けるもののすべ
てをいう。
Next, in step Sb2, the instruction fetch unit 203 detects the number of character drawing instructions stored in the instruction buffer 201 and sets this number to n.
In step Sb3, “1” is set to m, and the values of n and m are notified to the overlap instruction detecting unit 202.
Then, in step Sb4, the overlap command detection unit 202 calculates a bounding box (BB) for the m-th character drawing command, and then in step Sb5, among the character drawing commands other than the m-th character drawing command, , Which are different from the attribute information, for example, anounding box according to a command to instruct drawing in a color different from the m-th character. Then, the overlapping instruction detecting unit 2
In step Sb6, in step Sb6, it is determined whether or not the bounding box of the character according to the m-th character drawing command overlaps the bounding box obtained in the immediately preceding step, and the result of the determination is notified to the instruction fetch unit 203. Therefore, even if the bounding box of the character drawing instruction instructing the same color drawing as the character related to the m-th character drawing command is actually the same as the character bounding box of the character related to the m-th character drawing command, In step Sb6, it is not determined that they overlap. This is because if the same color characters overlap, it is not necessary to guarantee the drawing order (see FIG. 12C). Here, as an example in which the attribute information of the character is different, a color attribute that has a large effect on the appearance in color printing, that is, a color to be drawn is described, but the present invention is not limited to this. In addition, as the attribute information of the character, a halftone pattern (such as a shade), a color pattern, a gradation, a pasted image, and the like can be considered. Here, as the color pattern, information that defines the components of the character, such as vertical / horizontal stripes, a specific pattern (such as a character pattern), and small characters when a large character is composed of small characters, can be considered. . That is, the attribute information of a character in the present application refers to all information that is affected by the order of superposition of characters.

【0031】さて、重なり命令検出部202からの通知
により、重複しないと判別されれば、命令フェッチ部2
03はステップSa7において、m番目の文字描画命令
を命令バッファ201から取り出してラスタライザ制御
部116にそのまま出力する。一方、重複するならば、
重なり命令検出部202はステップSb8において、そ
の重複範囲と重なる文字にかかる文字描画命令とについ
ても命令フェッチ部203に通知する。すると、命令フ
ェッチ部203は、m番目の文字描画命令とともに、バ
ウンディングボックスが重複する文字描画命令を、命令
バッファ201から取り出し、これらの文字描画命令お
よびその重複範囲を、それぞれ非重複部分描画命令生成
部204および重複部分描画命令生成部205に供給す
る。
If it is determined by the notification from the overlapping instruction detecting unit 202 that there is no overlap, the instruction fetching unit 2
In step Sa7, the m-th character drawing command is extracted from the command buffer 201 and output to the rasterizer control unit 116 as it is in step Sa7. On the other hand, if they overlap,
In step Sb8, the overlap command detection unit 202 also notifies the command fetch unit 203 of a character drawing command related to a character overlapping the overlap range. Then, the instruction fetch unit 203 fetches from the instruction buffer 201 the character drawing instruction having the overlapping bounding box together with the m-th character drawing instruction, and extracts the character drawing instruction and the overlapping range thereof into the non-overlapping partial drawing instruction generation instruction. This is supplied to the section 204 and the overlapping part drawing command generation section 205.

【0032】これらの命令を受け取ると、まず、ステッ
プSb9において、非重複部分描画命令生成部204は
非重複部分描画命令(図3(b)参照)を生成して、ラ
スタライザ制御部116に出力する。次に、ステップS
b10において、重複部分描画命令生成部205は、m
番目の文字以降の文字について重複部分描画命令を生成
して、ラスタライザ制御部116に出力する。ここで、
「m番目以降の文字について」としたのは、m番目の文
字とm番目以前の文字との重複部分については、そのm
番目以前の文字について処理した際にすでに生成されて
いるためであって、同じ処理を再び繰り返して速度の低
下を防ぐ意味からである。
Upon receiving these commands, first, in step Sb9, the non-overlapping part drawing command generation unit 204 generates a non-overlapping part drawing command (see FIG. 3B) and outputs it to the rasterizer control unit 116. . Next, step S
In b10, the overlapping part drawing command generation unit 205 sets m
An overlapping part drawing command is generated for the characters following the first character and output to the rasterizer control unit 116. here,
"About the character after the m-th character" means that, for an overlap portion between the m-th character and the character before the m-th character,
This is because the character has already been generated when the character before the first character has been processed, and this means that the same processing is repeated again to prevent a reduction in speed.

【0033】こうして、文字描画命令、非重複部分描画
命令あるいは重複部分描画命令を受け取ると、ラスタラ
イザ制御部116は、ラスタライザ115a〜115c
のいずれかに、その処理状況に応じて適切に分配して、
当該命令にかかる文字描画を行なわせる。これにより、
当該命令にかかる文字がフレームバッファ107に描画
されることとなる。次に、ステップSb11においてm
とnとが等しいか否かを判別し、等しくなければ、ステ
ップSb12においてmの値を「1」だけインクリメン
トして、そのmの値を重なり命令検出部202に通知す
る。これにより重なり命令検出部202は、命令バッフ
ァ201に格納された次の文字にかかる文字描画命令に
ついて同様に重なり検出を行なうこととなる。一方、m
とnとが等しければ、ステップSb12において処理対
象のページにかかる文字描画命令がすべて前処理された
か否か判別され、されていなければ処理手順が再びステ
ップSb1に戻って、次の所定の文字数分の文字描画命
令について同様な処理が引き続き実行される。また、す
べての文字描画命令について前処理が完了したならば、
当該ページに関する展開処理は終了し、処理の対象が次
ページに移行した段階で(ステップSa9)、再度、重
なり検出が行なわれることとなる。
Upon receiving the character drawing command, the non-overlapping part drawing command or the overlapping part drawing command, the rasterizer control unit 116 causes the rasterizers 115a to 115c to
To one of the above, depending on the processing situation,
The character drawing according to the instruction is performed. This allows
The character according to the command is drawn in the frame buffer 107. Next, in step Sb11, m
It is determined whether or not n is equal. If not, the value of m is incremented by “1” in step Sb12, and the value of m is notified to the overlap instruction detecting unit 202. As a result, the overlap command detection unit 202 similarly performs overlap detection for a character drawing command for the next character stored in the command buffer 201. On the other hand, m
If n and n are equal, it is determined in step Sb12 whether or not all the character drawing commands for the processing target page have been preprocessed. If not, the processing procedure returns to step Sb1 again, and the next predetermined number of characters The same processing is continuously executed for the character drawing command. Also, if the pre-processing has been completed for all the character drawing commands,
When the development processing for the page ends, and the processing target has shifted to the next page (step Sa9), the overlap detection is performed again.

【0034】<3:具体的動作>以上のような動作を行
なう画像処理装置において、以下、文字描画命令の具体
的な例を取り上げて、本実施形態における描画動作につ
いて説明する。いま、命令バッファ201に格納される
文字描画命令が、図6(a)に示すようなものとし、所
定の文字数が「3」であるとする。ただし、これらの文
字描画命令で描画される文字色は互いに異なるものとす
る。詳細には、文字描画命令601〜603によって、
第1番目に、フォントが「ゴシック」であって文字コー
ドが「234C」である全角文字「L」を、左上端の座
標値が(X1、Y1)であってその変換行列がΦであるバ
ウンディングボックスにて描画し、第2番目に、フォン
トが「ゴシック」であって文字コードが「2345」で
ある全角文字「E」を、左上端の座標値が(X2、Y2
であって、その変換行列がΦであるバウンディングボッ
クスにて描画し、第3番目に、フォントが「ゴシック」
であって文字コードが「2356」である全角文字
「V」を、左上端の座標値が(X1、Y1)であって、そ
の変換行列がΦであるバウンディングボックスにて描画
するように指示されたとする。そして、これらの文字描
画命令601〜603で描画される各文字のバウンディ
ングボックスが、同図(b)に示される符号601B〜
603Bの位置関係にあるものとする。すなわち、図1
2(a)で示されるように、「L」、「E」、「V」と
いう順序で文字を描画しようとする場合である。
<3: Specific Operation> In the image processing apparatus that performs the above-described operations, the drawing operation in the present embodiment will be described below by taking a specific example of a character drawing command. Now, assume that the character drawing command stored in the command buffer 201 is as shown in FIG. 6A, and the predetermined number of characters is “3”. However, the character colors drawn by these character drawing commands are different from each other. In detail, by character drawing instructions 601 to 603,
The 1st, fonts and double-byte characters "L" is a character code to a "Gothic" is "234C" in the transformation matrix A coordinate value of the upper left corner is (X 1, Y 1) is Φ draw at certain bounding box, secondly, fonts and double-byte characters "E" is a character code to a "Gothic" is "2345", the coordinate values of the upper left corner (X 2, Y 2)
, And the transformation matrix is drawn in a bounding box with Φ. Third, the font is “Gothic”.
Double-byte characters "V" was in the character code "2356" is, a coordinate value of the upper left corner is (X 1, Y 1), so that the transformation matrix is rendered at the bounding box is Φ Suppose you are instructed. The bounding boxes of the characters drawn by the character drawing commands 601 to 603 are denoted by reference numerals 601B to 601B shown in FIG.
It is assumed that the positional relationship is 603B. That is, FIG.
As shown in FIG. 2A, this is a case where characters are to be drawn in the order of “L”, “E”, and “V”.

【0035】このような文字描画命令601〜603
が、CPU101によって順番に出力されると(ステッ
プSa5)、重なり処理部120においては、これらの
描画命令が命令バッファ201に格納される結果(ステ
ップSb1)、これらの描画命令の数を示す「3」がn
にセットされ(ステップSb2)、「1」がmにセット
されて(ステップSb3)、第1番目の処理対象が文字
描画命令601とされる。次に、文字描画命令601に
かかる文字のバウンディングボックス601Bが演算さ
れ(ステップSb4)、それ以外の文字描画命令60
2、603にかかる文字のバウンディングボックス60
2B、603Bが順次演算されて求められる(ステップ
Sb5)。ここで、バウンディングボックス601B
は、図6(b)に示すように、バウンディングボックス
602Bに対し、座標(a、b)〜座標(c、d)を結
んだ直線を対角線とする矩形領域において重複してい
る。したがって、文字描画命令601は、それと重複す
る文字描画命令602と、その重複範囲とともに、それ
ぞれ非重複部分命令生成部204と重複部分命令生成部
205に供給される(ステップSb8)。
Such character drawing commands 601 to 603
Are sequentially output by the CPU 101 (step Sa5), the overlap processing unit 120 stores these drawing commands in the command buffer 201 (step Sb1), and outputs "3" indicating the number of these drawing commands. Is n
(Step Sb2), “1” is set to m (step Sb3), and the first processing target is the character drawing instruction 601. Next, the bounding box 601B of the character according to the character drawing command 601 is calculated (step Sb4), and the other character drawing commands 60 are calculated.
The bounding box 60 for the character that spans 2,603
2B and 603B are sequentially calculated and obtained (step Sb5). Here, the bounding box 601B
6B, as shown in FIG. 6B, overlaps with the bounding box 602B in a rectangular area having a straight line connecting the coordinates (a, b) to the coordinates (c, d) as a diagonal line. Therefore, the character drawing command 601 is supplied to the non-overlapping part command generator 204 and the overlapping part command generator 205 together with the character drawing command 602 overlapping with the character drawing command 602 (step Sb8).

【0036】このため、今回(m=1)、ステップSb
9にて生成される非重複部分命令は、図7(a)に示す
ようなものとなる。すなわち、文字描画命令601で描
画すべき領域のうち、座標(a、b)〜座標(c、d)
を結んだ直線を対角線とする矩形領域を除いて非表示
(非描画)としたものとなる。したがって、この非重複
部分命令により描画されるイメージは、同図(b)示す
ように、重複範囲を除いたものとなる。
Therefore, this time (m = 1), step Sb
The non-overlapping part instruction generated at 9 is as shown in FIG. That is, among the areas to be drawn by the character drawing command 601, the coordinates (a, b) to the coordinates (c, d)
Are not displayed (not drawn) except for a rectangular area whose diagonal is a straight line connecting. Therefore, the image drawn by the non-overlapping part command is the one excluding the overlapping range as shown in FIG.

【0037】一方、ステップSb10にて生成される重
複部分命令は、図8(a)に示すようなものとなる。す
なわち、文字描画命令601、602で描画すべき全領
域のうち、座標(a、b)〜座標(c、d)を結んだ直
線を対角線とする矩形領域のみを表示(描画)としたも
のであって、描画の順序を、重複文字指定801、80
2の順としたものである。したがって、この重複部分命
令により描画されるイメージは、同図(b)示すよう
に、重複範囲のみであって、描画の順序を「L」、
「E」としたものである。
On the other hand, the duplicate part instruction generated in step Sb10 is as shown in FIG. In other words, of all the regions to be drawn by the character drawing commands 601 and 602, only a rectangular region having a straight line connecting the coordinates (a, b) to the coordinates (c, d) as a diagonal is displayed (drawn). Then, the drawing order is set to the overlapping character designations 801 and 80.
The order is 2. Therefore, the image drawn by the overlapping part command is only the overlapping range as shown in FIG.
"E".

【0038】次のステップSb11では、mはまだ
「1」であって、n(=3)ではないから、ステップS
b12においてmは「2」とされる。このため、次に文
字描画命令602にかかる文字のバウンディングボック
ス602Bが演算され(ステップSb4)、それ以外の
文字描画命令601、603にかかる文字のバウンディ
ングボックス601B、603Bが順次演算されて求め
られる(ステップSb5)。ここで、バウンディングボ
ックス602Bは、図6(b)に示すように、バウンデ
ィングボックス601Bとは座標(a、b)〜座標
(c、d)を結んだ直線を対角線とする矩形領域におい
て、および、バウンディングボックス603Bとは座標
(e、f)〜座標(g、h)を結んだ直線を対角線とす
る矩形領域において、それぞれ重複している。したがっ
て、文字描画命令602は、それと重複する文字描画命
令601、603と、その重複範囲とともに、それぞれ
非重複部分命令生成部204と重複部分命令生成部20
5に供給される(ステップSb8)。
In the next step Sb11, since m is still "1" and not n (= 3), step Sb11 is executed.
In b12, m is set to “2”. Therefore, next, the bounding box 602B of the character according to the character drawing instruction 602 is calculated (step Sb4), and the bounding boxes 601B and 603B of the characters according to the other character drawing instructions 601 and 603 are sequentially calculated (step Sb4). Step Sb5). Here, the bounding box 602B is, as shown in FIG. 6B, in a rectangular area having a diagonal line connecting the coordinates (a, b) to the coordinates (c, d) with the bounding box 601B, and The bounding box 603B overlaps with each other in a rectangular area having a straight line connecting the coordinates (e, f) to the coordinates (g, h) as a diagonal line. Therefore, the character drawing command 602 includes the character drawing commands 601 and 603 overlapping with the character drawing command 602, the overlapping range thereof, and the non-overlapping partial command generator 204 and the overlapping part command generator 20 respectively.
5 (step Sb8).

【0039】このため、今回(m=2)、ステップSb
9にて生成される非重複部分命令は、図9(a)に示す
ようなものとなる。すなわち、文字描画命令602で描
画すべき領域のうち、座標(a、b)〜座標(c、d)
を結んだ直線を対角線とする矩形領域、および座標
(e、f)〜座標(g、h)を結んだ直線を対角線とす
る矩形領域を、それぞれ非表示としたものとなる。した
がって、この非重複部分命令により描画されるイメージ
は、同図(b)示すように、重複範囲を除いたものとな
る。
Therefore, this time (m = 2), step Sb
The non-overlapping partial instruction generated at 9 is as shown in FIG. That is, among the areas to be drawn by the character drawing command 602, the coordinates (a, b) to the coordinates (c, d)
And a rectangular area having a diagonal line connecting the coordinates (e, f) to (g, h) is a non-display area. Therefore, the image drawn by the non-overlapping part command is the one excluding the overlapping range as shown in FIG.

【0040】一方、ステップSb10にて生成される重
複部分命令は、図10(a)に示すようなものとなる。
すなわち、文字描画命令602、603で描画すべき全
領域のうち、座標(e、f)〜座標(g、h)を結んだ
直線を対角線とする矩形領域のみを表示としたものであ
って、描画の順序を、重複文字指定1001、1002
としたものである。ここで、文字描画命令601を考慮
していない理由は、当該命令601が2番目以降ではな
くて1番目であり、この文字との重複部分は、すでにm
=1でのステップSb10においてすでに求めているか
らである。したがって、この重複部分命令により描画さ
れるイメージは、同図(b)示すように、重複範囲のみ
であって、描画の順序を「E」、「V」としたものであ
る。
On the other hand, the duplicate part instruction generated in step Sb10 is as shown in FIG.
In other words, of the entire area to be drawn by the character drawing commands 602 and 603, only a rectangular area having a straight line connecting the coordinates (e, f) to the coordinates (g, h) as a diagonal is displayed. The order of drawing is specified by duplicate character designation 1001, 1002
It is what it was. Here, the reason that the character drawing instruction 601 is not taken into consideration is that the instruction 601 is not the second and subsequent ones but the first, and the overlapping part with this character is already m
This is because the value has already been obtained in step Sb10 when = 1. Therefore, the image drawn by this overlapping portion command is only the overlapping range, and the drawing order is “E” and “V”, as shown in FIG.

【0041】次のステップSb11では、mはまだ
「2」であって、n(=3)ではないから、ステップS
b12においてmは「3」とされる。このため、次に文
字描画命令603にかかる文字のバウンディングボック
ス603Bが演算され(ステップSb4)、それ以外の
文字描画命令601、602にかかる文字のバウンディ
ングボックス601B、602Bが順次演算されて求め
られる(ステップSb5)。ここで、バウンディングボ
ックス603Bは、図6(b)に示すように、バウンデ
ィングボックス602Bと座標(e、f)〜座標(g、
h)を結んだ直線を対角線とする矩形領域において重複
している。したがって、文字描画命令603は、それと
重複する文字描画命令602と、その重複範囲ととも
に、それぞれ非重複部分命令生成部204と重複部分命
令生成部205に供給される(ステップSb8)。
In the next step Sb11, m is still "2" and not n (= 3).
In b12, m is set to “3”. Therefore, next, the bounding box 603B of the character according to the character drawing instruction 603 is calculated (step Sb4), and the bounding boxes 601B and 602B of the characters according to the other character drawing instructions 601 and 602 are sequentially calculated (step Sb4). Step Sb5). Here, as shown in FIG. 6B, the bounding box 603B and the coordinates (e, f) to (g,
h) overlap in a rectangular area having a straight line connecting diagonal lines connecting the straight lines connecting h). Therefore, the character drawing command 603 is supplied to the non-overlapping part command generator 204 and the overlapping part command generator 205 together with the character drawing command 602 overlapping with the character drawing command 603 (step Sb8).

【0042】このため、今回(m=3)、ステップSb
9にて生成される非重複部分命令は、図11(a)に示
すようなものとなる。すなわち、文字描画命令603で
描画すべき領域のうち、座標(e、f)〜座標(g、
h)を結んだ直線を対角線とする矩形領域を非表示とし
たものとなる。したがって、この非重複部分命令により
描画されるイメージは、同図(b)示すように、重複範
囲を除いたものとなる。一方、今回(m=3)、ステッ
プSb10にて重複部分命令は生成されない。この理由
は、文字描画命令603が最終の3番目であり、これ以
降に文字描画命令が存在しないためである。そして、次
のステップSb11では、mが「3」であって、nに等
しいから、ステップSb13にて次の所定の文字数分の
文字描画命令が存在するか否かが判断され、以降同様な
処理が対象となっているページにかかるすべての文字描
画命令に対して行なわれる。
Therefore, this time (m = 3), step Sb
The non-overlapping partial instruction generated at 9 is as shown in FIG. That is, among the areas to be drawn by the character drawing command 603, the coordinates (e, f) to the coordinates (g,
A rectangular area having a straight line connecting h) as a diagonal line is not displayed. Therefore, the image drawn by the non-overlapping part command is the one excluding the overlapping range as shown in FIG. On the other hand, this time (m = 3), no overlapping part instruction is generated in step Sb10. The reason is that the character drawing command 603 is the last third character, and there is no character drawing command thereafter. Then, in the next step Sb11, since m is "3" and equal to n, it is determined in step Sb13 whether or not there is a character drawing command for the next predetermined number of characters. Is performed for all the character drawing commands for the target page.

【0043】このように、文字描画命令601〜603
は、重なり処理部120の前処理によって、非重複部分
描画命令700、900、1100および重複部分描画
命令800、1000に再生成され、それぞれ、ラスタ
ライザ制御部116を介し、ラスタライザ115a〜1
15cのいずれかに供給される。ここで、ラスタライザ
115a〜115cが、再生成された各命令をどのよう
な順序で描画しても、得られる画像は、図12(a)に
示す正しい順序で描画されたものとなる。したがって、
本実施形態によれば、仮にラスタライザが複数あったと
しても、その動作を停止させることなく、正しい順序で
文字を描画することがができる。
As described above, the character drawing commands 601 to 603
Are regenerated into non-overlapping part drawing commands 700, 900, 1100 and overlapping part drawing commands 800, 1000 by the preprocessing of the overlap processing unit 120, and are respectively transmitted to the rasterizers 115a to 115a through the rasterizer control unit 116.
15c. Here, regardless of the order in which the rasterizers 115a to 115c draw the regenerated commands in any order, the obtained image is drawn in the correct order shown in FIG. Therefore,
According to the present embodiment, even if there are a plurality of rasterizers, characters can be drawn in a correct order without stopping the operation.

【0044】なお、本実施形態において、重なりがある
文字については、非重複部分描画命令と重複部分描画命
令とに分けて描画を行なうので、その分、文字の展開処
理に時間がかかる、と考えるのは早計である。この理由
は、1回目の展開結果がキャッシングされると、2回目
の処理についてはフォントキャッシュにヒットして、再
度展開処理を行なう必要がないからである。したがっ
て、重なりがある文字の展開処理に要する時間は、重な
りのない文字の展開処理に要する時間と実質的に変わら
ない。同様に考えると、本実施形態においては、同じ文
字についてバウンディングボックスが何回も演算されて
求められるが(ステップSb4、Sb5)、1回目は演
算して、その結果をキャッシングし、2回目以降は、そ
のキャッシュ結果を利用すれば、再度演算して求める必
要はない。したがって、本実施形態において、重なる文
字がいかに多くても、その展開処理に要する時間は、重
なりのない場合と比べてほとんど変わらない。
It should be noted that in the present embodiment, a character having an overlap is rendered separately into a non-overlapping part drawing instruction and an overlapping part drawing instruction, so that it takes time to develop the character. It is too early. The reason for this is that if the result of the first expansion is cached, the font cache is hit for the second processing, and there is no need to perform the expansion processing again. Therefore, the time required for the processing of developing the overlapping characters is substantially the same as the time required for the processing of developing the non-overlapping characters. Similarly, in the present embodiment, the bounding box is calculated many times for the same character (steps Sb4 and Sb5). The first calculation is performed, the result is cached, and the second and subsequent times are calculated. If the cache result is used, it is not necessary to calculate again. Therefore, in the present embodiment, no matter how many characters overlap, the time required for the expansion processing is almost the same as in the case where there is no overlap.

【0045】また、重なる文字があるとしても、文字の
属性情報が同じであれば(実施形態では、それらの文字
が同色で描画されるものであれば)、それらの文字にか
かる文字描画命令は非重複部分描画命令と重複部分描画
命令とに再生成されないので、この点においても、処理
の高速化が図られている。なお、本実施形態において、
オブジェクトを文字のみとしたが、これに限られず、線
図などの展開についても含めて適用可能であるのはいう
までもない。
Even if there are overlapping characters, if the attribute information of the characters is the same (in the embodiment, if the characters are drawn in the same color), the character drawing command for those characters is Since the non-overlapping part drawing command and the overlapping part drawing command are not regenerated, the processing speed is also improved in this regard. In the present embodiment,
Although the object is only characters, it is needless to say that the present invention is not limited to this and can be applied to the development of a diagram or the like.

【0046】[0046]

【発明の効果】以上説明したように本発明によれば、た
とえ、命令にしたがって文字の描画を行なう描画手段が
複数あって、これらが独立に描画する構成であったとし
ても、重なりがある文字について、各描画手段を待機さ
せることなく、その順序が保証された状態で描画するこ
とが可能となる。
As described above, according to the present invention, even if there are a plurality of drawing means for drawing a character in accordance with an instruction and these are configured to draw independently, a character having an overlapping character is displayed. Can be drawn in a state in which the order is guaranteed without making each drawing unit stand by.

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

【図1】 本発明の実施形態にかかる画像処理装置の構
成を示すブロック図である。
FIG. 1 is a block diagram illustrating a configuration of an image processing apparatus according to an embodiment of the present invention.

【図2】 同実施形態における重なり処理部の構成を示
すブロック図である。
FIG. 2 is a block diagram illustrating a configuration of an overlap processing unit according to the first embodiment.

【図3】 (a)は文字描画命令の構成を示す図であ
り、(b)は非重複部分描画命令の構成を示す図であ
り、(c)は重複部分描画命令の構成を示す図である。
3A is a diagram illustrating a configuration of a character rendering command, FIG. 3B is a diagram illustrating a configuration of a non-overlapping portion rendering command, and FIG. 3C is a diagram illustrating a configuration of an overlapping portion rendering command; is there.

【図4】 同実施形態におけるCPUの動作を示すフロ
ーチャートである。
FIG. 4 is a flowchart illustrating an operation of a CPU according to the embodiment.

【図5】 同実施形態における重なり処理部の動作を示
すフローチャートである。
FIG. 5 is a flowchart showing an operation of the overlap processing unit in the embodiment.

【図6】 (a)は同実施形態における具体的動作を説
明するための文字描画命令の構成を示す図であり、
(b)は(a)で示される命令で描画される文字のバウ
ンディングボックスの位置関係を示す図である。
FIG. 6A is a diagram showing a configuration of a character drawing command for describing a specific operation in the embodiment;
(B) is a diagram showing a positional relationship of a bounding box of a character drawn by the command shown in (a).

【図7】 (a)は図6(a)で示される命令をm=1
で処理した際の非重複部分描画命令の構成を示す図であ
り、(b)は(a)で示される命令で描画される文字の
イメージを示す図である。
FIG. 7A shows the instruction shown in FIG.
7A and 7B are diagrams illustrating a configuration of a non-overlapping part drawing command when processing is performed in FIG. 6B, and FIG. 7B is a diagram illustrating an image of a character drawn by the command illustrated in FIG.

【図8】 (a)は図6(a)で示される命令をm=1
で処理した際の重複部分描画命令の構成を示す図であ
り、(b)は(a)で示される命令で描画される文字の
イメージを示す図である。
FIG. 8A shows the instruction shown in FIG.
7A and 7B are diagrams illustrating a configuration of an overlapped part drawing command when processing is performed in FIG. 5B, and FIG. 7B is a diagram illustrating an image of a character drawn by the command illustrated in FIG.

【図9】 (a)は図6(a)で示される命令をm=2
で処理した際の非重複部分描画命令の構成を示す図であ
り、(b)は(a)で示される命令で描画される文字の
イメージを示す図である。
FIG. 9 (a) shows the instruction shown in FIG. 6 (a) with m = 2
7A and 7B are diagrams illustrating a configuration of a non-overlapping part drawing command when processing is performed in FIG. 6B, and FIG. 7B is a diagram illustrating an image of a character drawn by the command illustrated in FIG.

【図10】 (a)は図6(a)で示される命令をm=
2で処理した際の重複部分描画命令の構成を示す図であ
り、(b)は(a)で示される命令で描画される文字の
イメージを示す図である。
FIG. 10 (a) shows the instruction shown in FIG.
2A and 2B are diagrams illustrating a configuration of an overlapping part drawing command when processing is performed in step S2, and FIG. 2B is a diagram illustrating an image of a character drawn by the command illustrated in FIG.

【図11】 (a)は図6(a)で示される命令をm=
3で処理した際の非重複部分描画命令の構成を示す図で
あり、(b)は(a)で示される命令で描画される文字
のイメージを示す図である。
FIG. 11 (a) shows the instruction shown in FIG.
3A and 3B are diagrams illustrating a configuration of a non-overlapping part drawing command when processing is performed in step S3, and FIG. 4B is a diagram illustrating an image of a character drawn by the command illustrated in FIG.

【図12】 (a)は正しい順序で描画したイメージを
示す図であり、(b)は誤った順序で描画したイメージ
を示す図であり、(c)は同色で描画したイメージを示
す図である。
12A is a diagram showing an image drawn in a correct order, FIG. 12B is a diagram showing an image drawn in an incorrect order, and FIG. 12C is a diagram showing an image drawn in the same color. is there.

【図13】 従来の画像処理装置の構成を示すブロック
図である。
FIG. 13 is a block diagram illustrating a configuration of a conventional image processing apparatus.

【図14】 バウンディングボックスの概念を説明する
ための図である。
FIG. 14 is a diagram for explaining the concept of a bounding box.

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

115a〜115c……ラスタライザ(描画手段)、 116……ラスタライザ制御部(描画制御手段)、 202……重なり命令検出部(検出手段)、 203……命令フェッチ部(転送手段)、 204……非重複部分命令生成手段(第1の命令生成手
段)、 205……重複部分命令生成手段(第2の命令生成手
段)
115a to 115c: rasterizer (rendering unit), 116: rasterizer controller (rendering controller), 202: overlapping instruction detector (detector), 203: instruction fetch unit (transfer unit), 204: non- Duplicate part instruction generation means (first instruction generation means) 205... Duplication part instruction generation means (second instruction generation means)

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 FI G09G 5/22 670 G09G 5/36 520N 5/36 520 G06F 15/20 566K ──────────────────────────────────────────────────の Continued on the front page (51) Int.Cl. 6 Identification code FI G09G 5/22 670 G09G 5/36 520N 5/36 520 G06F 15/20 566K

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 文字の描画を指示する描画命令を少なく
とも2つ以上入力して、当該命令により描画される文字
が重なるか否かを検出する検出手段と、 重なると検出された場合に、当該文字にかかる描画命令
から、非重複部分の描画を指示する第1の命令を生成す
る第1の命令生成手段と、 重なると検出された場合に、当該文字にかかる描画命令
から、重複部分の描画と描画の順序とを指示する第2の
命令を生成する第2の命令生成手段と、 各命令に基づいて実際に描画を行なう描画手段とを具備
することを特徴とする画像処理装置。
1. A detecting means for inputting at least two or more drawing commands instructing drawing of a character and detecting whether or not characters drawn by the command are overlapped. First command generation means for generating a first command for drawing a non-overlapping portion from a drawing command related to a character; and drawing an overlap portion from the drawing command related to the character when the overlap is detected. An image processing apparatus, comprising: a second command generation unit for generating a second command for designating a drawing order and a drawing order; and a drawing unit for actually performing drawing based on each command.
【請求項2】 前記描画手段は複数であり、 これら複数の描画手段のいずれかに、描画命令を1つず
つ割り当てる描画制御手段を有することを特徴とする請
求項1記載の画像処理装置。
2. An image processing apparatus according to claim 1, wherein said drawing means comprises a plurality of drawing means, and a drawing control means for assigning a drawing command to each of said plurality of drawing means one by one.
【請求項3】 前記検出手段により重なりがないと検出
された場合に、その文字にかかる描画命令を描画手段に
直接転送する転送手段を備えることを特徴とする請求項
1記載の画像処理装置。
3. The image processing apparatus according to claim 1, further comprising a transfer unit configured to directly transfer a drawing command for the character to the drawing unit when the detection unit detects that there is no overlap.
【請求項4】 前記検出手段は、文字の属性情報が異な
る描画命令に対してのみ前記検出を行なうことを特徴と
する請求項1記載の画像処理装置。
4. The image processing apparatus according to claim 1, wherein the detection unit performs the detection only for a drawing command having different character attribute information.
JP8310952A 1996-11-21 1996-11-21 Screen processor Pending JPH10149148A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8310952A JPH10149148A (en) 1996-11-21 1996-11-21 Screen processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8310952A JPH10149148A (en) 1996-11-21 1996-11-21 Screen processor

Publications (1)

Publication Number Publication Date
JPH10149148A true JPH10149148A (en) 1998-06-02

Family

ID=18011381

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8310952A Pending JPH10149148A (en) 1996-11-21 1996-11-21 Screen processor

Country Status (1)

Country Link
JP (1) JPH10149148A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150130307A (en) * 2013-03-14 2015-11-23 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 Graphics processing using multiple primitives

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150130307A (en) * 2013-03-14 2015-11-23 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 Graphics processing using multiple primitives
JP2016517574A (en) * 2013-03-14 2016-06-16 マイクロソフト テクノロジー ライセンシング,エルエルシー Graphic processing using multiple primitives
US11069020B2 (en) 2013-03-14 2021-07-20 Microsoft Technology Licensing, Llc Graphics processing using multiple primitives

Similar Documents

Publication Publication Date Title
JPH04128970A (en) Document processing system
JPH10149148A (en) Screen processor
JP2771629B2 (en) Character processor
JP2711860B2 (en) Output control method and device
JP2710350B2 (en) Image processing apparatus and image processing method of image processing apparatus
JP3040624B2 (en) Pattern generator
JP2971547B2 (en) Document processing device
JPH086542A (en) Character font and method and device for pattern expansion of same
JP2884862B2 (en) Data processing device
JP2878715B2 (en) Document creation device
JP2728916B2 (en) Character processing apparatus and method
JPH01263051A (en) Printer controller
JPH07104764B2 (en) Integrated document printing system
JP2814709B2 (en) Drawing data creation device
JPH06149224A (en) Method and device for image output
JPH01215557A (en) Word processor
JPH0493994A (en) Character processor
JPH05191578A (en) Printer controller system
JPH0916791A (en) Method and system for editing/outputting layout
JPH05112054A (en) Image processing device
JPH03112668A (en) Printer
JPH06301367A (en) Character generator
JPH1075352A (en) Print control method and its device, and print system including the device
JPH09309233A (en) Image forming device and image formation
JPS63278851A (en) Magnification printing system of laser beam printer