JP3243293B2 - 輪郭線補正方法 - Google Patents

輪郭線補正方法

Info

Publication number
JP3243293B2
JP3243293B2 JP23862992A JP23862992A JP3243293B2 JP 3243293 B2 JP3243293 B2 JP 3243293B2 JP 23862992 A JP23862992 A JP 23862992A JP 23862992 A JP23862992 A JP 23862992A JP 3243293 B2 JP3243293 B2 JP 3243293B2
Authority
JP
Japan
Prior art keywords
point
line width
distance
attribute
outline
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 - Lifetime
Application number
JP23862992A
Other languages
English (en)
Other versions
JPH0683313A (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 JP23862992A priority Critical patent/JP3243293B2/ja
Publication of JPH0683313A publication Critical patent/JPH0683313A/ja
Application granted granted Critical
Publication of JP3243293B2 publication Critical patent/JP3243293B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、アウトラインフォント
のヒンティングにおける輪郭線補正方法に関する。
【0002】
【従来の技術】図8は、アウトラインフォントの処理構
成図である。フォントファイル1から読み込まれたアウ
トラインデータは、展開部2において輪郭線として展開
され、次いで変倍処理部3で求める大きさに変倍され、
ヒンティング処理部4では、変倍されたアウトラインデ
ータに対して線幅補正などのヒンティングを施し、ラス
タライザ5で塗りつぶし処理が行われて輪郭内をドット
データ6に展開する。
【0003】なお、上記した技術については、NIKK
EI BYTE/JUNE1992pp158−165
(文献1),同FEBRUARY 1992 pp11
2−123(文献2)において詳細に説明されている。
【0004】
【発明が解決しようとする課題】以下の説明において
は、ピクセルは格子点を左下隅とする単位正方形である
ものとし、従って、ピクセルの中心は、(m+0.5
,n+0.5) ただし、m,nは整数にある。もち
ろん格子点をピクセル中心と仮定してもよい。
【0005】256×256ピクセルの空間でデザイン
された文字“H”を、16×16ピクセルに縮小する例
を用いて、従来技術の問題点を説明する。フォントファ
イル1から読み込まれたアウトラインデータは、図9に
示すように輪郭線として展開される。このアウトライン
データを16×16ピクセルに縮小すると、図10のデ
ータが得られる。
【0006】ここで、塗りつぶし処理のために、例えば
輪郭線の上または内部にピクセル中心のあるピクセルが
反転するという、塗りつぶし規則を採用すると、左側の
縦ステムは2ピクセルになり、右側の縦ステムは1ピク
セルになってしまう。
【0007】また、各点のx,y座標を四捨五入する
と、図11が得られ、この場合でも縦ステムの太さが違
ってしまう。一方、四捨五入ではなく、切り上げや切り
捨てを用いると、右側のステムが太くなり、左側のステ
ムが細くなってしまう。このような線幅がバラついたり
する問題点については、前掲した文献1の163ページ
においても指摘されている。これを解決する手法がヒン
ティングと呼ばれる技術である。
【0008】本発明の目的は、変倍処理や丸めによって
生じるステムの線幅のバラツキを効果的に修正するアウ
トラインフォントの輪郭線補正方法を提供することにあ
る。
【0009】
【課題を解決するための手段】前記目的を達成するため
に、請求項記載の発明では、アウトラインフォントの
輪郭線補正方法において、第1の輪郭点と第2の輪郭点
との中点である第3の点が存在し、デザイン時における
前記第1の輪郭点に対応する輪郭線上の線分までの距離
と、ステムの持つべき線幅が予め設定され、該デザイン
時の距離と線幅を現サイズに変倍した距離と線幅の値
を、1/2にした第2の距離と第2の線幅を求め、該第
2の距離と第2の線幅を用いて、前記第1の輪郭点と第
2の輪郭点に対してヒンティングを施すことを特徴とし
ている。
【0010】請求項記載の発明では、前記線幅が奇数
の値をとるとき、前記中点に対するヒンティングはピク
セル中心への移動とし、前記線幅が偶数の値をとると
き、前記中点に対するヒンティングはピクセル境界への
移動とすることを特徴としている。
【0011】
【作用】アウトラインデータの点の属性を調べ、属性0
の点についてはx軸方向、y軸方向に丸め処理を行い、
属性1の点については、x軸方向には適合処理を行い、
y軸方向には丸め処理を行う。属性2の点については、
x軸方向には丸め処理を行い、y軸方向には適合処理を
行い、属性3の点については、x軸方向、y軸方向に適
合処理を行う。これにより、ステムの線幅を揃えること
が可能となる。また、ステムの中心(第1の輪郭点と第
2の輪郭点の中点)をピクセル境界またはピクセル中心
へ移動させることによって、文字の上下左右の対称性を
保持することが可能となる。
【0012】
【実施例】以下、本発明の一実施例を図面を用いて具体
的に説明する。 〈実施例1〉 図1は、本発明の輪郭線補正処理のフローチャートであ
り、例えば、前述したように256×256ピクセルの
空間でデザインされた文字“H”を16×16ピクセル
に縮小変倍処理したときに補正処理のヒンティング処理
を行うものである。また、この処理は、図8に示すヒン
ティング処理部4によって実行されるものである。
【0013】図9に示すアウトラインデータにおいて、
点2、3、6、7、11に対して属性0が付与され、点
0、1、4、5、8には属性1が付与され、点10には
属性2が付与され、点9には属性3が付与されているも
のとする。そして、図2に示すように、デザイン時の各
点の属性について、対応する輪郭線上の線分までの距離
と、そのステムの持つべき線幅とを格納した線幅テーブ
ルを設ける。
【0014】例えば、該テーブル中の点属性が1である
点1についてみると、距離24が読みだされ、この距離
は点1から対応する点2と点3で作られる輪郭線までの
距離が24ドットであることを意味し、またその線幅が
24ドットであることを意味する。
【0015】変倍処理が行われると、同時に上記した距
離は変倍処理された値になり、また、上記した線幅は、
変倍処理された距離を丸めた値になる。なお、この丸め
には必然性はない。つまり、同じ属性の点に対して同じ
線幅を提供するものであれば丸めでなくてもよく、全く
別のテーブルで構成することも可能である。
【0016】本実施例の動作について説明すると、アウ
トラインデータの点数をnumpointに設定し(ス
テップ101)、nを0として(ステップ102)、n
がnumpointを越えない限り(ステップ10
3)、アウトラインデータの点の属性を調べ(ステップ
104)、属性0を持つ点についてはx軸方向、y軸方
向に丸め処理を行う(ステップ105)。例えば、点2
は属性0であるので、点2の変倍後のx座標位置は2.
75(=44/16)となり、丸める(四捨五入)と
3.0になる。
【0017】属性1を持つ点については、x軸方向には
後述するような適合処理を行い、y軸方向には丸め処理
を行う(ステップ106)。属性2を持つ点について
は、x軸方向には丸め処理を行い、y軸方向には適合処
理を行う(ステップ107)。属性3を持つ点について
は、x軸方向、y軸方向に適合処理を行う(ステップ1
08)。それ以外の点については、他の方法によってヒ
ンティングが行われる(ステップ109)。nを次の点
にして(ステップ110)、以上の処理を繰返し、アウ
トラインデータの全ての点について処理する。
【0018】ここで、丸め処理とは、四捨五入、切り上
げ、切り捨てといった、小数を整数にするための変換を
指す。以下の説明では、四捨五入を用いる。なお、丸め
処理、適合処理は、ヒンティング処理の一例である。
【0019】上記した適合処理、例えば点1に対するx
軸方向の適合処理(線幅補正の一例)を例にして説明す
る。256×256ピクセルの空間でデザインされた文
字“H”が16×16ピクセルに縮小処理されるので、
点1の属性1に対応する線幅テーブル(図2)から読み
だされる距離24は、1.5(=24/16)になり、
また線幅は、距離1.5を四捨五入した2を得る。
【0020】x座標が1.25(=20/16)である
点1を、距離1.5だけ右に移動する。この点はちょう
ど点2のある位置(2.75)である。
【0021】従って、距離1.5だけ右に移動され、x
座標が2.75である点1に対して、点2に施される丸
め処理(ステップ105)を施す。つまり、x座標が
2.75である点1を最も近いピクセル境界である3.
0に移動する。
【0022】x座標が3.0である点1を左に線幅2だ
け移動し、点1のx座標が1.0、点2のx座標が3.
0、線幅が2である、ヒンティング処理(線幅補正)さ
れたステムが得られる。
【0023】〈実施例2〉 上記した実施例では、点の移動処理を3回(右2回、左
1回)行っているが、本実施例2では、点の移動回数を
少なくしたものである。すなわち、 (1)点1の属性1に対応する距離1.5と線幅2を得
る。 (2)点1のx座標1.25を得て、これに距離1.5
を加算する。これはちょうど点2のx座標である。 (3)得られたx座標2.75を四捨五入して3.0を
得る。 (4)得られたx座標3.0から線幅2を引く。 (5)得られたx座標1.0の位置に点1を移動する。
【0024】この実施例では、点1の移動処理が左に一
回移動するだけで、処理が簡単になる。図3は、実施例
1、2によってヒンティングされたアウトラインデータ
を示す。
【0025】〈実施例3〉 上記した実施例1、2の処理によって、同一の線幅にデ
ザインされたステムの線幅を変倍後も同一に保つことが
可能になる。しかし、上記した方法では、縦ステムの位
置を、その輪郭線の右端を基準に決定しているので、小
サイズにおいては全体のバランスが崩れてしまう可能性
がある。実施例3は、文字の対称性を保持し、きれいで
バランスのよい文字を生成するものである。
【0026】図4は、実施例3の輪郭線補正処理のフロ
ーチャートであり、前述した実施例と同様に256×2
56ピクセルの空間でデザインされた文字“H”を16
×16ピクセルに縮小変倍処理したときに補正処理であ
るヒンティングを行うものである。
【0027】また、図9に示すアウトラインデータにお
いて、点0、1、5、8に対して属性10が付与され、
点4には属性11が付与され、点9には属性12が付与
され、点2、6、7、11には属性20が付与され、点
3には属性21が付与され、点10には属性22が付与
されているものとする。この2桁からなる属性のうち、
上位の桁はx軸方向の属性を表し、下位の桁はy軸方向
の属性を表している。
【0028】そして、図5に示すように、デザイン時の
各点の属性について、対応する輪郭線上の線分までの距
離と、そのステムの持つべき線幅とを格納した線幅テー
ブルを設ける。変倍処理が行われると、同時に上記した
距離と線幅は変倍処理された値になる。
【0029】本実施例の動作について説明すると、アウ
トラインデータの点数をnumpointに設定し(ス
テップ201)、nを0として(ステップ202)、n
がnumpointを越えない限り(ステップ20
3)、アウトラインデータの点の属性を調べ(ステップ
204)、x軸方向の属性が0ならばx軸方向に丸め処
理を行い(ステップ205、206、207)、x軸方
向の属性が1ならば左端の適合処理を行い(ステップ2
08、209、210)、x軸方向の属性が2ならば右
端の適合処理を行う(ステップ211、212、21
3)。
【0030】y軸方向の属性が0ならばy軸方向に丸め
処理を行い(ステップ205、208、211)、y軸
方向の属性が1ならば上端の適合処理を行い(ステップ
206、209、212)、y軸方向の属性が2ならば
下端の適合処理を行う(ステップ207、210、21
3)。それ以外の点については、他の方法によってヒン
ティングが行われる(ステップ214)。nを次の点に
して(ステップ215)、以上の処理を繰り返して、ア
ウトラインデータの全ての点について処理する。
【0031】ここで、丸め処理とは、前述したと同様
に、四捨五入、切り上げ、切り捨てといった、小数を整
数にするための変換を指す。以下の説明では、四捨五入
を用いる。
【0032】上記した適合処理、例えば点1(属性1
0)に対する左端適合処理を例にして説明する。256
×256ピクセルの空間でデザインされた文字“H”が
16×16ピクセルに縮小処理されるので、点1のx軸
方向の属性1に対応する、図5の線幅テーブルから読み
だされる距離24は、1.5(=24/16)になり、
また線幅は、1.5(=24/16)になる。
【0033】これらを1/2にして、距離0.75と線
幅0.75を得る。x座標が1.25(=20/16)
である点1を、距離0.75だけ右に移動する。この点
はちょうど点1と点2の中点にあたる。x座標が2.0
である点1を、最も近いピクセル境界2.0に移動す
る。x座標が2.0である点1を左に線幅0.75だけ
移動する。点2に対する右端の適合処理を、上記した点
1に対する適合処理と全く対称的に行う。この結果、図
6に示すように、変倍処理されたステムの中心線をピク
セル境界にするように線幅補正され、左右対称にヒンテ
ィング処理されたステムが得られる。
【0034】〈実施例4〉 上記した実施例3では、点の移動処理を3回(右2回、
左1回)行っているが、本実施例4では、点の移動回数
を少なくしたものである。なお、この実施例では図5の
線幅テーブルの値が1/2になっているものとする。従
って、線幅テーブルの値を1/2にする演算が省略され
る。
【0035】 (1)点1のx軸方向の属性1に対応する距離0.75
と線幅0.75を得る。 (2)点1のx座標1.25を得て、これに距離0.7
5を加算する。これはちょうど点1と点2の中点のx座
標である。 (3)得られたx座標2.0を四捨五入して2.0を得
る。 (4)得られたx座標2.0から線幅0.75を引く。 (5)得られたx座標1.25の位置に点1を移動す
る。
【0036】この実施例4では、点1の移動処理が左に
一回移動するだけで、実施例3に比べて処理が簡単にな
る。この処理結果は、図6に示すようにヒンティング処
理されたアウトラインデータとなる。
【0037】〈実施例5〉 上記した実施例では、点1と点2の中点に対する処理と
してピクセル境界への移動(四捨五入)を行うものであ
った。しかし、中点をピクセル境界へ移動して、該中点
から上下または左右対称に移動を行うものであるから現
われるピクセル数は必ず偶数になってしまう。図6の縦
ステムは2ピクセルとなる。従って、中点をピクセル境
界へ移動した場合、ピクセル数は、2ピクセル、4ピク
セル、6ピクセル...の値をとることからステムの幅
が急に太くなって、きれいな文字を構成できない。
【0038】中点をピクセル中心へ移動した場合でも、
ピクセル数は、1ピクセル(図6の横ステム)、3ピク
セル、5ピクセル...の如く奇数になるだけでステム
の幅が急に太くなって同様にきれいな文字を構成できな
い。
【0039】そこで、本実施例では、線幅テーブルに保
持されている線幅が奇数のとき、中点に対するヒンティ
ングは、ピクセル中心への移動とし、線幅が偶数のとき
にはピクセル境界への移動とするものである。すなわ
ち、 (1)点1のx軸方向の属性1に対応する線幅1.5を
得る。 (2)この線幅1.5を四捨五入して2を得る。 (3)2は偶数であるので、中点の移動はピクセル境界
への移動を用いる。奇数のときは、ピクセル中心へ移動
する。
【0040】なお、四捨五入は、一例であって、小数値
を整数に変換する方法であればよい。また、上記した丸
め処理の他に、図7に示すように、線幅に対応してピク
セル境界にするか、ピクセル中心にするかを決める奇偶
テーブルを設けるようにしてもよい。
【0041】
【発明の効果】以上、説明したように、本発明によれ
ば、特定の輪郭点に対応する予め設定された輪郭線上の
線分までの距離とステムの線幅を用いて、該特定の輪郭
点に対する適合処理を行っているので、変倍後において
もステムの線幅を揃えることができ、バランスの良い、
高品質な文字が出力される。
【0042】また、本発明によれば、変倍処理されたス
テムの中心線をピクセル境界あるいはピクセル中心に移
動処理しているので、ステムの左右対称性と上下対称性
を保持することができるとともに、文字の形状を損ねる
ことが抑止される。
【0043】さらに、本発明によれば、ステム線幅の奇
数と偶数を考慮して処理しているので、きれいな文字を
構成することができる。
【図面の簡単な説明】
【図1】本発明の輪郭線補正処理のフローチャートであ
る。
【図2】線幅テーブルを示す図である。
【図3】本発明によってヒンティングされたアウトライ
ンデータである。
【図4】本発明の他の実施例の輪郭線補正処理のフロー
チャートである。
【図5】他の実施例の線幅テーブルを示す図である。
【図6】本発明によってヒンティングされたアウトライ
ンデータである。
【図7】奇偶テーブルを示す図である。
【図8】アウトラインフォントの処理構成図である。
【図9】展開されたアウトラインデータである。
【図10】変倍されたアウトラインデータである。
【図11】四捨五入されたアウトラインデータである。
【符号の説明】
1 フォントファイル 2 展開部 3 変倍処理部 4 ヒンティング処理部 5 ラスタライザ 6 ドットデータ

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 アウトラインフォントの輪郭線補正方法
    において、第1の輪郭点と第2の輪郭点との中点である
    第3の点が存在し、デザイン時における前記第1の輪郭
    点に対応する輪郭線上の線分までの距離と、ステムの持
    つべき線幅が予め設定され、該デザイン時の距離と線幅
    を現サイズに変倍した距離と線幅の値を、1/2にした
    第2の距離と第2の線幅を求め、該第2の距離と第2の
    線幅を用いて、前記第1の輪郭点と第2の輪郭点に対し
    てヒンティングを施すことを特徴とする輪郭線補正方
    法。
  2. 【請求項2】 前記線幅が奇数の値をとるとき、前記中
    点に対するヒンティングはピクセル中心への移動とし、
    前記線幅が偶数の値をとるとき、前記中点に対するヒン
    ティングはピクセル境界への移動とすることを特徴とす
    る請求項記載の輪郭線補正方法。
JP23862992A 1992-09-07 1992-09-07 輪郭線補正方法 Expired - Lifetime JP3243293B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23862992A JP3243293B2 (ja) 1992-09-07 1992-09-07 輪郭線補正方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23862992A JP3243293B2 (ja) 1992-09-07 1992-09-07 輪郭線補正方法

Publications (2)

Publication Number Publication Date
JPH0683313A JPH0683313A (ja) 1994-03-25
JP3243293B2 true JP3243293B2 (ja) 2002-01-07

Family

ID=17032989

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23862992A Expired - Lifetime JP3243293B2 (ja) 1992-09-07 1992-09-07 輪郭線補正方法

Country Status (1)

Country Link
JP (1) JP3243293B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7265757B2 (en) * 2004-05-28 2007-09-04 Microsoft Corporation Appropriately rendering a graphical object when a corresponding outline lacks control points
JP2010039375A (ja) * 2008-08-07 2010-02-18 Sharp Corp 文字描画装置、文字描画方法、文字描画プログラム、およびコンピュータ読取可能な記録媒体
US8102397B2 (en) * 2009-01-26 2012-01-24 Mitsubishi Electric Research Laboratories Inc. Method for improving uniform width character strokes using multiple alignment zones

Also Published As

Publication number Publication date
JPH0683313A (ja) 1994-03-25

Similar Documents

Publication Publication Date Title
US7945114B2 (en) Image transform method for obtaining expanded image data, image processing apparatus and image display device therefore
JP3057935B2 (ja) 文字出力装置
JP3243293B2 (ja) 輪郭線補正方法
JP2634851B2 (ja) 画像処理装置
JPH08194459A (ja) アウトライン文字描画装置
JP3215179B2 (ja) アウトラインフォントのヒンティング方法
JP2003162728A (ja) 画像処理装置及び画像出力装置
CA2743036C (en) Vector image drawing device, vector image drawing method, and recording medium
JP3146771B2 (ja) フォントラスタライズ装置およびその方法
JP2007241859A (ja) 画像処理装置及びその処理方法
JP2906717B2 (ja) 画像変倍方法
KR100742155B1 (ko) 스캔라인 형성 방법 및 장치
JP3338484B2 (ja) アウトラインフォント変形装置
JP3057959B2 (ja) データ変換装置
JPH10198333A (ja) アウトライン文字描画装置
JP3260733B2 (ja) ベクトルフォント辞書
Zahir et al. A near exact image expansion scheme for bi-level images
JPS59195759A (ja) 画像の拡大縮小方法
JP3437032B2 (ja) 文字作成装置
JP3065855B2 (ja) 画像処理装置
JP3085396B2 (ja) ベクトルフォントの展開方法および装置
JPH06274151A (ja) ヒンティング処理方法
JPH0573026A (ja) 文字図形発生方法
JPH03122774A (ja) 線型補間拡大装置
JPH09198497A (ja) 画像データの加工処理方式

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071019

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20081019

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20081019

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20091019

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20101019

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20111019

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20121019

Year of fee payment: 11

EXPY Cancellation because of completion of term