(57)【要約】【課題】ユーザの好みに合ったフォントを簡単に作成すること。【解決手段】基本フォントのフォント文字を記憶した基本フォント記憶部と、フォント文字の特徴を表す特徴パラメータを記憶する特徴パラメータ記憶部と、特徴パラメータに対し遺伝的アルゴリズム処理を施すことにより、新たな特徴パラメータを生成する遺伝的アルゴリズム処理部と、遺伝的アルゴリズム処理部が生成した特徴パラメータに基づいて基本フォントのフォント文字を変形することにより、新たなフォント文字を生成するフォント生成部と、フォント生成部が生成したフォント文字を表示する表示部とを備え、表示部に表示されたフォント文字の中からユーザが選択したフォント文字に基づいて遺伝的アルゴリズム処理部がユーザ好みの特徴パラメータを決定し、フォント生成部は、遺伝的アルゴリズム処理部が決定したユーザ好みの特徴パラメータに基づいてフォントを作成する。【選択図】　　　図１
2004117714.tif 000002
【特許請求の範囲】
【請求項１】
フォント文字を生成するために用いられる基本フォントのフォント文字を記憶した基本フォント記憶部と、
フォント文字の特徴を表す特徴パラメータを記憶する特徴パラメータ記憶部と、
前記特徴パラメータに対し遺伝的アルゴリズム処理を施すことにより、複数の新たな特徴パラメータを生成する遺伝的アルゴリズム処理部と、
前記遺伝的アルゴリズム処理部にて生成された前記複数の特徴パラメータに基づいて前記基本フォントのフォント文字を変形することにより、新たなフォント文字を生成するフォント生成部と、
前記フォント生成部にて生成された前記新たなフォント文字を表示する表示部とを備え、
前記表示部に表示された前記新たなフォント文字の中からユーザが選択したフォント文字に基づいて、前記遺伝的アルゴリズム処理部がユーザ好みの特徴パラメータを決定し、
前記フォント生成部は、前記遺伝的アルゴリズム処理部が決定した前記ユーザ好みの特徴パラメータに基づいて、フォントを作成すること
を特徴とするフォント生成装置。
【請求項２】
前記フォント生成装置は、さらに、
ユーザによる手書き文字を読み取る読取部と、
前記読取部が読み取った文字データから文字を認識し、認識した文字と基本フォントのフォント文字とを比較して手書き文字の特徴を前記特徴パラメータとして抽出する文字特徴抽出部とを備えること
を特徴とする請求項１に記載のフォント生成装置。
【請求項３】
前記遺伝的アルゴリズム処理部は、前記特徴パラメータから選択された二つの特徴パラメータに、交差、突然変異による遺伝的アルゴリズム処理を施すことにより、前記複数の新たな特徴パラメータを生成すること
を特徴とする請求項１または請求項２のいずれかに記載のフォント生成装置。
【請求項４】
前記特徴パラメータは、フォント文字の構成要素の線の長さ、線の丸み、線のうねり、線の角度、線の太さ、折れ、及びフォント文字外形の傾きの特徴のうち少なくとも１つ以上を含むこと
を特徴とする請求項１または請求項２のいずれかに記載のフォント生成装置。
【請求項５】
フォント文字の特徴を表す特徴パラメータに対し遺伝的アルゴリズム処理を施すことにより、複数の新たな特徴パラメータを生成する処理と、
フォント文字を生成するために用いる基本フォントのフォント文字を、生成した前記複数の新たな特徴パラメータに基づいて変形することにより、複数の新たなフォント文字を生成する処理と、
生成した前記複数の新たなフォント文字を表示部に表示する処理と、
前記表示部に表示した前記複数の新たなフォント文字の中からユーザが選択したフォント文字に基づいて、ユーザ好みの特徴パラメータを決定する処理と、
決定した前記ユーザ好みの特徴パラメータに基づいてフォントを作成する処理と
をフォント生成装置に実行させることを特徴とするフォント生成プログラム。
【請求項６】
前記フォント生成プログラムは、さらに、
ユーザによる手書き文字を読取部にて読み取る処理と、
前記読取部が読み取った文字データから文字を認識する処理と、
認識した文字と基本フォントのフォント文字とを比較して手書き文字の特徴を前記特徴パラメータとして抽出する処理とを含むこと
を特徴とする請求項５に記載のフォント生成プログラム。
【請求項７】
前記遺伝的アルゴリズム処理は、前記特徴パラメータから選択された二つの特徴パラメータに、交差、突然変異による遺伝的アルゴリズム処理を施すことにより、前記複数の新たな特徴パラメータを生成すること
を特徴とする請求項５または請求項６のいずれかに記載のフォント生成プログラム。
【請求項８】
前記特徴パラメータは、フォント文字の構成要素の線の長さ、線の丸み、線のうねり、線の角度、線の太さ、折れ、及びフォント文字外形の傾きの特徴のうち少なくとも１つ以上を含むこと
を特徴とする請求項５または請求項６のいずれかに記載のフォント生成プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置やプリンタ等に用いるディジタル・フォント（以下、フォントと省略）の作成技術に係り、特に、ユーザ好みのフォントやユーザの筆跡に近いフォントを作成するフォント生成装置及びフォント生成プログラムに関する。
【０００２】
【従来の技術】
パーソナルコンピュータやＰＤＡ（Ｐｅｒｓｏｎａｌ　Ｄｉｇｉｔａｌ　Ａｓｓｉｓｔａｎｔ）等の情報処理装置やプリンタ等で使用されるフォントには、例えば、明朝体、ゴシック体、毛筆体、教科書体、手書き風等、様々な書体があり、これらのフォントはコンピュータメーカやフォントメーカ等により提供されている。
【０００３】
本発明では、フォントとは同一書体で作成された文字の集合を意味し、フォントの中の一区切りに記号化されたもの、即ちフォントを構成する一つの文字をフォント文字と定義する。
【０００４】
このようなフォントの書体は、外観的に美しくデザインされているが、このことが、逆に、画一的で個性に欠ける等の印象を文章の読み手に与えることがある。また、これらのフォントを手紙等の個人的な文書に使用することに抵抗を感じるユーザも多い。
【０００５】
このような背景から、漢字を構成する偏や旁等の部品に対して配置位置、変形等の加工を施すことにより、新しい書体を作成し、ユーザ独自のフォントを作成することが可能なアプリケーションソフトウェアが提供されている。しかしながら、このようなアプリケーションソフトウェアは、明朝体やゴシック体など、ごく限られた書体のフォントしかサポートしていないために、ユーザ独自のフォントを作成することはユーザにとって相当に困難であった。
【０００６】
また、日本語の場合、欧文系言語と比較して多くの文字を必要とし、使用される漢字の数は、例えばＪＩＳ第１水準で約３，０００文字、第２水準まで含めると約７，０００文字となる。そのため、アプリケーションソフトウェアを利用して、ユーザ独自のフォントを作成するためには、大変な労力を必要とする。
【０００７】
また、イメージ・スキャナ等の画像読み取り装置を利用して手書き文字を入力し、フォントを作成するアプリケーションソフトウェアも提供されてはいるが、ユーザは必要とする文字を全て手書きしなければならないために、ユーザ独自のフォント作成にはやはり大変な労力を必要とする。
【０００８】
このような問題を解決するために、ユーザの手書き文字を認識し、認識した文字に該当する基本フォントと比較して、ユーザの手書き文字の特徴を抽出し、抽出した特徴を記憶し、該特徴に基づいて基本フォントを変更することにより、ユーザの手書き文字に基づいたフォントを作成する装置が提案されている（例えば、特許文献１参照）。
【０００９】
【特許文献１】
特開平１０−３３３６６３号公報
【００１０】
【発明が解決しようとする課題】
特許文献１において開示されているフォント生成装置においては、ユーザの手書き文字風のフォントを作成することはできても、ユーザが望むフォントを必ずしも作成することはできない。例えば、文字の下手なユーザは、より綺麗な書体のフォントを望む場合もあり、ユーザの手書き文字風のフォントが必ずしもユーザの望む書体とは限らない。
【００１１】
また、どのようなフォントを好むのかということを言葉や文字等で表現することは一般に難しい。また、既存のフォントを修正して自分の好みに合ったフォントを作成する場合でも、既存のフォントのフォント文字のどの部分をどのように修正すれば自分の好みに近づくのかといったことを説明することも難しい。そのため、ユーザは、自分の好みに合うフォントが作成されるまで、試行錯誤を繰り返すことになる。
【００１２】
このような課題を解決するために、本発明は、ユーザの好みに合ったフォントを簡単に作成することが可能なフォント生成装置及びフォント生成プログラムを提供することを目的とする。
【００１３】
【課題を解決するための手段】
本発明に係るフォント生成装置は、フォント文字を生成するために用いられる基本フォントのフォント文字を記憶した基本フォント記憶部と、フォント文字の特徴を表す特徴パラメータを記憶する特徴パラメータ記憶部と、前記特徴パラメータに対し遺伝的アルゴリズム処理を施すことにより、複数の新たな特徴パラメータを生成する遺伝的アルゴリズム処理部と、前記遺伝的アルゴリズム処理部にて生成された前記複数の新たな特徴パラメータに基づいて前記基本フォントのフォント文字を変形することにより、新たなフォント文字を生成するフォント生成部と、前記フォント生成部にて生成された前記新たなフォント文字を表示する表示部とを備え、前記表示部に表示された前記新たなフォント文字の中からユーザが選択したフォント文字に基づいて、前記遺伝的アルゴリズム処理部がユーザ好みの特徴パラメータを決定し、前記フォント生成部は、前記遺伝的アルゴリズム処理部が決定した前記ユーザ好みの特徴パラメータに基づいて、フォントを作成することを特徴とする。
【００１４】
また、本発明に係るフォント生成プログラムは、フォント文字の特徴を表す特徴パラメータに対し遺伝的アルゴリズム処理を施すことにより、複数の新たな特徴パラメータを生成する処理と、フォント文字を生成するために用いる基本フォントのフォント文字を、生成した前記複数の新たな特徴パラメータに基づいて変形することにより、複数の新たなフォント文字を生成する処理と、生成した前記複数の新たなフォント文字を表示部に表示する処理と、前記表示部に表示した前記複数の新たなフォント文字の中からユーザが選択したフォント文字に基づいて、ユーザ好みの特徴パラメータを決定する処理と、決定した前記ユーザ好みの特徴パラメータに基づいてフォントを作成する処理とをフォント生成装置に実行させることを特徴とする。
【００１５】
このような構成によれば、ユーザは、表示された複数のフォント文字の中から好みのフォント文字を選択する作業を繰り返すだけで、自分の好みに合ったフォントを作成することができるので、労力を掛けずに、また、フォント文字の構造など細かい部分を気にせずに直感的にフォントを作成することができる。
【００１６】
また、前記フォント生成装置は、さらに、ユーザによる手書き文字を読み取る読取部と、前記読取部が読み取った文字データから文字を認識し、認識した文字と基本フォントのフォント文字とを比較して手書き文字の特徴を前記特徴パラメータとして抽出する文字特徴抽出部とを備えるようにしても良い。このような構成によれば、ユーザは、自身の手書き文字の特徴パラメータに基づいて、好みのフォントを簡単に作成することができる。
【００１７】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態について詳しく説明する。
【００１８】
［フォント生成装置の構成］
初めに、図１を参照して、本実施形態によるフォント生成装置の構成について説明する。
【００１９】
本実施形態によるフォント生成装置は、読取装置１、操作装置２、表示装置３、制御部１０、及び記憶装置１１等の装置で構成される。
【００２０】
読取装置１は、ユーザが手書き文字を記入した用紙から文字画像を読み取るイメージ・スキャナや、ユーザによるペン入力操作時のストローク情報などのデータを取り込む手書き入力タブレット等の入力装置である。
【００２１】
操作装置２は、表示装置３に表示されたフォント文字の中から好みのフォント文字をユーザが選択するためのキーボードやマウス等の入力装置である。
【００２２】
表示装置３は、後述する処理動作により生成されたフォント文字を表示するＣＲＴ（Ｃａｔｈｏｄｅ　Ｒａｙ　Ｔｕｂｅ）やＬＣＤ（Ｌｉｑｕｉｄ　Ｃｒｙｓｔａｌ　Ｄｉｓｐｌａｙ）等の表示装置である。
【００２３】
制御部１０は、ＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）１０ａ、ＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）１０ｂ、ＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）１０ｃ、インタフェース部１０ｄ等で構成される。ＣＰＵ１０ａは、ＲＯＭ１０ｂ等に記憶された各種プログラムに従ってフォント生成装置の動作を制御する。ＲＯＭ１０ｂは、フォント生成装置の機能を実現する各種プログラム、例えば、文字特徴抽出部４、遺伝的アルゴリズム処理部５、フォント生成部６等のアプリケーションプログラムや、各種データ、例えば基本フォント記憶部８等のプログラムの実行に必要なデータを記憶する。ＲＡＭ１０ｃは、ＣＰＵ１０ａが実行する各種動作と関連するプログラムやデータ（例えば、特徴パラメータ記憶部７）を一時的に記憶するワークエリアである。インタフェース部１０ｄは、ＣＰＵ１０ａが各種プログラムに従って読取装置１、操作装置２、表示装置３、記憶装置１１等と制御信号やデータを送受信するための処理を行う。
【００２４】
記憶装置１１は、作成されたフォント等を記憶する記憶装置である。
【００２５】
文字特徴抽出部４は、読取装置１から送られた手書き文字の文字画像や位置情報から、基本フォント記憶部８に記憶している基本フォントのフォント文字のどの文字に該当するかを判断する。
【００２６】
更に、文字画像やストローク情報を抽出し、文字コード（例えばシフトＪＩＳ）に対応する基本フォント記憶部８に記憶されている基本フォントのフォント文字とを比較して、手書き文字の特徴を抽出し、抽出した特徴を特徴パラメータ（詳しくは後述する）として特徴パラメータ記憶部７に送る。
【００２７】
ここで、基本フォントとは、文字を構成する線分の骨格線で表現するようなスケルトンフォント等を意味する。
【００２８】
遺伝的アルゴリズム処理部５は、特徴パラメータ記憶部７に記憶された複数の染色体（詳しくは後述する）から選択（ｓｅｌｅｃｔｉｏｎ）された二つの染色体に、交差（ｃｒｏｓｓｏｖｅｒ）、突然変異（ｍｕｔａｔｉｏｎ）といった遺伝的アルゴリズム処理を行い、複数の新たな染色体を生成する。そして、遺伝的アルゴリズム処理部５は、生成した複数の新たな染色体を特徴パラメータ記憶部７に送る。「選択」とは、集団の中から優秀な染色体を選び出すことであり、「交差」とは、選び出された二つの染色体間で染色体の一部（遺伝子）を交換することであり、「突然変異」とは、染色体の一部（遺伝子）を、設定した確率に従って強制的に変更することである。
【００２９】
フォント生成部６は、遺伝的アルゴリズム処理部５で生成した染色体に基づいて、基本フォント記憶部８に記憶されている基本フォントのフォント文字を変形処理し、生成したフォント文字を表示装置３に表示する。あるいは生成フォント記憶部９に文字コードと対応づけて送る。
【００３０】
特徴パラメータ記憶部７は、文字特徴抽出部４から送られるユーザによる手書き文字の特徴パラメータと遺伝的アルゴリズム処理部５から送られる染色体を記憶する。
【００３１】
基本フォント記憶部８は、フォント文字がどのような偏や旁等の部品で構成されているのかを示す情報と、部品のサイズや配置位置を示す情報とを基本フォント情報としてフォント文字毎に文字コードと対応づけて記憶する。
【００３２】
生成フォント記憶部９は、フォント生成部６が生成したフォント文字を文字コードに対応づけて記憶する。
【００３３】
遺伝的アルゴリズム処理部５は、ユーザが確定したフォント文字に基づいてユーザ好みの特徴パラメータを決定する。
【００３４】
［フォント作成装置の動作］
次に、図２に示すフローチャートを参照しながら、フォント生成装置の処理動作について説明する。
【００３５】
ステップＳ１の処理において、制御部１０は、表示装置３に、ユーザの手書き文字をベースにフォント文字を生成するか否かを問い合せるメッセージ（確認メッセージ）を表示し、ユーザに、操作装置２により手書き文字をベースにフォント文字を生成するか否かを選択させる。
【００３６】
ステップＳ２の処理において、制御部１０は、ユーザが手書き文字に基づいてフォント文字を生成することを選択したか否かを判別する。判別の結果、ユーザが手書き文字に基づいてフォント文字を生成することを選択していない場合、ステップＳ３の処理として、遺伝的アルゴリズム処理部５は、染色体（詳しくは後述する）を構成する遺伝子をランダムに決定し、複数の染色体を生成する。即ち、フォント文字の特徴パラメータのパラメータ値をランダムに生成し、複数の特徴パラメータを生成する。
【００３７】
一方、ステップＳ２の判別の結果、ユーザが手書き文字に基づいてフォント文字を生成することを選択した場合には、ステップＳ４の処理において、文字特徴抽出部４は、手書き文字の特徴パラメータを抽出するための所定の文字列（テストパターン）を表示装置３に表示し、ユーザに所定の文字列に対応する手書き文字を読取装置１から入力させる。読取装置１は、入力された手書き文字の文字画像やストローク情報を読み取って、文字特徴抽出部４に送る。文字特徴抽出部４は、手書き文字の文字画像やストローク情報から、基本フォント記憶部８のどのフォント文字に該当するかを認識（この場合、所定の文字列は既知であり、手書き文字を認識することは既存の文字認識技術で十分である）する。そして文字特徴抽出部４は、手書き文字と対応する基本フォント記憶部８のフォント文字と比較することにより、手書き文字の特徴パラメータを抽出し、特徴パラメータ記憶部７に記憶する。
【００３８】
本発明において、「遺伝子」とはフォント文字の構成要素に出現する特徴（パラメータ）のことをいい、出現する特徴の度合いを数値（パラメータ値）で表す。「染色体」とは、全ての遺伝子を所定の順番で記述したものであり、染色体をパラメータ値で表したものが特徴パラメータである。
【００３９】
フォント文字の構成要素として、線の長さ（パラメータ／記号；横線／ａ１，縦線／ｂ１，左はらい／ｃ１，右はらい／ｄ１，点／ｅ１，はね／ｆ１）、線の丸み（パラメータ／記号；横線／ａ２，縦線／ｂ２，左はらい／ｃ２，右はらい／ｄ２，点／ｅ２，はね／ｆ２）、線のうねり（パラメータ／記号；横線／ａ３，縦線／ｂ３）、線の角度（パラメータ／記号；左はらい／ｃ３，右はらい／ｄ３，点／ｅ３，はね／ｆ３）、線の太さ（パラメータ／記号；線太さ／ｊ１，起筆部／ｊ２，線中央部／ｊ３，終筆部／ｊ４）、折れ（パラメータ／記号；丸み／ｇ１）、フォント文字外形の変形（パラメータ／記号；右肩上がり／ｈ１，左倒れ／ｉ１）を設定している一例を図３に示す。
【００４０】
フォント文字の特徴を表す場合、図６に示す番号１のフォント文字「永」で具体的に説明すると、構成要素の「線の丸み」が若干あり（パラメータ（「横線（ａ２）」，「縦線（ｂ２）」，「左はらい（ｃ２）」，「右はらい（ｄ２）」，「点（ｅ２）」，「はね（ｆ２）」，「折れ丸み（ｇ１）」）の各パラメータ値は「４」）、他の構成要素は標準（各パラメータのパラメータ値は標準の「３」、但し「起筆部太さ（ｊ２）」、「線中央部太さ（ｊ３）」、「終筆部太さ（ｊ４）」の各パラメータ値の標準は「１」）とすれば、「番号１」の染色体は、各遺伝子を「ａ１，ａ２，ａ３，ｂ１，ｂ２，ｂ３，…，ｊ１，ｊ２，ｊ３，ｊ４」の順に羅列したものであり、特徴パラメータは染色体のパラメータをパラメータ値に置き換えて「３４３３４３３４３３４３３４３３４３４３３３１１１」と記述したものである。番号２〜５についても同様である。
【００４１】
さらに、基本フォント（スケルトンフォント）のフォント文字「永」に、図３に示すパラメータのパラメータ値を５段階に設定して生成したフォント文字を、図４，５に示す。この場合、対象とするパラメータ以外のパラメータ値は「３」に、「起筆部太さ（ｊ２）」「線中央部太さ（ｊ３）」「終筆部太さ（ｊ４）」の各パラメータ値は「１」に設定して生成した例である。
【００４２】
なお、パラメータやパラメータ値の段階は、本実施例に限定されず、適宜増減させても良いし、パラメータ値の段階はパラメータ毎に異なる段階を設定しても良い。
【００４３】
ステップＳ５の処理において、遺伝的アルゴリズム処理部５は、特徴パラメータ記憶部７に記憶されているユーザによる手書き文字の特徴パラメータに突然変異などの遺伝的アルゴリズム処理を実行して複数の特徴パラメータを生成する。
【００４４】
そして、複数の特徴パラメータを生成すると遺伝的アルゴリズム処理部５は、ユーザによって選択された二つの特徴パラメータ間で、交差及び突然変異の処理を実行することにより新しい世代の特徴パラメータを複数生成し、生成した新しい世代の複数の特徴パラメータを特徴パラメータ記憶部７に記憶する。
【００４５】
ここで、遺伝的アルゴリズム処理部５が処理する「交差」「突然変異」について詳しく説明する。
【００４６】
「交差」により染色体を生成する場合、遺伝的アルゴリズム処理部５は二つの染色体を親として、二つの染色体間で遺伝子を組替え、新しい染色体を生成する処理を行う。なお、遺伝学的な交差方法には、１点交差（前）、１点交差（後）、２点交差、一様交差があるが、本発明においては遺伝学的に厳密に適用する必要はなく、問題の性質に従って自由に選ぶことができる。
【００４７】
より具体的には、図７に例示するように、番号６，７，８の特徴パラメータは、番号１と番号４を親として交差により生成した例を示しており、番号６の特徴パラメータは、パラメータ「横線長さ（ａ１）」，「横線丸み（ｂ２）」，「横線うねり（ａ３）」，「縦線長さ（ｂ１）」を親である番号１のパラメータ（パラメータ値「３４３３４」）を、その他のパラメータは番号４のパラメータ（パラメータ値「３３３４３３４３３１３３１３３３３３５１１１」）を受け継いでいる。このように、交差により親の染色体の一部をそのまま受け継いで生成された番号６のフォント文字は、横線と縦線の特徴を親である番号１から受け継いでいることがわかる。
【００４８】
そして、ユーザが複数のフォント文字から好みのフォント文字を親として選択することで、選択された親の遺伝子が次の世代に受け継がれ、ユーザの好みにマッチしたフォント文字が生成される確率が高くなる。
【００４９】
また、「突然変異」により染色体を生成する場合、遺伝的アルゴリズム処理部５は、二つの染色体を親として交差により新しい染色体を生成し、生成した染色体のある部分の遺伝子を、設定した確率に従って強制的に変更することにより、生成した新しい染色体の一部を親の遺伝子とは無関係に変化させる処理を行う。なお、突然変異率は、遺伝学的な制約にとらわれることなく、適宜設定することができ、突然変異の発生する遺伝子やパラメータ値についてはランダムに選択することができる。
【００５０】
より具体的には、図７に例示するように、番号９，１０の特徴パラメータは、番号１と番号４を親として交差によりパラメータ値を受け継いでいるが、受け継いだパラメータの一部は、突然変異により親とは無関係のパラメータ値に変更されている。
【００５１】
例えば、番号９では、パラメータ「右肩上がり（ｈ１）」，「左倒れ（ｉ１）」，「太さ（ｊ１）」，「起筆部太さ（ｊ２）」のパラメータ値「３３５１」が無関係なパラメータ値「２５１５」に置き換わり、親の特徴パラメータにはなかった右肩下がり、右倒れ、起筆部太さが太く、フォント文字としては細めの特徴をもったフォント文字が生成されている。なお、説明をわかりやすくするため突然変異の発生を連続した遺伝子に発生させた例を示したが、一般的に、染色体における突然変異の発生する遺伝子はランダムである。
【００５２】
このように、ある確率の下に新しい特徴パラメータを持ったフォント文字が発生することにより、今までにない新しいフォント文字を生成することができる。
【００５３】
なお、特徴パラメータで表現されたフォント文字を視覚化し、ユーザにパラメータ値を調整させるようにすることで、好みのフォント文字を生成するといった方法でも良い。しかし、ユーザにパラメータ値を調整させる方法は、直感的なフォント生成方法でなく、イメージ通りにパラメータ値を調整して好みのフォント文字を生成するのは困難である。そこで、異なる染色体を持つフォント文字を複数提示し、ユーザにその中から好みのフォント文字により近いフォント文字を選択させるようにすることで、直感的に好みのフォントを作成することが可能となる。そこで、このステップＳ５の処理で得られた特徴パラメータから、異なるパラメータ値を持つ特徴パラメータをさらに複数個、生成する。具体的には、ステップＳ５の処理で得られた特徴パラメータをベースにした「突然変異」によるプロセスや、ステップＳ５あるいはステップＳ３の処理の処理で得られた特徴パラメータと標準的なパラメータ値を持つ特徴パラメータとの「交差」によるプロセスにより、新たなパラメータ値を持つ特徴パラメータを生成する。
【００５４】
再び、図２のフローチャートに戻って、ステップＳ６の処理において、フォント生成部６は、遺伝的アルゴリズム処理部５が生成した複数の特徴パラメータに基づいて複数のフォント文字を生成し、生成した複数のフォント文字を表示装置３に表示する。より具体的には、フォント生成部６は、ユーザにより指定された文字又は予め設定された文字について、基本フォント記憶部８に記憶された基本フォントのフォント文字の部品に対して、ステップＳ３又はステップＳ５で生成した複数の特徴パラメータを適用することにより複数のフォント文字を生成する。
【００５５】
なお、表示装置３に表示するフォント文字数は、表示装置３の画面サイズや、ユーザが直感的に選択できる数に応じて調整することができる。
【００５６】
ここで、図８を参照しながら、パラメータである、横線長さ（ａ１），横線丸み（ａ２），横線うねり（ａ３）のパラメータ値の変化に伴う、横線の変化について説明する。本実施形態においては、フォント生成部６は、フォントを構成する曲線をベジエ３次曲線により表現する。そして、ベジエ３次曲線の形状は、４つの制御点で定義されており、フォント生成部６は、パラメータ値を変数とする数式でこの４つの制御点の座標を表現することにより、様々な形状を有する曲線を表現できる。
【００５７】
具体的には、横線を表現するための制御点の座標をＡ，Ｂ，Ｃ，Ｄとすると、
【数１】
Ａ（０，０）
Ｂ（ａ１×ｋ１／３，（（ａ２−３）＋（ａ３−３））×ａ１×ｋ２）
Ｃ（ａ１×ｋ１×２／３，（（ａ２−３）−（ａ３−３））×ａ１×ｋ２）
Ｄ（ａ１×ｋ１，０）
但し、ａ１，ａ２，ａ３＝１，２，３，４，５であり、ｋ１，ｋ２は定数とすると、４点Ａ，Ｂ，Ｃ，Ｄを制御点とするベジエ３次曲線Ｐ（ｔ）は、次式により表現される。
【００５８】
【数２】
Ｐ（ｔ）＝（１−ｔ）３Ａ＋３（１−ｔ）２ｔＢ＋３（１−ｔ）ｔ２Ｃ＋ｔ３Ｄ
但し、０≦ｔ≦１
横線は、図８（ａ）〜（ｅ）に示すように、パラメータａ１，ａ２，ａ３のパラメータ値の変化に従って、形状が変化する。そして、フォント生成部６は、基本フォント記憶部８に記憶された基本フォントのフォント文字の構造に従って生成した曲線を配置し、太さ等のパラメータ値に従って肉付け、右肩上がりや左（右）倒れ等のパラメータ値に従ってフォント文字外形の変形等の処理を施すことにより、フォント文字を生成する。なお、本実施形態においては、ベジエ３次曲線を用いて横線を表現したが、これに限らず、他の曲線を用いて線を表現するようにしてもよい。
【００５９】
再び、図２のフローチャートに戻って、ステップＳ７の処理において、制御装置１０は、ユーザに、操作装置２を操作させて表示装置３に表示したフォント文字の中から好みのフォント文字を１つ以上選択させる。
【００６０】
ステップＳ８の処理において、遺伝的アルゴリズム処理部５は、選択されたフォント文字が一つか否かを判定する。ステップＳ８の処理において、フォント文字が一つ選択された場合は、ステップＳ９の処理に進む。一方、フォント文字が複数選択された場合は、ステップＳ１０の処理に進む。
【００６１】
ステップＳ９の処理において、遺伝的アルゴリズム処理部５は、選択した好みのフォント文字で良いか（確定するか）否かをユーザに問い合わせ、「確定しない」が選択された場合はステップＳ１１の処理に進む。一方、「確定する」が選択された場合はステップＳ１３の処理に進む。
【００６２】
ステップＳ１１の処理において、遺伝的アルゴリズム処理部５は、表示装置３にフォント文字の生成を一からやり直すか否かを問い合せるメッセージを表示し、ユーザに操作装置２によりフォント文字の生成を一からやり直すか否かを選択させる。
【００６３】
ステップＳ１１の処理において、「一からやり直す」が選択された場合は、遺伝的アルゴリズム処理部５は、処理をステップＳ２に戻す。
【００６４】
一方、ステップＳ１１の処理において、「一からやり直さない」が選択された場合は、ステップＳ１２の処理に進む。
【００６５】
ステップＳ１２の処理において、遺伝的アルゴリズム処理部５は、ステップＳ７で選択されたフォント文字の特徴パラメータに対し突然変異等の遺伝的アルゴリズム処理を実行して、複数の次世代の特徴パラメータを生成し、ステップＳ６の処理に戻す。具体的には、遺伝的アルゴリズム処理部５は、ステップＳ５の処理と同様にして複数の特徴パラメータを生成する。
【００６６】
ステップＳ１０の処理において、遺伝的アルゴリズム処理部５は、選択された複数のフォント文字の中から二つのフォント文字を選択し、選択されたフォント文字の特徴パラメータに対し交差、突然変異等の遺伝的アルゴリズム処理を実行して、複数の次世代の特徴パラメータを生成し、ステップＳ６の処理に戻す。具体的には、ステップＳ７の処理において二つのフォント文字が選択されている場合には、遺伝的アルゴリズム処理部５は、二つのフォント文字を親とした特徴パラメータに対し交差、突然変異処理を行う。また、ステップＳ７の処理において三つ以上のフォント文字が選択された場合には、遺伝的アルゴリズム処理部５は、親とするフォント文字をランダムに二つ選択しても良いし、選択時に好みの重み付けをユーザに指定させておき、この重み付けに従って親とするフォント文字を二つ選択しても良い。
【００６７】
ステップＳ９の処理において、ユーザにより確定が選択された場合、遺伝的アルゴリズム処理部５は、ステップＳ１３の処理として、ユーザが確定したフォント文字の特徴パラメータを、フォント作成のための特徴パラメータとして決定する。
【００６８】
ステップＳ１４の処理において、フォント生成部６は、ユーザ好みの特徴パラメータに基づいてフォントを作成し、必要に応じてベクトルデータ化（ＴｒｕｅＴｙｐｅフォント化）した後、作成したフォントを生成フォント記憶部９に文字コードに対応させて記憶し、一連のフォント生成処理を終了する。
【００６９】
以上の説明から明らかなように、本実施形態によるフォント生成装置によれば、遺伝的アルゴリズム処理部５が、親となる特徴パラメータに対し遺伝的アルゴリズム処理を施すことにより、複数の新たな特徴パラメータを生成し、フォント生成部６が、生成した複数の新たな特徴パラメータに基づいて基本フォントのフォント文字を変形することにより、複数の新たなフォント文字を生成し、生成した複数の新たなフォント文字を表示装置３に表示する。そして、遺伝的アルゴリズム処理部５は、表示した複数の新たなフォント文字の中からユーザにより選択されたフォント文字に基づいてユーザ好みの特徴パラメータを決定する。そして、フォント生成部６は、遺伝的アルゴリズム処理部５が決定したユーザ好みの特徴パラメータに基づいてフォントを作成する。つまり、遺伝と淘汰を繰り返すことによって、よりユーザの好みにマッチしたフォント文字を生成することができる。従って、ユーザは表示された複数のフォント文字の中から好みのフォント文字を選択する作業を繰り返すだけで、自分の好みに合ったフォントを作成することができるので、労力を掛けずに、また、フォント文字構造等、細かい部分のことを気にせずに直感的にフォントを作成することができる。さらに、ユーザの手書き文字の特徴をパラメータ値（遺伝子）として加味することで、ユーザの手書き文字の特徴を受け継いだフォントを簡単に作成することができる。
【００７０】
以上、本発明の実施の形態を詳細に説明したが、本発明は、その精神または主要な特徴から逸脱することなく、他の色々な形で実施することができる。
【００７１】
例えば、ユーザの気に入るフォント文字が生成されない場合には、突然変異率の変更や、一度作成したフォントの遺伝子情報の保存や読み込みを行えるようにして、現在の世代のフォント群に新たな遺伝子情報として掛け合わせることでフォントの進化に影響を与えるようにしても良い。
【００７２】
従って、前述の実施例はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は、特許請求の範囲によって示すものであって、明細書本文には何ら拘束されない。更に、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。
【００７３】
【発明の効果】
本発明によれば、表示された複数のフォント文字の中から好みのフォント文字を選択する作業を繰り返すだけで、ユーザの好みに合ったフォントを簡単に作成することができる。
【図面の簡単な説明】
【図１】本実施形態によるフォント生成装置の構成例を示すブロック図である。
【図２】図１に示すフォント生成装置の処理動作を例示するフローチャートである。
【図３】本実施形態におけるフォント文字の構成要素とパラメータを例示する図である。
【図４】図３に示すパラメータ値を変化させたときのフォント文字の一例を示す図である。
【図５】図３に示すパラメータ値を変化させたときのフォント文字の一例を示す図である。
【図６】本実施形態におけるフォント文字の染色体と特徴パラメータの関係を示す図である。
【図７】本実施形態における遺伝的アルゴリズムの処理例を説明するための図である。
【図８】本実施形態におけるフォント生成処理の一例を説明するための図である。
【符号の説明】
１…読取装置
２…操作装置
３…表示装置
４…文字特徴抽出部
５…遺伝的アルゴリズム処理部
６…フォント生成部
７…特徴パラメータ記憶部
８…基本フォント記憶部
９…生成フォント記憶部
１０…制御部
１０ａ…ＣＰＵ
１０ｂ…ＲＯＭ
１０ｃ…ＲＡＭ
１０ｄ…インタフェース部
１１…記憶装置
【図１】
2004117714.tif 000003
【図２】
2004117714.tif 000004
【図３】
2004117714.tif 000005
【図４】
2004117714.tif 000006
【図５】
2004117714.tif 000007
【図６】
2004117714.tif 000008
【図７】
2004117714.tif 000009
【図８】
2004117714.tif 000010