JP4662412B2 - 文字図形表示装置、文字図形表示方法、プログラムおよび記録媒体 - Google Patents
文字図形表示装置、文字図形表示方法、プログラムおよび記録媒体 Download PDFInfo
- Publication number
- JP4662412B2 JP4662412B2 JP2003137918A JP2003137918A JP4662412B2 JP 4662412 B2 JP4662412 B2 JP 4662412B2 JP 2003137918 A JP2003137918 A JP 2003137918A JP 2003137918 A JP2003137918 A JP 2003137918A JP 4662412 B2 JP4662412 B2 JP 4662412B2
- Authority
- JP
- Japan
- Prior art keywords
- distance
- character
- quantized
- scaled
- reference point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/22—Control 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
- G09G5/24—Generation of individual character patterns
- G09G5/246—Generation of individual character patterns of ideographic or arabic-like characters
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/04—Changes in size, position or resolution of an image
- G09G2340/0407—Resolution change, inclusive of the use of different resolutions for different screen areas
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
- Digital Computer Display Output (AREA)
Description
【発明の属する利用分野】
本発明は、スケーリングされた文字または図形を表示する文字図形表示装置、文字図形表示方法、プログラムおよび記録媒体に関する。
【0002】
【従来の技術】
文字を表示するための文字データには、例えば、ビットマップデータとベクトルデータとがある。
【0003】
ビットマップデータは、固定の座標値を含む。固定の座標値をカラー液晶表示デバイス等の表示デバイスに出力することによって、表示デバイスに、文字を表示することができる。しかし、ビットマップデータは、文字の大きさに応じて固定されている。したがって、ビットマップデータは、必要とされる文字の大きさごとに用意されなければならない。
【0004】
ベクトルデータには、例えば、文字のアウトラインを示すデータや文字を構成するストロークを示すデータが含まれる。ベクトルデータをカラー液晶表示デバイス等の表示デバイスに出力する場合には、表示デバイスに表示する文字の大きさに応じて、ベクトルデータをスケーリングしなければならない。しかし、必要とされる文字の大きさが多種類であったとしても、必要とされるベクトルデータは、一種類でよい。ベクトルデータは、文字の大きさに応じて固定されていないからである。したがって、文字データを記憶するための記憶装置の容量は少なくてもよい。
【0005】
ベクトルデータをスケーリングした後に、スケーリングされたベクトルデータを所定の方法(例えば、四捨五入)で量子化することによって、量子化誤差が生じる。量子化誤差とは、所定の方法で量子化される前の数と所定の方法で量子化された後の数との差である。例えば、四捨五入される前の数4.6と四捨五入された後の数5との差は、0.4である。この場合、量子化誤差は、0.4である。
【0006】
図19は、ストロークを示す座標値が四捨五入される前と四捨五入された後とのストロークを示す。図19には、座標Aと座標Bとが含まれる。座標Aに示されるストロークは、座標値が四捨五入される前のストロークである。座標Bに示されるストロークは、座標値が四捨五入された後のストロークである。ストロークを示す座標値を四捨五入した結果、ストロークとストロークとの間の距離が逆転している。
【0007】
ストロークを示す座標値を四捨五入する前は、座標Aに示される4本のストロークは、座標値0.3(ストロークa)、座標値4.5(ストロークb)、座標値8.3(ストロークc)、座標値11.5(ストロークd)で示される。ストロークを示す座標値を四捨五入した結果、座標値0.3(ストロークa)は座標値0(ストロークa’)に、座標値4.5(ストロークb)は座標値5(ストロークb’)に、座標値8.3(ストロークc)は座標値8(ストロークc’)に、座標値11.5(ストロークd)は座標値12(ストロークd’)になる。
【0008】
ストロークaとストロークbとの間の距離(距離ab)は4.2、ストロークbとストロークcとの間の距離(距離bc)は3.8、ストロークcとストロークdとの間の距離(距離cd)は3.2である。ストロークを示す座標値を四捨五入した結果、ストロークa’とストロークb’との間の距離(距離a’b’)は5、ストロークb’とストロークc’との間の距離(距離b’c’)は3、ストロークc’とストロークd’との間の距離(距離c’d’)は4となる。
【0009】
ストロークを示す座標値を四捨五入する前は、距離ab>距離bc>距離cdであったが、ストロークを示す座標値を四捨五入した結果、距離a’b’>距離c’d’>距離b’c’になった。距離bcと距離cdとの順番は、ストロークを示す座標値を四捨五入した結果、逆転している。
【0010】
距離の順番の逆転を防ぐ技術が、特開平6−175638号公報に開示されている。図19に示される座標値を用いて、以下に、この技術を説明する。
【0011】
ストロークを示す座標値を四捨五入する前に、ストロークとストロークとの間の距離(四捨五入前の距離)を求める。ストロークを示す座標値を四捨五入した後に、ストロークとストロークとの間の距離(四捨五入後の距離)を求める。四捨五入前の距離と四捨五入後の距離との比率を計算する。計算された比率のうち、最大の比率と最小の比率との差が小さくなるように、ストロークを移動する。
【0012】
図20は、座標Cを示す。座標Cに示されるストロークは、特開平6−175638号公報に開示されている技術を用いて座標Aに示されたストロークを移動させた後のストロークである。
【0013】
具体的には、以下のようにストロークが移動される。
【0014】
ストロークを示す座標値を四捨五入した結果、座標値0.3(ストロークa)は座標値0(ストロークa’)に、座標値4.5(ストロークb)は座標値5(ストロークb’)に、座標値8.3(ストロークc)は座標値8(ストロークc’)に、座標値11.5(ストロークd)は座標値12(ストロークd’)になる。四捨五入後の距離と四捨五入前の距離との比率は、距離a’b’/距離ab=5/4.2=1.19、距離b’c’/距離bc=3/3.8=0.79、距離c’d’/距離cd=4/3.2=1.25である。
【0015】
最大の比率1.25(距離c’d’/距離cd)と最小の比率0.79(距離b’c’/距離bc)との差は、0.46である。最大の比率と最小の比率との差を小さくするために、距離c’d’から1を引いた値と距離cdとの比率を求める。距離c’d’から1を引いた値と距離cdとの比率は、0.94((距離c’d’−1)/距離cd=3/3.2=0.94)になる。最大の比率と最小の比率との差を小さくするために、距離b’c’に1を足した値と距離bcとの比率を求める。距離b’c’に1を足した値と距離bcとの比率は1.05((b’c’+1)/bc=4/3.8=1.05)になる。
【0016】
この結果、比率1.19(距離a’b’/距離ab)、比率1.05((距離b’c’+1)/距離bc)、比率0.94((距離c’d’−1)/距離cd)になる。最大の比率1.19(距離a’b’/距離ab)と最小の比率0.94((距離c’d’−1)/距離cd)との差は、0.25になる。最大の比率と最小の比率との差が小さくなった。これらの比率を実現させるために、ストロークを移動させる。この場合、ストロークc’をストロークb’と逆の方向に移動させる。
【0017】
【特許文献】
特開平6−175638号公報
【0018】
【発明が解決しようとする課題】
図21は、座標Dと座標Eとを示す。座標Dは、4本のストロークを示す。座標Eは、特開平6−175638号公報に開示されている技術を用いて座標Dに示されたストロークを移動させた後のストロークを示す。
【0019】
座標Dに示される4本のストロークは、座標値0.2(ストロークa)、座標値4.4(ストロークb)、座標値8.2(ストロークc)、座標値11.4(ストロークd)で示される。ストロークを示す座標値を四捨五入した結果、座標値0.2(ストロークa)は座標値0(ストロークa’)に、座標値4.4(ストロークb)は座標値4(ストロークb’)に、座標値8.2(ストロークc)は座標値8(ストロークc’)に、座標値11.4(ストロークd)は座標値11(ストロークd’)になる。
【0020】
四捨五入後の距離と四捨五入前の距離との比率は、距離a’b’/距離ab=4/4.2=0.95、距離b’c’/距離bc=4/3.8=1.05、距離c’d’/距離cd=3.2/3.4=0.94である。最大の比率は1.05(距離b’c’/距離bc)である。最小の比率は0.94(距離c’d’/距離cd)である。最大の比率と最小の比率との差を小さくするために、距離b’c’から1を引いた値と距離bcとの比率を求める。距離b’c’から1を引いた値と距離bcとの比率は0.79((距離b’c’−1)/距離bc)になる。最大の比率と最小の比率との差を小さくするために、距離c’d’に1を足した値と距離cdとの比率を求める。距離c’d’に1を足した値と距離cdとの比率は1.25((距離c’d’+1)/距離cd)になる。最大の比率と最小の比率との差は小さくならない。しかし、ストロークを示す座標値を四捨五入する前は、距離ab>距離bc>距離cdであったが、ストロークを示す座標値を四捨五入した結果、距離a’b’=距離c’d’>距離b’c’になった。距離abと、距離bcと、距離cdとの順番は、逆転していないため、隣接するストロークの間の距離のバランスは保たれる。
【0021】
座標Cに示されるストロークは、特開平6−175638号公報に開示されている技術を用いて座標Aに示されたストロークを移動させた後のストロークである。 座標Eに示されるストロークは、特開平6−175638号公報に開示されている技術を用いて座標Dに示されたストロークを移動させた後のストロークである。
【0022】
座標Dに示されたストロークは、座標Aに示されたストロークを下に0.1だけ移動したストロークである。したがって、座標Dに示されたストロークと座標Aに示されたストロークとは、同じ形状と同じ大きさを有する。しかし、座標Dに示されたストロークと座標Aに示されたストロークとは、示された位置が異なった結果、座標Eに示されたストロークと座標Cに示されたストロークとは、異なった形状と異なった大きさを有することとなる。
【0023】
具体的には、座標Cに示されたストロークの間の距離a’d’が12である。
座標Eに示されたストロークの間の距離a’d’が11である。
【0024】
図22は、座標Fと座標Gとを示す。座標Fは、6本のストロークを示す。座標Gは、特開平6−175638号公報に開示されている技術を用いて座標Fに示されたストロークを移動させた後のストロークを示す。
【0025】
座標Fに示される6本のストロークは、座標値0.3(ストロークa)、座標値4.5(ストロークb)、座標値8.3(ストロークc)、座標値11.5(ストロークd)、座標値15.2(ストロークe)、座標値18.6(ストロークf)で示される。ストロークを示す座標値を四捨五入した結果、座標値0.3(ストロークa)は座標値0(ストロークa’)に、座標値4.5(ストロークb)は座標値5(ストロークb’)に、座標値8.3(ストロークc)は座標値8(ストロークc’)に、座標値11.5(ストロークd)は座標値12(ストロークd’)に、座標値15.2(ストロークe)は座標値15(ストロークe’)に、座標値18.6(ストロークf)は座標値19(ストロークd’)になる。
【0026】
四捨五入後の距離と四捨五入前の距離との比率は、距離a’b’/距離ab=5/4.2=1.19、距離b’c’/距離bc=3/3.8=0.79、距離c’d’/距離cd=4/3.2=1.25、距離d’e’/距離de=3/3.7=0.81、距離e’f’/距離ef=4/3.4=1.18である。最大の比率は1.25(距離c’d’/距離cd)である。最大の比率と最小の比率との差を小さくするために、距離c’d’から1を引いた値と距離cdとの比率を求める。距離c’d’から1を引いた値と距離cdとの比率は0.94((距離c’d’−1)/距離cd)になる。最小の比率は0.79(距離b’c’/距離bc)である。最大の比率と最小の比率との差を小さくするために、距離b’c’に1を足した値と距離bcとの比率を求める。距離b’c’に1を足した値と距離bcとの比率は1.05((距離b’c’+1)/距離bc)になる。
【0027】
最大の比率と最小の比率の差が小さくなるため、ストロークc’をストロークb’の方向に移動させる。しかし、座標Gに示された一部のストロークの距離の間隔は改善されているが、距離deと距離efの逆転が残っている。
【0028】
図23は、座標Hと、座標Iと、座標Jとを示す。座標Hは、2本のストロークを示す。座標Iは、座標Hに示されたストロークの座標値が四捨五入された後のストロークを示す。座標Jは、表示デバイスに表示されたストロークを示す。
【0029】
座標Hに示される2本のストロークは、座標値0.6(ストロークa)、座標値2.4(ストロークb)で示される。ストロークを示す座標値を四捨五入した結果、座標値0.6(ストロークa)は座標値1(ストロークa’)に、座標値2.4(ストロークb)は座標値2(ストロークb’)になる。
【0030】
2つのストロークの間の距離は1つしかないため、特開平6−175638号公報に開示されている技術を用いてストロークを移動させることはできない。座標Iに示されたストロークのデータから描画データを生成し、描画データを表示デバイスに表示する場合、座標Jに示されるように、2つのストロークが、潰れたように見える。
【0031】
上述したように、特開平6−175638号公報に開示されている技術を用いてストロークの移動を行う場合、以下に示す(1)〜(3)の問題点があった。
【0032】
(1)座標Dに示されたストロークと座標Aに示されたストロークとは、同じ形状と同じ大きさを有する。しかし、特開平6−175638号公報に開示されている技術を用いてストロークの位置を調整する場合、座標Eに示された位置調整後のストロークと座標Cに示された位置調整後のストロークとは、異なった形状と異なった大きさを有することとなる。
【0033】
(2)座標Gに示された一部のストロークの距離の間隔は改善されているが、距離deと距離efの逆転が残っているため、すべてのストロークの距離の間隔が改善されているわけではない。したがって、ストロークの位置を調整する前のストロークのバランスが、ストロークの位置を調整した後では維持されない。
【0034】
(3)ストロークの位置を調整した結果、2つのストロークが互いに平行に接触してしまい、2つのストロークが潰れて1つのストロークになったかのように見える。
【0035】
本発明は、上述した(1)〜(3)の問題点の少なくとも1つを解決することができる文字図形表示装置、文字図形表示方法、プログラムおよび記録媒体を提供することを目的とする。
【0036】
【課題を解決するための手段】
本発明による文字図形表示装置は、文字または図形を表示する表示デバイスと、前記表示デバイスを制御する制御部とを備えた文字図形表示装置であって、前記制御部は文字図形表示処理を実行し、前記文字図形表示処理は、(a)特定の軸に沿った基準点を含む文字または図形をスケーリングすることにより、スケーリングされた基準点を生成するステップと、(b)前記スケーリングされた基準点間の距離の合計を第1の方法で量子化することにより、前記第1の方法で量子化された合計を生成するステップと、(c)前記スケーリングされた基準点間の距離を第2の方法で量子化することにより、前記第2の方法で量子化された距離を生成するステップと、(d)前記第2の方法で量子化された距離の合計が前記第1の方法で量子化された合計に等しくなるように、かつスケーリングされた隣接する基準点間の距離の大きさが、隣接する距離の間で大小逆転しないように、前記第2の方法で量子化された距離の少なくとも1つを、前記第2の方法での量子化の誤差に基づいて調整するステップと、(e)前記調整された少なくとも1つの距離を伴う前記スケーリングされた基準点に基づいて、スケーリングされた文字または図形を表示するステップとを包含し、これにより上記目的が達成される。
【0037】
前記第2の方法での量子化は、前記第2の方法で量子化された距離として最低限必要な距離を示すフラグに基づいて行われてもよい。
【0038】
前記第2の方法で量子化された距離を生成するステップは、前記第2の方法で量子化された距離として最低限必要な距離を示すフラグに基づいて行われてもよい。
前記第2の方法で量子化された距離を生成するステップは、前記第2の方法で量子化された距離のうち、前記第2の方法での量子化の誤差が大きい距離を優先的に調整するステップを含んでいてもよい。
【0039】
前記第2の方法で量子化された距離を生成するステップは、前記第2の方法で量子化された距離を広げるステップを含んでもよい。
【0040】
前記第2の方法で量子化された距離を生成するステップは、前記第2の方法で量子化された距離を狭めるステップを含んでもよい。
【0041】
前記第2の方法で量子化された距離を生成するステップは、前記第2の方法で量子化された距離を0にするステップを含んでもよい。
【0042】
前記スケーリングされた文字または図形を表示するステップは、距離a/距離bの値が距離A/距離Bの値に最も近くなるように、スケーリングされた文字上の所定の点である第1の点を表示するステップを含んでもよく、ここで、前記第1の点に対応し、スケーリングされる前の文字上の点である第2の点は、スケーリングされる前の基準点のうち、互いに隣接する第1の基準点と第2の基準点との間にあり、距離Aは、前記第2の点と前記第1の基準点との間の距離であり、距離Bは、前記第2の点と前記第2の基準点との間の距離であり、距離aは、前記第1の点とスケーリングされた第1の基準点との間の距離であり、距離bは、前記第1の点とスケーリングされた第2の基準点との間の距離である。
【0043】
前記文字は複数のブロックから構成されており、前記文字図形表示処理は、前記第1の方法で量子化された合計を生成するステップと、第2の方法で量子化された距離を生成するステップと、前記第2の方法で量子化された距離を生成するステップとを前記ブロック毎に実行するステップをさらに包含してもよい。
【0044】
前記距離を0にするステップは、第2の方法で量子化された距離を0にする順位を示すフラグに基づいて行われてもよい。
【0045】
本発明による文字図形表示方法は、特定の軸に沿った基準点を含む文字または図形をスケーリングすることにより、スケーリングされた基準点を生成するステップと、前記スケーリングされた基準点間の距離の合計を第1の方法で量子化することにより、前記第1の方法で量子化された合計を生成するステップと、前記スケーリングされた基準点間の距離を第2の方法で量子化することにより、前記第2の方法で量子化された距離を生成するステップと、前記第2の方法で量子化された距離の合計が前記第1の方法で量子化された合計に等しくなるように、かつスケーリングされた隣接する基準点間の距離の大きさが、隣接する距離の間で大小逆転しないように、前記第2の方法で量子化された距離の少なくとも1つを、前記第2の方法での量子化の誤差に基づいて調整するステップと、前記調整された少なくとも1つの距離を伴う前記スケーリングされた基準点に基づいて、スケーリングされた文字または図形を表示するステップとを包含し、これにより上記目的が達成される。
【0046】
本発明によるプログラムは、文字または図形を表示する表示デバイスと、前記表示デバイスを制御する制御部とを備えた文字図形表示装置に文字図形表示処理を実行させるためのプログラムであって、前記文字図形表示処理は、特定の軸に沿った基準点を含む文字または図形をスケーリングすることにより、スケーリングされた基準点を生成するステップと、前記スケーリングされた基準点間の距離の合計を第1の方法で量子化することにより、前記第1の方法で量子化された合計を生成するステップと、前記スケーリングされた基準点間の距離を第2の方法で量子化することにより、前記第2の方法で量子化された距離を生成するステップと、前記第2の方法で量子化された距離の合計が前記第1の方法で量子化された合計に等しくなるように、かつスケーリングされた隣接する基準点間の距離の大きさが、隣接する距離の間で大小逆転しないように、前記第2の方法で量子化された距離の少なくとも1つを、前記第2の方法での量子化の誤差に基づいて調整するステップと、前記調整された少なくとも1つの距離を伴う前記スケーリングされた基準点に基づいて、スケーリングされた文字または図形を表示するステップとを包含し、これにより上記目的が達成される。
【0047】
本発明による記録媒体は、文字または図形を表示する表示デバイスと、前記表示デバイスを制御する制御部とを備えた文字図形表示装置によって読み取り可能な記録媒体であって、前記記録媒体は、特定の軸に沿った基準点を含む文字または図形をスケーリングすることにより、スケーリングされた基準点を生成するステップと、前記スケーリングされた基準点間の距離の合計を第1の方法で量子化することにより、前記第1の方法で量子化された合計を生成するステップと、前記スケーリングされた基準点間の距離を第2の方法で量子化することにより、前記第2の方法で量子化された距離を生成するステップと、前記第2の方法で量子化された距離の合計が前記第1の方法で量子化された合計に等しくなるように、かつスケーリングされた隣接する基準点間の距離の大きさが、隣接する距離の間で大小逆転しないように、前記第2の方法で量子化された距離の少なくとも1つを、前記第2の方法での量子化の誤差に基づいて調整するステップと、前記調整された少なくとも1つの距離を伴う前記スケーリングされた基準点に基づいて、スケーリングされた文字または図形を表示するステップとを包含する処理を前記制御部に実行させるためのプログラムを記録しており、これにより上記目的が達成される。
【0048】
【発明の実施の形態】
本明細書中で用いられる「文字」は、例えば、ひらがな、カタカナ、漢字、アルファベット、絵文字および数字を含む。しかし、本発明はこれらに限定されない。
【0049】
本明細書中で用いられる「図形」は、例えば、文字の一部、模様、記号を含む。しかし、本発明はこれらに限定されない。
【0050】
以下、図面を参照しながら本発明の実施の形態を説明する。
【0051】
図1は、本発明の実施の形態の文字表示装置100の構成を示す。文字表示装置100は、例えば、パーソナルコンピュータであり得る。パーソナルコンピュータとしては、デスクトップ型またはラップトップ型などの任意のタイプのコンピュータが使用され得る。あるいは、文字表示装置100は、ワードプロセッサであってもよい。
【0052】
さらに、文字表示装置100は、カラー表示が可能な表示デバイスを備えた電子機器や情報機器などの任意の情報表示装置であり得る。例えば、文字表示装置100は、カラー液晶表示デバイスを備えた電子機器や、携帯情報ツールである携帯情報端末や、PHSを含む携帯電話機や、一般の電話機/FAXなどの通信機器などであってもよい。
【0053】
文字表示装置100は、入力デバイス110と、文字を表示する表示デバイス130と、表示デバイスを制御する制御部120と、補助記憶装置140とを含む。制御部120には、入力デバイス110と、表示デバイス130と、補助記憶装置140とが接続されている。
【0054】
入力デバイス110は、表示デバイス130に表示すべき文字を示す文字情報を制御部120に入力するために使用される。文字情報は、例えば、文字を識別する文字コードと文字の大きさを示すサイズ情報とを含む。入力デバイス110としては、文字コードとサイズ情報とを入力することが可能な任意のタイプの入力デバイスが使用され得る。例えば、キーボードやマウスやペン入力装置などの入力デバイスが入力デバイス110として好適に使用され得る。
【0055】
文字表示装置100が携帯電話である場合には、通信先の電話番号を指定するための数字キーが、文字コードまたはサイズ情報を入力するために用いられてもよい。文字表示装置100が、インターネットを含む電話通信回線に文字表示装置100を接続するための手段を備えている場合には、その電話通信回線から受信した電子メールに含まれるメッセージが表示デバイス130に表示されてもよい。文字表示装置100が、インターネットを含む電話通信回線に文字表示装置100を接続するための手段を備えている場合には、その通信回線に接続するための手段が、入力デバイス110として機能する。
【0056】
補助記憶装置140には、文字表示プログラム141と、文字表示プログラム41を実行するために必要な文字データ142とが格納されている。文字データ142は、座標データを含む。
【0057】
文字表示プログラム141は、表示デバイスに出力する文字サイズに合うように文字データ142によって含まれる座標データをスケーリングし、スケーリングされた座標データを生成するプログラム141aと、スケーリングされた座標データをグリッドフィッティングし、グリットフィッティングされた座標データを生成するプログラム141bと、グリッドフィッティングされた座標データを表示デバイスに表示可能になるように描画データを生成する描画データ生成プログラム141cとを含む。
【0058】
プログラム141a〜141cの機能の詳細は、後述される。
【0059】
文字データ142は、例えば、ベクトルデータである。本実施の形態では、ベクトルデータは256メッシュの解像度をもっている。しかし、ベクトルデータの解像度は、256メッシュに限らない。32メッシュでもよい。14メッシュでもよい。
【0060】
補助記憶装置140としては、文字表示プログラム141および文字データ142を格納することが可能な任意のタイプの記憶装置が使用され得る。補助記憶装置140において、文字表示プログラム141および文字データ142を格納する記録媒体としては、任意の記録媒体が使用され得る。例えば、ハードディスク、CD−ROM、MO、MD、DVD、ICカード、光カードなどの記録媒体が好適に使用され得る。
【0061】
なお、文字表示プログラム141および文字データ142は、補助記憶装置140によって含まれる記録媒体に格納されることに限定されない。例えば、文字表示プログラム141および文字データ142は、制御部120に含まれる主メモリ122に格納されてもよいし、ROM(図示せず)に格納されてもよい。ROMは、例えば、マスクROM、EPROM、EEPROM、フラッシュROMなどであり得る。このROM方式の場合には、そのROMを交換するだけでいろいろな処理のバリエーションを容易に実現することかできる。例えば、ROM方式は、文字表示装置100が携帯型の端末装置または携帯電話機である場合に好適に適用され得る。
【0062】
さらに、文字表示プログラム141および文字データ142を格納する記録媒体は、ディスクやカードなどの記憶装置や半導体メモリなどのようにプログラムやデータを固定的に担持する媒体であり得る。文字表示装置100が、インターネットを含む電話通信回線に文字表示装置100を接続するための手段を備えている場合には、その電話通信回線から文字表示プログラム141および文字データ142の少なくとも一部をダウンロードすることができる。この場合、ダウンロードに必要なローダープログラムは、ROM(図示せず)に予め格納されていてもよいし、補助記憶装置140から制御部120にインストールされてもよい。
【0063】
制御部120は、CPU121と主メモリ122とを含む。
【0064】
CPU121は、文字表示装置100の全体を制御および監視するとともに、補助記憶装置140に格納されている文字表示プログラム141を実行する。
【0065】
主メモリ122は、入力デバイス110から主メモリ122に入力されたデータや、表示デバイス130に表示するためのデータや、文字表示プログラム141を実行するのに必要なデータを一時的に格納する。主メモリ122は、CPU121によって制御される。
【0066】
CPU121は、主メモリ122に格納された各種のデータに基づいて文字表示プログラム141を実行することにより、描画データを生成する。生成された描画データは、主メモリ122に一旦格納された後、表示デバイス130に出力される。描画データが表示デバイス130に出力されるタイミングは、CPU121によって制御される。
【0067】
表示デバイス130は、例えば、カラー液晶表示デバイスである。カラー液晶表示デバイスとしては、パソコンなどに多く用いられている透過型の液晶表示デバイスのほか、反射型やリアプロ型の液晶表示デバイスが使用され得る。しかし、表示デバイス130は、カラー液晶表示デバイスに限定されない。表示デバイス130として、X方向およびY方向に配列された複数のピクセルを有する任意のカラー表示装置(いわゆるXYマトリクス表示装置)が使用され得る。
【0068】
図2は、文字「葦」を構成するストロークを示す。文字「葦」は、ストロークL01〜L15で示された15本のストロークから構成されている。
【0069】
図3は、図2で示されたストロークから構成された文字「葦」の文字データ142を示す。
【0070】
図3に示されるように、文字「葦」の文字データは、文字「葦」を構成するストロークL01〜L15のストロークごとに、座標データと、Y軸方向のブロック番号と、X軸方向のブロック番号と、Y軸方向の基準点データと、X軸方向の基準点データと、Y軸方向の距離フラグと、X軸方向の距離フラグと、Y軸方向の省略フラグと、X軸方向の省略フラグとを含む。
【0071】
以下、図3に示される、座標データと、Y軸方向のブロック番号と、X軸方向のブロック番号と、Y軸方向の基準点データと、X軸方向の基準点データと、Y軸方向の距離フラグと、X軸方向の距離フラグと、Y軸方向の省略フラグと、X軸方向の省略フラグとを説明する。
【0072】
座標データは、ストローク上の点を示すデータである。座標データは、1組のX座標値とY座標値とから構成される。座標データは、複数の組のX座標値とY座標値とから構成されてもよい。ストロークL01〜L15は、各々、2組のX座標値とY座標値とから構成されている。X座標値は、値0〜値255を有する。Y座標値は、値0〜値255を有する。
【0073】
ストロークL01は、座標データの1つ目の点(0,231)と座標データの2つ目の点(255,231)とを結ぶ直線である。ストロークL02は、座標データの1つ目の点(79,255)と座標データの2つ目の点(79,210)とを結ぶ直線である。ストロークL03は、座標データの1つ目の点(176,255)と座標データの2つ目の点(176,210)とを結ぶ直線である。ストロークL04は、座標データの1つ目の点(19,194)と座標データの2つ目の点(218,194)とを結ぶ直線である。ストロークL05は、座標データの1つ目の点(218,194)と座標データの2つ目の点(218,162)とを結ぶ直線である。ストロークL06は、座標データの1つ目の点(118,213)と座標データの2つ目の点(113,162)とを結ぶ直線である。ストロークL07は、座標データの1つ目の点(0,162)と座標データの2つ目の点(255,162)とを結ぶ直線である。ストロークL08は、座標データの1つ目の点(37,131)と座標データの2つ目の点(37,99)とを結ぶ直線である。ストロークL09は、座標データの1つ目の点(37,131)と座標データの2つ目の点(218,131)とを結ぶ直線である。ストロークL10は、座標データの1つ目の点(218,131)と座標データの2つ目の点(218,99)とを結ぶ直線である。ストロークL11は、座標データの1つ目の点(37,99)と座標データの2つ目の点(218,99)とを結ぶ直線である。ストロークL12は、座標データの1つ目の点(37,64)と座標データの2つ目の点(247,64)とを結ぶ直線である。ストロークL13は、座標データの1つ目の点(37,64)と座標データの2つ目の点(37,30)とを結ぶ直線である。ストロークL14は、座標データの1つ目の点(0,30)と座標データの2つ目の点(255,30)とを結ぶ直線である。ストロークL15は、座標データの1つ目の点(145,97)と座標データの2つ目の点(145,0)とを結ぶ直線である。
【0074】
ブロック番号は、文字を構成するブロックの番号を示す。1つのブロックは、文字の部首や部品等から構成されている。なお、必ずしも文字が複数のブロックから構成されているとは限らない。文字が1つのブロックから構成されていてもよい。図3で示されるように、Y軸方向のブロック番号は、全てのストロークにおいて、1である。図3で示されるように、X軸方向のブロック番号は、全てのストロークにおいて、1である。これは、文字「葦」は、1つのブロックから構成されていることを示す。
【0075】
図4は、文字「明」の文字データを示す。
【0076】
以下、図4を参照して、文字が複数のブロックから構成されている場合を説明する。
【0077】
図4で示されるように、ストロークL01〜ストロークL05において、Y軸方向のブロック番号は、1である。ストロークL06〜ストロークL11において、Y軸方向のブロック番号は、2である。X軸方向のブロック番号は、全てのストロークにおいて、1である。これは、文字「明」は、2つのブロックから構成されていることを示す。偏「日」は、1つ目のブロックから構成されている。
旁「月」は、2つ目のブロックから構成されている。
【0078】
以上、図4を参照して、文字が複数のブロックから構成されている場合を説明した。
【0079】
再び、図3を参照して、文字データ142に含まれるデータを説明する。
【0080】
基準点データは、ストロークが基準点を含むか否かを示す。基準点データは、ストロークが基準点を含む場合には、基準点が座標データの幾つ目の点であるかを示す。
【0081】
ストロークL01において、ストロークL01がY軸方向の基準点を含むか否かを示す基準点データは1である。ストロークL01がY軸方向の基準点を含むか否かを示す基準点データが1であることは、ストロークL01がY軸方向の基準点を含み、ストロークL01において、基準点の位置は、座標データの1つ目の点(0,231)であることを示す。
【0082】
同様に、ストロークL04、L07、L09、L11、L12、L14において、ストロークがY軸方向の基準点を含むか否かを示す基準点データは1である。ストロークL04において、基準点の位置は、座標データの1つ目の点(19,194)である。ストロークL07において、基準点の位置は、座標データの1つ目の点(0,162)である。ストロークL09において、基準点の位置は、座標データの1つ目の点(37,131)である。ストロークL11において、基準点の位置は、座標データの1つ目の点(37,99)である。ストロークL12において、基準点の位置は、座標データの1つ目の点(37,64)である。ストロークL14において、基準点の位置は、座標データの1つ目の点(0,30)である。
【0083】
ストロークL02において、ストロークがY軸方向の基準点を含むか否かを示す基準点データは×である。ストロークL01がY軸方向の基準点を含むか否かを示す基準点データが×であることは、ストロークL02がY軸方向の基準点を含まないことを示す。
【0084】
同様に、ストロークL03、L05、L06、L08、L10およびL13において、ストロークがY軸方向の基準点を含むか否かを示す基準点データは×である。ストロークがY軸方向の基準点を含むか否かを示す基準点データが×であることは、ストロークL03、L05、L06、L08、L10およびL13がY軸方向の基準点を含まないことを示す。
【0085】
ストロークL15において、ストロークがY軸方向の基準点を含むか否かを示す基準点データは2である。ストロークがY軸方向の基準点を含むか否かを示す基準点データが2であることは、ストロークL15がY軸方向の基準点を含み、ストロークL15において、基準点の位置は、座標データの2つ目の点(145,0)であることを示す。
【0086】
ストロークL01、L04、L05、L06、L07、L09およびL11〜L15において、ストロークがX軸方向の基準点を含むか否かを示す基準点データは×である。ストロークがX軸方向の基準点を含むか否かを示す基準点データが×であることは、ストロークL01、L04、L05、L06、L07、L09およびL11〜L15がX軸方向の基準点を含まないことを示す。
【0087】
ストロークL02、L03、L08およびL10において、ストロークがX軸方向の基準点を含むか否かを示す基準点データは1である。ストロークL02において、基準点の位置は、座標データの1つ目の点(79,255)である。ストロークL03において、基準点の位置は、座標データの1つ目の点(176,255)である。ストロークL08において、基準点の位置は、座標データの1つ目の点(37,131)である。ストロークL10において、基準点の位置は、座標データの1つ目の点(218,131)である。
【0088】
基準点は、文字を構成するブロック内に含まれた点である。基準点は、X軸方向に伸びたストローク上だけでなく、Y軸方向に伸びたストローク上にも設定することができる。例えば、Y軸方向に伸びたストロークL15上には、上述したように、座標データの2つ目の点が基準点である。基準点は、Y軸方向に伸びたストローク上だけでなく、X軸方向に伸びたストローク上にも設定することができる。
【0089】
基準点は、必ずしも、Y軸方向に伸びたストローク上に設定される必要はない。基準点は、必ずしも、X軸方向に伸びたストローク上に設定される必要はない。
【0090】
例えば、基準点は、ストローク上にない点であってもよい。基準点は、文字の種類に応じて、固有に与えられる点であってもよい。文字データ142を計算して求められる点であってもよい。
【0091】
図5は、Y軸に沿った基準点間の距離と、X軸に沿った基準点間の距離とを示す。
【0092】
図5で示されるY軸に沿った基準点間の距離は、8つである。この8つの距離は、距離YY1、距離YY2、距離YY3、距離YY4、距離YY5、距離YY6、距離YY7および距離YY8で示される。
【0093】
距離YY1は、Y軸に沿った基準点(0,231)と最大のY座標の点(0,255)との間の距離24である。距離YY2は、Y軸に沿った基準点(0,194)とY軸に沿った基準点(0,231)との間の距離37である。距離YY3は、Y軸に沿った基準点(0,162)とY軸に沿った基準点(0,194)との間の距離32である。距離YY4は、Y軸に沿った基準点(0,131)とY軸に沿った基準点(0,162)との間の距離31である。距離YY5は、Y軸に沿った基準点(0,99)とY軸に沿った基準点(0,131)との間の距離32である。距離YY6は、Y軸に沿った基準点(0,64)とY軸に沿った基準点(0,99)との間の距離35である。距離YY7は、Y軸に沿った基準点(0,30)とY軸に沿った基準点(0,64)との間の距離34である。距離YY8は、最小のY座標の点(0,0)とY軸に沿った基準点(0,30)との間の距離30である。
【0094】
図5で示されるX軸に沿った基準点間の距離は、5つである。この5つの距離は、距離XX1、距離XX2、距離XX3、距離XX4および距離XX5である。
【0095】
距離XX1は、最小のX座標の点(0,0)とX軸に沿った基準点(37,0)との間の距離37である。距離XX2は、X軸に沿った基準点(79,0)とX軸に沿った基準点(37,0)との間の距離42である。距離XX3は、X軸に沿った基準点(176,0)とX軸に沿った基準点(79,0)との間の距離97である。距離XX4は、X軸に沿った基準点(218,0)とX軸に沿った基準点(176,0)との間の距離42である。距離XX5は、最大のX座標の点(255,0)とX軸に沿った基準点(218,0)との間の距離37である。
【0096】
距離フラグは、最低限必要な距離を有するか否かを示す。さらに、距離フラグは、特定の軸に沿った基準点間の距離として最低限必要な距離がいくらであるかを示す。例えば、距離フラグは、×である。距離フラグが×であることは、距離フラグが、最低限必要な距離を有しないことを示す。例えば、距離フラグは、数M(1、2、3などの自然数)である。距離フラグが数Mであることは、距離フラグが、最低限必要な距離を有することを示す。さらに、距離フラグが数Mであることは、距離フラグが、特定の軸に沿った基準点間の距離として最低限必要な距離Mを必要とすることを示す。
【0097】
ストロークL01において、Y軸方向の距離フラグは1である。Y軸方向の距離フラグが1であることは、最低限必要な距離を有することを示す。さらに、距離フラグが1であることは、Y軸に沿った基準点間の距離が最低限必要な距離1を必要とすることを示す。
【0098】
ストロークL02において、Y軸方向の距離フラグは×である。Y軸方向の距離フラグが×であることは、最低限必要な距離を有しないことを示す。
【0099】
同様に、ストロークL03、L05、L06、L08、L10およびL13において、Y軸方向の距離フラグは×である。Y軸方向の距離フラグが×であることは、最低限必要な距離を有しないことを示す。
【0100】
ストロークL04において、Y軸方向の距離フラグは2である。Y軸方向の距離フラグが2であることは、最低限必要な距離を有することを示す。さらに、距離フラグが2であることは、Y軸に沿った基準点間の距離が最低限必要な距離2を必要とすることを示す。
【0101】
同様に、ストロークL07、L09、L11、L12およびL14において、Y軸方向の距離フラグは2である。Y軸方向の距離フラグが2であることは、最低限必要な距離を有することを示す。さらに、距離フラグが2であることは、Y軸に沿った基準点間の距離が最低限必要な距離2を必要とすることを示す。
【0102】
ストロークL15において、Y軸方向の距離フラグは1である。Y軸方向の距離フラグが1であることは、最低限必要とする距離を有することを示す。さらに、距離フラグが1であることは、Y軸に沿った基準点間の距離が最低限必要な距離1を必要とすることを示す。
【0103】
ストロークL01、04、05、06、09および11〜15において、X軸方向の距離フラグは×である。X軸方向の距離フラグが×であることは、最低限必要とする距離を有しないことを示す。
【0104】
ストロークL02において、X軸方向の距離フラグは3である。X軸方向の距離フラグが3であることは、最低限必要な距離を有することを示す。さらに、距離フラグが3であることは、X軸に沿った基準点間の距離として最低限必要な距離3を必要とすることを示す。
【0105】
ストロークL03およびL08において、X軸方向の距離フラグは2である。
X軸方向の距離フラグが2であることは、最低限必要とする距離を有することを示す。さらに、距離フラグが2であることは、X軸に沿った基準点間の距離が最低限必要な距離2を必要とすることを示す。
【0106】
ストロークL07およびL10において、X軸方向の距離フラグは1である。
X軸方向の距離フラグが1であることは、最低限必要とする距離を有することを示す。さらに、距離フラグが1であることは、X軸に沿った基準点間の距離が最低限必要な距離1を必要とすることを示す。
【0107】
省略フラグは、特定の軸に沿った基準点間の距離をグリッドフィッティングにより調整する際に、調整する距離を0にできるか否かを示す。さらに、省略フラグは、調整する距離を0にできる場合には、調整する距離を0にする順番を示す。
【0108】
例えば、省略フラグは、×である。省略フラグが×であることは、調整する距離を0にすることができないことを示す。例えば、省略フラグは、整数Nである。省略フラグが整数Nであることは、調整する距離を0にできることを示す。さらに、省略フラグが整数Nであることは、調整する距離を0にする順番がN番目であることを示す。
【0109】
ストロークL01において、Y軸方向の省略フラグは×である。Y軸方向の省略フラグが×であることは、調整する距離を0にすることができないことを示す。
【0110】
同様に、ストロークL02〜ストロークL08、ストロークL10およびストロークL13〜ストロークL15において、Y軸方向の省略フラグは×である。Y軸方向の省略フラグが×であることは、調整する距離を0にすることができないことを示す。
【0111】
ストロークL09において、Y軸方向の省略フラグは1である。Y軸方向の省略フラグが1であることは、調整する距離を0にできることを示す。さらに、Y軸方向の省略フラグが1であることは、調整する距離を0にする順番が1番目であることを示す。
【0112】
ストロークL11において、Y軸方向の省略フラグは2である。Y軸方向の省略フラグが2であることは、調整する距離を0にできることを示す。さらに、Y軸方向の省略フラグが2であることは、調整する距離を0にする順番が2番目であることを示す。
【0113】
ストロークL12において、Y軸方向の省略フラグは3である。Y軸方向の省略フラグが3であることは、調整する距離を0にできることを示す。さらに、Y軸方向の省略フラグが3であることは、調整する距離を0にする順番が3番目であることを示す。
【0114】
ストロークL01〜ストロークL15において、X軸方向の省略フラグは×である。X軸方向の省略フラグが×であることは、調整する距離を0にすることができないことを示す。
【0115】
図6は、文字表示プログラム141の処理手順を示すフローチャートである。
文字表示プログラム141は、CPU121によって実行される。
【0116】
以下、文字表示プログラム141の処理の手順をステップごとに説明する。
【0117】
ステップS101:表示デバイス130に表示すべき文字を示す文字情報が、入力デバイス110を介して主メモリ122に入力される。入力された文字情報に応じて、CPU121は、補助記憶装置140に格納されている文字データ142を補助記憶装置140から読み込む。読み込まれた文字データ142は、例えば、図3に示される文字データ142である。文字データ142は、座標データおよび基準点を示すデータを含む。
【0118】
ステップS102:CPU121は、表示デバイス130に出力する文字サイズに合わせて、文字データ142が含む座標データと文字データ142が含む基準点を示すデータとをスケーリングし、スケーリングされた座標データとスケーリングされた基準点を示すデータを生成する。CPU121が、文字表示プログラム141に含まれたプログラム141aを実行することによって、ステップS102が処理される。
【0119】
スケーリングされた座標データは、主メモリ122に格納される。
【0120】
出力する文字サイズがnドットの場合には、スケーリングされた座標データ(X,Y)は、例えば、((n−1)×X/255,(n−1)×Y/255)である。
【0121】
例えば図6に示される実施の形態では、ステップS102が「特定の軸に沿った基準点を含む文字または図形をスケーリングすることにより、スケーリングされた基準点を生成するステップ」に対応する。しかし、本発明はこれに限定されない。
【0122】
ステップS103:CPU121は、スケーリングされた座標データをグリッドフィッティングし、グリットフィッティングされた座標データを生成する。CPU121が、文字表示プログラム141に含まれたプログラム141bを実行することによって、ステップS103が処理される。グリットフィッティングされた座標データは、主メモリ122に格納される。
【0123】
グリッドフィッティングの処理の手順の詳細は、後述される。
【0124】
ステップS104:CPU121は、グリッドフィッティングされた座標データを表示デバイスに表示可能になるように描画データを生成する。例えば、CPU121は、グリットフィッティングされた座標データを直線引きやスプライン等の曲線引きプログラムを用いて描画データにする。CPU121が、文字表示プログラム141に含まれたプログラム141cを実行することによって、ステップS104が処理される。生成された描画データは、主メモリ122に格納される。
【0125】
ステップS105:CPU121は、ステップS104で生成された描画データを表示デバイス130に表示する。
【0126】
図7は、ステップS103におけるグリッドフィッティングの処理(プログラム141bの処理)の手順の詳細を説明するフローチャートである。プログラム141bは、CPU121によって実行される。
【0127】
以下、ステップS103におけるグリッドフィッティングの処理(プログラム141bの処理)の手順の詳細をステップごとに説明する。
【0128】
ステップS201:CPU121は、ブロックのY軸方向の処理をブロック番号ごとに行う。
【0129】
ステップS201におけるブロックのY軸方向の処理の詳細は、後述される。
【0130】
ステップS202:CPU121は、文字データ142に基づいて、ブロックのY軸方向の処理がすべて終わったか否かを判定する。
【0131】
例えば、ステップS201を繰り返した回数とY軸方向のブロック番号の最大値とを比較することによって、CPU121は、ブロックのY軸方向の処理がすべて終わったか否かを判定する。
【0132】
ステップS201を繰り返した回数がY軸方向のブロック番号の最大値に等しくなった場合には、ステップS202の判定は「Yes」である。ステップS202の判定が「Yes」の場合、処理は、ステップS203に進む。
【0133】
ステップS201を繰り返した回数がY軸方向のブロック番号の最大値より小さい場合には、ステップS202の判定は「No」である。ステップS202の判定が「No」の場合、処理は、S201に進む。
【0134】
ステップS203:CPU121は、ブロックのX軸方向の処理をブロック番号ごとに行う。
【0135】
ステップS203におけるブロックのX軸方向の処理の詳細は、後述される。
【0136】
ステップS204:CPU121は、文字データ142に基づいて、ブロックのX軸方向の処理がすべて終わったか否かを判定する。
【0137】
例えば、ステップS203を繰り返した回数とX軸方向のブロック番号の最大値とを比較することによって、CPU121は、ブロックのX軸方向の処理がすべて終わったか否かを判定する。
【0138】
ステップS203を繰り返した回数がX軸方向のブロック番号の最大値に等しくなった場合には、ステップS204の判定は「Yes」である。ステップS204の判定が「Yes」の場合、グリッドフィッティングの処理(プログラム141bの処理)は、終了する。
【0139】
ステップS203を繰り返した回数がX軸方向のブロック番号の最大値より小さい場合には、ステップS204の判定は「No」である。ステップS204の判定が「No」の場合、処理は、S203に進む。
【0140】
図8は、ステップS201およびステップS203における、ブロックの特定の軸方向の処理の詳細を説明するフローチャートである。文字表示プログラム141は、CPU121によって実行される。
【0141】
以下、ステップS201およびステップS203における、ブロックの軸方向の処理の詳細をステップごとに説明する。
【0142】
ステップS301:CPU121は、スケーリングされた座標データに基づいて、スケーリングされた基準点の座標値を生成する。CPU121は、この座標値に基づいて、スケーリングされた基準点間の距離を求める。
【0143】
ステップS302:CPU121は、スケーリングされた基準点間の距離の合計を求める。CPU121は、距離の合計を第1の方法で量子化することにより、第1の方法で量子化された合計を生成する。
【0144】
スケーリングされた基準点のうち、最大のY座標値から最小のY座標値を引いた値を求めることによって、基準点の間のY軸方向の距離の合計を求めてもよい。
【0145】
スケーリングされた基準点のうち、最大のX座標値から最小のX座標値を引いた値を求めることによって、基準点の間のY軸方向の距離の合計を求めてもよい。
【0146】
例えば、CPU121は、距離の合計を量子化する第1の方法として、四捨五入を利用する。
【0147】
四捨五入によって量子化された合計を生成することにより、文字の大きさの統一を図ることが出来る。例えば、図19に示された座標Aにおける距離adと図21に示された座標Dにおける距離adとはどちらも11.2である。四捨五入によって量子化された合計はどちらも11となる。
【0148】
なお、距離の合計を量子化する第1の方法として、四捨五入を利用したが、距離の合計を量子化する第1の方法は、四捨五入に限らない。文字を出来るだけ大きく見せる場合は、距離の合計を量子化する第1の方法として、切り上げを利用してもよい。文字を出来るだけ小さく見せる場合は、距離の合計を量子化する第1の方法として、切り捨てを利用してもよい。距離の合計を量子化する第1の方法では、所望の閾値を利用してもよい。
【0149】
例えば、図8に示される実施の形態では、ステップS302が「スケーリングされた基準点間の距離の合計を第1の方法で量子化することにより、第1の方法で量子化された合計を生成するステップ」に対応する。しかし、本発明はこれに限定されない。
【0150】
ステップS303:CPU121は、スケーリングされた基準点間の距離を第2の方法で量子化することにより、第2の方法で量子化された距離を生成する。
第2の方法での量子化は、距離フラグを考慮して行われる。
【0151】
距離フラグは、第2の方法で量子化された距離として最低限必要な距離を示す。例えば、スケーリングされた2つの基準点の間の距離が2.4の場合、距離フラグがなければ、四捨五入によって量子化された距離は2となる。距離フラグが1ならば、四捨五入によって量子化された距離は2となる。距離フラグが2ならば、四捨五入によって量子化された距離は2となる。しかし、距離フラグが3ならば、距離フラグを考慮することで、量子化された距離を3とする。
【0152】
距離を量子化する第2の方法として、四捨五入を利用したが、距離を量子化する第2の方法は、四捨五入に限らない。距離を量子化する第2の方法として、切り上げを利用してもよい。切り捨てを利用してもよい。距離を量子化する第2の方法では、所望の閾値を利用してもよい。
【0153】
距離の合計を量子化する第1の方法と距離を量子化する第2の方法とは同じでもよいし、異なっていてもよい。例えば、距離の合計を量子化する第1の方法として、四捨五入を利用し、距離を量子化する第2の方法として、四捨五入を利用してもよい。文字を出来るだけ大きく見せる場合は、距離の合計を量子化する第1の方法として、切り上げを利用し、距離を量子化する第2の方法として、四捨五入を利用してもよい。
【0154】
例えば、図8に示される実施の形態では、ステップS303が「スケーリングされた基準点間の距離を第2の方法で量子化することにより、第2の方法で量子化された距離を生成するステップ」に対応する。しかし、本発明はこれに限定されない。
【0155】
ステップS304:CPU121は、第2の方法で量子化された距離の合計が第1の方法で量子化された合計より小さいか否かを判定する。ステップS304の判定が「Yes」の場合、処理はステップS305に進む。ステップS304の判定が「No」の場合、処理はステップS306に進む。
【0156】
ステップS305:CPU121は、第2の方法で量子化された距離のうち、量子化誤差が一番大きかった距離を広げる。量子化誤差の大きいものを優先的に広げるので、量子化前と量子化後で距離が逆転することはない。処理はステップS304に進む。なお、ステップS305における処理は、距離フラグを考慮して行われてもよい。例えば、距離フラグの値が大きいものを優先的に広げてもよい。
【0157】
ステップS306:CPU121は、第2の方法で量子化された距離の合計が第1の方法で量子化された合計より大きいか否かを判定する。ステップS306の判定が「Yes」の場合、処理はステップS307に進む。ステップS306の判定が「No」の場合、処理はステップS310に進む。
【0158】
ステップS307:距離フラグの合計が、第1の方法で量子化された合計より大きいか否かを判定する。ステップS307の判定が「Yes」の場合、処理はステップS308に進む。ステップS307の判定が「No」の場合、処理はステップS309に進む。
【0159】
ステップS308:省略フラグを考慮して、第2の方法で量子化された距離を0にする。処理はステップS304に進む。
【0160】
なお、ステップS308では、省略フラグを考慮して、ストロークを省略してもよい。第2の方法で量子化された距離を0にすることとストロークを省略することとは同等である。
【0161】
ステップS309:CPU121は、第2の方法で量子化された距離のうち、量子化誤差が一番大きかった距離を狭める。量子化誤差の大きいものを優先的に狭めるので、量子化前と量子化後で距離が逆転することはない。処理はステップS304に進む。なお、ステップS309における処理は、距離フラグを考慮して行われてもよい。例えば、距離フラグの値がないもの、または小さいものを優先的に狭めてもよい。
【0162】
例えば、図8に示される実施の形態では、ステップS305、ステップS308またはステップS309が「第2の方法で量子化された距離の少なくとも1つを調整するステップ」に対応する。しかし、本発明はこれに限定されない。
【0163】
ステップS310:文字を構成するブロックの最大座標値と最小座標値とを決める。具体的には、スケーリングされた基準点の最大座標値を四捨五入した結果生じた量子化誤差とスケーリングされた基準点の最小座標値を四捨五入した結果生じた量子化誤差とを比較し、量子化誤差が小さいほうの座標値に基づいて、ブロックの座標値を決定する。文字を構成するブロックの大きさは第1の方法で量子化された合計である。
【0164】
例えば、スケーリングされた基準点の最大座標値を四捨五入した結果生じた量子化誤差がスケーリングされた基準点の最小座標値を四捨五入した結果生じた量子化誤差より小さい場合は、スケーリングされた基準点の最大座標値がブロックの最大座標値である。ブロックの最小座標値は、ブロックの最大座標値から、文字を構成するブロックの大きさである第1の方法で量子化された合計を引いた値である。
【0165】
例えば、スケーリングされた基準点の最小座標値を四捨五入した結果生じた量子化誤差がスケーリングされた基準点の最大座標値を四捨五入した結果生じた量子化誤差より小さい場合は、スケーリングされた基準点の最小座標値がブロックの最小座標値である。ブロックの最大座標値は、ブロックの最小座標値から、文字を構成するブロックの大きさである第1の方法で量子化された合計を足した値である。
【0166】
ステップS311:文字を構成するブロックの最大座標値と、文字を構成するブロックの最小座標値と、第2の方法で量子化された距離に基づいて、グリッドフィティング処理後の基準点の座標値を決める。
【0167】
ステップS312:基準点以外の座標を決定する。距離a/距離bの値が距離A/距離Bの値に最も近くなるように、スケーリングされた文字上の所定の点が決定される。ここで、決定される所定の点に対応し、スケーリングされる前の文字上の点は、スケーリングされる前の基準点のうち、互いに隣接する第1の基準点と第2の基準点との間にある。距離Aは、スケーリングされる前の文字上の点と第1の基準点との間の距離である。距離Bは、スケーリングされる前の文字上の点と第2の基準点との間の距離である。距離aは、決定される所定の点とスケーリングされた第1の基準点との間の距離である。距離bは、決定される所定の点とスケーリングされた第2の基準点との間の距離である。
【0168】
例えば、図6および図8に示される実施の形態では、ステップS310、ステップS311、ステップS312、ステップS104およびステップS105が「調整された少なくとも1つの距離を伴うスケーリングされた基準点に基づいて、スケーリングされた文字または図形を表示するステップ」に対応する。しかし、本発明はこれに限定されない。
【0169】
例えば、図6および図8に示される実施の形態では、ステップS102、ステップS104、ステップS105、ステップS302、ステップS303、ステップS305およびステップS308〜ステップS312が「文字図形表示処理」に対応する。しかし、本発明はこれに限定されない。
【0170】
CPU121を含む制御部は、文字図形表示処理を実行する。しかし、本発明はこれに限定されない。
【0171】
なお、上述した実施の形態では、文字をスケーリングし、スケーリングされた文字を表示する場合を例にとり説明したが、本発明はこれに限定されない。文字に代えて、あるいは文字に加えて、図形をスケーリングし、スケーリングされた図形を表示する場合にも本発明を適用することができる。この場合、文字表示プログラム141に代えて、あるいは文字表示プログラム141に加えて図形表示プログラムを使用するようにし、文字データ142に代えて、あるいは文字データ142に加えて図形データを使用するようにすればよい。図形表示プログラムもまた、文字表示プログラム141と同様のステップを含み得る。文字データと同様に図形データもまた少なくとも1つの基準点を含み得る。
【0172】
本発明の文字図形表示装置によれば、第2の方法で量子化された距離の合計が第1の方法で量子化された合計に等しくなるように、第2の方法で量子化された距離の少なくとも1つが調整される。このように、第2の方法で量子化された距離の合計が第1の方法で量子化された合計よりも大きい場合は、第2の方法で量子化された距離の少なくとも1つを狭めるように調整する。第2の方法で量子化された距離の合計が第1の方法で量子化された合計よりも小さい場合は、第2の方法で量子化された距離の少なくとも1つを広げるように調整する。その結果、第2の方法で量子化された距離の合計が第1の方法で量子化された合計に等しくなり、位置調整後の文字や図形の形状および大きさを調整前と同じにすることができる。また、第2の方法で量子化された距離の逆転が起こらないため、表示デバイスに表示される文字または図形のバランスを保つことができる。
【0173】
本発明の文字図形表示装置によれば、第2の方法で量子化された距離として最低限必要な距離を示すフラグを考慮して、第2の方法で量子化された距離の少なくとも1つを調整する。したがって、第2の方法で量子化された距離は最低限必要な距離を保つことができる。その結果、文字または図形が潰れて表示デバイスに表示されることがなくなる。
【0174】
具体例として、文字「葦」を30ドットの大きさで表示する場合における、文字表示プログラム141の処理の手順を説明する。
【0175】
ステップS101:表示デバイス130に表示すべき文字「葦」を示す文字情報が、入力デバイス110を介して主メモリ122に入力される。入力された文字情報に応じて、CPU121は、補助記憶装置140に格納されている文字データ142を補充記憶装置140から読み込む。読み込まれた文字データ142は、図3に示される文字データ142である。文字データ142は、座標データを含む。
【0176】
ステップS102:CPU121は、表示デバイス130に出力する文字サイズ(30ドット)に合わせて、文字データ142が含む座標データをスケーリングし、スケーリングされた座標データを生成する。スケーリングされた座標データ(X,Y)は、((30−1)×X/255,(30−1)×Y/255)である。スケーリングされた座標データは、小数第2位まで計算される。
【0177】
図9は、スケーリング前の座標データとスケーリング後の座標データとを示す。
【0178】
ステップS103:CPU121は、スケーリングされた座標データをグリッドフィッティングし、グリッドフィッティングされた座標データを生成する。
【0179】
以下、ステップS103におけるグリッドフィティングの処理(プログラム141bの処理)の詳細をステップごとに説明する。
【0180】
ステップS201:CPU121は、Y軸方向のブロック番号1を有するストロークに対してブロックのY軸方向の処理を行う。
【0181】
以下、ステップS201における、ブロックのY軸方向の処理の詳細をステップごとに説明する。
【0182】
ステップS301:CPU121は、スケーリングされた座標データに基づいて、スケーリングされた基準点の座標値を生成する。CPU121は、この座標値に基づいて、スケーリングされた基準点間の距離を求める。基準点の間の距離は8つある。距離番号が距離Y1である1つ目の距離は2.73となる。距離番号が距離Y2である2つ目の距離は4.21となる。距離番号が距離Y3である3つ目の距離は3.64となる。距離番号が距離Y4である4つ目の距離は3.52となる。距離番号が距離Y5である5つ目の距離は3.64となる。距離番号が距離Y6である6つ目の距離は3.98となる。距離番号が距離Y7である7つ目の距離は3.87となる。距離番号が距離Y8である8つ目の距離は3.41となる。
【0183】
図10は、文字データをY軸方向にグリッドフィティングすることによって求められたデータを示す。
【0184】
これらの8つの距離は、図10の「距離」に示される。
【0185】
ステップS302:CPU121は、距離Y1〜Y8の距離の合計を求める。
距離の合計は、29.00である。CPU121は、距離の合計を四捨五入によって量子化する。四捨五入によって量子化された距離の合計は、29である。
【0186】
ステップS303:CPU121は、距離フラグを考慮して、距離Y1〜Y8の距離の各々を四捨五入によって量子化する。四捨五入によって量子化された距離の各々は、図10の「量子化」に示される。
【0187】
ステップS304:CPU121は、四捨五入によって量子化された距離の合計が四捨五入によって量子化された合計より小さいか否かを判定する。四捨五入で量子化された距離の合計が30で、四捨五入によって量子化された合計は29である。したがって、ステップS304の判定は「No」となり、処理は、ステップS306に進む。
【0188】
ステップS306:CPU121は、四捨五入によって量子化された距離の合計が四捨五入によって量子化された合計より大きいか否かを判定する。ステップS306の判定は「Yes」となり、処理は、ステップS307に進む。
【0189】
ステップS307:CPU121は、距離フラグの合計が四捨五入によって量子化された合計より大きいか否かを判定する。距離フラグの合計は14である。距離フラグの合計が四捨五入によって量子化された合計より大きくないので、ステップS307の判定は「No」となり、処理は、ステップS309に進む。
【0190】
ステップS309:CPU121は、四捨五入によって量子化された距離のうち、量子化誤差が一番大きかった距離を狭める。図10を参照すれば、距離Y4の量子化誤差が一番大きいので、距離Y4の距離が4から3に調整される。処理はステップS304に進む。
【0191】
ここで距離の合計は29となり、四捨五入によって量子化された合計と等しくなっている。したがって、処理は、ステップS304からステップS306を介してステップS310に進む。
【0192】
ステップS310:文字「葦」を構成するY軸方向のブロックの最大座標値とY軸方向のブロックの最小座標値とが決定される。Y軸方向のブロックの最大座標値は29である。Y軸方向のブロックの最小座標値は0である。
【0193】
ステップS311:グリッドフィティング処理後の基準点のY座標値を求める。距離Y1の距離が3であるので、距離Y1を決めている基準点のY座標値は29−3=26になる。同様に他の基準点も決定される。
【0194】
ステップS312:基準点以外のY座標値が決定される。図11は、グリッドフィッティング後の座標値を示す。
【0195】
Y軸方向のブロック番号1の処理が終了したため、処理は、ステップS202に進む。
【0196】
ステップS202:ステップS201を繰り返す回数(1回)がY軸方向のブロック番号の最大値(1)に等しいため、ブロックのY軸方向の処理が終わったと判断される。処理は、ステップS203に進む。
【0197】
ステップS203:X軸方向のブロック番号1の処理が行われる。上述したように、Y軸方向のブロック番号1の処理と同様の処理がなされる。図12は、文字データをX軸方向にグリッドフィティングすることによって求められたデータを示す。
【0198】
ステップS204:ステップS203を繰り返す回数(1回)がX軸方向のブロック番号の最大値(1)に等しいため、ブロックのX軸方向の処理が終わったと判断される。グリッドフィッティングの処理が終了する。
【0199】
ステップS104:描画データが生成される。
【0200】
ステップS105:CPU121は、ステップS104で生成された描画データを表示デバイス130に表示する。図13は、表示デバイスに表示された30ドットの大きさの文字「葦」を示す。
【0201】
具体例として、文字「葦」を14ドットの大きさで表示する場合における、文字表示プログラム141の処理の手順を説明する。
【0202】
ステップS101:表示デバイス130に表示すべき文字「葦」を示す文字情報が、入力デバイス110を介して主メモリ122に入力される。入力された文字情報に応じて、CPU121は、補助記憶装置140に格納されている文字データ142を補充記憶装置140から読み込む。読み込まれた文字データ142は、図3に示される文字データ142である。文字データ142は、座標データを含む。
【0203】
ステップS102:CPU121は、表示デバイス130に出力する文字サイズ(14ドット)に合わせて、文字データ142が含む座標データをスケーリングし、スケーリングされた座標データを生成する。スケーリングされた座標データ(X,Y)は、((14−1)×X/255,(14−1)×Y/255)である。スケーリングされた座標データは、小数第2位まで計算される。
【0204】
図14は、スケーリング前の座標データとスケーリング後の座標データとを示す。
【0205】
ステップS103:CPU121は、スケーリングされた座標データをグリッドフィッティングし、グリッドフィッティングされた座標データを生成する。
【0206】
以下、ステップS103におけるグリッドフィティングの処理(プログラム141bの処理)の詳細をステップごとに説明する。
【0207】
ステップS201:CPU121は、Y軸方向のブロック番号1を有するストロークに対してブロックのY軸方向の処理を行う。
【0208】
以下、ステップS201における、ブロックのY軸方向の処理の詳細をステップごとに説明する。
【0209】
ステップS301:CPU121は、スケーリングされた座標データに基づいて、スケーリングされた基準点の座標値を生成する。CPU121は、この座標値に基づいて、スケーリングされた基準点間の距離を求める。基準点の間の距離は8つある。距離番号が距離y1である1つ目の距離は1.22となる。距離番号が距離y2である2つ目の距離は1.89となる。距離番号が距離y3である3つ目の距離は1.63となる。距離番号が距離y4である4つ目の距離は1.58となる。距離番号が距離y5である5つ目の距離は1.63となる。距離番号が距離y6である6つ目の距離は1.79となる。距離番号が距離y7である7つ目の距離は1.73となる。距離番号が距離y8である8つ目の距離は1.53となる。
【0210】
図15は、文字データをY軸方向にグリッドフィティングすることによって求められたデータを示す。
【0211】
これらの8つの距離は、図15の「距離」に示される。
【0212】
ステップS302:CPU121は、距離y1〜y8の距離の合計を求める。
距離の合計は、13.00である。CPU121は、距離の合計を四捨五入によって量子化する。四捨五入によって量子化された距離の合計は、13である。
【0213】
ステップS303:CPU121は、距離フラグを考慮して、距離y1〜y8の距離の各々を四捨五入によって量子化する。四捨五入によって量子化された距離の各々は、図15の「量子化」に示される。
【0214】
ステップS304:CPU121は、四捨五入によって量子化された距離の合計が四捨五入によって量子化された合計より小さいか否かを判定する。四捨五入で量子化された距離の合計が13で、四捨五入によって量子化された合計は15である。したがって、ステップS304の判定は「No」となり、処理は、ステップS306に進む。
【0215】
ステップS306:CPU121は、四捨五入によって量子化された距離の合計が四捨五入によって量子化された合計より大きいか否かを判定する。ステップS306の判定は「Yes」となり、処理は、ステップS307に進む。
【0216】
ステップS307:CPU121は、距離フラグの合計が四捨五入によって量子化された合計より大きいか否かを判定する。距離フラグの合計は14である。距離フラグの合計が四捨五入によって量子化された合計より大きいので、ステップS307の判定は「Yes」となり、処理は、ステップS308に進む。
【0217】
ステップS308:省略フラグ1を考慮して、四捨五入によって量子化された距離y4を0にする。処理はステップS304に進む。
【0218】
ここで距離の合計は13となり、四捨五入によって量子化された合計と等しくなっている。したがって、処理は、ステップS304からステップS306を介してステップS310に進む。
【0219】
ステップS310:文字「葦」を構成するY軸方向のブロックの最大座標値とY軸方向のブロックの最小座標値とが決定される。Y軸方向のブロックの最大座標値は13である。Y軸方向のブロックの最小座標値は0である。
【0220】
ステップS311:グリッドフィティング処理後の基準点のY座標値を求める。距離y1の距離が1であるので、距離y1を決めている基準点のY座標値は13−1=12になる。同様に他の基準点も決定される。
【0221】
ステップS312:基準点以外のY座標値が決定される。図16は、グリッドフィッティング後の座標値を示す。
【0222】
Y軸方向のブロック番号1の処理が終了したため、処理は、ステップS202に進む。
【0223】
ステップS202:ステップS201を繰り返す回数(1回)がY軸方向のブロック番号の最大値(1)に等しいため、ブロックのY軸方向の処理が終わったと判断される。処理は、ステップS203に進む。
【0224】
ステップS203:X軸方向のブロック番号1の処理が行われる。上述したように、Y軸方向のブロック番号1の処理と同様の処理がなされる。図17は、文字データをX軸方向にグリッドフィティングすることによって求められたデータを示す。
【0225】
ステップS204:ステップS203を繰り返す回数(1回)がX軸方向のブロック番号の最大値(1)に等しいため、ブロックのX軸方向の処理が終わったと判断される。グリッドフィッティングの処理が終了する。
【0226】
ステップS104:描画データが生成される。
【0227】
ステップS105:CPU121は、ステップS104で生成された描画データを表示デバイス130に表示する。図18は、表示デバイスに表示された14ドットの大きさの文字「葦」を示す。
【0228】
【発明の効果】
本発明の文字図形表示装置によれば、第2の方法で量子化された距離の合計が第1の方法で量子化された合計に等しくなるように、第2の方法で量子化された距離の少なくとも1つが調整される。このように、第2の方法で量子化された距離の合計が第1の方法で量子化された合計よりも大きい場合は、第2の方法で量子化された距離の少なくとも1つを狭めるように調整する。第2の方法で量子化された距離の合計が第1の方法で量子化された合計よりも小さい場合は、第2の方法で量子化された距離の少なくとも1つを広げるように調整する。その結果、第2の方法で量子化された距離の合計が第1の方法で量子化された合計に等しくなり、位置調整後の文字や図形の形状および大きさを調整前と同じにすることができる。また、第2の方法で量子化された距離の逆転が起こらないため、表示デバイスに表示される文字または図形のバランスを保つことができる。
【0229】
本発明の文字図形表示装置によれば、第2の方法で量子化された距離として最低限必要な距離を示すフラグを考慮して、第2の方法で量子化された距離の少なくとも1つを調整する。したがって、第2の方法で量子化された距離は最低限必要な距離を保つことができる。その結果、文字または図形が潰れて表示デバイスに表示されることがなくなる。
【図面の簡単な説明】
【図1】本発明の実施の形態の文字表示装置100の構成を示す図である。
【図2】文字「葦」を構成するストロークを示す図である。
【図3】図2で示されたストロークから構成された文字「葦」の文字データ142を示す図である。
【図4】文字「明」の文字データを示す図である。
【図5】Y軸に沿った基準点間の距離と、X軸に沿った基準点間の距離とを示す図である。
【図6】文字表示プログラム141の処理手順を示すフローチャートである。
【図7】ステップS103におけるグリッドフィッティングの処理(プログラム141bの処理)の手順の詳細を説明するフローチャートである。
【図8】ステップS201およびステップS203における、ブロックの特定の軸方向の処理の詳細を説明するフローチャートである。
【図9】スケーリング前の座標データとスケーリング後の座標データとを示す図である。
【図10】文字データをY軸方向にグリッドフィティングすることによって求められたデータを示す図である。
【図11】グリッドフィッティング後の座標値を示す図である。
【図12】文字データをX軸方向にグリッドフィティングすることによって求められたデータを示す図である。
【図13】表示デバイスに表示された30ドットの大きさの文字「葦」を示す図である。
【図14】スケーリング前の座標データとスケーリング後の座標データとを示す図である。
【図15】文字データをY軸方向にグリッドフィティングすることによって求められたデータを示す図である。
【図16】グリッドフィッティング後の座標値を示す図である。
【図17】文字データをX軸方向にグリッドフィティングすることによって求められたデータを示す図である。
【図18】表示デバイスに表示された14ドットの大きさの文字「葦」を示す図である。
【図19】ストロークを示す座標値が四捨五入される前と四捨五入された後とのストロークを示す図である。
【図20】座標Cを示す図である。
【図21】座標Dと座標Eとを示す図である。
【図22】座標Fと座標Gとを示す図である。
【図23】座標Hと、座標Iと、座標Jとを示す図である。
【符号の説明】
100 文字表示装置
110 入力デバイス
120 制御部
121 CPU
122 主メモリ
130 表示デバイス
140 補助記憶装置
141 文字表示プログラム
142 文字データ
Claims (13)
- 文字または図形を表示する表示デバイスと、
前記表示デバイスを制御する制御部と
を備えた文字図形表示装置であって、
前記制御部は文字図形表示処理を実行し、
前記文字図形表示処理は、
(a)特定の軸に沿った基準点を含む文字または図形をスケーリングすることにより、スケーリングされた基準点を生成するステップと、
(b)前記スケーリングされた基準点間の距離の合計を第1の方法で量子化することにより、前記第1の方法で量子化された合計を生成するステップと、
(c)前記スケーリングされた基準点間の距離を第2の方法で量子化することにより、前記第2の方法で量子化された距離を生成するステップと、
(d)前記第2の方法で量子化された距離の合計が前記第1の方法で量子化された合計に等しくなるように、かつスケーリングされた隣接する基準点間の距離の大きさが、隣接する距離の間で大小逆転しないように、前記第2の方法で量子化された距離の少なくとも1つを、前記第2の方法での量子化の誤差に基づいて調整するステップと、
(e)前記調整された少なくとも1つの距離を伴う前記スケーリングされた基準点に基づいて、スケーリングされた文字または図形を表示するステップと
を包含する、文字図形表示装置。 - 前記第2の方法での量子化は、前記第2の方法で量子化された距離として最低限必要な距離を示すフラグに基づいて行われる、請求項1に記載の文字図形表示装置。
- 前記ステップ(d)は、前記第2の方法で量子化された距離として最低限必要な距離を示すフラグに基づいて行われる、請求項1に記載の文字図形表示装置。
- 前記ステップ(d)は、前記第2の方法で量子化された距離のうち、前記第2の方法での量子化の誤差が大きい距離を優先的に調整するステップを含む、請求項1に記載の文字図形表示装置。
- 前記ステップ(d)は、前記第2の方法で量子化された距離を広げるステップを含む、請求項1に記載の文字図形表示装置。
- 前記ステップ(d)は、前記第2の方法で量子化された距離を狭めるステップを含む、請求項1に記載の文字図形表示装置。
- 前記ステップ(d)は、前記第2の方法で量子化された距離を0にするステップを含む、請求項1に記載の文字図形表示装置。
- 前記ステップ(e)は、距離a/距離bの値が距離A/距離Bの値に最も近くなるように、スケーリングされた文字上の所定の点である第1の点を表示するステップを含み、
ここで、前記第1の点に対応し、スケーリングされる前の文字上の点である第2の点は、スケーリングされる前の基準点のうち、互いに隣接する第1の基準点と第2の基準点との間にあり、
距離Aは、前記第2の点と前記第1の基準点との間の距離であり、
距離Bは、前記第2の点と前記第2の基準点との間の距離であり、
距離aは、前記第1の点とスケーリングされた第1の基準点との間の距離であり、
距離bは、前記第1の点とスケーリングされた第2の基準点との間の距離である、請求項1に記載の文字図形表示装置。 - 前記文字は複数のブロックから構成されており、
前記文字図形表示処理は、前記ステップ(b)〜(d)を前記ブロック毎に実行するステップをさらに包含する、請求項1に記載の文字図形表示装置。 - 前記距離を0にするステップは、第2の方法で量子化された距離を0にする順位を示すフラグに基づいて行われる、請求項7に記載の文字図形表示装置。
- 特定の軸に沿った基準点を含む文字または図形をスケーリングすることにより、スケーリングされた基準点を生成するステップと、
前記スケーリングされた基準点間の距離の合計を第1の方法で量子化することにより、前記第1の方法で量子化された合計を生成するステップと、
前記スケーリングされた基準点間の距離を第2の方法で量子化することにより、前記第2の方法で量子化された距離を生成するステップと、
前記第2の方法で量子化された距離の合計が前記第1の方法で量子化された合計に等しくなるように、かつスケーリングされた隣接する基準点間の距離の大きさが、隣接する距離の間で大小逆転しないように、前記第2の方法で量子化された距離の少なくとも1つを、前記第2の方法での量子化の誤差に基づいて調整するステップと、
前記調整された少なくとも1つの距離を伴う前記スケーリングされた基準点に基づいて、スケーリングされた文字または図形を表示するステップと
を包含する、文字図形表示方法。 - 文字または図形を表示する表示デバイスと、前記表示デバイスを制御する制御部とを備えた文字図形表示装置に文字図形表示処理を実行させるためのプログラムであって、
前記文字図形表示処理は、
特定の軸に沿った基準点を含む文字または図形をスケーリングすることにより、スケーリングされた基準点を生成するステップと、
前記スケーリングされた基準点間の距離の合計を第1の方法で量子化することにより、前記第1の方法で量子化された合計を生成するステップと、
前記スケーリングされた基準点間の距離を第2の方法で量子化することにより、前記第2の方法で量子化された距離を生成するステップと、
前記第2の方法で量子化された距離の合計が前記第1の方法で量子化された合計に等しくなるように、かつスケーリングされた隣接する基準点間の距離の大きさが、隣接する距離の間で大小逆転しないように、前記第2の方法で量子化された距離の少なくとも1つを、前記第2の方法での量子化の誤差に基づいて調整するステップと、
前記調整された少なくとも1つの距離を伴う前記スケーリングされた基準点に基づいて、スケーリングされた文字または図形を表示するステップと
を包含する、プログラム。 - 文字または図形を表示する表示デバイスと、前記表示デバイスを制御する制御部とを備えた文字図形表示装置によって読み取り可能な記録媒体であって、
前記記録媒体は、
特定の軸に沿った基準点を含む文字または図形をスケーリングすることにより、スケーリングされた基準点を生成するステップと、
前記スケーリングされた基準点間の距離の合計を第1の方法で量子化することにより、前記第1の方法で量子化された合計を生成するステップと、
前記スケーリングされた基準点間の距離を第2の方法で量子化することにより、前記第2の方法で量子化された距離を生成するステップと、
前記第2の方法で量子化された距離の合計が前記第1の方法で量子化された合計に等しくなるように、かつスケーリングされた隣接する基準点間の距離の大きさが、隣接する距離の間で大小逆転しないように、前記第2の方法で量子化された距離の少なくとも1つを、前記第2の方法での量子化の誤差に基づいて調整するステップと、
前記調整された少なくとも1つの距離を伴う前記スケーリングされた基準点に基づいて、スケーリングされた文字または図形を表示するステップと
を包含する処理を前記制御部に実行させるためのプログラムを記録している、記録媒体。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003137918A JP4662412B2 (ja) | 2003-05-15 | 2003-05-15 | 文字図形表示装置、文字図形表示方法、プログラムおよび記録媒体 |
TW093113720A TWI261804B (en) | 2003-05-15 | 2004-05-14 | Character/graphic display apparatus, character/graphic display method, and recording medium |
US10/556,820 US20080062180A1 (en) | 2003-05-15 | 2004-05-14 | Character/Graphic Display Apparatus, Character/Graphic Display Method, Program, and Recording Medium |
EP04733180A EP1624442A1 (en) | 2003-05-15 | 2004-05-14 | Character graphic display device, character graphic display method, program, and recording medium |
CN200480016728A CN100578604C (zh) | 2003-05-15 | 2004-05-14 | 字符/图形显示装置、字符/图形显示方法 |
PCT/JP2004/006923 WO2004102524A1 (ja) | 2003-05-15 | 2004-05-14 | 文字図形表示装置、文字図形表示方法、プログラムおよび記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003137918A JP4662412B2 (ja) | 2003-05-15 | 2003-05-15 | 文字図形表示装置、文字図形表示方法、プログラムおよび記録媒体 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004341253A JP2004341253A (ja) | 2004-12-02 |
JP2004341253A5 JP2004341253A5 (ja) | 2007-01-11 |
JP4662412B2 true JP4662412B2 (ja) | 2011-03-30 |
Family
ID=33447276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003137918A Expired - Fee Related JP4662412B2 (ja) | 2003-05-15 | 2003-05-15 | 文字図形表示装置、文字図形表示方法、プログラムおよび記録媒体 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20080062180A1 (ja) |
EP (1) | EP1624442A1 (ja) |
JP (1) | JP4662412B2 (ja) |
CN (1) | CN100578604C (ja) |
TW (1) | TWI261804B (ja) |
WO (1) | WO2004102524A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3883554B2 (ja) * | 2005-01-19 | 2007-02-21 | シャープ株式会社 | 文字図形表示装置、プログラムおよび記録媒体 |
US7868888B2 (en) * | 2006-02-10 | 2011-01-11 | Adobe Systems Incorporated | Course grid aligned counters |
CN100498927C (zh) * | 2006-07-28 | 2009-06-10 | 中国科学院声学研究所 | 二维图形引擎中的点阵字符的缩进方法与中文处理方法 |
US8102397B2 (en) * | 2009-01-26 | 2012-01-24 | Mitsubishi Electric Research Laboratories Inc. | Method for improving uniform width character strokes using multiple alignment zones |
US8537173B2 (en) * | 2009-06-24 | 2013-09-17 | Panasonic Corporation | Graphics rendering apparatus, graphics rendering method, Recording medium having recorded therein graphics rendering program, and integrated circuit for rendering a high-quality image using a scaling coefficient |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2895512B2 (ja) * | 1989-07-05 | 1999-05-24 | 株式会社日立製作所 | 文字出力方式 |
JPH0392897A (ja) * | 1989-09-05 | 1991-04-18 | Nec Off Syst Ltd | パターン発生装置 |
JPH0493894A (ja) * | 1990-08-03 | 1992-03-26 | Canon Inc | 文字処理方法および装置 |
JP2618528B2 (ja) * | 1990-11-22 | 1997-06-11 | 株式会社日立製作所 | 文字描画装置と文字出力補正方法並びに文字出力装置 |
JP3057935B2 (ja) * | 1992-11-16 | 2000-07-04 | ブラザー工業株式会社 | 文字出力装置 |
JP3034140B2 (ja) * | 1992-12-07 | 2000-04-17 | 富士通株式会社 | 文字生成方法及びその装置 |
US5526476A (en) * | 1992-12-07 | 1996-06-11 | Fujitsu Limited | Method and apparatus for generating character patterns expressed by coordinates of a coordinate system |
JP3038691B2 (ja) * | 1992-12-07 | 2000-05-08 | 松下電器産業株式会社 | ウインドウ移動装置 |
JP2964841B2 (ja) * | 1993-07-15 | 1999-10-18 | ブラザー工業株式会社 | データ変換装置 |
JPH0736434A (ja) * | 1993-07-23 | 1995-02-07 | Hitachi Ltd | 文字出力装置 |
-
2003
- 2003-05-15 JP JP2003137918A patent/JP4662412B2/ja not_active Expired - Fee Related
-
2004
- 2004-05-14 TW TW093113720A patent/TWI261804B/zh not_active IP Right Cessation
- 2004-05-14 US US10/556,820 patent/US20080062180A1/en not_active Abandoned
- 2004-05-14 CN CN200480016728A patent/CN100578604C/zh not_active Expired - Fee Related
- 2004-05-14 WO PCT/JP2004/006923 patent/WO2004102524A1/ja active Application Filing
- 2004-05-14 EP EP04733180A patent/EP1624442A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
CN100578604C (zh) | 2010-01-06 |
TWI261804B (en) | 2006-09-11 |
CN1806276A (zh) | 2006-07-19 |
TW200509060A (en) | 2005-03-01 |
US20080062180A1 (en) | 2008-03-13 |
JP2004341253A (ja) | 2004-12-02 |
EP1624442A1 (en) | 2006-02-08 |
WO2004102524A1 (ja) | 2004-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3481136B2 (ja) | 文字フォント生成方法およびそのための装置ならびに文字フォント生成プログラムを記録したコンピュータで読取可能な記録媒体 | |
KR100677689B1 (ko) | 문자 화상 생성 장치, 문자 화상 생성 방법, 표시 제어 장치, 문자 화상 생성 프로그램 또는 표시 제어 프로그램을 기록한 컴퓨터로 판독가능한 기록 매체 | |
JP4866013B2 (ja) | 文字画像生成プログラム、そのシステム、及びその方法 | |
CN1702734B (zh) | 当对应轮廓缺少控制点时对图形对象的适当呈现 | |
JP4662412B2 (ja) | 文字図形表示装置、文字図形表示方法、プログラムおよび記録媒体 | |
JPH0540463A (ja) | 多階調文字発生装置 | |
JP2008054271A (ja) | 画像処理装置、及び、プログラム | |
JP4664169B2 (ja) | 図形描画装置及び図形描画プログラム | |
JP2005084516A (ja) | 画像表示装置、画像表示方法及び画像表示プログラム | |
JP2007240848A (ja) | 表示プログラム、データ構造及び表示装置 | |
WO2006051795A1 (ja) | 処理装置、プログラムおよび記録媒体 | |
EP0810549B1 (en) | Method and apparatus for halftoning process | |
JP2002116729A (ja) | データ変換方法、画像表示方法、画像処理装置、画像表示装置、画像表示システムおよび画像処理システム | |
JP3883554B2 (ja) | 文字図形表示装置、プログラムおよび記録媒体 | |
JP3815411B2 (ja) | フォント処理装置、端末装置、表示装置、フォント処理方法およびフォント処理プログラム | |
JP2006195229A (ja) | 文字図形表示装置、プログラムおよび記録媒体 | |
JP4726087B2 (ja) | データ処理装置、データ処理方法、電子情報機器、制御プログラムおよび可読記録媒体 | |
CN114927106A (zh) | 一种多灰阶像素图案生成方法、存储介质及计算机设备 | |
JP5197917B2 (ja) | データ表示装置およびデータ表示方法 | |
JP2009237429A (ja) | 電子機器およびその制御方法 | |
JP2003029959A (ja) | 3dグラフィックス処理装置 | |
JPH03278190A (ja) | 多角形塗りつぶし方式 | |
JP2004240125A (ja) | フォント圧縮装置、フォント伸張装置、フォント圧縮方法およびフォント圧縮プログラム | |
JP2009237428A (ja) | 電子機器およびその画像処理方法 | |
US20100061660A1 (en) | Display device and image resizing method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051031 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051031 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061120 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090911 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091106 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100901 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101129 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20101207 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20101228 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101228 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140114 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |