(57)【要約】【課題】ユーザ独自のフォントとして横書き用及び縦書き用の手書き文字フォントを簡単に作成すること。【解決手段】入力された画像データに基づいてフォントを作成するフォント作成装置であって、入力された前記画像データから個々の文字の文字画像を抽出し、抽出した個々の文字の前記文字画像と文字コードとを関連づける文字切り出し手段と、前記文字切り出し手段によって抽出され、前記文字コードと関連づけられた文字画像から、横書き用文字画像データと縦書き用文字画像データの２つの文字画像データを生成する文字画像生成手段と、前記文字画像生成手段により生成された前記横書き用文字画像データから横書き用フォント文字を作成し、前記文字画像生成手段により生成された前記縦書き用文字画像データから縦書き用フォント文字を作成するフォント作成手段とを有する。【選択図】　　　図７
2004133163.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像データに基づいてフォントを作成するフォント作成装置であって、
入力された前記画像データから個々の文字の文字画像を抽出し、抽出した個々の文字の前記文字画像と文字コードとを関連づける文字切り出し手段と、
前記文字切り出し手段によって抽出され、前記文字コードと関連づけられた文字画像から、横書き用文字画像データと縦書き用文字画像データの２つの文字画像データを生成する文字画像生成手段と、
前記文字画像生成手段により生成された前記横書き用文字画像データから横書き用フォント文字を作成し、前記文字画像生成手段により生成された前記縦書き用文字画像データから縦書き用フォント文字を作成するフォント作成手段と
を有することを特徴とするフォント作成装置。
【請求項２】
前記文字画像生成手段は、前記個々の文字について横書き用と縦書き用の２つのフォント文字が必要な文字であるか否かを判別し、横書き用と縦書き用の２つのフォント文字が必要な文字について、前記２つの文字画像データを生成することを特徴とする請求項１に記載のフォント作成装置。
【請求項３】
前記文字画像生成手段は、前記文字画像から前記２つの文字画像データのうちいずれか一方の文字画像データを生成し、生成した前記いずれか一方の文字画像データに対して、回転処理、反転処理、平行移動処理、回転シフト処理のうち、少なくとも一つ以上の画像処理を施すことにより、他方の文字画像データを生成すること
を特徴とする請求項１または請求項２のいずれかに記載のフォント作成装置。
【請求項４】
前記他方の文字画像データを生成するための前記画像処理情報を前記個々の文字毎に設定した文字生成テーブルを有し、
前記文字画像生成手段は、前記文字生成テーブルに設定されている前記画像処理情報に従って、前記回転処理、前記反転処理、前記平行移動処理、前記回転シフト処理のうち、少なくとも一つ以上の処理を施すこと
を特徴とする請求項３に記載のフォント作成装置。
【請求項５】
入力された画像データに基づいてフォントを作成するフォント作成プログラムであって、
入力された前記画像データから個々の文字の文字画像を抽出し、抽出した個々の文字の前記文字画像と文字コードとを関連づける文字切り出し処理と、
前記文字切り出し処理によって抽出され、前記文字コードと関連づけられた文字画像から、横書き用文字画像データと縦書き用文字画像データの２つの文字画像データを生成する文字画像生成処理と、
前記文字画像生成処理により生成された前記横書き用文字画像データから横書き用フォント文字を作成し、前記文字画像生成手段により生成された前記縦書き用文字画像データから縦書き用フォント文字を作成するフォント作成処理と
を情報処理装置に実行させることを特徴とするフォント作成プログラム。
【請求項６】
前記文字画像生成処理において、前記個々の文字について横書き用と縦書き用の２つのフォント文字が必要な文字であるか否かを判別し、横書き用と縦書き用の２つのフォント文字が必要な文字について、前記２つの文字画像データを生成することを特徴とする請求項５に記載のフォント作成装置。
【請求項７】
前記文字画像生成処理において、前記文字画像から前記２つの文字画像データのうちいずれか一方の文字画像データを生成し、生成した前記いずれか一方の文字画像データに対して、回転処理、反転処理、平行移動処理、回転シフト処理のうち、少なくとも一つ以上の画像処理により、他方の文字画像データを生成すること
を特徴とする請求項５または請求項６のいずれかに記載のフォント作成プログラム。
【請求項８】
前記文字画像生成処理において、前記他方の文字画像データを生成するための前記画像処理情報を前記個々の文字毎に設定した文字生成テーブルの前記画像処理情報に従って、前記回転処理、前記反転処理、前記平行移動処理、前記回転シフト処理のうち、少なくとも一つ以上の処理を施すこと
を特徴とする請求項７に記載のフォント作成プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パーソナルコンピュータやワードプロセッサ等の情報処理装置やプリンタ等に用いられるフォントの作成技術に係り、特に、ユーザが作成した文字画像に基づいたフォントを作成するためのフォント作成装置及びフォント作成プログラムに関する。
【０００２】
【従来の技術】
パーソナルコンピュータやＰＤＡ（Ｐｅｒｓｏｎａｌ　Ｄｉｇｉｔａｌ　Ａｓｓｉｓｔａｎｔ）等の情報処理装置やプリンタ等で使用されるフォントには、例えば、明朝体、ゴシック体、毛筆体、教科書体、手書き風等、様々な種類があり、これらのフォントはコンピュータメーカやフォントメーカ等により提供されている。
【０００３】
このようなフォントの字体は、外観的に美しくデザインされているが、このことが、逆に、画一的で個性に欠ける等の印象を文章の読み手に与えることがある。そこで、コンピュータメーカやフォントメーカ等は、毛筆体や手書き風のフォントを提供しているが、これらのフォントを手紙等の個人的な文書に使用することに抵抗を感じるユーザも多い。
【０００４】
そこで、手書き文字を記入した用紙の画像をイメージ・スキャナ等の画像読み取り装置を利用して入力し、フォントを作成する方法が提案されている（例えば、特許文献１参照）。特許文献１に記載のフォント作成方法においては、ユーザは必要とする文字（フォントを作成しようとする文字）を全て、前記用紙に手書きで記入する必要がある。例えば、ＪＩＳ第１水準相当のフォントを作成する場合、約３，５００字を手書きする必要があり、時間的、労力的に大きな負担となる。
【０００５】
【特許文献１】
特開２００２−６２８６２号公報
【０００６】
【発明が解決しようとする課題】
ところで、日本語の場合、書類や文書、書籍等の印刷物では、文章には縦書き（縦組み）と横書き（横組み）の２種類があり、パーソナルコンピュータにインストールされる文書作成プログラムやワードプロセッサ等にも縦書きと横書き両方の編集機能が搭載されているものも多い。
【０００７】
このような文書作成プログラムやワードプロセッサ等を利用して縦書きの文書を作成するために、通常の横書き用のフォント文字と縦書き用のフォント文字の２種類が用意されている。これは、横書きの場合は、左から右へ文字を並べるのに対して、縦書きの場合は上から下へ文字を並べていくために、横書きの場合と縦書きの場合とで文字の並びや文字空間における文字の位置が異なるためであり、図６に例示するような、句読点、記号、括弧、拗音・促音の小文字、組文字などが該当する。例えば、句読点（『、』『。』）は、横書きの場合には文字空間の左下に配置されるのに対して、縦書きの場合には右上に配置される。また、括弧（『「』の場合、横書き用のフォント文字をそのまま縦書きに用いると、括弧が横を向いて開いたり閉じたりする。
【０００８】
このように、横書きと縦書きとを１つのフォント文字で対応できない場合には、横書き用のフォント文字と縦書き用のフォント文字とを、それぞれ用意する必要がある。従って、例えば特許文献１に記載のフォント作成方法によってユーザ独自のフォントを作成する場合には、ユーザは横書き用フォント文字のための文字と縦書き用フォント文字のための文字をそれぞれ用紙に手書きで記入する必要がある。ＪＩＳ第一水準に含まれる約５００字の記号，英数字，ひらがな，カタカナ等の非漢字及び特殊文字のうち、横書き用のフォント文字と縦書き用のフォント文字を用意すべき文字は、図１７に一部を示すように１００文字以上あり、フォント作成時にこれらの文字について横書きと縦書きの両方を手書きすることは、ユーザにとって更に負担となる。この問題は、ユーザの手書き文字に基づいたフォントを作成する場合のみならず、ユーザが用意する文字に基づいたフォントの作成全般に共通する課題である。
【０００９】
本発明は、以上に述べた状況を鑑みて成されたものであり、横書き用のフォント文字と縦書き用のフォント文字のどちらか一方の手書き文字から他方のフォント文字を簡単に作成することができる、フォント作成装置及びフォント作成プログラムを提供することを目的とする。
【００１０】
【課題を解決するための手段】
本発明に係るフォント作成装置は、記入済み文字記入シートの画像データを入力し、入力された画像データに基づいてフォントを作成するフォント作成装置であって、入力された前記画像データから個々の文字の文字画像を抽出し、抽出した個々の文字の前記文字画像と文字コードとを関連づける文字切り出し手段と、前記文字切り出し手段によって抽出され、前記文字コードと関連づけられた文字画像から、横書き用文字画像データと縦書き用文字画像データの２つの文字画像データを生成する文字画像生成手段と、前記文字画像生成手段により生成された前記横書き用文字画像データから横書き用フォント文字を作成し、前記文字画像生成手段により生成された前記縦書き用文字画像データから縦書き用フォント文字を作成するフォント作成手段とを有することを特徴とする。
【００１１】
また、本発明に係るフォント作成プログラムは、記入済み文字記入シートの画像データを入力し、入力された画像データに基づいてフォントを作成するフォント作成プログラムであって、入力された前記画像データから個々の文字の文字画像を抽出し、抽出した個々の文字の前記文字画像と文字コードとを関連づける文字切り出し処理と、前記文字切り出し処理によって抽出され、前記文字コードと関連づけられた文字画像から、横書き用文字画像データと縦書き用文字画像データの２つの文字画像データを生成する文字画像生成処理と、前記文字画像生成処理により生成された前記横書き用文字画像データから横書き用フォント文字を作成し、前記文字画像生成手段により生成された前記縦書き用文字画像データから縦書き用フォント文字を作成するフォント作成処理とを情報処理装置に実行させることを特徴とする。
【００１２】
すなわち、本発明によれば、抽出されて文字コードと関連づけられた１つの文字画像から、横書き用文字画像データと縦書き用文字画像データの２つの文字画像データを生成し、生成した前記２つの文字画像データに基づいて横書きと縦書きの双方のフォント文字を作成することができるため、横書き用及び縦書き用のそれぞれの文字を用意しなくても良い。つまり、ユーザは横書き用文字もしくは縦書き用文字のいずれか一方を用意するだけで、横書きと縦書きの双方のフォント文字を作成することができる。
【００１３】
また、前記文字画像生成手段において、前記個々の文字について横書き用と縦書き用の２つのフォント文字が必要な文字であるか否かを判別し、横書き用と縦書き用の２つのフォント文字が必要な文字について、前記２つの文字画像データを生成するように構成することで、必要な文字についてだけ、横書き用と縦書き用の２つのフォント文字を作成することができる。
【００１４】
また、前記文字画像生成手段は、前記文字画像から前記２つの文字画像データのうちいずれか一方の文字画像データを生成し、生成した前記いずれか一方の文字画像データに対して、回転処理、反転処理、平行移動処理、回転シフト処理のうち、少なくとも一つ以上の画像処理を施すことにより、他方の文字画像データを生成するように構成しても良い。
【００１５】
また、前記他方の文字画像データを生成するための前記画像処理情報を前記個々の文字毎に設定した文字生成テーブルを有し、前記文字画像生成手段は、前記文字生成テーブルに設定されている前記画像処理情報に従って、前記回転処理、前記反転処理、前記平行移動処理、前記回転シフト処理のうち、少なくとも一つ以上の処理を施すように構成することもできる。
【００１６】
【発明の実施の形態】
以下、図１〜図１７を参照しながら、本発明の実施形態について詳しく説明する。なお、各図面を通じて同一もしくは同等の部位や構成要素には、同一もしくは同等の参照符号を付し、その説明を省略もしくは簡略化する。
【００１７】
なお、本明細書において「文字」とは、言葉を視覚的に表すために点や線の組み合わせによって言語を一区切りごとに記号化したものをいい、「フォント」とは、同一の書体で作られた「文字」の集合をいう。また、「フォント文字」とは、「フォント」の中の一区切りに記号化されたものをいい、「フォント」を構成する一つの「文字」に対応する。さらに、「手書き文字フォント」とは、ユーザによって手書きされた文字セットを同一書体としてみなしたものをいい、また、「文字コード」とは、文字や記号などを情報処理装置上で扱うために、文字や記号の集合（文字セット）を符号化した固有のコードの集合をいい、例えば、日本語の文字セットを扱うための文字コード・セットには、シフトＪＩＳ（Ｓｈｉｆｔｅｄ　Ｊａｐａｎｅｓｅ　Ｉｎｄｕｓｔｒｉａｌ　Ｓｔａｎｄａｒｄ）や日本語ＥＵＣなどのコード体系があり、通常２バイトで１つの文字を表す。その他、韓国語や中文（中国語）などを扱うための文字コード・セットもある。
【００１８】
［手書き文字フォント作成装置の構成］
手書き文字フォント作成装置は、図１に示すように、手書き文字が記入された記入済み文字記入シート３０ｂの画像を読み取るイメージ・スキャナ５と、手書き文字を記入するための文字記入シート３０ａを印刷するプリンタ２０と、記入済み文字記入シート３０ｂに記入されたユーザの手書き文字に基づいて手書き文字フォントを作成するパーソナルコンピュータ１０とから構成されている。
【００１９】
なお、手書き文字フォント作成装置の構成は上記構成に限定されるものではなく、例えば上記各装置を一体化して手書き文字フォント作成装置を形成するような構成としても良い。
【００２０】
《パーソナルコンピュータの構成》
パーソナルコンピュータ１０は、図２に示すように、ＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）１１、ＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）１２、ＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）１３、入出力インタフェース部１４、フォント文字画像メモリ１６を備え、これらの各構成要素は互いに電気的に接続されている。
【００２１】
ＣＰＵ１１は、ＲＯＭ１３に格納されたプログラムに従ってパーソナルコンピュータ１０の動作制御を行い、ＲＡＭ１２は、ＣＰＵ１１が実行する各種処理と関連する各種プログラムやデータを一時的に格納するワークエリアを提供する。
【００２２】
ＲＯＭ１３は、手書き文字フォント作成処理の際にＣＰＵ１１が実行する文字記入シート作成プログラム２５や手書き手書き文字フォント作成プログラム１７等のアプリケーションプログラムを格納するアプリケーションプログラム記憶部１８と、文字記入シート３０ｂの文字記入枠番号（プログラム上、設定されるが、図４に示す文字記入シート３０ａには必ずしも表示されない）と文字コードの対応関係を示す対応表（図示せず）や縦書き文字自動生成テーブル１９ａ（詳しくは後述する）等のアプリケーションプログラムの実行に必要な各種データを格納するデータ記憶部１９を備える。
【００２３】
文字記入シート作成プログラム２５は、ユーザの手書き文字フォント作成指示に基づいて文字記入シート３０ａの画像データを作成するプログラムである。
【００２４】
手書き文字フォント作成プログラム１７は、画像切り出しプログラム１７ａ、縦書き文字画像自動生成プログラム１７ｂ、フォント作成プログラム１７ｃを含む。
【００２５】
画像切り出しプログラム１７ａは、イメージ・スキャナ５から入力された記入済み文字記入シート３０ｂの画像データから個々の文字の文字画像を抽出し、抽出した個々の文字の文字画像と文字コードとを関連づける文字切り出し手段である。縦書き文字画像自動生成プログラム１７ｂは、画像切り出しプログラム１７ａによって抽出され、文字コードと関連づけられた文字画像から、横書き用文字画像データと縦書き用文字画像データの２つの文字画像データを生成する文字画像生成手段である。フォント作成プログラム１７ｃは、縦書き文字画像自動生成プログラム１７ｂにより生成された横書き用文字画像データから横書き用フォント文字を作成し、縦書き用文字画像データから縦書き用フォント文字を作成するフォント作成手段である。
【００２６】
なお、図示しないが、ＲＯＭ１３には、パーソナルコンピュータ１０の起動プログラムや、イメージ・スキャナ５やプリンタ２０のドライバプログラムも格納されている。
【００２７】
入出力インタフェース部１４は、パーソナルコンピュータ１０と、イメージ・スキャナ５及びプリンタ２０との間の情報の入出力処理を制御し、入出力される情報をその後の処理に適したデータ形式に変換する。
【００２８】
フォント文字画像メモリ１６は、ＣＰＵ１１が作成した手書き文字フォントを格納する。なお、フォント文字画像メモリ１６において、手書き文字フォントは、各フォント文字固有の文字コードに対応するアドレスに格納されており、文字コードを指定することによって、ＣＰＵ１１が、手書き文字フォントのフォント文字をＲＡＭ１２に読み出す構成となっている。
【００２９】
［手書き文字フォント作成処理］
次に、図３に示すフローチャートを参照して、手書き文字フォント作成装置が横書き用の手書き文字フォントのフォント文字を作成し、作成した横書き用の手書き文字フォントをフォント文字画像メモリ１６に格納するまでの処理の概略について説明する。
【００３０】
図３に示すフローチャートは、ユーザからの指示に応じて、ＣＰＵ１１が、アプリケーションプログラム記憶部１８に格納された文字記入シート作成プログラム２５や手書き文字フォント作成プログラム１７をＲＡＭ１２へロードし、実行することで処理が開始となる。
【００３１】
ステップＳ１の処理において、ＣＰＵ１１は、文字記入シート作成プログラム２５を実行し、ユーザの指示に従って文字記入シート３０ａの画像データを作成し、作成した画像データをプリンタ２０に送る。そして、プリンタ２０は、送られた画像データを印刷する。
【００３２】
ここで、プリンタ２０により印刷された文字記入シート３０ａは、例えば図４に示すようなレイアウトを有する。すなわち、文字記入シート３０ａには、３３ａ〜３３ｍのｍ行分が確保されており、１行には、手書き文字フォントのフォント文字を記入できる複数の文字記入枠３６（図４では３６ａ〜３６ｎ）が配置されている。また、文字記入シート３０ａの印刷枚数はユーザが必要とする手書き文字フォントのフォント文字の数に応じて変化し、ページ数表示欄３２にページ番号が印刷される。
【００３３】
また、この文字記入シート３０ａのページを識別するためのバーコード３１が印刷されている。また、各文字記入枠３６の上部には、記入すべき手書き文字に対応する標準的文字フォントのフォント文字３４（図４では３４ａ〜３４ｎ）がそれぞれ印刷されている。従って、ユーザはフォント文字３４を参照して、文字記入枠３６に手書きで文字を記入する。
【００３４】
さらに、各文字記入枠３６の上部にはキャンセル用チェック枠３５（図４では３５ａ〜３５ｎ）が配置されており、文字記入枠３６に記入した文字が書き損じの場合に、ユーザはこのキャンセル用チェック枠３５に印（例えば、「レ」マーク、枠内塗りつぶし等）を記入する。
【００３５】
ここで「書き損じ」とは、例えば、漢字の偏を誤記した、漢字の旁を構成する横線の本数が３本であるところを４本記入した、漢字の偏と旁の配置が意図した通りに書けなかった、など様々な要因による記入ミスをいう。なお、記入に用いる筆記具は特に限定されず、例えば、万年筆、ボールペン、毛筆等、イメージ・スキャナ５が読み取り可能な色彩、濃度を満たす筆記具であれば用いることができる。
【００３６】
ステップＳ２の処理において、ユーザは、文字記入シート３０ａの文字記入枠３６に横書き用の手書き文字を記入し、記入済み文字記入シート３０ｂをイメージ・スキャナ５にセットする。
【００３７】
ステップＳ３の処理において、イメージ・スキャナ５は、ＣＰＵ１１の制御により記入済み文字記入シート３０ｂの画像を読み取って、画像データとしてパーソナルコンピュータ１０に送る。
【００３８】
ステップＳ４の処理において、入出力インタフェース部１４は、イメージ・スキャナ５から送られた画像データをＲＡＭ１２に格納し、ＣＰＵ１１は、ＲＡＭ１２に格納された画像データに対して文字画像抽出・画像処理等の一連の処理を施して、横書き用の文字画像データを作成する。
【００３９】
ここで、上記ステップＳ４の処理において、ＣＰＵ１１は、画像切り出しプログラム１７ａに基づいて、各手書き文字の文字記入枠３６の文字画像を切り出し枠３７に基づいて抽出する。より具体的に説明すると、画像切り出しプログラム１７ａは、図５（ａ）に示すように、入力された記入済み文字記入シート３０ｂの画像データから文字記入枠３６の太枠４０を検出し、図５（ｂ）に示すように、文字記入枠３６（文字コード）毎に切り出し枠３７（図４では３７ａ〜３７ｎ）に基づいて文字画像データを抽出する。
【００４０】
ステップＳ５の処理において、ＣＰＵ１１は、フォント作成プログラム１７ｃに基づいて、抽出された文字画像データをベクトルデータに変換し、各文字コードに対応した横書き用の手書き文字フォントのフォント文字を作成する。
【００４１】
ステップＳ６の処理において、ＣＰＵ１１は、フォント作成プログラム１７ｃに基づいて、作成した手書き文字フォントのフォント文字を文字コードに対応づけてフォント文字画像メモリ１６に格納する。これにより、一連の処理が終了し、ユーザの手書き文字を利用した横書き用のフォントを作成することができる。
【００４２】
ここで、本実施形態による手書き文字フォント作成装置では、上記ステップＳ４の処理において、手書き文字の文字画像データに対して以下に示す画像処理を施すことにより、横書き用及び縦書き用の手書き文字フォント作成に要する労力を軽減する。以下、図８のフローチャートを参照しながら、手書き文字の文字画像データに対して画像処理を実行する際の手書き文字フォント作成装置の動作について詳しく説明する。なお、以下の処理は、横書き用の手書き文字が記入された記入済み文字記入シート３０ｂの画像を入力し、入力された横書き用文字画像データから縦書き用文字画像データを生成する例を示すが、同様の方法で縦書き用文字画像データから横書き用文字画像データを生成することも可能である。
【００４３】
《画像処理》
図７のフローチャートに示す処理は、イメージ・スキャナ５で読み取った、横書き用の手書き文字が記入された記入済み文字記入シート３０ｂの画像データを入出力インタフェース部１４が受け取り、処理に適したデータ形式に変換してＲＡＭ１２に格納する。画像切り出しプログラム１７ａが、ＲＡＭ１２に格納された画像データから個々の文字の文字画像を抽出し、抽出した個々の文字画像と文字コードとを関連づけてＲＡＭ１２に格納することで処理が開始される。
【００４４】
ステップＳ１１の処理において、縦書き文字画像自動生成プログラム１７ｂは、ＲＡＭ１２に格納された文字画像について縦書き文字自動生成テーブル１９ａを参照して、縦書き用フォント文字を作成する必要がある文字コードを取得する。ここで、縦書き文字自動生成テーブル１９ａは、一例を示すと図８に示すような形態となっており、縦書き用フォント文字を作成する必要がある文字コード毎に画像処理方法、座標原点、画像処理に利用するパラメータを予めＲＯＭ１３に格納しておく。縦書き文字自動生成テーブル１９ａには、図１７に例示したような縦書き用フォント文字を作成する必要があるフォント文字（文字コード）を全部格納しても良いし、ユーザが必要とする分だけを格納しても良い。なお、縦書き文字自動生成テーブル１９ａの詳細は後述する。
【００４５】
ステップＳ１２の処理において、縦書き文字画像自動生成プログラム１７ｂは、縦書き文字自動生成テーブル１９ａから取得した文字コードのうち、縦書き用フォント文字が未作成の文字コードが存在するか否かを判別する。そして、判別の結果、縦書き用フォント文字が未作成の文字コードが存在しない場合には、縦書き文字画像自動生成プログラム１７ｂは画像処理を終了する。一方、縦書き用フォント文字が未作成の文字コードが存在する場合には、ステップＳ１３の処理に進み、以下、縦書き文字自動生成テーブル１９ａから取得した文字コードについて縦書き用文字画像データを作成する。
【００４６】
ステップＳ１３の処理において、縦書き文字画像自動生成プログラム１７ｂは、未作成の文字コードを１つ選択し、ＲＡＭ１２に格納されている横書き用の手書き文字の文字画像データの中から、選択した文字コードに対応する横書き用文字画像データを取得する。
【００４７】
ステップＳ１４の処理において、縦書き文字画像自動生成プログラム１７ｂは、縦書き文字自動生成テーブル１９ａを参照して、処理中の文字コードに対応する画像処理方法とその処理パラメータを取得する。
【００４８】
ステップＳ１５の処理において、縦書き文字画像自動生成プログラム１７ｂは、取得した画像処理方法とその処理パラメータにより縦書き文字画像自動生成プログラムを実行することにより、ステップＳ１３で選択した文字コードに対応する横書き用文字画像データから縦書き用文字画像データを生成する。これにより、ステップＳ１５の処理は完了し、再びステップＳ１１の処理に戻る。
【００４９】
以上の処理により作成された縦書き用文字画像データを、フォント作成プログラム１７ｃは、ベクトルデータに変換し、アウトラインフォントとして縦書き用フォント文字を作成する。
【００５０】
［画像データの変換方法］
次に、上記ステップＳ１５において、縦書き文字自動生成テーブル１９ａに格納された文字毎の画像処理方法とその処理パラメータによって、縦書き文字画像自動生成プログラム１７ｂが横書き用文字画像データに対して実行する画像処理について詳細に説明する。なお、縦書き文字画像自動生成プログラム１７ｂが実行する画像処理は以下に説明する処理のいずれか１つに限定されず、任意の２つ以上の処理を組み合わせて実行して、横書き用文字画像データから縦書き用文字画像データを生成してもよい。
【００５１】
《回転処理》
初めに、図９及び図１０を参照しながら、回転処理により横書き用文字画像データから縦書き用文字画像データを生成する際の手書き文字フォント作成装置の動作について説明する。図９は、図８に示したＪＩＳ文字コードが「２１４２」（記号『‖』）の横書き用文字画像データに対して回転処理を行うことで、縦書き用文字画像データを生成する例を示しており、図１０はその回転処理のフローチャートである。
【００５２】
ステップＳ２１の処理において、縦書き文字画像自動生成プログラム１７ｂは、文字空間４２の中心を原点Ｏ（０，０）として、横書き用文字画像データを構成する黒画素Ｐの座標（Ｘｐ，Ｙｐ）を取得する。
【００５３】
ステップＳ２２の処理において、縦書き文字画像自動生成プログラム１７ｂは、未処理の黒画素Ｐが存在するか否かを判別する。そして、判別の結果、未処理の黒画素Ｐが存在しない場合には、一連の画像処理を終了する。一方、未処理の黒画素Ｐが存在する場合には、ステップＳ２３の処理に進む。
【００５４】
ステップＳ２３の処理において、縦書き文字画像自動生成プログラム１７ｂは、未処理の黒画素Ｐを選択し、横書き用文字画像データの黒画素Ｐの座標（Ｘｐ，Ｙｐ）に対応する、縦書き用文字画像データの黒画素Ｑの座標（Ｘｑ，Ｙｑ）を数式１により求める。
【００５５】
【数１】
Ｘｑ　＝　Ｙｐ
Ｙｑ　＝　−Ｘｐ
そして、再びステップＳ２１の処理に戻る。
【００５６】
以上の処理を、横書き用文字画像データを構成する黒画素の数だけ繰り返すと、図９に示すように、横書き用文字画像データは原点Ｏを中心として、時計回り（右回り）に９０度回転し、縦書き用文字画像データが生成される。
【００５７】
《回転及び反転処理》
次に、図１１及び図１２を参照しながら、回転及び反転処理により横書き用文字画像データから縦書き用文字画像データを生成する際の手書き文字フォント作成装置の動作について説明する。図１１は、図８に示したＪＩＳ文字コードが「２１４１」（記号『〜』）の横書き用文字画像データに対して回転及び反転処理を行うことで、縦書き用文字画像データを生成する例を示しており、図１２はその回転及び反転処理のフローチャートである。
【００５８】
ステップＳ３１の処理において、縦書き文字画像自動生成プログラム１７ｂは、文字空間４２の中心を原点Ｏ（０，０）として、横書き用文字画像データを構成する黒画素Ｐの座標（Ｘｐ，Ｙｐ）を取得する。
【００５９】
ステップＳ３２の処理において、縦書き文字画像自動生成プログラム１７ｂは、未処理の黒画素Ｐが存在するか否かを判別する。そして、判別の結果、未処理の黒画素Ｐが存在しない場合には、一連の画像処理を終了する。一方、未処理の黒画素Ｐが存在する場合には、ステップＳ３３の処理に進む。
【００６０】
ステップＳ３３の処理において、縦書き文字画像自動生成プログラム１７ｂは、未処理の黒画素Ｐを選択し、横書き用文字画像データの黒画素Ｐの座標（Ｘｐ，Ｙｐ）に対応する、縦書き用文字画像データの黒画素Ｑの座標（Ｘｑ，Ｙｑ）を数式２により求める。
【００６１】
【数２】
Ｘｑ　＝　−Ｙｐ
Ｙｑ　＝　−Ｘｐ
そして、再びステップＳ２１の処理に戻る。
【００６２】
以上の処理を、横書き用文字画像データを構成する黒画素の数だけ繰り返すと、図１２に示すように、横書き用文字画像データは原点Ｏを中心として時計回り（右回り）９０度回転し、さらにＹ軸対称に反転して、縦書き用文字画像データが生成される。
【００６３】
《平行移動処理》
次に、図１３及び図１４を参照しながら、平行移動処理により横書き用文字画像データから縦書き用文字画像データを生成する際の手書き文字フォント作成装置の動作について説明する。図１３は、図８に示したＪＩＳ文字コードが「２４４３」（文字『っ』）の横書き用文字画像データに対して平行移動処理を行うことで、縦書き用文字画像データを生成する例を示しており、図１４はその平行移動処理のフローチャートである。
【００６４】
ステップＳ４１の処理において、縦書き文字画像自動生成プログラム１７ｂは、横書き用文字画像データの文字部分の外接矩形４１を算出する。
【００６５】
ステップＳ４２の処理において、縦書き文字画像自動生成プログラム１７ｂは、外接矩形４１の各四辺と文字空間４２の各四辺との距離を示すＬｅｆｔＳｐａｃｅ１（左余白１）、ＲｉｇｈｔＳｐａｃｅ１（右余白１）、ＴｏｐＳｐａｃｅ１（上余白１）、ＢｏｔｔｏｍＳｐａｃｅ１（下余白）を算出する。
【００６６】
ステップＳ４３の処理において、縦書き文字画像自動生成プログラム１７ｂは、文字空間４２の左下角を原点Ｏ（０，０）として、横書き用文字画像データを構成する黒画素Ｐの座標（Ｘｐ，Ｙｐ）を取得する。
【００６７】
ステップＳ４４の処理において、縦書き文字画像自動生成プログラム１７ｂは、未処理の黒画素Ｐが存在するか否かを判別する。そして、判別の結果、未処理の黒画素Ｐが存在しない場合には、一連の画像処理は終了する。一方、未処理の黒画素Ｐが存在する場合には、ステップＳ４５の処理に進む。
【００６８】
ステップＳ４５の処理では、縦書き文字画像自動生成プログラム１７ｂは、未処理の黒画素Ｐを選択し、横書き用文字画像データの黒画素Ｐの座標（Ｘｐ，Ｙｐ）に対応する、縦書き用文字画像データの黒画素Ｑの座標（Ｘｑ，Ｙｑ）を数式３により求める。
【００６９】
【数３】
Ｘｑ　＝　Ｘｐ＋（（ａ−ｃｈａｒＷ）×　ＴｏｐＳｐａｃｅ１　／
（ＴｏｐＳｐａｃｅ１　＋　ＢｏｔｔｏｍＳｐａｃｅ１）−　ＬｅｆｔＳｐａｃｅ１）
Ｙｑ　＝　Ｙｐ＋（（ｂ−ｃｈａｒＨ）×　ＲｉｇｈｔＳｐａｃｅ１　／
（ＬｅｆｔＳｐａｃｅ１　＋　ＲｉｇｈｔＳｐａｃｅ１）−　ＢｏｔｔｏｍＳｐａｃｅ１）
但し、ａは文字空間４２の幅、ｂは文字空間４２の高さ、ｃｈａｒＷは外接矩形４１の幅、ｃｈａｒＨは外接矩形４１の高さである。
【００７０】
そして、再びステップＳ４３の処理に戻る。
【００７１】
以上の処理を、横書き用文字画像データを構成する黒画素の数だけ繰り返すと、図１３に示すように、文字空間４２の左下角を原点Ｏとして数式４の条件を満たすように平行移動し、縦書き用文字画像データが生成される。
【００７２】
【数４】
ＴｏｐＳｐａｃｅ２　：ＢｏｔｔｏｍＳｐａｃｅ２　＝　ＬｅｆｔＳｐａｃｅ１：ＲｉｇｈｔＳｐａｃｅ１
ＬｅｆｔＳｐａｃｅ２：ＲｉｇｈｔＳｐａｃｅ２　＝　ＴｏｐＳｐａｃｅ１　：ＢｏｔｔｏｍＳｐａｃｅ１
但し、ＴｏｐＳｐａｃｅ２は縦書き用文字画像における上余白２、ＢｏｔｔｏｍＳｐａｃｅ２は縦書き用文字画像における下余白２、ＬｅｆｔＳｐａｃｅ２は縦書き用文字画像における左余白２、ＲｉｇｈｔＳｐａｃｅ２は縦書き用文字画像における右余白２である。
【００７３】
《回転シフト処理》
次に、図１５及び図１６を参照しながら、回転シフト処理により横書き用文字画像データから縦書き用文字画像データを生成する際の手書き文字フォント作成装置の動作について説明する。図１５は、図８に示したＪＩＳ文字コードが「２Ｄ４０」（特殊文字『ミリ』）の横書き用文字画像データに対して回転シフト処理を行うことで、縦書き用文字画像データを生成する例を示しており、図１６はその回転シフト処理のフローチャートである。
【００７４】
ステップＳ５１の処理において、縦書き文字画像自動生成プログラム１７ｂは、文字空間４２の左下角を原点Ｏ（０，０）として、横書き用文字画像データを構成する黒画素Ｐの座標（Ｘｐ，Ｙｐ）を取得する。
【００７５】
ステップＳ５２の処理において、縦書き文字画像自動生成プログラム１７ｂは、未処理の黒画素Ｐが存在するか否かを判別する。そして、判別の結果、未処理の黒画素Ｐが存在しない場合には、一連の画像処理を終了する。一方、未処理の黒画素Ｐが存在する場合には、ステップＳ５３の処理に進む。
【００７６】
ステップＳ５３の処理において、縦書き文字画像自動生成プログラム１７ｂは、未処理の黒画素Ｐを選択し、横書き用文字画像データの黒画素Ｐの座標（Ｘｐ，Ｙｐ）に対応する、縦書き用文字画像データの黒画素Ｑの座標（Ｘｑ，Ｙｑ）を数式５により求める。
【００７７】
【数５】
Ｘｑ　＝　（Ｘｐ＋ａ／２）％ａ
Ｙｑ　＝　Ｙｐ
但し、ａは文字空間４２の幅を表す整数、Ｘｐは整数、／は整除演算記号、％は剰余演算記号である。
【００７８】
そして、再びステップＳ５１の処理に戻る。
【００７９】
以上の処理を、横書き用文字画像データを構成する黒画素の数だけ繰り返すと、図１５に示すように、横書き用文字画像データは文字空間４２の左下角を中心として回転シフトして、縦書き用文字画像データが生成される。
【００８０】
以上説明したように、横書き用文字画像データから、縦書き用文字画像データを自動的に生成し、２つの文字画像データに基づいて横書きと縦書きの双方のフォント文字を生成することができるため、横書き用及び縦書き用の文字を用意しなくても良い。つまり、ユーザは横書き用の手書き文字を文字記入シート３０ａに記入し、記入済み文字記入シート３０ｂの画像データを入力すると、横書き用と縦書き用の双方のフォント文字を作成することができる。
【００８１】
以上、本発明の実施の形態を詳細に説明したが、本発明は、その精神または主要な特徴から逸脱することなく、他の色々な形で実施することができる。
【００８２】
例えば、上記実施形態では、横書き用の手書き文字が記入された記入済み文字記入シートの画像データを入力し、横書き用文字画像データと縦書き用文字画像データを生成する例を示したが、縦書き用の手書き文字が記入された記入済み文字記入シートの画像データを入力し、横書き用文字画像データと縦書き用文字画像データを生成することも可能である。
【００８３】
また、上記実施形態では、入力された画像データから、一旦横書き用のフォント文字を生成し、その後、縦書き用のフォント文字を生成する処理手順を示したが、入力された文字画像データから、一旦縦書き用フォント文字を生成し、その後、横書き用のフォント文字を生成する処理手順でも良いし、入力された文字画像データから、横書き用のフォント文字と縦書き用のフォント文字を同時に作成する処理手順でも良い。
【００８４】
また、ユーザによる手書き文字が記入された記入済み文字記入シートの画像データを入力して横書き用のフォント文字と縦書き用のフォント文字を作成する例を示したが、入力する文字は手書き文字に限らず、パーソナルコンピュータ等の画像作成機能を用いて作成した文字等の画像データを入力しても良い。
【００８５】
このように、前述の実施例はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は、特許請求の範囲によって示すものであって、明細書本文には何ら拘束されない。更に、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。
【００８６】
【発明の効果】
本発明によれば、横書き用のフォント文字と縦書き用のフォント文字を簡単に作成することができる。
【図面の簡単な説明】
【図１】本実施形態による手書き文字フォント作成装置の構成例を示す模式図である。
【図２】図１に示す手書き文字フォント作成装置におけるパーソナルコンピュータの内部構成例を示すブロック図である。
【図３】図１に示す手書き文字フォント作成装置における手書き文字フォント作成処理の流れを例示するフローチャートである。
【図４】図３に示す手書き文字フォント作成処理において使用する文字記入シートのレイアウト例を示す模式図である。
【図５】図４に示す文字記入シートに記入された手書き文字の抽出方法を説明する図である。
【図６】横書きの文書で用いる文字と縦書きの文書で用いる文字の並びや位置の違いを例示する図である。
【図７】手書き文字フォント作成プログラムによる、横書き用文字画像データに対する画像処理の処理手順を例示するフローチャートである。
【図８】本実施形態における縦書き文字自動生成テーブルの構成例を示す図である。
【図９】横書き用文字画像データを縦書き用文字画像データに変換する画像処理の、回転処理を説明する図である。
【図１０】横書き用文字画像データを縦書き用文字画像データに変換する画像処理の、回転処理の処理手順を例示するフローチャートである。
【図１１】横書き用文字画像データを縦書き用文字画像データに変換する画像処理の、回転及び反転処理を説明する図である。
【図１２】横書き用文字画像データを縦書き用文字画像データに変換する画像処理の、回転及び反転処理の処理手順を例示するフローチャートである。
【図１３】横書き用文字画像データを縦書き用文字画像データに変換する画像処理の、平行移動処理を説明する図である。
【図１４】横書き用文字画像データを縦書き用文字画像データに変換する画像処理の、平行移動処理の処理手順を例示するフローチャートである。
【図１５】横書き用文字画像データを縦書き用文字画像データに変換する画像処理の、回転シフト処理を説明する図である。
【図１６】横書き用文字画像データを縦書き用文字画像データに変換する画像処理の、回転シフト処理の処理手順を例示するフローチャートである。
【図１７】横書き用と縦書き用のフォント文字を用意する必要がある記号、ひらがな、カタカナ等の非漢字、及び特殊文字の一例を示す図である。
【符号の説明】
５…イメージ・スキャナ
１０…パーソナルコンピュータ
１１…ＣＰＵ
１２…ＲＡＭ
１３…ＲＯＭ
１４…入出力インタフェース部
１６…フォント文字画像メモリ
１７…手書き文字フォント作成プログラム
１７ａ…画像切り出しプログラム
１７ｂ…縦書き文字画像自動生成プログラム
１７ｃ…フォント作成プログラム
１８…アプリケーションプログラム記憶部
１９…データ記憶部
１９ａ…手書き文字自動生成テーブル
２０…プリンタ
２５…文字記入シート作成プログラム
３０ａ…文字記入シート
３０ｂ…記入済み文字記入シート
３１…バーコード
３２…ページ数表示欄
３４（３４ａ〜３４ｎ）…標準的フォント文字
３５（３５ａ〜３５ｎ）…キャンセル用チェック枠
３６（３６ａ〜３６ｎ）…文字記入枠
３７（３７ａ〜３７ｎ）…切り出し枠
４０…太枠
４１…外接矩形
４２…文字空間
【図１】
2004133163.tif 000003
【図２】
2004133163.tif 000004
【図３】
2004133163.tif 000005
【図４】
2004133163.tif 000006
【図５】
2004133163.tif 000007
【図６】
2004133163.tif 000008
【図７】
2004133163.tif 000009
【図８】
2004133163.tif 000010
【図９】
2004133163.tif 000011
【図１０】
2004133163.tif 000012
【図１１】
2004133163.tif 000013
【図１２】
2004133163.tif 000014
【図１３】
2004133163.tif 000015
【図１４】
2004133163.tif 000016
【図１５】
2004133163.tif 000017
【図１６】
2004133163.tif 000018
【図１７】
2004133163.tif 000019