JPH0887602A - アウトラインフォント描画装置 - Google Patents

アウトラインフォント描画装置

Info

Publication number
JPH0887602A
JPH0887602A JP6247354A JP24735494A JPH0887602A JP H0887602 A JPH0887602 A JP H0887602A JP 6247354 A JP6247354 A JP 6247354A JP 24735494 A JP24735494 A JP 24735494A JP H0887602 A JPH0887602 A JP H0887602A
Authority
JP
Japan
Prior art keywords
horizontal
vertical
edge data
run
data
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
JP6247354A
Other languages
English (en)
Inventor
Yasushi Kobayashi
靖 小林
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP6247354A priority Critical patent/JPH0887602A/ja
Publication of JPH0887602A publication Critical patent/JPH0887602A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

(57)【要約】 【目的】 ドロップアウトのない高品質のビットマップ
フォントを作成する。 【構成】 エッジデータ生成部1は、水平方向における
エッジデータを作成すると同時に、垂直方向におけるエ
ッジデータも作成する。これらのエッジデータは、エッ
ジデータ格納部2に格納される。次に、スキャン変換部
3は、水平方向のスキャン変換を行なうとともに、垂直
方向のスキャン変換も行なう。そして、ラン書込み部4
は、水平、垂直の両方向のランを記憶領域に書込む。こ
の際、水平方向のランにドロップアウトが生じる場合
は、垂直方向のランによりドロップアウトが打ち消され
る。一方、垂直方向のランにドロップアウトが生じる場
合は、水平方向のランによりドロップアウトが打ち消さ
れる。この結果、水平、垂直の両方向のランによりドロ
ップアウトが相殺される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ベクトルにより記述さ
れたアウトラインの内部を塗りつぶしたビットマップフ
ォントデータを作成するアウトラインフォント描画装置
に関するものである。
【0002】
【従来の技術】従来、アウトラインフォントに含まれる
各アウトライン文字を塗りつぶしてビットマップフォン
トを作成する方法としては、以下のようなものがあっ
た。ベクトルデータから水平方向のスキャン変換に対応
するエッジデータを作成する。この時、エッジデータの
量子化を行ない、記憶領域に格納する。そして、エッジ
データが対応している方向へのスキャン変換を行なうこ
とにより、塗りつぶすべき画素の連続部分であるランを
出力し、出力されたランを記憶領域に書込む(例えば、
Super ASCII Vol.2 #8 August 1991 「DTPの基礎技術
(5)」 138〜139 頁参照)。
【0003】
【発明が解決しようとする課題】しかしながら、上述し
た従来の技術には、次のような課題があった。即ち、上
述した従来の塗りつぶし方法では、小ドットのビットマ
ップフォントデータの作成時において、水平方向のみの
スキャン変換しか行なわないため、例えば、図2に示す
ような輪郭内部を塗りつぶす場合に、本来連続していな
ければならない部分が、ビットマップイメージを作成す
る際に、図7に示すように不連続になることがある。こ
の現象をドロップアウトと称する。このようなドロップ
アウトにより、高品質なビットマップフォントデータの
作成が困難となっていた。
【0004】
【課題を解決するための手段】本発明のアウトラインフ
ォント描画装置は、上述した課題を解決するため、以下
の点を特徴とするものである。 アウトラインを形成するベクトルデータを入力し、当
該アウトラインと水平方向及び垂直方向の所定間隔のス
キャンラインとの交点の座標である水平方向エッジデー
タ及び垂直方向エッジデータをそれぞれ生成するエッジ
データ生成部を備える。 当該エッジデータ生成部により生成された水平方向エ
ッジデータ及び垂直方向エッジデータをそれぞれ格納す
るエッジデータ格納部を備える。 水平方向及び垂直方向の各スキャンラインにおける前
記エッジデータ格納部に格納された水平方向エッジデー
タ及び垂直方向エッジデータから塗りつぶす対象となる
画素を判別し、水平方向及び垂直方向の連続した画素で
あるランを出力するスキャン変換部を備える。 当該スキャン変換部が出力する水平方向及び垂直方向
のランの双方を重ねてビットマップ上に書込むことによ
り塗りつぶしを行なったフォントデータを作成するラン
書込み部を備える。
【0005】
【作用】エッジデータ生成部は、水平方向におけるエッ
ジデータを作成すると同時に、垂直方向におけるエッジ
データも作成する。これらのエッジデータは、エッジデ
ータ格納部に格納される。次に、スキャン変換部は、水
平方向のスキャン変換を行なうとともに、垂直方向のス
キャン変換も行なう。そして、ラン書込み部は、水平、
垂直の両方向のランを記憶領域に書込む。この際、水平
方向のランにドロップアウトが生じる場合は、垂直方向
のランによりドロップアウトが打ち消される。一方、垂
直方向のランにドロップアウトが生じる場合は、水平方
向のランによりドロップアウトが打ち消される。この結
果、水平、垂直の両方向のランによりドロップアウトが
相殺され、ドロップアウトのない高品質のビットマップ
フォントデータを得ることができる。
【0006】
【実施例】以下、本発明の実施例を図面を参照して詳細
に説明する。図1は、本発明のアウトラインフォント描
画装置の一実施例のブロック図である。図示の装置は、
エッジデータ生成部1、エッジデータ格納部2、スキャ
ン変換部3、ラン書込み部4等から成る。エッジデータ
生成部1には、入力部21、輪郭データ生成部22がこ
の順に接続されている。入力部21は、メモリ又は外部
記憶装置から文字コードを読出して輪郭データ生成部2
2に入力する部分である。
【0007】輪郭データ生成部22は、入力部21から
入力される表示すべき文字の情報をもとに、適宜アウト
ラインフォントデータ11にアクセスし、文字輪郭の拡
大、縮小、また、曲線区間の直線近似などの処理を行な
い、文字輪郭を形成するベクトルデータを出力する。エ
ッジデータ生成部1は、始点と終点の座標で表わされた
ベクトルデータを入力とし、水平方向におけるエッジデ
ータを作成すると同時に、垂直方向におけるエッジデー
タを作成する。エッジデータ格納部2は、第1の記憶領
域31と、第2の記憶領域32とから成る。第1の記憶
領域31には、水平方向におけるエッジデータが格納さ
れ、第2の記憶領域32には、垂直方向におけるエッジ
データが作成される。
【0008】スキャン変換部3は、第1の記憶領域31
に格納された水平方向におけるエッジデータと、第2の
記憶領域32に格納された垂直方向におけるエッジデー
タを用いて、水平方向のランと、垂直方向のランを出力
する。ここに、ランとは、連続する黒画素をいう。ラン
書込み部4は、水平方向ラン書込み部45、垂直方向ラ
ン書込み部46から成る。水平方向ラン書込み部45
は、スキャン変換部3から出力された水平方向のランを
入力とし、実際に水平方向のランを第3の記憶領域33
に書込む。垂直方向ラン書込み部46は、スキャン変換
部3から出力された垂直方向のランを入力とし、実際に
垂直方向のランを第3の記憶領域33に書込む。この結
果、最終出力となる表示すべき文字のビットマップフォ
ントデータ14が、第3の記憶領域33に作成される。
【0009】次に、上述した装置の動作を説明する。輪
郭データ生成部22から出力されるベクトルデータを入
力とし、エッジデータを作成するエッジデータ生成部1
の操作の詳細を図2、図3、図4を参照して説明する。
エッジデータ生成部1は、図2で示すv1からv4まで
のベクトルを順次入力し、エッジデータを作成する。具
体例を以下に述べる。エッジデータ生成部1は、図2の
ベクトルv1と水平方向のハーフピクセルラインとの交
点を順次検出する。図2以下において、ハーフピクセル
ラインを点線で示す。そして、交点の座標を第1の記憶
領域31に実数値で格納する。これとともに、検出した
各交点に対応するハーフピクセルラインの情報も同様に
第1の記憶領域31に格納する。図2のベクトルv1か
ら検出される水平方向のハーフピクセルラインとの交点
は、図3に示すa、bである。
【0010】次に、図2のベクトルv1と垂直方向のハ
ーフピクセルラインとの交点を順次検出し、第2の記憶
領域32に実数値で格納する。これとともに、検出した
各交点に対応するハーフピクセルラインの情報も同様に
第2の記憶領域32に格納する。図2のベクトルv1か
ら検出される垂直方向のハーフピクセルラインとの交点
は図4に示すA、B、C、D、E、Fである。上述の方
法で、図2に示すv2からv4までのベクトルについて
も、図3及び図4に示すように、水平、垂直の両方向に
おける各ハーフピクセルラインとの交点を検出する。そ
して、水平方向における交点群を、第1の記憶領域31
に格納し、垂直方向における交点群を、第2の記憶領域
32に格納する。以下、第1の記憶領域31に格納され
ている水平方向のハーフピクセルラインとの交点群を、
水平方向エッジデータと称し、第2の記憶領域32に格
納されている垂直方向のハーフピクセルラインとの交点
群を、垂直方向エッジデータと称する。
【0011】水平方向エッジデータを格納している第1
の記憶領域31の内容を図3(b)に示す。図3(b)
に示す表の横軸が各ハーフピクセルラインの位置に対応
している。また、垂直方向エッジデータを格納している
第2の記憶領域32の内容を図4(b)に示す。図4
(b)に示す表の縦軸が各ハーフピクセルラインの位置
に対応している。前述した各部により、第1の記憶領域
31に格納されている水平方向エッジデータと、第2の
記憶領域32に格納されている垂直方向エッジデータを
用いて、スキャン変換を行ない、各方向のランをダイナ
ミックに出力するスキャン変換部3の詳細を図5、図6
を参照して説明する。スキャン変換部3は、まず、第1
の記憶領域31に格納されている水平方向エッジデータ
を用いて、順次、各スキャンラインに対応する一組の交
点データを取り出し、水平方向のランを出力する。この
具体例を以下に述べる。
【0012】スキャン変換部3は、図5(b)に示す第
1のスキャンラインにおける交点データe、fから塗り
つぶす対象となる画素を判別し、図5(a)に示すラン
(1)を出力する。次に、第2のスキャンラインのスキ
ャン変換を行ない、ラン(2)を出力し、第3のスキャ
ンラインのスキャン変換を行ない、ラン(3)を出力
し、水平方向エッジデータにおけるスキャン変換をすべ
て行なう。水平方向のスキャン変換が終了次第、次に、
第2の記憶領域32に格納されている垂直方向エッジデ
ータを用いて、水平方向のスキャン変換と同様に、垂直
方向のスキャン変換を行なう。
【0013】即ち、スキャン変換部3は、図6(b)に
示す第1のスキャンラインにおける交点データA、Lか
ら塗りつぶす対象となる画素を判別し、図6(a)に示
すラン(1)を出力する。以降のスキャンラインに対し
ても同様にラン(2)、(3)等を出力する。ただし、
図6(b)に示す第2のスキャンラインのスキャン変換
のように、塗りつぶす対象となる画素が判別されなかっ
た場合、一貫した規則によって、交点データを挟み込む
画素のうち一方の画素をランとして出力する。実施例で
は、その一貫した規則として、水平方向のスキャン変換
においては、右側の画素を、垂直方向のスキャン変換に
おいては、上側の画素をランとして出力する。
【0014】そして、スキャン変換部3からダイナミッ
クに出力される水平方向のランを入力とし、水平方向ラ
ン書込み部45が第3の記憶領域33にビットマップフ
ォントデータ14を作成する。このようにして作成され
たビットマップフォントデータを図7に示す。次に、ス
キャン変換部3からダイナミックに出力される垂直方向
のランを入力とし、垂直方向ラン書込み部46が第3の
記憶領域33にビットマップフォントデータ14を作成
する。この結果を図示すると、図8のようになる。ただ
し、実際は新たにビットマップフォントデータ14を作
成するのではなく、水平方向ラン書込み部45によって
既に作成されている図7のビットマップフォントデータ
14に対して、オアの論理演算を行ない、上書きを行な
う。上書きされたビットマップフォントデータも、図8
に示すようになる。
【0015】このように、水平方向のスキャン変換だけ
では、図7に示すようにドロップアウトが生じてしまう
が、水平方向のスキャン変換と同時に垂直方向のスキャ
ン変換を行なうことにより、ドロップアウトのないビッ
トマップフォントデータ14を得ることが可能となる。
逆に、垂直方向のスキャン変換のみの場合にドロップア
ウトが生じる場合もある。以下に、この場合の例を説明
する。輪郭データ生成部22から出力される他のベクト
ルデータを入力とし、エッジデータを作成するエッジデ
ータ生成部1の動作の詳細を図9、図10、図11を参
照して説明する。エッジデータ生成部1は、図9で示す
v1からv4までのベクトルを順次入力し、エッジデー
タを作成する。この具体例を以下に述べる。
【0016】エッジデータ生成部1は、図9のベクトル
v1と水平方向のハーフピクセルラインとの交点を順次
検出する。そして、交点の座標を第1の記憶領域31に
実数値で格納すると同時に、検出した各交点に対応する
ハーフピクセルラインの情報も格納する。図9のベクト
ルv1から検出される水平方向のハーフピクセルライン
との交点は、図10に示すa、b、c、dである。次
に、図9のベクトルv1と垂直方向のハーフピクセルラ
インとの交点を順次検出し、第2の記憶領域32に実数
値で格納すると同時に、検出した各交点に対応するハー
フピクセルラインの情報も格納する。図9のベクトルv
1から検出される垂直方向のハーフピクセルラインとの
交点は図11に示すA、Bである。
【0017】上述の方法で、図9に示すv2からv4ま
でのベクトルについても、水平、垂直の両方向における
各ハーフピクセルラインとの交点を検出し、水平方向に
おける交点群を、第1の記憶領域31に格納し、垂直方
向における交点群を、第2の記憶領域32に格納する。
水平方向エッジデータを格納している第1の記憶領域3
1の内容を図10(b)に示す。図10(b)に示す表
の横軸が各ハーフピクセルラインの位置に対応してい
る。また、垂直方向エッジデータを格納している第2の
記憶領域32の内容を図11(b)に示す。図11
(b)に示す表の縦軸が各ハーフピクセルラインの位置
に対応している。
【0018】前述した各部により、第1の記憶領域31
に格納されている水平方向エッジデータと、第2の記憶
領域32に格納されている垂直方向エッジデータを用い
て、スキャン変換を行ない、各方向のランをダイナミッ
クに出力するスキャン変換部3の詳細を図12、図13
を参照して説明する。スキャン変換部3は、まず、第1
の記憶領域31に格納されている水平方向エッジデータ
を用いて、順次、各スキャンラインに対応する一組の交
点データを取り出し、水平方向のランを出力する。この
具体例を以下に述べる。スキャン変換部3は、図12
(b)に示す第1のスキャンラインにおける交点データ
a、hから塗りつぶす対象となる画素を判別し、図12
(a)に示すラン(1)を出力する。次に、第2のスキ
ャンラインのスキャン変換を行ない、ラン(2)を出力
し、第3のスキャンラインのスキャン変換を行ない、ラ
ン(3)を出力する。そして、同様に、第4のスキャン
ラインのスキャン変換を行ない、ラン(4)を出力し、
水平方向エッジデータにおけるスキャン変換をすべて行
なう。
【0019】そして、水平方向のスキャン変換が終了次
第、次に、第2の記憶領域32に格納されている垂直方
向エッジデータを用いて、水平方向のスキャン変換と同
様に、垂直方向のスキャン変換を行なう。即ち、スキャ
ン変換部3は、図13(a)に示す第1のスキャンライ
ンにおける交点データB、Cから塗りつぶす対象となる
画素を判別し、図13(b)に示すラン(1)を出力す
る。以降のスキャンラインに対しても同様にランを出力
する。そして、スキャン変換部3からダイナミックに出
力される水平方向のランを入力とし、水平方向ラン書込
み部45が第3の記憶領域33にビットマップフォント
データ14を作成する。このようにして作成されたビッ
トマップフォントデータを図14に示す。
【0020】次に、垂直方向のランを入力とし、垂直方
向ラン書込み部46が第3の記憶領域33にビットマッ
プフォントデータ14を作成する。この結果を図15に
示す。ところが、実際は新たにビットマップフォントデ
ータ14を作成するのではなく、水平方向ラン書込み部
45によって既に作成されている図14のビットマップ
フォントデータに対して、オアの論理演算を行ない、上
書きを行なう。従って、上書きされたビットマップフォ
ントデータは図15に示すようにドロップアウトが生じ
たものではなく、図14と同様にドロップアウトの生じ
ないものとなる。
【0021】以上の図2〜図15に示す例は、いずれも
最も簡単な例であるが、実際の文字では複雑な形状のア
ウトラインとなる。ところが、どのような複雑な形状の
アウトラインでもドロップアウトが生じる場合は、その
ドロップアウトが生じている一部分に注目すればアウト
ラインの形状は上述した2つの例のいずれかと同様の形
状になっている。従って、垂直方向及び水平方向の双方
のスキャン変換の結果の論理和を求めることにより、ド
ロップアウトを完全に防止することができる。尚、本発
明は上述した実施例に限定されるものではなく、種々の
変形が可能であることはもちろんである。例えば、上述
した実施例では、文字のアウトラインを塗りつぶす場合
について説明したが、ページ記述言語等により出力され
る様々な図形のアウトラインを塗りつぶす場合にも本発
明を適用することができる。
【0022】
【発明の効果】以上説明したように、本発明のアウトラ
インフォント描画装置によれば、水平方向及び垂直方向
のスキャン変換を同時に行なってビットマップフォント
データを作成するようにしたので、ドロップアウトが全
く生じない高品質のビットマップフォントデータを提供
することができる。
【図面の簡単な説明】
【図1】本発明のアウトラインフォント描画装置の一実
施例のブロック図である。
【図2】アウトラインデータの一例の説明図である。
【図3】水平方向の交点座標の一例の説明図である。
【図4】垂直方向の交点座標の一例の説明図である。
【図5】水平方向のランの一例の説明図である。
【図6】垂直方向のランの一例の説明図である。
【図7】水平方向のビットマップの一例の説明図であ
る。
【図8】垂直方向のビットマップの一例の説明図であ
る。
【図9】アウトラインデータの他の例の説明図である。
【図10】水平方向の交点座標の他の例の説明図であ
る。
【図11】垂直方向の交点座標の他の例の説明図であ
る。
【図12】水平方向のランの他の例の説明図である。
【図13】垂直方向のランの他の例の説明図である。
【図14】水平方向のビットマップの他の例の説明図で
ある。
【図15】垂直方向のビットマップの他の例の説明図で
ある。
【符号の説明】
1 エッジデータ生成部 2 エッジデータ格納部 3 スキャン変換部 4 ラン書込み部

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 アウトラインを形成するベクトルデータ
    を入力し、当該アウトラインと水平方向及び垂直方向の
    所定間隔のスキャンラインとの交点の座標である水平方
    向エッジデータ及び垂直方向エッジデータをそれぞれ生
    成するエッジデータ生成部と、 当該エッジデータ生成部により生成された水平方向エッ
    ジデータ及び垂直方向エッジデータをそれぞれ格納する
    エッジデータ格納部と、 水平方向及び垂直方向の各スキャンラインにおける前記
    エッジデータ格納部に格納された水平方向エッジデータ
    及び垂直方向エッジデータから塗りつぶす対象となる画
    素を判別し、水平方向及び垂直方向の連続した画素であ
    るランを出力するスキャン変換部と、 当該スキャン変換部が出力する水平方向及び垂直方向の
    ランの双方を重ねてビットマップ上に書込むことにより
    塗りつぶしを行なったフォントデータを作成するラン書
    込み部とから成ることを特徴とするアウトラインフォン
    ト描画装置。
JP6247354A 1994-09-14 1994-09-14 アウトラインフォント描画装置 Pending JPH0887602A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6247354A JPH0887602A (ja) 1994-09-14 1994-09-14 アウトラインフォント描画装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6247354A JPH0887602A (ja) 1994-09-14 1994-09-14 アウトラインフォント描画装置

Publications (1)

Publication Number Publication Date
JPH0887602A true JPH0887602A (ja) 1996-04-02

Family

ID=17162173

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6247354A Pending JPH0887602A (ja) 1994-09-14 1994-09-14 アウトラインフォント描画装置

Country Status (1)

Country Link
JP (1) JPH0887602A (ja)

Similar Documents

Publication Publication Date Title
US5016001A (en) Pattern data generating system
KR970008546B1 (ko) 문자 또는 도형의 처리방법
JP3009525B2 (ja) ベクトル画像描画装置
JPH0322186A (ja) 画像出力方法
JP3146771B2 (ja) フォントラスタライズ装置およびその方法
KR100227178B1 (ko) 문자 생성 장치
JPS62211692A (ja) 異なるサイズ文字の作成方式
JP3129717B2 (ja) 画像処理装置および画像処理方法
JPH096311A (ja) アウトラインフォント描画装置
JPH02235185A (ja) 図形再生方法
JP2610825B2 (ja) 図形処理装置
JP3807571B2 (ja) 形状変換方法および該方法を実行させるプログラムを記録した記録媒体、ならびに形状変換装置
JPS6144317B2 (ja)
JP3573291B2 (ja) 文字データ作成方法及び文字データ作成装置
JP2861201B2 (ja) データ変換装置
JP2619931B2 (ja) 文字処理装置および文字処理方法
JP3160957B2 (ja) 文書作成装置
JP2833921B2 (ja) ベクトルフォント変形処理方式
JPS62175794A (ja) 文字発生装置
JPH06175637A (ja) 文字の生成方法
JP2758875B2 (ja) 登録文字表示システム
JP2896097B2 (ja) エレメント別に文字を構成したアウトラインフォントの塗りつぶし方法および装置
JPH0573693A (ja) 輪郭塗り潰し方式
JPS62212167A (ja) 流用文字作成方式
JPH01213690A (ja) 文字表示装置