(57)【要約】【課題】個人内変動を考慮した手書き文字の再現を行うことができる文字生成装置等を提供する。【解決手段】文字生成装置１は、複数の文字コードに対応づいた文字データ群からなる手本フォントを記憶する記憶部と、文字データを取得する文字データ取得部と、取得した文字データの対応する文字を特定する文字特定部と、前記取得した文字データと、前記文字特定部が特定した文字に対応する前記手本フォントの文字データとを比較して、特徴量の差分値から変形量を抽出する変形量抽出部と、前記手本フォントの各文字データに対して前記変形量を加減させた値を用いて、新たな文字データを対応する文字コードと対応付けて生成する文字データ生成部とを備えることを特徴とする。【選択図】図１
2019028094.tif 000002
【特許請求の範囲】
【請求項１】
複数の文字コードに対応づいた文字データ群からなる手本フォントを記憶する記憶部と、
文字データを取得する文字データ取得部と、
取得した文字データの対応する文字を特定する文字特定部と、
前記取得した文字データと、前記文字特定部が特定した文字に対応する前記手本フォントの文字データとを比較して、特徴量の差分値から変形量を抽出する変形量抽出部と、
前記手本フォントの各文字データに対して前記変形量を加減させた値を用いて、新たな文字データを対応する文字コードと対応付けて生成する文字データ生成部と
を備えることを特徴とする文字生成装置。
【請求項２】
前記加減させた値は一定の範囲のランダム数値である
ことを特徴とする請求項１に記載の文字生成装置。
【請求項３】
前記文字データ生成部は、前記変形量抽出部が抽出した前記変形量を用いて新たな文字データを生成する
ことを特徴とする請求項１又は２に記載の文字生成装置。
【請求項４】
前記記憶部は、複数の前記手本フォントを記憶し、
前記変形量抽出部は、
複数の前記手本フォントから、前記取得した文字データと類似する前記手本フォントを特定し、
前記取得した文字データと、特定した前記手本フォントの文字データとを比較して、特徴量の差分値から前記変形量を抽出する
ことを特徴とする請求項１〜３のいずれか１項に記載の文字生成装置。
【請求項５】
文字コードの入力を受け付ける入力部を備え、
前記文字データ生成部は、前記入力部において前記文字コードの入力を受け付けた場合、前記新たな文字データを生成する
ことを特徴とする請求項１〜４のいずれか１項に記載の文字生成装置。
【請求項６】
入力された文字コードに対応する前記新たな文字データを出力する出力部を備える
ことを特徴とする請求項５に記載の文字生成装置。
【請求項７】
前記文字データ生成部は、
異なる変形量を用いて１つの文字に対して複数の文字データを生成し、
生成した前記複数の文字データを文字単位でそれぞれ対応する文字コードに関連付けて記憶する
ことを特徴とする請求項１〜４のいずれか１項に記載の文字生成装置。
【請求項８】
文字コードの入力を受け付ける入力部と、
入力された文字コードに対応する前記新たな文字データをランダムに選択して出力する出力部と
を備えることを特徴とする請求項７に記載の文字生成装置。
【請求項９】
前記取得した文字データは、ユーザにより描画された手書き文字の描画データであり、
前記出力部は、前記手書き文字が描画された際の書き順に応じて前記新たな文字データの文字を出力する
ことを特徴とする請求項６又は８に記載の文字生成装置。
【請求項１０】
複数の文字コードに対応づいた文字データ群からなる手本フォントを記憶する記憶部を備えたコンピュータに、
文字データを取得し、
取得した文字データの対応する文字を特定し、
前記取得した文字データと、特定した文字に対応する前記手本フォントの文字データとを比較して、特徴量の差分値から変形量を抽出し、
前記手本フォントの各文字データに対して前記変形量を加減させた値を用いて、新たな文字データを対応する文字コードと対応付けて生成する
処理を実行させることを特徴とするプログラム。
【請求項１１】
複数のフォントの各文字をそれぞれ１つの文字コードと関連付けて記憶する記憶部と、
文字コードの入力を受け付ける入力部と、
前記入力部で受け付けた文字コードに対応する文字を前記複数のフォントのいずれかから選択して出力する出力部と
を備えることを特徴とする文字出力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字生成装置、プログラム及び文字出力装置に関する。
【背景技術】
【０００２】
人間が書いた手書き文字を再現したフォント文字を作成する技術が知られている。例えば特許文献１では、手書き文字画像とベースフォント画像とを比較して歪データを抽出し、歪データをベースフォントの複数の文字に展開して、手書き風のフォントデータを生成する端末装置等が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５８３４８２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に係る発明は、同じ手書き文字からは同じ字体のフォント文字を生成することしかできず、書くたびに字体が微妙に変わるという個人内変動を考慮していない。
【０００５】
一つの側面では、個人内変動を考慮した手書き文字の再現を行うことができる文字生成装置等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
一つの案では、文字生成装置は、複数の文字コードに対応づいた文字データ群からなる手本フォントを記憶する記憶部と、文字データを取得する文字データ取得部と、取得した文字データの対応する文字を特定する文字特定部と、前記取得した文字データと、前記文字特定部が特定した文字に対応する前記手本フォントの文字データとを比較して、特徴量の差分値から変形量を抽出する変形量抽出部と、前記手本フォントの各文字データに対して前記変形量を加減させた値を用いて、新たな文字データを対応する文字コードと対応付けて生成する文字データ生成部とを備えることを特徴とする。
【０００７】
一つの案では、文字生成装置は、前記加減させた値は一定の範囲のランダム数値である  ことを特徴とする。
【０００８】
一つの案では、文字生成装置は、前記文字データ生成部は、前記変形量抽出部が抽出した前記変形量を用いて新たな文字データを生成することを特徴とする。
【０００９】
一つの案では、文字生成装置は、前記記憶部は、複数の前記手本フォントを記憶し、前記変形量抽出部は、複数の前記手本フォントから、前記取得した文字データと類似する前記手本フォントを特定し、前記取得した文字データと、特定した前記手本フォントの文字データとを比較して、特徴量の差分値から前記変形量を抽出することを特徴とする。
【００１０】
一つの案では、文字生成装置は、文字コードの入力を受け付ける入力部を備え、前記文字データ生成部は、前記入力部において前記文字コードの入力を受け付けた場合、前記新たな文字データを生成することを特徴とする。
【００１１】
一つの案では、文字生成装置は、入力された文字コードに対応する前記新たな文字データを出力する出力部を備えることを特徴とする。
【００１２】
一つの案では、文字生成装置は、前記文字データ生成部は、異なる変形量を用いて１つの文字に対して複数の文字データを生成し、生成した前記複数の文字データを文字単位でそれぞれ対応する文字コードに関連付けて記憶することを特徴とする。
【００１３】
一つの案では、文字生成装置は、文字コードの入力を受け付ける入力部と、入力された文字コードに対応する前記新たな文字データをランダムに選択して出力する出力部とを備えることを特徴とする。
【００１４】
一つの案では、文字生成装置は、前記取得した文字データは、ユーザにより描画された手書き文字の描画データであり、前記出力部は、前記手書き文字が描画された際の書き順に応じて前記新たな文字データの文字を出力することを特徴とする。
【００１５】
一つの案では、プログラムは、複数の文字コードに対応づいた文字データ群からなる手本フォントを記憶する記憶部を備えたコンピュータに、文字データを取得し、取得した文字データの対応する文字を特定し、前記取得した文字データと、特定した文字に対応する前記手本フォントの文字データとを比較して、特徴量の差分値から変形量を抽出し、前記手本フォントの各文字データに対して前記変形量を加減させた値を用いて、新たな文字データを対応する文字コードと対応付けて生成する処理を実行させることを特徴とする。
【００１６】
一つの案では、文字出力装置は、複数のフォントの各文字をそれぞれ１つの文字コードと関連付けて記憶する記憶部と、文字コードの入力を受け付ける入力部と、前記入力部で受け付けた文字コードに対応する文字を前記複数のフォントのいずれかから選択して出力する出力部とを備えることを特徴とする。
【発明の効果】
【００１７】
一つの側面では、個人内変動を考慮した手書き文字の再現を行うことができる。
【図面の簡単な説明】
【００１８】
【図１】文字生成装置の構成例を示すブロック図である。
【図２】フォント生成処理に関する説明図である。
【図３】文字出力処理に関する説明図である。
【図４】フォント生成処理の処理手順の一例を示すフローチャートである。
【図５】文字出力処理の処理手順の一例を示すフローチャートである。
【図６】実施の形態２に係る文字生成装置の処理概要を示す説明図である。
【図７】実施の形態２に係るフォント生成処理の処理手順の一例を示すフローチャートである。
【図８】実施の形態２に係る文字出力処理の処理手順の一例を示すフローチャートである。
【図９】実施の形態３に係る文字生成装置が実行する処理の概要を示す説明図である。
【図１０】実施の形態３に係るフォント生成処理の処理手順の一例を示すフローチャートである。
【図１１】実施の形態３に係る文字出力処理の処理手順の一例を示すフローチャートである。
【図１２】上述した形態の文字生成装置の動作を示す機能ブロック図である。
【発明を実施するための形態】
【００１９】
以下、本発明をその実施の形態を示す図面に基づいて詳述する。
（実施の形態１）
図１は、文字生成装置１の構成例を示すブロック図である。本実施の形態では、出力の都度、異なる形状の手書き風の文字データ（文字画像）を生成する文字生成装置１について説明する。なお、以下の説明では便宜上、ユーザの手書き文字を再現した文字フォントを「手書きフォント」と呼ぶ。
【００２０】
文字生成装置１は、種々の情報処理を行う情報処理装置であり、例えばパーソナルコンピュータ、サーバ装置、スマートフォン、タブレット端末等である。文字生成装置１は、ユーザの手書き文字の特徴を学習して手書きフォントを生成する。
【００２１】
文字生成装置１は、制御部１１、記憶部１２、ＲＡＭ１３、表示部１４、入力部１５、通信部１６を含む。
制御部１１は、一又は複数のＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro-Processing Unit）等の演算処理装置を有し、記憶部１２に記憶されたプログラムＰを読み出して実行することにより、文字生成装置１に係る種々の情報処理、制御処理等を行う。記憶部１２は大容量メモリ、ハードディスク等であり、制御部１１が処理を実行するために必要なプログラムＰ、その他のデータを記憶している。また、記憶部１２は、手本フォントデータ１２１、学習データ１２２、基準フォントデータ１２３を記憶している。手本フォントデータ１２１は、一般にコンピュータに標準設定されている既存の文字フォントのデータであり、複数の文字コードにそれぞれ対応づいた文字データ群からなるフォントデータである。
【００２２】
学習データ１２２は、後述するディープラーニングにより、ユーザの手書き文字の特徴を学習することで構築されたデータである。基準フォントデータ１２３は、学習データ１２２を用いて生成された手書きフォントのデータであって、出力する文字データの基準となるフォントデータである。後述するように、文字生成装置１は、学習データ１２２から生成した手書きフォントを基準として、手書きフォントの文字をランダムに変形した文字データを生成して出力する。
【００２３】
ＲＡＭ１３は、ＳＲＡＭ（Static Random Access Memory）、ＤＲＡＭ（Dynamic Random Access Memory）、フラッシュメモリ等であり、制御部１１が演算処理を実行するために必要なデータを一時的に記憶する。表示部１４は、例えば液晶ディスプレイ等であり、制御部１１から与えられた画像を表示する。入力部１５は、例えばタッチパネル、キーボード、マウス等であり、手書き文字の描画や文字コードの入力を受け付ける。通信部１６は、通信に関する処理を行うための処理回路等を含み、ネットワークＮを介して他の装置と情報の送受信を行う。
【００２４】
図２は、フォント生成処理に関する説明図である。以下では文字生成装置１が実行する処理の概要について説明する。
文字生成装置１は、ユーザが書いた手書き文字の画像データである文字データから、ユーザの手書き文字の特徴を学習することで、手書き文字の特徴を反映した手書きフォントを生成する処理を行う。図２に、当該処理の概要を示す。図２では、ユーザの手書き文字の特徴を反映した基準フォントを生成する様子を図示している。
【００２５】
例えば文字生成装置１は、ユーザが電子ペン、指などによりタッチパネルに文字を描画した描画データを取得する。また、例えば文字生成装置１は、外部のスキャナー装置（不図示）から、手書き文字が書かれた紙面のスキャンデータを取得するようにしてもよい。文字生成装置１は、後述するディープラーニングを行うべく、複数種類の文字について手書き文字の文字データを取得する。文字生成装置１は、文字データに対する文字認識を行い、各文字データについて、文字の種類（文字コード）を特定する。
【００２６】
文字生成装置１は、取得した手書き文字の文字データから、手書き文字の特徴を抽出する。具体的には、文字生成装置１は、予め設定されている手本フォントの文字データと、手書き文字の文字データとを比較し、特徴量の差分値から変形量を抽出する。
【００２７】
上述の如く、文字生成装置１は、複数の手本フォントを記憶している。文字生成装置１は、ユーザの手書き文字と、当該手書き文字に対応する各手本フォントの文字とを比較し、手書き文字と最も類似する手本フォントを選択する。図２に示す例の場合、文字生成装置１は、手書きされた「あ」の文字と、各フォントの「あ」の文字とを比較する。文字生成装置１は、最も類似すると判断した手本フォントを、手書きフォントを生成するための素材として選択する。
【００２８】
文字生成装置１は、類似すると判断した手本フォントの文字と、手書き文字とを比較し、各文字の特徴量の差分値から変形量を抽出する。文字の特徴量は、例えば文字のストロークの端点、屈折点、交点、分岐点等の特徴点に係る座標値である。文字生成装置１は、手書き文字、及び手書き文字と同じ手本フォントの文字について、各特徴点の座標位置を特定する。例えば図２に示す例の場合、文字生成装置１は、「あ」の手書き文字から各特徴点の位置を特定すると共に、「あ」のフォント文字からも各特徴点の位置を特定する。文字生成装置１は、手書き文字と手本フォントの文字との特徴点の座標値の差分を取り、変形量を抽出する。
【００２９】
図示は省略するが、文字生成装置１は「あ」以外の他の文字についても、手書き文字と手本フォントとの比較を行う。文字生成装置１は、各種文字から抽出した変形量を記憶部１２に順次格納し、ディープラーニングに係る学習データ１２２を構築する。例えば文字生成装置１は、ＧＡＮ（Generative Adversarial Networks）に係るニューラルネットワークを構築する。ＧＡＮは、ディープラーニングにより構築されるデータ構造の一種であり、学習対象であるサンプル群と似た性質を持つ出力を得るネットワークである。なお、ＧＡＮの技術は公知であるため、詳細な説明は省略する。文字生成装置１は、手書き文字と手本フォントとの間の変形量を学習することで、手書き文字を再現した手書きフォントを出力するための学習データ１２２を構築する。
【００３０】
文字生成装置１は、手本フォントの各文字データに対して、上記で抽出した変形量を適用し、ユーザの手書き文字の特徴を反映した新たな文字データを生成する。例えば図２に概念的に示すように、文字生成装置１は「あ」の文字に関する変形量を、手本フォントの「い」、「う」、「え」…の文字に対して適用し、ユーザの手書き文字の特徴を反映した「い」、「う」、「え」…の手書きフォントを生成する。このように、文字生成装置１は、手書き文字のサンプル画像を取得していない「い」、「う」、「え」…の文字についても手書き風のフォント文字を生成する。文字生成装置１は、学習データ１２２に基づき生成した文字データ群、すなわち手書きフォントのデータを、基準フォントデータ１２３として記憶部１２に記憶する。
【００３１】
図３は、文字出力処理に関する説明図である。文字生成装置１は、上記で生成した基準フォントを基に、ユーザにより任意に入力された文字コードを手書き文字として再現したフォント文字を出力する。なお、文字生成装置１は、入力部１５において文字コードの入力を受け付けるようにしても良く、クライアント端末から文字コードの入力を受け付けるようにしても良い。ここで、文字生成装置１は単に基準フォントをそのまま出力するのではなく、出力の都度、基準フォントの文字データをランダムに変形した新たな文字データを生成して出力する。
【００３２】
一般的に、人が手書きする文字は常に同じものではなく、書くたびに形が異なるものである。しかしながら、学習したユーザの手書き文字をそのまま出力する場合、文字の形状は一定であり、人間味がない。そこで本実施の形態では、文字生成装置１は出力の都度、基準フォントの文字データを変形する。
【００３３】
具体的には、文字生成装置１は、上記の変形量を加減した値を基準フォントの文字データに適用し、出力用の新たな文字データを変形する。例えば文字生成装置１は、学習した変形量を平均として、一定の数値範囲内で変形量をランダムに加減したランダム数値を基準フォントの文字に適用し、基準フォントの文字をランダムに変形した文字データを生成する。これにより、図３中央に示すように、文字生成装置１は、基準フォントの文字の特徴点の座標位置をランダムに変位させ、文字の形を少しずつ変化させた文字データを生成する。文字生成装置１は、入力された文字コードが示す各文字について、ランダムな形の文字データを生成していく。これにより、図３下に示すように、文字生成装置１は、出力の度に異なるパターンの手書き文字を出力する。例えば文字生成装置１は、ランダムに変形した文字データを表示部１４に表示する。また、例えば文字生成装置１は、クライアントに文字データを出力するようにしてもよい。以上より、文字生成装置１は、出力の度に異なる手書きフォントを生成することで、手書き文字の傾向を反映した手書きフォントの文字生成が可能となる。
【００３４】
図４は、フォント生成処理の処理手順の一例を示すフローチャートである。図４に基づき、手書きフォントの生成処理の処理内容について説明する。
文字生成装置１の制御部１１は、ユーザが書いた手書き文字の文字データを取得する（ステップＳ１１）。例えば制御部１１は、タッチパネルに描画された手書き文字の描画データを取得する。また、例えば制御部１１は、ユーザが手書き文字を書いた紙面をスキャナー装置により読み取ったスキャンデータを取得するようにしてもよい。制御部１１は、複数種類の文字について、ユーザの手書き文字の文字データを取得する。
【００３５】
制御部１１は、文字データ（画像データ）に対する文字認識を行い、取得した文字データの対応する文字を特定する（ステップＳ１２）。そして制御部１１は、複数の手本フォントから、ステップＳ１１で取得した文字データと類似する手本フォントを特定する（ステップＳ１３）。具体的には、制御部１１は、ステップＳ１２で特定した文字に対応する各手本フォントの文字データを、ユーザの手書き文字の文字データと比較し、特徴量が最も近い文字データに係る手本フォントを特定する。
【００３６】
制御部１１は、ステップＳ１１で取得した手書き文字の文字データと、ステップＳ１３で特定した手本フォントの文字データとを比較し、特徴量の差分値から変形量を抽出する（ステップＳ１４）。具体的には、制御部１１は、ステップＳ１２で特定した文字に対応する手本フォントの文字、すなわち手書き文字と同じ手本フォントの文字を比較対象にして、手書き文字の各特徴点の座標値と、手本フォントの文字の各特徴点の座標値とを比較し、座標値の差分から変形量を抽出する。制御部１１は、ステップＳ１１で取得した全ての手書き文字について手本フォントとの比較を行い、変形量を抽出する。制御部１１は、各文字について抽出した変形量を記憶部１２に順次格納し、学習データ１２２を構築する。
【００３７】
制御部１１は、ステップＳ１４で抽出した変形量を手本フォントの各文字データに対して適用し、基準フォントに係る新たな文字データを生成する（ステップＳ１５）。つまり制御部１１は、手書き文字のサンプル画像を未取得の文字について、ディープラーニングによる学習結果を手本フォントの文字データに適用し、ユーザの手書き文字の特徴を反映した文字データを生成する。例えば制御部１１は、ＧＡＮのアルゴリズムを用いて文字の生成を行う。制御部１１は、生成した新たな文字データを対応する文字コードと対応付けた基準フォントのデータを記憶部１２に記憶し（ステップＳ１６）、一連の処理を終了する。
【００３８】
図５は、文字出力処理の処理手順の一例を示すフローチャートである。図５に基づき、文字データの出力処理について説明する。
文字生成装置１の制御部１１は、入力部１５を介して文字コードの入力を受け付ける（ステップＳ３１）。制御部１１は、入力された文字コードに対応する基準フォントの文字データに対して、上述の変形量を加減させた値を用いて新たな文字データを生成する（ステップＳ３２）。具体的には、制御部１１は、ユーザの手書き文字と手本フォントの文字との間の変形量を一定の数値範囲内でランダムに加減したランダム数値を適用し、基準フォントの文字データをランダムに変形した文字データを生成する。制御部１１は、入力された各文字コードについて、対応するランダムな形状の文字データを生成する。制御部１１は、ステップＳ３２で生成した文字データを出力し（ステップＳ３３）、一連の処理を終了する。
【００３９】
なお、上記では手書き文字との比較対象とする手本フォントは、コンピュータに標準設定されている既存フォントであるものとしたが、手書き文字と比較可能なフォントであればよく、書体等の具体的内容は特に限定されない。
【００４０】
また、上記で文字生成装置１は、手書き文字と手本フォントの文字との間の変形量をランダムに変動させることとしたが、本実施の形態はこれに限定されるものではない。文字生成装置１は、出力されるフォント文字が見かけ上はランダムに変形されて見えるように、例えば出力時刻に応じて文字の変形パターンを変えるなど、一定ルールの下で字体の変形を行ってもよい。すなわち文字生成装置１は、差分値を変動させることで個人内変動を考慮した手書きフォントを生成することができればよく、乱数的に文字の変形を行ってもよいし、パターン化された文字の変形を行ってもよい。
【００４１】
以上より、本実施の形態１によれば、個人内変動を考慮した手書き文字の再現を行うことができる。
【００４２】
また、本実施の形態１によれば、変形量を一定の数値範囲内でランダムに加減した値を用いることで、より個人内変動に近い形での手書き文字の再現を行うことができる。
【００４３】
また、本実施の形態１によれば、手書き文字と手本フォントとの比較により抽出した変形量の加減値ではなく、変形量そのものを用いて中間的な基準フォントを生成しておくことで、より好適な実施が可能となる。
【００４４】
また、本実施の形態１によれば、手書き文字と類似する手本フォントを手書きフォントの素材に選ぶことで、手書き文字の再現性を高めることができる。
【００４５】
また、本実施の形態１によれば、文字コードの入力を受け付けてからリアルタイムに文字データを生成することで、手書きに近い文字の再現が可能となる。
【００４６】
また、本実施の形態１によれば、任意に入力された文字コードが示す文字をランダムに変形した手書き風のフォント文字を出力することができる。
【００４７】
（実施の形態２）
本実施の形態では、複数パターンの手書きフォントを事前生成しておき、出力時にフォントをランダムに選択して出力する形態について述べる。なお、実施の形態１と重複する内容については同一の符号を付して説明を省略する。
図６は、実施の形態２に係る文字生成装置１の処理概要を示す説明図である。実施の形態１において文字生成装置１は、出力の際に基準フォントを変形させ、ランダムな形状の文字データを生成した。本実施の形態において文字生成装置１は、文字データを逐次生成するのではなく、事前生成しておく。これにより、処理速度の向上を図る。
【００４８】
具体的には図６に示すように、文字生成装置１は、ディープラーニングにより生成した基準フォントから、複数パターンの手書きフォントを事前生成する。文字生成装置１は、基準フォントの１つの文字に対し、複数の異なる変形量を適用し、一文字当たり複数の文字データを生成する。例えば図６の例では、文字生成装置１は、基準フォントの「あ」の文字に対して異なる値の変形量を適用し、複数パターンの「あ」の文字データを生成する。例えば文字生成装置１は、実施の形態１と同様に、変形量を一定の数値範囲で加減した値を用いて各手書きフォントの文字データを生成する。同様に、文字生成装置１は「い」、「う」、「え」…の各文字についても複数パターンの文字データを生成していく。
【００４９】
文字生成装置１は、基準フォントの１つの文字データから生成した複数の文字データを、対応する文字コードと対応付けて記憶部１２に記憶しておく。上記の例の場合、文字生成装置１は、複数の「あ」の文字データを、「あ」の文字コードと対応付けて記憶する。他の文字についても同様である。これにより、記憶部１２には、１つの文字コードに関連付けて、複数の手書きフォントの文字データが記憶される。このように、文字生成装置１は、生成した各パターンの手書きフォントの文字データを、文字単位でそれぞれ対応する文字コードに関連付けて記憶部１２に記憶しておく。
【００５０】
文字生成装置１は、文字コードの入力を受け付け、文字を出力する場合、事前に生成した各パターンの手書きフォントのいずれかをランダムに選択して文字を出力する。例えば図６に示すように、３パターンのフォントを事前生成しておいた場合、文字生成装置１は、いずれかのフォントをランダムに採用して文字データを出力する。これにより文字生成装置１は、実施の形態１と同じく、出力の度に異なる文字データを出力することができる。
【００５１】
図７は、実施の形態２に係るフォント生成処理の処理手順の一例を示すフローチャートである。基準フォントを生成する処理を実行した後（ステップＳ１５）、文字生成装置１の制御部１１は、以下の処理を実行する。
制御部１１は、複数の異なる変形量を基準フォントの各文字に適用し、基準フォントの１つの文字に対して複数の文字データを生成する（ステップＳ２０１）。例えば制御部１１は、実施の形態１と同じく、変形量に係るパラメータをランダムに加減したランダム数値を適用し、手書きフォントに係る文字データを生成する。本実施の形態において制御部１１は、基準フォントの１つの文字に対し、値が異なる複数のランダム数値を適用し、１つの文字データから複数の手書きフォントの文字データを生成する。
【００５２】
制御部１１は、基準フォントの各文字について生成した複数の文字データを、文字単位でそれぞれ対応する文字コードと関連付けて記憶部１２に記憶する（ステップＳ２０２）。これにより、記憶部１２には、複数の手書きフォントの各文字が、対応する文字コードに関連付けて記憶される。制御部１１は、一連の処理を終了する。
【００５３】
図８は、実施の形態２に係る文字出力処理の処理手順の一例を示すフローチャートである。文字コードの入力を受け付けた後（ステップＳ３１）、文字生成装置１の制御部１１は、以下の処理を実行する。
制御部１１は、ステップＳ３１で入力された文字コードと関連付けて記憶部１２に記憶されている複数の文字データのうち、いずれかをランダムに選択する（ステップＳ２２１）。すなわち制御部１１は、複数の手書きフォントのいずれかをランダムに選択する。制御部１１は、選択した文字データを出力し（ステップＳ２２２）、一連の処理を終了する。
【００５４】
なお、上記では文字生成装置１が複数の手書きフォントの生成から出力までの全ての処理を行ったが、本実施の形態はこれに限定されるものではない。例えば文字生成装置１が生成した複数の手書きフォントのデータを所定の端末装置にインストールし、端末装置が文字出力（表示）の際に手書きフォントをランダムに選択して文字を出力するようにしてもよい。この場合、端末装置は、手書きフォントの文字をランダムに出力する文字出力装置として機能する。このように、文字生成装置１が手書きフォントの生成から出力に至る全ての処理を行う必要はなく、文字の生成処理と出力処理とを分散して行ってもよい。
【００５５】
以上より、本実施の形態２によれば、複数の手書きフォントのデータを事前生成しておくことで、実施の形態１と同様の効果を奏する。
【００５６】
また、本実施の形態２によれば、文字出力の際に、事前生成された複数の手書きフォントのいずれかを選択することで、処理速度の向上を図ることができる。
【００５７】
（実施の形態３）
本実施の形態では、手書き文字の書き順を再現してフォント文字を出力する形態について述べる。
図９は、実施の形態３に係る文字生成装置１が実行する処理の概要を示す説明図である。本実施の形態では、文字生成装置１は、ユーザが手書き文字を書いた際の書き順を再現して文字を出力する。
【００５８】
具体的には、文字生成装置１は、手書き文字の文字データとして、所定のタッチパネルに描画された手書き文字の描画データを取得する。そして文字生成装置１は、手書き文字の描画データから、文字を構成する各ストロークの書き順を読み取る。
【００５９】
文字生成装置１は、文字データを出力する際、ユーザによる書き順に応じて文字を出力する。例えば図９に示すように、文字生成装置１は、書き順に従ってフォント文字の各ストロークを順次出力する。これにより、文字生成装置１は、ユーザの手書き文字の再現性を高めることができる。
【００６０】
図１０は、実施の形態３に係るフォント生成処理の処理手順の一例を示すフローチャートである。図１０に基づき、実施の形態３に係るフォント生成処理の処理内容について説明する。
文字生成装置１の制御部１１は、ユーザにより描画された手書き文字の描画データを取得する（ステップＳ３０１）。描画データは、例えば電子ペンにより所定のタッチパネルに描線された線画データであり、手書き文字の書き順を識別可能なデータである。制御部１１は、ステップＳ１２〜Ｓ１４の処理を実行後、描画データを基に生成した基準フォントと共に、書き順に関する情報を、対応する文字データと関連付けて記憶部１２に記憶し（ステップＳ３０２）、処理を終了する。
【００６１】
図１１は、実施の形態３に係る文字出力処理の処理手順の一例を示すフローチャートである。基準フォントの文字をランダムに変形させた文字データを生成する処理を実行した後（ステップＳ３２）、文字生成装置１の制御部１１は、以下の処理を実行する。
制御部１１は、記憶部１２を参照して、手書き文字が描画された際の書き順に応じて文字データを出力する（ステップＳ３２１）。具体的には、制御部１１は手書き文字の書き順に従って、文字を構成する各ストロークを順次出力する。制御部１１は、一連の処理を終了する。
【００６２】
以上より、本実施の形態３によれば、手書き文字の書き順を再現することで、より手書きに近い文字出力が可能となる。
【００６３】
（実施の形態４）
図１２は、上述した形態の文字生成装置１の動作を示す機能ブロック図である。制御部１１がプログラムＰを実行することにより、文字生成装置１は以下のように動作する。記憶部１２０１は、複数の文字コードに対応づいた文字データ群からなる手本フォントを記憶する。文字データ取得部１２０２は、文字データを取得する。文字特定部１２０３は、取得した文字データの対応する文字を特定する。変形量抽出部１２０４は、前記取得した文字データと、前記文字特定部１２０３が特定した文字に対応する前記手本フォントの文字データとを比較して、特徴量の差分値から変形量を抽出する。文字データ生成部１２０５は、前記手本フォントの各文字データに対して前記変形量を加減させた値を用いて新たな文字データ対応する文字コードと対応付けて生成する。
【００６４】
本実施の形態４は以上の如きであり、その他は実施の形態１から３と同様であるので、対応する部分には同一の符号を付してその詳細な説明を省略する。
【００６５】
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００６６】
１  文字生成装置
１１  制御部
１２  記憶部
Ｐ  プログラム
１２１  手本フォントデータ
１２２  学習データ
１２３  基準フォントデータ
１３  ＲＡＭ
１４  表示部
１５  入力部
１６  通信部
【図１】
2019028094.tif 000003
【図２】
2019028094.tif 000004
【図３】
2019028094.tif 000005
【図４】
2019028094.tif 000006
【図５】
2019028094.tif 000007
【図６】
2019028094.tif 000008
【図７】
2019028094.tif 000009
【図８】
2019028094.tif 000010
【図９】
2019028094.tif 000011
【図１０】
2019028094.tif 000012
【図１１】
2019028094.tif 000013
【図１２】
2019028094.tif 000014