(57)【要約】【課題】印刷物におけるレイアウトや誤記等を適宜修正可能とし、ユーザにとって利便性の高い印刷装置及び印刷プログラムを提供する。【解決手段】多機能機１は、スキャナ部２５により、文字列を含む原稿に基づいた生成文書データ５０を取得する。ＣＰＵ１１は、生成文書データ５０内に存在する文字列を、各文字の書式データに基づいて、テキストブロック５１に分割する（Ｓ４）。ＣＰＵ１１は、テキストブロック５１の文字に対する誤字修正を受け付ける（Ｓ６）。誤字修正により重複領域６０が生じた場合、ＣＰＵ１１は、生成文書データ５０におけるテキストブロック５１の位置を自動的に調整することで、重複領域６０を解消する（Ｓ４３）。ＣＰＵ１１は、ユーザの操作に基づいて、生成文書データ５０に基づき、重複領域６０のない印刷物を出力する（Ｓ１５）。【選択図】図２
2010204898.tif 000002
【特許請求の範囲】
【請求項１】
文字を含む原稿から画像データを読み取る読取手段と、
前記読取手段により取得された画像データに基づいて、前記原稿に含まれる文字に対応する文字データと、当該文字データに対する書式データと、を含む文書データを取得する文書取得手段と、
前記書式データに基づいて、同一の書式が対応付けられた連続する文字データから構成されるテキストブロックを生成するブロック生成手段と、
ユーザの操作に用いられる操作手段と、
前記操作手段の操作に基づいて、前記操作手段により特定された特定テキストブロックの前記文書データにおける配置を変更するブロック配置変更手段と、
前記ブロック配置変更手段により特定テキストブロックの配置を変更することで、前記文書データにおいて、複数のテキストブロックの配置領域が重複した重複領域が発生した場合に、配置が変更されたテキストブロックとの間に重複領域が生じた対象テキストブロックを所定方向に移動し、重複領域を解消するレイアウト調整手段と、
前記文書データを用紙に印刷する印刷手段と、
を備えることを特徴とする印刷装置。
【請求項２】
請求項１記載の印刷装置であって、
前記ブロック配置変更手段は、
前記操作手段の操作に基づいて、前記文書データを構成する文字データから、修正対象文字データを特定する特定手段と、
前記特定手段により特定された修正対象文字データを、ユーザ所望の態様に修正する文字修正手段と、
前記文字修正手段による修正対象文字データの修正に基づいて、当該修正対象文字データを含むテキストブロックを、前記特定テキストブロックに特定し、当該特定テキストブロックの配置を変更するブロック修正手段と、
を備え、
前記レイアウト調整手段は、
前記文字修正手段による修正対象文字データの修正によって、特定テキストブロックの配置が変更され、前記文書データ内に前記重複領域が生じた場合、前記対象テキストブロックを所定方向に移動し、重複領域を解消する
ことを特徴とする印刷装置。
【請求項３】
請求項１又は２記載の印刷装置において、
前記レイアウト調整手段は、
前記文書データ内に重複領域が発生した場合に、前記文書データにおける一方向を、前記対象テキストブロックの移動方向とし、当該対象テキストブロックにおける前記重複領域の解消に要する移動距離を算出する算出手段と、
前記文書データにおける全方向に対する移動距離を算出するまで、前記算出手段によって、対象テキストブロックの移動距離を算出する際の移動方向を変更する方向変更手段と、
前記文書データにおける重複領域が解消する場合に、前記算出手段の算出結果に基づいて、前記対象テキストブロックに該当する全てのテキストブロックの移動方向と、当該テキストブロックの移動距離を含む移動パターンデータを記憶するパターン記憶手段と、
前記各移動パターンデータにおける各テキストブロックの移動距離の総和を算出し、当該算出結果に基づいて、前記パターン記憶手段に記憶された移動パターンデータから、最も移動距離の総和の小さい一の移動パターンを特定する移動パターン特定手段と、
前記移動パターン特定手段により特定された移動パターンに基づいて、前記対象テキストブロックに該当するテキストブロックを移動する第１ブロック移動手段と、
を備えることを特徴とする印刷装置。
【請求項４】
請求項１又は２記載の印刷装置において、
前記レイアウト調整手段は、
前記文書データ内に重複領域が発生した場合に、前記文書データにおける一方向を、前記対象テキストブロックの移動方向とし、当該対象テキストブロックにおける前記重複領域の解消に要する移動距離を算出する算出手段と、
前記文書データにおける全方向に対する移動距離を算出するまで、前記算出手段によって、対象テキストブロックの移動距離を算出する際の移動方向を変更する方向変更手段と、
前記算出手段の算出結果に基づいて、対象テキストブロックの移動距離が最も短い方向を、当該対象テキストブロックの移動方向に設定する移動方向設定手段と、
前記特定テキストブロックとの間に生じた重複領域が解消するまで、当該重複テキストブロックを前記移動方向設定手段により設定された移動方向へ移動させる第２ブロック移動手段と、
前記第２ブロック移動手段により対象テキストブロックが移動したことにより、当該対象テキストブロックと他のテキストブロックとの間に重複領域が生じた場合に、当該対象テキストブロックを特定テキストブロックに設定し、前記他のテキストブロックを対象テキストブロックに設定するブロック設定変更手段と、
を備えることを特徴とする印刷装置。
【請求項５】
請求項１乃至４のいずれかに記載の印刷装置において、
前記レイアウト調整手段により前記文書データ内の重複領域が解消した場合に、前記レイアウト調整手段によって変更された配置に従って、当該文書データを構成する各テキストブロックの配置を表示する表示手段と、
前記レイアウト調整手段によって変更された配置で前記文書データの内容が前記表示手段に表示されている場合に、前記操作手段の操作に基づいて、前記印刷手段による当該文書データの印刷実行を受け付ける受付手段と、
前記受付手段により印刷実行が受け付けられた場合に、当該文書データの用紙に対する印刷を実行するように前記印刷手段を制御する印刷制御手段と、
を備えることを特徴とする印刷装置。
【請求項６】
コンピュータを、
文字を含む原稿から画像データを読み取る読取手段と、
前記読取手段により取得された画像データに基づいて、前記原稿に含まれる文字に対応する文字データと、当該文字データに対する書式データと、を含む文書データを取得する文書取得手段と、
前記書式データに基づいて、同一の書式が対応付けられた連続する文字データから構成されるテキストブロックを生成するブロック生成手段と、
ユーザの操作に用いられる操作手段と、
前記操作手段の操作に基づいて、前記操作手段により特定された特定テキストブロックの前記文書データにおける配置を変更するブロック配置変更手段と、
前記ブロック配置変更手段により特定テキストブロックの配置を変更することで、前記文書データにおいて、複数のテキストブロックの配置領域が重複した重複領域が発生した場合に、配置が変更されたテキストブロックとの間に重複領域が生じた対象テキストブロックを所定方向に移動し、重複領域を解消するレイアウト調整手段と、
前記文書データを用紙に印刷する印刷手段と、
として機能させるための印刷プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、原稿から取得された画像データに基づく文書データを印刷する際に、ユーザ所望の態様に適宜調整可能な印刷装置及び印刷プログラムに関する。
【背景技術】
【０００２】
従来、文書データを印刷した結果、印刷物における文書のレイアウトが、ユーザ所望の態様と異なることがある。又、当該印刷物には、誤記等が含まれている事態も生じ得る。このような場合、所望の印刷物を得るためには、ユーザは、種々の煩雑な作業を行う必要がある。
【０００３】
例えば、修正液等により印刷物自体を手作業で修正する場合、ユーザは、更に煩雑な作業を行わなければならない。そして、手作業で修正した場合、印刷物における修正箇所が明確になってしまい、当該印刷物の見栄えが悪化する。又、ユーザは、パーソナルコンピュータ等の端末まで戻り、基となる文書データを編集・修正した後、再度印刷する必要がある。この場合、基となる文書データが消去されていると、ユーザは、再度データを作成しなければならない。
【０００４】
ここで、印刷物をスキャンした画像データから文書データを取得する方法として、光学文字認識機能（所謂、ＯＣＲ機能）を用いた方法がある。例えば、特許文献１には、光学文字認識機能を用いた文書読取装置に関する発明の一例が開示されている。当該特許文献１記載の文書読取装置は、光学文字認識機能を用いて、原稿（印刷物）と同一のレイアウトの文書データを取得し得る。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−５８８２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
当該特許文献１記載の文書読取装置は、原稿出力時におけるレイアウトを再現することはできるが、原稿を印刷出力した後のレイアウトの変更には対応できない。又、当該文書読取装置は、原稿中の誤記に対応することもできない。本明細書は、印刷物におけるレイアウトや誤記等を適宜修正可能とし、ユーザにとって利便性の高い印刷装置及び印刷プログラムを提供する。
【課題を解決するための手段】
【０００７】
本発明の請求項１に係る印刷装置は、読取手段と、文書取得手段と、ブロック生成手段と、操作手段と、ブロック配置変更手段と、レイアウト調整手段と、印刷手段と、を備える。読取手段は、文字を含む原稿から画像データを取得する。文書取得手段は、読み取られた画像データから、文書データを取得する。当該文書データは、文字データと、書式データとを含む。ブロック生成手段は、書式データに基づいて、同一の書式が対応付けられた連続する文字データを判別し、当該文字データからなるテキストブロックを生成する。ユーザは、操作手段を用いて、前記文書データにおける特定テキストブロックの配置（即ち、文書データのレイアウト）を変更し得る。レイアウトの変更により他のテキストブロックとの間に重複領域が生じた場合、レイアウト調整手段は、対象テキストブロックを所定方向に移動し、重複領域を解消する。そして、印刷手段は、文書データに基づく印刷を用紙に施す。
【０００８】
当該印刷装置は、文書データにおけるレイアウト等の修正に関する作業負担を低減しつつ、ユーザ所望のレイアウトに沿った判読性の高い文書をユーザに提供し得る。
【０００９】
そして、請求項２記載の印刷装置において、ブロック配置変更手段は、特定手段と、文字修正手段と、ブロック修正手段と、を備える。操作手段により修正対象文字データが特定されると、文字修正手段は、修正対象文字データを、ユーザ所望の態様に修正する。そして、ブロック修正手段は、修正対象文字データが修正されると、当該修正対象文字データを含むテキストブロックを特定テキストブロックに特定し、当該特定テキストブロックの配置を変更する。
【００１０】
当該印刷装置は、誤字修正に基づくテキストブロックの配置変更によって重複領域が生じた場合にも、誤字修正とレイアウト調整を文書データに施すことにより、ユーザ所望の態様の印刷結果を確実に提供し得る。
【００１１】
又、請求項３記載の印刷装置において、レイアウト調整手段は、算出手段と、方向変更手段と、パターン記憶手段と、移動パターン特定手段と、第１ブロック移動手段と、を備える。算出手段は、前記文書データ内に重複領域が発生した場合に、前記文書データにおける一方向を、前記対象テキストブロックの移動方向とし、重複領域の解消に要する移動距離を算出する。移動距離の算出は、方向変更手段により文書データにおける全方向に対して行われる。そして、パターン記憶手段は、文書データ中に重複領域が発生しない場合の移動パターンデータを記憶する。移動パターンデータは、移動されるテキストブロックの移動距離の総和が最も小さい移動パターンを特定する。第１ブロック移動手段は、特定された移動パターンに従って、当該テキストブロックを移動させる。
【００１２】
当該印刷装置は、最もテキストブロックの移動が少なく且つ重複領域が存在しない状態に、各テキストブロックの配置を変更し、ユーザが当初意図したレイアウトに近似しつつ、文書の判読性の高い印刷物を提供し得る。
【００１３】
そして、請求項４記載の印刷装置において、レイアウト調整手段は、算出手段と、方向変更手段と、移動方向設定手段と、第２ブロック移動手段と、ブロック設定変更手段と、を備える。算出手段は、前記文書データ内に重複領域が発生した場合に、前記文書データにおける一方向を、前記対象テキストブロックの移動方向とし、重複領域の解消に要する移動距離を算出する。移動距離の算出は、方向変更手段により文書データにおける全方向に対して行われる。移動方向設定手段は、算出手段の算出結果に基づいて、対象テキストブロックの移動距離が最も短い方向を、当該対象テキストブロックの移動方向に設定する。第２ブロック移動手段は、移動方向設定手段により設定された移動方向へ、特定テキストブロックとの間に生じた重複領域が解消するまで、重複テキストブロックを移動させる。ブロック設定変更手段は、前記第２ブロック移動手段による対象テキストブロックの移動に基づいて、当該対象テキストブロックと他のテキストブロックとの間に重複領域が生じた場合に、当該対象テキストブロックを特定テキストブロックに設定し、前記他のテキストブロックを対象テキストブロックに設定する。
【００１４】
当該印刷装置は、特定テキストブロックと対象テキストブロックの間に生じた重複領域を、順次解消し、ユーザが当初意図したレイアウトから大きく離れることなく、文書の判読性の高い印刷物を提供し得る。
【００１５】
更に、請求項５記載の印刷装置は、表示手段と、受付手段と、印刷制御手段と、を備える。表示手段は、前記レイアウト調整手段により前記文書データ内の重複領域が解消した場合に、前記レイアウト調整手段によって変更された配置に従って、当該文書データを構成する各テキストブロックの配置を表示する。受付手段は、表示手段に調整後の各テキストブロックの配置が表示されている場合に、文書データの印刷実行を受け付ける。そして、印刷制御手段は、受付手段により印刷実行が受け付けられた場合に、当該文書データの印刷を実行するように印刷手段を制御する。
【００１６】
当該印刷装置は、表示手段の表示内容をユーザに確認させることで、確実に、原稿の内容に基づく文書を、ユーザの意図に合致した態様で提供し得る。
【００１７】
そして、請求項６記載の印刷プログラムは、コンピュータを、請求項１記載の印刷装置と同様に機能させる。即ち、当該印刷プログラムは、コンピュータと協働することにより、読取手段と、文書取得手段と、ブロック生成手段と、操作手段と、ブロック配置変更手段と、レイアウト調整手段と、印刷手段として機能する。
【００１８】
当該印刷プログラムは、コンピュータと協働することにより、請求項１記載の印刷装置と同様の効果を奏する。即ち、当該印刷プログラムは、文書データにおけるレイアウト等の修正に関する作業負担を低減しつつ、ユーザ所望のレイアウトに沿った判読性の高い文書をユーザに提供し得る。
【図面の簡単な説明】
【００１９】
【図１】第１実施形態に係る多機能機の構成を示す説明図である。
【図２】本発明に係る制御プログラムのフローチャートである。
【図３】テキストブロックの割振り処理に関するプログラムのフローチャートである。
【図４】テキストブロックの割振りに関する説明図である。
【図５】誤字修正画面の一例を示す説明図である。
【図６】ブロック位置調整処理プログラムのフローチャートである。
【図７】第１実施形態に係るレイアウト自動調整プログラムのフローチャートである。
【図８】レイアウト自動調整に関する説明図（１）である。
【図９】レイアウト自動調整に関する説明図（２）である。
【図１０】レイアウト自動調整に関する説明図（３）である。
【図１１】第２実施形態に係るレイアウト自動調整プログラムのフローチャートである。
【発明を実施するための形態】
【００２０】
以下、本発明に係る印刷装置を、多機能機１に具体化した一実施形態について、図面を参照しつつ詳細に説明する。
【００２１】
（第１実施形態）
先ず、多機能機１の概略構成について、図面を参照しつつ詳細に説明する。図１に示すように、多機能機１は、制御部１０を有している。制御部１０は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３により構成される。ＣＰＵ１１は、多機能機１の制御の中枢を担う中央演算装置である。ＲＯＭ１２は、多機能機１の制御に要するデータやプログラムを記憶している。そして、ＲＡＭ１３は、ＣＰＵ１１によるプログラムの演算結果等を一時的に記憶する。
【００２２】
又、多機能機１は、ＨＤＤ１５（Hard Disk Drive）を備えている。ＨＤＤ１５は、ＯＣＲ機能プログラム１６、テキスト解析プログラム１７、文字変換プログラム１８、辞書データ記憶領域１９等を含む各種プログラムを記憶している。
【００２３】
ＯＣＲ機能プログラム１６は、スキャナ部２５で取得したスキャンデータに対するＯＣＲ（Optical Character Reader）機能を担い、スキャンデータに対する文字及び書式を認識し、生成文書データ５０を生成する際に実行される。
【００２４】
テキスト解析プログラム１７は、生成文書データ５０に含まれる文字、画像を解析し、後述するテキストブロック５１の割振りを担う。
【００２５】
文字変換プログラム１８は、後述する再変換修正（Ｓ８）による誤字修正を行う際に実行される。辞書データ記憶領域１９は、文字変換プログラムによる再変換時に参照される辞書データを記憶している。
【００２６】
そして、多機能機１は、キーパッド２１、タッチパネル２２、ディスプレイ２３を有している。キーパッド２１は、複数のキーにより構成され、ユーザによる種々の操作に用いられる。タッチパネル２２は、ディスプレイ２３表面に配設されており、ユーザによる種々の操作に用いられる。ディスプレイ２３は、制御部１０の制御により、種々の画像（例えば、誤字修正画面４０等）を表示し得る。
【００２７】
更に、多機能機１は、スキャナ部２５、印刷部２６、ファックス部２７を備えている。スキャナ部２５は、セットされた原稿に基づく画像データを、スキャンデータとして取得する際に用いられる。図１における多機能機１の外観図からわかるように、スキャナ部２５は、フラットベットと、キャリッジと、を有している。
【００２８】
フラットベットは、光透過可能な材質（例えば、ガラス）で構成されている。当該フラットベットには、原稿が載置される。フラットベットのサイズは、Ａ３サイズ等の用紙を載置可能なサイズである。従って、ユーザは、一度に複数枚の原稿を、フラットベットに載置することができる。
【００２９】
キャリッジは、フラットベット上の原稿に光を照射する光源を有している。キャリッジから照射された光は、フラットベット上の原稿により反射され、撮像装置による原稿画像の撮像に用いられる。撮像装置は、複数の撮像素子（例えば、ＣＣＤ）を有しており、スキャナ部２５を構成する。
【００３０】
印刷部２６は、制御部１０の制御に基づいて、入力された印刷データを用紙へ印刷出力する。
【００３１】
ファックス部２７は、制御部１０の制御に基づいて、所定の相手先装置に対して、ファクシミリ送信を行う。即ち、ファックス部２７は、入力されたファックス送信データを、公衆交換電話網等を介して、相手先装置にデータ出力する。ファックス部２７の詳細な構成は、既に公知であるためその説明を省略する。
【００３２】
又、多機能機１は、ＰＳＴＮ  Ｉ／Ｆ２８と、ネットワークＩ／Ｆ２９と、を備えている。そして、ＰＳＴＮ  Ｉ／Ｆ２８は、公衆交換電話網を介した通話時に用いられる。ネットワークＩ／Ｆ２９は、外部装置（例えば、パーソナルコンピュータ等）との間におけるデータの送受信に用いられる。
【００３３】
次に、第１実施形態に係る多機能機１のＣＰＵ１１で実行される制御プログラムについて、図２を参照しつつ詳細に説明する。
【００３４】
尚、以下の説明において、多機能機１のスキャナ部２５には、文字や画像を含む原稿がセットされているものとする。当該原稿の内容は、誤字の修正やレイアウト変更の対象となる。
【００３５】
Ｓ１においては、「Repair Copyキー」の入力があったか否かを判断する。「Repair Copyキー」は、キーパッド２１を構成するキーの一つであり、誤字修正やレイアウト変更を行う際に操作される。「Repair Copyキー」の入力があった場合（Ｓ１：ＹＥＳ）、Ｓ２に処理を移行する。そうでない場合（Ｓ１：ＮＯ）、「Repair Copyキー」の入力があるまで、処理を待機する。
【００３６】
Ｓ２に移行すると、スキャナ部２５を制御することによって、セットされている原稿をスキャンし、当該原稿に基づくスキャンデータを取得する。そして、取得したスキャンデータをＲＡＭ１３に格納する。
【００３７】
Ｓ３では、取得したスキャンデータを構成する画像の解析・文字認識を行い、当該スキャンデータに基づく生成文書データ５０（図４参照）を生成する。具体的に説明すると、先ず、スキャンデータを対象として、ＯＣＲ機能プログラム１６を実行し、文字認識処理を行う。原稿に基づく文書を有する生成文書データ５０は、当該文字認識処理の処理結果に基づいて生成される。
【００３８】
尚、原稿中の文書における書式データは、この文字認識処理の際に取得される。当該書式データは、生成文書データ５０を構成する文字毎に付与され、文字のサイズ、フォント、カラーの情報を含む。又、この時、スキャンデータに含まれる画像（原稿中の画像に基づくもの）を判別し、当該画像を生成文書データ５０における画像ブロック５２として登録する（図４参照）。
【００３９】
そして、生成文書データ５０を対象として、テキスト解析プログラム１７を実行する。テキスト解析プログラム１７を実行することで、生成文書データ５０に含まれるテキストデータを、大ブロックに分割する。この時、一行分のテキスト列を構成する文字数や行間の大きさ等の情報に基づいて、大ブロックに分割する（図４参照）。
【００４０】
Ｓ４においては、テキストブロックの割振りに関する処理を行う。この時、ＣＰＵ１１は、図３に示すテキストブロック割振り処理プログラムを実行する。
【００４１】
ここで、テキストブロックの割振り処理プログラムについて、図３、図４を参照しつつ詳細に説明する。図３は、テキストブロックの割振り処理プログラムのフローチャートである。
【００４２】
Ｓ４に移行すると、まず、生成文書データ５０から対象テキスト列を読み出す。対象テキスト列は、テキストブロック割振り処理の処理対象を意味し、生成文書データ５０における一行分のテキスト列である。
【００４３】
Ｓ２２では、対象テキスト列を構成する各文字の書式データに基づいて、対象テキスト列に、フォントが相違する文字（以下、フォント相違文字という）が存在するか否かを判断する。即ち、対象テキスト列が単一種類のフォントに係る文字で構成されているか否かを判断する。フォント相違文字が存在する場合（Ｓ２２：ＹＥＳ）、Ｓ２３に処理を移行する。そうでない場合（Ｓ２２：ＮＯ）、Ｓ２４に処理を移行する。
【００４４】
Ｓ２３においては、フォント相違文字の前後で、対象テキスト列を、複数のテキストブロック５１に分割する。従って、テキストブロック５１は、単一種類のフォントの文字により構成される。
【００４５】
Ｓ２４に移行すると、対象テキスト列を構成する各文字の書式データに基づいて、対象テキスト列に、カラーの相違する文字（以下、カラー相違文字という）が存在するか否かを判断する。即ち、対象テキスト列が単一色の文字で構成されているか否かを判断する。カラー相違文字が存在する場合（Ｓ２４：ＹＥＳ）、Ｓ２５に処理を移行する。そうでない場合（Ｓ２４：ＮＯ）、Ｓ２６に処理を移行する。
【００４６】
Ｓ２５では、カラー相違文字の前後で、対象テキスト列を、複数のテキストブロック５１に分割する。従って、テキストブロック５１は、単一色の文字により構成される。
【００４７】
Ｓ２６においては、対象テキスト列を構成する各文字の書式データに基づいて、対象テキスト列に、サイズが相違する文字（以下、サイズ相違文字という）が存在するか否かを判断する。即ち、対象テキスト列が単一サイズの文字で構成されているか否かを判断する。サイズ相違文字が存在する場合（Ｓ２６：ＹＥＳ）、Ｓ２７に処理を移行する。そうでない場合（Ｓ２６：ＮＯ）、Ｓ２８に処理を移行する。
【００４８】
Ｓ２７に移行すると、サイズ相違文字の前後で、対象テキスト列を、複数のテキストブロック５１に分割する。従って、テキストブロック５１は、同一サイズの文字により構成される。
【００４９】
図４に示す例に従って具体的に説明する。例えば、対象テキスト列が図４における「ＡＡＡ〜だろう。」の一行である場合、「ＡＡＡ」、「ＢＢＢ」は、対象テキスト列を構成する他の文字と比較して、異なる文字サイズを有している。従って、Ｓ２７の処理により、当該対象テキスト列は、「ＡＡＡ」「と、元王者」「ＢＢＢ」「だろう。」の4つのテキストブロック５１に分割される。
【００５０】
Ｓ２８では、対象テキスト列に相違文字が存在するか否かを判断する。即ち、対象テキスト列が、フォント、カラー、サイズの全てが同一の文字により構成されているか否かを判断する。相違文字とは、上述したフォント相違文字、カラー相違文字、サイズ相違文字を総括する概念である。相違文字が存在する場合（Ｓ２８：ＹＥＳ）、Ｓ２９に処理を移行する。そうでない場合（Ｓ２８：ＮＯ）、Ｓ３２に処理を移行する。
【００５１】
Ｓ２９においては、ＲＡＭ１３に形成されているテンポラリブロック記憶領域に現在記憶されているテンポラリブロックを、テキストブロック５１として確定し、ＲＡＭ１３に登録する。テンポラリブロックは、既に対象テキスト列として処理対象となった文字列であり、フォント、カラー、サイズが同一の文字で構成された文字列のブロックである。
【００５２】
上述した対象テキスト列が、図４における「ＡＡＡ〜だろう。」の一行である場合、「今回注目となるのは、やはりランク１位の」という文字列が、テンポラリブロックとして、テンポラリブロック記憶領域に記憶されている。Ｓ２９では、当該「今回注目〜１位の」のテンポラリブロックが、テキストブロック５１として、ＲＡＭ１３に登録される（図４参照）。
【００５３】
Ｓ３０に移行すると、Ｓ２９でテキストブロック５１して登録したテンポラリブロックを、前記テンポラリブロック記憶領域から消去し、テンポラリブロック記憶領域を初期化する。
【００５４】
Ｓ３１では、対象テキスト列の分割によって生成された各テキストブロック５１を、夫々、独立したテキストブロック５１として、ＲＡＭ１３に登録する。
【００５５】
図４に基づく上述の具体例の場合、Ｓ３１により、「ＡＡＡ」「と、元王者」「ＢＢＢ」「だろう。」が、夫々、独立したテキストブロック５１として、ＲＡＭ１３に登録される。
【００５６】
Ｓ３２においては、テンポラリブロック記憶領域に記憶されているテンポラリブロックを更新する。即ち、現在、テンポラリブロック記憶領域に記憶されているテンポラリブロックに、対象テキスト列を追加する。
【００５７】
図４に基づく具体例に従って、Ｓ３２の処理について説明する。この具体例の場合、テンポラリブロックとして、「しかし、無論容易な道ではない。」の一列が記憶されている。この時、対象テキスト列は、「何十人もの強豪がひしめき合う中、誰が」である。この具体例におけるテンポラリブロック、対象テキスト列は、全て同一のフォント、カラー、サイズの文字で構成されている。従って、Ｓ３２により、テンポラリブロック記憶領域の記憶内容は、「しかし、無論〜ひしめき合う中、誰が」の２行分の文字列を示すテンポラリブロックに更新される。
【００５８】
Ｓ３３に移行すると、生成文書データ５０に含まれる全てのテキストについて、テキストブロックの割振り処理を完了したか否かを判断する。全テキストに対する処理を完了している場合（Ｓ３３：ＹＥＳ）、Ｓ３４に処理を移行する。そうでない場合（Ｓ３３：ＮＯ）、Ｓ２１に処理を戻す。
【００５９】
Ｓ３４では、全テキストに対する処理を完了した際のテンポラリブロックを、テキストブロック５１として、ＲＡＭ１３に登録し、テキストブロックの割振り処理プログラムを終了する。
【００６０】
再び図２に基づいて、上記制御プログラムのＳ５以後の処理について説明する。Ｓ５に移行すると、テキストブロック５１の割振りを行った生成文書データ５０に基づいて、ディスプレイ２３に、簡易プレビュー表示を行う（図５中、上段図参照）。当該簡易プレビュー表示において、生成文書データ５０中の画像ブロック５２は、簡易画像として表示される。簡易画像は、原稿中の画像の位置、範囲のみを示し、当該画像の内容を省略した画像である。
【００６１】
Ｓ６では、タッチパネル２２を介して、ユーザによる誤字修正を受け付ける。この時、ディスプレイ２３に、誤字修正画面４０を表示する。
【００６２】
ここで、誤字修正画面４０について、図５を参照しつつ詳細に説明する。図５に示すように、誤字修正画面４０は、テキスト内容表示部４１を有する。テキスト内容表示部４１は、生成文書データ５０に基づいて、当該生成文書データに含まれるテキスト及び簡易画像の内容を表示する。尚、図５に示す場合、テキスト内容表示部４１は、生成文書データの一部を表示しているが、タッチパネル２２を用いたスクロール操作を行うことにより、生成文書データ５０の異なる部分を表示し得る。
【００６３】
修正対象範囲４２は、生成文書データ５０におけるテキストの内、誤字修正の対象とする文字又は文字列（以下、修正対象テキストという）を示す。ＣＰＵ１１は、ユーザによるタッチパネル２２の操作に基づいて、修正対象テキストを特定し、テキスト内容表示部４１中における修正対象テキスト部分に、修正対象範囲４２を表示する。
【００６４】
修正対象テキストが特定され、修正対象範囲４２が表示されると、誤字修正画面４０には、メッセージ表示４３が追加される。
【００６５】
メッセージ表示４３は、修正対象テキストを読みベースで再変換するか否かを問うメッセージを表示する。又、メッセージ表示４３は、変換実行ボタン４４と、変換取消ボタン４５を有する。
【００６６】
変換実行ボタン４４は、誤字修正の方法として、「修正対象テキストの再変換」を行う際に操作される。変換取消ボタン４５は、ユーザが手動で修正対象テキスト部分に対する編集を行う際に操作される。
【００６７】
再び、図２に基づいて、Ｓ７以後の処理について説明する。Ｓ７においては、誤字修正の方法として、再変換が選択されたか否かを判断する。具体的には、変換実行ボタン４４の入力があったか否かに基づいて、Ｓ７の判断を行う。再変換が選択された場合（Ｓ７：ＹＥＳ）、Ｓ８に処理を移行する。そうでない場合（Ｓ７：ＮＯ）、Ｓ９に処理を移行する。
【００６８】
Ｓ８に移行すると、修正対象テキストに対する再変換修正を行う。具体的には、辞書データ記憶領域１９を参照しつつ、文字変換プログラム１８を実行することにより、修正対象範囲４２に設定された修正対象テキストを、読みベースで変換する。再変換修正は、ユーザ所望の態様に修正されるまで、繰り返し行い得る。
【００６９】
Ｓ９では、修正対象テキスト部分に対する手動修正を行う。具体的には、ユーザによるタッチパネル２２、キーパッド２１の入力を受け付け、修正対象テキスト部分に対して、入力に応じた文字の追加、削除等を行う。手動修正も、ユーザ所望の態様に修正されるまで、繰り返し行い得る。
【００７０】
尚、Ｓ８、Ｓ９により、修正対象テキスト部分を修正すると、当該修正対象テキストを含むテキストブロック５１を構成する文字数や文字サイズが変更される場合がある。この場合、当該テキストブロック５１は、増加領域５５を有する場合がある（図８、図９参照）。増加領域５５は、当該テキストブロック５１を構成する文字数の増加や文字サイズの変更等の修正により、修正前から増加した当該テキストブロック５１の占有領域を意味する。
【００７１】
Ｓ１０においては、修正済データを、ディスプレイ２３に表示する（図５中、下段図参照）。修正済データは、Ｓ８、Ｓ９により修正された生成文書データを意味する。例えば、図５に示す場合、修正対象テキストに設定された「再冗談」は、Ｓ８又はＳ９により修正され、Ｓ１０において、ユーザ所望の「最上段」として表示される（図５下段図参照）。
【００７２】
Ｓ１１に移行すると、印刷開始ボタンの入力があったか否かを判断する。印刷開始ボタンの入力があった場合（Ｓ１１：ＹＥＳ）、Ｓ１２に処理を移行する。そうでない場合（Ｓ１１：ＮＯ）、印刷開始ボタンの入力があるまで処理を待機する。印刷開始ボタンは、ディスプレイ２３上に表示され、タッチパネル２２を介して操作される。
【００７３】
Ｓ１２では、生成文書データ５０中に、重複領域６０が発生しているか否かを判断する。重複領域６０が発生している場合（Ｓ１２：ＹＥＳ）、Ｓ１３に処理を移行する。そうでない場合（Ｓ１２：ＮＯ）、Ｓ１５に処理を移行する。重複領域６０は、生成文書データ５０中の或るテキストブロック５１の占有領域が、他のテキストブロック５１の占有領域と重複している領域を意味する。各テキストブロック５１の占有領域は、当該テキストブロック５１を構成する各文字の位置、数、サイズにより算出される。
【００７４】
Ｓ１３においては、ブロック位置調整処理を実行する。具体的には、ＣＰＵ１１は、ブロック位置調整処理プログラムを実行する。
【００７５】
ここで、ブロック位置調整処理プログラムについて、図６を参照しつつ詳細に説明する。先ず、ディスプレイ２３に、調整方法選択画面（図示せず）を表示し、調整方法選択処理を行う（Ｓ４１）。調整方法選択画面は、「修正方法:自動調整」「調整方法：手動調整」「修正破棄」の３つの選択肢を含む。各選択肢は、ユーザによるタッチパネル２２の操作により選択される。
【００７６】
Ｓ４２に移行すると、「調整方法：自動調整」が選択されたか否かを判断する。「調整方法：自動調整」が選択された場合（Ｓ４２：ＹＥＳ）、Ｓ４３に処理を移行する。そうでない場合（Ｓ４２：ＮＯ）、Ｓ４５に処理を移行する。
【００７７】
Ｓ４３においては、レイアウト自動調整処理を実行する。レイアウト自動調整処理では、図８に示すように、重複領域６０を有する生成文書データ５０において、各テキストブロック５１の位置を自動的に調整することにより、当該生成文書データ５０を重複領域６０が存在しない状態に変更する。具体的には、ＣＰＵ１１は、レイアウト自動調整プログラムを実行する。
【００７８】
ここで、レイアウト自動調整プログラムについて、図７〜図１０を参照しつつ詳細に説明する。Ｓ５１では、生成文書データ５０中のテキストブロック５１から、対象ブロックを特定する。対象ブロックは、重複領域６０を有するテキストブロック５１の内、修正されたテキストを含むテキストブロック５１の影響を受けるテキストブロック５１に、特定される。
【００７９】
尚、対象ブロックは、Ｓ５２〜Ｓ５４の処理により、生成文書データ５０における位置調整の対象となるテキストブロック５１を意味する。
【００８０】
Ｓ５２においては、対象ブロックを特定の移動方向へ移動することを前提に、必要移動距離Ｄを算出する。具体的には、各テキストブロックの占有領域に基づいて、重複領域６０の範囲を求める。そして、当該重複領域６０の範囲に基づいて、必要移動距離Ｄを算出し、ＲＡＭ１３に格納する。必要移動距離Ｄは、重複領域６０を解消する際に必要な対象ブロックの移動距離を意味する。
【００８１】
Ｓ５３に移行すると、算出した必要移動距離Ｄが移動制限値Ｒよりも小さいか否かを判断する。必要移動距離Ｄが移動制限値Ｒよりも小さい場合（Ｓ５３：ＹＥＳ）、Ｓ５４に処理を移行する。そうでない場合（Ｓ５３：ＮＯ）、現在の移動方向への移動はできないことを示す移動不可情報及び当該移動方向に対するチェックが完了していることを示すチェック情報をＲＡＭ１３に格納し、Ｓ５８へ処理を移行する。
【００８２】
図９に示すように、対象ブロック（この場合、“テキストブロック（３）”）を移動制限値Ｒ以上移動させると、原稿におけるレイアウトと大きく異なる状態に、自動的に変更される。Ｓ５３の処理を行うことにより、原稿におけるレイアウトと大きく異なる態様を排除し得る。
【００８３】
Ｓ５４では、必要移動距離Ｄに基づいて、対象ブロックを現在の移動方向へ移動し、移動後の対象ブロックの位置情報をＲＡＭ１３に格納する。この時、対象ブロックの当該移動方向に対するチェック情報をＲＡＭ１３に格納する。
【００８４】
Ｓ５５においては、移動後の対象ブロックの位置情報と、他のブロックの位置情報に基づいて、対象ブロックの移動により重複領域６０が発生したか否かを判断する。重複領域６０が発生した場合（Ｓ５５：ＹＥＳ）、Ｓ５６に処理を移行する。そうでない場合（Ｓ５５：ＮＯ）、Ｓ５７へ処理を移行する。尚、以下の説明において、単に「ブロック」といった場合、当該ブロックは、テキストブロック５１及び画像ブロック５２を含む。
【００８５】
Ｓ５６に移行すると、移動パターンをＲＡＭ１３に登録する。移動パターンは、重複領域６０が解消されるまでに、対象ブロックとして移動された全てのブロックの移動方向と必要移動距離Ｄにより構成される。
【００８６】
Ｓ５７では、対象ブロックを下位ブロックに変更する。具体的には、現在の対象ブロックの位置をＳ５４で移動された位置とする。そして、当該対象ブロックとの間に生じた重複領域６０を解消すべく、他方のブロック（即ち、下位ブロック）を「新たな対象ブロック」に設定する。Ｓ５２に処理を戻す。下位ブロックは、Ｓ５４による対象ブロックの移動の結果、重複領域６０が生じたブロックを意味する。
【００８７】
Ｓ５８においては、現在の対象ブロックに係るチェック情報に基づいて、当該対象ブロックについて、全ての移動方向に対するチェックを完了したか否かを判断する。全方向のチェックが完了している場合（Ｓ５８：ＹＥＳ），Ｓ５９に処理を移行する。そうでない場合（Ｓ５８：ＮＯ）、Ｓ５２に処理を戻す。
【００８８】
Ｓ５９に移行すると、現在の対象ブロックについて、上位ブロックが存在するか否かを判断する。上位ブロックが存在する場合（Ｓ５９：ＹＥＳ）、Ｓ６０に処理を移行する。そうでない場合（Ｓ５９：ＮＯ）、Ｓ６１に処理を移行する。上位ブロックは、現在の対象ブロックとの間に重複領域６０を生じさせていたブロックであって、直前に対象ブロックであったブロックを意味する。
【００８９】
Ｓ６０では、対象ブロックを上位ブロックに変更する。具体的には、現在の対象ブロックの位置をＳ５４で移動された位置とする。そして、上位ブロックを「新たな対象ブロック」に設定し、Ｓ５２に処理を戻す。
【００９０】
Ｓ６１においては、登録移動パターンが存在するか否かを判断する。登録移動パターンが存在する場合（Ｓ６１：ＹＥＳ）、Ｓ６２に処理を移行する。そうでない場合（Ｓ６１：ＮＯ）、Ｓ６３に処理を移行する。登録移動パターンは、Ｓ５６により、ＲＡＭ１３に登録された移動パターンを意味する。尚、この登録移動パターンに従ったレイアウトに自動調整した場合、生成文書データ５０に重複領域６０が存在することはない。
【００９１】
Ｓ６２に移行すると、移動パターン比較処理を実行する。移動パターン比較処理では、登録移動パターン毎に、重複領域６０が生成文書データ５０に存在しない状態になるまでの必要移動距離Ｄの総和を算出する。そして、全ての登録移動パターンにおける必要移動距離Ｄの総和を比較し、必要移動距離Ｄが最も短い移動パターンを特定する。
【００９２】
具体的に、図１０を用いて、移動パターン比較処理について説明する。図１０に示すように、図１０（Ａ）に示す登録移動パターン、図１０（Ｂ）に示す登録移動パターンは、何れも、生成文書データ５０中に重複領域６０が存在しない状態に、レイアウトを変更し得る。
【００９３】
図１０（Ａ）に示す登録移動パターンの場合、重複領域６０が存在しない状態にするためには、「テキストブロック（３）」〜「テキストブロック（５）」を、それぞれ、「垂直移動距離Ｖ３」「垂直移動距離Ｖ４」「垂直移動距離Ｖ５」移動させる必要がある。従って、この場合の必要移動距離Ｄの総和は、「垂直移動距離Ｖ３〜垂直移動距離Ｖ５の総和」となる。
【００９４】
一方、図１０（Ｂ）に示す登録移動パターンの場合、重複領域６０が存在しない状態にするためには、「テキストブロック（３）」を、「水平移動距離Ｈ３」移動させる必要がある。従って、この場合の必要移動距離Ｄの総和は、「水平移動距離Ｈ３」となる。
【００９５】
そして、図１０（Ａ）における必要移動距離Ｄの総和と、図１０（Ｂ）における必要移動距離Ｄの総和を比較し、必要移動距離Ｄの総和が最も短い登録移動パターンを特定する。
【００９６】
登録移動パターンが存在しない場合に移行するＳ６３では、必要文字サイズＴを算出する。具体的には、生成文書データ５０に含まれる全てのテキストブロック５１を構成する文字サイズ、各テキストブロック５１のサイズ、重複領域６０のサイズに基づいて、必要文字サイズＴを算出する。必要文字サイズＴは、生成文書データ５０に存在する重複領域６０を解消するために必要な文字サイズを意味する。
【００９７】
ここで、テキストブロック５１のサイズは、当該テキストブロック５１を構成する文字サイズの影響を受ける。つまり、各テキストブロック５１の文字サイズを小さくすることで、重複領域６０を解消し得る。
【００９８】
Ｓ６４においては、算出した必要文字サイズＴがサイズ制限値Ｍより大きいか否かを判断する。必要文字サイズＴがサイズ制限値Ｍより大きい場合（Ｓ６４：ＹＥＳ）、Ｓ６５に処理を移行する。そうでない場合（Ｓ６４：ＮＯ）、Ｓ６６に処理を移行する。サイズ制限値Ｍは、各テキストブロック５１を構成する文字のサイズにおける判読性を担保した最小値である。
【００９９】
Ｓ６５に移行すると、生成文書データ５０における全てのテキストブロック５１のサイズを変更する。具体的には、全てのテキストブロック５１の文字サイズを、Ｓ６３により算出した必要文字サイズＴに変更することで、全てのテキストブロック５１のサイズを変更する。生成文書データ５０における重複領域６０は、全てのテキストブロック５１の文字サイズを必要文字サイズＴに変更すると解消する。
【０１００】
Ｓ６６では、自動調整エラーをディスプレイ２３に表示し、ユーザに報知する。自動調整エラーは、レイアウト自動調整では重複領域６０を解消し得ない旨のメッセージを含む。自動調整エラーをユーザに報知すると、レイアウト自動調整プログラムを終了し、Ｓ１０に処理を移行する。
【０１０１】
Ｓ６７においては、上記処理の内容に基づいて、レイアウト特定処理を行う。重複領域６０の存在しない状態の各ブロックの配置を決定した後、レイアウト自動調整プログラムを終了する。
【０１０２】
Ｓ６７の処理内容について、具体的に説明する。Ｓ６２から移行した場合、移動パターン比較処理（Ｓ６２）で特定された移動パターンに基づいて、生成文書データ５０内のブロックを移動し、各ブロックの位置を決定する。尚、この場合、各テキストブロック５１の文字サイズは、原稿に基づく文字サイズと同一である。
【０１０３】
Ｓ６５から移行した場合、文字サイズが必要文字サイズＴに変更された状態における各テキストブロック５１の位置に基づいて、各テキストブロックの位置及び文字サイズを決定する。尚、この場合、各テキストブロック５１のサイズは、原稿におけるサイズと若干異なる。
【０１０４】
ここで、再び、図６に示すブロック位置調整処理プログラムのＳ４４以後の処理について説明する。Ｓ４４では、調整結果表示処理を実行する。Ｓ４３又はＳ４６でレイアウト調整がなされた生成文書データ５０に基づいて、当該生成文書データ５０の内容を、スキャナ部２５に表示する。つまり、ディスプレイ２３は、重複領域６０が存在しない状態にレイアウト調整がなされた状態を表示する。従って、ユーザは、レイアウト調整の結果が自らの意図と合致しているか否かを判断し得る。
【０１０５】
Ｓ４５に移行すると、「調整方法：手動調整」が選択されたか否かを判断する。「調整方法：手動調整」が選択された場合（Ｓ４５：ＹＥＳ）、Ｓ４６に処理を移行する。そうでない場合（Ｓ４５：ＮＯ）、Ｓ４７に処理を移行する。
【０１０６】
Ｓ４６においては、レイアウト手動調整処理を実行する。具体的には、タッチパネル２２等に対する操作により、位置調整の対象となるブロックを特定する。その後、再度タッチパネル２２等に対する操作により、特定されたブロックの移動位置を決定する。ユーザによる確定操作が行われるまで、上記処理は受け付けられる。
【０１０７】
Ｓ４７では、「修正破棄」が選択されたか否かを判断する。「修正破棄」が選択された場合（Ｓ４７：ＹＥＳ）、誤字修正の内容を破棄することで、生成文書データ５０を当初の状態に戻し、Ｓ５に処理を戻す。そうでない場合（Ｓ４７：ＮＯ）、誤字修正の内容を生成文書データ５０内に保持したまま、Ｓ１０に処理を戻す。
【０１０８】
再び、図２に示す制御プログラムのＳ１４以後の処理について説明する。Ｓ１４では、印刷実行ボタンが入力されたか否かを判断する。印刷実行ボタンの入力があった場合（Ｓ１４：ＹＥＳ）、Ｓ１５に処理を移行する。そうでない場合（Ｓ１４：ＮＯ）、Ｓ１０に処理を戻す。印刷実行ボタンは、調整結果表示処理（Ｓ４３）による表示画面中に含まれ、タッチパネル２２を介して操作される。
【０１０９】
Ｓ１５に移行すると、生成文書データ５０に基づく印刷処理を実行する。具体的には、印刷部２６を制御することで、現時点における生成文書データ５０の内容を、印刷用紙上に印刷する。従って、Ｓ４３が実行された場合、当該印刷処理で出力される印刷物は、ユーザがセットした原稿に基づき、且つ、ユーザ所望のレイアウトに沿った印刷物として、出力される。更にこの場合、当該印刷物は、重複領域６０や誤記が存在しないため、判読性の高い印刷物となる。
【０１１０】
以上、説明したように、本実施形態に係る多機能機１及び制御プログラム（図２、図３、図６、図７等）は、原稿に基づいて生成した生成文書データ５０において、誤記修正（Ｓ７〜Ｓ９）やレイアウト調整（Ｓ１３）を行い得る。そして、当該多機能機１は、誤記修正やレイアウト調整がなされた生成文書データ５０に基づいて、印刷出力を行い得る（Ｓ１５）。従って、多機能機１及び制御プログラムによれば、ユーザは、多機能機１近傍に位置したまま、生成文書データ５０に誤記修正及びレイアウト調整を行い、ユーザ所望の内容及びレイアウトに修正された印刷結果を取得し得る。
【０１１１】
又、多機能機１は、誤記修正等により生成文書データ５０に重複領域６０が生じた場合、レイアウト自動調整（Ｓ４３）によって、生成文書データ５０中の重複領域６０を解消する。従って、当該多機能機１は、ユーザ所望のレイアウトに沿いつつ、重複領域６０のない判読性の高い文書をユーザに提供することができ、レイアウト調整等に係るユーザの作業負担を低減し得る。
【０１１２】
そして、レイアウト自動調整（Ｓ４３）においては、多機能機１は、ブロックの移動が最も少ない移動パターンを特定し、当該移動パターンに従って、生成文書データ５０中の重複領域６０を解消する。従って、当該多機能機１は、ユーザが当初意図したレイアウトに近似しつつ、重複領域６０がなく、文書の判読性の高い印刷物を提供し得る。
【０１１３】
又、レイアウト調整が行われた場合、レイアウト調整の結果をディスプレイ２３に表示するので（Ｓ４４）、ユーザは、レイアウト調整後の各テキストブロック５１の配置を把握し得る。そして、ユーザは、レイアウト調整の結果を確認した後、当該文書データの印刷実行を指示し得る（Ｓ１４）。当該多機能機１は、ユーザの意図に合致した態様で、原稿の内容に基づく文書を確実に提供し得る。
【０１１４】
（第２実施形態）
次に、本発明を多機能機１に適用した、上記第１実施形態と異なる実施形態を、第２実施形態として説明する。第２実施形態における多機能機１の基本的構成は、第１実施形態に係る多機能機１と同一である。従って、第１実施形態との相違点についてのみ説明する。
【０１１５】
当該多機能機１において、第２実施形態に係る制御プログラム等（図２、図３、図６、図７参照）は、上記第１実施形態と基本的に同一である。この点、第２実施形態においては、Ｓ４３で実行されるレイアウト自動調整プログラムの内容のみが、第１実施形態と相違する。
【０１１６】
従って、第２実施形態に係るレイアウト自動調整プログラムの内容について図１１を参照しつつ説明する。
【０１１７】
第２実施形態において、レイアウト自動調整処理（Ｓ４３）に移行すると、ＣＰＵ１１は、レイアウト自動調整プログラム（図１１参照）を実行する。ここで、図１１に示すレイアウト自動調整プログラムのＳ８１の処理内容は、第１実施形態におけるＳ５１と同様である。
【０１１８】
Ｓ８２に移行すると、Ｓ８１で特定された対象ブロックの全方向について、必要移動距離Ｄを算出する。そして、算出した必要移動距離Ｄが最も短い方向を、当該対象ブロックの移動方向を設定する。
【０１１９】
ここで、Ｓ８３、Ｓ８４の処理内容は、第１実施形態に係るＳ５３、Ｓ５４の処理内容と同一である。従って、当該各処理についての説明は省略する。
【０１２０】
Ｓ８５においては、Ｓ８４による移動後の対象ブロックの位置情報と、他のブロックの位置情報に基づいて、Ｓ８４における対象ブロックの移動により重複領域６０が発生したか否かを判断する。重複領域６０が発生した場合（Ｓ８５：ＹＥＳ）、Ｓ８６に処理を移行する。そうでない場合（Ｓ８５：ＮＯ）、Ｓ９４へ処理を移行する。
【０１２１】
そして、第２実施形態におけるＳ８６〜Ｓ８９の処理内容は、第１実施形態におけるＳ５７〜Ｓ６０の処理内容と同一である。従って、Ｓ８６〜Ｓ８９の処理内容に関する説明は省略する。
【０１２２】
又、第２実施形態におけるＳ９０〜Ｓ９４の処理内容は、第１実施形態におけるＳ６３〜Ｓ６７の処理内容と同一である。従って、Ｓ９０〜Ｓ９４の処理内容に関する説明は省略する。
【０１２３】
当該第２実施形態に係るレイアウト自動調整プログラム（図１１参照）は、生成文書データ５０における重複領域６０を解消し得る一の移動パターンを導き出すと（Ｓ８５：ＮＯ）、その時点で当該移動パターンに基づくレイアウトで各ブロックの位置を特定する（Ｓ９４）。従って、第２実施形態に係るレイアウト自動調整プログラムは、レイアウト自動調整に関する処理負担を軽減することができ、迅速な処理を可能とし得る。
【０１２４】
このように構成することで、第２実施形態に係る多機能機１及び制御プログラムは、第１実施形態に係る多機能機１及び制御プログラムと同様の効果を奏する。即ち、当該多機能機１及び制御プログラムは、生成文書データ５０に存在する重複領域６０を、順次解消し得る。この結果、当該多機能機１は、ユーザが当初意図したレイアウトから大きく離れることなく、文書の判読性の高い印刷物を提供し得る。又、当該多機能機１は、第１実施形態と同様に、レイアウト調整等に係るユーザの作業負担を低減し得る。
【０１２５】
又、レイアウト調整が行われた場合、レイアウト調整の結果をディスプレイ２３に表示するので（Ｓ４４）、ユーザは、レイアウト調整後の各テキストブロック５１の配置を把握し得る。そして、ユーザは、レイアウト調整の結果を確認した後、当該文書データの印刷実行を指示し得る（Ｓ１４）。当該多機能機１は、ユーザの意図に合致した態様で、原稿の内容に基づく文書を確実に提供し得る。
【０１２６】
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能である。
例えば、上記実施形態においては、誤字修正等により、重複領域６０が生成文書データ５０に生じた場合にレイアウト自動調整を行っていたが、この態様に限定されるものではない。例えば、レイアウト手動調整（Ｓ４６）において、任意のブロックを移動させた結果、重複領域６０が生じた場合において、その後の処理として、レイアウト自動調整（図７、図１１参照）を行うように構成することも可能である。
【０１２７】
又、上記実施形態においては、テキストブロック５１を構成する文字の文字サイズを変更する際に、全てのテキストブロック５１を対象としていたが、この態様に限定されるものではない。例えば、修正対象テキストを含むテキストブロック５１の文字サイズのみを変更するように構成することも可能である。又、重複領域６０が生じている複数のテキストブロック５１（即ち、上位ブロック、下位ブロック）の文字サイズを変更する構成を採用してもよい。
【０１２８】
更に、第１実施形態では、必要移動距離Ｄの総和により、移動パターンを決定していたが、この態様に限定するものではない。例えば、上位ブロックの移動距離と、下位ブロックの移動距離に、夫々異なる係数を乗算した値の総和をもって、移動パターンを決定するように構成することもできる。この場合、下位ブロックとなるほど、乗算される係数を大きくすることで、原稿のレイアウトと大きく異なるレイアウトへの自動調整を防止し得る。
【符号の説明】
【０１２９】
１    多機能機
１０  制御部
１１  ＣＰＵ
１３  ＲＡＭ
１６  ＯＣＲ機能プログラム
１７  テキスト解析プログラム
１８  文字変換プログラム
１９  辞書データ記憶領域
２１  キーパッド
２２  タッチパネル
２３  ディスプレイ
２５  スキャナ部
２６  印刷部
４０  誤字修正画面
５０  生成文書データ
５１  テキストブロック
６０  重複領域
【図１】
2010204898.tif 000003
【図２】
2010204898.tif 000004
【図３】
2010204898.tif 000005
【図４】
2010204898.tif 000006
【図９】
2010204898.tif 000007
【図５】
2010204898.tif 000008
【図６】
2010204898.tif 000009
【図７】
2010204898.tif 000010
【図８】
2010204898.tif 000011
【図１０】
2010204898.tif 000012
【図１１】
2010204898.tif 000013