JP3699923B2 - レイアウト編集時の頁イメージ表示管理方法 - Google Patents
レイアウト編集時の頁イメージ表示管理方法 Download PDFInfo
- Publication number
- JP3699923B2 JP3699923B2 JP2001356852A JP2001356852A JP3699923B2 JP 3699923 B2 JP3699923 B2 JP 3699923B2 JP 2001356852 A JP2001356852 A JP 2001356852A JP 2001356852 A JP2001356852 A JP 2001356852A JP 3699923 B2 JP3699923 B2 JP 3699923B2
- Authority
- JP
- Japan
- Prior art keywords
- page
- display
- displayed
- editing
- area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Document Processing Apparatus (AREA)
- User Interface Of Digital Computer (AREA)
Description
【発明の属する技術分野】
本発明は、文章や図形などの様々なデータを編集する頁イメージ表示管理方法に関する。
【0002】
【従来の技術】
従来、この種の文書作成装置には、特開平1−234967号公報に記載されているように、頁の印刷イメージ上での編集対象の切り替えにおける操作性を考慮したものがある。これは、ある領域のデータを編集中に、他の領域を指示すると、ただちに指示された領域のデータの編集が可能となるというものである。
【0003】
【発明が解決しようとする課題】
上記従来技術は、領域の位置だけで指示された領域を判定するため、例えば、文章の編集中に、文章の領域内にある図形領域を指示することができず、該図形領域の編集を開始するためには、一旦、文章の編集を終了してから、改めて、図形領域を指示する必要があり、操作性が悪いという問題点があった。
【0004】
また、図形領域の編集中に、編集中の図形領域のサイズを変更したり、移動したりすることができず、そのような処理を行うためには、一旦、編集処理を終了してから、改めて、領域の移動またはサイズ変更を指示しなければならないという問題がある。
【0005】
これに対し、文書作成の操作性を向上するためには、複数の頁の印刷イメージを同時に表示し、それらの頁のうち任意の頁の印刷イメージを任意の大きさに設定して、その上で編集作業を行えるようにすることが考えられる。
しかし、これは、高性能なハードウェアを必要とすることから、実現には至っていない。
【0006】
また、頁の印刷イメージを表示するウィンドウと、個々の編集データに対応した専用ウィンドウを設け、そのどちらでも編集できるようにすることが考えられる。この際、どちらのウィンドウで編集するかを、予め、文書作成装置に対して設定することができると、便利である。さらには、どちらのウィンドウで編集した方が効率が上がるかは、編集対象の文章によって異なるので、文書単位で設定できるほうが、使い勝手が向上すると考えられる。
【0007】
本発明の目的は、文書の作成編集を行うときの使い勝手を向上した頁イメージ表示管理方法を提供することにある。
【0010】
【課題を解決するための手段】
上記課題を解決するために、本願発明は、レイアウト編集時に、表示手段に頁の印刷イメージを表示させて文書の作成編集を行うときの頁イメージ表示管理方法であって、表示手段に1頁を表示させて文章の入力または削除を可能にし、文書の入力または削除の結果による頁の増減が発生したときに表示手段に1頁目の末尾行と2頁目の先頭行とが同一画面に表示されるように連続した2頁を表示するよう管理することを特徴とするものである。
また、レイアウト編集時に、表示手段に頁の印刷イメージを表示させて文書の作成編集を行うときの頁イメージ表示管理方法であって、表示手段に頁の印刷イメージを表示させて文章の入力または削除を可能にし、表示された印刷イメージ上の文章の文字をカーソル手段で指し示し、第n頁だけの印刷イメージが表示されている表示状態Aであるときに文字入力が行われ、入力された文字列が表示されている頁の末尾行を超えて新しい頁が追加される場合に、第n頁及び第n+1頁の連続する2頁の印刷イメージが表示されており、第n頁の末尾行と第n+1頁の先頭行とが表示されている表示状態Bになるように連続する2頁の印刷イメージを表示させ、表示状態Bであるときに文字入力が行われ、入力された文字列が表示できなくなった場合に、第n+1頁だけの印刷イメージが表示されている表示状態Cの1頁の印刷イメージを表示させ、表示状態Cで文字列が削除され、第n+1頁の前のページに存在する文字をカーソル手段が指し示すように変化した場合に、表示状態Bになるように連続する2頁の印刷イメージを表示させ、 表示状態Bで文字が削除され、カーソル手段が表示されていない文字を指し示すようになった場合に、表示状態Aの1頁の印刷イメージを表示させることを特徴とするものである。
【0012】
また、レイアウト編集時に、表示手段に1頁を表示する表示状態または連続した2頁を1頁目の末尾行と2頁目の先頭行とを同一画面に表示する表示状態のいずれかの表示状態を表示させて文書の作成編集を行うときの頁イメージ表示管理方法であって、
文章の入力あるいは削除により非表示部分を表示することが必要となったときに、それまで管理していた状態からもう一つの状態に遷移させて非表示部分を表示することを特徴とするものである。
また、レイアウト編集時に、第n頁だけの印刷イメージが表示されている表示状態Aと、第n頁及び第n+1頁の連続する2頁の印刷イメージが表示されており、第n頁の末尾行と第n+1頁の先頭行とが表示されている表示状態Bと、第n+1頁だけの印刷イメージが表示されている表示状態Cのいずれかの表示状態を表示させて文書の作成編集を行うときの頁イメージ表示管理方法であって、
表示された印刷イメージ上の文章の文字をカーソル手段で指し示し、
表示手段の表示状態及び文章の入力あるいは削除、またはカーソル手段の移動により、
表示状態Aで文字入力が行われ、入力された文字列が表示されている頁の末尾行を超えて新しい頁が追加される場合には、表示状態Bに表示状態を遷移させて連続する2頁の印刷イメージを表示させ、
表示状態Bで文字入力が行われ、入力された文字列が表示できなくなった場合には、表示状態Cに表示状態を遷移させて1頁の印刷イメージを表示させ、
表示状態Cで文字列が削除され、頁の前のページに存在する文字をカーソル手段が指し示すように変化した場合には、表示状態Bに表示状態を遷移させて連続する2頁の印刷イメージを表示させ、
表示状態Bで文字が削除され、カーソル手段が表示されていない文字を指し示すようになった場合には、表示状態Aに表示状態を遷移させて1頁の印刷イメージを表示させることを特徴とするものである。
【0014】
【作用】
本発明によれば、文書の作成編集を行うときの使い勝手を向上した頁イメージ表示管理方法を提供することができる。
【0018】
【発明の実施の形態】
以下、本発明の実施例を図面を用いて説明する。まず、図1〜図17を用いて、本実施例における編集機能や操作について説明する。
【0019】
図2、図4、図5は、本実施例における編集ウィンドウを説明する図である。図2において、200はレイアウト編集ウィンドウであり、このウィンドウ上で、頁のレイアウトの変更や、文章、図形などのデータを編集することができる。
201は編集の終了を指示するための終了ボックス、202はウィンドウに表示されているデータをスクロールするためのスクロールボックス、203はウィンドウのサイズを変更するためのサイズ変更ボックスである。これらのボックス201〜203は、図4および図5で説明する文章や図形などのうち1種類のデータだけを変種するための個別編集ウィンドウにも存在する。
210はガイダンス領域であり、機能を指示するためのアイコン211や、操作ガイダンスなどが表示される。
【0020】
図2は図形データを編集している状態を表しており、アイコン211は図形編集用のものである。
220はスケール領域であり、図3に示すスケール300または310が表示される。
スケール300は、レイアウト編集ウィンドウ200で、レイアウトの変更や図形の編集を行うときに表示される、ミリ単位のメモリを持つスケールであり、スケール310は、文章データの編集を行うときに使用される、文字単位のメモリをもつスケールである。
230は頁を表す領域であり、221は頁の枠である。頁には領域が定義され、対応する領域内で各々のデータを編集することが可能となる。
【0021】
例えば、240は文章データが割当てられる本文領域、250はグラフデータが割当てられるグラフ領域、260は図形データが割当てられる図形領域である。
図形やグラフなどの領域に対しては、領域の属性として、排他/非排他を指定することができる。排他を指定した領域に対しては、文章領域230の文章データは重ならないように配置されるが、非排他を指定した領域と文章データとは重なる。図2のグラフ領域250および図形領域260は、排他が指定されている領域である。
【0022】
図4において、400は本文領域240の文章データだけを編集するために用いられる本文編集ウィンドウである。410はガイダンス領域、420はスケール表示領域、425は本文編集領域である。430は排他領域を表しており、図2のグラフ領域250および図形領域260の位置に対応する。編集プログラムにより、排他領域430に文字が入らないように制御される。
図5において、500は図形領域26の図形データだけを編集するために用いられる図形編集ウィンドウであり、510はそのガイダンス領域である。
【0023】
次に、編集機能などを指示するためのメニューについて、図6〜図8を用いて説明する。
以降の説明で、メニューや領域の指示とは、例えば、マウスを用いて、マウスカーソルを指示対象の上に移動させ、マウスのボタンを押すことを意味する。
【0024】
図6はレイアウトの修正や各領域の編集開始指示を与えるためのメニューなどを表している。
図6において、600は各メニュー601を一列に連ねて表示したメニューバーである。メニュー601が指示されると、指示されたメニュー601に対応するプルダウンメニュー610が表示される。このプルダウンメニュー610の項目を指示することにより、プログラムに編集指示を与えることができる。
【0025】
印刷・登録メニュー601aに対応するプルダウンメニュー610aには、印刷、登録、初期状態変更などを指示するための項目611〜613がある。項目611を指示することにより、編集中の文書の印刷を指示することができ、項目612を指示することにより、編集中の文書をフロッピディスクやハードディスクに文書ファイルとして保存するよう指示を与えることができる。また、項目613を指示することにより、文書の編集開始モードなどを変更することができる。なお、文書の編集開始モードについては、後に、図9により説明する。
【0026】
本文作成メニュー601bを指示することにより、文章の編集を開始することができる。メニュー601bに対応するプルダウンメニューは無い。
領域作成メニュー601cに対応するプルダウンメニュー610cには、領域に割当てるデータの種別を決定する項目614および615などがあり、頁内に新たに領域を作成する場合に用いられる。項目614を指示することにより図形領域を、項目615を指示することによりグラフ領域を作成することができる。
領域編集メニュー601dに対応するプルダウンメニュー610dには、既に作成されている領域のデータを更新するための項目616、領域のサイズを変更するための項目617などがある。
画面操作メニュー601eに対応するプルダウンメニューには、各編集データをレイアウト編集ウィンドウで編集するのか、各々の個別編集ウィンドウで編集するのかを指示するための項目618、表示の大きさを指定する項目619、領域の枠を表示するかしないかを指示する項目620などがある。
【0027】
後述するように、文書マネジャと呼ばれるプログラムが、メニューバー600やプルダウンメニュー610を表示し、指示された項目を処理する。そこで、メニューバー600を文書マネジャのメニューバーと呼ぶことがある。また、メニューバーのことを、単にメニューと呼ぶこともある。
メニュー601bが指示されて、文章の編集開始が指示されると、メニューバー600に代わり、図7のメニューバー700が表示される。このメニューバー700には、文章編集時に指示を与えるためのメニュー701が表示される。
【0028】
印刷・登録メニュー701aに対応するプルダウンメニュー710aには、印刷および登録の項目611および612の他に、文章の編集を終了してレイアウト編集を開始することを指示する項目713、文書編集の終了を指示する項目716などがある。項目716が指示されると、メニューバー700は消去され、メニューバー600が表示される。
また、画面操作メニュー701bに対応するプルダウンメニュー710bには、表示の大きさを指定する項目619の他に、編集中のデータの再表示を指示する項目714、異なる頁の文章を同時に表示するために、本文編集ウィンドウを分割表示するよう指示する項目715などがある。
【0029】
レイアウト編集ウィンドウ200での文章編集においても、本文編集ウィンドウ400や図形編集ウィンドウ500などの個別編集ウィンドウでの文章編集においても、メニューバー700が表示されるが、編集ウィンドウの種類によって、指示することができない項目がある。例えば、項目715の画面分割は、本文編集ウィンドウ400だけに有効な機能であり、レイアウト編集ウィンドウ200での文章編集においては、項目715を指示することができない。このように、指示することができない項目に対しては、例えば、半輝度表示により、指示することができない旨を示す。
メニュー601cが指示されて、図形領域の作成が指示された場合や、メニュー601dが指示されて、図形領域の更新が指示された場合は、メニューバー600に代わり、図8のメニューバー800が表示される。このメニューバー800には、文書編集時に指示を与えるためのメニュー801が表示される。
【0030】
印刷・登録メニュー801aに対応するプルダウンメニュー810aには、印刷および登録の項目611および612、文章の編集を終了してレイアウト編集を開始することを指示する項目713、文書編集の終了を指示する項目716の他に、図形領域の位置やサイズの変更を指示する項目811および812がある。項目811および812は、レイアウト編集ウィンドウ200での図形編集だけに有効な項目であり、図形編集ウィンドウ500上での編集時には、半輝度で表示される。
以降、メニューバー700、800、のことを、それぞれ、本文メニュー、図形メニューと呼ぶことがある。
【0031】
次に、図1により、文書編集における操作の流れを説明する。
まず、電源を投入すると、作業メニュー101が表示される。作業メニュー101には、新しい文書を作成するための新規作成や、既に作成した文書を修正するための文書更新などのメニューが表示される。図1では、文書更新を指示して、修正すべき文書を呼び出した場合の流れが記載されている。
【0032】
文書を呼び出した後の画面の遷移が矢印111で示されているが、編集モードにより、遷移すべき編集初期状態が異なる。例えば、本文自動起動モードが設定されていると、本文メニュー700が表示され、文書の編集が可能となる。この時、レイアウト編集モードが設定されていると、破線130内に示したように、レイアウト編集ウィンドウ200cでの編集状態となり、個別編集モードが設定されていると、破線140内に示したように、本文編集ウィンドウ400での編集状態となる。
また、本文自動起動モードが設定されていない場合には、破線100内に示したように、文書マネジャのメニュー600が表示され、レイアウトの編集などが可能となる。
【0033】
レイアウト編集ウィンドウ200には、頁のレイアウトが表示されており、該頁には、本文領域240と図形領域260とが存在する。
レイアウト編集ウィンドウ200aで、プルダウンメニュー601eの項目620(枠表示しない)を指示すると、レイアウト表示ウィンドウ200aの表示状態が、矢印113に沿って遷移し、本文領域240と図面領域260との間の枠が消去される。逆に、レイアウト編集ウィンドウ200bで、プルダウンメニュー601eの項目620(枠表示する)を指示すると、レイアウト表示ウィンドウ200bの表示状態が、矢印112に沿って遷移し、本文領域240と図形領域260との間の枠が表示される。
【0034】
破線100内の状態から、文章や図形の編集を開始する手順について説明する。
編集開始時に、レイアウト編集モードが設定されているか、個別編集モードが設定されているかによって、操作の流れが異なる。編集モードは、プルダウンメニュー601eの項目618を指示することによって、必要に応じて、変更することができる。
【0035】
まず、最初に、レイアウト編集モードが設定されている場合について説明する。
レイアウト編集ウィンドウ200aまたは200bで、本文作成メニュー601bが指示されると、矢印114に沿って状態が遷移し、本文メニュー700が表示され、本文領域240の枠が太線で表示される。この状態で、文章編集が可能となる。図形領域260の枠は、破線100内での表示状態と同じである。
レイアウト編集ウィンドウ200aまたは200bで、領域編集メニュー610dの項目616(更新)が指示されると、矢印120に沿って状態が遷移し、図形メニュー800が表示され、図形領域260の枠が太線で表示される。この状態で、図形編集が可能となる。
【0036】
破線130内での編集対象(文章データや図形データ)の切替えは、領域を指示することによって行う。
例えば、レイアウト編集ウィンドウ200cで文章を編集しているときに、図形領域260を指示すると、矢印118に沿って状態が遷移し、図形メニュー800が表示され、図形領域260の枠が太線で表示されて、200dに示す状態となる。文章編集中に、領域を指示することによって、編集対象を切り替えることができるのは、切り替えるべき編集対象の領域が排他領域である場合に限られる。
【0037】
また、レイアウト編集ウィンドウ200dで図形を編集しているときに、本文領域240を指示すると、矢印119に沿って状態が遷移し、本文メニュー700が表示され、本文領域240の枠が太線で表示されて、200cに示す状態となる。
レイアウト編集ウィンドウ200c(200d)で、プルダウンメニュー701a(801b)の項目713(レイアウト編集)を指示すると、矢印115(121)に沿って状態が遷移し、文書マネジャのメニュー600が表示され、破線100内に示す状態となる。
【0038】
次に、個別編集モードが設定されている場合について説明する。
個別編集モードでは、レイアウト編集ウィンドウ200aまたは200bで、本文作成メニュー601bが指示されると、矢印116に沿って状態が遷移し、本文編集ウィンドウ400が表示され、本文メニュー700が表示される。この状態で、本文編集ウィンドウ400内での文章編集が可能となる。
本文編集ウィンドウ400の終了ボックス201を指示すると、矢印117に沿って状態が遷移し、本文編集ウィンドウ400が閉じ、文書マネジャのメニュー600が表示され、破線100内に示す状態となる。
【0039】
さて、レイアウト編集ウィンドウ200の表示の大きさを、プルダウンメニュー601e、701b、801bによって変更することができる。項目619に示す倍率は、次のことを意味する。
項目619の2倍、3/2倍、等倍、2/3倍、1/2倍は、それぞれ、標準サイズの文字を、32ドット、24ドット、16ドット、12ドット、8ドットの文字フォントで表示することを意味する。標準サイズの文字とは、印刷された結果の大きさが約10ポイントの大きさの文字のことであり、レーザプリンタ印刷時には、32ドットの文字フォントを、ワイヤドットプリンタ印刷時には、24ドットの文字フォントを用いる。
また、レイアウト標準ウィンドウ200の終了ボックス201を指示するか、プルダウンメニュー201を指示するか、プルダウンメニュー701a、801aの項目716(文書編集終了)を指示することにより、文書の編集を終了することができる。
【0040】
次に、図9〜図13を用いて、レイアウト編集ウィンドウ200での文章編集機能について説明する。
図9は文章編集時に表示されるスケール310を示す図である。
図9(a)は横書きの文章を編集する場合に表示されるスケールであり、図2のスケール表示領域220aに表示される。
図9(b)は縦書きの文章を編集する場合に表示されるスケールであり、図2のスケール表示領域220bに表示される。
【0041】
900はスケール表示用の文字フォントであり、8、16、24ドットの大きさのフォントが用意されている。カーソルが表示されている行の表示文字サイズにより、どの大きさの文字フォントを使用するかが決められる。
表示文字サイズが、8、16、24ドットの場合に使用する文字フォントは、それぞれ、8、16、24ドットの大きさであるが、表示文字サイズが12ドットの場合は、24ドットの文字フォントを半角に縮小して表示し、表示文字サイズが32ドットの場合は、16ドットの文字フォントを倍角に拡大して表示する。
【0042】
910はスケール表示のための文字列を表している。また、pは文字間隔を表しており、カーソルが表示されている行の文字間隔と同じ値をとる。スケールの表示は、後述する表示制御が提供する文字列表示コマンドを用いて行う。文字列表示コマンドのパラメータとしては、表示すべき領域、文字列の起点座標(x,y)、文字間隔p、文字列の幅w、文字の表示位置of、文字列方向を指定する。図9の(a)および(b)は文字列方向が異なるだけである。
【0043】
次に、スクロールの機能について、図10を用いて説明する。
図10において、1210は入力された文字列であり、1200は文字列1210のうち、ウィンドウに表示されている部分を示している。1201は上スクロールキーによる表示状態の遷移を、1202は下スクロールキーによる表示状態の遷移を表している。
図10に示すように、上スクロールキーが押された場合には、表示されている最後の行1211の次の行1212の全体が見えるように、スクロールの量を決定し、下スクロールキーが押された場合には、表示されている先頭の行1213の前の行1214の全体が見えるように、スクロールの量を決定する。
従って、文字サイズや行間などにより、スクロールの量が異なる。図10では横書き時の場合について図示されているが、縦書き時の横スクロールについても同様である。
【0044】
図11はレイアウト編集ウィンドウ200での文章の入力中の表示状態を示す図である。
図11で示されるように、文字入力の操作性の向上を図るため、入力中に頁が追加される場合には、追加される頁の先頭と前の頁の末尾とを同時に表示する。図11(a)は横書き時の表示状態を示している。図11(a)において、レイアウト編集ウィンドウ200には、連続する2頁のレイアウトが表示されている。230は頁を、240は本文領域を表している。1100は文字列である。また、図11(b)は縦書き時の表示状態を示している。ここで、文字列1110は、実線で示されている。
【0045】
以上説明したように、文字の入力中には、1頁だけを表示する場合と、連続した2頁を表示する場合とがあるが、以下、この表示状態の遷移について、図12を用いて説明する。
図12において、1400および1430は、それぞれ、第n頁だけが表示されている状態と、第n+1頁だけが表示されている状態とを示している。1410および1420は、第n頁と第n+1頁とが同時に表示されている状態を示しているが、状態1410では、カーソル1020が第n+1頁に表示されており、状態1420では、カーソル1020が第n頁に表示されている。矢印は、表示状態の遷移を表す。
【0046】
まず、状態1400からの遷移について説明する。
矢印1401で示される遷移は、文字入力により第n+1頁が追加される場合、または、第n頁の最終行が表示されており、上スクロールキーが押された場合に生じる。矢印1402で示される遷移は、改頁キーか次頁キーが押された場合に生じる。
【0047】
次に、状態1410からの遷移について説明する。
矢印1411で示される遷移は、カーソルキーや文字列の削除等によるカーソル1020の移動を示している。矢印1412で示される遷移は、下スクロールキーか前頁キーが押された場合に生じる。また、矢印1413で示される遷移は、上スクロールキーが押された場合、または、入力された文字列を第n+1頁に表示できなくなった場合に生じる。
【0048】
次に、状態1420からの遷移について説明する。
矢印1421で示される遷移は、上スクロールキーか次頁キーが押された場合に生じる。矢印1422で示される遷移は、カーソルキーや文字列の入力(挿入)などによるカーソル1020の移動を示している。矢印1423で示される遷移は、下スクロールキーが押された場合、または、文字列の削除などにより、カーソル1020が第n頁の非表示部分に移動した場合に生じる。
【0049】
次に、状態1430からの遷移について説明する。
矢印1431で示される遷移は、第n+1頁の先頭行が表示されており、下スクロールキーが押された場合、または、文字列の削除などでカーソル1020が第n頁に移動した場合に生じる。また、矢印1432で示される遷移は、前頁キーが押された場合に発生する。
【0050】
なお、図12の例では、横書の文書の場合を説明しており、縦書の文書の場合は、上スクロールキーが右スクロールキーに、下スクロールキーが左スクロールキーに、それぞれ代わるのみで、同様の遷移をたどる。
また、前頁キーまたは、次頁キーが押された場合の遷移は、図12の例に限らず、カーソル位置から1頁分の量を前後に移動する場合や、該当する頁を頁の先頭から表示したり頁の末尾から逆のぼって表示したりする場合も考えられる。
【0051】
最後に、領域の移動/サイズ変更の機能について、移動を例にとり、図13を用いて説明する。
図13は図形領域260を編集中の状態を表しており、図には示していないが、図形メニュー800が表示されている。この状態で、プルダウンメニュー801aの項目811(領域移動)を指示すると、図形領域260の移動が可能となる。
例えば図13(a)の位置から図13(b)の位置に移動すると、移動した図形領域260が、排他属性を持つ場合には、図に示すように、本文領域240の文章と図形領域260とが重ならないように、移動後の文章の配置が変化する。項目812(領域サイズ変更)を指示して、図形領域260サイズ変更を行った後も、同様に、文字列の再配置が行われる。
【0052】
さて、以上で本実施例における機能や操作に関する説明を終了し、以降、今まで説明した機能や操作性の実現手段について説明する。
まず、図14に本実施例におけるハードウェア構成を示す。
本実施例においては、編集や印刷処理を行うホストCPU1800と、表示処理を行うサブCPU1801およびグラフィックプロセッサ(GP)1809とからなるマルチCPU構成をとる。
ホストCPU1800およびサブCPU1801は、共有メモリ1803を介して結合しており、共有メモリ1803には、サブCPU1801が実行すべきプログラムや両CPU間でのコミュニケーション用のデータなどが置かれる。
【0053】
サブCPU1801およびGP1809は、1/0ポートを介して結合されており、サブCPU1801は、GP1809に対して、CRT1810への表示データの生成を指示する。GP1809は、その指示を受け、VRAM1812に表示用のビットマップデータを作成する。また、GP1809は、VRAM1812に生成したビットマップデータをCRT1810に表示するため、ビットマップデータの転送を制御する。
CGROM1811は、表示用の文字フォントを格納するROM(読出し専用メモリ)である。
【0054】
ホストCPU1800のパス1813には、ホストCPU1800が実行すべき、編集、印刷処理などを行うプログラムや編集データを、必要に応じて記憶する主メモリ1802、かな漢字変換処理で使用する辞書ROM1805、プログラムやデータを格納するHD(ハードディスク)1804、文書データなどを格納するFD(フロッピディスク)1806、文字や座標などを入力するキーボード(KB)1816やマウス1817が接続されている。HD1804やFD1806と主メモリ1802との間で、必要に応じて、プログラムやデータの転送が行われる。
【0055】
印刷装置としては、LP(レーザプリンタ)1808を使用する。LD1808は、LPコントローラ1807により制御される。LPコントローラ1807は、ホストCPU1800の指示に基づき、印刷イメージの生成処理と、その結果をLP1808に出力するための制御を行う。
1814および1815は、それぞれ、サブCPU1801およびGP1809のパスである。
【0056】
次に、図15を用いて、本実施例におけるソフトウエア構造について説明する。
図15において、1900は文書の編集処理を行うAP(アプリケーションプログラム)であり、1901は編集された文書を印刷するためのAPである。これらのAPは、複数の独立したAPから構成される。本発明に関わる、文書編集に関するAP1900については、後に、詳細に説明する。
【0057】
また、文書編集/印刷以外にも、張票を行うAP1902などが存在する。これらのAPは、マルチタスクOS(オペレーティングシステム)である基本OS1920により、タスクとして管理され、その動作が制御されるので、APのことをタスクと呼ぶことがある。
1903は初期表示タスクであり、電源投入後、基本OS1920の初期処理終了後、最初に起動されるタスクである。
1910は各APで共通する処理をOSの機能として取り込んだプログラム群であり、キーボード、マウス、メニューなどの制御を行う入力制御1910a、マルチウィンドウの制御を行うウィンドウ管理1910b、CRTへの表示を行うための機能を提供する表示制御1910c、印刷機能を提供する印刷制御1910d、HDやFDに格納される文書データなどをファイルとして管理するファイル管理1910eなどがある。
1930はキーボード、HDなどのハードウェアを制御するドライバ群である。
【0058】
次に、図16および図17を用いて、文書編集タスク1900のプログラム構造と文書データの構造について説明する。
図16に示すように、文書編集用タスク1900は、文書、図形、グラフなどの個々の領域のデータを編集する編集プログラム2010と、編集された個々のデータをレイアウト編集ウィンドウの各領域に表示する表示プログラム2020と、文書のレイアウトなどの構造を管理し、レイアウトの編集などを行い、編集プログラム2010および表示プログラム2020の動作を制御する文書マネジャと呼ばれるプログラム2000aと、文書マネジャ2000aの指示を受け、表示プログラム2020の起動を制御する文書マネジャサブと呼ばれるプログラム2000bとからなる。
これらのプログラムは、基本OS1920により、お互いに独立したタスクとして管理/制御される。2030〜2035の矢印は、各タスク間でのメッセージの送受信を表している。各メッセージの詳細については、後述する。
【0059】
図17に示すように、文書データは、文書の構成や頁のレイアウトに関する情報を保持する文書構成データ2120と、文章や図形などの各領域のデータ2110とからなる。
文書構成データ2120および各領域データ2110は、それぞれ、独立したファイルに格納される。文書構成データ2120は、文書マネジャ2000aにより生成され、管理される。
各領域のデータ2110は、対応する編集プログラム2010によって生成され、管理される。例えば、本文データ2110a、図形データ2110b、グラフデータ2110cは、それぞれ、本文編集タスク2010a、図形編集タスク2010b、グラフ編集タスク2010cにより生成される。一つの文書を構成する文書構成データ2120および各領域データ2110は、同一のディレクトリ2100の下にファイルとして生成され、ディレクトリ2100と文書名とは1対1に対応する。
【0060】
次に、各タスク間で送受信されるメッセージについて、図18を用いて説明する。
メッセージサブ2200は、図18に示すように、メッセージ長2201、メッセージ種別2202ごとに異なる情報2203からなる。
表1に、文書マネジャ2000aから編集タスク2010に送信されるメッセージ2030の種別とその情報を記載し、表4に、文書マネジャ2000aから文書マネジャ2000bに送信されるメッセージ2033の種別とその情報を記載する。
【0061】
また、表3および表2に、それぞれ、編集タスク2010から文書マネジャ2000aに送信されるメッセージ2032の種別とその情報、および、文書マネジャサブ2000bから表示タスク2020に送信されるメッセージ2031の種別とその情報を記載する。
文書マネジャサブ2000bから文書マネジャ2000aに送信されるメッセージ2034、および、表示タスク202から文書マネジャサブ2000bに送信されるメッセージ2035は、処理の終了通知しかなく、通知すべき情報は、送信側のタスク番号だけである。
【0062】
【表1】
【0063】
【表2】
【0064】
【表3】
【0065】
【表4】
【0066】
各編集タスク2010の処理の説明に入る前に、以降の説明で必要となる、図17で示した基本OS1920やプログラム群1910の機能について、簡単に説明する。
先にも述べたように、基本OS1920は、マルチタスクOSであり、各タスク間のメッセージの送受信や、共有メモリの管理機能を持つ。各タスクは、図18に示すメッセージを生成後、基本OS1920に、送信先のタスクを指定して、メッセージの送信を依頼する。
また、基本OS1920にメッセージの受信を依頼すると、基本OS1920は、依頼したタスクにメッセージが送信されていれば、図18に示すメッセージを受信したタスクに通知する。
【0067】
共有メモリの管理機能では、各タスクは、以下のような基本OS1920の機能を使うことができる。
タスクが基本OS1920にメモリの割当てを要求すると、要求されたサイズのメモリ領域を確保して、要求元のタスクに共有メモリ番号を通知する。タスクは、この共有メモリ番号に自分のデータエリアを割付け、データ領域として使用することができる。複数のタスクが同じ共有メモリ番号に対して、それぞれのデータエリアを割り付けることにより、該複数のタスク間でデータを共有することが可能となる。
【0068】
入力制御タスク1910aでは、かな漢字変換を行い、変換結果をタスクに通知する。また、入力制御タスク1910aでは、メニューやプルダウンメニューの表示などの制御を行う。メニューやプルダウンメニューによる入力時には、各タスクには、各メニューに対応するメニュー番号と、プルダウンメニューの各項目に対応する番号が通知される。通知を受けたタスクは、メニューやプルダウンメニューのデータを生成し、入力制御タスク1910aに、メニュー表示を依頼する。この時、タスクは、指示できないメニューやプルダウンメニューの項目を、予め入力制御に通知することができる。
【0069】
ウィンドウ管理タスク1910bでは、ウィンドウのオープンやクローズなどの制御を行う。タスクは、オープンしたウィンドウに対して、複数の表示領域を指定することができる。
表示領域を指定する場合には、表示領域の番号、領域の基点画面座標、領域のサイズ、領域の基点論理座標、座標変換係数を指定する。画面座標は、ウィンドウ内の相対座標であり、画面に対して規定される座標である。論理座標は、用紙に対して規定される座標である。表1および表4の物理座標は基点画面座標に、論理座標は基点論理座標に対応する。
なお、ウィンドウ管理タスク1910では、これらの値に基づいて、画面座標から論理座標への変換、論理座標から画面座標への変換を行うので、論理座標に基づいて編集処理を行えばよく、編集処理において、物理座標を意識する必要はない。
【0070】
表示や入力の要求は最前面にウィンドウを表示しているタスクに対してのみ受け付けられる。従って、通常は、ウィンドウをオープンしたタスクしか表示処理や入力処理を行えない。しかし、ウィンドウをオープンしたタスクAが、ウィンドウ管理タスク1910bが提供するウィンドウ権委譲機能を使用し、ウィンドウを他のタスクBに委譲した場合には、タスクBは、委譲されたウィンドウをオープンした場合と同様に使用することができる。但し、この時、タスクAは、ウィンドウを使用することができず、表示も入力も行えないことになる。
【0071】
各タスクは、表示制御タスク1910cが提供する表示機能により、ウィンドウに指定された領域に対して、文字列や図形などを表示することができる。表示の際には、表示すべき領域の番号やその領域に対する論理座標により、表示位置を指定する必要がある。
【0072】
文書データは、ファイル管理タスク1910eにより提供される機能によって管理される。ファイル管理タスク1910eは、ディレクトリやファイルの生成、削除、フィルへの書き込み/読み出し、ファイルのコピーなどのファイル管理機能を提供する。
【0073】
さて、電源が投入されると、まず、初期表示タスク1903が起動される。文書マネジャ2000aは、初期表示タスク1903により起動される。
図19(A)に初期表示タスク1903の処理の流れを示す。
図19(A)において、初期表示タスク1903は、まず、ステップ2275’で起動モードおよび編集モードを、HD1804の予め定められた場所から読み出し、図19(B)に示す2280および2281に設定する。
【0074】
次に、ステップ2261’で、ウィンドウをオープンし、ステップ2262で’、作業メニュー101を表示する。ステップ2263’で入力を受け付け、ステップ2264’で、その判定処理を行う。
【0075】
入力が新規作成を指示するものであれば、ステップ2270’で、文書マネジャ2000aをタスクとして生成し、起動する。続いて、ステップ2271’で、起動した文書マネジャ2000aに、文書マネジャ2000aのタスク番号、処理モード(新規)、起動モード2280、編集モード2281を内容とするメッセージを送信する。
【0076】
また、入力が文書更新であれば、ステップ2265’で、HD1804やFD1806に格納されている文書の一覧を表示する。続いて、ステップ2267’で、更新対象の文書が指示されると、ステップ2268’で、文書マネジャ2000aを生成して起動し、ステップ2269’で、文書マネジャ2000aにメッセージを送信する。この時のメッセージの内容は、文書マネジャ2000aのタスク番号、処理モード(更新)、ステップ2267’で指示された文書に対応するディレクトリ2100の名称である。
【0077】
メッセージを送信した後は、ステップ2272’で、メッセージの受信処理を行い、ステップ2273’で、文書マネジャ2000aからのメッセージ待ちとなると、起動された文書マネジャ2000aが動作を開始する。ステップ2273’は待ち状態を意味する記号であり、以降、文書マネジャ2000aや編集タスク2010の処理の流れを示す図でも、本記号を使用する。
文書マネジャ2000aからメッセージを受信すると、ステップ2263’の入力処理に戻る。
【0078】
次に、文書マネジャ2000aの制御データについて、図20、図21を用いて説明する。
図20は文書構成データ2120である。文書構成データ2120はは、本文自動起動か否かを示す起動モード2210、レイアウト編集モードか個別編集モードかを示す編集モード2220、頁数2230’、頁管理テーブル2240、領域管理テーブル2150、書式データ2170からなる。
【0079】
頁管理テーブル2240は、頁に含まれる領域の領域管理テーブル2150へのポイントからなる。例えば、ポインタ2241は、第1頁に含まれる領域の領域管理テーブル2150aへのポインタであり、ポインタ2242は、第2頁に含まれる領域の領域管理テーブル2150cへのポインタである。
【0080】
領域管理テーブル2150は、同一頁に含まれる領域に対する領域管理テーブル2150を指すポインタ2151、ポインタ2151と逆方向に領域管理テーブル1250をたどるための逆方向ポインタ2152、領域の左上隅論理座標2153および2154、領域の右下隅論理座標2155および2156、領域に割り当てられたデータが格納されているファイルのファイル名称2157、データの種別(本文、図形、グラフなど)2158、領域の属性(排他/非排他)2159、書式データ2170へのポインタ2160、編集タスク制御テーブル2230(後述)へのポインタ2161からなる。
書式データ2170は、上余白2171、下余白2172、左余白2173、右余白2174、段組数2175、段間隔2176、横書き/縦書きの区別2177からなる。
【0081】
図21の(b)は、本文編集タスク2010aを起動する際に、文書マネジャ2000aが生成する本文生成用データ2130である。
本文生成用データ2130は、頁数2180、頁管理テーブル2190、排他領域管理テーブル2250、書式データ2260からなる。
頁管理テーブル2190aは、排他領域管理テーブル2250へのポインタから構成され、例えば、ポインタ2191aは、第1頁の排他領域管理テーブル2250aへのポインタを格納し、ポインタ2192aは、第2頁の排他領域管理テーブル2250へのポインタを格納する。図20では、第2頁に排他領域がないため、ポインタ2192aには、空記号が設定されている。
頁管理テーブル2190bは、書式データ2260へのポインタから構成され、例えば、ポインタ2191bは、第1頁の頁書式データ2260へのポインタを格納し、ポインタ2192bは、第2頁の頁書式データ2260へのポインタを格納する。
【0082】
排他領域管理テーブル2250は、同一頁の排他領域に対する排他領域管理テーブル2250へのポインタ2251、排他領域の左上隅論理座標2252および2253、排他領域の右下隅論理座標2254および2255からなる。書式データ2260の内容2261〜2267は、文書構成データ2120の書式データ2170における2171〜2177と同じ内容である。
【0083】
図21(c)は起動した編集タスク2010を管理する編集タスク管理テーブル2230を示す。
編集タスク管理テーブル2230は、複数のレコード2231からなり、レコード2231は、起動したタスクの番号2232、共有メモリ番号2233および2234、編集モード2235、領域管理テーブル2150へのポインタ2236からなる。領域管理テーブル2150のポインタ2161は、編集タスク管理テーブル2230の個々のレコード2231の所在を示すものである。
【0084】
2270は文書マネジャサブタスク2000bのタスク番号、2271は文書マネジャサブタスク2000bとの共有メモリの番号である。また、2272および2273は、レイアウト表示の拡大率および枠表示の有無を示すものであり、2274および2275は、表示中の頁番号を示す。2246は、後述するデータ確定処理のために起動されたタスクのタスク番号であり、2247はそのタスクに対応するレコードの所在を示すポインタである。
【0085】
図20の(a)および図21(c)で示されるデータは、同じ共有メモリ上に置かれ、図21(b)で示されるデータは、異なる共有メモリ上に置かれる。
【0086】
図22〜図27の〔A〕〜〔N〕は文書マネジャ2000aの処理の流れを説明する図である。以下、各処理について説明する。
〔A〕メイン処理
文書マネジャ2000aは、起動されると、まず、ステップ2400で、初期処理を行い、ステップ2301で、初期表示タスク1903から受信したメッセージの処理モードを判定し、新規作成であれば、ステップ2500で、新規作成開始処理を行い、文書更新であれば、ステップ2302で、受信メッセージで得た文書データに対応するディレクトリ2100の下の文書構成データ2120を読み出す。そして、ステップ3200で、第1頁のレイアウトを表示する。
【0087】
次に、ステップ2303で、起動モード2210を調べ、本文自動起動モードならば、ステップ2600で、タスク起動処理を行い、そうでないならば、ステップ2304で、入力処理を行う。ステップ2305で、入力を判定し、判定結果に応じて、タスク起動処理(ステップ2600)、領域作成処理(ステップ2306)、登録処理(ステップ2307)、印刷処理(ステップ2309)、領域判定処理(ステップ2308)、初期状態変更処理(ステップ2310)、拡大率変更処理(ステップ3400)、モード変更処理(ステップ2312)、枠表示処理(ステップ3500)、その他の処理(ステップ2314)を行う。
【0088】
ステップ2307の登録処理は、プルダウンメニュー601aの項目612(登録)が指示された場合に行われる処理であり、編集タスク管理テーブル2230に登録されているレコード2231の共有メモリ番号2233の編集データを、ポインタ2141が指す、領域管理テーブル2150のファイル名称2157に記載されているファイル2110に格納する。全てのレコード2231に対して、以上の処理を行った後、文書構成データ2120を、文書構成データファイル2120に格納して、登録処理を終了する。
【0089】
ステップ2309の印刷処理は、プルダウンメニュー601aの項目611(印刷)が指示された場合に行われる処理であり、編集タスク管理テーブル2230に登録されているレコード2231の共有メモリ番号2233の編集データを、ポインタ2141が指す、領域管理テーブル2150のファイル名称2157に記載されているファイル2110に格納する。全てのレコード2231に対して、以上の処理を行った後、文書構成データを、文書構成データファイル2120に格納して、文書印刷タスク1901に印刷を指示する。文書印刷タスク1901には、メッセージにて、印刷すべき文書に対応するディレクトリ2100の名称を通知する。
【0090】
ステップ2310の初期状態変更処理は、プルダウンメニュー601aの項目613(初期状態変更)が指示された場合に行われる処理であり、起動モード2210が本文自動モードならば、そうでない状態に設定し、また、本文自動起動モードでなければ、本文自動起動モードに設定する処理である。
ステップ2312のモード変更処理は、プルダウンメニュー601eの項目618が指示された場合に行われる処理であり、指示された項目(レイアウト/個別)に対応するモードを、編集モード2220に設定する処理である。
【0091】
タスク起動処理(ステップ2600)、登録処理(ステップ2307)、領域作成処理(ステップ2306)、印刷処理(ステップ2309)、初期状態変更処理(ステップ2310)、モード変更処理(ステップ2312)、その他の処理(ステップ2314)の終了後、および、後に説明する拡大率変更処理(ステップ3400)、枠表示処理(ステップ3500)の終了後は、ステップ2320で、メッセージの受信処理を行う。
【0092】
ステップ2304での入力が座標値の場合には、ステップ2308で、編集頁番号2274および2275に記載されている頁番号に対応する、頁管理テーブル2240のポインタから領域管理テーブル2150をたどり、入力された座標と、領域管理テーブル2150の領域左上隅X座標2153、領域左上隅Y座標2154、領域右下隅X座標2155、領域右下隅Y座標2156とを比較することによって、指示された領域を割り出す。続いて、ステップ2315で、入力処理を行い、ステップ2317で入力を判定する。入力が、プルダウンメニュー601dの項目616(更新)または、メニュー601b(本文作成)の場合には、ステップ2600で、タスク起動処理を行い、プルダウンメニュー601dの項目617(サイズ変更)の場合には、ステップ2800で、サイズ変更/移動処理を行い、また、その他の場合には、ステップ2318で、その他の処理を行う。サイズ変更/移動処理(ステップ2800)、その他の処理(ステップ2318)が終了すると、ステップ2320で、メッセージの受信処理を行う。
【0093】
ステップ2305で、プルダウンメニュー601cの項目が指定されたと判定された場合は、ステップ2306で、領域作成処理を行う。
この処理は、ユーザにより、入力された矩形領域を、新しい領域として設定する処理であり、領域が指示された頁に対応する、頁管理テーブル2240のポインタに連結されている領域管理テーブル2150の末尾に、新しく生成された領域に対応する、領域管理テーブル2150を追加する。そして、ユーザが入力した矩形領域の座標を読み取り、領域左上隅X座標2153、領域左上隅Y座標2154、領域右下隅X座標2155、領域右下隅Y座標2156を設定する。データ種別2158には、プルダウンメニュー601cの項目が指示されたデータの種類を設定する。領域属性2159の値は、ユーザの指定により設定される。また、ファイル名称2157には、今まで生成さえれたファイルの名称と異なる値が格納される。ポインタ2160および2161には、空記号が設定される。
【0094】
タスク起動処理(ステップ2600)の後、ステップ2316で、編集モード2220を判定し、個別編集モードならば、ステップ2320で、メッセージの受信処理を行う。
ステップ2320のメッセージ受信処理では、メッセージがなければ、直ちに、ステップ2304で、入力処理を行うが、このときに入力待ちとなることによって、ステップ2600で起動された編集タスクの処理が開始される。メッセージがある場合には、その種類をステップ2321で判定して、ステップ3450の編集終了処理か、ステップ3300の頁数変更処理を行い、ステップ2304の入力処理に戻る。
【0095】
また、ステップ2316の判定で、レイアウト編集モードならば、ステップ2322で、メッセージの受信処理を行う。この処理では、ステップ2600で起動したタスクからのメッセージを受信するまで、ステップ2323で待つことになる。この待ちにより、起動された編集タスクが処理を開始する。
【0096】
メッセージを受信すると、ステップ3000で、受信したメッセージに対応する処理を行い、ステップ2319で、その結果を判定してメッセージが文書編集終了ならば、ステップ3100で、終了処理をして、文書マネジャ2000aの処理を終了し、編集タスクの終了ならば、ステップ2320で、メッセージの受信処理を行う。また、領域切替えならば、ステップ2324で、メッセージで指示された座標から、指示された領域を割り出し、編集領域内であれば、ステップ2600で、対応するタスクの起動処理を行う。該座標が頁領域内にあり、編集領域に含まれないものであれば、ステップ2320で、メッセージの受信処理を行う。その他の場合は、再びステップ2322で、メッセージの受信処理を行い、メッセージの受信待ちとなる。
【0097】
〔B〕初期処理
初期処理では、ステップ2401で、初期表示タスク1903からのメッセージを受信し、ステップ2402で、処理モードを判定して、新規文書作成ならば、メッセージで得た起動モードおよび編集モード2210および2220に設定する。続いて、ステップ2404で、処理に必要なテーブル類を初期化する。この時、メッセージで得た文書マネジャ2000aのタスク番号を2270に設定し、拡大率2272に等倍表示を、枠表示2273に枠表示ありを、2274の編集頁番号1に第1頁を設定する。ステップ2405で、文書構成データ2120用の共有メモリを獲得し、ステップ2406で、ウィンドウをオープンして、ステップ2407で、メニューバー600を表示する。
【0098】
ステップ2408では、ウィンドウ管理タスク1910bに対して、ガイダンス領域210、スケール表示領域220、頁表示領域230を設定する。
頁表示領域230の設定では、ウィンドウ内の物理的な位置/大きさと、用紙上のデータの論理的な位置/大きさとの対応を取るため、領域の物理起点座標(画面上の領域の左上隅座標)と、論理起点座標(物理起点座標に対応する用紙上の座標)および座標変換率とを設定する。これにより、座標入力処理においては、ウィンドウ管理タスク1910bが座標変換を行い、文書マネジャ2000aは、用紙上の論理座標をウィンドウ管理1910bから受け取ることになる。
最後に、ステップ2409で、頁表示領域に用紙枠を表示して、初期処理を終了する。
【0099】
〔C〕新規作成開始処理
新規作成開始処理では、ステップ2501で、新規文書に対応するディレクトリ2100を生成し、ステップ2502で、文書構成データ2120の初期化処理を行う。この時、頁管理テーブル2240のポインタ2241などには、全て空記号が設定される。
続いて、ステップ2503で、ディレクトリ2100の下に、文書構成データ2120用のファイルを生成し、ステップ2504で、初期化した文書構成データ2120を、生成したファイルに書き込み、処理を終了する。
【0100】
〔D〕レイアウト表示処理
レイアウト表示処理では、ステップ3201で、文書マネジャサブタスク2000bを生成し、ステップ3202で、メッセージを生成する。メッセージ種別2202には、タスク起動を設定し、メッセージ情報2203には、文書構成データ2120用にに獲得された共有メモリの番号2271、レイアウトを表示する頁表示領域の番号と頁番号2274、頁表示領域の基点物理座標、起点論理座標、領域サイズを設定する。
【0101】
ステップ3203〜ステップ3205で、文書マネジャサブタスク2000bを起動し、ウィンドウ権を文書マネジャサブタスク2000bに委譲して、ステップ3202で生成したメッセージを文書マネジャサブタスク2000bに送信する。
続いて、ステップ3206で、文書マネジャサブタスク2000bからのメッセージの受信処理を行い、ステップ3207で待ち状態となる。この時、文書マネジャサブタスク2000bが動作を開始する。
メッセージを受信すると、ステップ3208で、文書マネジャサブタスク2000bを削除して、処理を終了する。
【0102】
〔E〕枠表示処理
枠表示処理では、まず、ステップ3501’で、プルダウンメニュー601eで、指示された項目620と、枠表示の有無2273とを比較し、等しければ、処理を終了する。等しくなければ、ステップ3502’で、2273の内容を指示された内容に書換え、ステップ3503’で、頁表示領域230の内容を消去し、改めて用紙枠を表示する。最後に、ステップ3200で、レイアウト表示を行い、処理を終了する。
【0103】
〔F〕拡大率変更/再表示処理
拡大率変更処理では、まず、ステップ3402で、拡大率2272を指定された値に変更し、ウィンドウ管理タスク1910bに対して、拡大率に対応した座標変換率を設定する。続いて、ステップ3403で、頁表示領域230を消去し、用紙枠を表示して、ステップ3200で、頁番号2274で示される頁に対して、レイアウト表示処理を行う。2頁表示時には、頁番号2275で示される頁に対して、再び、ステップ3200で、レイアウト表示処理を行う。
【0104】
〔G〕タスク起動処理
タスク起動処理では、まず、ステップ2601で、メイン処理で指示された領域に対応する編集タスクを生成する。ステップ2602で、本文編集タスク2010aの起動時には、頁管理テーブル2240の表示されている頁に対応するポインタが指す領域管理テーブル2150を取得する。その他の場合には、メイン処理から与えられた座標から、編集対象となる領域を割り出し、対応する領域管理テーブル2150を取得する。
【0105】
領域管理テーブル2150が存在しない場合には、ステップ2604で、領域管理テーブル2150を生成する。領域管理テーブル2150が存在しない場合は、本文編集タスク2010a起動時に限られるので、領域左上隅X座標2153、領域左上隅Y座標2154、領域右下隅X座標2155、領域右下隅Y座標2156は、用紙の予め定められた余白値から計算される。ファイル名称2157には、今まで生成されたファイルの名称と異なる名称が設定され、データ種別2158には、本文が設定される。書式データ2170が生成され、ポインタ2160には、書式データ2170の所在が格納される。2161には、空記号が格納される。ステップ2605では、編集データ2110用のファイルが生成され、本文編集用に2つの共有メモリが獲得される。
【0106】
領域管理テーブル2150が存在する場合には、ステップ2606で、ポインタ2161を調べ、空記号であれば、編集データ2110用の共有メモリを獲得し、領域の更新であれば、獲得した共有メモリの1つに、編集データファイルから該当する編集データ2110を読み出す。空記号でなければ、既に、編集データ2110が読み出されているので、ステップ2607の処理は行わない。本文編集タスク2010a起動時には、ステップ2609で、本文生成用データ2130を、もう1つの共有メモリに生成する。ここで、排他領域管理テーブル2250には、排他属性が指定された領域の左上座標および右下座標が設定される。
【0107】
サイズ変更/移動処理(後述)以外から本処理が呼ばれた場合には、ステップ2610で、ウィンドウ管理タスク1910bに対して、編集領域(図2の240、250、260など)の基点物理座標、物理サイズ、基点論理座標、座標変換率を設定する。続いて、ステップ2611で、表1の編集タスク起動時のメッセージを生成する。領域X(Y)方向サイズは、編集領域の論理座標上での大きさである。起動種別には、新規/更新の区別の他に、確定処理(〔M〕サイズ変更/移動処理から本処理が呼ばれた場合)の区別を格納する。また、編集対象となる領域に他の領域が重なっているか否かをメッセージに設定する。
【0108】
ステップ2612で、編集タスクを起動し、レイアウト編集モードで、かつ、確定処理でない場合は、ステップ2614で、起動したタスクにウィンドウ権を委譲する。ステップ2615で、メッセージを送信する。最後に、ステップ2616で、編集タスク管理テーブル2230の空きレコード2231を獲得し、編集タスク番号2232、共有メモリ番号2232および2234、編集モード2235を設定する。
【0109】
編集モード2235は、編集モード2220と同じ値が設定されるが、2603で編集中であると判定された場合には、それに加え、複数編集状態が設定される。また、この時、新しく起動したタスクの番号を2246に、レコードの所在を2247に設定する。編集中でなかった場合には、編集モード2220に加え、単独編集中が設定される。ポインタ2236には、対応する領域管理テーブル2150の所在、該領域管理テーブル2150のポインタ2161には、獲得したレコードの所在が設定される。
【0110】
〔H〕編集タスク終了処理
編集タスク終了処理は、まず、ステップ3451で、受信したメッセージから、メッセージを送信したタスクの番号を求め、該タスクに対応する、編集タスク管理テーブル2230のレコード2231を取得する。
続いて、ステップ3452で、該タスクを削除し、ステップ3453で、共有メモリ番号2232で示される共有メモリの編集データを、ポインタ2236が示す領域管理テーブル2150のファイル名称2157のファイルに書き込む。その後、ステップ3200で、レイアウトを表示し、ステップ3454で、共有メモリを開放し、ステップ3455で、編集タスク管理テーブル2230から、レコード2231を削除して、ステップ3456で、メニュー600を表示し、処理を終了する。
【0111】
〔I〕頁数変更処理
頁数変更処理では、まず、ステップ3301で、メッセージで通知された変更後の頁数と、頁数2230’とを比較し、後者が大きければ、ステップ3302以降の処理を行い、前者が大きければ、ステップ3306以降の処理を行う。
【0112】
ステップ3302以降の処理では、ステップ3303からステップ330の処理で、頁数(2230’)+1頁目から、変更後の頁数まで、頁管理テーブル2240の対応するポインタ2241などに、空記号を設定する。その後、ステップ3310で、頁数2230’の値を更新する。
【0113】
ステップ3302以降の処理では、ステップ3306からステップ3395の処理で、増加した頁の数だけ、本文編集領域の領域管理テーブル2150を作成し、頁管理テーブル2240の対応するポインタ2241などに、作成した領域管理テーブル2150の所在を設定し、その後、ステップ3310で、頁数2230’の値を更新する。領域管理テーブル2150の内容は、変更前の最終頁のものと同じ値にする。
【0114】
〔J〕メッセージ対応処理
メッセージ対応処理では、まず、ステップ3010で、メッセージ種別2202を判定し、メッセージ種別に対応する処理を行う。
文書編集終了の場合は、本処理では、何も処理を行わず、終了する。
【0115】
指定頁表示の場合には、ステップ3001で、編集頁番号2274をメッセージで与えられた頁数に更新し、該当する頁に対して、頁表示領域230、本文編集領域240の起点物理座標、サイズ起点論理座標を、ウィンドウ管理タスク1910bに通知する。この時、メッセージの表示モードを参照し、頁の先頭から表示するか、末尾を表示するかを決定し、それによって、起点論理座標をどのような値にするかを計算する。続いて、ステップ3002で、頁表示領域を消去し、用紙枠を表示して、ステップ3200で、レイアウト表示を行う。ステップ3005で、メッセージを生成する。この時、メッセージ種別2202に終了通知を設定し、情報2203に、新しく設定した、本文編集領域240の起点物理座標、起点論理座標、論理座標上での領域サイズをメッセージに設定する。ステップ3006で、メッセージを発行したタスクにウィンドウ権を委譲し、ステップ3007で、該タスクに、メッセージを送信して、処理を終了する。
【0116】
メッセージ種別が拡大率変更または再表示の場合には、ステップ3400で、拡大率変更/再表示処理を行う。続いて、ステップ3013で、拡大率変更処理の場合には、拡大率および、座標変換率の変更に伴う、論理座標上の領域サイズをメッセージに設定する。再表示処理の場合には、座標やサイズの設定を行う必要はない。メッセージ種別2202には、処理終了を設定する。ステップ3014で、編集タスクにウィンドウ権を委譲し、ステップ3015で、編集タスクにメッセージを送信して処理を終了する。
【0117】
メッセージ種別が印刷/登録の場合には、ステップ3011で、メッセージ種別2202を判定して、前述した印刷処理か登録処理を行い、ステップ3008で、メッセージを作成する。メッセージ作成では、終了通知をメッセージ種別2202に設定するだけである。ステップ3009で、編集タスクにウィンドウ権を委譲し、ステップ3012で、メッセージを送信する。
【0118】
メッセージ種別が頁更新の場合には、ステップ3300で、頁更新処理を行い、ステップ3008で、メッセージを生成して、ステップ3012で、生成したメッセージを編集タスクに通知する。この場合も、終了通知をメッセージ種別2202に設定するするだけである。
【0119】
メッセージ種別がサイズ変更/移動の場合には、ステップ2800で、後述するサイズ変更/移動処理を行い、ステップ3008で、メッセージを生成し、ステップ3009で、ウィンドウ権を編集タスクに委譲して、ステップ3012で、生成したメッセージを編集タスクに通知する。メッセージ生成では、終了通知をメッセージ種別2202に設定し、情報2203に物理基点座標、サイズ、論理基点座標を設定する。
【0120】
メッセージ種別がスクロール、連続頁表示、編集終了処理の場合には、それぞれ、ステップ3500、ステップ3600、ステップ3400で、対応する処理を行い処理を終了する。
【0121】
〔K〕スクロール処理
スクロール処理では、まず、ステップ3501で、受信したメッセージのXおよびY方向の移動量より、スクロール後の編集タスクの起点論理座標を計算し、ウィンドウ管理タスク1910bに通知する。続いて、ステップ5502で、頁表示領域230のイメージをスクロール量に従って移動し、ステップ3503で、スクロールにより不要となった範囲を消去し、消去した範囲の用紙枠221を表示する。次に、ステップ3200で、レイアウト表示処理を行い、ステップ3504で、メッセージを作成する。メッセージ種別2202に終了通知を設定し、メッセージ情報2203には、起点論理座標と論理座標上の領域サイズを設定する。ステップ3505で、ウィンドウ権を編集タスクに委譲し、ステップ3506で、編集タスクにメッセージを送信して処理を終了する。
【0122】
〔L〕連続頁表示処理
連続頁表示処理では、まず、ステップ3601で、メッセージで与えられた頁を表示するための領域を設定する。図12に示すように、横書き時は頁表示領域230の上半分に、縦書き時は頁表示領域230の右半分に先頭頁を表示する。そのために、頁表示領域230と本文編集領域240の起点論理座標、基点物理座標、領域サイズを決定し、ウィンドウ管理タスク1910bに通知する。頁表示領域230を消去し、先頭頁の用紙枠211を表示する。続いて、ステップ3200で、レイアウト表示処理を行う。その後、ステップ3602で、編集タスクに送信するメッセージ種別2202に終了通知を、メッセージ情報2203に、先頭頁の本文編集領域の領域番号、起点物理座標、起点論理座標、領域サイズを設定する。
【0123】
ステップ3603では、図12に示すように、横書き時は頁表示領域の下半分に、縦書き時は、頁表示領域の左半分に、次の頁を表示するために、頁表示領域、本文編集領域の起点論理座標、基点物理座標、領域サイズを決定し、ウィンドウ管理1910bに通知し、次頁の用紙枠を表示する。ステップ3604で、編集頁番号2244および2245に先頭頁およびその次の頁番号を設定し、ステップ3200で、レイアウト表示処理を行う。ステップ3605で、メッセージ情報2203に、次頁の本文編集領域の領域番号、起点物理座標、起点論理座標、領域サイズを設定する。ステップ3606で、編集タスクにウィンドウ権を委譲し、ステップ3607で、編集タスクにメッセージを送信して、処理を終了する。
【0124】
〔M〕サイズ変更/移動処理
サイズ変更/移動処理では、まず、ステップ2801の入力処理で、領域のサイズ変更/移動後の領域の位置(左上隅座標および右下隅座標)を入力する。ステップ2802で、入力結果の座標を、領域管理テーブル2510の2153から2156に設定する。メッセージ対応処理から本処理が呼ばれた場合には、メッセージで通知された編集タスクの番号から、該編集タスクに対応する管理テーブル2510を取得し、メイン処理から呼ばれた場合には、メイン処理のステップ2308の領域判定処理で、変更すべき領域管理テーブル2510が取得される。
【0125】
ステップ2600で、本文編集タスクを確定処理モードで起動し、ステップ2804で、メッセージの受信処理を行って、ステップ2805で、メッセージの受信待ちとなる。メッセージを受信すると、ステップ2806で、メッセージのタスク番号が2246に登録されているかどうかをチェックし、登録されていなければ、ステップ3450で、編集タスク終了処理を行って、処理を終了する。
【0126】
登録されていれば、ステップ2807で、データ確定処理を行った編集タスクを削除し、ステップ3200で、レイアウト表示処理を行う。そして、ステップ2808で、メッセージのタスク番号から、編集タスク管理テーブル2230のレコード2231を取得し、編集モードを単独処理に変更して、処理を終了する。
【0127】
〔N〕終了処理
終了処理では、編集タスク管理テーブル2230に登録されている全てのレコード2231について、ステップ3102からステップ3105の処理を行う。
【0128】
まず、ステップ3102で、登録されているタスク番号2232を持つタスクをアボードし、削除する。そして、ステップ3103で、共有メモリ番号2233の編集データを、ファイル名称が、ポインタ2236が指し示す領域管理テーブル2150の2157で与えられるファイルに格納し、ステップ3104で、共有メモリを解放する。ステップ3105で、レコード2231を削除する。
【0129】
全てのレコード2231について、ステップ3102からステップ3105の処理が終了すると、ステップ3106で、文書構成データ2120をファイルに格納し、ステップ3107で、文書構成データ2120用の共有メモリを解放し、ステップ3108で、初期表示タスク1903に終了メッセージを送信して、処理を終了する。
【0130】
以上が文書マネジャ2000aの処理である。次に、文書マネジャサブ2000bの処理について説明する。
図28は文書マネジャサブ2000bの処理の流れを示す図である。
文書マネジャサブ2000bは、まず、ステップ3701で、文書マネジャ2000aからのメッセージを受信し、メッセージの共有メモリ番号1で与えられた共有メモリに存在する表示すべき頁の頁管理テーブル2240のポインタから、該頁の領域管理テーブル2150をたどり、全ての領域について、ステップ3703からステップ3716の処理を行い、ステップ3717およびステップ3718で、文書マネジャ2000aにウィンドウ権を委譲し、メッセージを送信して、処理を終了する。
【0131】
ステップ3703では、頁領域管理テーブル2150のポインタ2161を調べ、空であれば、ステップ3704で、共有メモリを獲得し、ステップ3705で、領域管理テーブル2150のファイル名称2157により示される編集データ用ファイル2210から編集データを読み出す。
【0132】
ステップ3706で、領域管理テーブル2150のデータ種別2158に対応するレイアウト表示タスク2020を生成する。ステップ3707では、表示領域座標2153〜2156と、メッセージで通知された、頁表示領域の起点物理座標、起点論理座標、領域サイズから、表示すべき領域の起点物理座標、起点論理座標、領域サイズを計算し、ウィンドウ管理タスク1910bに通知して、表2のメッセージを生成する。続いて、ステップ3708で、レイアウト表示タスク2020を起動し、ステップ3709で、該タスクにウィンドウ権を委譲し、ステップ3710で、メッセージを送信する。ステップ3711で、メッセージ受信処理を行い、ステップ3712で、レイアウト表示タスク2020からのメッセージ受信待ちとなり、レイアウト表示タスク2020が処理を開始する。レイアウト表示タスク2020からのメッセージを受信すると、ステップ3704で、共有メモリを獲得した場合には、ステップ3713で、該共有メモリを解放する。そして、ステップ3714で、レイアウト編集タスク2020を削除し、ステップ3715で、枠表示の有無2273をチェックし、領域枠表示が必要であれば、ステップ3716で表示する。
【0133】
編集タスク管理テーブル2230の編集モード2235が、レイアウト編集になっているレコード2231に対応する領域に対しては、ステップ3703〜ステップ3716の処理は行わない。
表2の共有メモリ番号は、ステップ3704で、獲得したものか、編集タスク管理テーブル2230の共有メモリ番号2233の値が設定される。領域番号は、ステップ3707でウィンドウ管理タスク1910bに通知した領域のものである。
【0134】
レイアウト表示タスク2020は、受信したメッセージの共有メモリ番号で示されるメモリ上にある編集データを、メッセージで与えられた表示領域に表示し、表示終了後、文書マネジャサブタスク2000bにウィンドウ権を委譲し、終了メッセージを送信して、処理を終了する。
【0135】
次に、本文編集タスク2010aの処理について説明する。
まず、図29および図30により、本文編集の制御データについて説明する。図29は本文データ2110aを示す図である。本文データ2110aは、頁数5000、頁単位の頁制御テーブル5100、文字コードテーブル5400からなる。
【0136】
頁制御テーブル5100は、段管理テーブル5200と行管理テーブル5300とからなる。段管理テーブル5200は、頁に含まれる段の数5201、各段毎に含まれる行の行数5202、行間5203、段の先頭行の行管理テーブル5300へのポインタ5204を持つ。行管理テーブル5300は、各行ごとの行情報からなり、行情報は、文字サイズ5301、文字間5302、行先頭の文字コードへのポインタ5303からなる。文字コードテーブル5400は、文字コードと文字属性とを格納するテーブルである。
【0137】
図30は本文の制御データを示す図である。制御データは、現在表示している頁数を格納する表示頁数5501、現在の表示拡大率5502、レイアウト編集か個別編集かを区別する編集モード5503、表示中の頁の論理座標を保持する表示領域管理テーブル5500、段の行座標を保持する行座標テーブル5600がある。
【0138】
表示管理テーブル5500は、表示頁ごとに存在し、頁番号5520、ウィンドウ管理タスク1910bに設定した表示領域の番号5521、頁の段数5522、横/縦書きの区別5523、段座標管理テーブル5510からなる。
段座標管理テーブル5510は、各段の段左上隅論理X座標5511、段の段左上隅論理Y座標5512、段右下隅論理X座標5513、段右下隅論理Y座標5513を保持する。
【0139】
次に、本文編集タスク2010aの処理の流れについて、図31〜図35により説明する。
本実施例においては、レイアウト編集モードでの処理を中心に記載してあり、特に、〔C〕〜〔I〕の各処理については、レイアウト編集モード時の処理だけを取り出して記述してある。レイアウト編集モードと個別編集モードで処理が異なる場合は、編集モード5503により、どちらの処理を行うかを決定する。以下、図31〜図35の〔A〕〜〔K〕の処理について説明する。
【0140】
〔A〕メイン処理
本文編集タスク2010aは、起動されると、まず、ステップ3900で、初期処理を行い、ステップ3801で、入力待ちとなる。ステップ3802で、入力の判定処理を行い、その結果によって、スクロール処理、座標変換処理、再表示処理、印刷/登録処理やその他の処理を行う。
【0141】
スクロールキーが入力されたときには、ステップ4100で、スクロール処理を行い、ステップ3801に戻って、入力待ちとなる。
入力が本文の表示領域240または頁表示領域230の座標であり、かつ、レイアウト編集モードのときには、ステップ4000で、座標変換処理を行い、その結果によって、ステップ3803で、ステップ4600の終了処理を行うか、ステップ3801の入力処理に戻って、処理を続行するかを判断する。
プルダウンメニュー701aの項目713(レイアウト編集)か項目716(文書編集終了)が入力された場合、または、終了ボックス201が指示された場合には、ステップ4600で、終了処理を行い、本文の編集処理を終了する。
【0142】
前頁/次頁キーが押下げられた場合、または、プルダウンメニュー701bの項目714(再表示)か項目715(画面分割)が指示された場合には、ステップ4300で、再表示などの処理を行い、ステップ3801に戻って、入力処理を行う。
プルダウンメニュー701aの項目611(印刷)か項目612(登録)が指示された場合は、ステップ4400で、印刷/登録処理を行い、ステップ3801に戻る。
その他の処理の場合は、入力に応じた編集処理を行い、ステップ4550で、編集の結果頁数に変更が有れば、頁数変更処理を行い、ステップ4500で、編集結果を表示して、ステップ3801に戻って、新たな入力処理を行う。
【0143】
〔B〕初期処理
初期処理では、本文編集タスク2010aは、起動されると、まず、ステップ3901で、文書マネジャからのメッセージを受信する。ステップ3902で、メッセージの起動種別を判定し、確定モードであれば、ステップ4800で、確定処理を行う。確定処理では、終了メッセージを送信し、本文編集タスク2010aの処理は、その時点で終了する。
【0144】
レイアウト編集モードであれば、ステップ3904で、表示管理テーブル5500aを生成する。まず、共有メモリ2に置かれた本文生成用データ2130の第1頁の書式データ2260から、段数2265および横/縦書きの区別2267を読出し、それぞれ、5522および5523に設定する。次に、余白2261〜2264および段間2266より、各段の左上隅座標および右下隅の論理座標を計算する。計算した結果と受信したメッセージの起点論理座標とでサイズを比較し、実際に各段が表示される範囲を計算し、その領域の左上隅座標および右下隅の論理座標を求め、5511〜5514に設定する。頁番号5520には、1を、領域番号5521には、メッセージで得た編集領域番号を設定する。また、表示管理テーブル5500bには、頁番号5520、領域番号5521に、空記号を設定する。
【0145】
個別編集モード時には、ステップ3903で、本文編集ウィンドウ400をオープンし、ステップ3905で、ウィンドウ管理タスク1910bに対して、ガイダンス領域410、スケール表示領域420、本文編集領域425を設定する。本文編集領域425は、論理座標として、行桁座標系が設定されており、本文編集領域425でのマウスによる座標入力の結果は、行桁座標で与えられる。
【0146】
ステップ3906で、もう一度、起動種別を判定し、新規文書作成のときは、ステップ3907で、共有メモリ1に本文データを生成し、初期化する。本文データの初期化では、頁制御テーブル5100の段数5201に、本文生成用データ2130の第1頁の書式データ2260の段数2265を設定し、行数5202、行間5203、文字サイズ5301、文字間5302には、予め定められた標準値を設定し、ポインタ5204および5303には、空記号を設定する。
【0147】
ステップ3908のメニューデータの初期化処理においては、レイアウト編集モード時は、プルダウンメニュー701bの項目715(画面分割)を、個別編集モード時は、プルダウンメニュー701bの項目714(再表示)および619(拡大率)とプルダウンメニュー701aの項目713(レイアウト編集)とを無効項目として、入力制御タスク1910aに登録する。入力制御タスク1910aでは、ユーザが無効項目として登録された項目を指示できないよう制御する。ステップ3910で、メニューバー700を表示し、ステップ4200で、本文データ表示処理を行い、初期処理を終了する。
【0148】
〔C〕座標変換処理
座標変換処理では、レイアウト編集モード時は、本文編集領域240および頁表示領域230のマウスの座標入力は、論理座標系の(X,Y)座標なので、本処理で、この値を行桁座標系に変換する。
まず、ステップ4001で、本文編集領域240内かどうかを判定し、本文編集領域240内でなければ、(すなわち、頁表示領域230)、処理を終了する。本文編集領域240内であれば、ステップ4002で、排他領域内かどうかをチェックする。このチェックは、以下のようにして行う。
【0149】
表示管理テーブル5500の領域番号と、入力された本文の領域を比較し、一致した表示管理テーブル5500の領域番号5520を取得する。本文生成用データ2130の取得した頁内にある排他領域管理テーブル2250の座標2251〜2255と入力した座標とを比較し、排他領域かどうかを判定する。
【0150】
排他領域でなければ、ステップ4003で、行桁座標に変換する。変換の方法は以下の通りである。
まず、入力した座標と、表示管理テーブル5550の段座標管理テーブル5510とを比較し、どの段に含まれるかを判定する。頁番号および段番号により、本文データの頁制御テーブル5100から該当する段の行間5203を求め、入力座標および行間5203より何行目かを計算し、文字サイズ5301、文字間5302および入力座標により何桁目かを計算する。
なお、ステップ4001またはステップ4002の判定により処理を終了した場合には、メイン処理〔A〕のステップ3803とステップ4600では、領域切替えによる終了処理と判断される。
【0151】
〔D〕印刷登録処理
印刷登録処理では、まず、ステップ4301で、表3の印刷などのメッセージを生成する。メッセージ種別2202は、印刷/登録の区別を表す。ステップ4302〜ステップ4305で、ウィンドウ権を文書マネジャ2000aに委譲し、メッセージを送信して、文書マネジャからのメッセージ受信待ちとなる。メッセージを受信すると、処理を終了する。
【0152】
〔E〕再表示、前頁/次頁、拡大率変更処理
拡大率変更処理の場合は、ステップ4301で、指示された拡大率と、表示拡大率とを比較し、等しければ、処理を終了する。ステップ4302では、以下の処理を行う。
【0153】
再表示および拡大率変更の場合には、それぞれ、表3の再表示および拡大率変更のメッセージを生成する。前頁/次頁キーの入力により本処理が呼ばれた場合には、カーソルが存在する頁に対して、前頁/次頁の頁数を計算し、メッセージの頁番号に設定する。この時、表示モードには、頁先頭からを設定する。他の処理から本処理が呼ばれた場合には、他の処理から指定された頁数および表示モードを、メッセージに設定する。
【0154】
ステップ4303〜ステップ430で、文書マネジャ2000aにウィンドウ権を委譲し、メッセージを送信して、文書マネジャ2000aからのメッセージを受信待ちとなる。メッセージを受信すると、再表示以外なら、ステップ4308で、表示管理テーブル5500を変更する。変更の方法は、初期処理で述べた生成処理と、ほぼ同じである。頁は、メッセージに設定した頁、または、本処理以前に設定されていた頁と同じである。その後、ステップ4200で、本文データ表示処理を行い、処理を終了する。
【0155】
〔F〕スクロール処理
スクロール処理では、まず、ステップ4101で、表示頁数5501をチェックし、2頁表示している場合には、ステップ4300で、指定頁の表示処理を行う。この時、設定する頁番号および、表示モードは以下の通りである。
【0156】
カーソルが前頁に表示されており、かつ、上スクロールキー(縦書き時は右スクロールキー)が押された場合は、頁番号に、後頁の頁番号を設定し、表示モードに、頁の先頭を設定する。下スクロールキー(縦書き時は左スクロールキー)または横スクロールキーが押された場合には、頁番号に、前頁の頁番号を設定し、表示モードに、頁の末尾を設定する。
【0157】
また、カーソルが後頁に表示されており、かつ、上スクロールキー(縦書き時は右スクロールキー)または横スクロールキーが押された場合は、頁番号に、後頁の頁番号を設定し、表示モードに、頁の先頭を設定する。上スクロールキー(縦書き時は右スクロールキー)が押された場合には、頁番号に、前頁の頁番号を設定し、表示モードに、頁の末尾を設定する。
【0158】
次に、ステップ4102で、スクロール量を計算する。計算方法は以下の通りである。
まず、スクロールキーが押された場合の移動量について説明する。上スクロール(縦書き時は右スクロール)の場合、表示管理テーブル5500から、カーソルが表示されている段の右下隅Y座標より下にあり、全く表示されていない行で最も上にある行(縦書き時は、左上隅X座標より左にあり、全く表示されていない行で最も右にある行)を完全に表示するための移動量を求める。下スクロール(縦書き時は左スクロール)の場合、表示管理テーブル5500から、カーソルが表示されている段の左上隅Y座標より上にあり、全く表示されていない行で最も下にある行(縦書き時は、右下隅X座標より右にあり、全く表示されていない行で最も左にある行)を完全に表示するための移動量を求める。
【0159】
次に編集結果表示処理から本処理が呼ばれた場合の移動量について述べる。この場合は、表示先頭行が表示範囲の先頭に表示されるよう、スクロールの向きおよび量を決定する。もし、2頁表示中であれば、ステップ4101の判定により、ステップ4300の処理を行うが、指定頁を決定する際のスクロール方向も同様に決定される。
【0160】
この計算の過程で、次頁または前頁に表示頁を切替る必要があることが判った場合には、表3の連続頁表示のメッセージを設定し、そうでない場合には、ステップ4104で、表3のスクロールのメッセージを生成する。
【0161】
連続頁表示での頁番号は、以下のように決定する。上スクロール(縦書き時は右スクロール)の場合は、カーソルが表示された頁の頁番号を、下スクロール(縦書き時は左スクロール)の場合には、カーソルが表示された頁の前頁の頁番号を設定する。
【0162】
ステップ4106〜ステップ4109で、文書マネジャ2000aにウィンドウ権を委譲し、メッセージを送信して、文書マネジャ2000aからのメッセージ受信待ちとなる。メッセージを受信すると、ステップ4110で、表示管理テーブル5500を更新し、ステップ4200で、本文データを表示し、処理を終了する。連続頁表示のメッセージを送信した場合には、メッセージで指定した頁およびその次頁に関して、表示管理テーブル5500aおよび5500bを生成し、スクロールのメッセージを送信した場合には、以前から表示していた頁に関して、表示管理テーブル5500を生成する。
【0163】
〔G〕編集結果表示処理
編集結果表示処理では、表示先頭行が、表示管理テーブル5500の段管理テーブル5510で示される範囲内であれば、ステップ4700の指定行表示処理を行い、処理を終了する。
そうでなければ、ステップ4502で、同一頁かどうかを判定して、同一頁ならば、ステップ4100で、スクロール処理を行い、処理を終了する。
【0164】
ステップ4503では、表示管理テーブル5500から表示状態を判定し、2頁表示で、かつ、表示先頭行が、次頁の先頭か前頁の末尾行の場合は、ステップ4504で、連続表示頁のメッセージを生成する。前者の場合、メッセージの頁番号には、処理の前まで表示されていた頁の頁番号を設定し、後者の場合は、処理の前まで表示されていた頁の前頁の頁番号を設定する。その他の場合には、表示先頭行が表示される頁を指定して、指定頁表示のメッセージを生成する。この場合、表示先頭行が頁の末尾側に有れば、表示モードを頁末尾に設定し、先頭側に有れば、表示モードを頁先頭に設定する。
【0165】
本実施例では、指定頁表示では、頁の先頭から表示するか末尾から表示するかしか指定できないが、頁の任意の位置から表示できるようにすることは簡単であり、そうすることにより、必ず表示先頭行を表示することができるようになる。
【0166】
ステップ4505〜ステップ4509で、文書マネジャ2000aにウィンドウ権を委譲し、メッセージを送信して、文書マネジャ2000aからのメッセージ受信待ちとなる。メッセージを受信すると、ステップ4510で、表示管理テーブル5500を更新し、ステップ4700の指定頁表示処理を行い、処理を終了する。
【0167】
〔H〕本文データ表示処理
初期処理から本処理が呼ばれた場合には、ステップ4201で、受信したメッセージの重なり領域の有無を判定し、重なり領域が無ければ、処理を終了する。ステップ4202では、表示管理テーブル5500から表示範囲(表示先頭行および表示終了行)を計算し、ステップ4700で、指定頁表示を行い、処理を終了する。
【0168】
〔I〕指定頁表示処理
指定された表示先頭行から表示終了行までを含む段を、本文データから求め、その全ての段について、ステップ4601からステップ4603までの処理を行う。
ステップ4601では、段に含まれる行の行座標を、頁管理テーブル5500を参照して計算し、行座標テーブル5600に設定する。ステップ4602およびステップ4603で、行座標を計算した段に含まれる表示対象行を、行座標テーブル5600を参照して表示する。
【0169】
全ての行を表示した後、ステップ4604で、カーソルが表示されている行の文字サイズおよび文字間隔を取得する。そして、ステップ4605で、スケール表示領域の起点物理座標、起点論理座標、座標変換率を、本文編集領域240と同じ値に設定して、図9に示したスケール表示用の文字列910を作成し、ステップ4606で、カーソルが存在する段の左上隅X座標を起点として、文字列を表示する。
【0170】
〔J〕終了処理
終了処理では、まず、ステップ4601’で、終了状態に応じて、文書作成終了処理のメッセージおよび領域編集処理のメッセージのいずれかを生成する。
個別編集モードでは、終了ボックス201が指示された場合は、領域編集終了であり、プルダウンメニュー701bの項目716(文書編集終了)が指示された場合は、文書編集終了である。
【0171】
レイアウト編集モードでは、終了ボックス201が指示された場合およびプルダウンメニュー701bの項目716(文書編集終了)が指示された場合は、文書編集終了であり、項目713(レイアウト編集)が指示された場合、座標変換処理で頁領域230か排他領域430が指示された場合は、領域編集終了である。頁領域230か排他領域430が指示された場合は、領域切替えモードと入力した座標とをメッセージ情報2203に設定する。その他の場合は、編集終了モードをメッセージ種別2202に設定する。
【0172】
レイアウト編集モードの場合は、ステップ4603’で、ウィンドウ権を文書マネジャ2000aに委譲し、個別編集モードの場合は、ステップ4604’で、ウィンドウをクローズする。そして、ステップ4605’で、文書マネジャ2000aにメッセージを送信して、処理を終了する。
【0173】
〔K〕頁数変更処理
頁数変更処理では、まず、ステップ4511で、編集処理の結果、頁数に変更があったかどうかを判定し、あれば、ステップ4552〜ステップ4553で、頁数変更処理のためのメッセージを文書マネジャ2000aに送信し、文書マネジャ2000aからのメッセージ受信待ちとなる。ステップ4554で、メッセージを受信すると、ステップ4555で、文書構成データ2210の頁数2230’を変更して、処理を終了する。
【0174】
〔L〕確定処理
確定処理では、本文データのすべての行について、ステップ4802〜ステップ4807の処理を行う。
まず、ステップ4802で、行が占める矩形領域の行座標を計算する。これを、y1,y2(縦書き時はx1,x2)とする。行の全ての文字について、ステップ4804〜ステップ4807の処理を行う。
ステップ4804で、その文字が占める矩形領域の桁座標x1,x2(縦書き時は、y1,y2)を計算する。ステップ4805で、x1,x2,y1,y2で与えられる矩形領域と、その行が存在する頁の排他領域との重なり具合を、本文生成用データ2130の排他領域管理テーブル2250を用いてチェックする。重なっていれば、ステップ4807で、その文字の前に空記号を挿入する。
全ての行について、以上の処理が終了すると、ステップ4808で、終了メッセージを生成し、ステップ4809で、文書マネジャ2000aにメッセージを送信して、本文編集タスク2010aの処理を終了する。
【0175】
以上で、本文編集タスク2110aの処理の説明を終了する。他の編集タスクには、本文生成用データ2130に対応するデータを持たないものもあるが、本文編集タスク2110aとほぼ同じ処理を行うと考えてよい。
【0176】
ただ、領域の移動/サイズ変更は、本文編集タスク2110a以外のタスクでしか行わない処理なので、図36により、領域の移動/サイズ変更処理について説明する。
本処理は、入力処理により、プルダウンメニュー801aの項目811(領域移動)か項目812(領域サイズ変更)が指示された場合に行われる。
【0177】
ステップ4901で、メッセージを生成する。領域の移動/サイズ変更の区別を、メッセージ種別2202に設定する。ステップ4902で、ウィンドウ権を文書マネジャ2000aに委譲し、ステップ4903で、メッセージを送信する。メッセージを受信すると、ステップ4906で、受信メッセージで通知された領域に、編集タスクのデータを表示して、領域の移動/サイズ変更処理を終了する。
【0178】
以上説明したように、本実施例によると、必要に応じて、レイアウト編集モードおよび個別編集モードのいずれかを選択することができるので、編集対象や編集内容に応じて、常に最適な編集環境を設定できるという効果がある。
【0179】
さらに、文書更新時には、更新する文書に応じた編集モードを自動的に設定するので、一度編集モードを設定すると、更新の度に、編集モードを設定しなければならないという煩わしさから解放されるという効果もある。
【0180】
また、入力や編集中の状態に応じて、連続する2頁を同時に表示したり、1頁だけを表示するといった表示状態の切り換えを行うので、入力/編集操作の効率が飛躍的に向上するといった効果もある。
【0181】
さらに、領域の編集中に、該領域のサイズ変更や移動が行え、また、領域を指示するだけで、編集対象を切り換えることが出きるので、文章、図形、イメージなどが混在した文書を、効率よく編集できるという効果がある。
以上説明したように本実施例によれば、レイアウト編集モード時においては、編集対象文字列の前後の文字列が、他の頁に含まれていても、必要な複数の頁を自動的に表示するので、レイアウト編集モード時の文字列編集/入力の操作性に優れたレイアウト編集時の頁イメージ表示管理方法を得ることができる。
【0182】
本発明によれば、文書の作成編集を行うときの使い勝手を向上した頁イメージ表示管理方法を提供することができる。
【図面の簡単な説明】
【図1】本発明の一実施例における操作体系を示す説明図。
【図2】レイアウト編集ウィンドウの一例を示す説明図。
【図3】スケールの一例を示す説明図。
【図4】個別編集ウィンドウの一例を示す説明図。
【図5】個別編集ウィンドウの一例を示す説明図。
【図6】メニューおよびプルダウンメニューの一例を示す説明図。
【図7】メニューおよびプルダウンメニューの一例を示す説明図。
【図8】メニューおよびプルダウンメニューの一例を示す説明図。
【図9】スケール表示のための文字列の列を示す説明図。
【図10】スクロールの説明図。
【図11】連続頁の表示列を示す説明図。
【図12】頁表示状態の遷移を示す説明図。
【図13】領域の移動処理を示す説明図。
【図14】本発明の一実施例におけるハードウェア構成図およびソフトウェア構成図。
【図15】本発明の一実施例におけるハードウェア構成図およびソフトウェア構成図。
【図16】文書編集タスクのプログラム構成図と文書データの構成図。
【図17】文書編集タスクのプログラム構成図と文書データの構成図。
【図18】メッセージの構造を示す説明図。
【図19】初期表示タスクの処理の流れ図。
【図20】文書構成データ、本文生成用データおよび編集タスク管理テーブルの構造図。
【図21】文書構成データ、本文生成用データおよび編集タスク管理テーブルの構造図。
【図22】文書マネジャの処理の流れ図。
【図23】文書マネジャの処理の流れ図。
【図24】文書マネジャの処理の流れ図。
【図25】文書マネジャの処理の流れ図。
【図26】文書マネジャの処理の流れ図。
【図27】文書マネジャの処理の流れ図。
【図28】文書マネジャサブタスクの処理の流れ図。
【図29】本文データの構造図。
【図30】表示制御データの構造図。
【図31】本文編集タスクとその他の領域編集タスクの処理の流れ図である。
【図32】本文編集タスクとその他の領域編集タスクの処理の流れ図である。
【図33】本文編集タスクとその他の領域編集タスクの処理の流れ図である。
【図34】本文編集タスクとその他の領域編集タスクの処理の流れ図である。
【図35】本文編集タスクとその他の領域編集タスクの処理の流れ図である。
【図36】本文編集タスクとその他の領域編集タスクの処理の流れ図である。
【符号の説明】
200…レイアウト編集ウィンドウ、240…本文領域、260…図形領域、400…本文編集ウィンドウ、500…図形編集ウィンドウ、600,700,800…メニューバー、1800…ホストCPU、1801…サブCPU、1802…主メモリ、1803…共有メモリ、1804…ハードディスク、1805…辞書ROM、1806…フロッピディスク、1807…LPコントローラ、1808…レーザプリンタ、1809…グラフィックプロセッサ、1810…CRT,1811…CGROM、1812…VRAM、1813,1814,1815…パス、1816…キーボード、1817…マウス、1900…文書編集タスク、1901…文書印刷タスク、1902…帳票タスク、1903…初期表示タスク、1910a…入力制御タスク、1910b…ウィンドウ管理タスク、1910c…表示制御タスク、1910d…印刷制御タスク、1910e…ファイル管理タスク、1920…基本OS、1930…ドライバ群、2000a…文書マネジャ、2000b…文書マネジャサブタスク、2010a…本文編集タスク、2020…レイアウト表示タスク、2200…メッセージ、2110a…本文データ、2120…文書構成データ、2130…本文生成用データ、2150…領域管理テーブル、2170…書式データ、2190…頁管理テーブル、2230…編集タスク管理データ、2240…頁管理テーブル、2250…排他領域管理テーブル、5100…頁印刷テーブル、5200…段管理テーブル、5300…行管理テーブル、5400…文字コードテーブル、5500…表示管理テーブル、5510…段座標管理テーブル、5600…行座標テーブル。
Claims (4)
- レイアウト編集時に、表示手段に頁の印刷イメージを表示させて文書の作成編集を行うときの頁イメージ表示管理方法であって、
表示手段に1頁を表示させて文章の入力または削除を可能にし、
文書の入力または削除の結果による頁の増減が発生したときに上記表示手段に1頁目の末尾行と2頁目の先頭行とが同一画面に表示されるように連続した2頁を表示するよう管理することを特徴とするレイアウト編集時の頁イメージ表示管理方法。 - レイアウト編集時に、表示手段に頁の印刷イメージを表示させて文書の作成編集を行うときの頁イメージ表示管理方法であって、
表示手段に頁の印刷イメージを表示させて文章の入力または削除を可能にし、
表示された印刷イメージ上の文章の文字をカーソル手段で指し示し、
第n頁だけの印刷イメージが表示されている表示状態Aであるときに文字入力が行われ、入力された文字列が表示されている頁の末尾行を超えて新しい頁が追加される場合に、
第n頁及び第n+1頁の連続する2頁の印刷イメージが表示されており、第n頁の末尾行と第n+1頁の先頭行とが表示されている表示状態Bになるように連続する2頁の印刷イメージを表示させ、
表示状態Bであるときに文字入力が行われ、入力された文字列が表示できなくなった場合に、第n+1頁だけの印刷イメージが表示されている表示状態Cの1頁の印刷イメージを表示させ、
表示状態Cで文字列が削除され、第n+1頁の前のページに存在する文字をカーソル手段が指し示すように変化した場合に、表示状態Bになるように連続する2頁の印刷イメージを表示させ、
表示状態Bで文字が削除され、カーソル手段が表示されていない文字を指し示すようになった場合に、表示状態Aの1頁の印刷イメージを表示させることを特徴とするレイアウト編集時の頁イメージ表示管理方法。 - レイアウト編集時に、表示手段に1頁を表示する表示状態または連続した2頁を1頁目の末尾行と2頁目の先頭行とを同一画面に表示する表示状態のいずれかの表示状態を表示させて文書の作成編集を行うときの頁イメージ表示管理方法であって、
文章の入力あるいは削除により非表示部分を表示することが必要となったときに、それまで管理していた状態からもう一つの状態に遷移させて非表示部分を表示することを特徴とするレイアウト編集時の頁イメージ表示管理方法。 - レイアウト編集時に、第n頁だけの印刷イメージが表示されている表示状態Aと、第n頁及び第n+1頁の連続する2頁の印刷イメージが表示されており、第n頁の末尾行と第n+1頁の先頭行とが表示されている表示状態Bと、第n+1頁だけの印刷イメージが表示されている表示状態Cのいずれかの表示状態を表示させて文書の作成編集を行うときの頁イメージ表示管理方法であって、
表示された印刷イメージ上の文章の文字をカーソル手段で指し示し、
上記表示手段の表示状態及び文章の入力あるいは削除、または上記カーソル手段の移動により、
表示状態Aで文字入力が行われ、入力された文字列が表示されている頁の末尾行を超えて新しい頁が追加される場合には、表示状態Bに表示状態を遷移させて連続する2頁の印刷イメージを表示させ、
表示状態Bで文字入力が行われ、入力された文字列が表示できなくなった場合には、表示状態Cに表示状態を遷移させて1頁の印刷イメージを表示させ、
表示状態Cで文字列が削除され、頁の前のページに存在する文字をカーソル手段が指し示すように変化した場合には、表示状態Bに表示状態を遷移させて連続する2頁の印刷イメージを表示させ、
表示状態Bで文字が削除され、カーソル手段が表示されていない文字を指し示すようになった場合には、表示状態Aに表示状態を遷移させて1頁の印刷イメージを表示させることを特徴とするレイアウト編集時の頁イメージ表示管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001356852A JP3699923B2 (ja) | 2001-11-22 | 2001-11-22 | レイアウト編集時の頁イメージ表示管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001356852A JP3699923B2 (ja) | 2001-11-22 | 2001-11-22 | レイアウト編集時の頁イメージ表示管理方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP08839290A Division JP3269623B2 (ja) | 1990-04-04 | 1990-04-04 | 文書作成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002215613A JP2002215613A (ja) | 2002-08-02 |
JP3699923B2 true JP3699923B2 (ja) | 2005-09-28 |
Family
ID=19168296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001356852A Expired - Fee Related JP3699923B2 (ja) | 2001-11-22 | 2001-11-22 | レイアウト編集時の頁イメージ表示管理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3699923B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5110393B2 (ja) * | 2009-01-07 | 2012-12-26 | テクマトリックス株式会社 | 医療用レポート作成端末、医療用レポート作成方法、およびプログラム |
JP5832076B2 (ja) | 2010-09-24 | 2015-12-16 | 任天堂株式会社 | 情報処理プログラム、情報処理装置、情報処理システムおよび情報処理方法 |
-
2001
- 2001-11-22 JP JP2001356852A patent/JP3699923B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002215613A (ja) | 2002-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH01234967A (ja) | 文書作成装置 | |
JPH0798769A (ja) | 情報処理装置及びその画面編集方法 | |
JP2003308310A (ja) | 表示方法、表示装置、表示プログラム、および表示プログラムを記録した記録媒体 | |
JP3388451B2 (ja) | 手書き入力装置 | |
JP3699923B2 (ja) | レイアウト編集時の頁イメージ表示管理方法 | |
JP3269623B2 (ja) | 文書作成装置 | |
JP3100614B2 (ja) | 文書処理装置および文書処理方法 | |
JPS6244866A (ja) | 文書処理装置 | |
JP2751212B2 (ja) | 文書作成装置 | |
JPH0564931A (ja) | プリントスプール手段 | |
JPS6366630A (ja) | 印刷位置入力装置 | |
JP2825816B2 (ja) | 文書論理構造編集装置 | |
JP2816003B2 (ja) | 文書作成装置 | |
JPH1055431A (ja) | 画像処理装置 | |
JPH1069480A (ja) | 文書処理方法及び文書処理装置、記憶媒体 | |
JPH08227420A (ja) | 文書作成装置 | |
JP2879940B2 (ja) | 楽譜編集システム | |
JPH0470958A (ja) | 文書処理装置 | |
JP3101402B2 (ja) | 文書編集方法及び文書編集装置 | |
JP2004213305A (ja) | 印刷制御システムおよび情報処理装置および印刷制御方法およびプログラム | |
JP2751224B2 (ja) | 文書作成装置 | |
JP3754714B2 (ja) | 文書処理方法及び装置 | |
JPH087012A (ja) | データの出力様式編集方法および装置 | |
JP2851840B2 (ja) | 文書処理装置 | |
JPH06266706A (ja) | 文字サイズ変更機能付き文書処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041005 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041126 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050628 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050711 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080715 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090715 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |