JP3191409B2 - フォントデータ生成装置 - Google Patents

フォントデータ生成装置

Info

Publication number
JP3191409B2
JP3191409B2 JP14346592A JP14346592A JP3191409B2 JP 3191409 B2 JP3191409 B2 JP 3191409B2 JP 14346592 A JP14346592 A JP 14346592A JP 14346592 A JP14346592 A JP 14346592A JP 3191409 B2 JP3191409 B2 JP 3191409B2
Authority
JP
Japan
Prior art keywords
data
contour
pixel
representing
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.)
Expired - Fee Related
Application number
JP14346592A
Other languages
English (en)
Other versions
JPH05197366A (ja
Inventor
宏輔 倉繁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation 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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP14346592A priority Critical patent/JP3191409B2/ja
Publication of JPH05197366A publication Critical patent/JPH05197366A/ja
Application granted granted Critical
Publication of JP3191409B2 publication Critical patent/JP3191409B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はフォントデータ生成装置
に関し、詳しくは輪郭を表わすデータ、例えばアウトラ
インフォントデータから画面表示、印刷等に使用するビ
ットマップフォントデータを生成する為のフォントデー
タ生成装置に関する。
【0002】
【従来の技術】今日の表示装置、印字装置では、多サイ
ズの文字、記号、図形等に就いて表示、印刷可能である
ことが要求されている。(以下、文字、記号、図形等を
「文字」と総称する。)各サイズのフォントデータを全
てビットマップフォントデータで供給しようとすると、
そのデータ量は膨大になる。これを避ける為、輪郭を表
わすデータ、例えばアウトラインフォントデータが使用
される。このデータは輪郭線の各点を表わす座標データ
で構成される。これを書体毎に1つだけ用意しておく。
これを基に要求されたサイズの、ビットマップフォント
データが生成される(例えば、特開平1−164992
号公報、特開平1−77089号公報等参照)。ビット
マップフォントデータは、例えばアウトラインフォント
データで示される輪郭を所望の大きさに拡大、縮小し、
その内部を塗り潰すことにより生成される。この際、小
ドットサイズ(画素サイズ)の文字は細線部が1画素未
満の幅となり、字画、線のかすれ、消失が起ることがあ
る。これを防ぐ為、従来は(1)いわば縁取りに相当す
る画素即ち、全輪郭線を表わす画素のデータを前記内部
の塗潰しで生成したビットマップフォントデータに合成
する、(2)輪郭が1ドット以下の幅にならないように
ヒント情報で輪郭を変形し、これを基にビットマップフ
ォントデータを生成する、ということが行なわれてい
る。
【0003】
【発明が解決しようとする課題】しかしながら、従来の
上記(1)の手法では、通常のサイズ、即ちかすれや消
失が生じないようなサイズに於ても、輪郭線を表わす画
素データの分だけフォントが太る。また上記(2)の手
法では、輪郭情報を変形するための処理が複雑で、処理
速度が低下する。ヒント情報の分だけデータサイズも大
きくなる。本発明の目的は上記課題を解決し、小ドット
サイズの文字でも線のかすれや消失が起こらず、しかも
通常のサイズでもフォントの太りやデータサイズの増加
が生じないフォントデータ生成装置を提供することにあ
る。
【0004】
【課題を解決するための手段】上記目的達成の為、本願
第1発明(請求項1の発明)では、輪郭線を表わすデー
タから、輪郭線で囲まれた領域の塗潰しを表わす画素の
データを生成する塗潰しデータ生成手段と、前記輪郭線
を表わすデータから、輪郭線を一巡するようになぞった
とき、その向きが、左または右の何れか一方、及び上ま
たは下の何れか一方となる部分の輪郭線を表わす画素の
データを生成する選択輪郭データ生成手段と、前記塗潰
しを表わす画素のデータと前記部分の輪郭線を表わす画
素のデータとを合成するデータ合成手段を備える。本願
第2発明(請求項2の発明)では、輪郭線を表わすデー
タから、輪郭線で囲まれた領域の塗潰しを表わす画素の
データを生成する塗潰しデータ生成手段と、前記輪郭線
を表わすデータから、複数の輪郭線を表わす画素のデー
タを生成する重複輪郭データ生成手段と、前記塗潰しを
表わす画素のデータと前記複数の輪郭線を表わす画素の
データとを合成するデータ合成手段をを備える。本願第
3発明(請求項3の発明)では、輪郭線を表わすデータ
から、輪郭線で囲まれた領域の塗潰しをする為のエッジ
データ及び塗り潰しの方向に直交する方向についての複
数の輪郭線を表わす第1の画素のデータを生成するエッ
ジデータ・特定方向重複データ生成手段と、前記輪郭線
を表わすデータから、輪郭線を一巡するようになぞった
とき、その向きが、塗り潰しの向き又はその反対の向き
の何れか一方となる部分の輪郭線を表わす第2の画素の
データを生成する特定方向選択輪郭データ生成手段と、
前記エッジデータから塗潰しを表わす画素のデータを生
成する塗潰しデータ生成手段と、前記第1の画素のデー
タと、前記第2の画素のデータと、前記塗潰しを表わす
画素のデータとを合成するデータ合成手段をを備える。
【0005】なお、ここに「上下方向」「走査方向」に
はY軸に対し45度の角度をなす方向までが含まれる。
「左右方向」「走査方向に直交する方向」にはX軸に対
し45度の角度をなす方向までが含まれる。また、輪郭
線で囲まれた領域の塗潰しを表わす画素のデータを、以
下「塗潰しデータ」という。同じく一巡するようになぞ
ったとき、その向きが、左または右の何れか一方、若し
くは上、下の何れか一方となる部分の輪郭線を「選択輪
郭線」という。この輪郭線部分を表わす画素のデータを
「選択輪郭データ」という。同じく輪郭線を一巡するよ
うになぞったとき、その向きが、前記塗り潰しの向き又
はその反対の向きの何れか一方となる部分の輪郭線を
「特定方向選択輪郭線」という。この輪郭線部分を表わ
す第1の画素のデータを「特定方向選択輪郭データ」と
いう。同じく複数の輪郭線を表わしている画素のデータ
を「重複輪郭データ」という。同じく塗り潰しの方向に
直交する方向について複数の輪郭線を表わす第2の画素
のデータを「特定方向重複輪郭データ」という。
【0006】
【作用】第1発明の塗潰しデータ生成手段は、輪郭を表
わすデータ、例えばアウトラインフォントデータから、
例えばブレゼンハム(Bresenham)のアルゴリズムによ
り、全部の輪郭線を表わす画素データを求める。これを
基に、例えばエッジフラグアルゴリズムにより、その領
域の塗潰しデータを生成する。なお輪郭線全体を表わす
画素データを「全輪郭データ」という。第1発明の選択
輪郭データ生成手段は、輪郭を表わすデータから、選択
輪郭データ即ち、前記輪郭線を例えば左回りに一巡する
ようになぞったとき、なぞりの向きが、例えば左向き、
若しくは下向きとなる選択輪郭線部分に就いての画素デ
ータを生成する。第1発明のデータ合成手段は、前記選
択輪郭データと前記塗潰しデータとを合成する。前記選
択輪郭データにより、例えば輪郭の上側と左側のへりの
部分の画素の不足が補われる。これにより、小ドットサ
イズの文字でも、線のかすれや消失が起こらず、しかも
通常のサイズでも、フォントの太りやデータサイズの増
加という問題が生じないフォントデータ生成装置が実現
される。第2発明の塗潰しデータ生成手段も、第1発明
の塗り潰しデータ生成手段同様、その領域の塗潰しデー
タを生成する。第2発明の重複輪郭データ生成手段は、
輪郭を表わすデータから、重複輪郭データ、即ち複数の
輪郭線を表わしている画素のデータを生成する。第2発
明のデータ合成手段は、前記重複輪郭データを前記塗潰
しデータと合成する。前記重複輪郭データにより、狭い
切れ込みの部分の画素の不足が補われる。これにより第
1発明と同様のフォントデータ生成装置が実現される。
【0007】第3発明のエッジデータ・特定方向重複デ
ータ生成手段は、輪郭を表わすデータから、塗り潰しの
為のエッジデータと、特定方向重複輪郭データ、即ち前
記塗り潰しの方向に直交する方向についての複数の輪郭
線を表わす画素のデータを生成する。第3発明の特定方
向選択輪郭データ生成手段は、輪郭を表わすデータか
ら、特定方向選択輪郭データ、即ち輪郭線を一巡するよ
うになぞったとき、その向きが、前記塗り潰しの向き又
はその反対の向きの何れか一方となる部分の輪郭線を表
わす画素のデータを生成する。第3発明の塗潰しデータ
生成手段は、前記エッジデータを基に塗潰しを表わす画
素のデータを生成する。第3発明のデータ合成手段は、
前記特定方向重複輪郭データ、前記特定方向選択輪郭デ
ータ及び塗潰しデータを合成する。前記特定方向選択輪
郭データにより、例えば輪郭の左側のへりの部分の画素
の不足が補われる。また前記特定方向重複輪郭データに
より、例えば左右方向についての狭い切れ込みの部分の
画素の不足が補われる。これにより第1発明と同様のフ
ォントデータ生成装置が実現される。
【0008】
【実施例】以下本発明の詳細を図示実施例に基いて説明
する。第1発明実施例の機能構成を図1に示す。これら
機能はワークステーション等の上で実現される。図に於
て1は入力部で、ワークステーション等の主制御部(不
図示)から表示すべき文字の情報を受信する。該情報に
は、書体、文字サイズ、文字コードが含まれる。これら
は同じ書体、同じサイズの文字コードが一纏めにされた
形で供給される。2はハードディスク等からなる記憶媒
体で、標準的なドット構成、例えば24×24ドット構
成のビットマップフォントデータを保持している。これ
らは明朝体、ゴシック体等、書体毎に1ファイルにされ
ている。3もハードディスク等からなる記憶媒体で、ア
ウトラインフォントデータを保持している。アウトライ
ンフォントデータは、明朝体、ゴシック体等、書体毎に
1ファイルにされている。
【0009】4はフォントデータ選択部で、入力部1か
ら供給された情報に従い、対応する書体、サイズ、文字
コードのビットマップフォントデータを検索し、見つか
った場合はそれを書込制御部5に供給する。6は全輪郭
データ生成部で、フォントデータ選択部4に於てビット
マップフォントデータが見つからないとき、当該文字コ
ードの輪郭線を表わすデータたるアウトラインフォント
データから、例えば ブレゼンハム のアルゴリズムによ
り、その全輪郭データ41(図4)を生成する。7はエ
ッジデータ生成部で、全輪郭データ生成部6で生成され
た全輪郭データ41を基に、塗潰しの為のエッジとなる
画素のデータ42(図6)を生成する。なお以下この塗
潰しの為のエッジとなる画素のデータを「エッジデー
タ」という。8は塗潰しデータ生成部で、該エッジデー
タを基に塗潰しデータ43(図7)を生成する。エッジ
データ生成部7と塗潰しデータ生成部8で構成される5
1が、第1発明の塗潰しデータ生成手段にあたる。
【0010】9は選択輪郭データ生成部で、全輪郭デー
タ41から選択輪郭データ44(図8)を生成する。本
実施例では輪郭線21(図8ほか)を左回りになぞる
際、該なぞりの向きが左向きと下向きになる輪郭線部分
C1−C2,C3−C4,C6−C7を選択輪郭線とす
る。これを表わす画素のデータが選択輪郭データ44で
ある。選択輪郭データ生成部9は第一発明の選択輪郭デ
ータ生成手段にあたる。10は描画メモリで、全輪郭デ
ータ生成部6、エッジデータ生成部7、塗潰しデータ生
成部8、選択輪郭データ生成部9に於ける各データの生
成に使用される。書込制御部5は、塗潰しデータ生成部
8が生成した塗潰しデータ43及び選択輪郭データ生成
部9が生成した選択輪郭データ44を表示用メモリ11
に書込む。求めるビットマップフォントデータ61(図
8)が表示用メモリ11上に生成される。書込制御部5
と表示用メモリ11で構成される52が、第1発明のデ
ータ合成手段にあたる。なおこの書込制御部5と表示用
メモリ11で構成される52は、第2及び第3発明のデ
ータ合成手段にもあたる。12は表示処理部で、表示用
メモリ11に格納されたビットマップフォントデータを
読み出してCRTディスプレイ13に表示する。なお表
示用メモリ11には、不図示の他のブロックからも表示
データが供給される。
【0011】この構成に依って実行されるビットマップ
フォントデータの供給手順を図2に示す。ワークステー
ション等の主制御部から表示すべき文字に就いての情報
が入力部1に依って受信され、フォントデータ選択部
4、全輪郭データ生成部6に供給されると、フォントデ
ータ選択部4は当該書体に対応するビットマップフォン
トファイル(データ)を記憶媒体2から読み出す。また
全輪郭データ生成部6は当該書体に対応するアウトライ
ンフォントファイル(データ)を記憶媒体3から読み出
す(ステップS11)。なお以後「ステップ」の語は省
略する。
【0012】次に入力部1から供給されたサイズ情報に
対応し、全輪郭データ生成部6はビットマップフォント
データ生成用パラメータ(拡大縮小用パラメータ、座標
変換用マトリクスデータ等)を内部設定する(S1
2)。次にフォントデータ選択部4は入力部1から供給
された文字コードを1つ取り出す(S13)。そして文
字コードが終りか否かを確認する(S14)。最初の時
点ではこの答は「いいえ」である。フォントデータ選択
部4はそのときの文字コードに対応するビットマップフ
ォントデータの存在を検査する(S15)。
【0013】フォントデータ選択部4は、さきに記憶媒
体2から読み出したビットマップフォントデータを保持
している。このときの文字コードに対応するものがあれ
ば答は「はい」である。その場合はそのビットマップフ
ォントデータを読出す(S16)。無い場合は、全輪郭
データ生成部6、エッジデータ生成部7、塗潰しデータ
生成部8及び選択輪郭データ生成部9により、ビットマ
ップフォントデータを生成する(S17。詳細後
述。)。書込制御部5は、フォントデータ選択部4から
供給されたビットマップフォントデータ、或いは塗潰し
データ生成部8及び選択輪郭データ生成部9から供給さ
れた塗潰しデータ43及び選択輪郭データ44を、表示
用メモリ11に供給する(S18)。表示処理部12は
これをCRTディスプレイ13に表示する。なお書き込
み制御部5は第2発明実施例及び第3発明において機能
する場合は、選択輪郭データ44に代え、重複輪郭デー
タ45、特定方向選択輪郭データ46或いは特定方向重
複輪郭データ47を表示用メモリ11に供給する(S1
8)。
【0014】S17の処理の詳細を図3に示す。アウト
ラインフォントデータの例を表1に示す。
【0015】
【表1】
【0016】このアウトラインフォントデータによる図
形を図4に示す。実線の輪郭線21で表現された多角形
C1〜C7がこのデータに依る図形である。輪郭線21
は言わば理想的な輪郭線である。全輪郭データ生成部6
はこれを表わす全輪郭データ41を生成する(S1)。
図上破線で囲まれた一つの正方形の領域が一画素を表わ
す。ハッチングされた画素の集合が全輪郭データ41で
ある。各画素の座標はその左上角の座標(x,y)で表
わす。一例として画素P(0,1)をクロスハッチング
で示す。本実施例では、この全輪郭データ41の生成の
手法として「ブレゼンハムのアルゴリズム」を用いる。
詳細は後述する(このアルゴリズムに就いては、例え
ば、IBMシステムジャーナル(IBM Sysytem Journal),
第4巻(Vol.4),(1965),(米),ブレゼンハム ジェー イ
ー(Bresenham,J.E.),"デジタルプロッタをコンピュータ
制御する為のアルゴリズム(Algorithm for Computer Co
ntrol of a DigitalPlotter)",p.25-30 参照。)。この
為の手順として、他には、例えば 「ディジタルディフ
ァレンスアナライザー(Digital Difference Analyze
r)」等が有る。(ディジタルディファレンスアナライ
ザーに就いては、例えば、デビッド エフ ロジャース
(David F.Rogers),"コンピュータグラフィックスの為の
手続的基礎(Procedural elements for computer graphi
cs)"(1985) マグロウヒルブック社(Mcgraw-Hill Book C
o.)(米) 参照。)
【0017】次にエッジデータ生成部7により全輪郭デ
ータ41からエッジデータ42を生成する(S2)。塗
潰しデータ生成部8はこのエッジデータ42に基いて塗
潰しデータ43を生成する(S3)。これらの詳細も後
述する。本実施例では「エッジフラグアルゴリズム(Edg
e Flag Algorithm)」を用いる。(このアルゴリズムに
就いては、例えば、米国電機電子学会(IEEE) トランス
コンピュート(Trans.Comput.),C-30巻(Vol.C-30),(198
1)(米),アックランド,ブライアン,アンド ウェスト,ナ
イル(Ackland,Bryan,and Weste,Neil),"エッジフラグア
ルゴリズム−ラスタスキャン形表示装置の為の塗り潰し
手法(The Edge Flag Algorithm-A Fill Method for Ras
ter Scan Displays)", p.41-48 参照。)この為の手順
として、他には、例えば「オーダードエッジリスト(Or
derd Edge List)」、「フェンスフィルアルゴリズム(F
ence Fill Algorithm)」等が有る。(オーダードエッジ
リストに就いては、例えば、デビッド エフ ロジャー
ス(David F.Rogers),"コンピュータグラフィックスの為
の手続的基礎(Procedural elements for computer grap
hics)"(1985) マグロウヒルブック社(Mcgraw-Hill Book
Co.)(米)参照。フェンスフィルアルゴリズムに就いて
は、例えば、トランス オン グラフィックス(Trans.o
n Graphics),第2巻(Vol.2),(1983)(米) ダンラベイ,マ
イケルアール(Dunlavey,Michael R.),"ラスタ形表示装
置の為の実効的多角形塗り潰し手法(Efficient Poligon
-Filling Algorithms for Raster Displays)",p.264-27
3 参照。) S4に於て選択輪郭データ生成部9により選択輪郭デー
タ44を生成する。詳細は後述する。S5に於て書込制
御部5により塗潰しデータ43と選択輪郭データ44を
表示用メモリ11に書込む。これで求めるビットマップ
フォントデータ61が生成される。
【0018】図5を参照してエッジデータ42を生成す
る手順を説明する。ここでY軸に平行なx=n+0.5
の直線を想定する。図では破線で示す。nは整数であ
る。この直線を「ハーフスキャン」と称す。輪郭線21
がこのハーフスキャン23と交差する点の座標を(n+
0.5,y)とするとき、この点に対応して(n,ro
und(y))の画素がエッジデータ42を構成する画
素としてセットされる。ここで「round(y)」
は、yを尤も近い整数に丸める関数である。このように
して生成されたエッジデータ42を構成する画素を図6
に実線の丸で示す。なお破線の丸24は、画素一つが偶
数本の輪郭線21を表わすものとなっている為、エッジ
とされなかったものである。例えば、y=8で、5≦x
≦8の各画素は、輪郭線C3−C4を表わす画素である
と共に、C4−C5をも表わす画素である。
【0019】同じ画素が二つ以上の輪郭線21を表わす
こととなるとき、エッジフラグアルゴリズムの性質よ
り、奇数本の輪郭線21を表わしているもののみがエッ
ジデータ42の画素とされる。実際にはエッジデータ4
2の画素としてセットする際に、その画素が既にエッジ
データ42を構成する画素としてセットされているかど
うかを判定する。セットされていればこれをリセット
し、そうでなければこれをセットする。画素が1ビット
の論理値で構成されるものの場合(モノクロの場合)、
当該画素の値と1(真値)との排他的論理和をとり、そ
の結果を反転することで実現できる。塗潰しデータ生成
部8はこのエッジデータ42の画素を上から下に向って
垂直に走査し、塗潰しデータ43を生成する。生成され
た塗潰しデータ43を図7にハッチングで示す。エッジ
データ42の画素は丸で示す。塗潰しデータ43は、端
的には画素を上から下に順に見ていってエッジデータ4
2の画素にぶつかったらそこで画素の値を反転すること
によって求められる。具体的にはその画素(Y座標が
「y」)の値と、一つ前にスキャンした画素(Y座標が
「y+1」)の値の排他的論理和をとる。
【0020】選択輪郭データ44の生成(図3のS4で
実行)の手順を説明する。図8を引用して先に概略を述
べる。本実施例では、C1からC2,C3と順に輪郭線
21をなぞっていくとき、なぞりの向きが左向き、及び
下向きになるときの輪郭線21を、選択輪郭線とする。
具体的にはC1−C2,C3−C4,C6−C7の輪郭
線21である。全輪郭データ生成部6で生成された全輪
郭データ41の中からこの輪郭線21を表わす選択輪郭
データ44を選び出す。更に詳しく説明する。選択輪郭
データ44は次のルールで選ぶ。フローチャートを図9
に示す。 (1) 全輪郭データ41を構成する画素の数をmとす
る。全輪郭データ41を構成する画素はPnと表記す
る。1≦n≦mである。この画素の何れをP1としても
良い。最初の画素と最後の画素は同一とする。P1=Pm
である。本実施例ではm=44である(図4参照)。 (2) nがmより大きくなったら終る(S22)。 (3) 直前の画素をPn-1=(xn-1,yn-1)、現在の
候補画素をPn=(xn,y n)とする。 (4) xn<xn-1のとき、Pnを選択輪郭データ44
とする(S23、S25)。 (5) (xn=xn-1,yn<yn-1)のとき、Pnを選択
輪郭データ44とする(S24、S25)。 (6) (4)、(5)以外の場合、Pnは選択輪郭デ
ータ44としない(S24「いいえ」)。 (7) nを1増加し、(2)へ戻る(S26)。
【0021】上記(4)は当該候補画素が一つ前の候補
画素より左にあるときを意味する。(5)は当該候補画
素が一つ前の候補画素より下にあるときを意味する。こ
のとき当該画素が選択輪郭データ44の画素として選定
される。なおS23で当該候補画素Pnとその一つ前の
候補画素Pn-1のx座標の比較を行なう。この為、n=
2(候補画素P2)から始める(S21)。
【0022】このようにして生成された選択輪郭データ
44と塗潰しデータ43を合成する。図8の丸で示され
る選択輪郭データ44と、ハッチングで示される塗潰し
データ43を合成したもの(61)が求めるビットマッ
プフォントデータである。塗潰しデータ43より広がっ
ているのは3つの画素のみである。この3つの画素は、
塗潰しデータ43に於て元の輪郭が細いため消失してい
る部分、即ちC2、C3付近を補っている。比較の為、
全輪郭データ41と塗潰しデータ43とを合成したデー
タ63を図10に示す。輪郭線C2−C3、C5−C6
等で、全輪郭データ41の画素が塗潰しデータ43の外
にかなりはみ出している。輪郭線C3−C4−C5の切
れ込みも潰れている。本実施例によるものは、そのよう
な太り、潰れとも起きていない。輪郭線21の再現性も
良い。
【0023】更に同じアウトラインフォントデータを使
用して、従来の手法により生成したビットマップフォン
トデータと本実施例により生成したビットマップフォン
トデータを、図15に対比して示す。使用した文字はゴ
シック体の「阿」と「意」の2文字である。(A)は塗
潰しデータのみの従来のもので、字画の縦横とも消失し
てしまっている。(B)は全輪郭データを付加した従来
のもので、消失は無いものの字画の潰れが目立つ。本来
の字形に比し著しく濃度が高い。(C)は本実施例によ
るもので、字画の潰れ、濃度の増加が無い。字画の消失
も防止されており、低ドットサイズでありながら字画を
容易に認識することが出来る。
【0024】異なる実施形態に就いて説明する。本実施
例では左回りに(輪郭内部が左に位置するように)輪郭
線21をなぞった。なぞりの順序は逆でも良い。塗潰し
をするときのスキャン方向も逆にして良い。本実施例で
は輪郭線21を左回りになぞり、そのときのなぞりの向
きが左及び下になるときの輪郭線部分を選択輪郭線とし
た。選択輪郭線とするなぞりの向きは、左右に就いてそ
の何れか、上下に就いて何れかを取れば良い。例えば右
と下、左と上という組合せであっても良い。本実施例で
は全輪郭データ41の生成、エッジデータ42の生成、
選択輪郭データ44の生成、これらの合成を別々に行な
った。しかしこれらの処理に就いては、例えば輪郭線2
1に基いて取り出した画素1つ毎に、それがエッジデー
タ42の画素に当るか、選択輪郭データ44の画素にあ
たるかを判定していくというように、公知の他の手順を
用いて良い。。本実施例では選択輪郭データ44の生成
に描画メモリを使用した。選択輪郭データ44を座標値
で保持し、塗潰しデータ43の生成後にこれに重ね書き
しても良い。こうすると選択輪郭データ44生成用の領
域を用意する必要が無い。フォントの形状によっては処
理時間も短くなる。全輪郭データ41についても、ビッ
トマップデータ、座標データ何れの形で処理しても良
い。なお一度生成したビットマップフォントデータ61
は不図示メモリ上に保持し、ワークステーション等使用
の間は再利用すれば良い。
【0025】第2発明実施例を図11〜図14に示す。
図11に機能構成を示す。第1発明実施例と重複輪郭デ
ータ生成部31が異なるのみで、他は同じである。全体
の処理手順は第1発明実施例の全体の処理(図2)と同
じである。処理手順の要部、即ち図2のS17の処理内
容を図12に示す。S41に於て重複輪郭データ45
(図14)を生成し、S51に於てこれを塗潰しデータ
43に合成する点が、第1発明実施例と異なる。なおこ
の重複輪郭データ45は、第1発明実施例の図6に於
て、破線の丸で示した画素である。S41の詳細を図1
3に示す。輪郭線21のなぞり順序は左回り、右回り何
れでも良い。なぞり順を逆にしても同じ結果が得られ
る。
【0026】重複輪郭データ45は次のルールに従って
生成する。 (1) 先ずここで扱う多角形を包含する十分な大きさ
の二つのビットプレーン(描画領域)を描画メモリ10
上に用意する。各画素は零クリアしておく(S31)。
二つのビットプレーンを、プレーンQ、プレーンRと
し、各プレーンの座標(x,y)の画素(1または0)
を、Q(x,y)、R(x,y)と表記する。 (2) 全輪郭データ41の画素はm個あるものとし、
これらをPnと表記する(1≦n≦m)。最初と最後の
点は同一とする。P1=Pmである。どの画素をP 1とす
るかは任意である。最初にnを「1」に設定する(S3
2)。 (3) nがmと等しくなったら終る(S33)。 (4) Pnに対応するプレーンQ上の画素Q(xn,y
n)が既にセットされていたら、プレーンRの画素R
(xn,yn)を1にセットする(S36)。そうでなけ
ればプレーンQ上の画素Q(xn,yn)を1にセットす
る(S35)。 (5) nを1増加し、(3)へ戻る(S37)。
【0027】プレーンR上にセットされた画素が求める
重複輪郭データ45の画素、即ち複数の輪郭線を表わす
画素である。プレーンQは当該画素が輪郭線21を表わ
すものとして複数回指定されたか否かの確認の為に使用
される。プレーンQに残る画素のデータは、単純に全輪
郭データ41を複写したものになる。図12のS51で
この重複輪郭データ45と塗潰しデータ43が合成され
る。図14に、合成されたビットマップフォントデータ
62を示す。丸が重複輪郭データ45の画素、ハッチン
グされた部分が塗潰しデータ43の画素である。塗潰し
データ43より広がっているのは2つの画素のみで、塗
潰しデータ43に於て元の輪郭が細いため消失している
部分、即ちC3付近を、これらが補っている。従来の
「塗潰しデータ43と全輪郭データ41の合成データ6
3(図10)」に比べ、輪郭線C3−C4−C5の切れ
込みの潰れがない。輪郭線C2−C3、C5−C6等で
太りが無い。輪郭の再現性も良い。従来のものと同じ文
字についてこの第2発明実施例により生成したビットマ
ップフォントデータを図15(D)に示す。何れも字画
の潰れ、濃度の増加が無い。字画の消失も防止されてお
り、低ドットサイズでありながら字画を容易に認識する
ことが出来る。
【0028】異なる実施形態に就いて説明する。なぞり
の順序(左回り、右回り)、塗潰しのスキャン方向は逆
でも良い。1画素毎に、それがエッジデータ42の画素
に当るか、重複輪郭データ45の画素に当るかを判定し
ていくようにしても良い。重複輪郭データ45を座標デ
ータで保持し、塗潰しデータ43生成後、これに重ね書
きするようにしても良い。全輪郭データ41の生成に関
しても第1発明実施例と同様である。なお生成したビッ
トマップフォントデータの再利用に就いても第1発明実
施例と同様である。
【0029】第3発明実施例を図16以下に示す。第3
発明は、いわば第1発明と第2発明の折衷形である。な
ぞり方向が塗り潰し方向に直交する方向については、第
2発明と同じように、複数の輪郭線を表わしている画素
のデータ47(図19)を生成し、これを塗り潰しを表
わす画素のデータ43に追加する。なぞり方向が、塗り
潰しの向きあるいはその反対の向きとなる輪郭線に関し
ては、第1発明と同じように、その何れか一方の方向に
なぞっていく部分の輪郭線の部分、例えば図19のC1
→C2、C5→C6のうちC1→C2の部分について、
その輪郭線を表わすドットデータ46(図19)を生成
し、これを塗り潰しデータ43に追加する。第3発明も
ドット数の少ないフォントデータに関する印字品質の改
善効果が高い点、第1発明、第2発明と同じである。た
だ第1発明に比べ処理時間が短く、また第2発明に比べ
ビットマッププレーンが一つ少なくて済むという利点が
あるので、いわば両者の良さを合わせ持つという特徴が
ある。
【0030】即ち第1発明では、輪郭のなぞりの向きを
判定する。この判定は、実施例では図9のS23,S2
4で行なわれ、各輪郭点Pnの各座標データXn,Yn
値がその前の輪郭点Pn-1の各座標データXn-1,Yn-1
の値と比較されている。また第2発明では、複数の輪郭
線を表わす画素データ45を抽出する。この処理は図1
2のS41で行なわれ、全輪郭データ41の各画素につ
いてそれが既にプレーンQにセットされているか否かが
チェックされる。第1発明の「座標値の比較」という処
理は、第2発明の「画素のセット、非セットのチェッ
ク」の処理より時間を要す。一方、第1発明の実施に必
要なビットマッププレーンは2つである(図3、塗り潰
しデータ生成用と選択輪郭データ生成用)。第2発明で
はこれが3つである(図12、塗り潰しデータ用、プレ
ーンQ、プレーンR)。第3発明では、塗り潰しの方向
(実施例では上下方向)についてだけなぞりの向きをチ
ェックする。従って第1の発明より演算回数が少なくて
済む。またビットマッププレーンもQとR(図17)の
2つで足りる。第3発明は、この点で、第1発明、第2
発明より優れている。
【0031】図16に機能構成を示す。第1発明実施例
とはエッジデータ・特定方向重複データ生成部71と特
定選択輪郭データ生成部72が異なる。他は第1発明実
施例と同じで、全体の処理手順も、第1発明の全体の処
理手順(図2)と同じである。第3発明実施例の処理手
順の要部(図2のS17)を図17に示す。S61に於
て、エッジデータ42、特定方向重複データ47及び特
定方向選択輪郭データ46が生成される。この処理は全
輪郭データ生成部6とエッジデータ・特定方向重複デー
タ生成部71と特定方向選択輪郭データ72により実施
される。S62に於て、前記エッジデータ42に基づい
て塗潰しデータ43が作成され、これと特定方向重複デ
ータ47及び特定方向選択輪郭データ46とが合成され
る。この処理は第1発明実施例と同様に、塗り潰しデー
タ生成部8とデータ合成手段52により実施される。
【0032】図17の詳細手順を図18に示す。この手
順により、エッジデータ42と特定方向重複データ47
が同時に生成される。まずプレーンQとRが準備され、
零でクリアされる(S71)。フラグFが「1」に設定
される(S72)。次にアウトラインフォントデータに
基づいて、全輪郭データ41の画素P(x,y)が1つ生成
される(S73)。フラグFが「1」であるかが検査さ
れる(S74)。このフラグFはS73で取り出された
画素が最初のものであるか否かのチェックに使用され
る。ここでは「Y(はい)」であり、この最初の画素の
x,y各座標の値が、直前の画素の各座標データを表わ
すxprev,yprevに代入される(S75)。S77,S
80でこのxprev,yprevとx,yが比較されるので、
このS75で、最初の画素の座標の値値x,yが、x
prev,yprevの初期値として代入される。この後、フラ
グFが「0」にされる(S76)。本実施例では、塗り
潰し方向を図19の上下方向であるとし、輪郭のなぞり
の向きがこのうちの下向きであるときのみ、その部分の
輪郭を表わす画素データ(特定方向選択輪郭画素データ
46)をプレーンR(図17、図19)にセットする。
具体的には、xがxprevと等しく(S77「Y」)、
yがyprevより小さい(S80「Y」)とき、プレーン
R上の当該位置の値(画素)R(x,y)を「1」にする。
なおS80「N(いいえ)」のときは上方向になぞって
いるので画素のセットはしない(S80→S83)。
【0033】S77「N」のとき、なぞり方向は横なの
で、エッジデータ42と特定方向重複輪郭データ47の
生成が行なわれる(S78,S79,S82)。第1発
明実施例で説明したように、エッジフラグアルゴリズム
では、その画素がエッジとして前に指定されていなかっ
たかを必ずチェックする。エッジとされていた画素がま
たエッジとして指定されたら、その画素はエッジではな
いとしなければならないからである。このチェックは第
2発明の重複輪郭データ生成の際のチェックと同じであ
る。しかもこのエッジデータについてのチェックだけな
らビットマッププレーンは2つで足りる。ビット演算で
済むので処理速度も速い。ただエッジデータ42は、塗
り潰し方向に直交する方向(実施例では左右方向)につ
いてしか生成されない。そこでこのエッジデータ42の
並ぶ方向についてだけこの第2発明の構成を利用し、も
う一方、即ち塗り潰し方向については、ビットマッププ
レーンが同じく2つで足りる第1発明の手法を用いるこ
とにする。これが第3発明であり、こうすれば、所要ビ
ットマッププレーンの数は第2発明と同じく2つにな
り、またなぞりの向きを判断する処理が半分になるので
処理時間が第1発明より短くなり、第2発明に近付くと
いう、第3発明の特徴が生れる。
【0034】本実施例では、プレーンQがエッジデータ
42生成、塗り潰し用、プレーンRが特定方向重複輪郭
データ47及び特定方向選択輪郭データ生成用に使用さ
れる。具体的には、先ずエッジとされた画素のデータ
(S77「N」)について、プレーンQの当該位置の値
Q(x,y)が「1」か否か、即ち既にエッジとしてセット
されているか否かがチェックされる(S78)。「Y」
ならばエッジとしては今回2度目(正しくは偶数回目)
の指定である。エッジデータ42たるQ(x,y)を「0」
にし、特定方向重複輪郭データ47たるデータR(x,y)
を「1」にする(S82)。この処理が終わったら、こ
のときの輪郭画素P(x,y)が、当該フォントデータの最
後のものかをチェックし(S83)、「N」のときは、
そのときのx,yの値をxprev,yprevに代入し(S8
4)、S73に戻って次の全輪郭データ41の画素を生
成し、処理を繰返す。これにより、例えば図19のよう
に、特定方向選択輪郭データ46と特定方向重複輪郭デ
ータ47を合成したものがプレーンRに生成される。一
重丸の画素が特定方向選択輪郭データ46、二重丸の画
素が特定方向重複輪郭データ47である。プレーンQに
はエッジデータ42が生成される(図17、図6)。最
後の画素について処理が終わったら(S83「Y」)、
プレーンQのエッジデータについての塗り潰しと、プレ
ーンRの画素データ(46,47)のプレーンQへの重
ね書きを一緒に実施する(図17、S62(○に+の記
号は排他論理和を示す))。このようにすると、プレー
ンQとRの画素のスキャンが一回で済む。図15の
(A)(B)と同じ文字についてこの第3発明実施例に
より処理を行なうと図15(D)の第2発明実施例のも
のと同じになる。
【0035】異なる実施形態に就いて説明する。なぞり
の順序(左回り、右回り)、塗潰しのスキャン方向は逆
でも良い。特定方向選択輪郭データ46、特定方向重複
輪郭データ47を座標データで保持し、塗潰しデータ4
3生成後、これに重ね書きするようにしても良い。なお
生成したビットマップフォントデータの再利用に就いて
も同様である。
【0036】
【発明の効果】以上説明したように第1発明では、輪郭
線で囲まれた領域の塗潰しを表わす画素のデータを塗潰
しデータ生成手段により生成する。前記輪郭線を一巡す
るようになぞったとき、その向きが、左または右の何れ
か一方、若しくは上、下の何れか一方となる輪郭線部分
を表わす画素のデータを選択輪郭データ生成手段により
生成する。そして前記塗潰しを表わす画素のデータと前
記輪郭線部分を表わす画素のデータとをデータ合成手段
により合成する。第2発明では、複数の輪郭線を表わし
ている画素のデータを重複輪郭データ生成手段により生
成する。そして前記塗潰しを表わす画素のデータとこの
画素のデータとをデータ合成手段で合成する。第3発明
では、塗り潰しの為のエッジデータを生成すると共に、
前記塗り潰しの方向に直交する方向について複数の輪郭
線を表わす画素のデータをエッジデータ・特定方向重複
データ生成手段で生成する。輪郭線を一巡するようにな
ぞったとき、その向きが、前記塗り潰しの向き又はその
反対の向きの何れか一方となる部分の輪郭線を表わす画
素のデータを選択輪郭データ生成手段で生成する。塗潰
しを表わす画素のデータを塗潰しデータ生成手段で生成
する。そして前記複数の輪郭線を表わす画素のデータ
と、前記なぞりの向きが所定の方向になる部分の輪郭線
を表わす画素のデータと、前記塗潰しを表わす画素のデ
ータとをデータ合成手段で合成する。
【0037】従って、従来の塗潰しデータだけのビット
マップフォントデータのように、字画のかすれを生ずる
虞れが無い。塗潰しデータと全輪郭データを合成したも
ののように、字画の太り、字画の潰れ、濃度の増加も生
じない。ヒント情報を用いて輪郭線を変形する場合のよ
うに、処理速度の低下、ヒント情報の存在によるデータ
量の増加も無い。本発明は、特に低ドットサイズのビッ
トマップフォントデータに関し文字品質の改善効果が大
きい。字画の消失が無いため、低ドットサイズでありな
がら文字等の認識の容易なビットマップデータを得るこ
とが出来る。
【図面の簡単な説明】
【図1】第1発明実施例の機能構成を示すブロック図で
ある。
【図2】第1発明実施例の全体の処理手順を示すフロー
チャートである。
【図3】第1発明実施例の処理手順の要部を示すフロー
チャートである。
【図4】全輪郭データの一例を示す線図である。
【図5】輪郭線とエッジデータを構成する画素の関係の
一例を示す線図である。
【図6】エッジデータの一例を示す線図である。
【図7】塗潰しデータの一例を示す線図である。
【図8】第1発明実施例により生成されたビットマップ
フォントデータの一例を示す線図である。
【図9】選択輪郭データの生成手順の一例を示すフロー
チャートである。
【図10】塗潰しデータと全輪郭データを合成したデー
タの一例を示す線図である。
【図11】第2発明実施例の機能構成を示すブロック図
である。
【図12】第2発明実施例に於ける処理手順の要部を示
す線図である。
【図13】重複輪郭データの生成手順を示すフローチャ
ートである。
【図14】第2発明実施例により生成されたビットマッ
プフォントデータの一例を示す線図である。
【図15】第1発明実施例〜第3発明実施例によって生
成されたビットマップフォントデータの一例を従来のも
のと対比して示す線図である。
【図16】第3発明実施例の機能構成を示すブロック図
である。
【図17】第3発明実施例の処理手順の要部を示す線図
である。
【図18】第3発明実施例の処理手順の要部の詳細を示
すフローチャートである。
【図19】特定方向選択輪郭データ及び特定方向重複輪
郭データの一例を示す線図である。
【図20】第3発明実施例により生成されたビットマッ
プフォントデータの一例を示す線図である。
【符号の説明】
9 選択輪郭データ生成手段 21 輪郭線 31 重複輪郭データ生成手段 43 輪郭線で囲まれた領域の塗潰しを表わす画素のデ
ータ 44 一巡するようになぞったとき、その向きが、左ま
たは右の何れか一方、若しくは上、下の何れか一方とな
る輪郭線部分を表わす画素のデータ 45 複数の輪郭線を表わしている画素のデータ 46 塗り潰しの方向に直交する方向について複数の輪
郭線を表わす画素のデータ 47 輪郭線を一巡するようになぞったとき、その向き
が、前記塗り潰しの向き又はその反対の向きの何れか一
方となる部分の輪郭線を表わす画素のデータ 51 塗潰しデータ生成手段 52 データ合成手段 71 エッジデータ・特定方向重複輪郭データ生成手段 72 特定方向選択輪郭データ生成手段

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 輪郭線を表わすデータから、輪郭線で囲
    まれた領域の塗潰しを表わす画素のデータを生成する塗
    潰しデータ生成手段と、 前記輪郭線を表わすデータから、輪郭線を一巡するよう
    になぞったとき、その向きが、左または右の何れか一
    方、及び上または下の何れか一方となる部分の輪郭線を
    表わす画素のデータを生成する選択輪郭データ生成手段
    と、 前記塗潰しを表わす画素のデータと前記部分の輪郭線を
    表わす画素のデータとを合成するデータ合成手段を備え
    たことを特徴とするフォントデータ生成装置。
  2. 【請求項2】 輪郭線を表わすデータから、輪郭線で囲
    まれた領域の塗潰しを表わす画素のデータを生成する塗
    潰しデータ生成手段と、 前記輪郭線を表わすデータから、複数の輪郭線を表わす
    画素のデータを生成する重複輪郭データ生成手段と、 前記塗潰しを表わす画素のデータと前記複数の輪郭線を
    表わす画素のデータとを合成するデータ合成手段を備え
    たことを特徴とするフォントデータ生成装置。
  3. 【請求項3】 輪郭線を表わすデータから、輪郭線で囲
    まれた領域の塗潰しをする為のエッジデータ及び塗り潰
    しの方向に直交する方向についての複数の輪郭線を表わ
    す第1の画素のデータを生成するエッジデータ・特定方
    向重複データ生成手段と、 前記輪郭線を表わすデータから、輪郭線を一巡するよう
    になぞったとき、その向きが、塗り潰しの向き又はその
    反対の向きの何れか一方となる部分の輪郭線を表わす第
    2の画素のデータを生成する特定方向選択輪郭データ生
    成手段と、 前記エッジデータから塗潰しを表わす画素のデータを生
    成する塗潰しデータ生成手段と、 前記第1の画素のデータと、前記第2の画素のデータ
    と、前記塗潰しを表わす画素のデータとを合成するデー
    タ合成手段を備えたことを特徴とするフォントデータ生
    成装置。
JP14346592A 1991-05-10 1992-05-08 フォントデータ生成装置 Expired - Fee Related JP3191409B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14346592A JP3191409B2 (ja) 1991-05-10 1992-05-08 フォントデータ生成装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP13570091 1991-05-10
JP3-135700 1991-05-10
JP14346592A JP3191409B2 (ja) 1991-05-10 1992-05-08 フォントデータ生成装置

Publications (2)

Publication Number Publication Date
JPH05197366A JPH05197366A (ja) 1993-08-06
JP3191409B2 true JP3191409B2 (ja) 2001-07-23

Family

ID=26469483

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14346592A Expired - Fee Related JP3191409B2 (ja) 1991-05-10 1992-05-08 フォントデータ生成装置

Country Status (1)

Country Link
JP (1) JP3191409B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008200111A (ja) * 2007-02-16 2008-09-04 Fukuda Denshi Co Ltd 生体情報モニタ装置、警報表示方法および警報表示プログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000068697A (ko) * 1997-08-04 2000-11-25 이데이 노부유끼 화상 데이터 처리 장치와 방법, 및 전송 매체

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008200111A (ja) * 2007-02-16 2008-09-04 Fukuda Denshi Co Ltd 生体情報モニタ装置、警報表示方法および警報表示プログラム

Also Published As

Publication number Publication date
JPH05197366A (ja) 1993-08-06

Similar Documents

Publication Publication Date Title
US4555802A (en) Compaction and decompaction of non-coded information bearing signals
JPS61249175A (ja) 図形処理装置
US4529978A (en) Method and apparatus for generating graphic and textual images on a raster scan display
EP0592770B1 (en) Method for filling of interior pixels within a polygon
JPH0322188A (ja) 図形イメージをラスタ化して表現する方法
KR100376196B1 (ko) 아웃라인 스무딩 처리 방법, 장치 및 기억매체
JP2639517B2 (ja) 画像領域の色付け処理方法
US5553219A (en) Font outline and bit map generator synthesizing filling data with selected outline data or duplicate outline data
JP3191409B2 (ja) フォントデータ生成装置
CA1200025A (en) Graphic and textual image generator for a raster scan display
US20070188498A1 (en) Character generation processing method
JPH02270019A (ja) 高品質文字パターン発生方式
JP3408176B2 (ja) フォント処理装置、フォント処理方法及び記憶媒体
JPH06175638A (ja) 文字生成方法及びその装置
JP2000076432A (ja) 画像デ―タ補間装置、画像デ―タ補間方法および画像デ―タ補間プログラムを記録した媒体
JP3129717B2 (ja) 画像処理装置および画像処理方法
JPH06175639A (ja) 文字生成方法及びその装置
JP3294249B2 (ja) 画像処理装置
JP3089906B2 (ja) 描画装置
JP3560124B2 (ja) 画像データ補間装置、画像データ補間方法および画像データ補間プログラムを記録した媒体
US5305431A (en) Method and system for rendering polygons on a raster display
JPH0896149A (ja) 図形描画装置
JPS6160177A (ja) 太線分描画方法
JPH0793564A (ja) 情報抽出マスク生成方法
JPH11305750A (ja) パターン生成方法及び装置並びにパターン生成プログラムが記憶されたコンピュータに読み取り可能な記録媒体及びビットマップパターンデータが記憶されたコンピュータに読み取り可能な記録媒体

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees