JP3338484B2 - アウトラインフォント変形装置 - Google Patents
アウトラインフォント変形装置Info
- Publication number
- JP3338484B2 JP3338484B2 JP27719892A JP27719892A JP3338484B2 JP 3338484 B2 JP3338484 B2 JP 3338484B2 JP 27719892 A JP27719892 A JP 27719892A JP 27719892 A JP27719892 A JP 27719892A JP 3338484 B2 JP3338484 B2 JP 3338484B2
- Authority
- JP
- Japan
- Prior art keywords
- point
- outline
- line
- outline font
- contour
- 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
Links
Landscapes
- Image Processing (AREA)
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Description
データを太くあるいは細くする変形装置に関する。
る方法として、例えば、特開昭63−245572号公
報に記載された画像処理方法がある。この方法は、画像
の輪郭を特定する点を移動することによって太くしたり
あるいは細くしたりするものである。
た従来の方法では、画像の輪郭を特定する点を移動する
際に、2法線の和を求めているために、移動方向に偏り
が生じて、図13に示すように元の図形(実線)の形状
が崩れた図形(破線)になるという問題がある。また、
上記した方法によると、輪郭線の移動量が線分毎に異な
り、図形全体の形状を制御することが難しいという問題
がある。
く、アウトラインフォントデータを太くあるいは細くす
る変形装置を提案することにある。
に、請求項1記載の発明では、輪郭点を移動させること
によりアウトラインフォントを太くあるいは細くする変
形装置において、所定のデザインサイズのアウトライン
フォントを読み込む手段と、補正すべき線幅量を指定す
る手段と、該読み込まれたアウトラインフォントの輪郭
線を該指定された線幅量だけ補正して文字全体の太さを
変更する線幅補正手段と、該補正されたアウトラインフ
ォントを出力する手段を備えたアウトラインフォント変
形装置であって、前記線幅補正手段は、輪郭点を結ぶ線
分のx軸となす角に依存して決定される方向に輪郭点を
移動することを特徴としている。
段は、輪郭点を結ぶ第1の線分と第2の線分が鋭角をな
して折り返すとき、鋭角をなして折り返す先端点を2重
化し、前記2つの線分とそれを結ぶ線分としてそれぞれ
移動することを特徴としている。
段は、曲線部の移動を行うとき、該曲線の始点と終点か
らなる線分についてx軸となす角に依存して決定される
方向に、移動方向を決定することを特徴としている。
段は、全ての輪郭点の座標をn倍(nは整数)した後に
輪郭線を補正し、前記出力手段は前記デザインサイズの
n倍のアウトラインフォントを出力することを特徴とし
ている。
塗りつぶす際に、最初の輪郭線を黒塗り領域の開始点、
次の輪郭線を黒塗り領域の終了点と判定する第1のピク
セル処理系と、最初の輪郭線を黒塗り領域の開始点、次
の輪郭線を白塗り領域の開始点と判定する第2のピクセ
ル処理系があるとき、前記線幅補正手段は、第1のピク
セル処理系のアウトラインフォントを第2のピクセル処
理系のアウトラインフォントに変換する際には、0.5
ピクセルずつ太らせてから処理し、第2のピクセル処理
系のアウトラインフォントを第1のピクセル処理系のア
ウトラインフォントに変換する際には、0.5ピクセル
ずつ細らせてから処理することを特徴としている。
トの輪郭線を指定された補正量だけ移動して文字全体の
太さを変える。その補正は、輪郭点を結ぶ線分のx軸と
なす角に従って、あるいは輪郭点を結ぶ線分の垂直方向
に輪郭点を移動することにより行う。また、鋭い先端点
を持つ輪郭線の場合は、該先端点が形成されないように
線分を移動して形状の崩れを防止する。
的に説明する。 〈実施例1〉 図1は、本発明の実施例のブロック構成図であり、1は
アウトラインフォントデータ格納部、2はアウトライン
フォントの入力部、3は入力されたアウトラインフォン
トの輪郭線を補正することによりステム、斜線、曲線な
ど文字全体の太さを変える線幅補正部、4は補正量を指
定するためのパラメータ入力部、5は変形されたデータ
を出力するアウトラインフォント出力部、6は変形され
たアウトラインフォントデータの格納部、7はこれら各
部を制御する制御部である。
右、y軸は上方向を向いているものとする。また、輪郭
線はそれをたどる方向に対して右側が黒塗り領域である
ものとする。
使用される輪郭点テーブルを示す。すなわち、輪郭点番
号とその座標データ(orig)の組が格納されてい
る。これらは、アウトラインフォントの入力部2から得
られるものである。また、これらの座標データは、それ
ぞれの輪郭線として区分されているものとする。さら
に、テーブル中のmovedには、後述するように移動
された輪郭点の新座標が格納される。
くあるいは細くする処理)を行うための処理フローチャ
ートであり、図1の線幅補正部3によって実行される。
すなわち、全ての輪郭点に対し(ステップ101)、処
理対象の点(c)とその前の点(p)とその後の点
(n)を与えて(ステップ102、103)、関数Ne
wCoordを呼び出し、戻り値である処理後の座標m
oved〔c〕を、図2の該当する位置に記録する(ス
テップ104)。以下、p,c,nを順次増やして(ス
テップ105)処理を繰り返す。
ーチャートである。すなわち、直前の点(p)から処理
対象の点(c)に至る線分を移動するためのベクトルS
hiftVector(p,c)と処理対象の点(c)
から直後の点(n)に至る線分を移動するためのベクト
ルShiftVector(c,n)とを求め(ステッ
プ201)、それぞれの始点、終点(ステップ202で
は、始点がorig〔p〕、終点がorig〔c〕、ス
テップ203では、始点がorig〔c〕、終点がor
ig〔n〕)をそのベクトル方向に、パラメータ入力部
4から指定された補正量wだけ移動し(ステップ20
2、203)、得られた2直線の交点Intersec
tionを求めて、それを新座標NewCoordとし
て返す(ステップ204)。
hiftVectorの処理フローチャートである。こ
れは2点間のx座標とy座標の相違を計算し、その絶対
値がx軸の方が大きければ、なだらかな斜線と判断し
(ステップ301、302)、そうでなければ急な斜線
と判断する(ステップ301、303)。
終点のそれ(xe)よりも大きければ、黒塗り領域の下
端をなすことが分かるので、下向きの単位ベクトル
(0,−1)を返す(ステップ305)。終点のx座標
(xe)が始点のそれ(xs)よりも大きければ、黒塗
り領域の上端をなすことが分かるので、上向きの単位ベ
クトル(0,1)を返す(ステップ304)。急な斜線
についてもy軸方向について同様の処理を行う。
結ぶ線分のx軸となす角に依存して決定される方向に輪
郭点を移動する。即ち、x軸となす角が小さい場合には
なだらかな斜線(平行線に近い)として上下方向に輪郭
点を移動処理し、x軸となす角が大きい場合には急な斜
線(垂直線に近い)として左右方向に輪郭点を移動処理
する。図9は、本実施例によって輪郭点が移動処理され
た結果を示す図である。上記実施例では、45度を境界
として4種類に分けているが、これに限定されるもので
はなく、例えば8分割するなど種々の方法がある。
ctorの他の実施例の処理フローチャートである。こ
の処理では、まず始点から終点に至るベクトルを求め
(ステップ401)、これを反時計回りに90度回転さ
せた単位ベクトル(−y/N,x/N)を返すものであ
る(ステップ402)。
ぶ線分の垂直方向に、輪郭点を移動処理する。図10
は、本実施例によって輪郭点が移動処理された結果を示
す図である。
処理フローチャートである。この処理フローチャートに
おいて、ステップ501、502、503、505は、
図4の関数NewCoordの処理フローチャートにお
けるステップ201から204と同じものである。この
実施例では、ステップ504、506、507が新たに
付加されている。
っているとき(ステップ504)、新しく点を追加し
(ステップ506)、極端な形状の変化を避けた実施例
である。図11は、この実施例による処理結果を示す。
すなわち、点2、点6、点3からなる輪郭線は、点6が
鋭い先端点となっているので、上記したような輪郭点の
移動処理を行うと、点1、点8、点4となる一部破線で
示す輪郭線となり、形状の変化が極端なものとなる(点
6がより鋭くなる程、点8の位置が遠くなる)。
点5を追加し(点5は点6を移動したものであり、また
点7は点6を移動したものである。ステップ507で
は、StartNextは点7となる)、点線部分の輪
郭線を抑止して形状の崩れを防止している。なお、この
例では、先端点6を2重化し、それを上下に広げた例を
示したが、これを必要な幅だけ右に移動すれば形状変化
はより少なくて済む。
実施例では、処理対象の点を曲線上でない点とし、これ
より前の最初の曲線上でない点と、これより後の最初の
曲線上でない点とを用いて、上述したと同様の処理を行
い、移動は前後の点に挾まれる全ての点に対して行うも
のである。つまり、ステップ604で曲線上の点(図1
2の点3)を見つけ、ステップ605からステップ60
7で曲線の始点を探す(ステップ606のpは図12の
点2となる)。ステップ608からステップ610で曲
線の終点を探す(ステップ609のnは図12の点5と
なる)。ステップ611からステップ616で、曲線の
始点、終点(図12の点2、5)と曲線の制御点(図1
2の点3、4)に対して、実施例1で説明した方法で移
動方向を決定し、その結果を曲線上の輪郭点に適用して
平行移動処理を行う。
す。点1と点2で線分が構成され、点5と点6で線分が
構成され、点2(曲線の始点)から点5(曲線の終点)
によって曲線が構成されている。また、点3、点4は曲
線の制御点である。
と、点5、点6の線分に対しては、上述したと同様の処
理を行う。すなわち、点1、点2の線分を、その垂直方
向に太らせ、点2、点5の線分を、右方向に移動させ、
同様に点5、点6の線分をその垂直方向に太らせる。そ
して、点2と点5を結ぶ線分の右方向の移動量と同じだ
け、点3と点4を結ぶ線分を右方向に移動することによ
り図12に示す結果が得られる。
制御点(点3、点4)で構成されるベツィエ曲線を例に
示したが、スプライン曲線などにおいても全く同様であ
る。
においては、輪郭線を2ピクセルずつ太くする場合には
全体を1ピクセルずつ太くすれば良い。ところが輪郭線
を1ピクセル太くしようとすると、問題が起きる。つま
り、全体を0.5ピクセル太くすることができない。そ
こで、本実施例の線幅補正部3では、すべての輪郭点の
座標値を2倍し(256×256ピクセル空間を512
×512ピクセル空間にする)、そこで全体を1ピクセ
ルずつ太くすることによって実質的に同様の効果を得る
ことができる。もちろん変倍時のパラメータとしてこの
拡大量を用いなければならない。
を黒塗り領域の開始点、次に出会ったものを黒塗り領域
の終了点と判定する第1のピクセル処理方式と、最初に
出会った輪郭線を黒塗り領域の開始点、次に出会った輪
郭線を白塗り領域の開始点と判定する第2のピクセル処
理方式とがある。このような塗りつぶし方式の相違は、
ピクセルとは何であるかという定義の相違から生じるも
のである。
インされたアウトラインフォントの輪郭線を、第2のピ
クセル処理方式に渡して処理すると、その線幅が細くな
り、線幅の同一性が保証されない。そこで、本実施例で
は、線幅補正部3では、第1のピクセル処理方式用にデ
ザインされたアウトラインフォントのすべての輪郭線を
全体的に0.5ピクセルずつ太くしてから、第2のピク
セル処理方式に輪郭線データを渡すようにする。これに
よって、第2のピクセル処理方式で処理しても、第1の
ピクセル処理方式用にデザインされたアウトラインフォ
ントと同一の形状のものが得られることになる。もちろ
ん、上記したものと逆に、第2のピクセル処理方式を第
1のピクセル処理方式に変換する場合についても、線幅
補正部で輪郭線を0.5ピクセルずつ細らせてから処理
することによって、両ピクセル処理方式において同一形
状の文字が得られる。
ば、以下のような効果が得られる。 (1) アウトラインフォント変形装置を、アウトライン
フォントの読み込む手段と、補正する線幅量の指定手段
と、読み込まれたアウトラインフォントの輪郭線を指定
された線幅量だけ補正して文字全体の太さを変更する線
幅補正手段と、補正されたアウトラインフォントを出力
する手段によって構成しているので、アウトラインフォ
ントの輪郭線を所定量だけ太くしたり細くしたりするこ
とが可能となる。
依存して決定される方向に輪郭点を移動処理しているの
で、少ない計算量によってアウトラインフォントの輪郭
線を太くしたり細くしたりすることができる。
郭点を移動処理しているので、輪郭線の幅の変化量を文
字全体で一定に保持することができ、高品質の文字を構
成することができる。
点が形成されないように線分を移動しているので、極端
に形状が変化することを防止することができる。
と終点を結ぶ線分を用いてその移動方向を決定している
ので、曲線部においても確実にその形状を保持して輪郭
線を太くしたり細くしたりすることができる。
輪郭線を補正しているので、1ピクセル単位以下の変形
も可能となる。
されたアウトラインフォントの輪郭線が第2のピクセル
処理系においても同一のデザインとなるように、あるい
は第2のピクセル処理系用にデザインされたアウトライ
ンフォントの輪郭線が第1のピクセル処理系においても
同一のデザインとなるように、輪郭線を制御しているの
で、第1のピクセル処理系と第2のピクセル処理系にお
いて同一形状の文字を得ることができる。
である。
フローチャートである。
ある。
ートである。
理フローチャートである。
ーチャートである。
を示す図である。
結果を示す図である。
理結果を示す図である。
る。
Claims (5)
- 【請求項1】 輪郭点を移動させることによりアウトラ
インフォントを太くあるいは細くする変形装置におい
て、所定のデザインサイズのアウトラインフォントを読
み込む手段と、補正すべき線幅量を指定する手段と、該
読み込まれたアウトラインフォントの輪郭線を該指定さ
れた線幅量だけ補正して文字全体の太さを変更する線幅
補正手段と、該補正されたアウトラインフォントを出力
する手段を備えたアウトラインフォント変形装置であっ
て、前記線幅補正手段は、輪郭点を結ぶ線分のx軸とな
す角に依存して決定される方向に輪郭点を移動すること
を特徴とするアウトラインフォント変形装置。 - 【請求項2】 前記線幅補正手段は、輪郭点を結ぶ第1
の線分と第2の線分が鋭角をなして折り返すとき、鋭角
をなして折り返す先端点を2重化し、前記2つの線分と
それを結ぶ線分としてそれぞれ移動することを特徴とす
る請求項1記載のアウトラインフォント変形装置。 - 【請求項3】 前記線幅補正手段は、曲線部の移動を行
うとき、該曲線の始点と終点からなる線分についてx軸
となす角に依存して決定される方向に、移動方向を決定
することを特徴とする請求項1記載のアウトラインフォ
ント変形装置。 - 【請求項4】 前記線幅補正手段は、全ての輪郭点の座
標をn倍(nは整数)した後に輪郭線を補正し、前記出
力手段は前記デザインサイズのn倍のアウトラインフォ
ントを出力することを特徴とする請求項1記載のアウト
ラインフォント変形装置。 - 【請求項5】 輪郭線の内点を塗りつぶす際に、最初の
輪郭線を黒塗り領域の開始点、次の輪郭線を黒塗り領域
の終了点と判定する第1のピクセル処理系と、最初の輪
郭線を黒塗り領域の開始点、次の輪郭線を白塗り領域の
開始点と判定する第2のピクセル処理系があるとき、前
記線幅補正手段は、第1のピクセル処理系のアウトライ
ンフォントを第2のピクセル処理系のアウトラインフォ
ントに変換する際には、0.5ピクセルずつ太らせてか
ら処理し、第2のピクセル処理 系のアウトラインフォン
トを第1のピクセル処理系のアウトラインフォントに変
換する際には、0.5ピクセルずつ細らせてから処理す
ることを特徴とする請求項1記載のアウトラインフォン
ト変形装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27719892A JP3338484B2 (ja) | 1992-09-09 | 1992-10-15 | アウトラインフォント変形装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24082792 | 1992-09-09 | ||
JP4-240827 | 1992-09-09 | ||
JP27719892A JP3338484B2 (ja) | 1992-09-09 | 1992-10-15 | アウトラインフォント変形装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06138865A JPH06138865A (ja) | 1994-05-20 |
JP3338484B2 true JP3338484B2 (ja) | 2002-10-28 |
Family
ID=26534951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27719892A Expired - Fee Related JP3338484B2 (ja) | 1992-09-09 | 1992-10-15 | アウトラインフォント変形装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3338484B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5959634A (en) * | 1993-12-09 | 1999-09-28 | Canon Kabushiki Kaisha | Character generating system employing thickening or narrowing of characters |
-
1992
- 1992-10-15 JP JP27719892A patent/JP3338484B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH06138865A (ja) | 1994-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4975976A (en) | Image transformation method and device | |
US4620287A (en) | Method and apparatus for representation of a curve of uniform width | |
JP2634851B2 (ja) | 画像処理装置 | |
JP3338484B2 (ja) | アウトラインフォント変形装置 | |
JPH08138044A (ja) | 画像処理方法 | |
KR0147440B1 (ko) | 폭 1의 선을 묘화하기 위한 방법 및 장치 | |
JP3224142B2 (ja) | ヒンティング処理方法 | |
JP3612257B2 (ja) | 画像データ編集装置 | |
JP3243293B2 (ja) | 輪郭線補正方法 | |
JP3266905B2 (ja) | 図形処理装置 | |
JP3493745B2 (ja) | 図形描画装置 | |
JP2569049B2 (ja) | 文字の修正方法 | |
JP2613653B2 (ja) | 画像処理装置 | |
JP3139805B2 (ja) | 画像処理方法及びその装置 | |
JPH0350686A (ja) | 図形処理方式 | |
JPH087794B2 (ja) | 画像処理方法 | |
JP3089906B2 (ja) | 描画装置 | |
JPH0934435A (ja) | 文字出力装置 | |
JP2634906B2 (ja) | 画像処理方法 | |
Maas et al. | Data reduction for the representation of curves by piecewise polynomials | |
JPS59195759A (ja) | 画像の拡大縮小方法 | |
JP3517982B2 (ja) | 図形描画装置 | |
JPH0540831A (ja) | 図形処理装置および図形処理方法 | |
JPH01270094A (ja) | 文字フォント生成方法 | |
JPH0245889A (ja) | 領域塗り潰し方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080809 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080809 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090809 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090809 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100809 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100809 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110809 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110809 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120809 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |