(57)【要約】【課題】表示中のページが切り換わることなく現在表示中のページに対してアンドゥ・リドゥが可能であり、かつ、限られたアンドゥ・リドゥメモリを表示中のページのアンドゥ・リドゥに有効利用することのできる文書編集装置を提供する。【解決手段】記憶可能な編集履歴の上限数を文書単位に管理する文書単位アンドゥ・リドゥバッファ３０から、表示中の１または複数ページに係わる編集履歴を抽出して表示用アンドゥ・リドゥバッファ４０Ｂを構成し、該表示用アンドゥ・リドゥバッファ４０Ｂを辿ってアンドゥ・リドゥを行う。また、追加書き込みに対する編集履歴は表示用アンドゥ・リドゥバッファ４０Ｂに登録する。ページ切り換えするときは、表示用アンドゥ・リドゥバッファ４０Ｂの内容を文書単位アンドゥ・リドゥバッファ３０に反映させる。【選択図】図６
2015041140.tif 000002
【特許請求の範囲】
【請求項１】
文書の一部のページを表示する表示部と、
前記表示部に表示されるページを切り換えるページ切り換え部と、
前記表示部に表示中の前記一部のページに対する編集の操作を受ける操作部と、
前記操作部で受けた編集の操作に従って、前記表示部に表示中のページを編集する編集部と、
前記編集部で行われた編集の履歴を記憶するアンドゥ・リドゥメモリと、
前記編集部によって行われた編集に対するアンドゥおよびリドゥの指示を受け付けるアンドゥ・リドゥ指示部と、
前記表示部に表示中の前記一部のページについて記憶可能な編集の履歴の上限数を、前記文書を単位に管理する、もしくは前記表示部に表示中の前記一部のページを単位に管理する、もしくは前記アンドゥ・リドゥメモリ単位に管理するメモリ管理部と、
前記アンドゥ・リドゥ指示部でアンドゥの指示を受け付けたときは、前記アンドゥ・リドゥメモリに記憶されている編集の履歴の中で、前記アンドゥの指示を受け付けた時点で前記表示部に表示されている前記一部のページに対する編集の履歴のみを辿ってアンドゥを行い、前記アンドゥ・リドゥ指示部でリドゥの指示を受け付けたときは、前記アンドゥ・リドゥメモリに記憶されている編集の履歴の中で、前記リドゥの指示を受け付けた時点で前記表示部に表示されている前記一部のページに対する編集の履歴のみを辿ってリドゥを行うアンドゥ・リドゥ実行部と、
を有する
ことを特徴とする文書編集装置。
【請求項２】
前記メモリ管理部は、前記上限数を前記一部のページを単位に管理する場合において、前記表示部に表示されていないページについては、記憶可能な編集の履歴の上限数をページ単位に管理し、前記一部のページを単位とする上限数は、前記一部のページのそれぞれのページの前記ページ単位の上限数の総和以内にする
ことを特徴とする請求項１に記載の文書編集装置。
【請求項３】
前記メモリ管理部は、前記上限数を前記一部のページを単位に管理する場合において、前記表示部に表示されていたページがページ切り換えによって前記表示部に表示されなくなったとき、該ページについて記憶されている編集の履歴の数が、該ページの前記ページ単位の上限数を超える場合は、該ページ単位の上限数を超える分の編集の履歴を削除する
ことを特徴とする請求項２に記載の文書編集装置。
【請求項４】
前記メモリ管理部は、前記文書を単位にもしくは前記アンドゥ・リドゥメモリ単位に前記管理を行う場合は、前記表示部に表示中のページに係る編集の履歴のみを前記アンドゥ・リドゥメモリから抽出して登録した表示用アンドゥ・リドゥバッファを生成し、
前記表示部に表示中のページに対して前記編集部によって編集が行われたときは、その編集の履歴を前記表示用アンドゥ・リドゥバッファに登録し、
前記アンドゥ・リドゥ実行部は、前記表示用アンドゥ・リドゥバッファを辿ってアンドゥおよびリドゥを実行し、
前記メモリ管理部は、前記表示部に表示されていたページがページ切り換えによって前記表示部に表示されなくなったときは、該ページ切り換えの直前に前記表示用アンドゥ・リドゥバッファに登録されていた編集の履歴を前記アンドゥ・リドゥメモリに反映させる
ことを特徴とする請求項１に記載の文書編集装置。
【請求項５】
前記メモリ管理部は、前記管理の単位において、記憶される編集の履歴の数が前記上限数を超える場合は、記憶した日時の古い編集の履歴を優先して削除する
ことを特徴とする請求項１乃至４のいずれか１つに記載の文書編集装置。
【請求項６】
前記メモリ管理部は、ページ毎に、次にアンドゥの指示を受けた場合にアンドゥする編集の履歴を指し示すポインタを有する
ことを特徴とする請求項１乃至５のいずれか１つに記載の文書編集装置。
【請求項７】
前記編集の操作は、手書き入力を含む
ことを特徴とする請求項１乃至７のいずれか１つに記載の文書編集装置。
【請求項８】
情報処理装置を、請求項１乃至７のいずれか１つに記載の文書編集装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アンドゥ・リドゥ機能を備えた文書編集装置およびプログラムに関する。
【背景技術】
【０００２】
文書編集装置の多くは、ユーザから受けた編集作業の履歴を記憶しておき、既に行われた編集作業を最新のものから時系列に遡って順に取り消すアンドゥ（Undo）や、アンドゥした編集作業を再び実行（アンドゥを取り消し）するリドゥ（Redo）の機能を備えている。
【０００３】
通常は、アンドゥ釦とリドゥ釦を備え、アンドゥ釦が１回操作されると、最新の１つの編集作業が取り消されて元の状態に戻り、アンドゥ釦が繰り返し操作されると、次々と編集作業が時系列に遡るようにして取り消される。同様にリドゥ釦が押下されると、最新のアンドゥによって取り消された編集作業が再実行され、リドゥ釦が続けて操作されると、アンドゥによって取り消された複数の編集作業が、取り消されたときと逆の順序に実行されて取り消し前の状態に戻すことができる。
【０００４】
特許文献１には、アンドゥ釦等の操作を繰り返す手間を省く等の目的から、スライダーバーなどで過去の任意の時点を指定して、その指定した時点の編集内容に戻すことのできるアンドゥ・リドゥ機構が開示されている。
【０００５】
また、一般に、アンドゥ操作によって文字を削除または追加してから新たな入力を行うと、当該アンドゥによって削除又は追加された文字はもはや復元することができなくなる問題がある。この問題に対応する技術として特許文献２には、アンドゥの操作自体も新たな編集の履歴として追加記録し、この記録を順に遡ることで、過去の任意の時点における文字入力状態を復元可能にする技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−５１５５１６号公報
【特許文献２】特開２００８−２５７３１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
複数ページからなる文書を編集する場合、あるページに対する文字の追加・削除等の編集作業を行っている際に、以前に行った他のページの編集内容の誤りに気付くことがある。このとき、その誤りを修正するためにアンドゥ機能を使用すると、現時点から時系列に遡って編集作業が順に取り消されるので、目的のページでの編集作業がアンドゥされる前に、現在のページに対して行った編集作業も取り消されてしまう。
【０００８】
また、ページを切り換えながら編集作業を行っている場合に、現在表示中のページに対する編集作業を過去の所定時点まで遡って取り消すためにアンドゥを繰り返すと、他のページに遷移して他のページの編集作業が取り消されてしまうこともある。
【０００９】
特許文献１、２に開示の技術を用いたとしても上記の問題は解決されない。
【００１０】
なお、上記の問題を解決するためにアンドゥ・リドゥ用メモリの容量が増大しないように、アンドゥ・リドゥメモリを有効に利用することが望まれる。
【００１１】
本発明は、上記の問題を解決しようとするものであり、表示中のページが切り換わることなく現在表示中のページに対してアンドゥ・リドゥを続けて行うことができ、かつ、限られたアンドゥ・リドゥメモリを表示中のページのアンドゥ・リドゥに有効利用することのできる文書編集装置およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【００１２】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
【００１３】
［１］文書の一部のページを表示する表示部と、
前記表示部に表示されるページを切り換えるページ切り換え部と、
前記表示部に表示中の前記一部のページに対する編集の操作を受ける操作部と、
前記操作部で受けた編集の操作に従って、前記表示部に表示中のページを編集する編集部と、
前記編集部で行われた編集の履歴を記憶するアンドゥ・リドゥメモリと、
前記編集部によって行われた編集に対するアンドゥおよびリドゥの指示を受け付けるアンドゥ・リドゥ指示部と、
前記表示部に表示中の前記一部のページについて記憶可能な編集の履歴の上限数を、前記文書を単位に管理する、もしくは前記表示部に表示中の前記一部のページを単位に管理する、もしくは前記アンドゥ・リドゥメモリ単位に管理するメモリ管理部と、
前記アンドゥ・リドゥ指示部でアンドゥの指示を受け付けたときは、前記アンドゥ・リドゥメモリに記憶されている編集の履歴の中で、前記アンドゥの指示を受け付けた時点で前記表示部に表示されている前記一部のページに対する編集の履歴のみを辿ってアンドゥを行い、前記アンドゥ・リドゥ指示部でリドゥの指示を受け付けたときは、前記アンドゥ・リドゥメモリに記憶されている編集の履歴の中で、前記リドゥの指示を受け付けた時点で前記表示部に表示されている前記一部のページに対する編集の履歴のみを辿ってリドゥを行うアンドゥ・リドゥ実行部と、
を有する
ことを特徴とする文書編集装置。
【００１４】
上記発明では、表示中のページが切り換わることなく現在表示中のページに対してアンドゥ・リドゥを連続して行うことができる。また、アンドゥ・リドゥの上限数を、文書を単位に、もしくは表示中の一部のページを単位に、もしくはアンドゥ・リドゥメモリを単位に管理するので、複数のページでアンドゥ・リドゥメモリを柔軟に融通して使用でき、メモリ領域を有効活用することができる。
【００１５】
［２］前記メモリ管理部は、前記上限数を前記一部のページを単位に管理する場合において、前記表示部に表示されていないページについては、記憶可能な編集の履歴の上限数をページ単位に管理し、前記一部のページを単位とする上限数は、前記一部のページのそれぞれのページの前記ページ単位の上限数の総和以内にする
ことを特徴とする［１］に記載の文書編集装置。
【００１６】
上記発明では、記憶可能な編集の履歴（編集履歴とする）の上限数をページ単位に管理することを基本としつつ、複数ページを同時に表示したときは、該表示中の複数ページを単位に上限数が管理され、その上限数は、各ページのページ単位での上限数の総和以内にされる。すなわち、複数ページを同時に表示している間は、各ページに設定されたページ単位の上限数を融通し合うので、任意の一のページについてページ単位の上限数より多い数の編集履歴を記憶することが可能になる。
【００１７】
［３］前記メモリ管理部は、前記上限数を前記一部のページを単位に管理する場合において、前記表示部に表示されていたページがページ切り換えによって前記表示部に表示されなくなったとき、該ページについて記憶されている編集の履歴の数が、該ページの前記ページ単位の上限数を超える場合は、該ページ単位の上限数を超える分の編集の履歴を削除する
ことを特徴とする［２］に記載の文書編集装置。
【００１８】
上記発明では、複数ページを同時に表示している間は、各ページに設定されたページ単位の上限数を融通し合うので、一のページについてページ単位の上限数より多い編集履歴を記憶することができる。しかし、表示されなくなったときは、ページ単位に上限数を管理するので、各ページにおいて該ページ単位の上限数から溢れた分の編集履歴は削除される。
【００１９】
［４］前記メモリ管理部は、前記文書を単位にもしくは前記アンドゥ・リドゥメモリ単位に前記管理を行う場合は、前記表示部に表示中のページに係る編集の履歴のみを前記アンドゥ・リドゥメモリから抽出して登録した表示用アンドゥ・リドゥバッファを生成し、
前記表示部に表示中のページに対して前記編集部によって編集が行われたときは、その編集の履歴を前記表示用アンドゥ・リドゥバッファに登録し、
前記アンドゥ・リドゥ実行部は、前記表示用アンドゥ・リドゥバッファを辿ってアンドゥおよびリドゥを実行し、
前記メモリ管理部は、前記表示部に表示されていたページがページ切り換えによって前記表示部に表示されなくなったときは、該ページ切り換えの直前に前記表示用アンドゥ・リドゥバッファに登録されていた編集の履歴を前記アンドゥ・リドゥメモリに反映させる
ことを特徴とする［１］に記載の文書編集装置。
【００２０】
上記発明では、文書単位あるいはアンドゥ・リドゥメモリ全体で上限数を管理している場合には、アンドゥ・リドゥメモリから表示中のページの編集履歴のみを抽出して表示用アンドゥ・リドゥバッファを構成し、該表示用アンドゥ・リドゥバッファを辿ってアンドゥ・リドゥを行う。これにより、表示中のページについてのアンドゥ・リドゥを、ページ遷移を発生させることなく、実行することができる。
【００２１】
［５］前記メモリ管理部は、前記管理の単位において、記憶される編集の履歴の数が前記上限数を超える場合は、記憶した日時の古い編集の履歴を優先して削除する
ことを特徴とする［１］乃至［４］のいずれか１つに記載の文書編集装置。
【００２２】
上記発明では、たとえば、文書単位で上限数を管理している場合に、該文書に係る編集履歴の記憶数が上限数を超えるときは、文書に係る編集履歴の中で記憶日時の古い編集履歴を優先的に削除して、新たな編集履歴の記憶領域を確保する。
【００２３】
［６］前記メモリ管理部は、ページ毎に、次にアンドゥの指示を受けた場合にアンドゥする編集の履歴を指し示すポインタを有する
ことを特徴とする［１］乃至［５］のいずれか１つに記載の文書編集装置。
【００２４】
上記発明では、たとえば、文書単位にアンドゥ・リドゥメモリを管理する場合においても、次にアンドゥする編集履歴の位置をページ毎に管理することができる。
【００２５】
［７］前記編集の操作は、手書き入力を含む
ことを特徴とする［１］乃至［７］のいずれか１つに記載の文書編集装置。
【００２６】
［８］情報処理装置を、［１］乃至［７］のいずれか１つに記載の文書編集装置として機能させるプログラム。
【発明の効果】
【００２７】
本発明に係る文書編集装置およびプログラムによれば、表示中のページが切り換わることなく現在表示中のページに対するアンドゥ・リドゥを続けて行うことができ、かつ、限られたアンドゥ・リドゥメモリを表示中のページのアンドゥ・リドゥに有効利用することができる。
【図面の簡単な説明】
【００２８】
【図１】本発明の実施の形態に係る文書編集装置を示す正面図である。
【図２】文書編集装置の電気的概略構成を示すブロック図である。
【図３】文書単位方式で使用する文書単位アンドゥ・リドゥバッファの一例を示す図である。
【図４】一のページのみを表示した場合に、文書単位アンドゥ・リドゥバッファから構築される表示用アンドゥ・リドゥバッファの一例を示す図である。
【図５】複数ページが縮小されて同時に表示された状態の文書編集装置を示す正面図である。
【図６】複数ページを同時に表示した場合に、文書単位アンドゥ・リドゥバッファから構築される表示用アンドゥ・リドゥバッファの一例を示す図である。
【図７】文書単位方式でのアンドゥ・リドゥに係る処理を示す流れ図である。
【図８】ページ単位方式において、複数ページが同時に表示されたときに編成される表示用アンドゥ・リドゥバッファ等を示す図である。
【図９】ページ単位方式において、表示用アンドゥ・リドゥバッファから複数のページ単位アンドゥ・リドゥバッファを再構成する様子を示す図である。
【図１０】ページ単位方式でのアンドゥ・リドゥに係る処理を示す流れ図である。
【発明を実施するための形態】
【００２９】
以下、図面に基づき本発明の実施の形態を説明する。
【００３０】
図１は、本発明の実施の形態に係る文書編集装置１０を示す正面図である。文書編集装置１０は、パーソナルコンピュータなどの情報処理装置などの外部装置と、無線ＬＡＮなどのネットワークを通じて無線通信可能であり、情報処理装置等から文書のデータを受信し、その文書を表示し、編集したり、手書きによるメモ書きを付加したりする機能を備えている。また手書きメモを付加するなどした編集後の文書を、情報処理装置や印刷装置などの外部装置に送信する機能を備えている。文書編集装置１０は、たとえば、印刷前の文書の校閲、校正などに利用される。
【００３１】
文書編集装置１０は、Ａ４サイズほどの平板形状を成した携帯端末であり、表面のほぼ全域が表示部１５の表示面になっている。表示部１５は、電力の消費なしに表示内容を保持でき、表示内容の書き換え時に電力を消費する表示装置である。たとえば、表示部１５は、電気泳動式の電子ペーパで構成される。
【００３２】
また、表示部１５の表示面上には、指やペンなどでタッチされた位置を検出するタッチパネルが設けてある。文書編集装置１０の表示部１５の表示面には、ユーザの操作によって表示内容の書き換えが行われるページ表示領域２１と、当該文書編集装置１０が自動的に表示内容を更新するシステム情報領域２２と、ツールバー２３が表示される。システム情報領域２２は表示部１５の表示面の上部に設けられ、ツールバー２３は表示部１５の表示面の右端に縦帯状に設けられる。表示部１５の表示面のうちのシステム情報領域２２とツールバー２３を除く部分はすべてページ表示領域２１になっている。
【００３３】
ページ表示領域２１には、閲覧、編集対象の文書や画像が１ページずつ、もしくは図５に示すように複数ページが縮小されて同時に表示される。また、ページ表示領域２１においてユーザは文字や図形を、手書き入力によって追記することができる。
【００３４】
システム情報領域２２には、時計、日付、無線通信の電波強度、バッテリー残量などの情報が表示される。システム情報領域２２の表示内容は文書編集装置１０が自動更新する。
【００３５】
ツールバー２３には、手書き入力のための各種ツール（ペン、消しゴムなど）を選択するための釦やアンドゥ釦２６、リドゥ釦２７などが表示される。アンドゥ釦２６は、アンドゥを１回行う指示を入力するための操作釦である。リドゥ釦２７はリドゥを１回行う指示を入力するための操作釦である。
【００３６】
アンドゥは、最新の編集操作を取り消してその編集操作前の状態に戻す動作であり、リドゥは最新のアンドゥを取り消して、アンドゥされる前の状態に戻す動作である。アンドゥの指示を複数回続けると、表示中のページについて、ページ遷移することなく、最新のものから複数回分の編集操作が時系列に順に遡って取り消される。アンドゥを複数回行った後、リドゥを複数回続けると、最新のものから複数回分のアンドゥが時系列に順に遡って取り消される。
【００３７】
文書編集装置１０の正面のうち、表示部１５の右横の額縁部分には、表示部１５のページ表示領域２１に表示されるページを前後のページに切り換えるための操作（ページめくり操作）をユーザから受けるページめくり釦２８が設けてある。ページめくり釦２８は、ページ表示領域２１に表示されるページを、次ページに進めるための次ページ釦２８ａと、１ページ前のページに戻す前ページ釦２８ｂで構成される。
【００３８】
図２は、文書編集装置１０の電気的概略構成を示している。文書編集装置１０は、当該文書編集装置１０の動作を統括制御するシステム制御部１１に、データ記録部１２と、操作部１３と、表示処理部１４と、通信部１６とを接続して構成される。表示部１５は表示処理部１４の配下に接続されている。
【００３９】
システム制御部１１は主にデータの送信、受信の制御、データの格納、読み出しの制御、表示部１５への文書の表示制御、ユーザから各種の操作や手書き入力を受ける制御などシステム全体の制御を行う。システム制御部１１は、ＣＰＵ（Central Processing Unit）とＲＯＭ（Read Only Memory）とＲＡＭ（Random Access Memory）とを主要部として構成される。ＲＯＭに格納されたプログラムをＣＰＵが実行することで文書編集装置１０としての機能が実現される。ＲＡＭはＣＰＵがプログラムを実行する際に各種のデータを一時的に記憶するためのワークメモリとして使用される。
【００４０】
データ記録部１２は、表示対象の文書や画像のデータ、手書き入力されたデータ、システム制御で使用するための設定等を格納するためのメモリである。データ記録部１２は不揮発のメモリである。データ記録部１２は、文書に対する編集の履歴を記憶するための記憶領域であるアンドゥ・リドゥメモリとして使用される。
【００４１】
操作部１３はユーザからの操作を受け付ける機能を有し、キースイッチやタッチパネルで構成される。具体的には、操作部１３は、前述したツールバー２３の各釦、ページめくり釦２８などを含む。
【００４２】
表示処理部１４はシステム制御部１１の指令に従って表示部１５の表示内容を書き換える制御を行う。表示部１５は前述した電気泳動方式の電子ペーパである。表示部１５は縦横の行列状に画素を配列した、所謂、ドットマトリクス型の表示装置である。
【００４３】
通信部１６は、外部装置とデータを送受信する機能を果たす。たとえば、文書や画像など表示対象となるデータの受信、当該文書編集装置１０で編集後の文書や手書きされた内容を示すデータを外部装置へ送信する等の機能を果たす。
【００４４】
システム制御部１１は、アンドゥ・リドゥ管理部１７としての機能を果たす。アンドゥ・リドゥ管理部１７は、アンドゥ・リドゥメモリを管理する機能（メモリ管理部としての機能）やアンドゥ・リドゥの実行を制御する機能（アンドゥ・リドゥ実行部としての機能）などを果たす。また、システム制御部１１は、表示部１５のページ表示領域２１に表示中のページを操作部１３で受けた編集の操作に従って編集する編集部としての機能、ページめくり釦２８で受けたページめくり操作に応じて表示部１５に表示するページを切り換えるページ切り換え部としての機能などを果たす。
【００４５】
次に、文書編集装置１０が有するアンドゥ、リドゥの機能について説明する。
【００４６】
文書編集装置１０は、アンドゥの指示を受け付けたとき、当該アンドゥの指示を受け付けた時点で表示部１５のページ表示領域２１に表示されている１または複数のページに対する編集の履歴のみを時系列に辿ってアンドゥを行う。また、リドゥの指示を受け付けたときは、当該リドゥの指示を受け付けた時点で表示部１５のページ表示領域２１に表示されている１または複数のページに対する編集の履歴のみを時系列に辿ってリドゥを行う。
【００４７】
たとえば、第１ページを表示して第１ページに対する第１編集操作を行った後、第２ページに表示を切り換えて第２ページに対して第２編集操作を行い、その後、第１ページに表示を切り換えて、第３編集操作を行った後に、アンドゥを指示すると、まず、第３編集操作がアンドゥされ、さらにアンドゥを指示すると、第１編集操作がアンドゥされる。
【００４８】
文書編集装置１０におけるアンドゥ・リドゥメモリの管理方式には、文書単位にアンドゥ・リドゥの上限数を管理する文書単位方式と、ページ単位にアンドゥ・リドゥの上限数を管理するページ単位方式と、アンドゥ・リドゥメモリ全体を単位にアンドゥ・リドゥの上限数を管理する装置単位方式とがある。以下、それぞれについて説明する。
【００４９】
＜文書単位方式＞
図３は、文書単位方式で使用する文書単位アンドゥ・リドゥバッファ３０の一例を示している。文書編集装置１０が有するアンドゥ・リドゥメモリの中の所定の領域が、１つの文書に係る文書単位アンドゥ・リドゥバッファ３０として割り当てられる。なお、１つの文書が１つのファイルを成す場合には、文書単位はファイル単位と等価である。
【００５０】
文書単位アンドゥ・リドゥバッファ３０には、ユーザから受けた編集操作に応じて実行された編集の内容を示す編集履歴が記憶される。図３の例では、文書単位アンドゥ・リドゥバッファ３０は編集履歴を５０個記憶することができる。
【００５１】
なお、ここでは、編集操作として手書き入力を受けるものとする。文書単位アンドゥ・リドゥバッファ３０に記憶される一の編集履歴の内容は、手書き入力の内容を示すベクトルデータと、該手書き入力を受けたページのページ番号と、該手書き入力を受けた日時を示す記入日時で構成される。
【００５２】
また、ページ毎に、次にアンドゥの指示を受けたときにアンドゥする編集履歴を指し示すポインタを備えている。図３では、第１ページ用のポインタＤ１、第２ページ用のポインタＤ２、第３ページ用のポインタＤ３を、該当の編集履歴を指し示す矢印として示してある。
【００５３】
ここでは、まず、ページ表示領域２１に１つのページを表示する場合について説明する。
【００５４】
文書単位方式では、文書編集装置１０の表示部１５のページ表示領域２１に現在表示されているページと等しいページ番号の編集履歴を文書単位アンドゥ・リドゥバッファ３０から抜き出し、表示中のページのみに関するアンドゥ・リドゥバッファ（表示用アンドゥ・リドゥバッファ４０とする、図４参照）を構築する。
【００５５】
表示用アンドゥ・リドゥバッファ４０に対するポインタを表示用ポインタＤとする。表示用アンドゥ・リドゥバッファ４０を構築したとき、表示したページのポインタが文書単位アンドゥ・リドゥバッファ３０において指し示していた編集履歴と同じ編集履歴を表示用アンドゥ・リドゥバッファ４０において指し示すように、表示用ポインタＤの初期値を設定する。
【００５６】
文書編集装置１０は、アンドゥ釦２６、リドゥ釦２７にてアンドゥ、リドゥの指示を受けると、表示用アンドゥ・リドゥバッファ４０に記憶されている編集履歴を辿ってアンドゥ・リドゥの処理を実行する。
【００５７】
具体的には、アンドゥの指示を受けると、表示用アンドゥ・リドゥバッファ４０の中で表示用ポインタＤが示す編集履歴に従ってアンドゥを実行すると共に、表示用アンドゥ・リドゥバッファ４０の中で記入日時が１つ古い編集履歴を指し示すように表示用ポインタＤを更新する。
【００５８】
アンドゥの指示を受けた後に、リドゥの指示を受けると、表示用アンドゥ・リドゥバッファ４０の中で表示用ポインタＤが指し示す編集履歴より記入日時が１つあたらしい編集履歴に従ってリドゥを実行し、該編集履歴を指し示すように表示用ポインタＤを更新する。
【００５９】
また、ユーザから手書き入力（追加書き込み）を受けた場合は、この手書き入力に対応する編集履歴を表示用アンドゥ・リドゥバッファ４０に格納する。より詳細には、まず、表示用ポインタＤが指し示す編集履歴より記入日時が新しい編集履歴を表示用アンドゥ・リドゥバッファ４０から削除する。そして、今回の手書き入力に対する編集履歴を記入日時順となるように表示用アンドゥ・リドゥバッファ４０に追加記憶し、表示用ポインタＤを該追加した編集履歴を指し示すように更新する。
【００６０】
このように、表示用アンドゥ・リドゥバッファ４０に基づいてアンドゥ・リドゥを行うことで、表示されるページが切り換わることなく、表示中のページに対するアンドゥ・リドゥを連続して行うことができる。
【００６１】
ページめくり釦２８の操作を受けてページ表示領域２１に表示するページを切り換える場合、あるいは文書を閉じて編集を終了する場合は、表示用アンドゥ・リドゥバッファ４０に記憶されている編集履歴を、文書単位アンドゥ・リドゥバッファ３０に戻して、文書単位アンドゥ・リドゥバッファ３０を再構築する。該再構築では、文書単位アンドゥ・リドゥバッファ３０においてすべての編集履歴が記入日時の順に並ぶようにする。
【００６２】
また、再構築に際して文書単位アンドゥ・リドゥバッファ３０の空き領域が不足する場合、すなわち、表示用アンドゥ・リドゥバッファ４０に記憶されている編集履歴を文書単位アンドゥ・リドゥバッファ３０に戻すと、編集履歴の総数が文書単位アンドゥ・リドゥバッファ３０におけるアンドゥ・リドゥの上限数（この例では５０）を超える場合には、最も記入日時の古い編集履歴から順に削除して、文書単位アンドゥ・リドゥバッファ３０に格納する編集履歴が前述の上限数を超えないようにする。したがって、文書単位アンドゥ・リドゥバッファ３０はリングバッファとなっている。
【００６３】
また、表示用アンドゥ・リドゥバッファ４０でアンドゥ・リドゥを管理していたページ用の、文書単位アンドゥ・リドゥバッファ３０におけるポインタを、表示用ポインタＤが最後に指し示していた編集履歴と同じ編集履歴を指し示すように更新する。
【００６４】
図４は、ページ表示領域２１に第２ページのみを表示した場合に文書単位アンドゥ・リドゥバッファ３０から構築される表示用アンドゥ・リドゥバッファ４０の一例を示している。
【００６５】
文書単位アンドゥ・リドゥバッファ３０からページ番号が「２」の編集履歴のみをすべて抽出し、抽出した編集履歴を記入日時の順に配列することで表示用アンドゥ・リドゥバッファ４０が構築される。
【００６６】
また、表示用アンドゥ・リドゥバッファ４０を構築したとき、文書単位アンドゥ・リドゥバッファ３０において第２ページ用のポインタＤ２が指し示していた編集履歴と同じ編集履歴を表示用アンドゥ・リドゥバッファ４０上で指し示すように、表示用ポインタＤが初期設定される。
【００６７】
図４の表示用アンドゥ・リドゥバッファ４０では、編集履歴は、上から、記入日時の古い順に配列されているので、初期設定時の表示用ポインタＤは最も下の編集履歴を指し示している。アンドゥが行われると、表示用ポインタＤは１つ上の編集履歴を指し示すように更新される。アンドゥ後にリドゥが行われると、表示用ポインタＤは１つ下の編集履歴を指し示すように更新される。
【００６８】
次に、文書編集装置１０のページ表示領域２１に複数ページを同時に表示する場合について説明する。
【００６９】
文書編集装置１０では、たとえば、図５に示すように、ページ表示領域２１に２つのページを同時に表示することができる。文書編集装置１０のページ表示領域２１に複数ページが同時に表示されたときは、これら複数ページの各ページの編集履歴を文書単位アンドゥ・リドゥバッファ３０から抜き出し、該抜き出した編集履歴を記入日時順にソートして表示用アンドゥ・リドゥバッファ４０Ｂ（図６参照）を構築する。
【００７０】
たとえば、ページ表示領域２１に第２ページと第３ページを表示した場合には、図６に示すように、文書単位アンドゥ・リドゥバッファ３０からページ番号が「２」の編集履歴とページ番号が「３」の編集履歴を抽出し、これらの抽出した編集履歴を記入日時の順に配列することで、第２ページと第３ページを同時に表示した場合に対応する表示用アンドゥ・リドゥバッファ４０Ｂが構築される。
【００７１】
次に、表示中の複数ページの各ページのポインタが文書単位アンドゥ・リドゥバッファ３０で指し示している複数の編集履歴の中で最も新しい記入日時の編集履歴を選択し、該編集履歴と同じ編集履歴を表示用アンドゥ・リドゥバッファ４０Ｂで指し示すように表示用ポインタＤを初期設定する。
【００７２】
図６の例では、文書単位アンドゥ・リドゥバッファ３０で第３ページ用のポインタＤ３が指し示していた編集履歴より、第２ページ用のポインタＤ２が指し示していた編集履歴の記入日時が新しいので、第２ページ用のポインタＤ２が指し示していた編集履歴と同じ編集履歴を表示用アンドゥ・リドゥバッファ４０Ｂで指し示すように表示用ポインタＤが初期設定されている。
【００７３】
文書編集装置１０は、アンドゥ釦２６、リドゥ釦２７にてアンドゥ、リドゥの指示を受けると、上記のようにして構築した表示用アンドゥ・リドゥバッファ４０Ｂに記憶されている編集履歴を辿ってアンドゥ・リドゥの処理を実行する。
【００７４】
具体的には、アンドゥの指示を受けると、表示用アンドゥ・リドゥバッファ４０Ｂで表示用ポインタＤが示す編集履歴に従ってアンドゥを実行し、記入日時が１つ古い編集履歴を指し示すように表示用ポインタＤを更新する。
【００７５】
アンドゥの指示を受けた後に、リドゥの指示を受けると、表示用ポインタＤが指し示す編集履歴より記入日時が１つあたらしい編集履歴に従ってリドゥを実行し、該編集履歴を指し示すように表示用ポインタＤを更新する。
【００７６】
また、ユーザから手書き入力（追加書き込み）を受けた場合は、表示用ポインタＤが指し示す編集履歴より記入日時が新しい編集履歴を表示用アンドゥ・リドゥバッファ４０Ｂから削除する。そして、今回の手書き入力に対する編集履歴を記入日時順となるように表示用アンドゥ・リドゥバッファ４０Ｂに追加記憶し、該追加した編集履歴を指し示すように表示用ポインタＤを更新する。
【００７７】
このように、表示用アンドゥ・リドゥバッファ４０Ｂに基づいてアンドゥ・リドゥを行うことで、表示されるページが切り換わらずに、表示中の複数ページに対してアンドゥ・リドゥを実施することができる。
【００７８】
ページめくり釦２８の操作を受けてページ表示領域２１に表示するページを切り換える場合、あるいは文書を閉じて編集を終了する場合は、表示用アンドゥ・リドゥバッファ４０Ｂに記憶されている編集履歴を、文書単位アンドゥ・リドゥバッファ３０に戻して、文書単位アンドゥ・リドゥバッファ３０を再構築する。該再構築では、文書単位アンドゥ・リドゥバッファ３０においてすべての編集履歴が記入日時の順に並ぶようにする。
【００７９】
また、再構築に際して文書単位アンドゥ・リドゥバッファ３０の空き領域が不足する場合、すなわち、表示用アンドゥ・リドゥバッファ４０Ｂを文書単位アンドゥ・リドゥバッファ３０に戻すと、編集履歴の総数が文書単位アンドゥ・リドゥバッファ３０におけるアンドゥ・リドゥの上限数（この例では５０）を超える場合には、最も記入日時の古い編集履歴から順に削除して、文書単位アンドゥ・リドゥバッファ３０に格納する編集履歴が前述の上限数を超えないようにする。
【００８０】
次に、表示用アンドゥ・リドゥバッファ４０Ｂでアンドゥ・リドゥを管理していた各ページに対応する、文書単位アンドゥ・リドゥバッファ３０でのポインタを以下のように設定する。
【００８１】
まず、表示用ポインタＤが再構築の直前に指し示していた編集履歴のページ番号を特定し、該ページ用のポインタを、該編集履歴と同じ編集履歴を文書単位アンドゥ・リドゥバッファ３０上で指し示すように更新する。表示用アンドゥ・リドゥバッファ４０Ｂに登録されていた他のページについてはそれぞれ、表示用アンドゥ・リドゥバッファ４０Ｂに登録されているそのページの編集履歴の中で表示用ポインタＤが再構築の直前に指し示していた編集履歴より古くかつ表示用ポインタＤが再構築の直前に指し示していた編集履歴の記入日時に最も近い編集履歴を選択し、該選択した編集履歴と同じ編集履歴を文書単位アンドゥ・リドゥバッファ３０で指し示すように、ポインタを更新する。
【００８２】
図７は、文書単位方式でのアンドゥ・リドゥに係る処理の流れを示している。この処理をシステム制御部１１が実行することで、前述したアンドゥ・リドゥに関する動作が実現される。
【００８３】
文書編集装置１０の電源がＯＦＦならば（ステップＳ１０１；Ｙｅｓ）、本処理を終了する。電源がＯＦＦでなければ（ステップＳ１０１；Ｎｏ）、現時点で表示部１５のページ表示領域２１に表示中のページのページ番号を取得する（ステップＳ１０２）。複数ページが同時に表示されている場合は該複数ページの各ページ番号を取得する。
【００８４】
次に、文書単位アンドゥ・リドゥバッファ３０から、前述したようにして、表示用アンドゥ・リドゥバッファ４０、４０Ｂを構築する（ステップＳ１０３）。
【００８５】
その後、ユーザから追加書き込み（手書き入力）を受けた場合は（ステップＳ１０４；Ｙｅｓ）、表示用アンドゥ・リドゥバッファ４０、４０Ｂに、該追加書き込みに対応する編集の履歴を追加登録して（ステップＳ１０５）、ステップＳ１０４へ戻る。
【００８６】
ユーザからアンドゥまたはリドゥの指示を受けた場合は（ステップＳ１０６；Ｙｅｓ）、表示用アンドゥ・リドゥバッファ４０、４０Ｂを使用して、受けた指示に応じた処理（アンドゥまたはリドゥ）を実行し（ステップＳ１０７）、ステップＳ１０４へ戻る。
【００８７】
ページ切り換えの操作を受けた場合は（ステップＳ１０８；Ｙｅｓ）、表示用アンドゥ・リドゥバッファ４０、４０Ｂの内容を文書単位アンドゥ・リドゥバッファ３０に反映させて、文書単位アンドゥ・リドゥバッファ３０を再構築し（ステップＳ１０９）、ステップＳ１０１へ戻る。
【００８８】
このように、表示部１５のページ表示領域２１に表示中の１または複数ページについて、ページを切り換えることなく、アンドゥ・リドゥを行うことができる。また、文書単位にアンドゥ・リドゥの上限数を管理するので、ページ毎に個別に上限数を管理する場合に比べて、アンドゥ・リドゥメモリを有効に活用することができる。
【００８９】
なお、表示用アンドゥ・リドゥバッファ４０、４０Ｂは、文書単位アンドゥ・リドゥバッファ３０と別途のメモリ領域に構築してもよいし、文書単位アンドゥ・リドゥバッファ３０を使用して仮想的に構築してもよい。
【００９０】
すなわち、文書単位アンドゥ・リドゥバッファ３０の中で、表示中のページの編集履歴のみを、記入日時とページ番号に基づいて辿ってアンドゥ・リドゥを行えばよい。表示用ポインタＤは、表示用アンドゥ・リドゥバッファ４０、４０Ｂで指し示していたものと同じ編集履歴を文書単位アンドゥ・リドゥバッファ３０上で指し示すようにする。
【００９１】
また、追加書き込みを受けたときに文書単位アンドゥ・リドゥバッファ３０に空き領域がなければ、文書単位アンドゥ・リドゥバッファ３０の中で記入日時が最も古い編集履歴を削除して必要な空き領域を生成する。なお、追加書き込みを受けたときは、表示中のページの編集履歴であって、表示用ポインタＤが指し示す編集履歴より記入日時が新しい編集履歴を文書単位アンドゥ・リドゥバッファ３０から削除する。
【００９２】
ページ切り換えや編集の終了時に、表示用ポインタＤから該当するページ用のポインタを更新する処理は、表示用アンドゥ・リドゥバッファ４０、４０Ｂを用いる場合と同様に行えばよい。ただし、文書単位アンドゥ・リドゥバッファ３０は編集中に常時更新されているので、ページ切り換えや編集の終了時に、表示用アンドゥ・リドゥバッファ４０、４０Ｂの編集履歴を文書単位アンドゥ・リドゥバッファ３０に反映させる処理は不要である。
【００９３】
＜装置単位方式＞
装置単位方式では、文書編集装置１０全体でアンドゥ・リドゥバッファを管理する。この場合、文書単位方式の文書単位アンドゥ・リドゥバッファ３０に代えて、装置が保有するアンドゥ・リドゥメモリ全体を使用すると共に、編集履歴として、各文書の文書名（ファイル名）をさらに記憶するようにすればよい。該アンドゥ・リドゥメモリから表示用アンドゥ・リドゥバッファ４０、４０Ｂを作成する場合には、表示中のページに対応する編集履歴をアンドゥ・リドゥメモリから文書名（ファイル名）とページ番号に基づいて抽出すればよい。その他は文書単位方式と同様でよい。
【００９４】
＜ページ単位方式＞
ページ単位方式では、ページ単位にアンドゥ・リドゥバッファ（これをページ単位アンドゥ・リドゥバッファとする）を割り当てておく。文書編集装置１０が有するアンドゥ・リドゥメモリの中の一部の領域が、１つのページに係るページ単位アンドゥ・リドゥバッファとして割り当てられる。
【００９５】
表示部１５のページ表示領域２１に一のページのみを表示した場合は、そのページのページ単位アンドゥ・リドゥバッファを使用してアンドゥ・リドゥを行う。表示部１５のページ表示領域２１に複数ページを同時に表示した場合は、該複数ページのそれぞれのページ単位アンドゥ・リドゥバッファから表示用アンドゥ・リドゥバッファを編成し、該表示用アンドゥ・リドゥバッファを使用してアンドゥ・リドゥを行う。なお、表示用アンドゥ・リドゥバッファは、表示中のページのページ単位アンドゥ・リドゥバッファのメモリ領域を使用して生成される。別領域に生成されてもかまわない。
【００９６】
図８は、文書編集装置１０の表示部１５のページ表示領域２１に第１ページと第２ページが同時に表示されたときに編成される表示用アンドゥ・リドゥバッファ６０等を示している。この例では、１つのページ単位アンドゥ・リドゥバッファに記憶可能な編集履歴の上限数を５個に設定してあり、第１ページ用のページ単位アンドゥ・リドゥバッファ５１と第２ページ用のページ単位アンドゥ・リドゥバッファ５２とから上限数が１０個の表示用アンドゥ・リドゥバッファ６０が編成される。なお、表示用アンドゥ・リドゥバッファ６０の上限数は、第１ページ用のページ単位アンドゥ・リドゥバッファ５１の上限数と第２ページ用のページ単位アンドゥ・リドゥバッファ５２の上限数の総和以内にされればよい。
【００９７】
編集履歴の構成要素は、文書単位方式の場合と同様に、ベクトルデータと、ページ番号と、記入日時である。表示用アンドゥ・リドゥバッファ６０では、記入日時順に編集履歴がソートされている。
【００９８】
表示用ポインタＤは、第１ページ用のポインタＤ１が指し示す編集履歴と第２ページ用のポインタＤ２が指し示す編集履歴の中で記入日時が新しい方の編集履歴と同じ編集履歴を表示用アンドゥ・リドゥバッファ６０上で指し示すように初期設定される。
【００９９】
文書編集装置１０は、アンドゥ釦２６、リドゥ釦２７にてアンドゥ、リドゥの指示を受けると、上記のようにして構築した表示用アンドゥ・リドゥバッファ６０に記憶されている編集履歴を辿ってアンドゥ・リドゥの処理を実行する。
【０１００】
具体的には、アンドゥの指示を受けると、表示用アンドゥ・リドゥバッファ６０で表示用ポインタＤが示す編集履歴に従ってアンドゥを実行し、記入日時が１つ古い編集履歴を指し示すように表示用ポインタＤを更新する。
【０１０１】
アンドゥの指示を受けた後に、リドゥの指示を受けると、表示用ポインタＤが指し示す編集履歴より記入日時が１つあたらしい編集履歴に従ってリドゥを実行し、該編集履歴を指し示すように表示用ポインタＤを更新する。
【０１０２】
また、ユーザから手書き入力（追加書き込み）を受けた場合は、表示用ポインタＤが指し示す編集履歴より記入日時が新しい編集履歴を表示用アンドゥ・リドゥバッファ６０から削除する。そして、今回の手書き入力に対する編集履歴を記入日時順となるように表示用アンドゥ・リドゥバッファ６０に追加記憶し、該追加した編集履歴を指し示すように表示用ポインタＤを更新する。
【０１０３】
このとき、表示用アンドゥ・リドゥバッファ６０に空き領域が無ければ、すなわち、表示用アンドゥ・リドゥバッファ６０に記憶されている編集履歴の数が表示用アンドゥ・リドゥバッファ６０の上限数に達している場合は、表示用アンドゥ・リドゥバッファ６０に記憶されている編集履歴の中で記入日時が最も古い編集履歴を削除して、新たな編集履歴を登録する。したがって、表示用アンドゥ・リドゥバッファ６０はリングバッファとなっている。
【０１０４】
このように、表示用アンドゥ・リドゥバッファ６０に基づいてアンドゥ・リドゥを行うことで、表示されるページが切り換わらずに、表示中の複数ページに対してアンドゥ・リドゥを実施することができる。また、表示中のページについて記憶可能な編集履歴の上限数を、表示用アンドゥ・リドゥバッファ６０を単位に管理するので、表示中の一のページに追加書き込みが集中した場合でも、メモリ領域を有効利用して、記入日時の新しいものから優先的に編集履歴を記憶することができる。すなわち、複数ページを同時に表示している間は、各ページに設定されたページ単位の上限数を融通し合うので、任意の一のページについてページ単位の上限数より多い数の編集履歴を記憶することが可能になる。
【０１０５】
ページめくり釦２８の操作を受けてページ表示領域２１に表示するページを切り換える場合、あるいは文書を閉じて編集を終了する場合は、図９に示すように、表示用アンドゥ・リドゥバッファ６０に記憶されている編集履歴から、第１ページ用のページ単位アンドゥ・リドゥバッファ５１と第２ページ用のページ単位アンドゥ・リドゥバッファ５２を再構成する。
【０１０６】
すなわち、表示用アンドゥ・リドゥバッファ６０から第１ページの編集履歴を抽出し、これを第１ページ用のページ単位アンドゥ・リドゥバッファ５１に記入日時順に登録する。このとき、抽出した編集履歴の数が第１ページ用のページ単位アンドゥ・リドゥバッファ５１に記憶可能な編集履歴の上限数（この例では５個）を超える場合は、該上限数を超える分の編集履歴を記入日時の古い順に選択して、これらを削除する。
【０１０７】
次に、第１ページ用のポインタを設定する。具体的には、表示用アンドゥ・リドゥバッファ６０において表示用ポインタＤが最後（再構成の直前）に指し示していた編集履歴が第１ページの編集履歴であった場合は、該編集履歴と同じ編集履歴を、第１ページ用のページ単位アンドゥ・リドゥバッファ５１で指し示すように、第１ページ用のポインタＤ１を設定する。表示用ポインタＤが最後に他のページの編集履歴を指し示していた場合は、第１ページ用のページ単位アンドゥ・リドゥバッファ５１に登録される第１ページの編集履歴のうち表示用ポインタＤが最後に示していた編集履歴より古くかつ該編集履歴に最も近い記入日時の編集履歴を指し示すように第１ページ用のポインタＤ１を設定する。
【０１０８】
第２ページについても同様の処理を行う。すなわち、表示用アンドゥ・リドゥバッファ６０から第２ページの編集履歴を抽出し、これを第２ページ用のページ単位アンドゥ・リドゥバッファ５２に記入日時順に登録する。このとき、抽出した編集履歴の数が第２ページ用のページ単位アンドゥ・リドゥバッファ５２に記憶可能な編集履歴の上限数（この例では５個）を超える場合は、該上限数を超える分の編集履歴を記入日時の古い順に選択して、これらを削除する。
【０１０９】
次に、第２ページ用のポインタを設定する。具体的には、表示用アンドゥ・リドゥバッファ６０において表示用ポインタＤが最後に指し示していた編集履歴が第２ページの編集履歴であった場合は、該編集履歴と同じ編集履歴を、第２ページ用のページ単位アンドゥ・リドゥバッファ５２で指し示すように、第２ページ用のポインタＤ２を設定する。表示用ポインタＤが最後に他のページの編集履歴を指し示していた場合は、第２ページ用のページ単位アンドゥ・リドゥバッファ５２に登録される第２ページの編集履歴のうち表示用ポインタＤが最後に示していた編集履歴より古くかつ該編集履歴に最も近い記入日時の編集履歴を指し示すように第２ページ用のポインタＤ２を設定する。
【０１１０】
図１０は、ページ単位方式でのアンドゥ・リドゥに係る処理の流れを示している。この処理をシステム制御部１１が実行することで、前述したページ単位方式でのアンドゥ・リドゥに関する動作が実現される。
【０１１１】
文書編集装置１０の電源がＯＦＦならば（ステップＳ２０１；Ｙｅｓ）、本処理を終了する。電源がＯＦＦでなければ（ステップＳ２０１；Ｎｏ）、現時点で表示部１５のページ表示領域２１に表示中のページのページ番号を取得する（ステップＳ２０２）。複数ページが同時に表示されている場合は該複数ページの各ページ番号を取得する。
【０１１２】
ページ表示領域２１に表示されているページが１つのページのみの場合は（ステップＳ２０３；Ｎｏ）、そのページのページ単位アンドゥ・リドゥバッファおよびポインタを、そのまま表示用アンドゥ・リドゥバッファ６０および表示用ポインタＤとして使用する（ステップＳ２０４）。
【０１１３】
ページ表示領域２１に複数ページが同時に表示されている場合は（ステップＳ２０３；Ｙｅｓ）、該複数の各ページのページ単位アンドゥ・リドゥバッファから表示用アンドゥ・リドゥバッファ６０を編成する（ステップＳ２０５）。すなわち、複数の各ページのページ単位アンドゥ・リドゥバッファに登録されているすべての編集履歴を記入日時順にソートして、表示用アンドゥ・リドゥバッファ６０を編成する。また、各ページのポインタが指し示す編集履歴の中で最も記入日時が新しい編集履歴と同じ編集履歴を表示用アンドゥ・リドゥバッファ６０で指し示すように表示用ポインタＤを初期設定する。
【０１１４】
その後、ユーザから追加書き込み（手書き入力）を受けた場合は（ステップＳ２０６；Ｙｅｓ）、表示用アンドゥ・リドゥバッファ６０に空き領域があるか否かを調べる（ステップＳ２０７）。空き領域があれば（ステップＳ２０７；Ｎｏ）、ステップＳ２０９へ移行する。表示用アンドゥ・リドゥバッファ６０に空き領域がなければ（ステップＳ２０７；Ｙｅｓ）、表示用アンドゥ・リドゥバッファ６０の中で記入日時が最も古い編集履歴を削除して空き領域を生成して（ステップＳ２０８）、ステップＳ２０９へ移行する。
【０１１５】
ステップＳ２０９では、今回の追加書き込みに対応する編集履歴を表示用アンドゥ・リドゥバッファ６０に登録して、ステップＳ２０６へ戻る。
【０１１６】
ユーザからアンドゥまたはリドゥの指示を受けた場合は（ステップＳ２１０；Ｙｅｓ）、表示用アンドゥ・リドゥバッファ６０を使用して、アンドゥまたはリドゥを実行し（ステップＳ２１１）、ステップＳ２０６へ戻る。
【０１１７】
ページ切り換えの操作を受けた場合は（ステップＳ２１２；Ｙｅｓ）、ページ切り換え前に複数ページが同時に表示されていたか否かを調べる（ステップＳ２１３）。１つのページのみが表示されていた場合は（ステップＳ２１３；Ｎｏ）、ステップＳ２０１に戻る。
【０１１８】
ページ切り換え前に複数ページが同時に表示されていた場合は（ステップＳ２１３；Ｙｅｓ）、表示用アンドゥ・リドゥバッファ６０から、該複数ページのそれぞれのページ用のページ単位アンドゥ・リドゥバッファを再編成し、各ページ用のポインタを設定して（ステップＳ２１４）、ステップＳ２０１に戻る。
【０１１９】
このように、ページ単位方式では、表示されていないときは、記憶可能な編集履歴の上限数をページ単位に管理し、表示中のページについては、該表示中の１または複数ページを単位に上限数を管理する。これにより、複数ページを同時に表示した場合には、該複数のページの中の１つのページに追加書き込みが集中したときに、該ページの編集履歴をページ単位の上限数を超えて記憶することができ、ページ毎に個別に上限数を管理する場合に比べて、アンドゥ・リドゥ用のメモリ領域を柔軟に融通して有効に活用することができる。
【０１２０】
以上、本発明の実施の形態を図面によって説明してきたが、具体的な構成は実施の形態に示したものに限られるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。
【０１２１】
実施の形態では、編集操作が手書き入力である場合について説明したが、履歴を残す対象の編集操作は手書き入力に限定されるものではない。ただし、ページを切り換える操作は編集履歴の対象に含まれない。
【０１２２】
実施の形態では手書き入力の可能な文書編集装置１０を例に説明したが、手書き入力の機能を具備しない装置でもよい。また、情報処理装置に所定のプログラムを実行させることで情報処理装置を本発明の文書編集装置として動作させてもよい。
【０１２３】
実施の形態では、電力の消費なしに表示内容を保持でき、表示内容の書き換え時に電力を消費する電子ペーパを表示部１５として採用した例を示したが、表示部はこれに限定されるものではなく、液晶ディスプレイなどでもかまわない。
【符号の説明】
【０１２４】
１０…文書編集装置
１１…システム制御部
１２…データ記録部
１３…操作部
１４…表示処理部
１５…表示部
１６…通信部
１７…アンドゥ・リドゥ管理部
２１…ページ表示領域
２２…システム情報領域
２３…ツールバー
２６…アンドゥ釦
２７…リドゥ釦
２８…ページめくり釦
２８ａ…次ページ釦
２８ｂ…前ページ釦
３０…文書単位アンドゥ・リドゥバッファ
４０、４０Ｂ…表示用アンドゥ・リドゥバッファ
５１…第１ページ用のページ単位アンドゥ・リドゥバッファ
５２…第２ページ用のページ単位アンドゥ・リドゥバッファ
６０…表示用アンドゥ・リドゥバッファ
Ｄ１、Ｄ２、Ｄ３…各ページ用のポインタ
Ｄ…表示用ポインタ
【図２】
2015041140.tif 000003
【図７】
2015041140.tif 000004
【図１０】
2015041140.tif 000005
【図１】
2015041140.tif 000006
【図３】
2015041140.tif 000007
【図４】
2015041140.tif 000008
【図５】
2015041140.tif 000009
【図６】
2015041140.tif 000010
【図８】
2015041140.tif 000011
【図９】
2015041140.tif 000012