(57)【要約】【課題】訳語等の単語に対する補足説明を文書に付加したときに閲覧性の悪化を抑制することができるデータ処理装置、補足説明付加方法及びコンピュータプログラムを提供する。【解決手段】データ処理装置は、文書原稿を読み取った画像が表す文書を複数の領域に分割し、文書中の単語に対する訳語等の補足説明を単語データベース３５を用いて生成し、各単語に隣接する行間の位置に補足説明を配置したときに補足説明が文書の文字に重ならないように、文書の文字サイズ及び補足説明の文字サイズを領域別に設定する。領域別に設定した文字サイズで文書中の文字が形成され、各単語に隣接する行間に補足説明が配置された画像が生成される。文書中の単語は位置を変更せずに文字サイズのみが領域別に調整されるので、文書のレイアウトが維持され、また領域内では文字サイズにばらつきが生じないので、閲覧性の悪化が抑制される。【選択図】図１
2011065573.tif 000002
【特許請求の範囲】
【請求項１】
複数の行からなる文書を表す画像に対し、文書に含まれる複数の単語の夫々に対する補足説明を、該単語に隣接した行間の位置に付加する処理を行うデータ処理装置において、
単語に対する補足説明を記録したデータベースと、
夫々に複数の文字を含んだ複数の領域に文書を分割する分割手段と、
文書に含まれる各単語に対する補足説明を、前記データベースから取得する手段と、
文書の文字位置を変更せずに行間に各単語に対する補足説明を付加したときに補足説明が他の文字に重ならないように、文書の文字サイズを領域毎に設定する手段と、
文書中の単語を、文字位置を変更せずに領域毎に設定した文字サイズで記録し、更に文書中の単語に対する補足説明を該単語に隣接した行間の位置に配置した画像を生成する手段と
を備えることを特徴とするデータ処理装置。
【請求項２】
前記分割手段は、
隣接する二つの文字が所定の距離以上に離隔している場合に前記二つの文字の夫々が異なる領域に含まれるように文書を分割する手段と、
隣接する二つの行が所定の距離以上に離隔している場合に前記二つの行の夫々が異なる領域に含まれるように文書を分割する手段と
を有することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記分割手段は、
隣接する二つの行における文字サイズの比が所定範囲を外れている場合に前記二つの行の夫々が異なる領域に含まれるように文書を分割する手段を有すること
を特徴とする請求項１又は２に記載のデータ処理装置。
【請求項４】
各単語について取得した補足説明を配置したときの長さを、領域毎に設定した文字サイズで当該単語を記録したときの単語の長さ以下にするように、補足説明の文字サイズを領域毎に設定する手段を更に備えること
を特徴とする請求項１から３までのいずれか一つに記載のデータ処理装置。
【請求項５】
複数の行からなる文書を表す画像に対し、文書に含まれる複数の単語の夫々に対する補足説明を、該単語に隣接した行間の位置に付加する方法において、
夫々に複数の文字を含んだ複数の領域に文書を分割し、
単語に対する補足説明を記録したデータベースを用いて、文書に含まれる各単語に対する補足説明を取得し、
文書の文字位置を変更せずに行間に各単語に対する補足説明を付加したときに補足説明が他の文字に重ならないように、文書の文字サイズを領域毎に設定し、
文書中の単語を、文字位置を変更せずに領域毎に設定した文字サイズで記録し、更に文書中の単語に対する補足説明を該単語に隣接した行間の位置に配置した画像を生成すること
を特徴とする補足説明付加方法。
【請求項６】
コンピュータに、複数の行からなる文書を表す画像に対し、文書に含まれる複数の単語の夫々に対する補足説明を、該単語に隣接した行間の位置に付加させるためのコンピュータプログラムにおいて、
コンピュータに、夫々に複数の文字を含んだ複数の領域に文書を分割させる手順と、
コンピュータに、単語に対する補足説明を記録したデータベースを用いて、文書に含まれる各単語に対する補足説明を取得させる手順と、
コンピュータに、文書の文字位置を変更せずに行間に各単語に対する補足説明を付加したときに補足説明が他の文字に重ならないように、文書の文字サイズを領域毎に設定させる手順と、
コンピュータに、文書中の単語を、文字位置を変更せずに領域毎に設定した文字サイズで記録し、更に文書中の単語に対する補足説明を該単語に隣接した行間の位置に配置した画像を生成させる手順と
を含むことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像により表現される文章に対して補足説明を付加する処理を行うデータ処理装置、補足説明付加方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、原稿をスキャンして得られた画像に表現される文書等、電子データで表現される文書に対して、訳文等の文書の内容に関する補足説明を付加する技術が知られており、また補足説明を付加する際に文書中の文字を表示するサイズを調整する技術が記載されている。特許文献１には、文書のレイアウトの維持を前提として、文書の行間に訳文を付加するために、１行毎に行間のスペースを求め、求めた行間のスペースが訳文を付加するには狭すぎる場合には、文書の文字フォントをよりサイズの小さい文字フォントに変換する技術が記載されている。また特許文献１には、文書中の任意の単語に対して、行間に訳語を付加する技術も記載されている。また特許文献２には、一行毎ではなく段落毎に訳文を文書に付加する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−１２１５３９号公報
【特許文献２】特開平７−１４１３７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の技術では、文書に訳文を付加した際に同一段落内で訳文を付加した行と訳文を付加していない行とが存在する場合に、各行の文字サイズにばらつきが生じることがある。また単語に訳語を付加した際に同一行内に訳語を付加した単語と訳語を付加していない行とが存在する場合に、各単語の文字サイズにばらつきが生じることがある。即ち、特許文献１に記載の技術を利用して文書に補足説明を付加した場合は、段落内又は行内で文字サイズにばらつきが生じることによって閲覧性が悪化することがあるという問題がある。また特許文献２に記載技術では、文字サイズの変更ができず、また、段落毎に補足説明を付加するので文書のレイアウトが維持できないという問題がある。
【０００５】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、文書のレイアウトを維持しながら、訳語等の補足説明を付加した文書の閲覧性の悪化を抑制することができるデータ処理装置、補足説明付加方法、及びコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明に係るデータ処理装置は、複数の行からなる文書を表す画像に対し、文書に含まれる複数の単語の夫々に対する補足説明を、該単語に隣接した行間の位置に付加する処理を行うデータ処理装置において、単語に対する補足説明を記録したデータベースと、夫々に複数の文字を含んだ複数の領域に文書を分割する分割手段と、文書に含まれる各単語に対する補足説明を、前記データベースから取得する手段と、文書の文字位置を変更せずに行間に各単語に対する補足説明を付加したときに補足説明が他の文字に重ならないように、文書の文字サイズを領域毎に設定する手段と、文書中の単語を、文字位置を変更せずに領域毎に設定した文字サイズで記録し、更に文書中の単語に対する補足説明を該単語に隣接した行間の位置に配置した画像を生成する手段とを備えることを特徴とする。
【０００７】
本発明に係るデータ処理装置は、前記分割手段は、隣接する二つの文字が所定の距離以上に離隔している場合に前記二つの文字の夫々が異なる領域に含まれるように文書を分割する手段と、隣接する二つの行が所定の距離以上に離隔している場合に前記二つの行の夫々が異なる領域に含まれるように文書を分割する手段とを有することを特徴とする。
【０００８】
本発明に係るデータ処理装置は、前記分割手段は、隣接する二つの行における文字サイズの比が所定範囲を外れている場合に前記二つの行の夫々が異なる領域に含まれるように文書を分割する手段を有することを特徴とする。
【０００９】
本発明に係るデータ処理装置は、各単語について取得した補足説明を配置したときの長さを、領域毎に設定した文字サイズで当該単語を記録したときの単語の長さ以下にするように、補足説明の文字サイズを領域毎に設定する手段を更に備えることを特徴とする。
【００１０】
本発明に係る補足説明付加方法は、複数の行からなる文書を表す画像に対し、文書に含まれる複数の単語の夫々に対する補足説明を、該単語に隣接した行間の位置に付加する方法において、夫々に複数の文字を含んだ複数の領域に文書を分割し、単語に対する補足説明を記録したデータベースを用いて、文書に含まれる各単語に対する補足説明を取得し、文書の文字位置を変更せずに行間に各単語に対する補足説明を付加したときに補足説明が他の文字に重ならないように、文書の文字サイズを領域毎に設定し、文書中の単語を、文字位置を変更せずに領域毎に設定した文字サイズで記録し、更に文書中の単語に対する補足説明を該単語に隣接した行間の位置に配置した画像を生成することを特徴とする。
【００１１】
本発明に係るコンピュータプログラムは、コンピュータに、複数の行からなる文書を表す画像に対し、文書に含まれる複数の単語の夫々に対する補足説明を、該単語に隣接した行間の位置に付加させるためのコンピュータプログラムにおいて、コンピュータに、夫々に複数の文字を含んだ複数の領域に文書を分割させる手順と、コンピュータに、単語に対する補足説明を記録したデータベースを用いて、文書に含まれる各単語に対する補足説明を取得させる手順と、コンピュータに、文書の文字位置を変更せずに行間に各単語に対する補足説明を付加したときに補足説明が他の文字に重ならないように、文書の文字サイズを領域毎に設定させる手順と、コンピュータに、文書中の単語を、文字位置を変更せずに領域毎に設定した文字サイズで記録し、更に文書中の単語に対する補足説明を該単語に隣接した行間の位置に配置した画像を生成させる手順とを含むことを特徴とする。
【００１２】
本発明においては、データ処理装置は、画像で表現された文書を複数の領域に分割し、文書中の単語に対する訳語等の補足説明をデータベースを用いて取得し、行間に配置した補足説明が文書中の文字に重ならないように文書の文字サイズを領域毎に設定し、設定した文字サイズで文書中の単語を記録して各単語に隣接する行間の位置に補足説明を付加した画像を生成する。生成した画像で表現された文書中では、文字サイズは領域毎に定められるので、各領域内では文書中の文字は一定の文字サイズで記録され、段落内又は行内で文字サイズにばらつきが生じることがない。
【００１３】
また本発明においては、データ処理装置は、段組等の文書中で互いに離隔した夫々の部分、又は互いに文字サイズが異なる夫々の部分が互いに異なる領域に含まれるように分割する。文書中で互いに離隔した部分の間、又は最初から互いに文字サイズが異なる部分の間では、文字サイズが変更されたとしても、文書の閲覧性は悪化し難く、閲覧性が保たれる。
【００１４】
また本発明においては、データ処理装置は、単語に隣接して画像中で配置される補足説明の長さが単語の長さ以下の大きさとなるように補足説明の文字サイズを領域毎に設定する。このため、各領域内で補足説明は一定の文字サイズで記録され、単語と補足説明との対応関係が明確になる。
【発明の効果】
【００１５】
本発明にあっては、各単語に対する訳語等の補足説明を付加した文書中では、本文の文字及び補足説明の文字サイズは領域毎に定められるので、領域内で文字サイズにばらつきが生じることがなく、また、文書中に含まれる単語は位置を変更せずに文字サイズのみが調整されて行間に補足説明が付加されるので、文書のレイアウトが維持される。従って、訳語等の補足説明を付加した後でも、文書の閲覧性の悪化が抑制される等、本発明は優れた効果を奏する。
【図面の簡単な説明】
【００１６】
【図１】実施の形態１に係る本発明のデータ処理装置の内部の機能構成を示すブロック図である。
【図２】行処理データ生成部が生成する行処理データの構成を示す概念図である。
【図３】領域データ生成部が生成する領域データの構成を示す概念図である。
【図４】実施の形態１に係るデータ処理装置が実行する処理の手順を示すフローチャートである。
【図５】ステップＳ３の分割処理の手順を示すフローチャートである。
【図６】行処理データ生成処理で用いる段組データの構成を示す概念図である。
【図７】行処理データ生成処理で用いる単語データの構成を示す概念図である。
【図８】行処理データ生成処理で用いる現文字データの構成を示す概念図である。
【図９】行処理データ生成処理で用いる直前文字データの構成を示す概念図である。
【図１０】ステップＳ３３の行処理データ生成処理の手順を示すフローチャートである。
【図１１】ステップＳ３３０８の処理対象となる１行の例を示す模式図である。
【図１２】ステップＳ３３１１及びステップＳ３３１３の処理対象となる文字列の例を示す模式図である。
【図１３】ステップＳ３３０１６の単語データ生成処理の手順を示すフローチャートである。
【図１４】ステップＳ３４の領域データ生成処理の手順を示すフローチャートである。
【図１５】文書中の領域の例を示す模式図である。
【図１６】ステップＳ４の出力データ生成処理の手順を示すフローチャートである。
【図１７】ステップＳ４９のサイズ設定処理の手順を示すフローチャートである。
【図１８】実施の形態２に係る本発明のデータ処理装置の内部構成を示すブロック図である。
【発明を実施するための形態】
【００１７】
以下本発明をその実施の形態を示す図面に基づき具体的に説明する。
（実施の形態１）
図１は、実施の形態１に係る本発明のデータ処理装置の内部の機能構成を示すブロック図である。データ処理装置は、文書原稿を読み取り、文書に含まれる単語の訳語、読み仮名、発音記号又は単語の意味を説明する注釈等の単語に対する補足説明を付加した文書を出力する処理を行う装置である。データ処理装置は、演算を行うＣＰＵ、データ処理装置の動作に必要な制御プログラムを記憶するＲＯＭ、及び演算に伴う一時的なデータを記憶するＲＡＭ等からなる制御部１１を備えている。制御部１１は、データ処理装置の各部の動作を制御する。制御部１１には、文書原稿に記録された画像を光学的に読み取って画像データを生成する画像読取部１２、及び画像読取部１２が生成した画像データを記憶する画像データ記憶部１３が接続されている。また制御部１１には、画像データにより表現される画像が表す文書に含まれる文字を認識する処理を行う文字認識部１４と、文字認識部１４が認識した文字の文書内での座標を示す情報、及び文字の内容を示す情報を含む文字データを記憶する文字データ記憶部１５が接続されている。
【００１８】
またデータ処理装置は、画像に表現される文書を夫々に複数の文字を含んだ複数の領域に分割する分割処理を行う分割処理部２を備えている。分割処理部２は、文書に含まれる各行の位置及び内容を示す行処理データを生成する行処理データ生成部２２と、行に含まれる各単語の位置及び内容を示す単語データを生成する単語データ生成部２３と、生成された行処理データを記憶する行処理データ記憶部２１とを有している。また分割処理部２は、行処理データから、文書中の各領域の位置及び内容を示す領域データを生成する領域データ生成部２４と、領域データを生成するために、行処理データの一部又は全部を既存の領域データと比較する処理を行う領域比較部２５とを有している。またデータ処理装置は、領域データ記憶部１６を備えており、領域データ記憶部１６は、領域データ生成部２４が生成した領域データを記憶する。
【００１９】
またデータ処理装置は、領域データから、出力すべき画像を表現するための出力データを生成する出力データ生成部３を備えている。出力データ生成部３は、出力データを生成する処理を行う出力データ生成処理部３１と、文書中の文字のサイズを原文から縮小する縮小比を設定する縮小比設定部３２と、文書中の各単語に対する補足説明の文字サイズを設定する文字サイズ設定部３３とを有している。また出力データ生成部３は、単語の訳語、読み仮名、発音記号又は単語の意味を説明する注釈等、単語に対する補足説明を記録した単語データベース３５と、単語データベース３５から各単語に対する補足説明を検索して取得するデータベース検索部３４とを有している。またデータ処理装置は、出力データに基づいた画像を表示するディスプレイ、画像をシート上に形成する画像形成部、又は画像を表す画像データを外部へ送信する送信部等の、出力データ生成部３が生成した出力データに基づいた画像を出力する出力部１７を備えている。
【００２０】
次に、本実施の形態に係るデータ処理装置が実行する本発明の補足説明付加方法を説明する。図２は、行処理データ生成部２２が生成する行処理データの構成を示す概念図である。行処理データは、文書に含まれる各行の位置及び内容を示すデータであり、最終的には、文書に含まれる行数と同じ数の行処理データが生成される。一般的な文書は一又は複数の段組を含んで構成されているので、文書中の任意の一つの行は、複数の段組に亘っている可能性がある。一つの行が複数の段組に亘っている場合、この行は複数の段組の夫々に含まれる段組部分からなる。行処理データは、一又は複数の段組部分の位置及び内容を示す段組データからなり、各段組データが記憶された位置を示すポインタを含む。図２中には、Ｎ番目の段組データへのポインタを「段組＿Ｎ」と示している。
【００２１】
ポインタ段組＿Ｎにより指定されるデータは、Ｎ番目の段組部分の位置及び内容を示す段組データである。Ｎ番目の段組データは、Ｎ番目の段組部分の左端の座標を示す座標データｓＮｘ１、右端の座標を示す座標データｓＮｘ２、上底の座標を示す座標データｓＮｙ１、及び下底の座標を示す座標データｓＮｙ２を含む。更にＮ番目の段組データは、Ｎ番目の段組部分をなす文字列の内容を示すデータｓｅｎｔ＿Ｎと、Ｎ番目の段組部分に含まれる単語を表すデータが記憶された位置を示すポインタｗｏｒｄ＿Ｎとを含む。ポインタｗｏｒｄ＿Ｎにより指定されるデータは、Ｎ番目の段組部分に含まれる複数の単語の位置及び内容を示す単語データであり、単語データは、複数の単語の夫々の位置及び内容を示すデータが記憶された位置を示すポインタを含む。図２中では、Ｎ番目の段組部分に含まれるＫ番目の単語に係るデータへのポインタを「ｓＮｗＫ」と示している。ポインタｓＮｗＫにより指定されるデータは、Ｎ番目の段組部分に含まれるＫ番目の単語の位置及び内容を示すデータである。Ｋ番目の単語に係るデータは、Ｋ番目の単語の左端の座標を示す座標データｓＮｗＫｘ１、右端の座標を示す座標データｓＮｗＫｘ２、上底の座標を示す座標データｓＮｗＫｙ１、及び下底の座標を示す座標データｓＮｗＫｙ２を含む。更にＫ番目の単語に係るデータは、Ｋ番目の単語の綴りの内容を示すデータｓＮ＿ｓｐｅｌ＿Ｋと、Ｋ番目の単語に対する補足説明の内容を示すデータｓＮ＿ｎｏｔｅ＿Ｋとを含む。
【００２２】
図３は、領域データ生成部２４が生成する領域データの構成を示す概念図である。領域は、一又は複数の文章を含んでおり、文書中で他の領域から一定の距離以上離隔して配置されている文のまとまりである。例えば、文書が複数の段組を用いて構成されている場合、段組は夫々に領域となり、一つの行は複数の領域の夫々に含まれる部分からなる可能性がある。領域データは、文書に含まれる各領域の位置及び内容を示すデータであり、最終的には、文書に含まれる領域の数と同じ数の領域データが生成される。領域データは、領域に含まれる文字列の行数ＬＣと、領域に含まれる各行の位置及び内容を示す行データが記憶された位置を示すポインタｌ１，ｌ２，…，ｌｎ，…とを含む。更に領域データは、領域の文書内での位置を示すデータが記憶された位置を示すポインタｇｉｎｆｏ、領域での文字サイズを原文から縮小する縮小比を示す情報ｂ＿ｓｉｚｅ、及び領域に追加する補足説明の文字サイズを示す情報ｒ＿ｓｉｚｅを含む。
【００２３】
ｎ番目の行に係るデータへのポインタｌｎにより指定される行データは、ｎ番目の行の左端の座標を示す座標データｌｎｘ１、右端の座標を示す座標データｌｎｘ２、上底の座標を示す座標データｌｎｙ１、及び下底の座標を示す座標データｌｎｙ２を含む。更にポインタｌｎにより指定されるデータは、ｎ番目の行に含まれる文字列の内容を示すデータｓｅｎｔ＿ｎと、ｎ番目の行に含まれる単語を表す単語データが記憶された位置を示すポインタｗｏｒｄ＿ｎと、ｎ番目の行間スペースの大きさを示す情報ｓｐｃ＿ｎとを含む。ポインタｗｏｒｄ＿ｎにより指定されるデータは、ｎ番目の行に含まれる複数の単語の位置及び内容を示す単語データであり、単語データは、複数の単語の夫々の位置及び内容を示すデータが記憶された位置を示すポインタを含む。図３中では、ｋ番目の単語に係るデータへのポインタを「ｌｎｗｋ」と示している。ポインタｌｎｗｋにより指定されるデータは、ｎ番目の行に含まれるｋ番目の単語の位置及び内容を示すデータである。ｋ番目の単語に係るデータは、ｋ番目の単語の左端の座標を示す座標データｌｎｗｋｘ１、右端の座標を示す座標データｌｎｗｋｘ２、上底の座標を示す座標データｌｎｗｋｙ１、及び下底の座標を示す座標データｌｎｗｋｙ２を含む。更にｋ番目の単語に係るデータは、ｋ番目の単語の綴りの内容を示すデータｌｎ＿ｓｐｅｌ＿ｋと、ｋ番目の単語に対する補足説明の内容を示すデータｌｎ＿ｎｏｔｅ＿ｋとを含む。更にポインタｇｉｎｆｏにより指定されるデータは、領域の左端の座標を示す座標データａｘ１、右端の座標を示す座標データａｘ２、上底の座標を示す座標データａｙ１、及び下底の座標を示す座標データａｙ２を含む。複数の領域データは、領域データ記憶部１６に記憶され、各領域データは、記憶された位置を示すポインタで参照される。
【００２４】
図４は、実施の形態１に係るデータ処理装置が実行する処理の手順を示すフローチャートである。データ処理装置は、画像読取部１２で、文書原稿に記録された画像を光学的に読み取ることによって画像データを生成する（Ｓ１）。画像読取部１２が生成した画像データは画像データ記憶部１３が記憶する。次に、文字認識部１４は、画像データ記憶部１３から画像データを読み出し、画像データにより表現される画像内に含まれる文字を認識する処理を行う（Ｓ２）。ステップＳ２の処理では、画像データにより表現される画像に含まれる文字の内容と、画像が表す文書中での各文字の位置とが取得される。画像が表す文書は認識された複数の文字で構成され、各文字の位置は、文書中での各文字の左端、右端、上底及び下底の座標を示す座標データで表される。本実施の形態では、文書の上端左端を原点とし、右向きを横軸の正の向きとし、下向きを縦軸の正の向きとした例を示す。なお、座標軸の取り方は任意であり、上向きを縦軸の正の向きとする等、その他の座標を用いて処理を行ってもよい。ステップＳ２で認識された各文字の位置及び内容を示す文字データは、文字データ記憶部１５が記憶する。
【００２５】
分割処理部２は、認識した文字からなる文書を複数の領域に分割し、各領域の位置及び内容を示す領域データを生成する分割処理を行う（Ｓ３）。分割処理の詳細は後述する。分割処理部２が生成した領域データは、領域データ記憶部１６が記憶する。次に、出力データ生成部３は、単語に対する補足説明を文書に追加し、本文の文字サイズ及び補足説明の文字サイズを領域毎に調整した出力データを生成する出力データ生成処理を行う（Ｓ４）。出力データ生成処理の詳細は後述する。データ処理装置は、次に、出力部１７で、生成した出力データに基づいた画像を生成し、生成した画像を出力する処理を行い（Ｓ５）、処理を終了する。
【００２６】
図５は、ステップＳ３の分割処理の手順を示すフローチャートである。分割処理では、文書のレイアウトにおいて夫々に文字がかたまって配置された複数の領域に、文書を分割する。分割処理部２は、文字データ記憶部１５に記憶された文字データを参照し、未処理の文字データがあるか否かを判定する（Ｓ３１）。未処理の文字データがある場合は（Ｓ３１：ＹＥＳ）、分割処理部２は、文字データ記憶部１５から未処理の文字データを１行分取得する（Ｓ３２）。ステップＳ３２では、分割処理部２は、文書中で上側から順番に未処理の文字データを１行分取得する。分割処理部２内の行処理データ生成部２２は、次に、取得した文字データで表現される文字からなる行の位置及び内容を示す行処理データを生成する行処理データ生成処理を行う（Ｓ３３）。行処理データ生成処理の詳細は後述する。行処理データ生成部２２が生成した行処理データは、行処理データ記憶部２１が記憶する。次に、領域データ生成部２４は、行処理データを既存の領域データと比較し、行処理データを既存の領域データに組み込むか、又は行処理データから新たな領域データを生成する領域データ生成処理を行う（Ｓ３４）。領域データ生成処理の詳細は後述する。領域データ生成部２４が生成した領域データは、領域データ記憶部１６が記憶する。ステップＳ３４が終了した後は、分割処理部２は、処理をステップＳ３１へ戻す。ステップＳ３１で未処理の文字データがない場合は（Ｓ３１：ＮＯ）、分割処理部２は、処理をメインの処理へ戻す。
【００２７】
ステップＳ３３の行処理データ生成処理では、ステップＳ３２で取得した１行分の文字データを左端の文字から順番に処理していくことにより、行処理データを生成する。図６は、行処理データ生成処理で用いる段組データの構成を示す概念図である。段組データは、処理対象の段組部分の位置及び内容を示すデータであり、左端の座標を示す座標データｓｘ１、右端の座標を示す座標データｓｘ２、上底の座標を示す座標データｓｙ１、下底の座標を示す座標データｓｙ２、及び段組部分をなす文字列の内容を示すデータｓｅｎｔを含む。図７は、行処理データ生成処理で用いる単語データの構成を示す概念図である。単語データは、処理対象の段組部分に含まれる複数の単語の位置及び内容を示すデータであり、単語データは、複数の単語の夫々の位置及び内容を示すデータが記憶された位置を示すポインタを含む。図７中では、Ｋ番目の単語に係るデータへのポインタを「ｗＫ」と示している。ポインタｗＫにより指定されるデータは、Ｋ番目の単語の位置及び内容を示すデータである。Ｋ番目の単語に係るデータは、Ｋ番目の単語の左端の座標を示す座標データｗＫｘ１、右端の座標を示す座標データｗＫｘ２、上底の座標を示す座標データｗＫｙ１、及び下底の座標を示す座標データｗＫｙ２を含む。更にＫ番目の単語に係るデータは、Ｋ番目の単語の綴りの内容を示すデータｓｐｅｌ＿Ｋと、Ｋ番目の単語に対する補足説明の内容を示すデータｎｏｔｅ＿Ｋとを含む。
【００２８】
図８は、行処理データ生成処理で用いる現文字データの構成を示す概念図である。現文字データは、処理対象の文字の位置及び内容を示すデータである。現文字データは、文字の左端の座標を示す座標データｗｘ１、右端の座標を示す座標データｗｘ２、上底の座標を示す座標データｗｙ１、下底の座標を示す座標データｗｙ２、及び文字の内容を示すデータｗを含む。図９は、行処理データ生成処理で用いる直前文字データの構成を示す概念図である。直前文字データは、処理対象の文字の直前にある文字、即ち、処理対象の文字の左隣にある文字の位置及び内容を示すデータである。直前文字データは、処理対象の文字の直前にある文字の左端の座標を示す座標データｐｘ１、右端の座標を示す座標データｐｘ２、上底の座標を示す座標データｐｙ１、下底の座標を示す座標データｐｙ２、及び文字の内容を示すデータｐを含む。
【００２９】
図１０は、ステップＳ３３の行処理データ生成処理の手順を示すフローチャートである。行処理データ生成部２２は、まず、行処理データ、段組データ、単語データ、現文字データ及び直前文字データの初期化を行う（Ｓ３３０１）。行処理データ生成部２２は、次に、ステップＳ３２で取得した１行分の文字データに、未処理の文字データがあるか否かを判定する（Ｓ３３０２）。未処理の文字データがある場合は（Ｓ３３０２：ＹＥＳ）、行処理データ生成部２２は、未処理の文字データから左端の文字に対応する１文字分の文字データを取得し、取得した文字データを現文字データへ代入する（Ｓ３３０３）。ステップＳ３３０３では、取得した文字データに含まれる左端、右端、上底及び下底の座標データを、夫々ｗｘ１、ｗｘ２、ｗｙ１及びｗｙ２へ代入し、文字の内容を示すデータをｗへ代入する。行処理データ生成部２２は、次に、現文字データが示す文字は行の先頭文字であるか否かを判定する（Ｓ３３０４）。ステップＳ３３０４は、直前文字データにデータが存在するか否かによって判定する。即ち、直前文字データが初期化された状態のままで直前文字データにデータが存在しない場合は、現文字データが示す文字は行の先頭文字である。
【００３０】
ステップＳ３３０４で現文字データが示す文字が行の先頭文字である場合は（Ｓ３３０４：ＹＥＳ）、行処理データ生成部２２は、現文字データを段組データへ代入する（Ｓ３３０５）。即ち、ステップＳ３３０５では、ｓｘ１＝ｗｘ１、ｓｘ２＝ｗｘ２、ｓｙ１＝ｗｙ１、ｓｙ２＝ｗｙ２、及びｓｅｎｔ＝ｗとする処理を行う。次に、単語データ生成部２３は、処理対象の文字を含む単語を表す単語データを生成する単語データ生成処理を行う（Ｓ３３０６）。単語データ生成処理の詳細は後述する。行処理データ生成部２２は、次に、現文字データを直前文字データへ代入し（Ｓ３３０７）、処理をステップＳ３３０２へ戻す。ステップＳ３３０７では、ｐｘ１＝ｗｘ１、ｐｘ２＝ｗｘ２、ｐｙ１＝ｗｙ１、ｐｙ２＝ｗｙ２、及びｐ＝ｗとする処理を行う。
【００３１】
ステップＳ３３０４で現文字データが示す文字が行の先頭文字ではない場合は（Ｓ３３０４：ＮＯ）、行処理データ生成部２２は、直前文字の右端と現文字の左端と間の距離が予め定めてある閾値Ａよりも大きいか否かを判定する（Ｓ３３０８）。ステップＳ３３０８では、（ｐｘ２−ｗｘ１）＞Ａであるか否かを判定する。閾値Ａの値は、単語間のスペースの距離よりも大きく、文書で用いられる段組が横軸方向に離隔した距離の最小値より若干小さい値に定められている。図１１は、ステップＳ３３０８の処理対象となる１行の例を示す模式図である。図１１には、１行が四つの単語「Ａｂｃ」、「ｄｅ］、「ｆｇ」及び「ｈｉｊ」からなり、破線で囲まれた現文字がｆである例を示す。また図１１（ａ）は、１行が一つの段組部分からなる例を示し、図１１（ｂ）は、「Ａｂｃ」及び「ｄｅ］を含む段組部分と、「ｆｇ」及び「ｈｉｊ」を含む段組部分とに１行が分割される例を示している。図１１（ａ）に示すように、現文字ｆと直前文字ｅとの距離が閾値Ａ以下である場合は、直前文字が含まれる段組部分に現文字ｆも含まれる。図１１（ｂ）に示すように、現文字ｆと直前文字ｅとの距離が閾値Ａより大きい場合は、現文字ｆは、直前文字が含まれる段組部分とは別の段組部分に含まれることになる。
【００３２】
ステップＳ３３０８で直前文字の右端と現文字の左端と間の距離が閾値Ａよりも大きい場合は（Ｓ３３０８：ＹＥＳ）、行処理データ生成部２２は、単語データ及び段組データを行処理データへ追加する（Ｓ３３０９）。この場合は、直前文字が含まれる段組部分とは別の段組に現文字が含まれる場合であるので、直前文字が含まれる段組部分を表す段組データをステップＳ３３０９で完成させる。ステップＳ３３０９では、行処理データに含ませる新たなＮ番目の段組データのｓＮｘ１、ｓＮｘ２、ｓＮｙ１、ｓＮｙ２及びｓｅｎｔ＿Ｎへ、段組データのｓｘ１、ｓｘ２、ｓｙ１、ｓｙ２及びｓｅｎｔを夫々代入する。またポインタｗｏｒｄ＿Ｎが示す位置には、単語データを記憶させる。図１１（ｂ）に示す例では、「Ａｂｃ」が１番目の段組部分に含まれる１番目の単語になり、「ｄｅ」が２番目の単語となる。次に、行処理データ生成部２２は、単語データ及び段組データを初期化し（Ｓ３３１０）、処理をステップＳ３３０５へ進める。ステップＳ３３１０以降の処理により、現文字を含む段組部分を表す段組データが生成される。
【００３３】
ステップＳ３３０８で直前文字の右端と現文字の左端と間の距離が閾値Ａ以下である場合は（Ｓ３３０８：ＮＯ）、行処理データ生成部２２は、段組部分の上底が現文字の上底よりも下にあるか否かを判定する（Ｓ３３１１）。この場合は、図１１（ａ）に示すような、段組データが表す段組部分に現文字が含まれる場合である。ステップＳ３３１１では、ｓｙ１＞ｗｙ１であるか否かを判定する。段組部分の上底が現文字の上底よりも下にある場合は（Ｓ３３１１：ＹＥＳ）、行処理データ生成部２２は、現文字の上底の座標データを、段組データに含まれる上底の座標データへ代入する（Ｓ３３１２）。即ち、ステップＳ３３１２では、ｓｙ１＝ｗｙ１とする処理を行う。ステップＳ３３１２が終了した後、又はステップＳ３３１１で段組部分の上底が現文字の上底以上にある場合は（Ｓ３３１１：ＮＯ）、行処理データ生成部２２は、段組部分の下底が現文字の下底よりも上にあるか否かを判定する（Ｓ３３１３）。ステップＳ３３１３では、ｓｙ２＜ｗｙ２であるか否かを判定する。段組部分の下底が現文字の下底よりも上にある場合は（Ｓ３３１３：ＹＥＳ）、行処理データ生成部２２は、現文字の下底の座標データを、段組データに含まれる下底の座標データへ代入する（Ｓ３３１４）。即ち、ステップＳ３３１４では、ｓｙ２＝ｗｙ２とする処理を行う。
【００３４】
図１２は、ステップＳ３３１１及びステップＳ３３１３の処理対象となる文字列の例を示す模式図である。図１２には、実線で囲まれた「Ａｂｃ  ｄｅ  ｆ」が段組データが表す段組部分に含まれる文字列であり、破線で囲まれた「ｇ」が現文字である例を示している。図１２に示す例では、ｓｙ１＜ｗｙ１であるので、ステップＳ３３１２の処理は行われない。また図１２に示す例では、ｓｙ２＜ｗｙ２であるので、ステップＳ３３１４の処理が行われる。
【００３５】
ステップＳ３３１４が終了した後、又はステップＳ３３１３で段組部分の下底が現文字の下底以下にある場合は（Ｓ３３１３：ＮＯ）、行処理データ生成部２２は、現文字の右端の座標データを、段組データに含まれる右端の座標データへ代入し、段組データに含まれる文字列に現文字を追加する（Ｓ３３１５）。ステップＳ３３１５では、ｓｘ２＝ｗｘ２とし、ｓｅｎｔにｗを追加する処理を行う。図１２に示す例では、文字列「Ａｂｃ  ｄｅ  ｆ」に「ｇ」を追加する処理を行う。ステップＳ３３１１〜Ｓ３３１５の処理により、段組データは、現文字を含む段組部分を表すように更新される。ステップＳ３３１５が終了した後は、行処理データ生成部２２は、処理をステップＳ３３０６へ進める。
【００３６】
ステップＳ３３０２で、取得した１行分の文字データに未処理の文字データがない場合は（Ｓ３３０２：ＮＯ）、行処理データ生成部２２は、単語データ及び段組データを行処理データへ追加する（Ｓ３３１６）。ステップＳ３３１６までの処理により、行処理データは完成し、行処理データ生成部２２は、行処理データ生成処理を終了する。分割処理部２は、生成した行処理データを行処理データ記憶部２１に記憶し、処理を分割処理へ戻す。
【００３７】
図１３は、ステップＳ３３０６の単語データ生成処理の手順を示すフローチャートである。単語データ生成部２３は、まず、現文字は段組部分の先頭文字であるか否かを判定する（Ｓ３３０６１）。ステップＳ３３０６１は、段組部分に含まれる単語の先頭からの順番を示すｋの値が０であるか否かによって判定する。ｋ＝０である場合は、単語データは初期化されており、現文字は段組部分の先頭文字である。現文字が段組部分の先頭文字である場合は（Ｓ３３０６１：ＹＥＳ）、単語データ生成部２３は、ｋ＝１とし、現文字データを、単語データに含まれる先頭の単語のデータへ代入する（Ｓ３３０６２）。即ち、ステップＳ３３０６２では、ｗ１ｘ１＝ｗｘ１、ｗ１ｘ２＝ｗｘ２、ｗ１ｙ１＝ｗｙ１、ｗ１ｙ２＝ｗｙ２、及びｓｐｅｌ＿１＝ｗとする処理を行う。単語データ生成部２３は、次に、単語データ生成処理を終了し、処理を行処理データ生成処理へ戻す。
【００３８】
ステップＳ３３０６１で、現文字が段組部分の先頭文字ではない場合は（Ｓ３３０６１：ＮＯ）、単語データ生成部２３は、直前文字の右端と現文字の左端との間の距離が予め定めてある閾値Ｂよりも大きいか否かを判定する（Ｓ３３０６３）。この場合は、ｋ≠０の場合である。ステップＳ３３０６３では、（ｐｘ２−ｗｘ１）＞Ｂであるか否かを判定する。閾値Ｂの値は、単語中の文字間の距離よりも大きい値であり、単語間のスペースの距離よりも若干小さい値に定められている。（ｐｘ２−ｗｘ１）＞Ｂであれば直前文字と現文字とは異なる単語に含まれる文字であり、（ｐｘ２−ｗｘ１）≦Ｂであれば直前文字と現文字とは同一の単語に含まれる文字である。
【００３９】
ステップＳ３３０６３で直前文字の右端と現文字の左端と間の距離が閾値Ｂよりも大きい場合は（Ｓ３３０６３：ＹＥＳ）、単語データ生成部２３は、ｋをインクリメントし、現文字データを、単語データに含まれるｋ番目の単語のデータへ代入する（Ｓ３３０６４）。即ち、ステップＳ３３０６４では、ｋ＝ｋ＋１、ｗｋｘ１＝ｗｘ１、ｗｋｘ２＝ｗｘ２、ｗｋｙ１＝ｗｙ１、ｗｋｙ２＝ｗｙ２、及びｓｐｅｌ＿ｋ＝ｗとする処理を行う。この場合は、直前文字と現文字とは異なる単語に含まれる場合であるので、ステップＳ３３０６４により、現文字を、直前文字が含まれる単語の次の単語に含ませる。単語データ生成部２３は、次に、単語データ生成処理を終了し、処理を行処理データ生成処理へ戻す。
【００４０】
ステップＳ３３０６３で直前文字の右端と現文字の左端と間の距離が閾値Ｂ以下である場合は（Ｓ３３０６３：ＮＯ）、単語データ生成部２３は、ｋ番目の単語の上底が現文字の上底よりも下にあるか否かを判定する（Ｓ３３０６５）。この場合は、直前文字と現文字とが同一の単語に含まれる場合である。ステップＳ３３０６５では、ｗｋｙ１＞ｗｙ１であるか否かを判定する。ｋ番目の単語の上底が現文字の上底よりも下にある場合は（Ｓ３３０６５：ＹＥＳ）、単語データ生成部２３は、現文字の上底の座標データを、ｋ番目の単語の上底の座標データへ代入する（Ｓ３３０６６）。即ち、ステップＳ３３０６６では、ｗｋｙ１＝ｗｙ１とする処理を行う。ステップＳ３３０６６が終了した後、又はステップＳ３３０６５でｋ番目の単語の上底が現文字の上底以上にある場合は（Ｓ３３０６５：ＮＯ）、単語データ生成部２３は、ｋ番目の単語の下底が現文字の下底よりも上にあるか否かを判定する（Ｓ３３０６７）。ステップＳ３３０６７では、ｗｋｙ２＜ｗｙ２であるか否かを判定する。ｋ番目の単語の下底が現文字の下底よりも上にある場合は（Ｓ３３０６７：ＹＥＳ）、単語データ生成部２３は、現文字の下底の座標データを、ｋ番目の単語の下底の座標データへ代入する（Ｓ３３０６８）。即ち、ステップＳ３３０６８では、ｗｋｙ２＝ｗｙ２とする処理を行う。
【００４１】
ステップＳ３３０６８が終了した後、又はステップＳ３３０６７でｋ番目の単語の下底が現文字の下底以下にある場合は（Ｓ３３０６７：ＮＯ）、単語データ生成部２３は、現文字の右端の座標データを、ｋ番目の単語の右端の座標データへ代入し、ｋ番目の単語の綴りに現文字を追加する（Ｓ３３０６９）。ステップＳ３３０６９では、ｗｋｘ２＝ｗｘ２とし、ｓｐｅｌ＿ｋにｗを追加する処理を行う。ステップＳ３３０６５〜Ｓ３３０６９の処理により、単語データは、現文字を含む単語を表すように更新される。単語データ生成部２３は、次に、単語データ生成処理を終了し、処理を行処理データ生成処理へ戻す。
【００４２】
図１４は、ステップＳ３４の領域データ生成処理の手順を示すフローチャートである。領域データ生成処理では、行処理データに含まれる夫々の段組データについて、既存の領域データと比較し、段組データを既存の領域データに組み込むか、又は新たな領域データを生成する処理を行う。図１５は、文書中の領域の例を示す模式図である。図１５には、横軸方向一杯に配置された領域＿Ａと、横軸方向を四つの部分に分割して配置された領域＿Ｂ、領域＿Ｃ、領域＿Ｄ及び領域＿Ｅとを文書が含む例を示す。各領域を表す領域データは、領域データ記憶部１６に記憶される。また図１５には、領域データと比較すべき段組部分データが表す段組部分の配置状態を示している。
【００４３】
領域データ生成部２４は、行処理データ記憶部２１に記憶した行処理データに、未処理の段組データが含まれているか否かを判定する（Ｓ３４０１）。行処理データに未処理の段組データが含まれている場合は（Ｓ３４０１：ＹＥＳ）、領域データ生成部２４は、行処理データに含まれる未処理の段組データの内、１件の段組データを取得する（Ｓ３４０２）。領域データ生成部２４は、次に、領域データ記憶部１６で記憶する領域データに、ステップＳ３４０２で取得した段組データと比較していない領域データがあるか否かを判定する（Ｓ３４０３）。段組データと比較していない領域データがある場合に（Ｓ３４０３：ＹＥＳ）、領域データ生成部２４は、段組データと比較していない領域データの内、１件の領域データを取得する（Ｓ３４０４）。
【００４４】
以降の処理で、領域比較部２５は、ステップＳ３４０２で取得した段組データと、ステップＳ３４０４で取得した領域データとの比較を行う。領域比較部２５は、まず、領域データに含まれる最終行の行間スペースの値が存在せず、しかも領域の最終行の下底が段組部分の上底よりも上にあるという条件が満たされるか否かを判定する（Ｓ３４０５）。ステップＳ３４０５では、領域データに含まれるｓｐｃ＿ＬＣがｓｐｃ＿ＬＣ＜０であり、しかもｓｙ１＞ｌＬＣｙ２である条件を満たすか否かを判定する。ステップＳ３４０５の条件が満たされる場合は（Ｓ３４０５：ＹＥＳ）、領域データ生成部２４は、領域の最終行の下底と段組部分の上底との間の距離を、領域データに含まれる最終行の行間スペースへ代入する（Ｓ３４０６）。ステップＳ３４０６では、ｓｐｃ＿ＬＣ＝（ｓｙ１−ｌＬＣｙ２）とする処理を行う。
【００４５】
ステップＳ３４０６が終了した後、又はステップＳ３４０５の条件が満たされない場合は（Ｓ３４０５：ＮＯ）、領域比較部２５は、領域の最終行の下底が段組部分の上底よりも上であり、しかも領域の最終行の下底と段組部分の上底との間の距離が閾値Ｃより小さいか否かを判定する（Ｓ３４０７）。ステップＳ３４０７では、具体的には、０＜（ｓｙ１−ｌＬＣｙ２）＜Ｃであるか否かを判定する。閾値Ｃの値は、文書中に段組を配置した場合における縦軸方向の段組間の距離の値に定められている。領域の最終行の下底と段組部分の上底との間の距離が閾値Ｃ以上である場合は、領域と段組部分とは縦軸方向に段組間の距離以上に大きく離れており、段組部分は領域に含まれない。例えば、図１５に示すように、段組部分は領域＿Ａから縦軸方向に大きく離れているので、段組部分は領域＿Ａに含まれない。また領域の最終行の下底が段組部分の上底以下である場合は、領域及び段組部分の縦軸方向の位置が重なり、段組部分は領域とは横軸方向に離れた位置にあることが明らかであるので、段組部分は領域に含まれない。例えば、図１５に示すように、段組部分の上底は領域＿Ｂの下底より上であり、段組部分は領域＿Ｂに含まれない。このように、ステップＳ３４０７の条件が満たされない場合は、段組部分は比較対象の領域には含まれないことが明らかとなり、逆にステップＳ３４０７の条件が満たされる場合は、段組部分は比較対象の領域に含まれる可能性がある。
【００４６】
ステップＳ３４０７の条件が満たされない場合は（Ｓ３４０７：ＮＯ）、領域データ生成部２４は、処理をステップＳ３４０３へ戻す。ステップＳ３４０７の条件が満たされる場合は（Ｓ３４０７：ＹＥＳ）、領域比較部２５は、段組部分と領域との文字サイズの比が閾値ｄ〜閾値Ｄの間に存在するか否かを判定する（Ｓ３４０８）。ステップＳ３４０８では、段組部分での文字サイズとして段組部分の下底と上底との差（ｓｙ２−ｓｙ１）を用い、領域での文字サイズとして領域の最終行の下底と上底との差（ｌＬＣｙ２−ｌＬＣｙ１）を用いる。具体的には、ステップＳ３４０８では、ｄ＜（ｌＬＣｙ２−ｌＬＣｙ１）／（ｓｙ２−ｓｙ１）＜Ｄであるか否かを判定する。閾値ｄの値は、０より大きく１より若干小さい値に定められ、閾値Ｄの値は１より若干大きい値に定められている。ステップＳ３４０８の条件が満たされない場合は、段組部分と領域とで文字サイズが大きく異なり、段組部分は領域に含まれない。例えば、図１５に示すように、領域＿Ｃでの文字サイズは段組部分での文字サイズよりも大幅に小さいので、段組部分は領域＿Ｃには含まれない。ステップＳ３４０８の条件が満たされる場合は、段組部分は比較対象の領域に含まれる可能性がある。
【００４７】
ステップＳ３４０８で段組部分と領域との文字サイズの比が閾値ｄ〜閾値Ｄの間に存在しない場合は（Ｓ３４０８：ＮＯ）、領域データ生成部２４は、処理をステップＳ３４０３へ戻す。ステップＳ３４０８で段組部分と領域との文字サイズの比が閾値ｄ〜閾値Ｄの間に存在する場合は（Ｓ３４０８：ＹＥＳ）、領域比較部２５は、領域の最終行の左端と段組部分の左端との差の絶対値が閾値Ｅより小さいか否かを判定する（Ｓ３４０９）。ステップＳ３４０９では、具体的には、｜ｌＬＣｘ１−ｓｘ１｜＜Ｅであるか否かを判定する。閾値Ｅの値は、段落変更時のインデントの大きさよりも若干大きい値に定められている。ステップＳ３４０９の条件が満たされない場合は、領域の最終行の左端と段組部分の左端との位置が横軸方向に大きくずれており、段組部分は領域に含まれない。例えば、図１５に示すように、領域＿Ｄと段組部分とは横軸方向に大きくずれているので、段組部分は領域＿Ｄには含まれない。また領域＿Ｅの左端と段組部分の左端との間の距離は閾値Ｅよりも小さく、段組部分は領域＿Ｅに含まれることになる。
【００４８】
ステップＳ３４０９で領域の最終行の左端と段組部分の左端との差の絶対値が閾値Ｅ以上である場合は（Ｓ３４０９：ＮＯ）、領域データ生成部２４は、処理をステップＳ３４０３へ戻す。ステップＳ３４０９で領域の最終行の左端と段組部分の左端との差の絶対値が閾値Ｅより小さい場合は（Ｓ３４０９：ＹＥＳ）、領域データ生成部２４は、領域データに含まれる行数に１加算し、最終行に係るデータとして領域データに段組データを追加し、段組部分を領域に含ませるように領域の位置を更新する（Ｓ３４１０）。ステップＳ３４１０では、ＬＣ＝ＬＣ＋１とし、ポインタｌＬＣにより指定されるデータとして段組データを記憶する処理を行う。更にステップＳ３４１０では、ａｘ１＞ｌＬＣｘ１の場合にｌＬＣｘ１をａｘ１へ代入し、ａｘ２＜ｌＬＣｘ２の場合にｌＬＣｘ２をａｘ２へ代入し、ｌＬＣｙ２をａｙ２へ代入する処理を行う。ステップＳ３４１０の処理により、ステップＳ３４０２で取得した段組データは、ステップＳ３４０４で取得した領域データに組み込まれる。ステップＳ３４１０が終了した後は、領域データ生成部２４は、処理をステップＳ３４０１へ戻す。
【００４９】
ステップＳ３４０３で段組データと比較していない領域データがない場合は（Ｓ３４０３：ＮＯ）、領域データ生成部２４は、段組データを含む新たな領域データを生成する（Ｓ３４１１）。この場合は、段組部分が既存のいずれの領域にも含まれない場合である。ステップＳ３４１１では、具体的には、新たな領域データでＬＣ＝１とし、ポインタｌＬＣにより指定されるデータとして段組データを記憶し、ａｘ１＝ｌＬＣｘ１、ａｘ２＝ｌＬＣｘ２、ａｙ１＝ｌＬＣｙ１及びａｙ２＝ｌＬＣｙ２とする処理を行う。ステップＳ３４１１が終了した後は、領域データ生成部２４は、処理をステップＳ３４０１へ戻す。
【００５０】
ステップＳ３４０１で行処理データに未処理の段組データが含まれていない場合は（Ｓ３４０１：ＮＯ）、領域データ生成部２４は、領域データ生成処理を終了し、処理を分割処理へ戻す。領域データ生成処理により、行処理データに含まれる段組データのいずれかが組み込まれた領域データが生成される。生成された領域データは、領域データ記憶部１６に記憶される。
【００５１】
図１６は、ステップＳ４の出力データ生成処理の手順を示すフローチャートである。出力データ生成処理部３１は、領域データ記憶部１６で記憶する領域データに、未処理の領域データがあるか否かを判定する（Ｓ４１）。未処理の領域データがない場合は（Ｓ４１：ＮＯ）、出力データ生成処理部３１は、出力データ生成処理を終了し、処理をメインの処理へ戻す。未処理の領域データがある場合は（Ｓ４１：ＹＥＳ）、出力データ生成処理部３１は、未処理の領域データの内、１件の領域データを取得する（Ｓ４２）。出力データ生成処理部３１は、次に、取得した領域データに含まれる縮小比ｂ＿ｓｉｚｅ及び補足説明の文字サイズｒ＿ｓｉｚｅを初期化する（Ｓ４３）。出力データ生成処理部３１は、次に、領域データに未処理の行データが含まれるか否かを判定する（Ｓ４４）。領域データに未処理の行データが含まれない場合は（Ｓ４４：ＮＯ）、出力データ生成処理部３１は、処理をステップＳ４１へ戻す。
【００５２】
ステップＳ４４で領域データに未処理の行データが含まれる場合は（Ｓ４４：ＹＥＳ）、出力データ生成処理部３１は、未処理の行データの内、１件の行データを取得する（Ｓ４５）。出力データ生成処理部３１は、次に、取得した行データに未処理の単語データが含まれるか否かを判定する（Ｓ４６）。行データに未処理の単語データが含まれない場合は（Ｓ４６：ＮＯ）、出力データ生成処理部３１は、処理をステップＳ４４へ戻す。行データに未処理の単語データが含まれる場合は（Ｓ４６：ＹＥＳ）、出力データ生成処理部３１は、未処理の単語データの内、１件の単語データを取得する（Ｓ４７）。出力データ生成処理部３１は、単語データベース３５及びデータベース検索部３４を用いて、取得した単語データが表す単語に対して、単語の訳語、読み仮名、発音記号又は注釈等の単語に対する補足説明を取得する（Ｓ４８）。ステップＳ４８では、データベース検索部３４は、単語データに含まれる単語の綴りｌｎ＿ｓｐｅｌ＿ｋに基づいて、単語に対する補足説明を単語データベース３５から検索し、出力データ生成処理部３１は、検索結果を単語データのｌｎ＿ｎｏｔｅ＿ｋへ代入することにより、単語に対する補足説明を取得する。出力データ生成部３は、次に、領域での文字サイズを原文から縮小する縮小比、及び領域に追加する補足説明の文字サイズを設定するサイズ設定処理を行う（Ｓ４９）。サイズ設定処理の詳細は後述する。ステップＳ４９が終了した後で、出力データ生成処理部３１は、処理をステップＳ４６へ戻す。
【００５３】
図１７は、ステップＳ４９のサイズ設定処理の手順を示すフローチャートである。出力データ生成処理部３１は、領域における補足説明の文字サイズが設定済みであるか否かを判定する（Ｓ４９０１）。ステップＳ４９０１では、取得している領域データで、補足説明の文字サイズを示す情報ｒ＿ｓｉｚｅに値が記録されているか否かに基づいて判定を行う。ｒ＿ｓｉｚｅに値が記録されておらず、補足説明の文字サイズが未設定である場合は（Ｓ４９０１：ＮＯ）、文字サイズ設定部３３は、単語データに基づき、文書に補足説明を追加したときの補足説明の幅が単語の幅以内に収まるように、補足説明の文字サイズを設定する処理を行う（Ｓ４９０２）。ステップＳ４９０２では、文字サイズ設定部３３は、単語データに含まれる座標データを用い、（ｌｎｗｋｘ２−ｌｎｗｋｘ１）により単語の幅を計算し、ｌｎ＿ｎｏｔｅ＿ｋで示される補足説明の内容に基づいて仮の文字サイズでの補足説明の文字列を生成し、補足説明の幅が単語の幅以内に収まるように文字サイズを定める。なお、文字サイズ設定部３３は、ステップＳ４９０２で、単語データに含まれるｌｎ＿ｓｐｅｌ＿ｋ及びｌｎ＿ｎｏｔｅ＿ｋから単語及び補足説明の文字数をカウントし、カウントした文字数に応じて補足説明の文字サイズを定める処理を行ってもよい。例えば、補足説明の文字数が単語の文字数以下である場合に補足説明の文字サイズを単語と同一の文字サイズとし、補足説明の文字数が単語の文字数より多い場合に単語の文字サイズを文字数の比で割った値を補足説明の文字サイズとしてもよい。設定した補足説明の文字サイズは、文字サイズ設定部３３が一旦記憶する。
【００５４】
ステップＳ４９０１で補足説明の文字サイズが設定済みである場合は（Ｓ４９０１：ＹＥＳ）、出力データ生成処理部３１は、設定済みの文字サイズで補足説明の文字列を生成する処理を行う（Ｓ４９０３）。ステップＳ４９０３では、領域データに含まれるｒ＿ｓｉｚｅが示す文字サイズで、単語データに含まれるｌｎ＿ｎｏｔｅ＿ｋが示す補足説明の内容を文字列で表した補足説明の文字列を生成する。出力データ生成処理部３１は、次に、生成した補足説明の文字列の幅を計算し、（ｌｎｗｋｘ２−ｌｎｗｋｘ１）により単語の幅を計算し、補足説明の幅が単語の幅以内に収まるか否かを判定する（Ｓ４９０４）。補足説明の幅が単語の幅以内に収まらない場合は（Ｓ４９０４：ＮＯ）、文字サイズ設定部３３は、補足説明の幅が単語の幅以内に収まるように、補足説明の文字サイズを再設定する処理を行う（Ｓ４９０５）。ステップＳ４９０５では、文字サイズ設定部３３は、ステップＳ４９０２と同様の処理を行う。
【００５５】
ステップＳ４９０２が終了した後、ステップＳ４９０５が終了した後、又はステップＳ４９０４で補足説明の幅が単語の幅以内に収まる場合は（Ｓ４９０４：ＹＥＳ）、出力データ生成処理部３１は、補足説明を付加するために十分な行間スペースが存在するか否かを判定する（Ｓ４９０６）。ステップＳ４９０６では、設定した文字サイズで生成した補足説明の文字列の縦軸方向の大きさが、行データに含まれるｓｐｃ＿ｎが示す行間スペースの大きさ以下であるか否かを判定する。補足説明の縦軸方向の大きさが行間スペースの大きさより大きく、補足説明を付加するために十分な行間スペースが存在しない場合は（Ｓ４９０６：ＮＯ）、縮小比設定部３２は、補足説明の縦軸方向の大きさが行間スペースの大きさよりも小さくなるように、単語データが表す単語のサイズを原文から縮小する縮小比を設定する処理を行う（Ｓ４９０７）。例えば、縮小比設定部３２は、ステップＳ４９０７で、行間スペースを補足説明の縦軸方向の大きさで割った比を求め、求めた比を、領域データに含まれるｂ＿ｓｉｚｅが示す縮小比に乗じることによって、新たな縮小比を定める処理を行う。また縮小比設定部３２は、ステップＳ４９０７で、ｂ＿ｓｉｚｅが示す縮小比に、予め定められている１未満の値を乗じることによって、新たな縮小比を定めてもよい。
【００５６】
出力データ生成処理部３１は、次に、新たに定めた縮小比を、領域データに含まれるｂ＿ｓｉｚｅへ代入することによって、設定した縮小比を記録する（Ｓ４９０８）。文字サイズ設定部３３は、設定した縮小比に応じて、補足説明の文字サイズを再設定する処理を行う（Ｓ４９０９）。例えば、文字サイズ設定部３３は、ステップＳ４９０９で、補足説明の文字列の幅が、（ｌｎｗｋｘ２−ｌｎｗｋｘ１）で計算できる単語の幅に縮小比を乗じた値以下になるように、補足説明の文字サイズを設定する。また文字サイズ設定部３３は、ステップＳ４９０９で、行間スペースを補足説明の縦軸方向の大きさで割った比を文字サイズに乗じることにより、補足説明の文字サイズを計算する処理を行ってもよい。
【００５７】
ステップＳ４９０９が終了した後、又はステップＳ４９０６で補足説明を付加するために十分な行間スペースが存在する場合は（Ｓ４９０６：ＹＥＳ）、出力データ生成処理部３１は、設定した補足説明の文字サイズを領域データに含まれるｒ＿ｓｉｚｅへ代入することによって、設定した文字サイズを記録する（Ｓ４９１０）。出力データ生成処理部３１は、以上でサイズ設定処理を終了し、処理を出力データ生成処理へ戻す。サイズ設定処理により、文書に含まれる文字の原文からの縮小比と、文書に追加する各単語に対する補足説明の文字サイズとが、領域毎に設定される。
【００５８】
ステップＳ４の出力データ生成処理により、夫々に文書中の文字の縮小比ｂ＿ｓｉｚｅ及び補足説明の文字サイズｒ＿ｓｉｚｅが定められた複数の領域データが生成され、複数の領域データを含む出力データが生成される。生成された複数の領域データは、領域データ記憶部１６に記憶される。ステップＳ５の処理では、出力部１７は、各領域データで定められた位置に、各行の文字列を、領域毎の縮小比で定められる文字サイズで配置し、更に、各単語に隣接した行間の位置に、領域毎に定められた文字サイズで、各単語に対する補足説明を配置した画像を生成する。出力部１７がディスプレイである場合は、出力部１７は生成した画像を表示し、出力部１７が画像形成部である場合は、出力部１７は生成した画像をシート上に形成し、出力部１７が送信部である場合は、出力部１７は生成した画像を表現するための画像データを外部へ送信する。なお、データ処理装置は、全ての単語に対する補足説明を配置するものに限るものではなく、使用者からの指示を受け付ける手段を更に備え、補足説明を配置する範囲の指定又は補足説明を取得する単語の指定等の指示を受け付け、受け付けた指示に従って、配置する補足説明を制限する処理を行う形態であってもよい。またデータ処理装置は、補足説明を取得する単語を指定したルール等、予め定められたルールに従って、配置する補足説明を制限する処理を行う形態であってもよい。
【００５９】
以上の処理により、データ処理装置は、文書原稿を読み取った画像に、単語の訳語、読み仮名、発音記号又は単語の意味を説明する注釈等、文書中の単語に対する補足説明を付加した画像を生成する。各単語に対する補足説明は、単語に隣接する行間に配置され、また補足説明が文書の本文の文字に重ならないように文字の縮小比が定められるので、文書の本文と補足説明とが容易に区別できる。また単語に隣接して配置される補足説明の幅は単語の幅以下となっているので、単語と補足説明との対応関係が容易に認識できる。また文書中の文字サイズは、段組等で文書を分割した領域毎に定められるので、各領域内では本文の文字及び補足説明は一定の文字サイズで記録され、段落内又は行内で文字サイズにばらつきが生じることがない。従って、本発明においては、訳語等の補足説明を付加した後でも、領域単位で文字サイズが統一され、文書の閲覧性の悪化が抑制される。また単語に対する補足説明は行間に配置され、文書中に含まれる単語は位置を変更せずに文字サイズのみが調整されるので、単語に補足説明を付加した後でも文書のレイアウトは維持される。文書のレイアウトが維持されるので、補足説明が付加されていない原本の文書との比較が容易となる。
【００６０】
なお、本実施の形態においては、画像読取部１２で生成した画像データに対して本発明の補足説明付加方法の処理を実行する形態を示したが、本発明のデータ処理装置は、ファクシミリ通信等により外部から送信された画像データを受信し、受信した画像データに対して補足説明付加方法の処理を実行する形態であってもよい。また本実施の形態においては、生成した出力データに基づいた画像を出力する形態を示したが、本発明のデータ処理装置は、画像を出力することなく、出力データに基づいた画像を表現するための画像データを記憶する形態であってもよい。また本実施の形態においては、横書きの文書に対して本発明を適用する例を示したが、本発明は縦書きの文書に対しても適用可能である。また本実施の形態においては、データ処理装置は文字認識部１４、分割処理部２及び出力データ生成部３等の複数の情報処理回路を備えて本発明に係る処理を実行する形態を示したが、本発明のデータ処理装置は、これらの情報処理回路の機能の一部又は全部をソフトウェアで実現する形態であってもよい。
【００６１】
（実施の形態２）
実施の形態２では、汎用のコンピュータを用いて本発明のデータ処理装置を実現した形態を示す。図１８は、実施の形態２に係る本発明のデータ処理装置の内部構成を示すブロック図である。本実施の形態に係るデータ処理装置は、ＰＣ又はサーバ装置等の汎用コンピュータを用いて構成されており、演算を行うＣＰＵ４１と、演算に伴って発生する一時的な情報を記憶するＲＡＭ４２と、光ディスク又はメモリカード等の記録媒体５から情報を読み取るＣＤ−ＲＯＭドライブ等のドライブ部４３と、ハードディスク等の記憶部４４とを備えている。ＣＰＵ４１は、記録媒体５から本発明のコンピュータプログラム５１をドライブ部４３に読み取らせ、読み取ったコンピュータプログラム５１を記憶部４４に記憶させる。コンピュータプログラム５１は必要に応じて記憶部４４からＲＡＭ４２へロードされ、ロードされたコンピュータプログラム５１に基づいてＣＰＵ４１はデータ処理装置に必要な処理を実行する。また記録媒体５には、単語データベースが記録されており、単語データベースは、ドライブ部４３で記録媒体５から読み取られ、記憶部４４に記憶される。
【００６２】
またデータ処理装置は、使用者が操作することによる各種の処理指示等の情報が入力されるキーボード又はポインティングデバイス等の入力部４５と、各種の情報を表示する液晶ディスプレイ等の表示部４６とを備えている。更にデータ処理装置は、図示しない外部の通信ネットワークに接続可能な送信部４７と、画像データを入力する外部の入力装置６に接続された受信部４８とを備えている。送信部４７は、ネットワークカード又はモデム等であり、入力装置６は、フラットベッドスキャナ又はフィルムスキャナ等のスキャナ装置である。入力装置６は、文書原稿に記録された画像を光学的に読み取って画像データを生成し、生成した画像データをデータ処理装置へ送信し、受信部４８は、入力装置６から送信された画像データを受信する。また送信部４７は、図示しない通信ネットワークを介して、ファクシミリ又は電子メール等の通信方法により外部へデータを送信することができる。
【００６３】
ＣＰＵ４１は、本発明のコンピュータプログラム５１をＲＡＭ４２にロードし、ロードしたコンピュータプログラム５１に従って、本発明の補足説明付加方法の処理を実行する。即ち、受信部４８で入力装置６から画像データが入力された場合に、ＣＰＵ４１は、入力された画像データをＲＡＭ４２に記憶し、コンピュータプログラム５１に従って、実施の形態１で説明したステップＳ２〜Ｓ５の処理と同様の情報処理を実行することにより、出力データを生成し、出力データに基づいた画像を表示部４６に表示するか又は画像を表現するための画像データを送信部４７から外部へ送信する処理を行う。
【００６４】
以上のように、本実施の形態においても、実施の形態１と同様に、データ処理装置は、文書原稿を読み取った画像に、文書中の単語に対する補足説明を追加した画像を生成する。なお、本発明のコンピュータプログラム５１は、インターネット又はＬＡＮ等の通信ネットワークを介して図示しない外部のサーバ装置からデータ処理装置へダウンロードされて記憶部４４に記憶される形態であってもよい。
【符号の説明】
【００６５】
１１  制御部
１２  画像読取部
１４  文字認識部
１６  領域データ記憶部
１７  出力部
２  分割処理部
２２  行処理データ生成部
２３  単語データ生成部
２４  領域データ生成部
３  出力データ生成部
３１  出力データ生成処理部
３２  縮小比設定部
３３  文字サイズ設定部
３４  データベース検索部
３５  単語データベース
４１  ＣＰＵ
５  記録媒体
５１  コンピュータプログラム
【図１】
2011065573.tif 000003
【図２】
2011065573.tif 000004
【図３】
2011065573.tif 000005
【図４】
2011065573.tif 000006
【図５】
2011065573.tif 000007
【図６】
2011065573.tif 000008
【図７】
2011065573.tif 000009
【図８】
2011065573.tif 000010
【図９】
2011065573.tif 000011
【図１０】
2011065573.tif 000012
【図１１】
2011065573.tif 000013
【図１２】
2011065573.tif 000014
【図１３】
2011065573.tif 000015
【図１４】
2011065573.tif 000016
【図１５】
2011065573.tif 000017
【図１６】
2011065573.tif 000018
【図１７】
2011065573.tif 000019
【図１８】
2011065573.tif 000020