(57)【特許請求の範囲】
【請求項１】
マトリックス状に複数の画素が配された表示画面に、記号を表示させるための情報処理装置であって、  前記記号の骨格を示す情報を記憶する記憶手段を備え、前記骨格を示す情報は、前記骨格を構成する各骨格線の要素である要素線分を示す情報を含み、  前記骨格を示す情報に基づいて、指定された階調および前記マトリックスの行方向または列方向のいずれかにおいて指定された線幅を有するように前記記号を表示する際に、前記複数の画素のうちの表示画素の階調を決定する表示制御手段をさらに備え、  前記表示制御手段は、  前記記号の前記表示画素を構成する画素群の一部であって、前記表示画素が前記線幅の方向に一列に並んだ線幅分の画素群を要素画素群とするとき、前記要素線分と当該要素線分と重なる画素を含んだ前記要素画素群の中心点との前記線幅の方向の距離を、各前記要素画素群について算出する距離算出手段と、  前記中心点を含んだ前記要素画素群に含まれる一方の端部の画素の階調を、前記指定された階調と表示される前記記号の背景の階調との間の階調であって、前記距離算出手段で算出した距離に応じた階調に補正する階調補正手段と、  前記階調補正手段での補正に基づき、前記記号を前記表示画面に表示させるための表示データを生成する表示データ生成手段とを含み、 前記一方の端部の画素は、前記中心点に対して、当該中心点から前記線幅の方向に前記距離だけ離れた前記要素線分上の点とは反対側に位置する画素である、情報処理装置。
【請求項２】
前記階調補正手段は、前記補正を行った画素を含んだ要素画素群における他方の端部の画素と前記線幅の方向に隣接する画素であって、当該要素画素群に含まれていない画素についても、前記記号の階調と当該記号の背景の階調との間の階調であって、前記距離算出手段で算出した距離に応じた階調に補正する、請求項１に記載の情報処理装置。
【請求項３】
前記階調補正手段は、  前記一方の端部の画素については、前記距離が長くなるにつれて、前記記号の階調から前記背景の階調に近づく補正をし、 前記隣接する画素については、前記距離が長くなるにつれて、前記背景の階調から前記記号の階調に近づく補正をする、請求項２に記載の情報処理装置。
【請求項４】
複数の前記要素線分に基づき前記記号が表示される場合、各要素線分が、前記行方向または前記列方向と平行な直線であるか否かを、前記骨格線を示した情報に基づいて判定する平行判定手段と、 前記平行判定手段によって平行であると判定された要素線分と重なる画素を含んだ前記要素画素群における前記一方の端部の画素と、当該要素画素群における前記他方の端部の画素と前記線幅の方向に隣接する画素であるとともに当該要素画素群に含まれていない画素とについては、前記階調補正手段による補正を制限する補正制限手段とを備える、請求項２または３に記載の情報処理装置。
【請求項５】
前記行方向または前記列方向に平行な要素線分と、前記平行な要素線分と連続するとともに当該要素線分に対して傾きを有する他の要素線分とに基づき前記記号が表示される場合、前記平行な要素線分と重なる画素を含んだ各要素画素群における各中心点を通る線を第１仮想線とし、前記他の要素線分と重なる画素を含んだ前記要素画素群における中心点を通る、前記第１仮想線と垂直な線を第２仮想線とすると、 前記第２仮想線と前記他の要素線分との交点の位置と、前記第１仮想線の位置とが所定の関係を満たす場合、当該交点と重なる画素を含んだ前記要素画素群における前記一方の端部の画素と、当該要素画素群に隣接する前記他方の端部の画素についての前記階調補正手段による階調の補正を制限する補正制限手段を備える、請求項項２または３に記載の情報処理装置。
【請求項６】
表示画面においてＸ軸の正方向を前記行方向とし、Ｙ軸の負方向を前記列方向とすると、前記第１仮想線がＹ軸と平行であって、かつ前記他の要素線分が前記第１仮想線よりもＸ軸の負方向側に存在する場合、前記所定の関係は、前記交点のＸ座標の値が前記第１仮想線のＸ座標の値よりも大きいことである、請求項５に記載の情報処理装置。
【請求項７】
表示画面においてＸ軸の正方向を前記行方向とし、Ｙ軸の負方向を前記列方向とすると、前記第１仮想線がＹ軸と平行であって、かつ前記他の要素線分が前記第１仮想線よりもＸ軸の正方向側に存在する場合、前記所定の関係は、前記交点のＸ座標の値が前記第１仮想線のＸ座標の値よりも小さいことである、請求項５に記載の情報処理装置。
【請求項８】
表示画面においてＸ軸の正方向を前記行方向とし、Ｙ軸の負方向を前記列方向とすると、前記第１仮想線がＸ軸と平行であって、かつ、前記他の要素線分が前記第１仮想線よりもＹ軸の負方向側に存在する場合、前記所定の関係は、前記交点のＹ座標の値が前記第１仮想線のＹ座標の値よりも大きいことである、請求項５に記載の情報処理装置。
【請求項９】
表示画面においてＸ軸の正方向を前記行方向とし、Ｙ軸の負方向を前記列方向とすると、前記第１仮想線がＸ軸と平行であって、かつ、前記他の要素線分が前記第１仮想線よりもＹ軸の正方向側に存在する場合、前記所定の関係は、前記交点のＹ座標の値が前記第１仮想線のＹ座標の値よりも小さいことである、請求項５に記載の情報処理装置。
【請求項１０】
前記行方向または前記列方向に平行な要素線分と、前記平行な要素線分と連続するとともに当該要素線分に対して傾きを有する他の要素線分とに基づき前記記号が表示される場合、前記平行な要素線分と重なる画素を含んだ各要素画素群における各中心点を通る線を第１仮想線とすると、 前記第１要素線分と重なる画素に前記第１仮想線が重なっており、かつ前記第１仮想線と前記第２要素線分とが交わる場合、前記第２要素線分の長さを、当該交わった点を含む画素に隣接する画素までしか達しない長さに補正するとともに、前記第１要素線分の長さを、前記交わった点を含む画素まで達する長さに補正する要素線分補正手段を備える、請求項２または３に記載の情報処理装置。
【請求項１１】
前記記号は、加法混色により色が決定されるものであり、 前記階調補正手段は、前記加法混色の原色のそれぞれについて画素値を補正することにより前記階調の補正を行う、請求項１から３のいずれか１項に記載の情報処理装置。
【請求項１２】
マトリックス状に複数の画素が配された表示画面に、記号を表示させるための情報処理装置であって、 記憶装置に記憶された前記記号の骨格を示す情報に基づいて、指定された階調および前記マトリックスの行方向または列方向のいずれかにおいて指定された線幅を有するように前記表示画面に前記記号を表示する際に、前記複数の画素のうちの表示画素の階調を決定する表示制御手段を備え、前記骨格を示す情報は、前記骨格を構成する各骨格線の要素である要素線分を示す情報を含み、 前記表示制御手段は、 前記要素線分として、前記行方向または前記列方向と平行な第１要素線分と、当該第１要素線分と連続するとともに当該第１要素線分に対して傾きを有する第２要素線分とを含む前記記号を表示する際に、前記指定された階調を補正する階調補正手段を含み、 前記階調補正手段は、前記記号の前記表示画素を構成する画素群の一部であって、前記第１要素線分と前記第２要素線分との交点と重なる画素を含んだ前記線幅の方向に連続した前記線幅分の画素群を要素画素群とすると、当該要素画素群における端部の画素に前記線幅の方向に隣接する画素であるとともに当該要素画素群に含まれていない画素であって、前記連続した両要素線分により形成される角度のうち優角側の領域の画素については、前記階調の補正を行わない、情報処理装置。
【請求項１３】
マトリックス状に複数の画素が配された表示画面に、記号を表示させるための情報処理装置であって、  記憶装置に記憶された前記記号の骨格を示す情報に基づいて、指定された階調および前記マトリックスの行方向または列方向のいずれかにおいて指定された線幅を有するように前記表示画面に前記記号を表示する際に、前記複数の画素のうちの表示画素の階調を決定する表示制御手段を備え、前記骨格を示す情報は、前記骨格を構成する各骨格線の要素である要素線分を示す情報を含み、  前記表示制御手段は、  前記要素線分として、前記行方向または前記列方向と平行な第１要素線分と、当該第１要素線分と連続するとともに当該第１要素線分に対して傾きを有する第２要素線分とを含む前記記号を表示する際に、前記指定された階調を補正する階調補正手段を含み、  前記階調補正手段は、前記第１要素線分と前記第２要素線分との交点と重なる画素に関して前記線幅の方向に配された画素であって、前記連続した両要素線分により形成される角度のうち優角側の領域の画素については、線幅を太くするような階調の補正を行わない、情報処理装置。
【請求項１４】
前記表示制御手段は、 前記記号の前記表示画素を構成する画素群の一部であって、前記表示画素が前記線幅の方向に一列に並んだ線幅分の画素群を要素画素群とするとき、前記要素線分と当該要素線分と重なる画素を含んだ前記要素画素群の中心点との前記線幅の方向の距離を、各前記要素画素群について算出する距離算出手段を、さらに備え、 前記階調補正手段は、前記要素画素群の一方の端部の画素と、当該要素画素群に隣接する他方の端部の画素と前記線幅の方向に隣接する画素であるとともに当該要素画素群に含まれていない画素については、前記指定された階調と表示される前記記号の背景の階調との間の階調であって、前記距離算出手段で算出した距離に応じた階調に補正する、請求項１２または１３に記載の情報処理装置。
【請求項１５】
記号の骨格を示した情報に基づき、マトリックス状に画素が配された表示画面に、指定された階調および前記マトリックスの行方向または列方向のいずれかにおいて指定された線幅を有する記号を表示させる情報処理方法であって、 前記記号の表示画素を構成する画素群の一部であって、前記表示画素が前記線幅の方向に一列に並んだ線幅分の画素群を要素画素群とするとき、前記骨格を構成する骨格線の要素である要素線分と、当該要素線分と重なる表示画素を含んだ前記要素画素群における中心点との、前記線幅の方向における距離を算出する距離算出ステップと、 前記中心点を含んだ前記要素画素群に含まれる一方の端部の画素の階調を、前記記号の階調と当該記号の背景の階調との間の階調であって、前記距離算出ステップで算出した距離に応じた階調に補正する階調補正ステップと、 前記階調補正ステップで補正した後の記号を、前記表示画面に表示させる表示ステップとを含み、 前記一方の端部の画素は、前記中心点に対して、当該中心点から前記線幅の方向に前記距離だけ離れた前記要素線分上の点とは反対側に位置する画素である、情報処理方法。
【請求項１６】
請求項１５に記載の情報処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストロークフォントによって記号を表示画面に表示させることが可能な情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
従来より、スケーラブルフォントの一種であるストロークフォントが知られている。スクロールフォントとは、文字の形をコンピュータ上で表現するためのデータ形式の一つである。また、スクロールフォントは、文字の形状を、中心線（骨格線）のパラメータ（ベクタデータ）として表現する形式でもある。
【０００３】
例えば、特許文献１には、スクロールフォントを用いた文字表示装置が開示されている。
【０００４】
この文字表示装置においては、スケルトンデータと呼ばれる文字の骨格を示したデータ（つまり、ストロークフォント）に基づいて、文字を表示画面に表示させている。
【０００５】
図２７は、上記スケルトンデータのデータ構造を示した図である。同図に示すとおり、スケルトンデータ１００は、文字の種別を区別するための文字コード１０１と、一つの文字を構成するストロークの数を示すストローク数１０２と、各ストロークに対応するストローク情報１０３とが含まれている。なお、この例では、一つのストロークが、文字の画数のうち一画分に対応する。言い換えれば、ストロークとは、表示画面に表示される線幅を有する文字の一部でもある。
【０００６】
また、ストローク情報１０３には、ストロークを構成する複数の点の座標の数を示す座標の数１０４と、ストロークを構成する複数の点の座標をぞれぞれ示す複数の座標データ１０５…とが含まれている。
【０００７】
図２８は、「木」といった漢字（文字）に関するスケルトンデータをデータ構造を示した図である。同図に示すとおり、「木」に関するスケルトンデータは、４つのストローク情報を含んでいる。言い換えれば、「木」に関するスケルトンデータは、４つのストロークの骨格線を示したデータ含んでいる。同図では、各ストローク情報に対応するストロークの骨格線に対して、ストローク＃１〜ストローク＃４として表示している。
【０００８】
例えば、ストローク＃１については、始点（４，１９２）と終点（２４５，１９２）とを結ぶ線分として定義されている。また、ストローク＃３については、始点（１２１，１９２）と点（９７，１４１）とを結ぶ線分と、点（９７，１４１）と点（７２，１０３）とを結ぶ線分と、点（７２，１０３）と点（４１，６９）とを結ぶ線分と、点（４１，６９）と終点（０，４２）とを結ぶ線分とからなる折線として定義されている。図２９は、漢字「木」の骨格を示した図２８のスケルトンデータを座標平面上に示した図である。
【０００９】
特許文献１では、記憶装置からスケルトンデータ１００を読み出した後、指定された文字サイズにしたがって、当該スケルトンデータの座標データ（座標値）１０５…がスケーリングされる。このスケーリングにより、スケルトンデータ１００の座標データ１０５…のために予め設定されていた座標系が、表示画面用の実ピクセル座標系に変換される。
【００１０】
その後、スケーリングされることにより得られた骨格線を示した情報を用いて、文字の描画が行われる。具体的には、骨格線の要素となる各線分に対して、所定の線幅を持たせることにより、表示画面に表示させる文字が構成される。
【００１１】
図３０は、上記線分に対して所定の線幅の持たせた例を示した図である。ここで、図３０（ａ）は、線幅を奇数とした場合の例であり、図３０（ｂ）は、線幅を偶数とした場合の例である。そして、同図に示す太線で囲まれた画素の階調を指定された階調（例えば、背景の階調（例えば、白色）と異なる階調（例えば、黒色））に設定することにより、文字が表示画面に視認可能に表示されることになる。
【００１２】
しかしながら、このような構成では、図３０（ａ）（ｂ）にも示すとおり、表示画面に文字を表示する際に、斜線に発生する階段状のギザギザ(ジャギー)が目立ってしまう。
【００１３】
一方、特許文献２には、線分の副軸方向に対して複数個の画素データを順次発生させる発生手段と、各画素の輝度低減率を保持するレジスタと、上記発生手段の動作に同期して上記レジスタから必要な低減率データを取り出して各画素データを出力する出力手段とを備えた線分アンチエイリアシング装置が開示されている。
【００１４】
この装置によると、線分表示においてエイリアシングと呼ばれるギザギザの発生を抑えることが可能となる。
【特許文献１】特開２００５-２４９８７号公報
【特許文献２】特開平８−１３８０６７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
ところで、特許文献２は、理論線と描画画素との距離の小数部（同文献におけるｄ１１やｄ０１（同文献の図４および図５参照））に対する低減率をルックアップテーブル（ＬＵＴ）に保持しており、当該ＬＵＴを直接参照することにより低減率データを取得する構成となっている（同文献の図４および図５参照）。
【００１６】
このため、（小数部の取り得る値の数）×（線幅ドット数）個の低減率データをＬＵＴに記憶させておく必要がある。このため、例えば同文献の図５においては、１６×３＝４８バイトの記憶容量が必要になる。
【００１７】
また、同文献では、ＬＵＴで対応している線幅分しか線画像を生成できないため、任意の線幅の線画像を出力できない。仮に、数多くの種類の線幅の線画像を出力可能にしようとすると、膨大な数の低減率データをＬＵＴに保持しなければならない。このため、この場合も、多くの記憶容量が必要になる。
【００１８】
さらに、同文献では、線に属する全ての画素の輝度値が低減する可能性があるため、この場合、全ての画素について輝度値を低減するための演算が必要になる。
【００１９】
本発明は上記の問題点に鑑みなされたものであって、その目的は、ルックアップテーブル等のデータを用いることなく、短い処理時間でシャギーを目立たなくさせることが可能な情報処理装置、情報処理方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【００２０】
本発明のある局面に従うと、情報処理装置は、マトリックス状に複数の画素が配された表示画面に、記号を表示させるための情報処理装置であって、記号の骨格を示す情報を記憶する記憶手段を備え、骨格を示す情報は、骨格を構成する各骨格線の要素である要素線分を示す情報を含み、骨格を示す情報に基づいて、指定された階調および前記マトリックスの行方向または列方向のいずれかにおいて指定された線幅を有するように前記記号を表示する際に、複数の画素のうちの表示画素の階調を決定する表示制御手段をさらに備え、表示制御手段は、記号の表示画素を構成する画素群の一部であって、表示画素が線幅の方向に一列に並んだ線幅分の画素群を要素画素群とするとき、要素線分と当該要素線分と重なる画素を含んだ要素画素群の中心点との線幅の方向の距離を、各要素画素群について算出する距離算出手段と、中心点を含んだ要素画素群に含まれる一方の端部の画素の階調を、指定された階調と表示される記号の背景の階調との間の階調であって、距離算出手段で算出した距離に応じた階調に補正する階調補正手段と、階調補正手段での補正に基づき、記号を表示画面に表示させるための表示データを生成する表示データ生成手段とを含んでいる。
【００２１】
また、一方の端部の画素は、中心点に対して、当該中心点から線幅の方向に距離だけ離れた要素線分上の点とは反対側に位置する画素であることが好ましい。
【００２２】
また、階調補正手段は、補正を行った画素を含んだ要素画素群における他方の端部の画素と線幅の方向に隣接する画素であって、当該要素画素群に含まれていない画素についても、記号の階調と当該記号の背景の階調との間の階調であって、距離算出手段で算出した距離に応じた階調に補正することが好ましい。
【００２３】
また、階調補正手段は、一方の端部の画素については、距離が長くなるにつれて、記号の階調か記背景の階調に近づく補正をし、隣接する画素については、距離が長くなるにつれて、背景の階調から記号の階調に近づく補正をすることが好ましい。
【００２４】
また、複数の前記要素線分に基づき記号が表示される場合、各要素線分が、行方向または列方向と平行な直線であるか否かを、骨格線を示した情報に基づいて判定する平行判定手段と、平行判定手段によって平行であると判定された要素線分と重なる画素を含んだ前記要素画素群における一方の端部の画素と、当該要素画素群における他方の端部の画素と線幅の方向に隣接する画素であるとともに当該要素画素群に含まれていない画素とについては、階調補正手段による補正を制限する補正制限手段とを備えることが好ましい。
【００２５】
また、行方向または列方向に平行な要素線分と、平行な要素線分と連続するとともに当該要素線分に対して傾きを有する他の要素線分とに基づき記号が表示される場合、平行な要素線分と重なる画素を含んだ各要素画素群における各中心点を通る線を第１仮想線とし、他の要素線分と重なる画素を含んだ要素画素群における中心点を通る、第１仮想線と垂直な線を第２仮想線とすると、第２仮想線と他の要素線分との交点の位置と、第１仮想線の位置とが所定の関係を満たす場合、当該交点と重なる画素を含んだ要素画素群における一方の端部の画素と、当該要素画素群に隣接する他方の端部の画素についての階調補正手段による階調の補正を制限する補正制限手段を備えることが好ましい。
【００２６】
また、表示画面においてＸ軸の正方向を行方向とし、Ｙ軸の負方向を列方向とすると、第１仮想線がＹ軸と平行であって、かつ他の要素線分が第１仮想線よりもＸ軸の負方向側に存在する場合、所定の関係は、交点のＸ座標の値が第１仮想線のＸ座標の値よりも大きいことであることが好ましい。
【００２７】
また、表示画面においてＸ軸の正方向を行方向とし、Ｙ軸の負方向を列方向とすると、第１仮想線がＹ軸と平行であって、かつ他の要素線分が第１仮想線よりもＸ軸の正方向側に存在する場合、所定の関係は、交点のＸ座標の値が第１仮想線のＸ座標の値よりも小さいことであることが好ましい。
【００２８】
また、表示画面においてＸ軸の正方向を行方向とし、Ｙ軸の負方向を列方向とすると、第１仮想線がＸ軸と平行であって、かつ、他の要素線分が第１仮想線よりもＹ軸の負方向側に存在する場合、所定の関係は、交点のＹ座標の値が第１仮想線のＹ座標の値よりも大きいことであることが好ましい。
【００２９】
また、表示画面においてＸ軸の正方向を行方向とし、Ｙ軸の負方向を列方向とすると、第１仮想線がＸ軸と平行であって、かつ、他の要素線分が第１仮想線よりもＹ軸の正方向側に存在する場合、所定の関係は、交点のＹ座標の値が第１仮想線のＹ座標の値よりも小さいことであることが好ましい。
【００３０】
また、行方向または列方向に平行な要素線分と、平行な要素線分と連続するとともに当該要素線分に対して傾きを有する他の要素線分とに基づき記号が表示される場合、平行な要素線分と重なる画素を含んだ各要素画素群における各中心点を通る線を第１仮想線とすると、第１要素線分と重なる画素に第１仮想線が重なっており、かつ第１仮想線と第２要素線分とが交わる場合、第２要素線分の長さを、当該交わった点を含む画素に隣接する画素までしか達しない長さに補正するとともに、第１要素線分の長さを、交わった点を含む画素まで達する長さに補正する要素線分補正手段を備えることが好ましい。
【００３１】
また、記号は、加法混色により色が決定されるものであり、階調補正手段は、加法混色の原色のそれぞれについて画素値を補正することにより階調の補正を行うことが好ましい。
【００３２】
本発明の他の局面に従うと、情報処理装置は、マトリックス状に複数の画素が配された表示画面に、記号を表示させるための情報処理装置であって、記憶装置に記憶された記号の骨格を示す情報に基づいて、指定された階調および前記マトリックスの行方向または列方向のいずれかにおいて指定された線幅を有するように表示画面に記号を表示する際に、複数の画素のうちの表示画素の階調を決定する表示制御手段を備え、骨格を示す情報は、骨格を構成する各骨格線の要素である要素線分を示す情報を含み、表示制御手段は、要素線分として、行方向または列方向と平行な第１要素線分と、当該第１要素線分と連続するとともに当該第１要素線分に対して傾きを有する第２要素線分とを含む記号を表示する際に、指定された階調を補正する階調補正手段を含み、階調補正手段は、記号の表示画素を構成する画素群の一部であって、第１要素線分と第２要素線分との交点と重なる画素を含んだ線幅の方向に連続した線幅分の画素群を要素画素群とすると、当該要素画素群における端部の画素に線幅の方向に隣接する画素であるとともに当該要素画素群に含まれていない画素であって、連続した両要素線分により形成される角度のうち優角側の領域の画素については、前記階調の補正を行わない。
【００３３】
本発明のさらに他の局面に従うと、情報処理装置は、マトリックス状に複数の画素が配された表示画面に、記号を表示させるための情報処理装置であって、記憶装置に記憶された記号の骨格を示す情報に基づいて、指定された階調および前記マトリックスの行方向または列方向のいずれかにおいて指定された線幅を有するように表示画面に記号を表示する際に、複数の画素のうちの表示画素の階調を決定する表示制御手段を備え、骨格を示す情報は、骨格を構成する各骨格線の要素である要素線分を示す情報を含み、表示制御手段は、要素線分として、行方向または列方向と平行な第１要素線分と、当該第１要素線分と連続するとともに当該第１要素線分に対して傾きを有する第２要素線分とを含む記号を表示する際に、指定された階調を補正する階調補正手段を含み、階調補正手段は、第１要素線分と第２要素線分との交点と重なる画素に関して線幅の方向に配された画素であって、連続した両要素線分により形成される角度のうち優角側の領域の画素については、線幅を太くするような階調の補正を行わない。
【００３４】
また、表示制御手段は、記号の表示画素を構成する画素群の一部であって、表示画素が線幅の方向に一列に並んだ線幅分の画素群を要素画素群とするとき、要素線分と当該要素線分と重なる画素を含んだ要素画素群の中心点との線幅の方向の距離を、各要素画素群について算出する距離算出手段を、さらに備え、階調補正手段は、要素画素群の一方の端部の画素と、当該要素画素群に隣接する他方の端部の画素と線幅の方向に隣接する画素であるとともに当該要素画素群に含まれていない画素については、指定された階調と表示される記号の背景の階調との間の階調であって、距離算出手段で算出した距離に応じた階調に補正することが好ましい。
【００３５】
本発明のさらに他の局面に従うと、情報処理方法は、記号の骨格を示した情報に基づき、マトリックス状に画素が配された表示画面に、指定された階調および前記マトリックスの行方向または列方向のいずれかにおいて指定された線幅を有する記号を表示させる情報処理方法であって、記号の表示画素を構成する構成する画素群の一部であって、表示画素が線幅の方向に一列に並んだ線幅分の画素群を要素画素群とするとき、骨格を構成する骨格線の要素である要素線分と、当該要素線分と重なる表示画素を含んだ要素画素群における中心点との、線幅の方向における距離を算出する距離算出ステップと、中心点を含んだ要素画素群に含まれる一方の端部の画素の階調を、記号の階調と当該記号の背景の階調との間の階調であって、距離算出ステップで算出した距離に応じた階調に補正する階調補正ステップと、階調補正ステップで補正した後の記号を、表示画面に表示させる表示ステップとを含む。
【００３６】
本発明のさらに他の局面に従うと、プログラムは、上記情報処理方法をコンピュータに実行させるためのプログラムである。
【発明の効果】
【００３７】
本発明により。ルックアップテーブル等のデータを用いることなく、短い処理時間でシャギーを目立たなくさせることができるといった効果を奏する。
【発明を実施するための最良の形態】
【００３８】
本発明に係る情報処理装置の一実施の形態について、図１〜図２６に基づいて説明すると、以下のとおりである。
【００３９】
図１は、情報処理装置１の概略構成を示したブロック図である。同図に示すとおり、情報処理装置１は、入力部１０と、出力部１１と、記憶装置１２と、第１メモリ１３と、第２メモリ１４と、制御部１５とを備えている。
【００４０】
入力部１０は、ユーザからの入力を受け付けるための入力デバイスである。入力部１０を介してユーザがデータの入力を行うことにより、第１メモリ１３に当該入力されたデータが記憶される。入力部１０を介して、入力されるデータとしては、例えば、記号を特定するためのデータ（例えば、文字コード）、記号のサイズのデータ、記号の線幅の種別情報（例えば、太、中、細）を特定するためのデータ、記号の色を特定するためのデータ等が挙げられる。なお、以下では、記号の線幅の種別、および記号の色については、予めデフォルト値が記憶装置１２に記憶されており、ユーザが変更指示を入力部１０を介して情報処理装置１に入力しない限り、デフォルト値に基づいた表示がなされる構成としておく。
【００４１】
出力部１１は、制御部１５からの指示に基づき、入力部１０を介して入力されたデータ、および制御部１５における各種の処理の結果を表示するためのデバイスである。また、出力部１１は、マトリックス状に画素が配された表示画面を備えている。以下では、マトリックスに対してＸＹ座標を設定し、Ｘ軸の正方向をマトリックスの行方向と、Ｙ軸の負方向をマトリックスの列方向とする。つまり、ユーザが対峙する表示画面に対して、右方向がＸ軸方向、上方向がＹ軸方向とする。
【００４２】
なお、以下では、出力部１１が、カラーモデルの一例として、ＲＧＢカラーモデルを用いた表示を行うものとする。また、以下では画素の画素値を、（Ｒ，Ｇ，Ｂ）として表記する。さらに、以下では、画素値（Ｒ，Ｇ，Ｂ）のうちＲの要素の値をＲ成分の値と、Ｇの要素の値をＧ成分の値と、Ｂの要素の値をＢ成分の値と称する。
【００４３】
記憶装置１２は、各種記号のスケルトンデータを記号毎に記憶している。また、記憶装置１２は、例えば、ハードディスク装置や、フラッシュメモリで構成される。ここで、記号とは、文字、図形、符号等を含む概念である。なお、スケルトンデータの構成については、図２７および図２８に示した従来の構成と同様であるため、ここでの説明は省略する。
【００４４】
第１メモリ１３は、ＲＡＭ（Random Access Memory）等の揮発性の半導体メモリで構成される。また、第１メモリ１３は、制御部１５のＣＰＵ（図示せず）が直接データをやり取りする主記憶装置としての役割を果たす。第１メモリ１３には、ユーザにより入力されたデータ、記憶装置１２に記憶されたデータ等が一時的に記憶される。
【００４５】
第２メモリ１４は、ＶＲＡＭ（Video RAM）であり、出力部１１に表示するデータを保持しておくためのメモリである。なお、本実施の形態の情報処理装置１は、第１メモリ１３と第２メモリ１４とを備えているが、第２メモリ１４を独立して備えずに第１メモリ１３の一部の領域をＶＲＡＭ用のメモリ領域として割り当てる構成としてもよい。
【００４６】
制御部１５は、情報処理装置１における各種の処理を制御する。
制御部１５内の表示制御部１６は、距離算出部２０と、階調補正部２１と、表示データ生成部２２とを備えている。さらに、階調補正部２１は、平行判定部３０と、補正制限部３１と、線分補正部３２とを備えている。なお、制御部１５および制御部１５内の各部は機能ブロックであり、これらのブロックにおける処理は、後述するＣＰＵにより実行されるソフトウェアによって実現される。
【００４７】
表示制御部１６は、制御部１５内で処理したデータを出力部１１に表示させる。具体的には、表示制御部１６は、ＶＲＡＭとして機能する第２メモリ１４に画像データを記憶させるとともに、当該記憶させた画像データを出力部１１で出力させる。
【００４８】
より詳しくは、表示制御部１６は、スケルトンデータ（記号の骨格を示す情報）に基づいて、マトリックスの行方向または列方向のいずれかにおいて指定された線幅および指定された階調を有するように記号を表示画面に表示する際に、複数の画素のうちの表示画素の階調を決定する。
【００４９】
以下では、スケルトンデータの座標データ（図２８参照）をスケーリングして得られる座標データに基づき構成される記号の骨格を示す線を骨格線と称する。つまり、骨格線とは、出力部１１で表示される際のサイズに変更された後の、記号の骨格を示す線として説明する。
【００５０】
また、記号の表示画素を構成する画素群の一部であって、表示画素が線幅の方向に一列に並んだ線幅分の画素群を要素画素群と称する。さらに、記号の骨格を構成する各骨格線の要素である線分を要素線分と称する。つまり、要素線分とは、骨格線を構成する一要素となる線分であって、一定の傾きを有する線分である。
【００５１】
距離算出部２０は、上記要素線分と、当該要素線分と重なる画素を含んだ要素画素群の中心点との上記線幅の方向の距離を、各要素画素群について算出する。
【００５２】
階調補正部２１は、補正対象画素を上記要素線分毎に特定し、所定の規則に従って補正対象画素について上記指定された階調を別の階調に補正する。また、階調補正部２１は、各色成分の画素値（つまり、Ｒ成分画素値、Ｇ成分画素値、Ｂ成分画素値）に対して、補正を行う。ここで、階調の補正とは、各色成分の画素値を補正することをいう。なお、補正対象画素の特定と、具体的な階調の補正の方法とについては、後述する。
【００５３】
表示データ生成部２２は、階調補正部２１での補正に基づき、記号を表示画面に表示させるための表示データを生成し、当該表示データを第２メモリに一時記憶させる。
【００５４】
なお、階調補正部２１における、平行判定部３０と、補正制限部３１と、線分補正部３２とについては、後述する。
【００５５】
ここで、図２を参照して、本実施の形態に係る情報処理装置１の具体的構成の一態様について説明する。同図は、情報処理装置１として機能するコンピュータシステム１０００のハードウェア構成を表わすブロック図である。
【００５６】
コンピュータシステム１０００は、主たる構成要素として、プログラムを実行するＣＰＵ１１０と、コンピュータシステム１０００の使用者による指示の入力を受けるマウス１２０およびキーボード１３０と、ＣＰＵ１１０によるプログラムの実行により生成されたデータ、又はマウス１２０若しくはキーボード１３０を介して入力されたデータを揮発的に格納するＲＡＭ１４０と、データを不揮発的に格納するハードディスク１５０と、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）駆動装置１６０と、モニタ１７０と、通信ＩＦ（Interface）１８０とを含む。各構成要素は、相互にデータバスによって接続されている。ＣＤ−ＲＯＭ駆動装置１６０には、ＣＤ−ＲＯＭ１６１が装着される。
【００５７】
なお、情報処理装置１における入力部１０がキーボード１３０およびマウス１２０に該当し、出力部１１がモニタ１７０に該当し、記憶装置１２がハードディスク１５０に該当し、第１メモリ１３と第２メモリ１４とがＲＡＭ１４０に該当する。
【００５８】
コンピュータシステム１０００における処理は、各ハードウェアおよびＣＰＵ１１０により実行されるソフトウェアによって実現される。このようなソフトウェアは、ハードディスク１５０に予め記憶されている場合がある。また、ソフトウェアは、ＣＤ−ＲＯＭ１６１その他の記憶媒体に格納されて、プログラムプロダクトとして流通している場合もある。あるいは、ソフトウェアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラムプロダクトとして提供される場合もある。このようなソフトウェアは、ＣＤ−ＲＯＭ駆動装置１６０その他の読取装置によりその記憶媒体から読み取られて、あるいは、通信ＩＦ１８０を介してダウンロードされた後、ハードディスク１５０に一旦格納される。そのソフトウェアは、ＣＰＵ１１０によってハードディスク１５０から読み出され、ＲＡＭ１４０に実行可能なプログラムの形式で格納される。ＣＰＵ１１０は、そのプログラムを実行する。
【００５９】
同図に示されるコンピュータシステム１０００を構成する各構成要素は、一般的なものである。したがって、本発明の本質的な部分は、ＲＡＭ１４０、ハードディスク１５０、ＣＤ−ＲＯＭ１６１その他の記憶媒体に格納されたソフトウェア、あるいはネットワークを介してダウンロード可能なソフトウェアであるともいえる。なお、コンピュータシステム１０００の各ハードウェアの動作は周知であるので、詳細な説明は繰り返さない。
【００６０】
なお、記録媒体としては、ＣＤ−ＲＯＭ、ＦＤ（Flexible  Disk）、ハードディスクに限られず、磁気テープ、カセットテープ、光ディスク（ＭＯ（Magnetic Optical Disc）／ＭＤ（Mini Disc）／ＤＶＤ（Digital Versatile Disc））、ＩＣ（Integrated Circuit）カード（メモリカードを含む）、光カード、マスクＲＯＭ、ＥＰＲＯＭ（Electronically Programmable Read-Only Memory）、ＥＥＰＲＯＭ（Electronically Erasable Programmable Read-Only Memory）、フラッシュＲＯＭなどの半導体メモリ等の固定的にプログラムを担持する媒体でもよい。
【００６１】
ここでいうプログラムとは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００６２】
ところで、上記構成は、あくまでも具体的構成の一態様にすぎず、上記マウスを備えず、かつ、キーボードとモニタとハードディスクとが情報処理装置１内に備えられている構成であってもよい。情報処理装置１は、電子辞書や携帯電話等のポータブル型の携帯情報端末としても構成できる。
【００６３】
このような携帯情報端末として情報処理装置１を構成する場合には、ハードディスク１５０の代わりに例えばフラッシュメモリを用いることができる。また、入力部として、タッチペン式の入力装置を備える構成としてもよい。さらに、小型化の観点から、モニタ１７０としては、液晶モニタや有機ＥＬモニタ等の薄型のモニタを使用することが好適である。また、小型化の観点から、ＣＤ−ＲＯＭ駆動装置の代わりにメモリカードを読み取る装置を設けておき、記録媒体としてＣＤ−ＲＯＭの代わりに当該メモリカードを用いることが好適である。
【００６４】
ここで、図３から図６に従い、階調補正部２１で行われる処理を具体的に説明する。また、以下では、記号の一例として文字を例に挙げて説明する。
【００６５】
まず、取得した文字コードと文字のサイズデータと文字の線幅の種別情報と文字の色のデータとに基づき、表示制御部１６が文字と文字サイズと上記文字の線幅種別と文字の色とを特定する。そして、表示制御部１６が、特定された文字サイズに基づき、当該文字のスケルトンデータをスケーリングする。また、表示制御部１６が、上記特定された文字サイズと文字の線幅の種別とを考慮して、文字を出力部１１の表示画面に表示する際の線幅（指定された線幅）を決定する。さらに、表示制御部１６が、上記特定された文字の色（画素値）を利用して、文字を表示画面に表示する。なお、文字の色の利用の仕方については後述する。
【００６６】
その結果として、上記表示画面での表示に際して文字の線幅を一列に連続した奇数個の画素を用いて表示することが表示制御部１６により決定された場合について、最初に説明する。その後、上記表示画面での表示に際して文字の線幅を一列に連続した偶数個の画素を用いて表示することが表示制御部１６により決定された場合について、説明する。
【００６７】
なお、以下では、一列に連続した奇数個の画素を用いて線幅を表現する場合、当該線幅を奇数線幅と称する。一方、一列に連続した偶数個の画素を用いて線幅を表現する場合、当該線幅を偶数線幅と称する。なお、奇数線幅および偶数線幅とは、後述する階調補正を行なう前の線幅をさしている。階調補正を行えば、文字の一部の線幅は太くなる。
【００６８】
ここで、線幅について説明する。線幅とは、Ｘ軸方向またはＹ軸方向の文字の幅をいう。また、文字の幅を表現する場合、一列に連続した画素（画素群）を用いる。例えば、線幅が３の場合、３つの連続した画素を用いる。
【００６９】
より詳しくは、文字の幅を表現する場合、骨格線の要素線分が重なった画素を含み、Ｘ軸方向またはＹ軸方向に一列に連続した画素群（要素画素群）を用いる。Ｘ軸方向に一列に連続した画素群、およびＹ軸方向に一列に連続した画素群のうち、どちらの画素群を用いるかは、上記要素線分の傾きにより制御部１５が決定する。
【００７０】
例えば、要素線分の傾きの絶対値が１以上の場合には、Ｘ軸方向に一列に連続した画素群を用いて文字の幅を表現する。一方、要素線分の傾きの絶対値が１未満の場合、Ｙ軸方向に一列に連続した画素群を用いて文字の幅を表現する。
【００７１】
図３は、奇数線幅の文字を階調補正部２１により補正した後の文字の一部分を示した図である。また、同図は、文字の線幅方向の一部分を示した図でもある。
【００７２】
同図においては、まず、要素線分Ｌ１の傾きの絶対値が１以上であるため、制御部１５により、線幅がＸ軸方向に設定される。
【００７３】
なお、階調補正部２１による補正を行わない従来の構成では、奇数線幅（同図では線幅は３）分の画素Ｐａ、画素Ｐｂ、画素Ｐｃといった一列に連続した３個の画素が文字を構成する画素群となる。画素Ｐｂが画素群の中心画素となっているのは、画素Ｐｂの中心点Ｃと要素線分Ｌ１とのＸ軸方向における距離が、他の画素の中心点と要素線分Ｌ１とのＸ軸方向における距離よりも小さいからである。
【００７４】
本実施の形態でも、上記画素Ｐａと画素Ｐｂと画素Ｐｃとを文字を構成する画素群として用いる。
【００７５】
距離算出部２０が、画素Ｐｂの中心点Ｃと要素線分Ｌ１とのＸ軸方向における距離を算出する。つまり、距離算出部２０が、中心点Ｃと要素線分Ｌ１上の点Ｇとの距離｜ｄ｜を算出する。さらに、言い換えれば、距離算出部２０は、画素Ｐａと画素Ｐｂと画素Ｐｃとから構成される画素群における中心点と、点Ｇとの距離を算出する。ここで、上記距離｜ｄ｜の算出に当たっては、画素の中心点間の距離を１とする。つまり、｜ｄ｜は０から０．５の値をとることになる。なお、点Ｇは、文字の線幅方向に一列に並んだ各画素における各中心点を通過する線上の点でもある。
【００７６】
階調補正部２１は、中心点Ｃに対して点Ｇと反対側の画素Ｐａを補正対象画素と特定する。また、階調補正部２１は、画素ＰｃとＸ軸方向に隣接する画素Ｐｄについても補正対象画素と特定する。以下では、当該補正前の文字領域（例えば、画素Ｐａ、画素Ｐｂ、画素Ｐｃ）における文字の画素値を、（Ｒ，Ｇ，Ｂ）＝（Ｒｆ，Ｇｆ，Ｂｆ）とし、補正前の背景領域（例えば、画素Ｐｄ）における背景の画素値を、（Ｒ，Ｇ，Ｂ）＝（Ｒｂ，Ｇｂ，Ｂｂ）として説明する。
【００７７】
階調補正部２１は、画素Ｐａに対しては以下の式（１）〜式（３）を用いて階調の補正を行い、補正後の画素値（Ｒ，Ｇ，Ｂ）＝（Ｒｍ，Ｇｍ，Ｂｍ）を得る。そして、階調補正部２１は、画素Ｐａの画素値を補正後の画素値とし、当該画素Ｐａの階調を補正する。
【００７８】
Ｒｍ＝（１−｜ｄ｜）×Ｒｆ＋｜ｄ｜×Ｒｂ  …  （１）
Ｇｍ＝（１−｜ｄ｜）×Ｇｆ＋｜ｄ｜×Ｇｂ  …  （２）
Ｂｍ＝（１−｜ｄ｜）×Ｂｆ＋｜ｄ｜×Ｂｂ  …  （３）
また、階調補正部２１は、画素Ｐｄに対しては以下の式（４）〜式（６）を用いて階調の補正を行い、補正後の画素値（Ｒ，Ｇ，Ｂ）＝（Ｒｍ，Ｇｍ，Ｂｍ）を得る。そして、階調補正部２１は、画素Ｐｄの画素値を補正後の画素値とし、当該画素Ｐｄの階調を補正する。
【００７９】
Ｒｍ＝｜ｄ｜×Ｒｆ＋（１−｜ｄ｜）×Ｒｂ  …  （４）
Ｇｍ＝｜ｄ｜×Ｇｆ＋（１−｜ｄ｜）×Ｇｂ  …  （５）
Ｂｍ＝｜ｄ｜×Ｂｆ＋（１−｜ｄ｜）×Ｂｂ  …  （６）
以上により、画素Ｐａと画素Ｐｄとは、文字の階調と文字の背景の階調との間の階調であって、距離算出部２０で算出した距離に応じた階調に補正される。
【００８０】
また、画素Ｐａについては、階調補正部２１によって、距離｜ｄ｜の値が大きくなるにつれて文字の階調から背景の階調に近づく補正がなされる。一方、画素Ｐｄについては、階調補正部２１によって、距離｜ｄ｜が大きくなるにつれて、背景の階調から文字の階調に近づく補正がなされる。
【００８１】
また、補正後の画素ＰａのＲ成分の値と、補正後の画素ＰｄのＲ成分の値とを加えると、Ｒｆ＋Ｒｂとなる。つまり、補正対象画素となっていない画素（画素Ｐｂや画素Ｐｃ）におけるＲ成分の値と、上記背景の画素におけるＲ成分の値とを足し合わせた値と同じ値となる。また、Ｇ成分の値と、Ｂ成分の値とについても、同様のことが言える。
【００８２】
以上により、線幅が３から４に補正され、同図に示すような画素Ｐａと画素Ｐｂと画素Ｐｃと画素Ｐｄとにより文字の一部が構成されることになる。
【００８３】
図４は、図３と同様、奇数線幅の文字を階調補正部２１により補正した後の文字の一部分を示した図である。図４が図３と異なる点は、要素線分Ｌ１の点Ｇが、中心画素となる画素Ｐｂの中心点ＣよりもＸ軸の負方向側に存在する点である。
【００８４】
このため、図４においては、階調補正部２１により、画素Ｐｃが補正対象画素と特定されるとともに、画素ＰａとＸ軸方向に隣接する画素Ｐｅが補正対象画素として特定される。この場合、画素Ｐｃについては、上記式（１）〜（３）に基づく補正がなされる。一方、画素Ｐｅについては、上記式（４）〜（６）に基づく補正がなされる。
【００８５】
図５は、偶数線幅の文字を階調補正部２１により補正した後の文字の一部分を示した図である。また、同図は、文字の線幅方向の一部分を示した図でもある。
【００８６】
同図においては、まず、要素線分Ｌ１の傾きの絶対値が１以上であるため、制御部１５により、図３および図４と同様に線幅がＸ軸方向に設定される。
【００８７】
なお、階調補正部２１による補正を行わない従来の構成では、偶数線幅（同図では線幅は２）分の画素Ｐｆおよび画素Ｐｇといった一列に連続した２個の画素が文字を構成する画素群となる。ここで、画素Ｐｈが文字を構成する画素とならずに、画素Ｐｆが文字を構成する画素となるのは、画素Ｐｆの中心点と要素線分Ｌ１とのＸ軸方向における距離が、画素Ｐｈの中心点と要素線分Ｌ１とのＸ軸方向における距離よりも小さいからである。
【００８８】
本実施の形態でも、上記画素Ｐｆと画素Ｐｇとを文字を構成する画素群として用いる。
距離算出部２０が、画素Ｐｆと画素Ｐｇとから構成される画素群の中心点Ｃと、要素線分Ｌ１とのＸ軸方向における距離を算出する。つまり、距離算出部２０が、中心点Ｃと要素線分Ｌ１上の点Ｇとの距離｜ｄ｜を算出する。言い換えれば、距離算出部２０は、画素Ｐｆと画素Ｐｇとの境界線分の中心点と、要素線分Ｌ１とのＸ軸方向における距離を算出する。ここでも、上記距離｜ｄ｜の算出に当たっては、画素の中心点間の距離を１とする。つまり、｜ｄ｜は０から０．５の値をとることになる。
【００８９】
階調補正部２１は、画素Ｐｆに対しては上記の式（１）〜式（３）を用いて階調の補正を行い、補正後の画素値（Ｒ，Ｇ，Ｂ）＝（Ｒｍ，Ｇｍ，Ｂｍ）を得る。そして、階調補正部２１は、画素Ｐｆの画素値を補正後の画素値とし、当該画素Ｐｆの階調を補正する。
【００９０】
また、階調補正部２１は、画素Ｐｈに対しては上記の式（４）〜式（６）を用いて階調の補正を行い、補正後の画素値（Ｒ，Ｇ，Ｂ）＝（Ｒｍ，Ｇｍ，Ｂｍ）を得る。そして、階調補正部２１は、画素Ｐｈの画素値を補正後の画素値とし、当該画素Ｐｈの階調を補正する。
【００９１】
以上により、画素Ｐｆと画素Ｐｈとは、文字の階調と文字の背景の階調との間の階調であって、距離算出部２０で算出した距離に応じた階調に補正される。
【００９２】
また、画素Ｐｆについては、階調補正部２１によって、距離｜ｄ｜の値が大きくなるにつれて文字の階調から背景の階調に近づく補正がなされる。一方、画素Ｐｈについては、階調補正部２１によって、距離｜ｄ｜が大きくなるにつれて、背景の階調から文字の階調に近づく補正がなされる。
【００９３】
また、補正後の画素ＰｆのＲ成分の値と、補正後の画素ＰｈのＲ成分の値とを加えると、Ｒｆ＋Ｒｂとなる。つまり、補正対象画素となっていない画素（画素Ｐｇ）におけるＲ成分の値と、上記背景の画素におけるＲ成分の値とを足し合わせた値と同じ値となる。また、Ｇ成分の値と、Ｂ成分の値とについても、同様のことが言える。
【００９４】
以上により、線幅が２から３に補正され、同図に示すような画素Ｐｆと画素Ｐｇと画素Ｐｈとにより文字の一部が構成されることになる。
【００９５】
図６は、図５と同様、偶数線幅の文字を階調補正部２１により補正した後の文字の一部分を示した図である。図６が図５と異なる点は、要素線分Ｌ１の点Ｇが、画素Ｐｆと画素Ｐｇとから構成される画素群の中心点ＣよりもＸ軸の負方向側（図６の左側）に存在する点である。
【００９６】
このため、図６においては、階調補正部２１により、画素Ｐｇが補正対象画素と特定されるとともに、画素ＰｆとＸ軸方向に隣接する画素Ｐｉが補正対象画素として特定される。この場合、画素Ｐｇについては、上記式（１）〜（３）に基づく補正がなされる。一方、画素Ｐｉについては、上記式（４）〜（６）に基づく補正がなされる。
【００９７】
なお、上記点Ｇが距離｜ｄ｜の算出の処理の対象となる点であることから、以下では、点Ｇを処理対象点Ｇと称する。
【００９８】
図７は、情報処理装置１における処理の流れを示したフローチャートである。特に、同図は、一つの文字を表示画面に表示させる場合について示している。
【００９９】
まず、表示制御部１６が、表示対象となる文字についての、文字コードと文字のサイズデータと文字の線幅の種別情報と文字の色といった文字情報を取得する（Ｓ１）。表示対象となる文字は、入力部１０を介して入力される文字でも、あるいは予め情報処理装置１に記憶されていた文字であってもよい。当該ステップＳ１によって、文字と文字サイズと文字の線幅の種別と文字の色とが特定される。
【０１００】
ステップＳ１の後は、表示制御部１６が、上記取得した文字コードによって特定されるスケルトンデータを記憶装置１２から読み出す（Ｓ２）。なお、読み出したスケルトンデータは、第１メモリ１３に一時記憶される。そして、ステップＳ２の後は、表示制御部１
６が、上記特定された文字サイズに基づき、読み出したスケルトンデータをスケーリングする（Ｓ３）。
【０１０１】
ステップＳ３の後は、表示制御部１６が、スケーリングした後のスケルトンデータから、１つのストロークの骨格線に関するストローク情報を取得する（Ｓ４）。なお、ストローク情報とは、特許文献１で示したストローク情報と同一であり、漢字「木」例では、当該漢字に関して４つのストローク情報が存在することになる。
【０１０２】
ステップＳ４の後は、表示制御部１６が、取得した一つのストローク情報と上記特定された文字の線幅の種別情報に基づき、所定の線幅（指定された線幅）のストロークの描画を行う（Ｓ５）。そして、ステップＳ５の後は、表示制御部１６が、当該文字に含まれるストローク全てについて、上記描画を行ったか否かを判定する（Ｓ６）。ここで、上記の所定の線幅とは、階調補正部２１による補正を行った後の文字の線幅をさす。
【０１０３】
Ｓ６において全てのストロークについて上記描画を行ったと判定されなかった場合には、再度、ステップＳ４に戻る。一方、Ｓ６全てのストロークについて上記描画を行ったと判定された場合には、当該文字についての一連の処理を終了する。
【０１０４】
図８は、図７のステップＳ５の処理の詳細を示したフローチャートである。なお、図８においては、要素線分の傾きの絶対値が１以上の場合であって、各要素線分に関し、要素線分の始点のＹ座標が、当該要素線分の終点のＹ座標よりも小さい場合を例に挙げて説明する。
【０１０５】
また、以下では、要素線分と上述した中心点ＣとのＸ軸方向の距離を算出する場合、要素線分上の処理対象点Ｇを先に求めた上で、当該処理対象点Ｇと中心点Ｃとの距離を算出する構成を挙げて説明する。
【０１０６】
まず、距離算出部２０が、ストローク情報に基づき、一つの要素線分の両端部（始点および終点）の２点の座標値を取得する（Ｓ１１）。ステップＳ１１の後は、距離算出部２０が、上記取得した座標値に基づき、上記要素線分の傾きｋを計算する（Ｓ１２）。ここで、線幅方向（図３から図６ではＸ軸方向）の線であって、かつ各画素の中心を通る線を、仮想線Ｌ２と称する。
【０１０７】
ステップＳ１２の後は、距離算出部２０が、当該要素線分の始点座標と終点座標とに基づき、要素線分の両端部近傍における、当該要素線分と上記仮想線Ｌ２との交点を求める（Ｓ１３）。この際、要素線分の端部が重なる画素において、要素線分が短いために当該画素の中心を通る仮想線Ｌ２と交わらない場合には、当該要素線分の延長線と当該仮想線Ｌ２とが交わる点を上記交点とする。なお、以下では、始点側の交点を点Ｓとし、終点側の交点を点Ｅとする。
【０１０８】
ステップＳ１３の後は、距離算出部２０が、上述した処理対象点Ｇを点Ｓに設定する（Ｓ１４）。そして、ステップＳ１４の後は、距離算出部２０が、上記決定した線幅が奇数であるか否かを判断する（Ｓ１５）。
【０１０９】
ステップＳ１５において奇数であると判断された場合には、距離算出部２０が、上記処理対象点Ｇに最も近い、画素の中心点Ｃを求める（Ｓ１６）。ステップＳ１６の後は、距離算出部２０が、処理対象点Ｇと、求めた中心点Ｃとの距離｜ｄ｜を算出する（Ｓ１７）。具体的には、距離算出部２０は、処理対象点ＧのＸ座標の値と上記中心点ＣのＸ座標の値との差の絶対値を距離｜ｄ｜とする。
【０１１０】
ステップＳ１７の後は、階調補正部２１が、上記中心点Ｃを有する画素を中心とするＸ軸方向の線幅分（つまり補正前の線幅分）の画素群を基にして、上述した距離｜ｄ｜に応じた階調の補正を行う（Ｓ１８）。この画素群に基にして上記補正を行うことにより、図３や図４に示したように、当該画素群の一方の端部の画素（例えば、図３の画素Ｐａ）と、当該画素群の他の端部の画素に隣接する画素（例えば、図３の画素Ｐｄ）について、階調の補正がなされる。そして、ステップＳ１８の後は、ステップＳ１９に進む。
【０１１１】
ステップＳ１５において奇数ではないと判断された場合には、距離算出部２０が、上記処理対象点Ｇに最も近い、画素間の境界線分を特定する（Ｓ２０）。ステップＳ２０の後は、距離算出部２０が、処理対象点Ｇと、特定された境界線分との距離｜ｄ｜を算出する（Ｓ２１）。つまりは、距離算出部２０が、処理対象点Ｇと、特定された距離線分の中心点（つまり中心点Ｃ）との距離を算出する。具体的には、距離算出部２０は、処理対象点ＧのＸ座標の値と、境界線分のＸ座標の値との差の絶対値を距離｜ｄ｜とする。
【０１１２】
ステップＳ２１の後は、階調補正部２１が、上記中心点Ｃを画素群の中心とするＸ軸方向の線幅分の画素群を基にして、上述した距離｜ｄ｜に応じた階調の補正を行う（Ｓ２２）。この画素群に基にして上記補正を行うことにより、図５や図６に示したように、当該画素群の一方の端部の画素（例えば、図５の画素Ｐｆ）と、当該画素群の他の端部の画素に隣接する画素（例えば、図５の画素Ｐｈ）について、階調の補正がなされる。そして、ステップＳ２２の後は、ステップＳ１９に進む。
【０１１３】
ステップＳ１９においては、処理対象点ＧのＸ座標の値に上記値ｋを加え、Ｙ座標の値に１を加える。ステップＳ１９の後は、制御部１５が、処理対象点Ｇの座標値が上記点Ｅの座標値と一致するか否かを判断する（Ｓ２３）。
【０１１４】
ステップＳ２０において一致しないと判断された場合には、再度、ステップＳ１５に戻る。一方、ステップＳ２０において一致すると判断された場合には、表示制御部１６は、ストロークの骨格線に含まれる全ての要素線分に対して、上述したステップＳ１２からステップＳ２３に基づく処理が行われたか否かを判断する（Ｓ２４）。
【０１１５】
ステップＳ２４において全ての線分要素に対して処理が行われていないと判断された場合には、再度、ステップＳ１１に戻る。一方、ステップＳ２４において全ての線分要素に対して処理が行われたと判断された場合には、図７のステップＳ６に戻る。
【０１１６】
図９は、上記階調補正の効果を説明するための図である。図９（ａ）は、上記階調補正を行っていない場合の文字（一部）を示した図であり、図９（ｂ）は、階調補正を行った場合の文字（一部）とを示した図である。
【０１１７】
上記の階調補正を行っていない場合には、図９（ａ）に示すとおり、シャギーが目立っている。しかしながら、上記の階調補正を行うことにより、図９（ｂ）に示すとおり、シャギーが目立つことなく、輪郭が滑らかになっていることがわかる。
【０１１８】
以上のように、情報処理装置１によると、距離｜ｄ｜に応じた階調の補正を行うため、補正に際してルックアップテーブル等の階調補正に用いるデータを記憶装置に記憶しておく必要がない。また、画素の階調が距離｜ｄ｜のみに応じて計算されるため、各画素毎にルックアップテーブル内のデータにアクセスする構成に比べ、階調補正に要する時間を短縮することができる。
【０１１９】
ところで、ＶＲＡＭとして機能する第２メモリ１４のデータ記憶領域において、上記のような階調を補正した文字を表示データ生成部２２によって生成する場合、以下の２通りの方法がある。
【０１２０】
一つ目の方法は、第２メモリ１４に文字のデータを直接描画する方法である。つまり、第２メモリ１４に既に記憶されているデータ（つまり、表示中のビデオデータ）を文字の背景のデータとして用いて、階調の補正を行う方法（以下、直接描画方法と称する）である。
【０１２１】
二つ目の方法は、後述する文字色寄与度を第２メモリ１４以外のメモリ（以下、一時メモリと称する）に記憶しておき、当該文字色寄与度を用いて、第２メモリ１４に記憶されたデータ（表示中のビデオデータ）を更新する方法（以下、間接描画方法と称する）である。
【０１２２】
以下では、まず直接描画方法について説明し、その後、間接描画方法について説明する。
【０１２３】
図１０は、直接描画方法を行う際の処理の流れを示したフローチャートである。具体的には、図８のフローにおけるステップＳ１８およびステップＳ２２における処理を示したフローチャートである。
【０１２４】
ここでは、説明の便宜上、文字色寄与度といった概念を用いる。文字色寄与度とは、階調補正部２１による階調補正を行う前の文字の色（くわしくは、各色成分の値）を１００とし、階調補正後の文字に関し、階調補正前の文字の色がどの程度寄与しているのかを示した値である。
【０１２５】
具体的には、図３の画素Ｐａについては、文字色寄与度は、１００×（１−｜ｄ｜）となる。また、同図の画素Ｐｂと画素Ｐｃとについては、階調補正が行われないため、文字色寄与度は１００となる。さらに、同図の画素Ｐｄについては、文字色寄与度は、１００×｜ｄ｜となる。また、同図の画素Ｐａ〜Ｐｄ以外の領域では、文字色寄与度は０となる。
【０１２６】
まず、表示制御部１６が、第２メモリ１４内の更新対象画素を特定するとともに、当該画素に対応する文字色寄与度を求める（Ｓ３１）。ステップＳ３１の後は、表示制御部１６が、文字色寄与度が１００か否かを判断する（Ｓ３２）。
【０１２７】
ステップＳ３２において寄与度が１００であると判断された場合には、階調補正部２１は、上記更新対象画素の画素値を画素値（Ｒｆ，Ｇｆ，Ｂｆ）で更新する（Ｓ３３）。つまり、更新対象画素を文字色そのもので更新する。
【０１２８】
一方、ステップＳ３２において寄与度が１００であると判断されなかった場合には、階調補正部２１は、上記更新対象画素の画素値（Ｒｂ，Ｇｂ，Ｂｂ）を取得する（Ｓ３４）。ステップＳ３４の後は、階調補正部２１が、画素値（Ｒｆ，Ｇｆ，Ｂｆ）と、画素値（Ｒｂ，Ｇｂ，Ｂｂ）と、求めた文字色寄与度とを用いて、補正後の画素値を算出する（Ｓ３５）。なお、補正後の画素値の算出は、上述した式（１）〜（３）および式（４）〜（６）を用いるため、ここでは省略する。なお、式（１）〜（６）では、文字色寄与度を１００で割った値（つまり、１−｜ｄ｜や｜ｄ｜）を用いて計算している。
【０１２９】
ステップＳ３５の後は、階調補正部２１は、上記更新対象画素の画素値を補正後の画素値で更新する（Ｓ３６）。これにより、図３の画素Ｐａや画素Ｐｄの階調が補正されることになる。
【０１３０】
図１１は、間接描画方法を行う際の処理の流れの一部を示したフローチャートである。
まず、表示制御部１６が、上記一時メモリ内の更新対象画素を１つ特定するとともに、当該画素に対応する文字色寄与度Ｋ１を求める（Ｓ４１）。ステップＳ４１の後は、表示制御部１６が、上記一時メモリ内に上記更新対象画素の文字色寄与度が既に記憶されているかを判断する（Ｓ４２）。
【０１３１】
ステップＳ４２において文字色寄与度が既に記憶されていると判断された場合には、制御部１５が、ステップＳ４１で求めた文字色寄与度Ｋ１が、既に記憶されていた文字色寄与度Ｋ２よりも大きいか否かを判断する（Ｓ４３）。一方、Ｓ４２において文字色寄与度が既に記憶されていると判断されなかった場合には、ステップＳ４４に進む。
【０１３２】
ステップＳ４３において大きいと判断されなかった場合には、ステップＳ４５に進む。一方、ステップＳ４３において大きいと判断された場合には、ステップＳ４４に進む。ステップＳ４４では、更新対象画素の文字色寄与度をＫ１に設定する。そして、ステップＳ４４の後は、ステップＳ４５に進む。
【０１３３】
ステップＳ４５においては、表示制御部１６が、一文字に含まれる全ての更新対象画素について処理が行われたか否かが判断する。ステップＳ４５において全ての更新対象画素について処理が行われていないと判断された場合には、再度、Ｓ４１に戻る。
【０１３４】
一方、ステップＳ４５において全ての更新対象画素について処理が行われたと判断された場合には、一時メモリに記憶された文字色寄与度を用いて各画素の画素値を算出し、当該算出した画素値を用いて、第２メモリ１４における画素値を更新する（Ｓ４６）。この更新処理により、階調の補正がなされる。なお、画素値の算出については、上述した式（１）〜（３）および式（４）〜（６）を用いるため、ここでは省略する。
【０１３５】
間接描画方法では、全ての更新対象画素の文字色寄与度を求めた上で第２メモリ１４における画素値を更新する構成であるため、一つのストローク毎に描画を行う図７のフローとは異なることになる。
【０１３６】
また、上記直接描画方法を用いることにより、間接描画方法に用いたような一時メモリが不要となる。また、一時メモリから第２メモリ１４への転送も不要であるため、処理の高速化が図れる。
【０１３７】
一方、間接描画方法を用いることにより、要素線分が交差する箇所や、要素線分が込み合っている箇所においても、文字色の階調が他の箇所の階調よりも高くなることを防止することができる。
【０１３８】
ところで、上記においては、要素線分が、Ｘ軸に平行であろうと、Ｙ軸に平行であろうと、階調補正部２１により上述した階調の補正がなされる。しかしながら、Ｘ軸に平行な要素線分、Ｙ軸に平行な要素線分により描画される記号（記号の一部）は、そもそも階段状のギザギザ(ジャギー)が発生しない。このため、Ｘ軸およびＹ軸に対して傾きを有する要素線分（つまり斜めの線分）についてのみ上述した階調の補正を行うことが好ましい。
【０１３９】
そこで、以下では、平行判定部３０と補正制限部３１とを利用する構成について説明する。
【０１４０】
平行判定部３０は、各要素線分が、Ｘ軸またはＹ軸と平行な直線であるか否かを、スケーリングされたスケルトンデータ（骨格線を示した情報）に基づいて判定する。
【０１４１】
補正制限部３１は、平行判定部３０によって平行であると判定された要素線分と重なる画素を含んだ要素画素群に関しては、上述した階調の補正がなされないよう補正を制限する。
【０１４２】
図１２は、平行判定部３０と補正制限部３１とを用いて、補正の制限を行った場合に得れる記号の一部を示した図である。なお、同図において点線は、画素の中心点間を結んだ線である。
【０１４３】
同図に示すとおり、要素線分Ｌ３は斜線の線分であり、要素線分Ｌ４はＹ軸と平行な線分である。要素線分Ｌ３に基づいて文字の一部分を表示する場合には、同図に示すとおり、階調補正部２１による階調の補正がなされている。そして、当該補正により、線幅が３から４に増えている。一方、要素線分Ｌ４に基づいて記号の一部分を表示する場合には、同図に示すとおり、補正制限部３１により階調の補正が制限されている。
【０１４４】
この結果、斜めの文字の部分に関しては、シャギーを目だ出せなくすることができるとともに、Ｙ軸に平行な文字の部分に関しては、文字がぼやけてしまうことを回避できる。さらに、Ｘ軸やＹ軸に平行な要素線分については、距離｜ｄ｜に基づく階調補正の演算が不要となるため、当該平行な要素線分に対して階調補正の演算を実行する構成に比べて、表示に要する時間を短縮することが可能となる。
【０１４５】
このように、補正制限部３１は、平行判定部３０によって平行であると判定された要素線分と重なる画素を含んだ要素画素群における一方の端部の画素（図１２では、例えば画素Ｐｊ）と、当該要素画素群の上記他方の端部に隣接する画素であって、当該要素画素群に含まれていない画素（同図では、例えば画素Ｐｋ）については、階調補正部２１による補正を制限する構成であるといえる。
【０１４６】
ところで、上記のように補正制限部３１によって階調の補正をする場合、以下のような問題点が生じる。
【０１４７】
図１３は、斜めの要素線分Ｌ５と、当該要素線分Ｌ５に連続する要素線分Ｌ６とを用いて描画した文字の一部分を示した図である。なお、同図においては、補正制限部３１による上述した補正の制限が行われている。
【０１４８】
この場合、同図に示すとおり、画素Ｐｍと画素Ｐｎとについても階調の補正が行われてしまう。それゆえ、要素線分Ｌ５と要素線分Ｌ６とにより形成される角度のうち優角側（角度が１８０度以上の側）の領域において、Ｙ軸に平行な記号の輪郭線に対して凸部が形成されてしまう。このため、文字の見た目が悪くなる。
【０１４９】
そこで、以下では、補正制限部３１の機能の一部を変更し、文字の見た目が悪くなることを防止する構成について説明する。
【０１５０】
図１４は、このように補正制限部３１の機能を変更することにより得られる文字の一部分を示した図である。上記要素線分Ｌ５と上記要素線分Ｌ６とを用いて文字の一部を描画する場合に、同図に示すように、少なくとも画素Ｐｍと画素Ｐｎとについては階調の補正がなされていない。
【０１５１】
以下では、このような見た目のよい文字を表示させるための処理について、図１５から図１８に基づいて説明する。
【０１５２】
図１５は、或る１つのストロークを描画する際に用いられる各要素線分を示した図である。同図においては、３つの要素線分（Ｌ１０・Ｌ１１・Ｌ１２）が記されている。また、同図においては、要素線分Ｌ１０の始点をＨ、要素線分Ｌ１０の終点でありかつ要素線分Ｌ１１の始点をＩ、要素線分Ｌ１１の終点でありかつ要素線分Ｌ１２の終点をＪと、要素線分Ｌ１２の終点をＫとしている。
【０１５３】
また、スケーリングされた座標データにおいては、点Ｈの座標値、点Ｉの座標値、点Ｊの座標値、点Ｋの座標値が、この順に並んでいるものとする。さらに、要素線分Ｌ１０に基づくストロークが最初に描画され、その後、要素線分Ｌ１１に基づくストロークの描画が行われ、最後に要素線分Ｌ１２に基づくストロークの描画が行われるものとする。
【０１５４】
さらに、要素線分Ｌ１１に基づくストロークの描画を行っている際には、要素線分Ｌ１０を描画対象の直前の要素線分と、要素線分Ｌ１２を描画対象の直後の要素線分と称する。また、同図においては、当該描画に用いられている要素線分Ｌ１１上の点であって、上述した処理対象点Ｇのうち、最初に処理が行われる点を点Ｓと、最後に処理が行われる点を点Ｅとして表示している。さらに、要素線分Ｌ１１の傾きを１以上とする。
【０１５５】
以下では、このような定義の下、処理の具体的な内容について説明する。
図１６は、ストローク描画（図７のステップＳ５）における処理の詳細を示したフローチャートである。
【０１５６】
まず、表示制御部１６が、要素線分Ｌ１０の座標値（つまり、図１５における点Ｈと点Ｉの座標値）をスケーリング後のスケルトンデータから取得する（Ｓ５１）。ステップＳ５１の後は、距離算出部２０が、要素線分Ｌ１０の傾きを算出する（Ｓ５２）。そして、ステップＳ５２の後は、距離算出部２０が、上記点Ｓと点Ｅとの座標値を算出する（Ｓ５３）。さらに、ステップＳ５３の後は、距離算出部２０が、処理対象点Ｇを点Ｓに設定する（Ｓ５４）。
【０１５７】
ステップＳ５４の後は、表示制御部１６が、Ｘ軸方向の上限値Ｘｍａｘと下限値Ｘｍｉｎとを設定する（Ｓ５５）。ここで、Ｘ軸方向の上限値と下限値とを設定する理由は、要素線分Ｌ１０の傾きが１以上であり、Ｘ軸方向に線幅が形成されるためである。なお、要素線分の傾きが１以下である場合には、Ｙ軸方向に上限値と下限値とが設定されることになる。そして、ステップＳ５５の後は、距離算出部２０により線幅が奇数であるか否かが判断される（Ｓ５６）。なお、ここでの線幅は、階調補正を行う前の線幅である。
【０１５８】
ステップＳ５６において奇数であると判断された場合には、距離算出部２０は、処理対象点Ｇに最も近い、画素の中心点（つまり、中心点Ｃ）のＸ座標値を求める（Ｓ５７）。なお、以下では、処理対象点Ｇの座標値を（Ｘｇ，Ｙｇ）とし、中心点Ｃの座標値を（Ｘｃ，Ｙｃ）と表記する。なお、この場合、ＹｇとＹｃとは同じ値となる。つまり、中心点Ｃの座標値は、（Ｘｃ，Ｙｇ）としても表せる。
【０１５９】
ステップＳ５７の後は、距離算出部２０により、Ｘｇが、Ｘｍｉｎ以上かつＸｍａｘ以下であるか否かが判断される（Ｓ５８）。ステップＳ５８においてＸｍｉｎ以上かつＸｍａｘ以下であると判断された場合には、距離算出部２０が、処理対象点Ｇと中心点Ｃとの距離｜ｄ｜を算出する（Ｓ５９）。そして、ステップＳ３９の後は、階調補正部２１が、距離算出部２０が算出した距離｜ｄ｜を用いて、上述したようにストロークの一部（図３参照）を描画する（Ｓ６０）。そして、ステップＳ６０の後は、距離算出部２０は、処理対象点ＧのＸ座標値に上記ｋを加えるとともに、当該処理対象点ＧのＹ座標値に１を加える（Ｓ６１）。
【０１６０】
一方、ステップＳ５８においてＸｍｉｎ以上かつＸｍａｘ以下であると判断されなかった場合には、距離算出部２０が、点（Ｘｃ，Ｙｇ）を、線幅方向に連続した画素で構成される画素群（要素画素群）の中心点とし、表示制御部１６が、従来のように、階調補正を行うことなくストロークの一部を描画する（Ｓ６２）。つまり、図１４に示した画素Ｐｎや画素Ｐｍについては、階調の補正がなされることなく、背景の色のままとすることが可能となる。したがって、見た目のよい文字を得ることができる。ステップＳ６２の後は、ステップＳ６１に進む。
【０１６１】
ところで、ステップＳ５６において奇数であると判断されなかった場合には、距離算出部２０は、処理対象点Ｇに最も近い、上記境界線分の中心点（つまり、中心点Ｃ）の座標値を求める（Ｓ６３）。
【０１６２】
ステップＳ６３の後は、距離算出部２０により、Ｘｇが、Ｘｍｉｎ以上かつＸｍａｘ以下であるか否かが判断される（Ｓ６４）。ステップＳ６４においてＸｍｉｎ以上かつＸｍａｘ以下であると判断された場合には、距離算出部２０が、処理対象点Ｇと中心点Ｃとの距離｜ｄ｜を算出する（Ｓ６５）。そして、ステップＳ５９の後は、階調補正部２１が、距離算出部２０が算出した距離｜ｄ｜を用いて、上述したようにストロークの一部（図５参照）を描画する（Ｓ６６）。そして、ステップＳ６６の後は、ステップＳ６１に進む。
【０１６３】
一方、ステップＳ６４においてＸｍｉｎ以上かつＸｍａｘ以下であると判断されなかった場合には、ステップＳ６２に進む。
【０１６４】
ステップＳ６１の後は、距離算出部２０により、処理対象点Ｇの座標値が点Ｅの座標値と同じか否かが判断される（Ｓ６７）。ステップＳ６７において同じであると判断されなかった場合には、再度、ステップＳ５６に戻る。一方、ステップＳ６７において同じであると判断された場合には、表示制御部１６が、上記一つのストロークに含まれる全ての要素線分（Ｌ１０・Ｌ１１・Ｌ１２）について処理がなされたか否かを判断する（Ｓ６８）。
【０１６５】
ステップＳ６８において全ての要素線分について処理がなされたと判断されなかった場合には、再度、ステップＳ５１に戻る。一方、ステップＳ６８において全ての要素線分について処理がなされたと判断された場合には、処理を終了する。
【０１６６】
図１７は、図１６のステップＳ５５における、上限値と下限値との設定方法を示したフローチャートである。なお、説明の便宜上、要素線分Ｌ１１についての上限値と下限値との設定を例に挙げて説明する。
【０１６７】
まず、表示制御部１６が、直前の要素線分Ｌ１０が、Ｘ軸またはＹ軸に平行な線分（横線または縦線）であるか否かを、点Ｈと点Ｉとの座標値に基づき判断する（Ｓ７１）。ステップＳ７１において平行な線分であると判断された場合には、表示制御部１６は、線幅が奇数であるか否かを判断する（Ｓ７２）。なお、ここでの線幅は、階調補正を行う前の線幅である。
【０１６８】
ステップＳ７２において奇数であると判断された場合には、表示制御部１６は、下限値Ｘｍｉｎを、点Ｓを含む画素の中心点の座標のＸ座標値に設定する（Ｓ７３）。その後、ステップＳ７６に進む。一方、ステップＳ７２において奇数であると判断されなかった場合には、表示制御部１６は、下限値Ｘｍｉｎを、点Ｓに最も近い上記境界線分のＸ座標値に設定する（Ｓ７４）。その後、ステップＳ５６に進む。
【０１６９】
また、ステップＳ５１において平行な線分であると判断されなかった場合には、表示制御部１６は、下限値Ｘｍｉｎを、Ｘｇがとり得る値のうち、最小となる値に設定する（Ｓ７５）。その後、ステップＳ７６に進む。
【０１７０】
ステップＳ７６においては、表示制御部１６が、直後の要素線分Ｌ１２が、Ｘ軸またはＹ軸に平行な線分であるか否かを、点Ｊと点Ｋとの座標値に基づき判断する。ステップＳ７６において平行な線分であると判断された場合には、表示制御部１６は、線幅が奇数であるか否かを判断する（Ｓ７７）。なお、ここでの線幅は、階調補正を行う前の線幅である。
【０１７１】
ステップＳ７７において奇数であると判断された場合には、表示制御部１６は、上限値Ｘｍａｘを、点Ｅを含む画素の中心点の座標のＸ座標値に設定する（Ｓ７８）。その後、処理を終了する。一方、ステップＳ７７において奇数であると判断されなかった場合には、表示制御部１６は、上限値Ｘｍａｘを、点Ｅに最も近い上記境界線分のＸ座標値に設定する（Ｓ７９）。その後、処理を終了する。
【０１７２】
また、ステップＳ７７において平行な線分であると判断されなかった場合には、表示制御部１６は、上限値Ｘｍａｘを、Ｘｇがとり得る値のうち、最大となる値に設定する（Ｓ８０）。その後、処理を終了する。
【０１７３】
図１８は、上限値の設定例と、下限値の設定例とを示した図である。
図１８（ａ）は、図１７のフローに示したように、Ｘ座標についての上限値Ｘｍａｘを示した図であり、図１８（ｂ）は、図１７のフローに示したように、Ｘ座標についての下限値Ｘｍｉｎを示した図である。また、図１８（ｃ）は、Ｙ座標についての上限値Ｙｍａｘを示した図であり、図１８（ｂ）は、Ｙ座標についての下限値Ｙｍｉｎを示した図である。
【０１７４】
ここで、Ｘ軸またはＹ軸に平行な要素線分（例えば、図１８の縦線や横線）と重なる画素を含んだ各要素画素群における各中心点を通る線を仮想線Ｌ１５（第１仮想線）とする。つまり、仮想線Ｌ１５は、要素線分がＸ軸に平行であれば、Ｘ軸に平行な線分となり、要素線分がＹ軸に平行であれば、Ｙ軸に平行な線分となる。なお、図１３および図１４の太い点線が、仮想線Ｌ１５に該当する。
【０１７５】
また、上記平行な要素線分と連続するとともに当該要素線分に対して傾きを有する他の要素線分（例えば、図１８の斜線分）と重なる画素を含んだ、要素画素群における中心点を通る、前記第１仮想線と垂直な線を仮想線Ｌ１６（第２仮想線）とする。つまり、仮想線Ｌ１６は、上述した仮想線Ｌ２と同様、線幅方向（図３から図６ではＸ軸方向）の線であって、かつ各画素の中心を通る線である。なお、図１４においては、仮想線Ｌ１６は、Ｘ軸方向に平行な線となる。
【０１７６】
このように仮想線Ｌ１５および仮想線Ｌ１６を定義すると、補正制限部３１は、仮想線Ｌ１６と上記他の要素線分との交点の位置と、仮想線Ｌ１５の位置とが所定の関係を満たす場合、当該交点と重なる画素を含んだ要素画素群における一方の端部の画素と、当該要素画素群における前記他方の端部の画素と前記線幅の方向に隣接する画素であるとともに当該要素画素群に含まれていない画素とについては、階調補正部２１による階調の補正を制限する構成といえる。
【０１７７】
ところで、図１４から図１８においては、見た目のよい文字を表示させるために、補正制限部３１によって所定の画素（例えば、図１４の画素Ｐｍおよび画素Ｐｎ）については階調の補正を制限した。以下では、同様に見た目のよい文字を表示させるために、線分補正部３２を用いる構成について説明する。
【０１７８】
線分補正部３２は、所定の要素線分に関し、要素線分の傾きを変更することなく、要素線分の長さを変更する。詳しくは、線分補正部３２は、各要素線分の始点の座標値と、終点の座標値とを変更することにより、要素線分の長さを変更する構成である。
【０１７９】
図１９は、線分補正部３２による補正前の要素線分（Ｌ２０・Ｌ２１）と、補正後の要素線分（Ｌ２０′・Ｌ２１′）とを示した図である。図１９（ａ）が補正前の要素線分を示しており、図１９（ｂ）が補正後の要素線分を示している。
【０１８０】
図１９（ａ）に示すとおり、要素線分Ｌ２０と要素線分Ｌ２１とは連続した線分である。また、要素線分Ｌ２１は、Ｙ軸に平行な線分である。また、要素線分Ｌ２０は、要素線分Ｌ２１に対して所定の傾きを有している。さらに、同図においては、要素線分Ｌ２０は、Ｘ軸に対して１以上の傾きを有している。
【０１８１】
また、同図に示すとおり、要素線分Ｌ２０の始点を点Ｔと、要素線分Ｌ２０の終点であるとともに要素線分Ｌ２１の始点を点Ｕと、要素線分Ｌ２１の終点を点Ｖとする。
【０１８２】
以下では、要素線分Ｌ２０を、図１９（ｂ）に示す要素線分Ｌ２０′に補正するとともに、要素線分Ｌ２１を、同図に示した要素線分Ｌ２１′に補正する具体的方法について説明する。まず、要素線分Ｌ２０の補正について説明する。
【０１８３】
図２０は、補正前の要素線分Ｌ２０と、補正後の要素線分Ｌ２０′とを示した図である。図２０（ａ）が補正前の要素線分Ｌ２０を示しており、図２０（ｂ）が補正後の要素線分Ｌ２０′を示している。
【０１８４】
ここで、図２０（ａ）および図２０（ｂ）に示すとおり、Ｙ軸に平行な要素線分Ｌ２１と重なる画素を含んだ各要素画素群における各中心点を通る線を仮想線Ｌ３０（第１仮想線）とする。また、仮想線Ｌ３０と要素線分Ｌ２０との交点を、交点Ｑとする。
【０１８５】
線分補正部３２は、要素線分Ｌ２０の長さを、上記交点Ｑを含む画素に隣接する画素までしか達しない長さに補正する。例えば、図２０（ｂ）に示した例では、要素線分Ｌ２０の終点のＸ座標値を、上記交点ＱのＸ座標値から要素線分の傾き（ここでもｋとする）を差し引いた値に、同終点のＹ座標値を、上記交点ＱのＹ座標値から１を差し引いた値にする補正を行うことにより、要素線分Ｌ２０の長さを、上記交点Ｑを含む画素に隣接する画素までしか達しない長さに補正している。
【０１８６】
次に要素線分Ｌ２１の補正について説明する。
図２１は、補正前の要素線分Ｌ２１と、補正後の要素線分Ｌ２１′とを示した図である。図２１（ａ）が補正前の要素線分Ｌ２１を示しており、図２１（ｂ）が補正後の要素線分Ｌ２１′を示している。
【０１８７】
線分補正部３２は、要素線分Ｌ２１の長さを、上記交点Ｑを含む画素まで達する長さに補正する。例えば、図２１（ｂ）に示した例では、要素線分Ｌ２１の始点のＹ座標値が１だけ減少させる補正を行うことにより、要素線分Ｌ２１の長さを、上記交点Ｑを含む画素まで達する長さに補正している。つまり、要素線分Ｌ２１を補正した後の要素線分Ｌ２１′の始点は点Ｕ′となる。
【０１８８】
図２２は、図２０および図２１に示した要素線分の長さを補正する際の処理の流れを示したフローチャートである。また、同図は、ストローク描画（図７のステップＳ５）における処理の詳細を示したフローチャートでもある。
【０１８９】
まず、距離算出部２０が、各要素線分の始点と終点との座標値（図１９においては、点Ｔと点Ｕと点Ｖとの座標値）をスケーリング後のスケルトンデータから取得する（Ｓ９１）。ステップＳ９１の後は、線分補正部３２が上記始点および／または終点の座標値の補正を行う（Ｓ９２）。なお、ステップＳ９２の詳細については、後述する。
【０１９０】
さらに、ステップＳ９２の後は、線分補正部３２が、補正後の座標値を用いて要素線分を生成するとともに、当該要素線分に基づき、上述した距離｜ｄ｜に応じた階調の補正を行う（Ｓ９３）。なお、ステップＳ９３は、図８のステップＳ１２からステップＳ２３までの処理と同じであるため、ここでの説明は省略する。
【０１９１】
そして、ステップＳ９３の後は、表示制御部１６が、ストロークの骨格線に含まれる全ての要素線分に対して、上述したステップＳ９２およびＳ９３に基づく処理が行われたか否かを判断する（Ｓ９４）。
【０１９２】
ステップＳ９４において全ての線分要素に対して処理が行われていないと判断された場合には、再度、ステップＳ９１に戻る。一方、ステップＳ９４において全ての線分要素に対して処理が行われたと判断された場合には、処理を終了し、図７のステップＳ６に戻る。
【０１９３】
次に、図２２のステップＳ９２の詳細について説明する。
図２３は、ステップＳ９２における処理の流れを示したフローチャートである。
【０１９４】
まず、線分補正部３２が、要素線分が斜線（つまり、Ｘ軸またはＹ軸に平行でない線）であるか否かを、当該要素線分の始点と終点との座標値から判断する（Ｓ１０１）。
【０１９５】
ステップＳ１０１において斜線であると判断された場合には、当該斜線の要素線分の始点および／または終点の補正を行う（Ｓ１０２）。そして、ステップＳ１０２の後は、処理を終了する。
【０１９６】
一方、ステップＳ１０１において斜線であると判断されなかった場合には、当該斜線ではない要素線分の始点および／または終点の補正を行う（Ｓ１０３）。そして、ステップＳ１０３の後は、処理を終了する。
【０１９７】
次に、図２３のステップＳ１０２の処理の詳細について説明する。
図２４は、ステップＳ１０２における処理の流れを示したフローチャートである。つまり、図２４は、要素線分Ｌ２０についての補正の処理の流れを示したフローチャートでもある。
【０１９８】
まず、表示制御部１６が、直前の要素線分が、Ｘ軸またはＹ軸に平行な線分であるか否かを、当該直前の要素線分の始点と終点との座標値に基づき判断する（Ｓ１１１）。なお、表示制御部１６は、直前の要素線分がない場合（例えば、要素線分Ｌ２０の場合）には、平行な線分でないとの判断をする。
【０１９９】
ステップＳ１１１において平行な線分であると判断された場合には、表示制御部１６は、線幅が奇数であるか否かを判断する（Ｓ１１２）。なお、ここでの線幅は、階調補正を行う前の線幅である。一方、ステップＳ１１１において平行な線分であると判断されなかった場合には、ステップＳ１１７に進む。
【０２００】
ステップＳ１１２において奇数であると判断された場合には、表示制御部１６は、Ｘ軸方向の下限値Ｘｍｉｎを、始点を含む画素の中心点の座標のＸ座標値に設定する（Ｓ１１３）。その後、ステップＳ１１５に進む。一方、ステップＳ１１２において奇数であると判断されなかった場合には、表示制御部１６は、上記下限値Ｘｍｉｎを、始点に最も近い上記境界線分のＸ座標値に設定する（Ｓ１１４）。その後、ステップＳ１１５に進む。
【０２０１】
ステップＳ１１５においては、線分補正部３２が、始点のＸ座標値が下限値Ｘｍｉｎよりも小さいか否かを判断する。
【０２０２】
ステップＳ１１５において小さいと判断された場合には、線分補正部３２は、Ｘ＝Ｘｍｉｎを満たす直線（つまり、上記仮想線Ｌ３０）と処理対象となっている要素線分との交点Ｑの座標値（Ｘｑ，Ｙｑ）を求めるとともに、始点を（Ｘｑ＋ｋ，Ｙｑ＋１）に変更する（Ｓ１１６）。ステップＳ１１６の後は、ステップＳ１１７に進む。
【０２０３】
一方、ステップＳ１１５において小さいと判断されなかった場合には、ステップＳ１１７に進む。
【０２０４】
ステップＳ１１７においては、直後の要素線分が、Ｘ軸またはＹ軸に平行な線分であるか否かを、当該直後の要素線分の始点と終点との座標値に基づき判断する。なお、表示制御部１６は、直後の要素線分がない場合には、平行な線分でないとの判断をする。
【０２０５】
ステップＳ１１７において平行な線分であると判断された場合には、表示制御部１６は、線幅が奇数であるか否かを判断する（Ｓ１１８）。なお、ここでの線幅は、階調補正を行う前の線幅である。一方、ステップＳ１１７において平行な線分であると判断されなかった場合には、処理を終了する。
【０２０６】
ステップＳ１１８において奇数であると判断された場合には、表示制御部１６は、上限値Ｘｍａｘを、終点を含む画素の中心点の座標のＸ座標値に設定する（Ｓ１１９）。その後、ステップＳ１２１に進む。一方、ステップＳ１１８において奇数であると判断されなかった場合には、表示制御部１６は、上限値Ｘｍａｘを、終点に最も近い上記境界線分のＸ座標値に設定する（Ｓ１２０）。その後、ステップＳ１２１に進む。
【０２０７】
ステップＳ１２１においては、線分補正部３２が、終点のＸ座標値が上限値Ｘｍａｘよりも大きいか否かを判断する。
【０２０８】
ステップＳ１２１において大きいと判断された場合には、線分補正部３２は、Ｘ＝Ｘｍａｘを満たす直線（つまり、上記仮想線Ｌ３０）と処理対象となっている要素線分との交点Ｑの座標値（Ｘｑ，Ｙｑ）を求めるとともに、終点を（Ｘｑ−ｋ，Ｙｑ−１）に変更する（Ｓ１２２）。ステップＳ１２２の後は、処理を終了する。
【０２０９】
例えば、要素線分Ｌ２０に関しては、ステップＳ１２２により、終点の補正が行われることになる。
【０２１０】
次に、図２３のステップＳ１０３の処理の詳細について説明する。
図２５は、ステップＳ１０３における処理の流れを示したフローチャートである。つまり、図２５は、要素線分Ｌ２１についての補正の処理の流れを示したフローチャートでもある。
【０２１１】
まず、表示制御部１６が、直前の要素線分が、斜線（つまり、Ｘ軸またはＹ軸に平行でない線分）であるか否かを、当該直前の要素線分の始点と終点との座標値に基づき判断する（Ｓ１３１）。なお、表示制御部１６は、直前の要素線分がない場合には、斜線ではないとの判断をする。
【０２１２】
ステップＳ１３１において斜線であると判断された場合には、表示制御部１６は、線幅が奇数であるか否かを判断する（Ｓ１３２）。なお、ここでの線幅は、階調補正を行う前の線幅である。一方、ステップＳ１３１において平行な線分であると判断されなかった場合には、ステップＳ１３７に進む。
【０２１３】
ステップＳ１３２において奇数であると判断された場合には、表示制御部１６は、Ｘ軸方向の上限値Ｘｍａｘを、始点を含む画素の中心点の座標のＸ座標値に設定する（Ｓ１３３）。その後、ステップＳ１３５に進む。一方、ステップＳ１３２において奇数であると判断されなかった場合には、表示制御部１６は、上限値Ｘｍａｘを、始点に最も近い上記境界線分のＸ座標値に設定する（Ｓ１３４）。その後、ステップＳ１３５に進む。
【０２１４】
ステップＳ１３５においては、線分補正部３２が、始点のＸ座標値が上限値Ｘｍａｘよりも大きいか否かを判断する。
【０２１５】
ステップＳ１３５において大きいと判断された場合には、線分補正部３２は、Ｘ＝Ｘｍａｘを満たす直線（つまり、上記仮想線Ｌ３０）と直前の要素線分との交点Ｑの座標値（Ｘｑ，Ｙｑ）を求めるとともに、始点のＹ座標値をＹｑに変更する（Ｓ１３６）。ステップＳ１３６の後は、ステップＳ１３７に進む。
【０２１６】
一方、ステップＳ１３５において大きいと判断されなかった場合には、ステップＳ１３７に進む。
【０２１７】
ステップＳ１３７においては、表示制御部１６が、直後の要素線分が斜線であるか否かを、当該直後の要素線分の始点と終点との座標値に基づき判断する。なお、表示制御部１６は、直後の要素線分がない場合（例えば、要素線分Ｌ２１の場合）には、斜線でないとの判断をする。
【０２１８】
ステップＳ１３７において斜線であると判断された場合には、表示制御部１６は、線幅が奇数であるか否かを判断する（Ｓ１３８）。なお、ここでの線幅は、階調補正を行う前の線幅である。一方、ステップＳ１３７において斜線であると判断されなかった場合には、処理を終了する。
【０２１９】
ステップＳ１３８において奇数であると判断された場合には、表示制御部１６は、下限値Ｘｍｉｎを、終点を含む画素の中心点の座標のＸ座標値に設定する（Ｓ１３９）。その後、ステップＳ１４１に進む。一方、ステップＳ１３８において奇数であると判断されなかった場合には、表示制御部１６は、下限値Ｘｍｉｎを、終点に最も近い上記境界線分のＸ座標値に設定する（Ｓ１４０）。その後、ステップＳ１４１に進む。
【０２２０】
ステップＳ１４１においては、線分補正部３２が、終点のＸ座標値が下限値Ｘｍｉｎよりも小さいか否かを判断する。
【０２２１】
ステップＳ１４１において小さいと判断された場合には、線分補正部３２は、Ｘ＝Ｘｍｉｎを満たす直線（つまり、上記仮想線Ｌ３０）と直後の要素線分との交点Ｑの座標値（Ｘｑ，Ｙｑ）を求めるとともに、終点のＹ座標値をＹｑに変更する（Ｓ１４２）。ステップＳ１４２の後は、処理を終了する。
【０２２２】
例えば、要素線分Ｌ２１に関しては、ステップＳ１３６により、始点の補正が行われることになる。
【０２２３】
図２６は、線分補正部３２によって、上記のように要素線分の始点および／または終点を補正した際に表示される文字を示した図である。図２６（ａ）はＭの文字を示しており、図２６（ｂ）はＷの文字を示している。なお、図２６（ａ）および（ｂ）において、白線（線分）は、複数の要素線分が集合して形成された線である。
【０２２４】
例えば、図２６（ａ）では、白丸内において、Ｙ軸に平行な要素線分の中心線（仮想線Ｌ３０に相当）から図面左側にはみ出た領域において、当該平行な要素線分の座標値と、当該線分に連続する斜線の要素線分との座標値が補正されている。
【０２２５】
また、図２６（ｂ）では、白丸内において、Ｙ軸に平行な要素線分の中心線（仮想線Ｌ３０に相当）から図面右側にはみ出た領域において、当該平行な要素線分の座標値と、当該線分に連続する斜線の要素線分との座標値が補正されている。
【０２２６】
図２６（ａ）および（ｂ）にも示すとおり、線分補正部３２を用いた補正により、見た目のよい文字を表示させることが可能となる。
【０２２７】
また、線分補正部３２により要素線分を補正する構成の場合、前もって要素線分の始点および終点を補正する。それゆえ、上述したような上限値や下限値を超えているかといった判断が不要となるため、図１５から図１８に基づき説明した処理方法よりも、表示に要する時間を短縮することが可能となる。
【０２２８】
ところで、上記においては、例えば図３に示すとおり、要素画素群（画素Ｐａと画素Ｐｂと画素Ｐｃとからなる画素群）に隣接する画素Ｐｄについても階調の補正を行う構成を例に挙げて説明した。しかしながら、これに限定されるものではなく、画素Ｐｄについては階調を補正しない構成であってもよい。また、この場合、画素Ｐａの階調を補正する代わりに、画素Ｐｃの階調を補正する構成としてもよい。
【０２２９】
また、上記では、ＲＧＢカラーモデルを用いた構成を例に挙げて説明したが、これに限定されるものではない。加法混色を用いるカラーモデルであればよい。
【０２３０】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０２３１】
【図１】情報処理装置の概略構成を示したブロック図である。
【図２】情報処理装置として機能するコンピュータシステムのハードウェア構成を表わすブロック図である。
【図３】奇数線幅の文字を補正した後の文字の一部分を示した図である。
【図４】奇数線幅の文字を補正した後の文字の一部分を示した他の図である。
【図５】偶数線幅の文字を補正した後の文字の一部分を示した図である。
【図６】偶数線幅の文字を補正した後の文字の一部分を示した他の図である。
【図７】情報処理装置における処理の流れを示したフローチャートである。
【図８】図７のステップＳ５の処理の詳細を示したフローチャートである。
【図９】階調補正の効果を説明するための図であり、（ａ）は上記階調補正を行っていない場合の文字（一部）を示した図であり、（ｂ）は階調補正を行った場合の文字（一部）とを示した図である。
【図１０】直接描画方法を行う際の処理の流れを示したフローチャートである。
【図１１】間接描画方法を行う際の処理の流れの一部を示したフローチャートである。
【図１２】補正の制限を行った場合に得れる記号の一部を示した図である。
【図１３】斜めの要素線分と、当該要素線分に連続する要素線分とを用いて描画した文字の一部分を示した図である。
【図１４】補正制限部の機能を変更することにより得られる文字の一部分を示した図である。
【図１５】１つのストロークを描画する際に用いられる各要素線分を示した図である。
【図１６】図７のステップＳ５における処理の詳細を示したフローチャートである。
【図１７】図１６のステップＳ５５における、上限値と下限値との設定方法を示したフローチャートである。
【図１８】上限値の設定例と、下限値の設定例とを示した図である。
【図１９】線分補正部による補正前の要素線分と、補正後の要素線分とを示した図であって、（ａ）は補正前の要素線分を示した図であって、（ｂ）は補正後の要素線分を示した図である。
【図２０】補正前の要素線分と、補正後の要素線分とを示した図であって、（ａ）は補正前の要素線分を示した図であって、（ｂ）は補正後の要素線分Ｌ２０′を示した図である。
【図２１】補正前の要素線分と、補正後の要素線分とを示した図であって、（ａ）は補正前の要素線分を示した図であって、（ｂ）は補正後の要素線分を示した図である。
【図２２】図２０および図２１に示した要素線分の長さを補正する際の処理の流れを示したフローチャートである。
【図２３】図２２のステップＳ９２における処理の流れを示したフローチャートである。
【図２４】図２３のステップＳ１０２における処理の流れを示したフローチャートである。
【図２５】図２３のステップＳ１０３における処理の流れを示したフローチャートである。
【図２６】線分補正部によって要素線分の始点および／または終点を補正した際に表示される文字を示した図であって、（ａ）はＭの文字を示してた図であって、（ｂ）はＷの文字を示した図である。
【図２７】スケルトンデータのデータ構造を示した図である。
【図２８】「木」といった漢字に関するスケルトンデータをデータ構造を示した図である。
【図２９】図２８のスケルトンデータを座標平面上に示した図である。
【図３０】線分に対して所定の線幅の持たせた例を示した図であって（ａ）は線幅を奇数とした場合の例を示した図であって、（ｂ）は線幅を偶数とした場合の例を示した図である。
【符号の説明】
【０２３２】
１  情報処理装置、１２  記憶装置、１３  第１メモリ、１４  第２メモリ、１５  制御部、１６  表示制御部、２０  距離算出部、２１  階調補正部、２２  表示データ生成部、３０  平行判定部、３１  補正制限部、３２  線分補正部。
【図１】
0004361118.tif 000002
【図２】
0004361118.tif 000003
【図７】
0004361118.tif 000004
【図８】
0004361118.tif 000005
【図１０】
0004361118.tif 000006
【図１１】
0004361118.tif 000007
【図１５】
0004361118.tif 000008
【図１６】
0004361118.tif 000009
【図１７】
0004361118.tif 000010
【図１８】
0004361118.tif 000011
【図１９】
0004361118.tif 000012
【図２０】
0004361118.tif 000013
【図２１】
0004361118.tif 000014
【図２２】
0004361118.tif 000015
【図２３】
0004361118.tif 000016
【図２４】
0004361118.tif 000017
【図２５】
0004361118.tif 000018
【図２７】
0004361118.tif 000019
【図２８】
0004361118.tif 000020
【図２９】
0004361118.tif 000021
【図３０】
0004361118.tif 000022
【図３】
0004361118.tif 000023
【図４】
0004361118.tif 000024
【図５】
0004361118.tif 000025
【図６】
0004361118.tif 000026
【図９】
0004361118.tif 000027
【図１２】
0004361118.tif 000028
【図１３】
0004361118.tif 000029
【図１４】
0004361118.tif 000030
【図２６】
0004361118.tif 000031