JPH0352098B2 - - Google Patents
Info
- Publication number
- JPH0352098B2 JPH0352098B2 JP60156205A JP15620585A JPH0352098B2 JP H0352098 B2 JPH0352098 B2 JP H0352098B2 JP 60156205 A JP60156205 A JP 60156205A JP 15620585 A JP15620585 A JP 15620585A JP H0352098 B2 JPH0352098 B2 JP H0352098B2
- Authority
- JP
- Japan
- Prior art keywords
- object set
- text
- superblock
- page
- objects
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
- Processing Or Creating Images (AREA)
Description
以下の順序で本発明を説明する。
A 産業上の利用分野
B 開示の概要
C 従来技術
D 発明が解決しようとする問題点
E 問題点を解決するための手段
F 実施例
F1 実施例の概略
F2 複合文書(第2図および第6図)
F3 スーパーブロツク(第4図および第5図)
F4 スーパーブロツク生成プロセス(第1図)
F5 スーパーブロツク構造の編集プロセス(第
8図ないし第12図) F6 フローアトリビユートに関するフロープロ
セス(第13図ないし第15図および第21
図) F7 まとめ(第16図ないし第20図) G 発明の効果 A 産業上の利用分野 本発明は統合多重データエデイタにおける書式
化のアルゴリズムを簡単にするための編集方法に
関する。 B 開示の概要 以下に説明するエデイタは統合ソフトウエア環
境において、2以上のオブジエクトセツトから成
るスーパーブロツク構造という概念を導入するこ
とによつて従来に比べて書式化のアルゴリズムを
簡単化できるようにしたものである。 C 従来技術 コンピユータは社会全体にわたつてごく普通に
使われるようになつてきた。これは、現在のコン
ピユータが従来のものに比べてより効率よく多く
のジヨブを遂行することができるというだけでな
く、ここ10年でそのコストが大幅に下がつたとい
う理由による。メインフレームまたは複数の端末
を備えたミニコンピユータにより、ビジネスの広
範な分野で多くの人々が利用可能なコンピユータ
をアクセスすることができるようになつた。さら
に、ビジネスコースおよびパーソナルコースの両
方を兼ね備えたマイクロコンピユータが登場した
ことにより、コンピユータを使う人はますます多
くなつてきている。このような傾向は、データ処
理の分野においてコンピユータの専門家でないよ
うなユーザがほとんどである。したがつて、専門
家でないユーザが特別な訓練をせずにコンピユー
タで所望のタスクを遂行できるようユーザフレン
ドリなコンピユータプログラムをデザインするこ
とが必要となつてきた。そのためにこれまでに使
われてきた1つの手法として、ユーザにタスク選
択のメニユーを提供するというものがある。そう
したメニユーはスクリーンの全面を占めることも
あるし、あるいはスクリーンの一部だけに表示さ
れることもある。メニユーエントリの隣りのスペ
ースのところは、キーボード上のキーを使うかま
たは他の移動手段を使うことによつてカーソルを
置くことができる。所望のタスクを選択するに
は、そのメニユーエントリの隣りのスペースのと
ころにカーソルを置いて“ENTER”キー(また
はそのために具備されている他のキー)を押せば
よい。プログラムは一連のメニユーで与えられる
ので、ユーザは複雑なタスクを迷うことなく簡単
に進めることができる。そうしたプログラムは、
一般には、コマンド進行プログラムとは異なるメ
ニユー進行プログラムとして記述される。コマン
ド進行プログラムの場合、ユーザの遂行すべきタ
スクは一連のコマンドで選択し入力しなければな
らない。こうしたタイプのプログラムは初期のも
のであり、したがつてユーザにある程度の知識と
訓練を要するものである。 最近の傾向として、よりユーザフレンドリなプ
ログラムを作るということの他に、コンピユータ
プログラムのアプリケーシヨンを統合するという
ことがある。統合がなければ、ユーザは、たとえ
ばワードプロセシング、データプロセシング、お
よびグラフイツクプロセシングのようなアプリケ
ーシヨンをばらばらに使わなければならないの
で、こうした複数のアプリケーシヨンの出力を1
つの文書に併合するのは非常に面倒である。した
がつて様々なアプリケーシヨンを統合すれば、所
望の出力が容易に提供できるようになる。ソフト
ウエアの統合には幾つかの形式がある。その最も
簡単な形式は、同じフアイルを共有し同じまたは
同様な機能を遂行するのに同じまたは同様なコマ
ンドを使つて同じように働くようデザインされた
一連のアプリケーシヨンプログラムである。この
形式の統合は比較的実現し易いけれども、そのフ
アミリの個々のプログラムを同時に走行すること
はできない。現在、最も一般的な統合ソフトウエ
アは、いわゆるマルチフアンクシヨンプログラム
である。これは様々なアプリケーシヨンが1つの
プログラムの中に組み込まれたものとして特徴付
けられるものである。このようなプログラムは、
一般的には、スクリーンを幾つかの異なるウイン
ドウに分割してその各々があたかも別々のプログ
ラムであるかのように働くことができる。こうし
たマルチフアンクシヨンプログラムは、代表的に
は、テキストアプリケーシヨン、スプレツドシー
トアプリケーシヨン、およびビジネスグラフイツ
クアプリケーシヨンを含む。全てのアプリケーシ
ヨンが1つのデータセツトを共有するようなデー
タベースアプリケーシヨン環境に基づいて発展し
てきた今日の統合の技術はマルチフアンクシヨン
プログラムと同様なものである。統合オペレーテ
イング環境が提供されるときは、全く異なつたア
プローチが採られる。このアプローチでは、個々
のプログラムは情報を共有することができ、各自
のウインドウで各々が同時にスクリーン上に出現
できる。マルチフアクシヨンプログラムはパツケ
ージの中にプログラムされたアプリケーシヨンに
限定されるが、これに対し上記のアプローチで
は、アプリケーシヨンは選択し組み合わせること
ができる。 統合オペレーテイング環境はオブジエクト指向
型システムで最善に実現される。これまでのソフ
トウエアシステムがデータおよびプロシージヤの
2つの要素を持つていたという点を考えると、こ
れは比較的新しいアプローチであるといえる。デ
ータはソフトウエアで操作される情報を表わし、
プロシージヤはソフトウエアの単位を表わす。プ
ロシージヤが呼び出されて操作すべきデータが与
えられると、編集作業が始まる。このような従来
のアプローチが持つている問題は、データとプロ
シージヤが現実的には実際に関係しているときで
も、それらがあたかも独立であるかのようにして
取り扱われることである。これに対し、オブジエ
クト指向型システムはただ1つの要素オブジエク
トがあるだけである。オブジエクトは情報および
その情報の操作の両方を表わす。オブジエクト指
向型システムを使うプログラマはメツセージを送
つて、プロシージヤを呼び出す代わりに、操作を
呼び出す。メツセージは操作を記述する象徴的な
名前(操作の詳細ではない)を含む。メツセージ
を受け取るオブジエクトはメツセージセレクタに
基づいて実行すべき手順を決定する。オブジエク
ト式のアプローチの研究はXerox社によつてなさ
れた。Xerox社は人間の会話のプロセスに非常に
似た言語であるSmalltalkを設計した。
Smalltalkのプログラマは、送るべきメツセージ
を記述しそれが受け取られたときに何が生ずるの
かを記述することで、システムを実現する。 高解像度デイスプレイ、キーボード、位置指定
装置(たとえばマウス)、デイスク記憶装置、お
よびプロセツサユニツトを備えたパーソナルコン
ピユータのユーザがソフトウエアを開発する場合
に、Smalltalkは特に有益である。スクリーン上
におけるマウスの現在の位置を追跡するのに位置
指定カーソルを使うので、ユーザはデイスプレイ
されたオブジエクトを自由に指定することができ
る。普通、マウスは1つ以上のボタンを有する。
1つはオブジエクト選択用、もう1つはメニユー
表示用である。そのようなマシンは、Smalltalk
の研究および開発を容易にするためにXerox社に
よつて設計され開発された。そのマシンはAlto
コンピユータである。幾つかのマシンがXerox社
によつて大学等に寄贈されたがAltoコンピユー
タは商業的には生産されなかつた。 1981年の初めに、Xerox社は、ビジネス用のパ
ーソナルコンピユータである8010Star情報システ
ムを発売した。Star(商標)はデータプロセシン
グ、電子式フアイリング、メイリング、および印
刷の機能ならびに文書作成の機能の両方を兼ね備
えた操作システムである。Altoコンピユータと
同様、Starコンピユータの重要な構成要素は全点
アドレス指定可能すなわちビツトマツプ式のデイ
スプレイである。これによりグラフイツクの融通
性が増し視覚的な伝達がさらに効果的に行えるよ
うになつた。Starコンピユータ設計のアプローチ
は、ユーザがどのようにシステムと関るのか、そ
れからソフトウエアおよびハードウエアの仕様を
どのように設計するのかに関する基本的な概念を
まず確立することであつた。Starのユーザインタ
ーフエースのデザインは、ユーザの概念モデル、
記憶/タイピングに対比する目視/ポインテイン
グ、WYSIWYG(What you see is what you
get)、一律なコマンドのセツト、整合性、簡明
性、モードレス対話、およびユーザ適応性などに
基づくものであつた。文書、フオルダ、フアイル
の引出しのようなオフイスのオブジエクトを表わ
すアイコンがデイスプレイされる。ユーザがアイ
コンの表わすオブジエクトを取り扱えるようアイ
コンを“開く(open)”ことができる。これによ
り、文書を読み取ることができるし、フオルダの
内容を調べることもできるし、メイルを調べるこ
ともできる。ユーザの取り扱う全てのもの、およ
びユーザの利用できる全ての作業はスクリーン上
に視覚的に表示されるので、ユーザはどんなキー
の意味および内容も覚える必要がない。こうした
概念がわかりやすくなるようにするための機構は
プロパテイシートおよびオプシヨンシートであ
る。プロパテイシートは、タイプの字体や大き
さ、太字、イタリツク等の特定のオブジエクトに
関する考えられる全てのオプシヨンを提供する。
これらのオプシヨンの中の任意のものを選択する
には、ユーザは、適当なボタンを指定しそれを押
してオプシヨンを選ぶだけでよく、それからプロ
パテイシートの任意のプロパテイを変更し、ユー
ザはそれを指定してから再び適当なボタンを押
す。情報が多くなり過ぎないように、プロパテイ
シートは現に選択されたオブジエクトのタイプに
関係するプロパテイしかデイスプレイしない。
Starコンピユータも同様に、個個のユーザの必要
性に合うようにシステムの仕様を自由に変更でき
る。ユーザはデスクトツプデイスプレイのアイコ
ンを選んで仕事の環境に合わせることができる。
白地の文書にテキストおよびパラグラフをセツト
アツプすることができる。フアイルの引出しおよ
びフオルダの種類を変えてフアイリングシステム
の仕様を自由に変更することができる。 1983年の初めに、Apple Computer社がLisa
(商標)という新しい種類のコンピユータを発売
した。Lisaの設計者はXerox社でなされたそれま
での研究の成果をかなり引き継いではいるが、そ
うした概念をより洗練し、かつ、多くの新しい考
え方とそれらとを組み合わせた。彼らが最初に取
り組んだのは、ユーザとコンピユータとの対話に
関して新しい手法を考え出すことであつた。その
結果は、ユーザがいかにLisaと対話するかを記述
した“ユーザインターフエース標準”であつた。
Lisaのデスクトツプの管理は、Starコンピユータ
と同様、アイコンが基礎になつている。Starコン
ピユータは、アイコンが重ならないようにそれら
はスクリーン上の決まつた場所に置かれるが、こ
れとは逆にLisaではアイコンはどこにでも置くこ
とができる。というのは、Lisaはデイスプレイの
スクリーン上でオブジエクトを重ねて任意に形づ
けることができるからである。Lisaは、ビデオデ
イスプレイはデスクトツプでありアイコンはデス
クトツプ上のオブジエクトであるという暗喩によ
るものである。Lisでは、全てのものはアイコン
または矩形の領域(ウインドウと呼ばれる)によ
つてデスクトツプ上で表わされる。アイコンは全
てマウスで選択され、ウインドウは全て、マウス
のボタンを押さえてカーソルを動かすことによつ
て水平方向または垂直方向に画面移動したり、伸
したり縮めたり移動させたりすることができる。
Lisaのデザインは統合されている。Lisaのプログ
ラムの各々は共通な構造を持つている。所与の時
間でユーザの活動を制限するモードは1つもな
い。Xerox社のAltoコンピユータおよびStarコ
ンピユータと同様、LisaはSmalltalkの言語およ
びオペレーテイングシステムに基づくものであ
る。 IBM社では個人用オンライン統合テキストエ
デイタ(POLITE)を開発した。これは、複合文
書のための簡単に使えるリアルタイムのエデイ
タ・フオーマツタである。複合文書とは、イメー
ジ、グラフイツク、表、手書きのもの、テキス
ト、および数学的な記号等を含む文書である。エ
デイタというものは個々のアプリケーシヨンを呼
び出す必要なくしかも切取(cut)用および貼り
付け(paste)用のバツフアを使わずに統合され
た機能を処理できるべきであるというのが
POLITEの考え方である。Apple Computer社の
LisaおよXerox社のStarはいずれも複合文書を編
集できる能力を持つた統合システムであるが、こ
れらのシステムでは、要求された機能の結果が切
取り用バツフアに置かれてからそれを所望の場所
に貼り付けるため文書エデイタに戻すという手法
が用いられている。このやり方は時間がかかりし
かも面倒である。POLITEは非常に広範囲な使用
者を想定しているので、人間工学的な面から十分
な配慮が施されている。POLITEの持つている使
い易い特徴には、たとえば、制限のないUNDO
およびREDO機能、リアルタイム書式化、メニユ
ーの使用、指定に基づくヘルプシステム、多重ウ
インドウ編集などがある。POLITEでは、もとの
文書と書式化された文書との間に差はなく、単に
文書の形だけが存在し、文書は常に書式化され且
つ印刷可能である。したがつてユーザが変更する
たびに、文書は自動的に再び書式化され、すぐに
ユーザにフイードバツクされるのでPOLITE以前
のエデイタを特徴付けるものであつた多くのあて
推量がなくなつた。ユーザは現にプログラムされ
たフアンクシヨンキーの定義を識別するメニユー
に沿つてスクリーン上で文書の一部を見る。要求
(コマンド)はフアンクシヨンキーのところに在
つて、これはすぐに実行できるものかまたは他の
メニユーへの“出入口”として働くものである。
こうした他のメニユーでは、フアンクシヨンキー
のうち幾つかは別の定義がされている。POLITE
は2つの主要な機能的要素から成る。1つはスク
リーンマネジヤ、もう1つは文書マネジヤであ
る。文書マネジヤはPOLITEの内部的な文書表示
(テキスト情報および書式化情報の両方)を含み、
スクリーンマネジヤはデイスプレイ可能な文書の
形(ユーザが見るのはこの形だけである)を含み
ユーザとの対話を制御)する。スクリーンマネジ
ヤは文書の一部のサブセツトに関してデイスプレ
イ中心のWYSIWYG表示を維持する。このサブ
セツトはスクリーンに写つた文書の少なくともそ
の部分を含み、文書のサイズによつては文書全体
を含むこともある。 D 発明が解決しようとする問題点 以上示したように、エデイタは人間にとつて使
い易いものになるよう改良されてきた。その結
果、統合ソフトウエア環境においてオブジエクト
指向型で機能するエデイタが開発されたが、これ
らのエデイタもその書式化アルゴリズムの簡明性
という点ではまだ問題がある。 したがつて本発明の目的は従来に比べてさらに
改善された統合多重データエデイタを提供するこ
とにある。 E 問題点を解決するための手段 この目的を達成するため、本発明に基づく複合
文書編集方法は、文書の同一ページに位置したテ
キストオブジエクトおよび非テキストオブジエク
トを有する複合文書を生成し、前記オブジエクト
を含むオブジエクトセツトを操作し、各オブジエ
クトセツトが先行のオブジエクトセツトおよび次
のオブジエクトセツトを指定し各オブジエクトセ
ツトが一意的な識別子を有し前記オブジエクトセ
ツトが各々その中に同じタイプのオブジエクトを
有しそのオブジエクトセツトのタイプを示すアイ
コンが描画されるような統合多重データエデイタ
において、(a)2以上のオブジエクトセツトを含む
デイスプレイ可能な領域の内部的な表現を定義す
ることにより1つのスーパーブロツク構造を生成
するステツプと、(b)ページの終わりの判断をする
必要があるとき以外はスーパーブロツク内の複雑
さを考慮せずにスーパーブロツクを1つのオブジ
エクトセツトとして操作することによつて文書を
書式化するステツプと、を有することを特徴とし
ている。 F 実施例 F1 実施例の概略 実施例はPOLITEシステムに基づくアプリケ
ーシヨン複合エデイタを改善するものである。
このアプリケーシヨン複合エデイタは、
POLITEと同様、テキストだけでなくイメー
ジ、グラフイツク、表、注釈、および手書きの
ものを含む複合文書用の使い易いリアルタイム
式のエデイタ・フオーマツタである。このアプ
リケーシヨン複合エデイタは動的に編集できる
形で全てのデータを単一のページに統合でき
る。全てのタイプのデータは同じ文書内で生成
することができ、テキストはグラフイツクまた
は表のまわりに自然に納めることができる。エ
デイタにおける全てのデータはページに存在
し、全てのページは複合文書内に存在する。ア
プリケーシヨン複合エデイタのためのユーザイ
ンターフエースのデザインは下記の使い易い特
徴に基づいている。これらにより高速で習得し
易くしかも回りくどくない文書の生成および編
集が可能となる。 (a) スクリーンの上部に常にデイスプレイされ
たコマンドバーでキーワードコマンドを使う
こと。コマンドバーは、編集中のデータのタ
イプに関して現に有効な全てのコマンドのリ
ストである。 (b) 選択または変更できるオプシヨンのセツト
のリストであるポツプダウンパネルをコマン
ド選択時に使用すること。 (c) データを見て操作するための機構としてフ
ルスクリーンウインドウを使用すること。 (d) 要求データを破壊する恐れなく前に遂行し
た機能をユーザが逆転できるよう制限のない
UNDOおよびREDO機能を使用すること。 (e) 特定のコマンドがどのように働いているか
に関する表示をユーザが要求できるよう表示
援助機能を使用すること。エデイタはこれを
つけて次に消すことによつてそのコマンドが
どのように働いているかをユーザに示す。 エデイタは、データオブジエクトがページに
存在し、データはそのデータオブジエクトに存
在するというページレイアウトの考え方で働
く。全てのページは文書オブジエクト内に存在
する。データオブジエクトによつてはその中に
付加的のオブジエクトを持つこともある。 オブジエクトはそのページでユーザが操作す
ることのできるデータに特有のエンテイテイで
ある。他のオブジエクト内に存在するオブジエ
クトは定義されたオブジエクトセツトの境界内
に存在する。全てのオブジエクトは明示的(す
なわち認識可能)で選択可能なエンテイテイで
ある。ブロツクとは文書の中でユーザが選択す
る任意の範囲である。たとえば、或るブロツク
は列または文字ストリングにおける1範囲のセ
ルとして定義することができる。ユーザはブロ
ツクオブジエクトにより文字にアンダーライン
を引き、字体を変更し、一群のオブジエクトの
まわりで“キープ(keep)”機能(後述)を定
義することができる。ユーザがアンダーライン
のような属性(またはアトリビユートともい
う)をそのブロツクに適用すると、アンダーラ
インは何らの意味も持たないときには無視され
る。たとえば、クラフイツクオブジエクトセツ
トに関していえばアンダーラインは意味がな
い。全てのオブジエクトはそのページの指定さ
れた境界内に存在する。この境界は1つのオブ
ジエクトセツトの境界として定義される。たと
えば、テキストの文字はラインオブジエクトセ
ツトまたはパラグラフオブジエクトセツトの境
界内に存在し、四角形はグラフイツクオブジエ
クトセツトの境界内に存在し、セルは表オブジ
エクトセツトの境界内に存在する。実施例によ
れば、2以上のオブジエクトセツトがそのペー
ジの単一の表示領域を占めるような位置にそれ
らを移動させることができる。こうした領域の
例は、たとえば、1つのグラフイツクオブジエ
クトセツトのまわりに自然に納まるパラグラ
フ、1つのグラフイツクオブジエクトセツトに
隣接する1つの表オブジエクトセツト、上およ
び下にテキストが納まつているパラグラフの中
央における1つのグラフイツクオブジエクトセ
ツト等である。そうした幾つかのオブジエクト
の配列がスーパーブロツクと呼ばれる1つの構
造を生成する。 1つのスーパーブロツクは、オブジエクトセ
ツトが互いにオーバーラツプするか、隣接して
存在するか、上または下に広がるように位置し
た2以上のオブジエクトセツトを含むような任
意の表示可能な領域である。テキストオブジエ
クトセツトは他のどんなオブジエクトセツトと
もオーバーラツプしない。テキストはそのフロ
ーアトリビユート(flow attribute)に従つて
常に再調整される。フローアトリビユートはテ
キストの納め方に関する属性であるが、これに
ついては後で詳しく説明する。スーパーブロツ
ク構造の目的は、オブジエクトセツトの占める
スペースの計算を簡単にすることである。スー
パーブロツク構造を生成することによつて、書
式化のアルゴリズムは、ページの終わりの判断
をしなければならないときを除いて、各オブジ
エクトのブロツク構造の内側の複雑さを考えな
くてもよいので書式化のアルゴリズムは簡単に
なる。さらにページ上における複雑な関係の表
示も簡単になる。 スーパーブロツクはユーザの指定した編集作
業(具体的にはコマンド)の結果としてエデイ
タにより暗黙的に生成される。スーパーブロツ
クの生成を引き起こす可能性のあるコマンドは
5つある。それは、CREATE、MOVE、
COPY、PASTE、およびGETである。エデイ
タがスーパーブロツクを生成すると、そのスー
パーブロツクの上部開始境界のところにスーパ
ーブロツクアイコンが置かれる。スーパーブロ
ツクを選択するかまたはスーパーブロツク内の
セツトの1つを選択する1つの手法は、ユーザ
が初めにスーパーブロツクアイコンを選択する
ことである。スーパーブロツク構造内の各オブ
ジエクトセツトに関するアイコン表示のリスト
を示すポツプダウンパネルがデイスプレイされ
て、ポツプダウンパネルがスーパーブロツクア
イコンの下に置かれそのアイコンの付加部分と
してユーザに示される。スーパーブロツク内の
オブジエクトセツトを選択するために、ユーザ
はそのオブジエクトのアイコン表示をポツプダ
ウンパネルから選択する。他に、スーパーブロ
ツク内の所望のオブジエクトセツトを指し示す
という選択方法もある。その後、選択されたオ
ブジエクトセツトを決める目的で境界設定ルー
チンが呼び出される。ただし指定による選択が
多義的になるような場合は前者の選択方法を用
いるべきである。ユーザがスーパーブロツク内
のオブジエクトセツトを選択すると、そのオブ
ジエクトセツトのタイプに関して有効な編集作
業を表わすようコマンドバーが変更される。ス
ーパーブロツクの内部で、そのオブジエクトセ
ツトのMOVE、COPY、DELETE、および
DESCRIBE等の処理を施すことができる。ス
ーパーブロツクの表示空間にオブジエクトセツ
トが1つしか残らないときはエデイタは暗黙的
にスーパールブロツクを消失させて1つのオブ
ジエクトセツトアイコンでスーパーブロツクア
イコンを入れ換える。スーパーブロツクの内側
で、1つのオブジエクトセツトのデータを全体
的に見えなくするように複数の非テキストオブ
ジエクトセツトを互いにオーバーレイすること
もできる。この場合、ユーザはその隠れた方の
オブジエクトセツトを選択しコマンドバーから
MOVEを選んでそのオブジエクトセツトの新
しい行先を選択することによつてそのオブジエ
クトセツトの位置を再定義することもできる。
この行先はそのスーパーブロツクの境界の内側
でもよいし、他の文書のところでもよい。スー
パーブロツク内のデータを異なるページに分離
することができるなら、1つのスーパーブロツ
クがページ終端境界を横切つてもよい。スーパ
ーブロツクは複雑な構造であるが、この構造は
エデイタによつて生成されるのでユーザにとつ
ては同一ページ上に異なるタイプのデータを簡
単に統合でき、そのページの単一の表示領域内
で複雑のオブジエクトセツトを容易に操作する
ことができる。 以下、図面を参照しながら、実施例について
詳しく説明する。 F2 複合文書 本実施例に基づくアプリケーシヨン複合エデ
イタは少なくとも4つの異なるデータタイプの
組合せから成る文書の生成および修正が可能で
ある。利用できるデータタイプはテキスト、グ
ラフイツク(自由形式のものおよびビジネス
用)、表、およびスーパーブロツクである。2
以上のタイプのデータを含む文書のことを複合
文書という。第6図はそうした複合文書の例を
示すものである。この例は、テキストは、垂直
方向の棒グラフ、および表データを含む手紙
(図中の長短のラインは文字列または文字を表
わしている)である。アプリケーシヨン複合エ
デイタはそのような複合文書に対して、
WYSIWYGによるリアルタイムの書式化およ
び編集を遂行するものである。これは、カラー
グラフイツクデイスプレイを具備したIBM
PC/XTのようなパーソナルコンピユータで使
用することを想定している。このエデイタは
IBM社のPC−DOS(商標)でサポートされる
単一の統合プログラミングアプリケーシヨンで
あり、ポツプダウンパネルをデイスプレイし管
理するためにウインドウシステムを使用するも
のである。 エデイタにおけるデータは全てページ(複数
でもよい)に存在し、全てのページは1つの複
合文書内に存在する。文書のテキスト内の各パ
ラグラフはそれ自体で1つのエンテイテイとし
て存在する。したがつてユーザは各々属性を持
つたパラグラフをそれぞれ生成することができ
る。1つのパラグラフはその属性に応じて自由
に調整できる(センタリング、左方調整、右方
調整、シングルスペース、ダブルスペース等)。
各パラグラフはそれぞれ各自のマージンを有す
ることができ、これはそのページで指定された
マージンと異なるものであつてもよい。しか
も、パラグラフは決まつたライトマージンおよ
びレフトマージンを有する必要もない。1つの
パラグラフはそのページのグラフイツクまたは
表のまわりを取り囲むように納めることもでき
る。グラフイツクオブジエクトを生成している
間ユーザは様々な形を選択でき、さらに様々な
グラフイツクのタイプを選択できる。表は単一
のセルまたは複数の行および列を有するもので
もよい。後者の場合、通常のスプレツドシート
アプリケーシヨンのように1つのセル内で算術
的な計算ができる。 第6図の例では、デイスプレイスクリーンの
上部に2つのアプリケーシヨンコマンドバーが
図示されている。編集中のデータのタイプに関
して現に有効な全てのコマンドを表わすコマン
ドボタンがコマンドバー内に在る。コマンドバ
ーの内容は選択されたデータのタイプに適用す
る可能性のある編集作業を表わすように変更さ
れる。マウスのような位置指定装置で位置指定
し適当なボタンを押すことによつて1つのコマ
ンドを選択することができる。コマンドがコマ
ンドバーから選択されてそのコマンドがユーザ
との対話をさらに要求するものであれば、ポツ
プタウンパネル(後述の第18図参照)がデイ
スプレイされる。ポツプダウンパネルはキーワ
ード、値フイールド、および教示的なテキスト
から成る。各ポツプダウンパネルはその上部右
隅にQUITボタンを有しており、ユーザがこれ
を選択するとそのパネルはスクリーンから消去
されてパラメータエントリパネルが取り消され
る。ほとんどの多重選択およびパラメータエン
トリパネルは下部右隅にDOボタンを有してお
り、ユーザがこれを選択するとそのコマンドが
実行される。コマンドが完了するとそのポツプ
ダウンパネルはスクリーンから消去される。 第6図の例では、1つのオブジエクトセツト
内のデータのタイプを示すアイコンがレフトマ
ージンに沿つて図示されている。アイコンHは
見出し(ヘツダ)、アイコンLはライン、アイ
コンqIはパラグラフ、アイコンGはグラフイツ
ク、アイコンTは表をそれぞれ表わす。エデイ
タは第2図に示すようなページレイアウトの考
え方で機能する。第2図の例では、ページオブ
ジエクト100が、パラグラフオブジエクト、
ラインオブジエクト、自由形式グラフイツクオ
ブジエクトセツト、ビジネスグラフイツクオブ
ジエクトセツト、および表オブジエクトセツト
を有する。これらのオブジエクトを表わすアイ
コンは、図の左方に示すようにページオブジエ
クトから順に、“P”、“qI”、“L”、“D”、
“B”、および“T”である。アプリケーシヨン
コマンドバーAは、SHOW、UNDO、REDO、
CONVERT、STATUS、GOTO、PRINT、
SPLIT、およびMERGEというコマンドを含
み、アプリケーシヨンコマンドバーBは、
CREAT、DESCRIBE、DELETE、MOVE、
COPY、SEARCH/REPLACE、GET、
HELP、およびENDというコマンドを含むこ
とができる、参照番号101は音声注釈マーク
オブジエクトを表わす。自由形式グラフイツク
オブジエクトセツトは、点、直線、曲線、多角
形、円等の図形や手書きの文字および図形を有
することができ、ビジネスグラフイツクオブジ
エクトセツトは棒グラフ、円グラフ、折れ線グ
ラフ等のグラフを有することができる。こうし
たデータオブジエクトはページオブジエクトに
存在し、データはデータオブジエクトに存在す
る。全てのページは1つの文書オブジエクト内
に存在する。データオブジエクトによつてはそ
れらの中に付加的なオブジエクトを含むものも
ある。これらのオブジエクトはそのページでユ
ーザが操作することのできるデータに特有のエ
ンテイテイである。他のオブジエクト内に存在
するオブジエクトは定められた1つのオブジエ
クトセツトの境界内に存在し、全てのオブジエ
クトはそのページの指定された境界内に存在す
る。この境界は1つのオブジエクトセツトの境
界として定義される。2以上のデータオブジエ
クトが1つのオブジエクトセツト内に存在でき
る。そのオブジエクトセツトにおけるデータの
タイプに応じて、デイスプレイ空間のサイズは
一定であつたり調整可能であつたりする。たと
えば1つのパラグラフは1つの動的なオブジエ
クトセツトである;テキストは随時に付加しま
たは削除できる。したがつてパラグラフのデイ
スプレイ空間はデータ量の増減に応じて変化す
る。グラフイツクまたは表オブジエクトセツト
の場合、デイスプレイ空間のサイズはその空間
で定義された動的調整の属性の関数となり、こ
れはユーザで管理することが可能である。動的
調整の属性がオンならば、データがオブジエク
トセツトに付加されたときはデイスプレイ空間
は大きくなり、データが削除されたときはデイ
スプレイ空間は小さくなる。グラフイツクオブ
ジエクトセツトの場合、そのデフオールトは動
的調整=オンである。これは、デイスプレイ空
間が図形またはグラフの大きさに合わせて調整
されることを意味する。このデフオールトを変
更するために、ユーザはそのグラフイツクオブ
ジエクトセツトのアイコンを指定し、コマンド
バーのDESCRIBEコマンドを選択する。表オ
ブジエクトセツトに関するデフオールトは動的
調整=オフであるから、デイスプレイ空間のサ
イズは一定であり、その表に関する最小限のデ
イスプレイ空間のサイズに等しい。グラフイツ
クまたは表オブジエクトセツトの表示可能領域
が一定のときに、そのオブジエクト内のデータ
はデイスプレイ空間の境界を越えることもあ
る。たとえば、ユーザは255行×63列の1つの
表を定義することができるけれども、そのデイ
スプレイ空間に入るのはそのうちの15行×10列
だけである。この場合は、そのオブジエクトセ
ツト内のデータは画面移動可能である。 F3 スーパーブロツク 本実施例によれば、2以上のオブジエクトセ
ツトが同一ページの1つの表示可能領域を占め
るように複数のオブジエクトセツトをそのペー
ジに位置づけることができる。たとえば、グラ
フイツクオブジエクトセツトまたは表オブジエ
クトセツトのまわりに納まる1つのパラグラフ
と、上下にテキストを有するパラグラフの中央
に存在するグラフイツクオブジエクトセツトと
が隣り合つたものは、そのような例の1つであ
る。前述のようにそのような配置はスーパーブ
ロツクと呼ばれる1つのオブジエクトセツト構
造で表わされる。 オブジエクトセツトの概念を使えば、ユーザ
はエデイタを容易に理解することができる。ユ
ーザは非常に複雑な構造を自由に生成しデザイ
ンし、しかもオブジエクトセツトとオブジエク
トの他のタイプとの間の違いを知つている必要
はない。ユーザがCREATEコマンドのポツプ
ダウンパネルからライン、パラグラフ、グラフ
イツク、または表のオプシヨンを選べば、自動
的にオブジエクトセツトが生成される。オブジ
エクトセツトが生成されると、そのオブジエク
トセツト内のデータにどのような編集ルールを
適用するかはエデイタが自動的に判断する。1
つのオブジエクトセツトが生成されると、その
オブジエクトセツトはユーザの指定するレフト
およびライトマージンオフセツトでそのページ
に置かれる。普通、同一ページにおける複数の
オブジエクトセツトの配置は連続的である。す
なわち、第3図に示すように、各オブジエクト
セツトは先行するオブジエクトセツトのすぐ後
に置かれる。各オブジエクトセツトのレフトマ
ージン201およびライトマージン202はペ
ージ左端203およびページ右端204からの
オフセツトとしてそれぞれ定義される。 本実施例によれば、オブジエクトセツトは同
一ページに必ずしも連続的に置く必要はない。
たとえば、1つのパラグラフの中央に1つのグ
ラフイツクオブジエクトセツトを置くことがで
きる。そうすると、グラフイツクオブジエクト
セツトの挿入により生成された白地スペースを
埋めるようにパラグラフのテキストがそのグラ
フイツクオブジエクトセツトのまわりに納ま
る。この例を第4図に示す。このテキストの流
れはテキストとグラフイツクとの組合せを示唆
するもので、これが1つのスーパーブロツク構
造を生成している。前述のように、1つのスー
パーブロツクは、オブジエクトセツトが互いに
オーバーラツプするが、隣接して存在するか、
上または下に広がるように位置した2以上のオ
ブジエクトセツトを含む任意の表示可能な領域
である。複合テキストエデイタではテキストオ
ブジエクトセツトは他のどんなオブジエクトセ
ツトともオーバーラツプしないので、テキスト
はそのフローアトリビユートに応じて常に調整
される。このフローアトリビユートがオフなら
ば、第5図に示すようにテキストは非テキスト
オブジエクトセツトの上および下に置かれる。
フローアトリビユートがオンならば、第4図に
示すように、テキストは非テキストオブジエク
トセツトのまわりの白地スペースを埋めるよう
に調整される。 F4 スーパーブロツクの生成プロセス 第1図はスーパーブロツクの生成のプロセス
を示す流れ図である。オペレータは、最初、ポ
インタまたはカーソルを取り出す。オペレータ
はマウスのような位置指定装置によつてデイス
プレイスクリーン上でポインタを動かして、第
7図の矢印で示すような所望のウインドウ場所
のところにそれを持つてくる。ポインタが所望
のウインドウ場所のところに来たら、オペレー
タはマウス上のボタンまたはスイツチを押して
その場所を選ぶ。以上の位置指定および場所選
択のオペレーシヨンがステツプ1である。 オペレータは、次に、アクシヨンを遂行する
ためにコマンドを選択する。このコマンドの選
択には幾つかのやり方がある。たとえば、コマ
ンドキーを選択するもの、コマンドバーからコ
マンドボタンを選択するもの、またはコマンド
ラインにコマンドを入力するものである。ステ
ツプ2がコマンドの選択である。コマンドが選
択されると、その編集作業がデータの挿入を生
ずるものであるかどうかを判断するための検査
が遂行される(ステツプ3)。もしそうなら、
ステツプ4で、既に生成されたオブジエクトセ
ツトの境界内にポインタの場所が存在するかど
うかを判断するために、ポインタの場所をスク
リーンにおける座標から文書内における座標に
変換する。もしその場所が既存のオブジエクト
セツトの境界内に存在するときは、1つのスー
パーブロツクが生成され(ステツプ8)、そう
でないときは通常のオブジエクトセツトが生成
される(ステツプ7)。第4図または第5図に
示したものが生成されたスーパーブロツクの例
であり、第3図に示したものが生成された通常
のオブジエクトセツトの例である。スーパーブ
ロツクオブジエクトセツトまたは通常のオブジ
エクトセツトが生成されると、その新たに生成
されたオブジエクトセツトを文書に挿入しなけ
ればならない(ステツプ9)。ステツプ3で検
査の結果が先の例と反対なら、通常のコマンド
処理が続く(ステツプ5)。全てのコマンド処
理が完了すれば、デイスプレイのスクリーンが
更新される(ステツプ10)。 下記の第1表に示すプロシージヤは、スーパ
ーブロツクを暗黙的に生成するためのものであ
る。
8図ないし第12図) F6 フローアトリビユートに関するフロープロ
セス(第13図ないし第15図および第21
図) F7 まとめ(第16図ないし第20図) G 発明の効果 A 産業上の利用分野 本発明は統合多重データエデイタにおける書式
化のアルゴリズムを簡単にするための編集方法に
関する。 B 開示の概要 以下に説明するエデイタは統合ソフトウエア環
境において、2以上のオブジエクトセツトから成
るスーパーブロツク構造という概念を導入するこ
とによつて従来に比べて書式化のアルゴリズムを
簡単化できるようにしたものである。 C 従来技術 コンピユータは社会全体にわたつてごく普通に
使われるようになつてきた。これは、現在のコン
ピユータが従来のものに比べてより効率よく多く
のジヨブを遂行することができるというだけでな
く、ここ10年でそのコストが大幅に下がつたとい
う理由による。メインフレームまたは複数の端末
を備えたミニコンピユータにより、ビジネスの広
範な分野で多くの人々が利用可能なコンピユータ
をアクセスすることができるようになつた。さら
に、ビジネスコースおよびパーソナルコースの両
方を兼ね備えたマイクロコンピユータが登場した
ことにより、コンピユータを使う人はますます多
くなつてきている。このような傾向は、データ処
理の分野においてコンピユータの専門家でないよ
うなユーザがほとんどである。したがつて、専門
家でないユーザが特別な訓練をせずにコンピユー
タで所望のタスクを遂行できるようユーザフレン
ドリなコンピユータプログラムをデザインするこ
とが必要となつてきた。そのためにこれまでに使
われてきた1つの手法として、ユーザにタスク選
択のメニユーを提供するというものがある。そう
したメニユーはスクリーンの全面を占めることも
あるし、あるいはスクリーンの一部だけに表示さ
れることもある。メニユーエントリの隣りのスペ
ースのところは、キーボード上のキーを使うかま
たは他の移動手段を使うことによつてカーソルを
置くことができる。所望のタスクを選択するに
は、そのメニユーエントリの隣りのスペースのと
ころにカーソルを置いて“ENTER”キー(また
はそのために具備されている他のキー)を押せば
よい。プログラムは一連のメニユーで与えられる
ので、ユーザは複雑なタスクを迷うことなく簡単
に進めることができる。そうしたプログラムは、
一般には、コマンド進行プログラムとは異なるメ
ニユー進行プログラムとして記述される。コマン
ド進行プログラムの場合、ユーザの遂行すべきタ
スクは一連のコマンドで選択し入力しなければな
らない。こうしたタイプのプログラムは初期のも
のであり、したがつてユーザにある程度の知識と
訓練を要するものである。 最近の傾向として、よりユーザフレンドリなプ
ログラムを作るということの他に、コンピユータ
プログラムのアプリケーシヨンを統合するという
ことがある。統合がなければ、ユーザは、たとえ
ばワードプロセシング、データプロセシング、お
よびグラフイツクプロセシングのようなアプリケ
ーシヨンをばらばらに使わなければならないの
で、こうした複数のアプリケーシヨンの出力を1
つの文書に併合するのは非常に面倒である。した
がつて様々なアプリケーシヨンを統合すれば、所
望の出力が容易に提供できるようになる。ソフト
ウエアの統合には幾つかの形式がある。その最も
簡単な形式は、同じフアイルを共有し同じまたは
同様な機能を遂行するのに同じまたは同様なコマ
ンドを使つて同じように働くようデザインされた
一連のアプリケーシヨンプログラムである。この
形式の統合は比較的実現し易いけれども、そのフ
アミリの個々のプログラムを同時に走行すること
はできない。現在、最も一般的な統合ソフトウエ
アは、いわゆるマルチフアンクシヨンプログラム
である。これは様々なアプリケーシヨンが1つの
プログラムの中に組み込まれたものとして特徴付
けられるものである。このようなプログラムは、
一般的には、スクリーンを幾つかの異なるウイン
ドウに分割してその各々があたかも別々のプログ
ラムであるかのように働くことができる。こうし
たマルチフアンクシヨンプログラムは、代表的に
は、テキストアプリケーシヨン、スプレツドシー
トアプリケーシヨン、およびビジネスグラフイツ
クアプリケーシヨンを含む。全てのアプリケーシ
ヨンが1つのデータセツトを共有するようなデー
タベースアプリケーシヨン環境に基づいて発展し
てきた今日の統合の技術はマルチフアンクシヨン
プログラムと同様なものである。統合オペレーテ
イング環境が提供されるときは、全く異なつたア
プローチが採られる。このアプローチでは、個々
のプログラムは情報を共有することができ、各自
のウインドウで各々が同時にスクリーン上に出現
できる。マルチフアクシヨンプログラムはパツケ
ージの中にプログラムされたアプリケーシヨンに
限定されるが、これに対し上記のアプローチで
は、アプリケーシヨンは選択し組み合わせること
ができる。 統合オペレーテイング環境はオブジエクト指向
型システムで最善に実現される。これまでのソフ
トウエアシステムがデータおよびプロシージヤの
2つの要素を持つていたという点を考えると、こ
れは比較的新しいアプローチであるといえる。デ
ータはソフトウエアで操作される情報を表わし、
プロシージヤはソフトウエアの単位を表わす。プ
ロシージヤが呼び出されて操作すべきデータが与
えられると、編集作業が始まる。このような従来
のアプローチが持つている問題は、データとプロ
シージヤが現実的には実際に関係しているときで
も、それらがあたかも独立であるかのようにして
取り扱われることである。これに対し、オブジエ
クト指向型システムはただ1つの要素オブジエク
トがあるだけである。オブジエクトは情報および
その情報の操作の両方を表わす。オブジエクト指
向型システムを使うプログラマはメツセージを送
つて、プロシージヤを呼び出す代わりに、操作を
呼び出す。メツセージは操作を記述する象徴的な
名前(操作の詳細ではない)を含む。メツセージ
を受け取るオブジエクトはメツセージセレクタに
基づいて実行すべき手順を決定する。オブジエク
ト式のアプローチの研究はXerox社によつてなさ
れた。Xerox社は人間の会話のプロセスに非常に
似た言語であるSmalltalkを設計した。
Smalltalkのプログラマは、送るべきメツセージ
を記述しそれが受け取られたときに何が生ずるの
かを記述することで、システムを実現する。 高解像度デイスプレイ、キーボード、位置指定
装置(たとえばマウス)、デイスク記憶装置、お
よびプロセツサユニツトを備えたパーソナルコン
ピユータのユーザがソフトウエアを開発する場合
に、Smalltalkは特に有益である。スクリーン上
におけるマウスの現在の位置を追跡するのに位置
指定カーソルを使うので、ユーザはデイスプレイ
されたオブジエクトを自由に指定することができ
る。普通、マウスは1つ以上のボタンを有する。
1つはオブジエクト選択用、もう1つはメニユー
表示用である。そのようなマシンは、Smalltalk
の研究および開発を容易にするためにXerox社に
よつて設計され開発された。そのマシンはAlto
コンピユータである。幾つかのマシンがXerox社
によつて大学等に寄贈されたがAltoコンピユー
タは商業的には生産されなかつた。 1981年の初めに、Xerox社は、ビジネス用のパ
ーソナルコンピユータである8010Star情報システ
ムを発売した。Star(商標)はデータプロセシン
グ、電子式フアイリング、メイリング、および印
刷の機能ならびに文書作成の機能の両方を兼ね備
えた操作システムである。Altoコンピユータと
同様、Starコンピユータの重要な構成要素は全点
アドレス指定可能すなわちビツトマツプ式のデイ
スプレイである。これによりグラフイツクの融通
性が増し視覚的な伝達がさらに効果的に行えるよ
うになつた。Starコンピユータ設計のアプローチ
は、ユーザがどのようにシステムと関るのか、そ
れからソフトウエアおよびハードウエアの仕様を
どのように設計するのかに関する基本的な概念を
まず確立することであつた。Starのユーザインタ
ーフエースのデザインは、ユーザの概念モデル、
記憶/タイピングに対比する目視/ポインテイン
グ、WYSIWYG(What you see is what you
get)、一律なコマンドのセツト、整合性、簡明
性、モードレス対話、およびユーザ適応性などに
基づくものであつた。文書、フオルダ、フアイル
の引出しのようなオフイスのオブジエクトを表わ
すアイコンがデイスプレイされる。ユーザがアイ
コンの表わすオブジエクトを取り扱えるようアイ
コンを“開く(open)”ことができる。これによ
り、文書を読み取ることができるし、フオルダの
内容を調べることもできるし、メイルを調べるこ
ともできる。ユーザの取り扱う全てのもの、およ
びユーザの利用できる全ての作業はスクリーン上
に視覚的に表示されるので、ユーザはどんなキー
の意味および内容も覚える必要がない。こうした
概念がわかりやすくなるようにするための機構は
プロパテイシートおよびオプシヨンシートであ
る。プロパテイシートは、タイプの字体や大き
さ、太字、イタリツク等の特定のオブジエクトに
関する考えられる全てのオプシヨンを提供する。
これらのオプシヨンの中の任意のものを選択する
には、ユーザは、適当なボタンを指定しそれを押
してオプシヨンを選ぶだけでよく、それからプロ
パテイシートの任意のプロパテイを変更し、ユー
ザはそれを指定してから再び適当なボタンを押
す。情報が多くなり過ぎないように、プロパテイ
シートは現に選択されたオブジエクトのタイプに
関係するプロパテイしかデイスプレイしない。
Starコンピユータも同様に、個個のユーザの必要
性に合うようにシステムの仕様を自由に変更でき
る。ユーザはデスクトツプデイスプレイのアイコ
ンを選んで仕事の環境に合わせることができる。
白地の文書にテキストおよびパラグラフをセツト
アツプすることができる。フアイルの引出しおよ
びフオルダの種類を変えてフアイリングシステム
の仕様を自由に変更することができる。 1983年の初めに、Apple Computer社がLisa
(商標)という新しい種類のコンピユータを発売
した。Lisaの設計者はXerox社でなされたそれま
での研究の成果をかなり引き継いではいるが、そ
うした概念をより洗練し、かつ、多くの新しい考
え方とそれらとを組み合わせた。彼らが最初に取
り組んだのは、ユーザとコンピユータとの対話に
関して新しい手法を考え出すことであつた。その
結果は、ユーザがいかにLisaと対話するかを記述
した“ユーザインターフエース標準”であつた。
Lisaのデスクトツプの管理は、Starコンピユータ
と同様、アイコンが基礎になつている。Starコン
ピユータは、アイコンが重ならないようにそれら
はスクリーン上の決まつた場所に置かれるが、こ
れとは逆にLisaではアイコンはどこにでも置くこ
とができる。というのは、Lisaはデイスプレイの
スクリーン上でオブジエクトを重ねて任意に形づ
けることができるからである。Lisaは、ビデオデ
イスプレイはデスクトツプでありアイコンはデス
クトツプ上のオブジエクトであるという暗喩によ
るものである。Lisでは、全てのものはアイコン
または矩形の領域(ウインドウと呼ばれる)によ
つてデスクトツプ上で表わされる。アイコンは全
てマウスで選択され、ウインドウは全て、マウス
のボタンを押さえてカーソルを動かすことによつ
て水平方向または垂直方向に画面移動したり、伸
したり縮めたり移動させたりすることができる。
Lisaのデザインは統合されている。Lisaのプログ
ラムの各々は共通な構造を持つている。所与の時
間でユーザの活動を制限するモードは1つもな
い。Xerox社のAltoコンピユータおよびStarコ
ンピユータと同様、LisaはSmalltalkの言語およ
びオペレーテイングシステムに基づくものであ
る。 IBM社では個人用オンライン統合テキストエ
デイタ(POLITE)を開発した。これは、複合文
書のための簡単に使えるリアルタイムのエデイ
タ・フオーマツタである。複合文書とは、イメー
ジ、グラフイツク、表、手書きのもの、テキス
ト、および数学的な記号等を含む文書である。エ
デイタというものは個々のアプリケーシヨンを呼
び出す必要なくしかも切取(cut)用および貼り
付け(paste)用のバツフアを使わずに統合され
た機能を処理できるべきであるというのが
POLITEの考え方である。Apple Computer社の
LisaおよXerox社のStarはいずれも複合文書を編
集できる能力を持つた統合システムであるが、こ
れらのシステムでは、要求された機能の結果が切
取り用バツフアに置かれてからそれを所望の場所
に貼り付けるため文書エデイタに戻すという手法
が用いられている。このやり方は時間がかかりし
かも面倒である。POLITEは非常に広範囲な使用
者を想定しているので、人間工学的な面から十分
な配慮が施されている。POLITEの持つている使
い易い特徴には、たとえば、制限のないUNDO
およびREDO機能、リアルタイム書式化、メニユ
ーの使用、指定に基づくヘルプシステム、多重ウ
インドウ編集などがある。POLITEでは、もとの
文書と書式化された文書との間に差はなく、単に
文書の形だけが存在し、文書は常に書式化され且
つ印刷可能である。したがつてユーザが変更する
たびに、文書は自動的に再び書式化され、すぐに
ユーザにフイードバツクされるのでPOLITE以前
のエデイタを特徴付けるものであつた多くのあて
推量がなくなつた。ユーザは現にプログラムされ
たフアンクシヨンキーの定義を識別するメニユー
に沿つてスクリーン上で文書の一部を見る。要求
(コマンド)はフアンクシヨンキーのところに在
つて、これはすぐに実行できるものかまたは他の
メニユーへの“出入口”として働くものである。
こうした他のメニユーでは、フアンクシヨンキー
のうち幾つかは別の定義がされている。POLITE
は2つの主要な機能的要素から成る。1つはスク
リーンマネジヤ、もう1つは文書マネジヤであ
る。文書マネジヤはPOLITEの内部的な文書表示
(テキスト情報および書式化情報の両方)を含み、
スクリーンマネジヤはデイスプレイ可能な文書の
形(ユーザが見るのはこの形だけである)を含み
ユーザとの対話を制御)する。スクリーンマネジ
ヤは文書の一部のサブセツトに関してデイスプレ
イ中心のWYSIWYG表示を維持する。このサブ
セツトはスクリーンに写つた文書の少なくともそ
の部分を含み、文書のサイズによつては文書全体
を含むこともある。 D 発明が解決しようとする問題点 以上示したように、エデイタは人間にとつて使
い易いものになるよう改良されてきた。その結
果、統合ソフトウエア環境においてオブジエクト
指向型で機能するエデイタが開発されたが、これ
らのエデイタもその書式化アルゴリズムの簡明性
という点ではまだ問題がある。 したがつて本発明の目的は従来に比べてさらに
改善された統合多重データエデイタを提供するこ
とにある。 E 問題点を解決するための手段 この目的を達成するため、本発明に基づく複合
文書編集方法は、文書の同一ページに位置したテ
キストオブジエクトおよび非テキストオブジエク
トを有する複合文書を生成し、前記オブジエクト
を含むオブジエクトセツトを操作し、各オブジエ
クトセツトが先行のオブジエクトセツトおよび次
のオブジエクトセツトを指定し各オブジエクトセ
ツトが一意的な識別子を有し前記オブジエクトセ
ツトが各々その中に同じタイプのオブジエクトを
有しそのオブジエクトセツトのタイプを示すアイ
コンが描画されるような統合多重データエデイタ
において、(a)2以上のオブジエクトセツトを含む
デイスプレイ可能な領域の内部的な表現を定義す
ることにより1つのスーパーブロツク構造を生成
するステツプと、(b)ページの終わりの判断をする
必要があるとき以外はスーパーブロツク内の複雑
さを考慮せずにスーパーブロツクを1つのオブジ
エクトセツトとして操作することによつて文書を
書式化するステツプと、を有することを特徴とし
ている。 F 実施例 F1 実施例の概略 実施例はPOLITEシステムに基づくアプリケ
ーシヨン複合エデイタを改善するものである。
このアプリケーシヨン複合エデイタは、
POLITEと同様、テキストだけでなくイメー
ジ、グラフイツク、表、注釈、および手書きの
ものを含む複合文書用の使い易いリアルタイム
式のエデイタ・フオーマツタである。このアプ
リケーシヨン複合エデイタは動的に編集できる
形で全てのデータを単一のページに統合でき
る。全てのタイプのデータは同じ文書内で生成
することができ、テキストはグラフイツクまた
は表のまわりに自然に納めることができる。エ
デイタにおける全てのデータはページに存在
し、全てのページは複合文書内に存在する。ア
プリケーシヨン複合エデイタのためのユーザイ
ンターフエースのデザインは下記の使い易い特
徴に基づいている。これらにより高速で習得し
易くしかも回りくどくない文書の生成および編
集が可能となる。 (a) スクリーンの上部に常にデイスプレイされ
たコマンドバーでキーワードコマンドを使う
こと。コマンドバーは、編集中のデータのタ
イプに関して現に有効な全てのコマンドのリ
ストである。 (b) 選択または変更できるオプシヨンのセツト
のリストであるポツプダウンパネルをコマン
ド選択時に使用すること。 (c) データを見て操作するための機構としてフ
ルスクリーンウインドウを使用すること。 (d) 要求データを破壊する恐れなく前に遂行し
た機能をユーザが逆転できるよう制限のない
UNDOおよびREDO機能を使用すること。 (e) 特定のコマンドがどのように働いているか
に関する表示をユーザが要求できるよう表示
援助機能を使用すること。エデイタはこれを
つけて次に消すことによつてそのコマンドが
どのように働いているかをユーザに示す。 エデイタは、データオブジエクトがページに
存在し、データはそのデータオブジエクトに存
在するというページレイアウトの考え方で働
く。全てのページは文書オブジエクト内に存在
する。データオブジエクトによつてはその中に
付加的のオブジエクトを持つこともある。 オブジエクトはそのページでユーザが操作す
ることのできるデータに特有のエンテイテイで
ある。他のオブジエクト内に存在するオブジエ
クトは定義されたオブジエクトセツトの境界内
に存在する。全てのオブジエクトは明示的(す
なわち認識可能)で選択可能なエンテイテイで
ある。ブロツクとは文書の中でユーザが選択す
る任意の範囲である。たとえば、或るブロツク
は列または文字ストリングにおける1範囲のセ
ルとして定義することができる。ユーザはブロ
ツクオブジエクトにより文字にアンダーライン
を引き、字体を変更し、一群のオブジエクトの
まわりで“キープ(keep)”機能(後述)を定
義することができる。ユーザがアンダーライン
のような属性(またはアトリビユートともい
う)をそのブロツクに適用すると、アンダーラ
インは何らの意味も持たないときには無視され
る。たとえば、クラフイツクオブジエクトセツ
トに関していえばアンダーラインは意味がな
い。全てのオブジエクトはそのページの指定さ
れた境界内に存在する。この境界は1つのオブ
ジエクトセツトの境界として定義される。たと
えば、テキストの文字はラインオブジエクトセ
ツトまたはパラグラフオブジエクトセツトの境
界内に存在し、四角形はグラフイツクオブジエ
クトセツトの境界内に存在し、セルは表オブジ
エクトセツトの境界内に存在する。実施例によ
れば、2以上のオブジエクトセツトがそのペー
ジの単一の表示領域を占めるような位置にそれ
らを移動させることができる。こうした領域の
例は、たとえば、1つのグラフイツクオブジエ
クトセツトのまわりに自然に納まるパラグラ
フ、1つのグラフイツクオブジエクトセツトに
隣接する1つの表オブジエクトセツト、上およ
び下にテキストが納まつているパラグラフの中
央における1つのグラフイツクオブジエクトセ
ツト等である。そうした幾つかのオブジエクト
の配列がスーパーブロツクと呼ばれる1つの構
造を生成する。 1つのスーパーブロツクは、オブジエクトセ
ツトが互いにオーバーラツプするか、隣接して
存在するか、上または下に広がるように位置し
た2以上のオブジエクトセツトを含むような任
意の表示可能な領域である。テキストオブジエ
クトセツトは他のどんなオブジエクトセツトと
もオーバーラツプしない。テキストはそのフロ
ーアトリビユート(flow attribute)に従つて
常に再調整される。フローアトリビユートはテ
キストの納め方に関する属性であるが、これに
ついては後で詳しく説明する。スーパーブロツ
ク構造の目的は、オブジエクトセツトの占める
スペースの計算を簡単にすることである。スー
パーブロツク構造を生成することによつて、書
式化のアルゴリズムは、ページの終わりの判断
をしなければならないときを除いて、各オブジ
エクトのブロツク構造の内側の複雑さを考えな
くてもよいので書式化のアルゴリズムは簡単に
なる。さらにページ上における複雑な関係の表
示も簡単になる。 スーパーブロツクはユーザの指定した編集作
業(具体的にはコマンド)の結果としてエデイ
タにより暗黙的に生成される。スーパーブロツ
クの生成を引き起こす可能性のあるコマンドは
5つある。それは、CREATE、MOVE、
COPY、PASTE、およびGETである。エデイ
タがスーパーブロツクを生成すると、そのスー
パーブロツクの上部開始境界のところにスーパ
ーブロツクアイコンが置かれる。スーパーブロ
ツクを選択するかまたはスーパーブロツク内の
セツトの1つを選択する1つの手法は、ユーザ
が初めにスーパーブロツクアイコンを選択する
ことである。スーパーブロツク構造内の各オブ
ジエクトセツトに関するアイコン表示のリスト
を示すポツプダウンパネルがデイスプレイされ
て、ポツプダウンパネルがスーパーブロツクア
イコンの下に置かれそのアイコンの付加部分と
してユーザに示される。スーパーブロツク内の
オブジエクトセツトを選択するために、ユーザ
はそのオブジエクトのアイコン表示をポツプダ
ウンパネルから選択する。他に、スーパーブロ
ツク内の所望のオブジエクトセツトを指し示す
という選択方法もある。その後、選択されたオ
ブジエクトセツトを決める目的で境界設定ルー
チンが呼び出される。ただし指定による選択が
多義的になるような場合は前者の選択方法を用
いるべきである。ユーザがスーパーブロツク内
のオブジエクトセツトを選択すると、そのオブ
ジエクトセツトのタイプに関して有効な編集作
業を表わすようコマンドバーが変更される。ス
ーパーブロツクの内部で、そのオブジエクトセ
ツトのMOVE、COPY、DELETE、および
DESCRIBE等の処理を施すことができる。ス
ーパーブロツクの表示空間にオブジエクトセツ
トが1つしか残らないときはエデイタは暗黙的
にスーパールブロツクを消失させて1つのオブ
ジエクトセツトアイコンでスーパーブロツクア
イコンを入れ換える。スーパーブロツクの内側
で、1つのオブジエクトセツトのデータを全体
的に見えなくするように複数の非テキストオブ
ジエクトセツトを互いにオーバーレイすること
もできる。この場合、ユーザはその隠れた方の
オブジエクトセツトを選択しコマンドバーから
MOVEを選んでそのオブジエクトセツトの新
しい行先を選択することによつてそのオブジエ
クトセツトの位置を再定義することもできる。
この行先はそのスーパーブロツクの境界の内側
でもよいし、他の文書のところでもよい。スー
パーブロツク内のデータを異なるページに分離
することができるなら、1つのスーパーブロツ
クがページ終端境界を横切つてもよい。スーパ
ーブロツクは複雑な構造であるが、この構造は
エデイタによつて生成されるのでユーザにとつ
ては同一ページ上に異なるタイプのデータを簡
単に統合でき、そのページの単一の表示領域内
で複雑のオブジエクトセツトを容易に操作する
ことができる。 以下、図面を参照しながら、実施例について
詳しく説明する。 F2 複合文書 本実施例に基づくアプリケーシヨン複合エデ
イタは少なくとも4つの異なるデータタイプの
組合せから成る文書の生成および修正が可能で
ある。利用できるデータタイプはテキスト、グ
ラフイツク(自由形式のものおよびビジネス
用)、表、およびスーパーブロツクである。2
以上のタイプのデータを含む文書のことを複合
文書という。第6図はそうした複合文書の例を
示すものである。この例は、テキストは、垂直
方向の棒グラフ、および表データを含む手紙
(図中の長短のラインは文字列または文字を表
わしている)である。アプリケーシヨン複合エ
デイタはそのような複合文書に対して、
WYSIWYGによるリアルタイムの書式化およ
び編集を遂行するものである。これは、カラー
グラフイツクデイスプレイを具備したIBM
PC/XTのようなパーソナルコンピユータで使
用することを想定している。このエデイタは
IBM社のPC−DOS(商標)でサポートされる
単一の統合プログラミングアプリケーシヨンで
あり、ポツプダウンパネルをデイスプレイし管
理するためにウインドウシステムを使用するも
のである。 エデイタにおけるデータは全てページ(複数
でもよい)に存在し、全てのページは1つの複
合文書内に存在する。文書のテキスト内の各パ
ラグラフはそれ自体で1つのエンテイテイとし
て存在する。したがつてユーザは各々属性を持
つたパラグラフをそれぞれ生成することができ
る。1つのパラグラフはその属性に応じて自由
に調整できる(センタリング、左方調整、右方
調整、シングルスペース、ダブルスペース等)。
各パラグラフはそれぞれ各自のマージンを有す
ることができ、これはそのページで指定された
マージンと異なるものであつてもよい。しか
も、パラグラフは決まつたライトマージンおよ
びレフトマージンを有する必要もない。1つの
パラグラフはそのページのグラフイツクまたは
表のまわりを取り囲むように納めることもでき
る。グラフイツクオブジエクトを生成している
間ユーザは様々な形を選択でき、さらに様々な
グラフイツクのタイプを選択できる。表は単一
のセルまたは複数の行および列を有するもので
もよい。後者の場合、通常のスプレツドシート
アプリケーシヨンのように1つのセル内で算術
的な計算ができる。 第6図の例では、デイスプレイスクリーンの
上部に2つのアプリケーシヨンコマンドバーが
図示されている。編集中のデータのタイプに関
して現に有効な全てのコマンドを表わすコマン
ドボタンがコマンドバー内に在る。コマンドバ
ーの内容は選択されたデータのタイプに適用す
る可能性のある編集作業を表わすように変更さ
れる。マウスのような位置指定装置で位置指定
し適当なボタンを押すことによつて1つのコマ
ンドを選択することができる。コマンドがコマ
ンドバーから選択されてそのコマンドがユーザ
との対話をさらに要求するものであれば、ポツ
プタウンパネル(後述の第18図参照)がデイ
スプレイされる。ポツプダウンパネルはキーワ
ード、値フイールド、および教示的なテキスト
から成る。各ポツプダウンパネルはその上部右
隅にQUITボタンを有しており、ユーザがこれ
を選択するとそのパネルはスクリーンから消去
されてパラメータエントリパネルが取り消され
る。ほとんどの多重選択およびパラメータエン
トリパネルは下部右隅にDOボタンを有してお
り、ユーザがこれを選択するとそのコマンドが
実行される。コマンドが完了するとそのポツプ
ダウンパネルはスクリーンから消去される。 第6図の例では、1つのオブジエクトセツト
内のデータのタイプを示すアイコンがレフトマ
ージンに沿つて図示されている。アイコンHは
見出し(ヘツダ)、アイコンLはライン、アイ
コンqIはパラグラフ、アイコンGはグラフイツ
ク、アイコンTは表をそれぞれ表わす。エデイ
タは第2図に示すようなページレイアウトの考
え方で機能する。第2図の例では、ページオブ
ジエクト100が、パラグラフオブジエクト、
ラインオブジエクト、自由形式グラフイツクオ
ブジエクトセツト、ビジネスグラフイツクオブ
ジエクトセツト、および表オブジエクトセツト
を有する。これらのオブジエクトを表わすアイ
コンは、図の左方に示すようにページオブジエ
クトから順に、“P”、“qI”、“L”、“D”、
“B”、および“T”である。アプリケーシヨン
コマンドバーAは、SHOW、UNDO、REDO、
CONVERT、STATUS、GOTO、PRINT、
SPLIT、およびMERGEというコマンドを含
み、アプリケーシヨンコマンドバーBは、
CREAT、DESCRIBE、DELETE、MOVE、
COPY、SEARCH/REPLACE、GET、
HELP、およびENDというコマンドを含むこ
とができる、参照番号101は音声注釈マーク
オブジエクトを表わす。自由形式グラフイツク
オブジエクトセツトは、点、直線、曲線、多角
形、円等の図形や手書きの文字および図形を有
することができ、ビジネスグラフイツクオブジ
エクトセツトは棒グラフ、円グラフ、折れ線グ
ラフ等のグラフを有することができる。こうし
たデータオブジエクトはページオブジエクトに
存在し、データはデータオブジエクトに存在す
る。全てのページは1つの文書オブジエクト内
に存在する。データオブジエクトによつてはそ
れらの中に付加的なオブジエクトを含むものも
ある。これらのオブジエクトはそのページでユ
ーザが操作することのできるデータに特有のエ
ンテイテイである。他のオブジエクト内に存在
するオブジエクトは定められた1つのオブジエ
クトセツトの境界内に存在し、全てのオブジエ
クトはそのページの指定された境界内に存在す
る。この境界は1つのオブジエクトセツトの境
界として定義される。2以上のデータオブジエ
クトが1つのオブジエクトセツト内に存在でき
る。そのオブジエクトセツトにおけるデータの
タイプに応じて、デイスプレイ空間のサイズは
一定であつたり調整可能であつたりする。たと
えば1つのパラグラフは1つの動的なオブジエ
クトセツトである;テキストは随時に付加しま
たは削除できる。したがつてパラグラフのデイ
スプレイ空間はデータ量の増減に応じて変化す
る。グラフイツクまたは表オブジエクトセツト
の場合、デイスプレイ空間のサイズはその空間
で定義された動的調整の属性の関数となり、こ
れはユーザで管理することが可能である。動的
調整の属性がオンならば、データがオブジエク
トセツトに付加されたときはデイスプレイ空間
は大きくなり、データが削除されたときはデイ
スプレイ空間は小さくなる。グラフイツクオブ
ジエクトセツトの場合、そのデフオールトは動
的調整=オンである。これは、デイスプレイ空
間が図形またはグラフの大きさに合わせて調整
されることを意味する。このデフオールトを変
更するために、ユーザはそのグラフイツクオブ
ジエクトセツトのアイコンを指定し、コマンド
バーのDESCRIBEコマンドを選択する。表オ
ブジエクトセツトに関するデフオールトは動的
調整=オフであるから、デイスプレイ空間のサ
イズは一定であり、その表に関する最小限のデ
イスプレイ空間のサイズに等しい。グラフイツ
クまたは表オブジエクトセツトの表示可能領域
が一定のときに、そのオブジエクト内のデータ
はデイスプレイ空間の境界を越えることもあ
る。たとえば、ユーザは255行×63列の1つの
表を定義することができるけれども、そのデイ
スプレイ空間に入るのはそのうちの15行×10列
だけである。この場合は、そのオブジエクトセ
ツト内のデータは画面移動可能である。 F3 スーパーブロツク 本実施例によれば、2以上のオブジエクトセ
ツトが同一ページの1つの表示可能領域を占め
るように複数のオブジエクトセツトをそのペー
ジに位置づけることができる。たとえば、グラ
フイツクオブジエクトセツトまたは表オブジエ
クトセツトのまわりに納まる1つのパラグラフ
と、上下にテキストを有するパラグラフの中央
に存在するグラフイツクオブジエクトセツトと
が隣り合つたものは、そのような例の1つであ
る。前述のようにそのような配置はスーパーブ
ロツクと呼ばれる1つのオブジエクトセツト構
造で表わされる。 オブジエクトセツトの概念を使えば、ユーザ
はエデイタを容易に理解することができる。ユ
ーザは非常に複雑な構造を自由に生成しデザイ
ンし、しかもオブジエクトセツトとオブジエク
トの他のタイプとの間の違いを知つている必要
はない。ユーザがCREATEコマンドのポツプ
ダウンパネルからライン、パラグラフ、グラフ
イツク、または表のオプシヨンを選べば、自動
的にオブジエクトセツトが生成される。オブジ
エクトセツトが生成されると、そのオブジエク
トセツト内のデータにどのような編集ルールを
適用するかはエデイタが自動的に判断する。1
つのオブジエクトセツトが生成されると、その
オブジエクトセツトはユーザの指定するレフト
およびライトマージンオフセツトでそのページ
に置かれる。普通、同一ページにおける複数の
オブジエクトセツトの配置は連続的である。す
なわち、第3図に示すように、各オブジエクト
セツトは先行するオブジエクトセツトのすぐ後
に置かれる。各オブジエクトセツトのレフトマ
ージン201およびライトマージン202はペ
ージ左端203およびページ右端204からの
オフセツトとしてそれぞれ定義される。 本実施例によれば、オブジエクトセツトは同
一ページに必ずしも連続的に置く必要はない。
たとえば、1つのパラグラフの中央に1つのグ
ラフイツクオブジエクトセツトを置くことがで
きる。そうすると、グラフイツクオブジエクト
セツトの挿入により生成された白地スペースを
埋めるようにパラグラフのテキストがそのグラ
フイツクオブジエクトセツトのまわりに納ま
る。この例を第4図に示す。このテキストの流
れはテキストとグラフイツクとの組合せを示唆
するもので、これが1つのスーパーブロツク構
造を生成している。前述のように、1つのスー
パーブロツクは、オブジエクトセツトが互いに
オーバーラツプするが、隣接して存在するか、
上または下に広がるように位置した2以上のオ
ブジエクトセツトを含む任意の表示可能な領域
である。複合テキストエデイタではテキストオ
ブジエクトセツトは他のどんなオブジエクトセ
ツトともオーバーラツプしないので、テキスト
はそのフローアトリビユートに応じて常に調整
される。このフローアトリビユートがオフなら
ば、第5図に示すようにテキストは非テキスト
オブジエクトセツトの上および下に置かれる。
フローアトリビユートがオンならば、第4図に
示すように、テキストは非テキストオブジエク
トセツトのまわりの白地スペースを埋めるよう
に調整される。 F4 スーパーブロツクの生成プロセス 第1図はスーパーブロツクの生成のプロセス
を示す流れ図である。オペレータは、最初、ポ
インタまたはカーソルを取り出す。オペレータ
はマウスのような位置指定装置によつてデイス
プレイスクリーン上でポインタを動かして、第
7図の矢印で示すような所望のウインドウ場所
のところにそれを持つてくる。ポインタが所望
のウインドウ場所のところに来たら、オペレー
タはマウス上のボタンまたはスイツチを押して
その場所を選ぶ。以上の位置指定および場所選
択のオペレーシヨンがステツプ1である。 オペレータは、次に、アクシヨンを遂行する
ためにコマンドを選択する。このコマンドの選
択には幾つかのやり方がある。たとえば、コマ
ンドキーを選択するもの、コマンドバーからコ
マンドボタンを選択するもの、またはコマンド
ラインにコマンドを入力するものである。ステ
ツプ2がコマンドの選択である。コマンドが選
択されると、その編集作業がデータの挿入を生
ずるものであるかどうかを判断するための検査
が遂行される(ステツプ3)。もしそうなら、
ステツプ4で、既に生成されたオブジエクトセ
ツトの境界内にポインタの場所が存在するかど
うかを判断するために、ポインタの場所をスク
リーンにおける座標から文書内における座標に
変換する。もしその場所が既存のオブジエクト
セツトの境界内に存在するときは、1つのスー
パーブロツクが生成され(ステツプ8)、そう
でないときは通常のオブジエクトセツトが生成
される(ステツプ7)。第4図または第5図に
示したものが生成されたスーパーブロツクの例
であり、第3図に示したものが生成された通常
のオブジエクトセツトの例である。スーパーブ
ロツクオブジエクトセツトまたは通常のオブジ
エクトセツトが生成されると、その新たに生成
されたオブジエクトセツトを文書に挿入しなけ
ればならない(ステツプ9)。ステツプ3で検
査の結果が先の例と反対なら、通常のコマンド
処理が続く(ステツプ5)。全てのコマンド処
理が完了すれば、デイスプレイのスクリーンが
更新される(ステツプ10)。 下記の第1表に示すプロシージヤは、スーパ
ーブロツクを暗黙的に生成するためのものであ
る。
【表】
マウスのボタンを押してウインドウ内の場所
を定めるときは、ポインタの場所を決めるため
のルーチンが呼び出される(CALL QUERY
LOCATION POINTER)。選択された編集作
業がデータの挿入を含む場合は、文書の既存の
オブジエクトセツトの境界内にウインドウの場
所が存在するかどうかを判断するためのルーチ
ンが呼び出される(CALL GET DOC
LOCATION)。既に或るオブジエクトセツト
がそのウインドウの場所を占めているときは、
スーパーブロツク構造を生成してそのウインド
ウの場所にスーパーブロツクオブジエクトセツ
トを挿入するためのルーチンが呼び出される
(CALL INSERT OBJECT SET)。 “CREATE SUPERBLOCK”ルーチンで
スーパーブロツクタイプのオブジエクトセツト
を生成してそのスーパーブロツク構造内でその
最初のオブジエクトセツトと既存のオブジエク
トセツトをリンクする。新しいオブジエクトセ
ツトを生成する場合は“CREATE
OBJECTSET”ルーチンが呼び出される。新
しいオブジエクトセツトは最初のオブジエクト
セツトとリンクされる。スーパーブロツク内
で、新しいオブジエクトセツトのx、yオフセ
ツトが決定される。そのページの左側に最も近
いオブジエクトセツトのレフトマージンと、そ
のページの右側に最も近いオブジエクトセツト
のライトマージンでそのスーパーブロツクのレ
フトマージンおよびライトマージンがそれぞれ
決まる。スーパーブロツクにおける新しいオブ
ジエクトセツトの配置によりレフトマージンが
ライトマージンのオフセツト以上になるか、ま
たは挿入/オーバーラツプのルールに違反する
ときは、そのデータの属するオブジエクトセツ
トに関して定められた属性に応じてスーパーブ
ロツクが調整される。スーパーブロツクまたは
オブジエクトセツトが生成されると、先行のオ
ブジエクトセツトの後の文書にスーパーブロツ
クまたはオブジエクトセツトを挿入するための
“INSERT OBJECT SET”ルーチンが呼び出
される。 定義されたウインドウの場所に何らオブジエ
クトセツトが存在しないときは、スーパーブロ
ツクタイプとは異なるタイプのオブジエクトセ
ツトを生成するための“CREATE OBJECT
SET”ルーチンが呼び出されるが、このオブ
ジエクトセツトに対しては通常の処理が行われ
る。その後は、上記のように“INSERT
OBJECT SET”ルーチンが呼び出されて、先
行のオブジエクトセツトの後の文書にそのオブ
ジエトセツトが挿入される。編集作業が
“INSERT DATA(データの挿入)”でないと
きは、通常の編集作業を処理するための
“NORMAL EDIT”ルーチンが呼び出され
る。 以上の生成および挿入が終わると、ウインド
ウの表示を更新するための“REDISPLAY
DATA”ルーチンが呼び出される。スーパー
ブロツクは定められたウインドウの場所でデイ
スプレイされる。スーパーブロツクアイコンが
そのスーパーブロツクデータの隣りに置かれ
て、1つのスーパーブロツクが暗黙的に生成さ
れたことをユーザに示す。 ところで第1のオブジエクトセツト内に第2
のオブジエクトセツトを加えて1つのスーパー
ブロツクを生成するやり方としては、第1のオ
ブジエクトセツト内の場所(第2のオブジエク
トセツトを加えたいところ)を選択してから、
たとえばその文書内の別の場所からその選択さ
れた場所へ第2のオブジエクトセツトを移動す
るか(MOVEコマンド)、その文書外の別の場
所からその選択された場所へ第2のオブジエク
トセツトを複写するか(COPYコマンド)、貼
り付け(paste)用バツフアからその選択され
た場所へ第2のオブジエクトセツトを貼り付け
るか(PASTEコマンド)、または文書内もし
くは文書外の別の場所から第2のオブジエクト
セツトを取つてきて(GETコマンド)それを
その選択された場所に置く(PUTコマンド)
というように、いろいろ考えられる。 F5 スーパーブロツク構造の編集プロセス こうして生成されたスーパーブロツク構造の
編集のプロセスを示す流れ図が第8図である。
初めに、オペレータはポインタまたはカーソル
を取り出す。オペレータはマウスのように位置
指定装置によつてデイスプレイスクリーン上で
ポインタを動かして所望のウインドウ場所のと
ころにそれを持つてくる。ポインタが所望のウ
インドウ場所のところに来たら、オペレータは
マウス上のボタンまたはスイツチを押してその
場所を選ぶ。以上の位置指定および場所選択の
オペレーシヨンがステツプ11である。 次に、オペレータは編集作業を遂行するため
のコマンドを選択する。そのコマンドでスーパ
ーブロツクの修正が必要になる場合もある。コ
マンドの選択はコマンドキーを選択するか、コ
マンドバーのコマンドボタンを選択するか、ま
たはコマンドラインにコマンドを入力すること
によつて行うことができる。コマンドが選択さ
れると、そのコマンドが処理される(ステツプ
13)。 エデイタがコマンドを処理すると、文書のペ
ージが再書式化される。この再書式化によりペ
ージの変り目が来たときは、ページ数を付ける
必要がある。ページの変り目が来たかどうかは
ステツプ14で調べる。ページの変り目が生じな
いときは、ページ付けの必要はなく(ステツプ
21)、編集アクシヨンが完了し現ページが再表
示される(ステツプ23)。 ステツプ14でページ付けが必要であると判断
したときは、ページの変り目がスーパーブロツ
クの境界内にあるかどうかをステツプ15で判断
する。ステツプ15で“いいえ”のときは、通常
のページ付けが行われる(ステツプ22)。ステ
ツプ15で“はい”のときは、エデイタはスーパ
ーブロツクの分離できるところを判断するた
め、スーパーブロツクが独立した文書のページ
であるかのようにスーパーブロツク内の各オブ
ジエクトセツトを必ず調べる(ステツプ16)。
スーパーブロツクが分離できるときは、そのス
ーパーブロツク内のオブジエクトセツトが再書
式化されてそれらの位置が調整されて(ステツ
プ19)、編集作業が完了しその文書のページが
再表示される(ステツプ23)。ステツプ16でエ
デイタがスーパーブロツクは分離できないと判
断したときは、エデイタはその障害の理由をメ
ツセージレコードに記憶させる(ステツプ17)。
分離が生じないので、エデイタはスーパーブロ
ツクのキープアトリビユートがオンであるかの
ようにそのページを書式化する。スーパーブロ
ツクが長いページを作るページ上の唯一のオブ
ジエクトであるときはエデイタは現ページ上で
そのスーパーブロツクを保持するか、または次
のページの上部にそのスーパーブロツクを置
く。次のページの上部にスーパーブロツクを置
くとそれ以降のページが書式化なしとなるが、
書式化なしのページはスクリーンにデイスプレ
イする前に常に書式化される。ステツプ17の
後、ステツプ18でスーパーブロツクは分離せず
そのままでページ付けが行われる。編集作業が
完了すると、現ページを再デイスプレイする前
にエデイタはスーパーブロツクが分離できない
という理由を示すメツセージスクリーンを作成
する(ステツプ20)。このメツセージスクリー
ンが再表示されると同時にその文書のページが
再表示される。ここで、オペレータはMOVE
コマンドによつてスーパーブロツク内でオブジ
エクトセツトを手動的に再配置することも選択
できるので、その結果エデイタはスーパーブロ
ツクを分離できるようになる。オペレータはオ
ブジエクトセツトを指し示すことによつてそれ
を選ぶことができる。その指定が多義的なとき
は、スーパーブロツクを表わすアイコンを選ぶ
ことも可能である。スーパーブロツクを分離す
れば、ページ上のデータはバランス良く配置さ
れる。 第9図(第9A図ないし第9C図)ないし第
12図(第12A図ないし第12C図)はスー
パーブロツクの編集の幾つかのケースを示す図
である。 第9A図ないし第9C図はスーパーブロツク
の境界が変わらないような編集の例である。第
9A図は編集作業前のスーパーブロツクを示す
図である。ページオブジエクト300の左上隅
の“S”はスーパーブロツクアイコンを表わす
(以下第10図ないし第12図も同様である)。
このスーパーブロツクはテキストおよびグラフ
イツクオブジエクトセツトGを含むものであ
る。第9B図では、グラフイツクオブジエクト
セツトが記号“↑”で示すようなポインタによ
つて選択されている。テキストの左上隅の
“X”はグラフイツクオブジエクトの移動すべ
き場所を表わす。第9C図は編集作業を終了し
たものを示す図である。第9図の例では、スー
パーブロツクの上部境界302および下部境界
304は変わらない。 第10図(第10A図ないし第10C図)は
第9図と同様、移動を行うものであるがこのケ
ースではスーパーブロツクの境界(下部境界3
04)が変更される。第10A図は編集前のス
ーパーブロツクを示す図である。このスーパー
ブロツクは、ページの左上方4分の1を占める
表オブジエクトセツトTと、ページの右下方4
分の1を占めるグラフイツクオブジエクトセツ
トGを有する。第10B図はオペレータの指令
した編集作業を示すもので、この例ではグラフ
イツクオブジエクトセツトを上方に移動させて
表オブジエクトセツトと隣り合せにしようとい
うところを表わす。第10C図に示すように、
スーパーブロツクの下部境界304はグラフイ
ツクオブジエクトセツトの移動につれて上方に
動くので、次ページのテキスト306が現ペー
ジに入り込んできている。 第11図(第11A図ないし第11C図)は
挿入コマンドを用いて編集を行つた結果、スー
パーブロツクの中央にページの変り目308が
生じるようなケースを示す図である。第11A
図は編集前のスーパーブロツクを示す図であ
る。このスーパーブロツクはテキストオブジエ
クトセツトとグラフイツクオブジエクトセツト
Gを有する。テキストオブジエクトセツトはグ
ラフイツクオブジエクトセツトのまわりに納ま
つている。第11B図は、テキストオブジエク
トセツトに付加的なテキストを操入しようとし
ている様子を示す図である。挿入しようとする
場所はポインタ“↑”で示す。第11C図は挿
入後の様子を示す図で、この例では挿入によつ
てスーパーブロツクの下部境界304が次のペ
ージ上に移動したということを示している。ス
ーパーブロツクの長さは1ページの長さを越え
ているので、第8図のところで説明したよう
に、スーパーブロツクを分離できるかどうかを
判断するためスーパーブロツク構造を調べる必
要がある。第11図はテキストオブジエクトセ
ツトが2ページに分離できた例である。次の第
12図は逆に分離できない例を示すものであ
る。 第12図はオブジエクト生成の編集でスーパ
ーブロツクがページあふれを生じるケースを示
す。第12A図は編集前のスーパーブロツクを
示す図である。このスーパーブロツクは3つの
グラフイツクオブジエクトセツトGとテキスト
を有するもので、これらの3つのオブジエクト
セツトはそのページのほぼ対角線上で互いに部
分的にオーバーラツプするように配置され、そ
のまわりの白地スペースを埋めるようにテキス
トが納まつている。第12B図では4番目のグ
ラフイツクオブジエクトセツトを生成するため
に選択された場所を、記号“↑”が示してい
る。この編集を行つた結果が第12C図であ
る。複数のオブジエクトセツトのまわりに自然
に納まるようにテキストを再調整していること
に留意されたい。この例ではスーパーブロツク
の新しい下部境界304はページの境界を越え
ている。これはページレイアウトにおいてグラ
フイツクオブジエクトセツトが2ページにまた
がらないようにページの暗黙的な保存(キープ
アトリビユートがオン)が行われたことによ
る。すなわち、この場合はスーパーブロツクは
分離されない。したがつてエデイタはグラフイ
ツクオブジエクトがあるためスーパーブロツク
は分離不可能であるということを示すメツセー
ジをデイスプレイしてオペレータに知らせる。
その後、オペレータはページレイアウト上でこ
れらのグラフイツクオブジエクトの配置に調整
してスーパーブロツクを分離可能にすることも
できる。 下記の第2表のプロシージヤはスーパーブロ
ツク構造の編集のプロセスを示すものである。
を定めるときは、ポインタの場所を決めるため
のルーチンが呼び出される(CALL QUERY
LOCATION POINTER)。選択された編集作
業がデータの挿入を含む場合は、文書の既存の
オブジエクトセツトの境界内にウインドウの場
所が存在するかどうかを判断するためのルーチ
ンが呼び出される(CALL GET DOC
LOCATION)。既に或るオブジエクトセツト
がそのウインドウの場所を占めているときは、
スーパーブロツク構造を生成してそのウインド
ウの場所にスーパーブロツクオブジエクトセツ
トを挿入するためのルーチンが呼び出される
(CALL INSERT OBJECT SET)。 “CREATE SUPERBLOCK”ルーチンで
スーパーブロツクタイプのオブジエクトセツト
を生成してそのスーパーブロツク構造内でその
最初のオブジエクトセツトと既存のオブジエク
トセツトをリンクする。新しいオブジエクトセ
ツトを生成する場合は“CREATE
OBJECTSET”ルーチンが呼び出される。新
しいオブジエクトセツトは最初のオブジエクト
セツトとリンクされる。スーパーブロツク内
で、新しいオブジエクトセツトのx、yオフセ
ツトが決定される。そのページの左側に最も近
いオブジエクトセツトのレフトマージンと、そ
のページの右側に最も近いオブジエクトセツト
のライトマージンでそのスーパーブロツクのレ
フトマージンおよびライトマージンがそれぞれ
決まる。スーパーブロツクにおける新しいオブ
ジエクトセツトの配置によりレフトマージンが
ライトマージンのオフセツト以上になるか、ま
たは挿入/オーバーラツプのルールに違反する
ときは、そのデータの属するオブジエクトセツ
トに関して定められた属性に応じてスーパーブ
ロツクが調整される。スーパーブロツクまたは
オブジエクトセツトが生成されると、先行のオ
ブジエクトセツトの後の文書にスーパーブロツ
クまたはオブジエクトセツトを挿入するための
“INSERT OBJECT SET”ルーチンが呼び出
される。 定義されたウインドウの場所に何らオブジエ
クトセツトが存在しないときは、スーパーブロ
ツクタイプとは異なるタイプのオブジエクトセ
ツトを生成するための“CREATE OBJECT
SET”ルーチンが呼び出されるが、このオブ
ジエクトセツトに対しては通常の処理が行われ
る。その後は、上記のように“INSERT
OBJECT SET”ルーチンが呼び出されて、先
行のオブジエクトセツトの後の文書にそのオブ
ジエトセツトが挿入される。編集作業が
“INSERT DATA(データの挿入)”でないと
きは、通常の編集作業を処理するための
“NORMAL EDIT”ルーチンが呼び出され
る。 以上の生成および挿入が終わると、ウインド
ウの表示を更新するための“REDISPLAY
DATA”ルーチンが呼び出される。スーパー
ブロツクは定められたウインドウの場所でデイ
スプレイされる。スーパーブロツクアイコンが
そのスーパーブロツクデータの隣りに置かれ
て、1つのスーパーブロツクが暗黙的に生成さ
れたことをユーザに示す。 ところで第1のオブジエクトセツト内に第2
のオブジエクトセツトを加えて1つのスーパー
ブロツクを生成するやり方としては、第1のオ
ブジエクトセツト内の場所(第2のオブジエク
トセツトを加えたいところ)を選択してから、
たとえばその文書内の別の場所からその選択さ
れた場所へ第2のオブジエクトセツトを移動す
るか(MOVEコマンド)、その文書外の別の場
所からその選択された場所へ第2のオブジエク
トセツトを複写するか(COPYコマンド)、貼
り付け(paste)用バツフアからその選択され
た場所へ第2のオブジエクトセツトを貼り付け
るか(PASTEコマンド)、または文書内もし
くは文書外の別の場所から第2のオブジエクト
セツトを取つてきて(GETコマンド)それを
その選択された場所に置く(PUTコマンド)
というように、いろいろ考えられる。 F5 スーパーブロツク構造の編集プロセス こうして生成されたスーパーブロツク構造の
編集のプロセスを示す流れ図が第8図である。
初めに、オペレータはポインタまたはカーソル
を取り出す。オペレータはマウスのように位置
指定装置によつてデイスプレイスクリーン上で
ポインタを動かして所望のウインドウ場所のと
ころにそれを持つてくる。ポインタが所望のウ
インドウ場所のところに来たら、オペレータは
マウス上のボタンまたはスイツチを押してその
場所を選ぶ。以上の位置指定および場所選択の
オペレーシヨンがステツプ11である。 次に、オペレータは編集作業を遂行するため
のコマンドを選択する。そのコマンドでスーパ
ーブロツクの修正が必要になる場合もある。コ
マンドの選択はコマンドキーを選択するか、コ
マンドバーのコマンドボタンを選択するか、ま
たはコマンドラインにコマンドを入力すること
によつて行うことができる。コマンドが選択さ
れると、そのコマンドが処理される(ステツプ
13)。 エデイタがコマンドを処理すると、文書のペ
ージが再書式化される。この再書式化によりペ
ージの変り目が来たときは、ページ数を付ける
必要がある。ページの変り目が来たかどうかは
ステツプ14で調べる。ページの変り目が生じな
いときは、ページ付けの必要はなく(ステツプ
21)、編集アクシヨンが完了し現ページが再表
示される(ステツプ23)。 ステツプ14でページ付けが必要であると判断
したときは、ページの変り目がスーパーブロツ
クの境界内にあるかどうかをステツプ15で判断
する。ステツプ15で“いいえ”のときは、通常
のページ付けが行われる(ステツプ22)。ステ
ツプ15で“はい”のときは、エデイタはスーパ
ーブロツクの分離できるところを判断するた
め、スーパーブロツクが独立した文書のページ
であるかのようにスーパーブロツク内の各オブ
ジエクトセツトを必ず調べる(ステツプ16)。
スーパーブロツクが分離できるときは、そのス
ーパーブロツク内のオブジエクトセツトが再書
式化されてそれらの位置が調整されて(ステツ
プ19)、編集作業が完了しその文書のページが
再表示される(ステツプ23)。ステツプ16でエ
デイタがスーパーブロツクは分離できないと判
断したときは、エデイタはその障害の理由をメ
ツセージレコードに記憶させる(ステツプ17)。
分離が生じないので、エデイタはスーパーブロ
ツクのキープアトリビユートがオンであるかの
ようにそのページを書式化する。スーパーブロ
ツクが長いページを作るページ上の唯一のオブ
ジエクトであるときはエデイタは現ページ上で
そのスーパーブロツクを保持するか、または次
のページの上部にそのスーパーブロツクを置
く。次のページの上部にスーパーブロツクを置
くとそれ以降のページが書式化なしとなるが、
書式化なしのページはスクリーンにデイスプレ
イする前に常に書式化される。ステツプ17の
後、ステツプ18でスーパーブロツクは分離せず
そのままでページ付けが行われる。編集作業が
完了すると、現ページを再デイスプレイする前
にエデイタはスーパーブロツクが分離できない
という理由を示すメツセージスクリーンを作成
する(ステツプ20)。このメツセージスクリー
ンが再表示されると同時にその文書のページが
再表示される。ここで、オペレータはMOVE
コマンドによつてスーパーブロツク内でオブジ
エクトセツトを手動的に再配置することも選択
できるので、その結果エデイタはスーパーブロ
ツクを分離できるようになる。オペレータはオ
ブジエクトセツトを指し示すことによつてそれ
を選ぶことができる。その指定が多義的なとき
は、スーパーブロツクを表わすアイコンを選ぶ
ことも可能である。スーパーブロツクを分離す
れば、ページ上のデータはバランス良く配置さ
れる。 第9図(第9A図ないし第9C図)ないし第
12図(第12A図ないし第12C図)はスー
パーブロツクの編集の幾つかのケースを示す図
である。 第9A図ないし第9C図はスーパーブロツク
の境界が変わらないような編集の例である。第
9A図は編集作業前のスーパーブロツクを示す
図である。ページオブジエクト300の左上隅
の“S”はスーパーブロツクアイコンを表わす
(以下第10図ないし第12図も同様である)。
このスーパーブロツクはテキストおよびグラフ
イツクオブジエクトセツトGを含むものであ
る。第9B図では、グラフイツクオブジエクト
セツトが記号“↑”で示すようなポインタによ
つて選択されている。テキストの左上隅の
“X”はグラフイツクオブジエクトの移動すべ
き場所を表わす。第9C図は編集作業を終了し
たものを示す図である。第9図の例では、スー
パーブロツクの上部境界302および下部境界
304は変わらない。 第10図(第10A図ないし第10C図)は
第9図と同様、移動を行うものであるがこのケ
ースではスーパーブロツクの境界(下部境界3
04)が変更される。第10A図は編集前のス
ーパーブロツクを示す図である。このスーパー
ブロツクは、ページの左上方4分の1を占める
表オブジエクトセツトTと、ページの右下方4
分の1を占めるグラフイツクオブジエクトセツ
トGを有する。第10B図はオペレータの指令
した編集作業を示すもので、この例ではグラフ
イツクオブジエクトセツトを上方に移動させて
表オブジエクトセツトと隣り合せにしようとい
うところを表わす。第10C図に示すように、
スーパーブロツクの下部境界304はグラフイ
ツクオブジエクトセツトの移動につれて上方に
動くので、次ページのテキスト306が現ペー
ジに入り込んできている。 第11図(第11A図ないし第11C図)は
挿入コマンドを用いて編集を行つた結果、スー
パーブロツクの中央にページの変り目308が
生じるようなケースを示す図である。第11A
図は編集前のスーパーブロツクを示す図であ
る。このスーパーブロツクはテキストオブジエ
クトセツトとグラフイツクオブジエクトセツト
Gを有する。テキストオブジエクトセツトはグ
ラフイツクオブジエクトセツトのまわりに納ま
つている。第11B図は、テキストオブジエク
トセツトに付加的なテキストを操入しようとし
ている様子を示す図である。挿入しようとする
場所はポインタ“↑”で示す。第11C図は挿
入後の様子を示す図で、この例では挿入によつ
てスーパーブロツクの下部境界304が次のペ
ージ上に移動したということを示している。ス
ーパーブロツクの長さは1ページの長さを越え
ているので、第8図のところで説明したよう
に、スーパーブロツクを分離できるかどうかを
判断するためスーパーブロツク構造を調べる必
要がある。第11図はテキストオブジエクトセ
ツトが2ページに分離できた例である。次の第
12図は逆に分離できない例を示すものであ
る。 第12図はオブジエクト生成の編集でスーパ
ーブロツクがページあふれを生じるケースを示
す。第12A図は編集前のスーパーブロツクを
示す図である。このスーパーブロツクは3つの
グラフイツクオブジエクトセツトGとテキスト
を有するもので、これらの3つのオブジエクト
セツトはそのページのほぼ対角線上で互いに部
分的にオーバーラツプするように配置され、そ
のまわりの白地スペースを埋めるようにテキス
トが納まつている。第12B図では4番目のグ
ラフイツクオブジエクトセツトを生成するため
に選択された場所を、記号“↑”が示してい
る。この編集を行つた結果が第12C図であ
る。複数のオブジエクトセツトのまわりに自然
に納まるようにテキストを再調整していること
に留意されたい。この例ではスーパーブロツク
の新しい下部境界304はページの境界を越え
ている。これはページレイアウトにおいてグラ
フイツクオブジエクトセツトが2ページにまた
がらないようにページの暗黙的な保存(キープ
アトリビユートがオン)が行われたことによ
る。すなわち、この場合はスーパーブロツクは
分離されない。したがつてエデイタはグラフイ
ツクオブジエクトがあるためスーパーブロツク
は分離不可能であるということを示すメツセー
ジをデイスプレイしてオペレータに知らせる。
その後、オペレータはページレイアウト上でこ
れらのグラフイツクオブジエクトの配置に調整
してスーパーブロツクを分離可能にすることも
できる。 下記の第2表のプロシージヤはスーパーブロ
ツク構造の編集のプロセスを示すものである。
【表】
マウスのボタンを押してウインドウ内の場所
を定めるときは、ポインタの場所を判断するた
めの“QUERY LOCATION POINTER”ル
ーチンが呼び出される。次に、ポインタの場所
をスクリーンの座標から文書の座標に変換する
ための“TRANSLATE LOCATION”ルー
チンが呼び出される。これにより、選択された
オブジエクトが決まる。 場所が定まれば、オペレータは編集作業がす
なわちコマンドを選択する。そうすると、選択
されたコマンドを処理するための
“EXECUTE COMMAND”ルーチンが呼び
出される。コマンドの実行により、選択された
オブジエクトの境界が変わつて現ページにあふ
れが生じた場合は、新しいページの変り目の場
所がどこにあるかを判断するための“FIND
PAGE BREAK”ルーチンが呼び出される。
新しいページの変り目の場所が1つのスーパー
ブロツクオブジエクトセツトの境界内にあると
きは、そのスーパーブロツクが分離できるかど
うかまたはどこで分離できるかを判断するため
にはスーパーブロツク内の各オブジエクトセツ
トを必ず調べる(“SPLIT SUPERBLOCK“ル
ーチン)。スーパーブロツク分離不可とエデイ
タが判断すれば、その情報がそのルーチンに戻
されて、そのデータをユーザに知らせるために
メツセージパネルを生成することができる。 スーパーブロツクが分離できるときは、現ペ
ージおよび必要に応じて後続のページにページ
数を付けるための“PAGENATE(PAGE、
SPLIT)“ルーチンが呼び出される。ページ付
けのルーチンの入力パラメータは現ページのポ
インタおよびページ付タイプ変数である。分離
の場合、ページ付タイプ入力パラメータは上記
のように“SPLIT”である。 スーパーブロツクが分離できないときは、現
ページにページ数を付けるための
“PAGENATE(PAGE、KEEP)”ルーチンが
呼び出される。スーパーブロツクが長いページ
を作るページ上の唯一のオブジエクトであると
きはエデイタは現ページ上でそのスーパーブロ
ツクを保持するか、または次のページの上部に
そのスーパーブロツクを置く。次のページの上
部にスーパーブロツクを置くとそれ以降のペー
ジが書式化なしとなることもあるので、さらに
ページ付けを行う場合がある。スーパーブロツ
クが分離できないという理由はメツセージレコ
ードに置かれる。(“CREATE MESSAGE
RECORD”ルーチン)。次に、このメツセージ
をデイスプレイするためのメツセージパネルが
作成されて(“BUILD MESSAGE PANEL”)
それがユーザに知らされる。 ページの変り目の場所が1つのスーパーブロ
ツクの境界内にないときは、現ページの通常の
ページ付けを行うための“PAGENATE
(PAGE、NORMAL)“ルーチンが呼び出され
る。全ての編集が完了した後、必要ならページ
付けが行われて、データを再表示するための
“REDISPLAY DATA”ルーチンが呼び出さ
れる。編集プロセス中にメツセージパネルが作
成される場合は、データの再表示と同時にこの
メツセージパネルが表示される。 F6 フローアトリビユートに関するフロープロ
セス 第13A図ないし第13F図は非テキストオ
ブジエクトセツトのまわりにテキストを納める
やり方の幾つかの例を示す図である。第13A
図、第13C図、および第13E図はフローア
トリビユートがオフの場合の例で、第13B
図、第13D図、および第13F図はフローア
トリビユートがオンの場合の例である。これら
の図からわかるようにフローアトリビユートの
状態により、非テキストオブジエクトセツトの
まわりのテキストの納まり方が異なる。これら
の図は、さらに、フローアトリビユートがオフ
のものに対して、フローアトリビユートをオン
にして非テキストオブジエクトセツトを移動さ
せた結果を表わしている。たとえば、第13A
図のテキストの或るラインに示す“X”は非テ
キストオブジエクトセツトの移動先を表わして
おり、フローアトリビユートをオンにしてこれ
を移動した結果が第13図B図である。以下、
第13C図および第13D図、ならびに第13
E図および第13F図の関係もこれと同様であ
る。これらの例では移動先を示す“X”のとこ
ろに非テキストオブジエクトセツトの左上隅が
くるようになつている。以上のオペレーシヨン
は、ユーザが初めにスーパーブロツク内の非テ
キストオブジエクトセツトを選択し、次にコマ
ンドバーのMOVEコマンドおよび非テキスト
オブジエクトセツトの移動先を選ぶことによつ
て遂行される。これが本発明に基づくスーパー
ブロツク構造である。 テキストの各パラブラフはフローアトリビユ
ートを持つており、ユーザがこれをオンにする
かまたはオフにするかを指定することができ
る。フローアトリビユートをオンにして他の非
テキストオブジエクトセツトを、たとえば、も
とのパラグラフの左または右の境界のところで
挿入すると、エデイタはそのオブジエクトセツ
トのまわりにテキストを納める。エデイタは挿
入されたオブジエクトセツトの場所(右にある
かまたは左にあるか)を見てテキストをどちら
側(すなわち左または右)に納めたらよいかを
判断する。オブジエクトセツトがページの中央
にあるときは、エデイタはオブジエクトセツト
の左端とページの左境界との間、およびオブジ
エクトセツトの右端とページの右境界との間の
余裕が十分にあるかどうかを判断して、十分な
余裕があれば、そのオブジエクトセツトの両側
にテキストが納まるようにする。 第14A図および第14B図はテキストオブ
ジエクトのフローアトリビユートに関するフロ
ープロセスを示す流れ図である。スーパーブロ
ツクに対して何らかの編集作業を行つた後、エ
デイタは再書式化が必要かどうかを判断する。
再書式化が必要なのはスーパーブロツク内にテ
キストオブジエクトセツトが在つて且つそのう
ち少なくとも1つのテキストオブジエクトセツ
トのフローアトリビユートがオンのときだけで
ある。テキストオブジエクトセツトが存在する
かどうかを判断するために、エデイタはそのス
ーパーブロツク内の最初のオブジエクトセツト
に関するタイプを検出して(ステツプ24)これ
を調べる(ステツプ25)。この検査でそのオブ
ジエクトセツトのタイプがテキストであると判
断されたときは、エデイタはテキスト存在フラ
グを“真”にセツトしてそのテキストのフロー
アトリビユートを検査する(ステツプ26および
27)。そのフローアトリビユートがオンのとき
は、エデイタはフローフラグを“真”にセツト
する(ステツプ28)。検査すべきオブジエクト
セツトがある限りまたはそのフローフラグが
“偽”ではある限りは、ステツプ25ないしステ
ツプ28が繰り返される。この判断はステツプ29
で行う。 検査すべきオブジエクトセツトがなくなるか
またはそのフローフラグが“真”のときは、次
のステツプ30で、テキストオブジエクトセツト
が実際にそのスーパーブロツクに入つているか
どうかを調べる。上記のステツプ25ないしステ
ツプ28のループが終了して1つもテキストオブ
ジエクトセツトが見い出されないときは、その
スーパーブロツクの再書式化は完了する。ステ
ツプ30で“はい”のときは、フローフラグが
“真”であるかどうかを検査する(ステツプ
31)。フローフラグが“真”なら、次のステツ
プ32で、フローエリア(第15A図ないし第1
5D図参照)の数を判断する。 次に、ステツプ33および34で、スーパーブロ
ツクにおけるオブジエクトセツトのタイプを検
出してこれを調べる。この検査でそのタイプが
テキストでないと判断されたときはステツプ48
に進む。ステツプ48は、スーパーブロツクの全
てのオブジエクトセツトが検査されたかどうか
を調べるものである。ステツプ34でタイプがテ
キストであると判断されれば、そのテキストオ
ブジエクトセツトのフローアトリビユートを検
査し、それがオンのときはフローフラグを
“真”にセツトする。フローフラグが“真”に
セツトされフローエリアが1つ以上あれば、そ
のテキストをフローエリアの各々に実際に納め
るためのループに入る。このループに入るかど
うかの判断はステツプ37で行う。ステツプ37で
“いいえ”のときは、そのテキストオブジエク
トセツトは分離されて(ステツプ38)、次にス
テツプ48へ進む。ステツプ37で“はい”のとき
は、上記のループに入る。このループでは、ま
ずステツプ39で、エデイタは最初のフローエリ
アを検出する。次のステツプ40はフローテキス
トルーチンの実行を示すものである。このルー
チンは成功戻りコードまたは不成功戻りコード
に戻る。ステツプ41でこの戻りコードを調べ
る。これが成功の場合は納めるべきテキストが
まだ残つているかどうかを調べる(ステツプ
45)。ステツプ45で“いいえ”のときは次のス
テツプ46でテキスト残なしフラグを“真”にセ
ツトしてステツプ47以降を続行する。ステツプ
41で“いいえ”のときは、次のステツプ42でフ
ローテキストルーチンを再始動することができ
るかどうかを調べるための再始動フロールーチ
ンを実行する。これも成功戻りコードまたは不
成功戻りコードに戻るので、次のステツプ43で
その戻りコードを調べる。これが成功なら、ス
テツプ47以降を続行する。逆に不成功なら、次
のステツプ44で残りのテキストを分離してから
ステツプ47以降を続行する。ステツプ47では納
めるべきテキストがまだ残つているかどうか、
またはフローテキストルーチンが再始動できる
かどうかを調べる。納めるべきテキストがもう
残つていない場合、またはフローテキストルー
チンが失敗し且つ再始動できない場合は、ステ
ツプ48以降を続行し、そうでない場合はステツ
プ39以降を繰り返す。ステツプ48で、全てのオ
ブジエクトセツトの検査が済んだかどうかを調
べて、まだあればステツプ33以降を繰り返し、
そうでないときは、以上のプロセスは終了す
る。すなわち、そのスーパーブロツク内の全て
のオブジエクトセツトの処理が完了する。 以上に説明したフローアトリビユートに関す
るフロープロセスのプロシージヤを下記の第3
表に示す。
を定めるときは、ポインタの場所を判断するた
めの“QUERY LOCATION POINTER”ル
ーチンが呼び出される。次に、ポインタの場所
をスクリーンの座標から文書の座標に変換する
ための“TRANSLATE LOCATION”ルー
チンが呼び出される。これにより、選択された
オブジエクトが決まる。 場所が定まれば、オペレータは編集作業がす
なわちコマンドを選択する。そうすると、選択
されたコマンドを処理するための
“EXECUTE COMMAND”ルーチンが呼び
出される。コマンドの実行により、選択された
オブジエクトの境界が変わつて現ページにあふ
れが生じた場合は、新しいページの変り目の場
所がどこにあるかを判断するための“FIND
PAGE BREAK”ルーチンが呼び出される。
新しいページの変り目の場所が1つのスーパー
ブロツクオブジエクトセツトの境界内にあると
きは、そのスーパーブロツクが分離できるかど
うかまたはどこで分離できるかを判断するため
にはスーパーブロツク内の各オブジエクトセツ
トを必ず調べる(“SPLIT SUPERBLOCK“ル
ーチン)。スーパーブロツク分離不可とエデイ
タが判断すれば、その情報がそのルーチンに戻
されて、そのデータをユーザに知らせるために
メツセージパネルを生成することができる。 スーパーブロツクが分離できるときは、現ペ
ージおよび必要に応じて後続のページにページ
数を付けるための“PAGENATE(PAGE、
SPLIT)“ルーチンが呼び出される。ページ付
けのルーチンの入力パラメータは現ページのポ
インタおよびページ付タイプ変数である。分離
の場合、ページ付タイプ入力パラメータは上記
のように“SPLIT”である。 スーパーブロツクが分離できないときは、現
ページにページ数を付けるための
“PAGENATE(PAGE、KEEP)”ルーチンが
呼び出される。スーパーブロツクが長いページ
を作るページ上の唯一のオブジエクトであると
きはエデイタは現ページ上でそのスーパーブロ
ツクを保持するか、または次のページの上部に
そのスーパーブロツクを置く。次のページの上
部にスーパーブロツクを置くとそれ以降のペー
ジが書式化なしとなることもあるので、さらに
ページ付けを行う場合がある。スーパーブロツ
クが分離できないという理由はメツセージレコ
ードに置かれる。(“CREATE MESSAGE
RECORD”ルーチン)。次に、このメツセージ
をデイスプレイするためのメツセージパネルが
作成されて(“BUILD MESSAGE PANEL”)
それがユーザに知らされる。 ページの変り目の場所が1つのスーパーブロ
ツクの境界内にないときは、現ページの通常の
ページ付けを行うための“PAGENATE
(PAGE、NORMAL)“ルーチンが呼び出され
る。全ての編集が完了した後、必要ならページ
付けが行われて、データを再表示するための
“REDISPLAY DATA”ルーチンが呼び出さ
れる。編集プロセス中にメツセージパネルが作
成される場合は、データの再表示と同時にこの
メツセージパネルが表示される。 F6 フローアトリビユートに関するフロープロ
セス 第13A図ないし第13F図は非テキストオ
ブジエクトセツトのまわりにテキストを納める
やり方の幾つかの例を示す図である。第13A
図、第13C図、および第13E図はフローア
トリビユートがオフの場合の例で、第13B
図、第13D図、および第13F図はフローア
トリビユートがオンの場合の例である。これら
の図からわかるようにフローアトリビユートの
状態により、非テキストオブジエクトセツトの
まわりのテキストの納まり方が異なる。これら
の図は、さらに、フローアトリビユートがオフ
のものに対して、フローアトリビユートをオン
にして非テキストオブジエクトセツトを移動さ
せた結果を表わしている。たとえば、第13A
図のテキストの或るラインに示す“X”は非テ
キストオブジエクトセツトの移動先を表わして
おり、フローアトリビユートをオンにしてこれ
を移動した結果が第13図B図である。以下、
第13C図および第13D図、ならびに第13
E図および第13F図の関係もこれと同様であ
る。これらの例では移動先を示す“X”のとこ
ろに非テキストオブジエクトセツトの左上隅が
くるようになつている。以上のオペレーシヨン
は、ユーザが初めにスーパーブロツク内の非テ
キストオブジエクトセツトを選択し、次にコマ
ンドバーのMOVEコマンドおよび非テキスト
オブジエクトセツトの移動先を選ぶことによつ
て遂行される。これが本発明に基づくスーパー
ブロツク構造である。 テキストの各パラブラフはフローアトリビユ
ートを持つており、ユーザがこれをオンにする
かまたはオフにするかを指定することができ
る。フローアトリビユートをオンにして他の非
テキストオブジエクトセツトを、たとえば、も
とのパラグラフの左または右の境界のところで
挿入すると、エデイタはそのオブジエクトセツ
トのまわりにテキストを納める。エデイタは挿
入されたオブジエクトセツトの場所(右にある
かまたは左にあるか)を見てテキストをどちら
側(すなわち左または右)に納めたらよいかを
判断する。オブジエクトセツトがページの中央
にあるときは、エデイタはオブジエクトセツト
の左端とページの左境界との間、およびオブジ
エクトセツトの右端とページの右境界との間の
余裕が十分にあるかどうかを判断して、十分な
余裕があれば、そのオブジエクトセツトの両側
にテキストが納まるようにする。 第14A図および第14B図はテキストオブ
ジエクトのフローアトリビユートに関するフロ
ープロセスを示す流れ図である。スーパーブロ
ツクに対して何らかの編集作業を行つた後、エ
デイタは再書式化が必要かどうかを判断する。
再書式化が必要なのはスーパーブロツク内にテ
キストオブジエクトセツトが在つて且つそのう
ち少なくとも1つのテキストオブジエクトセツ
トのフローアトリビユートがオンのときだけで
ある。テキストオブジエクトセツトが存在する
かどうかを判断するために、エデイタはそのス
ーパーブロツク内の最初のオブジエクトセツト
に関するタイプを検出して(ステツプ24)これ
を調べる(ステツプ25)。この検査でそのオブ
ジエクトセツトのタイプがテキストであると判
断されたときは、エデイタはテキスト存在フラ
グを“真”にセツトしてそのテキストのフロー
アトリビユートを検査する(ステツプ26および
27)。そのフローアトリビユートがオンのとき
は、エデイタはフローフラグを“真”にセツト
する(ステツプ28)。検査すべきオブジエクト
セツトがある限りまたはそのフローフラグが
“偽”ではある限りは、ステツプ25ないしステ
ツプ28が繰り返される。この判断はステツプ29
で行う。 検査すべきオブジエクトセツトがなくなるか
またはそのフローフラグが“真”のときは、次
のステツプ30で、テキストオブジエクトセツト
が実際にそのスーパーブロツクに入つているか
どうかを調べる。上記のステツプ25ないしステ
ツプ28のループが終了して1つもテキストオブ
ジエクトセツトが見い出されないときは、その
スーパーブロツクの再書式化は完了する。ステ
ツプ30で“はい”のときは、フローフラグが
“真”であるかどうかを検査する(ステツプ
31)。フローフラグが“真”なら、次のステツ
プ32で、フローエリア(第15A図ないし第1
5D図参照)の数を判断する。 次に、ステツプ33および34で、スーパーブロ
ツクにおけるオブジエクトセツトのタイプを検
出してこれを調べる。この検査でそのタイプが
テキストでないと判断されたときはステツプ48
に進む。ステツプ48は、スーパーブロツクの全
てのオブジエクトセツトが検査されたかどうか
を調べるものである。ステツプ34でタイプがテ
キストであると判断されれば、そのテキストオ
ブジエクトセツトのフローアトリビユートを検
査し、それがオンのときはフローフラグを
“真”にセツトする。フローフラグが“真”に
セツトされフローエリアが1つ以上あれば、そ
のテキストをフローエリアの各々に実際に納め
るためのループに入る。このループに入るかど
うかの判断はステツプ37で行う。ステツプ37で
“いいえ”のときは、そのテキストオブジエク
トセツトは分離されて(ステツプ38)、次にス
テツプ48へ進む。ステツプ37で“はい”のとき
は、上記のループに入る。このループでは、ま
ずステツプ39で、エデイタは最初のフローエリ
アを検出する。次のステツプ40はフローテキス
トルーチンの実行を示すものである。このルー
チンは成功戻りコードまたは不成功戻りコード
に戻る。ステツプ41でこの戻りコードを調べ
る。これが成功の場合は納めるべきテキストが
まだ残つているかどうかを調べる(ステツプ
45)。ステツプ45で“いいえ”のときは次のス
テツプ46でテキスト残なしフラグを“真”にセ
ツトしてステツプ47以降を続行する。ステツプ
41で“いいえ”のときは、次のステツプ42でフ
ローテキストルーチンを再始動することができ
るかどうかを調べるための再始動フロールーチ
ンを実行する。これも成功戻りコードまたは不
成功戻りコードに戻るので、次のステツプ43で
その戻りコードを調べる。これが成功なら、ス
テツプ47以降を続行する。逆に不成功なら、次
のステツプ44で残りのテキストを分離してから
ステツプ47以降を続行する。ステツプ47では納
めるべきテキストがまだ残つているかどうか、
またはフローテキストルーチンが再始動できる
かどうかを調べる。納めるべきテキストがもう
残つていない場合、またはフローテキストルー
チンが失敗し且つ再始動できない場合は、ステ
ツプ48以降を続行し、そうでない場合はステツ
プ39以降を繰り返す。ステツプ48で、全てのオ
ブジエクトセツトの検査が済んだかどうかを調
べて、まだあればステツプ33以降を繰り返し、
そうでないときは、以上のプロセスは終了す
る。すなわち、そのスーパーブロツク内の全て
のオブジエクトセツトの処理が完了する。 以上に説明したフローアトリビユートに関す
るフロープロセスのプロシージヤを下記の第3
表に示す。
【表】
1つのスーパーブロツクオブジエクトセツト
に対して何らかの編集作業がなされて、エデイ
タがスーパーブロツクの再書式化が必要と判断
すれば、エデイタはスーパーブロツク内の最初
のオブジエクトセツトのタイプを検出するため
の“OBJECT SET TYPE”ルーチンを呼び
出す。このタイプがテキストである場合は、テ
キストが存在することを示すフラグ(TEXT
EXISTS)を“真”にする。次にそのテキスト
のフローアトリビユートがオンであるかどうか
を調べるための“TEXT FLOW
ATTRIBUTE(FLOW ON)“ルーチンを呼び
出す。それがオンなら、フローフラグ
(FLOW ON)を“真”にセツトする。以上の
ルーチンは、スーパーブロツクの全てのオブジ
エクトセツトが検査されるかまたはそのフロー
フラグが“真”になるまで繰り返される。 テキスト存在フラグが“真”なら、或るルー
プに入り非テキストオブジエクトセツトのまわ
りに納めるべきテキストオブジエクトセツトが
残つている限り、そのループが繰り返される。
この繰り返しループに入る前で、フローフラグ
が“真”なら、そのスーパーブロツクのどこに
フローエリアがあるかを判断するための
“DETERMINE FLOW AREAS”ルーチンが
呼び出される。このルーチンはスーパーブロツ
クにおけるフローエリアの数を判断するのに使
用されるが、1つのフローエリアに許される最
小幅のものはその数に数えられる。 上記繰り返しループに入ると、オブジエクト
セツトのタイプを検出するための“GET
OBJECT SET TYPE”ルーチンが呼び出さ
れる。最初のオブジエクトセツトのタイプがテ
キストなら、そのテキストオブジエクトセツト
のフローアトリビユートがオンであるかどうか
を調べるための“TEST FLOW
ATTRIBUTE(FLOW ON)”ルーチンが呼び
出される。このフローアトリビユートがオンで
あつて且つフローエリアの数がゼロでないな
ら、フロープロセスが始まり、そうでないとき
は、そのテキストオブジエクトセツトを分離す
るための“SPLIT OBJECT SET”ルーチン
が呼び出される。フロープロセスは幾つかのル
ーチンを有する繰り返しループであり、処理す
べきテキストオブジエクトセツトが残つている
限りこの繰り返しループが続く。 この第2の繰り返しループに入つた後、テキ
ストを納めるべき最初の領域を得るための
“GET FLOW AREA”ルーチンが呼び出され
る。フローエリアの順番はステツプ32でエデイ
タによつて決められる。次に、実際にテキスト
を納めるための“FLOW TEXT”ルーチンが
呼び出される。このルーチンが成功すれば、フ
ロープロセスは続行できる。逆に不成功のとき
は他のフローエリアにおけるフロープロセスの
再始動を試行するための“RESTART
FLOW”ルーチンが呼び出される。フロープ
ロセスが再始動できないときは、残りのテキス
トを分離して非テキストオブジエクトセツトの
後に置く。“FLOW TEXT”ルーチンが成功
すると、そのテキストの全てのテキストデータ
がテキストオブジエクトセツトに納まつたかど
うかを調べる。もしこれが納まつていれば、テ
キスト残なしフラグを“真”にセツトする。テ
キスト残なしフラグが“真”のとき、またはフ
ロープロセスが再始動できないときは、この内
部繰り返しループは終了する。スーパーブロツ
クにおける全てのテキストオブジエクトセツト
が処理されれば、外部繰り返しループは終了す
る。 第15A図ないし第15D図はフロープロセ
スを示す他の例である。第15A図は1つのス
ーパーブロツクにおいて1つのグラフイツクオ
ブジエクトセツトGと1つの表オブジエクトセ
ツトTとの間にテキストが納まつている様子を
表わす。参照番号400はページオブジエクト
セツトを表わす。第15B図は2つのグラフイ
ツクオブジエクトセツトの上、下、および間に
テキストが納まつている様子を表わす。各オブ
ジエクトセツトとテキストとの間の余裕はフロ
ーマージン402である。第15C図は1つの
表オブジエクトセツトのまわりおよび幾つかの
グラフイツクオブジエクトセツトの間にテキス
トが納まつている様子を表わす。この例ではこ
れらのグラフイツクオブジエクトセツトは表オ
ブジエクトセツトとオーバーラツプしている。
第15D図は互いにオーバーラツプした2つの
グラフイツクオブジエクトセツトの両側にテキ
ストが納まつている様子を表わす。第15A図
はフローエリア404は1つであるが、第15
B図ないし第15D図の例は複数のフローエリ
ア404を有する。 パラグラフオブジエクトにフローアトリビユ
ートを具備することに加えて、リストオブジエ
クト(これは実際には1つのパラグラフオブジ
エクトの特殊なケースである)にもフローアト
リビユートを具備することができる。フローア
トリビユートがオンであつて且つリストの中央
に他のオブジエクトが生成または挿入されると
きの様子を第21図に示す。第21図の左側の
図がグラフイツクオブジエクト挿入前のリスト
オブジエクトを表わし、右側の図が挿入された
結果を表わしている。図に示すようにリストオ
ブジエクトは項目1、2、…のような項目から
成るパラグラフオブジエクトである。1つの項
目が複数のパラグラフを有していてもよく、そ
の場合はそのパラグラフごとにフローアトリビ
ユードが与えられる。 さらに、1つのパラグラフオブジエクトは中
断することができ、単一セルの表またはリスト
を挿入しても壊れることはない。1つのパラグ
ラフが中断されるときは、それはその中にスペ
ースを有する1つの全体的なオブジエクトとし
て機能する。1つのリストがそのパラグラフを
中断するなら、そのパラグラフはリストが終了
したところから再び始まる。リストの前に在る
パラグラフの一部に変更があると(その結果、
テキストが再書式化されて、挿入されたリスト
の下に在るテキストの方へテキストが押し下げ
られる)、それはリストをスキツプし、あたか
もそのリストが存在しないかのようにしてその
パラグラフの残りの再書式化を続ける。 第16図は複数の非テキストオブジエクトセ
ツトが互いにオーバーレイした1つのスーパー
ブロツクの例を示す図である。第17図は複数
の非テキストオブジエクトセツトおよび1つの
テキストオブジエクトセツトが存在する例を示
し、この例では、これらの非テキストオブジエ
クトセツトは互いにオーバーレイしているが、
テキストオブジエクトセツトにはオーバーレイ
していない。参照番号500,502,50
4,および506は、ページ左端、ページ右
端、スーパーブロツクレフトマージン、および
スーパーブロツクライトマージンをそれぞれ表
わす。ユーザがCREATE、MOVE、COPY、
PASTE、またはGETのコマンドを指定すると
エデイタがスーパーブロツクを暗黙的に生成
し、その結果、少なくとも2つのオブジエクト
セツトが同じデイスプレイ空間を占める。スー
パーブロツクに適用できるコマンドは一般的な
フアンクシヨンである。たとえば、ユーザがそ
のスーパーブロツクに関してMOVE、COPY、
GET、またはDELETEを選択すると、スーパ
ーブロツク内の全てのオブジエクトセツトに対
し、それらがあたかも1つのエンテイテである
かのようにして、選択されたコマンドが適用さ
れる。そのスーパーブロツクに関するMOVE、
COPY、またはGETの行先が他のスーパーブ
ロツクまたはオブジエクトセツトになるとき
は、その行先のところで新しいスーパーブロツ
ク構造がもとのスーパーブロツク構造と入れ換
わる。すなわち、エデイタはスーパーブロツク
構造をひとたび生成すれば、それを別のオブジ
エクトセツトとして取り扱う。したがつてエデ
イタの遂行する計算は大幅に簡略化される。ユ
ーザがスーパーブロツク内の或るオブジエクト
セツトを選ぶと、コマンドバーはそのオブジエ
クトセツトのタイプに関して有効なコマンドを
表わすように変更される。オブジエクトセツト
の場所はコマンドの結果には影響を与えない。
スーパーブロツクの内側でそのオブジエクトセ
ツトに対してMOVE、COPY、DELETE、
DESCRIBE等のコマンドを実行することがで
きる。 F7 まとめ エデイタは、スーパーブロツクの生成の際、
レフトマージンオフセツトおよびライトマージ
ンオフセツトをどれだけにすべきかを決定す
る。スーパーブロツクアイコンを選んで次にコ
マンドバーからDESCRIBEを選択することに
よつて、ユーザはこれらのマージンオフセツト
を変えることができる。これで第18図に示す
ようなポツプダウンパネルがデイスプレイされ
る。この図からわかるように、ユーザはこのポ
ツプダウンパネルによつて“名前(NAME)”
を指定し、スーパーブロツクの前後のスペース
を変更し、“保護アトリビユート
(PROTECTION)”をセツトすることもでき
る。スーパーブロツク構造の生成の際にオブジ
エクトセツトの配置に関してエデイタが用いる
ルールは下記のとおりである。 (a) オブジエクトセツトの配置に関して選択さ
れた行先はそのオブジエクトセツトの上部レ
フトマージンの境界の開始点となる。ライト
マージンオフセツトは変わらない。 (b) 定義されたレフトマージンオフセツトがラ
イトマージンオフセツトより大きいかまたは
等しいときは、エデイタはそのオブジエクト
セツトをそのスーパーブロツク内に置く。 (c) そのオブジエクトセツトの内容を少なくと
も一部分がデイスプレイできないときは、エ
デイタはそのスペースに合うようオブジエク
トセツトを切り取る(clip)。データは新し
い境界内で画面移動可能となる。 (d) テキストオブジエクトセツトはオーバーレ
イできない。 (e) 非テキストオブジエクトセツトの左または
右に十分なスペースがあるときは、フローア
トリビユートがオンであるテキストは白地ス
ペースを埋めるよう自然に納まる。逆に、ス
ペースが十分でないときは、テキストオブジ
エクトセツトは非テキストオブジエクトセツ
トの後に置かれる。 スーパーブロツク内のデータが2ページに分
離できるなら、1つのスーパーブロツクはペー
ジの終わりの境界を越えてもよい。スーパーブ
ロツク構造により、ページ付け手段に必要な簿
記は簡単になる。スーパーブロツクがページの
終わりを越えないなら、ページ付け手段はスー
パーブロツク構造の合計の高さだけがわかれば
よい。スーパーブロツク構造を2ページに分離
する必要があるときは、そのスーパーブロツク
内の各オブジエクトセツトを必ず調べてそのデ
ータがスーパーブロツクを分離できるようなも
のであるかどうかを検査する。スーパーブロツ
クが分離できるときは、ページ付け手段はその
分離がどこでできるかを必ず決定する。 スーパーブロツク構造を生成する際、エデイ
タはページ終了の判断をしなければならないと
きにだけ、スーパーブロツク構造内の複合デー
タを処理する。しかも、第9図等に示すよう
に、スーパーブロツクであることを表わすアイ
コン“S”が1つ存在するだけであるから(通
常各オブジエクトセツトの隣りに示されるアイ
コンはこの場合表示されない)、デイスプレイ
の表示はわかり易い。このように、スーパーブ
ロツクは複雑な構造をしているけれども、エデ
イタがこれを暗黙的に生成するので同一ページ
における異なるタイプのデータの統合および操
作は非常に簡単になる。スーパーブロツクがあ
れば、ユーザはページ上の単一の表示領域内で
複数のオブジエクトセツトを容易に処理するこ
とができる。 第19図は文書オブジエクトデータ構造をア
プリケーシヨン複合エデイタの文書リングにリ
ンクした様子を示す図である。文書はデイレク
トリによつて文書リングにおいてアクセスされ
る。このデイレクトリが文書ヘツダを指定し、
文書ヘツダがその文書オブジエクトおよび次の
文書ヘツダを指定する。文書オブジエクトは
POLITEシステムのように、UNDOリング、
REDOリング、および書式化情報(DOC
FCB)を指定する。1つのオブジエクトセツ
トはアプリケーシヨン複合エデイタのアーキテ
クチヤの基本であり、文書オブジエクトが最初
のラベル(LAB 1)を指定し、これが最初の
オブジエクトセツト(OBJ SET1)を指定す
る。各オブジエクトセツトは行先のオブジエク
トセツトおよび次のオブジエクトセツトを指定
する;各オブジエクトは各々名前を有すること
ができる;各オブジエクトセツトは1ページに
保存するべきユーザの定義した1つのブロツク
の一部となることもできる;各オブジエクトセ
ツトはページングデータで使用される一意的な
識別子をそれぞれ有する。第17図に示したア
ーキテクチヤからわかるように、エデイタにお
ける全てのデータは複数のページに存在し、全
てのページは1つの複合文書内に存在する。 第19図に示すデータ構造における1以上の
オブジエクトセツトが1つのスーパーブロツク
であつてもよい。スーパーブロツク構造の1つ
の表現を第20図に示した。スーパーブロツク
構造をPascalで実現した例を下記の第4表に
示す。
に対して何らかの編集作業がなされて、エデイ
タがスーパーブロツクの再書式化が必要と判断
すれば、エデイタはスーパーブロツク内の最初
のオブジエクトセツトのタイプを検出するため
の“OBJECT SET TYPE”ルーチンを呼び
出す。このタイプがテキストである場合は、テ
キストが存在することを示すフラグ(TEXT
EXISTS)を“真”にする。次にそのテキスト
のフローアトリビユートがオンであるかどうか
を調べるための“TEXT FLOW
ATTRIBUTE(FLOW ON)“ルーチンを呼び
出す。それがオンなら、フローフラグ
(FLOW ON)を“真”にセツトする。以上の
ルーチンは、スーパーブロツクの全てのオブジ
エクトセツトが検査されるかまたはそのフロー
フラグが“真”になるまで繰り返される。 テキスト存在フラグが“真”なら、或るルー
プに入り非テキストオブジエクトセツトのまわ
りに納めるべきテキストオブジエクトセツトが
残つている限り、そのループが繰り返される。
この繰り返しループに入る前で、フローフラグ
が“真”なら、そのスーパーブロツクのどこに
フローエリアがあるかを判断するための
“DETERMINE FLOW AREAS”ルーチンが
呼び出される。このルーチンはスーパーブロツ
クにおけるフローエリアの数を判断するのに使
用されるが、1つのフローエリアに許される最
小幅のものはその数に数えられる。 上記繰り返しループに入ると、オブジエクト
セツトのタイプを検出するための“GET
OBJECT SET TYPE”ルーチンが呼び出さ
れる。最初のオブジエクトセツトのタイプがテ
キストなら、そのテキストオブジエクトセツト
のフローアトリビユートがオンであるかどうか
を調べるための“TEST FLOW
ATTRIBUTE(FLOW ON)”ルーチンが呼び
出される。このフローアトリビユートがオンで
あつて且つフローエリアの数がゼロでないな
ら、フロープロセスが始まり、そうでないとき
は、そのテキストオブジエクトセツトを分離す
るための“SPLIT OBJECT SET”ルーチン
が呼び出される。フロープロセスは幾つかのル
ーチンを有する繰り返しループであり、処理す
べきテキストオブジエクトセツトが残つている
限りこの繰り返しループが続く。 この第2の繰り返しループに入つた後、テキ
ストを納めるべき最初の領域を得るための
“GET FLOW AREA”ルーチンが呼び出され
る。フローエリアの順番はステツプ32でエデイ
タによつて決められる。次に、実際にテキスト
を納めるための“FLOW TEXT”ルーチンが
呼び出される。このルーチンが成功すれば、フ
ロープロセスは続行できる。逆に不成功のとき
は他のフローエリアにおけるフロープロセスの
再始動を試行するための“RESTART
FLOW”ルーチンが呼び出される。フロープ
ロセスが再始動できないときは、残りのテキス
トを分離して非テキストオブジエクトセツトの
後に置く。“FLOW TEXT”ルーチンが成功
すると、そのテキストの全てのテキストデータ
がテキストオブジエクトセツトに納まつたかど
うかを調べる。もしこれが納まつていれば、テ
キスト残なしフラグを“真”にセツトする。テ
キスト残なしフラグが“真”のとき、またはフ
ロープロセスが再始動できないときは、この内
部繰り返しループは終了する。スーパーブロツ
クにおける全てのテキストオブジエクトセツト
が処理されれば、外部繰り返しループは終了す
る。 第15A図ないし第15D図はフロープロセ
スを示す他の例である。第15A図は1つのス
ーパーブロツクにおいて1つのグラフイツクオ
ブジエクトセツトGと1つの表オブジエクトセ
ツトTとの間にテキストが納まつている様子を
表わす。参照番号400はページオブジエクト
セツトを表わす。第15B図は2つのグラフイ
ツクオブジエクトセツトの上、下、および間に
テキストが納まつている様子を表わす。各オブ
ジエクトセツトとテキストとの間の余裕はフロ
ーマージン402である。第15C図は1つの
表オブジエクトセツトのまわりおよび幾つかの
グラフイツクオブジエクトセツトの間にテキス
トが納まつている様子を表わす。この例ではこ
れらのグラフイツクオブジエクトセツトは表オ
ブジエクトセツトとオーバーラツプしている。
第15D図は互いにオーバーラツプした2つの
グラフイツクオブジエクトセツトの両側にテキ
ストが納まつている様子を表わす。第15A図
はフローエリア404は1つであるが、第15
B図ないし第15D図の例は複数のフローエリ
ア404を有する。 パラグラフオブジエクトにフローアトリビユ
ートを具備することに加えて、リストオブジエ
クト(これは実際には1つのパラグラフオブジ
エクトの特殊なケースである)にもフローアト
リビユートを具備することができる。フローア
トリビユートがオンであつて且つリストの中央
に他のオブジエクトが生成または挿入されると
きの様子を第21図に示す。第21図の左側の
図がグラフイツクオブジエクト挿入前のリスト
オブジエクトを表わし、右側の図が挿入された
結果を表わしている。図に示すようにリストオ
ブジエクトは項目1、2、…のような項目から
成るパラグラフオブジエクトである。1つの項
目が複数のパラグラフを有していてもよく、そ
の場合はそのパラグラフごとにフローアトリビ
ユードが与えられる。 さらに、1つのパラグラフオブジエクトは中
断することができ、単一セルの表またはリスト
を挿入しても壊れることはない。1つのパラグ
ラフが中断されるときは、それはその中にスペ
ースを有する1つの全体的なオブジエクトとし
て機能する。1つのリストがそのパラグラフを
中断するなら、そのパラグラフはリストが終了
したところから再び始まる。リストの前に在る
パラグラフの一部に変更があると(その結果、
テキストが再書式化されて、挿入されたリスト
の下に在るテキストの方へテキストが押し下げ
られる)、それはリストをスキツプし、あたか
もそのリストが存在しないかのようにしてその
パラグラフの残りの再書式化を続ける。 第16図は複数の非テキストオブジエクトセ
ツトが互いにオーバーレイした1つのスーパー
ブロツクの例を示す図である。第17図は複数
の非テキストオブジエクトセツトおよび1つの
テキストオブジエクトセツトが存在する例を示
し、この例では、これらの非テキストオブジエ
クトセツトは互いにオーバーレイしているが、
テキストオブジエクトセツトにはオーバーレイ
していない。参照番号500,502,50
4,および506は、ページ左端、ページ右
端、スーパーブロツクレフトマージン、および
スーパーブロツクライトマージンをそれぞれ表
わす。ユーザがCREATE、MOVE、COPY、
PASTE、またはGETのコマンドを指定すると
エデイタがスーパーブロツクを暗黙的に生成
し、その結果、少なくとも2つのオブジエクト
セツトが同じデイスプレイ空間を占める。スー
パーブロツクに適用できるコマンドは一般的な
フアンクシヨンである。たとえば、ユーザがそ
のスーパーブロツクに関してMOVE、COPY、
GET、またはDELETEを選択すると、スーパ
ーブロツク内の全てのオブジエクトセツトに対
し、それらがあたかも1つのエンテイテである
かのようにして、選択されたコマンドが適用さ
れる。そのスーパーブロツクに関するMOVE、
COPY、またはGETの行先が他のスーパーブ
ロツクまたはオブジエクトセツトになるとき
は、その行先のところで新しいスーパーブロツ
ク構造がもとのスーパーブロツク構造と入れ換
わる。すなわち、エデイタはスーパーブロツク
構造をひとたび生成すれば、それを別のオブジ
エクトセツトとして取り扱う。したがつてエデ
イタの遂行する計算は大幅に簡略化される。ユ
ーザがスーパーブロツク内の或るオブジエクト
セツトを選ぶと、コマンドバーはそのオブジエ
クトセツトのタイプに関して有効なコマンドを
表わすように変更される。オブジエクトセツト
の場所はコマンドの結果には影響を与えない。
スーパーブロツクの内側でそのオブジエクトセ
ツトに対してMOVE、COPY、DELETE、
DESCRIBE等のコマンドを実行することがで
きる。 F7 まとめ エデイタは、スーパーブロツクの生成の際、
レフトマージンオフセツトおよびライトマージ
ンオフセツトをどれだけにすべきかを決定す
る。スーパーブロツクアイコンを選んで次にコ
マンドバーからDESCRIBEを選択することに
よつて、ユーザはこれらのマージンオフセツト
を変えることができる。これで第18図に示す
ようなポツプダウンパネルがデイスプレイされ
る。この図からわかるように、ユーザはこのポ
ツプダウンパネルによつて“名前(NAME)”
を指定し、スーパーブロツクの前後のスペース
を変更し、“保護アトリビユート
(PROTECTION)”をセツトすることもでき
る。スーパーブロツク構造の生成の際にオブジ
エクトセツトの配置に関してエデイタが用いる
ルールは下記のとおりである。 (a) オブジエクトセツトの配置に関して選択さ
れた行先はそのオブジエクトセツトの上部レ
フトマージンの境界の開始点となる。ライト
マージンオフセツトは変わらない。 (b) 定義されたレフトマージンオフセツトがラ
イトマージンオフセツトより大きいかまたは
等しいときは、エデイタはそのオブジエクト
セツトをそのスーパーブロツク内に置く。 (c) そのオブジエクトセツトの内容を少なくと
も一部分がデイスプレイできないときは、エ
デイタはそのスペースに合うようオブジエク
トセツトを切り取る(clip)。データは新し
い境界内で画面移動可能となる。 (d) テキストオブジエクトセツトはオーバーレ
イできない。 (e) 非テキストオブジエクトセツトの左または
右に十分なスペースがあるときは、フローア
トリビユートがオンであるテキストは白地ス
ペースを埋めるよう自然に納まる。逆に、ス
ペースが十分でないときは、テキストオブジ
エクトセツトは非テキストオブジエクトセツ
トの後に置かれる。 スーパーブロツク内のデータが2ページに分
離できるなら、1つのスーパーブロツクはペー
ジの終わりの境界を越えてもよい。スーパーブ
ロツク構造により、ページ付け手段に必要な簿
記は簡単になる。スーパーブロツクがページの
終わりを越えないなら、ページ付け手段はスー
パーブロツク構造の合計の高さだけがわかれば
よい。スーパーブロツク構造を2ページに分離
する必要があるときは、そのスーパーブロツク
内の各オブジエクトセツトを必ず調べてそのデ
ータがスーパーブロツクを分離できるようなも
のであるかどうかを検査する。スーパーブロツ
クが分離できるときは、ページ付け手段はその
分離がどこでできるかを必ず決定する。 スーパーブロツク構造を生成する際、エデイ
タはページ終了の判断をしなければならないと
きにだけ、スーパーブロツク構造内の複合デー
タを処理する。しかも、第9図等に示すよう
に、スーパーブロツクであることを表わすアイ
コン“S”が1つ存在するだけであるから(通
常各オブジエクトセツトの隣りに示されるアイ
コンはこの場合表示されない)、デイスプレイ
の表示はわかり易い。このように、スーパーブ
ロツクは複雑な構造をしているけれども、エデ
イタがこれを暗黙的に生成するので同一ページ
における異なるタイプのデータの統合および操
作は非常に簡単になる。スーパーブロツクがあ
れば、ユーザはページ上の単一の表示領域内で
複数のオブジエクトセツトを容易に処理するこ
とができる。 第19図は文書オブジエクトデータ構造をア
プリケーシヨン複合エデイタの文書リングにリ
ンクした様子を示す図である。文書はデイレク
トリによつて文書リングにおいてアクセスされ
る。このデイレクトリが文書ヘツダを指定し、
文書ヘツダがその文書オブジエクトおよび次の
文書ヘツダを指定する。文書オブジエクトは
POLITEシステムのように、UNDOリング、
REDOリング、および書式化情報(DOC
FCB)を指定する。1つのオブジエクトセツ
トはアプリケーシヨン複合エデイタのアーキテ
クチヤの基本であり、文書オブジエクトが最初
のラベル(LAB 1)を指定し、これが最初の
オブジエクトセツト(OBJ SET1)を指定す
る。各オブジエクトセツトは行先のオブジエク
トセツトおよび次のオブジエクトセツトを指定
する;各オブジエクトは各々名前を有すること
ができる;各オブジエクトセツトは1ページに
保存するべきユーザの定義した1つのブロツク
の一部となることもできる;各オブジエクトセ
ツトはページングデータで使用される一意的な
識別子をそれぞれ有する。第17図に示したア
ーキテクチヤからわかるように、エデイタにお
ける全てのデータは複数のページに存在し、全
てのページは1つの複合文書内に存在する。 第19図に示すデータ構造における1以上の
オブジエクトセツトが1つのスーパーブロツク
であつてもよい。スーパーブロツク構造の1つ
の表現を第20図に示した。スーパーブロツク
構造をPascalで実現した例を下記の第4表に
示す。
【表】
定オブジエクトセツト情報へのポインタ〓
【表】
〓順序は左から右〓
【表】
パーブロツクであることを示すスカラ
以上に示したフイールドは、s headを除
いて、全てのオブジエクトセツトに対し共通で
ある。テキストオブジエクトセツトの場合、変
数ポインタフイールドはtxt headであり、グ
ラフイツクオブジエクトセツトの場合、変数ポ
インタフイールドはg headであり、表オブ
ジエクトセツトの場合、変数ポインタフイール
ドはtbl headである。 オブジエクトセツト識別構造のフイールドは
下記のとおりである。 loc=オブジエクトセツトidに関連するオブジ
エクトセツトのx、yのオフセツト next obj set=そのスーパーブロツクにおける
次のオブジエクトセツトのポインタ obj set=オブジエクトセツトidに関連するオ
ブジエクトセツトへのポインタ 1つの文書において1つのページを書式化す
るときにページ付け手段が“height”フイール
ドを使用する。1つのスーパーブロツクオブジ
エクトセツトの場合、その高さ(height)とそ
のページで現に使つているスペースとを加えた
ものが、許容範囲以下であれば、スーパーブロ
ツク内の最初から最後までのオブジエクトセツ
トの内容をページ付け手段が調べる必要はな
い。したがつてそれだけ処理が簡単になる。
“formatted”および“keep”フラグは、ペー
ジ付けを続けるためにそのスーパーブロツクで
さらに処理をしなければならないかどうかを判
断するためにページ付け手段が使用するフイー
ルドである。“keep”フラグが真ときはそのス
ーパーブロツクは2ページに分離することはで
きない。 以上示したように、好適な実施例によれば、
1つのスーパーブロツクはアプリケーシヨン複
合エデイタ内で1つのオブジエクトセツトとし
て実現され、したがつてオブジエクトセツトの
タイプはテキスト、グラフイツク、表、および
スーパーブロツクの4つになる。スーパーブロ
ツクが生成されると、1つのオブジエクトセツ
トが定義されて、エデイタはオブジエクトを表
わすため内部的な構造すなわちオブジエクトセ
ツトを文書バツフア内で割り振る。オブジエク
トセツトのタイプに応じて変化する下半分を除
いて、全てのオブジエクトセツト構造は同様で
ある。これらのオブジエクトセツト構造はプロ
グラミング言語Pascalで実現できる。変化す
るデータタイプはPascalの変数レコードで実
現できる。スーパーブロツクの変数部分はスー
パーブロツクに特有の構造情報へのポインタ
“s head”で表わされる。その構造情報
“sblk head”は2つのポインタから成る。1
つは最初のオブジエクトセツトのポインタ
“first obj set”、もう1つは最後のオブジエク
トセツトのポインタ“last obj set”である。
これらの各ポインタはオブジエクトセツト識別
ポインタ“obj set id ptr”であり“obj set
id ptr”はオブジエクトセツトidレコード構造
“obj set id”へのポインタである。1つの
“obj id”は3つのフイールドから成る。それ
は、“loc”、“next obj set”、および“obj set”
である。“loc”はスーパーブロツク内のx、y
のオフセツトを含むフイールドである。“next
obj set”はスーパーブロツクにおける次のオ
ブジエクトセツトidへのポインタである。“obj
set”はそのオブジエクトセツトidに関連する
オブジエクトセツトへのポインタである。1つ
のスーパーブロツクに存在することのできるオ
ブジエクトセツトはテキスト、表、またはグラ
フイツクである。もちろんスーパーブロツク内
にスーパーブロツクが存在することもある。 G 発明の効果 以上説明したように、本発明によれば、スーパ
ーブロツクの概念を導入したことにより書式化の
アルゴリズムが簡単化されたより使い易いエデイ
タが提供される。しかもスーパーブロツクの生成
および処理は、たとえばプログラミング言語
Pascalで容易に実現することができる。
以上に示したフイールドは、s headを除
いて、全てのオブジエクトセツトに対し共通で
ある。テキストオブジエクトセツトの場合、変
数ポインタフイールドはtxt headであり、グ
ラフイツクオブジエクトセツトの場合、変数ポ
インタフイールドはg headであり、表オブ
ジエクトセツトの場合、変数ポインタフイール
ドはtbl headである。 オブジエクトセツト識別構造のフイールドは
下記のとおりである。 loc=オブジエクトセツトidに関連するオブジ
エクトセツトのx、yのオフセツト next obj set=そのスーパーブロツクにおける
次のオブジエクトセツトのポインタ obj set=オブジエクトセツトidに関連するオ
ブジエクトセツトへのポインタ 1つの文書において1つのページを書式化す
るときにページ付け手段が“height”フイール
ドを使用する。1つのスーパーブロツクオブジ
エクトセツトの場合、その高さ(height)とそ
のページで現に使つているスペースとを加えた
ものが、許容範囲以下であれば、スーパーブロ
ツク内の最初から最後までのオブジエクトセツ
トの内容をページ付け手段が調べる必要はな
い。したがつてそれだけ処理が簡単になる。
“formatted”および“keep”フラグは、ペー
ジ付けを続けるためにそのスーパーブロツクで
さらに処理をしなければならないかどうかを判
断するためにページ付け手段が使用するフイー
ルドである。“keep”フラグが真ときはそのス
ーパーブロツクは2ページに分離することはで
きない。 以上示したように、好適な実施例によれば、
1つのスーパーブロツクはアプリケーシヨン複
合エデイタ内で1つのオブジエクトセツトとし
て実現され、したがつてオブジエクトセツトの
タイプはテキスト、グラフイツク、表、および
スーパーブロツクの4つになる。スーパーブロ
ツクが生成されると、1つのオブジエクトセツ
トが定義されて、エデイタはオブジエクトを表
わすため内部的な構造すなわちオブジエクトセ
ツトを文書バツフア内で割り振る。オブジエク
トセツトのタイプに応じて変化する下半分を除
いて、全てのオブジエクトセツト構造は同様で
ある。これらのオブジエクトセツト構造はプロ
グラミング言語Pascalで実現できる。変化す
るデータタイプはPascalの変数レコードで実
現できる。スーパーブロツクの変数部分はスー
パーブロツクに特有の構造情報へのポインタ
“s head”で表わされる。その構造情報
“sblk head”は2つのポインタから成る。1
つは最初のオブジエクトセツトのポインタ
“first obj set”、もう1つは最後のオブジエク
トセツトのポインタ“last obj set”である。
これらの各ポインタはオブジエクトセツト識別
ポインタ“obj set id ptr”であり“obj set
id ptr”はオブジエクトセツトidレコード構造
“obj set id”へのポインタである。1つの
“obj id”は3つのフイールドから成る。それ
は、“loc”、“next obj set”、および“obj set”
である。“loc”はスーパーブロツク内のx、y
のオフセツトを含むフイールドである。“next
obj set”はスーパーブロツクにおける次のオ
ブジエクトセツトidへのポインタである。“obj
set”はそのオブジエクトセツトidに関連する
オブジエクトセツトへのポインタである。1つ
のスーパーブロツクに存在することのできるオ
ブジエクトセツトはテキスト、表、またはグラ
フイツクである。もちろんスーパーブロツク内
にスーパーブロツクが存在することもある。 G 発明の効果 以上説明したように、本発明によれば、スーパ
ーブロツクの概念を導入したことにより書式化の
アルゴリズムが簡単化されたより使い易いエデイ
タが提供される。しかもスーパーブロツクの生成
および処理は、たとえばプログラミング言語
Pascalで容易に実現することができる。
第1図は本発明の実施例のスーパーブロツク生
成プロセスを示す流れ図、第2図はページレイア
ウトの概念を示す図、第3図はオブジエクトセツ
トの通常の配置を示す図、第4図および第5図は
非テキストオブジエクトおよびテキストオブジエ
クトを含むスーパーブロツクの例を示す図、第6
図は複合文書の表示例を示す図、第7図はテキス
トオブジエクトセツトにおいて他のオブジエクト
セツトを挿入する場所を選択する様子を示す図、
第8図はスーパーブロツクの編集プロセスを示す
流れ図、第9A図ないし第9C図はスーパーブロ
ツクの境界が変わらない編集の例を示す図、第1
0A図ないし第10C図はスーパーブロツクの境
界が変わるような編集の例を示す図、第11A図
ないし第11C図は1つのスーパーブロツクが2
ページに分離できるような編集の例を示す図、第
12A図ないし第12C図は1つのスーパーブロ
ツクがページあふれを生ずるような編集の例を示
す図、第13A図ないし第13F図は非テキスト
オブジエクトのまわりにテキストオブジエクトを
納める幾つかの例を示す図、第14A図および第
14B図はテキストオブジエクトのフローアトリ
ビユートに関するフロープロセスを示す流れ図、
第15A図ないし第15D図はスーパーブロツク
の他の例を示す図、第16図および第17図はオ
ブジエクトセツトがオーバーレイした様子を示す
図、第18図はDESCRIBEコマンドのポツプダ
ウンパネルの表示例を示す図、第19図は文書オ
ブジエクトデータ構造を説明する図、第20図は
スーパーブロツク構造の表現を説明する図、第2
1図はリストオブジエクトへの挿入の例を示す図
である。
成プロセスを示す流れ図、第2図はページレイア
ウトの概念を示す図、第3図はオブジエクトセツ
トの通常の配置を示す図、第4図および第5図は
非テキストオブジエクトおよびテキストオブジエ
クトを含むスーパーブロツクの例を示す図、第6
図は複合文書の表示例を示す図、第7図はテキス
トオブジエクトセツトにおいて他のオブジエクト
セツトを挿入する場所を選択する様子を示す図、
第8図はスーパーブロツクの編集プロセスを示す
流れ図、第9A図ないし第9C図はスーパーブロ
ツクの境界が変わらない編集の例を示す図、第1
0A図ないし第10C図はスーパーブロツクの境
界が変わるような編集の例を示す図、第11A図
ないし第11C図は1つのスーパーブロツクが2
ページに分離できるような編集の例を示す図、第
12A図ないし第12C図は1つのスーパーブロ
ツクがページあふれを生ずるような編集の例を示
す図、第13A図ないし第13F図は非テキスト
オブジエクトのまわりにテキストオブジエクトを
納める幾つかの例を示す図、第14A図および第
14B図はテキストオブジエクトのフローアトリ
ビユートに関するフロープロセスを示す流れ図、
第15A図ないし第15D図はスーパーブロツク
の他の例を示す図、第16図および第17図はオ
ブジエクトセツトがオーバーレイした様子を示す
図、第18図はDESCRIBEコマンドのポツプダ
ウンパネルの表示例を示す図、第19図は文書オ
ブジエクトデータ構造を説明する図、第20図は
スーパーブロツク構造の表現を説明する図、第2
1図はリストオブジエクトへの挿入の例を示す図
である。
Claims (1)
- 【特許請求の範囲】 1 テキストオブジエクトおよび非テキストオブ
ジエクトを含むオブジエクトセツトを操作して同
一ページまたは該ページの先行もしくは後続ペー
ジ中に位置づけられた上記テキストオブジエクト
およびテキストオブジエクトを有する複合文書を
生成しうるように、 上記オブジエクトセツトの各々にそのタイプに
固有のデータ構造を与え、該データ構造中には先
行のオブジエクトセツトおよび後続のオブジエク
トセツトの位置を示すデータを加えて、ページ付
け用として使用される固有の識別子を含め、さら
に上記各オブジエクトセツト中には同一タイプの
オブジエクトを含め、該各オブジエクトセツトの
タイプを該当するアイコンによつてそれぞれ示す
ようにした統合多重データエデイタにおいて、 (a) 表示可能な領域において2以上のオブジエク
トセツトが互いにオーバーラツプ、左右または
上下配置されるように、該オブジエクトセツト
の2以上のオブジエクトセツト・データ構造を
含む上記表示可能な領域の内的な表現を定義す
ることによりスーパーブロツクデータ構造を生
成するステツプと、 (b) ページの終わりの判断をする必要がある場合
を除き、上記スーパーブロツク・データ構造内
の複雑さを考慮せずに上記スーパーブロツク・
データ構造をあたかも1つのオブジエクトセツ
ト・データ構造として操作することによつて文
書を書式化するステツプと、 を有することを特徴とする複合文書編集方法。 2 特許請求の範囲第1項に記載の複合文書編集
方法において、 第2オブジエクトセツトを挿入すべき第1オブ
ジエクトセツト内の位置を選択するステツプと、 上記第2オブジエクトセツトを上記第1オブジ
エクトセツト内の選択された位置に挿入し、上記
第1および第2オブジエクトセツトのデータ構造
を保持する単一のオブジエクトセツトとして上記
スーパーブロツク・データ構造を生成するステツ
プと、 を含むことを特徴とする複合文書編集方法。 3 特許請求の範囲第1項に記載の複合文書編集
方法において、 各テキスト・オブジエクトセツトのデータ構造
ごとにフロー・アトリビユートをオンまたはオフ
に設定し、 上記テキスト・オブジエクトセツト・データ構
造および少なくとも1つの非テキストオブジエク
トセツト・データ構造を含むスーパーブロツク内
のいずれかの上記テキストオブジエクト・セツト
構造について、上記フローアトリビユートがオン
に設定されている場合には当該ページの上記表示
可能な領域において上記非テキストオブジエクト
セツトの周囲を充填するように上記テキストオブ
ジエクトセツトのテキストをフローするステツプ
と、 を含むことを特徴とする複合文書編集方法。
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US645620 | 1984-08-30 | ||
| US645621 | 1984-08-30 | ||
| US645630 | 1984-08-30 | ||
| US645622 | 1984-08-30 | ||
| US06/645,620 US4739477A (en) | 1984-08-30 | 1984-08-30 | Implicit creation of a superblock data structure |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6162170A JPS6162170A (ja) | 1986-03-31 |
| JPH0352098B2 true JPH0352098B2 (ja) | 1991-08-08 |
Family
ID=24589759
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60156205A Granted JPS6162170A (ja) | 1984-08-30 | 1985-07-17 | 複合文書編集方法 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US4739477A (ja) |
| EP (1) | EP0173123B1 (ja) |
| JP (1) | JPS6162170A (ja) |
| DE (1) | DE3586273T2 (ja) |
Families Citing this family (136)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5289569A (en) * | 1985-05-21 | 1994-02-22 | Canon Kabushiki Kaisha | Document processing system capable of simultaneously displaying two continuous document pages in accordance with a selected binding position |
| US5450598A (en) * | 1985-12-27 | 1995-09-12 | Xerox Corporation | Finite state machine data storage where data transition is accomplished without the use of pointers |
| US5021973A (en) * | 1986-01-16 | 1991-06-04 | International Business Machines Corporation | Method for assisting the operator of an interactive data processing system to enter data directly into a selected cell of a spreadsheet |
| US4903233A (en) * | 1986-06-20 | 1990-02-20 | Sharp Kabushiki Kaisha | Word processor having capability of continuously entering documents into a column or a block of an editing system |
| JPS63131265A (ja) * | 1986-11-21 | 1988-06-03 | Hitachi Ltd | 文書作成装置 |
| JP2851840B2 (ja) * | 1987-03-31 | 1999-01-27 | キヤノン株式会社 | 文書処理装置 |
| US5206951A (en) * | 1987-08-21 | 1993-04-27 | Wang Laboratories, Inc. | Integration of data between typed objects by mutual, direct invocation between object managers corresponding to object types |
| KR0121574B1 (ko) * | 1987-08-24 | 1997-11-22 | 나까가와 가즈오 | 데이터 처리장치 및 이것을 사용하는 편집장치 |
| JP2603275B2 (ja) * | 1987-11-16 | 1997-04-23 | キヤノン株式会社 | 文書処理装置 |
| JPH01232465A (ja) * | 1988-03-14 | 1989-09-18 | Hitachi Ltd | 数式入力編集方式 |
| JP2624753B2 (ja) * | 1988-03-18 | 1997-06-25 | 株式会社日立製作所 | 上位仕様書作成方法 |
| US4953080A (en) * | 1988-04-25 | 1990-08-28 | Hewlett-Packard Company | Object management facility for maintaining data in a computer system |
| AU638637B2 (en) * | 1988-04-25 | 1993-07-01 | Hewlett-Packard Company | A method of copying objects in a linked object data structure |
| AU638635B2 (en) * | 1988-04-25 | 1993-07-01 | Hewlett-Packard Company | A method of establishing a link between object data structures in a file management system |
| US5133070A (en) * | 1988-06-30 | 1992-07-21 | International Business Machines Corporation | Method of nesting and processing mixed data objects within a data stream utilizing selective environment inheritance |
| AU4414889A (en) * | 1988-10-21 | 1990-05-14 | A.C. Nielsen Company | Software operating environment |
| US5175812A (en) * | 1988-11-30 | 1992-12-29 | Hewlett-Packard Company | System for providing help information during a help mode based on selected operation controls and a current-state of the system |
| US5113341A (en) * | 1989-02-24 | 1992-05-12 | International Business Machines Corporation | Technique for creating and expanding element marks in a structured document |
| US5185698A (en) * | 1989-02-24 | 1993-02-09 | International Business Machines Corporation | Technique for contracting element marks in a structured document |
| US5214756A (en) * | 1989-03-10 | 1993-05-25 | International Business Machines Corporation | Direct manipulation of icons via conversational linking |
| US5140521A (en) * | 1989-04-26 | 1992-08-18 | International Business Machines Corporation | Method for deleting a marked portion of a structured document |
| US5079700A (en) * | 1989-04-26 | 1992-01-07 | International Business Machines Corporation | Method for copying a marked portion of a structured document |
| JP2808672B2 (ja) * | 1989-05-31 | 1998-10-08 | 株式会社日立製作所 | オブジェクト指向言語のクラスを用いるメリッド決定方法 |
| US5125091A (en) * | 1989-06-08 | 1992-06-23 | Hazox Corporation | Object oriented control of real-time processing |
| US5479614A (en) * | 1989-09-14 | 1995-12-26 | Fujitsu Limited | Object sensor processing method and processor |
| US6978277B2 (en) * | 1989-10-26 | 2005-12-20 | Encyclopaedia Britannica, Inc. | Multimedia search system |
| JP2975650B2 (ja) * | 1989-11-01 | 1999-11-10 | 富士通株式会社 | 手続管理装置 |
| US5181162A (en) * | 1989-12-06 | 1993-01-19 | Eastman Kodak Company | Document management and production system |
| US5212770A (en) * | 1989-12-06 | 1993-05-18 | Eastman Kodak Company | Data-handling and display system capable of supporting multiple application programs and output devices |
| US5185857A (en) * | 1989-12-13 | 1993-02-09 | Rozmanith A Martin | Method and apparatus for multi-optional processing, storing, transmitting and retrieving graphical and tabular data in a mobile transportation distributable and/or networkable communications and/or data processing system |
| US5179652A (en) * | 1989-12-13 | 1993-01-12 | Anthony I. Rozmanith | Method and apparatus for storing, transmitting and retrieving graphical and tabular data |
| WO1991009368A1 (en) * | 1989-12-13 | 1991-06-27 | Araco | Method and apparatus for storing, transmitting and retrieving graphical and tabular data |
| CA2027253C (en) * | 1989-12-29 | 1997-12-16 | Steven C. Bagley | Editing text in an image |
| CA2036859C (en) * | 1990-04-30 | 1994-04-05 | Eric M. Hesse | System and method for editing a structured document to modify emphasis characteristics |
| US5276793A (en) * | 1990-05-14 | 1994-01-04 | International Business Machines Corporation | System and method for editing a structured document to preserve the intended appearance of document elements |
| US7724249B1 (en) | 1990-07-23 | 2010-05-25 | Fujitsu Limited | Terminal equipment for merging imaging data and text data, and transmitting and receiving the same on-line |
| US5253341A (en) * | 1991-03-04 | 1993-10-12 | Rozmanith Anthony I | Remote query communication system |
| US5574843A (en) * | 1991-04-26 | 1996-11-12 | Escom Ag | Methods and apparatus providing for a presentation system for multimedia applications |
| US6484189B1 (en) | 1991-04-26 | 2002-11-19 | Amiga Development Llc | Methods and apparatus for a multimedia authoring and presentation system |
| US5317732A (en) * | 1991-04-26 | 1994-05-31 | Commodore Electronics Limited | System for relocating a multimedia presentation on a different platform by extracting a resource map in order to remap and relocate resources |
| US5396621A (en) * | 1991-05-10 | 1995-03-07 | Claris Corporation | Sorting a table by rows or columns in response to interactive prompting with a dialog box graphical icon |
| JP2993528B2 (ja) * | 1991-05-18 | 1999-12-20 | 富士通株式会社 | テキスト管理・復元方式 |
| US5287447A (en) * | 1991-06-28 | 1994-02-15 | International Business Machines Corporation | Method and system for providing container object attributes to a non-container object |
| US5263167A (en) * | 1991-11-22 | 1993-11-16 | International Business Machines Corporation | User interface for a relational database using a task object for defining search queries in response to a profile object which describes user proficiency |
| JPH05197734A (ja) * | 1992-01-17 | 1993-08-06 | Mitsui Eng & Shipbuild Co Ltd | データ処理システム |
| US5416895A (en) * | 1992-04-08 | 1995-05-16 | Borland International, Inc. | System and methods for improved spreadsheet interface with user-familiar objects |
| US6002865A (en) * | 1992-05-28 | 1999-12-14 | Thomsen; Erik C. | Location structure for a multi-dimensional spreadsheet |
| US5506983A (en) * | 1992-07-06 | 1996-04-09 | Microsoft Corporation | Method and system for transactioning of modifications to a tree structured file |
| ATE187268T1 (de) * | 1992-07-06 | 1999-12-15 | Microsoft Corp | Verfahren zur namensgebung und zur bindung von objekten |
| US5623612A (en) * | 1992-07-30 | 1997-04-22 | Sharp Kabushiki Kaisha | Data processing apparatus providing character string copying |
| EP0667012B1 (en) * | 1992-11-09 | 1997-02-05 | Microsoft Corporation | Method and system for connecting objects in a computer system |
| US5563997A (en) * | 1992-11-16 | 1996-10-08 | Canon Kabushiki Kaisha | Method and apparatus for sorting records into a list box in a graphic user interface |
| US5463769A (en) * | 1993-12-15 | 1995-10-31 | International Business Machines Corporation | Method and apparatus using dictionary of methods and states for high performance context switching between build and run modes in a computer application builder program |
| US5734761A (en) * | 1994-06-30 | 1998-03-31 | Xerox Corporation | Editing scanned document images using simple interpretations |
| US6243172B1 (en) * | 1995-01-18 | 2001-06-05 | Varis Corporation | Method and system for merging variable text and images into bitmaps defined by a page description language |
| US5729665A (en) * | 1995-01-18 | 1998-03-17 | Varis Corporation | Method of utilizing variable data fields with a page description language |
| US5862379A (en) * | 1995-03-07 | 1999-01-19 | International Business Machines Corporation | Visual programming tool for developing software applications |
| US5740455A (en) * | 1995-05-16 | 1998-04-14 | Apple Computer, Inc. | Enhanced compound document processing architectures and methods therefor |
| US5860073A (en) * | 1995-07-17 | 1999-01-12 | Microsoft Corporation | Style sheets for publishing system |
| US5831607A (en) * | 1996-01-25 | 1998-11-03 | International Business Machines Corporation | Method for adapting multiple screens of information for access and use on a single graphical panel in a computer system |
| US5805170A (en) * | 1996-05-07 | 1998-09-08 | Microsoft Corporation | Systems and methods for wrapping a closed polygon around an object |
| US6266709B1 (en) | 1996-07-01 | 2001-07-24 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server failure reporting process |
| US6424991B1 (en) | 1996-07-01 | 2002-07-23 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server communication framework |
| US5987245A (en) * | 1996-07-01 | 1999-11-16 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture (#12) for a client-server state machine framework |
| US6434598B1 (en) | 1996-07-01 | 2002-08-13 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server graphical user interface (#9) framework in an interprise computing framework system |
| US5848246A (en) * | 1996-07-01 | 1998-12-08 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server session manager in an interprise computing framework system |
| US6272555B1 (en) | 1996-07-01 | 2001-08-07 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server-centric interprise computing framework system |
| US6304893B1 (en) | 1996-07-01 | 2001-10-16 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server event driven message framework in an interprise computing framework system |
| US6038590A (en) * | 1996-07-01 | 2000-03-14 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server state machine in an interprise computing framework system |
| US5999972A (en) * | 1996-07-01 | 1999-12-07 | Sun Microsystems, Inc. | System, method and article of manufacture for a distributed computer system framework |
| US6460058B2 (en) | 1996-12-06 | 2002-10-01 | Microsoft Corporation | Object-oriented framework for hyperlink navigation |
| US6401099B1 (en) | 1996-12-06 | 2002-06-04 | Microsoft Corporation | Asynchronous binding of named objects |
| US6240430B1 (en) | 1996-12-13 | 2001-05-29 | International Business Machines Corporation | Method of multiple text selection and manipulation |
| US6144974A (en) * | 1996-12-13 | 2000-11-07 | Adobe Systems Incorporated | Automated layout of content in a page framework |
| US6487568B1 (en) * | 1997-07-18 | 2002-11-26 | Tesseron, Ltd. | Method and system for flowing data to an arbitrary path defined by a page description language |
| US7302438B1 (en) | 1997-07-18 | 2007-11-27 | Tesseron Ltd. | Method and system for flowing data to an arbitrary path defined by a page description language |
| GB9726654D0 (en) * | 1997-12-17 | 1998-02-18 | British Telecomm | Data input and retrieval apparatus |
| US7209928B2 (en) * | 1998-07-29 | 2007-04-24 | Qwest Communications International Inc. | Information organization and navigation by user-generated associative overlays |
| US6731309B1 (en) | 1998-08-28 | 2004-05-04 | Corel Corporation | Real time preview |
| US7315979B1 (en) | 1998-11-09 | 2008-01-01 | Tesseron Ltd. | Method and system for dynamic flowing data to an arbitrary path defined by a page description language |
| US7028258B1 (en) * | 1999-10-01 | 2006-04-11 | Microsoft Corporation | Dynamic pagination of text and resizing of image to fit in a document |
| EP1325427A2 (en) * | 2000-06-21 | 2003-07-09 | Microsoft Corporation | System and method for integrating spreadsheets and word processing tables |
| US7624356B1 (en) | 2000-06-21 | 2009-11-24 | Microsoft Corporation | Task-sensitive methods and systems for displaying command sets |
| US7191394B1 (en) | 2000-06-21 | 2007-03-13 | Microsoft Corporation | Authoring arbitrary XML documents using DHTML and XSLT |
| US7155667B1 (en) | 2000-06-21 | 2006-12-26 | Microsoft Corporation | User interface for integrated spreadsheets and word processing tables |
| US7346848B1 (en) | 2000-06-21 | 2008-03-18 | Microsoft Corporation | Single window navigation methods and systems |
| US6948135B1 (en) | 2000-06-21 | 2005-09-20 | Microsoft Corporation | Method and systems of providing information to computer users |
| US6883168B1 (en) | 2000-06-21 | 2005-04-19 | Microsoft Corporation | Methods, systems, architectures and data structures for delivering software via a network |
| US6874143B1 (en) * | 2000-06-21 | 2005-03-29 | Microsoft Corporation | Architectures for and methods of providing network-based software extensions |
| US7000230B1 (en) | 2000-06-21 | 2006-02-14 | Microsoft Corporation | Network-based software extensions |
| US7117435B1 (en) | 2000-06-21 | 2006-10-03 | Microsoft Corporation | Spreadsheet fields in text |
| JP4599693B2 (ja) * | 2000-09-12 | 2010-12-15 | コニカミノルタビジネステクノロジーズ株式会社 | 画像処理装置および画像処理方法並びにコンピュータ読み取り可能な記録媒体 |
| JP4224250B2 (ja) * | 2002-04-17 | 2009-02-12 | パイオニア株式会社 | 音声認識装置、音声認識方法および音声認識プログラム |
| US7423659B1 (en) * | 2002-06-27 | 2008-09-09 | Microsoft Corporation | Method and system for utilizing void regions in computer-generated areas of text |
| US7751623B1 (en) * | 2002-06-28 | 2010-07-06 | Microsoft Corporation | Writing guide for a free-form document editor |
| US7415672B1 (en) | 2003-03-24 | 2008-08-19 | Microsoft Corporation | System and method for designing electronic forms |
| US7275216B2 (en) | 2003-03-24 | 2007-09-25 | Microsoft Corporation | System and method for designing electronic forms and hierarchical schemas |
| US7370066B1 (en) | 2003-03-24 | 2008-05-06 | Microsoft Corporation | System and method for offline editing of data files |
| US7913159B2 (en) | 2003-03-28 | 2011-03-22 | Microsoft Corporation | System and method for real-time validation of structured data files |
| US7296017B2 (en) | 2003-03-28 | 2007-11-13 | Microsoft Corporation | Validation of XML data files |
| US7516145B2 (en) | 2003-03-31 | 2009-04-07 | Microsoft Corporation | System and method for incrementally transforming and rendering hierarchical data files |
| US7168035B1 (en) | 2003-06-11 | 2007-01-23 | Microsoft Corporation | Building a view on markup language data through a set of components |
| US7451392B1 (en) | 2003-06-30 | 2008-11-11 | Microsoft Corporation | Rendering an HTML electronic form by applying XSLT to XML using a solution |
| US7197515B2 (en) * | 2003-06-30 | 2007-03-27 | Microsoft Corporation | Declarative solution definition |
| US7406660B1 (en) | 2003-08-01 | 2008-07-29 | Microsoft Corporation | Mapping between structured data and a visual surface |
| US7581177B1 (en) | 2003-08-01 | 2009-08-25 | Microsoft Corporation | Conversion of structured documents |
| US7334187B1 (en) | 2003-08-06 | 2008-02-19 | Microsoft Corporation | Electronic form aggregation |
| US8819072B1 (en) | 2004-02-02 | 2014-08-26 | Microsoft Corporation | Promoting data from structured data files |
| US7430711B2 (en) * | 2004-02-17 | 2008-09-30 | Microsoft Corporation | Systems and methods for editing XML documents |
| US7318063B2 (en) | 2004-02-19 | 2008-01-08 | Microsoft Corporation | Managing XML documents containing hierarchical database information |
| US7496837B1 (en) | 2004-04-29 | 2009-02-24 | Microsoft Corporation | Structural editing with schema awareness |
| US7568101B1 (en) | 2004-05-13 | 2009-07-28 | Microsoft Corporation | Digital signatures with an embedded view |
| US7281018B1 (en) | 2004-05-26 | 2007-10-09 | Microsoft Corporation | Form template data source change |
| US7774620B1 (en) | 2004-05-27 | 2010-08-10 | Microsoft Corporation | Executing applications at appropriate trust levels |
| US7692636B2 (en) | 2004-09-30 | 2010-04-06 | Microsoft Corporation | Systems and methods for handwriting to a screen |
| US7516399B2 (en) | 2004-09-30 | 2009-04-07 | Microsoft Corporation | Structured-document path-language expression methods and systems |
| US8487879B2 (en) | 2004-10-29 | 2013-07-16 | Microsoft Corporation | Systems and methods for interacting with a computer through handwriting to a screen |
| US7712022B2 (en) | 2004-11-15 | 2010-05-04 | Microsoft Corporation | Mutually exclusive options in electronic forms |
| US7584417B2 (en) | 2004-11-15 | 2009-09-01 | Microsoft Corporation | Role-dependent action for an electronic form |
| US7509353B2 (en) | 2004-11-16 | 2009-03-24 | Microsoft Corporation | Methods and systems for exchanging and rendering forms |
| US7721190B2 (en) | 2004-11-16 | 2010-05-18 | Microsoft Corporation | Methods and systems for server side form processing |
| US7904801B2 (en) | 2004-12-15 | 2011-03-08 | Microsoft Corporation | Recursive sections in electronic forms |
| US7437376B2 (en) | 2004-12-20 | 2008-10-14 | Microsoft Corporation | Scalable object model |
| US7937651B2 (en) | 2005-01-14 | 2011-05-03 | Microsoft Corporation | Structural editing operations for network forms |
| US7725834B2 (en) | 2005-03-04 | 2010-05-25 | Microsoft Corporation | Designer-created aspect for an electronic form template |
| US8010515B2 (en) | 2005-04-15 | 2011-08-30 | Microsoft Corporation | Query to an electronic form |
| US7543228B2 (en) | 2005-06-27 | 2009-06-02 | Microsoft Corporation | Template for rendering an electronic form |
| US8200975B2 (en) | 2005-06-29 | 2012-06-12 | Microsoft Corporation | Digital signatures for network forms |
| US7613996B2 (en) | 2005-08-15 | 2009-11-03 | Microsoft Corporation | Enabling selection of an inferred schema part |
| US8001459B2 (en) | 2005-12-05 | 2011-08-16 | Microsoft Corporation | Enabling electronic documents for limited-capability computing devices |
| US7779343B2 (en) | 2006-01-30 | 2010-08-17 | Microsoft Corporation | Opening network-enabled electronic documents |
| US9035948B2 (en) * | 2007-08-02 | 2015-05-19 | Adobe Systems Incorporated | Methods and systems for drawing graphics into a data chart |
| US20090083616A1 (en) * | 2007-09-25 | 2009-03-26 | Microsoft Corporation | Ubiquitous electronic forms |
| US20110289396A1 (en) * | 2010-05-19 | 2011-11-24 | Kong Ping Oh | Spreadsheet-Based Graphical User Interface for Dynamic System Modeling and Simulation |
| BG66703B1 (bg) | 2012-01-30 | 2018-07-16 | "Елидо" Ад | Метод за визуализация, групиране, сортиране и управление на обекти чрез реализация на движение, представящо графично степента на съответствие на обектите към дефинирани критерии на дисплея на устройство |
| US20140245221A1 (en) * | 2013-02-25 | 2014-08-28 | Apple Inc. | Intelligent Scrolling In Digital Publications |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3648271A (en) * | 1970-03-02 | 1972-03-07 | Ibm | Visual editing system incorporating selectable letter spacing display and associated scale display |
| US4393463A (en) * | 1980-11-20 | 1983-07-12 | International Business Machines Corporation | Insertion of character set change codes in an altered text stream |
| US4402058A (en) * | 1980-11-20 | 1983-08-30 | International Business Machines Corporation | Keyboard mismatch correction |
| DE3174925D1 (en) * | 1981-04-08 | 1986-08-21 | Ibm | Text processing apparatus with two-stage formatting of text |
| US4587631A (en) * | 1981-06-16 | 1986-05-06 | International Business Machines Corp. | Automatic text adjustment |
| JPS58119076A (ja) * | 1982-01-08 | 1983-07-15 | Toshiba Corp | 画像編集装置 |
| EP0096079B1 (de) * | 1982-05-24 | 1986-08-20 | Ibm Deutschland Gmbh | Verfahren zur Aufbereitung von Punktrasterdaten für Zeichen- und/oder Bilddarstellungen |
| JPS5994789A (ja) * | 1982-11-24 | 1984-05-31 | 株式会社東芝 | 文書編集装置 |
| US4580241A (en) * | 1983-02-18 | 1986-04-01 | Houghton Mifflin Company | Graphic word spelling correction using automated dictionary comparisons with phonetic skeletons |
| US4575813A (en) * | 1983-02-23 | 1986-03-11 | International Business Machines Corporation | Automatically balancing and vertically justifying a plurality of text/graphics-columns |
| US4539653A (en) * | 1983-04-11 | 1985-09-03 | International Business Machines Corporation | Formatting text/graphics using plural independent formatting mechanisms |
| US4591999A (en) * | 1983-09-06 | 1986-05-27 | Gerber Scientific Products, Inc. | Method and apparatus for automatically spacing characters during composition |
-
1984
- 1984-08-30 US US06/645,620 patent/US4739477A/en not_active Expired - Lifetime
-
1985
- 1985-07-17 JP JP60156205A patent/JPS6162170A/ja active Granted
- 1985-08-06 DE DE8585109844T patent/DE3586273T2/de not_active Expired - Fee Related
- 1985-08-06 EP EP85109844A patent/EP0173123B1/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| US4739477A (en) | 1988-04-19 |
| JPS6162170A (ja) | 1986-03-31 |
| EP0173123A3 (en) | 1986-06-25 |
| EP0173123A2 (en) | 1986-03-05 |
| EP0173123B1 (en) | 1992-07-01 |
| DE3586273T2 (de) | 1993-02-11 |
| DE3586273D1 (de) | 1992-08-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0352098B2 (ja) | ||
| EP0173124B1 (en) | Multiple data editor using flow attributes for text objects | |
| EP0173122B1 (en) | Integrated multiple data editor | |
| US4723210A (en) | Superblock structure in a multiple in a data editor | |
| Meyrowitz et al. | Interactive editing systems: Part I | |
| US5905498A (en) | System and method for managing semantic network display | |
| US5615325A (en) | Graphical viewer for heirarchical datasets | |
| US6177933B1 (en) | Providing visual continuity when displaying related information | |
| KR920006775B1 (ko) | 문서 처리 시스템 및 요소 마크 확장 방법 | |
| US5982365A (en) | System and methods for interactively generating and testing help systems | |
| JPH0786877B2 (ja) | 混合オブジエクト文書の編集方法 | |
| US7614009B2 (en) | Method for controlling filename display for image and video file types | |
| WO1994014122A1 (en) | System for display of structured documents | |
| JPH07239850A (ja) | 構造化文書作成支援システム | |
| JPH0689324A (ja) | フォーム確立ツールキットおよびフォーム確立方法 | |
| JP4393444B2 (ja) | 情報処理方法およびその装置 | |
| MacDonald | Pro. NET 2.0 Windows Forms and Custom Controls in C# | |
| JP3802743B2 (ja) | ツリー構造作成描画装置として動作するようにプログラムされたコンピュータ、コンピュータを用いてツリー構造を作成し描画するための方法、およびコンピュータをツリー構造作成描画装置として動作させるためのプログラムを記録したコンピュータ読取可能な記録媒体 | |
| JP2958927B2 (ja) | 文書処理装置 | |
| JP2881891B2 (ja) | 階層形式をもつ電子化マニユアルの処理装置 | |
| JPH0962478A (ja) | コンピュータ・システム | |
| JP3988900B2 (ja) | 文書処理装置およびそのプログラム記憶媒体 | |
| JPH0317741A (ja) | プログラム作成支援装置 | |
| JPH02151972A (ja) | 文書検索方式 | |
| JPH06242915A (ja) | 表形式データの処理用パーソナルコンピュータ |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EXPY | Cancellation because of completion of term |