(57)【特許請求の範囲】
【請求項１】
手書きされた文字の入力を受け付ける入力部と、
前記入力部を介して入力された文字に基づいて生成された手書き文字画像に対応する第１のベース文字画像をあらかじめ設けられた第１のベースフォントから抽出し、該抽出された第１のベース文字画像と前記手書き文字画像との比較に基づいて第１の歪データを抽出する抽出部と、
前記抽出部によって抽出された第１の歪データを前記第１のベースフォントの複数の文字に展開して第１のフォントデータを生成する展開部と、
前記抽出部によって抽出された第１の歪データと前記第１のベースフォントの識別子と前記手書き文字画像とを含む中間ファイルを生成する生成部と、
前記生成部によって生成された中間ファイルと前記展開部によって生成された第１のフォントデータとを格納する記憶部と、
他の端末装置が前記中間ファイルに含まれる第１のベースフォントの識別子に対応するベースフォントが自端末装置の記憶部に格納されているか否かを判定し、格納されていなければ前記第１のベースフォントとは異なる第２のベースフォントを選択し、前記中間ファイルに含まれる手書き文字画像と該手書き文字画像に対応し選択された第２のベースフォントから生成された第２のベース文字画像との比較に基づいて第２の歪データを抽出し、抽出された第２の歪データを前記第２のベースフォントの複数の文字に展開して第２のフォントデータを生成するように、前記記憶部に格納された中間ファイルを前記他の端末装置に送信する通信部と、
を備えることを特徴とする端末装置。
【請求項２】
前記記憶部に格納された第１のフォントデータに基づく文字画像を前記他の端末装置に表示させるか否かを判定する判定部をさらに備え、
前記通信部は、前記判定部によって前記記憶部に格納された第１のフォントデータに基づく文字画像を前記他の端末装置に表示させると判定された場合に、前記記憶部に格納された中間ファイルを前記他の端末装置へ送信する
ことを特徴とする請求項１に記載の端末装置。
【請求項３】
前記入力部は、タッチスクリーン式の入力装置、又は手書きされた文字を撮像可能な撮像手段を含む
ことを特徴とする請求項１又は２に記載の端末装置。
【請求項４】
手書き文字画像と該手書き文字画像に対応し第１のベースフォントから生成された第１のベース文字画像との比較に基づいて抽出された第１の歪データ、前記第１のベースフォントの識別子、及び前記手書き文字画像を含む中間ファイルを受信する通信部と、
前記中間ファイルに含まれる第１のベースフォントの識別子に対応するベースフォントが自端末装置の記憶部に格納されているか否かを判定し、格納されていなければ前記第１のベースフォントとは異なる第２のベースフォントを選択する選択部と、
前記中間ファイルに含まれる手書き文字画像と該手書き文字画像に対応し前記選択部によって選択された第２のベースフォントから生成された第２のベース文字画像との比較に基づいて第２の歪データを抽出する抽出部と、
前記抽出部によって抽出された第２の歪データを前記第２のベースフォントの複数の文字に展開してフォントデータを生成する展開部と、
を備えることを特徴とする端末装置。
【請求項５】
前記選択部は、前記中間ファイルに含まれる第１のベースフォントの識別子に対応するベースフォントが自端末装置の記憶部に格納されていなければ、前記中間ファイルに含まれる手書き文字画像と複数のベースフォントとをそれぞれ比較して歪量の平均又は総和を算出し、該算出された歪量の平均又は総和が最小のベースフォントを選択する
ことを特徴とする請求項４に記載の端末装置。
【請求項６】
第１の端末装置が、
手書きされた文字の入力を受け付け、
前記入力された文字に基づいて生成された手書き文字画像に対応する第１のベース文字画像をあらかじめ設けられた第１のベースフォントから抽出し、
該抽出された第１のベース文字画像と前記手書き文字画像との比較に基づいて第１の歪データを抽出し、
前記抽出された第１の歪データを前記第１のベースフォントの複数の文字に展開して第１のフォントデータを生成し、
前記抽出された第１の歪データと前記第１のベースフォントの識別子と前記手書き文字画像とを含む中間ファイルを生成し、
前記生成された中間ファイルと前記生成された第１のフォントデータとを記憶部に格納し、
前記記憶部に格納された中間ファイルを第２の端末装置に送信し、
前記第２の端末装置が、
前記中間ファイルを受信し、
前記中間ファイルに含まれる第１のベースフォントの識別子に対応するベースフォントが自端末装置の記憶部に格納されているか否かを判定し、格納されていなければ前記第１のベースフォントとは異なる第２のベースフォントを選択し、
前記中間ファイルに含まれる手書き文字画像と該手書き文字画像に対応し選択された第２のベースフォントから生成された第２のベース文字画像との比較に基づいて第２の歪データを抽出し、
抽出された第２の歪データを前記第２のベースフォントの複数の文字に展開して第２のフォントデータを生成する
ことを特徴とするフォント制御方法。
【請求項７】
端末装置に、
手書きされた文字の入力を受け付け、
前記入力された文字に基づいて生成された手書き文字画像に対応する第１のベース文字画像をあらかじめ設けられた第１のベースフォントから抽出し、
該抽出された第１のベース文字画像と前記手書き文字画像との比較に基づいて第１の歪データを抽出し、
前記抽出された第１の歪データを前記第１のベースフォントの複数の文字に展開して第１のフォントデータを生成し、
前記抽出された第１の歪データと前記第１のベースフォントの識別子と前記手書き文字画像とを含む中間ファイルを生成し、
前記生成された中間ファイルと前記生成された第１のフォントデータとを記憶部に格納し、
他の端末装置が前記中間ファイルに含まれる第１のベースフォントの識別子に対応するベースフォントが自端末装置の記憶部に格納されているか否かを判定し、格納されていなければ前記第１のベースフォントとは異なる第２のベースフォントを選択し、前記中間ファイルに含まれる手書き文字画像と該手書き文字画像に対応し選択された第２のベースフォントから生成された第２のベース文字画像との比較に基づいて第２の歪データを抽出し、抽出された第２の歪データを前記第２のベースフォントの複数の文字に展開して第２のフォントデータを生成するように、前記記憶部に格納された中間ファイルを前記他の端末装置に送信する
処理を実行させることを特徴とするフォント制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末装置、フォント制御方法、及びフォント制御プログラムに関する。
【背景技術】
【０００２】
近年、スマートフォン，Ｐａｄに代表されるように、表示パネルが主構成要素となる端末装置の普及が進んでいる。このような端末装置の普及に伴い、表示パネルに表示される画面を自分専用にカスタマイズしたいという要求が高まっている。特に、表示要素のうち、大きな比重を占める文字要素について、自分独自のフォントを利用したいという要求が高まっている。
【０００３】
そこで従来、文字フォントを自分独自のフォントにカスタマイズする技術が知られている。すなわち、従来技術は、例えばユーザによって紙面等に記載された手書き文字をイメージスキャナ等でスキャンし、手書き文字画像を生成する。次に、従来技術は、例えばＭＳ明朝やＭＳゴシックなどのベースフォントを選択し、選択したベースフォントから手書き文字画像に対応するグリフ画像を生成する。そして、従来技術は、グリフ画像と手書き文字画像とを比較して、複数の対応点を取得する。対応点は、例えば文字の輪郭の変位が一定以上になった点や、文字のストロークの端点等である。
【０００４】
次に、従来技術は、グリフ画像と手書き文字画像の複数の対応点ごとに変位を求めて、グリフ画像の座標系毎にマッピングする。従来技術は、複数の手書き文字に対して同様の処理を行ってグリフ画像と手書き文字画像との対応点の変位をマッピングし、複数のマッピングの変位を平均化する。次に、従来技術は、手書き文字数の増加にともなって平均化された変位が安定化したら、平均化された変位がマッピングされたものを歪データとして記憶し、歪データをベースフォントの全文字に展開することで、全文字分のカスタマイズされたフォントを生成する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−５８１４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術は、カスタムフォントを自端末装置だけではなく、他の端末装置で利用する場合の通信トラフィックの増加を抑制することは考慮されていない。
【０００７】
すなわち、従来技術は、生成したカスタムフォントを自端末装置で表示するなどして利用することを前提としているため、例えばある端末装置で生成されたカスタムフォントを他の端末装置でも利用することは考慮されていない。
【０００８】
例えば、携帯電話機やスマートフォンのような通信機能を有する端末装置でカスタムフォント技術を使用する場合、生成したカスタムフォントを他の端末装置へ送信して、他の端末装置でカスタムフォントを表示することが考えられる。
【０００９】
この点、生成した手書き風のカスタムフォントのサイズは、全文字分あわせると一般的には１０ＭＢｙｔｅ以上の容量になるので、これらのカスタムフォントを他の端末装置に送信すると、通信経路のトラフィックが増加するおそれがある。このような課題は、スマートフォン，Ｐａｄのような端末装置に限らず、表示器及び通信機能を有する端末装置において同様に生じるおそれがある。
【００１０】
開示の技術は、上記に鑑みてなされたものであって、通信トラフィックを抑制しつつカスタムフォントを他の端末装置で利用することができる端末装置、フォント制御方法、及びフォント制御プログラムを実現することを目的とする。
【課題を解決するための手段】
【００１１】
本願の開示する端末装置は、一つの態様において、手書きされた文字の入力を受け付ける入力部を備える。また、端末装置は、前記入力部を介して入力された文字に基づいて生成された手書き文字画像に対応する第１のベース文字画像をあらかじめ設けられた第１のベースフォントから抽出し、該抽出された第１のベース文字画像と前記手書き文字画像との比較に基づいて第１の歪データを抽出する抽出部を備える。また、端末装置は、前記抽出部によって抽出された第１の歪データを第１の前記ベースフォントの複数の文字に展開して第１のフォントデータを生成する展開部を備える。また、端末装置は、前記抽出部によって抽出された第１の歪データと前記第１のベースフォントの識別子と前記手書き文字画像とを含む中間ファイルを生成する生成部を備える。また、端末装置は、前記生成部によって生成された中間ファイルと前記展開部によって生成された第１のフォントデータとを格納する記憶部を備える。また、端末装置は、他の端末装置が前記中間ファイルに含まれる第１のベースフォントの識別子に対応するベースフォントが自端末装置の記憶部に格納されているか否かを判定し、格納されていなければ前記第１のベースフォントとは異なる第２のベースフォントを選択し、前記中間ファイルに含まれる手書き文字画像と該手書き文字画像に対応し選択された第２のベースフォントから生成された第２のベース文字画像との比較に基づいて第２の歪データを抽出し、抽出された第２の歪データを前記第２のベースフォントの複数の文字に展開して第２のフォントデータを生成するように、前記記憶部に格納された中間ファイルを前記他の端末装置に送信する通信部を備える。
【発明の効果】
【００１２】
本願の開示する端末装置の一つの態様によれば、通信トラフィックを抑制しつつカスタムフォントを他の端末装置で利用することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、端末装置のハードウェア及び機能ブロックを示す図である。
【図２】図２は、歪抽出の概念を示す図である。
【図３】図３は、端末装置の処理フローの一例を示す図である。
【図４】図４は、端末装置の処理フローの一例を示す図である。
【図５】図５は、端末装置の処理フローの他の例を示す図である。
【図６】図６は、端末装置の処理フローの他の例を示す図である。
【図７】図７は、端末装置の処理フローの他の例を示す図である。
【図８】図８は、端末装置の処理フローの他の例を示す図である。
【図９】図９は、カメラを用いた文字画像の入力と切り出しの一例を示す図である。
【発明を実施するための形態】
【００１４】
以下に、本願の開示する端末装置、フォント制御方法、及びフォント制御プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により開示技術が限定されるものではない。
【００１５】
図１は、端末装置のハードウェア及び機能ブロックを示す図である。図１に示すように、端末装置は、送信側の端末装置１００と受信側の端末装置２００を含む。送信側の端末装置１００は、基地局３００を介して例えば後述する中間ファイルを受信側の端末装置２００へ送信する。受信側の端末装置２００は、例えば送信側の端末装置１００から基地局３００を介して送信された中間ファイルを受信する。
【００１６】
本実施形態では、説明の便宜上、送信側の端末装置１００と受信側の端末装置２００とを分けて説明するが、これには限られない。すなわち、送信側の端末装置１００は中間ファイルの送信側になった端末装置が備えるハードウェア及び機能ブロックを説明するものであり、受信側の端末装置２００は中間ファイルの受信側になった端末装置が備えるハードウェア及び機能ブロックを説明するものである。しかしながら、一般的な端末装置は、送信側にも受信側にもなり得る。よって、端末装置は、送信側の端末装置１００と受信側の端末装置２００の両方のハードウェア及び機能ブロックを備えることもできる。この場合、端末装置は、送信側の端末装置１００と受信側の端末装置２００の両方が備える同様のハードウェア又は機能ブロックについては、重複しないようにすることができる。なお、端末装置１００及び端末装置２００は、例えば、携帯電話機、スマートフォン、Ｐａｄなど、表示機能と通信機能を有する端末装置とすることができる。
【００１７】
送信側の端末装置１００は、ＣＰＵ（Central Processing Unit）１１０、無線部１２０、メモリ１３０、入力部１４０、及び表示器１５０を備える。ＣＰＵ１１０は、歪抽出部１１２、歪展開部１１４、中間ファイル生成部１１６、及び判定部１１８を有する。
【００１８】
ＣＰＵ１１０は、メモリ１３０に格納されているフォント制御プログラムを読み出して実行する中央処理装置である。ＣＰＵ１１０は、メモリ１３０に格納されているフォント制御プログラムを読み出して実行することにより、後述する歪抽出部１１２、歪展開部１１４、中間ファイル生成部１１６、及び判定部１１８の動作を実現する。
【００１９】
例えば、歪抽出部１１２は、入力部１４０を介して入力された手書き文字に基づいて生成された手書き文字画像に対応するベース文字画像（文字グリフ画像）をメモリ１３０にあらかじめ格納されたベースフォントから抽出する。また、歪抽出部１１２は、抽出されたベース文字画像と手書き文字画像との比較に基づいて歪データを抽出する。ここで、歪データとは、手書き文字を書いたユーザの文字の書き方の特徴を示すデータである。また、ベースフォントとは、例えばＭＳ明朝やＭＳゴシックなどのように、あらかじめ文字の字体が定められたフォームのことである。
【００２０】
歪展開部１１４は、歪抽出部１１２によって抽出された歪データをベースフォントの複数の文字（例えば全文字）に展開してフォントデータを生成する。中間ファイル生成部１１６は、歪抽出部１１２によって抽出された歪データとベースフォントの識別子（ＩＤ：Identification）とを含む中間ファイルを生成する。また、中間ファイル生成部１１６は、歪抽出部１１２によって抽出された歪データとベースフォントの識別子に加えて、入力部１４０を介して入力された文字に基づいて生成された手書き文字画像を含めて中間ファイルを生成することもできる。判定部１１８は、メモリ１３０に格納されたフォントデータを送信するか否かを判定する。
【００２１】
無線部１２０は、判定部１１８によってメモリ１３０に格納されたフォントデータを送信すると判定されたら、メモリ１３０に格納された中間ファイルを、基地局３００を介して受信端末装置２００へ送信する。
【００２２】
メモリ１３０は、歪展開部１１４によって生成されたフォントデータ及び中間ファイル生成部１１６によって生成された中間ファイルなどの各種データを格納する記憶媒体である。また、メモリ１３０には、ＭＳ明朝やＭＳゴシックなどの複数のベースフォントがあらかじめ格納されている。また、メモリ１３０には、ＣＰＵ１１０に読み出されて実行されることにより、送信側の端末装置１００の機能及び動作を実現するフォント制御プログラムが格納される。
【００２３】
入力部１４０は、手書きされた文字の入力を受け付ける入力インターフェースである。例えば、入力部１４０は、手書きされた文字を撮像可能な撮像手段であるカメラとすることができる。また、表示器１５０がタッチスクリーン（タッチパネル）式の表示デバイスである場合、表示器１５０のタッチスクリーンを介して手書き文字の入力を受け付けることができる。この場合、表示器１５０が入力部１４０を兼ねることとなる。
【００２４】
表示器１５０は、送信側の端末装置１００で用いられる各種の文字や画像などを表示する出力インターフェースであり、例えば液晶パネルなどの表示デバイス又はタッチスクリーン式の表示デバイスとすることができる。
【００２５】
一方、受信側の端末装置２００は、ＣＰＵ２１０、無線部２２０、メモリ２３０、入力部２４０、及び表示器２５０を備える。ＣＰＵ２１０は、ベースフォント選択部２１２、歪抽出部２１４、及び歪展開部２１６を有する。
【００２６】
ＣＰＵ２１０は、メモリ２３０に格納されているフォント制御プログラムを読み出して実行する中央処理装置である。ＣＰＵ２１０は、メモリ２３０に格納されているフォント制御プログラムを読み出して実行することにより、後述するベースフォント選択部２１２、歪抽出部２１４、及び歪展開部２１６の動作を実現する。
【００２７】
ベースフォント選択部２１２は、無線部２２０によって受信された中間ファイルに含まれるベースフォントの識別子に対応するベースフォントがメモリ２３０に格納されているか否かを判定する。ベースフォント選択部２１２は、判定の結果、格納されていなければ中間ファイルに含まれるベースフォントとは異なる他のベースフォントを選択する。また、ベースフォント選択部２１２は、判定の結果、格納されていなければ、中間ファイルに含まれる手書き文字画像と複数のベースフォントとをそれぞれ比較して歪量の平均又は総和を算出し、算出された歪量の平均又は総和が最小のベースフォントを選択する。
【００２８】
歪抽出部２１４は、中間ファイルに含まれる手書き文字画像と、この手書き文字画像に対応しベースフォント選択部２１２によって選択されたベースフォントから生成されたベース文字画像との比較に基づいて歪データを抽出する。
【００２９】
歪展開部２１６は、歪抽出部２１４によって抽出された歪データをベースフォント選択部２１２によって選択されたベースフォントの複数の文字に展開してフォントデータを生成する。
【００３０】
無線部２２０は、送信側の端末装置１００から基地局３００を介して送信された中間ファイルを受信する。
【００３１】
メモリ２３０は、歪展開部２１６によって生成されたカスタムフォント及び無線部２２０によって受信された中間ファイルなどの各種データを格納する記憶媒体である。また、メモリ２３０には、ＭＳ明朝やＭＳゴシックなどの複数のベースフォントがあらかじめ格納されている。また、メモリ２３０には、ＣＰＵ２１０に読み出されて実行されることにより、受信側の端末装置２００の機能及び動作を実現するフォント制御プログラムが格納される。
【００３２】
入力部２４０は、手書きされた文字の入力を受け付ける入力インターフェースである。例えば、入力部２４０は、手書きされた文字を撮像可能な撮像手段であるカメラとすることができる。また、表示器２５０がタッチスクリーン式の表示デバイスである場合、表示器２５０のタッチスクリーンを介して手書き文字の入力を受け付けることができる。この場合、表示器２５０が入力部２４０を兼ねることとなる。
【００３３】
表示器２５０は、受信側の端末装置２００で用いられる各種の文字や画像などを表示する出力インターフェースであり、例えば液晶パネルなどの表示デバイス又はタッチスクリーン式の表示デバイスとすることができる。
【００３４】
次に、歪抽出の概念について説明する。図２は、歪抽出の概念を示す図である。図２を用いて歪抽出部１１２及び歪抽出部２１４の処理について説明する。ここでは、代表して、歪抽出部１１２の処理について説明する。また、一例として、入力部１４０を介してユーザの手書き文字として「権力」という文字が入力された場合の処理を説明する。
【００３５】
まず、歪抽出部１１２は、入力部１４０を介して入力された文字に基づいて生成された手書き文字画像（「権」の文字に対応する手書き文字画像４２０及び「力」の文字に対応する手書き文字画像４４０）に対応するベース文字画像（文字グリフ画像）を抽出する。例えば、歪抽出部１１２は、メモリ１３０にあらかじめ格納された複数種類のベースフォントの中から選択された１つのベースフォントにおいて、「権」の文字に対応するベース文字画像４１０、及び「力」の文字に対応するベース文字画像４３０を抽出する。
【００３６】
続いて、歪抽出部１１２は、手書き文字画像４２０とベース文字画像４１０を比較して、複数の対応点を求める。対応点は、例えば文字の輪郭の変位が一定以上になった点や、文字のストロークの端点等である。例えば図２の例では、ベース文字画像４１０の対応点４１０ａと手書き文字画像４２０の対応点４２０ａとが対の対応点となり、ベース文字画像４１０の対応点４１０ｂと手書き文字画像４２０対応点４２０ｂとが対の対応点となる。ここでは、対応点４１０ａと対応点４２０ａ及び対応点４１０ｂと対応点４２０ｂを例に挙げたが、対応点はこれに限らず、図２に示すように多数抽出される。
【００３７】
続いて、歪抽出部１１２は、対になる対応点の変位を求める。例えば、歪抽出部１１２は、ベース文字画像４１０の各対応点を基準とした場合の手書き文字画像４２０の各対応点の変位ベクトルを求める。例えば、歪抽出部１１２は、対応点４１０ａを基準に考えた場合に、対応点４２０ａは対応点４１０ａに対してどの方向に、どの程度変位しているか求める。同様に、歪抽出部１１２は、対応点４１０ｂを基準に考えた場合に、対応点４２０ｂは対応点４１０ｂに対してどの方向に、どの程度変位しているか求める。また、歪抽出部１１２は、「権」の文字におけるその他の対応点についても同様に、ベース文字画像４１０の各対応点を基準とした場合の手書き文字画像４２０の各対応点の変位ベクトルを求める。このようにして、「権」の文字に対して複数の変位ベクトルが求められ、各変位ベクトルは例えばベース文字画像４１０の対応する位置にマッピングされる。
【００３８】
一方、歪抽出部１１２は、同様に、手書き文字画像４４０とベース文字画像４３０を比較して、複数の対応点を求める。例えば図２の例では、対応点４３０ａと対応点４４０ａとが対の対応点となり、対応点４３０ｂと対応点４４０ｂとが対の対応点となる。ここでは、対応点４３０ａと対応点４４０ａ及び対応点４３０ｂと対応点４４０ｂを例に挙げたが、対応点はこれに限らず、図２に示すように多数抽出される。
【００３９】
続いて、歪抽出部１１２は、対になる対応点の変位を求める。例えば、歪抽出部１１２は、ベース文字画像４３０の各対応点を基準とした場合の手書き文字画像４４０の各対応点の変位ベクトルを求める。例えば、歪抽出部１１２は、対応点４３０ａを基準に考えた場合に、対応点４４０ａは対応点４３０ａに対してどの方向に、どの程度変位しているか求める。同様に、歪抽出部１１２は、対応点４３０ｂを基準に考えた場合に、対応点４４０ｂは対応点４３０ｂに対してどの方向に、どの程度変位しているか求める。また、歪抽出部１１２は、「力」の文字におけるその他の対応点についても同様に、ベース文字画像４３０の各対応点を基準とした場合の手書き文字画像４４０の各対応点の変位ベクトルを求める。このようにして、「力」の文字に対して複数の変位ベクトルが求められ、各変位ベクトルは例えばベース文字画像４３０の対応する位置にマッピングされる。
【００４０】
次に、歪抽出部１１２は、「権」の文字のベース文字画像４１０にマッピングされた各変位ベクトルと、「力」の文字のベース文字画像４３０にマッピングされた各変位ベクトルとを、対応する位置において平均化する。これにより、手書きで「権力」の文字を記載したユーザの固有の書き癖が反映された歪データ４５０が生成される。歪データ４５０は、文字を記載する領域である文字領域が複数の小領域（画素）に分割された各小領域（画素）について、変位ベクトル（変位の方向と変位量）が設定されたデータである。なお、ここでは説明を簡略化するために、「権」の文字と「力」の文字の２文字を手書きした場合を例に挙げたが、実際には、歪抽出部１１２は、さらに複数の手書き文字画像とベース文字画像とを比較して歪データ４５０を生成する。
【００４１】
次に、携帯端末装置の処理フローについて説明する。図３は、端末装置の処理フローの一例を示す図である。図３は、中間ファイルの送信側となる端末装置１００が、手書きの文字を入力してカスタムフォントを作成する処理のフローを示すものである。また、図３は、端末装置１００の表示器１５０がタッチスクリーン型の表示デバイスであり、ユーザがタッチスクリーンに手書き文字を書き込む場合を想定した処理フローである。
【００４２】
図３に示すように、まず、端末装置１００は、ベースフォントをメモリ１３０に記憶する（ステップＳ１０１）。これは、端末装置１００のメモリ１３０に、例えばＭＳ明朝やＭＳゴシックなどの基本書体を記憶する処理であり、端末装置１００にあらかじめベースフォントが格納されている場合は、この処理は行わなくてもよい。
【００４３】
続いて、表示器１５０は、タッチスクリーンで手書きされた文字の入力を受け付ける（ステップＳ１０２）。表示器１５０は、受け付けた手書き文字をＣＰＵ１１０へ出力する。続いて、歪抽出部１１２は、ベースフォントを選択する（ステップＳ１０３）。例えば歪抽出部１１２は、メモリ１３０に格納されている複数のベースフォントのうちあらかじめ設定されたベースフォントを選択することができる。また、ユーザの好みのベースフォントの選択を表示器１５０のタッチスクリーン（又は入力部１４０）で受け付けた場合、歪抽出部１１２は、ユーザによって選択されたベースフォントを選択することができる。
【００４４】
続いて、歪抽出部１１２は、入力された手書き文字に基づいて生成された手書き文字画像に対応するベース文字画像を、選択したベースフォントから抽出し、手書き文字画像とベース文字画像の対応点を取得する（ステップＳ１０４）。続いて、歪抽出部１１２は、取得した対応点の平均変位を算出することによって、手書き文字を書き込んだユーザの文字の書き方の特徴を示す歪データを算出する（ステップＳ１０５）。なお、歪抽出部１１２の処理については、図２を用いて説明したので、ここでの詳細な説明は省略する。
【００４５】
続いて、歪展開部１１４は、歪抽出部１１２によって算出された歪データをベースフォントの複数の文字（例えば全文字）に展開することにより、フォントデータ（カスタムフォント）を生成する（ステップＳ１０６）。ここで、歪データは、文字を記載する領域である文字領域を複数の小領域（画素）に分割した各小領域（画素）に変位ベクトル（変位の方向と変位量）が格納されたデータである。例えば、歪展開部１１４は、ベースフォントの各文字グリフ画像に対して、対応する小領域（画素）の変位ベクトルに応じて文字を変位させることによりカスタムフォント文字グリフ画像を生成し、カスタムフォント文字グリフ画像からカスタムフォントを生成する。例えば、歪展開部１１４は、カスタムフォント文字グリフ画像のアウトライン（線）を抽出し、この抽出線をベクトル化し、このベクトルデータをまとめることでカスタムフォントの生成を行う。例えば、歪展開部１１４は、ベースフォントとしてＭＳ明朝が選択されていたとしたら、歪データをＭＳ明朝の複数の文字に展開することにより、ＭＳ明朝の書体をベースとして、手書き文字を書き込んだユーザの書き癖が反映されたカスタムフォントを生成する。
【００４６】
続いて、中間ファイル生成部１１６は、中間ファイルを生成する（ステップＳ１０７）。ここでは、中間ファイル生成部１１６は、歪抽出部１１２によって抽出された歪データと、選択されたベースフォントの識別子（例えばＭＳ明朝がベースフォントとして選択されたら、ＭＳ明朝であることを示す識別子）とを含む中間ファイルを生成する。
【００４７】
続いて、歪展開部１１４は、生成したカスタムフォントをメモリ１３０に格納し、中間ファイル生成部１１６は、生成した中間ファイルをメモリ１３０に格納する（ステップＳ１０８）。なお、ここでは、中間ファイルを生成した後、カスタムフォントをメモリ１３０に格納する例を挙げたが、これに限らず、中間ファイルを生成する前にカスタムフォントをメモリ１３０に格納してもよい。
【００４８】
このように、端末装置１００は、生成したカスタムフォントと中間ファイルとをメモリ１３０に格納する。端末装置１００は、自端末装置の表示器１５０にカスタムフォントに基づく文字画像を表示させる場合には、表示させる文字に対応するカスタムフォントをメモリ１３０から読み出して、読み出したカスタムフォントに基づいて文字画像を表示器１５０に表示させる。また、ここでは、生成したカスタムフォントと生成した中間ファイルをメモリ１３０に格納する処理までを示したが、これには限られない。端末装置１００は、カスタムフォントに基づく文字画像を表示させる他の端末装置に対して、メモリ１３０に格納された中間ファイルを送信することもできる。この場合、中間ファイルを受信した端末装置は、中間ファイルに含まれるベースフォントに識別子に対応するベースフォントに、中間ファイルに含まれる歪データを適用することによって、カスタムフォントを生成することができる。
【００４９】
次に、携帯端末装置の他の処理フローについて説明する。図４は、端末装置の処理フローの一例を示す図である。図４は、左側に中間ファイルの送信側となる端末装置１００の処理フローを示し、右側に中間ファイルの受信側となる端末装置２００の処理フローを示すものである。また、図４は、端末装置１００がメールを作成して、作成したメールをカスタムフォントに基づく文字画像で他の端末装置（例えば端末装置２００）の表示器に表示させる場合の一例を示すものである。なお、以下の例では、端末装置１００がメールを作成して、作成したメールを送信する場合を例に示すが、これには限られない。作成したメールの他、様々な文字データを他の端末装置に送信する場合にも適用することができる。また、端末装置１００は、何らかの文字データを他の端末装置に送信する場合に限らず、カスタムフォントに基づく文字画像を表示させる他の端末装置に対して、中間ファイルを単体で送信することもできる。
【００５０】
まず、端末装置１００は入力部１４０を介して入力されるユーザの操作に応じてメールを作成する（ステップＳ１１０）。続いて、端末装置１００は、作成したメールをカスタムフォントに基づく文字画像で表示器１５０に表示する（ステップＳ１１１）。例えば、端末装置１００は、作成したメールの文字に対応するカスタムフォントをメモリ１３０から抽出し、抽出したカスタムフォントに基づく文字画像を表示器１５０に表示する。これにより、ユーザは、作成したメールがカスタムフォントに基づいてどのように表示されるのかを確認することができる。
【００５１】
続いて、判定部１１８は、作成したメールをカスタムフォントで送信するか否かを判定する。（ステップＳ１１２）。例えば、判定部１１８は、表示器１５０に、メールをカスタムフォントで送信するか、通常モードで送信するかを選択させる画面を表示して、ユーザの操作に応じて、メールをカスタムフォントで送信するか否かを判定する。
【００５２】
無線部１２０は、メールをカスタムフォントで送信しないと判定された場合には（ステップＳ１１２，Ｎｏ）、通常モードでメールを送信する（ステップＳ１１３）。例えば、無線部１２０は、メールの文字を、あらかじめ設定されたベースフォントで送信する。なお、通常モードでメールを送信した場合の受信側の端末装置２００の処理については、省略する。
【００５３】
一方、無線部１２０は、メールをカスタムフォントで送信すると判定された場合には（ステップＳ１１２，Ｙｅｓ）、メモリ１３０に格納された中間ファイルと作成されたメールの本文を送信する（ステップＳ１１４）。この場合、端末装置１００から送信される中間ファイルには、ベースフォントの識別子と歪データとが含まれる。
【００５４】
これに対して、端末装置２００は、ベースフォントをメモリ２３０に記憶する（ステップＳ２０１）。これは、端末装置２００のメモリ２３０に、例えばＭＳ明朝やＭＳゴシックなどの基本書体を記憶する処理であり、端末装置２００にあらかじめベースフォントが格納されている場合は、この処理は行わなくてもよい。
【００５５】
続いて、無線部２２０は、端末装置１００から送信された中間ファイルを受信する（ステップＳ２０２）。続いて、ベースフォント選択部２１２は、無線部２２０によって受信された中間ファイルに含まれるベースフォントの識別子を呼び出し（ステップＳ２０３）、対応するベースフォントをメモリ２３０から選択する（ステップＳ２０４）。これにより、端末装置１００で選択されたベースフォントと同じベースフォントが選択される。なお、ベースフォント選択部２１２は、自端末装置のメモリ２３０からベースフォントを選択するのではなく、通信ネットワークを介して接続されたデータサーバからベースフォントをダウンロードすることもできる。
【００５６】
続いて、歪展開部２１６は、ベースフォント選択部２１２によって選択されたベースフォントの複数の文字（例えば全文字）に対して、中間ファイルに含まれる歪データを適用（展開）し（ステップＳ２０５）、カスタムフォントを生成する（ステップＳ２０６）。続いて、表示器２５０は、端末装置１００から送信されたメールの本文をカスタムフォントに基づく文字画像で表示する（ステップＳ２０７）。これにより、端末装置１００と端末装置２００との間で、カスタムフォントを連携して利用することができる。
【００５７】
次に、携帯端末装置の他の処理フローについて説明する。図５は、端末装置の処理フローの他の例を示す図である。図５は、中間ファイルの送信側となる端末装置１００が、手書きの文字を入力してカスタムフォントを作成する処理のフローを示すものである。また、図５は、端末装置１００の表示器１５０がタッチスクリーン型の表示デバイスであり、ユーザがタッチスクリーンに手書き文字を書き込む場合を想定した処理フローである。また、図５の処理フローは、図３の処理フローと比較して、生成する中間ファイルの内容が異なる以外、基本的な処理フローは同様であるので、簡略的に説明を行う。
【００５８】
図５に示すように、まず、端末装置１００は、ベースフォントをメモリ１３０に記憶する（ステップＳ３０１）。これは、端末装置１００のメモリ１３０に、例えばＭＳ明朝やＭＳゴシックなどの基本書体を記憶する処理であり、端末装置１００にあらかじめベースフォントが格納されている場合は、この処理は行わなくてもよい。
【００５９】
続いて、表示器１５０は、タッチスクリーンで手書きされた文字の入力を受け付ける（ステップＳ３０２）。表示器１５０は、受け付けた手書き文字をＣＰＵ１１０へ出力する。続いて、歪抽出部１１２は、ベースフォントを選択する（ステップＳ３０３）。
【００６０】
続いて、歪抽出部１１２は、入力された手書き文字に基づいて生成された手書き文字画像に対応するベース文字画像を、選択したベースフォントから抽出し、手書き文字画像とベース文字画像の対応点を取得する（ステップＳ３０４）。続いて、歪抽出部１１２は、取得した対応点の平均変位を算出することによって、手書き文字を書き込んだユーザの文字の書き方の特徴を示す歪データを算出する（ステップＳ３０５）。なお、歪抽出部１１２の処理については、図２を用いて説明したので、ここでの詳細な説明は省略する。
【００６１】
続いて、歪展開部１１４は、歪抽出部１１２によって算出された歪データをベースフォントの複数の文字（例えば全文字）に展開することにより、フォントデータ（カスタムフォント）を生成する（ステップＳ３０６）。
【００６２】
続いて、中間ファイル生成部１１６は、中間ファイルを生成する（ステップＳ３０７）。ここでは、中間ファイル生成部１１６は、歪抽出部１１２によって抽出された歪データと、選択されたベースフォントの識別子と、タッチスクリーンを介して入力された手書き文字に基づいて生成された手書き文字画像とを含む中間ファイルを生成する。
【００６３】
続いて、歪展開部１１４は、生成したカスタムフォントをメモリ１３０に格納し、中間ファイル生成部１１６は、生成した中間ファイルをメモリ１３０に格納する（ステップＳ３０８）。
【００６４】
このように、端末装置１００は、生成したカスタムフォントと中間ファイルとをメモリ１３０に格納する。端末装置１００は、自端末装置の表示器１５０にカスタムフォントに基づく文字画像を表示させる場合には、表示させる文字に対応するカスタムフォントをメモリ１３０から読み出して、読み出したカスタムフォントに基づく文字画像を表示器１５０に表示させる。また、ここでは、生成したカスタムフォントと生成した中間ファイルをメモリ１３０に格納する処理までを示したが、これには限られない。端末装置１００は、カスタムフォントに基づく文字画像を表示させる他の端末装置に対して、メモリ１３０に格納された中間ファイルを送信することもできる。この場合、中間ファイルを受信した端末装置は、中間ファイルに含まれるベースフォントに識別子に対応するベースフォントに、中間ファイルに含まれる歪データを適用することによって、カスタムフォントを生成することができる。
【００６５】
次に、携帯端末装置の他の処理フローについて説明する。図６は、端末装置の処理フローの他の例を示す図である。図６は、左側に中間ファイルの送信側となる端末装置１００の処理フローを示し、右側に中間ファイルの受信側となる端末装置２００の処理フローを示すものである。また、図６は、端末装置１００がメールを作成して、作成したメールをカスタムフォントに基づく文字画像で他の端末装置（例えば端末装置２００）の表示器に表示させる場合の一例を示すものである。また、図６は、図５の処理によって生成された中間ファイルを送信する場合の例を示すものである。なお、以下の例では、端末装置１００がメールを作成して、作成したメールを送信する場合を例に示すが、これには限られない。作成したメールの他、様々な文字データを他の端末装置に送信する場合にも適用することができる。また、端末装置１００は、何らかの文字データを他の端末装置に送信する場合に限らず、カスタムフォントに基づく文字画像を表示させる他の端末装置に対して、中間ファイルを単体で送信することもできる。
【００６６】
まず、端末装置１００は入力部１４０を介して入力されるユーザの操作に応じてメールを作成する（ステップＳ３１０）。続いて、端末装置１００は、作成したメールをカスタムフォントに基づく文字画像で表示器１５０に表示する（ステップＳ３１１）。例えば、端末装置１００は、作成したメールの文字に対応するカスタムフォントをメモリ１３０から抽出し、抽出したカスタムフォントに基づく文字画像を表示器１５０に表示する。これにより、ユーザは、作成したメールがカスタムフォントに基づいてどのように表示されるのかを確認することができる。
【００６７】
続いて、判定部１１８は、作成したメールをカスタムフォントで送信するか否かを判定する。（ステップＳ３１２）。例えば、判定部１１８は、表示器１５０に、メールをカスタムフォントで送信するか、通常モードで送信するかを選択させる画面を表示して、ユーザの操作に応じて、メールをカスタムフォントで送信するか否かを判定する。
【００６８】
無線部１２０は、メールをカスタムフォントで送信しないと判定された場合には（ステップＳ３１２，Ｎｏ）、通常モードでメールを送信する（ステップＳ３１３）。例えば、無線部１２０は、メールの文字を、あらかじめ設定されたベースフォントで送信する。
【００６９】
一方、無線部１２０は、メールをカスタムフォントで送信すると判定された場合には（ステップＳ３１２，Ｙｅｓ）、メモリ１３０に格納された中間ファイルと作成されたメールの本文を送信する（ステップＳ３１４）。この場合、端末装置１００から送信される中間ファイルには、ベースフォントの識別子と、歪データと、入力された手書き文字に基づいて生成された手書き文字画像（入力画像）が含まれる。
【００７０】
これに対して端末装置２００は、ベースフォントをメモリ２３０に記憶する（ステップＳ４０１）。これは、端末装置２００のメモリ２３０に、例えばＭＳ明朝やＭＳゴシックなどの基本書体を記憶する処理であり、端末装置２００にあらかじめベースフォントが格納されている場合は、この処理は行わなくてもよい。
【００７１】
続いて、無線部２２０は、端末装置１００から送信された中間ファイルを受信する（ステップＳ４０２）。続いて、ベースフォント選択部２１２は、無線部２２０によって受信された中間ファイルに含まれるベースフォントの識別子を呼び出し（ステップＳ４０３）、対応するベースフォントがメモリ２３０に格納されているか否かを判定する（ステップＳ４０４）。
【００７２】
続いて、ベースフォント選択部２１２は、対応するベースフォントがメモリ２３０に格納されていると判定した場合（ステップＳ４０４、Ｙｅｓ）、ＩＤが合致するベースフォントを選択する（ステップＳ４０５）。
【００７３】
続いて、歪展開部２１６は、ベースフォント選択部２１２によって選択されたベースフォントの複数の文字（例えば全文字）に対して、中間ファイルに含まれる歪データを適用（展開）し（ステップＳ４０６）、カスタムフォントを生成する（ステップＳ４０７）。
【００７４】
続いて、表示器２５０は、端末装置１００から送信されたメールの本文を、ステップＳ４０７で生成したカスタムフォントに基づく文字画像で表示する（ステップＳ４０８）。これにより、端末装置１００と端末装置２００との間で、カスタムフォントを連携して利用することができる。
【００７５】
一方、ベースフォント選択部２１２は、対応するベースフォントがメモリ２３０に格納されていないと判定した場合（ステップＳ４０４、Ｎｏ）、メモリ２３０に記憶された他のベースフォントを選択する（ステップＳ４０９）。例えば、ベースフォント選択部２１２は、メモリ２３０に格納された複数のベースフォントのうちあらかじめ設定されたベースフォントを選択することもできる。また、ユーザの好みのベースフォントの選択を表示器２５０のタッチスクリーン（又は入力部２４０）で受け付けた場合、ベースフォント選択部２１２は、ユーザによって選択されたベースフォントを選択することができる。
【００７６】
続いて、歪抽出部２１４は、中間ファイルに含まれる手書き文字画像と、この手書き文字画像に対応しベースフォント選択部２１２によって選択されたベースフォントから生成されたベース文字画像との比較に基づいて歪データを抽出する（ステップＳ４１０）。歪データの抽出については、端末装置１００で説明した方法と同様であるので、説明を省略する。
【００７７】
続いて、歪展開部２１６は、ステップＳ４０９でベースフォント選択部２１２によって選択されたベースフォントの複数の文字に対して、歪抽出部２１４によって抽出された歪データを適用（展開）し（ステップＳ４１１）、カスタムフォントを生成する（ステップＳ４１２）。続いて、表示器２５０は、端末装置１００から送信されたメールの本文を、ステップＳ４１２で生成したカスタムフォントに基づく文字画像で表示する（ステップＳ４１３）。これにより、端末装置１００と端末装置２００との間で、カスタムフォントを連携して利用することができる。
【００７８】
次に、携帯端末装置の他の処理フローについて説明する。図７は、端末装置の処理フローの他の例を示す図である。図７は、左側に中間ファイルの送信側となる端末装置１００の処理フローを示し、右側に中間ファイルの受信側となる端末装置２００の処理フローを示すものである。また、図７は、端末装置１００がメールを作成して、作成したメールをカスタムフォントに基づく文字画像で他の端末装置（例えば端末装置２００）の表示器に表示させる場合の一例を示すものである。また、図７は、図５の処理によって生成された中間ファイルを送信する場合の例を示すものである。なお、以下の例では、端末装置１００がメールを作成して、作成したメールを送信する場合を例に示すが、これには限られない。作成したメールの他、様々な文字データを他の端末装置に送信する場合にも適用することができる。また、端末装置１００は、何らかの文字データを他の端末装置に送信する場合に限らず、カスタムフォントに基づく文字画像を表示させる他の端末装置に対して、中間ファイルを単体で送信することもできる。
【００７９】
まず、端末装置１００は入力部１４０を介して入力されるユーザの操作に応じてメールを作成する（ステップＳ５０１）。続いて、端末装置１００は、作成したメールをカスタムフォントに基づく文字画像で表示器１５０に表示する（ステップＳ５０２）。例えば、端末装置１００は、作成したメールの文字に対応するカスタムフォントをメモリ１３０から抽出し、抽出したカスタムフォントに基づく文字画像を表示器１５０に表示する。これにより、ユーザは、作成したメールがカスタムフォントに基づいてどのように表示されるのかを確認することができる。
【００８０】
続いて、判定部１１８は、作成したメールをカスタムフォントで送信するか否かを判定する。（ステップＳ５０３）。例えば、判定部１１８は、表示器１５０に、メールをカスタムフォントで送信するか、通常モードで送信するかを選択させる画面を表示して、ユーザの操作に応じて、メールをカスタムフォントで送信するか否かを判定する。
【００８１】
無線部１２０は、メールをカスタムフォントで送信しないと判定された場合には（ステップＳ５０３，Ｎｏ）、通常モードでメールを送信する（ステップＳ５０４）。例えば、無線部１２０は、メールの文字を、あらかじめ設定されたベースフォントで送信する。
【００８２】
一方、無線部１２０は、メールをカスタムフォントで送信すると判定された場合には（ステップＳ５０３，Ｙｅｓ）、メモリ１３０に格納された中間ファイルと作成されたメールの本文を送信する（ステップＳ５０５）。この場合、端末装置１００から送信される中間ファイルには、ベースフォントの識別子と、歪データと、入力された手書き文字に基づいて生成された手書き文字画像（入力画像）が含まれる。
【００８３】
これに対して端末装置２００は、ベースフォントをメモリ２３０に記憶する（ステップＳ６０１）。これは、端末装置２００のメモリ２３０に、例えばＭＳ明朝やＭＳゴシックなどの基本書体を記憶する処理であり、端末装置２００にあらかじめベースフォントが格納されている場合は、この処理は行わなくてもよい。
【００８４】
続いて、無線部２２０は、端末装置１００から送信された中間ファイルを受信する（ステップＳ６０２）。続いて、ベースフォント選択部２１２は、無線部２２０によって受信された中間ファイルに含まれるベースフォントの識別子を呼び出し（ステップＳ６０３）、対応するベースフォントがメモリ２３０に格納されているか否かを判定する（ステップＳ６０４）。
【００８５】
続いて、ベースフォント選択部２１２は、対応するベースフォントがメモリ２３０に格納されていると判定した場合（ステップＳ６０４、Ｙｅｓ）、ＩＤが合致するベースフォントを選択する（ステップＳ６０５）。
【００８６】
続いて、歪展開部２１６は、ベースフォント選択部２１２によって選択されたベースフォントの複数の文字（例えば全文字）に対して、中間ファイルに含まれる歪データを適用（展開）し（ステップＳ６０６）、カスタムフォントを生成する（ステップＳ６０７）。
【００８７】
続いて、表示器２５０は、端末装置１００から送信されたメールの本文を、ステップＳ６０７で生成したカスタムフォントに基づく文字画像で表示する（ステップＳ６０８）。これにより、端末装置１００と端末装置２００との間で、カスタムフォントを連携して利用することができる。
【００８８】
一方、ベースフォント選択部２１２は、対応するベースフォントがメモリ２３０に格納されていないと判定した場合（ステップＳ６０４、Ｎｏ）、メモリ２３０に記憶された複数のベースフォントと中間ファイルに含まれる手書き文字画像（入力画像）とをそれぞれ比較する（ステップＳ６０９）。例えば、ベースフォント選択部２１２は、メモリ２３０に記憶された複数のベースフォントのそれぞれについて、中間ファイルに含まれる手書き文字画像と、これに対応するベース文字画像とを比較して歪量の平均値又は歪量の総和を求める。そして、ベースフォント選択部２１２は、各ベースフォントの歪量の平均値又は歪量の総和が最も小さいベースフォントを選択する（ステップＳ６１０）。これにより、端末装置１００で使用されたベースフォントと同一のベースフォントが端末装置２００に格納されていない場合でも、端末装置１００で使用されたベースフォントに類似したベースフォントを選択することができる。
【００８９】
続いて、歪抽出部２１４は、中間ファイルに含まれる手書き文字画像と、この手書き文字画像に対応しベースフォント選択部２１２によって選択されたベースフォントから生成されたベース文字画像との比較に基づいて歪データを抽出する（ステップＳ６１１）。歪データの抽出については、端末装置１００で説明した方法と同様であるので、説明を省略する。
【００９０】
続いて、歪展開部２１６は、ステップＳ６１０でベースフォント選択部２１２によって選択されたベースフォントの複数の文字に対して、歪抽出部２１４によって抽出された歪データを適用（展開）し（ステップＳ６１２）、カスタムフォントを生成する（ステップＳ６１３）。続いて、表示器２５０は、端末装置１００から送信されたメールの本文を、ステップＳ６１３で生成したカスタムフォントに基づく文字画像で表示する（ステップＳ６１４）。これにより、端末装置１００と端末装置２００との間で、カスタムフォントを連携して利用することができる。
【００９１】
次に、携帯端末装置の他の処理フローについて説明する。図８は、端末装置の処理フローの他の例を示す図である。図８は、中間ファイルの送信側となる端末装置１００の処理フローを示すものである。中間ファイルの受信側となる端末装置２００の処理については、図４，６，７で説明した端末装置２００の処理のいずれかを適用することができるので、ここでは、端末装置２００の処理の説明を省略する。また、図８は、端末装置１００の入力部１４０がカメラを含み、ユーザが紙面等に手書きした文字をカメラで撮像する場合を想定した処理フローである。
【００９２】
図８に示すように、まず、端末装置１００は、ベースフォントをメモリ１３０に記憶する（ステップＳ７０１）。これは、端末装置１００のメモリ１３０に、例えばＭＳ明朝やＭＳゴシックなどの基本書体を記憶する処理であり、端末装置１００にあらかじめベースフォントが格納されている場合は、この処理は行わなくてもよい。
【００９３】
続いて、入力部１４０は、カメラを用いて手書きの文字を撮像する（ステップＳ７０２）。続いて、入力部１４０は、撮像した手書き文字が複数文字の場合は、１字ずつの手書き文字画像を切り出す（ステップＳ７０３）。入力部１４０は、切り出した手書き文字画像をＣＰＵ１１０へ出力する。
【００９４】
ここで、ステップＳ７０１〜ステップＳ７０３について、図９を用いて説明を補足する。図９は、カメラを用いた文字画像の入力と切り出しの一例を示す図である。図９に示すように、紙面５００には、ユーザによって複数の手書き文字（「あ」、「い」、「安」、「伊」）が升目に仕切られて記載されている。端末装置１００は、入力部１４０に含まれるカメラによって、これらの複数の手書き文字を撮像する。すると、カメラによって撮像された撮像画像５１０には、紙面５００に記載されているとおりに、升目に仕切られた「あ」、「い」、「安」、「伊」の文字が含まれる。入力部１４０は、撮像画像５１０に含まれる升目を認識することによって、各升目に含まれる１字ずつの手書き文字画像５２０を切り出す。このように、カメラで手書き文字を撮像することによって、同時に複数の手書き文字の入力が可能になるので、手書き文字の入力操作の使い勝手が向上する。
【００９５】
図８の説明に戻って、歪抽出部１１２は、ベースフォントを選択する（ステップＳ７０４）。続いて、歪抽出部１１２は、手書き文字画像に対応するベース文字画像を、選択したベースフォントから抽出し、手書き文字画像とベース文字画像の対応点を取得する（ステップＳ７０５）。続いて、歪抽出部１１２は、取得した対応点の平均変位を算出することによって、手書き文字を書き込んだユーザの文字の書き方の特徴を示す歪データを算出する（ステップＳ７０６）。なお、歪抽出部１１２の処理については、図２を用いて説明したので、ここでの詳細な説明は省略する。
【００９６】
続いて、歪展開部１１４は、歪抽出部１１２によって算出された歪データをベースフォントの複数の文字（例えば全文字）に展開することにより、フォントデータ（カスタムフォント）を生成する（ステップＳ７０７）。
【００９７】
続いて、中間ファイル生成部１１６は、中間ファイルを生成する（ステップＳ７０８）。ここでは、中間ファイル生成部１１６は、歪抽出部１１２によって抽出された歪データと、選択されたベースフォントの識別子とを含む中間ファイルを生成することができる。また、中間ファイル生成部１１６は、歪抽出部１１２によって抽出された歪データと、選択されたベースフォントの識別子と、手書き文字に基づいて生成された手書き文字画像とを含む中間ファイルを生成することもできる。
【００９８】
続いて、歪展開部１１４は、生成したカスタムフォントをメモリ１３０に格納し、中間ファイル生成部１１６は、生成した中間ファイルをメモリ１３０に格納する（ステップＳ７０９）。
【００９９】
このように、端末装置１００は、生成したカスタムフォントと中間ファイルとをメモリ１３０に格納する。端末装置１００は、自端末装置の表示器１５０にカスタムフォントに基づく文字画像を表示させる場合には、表示させる文字に対応するカスタムフォントをメモリ１３０から読み出して、読み出したカスタムフォントに基づく文字画像を表示器１５０に表示させる。また、ここでは、生成したカスタムフォントと生成した中間ファイルをメモリ１３０に格納する処理までを示したが、これには限られない。端末装置１００は、カスタムフォントに基づく文字画像を表示させる他の端末装置に対して、メモリ１３０に格納された中間ファイルを送信することもできる。この場合、中間ファイルを受信した端末装置は、中間ファイルに含まれるベースフォントに識別子に対応するベースフォントに、中間ファイルに含まれる歪データを適用することによって、カスタムフォントを生成することができる。
【０１００】
以上、本実施形態によれば、通信トラフィックを抑制しつつカスタムフォントを他の端末装置で利用することができる。すなわち、本実施形態の端末装置１００は、カスタムフォント自体を送信するのではなく、少なくとも歪データとベースフォントの識別子とを含む中間ファイルを生成して他の端末装置２００へ送信する。例えば、全文字分のカスタムフォントのデータを送信する場合、データ容量は、手書き文字の場合１０ＭＢｙｔｅ以上になるのが一般的である。これに対して、中間ファイルを送信する場合、例えば歪データが約８０Ｋｂｙｔｅ程度、ベースフォントの識別子は数Ｋｂｙｔｅ程度であるので、中間ファイルのデータ容量は１００Ｋｂｙｔｅ未満となる。また、中間ファイルを、歪データとベースフォントの識別子と手書き文字画像とを含むようにした場合、手書き文字画像の数に応じて変動するが、中間ファイルのデータ容量は、例えば１００Ｋｂｙｔｅ〜５００Ｋｂｙｔｅ程度になる。したがって、本実施形態によれば、全文字分のカスタムフォントのデータを送信する場合に比べて送信するデータ容量が削減されるので、通信トラフィックを抑制することができる。これに加えて、中間ファイルの受信側となる端末装置２００は、受信した中間ファイルに含まれるベースフォントの識別子を用いてベースフォントを選択し、中間ファイルに含まれる歪データを選択したベースフォントに展開することで、送信側の端末装置と同様にカスタムフォントを利用することができる。よって、通信トラフィックを抑制しつつカスタムフォントを他の端末装置で利用することができる。
【０１０１】
また、端末装置で生成したカスタムフォントを端末装置からそのまま送信する場合、生成されたカスタムフォントの著作権を別途管理することを求められるおそれがある。これに対して本実施形態によれば、カスタムフォント自体は端末装置から送信しないため、カスタムフォントの著作権に対してセキュアな環境を提供することができる。
【０１０２】
また、例えば、送信したい文字のカスタムフォントに基づく画像を選択して送信することにより通信データ容量を削減することも考えられる。しかしながらこの場合、受信側の端末装置２００において、画像ビューワ等を使用してカスタムフォントに基づく文字画像を閲覧することになるので、受信側の端末装置２００での利用に制限が生じるおそれがある。これに対して本実施形態によれば、カスタムフォントに基づく文字画像自体を送信するのではなく、少なくとも歪データとベースフォントの識別子とを含む中間ファイルを送信する。受信側の端末装置２００は、受信した中間ファイルに含まれるベースフォントの識別子を用いてベースフォントを選択し、中間ファイルに含まれる歪データを選択したベースフォントに展開する。これにより、受信側の端末装置２００は、画像ビューワ等を使用することなく、送信側の端末装置と同様にカスタムフォントを利用することができる。
【符号の説明】
【０１０３】
１００  端末装置
１１２  歪抽出部
１１４  歪展開部
１１６  中間ファイル生成部
１１８  判定部
１２０  無線部
１３０  メモリ
１４０  入力部
１５０  表示器
２００  端末装置
２１２  ベースフォント選択部
２１４  歪抽出部
２１６  歪展開部
２２０  無線部
２３０  メモリ
２４０  入力部
２５０  表示器
４１０  ベース文字画像
４２０  文字画像
４３０  ベース文字画像
４４０  文字画像
４５０  歪データ
【図１】
0005834822.tif 000002
【図２】
0005834822.tif 000003
【図３】
0005834822.tif 000004
【図４】
0005834822.tif 000005
【図５】
0005834822.tif 000006
【図６】
0005834822.tif 000007
【図７】
0005834822.tif 000008
【図８】
0005834822.tif 000009
【図９】
0005834822.tif 000010