(57)【要約】【課題】本発明は、携帯電話やＰＤＡなどで使用するビットマップフォントを拡大・縮小する際に、表示するフォントのサイズを考慮することにより、少ない容量で様々な字体、大きさの自然なフォントを生成することを目的とする。【解決手段】フォント処理装置は、まず、ビットマップフォントのフォントデータを字母データとして記憶する。そして、フォント処理装置は、サイズ指定情報を取得する。次に、フォント処理装置は、サイズ指定情報に含まれるサイズと、任意に設定された基準サイズとを比較する。また、フォント処理装置は、サイズ指定情報に含まれるサイズに基づいて字母データを取得する。さらに、フォント処理装置は、比較結果及び当該サイズに基づいて取得した字母データの拡大又は縮小を行う。これにより、任意の大きさの自然なフォントを生成することができる。【選択図】      図１
2004219937.tif 000002
【特許請求の範囲】
【請求項１】
ビットマップフォントのフォントデータを字母データとして記憶する字母データ記憶手段と、
指定されたフォントのサイズを含むサイズ指定情報を取得するサイズ指定情報取得手段と、
前記サイズ指定情報に含まれる前記サイズと基準サイズを比較するサイズ比較手段と、
前記サイズ指定情報に含まれる前記サイズに基づいて、前記字母データ記憶手段が記憶した前記字母データを取得する字母データ取得手段と、
前記サイズ比較手段の比較結果及び前記サイズに基づいて、前記字母データ取得手段が取得した前記字母データを拡大又は縮小する拡大／縮小手段と、を備えることを特徴とするフォント処理装置。
【請求項２】
前記拡大／縮小手段は、
前記サイズ比較手段の比較結果、前記サイズ指定情報に含まれる前記サイズが前記基準サイズより小さい場合に、前記字母データの画素構成の特徴を示すコストに基づいて前記字母データを拡大又は縮小するコスト方式拡大／縮小手段と、
前記サイズ比較手段の比較結果、前記サイズ指定情報に含まれる前記サイズが前記基準サイズより大きい場合に、前記字母データの縦横比であるアドレスに基づいて座標を変換することにより前記字母データを拡大又は縮小するアドレス方式拡大／縮小手段と、をさらに備えることを特徴とする請求項１に記載のフォント処理装置。
【請求項３】
前記字母データ記憶手段は、複数のサイズ及び／又は複数のデザインのフォントデータを前記字母データとして記憶しており、
前記基準サイズは、前記デザインの判別が可能なサイズであることを特徴とする請求項１又は２に記載のフォント処理装置。
【請求項４】
前記請求項１乃至３のいずれか一項のフォント処理装置と、
前記フォント処理装置により生成されたフォントデータを記憶する記憶手段と、
前記フォント処理装置により生成されたフォントデータを表示する表示部とを備えることを特徴とする端末装置。
【請求項５】
ビットマップフォントのフォントデータを字母データとして記憶する字母データ記憶工程と、
指定されたフォントのサイズを含むサイズ指定情報を取得するサイズ指定情報取得工程と、
前記サイズ指定情報に含まれる前記サイズと基準サイズを比較するサイズ比較工程と、
前記サイズ指定情報に含まれる前記サイズに基づいて、前記字母データ記憶手段が記憶した前記字母データを取得する字母データ取得工程と、
前記サイズ比較手段の比較結果及び前記サイズに基づいて、前記字母データ取得手段が取得した前記字母データを拡大又は縮小する拡大／縮小工程と、を有することを特徴とするフォント処理方法。
【請求項６】
コンピュータを備える端末装置において実行されるフォント処理プログラムであって、前記コンピュータを、
ビットマップフォントのフォントデータを字母データとして記憶する字母データ記憶手段、
指定されたフォントのサイズを含むサイズ指定情報を取得するサイズ指定情報取得手段、
前記サイズ指定情報に含まれる前記サイズと基準サイズを比較するサイズ比較手段、
前記サイズ指定情報に含まれる前記サイズに基づいて、前記字母データ記憶手段が記憶した前記字母データを取得する字母データ取得手段、
前記サイズ比較手段の比較結果及び前記サイズに基づいて、前記字母データ取得手段が取得した前記字母データを拡大又は縮小する拡大／縮小手段、として機能させることを特徴とするフォント処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ビットマップフォントの拡大、縮小処理に関する。
【０００２】
【背景技術】
携帯電話やＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）などの装置では文字などの表示にビットマップフォントが使用される。ビットマップフォントは、予め用意された画素の配列パターンにより文字や記号といったフォントを表示するものである。ベクトルデータの集合として文字や記号などを表示するアウトラインフォントと異なり、ビットマップフォントは単純な画素の配列パターンであるため、１文字当たりのデータ量が小さい。そのため、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）と比較してメモリの容量が少なく、処理能力の低い携帯電話やＰＤＡなどにおいては、ビットマップフォントが使用される。
【０００３】
近年、携帯電話やＰＤＡに使用される表示エリアの画素数は増加の一途を辿っており、ビットマップフォントを使用して様々な字体、大きさのフォントをユーザに提供する必要性が高くなってきている。このような要求の対応策として、予め記憶されたビットマップフォントである元データに基づき、サイズの拡大や縮小を行うことで様々な字体、大きさのフォントをユーザに提供することが提案されている（例えば、特許文献１、特許文献２参照）。
【０００４】
【特許文献１】
特開平８−６３１４７号公報
【特許文献２】
特開平７−１５６４５０号公報
【０００５】
【発明が解決しようとする課題】
しかし、携帯電話やＰＤＡなどで表示される比較的サイズの小さいフォントは、太さが１画素で表されることも多い。よって、所定のサイズ未満の小さなフォントを表示する場合、ビットマップフォントの元データのサイズと拡大後のサイズとの縦横比であるアドレスに基づいて座標変換を行う手法により当該元データを拡大すると、拡大後のフォントに不自然な太さの部分ができてしまうことがある。また、同様の小さなフォントを上記のようなアドレスに基づく座標変換により縮小すると、縮小後に不自然な太さの線ができたり、フォントを構成する線分の部分同士が不適切に連結したりしてフォントが潰れてしまうことがある。
【０００６】
一方、所定のサイズ以上の大きなフォントを表示する場合、アドレスに基づく座標変換を行う手法によりビットマップフォントの元データの拡大や縮小をすることで、容易にバランスの良い文字を生成することができる。
【０００７】
本発明は、以上の点に鑑みてなされたものであり、携帯電話やＰＤＡなどで使用するビットマップフォントを拡大・縮小する際に、表示するフォントのサイズを考慮することにより、少ない容量で様々な字体、大きさの自然なフォントを生成することを目的とする。
【０００８】
【課題を解決するための手段】
本発明の１つの観点では、ビットマップフォントのフォントデータを字母データとして記憶する字母データ記憶手段と、指定されたフォントのサイズを含むサイズ指定情報を取得するサイズ指定情報取得手段と、前記サイズ指定情報に含まれる前記サイズと基準サイズを比較するサイズ比較手段と、前記サイズ指定情報に含まれる前記サイズに基づいて、前記字母データ記憶手段が記憶した前記字母データを取得する字母データ取得手段と、前記サイズ比較手段の比較結果及び前記サイズに基づいて、前記字母データ取得手段が取得した前記字母データを拡大又は縮小する拡大／縮小手段と、を備える。
【０００９】
また、同様の観点によるフォント処理方法は、ビットマップフォントのフォントデータを字母データとして記憶する字母データ記憶工程と、指定されたフォントのサイズを含むサイズ指定情報を取得するサイズ指定情報取得工程と、前記サイズ指定情報に含まれる前記サイズと基準サイズを比較するサイズ比較工程と、前記サイズ指定情報に含まれる前記サイズに基づいて、前記字母データ記憶手段が記憶した前記字母データを取得する字母データ取得工程と、前記サイズ比較手段の比較結果及び前記サイズに基づいて、前記字母データ取得手段が取得した前記字母データを拡大又は縮小する拡大／縮小工程と、を有する。
【００１０】
上記のフォント処理装置又は方法は、まず、ビットマップフォントのフォントデータを字母データとして記憶する。そして、フォント処理装置又は方法は、サイズ指定情報を取得する。ここで、サイズ指定情報は、フォント処理装置を使用するユーザが任意に指定するサイズやフォント処理装置が自動的に指定するサイズの情報を含んでいる。次に、フォント処理装置又は方法は、サイズ指定情報に含まれるサイズと、任意に設定された基準サイズとを比較する。また、フォント処理装置又は方法は、サイズ指定情報に含まれるサイズに基づいて字母データを取得する。さらに、フォント処理装置又は方法は、比較結果及び当該サイズに基づいて取得した字母データの拡大又は縮小を行う。
【００１１】
これによれば、指定されたサイズに応じた適切な処理により字母データの拡大又は縮小を行うことができる。よって、バランスの整った自然なフォントを生成することができる。また、字母データを拡大又は縮小することにより、任意の大きさのフォントを生成することができる。よって、指定される可能性のある全てのサイズのフォントを予め記憶しておく必要がなく、メモリの使用容量を大幅に節約することができる。
【００１２】
上記のフォント処理装置の他の一態様では、前記拡大／縮小手段は、前記サイズ比較手段の比較結果、前記サイズ指定情報に含まれる前記サイズが前記基準サイズより小さい場合に、前記字母データの画素構成の特徴を示すコストに基づいて前記字母データを拡大又は縮小するコスト方式拡大／縮小手段と、前記サイズ比較手段の比較結果、前記サイズ指定情報に含まれる前記サイズが前記基準サイズより大きい場合に、前記字母データの縦横比であるアドレスに基づいて座標を変換することにより前記字母データを拡大又は縮小するアドレス方式拡大／縮小手段と、をさらに備える。
【００１３】
上記のフォント処理装置は、サイズ指定情報に含まれるサイズが任意に設定される基準サイズより小さい場合、コスト方式拡大／縮小手段により字母データの拡大又は縮小を行う。ここで、コスト方式拡大／縮小手段について具体的に説明する。フォント処理装置は、まず、取得した字母データを縦方向に分析し、当該字母データを構成する画素の縦方向の画素構成を数値化したコストを算出する。そして、その分析結果であるコスト基づいて字母データを横方向に拡大又は縮小する。同様に、フォント処理装置は、字母データを横方向に分析し、当該字母データを構成する画素の横方向の画素構成を数値化したコストを算出する。そして、その分析結果であるコストに基づいて字母データを縦方向に拡大又は縮小を行う。
【００１４】
一方、サイズ指定情報に含まれるサイズが任意に設定される基準サイズより大きい場合、アドレス方式拡大／縮小手段により字母データの拡大又は縮小を行う。ここで、アドレス方式拡大／縮小手段について具体的に説明する。フォント処理装置は、まず、取得した字母データのサイズとサイズ指定情報に含まれるサイズとの縦横比を、所定の座標に基づいたアドレスとして算出する。そして、フォント処理装置は、算出したアドレスに基づいて字母データの座標変換を行うことにより拡大又は縮小を行う。
【００１５】
これによれば、比較的小さいサイズのフォントは、コスト方式処理により字母データの拡大又は縮小を行うことで、不自然な太さの線が出現することなく生成することが可能となる。一方、比較的大きいサイズのフォントは、アドレス方式処理により字母データの拡大又は縮小を行うことで、バランスの整った自然なフォントを容易に生成することができる。
【００１６】
上記フォント処理装置のさらに他の一態様では、前記字母データ記憶手段は、複数のサイズ及び／又は複数のデザインのフォントデータを前記字母データとして記憶しており、前記基準サイズは、前記デザインの判別が可能なサイズである。
【００１７】
これによれば、フォント処理装置は、指定されたサイズがデザインの判別が可能なサイズより小さい場合、コスト方式処理により、フォントのデザインを正確に表現することよりも、フォントが潰れたり不自然な太さの線が出現したりしないことを重視したフォントを生成することができる。一方、指定されたサイズがデザインの判別が可能なサイズより大きい場合、フォント処理装置は、アドレス方式処理により、デザインの正確な表現が可能であり自然なフォントを生成することができる。よって、指定された任意のサイズ、デザインでバランスの整ったフォントを生成することができる。
【００１８】
本発明の他の観点では、上記のフォント処理装置と、前記フォント処理装置により生成されたフォントデータを記憶する記憶手段と、前記フォント処理装置により生成されたフォントデータを表示する表示部とを備える端末装置を構成することができる。当該端末装置は、例えば携帯電話やＰＤＡなどの携帯型端末装置とすることができる。本発明のフォント処理装置により、指定されたフォントのサイズを考慮した字母データの拡大や縮小ができるので、そのような携帯型端末装置においてもバランスの整った自然なフォントを生成し、表示することができる。
【００１９】
本発明のさらに他の観点では、コンピュータを備える端末装置において実行されるフォント処理プログラムであって、前記コンピュータを、ビットマップフォントのフォントデータを字母データとして記憶する字母データ記憶手段、指定されたフォントのサイズを含むサイズ指定情報を取得するサイズ指定情報取得手段、前記サイズ指定情報に含まれる前記サイズと基準サイズを比較するサイズ比較手段、前記サイズ指定情報に含まれる前記サイズに基づいて、前記字母データ記憶手段が記憶した前記字母データを取得する字母データ取得手段、前記サイズ比較手段の比較結果に基づいて、前記字母データ取得手段が取得した前記字母データを拡大又は縮小する拡大／縮小手段、として機能させる。
【００２０】
上記のフォント処理プログラムを、端末装置内のコンピュータで実行することにより、上記のフォント処理装置を実現することができる。
【００２１】
【発明の実施の形態】
以下、図面を参照して本発明の好適な実施の形態について説明する。
【００２２】
［携帯端末装置の構成］
図１に、本発明の実施形態にかかるビットマップフォントの拡大・縮小処理を適用した携帯端末装置の概略構成を示す。図１において、携帯端末装置１０は、例えば携帯電話やＰＤＡなど、画像表示エリアが比較的小さい端末装置である。携帯端末装置１０は、表示部１２と、処理フォントメモリ１４と、ＣＰＵ１６と、入力部１８と、プログラムＲＯＭ２０と、フォントＲＯＭ２２と、ＲＡＭ２４とを備える。
【００２３】
表示部１２は、例えばＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）などの軽量、薄型の表示装置とすることができ、表示エリア内にビットマップフォントにより構成される文字や記号といったフォントを表示する。
【００２４】
入力部１８は、携帯電話であれば各種の操作ボタンなど、ＰＤＡであればタッチペンなどによる接触を検出するタブレットなどにより構成することができ、ユーザが各種の指示、指定、選択等を行う際に使用される。具体的には、ユーザが表示部１２の表示エリア内に表示する表示フォントのサイズを指定する際に使用される。入力部１８に対して入力された指示や指定等は、電気信号に変換されてＣＰＵ１６へ送られる。なお、表示フォントのサイズを指定する方法としては、ドットの数値を直接入力する方法、複数の選択肢の中から指定する方法等種々の方法を適用することができる。
【００２５】
プログラムＲＯＭ２０は、携帯端末装置１０の各種機能を実行するための各種プログラムを記憶し、特に本実施形態ではビットマップフォントの拡大・縮小プログラム（以下、「フォント拡大・縮小プログラム」と呼ぶ。）、ビットマップフォントを利用したフォントの表示プログラムなどを記憶している。フォント拡大・縮小プログラムは、コスト方式処理プログラム及びアドレス方式処理プログラムの２種類を有している。詳細は後述するが、ユーザが指定したサイズが１９ドット未満の場合、コスト方式処理プログラムに基づいてコスト方式処理によりフォントの拡大・縮小が行われる。一方、ユーザが指定したサイズが１９ドット以上の場合、アドレス方式処理プログラムに基づいてアドレス方式処理によりフォントの拡大縮小が行われる。
【００２６】
フォントＲＯＭ２２は、ビットマップフォントの元データ（「字母データ」とも呼ぶ。）を記憶する。なお、本実施形態では、サイズが１２、１６、２０、２４、２８及び３２ドットの字母データが予め記憶されているものとする。ここで、字母データは、例えば１２×１２ドットなどの、縦横比が等しいフォント（「正方フォント」とも呼ぶ。）とすることが一般的である。
【００２７】
ＲＡＭ２４は、ビットマップフォントの拡大・縮小プログラムに従って字母データを拡大・縮小処理する際に作業用メモリとして使用される。一方、処理フォントメモリ１４は、ビットマップフォントの拡大・縮小プログラムによって拡大又は縮小処理により作成されたフォント（以下、「処理フォント」とも呼ぶ。）を一時的に記憶するメモリである。処理フォントは、後述するＣＰＵ１６により表示フォントとして表示される。処理フォントメモリ１４は、通常、ＲＡＭやフラッシュメモリなどにより構成することができ、携帯端末装置１０が電源オフされるまで記憶内容を保持する。
【００２８】
ＣＰＵ１６は、プログラムＲＯＭ２０内に記憶されている各種プログラムを実行することにより、携帯端末装置１０の各種機能を実行する。特に、本実施形態では、プログラムＲＯＭ２０内に記憶されている文字表示プログラムを読み出して実行することにより、所定の表示フォントを表示部１２上に表示させる。また、同じくプログラムＲＯＭ２０内に記憶されているフォント拡大・縮小プログラムを読み出して実行することにより、フォントＲＯＭ２２内に記憶されている字母データを拡大、縮小して処理フォントを生成する。なお、ＣＰＵ１６は、これら以外に各種のプログラムを実行することにより携帯端末装置１０の各種機能を実現するが、それらは本発明とは直接の関連を有しないので、説明を省略する。
【００２９】
［コスト方式処理］
次に、ユーザが指定したサイズが１９ドット未満の場合に行われるコスト方式処理によるフォントの拡大・縮小について説明する。コスト方式処理は、前述のようにＣＰＵ１６がプログラムＲＯＭ２０内に格納されているコスト方式処理プログラムを実行することにより行われる。以下、コスト方式処理によりフォントを拡大する場合、及び、コスト方式処理によりフォントを縮小する場合について、順に説明する。
【００３０】
（ｉ）コスト方式処理によりフォントを拡大する場合
まず、コスト方式処理によりフォントを拡大する場合について図２乃至図７を参照して説明する。図２乃至図４はコスト方式処理によりフォントを拡大する場合のメインルーチン及びサブルーチンのフローチャートである。また、図５乃至図７はコスト方式処理によりフォントを拡大する場合の各工程を説明するための図である。
【００３１】
図２を参照すると、まずＣＰＵ１６はサイズ指定情報を受け取る（ステップＳ１）。サイズ指定情報は、例えばユーザが入力部１８を操作して表示フォントのサイズの指定、選択や表示モードの指定、選択を行った場合に、入力部１８からの指示に基づいて生成される。また、ユーザによる指示以外の場合でも、表示部１２上への表示内容に応じてサイズが指定される場合もある。例えば、表示エリア内に特定の文字データを表示する際に、文字表示プログラムが自動的にフォントのサイズを要求する場合もある。
【００３２】
なお、コスト方式処理による拡大を行う場合に受け取るサイズ指定情報は、１９ドット未満であり、且つ、字母データを拡大することにより最も効率的に生成することが可能なサイズの情報である。具体的には、指定されたサイズが１３ドットの場合、１２ドットの字母データを拡大することで最も効率良く１３ドットのフォントを生成することができる。よって、このような場合、サイズ指定情報として１３ドットを受け取り、ＣＰＵ１６は、コスト方式処理による拡大を行う。しかし、指定されたサイズが１５ドットの場合、１２ドットの字母データを拡大するよりも、１６ドットの字母データを縮小する方が効率的に１５ドットのフォントを生成することができる。よって、このような場合、ＣＰＵ１６は、後述するコスト方式処理による縮小を行う。
【００３３】
サイズ指定情報を受け取ると、ＣＰＵ１６は指定されたサイズに最も近い字母データをフォントＲＯＭ２２から読み出し、作業メモリであるＲＡＭ２４へ展開する（ステップＳ２）。具体的に、指定されたサイズが１３ドットの場合、１２ドットの字母データを読み出す。一方、指定されたサイズが１７ドットの場合、１６ドットの字母データを読み出す。
【００３４】
次に、ＣＰＵ１６は行方向拡大処理を実行して、字母データを展開した拡大の対象となるフォントをまず行方向に拡大し（ステップＳ３）、次に列方向拡大処理を実行して、行方向に拡大されたフォントをさらに列方向に拡大する（ステップＳ４）。なお、本例の場合、行方向の拡大率と列方向の拡大率は同一に設定される。こうして、行方向及び列方向にフォントの拡大が完了すると、ＣＰＵ１６は拡大後のフォントデータを処理フォントとして処理フォントメモリ１４に一時的に保存し（ステップＳ５）、さらに表示部１２上に表示フォントとして表示する（ステップＳ６）。こうして、特定の字母データに基づいて対象となるフォントの拡大が行われ、指定されたサイズの処理フォントが表示フォントとして表示部１２上に表示される。
【００３５】
次に、ステップＳ３で行われる行方向拡大処理の詳細について図３のフローチャートを参照して説明する。図３において、まずＣＰＵ１６は、対象となるフォントを複数の行に分割する（ステップＳ１１）。そして、ＣＰＵ１６は、分割により得られた行ごとに、コストを計算する（ステップＳ１２）。ここで、コストとは、フォントを構成する画素の数及び隣接する画素の有無などにより求められる値であり、フォント拡大処理においては線分量を示す。即ち、コストが大きいほど、その行には点や点の集合ではなく、線分が含まれている度合いが高いことを意味する。
【００３６】
図４に、ステップＳ１２におけるコスト計算処理の詳細を示す。コスト計算処理では、まず、図５（ａ）に示すように、行単位でフォント構成画素の数をカウントする（ステップＳ２１）。図５（ａ）において、各行の下に示した数字（左から、０、４、３、３、…）が各行のコストを示している。
【００３７】
次に、図５（ｂ）に示すように、隣接するフォント構成画素を有する画素分の加算を行う（ステップＳ２２）。図５（ｂ）の例では、隣接するフォント構成画素を有するフォント構成画素ごとに、コストに「２」を加算している。こうして、隣接画素分のコストを加算した結果得られる各行のコストが各行の下に示されている。隣接する画素を有する画素についてコストを加算することにより、その行に存在するフォント構成画素が点であるのか、線分に近いのかをある程度区分することができる。即ち、１つの行に含まれるフォント構成画素数が同じであっても、コストが大きい行ほど、その行に含まれるフォント構成画素は線分に近いということが言える。そして、後述のように、コスト値の大きい行、つまり線分に近い行ほど拡大されにくくする。
【００３８】
次に、図６（ａ）に示すように、スペースを考慮した重み付け処理を行う（ステップＳ２３）。具体的には、各行について、両端の画素がスペース（フォント構成画素が存在しない。図５及び６ではスペースで示されている。）である場合には、コスト値を「＋２」する。また、両端の画素の１画素内側の画素がスペースである場合、コスト値を「＋１」する。この処理は、文字としてのバランス及び文字を横方向に並べて文にした場合のバランスの面を考慮している。例えば平仮名の「し」という文字などは、普通に拡大すると左右の空きの部分だけが拡大されてしまい、文字を構成する中央のフォント構成画素はあまり拡大されない。その結果、拡大後の文章として見ると、他の文字は拡大されているが、文字「し」だけはフォント構成部分が十分に拡大されていないため、小さいままに見えてしまう。このような不具合を防止するために、スペースを考慮した重み付けを行うのである。この処理の結果、上下端にスペースを有する行はコスト値が大きくなり、拡大されにくくなる。
【００３９】
次に、同一コスト値を有する行の重み付け処理を行う（ステップＳ２４）。具体的には、ある行について、隣接する行とフォント構成画素のパターンを比較し、隣接する行とフォント構成画素のパターンが同じである行についてはコスト値を「＋２」する。この処理も、文字としてのバランスの面を考慮して行われる。隣接する行のフォント構成画素のパターンが同一であると、これまでのコスト計算においてはコスト値は同じになる。よって、そのコスト値を有する行が後述の拡大処理により拡大対象となると、隣接する行両方が拡大されることになる。その結果、同一の画素パターンを有する行が両方とも拡大されることになり、１つの文字中の一部分のみが必要以上に拡大されてしまうことになる。そこで、隣接する行が同一のパターンを有する場合は、コスト値を増加させて、それらの行が拡大されににくすることにより、１つの文字中の特定箇所のみが偏って拡大されることを防止する。
【００４０】
こうして、コスト計算処理が終了すると、処理は図３に示す行方向拡大処理へ戻る。そして、ＣＰＵ１６は対象となるフォントの全ての行についてコスト計算が完了したか否かを判定し（ステップＳ１３）、完了していない場合は全ての行のコスト計算を行う。全ての行についてコスト計算が完了した場合（ステップＳ１３；Ｙｅｓ）、ＣＰＵ１６は図７（ａ）に示すように、コストの低い順に行を順序付けする（ステップＳ１４）。図７（ａ）においては、コストの小さい行から順に、Ａ、Ｂ、Ｃ、…と順序が付されている。なお、同じコストを有する行が複数ある場合は、文字の中央に近い行から順に上位の順序を付すことにより、拡大する方向が左右方向において偏らないようにする。図７（ａ）の例では、コストが「３」である列が６つあるが、それらについて中央から順に左右に分散するようにＣ、Ｄ、Ｅ、Ｆ、Ｇ、Ｈと順序付けをしている。こうして、文字の中央から左右にバランスよく拡大がなされるように、拡大対象となる順序を付けている。
【００４１】
コストの低い順に各行の順序付けが終了すると、ＣＰＵ１６は、拡大率に基づいて拡大する行の数を決定する（ステップＳ１５）。ここで、拡大率とは、コスト方式処理により拡大をする場合における、字母データの拡大する割合を指す。ステップＳ１においてサイズ指定情報を受け取った場合、当該情報により指定されたサイズと字母データのサイズに基づいて拡大率を取得することができる。例えば、ユーザが指定したサイズが９ドットの場合、コスト方式処理を行う字母データは当該指定サイズに最も近い８ドットとなる。よって、その拡大率は、「９／８＊１００」となり、１１２．５％となる。
【００４２】
また、ユーザの指示に拘わらず、携帯端末装置１０の特定の処理によって自動的にサイズの指定がなされる場合でも、必ず拡大率は決定される。よって、その拡大率に基づいて、対象となるフォントの行数のうち、いくつの行を拡大するかを決定する。例えば、説明の便宜上、拡大の対象となるフォントの行数が１５行（１５ドット）であり、拡大率が１２０％（１．２倍）と決定されたとする。この場合、拡大する行の数は１５×１．２＝１８（行）となり、３つの行だけ拡大することになる。図７（ａ）及び（ｂ）の例はこの場合の例である。
【００４３】
こうして、拡大する行の数が決定すると、ＣＰＵ１６は、拡大処理を実行する（ステップＳ１６）。即ち、コストが小さい行から順に、拡大する行の数だけ拡大を行う。この場合の拡大は、例えば、拡大の対象となる行と同一のフォント画素パターンの行を拡大の対象となる行の隣に挿入することにより行われる。図７（ａ）及び（ｂ）の例では、前述のように拡大する行の数は３行であるので、図７（ａ）に示すコストの小さい行から順に３つの行（コスト順序が「Ａ］、「Ｂ」、「Ｃ」の行）について、同一のフォント構成画素パターンを有する行を挿入する。その結果、図７（ｂ）に示すように、３つの行が挿入されて、全体として横方向に１８行（１８ドット）の拡大文字が得られている。
【００４４】
こうして、行方向拡大処理が終了すると、処理は図２に示すメインルーチンへ戻る。そして、ＣＰＵ１６は、列方向拡大処理を行う（ステップＳ４）。なお、この列方向拡大処理において対象となるフォントは、行方向への拡大処理後のフォントとなる。よって、図７（ａ）及び（ｂ）の例では、横方向が１８行（ドット）となったフォントに対して行われる。
【００４５】
列方向拡大処理は、基本的に図３に示す行方向拡大処理と同様の処理を、行毎ではなく、列ごとに行う。即ち、拡大対象となるフォントを列ごとに分割し（ステップＳ１１）、各列についてコスト計算を行い（ステップＳ１２）、コストの低い順に各列について順序付けを行い（ステップＳ１４）、拡大率に基づいて拡大対象となる列の数を決定し（ステップＳ１５）、対象となる列に拡大処理を実行する（ステップＳ１６）。なお、図４に示すコスト計算処理においては、縦方向に隣接画素を考慮したコストの重み付け（ステップＳ２２）、スペースを考慮した重み付け（ステップＳ２３）、及び同一コストを有する列の重み付け（ステップＳ２４）を実行する。また、本例の拡大処理では、対象となるフォントを縦方向及び横方向に同一の拡大率で拡大するので、ステップＳ１５で使用する拡大率は行方向拡大処理において使用する拡大率と同一となる。
【００４６】
こうして、行方向及び列方向に拡大処理が完了すると、ＣＰＵ１６は得られたフォント、即ち処理フォントを処理フォントメモリ１４に記憶し（ステップＳ５）、必要に応じて表示部１２に表示する。こうして、拡大後のフォントが携帯端末装置１０の表示部１２上に表示される。
【００４７】
以上のように、本発明のフォント拡大処理では、対象となるフォントの構成（フォント構成画素のパターン）に基づいて行、列ごとにコストを計算し、コストに基づいて適切な行、列を拡大する。具体的には、線分に近い行、列は拡大されにくくすることにより、文字中の線分部分が必要以上に拡大されることを防止する（ステップＳ２２）。また、端部にスペースが多い文字については、スペース部分のみが拡大されて文字部分の拡大が不十分になることを防止する（ステップＳ２３）。さらに、同一パターンを有する行、列が隣接する場合には、それらが拡大されにくくして、文字中の特定の部分のみが必要以上に拡大されることを防止する（ステップＳ２４）。これらの処理により、文字を構成する画素パターンを考慮して、指定されたサイズが１９ドット未満という小さいフォントであっても、バランスが不自然とならないようにし、自然な拡大を可能としている。
【００４８】
なお、以上説明したコスト方式処理によるフォントの拡大は、表示部１２上に表示すべき文字列が決定された時点で１文字ずつ実行することができる。また、ユーザが表示フォントのサイズ変更などを指定した場合には、フォントＲＯＭ２２内に予め用意されている全ての字母データについて拡大処理を行ってその結果を処理フォントメモリ１４内に格納してもよい。いずれの場合でも、上述のようにフォント拡大処理自体は整数の単純な演算で済むので、処理に必要な時間は非常に短く、ユーザが不快に感じるほどの処理時間を要することはない。
【００４９】
（ｉｉ）コスト方式処理によりフォントを縮小する場合
次に、コスト方式によりフォントを縮小する場合について図８乃至図１０を参照して説明する。図８及び図９はコスト方式処理によりフォントを縮小する場合のメインルーチン及びサブルーチンのフローチャートである。また、図１０はコスト方式処理によりフォントを縮小する場合の各工程を説明するための図である。
【００５０】
フォント縮小処理は、基本的にフォント拡大処理と同様に行われる。即ち、ＣＰＵ１６は、サイズ指定情報を受け取ると（ステップＳ４１）、指定されたサイズに最も近い字母データをフォントＲＯＭ２２から抽出し、作業メモリであるＲＡＭ２４に展開する（ステップＳ４２）。
【００５１】
なお、コスト方式処理により縮小する場合に受け取るサイズ指定情報は、ユーザによる指定の場合も文字表示プログラムが自動的に要求する場合も共に、表示フォントのサイズが１９ドット未満の場合であり、且つ、字母データを縮小することにより最も効率的に指定されたサイズのフォントを生成することが可能なサイズに限定される。
【００５２】
次に、ＣＰＵ１６は、行方向縮小処理を行い（ステップＳ４３）、さらに列方向縮小処理を行う（ステップＳ４４）。そして、処理フォントが作成されると、ＣＰＵ１６は、作成された処理フォントを処理フォントメモリ１４に記憶する（ステップＳ４５）とともに、表示部１２に表示フォントとして表示する（ステップＳ４６）。こうして、コスト方式処理によるフォントの縮小がなされる。
【００５３】
次に、コスト方式処理によるフォントの縮小における行方向縮小処理について図９を参照して説明する。図９は、行方向縮小処理のフローチャートである。図９に示す行方向縮小処理は、基本的に図３に示すコスト方式処理によりフォントを拡大する場合における行方向拡大処理と同様の手順で行われる。即ち、ＣＰＵ１６は、対象となるフォントを行単位に分割し（ステップＳ５１）、行ごとにコストを算出し（ステップＳ５２）、全ての行についてコストが得られると（ステップＳ５３；Ｙｅｓ）、コストの低い順に行を順序付けする（ステップＳ５４）。次に、ＣＰＵ１６は、縮小率に基づいて縮小する行の数を決定し（ステップＳ５５）、対象となる行について縮小処理を行う。
【００５４】
このように、フォント縮小処理における行方向縮小処理は、基本的な流れはフォント拡大処理における行方向拡大処理と同様である。但し、フォント縮小処理における行方向縮小処理は、ステップＳ５２におけるコスト計算方法及びステップＳ５６における縮小方法において、フォント拡大処理の場合と異なる。以下、これについて説明する。
【００５５】
まず、コスト計算について説明する。フォント拡大処理におけるコストは、線分量、即ち各行又は列に含まれる画素が線分に近いか、ドットに近いかを示す値であった。これに対し、フォント縮小処理におけるコストは、類似度、即ち各行又は列が、隣接する行又は列にどの程度類似しているかを示す値である。具体的には、ＣＰＵ１６は各行に対し、隣の行との排他的論理和（ＸＯＲ）を算出する。排他的論理和の値は、隣接する画素が同じであると「０」となり、隣接する画素が異なると「１」となる。よって、各行に含まれる各フォント構成画素について排他的論理和を求め、その値が「１」となるフォント構成要素の数をその行のコストとする。よって、コストが高いほど、その行と隣接する行とのフォント画素パターンは非類似であり、コストが低いほど、その行と隣接する行とのフォント画素パターンは類似であることになる。こうして、コストは隣接する行との類似度（厳密には、非類似度）を示す値となる。
【００５６】
即ち、ある行のコストが低いということは、その行のフォント画素パターンが隣接する行のフォント画素パターンと類似していることを意味する。よって、類似している画素パターンを有する行を優先的に縮小の対象とすることにより、類似している行を削除する。これは、隣接する行が相互に類似している場合には、それを優先的に削除しても、文字全体に与える影響、違和感は少ないであろうとの発想に基づいている。これにより、自然な縮小が可能となる。
【００５７】
行方向縮小処理が終わると、次に列方向縮小処理が行われるが（ステップＳ４４）、これは行方向縮小処理と基本的に同様である。対象となるフォントを列単位に分割し（ステップＳ５１）、列ごとにコストを算出し（ステップＳ５２）、全ての列についてコストが得られると（ステップＳ５３；Ｙｅｓ）、コストの低い順に列を順序付けする（ステップＳ５４）。そして、ＣＰＵ１６は、縮小率に基づいて縮小する列の数を決定し（ステップＳ５５）、対象となる列について縮小処理を行う。
【００５８】
図１０（ａ）〜（ｃ）に列方向縮小処理の様子を示す。まず、図１０（ａ）に示すように各列についてコスト計算が行われ、次に図１０（ｂ）に示すようにコストの低い順に列の順序付けが行われ、コストが低い列から順に縮小の対象となる。ステップＳ５６の縮小処理においては、例えば図１０（ｃ）に示すように、コストの低い列から順にその行が削除される。図１０（ｃ）の例では、コストの低い３つの列（Ａ、Ｂ、Ｃ）が削除されている。
【００５９】
以上説明したように、コスト方式処理によるフォントの縮小では、対象となるフォントを行方向及び列方向に分割し、それぞれ隣接する行又は列との類似度を考慮して縮小を行う。よって、表示フォントのサイズが１９ドット未満であっても、フォント画素パターンが類似する行又は列が隣接している部分を優先して縮小（行又は列の削除）を行うので、縮小後のフォントが不自然となることが少なくなる。
【００６０】
図１１（ａ）及び（ｂ）に、後述するアドレス方式処理により得られた拡大・縮小フォントと、コスト方式処理により得られた拡大・縮小フォントの例を示す。図からわかるように、サイズが１９ドット未満のフォントを表示する場合、アドレス方式処理による拡大・縮小フォントでは縦や横のストロークが拡大により２重になったり（「本」という文字の横線、「肌」という文字の右側の縦線など）、斜めの線がギザギザに見えたりしている。また、縮小により、文字の左右のバランスが崩れたり（「本」という文字の左右のバランス）、画素同士が連結して別の文字に見えたり（「肌」という文字の左側が「月」ではなく「目」に見える）している。これに対し、コスト方式処理によるフォント拡大・縮小処理では、そのような不具合は生じず、自然な拡大・縮小フォントが得られている。
【００６１】
［アドレス方式処理］
次に、ユーザが指定したサイズが１９ドット以上の場合に行われるアドレス方式処理によるフォントの拡大・縮小について説明する。アドレス方式処理は、前述のようにＣＰＵ１６がプログラムＲＯＭ２０内に格納されているアドレス方式処理プログラムを実行することにより行われる。以下、アドレス方式処理によりフォントを拡大する場合、及び、アドレス方式処理によりフォントを縮小する場合について、順に説明する。
【００６２】
（ｉ）アドレス方式処理によりフォントを拡大する場合
まず、アドレス方式処理によりフォントを拡大する場合について図１２乃至１７を参照して説明する。図１２及び図１３は、アドレス方式処理によりフォントを拡大する場合のメインルーチン及びサブルーチンのフローチャートである。また、図１４乃至図１７はアドレス方式処理によりフォントを拡大する場合の各工程を説明するための図である。
【００６３】
図１２を参照すると、まずＣＰＵ１６はサイズ指定情報を受け取る（ステップＳ６１）。サイズ指定情報は、例えば、ユーザが入力部１８を操作して表示フォントのサイズの指定、選択や表示モードの指定、選択を行った場合に、入力部１８からの指示に基づいて生成される。また、ユーザによる指示以外の場合でも、表示部１２上への表示内容に応じてサイズが指定される場合もある。
【００６４】
なお、アドレス方式処理による拡大を行う場合に受け取るサイズ指定情報は、ユーザによる指定の場合も文字表示プログラムが自動的に要求する場合も共に、表示フォントのサイズが１９ドット以上であり、且つ、字母データを拡大することにより最も効率良く生成することが可能なサイズに限定される。
【００６５】
サイズ指定情報を受け取ると、ＣＰＵ１６は指定されたサイズに最も近い字母データをフォントＲＯＭ２２から読み出し、作業メモリであるＲＡＭ２４へ展開する（ステップＳ６２）。具体的に、サイズ指定情報として受け取ったサイズが２９ドットの場合、２８ドットの字母データを読み出す。一方、拡大指示として受け取ったサイズが３４ドットの場合、３２ドットの字母データを読み出す。
【００６６】
そして、ＣＰＵ１６は、拡大処理を実行し、字母データを展開した拡大の対象となるフォントを拡大する（ステップＳ６３）。なお、本例の場合、横方向と縦方向の拡大率は同一に設定される。こうして、対象となるフォントの拡大が完了すると、ＣＰＵ１６は、拡大後のフォントデータを処理フォントとして処理フォントメモリ１４に一時的に保存し（ステップＳ６４）、さらに表示部１２上に表示フォントとして表示する（ステップＳ６５）。
【００６７】
次に、ステップＳ６３で行われる拡大処理の詳細について説明する。図１３は、アドレス方式処理における拡大処理を表すフローチャートである。なお、アドレス方式処理は、サイズを１９ドット以上に拡大する場合にのみ行われる処理であるが、以下の説明では、便宜上、サイズが８ドットの字母データをサイズ指定情報に基づいて９ドットに拡大するものとする。
【００６８】
図１３によれば、ＣＰＵ１６は、まず、ステップＳ６２においてＲＡＭ２４へ展開した字母データの横方向の位置を示すｘ座標として「１」をセットする。さらに、当該字母データの縦方向の位置を示すｙ座標として「１」をセットする。これにより、ＣＰＵ１６は、図１４に示すように、拡大後のフォントデータである処理フォントを展開する際の始点となる基準座標（ｘ，ｙ）として座標３０（１，１）を設定する（ステップＳ７１）。ここで、図１４は、サイズが８ドットである字母データのデータ構造を模式的に示す図である。また、基準座標３０（１，１）は、字母データを構成する構成画素の中の１つである画素３４を特定している。なお、サイズが８ドットの字母データの場合、構成画素は「８＊８」となり６４個である。
【００６９】
次に、ＣＰＵ１６は、図１５（ａ）に示す計算式「（ｘ，ｙ）＊Ｂ／Ａ＝（ｘ１，ｙ１）」に基づいて、対応座標（ｘ１，ｙ１）を算出する（ステップＳ７２）。ここで、変数Ａは、字母データのサイズである。一方、変数Ｂは、ステップＳ６１においてサイズ情報として受け取ったサイズである。即ち、この実施例では、変数Ａが「８」、変数Ｂが「９」となる。具体的に、図１５（ａ）に示す計算式に、変数Ａとして「８」、変数Ｂとして「９」を対応させた結果を、対応座標算出結果として図１５（ｂ）に示す。図１５（ｂ）によれば、基準座標（ｘ，ｙ）が座標３０（１，１）である場合、対応座標（ｘ１，ｙ１）は（１．１２５，１．１２５）となる。
【００７０】
次に、ＣＰＵ１６は、算出した対応座標（ｘ１，ｙ１）に基づいて対応画素を決定する（ステップＳ７３）。図１６に、サイズが９ドットのフォントデータのデータ構造を模式的に示す。図１６（ａ）において、算出した対応座標（１．１２５、１．１２５）に該当する座標は、座標３５である。そして、ＣＰＵ１６は、対応座標３５（１．１２５，１．１２５）に基づいて、対応画素が画素４３であることを決定する。これは、対応座標３５（１．１２５，１．１２５）に基づいて、図１４に示す基準座標３０が特定する画素３４に対応する所定の範囲３６を想定した場合、当該範囲３６が画素４３に最も広く重複しているからである。
【００７１】
次に、ＣＰＵ１６は、基準座標（ｘ，ｙ）が特定する画素のパターンを拡大後のフォントデータである処理フォントとして展開する（ステップＳ７４）。即ち、基準座標（ｘ，ｙ）が特定する画素のパターンを、決定した対応画素の領域に書き込む。具体的に、ＣＰＵ１６は、図１４に示す基準座標３０（１，１）が特定する画素３４の値を、図１６（ｂ）に示すように決定した対応画素４３の領域に書き込む。
【００７２】
そして、ＣＰＵ１６は、基準座標を構成するｘ座標と変数Ａの値を比較する（ステップＳ７５）。具体的には、ｘ座標の値が「８」より小さいか否かをチェックする。ｘ座標の値が変数Ａの値より小さい場合（ステップＳ７５；Ｙｅｓ）、ＣＰＵ１６は、ｘ座標の値に「１」を加算し（ステップＳ７６）、ステップＳ７２にリターンする。具体的には、ステップＳ７５の時点で基準座標が（１，１）の場合、基準座標を（２，１）とし、ステップＳ７２乃至Ｓ７５を繰り返す。
【００７３】
一方、ｘ座標の値が変数Ａの値と等しい、又は、ｘ座標の値が変数Ａの値より大きい場合（ステップＳ７５；Ｎｏ）、ＣＰＵ１６は、基準座標を構成するｙ座標と変数Ａの値を比較する（ステップＳ７７）。具体的には、ｙ座標の値が「８」より小さいか否かをチェックする。ｙ座標の値が変数Ａの値より小さい場合（ステップＳ７７；Ｙｅｓ）、ＣＰＵ１６は、ｙ座標の値に「１」を加算し、ｘ座標の値を「１」に初期化し（ステップＳ７８）、ステップＳ７２にリターンする。具体的に、ステップＳ７７の時点で基準座標が（８，１）の場合、ｙ座標の値に「１」を加算し、ｘ座標の値を「１」に初期化することで、基準座標（１，２）を設定する。そして、ＣＰＵ１６は、ステップＳ７２乃至Ｓ７７の処理を繰り返す。
【００７４】
一方、ｙ座標の値が変数Ａの値と等しい、又は、ｙ座標の値が変数Ａの値より大きい場合（ステップＳ７７；Ｎｏ）、ＣＰＵ１６は、拡大処理を完了する。具体的には、ステップＳ７７の時点で基準座標が（８，８）の場合、字母データを構成する全ての構成画素のパターンを拡大後のフォントデータである処理フォントとして展開したこととなるため、ＣＰＵ１６は、拡大処理を完了する。
【００７５】
こうして、拡大処理が完了すると、図１２に示すように、ＣＰＵ１６は拡大処理により得られた、図１７に示すような処理フォントを処理フォントメモリ１４に記憶し（ステップＳ６４）、必要に応じて表示部１２に表示する（ステップＳ６５）。
【００７６】
なお、拡大処理のステップＳ７３において、決定する対応画素が複数となる場合がある。具体的には、基準座標（ｘ，ｙ）が図１４に示すような座標３１（１，４）である場合、図１５（ｂ）に示す対応座標算出結果によれば、対応座標（ｘ１，ｙ１）は（１．１２５，４．５）となる。この場合、図１６（ａ）において、対応座標（１．１２５，４．５）に該当する座標は、座標３７である。そのため、対応座標３７に基づいて、基準座標３１が特定する画素３６に対応する所定の範囲３８を想定した場合、当該範囲３８は、画素４４及び画素４５に同じ面積分重複している。よって、ＣＰＵ１６は、ステップＳ７３において画素４４及び画素４５を対応画素として決定する。このように、アドレス方式処理によりフォントを拡大する場合、１つの特定画素に対して対応画素が複数となることがある。これにより、サイズが大きくなり、構成要素が増加した場合であっても、文字バランスの整った自然な拡大を行うことができる。
【００７７】
（ｉｉ）アドレス方式処理によりフォントを縮小する場合
次に、アドレス方式処理によりフォントを縮小する場合について説明する。アドレス方式によりフォントを縮小する処理は、基本的に拡大する処理と同様に行われる。即ち、ＣＰＵ１６は、サイズ指定情報を受け取ると（ステップＳ６１）、ＣＰＵ１６は指定されたサイズに最も近いの字母データをフォントＲＯＭ２２から読み出し、作業メモリであるＲＡＭ２４へ展開する（ステップＳ６２）。
【００７８】
そして、ＣＰＵ１６は、縮小処理を実行し、字母データを展開した縮小の対象となるフォントを縮小する（ステップＳ６３）。なお、本例の場合、横方向と縦方向の拡大率は同一に設定される。こうして、対象となるフォントの縮小が完了すると、ＣＰＵ１６は、縮小後のフォントデータを処理フォントとして処理フォントメモリ１４に一時的に保存し（ステップＳ６４）、さらに表示部１２上に表示フォントとして表示する（ステップＳ６５）。
【００７９】
なお、縮小処理のステップＳ７３において、決定した対応画素の領域に既に所定の値が書き込まれている場合がある。この場合、当該対応画素に値を上書きすることは出来ないため、ＣＰＵ１は、ステップＳ７４を行わず、ステップＳ７５にスキップする。これにより、サイズが小さくなり、構成画素が減った場合であっても、文字バランスの整った自然な縮小を行うことができる。
【００８０】
［フォント変形処理］
次に、フォント変形処理について図１８を参照して説明する。図１８は、フォント変形処理のフローチャートである。
【００８１】
図１８を参照すると、まず、ＣＰＵ１６はサイズ指定情報を受け取る（ステップＳ８１）。サイズ指定情報は、例えばユーザが入力部１８を操作して表示フォントのサイズの指定、選択や表示モードの指定、選択を行った場合に、入力部１８からの指示に基づいて生成される。また、ユーザによる指示以外の場合でも、表示部１２上への表示内容に応じてサイズの指定が必要となる場合もある。
【００８２】
次に、ＣＰＵ１６は、サイズ指定情報として受け取ったサイズが１９ドット以上であるか否かを判定する（ステップＳ８２）。当該サイズが１９ドット未満である場合（ステップＳ８２；Ｎｏ）、ＣＰＵ１６はコスト方式処理を行う（ステップＳ８３）。一方、当該サイズが１９ドット以上である場合（ステップＳ８２；Ｙｅｓ）、ＣＰＵ１６はアドレス方式処理を行う（ステップＳ８４）。コスト方式処理、又は、アドレス方式処理が完了すると、ＣＰＵ１６は、フォント変形処理を完了する。
【００８３】
なお、上記の実施形態では、ステップＳ８２において指定されたサイズが１９ドット以上であるか否かを判定しており、当該サイズが１９ドット未満であればコスト方式処理を行い、当該サイズが１９ドット以上であればアドレス方式処理を行う。しかし、本発明において、判定基準となるサイズは１９ドットに限定されるものではなく、フォントの拡大・縮小といった変形を自然に行うことが可能であれば、判定基準となる指定サイズは任意に設定することが可能である。
【００８４】
また、上記の実施形態では、６種類のサイズを字母データとしているが、本発明は、これに限定されるものではなく、例えば明朝体やゴシック体等といった様々なデザインのフォントを字母データとしてフォントＲＯＭ２２に記憶させておくことも可能である。即ち、字母データは、デザイン、サイズ共に任意に設定することができる。通常、携帯端末装置において、サイズが１６ドット以上では明朝体とゴシック体を表現することができるようになり、サイズが２４ドット以上では漢字の全てのストロークを表現することができるようになるからである。
【００８５】
また、上記の実施形態では、フォントの縦横比が等しい正方フォントを使用してフォント変形処理を行っているが、本発明はこれに限定されるものではなく、縦横比を任意に設定することを可能としてもよい。例えば、縦の拡大比率が大きいと、縦長のフォントを生成でき、横の拡大比率が大きいと横長のフォントを生成することができる。よって、字母データとして正方フォントを予め記憶しておくだけで、任意の縦長、横長のフォントを生成することができる。
【００８６】
このように、本発明によれば、ユーザ等により指定されたフォントのサイズが、判定基準となる所定のサイズ以上であるか否かを判定し、当該判定の結果に基づいてコスト方式処理、又は、アドレス方式処理を行っている。即ち、判定基準となる所定のサイズ以上であれば、アドレス方式処理により字母データの拡大・縮小を行うことで、バランスの整ったフォントを生成することができる。一方、判定基準となる所定のサイズ未満であれば、コスト方式処理により字母データの拡大・縮小を行うことで、不自然な太さの線が出現したりすることのないフォントを生成することができる。このように、生成するフォントのサイズに応じた適切な処理により字母データの拡大・縮小を行うことで、バランスの整った自然なフォントを携帯端末装置上で表示することができる。
【００８７】
また、フォントＲＯＭ２２に記憶された数種類の字母データを拡大・縮小することにより、任意の大きさのフォントを生成することができる。よって、ユーザが指定する可能性のある全てのサイズのフォントを予めフォントＲＯＭ２２に記憶しておく場合と比較して、メモリの使用容量を大幅に節約することができる。
【図面の簡単な説明】
【図１】拡大・縮小処理を適用した携帯端末装置の概略構成を示す。
【図２】コスト方式処理により拡大する場合のフローチャートである。
【図３】コスト方式処理における行（列）方向拡大処理のフローチャートである。
【図４】コスト方式処理におけるコスト計算処理のフローチャートである。
【図５】字母データを拡大する場合におけるコスト計算処理例を示す図である。
【図６】コスト計算処理の例を示す図である。
【図７】行（列）方向拡大処理の例を示す図である。
【図８】コスト方式処理により縮小する場合のフローチャートである。
【図９】行（列）方向縮小処理のフローチャートである。
【図１０】字母データを縮小する場合におけるコスト計算処理例を示す図である。
【図１１】コスト方式処理とアドレス方式処理の処理結果を比較する図である。
【図１２】アドレス方式処理のフローチャートである。
【図１３】アドレス方式処理における拡大（縮小）処理のフローチャートである。
【図１４】サイズが８ドットの字母データのデータ構造を模式的に示す図である。
【図１５】対応座標を算出するための計算式、及び、対応座標算出結果を示す。
【図１６】サイズが９ドットの字母データのデータ構造を模式的に示す図である。
【図１７】拡大後の処理フォントのデータ構造を模式的に示す図である。
【図１８】フォント変形処理のフローチャートである。
【符号の説明】
１０  携帯端末装置、１２  表示部、１４  処理フォントメモリ、１６  ＣＰＵ、１８  入力部、２０  プログラムＲＯＭ、２２  フォントＲＯＭ、２４  ＲＡＭ、
【図１】
2004219937.tif 000003
【図２】
2004219937.tif 000004
【図３】
2004219937.tif 000005
【図４】
2004219937.tif 000006
【図５】
2004219937.tif 000007
【図６】
2004219937.tif 000008
【図７】
2004219937.tif 000009
【図８】
2004219937.tif 000010
【図９】
2004219937.tif 000011
【図１０】
2004219937.tif 000012
【図１１】
2004219937.tif 000013
【図１２】
2004219937.tif 000014
【図１３】
2004219937.tif 000015
【図１４】
2004219937.tif 000016
【図１５】
2004219937.tif 000017
【図１６】
2004219937.tif 000018
【図１７】
2004219937.tif 000019
【図１８】
2004219937.tif 000020