JPS63184157A - 多次元又は多方向テキスト・エディタ− - Google Patents

多次元又は多方向テキスト・エディタ−

Info

Publication number
JPS63184157A
JPS63184157A JP62197984A JP19798487A JPS63184157A JP S63184157 A JPS63184157 A JP S63184157A JP 62197984 A JP62197984 A JP 62197984A JP 19798487 A JP19798487 A JP 19798487A JP S63184157 A JPS63184157 A JP S63184157A
Authority
JP
Japan
Prior art keywords
character
text
unit
line
code
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.)
Pending
Application number
JP62197984A
Other languages
English (en)
Inventor
ピーター・ジェイ・ホム
ピーター・エム・マーカス
ウィリアム・アール・モリソン
エスター・メアリー・サンチェツ
レナ・ジェーン・バーロ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wang Laboratories Inc
Original Assignee
Wang Laboratories Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wang Laboratories Inc filed Critical Wang Laboratories Inc
Publication of JPS63184157A publication Critical patent/JPS63184157A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/111Mathematical or scientific formatting; Subscripts; Superscripts

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Document Processing Apparatus (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
産業上の利用分野 本発明は、テキスト編集装置に関する。より詳細ては、
数学的、物理的及び化学的な分野において、用いられる
ものを含む科学的及び技術的なキャラクタ、及びシンボ
ルからなるテキストや、非ヨーロッパ系言語のテキスト
のような、多次元又は多方向テキストによるワード処理
に類似した処理を可能とするテキストm集装置に関する
。 従来技術 情報の通信をし、記憶をする多くの通常的な手段は、可
視的な表示、例えば印刷されたテキスト及びイメージ(
image)を介して、また最近ではコンピュータ・シ
ステムに接続されたCRTスクリーンのような、等測的
な電子表示を介して機能する。近年では、テキスト及び
グラフィック・イメージを生成し、編集し、印刷し、通
信し、記憶することができる設備は、コンビエータ・シ
ステム上の種々のワード処理及びグラフィック・エディ
ター・プログラム処理によって非常に便利となった。ワ
ード処理システム及びグラフインク処理システムは、周
知のものとなり、特に、システム、構成、操作及びコス
トについての合理的なユーザーの要求が容易に満たされ
得る範囲で一般に容易に入手可能なものとなった。 しかし、このようなシステ′ムにおいて繰り返して生じ
る問題は、各形式のシステム、即ちワード処理又はグラ
フィック処理システムが、狭い範囲の情報形式及び表示
内でしか処理を行なえないということである。例えば、
ワード処理システムは、通常、英語のようなヨーロッパ
の言語において一般に用いられる標準的なテキストの形
式、即ちページ上の標準的な行及び欄に配置された均一
、標準的なサイズ及び形状の標準英数文字のみを処理し
て、行及び段落を形成することができる。しかし、ワー
ド処理プログラムは、このような制約内において、総体
的に極めて効率がよく、使用も容易である。これに対し
て、グラフィック・プログラムハ、種々の形状及びサイ
ズのシンボル及び図形や、ページ上でのこれらのoT視
的な外形及び位置を処理している。ページ上の形状、こ
れらのサイズ及び位置をユーザが定義でき、このような
形状を配置し、移動し、かつ変更することが可能な手段
を、そのようなプログラムは提供するが、ユーザが学習
し、使用するのが比較的困難である。 標準的なテキストを作成し、かつ編集するために最適な
ワード処理のデータ構造及びそのデータ構造の編集装置
は、グラフィック処理のシンボル及び図形の生成、編集
、及び表示に最適なグラフインク データ構造及びその
データ構造の編集装置には適合しないので、ワード処理
システムとグラフィック処理システムとの間の分離が生
じる。 以上で説明したように、ワード処理システムは、ページ
上で可能な固定位装置のアレー内に配列された標準的、
かつ均一な要素の単純なストリングを処理するように設
計されている。−万、グラフィック・プロセッサはペー
ジ上の如何なる位置にも配置可能な可変のライン及び形
状を処理している。 しかし、厳密なワード処理でも厳密なグラフィックス処
理でもなく、かつ以上で説明したいずれかの形式のシス
テムによっても未だ充足されない情報処理及び表示の領
域がある。通常、このような情報処理及び表示の領域は
、多重次元、多重方向、又はその両方のテキスト形式か
らなるものとして定義できる。このようなテキストの主
要な、通常よく見られる例としては、従来から認められ
ている形式、例えば数学や、物理の分野で用いられてい
る式、表現、又は図における科学的なテキスト及びシン
ボルがあり、これらの分野で用いられているシンボル及
び用語を用いている。以上で説明したように、他の例に
は、テキスト、即ちページ上のキャラクタ及びシンボル
の位置付は及び互いの論理的及び物理的な関係が、例え
ば英語、ドイツ梧、フランス語又はイタリー語等の一次
元的で単一方向的なきまりに従わない言語が含まれる。 このような外国語のテキストの例には、インドで用いら
れているようなインド語族の語派のテキストや、スリラ
ン力、ビルマ、タイのような国で用いられているテキス
ト、並びに中国語、日本語及びアラビヤ語の種々の語派
のような言語のテキストなどが含まれている。 このような性質のテキスト・ページ、例えばテキストが
相互に対して意味のある方法で配列されている1以上の
キャラクタ、又はシンボル要素の論理的なグループから
なる科学的なテキストのページの研究から明らかである
。また、キャラクタ及びシンボルが種々の形状及びサイ
ズのものであり、他方に対してこれらの位置も可変であ
ることも明らかである。更に、キャラクタ及びシンボル
・グループにより占有された幾何学的な領域と、その領
域のページ上における位置とが、キャラクタ及びシンボ
ルの構造と、そのページ上の他のグループのキャラクタ
又はシンボル、4?テペ一ジ上テ先行するグループ、あ
るいは同一ライン上の次のグループとにより決定される
ことも明らかである。 発明が解決すべき問題点 従来技術において、通常このようなテキストのためのテ
キスト編集装置は、先忙説明した2つの形式、即ちワー
ド処理形式及びグラフィック処理形式の5’hの一つに
属していた。従来技術のテキスト編集装置のワード処理
形式において、テキスト編集装置は、簡単なワード処理
を最も頻繁に採用すると共に、標準的なキャラクタ・セ
ット及びフォーマット化したコマンドに対するキャラク
タ及びシンボルをいくらか付加するものであった。 これによって得られる表現力は限定されたものなので、
この形式のワード処理テキスト編集装置は満足できるも
のではなかった。即ち、キャラクタ及びシンボルは、強
制的に標準的なサイズ及びプロボーシランにされ、ワー
ド処理において通常設けられた位置、例えば簡単なスー
パースクリプト(上付き文字)及びサブスクリプト(下
付き文字)のみを占有することができる。あるワード処
理形式テキスト編集装置は広い範囲のキャラクタ、シン
ボル及び表現を得ようとしていたが、使用が著しく困難
となり、作成処理及び編集処理中にユーザーに最終的な
ページの体裁を表示することが通常できない。即ち、テ
キスト作成及び編集中のテキストに制御コードを組み込
むことにより広範な表現が達成されるが、ページの真の
体裁を表示するためには、ユ−ザーが実際にページを印
刷しなければならない。 作成し、かつ表示するキャラクタ、シンボル及び表現の
範囲の点で、ワード処理システムよりグラフィック処理
システムのほうが非常に柔軟性があるが、主としてその
大きな柔軟性故に、使用がずっと困難である。実際にお
いて、ユーザーは個々のキャラクタ、シンボル又はライ
ンを引く必要があるか、又は少なくとも表現に現れるよ
うに各形式のテンプレートを形成する必要があり、また
ページ上に個々に各キャラクタ、シンボル又はラインを
配置する必要力する。テキスト編集の点からは、この解
決方法はキャラクタ及びシンボルのテンプレートと、紙
切れと、ペンとを備えるものより少しも良くなっていな
い。 次に説明するように、本発明のテキスト編集装置は、慣
習的に認められている形式、例えば数学的、化学的、又
は物理的な分野で用いられている式、表現、又は図にお
いて多次元、多方向、又はその両方のテキスト及び表現
を生成し、かつ編集するのに適しているグラフィック形
式の可視的な表示と共に、ワード処理形式のドキュメン
ト作成及び編集処理を機能的に備え、これらの分野にお
いて通常認められ、かつ使用されているキャラクタ、シ
ンボル及び用語を用いることにより、これら及び従来技
術忙おける他の問題を解決するものである。 従って、本発明の目的は、多次元、多方向、又はその両
方のテキストを用い、改善されたテキスト・エディター
を提供することにある。 更に、本発明の目的は、ワード処理形式のドキュメント
作成及び編集を機能的に得る多次元又は多方向について
改善したテキスト・エディターを得ることにある。 本発明の他の目的は、慣習的に認められている形式にあ
るテキスト及び表現の生成及び編集に適した可視的な表
示を得る多次元又は多方向テキストのための改善された
テキスト・エディターを提供することにある。 問題点を解決する手段 本発明は、テキストのキャラクタ又はシンボルを表わす
キャラクタ・コードと、テキストの特性を定めるオペレ
ータ・コードとを含むコード・ストリングとし
【記憶さ
れているテキストについて編集処理を実行する方法及び
装置を提供するものである。 これらのコードは符号化されたテキスト・ユニットとし
てグループ分けされ、当該システムはテキスト・ストリ
ングを読み込んでコードを符号化ユニットに構文解析す
る構文解析手段を備え、かつ各符号化ユニットは1以上
のキャラクタのグループと、ユニットとしてテキストに
配置されている関連のオペレータとを定める1グループ
のコードからなる。更に、このシステムは各コード・ユ
ニットについて一つのユニット構造を発生する手段を備
え、各ユニット構造は対応する符号化ユニットからなる
テキスト・ストリングのコード・グループにユニット構
造を関連させる情報を含む構造識別フィールドと、ユニ
ット構造に関連する他のユニット構造を識別する情報を
含む構造ポインタ・フィールドと、を備えている。 オペレータ・コードは、テキストのユニットとテキスト
のキャラクタ及びシンボルの属性を定める環境オペレー
タとの間の構造的な関係を定める構造オペレータを備え
ている、また、構造オペレータは、テキストのユニット
間の空間的な関係を定める二ニット・オペレータを備え
ると共に、構造ユニット・オペレータは複数のオペレー
タにより定義された対応する収集されユニットを開始す
る開始オペレータと、開始オペレータ忙より開始された
ユニットを終結させる対応の終結オペレータとを備えて
いる。更に、構造オペレータはキャラクタとシンボルと
の間の関係を定める関連オペレータを備え、関連オペレ
ータはキャラクタ又はシンボルを他のキャラクタ又はシ
ンボルと関連させるように動作し、当該の他のキャラク
タ又はシンボルを定義する一部となる。 最後K、環境オペレータは、対応する属性と、連続的に
存在する鴫性を修飾するように動作する属性修飾オペレ
ータと、をオン又はオフするように動作す6[t、スイ
ッチング・オペレータを備えている。 このようなテキスト構造について編集処理を実行する本
発明の方法及び装置KFi、表示可能なカーソルと、カ
ーソルの位置と関連されたコード・ストリングの全ての
コードと、を識別するカーソル手段がある。 カーソル手段は、表示可能なカーソルと関連されるぺ1
表示可能なキャラクタ・コードの位置を記憶するキャラ
クタ位置手段と、表示可能なキャラクタ・コードに関連
する第1のコードの位置を記憶するキャラクタ開始手段
と、 表示可能なキャラクタ・コードに関連する最終コードの
位置を記憶するキャラクタ終結手段とを有するカーソル
位置手段を備えている。 カーソル横行手段は、カーソル・キーストローク・コマ
ンドに応答し、テキスト・ストリングを読み出してカー
ソルの移動方向に次に表示可能なキャラクタ・コードと
、次に表示可能なキャラクタ・コードに関連する第1の
コードと、次に表示可能なキャラクタ・コードに関連す
る最終コードと、を配置させ、かつ次圧カーソル位置を
対応するカーソル位置に書き込む。 本発明において、ユニット構造の構造ポインタフィール
ドは ユニット構造のツリーを定めると共に、ユニット構造の
構造ポインタ・フィールドのシーケンスは次のユニット
構造への分岐シーケンスを定め、かつ、カーソル手段は
次のユニットを決定する際に現在ユニットにおける構造
ポインタ・フィールドのシーケンスに応答する。更に、
カーソル手段は、カーソル・コマンド・キーストローク
と、現在ユニットにおける構造ポインタ・フィールドの
シーケンスと、に応答して、次のユニットを有しない現
在ユニットの終端を決定し、かつ前のユニット構造の構
造ポインタ・フィールドを読み出すことにより次のユニ
7)構造へ分岐するユニット構造を配置させる、 本発明は、更にテキスト・ストIJングの選択の際に、
削除処理を実行する方法及び装置を提供することを特徴
とする。 削除処理を実行する手段は、削除すべきテキストのセク
ションを開始するキャラクタ・コードに関連する第1の
オペレータ・コードを識別する開始区切手段と、削除す
べきテキストのセクションを終結させるキャラクタ・コ
ード及び終結するキャラクタ・コードに関連する終結オ
ペレータ・コードを識別する終結区切手段と、を含む区
切手段を備えている。オペレータ連結手段は、限定され
たセクションの全てのキャラクタ・コードを削除コード
に置換するテキスト・ストリングを読み込み、 テキスト・ストリングのオペレータ・コードを読み込ん
で限定されたテキストψストリングのセクションに関連
する全てのオペレータ・コードを識別し、限定され九領
頃に関連する全てのオペレータを連結させ、かつ、連結
させて再配列したオペレータ・コードのシーケンスを発
生するために備えられる。 次いで、エディター手段は、連結して再配列されたオペ
レータ・コードのシーケンスを限定されたテキスト・ス
トリングのセクションの開始に書き込み、かつ連結して
再配列したオペレータ・コードのシーケンスの終端に隣
接すべく限定されたセクシ1ンに後続するテキスト・ス
トリングの部分を前方に移動させる。 更に、本発明は、テキスト・ストリングのセクションを
コピーし、選択したテキスト・ストリングの他の位置に
挿入するコピー処理を実行する方法及び装置も提供する
ことを質徴とする。このコピ一手段は、コピーされるべ
きテキスト・セクションを開始するキャラクタ・コード
及び開始キャラクタ・コード忙関連する第1のオペレー
タ・コードな識別する開始手段と、コピーされるべきテ
キスト・セクションを終結させるキャラクタ・コード及
び終結キャラクタ・コードに関連する最終オペレータ・
コードを識別する終端区切手段と、を含む区切手段を備
えている。オペレータ連結手段は、限定されたテキスト
・ストリングのセクションのオペレータ・コードを読み
込んで限定されたテキスト・ストリングのセクションに
関連する全てのオペレータ・コードを識別し、限定され
たテキスト・ストリングのセクション挿入する位置に先
行するテキスト・ストリングを読み込んで挿入点でテキ
スト・ストリングに関連する全てのオペレータ連結手段
を識別し、限定されたテキスト・ストリンクツセクショ
ンに関連する全てのオペレータを挿入点でテキスト・ス
) IJングに関連する全てのオペレータに連結させ、
かつ、連結して再配列したシーケンスのオペレータ・コ
ードを発生するため忙備えられる。次いで、エディター
手段は、連結して再配列したオペレータ・コードのシー
ケンスと、限定されたテキスト・ストリングの限定セク
ジョンノコピーと、を挿入点でテキスト・ストリングに
書き込む。 更に1本発明は、このシステムは、逐次的なデータ構造
について編集処理を実行する方法及び装置を提供するこ
とを他の特徴とする。 この方法及び装置は、編集装置にアクセス可能なデータ
構造のセクションの開始を示す編集可能なデータの開始
手段を含みデータ編集処理のためのデータ構造セクシ冒
ンを選択する手段と、編集処理を実行するデータ構造に
おける位置を識別するカーソル手段と、バッファ・メモ
リ手段と、を備えている。 カーソル手段はコマンド入力に応答して選択セクション
の終結すべきデータ構造におけるデータ位置の終端を識
別し、データの開始手段はコマンド入力に応答して選択
したセクションの終端に先行するデータ構造におけるデ
ータ位置の開始を示し、エディター手段はコマンド入力
に応答してバッフγ・メモリにデータ位置の終端に後続
するデータ構造部分を移動させることにより、 データの開始とデータ位置の終端との間のテキスト・セ
クションのみをエディター手段にアクセス可能にさせる
。 更に、カーソル手段は、コマンドの入力に応答して編集
処理を実行するために選択したデータ構造のセクション
の位置を識別し、かつ編集装置は更にコマンド入力及び
カーソル手段に応答してカーソル手段により識別された
データ処理位置でデータ編集処理を実行する。 最後に、エディター手段はデータ編集処理の終結に応答
してバッファ・メモリ手段からメモリ手段に存在するデ
ータ構造部分の終端に隣接する位置へデータ構造の一部
を移動させる。 本発明の他の特徴、目的及び効果は、この発明の下記一
実施例の説明を読み、図を調べれば、当該の技術分野に
おいて通常に慣熟する菰当業者とより理解されるであろ
う。 −】ト施」1Ω」
【咽− 以下、本発明の現在の好ましい実施例を組込んだコンビ
   システムの構造及び動作について説明する。以下
の説明では、先ず本発明を説明するために必要なあふ種
の用語及び概念を説明する。当該システムの総合的な構
造及び動作をブロック図のレベルで説明し1次に本発明
の動作の若干の基本的な特徴、及び原理の詳細な説明を
する。 最後に、選択した付記には当該装置のある特徴及びオペ
レータの説明が含まれている。 説明の明確さを高めるために、以下の説明全通してこの
発明を説明するのに必要な一定の参照番号及び図面の規
約を用いる。 第1に、システムの関連部分間の相互接続を共通の名称
か、又は番号により、又は図示の相互接続表示により示
すものとする。 第2に、図に現れるシステムの要素を指す参照番号は、
対応するこれらの要素が最初に現れる時にその要素に付
けられる。 次に、特定の要素に付けられた参照番号は、その要素が
図を参照する場合であろうと、又は図に示されていよう
とも残シの説明又は図を通して用いられる。 最後に、全ての参照番号は3又は4桁からなる。 2つの最下位(最右端)の複数の桁は、特定の図に現れ
る特定の要素を識別し、最上位(最左端)の1又は複数
の桁はその要素が最初に現れる図を指す。例えば、特定
のシステム要素は第1図に第12番目の要素として現れ
る。次に、この要素は参照番号112により引用され、
残りの説明を通してこのように引用される。同様に、第
12図の第1の要素はこの説明を介して参照番号120
2によって引用される。 以下では、ここで説明する一定の用語及び概念の定義と
、当該装置の動作の説明とを含む概要しはルでこのテキ
スト・エディターを説明する。次に、装置及びテキスト
−エディターのある要素と、処理とを当該の技術分野に
おける当業者のためにこのテキスト・エディターの説明
に従って更に詳細に説明する。 A、l  用語及び概念 以北で説明したように、このテキスト・エディターの目
的は、多重次元か、若しくは多方向、又はそのどちらで
もよいテキストを含むドキュメントのページを作成する
ことである。初歩的で、かつ通常に見られるこのような
テキストの例は、従来から認められている形式、例えば
数学的、物理的な分野で用いられている式、表現又は図
中の科学的なテキスト及びシンボルであり、これらの分
野で用いられているシンボル及び用at用いる。 他の例には、上で説明した力ζテキスト、即ちは一ジ上
の、キャラクタ及びシンボルの位置付けと、互いの論理
的及び物理的な関係と、が、例えば英語、ドイツ語、フ
ランス語又はイタリー語の、−次元的で、かつ単一方向
的なきまDK従わない言語が含まれる。このような外国
語のテキスト例には、インドで用いられているよ5なイ
ンド語族の飴派、スリラン力、ビルマ、タイ及び中国語
のような言語、日本語、アラビヤ語の禎々の語派のテキ
ストが含まれる。通常の読者がよく知っているので、こ
のテキスト−エディターに関する以下の説明及び検討は
、科学的なテキストを例として用いる。しかし、このテ
キスト・エディターは1以上で説明した言語、及び他の
定義可能なキャラクタ・セット及びシンボル・セットを
含む任意のフォント若しくはキャラクタφセット及びシ
ンボルeセットを使用してもよいことを理解すべきであ
る。 これらのテキストの用語において、ト1キエメントは1
以上の4−ジからなし、その各ページは1ライン以上の
テキストからなり、そのラインは関連するシンボル又は
キャラクタのほぼ線形に方向付けられたプレイ(配列)
であると見做すことができる。ここに示すテキスト−エ
ディターの実施例では、ト1キエメントが1ページであ
るものとする。 しかし、他の実施例では、従来のワード9処理技術にお
いてよ(知られた方法で1ペ一ジ以上からなるト9キエ
メントに対応させることができる。 このテキスト・エディターは、現在のコンピュータベー
ス・ワード処理システムに対して一般的に同様に使用さ
れるように意図されている。即ち、テキストが入力され
、編集されるに従い、コンビエータ・メモリに記憶され
、このような処理中にユーザーに対してはCRTのよう
な表示装置を介して可視的に表示される。更にこの理由
のために。 1ページは1以上の「スクリーン」からなり、そのスク
リーンは現在処理中であって、ユーザーに表示されてい
るページの一部であると見做される。 以下の説明の都合から、テキストに現れ得るキャラクタ
は3種類とする。第1に、「キャラクタ」は!!!的な
印刷ドキュメント、即ち印刷ページ上に現れるべきシン
ボル又は文字であると定義される。「キャラクタ」につ
いてのこのような概念には「ヌル(nulm) J  
キャラクタ、即ち1キヤラクタを占有するが、実際に印
11又は表示されるシンボル又はキャラクタを何ら含ま
ないスペースが含まれることに注意すべきである。 「制御キャラクタ」は、例えばベー:)を形成する際に
用いられるキャラクタであり、ドキュメントの作成及び
編集中にユーザーに現れることがあるが、最終的な印刷
ページ上に現れることは通常ない。制御キャラクタの例
にはタブ及び疑似リターンが含まれる。 最後に、「区別的発音符号キャラクタ」即ちマークは他
のキャラクタに付加、又は関連されたキャラクタ又はシ
ンボルであり、これが現れるキャラクタの意味全変更又
は定義するときに用いられる。区別的発音符号キャラク
タ即ちマークは与えられた1又は複数のキャラクタの上
下に現れることがある。例えば、言語の場合にマーク、
例えハI、又はウムラウトが文字の発音を指示、又は変
吏するために用いられる。科学においては、区別的発音
符号キャラクタは関連するキャラクタの性’J[を変化
させ、又はその特徴を定める。例えば、集合論において
、上にバーを付けたキャラクタはそのキャラクタによっ
て表わされる集合の補集合を表わし、一方ベクトル代数
学において、上にバーを付けたキャラクタはベクトルを
表わしている。他の例として、物理学又は数学において
、上に一つのドツトを付けたキャラクタは、そのキャラ
クタにより表わされた関数の一次導関数を表わし、ウム
ラウトと同様に2つのト9ットt−付けたキャラクタは
、その関数の二次導関数を表わす。 「ストライクスルー(strikethrough) 
J キャラクタ、即ちキャラクタ又はシンボル上に、又
はこれらを貫通して他のキャラクタ又はシンボルを付け
たものも許容され、以下に説明するように、これらの定
義及び使用は区別的発音符号キャラクタと同様である。 ストライクスルー・キャラクタの例では、これらを介し
て1/1のような斜線ヲ有する文字、又はこれらの上に
IXIを付けた文字を含む。 「基準ライン」は通常、1以上のキャラクタの主要部分
を配置する水平ラインである。例えば、このテキスト争
ラインのキャラクタは、キャラクタの底部によし、即ち
そのキャラクタの最低部分によシ定められる水平ライン
を配置される。この点で、あるキャラクタ、例えば@ 
y I 、 1 g“は基準ラインの下に延びる「ディ
セノダー」ヲ有する。 基準ラインは一般には−ジ全体に互るラインを指し、ワ
ード又はテキストのページに互るラインを方向付けるが
、局部的な基準ラインもあることに注意すべきである。 例えば、スーパースクリプトに1以上のキャラクタのス
トリングを有するキャラクタを一般的な基準ラインに配
置してもよく、一方スー71−スクリプトにおけるキャ
ラクタをスーパースクリプト内で局部的な基慈ライン上
に配置する。与えられたテキストの要求に従って基準ラ
インを配置すること、例えば、基準ラインを水平ライン
でなく垂直ラインとして、またラインを科学的なテキス
トに通常見られるように、水平ラインに沿って左から右
へではなく、右から左へ、又は上から下へ行くラインと
して定義することができることに注意すべきである。 キャラクタ・ストリングは、他の一つ又は複数のキャラ
クタと関連して現れることがあるが、これらが配置され
るキャラクタの上、前後に沿って配置される。親キャラ
クタのように、1町−の基準ラインでなく、これと関連
して現れるキャラクタは、「スクリプト」として一般に
呼ばれ、1又は複数の親キャラクタに関連して現れる位
置は「スクリプト位置」と呼ばれる。定義された6スク
リプト位置には、オーバースクリプト、アンダースクリ
プト、プリスーノセースクリプト、及びサブスクリプト
がある。これらの位置は、親キャラクタに関連して、親
キャラクタのそれぞれ直ぐ上、直ぐ下、前の上、前の下
、後の上、及び後の下である。 以上は一般的な意味か、又は局部的な意味かの何れかK
おゆる、即ちスクリプト位置で局部位置における基準ラ
インに沿って互いに相対して配置されているテキストの
複数のキャラクタについて鰭、明したものである。更に
、複数のラインによシ互いに相対するキャラクタを配置
する他の場合。 即ち「分割ライン」の場合もある。分割ラインでは、基
準ラインがそれぞれ元の基準ラインに平行な2以上の平
行ラインのグループに分割され、かつラインのグループ
が元の基準ラインを中心とし、かつ1以上のキャラクタ
が分割ラインのそれぞれに現れる。 最後に、科学的なテキスト等に現れるシンボルの特殊な
場合は、「オーバーパー(○varbar) J及びア
ンダーツ” −(unaerbar) Jである。これ
らのシンボルはキャラクタでも識別キャラクタでもない
。これらの名称が意味するように、オーバーパーは1以
上のキャラクタのストリングの上に現れるライン即ちバ
ーであり、アンダーパーは1以上のキャラクタのストリ
ングの下に現れるライン即ちバーである。 テキストの1ページに含まれる基本的な要素を説明した
ので、論理的な要素及テキストのグループ分けを次に説
明する必要がある。テキストのページの説明から明らか
なように、テキストが互いに相対して意味のある形式で
、例えば基準ラインに沿って配列された1以上の前記説
明の要素の論理グループからなる。以下の説明のために
、・「ユニット」は、一つの単位として、即ち一つの「
もの」として)#−#エメントに配置されなければなら
ない関連の特性によりて、キャラクタ・ストリング又は
中ヤラクタ・グループとして定義される。 従って、ユニットには1例えば一つのキャラクタ。 一つの中ヤラクタに関連して配置されなければならない
スクリプト、又は一つのアンダーパー又はオーバーパー
により結合された1以上のキャラクタのグループがある
。あるオペレータはそれ自身ユニットを定義する必要が
ないが、その代わりに「セグメント」全定義する必要が
あることに注意すべきである。ただし、この「セグメン
ト」トハ共通の基準ラインに相対して大きさが決定され
、かつ配置された2以上の順序付けられたグループであ
る。この実施例では、例えばライン分割は2以上のユニ
ットからなるセグメントヲ形成する。 この場合に、各ラインは1ユニツトでもよく、又は2以
上のユニットからなるものでよい。他の例では、スクリ
プトは1ユニツトを有するものでよく、もしスクリプト
それ自身が2以上のユニットからなるときは、1セグメ
ントを有するものであってもよい。従りて、「式」又は
他の表現は、例えば1以上のユニットのシーケンスから
なる。 ページ上の1ユニツトが占める幾何学的な領域、及びペ
ージ上のその領域の位置は、ユニットと、ページ上の他
のユニット、特にページ上の前のユニットと、恐らく同
一ラインの次のユニットとの構造によシ決定されること
は明らかである。即ち。 10キヤラクタのサブスクリプトと、数学的な表現、例
えば(1+X7)/(Z−27) であるスーパースク
リプトとヲ有する基本キャラクタの1ユニツトは、簡単
な1キヤラクタのスーパースクリプトを有する1キヤラ
クタと異なる領域を必要とするであろう、この発明の目
的及び以下の説明の都合のために、「境界ボックス」、
即ちその内側に現れるユニットII造によって定められ
るユニットの基準点から正及び負のX及びy方向に延び
、X及びy方向の大きさを有する方形ユニットの領域を
定め、かつX及びy方向の大きさがその内側に現れるユ
ニットを完全に含むようにしたものである。 「ストリング」なる用語は1例えばキャラクタの連結さ
れた−続きを意味するように通常使用されているが、「
ストリング」なる用語はこの発明のある特徴に関連し、
かつ以下の説明の一定の部分では特殊な意味がある。こ
れらの場合に、「ストリング」なる用語は1以上のユニ
ットに互る、又は含まれるテキストのセグメントを指し
、ストリングの開始及び終端が同一の基準ラインに存在
する特性を有する。従りて、例えば、スクリプト、又は
1ラインのライン分割に現れる1以上のキャラクタ・ス
トリングは「ストリング」であり、以上のように範囲を
定め、処理を行なう。 最後に、「オペレータ」なる用語は、1キヤラクタ又は
ストリングについて、又は関連して実行すべき過程、即
ち処理′Ik説明する。従って、オペレータは、これら
がイタリックや、キャラクタ及びシンボルを選択したフ
ォントであっても、キャラクタ及びシンボルの特性、即
ち他に対するキャラクタ、シンボル及びユニットの空間
的及び構造的な関係と、キャラクタ及びシンボルのPA
性、例えばこれらのサイズを説明して定義する。オペレ
ータの例には、スフリプティング、即ち基本キャラクタ
に対するスクリプトの配置、ライン分割、キラフタの上
又は下への区別的発音符号キャラクタの配置、及びスト
リングにおけるキャラクタのサイズ変更が含まれる。基
本的な形式において、オペレータは実行すべき処理を指
示するコードであるが、処理を更に定めるパラメータと
関連させることが可能である。例えば、ライン分割オペ
レータはスフリプ) (script)に現れるライン
数を示すパラメータと関連させる。パラメータの値を関
連するオペレータに対するパラメータとして見ることが
できるが、本発明の目的のために、オペレータの定義の
一部として見做してもよい。 オペレータの外形は通常、ユニットの開始、即ちユニッ
トと前後のユニットとの開の範囲を示すことに注意すべ
きである。例えば、スクリプト・オはレータは、次のキ
ャラクタがそれ自体関連する基準ユニットに対してスク
リプト位置に配置され【いるユニットであることを示し
、同様にスクリプトの終端はスクリプト・ユニットの終
端及び次のユニットの開始を示す。しかし、若干のオペ
レータは必ずしもユニットの終端、又は次のユニットの
開始を定めるものではないことに注意すべきである。例
えば、区別的発音符号オペレータ及びストライクスルー
−オはレータは、キャラクタに関連して実行するオペレ
ータを定めるが、二二ットにおける遮断を示すものでは
ない。 オペレータ・コーPと、多分関連するパラメータ・コー
ドとによりオペレータを開始し、一方オペレータをいく
つかの方法で終結することができる。ある場合、例えば
オーバーパー又はアンダーパーのオペレータの場合は、
特殊なパー終結オペレータによりオペレータを終結する
。他の場合は。 同一形式の他のオペレータにより終結する。例えば、次
のキャラクタの相対的な大きさを変更させるリサイズ(
resizs)オペレータは、例えば元の大きさに対す
る他の相対的な大きさにキャラクタを変更する他のりサ
イズオペレータにより終結される。更に他の場合、例え
ばスクリプト又はラインは分割ユニットの複数のユニッ
トを有する個々のライン・ユニットの場合では、スクリ
プト、又はライン分割の個々のサブ・ラインを、疑似リ
ターンにより、即ち、オペレータを終結するためにオペ
レータとして特に用いられる「リターン」により終結す
る。疑似リターンなる用語は、この制御キャラクタが、
通常に見られる「リターン」の上に制御キャラクタを有
することをより一般的に示すために用いられる。この制
御キャラクタはは一ジ上でラインの終結のみを通常表わ
すものである。この実施例では、従来からの意味で「リ
ターン」を用いるものでないことに注意すべきである。 「疑似リターン」は、「疑似リターン」のより一般的な
能力及び柔軟性を示すために、−貫して用いられ、また
そのように設計されている。従来の「リターン」は「疑
似リターン」内に込められている。ライン分割の場合は
、ライン分割の各ラインを疑似リターンにより終結する
。また、ライン分割オペレータそれ自身は、関連するラ
イン分割オペレータのパラメータにより定められたライ
ン分割におけるライン数に等しい疑似リターン数の生起
により終結する。この場合は、ターミネータを暗黙オペ
レータと見なすことができる。即ち。 このオペレータは明示オはレータ拳コードではなく、あ
る条件の生起によって終結する。 この発明では、現在3つの分類、即ち、「接頭辞」オペ
レータ、「接尾辞」オペレータ及び「インフィックス」
オはレータを定義している。接頭辞オペレータは1個の
キャラクタ、ストリング又はユニットについて処理をし
、処理すべき対象の前に現われ、かつ終結されない限り
ページの終端の生起点から処理をする。接頭辞オペレー
タの例は次のキャラクタのりサイズである。接頭辞オは
レー・夕は再1t1個のキャラクタ、ストリング又はユ
ニットについて処理金するが、処理すべき対象の後に現
われ、前に現れたユニットの処理に戻る。 即チ、接頭辞オペレータの例には、オーバーパー又はア
ンダーパーの終結オペレータかある。インフィックスオ
ペレータは通常2つのキャラクタ、ストリング又はユニ
ットについて並行処理し、処理する対象間の関係を通常
定め、処理するものの間に現れb0インフィックスオペ
レータの例には、基本キャラクタ又はユニットとスクリ
プトとの間に現れるスクリプト・オペレータがある。ス
クリプト・オペレータは基本として前のキャラクタ又は
ユニットと、スクリプトとして次のキャラクタ、ユニッ
ト又はストリングと、基本に対するスクリプトのスクリ
プト位置とを定める。 用語のインフィックス、接頭辞及び接尾辞は複数の中ヤ
ラクタ又はシンボルと、複数のユニットとに対するオペ
レータの処理特性を説明する。オペレータは、構造オペ
レータ又は環境オペレータとして、テキストの中ヤラク
タ、シンボル及びユニットに対するこれらの影響の点で
も説明されている。即ち、構造オペレータは、キャラク
タ、シンボル、又はユニットとの間の空間的又は構造的
な関係を定め、環境オペレータがイタリックであっても
、またそのフォントがどのようなものであってもキャラ
クタ又はシンボルの一定の属性、例えばこれらの大きさ
を定義するものである。 これらの性質による構造オペレータは、ユニットの開始
及び終結と、以下に説明するように、スクリプト、ライ
ン・スクリプト及びパー・オペレータのようなユニット
間の関係とを通常定める。 通常、このようなオペレータは対をなして、即ちユニツ
)t−開始する第1オはレータ、及びオペレータを終結
させる第2オはレータとして現れる。 例えば、スクリプト・オペレータはスクリプト・ユニッ
トの始端から始めてマークを付け、スクリプト・ユニッ
トを終結させる対応の疑似リターン・オペレータがある
。他の例において、バー開始オペレータはバー・ユニッ
トの始端から始めてマークを付け、バー・ユニットt−
終結させる対応のバー開始オペレータがある。 テキスト・エディターの以下の説明で説明するように、
関連する若干の構造オペレータがあることに注意すべき
である。即ち、I[連されるこれらの構造オペレータは
ユニットt−開始しないが、若干のキャラクタ又はシン
ボルに関連又は結合され、他のキャラクタ又はシンボル
が構造的に1個のキャラクタのシンボルのものにキャラ
クタ又はシンボルを組合わせる。このようなオペレータ
の例には、以下に説明するように、区別的発音符号の点
からこのテキスト・エディ−ターの処理に示されている
。 最後に、環境オペレータはキャラクタ、シンボル及びユ
ニットとの間の関係を定めるのではなく。 テキストのキャラクタ及びシンボルの若干の構造を定義
する。このようなオペレータの例には、これらがイタリ
ックや、その7オントであるとに係わらず、=?ヤラク
タ及びシンボルの大きさを定める複数のオペレータが含
まれる。これらのオペレータの若干のものにより、テキ
ストにおいて離散的又は基本的な状態変化、即ち鵡性金
オン又はオフし、オはレータのパラメータをオン又はオ
フにあるフラグと見做すことができる。このような離散
的な環境オペレータにはイタリック機能が含まれる。他
の環境オはレータとして、テキストのキャラクタ及びシ
ンボルを離散的、又はオン/オフ形式の変化でなく、連
続的な状態へ修飾させるものがある。これらのオペレー
タには1例えばキャラクタ及びシンボルの大きさを定め
る複数のオペレータが含まれる。即ち、キャラクタ及び
シンボルの大きさと、これらのオペレータの変化により
定義した@注とを定めるオペレータが実際には常にある
か、又はオン又はオフされるのではなく、修飾される。 この場合は、オはレータのパラメータはオン/オフ・フ
ラグや、コマンド以外の値である。 以下に説明するように、定義したオペレータに加えて、
若干の暗黙オペレータ、即ち、特定のコードによってで
はなく、文脈の前後関係によって定められた複数のオは
レータがあることに注意すべきである。例えば、ユニッ
トの始端及び終端には、それぞれ前後のユニットに当該
ユニットに結合する暗黙オペレータ、実際にはPREY
工OUS 及びNEXTオペレータがある。ユニットと
の間におけるこれらの関係は、説明したように指定され
ないが、暗示される。即ち、その全てのオペレータを終
結したときは、ユニットの終結を指定し、その生起は次
のユニットに対する開始及び接続を意味する。以下に説
明するように、このテキスト・エディターは、1つのワ
ード・ストリングの形式と、は−ジ上のユニットの物理
的な大きさ及び位tft定める他の情報の形式でユニツ
)t一定めるキャラクタ、シンボル、オペレータ及びタ
ーミネータを一つにした2つの主データ構造を保持する
。 第1は、ストリングにおけるそれらの位置により、また
例えばユニットの最終的なターミネータが次のユニット
の開始を意味することによし、ユニット間の関係を表わ
す。第2は、複数のポインタにより順次ユニット’4他
に結合させる。これらのポインタは、例えばユニットが
終結し、次のユニットが開始する暗黙オペレータとして
用いている。 この発明の実施例に対して決定したオペレータには、限
定するものではないが、次のものを含む。 フォーマット・ライン:ベージの一般的なフォーマット
、例えばタブ及びリターンの位置を定める接頭辞オペレ
ータ。 基準サイズの定義;キャラクタの基準ラインサイズを定
める接頭辞オはレータ。 基準ラインのサイズ:基準ライン上に位置する次のキャ
ラクタの基準サイズに関連するサイズを表わす接頭辞オ
はレータ。 中心周りの寸法:中心の基準線層りに位置する次のキャ
ラクタの革進サイズに関連するサイズを表わす接頭辞オ
ペレータ。 フォント:どのようなキャラクタ及びシンボルのフォン
If用いるかを定める接頭辞オはレータ。 イタリックeオン:次のキャラクタがイタリック形式と
することを表わす接頭辞オペレータ。 イタリック・オフ:前のイタリック・オンのオペレータ
について処理をし、かつ次のキャラクタがイタリック形
式ではないこと金表わす接尾辞オむこと全表わす接頭辞
オペレータ。 オーバーパー又はアンダーパー付きであることを表わす
接頭辞オはレータ。 グーバーφオはレータに対するターミネータとして機能
する接尾辞オペレータ。 符キャラクタ又はマーフケ引っ込めキャラクタ又はユニ
ットの上又は下に配置することを表わすインフィックス
オはレータ。 オーハーストライク二区別的発音符号オはレータと同じ
ようなオペレータであるが、他のキャラクタ又はシンボ
ルと共に関連する1又は複数のキャラクタがそれらを貫
通して、又はそれらの上に配置されて表示されることを
表わすオペレータ。 オーバーストライク・オペレータは1又は複数の基礎キ
ャラクタにオーバーストライクを付けたキャラクタ又は
シンボルを定めるパラメータにょシ得られる。 戚 トリングはスクリプトであり、基終キャラクタ又はユニ
ットに関するスクリプト位置を占めることを表わすイン
フィックスオはレータ。前記スクリプト位置は特定のス
クリプト・オペレータにより決定される。 ラレるインフィックスオはレータ。パラ、7’ −1値
nは現在基準ラインがそれぞれ原始基準ラインに平行な
線の1グループに分割されることを表わし、この平行な
線の1グループは原始基準ライン金中心とし、1以上の
キャラクタが各分割線上に現れる。この実施例の場合の
パラメータ値nは2〜10の範囲にあり、分割線を中間
に配置した2線へのライン分割を表わすように予約した
n−1金含む。 ヌル:存在していないキャラクタ、即ちスペース?示す
ときに使用する接頭辞オペレータ。ヌルは、例えば次の
スクリプト・オはレータのだめの基準キャラクタとして
用いられ、スクリプト・オはレータのだめの垂直基準キ
ャラクタとすることができる。 タブ、10進タブ及び七ンタ:共にフォーマット化をす
る制御キャラクタ、及びユニットに切り離す際のオはレ
ータである。 付記プロップ二次のキャラクタ、ストリング又はユニン
If既に存在するキャラクタ、ストリング又はユニット
に付記する点を表わすときに用いるインフィックスオR
レータ。付記プロップは例えば編集するテキストの現在
の終端に常に現れ、存在するテキストのオーバーストラ
イク、挿入、削除、コピー、又は移動のような現在の編
集処理を実行中であることを示す編集カーソルから区別
される。 この発明の詳細な説明で用いる一定の用語及び概念を説
明したので、この発明に関連するテキスト・エディター
の総合的な構造及びオ〈レータの説明により説明を続け
よう。 第1図を参照すると、情報処理装置、即ちこの発明に関
連するコンピュータ・システムのブロック図が示されて
いる。この情報処理装置はメモリ(MEM)110  
t’含み、これにはプログラムのあるものにより動作す
るシステム及びデータ構造の処理全管理するプログラム
が存在する。中央処理装置(CPU)112 はプログ
ラムに応答してシステムの処理を実行し、一方キーボー
ド(KB)114はキーの打ち込みによるユーザー人力
のためにKB114が備えられ、表示装置116はユー
ザーに対する処理全可視的に表示するために備えられて
いる。このような情報処理装置の例には、米国マサチュ
ーセッツ州ローウェルのワング・プロフェショナル・コ
ンピュータ、IBM パーソナル・コンピュータ、及び
ユーザ一端末装置を接続したコンピュータを含み、他の
コンピュータ会社から入手可能な同じような多くの他の
コンピューターシステムが含まれている。 本発明に従う装置は、本エディターに操作させようと意
図している形式のテキストに生起するキャラクタ及びシ
ンボルの性質のために、ピント・マツプ表示装置により
操作することを意図しており、ここではそのスクリーン
のピクセル毎のデータを情報処理装置のメモリ空間に記
憶して表示音する。この機能はスクリーン・メモリ(S
M)118により得られるものであり、SM 118は
情報処理装置のMEM  110 、又は別のメモリの
直接アドレス指定可能なメモリ空間に設けられ、ドキュ
メントの現在のページを含む1以上のスクリーンのビッ
ト・マツプ化された5M118e記憶する。第1図に示
すように、S工 120は以下で説明するテキスト・エ
ディター及び関連のプログラムによってSM  118
に書き込まれ、またSM 118から表示装置116に
読み出すことにより、ユーザーに対して現在のスクリー
ンの可視的な表示をする。このテキスト・エディターは
、また複数のイクトル端末装置、即ちビット・マツプ化
した表示を発生しない代わりに表示装置上に線セグメン
ト金描く複数の端末装置、により動作させることができ
ることに注意すべきである。 第1図に示すプログラム及びデータ構造を参照すると、
これらのプログラムのあるものは、当該の技術分野にお
いてよく知られておし、このテキスト・エディター全説
明する際に詳細に説明する必要はない。例えば、オはレ
ーション・7ステム(O3)122は、本質的に当該の
技術分野においてよ(知られているように、本情報処理
装置における他のオ〈レーション・システムの処理?指
令し、管理し、調整する。同様にKB  114に関連
するキーボービ拳ハ/ピラー(KBH)124  は当
該の技術分野においてよく知られておし、KB  11
4からキーストロークによるコード入力をこのテキスト
のエディターに渡し、更にテキスト・エディターはキー
ストロークのコードに応答してニブイト機能を実行する
。第1図に示す情報処理装置の残りの要素は、本発明と
直接関連しており、以下で更に詳細に説明する。 このテキスト・エディターの構造及び処理は、テキスト
及び可視的な表示、即ちドキュメントを表わすスクリー
ンを含むドキュメントヲ生成するためのテキスト・エデ
ィターが生成し、かつ用いるデータ構造及び機構の総合
的な説明及び検討をすることにより、容易に理解される
。テキスト・エディターのデータ構造及びこれらに関連
する機構は、以下で説明するように、2グループのデー
タ構造及び関連するエディター機構からなり、これらは
ドキュメントに直接関連し、またドキュメントについて
、かつこれにより動作するエディター機構により用いら
れる。これらのデータ構造は、前記の順序で以下で説明
されるが、以下においては、それぞれドキュメントのデ
ータ構造及び機構と、エディター処理データ構造及び機
構とそれぞれ呼ぶことにする。 (第1図) (第1図) 先ず、ドキュメントに直接関連するデータ構造を説明す
ると、前に述べたように、ワード処理形式のテキスト・
エディターにより最も容易にかつ効率的に生成され、編
集されるデータ構造は、例えば科学的なテキストのグラ
フィック形式のシンボル及びキャラクタを最もよく表わ
すようにされたデータ構造と両立しない。このテキスト
−エディターは1機能的にワード処理形式のドキーメン
ト作成及び鳩集処理が得られ、かつ複数の相互接続と、
テキスト・エディターとによって複数の対話的なデータ
構造を生成し、かつ動作させることによし、科学的かつ
技術的なテキストのキャラクタ及びシンボルと、他の言
語によるこれらのものとに適したグラフィック形式の可
視的な表示が得られる。 スクリーン・イメージ120のようなこのテキスト・エ
ディターの動作に起因する他のデータ構造があるが、−
緒にテキスト・ト9キエメントを定義し、かつドキュメ
ント全生成し、編集し、かつ表示するようにテキスト・
エディターにより用いられる3つの基本的なデータ構造
があり、更にキャラクタ及びシンボルそれ自体を定義す
る第4の基本的なデータ構造がある。更に、上で説明し
、かつ以下でより詳細に説明するように、ト9キエメン
トと直接ではなく、テキスト・エディターの処理と関連
されるグループのデータ構造もある。 テキストそれ自身は、以下で説明するように、ドキュメ
ント輪郭(DP)126と、符号化バッファ(EB)1
28と、結合ユニット構造(LUS ) 130とから
なる。以下で説明するように、DP  126は全体と
してドキュメントの若干の特徴を概要的に定義する情報
、スクリーン・イメージ120に関係するある情報、及
びドキュメント’を生成し、編集する際にテキスト・エ
ディターが用いる他の情報を含む。 hiB  12Bは、これも以下で説明するように、若
干の点で、ワード処理ドキュメント・ファイルを有する
キャラクタ拳ストリングと同じようなキャラクタ−コー
ド、オペレータφコード及び終端コードのストリングと
して「符号化された」形式の式全有するコードを記憶す
る。第1図に示すように、EB12Bは全体として式に
関連するある付〃o的な情報を含む符号化バッファ・ヘ
ッダ(EBH)132ヲ備えている。式又は表現を有す
るキャラクタ・コート1、オペレータ・コート1及び終
端コート1のストリングは、符号化ユニット(gU)1
34のストリングとしてEB  128に存在するもの
として示されている。ただし、各EU  134は1ユ
ニツl定義するキャラクタ、第4レータ及び終端コード
全含む。EB  128におけるEU  134の表示
は、テキストのエディターのデータ構造及び処理の以下
の説明を理解する上での便宜と、概念的な助けとを意図
していること全理解すべきである。EU134は、EB
  128に示し、テキスト・エディターの以下の説明
において引用されるが、EB  128に存在するので
、明示的ではなく、暗黙的なデータ構造である。即ち1
以上で説明したように、式又は表示を定義するキャラク
タ・コード、オペレータ・コートゞ及び終端コート1の
ストリングは、1つのコート3・ストリングとしてEB
  128に存在し。 説明したEU134に明確に分割されるものではない。 以下で説明するように、このストリングのEB128に
存在するコート1は、実際にはユニット、即ちEU13
1定義している。しかし、EU  134へこのストリ
ングを定義することは、ストリングに存在する特定のコ
ードと、ストリングにおけるこれらのシーケンスとによ
り決定される。 第1図に示すように、EU  134のストリングにお
ける最後の要素即ちコードは、付記プロップ(Appe
nd Blob)オ啄し−タ*コート’に含むノテ、ス
トリングにおける最後のユニットが最後の線にあるとき
は、 EB  128において符号化ユニットの前に存
在するストリングに付記されるものであることを表示す
る。 よく知られているように、EB  128に存在するデ
ータ構造の形式は、ワード処理形式の編集処理によ(適
合しているが、このテキスト・エディターが例えば科学
的なテキスi処理することを意図しているグラフィック
形式のシンボル及びテキストのキャラクタの可視的な表
示を生成するのには余り適当ではない。LUS  13
0はEB 128に関連させられ、かつ結合されておし
、これにはEB128に符号化された形式で記憶されて
いる各ユニットについてユニット構造(US)136が
含まれ。 US  136にはEB  128に記憶されている関
連されたユニットの可視的な表示を形式するのに必要な
情報が含まれる。US  136にはl  128に記
憶されている関連のユニットの可視的な表示を形成する
ために必要な情報が含まれている。第1図に示すように
、LUS 130のUS  136はストリングとして
ではなく、ユニット構造ポインタ(USP)138によ
り結合される固有のデータ構造として記憶されると共に
、各US  136は1以上のUSP  138により
それに関連するUS  136に結合されている。例え
ば、特定の1ニツトは、以上で説明したように。 スーパースクリプト・ユニット金表わす他のユニットと
、また1キヤラクタでもよい前後のユニットと関連させ
ることができる。従りて、特定のユニットに対するLU
S  130は、以下で説明するように、それに関連す
るスーツ1−スクリプトと、それぞれ関連するユニット
に対して1つのUSP  13Bポインタにより前後の
キャラクタとに結合される。 LUS  130の各US  136は、更にEB  
128に存在するサブストリングのコードに結合されて
おし、EB  128は1組のポインタにより対応する
KU  134七有し、複数組のポインタは符号化バッ
ファポインタ(EBH)140  として第1図に示さ
れているUS136ヲそれらに対応するEU  134
に結合させている。 最後に、テキスト・エディターはキーボー)″aフォン
ト(KF)142を有し、IF’  142はキャラク
タ及びシンボルの定義を含む1以上のフォント・テーブ
ル(FT)144’に有する。例えば、この実施例のテ
キスト・エディターでは、数学、物理、ASCエエ、化
学の記号や文字、及びギリシャ文字ケ含むキャラクタ・
セットについて1以上のフォントが存在可能である。ま
たEtJ  134に現れる各キャラクタ・コードは、
2ノ(イト−ワードからなし、その第1バイトはキャラ
クタ又はシンボルが存在する特定のFT144’に表わ
すインデックスであり、第2バイトはそのフォント内の
特定のキャラクタ又はシンボル全表わすFT  144
に対するオフセットである。 生成され、テキスト・エディターによシ用いられるデー
タ構造の概要忙説明したので、テキスト・エディター装
置の動作の概要を以下で説明しよう。 第1図に示すように、キー命ストロークは、式のキャラ
クタ及びシンボルを定義する中−ストロークと、コマン
ド、即ち式の生成及び編集を制御するコマンドとは、K
B 114及びKBH124を介してユーザにより入力
され、エンコーディング・テキスト・エディター(EJ
)146に供給される。 EE  146は、現在の表現を定義するキャラクタ・
コート1、シンボル・コート9、オ纜し−タ命コード及
び終端コードのストリングを現在の表現を定めるキャラ
クタ・コード、第4レータ・コート1及び終端コードの
ストリングに、また必要ならは]1EBH132に、必
要とするノゼラメータと共に書き込み、テキストの生成
又は編集の必要に応じてこれらのコード及びこれらの構
造を処理又は編集する・必要ならば、EE  146も
DP  I26に存在するデータ全生成し、修飾するた
めに用いられる。 以−ヒで説明したように、符号化された形式の式を定め
るキャラクタ・コート1、シンボル・コード。 オ纜レータ・コード及び終端コードは、符号化ユニット
(EU)134  を定めるコード及びそれらのシーケ
ンスと共に、コード・ストリングとしてEB128に記
憶される。ただし、各EU  134は1ユニツトを定
めるキャラクタ・コート9、オにレータ−コード及び終
端コードのストリングからなるものと見做丁ことができ
る。これも以上で説明したように、コード・ストリング
における最終コードは、付加的なユニットr、前にEB
  128に存在したコートトストリングに付記するの
か紫表わすように、は−ジの終端全表わすときには、付
記プロップ・オにレータのコードを含めてもよ(、又は
線の終端7表わしているときは、リターン・コードを含
めてもよい。 以上で説明したように、EB  128に存在し、かつ
「符号化された」形式の等式全9.義するデータ構造は
、従来技術においてよく知られているワード処理形式の
編集処理に、即ちEJ3H132及びDP  126に
存在するデータ構造であるキャラクタ・コート9のスト
リングについて処理するための編集プログラムに、良く
適合している。知られているように、これらの、処理に
は、例えばストリングに対するキャラクタ、第4レータ
、ノラメータ及びターミネータコート9の付加、ストリ
ング内でのコード、又はコード・ストリングの挿入、削
除、コピー及び移動が含まれる。このような編集処理プ
ログラムは、当該の技術分野において良く知られている
ものであり、例えば米国マサセチェーセッツ州ローウェ
ルのワング・ラボラトリーズ社から。 また他の多くの主要コンピュータ会社及び多くのソフト
ウェア会社から人手可能なワード1処理プログラムであ
る。EE  146の構造及び処理は概して前記プログ
ラムと同じようなものであり、以下においては更に詳細
に説明はしない。しかし、BEE146のC言語ソース
・コードは付記としてこの説明に含まれる。 しかし、以上で説明したように、EB  128に記憶
され、符号化された形式の式r表わしているデータ構造
は、このテキスト・エディターが処理しようとしている
科学的な及び他のテキストのグラフィック形式のストリ
ング及びキャラクタを可視的に直接表示e−fるのによ
く適している。従って、また以上で説明したように、 
LUS  130 に存在し、EB  128のデータ
構造に関連され、かつこれに結合されているデータ構造
は、EE  128に符号化形式で記憶されている各ユ
ニットについて、EB128のEBH132に符号化形
式で記憶されている関連のユニットの可視的な表示を形
成するのに必要な情報を含むユニット構造(US)13
6”k含む。 これらのUS  136は、DP  126に存在する
ドキュメント情報、及びKF  142のFT  14
4に存在するキャラクタ/シンボル情報の支援により、
キャラクタ、オペレータ、パラメータ及びターミネータ
コーPのストリングとしてEB  128に存在する符
号化された基本的な式表示からパーサ−148により生
成される。若干の例では、以下で説明f小ように、仮想
インタフェース(vD工) 150  による処理にお
いてパーサ−148が支援される。 以上で説明したように、DP  I26は全体としてこ
のドキュメントに関連する情報ケ含み、EBH132を
含むEB  128及びEU  134は式及びその複
数のユニツ)’(f−説明する基本的な符号化情報會含
み、またF’T  144は複数のユニットに現れるキ
ャラクタ及びシンボルを識別する情報を含む。第1図に
示し、また更に以下で説明するように、パーサ−148
はIE 146の処理に応答してそれぞれ指示したデー
タ・バスを介してDP  126、EB  128及び
F’T  144からこの情報を読み出し、対応するU
S136’!に発生し、指示したデータ・バスを介して
LUS  130にUS  136を書き込む。 以上に関連して、パーサ−148は一時に17−)−″
′ヲ1.かつそのコード脅ストリングにこれらt記憶−
fるシーケンスにより、EB  128に存在するコー
ド・ストリングからキャラクタ、オペレータ、パラメー
タ及びターミネータコードヲ読み出すことに注意すべき
である。パーサ−148は、EB128からこの式、又
は表現を定義するコードを読み出すに従い、これらの内
容及び文脈により決定されるコート9について処理をし
、EB  128のEU134として内在的に表わされ
た符号化ユニットにコード全文法的に構文解析するので
、EB  128にEU  134として表わされる符
号化ユニットはこの処理において明示データ構造となる
。 FT  144に存在する中ヤラクタ及びシンボル情報
は、EB128から読み出されたストリングに現れるキ
ャラクタ・コード及びシンボル・コードに応答して、こ
の処理中にパーサ−148によりF’T144から読み
出される。即ち、以上で説明したように、EU  13
4に現れる各キャラクタ・コードは2つのバイトからな
り、その第1バイトはキャラクタ又はシンボルが存在す
る特定のFT144に示すインデックスであり、その第
2バイトはそのフォント内の特定のキャラクタ又はシン
ボルを示てF’T  144へのオフセットである。パ
ーサ−148Uこれらのインデックスを供給し、第1図
に示した及びシンボル情報を受は取る。 以下で説明するように、ページ上の式のキャラクタ及び
シンボルの物理的な組織を定めるために必要な情報の大
多数は、 DP  I26及びり、:B  128に、
特にEBH132に含まれている。例えは、通常、かつ
初期において、キャラクタ及びシンボルは標準的な長さ
及び形状のもの、即ち固定された大きさの矩形内に一致
するものと仮定され、ラインの間隔及びピッチ、即ちキ
ャラクタ及びシンボルの水平間隔はDP  126及び
EBH132に存在する情報により識別される。しかし
、キャラクタ及びシンボルはこれらの標準的な大きさと
異なるようにされる。例えば、スーパースクリプトに現
れるキャラクタ又はシンボルは、基本的なキャラクタ又
はシンボル、又は1キヤラクタ又はシンボルのものより
短(され、又はキャラクタ又はシンボルのグループは標
準的なものより大きくされる。これらの場合は、その結
果のユニットの寸法、及びこれらに現れるキャラクタ及
びシンボルを計算する必要がある。 これらの場合に、パーサ−148の処理はVD150に
存在する一定のルーチンにより支援される。 当該の技術分野において良く知られているように。 VD工 150は本質的にグラフィック形式のイメージ
r表わす樫々のコマンド及びコード全入力として受は取
る1組のグラフィック・ルーチンであし、実行している
装置の特性に依存することなく、可視的に表示可能な対
応するグラフ表示を発生する。 この場合に、非標準的な大きさのキャラクタ及びストリ
ングに属するEj3 128及びF’T 144の情報
は、標準的な大きさからの変化に関するEB  128
の情報と共に、ノセーサー148によりVD工 150
のルーチンに渡される。次に実際において、VD工15
0のルーチンは、非標準的な大きさのキャラクタ及びシ
ンボルのグラフ表示を発生し、かつ合成したキャラクタ
及びシンボルの大きさケ「測定」するために用−・られ
る。次に、この大きさの情報は指示されたデータ・)ξ
スを介してパーサ−148に戻され、LUS  130
に書き込む対応のUS  136を発生するためにノー
サー148により用いられる。 第1図に示すよ5に、パーサ−148及びV[工150
は最終形式のドキエメント金表わす出力、例えばSM 
 118のスクリーン・イメージ120に記憶された可
視的な表示を発生するために用いられる。 この処理にだいて、パーサ−148はUS136e結合
するUSP  138のポインタにより決定されるンー
ケンスによす、 LUS  130からユニットの物理
的、可視的な表示を説明するUS136に読み出す。前
記ユニットのキャラクタ、オペレータ、パラメータ及び
ターミネータコードヲ自む対応した符号化ストリングは
、各US  136ヲEU  134の対応するユニッ
ト・ストリングに符合されるEBP140のポインタを
用いることにより、El:B  12BのEU  13
4から並列に読み出される。一般的なト1キュメント及
び式の情報は・ミーサー148によりDP126及びg
BH132から読み出され、またキャラクタ及びシンボ
ル情報は以上で説明したようにしてF’T  144か
ら読み出される。パーサ−148によりパーサ−148
に読み込まれたこれらの入力は、この式及びに−ジの可
視的な表示を発生するために必要な全てのコマンド、コ
ード及び情報全本質的に有し、パーサ−148によシV
D工 150に渡される。また、VD工 15Q もこ
の式及びページの可視的な表示を表わす種々のコマンド
、コード及び情報倉入力として受取る1組のグラフィッ
ク−ルーチンを含み、可視的な表示が可能な、即ちCR
Tスクリーン上に表示、又はに−ジ上に印刷することが
できる対応のグラフ表示を発生する。夏に、VD工 1
50及びその特徴及び処理は当該の技術分野において良
く知られており、グラフィック・イメージを発生するた
めにコンピュータ拳/ステムで広く採用されているので
、ここでは更に詳細に説明する必要はない。 第1図に示すように、VD工 150の出力信号はSM
  118に渡され、この式及びページの可視的な表示
として表示装#116に表示可能なスクリーン・イメー
ジ120として記憶される。当該の技術分野において良
く知られ℃いるように、この出力もプリンタに渡され、
堅−ジ上に印刷した形式でイメージ會表示する。 ページと、式又は表現とはテキストΦエディターは、テ
キスト−エディターにより、即ちEE  146により
現在処理されておし、パーサ−148はユーザがこの式
に進み、編集するに従い、変化t′″fることに注意す
べきである。このために以上で説明したように、パーサ
−148は、以上で説明した形式で、かつユーザーの処
理による要求により、新しいUS  136’に発生し
、又は存在するUS  136t修飾することにより、
EE  146の処理と、存在するキャラクタ、シンボ
ル及びオはレータの修飾とに応答する。パーサ−148
も現在のR−ジに必要なだけDP  126、EB  
128、LUS  130及びFT144の内容IVD
I  150に読み出し、かつユーザによ9式を生成し
て編集するので、スクリーン・イメージ120はこれら
の処理に反映するようにユーザの処理中にVDI 15
0により更新される。しかし、若干の編集処理において
、存在する表現及び式に対する編集変更は対応するUS
  136の再生を必要としない。即ち、これらのは−
ジ上の表示の物理的な位置及び大きさに影響を与えるこ
とはない。このような変化の別は1つのキャラクタを他
のキャラクタに、例えば表示rAJerBJの表現に置
換することである。ただし、新しいキャラクタはもとの
キャラクタと同一の大きさ、フォント、スタイル等のも
のである。このような場合には、パーサ−148により
直接11i:U  134からVD1150に渡され、
VI)工150は表示可能な表現データにおいて対応す
る変更を行なう。 以上で説明したように、EE  146がEB  12
8に記憶されているキャラクタ、オRレータ及びターミ
ネータコードのストリングについて編集処理金央行して
いるとぎは、EE  146がLUS  130のUS
  136に存在するある情報を用いることに注意すべ
きである。EE  146は、例えばコードについて処
理するために、対応するLUS  13QのUS 13
6からのキャラクタ位置情報を用いてEB  128の
コード・ストリングにおける特定のキャラクタ・コード
ヲ配置させることができる。 生成された、又は編集されたドキュメントは、編集セツ
ションの終了時に、DP  I26及びEB128の内
容、多分1以上のFI144の情報を記憶すること罠よ
り、後の使用又は編集のために沫持可能であり、ト9キ
エメント’を定義する他の全ての情報は以上で説明した
ように、これらのデータ構造から生成される。しかし、
他の形式にドキュメンli−変換すること、例えば特定
のフォーマントで記憶して他のシステムと通信、又はワ
ード処理ドキュメントに関連させることが好ましい。こ
の理由カラ、テキスト・エディターは更にこの変換を実
行する手段を含むことができる。 これらの手段は、第1図にドキエメント・ファイルゼネ
レータ(DFG)152  と、変換の結果、例えばド
キュメント・ファイル(DF’)154としてワード′
処理ドキュメントに関連するために適当なデータ構造を
記憶する手段とにより、示されている。以上で説明した
ように、VDI  15Qは最終的な形式のテキスト・
イージ即ちドキュメントを定義するために必要な全ての
コマンド、コード及び情報をパーサ−148から受は取
り、これらの入力について処理をして、このようなペー
ジ又はドキュメントの最終的な形式を表わす出力を発生
する。以上で説明したVDI 150の可視的な表示比
カニ加エテ、vD工150ハDGF″152ニ出力スル
ものとして第1図に示されておfi、Dli″0152
は当該の技術分野において良く知られている方法により
、VDI 150のドキュメント記述出力を受は取り、
このデータ構造を所望の最終的なデータ構造に変換し、
これを最終的な使用のためにDF154に記憶する。D
GF  152 としてこのようなルーチンの処理は、
良く仰られ、当該の技術分野において通常のものである
ので、これ以上詳細に説明することを要しない。 B、2 エディター処理のデータ構造及び機構(第1図
) 以上で説明したように、エディター処理のデータ構造及
びこr−らに関連する機構は、2つのグループと、ト1
キュメントの定義と直接関連されるものと、通常かつデ
ータ構造についての処理においてテキスト・エディター
の操作と関連するものとからなるものと見做すことがで
きる。データ構造、及びrキーメントラ生成し、定義す
ることに直接関連する関連機構、即ちEE  146及
びノ1−サー148と共に、EB  128及びLUS
  130を説明したので、エディター処理データ構造
及び機構、即ち全般的にテキスト・エディターと、ドキ
エメントに基づいてテキスト・エディターの処理とに関
連されたものを以下に説明しよう。 第1図に示すように、このテキスト0工1イタ−は、E
E  146及びパーサ−148に加えて、このテキス
ト・エディターの総合的な処理を管理し。 特にテキスト作成及び編集処理を制御するエディター・
ルーチン(1)148の関連グループを含む。 前記ER156はDP126、ED  128、USP
  138及びパーサ−148からのデータ入力を受取
るので。 これらの要素を制御し、これらにデータを出力する。 ER156にはエディター・データ構造(EDS)15
8が関連しており、これには(333) 160 、ラ
イン・データ構造(LDS ) 162 、  スクリ
ーンΦデータ構造(SDS)164  及び挿入/隠し
込み(Insert/Hiae)データ構造(I HD
S ) 166が含まれる。以下で詳細に説明するよう
に、SSS  160はテキスト・エディターの現在の
処理状態に関連する情報を含み、現在の処理又は複数の
処理τ実行する際にテキスト・エディターにより用いら
れる。続いて、LDS  162は処理しているそのラ
インに関連する情報を含み、一方SDS  164は現
在スクリーンに関連する情報を含む。最後に、工HDS
  166は、以下で更に詳細に説明する挿入及び隠し
込み編集処理に関する情報を含む。 ER156には、処理の実行が可能なテキスト開始点の
ポインタを有する編集可能テキスト・ポインタの開始(
BOTP)168と、そのカーソル位置のポインタを含
むカーソル・ポインタ(CP)170とが関連している
。以下で説明するように、カーソルは、処理の開始又は
実行が可能なテキスト内の位置を指示する。カーソル及
びカーソル位置は、例えばテキストを挿入し、又は削除
、移動又はコピーするテキストの始端及び終端点、移動
処理又は複写処理においてテキストを移動又は複写する
ポイントを指示するために用いられる。 この発明の総合的な構造及びテキスト・エディターの処
理を説明したので、若干のデータ構造、例えばEB  
128及びUS  136、及びパーサ−148を含む
当該テキスト・エディターの若干の部分を更に以下で詳
細に説明する。 以下、更に詳細にこのテキスト・エディターの若干のド
キエメ/ト・データ構造、例えばDPI26と、EBH
132及びEU  134を含むT2B  128と、
LUS  130のUS  136とを説明しよう。こ
れらのデータ構造を前記順序で説明し、かつ以下の説明
の理解を助けとなる図を示す。 図) を含む。第2図を参照すると、 DP  I26のデー
タ・フィールドがブロックにより示されており、限定す
ることなく、含まれる。 傾斜角202一式に現れるキャラクタ及びシンボルの垂
直方向からの傾斜を角度で定めるフィールド#ニ ルの標準サイズを定義されたサイズの百分率で定めるフ
ィールド9; する前にスクリプトサイズ204によシ定めた係数によ
りサイズを変更するスクリプトのレベル数を定めるフィ
ールド9; 開始位置207−その基本キャラクタに相対するスクリ
プトの位置を定めるフィールド;その実行において、ス
クリプトを基本キャラクタの上、又は基本キャラクタの
基本ラインの基準ライン上の基本キャラクタの高さの2
/3 に配置可能である。 リサイズステップ208−リサイズを行なったときにキ
ャラクタが大きさを変更するステップ数を定めるフィー
ルド; 及びシンボルをプロポーショナルに配列するのか、例え
ば右揃えのテキストにするのかを示すフラグを含むフィ
ールド; ピッチ212−テキストにおけるキャラクタ及びシンボ
ルのピッチ、25.4璽当りのキャラクタ又はシンボル
数を定めるフィールド; 表示倍率214一対応する印刷ば一ジに相対し、表示さ
れたスクリーン・イメージ120の倍率を定めるフィー
ルド1; キャラクタ及びシンボルのフォントを識別するフィール
ド;  ′ キーボード表示218−8M  118はキーのイメー
ジに示されたキャラクタ及びシンボルを用いる際に、キ
ーボードの可視的な表示(フォント)を含むか否かを示
すフィールド3゜ フレーム・ボックス220−ユニットの区切シボノクス
を表示すべきか否かを示すフィールド;以上で説明した
ように、EE  128は全体として式に関する情報を
含む符号化バッファ・ヘッダ(EEHB)132  と
、符号化ユニット(EU)134 とを含み、各EU 
 134はキャラクタ・コード、オにレータ・コード及
び一つのユニットを定義するターミネータコードのスト
リングを含む。 (第3図) 第3図を参照すると、EBH132及びそのデータ・フ
ィールドのブロック表示が示されている。 この実施例では、EBH132は以下のものを限定する
ことなく、含むことができる。 基本サイズ302−複数の点におけるキャラクタ及びシ
ンボルの基本サイズを定めるフィールド;フォント30
4一式に用いられるキャラクタ及びシンボルの一次フォ
ントを定めるフィールド;タブの位置が戻るページに対
するフォーマット、及び同様のフォーマントの制御キャ
ラクタを含むフィールド9; 以上で説明したように、EB  128は符号化ユニッ
ト(EU)134を明確に定めるキャラクタ、オはレー
タ、パラメータ及びターミネータコードのストリングを
含む。ただし、各EU  134は、一つのユニッtt
−−緒に定めるキャラクタ、シンボル、パラメータ及び
ターミネータコート9からなるものとして見做すことが
できる。符号化したユニットを定めるキャラクタ、パラ
メータ及びターミネータコードがこれらのサブΦストリ
ングに存在するシーケンスと共に、コードがEB  1
28に存在するシーケンスは、式の基本形式を定める。 従って、特定の時点におけるWB  128の特定の内
容は、生成されている又は編集されている特定の式によ
り決定される。このために、ここで明確なaB 12B
、即ち符号化ユニットのデータ構造は、第4A図〜第4
E図に示されている式の例を用いることによシ最も良く
示され、以下で説明される。 第4A図〜第4E図に示される各列には、スクリーン・
イメージ120.又は印刷は−ジ上に現れるかも知れな
い例の式の可視的な表示と、式の可視的な表示の下のE
B  128に符号化形式で現れるかも知れない式の表
示を含む。 以下の説明において、次の規約を用いることにより、E
B 128に現れる際に、第4A図〜第4E図に示す式
にそれぞれに対応するキャラクタ、シンボル、パラメー
タ及びターミネータコート1のストリングが得られる。 各コート9がキャラクタ、シンボル、パラメータ又はタ
ーミネータコードであっても、各コー+−t一括弧内に
囲み、コードの範囲を定める。 各組の括弧内において; キャラクタ・コート9又はシンボル−コード金キャラク
タ又はシンボルそのもので表わす。 各オペレータを0p−XXXにより表わす。ただし、o
pはオペレータ、XXXは特定のオペレータを表わす。 第4A図〜第4E図にEU  134を示すために使用
するオはレータは、既に定められており、これらの実施
例に使用したオペレータには下記のものが含まれる。 スーパースクリプト−op−θupscr;ライン分割
−op−presupscr;ベース上でリサイズ−o
p−resizonbass ;サブ番スクリプト−o
p−θubscr;中央リサイズ−〇p−re511Z
OnQntr 。 オペレータに関連したパラメータはそれ自身を括弧によ
り囲み、前のオペレータに関連され、p−X形式を取る
。ただし、pはパラメータの存在を示し、Xはパラメー
タの値を示す。 この実施例において用いられる明示ターミネータの1形
式がある。このターミネータ=2PRETにより表わす
。 第4A図〜第4E図に示す例の式を参照すると、1キヤ
ラクタを有する式、即ちXにスパースクリプト2を付け
た@x1の式を示す。第4A図における4式の可視的な
表示の直ぐ下に′1式4Aの符号化形式に対応したEB
  128のストリングを示す。 この実施例のストリングを右から左に読むと、(、)は
式の基準ラインに現れるキャラクタである。 (op−supscr)は上付き文字のローカル基準ラ
インに現れるキャラクタであり、(PRETI はスー
パ−スクリプトを終結するターミネータである。 第4B図を参照すると、第4B図は簡単なライン分割オ
ペレータを用い、分数x/y  ?発生する場合を示す
。4B式の符号化形式に対応することになるEB  1
28のストリングは、第4B図における4B式の可視的
な表示の直ぐ下に示されている。 このス) IJングを再び右から左に読むと、(op−
1nsp1t、)はライン分割オ啄レータを示す。 即ち、この基準ラインは原始基準ラインを中心とし、か
つこれに平行な2以上のラインに分割されるものである
。次の(p−x〕はライン分割オペレータに関連するパ
ラメータであり、ライン分割が中間の分数ラインにより
2ラインにするように前に定めた特定のライン分割処理
を示す。(X〕はライン分割の最上部のラインに存在す
るキャラクタであり、ライン分割の当該ラインが次の(
PRET)によシ終結される。最初の(PRET)に続
く〔y〕はライン分割の第2のラインに存在するキャラ
クタであり、次の(PRETI はこのライン分割のラ
インを終結する。この第2の(PRET〕の生起も既に
説明したように、ライン分割片はレータを終結させる。 第4C図を参照すると、第4C図はlキャラクタのキャ
ラクタ・ストリングを示す。l a lは@X7Z”の
スーパースフリプ)f有し、ここでスーパースクリプト
におけるキャラクタのサイズを基準キャラクタより小さ
くしである。第4C図に示される式(以下、40式と称
する)の符号化形式に対応すると思われるEB  12
8は、第4C図における40式の可視的な表示の直ぐ下
に示されている。 このストリン/l−左から右に再び読むと、〔1〕、〔
2〕及び〔3〕は、勿論、スーパースクリプlf付配し
た1a″  の前のキャラクタである。3つのキャラク
タ〔1,2及び3〕は全体で1つのユニットをなすこと
に注意すべきである。スーパースクリプトが1a1に付
記されていることは、〔a〕に続くスーツ−スクリプト
のオペレータ・コード(op−presupscr:l
  によシ示されている。しかし、スーパースクリプト
に現れるキャラクタのサイズを基準ラインに現れる1、
2.3. a、b及びCより小さくするので、スーツ−
スクリプト・キャラクタのキャラクタ・コー)’〔x)
 、 (y)及び(g’1は、基準ライン処理上のりサ
イズのためにオペレータ及びパラメータコービ、即ち(
op−resizonbase:1及び(p−−1〕を
前置させている。ここで、パラメータ値−1は縮小が基
準寸法からのキャラクタサイズであることを示す。 スーパースクリプトの後で、通常、即ち基準キャラクタ
サイズに復帰させるので、スーパースクリプトのキャラ
クタ・コードの前の基準オペレータに基づくりサイズは
、スーパースクリプト・キャラクタの寸法を減少させる
ものであし、基準オペレータ上で別のりサイズにより終
結される。この別のりサイズは、スーパースクリプト・
キャラクタに相対する次のキャラクタを拡大、即ち次の
キャラクタを基準サイズに復帰させるものである。 このターミネータは、基準オペレータ [:on−r+Ba1zonbase〕 上の第2のり
サイズであし、+1の値によるパラメータCp−+1)
  をiする。 第4D図を参照すると、一つの基準キャラクタを有する
式(以下、第4D式と称する)の例が示されている。こ
の基準キャラクタには一つのスーパースクリプトと、一
つのサブスクリプトが付加されていると共に、更にこの
スーツ−スクリプトは一つのサブスクリプトヲ有する。 第4D式の符号化形成に対応することになるE]3 1
28のストリングは・第4図における第4D式の可視的
な表示の直ぐ下に示されている。 このストリング金属から右へ読むと、〔A〕は勿論基本
キャラクタであり1次のスーパースクリプトオペレータ
(op−supscr)は基本キャラクタに付加された
スーパ−スクリプトである。最初のスーパースクリプト
−オペレータに続く最初の(1)は基準キャラクタIA
Iに付加されたスーパースクリプトに現れるキャラクタ
であり、その直ぐ後のターミネータ(PRET:l は
このサブスクリプトを終結する。最初のl:PRET]
 に続くサブスクリプト・オペレータ・コード(op−
supscr)は他のオペレータを示す。このサブスク
リプトに対する基準キャラクタになシ得る唯一のキャラ
クタ・コードは(A)である。即ち、(A)と最初の(
op−subscr)との間に現れる〔1〕はスーパー
スクリプト・オはレータの一部であし、最初の(PRE
TylCよυ終結されるので、このサブスクリプト・オ
ペレータに対する基準キャラクタとして得られるものは
ない。 従って、この最初のサブスクリプトは1A1に付加され
る。最初のこのサブスクリプトに対するキャラクタ・コ
ード〔1〕の直ぐ後には第2のサブスクリプト・オペレ
ータ・コード、即ち第2の(op−gubscr’)が
続く。この最初のサブスクリプトは、この第2のサブス
クリプトオペレータが生起する前に終結されることはな
いので、CA)に付加されたサブスクリプトの〔1〕は
この第2のサブスクリプトに対する基準キャラクタとす
ることができる。従って、第2のサブスクリプトは第2
の〔1〕、即ちサブスフリプ)Jlに付加される。第2
のサブスクリプト−コート9にはサブスクリプト111
、即ち[、!]に対するサブスクリプトとして現れるキ
ャラクタが続き、このキャラクタには2つのサブスクリ
プト・オにレータ會終結させる2つのターミネータ(P
RET)及びCPRET)が続(。 最後に、第4E図は第4A図〜第4D図に示す式よシい
くらか複雑な式(以下、第4E式と称する)の例である
。第4E式の要素、及びEB  128に現れるその結
果の第4E式の符号化形式は、以上で説明したものと同
様であり、従って第4E式を詳細に説明はしない。第4
E式の符号化形式に対応すると思われるEB  128
のストリングは、第4E式の可視的な表示の直ぐ下に示
されている。 第4E式の例で注目されるものとして、ユニット12−
 y @及び@ 1 + X @について実行されるリ
サイズ処理と、これらのユニットにより形成される分数
を取シ囲む曲線の括弧がある。12.、、#及び”1+
X”のりサイズは、基準でなく、中心口りに実行される
というよシも、第2C式の単位’ xyz ’について
実行したものと同一である。これら2つのユニットを形
成する分数の回りに現れる“〔°及び1〕1を実行する
ことにより、′〔1、及び1〕1は分数を取シ囲むだめ
のサイズのものとなる。 以上で説明したように、LUS  13Qは、EB 1
28に関連され、かつ結合されており、EB  128
の符号化形式に記憶されている各ユニットについてユニ
ット構造(US)136が含まれる。US  136に
は、EB  128に符号化形式で記憶されている関連
のユニットの可視的な表示を形成するために必要な情報
が含まれている。LUS  13QのUS  136は
ストリングとしてではなく、ユニット構造ポインタ(U
SP)138  により結合された個々のデータ構造と
して記憶されると共に、各US  136は1以上のU
SP  138を介して関連するUS  136に結合
される。更に、LUS  130における各US  1
36は関連するEU  134に結合され、即ち1組の
ポインタを介して BE  128において対応する符
号化ユニットを一緒に構成しているコードのサブストリ
ングに結合される。これらのポインタは全体で符号化バ
ッファ・ポインタ(EBP″+ 140  として表わ
されている。 第5図を参照すると、 US  136のデータ・フィ
ールドが示されている。US  136に含まれている
情報フィールドは、1 128において対応する符号化
ユニットにUS  136を関連させる情報と、ページ
上の物理的な大きさ及び位置のときに記述子を含むユニ
ットの若干の特性を説明する情報と、関連するユニット
のUS  136に対してUS  136を結合する情
報とを含む4つのグループに構築される。 第5図に示すように、構造識別グループ502は、EB
  128において対応するユニット−サブ−ストリン
グにUS  136を結合する複数のポインタと、要素
又は項の番号、即ち対応するサグ・ス) IJフラグお
けるコードを識別するフィールドとを含む。 構造識別グループ502に存在するポインタは、前に説
明した当該ユニットに対するIBP  14Qのポイン
タである。このユニットは、そのEU  134に。 即ち対応する符号化ユニットと共に構成するコードのサ
ブ・ストリングに当該ユニットのUS  136を結合
させるものである。   。 特性識別グループ504はそのグラフ表示を実行するユ
ニットの一定の特性を識別する。続いて、このグループ
は3つのサブグループ、即ちユニットについての概要情
報を含む概要情報サブグループ506と、ユニットの開
始時の状態に関する情報を含む開始状態サブグループと
、ユニットの終端時の状態に関する情報を含む終結状態
サブグループ510に分割される。 構造フラグ512は親即ち前のユニットからユニットを
分離させる理由を識別し、構造ポインタ・グループ51
4は関連する全てのUS  136に当該US  13
6を結合する前記説明のUSP  138を含む。 例えば、ユニットが基準キャラクタのときは、構造ポイ
ンタ・グループ514に存在するUSP  138のポ
インタは、当該の基準キャラクタに関連するサブスクリ
プト及びスーパースクリプトを含む関連するユニット又
は多重ライン分割基憩ユニットと、次に前後するユニッ
トとを指示することになる。 ここで、更に詳細にUS  136のデータ・フィール
ドを説明すると、これらのデータ・フィールドには限定
的ではないが、次のものを含めることができる。 含むフィールドであし、ユニットを開始する要素、キャ
ラクタ又はオペレータのEB  128における位置を
識別する。 5TARTCHAR518: EB  128へのオフ
セットを含6フイールドであり、テキスト要素、即ちユ
゛  ニットを開始するキャラクタ又はシンボルの位置
に識別する。 ユニットを有するサブストリングの要素数、即ち5TA
RTPO8516とサブス) IJフラグ終端との間の
キャラクタ及び(又は)シンボル、オペレータ、パラメ
ータ及びターミネータコードワード1の数を識別するフ
ィールP0 クションに対し、k−ジ上のX7絶対位置を含む2フイ
ールド9のグループ。 UN工TDIMS  524: 5TARTLOC52
2周りの各方向、即ちユニットの大きさの最大及び最小
X7範囲を含む4フィールドのグループ。 囲、即ちユニット+5TARTLOC522周シの各方
向のユニットに関連する全てのスクリプト、ライン分離
及びバー・ユニットの大きさを含むフィールドの4グル
ープ。 L工NESPL工TNt1M  528 :ユニットが
ライン分割を含むときに、ユニットのライン分割におけ
るライン数を含むフィールド。 L工NESPL工TLOC530:ユニットにライン分
割があるときに、ライン分割のキャラクタ基準のX7座
標を含むフィールド。 SCR工PTDEPTH532:ユニットのキャラクタ
及びシンボルが基準サイズによるときに、スクリプトに
おけるしはル降下数を含むフィールド。 ユニット開始状態情報サブグループ508:BEGFO
NT  534  :ユニットの開始フォントを識別す
るフィールド。 このストリングに対するペースリサイズ係数を含むフィ
ールド9゜ 中心周りのBEGFONTリサイズ係数538:中心周
りの当該ストリングに対する基準リサイズ係数を含むフ
・イールド。 シンボルがイタリック形式であることを示すフラグを含
むフィールド。 オントを識別するフィールド9゜ 次のストリングに対する基準リサイズ係数を含むフィー
ルド。 ストリングに対する中心周りの基礎リサイズ係数を含む
フィールド。 END工TAL工Cフラグ548:イタリック形式を終
結するフラグを含むフィールド。 のグループを分離する理由を識別する情報を含むフィー
ルド9゜ 構造ポインタ・グループ514 6スクリプト位置に対する論理ポインタを含む6フイー
ルド・グループ。ユニットに関連するスクリプト・ユニ
ットがあるときは、複数のポインタを対応するフィール
ドに組み込む。 り可能な各サプラインにおける各開始ユニットに対する
論理ポインタを含む10フィールドのグループ。対応す
るサプラインがちるときは、特定のフィールドはポイン
タを含み、またライン分割に対応するサプラインがない
ときは、場所保持値を含む。 関連のバー・ユニットがあるときに用いられるバー・ユ
ニットに対する論理ポインタを含むフィールド9゜ NEXTUNIT  566:ラインのシーケンスにお
ける次のユニットに対する論理ポインタを含むフィール
ド。 PREVUNIT  568ニラインのシーケンスにお
いて前のユニットに対する論理ポインタを含むフィール
ドゝ。 作成され、かつ編集されるテキストに直接関連するデー
タ構造を説明したが、パーサ−148については以下で
更に詳細に説明する。 以上で説明したように、パーサ−148はEE146の
動作に応答して動作して、EB  128にあるコード
・ストリングから表現、即ち式の符号化ユニットを定め
るキャラクタ、オペレータ、パラメータ及びターミネー
タ・コードを読み出し、コードを符号化ユニットに構文
解析をし、対応するUS  136を構築する。この点
から、また以上で説明したように、パーサ−148〜E
E 146 に対する応答は、ユーザーが1 146に
キー人力した特定のコードに依存する。若干の場合に、
パーサ−148は、ユニットにより指示されたオペレー
タが基本的にこのユニットを変更しないコードから情報
を受は取る。例えば、ユニットが単に一方のキャラクタ
から他方のキャラクタに変更、又は付加プロップでキャ
ラクタ・ストリングに1キヤラクタを加算することがで
きる。この場合に、EE146は単にキャラクタ(i−
VD工 150に渡して表示fル(!: 共に、 対応
fルUS  136 〕EXTENDEI)D工MS5
26のフィールドを更新し、パルサー148をバイパス
する。RETURN コード又はPSEUDORETU
RNコードによシ示されるように、ユニットに対する基
本的な影響を示すときは、パーサ−148は対応するU
S 136を対応して更新、即ち更読み込みをし、更新
をしたUS  136をVD工 150に渡す。パーサ
−148は、フォーマット又はコマンド・オペレータ・
コード、例えばスクリプト−コーh”を検出したときは
、このユニット及びus  136を終結し、必要に応
じてこのtJs  136を更新し、新しいus  1
36を開始する。 次に、パーサ−148の構造及びオはレータを表わすフ
ローチャートによし、パーサ−148の構造及びオペレ
ータを先ず説明し1次いで第4A図〜第4E図を参照し
て前に説明した例式を用い、笑施例とする。 第6A図〜第60図を参照すると、パーサ−148の構
造及びオペレータを表わすフローチャートが示されてい
る。ここに示す要素のために選択したタイトルは、特に
この説明の他の部分との組合わせが当業者にとり自明と
なるように1選択されたものであって、パーサ−148
の説明に必要な図面なしのテキスhtを減少させること
に注意すべきである。 第6A図を先ず参照すると、パーサ−148の概要図が
示されている。ここに示すように、パーサ−148は実
行すべき処理を定めるEE  146の情報を受げ取し
、CASE処理を実行して処理の形式を決定する。次い
で、パーサ−148は、処理が完了するまで処理に従っ
て10通シ可能な分岐のうちの一つを取り、パーサ−1
48は出口に行き、BEE146から次の入力を待つ。 第6A図に示すように、ここでパーサ−148によシ実
行される10通シ可能な分岐には1次のものが含まれる
。 (l)[このユニットを描りJ 602 ;(21rこ
のユニットからこのラインの終端まで描< J 604
 ; (3)[このユニットからこのラインの終端まで構築す
る/描< J 606 ; (4)「このラインを構築する/描< J 608 ;
(5)[このユニットからスクリーンの終端まで構築す
る/描(J 610 ; (6)「このラインからスクリーンの終端まで構築する
/描< J 612 ; (7)「このスクリーンを構築する/描< J 614
 ;(8)「次のスクリーンを構築する/描(J 61
6 ;(9)「ビネー・モードにより構築する/描く」
(注;これは、スクリーン上に可視的な表示が制御及び
編集コードなしで、即ち表現としては−ジ上に印刷され
て現れるであろうときのそ一部9である。) αl 「ファイルに対して全は−ジを構築し及び(又は
)出力する」620゜ これらの各分岐について第6図の残りのいくつか全参照
してそれぞれ説明し1次いでこれらの分岐に現れるい(
つかのルーチンを更に詳細に説明しよう。 第6B図を参照すると1分岐(1)の場合、「このユニ
ットを描(J 602の場合が示されているここに示す
ように、この分岐は、「スクリーンの一部金クリアする
」622からなり、これは更にユニット1−出力する6
24を呼出し、出口となる。 第6C図を参照すると、分岐(2)の場合、[このユニ
ットからラインの終端まで描(J 604の場合が示さ
れている。ここに示すように、「この分岐にはスクリー
ンの一部をクリアする」622と、これに続(「ユニッ
トを出力する」624とが含まれる。この分岐にも、「
ラインの終端か」(3)と、これに続(「ユニットヲ出
力する」624とが含まれ、現在ラインの終端に達した
かを判断をする。 否定(N)のときは、ラインの終端に達するまで、分岐
は、「次のユニットを見付けるJ 627 i介し、出
カニニット624に戻り、ラインの終端のときは、出口
となる。 第6D図を参照すると、分岐(3)の場合、「このユニ
ットからラインの終端まで構築する/描く」粥の場合が
示されている。ここに示すように、このブロックは、「
このユニットを引き続き構築する/表示する」628の
モジュールからなる。 第6E図を参照すると、分岐(4)の場合、[このライ
ン金構築する/描< 4608、及び分岐(6)の場合
、「このラインからスクリーンの終端まで構築する/描
< J 612がそれぞれ示されており、これらの分岐
は同一である。図示のように、これらの分岐は、「スク
リーンの一部を構築する」630からなる。 第6F図を参照すると、分岐(5)の場合、[このユニ
ットからスクリーンの終端まで構築する/描< j 6
10が示されている。図示のように、この分岐は「この
ユニットを構築する/描< J 628と、これに続い
て判断ブロック「他のラインを描くか」632とからな
る。描くべき他のラインがないときは、「他のラインを
描(か」632から出口となり、描りヘき他のラインが
あるときは、「他のラインを描(か」632は、「スク
リーンの一部を構築するJ 630 ”、呼出し、出口
となる。 第6G図をi&後に参照すると、分岐(7)の場合、「
このラインからスクリーンの終端まで構築する/描< 
4612 、分岐(8)の場合、「このラインを構築す
る/描<J 614 、分岐(9)の場合、「次のスク
リーンを構築する/描< J 616 、及び分岐(1
0)の場合、「ファイル全ページに構築する/出力する
」620の場合がそれぞれ示されている。これらの場合
は、図示のように判断ブロック「前のラインを表示する
」636、及びスクリーン全構築する」638に分岐す
る判断ブロック「前のラインを再表示するか」634を
有し、「前のラインを表示する」636は、「スクリー
ンを構築する」638も呼出し、次いで、「スクリーン
全構築する」638が出口となる。 パーサ−148の主分岐を説明したので、次にこれらの
分岐内の各モジュールをある程度詳細に説明しよう。 第6H図を8照すると、「このモジュールT:@築する
/描< j 628のフローチャートが示されている。 図示のように、このモジュールには、設定640が含ま
れてお9、これに続き、「スクリーンの一部?構秦する
J 628 ′8i1″呼出し、これに続き、「このユ
ニット−オンからラインの終端まで描く」606 ’!
!−呼出1−1これが出口に行(。 第6エ図は、「スクリーン全構築する」638のフロー
チャートが示されている。図示のように、このモジュー
ルには判断ブロック「このスクリーンか」642が含ま
れている。「このスクリーンか」642は「環境を含む
次のスクリーンに対する設定をする」644 と、[環
境を含むこのスクリーンを初期化する」646とに分岐
する。続いて1図示のように「環境を含む次のスクリー
ンを設定する」(4)と、「環境を含むこのスクリーン
を初期化する」646とは、「スクリーンをクリアする
J 648 を呼出し、更に前に説明した「スクリーン
の一部を構築する」630を呼出す。「スクリーンの一
部を構築する」630は出口に行く。 第6J図は「スクリーンの一部を構築する」630のフ
ローチャートを示す。図示のように。 「スクリーンの一部を構築する」630は「カーソルを
移動させる」650から開始しており、これに「環境を
初期化する」652と、前に説明した「スクリーンの一
部をクリアする」622が続(。「スクリーンの一部を
クリアする」622には「ラインを構築する」654が
続き、「ラインを構築する」654には「ラインを配置
する」656が続(。「ラインを配電する」656には
前に説明した「ビニ−・モードにより構築する/描< 
J 618の呼出が可能な判断ブロックが続く。判断が
肯定(Y)のときは、「ラインを出力する」658″f
I:呼出す結果となり。 これが続いて判断ブロック「表示と共に行なうか」66
0 i呼出す。「表示と共に行なうか」660が否定(
N)のときは、「ビュー・モードにより構築する/描(
j 618に関連する判断ブロックから直接呼出される
。表示をしなかったときは、「表示もするか」660は
出口に行く。 第6に図を参照すると、「ラインを構築する」654が
示されている。図示のように、「ラインを構築する」6
54は判断ブロックの「全ラインe[築したか」662
から開始し、「全ラインを構築したか」662は「環境
を補正する」664及び「ライン構造を初期化する」6
66に分岐する。先ず、「環境を補正する」664への
分岐を説明すると、この分岐は「ラインの一部を分割す
る」668と、「ユニット・ボックスを延長する」67
0と全実行する。「ユニット・ボックスを延長する」6
70は「不要ユニットを除去する4 672 ft呼出
す。「ライン構造を初期化する」666への分岐は「ユ
ニットを分割する」674を実行し、また「ユニットを
分割する」674も「不要ユニットを除去する」672
を呼出す。ただし、「不要ユニットを除去する」とは構
築中のユニットを結合するために、ユニットの構築中に
用いた実質的に一時空きのユニットのことである。最後
に、「不要ユニラミ除去する」672は「次のラインの
準備をする」676を呼出し、最後に出口に行く。 第6L図を参照すると、「ラインを分割する」674が
示されている。これは「ラインの開始について設定する
」676からなり、これに「ラインの一部を分割する」
678が続き、更に出口に行く。 第6M図上参照すると、「ラインの一部を分割する」6
78が示されている。図示のように、「ラインの一部を
分割するJ 678は「現在のユニット状態を得る」6
80から開始し、これに「現在のユニット構造を初期化
する」682が続き、これが「ユニットを構築する」6
84を呼出す。続いて「ユニットを構築する」684は
判断ブロックの「ラインに移動するのかJ 686 k
呼出す。この判断ブロックが否定(N)のときは出口に
分岐し、肯定(Y)ノときは「次のユニットの形式を決
定する」幌に分岐する。続いて「次のユニットの形式を
決定する」688は「次のユニツ)f付加する」690
と、「次のユニット構造に移動する」692とを実行す
る分岐に進み、「現在のユニット構造の初期化をするJ
6821に呼出す。 第6N図を参照すると、[ユニツ)1構築する」銅が示
されている。図示のように、「ユニットを構築する」6
84は「設定」640から開始され。 「次のキャラクタを属性と共に得るj 694 ’に呼
出す。「次のキャラクタ′f:、pA性と共に得る」6
94には、判断ブロック「ユニットにキャラクタがある
か」が続き、この判断ブロックが否定(N)のときは出
口に分岐し、肯定(Y)のときは「ユニットに加える」
698に分岐する。続いて、「ユニットに加算する」6
98は「次のキャラクタを属性と共に得るJ 694 
’i呼出すことができる。 最後に、第60図を参照すると、「次のユニットの形式
を決定する」688が示されている。図示のように、「
次のユニットの形式を決定する」渕は判断ブロック[現
在のユニットはオにレータの前で終結したか」601″
lr開始し、この判断ブロックが肯定(Y)のときは、
「次のユニットはこのユニットヲオフにするJ 603
 K分岐した侵、出口に行く。r現在のユニットはオペ
レータの前で終結したか」601が否定(N)のときは
、「次のユ′ニットはこのユニットに対する基準をオフ
にする」605に分岐し、これも出口に行(。 フローチャートによりパーサ−,148の構造と処理と
を説明したので、次に、式4A〜式4Eとして与えられ
、前に説明したFEB  128の符号化ストリングの
例を用いて、EB  128に存在するキャラクタ、シ
ンボル、オペレータ、パラメータ及びターミネータコー
ドのストリングを構文解析し、かつこの表現又は式を符
号化ユニットに定める際のパーサ−148の処理を実施
例によシ説明しよう。 特に、第4A式、第4B式及び第4C式を用いてこの処
理を説明する。次の実施例はパーサ−148による構文
解析の省略形式を得るものであし、1つのストリングを
ユニット構造に構文解析する際に1次の例で説明する付
加的なオはレータがあることに注意すべきである。例え
ば、境界ボックスの拡張サイズ、即ちその長さ及び高さ
を決定すること、及びR−ジ上のボックスを決定するこ
とが必要である。 EB  128のストリングとして、その可視的表示及
びその符号化形式で第4A図に示す第4A式を先ず参照
すると、第4A式の符号化形式には4つのコート・ワー
ド9.即ち〔x〕、(op−subscr)、〔2〕及
び(PRET)が含まれており、EB 128の当該シ
ーケンスに現れる。 mJA式の場合に、パーサ−148はこのストリングを
複数のユニットに構文解析するために次の処理シーケン
スを実行する。 新しいUS15ft含む新しいユニットを初期化する。 新しいワード9′f:調べる。このワードは1x1に対
するキャラクタ・コーYであり、ストリングの状態のた
めに更新は必要でない。ストリングの第1キヤラクタと
して、このワードがユニットに自動的に置かれる。スト
リングの次のワードに増分される。 次の、ワード9を調べる。このワードはオペレータ・コ
ート” Cop−aupscr)であり、スーパースク
リプト・オはレータとしてユニットの切れ目金判断、即
ち新しいユニットの開始を知らせる。このユニット構造
にフラグを設定してスーパースクリプトが現在ユニット
に付加されていることを表わす。 ストリングの次のワードまで増分される。 新しいUS16を含む新しいユニツ[−開始し、初期化
する。 次のワードヲ調べる。これは12@に対するキャラクタ
・コート9であり、ストリングの状態のために更新を必
要としない。ユニット・ストリングの第1キヤラクタと
して、このワードはユニットに自動的に設定される。ス
トリングの次のワードに増加される。 次のワード全調べる。これはターミネータ・オペレータ
eコード[PRETIであり、前のしはルに戻るユニッ
トの終端としてユニツ)(0切れ目を再び判断するコー
ドである。ストリングの次のワードに増加されて前のレ
ベルに戻る。 テキストの終端を検出する。テキストの構文解析全完了
する。 第4B式全参照すると、この式には6つのコード・ワー
ドが含まれている。即ち(op−1nsp1t〕、(p
−1)、(X”l、(PRI;T”l、(y”l及び(
PRETIが含まれ、ライン分割オにレータの使用を示
して分数を発生する。 第4B式の場合に、パーサ−148は次のシーケンスの
処理全実行してこのストリングラ複数のユニットに構文
解析する。 新しいUS 16t−含む新しいユニット?開始して初
期化する。 次のワード9を調べる。これはライン分割のため1);
4− A レ−l’ ・ニア −)−’ (op−1n
sp1t)である。新しい次のワードを得ることによジ
オはレータのパラメータl:p−1)  k得て、パラ
メータ・キャラクタ上ユニツトに配置する。次のワード
、即ちオペレータ・コードに増加する。 次のワード即ち、ライン分割に対するオにレータ・コー
ト9を調べる。パラメータはこのライン分割が分数・、
即ちその間の分数ラインを有する2つのラインのもので
あることを表わす。US 16においてこのユニットが
現在の「親」 ユニットに対する「子供」として2つの
ユニットを有するという定義を書き込む。 新しいユニッ)f開始して初期化する。これは分数ライ
ン分割の第1ラインに対するユニット、即ち分子である
。 次のワードを調べる。これはキャラクタ1x1に対する
コート9である。ストリングの状態のために更新を必要
としない。ユニットの第1キヤラクタとしてこのワード
9は自動的にユニットに設定される。次のワードに増分
される。 次のワードヲ調べる。これは、ユニツ)t−次に高いレ
ベルに戻すターミネータとして、ユニットにおける切れ
目を判断するターミネータ・オペレータ・コード(PR
ET)である。疑似リターンはラインを区切ることがで
きる。次のワードに増分され、前のしばルに戻る。 新しいUS136i含む新しいユニラミf開始して初期
化する。このユニットはライン分割における第2ライン
、分子である。 次のワードヲ調べる。これはl y Iに対するキャラ
クタ−コート9である。ストリングの状態のために更新
を必要とせず、新しいユニットの第1キヤラクタとして
自弛的にユニットに配置される。次のワードまで増分さ
れる。 次のワード9を調べる。これはターミネータ・オはレー
タeコード(PRET)であり5次に高いレベルにユニ
ットを戻すターミネータとしてユニットにおける切れ目
を判断する。次のワードに増分されて前のレベルに戻ル
。 テキストの終端を検出する。テキストの構文解析を終結
する。 第4C図の式4Ct最後に参照すると、この式には以上
のように構文解析された15コード・ワードが含まれて
いるので、全てを詳細に説明することはしない。しかし
、この式は4ユニツト、即ちキャラクタ・グループ、即
ちストリング1123“、’X7Z’、1,1及びl 
bc l と、1a1について処理をする接頭辞オにレ
ータ(op−presupscr〕とを含むことに注意
すべきである。このオペレータのために、′awは第1
ストリング”123”の一部でも、また最終ストIJン
グの一部でもない。即ち、接頭辞オはレータは’123
’及び”bc”k含むユニットからの@ 、 # (、
含むユニット1)l13する。 符号化した式の構文解析及び対応するUS  136の
構造について、更に複雑かつ完全な例′)を説明するに
先立ち、既に説明したい(つかの係数について再び説明
する必要がある。先ず、ユニット及び式の表示可能な表
示を生成するために、各ユニットについて決定し、かつ
保持する必要があるいくつかの係数がある。これらには
、ユニットを何処に描〜、またユニツ)f他のユニット
にどのように関連させるかについてのユニットの特性が
ある。 各ユニットの現在の環境状態について定めることが必要
な特性には、例えば現在のフォント及び現在のりサイズ
が含まれる。EB  128における現在のユニットの
開始位置、第1キヤラクタの位置及びEB  128に
おける第1キヤラクタの位置及び符号化ユニット・スト
リングの長さも、決定され、かつ保持しなければならな
い。この情報はEB128の符号化ユニットにアクセス
することを可能にするので、ユニット′ヲ編集し¥新す
ることができる。次いで、ユニットの範囲及び位置を定
める情報を計算して記憶しなければならない。必要な範
囲及び位置の値には、最大及び最小のX及びyの値と、
ユニットの長さが含まれる。ユニットの第1キヤラクタ
が幾例学的な位置o、oから開始するものと仮定して、
これらの値上計算することに注意すべきである。これに
より、ライン上の分数増分を含め、ページ又はラインの
どのような位置にもキャラクタの基準ラインを配置させ
ることができる。 更に、ライン、即ちページ上の他のラインに関連してシ
ーケンスのユニットの位τに決めするためには、い(つ
かの情報が必要なことに注意すべきである。これらには
現在のサイズ及びフォントと、EJ3 128の開始位
置及びキャラクタ数とが含まれ、これによってEB  
128にアクセス?してライン・データ全編集及び更新
することができる。キャラクタ情報はラインにとって必
要でないことに注意すべきである。最後に、ラインのサ
イズ及び位置に関する情報を決定し、記憶しなければな
らない。 即ち、この情報はユニット情報の同一構造、即ちUS 
 136に記憶される。 最後に1以上で説明したように、式又は表現の1又は複
数のラインを1以上の「スクリーン」上でユーザーに表
示する。このために、スクリーンは高次のラインとして
、即ち暗黙のライン分割の形式として見做され、また現
在ラインが多(の断片に分割されて、1以上のスクリー
ンに互る場合に、式の表示又は印刷が「オフ・スクリー
ン」の開始を可能にさせる。従って、スクリーンの開始
位置及び現在位置を決定して記憶しなければならない。 スクリーン開始位置を実際の表示スクリーンから離すこ
とができるので、スクリーン上で実際の位置を表わす現
在位置は、表示又は印刷が実際に開始する位mk表わす
位置であることに注意すべきである。 以上で説明したように、パーサ−148により、ユニッ
ト構造を発生する符号化ユニットの分解能と、ユニット
構造の構築、即ち以上で説明した情報を含むUS  1
36とが実行される。これらの処理を実行する際に、パ
ーサ−148は実質的に符号化ユニット及び対応するU
S136に介して131回パスする。この点から、US
  136は「ツリー」構造を有するものと見做すこと
ができる。ただし、US  )36は、US  136
の構造ポインタ・グループ514に存在するポインタに
よって、互いに個別的に、かつラインにおける要素とし
てユニットの論理的及び物理的な関係を反映する構造に
統合され。 これによってライン相互の関係を反映させる。パーサ−
148は、ツリーに沿って1回目の「パス」をし、続い
て各ユニットに対する各「分岐」をユニット構文解析さ
せ、かつ各ユニットの範囲及び特性を決定することを含
め、対応するこれらのUS  136を構築する。次に
、パーサ−148は分岐に沿って逆方向に2回目のバス
をしてこれらの最大値y(垂直方向の)サイズを決定す
る。最後に。 パーサ−148は1回目と同一方向に3回目の「パス」
をし、は−ジとそのラインにおけるユニットの位置全決
定する。最後の4回目に、パーサ−148はVDI  
150にユニット情報を読み出して表示をする。 以下の説明に関連して、パーサ−148はユニットのツ
リーヲパスする際に、有効な2つのパスのうちのいずれ
かに行(ことができることに注意すべきである。第1に
、パーサ−148は全体としてツリーヲそれぞれパスし
てもよい。即ち、第1パスにおいて、パーサ−148は
開始し、その先頭、即ち最後のユニットへの各分岐に行
く。2回目のパスにおいて、パーサ−148ヲ開始させ
、その先端、即ち最後のユニットに対する各分岐の先端
から開始し1分岐により開始に戻り、3回目のパスで1
回目の)饗スと、即ち各分岐の開始から終端まで同一の
パスに行く。第2に、またこれと異なるものとして、パ
ーサ−148は次の分岐に行く前に、各分岐に対して3
つの全バスを行なうことができる。ユニットのツリーを
介してパスするこれらの方法は、「全体としてツリー」
及び「一時に分岐」と呼ぶことができる。次の例では、
「全体としてツリー」の方法は最も理解が容易なものと
して示されている。しかし、次の付記に説明しているよ
うに、ここで好ましい実施例では「一時に分岐」の方法
愛用いる。 パーサ−148の処理を第4E図に示すように式4Eの
支援により説明しよう。以上で説明したように、この式
はEB  128で符号化した形式を取る。 [:eXop−supscr’1(2)(x:l(:P
RfdP) [y)[:+:] −−−[:op−re
sizoncntr](p−+2:I[(”)[:op
−resizoncontr]−−−(p−−2Xop
−1nspxt〕(p−I X+Xy:)(: PRE
T ’) −(1)(+)(x〕[PRET]1:op
−reeizoncntr:1(p−+2’:l() 
)−(1) (+)(1)(PRET )((op−r
esizoncntr〕(p−+2)C〕)−(op−
resizoncntr〕(p−2:1(PRh:T)
 −これらの例にはあワードが含まれ、iタユニyト1
 e l、′2x1、@ y+ (1,2+y1、I 
l +X @及び1)1が含まれる。以上で説明したよ
うに、ユニットは1回目のパスで構築され、各ユニット
のサイズが決定される。2回目のパスでは、これらの最
大のy大きさが決定され、3回目のパスではこれらの実
際の位置が固定されて表示される。次の説明の都合によ
り、標準的なキャラクタの高さ及び幅は101’−ユニ
ット」であると見做されることに注意すべきである。 次に、パーサ−148は次のステップを実行する。 これらのステップは前に説明したものと同じようなもの
であるので、省略形で表示する。 US 136を含む第1ユニツト(イタリック1)’に
開始して初期化する。 〔e′3を得る。ユニット1に加算する。最大値(ma
x)及び最小値(min)x及びyの範囲(max x
、min xlmaw ylmin y)が(0,7;
0.10)であることを判断する。 (op−supscr″3を得る。現在ユニットを終結
し、次のユニット(ユニット2)を開始する。 〔2〕を得る。ユニット2に加算する。maX/fni
n範囲一(O13,5; Ol 5)(スクリプトが1
/2標準高さであることに注意すること)。 〔x〕を得る。次にターミネータが来ないので、現在ユ
ニットに1xIを加算する。maw/min範囲一(0
,7;015)。 CPRET’l を得る。ユニツtt−終結する。 新しいユニットを開始する(ユニット3)を得る。ma
x/min範囲一(0,7;0.10)。 〔+〕を得る。次に来るターミネータはないので、ユニ
ット3に1十lを加算する。max/min範囲一(0
,13;0% 10)。 Cp−+2] k得る。キャラクタが2標準キャラクタ
高さである現在環境、即ち1+(2*l/2)のそヤラ
クタ高さを変更する。 〔(〕を得る。次のターミネータがないので、ユニット
3にICを加算する。ma x / min  範囲=
0.23;−5,15)。 (op−rssizoncntr) f得る。現在環境
を変更する醜備をする。 (p+−2)を得る。現在環境状態を1標準キャラフタ
高い牛ヤラクタに変更する。即ち、前の2つの標準キャ
ラクタ高さから−2金引き算する。 Cop−1nspxt:) k得る。新しいキャラクタ
はユニット3に行くことができる。ライン分割の準備に
する。 Cp−1)  を得る。2ライン分割によりループし、
ライン分割のライン間の分数バーを配置することに注意
する。 ユニット4を開始する。 〔2〕を得る。ユニット4に121を加算する。 Bax、 min範凹=(0,7;0.10)。 〔+〕を得る。次に来るターミネータはないので。 ユニット4に1+1を加算する。max、 min範囲
=(0,13;0.10)。 (y〕を得る。次に来るターミネータはないので。 ユニット4にy″を加算する。max、 min範囲=
(0,20;0110)。 l:PRET″l を得る。ユニット′を終結する。ラ
イン分割の第2ラインに行(。 ユニット5を開始する。 (Di−4る。ユニット5にJ−t、加算する。 max%min、範囲=(0,6;0.10)。 〔+〕ヲ得る。次に来るターミネータはないので、ユニ
ット5に1+1を加算する。max、 min範囲=(
0,12;0110)。 〔X″Ie得る。次に来るターミネータはないので、ユ
ニット5に@ + l i加算する。max/min範
囲=(0,17;0.10)。 [:PRET]−t(得る。ユニット5を終結する。基
準ラインに戻る。 ユニット6を開始する。 [op−restzoncntr] k得る。現在環境
を変更する準備をする。 (p−+2)を得る。キャラクタ2に対する環境状態を
標準キャラクタ高さに変更する。 〔(〕を得る。これは第1キヤラクタ、即ちユニット6
であるので、ユニット6に1)1を加算する。maX 
/ min範囲=(0,10;−5,15)。 (op−resizoncntr″lk得る。現在環境
を変更する準備をする。 Cp−−2)を得る。キャラクタの現在環境状態を1標
准キャラクタ高いキャラクタに変更する。 〔PRET:] を得る。ユニット6を終結する。 ユニット6の最大のYの大きさを定める。(−5,15
);ユニット5の最大のYの大きさを定める。(0,1
o);ユニット4の最大のYの大きさを定める。(0,
1o);ユニット3の最大のYの大きさを定める。(−
5,15);ユニット2の最大のYの大きさを定める。 (0,5);ユニット1の最大のYの大きさを定める。 (−5,15);ば−ジの端から(0,0)から開始す
る。論理ページの外側を拡大することな(、全ての範囲
が完全にページ上に存在するように深−ジの上端に合わ
せなければならない。このスクリーン上にマツプ化する
前に、この処理を実行する。 ユニット1を(O115)に配置及び(又は)表示をす
る。これは啄−ジ内に最大のYの大きさを開始する。 ユニッ、ト2を(7,15)に配置及び(又は)表示を
する。これは基準キャラクタ181に対してその位置に
よりスフリプトラ配置する。 ユニット3を(14,−15) に配置及び(又は)表
示をする。これはユニット2)スクリプト・ユニットの
後にユニット3を配置する。 ユニット4を(37、−10)に配置及び(又は)表示
をする。ユニット4はライン分割の分子であり、分母ユ
ニット上に配置される。 ユニット5を(38,8、−20)に配置及び(又は)
表示をする。非偶数座標は分数内の項の中心から発生す
る。これは分子ユニット5を配置するものである。 ユニット6’t(57、−15)に配置及び(又は)表
示をする。位置として配置される必要がない最終的な′
)1は自動的に続く。パーサ−148の処理を終了する
。 最後に、第7図にこの実施例の各ユニットについて、ユ
ニット構造、即ちこの実施例のユニット1〜6に対応す
るUS  136に記憶されたデータの概略的な要約を
示す。 生成し、編集すべきテキストに直接関連したデータ構造
及び機構全説明したが、テキストの生成及び編集処理に
おいてテキスト・エディターにより用いられたいくつか
のデータ構造を以下で説明し、次いでい(つかのテキス
ト作成及び編集処理の説明をしよう。 図) 以上で説明したが、更にテキストに直接関連する前記説
明のデータ構造に加え、この装置には、テキスト作成及
び編集処理を含め、総合的なシステムの処理に関連する
あるデータ構造が含まれている。以下で説明するように
、これらのデータ構造には限定的ではないが、システム
状態構造(SSS)160  と、1以上のライン・デ
ータ構造(LDS)162  と、1以上のスクリーン
・データ構造(SDS)164  と、1以上の挿入/
隠し込みデータ・アレイ(IHDA)166が含まれる
。 以上で説明したように、5S8160はテキスト−エデ
ィターのオにレータの現在の状態に関連し、かつ1又は
複数の現在の処理を実行する際に、テキスト・エディタ
ーにより用いられる情報を含む。 続いて、LDS  162は動作している現在のライン
に関連する情報を含み、一方SDS  164は現在の
スクリーンに関連する情報を含む。最後に、工HDA 
 166 は以下で更に詳細に説明する挿入及び隠し込
み編集処理に関連する情報を含む。 先ずシステム状態構造160を参照すると、5S816
0のブロック図が第8A図及び第8B図に示されている
。多数の要素があるので、第8A図及び第8B図は2つ
の図に分割されたものである。ここに示すように、ss
s  160の情報フィールドは11主要グループに構
築されている。これらにグループには、輪郭802)フ
ォント情報804、式情報806、現在スクリーン80
8、現在の処理状態810、表示状態812)現在の環
境814、現在の機能状態816、位置値818、パラ
メータ820、スクリーンサイズ822及びユニット情
報グループ887が含まれる(注:編集のためにシーケ
ンス外の参照番号)。 これらはフィールド・グループ及び各フィールドの内容
を以下命名順に説明しよう。い(つかのフィールドの目
的はそれらの説明及びテキスト・エディターの前の説明
から明らかである。他のいくつかのフィールドの目的及
び処理を以下い(つかの編集処理を説明することにより
説明しよう。 SSS  160の情報フィールドには、図示のような
ものが含まれるが、限定的なものではない。 輪郭802のグループ システム輪郭ポインタ824:この装置で現に得うレル
キャラクタ及びシンボルのフォントを識別する情報と、
現に得られるキーボード即ちKB144のキーに関連し
得る複数のセットのフォントとに対するポインタを含む
フィールド。 システム・ドキュメント輪郭ポインタ825 : fフ
ォールト・ト9キュメント輪郭に対するポインタを含む
フィールド。 ト9キュ“メント輪郭ポインタ826 ; DP  1
26に対するポインタを含むフィールド。 フォント情報グループ804 フォント・マツプ827:現に得られるサブフォントの
名称を含むフィールド。 キーボード’ 828:キーボードの名称のリスト及び
各キーボードのマツプを含むフィールドゝ。 キャラクタ輪郭829:与えられたキャラクタがストラ
イク・オーバー囃キャラクタ、区別的発音符号等である
か、というようない(つかのキャラクタの特性を識別す
るフォント。 フォント識別830:各キャラクタを表示することをV
D工 150に知らせるように、キャラクタとなる使用
可能なサブ・フォントにVD工 150を結合させる情
報を含むフィールド。 式の名称831:ファイル名に対するポインタを含むフ
ィールドであり、現在生成中又は編集中の式又は表現の
名称に対するポインタを含む。 キャラクタのファイル名832:現在処理中の式又は表
現を含むファイル名に対するポインタを有するフィール
ド1゜ キャラクタのファイル名833:式のファイルが存在す
るファイル名に対するポインタを含むフィールド9゜ 式の範囲834:式又は表現が現れるドキュメントにお
ける式又は表現に割り付けられている物理的な大きさ、
幅及び高さを含むフィールド。 当該式835 二EB  128の開始に対するポイン
タを含むフィールドゞ。 スクリーン・データ・ポインタ836:現在スクリーン
のアレイ、即ちSDS  164のアレイに対するポイ
ンタを含むフィールド。 現在スクリーン837:スクリーン・データ・ポインタ
836によシ指定されたスクリーンのアレイに対するイ
ンデックスを含むフィールドであし、スクリーンのアレ
イから現に表示しているスクリーン、即ち現在のスクリ
ーンのSDS  164を識別する。 ライン数838:そのスクリーンにおけるライン数を含
むフィールド。 ライン・データ・ポインタ839ニラインのアレイ、即
ちそのト9キュメントにおけるLDS  162のアレ
イに対するポインタを含むフィールド。 現在ライン・インデックス84oニライン・データ・ポ
インタ839によシ指示されたラインのアレイに対する
インデックスを含み、ラインのアレイにおいて現在処理
中のライン、即ち、現在のラインのLDS  162を
識別する。 使用可能ユニッ) 841 : LUS  10におい
て次に使用可能な未使用のUS  136に対するイン
デックスを含むフィールド。 ユニット・データ・ポインタ842 : LUS  1
0においてそのUS  136のアレイに対するポイン
タを含むフィールド。 現在ユニット・データ・ポインタ843:現在処理して
いるUS  136に対するポインタを含むフィールド
。 現在処理状態810のグループ 現在キーポード844=現在キーボードを識別するフィ
ールド9゜ 現在キーストローク845=現在キーストローク・コー
ド入力を含むフィールド。 前のキーストローク846:前のキーストローク・コー
ド入力を含むフィールド。 自動機械設定847:テキスト−エディターの現在状態
、又は入力状態を定めるフィールド(自動機械)。 自動機械入力848:テキスト・エディターに対する入
力を定めるフィールド(自動機械)。 自動機械機能849:テキスト・エディターにより現在
実行中の機能を識別するフィールド(自動機械)。 自動機械機能復帰850:テキスト・エディターによシ
現在実行中の機能から予測された復帰を識別するフィー
ルド。 現在ユーザー処理851:テキスト・エディターのユー
ザーによシ選択されたその処理を識別するフィールド9
゜ 現在キャラクタ・バッファ位置852:現在のキャラク
タのEB  128へのオフセット’を含むフィールド
。 現在キャラクタ・バッファ開始853:[Eキャラクタ
に関連するデータを開始するEB  128へのオフセ
ットを含むフィールド。 現在キャラクタ・バッファ終端854:現在キャラクタ
に関連するデータを終結するEB  128へのオフセ
ラトラ含むフィールド9゜ テキストの現在開始855:編集可能なテキス)1−開
始するEB 128の始端からのオフセラ)k含むフィ
ールド3゜テキストの現在終端856=その編集可能な
テキストの終端について、即ちEB 128において最
後に使用した位置に対するEB 128の始端からのオ
フセラトラ含むフィールド9であし、テキストの現在終
端筋によシ示された位置の後の新しい位置でEU 13
4について使用可能なスば一スの始端を示す。 未使用バッファの終端857 :  EB 128  
において最後に使用可能なスペースについて、EB 1
28の始端からのオフセラトラ含むフィールド。 現在バッファ位置858  : EB 128のカーソ
ルの始めの位置から、処理すべき次の位置に対するオフ
セラトラ含むフィールビ。 現在キャラクタ859:現在キャラクタのコードを含む
フィールド。 現在キャラクタ属性860: 現在キャラクタが区別発
音符号キャラクタであるか否かを示すフィールビ。 キャラクタ位置861:現在ば一ジ上のキャラクタ、通
常は現在キャラクタの位置の絶対座標を含むフィールド
。 オーバーストライク・キャラクタ862:丁度重ね打ち
(7たキャラクタを保持するフィールド9゜オーバース
トライク・キャラクタ・フラグ863:例えばユニット
のキャラクタが重ね打ちに変更となったときに、ユニッ
トの可視的な長さが変化したか否かを示すフィールド。 ユニット・フラグのキャラクタ864:現在キャラクタ
が次のユニットではなく、現在ユニットに属するか否か
を示すフィールドゞ。 現在カーソル位置865:絶対x、y及びページ上のカ
ーソルの終端位置全歯むフィールド。 現在環境814のグループ: 現在フォノ)、より866:  現在フォントヲ識別す
るフィールド9゜ 基準ライン上の現在のサイズ867: 環境が基準ライ
ンの周りのテキストサイズを変更]7なければならない
ステップ数を指定するフィールドゞ。 中心の周シの現在サイズ868:環境が中心の周りのテ
キストサイズを変更しなければならないステップ数を指
定するフィールド9゜ 現在イタリック状態869: テキストがイタリックで
あるか否か全示すフラグ金倉むフィールド。 現在スクリプトの深さ870: 基準ラインから現在位
置があるスクリプトのレベル数全指定するフィールド。 現在機能状態816のグループ: 挿入レベル871: この点に対する挿入のレベル数を
含むフィールド。 挿入点ポインタ872:工HDA166のアレイ(挿入
、隠し込み、新l−いスクリプト又は挿入したライン分
割についてそれぞれ一つ)に対するポインタを含むフィ
ールド。 注二開始範囲キャラクタ及び終端範囲設定キャラクタと
それぞれ呼ぶ2つの可視的な表示のキャラクタにより、
結び付けられたテキストの一部2EE128内に範囲を
定めるために、以下の4つのフィールドヲ用いる。2つ
の終端を一致させること、即ち同一のキャラクタ又はシ
ンボルを呼ぶことができることに注意すべきであ・る。 範囲設定の開始873:範囲設定の開始キャラクタに関
連するEB 128の第1コードについてEB  12
8の開始からのオフセットを含むフィールド。 範囲設置の終結874:終結範囲設定のキャラクタに関
連するEB 128の最終コードに対するEB  12
8の始端からのオフセッlt−含むフィールド9゜ 範囲設置の終結位置の開始875:開始範囲設定のキャ
ラクタに関連するEB 128の最終コードに対してE
B128の開始からのオフセラl含むフィールド。 範囲設置の終結位置の終結876:終結範囲設定のキャ
ラクタに関連するFB 12Bの最終コードについてE
B128の始端からのオフセノ)を含むフィールド1゜
キャラクタ対位置877 : EB 128の位置に対
するオフセラトラ含むフィールビ。カーソル及び他の機
能によシ用いられる。 配置形式g′!8:現在、キャラクタ対位置877にあ
る値の目的を識別するフィールド。 リクワイヤート1・リフレッシ:L879 二 その処
理のために、そのスクリーンのどの部分を再描画(7な
ければならないかを示すフィールビ。 パラメータ820のグループ: 現在ベクトル880覗在キヤラクタ・ボックス881の
2つの隣接縁を定める2つのx−yベクトル。 現在キャラクタ・ボックス881:現在キャラクタ、シ
ンボル又は区別的発音符号を含むボックス全室めるフィ
ールド。 現在基準ボックス882:現在基準ボックス、即ち基準
キャラクタ又はシンボルと、当該点に対する基漁キャラ
クタ又はシンボルに関連、又は加算する全ての区別的発
音符号とを定めるフィールビ。 スクリーン範囲883:ページ上の絶対値ではなく、ス
クリーンうえの0.Oに相対するスクリーンのX及びy
の大きさを定めるフィール1゜ フォーマット−ラインの高さ884=フオーマツト・ラ
インの高さを含むフィールドゞ。スクリーン上の第12
インがフォーマット・ラインの下から開始しなければな
らない表示における補正キャラクタとして用いられる。 フォーマット・キャラクタの幅885:タプ・キャラク
タの幅を含むフィールド1゜等しい幅のフォーマット・
ラインにおける全てのキャラクタを保持するために基準
測定として用いられる。 フォーマットΦスクリー7Y位[886:スクリーン最
初の重ね打ちユニットの位置888ニラインにおける最
初のオーバーストライクを有するユニットの位f&5c
含むフィールド。 式基準キャラクタ・ディセンダ(DESCENDWR)
 889 :式のキャラクタの不足サイズ用のディセン
ダーを含むフィールド。 最終ラインの未完成ライン分割890:現在ライン・レ
ベルを閉じるか否か葡定めるために用いられるフィール
ド1゜定められた整合ステップ分子891:ピークセル
におけるテキスト・ラインの基準ライン’に!合させる
分割サイズを定める分子を含むフィールド9゜ 定められた整合ステップ分母892:ピクセルにおける
テキスト・ラインの基準ラインを整合させる分割サイズ
を定める分母全含むフィールド。 付加プロップサイズ893:付加プロップが現在スクリ
ーン上にあるときに、付加プロップのX及びy座標を含
むフィールド−付加プロップサイズ894:付加プロッ
プが現在スクリーン上にあるときに、付加ブロン7’O
K及びyの大きさを含むフィ→レトを以上で説明したよ
うに、El:DS 15Bには1以上のLDS162 
のアレイが含まれる。ただし、各LDS 162にはテ
キスト・エディターによし、又はテキスト・エディター
により処理されているそのラインに関する情報を含むフ
ィールビが含まれる。このようなラインにはそれぞれL
DS  162 がある。 第9図ケ参照すると、LDS  162のブロック図が
示されている。LDS  162のフィールド9には図
示のものが含まれるが、限定的なものではない。 開始位iij 902:最初のデータ要素、即ちライン
の最初のユニットを開始するキャラクタ・コート9又は
オペレータ・コードのEB  128に対するオフセッ
トを含むフィールド。 ライン・ポインタの開始ユニット9o4ニラインの最初
のユニットに対するポインタを含むフィールド。 開始位51906:ベージの開始に相対するラインの部
分に対する位置を開始するX及びyk含むフィールド9
゜これはラインの土庄の隅のX及びy位置である。 ラインサイズ908ニラインの「開始位置」の周りでは
なく、基準ラインの周シのラインの相対的大きさを含む
フィールド9゜ フォント910ニラインの開始でフォントを識別するフ
ィールド9゜ 基準ライン上のフォントのりサイズ912ニラインの開
始位置で基準ライン周りのりサイズ係数を含むフィール
ド。 中心の周りのフォントのりサイズ914ニラインの開始
で中心の周りのりサイズ係数を含むフィールド。 イタリック−フラグ916;イタリックに表わすフラグ
を含むフィールド。 フォ−マット・ライン918 : EB  128にお
ける当該ラインのフォーマットに対するインデックスを
含むフィールド。 (第10図) 以上で説明したように、ED3 158には1以上のS
DS  164のアレイが含まれる。ただし、各SDS
  164には現在スクリーンに関連する情報が含まれ
、現在ドキユメントの各スクリーンにはSDS  I6
4がある。 第10図を参照すると、SDS  164のブロック図
が示されている。図示のように、SDS  164のフ
ィールドには下記のものが含まれるが、限定的なもので
はない。 開始位置1002 ニスクリーンの最初のテキスト要素
のEl:B  128の開始からEB  128  に
対するオフセットを含むフィールド。 スクリーン頂部1004 ニスクリーン頂部のページ上
の絶対的Y位置を含むフィールド。 開始位置1006 ニスクリーン開始のは−ジ上の絶対
X及びY位置を含むフィールド。 現在位置1008 ニスクリーン原点(0,0)の現在
相対的X及びy位置を含むフィールド。この実施例のテ
キスiエディターでは用いられていないが、以後の実施
で使用可能なように設計される。 フォント1010 :使用されているフォントの識別を
含むフィールド。 基準ライン上のフォントリサイズ1012 :そのスト
リングに対する基準ライン上のりサイズ係数を含むフィ
ールド。 中心の周りのフォントのりサイズ1014 :そのスト
リングの中心の周りのりサイズ係数を含むフィールド。 イタリック・フラグ1016 :イタリックを表わすフ
ラグ士含むフィールド。 フォーマット・ライン・ポインタ1018 :そのスク
リーンのフォーマット・ラインに対するインデックスを
含むフィールド1゜ (工HDA) 166 (第11図) 以上で説明したように、EDS  156には1以上の
IHDA  166が含まれる。ただし、各IHDA1
66は以下で更に詳細に説明する挿入及び隠し込み編集
処理に関連する情報を含むフィールド。ただし、各挿入
又は隠し込み処理に対して工HDAがある。 第11図を参照すると、IHDA  166  のブロ
ック図が示されている。図示のように、IHDA  1
66のフィールド9は以下のものが含まれるが、限定的
なものではない。 終端からの位置1102 :以下に説明するように、E
B  128におけるキャラクタ、シンボル、オはレー
タ、パラメータ及びターミネータコードのストリングが
挿入又は隠し込み処理を実行する点で切断されている。 この点に続くス) IJフラグ部分はEB  128の
終端に「移動」され、挿入が実行され、ストリングの「
移動」部分はEB  128の終端から挿入されたもの
の終端に戻される。従って、符号化されたス) IJフ
ラグ移動した部分は、EB  128の終端から順方向
にEB  128を埋めるようにlB128に記憶され
る。終端からの位置1102は、 lB128の始へに
相対する移動テキストの始端に対するポインタを含むフ
ィールドである。 切断位置1104 :挿入又は隠し込み処理全実行する
EB  128のキャラクタ・コート3の位置に対する
ポインタを含むフィールド。 保管位置1106 :切断位i 1104により指示さ
れたキャラクタ−コートゞに関連される全てのEB  
128のコードの開始に対するポインタを含むフィール
ド。例えば、特定のキャラクタ・コードはキャラクタ・
コードの前にEB  128に現われる関連のイタリッ
ク・オペレータ・コードに有することができ、保存する
ためにキャラクタ・コードと共に「移動」されなければ
ならない。 挿入形式1108 ニスクリプト挿入1適常の挿入処理
、隠し込み処理、ライン分割又は通常のオバーストライ
クにより挿入切断が発生したか否かを示すフラグを含む
フィールド。 基準ライン上のりサイズ保存1110 : 、M準うイ
ン・オペレータ上のりサイズ値を含み、これに挿入して
いるスクリプト欠従属させているフィールド。 中心の周りのりサイズ保存1112 :中心オペレータ
周夛のリサイズの値を含み、これに挿入しているスクリ
プトを従鵬させているフィールド1゜テキストの開始1
113 :このオはレータのためにアクセス可能なテキ
ストの開始位置士含むフィールド。 再配置ライン高さ1114 :切断前にテキストが占め
ているスペース量を含むフィールド。スクリーンのりフ
レッシユを最適化するために用いられる。 後置ラインの高さ1116 :切断後にテキストが占め
ているスは−ス情を含むフィールド。スクリーンのりフ
レッシユを最適化するために用いられる。 再配置サプラインの高さ1117 :正しいスペース量
を検出することができるように、従ってスクリーンのり
フレッシユを最適化することができるように、切断点前
のテキストが占有するスペース量を含むフィールド0゜ 後置サプラインの高さ1118 :正しいスは−ス量全
検出することができるように、従ってスクリーンのりフ
レツシユを最適化することができるように、切断点を従
属させたテキストが占有するスペース量を含むフィール
ド。 保存したライン分割リターン数1119 :挿入又は隠
し込み処理により保存されたライン分割におけるリター
ン数で示すフィールド。 マイナー(MINOR)!終うイン分割1120ニライ
ン分割における最終ラインがテキストではなく。 簡単な付加「プロップ」のみを有することを表わしたフ
ラグを含むフィールド3゜ ER156が使用するいくつかのデータ構造を説明した
が、EB  128及びLUS  10によりEE  
146及びパーサ−148の処理のその他の特徴と共に
、このエディター処理について、いくつかのエディター
処理の以下の説明により、更に説明しよう。 以下、現在エディターに固有ないくつかのエディター処
理を説明することにより、ドキュメントを処理を・する
際に、またこれをエディターが使用するいくつかの機構
について説明しよう。これらの処理のうちで、カーソル
の移動と、区別的発音符号を付加したキャラクタ又はシ
ンボルの構造を含むば一ジ上の複数のユニット及びライ
ンの構造とについて説明しよう。挿入及び隠し込み処理
の実行も説明しよう。以上で説明したように、このエデ
ィターはこれらの処理を実行する際に、ト9キュメント
・データ構造及びエディターのデータ構造の両者を使用
し、かつ相互に作用するので、これらのデータ構造の機
能及び処理を以下のエディター処理の説明で更に説明し
よう。 よく知られているように、テキスト処理システムは、処
理すべきキャラクタ及びテキストの部分を示し、かつ選
択するために、システムのユーザーが表示したテキスト
により移動可能なある形式のカーソル指示又はシンボル
を利用する。しかし。 以上の説明及び検討から、このエディターのカーソル処
理が従来の通常的なテキスト処理システムのものとかな
り相違しなげればならないことは、明らかである。 即ち、通常的な多くのテキスト処理システムにおいて、
キャラクタは全般的に均一なサイズ及び比率のものであ
り、スクリーンにおける均一な四角い升目内に配置され
るので、X及びy座標の位1:’t ’(h”1分した
り減分したシすることにより、カーソルをキャラクタか
らΦヤラクタへ、又は一つの位置から他の位置に移動す
ることができる。あるテキスト処理システムは、テキス
トのプロボーシコナル(スペーシング)を可能としても
、カーソル位置決めの点で均一な升目方式=りやや複雑
である。最も通常的なテキスト処理装置に8いてテキス
トを含むデータ構造も同様に、複数のキャラクタ・コー
ト1と、限定された範囲に表示した制御キャラクタ・コ
ードとのみ含む均一な、線形な構造のものであり、テキ
ストそれ自身の構造を反映させている。またキャラクタ
位置に対するスクリーン位1件の相関は簡単にして、直
線的なものである。 このエディターが処理しようとしているテキストの形式
において、キャラクタ及びシンボルは均一な寸法や比率
のものではなく、またスクリーンやドキュメントに配置
され、又は均一、予測可能な若しくは規則的な方法で相
互的な関係で配置されてはいない。同様に説明したよう
に、このエディターが処理しようとしているテキストは
、多次元か、多方向か、その両方かのいずれかであり、
またテキストはデータ構造を含み、しかもある点で本質
的にスクリプトであるので、必ずしも均一、線形な構造
ではなく、ここでもテキストの構造が反映されている。 従って、均一な四角の升目内でカーソルのX及びy座禅
を増分したυ減分したシすることにより、キャラクタ及
びシンボル位置内でカーソルを簡単に移動することはで
きない。またスクリーンにおけるカーソル位置と、テキ
スト・データ構造の位置におけるカーソル位置との間の
関係は直接的でも簡単でもない。 エディターに対するユーザーのインターフェースを簡単
に説明すると、ユーザーは、カーソルにより、どこが編
集処理を実行するテキストの位置か、又はどこで編集処
理を実行するテキストの部分かを示す。ユーザーは、テ
キストにおけるこのような位置又はテキストの部分を、
処理するキャラクタ及び(又は)シンボル位置の上に、
又は処理するテキストの部分の範囲を設定するキャラク
タ及び(又は)シンボル位置の上にカーソルを置くこと
により示す。これを行なうために、ユーザーは、キャラ
クタ及び(又は)シンボル位置からキャラクタ及び(又
は)シンボル位置へテキストを介してカーソルを制御可
能に移動できるものでなければならない。 カーソル移動のユーザー制御は概してKB  114の
カーソル・キーによっている。このカーソル・キーによ
ってユーザーはカーソルの現在位置に相対してカーソル
をテキストを通って上、下、右又は左(又は北、南、東
又は西)に移動すること全選択、又は示すことができる
。エディターはこれらの制御キー人力を受は取り、ユー
ザーにより示された方法で、またスクリーン上のカーソ
ル位置がテキスト・データにおけるカーソルの位置に対
応する方法で、スクリーン上のテキストと、EB128
及びLUS  10におけるテキスト・データとの可視
的表示によって位置から位置へカーソルを移動させなけ
ればならない。スクリーン上に表示されたカーソル位置
は、ユーザーに対するカーソル位置を示し、一方テキス
ト・データ内のカーソル位置はエディターの編集処理ル
ーチンに対するカーソル位置を示す。 このテキスト・エディターにおけるテキスト・データを
介してカーソルの移動を説明すると1以上で説明したよ
うに、テキスト・データは2つ独立するが、密接に結合
したデータ構造、EB128及びLUS  130のU
S  136に存在する。説明したように、 EB 1
28はキャラクタ、オペレータ及びターミネータコート
9のストリングとして「符号化」形式でテキストの論理
表示を記憶する。続いて。 EB  128のコーPのストリングは符号化ユニット
(EU)134のストリングから論理的に構成される。 ただし、各ECU  134は1ユニツトを定めるキャ
ラクタ、オペレータ及びターミネータコート9のストリ
ングを含む。ただし、ユニットは実体としてドキュメン
トに配置可能な関連の特性を有するストリングとして、
即ちキャラクタのグループとして定められる。 続いて、LUS  130はテキストの物理(a及び可
視的な表示に関連する情報を記憶する。LUS  13
0はEB  128に符号化形式で記憶した各ユニット
について、対応するユニット構造(US)  136 
 k含む。US  136には、EB  128に記憶
した関連のユニットの可視的な表示を形成するために必
要な情報が含まれている。説明したように、LUS  
130のUS  136はストリングとして記憶される
のではないが、テキストを有するユニットの物理的及び
論理的な関係を反映する方法で、ポインタにより結合さ
れた個々のデータ構造として記憶される。 続いて、US  136はポインタによシそれに関連す
るDB  128の符号化ユニットに結合される。 従って1以上のこのエディターのドキュメント・データ
構造の説明から、テキストにカーソル及びテキストの対
応する可視的イメージを配置する際に、エディター・カ
ーソル・ルーチンがト3キエメント論理データ構造であ
るEB  128と、ドキュメントの物理データ構造で
あるUS  136と、を介さなければならないことは
明らかである。更に。 エディター・カーソル・ルーチンはそのスクリーン上の
カーフルの物理的位#、ft識別する情報も決定し、か
つ供給しなげればならない。これらの処理を以下で説明
し、更にこのエディターのト9キエメント及びエディタ
ー処理データ構造を明らかにしよう。 以下では、先ずドキュメント・データ構造におけるカー
ソル位置と、定常状態、即ちカーソルが移動していない
ときのスクリーンに8けるカーソル位置とを説明する。 次に、ユニット内のカーソルの動きを説明し、続いてユ
ニット間のカーソル移動の説明をする。最後に、ライン
間のカーソル移動を説明する。 ′#:質的に全てのカーソル移動に対する初期状態であ
るカーソルが静止している場合を先ず説明すると、EB
  128におけるデータ構造に対してカーソルの現在
位置は、SS8160の「現在キャラクタ・バッファ(
ltj852.「現在キャラクタ・バッファ開始」85
3及び「現在キャラクタ・バッファ終了」854のフィ
ールド9により識別される。これらのフィールド3は、
それぞれEB  128の内容に関連させて、カーソル
位置の対応するキャラクタ・コードのEB  128の
開始に関連するオフセットと、当該キャラクタを含む符
号化ユニット(EU  134)の最初と最緒のデータ
要素(キャラクタ、オペレータ、パラメータ又はターミ
ネータ・コード)EB  12Bにおける位f&と全識
別する。実行している処理のためにい(つかの場合に、
カーソルはEB  128のキャラクタ・コードに配置
されず。 「現在バクファ位置」858のフィールドはEB128
のカーソル位置を識別する。 EB  128のデータ構造に対するカーソルの位置を
識別したので、EU  134に対応するUS  13
6はsss  160の「現在ユニット・データΦポイ
ンタ」843のフィールド9によシ識別される。先に説
明したように、US  136はカーソルを配置してい
るユニットの物理的及び可視的表示に必要な全ての情報
を備えている。次に、カーソル・ルーチンはパーサ−1
48を呼出し、EB  128から符号化したユニット
情報を読み出し、ユニットにおける各キャラクタ又はシ
ンボルのページ上の物理的な位置及び大きさを決定する
。 以下の区別的発音符号の構造説明で説明されるように、
ER156は、その情報を使用して、それぞれ現在キャ
ラクタを含む「ボックス」のページ上の物理的な大きさ
を説明する[現在キャラクタ・ボックス]及び「基礎ボ
ックス」を構築するルーチンと、付加された区別的発音
符号キャラクタのような全ての拡張を有する#記現在キ
ャラクタと全備えている。この場合に、「現在キャラク
タ」はカーソル位置のキャラクタであるから、「ボック
ス」の下端の位置及び犬きてを決定する「ボックス」の
値はは−ジ上のカーソルの位置及び太きさを識別するた
めに用いられる。続いて、この情報はSSS 160の
「現在カーソル位置」856のフィールドに記憶するこ
とができる。 EB 128及びUS  136におけるデータ構造と
、ば−ジ上のカーソルの絶対位置及び大きさに対するカ
ーソルの位置と全決定したので、LDS  162に含
まれる情報を用いることによシこのスクリーン上のカー
ソルの位置及び大きさ全決定しなければならない。先に
説明したように、各LDS  162はそのページに相
対するラインに関する情報を含む。 そのライン、そのラインのLDS  162は、5SS
160の現在ライン・ポインタ840のフィールドによ
り配置される。次いで、ページ上のカーソルの絶対位置
及び大きさ1−[別する前記説明の情報と関連して、そ
のLDS  162の開始位置902)ライン・ポイン
タの開始ユニット904 、及び開始位置回のフィール
)’?、用い、そのスクリーン上のカーソルの位置及び
大きさを判断することができる。 EB  128及びLUS  13Qのデータ構造に相
対して、また瀞的な場合のそのスクリーンに対してカー
ソルの位置及び大きさを決定する方法を説明したので、
ユニット内のカーソル移動の場合に、これらの要素の決
定を次に説明しよう。以下の説明の都合から、カーソル
が通過する特定ユニットには1より多くのキャラクタ又
はシンボルが含まれると仮定したことに注意すべきであ
る。ユニットが1キヤラクタ又はシンボルのみを含む場
合は、ユニット間のカーソルの移動のうちの一つとな9
、以下で説明する。 この場合には、エディターが先ずKB  114のカー
ソル・キーにより指示した方向にEJ  128におけ
るユニットの次のキャラクタ・コードを配置しなければ
ならず、また以上で説明したように、キャラクタ又はシ
ンボルの「ボックス」を構築しなければならない。説明
したように、与えられたユニットを有するキャラクタ、
シンボル、オ纜レータ、パラメータ、ターミネータ・コ
ート3は当該ユニットのEU  134のストリングが
互いに隣接している。 先に説明したように、EB  128におけるデータ構
造に関するカーソルの現在位置は、 838 160の
現在キャラクタ会バッファ位置852)現在キヤ、  
ラクタ・バッファ開始853、現在キャラクタ・バッフ
ァ終了854、及び現在バッファ位置858のフィール
ドにより識別される。これらのフィールド9はそれぞれ
カーソル位置に対応するキャラクタ・コート9、パラメ
ータ・コート9、又はターミネータ・コート1であって
も、当該キャラクタ・コードと関連して、最初と最後の
データ要素とのEB  128の開始に関連するオフセ
ラトラ職別する。 例えば、ユーザーがカーソルを現在キャラクタ・バッフ
ァ終了854後の次のキャラクタに、即ちコートのスト
リングの右に移動するように指示したと仮定すると、所
望のカーソル位置、即ち1キヤラクタ及び(又は)シン
ボルだけ右への増加がキャラクタ対位置877のフィー
ルドに記憶され。 移動の理由が位置形式878のフィールドに記憶される
。 先に説明したように、初期カーソル位置情報は5S81
60の現在キャラクタ・バッファ位置852)現在キャ
ラクタ−バッファ開始853、現在キャラクタ・バッフ
ァ終了854及び現在バッファ位置湖に記憶される。現
在キャラクタ−バッファ開始853のフィールド9に最
初に存在するオフセットは、1だけ増加された現在キャ
ラクタ・バッファ終了854に存在するオフセットによ
り置換される。 従って、現在キャラクタ・バッファ開始853における
新しいオフセットは次のキャラクタ・コート9及びシン
ボル−コードと関連した最初のコード全指示する。この
最初のコーFドは次のキャラクタ及び(又は)シンボル
−コート9そのもの、又はオペレータ・コードでよい。 次に、パーサ−148はこの点から順方向に読み出して
現在キャラクタ・バッファ位置852のフィールド3に
配置するオフセット値を見付は出し、次のキャラクタ及
び(又は)シンボル・コードを指示し、次のキャラクタ
及び(又ハ)シンボル・コードに関連した最後のコード
を見付は出し、現在キャラクタ・バッファ終了類のフィ
ールドに適当なオフセットを配置させる。現在キャラク
タ・バッファ位[853のフィールドに書き込まれたオ
フセットを現在バッファ位置858のフィールドに書き
込むこともできる。 ユーザーがカーソルf:EB  128におけるコード
・ストリングにより左方向に移動するように命令ヶ出し
たときは、処理は以上で説明したものと異なる。この場
合は、エディターが対応するUS136のスタート・ス
トップ516及びS T A RTCHAR518のフ
ィールド9によって決定されるに従い、現在EU  1
34の開始に移動させる。次に、エディターは、現在キ
ャラクタ・バッファ終了854がカーソル開始からキャ
ラクタの現在キャラクタ・バッファ開始853より1つ
だけ小さいキャラクタ・コードに到達するまで、 EU
  134のコードを先頭から読み出すことになる。次
に、エディターは新しいこの現在キャラクタ・バッファ
終了854に対応する現在キャラクタ・バッファ位置8
52及び現在キャラクタ・バッファ開始853 f!c
判断すると共に、新しい現在キャラクタ−バッファ終了
854は新しいカーソル位置に対応し、かつ現在バッ、
ファ位f858のフィールド9に書き込まれている。 EB  128によりカーソルを後方に移動させるこの
方法がEB  128におけるコート9構造及びシーケ
ンスの点で十分な普遍性が得られるように選択されるの
で、EB 128のコード及びそれらのシーケンスをエ
ディターの全ての機能を大幅に変更することな(、変更
可能にしていることに注意すべきである。他の実施例と
して、IIEB  128によりカーソルの後方移動を
1以上で説明した前方移動と同じような方法で行なりて
もよい。この場合は、1だけ減少した現在キャラクタ書
バッファ開始853からのオフセットにより、現在キャ
ラクタ・バッファ終了854のフィールrにおけるオフ
セット會置換し、これによって前のキャラクタ及び(又
は)シンボル・コート9に関連された前のコート1・グ
ルー7’の終端を指示している。次に、パーサ−148
はこの点から後方へ、又は左方へ読み出しをし、現在Φ
ヤラクタ・バッファ位置852)現在キャラフタ・バッ
ファ開始853及び現在バッファ位置858ノフイール
ドに置換する新しいオフセットを見付は出す。 以上のステップによ5gr312Bのデータ構造に関連
する新しいカーソル位置を識別した。EU134に対応
するUS  136はそのままであυ、5SS160の
現在ユニット会データ・ポインタ843のフィールドを
介して識別される。先に説明したように、173 13
6はカーソルを配置しているユニットの物理的及び可視
的な表示を構収するのに必要な全ての情報を含んでいる
。カーソル・ルーチンは再びパーサ−148全呼出し、
IE)3 128から符号化されたユニット情報、及び
対応するUS  136からユニット構造1青報を読み
出し、カーソルの新しい位置でユニットのキャラクタ又
はシンボルについてページ上の物理釣力位置及び大きさ
を決定する。 以下に説明するように、IR156は、新しいカーソル
位置でキャラクタ又はシンボルを含む「ボッックス」に
ついてに−ジ上の物理的な位置及び寸法を示す「現在キ
ャラクタ・ボックス」及び[基準ボックス」を構築する
。更に、「ボックス」の下端の位置及び大きさを定める
「ボックス」の値は、は−ジ上のカーソルの位置及び大
きさ金識別し、この情報を888 160の現在カーソ
ル位置865のフィールドに記憶することができる。 EB  128及びUS  136におけるデータ構造
に対するカーソルの新しい位置と、ページ上のカーソル
の絶対位置及び大きさを決定したので、再び現在スクリ
ーン上のカーソルの位置及び大きさをSDS  164
に含まれている情報を用いて決定する。 先に説明したように、各SDS  164はそのは−ジ
に対するスクリーンに関する情報を含む。現在スクリー
ン、即ちそのスクリーンのSDS  164はSSS 
160の現在スクリーン・ポインタ837により配置さ
れる。ページ上のカーソルの新しい絶対位置及び大きさ
を識別する前記説明の情報に関連して、そのSDS  
164のスクリーン頂部1004 、開始位fit 1
006及び現在位置1008のフィール1孕用い、現在
スラリ1−ン上のカーソルの新しい位置及び大きさを決
定することができる。 例えば、カーソルを現在配置しているキャラクタ及び(
又は)シンボルがカーソルを移動させる方向のユニット
における最終ヤヤラクタ及び(又は)シンボルであると
き、又はこの場合の特定列として、ユニットが1個だけ
のキャラクタ及び(又は)シンボルを有するときは、第
1ユニツトカラ他のユニットへカーソルの移動が発生す
る。 他の例として、カーソルが元のユニットの基準ラインで
はない方向、例えば1つのキャラクタから当該キャラク
タに付加されたスクリプトへ移動するように指示された
ときは、カーソルも第1のユニットから他のユニットに
移動することもできる。 先に説明したように、最初のステップでは、カーソルを
移動させる方向、及びその移動理由を表わす入力がキャ
ラクタ対位置877及び位置形式878のフィールド9
にそれぞれ記憶される。 次に、エディターは、カーソルを移動させる方向におい
てそのユニット内の他のキャラクタ及び(又は)シンボ
ル−コート9が存在するか、即ち移動がユニット内か又
は1つのユニットから他のユニッ、トへのものであるか
否かを判断しなければならない。エディターはそのカー
ソル位置でキャラクタ及び(又は)シンボルと、当該キ
ャラクタ及び(又は)シンボル・コードを含むユニット
のFIB  128内の位置及び範囲に対して当該キャ
ラクタ及び(又は)シンボル・コードに関連した他のコ
ート9とを有するコート9・グループのEB  128
内の位置及び範囲と比較することにより、この処理を実
行する。 また、先に説明したように、現在カーソル位置でキャラ
クタ及び(又は)シンボル−コードを含む、又は関連さ
れるコード・グループの位置及び範囲は、現在キャラク
タ会バッファ位ts52)現在キャラクタ・バッファ開
始853及び現在キャラクタ・ノ之ツファ終了854の
フィールドにより、EB  12Bにおけるデータ構造
について識別される。 キャラクタ及び(又は)シンボル・コート1を含むユニ
ットのEB  128内の位置及び範囲は、対応すルU
S  136 (D 5TARTPO8516,5TA
RTCHAR518及ヒELTLIIENGTH520
(D 7 イール)’K ヨF)識別される。 ユニットが現在カーソル位置にキャラクタ及び(又は)
シンボル・コードを含むか、又は関連されるコート9拳
グループ内に含まれているコードではなく、カーソルの
方向に更にコードを含むときは、エディターはユニット
内のカーソル移動について以上で説明したように、当該
方向のキャラクタ及び(又は)シンボル・コードヲ更に
検索する。 エディターは、カーソル移動方向のユニット内にキャラ
クタ及び(又は)シンボルφコー)−1を更に見付けた
ときは、ユニット内のカーソル移動に関連して以上で説
明した方法によし、当該の次のキャラクタ及び(又は)
シンボル・コードニカーソルを移動させる。 カーソル移動の方向にユニットに1以上のキャラクタ及
び(又は)シンボル・コードがないことが比較によシ明
らかとなったときは、又はカーソル移動が当該ユニット
の基準ラインに沿っていないときは、カーソルは他のユ
ニットに移動することになり・、当該ユニットを配置し
なければならない。先に説明したように、各ユニットの
US  136はその全てのユニットに対するポインタ
・グループ、即ちユニットに関連するUS136’t−
含む。従って、US  136及びポインタは実質的に
複数のポインタによシ結合されたUS  136のツリ
ーを有し、エディターはUS  136の当該ツリーを
介することにより次のユニットを位置付けし、続いてポ
インタがUS  136を結合させてもよい。 US  136のツリーによるカーソル技法を説明する
前に、一部、カーソルがUS  136のツリーを介し
た経路をカーソル・キー規則が決定する際、エディター
の当該実施例で採用したカーソル・キー規則を説明する
必要がある。またカーソル・キー規則は処理しているテ
キストの特定の構造に依存する。当該インターフェース
がカーソル移動を含むエディターに関連してユーザーの
全ての処理を実行する際に、一般的に、かつエディター
に関して特に、KB  114によるシステムのユーザ
ー・インタフェースを考えることも必要である。 ユーザー・インタフェースにおけるテキスト構造の影響
全売ず概要的に、また特にカーソル移動を説明すると1
例えば英語のテキストにおいて、テキストのラインがペ
ージ上を左から右へ水平に通り、連続的なラインがペー
ジ上で上から下へ現れる。このテキスト構造のために、
この一般規則に従い、テキストに用いる[4的なキーボ
ードは4つのカーソル・キー、即ち右(東)キー、左(
西)キー、上(北)キー及び下(南)キーに備えている
。 通常は、右(東)キー及び左(西)キーのカーソル・キ
ーをラインを横切ってカーソルを左右に移動させるのに
用い、上(北)キー及び下(南)キーをラインの垂直移
動に用いる。他の規則では、例えばページ上の頂部から
底にテキストのラインが延び、右から左へ連続的なライ
ンが現れるときは、上下のカーソル−キーがテキストの
ラインに沿ってカーソルを移動させ、左右のキーがライ
ン間欠移動させることになる。次の説明及び例では、エ
ディターが標準的な英語のテキスト構造、即ちテキスト
のラインが左から右へページを横切)、かっは−ジ上で
連続的なラインが頂部から底部へ現れるもOと仮定する
。例えば先に説明したように、カーソル・キーを再び割
シ当てることによし、エディターを他のテキスト構造に
容易に適合させることができることは、当該の技術分野
において当業者にとシ明らかである。 従って、この規則においては、一般規則として、右(東
)及び左(西)のカーソル・キーは互いにその基準ライ
ンに沿って前方及び後方移動を指令し、−力士(北)キ
ー及び下(南)キーはライン分割内のラインからライン
へのカーソルの移動を含め、ラインからラインへカーソ
ルの上下移動を指令する。 左右のカーソル・キーによシ指令される移動を更に説明
すると、カーソルが移動する基準ラインがそのラインの
もの、又はスクリプトやライン分割のラインのものであ
シ得る。カーソルが基準ラインに沿って移動することに
よシ現在基準うインノ終了に達したときは、カーソルは
カーソルの移動の方向に従って、次に高い又は低い基準
ラインに移動する。カーソルがライン分割のライン内に
あるときは1次に低い又は高いラインはライン分割の次
に低い又は高いラインである。しかし1行くべきライン
分割に次に低い又は高いラインがないときは、カーソル
は次に又は前のユニットに移動する。最後に、カーソル
がスクリプト・ユニット内にあし、かつスクリプトの゛
基準ラインの終了に達したときは、カーソルはスクリプ
ト・ユニットの基準ユニットに移動する。 先に説明したように、上下のカーソル・キーはカーソル
をラインからラインへ垂直に移動するように指定してい
る。カーソルがライン分割内にあるときは、上下キーは
カーソルをライン分割内でラインからラインへ移動させ
る。しかし、カーソルがライン分割内を移動して、頂部
又は底部ラインに達したときは、次の垂直移動はに一ジ
上でそれぞれ次に高い又は低いラインとなる。スクリプ
ト・ユニットは再びこの一般規則の例外となる。 即ち、垂直移動のいずれかの方向が示され、一方カーソ
ルがスクリプト・ユニットにあるときは、カーソルはス
クリプト・ユニットの基準ユニットに移動する。 生起する通常のテキスト構造に加えて、このエディター
は、例えば標準的な英語のテキストにおいて、スクリプ
ト・ユニット及び区別的発音符号キャラクタ、並びにラ
イン分割及びバー・ユニットを生成し、編集可能にして
いる。これらのテキスト構造は、標準的な英語のテキス
トの点で通常ではなく、当該装置、及びKB  114
によるエディターに対し、特にこの実施例ではカーソル
の移動に対して全体的なユーザー・インタフェースを行
なう。先に説明したように、また以下で更に詳細に説明
するように、エディター及びエディターのカーソル44
構はスクリプト囃ユニット及び区別的発音符号中ヤラク
タをライン分割及びバー・ユニットから区別して取9扱
う。スクリプト・ユニットの場合を以下で更に説明し、
続いてライン分割及びノ2−・ユニットの場合を含む全
体的なカーソル移動の説明をする。関連する区別的発音
符号を有するキャラクタの*$の以下の説明では、区別
的発音符号の特殊な場合全別個に行なう。 先ず、以上で説明したカーソルの移動の概要規則に対す
るスクリプト・ユニクト例外を説明すると、スクリプト
・ユニットを生成するためにエディターを指示するもの
と同じような方法で、スクリプト位置に対するカーソル
の移動を指令している。即ち、ユーザーがKB114e
介し、即ちいくつかのキーの掃作、即ち押すことに応答
して、KB  114が発生したオはレータ・コード倉
入力することによし、エディターを指示してスクリプト
・ユニットを生成するのと同一方法で、エディターはス
クリプト位置にカーソル全移動させる。 当該技術分野で良(知られているように、システムに対
して特定の入カコーrを発生するために。 キーボードの割シ当てが可能な多くの方法及び構成が6
.b。多くのシステムでは、最も頻繁に用いるキャラク
タ及びシンボル、例えば多くのキーボード9で見られる
アルファニエーメリツクキャラクタ、数字、及び標準的
なシンボルに対応したコードを発生するように、大部分
のキーを固定的に割り当て゛ている。他のいくつかのキ
ーをキーボードに付加し、頻繁に用いられるいくつかの
処理に割9付けることができる。例えば、ワード1処理
で主に用いられるシステムでは、付加的に割り当てたい
(つかの機能キーを、例えば押入、削除、前のは−ジ1
次のページ、ページ、インデント・コピー、及び移動処
理等に対応した入力制御コードを発生するために割り当
てられることが可能である。最後に、現在実行している
プログラムによるいくつかの機能に、いくつかの付加的
なプログラマブル拳キー又は複数のキーの組合わせ全割
り当てることができる。 このエディターの実施例は、KB  114のプログラ
マブル機能キーのいくつかについてこの後者の使用例で
ある。例えば、 KB  114の第1のプログラマブ
ル機能キーは、エディターによシ割DMてられ、ユーザ
ーが操作したときに、スクリプト・コーvを発生する。 スクリプト・キー?押したときは、ブリサブスクリプト
、アンダースクリプト、又はサブスクリプトを表わす下
スクリプト・コートラ発生する。スクリプト・キーをシ
フト・キーと組合わせて押したときは、ブリスーノセー
スクリプト、オーバースクリプト又はスーツ−スクリプ
トを示す上スクリプト会コードが発生する。スクリプト
番キー、又はスクリプト及びシフト・キーをそれぞれ用
いることによし、下スクリプトか。 又は上スクリプトかを選択したので、次にそれぞれの場
合にユーザーがカーソル@中−を用いることにより、3
通9の可能性から選択する。例えば。 使用によりアッノぐ−・スクリプトt−g択したときは
、ユーザーは左、上又は右カーソル舎キーをそれぞれ操
作することによし、プリスーパースクリプト、オーバー
スクリプト、及びスーパースクリプトから選択する。同
様に、ユーザーが下スジ9フ1選択したときは、ユーザ
ーは左、下又は右カーソル・キーをそれぞれ操作するこ
とによシ。 プリスーパースクリプト、アンダースクリプト、及びサ
ブスクリプトから選択することができる。 ユーザーは同様の方法で、即ちスクリプト、又はスクリ
プト及びシフト・キー全弁して下又は上スクリプト位置
への移動を指示することにより、既に存在するスクリプ
ト位置にカーソルを移動させることができる。 スクリプト位置にカーソルを移動したので、ユーザーは
、先に説明したように、左右のカーソル・キーを用いる
ことによし、スクリプト拳ユニットの基準ラインに沿っ
て移動することができる。 しかし、上下のカーソル・キーは次に高い又は低いライ
ンに移動させることにはならない。これに代わって、ス
クリプト位置にある間に、上下のカーソル・キーの操作
はカーソルをスクリプトの基準ラインに戻すことになる
。 このエディターの全体的なカーソル規則と、全体的規則
に対する重要な例外、即ちスクリプト・ユニットへ又は
これよシの移動とを説明したので、バー・ユニット及び
ライン分割を含むユニット間の全体的なカーソル移動を
、第12A図及び第12B図によシ更に詳細に説明しよ
う。第12A図及び第12B図はそれぞれテキストの例
示部分及び対応するUS  136のツリーの概要図を
表わしている。 第12A図を先ず参照すると、このテキスト部分の例は
6ユニツトからなる。第1のユニットは”A“を含む。 第2のユニットは第1のユニットからのスーパースクリ
プト・ユニットであり、キャラクタ=21 yk含む。 第2のユニットに対するターミネータ・オペレータ、疑
似リターンをスクリーン上に表示できるように示してい
ることに注意すべきである。第3及び第4のユニットは
2ラインをなすライン分割のライン・ユニットであり、
第1のライン・ユニットはキャラクタ@B@=i有し、
第2のライン・ユニットはキャラクタ”c’ 2有する
。 ライン分割・オはレータは、スクリーン上に、即ち垂直
線により出現可能であると共に、2つの水平線が右に延
びて、ライン分割のライン・ユニットの基準ラインを示
し、かつ各ライン・ユニットが疑似リターンによって終
結されていることに注意すべきである。 第5のユニットは、キャラクタlD″及びgはオーバ 
、(を有するバー・ユニットである。バー・ユニットに
関連して、キャラクタIDI及びIE”上のバーの存在
によし、@D@の直前及びIEIの直後でそれぞれ開始
バー及び終了バー・オペレータを表わすことに注意すべ
きである。第6のユニットはmpw及び付加プロップを
有し、ここではキャラクタIF@に続いて更にテキスト
が接続することを示す。 第12B図を参照すると、ここに示されているように、
テキスト部分の例の各US  136が円によって表わ
されておし、各US  136の円にはユニットに含ま
れる表示可能な複数のキャラクタ又はシンボルの表示が
ある。ユニットを結合するポインタはポインタの名称を
有する矢印により、例えば対応する矢印を沿りて示され
たスクリプト(SCR工PT)、ライン分割(LINE
SPLIT)(LS  o又はLSI)によシ示されて
いることに注意すべきである。 @F1及び付記プロップを含む第6のユニットは次のユ
ニットであり、更に最初のユニット、即ちIA*t、含
むユニットは前のユニット(そのものは図示していない
)に対する前(PREV工0US)ポインタを有するも
のとして示されている。ここでは明確に示していないが
、各ユニットは当該ユニットに対する前のユニットに戻
る前(PREVIOUS)ポインタを有する。例えば、
第2のユニット、即ちスクリプト・ユニットは第1のユ
ニットに戻る@ (PREVIOUS)ポインタを有し
、第3.第4、第5及び第6のユニットも同様である。 以下の説明の都合から、第6のユニット、即ち′Pに更
にテキストが続くときは、第6のユニットは次のユニッ
トに対する複数のポインタを更に有すること、付記プロ
ップはこれらの従属するユニットのうちの一つに現れる
こと、従属するユニットのうちの一つは第6のユニット
に戻る前(PREVIOUS)、tインクを有すること
に注意すべきである。 説明の都合から、カーソルは最初、第1のユニットの@
A1にあること、ユーザーはカーソルの右移動、即ちE
B128t−介する前方金示すものと仮定したときは、
エディターは第1のユニットに対して、即ち’AIに対
する次のユニットヲ決定しなければならない。第12A
図に示すように、テキストの可視的な表示の点から、ス
ーパースクリプト”2’ k含ム第2のユニット、IB
Iを含む第3のユニット、、”C”i含む第4のユニッ
トは次のユニットと見做すことができる。しかし、第1
2B図に示すように、US  136のツリー構造の点
から、第2゜第3、第4、第5又は第6のユニットのい
ずれか一つを次のユニットと見做すことができる。 先に説明したように、スクリプト・ユニットへ又はこれ
からのカーソル移動は、KB  114 ”e介してユ
ーザーにより直接選択又は制御されるので、スクリプト
・ユニットが次のユニットであるか否かの問題はユニッ
トによシ直接解決される。しかし、カーソルの移動のた
めに次のユニットとして。 ライン分割ユニット、バー・ユニット及び前後のユニッ
トから選択することは、以下に説明するように、エディ
ターの本実施例ではそのエディターにより解決される。 先に説明したように、各ユニットのUS  136は構
造ポインタ・グループ514のユニットに関連し之他の
全てのユニットに対するポインタを有する。 ユーザーが指示するカーソル移動の方向と共に、このエ
ディターが構造ポインタ・グループ514におけるポイ
ンタの順序を用い、カーソル移動の都合から、カーソル
が現在存在しているユニットに関連するどのユニットが
次のユニットとなるかを決定する。即ち、指示されたカ
ーソル移動がEB128を介して前方(この実施列では
右方)であると仮定すると、エディターはこのユニット
のUS136のL工NESPL工TUNIT 562.
 j:1ARUN工T564 、NEXTUN工T  
566及びPREVUNIT  568のフィールドを
その順序で読み出し、それぞれの場合についてこのユニ
ットに関連したユニットが存在するか否かを判断する。 与えられた嗅序でこのユニットの構造ポインタ・グルー
プ514を読み出したときに、見出される関連の第1の
ユニットは、エディターによシ次のユニットであると判
断される。 エディターは、この処理によシ「次の」ユニットを見付
けたときは、現在のUS  136の構造ポインタ・グ
ループ514から適当なポインタを読み出し、そのポイ
ンタをSSS 160 の現在ユニット・データ・ポイ
ンタ843のフィールドにロート9して「次の」ユニッ
トが現在ユニットとなる。次K、:I−7’ イfi−
ij当該ユニy ) ous  13603TARTP
O3156,5TARTCHAR518、及びILTL
Iil:NGTH520のフィールド9を読み出し、ま
たパーサ−148を介して対応する符号化ユニット、即
ちEB  128からのLU134’e読み出して構文
解析し、当該EU134におけるコート9・グループで
ある第1グループの最初及び最終データ・キャラクタ及
び(又は)シンボル・コードのオフセットIEB128
に決定する。次に、この情報は88S 160の現在キ
ャラクタ・バッフ丁位置852)現在キャラクタeバッ
ファ開始853、及び現在キャラクタ・バッファ終了8
54のフィールドに書き込まれ、カーソルが移動したユ
ニットにカーソルの最初の位置を決定する。次に、エデ
ィターは、以下に説明するように。 キャラクタ及び(又は)シンボルの「ボックス」を構成
し、これも先に説明したよ5に、ページ及びスクリーン
上のカーソルの位置及び大きさを決定する。カーソル移
動は、先に説明したように、新しいユニット内で継続す
ることができ、必要ならば、先に説明したように、他の
ユニットに対して継続することができる。 この実施例に以上で説明した処理を適用すると、第12
図及び第12図の第1ユニツトから、即ちIAIから右
へカーソルの移動が指示されると、ライン分割の最上部
のライン・ユニットに、即ち”B” i含むユニットに
移動することになる。最初のユニットに関連したライン
ーユニットが存在しなかったときは、エディターはカー
ソルをバー・ユニットのsDyに移動させ、またライン
分割又はバー・ユニットが存在しなかったときは、カー
ソルを”F“及び付記プロップを含む「次の」ユニット
に移動させる。 引き続きこの実施例において、ライン分割の最上部のラ
イン・ユニットに現在配置されているぬカーソルは、先
に説明したように、このライン・ユニットに沿って右移
動を連続すると、最終的に基準ラインの終端ヲ読み出す
ことになる。ライン分割に次のライン拳ユニットが存在
しないときは。 カーソル分割の次のライン・ユニットへ、又は次のライ
ン・・ユニットへ降下しなければならない。 エディターはこの処理を終了すると、再び以上で説明し
次処理を行なう。即ち、エディターは説明した順序でこ
のユニットのUS  135の構造ポインタ・グループ
514のフィールドを読み出し1次のユニットに配置す
る関連の最初のユニットを決定する。この実施例では、
カーソルがライン分割の最上部ライン・ユニットのUS
  136内に現在存在し、エディターが当該ユニット
の構造ポインタ・グループ514のフィールビを読み出
すことにょう、「次の」ユニットヲ検索する。第12B
図に示し、また先にも説明したように、ライン分割の最
上部のライン・ユニットのUS  136はUS  1
36のツリーの当該分岐に沿う最終ユニットであって、
最初のユニットに戻るPREVUNIT  568のポ
インタを除けば、ポインタを含んでいない。従って、エ
ディターは最初のユニットのUS  136に戻るPR
EVUNITポインタに従い、夕帰したはが9のユニッ
トに対するポインタに続(、次に利用可能なポインタを
最初のユニットの構造ポインタ・グループ514に見出
すことによし、「次の」ユニット全決定する。不実施例
の場合に、この次のポインタは、ライン分割の第2のラ
イン拳ユニットに対するものであし、従ってライン分割
の嘱2ライン・ユニットは、先に説明したように、カー
ノルとして移動した「次の」ユニットとなる。要約する
と、エディターがUS  136のツリーの分岐の終端
に達し友ときは、エディターは前のユニット・ポインタ
、又はツリー構造において最初に利用可能なポインタに
、即ち通っていない分岐を有する最初のUS  136
に戻る複数のポインタに従い、また欠く利用可能な分岐
ケ見出して追い1次のユニット乞見出す。 第12A図及び第12B図の例により、カーソルr連続
的に右方向に移動させるこの処理に続き、エディターは
ライン分割の最初のユニットの第多端1で右方向のカー
ソル移@を続げ1次いで最初のユニットに戻って最初の
ユニットの構造ポインタ・グループ514のフィールド
にある順序7−ケンスのポインタにおいて次に利用可能
な分岐全見出して従う。この次の分岐はライン分割の@
2ライン・ユニットに対するものとなり、最初のユニッ
トの構造ポインタ・グループ514のライン分割ポイン
タにおいてLSI ポインタにより指示される。 カーソルを連続して右方向へ移動させることによυ、エ
ディターはライン分割の第2ライン・ユニットの終端全
見出し、最初のユニットに戻し、即ち最初のユニットの
BARUN工T  564 のフィールドにおけるポイ
ンタにより指示されたバー・ユニットに戻り1次に利用
可能な分岐を見付ける。バー・ユニットの終端に向かっ
てカーソルを右方向へ移動し続けることによし、エディ
ターは最初のユニットに戻p、再びシーケンスで次に利
用可能なユニットへの分岐に見付ける。次のユニットは
1FI及び付記プロップ上官むユニットとなり、最初の
ユニットのN EX ’r U N工T566のフィー
ルド1のポインタにより指示され、以下同様となる。 先に説明したように、’F”i含むユニットがテキスト
における最終ユニットでないときは、以上で説明した方
法によし、エディターは1F″ユニツトから先へ複数の
ポインタのツリー及びUS  136に従うことによし
、カーソルの右方向移動を続ける。 最後に、EB128’に介して後方に、即ち第12A図
及び第12B図の本実施例における左へカーソル會移動
させる場合は、エディターの処理は分岐の横切りが逆順
にあることを除き1以上で説明したものと同様である。 即ち、与えられたユニットから後方へカーソル金移動す
るために方向が与えられ、エディターは前のユニットに
戻る当該ユニットのPREVUNITポインタに従い、
多重の順方向分岐葡有するユニット、例えばこの実施レ
リにおける最初のユニットに達するまで、これケ継続す
る。 このようなユニットに達成すると、エディターは逆順に
、即ちBARUNI’l’  564及び可能なL工N
ESPL工T562のポインタj・1序で、当該ユニッ
トの構造ポインタ・グループ514 f、介して模索し
て、エディターが丁度来たユニットのポインタに対し、
その次に前のポインタケ見出す。 本実施例を説明し、またカーソルが最初に第12A図の
最終ユニットに、即ち1lill及び付記プロップを含
むユニットにあると仮定すると、左移動のカーソル指示
により、カーソルはこのユニットのPREVUNIT 
 586のポインタ音読み出し、指示され九US  1
36.即ち第1ユニツトのUS  136を見出す。説
明したように、最初のユニットは多重の順方向分岐を有
し、エディターはカーソルに最初に配置したユニットに
対して、どの分岐が次に前のユニットに対するものであ
るかを判断しなければならない。 第12B図に示すように、可能とする分岐はバー・ユニ
ツ)f含む第5ユニツトに対するBARUNITポイン
タと、ライン分割の第2のライン・ユニットに対するL
SIポインタと、ライン分割の第1のライン書ユニット
に対するLSOポインタとにより示される。エディター
は、順方向のカーソル移動のために検索したものと逆方
向に最初のユニットの構造ポインタ・グルー7’514
全慎z1.、カー:/ルを移動させたばかりのユニット
に対する次のポインタに対して、その次に前のポインタ
を見出す。 本実施例では、エディターはバー・ユニットに対するB
ARt)NITポインタを見出し、バー拳ユニットにお
いて最終キャラクタに、即ち1E1にキャラクタを移動
させる。カーソルが更に後方に移動するように指示され
たときは、最初のキャラクタ又は/ンボル、この場合は
バー会ユニットのID@に達するまで、エディターはこ
のユニットの最初のキャラクタ及びシンボルを介してカ
ーンル’kffl方に移動させる。カーソルを再び移動
させたときは、エディターは最初のユニットのUS  
136に戻るバー榔ユニットのPREVUN ’ITポ
インタに従い、第1ユニツトの構造ポインタ・グループ
514のフィールドを介して後方ttJ索し、ライン分
割の第2のライン・ユニットに対するLSIポインタを
配置し、カーソル全ライン分割の第2ラインへ移動させ
る。カーソルを連続して後方に移動さ−V、ることによ
し、エディターはライン分割の第2のラインーユニット
を介してカーソルケライン分割の第2のライン・ユニッ
トへ後方へ移動させる。矢に、エディターは第1ユニツ
トのUS 136に戻る第2ライン・ユニットのPRE
VUNIT−gインクに従い。 再び最初のユニットのポインタ會介して後方にポインタ
からライン分割の第2のライン・ユニットへ検索する。 説明したように、次のポインタはライン分割の最初のラ
イン・ユニットに対するものである。テキスト’t−介
してカーソルに後方へ移動させるこのような処理は、エ
ディターが最初のユニットからの前方分岐の全てに行な
うまで、継続する。更にカーソルの後方移動上指令した
ときは、エディターは最初のユニットの前のユニットに
戻る最初のユニットのPREVUNITポインタに従い
、先に説明したようになる。 EB128t−介する両方向に1以上のユニット間のカ
ーソル移動を説明したので、以下ではテキストのライン
間におけるカーソルの移動に説明しよう。区別的発音符
号に関するカーソル処理については、以下の区別的発音
符号の構成の記述にjdいて説明しよう。 例えばユニットによる命令の指示により、又は当該ライ
ンの終端に達する1ラインに沿ってカーソルが移動した
結果として、テキストのライン間の移動が発生すること
があり、他のライン上にある次のキャラクタ及び(又は
)シンボルへ連続するように指示さnる。しかし、先に
説明したように、このオ啄レータが処理しようとしてい
るテキストは多次元、多万同、又はそれらの両方であり
。 キャラクタ及びシンボルは必ずしも均一な寸法又は比率
ではなく、またスクリーン又はドキュメ/トに、又は互
いの関係で必すしも均一、予測可能又は規則的な方法で
配置されることもない。このために、テキストのライン
間のカーノル移@ ン他のラインに対して垂直にカーソ
ル金移動させることだけでは実行することはできない。 即ち、仄のラインの基準ラインは現在ラインから容易に
矧ることかできを固定された距離に存在せず、キャラク
タ及び(又は)シンボルはライン間で必すしも互いに垂
直に優列されていない。 以上の理由から、1つのラインから池のラインへのカー
ソルの移動はこのエディターに8いて直接的な妻籠移動
によっては実行されない。これに代わって、1つのライ
ンから他のラインへのカーソルの移動は、移動したライ
ンの開始に対するものであり、このカーソルを新しいラ
インから所望の位置に移動させるものである。 第1ステツプにおいて、エディターは新しいラインへの
カーソルが必要なことを判断しなければならない。エデ
ィターはユーザーのカーソル命令入力からこのこと塗、
例えばカーソルがそのラインから上下に移動するもので
あること、又は指示されたカーソル移動がこのラインの
終端を通過し。 て行くことを判断することによって、判断することがで
きる。後者の場合に、先に説明したように、カーソル移
動の方向に従い、ツリーの最終ユニット1−配置したと
き、即ちツリー溶造を介してこれよシ前又は後の経路が
存在しない点に達したときに、カーソルがラインFWす
るUS  136のツリーを通る間に、エディターがラ
インの終端を検出する。 他のラインのカーソル移動を指示したときは。 エディターは次のライン及び次のラインの最初のユニッ
ト全配置しなけれはならない。第8A図及び第8B図に
示したように、また元に説明したように、 SSS  
160は現在スクリー/・グループ808に一組のう・
イン・データ・ポインタ893ヲ有し。 ライン・テータΦポインタ893はそのば一ジのLDS
  162に対するポインタを含む。これらのポインタ
及びLDS  162ばI11序付けられたアレイ【ゼ
するので、ライン・データ・ポインタ893及び対応す
るLDS  162 亡増分又は減分することによし、
次のラインを配置することができる。しかし、次に行く
べきラインがないいくつかの場合もあることに注意すべ
きでめる。カーソルが第1ラインτ介して、又は最終ラ
イン葡介して移動しているときは、このような場合が発
生する。前者の場合に、ラインの第1ユニツトの開始に
達したときにエディターによ#)横比され、第2の場合
はツリーの最終ユニットの終端に付加プロップが存在す
ることにより検出される。後者の場合は、ユーザーが更
にテキストを付加することによシこのラインを継続する
こと、又は新しいライン全開始することが可能である。 前に関連して1次のライン又は前のラインへの移動も次
のスクリーン又は前のスクリーンへの移動が必要となる
。 続いて、次のラインに対応するLDS  162は、先
に説明したように、EB  128における当該ライン
の第1ユニツ) (h:U134)の開始に対するオフ
セット・ポインタ勿含む開始位置902のフィールドと
、対応するラインの最初のus  134に対するポイ
ンタ上官むライン・ポインタの開始ユニット蛸のフィー
ルド1とを有する。このポインタは888 160の現
在ユニット・データ・ポインタ843のフィールドに書
き込まれる。次に、カーソルは、ユニット間の移動に関
連して以上で説明したような方法で、新しいラインにお
ける最初のユニットに移動又は表示される。この処理に
8いて。 現在キャラクタ・バッファ位[852)現在キャラクタ
・バッファ開始853及び現在キャラクタ・バッファ終
了854のフィールドはカーソルによシ占有されている
新しいユニットの更新tし、現在キャラクタ喀ボックス
882及び現在基臨ボックス882のフィールド9は新
しいカーソル位1にでキャラクタ及び(又1d)シンボ
ルに対して構築され、カーソル全ページ及びそのスクリ
ーン上に配置して大きさを定める。 カーソルがラインに移動することになっているときは、
倉しいライン全実際には「構成」することができないこ
と、即ちEB  128に存在することができるが、対
応するUS  134はLUS  130に存在するこ
とができないことに注意すべきである。 この場合に、先に説明したように、エディターはパーサ
−148を呼出し、またパーサ−148はEB128か
らラインのF;U134に読4出す。次に、エディター
はライン・ポインタの開始ユニット904、開始位置9
06及びライン寸法908情報ケラインのLDS  1
62に書き込み、先に説明したステップにより処理を進
める。 新しいラインが未だ存在しない場合は、先に説明したよ
うに、EU  134のコード1EB128に設定する
際に、エディターは先ず新しいラインの第1の0813
6’(II”生成しなければならず、ま九888 16
0のライン拳データ構造ポインタ832に対応して入力
することにより新しいLDS  162 ’に生成しな
ければならない。今説明した方法によ)、LDS  1
62に生成するに従って、エディターはカーソルを新し
いユニットに移動させる。 このエディターのカーソル処理に説明したので。 次にい(つかのテキストの生成及びエディツト処理上説
明しよう。以下で説明する処理のうちで、エディター・
テキスト作成及び編集処理の説明は、付加された区別的
発音符号キャラクタに有するキャラクタの構築を含むユ
ニットの構築と、複数のユニット、及びページ上のテキ
スト・ラインのセグメントへのこれらのユニットのアッ
センブリからなるテキストのセグメント例の構築とであ
る。 最後に、エディターが実行した挿入及び隠し込み処理を
説明する。 〜第13F図) 先に説明したように、区別的発音符号キャラクタ、シン
ボル又はマークは、多(の点で他のキャラクタ及びシン
ボルと同じように処理されるが、スクリプトは異なる処
理を受しする。即ち、区別的発音符号キャラクタ、シン
ボル又はマークは1つの基糸キャラクタに直接関連して
i6り、死準ユニットに結合されたユニットとして処理
されるのではな(、基準キャラクタの定義の一部となる
。 第13A図〜第131i’図ケ参照すると、付加された
3つの区別的発音符号會有する基準キャラクタの構成が
示されている。このガ及び次の説明は芙語テキストの、
即ち平均的な読者茹考えて、左から右へ水平方向に書い
たテキストの全体的な規則に従う。エディター処理の前
の例に関連して説明したように、他のテキスト作成をこ
のエディターによシ容易に採用することができることに
注意すべきである。 第13A図に示すように、構築の最終結果は2つの上部
区別的発音符号と一つの下部区別的発音符号を有する基
準キャラクタ1A″になるので、−)る。 第1の上部区別的発音符号は二重ドツト、例えば1A1
の第2導関数として示され、また第2の上部区別的発音
符号はベクトル符号として示されている。以上の表現は
、例えばベクトル関数IAIの第2導関数であるベクト
ル全表わすことができる。 下部区別的発音符号はティルデとして示されている。 先に説明したように、SSS  160は、パラメータ
・グループ820.現在キャラクタ・ボックス881の
フィールド及び現在基準ボックス882のフィールドを
含む。区別的発音符号キャラクタr付加した基準キャラ
クタ(i[するキャラクタの構築において、現在基準ボ
ックス882のフィールド1は、構築の各ステップにお
いて、大きさ即ち基準キャラクタを囲む「ボックス」の
X及びyの範囲と、当該点で基準キャラクタに付加され
た全ての区別的発音符号とを含む。現在キャラクタ・ボ
ックス881のフィールド1は、書くステップにおいて
、当該ステップで構築に付加されているキャラクタの大
きさを含む。以下の説明において、現在キャラフタ−ボ
ックス881及び現在基準ボックス882のフィールド
の内容は、それぞれ現在キャラクタ・ボックス1202
及び現在基準ボックス1204  によし、第13A図
〜第13B図に図示されている。以下において、キャラ
クタ構築の原点はキャラクタの左開始基準ライン点、又
は池のキャラクタ又はシンボル、例えばスクリプトのと
きは、同様に示される基準点であることに注意すべきで
ある。この例では、左開始基準ライン点が区別的発音符
号を付加する基準キャラクタの下左端、即ち基糸キャラ
クタを囲むボックスの下左端であり、全ての大きさはこ
の点から測定される。 第13B図に示す第1のステップにおいて、キャラクタ
IAIは構成の第1及び現在カーソルとして入力され、
′A1のX及びyの大きさは現在キャラクタ自ボックス
881に書き込まれ、その境界内に”A” 2囲む現在
キャラクタ・ボックス1302a k定める。IAIは
当該点では唯一のキャラクタであるので、この処理の開
始で笑質的に0であった現在キャラクタ・ボックス13
02のX及びyの大きさはここでIAIのものとなる。 第130図に示す第2のステップにおいて、最初の上部
区別的発音符号は基準キャラクタ1A1に加えられるも
のである。このステップに対する初期の現在基準ボック
ス1304aは、先に説明したように、基準キャラクタ
”A”i囲むボックスのものである。第1の区別的発音
符号は新しい現在キャラクタであり、従って第1の区別
的発音符号のX及びy範囲は現在キャラクタ−ボックス
881のフィールドに書き込まれ、第1の区別的発音符
号キャラクタを囲む新しい現在キャラクタ・ボックス1
3021)の範囲を定める。このステップにおいて第1
の区別的発音符号を基準キャラクタIAIに付加すると
、第13D図に示すように、基準キャラクタIA”と、
第1の区別的発音符号と葡囲む新しい現在基準ボックス
13041)が得られ、これらの範囲は現在基準ボック
ス882に書き込まれる。 第13D図に示す第3のステップにおいて、第2の上部
区別的発音符号はこの点では基準キャラクタ1A1と、
第1の上部区別的発音符号とケ含む構成に付加されるも
のとなる。先に説明したよ5に、このステップの開始で
現在基準ボックス882のフィールド1に記憶された範
囲は、基準キャラクタ”AIの最大のX及びyの大きさ
と、第1の区別的発音符号を囲むために必要とする範囲
とであし、現在基準ボックス13041)を定める。勿
論、このステップにおいて新しい現在キャラクタは第2
の上部区別的発音符号であるので、第2の上部区別的発
音符号のX7範囲が現在キャラクタ・ボックス881の
フィールドに書き込まれ、このステップの新しい現在キ
ャラクタ−ボックス1302C(!?定める。基準キャ
ラクタIAIと第1の上部区別的発音符号とを有する構
成に第2の区別的発音符号を加え穴結果、第1311E
図に示すように、基準キャラクタlA1と、第1及び第
2の上部区別的発音符号と會囲む新しい現在キャラクタ
・ボックス1304 cが得られる。新しい現在キャラ
クタ−ボックス1304 Qの範囲は現在基準ボックス
882のフィールドに書き込まれてこの点の総合構築の
範囲を定める。 第13E図に示す第4ステツプにおいて、下部区別的発
音符号は基準キャラクタIAIと、第1及び第2の上部
区別的発音符号とを有する構成に加えられるものである
。先に説明したように、このステップの開始で現在基準
ボックス882のフィールド9に記憶された範囲は、基
準キャラクタ“A”の最大のX及びyの大きさと、第1
及び第2の上部区別的発音符号と7囲むために必要とす
る範囲とであり、現在基準ボックス1304C’を定め
る。新しい現在キャラクタは下部区別的発音符号である
ので、下部区別的発音符号を囲むボックスのX及びyの
範囲は現在キャラクタΦボックス881のフィールビに
苔き込まれ、現在キャラクタ・ボックス1304dを定
める。基準キャラクタIAIと、第1及び第2の上部区
別的発音符号とを有する構成に下部区別的発音符号を付
加する結果、第13F図に示すように、基準キャラクタ
1A′と、第1及び第2の上部区別的発音符号と、下部
区別的発音符号とr囲む新しい現在キャラクタ・ボック
ス1304dが得られる。現在基準ボックス1304d
の範囲は、現在基準ボックス882のフィールドに書き
込4g、この点に対する総合的構成の範囲を定めゐ。こ
の点で、更に構成に加える区別的発音符号Φヤラクタは
存在しないので、当該処理を完了する。 ドキュメント・データ構造と、特にUS 136と、・
く−サー148の処理とに参照して前に説明したように
、ユニットのUS  136はUN工TD工MS  5
24と、ユニットのX及びyの範囲を表わすEXThi
NDEXDDIMES  526のフィールドとに含む
。先に説明したように、続いてこれらの範囲ケ用いてラ
イン内及びは−ジ上にユニットを配置する。先に説明し
たように、定められた付加区別的発音符号を有する基準
キャラクタの範囲は1区別的発音符号を例加したキャラ
クタr含むユニットの基草及び拡張範囲を決定する際に
、エディターが用いられ、。 最後に、また先に説明したように、このエディターによ
ってユーザーがエディツト処理をするための区別的発音
符号全指定することができる&Jlが得られる。しかし
、先に説明したように1区別的発音符号は、例えば基準
キャラクタ、バー・ユニットと異なる処理が行なわれ、
これらは直接関連され、かつこれら自身において独立し
たユニットであるのではなく、基準キャラクタの一部で
ある。従って、ユーザーがエディツト処理に対して区別
的発音符号を指定する意味は、前に説明したカーソル処
理と異なり、基準キャラクタの一部として関連され、か
つ構築される区別的発音符号の処理を反映している。 先に説明したように、全てのオペレータ、パラメータ、
ターミネータ・コード及びキャラクタに関連する他のコ
ードは%MB  128において当該キャラクタのキャ
ラクタ・コードと関連して配置される。与えられたキャ
ラクタのキャラクタ・コードが現在カーソル位tmを定
める現在キャラクタ・バッファ位置852によってEB
  128に配置されるときは、区別的発音符号オはレ
ータ及びキャラクタ・コードを含む関連するコードも先
に説明したように、現在キャラクタ・バッファ開始85
3.現在キャラクタ・バッファ終了854のフィールド
によシ定められるEB  12Bの部分におけるコート
9を読み出すことにより、配置することがでべろ。 従って、このエディターにおいて、ユーザーは、うυK
m明したように、区別的発音符号の基準キャラクタ〆こ
カーソルを移動することにより、区別的発音符号に対す
る処理を開始する。区別的発音符号それ自体、及び実行
すべき処理で複数の方法の何れかにより、指定すること
ができる。例えば。 ユーザは、スクリプトに関連して先に説明したように1
区別的発音符号コマンドτ単独の機能キーストロークと
して、又は制御キーストロークの組合わせとして入力す
ることができ、また1以上あるときは、カーソル・キー
ヲ匣用することにより。 又は区別的発音符号Φヤラクタのキーストロークにより
、特殊な区別的発音符号を指定することができる。実行
すべき処理、例えはDELETE =7指定するコマン
ドは、選択したエディターの規則により特殊な区別的発
音符号を識別する前後に入力することが可能とされる。 エディターのこの夾施例においてば、フォント、イタリ
ック又は寸法指定と同様の方法によし、キャラクタと関
連した形式の一部電なすものとして。 この観点から、説明したように、区別的発音符号rキャ
ラクタと直接関連させ、かつ処理する。従って、ユーザ
ーは基準キャラクタの下にカーソルを配置し、実行すべ
き処理のコマンド、例えばDELETEを入力し、5T
YIキーストローク・コマン)47人力する。エディタ
ーは1表示装置116上に配置したメニュー形式により
、関連する全ての区別的発音符号を含む当該キャラクタ
と関連した全形式の特性を表にすることにより応答する
。 次に、ユーザーはメニューから、例えはカーソル・キー
を用いて区別的発音符号を指定することができ、エディ
ターは指定された区別的発音符号について指定された処
理會央行する。 カーソル移動と、区別的発音符号の生成及びエディツト
に関連してエディターの処理を説明したので、ユニツ)
tl−構成する際のエディターの全体的な処理を次に説
明しよう。 F、  3ユニツトの構成例(第14図)区別的発音符
号を付加した基準キャラクタを構築する特定の方法を以
上で説明した。またテキスト即ち4数のラインにアッセ
ンブルされた複数のユニットを構成する際のパーサ−1
48の概要的な処理も以上で説明した。更に、以下では
複数のユニットからなるテキストのセグメント例の構成
を説明することにより、エディターの処理を説明しよう
。また、以下の説明では、41uのユニットを複数のテ
キスト・ラインに構成する際のこのエディターの処理を
更に説明しよう。 以下の説明及び図では、説明及び理解を明確にするため
に、いくつρ・の規則を採用する。第1に、例で用られ
るテキストは右から左に進むと仮定し、イージ上の位置
を示すときに用いる!7座像系はx’fr:x原点から
右方へ正値を有する水平軸とし、yをy原点から上方へ
正値を有する垂直軸とすると仮定している。典型的な読
者の理解を容易にするべく、テキスト・ラインは左から
右に読本書きし、連続的なラインは上から下へ読み書さ
する英語の規則を説明例が使用しているので、以下の説
明例では、これらの座標を選択している。第2に、以下
の説明及び図が複数のユニットの構造を示すと共に、複
数のボックス及びラインはユニット及びこれらの基準ラ
インの寸法を概略表示している。 以下の図はほぼ「分解」図として示されており、従って
、そのようにしなければ互いに重畳してしまう0.数の
ラインが接近させた関係で表わされている。 先に説明したように、各ユニットの論理構造及びその内
容はEB 128におけるEU 132に記憶される。 一方、ユニットの物理的及び可視的特性を説明するため
に必要な情報は、LUS 130の対応するEU 13
2に記憶される。説明したように、ユニットに対するU
S 136はEB 128において対応スルEU 13
4 O開始位置(STARTPO8516)、EB12
8において第1キヤラクタ又はシンボルの位置(STA
RTCHAR518)、及びEU 134の長さくEL
ENGTH520)を説明する情報を含むので、EB 
128においてユニットを有するキャラクタ及び(又は
)シンボル、オペレータ、パラメータ及びターミネータ
・コードをパーサ−148により配置することができる
。 対応するUS 136に記憶されている情報には、ユニ
ットを含むラインの部分の開始に対するイージ上のX7
絶対位置を含む2つのフィールドからエル5TARTL
oC522カアル。UNITDIMS 524ハ5TA
RTLOG周りの各方向におけるユニットの最大及び最
小のX及びyの範囲、即ちユニットの寸法を含む4フイ
ールドのグループを含む。EXTEND−EDD工MS
 526は4フイールドのグループを含み、これには最
大及び最小のX及びyの範囲、即ちユニット十次のユニ
ットの寸法と、全てのスクリプトと、ライン分割と、ユ
ニットから5TAI(TLOC周りの各方向における現
在基準ラインの終端まで関連するバー・ユニットとが含
まれる。US 136の残りのフィールド9は、例えば
ユニットの開始及び縫子でフォントの寸法の係数に関す
る情報と、構造フラグと、当該ユニットに接続されてい
る関連する全てのユニットに対するポインタとを含む。 これらに関連するユニットは前後のユニットと、全ての
、スクリプト・ユニットと、関連するライン分割の個別
的なラインを有するユニットと、を含むO 第14図を参照すると、説明の都合から7ユニツトを含
むテキストのラインの一部が示されている。第14図は
、第12A図におけるテキストの前の説明例と異なって
おり、第12A図では、表示及び説明を明確にするため
に、ライン分割シンボルのようなエディツト及びフォー
マット用のシンボルが省略されていることに注意すべき
である。 付加プロップの位置はテキスト構造に関する次の説明の
過程で変化するので、付加プロップも同じような理由か
う図示していない。従って、第14図の例は、テキスト
がエディツト中に表示装置116ではなく、印刷された
は−ジ上にf4F的な形態で現われる。 第14図に示す第1ユニクトは、ユニット1402とし
て示されており、1キヤラクタのロアーケース(low
er case) ” g″からなる。第2ユニツトは
基準ユニット(BU)1404として示されている基準
ユニットであり、1キヤラクタのアッパーケース(up
per case)”A”と、関連する上部分音符号と
からなる。第3ユニツトはBU 1404 に関連する
プリスーパースクリプト・ユニツ) (PsupU)1
406である。 第4.8g5及び第6ユニツトは、全体でBU1404
に対してスーパースクリプト位置にライン分割全頁する
。ライン分割ユニットtX n = 1のノξラメータ
値を有するので、2つのラインへのLJNESPL工T
 ’i示すと共に、分数2インは2つのライン間を占め
る行間に配置されている。先に説明したように、ライン
分割の谷ラインは独立した少なくとも1ユニツトからな
り、才たこの例のライフ分才iの2ユニツトはライン分
割ユニット(LSU) 1408a及びライン分割ユニ
ット(LSU) 1408bとして表わされている。以
下で説明するように、ライン分割は常に局部的な基準ラ
インに基づいている。以下で説明するように、ライン分
割がスー・ぞ−スクリプト位置にあるライン分書11の
場合は、ライン分割の局部的な基準ラインはスーパース
クリプト・ユニットにより設けられる。このスーパース
クリプト・ユニットは第14図に明確には示していない
が、これはスーパースクリプト・ユニットがLUS 1
408a及びLUS 1408b  に対する基準ライ
ンとして存在するためである。 第14図の最終ユニットはBU 1410かものサブス
クリプト・ユニットであり、サブスクリプト・ユニット
(SubU)1410として示されている。 ユニツ) 1402を先ず説明すると、例えば第1キヤ
ラクタがスクリプト・ユニットの第1キヤラクタである
ことを示すことにより、ユーザーが他の基準ラインを開
始しない限り、先に説明したパーサ−148はこの基準
ライン上に来るユニットの第1キヤラクタ、又はこの基
準ラインの上にあるユニットのシンボルの5TARTL
OC522のX座標を決定する。パーサ−148は前の
最終キャラクタ又はユニットからのオフセットとしてシ
ンボルの5TARTLOC522のX座標を決定する。 このオフセットはDP I26からの中間キャラクタ・
ピッチ情報により決定される。これを第14図にユニッ
ト1402に対する5TARTLOC1412により示
す。ユニッ) 1402の前のユニットに対する最終を
ヤラクタ又はシンボルは第14図に示されていないが、
”g′ の主要部分が基准ライン(BL)1414、即
ち第14図に表わされているテキストのセグメントに関
する基準ラインに来るように、1g” に関する5TA
RTLOC522のy座標を決定することに注意ナベき
である。図示のように、キャラクタ″g”はディセンダ
ー、即ちBL 1414の下に延びる”g″の尾を有す
る。 説明したように、パーサ−148はキャラクタ”g″の
場合に、ノーサー148は、DP 126におけるキャ
ラクタ・ピッチ情報と、当該キャラクタ又はシンボルに
関するPT 144情報と、前のユニットのUS136
のユニット開始状態情報サブグループ508のフィール
ドにより決定された適用可能なりサイズ係数と、ユーザ
ーにより指令されたりサイズ係数とからユニットの範囲
を定める。ユニット1402の範囲はパーサ−148に
より決定され、ユニット1402のUS 136のUN
ITDIMS 524 フィールド9に書き込まれたも
のであり、第14図にUNITDIMSボックス(D工
MS)1416により示されている。図示のよう(/C
,ユニツ) 1402に関するUNITDIMS 52
4のX範囲は正方向、即ちこの説明の都合から8TAR
TLOC1412の右へのみ伸延する。 から正(上)方向及び負(下)方向に伸延する。 ここで、BU 1404 及びこれに関連するスクリプ
ト・ユニットの構造を説明すると、パーサ−148の処
理は更に複雑である。本質的に、パーサ−148は先す
BU 1404のみを構築し、次いでPSupU 14
06をそれぞれ構築する間に、LSU 1408a。 1408b 、  これらの基準ラインのスーパースク
リプト・ユニット及びSub 1410はBU 140
4のUS136である特性識別グループ504のフィー
ルドを修飾する。 第1ステツプにおいて、即ちパーサ−148が最終的に
BU 1404になるテキスト要素を構築し℃いるとぎ
は、キャラクタ″′A″及びその関連する区別的発音符
号を調べてユニツ) 1402内に含める。 これは、独立したユニットにおいて′A”及び区別的発
音符号を配置する必要のある処理がまだ実行されていな
いためである。即ち、例えばスクリプトでなく、区別的
発音符号はキャラクタ”A″の定域の一部となり、従っ
てA”及び関連する区別的発音符号τこのユニツ) 1
402に含めることができる。従って、このステップで
は、パーサ−148がキャラクタ“A’及び関連する区
別的発音符号を構築する除に、前に説明したように処理
勿し、またユニツ) 1402のユニット寸法はA”及
び区別的発音符号を含むように必要なだけ拡張される。 スクリプト・オペレータは”A”の次に直ちに検出され
るので、′A′はユニット1402に人力されないこと
に注意すべきである。しかし、スクリプト・オペレータ
に達するまで、A″はユニット1402に進むものとし
て処理される。 キャラクタ”A″に対するブリスーパースクリプト位置
へPSupU 1406を書き込む仄のステップは、キ
ャラクタ″A”及び関連する区別的発音符号をユニット
1402から独立17たユニットに配置し、PSupU
 1406に対して基準ユニットとなることが必要であ
る。従って、パーサ−148は新しいユニットBU 1
404を開始し、キャラクタ″′A”及び関連する区別
的発音符号を含めるようにし、かつDIMSボックス1
402により示すように、BU1404 (7) tJ
NITDIMs 524の@、 t111’4判断して
、キャラクタ“A”及び関連する区別的発音符号のもの
となるようにする。バー−!F−−148もこの時点で
ユニッ) 1402を判断して、第14図に示すように
、キャラクタ”g″のみを含め、BU 1404の5T
ARTLOC522が点1420に、ちると判断する。 エディターがユニット1402の5TARTLOC52
2全判断し、BU 1402に対するページ上にBU 
1404を配置するときに、エディターはBU 140
4の5TARTLOC522のy座標を判断することに
より、BU 1404の5TARTLOC522をy座
標で、即ちBL 1414でBU 1404の5TAR
TLOC”522と整合させることl/c注意すべきで
ある。ラインの構築及び他のラインに対するラインのユ
ニットの位置に関する以下の説明で更に説明するように
、ラインの全ての「基準ユニット」、即ちスクリプト位
置、又はライン分割に配置されていないラインの全ての
ユニットをページ上に配置させることにより、yの大き
さにおいて互いに整合させ、ラインの基準ライン上に配
置する。実際には、ラインの基準ユニットの5TART
LOC522がライン基準ラインを定める。 PSupU 1406. LUS 1408a、 14
08b及び5ubU1410の構築の説明を続ける前に
、構文解析の速匿及び簡単さのために、IU 134に
おけるEB 128に出現する全てのスクリプトは好ま
しい順序にあり、かつユーザーが入力した順序に関係な
く、当該順序でEE 146により書き込まれることに
注意すべきである。即ち、ユーザーが好ましい+m序で
オペレータを入力するに際に、Eb 146はEU13
4のオペレータを再順序付けをする。この実施例のエデ
ィターにおいては、当該順序はブリスーパースクリプト
、ブリサブスクリプト、オーバースクリプト、アンダー
スクリプト、スーツモースクリプト及びサブスクリプト
である。更にことに注意すべきである。他の実施例では
、この順序を変更することができ、又はノ鷹−サー14
Bがオはレータ・コードの更fノCi雑なデコート9を
実行することにより、EU 134の処理に何らの順序
を必要としないことにも注意すべきである。 PSupU 1406に対するパーサ−148の処理を
ここで説明すると、先に説明したパーサ−148はキャ
ラクタ及び(又は)シンボル、オはレータ、ターミネー
タ・コー)4をユーザーが入力する際に読み込み、必要
に応じて谷コードに応答する。プリスーパースクリプト
のオにレータ・コードの人力は、新しいユニットを必要
とし、かつこのユニットがBU 1404からのプリス
ーパースクリプトであることをパーサ−148に知らせ
る。次に、パーサ−148は、PSupU 1406の
US 136を初期化し、対応するポインタfUE31
404のUS 136 であるブリサブスクリプトユニ
ット(PRESUPER8CRIPT−UNIT)55
4のフィールドに書き込み、かつEB 128にPSu
pU 1406のEU 134のコードを配置する5T
ARTPO3516,5TARTCHAR518及びE
LTLENGH520のフィールドを含め、PSupU
 1406を有するキャラクタ及び(又は)シンボル、
オペレータ、パラメータ及びターミネータ・コードを入
力する際に、EU 134のフィールドを判断する。 PSupU 1406はプリスクリプトであり、従って
BU 1404に関連したユニットにおいて左端のキャ
ラクタ又はキャラクタ・グループであり、前のユニット
に対して左端位置を占める。これi7(より、パーサ−
148はPSupU 1406の5TARTLOC52
:#)フィールドに関するX座標を点1420と同一の
Xの大きさの点、即ち前のユニット1402に対して可
能とする最左端位置に配置させることを判断することに
よって、PsupU 1406に対するプリスーパース
クリプト・オペレータに応答する・PSupU1406
の5TAR’rLOC522のフィールドのy座標は、
DP126のスクリプトロケーション(SCRIPTL
O−CAT工ON) 207 カラ判断L、SCR工P
TLOCATION 207は先に説明したように、ス
クリプトが基準キャラクタの上、又は基準キャラクタの
基準ラインの上において基準キャラクタの高さの2/3
でLDS162の開始位置906のフィールドと共K、
配置されているかを判断する。開始位置906のフィー
ルドはば一ジ上のBL 1414のyWl、櫟を決定す
るものである。その結果のPSupU 1406に対す
る5TARTLOGは、PSupU 1406の5TA
RTLOC522のフィールドに入力される際に、第1
4図に5TARTLOC1424として示されている。 ユニットは未だPSupU 1406に現われるキャラ
クタを入力していなかったので、PSupU 1406
の初期の範囲は、勿論、付加プロップのものである。 ユーザーが谷PSupU 1406のキャラクタを入力
すると1.e−サー148及びEE 146はPSup
U 1406のEU134にキャラクタ・コードを書き
込むことによって各キャラクタ・コードに応答し、入力
したキャラクタを囲む必要に従ってPSupU 140
6の範囲全決定し、’tk示装f116上にPSupU
 1406のキャラクタを表示する。 即ち、ユーザーがPSupTJ 1406の第1キヤラ
クタ”1″を入力したときは、1”のキャラクタ・コー
ドがPSupU 1406のEU134に書き込まれ、
PSupU 1406の範囲が′1”を囲むように増加
され、1”がBU 1404に対するプリスーパースク
リプト位置に表示される。次(lこ、ユーザーは第2キ
ヤラクタ”、′を入力し、′どのコード2EB128に
書き込み、PSupU 1406の+値囲をこの点、即
ち1 〔付加プロップ〕”に入力されたキャラクタ・グ
ループを囲むように拡張し、”1、[付加プロップ]”
−pBIJ 14tJ4に相対するプリスーツぐ−スク
リプト位置に表示する。次に、ユーザーは最終キャラク
タ”2[付加プロップコ”を入力し、2″に対するコー
ド2gB128に書き込み、PSupU 1406の範
囲を再びこの点、即ち1.2[付加プロップコ”に人力
されたキャラクタ・グループケ囲むように拡張し、”l
、2[付加プロップ]″をBU 1404に相対するプ
リスーパースクリプト位置に表示する。R彼に、ユーザ
ーが疑似リターンを人力したとぎに、PSupTJ 1
406を終結することンこより、ユニット″1.2[付
加プロップ]″を終結させる0PSupU 1406の
UN工TDIMS524のフィールドに書き込まれた最
後のX及びyの範囲は、第14図にDIMSボックス1
426により示されている。PSupU 1406はス
クリプトであって、例えばPSupU 1406に接続
された他のスクリプト又はライン分割が存在する限り、
そのユニットの寸法と異なる拡張的寸法を有することは
ないことに注意すべきである。PSupU 1406に
接続された他のスクリプト又はライン分割が存在すると
きは、PSupU 1406はこれらのスクリプト又は
ライン分割に対する基準ユニットとなり、これらのスク
リプト又はライン分割によるPSupU 1406の拡
張的寸法kt PSuptJ 1406 tD E2X
T11fDEDD工MS526に書き込まれる。 実際に、BIJ 1404が右へ押され、ユニット14
02とBU 1404との間ノPSupU 1406 
ノXK−スを作成すること警工、以上から、また第14
図から明らかである。これはテキストの形式で一般的か
つ反復的な処理であると共に、このエディターが処理す
ることを意図しているものである。この処理、及び以下
で説明するこの例のテキスト構築において同様の処理は
ダイナミック処理であるが、処理f、実行する特定な方
法はエディターが実行しているシステムの能力に依存し
ていることに注意すべきである。即ち、エディター及び
システムは、ユーザー人力に対して受は入れ可能な応答
時間を与えなければならず、またこのことはエディター
処理ヲ実行する際に、CPU112の処理速度と、エデ
ィター処理の相対的な複雑さに依存している〇最も好ま
しい処理モードでは、テキス) qh囲の決定及びユー
ザー処理を反復させるための距離の修飾は、連続的であ
る。即ち、範囲を決定し、スクリーンを更新し、ユーザ
ーが各キャラクタを入力又は削除する。例えば、先に説
明した処理において、谷PSupU 1406のキャラ
クタを入力してPSupU 1406のX範囲を増加さ
せると同−蕾だけ、BU 1404の5TARTi、Q
C522Ox座標ノ値k 増加させることにより、ユー
ザーが谷PSupU 1406のキャラクタ又はシンボ
ルを入力すると、パーサ−148は右へダイナミックに
BU 1404 を「移動」させる。ユーザーには、各
PSupU 1406のキャラクタを入力する際に、B
U 1404が右へ連続的に移動する可視的な効果があ
る。BU 1404の5TARTLOC522の最終的
な結果によるxy座標系位置のフィールドは、第14図
に5TARLOC1428により示されている。 しかし、CPU112 がインテル(Intel) 8
086 マイクロプロセッサであるこの実施例のエディ
ターでは、キャラクタ毎にこれらの処理全実行するため
にCPU 112 に必要な時間は長過ぎ、ユーザ一応
答:・では適当でない。従って、この英M?+1のエデ
ィターは、実行者が選択したユーザー処理により決定さ
れる期間又は時点を除さ、これらの処理を連続的、かつ
キャラクタ毎に実行することはない。 この例を説明すると、ユーザーが疑似リターンを入力す
ることによりPSupU 1406の構築全終結したと
ぎは、エディターはBU 1404の位置?再度決定し
、表示装置116上に示すデキスト・イメージを再生す
る。このために、テキスト及び表示全更新する前は、処
理に従ってユーザーがいくつか、又は多数のキャラクタ
を入力することができ、この期間においてテキストの表
示イメージはテキストの真の姿を正確に反映してはいけ
ない。しかし、ユーザーはスクリーンを更新し、その者
の判断を正確にさせること?要求する能力が得られる。 この例では、例えばPSupU 1406 k$!築し
ている間に、PSupU 1406のキャラクタがBU
 1406Th重ね書きするように見え、またPSup
U 1406の構築を完了するまではテキストの最終的
なイメージヲ提供することはない。この時点で、エディ
ターは前に説明した位置処理を実行して、テキストの全
ての要素の位置及び姿を判断する。この時点では、BU
 1404は先に説明したように、右へ移動するように
現われ、ユニット1402)BU 1404及びPSu
pU 1406は第14図に示すように現われる。 テキスト要素?装置するとぎは、エディターが好ましい
とするシーケンスに従うことに注意すべさである。この
シーケンスは、異なる処理目的のために、即ちページ上
のテキスト要素の位置のために、前に説明した好ましい
とする構文解析のシーケンスと異なり、位置の順序では
オーバースクリプト、アンダースクリプト、プリスーパ
ースクリプト、ブリサブスクリプト、スーツぞ一スクリ
プト及びサブスクリプトである。 最後に、テキスト要素の構築の説明を続ける前に、以下
の説明等は説明の都合及び明確さのために、WBりの規
則を採用したことに注意すべきである。即ち、テキスト
要素の構築、即ち各要素の構築と、各要素の範囲及び位
置とが連続した要素毎及びキャラクタ毎の処理であるか
のように、以下の説明をする。エディターの実施例で使
用しているプロセッサーの制約により、このエディター
は、この実施例の場合、ユニットの構築について前に説
明した処理と同じような処理に事実上従っている。即ち
、エディター及び/ξ−サー148は適切にテキストの
全ての要素iWJ#築し、次いで要素の範囲を決定し、
最後にページ上に要素を位置決めする。例えば、入力す
べきテキストが5要素あるときは、ユーザー及びエディ
ターはユニット1〜5をその順序で構築する。次いで、
ユニット5〜1をその順序で再び判断をし、再びに一ジ
上のユニット1〜5をその順序で位置決めする。高速か
つより強力なプロセッサを備えた他の実施例では、エデ
ィターは各要素及びキャラクタに対し【連続的、かつ反
復的にこれらの処理を実行するように構成することスI
;できる。また、この規則は以下の説明における実施例
を明確にするために採用したものである。 第14図に示すテキストの構造の説明を続けると、アリ
スーパースクリプトとしてのPSupU1406の付加
により、BU 1404の寸法?拡張する結果となる、
拡張した寸法のBU 1404はそのEU134のEX
TENDEDDIMS 526のフィーヤドに書き込む
必要がある。また説明全明確にするするために採用した
規則では、これはダイナミック処理であり、かつPSu
pU 1406の各キャラクタをユーザーにより入力す
る際に、BU1404、即ちD工MS1422とPSu
pU 1406とを囲むように必要なだけ拡張した寸法
のBU 1404をパーサ−148により増加させる。 ここで説明したステップの結果により拡張された最終的
なりU 1404、即ちPSupU 1406、LSU
 1408a 、 1408b及び5ubU 1410
〜1404は第14図に拡張寸法ボックス(EDIMS
) 1430により示されている。しかし、この構築時
点で、XDIMS 1430は、5TARTLOC14
24、即ちD工MS1426の左側からBU 1404
の右端点までのX寸法に拡張され、XDIMS 143
0はDIMS 1422の下側からDIMS 1426
の上側までのyの寸法に拡張される。PSupU 14
06が5TARTI、QC14280左にXの寸法全拡
張させ、また負のyの寸法、即ち上方向テI”A、PS
upU 1406がBU 1404上に拡張するノテ、
BU 1404にPSupU 1406 k付加すると
負のX方向、即ち左へBU 1404の寸法?拡張する
ことになる。 次のシーケンスのステップでは、ユーザーがスーパース
クリプトのオペレータ・コードを入力することにより、
LUS 1408a及び14081) ’t−生成して
ライン分割の基準ライン、更にLUS 1408a及び
1408b  のオペレータ・コード及びパラメータ・
コード?得る。先に説明したように、n=1のライン分
割は2,5インのライン分割となり、かつバーがライン
間を占める行間に現われる。これも先に説明したように
、ライン分割の各ラインは少な(とも一つの独立したユ
ニットとして処理され、かつ生成されるので、このライ
ン分割オはレータ及び、(ラメータの外形はパーサ−1
48に新しいユニ7ト、即ちLLIS 1408a及び
14081) Th初期化して配置させるものとなめ。 ライン間のバーは、ユニットを形成するものではないが
、特定のオペレータ及びパラメータの特性であめ。LU
S 1408a及び1408bの初期化において、前者
は最初に付加プロップのみを有するときに生成され、後
者は前者kF粕する疑似リターンを入力したときにのみ
生成されることに注意すべさである。 LUS 1408a及び1408bの構築の説明に進む
前に、ライン分割のa要約な場合を先づ“説明してLL
IS1408a及び1408bに関する以下の説明を理
解する際の助けとする。 ライン分!411で説明したように、基準ラインは2以
上の平行なうイン・グループに分割されると共に、各ラ
インは元の基準ラインに平行であり、ライン・、グルー
プは元の基準ラインを中心としている。ライン分割の各
ラインは少なくとも1ユニツトであり、ユーザーにより
選択された寸法の1上上のキャラクタ又はシンボルはラ
イン分動の各ライン上に出現可能である。ライン分割の
各ライン・ユニットは5TARTLOC522t?有し
、また各ライン・ユニットのyの寸法は互いにyの範囲
、即ちライン・ユニットに現われるキャラクタ及びシン
ボルの寸法によって判断される。しかし、ライン分割は
更に全体としてライン分割が実際に1ユニツトとしての
特性音響する。即ち、ページ上にライン分割の個々のラ
イン・ユニットヲ位置決めするときは、ライン分割を有
するライン・ユニットのグループはエディターによって
1ユニツトとして処理される。 例えば、ライン分割の最も簡単な場合、即ち現在ライン
の、例えばBL 1414の基準ライン上に中心を有す
るライン分割の最も簡単な場合を説明すると、パーサ−
148はyの大きさ、即ち高さ、先に説明したキャラク
タ寸法及びリサイズ情報からラインのそれぞれの高さを
判断し、また5SS160の行間スに一シング887の
フィールドから行間のスは−スを判断する。パーサ−1
48はライン上に現われる全てのキャラクタがライン分
割の第1ラインの開始で指定した寸法のものであると最
初に仮定ケ行ない、これに従って全体としてライン分割
の初期開始位置を決定する。このライン分割の初期開始
位置は、先に説明したように、ユニ、 ットの基準ライ
ンの左端の!7座標を峻別するユニットの5TARTL
OC522ど同様である。う47分1;1の場合は、開
始位置のX座標はライン分’9Jにおけるライン・グル
ープ左端のページ上のX座標を誠別する。しかし、この
例における開始位置のX座標は、ライン分割を有するラ
イン・グループの中間点の全体的な高さに関するページ
上のX座標を判断する。 ライン・グループの開始位置の!7座標はライン分割を
接続する基準ユニット形式であるUS136 ノLIN
ESPL工TLOC530tD 7 (−ルトVc書き
込まれ、またライン分割におけるライン数を基準ユニッ
、トのLINESPL工TNUM 528のフィールド
に書き込む。 )(−サー148はりサイズの各ライン・ユニットのU
S 136 r開始し、基準ユニットのUS 136の
L工NESPL工TUN工T562のフィールドにライ
ン分割のUS 136のそれぞれに対するポインタラ書
き込む。次いで1.(−サー148は先に説明したキャ
ラクタ寸法及び行間スペーシング情報を用いて、各ライ
ン・ユニットについての5TARTLOC521判断し
、かつライン・ユニットの5TARTLOC522のフ
ィールドのそれぞれに5TARTLOCのxyX座標書
き込む。 ライン分割のラインにキャラクタを入力している間に、
ユーザーがキャラクタサイズの震災ケ指定したときは、
この変更が互いに対するラインの開始位置及び大きさの
変更により必要とすることがある。また、このような変
更はライン分割の開始位i (LINESPL工TLO
C530) ノf更taleすることもあるので、全体
としてライン分割は元の基準ラインを中心とすることに
変化はない。ノーサー14Bはこのようなキャラクタサ
イズの変更と、ラインの寸法及び位ffe変更する他の
ユーザーの操作を検出し、必要に応じてライン寸法、ラ
イン開始位置及びライン分!11開始位置を再計算し、
必要に応じて基準ユニット及びライン・ユニットのUS
 136の適当なフィールドに新しい寸法及び位置情報
を書き込む。他のテキスト・ユニットと同機に、ライン
分割を他のユニットの碩域に拡張することはできないこ
とに注意−「べきである。従って、ライン分割の構築は
、ラインの構築に関する以下の説明で述べているように
、ラインを他のラインに対し℃ベージ上に再配置するこ
とを必要とするので、ライン分割は他のテキストに侵入
することはない。 第14図の例のように、スクリプト位置におけるライン
分割の場合は、ライン分割及びそのユニッ)k−flf
築する除のパーサ−148の処理が先に説明したものと
同様である。しかし、主な相違は開始位置、即ちライン
分割とライン分割に!するライン・ユニットの局部的な
基準ラインにある、これらの場合に、ライン分割を構築
している基準ラインは所望の位置においてスクリプト・
ユニットのものである。再び、ライン分割もそのyの犬
ぎさで配置しなければならないので、ライン分割が他の
ユニットのために予約1.た領域に入り込むことはない
。即ち、例えばオーバースクリプト位置におけるライン
分割は下方へ基準キャラクタに伸延しないように、配置
されなければならず、またプリスーパースクリプト又は
スーツミースクリプトの位置は下方へサメスクリプト位
置に伸延しないようVζ、配置されなければならない。 この条件は、ライン分割は上へ基準キャラクタ又はスー
パースクリプト位置に伸延しないように配置されなけれ
ばならないことを除き、アンダースクリプト、及びスー
パースクリプト位置のライン分割にも適用される。 スーパースクリプトの位置においてライン分割の場合を
説明すると、ライン分割を有するライン・ユニットのグ
ループはそのyの大ぎさで配置されるので、ライン分割
における最低ユニットの基準ラインは通常のスーパース
クリプト・ユニットの基準ラインにより通常占有される
位置に垂直に配置される。ライン分割はその点から上に
伸延し、従りてライン・ユニット及びライン分割のそれ
ぞれの64始位置が決定される。ユーザーがある処理又
は変更、例えばライン・ユニットの大きさ若しくはスペ
ーシング、又はライン分111(の位置及び大きさに影
響するキャラクタサイズの変更を指令したときは、ノー
サー148は再びこれらの変更を検出するので、ライン
・ユニット及びライン公印1の開始位置及び寸法を15
飾する。しかし、この場合は、最低のライン・ユニット
の基準ラインは固定されたままであり、ライン分割は固
定されたこの基準ラインに対するyの大きさが拡張又は
縮小する。 パーサ−148の処理は、最低ライン・ユニットの基準
ラインkfiffl定して基準キャラクタのjn部上V
C残留すること全除き、オーバースクリプト位置におけ
るライン分割の場合と同様であδ。)々−サー148の
処理は、頂部ライン・ユニットの基準ラインヲ固定して
他のユニットとの干渉ft避けるようにすることt除き
、アンダースクリプト又はサブスクリプトにおけるライ
ン分割の場合と同様であり、ライン分割は固定されたこ
の基準ツインから下に垂直方間に拡張又は縮小する。 スーツぞ−スクリプト位置におけるライン分割の第14
図に示す例を参Hし、またこの説明で用いた以上で説明
の説明規則ケ想起すると、パーサ−148は、ユーザー
の指示により、LtJ81408a及014081)の
基準ラインと、LUS 1408a及び1408bのU
S 136となるスーパースクリプト・二ニア ) K
クイCo [JS 136 ’(開始し、LUS 14
08a及び1408bと、ライン分割とに対する開始位
置全判断する。ライン分割の基準ラインとなるスーパー
スクリプト・ユニットそのものにはキャラクタ又はシン
ボルが含まれていないが、ライン分割の基準としてのみ
利用することに注意すべきである。 L[JS 140B?)に対する5TARTLOC52
2が先す判断され、ST紅TLOC1432により第1
4図に示されている。先に説明したように、LUS 1
408a及び1408bの8TARTLOC1432は
、スーツ−スクリプトの基準ラインの開始位置により通
常占有された位置においてBU 1404に相対して配
置されており、またLUS 1408klのローカル基
準ライン(LBL)1434 はスーパースクリプトの
基準ラインにより通常占有された位置に配置されている
。 LUS 14081!Lの開始位置は5TARTLOC
1436として示す位T!!、にパーサ−148により
配#されておりLUS 1408aの開始位置はLBL
 1438 VCヨ’) 示スように配置される。ライ
ン分割の開始位置は5TARTLOC1440として示
された位置にあるものと判断される。LUS 1408
a及び1408bの開始位置はこれらのUS 136の
5TARTLOC522のフィールドに書き込筐れる。 ライン分割のライン数、ライン分割の開始位置及びLU
S 1408a及び14081)のUS 136に対す
るポインタは、それぞれL工NESPLITNtJM 
528、L工NESPL工TLOC530及びL工NE
SPL工TUN工T 562のフィールドに書き込まれ
次に、ユーザーは第1ライン分割ユニットのライン、L
US 1408aのラインに現われるキャラクタを入力
し、疑似リターンにより第1ライン全終結する。この場
合に、第1ラインはキャラクタ”X”のみを含む。第1
ラインを終結する疑似リターンで、ノセーサー148は
ライン分割の第2ライン・ユニットに行さ、ユーザーは
これに現われるキャラクタ、この場合は″ynヲ入力し
、疑似リターンによりユニットを終結させる。 これらの規則に採用されている説明規則の範囲内で、パ
ーサ−148は以上の処理全ダイナミックに実行するが
、特定の処理は再びエディターが処理する特定のシステ
ムの能力に基づいていることを強調しなければならない
。この実施例のエディターにおいては、ユニットの大き
さの決定及びユニッ)?配置するユニット?]l−構築
する3つの経路の処理が続き、ユニットに対する処理の
受は入れ可能な速度全得ている。好ましい態様では、ユ
ーザーが入力したかのように、ライン分割の各キャラク
タを入力し、表示する。 同様に、ユーザーがキャラクタを入力するに従い、ノξ
−サー148がキャラクタ毎に、ライン・ユニットの位
置又は大ぎさにおいて必要な変更と、ライン分割の位置
又は大きさにおける必要な変更とを実行する。従って、
ユーザーに提供された可視的表示はユーザー操作(Cよ
りダイナミックに変針するので、ユニットにはユーザー
の操作のhy在キャラクタ毎の表示が常時沸供される。 しかし、この実施例では、これらの処理を実行している
処理により決定された離散的な点で実行−rる。 好−!L1.”4!M例((おけるLUS 14osa
及び14081)の大きさも、これらのユニットのキャ
ラクタをユーザーが入力するに従い、ダイナミックかつ
キャラクタ毎に判断される。LUS1408&及び14
081)のLJS 136のUN工’L’D工MS 5
24のフィールドに記憶されるに従い、LUS 140
8a及び1408bの構築の終結で、LUS 1408
a及び14081)(D大yaは第14図にそれぞれ寸
法ボックス(DIMS) 1442及び1444により
表示されている。 LUS 1408a及び14013’b (7)構築は
、再びBU14040寸法を拡張する。好ましい実施例
においては、LUS 1408a及び14081)のキ
ャラクタをユーザーが入力するに従い、BU 1404
の拡張した寸法は再びダイナミックかつキャラクタ毎に
修飾される。LUS 1408a及び140R1)の構
築を終結する時へで、BU 1404の拡張した寸法を
DIMS 1442及び1444の右端への正のX方向
に増加させ、かつDIMS 1442の上端に対する負
のX方向に増加させる。 一連の最終的なステップでは、サブスクリプト5ubU
 1410 ?!−構築に加算する。パーサ−148は
ユーザーが5ubU 1410に対する新しいユニット
ヶ開始することにより入力したサブスクリプト・オはレ
ータに応答して、BU 1404のUS 1136の5
TARTLOC522のフィールド9に適肖なポインタ
を書き込む。次に、パーサ−148は5ubU 141
0ノ5TARTLOC及び局部的な基準ラインを決定し
て第14図に示すように、5TARTLOC1446及
びLBL1448に配ThtL、5ubU 1410の
US136(7)STARTLOC522に5ubU 
1410の5TARTLOC1446のxy座標を入力
する。 スクリプトでま)る5ubU 1410の5TARTL
OCtvxyVJ5PjはBU 1404のDIMS 
1422の右輸、即ちBU 1404の右端がそのXの
大きさで配置されることに庄意丁べきである。先に説明
したよ5に、5ubU 1410の5TARTLOCの
y座i&X現在キャラクタザイズ及びりサイズ情報と、
BL1414、即ちBU 1404のDIMS1422
の下端に対する関連により決定されるので、現在キャラ
クタ寸法:(関する5ubU 1410の寸法基準ユニ
ットの上端は他のユニットの領域に侵入することはない
。 次に、ユーザーはLBL 1448に現われるキャラク
タを入力し、キャラクタの終端で疑似リターンにより5
ubU1410を終結させる。ここでもパーサ−148
はユーザーのキャラクタ毎の入力にダイナミックに応答
してキャラクタを表示し、またキャラクタサイズの変更
により必委とする再配置5TARTLOC1446を含
め、各キャラクタを入力する必要に応じて5ubU 1
410の寸法全拡張する・5ubU 1410の構築の
終了で、5ubU 1410のUNITDIMS 52
4に記載された5ubU 1410の寸法は、第14図
にユニットサイズボックス(DIMS)1450によっ
て表わされている。 構築に対する5ublJ 1410の付加によりてBU
1404の寸法が再び拡張され、拡張されたBU140
4の拡張寸法は更にユーザーが5ubU 1410のヤ
ラクタを入力するに従い、ダイナミックにキャラクタ毎
に修飾される。5ubU 1410の構築の紹了により
、拡張したBU 1404の寸法は正のX方向、DIM
S 1450の下端へ拡張さnる。 DIMS 1444が拡張するよりも更に右へDIMS
1450が拡張することがない限り、BU 1404の
拡張した寸法のXの大きさは増加されない。この時点で
、EU 1404のUS136のEXTENDEDDI
MS526のフィールド”に記憶されるに従い、BU 
1404の拡張した寸法は、第14図にXDDIMS1
430によりて我わされているようI/i:なる。 これにより例示したユニットを含むラインの一部の構築
の説明全終了する。次に、ラインに関するエディターの
処理のある特は全説明する。 F、4ラインの構築(第15図) 先に説明したようVζ、また先の説明において。 テキストのラインを有する個別的なユニットは。 ユニットのUS136の5TARTLOC522)UN
工TDIMS524 及ヒEXTENI)EDD工MS
 526 ノア イー # )”K記憶されているユニ
ット開始位置1寸法及び拡張した寸法情報を介してR−
ジ上に個々に配置される。 各ラインはそれ自材ページ上に配置され、ラインの大ぎ
さ、即ちラインの全てのユニットの総合的な顛囲はライ
ンに関連されるライン・データ構造(f、DS)162
のフィールドにより識別され/S o ラインのLL)
S 162も先に説明したように、ラインの第1のtl
S136及びEB 128におけるラインの第と、ライ
ンに関するフォーマット・ラインに対す6酵インタとが
苫まれる。 続いて、ページ上の全ライン((関するLDS 162
のポインタは、SS8160のライン・データ・ポイン
タ839のフィールドの順圧付けしたアレイに含まれ、
また現在ラインのLDS 162に対するオフセットは
SSS 160の現在ライン・インデックス840に記
憶される。 ラインの開始位置及び大きさとラインを有するユニット
との間と、開始位置と隣接ラインとの間との関係を第1
5図を用いて示す。第15図において、ライン開始位置
(LSTARTLOC) 1502と、開始位置906
に記憶した値ヲ狡わすライン寸法ボックス(LD工MS
)1504と、ラインのLDS 162のライン寸法9
08のフィールドと?有する現在ラインが示されている
。現在ラインに対する基準ライン昏工、第15図にライ
ン基準ライン(LIBL) 1506により表わされて
いる。第15図には更にこのラインの上で次に前のライ
ンのライン寸法ボックス(LD工MS)1508の下端
である◎ このラインのLD工MS1504内にはラインFWする
複数のユニットが示されており、これらの寸法及び拡張
寸法ボックスは実線で表わされている。 図示のように、これらのユニットにはユニット1402
と、BU 1404と、PSupU 1406と、LU
S1408a及び1408klと、LUS 1408a
及び14081)の−I]5:準として用られるスーパ
ースクリプト・ユニットと、前の例の5ublJ 14
10 とが含まれている。 これらのユニットには、ユニット1510 、関連する
スーパースクリプト・ユニツ) (SupU)1514
ケ、町するユニッ) 1512と、スーパースクリプト
位(Uに関連するライン分割ケ有するユニツ) 151
6とが付加され、このライン分割はライン分割ユニッ 
 ト (LSU)1518a、   1518b  、
  1518c  、   及び1518dと、LSU
1518a、1518b、1518c 、及び1518
dの基偲として用いられるスーツニスクリプト・ユニッ
トとからIよる。 先に説明したように、ラインの寸法は方形ラインの寸法
ボックスにより定義されて2つ、その寸法はラインに!
する全てのユニット、即ち第14図に示すように、個々
のユニットの全ての寸法ボックスを囲むようにしたもの
である。また、ラインの開始位置はライン寸法を測定す
る絶対ページに相対する原点として定められている。 第14図に示すようVこ、ラインの寸法がラインのユニ
ット金構築する際に変化すること、またユーザーがユニ
ットのキャラクタ會入力する際にキャラクタ毎に変化し
得ることは、ユニットの構築の前記説明から明らかであ
り。これもユニットの構築の前記説明において説明した
よう(′こ、1ラインの夕叔のユニットが手段の複数の
ラインの複数のユニットに、即ち手段のラインの:祠始
位置及び大ぎさにより定められた領域内に入り込んでは
ならないことも明らかである。 従って、新しいラインの開始位置及び大きさの軸は、新
しいラインの複数のユニットが前のラインの大ぎさによ
り定められた領域に入り込まないように、前のラインの
位置及び大ささにより、当該ラインの開始において決定
される。即ち、新しいラインの開始位置は、前のライン
の大きさにより囲まれた領域に隣接した位置、かつSS
S 160の行間スペーシング887のフィールドで定
義された領域から離れた距離に固定されめ。先に説明し
たように、開始位置は、ラインの大きさを測定する原点
であり、開始位置及び大きさは新しいラインの範囲が前
のラインの範囲により囲まれた領域に対して平行に、か
つ離れるように伸延する。更に、開始位置及び寸法上の
軸の位置及び方向に基づく規制は、これらが特定のテキ
ストによって必要とする方向に新しいラインの基準ライ
ンが伸延するように、決定さ才しなければならない。 先に説明した第15図に示す側音参照すると、この例は
、各ライン?左から右に書き、連続的なラインを上から
下へ書く英語の規則に従っている。 これも説明したように、現在ラインの大きさの範囲は寸
法ボックスのLDIM81508により、また現在ライ
ンの開始位置はl5TARTLOC1502により表わ
されている。即ちLSTARTLOC1502は前のラ
イン領域の左端に隣接し、かつその下に配置され、行間
スペーシングによってy方向に前のライン領域から離れ
て配置される。X次元の軸は、現在ラインが基準ライン
に沿って右へ、かつ前のラインの基準ラインに平行に伸
延するように、選択されろ・また、y軸は、現在ライン
の痛さの拡張が前のラインから下へ、かつ離れるように
選択される。このテキストは、ラインを右から左へ書き
込んだものであるときは、LSTARTLOC1502
は前のラインの右端の下に配置され、XIJは右から左
へ延びることになる。他の例において、テキストがライ
ンが上端から下端へ延び、連続的なラインが右から左へ
入るとぎは、前のラインは現在ライン領域の右に現われ
、かつその基準ラインが上端から下端へ垂直に延びる。 LSTARTLOC1502はば一ジ上の上端、かつ行
間スば一シングによりに延びるように選択され、ライン
は「高さ」を左に拡張させることになる。 この実施例において、第15図ケ参照すると、ユーザー
は前のラインのエディタ)?終結し、現在ラインのすす
んでいるか、エデイットケしている。ユーザーが前のラ
インのエディツト全終結したとき番工、現在ライン及び
現在ラインの第1ユニツト、ユニット1402はエディ
ターにより開始される。先に説明したように、LSTA
RTLOC1502は第15図の示す位置にあることが
判断される。 この点でキャラクタ又はシンボルが未だ入力されていな
いので、現在ライン及びユニット1402の寸法は付加
プロップのものとなる。 次に、ユーザーはユニット1402のキャラクタ、即ち
第14図を#照して先に説明したように、キャラクタ″
g″を入力する。この点で、ユニット1402はユニッ
トの構築に関する以上の説明で説明したようになる。こ
の点で現在ラインの太ささは、ラインが付加プロップに
加えて1以上のキャラクタを有するので、もはf付加プ
ロップのものではなくなる。実際に、ユニット1402
はこの点で朗在ラインにおいて唯一のユニットなので、
現在ラインの大きさは付加プロップを有するユニット1
402のものとなる。ラインのXの大きさはユニッ) 
1402の右端から右へ伸延し、またラインのyの大き
さはユニツ) 1402のyの大きさで、LSTART
LOC1502から下方へ伸延する0ユニツト】402
はページ上、即ちライン内に第15図に示すようにその
位を檜に対して垂直に持ち上げられ、LSTARTLO
C1502ト一致スルー’二:/ ) 1402 I)
上端により配置される。 第14図ヲ診照して先に説明したように、またユニット
の構築の説明のよう((、ユーザーはテキストのキャラ
クタが連続して入力される。先に説明したように、テキ
ストにおいてg″に続く関連の区別的発音符号を有する
キャラクタ”A”は、この点でBU 1404 ’(!
l−開始することになり、区別的発音符号を有するA”
は最初にユニット1402に行(。先に説明したように
、BU 1404は開始されユニット1402かも独立
した基準ユニットとしてBU 1404の存在を必要と
する。しかし、説明を明確にするために、第15図を”
A”及びBU 1404の区別的発音符号と、これより
構築されたBU1404に関連するスクリプト・ユニッ
トと共に示すことに注意すべきである。 図示のように、区別的発音符号勿付けたA”はyの大き
さがユニット1402のキャラクタ″g″よりも大きい
ので、現在ラインの大きさはX及びyの犬ぎさの両方の
拡張されなければならない。X方向のラインの大きさは
BU 1404の右端に又はBU 1404となるもの
に拡張され、またy方向のラインのyの大きさはBU 
1404のもの、又はBU1404  となるものであ
る。この点で、BU1404 (f有するキャラクタは
、BU 1404の寸法ボックスとなるものの上端がL
STARTLOC1502も一緒にそのyの大きさで配
置されるように、ぺ一ジーヒに配置される。 先に説明したように、LよりL 1506 tzm在ラ
インと、ユニット1402及びEU 1404となるも
ののキャラクタとの基準ラインであめ。従って、エディ
ターは基他ライン、即ちBU 1404 の寸法ボック
スの下端と同一の高さとなるようにy方向に下へL工E
L 1506 k移動させ、ユニット14o2の基層ラ
インがLよりL 1506に留まるようVこ、同一の量
だけユニット1402’i下方へ移動させる。 次に、ユーザーは開始ケし、第14図%!:f8照して
先に説明した方法でPSupU 1406 k人力す/
、)0このステップはBU 1404 i開始させるこ
と(Cなり関連する区別的発汁符号?付けた”A″?含
め、これに関連し、かつBU 1404のシフトにおい
てはx方向に右へスクリプト・ユニットのための基準ユ
ニットとして用いる。PSupU 1406を加えるこ
とにより再びラインのX及びyを拡張する結果となる。 ラインのXの大きさはは−ジ上のBU 1404の右端
の新しい位置に対して右に拡張され、fたラインのyの
大きさはBU 1404及びPSupU 1406の組
合わせた全体的なyの大ぎさに等しくなるように、下方
に拡張される。PSupU 1406をラインに加える
ことにより、再びラインに既に存在する複数のユニット
、即ちユニッ) 1402及びBU1404は、Lより
L 1506 と共に特にyの大きさの下方に移動する
ので、PSupU 1406の寸法ポックx t7) 
上端ハLSTARTLOC1502c!: M フ7 
(D 大# 3で配置される。 次のステップにおいて、第14図を参照して先に再度説
明したように、ユーザーは、LUS 1408a及び1
408b  に対する基準ユニットとして用いるスーノ
セースクリフト・ユニット、!:共に、 LUS1’ 
408 a及び1408bをラインの構築に加える。再
び、この付加はX及びy方向にラインの大きさのK ’
ij’2 k 必要とする。また、LUS1408a及
び1408bを加えることにより、ラインの構築に既に
存在するff1ffのユニットが下方に移動するので、
 LUS1408a)寸法ボックスの上4 ftLST
ARTLOC1502と並ぶyの大きさで配電すること
が必要となる。 この点で、ユニット1402)BU 1404、PSu
pU1406、LtJS 1408a 、 LUS 1
408b 、 LIJS 1408a及び1408bの
ためのスクリプト基準ユニット、及びLよりL 150
6は第15図に示されているX及びyの大きさになる。 Xの大きさはLUS 1408a及び1408bの右端
に拡張され、yの犬ぎさはLUS1402の下端に拡張
される。 Sub 1410を構築に加算する次のステップでは、
ラインの寸法の拡張は存在しない。第14図を参照して
先に説明したように、Sub 1410の寸法ボックス
を既に存在する拡張ユニットの拡張寸法内、従ってライ
ンの既存の大ぎさの内に?Kすれる。 ユニット1510.1512.1514、及び1516
の次の加算には、ラインの大きさを拡張する必要がある
が、ラインのyの犬ぎさの拡張はない。 次のステップでは、ユーザーがスーパースクリプト位置
の4ライン分割をユニット1516に加えることである
。第15図に示すように、ライン分ミ11はLSU 1
518a、1518b、1518C及び1518dから
なり、LSU 1518a、1518b、 1518c
及び1511’ldの基準ユニットとして用いるために
、ユニット1516 に関連してスー・モースクリプト
位置にスクリプト・ユニットを必要とすり。第15図に
示すように、LSU 1518a及び1518bは再び
ライン寸法ボックスの上端の上に拡張することになり、
かつLSU 1518aは前のラインの寸法ボックスの
領域に拡張している。また、この付加は、そのLよりL
]516、ラインの既存ユニットを先に説明したような
方法、及びラインの寸法に対して対応する拡張によりy
方向の下方に移動させることを必要とする。 以上の説明は、ユーザーがラインを終結させるまでか、
又はユーザーが前のラインの終端に到達したことをエデ
ィターが示すまで、繰り返すものとな・Soこの発生は
、即ちラインの終端が各キャラクタをライン※て入力す
るに従い、このラインの大きさを、ラインLDS 16
21/!:おいてフォーマット・ライン・ポインタ91
8のフィールドにより識別されるフォーマット・ライン
により決星されるラインの最大軒容寸法と比較するエデ
ィターにより検出される。 このエディターが処理しようと意図しているテキストの
特定のキャラクタのため、また特定の科学的なテキスト
において、このラインが次のラインに「ワード・ラップ
(word−wra7)) J L、連枕的なテキスト
ではな(、このラインの終端に到達したときは、エディ
ターがユーザーに示す。これによって、ユーザーはライ
ンを終結すせるテキストに点を選択させることが可能で
ある。他の実施例において、自動的な「ワード・ラップ
」を貝、ηrtしてもよ(、又は自動「ワード・ラップ
」を選択したり又は不活性にする匈、能を備ズ、てもよ
い・最後に、ユーザーは前のラインに戻り、更にそのラ
インにおける編集処理を実行してもよいことに注意すべ
きである。これらの処理がラインの寸法に変化をもたら
したときは、エディターは次の全てのラインのLSTA
RTLOCの位置と、これらのラインにおける全てのユ
ニットの位置とを再決定する。 このテキスト・エディターの処理の最終的な説明のよう
に、第16A図、第16B図及び第16C図を用いて以
下、挿入及び隠し込み処理と、関連するコピー及び移動
処理を実行する際のエディターの処理を説明する。 第16A図を参照すると、挿入及び隠し込み処理の開始
でEB128のブロック図が示されている。 このドキュメントのテキストを形成しているキャラクタ
、シンボル、オペレータ、パラメータ及びターミネータ
・コードは、コート9を記憶しているコード・ワードの
メモリ位置を表わすボックスのストリングとして表わさ
れている。次の駈、明で奈巨するために、ワード位置を
′A″、′B”、“C”、“D”及び”X″のように、
英字により表わし、若干elのワービ位墳をそれらの表
示の上に、例えば]”、2″、′″3” 等のように番
号付けしである。 先に訝明したように、83S160はテキストの現在の
始まり855のフィールドに記憶され、かつEE128
におけるテキストの第1コードを指示するテキスト・オ
フセットの現在の始まり(CBOT)1602と、位置
19において、現在の始まり856のフィールド0に記
憶され、かつh:B 128におけるテキストの最終コ
ードを指示するテキスト・オフセットの現在終了((J
OT)1604とを含み、EB】28において現在アク
セス可能テキストを照明を決定する。現在カーソルによ
シ指示しているキャラクタは、現在バッファ位置852
のフィールドに記−#された現在バッファ・オフセット
(CBO)1606により指示される。カーフルにより
現在指示されているキャラクタに関連する第1コードは
、現在キャラクタ・バッファ開始853のフィールドに
記憶されている現在キャラクタ開始オフセット(CCB
B)1608により指示され、カーソルにより現在指示
されているキャラクタに関連する燵終コードは現在キャ
ラクタ・バッファ終了854のフィールドに記憶された
現在キャラクタ・バッファ終了オフセット(CCB[)
 1610により指示される。 EB128において未
使用スペースの終端は未使用バッファの終了857のフ
ィールドに記憶されている使用可能バッファ・オフセッ
トの終了(EOUB)1612により指示される。 先に説明したように、エディターは挿入及び隠し込み処
理で用いたある程度のデータ構造を保持する。脣に、挿
入又は隠し込み処理を開始する度に、エディターは挿入
点ポインタ872フイールドのI中入アツィ構造におけ
る対応のIHDA 166を開始し、挿入レベル871
における情報をルベルだけ増加させる。 F、5.a挿入処理 この説明の都合によし、カーソルにより現在指示されて
いるテキストの位置にユーザーが更にテキストを挿入し
たいと仮定する@挿入処理、又は以下で説明するように
、隠し込み処理を実行するためKは、新しいテキストを
挿入した後に、挿入点に関連し、かつ従うデータをテキ
スト・ストリングに戻すことができるように、このデー
タを保存する必要がある。このエディターでは、挿入及
び観し込み処理中のEB128のスペースの終端で保存
するデータを記憶する。 第1GA図を参照すると、挿入処理で挿入されるワード
に先行するワード11にキャラクタ″′A″により示し
、EB 128の位置1〜12を占有する。挿入処理の
時点でキャラクタ、即ちカーソル及びCBP 1606
により現在指示されているキャラクタは、キャラクタ″
B”により指示され、EB12Bの位置15を占有する
。当該キャラクタに関連、又は接続されるワードは、キ
ャラクタ″C′により指示され、EE128の位置13
.14.16及び17を6封する。挿入点に絖くが、挿
入点でキャラクタ゛B″に直接関連されないワーFIc
L、”D″により指示され、EB128’の位置18及
び19を占有する。 ユーザーが挿入処理を開始すると、先に説明したように
、エディターは対応する工HDA 166を開始し、対
応する情報を挿入点ポインタ872及び挿入レイ、ル8
71のフィールドに書き込む。 第16B図に示すように、次に、エディターは挿入点に
関遅し、継続するテキスト・ワード、即ちキャラクタ”
B”、C″及びD”により示すワード9のストリングを
占有し、本来はEB 128の位置13〜19をEB1
28のスペースの終端まで占有している。エディターは
終端ポインタからの位置(LFL:)1614をIHD
A 166の終端からの位置1002のフィールドに書
き込むLP’E 1614は保存のためにコピーし九ワ
ービ・ストリングの第1ワードのEB 128 ノ終@
にオイて新しい位tw、ヲ、即ち′C”により表わされ
、前にEB 128の位置13を占有するワーrを指示
する。エディターもこの時点で使用可能なh:B 12
8のスは−スの新しい終端に対する点に対するEOUB
 1612 を更新する。この場合は、ここで、EB 
128のスペース即ち位置がLFE 1614により指
示される直前に、EOUB 1612がEB128のス
ペース即ち位置を指示する。 エディターもIHDA 166の遮断位置1104のフ
ィールビに連断点位置(POB) 1616と、IHD
A 166O保存、L(7タ1106 ト’lff込ム
。POB 1616は、挿入を開始し九EB128の位
置、即ちCBP1606及びカーソルにより本来指示さ
れ、かつ16図及び第16図にEE 128の位置とし
て指示された位tlを指示する。挿入点でキャラクタに
関連した第1ワードのEB12Bにおける原位置、即ち
位置13として表わされ、かつCCBBによシ表わされ
たEB 12Bの位置を指示する。POI31616及
びPP 1618により挿入隠し込み処理の「スクッキ
ング」又は「入れ子」、即ちこれらによシ挿入点ポイン
タのフィールドのアレーに記憶し九IHDA 166の
ポインタのアレーと共に、挿入及び隠し込み処理内に挿
入及び隠し込み処理の実行を可能とする。他の実施例で
は、 FOB 1616及びPP 1618  も挿入
又は隠し込み処理をしたいときは、下のテキストの復旧
を可能にさせる・PP1618は、例えば、本来、挿入
点でキャラクタに関連した鵬性を保持かつ復帰するため
に用られる。 この時点で、エディターは、第11図?参照して先に説
明したIHDA 166の残りのフィールドも埋め込む
。 この時点で、エディターの処理は挿入の実行と、以下で
説明する隠し込み処理の実行との間で異なることに注意
すべきである。挿入処理では、挿入遮断の後、この時点
でテキストをEE 128に挿入する。即ち、「編集可
能テキスト」が挿入遮断に続(EEB]28の位置に存
在する。 先に説明したように、EB 128においてエディツト
可能テキストの開始位置は、一般にテキストの現在開始
855のフィールドに記憶されたテキスト・オフセット
の現在開始により指示され、テキストにおいて当該点で
付加プロップの生起により示される。従って、エディタ
ーは、挿入処理のためのm集可能テキストの開始に対す
るオフセットを含むように、テキストの現在開始855
のフィールドに前に記憶されたCBOT 1602を更
新する〇編集可能テキスト・オフセットの新しい開始は
、テキスト・オフセットの挿入現在開始(工CBOT)
1620として@16B図に示されている。この説明に
おける表現を明確にするために、ICBOT1602 
’i用いて工CBOT 1620の新しい値を表わす。 このICBOT 1602は処理におけるこの点でテキ
ストの現在開始855に記憶され、 Ek3128のエ
ディツト可能テキストの新しい開始、即ち、テキストを
EB 128に挿入する点を示す。この挿入例の場合に
、この点はEB 12Bの位fi13.即ちEB128
の終端に移動したストリングの第1ワードにより前に占
有されたワード位置にある。 ことに注意すべきである。エディターが最後に使用した
EB 128の位置、即ちテキストを受は取るこへか可
能な仄の位置の直前を指示して、挿入のために新しいテ
キストが開始をする位置の直前のEB 128の位Il
l指示する。この挿入処理の例では、挿入処理の新しい
CEOT 1604は、EEB128の位置12)即ち
挿入されるテキストのためのEB128において最初に
得られる位置の直前のEB 1280位tftを指す〇 次に、ユーザーは第16B図に示すように、EB 12
8の位置13〜20におけるキャラクタ″X”により新
しい挿入テキスト構造力する。挿入テキストのワード9
をユーザーが挿入するに従い、CEOT 1604が連
綬的に更新されるので、ワード9を入力するに従い、C
EOT 1604は連続的に鴇々のEB 128の位t
!It12〜20を指示することに注意すべぎである。 オはレータ対又ハオペレータ・パラメータ・セット’を
加える結尾として、いくつかの位置はCEOT 160
4の値として生起し得ないことに注意すべきである。 挿入の結論として、挿入したテキストに対して余地を作
るためにEB 128の終端に移動したテキスト・スト
リングは、挿入の終了で存在するストリングの終端に「
再付加」されなければならない。 即ち、保持されたストリングは挿入されたテキストの軒
端でテキスト・ストリングに加えら4なければならない
。 この処理のこのような影響を第16C図に示す◇このス
テップでは、エディターがCEOT 1604により挿
入したテキストの後の位置の次の位置を決定する。エデ
ィターはEB 128の終端から前に保存したストリン
グf’sピーするので、Ll’E 1614により配I
?イされ、保持したストリングのwJ1キャラクタをC
EOT 1604により指示された位置に続(次の位置
に4!J:ぎ込まれると共に、保持したストリングの残
りを順にf:J312gの次の位置に書き込Inる。第
16C図に示すように、保持したストリングはここでE
B128の位置21〜27に、また位置13〜19の本
来現われると同一の順序で現われる。 最後に、エディターは再び第16C図に示した位置に対
する、即ちそれぞれストリングの第1のワード°、スト
リングの終端における最終ワード°位置及びEB 12
8における最終ワード位置に対する工CBOT 160
2)CEOT 1604及びEOUB 1612ft更
新する。 挿入処理を説明したので、隠し込み処理を次に説明しよ
う。 F、  s、  b隠し込み処理(第16B図)隠し込
み処理の目的全光ず説明すると、多(のデータ構造と同
じようなエディター・データ構造が本質的に逐次的であ
ることは、エディターの以上の説明から明らかである。 即ち、位置、また構壇において如何なる点のデータのi
n性もその点に先行するデータに依存する。ユニット及
びライン構造の説明と、挿入処理とについて以上で説明
し念ように、前のデータについての処理が次のデータに
影響することも明らかである。 更に、次のデータに直ちに、かつ直接影響しないデータ
構造のデータについて実行することができる多(の処理
がある。先に説明した挿入処理は込む」こと、及び前の
データについての即値命令を完了した後でのみ、次のデ
ータについて必要とする必然的な処理を実行することが
好都合である。 以上が隠し込み処理の意図である。Illち、これによ
って、エディツト処理き実行する領域としてテキスト構
造の部分?定義し、また、処理を終結するまでエディツ
ト処理の影曽から当訳領域に続くテキスト構造を「隠し
込む」のを可能とする。 この点から、次のデータの構造又は特性が前のデータに
従属しているデータ構造のデータについて処理するとぎ
1ハ、データ構造に基づ、(この処理方法が全般的に好
都合であることに注意すべきである。 先に説明したように、このエディターの工1−1DA]
66は、5SS160の挿入レベル871及び挿入点ポ
インタ872のフィールドに記憶されている工H1)A
】66のアレーと共に、「入れ子」又は「スタッキング
」挿入処理の機構が得られる。即ち、ユーザーは即値命
令を開始して、先に説明したように。 EB128の終端に保存したストリングを移動し、ス)
 IJング及び挿入に関連して必要な全ての情報を含む
II(DA 166を生成することができる。次に、ユ
ーザーは第1神入を完了する前に、挿入しているテキス
トに他の挿入全開始することができ、再びEB 128
の現在路A―に保存するストリングを移動し、新しいI
HDA166’Th生成し、以下必要な挿入のレイル数
まで繰り返す。以下で説明するように、このエディター
で実行した隠し込み処理は修飾した入れ子による挿入形
式である。 第160図、及びこれに関する以上の説明を参照すると
、エディターがEB 128の終端に対する挿入点後の
テキスト・ストリング?移動し、工CBOT 1620
を発生して、ここでエディツト可能テキストの開始が挿
入遮断点にあることを表示しているという説明をした。 次に、押入テキストは工CBOT 1620により示さ
れた点で、また後テEB128に挿入される。 この点で、IB 128の終端に移動したテキスト・ス
トリングがある観点でエディター及びユーザーのエディ
ツト処理から「隠し込まれる」という説明に注意すべき
である。即ち、エディターは、挿入を完了したとぎにテ
キストの編集可能部分に「隠し込み」テキスト・ストリ
ングに再結合することを除き、この「隠し込み」テキス
トについての処理を実行することはない。 隠し込み処理は挿入処理と同じような方法によシ開始さ
れる。ただし、挿入遮断が発生する点をσ− 示すことなく、このカッスル位智により示されたテキス
トにおける位置は、「隠し込む」テキスト部分、即ち当
該点に続くテキストの部分がエディターの処理から「隠
し込む」テキスト部分の領域も定める。また、テキスト
部分がエディツト処理ヲ冥行することがでさるエディタ
ーにアクセス可能なので、これは、遮断点の前のテキス
ト部分、即ちテキストの開始とa1析点との間にテキス
ト部分を定める。 押入処理で先に説明したように、エディターは、EB 
128の終端で「隠し込み」領域に対するカーソル即ち
遮断位置に続くテキスト・ストIJンダの部分を「移動
」する。しかし、挿入処理で先に説明L7’?、よウニ
、工CBOT]620トシテ辿断点K CBOT160
2 ’!に移動するのではな(、エディターはII噸断
点の前のテキスト・ストリングの開始でテキスト・ポイ
ンタの現在開始を去るか、又は開始で発生する正当な処
理のみ、即ち画集可能なテキスト点の前で許容するよう
に必要とする限り、これを移動させる。この実施例にお
いて、エディターがラインの現在基準ライン以外の基準
ラインで処理をしているときは、この点を局部的な基準
ラインの始めとすることができる。 テキスト・オフセットの隠し込み現在の始まり(HCj
30’f’) 1622として、説明を簡単にするため
に、この処理を第16B図に示す。挿入処理の説明から
表示の)icBOT 1622及びICBOT 162
0がCBOT1602の単なる別の表示であり、挿入及
び隠し込み処理においてCBOT 1602の処理を表
示する際に説明を明確にするためにそれぞれ使用されて
いることを想起すべきである。テキストの現在の始まり
は、実際のところ常時テキストの現在の始まり856の
フィールドに記憶されたオフセット値によって示され、
ここで提示した説明で用いた3つノ説明([1f、即チ
CBOT 、工CBOT 、 及U HCBO’r 6
yp人及び隠し込み処理におけるこのオフセットの変化
fa fr、示す名称として使用している。 先に説明し次ように、テキスト・オフセットの現在の始
まりは、編集可能点の現在の始まり、胴集可能なテキス
トの開始に対し、即ち編集処理のためのエディターにア
クセス可能にさせるテキストに対して指示する。実際に
は、テキスト・オフセットの現在の始まりは、アクセス
をすることになるテキストの開始の位置をエディターに
示すことにより、エディターにテキストの複数の部分の
アクセスを許容する。従って、この隠し込み処理におい
ては、テキスト・ストリングの開始と、隠し込み遮断を
挿入した点との間のテキストのある部分に対するアクセ
スを許容する。カーソル移動の説明で先に説明したよう
に、テキスト・ストリングのこの部分におけるどの点に
も自由に移動することができ、この領域において挿入及
び隠し込み処理と、コピー、移動及び削除処理を含む所
望の編集処理ケ実行する。 隠し込み処理の範了のとぎに、EB12gの終了で移動
され、隠し込まれたテキスト・ストリングを第1.60
図で先に説明したように、編集可能なテキスト・ストリ
ングの終端に戻される。隠し込み処理においてテキスト
の編集可能な部分について実行した処理の結果として、
必要な処理べ、この時点でライン又はば−ジ上のテキス
トの再配置のように、前のテキストの隠し込み部分につ
いて実行される。 最後に、以上の機構を用いてコピー、移動、及び削除処
理を実行し、ポインタ、即ちEB 128のオフセット
の付加的な支援によりてコピー、移動又は削除するテキ
スト部分の範囲を定めることもできる。これらの付加的
なオフセットは、先に説明したように、sss 160
 、開始範囲設定873、終了範囲設定874、開始範
囲設定絆了位t875、及び終了範囲設定終了位t87
6のフィールドにより得られる。これらのフィールドは
、現在キャラクタバッファ開始852)現在キャラクタ
・バッファ開始853、及び現在キャラクタ・バッファ
終了854のフィールドを径Hして先に説明したような
方法により、カーソルと関連して機能し、ユーザーがエ
ディターに対するテキスト・ストリングの部分全識別し
、かつ範囲を定めることを可能にする。 例えば、コピー処理の場合は、ユーザーがコピーするテ
キスト・ストリングの部分の範囲を定めると共に、ユー
ザーがテキスト・ストリングの限界?知らせることにな
る。次に、ユーザーはテキスト・ストリングのコピ一部
分をどこに挿入すべきかの点を示す。エディターはテキ
スト・ストリングの範囲設定部分を読み込んで挿入処理
を実行し、先に説明した方法により挿入遮断点でテキス
トの範囲設定部分のコピーを挿入する。 コピー処理のために範囲を設定したテキスト・ストリン
グのセクションに構造又は環境オペレータを含めてもよ
いことに注意すべきである。テキスト・ストリングの範
囲設定セクションに含まれず、かつ範囲設定セクション
においてキャラクタ及びシンボルに影響する特定の環境
オペレータも含まれ得る。先に説明したように、これら
の多くのオペレータはテキスト・ストリングにおいて関
連する複数の対のコート9として発生する。即ち、構造
的な特性を開始する、又は属性を定める第1コードに第
1コードの影響を終結、又は変更する他のコードが続く
。例えば、バー開始オペレータにはテキスト・ストリン
グにおける後の点でバー・ターミ、ネータ・オペレータ
が続き、リサイズオペレータには第】リサイズオにレー
タの影響を中和又は修飾する他のりサイズオはレータが
続く。 コピー又は移動のようなテキストのセクションについて
の処理がテキスト・ストリングに好ましくない影響をも
たらすかも刈れないことは明らかである。例えば、テキ
スト・ス) IJングの他の点にコピーされるテキスト
・ストリングのセクションにはバー又はイタリック開始
オペレータが含まnるが、対応するバー又はイタリック
終結オペレータは含まれない。コピーされたテキスト・
セクションにおけるバー即ちイタリック開始オペレータ
の外形は、挿入点に続くバー即ちイタリック・オペレー
タをコピーしたテキスト・セクションに対してではなく
、テキスト・ストリングの部分に適用することとなる。 従って、コピー処理t−実行するとぎは、オはレータは
、テキスト・ストリングのi*JIFf!Jvi−設定
した一部においてキャラクタ及びシンボルの現在に適用
する構造オペレータ及び属性を決定するために、EB 
128のテキスト・ストリングラ読み出さなければなら
ない。次に、エディターは、挿入点に適用し、かつテキ
スト・ストリングのコピーした部分における2組のオペ
レータ及び陽性を連結するオはレータ及び属性を同様に
決定しなければならない。この)l!結ψま、コピー処
理の終結時にコピーしたテキストの部分がテキスト・ス
トリングの元の範囲設定部分として同一の特性ヲ有する
ように、機能しなければならない。更に、連結は、コピ
ーしたテキストの部分の次のテキスト・ストリングの部
分に新しい特性又は属性をうつかシして着用しないよう
に、機能しなければならない。 実施例により説明するために、−1のりサイズ係数がコ
ピーするテキスト・ストリングの範囲設定部分に適用す
るものと仮定す2・。挿入点でのテキスト・ストリング
も−1のりサイズ係数全頁するとさは、エディターは挿
入点でテキストのゆ囲設定部分のキャラクタ及びシンボ
ルをストリングに単純にコピーする。しかし、−1のり
サイズ係数を挿入点に適用したとぎは、エディターは+
1のりサイズ係数により−1のりサイズ係数全連結し、
テキストのコピ一部分の始まシで−2のりサイズ係数、
テキストのコピ一部分の終端で対応する+2のりサイズ
係数?押入する。他の実施例では、挿入点に−2のりサ
イズ係数を適用するとぎは、エディターはテキストのコ
ピ一部分の始端及び終端でそれぞれ+1及び−1のりサ
イズ係数を挿入する。従って、それぞれの場合に、コピ
ーしたテキスト部分はそのもとの環境オペレータ、即ち
−1のりサイズ係数を保持する。 さらに、コピーしたテキストを挿入している点の周りの
キャラクタ、及びシンボルに適用する係数全連結が保持
しなければならないことにも注意すぺぎである。例えば
、最も多(発生する場合、即ち挿入が、第1コピーの前
に現われるリサイズ係数により処理される2つのコピー
間に発生する場合は、挿入点の直前のコピーに影嶋金与
えることな(、先行するりサイズ係数を修飾することは
でさない。この場合に、連結は先行するりサイズ係数を
保持する必要があるが、神入点後のキャラクタに続くリ
サイズ係数に影響を与えることがある。 他の実施例では、テキスト・ストリングのコピ一部分に
バー若しくはイタリック開始オはレータ、又はバー若し
くはイタリック終結オイレータが含まれるとぎは、エデ
ィターはそれぞれテキスト・ス) iJングのコピ一部
分において必要とされた位t4にコピーしたテキスト部
分にバー若しくはイタリック終結オペV−夕を押入しな
ければならない。 次に、これらの挿入したオはレータはテキスト・ストリ
ングのコピ一部分に取初に机われるオペレータの影響の
領域をテキスト・ストリングのコピ一部分のみに制限す
る。 最後1/(、エディターは新しいUS 136を発生し
て先に説明したように、適当なNBP 140のポイン
タによりEB 128テキスト・ストリングのコピ一部
分にEB128のテキスト・ストリングのコピ一部分を
対応させる。この処理において、エディターもtしいU
S 136をこれらのUS)’ 138のポインタによ
り既に存在するUS 136と連結して、先に説明した
ように、必要とするところに先に存在するUS]36の
USP 138のポインタを修飾しなければならない。 次に、削除処理を説明すると、現在ノ;ツファ位置85
2)現在キャラクタ・バッファ開始853、及び現在キ
ャラクタ・バクファ終了854のフィールドにより、処
理を実行するテキスト・ストリングの部分を再びユーザ
ーが識別し、かつ範囲を定めることを可能にする。この
場合に、テキスト・ストリングの範囲設定部分は削除さ
れるべきものであり、範囲設定部分が続(元の1B12
8のテキスト・ストリングの部分は、範囲設定部分に先
行するテキスト・ストリングの部分に結合するように、
EB128を順方向に移動させることにある。 再び、先に説明し友ように、削除するために範囲設定さ
れたテキスト・ス) IJソング部分に適用する構造オ
ペレータ又は環境オペレータがある。 従って、削除処理を実行するとぎは、エディターは、コ
ピー処理のように発生する構造及び環境オベレータを決
定し、かつ結合又は取り消さなければならす、これらの
オペレークにテキスト・ストリングの未削除部分につい
てうつかりし九影響を避けるように、EB】28のテキ
スト・ストリングの範囲設定部分に適用する。 削除処理において、エディターはgf$128のテキス
ト・ス) +7ングの範囲設定部分を介する第1「経路
」を実行し、全てのキャラクタ、シンボル・コート1及
び全てのオはレータ・コードを読み込む。この第1I#
4路では、EB128のテキスト・ストリングの範囲設
定部分における全てのキャラクタ・コード及びシンボル
・コードは「削除テキスト・フラグ」コードゲこより置
換される。もともとキャラクタ及びシンボルケ含む&a
B12B 位置に現存する「削除テキスト・フラグ」は
、これらのEB128位置にもともと現存するキャラク
タ・コートゞ及びシンボル・コードが削除され、その位
置が他に使用可能であることを示す。 まfcM1r酵路」においては、エディターがEB12
8のテキスト・ス) IJフラグ両回設定部分に現われ
る各オペレータ・コードと、このような各オペレータ・
コードの位置に注目する。次に、エディターはコピー処
理を参照して先に説明した方法と同じような方法にエリ
、識別したオペレータ・コードを連結するので、テキス
トの範囲設定部分に存在し、テキストの範囲設定部分の
外部に影響のあるオペレータ・コードの影響を保存する
。 エディターはコードを保持することにより、相互に彫J
#を打ち消す複数の対のコードを削除することにより、
又は同じようなオペレータ・コードを単純な等価コード
に組合わせることによりこのようなオペレータ・コード
を連結することができろ。 例えば、範囲設定部分にバー又はイタリックの開始オペ
レータ又は終結オペレータを含むが、対応する開始オペ
レータ又は終結オペレータを含まないときは、エディタ
ーは含まれていたオRレータケ保持する。即ち、エディ
ターはオペレータ。 コードを「削除テキスト・フラグ」コードにより置換を
しない。同様に、テキストの範囲設定部分が例えば1個
のオペレータを有するとぎは、オペレークが保持される
。テキストの範囲設定部分が例えば、114正な対をな
す・シーケンスで開始/;−1又は開始イタリック・オ
ペレータと、対応する終結バー又は終結イタリック・オ
ペレークを有するとキlケ、エディターは「削除テキス
ト・フラグ」コードによってコート#を置換することに
より、このようなオペレータ・コードを削除する。他の
実施例に才6いて、EB128のテキスト・ストリング
の範囲設定部分が共通形式の2以上のりサイズ、例えば
中心の周りのりサイズ、又は基準ライン上のりサイズオ
ペレータを有するとぎは、エディターが当該形式の′f
′!L数のりサイズオペレータを、含まれている当該形
式の全てのりサイズに関する全体的なg*v何する形式
の1個のりサイズオペレークに組合わせる。 先に説明し友ように、WB12Bのテキスト・ストリン
グにおける:4−!レーク・コードが生起するシーケン
ス1は、オペレータの影響を判断する際に重要である。 必要に従って元のオはレータ・コードを連結、保持又は
削除したので、エディターは得られたオペレーク・コー
ドを必要な最終シーケンスに再整理して所望の特性及び
属性を与える。 最後に、エディターは]1J128のテキスト・ストリ
ングの範囲設定部分により第2の「経路」を実行する。 この第2の「経路」の第1部分において、エディターは
先に説明したステップから必要な順序の1B128の範
囲設定部分において最初に得られる位置に基づいて、オ
はレータ・コート9のプ(11 シーケンスを案ぎ込み、必要なだけ谷コードキま−3 EB 128に書き込算に従い、EB 128に先に説
明したオフセットを増加させる。 第2の「経路」の最終部分において、エディターはキャ
ラクタ及び(又は)シンボルと、範囲設定部分が続く元
のEB 128のテキスト・ストリングの部分のオペレ
ーク・コート9とを順次読み込み、テキスト・ストリン
グの削除部分の残りである連結したオペレータ・コード
に続(EB128の位置に、これらのコードを再び順次
書き込む。第2の「経路」の最終部分は、EB 128
において順方向のテキスト・ス) IJフラグ削除部分
に絖(EB128のテキスト・ストリングの部分を「移
動」させる慟さをし、ストリングの削除部分を先行させ
るテキスト・ストリングの部分に結合させると共Vこ、
ス) IJソング削除部分から連結したオはレータ・コ
ードが影響されないストリングの2つの部分間に現われ
る。 再び、エディターは、以下で説明するように、h:B1
28のキャラクタ及び(又は)シンボル及びオペレータ
・コードに現われるに従い、テキストの最終的な連結に
反映させるために必要なUS】36の修飾又は再構築に
より、削除処理を終結させる。 最後に、先に説明した処理を用い、他のテキスト・エデ
ィツト処理を実行する方法については、当業者にとり明
らかである。例えば、移動処理、即ちEB 128のテ
キスト・ストリングにおける1位置から他の位置へのテ
キストのセクシ璽ンの移動を、コピー処理により実行し
て、新しい位置にテキストの範囲設定セクタ1ンをコピ
ーすることができ、これにコピーされ九テキストの元の
範囲設定セクタ1ンを削除する削除処理が続く。 F、付記 以上、当業者にとり、この発明に関連するテキスト°・
エディターの構造及び処理の詳細な説明をした。しかし
、・関連する次の付記は、当業者に関連する詳細を更に
開示し、これによってこの説明の完全性を強化させるも
のである。次の付記はパーサ−14B及びII 146
の種々のプログラムを提供し、周知の10”プログラム
言希のものである。 関連される付記には矢のものが含まれる。 付記A−EQ工NLIN工T−与えられた単位に対して
1キヤラクタを加えるモジュール、 付記B−f2QRwrDwc−訂正リフレッシュ・ルー
チンに対する制御フローを管理するモジュール、付記C
−EQBLC8CRJB 128からスクリーンを構築
するモジュール、 付記D−EQnDL工NJB 128からラインを構築
するモジュール、 付記]1ニーEQTSTBUF’JB 128 におけ
るテスト・バッファ全構築するモジュール、 付記F’−EQSEGLIN−ユニレトに分析すること
によりラインを構築するモジー−ル。 付記G−EQ、LOCATffi−ユニットを配置する
モジエール、 付記H−EQIJNITCK−次のキャラクタがこのユ
ニットに属するかにつ(・て確認するモジュール、付記
ニーEQMAIN−エディターの制御□□フローを制御
するモジュール、 付記J−EQAtJ’l’0tIllA−自動操作ヘッ
ダ・ファイルを制御するモジュール、 付記に一現在勤作及び次の状態?制御するモジエール、 付記L−F’DIS工ATM−機械の確実な状態を見付
けるモジエール、 付記M−FDISATM−現在状頭の生起を見現在石頭
ジュール1 付記tJ−EQO8D工ST−区別的発音符号により重
ね打ちを処理するためのモジュール、 付記0− i:QREsAFB−付カロプロップを挿入
又は引き抜くためのモジュール、 付記P−KQINSOVS−重ね打ちの挿入を制御する
モジエール、 付記QJQOVSTRK−第1のキャラクタを他のキャ
ラクタにより頂ね打ちするモジュール、付記R−EQO
8CONT−重ね打ちケ実行するモジュール、 付記S −EQSTRUCT一式の構築用のモジュール
、付記TJO1)F”NS一式の要素を定義するモジー
−ル・以上でこの発明の埃在好ましいとする実施例の説
明を終わりにする。以上で説明したこの発明をその精神
又は本質的な特徴から逸脱することなく、他の特定の形
式に冥施可能なことに注意すべぎであるう従りて、この
実施例はあらゆる点で限定的でなく、例示として見るべ
きであり、この発明の範囲は以上の説明によりてではな
く、特許請求の範囲によりて示され、従って特許請求の
範囲の意味及び同等とする範囲に入る全ての変形はこの
発明に含まれることt意図するものである。
【図面の簡単な説明】
第1図はこの発明に関連するコンピュータ・システムの
ブロック図、 第2図はこのテキスト・エディターのドキュメント輪郭
のブロック図、 第3図はこのテキスト・エディターの符号化されたヘッ
ド・バッファのブロック図、 第4A図〜第4E図は科学的な表現例の符号化ユニット
を示す図、 第5図は本テキスト・エディターのユニット構造を示す
図、 第6A図〜wI60図は本テキスト・エディターのパー
サ−のフローチャート。 第7図は分析された表現例のユニット構造に記憶された
データの要約を示す図、 第8A図及び第8B図は当該システムの動作に関連する
情報を含むシステム・ステータス・データ構造を示す図
、 第9図は現在動作しているラインに関連する情報を含む
ライン・データ構造を示す図、第10図はスクリーンに
関連する情報を含むスクリーン・データ構造を示す図、 第11図はこの発明の挿入及び隠し込みオはレータに関
連する情報を含む挿入/隠し込みデータ構造を示す図、 gx ZA図及び@12B図は表現例のユニット構造に
よるカーソルの移動を説明するための図、第13A図〜
第13F図はこのようなユニット構造を付加された区別
的発音符号e!する一つのキャラクタ・ユニットを示す
図。 第14図は多重ユニット全方するラインの一部の構造を
示す図、 第15図は複数のラインの構造を示す図、第16A図、
第16B図及び第16C図はこの発明のエディターの挿
入、隠し込み、コピー及び移動処理を示す図である。 120・・・SI、134・・・EBH,136・・・
US、146・・・EE、148・・・パーサ−150
2・・・構造識別グループ、504・・・特性識別グル
ープ、514・・・構造ポインタ・グループ、522・
・・5TARTLOC、526・・・(外4名) FIG、 3 ?               寸 吟               の の              の 〜              〜 ユニット1唄馴号”q72 FIG、 6N 次のユニン■の形べ1;犬定1す FIG、 60 図面の浄= FIG、8△ 0面の6°l5 FIG、8B IG9 暑1T7−”> l’I”’、で; FIG、10 FIG、11 0 −  υ  フ ロののの

Claims (10)

    【特許請求の範囲】
  1. (1)情報処理システムにおける多方向又は多次元テキ
    ストのテキスト編集装置であって、 テキスト・キャラクタ及び編集コマンドを表わすキース
    トロークに応答してテキストを定めるコード・ストリン
    グを発生するエディター手段と、前記テキスト編集装置
    の動作に応答してコード・ストリングを読み込み、前記
    コードを符号化ユニットに構文解析する構文解析手段と
    、を備え、各符号化ユニットは、一つの表現に一つのユ
    ニットとして配置される0以上のキャラクタのグループ
    を定めるコードグループからなり、 前記コード・ストリングのコードは、 テキストのキャラクタ又はシンボルを表わすキャラクタ
    ・コードと、 テキストの特性を定めるオペレータコードとを含む ことを特徴とする前記テキスト編集装置。
  2. (2)特許請求の範囲第1項記載のテキスト編集装置に
    おいて、更に 前記オペレータ・コードは テキストのユニット間の編成関係を定める構造オペレー
    タを有する ことを特徴とする前記テキスト編集装置。
  3. (3)特許請求の範囲第2項記載のテキスト編集装置に
    おいて、更に 前記構造オペレータは テキストのユニット間の空間的な関係を定めるユニット
    ・オペレータを有する ことを特徴とする前記テキスト編集装置。
  4. (4)特許請求の範囲第2項記載のテキスト編集装置に
    おいて、更に 前記構造オペレータは 複数のライン分割オペレータを備え、 各ライン分割オペレータは、N単位の開始位置を基準線
    に対して垂直な線により方向付けたときに、N単位のグ
    ループを定める ことを特徴とする前記テキスト編集装置。
  5. (5)特許請求の範囲第2項記載のテキスト編集装置に
    おいて、更に 前記構造オペレータは キャラクタとシンボルとの間の関係を定める複数の関連
    オペレータを有し、 1つの前記関連オペレータは 他のキャラクタ又はシンボルが当該のキャラクタ又はシ
    ンボルを定める一部となるように、他のキャラクタ又は
    シンボルと関連させて機能することを特徴とする前記テ
    キスト編集装置。
  6. (6)特許請求の範囲第2項記載のテキスト編集装置に
    おいて、更に 関連オペレータは区別的発音符号が基礎キャラクタ又は
    シンボル一部となるように、基礎キャラクタ又はシンボ
    ルと関連させて機能する区別的発音符号を有する ことを特徴とする前記テキスト編集装置。
  7. (7)特許請求の範囲第1項記載のテキスト編集装置に
    おいて、更に 前記構文解析手段は 更に前記編集装置の動作に応答して前記符号化ユニット
    の各々についてユニット構造を発生し、該ユニット構造
    の各々は対応する前記符号化ユニットの可視表示を定め
    る情報を含む ことを特徴とする前記テキスト編集装置。
  8. (8)特許請求の範囲第1項記載のテキスト編集装置に
    おいて、更に 表示可能なカーソルと、カーソル位置に関連するコード
    ・ストリングの全てのコードと、を識別するカーソル手
    段により特徴付けられると共に、前記カーソル手段は 表示可能なカーソルと関連されるべき表示可能なキャラ
    クタ・コードの位置を記憶するキャラクタ位置手段と、 前記表示可能なキャラクタ・コードと関連する第1のコ
    ードの位置を記憶するキャラクタ開始手段と、 前記の表示可能なキャラクタ・コードと関連する最終コ
    ードの位置を記憶するキャラクタ終結手段と、 カーソルのキーストローク・コマンドに応答して、カー
    ソルの移動方向で次に前記表示可能なキャラクタ・コー
    ドと、 次に前記の表示可能なキャラクタ・コードと関連した第
    1のコードと、及び 次に前記の表示可能なキャラクタ・コードと関連した最
    終コードを配置するようにテキスト・ストリングを読み
    出し、次のカーソル位置を対応するカーソル位置手段に
    書き込むカーソル横行手段と、 を含むことを特徴とする前記テキスト編集装置。
  9. (9)特許請求の範囲第1項記載のテキスト編集装置に
    おいて、更に テキスト・ストリングのセクションについて削除処理を
    実行する削除手段により特徴付けられると共に、 前記削除手段は、 区切るべきテキストのセクションを開始するキャラクタ
    ・コード、及び開始キャラクタ・コードに関連した第1
    のオペレータ・コードを識別する開始区切手段と、 削除されるべきテキストのセクションを終結するキャラ
    クタ・コード、及び終結キャラクタ・コードに関連する
    最終オペレータ・コードを識別する終結区切手段と、 限定されたセクションの全てのキャラクタ・コードを削
    除コードにより置換する前記テキスト・ストリングを読
    み出し、かつ、 前記テキスト・ストリングのオペレータ・コードを読み
    出し、前記テキスト・ストリングの限定されたセクショ
    ンに関連する全てのオペレータ・コードを識別し、かつ
    、 限定された領域に関連する全てのオペレータを連結させ
    、再配列されたシーケンスのオペレータ・コードを発生
    するオペレータ連結手段と、連結して記憶したシーケン
    スのオペレータ・コードを前記テキスト・ストリングの
    限定されたセクションの先頭に書き込み、かつ 連結して再配列されたシーケンスのオペレータ・コード
    の終結に隣接されるべき限定されたセクションに続く前
    記テキスト・ストリングの部分を移動させるエディター
    手段と、を含む区切手段を備えた ことを特徴とする前記テキスト編集装置。
  10. (10)特許請求の範囲第1項記載のテキスト編集装置
    において、更に テキスト・ストリングのセクションをコピーし、選択し
    たテキスト・ストリングの他の位置に挿入するようにコ
    ピー処理を実行する手段 により特徴付けられると共に、 前記コピー処理を実行する手段は: コピーされるべきテキストのセクションを開始するキャ
    ラクタ・コード及び開始キャラクタ・コードに関連する
    先頭オペレータ・コードを識別する開始区切手段と、コ
    ピーされるべきテキストのセクションを終結するキャラ
    クタ・コード及び終結キャラクタ・コードに関連する最
    終オペレータ・コードを識別する区切手段と; 前記テキスト・ストリングの限定セクションのオペレー
    タ・コードを読み込み、かつ前記テキスト・ストリング
    の限定セクションに関連する全てのオペレータ・コード
    を識別し、 前記テキスト・ストリングの限定セクションを挿入すべ
    き位置に先行するテキスト・ストリングを読み込み、か
    つ挿入点で前記テキスト・ストリングに関連する全ての
    オペレータ・コードを識別し、前記挿入点でテキスト・
    ストリングに関連 する全てのオペレータにより前記の限定されたテキスト
    ・ストリングのセクションに関連する全てのオペレータ
    を連結させ、 連結させて再配列したシーケンスのオペレータ・コード
    を生成するオペレータ連結手段と;連結させて再配列し
    たシーケンスのオペレータ・コード及び限定した次のコ
    ード・ストリングの限定セクションを前記挿入点のテキ
    スト・ストリングに書き込むエディター手段と、を含む
    ことを特徴とする前記テキスト編集装置。
JP62197984A 1986-08-08 1987-08-07 多次元又は多方向テキスト・エディタ− Pending JPS63184157A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US87970086A 1986-08-08 1986-08-08
US879700 1986-08-08

Publications (1)

Publication Number Publication Date
JPS63184157A true JPS63184157A (ja) 1988-07-29

Family

ID=25374703

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62197984A Pending JPS63184157A (ja) 1986-08-08 1987-08-07 多次元又は多方向テキスト・エディタ−

Country Status (4)

Country Link
EP (1) EP0257401A3 (ja)
JP (1) JPS63184157A (ja)
AU (1) AU598010B2 (ja)
CA (1) CA1290855C (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU597320B2 (en) * 1986-03-31 1990-05-31 Wang Laboratories, Inc. Text editor for multidimensional or multidirectional text
US5416898A (en) * 1992-05-12 1995-05-16 Apple Computer, Inc. Apparatus and method for generating textual lines layouts

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6164451A (ja) * 1984-09-07 1986-04-02 Hitachi Ltd 文書処理システムにおける数式清書方法
JPS6177981A (ja) * 1984-09-25 1986-04-21 Canon Inc 画像処理システム
JPS62250481A (ja) * 1986-03-31 1987-10-31 ウオング・ラボラトリ−ズ・インコ−ポレ−テツド 多次元又は多方向テキスト・エデイタ−

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1122142A (en) * 1978-03-06 1982-04-20 Charles N. Sprott Method and apparatus for producing preliminary character printout of text and instruction codes of word processing apparatus
FR2509491A1 (fr) * 1980-04-17 1983-01-14 Comile Sarl Systeme de traitement de textes scientifiques et techniques
GB8505340D0 (en) * 1985-03-01 1985-04-03 Vickers Shipbuilding & Eng Computerised presentation of documentation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6164451A (ja) * 1984-09-07 1986-04-02 Hitachi Ltd 文書処理システムにおける数式清書方法
JPS6177981A (ja) * 1984-09-25 1986-04-21 Canon Inc 画像処理システム
JPS62250481A (ja) * 1986-03-31 1987-10-31 ウオング・ラボラトリ−ズ・インコ−ポレ−テツド 多次元又は多方向テキスト・エデイタ−

Also Published As

Publication number Publication date
AU7675087A (en) 1988-02-11
EP0257401A2 (en) 1988-03-02
AU598010B2 (en) 1990-06-14
EP0257401A3 (en) 1989-02-15
CA1290855C (en) 1991-10-15

Similar Documents

Publication Publication Date Title
JP6482562B2 (ja) モバイル向けのおよび他の表示環境をサポートするインタラクティブなサイトおよびアプリケーションの自動変換のためのシステムおよび方法
US5182709A (en) System for parsing multidimensional and multidirectional text into encoded units and storing each encoded unit as a separate data structure
JPH09505422A (ja) テキストドキュメント及びイメージドキュメントを同期化、ディスプレイ、及び操作するための方法及び装置
JP2007011513A (ja) 文書表示装置、文書表示方法並びにプログラムおよび記録媒体
CA2666305C (en) Method, system, and program for supporting object selection in web page authoring
JPS63184157A (ja) 多次元又は多方向テキスト・エディタ−
KR100583473B1 (ko) 문서편집 소프트웨어의 수식 편집기 및 그 편집방법
JP4720695B2 (ja) コンテンツ提供方法
JP2006260306A (ja) 文字入力装置、プログラムおよび文字入力方法
US20070033035A1 (en) String display method and device compatible with the hindi language
JP3071703B2 (ja) 表作成装置およびその方法
JPS62250481A (ja) 多次元又は多方向テキスト・エデイタ−
EP0240909B1 (en) Text editor for multidimensional or multidirectional text
Leler et al. An interactive graphical interface for REDUCE
JP3988900B2 (ja) 文書処理装置およびそのプログラム記憶媒体
JPH08166950A (ja) 文書編集装置
JPH0567089A (ja) 文書作成装置
JP3437049B2 (ja) 文字入力装置
JP3093241B2 (ja) 文字処理装置及びその方法
JP2845234B2 (ja) 文書データ処理装置
JPH0863477A (ja) 電子機器
JPH11167571A (ja) 文書処理装置およびそのプログラム記録媒体
JPS61262885A (ja) 文字表示装置
JPS63178319A (ja) マルチウインドウ表示機能を有する表示装置
JPH05307545A (ja) 文書作成装置