(57)【特許請求の範囲】
【請求項１】
文書のレイアウトを評価する複数のレイアウト評価項目値がそれぞれの許容範囲内にない場合、複数の前記レイアウト評価項目値の獲得に用いる共通レイアウト変数を抽出する抽出手段と、
許容範囲内にない前記レイアウト評価項目値の個数が所定個数以下であって、前記共通レイアウト変数が抽出された場合に、前記レイアウト評価項目値が前記許容範囲内になるように、抽出された前記共通レイアウト変数の値を調整し、許容範囲内にない前記レイアウト評価項目値の個数が所定個数より多い場合、又は許容範囲内にない前記レイアウト評価項目値の個数が所定個数以下であって前記共通レイアウト変数が抽出されなかった場合に、前記レイアウト評価項目値の獲得に用いるそれぞれのレイアウト変数の値を調整する調整手段と、
許容範囲内にない前記レイアウト評価項目値がなくなるまで前記抽出手段及び前記調整手段に処理を繰り返させる繰り返し手段と、
前記調整手段でレイアウトが調整された文書を表示させる表示制御手段と、を備えることを特徴とする文書編集装置。
【請求項２】
許容範囲内にない前記レイアウト評価項目の個数が所定個数以下であって、前記抽出手段で共通レイアウト変数が抽出されなかった場合、前記レイアウト評価項目の値の獲得に用いる係数を調整する変更手段を更に備えることを特徴とする、請求項１に記載の文書編集装置。
【請求項３】
前記レイアウト評価項目値は、注釈文の文字サイズ、語間、行間、和文・欧文間の間隔、文章領域幅、文字サイズ、字間、各行のバランス、同一単語の出現間隔、箇条書きの体裁の少なくとも１つを含むことを特徴とする、請求項１に記載の文書編集装置。
【請求項４】
前記共通レイアウト変数は、文字サイズ、文章領域幅、行数の少なくとも１つを含むことを特徴とする、請求項１に記載の文書編集装置。
【請求項５】
前記抽出手段によって前記共通レイアウト変数が複数抽出された場合、前記調整手段は、他の共通レイアウト変数に与える影響がより大きい共通レイアウト変数を優先して調整することを特徴とする、請求項１に記載の文書編集装置。
【請求項６】
複数の前記共通レイアウト変数が調整される場合、文字サイズ、文章領域幅、行数の順に調整することを特徴とする、請求項５に記載の文書編集装置。
【請求項７】
文書編集装置を制御する文書編集方法であって、
前記文書編集装置の備える抽出手段が、文書のレイアウトを評価する複数のレイアウト評価項目値がそれぞれの許容範囲内にない場合、複数の前記レイアウト評価項目値の獲得に用いる共通レイアウト変数を抽出する抽出工程と、
前記文書編集装置の備える調整手段が、許容範囲内にない前記レイアウト評価項目値の個数が所定個数以下であって、前記共通レイアウト変数が抽出された場合に、前記レイアウト評価項目値が前記許容範囲内になるように、抽出された前記共通レイアウト変数の値を調整し、許容範囲内にない前記レイアウト評価項目値の個数が所定個数より多い場合、又は許容範囲内にない前記レイアウト評価項目値の個数が所定個数以下であって前記共通レイアウト変数が抽出されなかった場合に、前記レイアウト評価項目値の獲得に用いるそれぞれのレイアウト変数の値を調整する調整工程と、
前記文書編集装置の備える繰り返し手段が、許容範囲内にない前記レイアウト評価項目値がなくなるまで前記抽出工程及び前記調整工程を繰り返す繰り返し工程と、
前記調整工程でレイアウトが調整された文書を表示手段に表示させる表示制御工程と、を備えることを特徴とする文書編集方法。
【請求項８】
コンピュータに
文書のレイアウトを評価する複数のレイアウト評価項目値が許容範囲内にない場合、複数の前記レイアウト評価項目値の獲得に用いる共通レイアウト変数を抽出する抽出手順と、
許容範囲内にない前記レイアウト評価項目の個数が所定個数以下であって、前記共通レイアウト変数が抽出された場合に、前記レイアウト評価項目値が前記許容範囲内になるように、抽出された前記共通レイアウト変数の値を調整し、許容範囲内にない前記レイアウト評価項目の個数が所定個数より多い場合、又は許容範囲内にない前記レイアウト評価項目の個数が所定個数以下であって前記共通レイアウト変数が抽出されなかった場合に、前記レイアウト評価項目値の獲得に用いるそれぞれのレイアウト変数の値を調整する調整手順と、
許容範囲内にない前記レイアウト評価項目値がなくなるまで前記抽出手順及び前記調整手順を繰り返す繰り返し手順と、
前記調整手順でレイアウトが調整された文書を表示手段に表示させる表示制御手順と、を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書内に配置される文字列のレイアウト状態を調整する文書編集装置に関するものである。
【背景技術】
【０００２】
電子データ上の文書に対して、文字列のレイアウトの調整、評価を行い文書の読みやすさ、美しさを最適化する技術が知られている。
【０００３】
具体的な例として、調整に関してはＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔ）が知られている（非特許文献１）。ＣＳＳでは文字列に対し、フォントサイズや文字間隔等を設定することができる。実施形態の説明では、フォントサイズや文字間隔等を、レイアウト状態を評価するレイアウト評価項目と呼んでいる。
【０００４】
また、別の例としては、特許第４３４５７７２号公報で提案されている、文書中の「タイトル」や「本文」等の属性間のフォントサイズの比率を記載したテーブルに基づき、フォントサイズを自動で変更するものが知られている（特許文献１）。
【０００５】
評価に関する具体的な例としては、特開２００５−５０３５１号公報で提案されているものがある。これは、文書のレイアウトをデザインするため及び分析のために、文書のスタイルの一貫性、文書の識別度などの所定のセットの特性を測定し、それらを結合して利便性等を算出、定量化し、文書の品質を表す測度（得点）を生成するものである（特許文献２）。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔ  ［ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／Ｓｔｙｌｅ／ＣＳＳ／］
【特許文献】
【０００７】
【特許文献１】特許第４３４５７７２号公報
【特許文献２】特開２００５−５０３５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献２に記載の手法では、レイアウトの評価を行うことはできるものの、レイアウトの最適化までは行うことができない。さらに、評価結果を算出する際には、結合関数という各特性を合算するものを使用しているため、手間がかかっていた。
【０００９】
また特許文献１に記載の手法では、最適化を行うことはできるものの、フォントサイズしか調整することができず、文字間隔など他のレイアウト評価値を変更することができない。非特許文献１に記載のＣＳＳの利用や、手動での変更では複数のレイアウト評価値を変更することができるが、その際あるレイアウト評価値の変更が、他のレイアウト評価値に影響を与えるかどうかを自動で判定することはしていない。つまり、あるレイアウト評価値の変更が、他のレイアウト評価値を悪くしてしまう可能性があるということになる。例えば、フォントサイズを調整した結果、別のレイアウト評価値の１つである１行の長さが影響を受け、レイアウト評価値が悪くなってしまうということである。同様に、１行の長さとフォントサイズ等、複数のレイアウト評価値を同時に調整しようとした場合も、あるレイアウト評価値を変更すると他のレイアウト評価値に悪影響を与えてしまい、うまく行うことができなかった。この課題に関しては、各レイアウト評価値の影響関係を解析して悪影響を与えない変更方法を発見するという解決方法も考えられるが、レイアウト評価項目数が多すぎるので、影響を与えない変更方法を発見するには多大な労力が必要となってしまう。
【００１０】
そこで、レイアウト評価項目を構成するレイアウト変数を調整することによって、文章に関係する複数のレイアウト評価値を互いに悪影響を与えることなく同時に変更し、可読性を向上させた文章を作成することを可能にする。またこれにより、相互に影響を与える関係性の解析を行う負担、およびレイアウトを変更する際の計算の負担を軽減することも可能となる。
【課題を解決するための手段】
【００１１】
本発明に係る文書編集装置は、以下の構成を備える。即ち、文書のレイアウトを評価する複数のレイアウト評価項目値がそれぞれの許容範囲内にない場合、複数の前記レイアウト評価項目値の獲得に用いる共通レイアウト変数を抽出する抽出手段と、許容範囲内にない前記レイアウト評価項目値の個数が所定個数以下であって、前記共通レイアウト変数が抽出された場合に、前記レイアウト評価項目値が前記許容範囲内になるように、抽出された前記共通レイアウト変数の値を調整し、許容範囲内にない前記レイアウト評価項目値の個数が所定個数より多い場合、又は許容範囲内にない前記レイアウト評価項目の個数値が所定個数以下であって前記共通レイアウト変数が抽出されなかった場合に、前記レイアウト評価項目値の獲得に用いるそれぞれのレイアウト変数の値を調整する調整手段と、許容範囲内にない前記レイアウト評価項目値がなくなるまで前記抽出手段及び前記調整手段に処理を繰り返させる繰り返し手段と、前記調整手段でレイアウトが調整された文書を表示させる表示制御手段。
【発明の効果】
【００１２】
本発明によれば、レイアウト変数値を調整することによって、可読性を向上させた文書を作成することができる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態のレイアウト最適化処理の一例を示す図である。
【図２】第１の実施形態の処理概要を示す図である。
【図３】実施形態１で用いるレイアウト評価値とレイアウト変数値の関係を示した図である。
【図４】実施形態１の文書編集装置のハードウェア構成を示すブロック図である。
【図５】実施形態１の文書編集装置の機能構成を示すブロック図である。
【図６】第１の実施形態の処理フローチャートである。
【図７】実施形態１で用いる各レイアウト評価値の算出の詳細を示すフローチャートである。
【図８】実施形態１で用いるレイアウト評価値の構成を示した図である。
【図９】実施形態１で用いるレイアウト評価値の処理の具体例である。
【図１０】本発明の実施形態１で用いるレイアウト評価値の処理の具体例である。
【図１１】実施形態１で用いるレイアウト変数値調整部を決定する処理方法決定部の構成を示すブロック図である。
【図１２】第１の実施形態で用いるレイアウト変数値調整部を決定する処理方法決定部の処理フローチャートである。
【図１３】第１の実施形態で用いるレイアウト変数値変更部を用いた場合の処理の具体例を示す図である。
【図１４】第１の実施形態で用いる共通レイアウト変数値変更部を用いた場合の処理の具体例を示す図である。本発明の第２の実施形態
【図１５】実施形態１で用いる処理方法決定部を用いることの妥当性検証を示した図である。
【図１６】第１の実施形態の処理フローのうち、レイアウトパラメータ変更処理の詳細を示すフローチャートである。
【図１７】第１の実施形態の処理フロー中のレイアウトの変更処理のうち、依存パラメータ変更処理の詳細を示すフローチャートである。
【図１８】第２の実施形態の処理フローチャートである。
【図１９】第３の実施形態の処理フローのうち、レイアウトパラメータおよびレイアウト評価値算出式係数の変更の詳細を示すフローチャートである。
【図２０】別の実施形態の例を示した図である。
【発明を実施するための形態】
【００１４】
＜実施形態１＞
まず、第１の実施形態について説明する。本実施形態では、図１に示すように入力された文書１０１中の各文章に対して文章レイアウトの評価及び最適化を行う。そして、文書１０２のように文章レイアウトが改善されたものを出力する。
【００１５】
この処理の概要について、図２を用いて述べる。ここでは、文書２０１中の文章２０２を例にして説明を行う。この文章２０２を対象に、まずレイアウト評価値の算出を行う。レイアウト評価項目は多数存在するが、ここでは各行のバランスと行間を例に取る。まず各行のバランスを表すレイアウト評価値は、文字数×文字サイズを文章領域幅×行数で割ったものと定義される。これは文章領域の面積が分母、そのうちで文字が占める面積が分子となる。各行のバランスを表すレイアウト評価値は、１に近づくほど文章領域で文字が占める割合が多い、つまり空白が少なく、各行の長さのバランスが取れている。
【００１６】
また行間を表すレイアウト評価値は、文字サイズ×文章領域幅×係数で算出される。
【００１７】
そして次に、これらの式の少なくとも何れか一つに現れる変数をレイアウト変数値として抽出する。これは文字サイズ、文章領域幅、行数の３つとなる。本実施形態では、複数のレイアウト評価項目を獲得するために用いられるレイアウト変数を共通レイアウト変数と呼んでいる。この文章では文字サイズが１２ｐｔ、文章領域幅が８４．３３６ｍｍ、行数が９行となっている。そして、このレイアウト変数値を文字サイズは１１ｐｔ、文章領域幅は８５．０３９ｍｍ、行数は５行に変更することで、レイアウト評価値を改善する。その結果が、文書２０３中の文章２０４であり、入力された元の文章２０２と比較して各行の長さのバランスが取れており、レイアウトが改善されていることがわかる。具体的には、文章２０２および文章２０４は１０６文字からなる文章であると仮定すると、文章２０２では各行のバランスの値は０．５９１、改善後の文章２０４では０．９７６となり、値が大幅に向上していることがわかる。
【００１８】
ここでレイアウト変数値を調整することによって、レイアウト評価値を改善できることの理由について説明する。図３はレイアウト評価値とレイアウト変数値の関係を示したものである。ここで各レイアウト評価値３０１は、少なくとも１つ以上のレイアウト変数値３０２をその算出式に含んでいる。このように、レイアウト評価値が複数のレイアウト変数によって調整されることが可能であるため、レイアウト変数値の調整がレイアウト評価値の調整へとつながるのである。
【００１９】
次に実施形態１の文書編集装置の構成を図４に示す。この文書編集装置は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４０１、入力装置４０２、出力装置４０３、記憶装置４０４、ＲＡＭ（Ｒａｎｄｏｍ    Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４０５、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）４０６、ＢＵＳ４０７からなる。これらの働きについて説明する。まずＣＰＵ４０１は各種データ処理のための論理演算、判断等を行い、またＢＵＳ４０７で接続されている各構成要素の制御を行う。次に入力装置４０２はアルファベットキー、ひらがなキー、カタカナキー、句点等の文字記号入力キー、カーソル移動を指示するカーソル移動キー等のような各種の機能キーを備えたキーボードが接続されている。また、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）上で画面の制御可能位置を指し示し、機能の選択指示などを行うポインティング機器、例えばマウスやスティックポインタ等が接続されている。出力装置４０３は液晶パネル等の各種表示装置である。記憶装置４０４には入出力データや処理プログラム等、各種情報が格納される。
【００２０】
これらのデータ及びプログラムを格納する記憶媒体としては、ハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、フラッシュメモリ等を用いることができる。ＲＡＭ４０５は各構成要素からの各種データを一時的に記憶する際に用いられる。ＲＯＭ４０６は、本実施形態で実行される処理プログラム等の制御プログラムを記憶する。これら全ての構成要素はＢＵＳ４０７で接続されている。
【００２１】
また、実施形態の文書編集装置の機能構成を図５に示す。本文書編集装置はレイアウト変数設定部５０１、レイアウト評価項目設定部５０２、レイアウト評価値算出部５０３、レイアウト変数選択部５０４、レイアウト変数値調整部５０５から構成されている。
【００２２】
これらの働きについて、本実施形態の全体の流れを示した図６と合わせて説明する。まず、レイアウト変数・レイアウト評価値の設定ステップＳ６０１ではレイアウト変数設定部５０１、レイアウト評価項目設定部５０２を用いて、今回用いるレイアウト変数およびレイアウト評価項目をＲＡＭ４０５に設定する。次にレイアウトの実行ステップＳ６０２において入力された文書のレイアウトを行った後、ステップＳ６０３でレイアウトの変更を行った回数の判定を行う。もし所定回数以上レイアウトの変更を行ってもまだ終了しない場合には、ここで強制的に終了させる。変更回数が所定回数未満ならば各レイアウト評価値の算出ステップＳ６０４に進む。ここではレイアウト評価値算出部５０３を用いて、規定した各レイアウト評価値を算出する。ステップＳ６０４で算出されたレイアウト評価値が、全て基準を満たしているかどうかをステップＳ６０５において判定し、全て基準を満たしている、つまり合格であればその時点で処理は終了となる。しかし、１つでも不合格のものがある場合には、レイアウト変数の選択ステップＳ６０６へ進む。ステップＳ６０６ではレイアウト変数選択部５０４を用いて変更対象とするレイアウト変数を選択する。なお、この選択方法に関しては後述することとする。そしてこのレイアウト変数の値をレイアウト変数値調整部５０５に渡しレイアウトパラメータの変更ステップＳ６０７を行い、レイアウト変更回数を１加算する。レイアウトパラメータとは、レイアウトを構成する各要素であり、レイアウト変数を含む。またレイアウト評価項目は、レイアウトパラメータのうち、レイアウトを評価する際に使用する項目である。そして再びステップＳ６０２に戻り、変更したパラメータによるレイアウトの実行、レイアウト変更回数の判定、レイアウト評価値の算出、ステップＳ６０５でのレイアウト評価値の判定へと進む。これらの処理を全レイアウト評価値が基準を満たし合格になるまで繰り返す。これら各種の処理はＣＰＵ４０１において行われる。
【００２３】
各レイアウト評価値の算出ステップＳ６０４については、より詳細な処理の説明を図７に示す。最初に、レイアウト評価値を算出するために、レイアウト変数値や文書サイズや文章の用途といった必要なデータをステップＳ７０１で取得する。具体的には、文章の用途、文書サイズ、文字サイズ、文章領域幅、行数の５つである。
【００２４】
ここで文章の用途とは、その文章が本文なのかタイトルなのかを示すものであり、また文書のサイズはＡ４やＢ５など公知の規格で決められた紙サイズの名称もしくは公知の規格で定められた具体的なサイズである。これらのうち、文章の用途と文書サイズについてはＸＭＬ形式など公知の規格により文書に付属されているものとし、そこから取得するものとする。また残りの文字サイズ、文章領域幅、行数については、文章の用途と文字サイズと同じく公知の規格により文書に付属されているものから取得してもよいし、何らかの公知技術を用いて文章そのものや文章画像から取得してもよい。例えば文字サイズの取得ならば、例えば特開２００７−１２２５００に示されているような方法がある。そして、これらの取得されたデータを基にステップＳ７０２において各レイアウト評価値の算出を行う。
【００２５】
ここでレイアウト評価値の構成と具体的な算出方法、処理例について図８を参照して説明する。本実施形態で扱うレイアウト評価値の例を示す。例えば、注釈文の文字サイズ８０１、語間８０２、行間８０３、和文・欧文間の間隔８０４、文章領域幅８０５、文字サイズ８０６、字間８０７、各行のバランス８０８、同一単語の出現頻度８０９、箇条書きの体裁８１０となっている。それぞれのレイアウト評価値について説明する。
【００２６】
まず注釈文の文字サイズ８０１の算出式は、
注釈文の文字サイズ  ＝  本文の文字サイズ  ＊  α（α  ＝  ０．６  〜  ０．８、最適値：０．７）・・・（１）
となっている。評価は、算出された注釈文の文字サイズが適正な範囲かどうかで判断される。式（１）の根拠としては以下のとおりである。注釈文は本文の補足をするものであるため、文字サイズは本文の文字サイズよりも小さいことが求められる。しかし、小さすぎても注釈文自体の可読性を損なうため、そのバランスを取らなければならない。ここでは検討の結果、注釈文の文字サイズは、本文の文字サイズの０．７倍が最適、０．６〜０．８倍が許容範囲であるとした。このレイアウト評価値の具体的な適用例が図９の文章９０１，９０２となる。レイアウト評価値はレイアウトを行うための基になる具体的な値である。文章９０１では注釈文の文字サイズが大きすぎるため評価は低くなり、文章９０２では、注釈文の文字サイズが許容範囲内の値になっているので、評価が高くなる。
【００２７】
レイアウト評価については、レイアウト評価値が許容範囲内ならば合格、許容範囲外ならば不合格というような良し悪しを評価してもよいし、連続的な値として評価してもよい。連続的な評価の値は、許容範囲の上下限を合格とみなせる所定の点数（例：８０点）、最適値を１００点とし、残りの部分は補間して求める。例えば、線形関数、２次関数、指数関数で補間できる。補間方法の決定は、例えば、ユーザが手動で選択する、１項目ずつ変化させた学習サンプルに対して評価を複数人で行い、その結果を一番よく近似できる関数を採用するといったものが挙げられる。対象とする文書のタイプ（ポスター、オフィス文書など）に応じて選択するといったものも挙げられる。以下の式（２）〜（１０）についても同様に各レイアウト評価項目の評価をすることができる。
【００２８】
次に、語間８０２の算出式は、
語間  ＝  本文の文字サイズ  ＊  β（β  ＝  ０．１２  〜  ０．６７、最適値：０．２５）・・・（２）
となっている。評価は、算出された語間が適正な範囲かどうかで判断される。式（２）の根拠としては以下のとおりである。語間は、欧文において単語と単語の間に入れる空白である。語間がないと各単語の区別がつかないが、語間が大きすぎても読みづらくなってしまうため、適切なサイズの語間にする必要がある。本実施形態では検討の結果、語間は、本文の文字サイズの０．２５倍が最適、０．１２〜０．６７倍が許容範囲であるとした。このレイアウト評価値の具体的な適用例が文章９０３，９０４となる。文章９０３では語間が広すぎるため評価は低くなり、文章９０４では、語間が許容範囲内の値になっているので、評価が高くなる。
【００２９】
次に、行間８０３の算出式は、
行間  ＝  本文の文字サイズ  ＊  文章領域幅  ＊  γ（γ  ＝  ０．０１５  〜  ０．０２５、最適値：０．０２）・・・（３）
となっている。評価は、算出された行間が適正な範囲かどうかで判断される。式（３）の根拠としては以下のとおりである。行間は、文章の行と行の間に入れる空白である。行間が狭すぎると文章が全体的に詰まってしまい読みづらいが、行間が広すぎても全体が間延びして読みづらくなってしまうため、適切なサイズの行間にする必要がある。本実施形態では検討の結果、行間は本文の文字サイズと文章領域幅を乗じたものを０．０２倍したものが最適、０．０１５〜０．０２５倍が許容範囲であるとした。このレイアウト評価値の具体的な適用例が文章９０５，９０６となる。文章９０５では行間が狭すぎるため評価は低くなり、文章９０６では、行間が許容範囲内の値になっているので、評価が高くなる。
次に、和文・欧文間の間隔８０４の算出式は、
和文・欧文間の間隔  ＝  本文の文字サイズ  ＊  δ（δ  ＝  ０．１２５  〜  ０．５、最適値：０．２５）・・・（４）
となっている。評価は、算出された和文・欧文間の間隔が適正な範囲かどうかで判断される。式（４）の根拠としては以下のとおりである。和文・欧文間の間隔は、漢字・かな等の和文とアルファベット等の欧文との間に入れる空白である。和文と欧文では文字の設計が違うため、和文同士、欧文同士の文字が連続するときよりも間隔を取らなければ詰まりすぎて読みにくくなってしまう。そこで、和文と欧文の間に空白を入れる。本実施形態では検討の結果、和文・欧文間の間隔は、本文の文字サイズを０．２５倍したものが最適、０．１２５〜０．５倍が許容範囲であるとした。このレイアウト評価値の具体的な適用例が文章９０７，９０８となる。文章９０７では和文・欧文間の間隔が狭すぎるため評価は低くなり、文章９０８では、和文・欧文間の間隔が許容範囲内の値になっているので、評価が高くなる。
【００３０】
次に、文章領域幅８０５の算出式は、
文章領域幅  ＝  文字サイズ  ＊  ε（ε  ：１行あたりの文字数  ＝  ２５  〜  ４０、最適値：４０）・・・（５）
となっている。評価は、算出された文章領域幅が適正な範囲かどうかで判断される。式（５）の根拠としては以下のとおりである。文章領域幅は、テキストボックスの幅を示すものである。この幅は文章の１行あたりの幅に相当し、この幅が短すぎても広すぎても読字速度が落ち読みづらさを感じてしまうため、適切な幅にすることが必要である。本実施形態では検討の結果、文章領域幅は文字サイズに１行の文字数を乗じたものになるが、この文字数は３０文字が最適、２５〜４０文字が許容範囲であるとした。文章領域幅はレイアウト変数値も兼ねているので、レイアウト変数値の変更を行う際に文章領域幅を変更する場合には、この許容範囲内で変更を行う。このレイアウト評価値の具体的な適用例が文章９０９，９１０となる。文章９０９では文章領域幅が長すぎるため評価は低くなり、文章９１０では、文章領域幅が許容範囲内の値になっているので、評価が高くなる。
【００３１】
次に、文字サイズ８０６の算出式は、
文字サイズ  ＝  Ａ６〜Ａ４での最適値・許容範囲の上下限  ＊（対象の文書サイズ  ／  Ａ４）    （Ｂ５以上の場合）・・・（６）
となっている。評価は、文字サイズが適正な範囲かどうかで判断される。式（６）の根拠としては以下のとおりである。文字サイズは、文章を構成する文字の大きさを示すものである。この大きさが大きすぎても小さすぎても読みづらさを感じてしまうため、適切な大きさにすることが必要である。また文字サイズは、文書サイズや文の用途（本文またはタイトル）によって適切とされる大きさが変わってくるため、文書サイズと用途に応じた調整が必要である。本実施形態では検討の結果、まずＡ４の際の文字サイズの最適値及び許容範囲を基準とする。そしてＡ４より大きい場合には、対象文書を分子、Ａ４を分母としたサイズ（幅もしくは高さ）の比を基準に乗じたものを使用し、用途がタイトルの場合は文書中の画像の割合に応じて本文の文字サイズの３〜５倍にする。基準としては、和文では最適値が１０ｐｔ、許容範囲が８〜１１ｐｔ、欧文では最適値１０ｐｔで許容範囲が１０〜１２ｐｔとする。文字サイズはレイアウト変数値も兼ねているので、レイアウト変数値の変更を行う際に文字サイズを変更する場合には、この許容範囲内で変更を行う。このレイアウト評価値の具体的な適用例が図１０の文章１００１，１００２となる。文章１００１では文字サイズが小さすぎるため評価は低くなり、文章１００２では、文字サイズが許容範囲内の値になっているので、評価が高くなる。
【００３２】
次に、字間８０７の算出式は、
字間  ＝  字間・・・（７）
となっている。つまり、字間自身を評価する。評価は、基準値に近いかどうかで判断される。この根拠としては以下のとおりである。字間は、文章を構成する各文字の間隔を示したものである。この幅が狭すぎると文字が重なってしまい、広すぎると１文字毎に不自然に間隔が開いてしまい、共に読みづらさを感じてしまうため、適切な幅にすることが必要である。文字はもともと文字自体（字面）の周りに空白を持った形で設計されているため、字間を明示的に設定しなくても、各文字間には間隔ができるようになっている。従って本実施形態では、字間は０が最適値であるとした。このレイアウト評価値の具体的な適用例が文章１００３，１００４となる。文章１００３では字間が狭すぎるため評価は低くなり、文章１００４では、字間が許容範囲内の値になっているので、評価が高くなる。
【００３３】
次に、各行のバランス８０８の算出式は、
各行のバランス  ＝  （  文字数（定数）  ＊  文字サイズ  ）  ／  （  文章領域幅  ＊  行数  ）・・・（８）
となっている。評価は、算出された各行のバランスが１に近いかどうかで判断される。式（８）の根拠としては以下のとおりである。各行のバランスは、１行の長さが極端に異なっている行が存在しないかどうかを示すものである。このバランスが悪いと文章中に空白が大半を占める行が存在してしまい、見た目が悪くなってしまう。従って、各行のバランスを適切にすることが必要である。図２の説明と同じく、文章領域幅×行数が文章領域の面積、文字数×文字サイズがそのうちで文字が占める面積を表わすので、この値が１に近づく程文章領域で文字が占める割合が多い、つまり空白が少なく各行の長さのバランスが取れていることを表わすことになる。このレイアウト評価値の具体的な適用例が文章１００５，１００６となる。文章１００５では各行のバランスが悪いため評価は低くなり、文章１００６では、各行のバランスが許容範囲内の値になっているので、評価が高くなる。
【００３４】
次に、同一単語の出現頻度８０９の算出式は、
同一単語の出現間隔  ≠  文章領域幅  ／  文字サイズ  
（１行あたりの文字数）・・・（９）
となっている。評価は、この式が成り立つかどうかで判断される。式（９）の根拠としては以下のとおりである。同一単語の出現間隔は、同じ単語が複数行続けて同じ位置に表れているかどうかを示すものである。前記の状態になってしまうと、見た目が悪く、また読みづらいものになってしまう。従って、同一単語が複数行続けて同じ位置に表れないようにすることが必要である。同一単語が複数行続けて同じ位置に表れるということは、その単語と単語の間にある文字数もしくは文字列の長さが１行あたりの文字数もしくは１行の長さに等しいということと同等であるため、上記のような式が成り立つかで判断することができる。このレイアウト評価値の具体的な適用例が文章１００７，１００８となる。文章１００７では行末にハイフンが連続して現れているため悪い評価なり、文章１００８では、ハイフンなど同一の文字が連続して現れていないので、良い評価となる。
【００３５】
最後に、箇条書きの体裁８１０の算出式は、
行頭文字・空白の出現間隔  ＊  整数  ＝  文章領域幅  ／  文字サイズ
（１行あたりの文字数）・・・（１０）
となっている。評価は、この式が成り立つかどうかで判断される。式（１０）の根拠としては、以下のとおりである。箇条書きの体裁は、特定の記号（行頭文字）の後に文章が続く形式が複数行にわたり続いている場合、それを箇条書きとみなし、その体裁が読みやすいものであるかどうかを示すものである。箇条書きは行頭文字の後に空白が１文字入り、その次に文章が始まる形になっており、１項目が２行にわたる場合、２行目は１行目の文章が始まった位置の真下から始まる体裁となっている。この形を満たさない場合には、見た目が悪く読みづらいものになる、もしくは箇条書きと認識できない可能性がある。従って、この箇条書きの体裁が守られることが必要である。この判定は行頭文字と空白文字が各行の同じ位置に表れているかで行うことができる。従って、同一単語の出現頻度とは逆の判定方法で判断することが可能であると言える。このレイアウト評価値の具体的な適用例が文章１００９、１０１０となる。文章１００９では箇条書きの体裁が整っていないため評価は低くなり、文章１０１０では、箇条書きの体裁が整っているので、評価が高くなる。
【００３６】
このようにして算出された各レイアウト評価値が、基準を満たしているかどうかをステップＳ６０５において判定する。もし基準を満たしていないレイアウト評価値があれば、ステップＳ６０６においてレイアウト変数の選択を行い、選択されたレイアウト変数の値をステップＳ６０７において変更した後、レイアウトの変更を行って各レイアウト評価値が基準を満たすようにする。なおこの変更は、初回の変更時は各変数に対して設定された最適値にし、その後は同じく各変数に対して設定された許容範囲内でランダムに変更することとする。
【００３７】
文書のレイアウト評価は、前述のように、基準を満たしていないレイアウト評価値があるかどうかだけではなく、レイアウト評価項目数に対する合格レイアウト評価項目数の割合や、各レイアウト評価項目のレイアウト評価の平均によって決定しても良い。レイアウト評価項目ごとに重みづけをしても良い。重みづけの方法としては、例えば、ユーザが手動で選択する、１項目ずつ変化させた学習サンプルに対して評価を複数人で行い、その結果を一番よく近似できる関数を採用するといったものが挙げられる。他にも対象とする文書のタイプ（ポスター、オフィス文書など）に応じて選択するといったものが挙げられる。
【００３８】
ステップＳ６０６で選択されるレイアウト変数は、全てのレイアウト変数であっても一部のレイアウト変数であってもよい。その選択のため、図１１に示すレイアウト変数値調整部１１０１（レイアウト変数値調整部５０５と同一）を用いる。ここではレイアウト変数値調整部１１０１から１つを選択する。本実施形態では図１２に示すように、ステップＳ１２０１において処理決定部１１０２を用い、不合格であるレイアウト評価値の個数を基に処理部の選択を行う。
【００３９】
不合格であるレイアウト評価値の個数が所定数より多いとき、つまり比較的大量にある場合には、ステップＳ１２０２においてレイアウト変数値変更部１１０３を用い、全レイアウト変数値を変更して、同時に多くのレイアウト評価値の改善を図る処理を行う。この場合の具体例が図１３である。ここでは、不合格のレイアウト評価値の基準を、例えば４個としている。入力文書１３０１は行間、文章領域幅、文字サイズ、字間、各行のバランスの５個のレイアウト評価値が不合格なので、レイアウト変数値変更部１１０３を使用し、レイアウト評価値がすべて合格になった文書１３０２を出力する。
【００４０】
次にステップＳ１２０１で不合格のレイアウト評価値の個数が所定数以下の時、つまり不合格レイアウト評価値が少ない場合について述べる。レイアウト変数値変更部１１０３を用いてレイアウト変数値全てを変更するよりも、ターゲットを絞った方が効率良く変更できると考えられる。従って、ステップＳ１２０３に進み共通レイアウト変数値変更部１１０４を使用することとする。本実施形態では、複数のレイアウト評価項目で用いられるレイアウト変数を共通レイアウト変数と呼んでいる。この場合の具体例が図１４である。この入力文書１４０１では行間、文字サイズ、各行のバランスの３個のレイアウト評価値が不合格である。この３個の計算式にはすべて文字サイズが含まれるので、共通レイアウト変数値変更部１１０４を用いて文字サイズのみを変更することにより、すべてのレイアウト評価値が合格になった文書１４０２が出力される。
【００４１】
また不合格のレイアウト評価値が少ない場合、レイアウト変数値全てを変更するよりターゲットを絞って共通レイアウト変数値を変更した方が効率よく処理できることについての説明を、図１５を参照して以下で行う。入力文章１５０１は注釈文の文字サイズと行間が基準を満たしていない文章である。この２つのレイアウト評価値の評価式には８０１と８０３からわかるように文字サイズが共通して含まれている。これに対して、レイアウト変数値変更部１１０３を用いて最適化したものが出力文章１５０２、共通レイアウト変数値変更部１１０４を用いて文字サイズのみを変更して最適化したものが出力文書１５０３である。どちらも行間を合格にすることができるが、前者では文字サイズ、文章領域幅、行数の３つの値を調整する必要があるのに対して、後者では文字サイズ１つを調整すればよい。従って、調整が１つで済む後者の方が効率がよい。
【００４２】
ステップＳ６０６で扱うレイアウト変数を決定した後に、ステップＳ６０７でレイアウトパラメータの変更を行う。ここでステップＳ６０７には２つのステップがあり、その詳細は図１６に示すように依存パラメータの変更ステップＳ１６０１と非依存パラメータの変更ステップＳ１６０２となっている。ここでパラメータとは、レイアウト変数を含む文章レイアウトを構成する各要素のこと、具体的には文字サイズ、文章領域幅、行数、注釈文の文字サイズ、語間、行間、和欧文間の間隔、字間、各行のバランス、箇条書きの体裁、同一単語の出現間隔のことである。これらを総称してレイアウトパラメータと呼ぶこととする。レイアウト評価項目は、レイアウトパラメータのうち、レイアウトを評価する際に使用する項目である。ステップＳ１６０１では、これらのうち各パラメータ間で互いに依存関係がある、つまり一方を変更すると他方に影響を与えるもの、具体的には文字サイズ、文章領域幅、行数のレイアウト変数を変更する。従って、これらのパラメータは、順番を考慮して変更を行わなければならない。依存関係があるパラメータは、共通レイアウト変数である。
【００４３】
その詳細を示したものが図１７となる。ここに示すように変更は、文字サイズの変更ステップＳ１７０１、文章領域幅の変更ステップＳ１７０２、行数の変更ステップＳ１７０３の順で変更する。この順で変更を行う理由は、文字サイズの変更は文章領域幅に、文章領域幅の変更は行数に各々影響を与えるが、それ以外の影響は与えないため、１度改善した変数に他の変数の変更が悪影響を及ぼさないためである。ここでこれらの変更は、文字サイズと文章領域幅は初回の変更では最適値に、初回以降は許容範囲内でランダムに変更を行い、行数はステップＳ１７０１とステップＳ１７０２で決められた文字サイズと文章領域幅、及び入力された文章の文字数に合わせて変更される。また、各パラメータの最適値と許容範囲はステップＳ６０４でレイアウト評価値を算出する際に決定されている。なお、これら依存パラメータは先ほども述べたとおりレイアウト変数と同一である。従ってステップＳ６０６で扱わないとしたレイアウト変数と同一のパラメータはここでは変更せず、その変数の値の変更ステップはスキップされる。
【００４４】
次にステップＳ１６０２において、互いに影響を与え合わない非依存パラメータの変更を行う。ここで扱うパラメータは具体的には注釈文の文字サイズ、語間、行間、和欧文の間の間隔、字間、各行のバランス、箇条書きの体裁、同一単語の出現間隔である。これらは互いに影響を与えないため、処理順番は任意である。また、それぞれの値の決定は、レイアウト評価値の計算式（１）、（２）、（３）、（４）および（７）を用いて算出する。なお、各式で用いる文字サイズ、文章領域幅、行数の各値に関しては、ステップＳ１６０１で決定したものを利用する。
【００４５】
このようにして第１の実施形態を行うが、ここまでに挙げたレイアウト評価項目およびレイアウト変数は必ずしも全てを使用しなくてもよく、ユーザの要望に応じて使用するものを選択することが可能である。
【００４６】
以上により、文章レイアウトを変更する際の計算の負担を軽減することができ、文章に関係する複数のレイアウト評価値を、互いに悪影響を与えることなく簡易に変更し、可読性を向上させた文章を作成することができる。また、レイアウト変数値の調整方法を状況に応じて選択し、効率よく文章レイアウトの調整を行うことができる。
【００４７】
＜実施形態２＞
次に第２の実施形態について説明する。第１の実施形態ではレイアウト評価値の算出を行い、またこのレイアウト評価値が全て基準を満たすようにレイアウト変数値の変更を行う。ただレイアウト変数値を変更するだけでは効率が悪い場合があると考えられる。そこで、レイアウト変数値調整部５０５の具体的な処理方法にバリエーションを持たせ、状況に応じて処理方法を変更することとする。実施形態１でもレイアウト変数値変更部１１０３と共通レイアウト変数値変更部１１０４の２つを選択することが可能であったが、本実施形態２ではこれらにレイアウト評価値係数変更部１１０５を追加する。これは、レイアウト評価値の計算式に含まれる係数を許容範囲内で変更することによって、評価基準を若干変更し各レイアウト評価値を合格にするものである。
【００４８】
この処理部を追加した場合の処理フローを示したものが図１８となる。ここでステップＳ１８０１〜ステップＳ１８０５についてはステップＳ６０１〜ステップＳ６０５と同一の処理を行う。またステップＳ１８０６についてもステップＳ１２０１と同一の処理である。さらに、ステップＳ１８０６で不合格のレイアウト評価値の個数が所定数より多いときに実行されるステップＳ１８１０はステップＳ１２０２と同一の処理であり、またステップＳ１８０８についてもステップＳ１２０３と同一である。実施形態２独自のものとしては、ステップＳ１８０６において不合格のレイアウト評価値の個数が所定数以下の場合の処理が挙げられる。この場合、まずステップＳ１８０７において不合格のレイアウト評価値の算出式に共通のレイアウト変数が含まれているかを確認する。そして共通のレイアウト変数をもったレイアウト評価値がない場合には、個別のレイアウト評価値の基準を許容範囲内で変更することにより効率よく処理できると考え、ステップＳ１８０９においてレイアウト評価値係数変更部１１０５を用いる。これはそれぞれのレイアウト評価値計算式の係数を個別に許容範囲内で変更し、評価基準を若干変更してレイアウト評価値を合格にすることとなる。なお、最初に変数および係数を変更する際には、それぞれに定められている最適値を使用し、その後は許容範囲内でランダムに変更する。
【００４９】
共通のものがある場合にはそれらを変更すると効率が良いと考え、ステップＳ１８０８において共通レイアウト変数値変更部１１０４を使用する。この処理は先ほども述べたように、ステップＳ１２０３と同一の処理を行うものである。
【００５０】
そして、これらの処理により決定された処理部を用いて、ステップＳ１８１１においてレイアウトパラメータもしくはレイアウト評価値算出式係数の変更を行う。実施形態２ではこれらの処理部を用いることにより、文章レイアウトの最適化を図ることとなる。なお、実施形態１と同じくレイアウト評価項目およびレイアウト変数は必ずしも全てを使用しなくてもよく、ユーザの要望に応じて使用するものを選択することが可能である。
【００５１】
以上により、レイアウト変数値の調整方法として状況に応じレイアウト評価値の算出式の係数を変更する方法をとり、より効率よく文章レイアウトの調整を行うことができる。
【００５２】
＜実施形態３＞
次に第３の実施形態について説明する。これは実施形態２で示したものを、コンピュータプログラムとして実装した際の処理の例を示している。大半の流れは図１８に示すとおりであるため、ここではステップＳ１８１１の処理の詳細について図１９を用いて説明する。
【００５３】
まず、ステップＳ１９０１においてステップＳ１８０８〜ステップＳ１８１０で選択された処理方法を読み込む。そしてその処理方法に応じて次の処理ステップが決定する。まず共通レイアウト変数値変更部１１０４が選択されている場合には、ステップＳ１９０２に進み共通の依存パラメータ、つまりレイアウト変数を変更し、その後ステップＳ１９０４において非依存パラメータの変更を行う。また、レイアウト変数値変更部１１０３が選択されている場合には、ステップＳ１９０３に進み全依存パラメータ、つまり全レイアウト変数の変更を行い、その後ステップＳ１９０４において非依存パラメータの変更を行う。最後に、レイアウト評価値係数変更部１１０５が選択されている場合には、ステップＳ１９０５へと進み不合格であるレイアウト評価値の計算式の係数の変更を行う。この場合にはレイアウトパラメータの変更を行っていないため、文章レイアウト自体の変更は起こっていない。そして、これらの処理を行った後、ステップＳ１８０２へと戻りレイアウトの実行、変更回数の判定、各レイアウト評価値の算出、レイアウト評価値が基準を満たしているかの判定を順次行っていく。このようにして実施形態３では文章レイアウトの最適化を行う。なお、実施形態１、２と同じくレイアウト評価項目およびレイアウト変数は必ずしも全てを使用しなくてもよく、ユーザの要望に応じて使用するものを選択することが可能である。
【００５４】
以上により、コンピュータ上で文章レイアウトの調整を効率よく行うことができる。
【００５５】
＜その他の実施形態＞
その他の実施形態として、以下のようなものがあげられる。まず、所定回数以上変更を行っても全レイアウト評価値が合格にならない場合には、その時点までで一番多くのレイアウト評価値を合格にできたものを最適なものとして採用することとする。例えば図２０では、入力文章２００１に対して所定回数レイアウト変数の変更を行った結果、各行のバランスのみ合格にできなかったとする。その場合、この状態を最善として、文書２００２を出力する。
【００５６】
また、第１の実施形態では入力された文章のレイアウト最適化を目的としていたが、手動での編集時の改悪を防ぐこともできる。例えば文字サイズが許容範囲内の値になっているときに、手動編集によって許容範囲外の値を取ろうとしている際に、それを防ぎ許容範囲内でとどめる、もしくは編集作業自体をキャンセルすることができる。
【００５７】
以上により、可読性が損なわれる編集を予防し、与えられた状況の下で最善の文章レイアウトの生成を行うことができる。
【００５８】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005709518.tif 000002
【図２】
0005709518.tif 000003
【図３】
0005709518.tif 000004
【図４】
0005709518.tif 000005
【図５】
0005709518.tif 000006
【図６】
0005709518.tif 000007
【図７】
0005709518.tif 000008
【図８】
0005709518.tif 000009
【図９】
0005709518.tif 000010
【図１０】
0005709518.tif 000011
【図１１】
0005709518.tif 000012
【図１２】
0005709518.tif 000013
【図１３】
0005709518.tif 000014
【図１４】
0005709518.tif 000015
【図１５】
0005709518.tif 000016
【図１６】
0005709518.tif 000017
【図１７】
0005709518.tif 000018
【図１８】
0005709518.tif 000019
【図１９】
0005709518.tif 000020
【図２０】
0005709518.tif 000021