JP3119805B2 - 多階調データ生成装置 - Google Patents

多階調データ生成装置

Info

Publication number
JP3119805B2
JP3119805B2 JP07315390A JP31539095A JP3119805B2 JP 3119805 B2 JP3119805 B2 JP 3119805B2 JP 07315390 A JP07315390 A JP 07315390A JP 31539095 A JP31539095 A JP 31539095A JP 3119805 B2 JP3119805 B2 JP 3119805B2
Authority
JP
Japan
Prior art keywords
stroke
pixel
straight line
coordinates
tone data
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
JP07315390A
Other languages
English (en)
Other versions
JPH08272353A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP07315390A priority Critical patent/JP3119805B2/ja
Priority to US08/575,500 priority patent/US5909221A/en
Publication of JPH08272353A publication Critical patent/JPH08272353A/ja
Application granted granted Critical
Publication of JP3119805B2 publication Critical patent/JP3119805B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Facsimile Image Signal Circuits (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、文字や図形などの
アウトラインデ−タから多階調データを生成する多階調
データ生成装置に関する。
【0002】
【従来の技術】近年、パーソナルコンピュータ、電子手
帳、携帯型情報機器、ゲーム機器などの情報処理装置に
おいて、サイズ、字体、修飾等を多彩に設定できる文字
表示機能が重要になっている。一般にディスプレイは、
プリンタと比較して解像度が低いため、白と黒の2値デ
ータでは文字や図形の輪郭部分がぎざぎざになったり、
細かい形状が表現できないため、印刷物と比較して品質
が劣ってしまう。また、白と黒だけでなく中間調(灰
色)が表現できるディスプレイでは、各画素(以下では
画素のことをピクセルと表現する)を白黒および中間調
を用いて表示することにより、解像度の低さを補い表示
品質を向上させることができる。例えばグラフィックス
の分野ではアンチエリアシングという手法を用いて、白
黒および中間調で表現された多階調データを生成するこ
とが一般に行われている。
【0003】従来、多階調データ生成方法およびその装
置は、文字や図形などのアウトラインデータに含まれる
輪郭情報から、まず要求されるサイズのピクセル数に対
して縦横整数倍の白黒のみで表現された2値イメージを
生成し、生成された2値イメージの単位面積(整数倍さ
れた1ピクセル)当たりに含まれる黒の個数に従って各
ピクセルの階調値を決定することで、多階調データを生
成していた。
【0004】図3は、従来の多階調データ生成装置の構
成を示す機能ブロック図である。この多階調データ生成
装置は、輪郭情報拡大縮小部201、多階調データ生成
部202を備え、多階調データ生成部202は内部に2
値データ生成部301と階調値算出部302とを有して
いる。以上のように構成された従来の多階調データ生成
方法およびその装置について、以下図3〜図11を用い
てその動作を説明する。
【0005】図4と図5は、文字や図形などのアウトラ
インデータに含まれる輪郭情報とストローク位置情報の
一例を示す。この例ではゴシック体の漢字フォント
「三」を1000×1000の座標系(以下では100
0メッシュと表現する)での直線の集合で表現してい
る。輪郭情報は、3個の輪郭から構成されており、各座
標点を結んでいくことにより輪郭線が描画される。この
例では輪郭の終点座標は始点座標と自動的に結ばれるも
のとしている。直線に加えて2次曲線や3次曲線が併用
されることも多い。一方、「三」に含まれる3本の水平
ストローク(文字の場合は水平ステムと呼ばれる)の位
置情報はストローク位置情報として保持されている。こ
の例では、水平ストロークを構成する下部直線と上部直
線のY座標値のペアが保持されている。この情報から水
平ストローク幅は減算にて求められる。この例では3本
の水平ストロークの幅はすべて等しくて100という値
である。水平ストローク情報として下部直線のY座標と
ストローク幅を保持したり、輪郭情報に座標点の属性と
して付加するなど、この例以外の方法で情報が保持され
る場合もある。垂直ストロークが存在する場合には、同
様の方法で垂直ストローク情報も保持される。これらの
ストローク位置情報は一般にヒント情報とよばれ、拡大
縮小後のストローク幅の一貫性を保持するために使用さ
れる。
【0006】以下では、このアウトラインデータから1
0×10ピクセル(縦・横方向それぞれ10ピクセルず
つの合計100ピクセル)で構成される多階調データを
生成する場合を考える。輪郭情報拡大縮小部201は、
アウトラインデータを要求されるサイズのピクセル数の
縦横整数倍に拡大縮小する。この例では要求サイズは1
0×10ピクセルである。整数倍率を8×8倍(縦・横
方向それぞれ8倍ずつ)とすると、1000メッシュの
アウトラインデータの輪郭情報は80×80メッシュの
データに縮小されることになる。もちろん整数倍率は8
×8倍以外でもかまわない。
【0007】ここで整数倍することの意味合いを説明し
ておく。8×8倍の場合には、もともと10×10ピク
セルのデータを要求されている場合、本来10×10メ
ッシュに縮小すればよいはずである。しかし白黒2値デ
ータではなく多階調データを生成するためには、各ピク
セルの階調値を決定する必要がある。そのために1ピク
セルの内部を細分化し、1ピクセル中の黒部分の割合を
求めて、その割合に応じて階調値を決定する。たとえば
1ピクセルの1辺を8個に細分化すると1ピクセルは8
×8個で合計64個の小さなピクセルに細分化される。
以下では1ピクセルを細分化するメッシュを「サブメッ
シュ」、細分化された小さなピクセルを「サブピクセ
ル」、ピクセルとピクセルの境界線を「ピクセル境
界」、サブピクセルとサブピクセルの境界線を「サブピ
クセル境界」、ピクセル境界の交点を「グリッド」(ピ
クセルの四隅の点)、サブピクセル境界の交点を「サブ
グリッド」(サブピクセルの四隅の点)と表現すること
にする。図6はピクセルをサブピクセルに分割した状態
を示したものである。太線がピクセル境界、細線がサブ
ピクセル境界を表している。今回の例では1メッシュを
8サブメッシュにすることになり、結果的に1ピクセル
は8×8サブピクセル(合計64サブピクセル)に分割
される。要求サイズの縦横8倍に拡大縮小するというこ
とは、サブメッシュ(サブピクセル)で表現された座標
系に変換することに対応している。この例では、100
0メッシュデータを80サブメッシュ(10メッシュ)
データに縮小することになる。
【0008】図7は、80サブメッシュに縮小されたア
ウトラインデータの輪郭情報を示している。単純な縮小
では量子化誤差により「三」に含まれる3本の水平スト
ロークの幅が同じにならない可能性もあるが、ここでは
ストローク位置情報を用いて、一般にヒント処理と呼ば
れているストローク幅の一貫性を保つ処理を行うこと
で、ストローク幅は同じに揃えられている。この例では
3本のストロークはすべて1000メッシュで100で
あったが、縮小後は3本とも100×80/1000=
8で求められるように8サブメッシュ幅(8サブピクセ
ル幅)に統一されている。なお、ヒント処理はアウトラ
インフォントから2値データを生成する時の品質向上手
法として広く用いられている。ヒント処理を行わないと
ストローク幅が不揃いになり見た目の美しさが損なわれ
る。
【0009】2値データ生成部301は、輪郭情報拡大
縮小部201で生成された拡大縮小後のアウトラインデ
ータの輪郭情報から、2値イメージデータを生成する。
図8は、図7の縮小されたアウトラインデータの輪郭情
報から生成された80×80サブピクセルの2値データ
である。階調値算出部302は、2値データ生成部30
1で生成された2値データから各ピクセルの階調値を算
出することで、多階調イメージデータを生成する。1ピ
クセルを8サブメッシュに分割する場合には、最終の多
階調イメージデータの1ピクセルが、8×8サブピクセ
ルすなわち合計64サブピクセルで表現される。階調値
算出部302では、この64サブピクセルのうちの黒サ
ブピクセルの割合に応じた階調値を計算して、最終的な
多階調イメージデータの1ピクセルの階調値とする。最
終的に8階調の多階調イメージデータを生成する場合に
は、例えば64サブピクセルのうちの黒サブピクセルの
個数を8で割った商を階調値0〜7に対応させる(ただ
し個数が64の場合は7とする)といった方法で階調値
を算出する。ここで階調値0は白、階調値1〜6は中間
調(数値が大きいほど黒に近い灰色である)、階調値7
は黒を表すものとする。図9は、階調値算出部302に
よって、図8の80×80サブピクセルの2値データか
ら生成された多階調イメージデータである。
【0010】
【発明が解決しようとする課題】ところで、上記従来の
技術では、拡大縮小後のアウトラインデータの輪郭情報
で水平ストロークや垂直ストロークの幅の一貫性がとれ
ていても、ストロークを配置する位置によっては見かけ
が異なるため、美しさが損なわれるという問題点があっ
た。
【0011】例えば、図7および図8では、「三」の3
本の水平ストロークの幅は等しく、8サブピクセル分の
幅である。しかし、3本のストロークは、多階調データ
での1ピクセルの内部での配置位置が異なる。図10
は、3本のストロークの配置状態を拡大した図である。
3本のストロークの上部直線が、左から順にそれぞれ上
から7本目(ピクセル内7/8位置)のサブピクセル境
界上、上から4本目(ピクセル中央)のサブピクセル境
界上、ピクセル内のピクセル境界上に配置されている。
図11は、図10の3種類のストローク配置に対応する
多階調データである。
【0012】図11の右端の例では水平ストロークは鮮
明すぎて非常に細く見えい、中間調が含まれていないた
め、他の曲線や斜線を表すストロークがある場合、中間
調表現とのバランスもよくない。図11の中央の例では
水平ストロークは、にじんだように薄く広がって見え
る。このように配置位置が異なると、同図で示されるよ
うに異なった階調値を用いたストローク表現になる。従
って、図9の多階調データでは3本とも表現が異なって
しまっており、低解像度のディスプレイや液晶パネルで
はストローク幅が不揃いに見えてしまう。また、太さの
異なる2本のストロークがある場合、本来太いはずのス
トロークのほうが細く見えてしまうといった逆転現象も
起こってしまう。ストローク幅の一貫性を保つためのヒ
ント処理を行っていない場合には、文字品位はさらに劣
化する。
【0013】この例では、1ピクセルを8サブメッシュ
に分割した2値データを作成しているが、16サブメッ
シュなどさらに細かな2値データを生成しておき、階調
値を16×16サブピクセル中に含まれる黒サブピクセ
ルの割合から算出することで、より精度の高い多階調デ
ータを生成できる。しかし、サブメッシュをいくら細か
くしても上記課題は解決されない。
【0014】上記課題に鑑み本発明はストローク幅のバ
ランスがとれた美しい多階調データを容易に生成する多
階調データ生成装置を提供することを目的とする。
【0015】
【課題を解決するための手段】この目的を達成をするた
めに、本発明は、文字、図形などに含まれるストローク
の輪郭を表す輪郭情報と、縦ストロークおよび横ストロ
ークの位置を示すストローク情報とを含むアウトライン
データに基づいて、所定のピクセル数からなるサイズの
文字、図形を多階調データとして生成する多階調データ
生成装置であって、前記ストローク情報に示される各ス
トロークの位置を、前記サイズのピクセル座標をさらに
縦横に細分化したサブピクセルの位置を表すサブプクセ
ル座標系の座標に変換することにより初期配置位置を求
める初期配置手段と、変換された各ストロークについ
て、その中心線をピクセル境界から所定の距離をもつ位
置に移動させるための、少なくとも1つの移動量候補を
準備する準備手段と、各ストロークについて、移動量候
補の中の1つに従って最適配置位置を決定する最適配置
決定手段と、決定された各ストロークに対して、前記輪
郭情報に基づいて前記サブピクセル座標系における輪郭
を生成する輪郭生成手段と、生成された輪郭に基づい
て、各画素単位に階調データを生成する多階調データ生
成手段とを備える。この構成によれば、最適化手段によ
り決定された位置にストロークが配置される。その配置
に従って輪郭生成手段により輪郭が生成され、さらに多
階調データ生成手段により多階調データが生成されると
いう作用を有する。これにより所定の基準を満たす最適
位置に全てのストロークが配置されるので、ストローク
の多階調データによる表現が揃ったバランスのよい美し
い表示品質を得ることができる。
【0016】
【発明の実施の形態】請求項1の発明は、文字、図形な
どに含まれるストロークの輪郭を表す輪郭情報と、縦ス
トロークおよび横ストロークの位置を示すストローク情
報とを含むアウトラインデータに基づいて、所定の画素
数からなるサイズの文字、図形を多階調データとして生
成する多階調データ生成装置であって、前記サイズの全
ての画素を縦横に細分化した微小画素の位置を表す座標
系において、前記ストローク情報に示される各ストロー
クの位置を各画素の境界からの距離に関する所定の基準
を満たす位置に移動させることによりストローク位置を
最適化する最適化手段と、最適化された各ストロークに
基づいて、前記輪郭情報から前記座標系における輪郭を
生成する輪郭生成手段と、生成された輪郭に基づいて、
各画素単位に階調データを生成する多階調データ生成手
段とを備えている。この構成によれば、最適化手段によ
り最適な位置にストロークが配置される。その配置に従
って輪郭生成手段により輪郭が生成され、さらに多階調
データ生成手段により多階調データが生成される。
【0017】請求項2の発明は請求項1において、前記
最適化手段は、全てのストロークについて、ストローク
情報に示されるストロークの位置に基づいて、全ての画
素を縦横に細分化した微小画素の位置を表す座標系にお
けるストローク位置を算出する初期位置算出手段と、前
記座標系における各ストロークの位置を、前記座標系に
おける各画素の境界との距離に関する所定の基準を満た
す最適位置に変更する位置変更手段とを有している。こ
の構成によれば、初期位置算出手段により算出されたス
トローク位置を用いて、位置変更手段が前記所定の基準
を満たす最適位置にストローク位置を変更する。
【0018】請求項3の発明は請求項2において、前記
位置変更手段は、各ストローク中心線の位置が前記最適
位置に位置するように位置変更する。この構成によれば
全てのストロークの中心線の位置が前記基準を満たす最
適位置に配置される。請求項4の発明は請求項3におい
て、前記所定の基準を満たす最適位置は、画素の境界と
ストローク中心線との距離が、水平ストロークの場合に
は画素の水平境界から所定の距離となる位置であり、垂
直ストロークの場合には画素の垂直境界から前記所定の
距離となる位置である。
【0019】請求項5の発明は請求項4において、前記
所定の基準を満たす最適位置は、画素の境界とストロー
ク中心線との距離が、水平ストロークの場合には画素の
上辺又は下辺から所定の距離となる位置であり、垂直ス
トロークの場合には画素の左辺又は右辺から所定の距離
となる位置である。請求項6の発明は請求項5におい
て、前記所定の距離は、画素の一辺の約1/4の長さで
ある。
【0020】請求項7の発明は請求項6において、前記
位置変更手段は、1つのストロークに対して前記所定の
基準を満たす位置が複数ある場合には、ストローク初期
位置からの移動量が最小となる位置を最適位置とする。
請求項8の発明は請求項7において、前記初期位置算出
手段は、各ストロークについて、ストローク情報に基づ
いて前記座標系におけるストローク中心線の座標を算出
し、前記位置変更手段は、算出された中心線の座標を前
記最適位置に変更する。
【0021】請求項9の発明は請求項7において、前記
初期位置算出手段は、各ストロークについて、ストロー
ク情報に基づいて前記座標系におけるストローク幅と、
ストローク上部直線又は下部直線の座標とを算出し、前
記位置変更手段は、算出されたストローク幅に所定の演
算を施すことにより最適位置における上部直線又は下部
直線の画素境界からの少なくとも1つの相対位置を算出
する相対位置算出手段と、上部直線又は下部直線の移動
量が最小となるような相対位置に対応する前記座標系に
おける座標を算出し、上部直線又は下部直線の初期位置
の座標を算出された座標に変更する座標変更手段とを備
えている。
【0022】請求項10の発明は請求項9において、前
記相対位置算出手段は、前記座標系におけるストローク
幅に所定のオフセットを加えた値を、画素から微小画素
への細分化数で除算した余りを算出し、ストローク上部
直線又は下部直線の最適位置の候補として、その余りに
基づいて前記少なくとも1つの相対位置を算出する。請
求項11の発明は請求項10において、前記座標変更手
段は、相対位置として算出された各候補のうち、ストロ
ークの移動量が小さくなる候補を判定する候補判定手段
と、判定された候補に従ってストローク上部直線及び下
部直線の座標を算出する算出手段とを備えている。
【0023】請求項12の発明は請求項8又は9におい
て、前記位置変更手段は、前記初期位置算出手段により
算出されたストローク幅が1画素の1辺の1/2より小
さい場合で、かつストロークが1画素内部に収まってい
ない場合には、ストロークが1画素内部に収まる位置の
何れかを最適位置とする。
【0024】請求項13の発明は請求項8又は9におい
て、前記位置変更手段は、前記初期位置算出手段により
算出されたストローク幅が1画素の1辺より小さい場合
で、かつ画素の1辺の1/4の位置に当該ストロークを
配置してストロークが1画素内部に収まっていない場合
には、ストロークが1画素内部に収まる位置の何れかを
最適位置とする。
【0025】請求項14の発明は請求項8又は9におい
て、前記所定の基準を満たす最適位置は、更に前記1/
4の距離の近傍を許容範囲とし、前記位置変更手段は、
許容範囲内の何れかを最適位置とする。請求項15の発
明は請求項8又は9において、前記位置変更手段は、前
記所定の基準を満たす位置が複数ある場合には、その数
が少ないストロークから順に高い優先度を設定して、優
先度の順に位置変更をする。
【0026】請求項16の発明は請求項に8又は9にお
いて、前記ストローク情報は、ストロークの優先度を示
す情報を含み、前記位置変更手段は、優先度に従ってス
トロークを順に指定するストローク指定手段を有し、指
定されたストロークから順に位置変更を行う。請求項1
7の発明は請求項4において、前記位置変更手段は、1
つのストロークに対して前記所定の基準を満たす位置が
複数ある場合には、ストローク初期位置からの移動量が
最小となる位置を最適位置とする。
【0027】請求項18の発明は請求項17において、
前記位置変更手段は、前記最適位置に移動させた場合
に、移動方向にある直近のストロークとの距離が所定の
しきい値以下であれば、前記所定の基準を満たす位置の
うち逆方向に移動させるものを最適位置に選択する。請
求項19の発明は請求項18において、前記ストローク
情報は、対向するストロークを示す対向情報を含み、前
記位置変更手段は、対向情報に示されるストロークを前
記直近のストロークとして用いる。
【0028】請求項20の発明は請求項19において、
前記ストローク情報は、各ストロークの長手方向の座標
の範囲を示す長さ情報を含み、前記位置変更手段は、位
置変更の対象ストロークと他のストロークとが長手方向
に重なる長さを、長さ情報に基づいて算出する重なり算
出手段と、重なっている長さが所定長以上であれば対向
すると判断する判断手段とを備え、前記位置変更手段は
対向すると判断されたストロークを前記直近のストロー
クとして用いる。
【0029】請求項21の発明は請求項20において、
前記位置変更手段は、位置変更の対象ストロークと直近
のストロークとにおいて、対向する上部直線及び下部直
線の座標を算出する座標算出手段と、算出された上部直
線及び下部直線の座標が、2つの隣り合うピクセル内に
あれば、ストローク間の距離が前記所定のしきい値以下
と判定する判定手段と、しきい値以下と判定された場合
に、前記所定の基準を満たす位置のうち移動量が最小で
逆方向に移動させるものを最適位置として決定する決定
手段とを備えている。
【0030】請求項22の発明は請求項21において、
前記位置変更手段はさらに、対象ストロークを決定手段
に決定された最適位置に移動させた場合に、移動方向に
ある直近のストロークとの距離が所定のしきい値以下で
あれば、決定手段に決定された最適位置を廃棄して、そ
の前の最適位置を最適位置と再度決定する再決定手段を
備える。
【0031】請求項23の発明は、文字、図形などに含
まれるストロークの輪郭を表す輪郭情報と、縦ストロー
クおよび横ストロークの位置を示すストローク情報とを
含むアウトラインデータに基づいて、所定のピクセル数
からなるサイズの文字、図形を多階調データとして生成
する多階調データ生成装置であって、前記ストローク情
報に示される各ストロークの位置を、前記サイズのピク
セル座標をさらに縦横に細分化したサブピクセルの位置
を表すサブプクセル座標系の座標に変換することにより
初期配置位置を求める初期配置手段と、変換された各ス
トロークについて、その中心線をピクセル境界から所定
の距離をもつ位置に移動させるための、少なくとも1つ
の移動量候補を準備する準備手段と、各ストロークにつ
いて、移動量候補の中の1つに従って最適配置位置を決
定する最適配置決定手段と、決定された各ストロークに
対して、前記輪郭情報に基づいて前記サブピクセル座標
系における輪郭を生成する輪郭生成手段と、生成された
輪郭に基づいて、各画素単位に階調データを生成する多
階調データ生成手段とを備えている。この構成では、準
備手段により得られた移動量候補に従って、最適配置決
定手段は各ストロークの最適配置位置を決定する。輪郭
生成手段、多階調データ生成手段により各ストロークの
最適配置位置における多階調データが生成される。
【0032】請求項24の発明は請求項23記載の多階
調データ生成装置において、前記所定の距離が1ピクセ
ルの1辺の約1/4である。請求項25の発明は請求項
24記載の多階調データ生成装置において、前記初期配
置手段は、水平ストローク毎に、サブピクセル座標系に
おけるストローク上部直線の座標と、ストローク下部直
線の座標と、ストローク幅と、上部直線のピクセル内の
相対座標であるサブピクセル値と、下部直線のサブピク
セル値とを保持する第1テーブルを有し、前記準備手段
は、ストローク毎に、ストローク幅に所定の演算を施し
て、上部直線がとるべきサブピクセル値で表される少な
くとも1つの候補を算出する候補算出手段と、ストロー
ク毎に、上部直線の座標から算出された各候補までの移
動量を算出し、移動量候補リストとして第1テーブルに
格納する第1移動量候補リスト作成手段とを有する。
【0033】請求項26の発明は請求項25記載の多階
調データ生成装置において、前記最適配置決定手段は、
ストローク毎に、移動量候補リストの中から移動方向が
隣のストロークと同じになる移動量候補を判定し、その
移動量候補に従って最適配置位置を算出し第1テーブル
に格納する。請求項27の発明は請求項28記載の多階
調データ生成装置において、前記準備手段は、さらにス
トローク毎に、ストローク幅がピクセルの1/2以下か
否かを判定するストローク幅判定手段と、1/2以下と
判定された場合に、前記候補算出手段及び移動量候補リ
スト作成手段の動作を禁止する禁止手段と、1/2以下
と判定されたストロークについて、ストロークが1ピク
セル内に収まる少なくとも1つの移動量を算出し、移動
量候補リストとして第1テーブルに格納する第2移動量
候補リスト作成手段とを有する。
【0034】請求項28の発明は請求項27記載の多階
調データ生成装置において、前記準備手段は、さらに、
第1テーブルに格納された移動量候補リストにおいて、
移動量が小さい順に順位を付ける順位調整手段を有し、
前記最適配置決定手段は、移動量候補に従って移動した
場合に、ストロークの上部又は下部直線と隣のストロー
クの下部又は上部直線との座標を算出する直線座標算出
手段と、当該2直線が同一ピクセル内に位置するか否か
を判定する第1判定手段と、当該2直線が隣り合う2つ
のピクセル内に位置するか否か判定する第2判定手段
と、第2判定手段により2つのピクセル内に位置すると
判定された場合に、2つのピクセルの輝度が両者共に所
定値以上が否かを判定する第3判定手段と、第1判定手
段及び第2判定手段により否と判定された移動量候補、
または第3判定手段により否と判定された移動量候補を
最適移動量と決定する最適移動量決定手段と、決定され
た最適移動量に従って、移動後のストローク上部直線の
座標と、ストローク下部直線の座標と、ストローク幅
と、上部直線のピクセル内の相対座標であるサブピクセ
ル値と、下部直線のサブピクセル値とを算出し、第1テ
ーブルを更新する最適位置算出手段とを有する。
【0035】請求項29の発明は請求項28記載の多階
調データ生成装置において、前記準備手段は、どの移動
量候補も、第1から第3判定手段によって否と判定され
ない場合に、移動量候補に所定の許容範囲を指定する許
容範囲指定手段を備え、前記直線座標算出手段は、指定
された許容範囲内で移動量候補に基づいて前記2直線の
座標を算出する。
【0036】請求項30の発明は請求項29記載の多階
調データ生成装置において、前記初期配置手段は、さら
に、ストローク毎に輪郭生成後に隣接する可能性のある
上方向および下方向の対向ストロークを示す対向情報を
第1テーブルに保持させ、前記直線座標算出手段は、移
動量候補が上方向の移動を示す場合には、当該ストロー
クの上部直線の座標と対向情報が示す上方向の対向スト
ロークの下部直線の座標とを算出し、移動量候補が下方
向の移動を示す場合には、当該ストロークの下部直線の
座標と対向情報が示す下方向の対向ストロークの上部直
線の座標とを算出する。
【0037】請求項31の発明は請求項30記載の多階
調データ生成装置において、前記初期配置手段は、さら
に、ストローク毎に優先順位を第1テーブルに保持さ
せ、前記最適配置決定手段は、さらに、優先順位に従っ
てストロークを順に指定するストローク指定手段を有
し、前記第1から第3判定手段は、指定されたストロー
クについて、それぞれの判断を行う。 (第1の実施形態)図1(a)は、本発明の第1の実施
形態における多階調データ生成装置のハードウェア構成
の一例を示すブロック図である。同図のように多階調デ
ータ生成装置は、記憶部1、ROM2、RAM3、CP
U4、表示部5、入力部6とから構成される。
【0038】記憶部1は、いわゆる二次記憶装置であ
り、フォントを表現したアウトラインデータ、各種プロ
グラムファイル、およびデータファイルを記憶する。R
OM2は、主として本発明の多階調データ生成方法が記
述されたプログラムを記憶する。RAM3は、記憶部1
のアウトラインデータ、プログラム、データ等がダウン
ロードされたり、いわゆるワークエリアとして使用され
るメモリである。
【0039】CPU4は、主としてROM2のプログラ
ムを実行することにより、RAM3のアウトラインデー
タに基づいて入力部6又はプログラムにより指示された
サイズの多階調データを生成する。表示部5は、階調表
示が可能なディスプレイ装置を有し、生成された多階調
データを表示する。ディスプレイ装置は具体的には液晶
表示パネル、CRT等である。
【0040】入力部6は、ユーザからの文字サイズの指
定等の操作指示を受け付ける。図1(b)は、図1
(a)におけるROM2のプログラムをCPU4が実行
することにより実現される多階調データ生成装置を機能
別に表した機能ブロック図である。この多階調データ生
成装置は、ストローク位置情報保持部101、輪郭情報
保持部102、展開バッファ103、テーブル作成部1
04、最適配置基準テーブル保持部105、ストローク
最適配置位置決定部106、輪郭情報拡大縮小部10
7、多階調データ生成部108から構成されている。同
図(a)との関係については、ストローク位置情報保持
部101、輪郭情報保持部102および最適配置基準テ
ーブル保持部105はRAM3上にそれぞれの領域が設
けられ、それ以外はCPU4がROM2のプログラムを
実行することにより実現される機能である。
【0041】同図(b)においてストローク位置情報保
持部101は、多階調データ生成の対象となる文字又は
図形についてのアウトラインデータのうちストローク位
置情報を保持する。本実施形態では、従来技術で説明し
た図4および図5に示したように1000メッシュで表
現されたストローク位置情報と輪郭情報とを含むアウト
ラインデータを用いるものとする。ストローク位置情報
は、水平ストロークを下部直線と上部直線のY座標のペ
アで表し、垂直ストロークを左側直線と右側直線のX座
標のペアで表している。ストローク位置情報保持部10
1は、図4に示したゴシック体の「三」を表すアウトラ
インデータの場合、ストローク位置情報として図5に示
した水平ストロークn(n=1〜3)のY座標のペア
(L_n、U_n)を保持する。
【0042】輪郭情報保持部102は、多階調データ生
成の対象となる文字又は図形についてアウトラインデー
タのうち輪郭情報を保持する。輪郭情報は、輪郭の特徴
点を表す複数の座標で表される。例えば、図4に示した
ゴシック体の「三」を表すアウトラインデータの場合、
輪郭情報として図5に示した輪郭1〜3毎に複数の座標
を保持する。
【0043】展開バッファ103は、多階調データの生
成過程で展開されたアウトラインデータを保持する一時
的なバッファである。より具体的には展開バッファ10
3は、指示された要求サイズに応じたピクセル数と、ピ
クセルからサブピクセルに細分化する度合を示す分割数
とに応じて大きさが定まるサブピクセル単位の領域を有
する。多階調データを生成するためには、1ピクセルを
サブメッシュに分割した座標系にアウトラインデータを
拡大縮小する必要があるが、本実施形態では、要求サイ
ズが10×10ピクセル、サブピクセルへの分割数を8
とする。このサイズと分割に関しては従来技術と同様で
ある。この場合、8×8サブピクセル(合計64サブピ
クセル)が最終的な多階調データの1ピクセルに対応す
る。多階調データは80×80のサブメッシュの座標系
で展開されることになる。もちろん8メッシュ以外の分
割数を採用することも可能である。
【0044】テーブル作成部104は、サブメッシュ座
標系において水平ストロークおよび垂直ストロークを配
置すべき最適な位置の候補を、要求サイズ(ピクセル
数)及びサブピクセル数に応じて決定し、最適配置基準
テーブル保持部105に格納する。最適な位置の候補
は、ストローク最適配置位置決定部106によってスト
ローク中心線を移動させて配置する基準になるものであ
り、本実施形態ではピクセル内の1/4サブピクセル境
界および3/4サブピクセル境界とする。この場合、テ
ーブル作成部104は、サブメッシュ座標系における全
ての1/4サブピクセル境界および3/4サブピクセル
境界の座標を求めて最適配置基準テーブル保持部105
に格納する。
【0045】最適配置基準テーブル保持部105は、テ
ーブル作成部104により作成された最適な配置の候補
をテーブル(以下、最適配置基準テーブルと呼ぶ)形式
で保持する。図2は最適配置基準テーブルの一例を示
す。同図は10×10メッシュ座標系におけるピクセル
位置と、80×80サブメッシュ座標系における垂直方
向の1/4サブピクセル境界および3/4サブピクセル
境界の座標との対応関係を示す。水平方向についても同
様である。
【0046】ストローク最適配置位置決定部106は、
ストローク位置情報保持部101のストローク位置情報
に含まれる各ストロークについて、最適配置基準テーブ
ル保持部105を参照して、サブメッシュ座標系への拡
大縮小後のストローク最適配置位置を決定する。より詳
しく説明するために図12に、ストローク最適配置位置
決定部106の処理内容を表す流れ図を示す。これは水
平ストロークの場合の流れ図であるが、垂直ストローク
の場合の処理も同様である。
【0047】まずストローク最適配置位置決定部106
はストローク位置情報保持部101に保持されたストロ
ーク位置情報からストロークの上部と下部を表すY座標
のペアを1個取り出す(図12のステップ1201)。
図4および図5で表現されるアウトラインデータの場合
には(100、200)(450、550)(713、
813)という3種類のストロークに対する位置情報が
含まれている。ストローク幅はすべて100である。ま
ず最初に、1番目の(100、200)が取り出され
る。
【0048】次にストローク最適配置位置決定部106
は拡大縮小後のストローク幅を次式により求める(ステ
ップ1202)。 Wsp=(U_n−L_n)・Np・Nsp/Norg −(式1) ここで、Wspは拡大縮小後のストローク幅、(U_n−L
_n)は元のストローク幅、Npは要求サイズにおけるピ
クセル数、Nspは1ピクセル内部のサブメッシュ分割数
(1ピクセルの1辺あたりのサブピクセル数)、Norg
はオリジナルのアウトラインデータの座標系の大きさで
ある。例えばストローク位置情報が(100、200)
の場合には、拡大縮小後のストローク幅は100×10
×8/1000=8といった計算で求められる。こうし
て求まった値「8」は、サブメッシュ(サブピクセル)
を1単位として表した拡大縮小後のストローク幅になっ
ている。もともとストローク幅が同じなら、この計算で
求まる拡大縮小後のストローク幅も必ず同じになるの
で、計算時の量子化誤差によるストローク幅の不揃いは
起こらなくなる。この例では、3本のストロークの幅は
もともとすべて「100」なので、拡大縮小後のストロ
ーク幅はすべて「8」(8サブピクセル分)となる。こ
の幅はヒント処理によりストローク幅の一貫性を保つた
めに用いられる。
【0049】さらにストローク最適配置位置決定部10
6は、拡大縮小後のストロークの中心線の初期配置位置
(Y座標)を次式により求める(ステップ1203)。 Cini=((U+L)/2)・Np・Nsp/Norg −(式2) ここで、Ciniは初期配置位置のY座標、(U+L)/
2は元の(1000メッシュ座標系の)ストロークの中
心位置、Np・Nspは要求データサイズのサブメッシュ
座標系の大きさである。例えば第1水平ストローク(1
00、200)の中心線の位置は1000メッシュ座標
系で150であり、80サブメッシュ座標系に縮小する
と、初期配置位置は150×80/1000=12で求
まり、12サブピクセル位置となる。これは下から2番
目のピクセルの中央サブグリッド境界線に対応する。上
式により得られるCiniの値は整数化する必要がなく、
小数のままでよい。
【0050】次いでストローク最適配置位置決定部10
6は、最適配置基準テーブル保持部105を参照して、
ピクセル内部の1/4サブピクセル境界線上と3/4サ
ブピクセル境界線上のうち初期配置位置から移動距離の
少ないほうにストローク中心線を移動し、移動した位置
を最適配置位置Coptと決定する(ステップ120
4)。このとき移動距離が同じ場合には、直前の(隣接
する)水平ストロークの移動方向と同じ方向へ移動す
る。直前の水平ストロークが存在しないか移動されてい
ない場合にはどちらへ移動してもよいものとする。例え
ば、図13に示すように初期位置Ciniがピクセル中央
(1/2サブピクセル境界線上)にあり、1/4および
3/4サブピクセル境界線上への距離はどちらも2サブ
ピクセル分で移動距離は等しく、直前のストロークも存
在していない場合には、どちらへ移動してもよい。ここ
では3/4サブピクセル境界上へ移動することにする。
(移動距離の比較はサブピクセルより細かい精度で行う
と、より正確な判断が可能である) さらにストローク最適配置位置決定部106は、ステッ
プ1204で決定したストローク中心線の最適配置位置
Coptとステップ1202で求めたストローク幅Wspと
を用いて、ストロークの上部直線および下部直線の配置
位置を次式に基づいて決定する(ステップ1205)。
【0051】Uopt=Copt+Wsp/2 −(式3) Lopt=Uopt−Wsp −(式4) ここで、Uoptはストロークの上部直線、Loptはストロ
ークの下部直線の位置を表す。具体的には、ストローク
最適配置位置決定部106は(式3)によりストローク
中心線配置位置Coptにストローク幅Wspの半分の値を
加算する。さ らにサブグリッド上に乗るように量子化
することでストロークの上部直線の位置Uoptを決定す
る。次に(式4)により上部直線からサブピクセル単位
の整数化 されたストローク幅Wspを減算して下部直線
位置Loptを決定する。この方法に よれば、ストローク
幅Wspが保証される。量子化する際には、ストローク中
心線初期配置位置Ciniを中心としてストロークを配置
した場合との誤差が少なくな る方向へ量子化する。図
5のストローク1の例ではCopt=14なので、下部直
線と上部直線の位置は図14に示されるよう10および
18サブピクセル位置となる。
【0052】この後ストローク最適配置位置決定部10
6は、ストローク位置情報に含まれる全てのストローク
について上記処理が終了したかを判定し、未処理のスト
ロークがあれば最適配置位置の決定処理を終了する(ス
テップ1206)。この例では、ストローク位置情報が
3個存在するので、3回繰り返し処理が行われる。スト
ローク2ではストローク1と同様に1/4境界と3/4
境界への距離が同じになるが、直前のストローク1の移
動方向と同じ方向である1/4境界へ移動する。また、
ストローク3は中心線の初期位置が7/8サブピクセル
境界であり、3/4サブピクセル境界が最も移動量が少
ないため3/4境界に移動する。垂直ストロークが存在
すれば同様に垂直ストローク最適配置位置も求める。こ
のようにして求めたストローク最適配置位置、ストロー
クの上部直線および下部直線の位置を図15に示す。同
図においてWsp_n、Copt_n、Lopt_n、Uopt_nは、そ
れぞれ水平ストロークn(n=1〜3)に対応するスト
ローク幅、ストローク最適配置位置、ストロークの上部
直線及び下部直線の座標を示している。
【0053】輪郭情報拡大縮小部107は、ストローク
最適配置位置決定部106で決定しされたストローク最
適配置位置、ストロークの上部直線及び下部直線の座標
に従って、アウトラインデータに含まれる輪郭情報の拡
大縮小を行う。今回の例では、図4および図5に示され
る輪郭情報を、図15に示されるストローク最適配置位
置に従って80サブメッシュ座標系に縮小する。
【0054】1000メッシュ座標系のY座標を80サ
ブメッシュ座標系のy座標に変換する変換方法に関して
は、元の1000メッシュ座標系におけるストロークの
上部直線、下部直線の座標点U_n、L_nが、サブメッシ
ュ座標系において最適配置された上部直線、下部直線の
座標点Uopt_n、Lopt_nに変換され、その他の座標点が
上部直線、下部直線の座標点Uopt_n、Lopt_nの全ての
間を線形補間した値に変換され、変換された座標が展開
バッファ103に格納される。例えば、水平ストローク
が3つある場合とすれば、次の(式5)〜(式12)に
より座標の開始点、終了点、ストロークの下部直線と上
部直線の対応する座標を変換した後、(式13)〜(式
19)によりその間を線形補間により変換する。
【0055】 1000メッシュ 80サフ゛メッシュ Y=0 y=0 (式5) 0<Y<L_1 y=Y・(Lopt_1/L_1) (式13) Y=L_1 y=Lopt_1 (式6) L_1<Y<U_1 y=Lopt_1+(Y-L_1)・(Uopt_1-Lopt_1)/(U_1-L_1) (式14) Y=U_1 y=Uopt_1 (式7) U_1<Y<L_2 y=Uopt_1+(Y-U_1)・(Lopt_2-Uopt_1)/(L_2-U_1) (式15) Y=L_2 y=Lopt_2 (式8) L_2<Y<U_2 y=Lopt_2+(Y-L_2)・(Uopt_2-Lopt_2)/(U_2-L_2) (式16) Y=U_2 y=Uopt_2 (式9) U_2<Y<L_3 y=Uopt_2+(Y-U_2)・(Lopt_3-Uopt_2)/(L_3-U_2) (式17) Y=L_3 y=Lopt_3 (式10) L_3<Y<U_3 y=Lopt_3+(Y-L_3)・(Uopt_3-Lopt_3)/(U_3-L_3) (式18) Y=U_3 y=Uopt_3 (式11) U_3<Y<1000 y=Uopt_3+(Y-U_3)・(80-Uopt_3)/(1000-U_3) (式19) Y=1000 y=80 (式12) 上式による縮小の具体例として図16に、図15に示し
た上部直線、下部直線の座標Uopt_n、Lopt_nに基づい
て変換する場合の変換式を示す。図16に従って100
0メッシュ座標系でのY座標値を変換すると、ストロー
クの上部直線および下部直線上の座標点は最適配置位置
に変換され、その他の座標点は最適配置位置の間を線形
補間した値に変換され、展開バッファ103に格納され
る。図17は、図4および図5に示した輪郭情報から8
0サブメッシュ座標に変換され展開バッファ103に格
納された輪郭情報を示している。この変換方法により、
すべての座標点は矛盾なく80サブメッシュ座標系に縮
小される。「三」の例ではストロークの上部および下部
直線上の座標点しか存在していないが、ストローク以外
の直線や曲線を表す座標点を含む文字や図形の場合でも
矛盾なく縮小される。また「三」の例では、垂直ストロ
ークが存在していないため、X座標はすべて、x=X×
(80/1000)で変換できる。垂直ストロークを含
む文字や図形の場合には、この例の水平ストロークと同
様に、垂直ストローク最適配置位置にしたがって変換す
ればよい。
【0056】多階調データ生成部108は、輪郭情報拡
大縮小部107で生成した拡大縮小済輪郭情報から、多
階調データを生成する。この部分は、従来の技術で説明
した図3に示される構成と全く同じでもかまわないし、
1ピクセル内の黒部分を2値データを生成することな
く、直接積分計算で面積を求め、面積比から階調値を算
出してもよい。図18は、多階調データ生成部108を
用いて、図17の輪郭情報から生成された8階調の多階
調データを示している。ストローク最適配置位置決定部
106によって同じ幅を持つストロークはピクセル内で
同じサブピクセル位置に配置されるため、図18におい
ては、図9および図11と異なりストローク幅が不揃い
に見えたり全体に濃淡のムラやにじみが生じたりするこ
とがなく、表示品質が向上する。図18では3本のもと
もと同じ幅の水平ストロークが同じパターンの階調表現
に変換されており、低解像度のディスプレイや液晶パネ
ル上で見た場合に、濃淡のムラが少なくバランスのとれ
た文字に見えるようになっている。
【0057】これまで説明したように、ストローク最適
配置位置決定部106では、あるストローク幅に関し
て、中心線を配置すべき位置をピクセル内で固定的に定
めることにより、同じストローク幅の表現のされ方を一
定とし、ストローク幅の不揃いをなくし表示品位を向上
させている。ストロークの中心線の配置位置をあらかじ
め決めておけば、その位置がどこであっても不揃いをな
くす効果は発揮される。
【0058】本実施形態で行っているようにストローク
中心線の最適配置位置として1/4または3/4サブピ
クセル境界上を選択した場合には、さらに以下に説明す
る効果がある。従来の技術の課題説明のところで、図1
0と図11を用いて、鮮明すぎる場合と薄くにじんでし
まう場合を紹介した。右端の例は鮮明すぎてかつ細く見
えすぎる場合であるが、これはストロークの中心線がピ
クセル内の1/2サブピクセル境界上に配置された場合
である。この部分だけが2値表現に近くなっているの
で、普通に中間調で表現されている斜線や曲線と比較し
てバランスが悪く濃淡ムラの原因にもなる。逆に中央の
例は、薄い中間色が2ピクセルにまたがっているため、
太いがにじんで見えてしまう。これはストロークの中心
線がピクセル境界上に配置された場合である。この場
合、液晶パネルによっては輝度特性の影響でほとんど消
えてしまう場合もある。ストローク幅が8サブピクセル
の場合、図19に示されるように合計8通りの配置パタ
ーンが存在する。点線はストロークの中心線である。図
20は図19に対応した多階調データでの表現である
が、(1)のストロークの中心線が1/2サブピクセル
境界上にある場合と、(5)の中心線がピクセル境界上
にある場合が、ディスプレイ上では両極端に見える。逆
に(1)と(5)の中間に位置する(3)と(7)は、
それぞれ中心線が1/4および3/4サブピクセル境界
上に配置された場合であり、両者は対称形で見かけ上の
特性は同じであるが、両者とも見かけ上の太さおよび色
の濃さは8通りの中でちょうど中間に位置し、非常に平
均的でバランスがとれている。見かけ上、濃すぎたり薄
すぎたりせず、太すぎたり細すぎたりもしないため、斜
線や曲線部分の中間調表現ともバランスがよく、非常に
自然できれいに見える。濃淡のムラがあるとディスプレ
イの輝度特性によっては文字や図形の一部分が消えてし
まうことがあるが、本方法ではそのような問題も発生し
ない。
【0059】また、(1)や(5)の場合には、8通り
の配置位置の中で同じに見える位置が1ヵ所しかない
が、中心線を1/4または3/4サブピクセル境界上に
配置する場合は同じように見える位置が2ヵ所存在して
いる。これはストロークの初期配置位置からの移動距離
を短くする効果があり、ストロークを移動しすぎること
による忠実な形状再現性の低下を防ぐことができる。
【0060】これらの特長は、ストローク幅が8サブピ
クセルの場合以外でも当てはまる。また、ストローク幅
が1ずつ増加した場合のストロークの見かけ上の変化も
緩やかであり、ストローク幅の逆転現象など一貫性を崩
すことがない。以上のことから、フォントに関していえ
ば、小さなサイズでの様々な書体の表現や同一書体での
ウエイト(太さ)の違いの表現が、濃淡のムラを発生さ
せずに非常に自然でバランスよく表現することが可能に
なる。
【0061】なお、本実施形態では、1ピクセルを8サ
ブメッシュに分割しているが、16サブメッシュに分割
すると、さらに微妙な形状の違いが表現できるため、表
示品質が向上する。なお、2ヵ所の移動距離が同じ場
合、直前のストローク移動方向に合わせるのは、隣接す
るストロークの移動方向が異なる場合、隣接ストローク
間のバランスが崩れやすくなるため、それを防止するの
が目的である。
【0062】実現方法はここで説明した本実施形態以外
にも存在する。ストローク位置情報が、輪郭情報の座標
点の属性として保持されていて、輪郭情報を拡大縮小す
る際に、属性からストローク最適配置位置を決定して座
標点移動を行う場合もあると考えられるし、ストローク
の中心線を1/4または3/4サブピクセル境界上に合
わせるのではなく、ストローク幅をサブメッシュ分割数
(本実施形態では8)で割った余りによってストローク
の上部および下部直線部分の位置を調整することによっ
て結果的に1/4または3/4サブピクセル境界に中心
線を配置したのと同等の効果を得ることもできる。
【0063】また、上記実施形態ではストローク最適配
置位置決定部106は、最適配置基準テーブル保持部1
05を参照して最適配置位置を決定したが、このような
テーブル参照に限らず、移動量の最も少ない1/4また
は3/4サブピクセル境界を検出する手順を用いて決定
するようにしてもよい。その場合、いかなる手順を使っ
ても、ストロークの中心線が1/4または3/4サブピ
クセル境界上でもともとの位置から移動量の最も少ない
位置にくるように、結果的にストロークを調整するとい
うところが重要である。
【0064】また、上記輪郭情報拡大縮小部107は、
2つの水平ストロークがX座標では重ならないがY座標
では重なる場合でも、上記と同様に拡大縮小する。すな
わち、ある水平ストロークの下部直線、上部直線をL
1、U1、他のストロークの下部直線、上部直線をL2、
U2とした場合、Y座標が小さい方からL1、L2、U1、
U2であるとき、輪郭情報拡大縮小部107はL1とL2
間、L2とU1間、U1とU2間とを線形補間する。 (第2の実施形態)以下、本発明の第2の実施形態にお
ける多階調データ生成装置について説明する。本実施形
態の多階調データ生成装置のハードウェア構成は、第1
の実施形態の図1(a)と同様である。ただし、本多階
調データ生成装置は、第1の実施形態に対して、ストロ
ークの最適配置位置決定テーブルを用いないでプログラ
ムにより各ストロークの最適配置位置を計算により決定
する点、隣接するストロークに応じてストローク位置を
調整している点などが主に異なっている。そのため、R
OM2のプログラムが異なっている。以下、第1の実施
形態と同じ点は説明を省略して、異なる点を中心に説明
する。
【0065】図21は、図1(a)のROM2のプログ
ラムをCPU4が実行することにより実現される多階調
データ生成装置を機能別に表した概略機能ブロック図で
ある。同図のように、多階調データ生成装置は、初期配
置部11、ストロークテーブル12、最適配置準備部1
3、最適配置位置決定部14、輪郭情報拡大縮小部15
から構成される。
【0066】初期配置部11は、多階調データ生成の対
象となる文字又は図形についてのアウトラインデータに
基づいて、水平方向及び垂直方向の各ストロークの座標
をアウトラインデータの座標系から、サブピクセルの座
標系へ変換する。以下では、アウトラインデータの座標
は1000×1000メッシュ座標系、最終的に得るべ
きデータサイズを12×12ピクセル(12×12メッ
シュ)、1ピクセルを細分化したサブメッシュを8×8
(サブピクセル座標は96×96サブメッシュ)で表さ
れる場合を例にとって説明する。この場合、初期配置部
11は、各水平ストロークに関しては、1000メッシ
ュ座標系におけるストローク上部直線及び下部直線のY
座標、ストローク幅をストロークテーブル12に格納す
るとともに、96サブメッシュ座標系におけるストロー
ク上部直線及び下部直線のY座標、ストローク幅などを
算出してストロークテーブル12に格納する。垂直スト
ロークに関しても同様である。
【0067】ストロークテーブル12は、RAM3内に
設けられ、水平ストロークテーブル、垂直ストロークテ
ーブルとがある。水平ストロークテーブルは、各水平ス
トロークのY座標、ストローク幅や、最適配置位置に関
する情報を保持し、初期配置部11、最適配置準備部1
3、最適配置位置決定部14によって順次その内容が格
納される。具体的には、初期配置部11によって初期配
置に関する情報が格納され、最適配置準備部13により
最適配置位置に関する候補が格納され、最適配置位置決
定部14により最適配置位置に関する情報が格納され
る。垂直ストロークテーブルは、水平ストロークテーブ
ルのY座標の代わりにX座標が用いられる点のみ異な
り、その内容は同様である。
【0068】最適配置準備部13は、ストロークテーブ
ル12の初期配置位置に関する情報に基づいて各ストロ
ークの最適配置位置の候補を算出する。ここでいう最適
配置位置は、第1の実施形態と同様、ピクセル内の1/
4サブピクセル境界および3/4サブピクセル境界を基
準としている。最適配置位置の候補は、各ストロークの
中心線を上記基準まで移動させる場合の移動量として算
出される。この移動量候補はストローク中心線から1/
4、3/4サブピクセル境界までの距離なので、ストロ
ーク中心線が当該境界に一致していない限り通常は2つ
存在する。この移動量候補の算出では、最適配置準備部
13は、ストローク中心線のY座標値を用いる代わり
に、ストローク上部直線のピクセル内における相対座標
を用いて移動量の候補を算出して、ストロークテーブル
に格納する。ここで相対座標とはピクセル内のおけるサ
ブピクセルの座標のことであり、1ピクセルが8×8サ
ブピクセルからなる場合には相対座標は0から7までの
値をとる(以後、この座標値をサブピクセル値と呼
ぶ)。この場合、最適配置位置の基準である1/4及び
3/4サブピクセル境界は、サブピクセル値では2及び
6の位置になる。最適配置準備部13は、初期配置にお
ける上部直線のサブピクセル値及びストローク幅に基づ
いて、上部直線が配置されるべき最適な相対座標の候補
を算出し、初期配置から基準までの移動量候補を算出す
る。
【0069】最適配置位置決定部14は、最適配置準備
部13により算出された移動量候補のうち、他のストロ
ークとの位置関係に基づいて移動量候補を調整し、最適
な移動量候補を選択し、ストロークの最適配置位置を決
定する。具体的には最適配置位置決定部14は、原則と
して移動量が最小になる移動量候補を選択するが、移動
量が最小であっても他のストロークとの間隔が所定値よ
りも小さくなる場合には移動方向が反対になるように2
番目の移動量候補を選択し、選択結果に基づいてストロ
ーク上部直線、下部直線の座標を算出してストロークテ
ーブルに格納する。
【0070】輪郭情報拡大縮小部15は、第1の実施形
態の輪郭情報拡大縮小部107と同様に、ストロークテ
ーブル12の最適配置位置に関する情報に基づいて、ア
ウトラインデータに含まれる輪郭情報の拡大縮小を行
う。図22は、本実施形態の多階調データ生成装置にお
ける多階調データ生成処理を表した概略フローチャート
である。
【0071】同図のように本多階調データ生成装置で
は、まず水平ストロークに対して、ループ1の中で初期
配置部11が初期配置処理(ステップ201、202、
204)を行い、最適配置準備部13が最適配置準備処
理(ステップ201、203、204)を行い、ループ
2の中で最適配置位置決定部14が最適配置処理(ステ
ップ205〜207)を行う。次に、垂直ストロークに
対して、ループ3の中で初期配置部11が初期配置処理
(ステップ208、209、211)を行い、最適配置
準備部13が最適配置処理(ステップ208、210、
211)を行う。最後に輪郭情報拡大縮小部15が拡大
縮小処理を行う。上記の処理において水平ストロークに
対するでループ1、2と、垂直ストロークに対するルー
プ3、4とは、扱うデータ(Y座標とX座標)が異なる
点以外同じ処理内容であるので、以後水平ストロークを
中心に説明する。 <初期配置処理>図23は、図22のループ1内のステ
ップ202及びループ3内のステップ209において、
初期配置部11によってなされる初期配置処理のより詳
細なフローチャートである。以下ではループ1において
i番目のストロークが対象になっているものとして説明
する。
【0072】初期配置部11は、多階調データ生成の対
象となる文字又は図形についてのアウトラインデータの
うちi番目の水平ストローク位置情報を取り出し、スト
ローク番号、変倍前(アウトラインデータの座標系)の
ストローク下部直線、上部直線のY座標及びストローク
幅、対向番号をストロークテーブル12の水平ストロー
クテーブルに格納し(ステップ220)、それらに基づ
いて、変倍後(サブメッシュ座標系)のストローク下部
直線、上部直線などの初期配置位置を算出してストロー
クテーブルに格納する。ここで、対向番号とは、水平ス
トロークの場合は当該ストロークの上下方向に位置する
他のストローク(以後、対向ストロークと呼ぶ)の番号
のことである。
【0073】図24、図25に、水平ストロークテーブ
ルの具体例を、アウトラインデータの水平ストローク情
報の具体例を示す。ただし、同図では全ての欄に数値が
記録されているが、初期配置処理開始前は全てがクリア
されていて、処理が進むに連れて該当する欄が記録・更
新されて行く。図24のデータ例は、図25(a)に示
す漢字「担」のアウトラインデータを示す。同図(b)
は水平ストロークの位置情報を表す。但し同図では垂直
ストロークの位置情報及び輪郭情報については省略して
いる。同図(b)のように各水平ストロークは、(下部
直線のY座標、上部直線のY座標、対向番号)により表
される。各Y座標はアウトラインデータの座標系(10
00×1000メッシュ座標系)で表される。対向番号
は上方向の対向ストロークの番号のみが表わされてい
る。下方向の対向ストロークは上方向の対向ストローク
から求まるからである。図25(a)では、例えば水平
ストローク3の対向ストロークは、水平ストローク2と
4である。ここでいう対向とは、アウトラインデータが
縮小されて最終的に得られるフォントにおいて、例えば
水平ストローク2の上部直線と水平ストローク3の下部
直線のように、2つのストロークの境界が隣接する(隣
り合うピクセル内又は同一のピクセル内に位置する)可
能性があることを意味する。したがって、同図(a)の
水平ストローク5に対しては、水平ストローク3は対向
ストロークであるが、水平ストローク4は対向ストロー
クではない。
【0074】図24の水平ストロークテーブルにおい
て、上部直線及び下部直線の「Y座標(変倍前)」は、
図25のストローク位置情報中のストロークの下部直線
及び上部直線のY座標である。「対向番号」は、下段が
上方向の対向ストロークの番号、上段が下方向の対向ス
トロークの番号を表している。上方向の対向ストローク
番号はストローク位置情報に示されたものであり、下方
向の対向ストローク番号は、初期配置部11によって上
方向の対向ストローク番号から求められたものである。
「Y座標(変倍後)」は、96×96のサブメッシュ座
標系に変換したY座標である。「ストローク幅(変倍
前、変倍後)」は、アウトライン座標系、サブメッシュ
座標系における値である。これらのY座標とストローク
幅は、初期配置部11により以下の式により算出される
(ステップ221)。 ストローク幅(変倍前)=変倍前のY座標(上部)−変
倍前のY座標(下部) ストローク幅(変倍後)=ストローク幅(変倍前)×Np
×Nsp/Norg Y座標(変倍後の下部)=Y座標(変倍前の下部)×Np
×Nsp/Norg Y座標(変倍後の上部)=Y座標(変倍後の下部)+ス
トローク幅(変倍後) 上式において変倍後のY座標及びストローク幅が小数に
なる場合は、四捨五入して整数化される。その際ストロ
ーク幅は四捨五入の結果0になる場合には1にされる。
【0075】また、ストロークテーブルの「ピクセル
値」は、12×12のピクセル座標系におけるストロー
クの下部直線、上部直線それぞれのピクセル位置を表
す。「サブピクセル値」は、96×96のサブメッシュ
座標系のY座標ではなく、ピクセル内におけるストロー
クの下部直線、上部直線のそれぞれのサブピクセル位置
(相対座標)を表す。ピクセル値、サブピクセル値は、
初期配置部11によって次式によって算出される(ステ
ップ221)。 ピクセル値=〔Y座標(変倍後)/Nsp〕。ここで〔
〕は小数部の切り捨てを示す。 サブピクセル値=Y座標(変倍後)%Nsp。ここで%は
割り算した余りを求める演算子である。 <最適配置準備処理>図26は、図22ループ1内のス
テップ203、ループ3内のステップ210において、
最適配置準備部13によってなされる最適配置準備処理
のより詳細なフローチャートである。
【0076】同図のように最適配置準備部13は、スト
ローク幅がピクセルの大きさの1/2より大きいの場合
(ステップ230)には、ストローク最適配置位置の候
補を算出する。この候補は、上部直線のサブピクセル値
で表される。つまり、ピクセル境界の下から何番目のサ
ブピクセル境界が上部直線の最適配置位置であるかを表
している。具体的には次式により候補U1、U2が算出さ
れる(ステップ231)。 U1=((Wsp+4)%8)/2 (式13) U2=U1+4 (式14) ここでWspは変倍後のストローク幅である。%は割り算
した余りを求める演算子である。つまり(Wsp+4)%
8はmod((Wsp+4),8)と同じである。
【0077】上記2式は、ストローク幅の関数であり、
ストローク幅が決まれば、ストローク上部直線のサブピ
クセル値が得られることを意味する。例えば、Wsp=8
(サブピクセル)である場合には、ストローク上部直線
の候補1、候補2はそれぞれ2、6となる。同様にWsp
=9の場合は2.5、6.5となり、Wsp=10の場合
は3、7となる。ここでは、候補は小数のままで算出さ
れる。例えばWsp=9の場合の2つ候補2.5、6.5
は、最終的にはサブピクセル値3、4、6、7の4通り
のどれかになるが、最適配置準備部13は計算精度を向
上させるため、小数のままで算出している。
【0078】上記2式がストローク上部直線の最適配置
位置候補である根拠を、図27〜図37を用いてより詳
しく説明する。図27(a)(b)〜図36(a)
(b)は、ストローク中心線をピクセル内の3/4境
界、1/4境界に配置した場合のストロークとピクセル
との位置関係を図示している。図27〜図36は、スト
ローク幅Wspが8〜13、14、16、18、20のそ
れぞれ場合を個別に図示している。
【0079】これらの図中の「U」はストローク上部直
線の最適配置位置のサブピクセル値を、「L」はストロ
ーク下部直線の最適配置位置のサブピクセル値を示す。
これらの図から「U」はストローク幅Wspが1増加する
と0.5増加する特性をもつことがわかる。ただしUは
サブピクセル値(0≦U<8)なのでその範囲内で周期
的に増加している。同様に、「L」はストローク幅Wsp
が1ずつ増加すると、(0≦L<8)の範囲内で周期的
に0.5ずつ減少する特性をもつことがわかる。
【0080】図37は、図27〜図36に基づいてスト
ローク幅Wspに対してUとLがどのように変化するかを
一覧表にした図である。同図においてUの値が0以上4
未満になっているのは、図27〜図36のそれぞれにお
いて2つあるUのうち小さい方を抜き出しているからで
ある。もう一方は+4(1/4境界と3/4との距離)
を加えた値になる。同図のように、2Uのサブピクセル
値は、ストローク幅Wspの変化に対して(0≦2U<
8)の範囲内で周期的に変化し、ストローク幅Wspに対
して一意に定まっている。そこで、ストローク幅Wspを
8で割った余り(Wsp%8)が2Uと同じ周期で変化す
ることに注目すると、Uはストローク幅Wspの関数とし
て求めることができる。つまり、同図に併記しているよ
うに2U=(Wsp+4)%8という関係を見出すことが
できる。このように、上部直線の最適配置位置は、その
サブピクセル値がストローク幅Wspの関数として算出す
ることができる。(式13)は、このようにして得られた
式であり、一方の候補U1を表す。(式14)は、候補U1
に+4を加算した式であり、もう一方の候補U2を表
す。
【0081】候補U1、U2の算出後、最適配置準備部1
3は、ストローク上部直線の初期配置位置(サブピクセ
ル値)から候補U1、U2までのそれぞれの移動量を算出
し、移動量候補(以後M1、M2とも記す)のリストをス
トロークテーブルに格納する。具体的には、最適配置準
備部13は、ストローク上部直線の初期配置位置(サブ
ピクセル値)から候補U1、U2を減算し、減算結果に基
づいて移動量候補M1、M2を求める(ステップ23
2)。次いで最適配置準備部13は、ストロークを最小
移動量だけ移動させた場合の他のストロークとの配置状
況に応じてストローク間の配置バランスを良好に保つよ
う移動量候補の順位を調整する(ステップ233)。さ
らに最適配置準備部13は、調整後の移動量に従ってス
トロークの下部直線、上部直線の最適配置位置を算出
し、ストロークテーブル12に格納する(ステップ23
3)。
【0082】また、上記ステップ230においてストロ
ーク幅がピクセルの大きさの1/2以下の場合には、最
適配置準備部13は、ストローク上部直線の初期配置位
置(サブピクセル値)及びストローク幅(サブピクセル
値)に基づいて、ストロークが1ピクセルの内部に収ま
るように、ストロークの移動量候補を求める(ステップ
234)。
【0083】このように、ストローク幅が1/2ピクセ
ル以下の場合に、ステップ231〜233の代わりに、
ストロークを1ピクセル内に収める処理を行うのは、次
の理由による。ストローク幅が1/2ピクセル(本実施
形態では4サブピクセルの幅)以下の場合には、ストロ
ーク中心線が基準(1/4又は3/4)最適配置位置に
配置しても、それ以外の位置に配置しても、ストローク
が1ピクセル内に収まっている限り、最終的に縮小され
たときは、同じに見える。これを図38を用いて説明す
る。例えばストローク幅Wspが4サブピクセルの場合、
同図の5つケースは、ピクセル内の配置が異なっている
が、何れも1ピクセル内に収まる位置にストロークが配
置されている。この場合、縮小後のピクセルの輝度は、
何れも50%(1から8までの8階調では4)になり、
結果的に同じに見える。そこで、最適配置準備部13
は、ステップ234においてストローク幅が1/2ピク
セル以下の場合には、ピクセル内に収まる範囲で、初期
配置位置からの移動量が最も小さくなるように移動量候
補を求めている。初期配置位置に最も近い位置にするこ
とは、拡大縮小処理において忠実に形状を維持すること
に役立っている。 <移動量候補リスト作成処理(その1)>図39は、図
26のステップ232おいて最適配置準備部13によっ
てなされる調整処理を示すより詳細なフローチャートで
ある。最適配置準備部13は、同図の処理により、ステ
ップ231により算出された各候補U1、U2に対して移
動量を求める。具体的には、図40(a)に示すように
候補U1、U2はピクセル内の相対座標で表されたサブピ
クセル値なので、隣のピクセルにおける候補U1、U2を
も考慮する必要がある。つまり、候補U1に対しては、
ストローク上部直線の初期位置Uiniと同ピクセル内の
候補U1への移動と、1つ上のピクセル内の候補U1への
移動との2通りが有り得る。候補U2についても同様で
ある。図40(a)では、U1が1、U2が5の例を示し
ている。図40(b)は、初期配置位置Uiniから候補
U1への移動量を矢線の長さで示している。この場合、
図40(b)に示すように、初期配置位置Uiniから
(同ピクセル内と上のピクセル内の2つの)候補U1=
1への移動量は、0≦Uini≦4の場合には同ピクセル
内の候補U1への移動量の方が小さく、Uini=5の場合
にはどちらも同じで、6≦Uini≦7の場合には上のピ
クセル内の候補U1への移動量の方が小さい。また、図
40(c)に示すように初期配置位置Uiniから(同ピ
クセル内と下のピクセル内の2つの)候補U2=5への
移動量は、2≦Uini≦7の場合には同ピクセル内の候
補U1への移動量の方が小さく、Uini=1の場合にはど
ちらも同じで、Uini=0の場合には下のピクセル内の
候補U1への移動量の方が小さい。このような点に注目
して、最適配置準備部13は、候補U1、U2について最
も小さい移動量候補M1、M2を以下のように算出する。
【0084】図39において、まず最適配置準備部13
は、対象となるi番目のストロークについて、水平スト
ロークテーブルから、上部直線の候補U1とその初期配
置位置Uiniとを取り出し、その差分U1−Uiniを算出
し、その値を移動量候補M1としてストロークテーブル
に格納する(ステップ240)。この差分は、候補U1
が小数であれば小数のままで算出され、その符号が+の
場合は上方向、−の場合には下方向への移動を意味す
る。
【0085】次に最適配置準備部13は、M1と1/2
ピクセル(サブピクセルで4)との大小関係に応じて最
も近い候補への移動量に調整する。具体的には、|M1
|=4の場合(ステップ241)には、もう一方の移動
量候補M2=0になっているので(ストロークが元々基
準に位置していることを意味するので)、ストロークテ
ーブルの第1移動量候補M1を0に更新し、候補数を1
をストロークテーブルに格納する(ステップ251)。
|M1|<4(ステップ241)の場合には、図40
(b)の矢線に示したように、M1が最も近い候補への
移動量を表すので、ステップ240で得られた値のまま
とする。|M1|>4(ステップ241)の場合には、
図40(b)の矢線に示したように、上方向への移動の
ときは(ステップ242:M>0)M1から8を減算し
(ステップ243)、下方向の移動のときは(ステップ
242:M<0)M1に8を加算し(ステップ24
4)、移動量候補M1を更新する。M1=0のときはステ
ップ251に進む。
【0086】この後、最適配置準備部13は、候補U2
についても上記と全く同様に、移動量候補M2を求め
(ステップ245)、その値に応じて移動量の調整する
(ステップ246〜249)。調整後、M2が+4、−
4又は0でないときは候補数2をストロークテーブルに
格納する(ステップ250)。 <移動量候補の順位の調整処理>図41は、図26のス
テップ233おいて最適配置準備部13によってなされ
る移動候補の順位の調整処理を示すより詳細なフローチ
ャートである。
【0087】最適配置準備部13は、候補数が1の場合
はストロークテーブルの第1候補を0に、候補数を1に
更新する(ステップ260、280、281)。候補数
が2の場合は移動量候補M1、M2を絶対値が小さい順に
第1候補、第2候補となるように必要に応じてストロー
クテーブルを更新する(ステップ260〜262)。次
に最適配置準備部13は、第1候補M1を取り出してそ
の絶対値が2であるか否かにより第1移動量候補と第2
移動量候補の移動距離が同じか否かを判定する。2つの
移動量候補の移動距離が異なる場合(ステップ263:
no)、第1移動量候補が小数であれば移動量が小さくな
るように整数化して(ステップ264、265)ストロ
ークテーブルの第1候補に設定する(ステップ26
6)。ここでの整数化は、たえとえばM1=2.5であ
れば2に、−2.5であれば−2というように、絶対値
の小数部分を切り捨てることによる。第2移動量候補に
ついても同様である(ステップ267〜269)。この
後、ストロークテーブルの候補数を2に設定する(ステ
ップ279)。
【0088】また最適配置準備部13は、2つの移動量
候補の移動距離が同じ場合(ステップ263:yes)、
ストロークテーブルの対向番号を参照して下方向の対向
ストロークが存在しなければ(ステップ274:no)、
第1移動量候補M1=−2、第2移動量候補M2=2に設
定し(ステップ278)、下方向の対向ストロークが存
在すれば(ステップ274:yes)、その対向ストロー
クの第1移動量候補M1’をストロークテーブルから取
り出し(ステップ275)、M1’>0であれば第1、
第2移動量候補M1、M2を+2、−2に(ステップ27
6、277)、M1’≦0であればM1、M2を−2、+
2に(ステップ276、278)してストロークテーブ
ルにそれぞれ設定する(ステップ279)。これによ
り、2つの移動量候補が移動距離が同じ場合に、第1移
動量候補M1の移動方向が、下方向の対向ストロークの
第1移動量候補と同じ方向になる。 <移動量候補リスト作成処理(その2)>図42は、図
26のステップ234おいて、ストローク幅が1/2ピ
クセル以下の場合に最適配置準備部13によってなされ
る移動量候補リスト作成処理を示すより詳細なフローチ
ャートである。
【0089】図42においてストローク幅Wspが1/2
ピクセル以下の場合、最適配置準備部13は、対象とな
るストロークについて、上部直線の初期配置位置のサブ
ピクセル値(同図では単にUと表記してある)が0であ
るか、又は、上部直線Uがストローク幅Wsp以上である
場合(ステップ290:yes)には、ストロークが1ピ
クセル内に収まっていて移動させる必要がないので、第
1移動量候補M1を0に、候補数を1にしてストローク
テーブルに格納する(ステップ309、310)。
【0090】また、Uが0でなく、かつUがWspより小
さい場合には(ステップ290:no)、ストローク幅W
spと上部直線Uの値に応じて第1、第2移動量候補を決
定する。図43に、この決定処理の説明図を示す。同図
は、ストローク幅Wsp毎にストロークが1ピクセル内に
収まる場合と、2ピクセルにまたがる場合とに分けて上
部直線Uを分類している。ストロークが1ピクセル内に
収まる場合はストロークの移動が不要である。2ピクセ
ルにまたがる場合は1ピクセル内に収めるようにストロ
ークの移動が必要となる。同図において例えばストロー
ク幅Wsp=4のとき、上部直線U=0および4〜7の場
合には、ストロークの移動が不要であるので移動量候補
M1=0、候補数=1とすればよいことを表している。
またWsp=4でU=1の場合には、M1=−1、M2=
3、候補数=2とすればよいことを表している。
【0091】図42において、最適配置準備部13は、
ストローク幅Wsp=4の場合、上部直線U=1であれ
ば、第1移動量候補M1、M2をそれぞれ−1、+3とし
てストロークテーブルに設定し(ステップ291〜29
3)、U=3であればM1、M2をそれぞれ1、−3を設
定する(ステップ294)。また、ストローク幅Wsp=
4の場合にU=2であれば、2つの移動量候補の移動距
離が同じなので、M1が下方向の対向ストロークと同じ
方向になるように、M1=−2、M2=2、又はM1=
2、M2=−2に設定する(ステップ295〜29
9)。
【0092】また、ストローク幅Wsp=3の場合も2の
場合も、同様にして第1、第2の移動量候補M1、M2を
設定する(ステップ300〜307)。このようにして
2つの移動量候補が設定された後、最適配置準備部13
は、候補数=2をストロークテーブルに設定する。 <最適配置位置決定処理>図44は、図22のステップ
206又は213において最適配置位置決定部14によ
ってなされる最適配置決定処理の詳細なフローチャート
である。
【0093】同図のフローにより最適配置位置決定部1
4は、最適配置準備部13によって移動量リストが格納
されたストロークテーブルに基づいて、各ストロークに
ついて、移動量候補のうち最適なものを選び、その移動
量に基づいて最適配置位置を決定する。まず、最適配置
位置決定部14は、移動量候補を数えるための変数iを
1に初期化し(ステップ321)、第1の移動量候補M
1を取り出し(ステップ322、323)、その移動方
向が上か下か、つまりM1の符号が+か−かを判定する
(ステップ324)。移動方向が上と判定された場合、
移動後のストローク上部直線のY座標(U=Uini+M
1)を算出するとともに、対向番号に示された上方向に
位置する対向ストロークの下部直線のY座標(L=Lin
i+M1)を算出し(ステップ325、326)。また移
動方向が下と判定された場合、移動後のストローク下部
直線のY座標(L=Lini+M1)を算出するとともに、
対向番号に示された下方向に位置する対向ストロークの
上部直線のY座標(U=Uini+M1)を算出する(ステ
ップ327、328)。
【0094】こうして得られた2つのストロークのY座
標(一方のストロークのUと他方のストロークのL)に
基づいて、最適配置位置決定部14は、次の(1)かつ
(2)、又は(1)かつ(3)の条件を満たす場合には当該移動
量候補を第1移動量候補に再設定し、満たさない場合に
は次順位の移動量候補についてチェックする。どの移動
量候補も満たさない場合には元々の第1移動量候補を選
択する。 (1)UとLとが同一ピクセル内にない。 (2)UとLとが隣り合うピクセル内にない。 (3)UとLとが隣り合うピクセル内にあるが一方のピク
セルの輝度が所定値より小さい。ここで所定値には、十
分に薄く見える範囲の輝度の上限が設定される。具体的
には、所定値は輝度の50%以下の値が望ましい。
【0095】より詳しく説明すると、最適配置位置決定
部14は、上記2つのY座標UとLに基づいて、最適配
置位置決定部14はその2直線が同一ピクセル内にある
場合には(ステップ329:yes)、又はその2直線が隣
り合うピクセル内にあって、且つその両方のストローク
の輝度が所定値以上である場合(ステップ330:yes、
331:yes)には、ストローク間の間隔がつぶれてしま
うのを避けるため、変数iを更新してステップ322に
戻る(ステップ332)。ここで、ストロークの輝度
は、ストローク上部直線又は下部直線の属するピクセル
の輝度のことである。この輝度は、上部直線であればサ
ブピクセル値に比例し、下部直線であれば8−サブピク
セル値に比例することになる。上記の所定値が輝度で2
5%というように定められた場合、上記ステップ331
では、上部直線のサブピクセル値が2以上でありかつ下
部直線のサブピクセル値が6以下であるかが判定され
る。
【0096】また、上記2つのY座標UとLに基づい
て、最適配置位置決定部14は、その2直線が同一ピク
セル内になく、隣り合うピクセル内にもない場合(ステ
ップ329:no、330:no)、又は隣り合うピクセル
内にあるが何れかのストロークの輝度が所定値より小さ
い場合(ステップ330:yes、331:no)には、その
移動量候補を移動量候補リストの第1移動量候補欄に最
適な候補として設定する(ステップ333)。
【0097】このようにして最適配置準備部13により
格納された移動量候補リストの第1、第2移動量候補M
1、M2について、M1が上記条件(1)かつ(2)、又は(1)か
つ(3)を満たす場合にはM1が最適候補に、M1が満たさ
ずM2が満たす場合にはM2が最適候補に、M1もM2も満
たさない場合には(ステップ322:yes)M1が最適候
補に設定される。
【0098】この後、最適配置位置決定部14は、移動
量候補リストの第1移動量候補(最適候補)M1からス
トローク最適配置位置における上部直線のY座標(U=
Uini+M1)、下部直線のY座標(L=Lini+M1)を
算出し(ステップ334)、算出されたY座標がサブメ
ッシュ座標領域の上限(80)、下限(90)の範囲を
越えていれば領域内部に移動させ(ステップ335、3
36)、さらに最適配置位置におけるピクセル値、サブ
ピクセル値を算出してストロークテーブルを更新する
(ステップ337)。
【0099】上記の説明では、水平ストロークに関して
説明してきた。垂直ストロークに関しては、上記の説明
中Y座標をX座標に置き換えることによって、全く同様
の処理により実現される。以上のように構成された本実
施形態における多階調データ生成装置について、その動
作を説明する。
【0100】本多階調データ生成装置が第1の実施形態
の動作と最も大きく異なるのは、最適配置基準テーブル
を用いないで、最適配置位置の候補を簡単な(式13)
(式14)により算出する点である。すなわち、ストロー
クの中心線をピクセル内の1/4、3/4サブピクセル
境界に配置した場合の、ストローク上部直線のサブピク
セル値を直接(式13)(式14)により算出している。こ
れ以外にも、初期配置処理、最適配置処理を全ストロー
クに対して順に行うなど手順が異なるが、ストロークの
中心線をピクセル内の1/4、3/4サブピクセル境界
にできるだけ配置するという点は同様である。
【0101】今、図25に示した漢字「担」のアウトラ
インデータについて、初期配置部11の初期配置処理
(図22ステップ202)により水平ストロークテーブ
ルに初期配置に関する情報が格納されたものとする。す
なわち、図24に示したストロークテーブルにおいて、
移動量候補リスト以外の欄が設定されたものとする。こ
の時点の水平ストロークが配置される様子を表す説明図
を図45(a)(b)に示す。同図(a)は、図24の
ストロークテーブルに格納された漢字「担」を表す。同
図(b)は、(a)の5本の水平ストロークのうち○で
囲んだ部分のみを抜き出して図示してあり、下から順に
水平ストローク1〜5を表し、各ストロークの上部直線
と下部直線にはそのサブピクセル値が併記されている。
同図(b)は初期配置位置を示し、各ストローク中心線
の配置位置が1/4、3/4境界に対してばらばらであ
ることがわかる。
【0102】この後、最適配置準備部13は各ストロー
クについて、最適配置準備処理(図26)を以下のよう
に行う。まず、ストローク1について、最適配置準備部
13は、最適配置位置候補U1=((Wsp+4)%8)/2=((9+4)%
8)/2=2.5、U2=U1+4=6.5(図26ステップ231)と
算出し、さらに移動量候補M1=U1−Uini=2.5-0=2.5
(図39ステップ240)と算出し、|M1|<4なの
で(同図ステップ241)M1=2.5をストローク1の第
1移動量候補として移動量候補リストに格納し、また、
移動量候補M2=U2-Uini=6.5-0=6.5(図39ステップ
240)と算出し、|M2|>4かつM2>0(ステップ
246、247)なのでM2=6.5-8=-1.5(ステップ24
8)をストローク1の第2移動量候補として移動量候補
リストに格納し、さらに候補数=2を格納する。
【0103】この時点でストローク1の移動量候補リス
トは、M1=+2.5、M2=-1.5、候補数=2となる。引き続
き、最適配置準備部13は、移動量候補リストからM1
とM2を取り出して、|M1|>|M2|なので(図41
ステップ261:yes)移動量候補リストのM1とM2と
を入れ換え(ステップ262)、入れ換え後、|M1|
=2ではなく(ステップ263:no)M1が小数なので
(ステップ264:yes)小数部を切り捨てて(ステッ
プ265)M1=-1を移動量候補リストに第1移動量候
補として設定し(ステップ266)、M2も小数なので
(ステップ267:yes)小数部を切り捨てて(ステッ
プ268)M2=+2を移動量候補リストに第2移動量候
補として設定し(ステップ269)、候補数=2も設定
する(ステップ279)。
【0104】次に、ストローク2について、最適配置準
備部13は、最適配置位置候補U1=((Wsp+4)%8)/2=((9
+4)%8)/2=2.5、U2=U1+4=6.5(図26ステップ23
1)と算出し、さらに移動量候補M1=U1−Uini=2.5-1
=1.5(図39ステップ240)と算出し、|M1|<4
なので(同図ステップ241)M1=1.5をストローク2
の第1移動量候補として移動量候補リストに格納し、ま
た、移動量候補M2=U2-Uini=6.5-1=5.5(図39ステ
ップ240)と算出し、|M2|>4かつM2>0(ステ
ップ246、247)なのでM2=5.5-8=-2.5(ステップ
248)をストローク2の第2移動量候補として移動量
候補リストに格納し、さらに候補数=2を格納する。
【0105】この時点でストローク2の移動量候補リス
トは、M1=+1.5、M2=-2.5、候補数=2となる。引き続
き、最適配置準備部13は、移動量候補リストからM1
とM2を取り出して、|M1|>|M2|ではなく(図4
1ステップ261:no)、|M1|=2ではなく(ステ
ップ263:no)、M1が小数なので(ステップ26
4:yes)小数部を切り捨てて(ステップ265)M1=
+1を移動量候補リストに第1移動量候補として設定し
(ステップ266)、M2も小数なので(ステップ26
7:yes)小数部を切り捨てて(ステップ268)M2=
-2を移動量候補リストに第2移動量候補として設定し
(ステップ269)、候補数=2も設定する(ステップ
279)。
【0106】さらに、ストローク3について、最適配置
準備部13は、最適配置位置候補U1=((Wsp+4)%8)/2=
((8+4)%8)/2=2、U2=U1+4=6(図26ステップ231)
と算出し、さらに移動量候補M1=U1−Uini=2-1=1(図
39ステップ240)と算出し、|M1|<4なので
(同図ステップ241)M1=1をストローク3の第1移
動量候補として移動量候補リストに格納し、また、移動
量候補M2=U2-Uini=6-1=5(図39ステップ240)
と算出し、|M2|>4かつM2>0(ステップ246、
247)なのでM2=5-8=-3(ステップ248)をストロ
ーク3の第2移動量候補として移動量候補リストに格納
し、さらに候補数=2を格納する。
【0107】この時点でストローク3の移動量候補リス
トは、M1=+1.0、M2=-3.0、候補数=2となる。引き続
き、最適配置準備部13は、移動量候補リストからM1
とM2を取り出して、|M1|>|M2|ではなく(図4
1ステップ261:no)、|M1|=2ではなく(ステ
ップ263:no)、M1が小数でもないので(ステップ
264:no)M1=+1を移動量候補リストに第1移動量
候補として設定し(ステップ266)、M2も小数では
ないので(ステップ267:no)M2=-2を移動量候補
リストに第2移動量候補として設定し(ステップ26
9)、候補数=2も設定する(ステップ279)。
【0108】この後、最適配置準備部13は、ストロー
ク4、5についても上記動作と同様に移動量候補算出
し、ストロークテーブルの移動量候補リストに候補数と
ともに格納し、順位を調整する。その結果、この時点で
の各ストロークの移動量候補リストは次のようになる。 ストローク1:M1=−1、M2=+2、候補数=2 ストローク2:M1=+1、M2=−2、候補数=2 ストローク3:M1=+1、M2=−3、候補数=2 ストローク4:M1=+1、M2=−3、候補数=2 ストローク5:M1=−1、M2=+3、候補数=2 図45(c)は、この時点(最適配置準備処理後)のス
トローク配置の様子を表す説明図である。つまり同図
(c)では、各ストロークは、初期配置位置に上記第1
移動量候補M1を加算した位置にある。同図(c)で
は、初期配置位置(a)と異なり、各ストローク中心線
が1/4、3/4境界に一致している。したがってアウ
トラインデータの縮小後に各ストロークの見かけの太さ
が揃うことになる。
【0109】上記の最適準備処理の後、最適配置位置決
定部14は、次のように最適配置位置を各ストロークに
ついて決定する(図22ステップ206)。まずストロ
ーク1について、最適配置位置決定部14は、移動量候
補M1=−1を取り出し(図44ステップ321〜33
3)、移動後の下部直線の座標L=Lini+M1=7-1=6
を算出し、下方向の対向ストロークの上部直線の座標を
算出しようとする(ステップ327、328)が、その
対向ストロークが存在しないので(ステップ329、3
30:no)、移動量候補リストのM1に取り出したM1を
上書きして(ステップ333)、上部直線の座標U=Ui
ni+M1=16−1=15、下部直線の座標L=Lini+M1
=6を算出し(ステップ334)、これらの値を最適配
置位置としてストロークテーブルを更新する(ステップ
333〜335、337)。
【0110】ストローク2について、最適配置位置決定
部14は、移動量候補M1=+1を取り出し(図44ス
テップ321〜333)、移動後の上部直線の座標U=
Uini+M1=41+1=42を算出し(ステップ32
5)、対向番号に示された水平ストローク3の下部直線
の座標L=Lini+M1=57+1=58を算出し(ステップ
326)、このUとLが同一ピクセル内になく、隣り合
うピクセル内にもないので(ステップ329、330:
no)、上部直線の座標U=Uini+M1=41+1=42、
下部直線の座標L=Lini+M1=32+1=33を算出
し、これらの値を最適配置位置としてストロークテーブ
ルを更新する(ステップ333〜335、337)。
【0111】ストローク3について、最適配置位置決定
部14は、移動量候補M1=+1を取り出し(図44ス
テップ321〜333)、移動後の上部直線の座標U=
Uini+M1=65+1=66を算出し(ステップ32
5)、ストローク5の下部直線の座標L=Lini+M1=7
9−1=78を算出する(ステップ326)。このUと
Lは、図45(c)の下から3番目と5番目に図示した
ようにストローク3の上部直線とストローク5下部直線
とが隣り合うピクセル内にあり(ステップ330:ye
s)、その2つのピクセル輝度(この場合いずれも25
%)が両方とも所定値25%以上である(ステップ33
1:yes)。よって最適配置位置決定部14は、i=2
に更新して(ステップ332)次の移動量候補に移る
(ステップ322)。
【0112】引き続きストローク3について、最適配置
位置決定部14は、第2移動量候補M2=−3を取り出し
(図44ステップ321〜333)、移動後の下部直線
の座標L=Lini+M1=57−3=54を算出し(ステップ
327)、水平ストローク2の上部の座標U=Uini+M1
=41+1=42を算出する(ステップ328)。このU
とLは隣り合うピクセル内にあり(ステップ330:ye
s)、その2つのピクセル輝度(この場合いずれも25
%)が両方とも所定値25%以上なので(ステップ33
1:yes)、最適配置位置決定部14は、i=3に更新
し(ステップ332)、次の移動量候補がないので(ス
テップ322:yes)、移動量候補リストが更新されて
ないまま、元の第1移動量候補M1が最適配置位置と決
定する(ステップ334)。その結果、ストローク3の
上部直線の座標U=Uini+M1=65+1=66と、下部
直線の座標L=Lini+M1=57+1=58とが最適配置位
置としてストロークテーブルに格納される。上記のよう
にストローク3は、M1もM2も前述の(3)の条件を満た
さないので、移動距離の小さいM1が最適配置位置と決
定される。
【0113】ストローク4について最適配置位置決定部
14は、ストローク2の場合と同様に第1移動量候補に
従って上部直線、下部直線を算出する。ストローク5に
ついて最適配置位置決定部14は、図45(c)の下か
ら3番目と5番目に図示されているように、第1移動量
候補の場合前述の(3)の条件を満たさないが、第2移動
量候補の場合各条件を満たすので、第2移動量候補に従
って上部直線、下部直線を算出する。
【0114】上記の最適配置位置決定処理の結果、各ス
トロークの上部直線、下部直線の配置位置は、図45
(d)のようになる。同図(d)は、最適配置位置決定
処理の前(同図(c))と比べて、全ストロークの中心
線が1/4、3/4境界に一致している点は同じである
が、下から3番目と5番目に図示されているストローク
3とストローク5とが隣り合う2つピクセル内に配置さ
れていない点が異なる。したがって、縮小後の各ストロ
ークの見かけの太さが均一に見える。加えて、縮小後に
ストローク3と5の間にはっきりと空白部分が見えるよ
うになる。
【0115】次に、他の動作例を説明する。図46
(a)は、漢字「青」のアウトラインデータの例であ
る。同図(b)は(a)の冠部分の水平ストローク4〜
6を拡大して図示してあり、初期配置部11によりスト
ロークテーブルに格納された初期配置位置を表してい
る。同図(c)は、最適配置準備部13によって作成さ
れた移動量候補リストの第1移動量候補M1に従って配
置された場合のストローク位置を示す。この時点で各ス
トローク中心線が1/4、3/4ピクセル境界に一致し
ているので、縮小後の各ストロークの太さは同じように
見える。しかし、ストローク5と6との間隔が短いので
縮小後にこの2つのストロークは1本に見える可能性が
ある。
【0116】今、同図(c)のストローク5に注目する
と、最適配置位置決定部14は、第1移動量候補M1だ
け移動させた場合のストローク5の上部直線のY座標U
と、対向番号に示された上方向にある対向ストローク6
の下部直線のY座標Lとが、隣り合う2つのピクセル内
にあり(図44ステップ330:yes)、2つのピクセ
ルの輝度(それぞれ75%)が所定値(ここでは30%
とする)以上であるので(ステップ331:yes)、さ
らに第2移動量候補についてチェックする。
【0117】引き続きストローク5について最適配置位
置決定部14は、第2移動量候補M2だけ移動させた場
合のストローク5の下部直線のY座標Lと、対向番号に
示された下方向にある対向ストローク4の上部直線のY
座標Uとが、隣り合う2つのピクセル内になく、同一ピ
クセル内にもないので、(ステップ329、330:n
o)、移動候補リストのM1にM2を上書きして、新たな
M1に基づいて最適配置位置における上部直線、下部直
線の座標を算出する。
【0118】同図46(d)は、この最適配置位置にお
ける各ストロークを表している。同図(b)(c)
(d)の配置に比べると、水平ストローク5の上部直線
が位置するピクセルの輝度は、順に63%、75%、2
5%となっている。同図(b)(c)(d)いずれの場
合も水平ストローク5と6とは、縮小後に隣り合うピク
セルに配置される。このとき、水平ストローク5と6の
間隙が(b)(c)ではなくなって見える(2つストロ
ークが太くぼやける)のに対して、(d)では輝度が低
いので2つのストロークがよりはっきり見えることにな
る。
【0119】最適配置位置の決定後、輪郭情報拡大縮小
部15は、ストロークテーブルの上部直線及び下部直線
以外の座標点について、上部直線、下部直線の座標点の
全ての間を線形補間した値に変換する。この変換は、第
1の実施形態の輪郭情報拡大縮小部107と同様であ
る。次に、本実施形態による多階調データの具体的な生
成例を示して、本願の効果を説明する。
【0120】図47は、12×12のピクセル数をもつ
多階調データの生成例を示す。同図において上段は従来
技術、下段は本実施形態の生成結果である。同図は、漢
字の「芦」「異」「因」のアウトラインデータから得ら
れた8階調データを説明のため大きく拡大して図示して
ある。「芦」については従来技術では「戸」の内部がつ
ぶれていたが、本実施形態でその形が維持されている。
「異」については従来技術では「田」の下半分がつぶれ
て「共」の左縦ストロークが太くなっていたが、本実施
形態では、「田」の形が維持され、「共」の縦ストロー
クのバランスが良くなっている。「因」については従来
技術では「口」の右縦ストロークが太くなっていたが、
本実施形態ではバランスが良くなっている。
【0121】図48は、24×24のピクセル数をもつ
多階調データの生成例を示す。図47と同様に上段は従
来技術、下段は本実施形態の生成結果であり、「茜」
「芦」を例にしている。「茜」については従来技術では
上から2本めの水平ストロークがぼやけているが、本実
施形態ではよりはっきりと見える。「芦」についても同
様である。また、各水平・垂直ストロークの太さは、斜
線や曲線部分(「芦」の「ノ」の部分など)の中間調表
現ともバランスがよく、自然できれいに見える。
【0122】図49は、16×16のピクセル数をもつ
多階調データの生成例を示す。図47と同様に上段は従
来技術、下段は本実施形態の生成結果であり、「溢」
「哀」「葵」「茜」「旭」を例にしている。「溢」につ
いては従来技術では「皿」の内部がつぶれているが、本
実施形態では内部の縦ストロークがはっきり見える。
「哀」については上から1番目と2番目の水平ストロー
クがはっきりと見える。「葵」については上から1番目
の水平ストロークがはっきりと見える。「茜」について
は上から1、2、4番目の水平ストロークがぼやけない
ではっきり見える。「旭」については縦ストロークのバ
ランスが良くなっている。
【0123】なお、上記第2の実施形態において、最適
配置準備部13は、ストロークテーブル12に格納され
たストロークを順に取り出すことによって、座標の小さ
いストロークから順に処理したが、ストロークに優先度
を付けて優先度の高いストロークから処理するようにし
てもよい。その場合、初期配置部11が、ストロークテ
ーブル12に優先度を示す情報を格納し、最適配置準備
部13がその優先度の高い順に処理する構成にすればよ
い。優先度は、文字の骨格をなす主要ストローク、例え
ば「量」の上から4番目のストローク、「日」や「里」
の一番上と一番下のストロークについて優先度を高くす
れば、文字の骨格をきれいに表すことができる。
【0124】また、本実施形態では、上部直線の候補U
1、U2を求める(式13)(式14)を用いているが、その
代わりに下部直線の候補L1=(7−(Wsp+3)%
8)/2、L2=L1+4を用いることもできる。また、
本実施形態では最適配置位置決定部14は、図44に示
したようにステップ325〜326において、第1移動
量候補に従った移動後の上部直線又は下部直線の座標を
算出し、算出された座標に基づいてステップ329〜3
31のチェックを行った。この代わりに、移動後の上部
直線又は下部直線の座標を算出しないで、初期配置位置
のピクセル値を用いてステップ329〜331のチェッ
クを行うようにしても良い。この場合、最適配置位置決
定部14は、座標を算出する手間が省けるので、より高
速に処理することができる。
【0125】なお、本実施形態では8×8のサブメッシ
ュを用いたが、16×16サブメッシュを用いてもよ
い。その場合、上部直線の最適配置位置の候補U1、U2
を求める(式13)(式14)の代わりに次式を用いればよ
い。 U1=((Wsp+8)%16)/2 U2=U1+8 また、16×16サブメッシュの場合に上部直線ではな
く下部直線の最適配置位置の候補を求めるようにしても
よい。その場合、下部直線の最適配置位置の候補L1、
L2は、次式により求められる。 L1=(15−(Wsp+7)%16)/2 L2=L1+8 なお、4×4サブメッシュを用いてもよい。その場合、
上部直線の最適配置位置の候補U1、U2は、次式により
求められる。 U1=((Wsp+2)%4)/2 U2=U1+2 (第3の実施形態)本実施形態における多階調データ生
成装置は、第1の実施形態の構成に対して以下の点が異
なる。すなわち、図12に示したステップ1204とス
テップ1205の間に、新たにステップ4204a〜4
204cが追加された点である。
【0126】図50は、ストローク幅が1ピクセルの1
/2より小さい場合を考慮した処理フローを示す。第1
の実施形態の図12のステップ1205において、1/
2ピクセル(8サブメッシュの場合は4サブピクセル
分)以下の幅のストロークの場合は、1/4および3/
4サブピクセル境界上以外のサブピクセル境界上にスト
ロークを配置しても、ストロークの見かけが同じ場合が
ある。これは、1/4および3/4サブピクセル境界上
に配置したストロークが2ピクセル以上にまたがってい
ない場合(すなわち1ピクセル内に収まる場合)であ
る。例えば、幅が2サブピクセルの場合は、1つのピク
セル内にストロークが収まっている限り、サブピクセル
境界上のどこにストロークの中心線を配置しても同じに
見える。なぜなら拡大縮小後には、そのピクセル全体
に、ストローク幅に応じた輝度(この場合25%)が与
えられるからである。しかし、このような場合は、それ
らを全ての候補の中から、1ピクセルに収まり、かつ移
動量の最も短い位置を選択するようにする。
【0127】これによって、移動量をさらに短くするこ
とができるので、ストロークを移動しすぎることによる
忠実な形状再現性の低下をさらに防ぐことができる。特
に、図16に示されるような拡大縮小処理を行う場合に
は、近傍の座標点にも大きな影響を及ぼすため、この処
理は重要である。 (第4の実施形態)本の実施形態における多階調データ
生成装置は、第1の実施形態の構成に対して以下の点が
異なる。すなわち、テーブル作成部104の代わりにテ
ーブル作成部2104を設けた点と、ストローク最適配
置位置決定部106が図12のステップ1205の代わ
りにステップ2205を有する点とが異なる。以下異な
る点を中心に説明する。
【0128】テーブル作成部2104は、1/4及び3
/4サブピクセル境界の座標を生成するとともに、それ
らの座標の近傍に許容範囲を最適配置基準テーブル保持
部105に設定する。図51は、テーブル作成部210
4の処理フローを示す。許容範囲の値というのは、サブ
メッシュの分割数や、本多階調データ生成装置が適用さ
れる表示装置の解像度に応じて予め設定されているもの
とする。例えば、この値は、8サブメッシュに分割され
る場合には、解像度が低い液晶パネルなどの表示装置で
は0、解像度がCRTなどの表示装置では±1、16サ
ブメッシュに分割される場合には、液晶パネルなどの表
示装置では0又は±1、解像度の高い高精細なCRTで
は±1、又は±2などが望ましい。
【0129】図52は、許容範囲の値が±1である場合
の最適配置基準テーブルの一例である。図52の最適配
置基準テーブルの範囲内で、ストローク最適配置位置決
定部106は、ステップ2205において、ストローク
中心線を最も移動量の少なくなる位置へ移動する。上記
構成により、移動量をさらに短くすることができるの
で、ストロークを移動しすぎることによる忠実な形状再
現性の低下をさらに防ぐことができる。
【0130】8サブメッシュより16サブメッシュに分
割したほうが、許容範囲を細かく設定でき、配置の自由
度が増加する(配置できる位置が多く存在する)ため、
より表示品質を向上できる。例えば、水平ストロークの
場合、16サブメッシュで1/4または3/4サブピク
セル境界から上下方向にそれぞれ1サブピクセル(ある
いは2サブピクセル)の許容範囲を設定することによ
り、配置可能位置が増加し、元の形状に対してより忠実
になる。ストローク幅の一貫性が多少犠牲になるが、表
示デバイスの特性により、第1の実施形態より表示品質
が向上する場合がある。例えば低解像度のLCDなどの
表示デバイスでは許容範囲を小さくするか0にするのが
望ましいが、逆に高解像度から中解像度(ドットピッチ
が小さい)の表示デバイスでは許容範囲を設ける方が望
ましい。1/4または3/4サブピクセル境界上に限ら
ず、どの位置を中心としていても許容範囲を設定するこ
とは効果がある。
【0131】なお、サブメッシュが16あるいはそれ以
上の場合には、上記図52の代わりに図53を用いても
よい。すなわち、許容範囲の値をストロークの本数に応
じて変更するようにしてもよい。図53において許容数
として設定されるP1、P2、P3は、1ピクセルあたり
のサブピクセル数に応じて任意に設定され、例えば0、
±1、±2がそれぞれ設定される。これらの値は、多階
調データを表示するデバイスの解像度等に応じて定める
べきである。また、第1のしきい値、第2のしきい値
は、要求サイズのピクセル数および文字中のストローク
本数に応じて設定され、例えば3、5がそれぞれ設定さ
れる。 (第5の実施形態)本実施形態における多階調データ生
成装置は、第3の実施形態の構成に対して以下の点が異
なる。すなわち、テーブル作成部2104がさらに許容
範囲をストローク幅に応じて変化させる点が異なる。
【0132】図54は、テーブル作成部2104の処理
フローを示す。例えば16サブメッシュの場合に同図の
許容数P1、P2、P3は、0、±1、±2である。同図に
よればストローク幅毎に許容数が決定され、ストローク
幅毎に最適配置基準テーブルが作成される。ストローク
最適配置位置決定部106は、ストローク幅に対応する
最適配置基準テーブルを参照して最適配置位置を決定す
る。
【0133】図55は、ストローク毎にストロークの幅
に応じて許容数が設定された場合の最適配置基準テーブ
ルの一例である。これは、ストローク幅が太くなるほ
ど、ストロークの配置位置によるストローク幅の不揃い
が目立たなくなるため、例えば、ストローク幅が太いと
ころで許容範囲を大きくしたり、ストローク幅に応じて
許容範囲を決定する関数を定義したりすることで、もと
の形状により忠実な多階調データが生成できる。 (第6の実施形態)本実施形態における多階調データ生
成装置は、第2の実施形態の構成に対して以下の点が異
なる。すなわち、最適配置位置決定部14がさらに予め
与えられた許容範囲Dの範囲内で最適配置位置を決定す
る。これは上記第4の実施形態と同じ考え方に基づく。
これを実現するため本実施形態は、第2の実施形態に対
して、図44(最適配置位置決定処理)の代わりに図5
6に示す最適配置位置決定処理が行われる点が異なる。
【0134】図56は、図44に対して、ステップ60
0〜608が追加されている。図中Dは許容数を示す。
例えば、D=1の場合には、最適配置位置決定部14
は、まず変数j=0つまり許容範囲を設けないものとし
て図44と同様に各移動量候補について、ステップ32
9〜331のチェックを行う。このとき、どの移動量候
補もチェックを満足しなければ、j=1つまり許容範囲
を±1として同様のチェックを行う。このようにして前
記チェックを満足しなければ、許容範囲Dになるまでj
を1ずつ大きくしながら、前記チェックを続行する。も
し、許容範囲内でどの候補もチェックを満足できなかっ
た場合には、ステップ606〜608のように、許容範
囲Dで移動量が最も小さくなる位置を最適配置位置と決
定する。
【0135】この構成により上記第4の実施形態と全く
同じ効果が得られる。なお、図56のステップ606〜
608は、削除しても良い。こうすれば、前記チェック
を満足しない場合に、元の第1移動量候補M1を採用す
ることができる。また、ステップ606〜608の代わ
りに第1移動量候補M1=0、候補数=1を移動量候補
リストに設定するステップを設けても良い。こうすれ
ば、前記チェックを満足しない場合に、ストロークを移
動させないようにすることができる。
【0136】また、図56の代わりに、図44に対して
図57(a)〜(c)を追加する構成としてもよい。こ
の図57(a)(b)(c)は、それぞれ図44のステ
ップ323(yes)とステップ334との間、ステップ
324(Mi>0)とステップ325との間、ステップ
324(Mi<0)とステップ327との間に挿入され
るステップである。この場合、図56のように許容範囲
Dを1つずつ大きくするのではなく、許容範囲の最大値
についてのみ前記チェックをすることができる。
【0137】さらに、許容範囲の設け方については上記
以外に、最適配置準備部13が移動量候補リストをスト
ロークテーブルに格納する際に、許容範囲D含めた移動
量候補を生成して、候補数とともに格納するようにして
もよい。 (第7の実施形態)本実施形態における多階調データ生
成装置は、第6の実施形態の構成に対して以下の点が異
なる。すなわち、最適配置位置決定部14がさらにスト
ローク幅Wspに応じて許容範囲Dを用いて、その範囲内
で最適配置位置を決定する。これは上記第5の実施形態
と同じ考え方に基づく。これを実現するため本実施形態
は、第2の実施形態における図44(最適配置位置決定
処理)に対して、図58(a)〜(c)が追加された構
成となっている。図58(a)(b)(c)は、それぞ
れ図44のステップ323(yes)とステップ334間
に、ステップ324(Mi>0)とステップ325間
に、ステップ324(Mi<0)とステップ327間に
挿入されるステップである。同図では、ストローク幅が
しきい値W1より小さければ許容範囲D=0、W1以上で
あればD=1としている。ここでD=0は図54におけ
るP1と、D=1は図54におけるP2と同じである。W
1は、図54における第1のしきい値と同じである。
【0138】なお、本実施形態においても図54と同様
に第2のしきい値W2を用いて、許容範囲Dを3段階と
してもよい。この構成により上記第5の実施形態と全く
同じ効果が得られる。 (第8の実施形態)第1の実施形態の図12のステップ
1205において、移動によって対向するストロークと
ある程度以上接近してしまう場合には、たとえ移動量が
最小であってもその方向への移動は行わない。ある程度
以上接近するという基準は、例えば、当該ストロークの
上部または下部直線が、隣接するストロークの下部また
は上部直線と同一ピクセル内に入ってしまうか、隣同士
のピクセルに含まれるが隣接ピクセルの階調値が濃い
(黒の場合半分以上など)場合などである。つまり、第
2の実施形態における図44のステップ324〜331
に相当する処理を実行すればよい。この処理により、2
本のストロークが接近しすぎて潰れてしまうことが防止
できる。 (第9の実施形態)本実施形態は、第1の実施形態に対
して、第2の実施形態ストローク情報の対向番号の代わ
りに、対向ストロークを判断するためのX座標情報をス
トローク位置情報に持たせている。
【0139】図59(a)(b)は、本実施形態におけ
る、アウトラインデータの水平ストローク情報の具体例
を示す。図59のデータ例は、図25(a)に示した漢
字「担」と同じのアウトラインデータを示す。同図
(b)は水平ストロークの位置情報を表す。同図(b)
のように各ストローク情報は、(下部直線のY座標、上
部直線のY座標、X座標の開始点、X座標の終了点)か
ら表されている。初期配置部11は、ストロークテーブ
ルに初期配置位置を格納する際に、このストローク情報
に基づいて対向番号を求める。図60は、各ストローク
のX座標の開始点、終了点に基づいて対向ストロークを
求める処理を示すフローチャートである。
【0140】図59に即して説明すると、初期配置部1
1は、水平ストローク1(i=1)について、水平スト
ローク2(j=2)をまずチェックし、X座標の重なる
部分の長さ(ステップ405)が所定値を越える(ステ
ップ406:yes)ので、水平ストローク2が対向スト
ロークと判断される。この場合、X座標の重なりは55
0であり、所定値は例えば50(1000メッシュ中の
50メッシュ)としている。初期配置部11は、ストロ
ーク1についてストロークテーブルの上方向の対向番号
欄に2を格納する。 また、初期配置部11は、ストロ
ーク1(i=1)について、ストローク4(j=4)
と、10メッシュ重なっている(ステップ405)が、
所定値50以下(ステップ406:no)なので、次にス
トローク5(j=5)をチェックする。ストローク3と
ストローク5との重なりの長さ300が所定値50を越
えるので、初期配置部11は、ストローク1についてス
トロークテーブルの上方向の対向番号欄に5を格納す
る。また、上記のストローク隣接情報の代わりに、各ス
トローク位置情報に例えば水平ストロークならX座標の
範囲を付加しておくことにより、その値から隣接するか
どうかを求めることも可能である。
【0141】なお、上記以外に、例えば、(ストローク
X、ストロークY)という記述をストローク位置情報に
追加することで、ストロークXとストロークYが隣接し
ないことを示すことで、容易にストロークが本当に隣接
するどうかを判断できる。ストローク同志が接近しても
問題がない場合には、接近する方向への移動が可能にな
り、よりバランスのよいデータが生成できる。
【0142】なお、x座標の範囲や、(ストロークX、
ストロークY)という記述以外にも、括弧の中にストロ
ークを複数個並べたり、水平ストロークの場合には同じ
ようなX座標位置にあるストロークをグループ化し、グ
ループ同志やグループとストローク間の隣接情報を保持
することにより、ストローク隣接情報のサイズを小さく
することが可能である。
【0143】また、水平ストロークならX座標の範囲
を、ストローク位置情報に付加しておくのではなく、輪
郭情報から抽出することも可能である。 (第10の実施形態)本実施形態における多階調データ
生成装置は、第7の実施の形態に対して以下の点が異な
る。つまり、両方向に非常に接近した隣接するストロー
クがある場合には、移動を行わないか、もしくは移動許
容範囲広げてあまり移動しないようにする。
【0144】第7の実施の形態において移動方向の候補
が多く存在する(例えば上下方向どちらへ動いてもよ
い)ストロークの配置位置決定優先度を下げ、移動方向
が一意に決定するストロークから優先的に配置位置を決
定する。これにより、移動自由度の高いストロークは、
両近傍のストロークの位置から最適な移動方向を決定で
きるようになるため、より最適な配置位置が選択可能と
なる。
【0145】この場合、図44の最適配置位置決定処理
において、図58(a)のみを追加して図58(b)
(c)は追加しない構成とすればよい。つまり、図58
(a)は、両方向に非常に接近したストロークがある場
合に移動許容範囲を広げてあまり移動しないようにする
ことを意味する。このことにより、非常にストロークが
密集したところでの無理な移動により文字や図形が潰れ
てしまうことが防止できる。 (第11の実施の形態)本実施の形態における多階調デ
ータ生成装置は、第2の実施形態の構成に対して以下の
点が異なる。
【0146】第2実施形態において、移動方向の候補が
多く存在する(例えば上下方向どちらへ動いてもよい)
ストロークの配置位置決定優先度を下げ、移動方向が一
意に決定するストロークから優先的に配置位置を決定す
る。これにより、移動自由度の高いストロークは、両近
傍のストロークの位置から最適な移動方向を決定できる
ようになるため、より最適な配置位置が選択可能とな
る。
【0147】そのため、本実施形態では、図24に示し
たストロークテーブルにおいて、「優先度」欄が追加さ
れる。「優先度」は、ストロークの配置順位を示し、各
ストローク毎に、1から優先度の数(ストローク数を最
大とする)までの数値で示される。図61は、本実施形
態における優先度を用いた多階調データ生成処理を表し
た概略フローチャートである。同図は図22に比べて、
ステップ601〜606が追加されている点が異なる。
ステップ601と603によるループ処理では、優先度
の数j回のループ処理を行い、ステップ602では、当
該ストロークの優先度がjであれば、最適配置処理が実
行される。ステップ604〜606も同様である。これ
により、優先度順位の高いストロークから(j=1か
ら)順番に最適配置位置が決定される。 (第12の実施形態)本実施形態の多階調データ生成装
置のは、第3の実施形態の構成とほぼ同様であるが、図
62に示すように優先度付加部109、グループ化部1
10が図1(b)に対して付加されている点と、第2の
実施形態の図12のステップ1205において、ストロ
ークが密集していてすべてを奇麗に表現できない場合
に、優先度の高いストロークを優先的に奇麗に配置する
点とが異なる。いか異なる点を中心に説明する。
【0148】優先度付加部109は、ストローク位置情
報保持部101のストローク位置情報、輪郭情報保持部
102の輪郭情報に基づいて、個々のストロークに優先
度を付加する。この優先度は、画数の多い漢字の場合少
ないピクセル数に展開すると、ストロークが密集する結
果くっついてしまうストロークが生じてしまうので、特
に文字の骨格を表すような主要なストロークに対しては
高い値が設定される。優先度付加部109は、文字の骨
格を表す主要なストロークを検出し、高い優先度付加す
る。文字の骨格を表す主要なストロークであるかどうか
は、簡単には短いストロークより長いストロークに対し
て優先度を高くすることにより判別できる。優先度は全
てのストロークに対して順位を付けてもよいが、本の実
施形態では高い、低いの2レベルを設定するものとす
る。
【0149】グループ化部110は、漢字の中で特にス
トローク相互のバランスを保つ必要があるものに対して
グループ化する。例えば「三」「日」「月」「目」等は
水平ストロークの間隔について、「川」「州」等は垂直
ストロークについてバランスが崩れてしまうと不自然な
漢字に見えてしまう。グループ化部110は、比較的画
数が少なく同一方向のストロークが3つ以上含まれる場
合に、それらのストロークをグループする。
【0150】アウトラインデータのストローク位置情報
に保持されている各ストロークに優先順位を付加してお
き、第2の実施形態の図12のステップ1205におい
て、ストロークが密集していてすべてを奇麗に表現でき
ない場合に、優先度の高いストロークを優先的に奇麗に
配置するため、表示品質が向上する。図63は、上記を
優先度を考慮したストローク最適配置位置決定部の処理
フローを示す。
【0151】なお、アウトラインデータのストローク位
置情報に保持されている各ストロークをグルーピングし
ておき、第2の実施形態の図12のステップ1205に
おいて、グループ中の各ストロークは配置位置のバラン
スを崩さないように考慮する。これは例えば3本のスト
ロークが等間隔で配置されることが望ましい場合には、
許容範囲を広げるなどしてストローク移動の距離を短め
にするようにしてもよい。
【0152】
【発明の効果】請求項1の発明によれば、各ストローク
が最適配置決定手段により各画素の境界からの距離に関
する所定の基準を満たすように配置位置が決定され、そ
の配置に従って輪郭生成手段によって輪郭が生成され、
さらに多階調データ生成手段によって多階調データが生
成される。従って、全部のストロークが前記基準を満た
して配置されるので、ストローク幅に一貫性のあり濃淡
にムラがなく忠実な形状再現性を実現する非常に高品質
な多階調データが得ることができるという効果がある。
【0153】請求項2の発明によれば請求項1の効果に
加えて、微小画素の座標系にて最適位置が決定されるの
で精度を向上させることができる。請求項3の発明によ
れば請求項2の効果に加えて、最適化手段によりストロ
ーク中心線の座標に注目して最適位置が決定されので、
ストローク中心線の座標の計算により最適位置を決定す
ることができる。
【0154】請求項4の発明によれば請求項3の効果に
加えて、前記所定の基準を満たす最適位置は、画素の境
界とストローク中心線との距離が、水平ストロークの場
合には画素の水平境界から所定の距離となる位置であ
り、垂直ストロークの場合には画素の垂直境界から前記
所定の距離となる位置であるので、全てのストロークの
位置を画素境界から一律に配置することにより、ストロ
ーク幅に一貫性を保つことができる。
【0155】請求項5の発明によれば請求項4の効果に
加えて、最適位置となるべき位置が、1つの画素内に少
なくとも2つ存在するので、形状の再現性を維持するこ
とができる。請求項6の発明によれば請求項5の効果に
加えて、前記所定の距離は、画素の一辺の約1/4の長
さであるので、形状の再現性をより良好に維持すること
ができ、しかも最適位置となるべき位置が等間隔に存在
するので、各ストロークのバランスがよりよく維持され
るという効果がある。
【0156】請求項7の発明によれば請求項6の効果に
加えて、前記位置変更手段は、1つのストロークに対し
て前記所定の基準を満たす位置が複数ある場合には、ス
トローク初期位置からの移動量が最小となる位置を最適
位置とするので、形状の再現性が非常に良好に維持でき
る。請求項8の発明によれば請求項7の効果に加えて、
ストローク中心線の座標を基準として前記最適位置を得
ることができる。
【0157】請求項9の発明によれば請求項7の効果に
加えて、ストローク中心線を基準としなくてもよく、ス
トローク幅に基づいて最適位置における上部直線又は下
部直線の相対座標を算出することができる。請求項10
の発明によれば請求項9の効果に加えて、相対的な座標
を用いて計算できるので、計算が少ない桁数で済み、よ
り高速な処理にこう適するという効果がある。
【0158】請求項11の発明によれば請求項10の効
果と同じである。請求項12の発明によれば請求項8又
は9の効果に加えて、ストローク幅が1画素の1辺の1
/2より小さい場合に、ストロークが1画素内部に収ま
る位置の何れかを最適位置とするので、幅が小さいスト
ロークがぼやけて見えることを防止し、より鮮明な見か
けを得ることができるという効果がある。
【0159】請求項13の発明によれば請求項8又は9
の効果に加えて、ストローク幅が1画素の1辺より小さ
い場合に、ストロークが1画素内部に収まる位置の何れ
かを最適位置とするので、幅が小さいストロークがぼや
けて見えることを防止し、より鮮明な見かけを得ること
ができるという効果がある。請求項14の発明によれば
請求項8又は9の効果に加えて、前記所定の基準を満た
す最適位置は、更に前記1/4の距離の近傍を許容範囲
とし、前記位置変更手段は、許容範囲内の何れかを最適
位置とするので、より柔軟に最適配置位置を決定しうる
ので、より忠実な形状再現性を実現するという効果があ
る。
【0160】請求項15の発明によれば請求項8又は9
の効果に加えて、前記位置変更手段は、前記所定の基準
を満たす位置が複数ある場合には、その数が少ないスト
ロークから順に高い優先度を設定して、優先度の順に位
置変更をするので、主要なストロークや、多階調データ
の骨格を為すストロークや、移動量を少なくすべきスト
ローク等を優先的に位置変更することができる。
【0161】請求項16の発明によれば請求項に8又は
9の効果に加えて、優先度の順に位置変更をするので、
主要なストロークや、多階調データの骨格を為すストロ
ークや、移動量を少なくすべきストローク等を優先的に
位置変更することができる。請求項17の発明によれば
請求項4の効果に加えて、前記位置変更手段は、1つの
ストロークに対して前記所定の基準を満たす位置が複数
ある場合には、ストローク初期位置からの移動量が最小
となる位置を最適位置とするので、形状の再現性が非常
に良好に維持できる。
【0162】請求項18の発明によれば請求項17の効
果に加えて、前記位置変更手段は、前記最適位置に移動
させた場合に、移動方向にある直近のストロークとの距
離が所定のしきい値以下であれば、前記所定の基準を満
たす位置のうち逆方向に移動させるものを最適位置に選
択するので、ストロークが接近し過ぎてストローク間が
つぶれることを解消することができる。
【0163】請求項19の発明によれば請求項18の効
果に加えて、前記ストローク情報が対向するストローク
を示す対向情報を含むので、隣接する可能性のあるスト
ロークのみを正確に把握することができる。請求項20
の発明によれば請求項18の効果に加えて、重なり算出
手段と判断手段とより隣接する可能性のあるストローク
のみを正確に把握することができる。
【0164】請求項21の発明によれば請求項20の効
果に加えて、2つの隣り合うピクセル内、すなわちスト
ロークが隣接してしまうことを解消することができる。
請求項22の発明によれば請求項21の効果に加えて、
ストロークが隣接せざるを得ない場合には移動量が少な
い位置を最適位置とすることにより、形状の再現性は維
持することができる。
【0165】請求項23の発明によれば、各ストローク
は、準備手段により求められた移動量候補の1つに従っ
て、最適配置決定手段により配置位置が決定され、その
配置に従って輪郭生成手段によって輪郭が生成され、さ
らに多階調データ生成手段によって多階調データが生成
される。従って、全部のストロークが前記基準を満たし
て配置されるので、ストローク幅に一貫性のあり濃淡に
ムラがなく忠実な形状再現性を実現する非常に高品質な
多階調データが得ることができるという効果がある。
【0166】請求項24発明によれば、請求項23の効
果に加えて、全部のストロークがピクセル境界から1辺
の約1/4の位置に配置されるので移動量が比較的少な
くなり、より忠実な形状再現性を実現するという効果が
ある。請求項25の発明によれば、請求項24の効果に
加えて、候補算出手段がストローク幅に対して所定の演
算を施して上部直線の最適配置位置の候補をサブピクセ
ル値で算出し、さらに第1移動量候補リスト作成手段が
その候補への移動量を算出してリストとして第1テーブ
ルに格納する。従って、相対座標も移動量候補も相対的
な値でなので比較的小さい値をとり複雑な座標計算をし
なくても簡単な計算により移動量候補を求めることがで
きるという効果がある。
【0167】請求項26の発明によれば、請求項25の
効果に加えて、最適配置決定手段は、隣のストロークと
同じ移動方向になるように最適配置位置を決定するの
で、ストローク相互のバランスを保つことができるとい
う効果がある。請求項27の発明によれば、請求項26
の効果に加えて、ストローク幅が1画素の1辺の1/2
より小さい場合には、ストロークが1画素内部に収まる
位置のを最適位置とするので、幅が小さいストロークが
ぼやけて見えることを防止し、より鮮明な見かけを得る
ことができるという効果がある。
【0168】請求項28の発明によれば、請求項27の
効果に加えて、各ストロークについて、上方向に移動さ
せる場合は、上方向のストロークとの位置関係を第1〜
第3判定手段がチェックし、下方向に移動させる場合
は、下方向のストロークとの位置関係を第1〜第3判定
手段がチェックするので、ストローク間が接近し過ぎる
ことを解消して、ストローク相互のバランスが良くなる
という効果がある。
【0169】請求項29の発明によれば、請求項28の
効果に加えて、直線座標算出手段は、許容範囲指定手段
に指定された許容範囲を含めた移動量候補に従って2つ
の直線座標を算出する。従って、許容範囲だけより柔軟
に最適配置位置を決定できるとともに、ストローク間が
接近し過ぎることをより柔軟に解消することができる。
【0170】請求項30の発明によれば、請求項29の
効果に加えて、対向情報が、多階調データ生成後に隣接
する可能性のあるストロークを表しているので、直線座
標算出手段は、隣接しないストロークを除外して実際に
隣接する可能性のある2つのストロークを対象とするこ
とができる。具体的には、2つの水平ストロークがX座
標では重ならないがY座標では重なる場合は、ストロー
ク間が隣接することがなく、このような場合を除外する
ことができる。
【0171】請求項31の発明によれば、請求項30の
効果に加えて、最適配置決定手段は、優先順位に従って
各ストロークを順にの最適配置位置を決定するので、フ
ォントの骨格をなす主要なストロークや、ストローク幅
が太いストロークなど重要なストロークを優先して最適
配置位置を決定することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態における多階調データ
生成方法およびその装置のブロック図である。
【図2】同実施形態における最適配置基準テーブルの一
例を示す。
【図3】従来の多階調データ生成手段の内部のブロック
図である。
【図4】文字や図形などのアウトラインデータに含まれ
る輪郭情報とストローク位置情報の一例である。
【図5】文字や図形などのアウトラインデータに含まれ
る輪郭情報とストローク位置情報の一例である。
【図6】ピクセルをサブピクセルに分割した状態を示し
た図である。
【図7】80サブメッシュに縮小されたアウトラインデ
ータの輪郭情報である。
【図8】図7の縮小されたアウトラインデータの輪郭情
報から生成された80×80サブピクセルの2値データ
である。
【図9】図8の80×80サブピクセルの2値データか
ら生成された多階調イメージデータである。
【図10】3本のストロークの配置状態を拡大した図で
ある。
【図11】図10の3種類のストローク配置に対応する
多階調データである。
【図12】本発明の第1の実施形態におけるストローク
最適配置位置決定処理の流れ図である。
【図13】ストローク中心線とその移動方向の例であ
る。
【図14】移動後のストローク下部直線と上部直線の位
置を示す図である。
【図15】ストローク最適配置位置を示す図である。
【図16】輪郭情報拡大縮小手段による拡大縮小の方法
の一例である。
【図17】ストローク最適配置後の80サブメッシュに
縮小された輪郭情報である。
【図18】図17の輪郭情報から生成した8階調の多階
調データである。
【図19】ストローク幅が8サブピクセルの場合の配置
パターンである。
【図20】図19に対応した多階調データでの表現であ
る。
【図21】第2の実施形態における多階調データ生成装
置を機能別に表した概略機能ブロック図である。
【図22】同実施形態の多階調データ生成装置における
多階調データ生成処理を表した概略フローチャートであ
る。
【図23】図22のステップ202に示した初期配置処
理を表すより詳細なフローチャートである。
【図24】ストロークテーブルの具体例を示す。
【図25】アウトラインデータの水平ストローク情報の
具体例を示す。
【図26】図22のステップ203の最適配置準備処理
を表すフローチャートである。
【図27】ストローク幅Wspが8のストロークにつき、
その中心線をピクセル内の3/4境界、1/4境界に配
置した図である。
【図28】ストローク幅Wspが9のストロークにつき、
その中心線をピクセル内の3/4境界、1/4境界に配
置した図である。
【図29】ストローク幅Wspが10のストロークにつ
き、その中心線をピクセル内の3/4境界、1/4境界
に配置した図である。
【図30】ストローク幅Wspが11のストロークにつ
き、その中心線をピクセル内の3/4境界、1/4境界
に配置した図である。
【図31】ストローク幅Wspが12のストロークにつ
き、その中心線をピクセル内の3/4境界、1/4境界
に配置した図である。
【図32】ストローク幅Wspが13のストロークにつ
き、その中心線をピクセル内の3/4境界、1/4境界
に配置した図である。
【図33】ストローク幅Wspが14のストロークにつ
き、その中心線をピクセル内の3/4境界、1/4境界
に配置した図である。
【図34】ストローク幅Wspが16のストロークにつ
き、その中心線をピクセル内の3/4境界、1/4境界
に配置した図である。
【図35】ストローク幅Wspが18のストロークにつ
き、その中心線をピクセル内の3/4境界、1/4境界
に配置した図である。
【図36】ストローク幅Wspが20のストロークにつ
き、その中心線をピクセル内の3/4境界、1/4境界
に配置した図である。
【図37】最適配置位置においてストローク幅Wspに対
してUとLがどのように変化するかを一覧表にした図で
ある。
【図38】ストローク幅が1/2ピクセル以下の場合の
配置の様子を示す説明図である。
【図39】図26のステップ232の移動量候補リスト
処理を示す詳細なフローチャートである。
【図40】相対座標で表された候補U1、U2と移動量候
補の関係を示す説明図である。
【図41】図26のステップ233おいて最適配置準備
部13によってなされる移動候補の順位の調整を示すよ
り詳細なフローチャートである。
【図42】図26のステップ234おいて、ストローク
幅が1/2ピクセル以下の場合に最適配置準備部13に
よってなされる移動量候補リスト作成処理を示すより詳
細なフローチャートである。
【図43】ストローク幅Wspと上部直線Uの値に応じて
第1、第2移動量候補を決定する処理の説明図を示す。
【図44】図22のステップ206又は213において
最適配置位置決定部14によってなされる最適配置決定
処理の詳細なフローチャートである。
【図45】漢字「担」の水平ストロークが配置される様
子を表す説明図である。
【図46】(a)漢字「青」のアウトラインデータ例で
ある。 (b)「青」中の水平ストローク4〜6の初期配置位置
を示す。 (c)(c)に対して最適配置準備処理による配置位置
を示す。 (d)(b)に対して最適配置位置処理による配置位置
を示す。
【図47】12×12のピクセル数をもつ多階調データ
の生成例を示す。
【図48】24×24のピクセル数をもつ多階調データ
の生成例を示す。
【図49】16×16のピクセル数をもつ多階調データ
の生成例を示す。
【図50】第3の実施形態においてストローク幅が1ピ
クセルの1/2より小さい場合を考慮した処理フローを
示す。
【図51】第4の実施形態におけるテーブル作成部21
04の処理フローを示す。
【図52】同実施形態における許容数が+/−1である
場合の最適配置基準テーブルの一例である。
【図53】同実施形態における許容範囲の値をストロー
クの本数に応じて設定する処理フローを示す。
【図54】第5の実施形態におけるテーブル作成部21
04の処理フローを示す。
【図55】同実施形態におけるストローク毎にストロー
クの幅に応じて許容数が設定された場合の最適配置基準
テーブルの一例である。
【図56】第6の実施形態における許容範囲Dの範囲内
で最適配置位置を決定する処理フローを示す。
【図57】同実施形態における許容範囲Dの最大値で最
適配置位置を決定する処理フローを示す。
【図58】第7の実施形態におけるストローク幅Wspに
応じて異なる許容範囲Dを用いて最適配置置を決定する
処理フローを示す。
【図59】第9の実施形態におけるアウトラインデータ
の水平ストローク情報の具体例を示す。
【図60】第9の実施形態における各ストロークのX座
標の開始点、終了点に基づいて対向ストロークを求める
処理を示すフローチャートである。
【図61】第11の実施形態における優先度を用いた多
階調データ生成処理を表した概略フローチャートであ
る。
【図62】第12の実施形態における多階調データ生成
装置の機能ブロック図を示す。
【図63】同実施形態における優先度を考慮したストロ
ーク最適配置位置決定部の処理フローを示す。
【符号の説明】
1 記憶部 2 ROM 3 RAM 4 CPU 5 表示部 6 入力部 11 初期配置部 12 ストロークテーブル 13 最適配置準備部 14 最適配置決定部 15 輪郭情報拡大縮小部 101 ストローク位置情報保持部 102 輪郭情報保持部 103 展開バッファ 104 テーブル作成部 105 最適配置基準テーブル保持部 106 ストローク最適配置位置決定部 107 輪郭情報拡大縮小部 108 多階調データ生成部 109 優先度付加部 110 グループ化部
フロントページの続き (72)発明者 森田 克之 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (72)発明者 宮部 義幸 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (56)参考文献 特許3072250(JP,B2) (58)調査した分野(Int.Cl.7,DB名) G09G 5/24 - 5/28 G09G 5/36 H04N 1/407

Claims (31)

    (57)【特許請求の範囲】
  1. 【請求項1】 文字、図形などに含まれるストロークの
    輪郭を表す輪郭情報と、縦ストロークおよび横ストロー
    クの位置を示すストローク情報とを含むアウトラインデ
    ータに基づいて、所定の画素数からなるサイズの文字、
    図形を多階調データとして生成する多階調データ生成装
    置であって、 前記サイズの全ての画素を縦横に細分化した微小画素の
    位置を表す座標系において、前記ストローク情報に示さ
    れる各ストロークの位置を各画素の境界からの距離に関
    する所定の基準を満たす位置に移動させることによりス
    トローク位置を最適化する最適化手段と、 最適化された各ストロークに基づいて、前記輪郭情報か
    ら前記座標系における輪郭を生成する輪郭生成手段と、 生成された輪郭に基づいて、各画素単位に階調データを
    生成する多階調データ生成手段とを備えることを特徴と
    する多階調データ生成装置。
  2. 【請求項2】 前記最適化手段は、 全てのストロークについて、ストローク情報に示される
    ストロークの位置に基づいて、全ての画素を縦横に細分
    化した微小画素の位置を表す座標系におけるストローク
    位置を算出する初期位置算出手段と、 前記座標系における各ストロークの位置を、前記座標系
    における各画素の境界との距離に関する所定の基準を満
    たす最適位置に変更する位置変更手段とを有することを
    特徴とする請求項1記載の多階調データ生成装置。
  3. 【請求項3】 前記位置変更手段は、各ストローク中心
    線の位置が前記最適位置に位置するように位置変更する
    ことを特徴とする請求項2記載の多階調データ生成装
    置。
  4. 【請求項4】 前記所定の基準を満たす最適位置は、画
    素の境界とストローク中心線との距離が、水平ストロー
    クの場合には画素の水平境界から所定の距離となる位置
    であり、垂直ストロークの場合には画素の垂直境界から
    前記所定の距離となる位置であることを特徴とする請求
    項3記載の多階調データ生成装置。
  5. 【請求項5】 前記所定の基準を満たす最適位置は、画
    素の境界とストローク中心線との距離が、水平ストロー
    クの場合には画素の上辺又は下辺から所定の距離となる
    位置であり、垂直ストロークの場合には画素の左辺又は
    右辺から所定の距離となる位置であることを特徴とする
    請求項4記載の多階調データ生成装置。
  6. 【請求項6】 前記所定の距離は、画素の一辺の約1/
    4の長さであることを特徴とする請求項5記載の多階調
    データ生成装置。
  7. 【請求項7】 前記位置変更手段は、1つのストローク
    に対して前記所定の基準を満たす位置が複数ある場合に
    は、ストローク初期位置からの移動量が最小となる位置
    を最適位置とすることを特徴とする請求項6記載の多階
    調データ生成装置。
  8. 【請求項8】 前記初期位置算出手段は、各ストローク
    について、ストローク情報に基づいて前記座標系におけ
    るストローク中心線の座標を算出し、 前記位置変更手段は、算出された中心線の座標を前記最
    適位置に変更することを特徴とする請求項7記載の多階
    調データ生成装置。
  9. 【請求項9】 前記初期位置算出手段は、各ストローク
    について、ストローク情報に基づいて前記座標系におけ
    るストローク幅と、ストローク上部直線又は下部直線の
    座標とを算出し、 前記位置変更手段は、 算出されたストローク幅に所定の演算を施すことにより
    最適位置における上部直線又は下部直線の画素境界から
    の少なくとも1つの相対位置を算出する相対位置算出手
    段と、 上部直線又は下部直線の移動量が最小となるような相対
    位置に対応する前記座標系における座標を算出し、上部
    直線又は下部直線の初期位置の座標を算出された座標に
    変更する座標変更手段とを備えることを特徴とする請求
    項7記載の多階調データ生成装置。
  10. 【請求項10】 前記相対位置算出手段は、前記座標系
    におけるストローク幅に所定のオフセットを加えた値
    を、画素から微小画素への細分化数で除算した余りを算
    出し、ストローク上部直線又は下部直線の最適位置の候
    補として、その余りに基づいて前記少なくとも1つの相
    対位置を算出することを特徴とする請求項9記載の多階
    調データ生成装置。
  11. 【請求項11】 前記座標変更手段は、 相対位置として算出された各候補のうち、ストロークの
    移動量が小さくなる候補を判定する候補判定手段と、 判定された候補に従ってストローク上部直線及び下部直
    線の座標を算出する算出手段とを備えることを特徴とす
    る請求項10記載の多階調データ生成装置。
  12. 【請求項12】 前記位置変更手段は、前記初期位置算
    出手段により算出されたストローク幅が1画素の1辺の
    1/2より小さい場合で、かつストロークが1画素内部
    に収まっていない場合には、ストロークが1画素内部に
    収まる位置の何れかを最適位置とすることを特徴とする
    請求項8又は9記載の多階調データ生成装置。
  13. 【請求項13】 前記位置変更手段は、前記初期位置算
    出手段により算出されたストローク幅が1画素の1辺よ
    り小さい場合で、かつ画素の1辺の1/4の位置に当該
    ストロークを配置してストロークが1画素内部に収まっ
    ていない場合には、ストロークが1画素内部に収まる位
    置の何れかを最適位置とすることを特徴とする請求項8
    又は9記載の多階調データ生成装置。
  14. 【請求項14】 前記所定の基準を満たす最適位置は、
    更に前記1/4の距離の近傍を許容範囲とし、前記位置
    変更手段は、許容範囲内の何れかを最適位置とすること
    を特徴とする請求項8又は9記載の多階調データ生成装
    置。
  15. 【請求項15】 前記位置変更手段は、前記所定の基準
    を満たす位置が複数ある場合には、その数が少ないスト
    ロークから順に高い優先度を設定して、優先度の順に位
    置変更をすることを特徴とする請求項8又は9記載の多
    階調データ生成装置。
  16. 【請求項16】 前記ストローク情報は、ストロークの
    優先度を示す情報を含み、 前記位置変更手段は、優先度に従ってストロークを順に
    指定するストローク指定手段を有し、指定されたストロ
    ークから順に位置変更を行うことを特徴とする請求項8
    又は9記載の多階調データ生成装置。
  17. 【請求項17】 前記位置変更手段は、1つのストロー
    クに対して前記所定の基準を満たす位置が複数ある場合
    には、ストローク初期位置からの移動量が最小となる位
    置を最適位置とすることを特徴とする請求項4記載の多
    階調データ生成装置。
  18. 【請求項18】 前記位置変更手段は、前記最適位置に
    移動させた場合に、移動方向にある直近のストロークと
    の距離が所定のしきい値以下であれば、前記所定の基準
    を満たす位置のうち逆方向に移動させるものを最適位置
    に選択することを特徴とする請求項17記載の多階調デ
    ータ生成装置。
  19. 【請求項19】 前記ストローク情報は、対向するスト
    ロークを示す対向情報を含み、 前記位置変更手段は、対向情報に示されるストロークを
    前記直近のストロークとして用いることを特徴とする請
    求項18記載の多階調データ生成装置。
  20. 【請求項20】 前記ストローク情報は、各ストローク
    の長手方向の座標の範囲を示す長さ情報を含み、 前記位置変更手段は、 位置変更の対象ストロークと他のストロークとが長手方
    向に重なる長さを、長さ情報に基づいて算出する重なり
    算出手段と、 重なっている長さが所定長以上であれば対向すると判断
    する判断手段とを備え、 前記位置変更手段は対向すると判断されたストロークを
    前記直近のストロークとして用いることを特徴とする請
    求項19記載の多階調データ生成装置。
  21. 【請求項21】 前記位置変更手段は、 位置変更の対象ストロークと直近のストロークとにおい
    て、対向する上部直線及び下部直線の座標を算出する座
    標算出手段と、 算出された上部直線及び下部直線の座標が、2つの隣り
    合うピクセル内にあれば、ストローク間の距離が前記所
    定のしきい値以下と判定する判定手段と、 しきい値以下と判定された場合に、前記所定の基準を満
    たす位置のうち移動量が最小で逆方向に移動させるもの
    を最適位置として決定する決定手段とを備えることを特
    徴とする請求項20記載の多階調データ生成装置。
  22. 【請求項22】 前記位置変更手段はさらに、 対象ストロークを決定手段に決定された最適位置に移動
    させた場合に、移動方向にある直近のストロークとの距
    離が所定のしきい値以下であれば、決定手段に決定され
    た最適位置を廃棄して、その前の最適位置を最適位置と
    再度決定する再決定手段を備えることを特徴とする請求
    項21記載の多階調データ生成装置。
  23. 【請求項23】 文字、図形などに含まれるストローク
    の輪郭を表す輪郭情報と、縦ストロークおよび横ストロ
    ークの位置を示すストローク情報とを含むアウトライン
    データに基づいて、所定のピクセル数からなるサイズの
    文字、図形を多階調データとして生成する多階調データ
    生成装置であって、 前記ストローク情報に示される各ストロークの位置を、
    前記サイズのピクセル座標をさらに縦横に細分化したサ
    ブピクセルの位置を表すサブプクセル座標系の座標に変
    換することにより初期配置位置を求める初期配置手段
    と、 変換された各ストロークについて、その中心線をピクセ
    ル境界から所定の距離をもつ位置に移動させるための、
    少なくとも1つの移動量候補を準備する準備手段と、 各ストロークについて、移動量候補の中の1つに従って
    最適配置位置を決定する最適配置決定手段と、 決定された各ストロークに対して、前記輪郭情報に基づ
    いて前記サブピクセル座標系における輪郭を生成する輪
    郭生成手段と、 生成された輪郭に基づいて、各画素単位に階調データを
    生成する多階調データ生成手段とを備えることを特徴と
    する多階調データ生成装置。
  24. 【請求項24】 前記所定の距離は1ピクセルの1辺の
    約1/4であることを特徴とする請求項23記載の多階
    調データ生成装置。
  25. 【請求項25】 前記初期配置手段は、 水平ストローク毎に、サブピクセル座標系におけるスト
    ローク上部直線の座標と、ストローク下部直線の座標
    と、ストローク幅と、上部直線のピクセル内の相対座標
    であるサブピクセル値と、下部直線のサブピクセル値と
    を保持する第1テーブルを有し、 前記準備手段は、 ストローク毎に、ストローク幅に所定の演算を施して、
    上部直線がとるべきサブピクセル値で表される少なくと
    も1つの候補を算出する候補算出手段と、 ストローク毎に、上部直線の座標から算出された各候補
    までの移動量を算出し、移動量候補リストとして第1テ
    ーブルに格納する第1移動量候補リスト作成手段とを有
    することを特徴とする請求項24記載の多階調データ生
    成装置。
  26. 【請求項26】 前記最適配置決定手段は、 ストローク毎に、移動量候補リストの中から移動方向が
    隣のストロークと同じになる移動量候補を判定し、その
    移動量候補に従って最適配置位置を算出し第1テーブル
    に格納することを特徴とする請求項25記載の多階調デ
    ータ生成装置。
  27. 【請求項27】 前記準備手段は、さらにストローク毎
    に、ストローク幅がピクセルの1/2以下か否かを判定
    するストローク幅判定手段と、 1/2以下と判定された場合に、前記候補算出手段及び
    移動量候補リスト作成手段の動作を禁止する禁止手段
    と、 1/2以下と判定されたストロークについて、ストロー
    クが1ピクセル内に収まる少なくとも1つの移動量を算
    出し、移動量候補リストとして第1テーブルに格納する
    第2移動量候補リスト作成手段とを有することを特徴と
    する請求項26記載の多階調データ生成装置。
  28. 【請求項28】 前記準備手段は、さらに、 第1テーブルに格納された移動量候補リストにおいて、
    移動量が小さい順に順位を付ける順位調整手段を有し、 前記最適配置決定手段は、 移動量候補に従って移動した場合に、ストロークの上部
    又は下部直線と隣のストロークの下部又は上部直線との
    座標を算出する直線座標算出手段と、 当該2直線が同一ピクセル内に位置するか否かを判定す
    る第1判定手段と、 当該2直線が隣り合う2つのピクセル内に位置するか否
    か判定する第2判定手段と、 第2判定手段により2つのピクセル内に位置すると判定
    された場合に、2つのピクセルの輝度が両者共に所定値
    以上が否かを判定する第3判定手段と、 第1判定手段及び第2判定手段により否と判定された移
    動量候補、または第3判定手段により否と判定された
    動量候補を最適移動量と決定する最適移動量決定手段
    と、 決定された最適移動量に従って、移動後のストローク上
    部直線の座標と、ストローク下部直線の座標と、ストロ
    ーク幅と、上部直線のピクセル内の相対座標であるサブ
    ピクセル値と、下部直線のサブピクセル値とを算出し、
    第1テーブルを更新する最適位置算出手段とを有するこ
    とを特徴とする請求項27記載の多階調データ生成装
    置。
  29. 【請求項29】 前記準備手段はどの移動量候補も、第
    1から第3判定手段によって否と判定されない場合に、
    移動量候補に所定の許容範囲を指定する許容範囲指定手
    段を備え、 前記直線座標算出手段は、指定された許容範囲内で移動
    量候補に基づいて前記2直線の座標を算出することを特
    徴とする請求項28記載の多階調データ生成装置。
  30. 【請求項30】 前記初期配置手段は、さらに、ストロ
    ーク毎に輪郭生成後に隣接する可能性のある上方向およ
    び下方向の対向ストロークを示す対向情報を第1テーブ
    ルに保持させ、 前記直線座標算出手段は、移動量候補が上方向の移動を
    示す場合には、当該ストロークの上部直線の座標と対向
    情報が示す上方向の対向ストロークの下部直線の座標と
    を算出し、移動量候補が下方向の移動を示す場合には、
    当該ストロークの下部直線の座標と対向情報が示す下方
    向の対向ストロークの上部直線の座標とを算出すること
    を特徴とする請求項29記載の多階調データ生成装置。
  31. 【請求項31】 前記初期配置手段は、さらに、ストロ
    ーク毎に優先順位を第1テーブルに保持させ、 前記最適配置決定手段は、さらに、優先順位に従ってス
    トロークを順に指定するストローク指定手段を有し、 前記第1から第3判定手段は、指定されたストロークに
    ついて、それぞれの判断を行うことを特徴とする請求項
    30記載の多階調データ生成装置。
JP07315390A 1994-12-20 1995-12-04 多階調データ生成装置 Expired - Fee Related JP3119805B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP07315390A JP3119805B2 (ja) 1994-12-20 1995-12-04 多階調データ生成装置
US08/575,500 US5909221A (en) 1994-12-20 1995-12-20 Gray scaled data generating device which balances width and shade of strokes by repositioning their center line to a predetermined distance from pixel border

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP6-317165 1994-12-20
JP31716594 1994-12-20
JP07315390A JP3119805B2 (ja) 1994-12-20 1995-12-04 多階調データ生成装置

Publications (2)

Publication Number Publication Date
JPH08272353A JPH08272353A (ja) 1996-10-18
JP3119805B2 true JP3119805B2 (ja) 2000-12-25

Family

ID=26568284

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07315390A Expired - Fee Related JP3119805B2 (ja) 1994-12-20 1995-12-04 多階調データ生成装置

Country Status (2)

Country Link
US (1) US5909221A (ja)
JP (1) JP3119805B2 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6288725B1 (en) * 1997-02-24 2001-09-11 Zining Fu Representation and restoration method of font information
CN1172267C (zh) * 1997-08-20 2004-10-20 松下电器产业株式会社 灰度共用数据生成装置、和灰度共用数据复原装置
JP4505082B2 (ja) * 1998-08-28 2010-07-14 パナソニック株式会社 多階調データ生成装置、プログラム記憶媒体、データ記憶媒体
US6597360B1 (en) * 1998-10-07 2003-07-22 Microsoft Corporation Automatic optimization of the position of stems of text characters
US6563502B1 (en) * 1999-08-19 2003-05-13 Adobe Systems Incorporated Device dependent rendering
GB2367660B (en) * 2000-04-13 2004-01-14 Ibm Methods and apparatus for automatic page break detection
US7598955B1 (en) 2000-12-15 2009-10-06 Adobe Systems Incorporated Hinted stem placement on high-resolution pixel grid
EP1393189A4 (en) 2001-05-02 2007-06-13 Bitstream Inc METHODS, SYSTEMS AND PROGRAMMING FOR DISPLAYING REDUCED CONTENTS USING A VARIABLE SCALE FACTOR
KR100484171B1 (ko) * 2002-10-25 2005-04-19 삼성전자주식회사 그레이 스케일 조정 방법 및 장치
US20040183817A1 (en) * 2002-12-03 2004-09-23 Bitstream Inc. Methods, systems, and programming for scaled display of web pages
US7719536B2 (en) * 2004-03-31 2010-05-18 Adobe Systems Incorporated Glyph adjustment in high resolution raster while rendering
US7602390B2 (en) * 2004-03-31 2009-10-13 Adobe Systems Incorporated Edge detection based stroke adjustment
US7580039B2 (en) * 2004-03-31 2009-08-25 Adobe Systems Incorporated Glyph outline adjustment while rendering
US7333110B2 (en) * 2004-03-31 2008-02-19 Adobe Systems Incorporated Adjusted stroke rendering
US7639258B1 (en) 2004-03-31 2009-12-29 Adobe Systems Incorporated Winding order test for digital fonts
US7868888B2 (en) * 2006-02-10 2011-01-11 Adobe Systems Incorporated Course grid aligned counters
US20080068383A1 (en) * 2006-09-20 2008-03-20 Adobe Systems Incorporated Rendering and encoding glyphs
JP5028064B2 (ja) 2006-10-16 2012-09-19 富士通株式会社 アウトラインフォント輝度値補正システムおよび方法、並びにアウトラインフォント輝度値の補正を実行するためのプログラム
JP4367511B2 (ja) * 2007-03-26 2009-11-18 セイコーエプソン株式会社 文字描画装置、表示装置及び印刷装置
JP4703695B2 (ja) * 2008-08-28 2011-06-15 シャープ株式会社 データ作成装置、データ作成方法、データ作成用プログラム、描画装置、描画方法、および、描画用プログラム
US8306327B2 (en) * 2008-12-30 2012-11-06 International Business Machines Corporation Adaptive partial character recognition
US8102397B2 (en) * 2009-01-26 2012-01-24 Mitsubishi Electric Research Laboratories Inc. Method for improving uniform width character strokes using multiple alignment zones
US9710157B2 (en) * 2015-03-12 2017-07-18 Lenovo (Singapore) Pte. Ltd. Removing connective strokes
CN109084721B (zh) * 2017-06-13 2021-09-21 睿励科学仪器(上海)有限公司 用于确定半导体器件中的目标结构的形貌参数的方法和设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5438656A (en) * 1993-06-01 1995-08-01 Ductus, Inc. Raster shape synthesis by direct multi-level filling
US5684510A (en) * 1994-07-19 1997-11-04 Microsoft Corporation Method of font rendering employing grayscale processing of grid fitted fonts

Also Published As

Publication number Publication date
US5909221A (en) 1999-06-01
JPH08272353A (ja) 1996-10-18

Similar Documents

Publication Publication Date Title
JP3119805B2 (ja) 多階調データ生成装置
JP2726631B2 (ja) 液晶表示方法
JP3072250B2 (ja) グリッド・フィッティド・フォントのグレイスケール処理を用いたフォント・レンダリング方法
JP2910979B2 (ja) コンピュータグラフィックシステムのサブピクセルマスク発生方法および装置
EP0786757B1 (en) Adjusting contrast in antialiasing
EP1203351B1 (en) System for rapidly performing scan conversion with anti-aliasing upon outline fonts and other graphic elements
JPS62123573A (ja) コンピユ−タ・グラフイツク装置およびその操作方法
JPH08510851A (ja) 画像処理方法及び装置
JPH08106276A (ja) スクリーン上でのテキスト表示方法
JP3552094B2 (ja) 文字表示装置、文字表示方法および記録媒体
KR100818718B1 (ko) 화상 처리 장치, 및 화상 처리 프로그램이 기록된 컴퓨터판독가능한 기록 매체
US6753858B2 (en) Image display apparatus, image displaying method and recording medium
KR20060030887A (ko) 문자 표시 장치, 문자 표시 방법, 문자 표시 프로그램 및 가독 기록 매체
JP4505082B2 (ja) 多階調データ生成装置、プログラム記憶媒体、データ記憶媒体
JPH05297861A (ja) グラフィックス用途向け1/nビット化位相合わせのための方法
JP3224142B2 (ja) ヒンティング処理方法
JP3519186B2 (ja) 画像中間調処理装置
JPWO2005071659A1 (ja) 表示装置,表示制御装置,表示方法,表示制御プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体
JP3114561B2 (ja) 画像処理装置
WO2010053102A1 (ja) 図形描画装置、アンチエイリアス処理方法および記憶媒体
KR100691501B1 (ko) 스냅 힌팅과 스템 힌팅을 사용한 외곽선 폰트의 비트맵이미지 변환 방법 및 그 방법이 구현된 소프트웨어를저장한 컴퓨터가 읽을 수 있는 기록매체
WO2006075695A1 (ja) 文字図形表示装置、プログラムおよび記録媒体
JP2007156500A (ja) 文字表示装置
KR940007818B1 (ko) 그레이 스케일 폰트의 생성방법
JP4831936B2 (ja) 文字表示装置

Legal Events

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

Free format text: PAYMENT UNTIL: 20081013

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees