(57)【特許請求の範囲】
【請求項１】
文字形状が横書き用及び縦書き用で同じフォントである共有フォントを受け付ける受付手段と、
前記受付手段によって受け付けられたフォントを、縦書き用フォントとして参照できる情報を付与する縦書情報付与手段と、
前記受付手段によって受け付けられたフォントを、横書き用フォントとして参照できる情報を付与する横書情報付与手段と、
前記受付手段によって受け付けられたフォントに対して縦書き用フォントとして参照できる情報と横書き用フォントとして参照できる情報を付与したフォント情報を生成するフォント情報生成手段と、
前記フォント情報生成手段によって生成されたフォント情報を電子文書に登録し、さらに、各文字毎に、縦書き用フォントとして参照できる情報又は横書き用フォントとして参照できる情報のうちいずれか一方と、該文字の位置と、該文字のサイズを、該電子文書内の該各文字に対して登録する登録手段
を備え、
前記登録手段は、縦書き用フォントとして参照できる情報又は横書き用フォントとして参照できる情報のうちいずれか一方と、文字の位置と、文字のサイズで同じものが連続する場合は登録せず、変化した時点で、縦書き用フォントとして参照できる情報又は横書き用フォントとして参照できる情報のうちいずれか一方と、文字の位置と、文字のサイズを、電子文書を構成するための情報として登録する
ことを特徴とする情報処理装置。
【請求項２】
前記登録手段は、
前記文字の色を含めて、前記電子文書内の各文字に対して登録する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
複数の文字を代表する代表文字を生成する代表文字生成手段と、
前記共通フォント情報生成手段は、前記代表文字生成手段によって生成された代表文字を共有フォントとして受け付ける
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
コンピュータを、
文字形状が横書き用及び縦書き用で同じフォントである共有フォントを受け付ける受付手段と、
前記受付手段によって受け付けられたフォントを、縦書き用フォントとして参照できる情報を付与する縦書情報付与手段と、
前記受付手段によって受け付けられたフォントを、横書き用フォントとして参照できる情報を付与する横書情報付与手段と、
前記受付手段によって受け付けられたフォントに対して縦書き用フォントとして参照できる情報と横書き用フォントとして参照できる情報を付与したフォント情報を生成するフォント情報生成手段と、
前記フォント情報生成手段によって生成されたフォント情報を電子文書に登録し、さらに、各文字毎に、縦書き用フォントとして参照できる情報又は横書き用フォントとして参照できる情報のうちいずれか一方と、該文字の位置と、該文字のサイズを、該電子文書内の該各文字に対して登録する登録手段
として機能させ、
前記登録手段は、縦書き用フォントとして参照できる情報又は横書き用フォントとして参照できる情報のうちいずれか一方と、文字の位置と、文字のサイズで同じものが連続する場合は登録せず、変化した時点で、縦書き用フォントとして参照できる情報又は横書き用フォントとして参照できる情報のうちいずれか一方と、文字の位置と、文字のサイズを、電子文書を構成するための情報として登録する
ことを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【０００２】
電子ドキュメントを記述できる電子ドキュメントフォーマットが存在する。例えば、ＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）（登録商標）といわれるものがある。
この電子ドキュメントフォーマットでは、その電子ドキュメント内で用いられている文字のフォントを登録することができる。なお、フォントとは、印刷又は画面表示等に利用される文字の書体であって、フォントは文字の描画の方法によって、文字の形をドットでもつドットマトリックスフォントと、文字の輪郭を情報としてもつアウトラインフォントに分類される。本件明細書においては、フォントは、ドットマトリックスフォント、アウトラインフォントのいずれであってもよい。
【０００３】
これに関連する技術として、例えば、特許文献１には、フォントデータのデータ量の減縮と入れ替え時間の削減を図ることを目的とし、例えば横書き用のフォントデータを母体にし、これに、縦書き用フォントデータの各文字パターンデータの中で、横書き用には含まれていないものだけを抜き出して加え、この一本化したフォントデータの各文字パターンに、識別子を付して第２のテーブルを生成し、別に、この識別子と文字コードとの関係を規定する第１のテーブルを、横書き用、縦書き用夫々別個に生成し、例えば横書きの文字パターンが要求されたら、要求に係る文字コードをキーワードとし、対応する識別子を横書き用の第１のテーブルから読み出し、これをキーワードとし、対応する横書き用の文字パターンを第２の対応テーブルから読み出すことが開示されている。
【０００４】
また、例えば、特許文献２には、入力された文字を縦方向又は横方向に迅速に表示することができるようにすることを目的とし、キーボードが操作され、所定のキーが入力されると、処理部により対応する文字コードが認識され、記憶部に記憶されたフォントファイルより対応するフォントが読み出され、表示部に表示される。フォントファイルは、漢字に対応するフォントとそれ以外の文字に対応する縦書き専用のフォント及び横書き専用のフォントから構成され、各フォントのフォントファイル上での位置は簡単な計算により求めることができるため、高速なアクセスが可能であることが開示されている。
【特許文献１】特開平０６−０４３８４４号公報
【特許文献２】特開平０８−２６３０４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、フォント情報を電子文書内に登録することが要求される場合がある。そのような場合に、縦書き用のフォントと横書き用のフォントを共有化しただけでは、縦書きと横書きが混在するような文書に対応することができない。
本発明は、かかる課題を解決するようにした情報処理装置及び情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、文字形状が横書き用及び縦書き用で同じフォントである共有フォントを受け付ける受付手段と、前記受付手段によって受け付けられたフォントを、縦書き用フォントとして参照できる情報を付与する縦書情報付与手段と、前記受付手段によって受け付けられたフォントを、横書き用フォントとして参照できる情報を付与する横書情報付与手段と、前記受付手段によって受け付けられたフォントに対して縦書き用フォントとして参照できる情報と横書き用フォントとして参照できる情報を付与したフォント情報を生成するフォント情報生成手段と、前記フォント情報生成手段によって生成されたフォント情報を電子文書に登録し、さらに、各文字毎に、縦書き用フォントとして参照できる情報又は横書き用フォントとして参照できる情報のうちいずれか一方と、該文字の位置と、該文字のサイズを、該電子文書内の該各文字に対して登録する登録手段を備え、前記登録手段は、縦書き用フォントとして参照できる情報又は横書き用フォントとして参照できる情報のうちいずれか一方と、文字の位置と、文字のサイズで同じものが連続する場合は登録せず、変化した時点で、縦書き用フォントとして参照できる情報又は横書き用フォントとして参照できる情報のうちいずれか一方と、文字の位置と、文字のサイズを、電子文書を構成するための情報として登録することを特徴とする情報処理装置である。
【０００７】
請求項２の発明は、前記登録手段は、前記文字の色を含めて、前記電子文書内の各文字に対して登録することを特徴とする請求項１に記載の情報処理装置である。
【００１０】
請求項３の発明は、複数の文字を代表する代表文字を生成する代表文字生成手段と、前記共通フォント情報生成手段は、前記代表文字生成手段によって生成された代表文字を共有フォントとして受け付けることを特徴とする請求項１に記載の情報処理装置である。
【００１１】
請求項４の発明は、コンピュータを、文字形状が横書き用及び縦書き用で同じフォントである共有フォントを受け付ける受付手段と、前記受付手段によって受け付けられたフォントを、縦書き用フォントとして参照できる情報を付与する縦書情報付与手段と、前記受付手段によって受け付けられたフォントを、横書き用フォントとして参照できる情報を付与する横書情報付与手段と、前記受付手段によって受け付けられたフォントに対して縦書き用フォントとして参照できる情報と横書き用フォントとして参照できる情報を付与したフォント情報を生成するフォント情報生成手段と、前記フォント情報生成手段によって生成されたフォント情報を電子文書に登録し、さらに、各文字毎に、縦書き用フォントとして参照できる情報又は横書き用フォントとして参照できる情報のうちいずれか一方と、該文字の位置と、該文字のサイズを、該電子文書内の該各文字に対して登録する登録手段として機能させ、前記登録手段は、縦書き用フォントとして参照できる情報又は横書き用フォントとして参照できる情報のうちいずれか一方と、文字の位置と、文字のサイズで同じものが連続する場合は登録せず、変化した時点で、縦書き用フォントとして参照できる情報又は横書き用フォントとして参照できる情報のうちいずれか一方と、文字の位置と、文字のサイズを、電子文書を構成するための情報として登録することを特徴とする情報処理プログラムである。
【発明の効果】
【００１２】
請求項１の情報処理装置によれば、フォント情報を電子文書内に登録することが要求される場合にあって、縦書き用のフォントと横書き用のフォントを共有化してフォント情報を削減した上で、縦書きと横書きが混在するような文書に対応することができる。
【００１３】
請求項２の情報処理装置によれば、縦書きと横書きが混在するような文書を構成することができる。
【００１６】
請求項３の情報処理装置によれば、さらに、フォント情報を削減することができる。
【００１７】
請求項４の情報処理プログラムによれば、フォント情報を電子文書内に登録することが要求される場合にあって、縦書き用のフォントと横書き用のフォントを共有化し、縦書きと横書きが混在するような文書に対応することができる。
【発明を実施するための最良の形態】
【００１８】
まず、電子ドキュメントを記述できる電子ドキュメントフォーマットにおける横書き、縦書きのフォントの取り扱いについて説明する。
電子ドキュメントでは、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）上で、電子的に文書を閲覧することが行われる。
電子的に文書を閲覧する場合に、電子文書に記述されているテキスト情報をＰＣ上で選択し、複写・貼り付け（コピー＆ペースト）等の処理が行われる。
テキスト情報をＰＣ上で選択する（例えば、電子ドキュメントを閲覧しているディスプレイ上に表示されているテキスト位置でマウスを左クリックしながらテキスト位置を右に移動させる等の動作でテキスト情報を選択することができる）場合、選択したテキストの領域が反転して、どのテキスト情報を選択しているかを示すようなビューワが存在している。なお、選択動作によって白黒が反転した状態のテキスト領域を、以下、反転矩形形状ともいう。
例えば、図２に示す例のようにテキスト情報である「あいう」（文字列２１０）が表示されている電子ドキュメント２００があり、その「あいう」のテキスト情報をＰＣ上で選択すると、図３に示す例の電子ドキュメント２００内の選択文字列３１０のように、「あいう」の部分が反転して、「あいう」が選択されたことをユーザに示すことができる。
又は、前述のようにテキスト情報を選択した状態で、ＰＣ上でコピー＆ペーストを行うと、別のファイル上に「あいう」というテキスト情報をコピーすることが可能となる。図４に示す例のように、ワードプロセッサ等のような別のアプリケーションファイル（電子ドキュメント４００）上に、テキスト情報（文字列４１０）をペーストすることができる。
【００１９】
次に、このような電子ドキュメント内の文字形状を指定するため、ＰＤＦなどのように、フォント情報を電子ドキュメント内に包含させることができるものがある。つまり、電子ドキュメントを印刷又は画面表示する場合に、電子ドキュメントを作成するユーザの意図通りの文字形状を復元するために、電子ドキュメント内にフォント情報（文字形状情報）を埋め込んでしまうものである。このように電子ドキュメント内にフォント情報を埋め込んでしまうことによって、同一のフォント情報を持っていない電子ドキュメントの受け手（プリンタやＰＣ等）が、電子ドキュメントの作成者と同じ文字形状を復元することができるようになる。
【００２０】
電子ドキュメント内に埋め込むべきフォントには、縦書き用のフォントである縦書き用フォントと横書き用のフォントである横書き用フォントが存在している。
電子ドキュメント内でテキスト情報を選択する場合、縦書き用フォントの場合と横書き用フォントの場合で動作が異なる。
例えば、図２に示した例の「あいう」（文字列２１０）が横書き用フォントで記述されている場合、「あいう」は１行の文字列としてビューワが認識する。そのため、図３に示した例のように、反転矩形形状が一つの長方形として整った形状となる。
ところが、図２に示した例の「あいう」（文字列２１０）が縦書き用フォントで記述されている場合、ビューワによっては、「あいう」が、３列の縦書きの文字列として認識されてしまう。その結果、反転矩形形状の品質が劣化することが起こりえる。
【００２１】
反転矩形形状の品質の劣化には２通りがある。
第１に、図５に示す例のように、各文字の反転矩形形状（選択矩形５１０、５２０、５３０）の間、つまり「あいう」の間に空白が発生してしまう場合がある。
第２に、図６に示す例のように、「あ」、「い」、「う」のそれぞれの反転矩形形状の上端の位置と、下端の位置が揃わなくなる場合がある。
【００２２】
さらに、図２に示した例の「あいう」が縦書き用フォントで記述されている場合、コピー＆ペーストされたテキスト情報の品質も劣化してしまう。
「あいう」が横書き用フォントで記述されている場合、ペースト先の表示結果は、図４に示した例のように、作業者の意図したものになる。
しかし、「あいう」が縦書き用フォントで記述されている場合、ビューワが３列の縦書きの文字列として認識してしまい、改行コードが挿入されて、図７に示す例のように、電子ドキュメント７００内に、３行の文字（文字列７１０、７２０、７３０）としてペーストされてしまうということが発生する。
【００２３】
前述の例は、横書きのテキスト情報を縦書き用フォントで記述した場合の不具合の例である。
同様に、縦書きのテキスト情報を横書き用フォントで記述した場合にも、同様の不具合が発生する。つまり、１つ目に、反転矩形形状の間に空白が発生する。２つ目に、反転矩形形状の左端と右端の位置が揃わなくなる。そして、３つ目に、１列の文字列が、複数行の横文字列として認識されてしまう結果、行ごとに改行コードが挿入されてしまう。
【００２４】
このような不具合を起こさないためには、横書きテキスト情報の文字列は、横書き用フォントで記述し、縦書きテキスト情報の文字列は、縦書き用フォントで記述すればよい。
ところが、電子ドキュメントにフォント情報を埋め込む場合に、単に横書き用フォントと縦書き用フォントの２つのフォントを埋め込む場合は、ファイルサイズが増大してしまう。
背景技術で示したように、横書き用フォントと縦書き用フォントの共通部分を抽出し、共通部分は重複しないように保持することで、ファイルサイズを低減させようとするものがある。
しかしながら、電子ドキュメントにフォントデータを埋め込む場合、縦書き用フォントと横書き用フォントを共有化してしまうと、各文字が縦書きであるか、横書きであるかという情報が失われてしまう。ビューワが文字の横書きか縦書きかを認識する機能を持っていれば解決できる場合もある。しかし、この解決方法は、ビューワの仕様に依存することになってしまうもので、電子ドキュメントの作成時に解決するものではない。しかも、ビューワが行う文字の横書きか縦書きかを認識する処理がもとの電子ドキュメントの横書き・縦書きと必ずしも合致するとは限らない。
【００２５】
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。本実施の形態は、フォント情報を内部に包含する電子ドキュメントを対象とし、その電子ドキュメントの文字列の横書き及び縦書きを再現し、かつ、ファイルサイズを低減するものである。
【００２６】
本実施の形態の概要を説明する。
本実施の形態では、縦書き、横書きで文字形状（グリフ）が共通なフォントが存在している場合、その二つのフォントのうち、一つだけを共通フォントとして、電子ドキュメントに埋め込む。
さらに、その共通フォントを縦書き用フォントとして参照できる情報、つまり、縦書き用フォント名（又は縦書き用フォント番号）を登録する。縦書き用フォント名（又は縦書き用フォント番号）を指定された文字は、実態としては共通フォントを参照することになる。
さらに、前記共通フォントを横書き用フォントとして参照できる情報、つまり、横書き用フォント名（又は横書き用フォント番号）を登録する。横書き用フォント名（又は横書き用フォント番号）を指定された文字は、実態としては共通フォントを参照することになる。
そして、電子ドキュメントを生成する時には、文字毎に、フォント名（又はフォント番号）を指定することになる。つまり、フォント名（又はフォント番号）を指定することによって、横書き、縦書きの指定が可能となる。
【００２７】
さらに、文字毎に描画位置を指定する。
単に、縦書きと横書きのフォントのうち、共有できるものだけを共有する場合、縦書きと横書きで、描画位置が異なるものがある。例えば、「、」のような句読点は、横書きの場合、左下に描画されるが、縦書きの場合は、右上に描画される。そのため、句読点に関しては共有できないこととなる。また、プロポーショナルフォントの場合も、横書きと縦書きでフォント幅（高さ）が文字毎に異なるため、共有することができない。
本実施の形態では、文字毎に描画位置を指定する。このため、文字形状が横書き用及び縦書き用で同じ文字に対しては、その文字のフォントを共有化できる。これによって、本実施の形態は、フォント情報を埋め込んだ電子ドキュメントのファイルサイズを削減することができる。
【００２８】
図１は、第１の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、コンピュータ・プログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能にほぼ一対一に対応しているが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）を含む。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。
【００２９】
第１の実施の形態は、図１に示すように、共通フォント処理モジュール１１０、縦書情報付与処理モジュール１２０、横書情報付与処理モジュール１３０、文字登録処理モジュール１４０を有している。
【００３０】
共通フォント処理モジュール１１０は、縦書情報付与処理モジュール１２０、横書情報付与処理モジュール１３０、文字登録処理モジュール１４０と接続されており、文字形状が横書き用及び縦書き用で同じフォントである共有フォントを受け付ける。そして、受け付けたフォントを縦書情報付与処理モジュール１２０、横書情報付与処理モジュール１３０、文字登録処理モジュール１４０に渡す。つまり、共通フォント処理モジュール１１０は、縦書きと横書きで同じ文字形状をもつフォントを一つの共通フォントとして登録するために、文字登録処理モジュール１４０に渡す。
共通フォント処理モジュール１１０が受け付けるデータとしては、電子ドキュメントを生成する機能を有しているアプリケーションが出力するデータであり、例えば、電子ドキュメント作成アプリケーションの印刷機能により出力されるものである。また、本実施の形態を、その電子ドキュメント作成アプリケーションの印刷モジュールとして組み入れてもよい。また、例えば、紙文書を読み込んで、その画像から電子ドキュメントを構成するようなアプリケーションであってもよい。
また、共通フォント処理モジュール１１０は、共有フォント以外のフォントを受け付けて、共有フォントを選択して縦書情報付与処理モジュール１２０、横書情報付与処理モジュール１３０、文字登録処理モジュール１４０に渡すようにしてもよい。
【００３１】
縦書情報付与処理モジュール１２０は、共通フォント処理モジュール１１０、文字登録処理モジュール１４０と接続されており、共通フォント処理モジュール１１０によって受け付けられたフォントを、縦書き用フォントとして参照できる情報を付与する。そして、その付与した情報を文字登録処理モジュール１４０へ渡す。
横書情報付与処理モジュール１３０は、共通フォント処理モジュール１１０、文字登録処理モジュール１４０と接続されており、共通フォント処理モジュール１１０によって受け付けられたフォントを、横書き用フォントとして参照できる情報を付与する。そして、その付与した情報を文字登録処理モジュール１４０へ渡す。
つまり、縦書情報付与処理モジュール１２０は、共通フォントを親フォントとして、同じデータを参照する縦書き用フォントを登録するために、共通フォントを縦書き用フォントとして参照できる情報を付与する。例えば、ここで、縦書き用フォント番号を１とする。
同様に、横書情報付与処理モジュール１３０は、共通フォントを親フォントとして、同じデータを参照する横書き用フォントを登録するために、共通フォントを横書き用フォントとして参照できる情報を付与する。例えば、ここで、横書き用フォント番号を２とする。つまり、フォント番号が１の場合は、共通フォントを縦書き用フォントとして参照することになり、フォント番号が２の場合は、共通フォントを横書き用フォントとして参照することになる。
【００３２】
文字登録処理モジュール１４０は、共通フォント処理モジュール１１０、縦書情報付与処理モジュール１２０、横書情報付与処理モジュール１３０と接続されており、共通フォント処理モジュール１１０によって受け付けられたフォントに基づいて、縦書情報付与処理モジュール１２０又は横書情報付与処理モジュール１３０によって付与された情報とともにフォント情報を生成する。
また、文字登録処理モジュール１４０は、その生成されたフォント情報及び電子ドキュメントを構成する文字毎に、その文字の位置、その文字のサイズ、その文字の色、その文字の前記フォント情報を参照できる情報（以下、フォント番号ともいう）に基づいて、該電子ドキュメントを構成するための情報を生成するようにしてもよい。つまり、電子ドキュメントは、フォント情報（フォントとそのフォントを横書き用フォントとして参照できる情報又はそのフォントを縦書き用フォントとして参照できる情報を含む）と、文字の位置、文字のサイズ、文字の色、又は文字のフォント情報を参照できる情報を有している。換言すると、電子ドキュメントは、少なくともフォント情報、文字の位置、文字のフォント情報を参照できる情報を有している。そして、より好適には、文字のサイズ、文字の色を有している。さらに、その文字を一意に識別できる文字識別子である文字コードを含めてもよい。文字コードは、複数のアプリケーションで共通に用いることができるコード体系を用いる。
【００３３】
そして、ビューワは、表示すべき電子ドキュメント内の文字の位置に、文字のフォント情報を参照できる情報（縦書きの文字列の文字であれば縦書きのフォントの番号等、横書きの文字列の文字であれば横書きのフォントの番号等）を用いて、フォント情報内の該当するフォントを取得して、その取得したフォントを描画する。
【００３４】
前述の第１の実施の形態では、各文字毎に、文字の位置、文字のサイズ、文字の色、フォント番号を指定するものであるが、文字の位置、文字のサイズ、文字の色、フォント番号として、同じものが連続する場合（例えば、文字の位置の場合はＸ座標又はＹ座標が同じもの等）は、文字毎に指定しなくてもよい。つまり、この場合には、変化した時点で登録すればよい。また、その他の圧縮手法を施してもよい。
【００３５】
図８は、第２の実施の形態の構成例についての概念的なモジュール構成図を示している。この第２の実施の形態は、画像データを入力して、電子ドキュメントを作成する例を示すものである。
なお、第１の実施の形態と同種の部位には、第１の実施の形態と同様である旨を示して重複した説明を省略する。
【００３６】
第２の実施の形態は、図８に示すように、文字コード付与処理モジュール８１０、代表文字生成処理モジュール８２０、共通フォント処理モジュール８３０、縦書情報付与処理モジュール８４０、横書情報付与処理モジュール８５０、文字列方向認識処理モジュール８６０、文字登録処理モジュール８７０を有している。
なお、第２の実施の形態に入力される画像は、紙文書をスキャナで読み込み、画像解析された結果である。つまり、その画像自体の他に、画素塊である文字画像の位置（以下、文字位置ともいう）、その画素塊である文字画像のサイズ（以下、文字サイズともいう）等の画像に関する情報の他に、その画素塊である文字画像（以下、文字画像ともいう）、その文字画像が縦・横に並んだ文字画像の列（以下、文字列ともいう）等の画像である。
【００３７】
図９を用いて、第２の実施の形態の処理例を説明する。
代表文字生成処理モジュール８２０は、複数の「２」という文字が記載された入力画像９１０内の文字画像９１１、文字画像９１２、文字画像９１３を対象画像とする。それぞれの文字画像は、文字画像９１１の解像度で切り出されたものである。そして、それぞれの文字画像の文字サイズ／文字位置９５０を文字登録処理モジュール８７０へ渡すようにしてもよい。
代表文字生成処理モジュール８２０は、これらの複数の「２」という文字画像が類似していると判定する。そして、代表文字生成処理モジュール８２０は、文字画像９１１、文字画像９１２、文字画像９１３の重点（重心線９１１Ａ等の交差点）を求め、その重点を一致させるように位相を移動して高解像度文字画像９２０を生成し、共通フォント処理モジュール８３０へ渡す。
【００３８】
共通フォント処理モジュール８３０は、代表文字生成処理モジュール８２０から受け取った高解像度文字画像９２０から例えばアウトラインフォントを描画するに必要なアウトライン情報であるフォント・データ９３０を生成する。
文字コード付与処理モジュール８１０は、例えば「２」という文字画像の文字コード９４０を割り当てる。
文字登録処理モジュール８７０は、フォント・データ９３０及び縦書情報付与処理モジュール８４０から受け取ったそのフォントデータを縦書き用フォントとして参照できるフォントコード又は横書情報付与処理モジュール８５０から受け取ったそのフォントデータを横書き用フォントとして参照できるフォントコード、文字コード９４０、文字サイズ／文字位置９５０、文字列方向認識処理モジュール８６０から受け取った文字列が横書きであるか縦書きであるかを示す情報を用いて、出力すべき電子ドキュメントを生成する。
【００３９】
次に、各モジュールについて、詳細に説明する。
代表文字生成処理モジュール８２０は、共通フォント処理モジュール８３０と接続されており、画像内の文字画像毎に類似した文字画像を抽出し、それらを代表する文字画像（以下、代表文字画像ともいい、その具体的例として高解像度な文字画像がある）を生成する。その生成した代表文字画像を共通フォント処理モジュール８３０に渡す。
文字画像を抽出する方法としては、従来より提案されている種々の手法を用いればよい。例えば、特開２０００−５７２６１号公報、特開２００１−４３３１４号公報、特開２００４−７８５３１号公報等に開示されている技術を用いてもよい。さらに、文字画像が類似しているか否かを判定する手法として、例えば、特開２００７−１７４００９号公報等に開示されている技術を用いてもよい。
【００４０】
図１０を用いて、代表文字生成処理モジュール８２０による代表文字画像の生成、つまり高解像度文字画像を生成する処理例を説明する。
図１０（Ａ）は、入力画像９１０の解像度（第１の解像度）における標本化格子（第１の標本化格子１００１、第１の標本化格子１００２、第１の標本化格子１００３、第１の標本化格子１００４）及び文字画像の重心位置（重心１００１Ａ、重心１００２Ａ、重心１００３Ａ、重心１００４Ａ）を表している。
代表文字生成処理モジュール８２０は、まず、図１０（Ｂ）に示すように、文字画像の重心に基づいて、４つの標本化格子の位相を移動させる。
【００４１】
図１０（Ｃ）、図１０（Ｄ）は、第１の解像度よりも高い第２の解像度の標本化格子を設定する手法の例を説明する図である。図１０（Ｃ）に記載された丸数字（１、２、３、４）は、第１の解像度における文字画像の値を例示している。ここで、文字画像は、丸数字が第１の解像度における標本化格子の格子点上に表されるようにプロットされている。
図１０（Ｄ）において、第２の標本化格子１００６は高解像度画像の標本化格子である。
代表文字生成処理モジュール８２０は、第１の解像度における４つの標本化格子の位相が移動されると、図１０（Ｃ）に示すように、第２の解像度における標本化格子を設定し、図１０（Ｄ）に示すように、文字画像の重心が一致するように、第２の解像度における標本化格子の位相を移動させる。
【００４２】
図１０（Ｅ）は、第２の解像度における文字画像の値を算出する手法の例を説明する図である。第２の標本化格子１００６Ａ、第２の標本化格子１００６Ｂ、第２の標本化格子１００６Ｃ、第２の標本化格子１００６Ｄ内の中心にある丸数字は、第２の解像度における文字画像の値を例示しているものである。ここで、第２の解像度における文字画像は、中心にある丸数字が、第２の解像度における標本化格子の格子点上に表されるように示されている。
そして、代表文字生成処理モジュール８２０は、第１の解像度における各文字画像の位相に基づいて、その各文字画像の画素値から、第２の解像度における文字画像の画素値を補間する。本例では、代表文字生成処理モジュール８２０は、最近傍補間法を適用して、第２の解像度における文字画像の画素値を補間する。すなわち、代表文字生成処理モジュール８２０は、第１の解像度における文字画像の４つの値（図１０（Ｅ）では、丸数字の１、２、３、４）のうち、第２の解像度における標本化格子点に最も近い値を選択して、第２の解像度における文字画像の値とする。具体的には、第２の標本化格子１００６Ａでは、中心に最も近い値は「１」であり、「１」を採用している（丸数字は１である）。なお、補間方法は、この方法に限定されるものではなく、その他の方法（例えば、線形補間法など）を適用してもよい。
なお、代表文字生成処理モジュール８２０の処理は、前述の処理に限られず、線形補間、キュービックコンボリューション等でもよい。
【００４３】
共通フォント処理モジュール８３０は、文字コード付与処理モジュール８１０、代表文字生成処理モジュール８２０、縦書情報付与処理モジュール８４０、横書情報付与処理モジュール８５０、文字登録処理モジュール８７０と接続されており、代表文字生成処理モジュール８２０から受け取った代表文字画像の、例えばアウトライン情報であるフォント・データを生成し、文字コード付与処理モジュール８１０、文字登録処理モジュール８７０、縦書情報付与処理モジュール８４０、横書情報付与処理モジュール８５０に渡す。
縦書情報付与処理モジュール８４０は、共通フォント処理モジュール８３０、文字登録処理モジュール８７０と接続されており、第１の実施の形態の縦書情報付与処理モジュール１２０と同様である。
横書情報付与処理モジュール８５０は、共通フォント処理モジュール８３０、文字登録処理モジュール８７０と接続されており、第１の実施の形態の横書情報付与処理モジュール１３０と同様である。
【００４４】
文字コード付与処理モジュール８１０は、共通フォント処理モジュール８３０、文字登録処理モジュール８７０と接続されており、入力された文字画像又は共通フォント処理モジュール８３０から渡された代表文字画像に対して文字コードを割り当てる。そして、その文字コードを文字登録処理モジュール８７０へ渡す。
また、文字コード付与処理モジュール８１０は、フォントとして登録する文字形状と一対一対応ができるように、文字形状にコード（フォント番号）を付与するようにしてもよい。その場合、さらに、それに対応する入力画像内の文字画像に対して、文字コードを付与するようにしてもよい。文字コードを付与することによって、もとの文字画像の形状と類似した文字形状を、共通フォントから再生できるようになる。
付与するコード（フォント番号）は、フォントに登録した文字形状と一対一対応ができるようになっていれば何でもよい。又は、文字画像を文字認識して、ＳＪＩＳ、ｕｎｉｃｏｄｅ等のコード体系の文字コードを与えてもよい。
【００４５】
文字列方向認識処理モジュール８６０は、文字登録処理モジュール８７０と接続されており、入力画像内の文字列の方向（横書きであるか、縦書きであるか）を認識する。そして、その認識結果を文字登録処理モジュール８７０へ渡す。
文字列方向の認識処理は、一般の文字認識処理で用いられている各種手法を用いてもよい。例えば、特開平５−３５９０８号公報、特開平５−３５９０９号公報、特開平５−３５９１０号公報、特開平５−６２０１０号公報、特開平５−７３７１８号公報、特開平５−８９２８４号公報、特開平５−２９８４７７号公報、特開平５−３１４３０９号公報、特開平６−２４３２８６号公報、特開平８−１９４７７３号公報、特開平９−２００５０１号公報、特開２００７−１６４７１９号公報等に記載されているような技術を用いてもよい。
【００４６】
文字登録処理モジュール８７０は、文字コード付与処理モジュール８１０、共通フォント処理モジュール８３０、縦書情報付与処理モジュール８４０、横書情報付与処理モジュール８５０、文字列方向認識処理モジュール８６０と接続されている。
文字登録処理モジュール８７０は、共通フォント処理モジュール８３０によって生成されたフォント情報に基づいて、縦書情報付与処理モジュール８４０又は横書情報付与処理モジュール８５０によって付与された情報とともにフォント情報を生成する。
さらに、文字登録処理モジュール８７０は、その生成されたフォント情報及び文字コード付与処理モジュール８１０によって付与された文字識別子の文字のフォント情報を参照できる情報に基づいて、電子ドキュメントを構成するための情報を生成するようにしてもよい。また、文字登録処理モジュール８７０は、さらに、文字列方向認識処理モジュール８６０による認識結果、文字の位置、文字のサイズ、文字の色、文字のフォント情報を参照できる情報に基づいて、電子ドキュメントを構成するための情報を生成するようにしてもよい。つまり、電子ドキュメントは、フォント情報（フォントとそのフォントを横書き用フォントとして参照できる情報又はそのフォントを縦書き用フォントとして参照できる情報を含む）、文字の位置、文字のサイズ、文字の色、文字のフォント情報を参照できる情報、文字コード、又は文字列の方向を有している。換言すると、電子ドキュメントは、少なくともフォント情報、文字の位置、文字のフォント情報を参照できる情報を有している。そして、より好適には、文字のサイズ、文字の色、文字列の方向を有している。さらに、文字コードを含めてもよい。
【００４７】
前述の第２の実施の形態では、各文字毎に、文字の位置、文字のサイズ、文字の色、フォント番号、文字列の方向を指定するものであるが、文字の位置、文字のサイズ、文字の色、フォント番号、文字列の方向として、同じものが連続する場合（例えば、文字の位置の場合はＸ座標又はＹ座標が同じもの等）は、文字毎に指定しなくてもよい。つまり、この場合には、変化した時点で登録すればよい。また、その他の圧縮手法を施してもよい。
【００４８】
図１１を参照して、前述の実施の形態のハードウェア構成例について説明する。図１１に示す構成は、例えばパーソナルコンピュータ（ＰＣ）などによって構成されるものであり、スキャナ等のデータ読み取り部１１１７と、プリンタなどのデータ出力部１１１８を備えたハードウェア構成例を示している。
【００４９】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１０１は、前述の実施の形態において説明した各種のモジュール、すなわち、共通フォント処理モジュール１１０、縦書情報付与処理モジュール１２０、横書情報付与処理モジュール１３０、文字登録処理モジュール１４０、文字コード付与処理モジュール８１０、代表文字生成処理モジュール８２０、文字列方向認識処理モジュール８６０等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００５０】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１０２は、ＣＰＵ１１０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１０３は、ＣＰＵ１１０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバスなどから構成されるホストバス１１０４により相互に接続されている。
【００５１】
ホストバス１１０４は、ブリッジ１１０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス１１０６に接続されている。
【００５２】
キーボード１１０８、マウス等のポインティングデバイス１１０９は、操作者により操作される入力デバイスである。ディスプレイ１１１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などからなり、各種情報をテキストやイメージ情報として表示する。
【００５３】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１１１１は、ハードディスクを内蔵し、ハードディスクを駆動し、ＣＰＵ１１０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、入力画像、フォント情報、電子ドキュメントなどが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【００５４】
ドライブ１１１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体１１１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース１１０７、外部バス１１０６、ブリッジ１１０５、及びホストバス１１０４を介して接続されているＲＡＭ１１０３に供給する。リムーバブル記録媒体１１１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【００５５】
接続ポート１１１４は、外部接続機器１１１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート１１１４は、インタフェース１１０７、及び外部バス１１０６、ブリッジ１１０５、ホストバス１１０４等を介してＣＰＵ１１０１等に接続されている。通信部１１１６は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部１１１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部１１１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００５６】
なお、図１１に示すハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図１１に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図１１に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００５７】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【図面の簡単な説明】
【００５８】
【図１】第１の実施の形態の構成例についての概念的なモジュール構成図である。
【図２】テキスト情報が表示されている電子文書の例を示す説明図である。
【図３】テキスト情報が選択された状態の例を示す説明図である。
【図４】選択したテキスト情報を複写した後に貼り付けた場合の例を示す説明図である。
【図５】選択した状態で、反転矩形形状に空白が発生する場合の例を示す説明図である。
【図６】選択した状態で、反転矩形形状の上端と下端の位置が不揃いとなる場合の例を示す説明図である。
【図７】選択したテキスト情報を複写した後に貼り付けた場合の例を示す説明図である。
【図８】第２の実施の形態の構成例についての概念的なモジュール構成図である。
【図９】第２の実施の形態による処理例を示す説明図である。
【図１０】代表文字生成処理モジュールによる高解像度文字画像データの生成処理例を示す説明図である。
【図１１】第１及び第２の実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【符号の説明】
【００５９】
１１０…共通フォント処理モジュール
１２０…縦書情報付与処理モジュール
１３０…横書情報付与処理モジュール
１４０…文字登録処理モジュール
８１０…文字コード付与処理モジュール
８２０…代表文字生成処理モジュール
８３０…共通フォント処理モジュール
８４０…縦書情報付与処理モジュール
８５０…横書情報付与処理モジュール
８６０…文字列方向認識処理モジュール
８７０…文字登録処理モジュール
【図１】
0005194851.tif 000002
【図２】
0005194851.tif 000003
【図３】
0005194851.tif 000004
【図４】
0005194851.tif 000005
【図５】
0005194851.tif 000006
【図６】
0005194851.tif 000007
【図７】
0005194851.tif 000008
【図８】
0005194851.tif 000009
【図９】
0005194851.tif 000010
【図１０】
0005194851.tif 000011
【図１１】
0005194851.tif 000012