JPH02122956A - 閉曲線内の塗り潰し方法 - Google Patents

閉曲線内の塗り潰し方法

Info

Publication number
JPH02122956A
JPH02122956A JP63278299A JP27829988A JPH02122956A JP H02122956 A JPH02122956 A JP H02122956A JP 63278299 A JP63278299 A JP 63278299A JP 27829988 A JP27829988 A JP 27829988A JP H02122956 A JPH02122956 A JP H02122956A
Authority
JP
Japan
Prior art keywords
data
attribute data
written
parity
filling
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
JP63278299A
Other languages
English (en)
Other versions
JPH0749222B2 (ja
Inventor
Tsuneo Ikedo
恒雄 池戸
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.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP63278299A priority Critical patent/JPH0749222B2/ja
Publication of JPH02122956A publication Critical patent/JPH02122956A/ja
Publication of JPH0749222B2 publication Critical patent/JPH0749222B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Dot-Matrix Printers And Others (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

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

Description

【発明の詳細な説明】
「産業上の利用分野」 この発明は、特に、高品質の文字のプリントアウトを行
う印字システム等において用いて好適な閉曲線内の塗り
潰し方法に関する。 「従来の技術」 近年、レーザプリンタの発達と共に、明朝体。 ゴシック体等種々の文字フォントによる高品質の文字を
印字できるシステムが開発されつつある。 そして、このような印字システムにおいては、種々の文
字フォントによる文字が印字できるだけでなく、文字サ
イズも任意に設定できることが要望される。しかし、従
来のこの種のシステムにおいては、文字フォントをピク
セルデータでもつことが普通であり、このため、2倍、
1/2倍等の簡単なサイズ変更はできるが、3.5倍、
5倍、1/7倍等任意の倍率による拡大、縮小を、印字
品質を損なうことなく行うのは不可能であった。 他方、種々の文字フォントによる文字を任色のサイズで
印字できるようにする方法として、文字フォントをアウ
トライン(輪郭線)ベクトルによってもつ方法が知られ
ている。この方法において文字の拡大、縮小を行う場合
は、予めベクトルデータを演算によって拡大または縮小
し、この演算によって得られたベクトルデータを輪郭線
のピクセルデータに変換し、次いで、輪郭線の内部を塗
り潰して文字とする。この方法によれば、いかなる倍率
による拡大、縮小を行っても、印字品質を損なうことが
ない。そして、この発明は、特に上述した文字の輪郭線
内部の塗り潰しに用いて好適な塗り潰し方法に関するも
のである。 次に、従来から知られている塗り潰し方法について説明
する。 (1)パリティチエツク法 第11図において、符号lは印刷用紙のlページのピク
セル数に等しい記憶容量を有する画像メモリ、2はこの
画像メモリl内にデータ“l“によって書き込まれた画
像の輪郭線である。この輪郭線2の内部を塗り潰す場合
、パリティチエツク法は、画像メモリlに書かれた輪郭
線の極大値あるいは極小値から順に水平走査をしていく
。そして、輪郭線(データ“l”)が検出された場合、
以後、データ“l”を逐次書き込み、次に輪郭線が検出
された場合に書き込みを停止し、次に輪郭線が検出され
ると、再びデータ“l”を書き込み、この処理を操り返
す。このような処理により、例えば図の破線Llの位置
の走査においては、範囲Hlおよび1−[2に“1°が
書き込まれる(塗り漬しか行なわれる)。 (2)追跡法 第12図において、符号3は画像メモリ内に苫き込まれ
た輪郭線、SEは輪郭線3内の任意の一点(シードとい
う)である。この追跡法は、まず、シードSEから矢印
Y1方向へ画像メモリの走査を行って輪郭線3を検出す
る。次に、輪郭線3の1つ内側のピクセルP1に対応す
る画像メモリの記憶位置に例えばデータ「2」を書き込
む。以下、輪郭線3に沿って、輪郭線3の内側のピクセ
ルP2、P3 ・・・・に対応する記憶位置に順次「2
」を書き込んで行く。そして、輪郭線3に沿う全周につ
いてデータ「2」の書き込みが終了すると、次に、デー
タ「2」が書き込まれたピクセル間を塗り潰すすなわち
、この場合、データ[2jを書き込む。この塗り潰しの
際に、例えば別の輪郭線4を検出した場合(矢印Y2の
走査参照)は、この輪郭線4の周囲(この場合、外側)
にデータ「2」を書き込んだ後、再びデータr2J−r
2j間の塗り潰しを行う。 (3)セグメント法 第13図において、符号5は画像メモリ内に描かれた輪
郭線、SEはシードである。このセグメント法は、まず
、シードSEから矢印Y3方向へ塗り潰しを行う。そし
て、輪郭線5のピクセルPaを検出した場合は、その上
の輪郭線ピクセルのアドレスをスタックアドレスSTI
として一時記憶メモリ内に記憶させ、次いで、ピクセル
Paの下の輪郭線ピクセルPbから矢印Y4方向へ塗り
潰しを行う。そして、輪郭線ピクセルPcを検出すると
、次に、その下のピクセルPdから矢印Y5方向の塗り
潰しを行い、以下、この動作を繰り返して図に示すエリ
アElの塗り潰しを行う。また、この塗り潰しの過程に
おいて、輪郭線ピクセル間の連続性、すなわち、ピクセ
ルPa、Pb、Pe・・・・の連続性およびピクセルP
c、Pd・・・・・・の連続性を各々チエツクしていく
。そして、上述した連続性がくずれた場合、すなわちピ
クセルPkを検出した場合は、次のピクセルのアドレス
をスタックアドレスST2としてメモリに記憶させ、次
いでピクセルPQから再び塗り潰しを行う。そして、図
に示すエリアE2の塗り潰しが終了した時へて、メモリ
からスタックアドレスST2を読み出し、そのアドレス
が示すピクセルから塗り潰しを行ってエリアE3の塗り
潰しを行う。次に、スタックアドレスSTIが示すピク
セルから上方へ塗り潰しを行ってエリアE4を塗り潰す
。 以上が従来から知られている塗り潰し方法である。 「発明か解決しようとする課題」 しかしながら、上述した各塗り潰し方法にはいずれも種
々の欠点があり、このため、実際上、文字の塗り潰しに
は使用できない。 すなわち、まず、(1)パリティチエツク法には次の欠
点がある。第14図において、ビクセルP1、P2は各
々輪郭線6上の頂点(極大点)であり、かつ、共に水平
ライン上2上の点であるとする。 この場合、ラインL2を走査しつつ塗り潰しを行うと、
図に示す範囲Haを塗り潰してしまう。これを防ぐため
には、ピクセルP l 、P 2が頂点であることを検
出する必要がある。しかしながら、この頂点の検出は、
必ずlっ前のラインの各ピクセルデータを読み出し、ラ
インL2の各ピクセルデータと比較することが必要とな
るが、この処理に多くの時間を要してしまう。また、こ
のような比較鷺理を行っても、第15図に示す頂点P3
の検出は不可能である。また、第16図において、ライ
ンL3の走査および塗り潰しを行うと、範囲Hbの塗り
潰しは行なわれるが、範囲Hcの塗り潰しは行なわれな
い。さらに、第17図の場合は、本来塗り潰し行うべき
でないエリアEaを塗り潰してしまう。なお、第15図
〜第17図のような形は、勿論、本来の文字フォントに
は現れない。 しかしながら、文字の縮小を行うと、このような形がし
ばしば現れる。したがって、文字の塗り潰しにおいては
、このような閉曲線と線が、見合した図形の塗り潰しら
できなけばならない。 次に、(2)追跡法および(3)セグメント法は共に、
塗り潰すべき総ての領域内に予めシードをセットしなけ
ればならず、アルファベットであればまだしも、漢字フ
ォントのように、非常に多くの閉曲線に分かれている場
合は、各閉曲線内の総てにシードをセットすることが極
めて手間がかかる。また、予め元になる文字フォントに
シードをセットしたとしても、縮小によってシードのな
い閉曲線ができてしまい、この場合、塗り潰しができな
くなる。さらに、これらの方法は塗り潰し処理に時間が
かかり、このため、1秒間にせいぜい10数文字しか塗
り潰しを行うことができず、レーザプリンタの場合に要
求される2000文字/1秒間の塗り潰し速度は到底達
成し得ない。 以上のように、従来の塗り潰し方法はいずれも、文字(
特に漢字)フォントの塗り潰しには適用できず、文字フ
ォントの塗り潰しに適用できる塗り潰し方法がないとい
うのが現状である。 この発明は上述した事情に鑑みてなされたもので、霞め
て高速に、しかも、誤りなく閉曲線内を塗り潰すことが
でき、したがって、文字フォントの塗り潰しにも適用す
ることができる閉曲線内の塗り潰し方法を提供すること
を目的としている。 「課題を解決するための手段」 この発明は、線を表すベクトルデータをピクセルデータ
に変換して画像メモリに書き込み、該ピクセルデータに
よって囲まれる前記画像メモリの内部をピクセルデータ
によって塗り潰す閉曲線内の塗り潰し方法において、前
記ベクトルデータをピクセルデータに変換して画像メモ
リに書き込む際に、ベクトルが持つ属性に対応する属性
データをピクセルデータと共に前記画像メモリに書き込
み、また、既に上記属性データが書き込まれている位置
に重畳して書込を行う場合は、既に書き込まれている属
性データと新たに書き込むべきピクセルの属性とによっ
て決まる属性データを書き込み、次に、前記画像メモリ
を走査して該画像メモリ内の前記属性データを検出し、
この検出した属性データの値に基づいて塗り潰し位置を
決定することを特徴としている。 「作用j この発明によれば、ベクトルデータをピクセルデータに
変換して画像メモリに書き込む際に、そのビクセルの属
性データを前記画像メモリに書き込んでいく。そして、
塗り潰し処理においては、パリティチエツク法と同様に
、画像メモリを1ラインずつ走査し、輪郭線ピクセルを
検出する毎に、そのビクセルの属性データから、次に続
く走査線を塗り潰すか否かを決定する。 「実施例」 以下、図面を参照してこの発明の一実施例について説明
する。第1図はこの発明の一実施例による塗り潰し方法
を適用した印字システムの構成を示すブロック図である
。まず、全体構成を説明する。
【全体構成】
第1図において、lはCPtJ(中央処理装置)、2は
CPUIのプログラムが記憶されたROM。 3はデータ記憶用のRAM14は文字フォントメモリで
ある。この文字フォントメモリには、各文字(漢字、か
な、アルファベット等)の輪郭線がベクトルデータによ
って記憶されている。具体的には、例えば第2図に示す
「G」の字であれば、図に示す点P。−P!4の各座標
データ(Px、Py)によって記憶されている。5はフ
ロッピィディスク装置であり、印字すべき文章が記憶さ
れたフロッピィディスクがセットされる。6は操作部で
ある。 以上の構成において、フロッピィディスクをフロッピィ
ディスク装置5にセットし、操作部6によって文字の大
きさの指定等各種の指示を行った後プリント開始指示を
行うと、CPUIがこの指示をうけ、まず、フロッピィ
ディスクからlページ分の文字データを読み出してRA
M3に書き込む。次いで、RAM3に書き込んだ各文字
データに対応する文字フォントを順次文字フォントメモ
リ4から読み出し、曲線N17間を行う際に使用される
曲線式および文字の印字位置に関ずろレイアウト情報と
共に、座標変換プロセッサ8へ出力する。 座標変換プロセッサ8は、輪郭線ベクトルを曲線補間す
ることによって滑らかな曲線とする。具体的には、第2
図のベクトルP 5−P−を例にとると、このベクトル
をさらに小線分に分け、各点P3□、P3−1・・・・
・の座標データをCPUIから出力される曲線式に基づ
いて算出する。次に、操作部6によって指定された文字
の大きさに応じて文字フォントの拡大/縮小を行い、こ
の拡大/縮小済みの文字フォント(具体的には座標デー
タ)を塗り潰しプロセッサ9へ出力する。 塗す潰しプロセッサ9は、まず、座標変換プロセッサ8
から供給されろ座標データによって表されるベクトルを
ピクセル列に変換する。具体的には、例えば、第3図に
示すベクトル■の始点および終点を表す座標データ(x
 O,Y Q)、(xn +Yn )から、ピクセルP
 I、p 2.p 3+・・・・・・pn−、の座標デ
ータを求める。なお、ピクセルP。、Poの座標データ
は各々(x O,Y O)、(xn、Yn)である。ま
た、この処理の多くはD D A (D 1g1Lal
  D 1fferenceAnalyzer)と呼ば
れろハードウェアで実現されている。そして、上記のD
DA処理によって求めた2点間を補間する座標データを
、cputから出力されるレイアウト情報に括づいてペ
ージメモリlOのアドレスに変換する。ここで、ページ
メモリlOは、3個のメモリ(DRAM)から構成され
、各メモリが印字用紙1ページの全ピクセル敢と同数の
ビット数を有し、3個とも同一アドレスで書込/読出が
行なわれる。すなわら、このページメモリlOには、ピ
クセル当たり3ビツトの属性データを書き込むことがで
きる。 また、塗り潰しプロセッサ9は、各ピクセルのアドレス
が示すページメモリlOの記憶位置に、そのピクセルの
属性データを書き込む。なお、属性データについては後
述する。次に、ページメモリlO内に1ページ分のピク
セルデータ(属性データ)が書き込まれた時点で、各文
字の内部を塗り潰す塗り潰し処理を行う。そして、この
塗り潰し処理が終了した時点で、ページメモリlO内の
データを読み出し、レーザプリンタ11へ出力する。こ
れにより、レーザプリンタ11において印字が行なわれ
ろ。
【チリ潰しプロセッサ9の詳細】 次に、と述した塗り潰しプロセッサ9において行なわれ
る処理の詳細を説明する。 (1)DDA処理 このDDA処理は次の過程で行なわれる(第3図参照)
。 ■次の演算を行って、X、Y座標の各差分△X。 △Yを求める。 △X =X n  X。・・・・・・(1)△Y = 
Y n−v o=・・−(2)この演算によって座標の
差分が求められると共に、△X、△Yの符号から、ベク
トル■の方向(X方向およびY方向)を各々検知するこ
とができる。 すなわち、△X、△Y h(共に正であればベクトル■
の方向はX方向、Y方向とも正、△X、△Yが共に負で
あれば、ベクトル■の方向はX方向、Y方向とも負、△
Xが正、△Yが負であればベクトル■の方向はX方向が
正、X方向が負、△Xが負、△Yが正であればベクトル
■の方向はX方向が負。 X方向が正となる。 ■上記の差分ΔX、ΔYの絶対値の差りを求める。  
D=l△X1−1△Y1・・・・・(3)この演算によ
って得られるDの符号から、ベクトル■において、X、
Yいずれの方向が長軸、いずれの方向が短軸であるかを
検知することができる。なお、以下、X方向が長軸の場
合(D > Q )をXメノヤ、X方向が長袖の場合(
D < 0 )をYメノヤという。 ■ピクセルP1〜Pn−+の座標データを求める。 ■−(1)ベクトルV h(Xメジャの場合Yi=(△
Y/△X )(X i  X o)+ Y o−−(4
)なる式において、xiに逐次歩進するデータ(Xo”
、 l )、(X o+ 2 )、・・・・・・(X 
o + n  1 )を順次代入してデータY + 、
 Y t・・・・・Yn−+を算出する。この結果得ら
れる座標データ((X O+ 1 )、 Y +)、(
(x0+ 2 )、Y *)−−・−・・((X 、+
n−1)、Y n −+)が各々求めるべきピクセルP
1〜Pn−1の座標データである。 ■−(2)ベクトル■がYメジャの場合X1=(△X/
△Y )(Y i  Y o)十X o−−(5)なる
式において、Y iに逐次歩進するデータ(Yo+ 1
 )、(Yo+ 2)+・・・−(Y(1+n  1 
)を順次代入することによって、データX l、 X 
t・・・・・・Xn−、w。 算出し、ピクセルP、〜pn−tの各座標データ(Xi
、Yi)を求める。 (2)ページメモリlOのアドレス算出凸文字の用紙上
の印字位置、言い替えれば、各文字のページメモリ10
内の書き込み位置を示す座標データは、座標変換プロセ
ッサ8から出力される。この座標データは第2図に示す
文字の基点Po0の座標である。いま、この座標データ
を(P x。 Py)とすると、第2図の文字の輪郭線を構成する各ピ
クセルP i(X i、Y i)のページメモリlOに
おける位置(アドレス)は各々(P x+ X i、P
 y+ Y i)となる。 (3)属性データのページメモリ10への書込この印字
ンステムにおいては、輪郭線を構成する各ピクセルに対
応するページメモリlOの記憶位置に各々、そのピクセ
ルの属性データ(3ビツト)が書き込まれる。ここで、
属性データとは、(イ)そのピクセルが属するベクトル
の傾き、すなわち、同ベクトルがXメジャであるか、Y
メジャであるか、 (ロ)そのピクセルが属するベクトルのX方向およびX
方向 (ハ)そのピクセルに対応するページメモリlOの記憶
位置に既に書き込まれている属性データ以上3つの要素
に基づいて決められるデータである。 以下、この属性データについて、第4図を参照して具体
的に説明する。第4図は属性データテーブルであり、こ
のテーブルにおいて「旧」とある欄は、既に書き込まれ
ている属性データを示し、「新」とある欄は、これから
書き込もうとする属性データを示している。 ■通常の輪郭線ピクセルの属性データ 第3図に示すベクトル■(文字の輪郭線ベクトル)h(
Yメジャ(1x1〈IYl)テアル場合、ピクセルP。 〜pnの属性データはいずれも「l」となり、Xメジャ
(IXI>IYI)である場合はいずれも「2」となる
。 そして、ページメモリ10のピクセルP。−Pnの各々
に対応する記憶位置にデータが書き込まれていない場合
(「0」の場合)は、上述した属性データrlJまたは
「2」がページメモリIOにそのまま吉き込まれる。 ■2つのベクトルのそれぞれ方向の異なる接続点ピクセ
ルの属性データ 第5図(イ)〜(ヌ)に示す2つのベクトル■1と■2
とがVt→■2の順に接続されている場合、ベクトルV
tの終点とベクトルv2の始点は同一ピクセルとなる。 この場合、接続点ピクセルPsの属性データは次のよう
になる。 (i)第5図(イ)、(ロ)に示すように、ベクトル■
l−4v2において、X方向の符号が変化している場合
は「3」となる。以下、この場合をV erE dge
(Vertical  Edge)という。 (1j)第5図(ハ)、(ニ)に示すように、X方向の
符号が変化している場合は「4」となる。以下、この場
合をHorE dge(Horizontal  E 
dge)という。 (iii)第5図(ホ)、(へ)に示すように、X方向
、X方向とも変化しない場合は、ベクトル■2のみの場
合(接続点でない場合)と同じになる。すなわち、第5
図(ホ)の場合(Xメジャ)は「2」に、(へ)の場合
(Yメジャ)は「1」になる。また、第5図(ト)、(
チ)のように、ベクトル■2のX方向またはX方向がO
となる場合も同様である。 (1v)第5図(す)、(ヌ)に示すベクトルV l 
、V 2のように、X方向またはX方向が「0」から正
または負の変化した場合は、ベクトルVtの前のベクト
ル■0の方向に応じて決まる。すなわち、第5図(す)
に示すように、ベクトル■0→■2において方向変化が
ない場合は、上記(山)によって決められ、第5図(ヌ
)に示すように、ベクトル■0→■2において方向変化
がある場合は上記(i)または(1j)によって決めら
れる。 ■ページメモリlOの記憶位置に既に属性データが書き
込まれている場合における二重、三重書込時の属性デー
タ 文字フォントメモリ4内の各文字フォントは勿論、輪郭
線が重ならないようにできている。したがって、文字サ
イズが規定の大きさまたは拡大の場合にはページメモリ
!θ内において二重書込が行なわれることはない。しか
し、文字フォントの縮小を行った場合には、輪郭線の重
なりがしばしば発生し、したがって、二重書込がしばし
ば発生し、場合によっては三重書込、四重書込・・・し
発生する。この二重、三重・・書込時においては、これ
から書き込もうとする属性データ(上記■または■によ
ってきまる属性データ;第4図[新j 1ilil参照
)と、既に書き込まれている属性データ(第4図「旧]
欄参照)から、第4図の属性データテーブルに基づいて
新たに書き込むべき属性データが決まる。 例えば、既に書き込まれている属性データが「2」で、
これから書き込もうとする属性データが「2」の場合は
「6」が書き込まれ、例えば既に書き込まれている属性
データが「4」で、これから書き込もうとする属性デー
タが「l」の場合は「5」が書き込まれる。なお、ベク
トルの始点の属性データ書込の場合は、属性データテー
ブルが適用されず、前述した■の規則が適用される。 以上が属性データ書込処理の詳細である。実際の装置に
おいては、上記の各処理が1ビクセル単(qで行なわれ
る。すなわち、例えば第3図のベクトル■の処理におい
て、まず、ピクセルPiの属性データ(ベクトル■の傾
きおよび方向に基づく属性データ)が求められ、次いで
、その属性データが書き込まれるページメモリ10のア
ドレスがDDA処理によって求められる。次に、そのア
ドレスがページメモリlOに出力される。これにより、
ページメモリ10から既に書き込まれている属性データ
(またはデータ「0」)が読み出される。 次に、読み出された属性データとこれから書き込もうと
する属性データとの論理演算(第4図のテーブルに基づ
く論理演算)が行なわれ、この演算結果がページメモリ
lOの上記のアドレスに書き込まれる。この場合、上記
の続出/書込処理は周知のリードモディファイライトモ
ードによって行なわれる。そしで、上記の処理がベクト
ル■を構成する各ピクセルPiについて順次行なわれろ
。 (4)塗り潰し処理 ページメモリlOへの属性データの書込みが終了すると
、次に、この塗り潰し処理が行なわれる。 この塗り潰し処理によって、文字の輪郭線の内部が塗り
潰される。具体的には、輪郭線内部の各ピクセルに対応
するページメモリlOの記憶位置にデータ(例えば「l
」)が書き込まれる。 この塗り潰し処理は、基本的にはパリティチエツク法に
よる塗り潰し処理と同じであり、第1図に示すページメ
モリlOの各記憶位置を、最上行から順次左から右へ走
査し、輪郭線、すなわち属性データを検出した場合は、
その属性データに基づいてパリティを変化させる。ここ
で、パリティとは、変化指示がある毎に“l”→“0”
→”l”→・・・と交互に変化するデータであり、トリ
ガフリップフロップによって作られる1ビツトのデータ
である。そして、走査が輪郭線を通過し、データ「0」
の領域に達した場合に、その時のパリティが“l″であ
ればその領域を塗り潰し、°0“であれば塗り潰しを行
わない。以上が塗り潰し処理の概略である。 次に、属性データとパリティとの関係を説明する。第6
図はパリティ変化テーブルであり、この図にいてrLe
ftJは横に並んでいる2個の記憶位置のうちの左側の
記憶位置を示し、rRightJは右側の記憶位置を示
している。また、rlJはパリティ変化指示を示し、空
欄は変化させないことを示している。以下、このテーブ
ルに基づく塗り潰し処理を例をあげて説明する。 第7図(イ)は輪郭線ベクトルおよび走査線Scを示し
、(ロ)は走査線Sc上の各記憶位置を示している。ま
ず、走査線Scの走査が開始される前において、パリテ
ィがリセットされ、“O”とされる。次に、記憶位置K
l−に4の走査(データ読出)が行なわれた後、記憶位
置に5内のデータ続出が行なわれると、属性データ「2
」が読み出される。この場合、roj−r2Jの変化で
あり、第6図のパリティ変化テーブルは空IIl#l(
#l参照)であり、パリティは変化しない。次に、記憶
位置に6内の属性データ「2」が読み出される。この場
合、「2」→「2」の変化であり、パリティ変化テーブ
ルは空1it(#2参照)であり、パリティは変化しな
い。次に、記憶位置に7の属性データ「0」が読み出さ
れる。この場合、r2j−rojの変化であり、パリテ
ィ変化テーブルはrlJ(#3参照)である。したがっ
て、パリティ変化指示が発生し、パリティが“l”とな
る。またこの場合、記憶位置のデータが「0」となって
いることから、塗り潰しを行うか否かの判断が行なわれ
る。そして、この場合、パリティが“l”であることか
ら、記憶位置に7にデータ「l」の書込が行なわれる。 以下、記憶位置に8.に9゜KIO内のデータが順次読
み出され、各データが「0」であるので、「1」に書き
変えられる(すなわち、塗り潰しが行なわれる)。次に
、記憶位置に11 、Kl 2.K l 3の各データ
が読み出され、再び輪郭線が検知され、パリティ変化テ
ーブルに基づく処理が行なわれる。そして、記憶位置K
13のデータ処理においてパリティ変化指示が再び発生
し、パリティが“0”になる。この結果、以後の記憶位
置K13.Kl4・・・の塗り潰しは行なわれない。 なお、輪郭線はlピクセルで構成されることは少なく、
上述した第7図に示すように複数のピクセルによって構
成される場合が多い。 ところで、上述したパリティ変化テーブルに基づく処理
のみでは、適切に塗り潰しを行えない場合がある。そこ
で、この実施例においては、次の例外規定を設けている
。 (例外1 )V erE dger 3 Jを含む輪郭
線の場合はパリティ変化指示を行わない。 (例外2 )HorE dger 4 Jを含む輪郭線
の場合はパリティ変化指示を行う。 (例外3 )V erE dge「3 j、HorE 
dger 4 Jを含まず、属性データ「6」を含む輪
郭線の場合はパリティ変化指示を行わない。 (例外4 )V erE dger 3 jを偶数個含
み、かっ、属性データ「6]を含む輪郭線の場合はパリ
ティ変化指示を行わない。 (例外5 )V erEdger3 Jを奇数個含み、
かつ、属性データ「6」を含む輪郭線の場合はパリティ
変化指示を行う。 (例外6 )HorE dger4 Jを奇数個含み、
かつ、属性データ「6」を含む輪郭線の場合は、属性デ
ータ「6」が偶数個の時パリティ変化指示を行い、奇数
個の時パリティ変化指示を行わない。 しかして、前述した第6図に示すパリティ変化テーブル
および上記の例外規定に基づいてパリティを変化させ、
得られたパリティに基づいて塗り潰しを行えば、どのよ
うな形の輪郭線内部も誤りなく塗り潰すことができる。 次に、実際のパリティ検出処理の一例を説明する。ペー
ジメモリlOの各行について、まず、左端から例えば8
データずつ順次属性データ読み出し、「0」→「1〜7
」の変化点および「1〜7・」→[0]の変化点を検出
して輪郭線を検出する。次に、輪郭線内に含まれる各属
性データについて、rlJ→「0」 rlJ→rlJ 「1」→「5」 r2J−rOJ の各変化の回数を検出しく第1の検出という)、また、
データr3 j、r4 J、r6 Jの有無および「有
」の場合はその数が奇数であるか偶数であるかを検出す
る(第2の検出という)。次に、上記の第2の検出結果
から、(例外l)〜(例外6)に該当するか否かをチエ
ツクし、この結果および第1の検出の結果からパリティ
を決定する。なお、上記第1.第2の検出およびパリテ
ィの決定は簡単なハードウェアによって行うことができ
ることは言うまでもない。 次に、特殊な場合の塗り潰し例について説明する。 ■第8図に示す走査線Scが輪郭線の垂直頂点Pdを通
過する場合 この場合、属性データは、同図に示すように頂点Pdに
対応する記↑α位置において「3jとなる。 したがって、(例外l)が適用され、この頂点Pdの左
右においてパリティの変化はない。この結果、頂点Pd
の左側において塗り潰しか行なわれていれば、右側でも
塗り潰しが行なわれ、頂点Pdの左側において塗り潰し
が行なわれていなければ、右側でも塗り潰しが行なわれ
ない。 ■水平線が重なった場合 第9図(イ)に示すように、文字フtントメモリ4内の
文字フォントの輪郭線ベクトル■2と■5が、非常に接
近している場合において、文字フォントの縮小が行なわ
れると、ベクトルV2.V5が重なってしまう。この場
合、ページメモリ10の属性データの書き込みは次のよ
うにして行なわれる。すなわち、まず、ベクトルVlが
ピクセルに変換され、各ピクセルに対応する記憶位置に
第9図(ロ)に示す属性データr2 、、lJ2 J・
・・・・が順次書き込まれ、次にベクトル■2に対応し
て属性データr2 j、r2 j・・・・・・が順次書
き込まれ、次にヘクトルV3に対応して属性データr3
 J、r l JJ I J・・・・・が書き込まれる
。次に、ベクトル■4に対応して属性データII J、
rl jJI Jが書き込まれ、次いで属性データ「2
」か記憶位置Kaに書き込まれようとするが、この時、
記憶位置Kaには既に属性データ「2」が書き込まれて
おり、したがって、第4図の属性データテーブルに従い
、記憶位置Kaに属性データ「6」が書き込まれる。以
下、同様にしてベクトルV 5 、V Bに対応する属
性データの書き込みが行なわれる。 次に、塗り潰し処理時においては、特に図に示す走査線
Scの走査時に、輪郭線としてr2.6.6 。 6.3.2.3 Jなる属性データが検出される。この
場合、(例外4)の規定が適用され、したがって、上記
輪郭線においてパリティの変化はない。なお、従来のパ
リティチエツク法によれば、上記の輪郭線でパリティが
変化し、したがって、第16図において説明したように
、同輪郭線の左側が塗り潰しであれば、右側の塗り潰し
は行なわれない。すなわち、誤った塗り潰しとなってし
まう。 ■縦線が複数重なった場合 第1θ図(イ)に示すように、縮小前の輪郭線がくし形
をしていた場合において、縮小が行なわれない場合は、
走査線Scに対応するページメモリ10の記憶位置に、
図に示す6本の縦線に対応して、同図に示すように6個
の属性データ「1]が書き込まれる。これに対し、第1
0図(ロ)に示すように、縮小が行なわれて6本の縦線
が1本に重なってしまった場合は、走査線Setと該縦
線との交点に対応する記憶位置Kbに次の属性データが
書き込まれる。まず、最初の縦線がピクセルに変換され
、各ピクセルの属性データがページメモリlOに書き込
まれる時、記憶位置Kbに属性データ「1」が書き込ま
れる。次に、第2番目の縦線がピクセルに変換されて書
き込まれる時、属性データ「l」が書き込まれようとす
るが、この時、記憶位置Kbに既に属性データrlJが
書き込まれているので、第4図の属性データテーブルに
従い、記憶位置Kbに属性データ「5」が書き込まれる
。次に、第3番目の縦線がピクセルに変換されて書き込
まれる時も属性データIllが書き込まれようとするが
、この時、記t@位置Kbに既に属性データ「5」が書
き込まれているので、第4図の属性データテーブルに従
い、記憶位置Kbに属性データ「1」が書き込まれる。 以下、同様の処理が繰り返され、最終的に記憶位置Kb
に属性データ「5」が書き込まれる。 次に、塗り潰し時においては、走査線Sclの走査時に
記憶位置Kbおよびその前後において、・ro j 4
5 J−IQ j・・・なる属性データが順次検出され
る。しかし、「0」→「5」の変化、「5」→「0」の
変化はいずれも第6図のパリティ変化テーブルを参照す
ると、パリティ変化指示が行なわれない。 したがって、第1θ図(ロ)のパターンの場合、記憶位
置Kbの左側、右側とも塗り潰しが行なわれろ。ナオ、
縮小前のパターンの縦線が第10 図(ハ)に示すよう
に奇数の場合は、記憶位置Kbに最終的に属性データ[
l]が書き込まれる。この場合、塗り潰し処理において
、rOj−rljの変化検出時にはパリティ変化指示が
行なわれないが、rlj−「0」の変化検出時にはパリ
ティ変化指示が行なわれ、したがって、記憶位置Kbの
左側が塗り潰しの場合、右側は塗り潰しが行なわれない
。 以上がこの発明の一実施例の詳細である。この実施例に
よれば、DDA処理時において、同時にピクセルの属性
データを求め、ページメモリ10に書き込む。この属性
データ書込処理において、ベクトルの傾き判別(IXI
 IYI)はもともとDDA処理において行なわれる。 したがって、属性データ書き込みのために特に必要とな
る処理は、方向判別および第4図の論理演算処理である
。しかし、方向判別はベクトルの始点および終点におい
てのみ行なわれる処理であり、しかも、単なる減算処理
にすぎず、極めて短時間で処理することができる。また
、第4図の論理演算処理もハードウェアで行えば、極め
て短時間で行えることは言うまでもない。したがって、
属性データ書込処理は、従来のDDA処理のための時間
とほとんど変わることがない。一方、塗り潰し時のパリ
ティ検出も、ハードウェアで行えば極めて短時間で行う
ことができる。 すかわら、この実施例によれば、極めて高速で塗り潰し
を行うことができ、文字フォントの塗り潰しを行った場
合は、例えば2000文字/秒の速度で塗り潰しを行う
ことら可能となる。 「発明の効果」 以上説明したように、この発明によれば、従来の方法で
は正確に塗り潰すことができなかったパターンをし含め
て総てのパターンを極めて高速に、かつ、正確に塗り潰
すことができる。この結果、特に、印字システムにおけ
る文字フォントの塗り潰しに用いて好適である。
【図面の簡単な説明】
it図はこの発明の一実施例による印字システムの構成
を示すブロック図、第2図は文字フォントの一例を示す
図、第3図は文字フォントを構成するベクトルおよび該
ベクトルに対応するピクセル列を示す図、第4図は属性
データ書込時に使用される属性データテーブルを示す図
、第5図は2つのベクトルの接続点におけるピクセルの
属性データを説明するための図、第6図は塗り潰し処理
において使用されるパリティ変化テーブルを示す図、第
7図〜第1O図は各々塗り潰し処理の具体例を説明する
ための図、第11図〜第17図は各々従来の塗り潰し法
およびその問題点を説明するための図である。 l・・・・・・CPU、  2・・・・・・ROM、 
 3・・・・・・RAM、  4・・・・・・文字フォ
ントメモリ、9・・・・・・塗り潰しプロセッサ、10
・・・・・・ページメモリ。

Claims (1)

    【特許請求の範囲】
  1. 線を表すベクトルデータをピクセルデータに変換して画
    像メモリに書き込み、該ピクセルデータによって囲まれ
    る前記画像メモリの内部をピクセルデータによって塗り
    潰す閉曲線内の塗り潰し方法において、前記ベクトルデ
    ータをピクセルデータに変換して画像メモリに書き込む
    際に、ベクトルが持つ属性に対応する属性データをピク
    セルデータと共に前記画像メモリに書き込み、また、既
    に上記属性データが書き込まれている位置に重畳して書
    込を行う場合は、既に書き込まれている属性データと新
    たに書き込むべきピクセルの属性とによって決まる属性
    データを書き込み、次に、前記画像メモリを走査して該
    画像メモリ内の前記属性データを検出し、この検出した
    属性データの値に基づいて塗り潰し位置を決定すること
    を特徴とする閉曲線内の塗り潰し方法。
JP63278299A 1988-11-02 1988-11-02 閉曲線内の塗り潰し方法 Expired - Fee Related JPH0749222B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63278299A JPH0749222B2 (ja) 1988-11-02 1988-11-02 閉曲線内の塗り潰し方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63278299A JPH0749222B2 (ja) 1988-11-02 1988-11-02 閉曲線内の塗り潰し方法

Publications (2)

Publication Number Publication Date
JPH02122956A true JPH02122956A (ja) 1990-05-10
JPH0749222B2 JPH0749222B2 (ja) 1995-05-31

Family

ID=17595416

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63278299A Expired - Fee Related JPH0749222B2 (ja) 1988-11-02 1988-11-02 閉曲線内の塗り潰し方法

Country Status (1)

Country Link
JP (1) JPH0749222B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62272295A (ja) * 1986-05-20 1987-11-26 富士通株式会社 線幅制御機能を持つ文字パタ−ンの拡大・縮小方式
JPS63223984A (ja) * 1987-03-13 1988-09-19 Alps Electric Co Ltd 重なり図形の塗り潰し方式
JPH01228074A (ja) * 1988-03-08 1989-09-12 Matsushita Electric Ind Co Ltd 画像塗り潰し方法および装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62272295A (ja) * 1986-05-20 1987-11-26 富士通株式会社 線幅制御機能を持つ文字パタ−ンの拡大・縮小方式
JPS63223984A (ja) * 1987-03-13 1988-09-19 Alps Electric Co Ltd 重なり図形の塗り潰し方式
JPH01228074A (ja) * 1988-03-08 1989-09-12 Matsushita Electric Ind Co Ltd 画像塗り潰し方法および装置

Also Published As

Publication number Publication date
JPH0749222B2 (ja) 1995-05-31

Similar Documents

Publication Publication Date Title
KR970008546B1 (ko) 문자 또는 도형의 처리방법
JP3791259B2 (ja) アウトラインスムージング処理方法
JP3037854B2 (ja) 文字生成方法及びその装置
JPH06328785A (ja) 文字生成方法及びその装置
JP3264619B2 (ja) 画像処理装置および方法
JP2770582B2 (ja) 図形塗潰し装置
JPH02122956A (ja) 閉曲線内の塗り潰し方法
JP3034140B2 (ja) 文字生成方法及びその装置
JPS6346429B2 (ja)
JP2637921B2 (ja) 文字記号発生装置
JPS63208898A (ja) 文字処理装置
JPH06175639A (ja) 文字生成方法及びその装置
JP2675363B2 (ja) 文字処理装置
JP2630843B2 (ja) 直線描画方法及び装置
JP2861201B2 (ja) データ変換装置
KR940001106B1 (ko) 선폭보정방법 및 그 장치
JP2835056B2 (ja) 高品質文字パターン発生方式
JPH0237391A (ja) 画像補間方式
JPH01210355A (ja) 文字パターン発生方式
JP2896097B2 (ja) エレメント別に文字を構成したアウトラインフォントの塗りつぶし方法および装置
JP2605609B2 (ja) ドット表示処理装置
JPS6014286A (ja) 図形処理装置
JPH03125279A (ja) ベクトルデータ/イメージデータ変換装置
JPS59124371A (ja) 文字パタ−ン拡大方式
JPH08241308A (ja) 画像処理方法及びその装置

Legal Events

Date Code Title Description
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees