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
Application number
JP27719892A
Other languages
English (en)
Other versions
JPH06138865A (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.)
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 JP27719892A priority Critical patent/JP3338484B2/ja
Publication of JPH06138865A publication Critical patent/JPH06138865A/ja
Application granted granted Critical
Publication of JP3338484B2 publication Critical patent/JP3338484B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、アウトラインフォント
データを太くあるいは細くする変形装置に関する。
【0002】
【従来の技術】画像を太くしたりあるいは細くしたりす
る方法として、例えば、特開昭63−245572号公
報に記載された画像処理方法がある。この方法は、画像
の輪郭を特定する点を移動することによって太くしたり
あるいは細くしたりするものである。
【0003】
【発明が解決しようとする課題】しかしながら、上記し
た従来の方法では、画像の輪郭を特定する点を移動する
際に、2法線の和を求めているために、移動方向に偏り
が生じて、図13に示すように元の図形(実線)の形状
が崩れた図形(破線)になるという問題がある。また、
上記した方法によると、輪郭線の移動量が線分毎に異な
り、図形全体の形状を制御することが難しいという問題
がある。
【0004】本発明の目的は、図形の形状を崩すことな
く、アウトラインフォントデータを太くあるいは細くす
る変形装置を提案することにある。
【0005】
【課題を解決するための手段】前記目的を達成するため
に、請求項1記載の発明では、輪郭点を移動させること
によりアウトラインフォントを太くあるいは細くする変
形装置において、所定のデザインサイズのアウトライン
フォントを読み込む手段と、補正すべき線幅量を指定す
る手段と、該読み込まれたアウトラインフォントの輪郭
線を該指定された線幅量だけ補正して文字全体の太さを
変更する線幅補正手段と、該補正されたアウトラインフ
ォントを出力する手段を備えたアウトラインフォント変
形装置であって、前記線幅補正手段は、輪郭点を結ぶ線
分のx軸となす角に依存して決定される方向に輪郭点を
移動することを特徴としている。
【0006】請求項2記載の発明では、前記線幅補正手
段は、輪郭点を結ぶ第1の線分と第2の線分が鋭角をな
して折り返すとき、鋭角をなして折り返す先端点を2重
化し、前記2つの線分とそれを結ぶ線分としてそれぞれ
移動することを特徴としている。
【0007】請求項3記載の発明では、前記線幅補正手
段は、曲線部の移動を行うとき、該曲線の始点と終点
らなる線分についてx軸となす角に依存して決定される
方向に、移動方向を決定することを特徴としている。
【0008】請求項4記載の発明では、前記線幅補正手
段は、全ての輪郭点の座標をn倍(nは整数)した後に
輪郭線を補正し、前記出力手段は前記デザインサイズの
n倍のアウトラインフォントを出力することを特徴とし
ている。
【0009】請求項5記載の発明では、輪郭線の内点を
塗りつぶす際に、最初の輪郭線を黒塗り領域の開始点、
次の輪郭線を黒塗り領域の終了点と判定する第1のピク
セル処理系と、最初の輪郭線を黒塗り領域の開始点、次
の輪郭線を白塗り領域の開始点と判定する第2のピクセ
ル処理系があるとき、前記線幅補正手段は、第1のピク
セル処理系のアウトラインフォントを第2のピクセル処
理系のアウトラインフォントに変換する際には、0.5
ピクセルずつ太らせてから処理し、第2のピクセル処理
系のアウトラインフォントを第1のピクセル処理系のア
ウトラインフォントに変換する際には、0.5ピクセル
ずつ細らせてから処理することを特徴としている。
【0010】
【作用】線幅補正部は、入力されたアウトラインフォン
トの輪郭線を指定された補正量だけ移動して文字全体の
太さを変える。その補正は、輪郭点を結ぶ線分のx軸と
なす角に従って、あるいは輪郭点を結ぶ線分の垂直方向
に輪郭点を移動することにより行う。また、鋭い先端点
を持つ輪郭線の場合は、該先端点が形成されないように
線分を移動して形状の崩れを防止する。
【0011】
【実施例】以下、本発明の一実施例を図面を用いて具体
的に説明する。 〈実施例1〉 図1は、本発明の実施例のブロック構成図であり、1は
アウトラインフォントデータ格納部、2はアウトライン
フォントの入力部、3は入力されたアウトラインフォン
トの輪郭線を補正することによりステム、斜線、曲線な
ど文字全体の太さを変える線幅補正部、4は補正量を指
定するためのパラメータ入力部、5は変形されたデータ
を出力するアウトラインフォント出力部、6は変形され
たアウトラインフォントデータの格納部、7はこれら各
部を制御する制御部である。
【0012】以下の実施例の説明においては、x軸は
右、y軸は上方向を向いているものとする。また、輪郭
線はそれをたどる方向に対して右側が黒塗り領域である
ものとする。
【0013】図2は、本実施例の線幅補正部3において
使用される輪郭点テーブルを示す。すなわち、輪郭点番
号とその座標データ(orig)の組が格納されてい
る。これらは、アウトラインフォントの入力部2から得
られるものである。また、これらの座標データは、それ
ぞれの輪郭線として区分されているものとする。さら
に、テーブル中のmovedには、後述するように移動
された輪郭点の新座標が格納される。
【0014】図3は、輪郭線に対するヒンティング(太
くあるいは細くする処理)を行うための処理フローチャ
ートであり、図1の線幅補正部3によって実行される。
すなわち、全ての輪郭点に対し(ステップ101)、処
理対象の点(c)とその前の点(p)とその後の点
(n)を与えて(ステップ102、103)、関数Ne
wCoordを呼び出し、戻り値である処理後の座標m
oved〔c〕を、図2の該当する位置に記録する(ス
テップ104)。以下、p,c,nを順次増やして(ス
テップ105)処理を繰り返す。
【0015】図4は、関数NewCoordの処理フロ
ーチャートである。すなわち、直前の点(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)。
【0016】図5は、上記した図4で用いられる関数S
hiftVectorの処理フローチャートである。こ
れは2点間のx座標とy座標の相違を計算し、その絶対
値がx軸の方が大きければ、なだらかな斜線と判断し
(ステップ301、302)、そうでなければ急な斜線
と判断する(ステップ301、303)。
【0017】なだらかな斜線の始点のx座標(xs)が
終点のそれ(xe)よりも大きければ、黒塗り領域の下
端をなすことが分かるので、下向きの単位ベクトル
(0,−1)を返す(ステップ305)。終点のx座標
(xe)が始点のそれ(xs)よりも大きければ、黒塗
り領域の上端をなすことが分かるので、上向きの単位ベ
クトル(0,1)を返す(ステップ304)。急な斜線
についてもy軸方向について同様の処理を行う。
【0018】これによって、線幅補正部3は、輪郭点を
結ぶ線分のx軸となす角に依存して決定される方向に輪
郭点を移動する。即ち、x軸となす角が小さい場合には
なだらかな斜線(平行線に近い)として上下方向に輪郭
点を移動処理し、x軸となす角が大きい場合には急な斜
線(垂直線に近い)として左右方向に輪郭点を移動処理
する。図9は、本実施例によって輪郭点が移動処理され
た結果を示す図である。上記実施例では、45度を境界
として4種類に分けているが、これに限定されるもので
はなく、例えば8分割するなど種々の方法がある。
【0019】〈実施例2〉 図6は、上記した図4で用いられる関数ShiftVe
ctorの他の実施例の処理フローチャートである。こ
の処理では、まず始点から終点に至るベクトルを求め
(ステップ401)、これを反時計回りに90度回転さ
せた単位ベクトル(−y/N,x/N)を返すものであ
る(ステップ402)。
【0020】これにより、線幅補正部3は、輪郭点を結
ぶ線分の垂直方向に、輪郭点を移動処理する。図10
は、本実施例によって輪郭点が移動処理された結果を示
す図である。
【0021】〈実施例3〉 図7は、前述した関数NewCoordの他の実施例の
処理フローチャートである。この処理フローチャートに
おいて、ステップ501、502、503、505は、
図4の関数NewCoordの処理フローチャートにお
けるステップ201から204と同じものである。この
実施例では、ステップ504、506、507が新たに
付加されている。
【0022】すなわち、処理対象の点が鋭い先端点にな
っているとき(ステップ504)、新しく点を追加し
(ステップ506)、極端な形状の変化を避けた実施例
である。図11は、この実施例による処理結果を示す。
すなわち、点2、点6、点3からなる輪郭線は、点6が
鋭い先端点となっているので、上記したような輪郭点の
移動処理を行うと、点1、点8、点4となる一部破線で
示す輪郭線となり、形状の変化が極端なものとなる(点
6がより鋭くなる程、点8の位置が遠くなる)。
【0023】そこで、本実施例では、ステップ506で
点5を追加し(点5は点6を移動したものであり、また
点7は点6を移動したものである。ステップ507で
は、StartNextは点7となる)、点線部分の輪
郭線を抑止して形状の崩れを防止している。なお、この
例では、先端点6を2重化し、それを上下に広げた例を
示したが、これを必要な幅だけ右に移動すれば形状変化
はより少なくて済む。
【0024】〈実施例4〉 図8は、他の実施例の処理フローチャートである。この
実施例では、処理対象の点を曲線上でない点とし、これ
より前の最初の曲線上でない点と、これより後の最初の
曲線上でない点とを用いて、上述したと同様の処理を行
い、移動は前後の点に挾まれる全ての点に対して行うも
のである。つまり、ステップ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で説明した方法で移
動方向を決定し、その結果を曲線上の輪郭点に適用して
平行移動処理を行う。
【0025】図12は、本実施例による処理結果を示
す。点1と点2で線分が構成され、点5と点6で線分が
構成され、点2(曲線の始点)から点5(曲線の終点)
によって曲線が構成されている。また、点3、点4は曲
線の制御点である。
【0026】点1、点2の線分と、点2、点5の線分
と、点5、点6の線分に対しては、上述したと同様の処
理を行う。すなわち、点1、点2の線分を、その垂直方
向に太らせ、点2、点5の線分を、右方向に移動させ、
同様に点5、点6の線分をその垂直方向に太らせる。そ
して、点2と点5を結ぶ線分の右方向の移動量と同じだ
け、点3と点4を結ぶ線分を右方向に移動することによ
り図12に示す結果が得られる。
【0027】なお、ここでは、始点、終点に挾まれた2
制御点(点3、点4)で構成されるベツィエ曲線を例に
示したが、スプライン曲線などにおいても全く同様であ
る。
【0028】〈実施例5〉 ところで、輪郭点の座標として整数しか許さない処理系
においては、輪郭線を2ピクセルずつ太くする場合には
全体を1ピクセルずつ太くすれば良い。ところが輪郭線
を1ピクセル太くしようとすると、問題が起きる。つま
り、全体を0.5ピクセル太くすることができない。そ
こで、本実施例の線幅補正部3では、すべての輪郭点の
座標値を2倍し(256×256ピクセル空間を512
×512ピクセル空間にする)、そこで全体を1ピクセ
ルずつ太くすることによって実質的に同様の効果を得る
ことができる。もちろん変倍時のパラメータとしてこの
拡大量を用いなければならない。
【0029】〈実施例6〉 輪郭線の内点を塗りつぶす際に、最初に出会った輪郭線
を黒塗り領域の開始点、次に出会ったものを黒塗り領域
の終了点と判定する第1のピクセル処理方式と、最初に
出会った輪郭線を黒塗り領域の開始点、次に出会った輪
郭線を白塗り領域の開始点と判定する第2のピクセル処
理方式とがある。このような塗りつぶし方式の相違は、
ピクセルとは何であるかという定義の相違から生じるも
のである。
【0030】従って、第1のピクセル処理方式用にデザ
インされたアウトラインフォントの輪郭線を、第2のピ
クセル処理方式に渡して処理すると、その線幅が細くな
り、線幅の同一性が保証されない。そこで、本実施例で
は、線幅補正部3では、第1のピクセル処理方式用にデ
ザインされたアウトラインフォントのすべての輪郭線を
全体的に0.5ピクセルずつ太くしてから、第2のピク
セル処理方式に輪郭線データを渡すようにする。これに
よって、第2のピクセル処理方式で処理しても、第1の
ピクセル処理方式用にデザインされたアウトラインフォ
ントと同一の形状のものが得られることになる。もちろ
ん、上記したものと逆に、第2のピクセル処理方式を第
1のピクセル処理方式に変換する場合についても、線幅
補正部で輪郭線を0.5ピクセルずつ細らせてから処理
することによって、両ピクセル処理方式において同一形
状の文字が得られる。
【0031】
【発明の効果】以上、説明したように、本発明によれ
ば、以下のような効果が得られる。 (1) アウトラインフォント変形装置を、アウトライン
フォントの読み込む手段と、補正する線幅量の指定手段
と、読み込まれたアウトラインフォントの輪郭線を指定
された線幅量だけ補正して文字全体の太さを変更する線
幅補正手段と、補正されたアウトラインフォントを出力
する手段によって構成しているので、アウトラインフォ
ントの輪郭線を所定量だけ太くしたり細くしたりするこ
とが可能となる。
【0032】(2)輪郭点を結ぶ線分のx軸となす角に
依存して決定される方向に輪郭点を移動処理しているの
で、少ない計算量によってアウトラインフォントの輪郭
線を太くしたり細くしたりすることができる。
【0033】(3)輪郭点を結ぶ線分の垂直方向に該輪
郭点を移動処理しているので、輪郭線の幅の変化量を文
字全体で一定に保持することができ、高品質の文字を構
成することができる。
【0034】(4)2つの線分が鋭角をなすとき、先端
点が形成されないように線分を移動しているので、極端
に形状が変化することを防止することができる。
【0035】(5)曲線部の移動を行うとき曲線の始点
と終点を結ぶ線分を用いてその移動方向を決定している
ので、曲線部においても確実にその形状を保持して輪郭
線を太くしたり細くしたりすることができる。
【0036】(6)全ての輪郭点の座標をn倍した後に
輪郭線を補正しているので、1ピクセル単位以下の変形
も可能となる。
【0037】(7)第1のピクセル処理系用にデザイン
されたアウトラインフォントの輪郭線が第2のピクセル
処理系においても同一のデザインとなるように、あるい
は第2のピクセル処理系用にデザインされたアウトライ
ンフォントの輪郭線が第1のピクセル処理系においても
同一のデザインとなるように、輪郭線を制御しているの
で、第1のピクセル処理系と第2のピクセル処理系にお
いて同一形状の文字を得ることができる。
【図面の簡単な説明】
【図1】本発明の実施例のブロック構成図である。
【図2】線幅補正部において使用される輪郭点テーブル
である。
【図3】輪郭線に対するヒンティングを行うための処理
フローチャートである。
【図4】関数NewCoordの処理フローチャートで
ある。
【図5】関数ShiftVectorの処理フローチャ
ートである。
【図6】関数ShiftVectorの他の実施例の処
理フローチャートである。
【図7】関数NewCoordの他の実施例の処理フロ
ーチャートである。
【図8】他の実施例の処理フローチャートである。
【図9】本実施例によって輪郭点が移動処理された結果
を示す図である。
【図10】他の実施例によって輪郭点が移動処理された
結果を示す図である。
【図11】先端点を有する場合における他の実施例の処
理結果を示す図である。
【図12】曲線部を移動処理した結果を示す図である。
【図13】従来技術による輪郭の移動を説明する図であ
る。
【符号の説明】
1、6 アウトラインフォントデータ格納部 2 アウトラインフォント入力部 3 線幅補正部 4 パラメータ入力部 5 アウトラインフォント出力部 7 制御部

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 輪郭点を移動させることによりアウトラ
    インフォントを太くあるいは細くする変形装置におい
    て、所定のデザインサイズのアウトラインフォントを読
    み込む手段と、補正すべき線幅量を指定する手段と、該
    読み込まれたアウトラインフォントの輪郭線を該指定さ
    れた線幅量だけ補正して文字全体の太さを変更する線幅
    補正手段と、該補正されたアウトラインフォントを出力
    する手段を備えたアウトラインフォント変形装置であっ
    て、前記線幅補正手段は、輪郭点を結ぶ線分のx軸とな
    す角に依存して決定される方向に輪郭点を移動すること
    を特徴とするアウトラインフォント変形装置。
  2. 【請求項2】 前記線幅補正手段は、輪郭点を結ぶ第1
    の線分と第2の線分が鋭角をなして折り返すとき、鋭角
    をなして折り返す先端点を2重化し、前記2つの線分と
    それを結ぶ線分としてそれぞれ移動することを特徴とす
    る請求項1記載のアウトラインフォント変形装置。
  3. 【請求項3】 前記線幅補正手段は、曲線部の移動を行
    うとき、該曲線の始点と終点からなる線分についてx軸
    となす角に依存して決定される方向に、移動方向を決定
    することを特徴とする請求項1記載のアウトラインフォ
    ント変形装置。
  4. 【請求項4】 前記線幅補正手段は、全ての輪郭点の座
    標をn倍(nは整数)した後に輪郭線を補正し、前記出
    力手段は前記デザインサイズのn倍のアウトラインフォ
    ントを出力することを特徴とする請求項1記載のアウト
    ラインフォント変形装置。
  5. 【請求項5】 輪郭線の内点を塗りつぶす際に、最初の
    輪郭線を黒塗り領域の開始点、次の輪郭線を黒塗り領域
    の終了点と判定する第1のピクセル処理系と、最初の輪
    郭線を黒塗り領域の開始点、次の輪郭線を白塗り領域の
    開始点と判定する第2のピクセル処理系があるとき、前
    記線幅補正手段は、第1のピクセル処理系のアウトライ
    ンフォントを第2のピクセル処理系のアウトラインフォ
    ントに変換する際には、0.5ピクセルずつ太らせてか
    ら処理し、第2のピクセル処理 系のアウトラインフォン
    トを第1のピクセル処理系のアウトラインフォントに変
    換する際には、0.5ピクセルずつ細らせてから処理す
    ことを特徴とする請求項1記載のアウトラインフォン
    ト変形装置。
JP27719892A 1992-09-09 1992-10-15 アウトラインフォント変形装置 Expired - Fee Related JP3338484B2 (ja)

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)

* Cited by examiner, † Cited by third party
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

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