JPH09222878A - フォント表現方法及びラスタライザ - Google Patents

フォント表現方法及びラスタライザ

Info

Publication number
JPH09222878A
JPH09222878A JP8028173A JP2817396A JPH09222878A JP H09222878 A JPH09222878 A JP H09222878A JP 8028173 A JP8028173 A JP 8028173A JP 2817396 A JP2817396 A JP 2817396A JP H09222878 A JPH09222878 A JP H09222878A
Authority
JP
Japan
Prior art keywords
contour line
contour
rasterizer
glyph
font
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
JP8028173A
Other languages
English (en)
Other versions
JP3556758B2 (ja
Inventor
Minoru Sakai
稔 境井
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP02817396A priority Critical patent/JP3556758B2/ja
Publication of JPH09222878A publication Critical patent/JPH09222878A/ja
Application granted granted Critical
Publication of JP3556758B2 publication Critical patent/JP3556758B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Controls And Circuits For Display Device (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

(57)【要約】 【課題】 アウトラインフォントにおいて、データ量を
大幅に増加させることなく、毛筆文字に見られるような
カスレを表現する。 【解決手段】 一筆に相当する形状(ストローク)を複
数の輪郭線101,102,...で表現する。輪郭線
の内部を塗りつぶした時に、輪郭線間の隙間によりカス
レが表現される。幅の大きな輪郭線と幅の小さな輪郭線
とを組合せて用いたり、内部がドット反転される普通の
輪郭線と、内部のドット反転を解除する特別の輪郭線と
を組合せて用いることもできる。輪郭線は単純なものに
することができるため、特に、部品をグリフ間で共有す
る階層型フォントとすれば、フォントデータ量の大幅増
加を避けられる。

Description

【発明の詳細な説明】
【0001】
【発明の属する分野】本発明は、アウトラインフォント
技術に係り、特に、毛筆体のような単純な輪郭線では表
現しにくいフォントの表現に関する。
【0002】
【従来の技術】コンピュータの表示機器であるディスプ
レイやプリンタは、微少なドット(ピクセルとも呼ばれ
る)の集合として絵を表現する。そのため、グリフ(文
字、その他の記号を総称してグリフと呼ぶ)の表示に際
しても、各グリフをドットの集合として表現し、それを
例えば一次記憶や二次記憶等に格納し、それらを適宜取
り出して使っていた(このようなドットの集合として表
現されたグリフセットをドットフォントと呼ぶ)。
【0003】このようなドットフォントも拡大、縮小が
可能である。整数倍の拡大のためには、グリフを構成す
るドットを所望の大きさに拡大し、拡大したドットを拡
大率に応じた位置に配置すればよい。つまり、グリフを
ドット単位で拡大することができる。逆に整数分の1と
いうような縮小は、グリフを構成するドットを行毎、列
毎に間引くことにより実現できる。しかし、拡大によっ
て、本来は斜め線や曲線を表現していた部分が階段状に
表現されたり、縮小によって、本来存在するはずの横線
等が消失したり、同一線幅であった線が線幅の違う線に
なる等々の問題がある。
【0004】このような問題を解決するために考案され
た技術が、例えば特開昭64−40986号公報(文字
フォントの表現方式)に述べられているアウトラインフ
ォントである。これは、一つのグリフを構成するドット
の集合の外縁を表す直線又は曲線(輪郭線、アウトライ
ン)を用いてグリフを定義する技術である。グリフを実
際に表示する際には、輪郭線の内部を塗りつぶす処理を
行うことによりグリフのドットイメージを生成する。
【0005】アウトラインフォントにおいては、データ
の記録形式も工夫されることが多い。例えば、輪郭線を
構成する直線や曲線をそのまま記憶しておく代わりに、
直線や曲線を構成するに足るだけの点の座標や、各点の
種別情報(属性情報)を記憶する。属性とは、例えば直
線の始点、直線の終点、曲線の始点、曲線上の制御点、
曲線の終点、各点の輪郭線上の位置等々である。グリフ
を表示する場合、グリフの座標情報及び属性情報に基づ
いて、”絵”としてのグリフの輪郭線をメモリ上に展開
する。そして、この輪郭線を所望のサイズに変倍し、次
に輪郭線の内部の塗りつぶし(ラスタライズ)を行って
グリフのドットイメージを完成し、これを従来と同様に
してディスプレイ又はプリンタに出力する。
【0006】このようなアウトラインフォントによれ
ば、ドットフォントを拡大した場合のような斜め線の階
段状の歪み等は生じない。しかし、アウトラインフォン
トにも、縮小の場合に若干の問題がある。輪郭線を単純
に縮小すると、ドットフォントの場合のように、線の幅
が乱れたり、線が消えたりすることがある。そこで、輪
郭線の変倍の際に、必要に応じ輪郭線を調整する処理、
いわゆるヒンティングが行われることが多い。これにつ
いては、例えば特開平6−83313号公報(輪郭線補
正方法)に詳しい。
【0007】アウトラインフォントの輪郭線の構成方法
に、フルアウトラインとストロークアウトラインがあ
り、それぞれ一長一短がある。フルアウトラインについ
ては特開平1−200968号公報(文字パターン発生
装置)等に詳しい。ストロークアウトラインは特開平2
−161574号公報(エレメント別に文字を構成した
アウトラインフォントの塗りつぶし方法及び装置)等に
詳しい。
【0008】フルアウトラインは、ドットで表現された
グリフを”絵”として解釈し、ドット群の外縁を輪郭線
として表現したものである。図28(a)に示す例から
分かるように、輪郭線に重なりが生じないため、輪郭線
内部の塗りつぶし処理を高速に行うことができる。しか
し、斜め線の交差等を表現しづらい。
【0009】ストロークアウトラインは、ドットで表現
されたグリフを”部品の集まり”として解釈し、それぞ
れの”部品”の外縁を輪郭線として表現したものであ
る。
【0010】”部品”としては偏や旁、一筆(ストロー
ク)、基本部品(例えば矩形、三角形、曲線)等が選ば
れることが多い。図28(b)にストロークを部品とし
た例を示す。このような部品の組合せでグリフを構成す
るため、斜め線の交差部分等の表現力が向上し、また、
滑らかな一筆を分割せず、そのまま一つの曲線として表
すことができる。しかし、部品の位置調整が煩雑であ
り、また、輪郭線が重なるために塗りつぶし処理が複雑
になりやすい。
【0011】部品の集合としてグリフを定義するストロ
ークアウトラインでは、各グリフに現れる部品のうち、
同一の形状のものを複数のグリフで共有すれば、フォン
トデータのファイルサイズの縮小を図ることができる。
また、形状が完全に同一でなくとも、代表的な形状をい
くつか用意しておき、これを若干の変形を加えて利用す
ることも可能である。これが「階層型フォント」の考え
方である。
【0012】アウトラインフォントは一般に次のような
手順で作成される。 (1) グリフを紙の上にデザインする。 (2) 紙上のグリフをドットの集合として電子的に読み
取る。 (3) 読み取ったドットイメージに対し、読み取り時の
ゴミ(孤立点等)を除去したり、読み取り時の抜けを補
う等の編集を施す。 (4) 編集後のドットイメージより輪郭線を抽出する。 (5) 抽出された輪郭線を編集する。例えば、滑らかな
曲線を直線化する、直線の若干の傾きを捨て垂直や水平
にまとめる、分割された曲線を統合する等々の処理をす
る。 (6) 編集後の輪郭線のデータを適当な形式で格納す
る。
【0013】さて、毛筆を用いて書かれた文字では、墨
の量や筆の硬さ等の関係から、カスレが生じる。つま
り、長い縦線や横線を書いた時に、墨が不足して途中に
白く抜けた部分が現れる。カスレの部分には、黒いビッ
トが点々と並んでおり、それらの輪郭線を抽出すること
自体が困難である。さらに、抽出できたとしても、輪郭
線は複雑に入り組んだものとなってしまい、それを表現
するためのデータ量は膨大なものになることが予想され
る。
【0014】そこで、アウトラインフォントの作成手順
において、カスレが補正されるのが普通であった。つま
り、墨の付かなかったカスレの部分にも、そこに墨が付
いているものとして、輪郭線を抽出した。その結果、適
正なデータ量で、筆文字の輪郭をとどめたアウトライン
フォントを作成できるようにはなった。そのような毛筆
体フォントの例を図29に示す。
【0015】しかし、近年のコンピュータ機器の高機能
化に伴い、フォントに対する要求も多岐にわたるように
なってきた。その一つが、「毛筆体でカスレを表現した
い」という要求である。
【0016】これまでにも、アウトラインフォントのラ
スタライズに際して、その内部を一様に塗りつぶすので
はなく、様々なパターンで埋める方式が提案されてい
る。これは特開平4−119393号公報(フォント修
飾方式)等に詳しい。しかし、カスレは運筆(筆の動
き)に沿って生じるものであり、あるパターンで単純に
輪郭線を埋めているのでは、自然なカスレを表現できな
い。
【0017】また、カスレを表現する方法として、例え
ば、ストローク上にカスレを表示する位置を示す複数の
カスレ線を描き、各カスレ線上にフラクタルを用いて多
数の点(白色)をプロットする手法も知られている(1
1th Fuzzy SystemSymposium(Okinawa,July 1
2〜14,1995),FE1−4 ”毛筆体における
フラクタルを用いたかすれ表現”)。しかし、このよう
な従来の方法は、輪郭線の内部を塗りつぶす処理を一度
行い、得られたドット表現のグリフの一部を再度反転す
ることにより、カスレを表現しようとするものであっ
て、グリフ情報そのものやラスタライズ手段においてカ
スレを表現するものではない。
【0018】
【発明が解決しようとする課題】本発明は、データ量の
増加がネックとなって実現が困難であった毛筆書体の輪
郭線による表現を再度見直すことにより、データ量を大
幅に増加させることなく、自然な輪郭形状やカスレを持
つフォントの表現を可能にする新たな方法及び装置を提
供しようとするものである。
【0019】
【課題を解決するための手段】請求項1乃至3の各項記
載の発明によれば、新規なフォント表現方法が提供され
る。
【0020】請求項1記載の発明の特徴は、アウトライ
ンフォントにおいて、グリフの各一筆に相当する形状を
複数の輪郭線で形成することにある。
【0021】請求項2記載の発明の特徴は、請求項1記
載の発明のフォント表現方法において、各一筆に相当す
る形状の構造線に、その周辺に配置される輪郭線より幅
の広い輪郭線を配置することである。
【0022】請求項3記載の発明の特徴は、請求項1記
載の発明のフォント表現方法において、各一筆に相当す
る形状を形成するための輪郭線として、内部のドットが
反転されるべき普通の輪郭線と、内部のドットの反転が
解除されるべき特別の輪郭線とを用いることにある。
【0023】請求項4乃至11の各項記載の発明によれ
ば、新規なアウトラインフォントのラスタライザが提供
される。
【0024】請求項4記載の発明は、請求項1又は2記
載の発明のフォント表現方法に従ったグリフのアウトラ
インフォントデータを入力するデータ入力手段、該デー
タ入力手段により入力されたアウトラインフォントデー
タに基づきグリフの輪郭線を展開する輪郭線展開手段、
該輪郭線展開手段により展開された輪郭線の内部のドッ
トの反転を行う塗りつぶし手段、該塗りつぶし手段のド
ット反転により得られたドットイメージを合成しグリフ
のドットイメージを得る手段、及び、該合成されたグリ
フのドットイメージを出力する手段を有することを特徴
とするものである。
【0025】請求項5記載の発明は、請求項3記載の発
明のフォント表現方法に従ったグリフのアウトラインフ
ォントデータを入力するデータ入力手段、該データ入力
手段により入力されたアウトラインフォントデータに基
づきグリフの輪郭線を展開する輪郭線展開手段、該輪郭
線展開手段により展開された普通の輪郭線の内部のドッ
トの反転を行う塗りつぶし手段、該塗りつぶし手段のド
ット反転により得られたドットイメージに対して、該輪
郭線展開手段により展開された特別の輪郭線の内部のド
ットの反転の解除を行う反転解除手段、該反転解除手段
によりドット反転解除後のドットイメージを合成しグリ
フのドットイメージを得る手段、及び、該合成されたグ
リフのドットイメージを出力する手段を有することを特
徴とするものである。
【0026】請求項6記載の発明の特徴は、請求項4記
載の発明のラスタライザにおいて、データ入力手段によ
り入力されるグリフのアウトラインフォントデータには
輪郭線の形状に関する情報が含まれ、塗りつぶし手段に
よる処理に先だって、輪郭線展開手段により展開された
輪郭線の形状を、該輪郭線の形状に関する情報に基づき
変化させる輪郭線変形手段をさらに有することにある。
【0027】請求項7記載の発明の特徴は、請求項5記
載の発明のラスタライザにおいて、データ入力手段によ
り入力されるグリフのアウトラインフォントデータには
輪郭線の形状に関する情報が含まれ、塗りつぶし手段及
び反転解除手段による処理に先だって、輪郭線展開手段
により展開された輪郭線の形状を、該輪郭線の形状に関
する情報に基づき変化させる輪郭線変形手段をさらに有
することにある。
【0028】請求項8記載の発明の特徴は、請求項6又
は7記載の発明のラスタライザにおいて、データ入力手
段により入力された輪郭線の形状に関する情報を確率的
に変動させる手段を有し、当該手段により変動させた輪
郭線の形状に関する情報が輪郭線変形手段に用いられる
ことにある。
【0029】請求項9記載の発明の特徴は、請求項4又
は6記載の発明のラスタライザにおいて、データ入力手
段により入力されるグリフのアウトラインフォントデー
タには輪郭線の位置に関する情報が含まれ、塗りつぶし
手段による処理に先だって、輪郭線展開手段により展開
された輪郭線の位置を、該輪郭線の位置に関する情報に
基づいて変更する輪郭線移動手段をさらに有することに
ある。
【0030】請求項10記載の発明の特徴は、請求項5
又は7記載の発明のラスタライザにおいて、データ入力
手段により入力されるグリフのアウトラインフォントデ
ータには輪郭線の位置に関する情報が含まれ、塗りつぶ
し手段及び反転解除手段による処理に先だって、輪郭線
展開手段により展開された輪郭線の位置を該輪郭線の位
置に関する情報に基づき変更する輪郭線移動手段をさら
に有することにある。
【0031】請求項11記載の発明の特徴は、請求項9
又は10記載の発明のラスタライザにおいて、データ入
力手段により入力された輪郭線の位置に関する情報を確
率的に変動させる手段を有し、当該手段により変動させ
た輪郭線の位置に関する情報が輪郭線移動手段に用いら
れることにある。
【0032】
【発明の実施の形態】
*フォント表現方法* 本発明によるフォント表現方法の基本的な発想は、毛筆
そのもののシミュレートである。以下、図面を用い、よ
り具体的に説明する。
【0033】[フォント表現方法1]アウトラインフォ
ントのグリフ表現において、一筆に相当する形状が複数
の輪郭線によって形成される。一筆を構成する輪郭線の
形状、数、配置によって、毛筆の多数の毛先の軌跡によ
る毛筆文字のストローク端等に見られる複雑微妙な輪郭
形状に近い形状の表現が容易になるとともに、輪郭線の
配置及び/又は形状を調整し必要な部分において輪郭線
間に隙間を生じさせることにより、カスレを表現するこ
とができる。このような輪郭線に沿ってカスレを生じさ
せる方法によれば、毛筆の多数の毛先の動きに沿って発
生する毛筆文字のカスレに近い自然なカスレを実現でき
る。しかも、一筆を構成する個々の輪郭線は単純なもの
にすることができるため、フォントデータ量の大幅な増
加を抑えることができる。このフォント表現方法の具体
的な実施形態を次に述べる。
【0034】<フォント表現方法1−1>複数の輪郭線
によるストロークの表現例を図1及び図2に示す。図1
はカスレを含む横ストロークの例であり、4個の輪郭線
101,102,103,104によって表現される。
グリフを表示する時には、各輪郭線の内部が塗りつぶさ
れる(ドットが反転される)。カスレが必要でない部分
(左右端、下縁等)では輪郭線を密に配置して隙間すな
わちカスレを生じにくくし、カスレが必要な部分(上縁
等)では輪郭線を疎に配置し隙間を生じやすくしてい
る。図2はカスレを含む左払いストロークの例であり、
7個の輪郭線111,112,...,117によって
表現される。カスレが必要でない部分(打ち込み部等)
は輪郭線が密に配置され、カスレが必要な部分(払いの
先端等)は輪郭線が疎に配置されることによりカスレを
生じやすくしている。
【0035】<フォント表現方法1−2>輪郭線の間の
隙間は、大きなサイズで表示する時には、そこが反転さ
れずに白抜きになる可能性が高いが、小さなサイズで表
示する時には隙間自体が狭くなるため白抜けになる可能
性は低くなる。そこで、カスレを生じさせたい部分の輪
郭線には、小さいサイズで表示した時でも確実に白抜け
となるような幅の隙間を配置し、カスレを生じさせたく
ない部分の輪郭線には、大きいサイズで表示した時にも
白抜けとならないよう隙間を配置しない。このような輪
郭線配置を行った横ストロークの例を図3に、左払いの
例を図4に示す。
【0036】<フォント表現方法1−3>複数の輪郭線
によるストロークの表現の別の例を図5及び図6に示
す。図5はカスレのある横ストロークの例、図6はカス
レのある左払いストロークの例である。本例は、複数の
輪郭線によってストロークが表現される点は図1及び図
2に示した例と同様であるが、本例では構造線(筆の中
心が辿るはずの線でカスレが生じにくい)には幅広い輪
郭線が、その周辺には狭い輪郭線が配置されている。一
筆の中でも、例えば横ストロークにおける下縁等は筆の
動く際に力が最も伝わりやすくカスレが生じにくいの
で、幅の広い輪郭線を配置する。このようにすることに
より、望むカスレの発生を可能にしつつ必要な輪郭線の
総数を減らし、ひいてはフォントデータ量の削減を図る
ことができる。例えば、図3の横ストロークは3個の輪
郭線121,122,123により表現され、図4の左
払いは4個の輪郭線131,132,133,134に
より表現され、図1及び図2に示した例より必要な輪郭
線の数が減っている。
【0037】[フォント表現方法2]本発明のもう一つ
のフォント表現方法について説明する。本方法は前述の
フォント表現方法1と同様に一筆に相当する形状を複数
の輪郭線によって形成するが、輪郭線として、一筆に相
当する形状の外縁を構成する(その内部のドットが反転
される)普通の輪郭線と、普通の輪郭線に包含されるか
重複部分を持つ(その内部のドットの反転を解除するた
めの)特別の輪郭線を組み合わせて用いる。すなわち、
特別の輪郭線によって、その内部に積極的に白抜けの
「穴」を開け、この穴によりカスレを実現する。普通の
輪郭線は、1個の場合と複数の場合とがある。普通の輪
郭線の個数は、表現したい形状の複雑さを考慮して決め
ればよい。普通の輪郭線を複数個用いる場合、それらの
隙間によるカスレと、特別の輪郭線によるカスレとを組
み合わせることも可能である。本方法による表現例を図
7及び図8に示す。図7は横ストロークの例であり、1
個の普通の輪郭線141と、3個の特別の輪郭線14
2,143,144により表現されている。図8は左払
いの例であり、1個の普通の輪郭線151と、3個の特
別の輪郭線152,153,154による表現されてい
る。
【0038】*フォントデータ構造 前記フォント表現方法1又は2のためのデータ構造の例
を図9乃至図13により説明する。ここに示す例は「階
層型フォント」であり、各文字(より一般的にはグリ
フ)は複数の部品(ストローク等)から構成される。
【0039】図9は文字コードに対応する文字データを
得るためのテーブルの概念図である。ある文字コードC
kが指定されると、このテーブルより、その文字データ
の格納位置情報Ikを得ることができる。
【0040】図10は文字データの概念図である。文字
コードCkの格納位置情報Ikにより、図10に示すよ
うな文字データの格納場所を知ることができる。文字は
複数の部品から構成される。ここに示す例では、文字は
m個の部品からなり、各部品のデータは、部品の識別子
と、文字中での部品の配置位置とからなる。
【0041】図11と図12は部品を構成する輪郭線の
情報からなる部品データである。図10に示す文字デー
タの部品識別子Skにより、図11又は図12に示すよ
うな部品データの格納場所を知ることができる。
【0042】図11は前記フォント表現方法1の場合の
例であり、部品はn個の輪郭線(普通の輪郭線)によっ
て構成される。
【0043】図12は前記フォント表現方法2の場合の
例であり、部品はn1個の普通の輪郭線(内部のドット
が反転される輪郭線)と、n2個の特別の輪郭線(ドッ
ト反転を解除するための輪郭線)とからなる。この例で
は普通の輪郭線の情報と、特別の輪郭線の情報を順に並
べた構成となっているが、輪郭線の種類を区別せずに輪
郭線情報を並べ、各輪郭線の情報に輪郭線の種類(反転
/反転解除)を示すフラグを持たせてもよい。
【0044】なお、ラスタライザにおいて輪郭線の形状
に関する情報を取り込み、輪郭線の形状を制御する例を
後に述べるが、そのような輪郭線の形状に関する情報を
フォントデータに持たせることができる。このような輪
郭線の形状に関する情報を図10の文字データに付加し
た例を図13に示すが、詳細は後述する。
【0045】*ラスタライザ* 前述のフォント表現方法1又は2に従ったアウトライン
フォントデータを用いて、文字(より一般的にはグリ
フ)のドットイメージを生成するための、本発明のラス
タライザの例について説明する。
【0046】[ラスタライザの例1]ここに示すラスタ
ライザは前記フォント表現方法1による例であり、その
機能ブロック図を図14に、処理の流れをPAD図とし
て図15にそれぞれ示す。
【0047】図14において、アウトラインフォントデ
ータファイル208は、例えば、図9に示した構造のテ
ーブル、図10に示した構造の文字データ、及び、図1
1に示した構造の部品データの集合を格納しているファ
イルである。データ入力部201は、外部より文字コー
ドを受け取り、その文字コードに対応する文字(グリ
フ)のためのデータをアウトラインフォントデータファ
イル208より取り込む部分である。輪郭線展開部20
2はデータ入力部201より文字の部品の位置情報や部
品を構成する輪郭線の情報を受け取り、メモリ204上
の適切な位置に輪郭線を展開する部分である。塗りつぶ
し部203は、メモリ204上に展開された輪郭線の内
部のドットを黒に反転し輪郭線内部を塗りつぶす部分で
ある。イメージ合成部205はメモリ204上のイメー
ジをメモリ206上のイメージと合成し(重ね合わ
せ)、合成イメージをメモリ206上に得るものであ
る。最終的に文字のドットイメージがメモリ206に得
られる。イメージ出力部207はメモリ206上の文字
のドットイメージを外部へ出力する部分である。なお、
メモリ204とメモリ206は必ずしも独立した物理メ
モリである必要はなく、同一の物理メモリ上の特定の領
域が割り当てられてもよい。このことは後述の他の例に
おいても同様である。
【0048】このラスタライザにおける処理内容を図1
5に関連付けて説明する。図15において、まず処理ブ
ロック210で文字のためのデータを入力する。具体的
には、データ入力部201において、外部より入力され
た文字コード(Ck)を用いて、アウトラインフォント
データファイル208内の図9に示したテーブルから、
その文字の格納位置情報(Ik)を求める。この格納位
置情報を用いて、対応した図10に示すような文字デー
タを取り込む。取り込んだ文字データ中の部品位置情報
(S1,...)を用いて、文字の各部品に対する図1
1に示すような部品データ(輪郭線情報)を取り込む。
【0049】次に文字の各部品(ストローク)につい
て、そのドットイメージを生成する処理ブロック211
を実行する。この処理ブロック211は、各部品の各輪
郭線についてドットイメージを生成する処理ブロック2
12の繰り返しからなる。処理ブロック212は、一つ
の輪郭線をメモリ204上に展開する処理213、展開
された輪郭線の内部の塗りつぶし(ドット反転)の処理
214、メモリ204上のドットイメージをメモリ20
6上のドットイメージに重ね合わせる処理215からな
る。処理213は輪郭線展開部202の処理、処理21
4は塗りつぶし部203の処理、処理215はイメージ
合成部205の処理である。
【0050】例えば、図1に示した横ストロークの場
合、処理ブロック212においては、輪郭線101の展
開と塗りつぶし、次に輪郭線102の展開と塗りつぶ
し、輪郭線101を塗りつぶしたドットイメージとの合
成、以下同様に輪郭線104まで処理することにより、
当該横ストロークのドットイメージが完成する。
【0051】なお、階層型フォントでは、同じ部品が複
数の文字に共有される関係から、図11に示すような輪
郭線情報中の点の座標は相対座標で指定されるので、個
々の文字における部品の輪郭線の実際の座標は、図10
に示すような文字データ中の部品の配置位置情報によっ
て最終的に決まる。メモリ204上に輪郭線を相対座標
で展開してもよく、その場合はイメージ合成部205に
おいて、メモリ204上のドットイメージを実際の文字
中の位置へ座標変換してからメモリ206上のドットイ
メージと合成する必要がある。また、メモリ206のあ
る領域に部品にドットイメージを生成し、生成された部
品のドットイメージを同メモりの別領域(又は他のメモ
リ)に配置して最終的な文字ドットイメージを完成する
ようにしてもよい。この場合、イメージ合成部205は
メモリ204上のドットイメージとメモリ206上のド
ットイメージとの合成を部品毎に行い、完成した部品の
ドットイメージを文字中の部品配置にあわせて配置すれ
ばよい。以上のことは後述の各ラスタライザにおいても
同様である。
【0052】文字のすべての部品に対する処理が終了
し、文字のドットイメージが完成すると、処理ブロック
215が実行され、文字のドットイメージが外部へ出力
される。これはイメージ出力部207の処理である。
【0053】[ラスタライザの例2]ここに示すラスタ
ライザは前記フォント表現方法2による例であり、その
機能ブロック図を図17に、処理の流れをPAD図とし
て図18にそれぞれ示す。
【0054】図16において、アウトラインフォントデ
ータファイル308は、図14中の同名部に対応するも
のであるが、ドットの反転を解除するための特別の輪郭
線も用いる前記フォント表現方法2による関係から、例
えば、図9に示した構造のテーブル、図10に示した構
造の文字データ、及び、図12に示した構造の部品デー
タの集合を格納しているファイルである。データ入力部
301、輪郭線展開部302、塗りつぶし部303、メ
モリ304、イメージ合成部305、メモリ306、イ
メージ出力部307は、図14中の同名部と同様であ
る。ただし、輪郭線展開部302は、普通の輪郭線のほ
かに特別の輪郭線の展開も行う。
【0055】反転解除部309は図14中に対応する部
分が存在しないものである。この反転解除部309は、
輪郭線展開部302によりメモリ304上に展開された
特別の輪郭線の内部にあるドットの中で、普通の輪郭線
の内部に存在し反転されたドットについて、その反転を
解除する(黒から白に戻す)処理をメモリ306のデー
タに対して実行する部分である。
【0056】このラスタライザにおける処理内容を図1
7に関連付けて説明する。図17において、まず処理ブ
ロック310で文字のためのデータを入力する。具体的
には、データ入力部301において、外部より入力され
た文字コード(Ck)を用いて、アウトラインフォント
データファイル308内の図9に示したテーブルから、
その文字の格納位置情報(Ik)を求める。この格納位
置情報を用いて、対応した図10に示すような文字デー
タを取り込む。取り込んだ文字データ中の部品位置情報
(S1,...)を用いて、文字の各部品に対する図1
2に示すような輪郭線情報を取り込む。
【0057】次に文字の各部品(ストローク)につい
て、そのドットイメージを生成する処理ブロック311
を実行する。この処理ブロック311は、各部品を構成
する普通の輪郭線についての処理ブロック312の繰り
返しと、特別の輪郭線についての処理ブロック313の
繰り返しとからなる。
【0058】処理ブロック312は、一つの普通の輪郭
線をメモリ204上に展開する処理314、展開された
輪郭線の内部の塗りつぶし(ドット反転)の処理31
4、メモリ304上のドットイメージをメモリ306上
のドットイメージに重ね合わせる処理314からなる。
処理314は輪郭線展開部302の処理、処理315は
塗りつぶし部303の処理、また処理316はイメージ
合成部305の処理である。
【0059】一つの部品に対する処理ブロック312の
処理が終わると、この部品に対する処理ブロック313
の処理が実行される。この処理ブロック313は、一つ
の特別の輪郭線をメモリ304上に展開する処理317
と、展開された特別の輪郭線の内部について、メモリ3
06上の反転されているドットの反転を解除する処理3
18とからなる。処理317は輪郭線展開部302の処
理、処理318は反転解除部309の処理である。
【0060】例えば、図7に示した横ストロークの場
合、処理ブロック312によって、輪郭線141の内部
を塗りつぶしたドットパターンがメモリ306に得られ
る。次に、処理ブロック313によって、普通の輪郭線
141の内部の反転されたドットの中で、特別の輪郭線
142,143,144の内部にあるドットの反転が解
除される。このように、フォント表示方法2の場合、部
品を構成する普通の輪郭線をラスタライズし、次に、部
品を構成する特別の輪郭線をラスタライズするが、この
ラスタライズでは輪郭線内部のドット(ビット)を反転
するのではなく、輪郭線内部の反転済みのドットに限っ
て反転を解除する。
【0061】文字のすべての部品に対する処理が終了
し、文字のドットイメージが完成すると、処理ブロック
319が実行され、文字のドットイメージが外部へ出力
される。これはイメージ出力部307の処理である。
【0062】[ラスタライズの例3]ここに示すラスタ
ライズは、基本的には前記フォント表示方法1により文
字のドットイメージを生成するが、メモリ上に展開され
た輪郭線の内部を塗りつぶす処理を実行する前に、輪郭
線の形状を変化させる処理を可能にする。この処理のた
めに「輪郭線の形状に関する情報」が用意される。ここ
でいう「形状」とは、幅や長さ、曲率等を意味する。し
たがって、「輪郭線の形状に関する情報」とは、その輪
郭線の幅や長さ、曲率等を制御するに足る情報というこ
とである。
【0063】このようなラスタライザの機能ブロック図
を図18に、処理の流れをPAD図として図19にそれ
ぞれ示す。
【0064】図18において、アウトラインフォントデ
ータファイル408は、図14中の同名部に対応するも
のであるが、輪郭線の形状の制御に関連し、例えば、図
10に示した文字データに代えて、図13に示した構造
の文字データを格納している。図13は、部品データの
格納位置情報、部品の配置位置情報に加え、部品の「輪
郭線の形状に関する情報」として、部品の「縦横サイ
ズ」を付加した文字データの例を示している。従来技術
に関連する記述において、輪郭に関する点の属性とし
て、直線の始点、直線の終点、曲線の始点、曲線状の制
御点、曲線の終点、各点の輪郭線上の位置を例示した
が、これに以外に「点の座標を四捨五入する」、「ある
サイズでは半ドット分上に移動する」、「あるサイズで
は曲線を直線に変換する」等々の属性を追加することに
より、輪郭線の形状をかなり柔軟に変化させることが可
能になる。
【0065】図18において、データ入力部401、輪
郭線展開部402、塗りつぶし部403、メモリ40
4、イメージ合成部405、メモリ406、イメージ出
力部407は、図14中の同名部と同様である。
【0066】輪郭変形部409は図14中には対応する
部分が存在しないものである。この輪郭形状変形部40
9は、輪郭線展開部402によりメモリ404上に展開
された輪郭線の形状を、該当部品に対する「輪郭線の形
状に関する情報」に基づいて変形させる処理を実行する
部分である。
【0067】このラスタライザにおける処理内容を図1
9に関連付けて説明する。図19において、処理ブロッ
ク410で文字のためのデータを入力する。具体的に
は、データ入力部401において、外部より入力された
文字コード(Ck)を用いて、アウトラインフォントデ
ータファイル408内の図9に示したテーブルから、そ
の文字の格納位置情報(Ik)を求める。この格納位置
情報を用いて、対応した図13に示すような文字データ
を取り込む。取り込んだ文字データ中の部品位置情報
(S1,...)を用いて、文字の各部品に対する図1
1に示すような輪郭線情報を取り込む。
【0068】次に文字の各部品(ストローク)につい
て、そのドットイメージを生成する処理ブロック412
を実行する。この処理ブロック412は、各部品を構成
する輪郭線についての処理ブロック412の繰り返しか
らなる。
【0069】処理ブロック412は、一つの輪郭線をメ
モリ404上に展開する処理413、展開された輪郭線
を変形する処理414、変形後の輪郭線の内部を塗りつ
ぶす処理415、メモリ404上のドットイメージをメ
モリ406上のドットイメージに重ね合わせる処理41
6からなる。処理413は輪郭線展開部402の処理、
処理414は輪郭線変形部409の処理、処理415は
塗りつぶし部403の処理、処理416はイメージ合成
部405の処理である。処理ブロック410により取り
込まれた「輪郭線の形状に関する情報」は処理414に
利用される。
【0070】文字のすべての部品に対する処理ブロック
411が完了しメモリ406上に文字のドットイメージ
が完成すると、処理ブロック419が実行され、文字の
ドットイメージが外部へ出力される。これはイメージ出
力部407の処理である。
【0071】[ラスタライザの例4]ここに示すラスタ
ライズは、基本的には前記フォント表示方法2により文
字のドットイメージを生成するが、図18に示したラス
タライザと同様にメモリ上に展開された輪郭線に対する
変形処理が可能である。この変形処理のために「輪郭線
の形状に関する情報」が用意されることも同様である。
【0072】このラスタライザの基本構成を機能ブロッ
ク図として図20に、処理の流れをPAD図として図2
1にそれぞれ示す。
【0073】図20において、アウトラインフォントデ
ータファイル508は、図16の同名部と同様のデータ
を格納したファイルであるが、文字データとして、図1
8に関連して説明したような「輪郭線の形状に関する情
報」が付加された、例えば図13に示すようなものを格
納する点が異なる。
【0074】データ入力部501、輪郭線展開部50
2、塗りつぶし部503、メモリ504、イメージ合成
部505、メモリ506、イメージ出力部507、反転
解除部509は、図16中の同名部と同様の部分であ
る。
【0075】輪郭変形部510は図16中には対応する
部分が存在しないもので、これは図18中の同名部と同
様に、「輪郭線の形状に関する情報」に基づき、メモリ
504上に展開された輪郭線の形状を変化させる処理を
行う部分である。
【0076】このラスタライザにおける処理内容を図2
1に関連付けて説明する。図21において、処理ブロッ
ク511で文字のためのデータを入力する。この際に
「輪郭線の形状に関する情報」も入力される。
【0077】次に文字の各部品(ストローク)につい
て、そのドットイメージを生成する処理ブロック512
を実行する。この処理ブロック512は、各部品を構成
する普通の輪郭線についての処理ブロック513の繰り
返しと、特別の輪郭線についての処理ブロック514の
繰り返しとからなる。
【0078】処理ブロック513は、一つの普通の輪郭
線をメモリ504上に展開する処理515、展開された
輪郭線を変形する処理516、変形後の輪郭線の内部を
塗りつぶす処理517、メモリ504上のドットイメー
ジをメモリ506上のドットイメージに重ね合わせる処
理518からなる。処理ブロック514は、一つの特別
の輪郭線をメモリ504上に展開する処理519、この
輪郭線を変形する処理520、展開された輪郭線の内部
のドットで、普通の輪郭線内部の反転されたドットの反
転を解除する処理521からなる。処理515,519
は輪郭線展開部502の処理、処理516,520は輪
郭線変形部509の処理、処理517は塗りつぶし部5
03の処理、処理518はイメージ合成部505の処
理、処理521は反転解除部509の処理である。処理
ブロック511により取り込まれた「輪郭線の形状に関
する情報」は処理516,520に利用される。
【0079】文字のすべての部品に対し処理ブロック5
12が完了しメモリ506上に文字のドットイメージが
完成すると、処理ブロック522により文字のドットイ
メージが外部へ出力される。これはイメージ出力部50
7の処理である。
【0080】[ラスタライザの例5]ここに示すラスタ
ライザの例は、図18に示したラスタライザの輪郭線変
形部409を輪郭線移動部に置き換えた構成であるの
で、機能ブロック図については図18を援用する。図2
2は、このラスタライザの処理の流れを示すPAD図で
ある。
【0081】図22において、処理ブロック601で文
字のためのデータをアウトラインフォントデータファイ
ル408より入力する。入力されるデータ中には、「輪
郭線の位置に関する情報」が含まれることが図18に示
したラスタライザと異なる。この輪郭線の位置に関する
情報は、例えば、アウトラインフォントデータファイル
408内に格納された文字データより取り込まれる。
【0082】次に、文字の各部品(ストローク)につい
て、そのドットイメージを生成する処理ブロック602
を実行する。この処理ブロック602は、各部品を構成
する輪郭線についての処理ブロック603の繰り返しか
らなる。
【0083】処理ブロック603は、一つの輪郭線をメ
モリ404上に展開する処理604、展開された輪郭線
の位置を移動する処理605、移動後の輪郭線の内部を
塗りつぶす処理606、メモリ404上のドットイメー
ジをメモリ406上のドットイメージに重ね合わせる処
理607からなる。処理605が輪郭線移動部(40
9)の処理であり、この処理に「輪郭線の位置に関する
情報」が用いられる。
【0084】文字のすべての部品に対し処理ブロック6
02が完了しメモリ406上に文字のドットイメージが
完成すると、処理ブロック608が実行され、文字のド
ットイメージが外部へ出力される。
【0085】[ラスタライザの例6]ここに示すラスタ
ライザの例は、図20に示したラスタライザの輪郭線変
形部510を輪郭線移動部に置き換えた構成であるの
で、機能ブロック図は図20を援用する。図23は、こ
のラスタライザの処理の流れを示すPAD図である。
【0086】図23において、処理ブロック701で文
字のためのデータをアウトラインフォントデータファイ
ル508より入力する。入力されるデータ中には、「輪
郭線の位置に関する情報」が含まれることが図20に示
したラスタライザと異なる。この輪郭線の位置に関する
情報は、例えば、アウトラインフォントデータファイル
508内に格納された文字データより取り込まれる。
【0087】次に、文字の各部品(ストローク)につい
て、そのドットイメージを生成する処理ブロック702
を実行する。この処理ブロック702は、各部品を構成
する普通の輪郭線についての処理ブロック703の繰り
返しと、特別の輪郭線についての処理ブロック704の
繰り返しとからなる。
【0088】処理ブロック703は、一つの普通の輪郭
線をメモリ504上に展開する処理705、展開された
輪郭線の位置を移動する処理706、移動後の輪郭線の
内部を塗りつぶす処理708、メモリ504上のドット
イメージをメモリ506上のドットイメージに重ね合わ
せる処理709からなる。処理706が輪郭線移動部
(510)の処理であり、この処理に「輪郭線の位置に
関する情報」が用いられる。
【0089】部品の普通の輪郭線すべてに対する処理が
終わると、処理ブロック704が実行される。この処理
ブロック704は、一つの特別の輪郭線をメモリ504
上に展開する処理710、展開された輪郭線を移動する
処理711、移動後の輪郭線の内部で、普通の輪郭線内
の反転されたドットの反転を解除する処理712からな
る。処理706は輪郭線移動部(510)の処理であ
り、この処理に「輪郭線の位置に関する情報」が用いら
れる。
【0090】文字のすべての部品に対して処理ブロック
702が完了すると、文字のイメージドットがメモリ5
06上に完成し、これは処理ブロック713で外部へ出
力される。
【0091】[ラスタライザの例7]ここに示すラスタ
ライザの例は、図18に示したラスタライザに輪郭線移
動部を追加した構成であるので、機能ブロック図は図1
8を援用する。図24は、このラスタライザの処理の流
れを示すPAD図である。
【0092】図24において、処理ブロック801で文
字のためのデータをアウトラインフォントデータファイ
ル408より入力する。入力されるデータ中には、「輪
郭線の形状に関する情報」に加え「輪郭線の位置に関す
る情報」も含まれることが図18に示したラスタライザ
と異なる。この輪郭線の位置に関する情報は、例えば、
アウトラインフォントデータファイル408内に格納さ
れた文字データより取り込まれる。
【0093】次に、文字の各部品(ストローク)につい
て、そのドットイメージを生成する処理ブロック802
を実行する。この処理ブロック802は、各部品を構成
する輪郭線についての処理ブロック803の繰り返しか
らなる。
【0094】処理ブロック803は、一つの輪郭線をメ
モリ404上に展開する処理804、展開された輪郭線
の位置を移動する処理805、移動後の輪郭線の形状を
変化させる処理806、移動変形後の輪郭線の内部を塗
りつぶす処理807、メモリ404上のドットイメージ
をメモリ406上のドットイメージに重ね合わせる処理
808からなる。処理805が輪郭線移動部の処理であ
り、この処理に「輪郭線の位置に関する情報」が用いら
れる。処理806は輪郭線変形部409の処理であり、
これに「輪郭線の形状に関する情報」が用いられること
は前述したとおりである。
【0095】文字のすべての部品に対し処理ブロック8
02が完了しメモリ406上に文字のドットイメージが
完成すると、処理ブロック809が実行され、文字のド
ットイメージが外部へ出力される。
【0096】[ラスタライザの例8]ここに示すラスタ
ライザの例は、図20に示したラスタライザに輪郭線移
動部を追加した構成であるので、機能ブロック図は図2
0を援用する。図25は、このラスタライザの処理の流
れを示すPAD図である。
【0097】図25において、処理ブロック901で文
字のためのデータをアウトラインフォントデータファイ
ル508より入力する。入力されるデータ中には、「輪
郭線の形状に関する情報」に加え「輪郭線の位置に関す
る情報」が含まれることが図20に示したラスタライザ
と異なる。この輪郭線の位置に関する情報は、例えば、
アウトラインフォントデータファイル508内に格納さ
れた文字データより取り込まれる。
【0098】次に、文字の各部品(ストローク)につい
て、そのドットイメージを生成する処理ブロック902
を実行する。この処理ブロック902は、各部品を構成
する普通の輪郭線についての処理ブロック903の繰り
返しと、特別の輪郭線についての処理ブロック904の
繰り返しとからなる。
【0099】処理ブロック903は、一つの普通の輪郭
線をメモリ504上に展開する処理905、展開された
輪郭線の位置を移動する処理906、移動後の輪郭線の
形状を変化させる処理907、移動変形後の輪郭線の内
部を塗りつぶす処理908、メモリ504上のドットイ
メージをメモリ506上のドットイメージに重ね合わせ
る処理909からなる。処理906が輪郭線移動部の処
理であり、この処理に「輪郭線の位置に関する情報」が
用いられる。処理907は輪郭線変形部510の処理
で、これに「輪郭線の形状に関する情報」が用いられ
る。
【0100】部品の普通の輪郭線すべてに対する処理が
終わると、処理ブロック904が実行される。この処理
ブロック904は、一つの特別の輪郭線をメモリ504
上に展開する処理910、展開された輪郭線を移動する
処理911、移動後の輪郭線の形状を変化させる処理9
12、移動変形後の特別の輪郭線の内部で、普通の輪郭
線内の反転されたドットの反転を解除する処理913か
らなる。処理911は輪郭線移動部の処理であり、処理
912は輪郭線変形部510の処理である。
【0101】文字のすべての部品に対して処理ブロック
902が完了すると、処理ブロック713によりメモリ
506上に完成したドットイメージを外部へ出力する。
【0102】[ラスタライザの例9]ここに示すラスタ
ライザの構成及び処理内容は、基本的には前述のラスタ
ライザの例3又は例4と同様であるが、図26に示すよ
うに、例えば1文字毎、部品毎あるいは輪郭線毎に確率
的に変化する値を発生する確率変動部1001と、デー
タ入力部1002(図18中の401、図20中の50
1に対応)によってアウトラインフォントデータファイ
ル1003(図18中の408、図20中の508に対
応)から入力された「輪郭線の形状に関する情報」に対
し、確率変動部1001で発生した値との演算(例えば
加算、減算等)を施す形状情報演算部1004とを新た
に備える。確率変動部1001は、例えば乱数発生器や
テーブル等を用いて構成される。これ以外は、図18又
は図20に示した構成と同様である。
【0103】輪郭線変形部(図18の409、図20の
510)は、形状情報演算部1004により演算後の
「輪郭線の形状に関する情報」を用いて、輪郭線の変形
を行う。したがって、同じ文字のドットイメージであっ
ても、その輪郭形状が確率的に変化することになる。
【0104】[ラスタライザの例10]ここに示すラス
タライザの構成及び処理内容は、基本的には前述のラス
タライザの例5又は例6と同様であるが、図27に示す
ように、例えば1文字毎、部品毎あるいは輪郭線毎に確
率的に変化する値を発生する確率変動部2001と、デ
ータ入力部2002(図18中の401、図20中の5
01に対応)によってアウトラインフォントデータファ
イル2003(図18中の408、図20中の508に
対応)から入力された「輪郭線の位置に関する情報」に
対し、確率変動部2001で発生した値との演算(例え
ば加算、減算等)を施す位置情報演算部2004とを新
たに備える。確率変動部2001は例えば乱数発生器や
テーブル等を用いて構成される。
【0105】輪郭線移動部は、位置情報演算部2004
により演算後の「輪郭線の位置に関する情報」を用い
て、輪郭線の移動を行う。したがって、同じ文字のドッ
トイメージであっても、その輪郭位置が確率的に変化す
ることになる。
【0106】なお、前記のラスタライザの例7又は例8
において、「輪郭線の形状に関する情報」及び「輪郭線
の位置に関する情報」それぞれについても同様に確率的
に変化させることにより、輪郭線の形状と位置それぞれ
を確率的に変動させることもできる。
【0107】
【発明の効果】請求項1記載の発明の方法によれば、一
筆の形状を一つの輪郭線で表現する方法に比べ、毛筆の
多数の毛先の軌跡による毛筆文字のストローク端等に見
られる複雑微妙な形状の表現が容易になるとともに、輪
郭線の形状や配置の疎密を調整し必要な部分において輪
郭線間に隙間を生じさせることにより、毛筆の多数の毛
先の動きに沿って発生する毛筆文字のカスレに近い、自
然な印象を与えるカスレを表現できる。また、カスレを
発生させたい部分の輪郭線に適切な幅の隙間を持たせて
おくことで、特別のヒンティングを行わなくとも、大き
なサイズにラスタライズした時に、明瞭なカスレを生じ
させ、小さなサイズにラスタライズした時にカスレが殆
ど認められないようにすることも可能になる。しかも、
一筆の形状を形成するための個々の輪郭線は単純なもの
にすることができるため、フォントデータ量の増加を抑
えることができ、特に、一筆やその組合せ等の基本部品
をグリフ間で共有するデータ構造、いわゆる階層型フォ
ントとするならば、多数の輪郭線を用いてカスレを表現
しても、フォントデータ全体のサイズを十分に小さくす
ることが可能である。このことは、請求項2又は3記載
の発明の方法にも言えることである。
【0108】請求項2記載の発明の方法によれば、請求
項1記載の発明の方法と同様に自然なカスレを持つグリ
フを表現可能であるほか、カスレの生じにくい部分に幅
の広い輪郭線を割り当てることにより必要な輪郭線の総
数を減らし、フォントデータ量を圧縮できる。
【0109】請求項3記載の発明の方法によれば、一筆
の外縁を大きな普通の輪郭線によって表現し、その内部
に特別の輪郭線を配置して「穴」を開け、この「穴」で
カスレを表現することにより、カスレのあるグリフイメ
ージを表現できる。1個の普通の輪郭線により一筆の外
縁を表現し、カスレの必要な部分にだけ特別の輪郭線を
配置することにより、必要な輪郭線の総数を少なくしフ
ォントデータ量を圧縮できる。
【0110】請求項4又は5記載の発明のラスタライザ
によれば、自然なカスレを持つグリフイメージの生成が
可能である。
【0111】請求項6、7、8又は9記載の発明のラス
タライザによれば、ラスタライズ時に輪郭線の形状又は
位置を変化させることができるため、例えば、大きなサ
イズにラスタライズする際には輪郭線の幅を若干狭くし
隙間を広げ、又は隙間を広げるように輪郭線を移動させ
ことによりカスレを目立たせ、小さなサイズにラスタラ
イズする際には輪郭線の幅を広げて隙間を狭め、又は隙
間を狭めるように輪郭線を移動させることによりカスレ
を殆ど分からないようする、といったことが可能にな
る。
【0112】請求項8又は11記載の発明のラスタライ
ザによれば、輪郭線の形状に関する情報又は輪郭線の位
置に関する情報を確率的に変動させられるため、同じ文
字であってもラスタライズの度にカスレの具合が変化す
る。毛筆を用いて文章を手書きした場合、同じ文字であ
ってもカスレは一定しない。ある文字のカスレが常に同
じであると、文字単位で見てカスレが自然な印象を与え
るものであっても、文字列として表示された場合に手書
きの場合に比べ変化に乏しく不自然である。本ラスタラ
イザによれば、そのような不自然さを解消できる。
【図面の簡単な説明】
【図1】複数の輪郭線による横ストロークの表現例を示
す図である。
【図2】複数の輪郭線による左払いストロークの表現例
を示す図である。
【図3】複数の輪郭線による横ストロークの表現例を示
す図である。
【図4】複数の輪郭線による左払いストロークの表現例
を示す図である。
【図5】狭い輪郭線と太い輪郭線の組合せによる横スト
ロークの表現例を示す図である。
【図6】狭い輪郭線と太い輪郭線の組合せによる左払い
ストロークの表現例を示す図である。
【図7】普通の輪郭線と特別の輪郭線の組合せによる横
ストロークの表現例を示す図である。
【図8】普通の輪郭線と特別の輪郭線の組合せによる横
ストロークの表現例を示す図である。
【図9】文字コードから文字データの格納位置を求める
ためのテーブルの例を示す図である。
【図10】文字データの例を示す図である。
【図11】部品データの例を示す図である。
【図12】普通の輪郭線と特別の輪郭線の組み合わせに
よる部品を表現する場合の部品データの例を示す図であ
る。
【図13】輪郭線の形状に関する情報を含む文字データ
の例を示す図である。
【図14】本発明によるラスタライザの例1の機能ブロ
ック図である。
【図15】本発明によるラスタライザの例1の処理の流
れを示すPAD図である。
【図16】本発明によるラスタライザの例2の機能ブロ
ック図である。
【図17】本発明によるラスタライザの例2の処理の流
れを示すPAD図である。
【図18】本発明によるラスタライザの例3の機能的ブ
ロック図である。
【図19】本発明によるラスタライザの例3の処理の流
れを示すPAD図である。
【図20】本発明によるラスタライザの例4の機能ブロ
ック図である。
【図21】本発明によるラスタライザの例4の処理の流
れを示すPAD図である。
【図22】本発明によるラスタライザの例5の処理の流
れを示すPAD図である。
【図23】本発明によるラスタライザの例6の処理の流
れを示すPAD図である。
【図24】本発明によるラスタライザの例7の処理の流
れを示すPAD図である。
【図25】本発明によるラスタライザの例8の処理の流
れを示すPAD図である。
【図26】本発明によるラスタライザの例9の部分構成
を示す機能ブロック図である。
【図27】本発明のラスタライザの例10の部分構成を
示す機能ブロック図である。
【図28】(a)フルアウトラインフォントの説明図で
ある。 (b)ストロークアウトラインフォントの説明図であ
る。
【図29】従来の毛筆体フォントの例を示す図である。
【符号の説明】
101〜104 輪郭線 111〜117 輪郭線 121〜123 輪郭線 131〜134 輪郭線 141 普通の輪郭線 142,143,144 特別の輪郭線 151 普通の輪郭線 152,153,154 特別の輪郭線 201,301,401,501 データ入力部 202,302,402,502 輪郭線展開部 203,303,403,503 塗りつぶし部 204,304,404,504 輪郭線展開用メモリ 205,305,405,505 イメージ合成部 206,306,406,506 イメージ用メモリ 207,307,407,507 イメージ出力部 208,308,408,508 アウトラインフォン
トデータファイル 309,509 反転解除部 409,510 輪郭線変形部(輪郭線移動部) 1001,2001 確率変動部 1002,2002 データ入力部 1003,2003 アウトラインフォントデータファ
イル 1004 形状情報演算部 2004 位置情報演算部

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 アウトラインフォントにおいて、グリフ
    の各一筆に相当する形状を複数の輪郭線で形成すること
    を特徴とするフォント表現方法。
  2. 【請求項2】 請求項1記載のフォント表現方法におい
    て、グリフの各一筆に相当する形状の構造線には、その
    周辺に配置される輪郭線より幅の広い輪郭線を配置する
    ことを特徴とするフォント表現方法。
  3. 【請求項3】 請求項1記載のフォント表現方法におい
    て、グリフの各一筆に相当する形状を形成するための輪
    郭線として、内部のドットが反転されるべき普通の輪郭
    線と、内部のドットの反転が解除されるべき特別の輪郭
    線とを用いることを特徴とするフォント表現方法。
  4. 【請求項4】 請求項1又は2記載のフォント表現方法
    に従ったグリフのアウトラインフォントデータを入力す
    るデータ入力手段、該データ入力手段により入力された
    アウトラインフォントデータに基づきグリフの輪郭線を
    展開する輪郭線展開手段、該輪郭線展開手段により展開
    された輪郭線の内部のドットの反転を行う塗りつぶし手
    段、該塗りつぶし手段のドット反転により得られたドッ
    トイメージを合成しグリフのドットイメージを得る手
    段、及び該合成されたグリフのドットイメージを出力す
    る手段を有するアウトラインフォントのラスタライザ。
  5. 【請求項5】 請求項3記載のフォント表現方法に従っ
    たグリフのアウトラインフォントデータを入力するデー
    タ入力手段、該データ入力手段により入力されたアウト
    ラインフォントデータに基づきグリフの輪郭線を展開す
    る輪郭線展開手段、該輪郭線展開手段により展開された
    普通の輪郭線の内部のドットの反転を行う塗りつぶし手
    段、該塗りつぶし手段のドット反転により得られたドッ
    トイメージに対して、該輪郭線展開手段により展開され
    た特別の輪郭線の内部のドットの反転の解除を行う反転
    解除手段、該反転解除手段によりドット反転解除後のド
    ットイメージを合成しグリフのドットイメージを得る手
    段、及び、該合成されたグリフのドットイメージを出力
    する手段を有するアウトラインフォントのラスタライ
    ザ。
  6. 【請求項6】 請求項4記載のラスタライザにおいて、
    データ入力手段により入力されるグリフのアウトライン
    フォントデータには輪郭線の形状に関する情報が含ま
    れ、塗りつぶし手段による処理に先だって、輪郭線展開
    手段により展開された輪郭線の形状を、該輪郭線の形状
    に関する情報に基づき変化させる輪郭線変形手段をさら
    に有することを特徴とするラスタライザ。
  7. 【請求項7】 請求項5記載のラスタライザにおいて、
    データ入力手段により入力されるグリフのアウトライン
    フォントデータには輪郭線の形状に関する情報が含ま
    れ、塗りつぶし手段及び反転解除手段による処理に先だ
    って、輪郭線展開手段により展開された輪郭線の形状
    を、該輪郭線の形状に関する情報に基づき変化させる輪
    郭線変形手段をさらに有することを特徴とするラスタラ
    イザ。
  8. 【請求項8】 請求項6又は7記載のラスタライザにお
    いて、データ入力手段により入力された輪郭線の形状に
    関する情報を確率的に変動させる手段を有し、当該手段
    により変動させた輪郭線の形状に関する情報が輪郭線変
    形手段に用いられることを特徴とするラスタライザ。
  9. 【請求項9】 請求項4又は6記載のラスタライザにお
    いて、データ入力手段により入力されるグリフのアウト
    ラインフォントデータには輪郭線の位置に関する情報が
    含まれ、塗りつぶし手段による処理に先だって、輪郭線
    展開手段により展開された輪郭線の位置を該輪郭線の位
    置に関する情報に基づいて変更する輪郭線移動手段をさ
    らに有することを特徴とするラスタライザ。
  10. 【請求項10】 請求項5又は7記載のラスタライザに
    おいて、データ入力手段により入力されるグリフのアウ
    トラインフォントデータには輪郭線の位置に関する情報
    が含まれ、塗りつぶし手段及び反転解除手段による処理
    に先だって、輪郭線展開手段により展開された輪郭線の
    位置を該輪郭線の位置に関する情報に基づき変更する輪
    郭線移動手段をさらに有することを特徴とするラスタラ
    イザ。
  11. 【請求項11】 請求項9又は10記載のラスタライザ
    において、データ入力手段により入力された輪郭線の位
    置に関する情報を確率的に変動させる手段を有し、当該
    手段により変動させた輪郭線の位置に関する情報が輪郭
    線移動手段に用いられることを特徴とするラスタライ
    ザ。
JP02817396A 1996-02-15 1996-02-15 フォント表現方法及びラスタライザ Expired - Fee Related JP3556758B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02817396A JP3556758B2 (ja) 1996-02-15 1996-02-15 フォント表現方法及びラスタライザ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02817396A JP3556758B2 (ja) 1996-02-15 1996-02-15 フォント表現方法及びラスタライザ

Publications (2)

Publication Number Publication Date
JPH09222878A true JPH09222878A (ja) 1997-08-26
JP3556758B2 JP3556758B2 (ja) 2004-08-25

Family

ID=12241350

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02817396A Expired - Fee Related JP3556758B2 (ja) 1996-02-15 1996-02-15 フォント表現方法及びラスタライザ

Country Status (1)

Country Link
JP (1) JP3556758B2 (ja)

Also Published As

Publication number Publication date
JP3556758B2 (ja) 2004-08-25

Similar Documents

Publication Publication Date Title
JP4693660B2 (ja) 描画装置、描画方法及び描画プログラム
US5159668A (en) Method and apparatus for manipulating outlines in improving digital typeface on raster output devices
US5155805A (en) Method and apparatus for moving control points in displaying digital typeface on raster output devices
US6760028B1 (en) Methods and systems for hinting fonts
JP4157569B2 (ja) 描画装置、描画方法及び描画プログラム
EP0950988A2 (en) Three-Dimensional image generating apparatus
JP3375638B2 (ja) アンチ−アライアジング装置及び目的グリッドへの水平・垂直エッジの自動高速合わせの方法
EP1732061B1 (en) Method and apparatus for determining an antialiased intensity of a component of a pixel from a two-dimensional distance field representing an object
JP4625269B2 (ja) 文字画像生成装置,文字画像生成方法,表示制御装置,文字画像生成プログラムおよび表示制御プログラム
JP3037854B2 (ja) 文字生成方法及びその装置
US20060077210A1 (en) Rasterizing stacked graphics objects from top to bottom
JP4181604B2 (ja) 出力装置およびプログラム
JPH0812544B2 (ja) 文字フォント生成装置
KR100361387B1 (ko) 다각형 묘화 방법, 및 다각형 묘화 장치
JP3556758B2 (ja) フォント表現方法及びラスタライザ
JP3603593B2 (ja) 画像処理方法および装置
JPH10143134A (ja) 文字の生成と記憶のための方法と装置
JPH09171564A (ja) 描画装置
JPS62211692A (ja) 異なるサイズ文字の作成方式
JP3493745B2 (ja) 図形描画装置
JPH0519739A (ja) 文字パターン生成装置
JP3367806B2 (ja) アウトラインデータからのグレーフォント生成方法およびその装置
JPH06175639A (ja) 文字生成方法及びその装置
KR940007818B1 (ko) 그레이 스케일 폰트의 생성방법
JPH0823741B2 (ja) ベクトル文字もしくはベクトル図形の処理方法

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040511

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040513

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

Free format text: PAYMENT UNTIL: 20080521

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090521

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100521

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110521

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120521

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120521

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130521

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees