(57)【要約】【課題】文書を段組みでレイアウトする場合に、ユーザが手間をかけることなく、バランスがよく見えるように文字列を配置することができる情報処理装置、情報処理方法及びプログラムを提供する。【解決手段】文書のページの段組みの段に文字列を流し込む流し込み手段と、ページが右ページであるか左ページであるかを判断する判断手段とを有し、流し込み手段は、文書が左開きである場合の第１の処理及び文書が右開きである場合の第２の処理のうちの少なくとも一方を実行可能であり、流し込み手段は、第１の処理において、ページが右ページであるときには、文字列が流し込まれる最終段が右端の段になるように文字列を流し込む先頭の段を決定して、先頭の段から前記文字列を流し込み、第２の処理において、ページが左ページであるときには、文字列が流し込まれる最終段が左端の段になるように文字列を流し込む先頭の段を決定して、先頭の段から文字列を流し込む。【選択図】図４
2018036714.tif 000002
【特許請求の範囲】
【請求項１】
文書を段組みでレイアウトする情報処理装置であって、
前記文書のページの段組みの段に文字列を流し込む流し込み手段と、
前記ページが右ページであるか左ページであるかを判断する判断手段とを有し、
前記流し込み手段は、前記文書が左開きである場合の第１の処理及び前記文書が右開きである場合の第２の処理のうちの少なくとも一方を実行可能であり、
前記流し込み手段は、
前記第１の処理において、前記ページが右ページであるときには、前記文字列が流し込まれる最終段が右端の段になるように前記文字列を流し込む先頭の段を決定して、前記先頭の段から前記文字列を流し込み、
前記第２の処理において、前記ページが左ページであるときには、前記文字列が流し込まれる最終段が左端の段になるように前記文字列を流し込む先頭の段を決定して、前記先頭の段から前記文字列を流し込む
ことを特徴とする情報処理装置。
【請求項２】
前記流し込み手段は、
前記第１の処理において、前記ページが左ページであるときには、左端の段から文字列を流し込み、
前記第２の処理において、前記ページが右ページであるときには、右端の段から文字列を流し込む
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記文書の前記ページの配置が変更された場合に、前記判断手段は、配置変更後の前記ページが右ページであるか左ページであるかを判断し、
前記流し込み手段は、
前記第１の処理において、前記配置変更後のページが右ページであるときには、前記配置変更後のページについて、前記文字列が流し込まれる最終段が右端の段になるように前記文字列を流し込む先頭の段を決定して、前記先頭の段から前記文字列を流し込み、
前記第２の処理において、前記配置変更後のページが左ページであるときには、前記配置変更後のページについて、前記文字列が流し込まれる最終段が左端の段になるように前記文字列を流し込む先頭の段を決定して、前記先頭の段から前記文字列を流し込む
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記判断手段は、前記ページが偶数ページであるか奇数ページであるかの判断に基づき、前記ページが右ページであるか左ページであるかを判断することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
文書を段組みでレイアウトする情報処理方法であって、
前記文書のページの段組みの段に文字列を流し込む流し込みステップと、
前記ページが右ページであるか左ページであるかを判断する判断ステップとを有し、
前記流し込みステップは、前記文書が左開きである場合の第１の処理及び前記文書が右開きである場合の第２の処理のうちの少なくとも一方を実行可能であり、
前記流し込みステップは、
前記第１の処理において、前記ページが右ページであるときには、前記文字列が流し込まれる最終段が右端の段になるように前記文字列を流し込む先頭の段を決定して、前記先頭の段から前記文字列を流し込み、
前記第２の処理において、前記ページが左ページであるときには、前記文字列が流し込まれる最終段が左端の段になるように前記文字列を流し込む先頭の段を決定して、前記先頭の段から前記文字列を流し込む
ことを特徴とする情報処理方法。
【請求項６】
前記流し込みステップは、
前記第１の処理において、前記ページが左ページであるときには、左端の段から文字列を流し込み、
前記第２の処理において、前記ページが右ページであるときには、右端の段から文字列を流し込む
ことを特徴とする請求項５記載の情報処理方法。
【請求項７】
文書を段組みでレイアウトするプログラムであって、
コンピュータに、
前記文書のページの段組みの段に文字列を流し込む流し込みステップと、
前記ページが右ページであるか左ページであるかを判断する判断ステップとを実行させ、
前記流し込みステップは、前記文書が左開きである場合の第１の処理及び前記文書が右開きである場合の第２の処理のうちの少なくとも一方を実行可能であり、
前記流し込みステップは、
前記第１の処理において、前記ページが右ページであるときには、前記文字列が流し込まれる最終段が右端の段になるように前記文字列を流し込む先頭の段を決定して、前記先頭の段から前記文字列を流し込み、
前記第２の処理において、前記ページが左ページであるときには、前記文字列が流し込まれる最終段が左端の段になるように前記文字列を流し込む先頭の段を決定して、前記先頭の段から前記文字列を流し込む
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書を段組みでレイアウトすることができる情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
文書において文字列、写真、図等をレイアウトするにあたっては、複数段の段組みで文字列、写真、図等を配置することが行われている。また、ページ単位で文字のレイアウトを行い、奇数ページであるか偶数ページであるかによって、ページ番号の表示位置を指定して配置するものがある（特許文献１参照）。この特許文献１には、ページ内における画像の位置合わせを行う場合に、奇数ページ目と偶数ページ目とのそれぞれにおいて、ページ番号情報が略同一の位置に表示されるように、ページ内の画像位置を補正することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−０４７９２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、文書を段組みでレイアウトする場合、文書に含まれる文字列の文字数が多い場合には、文字列を１つの段に挿入するだけでなく、複数の段にまたがって挿入することが必要になる。また、文書に含まれる文字列の文字数に応じて、必要な段の数が異なる。このため、文書を段組みでレイアウトするユーザは、バランスがよく見えるように文字列を挿入するのに手間がかかっていた。より具体的には、文書の文字列が挿入されるページの配置によって、すなわちそのページが左ページであるか右ページであるかによって、バランスがよく見えるように文字列を段に挿入するための手間がかかっていた。
【０００５】
本発明の目的は、文書を段組みでレイアウトする場合に、ユーザが手間をかけることなく、バランスがよく見えるように文字列を配置することができる情報処理装置、情報処理方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明の一観点によれば、文書を段組みでレイアウトする情報処理装置であって、前記文書のページの段組みの段に文字列を流し込む流し込み手段と、前記ページが右ページであるか左ページであるかを判断する判断手段とを有し、前記流し込み手段は、前記文書が左開きである場合の第１の処理及び前記文書が右開きである場合の第２の処理のうちの少なくとも一方を実行可能であり、前記流し込み手段は、前記第１の処理において、前記ページが右ページであるときには、前記文字列が流し込まれる最終段が右端の段になるように前記文字列を流し込む先頭の段を決定して、前記先頭の段から前記文字列を流し込み、前記第２の処理において、前記ページが左ページであるときには、前記文字列が流し込まれる最終段が左端の段になるように前記文字列を流し込む先頭の段を決定して、前記先頭の段から前記文字列を流し込むことを特徴とする情報処理装置が提供される。
【０００７】
本発明の他の観点によれば、文書を段組みでレイアウトする情報処理方法であって、前記文書のページの段組みの段に文字列を流し込む流し込みステップと、前記ページが右ページであるか左ページであるかを判断する判断ステップとを有し、前記流し込みステップは、前記文書が左開きである場合の第１の処理及び前記文書が右開きである場合の第２の処理のうちの少なくとも一方を実行可能であり、前記流し込みステップは、前記第１の処理において、前記ページが右ページであるときには、前記文字列が流し込まれる最終段が右端の段になるように前記文字列を流し込む先頭の段を決定して、前記先頭の段から前記文字列を流し込み、前記第２の処理において、前記ページが左ページであるときには、前記文字列が流し込まれる最終段が左端の段になるように前記文字列を流し込む先頭の段を決定して、前記先頭の段から前記文字列を流し込むことを特徴とする情報処理方法が提供される。
【発明の効果】
【０００８】
本発明によれば、文書を段組みでレイアウトする場合に、ユーザが手間をかけることなく、バランスがよく見えるように文字列を配置することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態による情報処理装置の構成の一例を示すブロック図である。
【図２】本発明の一実施形態による情報処理装置の画面の一例を示す図である。
【図３】本発明の一実施形態による情報処理装置のデータ構成の一例を示す図である。
【図４】本発明の一実施形態による情報処理装置の処理フローの一例を示すフローチャート（その１）である。
【図５】本発明の一実施形態による情報処理装置の処理フローの一例を示すフローチャート（その２）である。
【図６】参考例による情報処理装置の画面の例を示す図である。
【発明を実施するための形態】
【００１０】
［一実施形態］
以下、本発明の一実施形態による情報処理装置及び情報処理方法について図１乃至図６を参照して説明する。
【００１１】
まず、本実施形態による情報処理装置の構成について図１を用いて説明する。図１は、本実施形態による情報処理装置の構成の一例を示すブロック図である。
図１に示すように、本実施形態による情報処理装置１００は、ディスプレイ１０１と、ＶＲＡＭ（Video Random Access Memory）１０２とを有する。また、情報処理装置１００は、ＢＭＵ（Bit Move Unit）１０３と、キーボード１０４と、ＰＤ（Pointing Device）１０５とを有する。また、情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０６と、ＲＯＭ（Read Only Memory）１０７と、ＲＡＭ（Random Access Memory）１０８とを有する。さらに、情報処理装置１００は、ＨＤＤ（Hard Disk Drive）１０９と、ＦＤＤ（Flexible Disk Drive）１１０と、ネットワークＩ／Ｆ（Interface）１１１と、バス１１２とを有する。
【００１２】
表示部であるディスプレイ１０１には、例えば、文書のレイアウトを行うための画面が表示される。また、ディスプレイ１０１には、情報処理装置１００の管理を行う、アイコン、メッセージ、メニューその他のユーザインタフェース情報が表示される。なお、ディスプレイ１０１としては、ＣＲＴ（Cathode Ray Tube）ディスプレイ、液晶ディスプレイ等を用いることができる。
【００１３】
ＶＲＡＭ１０２には、ディスプレイ１０１に表示する画像データが格納される。このＶＲＡＭ１０２に格納された画像データは、所定の規定に従ってディスプレイ１０１に転送され、これによりディスプレイ１０１に画像が表示される。
【００１４】
ＢＭＵ１０３は、例えば、メモリ間（例えば、ＶＲＡＭ１０２と他のメモリとの間）のデータ転送を制御する。また、ＢＭＵ１０３は、メモリと各Ｉ／Ｏ（Input/Output）デバイス（例えば、ネットワークＩ／Ｆ１１１）との間のデータ転送を制御する。
【００１５】
キーボード１０４は、文字等を入力するための各種キーを有する。
ＰＤ１０５は、例えば、ディスプレイ１０１に表示されたアイコン、メニューその他のコンテンツを指示したり、オブジェクトをドラッグドロップ等で移動したりするために使用される。
ＣＰＵ１０６は、ＲＯＭ１０７、ＨＤＤ１０９又はフレキシブルディスクに格納されたＯＳ（Operating System）や、後述するプログラム等の制御プログラムに基づいて、文書のレイアウト処理を実行したり、各デバイスを制御したりする。
【００１６】
ＲＯＭ１０７は、各種制御プログラムやデータを保存する。
ＲＡＭ１０８は、ＣＰＵ１０６のワーク領域、エラー処理時のデータの退避領域、制御プログラムのロード領域等を有する。
ＨＤＤ１０９は、情報処理装置１００内で実行される各制御プログラムや一時保管したデータ等のデータを格納する。
ＦＤＤ１１０は、フレキシブルディスクに記録された各種制御プログラムや各種データを、フレキシブルディスクから読み出す。
ネットワークＩ／Ｆ１１１は、他の情報処理装置やプリンタ等とネットワークを介して通信を行う。
【００１７】
バス１１２は、アドレスバス、データバス及びコントロールバスを含む。バス１１２には、ＶＲＡＭ１０２、ＢＭＵ１０３、キーボード１０４、ＰＤ１０５、ＣＰＵ１０６、ＲＯＭ１０７、ＲＡＭ１０８、ＨＤＤ１０９、ＦＤＤ１１０、及びネットワークＩ／Ｆ１１１の各部が接続されている。バス１１２は、これら各部の間の信号の送受信に使用される。
【００１８】
ＣＰＵ１０６に対する制御プログラムの提供は、ＲＯＭ１０７、ＨＤＤ１０９又はＦＤＤ１１０から行うこともできるし、ネットワークＩ／Ｆ１１１を介してネットワーク経由で他の情報処理装置等から行うこともできる。
こうして、本実施形態による情報処理装置１００が構成されている。
【００１９】
上述のように、文書を複数段の段組みでレイアウトする場合、文書の文字列が挿入されるページが左ページであるか右ページであるかによって、バランスよく見えるように文字列を段に挿入するための手間がかかっていた。以下、この点について図６を用いて説明する。図６は、参考例による情報処理装置の画面の例を示す図であり、左開き、左横書きの文書を２段組みでレイアウトする場合の画面を示している。
【００２０】
図６（ａ）は、２段組みのレイアウトにおいて文字列が流し込まれた状態を示す図である。図６（ａ）に示すように、参考例による情報処理装置のディスプレイに表示される画面６００には、左ページのレイアウトを行うためのレイアウト領域６０１と、右ページのレイアウトを行うためのレイアウト領域６０２とが表示されている。レイアウト領域６０１、６０２は、レイアウトを行う左右のページのとおりに、それぞれ画面６００の左側及び右側に配置されている。レイアウト領域６０１は、左ページにおける２段組みのレイアウトを行うことが可能になっている。レイアウト領域６０２は、右ページにおける２段組みのレイアウトを行うことが可能になっている。
【００２１】
左ページのレイアウト領域６０１は、左ページの２段組みの２つの段のうちの左側の段６０３と右側の段６０４とを含んでいる。また、右ページのレイアウト領域６０２は、右ページの２段組みの２つの段のうちの左側の段６０５と右側の段６０６とを含んでいる。段６０３、６０４、６０５、６０６は、それぞれ文字列を流し込むことができるテキスト枠になっている。
【００２２】
一般的に、段組みの段への文字列の流し込みでは、図６（ａ）に示すように、左右のページに関係なく、レイアウト領域６０１においてもレイアウト領域６０２においても、それぞれ左側の段６０３、６０５から文字列が流し込まれる。
【００２３】
一方、ページのレイアウトによっては、図６（ａ）に示すように左側の段からではなく、右側の段から文字列が流し込まれたように見えるようにする必要がある場合がある。例えば、２段組みのレイアウトにおいて、右ページでは、そのページに合わせて右側の段から流し込まれたように見えるようにする必要がありうる。
【００２４】
図６（ｂ）は、２段組みのレイアウトにおいてページに合わせて右側の段から文字列が流し込まれたように見えるようにした状態を示す図である。図６（ｂ）に示すように、左ページのレイアウト領域６０１は、図６（ａ）に示す場合と同様である。一方、右ページのレイアウト領域６０２は、右ページの２段組みの２つの段のうちの左側の段６０７と右側の段６０８とを含んでいる。段６０７、６０８も、それぞれ文字列を流し込むことができるテキスト枠になっている。
【００２５】
右ページのレイアウト領域６０２において、左側の段６０７には、最上行から最下行にわたって多数の改行コードが入力されている。このように左側の段６０７に改行コードが入力されていることで、文書において表示されるべき文字列が、右側の段６０８から流し込まれたように見えるように文書が成形されている。
【００２６】
しかしながら、文書のレイアウトでは、図６（ｂ）に示すように文書を成形した後に、ページの削除、挿入、移動等により左右のページが変わるページ単位の操作が行われることがある。図６（ｂ）に示すように多数の改行コードの入力により右側の段から流し込まれたように見えるようにしていたのでは、上記のようなページ単位の操作が行われると、そのレイアウトが崩れてしまうことがある。
【００２７】
図６（ｃ）は、図６（ｂ）で示すように成形した後に、ページの削除、挿入、移動等により左右のページが変わるページ単位の操作を行った状態を示す図である。図６（ｃ）に示すように、画面６００には、左右のページが変わるページ単位の操作後のレイアウト領域６０９、６１０が表示されている。
【００２８】
レイアウト領域６０９は、左ページのレイアウト領域であり、ページ単位操作により図６（ｂ）に示すレイアウト領域６０２が右ページから左ページに移動したものに対応している。レイアウト領域６０９は、２段組みの２つの段のうちの左側の段６１１と右側の段６１２とを含んでいる。左側の段６１１は、図６（ｂ）に示す右ページの左側の段６０７に対応している。右側の段６１２は、図６（ｂ）に示す右ページの右側の段６０８に対応している。
【００２９】
レイアウト領域６１０は、右ページのレイアウト領域であり、ページ単位操作により新たにレイアウト領域６０９と見開きで組になるものである。レイアウト領域６１０は、２段組みの２つの段のうちの左側の段６１３と右側の段６１４とを含んでいる。段６１３、６１４も、それぞれ文字列を流し込むことができるテキスト枠になっており、文字列が流し込まれた状態になっている。
【００３０】
上記図６（ａ）に示すように、一般的に、２段組みにおける文字列の流し込みでは、左右のページに関係なく左側の段から文字列が流し込まれる。このため、右ページにおいて、右側の段から流し込まれたように見えるようにするためには、図６（ｂ）に示すように、右ページの左側の段６０７において、多数の改行コードを入力する必要があった。
【００３１】
しかしながら、図６（ｂ）に示すように文書を成形した後に、ページ単位操作により図６（ｂ）に示すレイアウト領域６０２が右ページから左ページに移動することがある。この場合には、左ページに移動したレイアウト領域６０９の左側の段６１１に成形のための改行がそのまま残っているため、それらの改行コードを削除する必要があった。
【００３２】
また、新たに右ページのレイアウト領域となったレイアウト領域６１０では、右側の段から流し込まれたように見えるようにするために、図６（ｂ）に示す場合と同様にして、多数の改行を入力する必要があった。
【００３３】
さらには、不図示であるが、文字列のフォントサイズや行間などの書式を変更すると、１つの段に流し込むことができる行数も変更されるため、行数の変更に応じて改行コードを増やしたり削除したりする必要があった。
【００３４】
これに対して、本実施形態による情報処理装置１００は、ユーザが手間をかけることなく、バランスがよく見えるように文字列を配置することを実現するものである。以下、本実施形態による情報処理装置１００による文字列の配置について詳述する。
【００３５】
図２は、本実施形態による情報処理装置１００の画面の例を示す図であり、左開き、左横書きの文書を２段組み又は３段組みでレイアウトする場合の画面を示している。図２に示す各画面は、ディスプレイ１０１に表示される。
【００３６】
図２（ａ）は、２段組みのレイアウトで文字列が流し込まれた状態を示す図である。図２（ａ）に示すように、本実施形態による情報処理装置１００のディスプレイ１０１に表示される画面２００には、左ページのレイアウトを行うためのレイアウト領域２０１と、右ページのレイアウトを行うためのレイアウト領域２０２とが表示されている。レイアウト領域２０１、２０２は、レイアウトを行う左右のページのとおりに、それぞれ画面２００の左側及び右側に配置されている。レイアウト領域２０１は、左ページにおける２段組みのレイアウトを行うことが可能になっている。レイアウト領域２０２は、右ページにおける２段組みのレイアウトを行うことが可能になっている。
【００３７】
左ページのレイアウト領域２０１は、左ページの２段組みの２つの段のうちの左側の段２０３と右側の段２０４とを含んでいる。また、右ページのレイアウト領域２０２は、右ページの２段組みの２つの段のうちの左側の段２０５と右側の段２０６とを含んでいる。段２０３、２０４、２０５、２０６は、それぞれ文字列を流し込むことができるテキスト枠になっている。
【００３８】
左ページのレイアウト領域２０１においては、左側の段２０３から文字列が流し込まれている。一方、右ページのレイアウト領域２０２においては、左側の段２０５よりも先に右側の段２０６に文字列が流し込まれている。
【００３９】
図２（ｂ）は、２段組みのレイアウトで２段にまたがって文字列が流し込まれた状態を示す図である。図２（ｂ）に示すように、左ページのレイアウト領域２０１は、図２（ａ）に示す場合と同様である。一方、右ページのレイアウト領域２０２は、右ページの２段組みの２つの段のうちの左側の段２０７と右側の段２０８とを含んでいる。段２０７、２０８も、それぞれ文字列を流し込むことができるテキスト枠になっている。
【００４０】
右ページのレイアウト領域２０２においては、左側の段２０７から右側の段２０８にまたがって文字列が流し込まれている。右側の段２０８には、左側の段２０７から溢れた文字列が流し込まれている。
【００４１】
図２（ｃ）は、３段組みのレイアウトで２段にまたがって文字列が流し込まれた状態を示す図である。図２（ｃ）に示すように、画面２００には、左ページのレイアウトを行うためのレイアウト領域２０９と、右ページのレイアウトを行うためのレイアウト領域２１０とが表示されている。レイアウト領域２０９、２１０は、レイアウトを行う左右のページのとおりに、それぞれ画面２００の左側及び右側に配置されている。レイアウト領域２０９は、左ページにおける３段組みのレイアウトを行うことが可能になっている。レイアウト領域２１０は、右ページにおける３段組みのレイアウトを行うことが可能になっている。
【００４２】
左ページのレイアウト領域２０９は、左ページの３段組みの３つの段のうちの左側の段２１１と中央の段２１２と右側の段２１３とを含んでいる。また、右ページのレイアウト領域２１０は、右ページの３段組みの３つの段のうちの左側の段２１４と中央の段２１５と右側の段２１６とを含んでいる。段２１１、２１２、２１３、２１４、２１５、２１６は、それぞれ文字列を流し込むことができるテキスト枠になっている。
【００４３】
左ページのレイアウト領域２０９においては、左側の段２１１から中央の段２１２にまたがって文字列が流し込まれている。中央の段２１２には、左側の段２１１から溢れた文字列が流し込まれている。
【００４４】
一方、右ページのレイアウト領域２１０においては、中央の段２１５から右側の段２１６にまたがって文字列が流し込まれている。右側の段２１６には、中央の段２１５から溢れた文字列が流し込まれている。
【００４５】
本実施形態では、後述するように、レイアウトを行うページが奇数ページであるか偶数ページであるかを判断して、そのレイアウトを行うページが左右ページのいずれかであるかを判断する。そして、左ページである場合には、左側の段から文字列を流し込む。一方、右ページである場合には、そのページ内の段のうちの文字列が流し込まれる最終段が右端の段になるように文字列の流し込みを行う。これにより、ユーザはページに合わせて右側の段から流し込まれたように見えるようにするための改行コードを多数入力する必要がなくなり、ページ単位操作や書式の変更等に応じてその都度調整をする必要がなくなる。
【００４６】
次に、本実施形態による情報処理装置１００により文書のレイアウトを行う際のページデータについて図３を用いて説明する。図３は、本実施形態による情報処理装置１００のページデータのデータ構成の一例を示す図である。
【００４７】
図３に示すように、ページデータ３００は、ページデータＩＤ（Identification）３０１と、ページ番号３０２と、段組み数３０３と、文字列３０４とを含んでいる。ページデータ３００は、対応するページごとに作成されている。
【００４８】
ページデータＩＤ３０１は、情報処理装置１００で管理するためにページデータ３００ごとに割り当てたユニークなＩＤである。
【００４９】
ページ番号３０２は、ページデータ３００が対応するページのページ番号である。ページ単位の操作が行われると、ページ番号３０２を調整してページとページデータ３００との対応関係を維持する。これにより、後述する文字列３０４等に影響を与えずにページ単位の操作を行うことができる。
【００５０】
段組み数３０３は、ページデータ３００が対応するページの段組みの数である。例えば図２（ａ）又は図２（ｂ）に示す場合は、各ページの段組みは２段組みなので、各ページに対応するページデータの段組み数３０３として２が設定される。また、例えば図２（ｃ）に示す場合は、各ページの段組みは３段組みなので、各ページに対応するページデータの段組み数として３が設定される。なお、段組み数３０３は、後述する段組み情報に関するリレーション情報３０５のレコード数分と同じ値となるので、省略することもできる。
【００５１】
文字列３０４は、ページデータ３００が対応するページに配置されるべき文字列である。文字列３０４は、例えばキーボード１０４の操作によりユーザにより入力される。この文字列３０４は、後述する段組み情報に関するリレーション情報３０５に基づいて、対応するページの段に流し込まれる。
【００５２】
対応するページごとに作成されたページデータ３００のそれぞれには、その段組み数３０３の値と同じレコード数のリレーション情報３０５が関連付けられている。リレーション情報３０５は、対応するページの段組み情報に関するものである。１つのページデータ３００の段組み数３０３の値がｎ（ただし、ｎは正の整数）である場合、そのページデータ３００には、レコード数ｎのリレーション情報３０５が関連付けられている。例えば１段組みのページの場合は、対応するページデータ３００に関連付けられたリレーション情報３０５は、１レコード存在する。また、例えば図２（ｃ）示す場合は、各ページの段組みは３段組みなので、対応するページデータ３００のそれぞれに関連付けられたリレーション情報３０５は、３レコード存在する。なお、本実施形態では、ページデータ３００の段組み数３０３の値ｎは、通常、２以上の整数である。
【００５３】
リレーション情報３０５のそれぞれは、ページデータＩＤ３０６と、段組み管理番号３０７と、位置情報３０８と、サイズ情報３０９と、書式情報３１０とを含んでいる。
ページデータＩＤ３０６は、リレーション情報３０５が関連付けられたページデータ３００のページデータＩＤ３０１と一致するＩＤである。
段組み管理番号３０７は、左右ページのうちの片側ページにおける段の位置を特定するための番号であり、片側ページ内の左からの段の順番を示す番号である。例えば図２（ａ）に示す段２０３、２０５、図２（ｂ）に示す段２０７、及び図２（ｃ）に示す段２１１、２１４はそれぞれ２段組み又は３段組みのページの左側になるので、それぞれについての段組み管理番号は１となる。また、例えば図２（ｃ）に示す段２１３、２１６はそれぞれ３段組みのページの右側になるので、それぞれについての段組み管理番号は３となる。
位置情報３０８は、段組みの段のページ内の位置に関する情報である。
サイズ情報３０９は、段組みの段のページ内のサイズに関する情報である。
書式情報３１０は、段組みの段の書式に関する情報であり、例えばフォントサイズや行間等の書式情報である。
【００５４】
本実施形態による情報処理装置１００のＣＰＵ１０６は、上記のページデータ３００及びこれに関連付けられたリレーション情報３０５を用いて文書のレイアウト処理を実行する。ページデータ３００及びリレーション情報３０５は、例えばＨＤＤ１０９に格納されており、文書のレイアウト処理に際して、ＣＰＵ１０６により読み出されて取得される。
【００５５】
次に、本実施形態による情報処理装置１００による情報処理方法について図４及び図５を用いて説明する。
【００５６】
図４は、本実施形態による情報処理装置１００の処理フローの一例を示すフローチャートである。本処理フローは、文書であるブックの編集において、各ページで文字列が入力されるときに実行されるものであり、ページ単位で段組みの段に文字列を流し込んで入力するものである。編集の対象であるブックは、例えば、左開き、左横書きのものであり、さらに段組みでレイアウトすべきものである。
【００５７】
まず、ステップＳ４０１にて、ＣＰＵ１０６は、文字列の入力対象のページのページデータ３００を取得する。入力対象のページは、ディスプレイ１０１に表示されており、選択状態にあるページである。ページデータ３００は、例えば、上記図３に示すページ番号３０２等のほか、ブックが左右どちら開きかを示す情報等の入力対象ページの配置を判断するのに必要な情報を有する。
【００５８】
次いで、ステップＳ４０２にて、ＣＰＵ１０６は、判断手段として機能し、入力対象のページの配置を判断する。本実施形態では、ブックが左開きである場合について説明し、入力対象のページの配置の判断として、入力対象のページが左ページであるか否かを判断する。例えば、ページ番号が奇数であるか偶数であるかの情報とページが右ページであるか左ページであるかの情報とを予め対応付けておき、ページ番号が奇数であるか偶数であるかの情報に基づき、入力対象のページが左ページであるか否かを判断することができる。そして、ページ番号が奇数であれば右ページ、偶数であれば左ページであると判断するものとする。
【００５９】
入力対象のページが左ページであると判断した場合（ステップＳ４０２でＹｅｓ）、ＣＰＵ１０６は、ステップＳ４０３に処理を進める。一方、入力対象のページが左ページでない、すなわち右ページであると判断した場合（ステップＳ４０２でＮｏ）、ＣＰＵ１０６は、ステップＳ４０５に処理を進める。
【００６０】
ステップＳ４０３にて、ＣＰＵ１０６は、ユーザの操作に応答して文字列３０４が入力されているか否かを判断する。
文字列３０４が入力されていれば（ステップＳ４０３でＹｅｓ）、ＣＰＵ１０６は、流し込み手段として機能し、順次、入力される文字列３０４を、段組み管理番号３０７の順番に従って左ページの各段へ流し込んで入力する（ステップＳ４０４）。こうして、ＣＰＵ１０６は、左ページであると判断したページについて、左端の段から文字列３０４を流し込む。これにより、左ページにおいて、文字列３０４は、左端の段から順に挿入されて表示されることとなる。そして、文字列３０４の入力が終了すれば（ステップＳ４０３でＮｏ）、ＣＰＵ１０６は、本処理フローを終了する。
【００６１】
なお、左ページにおいて、入力された文字列３０４の文字数が、すべての段に入力可能な文字数に達した場合、ＣＰＵ１０６は、本処理フローを終了する。その場合は、ページから文字が溢れる旨のメッセージを表示する等して、入力可能な文字数に達したことをユーザに通知してもよい。
【００６２】
一方、入力対象のページが右ページであると判断した場合（ステップＳ４０２でＮｏ）、ステップＳ４０５にて、ＣＰＵ１０６は、ページ内の段組み管理番号３０７の最大値を変数Ｎに設定する。
【００６３】
次いで、ステップＳ４０６にて、ＣＰＵ１０６は、ユーザの操作に応答して文字列３０４が入力されているか否かを判断する。
【００６４】
文字列３０４が入力されていれば（ステップＳ４０６でＹｅｓ）、ＣＰＵ１０６は、流し込み手段として機能し、順次、入力される文字列３０４を、右ページにおける段組み管理番号３０７が「Ｎ」の段に流し込んで入力する（ステップＳ４０７）。これにより、右ページにおいて、まずは、文字列３０４の先頭が、右端の段から挿入されて表示されることとなる。
【００６５】
次いで、ステップＳ４０８にて、ＣＰＵ１０６は、入力されている文字列３０４の文字数が、入力済みの段に入力可能な文字数の合計に達したか否かを判断する。ここで、入力済みの段とは、段組み管理番号３０７が「Ｎ」の段から、段組み管理番号３０７が「ページ内の段組み管理番号３０７の最大値」の段までの段のことである。段組み管理番号３０７が「ページ内の段組み管理番号３０７の最大値」の段は、右ページにおける右端の段である。
【００６６】
入力されている文字列３０４の文字数が、入力済みの段に入力可能な文字数に達したと判断すると（Ｓ４０８でＹｅｓ）、ＣＰＵ１０６は、変数Ｎから１を減算し（ステップＳ４０９）、ステップＳ４０６に戻る。なお、入力されている文字列３０４の数が、入力済みの段に入力可能な文字数に達していないと判断すると（Ｓ４０８でＮｏ）、ＣＰＵ１０６は、そのままステップＳ４０６に戻る。
【００６７】
次いで、文字列３０４の入力が継続していると判断すると（Ｓ４０６でＹｅｓ）、ＣＰＵ１０６は、文字列３０４の先頭が、段組み管理番号３０７が「Ｎ」の段になるようにして文字列３０４を順に入力する（ステップＳ４０７）。ここで、ＣＰＵ１０６は、段組み管理番号３０７の順番に従って、段組み管理番号３０７が「Ｎ」の段から右端の段までに、入力される文字列３０４を流し込んで入力する。ＣＰＵ１０６は、文字列３０４の入力が終了するまで、上記のステップＳ４０７、Ｓ４０８、Ｓ４０９を繰り返して実行する。これにより、右ページにおいて、文字列３０４がページの右寄りに挿入されて表示されることとなる。そして、文字列３０４の入力が終了すれば（Ｓ４０８でＮｏ）、ＣＰＵ１０６は、本処理フローを終了する。こうして、ＣＰＵ１０６は、右ページであると判断したページについて、文字列３０４が流し込まれる最終段が右端の段になるように文字列３０４を流し込む先頭の段を決定して、先頭の段から文字列３０４を流し込む。
【００６８】
なお、右ページにおいて、入力された文字列３０４の文字数が、すべての段に入力可能な文字数に達した場合、ＣＰＵ１０６は、本処理フローを終了する。その場合は、ページから文字が溢れる旨のメッセージを表示する等して、入力可能な文字数に達したことをユーザに通知してもよい。
【００６９】
上述のようにすることで、ブックのページに文字列を流し込んで入力する場合に、ユーザの手間をかけることなく、ページの端に不要な余白ができるのを防ぐことができ、バランスのよいレイアウトにすることができる。
【００７０】
このように、本実施形態によれば、ブックが左開きである場合において、文字列が入力されるページの配置を判断し、左ページでは左端の段から文字列を流し込み、右ページでは文字列が流し込まれる文字列の最終段が右端の段になるように、文字列を流し込む。これにより、本実施形態によれば、ユーザが手間をかけることなく、左ページ及び右ページのそれぞれに合わせて文字列をバランスよく配置することができる。
【００７１】
次に、図５を参照して、ブックの編集において、ページの削除、挿入又は追加が行われてページの配置が変更されるときに実行される処理フローについて説明する。図５は、本実施形態による情報処理装置１００によりページの削除、挿入又は追加が行われてページの配置が変更されるときに実行される処理フローの一例を示すフローチャートである。
【００７２】
まず、ステップＳ５０１にて、ＣＰＵ１０６は、ページの削除、挿入又は追加が指示されたか否かを判断する。ユーザは、キーボード１０４やＰＤ１０５を操作することによりページの削除、挿入又は追加を指示することができる。ページの挿入は、ページ間に新たなページを挿入することを意味する。ページの追加は、最初のページの前又は最終のページの後に新たなページを追加することを意味する。
【００７３】
ページの削除、挿入又は追加が指示されたと判断すると（ステップＳ５０１でＹｅｓ）、ＣＰＵ１０６は、次の処理を実行する。まず、ステップＳ５０２にて、ＣＰＵ１０６は、各ページのページデータ３００を更新する。また、ステップＳ５０３にて、ＣＰＵ１０６は、ブックの総ページ数を取得し、取得した総ページ数を変数Ｍに設定する。また、ステップＳ５０４にて、ＣＰＵ１０６は、カウンタｉに１を設定し、カウンタｉを初期化する。なお、ステップＳ５０３、Ｓ５０４、Ｓ５０５は、任意の順序で実行することができ、また、互いに並行して実行することもできる。
【００７４】
次いで、ステップＳ５０５にて、ＣＰＵ１０６は、ページの削除、挿入又は追加による配置変更後のｉ番目のページの配置を判断する。上述のように、本実施形態ではブックが左開きである場合について説明し、配置変更後のｉ番目のページの配置として、ｉ番目のページが左ページであるか否かを判断する。この場合も、上記のステップＳ４０２について説明したように、ページ番号が奇数であるか偶数であるかの情報に基づき、ｉ番目のページが左ページであるか否かを判断することができる。そして、ページ番号が奇数であれば右ページ、偶数であれば左ページであると判断するものとする。
【００７５】
ｉ番目のページが左ページであると判断した場合（ステップＳ５０５でＹｅｓ）、ＣＰＵ１０６は、ステップＳ５０６に処理を進める。一方、ｉ番目のページが左ページでない、すなわち右ページであると判断した場合（ステップＳ５０５でＮｏ）、ＣＰＵ１０６は、ステップＳ５０９に処理を進める。
【００７６】
ステップＳ５０６にて、ＣＰＵ１０６は、左ページであると判断した配置変更後のｉ番目のページについて、文字列３０４を、段組み管理番号３０７の順番に従って左端の段組みから順に各段に流し込んで入力する。
【００７７】
次いで、ステップＳ５０７にて、ＣＰＵ１０６は、カウンタｉに１を加算する。
次いで、ステップＳ５０８にて、ＣＰＵ１０６は、ｉとＭを比較して、ｉ＞Ｍであるか否かを判断する。ＣＰＵ１０６は、ｉ≦Ｍであれば（ステップＳ５０８でＮｏ）、ステップＳ５０５の処理に戻り、ｉ＞Ｍであれば（ステップＳ５０８でＹｅｓ）、本処理フローを終了する。
【００７８】
一方、ｉ番目のページが右ページであると判断した場合（Ｓ５０５でＮｏ）、ステップＳ５０９にて、ＣＰＵ１０６は、右ページであると判断したｉ番目のページについて、文字列３０４の入力に必要な段数を算出する。文字列３０４の入力に必要な段数は、各段に入力可能な文字数及び文字列の文字数から算出することができる。例えば、文字列３０４の文字数に基づき、文字列３０４の入力に必要な段数として、段組み管理番号３０７とは逆の順番の段の数を、サイズ情報３０９及び書式情報３１０を使って求めることができる。
【００７９】
次いで、ステップＳ５１０にて、ＣＰＵ１０６は、文字列３０４が流し込まれる最終段が右端の段になるように、文字列３０４を入力する先頭の段を決定する。右端の段は、ページ内の段のうちの段組み管理番号３０７が最大の段である。例えば、段組みの数３０３からステップＳ５０９にて算出した必要な段数を引き１を足すと、先頭の段の段組み管理番号３０７を求めることができる。
【００８０】
次いで、ステップＳ５１１にて、ＣＰＵ１０６は、決定した先頭の段から順に文字列３０４を流し込んで入力する。こうして、ＣＰＵ１０６は、右ページであると判断した配置変更後のｉ番目のページについて、文字列３０４が流し込まれる最終段が右端の段になるように文字列３０４を流し込む先頭の段を決定して、先頭の段から文字列３０４を流し込む。
次いで、ステップＳ５０７、Ｓ５０８の処理を実行する。
【００８１】
上述のようにすることで、ブックからのページの削除、挿入又は追加により各ページの配置が変更された場合であっても、ユーザの手間をかけることなく、ページの端に不要な余白ができるのを防ぐことができ、バランスのよいレイアウトにすることができる。
【００８２】
なお、本実施形態では文書が左開きの場合について説明したが、これに限定されるものではない。文書が右開きの場合も、左右が逆になる点を除き、上記と同様に処理を実行することができる。
【００８３】
すなわち、上記文書が左開きである場合には、ＣＰＵ１０６は、右ページについて、文字列が流し込まれる最終段が右端の段になるように文字列を流し込む先頭の段を決定して、先頭の段から文字列を流し込む。また、この場合、ＣＰＵ１０６は、左ページについて、左端の段から文字列を流し込む。これに対して、文書が右開きである場合には、ＣＰＵ１０６は、左ページについて、文字列が流し込まれる最終段が左端の段になるように文字列を流し込む先頭の段を決定して、先頭の段から文字列を流し込むことができる。また、この場合、ＣＰＵ１０６は、右ページについて、右端の段から文字列を流し込むことができる。
【００８４】
また、文書が右開きの場合において、ページの削除、挿入又は追加によるページの配置変更が行われたときには、配置変更後のページについて、左右が逆になる点を除き、上記と同様に処理を実行することができる。
【００８５】
ユーザは、例えば、レイアウトを行うべき文書が左開きであるか右開きであるかを設定することができる。ＣＰＵ１０６は、その開きの形式に関する設定に基づき、その文書の開きの形式に応じた処理を実行することができる。ＣＰＵ１０６は、上記文書が右開きである場合の処理及び文書が左開きである場合の処理の両処理を実行可能である。ただし、ＣＰＵ１０６は、これら両処理を必ずしも実行可能である必要はなく、特定の開きの形式の文書に対応して、両処理のうちの少なくとも一方を実行可能であればよい。
【００８６】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。また、上述の実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線／無線通信を用いてプログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのプログラムを実行する場合も本発明に含む。従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。プログラムを供給するための記録媒体としては、例えば、ハードディスク、磁気テープ等の磁気記録媒体、光／光磁気記憶媒体、不揮発性の半導体メモリでもよい。また、プログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムを記憶し、接続のあったクライアントコンピュータがコンピュータプログラムをダウンロードしてプログラムするような方法も考えられる。本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８７】
１０１  ディスプレイ
１０２  ＶＲＡＭ
１０３  ＢＭＵ
１０４  キーボード
１０５  ＰＤ
１０６  ＣＰＵ
１０７  ＲＯＭ
１０８  ＲＡＭ
１０９  ＨＤＤ
１１０  ＦＤＤ
１１１  ネットワークＩ／Ｆ
１１２  バス
【図１】
2018036714.tif 000003
【図２】
2018036714.tif 000004
【図３】
2018036714.tif 000005
【図４】
2018036714.tif 000006
【図５】
2018036714.tif 000007
【図６】
2018036714.tif 000008