(57)【要約】【課題】文字または図形に含まれる線の幅、線の間隔を調整前後で所望の状態に保持すること。【解決手段】  本発明の文字図形表示装置は、複数の基準点を含む文字または図形をスケーリングすることによって、スケーリングされた基準点を生成し、前記スケーリングされた基準点の各基準点間毎の距離の幅を量子化することによって得られる距離の幅の合計が目標値に近づくように、前記スケーリングされた基準点の各基準点間毎の距離の幅を量子化したもののうち、特定の基準点間の距離の幅を調整し、前記調整された基準点に基づいて、スケーリングされた文字または図形を表示する。【選択図】  図１
2006201406.tif 000002
【特許請求の範囲】
【請求項１】
複数の基準点を含む文字または図形をスケーリングすることによって、スケーリングされた基準点を生成し、
前記スケーリングされた基準点の各基準点間毎の距離の幅を量子化することによって得られる距離の幅の合計が目標値に近づくように、前記スケーリングされた基準点の各基準点間毎の距離の幅を量子化したもののうち、特定の基準点間の距離の幅を調整し、
前記調整された基準点に基づいて、スケーリングされた文字または図形を表示する、文字図形表示装置。
【請求項２】
前記特定の基準点間の距離の幅のうち、少なくとも２つの距離の幅は、互いに異なる、請求項１に記載の文字図形表示装置。
【請求項３】
前記目標値は、前記スケーリングされた基準点のうち最大の値を有する最大基準点と最小の値を有する最小基準点との間の距離の幅を量子化したものである、請求項１記載の文字図形表示装置。
【請求項４】
複数の基準点を含む文字または図形をスケーリングすることによって、スケーリングされた基準点を生成する第１生成手段と、
前記スケーリングされた基準点のうち、最大の値を有する最大基準点と最小の値を有する最小基準点との間の距離を量子化することによって、目標値を生成する目標値生成手段と、
前記スケーリングされた基準点の各基準点間の距離の幅を量子化することによって、量子化された距離を生成する第２生成手段と、
前記第２生成手段で生成された距離の幅の合計が前記目標値に近づくように、量子化された各基準点間の距離の幅のうち少なくとも１つの距離の幅と他の少なくとも１つの距離の幅とが調整後に等しくなるように基準点間の距離の幅を調整する調整手段と、
前記調整された距離に合致するように再調整された基準点に基づいて、スケーリングされた文字または図形を表示する表示手段と
を備えた文字図形表示装置。
【請求項５】
前記調整手段は、前記スケーリングされた基準点間の距離に対して予め決められている情報、または前記基準点がスケーリングされた後に前記スケーリングされた基準点間の距離から算出された情報の何れかに基づいて、前記少なくとも１つの距離の幅と前記他の少なくとも１つの距離の幅とが同じになるように、前記少なくとも１つの距離の幅と前記他の少なくとも１つの距離の幅との何れか一方を調整する、請求項４に記載の文字図形表示装置。
【請求項６】
前記量子化された距離の幅の合計が前記目標値より大きいか否かを判定する第１判定手段をさらに備え、
前記調整手段は、
前記量子化された距離の幅の合計が前記目標値より小さいと判定された場合は、前記量子化された距離のうち、最大切り下げ幅を有する距離の幅と、前記最大切り下げ幅を有する距離の幅に等しいと規定された距離の幅とをすべて１だけ増加し、
前記量子化された距離の幅の合計が前記目標値より大きいと判定された場合は、前記量子化された距離のうち、前記最大切り上げ幅を有する距離の幅と、前記最大切り上げ幅を有する距離の幅に等しいと規定された距離の幅とをすべて１だけ減少する、請求項４に記載の文字図形表示装置。
【請求項７】
前記最大切り下げ幅を有する距離の幅に等しいと規定された距離の個数が、前記調整する幅より大きいか否かを判定する第２判定手段と、前記最大切り上げ幅を有する距離の幅に等しいと規定された距離の個数が、前記調整する幅より大きいか否かを判定する第３判定手段とのうちの少なくとも一方をさらに備え、
前記調整手段は、
前記量子化された距離の幅の合計が前記目標値より小さいと判定され、さらに、前記最大切り下げ幅を有する距離の幅に等しいと規定された距離の個数が、前記調整する幅より大きくないと判定された場合は、前記最大切り下げ幅を有する距離の幅に等しいと規定された距離の幅をすべて１だけ増加し、
前記量子化された距離の幅の合計が前記目標値より大きいと判定され、さらに、前記最大切り上げ幅を有する距離の幅に等しいと規定された距離の個数が、前記調整する幅より大きくないと判定された場合は、前記最大切り上げ幅を有する距離の幅に等しいと規定された距離の幅をすべて１だけ減少する、請求項６に記載の文字図形表示装置。
【請求項８】
前記調整手段は、前記スケーリングされた基準点を生成した後、前記量子化された基準点間の距離の幅のうち少なくとも１つの距離の幅を一度だけ増加または減少する、請求項６に記載の文字図形表示装置。
【請求項９】
前記最大基準点と前記最大基準点を前記第１の方法で量子化することによって生成された量子化後の最大基準点との第１量子化誤差が、前記最小基準点と前記最小基準点を前記第１の方法で量子化することによって生成された量子化後の最小基準点との第２量子化誤差よりも大きいか否かを判定する第３判定手段をさらに備え、
前記表示手段は、
前記第１量子化誤差が第２量子化誤差よりも小さいと判定された場合には、前記量子化後の最大基準点を前記表示される文字または図形の基準座標値とし、
前記第１量子化誤差が第２量子化誤差よりも大きいと判定された場合には、前記量子化後の最小基準点を前記表示される文字または図形の基準座標値とする、請求項１から請求項８のいずれかに記載の文字図形表示装置。
【請求項１０】
コンピュータに文字図形表示処理を実行させるためのプログラムであって、
前記文字図形表示処理は、
複数の基準点を含む文字または図形をスケーリングすることによって、スケーリングされた基準点を生成する第１生成ステップと、
前記スケーリングされた基準点のうち、最大の値を有する最大基準点と最小の値を有する最小基準点との間の距離を量子化することによって、目標値を生成する目標値生成ステップと、
前記スケーリングされた基準点の各基準点間の距離の幅を量子化することによって、量子化された距離を生成する第２生成ステップと、
前記第２生成手段で生成された距離の幅の合計が前記目標値に近づくように、量子化された各基準点間の距離の幅のうち少なくとも１つの距離の幅と他の少なくとも１つの距離の幅とが調整後に等しくなるように基準点間の距離の幅を調整する調整ステップと、
前記調整された距離に合致するように再調整された基準点に基づいて、スケーリングされた文字または図形を表示する表示ステップと
を包含する、プログラム。
【請求項１１】
コンピュータによって読み取り可能な記録媒体であって、
前記記録媒体には、前記コンピュータに文字図形表示処理を実行させるためのプログラムが記録されており、
前記文字図形表示処理は、
複数の基準点を含む文字または図形をスケーリングすることによって、スケーリングされた基準点を生成する第１生成ステップと、
前記スケーリングされた基準点のうち、最大の値を有する最大基準点と最小の値を有する最小基準点との間の距離を量子化することによって、目標値を生成する目標値生成ステップと、
前記スケーリングされた基準点の各基準点間の距離の幅を量子化することによって、量子化された距離を生成する第２生成ステップと、
前記第２生成手段で生成された距離の幅の合計が前記目標値に近づくように、量子化された各基準点間の距離の幅のうち少なくとも１つの距離の幅と他の少なくとも１つの距離の幅とが調整後に等しくなるように基準点間の距離の幅を調整する調整ステップと、
前記調整された距離に合致するように再調整された基準点に基づいて、スケーリングされた文字または図形を表示する表示ステップと
を包含する、記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スケーリングされた文字または図形を表示する文字図形表示装置、プログラムおよび記録媒体に関する。
【背景技術】
【０００２】
文字を表示するための文字データには、例えば、ビットマップデータとベクトルデータとがある。
【０００３】
ビットマップデータは、文字の形状および文字の大きさに応じた固定の座標値を含む。固定の座標値をカラー液晶表示デバイス等の表示デバイスに出力することによって、表示デバイスに、文字を表示することができる。しかし、ビットマップデータは、文字の大きさに応じて固定されている。したがって、ビットマップデータは、必要とされる文字の大きさごとに用意されなければならない。
【０００４】
ベクトルデータには、例えば、文字のアウトラインを示すデータや文字を構成するストロークを示すデータが含まれる。ベクトルデータをカラー液晶表示デバイス等の表示デバイスに出力する場合には、表示デバイスに表示する文字の大きさに応じて、ベクトルデータをスケーリングしなければならない。ベクトルデータをスケーリングすることにより、必要とされる文字の大きさが多種類であったとしても、必要とされるベクトルデータは、一種類でよい。ベクトルデータは、文字の大きさに応じて固定されていないからである。したがって、必要とされる文字の大きさが多種類の場合でも、文字データを記憶するための記憶装置の容量は少なくてもよい。
【０００５】
しかしながら、ベクトルデータによれば、ベクトルデータをスケーリングした後に、スケーリングされたベクトルデータを所定の方法（例えば、四捨五入）で量子化することによって、量子化誤差が生じる。量子化誤差とは、所定の方法で量子化される前の数と所定の方法で量子化された後の数との差である。例えば、四捨五入される前の数４．６と四捨五入された後の数５との差は、０．４である。この場合、量子化誤差は、０．４である。
【０００６】
図２０は、文字「日」を示すベクトルデータをスケーリングすることによって生成されたスケーリングデータを１６ドット×１６ドットで表示した例を示す。文字「日」の横の線幅Ｗ１０、Ｗ２０、Ｗ３０は、全て同じ太さを有している。さらに、文字「日」の線と線との間隔Ｈ１０、Ｈ２０は、全て同じ間隔である。
【０００７】
図２１は、スケーリングされたベクトルデータを四捨五入で量子化することによって生成された量子化データを１６ドット×１６ドットで表示した例を示す。
【０００８】
スケーリングデータを量子化することによって、間隔Ｈ１０、Ｈ２０は、間隔Ｈ１１、Ｈ２１に変更され、線幅Ｗ１０、Ｗ２０、Ｗ３０は、線幅Ｗ１１、Ｗ２１、Ｗ３１に変更される。Ｈ１１＝Ｈ２１であるものの、量子化誤差が生じた結果、Ｗ１１＝Ｗ３１≠Ｗ２１となる。
【０００９】
特許文献１は、スケーリング前のベクトルデータによって示された複数の線の幅に基づいてスケーリング後のベクトルデータによって示された複数の線の幅を求める技術を開示する。特許文献１に開示の技術によれば、スケーリング前のベクトルデータによって示された複数の線の幅が同じ場合には、スケーリング後のベクトルデータによって示された複数の線の幅も同じになるように、スケーリング後のベクトルデータが補正される。しかし、この技術によれば、補正後の線幅Ｗ１２、Ｗ２２、Ｗ３２は、同じになる（Ｗ１２＝Ｗ２２＝Ｗ３２）。しかし、線と線との間隔Ｈ１２、Ｈ２２は、異なってしまう（図２２参照）。
【００１０】
特許文献２は、線幅のみならず、線と線との間隔をも本来得られる値になるように補正する技術を開示する。本来得られる複数の線幅は同じであるため、補正後の線幅Ｗ１３、Ｗ２３、Ｗ３３が同じになるように補正する（Ｗ１３＝Ｗ２３＝Ｗ３３）。さらに、本来得られる複数の線の間隔は同じであるため、補正後の間隔Ｈ１３、Ｈ２３も同じになるように補正する（図２３参照）。
【特許文献１】特開平２−２３１１６６号公報
【特許文献２】特開平４−２５７８９３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかし、特許文献２に記載の技術は、線幅および線間隔が本来得られる値になるように輪郭を移動するために、１６ドット×１６ドットで表示し得なくなる場合が生じる。量子化誤差が累積するからである。
【００１２】
図２４は、文字「日」を示すベクトルデータを２５６ドット×２５６ドットで表示した例を示す。線幅Ｗ１４、Ｗ２４、Ｗ３４は、全て同じであるが、線間隔Ｈ１４とＨ２４とは異なっている。
【００１３】
図２５は、特許文献２に記載の技術によって、本来得られる値になるように輪郭を移動するように補正された例を示す。補正後の線幅Ｗ１５、Ｗ２５、Ｗ３５を全て同じにし、かつ、補正後の線間隔Ｈ１５、Ｈ２５を異なるように輪郭を移動した結果、１６ドット×１６ドットで表示し得なくなる。
【００１４】
本発明は、上記課題を解決するためになされたものであり、文字および図形に含まれる線の幅、線の間隔を調整前後で所望の状態に保持することができる文字図形表示装置、プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明の文字図形表示装置は、複数の基準点を含む文字または図形をスケーリングすることによって、スケーリングされた基準点を生成し、前記スケーリングされた基準点の各基準点間毎の距離の幅を量子化することによって得られる距離の幅の合計が目標値に近づくように、前記スケーリングされた基準点の各基準点間毎の距離の幅を量子化したもののうち、特定の基準点間の距離の幅を調整し、前記調整された基準点に基づいて、スケーリングされた文字または図形を表示し、これにより、上記目的が達成される。
【００１６】
さらに、前記特定の基準点間の距離の幅のうち、少なくとも２つの距離の幅は、互いに異なってよい。
【００１７】
さらに、前記目標値は、前記スケーリングされた基準点のうち最大の値を有する最大基準点と最小の値を有する最小基準点との間の距離の幅を量子化したものでよい。
【００１８】
また、本発明の文字図形表示装置は、複数の基準点を含む文字または図形をスケーリングすることによって、スケーリングされた基準点を生成する第１生成手段と、前記スケーリングされた基準点のうち、最大の値を有する最大基準点と最小の値を有する最小基準点との間の距離を量子化することによって、目標値を生成する目標値生成手段と、前記スケーリングされた基準点の各基準点間の距離の幅を量子化することによって、量子化された距離を生成する第２生成手段と、前記第２生成手段で生成された距離の幅の合計が前記目標値に近づくように、量子化された各基準点間の距離の幅のうち少なくとも１つの距離の幅と他の少なくとも１つの距離の幅とが調整後に等しくなるように基準点間の距離の幅を調整する調整手段と、前記調整された距離に合致するように再調整された基準点に基づいて、スケーリングされた文字または図形を表示する表示手段とを備え、これにより、上記目的が達成される。
【００１９】
さらに、前記調整手段は、前記スケーリングされた基準点間の距離に対して予め決められている情報、または前記基準点がスケーリングされた後に前記スケーリングされた基準点間の距離から算出された情報の何れかに基づいて、前記少なくとも１つの距離の幅と前記他の少なくとも１つの距離の幅とが同じになるように、前記少なくとも１つの距離の幅と前記他の少なくとも１つの距離の幅との何れか一方を調整してもよい。
【００２０】
さらに、前記量子化された距離の幅の合計が前記目標値より大きいか否かを判定する第１判定手段をさらに備え、前記調整手段は、前記量子化された距離の幅の合計が前記目標値より小さいと判定された場合は、前記量子化された距離のうち、最大切り下げ幅を有する距離の幅と、前記最大切り下げ幅を有する距離の幅に等しいと規定された距離の幅とをすべて１だけ増加し、前記量子化された距離の幅の合計が前記目標値より大きいと判定された場合は、前記量子化された距離のうち、前記最大切り上げ幅を有する距離の幅と、前記最大切り上げ幅を有する距離の幅に等しいと規定された距離の幅とをすべて１だけ減少してもよい。
【００２１】
さらに、前記最大切り下げ幅を有する距離の幅に等しいと規定された距離の個数が、前記調整する幅より大きいか否かを判定する第２判定手段と、前記最大切り上げ幅を有する距離の幅に等しいと規定された距離の個数が、前記調整する幅より大きいか否かを判定する第３判定手段とのうちの少なくとも一方をさらに備え、前記調整手段は、前記量子化された距離の幅の合計が前記目標値より小さいと判定され、さらに、前記最大切り下げ幅を有する距離の幅に等しいと規定された距離の個数が、前記調整する幅より大きくないと判定された場合は、前記最大切り下げ幅を有する距離の幅に等しいと規定された距離の幅をすべて１だけ増加し、前記量子化された距離の幅の合計が前記目標値より大きいと判定され、さらに、前記最大切り上げ幅を有する距離の幅に等しいと規定された距離の個数が、前記調整する幅より大きくないと判定された場合は、前記最大切り上げ幅を有する距離の幅に等しいと規定された距離の幅をすべて１だけ減少してもよい。
【００２２】
さらに、前記調整手段は、前記スケーリングされた基準点を生成した後、前記量子化された基準点間の距離の幅のうち少なくとも１つの距離の幅を一度だけ増加または減少してもよい。
【００２３】
さらに、前記最大基準点と前記最大基準点を前記第１の方法で量子化することによって生成された量子化後の最大基準点との第１量子化誤差が、前記最小基準点と前記最小基準点を前記第１の方法で量子化することによって生成された量子化後の最小基準点との第２量子化誤差よりも大きいか否かを判定する第３判定手段をさらに備え、前記表示手段は、前記第１量子化誤差が第２量子化誤差よりも小さいと判定された場合には、前記量子化後の最大基準点を前記表示される文字または図形の基準座標値とし、前記第１量子化誤差が第２量子化誤差よりも大きいと判定された場合には、前記量子化後の最小基準点を前記表示される文字または図形の基準座標値としてもよい。
【００２４】
また、本発明のプログラムは、コンピュータに文字図形表示処理を実行させるためのプログラムであって、前記文字図形表示処理は、複数の基準点を含む文字または図形をスケーリングすることによって、スケーリングされた基準点を生成する第１生成ステップと、前記スケーリングされた基準点のうち、最大の値を有する最大基準点と最小の値を有する最小基準点との間の距離を量子化することによって、目標値を生成する目標値生成ステップと、前記スケーリングされた基準点の各基準点間の距離の幅を量子化することによって、量子化された距離を生成する第２生成ステップと、前記第２生成手段で生成された距離の幅の合計が前記目標値に近づくように、量子化された各基準点間の距離の幅のうち少なくとも１つの距離の幅と他の少なくとも１つの距離の幅とが調整後に等しくなるように基準点間の距離の幅を調整する調整ステップと、前記調整された距離に合致するように再調整された基準点に基づいて、スケーリングされた文字または図形を表示する表示ステップとを包含し、これにより、上記目的が達成される。
【００２５】
また、本発明の記録媒体は、コンピュータによって読み取り可能な記録媒体であって、前記記録媒体には、前記コンピュータに文字図形表示処理を実行させるためのプログラムが記録されており、前記文字図形表示処理は、複数の基準点を含む文字または図形をスケーリングすることによって、スケーリングされた基準点を生成する第１生成ステップと、前記スケーリングされた基準点のうち、最大の値を有する最大基準点と最小の値を有する最小基準点との間の距離を量子化することによって、目標値を生成する目標値生成ステップと、前記スケーリングされた基準点の各基準点間の距離の幅を量子化することによって、量子化された距離を生成する第２生成ステップと、前記第２生成手段で生成された距離の幅の合計が前記目標値に近づくように、量子化された各基準点間の距離の幅のうち少なくとも１つの距離の幅と他の少なくとも１つの距離の幅とが調整後に等しくなるように基準点間の距離の幅を調整する調整ステップと、前記調整された距離に合致するように再調整された基準点に基づいて、スケーリングされた文字または図形を表示する表示ステップとを包含し、これにより、上記目的が達成される。
【発明の効果】
【００２６】
本発明の文字図形表示装置、プログラムおよび記録媒体によれば、量子化された距離の幅の合計が目標値に近づくように、基準点間の距離の幅を調整する。この場合には、量子化された各基準点間の距離の幅のうち少なくとも１つの距離の幅と他の少なくとも１つの距離の幅とが調整後に等しくなるように、基準点間の距離の幅を調整する。従って、少なくとも１つの距離の幅と他の少なくとも１つの距離の幅とが異なった距離の幅に変更されることを防ぐことができる。その結果、文字または図形に含まれる線の幅、線の間隔を調整前後で所望の状態に保持することができる。
【発明を実施するための最良の形態】
【００２７】
以下、図面を参照しながら本発明の実施の形態を説明する。
【００２８】
図１は、本発明の実施の形態の文字表示装置１００の構成を示す。
【００２９】
文字表示装置１００は、例えば、パーソナルコンピュータであり得る。パーソナルコンピュータとしては、デスクトップ型またはラップトップ型などの任意のタイプのコンピュータが使用され得る。あるいは、文字表示装置１００は、ワードプロセッサであってもよい。
【００３０】
さらに、文字表示装置１００は、カラー表示が可能な表示デバイスを備えた電子機器や情報機器などの任意の情報表示装置であり得る。例えば、文字表示装置１００は、カラー液晶表示デバイスを備えた電子機器や、携帯情報ツールである携帯情報端末や、ＰＨＳを含む携帯電話機や、一般の電話機／ＦＡＸなどの通信機器などであってもよい。
【００３１】
文字表示装置１００は、入力デバイス１１０と、文字を表示する表示デバイス１３０と、表示デバイスを制御する制御部１２０と、補助記憶装置１４０とを含む。制御部１２０には、入力デバイス１１０と、表示デバイス１３０と、補助記憶装置１４０とが接続されている。
【００３２】
入力デバイス１１０は、表示デバイス１３０に表示すべき文字を示す文字情報を制御部１２０に入力するために使用される。文字情報は、例えば、文字を識別する文字コードと文字の大きさを示すサイズ情報とを含む。入力デバイス１１０としては、文字コードとサイズ情報とを入力することが可能な任意のタイプの入力デバイスが使用され得る。例えば、キーボードやマウスやペン入力装置などの入力デバイスが入力デバイス１１０として好適に使用され得る。
【００３３】
文字表示装置１００が携帯電話である場合には、通信先の電話番号を指定するための数字キーが、文字コードまたはサイズ情報を入力するために用いられてもよい。文字表示装置１００が、インターネットを含む電話通信回線に文字表示装置１００を接続するための手段を備えている場合には、その電話通信回線から受信した電子メールに含まれるメッセージが表示デバイス１３０に表示されてもよい。文字表示装置１００が、インターネットを含む電話通信回線に文字表示装置１００を接続するための手段を備えている場合には、その通信回線に接続するための手段が、入力デバイス１１０として機能する。
【００３４】
補助記憶装置１４０には、文字表示プログラム１４１と、文字表示プログラム1４１を実行するために必要な文字データ１４２とが格納されている。文字データ１４２は、座標データと基準点間データとを含む。座標データと基準点間データとの詳細は後述される。
【００３５】
文字表示プログラム１４１は、表示デバイスに出力する文字サイズに合うように文字データ１４２によって含まれる座標データをスケーリングし、スケーリングされた座標データを生成するスケーリングプログラム１４１ａと、スケーリングされた座標データをグリッドフィッティングし、グリットフィッティングされた座標データを生成するグリッドフィッティングプログラム１４１ｂと、グリッドフィッティングされた座標データを表示デバイスに表示可能になるように描画データを生成する描画データ生成プログラム１４１ｃと同一距離フラグ取得プログラム１４１ｄとを含む。
【００３６】
プログラム１４１ａ〜１４１ｄの機能の詳細は、後述される。
【００３７】
文字データ１４２は、例えば、ベクトルデータである。本実施の形態では、ベクトルデータは２５６メッシュの解像度をもっている。しかし、ベクトルデータの解像度は、２５６メッシュに限らない。３２メッシュでもよい。１４メッシュでもよい。
【００３８】
補助記憶装置１４０としては、文字表示プログラム１４１および文字データ１４２を格納することが可能な任意のタイプの記憶装置が使用され得る。補助記憶装置１４０において、文字表示プログラム１４１および文字データ１４２を格納する記録媒体としては、任意の記録媒体が使用され得る。例えば、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＭＤ、ＤＶＤ、ＩＣカード、光カードなどの記録媒体が好適に使用され得る。
【００３９】
なお、文字表示プログラム１４１および文字データ１４２は、補助記憶装置１４０によって含まれる記録媒体に格納されることに限定されない。例えば、文字表示プログラム１４１および文字データ１４２は、制御部１２０に含まれる主メモリ１２２に格納されてもよいし、ＲＯＭ（図示せず）に格納されてもよい。ＲＯＭは、例えば、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュＲＯＭなどであり得る。このＲＯＭ方式の場合には、そのＲＯＭを交換するだけでいろいろな処理のバリエーションを容易に実現することかできる。例えば、ＲＯＭ方式は、文字表示装置１００が携帯型の端末装置または携帯電話機である場合に好適に適用され得る。
【００４０】
さらに、文字表示装置１００が、インターネットを含む電話通信回線に文字表示装置１００を接続するための手段を備えている場合には、その電話通信回線から文字表示プログラム１４１および文字データ１４２の少なくとも一部をダウンロードすることができる。この場合、ダウンロードに必要なローダープログラムは、ＲＯＭ（図示せず）に予め格納されていてもよいし、補助記憶装置１４０から制御部１２０にインストールされてもよい。
【００４１】
制御部１２０は、ＣＰＵ１２１と主メモリ１２２とを含む。
【００４２】
ＣＰＵ１２１は、文字表示装置１００の全体を制御および監視するとともに、補助記憶装置１４０に格納されている文字表示プログラム１４１を実行する。
【００４３】
主メモリ１２２は、入力デバイス１１０から主メモリ１２２に入力されたデータや、表示デバイス１３０に表示するためのデータや、文字表示プログラム１４１を実行するのに必要なデータを一時的に格納する。主メモリ１２２は、ＣＰＵ１２１によって制御される。
【００４４】
ＣＰＵ１２１は、主メモリ１２２に格納された各種のデータに基づいて文字表示プログラム１４１を実行することにより、描画データを生成する。生成された描画データは、主メモリ１２２に一旦格納された後、表示デバイス１３０に出力される。描画データが表示デバイス１３０に出力されるタイミングは、ＣＰＵ１２１によって制御される。
【００４５】
表示デバイス１３０は、例えば、カラー液晶表示デバイスである。カラー液晶表示デバイスとしては、パソコンなどに多く用いられている透過型の液晶表示デバイスのほか、反射型やリアプロ型の液晶表示デバイスが使用され得る。しかし、表示デバイス１３０は、カラー液晶表示デバイスに限定されない。表示デバイス１３０は、白黒の表示デバイスであり得る。さらに、表示デバイス１３０として、Ｘ方向およびＹ方向に配列された複数のピクセルを有する任意のカラー表示装置（いわゆるＸＹマトリクス表示装置）が使用され得る。
【００４６】
図２は、２５６×２５６メッシュで表示されたアウトラインフォントの文字「中」を示す。ベクトルデータは、アウトラインフォントを示すデータと骨格フォントを示すデータとを含む。ベクトルデータのうちアウトラインフォントを示すデータを対象として、本発明の実施の形態を説明をする。但し、本発明は、骨格フォント（ストロークフォント）を示すデータにも適用可能である。
【００４７】
文字「中」は、輪郭１、輪郭２および輪郭３を持つ（図２参照）。輪郭１は、点Ｐ１と点Ｐ２とを結び、点Ｐ２と点Ｐ３とを結び、点Ｐ３と点Ｐ４とを結び、点Ｐ４と点Ｐ５とを結び、点Ｐ５と点Ｐ６とを結び、点Ｐ６と点Ｐ７とを結び、点Ｐ７と点Ｐ８とを結び、点Ｐ８と点Ｐ９とを結び、点Ｐ９と点Ｐ１０とを結び、点Ｐ１０と点Ｐ１１とを結び、点Ｐ１１と点Ｐ１２とを結び、さらに点Ｐ１２と点Ｐ１とを結ぶことによって表現される。輪郭２は、点Ｐ１３と点Ｐ１４とを結び、点Ｐ１４と点Ｐ１５とを結び、点Ｐ１５と点Ｐ１６とを結び、さらに点Ｐ１６と点Ｐ１３とを結ぶことによって表現される。輪郭３は、点Ｐ１７と点Ｐ１８とを結び、点Ｐ１８と点Ｐ１９とを結び、点Ｐ１９と点Ｐ２０とを結び、さらに点Ｐ２０と点Ｐ１７とを結ぶことによって表現される。
【００４８】
更に、図２は、Ｘ軸に沿った基準点間の距離と、Ｙ軸に沿った基準点間の距離とを示す。Ｘ軸に沿った基準点間の距離は、５つである。この５つの距離は、距離Ｘ１〜距離Ｘ５で示される。Ｙ軸に沿った基準点間の距離は、５つである。この５つの距離は、距離Ｙ１〜距離Ｙ５で示される。
【００４９】
図３は、図２に示された文字「中」の文字データ１４２に含まれる座標データを示す。座標データは、輪郭１〜輪郭３を表現する点Ｐ１〜点Ｐ２０の座標値を示す。
【００５０】
「座標番号」は、輪郭１〜輪郭３を表現する点を示す。具体的には、「座標番号」は、Ｐ１からＰ２０を示す。 
【００５１】
「Ｘ座標」は、点のＸ座標成分を示す。例えば、「Ｘ座標」は、点Ｐ１のＸ座標成分「１４３」を示す。
【００５２】
「Ｙ座標」は、点のＹ座標成分を示す。例えば、「Ｙ座標」は、点Ｐ１のＹ座標成分「２４０」を示す。
【００５３】
図４は、図２に示された文字「中」の文字データ１４２に含まれる基準点間データを示す。
【００５４】
基準点は、文字をスケーリングする際、文字の各部をバランスよく保ってスケーリングする計算の拠点となるもので、文字毎に予め適宜決められるものである。この基準点は文字を構成するブロック内に含まれる。基準点は、文字の輪郭のうちＸ軸方向に沿って設定されだけでなく、Ｙ軸方向に沿っても設定され得る。また、基準点は、必ずしも、文字の輪郭上に設定される必要はなく、例えば、文字の輪郭の間の空白の場所にあってもよい。
【００５５】
この発明は、文字のフォントのタイプに依存せず、例えばストロークフォントであっても、上に説明したアウトラインフォントの場合と同様に適用できる。ストロークフォントの場合にも同様に、基準点は文字を構成するストローク上にあっても良いし、ストローク間の空白の場所にあっても良い。
【００５６】
図４ａは、Ｘ軸方向の基準点間データを示す。
【００５７】
「Ｘ軸方向」は、文字「中」を構成する輪郭１〜輪郭３のうちＸ軸方向に沿って設定された複数の基準点の間を示す。具体的には、これらの基準点の間は、距離Ｘ１〜距離Ｘ５である。
【００５８】
「開始」は、基準点間の開始位置のＸ座標成分を示す。例えば、距離Ｘ１の開始位置のＸ座標成分は「２５」である。
【００５９】
「距離」は、基準点間のＸ軸方向の距離を示す。例えば、距離Ｘ１のＸ軸方向の距離は「３２」である。
【００６０】
「同一距離フラグ」は、複数の基準点間の距離のうち、調整後に同じ大きさにする基準点間をグループとして示すフラグである。同じ値の「同一距離フラグ」を持つ対象は全て調整後には同じ大きさの距離に調整される。
【００６１】
例えば、図４ａでは、値「１」によって示される「同一距離フラグ」は、距離Ｘ１〜距離Ｘ５のうち、距離Ｘ１と、距離Ｘ３と、距離Ｘ５とが同一の大きさに調整されることを示す。同様に、値「２」によって示される「同一距離フラグ」は、距離Ｘ１〜距離Ｘ５のうち、距離Ｘ２と、距離Ｘ４とが同一の大きさに調整されることを示す。
【００６２】
このように、「同一距離フラグ」によれば、複数の距離の幅のうち、少なくとも１つの距離の幅と、この少なくとも１つの距離の幅に等しいと規定された他の少なくとも１つの距離の幅とを示すことができる。
【００６３】
「距離フラグ」は、Ｘ軸に沿った基準点間の距離として最低限必要な距離を有するか否かを示す。さらに、距離フラグは、基準点間の距離として最低限必要な距離がいくらであるかも示す。例えば、距離フラグが×である場合は、基準点間が、最低限必要な距離の幅を有しないことを示す。例えば、距離フラグが、数「Ｍ」である場合には、基準点間が、最低限必要な距離の幅「Ｍ」を有することを示す。例えば、図４ａでは、距離Ｘ１の距離フラグの数が「１」を示しており、距離Ｘ１は、最低限必要な距離の幅「１」を有する。
【００６４】
「省略フラグ」は、Ｘ軸に沿った基準点間の距離をグリッドフィッティングにより調整する際に、調整する距離を０にできるか否かを示す。さらに、省略フラグは、調整する距離の幅を０にできる場合には、調整する距離の幅を０にする順番を示す。
【００６５】
例えば、省略フラグが「×」である場合には、調整する距離の幅を０にすることができないことを示す。例えば、省略フラグが、整数「Ｎ」である場合は、調整する距離の幅を０にできることを示す。さらに、省略フラグが整数「Ｎ」である場合は、調整する距離の幅を０にする順番がＮ番目であることを示す。例えば、図４ａでは、距離Ｘ１の省略フラグが「×」であり、距離Ｘ１は調整する距離の幅を０にすることができないことを示す。
【００６６】
図４ｂは、Ｙ軸方向の基準点間データを示す。
【００６７】
「Ｙ軸方向」は、文字「中」を構成する輪郭１〜輪郭３のうちＹ軸方向に沿って設定された複数の基準点の間を示す。具体的には、この基準点の間は、距離Ｙ１〜距離Ｙ５である。
【００６８】
「開始」は、基準点間の開始位置のＹ座標成分を示す。例えば、距離Ｙ１の開始位置のＹ座標成分は「１６」である。
【００６９】
「距離」は、基準点間のＹ軸方向の距離を示す。例えば、距離Ｙ１のＹ軸方向の距離は「８０」である。
【００７０】
「同一距離フラグ」は、上述のように、複数の距離の幅のうち、少なくとも１つの距離と、この少なくとも１つの距離と同一の大きさに調整される他の少なくとも１つの距離の幅とを示す。例えば、値「１」によって示される「同一距離フラグ」は、距離Ｙ１〜距離Ｙ５のうち、距離Ｙ２と、距離Ｙ４とが同一の大きさに調整されることを示す。例えば、値「×」によって示される「同一距離フラグ」が付された距離の幅は、距離Ｙ１〜距離Ｙ５のうち、同一の大きさに調整される距離の幅がないことを示す。「同一距離フラグ」によれば、複数の距離の幅のうち、少なくとも１つの距離の幅と、この少なくとも１つの距離の幅に等しいと規定された他の少なくとも１つの距離の幅とを示すことができる。
【００７１】
「距離フラグ」は、Ｙ軸に沿った基準点間の距離の幅として最低限必要な距離の幅を有するか否かを示す。さらに、距離フラグは、基準点間の距離の幅として最低限必要な距離の幅がいくらであるかも示す。例えば、図４ｂでは、距離Ｙ１の距離フラグが「１」であり、距離Ｙ１が、最低限必要な距離の幅「１」を有することを示す。
【００７２】
「省略フラグ」は、Ｙ軸に沿った基準点間の距離をグリッドフィッティングにより調整する際に、調整する距離の幅を０にできるか否かを示す。さらに、省略フラグは、調整する距離の幅を０にできる場合には、調整する距離の幅を０にする順番を示す。例えば、図４ｂでは距離Ｙ１の省略フラグ「Ｘ」であり、距離Ｙ１は調整する距離の幅を０にすることができないことを示す。
【００７３】
図５は、２５６×２５６メッシュで表示されたアウトラインフォントの文字「晶」を示す。文字「晶」は、輪郭１〜輪郭９を含む。
【００７４】
更に、図５は、Ｘ軸に沿った基準点間の距離の幅と、Ｙ軸に沿った基準点間の距離の幅とを示す。Ｘ軸に沿った基準点間の距離の数は、１１である。これらの１１の距離の幅は、距離Ｘ１〜距離Ｘ１１で示される。Ｙ軸に沿った基準点間の距離の数は、１１である。これらの１１の距離の幅は、距離Ｙ１〜距離Ｙ１１で示される。
【００７５】
図６は、図５に示された文字「晶」の文字データ１４２に含まれる座標データを示す。座標データは、輪郭１〜輪郭９を表現する点Ｐ１〜点Ｐ３６の座標値を示す。
【００７６】
「座標番号」は、輪郭１〜輪郭９を表現する点を示す。具体的には、「座標番号」は、Ｐ１からＰ３６を示す。
【００７７】
「Ｘ座標」は、点のＸ座標成分を示す。例えば、「Ｘ座標」は、点Ｐ１のＸ座標成分「２１９」を示す。
【００７８】
「Ｙ座標」は、点のＹ座標成分を示す。例えば、「Ｙ座標」は、点Ｐ１のＹ座標成分「２５４」を示す。
【００７９】
図７は、図５に示された文字「晶」の文字データ１４２に含まれる基準点間データを示す。
【００８０】
図７ａは、Ｘ軸方向の基準点間データを示す。
【００８１】
「Ｘ軸方向」は、文字「晶」を構成する輪郭１〜輪郭９のうちＸ軸方向に沿って設定された複数の基準点の間を示す。具体的には、この基準点の間は、距離Ｘ１〜距離Ｘ１１である。
【００８２】
「開始」は、基準点間の開始位置のＸ座標成分を示す。例えば、距離Ｘ１の開始位置のＸ座標成分は「１２」である。
【００８３】
「距離」は、基準点間のＸ軸方向の距離を示す。例えば、距離Ｘ１のＸ軸方向の距離は「１６」である。
【００８４】
「同一距離フラグ」は、上述のように、複数の距離の幅のうち、少なくとも１つの距離と、この少なくとも１つの距離と同一の大きさに調整される他の少なくとも１つの距離の幅とを示す。例えば、値「１」によって示される「同一距離フラグ」は、距離Ｘ１〜距離Ｘ１１のうち、距離Ｘ１、距離Ｘ３、距離Ｘ５、距離Ｘ７、距離Ｘ９および距離Ｘ１１が同一の大きさに調整されることを示す。例えば、値「２」によって示される「同一距離フラグ」は、距離Ｘ１〜距離Ｘ１１のうち、距離Ｘ２および距離Ｘ１０が同一の大きさに調整されることを示す。例えば、値「３」によって示される「同一距離フラグ」は、距離Ｘ１〜距離Ｘ１１のうち、距離Ｘ４および距離Ｘ８が同一の大きさに調整されることを示す。例えば、値「×」によって示される「同一距離フラグ」が付された距離Ｘ６は、距離Ｘ１〜距離Ｘ１１のうち、同一の大きさに調整される距離がないことを示す。「同一距離フラグ」によれば、複数の距離の幅のうち、少なくとも１つの距離の幅と、この少なくとも１つの距離の幅に等しいと規定された他の少なくとも１つの距離の幅とを示すことができる。
【００８５】
「距離フラグ」は、Ｘ軸に沿った基準点間の距離の幅として最低限必要な距離の幅を有するか否かを示す。さらに、距離フラグは、基準点間の距離の幅として最低限必要な距離の幅がいくらであるかも示す。例えば、距離Ｘ１の距離フラグは「１」を示す。すなわち、距離Ｘ１は、最低限必要な距離の幅「１」を有する。
【００８６】
「省略フラグ」は、Ｘ軸に沿った基準点間の距離の幅をグリッドフィッティングにより調整する際に、調整する距離の幅を「０」にできるか否かを示す。さらに、省略フラグは、調整する距離の幅を「０」にできる場合には、調整する距離の幅を「０」にする順番を示す。例えば、距離Ｘ１の省略フラグは「×」を示す。すなわち、調整する距離の幅を「０」にすることができないことを示す。
【００８７】
図７ｂは、Ｙ軸方向の基準点間データを示す。
【００８８】
「Ｙ軸方向」は、文字「晶」を構成する輪郭１〜輪郭９のうちＹ軸方向に沿って設定された複数の基準点の間を示す。具体的には、この基準点の間は、距離Ｙ１〜距離Ｙ１１である。
【００８９】
「開始」は、基準点間の開始位置のＹ座標成分を示す。例えば、距離Ｙ１の開始位置のＹ座標成分は「１」である。
【００９０】
「距離」は、基準点間のＹ軸方向の距離の幅を示す。例えば、距離Ｙ１のＹ軸方向の距離の幅は「１６」である。
【００９１】
「同一距離フラグ」は、上述のように、複数の距離の幅のうち、少なくとも１つの距離と、この少なくとも１つの距離と同一の大きさに調整される他の少なくとも１つの距離の幅とを示す。例えば、値「１」によって示される「同一距離フラグ」は、距離Ｙ１〜距離Ｙ１１のうち、距離Ｙ１、距離Ｙ３、距離Ｙ５、距離Ｙ７、距離Ｙ９および距離Ｙ１１が同一の大きさに調整されることを示す。例えば、値「２」によって示される「同一距離フラグ」は、距離Ｙ１〜距離Ｙ１１のうち、距離Ｙ２および距離Ｙ４が同一の大きさに調整されることを示す。例えば、値「３」によって示される「同一距離フラグ」は、距離Ｙ１〜距離Ｙ１１のうち、距離Ｙ８および距離Ｙ１０が同一の大きさに調整されることを示す。例えば、値「×」によって示される「同一距離フラグ」が付された距離Ｙ６は、距離Ｙ１〜距離Ｙ１１のうち、同一の大きさに調整される距離の幅がないことを示す。「同一距離フラグ」によれば、複数の距離の幅のうち、少なくとも１つの距離の幅と、この少なくとも１つの距離の幅に等しいと規定された他の少なくとも１つの距離の幅とを示すことができる。
【００９２】
「距離フラグ」は、Ｙ軸に沿った基準点間の距離の幅として最低限必要な距離の幅を有するか否かを示す。さらに、距離フラグは、基準点間の距離の幅として最低限必要な距離の幅がいくらであるかも示す。例えば、距離Ｙ１の距離フラグは、「１」である。距離フラグが「１」であることは、距離Ｙ１が、最低限必要な距離の幅「１」を有することを示す。
【００９３】
「省略フラグ」は、Ｙ軸に沿った基準点間の距離の幅をグリッドフィッティングにより調整する際に、調整する距離の幅を「０」にできるか否かを示す。さらに、省略フラグは、調整する距離の幅を「０」にできる場合には、調整する距離の幅を「０」にする順番を示す。例えば、距離Ｙ４の省略フラグは「３」を示す。すなわち、調整する距離の幅を「０」にする順番が３番目であることを示す。
【００９４】
図８は、本発明の表示処理手順を示す。表示処理手順は、ＣＰＵ１２１が文字表示プログラム１４１を実行するによって実現される。
【００９５】
以下、図８を参照して、本発明の表示処理手順をステップごとに説明する。
【００９６】
ステップＳ１０１：表示デバイス１３０に表示すべき文字を示す文字情報が、入力デバイス１１０を介して主メモリ１２２に入力される。入力された文字情報に応じて、ＣＰＵ１２１は、補助記憶装置１４０に格納されている文字データ１４２を補助記憶装置１４０から読み込む。読み込まれた文字データ１４２は、座標データ（図３参照）および基準点間データ（図４参照）を含む。
【００９７】
ステップＳ１０２：ＣＰＵ１２１は、表示デバイス１３０に出力する文字サイズに合わせて、座標データをスケーリングし、スケーリングされた座標データを生成する。ＣＰＵ１２１が、プログラム１４１ａを実行することによって、ステップＳ１０２が処理される。スケーリングされた座標データは、主メモリ１２２に格納される。
【００９８】
出力する文字サイズがｎドットの場合には、スケーリングされた座標データ（Ｘ，Ｙ）は、例えば、（ｎ×Ｘ／２５６，ｎ×Ｙ／２５６）である。スケーリングされた座標データは、小数第２位まで計算される。
【００９９】
図９は、文字「中」の文字データ１４２に含まれる座標データとこれらの座標データをスケーリングした後の座標データとを示す。スケーリング前の座標データは、図３で示された座標データである。
【０１００】
「Ｘ座標」は、スケーリング前の座標のうちＸ座標成分を示す。「Ｙ座標」は、スケーリング前の座標のうちＹ座標成分を示す。
【０１０１】
「スケーリング後のＸ座標」は、スケーリング後の座標のうちＸ座標成分を示す。「スケーリング後のＹ座標」は、スケーリング後の座標のうちＹ座標成分を示す。
【０１０２】
出力する文字サイズが１６ドットの場合には、スケーリング前の点Ｐ１（１４３，２４０）は、スケーリングされることによってスケーリング後の点Ｐ１（８．９４，１５．００）に変更される。
【０１０３】
図１０は、文字「晶」の文字データ１４２に含まれる座標データとこれらの座標データをスケーリングした後の座標データとを示す。
【０１０４】
スケーリング前の座標データは、図６で示された座標データである。
【０１０５】
「Ｘ座標」は、スケーリング前の座標のうちＸ座標成分を示す。「Ｙ座標」は、スケーリング前の座標のうちＹ座標成分を示す。
【０１０６】
「スケーリング後のＸ座標」は、スケーリング後の座標のうちＸ座標成分を示す。「スケーリング後のＹ座標」は、スケーリング後の座標のうちＹ座標成分を示す。
【０１０７】
出力する文字サイズが１６ドットの場合には、スケーリング前の点Ｐ１（２１９，２５４）は、スケーリングされることによってスケーリング後の点Ｐ１（１３．６９，１５．８８）に変更される。
【０１０８】
再び図８を参照して本発明の表示処理手順の説明を続ける。
【０１０９】
ステップＳ１０３：ＣＰＵ１２１は、スケーリングされた座標データをグリッドフィッティングし、グリットフィッティングされた座標データを生成する。ＣＰＵ１２１が、プログラム１４１ｂを実行することによって、ステップＳ１０３が処理される。グリットフィッティングされた座標データは、主メモリ１２２に格納される。
【０１１０】
グリッドフィッティング処理手順の詳細は、後述される。
【０１１１】
ステップＳ１０４：ＣＰＵ１２１は、グリッドフィッティングされた座標データが表示デバイスに表示可能になるように描画データを生成する。描画データの生成は、アウトラインフォントを示すデータを生成する手法として、公知である。例えば、ＣＰＵ１２１は、直線引きやスプライン等の曲線引きプログラムによって、文字の輪郭を示す描画データを生成し、塗りつぶしプログラムによって、輪郭内部を塗りつぶす。ＣＰＵ１２１が、プログラム１４１ｃを実行することによって、ステップＳ１０４が実行される。生成された描画データは、主メモリ１２２に格納される。
【０１１２】
ステップＳ１０５：ＣＰＵ１２１は、ステップＳ１０４で生成された描画データを表示デバイス１３０に表示する。
【０１１３】
図１１は、グリッドフィッティング処理手順（プログラム１４１ｂのステップＳ１０３の処理手順）を示す。プログラム１４１ｂは、ＣＰＵ１２１によって実行される。図１１（ａ）は、ステップＳ３０１〜ステップＳ３１０およびステップＳ３２７〜ステップＳ３３０を示す。図１１（ｂ）は、ステップＳ３１９〜ステップＳ３２６を示す。図１１（ｃ）は、ステップＳ３１１〜ステップＳ３１８を示す。
【０１１４】
図１２は、図４に示された基準点間データをグリッドフィッティング処理した後の基準点間データを示す。
【０１１５】
図１２（ａ）は、Ｘ軸方向の基準点間データ（図４（ａ）参照）をグリッドフィッティング処理した後の基準点間データを示す。
【０１１６】
「Ｘ軸方向」は、グリッドフィッティングの対象となった複数の距離の幅を示す。具体的には、グリッドフィッティングの対象となった複数の距離の幅は、距離Ｘ１〜距離Ｘ５である。
【０１１７】
「距離」は、グリッドフィッティング処理した後の基準点間のＸ軸方向の距離の幅を示す。例えば、距離Ｘ１の距離の幅は「２．００」である。
【０１１８】
「量子化後の距離」は、「距離」に示された値を量子化することによって生成された距離の幅を示す。例えば、距離Ｘ１を量子化することによって生成された距離の幅は、「２」である。なお、量子化することについての詳細は、後述される。
【０１１９】
「第１誤差」は、「量子化後の距離」で示された値から「距離」で示された値への変化量を示す。例えば、距離Ｘ２を対象とした場合、「量子化後の距離」で示された値から「距離」で示された値への変化量は、「−０．４４（即ち、３−３．４４）」である。
【０１２０】
「同一距離フラグ」は、複数の距離の幅のうち、少なくとも１つの距離と、この少なくとも１つの距離と同一の大きさに調整される他の少なくとも１つの距離の幅とを示す。例えば、値「１」によって示される「同一距離フラグ」は、距離Ｘ１〜距離Ｘ５のうち、距離Ｘ１と、距離Ｘ３と、距離Ｘ５とが同一の大きさに調整されることを示す。例えば、値「２」によって示される「同一距離フラグ」は、距離Ｘ１〜距離Ｘ５のうち、距離Ｘ２と、距離Ｘ４とが同一の大きさに調整されることを示す。「同一距離フラグ」によれば、複数の距離の幅のうち、少なくとも１つの距離の幅と、この少なくとも１つの距離の幅に等しいと規定された他の少なくとも１つの距離の幅とを示すことができる。
【０１２１】
「同一距離処理後の距離」は、量子化後の距離の幅を同一距離処理することによって生成された距離の幅を示す。例えば、距離Ｘ１、距離Ｘ３および距離Ｘ５を対象とした場合、同一距離処理後の距離の幅のそれぞれは、「２」である。例えば、距離Ｘ２および距離Ｘ４を対象とした場合、同一距離処理後の距離の幅のそれぞれは、「３」である。なお、同一距離処理の詳細は、後述される。
【０１２２】
「第２誤差」は、「同一距離処理後の距離」で示された値から「距離」で示された値への変化量を示す。例えば、距離Ｘ２を対象とした場合、「同一距離処理後の距離」で示された値から「距離」で示された値への変化量は、「−０．４４（即ち、３−３．４４）」である。
【０１２３】
図１２（ｂ）は、Ｙ軸方向の基準点間データ（図４（ｂ）参照）をグリッドフィッティング処理した後の基準点間データを示す。
【０１２４】
「Ｙ軸方向」は、グリッドフィッティングの対象となった複数の距離を示す。具体的には、グリッドフィッティングの対象となった複数の距離の幅は、距離Ｙ１〜距離Ｙ５である。
【０１２５】
「距離」は、グリッドフィッティング処理した後の基準点間のＹ軸方向の距離の幅を示す。例えば、距離Ｙ１の距離の幅は「５．００」である。
【０１２６】
「量子化後の距離」は、「距離」に示された値を第２の方法で量子化することによって生成された距離の幅を示す。例えば、距離Ｙ１を第２の方法で量子化することによって生成された距離の幅は、「５」である。なお、第２の方法で量子化することについての詳細は、後述される。
【０１２７】
「第１誤差」は、「量子化後の距離」で示された値から「距離」で示された値への変化量を示す。例えば、距離Ｙ２を対象とした場合、「量子化後の距離」で示された値から「距離」で示された値への変化量は、「０．００（即ち、２−２．００）」である。
【０１２８】
「同一距離フラグ」は、複数の距離の幅のうち、少なくとも１つの距離と、この少なくとも１つの距離と同一の大きさに調整される他の少なくとも１つの距離の幅とを示す。例えば、値「１」によって示される「同一距離フラグ」は、距離Ｙ１〜距離Ｙ５のうち、距離Ｙ２と距離Ｙ４とが同一の大きさに調整されることを示す。例えば、値「１」によって示される「同一距離フラグ」は、距離Ｙ１〜距離Ｙ５のうち、距離Ｙ２と、距離Ｙ４とが同一の大きさに調整されることを示す。例えば、「×」によって示される「同一距離フラグ」は、距離Ｙ１〜距離Ｙ５のうち、距離Ｙ１、距離Ｙ３および距離Ｙ５のそれぞれと同一の大きさに調整される距離の幅がないことを示す。「同一距離フラグ」によれば、複数の距離の幅のうち、少なくとも１つの距離の幅と、この少なくとも１つの距離の幅に等しいと規定された他の少なくとも１つの距離の幅とを示すことができる。
【０１２９】
「同一距離処理後の距離」は、量子化後の距離の幅を同一距離処理することによって生成された距離の幅を示す。例えば、距離Ｙ２および距離Ｙ４を対象とした場合、同一距離処理後の距離の幅のそれぞれは、２である。例えば、距離Ｙ１、距離Ｙ３および距離Ｙ５には、同一距離フラグ「×」が付されているため、距離Ｙ１、距離Ｙ３および距離Ｙ５を対象とした同一距離処理はなされない。従って、距離Ｙ１、距離Ｙ３および距離Ｙ５を対象とした同一距離処理後の距離の幅は、同一距離処理前の距離の幅と不変である。なお、同一距離処理の詳細は、後述される。
【０１３０】
「第２誤差」は、「同一距離処理後の距離」で示された値から「距離」で示された値への変化量を示す。例えば、距離Ｙ２を対象とした場合、「同一距離処理後の距離」で示された値から「距離」で示された値への変化量は、「０．００（即ち、２−２．００）」である。
【０１３１】
図１３は、図７に示された基準点間データをグリッドフィッティング処理した後の基準点間データを示す。
【０１３２】
図１３（ａ）は、Ｘ軸方向の基準点間データ（図７（ａ）参照）をグリッドフィッティング処理した後の基準点間データを示す。
【０１３３】
「Ｘ軸方向」は、グリッドフィッティングの対象となった複数の距離の幅を示す。具体的には、グリッドフィッティングの対象となった複数の距離の幅は、距離Ｘ１〜距離Ｘ１１である。
【０１３４】
「距離」は、グリッドフィッティング処理した後の基準点間のＸ軸方向の距離の幅を示す。例えば、距離Ｘ１の距離の幅は「１．００」である。
【０１３５】
「量子化後の距離」は、「距離」に示された値を第２の方法で量子化することによって生成された距離の幅を示す。例えば、距離Ｘ１を第２の方法で量子化することによって生成された距離の幅は、「１」である。なお、第２の方法で量子化することについての詳細は、後述される。
【０１３６】
「第１誤差」は、「量子化後の距離」で示された値から「距離」で示された値への変化量を示す。例えば、距離Ｘ２を対象とした場合、「量子化後の距離」で示された値から「距離」で示された値への変化量は、「−０．４４（即ち、０−０．４４）」である。
【０１３７】
「同一距離フラグ」は、上述のように、複数の距離の幅のうち、少なくとも１つの距離と、この少なくとも１つの距離と同一の大きさに調整される他の少なくとも１つの距離の幅とを示す。例えば、値「１」によって示される「同一距離フラグ」は、距離Ｘ１〜距離Ｘ１１のうち、距離Ｘ１、距離Ｘ３、距離Ｘ５、距離Ｘ７、距離Ｘ９および距離Ｘ１１が同一の大きさに調整されることを示す。例えば、値「２」によって示される「同一距離フラグ」は、距離Ｘ１〜距離Ｘ１１のうち、距離Ｘ２および距離Ｘ１０が同一の大きさに調整されることを示す。例えば、値「３」によって示される「同一距離フラグ」は、距離Ｘ１〜距離Ｘ１１のうち、距離Ｘ４および距離Ｘ８が同一の大きさに調整されることを示す。例えば、値「×」によって示される「同一距離フラグ」が付された距離Ｘ６は、距離Ｘ１〜距離Ｘ１１のうち、同一の大きさに調整される距離の幅がないことを示す。「同一距離フラグ」によれば、複数の距離の幅のうち、少なくとも１つの距離の幅と、この少なくとも１つの距離の幅に等しいと規定された他の少なくとも１つの距離の幅とを示すことができる。
【０１３８】
「同一距離処理後の距離」は、量子化後の距離の幅を同一距離処理することによって生成された距離の幅を示す。例えば、距離Ｘ１、距離Ｘ３、距離Ｘ５、距離Ｘ７、距離Ｘ９および距離Ｘ１１を対象とした場合、同一距離処理後の距離の幅のそれぞれは、「１」である。例えば、距離Ｘ２および距離Ｘ１０を対象とした場合、同一距離処理後の距離の幅のそれぞれは、「０」である。例えば、距離Ｘ４および距離Ｘ８を対象とした場合、同一距離処理後の距離の幅のそれぞれは、「３」である。例えば、距離Ｘ６は、距離Ｘ１〜距離Ｘ１１のうち、同一の大きさに調整される距離がない。従って、距離Ｘ６を対象とした場合、同一距離処理後の距離の幅は、同一距離処理前の距離の幅と変わらず、「２」である。
【０１３９】
「第２誤差」は、「同一距離処理後の距離」で示された値から「距離」で示された値への変化量を示す。例えば、距離Ｙ２を対象とした場合、「同一距離処理後の距離」で示された値から「距離」で示された値への変化量は、「−０．４４（即ち、０−０．４４）」である。
【０１４０】
図１３（ｂ）は、Ｙ軸方向の基準点間データ（図７（ｂ）参照）をグリッドフィッティング処理した後の基準点間データを示す。
【０１４１】
「Ｙ軸方向」は、グリッドフィッティングの対象となった複数の距離の幅を示す。具体的には、グリッドフィッティングの対象となった複数の距離の幅は、距離Ｙ１〜距離Ｙ１１である。
【０１４２】
「距離」は、グリッドフィッティング処理した後の基準点間のＹ軸方向の距離の幅を示す。例えば、距離Ｙ１の距離の幅は「１．００」である。
【０１４３】
「量子化後の距離」は、「距離」に示された値を第２の方法で量子化することによって生成された距離の幅を示す。例えば、距離Ｙ１を第２の方法で量子化することによって生成された距離の幅は、「１」である。
【０１４４】
「第１誤差」は、「量子化後の距離」で示された値から「距離」で示された値への変化量を示す。例えば、距離Ｙ２を対象とした場合、「量子化後の距離」で示された値から「距離」で示された値への変化量は、「０．４４（即ち、３−２．５６）」である。
【０１４５】
「同一距離フラグ」は、上述のように、複数の距離の幅のうち、少なくとも１つの距離と、この少なくとも１つの距離と同一の大きさに調整される他の少なくとも１つの距離の幅とを示す。例えば、値「１」によって示される「同一距離フラグ」は、距離Ｙ１〜距離Ｙ１１のうち、距離Ｙ１、距離Ｙ３、距離Ｙ５、距離Ｙ７、距離Ｙ９および距離Ｙ１１が同一の大きさに調整されることを示す。例えば、値「２」によって示される「同一距離フラグ」は、距離Ｙ１〜距離Ｙ１１のうち、距離Ｙ２および距離Ｙ４が同一の大きさに調整されることを示す。例えば、値「３」によって示される「同一距離フラグ」は、距離Ｙ１〜距離Ｙ１１のうち、距離Ｙ８および距離Ｙ１０が同一の大きさに調整されることを示す。例えば、値「×」によって示される「同一距離フラグ」が付された距離Ｙ６は、距離Ｙ１〜距離Ｙ１１のうち、同一の大きさに調整される距離の幅がないことを示す。「同一距離フラグ」によれば、複数の距離の幅のうち、少なくとも１つの距離の幅と、この少なくとも１つの距離の幅に等しいと規定された他の少なくとも１つの距離の幅とを示すことができる。
【０１４６】
「同一距離処理後の距離」は、量子化後の距離の幅を同一距離処理することによって生成された距離の幅を示す。例えば、距離Ｙ１〜距離Ｙ１１のうち、距離Ｙ１、距離Ｙ３、距離Ｙ５、距離Ｙ７、距離Ｙ９および距離Ｙ１１を対象とした場合、同一距離処理後の距離の幅のそれぞれは、「１」である。例えば、距離Ｙ１〜距離Ｙ１１のうち、距離Ｙ２および距離Ｙ４を対象とした場合、同一距離処理後の距離の幅のそれぞれは、「３」である。例えば、距離Ｙ１〜距離Ｙ１１のうち、距離Ｙ８および距離Ｙ１０を対象とした場合、同一距離処理後の距離の幅のそれぞれは、「２」である。距離Ｙ６には、同一距離フラグ「×」が付されているため、距離Ｙ６を対象とした同一距離処理はなされない。従って、距離Ｙ６を対象とした同一距離処理後の距離の幅は、同一距離処理前の距離の幅と不変である。
【０１４７】
「第２誤差」は、「同一距離処理後の距離」で示された値から「距離」で示された値への変化量を示す。例えば、距離Ｙ２を対象とした場合、「同一距離処理後の距離」で示された値から「距離」で示された値への変化量は、「０．４４（即ち、３−２．５６）」である。
【０１４８】
「調整１回後の距離」は、「量子化後の距離」のうち、「同一距離フラグ」の所定の値が付されたものの距離の幅を狭めた結果を示す。例えば、「同一距離フラグ」の値「２」が付された距離Ｙ２と距離Ｙ４とに対応する「量子化後の距離」の値「３」から「調整１回後の距離」の値「２」に狭められている。なお、量子化された距離の幅を狭める処理の詳細は、後述される。
【０１４９】
「第３誤差」は、「調整１回後の距離」で示された値から「距離」で示された値への変化量を示す。例えば、距離Ｙ２を対象とした場合、「調整１回後の距離」で示された値から「距離」で示された値への変化量は、「−０．５６（即ち、２−２．５６）」である。
【０１５０】
「調整済みフラグ」は、量子化された距離の幅を変更する処理によって長さが調整された対象（距離）に対して付される。例えば、距離Ｙ２と距離Ｙ４とに対応する「量子化後の距離」が調整されたため、距離Ｙ２と距離Ｙ４とに対して、値「１」が付されている。
【０１５１】
「調整２回後の距離」は、「量子化後の距離」のうち、「同一距離フラグ」の所定の値が付されたものの距離の幅を広げた結果を示す。例えば、「同一距離フラグ」の値「×」が付された距離Ｙ６に対応する「量子化後の距離」の値「１」から「調整２回後の距離」の値「２」に広げられている。なお、量子化された距離の幅を広げる処理の詳細は、後述される。
【０１５２】
「第４誤差」は、「調整２回後の距離」で示された値から「距離」で示された値への変化量を示す。例えば、距離Ｙ６を対象とした場合、「調整２回後の距離」で示された値から「距離」で示された値への変化量は、「０．５６（即ち、２−１．４４）」である。
【０１５３】
「調整済みフラグ」は、量子化された距離の幅を変更する処理によって長さが調整された対象（距離）に対して付される。例えば、距離Ｙ６に対応する「量子化後の距離」が距離Ｙ２および距離Ｙ４に対応する「量子化後の距離」に加えて調整されたため、距離Ｙ２および距離Ｙ４に加えて、Ｙ６に対して値「１」が付されている。
【０１５４】
以下、図１１〜図１３を参照してグリッドフィッティング処理手順の詳細をステップごとに説明する。
【０１５５】
始めに、図１１（ａ）を参照して、ステップＳ３０１〜ステップＳ３１０およびステップＳ３３０を説明する。
【０１５６】
ステップＳ３０１：ＣＰＵ１２１は、スケーリングによって小数第２位まで求められた複数の基準点間の距離の幅を計算する（図１２および図１３の「距離」参照）。
【０１５７】
ステップＳ３０２：ＣＰＵ１２１は、スケーリングによって小数第２位まで求められた複数の基準点間の距離の幅に基づいて、目標の距離の幅を示す目標値を求める。
【０１５８】
具体的には、ＣＰＵ１２１は、スケーリングによって小数第２位まで求められた複数の基準点間の距離のうち、最大のＸ座標値から最小のＸ座標値を引いた値を求め、さらに、この値を四捨五入で量子化することによって、Ｘ軸方向の目標の距離の幅を示す目標値を求める。ＣＰＵ１２１は、スケーリングによって小数第２位まで求められた複数の基準点間の距離のうち、最大のＹ座標値から最小のＹ座標値を引いた値を求め、さらに、この値を四捨五入で量子化することによって、Ｙ軸方向の目標の距離の幅を示す目標値を求める。
【０１５９】
なお、ＣＰＵ１２１は、スケーリングによって小数第２位まで求められた複数の基準点間の距離の幅すべてを加算して、求められた値を四捨五入で量子化することによって、Ｘ軸方向の目標の距離の幅を示す目標値を求めることがあり得る。さらに、ＣＰＵ１２１は、スケーリングによって小数第２位まで求められた複数の基準点間の距離の幅すべてを加算して、求められた値を四捨五入で量子化することによって、Ｙ軸方向の目標の距離の幅を示す目標値を求めることがあり得る。
【０１６０】
四捨五入によって量子化された合計を生成することにより、文字の大きさの統一を図ることが出来る。
【０１６１】
なお、量子化する方法として、四捨五入を利用したが、量子化する方法は、四捨五入に限らない。文字を出来るだけ大きく見せる場合は、量子化する方法として、切り上げを利用することがあり得る。文字を出来るだけ小さく見せる場合は、量子化する方法として、切り捨てを利用することがあり得る。量子化する際に所望の閾値を利用することがあり得る。
【０１６２】
さらに、目標値は、スケーリングされた複数の基準点間の距離の幅の合計を量子化することによって求められることに限定されない。ユーザは、所望の値を目標値として文字表示装置１００に入力することがあり得る。
【０１６３】
このように、ステップＳ３０２を実行することによって、スケーリングによって小数第２位まで求められた複数の基準点に基づいて求められた値を第１の方法で量子化し、目標値を定めることによって、後述するように、調整すべき複数の値を得ることが出来る。
【０１６４】
ステップＳ３０３：ＣＰＵ１２１は、スケーリングされた複数の基準点間の距離の幅のそれぞれを四捨五入で量子化する。図１２および図１３に示される例では、スケーリングされた複数の基準点間の距離の幅は、「距離」に示され、量子化された複数の基準点間の距離の幅は、「量子化後の距離」に示される。
【０１６５】
なお、量子化は、距離フラグを考慮して行われることがあり得る。距離フラグは、複数の基準点間の距離の幅として最低限必要な距離の幅を示す。例えば、スケーリングされた２つの基準点の間の距離の幅が「２．４」の場合、距離フラグがなければ、四捨五入で量子化された距離の幅は「２」となる。距離フラグが「１」ならば、四捨五入で量子化された距離の幅は「２」となる。距離フラグが「２」ならば、四捨五入で量子化された距離の幅は「２」となる。しかし、距離フラグが「３」ならば、距離フラグを考慮することで、量子化された距離の幅を「３」とする。
【０１６６】
距離の幅を量子化する方法として、四捨五入を利用したが、距離の幅を量子化する方法は、四捨五入に限らない。距離の幅を量子化する方法として、切り上げを利用してもよいし、切り捨てを利用してもよい。または距離の幅を量子化する方法として所望の閾値を利用してもよい。
【０１６７】
ステップＳ３０２で行った目標値を算出する第１の方法における量子化方法とステップＳ３０３で求める基準点間の距離の幅を量子化する第２の方法における量子化方法とは同じでもよいし、異なっていてもよい。例えば、量子化する第１の方法として、四捨五入を利用し、量子化する第２の方法として、四捨五入を利用してもよい。文字を出来るだけ大きく見せる場合は、量子化する第１の方法として、切り上げを利用し、量子化する第２の方法として、四捨五入を利用してもよい。
【０１６８】
ステップＳ３０４：ＣＰＵ１２１は、予め決められた同一距離フラグを参照し、同一の値を有する同一距離フラグが付された複数の距離の幅を同じ値に調整する。調整後の距離の幅は、図１２および図１３に示される例では、「同一距離処理後の距離」によって示される。
【０１６９】
図１２および図１３を参照して説明したように、第２の方法で量子化された距離の中には、少なくとも１つの距離と、前記少なくとも１つの距離の幅とは同じ幅を有するとみなされる他の少なくとも１つの距離とが存在する。同じ幅を有するとみなされる距離とは、「同一距離フラグ」の同じ値によって示されている距離である。
【０１７０】
なお、少なくとも１つの距離と他の少なくとも１つの距離とが同一の大きさに調整されるとは、少なくとも１つの距離の幅と他の少なくとも１つの距離の幅とが等しいことでありえる。例えば、距離Ｘ１、距離Ｘ３、距離Ｘ５に対応する「量子化後の距離」はそれぞれ値「２」であり、等しい（図１２（ａ）参照）。
【０１７１】
ステップＳ３０５：ＣＰＵ１２１は、同一距離処理後の距離の幅の合計が第１の方法で量子化された合計（目標値）と同じであるか否かを判定する。
【０１７２】
同じである（Ｙｅｓ）と判定された場合には、改めて複数の基準点の位置を調整する必要は無いので、処理は、ステップＳ３２７に進む。同じでない（Ｎｏ）と判定された場合には、処理は、Ｓ３０６に進む。同じでない（Ｎｏ）と判定された場合とは、同一距離処理後の距離の幅の合計が第１の方法で量子化された合計より大きい場合、または同一距離処理後の距離の幅の合計が第１の方法で量子化された合計より小さい場合である。
【０１７３】
ステップＳ３０６：ＣＰＵ１２１は、同一距離処理後の距離の幅の合計が第１の方法で量子化された合計（目標値）より小さいか否かを判定する。
【０１７４】
小さくない（Ｎｏ）と判定された場合には、処理は、ステップＳ３０７に進む。小さい（Ｙｅｓ）と判定された場合には、処理は、ステップＳ３１１に進む（図１１（ｃ）参照）。
【０１７５】
ステップＳ３０７：ＣＰＵ１２１は、複数の距離に対応する距離フラグの合計が第１の方法で量子化された合計（目標値）より大きいか否かを判定する。
【０１７６】
大きい（Ｙｅｓ）と判定された場合には、現状ではこれ以上小さな文字を出力するように基準点間を調整をする事は出来ないとして、処理は、ステップＳ３０８に進む。大きくない（Ｎｏ）と判定された場合には、処理は、ステップＳ３１９に進む（図１１（ｃ）参照）。
【０１７７】
距離フラグの合計が目標値より大きい場合には、これ以上複数の基準点間を縮めると文字を表示する際に、文字が潰れて視認性が悪くなるので、処理は、複数の基準点間を縮める調整を断念し、他の方法として省略フラグの有無の確認を行うことで、さらなる基準点間の調整の可能性を探る。省略フラグは、特定軸（Ｘ軸、Ｙ軸）に沿った基準点間をグリッドフィッティングにより調整する際に、調整する距離の幅を「０」にできるか否かを示す。さらに、省略フラグの値は、調整する距離の幅を「０」にできる場合には、調整する距離の幅を「０」にする順番を示す。
【０１７８】
なお、距離フラグは、特定の軸（Ｘ軸およびＹ軸）に沿った基準点間の距離の幅として最低限必要な距離の幅を有するか否かを示す。さらに、距離フラグは、基準点間の距離の幅として最低限必要な距離の幅がいくらであるかを示す。距離フラグは、スケーリングされた文字を表示する際に視認性を確保するための情報であって、文字が潰れない最小の距離の幅を示す。距離フラグは、スケーリング前の文字情報に予め付与されている（図４および図７参照）。
【０１７９】
ステップＳ３０８：ＣＰＵ１２１は、省略フラグが立っているか否かを判定する。なお、本発明の基準点間の調整は一度のみ可能としているので、既に調整済みの基準点間に対しては、さらに基準点間の調整は行わず省略フラグの確認は不要である。
【０１８０】
未だ調整されていない基準点間に省略フラグが立っている場合には、該当する基準点間の距離の幅を「０」として、見かけ上基準点間が無いものとして扱う必要がある。したがって、省略フラグが立っている（Ｙｅｓ）と判定された場合には、処理は、ステップＳ３０９に進む。
【０１８１】
未だ調整されていない基準点間に省略フラグが立っていない場合には、省略する基準点間がなく、量子化された距離の幅の合計を目標値より小さく調整することができない。したがって、省略フラグが立っていない（Ｎｏ）と判定された場合には、処理は、ステップＳ３３０に進む。
【０１８２】
ステップＳ３３０：ＣＰＵ１２１は、スケーリング後の複数のストロークの座標データを四捨五入で量子化することによって、グリッドフィッティング処理を終了する。
【０１８３】
ステップＳ３０９：ＣＰＵ１２１は、未だ基準点間が調整されていない基準点間の距離に対応する複数の省略フラグのうち、順位の高い省略フラグから順に省略フラグの距離の幅を「０」にする。ここで、省略フラグの距離の幅を「０」にするとは、量子化後の基準点間の値を「０」にすることであり、省略フラグを操作することではない。省略フラグの距離の幅を「０」にすることによって、省略可能と判定された基準点間を見た目上「０」に調整し得る。
【０１８４】
なお、ステップＳ３０９を実行することによって、基準点間の距離の幅を「０」にしたので、距離フラグの値も「０」にする。したがって、ステップＳ３１０を実行し、次にステップＳ３０５およびステップＳ３０６を実行し、次にステップＳ３０７を実行する場合、距離フラグの合計値が目標値より小さくなる。その結果、ステップＳ３０９を実行することによって、処理は、ステップＳ３０７の次にステップＳ３１９に進むことが可能になる（図１１（ｂ）参照）。
【０１８５】
ステップＳ３１０：ＣＰＵ１２１は、省略処理（ステップＳ３０９）によって調整されたものとして、距離フラグの値が「０」にされた基準点間の距離に調整済みフラグを立てる。処理は、再度ステップＳ３０５に進む。
【０１８６】
省略フラグには、省略する順番があるために、本来順番を守りながらの省略処理を行う必要があるが、既に調整済みフラグが立っている場合にはその基準点間の省略処理を省略するため、順番どおりに省略処理が行われるわけではない。しかし、ステップＳ３０５、ステップＳ３０６およびステップＳ３０７によって実行される判定によって、量子化された基準点間の距離の幅の合計より距離フラグの値の合計の方が大きい場合にこの省略処理を行うので、例外を省き、省略フラグの省略処理は省略フラグの順番どおりに行われる。
【０１８７】
次に、図１１（ｂ）を参照して、ステップＳ３１９〜ステップＳ３２６を説明する。ＣＰＵ１２１は、第２の方法で得た複数の基準点間を狭めることによって、複数の基準点の距離の合計値が第１の方法で得た目標値を超えないように複数の基準点間を調整するために、ステップＳ３１９〜ステップＳ３２６を実行する。
【０１８８】
ステップＳ３１９：ＣＰＵ１２１は、調整済みフラグの立っていない基準点間の距離の中から、量子化誤差の切り上げとなる基準点間の距離があるか否かを判定して、量子化誤差の切り上げとなる基準点間の距離がある場合には最大切り上げとなる基準点間を抽出する。
【０１８９】
ある（Ｙｅｓ）と判定された場合には、処理は、ステップＳ３２０に進む。基準点間を狭める場合に、量子化誤差が大きく変化している基準点間から狭めることによって、文字の表示品位を最善に調整できる。したがって、最大きり上げ幅の基準点間から調整し始める。
【０１９０】
ない（Ｎｏ）と判定された場合には、処理は、ステップ３２７に進む（図１１（ａ）参照）。調整済みフラグの立っていない基準点間の距離がなくなると、これ以上基準点間を調整出来ないからである。
【０１９１】
ステップＳ３２０：ＣＰＵ１２１は、ステップ３１９を実行することによって抽出した最大切り上げ幅となる基準点間と同じ基準点間の距離のグループを抽出する。複数の基準点間の距離に同一距離フラグが付与されている場合には、複数の基準点間の距離のうち同じ同一距離フラグが立っている基準点間の距離の幅をすべて調整するためである。
【０１９２】
ステップＳ３２１：抽出された同一距離フラグのグループに含まれる複数の基準点間の距離の幅の全てが、対応する距離フラグの値より１以上であるか否かを判定する。抽出された同一距離フラグのグループに含まれる複数の基準点間の距離の幅を対応する距離フラグの値より小さく出来ないからである。
【０１９３】
１以上である（Ｙｅｓ）と判定された場合には、処理は、ステップＳ３２２に進む。１以上でない（Ｎｏ）と判定された場合には、処理は、ステップＳ３２６に進む。
【０１９４】
ステップＳ３２６：ＣＰＵ１２１は、ステップＳ３１９によって抽出されたグループ以外に量子化誤差のきり上げとなる基準点間の距離があるか否かを判定して、量子化誤差のきり上げとなる基準点間の距離がある場合にはステップＳ３２０を実行することによって抽出されるだろうグループ以外の量子化誤差の最大切り上げとなる基準点間を抽出する。他の基準点間の中から調整候補を探すためである。
【０１９５】
ある（Ｙｅｓ）と判定された場合には、処理は、ステップＳ３２０に進む。ない（Ｎｏ）と判定された場合には、処理は、ステップＳ３０８に進む（図１１（ａ）参照）。
【０１９６】
ステップＳ３２２：ＣＰＵ１２１は、抽出された基準点間の量子化された距離の値を１だけ小さくする。
【０１９７】
ステップＳ３２３：ＣＰＵ１２１は、調整された基準点間の距離に対応して調整済みフラグを立てて、調整された基準点間を再度調整しないようにする。
【０１９８】
ステップＳ３２４：ＣＰＵ１２１は、抽出された基準点間の距離に同一距離フラグが設定されているか否かを判定する。設定されている（Ｙｅｓ）と判定された場合には、処理は、ステップＳ３２５に進む。設定されていない（Ｎｏ）と判定された場合には、処理は、ステップＳ３０５に進む（図１１（ａ）参照）。
【０１９９】
ステップＳ３２５：ＣＰＵ１２１は、調整済みフラグが立っていない基準点間の距離の中に同じ同一距離フラグを有する基準点間の距離があるか否かを判定する。
【０２００】
ある（Ｙｅｓ）と判定された場合には、処理は、ステップＳ３２２に進む。ない（Ｎｏ）と判定された場合には、処理は、ステップＳ３０５に進む。
【０２０１】
ＣＰＵ１２１は、ステップＳ３２２〜ステップＳ３２５を繰り返すことによって、同一距離フラグのある基準点間の距離の幅が、全て１だけ狭められるように処理する。そして、この処理が終えれば、次の基準点間の調整が必要か否かの判定のために、処理は、ステップＳ３０５に進む。
【０２０２】
次に、図１１（ｃ）を参照して、ステップＳ３１１〜ステップＳ３１８を説明する。ＣＰＵ１２１は、ステップＳ３１１〜ステップＳ３１８を実行することによって、第２の方法で得た各基準点間を広げながら、各基準点の距離の幅の合計値が第１の方法で得た目標値を超えることなく、さらに、最小の範囲に近づくように複数の基準点間を調整する。
【０２０３】
ステップＳ３１１：ＣＰＵ１２１は、調整済みフラグの立っていない基準点間の距離の中から、量子化誤差の切り下げとなる基準点間の距離があるか否かを判定して、量子化誤差の切り下げとなる基準点間の距離がある場合には、最大切り下げとなる基準点間を抽出する。
【０２０４】
ある（Ｙｅｓ）と判定された場合には、処理は、ステップＳ３１２に進む。基準点間を広げる場合に、量子化誤差が大きく変化している基準点間から広げることによって、文字の表示品位を最善に調整できる。したがって、最大きり下げ幅の基準点間から調整を始める。
【０２０５】
ない（Ｎｏ）と判定された場合には、処理は、ステップ３２７に進む（図１１（ａ）参照）。調整済みフラグの立っていない基準点間の距離がなくなると、これ以上基準点間を調整出来ないからである。
【０２０６】
ステップＳ３１２：ＣＰＵ１２１は、ステップＳ３１１を実行することによって抽出した最大きり下げ幅となる基準点間と同じ基準点間の距離のグループを抽出する。複数の基準点間の距離に同一距離フラグが付与されている場合には、複数の基準点間の距離のうち同じ同一距離フラグが立っている基準点間の距離の幅をすべて調整するためである。
【０２０７】
ステップＳ３１３：抽出された同一距離フラグのグループに含まれる複数の基準点間の距離の数が、広げる予定の幅より大きいか否かを判定する。同じ値の同一距離フラグが立っている複数の基準点間の距離のそれぞれを同時に１だけ増加する必要があり、同じ値の同一距離フラグを持つ基準点間の距離の数のみ、基準点間の調整で幅が大きくなる可能性があるからである。
【０２０８】
大きい（Ｙｅｓ）と判定された場合には、処理は、ステップＳ３１８に進む。大きくない（Ｎｏ）と判定された場合には、処理は、ステップＳ３１４に進む。
【０２０９】
ステップＳ３１８：ＣＰＵ１２１は、ステップＳ３１２によって抽出されたグループ以外に量子化誤差のきり下げとなる基準点間の距離の幅があるか否かを判定して、量子化誤差のきり下げとなる基準点間の距離の幅がある場合にはステップＳ３１２を実行することによって抽出されるだろうグループ以外の量子化誤差の最大きり下げとなる基準点間を抽出する。他の基準点間の中から調整候補を探すためである。
【０２１０】
ある（Ｙｅｓ）と判定された場合には、処理は、ステップＳ３１２に進む。ない（Ｎｏ）と判定された場合には、処理は、ステップＳ３２７に進む（図１１（ａ）参照）。
【０２１１】
ステップＳ３１４：ＣＰＵ１２１は、抽出された基準点間の量子化された距離の幅の値を１だけ大きくする。
【０２１２】
ステップＳ３１５：ＣＰＵ１２１は、調整された基準点間の距離に対応して調整済みフラグを立てて、調整された基準点間を再度調整しないようにする。
【０２１３】
ステップＳ３１６：ＣＰＵ１２１は、抽出された基準点間の距離に同一距離フラグが設定されているか否かを判定する。設定されている（Ｙｅｓ）と判定された場合には、処理は、ステップＳ３１７に進む。設定されていない（Ｎｏ）と判定された場合には、処理は、ステップＳ３０５に進む（図１１（ａ）参照）。
【０２１４】
ステップＳ３１７：ＣＰＵ１２１は、調整済みフラグが立っていない基準点間の距離の中に同じ同一距離フラグを有する基準点間の距離があるか否かを判定する。
【０２１５】
ある（Ｙｅｓ）と判定された場合には、処理は、ステップＳ３１４に進む。ない（Ｎｏ）と判定された場合には、処理は、ステップＳ３０５に進む。
【０２１６】
ＣＰＵ１２１は、ステップＳ３１４〜ステップＳ３１７を繰り返すことによって、同一距離フラグのある基準点間の距離の幅が、全て１だけ広げられるように処理する。そして、この処理が終えれば、次の基準点間の調整が必要か否かの判定のために、処理は、ステップＳ３０５に進む。
【０２１７】
図１１（ａ）を参照して、ステップＳ３２７〜ステップＳ３２９を説明する。
【０２１８】
ステップＳ３２７：ＣＰＵ１２１は、文字を構成するブロックの最大座標値と最小座標値とを決める。特定の軸に沿った文字の幅をスケーリングした後にどの座標を基準点にするかを決めるためである。
【０２１９】
具体的には、スケーリングされた基準点の最大座標値を四捨五入した結果生じた量子化誤差とスケーリングされた基準点の最小座標値を四捨五入した結果生じた量子化誤差とを比較し、量子化誤差が小さいほうの座標値に基づいて、ブロックの座標値を決定する。文字を構成するブロックの大きさは第１の方法で量子化された合計である。
【０２２０】
例えば、スケーリングされた基準点の最大座標値を四捨五入した結果生じた量子化誤差がスケーリングされた基準点の最小座標値を四捨五入した結果生じた量子化誤差より小さい場合は、スケーリングされた基準点の最大座標値がブロックの最大座標値である。ブロックの最小座標値は、ブロックの最大座標値から、文字を構成するブロックの大きさである第１の方法で量子化された合計を引いた値である。
【０２２１】
例えば、スケーリングされた基準点の最小座標値を四捨五入した結果生じた量子化誤差がスケーリングされた基準点の最大座標値を四捨五入した結果生じた量子化誤差より小さい場合は、スケーリングされた基準点の最小座標値がブロックの最小座標値である。ブロックの最大座標値は、ブロックの最小座標値に、文字を構成するブロックの大きさである第１の方法で量子化された合計を足した値である。
【０２２２】
従って、スケーリングされた基準点の最大座標値を四捨五入した結果生じた量子化誤差がスケーリングされた基準点の最小座標値を四捨五入した結果生じた量子化誤差より小さい場合は、量子化された最大座標値が、表示される文字の基準座標値である。さらに、スケーリングされた基準点の最小座標値を四捨五入した結果生じた量子化誤差がスケーリングされた基準点の最大座標値を四捨五入した結果生じた量子化誤差より小さい場合は、量子化された最小座標値が、表示される文字の基準座標値である。
【０２２３】
ステップＳ３２８：ＣＰＵ１２１は、文字を構成するブロックの最大座標値と文字を構成するブロックの最小座標値と第２の方法で量子化された距離とに基づいて、グリッドフィティング処理後の基準点の座標値を決める。
【０２２４】
ステップＳ３２９：ＣＰＵ１２１は、文字を構成する複数のストロークの基準点以外の座標を決定する。
【０２２５】
たとえば、距離ａ／距離ｂの値が距離Ａ／距離Ｂの値に最も近くなるように、グリッドフィッティング処理後の点が決定される。ここで、決定される所定の点に対応し、スケーリングされる前の文字上の点は、スケーリングされる前の基準点のうち、互いに隣接する第１の基準点と第２の基準点との間にある。
【０２２６】
ここで、距離Ａは、スケーリングされる前の文字上の点と第１の基準点との間の距離である。距離Ｂは、スケーリングされる前の文字上の点と第２の基準点との間の距離である。距離ａは、決定される所定の点とＳ３２８で決定されたグリッドフィッティング後の第１の基準点との間の距離である。距離ｂは、決定される所定の点とＳ３２８で決定されたグリッドフィッティング後の第２の基準点との間の距離である。
【０２２７】
以下、図１１および図１２（ａ）を参照して、グリッドフィッティング処理手順の具体例を説明する。
【０２２８】
ステップＳ３０１：ＣＰＵ１２１は、スケーリングによって小数第２位まで求められた複数の基準点間の距離の幅を計算する。距離Ｘ１〜距離Ｘ５の幅は、「２．００」、「３．４４」、「１．９４」、「３．５０」および「２．００」である。
【０２２９】
ステップＳ３０２：ＣＰＵ１２１は、距離Ｘ１〜距離Ｘ５の幅（「２．００」、「３．４４」、「１．９４」、「３．５０」および「２．００」）を加算し、加算値「１２．８８」を四捨五入で量子化することによって、目標値「１３」を求める。
【０２３０】
ステップＳ３０３：ＣＰＵ１２１は、スケーリングされた複数の基準点間の距離の幅のそれぞれを四捨五入で量子化する。距離Ｘ１〜距離Ｘ５に対応して距離フラグ「１」が割り当てられている（図４（ａ）参照）ことを考慮して、量子化後の距離の幅は、「２」、「３」、「２」、「４」および「２」である。
【０２３１】
ステップＳ３０４：ＣＰＵ１２１は、距離Ｘ１、距離Ｘ３および距離Ｘ５に付された同一距離フラグと、距離Ｘ２および距離Ｘ４に付された同一距離フラグとを参照して、距離Ｘ１、距離Ｘ３および距離Ｘ５の幅を「２」に、距離Ｘ２および距離Ｘ４の幅を「３」に調整する。
【０２３２】
ステップＳ３０５：ＣＰＵ１２１は、同一距離処理後の距離の幅の合計「１２」が目標値「１３」と同じであるか否かを判定する。同じでない（Ｎｏ）と判定され、処理は、Ｓ３０６に進む。
【０２３３】
ステップＳ３０６：ＣＰＵ１２１は、同一距離処理後の距離の幅の合計「１２」が目標値「１３」より小さいか否かを判定する。小さい（Ｙｅｓ）と判定され、処理は、ステップＳ３１１に進む。
【０２３４】
ステップＳ３１１：ＣＰＵ１２１は、調整済みフラグの立っていない基準点間の距離（距離Ｘ１〜距離Ｘ５）の中に、量子化誤差の最大切り下げの基準点間の距離（第２誤差「−０．５０」を有する距離Ｘ４）があるか否かを判定して、最大切り下げとなる基準点間（距離Ｘ４）を抽出する。ここで、（Ｙｅｓ）と判定し、処理は、ステップＳ３１２に進む。
【０２３５】
ステップＳ３１２：ＣＰＵ１２１は、調整する基準点間の距離のグループ（距離Ｘ２と距離Ｘ４）を抽出する。
【０２３６】
ステップＳ３１３：抽出された同一距離フラグのグループに含まれる複数の基準点間の距離の数「２」が、広げる予定の幅「１」より大きいか否かを判定する。大きい（Ｙｅｓ）と判定され、処理は、ステップＳ３１８に進む。
【０２３７】
ステップＳ３１８：ＣＰＵ１２１は、ステップＳ３１２によって抽出されたグループ以外に量子化誤差の最大きり下げとなる基準点間の距離（第２誤差「０．０６」を有する距離Ｘ３）があるか否かを判定する。ここで、（Ｙｅｓ）と判定され、処理は、ステップＳ３１２に進む。
【０２３８】
ステップＳ３１２：ＣＰＵ１２１は、調整する基準点間の距離のグループ（距離Ｘ１、距離Ｘ３および距離Ｘ５）を抽出する。
【０２３９】
ステップＳ３１３：抽出された同一距離フラグのグループに含まれる複数の基準点間の距離の数「３」が、広げる予定の幅「１」より大きいか否かを判定する。大きい（Ｎｏ）と判定され、処理は、ステップＳ３１８に進む。
【０２４０】
ステップＳ３１８：ステップＳ３１２によって抽出されたグループ以外に量子化誤差の最大きり下げとなる基準点間の距離があるか否かを判定する。ない（Ｎｏ）と判定され、処理は、ステップＳ３２７に進む（図１１（ａ）参照）。
【０２４１】
以降、ＣＰＵ１２１は、ステップＳ３２７〜ステップ３２９を実行し、グリッドフィッティング処理を終了する。
【０２４２】
以下、図１１および図１２（ｂ）を参照して、グリッドフィッティング処理手順の他の具体例を説明する。
【０２４３】
ステップＳ３０１：ＣＰＵ１２１は、スケーリングによって小数第２位まで求められた複数の基準点間の距離の幅を計算する。距離Ｙ１〜距離Ｙ５の幅は、「５．００」、「２．００」、「２．００」、「２．００」および「３．００」である。
【０２４４】
ステップＳ３０２：ＣＰＵ１２１は、距離Ｙ１〜距離Ｙ５の幅（「５．００」、「２．００」、「２．００」、「２．００」および「３．００」）を加算し、加算値「１４．００」を四捨五入で量子化することによって、目標値「１４」を求める。
【０２４５】
ステップＳ３０３：ＣＰＵ１２１は、スケーリングされた複数の基準点間の距離の幅のそれぞれを四捨五入で量子化する。距離Ｙ１〜距離Ｙ５に対応して距離フラグ「１」が割り当てられている（図４（ｂ）参照）ことを考慮して、量子化後の距離の幅は、「５」、「２」、「２」、「２」および「３」である。
【０２４６】
ステップＳ３０４：ＣＰＵ１２１は、距離Ｙ２および距離Ｙ４に付された同一距離フラグを参照して、距離Ｙ２および距離Ｙ４の幅を「２」に調整する。
【０２４７】
ステップＳ３０５：ＣＰＵ１２１は、同一距離処理後の距離の幅の合計「１４」が目標値「１４」と同じであるか否かを判定する。同じである（Ｙｅｓ）と判定され、処理は、Ｓ３２７に進む。
【０２４８】
以降、ＣＰＵ１２１は、ステップＳ３２７〜ステップ３２９を実行し、グリッドフィッティング処理を終了する。
【０２４９】
以下、図１１および図１３（ａ）を参照して、グリッドフィッティング処理手順の他の具体例を説明する。
【０２５０】
ステップＳ３０１：ＣＰＵ１２１は、スケーリングによって小数第２位まで求められた複数の基準点間の距離の幅を計算する。距離Ｘ１〜距離Ｘ１１の幅は、「１．００」、「０．４４」、「１．００」、「２．８１」、「１．００」、「１．８１」、「１．００」、「２．８８」、「１．００」、「０．５０」、および「１．００」である。
【０２５１】
ステップＳ３０２：ＣＰＵ１２１は、距離Ｘ１〜距離Ｘ１１の幅を加算し、加算値「１４．４４」を四捨五入で量子化することによって、目標値「１４」を求める。
【０２５２】
ステップＳ３０３：ＣＰＵ１２１は、スケーリングされた複数の基準点間の距離の幅のそれぞれを四捨五入で量子化する。距離Ｘ１〜距離Ｘ１１に対応して距離フラグ「０」または「１」が割り当てられている（図７（ａ）参照）ことを考慮して、量子化後の距離の幅は、「１」、「０」、「１」、「３」、「１」、「２」、「１」、「３」、「１」、「１」、および「１」である。
【０２５３】
ステップＳ３０４：ＣＰＵ１２１は、距離Ｘ１、距離Ｘ３、距離Ｘ５、距離Ｘ７、距離Ｘ９および距離Ｘ１１に付された同一距離フラグを参照して、距離Ｘ１、距離Ｘ３、距離Ｘ５、距離Ｘ７、距離Ｘ９および距離Ｘ１１の幅を「１」に調整する。さらに、ＣＰＵ１２１は、距離Ｘ２および距離Ｘ１０に付された同一距離フラグを参照して、距離Ｘ２および距離Ｘ１０の幅を「０」に調整する。さらにＣＰＵ１２１は、距離Ｘ４および距離Ｘ８に付された同一距離フラグを参照して、距離Ｘ４および距離Ｘ８の幅を「３」に調整する。
【０２５４】
ステップＳ３０５：ＣＰＵ１２１は、同一距離処理後の距離の幅の合計「１４」が目標値「１４」と同じであるか否かを判定する。同じである（Ｙｅｓ）と判定され、処理は、Ｓ３２７に進む。
【０２５５】
以降、ＣＰＵ１２１は、ステップＳ３２７〜ステップ３２９を実行し、グリッドフィッティング処理を終了する。
【０２５６】
以下、図１１および図１３（ｂ）を参照して、グリッドフィッティング処理手順の他の具体例を説明する。
【０２５７】
ステップＳ３０１：ＣＰＵ１２１は、スケーリングによって小数第２位まで求められた複数の基準点間の距離の幅を計算する。距離Ｙ１〜距離Ｙ１１の幅は、「１．００」、「２．５６」、「１．００」、「２．３８」、「１．００」、「１．４４」、「１．００」、「１．８１」、「１．００」、「１．６３」および「１．００」である。
【０２５８】
ステップＳ３０２：ＣＰＵ１２１は、距離Ｙ１〜距離Ｙ１１の幅を加算し、加算値「１５．８１」を四捨五入で量子化することによって、目標値「１６」を求める。
【０２５９】
ステップＳ３０３：ＣＰＵ１２１は、スケーリングされた複数の基準点間の距離の幅のそれぞれを四捨五入で量子化する。距離Ｙ１〜距離Ｙ１１に対応して距離フラグ「１」が割り当てられている（図７（ｂ）参照）ことを考慮して、量子化後の距離の幅は、「１」、「３」、「１」、「２」、「１」、「１」、「１」、「２」、「１」、「２」および「１」である。
【０２６０】
ステップＳ３０４：ＣＰＵ１２１は、距離Ｙ１、距離Ｙ３、距離Ｙ５、距離Ｙ７、距離Ｙ９および距離Ｙ１１に付された同一距離フラグを参照して、距離Ｙ１、距離Ｙ３、距離Ｙ５、距離Ｙ７、距離Ｙ９および距離Ｙ１１の幅を「１」に調整する。さらに、ＣＰＵ１２１は、距離Ｙ２および距離Ｙ４に付された同一距離フラグを参照して、距離Ｙ２および距離Ｙ４の幅を「３」に調整する。さらにＣＰＵ１２１は、距離Ｙ８および距離Ｙ１０に付された同一距離フラグを参照して、距離Ｙ８および距離Ｙ１０の幅を「２」に調整する。
【０２６１】
ステップＳ３０５：ＣＰＵ１２１は、同一距離処理後の距離の幅の合計「１７」が目標値「１６」と同じであるか否かを判定する。同じでない（Ｎｏ）と判定され、処理は、Ｓ３０６に進む。
【０２６２】
ステップＳ３０６：ＣＰＵ１２１は、同一距離処理後の距離の幅の合計「１７」が目標値「１６」より小さいか否かを判定する。小さくない（Ｎｏ）と判定された場合には、処理は、ステップＳ３０７に進む。
ステップＳ３０７：ＣＰＵ１２１は、距離Ｙ１〜距離Ｙ１１に対応する距離フラグ「１」の合計「１１」が目標値「１６」より大きいか否かを判定する（図７（ｂ）参照）。
【０２６３】
大きくない（Ｎｏ）と判定された場合には、処理は、ステップＳ３１９に進む（図１１（ｃ）参照）。
【０２６４】
ステップＳ３１９：ＣＰＵ１２１は、調整済みフラグの立っていない基準点間の距離（距離Ｙ１〜距離Ｙ１１）の中に、量子化誤差の最大切り上げの基準点間の距離（第２誤差「０．６３」を有する距離Ｙ４）があるか否かを判定して、最大切り上げとなる基準点間（距離Ｙ４）を抽出する。ここで、（Ｙｅｓ）と判定され、処理は、ステップＳ３２０に進む。
【０２６５】
ステップＳ３２０：ＣＰＵ１２１は、調整する基準点間の距離のグループ（距離Ｙ２と距離Ｙ４）を抽出する。
【０２６６】
ステップＳ３２１：抽出された同一距離フラグのグループに含まれる複数の基準点間の距離（距離Ｙ２と距離Ｙ４）の幅（「３」）の全てが、距離Ｙ１〜距離Ｙ１１に対応する距離フラグ「１」より１以上であるか否かを判定する（図７（ｂ）参照）。１以上である（Ｙｅｓ）と判定され、処理は、ステップＳ３２２に進む。
【０２６７】
ステップＳ３２２：ＣＰＵ１２１は、抽出された基準点間の量子化された距離（距離Ｙ２と距離Ｙ４）の幅の値を１だけ小さくする。距離Ｙ２および距離Ｙ４の幅は、調整によって「２」になる。
【０２６８】
ステップＳ３２３：ＣＰＵ１２１は、距離Ｙ２および距離Ｙ４に対応して調整済みフラグを立てて、距離Ｙ２および距離Ｙ４を再度調整しないようにする。
【０２６９】
ステップＳ３２４：ＣＰＵ１２１は、抽出された基準点間の距離に同一距離フラグが設定されているか否かを判定する。設定されている（Ｙｅｓ）と判定され、処理は、ステップＳ３２５に進む。
【０２７０】
ステップＳ３２５：ＣＰＵ１２１は、調整済みフラグが立っていない基準点間の距離の中に同じ同一距離フラグを有する基準点間の距離があるか否かを判定する。ない（Ｎｏ）と判定され、処理は、ステップＳ３０５に進む。
【０２７１】
ステップＳ３０５：ＣＰＵ１２１は、調整１回後の距離の幅の合計「１５」が目標値「１６」と同じであるか否かを判定する。同じでない（Ｎｏ）と判定され、処理は、Ｓ３０６に進む。
【０２７２】
ステップＳ３０６：ＣＰＵ１２１は、調整１回後の距離の幅の合計「１５」が目標値「１６」より小さいか否かを判定する。小さい（Ｙｅｓ）と判定され、処理は、ステップＳ３１１に進む。
【０２７３】
ステップＳ３１１：ＣＰＵ１２１は、調整済みフラグの立っていない基準点間の距離（距離Ｙ１、距離Ｙ３および距離Ｙ５〜距離Ｙ１１）の中に、量子化誤差の最大切り下げの基準点間の距離（第２誤差「−０．４４」を有する距離Ｙ６）があるか否かを判定して、最大切り下げとなる基準点間（距離Ｙ６）を抽出する。ここで、（Ｙｅｓ）と判定され、処理は、ステップＳ３１２に進む。
【０２７４】
ステップＳ３１２：ＣＰＵ１２１は、調整する基準点間の距離のグループ（距離Ｙ６）を抽出する。
【０２７５】
ステップＳ３１３：抽出された同一距離フラグのグループに含まれる複数の基準点間の距離の数「１」が、広げる予定の幅「１」より大きいか否かを判定する。大きくない（Ｎｏ）と判定され、処理は、ステップＳ３１４に進む。
【０２７６】
ステップＳ３１４：ＣＰＵ１２１は、抽出された基準点間の量子化された距離の幅の値を１だけ大きくする。距離Ｙ６の幅は、調整によって「２」になる。
【０２７７】
ステップＳ３１５：ＣＰＵ１２１は、距離Ｙ６に対応して調整済みフラグを立てて、距離Ｙ６を再度調整しないようにする。
【０２７８】
ステップＳ３１６：ＣＰＵ１２１は、抽出された基準点間の距離に同一距離フラグが設定されているか否かを判定する。設定されていない（Ｎｏ）と判定され、処理は、ステップＳ３０５に進む（図１１（ａ）参照）。
【０２７９】
ステップＳ３２３：ＣＰＵ１２１は、距離Ｙ２および距離Ｙ４に対応して調整済みフラグを立てて、距離Ｙ２および距離Ｙ４を再度調整しないようにする。
【０２８０】
ステップＳ３２４：ＣＰＵ１２１は、抽出された基準点間の距離に同一距離フラグが設定されているか否かを判定する。設定されている（Ｙｅｓ）と判定され、処理は、ステップＳ３２５に進む。
【０２８１】
ステップＳ３２５：ＣＰＵ１２１は、調整済みフラグが立っていない基準点間の距離の中に同じ同一距離フラグを有する基準点間の距離があるか否かを判定する。ない（Ｎｏ）と判定され、処理は、ステップＳ３０５に進む。
【０２８２】
ステップＳ３０５：ＣＰＵ１２１は、調整２回後の距離の幅の合計「１６」が目標値「１６」と同じであるか否かを判定する。同じである（Ｙｅｓ）と判定され、処理は、Ｓ３２７に進む。
【０２８３】
以降、ＣＰＵ１２１は、ステップＳ３２７〜ステップ３２９を実行し、グリッドフィッティング処理を終了する。
【０２８４】
以上、図１１〜図１３を参照してグリッドフィッティング処理手順の詳細をステップごとに説明した。
【０２８５】
図１４は、文字「中」の文字データ１４２に含まれる座標データとこれらの座標データをスケーリングした後の座標データとスケーリング後の座標データをグリッドフィッティングした後の座標データとを示す。「グリッドフィッティング後のＸ座標」は、グリッドフィッティングした後の座標のうちＸ座標成分を示す。「グリッドフィッティング後のＹ座標」は、グリッドフィッティングした後の座標のうちＹ座標成分を示す。
【０２８６】
スケーリングした後の点Ｐ１（８．９４，１５．００）はグリッドフィッティングされることによってグリッドフィッティングした後の点Ｐ１（９，１５）に変更される。
【０２８７】
図１５は、文字「晶」の文字データ１４２に含まれる座標データとこれらの座標データをスケーリングした後の座標データとスケーリングした後の座標データをグリッドフィッティングした後の座標データとを示す。「グリッドフィッティング後のＸ座標」は、グリッドフィッティングした後の座標のうちＸ座標成分を示す。「グリッドフィッティング後のＹ座標」は、グリッドフィッティングした後の座標のうちＹ座標成分を示す。
【０２８８】
スケーリングした後の点Ｐ１（１３．６９，１５．８８）はグリッドフィッティングされることによってグリッドフィッティングした後の点Ｐ１（１４，１６）に変更される。
【０２８９】
以上、図を参照してグリッドフィッティング処理手順の詳細をステップごとに説明した。
【０２９０】
図１６は、本発明の表示処理手順によって生成された文字「中」を示す描画データを表示デバイス１３０に表示した例を示す。１６ドット×１６ドットの表示面に、線幅および線間隔が均一である文字「中」が表示される。
【０２９１】
図１７は、本発明の表示処理手順によって生成された文字「晶」を示す描画データを表示デバイス１３０に表示した例を示す。１６ドット×１６ドットの表示面に、線幅および線間隔が均一である文字「晶」が表示される。
【０２９２】
以上、図１〜図１７を参照して本発明の実施の形態を説明した。
【０２９３】
本発明の実施の形態によって説明された例によれば、ＣＰＵ１２１が「複数の基準点を含む文字または図形をスケーリングすることによって、スケーリングされた基準点を生成する第１生成手段」と、「前記スケーリングされた基準点のうち、最大の値を有する最大基準点と最小の値を有する最小基準点との間の距離を量子化することによって、目標値を生成する目標値生成手段」と、「前記スケーリングされた基準点の各基準点間の距離の幅を量子化することによって、量子化された距離を生成する第２生成手段」と、「前記第２生成手段で生成された距離の幅の合計が前記目標値に近づくように、量子化された各基準点間の距離の幅のうち少なくとも１つの距離の幅と他の少なくとも１つの距離の幅とが調整後に等しくなるように基準点間の距離の幅を調整する調整手段」と、「前記調整された距離に合致するように再調整された基準点に基づいて、スケーリングされた文字または図形を表示する表示手段」とに対応する。
【０２９４】
しかし、図１〜図１７に示される実施の形態は、本発明の文字表示装置の機能の一例を示したに過ぎない。上述した各手段の機能が達成される限りは、任意の構成を有する文字表示装置が本発明の範囲内に含まれ得る。
【０２９５】
例えば、上述した各手段は、ハードウェアによって実現されてもよいし、ソフトウェアによって実現されてもよいし、ハードウェアとソフトウェアとによって実現されてもよい。
【０２９６】
例えば、文字表示プログラム１４１は、文字表示装置１００の出荷時に、補助記憶装置１４０に予め格納されていてもよい。
【０２９７】
あるいは、文字表示装置１００の出荷後に、文字表示プログラム１４１を補助記憶装置１４０に格納するようにしてもよい。例えば、ユーザがインターネット上の特定のウェブサイトから文字表示プログラム１４１を有料または無料でダウンロードし、そのダウンロードされたプログラムを文字表示装置１００にインストールするようにしてもよい。文字表示プログラム１４１がフレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体に記録されている場合には、入力装置を用いて文字表示プログラム１４１をコンピュータにインストールするようにしてもよい。インストールされたプログラムは、補助記憶装置１４０に格納される。
【０２９８】
さらに、例えば、上述した実施の形態では、文字をスケーリングし、スケーリングされた文字を表示する場合を例にとり説明したが、本発明はこれに限定されない。文字に代えて、あるいは文字に加えて、図形をスケーリングし、スケーリングされた図形を表示する場合にも本発明を適用することができる。この場合、文字表示プログラム１４１に代えて、あるいは文字表示プログラム１４１に加えて図形表示プログラムを使用するようにし、文字データ１４２に代えて、あるいは文字データ１４２に加えて図形データを使用するようにすればよい。図形表示プログラムもまた、文字表示プログラム１４１と同様のステップを含み得る。文字データと同様に図形データもまた少なくとも１つの基準点を含み得る。
【０２９９】
なお、本明細書中で用いられる「文字」は、例えば、ひらがな、カタカナ、漢字、アルファベット、絵文字および数字を含む。更に、本明細書中で用いられる「図形」は、例えば、文字の一部、模様、記号を含む。
【０３００】
図４および図７を参照して説明したように、同一距離フラグが割り付けられる距離は、予め決められており、基準点間データに含まれているが、同一距離フラグが割り付けられる距離が、予め決められていることに限定されない。同一距離フラグの割り付けが同一距離フラグ取得プログラム１４１ｄを実行することによって実現し得る。
【０３０１】
図１８は、本発明の同一距離フラグ取得処理手順を示す。同一距離フラグ取得処理手順は、ＣＰＵ１２１が同一距離フラグ取得プログラム１４１ｄを実行することによって実現される。
【０３０２】
図１９は、図５に示された文字「晶」の文字データ１４２に含まれる基準点間データに同一距離フラグを割り付ける手順を説明するための図である。
【０３０３】
「距離」は、基準点間のＸ軸方向の距離も幅を示す。この距離は、スケーリングされる前の距離である。例えば、距離Ｘ１のＸ軸方向の幅は「１６」である。
【０３０４】
以下、図１８および図１９を参照して、本発明の同一距離フラグ取得処理手順を説明する。
【０３０５】
ステップＳ４０１：距離「ｉ」に初期値「１」を設定し、対象となる距離の数「ｎ」に初期値「Ｎ」を設定する。例えば、対象となる距離が距離Ｘ１〜距離Ｘ１１の場合には、ｎ＝１１である。
【０３０６】
ステップＳ４０２：距離「ｉ」に既に同一距離フラグが付されているか否かを判定する。同一距離フラグが既に割り付けられているものを対象外にするためである。付されている（Ｙｅｓ）と判定された場合には、処理はステップＳ４１１に進む。付されていない（Ｎｏ）と判定された場合には、処理はステップＳ４０３に進む。
【０３０７】
ステップＳ４０３：距離「ｊ」に初期値「ｉ＋１」を設定する。
【０３０８】
ステップＳ４０４：距離ｊに既に同一距離フラグが付されているか否かを判定する。同一距離フラグが既に割り付けられているものを対象外にするためである。
【０３０９】
ステップＳ４０５：距離ｉの幅と距離ｊの幅との差が所定の大きさ「α」以下か否かを判定する。所定の大きさ「α」以下である（Ｙｅｓ）と判定された場合には、処理は、ステップＳ４０６に進む。所定の大きさ「α」以下でない（Ｎｏ）と判定された場合には、処理は、ステップＳ４０７に進む。本発明の実施の形態では、α＝１とする。
【０３１０】
ステップＳ４０６：同一距離フラグを付すための候補として距離ｊを設定する。
【０３１１】
ステップＳ４０７：「ｊ」をインクリメントする（「ｊ」に「ｊ＋１」を代入する）。
【０３１２】
ステップＳ４０８：「ｊ」が対象となる距離の数「Ｎ」より大きいか否かを判定する。大きい（Ｙｅｓ）と判定された場合には、処理はステップＳ４０９に進む。大きくない（Ｎｏ）と判定された場合には、処理はステップＳ４０４に進む。
【０３１３】
ステップＳ４０９：同一距離フラグを付すための候補が既に設定されているか否かを判定する。候補が既に設定されている（Ｙｅｓ）と判定された場合には、処理は、ステップＳ４１０に進む。候補が設定されていない（Ｎｏ）と判定された場合には、処理は、ステップＳ４１１に進む。
【０３１４】
ステップＳ４０４〜ステップＳ４０９を繰り返すことによって、ｉ＝１（距離Ｘ１が基準）の場合には、同一距離フラグを付すための候補として距離Ｘ１、距離Ｘ３、距離Ｘ５、距離Ｘ７、距離Ｘ９、距離Ｘ１１が設定される。ｉ＝２（距離Ｘ２が基準）の場合には、同一距離フラグを付すための候補として距離Ｘ２、距離Ｘ１０が設定される。ｉ＝４（距離Ｘ４が基準）の場合には、同一距離フラグを付すための候補として距離Ｘ４、距離Ｘ８が設定される。ｉ＝６（距離Ｘ６が基準）の場合には、同一距離フラグを付すための候補として、他に候補がないので距離Ｘ６のみが設定される。
【０３１５】
図１９を参照して説明する場合には、所定の大きさを「３」とすると、幅「７」を有する距離Ｘ２と幅「８」を有する距離Ｘ１０との差が１であるため、同じ値の同一距離フラグが割り付けられる。
【０３１６】
ステップＳ４１０：同じ値の同一距離フラグを割り付ける。値は、１から順に用いる。
【０３１７】
距離Ｘ１、距離Ｘ３、距離Ｘ５、距離Ｘ７、距離Ｘ９、距離Ｘ１１には、値「１」である同一距離フラグが割り付けられる。距離Ｘ２、距離Ｘ１０には、値「２」である同一距離フラグが割り付けられる。距離Ｘ４、距離Ｘ８には、値「３」である同一距離フラグが割り付けられる。このようにして、元々は違う大きさをも含む複数の距離であっても、同じ値の同一距離フラグを割り付けることによって、同じ大きさに調整するグループとしてまとめることができる。
【０３１８】
ステップＳ４１１：「ｉ」をインクリメントする（「ｉ」に「ｉ＋１」を代入する）。
【０３１９】
ステップＳ４１２：「ｉ」が対象となる距離の数「Ｎ」と同じか否かを判定する。同じ（Ｙｅｓ）と判定された場合には、処理は終了する。同じでない（Ｎｏ）と判定された場合には、処理はステップＳ４０２に進む。
【０３２０】
図１８および図１９を参照して説明したように、本発明の同一距離フラグ取得プログラムによれば、スケーリングされた基準点間の距離のうち、距離を同じにするものを決定し、同一距離フラグを割り付けることができる。
本発明では、同一距離取得プログラムは同一距離フラグが図１に示される文字データ（１４２）に予め設定されていない時などに実行されるものであり、図８を参照して説明されたステップＳ１０１を実行することによってデータを読み込みの後、実行され、同一距離取得プログラムを実行することによって同一距離フラグを取得の後、ステップＳ１０２を実行することによってスケーリングが行われることで、本発明での同一距離フラグの活用を可能にする。
【０３２１】
以上のように、本発明の好ましい実施形態を用いて本発明を例示してきたが、本発明は、この実施形態に限定して解釈されるべきものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。本明細書において引用した特許、特許出願および文献は、その内容自体が具体的に本明細書に記載されているのと同様にその内容が本明細書に対する参考として援用されるべきであることが理解される。
【産業上の利用可能性】
【０３２２】
本発明の文字図形表示装置、プログラムおよび記録媒体によれば、量子化された距離の幅の合計が目標値に近づくように、基準点間の距離の幅を調整する。この場合には、量子化された各基準点間の距離の幅のうち少なくとも１つの距離の幅と他の少なくとも１つの距離の幅とが調整後に等しくなるように、基準点間の距離の幅を調整する。従って、少なくとも１つの距離の幅と他の少なくとも１つの距離の幅とが異なった距離の幅に変更されることを防ぐことができる。その結果、文字または図形に含まれる線の幅、線の間隔を調整前後で所望の状態に保持することができる。
【図面の簡単な説明】
【０３２３】
【図１】本発明の実施の形態の文字表示装置１００の構成を示す図である。
【図２】２５６×２５６メッシュで表示されたアウトラインフォントの文字「中」を示す図である。
【図３】図２に示された文字「中」の文字データ１４２に含まれる座標データを示す図である。
【図４】図２に示された文字「中」の文字データ１４２に含まれる基準点間データを示す図である。
【図５】２５６×２５６メッシュで表示されたアウトラインフォントの文字「晶」を示す図である。
【図６】図５に示された文字「晶」の文字データ１４２に含まれる座標データを示す図である。
【図７】図５に示された文字「晶」の文字データ１４２に含まれる基準点間データを示す図である。
【図８】本発明の表示処理手順を示すフローチャートである。
【図９】文字「中」の文字データ１４２に含まれる座標データとこれらの座標データをスケーリングした後の座標データとを示す図である。
【図１０】文字「晶」の文字データ１４２に含まれる座標データとこれらの座標データをスケーリングした後の座標データとを示す図である。
【図１１ａ】グリッドフィッティング処理手順（ステップＳ３０１〜ステップＳ３１０およびステップＳ３２７〜ステップＳ３３０の処理手順）を示すフローチャートである。
【図１１ｂ】グリッドフィッティング処理手順（ステップＳ３１９〜ステップＳ３２６の処理手順）を示すフローチャートである。
【図１１ｃ】グリッドフィッティング処理手順（ステップＳ３１１〜ステップＳ３１８の処理手順）を示すフローチャートである。
【図１２】図４に示された基準点間データをグリッドフィッティング処理した後の基準点間データを示す図である。
【図１３】図７に示された基準点間データをグリッドフィッティング処理した後の基準点間データを示す図である。
【図１４】文字「中」の文字データ１４２に含まれる座標データとこれらの座標データをスケーリングした後の座標データとスケーリングした後の座標データをグリッドフィッティングした後の座標データとを示す図である。
【図１５】文字「晶」の文字データ１４２に含まれる座標データとこれらの座標データをスケーリングした後の座標データとスケーリングした後の座標データをグリッドフィッティングした後の座標データとを示す図である。
【図１６】本発明の表示処理手順によって生成された文字「中」を示す描画データを表示デバイス１３０に表示した例を示す図である。
【図１７】本発明の表示処理手順によって生成された文字「晶」を示す描画データを表示デバイス１３０に表示した例を示す図である。
【図１８】本発明の同一距離フラグ取得処理手順を示すフローチャートである。
【図１９】図５に示された文字「晶」の文字データ１４２に含まれる基準点間データに同一距離フラグを割り付ける手順を説明するための図である。
【図２０】文字「日」を示すベクトルデータをスケーリングすることによって生成されたスケーリングデータを１６ドット×１６ドットで表示した例を示す図である。
【図２１】スケーリングされたベクトルデータを四捨五入で量子化することによって生成された量子化データを１６ドット×１６ドットで表示した例を示す図である。
【図２２】太さが異なる線幅を太さが同じ線幅に補正する例を示す図である。
【図２３】線幅のみならず、線と線との間隔をも本来得られる値になるように補正する技術を開示する図である。
【図２４】文字「日」を示すベクトルデータを２５６ドット×２５６ドットで表示した例を示す図である。
【図２５】特許文献２に記載の技術によって、本来得られる値になるように輪郭を移動するように補正された例を示す図である。
【符号の説明】
【０３２４】
１００  文字表示装置
１１０  入力デバイス
１２０  制御部
１２１  ＣＰＵ
１２２  主メモリ
１３０  表示デバイス
１４０  補助記憶装置
１４１  文字表示プログラム
１４１ａ  スケーリングプログラム
１４１ｂ  グリッドフィッティングプログラム
１４１ｃ  描画データ生成プログラム
１４１ｄ  同一距離フラグ取得プログラム
１４２  文字データ
【図１】
2006201406.tif 000003
【図２】
2006201406.tif 000004
【図３】
2006201406.tif 000005
【図４】
2006201406.tif 000006
【図５】
2006201406.tif 000007
【図６】
2006201406.tif 000008
【図７】
2006201406.tif 000009
【図８】
2006201406.tif 000010
【図９】
2006201406.tif 000011
【図１０】
2006201406.tif 000012
【図１１ａ】
2006201406.tif 000013
【図１１ｂ】
2006201406.tif 000014
【図１１ｃ】
2006201406.tif 000015
【図１２】
2006201406.tif 000016
【図１３】
2006201406.tif 000017
【図１４】
2006201406.tif 000018
【図１５】
2006201406.tif 000019
【図１６】
2006201406.tif 000020
【図１７】
2006201406.tif 000021
【図１８】
2006201406.tif 000022
【図１９】
2006201406.tif 000023
【図２０】
2006201406.tif 000024
【図２１】
2006201406.tif 000025
【図２２】
2006201406.tif 000026
【図２３】
2006201406.tif 000027
【図２４】
2006201406.tif 000028
【図２５】
2006201406.tif 000029
【手続補正書】
【提出日】平成18年4月27日(2006.4.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の基準点を含む文字または図形をスケーリングすることによって、スケーリングされた基準点を生成し、
前記スケーリングされた基準点の各基準点間毎の距離を量子化することによって得られる距離の合計が目標値に近づくように、前記スケーリングされた基準点の各基準点間毎の距離を量子化したもののうち、同一の距離情報を有する基準点間については同一の距離に調整し、
前記調整された基準点に基づいて、スケーリングされた文字または図形を表示する、文字図形表示装置。
【請求項２】
前記同一の距離情報を有する少なくとも２つの基準点間におけるそれぞれの前記量子化された距離は、互いに異なる、請求項１に記載の文字図形表示装置。
【請求項３】
前記目標値は、前記スケーリングされた基準点のうち最大の値を有する最大基準点と最小の値を有する最小基準点との間の距離を量子化したものである、請求項１記載の文字図形表示装置。
【請求項４】
複数の基準点を含む文字または図形をスケーリングすることによって、スケーリングされた基準点を生成する第１生成手段と、
前記スケーリングされた基準点のうち、最大の値を有する最大基準点と最小の値を有する最小基準点との間の距離を量子化することによって、目標値を生成する目標値生成手段と、
前記スケーリングされた基準点の各基準点間の距離を量子化することによって、量子化された距離を生成する第２生成手段と、
前記第２生成手段で生成された距離の合計が前記目標値に近づくように、量子化された各基準点間の距離のうち、同一の距離情報を有する基準点間については同一の距離に調整する調整手段と、
前記調整された距離に合致するように再調整された基準点に基づいて、スケーリングされた文字または図形を表示する表示手段と
を備えた文字図形表示装置。
【請求項５】
前記距離情報は、前記スケーリングされた基準点間の距離に対して予め決められている情報、または前記スケーリングされた基準点間の距離から算出された情報の何れかである、請求項１または４に記載の文字図形表示装置。
【請求項６】
前記量子化された距離の合計が前記目標値より大きいか否かを判定する第１判定手段をさらに備え、
前記調整手段は、
前記量子化された距離の合計が前記目標値より小さいと判定された場合は、前記量子化された距離のうち、最大切り下げ幅を有する距離と、前記最大切り下げ幅を有する距離に等しいと規定された距離とをすべて１だけ増加し、
前記量子化された距離の合計が前記目標値より大きいと判定された場合は、前記量子化された距離のうち、前記最大切り上げ幅を有する距離と、前記最大切り上げ幅を有する距離に等しいと規定された距離とをすべて１だけ減少する、請求項４に記載の文字図形表示装置。
【請求項７】
前記最大切り下げ幅を有する距離に等しいと規定された距離の個数が、前記調整する幅より大きいか否かを判定する第２判定手段と、前記最大切り上げ幅を有する距離に等しいと規定された距離の個数が、前記調整する幅より大きいか否かを判定する第３判定手段とのうちの少なくとも一方をさらに備え、
前記調整手段は、
前記量子化された距離の合計が前記目標値より小さいと判定され、さらに、前記最大切り下げ幅を有する距離に等しいと規定された距離の個数が、前記調整する幅より大きくないと判定された場合は、前記最大切り下げ幅を有する距離に等しいと規定された距離をすべて１だけ増加し、
前記量子化された距離の合計が前記目標値より大きいと判定され、さらに、前記最大切り上げ幅を有する距離に等しいと規定された距離の個数が、前記調整する幅より大きくないと判定された場合は、前記最大切り上げ幅を有する距離に等しいと規定された距離をすべて１だけ減少する、請求項６に記載の文字図形表示装置。
【請求項８】
前記調整手段は、前記スケーリングされた基準点を生成した後、前記量子化された基準点間の距離のうち少なくとも１つの距離を一度だけ増加または減少する、請求項６に記載の文字図形表示装置。
【請求項９】
前記最大基準点と前記最大基準点を前記第１の方法で量子化することによって生成された量子化後の最大基準点との第１量子化誤差が、前記最小基準点と前記最小基準点を前記第１の方法で量子化することによって生成された量子化後の最小基準点との第２量子化誤差よりも大きいか否かを判定する第３判定手段をさらに備え、
前記表示手段は、
前記第１量子化誤差が第２量子化誤差よりも小さいと判定された場合には、前記量子化後の最大基準点を前記表示される文字または図形の基準座標値とし、
前記第１量子化誤差が第２量子化誤差よりも大きいと判定された場合には、前記量子化後の最小基準点を前記表示される文字または図形の基準座標値とする、請求項１から請求項８のいずれかに記載の文字図形表示装置。
【請求項１０】
コンピュータに文字図形表示処理を実行させるためのプログラムであって、
前記文字図形表示処理は、
複数の基準点を含む文字または図形をスケーリングすることによって、スケーリングされた基準点を生成する第１生成ステップと、
前記スケーリングされた基準点のうち、最大の値を有する最大基準点と最小の値を有する最小基準点との間の距離を量子化することによって、目標値を生成する目標値生成ステップと、
前記スケーリングされた基準点の各基準点間の距離を量子化することによって、量子化された距離を生成する第２生成ステップと、
前記第２生成手段で生成された距離の合計が前記目標値に近づくように、量子化された各基準点間の距離のうち、同一の距離情報を有する基準点間については同一の距離に調整する調整ステップと、
前記調整された距離に合致するように再調整された基準点に基づいて、スケーリングされた文字または図形を表示する表示ステップと
を包含する、プログラム。
【請求項１１】
コンピュータによって読み取り可能な記録媒体であって、
前記記録媒体には、前記コンピュータに文字図形表示処理を実行させるためのプログラムが記録されており、
前記文字図形表示処理は、
複数の基準点を含む文字または図形をスケーリングすることによって、スケーリングされた基準点を生成する第１生成ステップと、
前記スケーリングされた基準点のうち、最大の値を有する最大基準点と最小の値を有する最小基準点との間の距離を量子化することによって、目標値を生成する目標値生成ステップと、
前記スケーリングされた基準点の各基準点間の距離を量子化することによって、量子化された距離を生成する第２生成ステップと、
前記第２生成手段で生成された距離の合計が前記目標値に近づくように、量子化された各基準点間の距離のうち、同一の距離情報を有する基準点間については同一の距離に調整する調整ステップと、
前記調整された距離に合致するように再調整された基準点に基づいて、スケーリングされた文字または図形を表示する表示ステップと
を包含する、記録媒体。