(57)【特許請求の範囲】
【請求項１】
１つ以上の描画可能な文字又は１つ以上の描画可能な記号である描画要素の全てにおいて、描画要素における一方向が、描画が許容されている描画エリアにおける一方向に収まる場合、描画対象の文字列又は描画対象の記号列に含まれている全ての描画要素における一方向の縮小率を第１の縮小率に設定し、前記描画可能な１つ以上の描画要素のうち、少なくとも一部の描画要素における一方向が、前記描画エリアにおける一方向に収まらない場合、前記文字列又は前記記号列に含まれている１つ以上の描画要素のうち、一方向が前記描画エリアにおける一方向に収まる描画要素については、一方向の縮小率を前記第１の縮小率よりも縮小の度合が大きい第２の縮小率に設定し、一方向が前記描画エリアにおける一方向に収まらない描画要素については、一方向の縮小率を前記第２の縮小率よりも縮小の度合が大きい第３の縮小率に設定する縮小率設定部と、
前記縮小率設定部によりそれぞれ設定された縮小率で、前記文字列又は前記記号列に含まれている各々の描画要素を描画する描画部と
を備えた描画装置。
【請求項２】
前記縮小率設定部は、前記第１の縮小率として、描画要素における一方向を縮小しない値である１．０を設定することを特徴とする請求項１記載の描画装置。
【請求項３】
前記縮小率設定部は、
前記第２の縮小率として、１．０と、前記描画可能な１つ以上の描画要素における一方向のサイズの中で最大のサイズを、前記描画エリアにおける一方向のサイズで除算した値との平均値を設定し、
前記第３の縮小率として、一方向が前記描画エリアにおける一方向に収まらない描画要素における一方向のサイズを、前記描画エリアにおける一方向のサイズで除算した値と、前記最大のサイズを、前記描画エリアにおける一方向のサイズで除算した値との平均値を設定することを特徴とする請求項２記載の描画装置。
【請求項４】
前記縮小率設定部は、
前記第２の縮小率として、１．０と、前記描画可能な１つ以上の描画要素における一方向のサイズの中で最大のサイズを、前記描画エリアにおける一方向のサイズで除算した値との荷重平均値を設定し、
前記第３の縮小率として、一方向が前記描画エリアにおける一方向に収まらない描画要素における一方向のサイズを、前記描画エリアにおける一方向のサイズで除算した値と、前記最大のサイズを、前記描画エリアにおける一方向のサイズで除算した値との荷重平均値を設定することを特徴とする請求項２記載の描画装置。
【請求項５】
前記縮小率設定部は、
１つ以上の文字が並んでいる文字列を前記描画要素又は１つ以上の記号が並んでいる記号列を前記描画要素として取扱い、前記描画対象の文字列の中に、前記描画要素として取扱う文字列が１つ以上含まれ、あるいは、前記描画対象の記号列の中に、前記描画要素として取扱う記号列が１つ以上含まれていることを特徴とする請求項１記載の描画装置。
【請求項６】
縮小率設定部が、１つ以上の描画可能な文字又は１つ以上の描画可能な記号である描画要素の全てにおいて、描画要素における一方向が、描画が許容されている描画エリアにおける一方向に収まる場合、描画対象の文字列又は描画対象の記号列に含まれている全ての描画要素における一方向の縮小率を第１の縮小率に設定し、前記描画可能な１つ以上の描画要素のうち、少なくとも一部の描画要素における一方向が、前記描画エリアにおける一方向に収まらない場合、前記文字列又は前記記号列に含まれている１つ以上の描画要素のうち、一方向が前記描画エリアにおける一方向に収まる描画要素については、一方向の縮小率を前記第１の縮小率よりも縮小の度合が大きい第２の縮小率に設定し、一方向が前記描画エリアにおける一方向に収まらない描画要素については、一方向の縮小率を前記第２の縮小率よりも縮小の度合が大きい第３の縮小率に設定し、
描画部が、前記縮小率設定部によりそれぞれ設定された縮小率で、前記文字列又は前記記号列に含まれている各々の描画要素を描画する
描画方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、文字又は記号である描画要素の縮小率を設定し、設定した縮小率で描画要素を描画する描画装置及び描画方法に関するものである。
【背景技術】
【０００２】
例えば、複数の文字が並べられている文字列を描画する際、各々の文字の幅が所定の文字幅以下になるように、各々の文字の幅方向だけを縮小してから、文字列を描画している描画装置が以下の特許文献１に開示されている。
この描画装置は、全ての文字の文字幅のサイズが共通である等幅書体の文字に適用される装置である。
この描画装置は、描画対象の文字列に半角文字が含まれている場合、半角文字についても、全角文字と同様に、幅方向の縮小率を設定すると、半角文字が過剰に縦長な文字になって、読み難くなるため、全角文字よりも、半角文字の幅方向の縮小を抑えるようにしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平３−１２６９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の描画装置は以上のように構成されているので、半角文字の幅方向の過剰な縮小を抑えることができる。しかし、文字列に含まれている文字の幅方向のサイズが文字毎に異なるプロポーショナル書体である場合、文字列に含まれている文字が全角文字であれば、幅方向のサイズが狭い文字と、幅方向のサイズが広い文字とが同じ縮小率で、幅方向が縮小される。このため、例えば、アルファベットの「Ｉ」など、幅方向のサイズが狭い文字は、過剰に縦長な文字になって、可読性が低下してしまうという課題があった。【０００５】
この発明は上記のような課題を解決するためになされたもので、可読性の低下を招くことなく、プロポーショナル書体の描画要素である文字又は記号を縮小して描画することができる描画装置及び描画方法を得ることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係る描画装置は、１つ以上の描画可能な文字又は１つ以上の描画可能な記号である描画要素の全てにおいて、描画要素における一方向が、描画が許容されている描画エリアにおける一方向に収まる場合、描画対象の文字列又は描画対象の記号列に含まれている全ての描画要素における一方向の縮小率を第１の縮小率に設定し、描画可能な１つ以上の描画要素のうち、少なくとも一部の描画要素における一方向が、描画エリアにおける一方向に収まらない場合、文字列又は記号列に含まれている１つ以上の描画要素のうち、一方向が描画エリアにおける一方向に収まる描画要素については、一方向の縮小率を第１の縮小率よりも縮小の度合が大きい第２の縮小率に設定し、一方向が描画エリアにおける一方向に収まらない描画要素については、一方向の縮小率を第２の縮小率よりも縮小の度合が大きい第３の縮小率に設定する縮小率設定部とを設け、描画部が、縮小率設定部によりそれぞれ設定された縮小率で、文字列又は記号列に含まれている各々の描画要素を描画するようにしたものである。
【発明の効果】
【０００７】
この発明によれば、縮小率設定部が、１つ以上の描画可能な文字又は１つ以上の描画可能な記号である描画要素の全てにおいて、描画要素における一方向が、描画が許容されている描画エリアにおける一方向に収まる場合、描画対象の文字列又は描画対象の記号列に含まれている全ての描画要素における一方向の縮小率を第１の縮小率に設定し、描画可能な１つ以上の描画要素のうち、少なくとも一部の描画要素における一方向が、描画エリアにおける一方向に収まらない場合、文字列又は記号列に含まれている１つ以上の描画要素のうち、一方向が描画エリアにおける一方向に収まる描画要素については、一方向の縮小率を第１の縮小率よりも縮小の度合が大きい第２の縮小率に設定し、一方向が描画エリアにおける一方向に収まらない描画要素については、一方向の縮小率を第２の縮小率よりも縮小の度合が大きい第３の縮小率に設定するように構成したので、可読性の低下を招くことなく、プロポーショナル書体の描画要素である文字又は記号を縮小して描画することができる効果がある。
【図面の簡単な説明】
【０００８】
【図１】この発明の実施の形態１による描画装置を示す構成図である。
【図２】この発明の実施の形態１による描画装置を示すハードウェア構成図である。
【図３】描画装置がソフトウェア又はファームウェアなどで実現される場合のコンピュータのハードウェア構成図である。
【図４】描画装置がソフトウェア又はファームウェアなどで実現される場合の処理手順である描画方法を示すフローチャートである。
【図５】描画要素格納部１により格納されている描画対象の文字列に含まれている文字の一例を示す説明図である。
【図６】図５に示している文字「Ｉ」，「Ｃ」，「Ｗ」の幅方向を縮小せずに描画した場合の描画結果を示す説明図である。
【図７】第１の方法で縮小率Ｒが設定された場合の描画結果を示す説明図である。
【図８】第２の方法で縮小率Ｒが設定された場合の描画結果を示す説明図である。
【図９】実施の形態１の方法で縮小率Ｒが設定された場合の描画結果を示す説明図である。
【図１０】１つの文字として扱う文字列の全てが縮小されずに描画された結果を示す説明図である。
【図１１】第１の方法で、１つの文字として扱う文字列が縮小されて描画された結果を示す説明図である。
【図１２】第２の方法で、１つの文字として扱う文字列が縮小されて描画された結果を示す説明図である。
【図１３】この実施の形態１における第３の方法で、１つの文字として扱う文字列が縮小されて描画された結果を示す説明図である。
【図１４】「Ａ」〜「Ｚ」のアルファベットと、「０」〜「９」の数字とが縮小されずに描画された結果を示す説明図である。
【図１５】第１の方法で、「Ａ」〜「Ｚ」のアルファベットと、「０」〜「９」の数字とが縮小されて描画された結果を示す説明図である。
【図１６】第２の方法で、「Ａ」〜「Ｚ」のアルファベットと、「０」〜「９」の数字とが縮小されて描画された結果を示す説明図である。
【図１７】この実施の形態１における第３の方法で、「Ａ」〜「Ｚ」のアルファベットと、「０」〜「９」の数字とが縮小されて描画された結果を示す説明図である。
【図１８】「Ａ」〜「Ｚ」のアルファベットと、「０」〜「９」の数字とが縮小されずに描画された結果を示す説明図である。
【図１９】第１の方法で、「Ａ」〜「Ｚ」のアルファベットと、「０」〜「９」の数字とが縮小されて描画された結果を示す説明図である。
【図２０】第２の方法で、「Ａ」〜「Ｚ」のアルファベットと、「０」〜「９」の数字とが縮小されて描画された結果を示す説明図である。
【図２１】この実施の形態１における第３の方法で、「Ａ」〜「Ｚ」のアルファベットと、「０」〜「９」の数字とが縮小されて描画された結果を示す説明図である。
【発明を実施するための形態】
【０００９】
以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
【００１０】
実施の形態１．
図１は、この発明の実施の形態１による描画装置を示す構成図である。図２は、この発明の実施の形態１による描画装置を示すハードウェア構成図である。
この実施の形態１では、描画要素が、プロポーショナル書体の文字である例を説明するが、描画要素が、プロポーショナル書体の記号であってもよい。
また、描画要素が、等幅書体の文字又は記号であってもよい。
【００１１】
図１及び図２において、描画要素格納部１は、例えば図２に示す描画要素記憶回路２１で実現される。
描画要素格納部１は、１つ以上の描画要素として、描画可能な１つ以上の文字を格納している。
この実施の形態１では、描画要素格納部１が、１つ以上の描画要素として、描画可能な１つ以上の文字を格納している例を説明するが、１つ以上の描画要素として、描画可能な１つ以上の記号を格納しているものであってもよい。
この実施の形態１では、描画可能な１つ以上の文字として、「Ａ」〜「Ｚ」のアルファベットが格納されている例を説明する。
文字幅格納部２は、例えば図２に示す文字幅記憶回路２２で実現される。
文字幅格納部２は、描画要素格納部１により格納されている各々の文字の幅方向（一方向）のサイズＷｃを格納している。
ただし、幅方向のサイズＷｃは、描画要素格納部１により格納されている各々の文字の幅の比で表されているものとする。
この実施の形態１では、描画対象の文字列を横書きで描画する例を想定しているため、文字幅格納部２が、各々の文字の一方向として、各々の文字の幅方向のサイズＷｃを格納しているものとするが、描画対象の文字列を縦書きで描画する場合、文字幅格納部２は、各々の文字の一方向として、各々の文字の高さ方向のサイズＷｃを格納する。
この実施の形態１では、文字幅格納部２が単にメモリとして機能して、各々の文字の幅方向のサイズＷｃを格納する例を示しているが、文字幅格納部２が、描画要素格納部１により格納されている各々の文字の幅方向のサイズＷｃを検出する機能を備えるようにしてもよい。
【００１２】
最大サイズ格納部３は、例えば図２に示す最大サイズ記憶回路２３で実現される。
最大サイズ格納部３は、文字幅格納部２により格納されている各々の文字の幅方向のサイズＷｃの中で、最大のサイズＷｍａｘを格納している。
この実施の形態１では、「Ａ」〜「Ｚ」のアルファベットが描画要素格納部１に格納されている。「Ａ」〜「Ｚ」のアルファベットの中で、幅方向のサイズＷｃが最大の文字は文字「Ｗ」であるため、文字「Ｗ」の幅方向のサイズＷｃが、最大のサイズＷｍａｘとして最大サイズ格納部３に格納されている。
この実施の形態１では、描画対象の文字列を横書きで描画する例を想定しているため、最大サイズ格納部３が、幅方向の最大サイズを格納しているものとするが、描画対象の文字列を縦書きで描画する場合、最大サイズ格納部３は、高さ方向の最大サイズを格納する。
この実施の形態１では、最大サイズ格納部３が単にメモリとして機能して、最大のサイズＷｍａｘを格納する例を示しているが、最大サイズ格納部３が、文字幅格納部２により格納されている各々の文字の幅方向を比較して、最大のサイズＷｍａｘを特定する機能を備えるようにしてもよい。
【００１３】
文字列格納部４は、例えば図２に示す文字列記憶回路２４で実現される。
文字列格納部４は、描画対象の文字列を格納している。
この実施の形態１では、説明の便宜上、描画対象の文字列に含まれている文字が「Ｉ」，「Ｃ」，「Ｗ」であるとする。
この実施の形態１では、文字列格納部４が、描画対象の文字列を格納している例を説明するが、描画対象の記号列を格納しているものであってもよい。
エリアサイズ格納部５は、例えば図２に示すエリアサイズ記憶回路２５で実現される。
エリアサイズ格納部５は、１つの文字の描画が許容されている描画エリアにおける幅方向（一方向）のサイズＧＳＩＺＥを格納している。
【００１４】
縮小率設定部６は、例えば図２に示す縮小率設定回路２６で実現される。
縮小率設定部６は、描画要素格納部１により格納されている描画可能な文字の全てにおいて、文字の幅方向が描画エリアの幅方向に収まる場合、文字列格納部４により格納されている文字列に含まれている全ての文字における幅方向の縮小率Ｒを第１の縮小率Ｒ１に設定する処理を実施する。
即ち、縮小率設定部６は、最大サイズ格納部３により格納されている最大のサイズＷｍａｘが、エリアサイズ格納部５により格納されている描画エリアにおける幅方向のサイズＧＳＩＺＥ以下である場合、文字列格納部４により格納されている文字列に含まれている全ての文字における幅方向の縮小率Ｒを第１の縮小率Ｒ１に設定する処理を実施する。
【００１５】
縮小率設定部６は、描画要素格納部１により格納されている描画可能な１つ以上の文字のうち、少なくとも一部の文字の幅方向が描画エリアの幅方向に収まらない場合、文字列に含まれている１つ以上の文字のうち、幅方向が描画エリアの幅方向に収まる文字については、幅方向の縮小率Ｒを第１の縮小率Ｒ１よりも縮小の度合が大きい第２の縮小率Ｒ２に設定する処理を実施する。
即ち、縮小率設定部６は、最大サイズ格納部３により格納されている最大のサイズＷｍａｘが、エリアサイズ格納部５により格納されている描画エリアにおける幅方向のサイズＧＳＩＺＥよりも大きい場合、文字列に含まれている１つ以上の文字のうち、幅方向のサイズＷｃが描画エリアにおける幅方向のサイズＧＳＩＺＥ以下の文字については、幅方向の縮小率Ｒを第１の縮小率Ｒ１よりも縮小の度合が大きい第２の縮小率Ｒ２に設定する処理を実施する。
【００１６】
縮小率設定部６は、描画要素格納部１により格納されている描画可能な１つ以上の文字のうち、少なくとも一部の文字の幅方向が描画エリアの幅方向に収まらない場合、文字列に含まれている１つ以上の文字のうち、幅方向が描画エリアの幅方向に収まらない文字については、幅方向の縮小率Ｒを第２の縮小率Ｒ２よりも縮小の度合が大きい第３の縮小率Ｒ３に設定する処理を実施する。
即ち、縮小率設定部６は、最大サイズ格納部３により格納されている最大のサイズＷｍａｘが、エリアサイズ格納部５により格納されている描画エリアにおける幅方向のサイズＧＳＩＺＥよりも大きい場合、文字列に含まれている１つ以上の文字のうち、幅方向のサイズＷｃが描画エリアにおける幅方向のサイズＧＳＩＺＥよりも大きい文字については、幅方向の縮小率Ｒを第２の縮小率Ｒ２よりも縮小の度合が大きい第３の縮小率Ｒ３に設定する処理を実施する。
この実施の形態１では、文字の幅方向の縮小率は、常に１．０以上であり、例えば、縮小率が２．０のときは、文字の幅方向を５０％の大きさに縮小するという意味である。文字の幅方向を縮小する場合でも、拡大率で定義されることがあるが、この実施の形態１では、一貫して縮小率と呼ぶことにする。
【００１７】
描画部７は、例えば図２に示す描画回路２７で実現され、文字縮小部８と文字描画部９を備えている。
描画部７は、縮小率設定部６によりそれぞれ設定された縮小率Ｒで、文字列格納部４により格納されている文字列に含まれている各々の文字又は文字列格納部４により格納されている記号列に含まれている各々の記号を描画する処理を実施する。
描画部７による文字の描画は、ディスプレイへの表示でもよいし、紙への印刷であってもよい。
文字縮小部８は、縮小率設定部６によりそれぞれ設定された縮小率Ｒで、文字列格納部４により格納されている文字列に含まれている各々の文字又は文字列格納部４により格納されている記号列に含まれている各々の記号の幅方向を縮小する処理を実施する。
文字描画部９は、文字縮小部８により幅方向が縮小された各々の文字又は各々の記号を描画する処理を実施する。
【００１８】
図１では、描画装置の構成要素である描画要素格納部１、文字幅格納部２、最大サイズ格納部３、文字列格納部４、エリアサイズ格納部５、縮小率設定部６及び描画部７のそれぞれが、図２に示すような専用のハードウェアで実現されるものを想定している。即ち、描画要素記憶回路２１、文字幅記憶回路２２、最大サイズ記憶回路２３、文字列記憶回路２４、エリアサイズ記憶回路２５、縮小率設定回路２６及び描画回路２７で実現されるものを想定している。
【００１９】
ここで、描画要素記憶回路２１、文字幅記憶回路２２、最大サイズ記憶回路２３、文字列記憶回路２４及びエリアサイズ記憶回路２５は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒy）などの不揮発性又は揮発性の半導体メモリや、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）などが該当する。
また、縮小率設定回路２６及び描画回路２７は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、または、これらを組み合わせたものが該当する。
【００２０】
ただし、描画装置の構成要素は、専用のハードウェアで実現されるものに限るものではなく、描画装置がソフトウェア、ファームウェア、または、ソフトウェアとファームウェアとの組み合わせで実現されるものであってもよい。
ソフトウェア又はファームウェアはプログラムとして、コンピュータのメモリに格納される。コンピュータは、プログラムを実行するハードウェアを意味し、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）などが該当する。
図３は、描画装置がソフトウェア又はファームウェアなどで実現される場合のコンピュータのハードウェア構成図である。
【００２１】
描画装置がソフトウェア又はファームウェアなどで実現される場合、描画要素格納部１、文字幅格納部２、最大サイズ格納部３、文字列格納部４及びエリアサイズ格納部５をコンピュータのメモリ３１上に構成するとともに、縮小率設定部６及び描画部７の処理手順をコンピュータに実行させるためのプログラムをメモリ３１に格納し、コンピュータのプロセッサ３２がメモリ３１に格納されているプログラムを実行するようにすればよい。
図４は、描画装置がソフトウェア又はファームウェアなどで実現される場合の処理手順である描画方法を示すフローチャートである。
図２では、描画装置の構成要素のそれぞれが専用のハードウェアで実現される例を示し、図３では、描画装置がソフトウェアやファームウェアなどで実現される例を示しているが、描画装置における一部の構成要素が専用のハードウェアで実現され、残りの構成要素がソフトウェア又はファームウェアなどで実現されるものであってもよい。
【００２２】
次に動作について説明する。
図５は、描画要素格納部１により格納されている描画対象の文字列に含まれている文字の一例を示す説明図である。
図５の例では、文字列に含まれている文字が「Ｉ」，「Ｃ」，「Ｗ」であり、各々の文字の幅方向のサイズＷｃが相違している。
文字「Ｉ」，「Ｃ」，「Ｗ」の中で、文字「Ｉ」の幅方向のサイズＷｃが最も小さく、文字「Ｃ」の幅方向のサイズＷｃが２番目に小さく、文字「Ｗ」の幅方向のサイズＷｃが最も大きい。
図６は、図５に示している文字「Ｉ」，「Ｃ」，「Ｗ」の幅方向を縮小せずに描画した場合の描画結果を示す説明図である。
図６の例では、文字「Ｉ」の幅方向のサイズＷｃは、描画エリアにおける幅方向のサイズＧＳＩＺＥよりも小さいが、文字「Ｃ」の幅方向のサイズＷｃ及び文字「Ｗ」の幅方向のサイズＷｃのそれぞれは、描画エリアにおける幅方向のサイズＧＳＩＺＥよりも大きくなっている。
【００２３】
図５に示している文字「Ｉ」，「Ｃ」，「Ｗ」の幅方向が、描画エリアの幅方向に収まるように、文字「Ｉ」，「Ｃ」，「Ｗ」の縮小率Ｒを設定する方法として、以下に示す第１の方法と第２の方法とが考えられる。
［第１の方法］
第１の方法は、文字の幅方向のサイズＷｃが描画エリアにおける幅方向のサイズＧＳＩＺＥよりも大きい文字については、幅方向のサイズＷｃが描画エリアにおける幅方向のサイズＧＳＩＺＥと一致するように描画する方法である。
文字の幅方向のサイズＷｃが描画エリアにおける幅方向のサイズＧＳＩＺＥ以下である文字「Ｉ」は、幅方向を縮小しないようにするため、以下の式（１）に示すように、文字「Ｉ」における幅方向の縮小率Ｒを１．０に設定する。
ＧＳＩＺＥ≧Ｗｃ  →  Ｒ＝１．０                （１）
文字の幅方向のサイズＷｃが描画エリアにおける幅方向のサイズＧＳＩＺＥよりも大きい文字「Ｃ」及び文字「Ｗ」は、幅方向のサイズＷｃを描画エリアにおける幅方向のサイズＧＳＩＺＥと一致させるため、以下の式（２）に示すように、文字「Ｃ」及び文字「Ｗ」における幅方向の縮小率Ｒを設定する。
ＧＳＩＺＥ＜Ｗｃ  →  Ｒ＝Ｗｃ／ＧＳＩＺＥ      （２）
【００２４】
図７は、第１の方法で縮小率Ｒが設定された場合の描画結果を示す説明図である。
第１の方法では、文字の幅方向のサイズＷｃが描画エリアにおける幅方向のサイズＧＳＩＺＥ以下である文字「Ｉ」は、幅方向が縮小されないため、図７に示すように、文字「Ｉ」の読み易さが損なわれない。
一方、文字の幅方向のサイズＷｃが描画エリアにおける幅方向のサイズＧＳＩＺＥ以下である文字「Ｉ」と、文字の幅方向のサイズＷｃが描画エリアにおける幅方向のサイズＧＳＩＺＥよりも大きい文字「Ｗ」とは、縮小率Ｒが大きく異なる。このため、図７に示すように、描画された文字「Ｉ」と、描画された文字「Ｗ」との間では、例えば、線幅などが大きく異なり、文字間のバランスが崩れてしまっている。
【００２５】
［第２の方法］
図８は、第２の方法で縮小率Ｒが設定された場合の描画結果を示す説明図である。
第２の方法は、「Ａ」〜「Ｚ」のアルファベットの中で、幅方向のサイズＷｃが最大の文字「Ｗ」が描画エリアの幅方向に収まる縮小率Ｒを、他の文字にも適用する方法である。
第２の方法では、文字「Ｗ」のサイズＷｃをＷｍａｘとし、Ｗｍａｘが描画エリアにおける幅方向のサイズＧＳＩＺＥ以下であれば、文字列に含まれている各々の文字を縮小しないようにするため、以下の式（３）に示すように、文字「Ｉ」，「Ｃ」，「Ｗ」の縮小率Ｒを１．０に設定する。
ＧＳＩＺＥ≧Ｗｍａｘ  →  Ｒ＝１．０            （３）
一方、Ｗｍａｘが描画エリアにおける幅方向のサイズＧＳＩＺＥよりも大きければ、以下の式（４）に示すように、文字「Ｉ」，「Ｃ」，「Ｗ」の縮小率Ｒを設定する。
ＧＳＩＺＥ＜Ｗｍａｘ  →  Ｒ＝Ｗｍａｘ／ＧＳＩＺＥ        （４）
第２の方法では、全ての文字が一律の縮小率Ｒで縮小されるため、縮小前の文字列のバランスと、縮小後の文字列のバランスとは同じである。
しかし、文字「Ｉ」など、幅方向のサイズＷｃが狭い文字については、過剰に縦長な文字になって、可読性が低下してしまう。
【００２６】
この実施の形態１では、第３の方法を用いて、プロポーショナル書体の文字を縮小して描画する例を説明する。
図９は、実施の形態１の方法で縮小率Ｒが設定された場合の描画結果を示す説明図である。
まず、縮小率設定部６は、最大サイズ格納部３により格納されている最大のサイズＷｍａｘを取得するとともに、エリアサイズ格納部５により格納されている描画エリアにおける幅方向のサイズＧＳＩＺＥを取得する（図４のステップＳＴ１）。
また、縮小率設定部６は、文字列格納部４により格納されている文字列を取得する（図４のステップＳＴ２）。
【００２７】
次に、縮小率設定部６は、最大のサイズＷｍａｘと描画エリアにおける幅方向のサイズＧＳＩＺＥとを比較する（図４のステップＳＴ３）。
縮小率設定部６は、最大のサイズＷｍａｘが描画エリアにおける幅方向のサイズＧＳＩＺＥ以下である場合（図４のステップＳＴ３：ＹＥＳの場合）、文字列格納部４により格納されている文字列に含まれている全ての文字の幅方向が描画エリアの幅方向に収まるため、文字列に含まれている全ての文字を縮小する必要がないと判断する。
縮小率設定部６は、全ての文字を縮小する必要がないと判断すると、以下の式（５）に示すように、文字列に含まれている文字「Ｉ」，「Ｃ」，「Ｗ」の縮小率Ｒとして、第１の縮小率Ｒ１＝１．０を設定する（図４のステップＳＴ４）。
ＧＳＩＺＥ≧Ｗｍａｘ  →  Ｒ１＝１．０            （５）
【００２８】
描画部７の文字縮小部８は、縮小率設定部６により設定された第１の縮小率Ｒ１で、文字列に含まれている文字「Ｉ」，「Ｃ」，「Ｗ」の幅方向を縮小する。文字縮小部８による縮小処理後の文字の幅方向のサイズＷｃ’は、以下の式（６）のように表される。
Ｗｃ’＝Ｗｃ／Ｒ１              （６）
ただし、縮小率設定部６により設定された第１の縮小率Ｒ１は、１．０であるため、文字縮小部８による縮小処理後における文字の幅方向のサイズＷｃ’は、縮小処理前における文字の幅方向のサイズＷｃと変わらない。
描画部７の文字描画部９は、文字縮小部８による縮小処理後の文字「Ｉ」，「Ｃ」，「Ｗ」のそれぞれを描画する（図４のステップＳＴ５）。
【００２９】
縮小率設定部６は、最大のサイズＷｍａｘが描画エリアにおける幅方向のサイズＧＳＩＺＥよりも大きい場合（図４のステップＳＴ３：ＮＯの場合）、文字列格納部４により格納されている文字列に含まれている文字のうち、少なくとも一部の文字の幅方向が描画エリアの幅方向に収まらないため、文字列に含まれている文字を縮小する必要があると判断する。
縮小率設定部６は、文字を縮小する必要があると判断すると、文字幅格納部２から文字列に含まれている文字「Ｉ」，「Ｃ」，「Ｗ」の幅方向のサイズＷｃをそれぞれ取得する（図４のステップＳＴ６）。
【００３０】
縮小率設定部６は、文字列に含まれている文字毎に、当該文字の幅方向のサイズＷｃと描画エリアにおける幅方向のサイズＧＳＩＺＥとを比較する（図４のステップＳＴ７）。
縮小率設定部６は、文字の幅方向のサイズＷｃが描画エリアにおける幅方向のサイズＧＳＩＺＥ以下である場合（図４のステップＳＴ７：ＹＥＳの場合）、当該文字は幅方向のサイズが狭い文字であると判断する。
図６に示すように、文字列に含まれている文字「Ｉ」，「Ｃ」，「Ｗ」のうち、文字「Ｉ」については、サイズＷｃが描画エリアにおける幅方向のサイズＧＳＩＺＥ以下であると判断される。
【００３１】
縮小率設定部６は、幅方向のサイズが狭い文字の縮小率Ｒを、縮小の度合が大きな縮小率に設定すると、過剰に縦長な文字になって、可読性が低下してしまうため、当該文字の縮小率Ｒを、縮小の度合が小さい第２の縮小率Ｒ２に設定する（図４のステップＳＴ８）。
即ち、縮小率設定部６は、文字の幅方向のサイズＷｃが描画エリアにおける幅方向のサイズＧＳＩＺＥ以下である場合、以下の式（７）に示すように、第２の縮小率Ｒ２として、１．０と、最大のサイズＷｍａｘを描画エリアにおける幅方向のサイズＧＳＩＺＥで除算した値との平均値を設定する。
ＧＳＩＺＥ＜Ｗｍａｘ  ＆  Ｗｃ≦ＧＳＩＺＥ
→  Ｒ２＝（１．０＋Ｗｍａｘ／ＧＳＩＺＥ）／２            （７）
【００３２】
縮小率設定部６は、文字の幅方向のサイズＷｃが描画エリアにおける幅方向のサイズＧＳＩＺＥよりも大きい場合（図４のステップＳＴ７：ＮＯの場合）、当該文字は幅方向のサイズが広い文字であると判断する。
図６に示すように、文字列に含まれている文字「Ｉ」，「Ｃ」，「Ｗ」のうち、文字「Ｃ」，「Ｗ」については、サイズＷｃが描画エリアにおける幅方向のサイズＧＳＩＺＥよりも大きいと判断される。
縮小率設定部６は、サイズＷｃが描画エリアにおける幅方向のサイズＧＳＩＺＥよりも大きい文字については、当該文字の幅方向が描画エリアの幅方向に収まるようにするため、当該文字の縮小率Ｒを第２の縮小率Ｒ２よりも縮小の度合が大きい第３の縮小率Ｒ３に設定する（図４のステップＳＴ９）。
即ち、縮小率設定部６は、文字の幅方向のサイズＷｃが描画エリアにおける幅方向のサイズＧＳＩＺＥよりも大きい場合、以下の式（８）に示すように、第３の縮小率Ｒ３として、当該文字の幅方向のサイズＷｃを描画エリアにおける幅方向のサイズＧＳＩＺＥで除算した値と、最大のサイズＷｍａｘを描画エリアにおける幅方向のサイズＧＳＩＺＥで除算した値との平均値を設定する。
ＧＳＩＺＥ＜Ｗｍａｘ  ＆  Ｗｃ＞ＧＳＩＺＥ
→  Ｒ３＝（Ｗｃ／ＧＳＩＺＥ＋Ｗｍａｘ／ＧＳＩＺＥ）／２      （８）
なお、第３の縮小率Ｒ３は、当該文字の幅方向のサイズＷｃによって変化する縮小率である。
【００３３】
描画部７の文字縮小部８は、縮小率設定部６により設定された第２の縮小率Ｒ２又は第３の縮小率Ｒ３で、文字列に含まれている各々の文字の幅方向を縮小する（図４のステップＳＴ１０）。文字縮小部８による縮小処理後の文字の幅方向のサイズＷｃ’は、以下の式（９）又は式（１０）のように表される。
Ｗｃ’＝Ｗｃ／Ｒ２                    （９）
Ｗｃ’＝Ｗｃ／Ｒ３                    （１０）
文字列に含まれている文字「Ｉ」，「Ｃ」，「Ｗ」のうち、文字「Ｉ」については、第２の縮小率Ｒ２で、幅方向が縮小される。
また、文字「Ｃ」，「Ｗ」については、第３の縮小率Ｒ３で、幅方向が縮小される。
描画部７の文字描画部９は、文字縮小部８によって幅方向が縮小された文字「Ｉ」，「Ｃ」，「Ｗ」のそれぞれを描画する（図４のステップＳＴ１１）。
【００３４】
この実施の形態１では、描画要素における幅方向又は高さ方向のうち、描画要素の幅方向を縮小して描画する例を説明しているが、描画要素の高さ方向を縮小して描画するようにしてもよい。
この場合、文字幅格納部２には、文字の幅方向のサイズＷｃの代わりに、文字の高さ方向のサイズＷｃが格納され、最大サイズ格納部３には、文字幅格納部２により格納されている各々の文字の高さ方向のサイズＷｃの中で、最大のサイズＷｍａｘが格納される。
エリアサイズ格納部５には、文字の描画が許容されている描画エリアにおける高さ方向のサイズＧＳＩＺＥが格納される。
また、幅方向又は高さ方向の一方向だけでなく、幅方向及び高さ方向の両方向を縮小して描画するようにしてもよい。
【００３５】
以上で明らかなように、この実施の形態１によれば、１つ以上の描画可能な文字又は１つ以上の描画可能な記号である描画要素の全てにおいて、描画要素における一方向が、描画が許容されている描画エリアにおける一方向に収まる場合、描画対象の文字列又は描画対象の記号列に含まれている全ての描画要素における一方向の縮小率Ｒを第１の縮小率Ｒ１に設定し、描画可能な１つ以上の描画要素のうち、少なくとも一部の描画要素における一方向が、描画エリアにおける一方向に収まらない場合、文字列に含まれている１つ以上の描画要素のうち、一方向が描画エリアにおける一方向に収まる描画要素については、一方向の縮小率Ｒを第１の縮小率Ｒ１よりも縮小の度合が大きい第２の縮小率Ｒ２に設定し、一方向が描画エリアにおける一方向に収まらない描画要素については、一方向の縮小率Ｒを第２の縮小率Ｒ２よりも縮小の度合が大きい第３の縮小率Ｒ３に設定するように構成したので、可読性の低下を招くことなく、プロポーショナル書体の描画要素である文字又は記号を縮小して描画することができる効果を奏する。
【００３６】
この実施の形態１では、描画可能な１つ以上の文字として、「Ａ」〜「Ｚ」のアルファベットが描画要素格納部１に格納されている例を示しているが、描画可能な１つ以上の文字として、例えば、数字、ひらがな又は漢字などが描画要素格納部１に格納されているものであってもよい。
また、文字列格納部４により格納される文字列が、常に同じ文字列である場合、当該文字列に含まれている各々の文字だけが、描画要素格納部１に格納されるようにしてもよい。
例えば、常に「Ｈｅｌｌｏ」の文字列が描画される場合、この文字列に含まれている文字「Ｈ」，「ｅ」，「ｌ」，「ｏ」だけが、描画要素格納部１に格納されるようにしてもよい。
【００３７】
この実施の形態１では、縮小率設定部６が、１つの文字又は１つの記号を描画要素として取扱う例を示しているが、縮小率設定部６が、１つ以上の文字が並んでいる文字列を描画要素又は１つ以上の記号が並んでいる記号列を描画要素として取扱うようにしてもよい。
この場合、１つ以上の文字が並んでいる文字列が、１つの文字として、描画要素格納部１に格納される。あるいは、１つ以上の記号が並んでいる記号列が、１つの記号として、描画要素格納部１に格納される。
また、各々の文字列の幅方向又は高さ方向のサイズＷｃ、または、各々の記号列の幅方向又は高さ方向のサイズＷｃが文字幅格納部２に格納される。
また、文字幅格納部２により格納されている各々の文字列又は各々の記号列の幅方向又は高さ方向のサイズＷｃの中で、最大のサイズＷｍａｘが最大サイズ格納部３に格納される。
さらに、１つ以上の文字列が含まれている描画対象の文字列、あるいは、１つ以上の記号列が含まれている描画対象の記号列が文字列格納部４に格納される。
ここでは、１つの文字として扱う文字列のそれぞれが、「チリ」、「ブラジル」及び「アルゼンチン」である例を説明する。
図１０は、１つの文字として扱う文字列の全てが縮小されずに描画された結果を示す説明図である。
図１１は、第１の方法で、１つの文字として扱う文字列が縮小されて描画された結果を示す説明図である。
図１２は、第２の方法で、１つの文字として扱う文字列が縮小されて描画された結果を示す説明図である。
図１３は、この実施の形態１における第３の方法で、１つの文字として扱う文字列が縮小されて描画された結果を示す説明図である。
第３の方法で縮小された場合、図１３に示すように、「チリ」の文字列全体及び文字ストロークの太さが細くなり過ぎることがなくなるため、図１０〜図１２に示す描画結果と比べて、可読性が高い描画結果が得られている。
【００３８】
この実施の形態１では、描画可能な１つ以上の文字として、「Ａ」〜「Ｚ」のアルファベットが描画要素格納部１に格納されている例を示しているが、描画可能な１つ以上の文字として、例えば、「Ａ」〜「Ｚ」のアルファベットと、「０」〜「９」の数字とが描画要素格納部１に格納されているものであってもよい。
図１４は、「Ａ」〜「Ｚ」のアルファベットと、「０」〜「９」の数字とが縮小されずに描画された結果を示す説明図である。
図１５は、第１の方法で、「Ａ」〜「Ｚ」のアルファベットと、「０」〜「９」の数字とが縮小されて描画された結果を示す説明図である。
図１６は、第２の方法で、「Ａ」〜「Ｚ」のアルファベットと、「０」〜「９」の数字とが縮小されて描画された結果を示す説明図である。
図１７は、この実施の形態１における第３の方法で、「Ａ」〜「Ｚ」のアルファベットと、「０」〜「９」の数字とが縮小されて描画された結果を示す説明図である。
図１７に示す描画結果は、図１５に示す描画結果と比較して、隣り合う文字間の隙間が広くなっており、図１６に示す描画結果と比較して、例えば文字「Ｉ」，「１」などの幅方向が狭い文字の可読性が高くなっている。
図１７に示す描画結果は、図１４〜図１６に示す描画結果と比べて、可読性が高い描画結果が得られている。
【００３９】
図１８〜図２１は、図１４〜図１７と異なる書体の文字が描画された結果を示している。
図１８は、「Ａ」〜「Ｚ」のアルファベットと、「０」〜「９」の数字とが縮小されずに描画された結果を示す説明図である。
図１９は、第１の方法で、「Ａ」〜「Ｚ」のアルファベットと、「０」〜「９」の数字とが縮小されて描画された結果を示す説明図である。
図２０は、第２の方法で、「Ａ」〜「Ｚ」のアルファベットと、「０」〜「９」の数字とが縮小されて描画された結果を示す説明図である。
図２１は、この実施の形態１における第３の方法で、「Ａ」〜「Ｚ」のアルファベットと、「０」〜「９」の数字とが縮小されて描画された結果を示す説明図である。
図２１に示す描画結果は、図１９に示す描画結果と比較して、隣り合う文字間の隙間が広くなっており、図２０に示す描画結果と比較して、例えば文字「Ｉ」，「１」などの幅方向が狭い文字の可読性が高くなっている。
図２１に示す描画結果は、図１８〜図２０に示す描画結果と比べて、可読性が高い描画結果が得られている。
【００４０】
この実施の形態１では、縮小率設定部６が、第１の縮小率Ｒ１として、１．０を設定する例を示しているが、第１の縮小率Ｒ１による縮尺の度合が、第２の縮小率Ｒ２による縮尺の度合よりも小さければよく、第１の縮小率Ｒ１として、１．０よりも大きな値を設定するようにしてもよい。
また、縮小率設定部６が、第２の縮小率Ｒ２を式（７）のように設定し、第３の縮小率Ｒ３を式（８）のように設定する例を示しているが、縮尺の度合が、第１の縮小率Ｒ１＜第２の縮小率Ｒ２＜第３の縮小率Ｒ３であればよく、第２の縮小率Ｒ２の設定は式（７）に限るものではなく、また、第３の縮小率Ｒ３の設定は式（８）に限るものではない。
【００４１】
実施の形態２．
上記実施の形態１では、文字の幅方向のサイズＷｃが描画エリアにおける幅方向のサイズＧＳＩＺＥ以下である場合、縮小率設定部６が、第２の縮小率Ｒ２として、１．０と、最大のサイズＷｍａｘを描画エリアにおける幅方向のサイズＧＳＩＺＥで除算した値との平均値を設定する例を示している。また、縮小率設定部６が、第３の縮小率Ｒ３として、文字の幅方向のサイズＷｃを描画エリアにおける幅方向のサイズＧＳＩＺＥで除算した値と、最大のサイズＷｍａｘを描画エリアにおける幅方向のサイズＧＳＩＺＥで除算した値との平均値を設定する例を示している。
【００４２】
この実施の形態２では、縮小率設定部６が、第２の縮小率Ｒ２として、１．０と、最大のサイズＷｍａｘを描画エリアにおける幅方向のサイズＧＳＩＺＥで除算した値との荷重平均値を設定し、第３の縮小率Ｒ３として、文字の幅方向のサイズＷｃを描画エリアにおける幅方向のサイズＧＳＩＺＥで除算した値と、最大のサイズＷｍａｘを描画エリアにおける幅方向のサイズＧＳＩＺＥで除算した値との荷重平均値を設定する例を説明する。
【００４３】
縮小率設定部６は、文字の幅方向のサイズＷｃが描画エリアにおける幅方向のサイズＧＳＩＺＥ以下である場合（図４のステップＳＴ７：ＹＥＳの場合）、上記実施の形態１と同様に、文字の縮小率Ｒを、縮小の度合が小さい第２の縮小率Ｒ２に設定する（図４のステップＳＴ８）。
ただし、縮小率設定部６は、上記実施の形態１と異なり、以下の式（１１）に示すように、第２の縮小率Ｒ２として、１．０と、最大のサイズＷｍａｘを描画エリアにおける幅方向のサイズＧＳＩＺＥで除算した値との荷重平均値を設定する。
ＧＳＩＺＥ＜Ｗｍａｘ  ＆  Ｗｃ≦ＧＳＩＺＥ
→  Ｒ２＝（ａ×１．０＋ｂ×（Ｗｍａｘ／ＧＳＩＺＥ））／２      （１１）
式（１１）において、ａ，ｂは、重み係数である。
【００４４】
縮小率設定部６は、文字の幅方向のサイズＷｃが描画エリアにおける幅方向のサイズＧＳＩＺＥよりも大きい場合（図４のステップＳＴ７：ＮＯの場合）、上記実施の形態１と同様に、文字の縮小率Ｒを、第３の縮小率Ｒ３に設定する（図４のステップＳＴ９）。
ただし、縮小率設定部６は、上記実施の形態１と異なり、以下の式（１２）に示すように、第３の縮小率Ｒ３として、文字の幅方向のサイズＷｃを描画エリアにおける幅方向のサイズＧＳＩＺＥで除算した値と、最大のサイズＷｍａｘを描画エリアにおける幅方向のサイズＧＳＩＺＥで除算した値との荷重平均値を設定する。
ＧＳＩＺＥ＜Ｗｍａｘ  ＆  Ｗｃ＞ＧＳＩＺＥ
→  Ｒ３＝（ａ×（Ｗｃ／ＧＳＩＺＥ）＋ｂ×（Ｗｍａｘ／ＧＳＩＺＥ））／２
（１２）
【００４５】
以上で明らかなように、この実施の形態２によれば、第２の縮小率Ｒ２及び第３の縮小率Ｒ３を荷重平均値によって設定するように構成したので、上記実施の形態１と同様の効果を奏するほかに、各々の文字の可読性と、文字間の統一性とのバランスを適宜整えることができる効果を奏する。
【００４６】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【産業上の利用可能性】
【００４７】
この発明は、文字又は記号である描画要素の縮小率を設定し、設定した縮小率で描画要素を描画する描画装置及び描画方法に適している。
【符号の説明】
【００４８】
１  描画要素格納部、２  文字幅格納部、３  最大サイズ格納部、４  文字列格納部、５  エリアサイズ格納部、６  縮小率設定部、７  描画部、８  文字縮小部、９  文字描画部、２１  描画要素記憶回路、２２  文字幅記憶回路、２３  最大サイズ記憶回路、２４  文字列記憶回路、２５  エリアサイズ記憶回路、２６  縮小率設定回路、２７  描画回路、３１  メモリ、３２  プロセッサ。
【図１】
0006628942.tif 000002
【図２】
0006628942.tif 000003
【図３】
0006628942.tif 000004
【図４】
0006628942.tif 000005
【図５】
0006628942.tif 000006
【図６】
0006628942.tif 000007
【図７】
0006628942.tif 000008
【図８】
0006628942.tif 000009
【図９】
0006628942.tif 000010
【図１０】
0006628942.tif 000011
【図１１】
0006628942.tif 000012
【図１２】
0006628942.tif 000013
【図１３】
0006628942.tif 000014
【図１４】
0006628942.tif 000015
【図１５】
0006628942.tif 000016
【図１６】
0006628942.tif 000017
【図１７】
0006628942.tif 000018
【図１８】
0006628942.tif 000019
【図１９】
0006628942.tif 000020
【図２０】
0006628942.tif 000021
【図２１】
0006628942.tif 000022