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

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

Info

Publication number
JPS62250481A
JPS62250481A JP62079529A JP7952987A JPS62250481A JP S62250481 A JPS62250481 A JP S62250481A JP 62079529 A JP62079529 A JP 62079529A JP 7952987 A JP7952987 A JP 7952987A JP S62250481 A JPS62250481 A JP S62250481A
Authority
JP
Japan
Prior art keywords
unit
text
character
line
operator
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
JP62079529A
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 JPS62250481A publication Critical patent/JPS62250481A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Document Processing Apparatus (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

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

Description

【発明の詳細な説明】 イとΔ 細には、数学的、物理的及び科学的な分野において、用
いられるものを含む科学的及び技術的なキャラクタ、及
びシンボルからなるテキストや、非ヨーロッパ系言語の
テキストのような、多次元又は多方向テキストによるワ
ード処理に類似した処理を可能とするテキスト編集装置
に関する。
従来技術 情報の通信金し、記憶をする多(の通常的な手段は、可
視的な表示、例えば印刷されたテキスト及びイメー:)
(image)′fr:介して、また最近ではコンピュ
ータ・システムに接続されたCRTスクリーンのような
、等測的な電子表示を介して機能する。近年では、テキ
スト及びグラフィック・イメージを生成し、編集し、印
刷し、通信し、記憶することができる設備は、コンピュ
ータ・システム上の種々のワード処理及びグラフィック
・エディター−プログラム処理によって非常に便利とな
った。ワード処理システム及びグラフインク処理システ
ムは5周知のものとなり、特に、システム、構成、操作
及びコストについての合理的なユーザーの要求が容易に
満たされ得る範囲で一般に容易に入手可能なものとなっ
た。
しかし、このようなシステムにおいて繰り返して生じる
問題は、各形式のシステム、即ちワード処理又はグラフ
ィック処理システムが、狭い範囲の情報形式及び表示内
でしか処理全行なえないと(・うことである。例えば、
ワード9処理システムは、通常、英語のようなヨーロッ
パの言語において一般に用いられる標準的なテキストの
形式、即ちは一ジ上の標準的な行及び欄に配置された均
一、標準的なサイズ及び形状の標準英数文字のみ全処理
して、行及び段落を形成することができる。しかし、ワ
ード処理プログラムは、このような制約内    ゛に
おいて、総体的に極めて効率がよく、使用も容易である
。これに対して、グラフィック・プログラムは、種々の
形状及びサイズのシンボル及び図形や、ページ上でのこ
れらの可視的な外形及び位置を処理している。k−ジ上
の形状、これらのサイズ及び位置全ユーザが定義でき、
このような形状全配置し、移動し、かつ変更することが
可能な手段を、そのようなプログラムは提供するが、ユ
ーザが学習し、使用するのが比較的困難である。
標準的なテキスト形式成し、かつ編集するために最適な
ワード9処理のデータ構造及びそのデータ構造の編集装
置は、グラフィック処理のシンボル及び図形の生成、編
集、及び表示に最適なグラフィック・データ構造及びそ
のデータ構造の編集装置には適合しないので、ワード処
理システムとグラフィック処理システムとの間の分離が
生じる。
以上で説明したように、ワード1処理システムは。
ページ上で可能な固定位置のアレー内に配列された標準
的、かつ均一な要素の単純なスl−IJングを処理する
ように設計されている。一方、グラフィック・プロセッ
サはに一ジ上の如伺なる位置にも配置可能な可変のライ
ン及び形状を処理している。
しかし、厳密なワード処理でも厳密なグラフィックス処
理でもな(、かつ以上で説明したいずれかの形式のシス
テムによっても未だ充足されない情報処理及び表示の領
域がある。通常、このような情報処理及び表示の領域は
、多重次元、多重方向、又はその両方のテキスト形式か
らなるものとして定義できる。このようなテキストの主
要な。
通常よく見られるPAlとしては、従来から認められて
いる形式、例えば数学や、物理の分野で用いられている
式、表現、又は図における科学的なテキスト及びシンボ
ルがあり、これらの分野で用いられているシンボル及び
用語を用いている。以上で説明したように、他の例には
、テキスト、即ちば一ジ上のキャラクタ及びシンボルの
位置付は及び互いの論理的及び物理的な関係が、例えば
英語、ドイツ語、フランス語又はイタリー語等の一次元
的で単一方向的なきまりに従わない言語が含まれる。こ
のような外国語のテキストの例には、インドで用いられ
ているようなインド語族の語派のテキストや、スリラン
カ、ビルマ、タイのような国で用いられているテキスト
、並びに中国語、日本語及びアラビヤ語の種々の語派の
ような言語のテキストなどが含まれている。
このような性質のテキスト自A−9、例えばテキストが
相互に対して意味のある方法で配列されている1以上の
キャラクタ、又はシンボル要素の論理的なグループから
なる科学的なテキストのベージの研究から明らかである
。また、キャラクタ及びシンボルが種々の形状及びサイ
ズのものであり、他方に対してこれらの位置も可変であ
ることも明らかである。更に、キャラクタ及びシンボル
・グループにより占有された幾何学的な領域と、その領
域のページ上における位置とが、キャラクタ及びシンボ
ルの構造と、そのに−ジ上の他のグループのキャラクタ
又は7ンボル、特にページ上で先行するグループ、ある
いは同一ライン上の次のグループとにより決定されるこ
とも明らかである。
発明が解決すべき問題点 従来技術において、通常このようなテキストのためのテ
キスl集装置は、先に説明した2つの形式、即ちワード
処理形式及びグラフィック処理形式のうちの一つに属し
ていた。従来技術のテキスト編集装置のワード処理形式
において、テキスト編集装置は、簡単なワード処理を最
も頻繁に採用すると共に、標準的なキャラクタリセット
及びフォーマット化したコマンドに対するキャラクタ及
びシンボルをいくらか付加するものであった。
これによって得られる表現力は限定されたものなので、
この形式のワード1処理テキスト編集装置は満足できる
ものではなかった。即ち、キャラクタ及びシンボルは、
強制的に標準的なサイズ及びプロポーションにされ、ワ
ード処理において通常設けられた位置5例えば簡単なス
ーツξ−スクリプトフ゛ (上付き文字)及びす令≠スクリプト(下付き文字)の
みを占有することかできる。あるワード処理形式テキス
ト編集装置は広い範囲のキャラクタ、シンボル及び表現
を得ようとしていたが、使用が著しく困難となり、作成
処理及び編集処理中にユーザーに最終的なページの体裁
を表示することが通常できない。即ち、テキスト作成及
び編集中のテキストに制御コードヲ組み込むことにより
広範な表現が達成されるか、ページの真の体載全表示す
るためには、ユーザーが実際に4−ジ全印刷しなければ
ならない。
作成し、かつ表示するキャラクタ、シンボル及び表現の
範囲の点で、ワードゝ処理システムよりグラフィック処
理システムのほうが非常に柔軟性があるが、主としてそ
の大きな柔軟性故に、使用がずっと困難である。実際に
おいて、ユーザーは個々のキャラクタ、シンボル又はラ
インを引く必要があるか、又は少なくとも表現に現れる
ように各形式のテンプレート’を形成する必要かあり、
またページ上に個々に各キャラクタ、シンボル又はライ
ンを配置する必要がある。テキスト編集の点からは、こ
の解決方法はキャラクタ及びシンボルのテンプレートと
、紙切れと、ペンとを備えるものより少しも良(なって
いない。
次に説明するように、本発明のテキスト編集装置は、慣
習的に認められている形式、例えは数学的、化学的、又
は物理的な分野で用いられている式、表現、又は図にお
いて多次元、多方向、又はその両方のテキスト及び表現
を生成し、かつ’fA%集するのに適しているグラフイ
ンク形式の可視的な表示と共に、ワードゝ処理形式の1
キュメント作成及び編集処理全機能的に備え、これらの
分野において通常認められ、かつ使用されているキャラ
クタ、シンボル及び用語を用いることにより、これら及
び従来技術における他の間Qk解決するものである。
従って、本発明の目的は、多次元、多方向、又はその両
方のテキスト編集い、改善されたテキスト・エディター
を提供することにある。
更に、本発明の目的は、ワード処理形式のドキュメント
作成及び編集を機能的に得る多次元又は多方向について
改善したテキスト・エディターを得ることにある。
本発明の他の目的は、慣習的に認められている形式にあ
るテキスト及び表現の生成及び編集に適した可視的な表
示を得る多次元又は多方向テキストのだめの改善された
テキスト・エディターを提供することにある。
本発明は、テキスト・エディターに テキストのキャラクタ及び編集命令全表わすキーeスト
ロークに応答してテキスト編集ifるコード・ストリン
グを発生するエディター手段と、前記エディター手段の
動作に応答して@紀ニード・ストリングを読み出し、符
号化ユニットに複数のコードを構文解析する構文解析手
段と、全備えた多次元又は多方向テキストの編集及び作
成装置全提供する。
前記各符号化ユニットはユニットとして表現に配置され
たグループの非キャラクタ又は複数のキャラクタを定義
するコードのグループからなシ、更に前記装置は各符号
化ユニットに対してユニット構造を発生する手段を含む
と共に、各前記ユニット構造には対応する符号化ユニッ
トの可視的な表示を定義する情報が含まれている。更に
、前記構文解析手段は前記エディター手段の動作に応答
して前記ユニット構造及び対応するコード・ストリング
を読み出し、前記テキストの可視的に表示可能な表現を
発生する。
テキスト編集わすコード・ストリング内のコードは、前
記テキストのキャラクタ及びシンボルを表わすキャラク
タ・コードと、前記テキストの特性を定義するオペレー
タ・コードと、を含む。
本発明の第1の特徴として、オペレータ・コードは、次
のキャラクタ、キャラクタ・グループ若しくはユニット
又はユニット・グループについて処理をする接頭辞オペ
レータと、前のキャラクタ、キャラクタ・グループ若し
くはユニット、又はユニット・グループについて処理金
する接尾辞オペレータと、2つのキャラクタ、キャラク
タ・グループ若しくはユニット、又はユニット・グルー
プについて並列に動作するインフィックスオペレータと
を有する。
本発明の他の特徴において、前記オペレータ・コードは
テキストの複数ユニットと、前記テキストのキャラクタ
及びシンボルの属性を定める環境オペレータと、の間の
組織的な関係を定義する構造オペレータを有する。
この点において、構造オペレータはテキストのユニット
間の空間的な関係を定義するユニット・オハレータから
なると共に、前記ユニット・オペレータは前記オ投レー
タにより定義された対応するユニットを開始する開始オ
ペレータと、前記開始オペレータにより起動されたユニ
ットを終結させる対応の終結オペレータと、を有する。
前記構造オペレータの他の特徴において、構造オハレー
タは、キャラクタ及びシンボルとの間ノ関連を定めるユ
ニット・オペレータを有し、前記ユニット構造はレータ
はオペレータにより定められた対応のユニットを開始さ
せる開始オペレータと、前記開始オペレータにより開始
されたユニットを終結させる対応の終結オペレータと、
を有する。
前記構造オペレータの他の特徴として、前記構造オペレ
ータはキャラクタとシンボルとの間の関連を定める関連
オペレータを有すると共に、前記関連オペレータはキャ
ラクタ及びシンボルを他のキャラクタ又はシンボルと関
連させるように動作して前記他のキャラクタ及びシンボ
ルの定義の一部となる。
前記環境オペレータは、いずれにも対応する属性をオン
又はオフするように動作する属性スイッチング・オペレ
ータを有し、また他の特徴として連続的に存在する檎性
を修飾するように動作するように動作する属性修飾オペ
レータとを有する。
ユニット構造の他の特徴として、更に各ユニット構造は
、対応する符号化ユニットt−有するテキスト・ストリ
ングにおいてグループのニーげにユニット構造を関連さ
せる構造識別フィールドと、前記ユニット構造に関連さ
れた他のユニット構造を識別する情報を含む構造ポイン
タ情報フィールドと、対応する符号化ユニットのキャラ
クタ又はシンボルに適用する属性全定義する情報を含む
特性識別フィールドと、全備えている。最後に、各ユニ
ット構造は更にページ上の対応する符号化ユニットの位
置を識別する情報を含む位置フィールドを有する。
本発明の他の特徴、目的及び効果は、この全明解される
であろう。
実施例の説明 以下、本発明の現在の好ましい実施例を組込んだコンピ
ュータ・システムの構造及び動作について説明する。以
下の説明では、先ず本発明を説明するために必要なある
種の用語及び概念を説明する。当該システムの総合的な
構造及び動作をブロック図のレイルで説明し、次に本発
明の動作の若干の基本的な特徴、及び原理の詳細な説明
をする。
最後に、選択した付記には当該装置のある特徴及びオペ
レータの説明が含まれている。
説明の明確さを高めもために、以下の説明を通してこの
発明を説明するのに必要な一定の参照番号及び図面の規
約を用いる。
第1に、システムの関連部分間の相互接続全共通の名称
か、又は番号により、又は図示の相互接続表示により示
すものとする。
第2に、図に現れるシステムの要素を指す参照番号は、
対応するこれらの要素が最初に現れる時にその要素に付
けられる。
次に、特定の要素に付けられた参照番号は、その要素が
図を参照する場合であろうと、又は図に示されていよう
とも残りの説明又は図を通して用いられる。
最後に、全ての参照番号は3又は4桁からなる。
2つの最下位(最右端)の複数の桁は、特定の図に現れ
る特定の要素を識別し、最上位(最左端)の1又は複数
の桁はその要素が最初に現れる図を指す。例えば、特定
のシステム要素は第1図に第12番目の要素として現れ
る。次に、この要素は参照番号112により引用され、
残りの説明を通してこのように引用される。同様に、第
12図の第1の要素はこの説明を介して参照番号120
2によって引用される。
A、概要説明(第1図) 以下では、ここで説明する一定の用語及び概念の定義と
、当該装置の動作の説明とを含む概要レベルでこのテキ
スト−エディター全説明する。次に、装置及びテキスト
・エディターのある要素と。
処理と全当該の技術分野における当業者のためにこのテ
キスト・エディターの説明に従って更に詳細に説明する
A、l  用語及び概念 以上で説明したように、このテキスト・エディターの目
的は、多重次元か、若しくは多方向、又はそのどちらで
もよいテキストを含むドキュメントのページを作成する
ことである。初歩的で、かつ通常に見られるこのような
テキストの例は、従来から認められている形式、例えば
数学的、物理的な分野で用いられている式、表現又は図
中の科学的なテキスト及びシンボルであり、これらの分
野で用いられているシンボル及び用語を用いる。
他の例には、上で説明したが、テキスト、即ちページ上
の、キャラクタ及びシンボルの位置付けと、互いの論理
的及び物理的な関係と、が、例えば英語、ドイツ語、フ
ランス語又はイタリー胎の、−次元的で、かつ単一方向
的なきまりに従わない言語が含まれる。このような外国
語のテキスト例には、インドゞで用いられているような
イ/ド語族の語派、スリラン力、ビルマ、タイ及び中国
語のような言語、日本語、アラビヤ語の種々の語派のテ
キストが含まれる。通常の読者がよ(知っているので、
このテキスト書エディターに関する以下の説明及び検討
は、科学的なテキストを例として用いる。しかし、この
テキスト・エディターは、以上で説明した言語、及び他
の定義可能なキャラクタ・セット及びシンボル・七)I
f含む任意のフォント若しくはキャラクタ・セット及び
7ンボル・セット全使用してもよいことを理解すべきで
ある。
これらのテキストの用語において、ト9キエメントは1
以上のば一部からなり、その各ば一部は1ライン以上の
テキストからなり、そのラインは関連するシンボル又は
キャラクタのほぼ線形に方向付けられたアレイ(配列)
であると見做すことができる。ここに示すテキスト−エ
ディターの実施例では、ドキュメントか1ページである
ものとする。
しかし、他の実施例では、従来のツー1処理技術におい
てよ(知られた方法で1ペ一ジ以上からなるドキュメン
トに対応させることができる。
このテキスト・エディターは、現在のコンビエータR−
ス・ワード処理システムに対して一般的に同様に使用さ
れるように意図されている。即ち、テキストが入力され
、編集されるに従い、コンビニ−ターメモリに記憶され
、このような処理中にユーザーに対してはCRTのよう
な表示装fを介して可視的に表示される。更にこの理由
のために、1ページは1以上の「スクリーン」からなり
、そのスクリーンは現在処理中であって、ユーザーに表
示されているページの一部であると見做される。
以下の説明の都合から、テキストに現れ得るキャラクタ
は3種類とする。第1に、「キャラクタ」は最終的な印
刷ドキュメント、即ち印刷ページ上に現れるべきシンボ
ル又は文字であると定義される。「キャラクタ」につい
てのこのような概念には「ヌル(null)J  キャ
ラクタ、即ち1キヤラクタを占有するが、実際に印刷又
は表示されるシンボル又はキャラクタ金側ら含まないス
ペースが含まれることに注意すべきである。
「制御キャラクタ」は、例えばページケ形成する際に用
いられるキャラクタであり、ドキュメントの作成及び編
集中にユーザーに現れることがあるが、最終的な印刷ペ
ージ上に現れることは通常ない。制御キャラクタの例に
はタグ及び疑似リターンが含まれる。
最後に、「区別的発音符号キャラクタ」即ちマークは他
のキャラクタに付加、又は関連されたキャラクタ又はシ
ンボルであり、どれが現れるキャラクタの意味を変更又
は定義するときに用いられる。区別的発音符号キャラク
タ即ちマークは与えられたl又は複数のキャラクタの上
下に現れることがある。例えば、言語の場合にマーク、
例えハl又はウムラウトが文字の発音を指示、又は変更
するために用いられる。科学においては、区別的発音符
号キャラクタは関連するキャラクタの性質を変化させ、
又はその特徴を定める。例えば、集合論において、上に
バーを付けたキャラクタはそのキャラクタによって表わ
される集合の補集合を表わし、一方ベクトル代数学にお
いて、上にバーを付けたキャラクタはベクトルを表わし
て(・る。他の例として、物理学又は数学において、上
に一つのドツトを付けたキャラクタは、そのキャラクタ
により表わされた関数の一次導関数を表わし、ウムラウ
トと同様に2つのト9ソトを付けたキャラクタは、その
関数の二次導関数を表わす。
[ストライクスルー(strikethrough) 
J キャラクタ、即ちキャラクタ又はシンボル上に、又
はこれらを貫通して他のキャラクタ又はシンボルを付け
たものも許容され、以下に説明するように、これらの定
義及び使用は区別的発音符号キャラクタと同様である。
ストライクスルー−キャラクタの例では、これらを介し
て1/1のような斜11jlk有する文字、又はこれら
の上に’x” 2付けた文字を含む。
「基準ライン」は通常、1以上のキャラクタの主要部分
を配置する水平ラインである。例えば。
このテキスト・ラインのキャラクタは、キャラクタの底
部により、即ちそのキャラクタの最低部分により定めら
れる水平ラインを配置される。この点で、あるキャラク
タ、例えば@y′、1g1は基準ラインの下に延びる「
ディセンダー」を有する。
基準ラインは一般にページ全体に互るラインを指し、ワ
ード又はテキストのページに互るラインを方向付けるが
、局部的な基準ラインもあることに注意すべきである。
例えば、スーパースクリプトに1以上のキャラクタのス
トリングを有するキャラクタを一般的な基準ラインに配
置してもよ(、一方スーノξ−スクリプトにおけるキャ
ラクタをスーパースクリプト内で局部的な基準ライン上
に配置する。与えられたテキストの要求に従って基準ラ
インを配置すること、例えは、基準ラインを水平ライン
でなく垂直ラインとして、またラインを科学的なテキス
トに通常見られるように、水平ラインに沿って左から右
へではなく、右から左へ。
又は上から下へ行くラインとして定義することができる
ことに注意すべきである。
キャラクタ・ストリングは、仙の一つ又は複数のキャラ
クタと関連して現れることがあるが、これらが配置され
るキャラクタの上、前後に沿って配置される。親キャラ
クタのように、同一の基漁ラインでな(、これと関連し
て現れるキャラクタは、「スクリプト」として一般に呼
ばれ、1又は複数の親キャラクタに関連して現れる位置
は「スクリプト位置」と呼ばれる。定義された6スクリ
プト位置には、オーバースクリプト、アンダースクリプ
ト、プリスーパースクリプト、及びサブスクリプトがあ
る。これらの位置は、親キャラクタに関連して、親キャ
ラクタのそれぞれ直ぐ上、直ぐ下、前の上、前の下、後
の上、及び後の下である。
以上は一般的な意味か、又は局部的な意味かの何れかに
おける、即ちスクリプト位置で局部位置における基準ラ
インに沿って互いに相対して配置されているテキストの
複数のキャラクタについて説明したものである。更に、
複数のラインにより互いに相対するキャラクタ會配置す
る他の場合、即ち「分割ライン」の場合もある。分割ラ
インでは、基準ラインがそれぞれ元の基準ラインに平行
な2以上の平行ラインのグループに分割され、かつライ
ンのグループが元の基準ラインを中心とし、かつ1以上
のキャラクタが分割ラインのそれぞれに現れる。
最後に、科学的なテキスト等に現れるシンボルの特殊な
場合は、「オーバーパー(overbar) J及びア
ンダーパー(underbar) Jである。これらの
シンボルはキャラクタでも識別キャラクタでもない。こ
れらの名称が意味するように、オーバーパーは1以上の
キャラクタのストリングの上に現れるライン即ちバーで
あり、アンダーパーは1以上のキャラクタのストリング
の下に現れるライン即ちバーである。
テキストの1ページに含まれる基本的な要素全説明した
ので、論理的な要素及テキストのグループ分けを次に説
明する必要かある。テキストのは一ジの説明から明らか
なように、テキストが互いに相対して意味のある形式で
、例えは基糸ラインに沿って配列された1以上の前記説
明の要素の論理グループからなる。以下の説明のために
、「ユニット」は、一つの単位として、即ち一つの「も
の」としてト9キエメントに配置されなければならない
関連の特性によって、キャラクタ・ストリング又はキャ
ラクタ・グループとして定義される。
従って、ユニットには、例えば一つのキャラクタ、一つ
のキャラクタに関連して配置されなければならないスク
リプト、又は一つのアンダーパー又はオーバーパーによ
り結合された1以七のキャラクタのグループがある。あ
るオペレータはそれ自身ユニット”k定義する必要がな
いが、その代わりに「セグメント」を定義する必要があ
ることに注意すべきである。ただし、この「セグメント
」とは共通の基準ラインに相対して大きさか決定され、
かつ配置された2以上の順序付けられたグループである
。この実施例では、例えばライン分割は2以上のユニッ
トからなるセグメントを形成する。
この場合に、各ラインは1ユニクトでもよく、又は2以
上のユニットからなるものでよい。他の例では、スクリ
プトはlユニットを有するものでよく、もしスクリプト
それ自身が2以上のユニットからなるときは、1セグメ
ントi有するものであってもよい。従って、「式」又は
他の表現は、例えば1以上のユニットのシーケンスから
なる。
ページ上の1ユニットが占める幾何学的な領域、及びペ
ージ上のその領域の位置は、ユニットと、ページ上の他
のユニット、特にページ上の前のユニットと、恐らく同
一ラインの次のユニットとの構造により決定されること
は明らかである。即ち、IOキャラクタのサブスクリプ
トと、数学的な表現、例えば(1+xy)/(z−2y
)  であるスーパースクリプトとを有する基本キャラ
クタの1ユニットは、簡単な1キヤラクタのスーパース
クリプトを有する1キヤラクタと異なる領域を必要とす
るであろう、この発明の目的及び以下の説明の都合のた
めに、「境界ボックス」、即ちその内側に現れるユニッ
ト構造によって定められるユニットの基準点から正及び
負のX及びy方向に延び、X及びy方向の大きさを有す
る方形ユニットの領域金定め、かつX及びy方向の大き
さがその内側に現れるユニット’に完全に含むようにし
たものである。
「ストリング」なる用語は、例えばキャラクタの連結さ
れた−続き全意味するように通常使用されているが、「
ス) IJング」なる用語はこの発明のある特徴に関連
し、かつ以下の説明の一定の部分では特殊な意味がある
。これらの場合に、「ストリング」なる用語は1以上の
ユニットに互る、又は含まれるテキストのセグメンIf
指L、ストリングの開始及び終端が同一の基準ラインに
存在する特性金有する。従って、例えば、スクリプト、
又は1ラインのライン分割に現れる1以上のキャラクタ
・ストリングは「ストリング」であり、以上のように範
囲金定め、処理を行なう。
最後に、「オペレータ」なる用語は、1キヤラクタ又は
ストリングについて、又は関連して実行すべき過程、即
ち処理を説明する。従って、オペレータは、これらかイ
タリックや、キャラクタ及びシンボル全選択したフォン
トであっても、キャラクタ及び/ンポルの特性、即ち他
に対するキャラクタ、シンボル及びユニットの空間的及
び構造的な関係と、キャラクタ及びシンボルの属性、例
えばこれらのサイズ全説明して定義する。オペレータの
例には、スフリプティング、即ち基本キャラクタに対す
るスクリプトの配置、ライン分割、キラフタの上又は下
への区別的発音符号キャラクタの配置、及びストリング
におけるキャラクタのサイズ変更が含まれる。基本的な
形式において、オペレータは実行すべき処理全指示する
コードであるが、処理を更に定めるパラメータと関連さ
せることが可能である。例えば、ライン分割オペレータ
はスクリプト(script)に現れるライン数を示す
パラメータと関連させる。パラメータの値を関連するオ
ペレータに対するパラメータとして見ることができるが
、本発明の目的のために、オペレータの定義の一部とし
て見做してもよい。
オペレータの外形は通常、ユニットの開始、即ちユニッ
トと前後のユニットとの間の範囲を示すことに注意すべ
きである。例えは、スクリプト・オペレータは、次のキ
ャラクタがそれ自体関連する基準ユニットに対してスク
リプト位置に配置されているユニットであることを示し
、同様にスクリプトの終端はスクリプト・ユニットの終
端及び次のユニットの開始を示す。しかし、若干のオペ
レータは必ずしもユニットの終端、又は次のユニットの
開始を定めるものではないことに注意すべきである。例
えば、区別的発音符号オペレータ及びストライクスルー
・オペレータは、キャラクタに関連して実行するオペレ
ータ音電めるが、ユニットにおける遮断を示すものでは
ない。
オペレータ・コードと、多分関連するパラメータ・コー
ドとによりオペレータを開始し、一方オペレータをいく
つかの方法で終結することができる。ある場合、例えば
オーパーツξ−又はアンダーパーのオペレータの場合は
、特殊なバー終結オペレータによりオペレータを終結す
る。他の場合は、同一形式の他のオペレータにより終結
する。例えば、次のキャラクタの相対的な大きさを変更
させるリサイズ(resize)オペレータは、例えば
元の大きさに対する他の相対的な大きさにキャラクタを
変更する他のりサイズオペレータにより終結される。更
に他の場合、例えばスクリプト又はライフ 上分割ユニ
ットの複数のユニットヲ有する個々のライン・ユニット
の場合では、スクリプト、又はライン分割の個々のサブ
・ラインを、疑似リターンにより、即ち、オペレータを
終結するためにオペレータとして特に用いられる「リタ
ーン」により終結する。疑似リターンなる用語は、この
制御キャラクタが、通常に見られる「リターン」の上に
制御キャラクタを有することをより一般的に示すために
用いられる。この制御キャラクタはページ上でラインの
終結のみを通常表わすものである。この実施例では、従
来からの意味で「リターン」を用いるものでないことに
注意すべきである。
「疑似リターン」は、「疑似リターン」のより一般的な
能力及び柔軟性を示すために、−貫して用いられ、また
そのように設計されている。従来の「リターン」は「疑
似リターン」内に込められている。ライン分割の場合は
、ライン分割の各ラインを疑似リターンにより終結する
。また、ライン分割オペレータそれ自身は、関連するラ
イン分割オペレータのパラメータにより定められたライ
ン分割におけるライン数に等しい疑似リターン数の生起
により終結する。この場合は、ターミネータを暗黙オペ
レータと見なすことができる。即ち。
このオペレータは明示オペレータ・コードではなく、あ
る条件の生起によって終結する。
この発明では、現在3つの分類、即ち、「接頭辞」オペ
レータ、「接尾辞」オペレータ及び「インフィックス」
オペレータを定義している。接頭辞オペレータは1個の
キャラクタ、ストリング又はユニットについて処理をし
、処理すべき対象の前に現われ、かつ終結されない限り
ページの終端の生起点から処理をする。接頭辞オペレー
タの例は次のキャラクタのりサイズである。接頭辞オペ
レータは再度1個のキャラクタ、ストリング又はユニッ
トについて処理をするが、処理すべき対象の後に現われ
、前に現れたユニットの処理に戻る。
即チ、接頭辞オペレータの例には、オーバーパー又はア
ンダーパーの終結オペレータかある。インフィックスオ
ペレータは通常2つのキャラクタ、ストリング又はユニ
ットについて並行処理し、処理する対象間の関係を通常
定め、処理するものの間に現れる。インフィックスオペ
レータの例には、基本キャラクタ又はユニットとスクリ
プトとの間に現れるスクリプト・オペレータがある。ス
クリプト・オペレータは基本として前のキャラクタ又は
ユニットと、スクリプトとして次のキャラクタ、ユニッ
ト又はストリングと、基本に対するスクリプトのスクリ
プト位置とを定める。
用語のインフィックス、接頭辞及び接尾辞は複数のキャ
ラクタ又はシンボルと、複数のユニットとに対するオ×
レータの処理特性を説明する。オ×レータは、構造オペ
レータ又は環境オペレータとして、テキストのキャラク
タ、シンボル及びユニットに対するこれらの影響の点で
も説明されている。即ち、構造オペレータは、キャラク
タ、シンボル、又はユニットとの間の空間的又は構造的
な関係を定め、環境オペレータがイタリックでありても
、またそのフォントかどのようなものであってもキャラ
クタ又は7ンボルの一定の属性、例えばこれらの大きさ
を定義するものである。
これらの性質によるIII造オペレータは、ユニットの
開始及び終結と、以下に説明するように、スクリプト、
ラインースクリプト及びパー・オペレータのようなユニ
ット間の関係と全通常電める。
通常、このようなオペレータは対をなして、即ちユニッ
トを開始する第1オペレータ、及びオペレータを終結さ
せる第2オペレータとして現れる。
例えば、スクリプト・オペレータはスクリプト・ユニッ
トの始端から始めてマークを付け、スクリプト・ユニッ
ト金終結させる対応の疑似リターン・オペレータがある
。他の例において、バー開始オペレータはバー・ユニッ
トの始端から始めてマークを付け、バー・ユニッIf終
結させる対応のバー終結オペレータがある。
テキスト・エディターの以下の説明で説明するように、
関連する若干の構造オペレータかあることに注意すべき
である。即ち、関連されるこれらのm造オペレータはユ
ニッl−開始しないか、若干のキャラクタ又はシンボル
に関連又は結合され、他のキャラクタ又はシンボルが構
造的に1個のキャラクタのシンボルのものにキャラクタ
又はシンボルを組合わせる。このようなオペレータの例
には、以下に説明するように、区別的発音符号の点から
このテキスト・エディターの処理に示されている。
最後に、環境オペレータはキャラクタ、シンボル及びユ
ニットとの間の関係を定めるのではなく、テキストのキ
ャラクタ及びシンボルの若干の構造全定義する。このよ
うなオペレータの例には、これらがイタリックや、その
フォントであるとに係わらず、キャラクタ及びシンボル
の大きさを定める複数のオペレータが含まれる。これら
のオペレータの若干のものによシ、テキストにおいて離
散的又は基本的な状態変化、即ち属性をオン又はオフし
、オペレータの/ξミラメータオン又はオフにあるフラ
グと見做すことができる。この工うな離散的な環境オペ
レータにはイタリック機能が含まれる。他の環境オペレ
ータとして、テキストのキャラクタ及びシンボルを離散
的、又はオン/オフ形式の変化でな(、連続的な状態へ
修飾させるものがある。これらのオペレータには、例え
ばキャラクタ及びシンボルの大きさを定める複数のオペ
レータが含まれる。即ち、キャラクタ及びシンボルの大
きさと、これらのオペレータの変化により定義した属性
とを定めるオペレータが実際には常にあるか、又はオン
又はオフされるのではなく、修飾される。この場合は、
オペレータのパラメータはオン/オフ・フラグや、コマ
ンビ以外の値である。
以下に説明するように、定義したオペレータに加えて、
若干の暗黙オペレータ、即ち、特定のコードによってで
はなく、文脈の前後関係によって定められた複数のオペ
レータがあることに注意すべきである。例えば、ユニッ
トの始端及び終端には、それぞれ前後のユニットに当該
ユニットに結合する暗黙オペレータ、実際にはPREV
IOUS 及びNEXTオペレータがある。ユニットと
の間におけるこれらの関係は、説明したように指定され
ないが、暗示される。即ち、その全てのオペレータを終
結したときは、ユニットの終結を指定し、その生起は次
のユニットに対する開始及び接続全意味する。以下に説
明するように、このテキスト・エディターは、1つのワ
ード・ストリングの形式と、ページ上のユニットの物理
的な大きさ及び位@、ヲ定める他の情報の形式でユニッ
ト音電めるキャラクタ、シンボル、オペレータ及びター
ミネータを一つにした2つの主データ構造全保持する。
第1は、ストリングにおけるそれらの位置により。
また例えばユニットの最絆的なターミネータが次のユニ
ットの開始音意味することにより、ユニット間の関係を
表わす。第2は、複数のポインタにより11rt次ユニ
ツl他に結合させる。これらのポインタは1例えばユニ
ットが終結し、次のユニットが開始する暗黙オペレータ
として用いている。
この発明の実施例に対して決定したオペレータには、限
定するものではないが、次のものを含0゜フォーマット
・ライン:ページの一般的なフォーマント、例えばタブ
及びリターンの位e2定める接頭辞オペレータ。
基準サイズの定義:キャラクタの基準ラインサイズを定
める接頭辞オペレータ。
基準ラインのサイズ二基準ライン上に位IN¥る次のキ
ャラクタの基準サイズに関連するサイズ7表わす接頭辞
オペレータ。
次のキャラクタの蟇鴻サイズに関連するサイズ勿表わ″
f接頭辞オペレータ。
フォント:どのようなキャラクタ及び・/ンボルのフォ
ントヲ用いるかを定める接頭辞オペレータ。
イタリック・オン:次のキャラクタがイタリック形式と
することt表わ’f接頭辞オペレータ。
イタリック・オフ:前のイタリック・オンのオペレータ
について処理金し、かつ次のキャラクタがイタリック形
式ではないことを表わす接尾辞オペレータ。
基礎二次のユニット’を基1電シンボル内に取り囲むこ
とを表わす接頭辞オペレータ。
オーバーパー又はアンダーパー付きであること忙表わす
接頭辞オペレータ。
グーバー・オペレータに対するメーミネータとして機能
する接尾辞オペレータ。
符キャラクタ又はマークを引っ込めキャラクタ又はユニ
ットの上又は下に配置することを表わすインフィックス
オペレータ。
オーバーストライク二区別的発音符号オペレータと同じ
ようなオペレータであるが、他のキャラクタ又はシンボ
ルと共に関連するl又は復敷のキャラクタがそれらヶ貫
通して、又はそれらの上に配置?iされて表示されるこ
とτ表わすオペレータ。
オーバーストライクOオペレータは1又は複数の基礎キ
ャラクタにオーバーストライクを付けたキャラクタ又は
シンボルを定めるパラメータにより得られる。
り又はユニットが基壇キャラクタ又はユニットであるこ
と、及び次のキャラクタ、ユニット又はストリングはス
クリプトであり、基晟キャラクタ又はユニットに関する
スクリプト位置を占めることを表わすインフィックスオ
ペレータ。a記スクリプト位置は特定のスクリプト・オ
ペレータにより決定される。
られるインフィックスオペレータ。パラメータ値nは現
在基準ラインがそれぞれ原始基準ラインに平行な線の1
グループに分割されることを表わし。
この平行な糎の1グループは1つ始基準ラインを中心と
し、1以上のキャラクタが各分割線上に現れる。この実
施例の場合のパラメータ値nは2〜10の範囲にあり、
分割線を中間に配置した2Iwへのライン分割を表わ丁
ように予約したnm l f含む・ヌル:存在していな
いキャラクタ、即ちス堅−スを示すときに使用する接頭
辞オペレータ。ヌルは、例えば次のスクリプト・オペレ
ータのための基卑キャラクタとして用いられ、スクリプ
ト−オペレータのための垂直基準キャラクタとすること
ができる。
タブ、10進タブ及びセンタ:共にフォーマット化をす
る制御キャラクタ、及びユニット?切り離す際のオペレ
ータである。
付記プロップ:次のキャラクタ、ストリング又はユニッ
トを既に存在するキャラクタ、ストリング又はユニット
に付記する点を表わすときに用いるインフィックスオペ
レータ。付記プロップは例えば編集するテキストの現在
の終端に常に現れ、存在するテキストのオーバーストラ
イク、挿入、削除、コ♂−1又は移動のような現在の編
集処理を実行中であることを示j編集カーソルから区別
される。
この発明の詳細な説明で用いる一定の用語及び櫃念を説
明したので、この発明に関連するテキスト・エディター
の総合的な構造及びオペレータの説明により説明を続け
よう。
第1川を参照すると、情報処理装置、即ちこの発明に関
連するコンビエータ・システムのブロック図が示されて
いる。この情報処理装置はメモリ(MEM)110  
’に含み、これにはプログラムのあるものにより動作す
るシステム及びデータ構造の処理を管理するプログラム
A=存在する。中央処理装置11 (CpLJ ) 1
12 はプログラムに応答−シー(システムの処理f?
:実行し、一方キーボード(KB)114はキーの打ち
込みによるユーザー人力のためVCKB114が備えら
れ、表示装置116はユーザーに対する処埋金可視的に
表示するために備えられている。このような情報処理装
置の例には、米国マサチューセノツ州ローウェルのワン
グ・プロフェショナル・コンピュータ、IBM  パー
ンナル・コンピュータ、及びユーザ一端末装置全接続し
たコンピュータを含み、他のコンビエータ会社から入手
可能な同じような多くの他のコンビエータ・システムカ
含マれている。
本発明に従つ装置は、本エディターに操作させようと意
図している形式のテキストに生起するキャラクタ及び7
ンボルの性質のfcめに、ビット・マツプ表示装置によ
り操作することを意図しており、ここではそのスクリー
ンのピクセル毎のデータを情報処理・装置のメモリ空間
に記憶して表示?する。この機能はスクリーン・メモリ
(SM)118により得られるものであり、SM 11
8は情報処理装置のMEM  110 、又は別のメモ
リの直接アドレス指定可能なメモリ空間に設けられ、ド
キュメントの現在のに一ジを含む1以上のスクリーンの
ビット・マツプ化された5M118を記憶する。81図
に示すように、SI  120は以下で説明するテキス
ト・エディター及び関連のプログラムによってSM  
118にフtぎ込まれ、また5M118から表示装置4
116に読み出すことにより、ユーザーに対して現在の
スクリーンの可視的な表示でする。このテキスト・エデ
ィターは、また複数のベクトル端末装置、即ちビット・
マツプ化した表示を発生しない代わシに表示装置上に線
セグメントで描く複数の端末装置、により動作させるこ
とができることに注意すべきである。
第1図に示すプログラム及びデータ構造を参照すると、
これらのプログラムのあるものは、当該の技術分野にお
いてよく仰られており、このテキスト・エディターを説
明する際に詳細に説明する必要はない。例えば、オペレ
ーション・システム(O3)122は1本質的に当該の
技術分野においてよ(知られているように、本情報処理
装置における他のオペレーン1ン・システムの処理全指
令し、情理し、調整する。同様にKB  114に関連
するキーボード9・ハンドラー(KBH)124  は
当該の技術分野においてよ(知られており、KB  1
14からキーストロークによるコード人力tこのテキス
ト・エディターにバし、史にテキスト・エディターはキ
ーストロークのコートゞに応答してニブイト機能紫央行
する。第1図に示す情報処理装置の残りの埜素は1本発
明と直接関連しており、以下で更に詳細に説明する。
このテキスト会エディターの構造及び処理は、テキスト
及び可視的な表示、即ちト9キュメント勿表わすスクリ
ーンケ含むドキュメント作成するためのテキスト・エデ
ィターが生成し、かつ用いるデータ構造及び機構の総合
的な説明及び検討をすることにより、容易に理解される
。テキスト舎エディターのデータ構造及びこれらに関連
する機構は、以下で説明するように、2グループのデー
タ構造及び関連するエディター@構からなり、これらは
ドキュメントに直接関連し、またドキュメントについて
、かつこれにより動作するエディター機構により用いら
れる。これらのデータ構造は、前記の順序で以下で説明
されるが、以下においては、それぞれト9キュメントの
データ構造及び機構と、エディター処理データ構造及び
機構とそれぞれ呼ぶことにする。
(第1図) (81図) 先ず、ドキュメントに直接関連するデータ構造を説明す
ると、@に述べたように、ワード処理形式のテキスト会
エディターにより最も容易にかつ効率的に生成され、編
集されるデータ構造は、例えば科学的なテキストのグラ
フィック形式のシンボル及びキャラクタを最もよく表わ
すようにされたデータ構造と両立しない。このテキスト
・エディターは、機能的にワード処理形式のドキュメン
ト作成及び編集処理が得られ、かつ複数の相互接続と、
テキスト・エディターとによって複数の対話的なデータ
構造全生成し、かつ動作させることにより、科学的かつ
技術的なテキストのキャラクタ及びシンボルと、他の言
語によるこれらのものとに滴したグラフインク形式の可
視的な表示が得られる。
スクリーン・イメージ120のようなこのテキスト・エ
ディターの動作に起因する他のデータ構造があるが、−
緒にテキスト・ドキュメントヲ定義し、かつドキュメン
ト輪郭し、編集し、かつ表示するようにテキスト・エデ
ィターにより用いられる3つの基本的なデータ構造があ
り、更にキャラクタ及びシンボルそれ自体を定義する第
4の基本的なデータ構造がある。更に、上で説明し、か
つ以下でより詳細に説明するように、ドキュメントと直
接ではなく、テキスト・エディターの処理と関連される
グループのデータ構造もある。
テキストそれ自身は、以下で説明するように、ドキュメ
ント輪郭(DP)126と、符号化バッファ(EB)1
28と、結合ユニット構造(LUS)130とからなる
。以下で説明するように、 DP  I26は全体とし
てドキュメントの若干の特徴を概要的に定義する情報、
スクリーン・イメージ120に関係するある情報、及び
ドキュメントt−生成し、編集する際にテキスト・エデ
ィターが用いる他の情報金言むO EB  128は、これも以下で説明するように、若干
の点で、ワード9処理ビキエメント−ファイルを有する
キャラクタ・ストリングと同じようなキャラクタ・コー
ド、オペレータ・コード及び終端コードのストリングと
して「符号化された」形式の式を有するコード全記憶す
る。第1図に示すように、EB 128は全体として式
に関連するある=的な情報金言む符号化バッファ・ヘッ
ダ(EBH)132ヲ備えている。式又は表現金有する
キャラクタ・コード、オペレータ・コード及び終端コー
ドのストリングは、符号化ユニット(EU)134のス
トリングとしてEB  128に存在するものとして示
されている。ただし、各EU  134は1ユニットヲ
定義するキャラクタ、オペレータ及び終端コートゞを含
む。EB  128におけるEU  134の表示は、
テキスト・エディターのデータ構造及び処理の以下の説
明を理解する上での便宜と、概念的な助けとを意図して
いることを理解すべきである。EU134は、EB  
128に示し、テキスト・エディターの以下の説明にお
いて引用されるが、EB  128に存在するので、明
示的ではなく、暗黙的なデータ構造である。即ち、以上
で説明したように、式又は表示を定義するキャラクタ・
コード、オペレータ・コード及び終端コードのストリン
グは、1つのコード・ストリングとしてEB  128
に存在し、説明したEU 134に明確に分割されるも
のではない。
以下で説明するように、このストリングのEB128に
存在するコードは、実際にはユニット、即ちEU  1
34’に定義している。しかし、EU  134へこの
ストリングを定義することは、ストリングに存在する特
定のコードと、ストリングにおけるこれらの7−ケンス
とにより決定される。
第1図に示すように、EU  134のストリングにお
ける最後の要素即ちコードは、付記プロップ(Appe
na Blob)オホレータ・コ−1’に含むノテ。
ストリングにおける最後のユニットが最後の線にあると
きは、EB  128において符号化ユニットの前に存
在するストリングに付記されるものであることを表示す
る。
よ(知られているように、 h:B  128に存在す
るデータ構造の形式は、ワード処理形式の編集処理によ
(適合しているが、このテキスト・エディターが例えば
科学的なテキスト?処理することを意図しているグラフ
ィック形式のシンボル及びテキストのキャラクタの可視
的な表示全生成するのには余り適当ではない。LUS 
 130はEB 128に関連させられ、かつ結合され
ており、これにはEB128に符号化された形式で記憶
されている各ユニットについてユニット構造(US )
 136が含まれ、US  136にはEB  128
に記憶されている関連されたユニットの可視的な表示を
形式するのに必要な情報が含まれる。US  136に
はl  128に記憶されている関連のユニットの可視
的な表示全形成するために必要な情報が含まれている。
第1図に示すように、LUS  13QのUS  13
6はストリングとしてではな(、ユニツ)Illi造ポ
インタ(USP)138により結合される固有のデータ
構造として記憶されると共に、各US  136は1以
上のUSP  138によりそれに関連するUS  1
36に結合されている。例えば、特定のユニットは、以
上で説明したように、スーパースクリプト・ユニット?
表わす他のユニットと、また1キヤラクタでもよい前後
のユニットと関連させることができる。従って、特定の
ユニットに対するLUS  130は、以下で説明する
ように、それに関連するスーパースクリプトと、それぞ
れ関連するユニットに対して1つのUSP  133ポ
インタにより前後のキャラクタとに結合される。
LUS  130の各US  136は、更にEB  
128に存在するサブストリングのコードに結合されて
おり、EB  128は1組のポインタにより対応する
EU  134を有し、複数組のポインタは符号化バッ
ファポインタ(EBH)140  として第1図に示さ
れているUS136ケそれらに対応するEU  134
に結合させている。
最後に、テキスト・エディターはキーボード・フォント
(KF’)142を有し、KF’  142はキャラク
タ及び/ンボルの定義を含む1以上のフォント・テーブ
ル(F’T)144合有イム。例えば、この実施例のテ
キスト−エディターでは、数学、物理、ASCII、化
学の記号や文字、及びギリ/ヤ文字ケ含むキャラクタ・
セットについて1以上のフォントが存在可能である。ま
たEU  134に現れる各キャラクタ・コートゞは、
2バイト・ワードからなり、その第1バイトはキャラク
タ又はシンボルが存在する特定のFT144に表わすイ
ンデックスであり、第2バイトはそのフォント内の特定
のキャラクタ又はシンボルを表わすF’T  144に
対するオフセットである。
生成され、テキスト・エディターにより用いられるデー
タ構造の概要を説明したので、テキスト・エディター装
置の動作の概要を以下で説明しよう。
第1図に示すように、キー・ストロークは、式のキャラ
クタ及びシンボル全定義するキーストロークと、コマン
ド9、即ち式の生成及び編集を制御するコマンドとは、
KB  114及びKBH124金介してユーザにより
入力され、二/コーディング・テキスト・エディター(
EK)146に供給される。
EE  146は、現在の表現全定義するキャラクタ□
コード、シンボル・コート、オペレータ・コード及び終
端コードのストリングを現在の表現を定めるキャラクタ
・コード、オ纜し−タ憂コード及び終端コードのストリ
ングに、また必要ならばIEBH132に、必要とする
パラメータと共に書き込み、テキストの生成又は編集の
必要に応じてこれらのコード及びこれらの構造を処理又
は編集する。必要ならば、El!E  146もDP 
 I26に存在するデータ全生成し、修飾するために用
いられる。
以上で説明したように、符号化された形式の弐を定める
キャラクタ・コード、シンボル・コード、オ纜レータ・
コード及び終端コードは、符号化ユニット(EU)13
4  を定めるコード及びそれらのシーケンスと共に、
コード・ストリングとしてEB128に記憶される。た
だし、各EU  134は1ユニッH一定めるキャラク
タ・コード、オ纜し−タ番コード及び終端コードのスト
リングからなるものと見做すことができる。これも以上
で説明したように、コード・ストリングにおける最終コ
ートゞは、付加的なユニットを、前にEB  128に
存在したコード・ストリングに付記するのか7表わすよ
うに、ページの終端を表わすときには、付記プロップ・
オペレータのニー)−”e含めてもよく、又は線の終端
ケ表わしているときは、リターン・コードヲ含めてもよ
い。
以上で説明したように、gB  128に存在し、かつ
「符号化された」形式の等式全定義するデータ構造は、
従来技術においてよ(矧られているワード処理形式の編
集処理に、即ちl)I  132及びDP  126に
存在するデータ構造であるキャラクタ・コードのストリ
ングについて処理するための編集プログラムに、良く適
合している。知られているように、これらの処理には、
例えばス) IJソング対するキャラクタ、オペレータ
、パラメータ及びターミネータコードの付加、ストリン
グ内でのコード、又はコード・ストリングの挿入、削除
、コピー及び移動が含まれる。このような編集処理プロ
グラムは、当該の技術分野において良く知られているも
のであり、例えば米国マサセチェーセノツ州ローウェル
のワング・ラボラトリーズ社から、また他の多くの主要
コンビエータ会社及び多(のソフトウェア会社から入手
可能なワード処理プログラムである。EE  146の
構造及び処理は概して前記プログラムと同じようなもの
であり、以下においては更に詳細に説明はしない。しか
し、EE146のC言語ソース・コードは付記としてこ
の説明に含まれる。
しかし、以上で説明したように、EB  128に記憶
され、符号化された形式の式を表わしているデータ構造
は、このテキスト畳エディターが処理しようとしている
科学的な及び他のテキストのグラフィック形式のストリ
ング及びキャラクタを可視的に直接表示をするのによ(
適している。従って、また以上で説明したように、LU
S  130 に存在し、EB  128のデータ構造
に関連され、かつこれに結合されているデータ構造は、
EB  128に符号化形式で記憶されている各ユニッ
トについて、EB128のEBH132に符号化形式で
記憶されている関連のユニットの可視的な表示を形成す
るのに必要な情報を含むユニット構造(US)136’
&含む。
これらのUS  136は、DP  I26に存在する
ドキュメント情報、及びKF  142のl’T  1
44に存在するキャラクタ/シンボル情報2支援により
、キャラクタ、オペレータ、パラメータ及びターミネー
タコードのストリングとしてEB  128に存在する
符号化された基本的な式表示からパーサ−148により
生成される。若干の例では、以下で説明″f、bように
、仮想インタフェース(VD工)150  による処理
においてノξ−サー148が支援される。
以上で説明したように、DP  I26は全体としてこ
のドキュメントに関連する情報金倉み、EBB132t
−含むEB 128及びEU  134は式及びその複
数のユニットに説明する基本的な符号化情報を含み、ま
たFT  144は複数のユニットに現れるキャラクタ
及びシンボルを識別する情報を含む。第1図に示し、ま
た更に以下で説明するように、パーサ−148はEE 
 146の処理に応答してそれぞれ指示したデータ・パ
スを介してDP  I26、EB  128及びF’T
  144からこの情報を読み出し、対応するUS13
6’t”発生し、指示したデータ・バス金倉してLUS
  130にUS  136を書き込む。
以上に関連して、パーサ−148は一時に17−ドを、
かつそのコード・ストリングにこれら勿記憶するシーケ
ンスにより、EB  12Bに存在するニーV・ストリ
ングからキャラクタ、オペレータ。
パラメータ及びターミネータコードを読み吊すことに注
意すべきであh0/e;サー148は、EB128から
この式、又は表現全定義するコードを読み出すに従い、
これらの内容及び文脈により決定されるコードについて
処理金し、EB  128の1134として内在的に表
わされた符号化ユニットにニー)−#全文法的に構文解
析するので、EB 128にEU  134として表わ
される符号化ユニットはこの処理において明示データ構
造となる。
FT  144に存在するキャラクタ及びシンボル情報
は、EB  128から読み出されたストリングに現れ
るキャラクタ・コード及びシンボル・コードに応答して
、この処理中にパ夢す−148によりFT144から読
み出される。即ち1以上で説明したように、FJU  
134に現れる各キャラクタ・コードは2つのバイトか
らなり、その第1バイトはキャラクタ又はシンボルが存
在する特定のF’Tl44に示すインデックスであり、
その第2バイトはそのフォント内の特定のキャラクタ又
はシンボルを示すFT  144へのオフセットである
。パーサ−148はこれらのインデックスを供給し、第
1図に示した及びシンボル情報を受は取る。
以下で説明するように、ば−ジ上の式のキャラクタ及び
シンボルの物理的な組織を定めるために必要な情報の大
多数は、DP  I26及びEB  128に、特にE
BH132に含まれている。例えば、通常、かつ初期に
おいて、キャラクタ及びシンボルは標準的な長さ及び形
状のもの、即ち固定された大きさの矩形内に一致するも
のと仮定され、ラインの間隔及びピッチ、即ちキャラク
タ及びシンボルの水平間隔はDP  I26及びEBH
132に存在する情報により識別される。しかし、キャ
ラクタ及びシンボルはこれらの標準的な大きさと異なる
ようにされる。例えば、スーパースクリプトに現れるキ
ャラクタ又はシンボルは、基本的なキャラクタ又はシン
ボル、又は1キヤラクタ又はシンボルのものより短くさ
れ、又はキャラクタ又はシンボルのグループは標準的な
ものより大きくされる。これらの場合は、その結果のユ
ニットの寸法、及びこれらに現れるキャラクタ及びシン
ボル全計算する必要がある。
これらの場合に、パーサ−148の処理はVD150に
存在する一定のルーチンにより支援される。
当該の技術分野において良く知られているように、VD
I 150は本質的にグラフィック形式のイメージ7表
わす種々のコマンド及びコード全入力として受は取る1
組のグラフィック・ルーチンであり、実行している装置
の特性に依存することな(、可視的に表示可能な対応す
るグラフ表示を発生する。
この場合に、非標準的な大きさのキャラクタ及びストI
Jングに属するEB  128及びF’T 144の情
報は、標準的な大きさからの変化に関するEB  12
8の情報と共に、・ξ次す−148によりVDI  1
50のルーチンに渡される。次に実際において、VD工
150のルーチンは、非標準的な大きさのキャラクタ及
びシンボルのグラフ表示を発生し、かつ合成したキャラ
クタ及びシンボルの大きさ?「測定」するために用いら
れる。次に、この大きさの情報は指示されたデータ・パ
スを介してパーサ−148に戻され、LUS  130
に書き込む対応のUS  136を発生するためにパー
サ−148により用いられる。
第1図に示すように、)ξ−サー148及びV[工15
0は最終形式のドキュメント’に表わす出力、例えばS
M  118のスクリーン・イメージ120に記憶され
た可視的な表示全発生するために用いられる。
この処理において、パーサ−148はUS136’に結
合するUSP  138のポインタにより決定されるシ
ーケンスにより、LUS  13Qからユニットの物理
的、可視的な表示を説明するUS136e読み出す。前
記ユニットのキャラクタ、オペレータ、ノモラメータ及
びターミネータコード全含む対応した符号化ストリング
は、各US  136全EU  134の対応するユニ
ット・ストリングに符合されるEBP140のポインタ
を用いることにより、EB  128のEU  134
から並列に読み出される。一般的なドキュメント及び式
の情報はパーサ−148によりDP126及びgBH1
32から読み出され、またキャラクタ及び/ンボル情報
は以上で説明したようにしてF’T  144から読み
出される。パーサ−148によりパーサ−148に読み
込まれたこれらの入力は、この式及びページの可視的な
表示ケ発生するために必要な全てのコマンド、コード及
び情報全本質的に有し、パiサー148によりVDI 
 150に渡される。また、VDI  150 もこの
式及びページの可視的な表示を表わす種々のコマンド、
コード及び情報音入力として受取る1組のグラフインク
・ルーチンを含み、可視的な表示が可能な、即ちCRT
スクリーン上に表示、又はページ上に印刷することがで
きる対応のグラフ表示全発生する。更に、MIT工15
0及びその特徴及び処理は当該の技術分野において良く
知られており、グラフィック・イメー)2発生するため
にコンピュータ・システムで広(採用されているので、
ここでは更に詳細に説明する必要はない。
第1図に示すように、VDI 150の出力信号はSM
  118に渡され、この式及びページの可視的な表示
として表示装置116に表示可能なスクリーン・イメー
ジ120として記憶される。当該の技術分野において良
く知られているように、この出力もプリンタに渡され、
ページ上に印刷した形式でイメージ全表示する。
ページと、式又は表現とはテキスト・エディターは、テ
キスト・エディターにより、即ちEE  146により
現在処理されており、パーサ−148はユーザがこの式
に進み、編集するに従い、変化tすることに注意すべき
である。このために以上で説明したよ5に、パ慶す−1
48は、以上で説明した形式で、かつユーザーの処理に
よる要求により、新しいUS  136に発生し、又は
存在するUS  136’に修飾することにより、EE
  146の処理と、存在するキャラクタ、シンボル及
びオペレータの修飾とに応答する。パーサ−148も現
在のページに必要なだけDP  □26、EB  12
8、LUS  130及びF’T144の内容iVD工
 150に読み出し、かつユーザにより式を生成して編
集するので、スクリーン・イメージ120はこれらの処
理に反映するようにユーザの処理中にVDI  150
により更新される。しかし、若干の編集処理において、
存在する表現及び式に対する編集変更は対応するUS 
 136の再生を必要としない。即ち、これらのページ
上の表示の物理的な位置及び大きさに影[?与えること
はない。このような変化の例は1つのキャラクタを他の
キャラクタに、例えば表示rAJtrBJの表現に置換
することである。ただし、新しいキャラクタはもとのキ
ャラクタと同一の大きさ、フォント、スタイル等のもの
である。このような場合には、パーサ−148により直
接EU  134からVD工150に渡され、VDI 
 150は表示可能な表現データにおいて対応する変更
を行なう。
以上で説明したように、EE  146がEB  12
8に記憶されているキャラクタ、オペレータ及びターミ
ネータコードのストリングについて編集処理を実行して
いるときは、El:E  146がLUS  130の
US  136に存在するある情報を用いることに注意
すべきである。EE 146は、例えばコードについて
処理するために、対応するLUS  130のUS 1
36からのキャラクタ位置情報金柑いてl  128の
コード・ストリングにおける特定のキャラクタ・コード
を配置させることができる。
生成された。又は編集されたドキュメントは、編集セツ
ションの終了時に、DP  126及びEB128の内
容、多分1以上のF工 144の情報全記憶することに
より、後の使用又は編集のために保持可能であり、ドキ
ュメントヲ定義する他の全ての情報は以上で説明したよ
うに、これらのデータ構造から生成される。しかし、他
の形式にドキエメント’6変換すること、例えば特定の
フォーマットで記憶して他のシステムと通信、又はワー
ド処理ト9キエメントに関連させることが好ましい。こ
の理由から、テキスト・エディターは更にこの変換を実
行する手段を含むことができる。
これらの手段は、第1図にト9キュメント・ファイルゼ
ネレータ(DF’G)152  と、変換の結果、例え
ばドキュメント・ファイル(DF)154トシてワード
処理ドキュメントに関連するために適当なデータ構造を
記憶する手段とにより、示されている。以上で説明した
ように、VDI  150は最終的な形式のテキスト1
1ページ即ちトゞキエメントを定義するために必要な全
てのコマンド、コード及び情報をパーサ−148から受
は取り、これらの入力について処理をして、このような
に−ジ又はドキュメントの最終的な形式を表わす出力を
発生する。以上で説明したVl)工 150の可視的な
表示出力に加えて、VDI 150はDGF’  15
2に出力するものとして第1図に示されており、DFG
  152は当該の技術分野において良く知られている
方法により、VDI 150のドキュメント記述出力を
受は取り、このデータ構造を所望の最終的なデータ構造
に変換し、これを最終的な使用のためにDF154に記
憶する。DGF’  152 としてこのようなルーチ
ンの処理は、良(知られ、当該の技術分野において通常
のものであるので、これ以上詳細に説明することを要し
ない。
(第1図) 以上で説明したように、エディター処理のデータ構造及
びこれらに関連する機構は、2つのグループと、ドキュ
メントの定義と直接関連されるものと、通常かつデータ
構造についての処理においてテキスト・エディターの操
作と関連するものとからなるものと見做すことができる
。データ構造、及びドキエメントヲ生成し、定義するこ
とに直接関連する関連機構、即ちEE 146及びパル
サー148と共に、EB  128及びLUS  13
0を説明したので、エディター処理データ構造及び機構
、即ち全般的にテキスト・エディターと、トゝキュメン
トに基づいてテキスト・エディターの処理とに関連され
たものを以下に説明しよう。
第1図に示すように、このテキスト0エディタ−は、E
E  146及びパーサ−148に加えて、このテキス
ト・エディターの総合的な処理を管理し、特にテキスト
作成及び編集処理を制御するエディター・ルーチン(E
R)148の関連グループを含む。
前記ER156はDPI26、ED 128、USP 
 138及びパーサ−148からのデータ入力を受取る
ので、これらの要素全制御し、これらにデータを出力す
る。
ER156にはエディター・データ構造(EDS)15
8が関連しておシ、これには(SSS)160、ライン
・データ構造(LDS)162) スクリーン・データ
構造(SDS)164  及び挿入/隠し込み(Ins
ert/H1dθ)データ構造(I HDS ) 16
6が含まれる。以下で詳細に説明するように、sss 
 160はテキスト・エディターの現在の処理状態に関
連する情報を含み、現在の処理又は複数の処理を実行す
る際にテキスト・エディターによシ用いられる。続いて
、LDS  162は処理しているそのラインに関連す
る情報を含み、一方SDS  164は現在スクリーン
に関連する情報を含む。最後に、工HDS  166は
、以下で更に詳細に説明する挿入及び隠し込み編集処理
に関する情報を含む。
Ef(156には、処理の実行が可能なテキスト開始点
のポインタを有する編集h■能テキスト・ポインタの開
始(BOTP)168と、そのカーソル位置のポインタ
を含むカーソルφポインタ(CP)170 とが関連し
ている。以下で説明するように、カーソルは、処理の開
始又は実行が可能なテキスト内の位置を指示する。カー
ソル及びカーソル位置′は、例えばテキストを挿入し、
又は削除、移動又はコピーするテキストの始端及び終端
点、移動処理又は複写処理においてテキスト開始点又は
複写するポイントを指示するために用いられる。
この発明の総合的な構造及びテキスト・エディターの処
理を説明したので、若干のデータ構造、例えばEB  
128及びUS  136、及びパーサ−148を含む
当該テキスト・エディターの若干の部分を更に以下で詳
細に説明する。
以下、更に詳細にこのテキスト・エディターの若干のド
キュメント・データ構造、例えばDP126と、EBB
  132及びEU  134を含むEB  128と
、LUS  130のUS  136とを説明しよう。
これらのデータ構造を前記順序で説明し、かつ以下の説
明の理解を助けとなる図を示す。
図) を含む。第2図を参照すると、DP  126のデータ
・フィールドがブロックにより示されており、限定する
ことな(、含まれる。
傾斜角202一式に現れるキャラクタ及びシンボルの垂
直方向からの傾斜を角度で定めるフィールド; ルの標準サイズを定義されたサイズの百分率で定めるフ
ィールド9; する前にスクリプトサイズ204により定めた係数によ
りサイズを変更するスクリプトのレベル数を定めるフィ
ールビ; 開始位置207−その基本キャラクタに相対するスクリ
プトの位置を定めるフィールド;その実行において、ス
クリプトを基本キャラクタの上、又は基本キャラクタの
基本ラインの基草ライン上の基本キャラクタの高さの2
/3 に配置可能である。
きにキャラクタが大きさを変更するステップ数?定める
フィールド; 及びシンボルをプロポーショナルに配列するのか。
例えば右揃えのテキストにするのかを示すフラグ分含む
フィールド; ピッチ212−テキストにおけるキャラクタ及びシンボ
ルのピッチ、 25.4mm当りのキャラクタ又はシン
ボル数を定めるフィールド9; 表示倍率214一対応する印刷ページに相対し、表示さ
れたスクリーン・イメージ120の倍率を定めるフィー
ルド; キャラクタ及びシンボルのフォント’*に別するフィー
ルド; キーボード1表示218−3M  11gはキーのイメ
ージに示されたキャラクタ及びシンボルを用いる際に、
キーボードの可視的な表示(フォント)勿含むか否かを
示すフィールド1゜ フレーム・ボックス220−ユニットの区切りボックス
を表示すべきか否かt示すフィールド;以上で説明した
ように、EB  128は全体として式に関する情報を
含む符号化バッファ・ヘッダ(EHB)132  と、
符号化ユニット(EU)134 とを含み、各ECU 
 134はキャラクタ−コード、オペレータ・コード及
び一つのユニットヲ定義するターミネータコードのスト
リングを含む。
(@3図) 第3図を参照すると、EBH132及びそのデーターフ
ィールドゞのブロック表示が示されている。
この実施例では、11−1 132は以下のものを限定
することな(、含むことができる。
基本サイズ302−複数の点におけるキャラクタ及びシ
ンボルの基本サイズを定めるフィールド;フォント30
4一式に用いられるキャラクタ及びシンボルの一次フォ
ントを定めるフィールド;フォーマット・ライン30G
一式が現れる。即ちタブの位置が戻るイータに対するフ
ォーマット、及び同様のフォーマットの制御キャラクタ
を含むフィールド1; 以上で説明したように、EB  128は符号化ユニッ
) (EU) 134 t−明確に定めるキャラクタ、
オペレータ、パラメータ及びターミネータコートゞのス
トリングを含む。ただし、各EU  134は、一つの
ユニットを一緒に定めるキャラクタ、シンボル、パラメ
ータ及びターミネータコードからなるものとして見做す
ことができる。符号化したユニットを定めるキャラクタ
、パラメータ及びターミネータコードがこれらのサブ・
ストリングに存在するシーケンスと共に、コードがEB
  12Bに存在するシーケンスは、式の基本形式を定
める。
従って、特定の時点におけるEB  128の特定の内
容は、生成されている又は編集されている特定の式によ
り決定される。このために、ここで明確なEB128、
即ち符号化ユニットのデータ構造は、第4A図〜第4E
図に示されている式の例を用いることにより最も良(示
され、以下で説明される。
第4A図〜第4E図に示される各側には、スクリーン・
イメージ120、又は印刷ページ上に現れるかも知れな
い例の式の可視的な表示と、式の可視的な表示の下のE
B  128に符号化形式で現れるかも知れない式の表
示を含む。
以下の説明において1次の規約を用いることにより、E
B128に現れる際に、第4A図〜第4E図に示す式に
それぞれに対応するキャラクタ、シンボル、パラメータ
及びターミネータコードのストリングが得られる。
各ニーrがキャラクタ、シンボル、パラメータ又はター
ミネータコードであっても、各コードを括弧内に囲み、
コードの範囲を定める。
各組の括弧内において: キャラクタ・コード又はシンボル・コードe−+ヤラク
タ又はシンボルそのもので表わす。
各オペレータを0p−XXXにより表わす。ただし、O
pはオペレータ、 XXXは特定のオペレータを表わす
第4A図〜第4E図にEU  134を示すために使用
するオペレータは、既に定められており、これらの実施
例に使用したオペレータには下記のものが含まれる。
スーツで一スクリプトーop−sup日Cr;ライン分
割−op−presupscr;ベース上でリサイズ−
op−resizonbase ;サブ・スクリプト−
op−subscr;中央リサイズ−op−resiz
oncntr。
オペレータに関連したパラメータはそれ自身を括弧によ
り囲み、前のオペレータに関連され、p−X形式を取る
。ただし、pはパラメータの存在を示し、Xはパラメー
タの値を示す。
この実施例において用いられる明示ターミネータの1形
式がある。このターミネータ2PRETにより表わす。
第4A図〜第4E図に示す例の式を参照すると、1キヤ
ラクタを有する式、即ちXにスーパースクリプト2を付
けた”X“の式を示す。第4A図における4式の可視的
な表示の直ぐ下に、式4Aの符号化形式に対応したEB
  128のストリングを示す。
この実施例のストリングを右から左に読むと、〔X)は
式の基準ラインに現れるキャラクタである。
(op−supscr)は上付き文字のローカル基準ラ
インに現れるキャラクタであシ、(PRET)はスーパ
ースクリプトを終結するターミネータである。
第4B図を参照すると、第4B図は簡単なライン分割オ
ペレータを用い、分数x/y  ’jc発生する場合を
示す。4B式の符号化形式に対応することになるEli
B  128のストリングは、第4B図における4B式
の可視的な表示の直ぐ下に示されている。
このストリングを再び右から左に読むと、(op−1n
sp1t〕はライン分割オペレータを示す。
即ち、この基準ラインは原始基準ラインを中心とし、か
つこれに平行な2以上のラインに分割されるものである
。次の(p−1:]はライン分割オペレータに関連する
パラメータであり、ライン分割が中間の分数ラインによ
り2ラインにするように前に定めた特定のライン分割処
理を示す。〔x〕はライン分割の最上部のラインに存在
するキャラクタであり、ライン分割の当該ラインが次の
[PRETIにより終結される。最初の(PRETI 
に続<〔y〕はライン分割の第2のラインに存在するキ
ャラクタであり、次の(PRET)はこのライン分割の
ラインを終結する。この第2の〔PRETI の生起も
既に説明したように、ライン分割オペレータを終結させ
る。
第4C図を参照すると、第4C図は1キヤラクタのキャ
ラクタ・ストリングを示す。I a lは”X7Z’の
スーパースクリプトを有し、ここでスーパースクリプト
におけるキャラクタのサイズを基準キャラクタより小さ
くしである。第4C図に示される式(以下、40式と称
する)の符号化形式に対応すると思われるEB  12
Bは、第4C図における40式の可視的な表示の直ぐ下
に示されている。
このストリングを左から右に再び読むと、〔1〕、〔2
〕及び〔3〕は、勿論、スーパースクリプトを付記した
laW  の前のキャラクタである。3つのキャラクタ
〔l、2及び3〕は全体で1つのユニットをなすことに
注意すべきである。スーパースクリプトが”alに付記
されていることは、〔a〕に続(スーパースクリプトの
オペレータ・コード(op−pre日upscr)  
により示されている。しかし、スーパースクリプトに現
れるキャラクタのサイズを基準ラインに現れる1、2.
3、alb及びCより小さくするので、スーパースクリ
プト・キャラクタのキャラクタ・コート’(x〕、〔y
〕 及び〔2〕は、基準ライン処理上のりサイズのため
にオペレータ及びパラメータコード、即ち(Op−re
8iZOnt)a813)及び(p−−1:]を前置さ
せている。ここで、パラメータ値−1は縮小が基準寸法
からのキャラクタサイズであることを示す。
スーパースクリプトの後で、通常、即ち基準キャラクタ
サイズに復帰させるので、スーパースクリプトのキャラ
クタ・コードの前の基準オペレータに基づくりサイズは
、スーパースクリプト・キャラクタの寸法を減少させる
ものであり、基準オペレータ上で別のりサイズにより終
結される。この別のりサイズは、スーパースクリプト・
キャラクタに相対する次のキャラクタを拡大、即ち次の
キャラクタを基準サイズに復帰させるものである。
このターミネータは、基準オペレータ 1:on−resizonbase)上の第2のりサイ
ズであり、+1の値によるパラメータ[:p−+1)’
fc有する。
第4D図を参照すると、一つの基準キャラクタを有する
式(以下、第4D式と称する)の例が示されている。こ
の基準キャラクタには一つのスーパースクリプトと、一
つのサブスクリプトが付加されていると共に、更にこの
スーパースクリプトは一つのサブスクリプl−i有する
。第4D式の符号化形成に対応することになるEB  
128のストリングは第4図における第4D式の可視的
な表示の直ぐ下に示されている。
このストリングを左から右へ読むと、〔A〕は勿論基本
キャラクタであり、次のスーパースクリプトオペレータ
〔op−日up8Cr)は基本キャラクタに付加された
スーパースクリプトである。最初のスーパースクリプト
・オペレータに続く最初の〔1〕は基準キャラクタIA
Iに付加されたスーパースクリプトに現れるキャラクタ
であり、その直ぐ後のターミネータ(PRFJT)はこ
のサブスクリプトを終結する。最初の[PRET]に続
(サブスクリプト・オペレータ・コート” (op−s
upscr”lは他のオペレータを示す。このサブスク
リプトに対する基準キャラクタになり得る唯一のキャラ
クタ・コードは(A)である。即ち、(A)と最初の(
op−subscr)との間に現れる〔1〕はスーパー
スクリプト・オペレータの一部であり、最初の(PRE
T)Icよシ終結されるので、このサブスクリプト・オ
ペレータに対する基準キャラクタとして得られるものは
ない。
従って、この最初のサブスクリプトはl A lに付加
される。最初のこのサブスクリプトに対するキャラクタ
・ニーK(t:lの直ぐ後には第2のサブスクリプト・
オペレータ・コード、即ち第2の(op−subscr
)が続く。この最初のサブスクリプトは、この第2のサ
ブスクリプトオペレータが生起する前に終結されること
はないので、〔A〕に付加されたサブスクリプトの〔1
〕はこの第2のサブスクリプトに対する基準キャラクタ
とすることができる。従って、第2のサブスクリプトは
第2の〔1〕、即ちサブスクリプト111に付加される
。第2のサブスクリプト・コードにはサブスクリプト1
11、即ち〔x〕に対するサブスクリプトとして現れる
キャラクタが続き、このキャラクタには2つのサブスク
リプト・オペレータを終結させる2つのターミネータ[
:PRET)及び(PRET)が続(。
最後に、第4E図は第4A図〜第4D図に示す式よりい
くらか複雑な式(以下、第4E式と称する)の例である
。第4E式の要素、及びEB  128に現れるその結
果の第4g式の符号化形式は、以上で説明したものと同
様であシ、従って第4E式を詳細に説明はしない。第4
E式の符号化形式に対応すると思われるBIB  12
8のストリングは、第4E式の可視的な表示の直ぐ下に
示されている。
第4E式の例で注目されるものとして、ユニット@ 2
−y@及びIl+x″について実行されるリサイズ処理
と、これらのユニットにより形成される分数を取り囲む
曲線の括弧がある。12 m、 l及び11 + X 
lのリサイズは、基準でなく、中心回シに実行されると
いうよシも、第2C式の単位’!7+1i’について実
行したものと同一である。これら2つのユニットを形成
する分数の回りに現れる1〔1及び“〕1を実行するこ
とにより、′〔1、及び1〕1は分数を取り囲むための
サイズのものとなる。
以上で説明したように、LUS  130は、EB 1
28に関連され、かつ結合されておシ、EB  128
の符号化形式に記憶されている各ユニットについてユニ
ット構造(US)136が含まれる。UF4 136に
は、EB  128に符号化形式で記憶されている関連
のユニットの可視的な表示を形成するために必要な情報
が含まれている。LUS  130のUS  136は
ストリングとしてではなく、ユニット構造ポインタ(U
SP)13B によシ結合された個々のデータ構造とし
て記憶されると共に、各US  136は1以上のUS
P  13Bを介して関連するUS  136に結合さ
れる。更に、LUS  13Qにおける各US  13
6は関連するFU  134に結合され、即ち1組のポ
インタを介1−て EB  128において対応する符
号化ユニットを一緒に構成しているコードのサブストリ
ングに結合される。これらのポインタは全体で符号化バ
ッファ・ポインタ(EBP″l 140  として表わ
されている。
第5図を参照すると、US  136のデータ・フィー
ルド1が示されている。US  136に含まれている
情報フィールドは、EB  128において対応する符
号化ユニットにtyst36を関連させる情報と、ペー
ジ上の物理的な大きさ及び位置のときに記述子を含むユ
ニットの若干の特性を説明する情報と、関連するユニッ
トのUS  136に対してUS  136を結合する
情報とを含む4つのグループに構築される。
第5図に示すように、構造識別グループ502は、EB
  128において対応するユニット・サブ・ストリン
グにUS  136を結合する複数のポインタと、要素
又は項の番号、即ち対応するサブ・ストリングにおける
コードを識別するフィールドとを含む。
構造識別グループ502に存在するポインタは、前に説
明した当該ユニットに対するEBP  140のポイン
タである。このユニットは、そのEU  134に。
即ち対応する符号化ユニットと共に構成するコードのサ
ブ・ストリングに当該ユニットのUS  136を結合
させるものである。
特性識別グループ504はそのグラフ表示を実行するユ
ニットの一定の特性を識別する。続いて、このグループ
は3つのサブグループ、即ちユニットについての概要情
報を含む概要情報サブグループ506と、ユニットの開
始時の状態に関する情報を含む開始状態サブグループと
、ユニットの終端時の状態に関する情報を含む終結状態
サブグループ510に分割される。
構造フラグ512は親即ち前のユニットからユニットヶ
分離させる理由を識別し、構造ポインタ・グループ51
4は関連する全てのLIS  136に当該US  1
36を結合する@記説明のtlsP  138を含む。
例えば、ユニットが基準キャラクタのとさは、構造ポイ
ンタ・グループ514に存在するUSI’  138の
ポインタは、当該の基準キャラクタに関連するサブスク
リプト及びスーパースクリプi含む関連するユニット又
は多重ライン分割基準ユニットと、次に前後するxニッ
トとを指示することになる。
ここで、更に詳細にUS  136のデータ・フィール
ドを説明すると、これらのデータ・フィールドには限定
的ではないが1次のものを含めることができる。
含むフィールドであり、ユニットを開始する要素、キャ
ラクタ又はオペレータのEB  128における位置を
識別する。
5TARTCHAR518: EB  128へのオフ
セットを含むフィールドであシ、テキスト要素、即ちユ
ニットe開始するキャラクタ又はシンボルの位置を識別
する。
ユニットを有するサプス) IJングの要素数、即ち5
TARTPO8516とサブストリングの終端との間の
キャラクタ及び(又は)シンボル、オペレータ、パラメ
ータ及びターミネータニートゞワードの数を識別するフ
ィールド。
クシランに対し、ページ上の!7絶対位a=含む2フ4
−ルビのグループ。
UNITDIMS  524: 5TARTLOC52
2周りの各方向、即ちユニットの大きさの最大及び最小
!7範囲を含む4フィールドのグループ。
囲、即ちユニット+5TARTLOC522周シの各方
向のユニットに関連する全てのスクリプト、ライン分離
及びバー・ユニットの大きさを含むフィールドの4グル
ープ。
L工Nh:SPL工TNUM528:ユニットがライン
分割を含むときに、ユニットのライン分割におけるライ
ン数を含むフィールド。
L工NESPL工TLOC53o:ユニットにライン分
割があるときに、ライン分割のキャラクタ基準のX7座
標を含むフィールド。
SCR工PTDIIEPTH532:ユニットのキャラ
クタ及びシンボルが基準サイズによるときに、スクリプ
トにおけるレベル降下数を含むフィールド。
識別するフィールド。
このストリングに対するペースリサイズ係数を含むフィ
ールド。
周シの当該ストリングに対する基準リサイズ係数を含む
フィールP0 シンボルがイタリック形式であることを示すフラグを含
むフィールド。
オントを識別するフィールド。
次のストリングに対する基準リサイズ係数を含むフィー
ルド。
ストリングに対する中心周りの基礎リサイズ係数を含む
フィールド。
ENDITAL工C7ラグ548:イタリック形式を終
結するフラグを含むフィールド。
構造フラグ512:親、即ち前のユニットからこのグル
ープを分離する理由を識別する情報を含むフィールP0 構造ポインタ・グループ514 6スクリプト位置に対する論理ポインタを含む6フイー
ルド・グループ。ユニットに関連するスクリプト−ユニ
ットがあるときは、複数のポインタを対応するフィール
ドに組み込む。
り可能な各サプラインにおける各開始ユニットに対する
論理ポインタを含む10フィールドのグループ。対応す
るサプラインがあるときは、特定のフィールドはポイン
タを含み、またライン分割に対応するサプラインがない
ときは、場所保持値を含む。
関連のバー・ユニットがあるときに用いられるバー・ユ
ニットに対する論理ポインタを含むフィール ト9゜ NBI:XTUNIT  566:ラインのシーケンス
における次のユニットに対する論理ポインタを含むフィ
ールド。
PREVUN工T  568: 5インOシーケンスに
おいて前のユニットに対する論理ポインタを含むフィー
ルド9゜ 作成され、かつ編集されるテキストに直接関連するデー
タ構造を説明したが、パーサ−148については以下で
更に詳細に説明する。
以上で説明したように、パーサ−148はEE146の
動作に応答して動作して、 1i:B  128にある
コード・ス) IJングから表現、即ち式の符号化ユニ
ットを定めるキャラクタ、オパヨレータ、パラメータ及
びターミネータ・コードを読み出し、コードを符号化ユ
ニットに構文解析をし、対応するUS  136を構築
する。この点から、また以上で説明したように、ノーサ
ー148〜WE  146に対する応答は、ユーザーが
EE  146にキー人力した特定のコードに依存する
。若干の場合に、パーサ−148は、ユニットにより指
示されたオペレータが基本的にこのユニットを変更しな
いコードから情報を受は取る。例えば、ユニットが単に
一方のキャラクタから他方のキャラクタに変更、又は付
加プロップでキャラクタ・ストリングに1キヤラクタを
加算することができる。この場合に、EE146は単に
キャラクタiVD工 150に渡して表示すると共に、
対応するUS  136のEXTENDEDD工MS5
26のフィールド9を更新し、パルサー148ヲバイパ
スする。RETURN  コード又はPSLUDORE
TURNコードにより示されるニーに、ユニットに対す
る基本的な影響を示すときは、パーサ−148は対応す
るUS  136を対応して更新、即ち更読み込みをし
、更新をした[18 136をVD工 150に渡す。
パーサ−148は、フォーマット又はコマンド・オペレ
ータ・コード、例えばスクリプト・コート#を検出した
ときは、このユニット及びUS  136を終結し、必
要に応じてこのUS  136を更新し、新しいUS 
 136を開始する。
次に、パーサ−148の構造及びオペレータを表わすフ
ローチャートにより、パーサ−148の構造及びオペレ
ータを先ず説明し、次いで第4A図〜第4E図を参照し
て前に説明した例式を用い、実施例とする。
第6A図〜第60図を参照すると、パーサ−148の構
造及びオペレータを表わすフローチャートが示されてい
る。ここに示す要素のために選択したタイトルは、特に
この説明の他の部分との組合わせが当業者にとり自明と
なるように1選択されたものであって、パーサ−148
の説明に必要な図面なしのテキストtt−減少させるこ
とに注意すべきである。
第6A図を先ず参照すると、パーサ−148の概要図が
示されている。ここに示すように、パーサ−148は実
行すべき処理を定めるEE  146の情報を受は取シ
、CASE処理を実行して処理の形式を決定する。次い
で、パーサ−148は、処理が完了するまで処理に従っ
て10通り可能な分岐のうちの一つを取り、パーサ−1
48は出口に行き、EE146から次の入力を待つ。
第6A図に示すように、ここで7!!−サー148によ
り実行される10通り可能な分岐には、次のものが含ま
れる。
(1)[このユニットを描(J 602 ;(2)「こ
のユニットからこのラインの終端まで描(J 604 
; (3)「このユニットからこのラインの終端まで構築す
る/描(j 606 ; (4)「このラインを構築する/描< 4608 ;(
5)「このユニットからスクリーンの終端まで構築する
/描(J 610 ; (6)「このラインからスクリーンの終端まで構築する
/描(J 612 ; (7)[このスクリーンを構築する/描(J 614 
;(8)[次のスクリーンを構築する/描< J 61
6 ;(9)「ビー−・モードにより構築する/描く」
(注;これは、スクリーン上に可視的な表示が制御及び
編集コードなしで、即ち表現としてば一部上に印刷され
て現れるであろうときのモードである。) 00)「ファイルに対して全ば一部を構築し及び(又は
)出力する」620゜ これらの各分岐について第6図の残りのいくつかを参照
じてそれぞれ説明し1次いでこれらの分岐に現れるいく
つかのルーチンを更に詳細に説明しよう。
第6B図を参照すると、分岐(1)の場合、[このユニ
ットを描りJ 602の場合が示されているここに示す
ように、この分岐は、「スクリーンの一部をクリアする
」622からなり、これは更にユニット1出力する62
4を呼出し、出口となる。
第6C図を参照すると、分岐(2)の場合、[このユニ
ットからラインの終端まで描< J 604の場合が示
されている。ここに示すように、「この分岐にはスクリ
ーンの一部をクリアする」622と、これに続く「ユニ
ットを出力する」624とが含まれる。この分岐にも、
「ラインの終端か」窃と。
これに続く「ユニットを出力する」624とが含まれ、
現在ラインの終端に達したかを判断をする。
否定(N)のときは、ラインの終端に達するまで、分岐
は、「次のユニットを見付けるJ 627 i介し、出
カニニット624に戻り、ラインの終端のときは、出口
となる。
第6D図を参照すると、分岐(3)の場合、「このユニ
ットからラインの終端まで構築する/描く」606の場
合が示されている。ここに示すように、このブロックは
、「このユニット全引き続き構築する/表示する」62
8のモジュールからなる。
第6E図を参照すると、分岐(4)の場合、「このライ
ンを構築する/描< J 608、及び分岐(6)の場
合、「このラインからスクリーンの終端まで構築する/
描< J 612がそれぞれ示されており、これらの分
岐は同一である。図示のように、これらの分岐は、「ス
クリーンの一部を構築する」630からなる。
第6F図を参照すると、分岐(5)の場合、「このユニ
ットからスクリーンの終端まで構築する/描< j 6
10が示されている。図示のように、この分岐は[この
ユニットを構築する/描< J 628と、これに続い
て判断ブロック「他のラインを描(か」632とからな
る。描くべき他のラインがないときは、「他のラインを
描(か」632から出口となシ、描くべき他のラインが
あ、るときは、「他のラインを描くか」632は、「ス
クリーンの一部を構築する」630を呼出し、出口とな
る。
第6G図を最後に参照すると、分岐(7)の場合。
[このラインからスクリーンの終端まで構築する/描<
 4612 、分岐(8)の場合、「このラインを構築
する/描(J 614 、分岐(9)の場合、[次のス
クリーン全構築構築する/描(J 616 、及び分岐
(10)の場合、「ファイル全ページに構築する/出力
する」620の場合がそれぞれ示されている。これらの
場合は、図示のように判断ブロック「前のラインを表示
する」636、及びスクリーンを構築する」638に分
岐する判断ブロック「前のラインを再表示するか」63
4を有し、「前のラインを表示する」636は、「スク
リーン全構築する」638も呼出17、次いで、「スク
リーンを構築する」638が出口となる。
パーサ−148の主分岐を説明I−たので、次にこれら
の分岐内の各モジーール′!il−ある程度詳細に説明
しよう。
第6H図を参照すると、「このモジュール分構築する/
描< J 628のフローチャートが示されている。図
示のように、このモジュールには、設定640が含まれ
ており、これに続き、「スクリーンの一部を構築する4
628t−呼出1−1これに続き、「このユニット・オ
ンからラインの終端まで描く」606 ’i呼出1−1
これが出口に行く。
第6エ図は、「スクリーンを構築する」638のフロー
チャートが示されている。図示のように、このモジエー
ルには判断ブロック「このスクリーンか」642が含ま
れている。「このスクリーンか」642は「環境を含む
次のスクリーンに対する設定をする」644と、[環境
を含むこのスクリーンを初期化する」646とに分岐す
る。続いて、図示のように「環境を含む次のスクリーン
を設定する」644と、「環境を含むこのスクリーンを
初期化する」646とは、[スクリーンをクリアするJ
 6481呼出し、更に前に説明した[スクリーンの一
部を構築するj 630 i呼出す。「スクリーンの一
部を構築する」630は出口に行く。
第6J図は「スクリーンの一部を構築する」630のフ
ローチャートを示す。図示のように、「スクリーンの一
部を構築する」63oは「カーソルを移動させる」65
0から開始しておシ、これに「環境を初期化する」65
2と、前に説明した「スクリーンの一部をクリアする」
622が続(。「スクリーンの一部をクリアする」62
2には「ラインを構築する」654が続き、「ラインを
構築する」654には「ラインを配置する」656が続
(。「ライン金配置する」656には前に説明した[ビ
ュー・モードによシ構築する/描< J 618の呼出
が可能な判断ブロックが続(。判断が肯定(Y)のとき
は、[ラインを出力するJ 658 i呼出す結果とな
り、これが続いて判断ブロック「表示と共に行なうが」
660を呼出す。「表示と共に行なうか」66oが否定
(N)のときは、「ビー−・モードにより構築する/描
(J 618に関連する判断ブロックから直接呼出され
る。表示をしなかったときは、「表示もするか」660
は出口に行く。
第6に図を参照すると、「ラインを構築する」654が
示されている。図示のように、「ラインを構築する」6
54は判断ブロックの「全ラインを構築したか」662
から開始し、「全ラインを構築したか」662は「環境
を補正する」664及び「ライン構造を初期化する」6
66に分岐する。先ず、「環境を補正する」664への
分岐を説明すると、この分岐は「ラインの一部を分割す
る」668と、「ユニット・ボックスを延長する」67
0とを実行する。「ユニット・ボックスを延長する」6
70は[不要ユニットを除去するj 672 ’i呼出
す。「ライン構造を初期化する」666への分岐は「ユ
ニットを分割する」674を実行し、また[ユニットを
分割する」674も「不要ユニッl除去する」672を
呼出す。ただし、「不要ユニットを除去する」とは構築
中のユニノtt−結合するために、ユニットの構築中に
用いた実質的に一時空きのユニットのことである。最後
に、「不要ユニットヲ除去する」672は「次のライン
の準備をする」676全呼出し、最後に出口に行く。
第6L図全参照すると、「ラインを分割する」674が
示されている。これは「ラインの開始について設定する
」676からなり、これに「ラインの一部を分割する」
678が続き、更に出口に行く。
第6M図を参照すると、「ラインの一部を分割する」6
78が示されている。図示のように、「ラインの一部を
分割する」678は「現在のユニット状態金得る」68
0から開始し、これに「現在のユニット構造を初期化す
る」682が続き、これが「ユニット全構築する468
4’i呼出す。続いて「ユニット全構築する」684は
判断ブロックの「ラインに移動するのかJ 686 Q
呼出す。この判断ブロックが否定(N)のときは出口に
分岐し、肯定(Y)のときは「次のユニットの形式を決
定する」688に分岐する。続いて「次のユニットの形
式全決定する」688は「次のユニット’を付加する」
690と、「次のユニット構造に移動する」692とを
実行する分岐に進み、「現在のユニット構造の初期化を
する」682を呼出す。
第6N図を参照すると、[ユニッ)f構築する」(3)
が示されている。図示のように、「ユニットを構築する
」684は「設定」640から開始され、「次のキャラ
クタを属性と共に得るJ 694 ’に呼出す。「次の
キャラクタを属性と共に得る」694には、判断ブロッ
ク「ユニットにキャラクタがあるか」が続き、この判断
ブロックが否定(N)のときは出口に分岐し、肯定(Y
)のときは「ユニットに加える」698に分岐する。続
いて、「ユニットに加算する」698は「次のキャラク
タを属性と共に得るJ 694’を呼出すことができる
最後に、第60図を参照すると、「次のユニットの形式
を決定する」688が示されている。図示のように、「
次のユニットの形式を決定する」688は判断ブロック
[現在のユニットはオペレータの前で終結したか」60
1を開始し、この判断ブロックが肯定(Y)のときは、
「次のユニットはこのユニット全オフにする」603に
分岐した後、出口に行く。「現在のユニットはオペレー
タの前で終結したか」601が否定(N)のときは、「
次のユニットはこのユニットに対する基準tオフにする
」605に分岐し、これも出口に行く。
フローチャートにようパーサ−148の構造と処理とを
説明したので、次に、式4A〜式4T2として与えられ
、前に説明したEB  128の符号化ストリングの例
を用いて、E/B  12Bに存在するキャラクタ、シ
ンボル、オペレータ、パラメータ及びターミネータコー
ドのストリングを構文解析し、かつこの表現又は式を符
号化ユニットに定める際のパーサ−148の処理を実施
例により説明しよう。
特に、第4A式、第4B式及び第4C式を用いてこの処
理を説明する。次の実施例はパーサ−148による構文
解析の省略形式を得るものであり、1つのストリング全
ユニット構造に構文解析する際ことに注意すべきである
。例えば、境界ボックスの拡張サイズ、即ちその長さ及
び高さ全決定すること、及び啄−ジ上のボックスを決定
することが必要である。
EB  128のス) IJングとして、その可視的表
示及びその符号化形式で第4A図に示す第4A式を先ず
参照すると、第4A式の符号化形式には4つのコード・
ワード、即ち〔x〕、(op−subscrl 。
〔2〕及び(PRET )が含まれており、EB  1
28の当該シーケンスに現れる。
第4A式の場合に、パーサ−148はこのストリングを
複数のユニットに構文解析するために次の処理シーケン
スを実行する。
新しいUS15F、(含む新しいユニッ)fL−初期化
する。
新しいワードヲ調べる。このワードは1x″に対するキ
ャラクタ・コードであシ、ストリングの状態のために更
新は必要でない。ストリングの第1キヤラクタとして、
このワード9がユニットに自動れる。
次のワードを調べる。このワードはオペレータ・コート
” (op−sups(Hr〕であり、スーパースクリ
プト・オペレータとしてユニットの切れ目を判断、即ち
新しいユニットの開始を知らせる。このユニット構造に
フラグを設定してスーパースクリプトが現在ユニットに
付加されていることを表わす。
ストリングの次のワーVまで増分される。
新しいUS16を含む新しいユニットヲ開始し。
初期化する。
次のワード9を調べる。これは@21に対するキャラク
ターニーVであり、ストリングの状態のために更新を必
要としない。ユニット・ストリングの第1キヤラクタと
して、このワードはユニットに自動的に設定される。ス
トリングの次のワードに増加される。
次のワード9全調べる。これはターミネータ・オペレー
タ畳コート’(PRET)であり、前のレベルに戻るユ
ニットの終端としてユニットの切れ目を再び判断するコ
ードである。ストリングの次のワードに増加されて前の
レベルに戻る。
テキストの終端を検出する。テキストの構文解析全完了
する。
第4B式全参照すると、この式には6つのニー)’ ・
’7− ’r’カ含’ltt”Cイル。即チ(op−1
nsplt)、(p−1)、[X]、〔PRET〕、(
y)及び(PRET)が含まれ、ライン分割オペレータ
の使用を示して分数を発生する。
第4B式の場合に、パーサ−148は次のシーケンスの
処理を実行してこのス) IJソング複数のユニットに
構文解析する。
新しいUS 11−含む新しいユニツ)tl−開始して
初期化する。
次のワード9全調べる。これはライン分割のためのオペ
レータ・コード(op−1nsplt)である◎新しい
次のワードを得ることによりオペレータのパラメータC
p−1”l ”を得て、ノミラメ−ターキャラクタをユ
ニットに配置する。次のワード、即ちオペレータ・コー
ドに増加する。
次のワード即ち、ライン分割に対するオペレータ畳コー
トを調べる。パラメータはこのライン分割が分数、即ち
その間の分数ラインを有する2つのラインのものである
ことを表わす。US 16においてこのユニットが現在
の「親」 ユニットに対する「子供」として2つのユニ
ツ)1−有するという定義を書き込む。
新しいユニットを開始して初期化する。これは分数ライ
ン分割の第1ラインに対するユニット、即ち分子である
次のワード9を調べる。これはキャラクタ1 x Iに
対するコードである。ストリングの状態のために更新を
必要としない。ユニットの第1キヤラクタとしてこのワ
ードは自動的にユニットに設定される。次のワードに増
分される。
次のワード9全調べる。これは、ユニツ)t−次に高い
レベルに戻すターミネータとして、ユニットにおける切
れ目金判断するターミネータ・オペレータ・コート’(
PRET)である。疑似リターンはラインを区切ること
ができる。次のワード1に増分され、前のレベルに戻る
新しいUS131含む新しいユニットを開始して初期化
する。このユニットはライン分割における第2ライン、
分子である。
次のワー)−#ヲ調べる。これは@y1に対するキャラ
クタ・コードである。ストリングの状態のために更新を
必要とせず、新しいユニットの第1キヤラクタとして自
動的にユニットに配置される。次のワードまで増分され
る。
次のワードヲ調べる。これはターミネータ・オペレータ
・コート”[PRET:l であり、次に高いレベルに
ユニットを戻すターミネータとしてユニットにおける切
れ目を判断する。次のワードに増分されて前のレベルに
戻る。
テキストの終端を検出する。テキストの構文解析を終結
する。
第4C図の式4cl最後に参照すると、この式には以上
のように構文解析された15コード・ワードが含まれて
いるので、全てを詳細に説明することはしない。しかし
、この式は4ユニット、即ちキャラクタ・グループ、即
ちストリング”123’、@xyz’、′a“及びl 
bc l と、l a lについて処理をする接頭辞オ
ペレータ(op−presupscr〕とを含むことに
注意すべきである。このオペレータのために、1a1は
第1ストリング”123”の一部でも、また最終ストリ
ングの一部でもない。即ち、接頭辞オペレータは”12
3”及び” bc ’に含むユニットからのl a@ 
2含むユニットを分離する。
符号化した式の構文解析及び対応するUS  136の
構造について、更に複雑かつ完全な例を説明するに先立
ち、既に説明したいくつかの係数について再び説明する
必要がある。先ず、ユニット及び式の表示可能な表示を
生成するために、各ユニットについて決定し、かつ保持
する必要があるいくつかの係数がある。これらには、ユ
ニットヲ何処に描き、またユニット構造のユニットにど
のように関連させるかについてのユニットの特性がある
各ユニットの現在の環境状態について定めることが必要
な特性には、例えば現在のフォント及び現在のりサイズ
が含まれる。EB  128における現在のユニットの
開始位置、第1キヤラクタの位置及びEB  128に
おける第1キヤラクタの位置及び符号化ユニット・スト
リングの長さも、決定され、かつ保持しなげればならな
い。この情報はEB128の符号化ユニットにアクセス
することを可能にするので、ユニツ1編集し更新するこ
とができる。次いで、ユニットの範囲及び位置ケ定める
情報を計算して記憶しなければならない。必要な範囲及
び位置の値には、最大及び最小のX及びyの値と、ユニ
ットの長さが含まれる。ユニットの第1キヤラクタが幾
何学的な位置O10から開始するものと仮定して、これ
らの値を計算することに注意すべきである。これにより
、ライン上の分数増分を含め、ページ又はラインのどの
ような位置にもキャラクタの基準ラインを配置させるこ
とができる。
更ニ、ライン、即ちページ上の他のラインに関連してシ
ーケンスのユニットの位置決めするためには、いくつか
の情報が必要なことに注意すべきである。これらには現
在のサイズ及びフォントと、gB  128の開始位置
及びキャラクタ数とが含まれ、これによってEE  1
28にアクセスtしてライン・データを編集及び更新す
ることができる。キャラクタ情報はラインにとって必要
でないことに注意すべきである。最後に、ラインのサイ
ズ及び位置に関する情報を決定し、記憶しなければなら
ない。
即ち、この情報はユニット情報の同一構造、即ちUS 
 136に記憶される。
最後に、以上で説明したように、式又は表現の1又は複
数のラインを1以上の「スクリーン」上でユーザーに表
示する。このために、スクリーンは高次のラインとして
、即ち暗黙のライン分割の形式として見做され、まだ現
在ラインが多くの断片に分割されて、1以上のスクリー
ンに互る場合に、式の表示又は印刷が「オフ・スクリー
ン」の開始を可能にさせる。従って、スクリーンの開始
位置及び現在位置を決定して記憶しなければならない。
スクリーン開始位置全実際の表示スクリーンから離すこ
とができるので、スクリーン上で実際の位置を表わす現
在位置は、表示又は印刷が実際に開始する位置を表わす
位置であることに注意すべきである。
以上で説明したように、パーサ−148により、ユニッ
ト構造を発生する符号化ユニットの分解能と、ユニット
構造の構築、即ち以上で説明した情報を含むUS  1
36とが実行される。これらの処理を実行する際に、パ
ーサ−148は実質的に符号化ユニット及び対応するU
S136’!に介して13″回パスする。この点から、
US  136は「ツリー」構造を有するものと見做す
ことができる。ただし、US  136は、US  1
36の構造ポインタ・グループ514に存在するポイン
タによって、互いに個別的に、かつラインにおける要素
としてユニットの論理的及び物理的な関係を反映する構
造に統合され、これによってライン相互の関係全反映さ
せる。パーサ−148は、ツリーに沿って1回目の「バ
ス」をし、続いて各ユニットに対する各「分岐」をユニ
ット’を構文解析させ、かつ各ユニットの範囲及び特性
を決定すること金含め、対応するこれらのUS  13
6を構築する。次に、パーサ−148は分岐に沿って逆
方向に2回目のバス金してこれらの最大仏y(垂直方向
の)サイズ金決定する。最後に、パーサ−148は1回
目と同一方向に3回目の「パス」をし、ば−ジとそのラ
インにおけるユニットの位置會決定する。最後の4回目
に、パーサ−148はVD工 150にユニット情報を
読み出して表示音する。
以下の説明に関連して、パーサ−148はユニットのツ
リーヲパスする際に、有効な2つのパスのうちのいずれ
かに行(ことができることに注意すべきである。第1に
、パーサ−148は全体としてツリーヲそれぞれパスし
てもよい。即ち、第1パスにおいて、パーサ−148は
開始し、その先頭、即ち最後のユニットへの各分岐に行
(。2回目のパスにおいて、パーサ−148k開始させ
、その先端、即ち最後のユニットに対する各分岐の先端
から開始し、分岐により開始に戻り、3回目のパスで1
回目のパスと、即ち各分岐の開始から終端まで同一のパ
スに行く。第2に、またこれと異なるものとして、パー
サ−148は次の分岐に行(前に、各分岐に対して3つ
の全パスを行なうことができる。ユニットのツリーを介
してパスするこれらの方法は、「全体としてツリー」及
び「一時に分岐」と呼ぶことができる。次の例では、「
全体としてツリー」の方法は最も理解が容易なものとし
て示されている。しかし、次の付記に説明しているよう
に、ここで好ましい実施例では「一時に分岐」の方法を
用いる。
パーサ−148の処理を第4E図に示すように式4Eの
支援により説明しよう。以上で説明したように、この式
はEB  128で符号化した形式を取る。
(e)(op−supacr〕(2)(xX PRFP
 ) [yX+3−[op−resizoncntr’
1(p−+2)((:1(op−resizoncon
tr)−−−(p−−2)(op−1nsp1t](p
−1)(+)(y〕(PRET ) −(1)(+)(
x)[PRETI(op−resizoncntr:]
(p−+2’)[: ) ] −−(I X+X 1 
)[PRET ]((op−resizoncntr〕
(p−+2)C:l )−(op−resizoncn
tr〕(p−2)(PRETI −これらの例には昂ワ
ードが含まれ、またユニットM e l、′2x1.1
 y+ (1,2+y’、”1+x’及び@)1が含ま
れる。以上で説明したように、ユニットは1回目のパス
で構築され、各ユニットのサイズが決定される。2回目
のパスでは、これらの最大のy大きさが決定され、3回
目のパスではこれらの実際の位置が固定されて表示され
る。次の説明の都合により、標準的なキャラクタの高さ
及び幅は10「ユニット」であると見做されることに注
意すべきである。
次に、パーサ−148は次のステップを実行する。
これらのステップは前に説明したものと同じようなもの
であるので、省略形で表示する。
US  136を含む第1ユニット(イタリック1)t
−開始して初期化する。
〔e′3を得る。ユニット1に加算する。最大値(ma
x〕及び最小値1:m1n)x及びyの範囲(max 
x、min x% maX 7% m1ny)が(0,
7;0.10)であることを判断する。
[op−supscr〕を得る。現在ユニットを終結し
、次のユニット(ユニット2)を開始する。
〔2〕を得る。ユニット2に加算する。max7fni
n範囲一(Q、3.5;0、5)(スクリプトが172
標準高さであることに注意すること)。
(3C)を得る。次にターミネータが来ないので、現在
ユニットに1x1を加算する。max/min範囲一(
0,7;0,5)。
(PRET) を得る。ユニットを終結する。
新しいユニットを開始する(ユニット3)を得る・ma
x/min範囲一(0,7;0110 )。
〔+〕を得る。次に来るターミネータはないので、ユニ
ット3に1+1を加算する。max/ min範囲一(
0,13;0110)。
(op−reaizoncntr〕  を得る。現在環
境を変更り今1イで17う する準備をする。即ちキャラクタの喬味歩奪i嚇。
′(p−+2”)を得る。キャラクタが2標準キャラク
タ高さである現在環境、即ち1+(2*l/2)のキャ
ラクタ高さを変更する。
〔(〕を得る。次のターミネータがないので、ユニット
3に1(1を加算する。ma x / min  範囲
=0.23;−s、15)。
(op−resizoncntr)を得る。現在環境を
変更する準備をする。
(p+−2)を得る。現在環境状態を1標準キャラフタ
高いキャラクタに変更する。即ち、前の2つの標準キャ
ラクタ高さから−2を引き算する。
[op−1nsplt〕を得る。新しいキャラクタはユ
ニット3に行くことができる。ライン分割の準備をする
(p−11を得る。2ライン分割によりループし、ライ
ン分割のライン間の分数バーを配置することに注意する
ユニット4を開始する。
〔2〕を得る。ユニット4に”2″を加算する。
max、 min範囲=(0,7;0110)。
〔+〕を得る。次に来るターミネータはないので、ユニ
ット4に1十”を加算する。max、 min範囲=(
0,13:0.10)。
〔y〕を得る。次に来るターミネータはないので、ユニ
ット4に”y”を加算する。max、 min範囲=(
0,20; 0110)。
(PRET)を得る。ユニットを終結する。ライン分割
の第2ラインに行く。
ユニット5を開始する。
〔1〕を得る。ユニット5に“1“を加算する。
max、min、範囲=(0,6; 0,10)。
〔+〕ヲ得る。次に来るターミネータはないので、ユニ
ット5に1+1を加算する。max、 min範囲=(
0,12;0110)。
〔X″l−に得る。次に来るターミネータはないので、
ユニット5に”+”k加算する。max/min範囲=
(0,17:0,10)。
[:PRET]’i得る。ユニット5を終結する。基準
ラインに戻る。
ユニット6を開始する。
(op−resizoncntr〕  を得る。現在環
境を変更する準備をする。
[:p−+2:]を得る。キャラクタ2に対する環境状
態を標準キャラクタ高さに変更する。
〔(〕を得る。これは第1キヤラクタ、即ちユニット6
であるので、ユニット6に”)”を加算する。ma:c
/min範囲=(0,10;−5,15)。
(op−resizoncntr〕 を得る。現在環境
を変更する準備をする。
(p−−21を得る。キャラクタの現在環境状態を1標
準キャラクタ高いキャラクタに変更する。
(PRh:T] ’i得る。ユニット6會終結する。
ユニット6の最大のYの大きさ音電める0(−り、15
);ユニット5の最大のYの大きさ音電める。(Oll
o);ユニット4の最大のYの大きさを定める。(Ol
lo);ユニット3の最大のYの大きさを定める。(−
5,15);ユニット2の最大のYの大きさを定める。
(O15);ユニット1の最大のYの大きさ會定める。
(−5,15);に−ジの端から(0、O)から開始す
る。処理ページの外側を拡大することなく、全ての範囲
が冗全にページ上に存在するようにページの上端に合わ
せなければならない。このスクリーン上にマツプ化する
前に、この処理(f−笑行する。
ユニット1°ヲ(0,15)に配置及び(又は)表示を
する。これはズージ内に最大のYの大きさ全開始する。
ユニット2を(7,15)に配置及び(又は)表示をす
る。これは基準キャラクタ1esに対してその位rtに
よりスフリプトラ配置する。
ユニット3を(14、−15)に配置及び(又は)表示
をする。これはユニット2)スクリプト・ユニットの後
にユニット3を配置する。
ユニット4を(37、−10)に配Q及び(又は)表示
ケする。ユニット4はライン分割の分子であり、分母ユ
ニット上に配置される。
ユニット5を(38,8、−20)に配置及び(又は)
表示をする。非偶数座標は分数内の項の中心から発生す
る。これは分子ユニット5を配置するものである。
ユニット6′を(57,−15)に配置及び(又は)表
示をする。位置として配置される必要がない最終的な“
)1は自動的に続く。パーザ−148の処理を終了する
最後に、第7図にこの実施1′/すの各ユニットについ
て、ユニット構造、即ちこの実施例のユニソト1〜6に
対応するUS  136に記憶されたデータの概略的な
要約を示す。
生成し、編集すべきテキストに直接関連したデータ構造
及び機構を説明したが、テキストの生成及び編集処理に
おいてテキスト・エディターにより用いられたい(つか
のデータ構造を以下で説明し、次いでい(つかのテキス
ト作成及び編集処理の説明をしよう。
図) 以上で説明したが、更にテキストに直接関連する前記説
明のデータ構造に加え、この装置には。
テキスト作成及び編集処理を含め、fii合的なシステ
ムの処理に関連するあるデータ構造が含まれている。以
下で説明するように、これらのデータ構造には限定的で
はないが、システム状態構造(388)160  と、
1以上のライン・データ構造(LDS)162  と、
1以上のスクリーン・データ構造(SDS)164  
と、1以上の挿入/隠し込みデータ・アレイ(I HD
A ) 166が含まれる。
以−ヒで説明したように、5S8160はテキスト−エ
ディターのオペレータの現在の状態に関連し、かつ1又
は複数の現在の処理全実行する際に、テキスト・エディ
ターにより用いられる情報を含む。
続いて、LDS  162は動作している現在のライン
に関連する情報を含み、一方SDS  164は現在の
スクリーンに関連する情報を含む。最後に。
工HDA  166は以下で更に詳細に説明する挿入及
び隠し込み編集処理に関連する情報を含む。
先ずシステム状態構造160t−参照すると、5S81
60のブロック図が第8A図及び第8B図に示されてい
る。多数の要素があるので、i3A図及び第8B図は2
つの図に分割されたものである。ここに示すように、S
88 160の情報フィールドは11主要グループに構
築されている。これらにグループには1輪郭802)フ
ォント情報8041式情報806、現在スクリーン80
8.現在の処理状態810、表示状態812)現在の環
境814、現在の機能状態816、位置値818、パラ
メータ820.スクリーンサイズ822及びユニット情
報グループ887が含まれる(注:編集のためにシーケ
ンス外の参照番号)。
これらはフィールド9・グループ及び各フィールドの内
容を以下命名順に説明しよう。いくつかのフィールド9
の目的はそれらの説明及びテキスト・エディターの前の
説明から明らかである。他のい(つかのフィールド9の
目的及び処理を以下いくつかの編集処理を説明すること
により説明しよう。
833 160の情報フィールドには、図示のようなも
のが含まれるが、限定的なものではない。
システム輪郭ポインタ824:この装置で現に得られる
Φヤラ゛クタ及びシンボルのフォントを識別する情報と
、現に得られるキーボード即ちKB144のキーに関連
し得る複数のセットの7オントとに対するポインタを含
むフィールド。
システム・rキエメント輪郭ポインタ825:デフォー
ルト・ドキエメント輪郭に対するポインタを含むフィー
ルド。
rキエメント輪郭ポインタ826 ; DP  126
に対するポインタを含むフィールド。
フォント情報グループ804 フォント・マツ7’827:現に得られるサブ7オント
の名称を含むフィールド。
キーボード828:キーボードの名称のリスト及び各キ
ーポーrのマツプを含むフィールド。
キャラクタ輪郭829:与えられたキャラクタがストラ
イク・オーバー・キャラクタ、区別的発音符号等である
か、というようないくつかのキャラクタの特性f識別す
るフォント。
フォント識別830:各キャラクタを表示することをV
DI  150に知らせるように、キャラクタとなる使
用可能なサブ・フォントにVDI 150 @結合させ
る情報を含むフィールド。
式識別806のグループ 式の名称831:ファイル名に対するポインタを含むフ
ィールドであり、現在生成中又は編集中の式又は表現の
名称に対するポインタを含む。
キャラクタのファイル名832:現在処理中の式又は表
現を含むファイル名に対するポインタ金有するフィール
ド9゜ キャラクタのファイル名833:式のファイルが存在す
るファイル名に対するポインタを含むフィールド。
式の範囲834:式又は表現が現れるドキュメントにお
ける式又は表現に割り付けられている物理的な大きさ1
幅及び高さを含むフィールド。
当該式835 : EB  12Bの開始に対するポイ
ンタを含むフィールド。
スクリーン・データ自ポインタ836:現在スクリーン
のアレイ、即ちSDS  164のアレイに対するポイ
ンタを含むフィールド。
現在スクリーン837:スクリーン・データ・ポインタ
836により指定されたスクリーンのアレイに対するイ
ンデックスを含むフィールドであり、スクリーンのアレ
イから現に表示しているスクリーン、即ち現在のスクリ
ーンのSDS  164 e識別する。
ライン数838:そのスクリーンにおけるライン数を含
むフィールド。
ライン・データ・ポインタ839ニラインのアレイ、即
ちそのト9キュメントにおけるLDS  162のアレ
イに対するポインタを含むフィールド。
現在ライン・インデックス840ニライン・データ・ポ
インタ839により指示されたラインのプレイに対する
インデックスを含み、ラインのアレイに16いて現在処
理中のライン、即ち、現在のラインのLDS  162
を識別する。
使用可能ユニット841 : LUS  10において
次に使用可能な未使用のUS  136に対するインデ
ックスを含むフィールド。
ユニット・データ・ポインタ842 : LUS  I
OにおいてそのUS  136のアレイに対するポイン
タを含むフィールド9゜ 現在ユニット・データ・ポインタ843:現在処理して
いるUS  136に対するポインタを含むフィールド
9゜ 現在処理状態810のグループ 現在キーボード844=現在キーボード全識別するフィ
ールド。
現在キーストローク845:現在キーストローク・コー
ド入力を含むフィールド。
前のキーストローク846=前のキーストローク・コー
ド入力を含むフィールド。
自動機械設定847:テ苓スト・エディターの現在状態
、又は入力状態を定めるフィールド(自動機械)。
自動機械入力848:テキスト・エディターに対する入
力を定めるフィールド(自動機械)。
自動機械機能849:デキスト・エディターにより現在
実行中の機能を識別するフィールド(自動機械)。
自動機械機能復帰850:テキスト・エディターにより
現在実行中の機能から予測ちれた復帰を識別するフィー
ルr0 現在ユーザー処理851:テキスト・エディターのユー
ザーによυ選択されたその処理ヲ識別するフィールド9
゜ 現在キャラクタ・バッファ位t 852:現在のキャラ
クタのEB  128へのオフセラトラ含むフィールド
現在キャラクタ・バッファ開始853:現在キャラクタ
に関連するデータケ開始するl  128へのオフセラ
トラ含むフィールド。
現在キャラクタ・バッファ終端854:現在キャラクタ
に関連するデータ7終結するEB  128へのオフセ
ットを含むフィールドゞ。
テキストの現在開始855:編集可能なテキストヲ開始
するEB128の始端からのオフセラトイc含むフィー
ルド。
テキストの現、在終端856:その編集可能なテキスト
の終端について、i4+1ちMB 128において最後
に使用した位置に対するEB 12Bの始端からのオフ
セットに含むフィールドであシ、テキストの現在終端既
により示された位置の後のf口2い位置でh:U 13
4について使用可能なスペースの始端7示す。
未使用バッファの終端857 : f2B 128  
において最後に1史用可能なスは−スについて、EB 
128の始端からのオフセット金含むフィールド。
現在バッファ位+f858  :  IB 128のカ
ーソルの始めの位置から、処理すべき次の位置に対する
オフセラトン含むフィールド。
現在キャラクタ859:現在キャラクタのコード部分含
むフィールド9゜ 現在キャラクタ属性860:現在キャラクタが区別発音
符号キャラクタでるるか否かを示すフィールド。
キャラクタ位11861:現在ば−9上のキャラクタ、
通常は現在キャラクタの位置の絶対座標を含むフィール
ド。
オーバーストライク・キャラクタ862:丁度重ね打ち
したキャラクタ勿保持するフィールド9゜オーバースト
ライク・キャラクタ・フラグ863=例えばユニットの
キャラクタが重ね打ちに変更となったときに、ユニット
の可視的な長さが変化1−たか否かを示すフィールド。
ユニット・フラグの中ヤラクタ864:現在キャラクタ
が仄のユニットではな(、現在ユニットに属するか否か
を示すフィールド1゜ 現在カーソル位11865 :絶対!、7及びページ上
のカーソルの終端位t’r含むフィールド。
現在フォントIDB66:  現在フォンIf識別する
フィールド。
基準ライン上の現在のサイズ867:環境が基準ライン
の周シのテキストサイズを変更しなければならないステ
ップ数を指定するフィールド。
中心の周シの現在サイズ868:環境が中心の周シのテ
キストサイズを変更しなければならないステップ数分指
定するフィールド。
現在イタリック状態869= テキストがイタリックで
あるか否かを示すフラグr含むフィールド。
現在スクリプトの深さ870:4準ラインから現在位置
があるスクリプトのレベル数を指定するフィールビ。
挿入レベル871: この点に対する挿入のレベル数を
含むフィールv0 挿入点ポインタm:工HDA166のアレイ(挿入、隠
し込み、新しいスクリプト又は挿入したライン分割につ
いてそれぞれ一つ)に対するポインタを含むフィールド
1゜注:開始範囲キャラクタ及び終端範囲設定キャラク
タとそれぞれ呼ぶ2つの可視的な表示のキャラクタによ
り、結び付けられたテキストの一部=2EB128内に
範囲を定めるために、以下の4つのフィールドを用いる
。2つの終端を一致させること、即ち同一のキャラクタ
又はシンボルを呼ぶことができることに注意すべきであ
る。
範囲設定の開始院り範囲設定の開始キャラクタに関連す
るEB 128の第1コーげについてIB  12Bの
開始からのオフセラ)t−含むフィールド。
範囲設置の終結群4:終結範囲設定のキャラクタに関連
するEB 12Bの最終コードに対するgB  128
の始端からのオフセットを含むフィールド。
範囲設置の終結位Ikの開始875:開始範囲設定のキ
ャラクタに関連するBIB 12Bの最終コードに対l
−てEB128の開始からのオフセットを含むフィール
ド。
範囲設置の終結位置の終結876:終結範囲設定のキャ
ラクタに関連するEB 128の最終コードについてE
B128の始端からのオフセットを含むフィールド。
位置の値818のグループ: キャラクタ対位(i!1t877 : IB 12Bの
位置に対するオフセット’を含むフィールド9゜カーソ
ル及び他の機能により用いられる。
配置形式g?8:現在、キ中2クタ対位it 877に
ある値の目的を識別するフィールド9゜ リフワイヤード・リフレッシ、 879 : その処理
のために、そのスクリーンのどの部分に再描画しなけれ
はならないかを示すフィールド。
現在ベクトル880幌在キヤラクタ・ボックス881の
2つの隣接縁を定める2つの!−7ベクトル。
現在キャラクタ・ボックス881:現在キャラクタ、シ
ンボル又は区別的発音符号を含むポックスケ定めるフィ
ールド。
現在基準ボックス882:現在基準ボックス、即ち基準
キャラクタ又はシンボルと、当該点に対する基準キャラ
クタ又はシンボルに関連、又は加算する全ての区別的発
音符号とを定めるフィールドゞ。
スクリーン範囲883ニページ上の絶対値ではなく、ス
クリーンうえのO20に相対するスクリーンのX及びy
の大きさを定めるフィールr0 フォーマット・ラインの高さ884:フォーマット・ラ
インの高さを含むフィールドゞ。スクリーン上の第1ラ
インがフォーマット・ラインの下から開始しなければな
らない表示における補正キャラクタと1−で用いられる
フォーマット・キャラクタの幅885:タブ・キャラク
タの幅を含むフィールビ。等しい幅のフォーマット・ラ
インにおける全てのキャラクタを保持するために基準測
定として用いられる。
フォーマット・スクリーンY位f886ニスクリーン最
初の重ね打ちユニットの位置888ニラインにおける最
初のオーバーストライクを有するユニットの位[’に含
むフィールド9゜ 式基準キャラクタ・ディセンダ(DES(JNDh:R
)(3):式のキャラクタの不足サイズ用のディセンダ
ーを含むフィールド。
最終ラインの未完成ライン分割890:現在ライン・し
にルを閉じるか否かを定めるために用いられるフィール
ド9゜定められた整合ステップ分子891:ピグクセル
におけるテキスト・ラインの基準ライン全整合させる分
割サイズを定める分子を含むフィールド。
定められた聚合ステップ分母892:ピクセルにおける
テキスト・ラインの基準ラインに!合させる分割サイズ
を定める分母゛ヲ含むフィールド。
付加プロツメサイズ893:付加プロップが現在スクリ
ーン上にあるときに、付加プロップのX及びy座Wt含
むフィールド。
付加プロップサイズ8g4:付加プロップが現在スクリ
ーン上にあるときに、付加プロップのX及びyの大きさ
を含むクイ→し比以上で説明したように、EB315B
には1以上のLDS162 のアレイが含まれる。ただ
し、各LL)S 162にはテキスト・エディターによ
り、又はテキスト・エディターにより処理されているそ
のラインに関する情報を含むフィールド9が含まれる。
このようなラインにはそれぞれLf)S  162 が
ある。
第9図を参照すると、 LDS  162のブロック図
カ示されている。LDS  162のフィールPKは図
示のものが含まれるが、限定的なものではない。
開始位$902:最初のデータ要素、即ちラインの最初
のユニット全開始するキャラクタ・コード又はオペレー
タ・コードのEB  128に対するオフセットを含む
フィールド9゜ ライン・ポインタの開始ユニット9o4=ラインの最初
のユニットに対するポインタを含むフィールv0 開始位[906:ベージの開始に相対するラインの部分
に対する位置を開始するX及びye含むフィールド。こ
れはラインの上圧の隅のX及びy位置である。
ラインサイズ908ニラインの「開始位置」の周りでは
す<、基準ラインの周りのラインの相対的大きさを含む
フィールド。
フォント910ニラインの開始でフォントヲ識別するフ
ィールド。
基準ライン上の7オントのりサイズ912ニラインの開
始位置で基準ライン周りのりサイズ係数を含むフィール
ド。
中心の周りのフォントのりサイズ914ニラインの開始
で中心の周りのりサイズ係数を含むフィールド。
イタリック・フラグ916:イタリックを表わすフラグ
を含むフィールド。
フォーマット・ライン918 二EB  128におけ
る当該ラインのフォーマットに対するインデックスを含
むフィールド。
(第10図) 以上で説明したように、 h:D3 158には1以上
のSDS  164のアレイが含まれる。ただし、各S
DS  164には現在スクリーンに関連する情報が含
まれ、現在ドキュメントの各スクリーンにばSDS  
164がある。
第10図を参照すると、 SDS  164のブロック
図が示されている。図示のように、SDS  164の
フィールドには下記のものが含まれるが、限定的なもの
ではない。
開始位1fffi 1002 ニスクリーンの最初のテ
キスト要素のEB  128の開始からEB  128
  に対するオフセットを含むフィールド。
スクリーン頂部1004 ニスクリーン頂部のページ上
の絶対的Y位置に含むフィールド。
開始位置1006 ニスクリーン開始のページ上の絶対
X及びY位g’4含むフィールド。
現在位置1008 ニスクリーン原点(0,0)の現在
相対的X及びy位fe含むフィールド。この実施例のテ
キスト・エディターでは用いられていないが、以後の実
施で使用可能なように設計される。
フォント1010 :使用されているフォントの識別を
含むフィールド。
基推ライン上のフォントリサイズ1012 :そのスト
リングに対する基準ライン上のりサイズ係数分含むフィ
ールド。
中心の周りのフォントのりサイズ1014 :そのスト
リングの中心の周りのりサイズ係数を含むフィールド9
゜ イタリック・フラグ1016 :イタリックヲ表わすフ
ラグを含むフィールド1゜ フォーマット・ライン+1ポインタ1018 :そのス
クリーンのフォーマット・ラインに対するインデックス
′fr:含むフィールド。
(IHDA) 166 (第11図) 以上で説明したように、EDS  156には1以上の
IHDA 166 が含まれる。ただし、6工)IDA
166は以下で更に詳細に説明する挿入及び隠し込み編
集処理に関連する情報を含むフィールド。ただし、各挿
入又は隠し込み処理に対してIHDAがある。
第11図を参照すると、IHDA  166  のブロ
ック図が示されている。図示のように、 IHDA  
166のフィールrは以下のものが含まれるが、限定的
なものではない。
終端からの位1ft1102 :以下に説明するように
、EB  128におけるキャラクタ、シンボル、オペ
レータ、ノラメータ及びターミネータコードのストリン
グが挿入又は隠し込み処理を実行する点で切断されてい
る。この点に続くス) IJングの部分はEB  12
Bの終端に「移動」され、挿入が実行され、ストリング
の「移動1部分はEB  128の終端から挿入された
ものの終端に戻される。従って、符号化されたストIJ
ングの移動した部分は、EB  128の終端から順方
向にEB  128を埋めるようにEB128に記憶さ
れる。終端からの位置1102は、EB128の始端に
相対する移動テキストの始端に対するポインタを含むフ
ィールドである。
切断位置1104:挿入又は隠し込み処理を実行するg
B  12Bのキャラクタ・コードの位置に対するポイ
ンタを含むフィールド。
保管位置1106:切断位置11o4により指示された
キャラクタ・コードに関連される全てのIJ  12B
のコードの開始に対するポインタを含むフィールド7゜
例えば、特定のキャラクタ・コードはキャラクタ・コー
ドの前にEB  128に現われる関連のイタリック・
オペレータ・コードに有することができ、保存するため
にキャラクタ・コードと共に「移動」されなければなら
ない。
挿入形式1108 ニスクリプト挿゛入、通常の挿°入
処理、隠し込み処理、ライン分割又は通常のオバースト
ライクにより挿入切断が発生したか否かを示すフラグを
含むフィールド。
基準ライン上のりサイズ保存1110 :基準ライン・
オペレータ上のりサイズ値を含み、これに挿入している
スクリプトを従属させているフィールド。
中心の周シのリサイズ保存1112 :中心オペレータ
上シのリサイズの値を含み、これに挿入しているスクリ
プトを従属させているフィールド。
テキストの開始1113 :このオペレータのためにア
クセス可能なテキストの開始位置を含むフィールド。
再配置ライン高さ1114 :切断前にテキストが占め
ているスペース量街含むフィールド。スクリー。
/のリフレッシュを最適化するために用いられる。
後置ラインの高さ1116 :切断後にテキストが占め
ているスに一ス量を含むフィールド。スクリーンのりフ
レツクスを最適化するために用いられる。
再配置サプラインの高さ1117 :正しいスば一ス量
を検出することができるように、従ってスクリーンのリ
フレッシ:Lを最適化することができるように、切断点
前のテキストが占有するスは−ス量を含むフィールビ。
後置サプラインの高さ1118 :正しいス纜−ス毫ケ
4芙出することができるように、従ってスクリーンのり
フレツノ−全最適化することができるように、切断点を
従属させたテキストが占有するスペース伺°を含むフィ
ールド。
保存したライン分割リターン数1119 :挿入又は隠
し込み処理により保存されたライン分割におけるリター
ン数を示すフィールビ。
マイナー(M工N0R)最終ライン分割1120 ニラ
イン分割における最終ラインがテキストではな(、lV
i’l単な付加「プロップ」のみを有することを表わし
たフラグを含むフィールド。
ER156が使用するい(つかのデータ構造勿説明した
が、E43 128及びLUS  10によりEE  
146及びパーサ−148の処理のその他の特徴と共に
、このエディター処理について、い(つかのエディター
処理の以下の説明により、更に説明しよう。
以下、現在エディターに固有ない(つかのエディター処
理を説明することにより、ドキュメントを処理をする際
に、またこれをエディターが使用するい(つかの機(1
弯について説明しよう。これらの処理のうちで、カーノ
ルの移動と、区別的発音符号全付加したキャラクタ又は
シンボルの構造を含むば一部上の複数のユニット及びラ
インの構造とについて説明しよう。挿入及び隠し込み処
理の実行も説明しよう。以上で説明したように、このエ
ディターはこれらの処理を実行する際に、ドキュメント
のデータ構造及びエディターのデータ構造の両者を使用
し、かつ相反に作用するので、これらのデータ構造の機
能及び処理を以下のエディター処理の説明で更に説明し
よう。
よ(知られているように、テキスト処理システムは、処
理すべきキャラクタ及びテキストの部分を示し、かつ選
択するために、システムのユーザーが表示したテキスト
により移動可能なある形式のカーソル位置又はシンボル
を利用する。しかし、以上の説明及び検討から、このエ
ディターのカーソル処理が従来の通常的なテキスト処理
システムのものとかなり相違しなければならないことは
、明らかである。
即ち、通常的な多(のテキスト処理システムにおいて、
キャラクタは全般的に均一なサイズ及び比率のものであ
り、スクリーンにおける均一な四角い升目内に配置され
るので、X及びy座標の位置を増分したり減分したりす
ることにより、カーノルをキャラクタからキャラクタへ
、又は一つの位置から他の位置に移動することができる
。あるテキスト処理システムは、テキストのプロポーシ
ョナル(スに一シング)を可能としても、カーソル位置
決めの点で均一な升目方式よりやや複雑である。最も通
常的なテキスト処理装置においてテキストを含むデータ
構造も同様に、複数のキャラクタ・コードと、限定され
た範囲に表示した制御キャラクタ・コードとのみ含む均
一な、線形な構造のものであり、テキストそれ自身の構
造を反映させている。またキャラクタ位置に対するスク
リーン位置の相関は簡単にして、直線的なものである。
このエディターが処理しようとしているテキストの形式
において、キャラクタ及びシンボルは均一な寸法や比率
のものではなく、またスクリーンやドキュメントに配置
され、又は均一、予測可能な若しくは規則的な方法で相
互的な関係で配置されてはいない。同様に説明したよう
に、このエディターが処理しようとしているテキストは
、多次元か、多方向か、その両方かのいずれかであり、
またテキストはデータ構造を含み、しかもある点で本質
的にスクリプトであるので、必ずしも均一、道 線形な構造ではな(、ここでもテキストの構造が反映さ
れている。従って、均一な四角の升目内でカーソルのX
及びy座標を増分したり減分したりすることにより、キ
ャラクタ及びシンボル位置内でカーソルを簡単に移動す
ることはできない。またスクリーンにおけるカーノル位
置と、テキスト・データ構造の位置におけるカーソル位
置との間の関係は直接的でも瘤単でもない。
エディターに対するユーザーのインターフエースを簡単
に説明すると、ユーザーは、カーフルにより、どこが編
集処理を実行するテキストの位置か、又はどこで編集処
理を実行するテキストの部分かを示す。ユーザーは、テ
キストにおけるこのような位置又はテキストの部分を、
処理するキャラクタ及び(又は)シンボル位置の上に、
又は処理するテキストの部分の範囲を設定するキャラク
タ及び(又は)シンボル位置の上にカーソルを置くこと
により示す。これを行なうために、ユーザーは、キャラ
クタ及び(又は)シンボル位置からキャラクタ及び(又
は)シンボル位置へテキストを介してカーソルを制御可
能に移動できるものでなければならない。
カーソル移動のユーザー制御は概してKB  114の
カーソル・キーによっている。このカーソル・キーによ
ってユーザーはカーソルの現在位置に相対してカーソル
をテキストを通って上、下、右又は左(又は北、南、東
又は西)に移動することを選択、又は示すことができる
。エディターはこれらの制御キー人力を受は取り、ユー
ザーによシ示された方法で、またスクリーン上のカーソ
ル位置がテキスト−データにおけるカーソルの位置に対
応する方法で、スクリーン上のテキストと、EB128
及びLUS  10におけるテキスト・データとの可視
的表示によって位置から位置へカーソルを移動させなけ
ればならない。スクリーン上に表示されたカーソル位置
は、ユーザーに対するカーソル位置を示し、一方テキス
ト・データ内のカーソル位置はエディターの編集処理ル
ーチンに対するカーソル位置を示す。
このテキスト争エディターにおけるテキスト・データを
介してカーフルの移動を説明すると、以上で説明したよ
うに、テキスト・データは2つ独立するが、密接に結合
したデータ構造、EB  128及びLUS  130
のUS  136に存在する。説明したように、EB 
 128はキャラクタ、オペレータ及びターミネータコ
ードのストリングとして「符号化」形式でテキストの論
理表示を記憶する。続いて。
EB  128のコードのストリングは符号化ユニット
(EU)134のストリングから論理的に構成される。
ただし、各EU  134は1ユニットを定めるキャラ
クタ、オペレータ及びターミネータコードのストリング
を含む。ただし、ユニットは実体としてドキュメントに
配置可能な関連の特性を有するストリングとして、即ち
キャラクタのグループとして定められる。
続イテ、LUS  130はテキストの物理的及び可視
的な表示に関連する情報を記憶する。LUS  130
はEB  128に符号化形式で記憶した各ユニットに
ついて、対応するユニット構造(US)  136  
’に含む。US  136には、EB  128に記憶
した関連のユニットの可視的な表示を形成するために必
要な情報が含まれている。説明したように、LUS  
130のUS  136はストリングとして記憶される
のではないが、テキストを有するユニットの物理的及び
論理的な関係を反映する方法で、ポインタにより結合さ
れた個々のデータ構造として記憶される。
続いて、 US  136はポインタによシそれに関連
するEB  128の符号化ユニットに結合される。
従って、以上のこのエディターのドキュメント命データ
構造の説明から、テキストにカーソル及びテキストの対
応する可視的イメージを配置する際に、エディター・カ
ーソル・ルーチンがドキュメント論理データ構造である
EB  128と、ドキュメントの物理データ構造であ
るUS  136と、を介さなければならないことは明
らかである。更に、エディター・カーソル・ルーチンは
そのスクリーン上のカーソルの物理的位置を識別する情
報も決定し、かつ供給しなげればならない。これらの処
理を以下で説明し、更にこのエディターのドキュメント
及びエディター処理データ構造を明らかにしよう。
以下では、先ずドキュメント・データ構造におけるカー
ソル位置と、定常状態、即ちカーソルが移動していない
ときのスクリーンにおけるカーソル位置とを説明する。
次に、ユニット内のカーソルの動きを説明し、続いてユ
ニット間のカーソル移動の説明をする。最後に、ライン
間のカーソル移動を説明する。
実質的に全てのカーソル移動に対する初期状態であるカ
ーソルが静止している場合を先ず説明すると、EB  
128におけるデータ構造に対してカーソルの現在位置
は、SS8160の「現在キャラクタ・バッファ位置」
852)「現在キャラクタ・バッファ開始」853及び
「現在キャラクタ・バッファ終了」854のフィールド
9により識別される。これらのフィールドは、それぞれ
EB  128の内容に関連させて、カーソル位置の対
応するキャラクタ・コードのEB  128の開始に関
連するオフセットと、当該キャラクタを含む符号化ユニ
ット(EU  134)の最初と最終のデータ要素(キ
ャラクタ、オペレータ、パラメータ又はターミネータ・
コード)EB  128における位置とを識別する。実
行している処理のためにい(つかの場合に、カーソルは
EB  128のキャラクタ・コードに配置されず、「
現在バッファ位置J 858のフィールドはf2B12
8のカーソル位置を識別する。
EB  128のデータ構造に対するカーソルの位置を
識別したので、EU  134に対応するUS  13
6はSSS  160の「現在ユニット・データ・ポイ
ンタ」843のフィールドによシ識別される。先に説明
したように、US  136はカーソルを配置している
ユニットの物理的及び可視的表示に必要な全ての情報を
備えている。次に、カーソル・ルーチンはパーサ−14
8を呼出し、EB  128から符号化したユニット情
報を読み出し、ユニットにおける各キャラクタ又はシン
ボルのば一部上の物理的な位置及び大きさを決定する。
以下の区別的発音符号の構造説明で説明されるように、
ER156は、その情報を使用して、それぞれ現在キャ
ラクタを含む「ボックス」のページ上の物理的な大きさ
を説明する「現在キャラクタ・ボックス」及び「基礎ボ
ックス」を構築するルーチンと、付加された区別的発音
符号キャラクタのような全ての拡張を有する前記現在キ
ャラクタとを備えている。この場合に、「現在キャラク
タ」はカーソル位置のキャラクタであるから、「ボック
ス」の下端の位置及び大きさを決定する「ボックス」の
値はページ上のカーソルの位置及び太キさを識別するた
めに用いられる。続いて、この情報はSS8160の「
現在カーソル位置」856のフィールドに記憶すること
ができる。
EE 128及びUS  136におけるデータ構造と
、ページ上のカーソルの絶対位置及び大きさに対するカ
ーソルの位置とを決定したので、LDS  162に含
まれる情報を用いることによりこのスクリーン上のカー
ソルの位置及び大きさを決定しなければならない。先に
説明したように、各LDS  162はそのページに相
対するラインに関する情報を含む。
そのライン、そのラインのLDS  162は、5SS
160の現在ライン・ポインタ840のフィールドによ
り配置される。次いで、ば−ジ上のカーソルの絶対位置
及び大きさを識別する前記説明の情報と関連して、その
LDS  162の開始位置902)ライン・ポインタ
の開始ユニット904、及び開始位置906のフィール
ビを用い、そのスクリーン上のカーソルの位置及び大き
さを判断することができる。
EB  128及びLUS  130のデータ構造に相
対して、また静的な場合のそのスクリーンに対してカー
ソルの位置及び大きさを決定する方法を説明したので、
ユニット内のカーソル移動の場合に、これらの要素の決
定を次に説明しよう。以下の説明の都合から、カーソル
が通過する特定ユニットには1よシ多くのキャラクタ又
はシンボルが含まれると仮定したことに注意すべきであ
る。ユニットが1キヤラクタ又はシンボルのみを含む場
合は、ユニット間のカーソルの移動のうちの一つとなり
、以下で説明する。
この場合には、エディターが先ずKB  114のカー
ソル・キーにより指示した方向にEB  128におけ
るユニットの次のキャラクタ・コードを配置しなければ
ならず、また以上で説明したように、キャラクタ又はシ
ンボルの「ボックス」を構築しなければならない。説明
したように、与えられたユニット情報するキャラクタ、
シンボル、オペレータ、パラメータ、ターミネータ・コ
ードは当該ユニットのEU  134のス) IJyグ
が・互いに隣接している。
先に説明したように、EB  128におけるデータ構
造に関するカーソルの現在位置は、 SSS  160
の現在キャラクタ・バッファ位置852)現在キャラク
タ番バッファ開始853、現在キャラクタ・バッファ終
了854、及び現在バッファ位置858のフィールドに
よシ識別される。これらのフィールドはそれぞれカーソ
ル位置に対応するキャラクタ・コード、パラメータ・コ
ード、又はターミネータ・ニーVであっても、当該キャ
ラクタ・コードと関連して、最初と最後のデータ要素と
のE13 128の開始に関連するオフセットを識別す
る。
例えば、ユーザーがカーソルを現在キャラクタ・バッフ
ァ終了854後の次のキャラクタに、即ちコードのスト
リングの右に移動するように指示したと仮定すると、所
望のカーソル移動、即ち1キヤラクタ及び(又は)シン
ボルだけ右への増加がキャラクタ対位置877のフィー
ルド9に記憶され、移動の理由が位置形式878のフィ
ールド9に記憶される。
先に説明したように、初期カーソル位置情報はSSS 
 160の現在キャラクタ・バッファ位置852)現在
キャラクタ・バッファ開始853、現在キャラクタ・バ
ッファ終了854及び現在バッファ位置(8)に記憶さ
れる。現在キャラクタ・バッファ開始853 (iDフ
ィールドに最初に存在するオフセットは、1だけ増加さ
れた現在キャラクタ・バッファ終了854に存在するオ
フセットにより置換される。
従って、現在キャラクタ・バッファ開始853における
新しいオフセットは次のキャラクタ・ニーげ及びシンボ
ル・コードと関連した最初のコードを指示する。この最
初のコードは次のキャラクタ及び(又は)シンボル−コ
ードそのもの、又はオペレータ・コードでよい。次に、
パーサ−148はこの点から順方向に読み出して現在キ
ャラクタ・バッファ位置852のフィールドに配置する
オフセット値を見付は出し、次のキャラクタ及び(又は
)シンボル・コードを指示し、次のキャラクタ及び(又
は)シンボル・コードに関連した最後のコードを見付は
出し、現在キャラクタ・バッファ終了854のフィール
ドに適当なオフセットを配置させる。
現在キャラクタ・バッファ位置853のフィールド9に
書き込まれたオフセットを現在バッファ位置858のフ
ィールドに書き込むこともできる。
ユーザーがカーソル−1EB  128におけ、bコー
ド・ストリングによシカ方向に移動するように命令を出
したときは、処理は以上で説明したものと異なる。この
場合は、エディターが対応するUS136ノスタート・
ストップ516 及rJ S T p、RTCHAR5
18のフィールドによって決定される(従い、現在EU
  134の開始に移動させる。次に、エディターは、
現在キャラクタ・バッファ終了854がカーソル開始か
らキャラクタの現在キャラクタ・バッファ開始853よ
シ1つだけ小さいキャラクタ・コードに到達するまで、
EU  134のコート’ tl−先頭から読み出すこ
とになる。次に、エディターは新しいこの現在キャラク
タ・バッファ終了854に対応する現在キャラクタ・ノ
ミッファ位置852及び現在キャラクタ・バッファ開始
853を判断すると共に、新しい現在キャラクタ・バッ
ファ終了854は新しいカーソル位置に対応し、かつ現
在バッファ位置858のフィールドに書き込まれている
EB  128によシカ−ツルを後方に移動させるこの
方法がEB  12Bにおけるコード構造及びシーケン
スの点で十分な普遍性が得られるように選択されるので
、EB  128のコード及びそれらのシーケンスをエ
ディターの全ての機能を大幅に変更することなく、変更
可能にしていることに注意すべきである。他の実施例と
して、EB  128によりカーソルの後方移動を、以
上で説明した前方移動と同じような方法で行なってもよ
い。この場合は、1だけ減少した現在キャラクタ・バッ
ファ開始853からのオフセットにょシ、現在キャラク
タ・バッファ終了854のフィールビにおけるオフセッ
トを置換し、これによって前のキャラクタ及び(又は)
シンボル・コードに関連された前のコード・グループの
終端を指示している。次に、パーサ−148はこの点か
ら後方へ、又は左方へ読み出しをし、現在キャラクタ・
バッファ位置852)現在キャラフタ・ノミノファ開始
853及び現在バッファ位置858ノフイールドに置換
する新しいオフセットに見付は出す。
以上のステップによりEB  128のデータ構造に関
連する新しいカーソル位置を識別した。EU134に対
応するUS  136はそのままであり、5S8160
の現在ユニット・データ・ポインタ843のフィールド
ヲ介して識別される。先に説明したように、US  1
36はカーソルを配置しているユニットの物理的及び可
視的な表示を構成するのに必要な全ての情報を含んでい
る。カーソル・ルーチンは再びパーサ−148ヲ呼出し
、EB  128から符号化されたユニット情報、及び
対応するUS  136からユニット構造情報を読み出
し、カーソルの新しい位置でユニットのキャラクタ又は
シンボルについてR−ジ上の物理的な位置及び大きさを
決定する。
以下に説明するように、ER156は、新しいカーソル
位置でキャラクタ又はシンボルに含む「ボッノクス」に
ついてページ上の物理的な位置及び寸法を示す「現在キ
ャラクタ・ボックス」及び[基準ボックス」を構築する
。更に、「ボックス」の下端の位置及び大きさを定める
「ボックス」の値は、R−ジ上のカーソルの位置及び大
きさを識別し、この情報をSSS  160の現在カー
ソル位置865のフィールドに記憶することができる。
EB  128及びUS  136におけるデータ構造
に対するカーソルの新しい位置と、ページ上のカーソル
の絶対位置及び大きさを決定したので、再び現在スクリ
ーン上のカーソルの位置及び大きさをSDS  164
に含まれている情報を用いて決定する。
先に説明したように、各SDS  164はそのページ
に対するスクリーンに関する情報を含む。現在スクリー
ン、即ちそのスクリーンのSDS  164はSSS 
 160の現在スクリーン・ポインタ837により配置
される。ば−ジ上のカーソルの新しい絶対位置及び大き
さを識別する前記説明の情報に関連して、そのSDS 
 164のスクリーン頂部1004 、開始位置100
6及び現在位置1008のツイールドラ用い、現在スク
リーン上のカーソルの新しい位置及び大きさを決定する
ことができる。
F’、1.Cユニット間のカーソル位置(第12A例え
ば、カーソルを現在配置しているキャラクタ及び(又は
)シンボルがカーソル全移動させる方向のユニットにお
ける最終キャラクタ及び(又は)シンボルであるとき、
又はこの場合の特定tllとして、ユニットが1個だけ
のキャラクタ及び(又は)シンボルを有するときは、第
1ユニットから他のユニットへカーソルの移動が発生す
る。
他の例として、カーソルが元のユニットの基準ラインで
はない方向、例えば1つのキャラクタから当該キャラク
タに付加されたスクリプトへ移動するように指示された
ときは、カーソルも第1のユニットから他のユニットに
移動することもできる。
先に説明したように、最初のステップでは、カーノルを
移動させる方向、及びその移動理由に表わす入力がキャ
ラクタ対位置877及び位置形式878のフィールドゝ
にそれぞれ記憶される。
次に、エディターは、カーノルを移動させる方向におい
てそのユニット内の他のキャラクタ及び(又は)シンボ
ル・コードが存在するか、即ち移動がユニット内か又は
1つのユニットかう他のユニットへのものであるか否か
を判断しなければならない。エディターはそのカーソル
位置でキャラクタ及び(又は)シンボルと、当該キャラ
クタ及び(又は)シンボル・ニー)’ k 含ムユニッ
トのEB  128内の位置及び範囲に対して当該キャ
ラクタ及び(又は)シンボル・コードに関連した他のコ
ートゝとを有するコード・グループのEB  128内
の位置及び範囲と比較することにより、この処理を実行
する。
また、先に説明したように、現在カーソル位置でキャラ
クタ及び(又は)シンボル・コードを含む、又は関連さ
れるコード・グループの位置及び範囲は、現在キャラク
タ・バッファ位置852 、 現在キャラクタ・バッフ
ァ開始853及び現在キャラクタ・バッファ終了854
のフィールド9により、EB  128におけるデータ
構造について識別される。
キャラクタ及び(又は)シンボル・コードを含むユニッ
トのEB  12S内の位置及び範囲は、対応するUS
  136の5TARTPO3516、S’rARTC
HARs18 及びELTLENGTH520の7 イ
ー /L/ )’により識別される。
ユニットが現在カーソル位置にキャラクタ及び(又は)
シンボル・コードを含むか、又は関連されるニー)#−
グループ内に含まれているニーVではなく、カーソルの
方向に更にコードを含むときは、エディターはユニット
内のカーソル移動について以上で説明したように、当該
方向のキャラクタ及び(又は)シンボル・コードを更に
検索する。
エディターは、カーソル移動方向のユニット内にキャラ
クタ及び(又は)シンボル・ニー)−#ヲ更に見付けた
ときは、ユニット内のカーソル移動に関連して以上で説
明した方法により、当該の次のキャラクタ及び(又は)
シンボル・コードにカーソルを移動させる。
カーソル移動の方向にユニットに1以上のキャラクタ及
び(又は)シンボル・コードがないことが比較によシ明
らかとなったときは、又はカーソル移動が当該ユニット
の基準ラインに沿っていないときは、カーソルは他のユ
ニットに移動することになシ、当該ユニットを配置しな
ければならない。先に説明したように、各ユニットのU
S  136はその全てのユニットに対するポインタ・
グループ、即ちユニットに関連するUS136i含む。
従って、03 136及びポインタは実質的に複数のポ
インタによシ結合されたUS  136のツリーを有し
、エディターはUS  136の当該ツリーを介するこ
とにより次のユニットを位置付けし、続いてポインタが
US  136を結合させてもよい。
US  136のツリーによるカーソル技法を説明する
前に、一部、カーソルがUS  136のツリーを介し
た経路をカーソル・キー規則が決定する際、エディター
の当該実施例で採用したカーソル・キー規則を説明する
必要がある。またカーソル・キー規則は処理しているテ
キストの特定の構造に依存する。当該インターフェース
がカーソル移動を含むエディターに関連してユーザーの
全ての処理全実行する際に、一般的に、かつエディター
に関して特に、KB  114によるシステムのユーザ
ー・インタフェースを考えることも必要である。
ユーザー・インタフェースにおけるテキスト構造の影響
を先ず概要的に、また特にカーソル移動を説明すると、
例えば英語のテキストにおいて、テキストのラインがペ
ージ上を左から右へ水平に通シ、連続的なラインがペー
ジ上で上から下へ現れる。このテキスト構造のために、
この一般規則に従い、テキストに用いる標準的なキーボ
ードは4つのカーソル・キー、即ち右(東)キー、左(
西)キー、上(北)キー及び下(南)キー會備えている
通常は、右(東)キー及び左(西)キーのカーソル・キ
ーをラインを横切ってカーソルを左右に移動させるのに
用い、上(北)キー及び下(南)キーをラインの垂直移
動に用いる。他の規則では、例えばページ上の頂部から
底にテキストのラインが延び。
右から左へ連続的なラインが現れるときは、上下のカー
ソル・キーがテキストのラインに沿ってカーソルを移動
させ、左右のキーがライン間を移動させることになる。
次の説明及び例では、エディターが標準的な英語のテキ
スト構造、即ちテキストのラインが左から右へページを
横切り、かっば−ジ上で連続的なラインが頂部から底部
へ現れるものと仮定する。例えば先に説明したように、
カーソル・キーを再び割シ当てることによシ、エディタ
ーを他のテキスト構造に容易に適合させることができる
ことは、当該の技術分野において当業者にとり明らかで
ある。
従って、この規則においては、一般規則として、右(東
)及び左(西)のカーソル・キーは互いにその基準ライ
ンに沿って前方及び後方移動を指令し、一方上(北)キ
ー及び下(南)キーはライン分割内のラインからライン
へのカーソルの移動を含め、ラインからラインへカーソ
ルの上下移動を指令する。
左右のカーソル・キーにより指令される移動を更に説明
すると、カーソルが移動する基準ラインがそのラインの
もの、又はスクリプトやライン分割のラインのものであ
り得る。カーソルが基準ラインに沿って移動することに
よシ現在基準ラインの終了に達したときは、カーソルは
カーノルの移動の方向に従って、次に高い又は低い基準
ラインに移動する。カーソルがライン分割のライン内に
あるときは1次に低い又は高いラインはライン分割の次
に低い又は高いラインである。しかし、行(べきライン
分割に次に低い又は高いラインがないときは1、カーノ
ルは次に又は前のユニットに移動する。最後に、カーソ
ルがスクリプト・ユニット内にあり、かつスクリプトの
基準ラインの終了に達したときは、カーソルはスクリプ
ト・ユニットの基準ユニットに移動する。
先に説明したように、上下のカーソル・キーはカーノル
をラインからラインへ垂直に移動するように指定してい
る。カーソルがライン分割内にあるときは、上下キーは
カーソルをライン分割内でラインからラインへ移動させ
る。しかし、カーソルがライン分割円全移動して、頂部
又は底部ラインに達したときは、次の垂直移動はに一部
上でそれぞれ次に高い又は低いラインとなる。スクリプ
ト・ユニットは再びこの一般規則の例外となる。
即ち、垂直移動のいずれかの方向が示され、一方カーソ
ルがスクリプト・ユニットにあるときは、カーソルはス
クリプト・ユニットの基準ユニットに移動する。
生起する通常のテキスト構造に加えて、このエディター
は、例えば標準的な英語のテキストにおいて、スクリプ
ト・ユニット及び区別的発音符号キャラクタ、並びにラ
イン分割及びバー拳ユニットを生成し、編集可能にして
いる。これらのテキスト構造は、標準的な英語のテキス
トの点で通常ではなく、当該装置、及びKB  114
によるエディターに対し、特にこの実施例ではカーフル
の移動に対して全体的なユーザー・インタフェースを行
なう。先に説明したように、また以下で更に詳細に説明
するように、エディター及びエディターのカーノル機構
はスクリプト・ユニット及び区別的発音符号キャラクタ
をライン分割及びバー・ユニットから区別して取9扱う
。スクリプト・ユニットの場合を以下で更に説明し、続
いてライン分割及びバー・ユニットの゛場合を含む全体
的なカーソル移動の説明をする。関連する区別的発音符
号を有するキャラクタの構築の以下の説明では、区別的
発音符号の特殊な場合を別個に行なう。
先ず、以上で説明したカーソルの移動の概要規則に対す
るスクリプト・ユニット例外を説明すると、スクリプト
・ユニットに生成するためにエディターを指示するもの
と同じような方法で、スクリプト位置に対するカーソル
の移動を指令している。即ち、ユーザーがKB114’
l−介し、即ちい(つかのキーの操作、即ち押すことに
応答して、KB  114が発生したオペレータ・コー
ド全入力することにより、エディターを指示してスクリ
プト・ユニットを生成するのと同一方法で、エディター
はスクリプト位置にカーソルを移動させる。
当該技術分野で良(知られているように、システムに対
して特定の入力コード全発生するために、キーボードの
割シ当てが可能な多くの方法及び構成がある。多(のシ
ステムでは、最も頻繁に用いるキャラクタ及びシンボル
、例えば多(のキーボードゝで見られるアルファニュー
メリックキャラクタ、数字、及び欅準的なシンボルに対
応したコードヲ発生するように、大部分のキーを固定的
に割シ当てている。他のい(つかのキー全キーボービに
付加【7、頻繁に用いられるい(つかの処理に割り付け
ることができる。例えば、ワード処理で主に用いられる
システムでは、付加的に割り当てたいくつかの機能キー
を、例えば挿入、削除、前のページ、次のページ、ペー
ジ、インデント・コピー、及び移動処理等に対応した入
力制御コードヲ発生するために割シ当てられることが可
能である。最後に、現在実行(−ているプログラムによ
るいくつかの機能に、いくつかの付加的なプログラマブ
ル・キー又は複数のキーの組合わせを割り当てることが
できる。
このエディターの実施例は、KB  114のプログラ
マブル機能キーのいくつかについてこの後者の使用例で
ある。例えば、KB  114の第1のプログラマブル
機能キーは、エディターによシ割り轟てられ、ユーザー
が操作したときに、スクリプト・ニー1−″′を発生す
る。スクリプト・キー全押したときは、プリサブスクリ
プ゛ト、アンダースクリプト、又はサブスクリプト全表
わす下スクリプト・コードヲ発生する。スクリプト・キ
ーをシフト・キーと組合わせて押したときは、プリスー
パースクリプト、オーバースクリプト又はスーパースク
リプトを示す上スクリプト・コードが発生する。スクリ
プト・キー、又はスクリプト及びシフト・キーをそれぞ
れ用いることにより、下スクリプトか、又は上スクリプ
トかを選択したので1次にそれぞれの場合にユーザーが
カーソル・キーを用いることにより爵、3通りの可能性
から選択する。例えば。
使用によシアツバ−・・スクリプト1−選択したときは
、ユーザーは左、上又は右カーソル・キーをそれぞれ操
作することによシ、プリスーパースクリプト、オーバー
スクリプト、及びスーパースクリプトから選択する。同
様に、ユーザーが下スフリプトラ選択したときは、ユー
ザーは左、下又は右カーソル・キーをそれぞれ操作する
ことによシ。
プリスーパースクリプト、アンダースクリプト、及びサ
ブスクリプトから選択することができる。
ユーザーは同様の方法で、即ちスクリプト、又はスクリ
プト及びシフト・キーを介して下又は上スクリプト位置
への移動を指示することにより、既に存在するスクリプ
ト位置にカーソルを移動させることができる・ スクリプト位置にカーソルを移動したので、ユーザーは
、先に説明したように、左右のカーソル場キーを用いる
ことにより、スクリプト・ユニットの基準ラインに沿っ
て移動することができる。
しかし、上下のカーソル・キーは次に高い又は低いライ
ンに移動させることにはならない。これに代わって、ス
クリプト位置にある間に、上下のカーソル・キーの操作
はカーソルをスクリプトの基準ラインに戻すことになる
このエディターの全体的なカーソル規則と、全体的規則
に対する重要な例外、即ちスクリプト・ユニットへ又は
これよりの移動とを説明したので。
バー・ユニット及びライン分割を含むユニット間の全体
的なカーソル移動を、第12A図及び第12B図により
更に詳細に説明しよう。第12A図及び第12B図はそ
れぞれテキストの例示部分及び対応するUS  136
のツリーの概要図を表わしている。
第12A図を先ず参照すると、このテキスト部分の例は
6ユニットからなる。第1のユニットはwA@を含む。
第2のユニットは第1のユニットからのスーパースクリ
プト・ユニットであシ、キャラクタ121を含む。第2
のユニットに対するターミネータ・オペレータ、疑似リ
ターンをスクリーン上に表示できるように示しているこ
とに注意すべきである。第3及び第4のユニットは2ラ
インをなすライン分割のライン・ユニットであシ、第1
のライン・ユニットはキャラクタ”B” i有し、第2
のライン・ユニットはキャラクタ”C@?有する。
ライン分割・オペレータは、スクリーン上に、即ち垂直
線により出現可能であると共に、2つの水平線が右に延
びて、ライン分割のライン・ユニットの基準ラインを示
し、かつ各ライン・ユニットが疑似リターンによって終
結されていることに注意すべきである。
第5のユニットは、キャラクタlpl及びIglはオー
バーバーを有するバー・ユニットである。バー・ユニッ
トに関連して、キャラクタ13)I及び°E°上のバー
の存在により、“D“の直前及び°E”の直後でそれぞ
れ開始バー及び終了バー・オペレータを表わすことに注
意すべきである。第6のユニットは@1ile及び付加
プロップを有し、ここではキャラクタ1F″に続いて更
にテキストが接続することを示す。
第12B図を参照すると、ここに示されているように、
テキスト部分の例の各US  136が円によりて表わ
されておシ、各US  136の円にはユニットに含ま
れる表示可能な複数のキャラクタ又はシンボルの表示が
ある。ユニツ)f結合するポインタはポインタの名称を
有する矢印により、例えば対応する矢印全治って示され
たスフリプ) (SCR工PT)、ライン分割(LIN
ESPL工T)(LS  O又はLSI)により示され
ていることに注意すべきである。
1F1及び付記プロップを含む第6のユニットは次のユ
ニットであり、更に最初のユニット、即ち”A” 2含
むユニットは前のユニット(そのものは図示していない
)に対する前(PREVIOUS)、1インタを有する
ものとして示されている。ここでは明確に示していない
が、各ユニットは当該ユニットに対する前のユニットに
戻る前(PREV工0US)Hセインタを有する。例え
ば、第2のユニット、即ちスクリプト・ユニットは第1
のユニットに戻る前(PREV工0US)、+?インク
を有し、第3、第4、第5及び第6のユニットも同様で
ある。以下の説明の都合から、第6のユニット、即ちI
Pに更にテキストが続くときは、第6のユニットは次の
ユニットに対する複数のポインタを更に有すること、付
記プロップはこれらの従属するユニットのうちの一つに
現れること、従属するユニットのうちの一つは第6のユ
ニットに戻る前(PREY工OUS )ポインタ金有す
ることに注意すべきである。
説明の都合から、カーソルは最初、第1のユニットのl
A1にあること、ユーザーはカーソルの右移動、即ちE
B  128を介する前方金示すものと仮定したときは
、エディターは第1のユニットに対して、即ちfAlに
対する次のユニノトヲ決定しなければならない。第12
A図に示すように、テキストの可視的な表示の点から、
スーパースクリプト12”全含む第2のユニット、’B
’ i含む第3のユニット、。C”を含む第4のユニッ
トは次のユニットと見做すことができる。しかし、第1
2B図に示すように、US  136のツリー構造の点
から、第2)第3、第4、第5又は第6のユニットのい
ずれか一つを次のユニットと見做すことができる。
先に説明したように、スクリプト・ユニットへ又はこれ
からのカーソル移動は、KB  114 k介してユー
ザーにより直接選択又は制御されるので、スクリプト・
ユニットが次のユニットであるか否かの問題はユニット
により直接解決される。しかし、カーソルの移動のため
に次のユニットとして、ライン分割ユニット、バー・ユ
ニット及び前後のユニットから選択することは、以下に
説明するように、エディターの本実施例ではそのエディ
ターによシ解決される。
先に説明したように、各ユニットのUS  136は’
flt造ポインタ・グループ514のユニットに関連し
た他の全てのユニットに対するポインタを有する。
ユーザーが指示するカーソル移動の方向と共に、このエ
ディターが構造ポインタ・グループ514におけるポイ
ンタの順序を用い、カーソル移動の都合から、カーソル
が現在存在しているユニットに関連するどのユニットが
次のユニットとなるかを決定する。即ち、指示されたカ
ーソル移動がEB128ヲ介して前方(この実施例では
右方)であると仮定すると、エディターはこのユニット
のUS136のL工NESPL1.TUN工T562)
BARUN工T564 、 NEXTUNIT  56
6及ヒPREVUN工T 568のフィールドヲその順
序で読み出し、それぞれの場合についてこのユニットに
関連したユニットが存在するか否かを判断する。与えら
れた順序でこのユニットの構造ポインタ・グループ51
4を読み出したときに、見出される関連の第1のユニッ
トは、エディターにより次のユニットであると判断され
る。
エディターは、この処理により「次の」ユニットに見付
けたときは、現在のUS  136の構造ポインタ・グ
ループ514から適当なポインタ全読み出し、そのポイ
ンタ1sss  160  の現在ユニット・データ・
ポインタ843のフィールド9にロードして「次の」ユ
ニットが現在ユニットとなる。次に、エディターは当該
−L ニット(7) US  136 (7) 5TA
RTPO3156,5TARTCHAR518、及びE
LTLENGTH520のフィールビを読み出し、また
パーサ−148を介して対応する符号化ユニット、即ち
EB  128からのEU134’e読み出して構文解
析し、当該EU134におけるコード・グループである
第1グループの最初及び最終データ・キャラクタ及び(
又は)シンボル・コードのオフセラ)=iEB128に
決定する。次に、この情報はSS8160の現在キャラ
クタ・バッファ位置852)現在キャラクタ・バッファ
開始853、及び現在キャラクタ・バッファ終了854
のフィールビに書き込まれ、カーソルが移動したユニッ
トにカーソルの最初の位置全決定する。次に、エディタ
ーは、以下に説明するように、キャラクタ及び(又は)
シンボルの「ボックス」を構成し、これも先に説明した
ように、ページ及びスクリーン上のカーソルの位置及び
大きさを決定する。カーソル移動は、先に説明したよう
に、新しいユニット内で継続することができ、必要なら
ば、先に説明したように、他のユニットに対して継続す
ることができる。
この実施例に以上で説明した処理を適用すると、第12
図及び第12図の第1ユニットから、即ちlA″から右
へカーソルの移動が指示されると、ライン分割の最上部
のライン・ユニットに、即ち−B@*含むユニットに移
動することになる。最初のユニットに関連したライン・
ユニットが存在しなかったときは、エディターはカーソ
ルをバー−ユニットのIDIに移動させ、またライン分
割又はノζ−・ユニットが存在しなかったときは、カー
ソルを“F“及び付記プロップを含む「次の」ユニット
に移動させる。
引き続きこの実施例において、ライン分割の最上部のラ
イン・ユニットに現在配置されている佼カーソルは、先
に説明したように、このライン・ユニットに沿って右移
動を連続すると、最終的に基準ラインの終端を読み出す
ことになる。ライン分割に次のライン・ユニットが存在
しないときは。
カーソル分戸1の次のラインΦユニットへ、又は次のラ
イン・ユニットへ降下しなければならない。
エディターはこの処理ヲ絆了すると、再び以上で説明し
た処理を行なう。即ち、エディターは説明した順序でこ
のユニットのUS  136の構造ポインタ・グループ
514のフィールドヲ読み出し、次のユニットに配置す
る関連の最初のユニットに決定する。この実施例では、
カーソルがライン分割の最上部ライン・ユニットのUS
  136内に現在存在し、エディターが当該ユニット
の構造ポインタ・グループ514のフィールドを読み出
すことにより。
「次の」ユニットを検索する。第12B図に示し、また
先にも説明したように、ライン分割の最上部のライン・
ユニットのUS  136はUS  136のツリーの
当該分岐に沿う最終ユニットであって、最初のユニット
に戻るPREVUN工T568のポインタを除けば、ポ
インタを含んでいない。従って、エディターは最初のユ
ニットのUS  136に戻るPREVUNITポイン
タに従い、復帰したばかりのユニットに対するポインタ
に続(、次に利用可能なポインタを最初のユニットの構
造ポインタ・グループ514に見出すことによシ、「次
の」ユニツl決定する。本実施例の場合に、この次のポ
インタは、ライン分割の第2のライン・ユニットに対す
るものであり、従ってライン分割の第2ライン・ユニッ
トは、先に説明したように、カーソルとして移動した「
次の」ユニットとなる。要約すると、エディターがUS
  136のツリーの分岐の終端に達したときは、エデ
ィターは前のユニット・ポインタ、又はツリー構造にお
いて最初に利用可能なポインタに、即ち通っていない分
岐を有する最初のUS  136に戻る複数のポインタ
に従い、また次に利用可能な分岐?見出して追い1次の
ユニットを見出す。
第12A図及び第12B図の例によシ、カーソルを連続
的に右方向に移動させるこの処理に続き、工、ディター
はライン分割の最初のユニットの終端まで右方向のカー
ソル移動管続け、次いで最初のユニットに戻って最初の
ユニットの構造ポインタ・グループ514のフィールド
にある順序シーケンスのポインタにおいて次に利用可能
な分岐を見出して従う。この次の分岐はライン分割の第
2ライン・ユニットに対するものとなり、最初のユニッ
トの構造ポインターグループ514のライン分割ポイン
タにおいてLSI  ポインタにより指示される。
カーソルを連続して右方向へ移動させることにょシ、エ
ディターはライン分割の第2ライン・ユニットの終端を
見出し、最初のユニットに戻り、即ち最初のユニットの
BARUNIT  564 のフィールドにおけるポイ
ンタにより指示されたバー・ユニットに戻り、次に利用
可能な分岐を見付ける。バー・ユニットの終端に向かっ
てカーソルを右方向へ移動し続けることにより、エディ
ターは最初のユニットに戻す、再びシーケンスで次に利
用可能なユニットへ−の分岐を見付ける。次のユニット
は1F′1及び付記プロップを含むユニットとなり、最
初のユニットのNEXTUNIT  566のフィール
ド1のポインタによシ指示され、以下同様となる。
先に説明したように、“F” 2含むユニットがテギス
トにおける最終ユニットでないときは、以上で説明した
方法により、エディターはIFIユニットから先へ複数
のポインタのツリー及びUS  136に従うことによ
り、カーソルの右方向移動金続ける。
最後に、EB128に介して後方に、即ち第12A図及
び第12B図の本実施例における左へカーソル全移動さ
せる場合は、エディターの処理は分岐の横切りが逆順に
あることケ除き、以上で説明したものと同様である。即
ち、与えられたユニットから後方へカーソル全移動する
ために方向が与えられ、エディターは前のユニットに戻
る当該ユニットのPREVUNITポインタに従い、多
重の順方向分岐を有するユニット、例えばこの実施例に
おける最初のユニットに達するまで、これ勿継続する。
このようなユニットに達成すると、エディターは逆順に
、即ちBARUNIT  564及び可能なLINES
PL工T562のポインタ順序で、当該ユニットの構造
ポインタ・グループ514ヲ介して検索して、エディタ
ーが丁度来たユニットのポインタに対し、その次に前の
ポインタを見出す。
本実施例を説明し、またカーソルが最初に第12A図の
最終ユニットに、即ちIFI及び付記プロップを含むユ
ニットにあると仮定すると、左移動のカーソル指示によ
り、カーソルはこのユニットのPREVUNIT  5
86のポインタを読み出し、指示されたUS  136
、即ち第1ユニットのUS  136を見出す。説明し
たように、最初のユニットは多重の順方向分岐を有し、
エディターはカーソルに最初に配置したユニットに対し
て、どの分岐が次に前のユニットに対するものであるか
を判断しなければならない。
第12B図に示すように、可能とする分岐はバー・ユニ
ットヲ含む第5ユニットに対するBARUNITポイン
タと、ライン分割の第2のライン・ユニットに対するL
SIポインタと、ライン分割の第1のライン・ユニット
に対するLSOポインタとにより示される。エディター
は、順方向のカーソル移動のために検索したものと逆方
向に最初のユニットの構造ポインタ・グループ514全
検索し、カーソル全移動させたばかりのユニットに対す
る次のポインタに対して、その次に前のポインタを見出
す。
本実施例では、エディターはバー・ユニットに対するB
ARUN 工Tポインタを見出し、バー・ユニットにお
いて最終キャラクタに、即ちIEIにキャラクタ全移動
させる。カーソルが更に後方に移動するように指示され
たときは、最初のキャラクタ又はシンボル、この場合は
バー・ユニットのIDlに達するまで、エディターはこ
のユニットの最初のキャラクタ及びシンボルを介してカ
ーソルr後方に移動させる。カーソル電画び移動させた
ときは、エディターは最初のユニットのUS  136
に戻るバ、ユニ7 トのPREVUNIT、+?イ7夕
に従い、第1ユニットの構造ポインタ・グループ514
のフィールド全介して後方全検索し、ライン分割の第2
のライン・ユニットに対するLSIポインタを配置し、
カーソルをライン分割の第2ラインへ移動させる。カー
ソルを連続して後方に移動させることにより、エディタ
ーはライン分割の第2のライン・ユニットヲ介してカー
ソルをライン分割の第2のライン・ユニットへ後方へ移
動させる。次に。
エディターは第1ユニットのUS 136に戻る第2ラ
イン・ユニットのPREVTJN工T4インタに従い、
再び最初のユニットのポインタで介して後方にポインタ
からライン分割の第2のライン・ユニットへ検索する。
説明したように、次のポインタはライン分割の最初のラ
イン・ユニットに対するものである。テキス)f介して
カーソルr後方へ移動させるこのような処理は、エディ
ターが最初のユニットからの前方分岐の全てを行なうま
で、継続する。更にカーソルの後方移動を指令したとき
は、エディターは最初のユニットの前のユニットに戻る
最初のユニットのPREVUNITポインタに従い、先
に説明したようになる。
EB128t−介する両方向に1以上のユニット間のカ
ーソル移動を説明したので、以下ではテキストのライン
間におけるカーソルの移動上説明しよう。区別的発音符
号に関するカーソル移動については、以下の区別的発音
符号の構成の記述において説明しよう。
例えばユニットによる命令の指示により、又は当該ライ
ンの終端に達する1ラインに沿ってカーソルが移動した
結果として、テキストのライン間の移動が発生すること
があり、他のライン上にある次のキャラクタ及び(又は
)シンボルへ連続するように指示される。しかし、先に
説明したように、このオペレータが処理しようとしてい
るテキストは多次元、多方向、又はそれらの両方であり
、キャラクタ及びシンボルは必すしも均一な寸法又は比
率ではな(、またスクリーン又はドキュメントに、又は
互いの関係で必ずしも均一、予測可能又は規則的な方法
で配置されることもない。このために、テキストのライ
ン間のカーソル移WJ葡他のラインに対して垂直にカー
ソル全移動させることだけでは実行することはできない
。即ち1次のラインの基準ラインは現在ラインから容易
に知ることができを固定された距離に存在せず、キャラ
クタ及び(又は)シンボルはライン間で必すしも互いに
垂直に整列されていない。
以上の理由から、1つのラインから他のラインへのカー
ソルの移動はこのエディターにおいて直接的な垂直移動
によっては実行されない。これに代わって、1つのライ
ンから他のラインへのカーソルの移動は、移動したライ
ンの開始に対するものであり、このカーソルを新しいラ
インから所望の位置に移動させるものである。
第1ステツプにおいて、エディターは新しいラインへの
カーソルが必要なことを判断しなければならない。エデ
ィターはユーザーのカーソル命令入力からこのことを、
例えばカーソルがそのラインから上下に移動するもので
あること、又は指示されたカーソル移動がこのラインの
終端を通過して行(ことを判断することによって、判断
することができる。後者の場合に、先に説明したように
、カーソル移動の方向に従い、ツリーの最終ユニットを
配置したとき、即ちツリー構造を介してこれよシ前又は
後の経路が存在しない点に達したときに、カーソルがラ
インを有するUS  136のツリーを通る間に、エデ
ィターがラインの終端を検出する。
他のラインのカーソル移動を指示したときは。
エディターは次のライン及び次のラインの最初のユニッ
ト全配置しなければならない。第8A図及び第8B図に
示したように、また先に説明したように、SSS  1
60は現在スクリーン・グループ80Bに一組のライン
ーデータ・ポインタ893t−有し。
ライン・データ・ポインタ893はそのに一部のLDS
  162に対するポインタを含む。これらのポインタ
及びLDS  162は順序付けられたアレイ全有する
ので、ライン・データ・ポインタ893及び対応するL
DS  162 f:増分又は減分することにより、次
のラインを配置することができる。しかし、次に行くべ
きラインがないいくつかの場合もあることに注意すべき
である。カーソルが第1ラインを介して、又は最終ライ
ン勿介して移動しているときは、このような場合が発生
する。前者の場合は、ラインの第1ユニットの開始に達
したときにエディターにより検出され、第2の場合はツ
リーの最終ユニットの終端に付加プロップが存在するこ
とによシ検出される。後者の場合は、ユーザーが更にテ
キストを付加することによシこのラインを継続すること
、又は新しいラインを開始することが可能である。前に
関連して、次のライン又は前のラインへの移動も次のス
クリーン又は前のスクリーンへの移動が必要となる。
続いて1次のラインに対応するLDS  162は、先
に説明したように、EB  128における当該ライン
の第1ユニツ) (1134)の開始に対するオフセッ
ト・ポインタを含む開始位置902のフィールビと、対
応するラインの最初のUS  134に対するポインタ
を含むライン・ポインタの開始ユニット904のフィー
ルドとを有する。このポインタは383 160の現在
ユニット・データ・ポインタ843のフィールド1に書
き込まれる。次に、カーソルは、ユニット間の移動に関
連して以上で説明したような方法で、新しいラインにお
ける最初のユニットに移動又は表示される。この処理に
にいて、現在キャラクタ・バッファ位置852)現在キ
ャラクタ・バッファ開始853及び現在キャラクタ・バ
ッファ終了854のフィールド9はカーソルにより占有
されている新しいユニットの更新をし、現在キャラクタ
・ボックス882及び現在基準ボックス簡2のフィール
ド′は新しいカーソル位置でキャラクタ及び(又ハ)/
ンボルに対して構築され、カーノル全ページ及びそのス
クリーン上に配置して大きさを定める。
カーソルがラインに移動することになっているときは、
奮しいライン全実際には「構成」することができないこ
と、即ちEB  128に存在することができるが、対
応するUS  134はLUS  130に存在するこ
とができないことに注意すべきである。
この場合に、先に説明したように、エディターはパーサ
−148を呼出し、またパーサ−148ばEB128か
らラインのEEU134に読み出す。次に、エディター
はライン拳ポインタの開始ユニット904、開始位置9
06及びライン寸法908情報ケラインのLDS  1
62に書き込み、先に説明したステップにより処理分道
める。
新しいラインが未だ存在しない場合は、先に説明したよ
うに、EU  134のコードをEB  128に設定
する際に、エディターは先ず新しいラインの第1のUS
136に生成しなけれはならず、また5SS160のラ
イン・データ構造ポインタ832に対応して入力するこ
とにより新しいLDS  162 を生成しなげればな
らない。全説明した方法により。
LDS  162 ’に生成するに従って、エディター
はカーソル全新しいユニットに移動させる。
このエディターのカーソル処理〒説明したので、次にい
(つかのテキストの生成及びエディツト処理全説明しよ
う。以下で説明する処理のうちで、エディター・テキス
ト作成及び編集処理の説明は、付加された区別的発音符
号キャラクタ分有するキャラクタの構築を含むユニット
の構築と、複数のユニット、及びページ上のテキスト・
ラインのセグメントへのこれらのユニットのアッセンブ
リからなるテキストのセグメント例の構築とである。
最後に、エディターが実行した挿入及び隠し込み処理を
説明する。
〜第13F図) 先に説明したように、区別的発音符号キャラクタ、/ン
ボル又はマークは、多(の点で他のキャラクタ及びシン
ボルと同じように処理されるが、スクリプトは異なる処
理を受ける。即ち、区別的発音符号キャラクタ、シンボ
ル又はマークは1つの基準キャラクタに直接関連してお
シ、基準ユニットに結合されたユニットとして処理され
るのではなく、基準キャラクタの定義の一部となる。
第13A図〜第13F′図ケ参照すると、付加された3
つの区別的発音符号分有する基準キャラクタの構成が示
されている。この例及び次の説明は英語テキストの、即
ち平均的な読者を考えて、左から右へ水平方向に書いた
テキストの全体的な規則に従う。エディター処理の前の
L+IJに関連して説明したように、他のテキスト規則
をこのエディターによυ容易に採用することができるこ
とに注意すべきである。
第13A図に示すように、構築の最終結果は2つの上部
区別的発音符号と一つの下部区別的発音符号を有する基
準キャラクタ”A1になるのである。
第1の上部区別的発音符号は二重ドツト、例えば“A1
の第2導関数として示され、また第2の上部区別的発音
符号はベクトル符号として示されている。以上の表現は
、例えばベクトル関数I A Iの第2導関数であるは
クトルを表わすことができる。
下部区別的発音符号はティルデとして示されている。
先に説明したように、SSS  160は、パラメータ
・ブルーフ820、現在キャラクタ・ボックス881の
フィールビ及び現在基準ボックス882のフィールドを
含む。区別的発音符号キャラクタ全付加した基準キャラ
クタを有するキャラクタの構築において、現在基準ボッ
クス882のフィールドは、構築の各ステップにおいて
、大きさ即ち基準キャラクタを囲む「ボックス」のX及
びyの範囲と、当該点で基準キャラクタに付加された全
ての区別的発音符号と全含む。現在キャラクタ・ボック
ス881のフィールド9は、書くステップにおいて、当
該ステップで構築に付加されているキャラクタの大きさ
全含む。以下の説明において、現在キャラフタ・ボック
ス881及び現在基準ボックス882のフィールドの内
容は、それぞれ現在キャラクタ・ボックス1202及び
現在基準ボックス1204  によシ、第13A図〜第
13B図に図示されている。以下において、キャラクタ
構築の原点はキャラクタの左開始基準ライン点、又は他
のキャラクタ又はシンボル、例えばスクリプトのときは
、同様に示される基準点であることに注意すべきである
。この例では、左開始基準ライン点が区別的発音符号を
付加する基準キャラクタの下左端、即ち基準キャラクタ
を囲むボックスの下左端であり、全ての大きさはこの点
から測定される。
第13B図に示す第1のステップにおいて、キャラクタ
1A1は構成の第1及び現在カーソルとして入力され、
@AIのX及びyの大きさは現在キャラクタ・ボックス
881に書き込まれ、その境界内に’A” k囲む現在
キャラクタ・ボックス1302a k定める。情1は当
該点では唯一のキャラクタであるので、この処理の開始
で実質的にOであった現在キャラクタ・ボックス130
2のX及びyの大きさはここでlA@のものとなる。
第13C図に示す第2のステップにおいて、最初の上部
区別的発音符号は基準キャラクタ1A″に加えられるも
のである。このステップに対する初期の現在基準ボック
ス1304aは、先に説明したように、基準キャラクタ
’A” i囲むボックスのものである。第1の区別的発
音符号は新しい現在キャラクタであり、従って第1の区
別的発音符号のX及びy範囲は現在キャラクタ・ボック
ス881のフィールドに書き込まれ、第1の区別的発音
符号キャラクタ上回む新しい現在キャラクタ・ボックス
1302bの範囲を定める。このステップにおいて第1
の区別的発音符号を基準キャラクタlA1に付加すると
、第13D図に示すように、基準キャラクタ1A1と、
第1の区別的発音符号とを囲む新しい現在基準ボックス
13041)が得られ、これらの範囲は現在基準ボック
ス882に書き込まれる。
第13D図に示す第3のステップにおいて、第2の上部
区別的発音符号はこの点では基準キャラクタ”AIと、
第1の上部区別的発音符号とを含む構成に付加されるも
のとなる。先に説明したように、このステップの開始で
現在基準ボックス882のフィールドに記憶された範囲
は、基準キャラクタIAIの最大のX及びyの大きさと
、第1の区別的発音符号を囲むために必要とする範囲と
であシ、現在基準ボックス1304b ’e定める。勿
論、このステップにおいて新しい現在キャラクタは第2
の上部区別的発音符号であるので、第2の上部区別的発
音符号の!7範囲が現在キャラクタ・ボックス881の
フィールドに書き込まれ、このステップの新しい現在キ
ャラクタ・ボックス1302c k定める。基準キャラ
クタ”A“と第1の上部区別的発音符号とを有する構成
に第2の区別的発音符号を加えた結果、第13E図に示
すように、基準キャラクタ1A′と、第1及び第2の上
部区別的発音符号とを囲む新しい現在キャラクタ−ボッ
クス1304 cが得られる。新しい現在キャラクタ・
ボックス1304 Qの範囲は現在基準ボックス882
のフィールドに書き込まれてこの点の総合構築の範囲を
定める。
第131図に示す第4ステツプにおいて、下部区別的発
音符号は基準キャラクタ1A1と、第1及び第2の上部
区別的発音符号とを有する構成に加えられるものである
。先に説明したように、このステップの開始で現在基準
ボックス882のフィールドに記憶された範囲は、基準
キャラクタIAIの最大のX及びyの大きさと、第1及
び第2の上部区別的発音符号と會囲むために必要とする
範囲とであ〕、現在基準ボックス1304C’を定める
。新しい現在キャラクタは下部区別的発音符号であるの
で、下部区別的発音符号を囲むボックスのX及びyの範
囲は現在キャラクタ−ボックス881のフィールド9に
書き込まれ、現在キャラクタ−ボックス1304dt定
める。基準キャラクタ−A1と、第1及び第2の上部区
別的発音符号とを有する構成に下部区別的発音符号を付
加する結果、第13F′図に示すように、基準キャラク
タ1A1と、第1及び第2の上部区別的発音符号と、下
部区別的発音符号とγ囲む新しい現在キャラクタ・ボッ
クス1304dが得られる。現在基準ボックス1304
dの範囲は、現在基準ボックス882のフィールドに書
き込まれ、この点に対する総合的構成の範囲を定める。
この点で、更に構成に加える区別的発音符号キャラクタ
は存在しないので、当該処理を完了する。
ドキュメント・データ構造と、特にUS  136と。
パーサ−148の処理とを参照して前に説明したように
、ユニットのUS  136はUN工TD工MS  5
24と、ユニットのX及びyの範囲を表わすF−XTE
NDEXDDIMES  526のフィールドと号含む
。先に説明したように、続いてこれらの範囲ヶ用いてラ
イン内及びR−ジ上にユニラミf装置する。先に説明し
たように、定められた付加区別的発音符号欠有する基準
キャラクタの範囲は1区別的発音符号を付加したキャラ
クタを含むユニットの基準及び拡張範囲を決定する際に
、エディターが用いられる。
最後に、また先に説明したように、このエディターによ
ってユーザーがエディツト処理金するための区別的発音
符号を指定することができる機構が得られる。しかし、
先に説明したように、区別的発音符号は、例えば基準キ
ャラクタ、バー・ユニットと異なる処理が行なわれ、こ
れらは直接関連され、かつこれら自身において独立した
ユニットであるのではなく、基準キャラクタの一部であ
る。従って、ユーザーがエディツト処理に対して区別的
発音符号を指定する意味は、前に説明したカーソル処理
と異なシ、基準キャラクタの一部として関連され、かつ
WI4築される区別的発音符号の処理を反映している。
先に説明したように、全てのオペレータ、パラメータ、
ターミネータ・コード及びキャラクタに関連する他のコ
ードは、l  128において当該キャラクタのキャラ
クタ−コードと関連して配置される。与えられたキャラ
クタのキャラクタ・コードが現在カーソル位置を定める
現在キャラクタ・バッファ位置852によってEB  
128に配置されるときは、区別的発音符号オペレータ
及びキャラクタ・コードを含む関連するコードも先に説
明したように、現在キャラクタ・バッファ開始853、
現在キャラクタ・バッファ終了854のフィールドによ
シ定められるEB  128の部分におけるコードヲ読
み出すことにより、配置することができる。
従って、このエディターにおいて、ユーザーは。
先に説明したように、区別的発音符号の基準キャラクタ
にカーソルを移動することにより、区別的発音符号に対
する処理全開始する。区別的発音符号それ自体、及び実
行すべき処理ケ複数の方法の何れかにより、指定するこ
とができる。例えば、ユーザは、スクリプトに関連して
先に説明したように、区別的発音符号コマンドヲ単独の
機能キーストロークとして、又は制御キーストロークの
組合わせとして入力することができ、また1以上あると
きは、カーソル・キーヶ使用することにより、又は区別
的発音符号キャラクタのキーストロークにより、特殊な
区別的発音符号を指定することができる。実行すべき処
理、例えはDELETE /指定するコマンドは、選択
したエディターの規則により特殊な区別的発音符号を識
別する前後に入力することが可能とされる。
エディターのこの実施例において汀、フォント、イタリ
ック又は寸法指定と同様の方法によシ、キャラクタと関
連した形式の一部をなすものとして、この観点から、説
明したように、区別的発音符号をキャラクタと直接関連
させ、かつ処理する。従って、ユーザーは基準キャラク
タの下にカーソルを配置し、実行すべき処理のコマンド
、例えばDELETEを入力し、5TYLEキーストロ
ーク会コマンド#全入力する。エディターは、表示袋#
116上に配置したメニュー形式により、関連する全て
の区別的発音符号を含む当該キャラクタと関連した全形
式の特性を表にすることにより応答する。
次に、ユーザーはメニーーから、I+lJえはカーソル
・キーを用いて区別的発音符号を指定することができ、
エディターは指定された区別的発音符号について指定さ
れた処理全実行する。
カーソル移動と、区別的発音符号の生成及びエディツト
に関連してエディターの処理を説明したので、ユニット
’に構成する際のエディターの全体的な処理を次に説明
しよう。
F、  3ユニットの構成例(第14図)区別的発音符
号を付加した基準キャラクタを構築する特定の方法を以
上で説明した。またテキスト即ち復ハのラインにアッセ
ンブルされた複数のユニットを構成する際のパーサ−1
48の概要的な処理も以上で説明した。更に、以下では
複txのユニットからなるテキストのセグメント例の構
成を説明することにより、エディターの処理を説明しよ
う。また、以下の説明では、4i数のユニットを複数の
テキスト・ラインに構成する際のこのエディターの処理
を更に説明しよう。
以下の説明及び図では、説明及び理解を明確にするため
に、いくつかの規則を採用する。第1に、例で用られる
テキストは右から左に進むと仮定し、k−ジ上の位置を
示すときに用いるxy座標系はxex原点から右方へ正
値を有する水平軸とし、yをy原点から上方へ正値を有
する垂直軸とすると仮定している。典型的な読者の理解
を容易にするべく、テキスト・ラインは左から右に読み
書きし、連続的なラインは上から下へ読み書きする英語
の規則を説明例が使用しているので、以下の説明例では
、これらの座標を選択している。第2に、以下の説明及
び図が複数のユニットの構造を示すと共に、複数のボッ
クス及びラインはユニット及びこれらの基準ラインの寸
法を概略表示している。
以下の図はほぼ「分解」図として示されており、従って
、そのようにしなければ互いに重畳してしま5複数のラ
インが接近させた関係で表わされている。
先に説明したように、各ユニットの論理構造及びその内
容はgB128におゆるEU132に記憶される。一方
、ユニットの物理的及び可視的特性を説明するために必
要な情報は、LUS 130の対応するEU 132に
記憶される。説明したように、ユニットに対するUS 
136はEB 128において対応するEU 134の
開始位置(STARTPO8516)、EB128にお
いて第1キヤラクタ又はシンボルの位t(STARTC
HAR518)、及びEU 134の長さくELENG
TH520)を説明する情報を含むので、EB 128
においてユニットを有するキャラクタ及び(又は)シン
ボル、オペレータ、パラメータ及びターミネータ・コー
ドをパーサ−148により配置することができる。
対応するUS 136に記憶されている情報には、ユニ
ットを含むラインの部分の開始に対するに一部上のxy
絶対位置を含む2つのフィールドからエル5TARTL
oC522カアル。UNITDIMS 524ハ5TA
RTLOC周りの各方向におけるユニットの最大及び最
小のX及びyの範囲、即ちユニットの寸法を含む4フイ
ールドのグループを含む。EXTIJD−FDDIMS
 526は4フイールドのグループを含み、これには最
大及び最小のX及びyの範囲、即ちユニット十次のユニ
ットの寸法と、全てのスクリプトと、ライン分割と、ユ
ニットから5TAI(TLOC周りの各方向における現
在基準ラインの終端まで関連するバー・ユニットとが含
まれる。US 136の残りのフィールドは、例えばユ
ニットの開始及び終了でフォントの寸法の係数に関する
情報と、構造フラグと、当該ユニットに接続されている
関連する全てのユニットに対するポインタとを含む。
これらに関連するユニットは前後のユニットと、全ての
スクリプト・ユニットと、関連するライン分割の個別的
なラインを有するユニットと、を含む。
第14図を参照すると、説明の都合から7ユニットを含
むテキストのラインの一部が示されている。第14図は
、第12A図におけるテキストの前の説明例と異なって
おり、第12A図では、表示及び説明を明確にするため
に、ライン分割シンボルのようなエディツト及びフォー
マット用のシンボルが省略されていることに注意すべき
である。
付加プロップの位置はテキスト構造に関する次の説明の
過程で変化するので、付加プロップも同じような理由か
ら図示していない。従って、第14図の例は、テキスト
がエディツト中に表示装置116ではなく、印桐された
ページ上に最終的な形態で現われる。
第14図に示す第1ユニットは、ユニット1402とし
て示されており、1キヤラクタのロアーケース(1ow
er case)g″からなる。第2ユニットは基準ユ
ニソ) (BU)1404として示されている基準ユニ
ットであり、1キヤラクタのアッパーケース(uppe
r case) ”A”と、関連する上部分音符号とか
らなる。第3ユニットはBU 1404 に関連するフ
リスーパースクリプト・ユニット(PSupU) 14
06である。
第4、第5及び第6ユニットは、全体でBU1404に
対してスーパースクリプト位置にライン分割を有する。
ライン分割ユニットはn=1のパラメータ値を有するの
で、2つのラインへのLINESPL工Tを示すと共に
、分数ラインは2つのライン間を占める行間に配置され
ている。先に説明したように、ライン分割の各ラインは
独立した少な(とも1ユニットからなり、またこの例の
ライン分割の2ユニットはライン分割ユニット(LSU
) 14 osa及びライン分割ユニット(LSU)1
4081)として表わされている。以下で説明するよう
に、ライン分割は常に局部的な基準ラインに基づいて℃
・る。以下で説明するように、ライン分割がスーパース
クリプト位置にあるライン分割の場合は、ライン分割の
局部的な基準ラインはスーパースクリプト・ユニットに
より設けられる。このスーパースクリプト・ユニットは
第14図に明確には示していな℃・が、これはスーパー
スクリプト・ユニット力LUS1408a及びLUS 
1408b  に対する基準ラインとして存在するため
である。
第14図の最終ユニットはBU 1410かものサブス
クリプト・ユニットであり、サブスクリプト・ユニット
(SubU)1410として示されている。
ユニッ) 1402を先ず説明すると、例えば第1キヤ
ラクタがスクリプト・ユニットの第1キヤラクタである
ことを示すことにより、ユーザーが他の基準ラインを開
始しない限り、先に説明したパーサ−148はこの基準
ライン上に来るユニットの第1キヤラクタ、又はこの基
準ラインの上にあるユニットのシンボルの5TARTL
OC522のX座標を決定する。パーサ−148は前の
最終キャラクタ又はユニットからのオフセットとしてシ
ンボルの5TARTLOC522のX座標を決定する。
このオフセットはDP 126からの中間キャラクタ・
ピッチ情報により決定される。これを第14図にユニッ
ト1402に対する5TARTLOC1412により示
す。ユニット1402の前のユニットに対する最終キャ
ラクタ又はシンボルは第14図に示されていないが、”
 ++  の主要部分が基準ライン(BL)1414、
即ち第14図に表わされているテキストのセグメントに
関する基準ラインに来るように、”g”に関する5TA
RTLOC522のX座標を決定することに注意すべき
である。図示のように、キャラクタ″′g”はディセン
ダー、即ちBL 1414の下に延びるg”の尾を有す
る。
説明したように、パーサ−148はキャラクタ”g”の
場合に、パーサ−148は、DP 126におけるキャ
ラクタ・ピッチ情報と、当該キャラクタ又はシンボルに
関するF′T144情報と、前のユニットのUS 13
6のユニット開始状態情報サブグループ508のフィー
ルドにより決定された適用可能なりサイズ係数と、ユー
ザーにより指令されたりサイズ係数とからユニットの範
囲を定める。ユニット1402の範囲はパーサ−148
により決定され、ユニット1402のUS 136のU
NITDIMS 524フイールドに書き込まれたもの
であり、第14図にUNITDIMSボックス(D工M
S)1416により示されている。図示のように、ユニ
ット1402に関するUNITDIMS 524のX範
囲は正方向、即ちこの説明の都合から5TARTLOC
1412の右へのみ伸延する。
しかし、ユニット1402の範囲はキャラクタ“g”主
要部分及汐翫尾訛れぞれ含む5TARTLOC1412
から正(上)方向及び負(下)方向に伸延する。
ここで、BU 1404  及びこれに関連するスクリ
プト・ユニットの構造を説明すると、パーサ−148の
処理は更に複雑である。本質的に、パーサ−148は先
ずBU 1404のみを構築し、次いでPSupU 1
406 kそれぞれ構築する間に、LSU 1408a
14081:+ 1  これらの基準ラインのスーパー
スクリプト・ユニット及びSub 1410はBU 1
404のUS136である特性識別グループ504のフ
ィールドを修飾する。
第1ステツプにおいて、即ちノξ−サー148が最終的
にBU 1404になるテキスト要素を構築してぃると
きは、キャラクタfl A I+及びその関連する区別
的発音符号を調べてユニソ) 1402内に含める。
これは、独立したユニットにおいてA”及び区別的発音
符号を配置する必要のある処理がまだ実行されていない
ためである。即ち、例えばスクリプトでなく、区別的発
音符号はキャラクタ”A″の足底の一部となり、従って
”A”及び関連する区別的発音符号勿このユニツ) 1
402に含めることができる。従って、このステップで
は、パーサ−148がキャラクタ”A”及び関連する区
別的発音符号を構築する除に、前に説明したように処理
愛し、またユニット1402のユニット寸法はA″及び
区別的発音符号を含むように必要なだけ拡張される。
スクリプト・オペレータは′A″の次に直ちに検出され
るので、′A”はユニツ) 1402に入力されないこ
とに注意すべきである。しかし、スクリプト・オペレー
タに達するまで、6A、′はユニット1402に進むも
のとして処理される。
キャラクタ″A”に対するプリスーパースクリプト位置
へPSupU 1406 ’に書き込む次のステップは
、キャラクタ”A”及び関連する区別的発音符号をユニ
ット1402から独立したユニットに配置し、PSup
U 1406に対して基準ユニットとなることが必要で
ある。従って、パーサ−148は新しいユニッ) BU
 1404を開始し、キャラクタ″A”及び関連する区
別的発音符号を含めるようにし、かつ01MSボックス
1402により示すように、BU1404のUNITD
IMS 524の範囲を判断して、キャラクタ″+ A
 M及び関連する区別的発音符号のものとなるようにす
る。7g−サー148もこの時点でユニッ) 1402
を判断して、第14図に示すように、キャラクタ″g′
のみを含め、BU 1404の5TARTLOC522
が点1420にあると判断する。
エディターがユニット1402の5TARTLOC52
2を判断し、BU 1402に対するページ上にBU 
1404を配置するときに、エディターはBU 140
4の5TARTLOC522のy座標を判断することに
より、BtJ 1404のS’l’ARTLOC522
をy座標で、即ちBL 1414 テBU 1404 
(7) 5TARTLOC522色整合すせることに注
意すべきである。ラインの構築及び他のラインに対する
ラインのユニットの位置に関する以下の説明で更に説明
するように、ラインの全ての「基準ユニット」、即ちス
クリプト位置、又はライン分割に配置されていないライ
ンの全てのユニットをに一部上に配置させることにより
、yの大きさにおいて互いに整合させ、ラインの基準ラ
イン上に配置する。冥際には、ラインの基準ユニットの
5TARTLOC522がライン基準ラインを定める。
PSupU 1406. LUS 1408a、 14
08b及び5ubU1410の構築の説明を続ける前に
、構文解析の速度及び簡単さのために、EU 134に
おけるEB 128に出現する全てのスクリプトは好ま
しい順序にあり、かつユーザーが入力した順序に関係な
(、当該順序でEE 146により書き込まれることに
注意すべきである。即ち、ユーザーが好ましい順序でオ
ペレータを入力するに際に、Eh: 146はT2U1
34のオペレータを再順序付は勿する。この実施例のエ
ディターにおいては、当該順序はプリスーツミースクリ
プト、プリサブスクリプト、オーバースクリプト、アン
ダースクリプト、スーパースクリプト及びサブスクリプ
トである。更にことに注意すべきである。他の実施例で
は、この順序を変更することができ、又はパーサ−14
8がオペレータ・コードの更に複雑なデニードヲ実行す
ることにより、EU 134の処理に何らの順序を必要
としないことにも注意すべきである。
PSuplJ 1406に対する・e−サー148の処
理をここで説明すると、先に説明したパーサ−148は
キャラクタ及び(又は)シンボル、オペレータ、ターミ
ネータ・コードをユーザーが入力する際に読み込み、必
要に応じて各コードに応答する。プリスーパースクリプ
トのオペレータ・コードの入力は、新しいユニットを必
要とし、かつこのユニットがBU 1404からのプリ
スーパースクリプトであることをパーサ−148に知ら
せる。次に、パーサ−148は、PSupU 1406
のUS 136を初期化し、対応するポインターiUs
 1404のUS 136 であるプリサブスクリプト
ユニット(PRESUPER8CRIPT−UNIT)
554のフィールドに書き込み、かつEB 128にP
SupU 1406のEU 134のコードを配置する
5TARTPO8516,5TARTCHAR518及
びELTLENGH520のフィールビを含め、PSu
pU 1406をHするキャラクタ及び(又は)シンボ
ル、オペレータ、パラメータ及びターミネータ・コード
を入力する際に、Eo 134のフィールドを判断する
PSupU 1406はプリスクリプトであり、従って
BU 1404に関連したユニットにお(・て左端のキ
ャラクタ又はキャラクタ・グループであり、前のユニッ
トに対して左端位置を占める。これにより、パーサ−1
48はPSupU 1406の5TARTLOC522
(7)フィールド1に関するX座標を点1420と同一
のXの大きさの点、即ち前のユニット1402に対して
可能とする最左端位置に配置させることを判断すること
によって、PSupU 1406に対するプリスーパー
スクリプト・オペレータに応答スる。PSupU140
6の5TARTLOC522のフィールドのX座標は、
DP 126のスクリプトロケーション(SCR工PT
LO−CAT工0N)2o7力ラ判断シ、SCR工PT
LOCAT工ON 207は先に説明したように、スク
リプトが基準キャラクタの上、又は基準キャラクタの基
準ラインの上において基準キャラクタの高さの2/3で
LDS162の開始位置906のフィールビと共に、配
置されているかを判断する。開始位置906のフィール
ドはベージ上のBL 1414のX座標を決定するもの
である。その結果のPSupU 1406に対する5T
ARTLOCは、PSupU 1406の5TARTL
OC522のフィールドに入力される際に、第14図に
5TARTLOC1424として示されている。
ユニットは未だPSupU 1406に現われるキャラ
クタを入力していなかったので、PSupU 1406
の初期の範囲は、勿論、付加プロップのものである。
ユーザーが各PSupU 1406のキャラクタを入力
すると、パーサ−148及びEE 146はPSupU
 1406のEU134にキャラクタ・コート″全書き
込むことによって各キャラクタ・コードに応答し、入力
したキャラクタを囲む必要に従ってPSupU 140
6の範囲を決定し、表示装置116上にPSupTJ 
1406のキャラクタを表示する。
即ち、ユーザーがPSupU 1406の第1キヤラク
タ″1”を入力したときは、”1”のキャラクタ・コー
ドがPSupU 1406のEU 134に書き込まれ
、PSupIJ 1406の範明が1”を囲むように増
加され、11”がBU 1404に対するプリスーパー
スクリプト位置に表示される。次に、ユーザーは第2キ
ヤラクタ”、′を入力し、”、′のコードt−EB12
8に書き込み、PSupU 1406の範囲をこの点、
即ち”1 〔付加プロップ〕”に入力されたキャラクタ
・グループを囲むように拡張し、”1、[付加プロップ
]”をBU 1404に相対するプリスーパースクリプ
ト位置に表示する。次に、ユーザーは最終キャラクタ”
2[付加プロップ]”を入力し、”2”に対するコード
2EB128に書き込み、PSupU 1406の範囲
を再びこの点、即ち1.2[付加プロップコ”に入力さ
れたキャラクタ・グループを囲むように拡張し、”1.
2[付加プロップ]”をBU 1404に相対するプリ
スーパースクリプト位置に表示する。最後に、ユーザー
が疑似リターンを入力したとぎに、PSupU 140
6を終結することにより、ユニット”1.2[付加プロ
ップ]″を終結させる0PSupU 1406のUN工
TD工MS524のフィールドに書き込まれた最後のX
及びyの範囲は、第14図に01MSボックス1426
により示されている。PSupU 1406はスクリプ
トであって、例えばPSupU 1406に接続された
他のスクリプト又はライン分割が存在する限り、そのユ
ニットの寸法と異なる拡張的寸法を■することはないこ
とに注意すべきである。PSupU 1406に接続さ
れた他のスクリプト又はライン分割が存在するときは、
PSupU 1406はこれらのスクリプト又はライン
分割に対する基準ユニットとなり、これらのスクリプト
又はライン分割によるPSupU 1406の拡張的寸
法ハPSupU 1406 (7) EXTENDI2
DD工MS526に書き込まれる。
実際に、BU 1404が右へ押され、ユニット140
2とBU 1404との間のPSupU 1406 ノ
スペースを作成することは、以上から、また第14図か
ら明らかである。これはテキストの形式で一般的かつ反
復的な処理であると共に、このエディターが・処理する
ことを意図しているものである。この処理、及び以下で
説明するこの例のテキスト構築において同様の処理はダ
イナミック処理であるが、処理を実行する特定な方法は
エディターが実行しているシステムの能力に依存してい
ることに注意すべきである。即ち、エディター及びシス
テムは、ユーザー人力に対して受は入れ可能な応答時間
金与えなければならず、またこのことはエディター処理
を実行する際に、CPU 112の処理速度と、エディ
ター処理の相対的な複雑さに依存している。
最も好ましい処理モードでは、テキスト範囲の決定及び
ユーザー処理を反復させるための距離の修飾は、連続的
である。即ち、範囲を決定し、スクリーンを更新し、ユ
ーザーが各キャラクタを入力又は削除する。例えば、先
に説明した処理において、各PSupU 1406のキ
ャラクタを入力してPSupU 1406の゛X範囲を
増加させると同一量だけ、BU 1404の5TART
LOC: 522のX座標の値を増加させることにより
、ユーザーが各PSupU 1406のキャラクタ又は
シンボルを入力すると、パーサ−148は右へダイナミ
ックにBU 1404 tr移動」させる。ユーザーに
は、各PSupU 1406のキャラクタを入力する際
に、BU 1404が右へ連続的に移動する可視的な効
果がある。BU 1404の5TARTLOC522の
最終的な結果によるxy座標系位置のフィールドは、第
14図に5TARLOC1428により示されている。
しかし、CPU 112 がイy f ル(Intel
) 8086 ?イクロプロセッサであるこの実施例の
エディターでは、キャラクタ毎にこれらの処理t−’M
行するためにCPU 112 に必要な時間は長過ぎ、
ユーザ一応答には適当でない。従って、この実施例のエ
ディターは、実行者が選択したユーザー処理により決定
される期間又は時点を除き、これらの処理を連続的、か
つキャラクタ毎に実行することはない。
この例を説明すると、ユーザーが疑似リターンを入力す
ることによりPSupU 1406の構築を終結したと
きは、エディターはBU 1404の位置を再度決定し
、表示装置116上に示すテキスト・イメージを再生す
る。このために、テキスト及び表示を更新する前は、処
理に従りてユーザーかい(つか、又は多数のキャラクタ
を入力することができ、この期間においてテキストの表
示イメージはテキストの真の姿を正確に反映してはいけ
な〜・。しかし、ユーザーはスクリーンを更新し、その
者の判断を正確にさせることを要求する能力が得られる
この例では、例えばPSupU 1406 t”構築し
ている間に、PSupU 1406のキャラクタがBU
 1406を重ね書きするように見え、またPSupI
J 1406の構築を完了するまではテキストの最終的
なイメージを提供することはない。この時点で、エディ
ターは前に説明した位置処理を実行して、テキストの全
ての要素の位置及び姿を判断する。この時点では、BU
 1404は先に説明したように、右へ移動するように
現われ、ユニツ) 1402)BU 1404及びPS
upLJ 1406は第14図に示すように現われる。
テキスト要素を配置するときは、エディターが好ましい
とするシーケンスに従うことに注意すべきである。この
シーケンスは、異なる処理目的のために、即ちページ上
のテキスト要素の位置のために、前に説明した好ましい
とする構文解析のシーケンスと異なり、位置の順序では
オーバースクリプト、アンダースクリプト、プリスーパ
ースクリプト、ブリサブスクリプト、スーパースクリプ
ト及びサブスクリプトである。
最後に、テキスト要素の構築の説明を続ける前に、以下
の説明等は説明の都合及び明確さのために、語りの規則
を採用したことに注意すべきである。即ち、テキスト要
素の構築、即ち各要素の構築と、各要素の範囲及び位置
とが連続した要素毎及びキャラクタ毎の処理であるかの
ように、以下の説明をする。エディターの実施例で使用
しているプロセッサーの制約により、このエディターは
、この実施例の場合、ユニットの構築について前に説明
した処理と同じような処理に事実上従っている。即ち、
エディター及びパーサ−148は最初にテキストの全て
め要素を構築し、次いで要素の範囲を決定し、最後にペ
ージ上に要素を位置決めする。例えば、入力すべきテキ
ストが5要素あるときは、ユーザー及びエディターはユ
ニット1〜5をその順序で構築する。次いで、ユニット
5〜1をその順序で再び判断をし、再びば一部上のユニ
ット1〜5をその順序で位置決めする。高速かつより強
力なプロセッサを備えた他の実施例では、エディターは
各要素及びキャラクタに対して連続的、かつ反復的にこ
れらの処理全実行するように構成することズ・1できる
。また、この規則は以下の説明における実施例全明確に
するために採用したものである。
第14図に示すテキストの構造の説明kmけると、7°
リス−パースクリプトとしてのPSupU1406の付
加により、BU 1404の寸法を拡張する結果となる
、拡張した寸法のBU 1404はそのEU134(7
) EXT′FJNDEDD工MS 526 ノア 4
− # )’Kiキ込む必要がある。また説明を明確に
するするために採用した規則では、これはグイナミノク
処理であり、かつPSupU 1406の各キャラクタ
全ユーザーにより入力する際に、BU 1404、即ち
DIMS1422とPSupU 1406とを囲むよう
に必要なだけ拡張した寸法のBU 1404t−ノξ−
サー148により増加させる。ここで説明したステップ
の結果により拡張された最終的なりU 1404、即ち
PSupU 1406、LSU 1408a11408
b及び5ubU 1410〜1404は第14図に拡張
寸法ボックス(EDDIMS 1430により示されて
いる。しかし、この構築時点で、XDDIMS1430
は、5TARTLOC1424、即ちDIMS1426
の左側からBU 1404の右端点までのX寸法に拡張
され、XDDIMS1430はDIMS 1422の下
側からDIMS 1426の上側までのyの寸法に拡張
される。PSupU 1406が5TARTLOC14
28の左にXの寸法を拡張させ、また負のyの寸法、即
ち上方向テハ、PSupU 1406がBU 1404
上に拡張するノテ、BU 1404にPSupU 14
06 k付加すると負のX方向、即ち左へBU 140
4の寸法を拡張することになる。
次のクーケンスのステップでは、ユーザーがスーパース
クリプトのオペレータ・コードヲ入力することにより、
LUS 1408a及び14081) Q生成してライ
ン分割の基準ライン、更にLUS 1408a及び14
081)  のオペレータ・コード及びノξラメータ・
:l−l−”i得る。先に説明したように、n=1のラ
イン分割は2ラインのライン分割となり、かつバーがラ
イン間を占める行間に現われる。これも先に説明したよ
うに、ライン分割の各ラインは少なくとも一つの独立し
たユニットとして処理され、かつ生成されるので、この
ライン分割オペレータ及びパラメータの外形はパーサ−
148に新しいユニット、即ちLUS 1408a及び
14081) ’e初期化して配置させるものとなる。
ライン間のバーは、ユニット全形成するものではないが
、特定のオペレータ及びパラメータの特性である。LU
S 1408a及び1408bの初期化において、前者
は最初に付加プロップのみを有するときに生成され、後
者は前@を終結する疑似リターンを入力したときにのみ
生成されることに注意すべきである。
LtTS 1408a及び14081)の構築、9説明
に進む前に、ライン分割の概要的な場合を先ず説明して
LUS 1408a及び14081)に関する以下の説
明を理解する際の助けとする。
ライン分割で説明したように、基準ラインは2以上の平
行なうイン・グループに分割されると共に、各ラインは
元の基準ラインに平行であり、ライン・グループは元の
基準ラインを中心としている。ライン分割の各ラインは
少なくとも1ユニットであり、ユーザーにより選択され
た寸法の1上上のキャラクタ又はシンボルはライン分割
の各ライン上に出現可能である。ライン分割の各ライン
、ユニットは5TARTLOC522を有し、また各ラ
イン・ユニットのyの寸法は互いにyの範囲、即ちライ
ン・ユニットに現われるキャラクタ及びシンボルの寸法
によって判断される。しかし、ライン分割は更に全体と
してライン分割が実際に1ユニットとしての特性を有す
る。即ち、ば−ジ上にライン分割の個々のライン・ユニ
ットに位置決めするときは、ライン分割を有するライン
・ユニットのグループはエディターによって1ユニット
として処理される。
例えば、ライン分割の最も簡単な場合、即ち現在ライン
の、例えばBL 1414の基準ライン上に中心を有す
るライン分割の最も簡単な場合を説明すると、パーサ−
148はyの大きさ、即ち高さ、先に説明したキャラク
タ寸法及びリサイズ情報からラインのそれぞれの高さを
判断し、また5S8160の行間スペーシング887の
フィールドから行間のスペースを判断する。パーサ−1
48はライン上に現われる全てのキャラクタがライン分
割の第1ラインの開始で指定した寸法のものであると最
初に仮定を行ない、これに従って全体としてライン分割
の初期開始位置を決定する。このライン分割の初期開始
位置は、先に説明したように、ユニットの基準ラインの
左端のxy座標を識別するユニットの5TARTLOC
522と同様である。ライン分割の場合は、開始位置の
X座標はライン分割におけるライン・グループ左端のペ
ージ上のX座標を識別する。しかし、この例における開
始位置のy座標は、ライン分割を有するライン・グルー
プの中間点の全体的な高さに関するページ上のy座標を
判断する。
ライン・グループの開始位置のxy座標はライン分割を
接続する基準ユニット形式にあるUS136(7) L
INFi;5PLITLOC530tD 7 イー ル
)’に書き込まれ、またライン分割におけるライン数を
基準ユニットのLINESPL工TNUM 528のフ
ィールドに書き込む。
ノミーサー148はりサイズの各ライン・ユニットのU
S 136 e開始し、基準ユニットのUS 136の
L工NESPLITUN工T 562のフィールドにラ
イン分割のUS 136のそれぞれに対するポインタを
書き込む。次いで、パーサ−148は先に説明したキャ
ラクタ寸法及び行間スは−シング情報を用いて、各ライ
ン・ユニットについての5TARTLOC522を判断
し、かつライン・ユニットの5TARTLOC522の
フィールドのそれぞれに5TARTLOCの!7座標全
書き込む。
ライン分割のラインにキャラクタを入力している間に、
ユーザーがキャラクタサイズの変更全指定したときは、
この変更が互いに対するラインの開始位置及び大きさの
変更により必要とすることがある。また、このような変
更はライン分割の開相位置(LINKSPL工TLOC
530) (D変更全意味することもあるので、全体と
してライン分割は元の基準ラインを中心とすることに変
化はない。パーサ−148はこのようなキャラクタサイ
ズの変更と、ラインの寸法及び位置を変更する他のユー
ザーの操作全検出し、必要に応じてライン寸法、ライン
開始位置及びライン分割開始位置を再計算し、必要に応
じて基準ユニット及びライン・ユニットのUS 136
の適当なフィールドに新しい寸法及び位置情報を書き込
む。他のテキスト・ユニットと同様に、ライン分割を他
のユニットの領域に拡張することはできないことに注意
すべきである。従って、ライン分割の構築は、ラインの
構築に関する以下の説明で述べているように、ラインを
他のラインに対してページ上に再配置することを必要と
するので、ライン分割は他のテキストに侵入することは
ない。
第14図の例のように、スクリプト位置におけるライン
分割の場合は、ライン分割及びそのユニットを構築する
除のパーサ−148の処理が先に説明したものと同様で
ある。しかし、主な相違は開始位置、即ちライン分割と
ライン分割を有するライン・ユニットの局部的な基準ラ
インにある、これらの場合に、ライン分割を構築してい
る基準ラインは所望の位置においてスクリプト・ユニッ
トのものである。再び、ライン分割もそのyの大きさで
配置しなければならないので、ライン分割が他のユニッ
トのために予約した領域に入り込むことはない。即ち、
例えばオーバースクリプト位置におけるライン分割は下
方へ基準キャラクタに伸延しないように、配置されなけ
ればならず、またプリスー・ξ−スクリプト又はスーパ
ースクリプトの位置は下方へサブスクリプト位置に伸延
しないように、配置されなければならない。この条件は
、ライン分割は上へ基準キャラクタ又はスーパースクリ
プト位置に伸延しないように配置されなければならない
ことを除き、アンダースクリプト、及びスーパースクリ
プト位置のライン分割にも適用される。
スーパースクリプトの位置においてライン分割の場合を
説明すると、ライン分割を有するライン・ユニットのグ
ループはそのyの大きさで配置されるので、ライン分割
における最低ユニットの基準ラインは通常のスーパース
クリプト・ユニットの基準ラインVこより通常占有され
る位置に垂直に配置される。ライン分割はその点から上
に伸延し、従ってライン・ユニット及びライン分割のそ
れぞれの開始位置が決定される。ユーザーがある処理又
は変更、例えばライン・ユニットの大きさ若しくはスに
一シング、又はライン分割の位置及び大きさに影響する
キャラクタサイズの変更を指令したときは、ノミーサー
148は再びこれらの変更を検出するので、ライン・ユ
ニット及びライ/分割の開始位置及び寸法を修飾する。
しかし、この場合は、最低のライン・ユニットの基準ラ
インは固定されたままであり、ライン分割は固定された
この基準ラインに対するyの大きさが拡張又は縮小する
パーサ−148の処理は、最低ライン・ユニットの基準
ラインを固定して基準キャラクタの頂部上に残留するこ
とt除き、オーバースクリプト位置におけるライン分割
の場合と同様である。ノξ−サ−148の処理は、頂部
ライン・ユニットの基準ラインを固定して他のユニット
との干渉eWけるようにすることを除き、アンダースク
リプト又はサブスクリプトにおけるライン分割の場合と
同様であり、ライン分割は固定されたこの基準ラインか
ら下に垂直方向に拡張又は縮小する。
スーパースクリプト位置におけるライン分割の第14図
に示す例を参照し、またこの説明で用いた以上で説明の
説明規則全想起すると、ノξ−サー148は、ユーザー
の指示により、LUS 1408a及び1408bの基
準ラインと、LUS 1408a及び14081)のU
S 136となるスーパースクリプト・ユニットについ
てのUS 136 ’に開始し、LUS 1408a及
び14081)と、ライン分割とに対する開始位置を判
断する。ライン分割の基準ラインとなるスーパースクリ
プト・ユニットそのものにはキャラクタ又はシンボルが
含まれていないが、ライン分割の基準としてのみ利用す
ることに注意すべきである。
LUS 1408bK対tル3TARTLOC522カ
先f判断され、5TARTLOC1432により第14
図に示されている。先に説明したように、LUS 14
08a及び1408bの5TARTLOC1432は、
スーパースクリプトの基準ラインの開始位置により通常
占有された位置にお〜・てBU 1404に相対して配
置されており、またLUS 14081)のローカル基
準ライン(LBL)1434 はスーパースクリプトの
基準ラインにより通常占有された位置に配置されている
LUS 1408aの開始位置は5TAR’l’LOC
1436トして示す位置にパーサ−148により配置さ
れておりLUS 1408aの開始位置はLBL 14
38により示すように配置される。ライン分割の開始位
置は5TARTLOC1440として示された位置にあ
るものと判断される。LUS 1408a及び1408
1)の開始位置はこれらのUS 136の5TARTL
OC522のフィールドに書き込まれる。ライン分割の
ライン数、ライン分割の開始位置及びLUS 1408
a及び1408bのUS 136に対するポインタは、
それぞれLINESPLITNUM 528、LJNE
SPL工TLOC530及ヒL工NESPL工TUN工
T 562のフィールドに書き込まれる。
次に、ユーザーは第1ライン分割ユニットのライン、L
US 1408aのラインに現われるキャラクタを入力
し、疑似リターンにより第1ラインを終結する。この場
合に、第1ラインはキャラクタ″X”のみを含む。第1
ラインを終結する疑似リターンで、パーサ−148はラ
イン分割の第2ライン・ユニットに行き、ユーザーはこ
れに現われるキャラクタ、この場合4’!”7″を入力
し、疑似リターンによりユニットを終結させる。
これらの規則に採用されている説明規則の範囲内で、パ
ーサ−148は以上の処理全グイナミソクに実行するが
、特定の処理は再びエディターが処理する特定のシステ
ムの能力に基づいていることを強調しなければならない
。この実施例のエディターにおいては、ユニットの大き
さの決定及びユニット’に配置するユニッ)?r構築す
る3つの経路の処理が続き、ユニットに対する処理の受
は入れ可能な速度を得ている。好ましい態様では、ユー
ザーが入力したかのように、ライン分割の各キャラクタ
會入力し、表示する。
同様に、ユーザーがキャラクタを入力するに従い、パー
サ−148がキャラクタ毎に、ライン・ユニットの位置
又は大きさにおいて必要な変更と、ライン分割の位置又
は大きさにおける必要な変更とを実行する。従って、ユ
ーザーに提供された可視的表示はユーザー操作によりダ
イナミックに変更するので、ユニットにはユーザーの操
作の現在キャラクタ毎の表示が常時提供される。しかし
、この実施例では、これらの処理を実行している処理に
より決定された離散的な点で実行する。
好ましい実施例におけるLUS 1408a及び140
B’bの大きさも、これらのユニットのキャラクタをユ
ーザーが入力するに従い、ダイナミックかつキャラクタ
毎に判断される。LUS 1408a及び1408bの
tJs 136のUNITDIMS 524のフィール
ドに記憶されるに従い、LUS 1408a及び140
8bの構築の終結で、LUS 1408a及び1408
’b (7)大きさは第14図にそれぞれ寸法ボックス
(DIMS) 1442及び1444により表示されて
いる。
LUS 1408a及び14081) (7)構築は、
再びBU1404の寸法を拡張する。好ましい実施例に
おいては、LUS 1408a及び1408’bのキャ
ラクタfz−ザーが入力するに従い、BU 1404の
拡張した寸法は再びダイナミックかつキャラクタ毎に修
飾される。LUS 1408a及び1408bの構築を
終結する時点で、BU 1404の拡張した寸法をDI
MS 1442及び1444の右端への正のX方向に増
加させ、かつDIMS 1442の上端に対する負のy
方向に増加させる。
一連の趣終的なステップでは、サブスクリプト5ubU
 1410を構築に加算する。パーサ−148はユーザ
ーが5ubU 1410に対する新しいユニットを開始
することにより入力したサブスクリプト・オペレータに
応答して、BU 1404のUS 1136の5TAR
TLOC522のフィールドに適当なポインタを書キ込
ム。次ニ、ハーサー148は5ubU 1410の5T
ARTLOC及び局部的な基準ラインを決定して第14
図に示fよ5vc、5TARTLOC1446及ヒLB
L1448に配置し、5ubU 1410のUS136
ノ5TARTLOC522に5ubU 1410の5T
ARTLOC1446のxy座標を入力する。
スクリプトである5ubU 1410の5TAR’l’
LOC(7)xy座標はBU 1404の01MS14
22D右端、即ちBU 1404の右端がそのXの大き
さで配置されることに注意すべきである。先に説明した
ように、Sub+U 1410のS’rAR’l’LO
Cのy座標は現在キャラクタサイズ及びリサイズ情報と
、BL 1414、即ちBtJ 1404のDIMS 
1422の下端に対する関連により決定されるので、現
在キャラクタ寸法に関する5ubU 1410の寸法基
準ユニットの上端は他のユニットの領域に侵入すること
はない。
次に、ユーザーはLBL 1448に現われるキャラク
タを入力し、キャラクタの終端で疑似リターンにより5
ubU 1410 ’ft終結させる。ここでもパーサ
−148はユーザーのキャラクタ毎の入力にダイナミッ
クに応答してキャラクタを表示し、またキャラクタサイ
ズの変更により必要とする再配置5TARTLOC14
46’(+−含め、各キャラクタを入力する必要に応じ
て5ubU 1410の寸法を拡張する。
5ubU 1410の構築の終了で、5ubU 141
0のUNITDIMS 524に記載された5ubU 
1410の寸法は、第14図にユニットサイズボックス
(DIMS)1450によって表わされている。
構築に対する5ubU 1410の付加によってBU1
404の寸法が再び拡張され、拡張されたBU1404
の拡張寸法は更にユーザーが5ubU 1410のヤラ
クタを入力するに従い、ダイナミックにキャラクタ毎に
修飾される。5ubU 1410の構築の終了により、
拡張したBU 1404の寸法は正のy方向、DIMS
 1450の下端へ拡張される。
DIMS 1444が拡張するよりも更に右へDIMS
1450が拡張することがなt・限り、BU 1404
の拡張した寸法のXの大きさは増加されない。この時点
で、BU 1404のUS 136のEXTENDED
D工MS526のフィールドに記憶されるに従い、BU
 1404の拡張した寸法は、第14図にXDDIMS
1430によって表わされているようになる。
これにより例示したユニットヲ含むラインの一部の構築
の説明を終了する。次に、ラインに関するエディターの
処理のある%Ik’に説明する。
F、  4ラインの構築(第15図) 先に説明したように、また先の説明において、テキスト
のラインt[する個別的なユニットは、ユニットのUS
 136の5TARTLOC522)UN工TD工MS
524及びEXTENDEDDIMS 526のフィー
ルド9に記憶されているユニット開始位置1寸法及び拡
張した寸法情報を介してページ上に個々に配置される。
各ラインはそれ自身ページ上に配置され、ラインの大き
さ、即ちラインの全てのユニットの総合的な範囲はライ
ンに関連されるライン・データ構造(LDS)162の
フィールド1により識別される。ライン(7)LDS1
62も先に説明したように、ラインの第1のUS136
及びEB 128におけるラインの第と、ラインに関す
るフォーマット・ラインに対するポインタとが含まれる
続いて、ページ上の全ラインVC関するLDS 162
のポインタは、SSS 160のライン・データ・ポイ
ンタ839のフィールド9の順序付けしたアレイに含ま
れ、また現在ラインのLDS 162に対するオフセッ
トはSSS 160の現在ライン・インデックス840
に記憶される。
ラインの開始位置及び大きさとラインを有するユニット
との間と、開始位置と隣接ラインとの間との関係を第1
5図を用いて示す。第15図において、ライン開始位置
(LSTARTLOC) 1502と、開始位置906
に記憶した値を表わすライン寸法ボックス(LD工MS
)1504と、ラインのLDS 162のライン寸法9
08のフィールドとを有する現在ラインが示されている
。現在ラインに対する基準ラインは、第15図にライン
基準ライン(LよりL)1506により、狭わされてい
る。第15図には更にこのラインの上で次に前のライン
のライン寸法ボックス(LD工MS)1508の下端で
ある。
このラインのLD工MS 1504内にはライン’に!
する複数のユニットが示されており、これらの寸法及び
拡張寸法ボックスは実線で表わされている。
図示のように、これらのユニットにはユニット1402
と、BU 1404と、PSupL) 1406と、L
US14 osa及び1408bと、LUS 1408
a及び1408bの基準として用られるスーパースクリ
プト・ユニットと、前の例の5ubU 1410 とが
含まれている。
これらのユニットには、ユニン) 1510 、関連す
るスーパースクリプト・ユニット(SupU) 151
4ケ有するユニット1512と、スーパースクリプト位
置に関連するライン分割全頁するユニツ) 1516と
が付加され、このライン分割はライン分割ユニソ  ト
 (LSU)1518a  、  15181)  、
  1518C、及び1518dと、LSU1518a
、 1518b、 1518c、及び1518(lの基
準として用いられるスーパースクリプト・ユニットとか
ら7よる。
先に説明したように、ラインの寸法は方形ラインの寸法
ボックスにより定義されており、その寸法はラインを有
する全てのユニット、即ち第14図に示すように、個々
のユニットの全ての寸法ボックスを囲むようにしたもの
である。また、ラインの開始位置はライン寸法を測定す
る絶対纜−ジに相対する原点として定められている。
第14図に示すよう((、ラインの寸法がラインのユニ
ットヲ構築する際に変化すること、またユーザーがユニ
ットのキャラクタを入力する際にキャラクタ毎に変化し
得ることは、ユニットの構築の前記説明から明らかであ
る。これもユニットの構築の前記説明において説明した
ように、1ラインの複数のユニットが手段の複数のライ
ンの複数のユニットに、即ち手段のラインの開始位置及
び大きさにより定められた領域内に入り込んではならな
いことも明らかである。
従って、新しいラインの開始位置及び大きさの軸は、新
しいラインの複数のユニットが前のラインの大きさによ
り定められた領域に入り込まないように、前のライ/の
位置及び大きさにより、当該ライ/の開始において決定
される。即ち、新しいラインの開始位置は、前のライン
の犬ぎさにより囲まれた領域に隣接した位置、かつ5S
S160の行間スは−シンク887のフィールドで定義
された領域から離れた距離に固定されの0先に説明した
ように、開始位置は、ラインの大きさ全測定する原点で
あり、開始位置及び大きさは新しいライ/の範+71が
前のラインの範囲により囲まれた領域に対して平行に、
かつ離れるように伸延する。更に、開始位置及び寸法上
の軸の位置及び方向に基づく規制は、これらが特定のテ
キストによって必要とする方向に新しいラインの基準ラ
インが伸延するように、決定されなければならない。
先に説明した第15図に示す例を参照すると、この例は
、各ラインを左から右に書き、連続的なラインを上から
下へ書く英語の規則に従っている。
これも説明したように、現在ラインの大きさの範囲は寸
法ボックスのLD工M81508により、また現在ライ
ンの開始位置はLSTARTLOC1502により表わ
されている。即ちLSTARTLOC1502は前のラ
イン領域の左端に隣接し、かつその下に配置され、行間
スは−シンクによってy方向に前のライン領域から離れ
て配置される。X次元の軸は、現在ラインが基準ライン
に沿って右へ、かつ前のラインの基準ラインに平行に伸
延するように、選択される0また、y軸は、現在ライン
の高さの拡張が前のラインから下へ、かつ離れるように
選択される。このテキストは、ラインを右から左へ書き
込んだものであるときは、LSTARTLOC1502
は前のラインの右端の下に配置され、X軸は右から左へ
延びることになる。他の例において、テキストがライン
が上端から下端へ延び、連続的なラインが右から左へ入
るときは、前のラインは現在ライン領域の右に現われ、
かつその基準ラインが上端から下端へ垂直に延びる。L
STARTLOC1502はに一部上の上端、かつ行間
スペーシングにより前のライン領域の左に配置され、一
方次元の軸は現在ラインの基準ラインがページの上端か
ら1太に延びるように選択され、ラインは「高さ」を左
に拡張させることになる。
この実施例において、第15図を参照すると、ユーザー
は前のラインのエディタ)t−終結し、現在ラインのす
すんでいるか、エディットケしている。ユーザーが前の
ラインのエディラミ終結したときは、現在ライン及び現
在ラインの第1ユニット、ユニット1402はエディタ
ーにより開始さiる。先に説明IJ、: 、J: 5 
K、LSTARTLOC1502は第15図の示す位置
にあることが判断される。
この点でキャラクタ又はシンボルが未だ入力されていな
いので、現在ライン及びユニツ) 1402の寸法は付
加プロップのものとなる。
次に、ユーザーはユニット1402のキャラクタ、即ち
第14図を参照して先に説明したように、キャラクタ″
g″を入力、する。この点で、ユニット1402はユニ
ットの構築に関する以上の説明で説明したようになる。
この点で現在ラインの大きさは、ラインが付加プロップ
に加えて1以上のキャラクタケ有するので、もはや付加
プロップのものではなくなる。実際に、ユニツ) 14
02はこの点で現在ラインにおいて唯一のユニットなの
で、現在ラインの大きさは付加プロップを有するユニッ
ト1402のものとなる。ラインのXの大きさはユニッ
ト1402の右端から右へ伸延し、またラインの4の大
きさはユニツ) 1402のyの大きさで、I、5TA
RTLOC1502から下方へ伸延する0ユニツ) 1
402はページ上、即ちライン内に第15図に示すよう
にその位置に対して垂直に持ち上げられ、LSTART
LOC1502と一致するユニット1402の上端によ
り配着される。
第14図を参照して先に説明したように、またユニット
の構築の説明のように、ユーザーはテキストのキャラク
タが連続して入力される。先に説明したように、テキス
トにおいて′g”に続(関連の区別的発音符号を有する
キャラクタ”A″は、この点でBU 1404 ’!f
”開始することになり、区別的発音符号を有するA”は
最初にユニツ) 1402に行(。先に説明したように
、BU 1404は開始されユニット1402かも独立
した基準ユニットとしてBU 1404の存在を必要と
する。しかし、説明全明確にするために、第15図’i
”A”及びBU 1404の区別的発音符号と、これよ
り構築されたBU14041c関連するスクリプト・ユ
ニットと共に示すことに注意すべきである。
図示のように、区別的発音符号を付けた”A”はyの大
きさがユニット1402のキャラクタ”g”よりも大き
いので、現在ラインの大きさはX及びyの大きさの両方
の拡張されなければならない。X方向のラインの大きさ
はBU 1404の右端に又はBU 1404となるも
のに拡張され、またX方向のラインのyの大きさはBU
 1404のもの、又はBU 1404  となるもの
である。この点で、BU1404 ’(r有するキャラ
クタは、BU 1404の寸法ボックスとなるものの上
端がLSTARTLOC1502も一緒にそのyの大き
さで配置すれるように、ページ上に配置される。
先に説明したように、LよりL 1506は現在ライン
ド、ユニット1402及びBU 1404となるものの
キャラクタとの基準ラインである。従って、エディター
は基準ライン、即ちBU 1404の寸法ボックスの下
端と同一の高さとなるようにX方向に下へLよりL 1
506 i移動させ、ユニット1402の基準ラインが
LよりL 1506に留まるように、同一の量だけユニ
ット1402’に下方へ移動させる。
次に、ユーザーは開始?し、第14図をb照して先に説
明した方法でPSupU 1406 k人カする。
このステップはBU 1404 ’e開始させることに
なり関連する区別的発晋符号會付けた”A″を含め、こ
れに関連し、かつBU 1404のシフトにお(・ては
X方向釦右へスクリプト・ユニットのだめの基準ユニッ
トとして用いる。PSupU 1406を加えることに
よシ再びラインのX及びyを拡張する結果となる。ライ
ンのXの大きさはページ上のBU 1404の右端の新
しい位置に対して右に拡張され、またラインのyの犬ぎ
さはBU 1404及びPSupU 1406の組合わ
せた全体的なyの大ぎさに等しくなるように、下方に拡
張される。PSupU 1406をラインに加えること
によシ、再びラインに既に存在する複数のユニット、即
ちユニツ) 1402及びBU1404は、LIBL 
1506 と共に特にyの大きさの下方に移動するので
、PSupU 1406の寸法ポック、K C1上端i
j LSTARTLOC1502と並ぶyo大きさで配
置される。
次のステップにおいて、第14図を参照して先に再度説
明したように、ユーザーは、LUS 1408a及び1
408t+  に対する基準ユニットとして用いるスー
パースクリプト・ユニットと共に、LUS1408a及
び1408bをラインの構築に加える。再び、この付加
はX及びX方向にラインの大きさの拡張を必要とする。
また、LUS 1408a及び14081:+を加える
ことにより、ラインの構築に既に存在する複数のユニッ
トが下方に移動するので、LtJ31408aの寸法ボ
ックスの上端をLSTARTLOe1502と並ぶyの
大きさで配置することが必要となる。
この点で、ユニット1402)BU 1404、PSu
pU1406、LUS 1408a 、 LUS 14
08b 、 LUS 1408a及び1408bのだめ
のスクリプト基準ユニット、及びLよりL 1506は
第15図に示されているX及びyの大−ぎさになる。X
の大きさはLUS 1408a及び1408bの右端に
拡張され、yの大きさはL(JS1402の下端に拡張
される。
Sub 1410を構築に加算する次のステップでは、
ラインの寸法の拡張は存在しない。第14図を参照して
先に説明したように、Sub 1410の寸法ボックス
を既に存在する拡張ユニットの拡張寸法内、従ってライ
ンの既存の大きさの内に貧まれる。
ユニット1510.1512.1514、及び15]6
の次の加算には、ラインの大きさを拡張する必要がある
が、ラインのyの大きさの拡張はない。
次のステップでは、ユーザーがスーパースクリプト位置
の4ライン分割をユニット1516に加えることである
。第15図に示すように、ライン分割はLSU 151
8a、15181)、1518c及び1518dからな
り、LSU 1518a、 1518b、 1518c
及び1518dの基準ユニットとして用い′るために、
ユニット1516 に関連してスーパースクリプト位置
にスクリプト・ユニットを必要とする。第15図に示す
ように、LSU 1518a及び1518bは再びライ
ン寸法ボックスの上端の上に拡張することになり、かつ
LSU 1518aは前のラインの寸法ボックスの佃域
に拡張している。また、この付加は、そのLよりL 1
516、ラインの既存ユニットを先に説明したような方
法、及びラインの寸法に対して対応する拡張によりX方
向の下方に移動させることを必要とする。
以上の説明は、ユーザーがラインを終結させるまでか、
又はユーザーが前のラインの終端に到達したことをエデ
ィターが示すまで、繰り返すものとなる。この発生は、
即ちラインの終端が各キャラクタをラインに入力するに
従い、このラインの大きさを、ラインLDS 1621
.でおいてフォーマット・ライン・ポインタ918のフ
ィールド9により識別されるフォーマット・ラインによ
シ決定されるラインの最大許容寸法と比較するエディタ
ーにより検出される。
このエディターが処理しようと意図しているテキストの
特定のキャラクタのため、また特定の科学的なテキスト
において、このラインが次のラインに「ワード・ラップ
(word−wrap) J L、連続的なテキストで
はな(、このラインの終端に到達したとぎは、エディタ
ーがユーザーに示す。これによって、ユーザーはライン
を終結させるテキストに点を選択させることが可能であ
る二他の実施例において、自動的な「ワード・ラップ」
を実力^してもよく、又は自動「ワード・ラップ」を選
択したり又は不活性にする機能を備えてもよい。
最後に、ユーザーは前のラインに戻り、更にそのライン
における編集処理を実行してもよいことに注意すべきで
ある。これらの処理がラインの寸法に変化をもたらした
ときは、エディターは次の全てのラインのLSTART
LOCの位置と、これらのラインにおける全てのユニッ
トの位置とを再決定する。
このテキスト・エディターの処理の最終的な説明のよう
に、第16A図、第16B図及び第16C図を用いて以
下、挿入及び隠し込み処理と、関連するコピー及び移動
処理を実行する際のエディターの処理を説明する。
第16A図を参照すると、挿入及び隠し込み処理の開始
でEB128のブロック図が示されている。
このドキュメントのテキストを形成しているキャラクタ
、シンボル、オペレータ、パラメータ及びターミネータ
・コードは、コードを記憶しているコード・ワード9の
メモリ位置を表わすボックスのストリングとして表わさ
れている。次の説明で参−するために、ワード位置をA
′、′B”、C”、”D”及び“X”のように、英字に
より表わし、若干数のワード9位置をそれらの表示の上
に、例えば1”、2″、3” 等のように番号付けしで
ある。
先に説明したように、SSS 160はテキストの現在
の始まり855のフィールドに記憶され、かつEB12
8におけるテキストの第1コードを指示するテキスト・
オフセットの現在の始まり(CBOT )1602と、
位置19において、現在の始まり856のフィールドに
記憶され、かつEB 128におけるテキストの最終コ
ードを指示するテキスト・オフセラトノ現在終了(C′
f2oT)1604トヲ含ミ、EB128において現在
アクセス可能テキストを範囲を決定する。現在カーソル
によシ指示しているキャラクタは、現在バッファ位置8
52のフィールド9に記憶された現在バッファ・オフセ
ラ) (CBO)1606により指示される。カーソル
により現在指示されているキャラクタに関連する第1コ
ーrは、現在キャラクタ・バッファ開始853のフィー
ルドに記憶されている現在キャラクタ開始オフセット(
CCBB) 1608により指示され、カーソルにより
現在指示されているキャラクタに関連する最終コードは
現在キャラクタ・バッファ終了854のフィールド9に
記憶された現在キャラクタ・バッファ終了オフセット(
CCBE)1610により指示される。EB128にお
いて未使用スに一スの終端は未使用バッファの終了85
7のフィールPに記憶されている使用可能バッファ・オ
フセットの終了(EOUB) 1612により指示され
る。
先に説萌したように、エディターは挿入及び隠し込み処
理で用いたある程度のデータ構造を保持する。特に、挿
入又は隠し込み処理を開始する度に、エディターは挿入
点ポインタ872フイールドの挿入アレイ構造における
対応の工HDA 166を開始し、挿入レベル871に
おける情報をルベルだけ増加させる。
F’、5.  a挿入処理 この説明の都合によシ、カーソルにより現在指示されて
いるテキストの位置にユーザーが更にテキストを挿入し
たいと仮定する。挿入処理、又は以下で説明するように
、隠し込み処理を実行するため1(は、新しいテキスト
を挿入した後に、挿入点に関連し、かつ従うデータをテ
キスト・ストリングに戻すことができるように、このデ
ータを保存する必要がある。このエディターでは、挿入
及び1恕し込み処理中のEE 128のス深−スの終端
で保存するデータを記憶する。
第16A図を参照すると、挿入処理で挿入されるワード
に先行するワード9をキャラクタ″A”により示し、E
B 128の位置1〜12を占有する。挿入処理の時点
でキャラクタ、即ちカーソル及びCBP 1606によ
シ現在指示されているキャラクタは、キャラクタ”B”
により指示され、EB 128の位置15を占有する。
当該キャラクタに関連、又は接続されるワードは、キャ
ラクタ”C”により指示され、EB 128の位置13
.14.16及び17を占有する。挿入点に続(が、挿
入点でキャラクタ”B”に直接関連されないワードは、
”D”により指示され、EB 128の位置18及び1
9を占有する。
ユーザーが挿入処理を開始すると、先に説明したように
、エディターは対応する工HDA 166を開始し、対
応する情報を挿入点ポインタ872及び挿入レベル87
1のフィールドに書き込む。
第16B図に示すように、次に、エディターは挿入点に
関連し、継続するテキスト・ワード、即ちキャラクタ”
B″、”CI+及び“Dl+により示すワードのストリ
ングを占有し、本来はEB 128の位置13〜19を
FBI28のスイースの終端まで占有している。エディ
ターは終端ポインタからの位置(LFE)1614をI
HDA 166の終端からの位置1002のフィール)
”vtc書き込むLF’E 1614は保存のためにコ
ピーしたワード・ストリングの第1ワード9のEB 1
28の終端において新しい位置を、即ちC”により表わ
され、前にEB128の位置13を占有するワードを指
示する。エディターもこの時点で使用可能なEB 12
8のスイースの新しい終端に対する点に対するEOUB
 1612 k更新する。この場合は、ここで、EB 
128のス〈−ス即ち位置がLFE 1614により指
示される直前に、EOUB 1612がEB 128の
スペース即ち位置を指示する。
エディターもIHDA 166の遮断位置1104のフ
ィールドに遮断点位置(POE) ] 616と、IH
DA 166の保存ポインタ1106とを書き込む。P
OB 1616は、挿入を開始したEB128の位置、
即ちCBP1606及びカーソルによシ本来指示され、
かつ16図及び第16図にEB 128の位置として指
示された位置を指示する。挿入点でキャラクタに関連し
た第1ワード′のEB128における原位置、即ち位置
13として表わされ、かつCCBBにより表わされたE
B 128の位置を指示する。POB 1616及ヒP
P 1618により挿入隠し込み処理の「スクッキング
」又は「入れ子」、即ちこれらにより挿入点ポインタの
フィールドのアレーに記憶した工HDA 166のポイ
ンタのアレーと共に、挿入及び隠し込み処理内に挿入及
び隠し込み処理の実行を可能とする。他の笑旋例では、
FOB 1616及びPP 161B  も挿入又は隠
し込み処理をしたいとぎは、下のテキストの復旧を可能
にさせる。PP1618は、例えば、本来、挿入点でキ
ャラクタに関連した属性を保持かつ復帰するために用ら
れる。
この時点で、エディターは、第11図全参照して先に説
明した工HDA 166の残りのフィールドも埋め込む
この時点で、エディターの処理は挿入の実行と、以下で
説明する隠し込み処理の実行との間で異なることに注意
すべきである。挿入処理では、挿入遮断の後、この時点
でテキス)iEB123に挿入する。即ち、「編集可能
テキスト」が挿入遮断に続(EB12Bの位置に存在す
る。
先に説明したように、EB 128においてエティソト
可能テキストの開始位置は、一般にテキストの現在開始
855のフィールドに記憶されたテキスト・オフセット
の現在開始により指示され、テキストにおいて当−読点
で付加プロップの生起により示される。従って、エディ
ターは、挿入処理のための編集可能テキストの開始に対
するオフセットを含むように、テキストの現在開始85
5のフィールドに前に記憶されたCBOT 1602’
を更新する。
編集可能テキスト・オフセットの新しい開始は、テキス
ト・オフセントの挿入現在開始(工CBOT)1620
として第16B図に示されている。この説明における表
現を明確にするために、工CBOT1602を用いて工
CBOT 1620の新しい値を表わす。
このICBOT 1602は処理におけるこの点でテキ
ストの現在開始855に記憶され、EB 128のエデ
ィツト可能テキストの新しい開始、即ち、テキストをE
B 128に挿入する点を示す。この挿入例の場合に、
この点はEB 128の位置13、即ちgB128の終
端に移動したストリングの第1ワードにより前に占有さ
れたワード位置にある。
ことに注意すべきである。エディターが最後に使用した
EB128の位置、即ちテキストを受は取ることが可能
な次の位置の直前を指示して、挿入のために新しいテキ
ストが開始をする位置の直前のEB 128の位置を指
示する。この挿入処理の例では、挿入処理の新しい(J
OT 1604は、F2B128の位置12)即ち挿入
されるテキストのためのEB 128において最初に得
られる位置の直前のEB 128の位置を指す。
次に、ユーザーは第16B図に示すように、EB 12
8の位置13〜20におけるキャラクタ″X”により新
しい挿入テキストを入力する。挿入テキストのワードを
ユーザーが挿入するに従い、CEOT 1604が連続
的に更新されるので、ワードを入力するに従い、CEO
T 1604は連続的に種々のEB 128の位置12
〜20を指示することに注意すべきである。オペレータ
対又はオペレータ・パラメータ・セットを加える結果と
して、い(つかの位置はCEOT 1604の値として
生起し得ないことに注意すべきである。
挿入の結論として、挿入したテキストに対して余地を作
るためにEB12Bの終端に移動したテキスト・ストリ
ングは、挿入の終了で存在するストリングの終端に「再
付加」されなければならない。
即ち、保持されたス) IJングは挿入されたテキスト
の終端でテキスト・ストリングに加えられなければなら
ない。
この処理のこのような影響を第16C図に示す。
このステップでは、エディターがCEOT 1604に
より挿入したテキストの後の位置の次の位置を決定する
。エディターはIB 128の終端から前に保存したス
トリングをコピーするので、LH’E 1614により
配積され、保持したストリングの第1キヤラクタをCE
OT 1604により指示された位置に続(次の位置に
書き込まれると共に、保持したストリングの残りを順に
EB 128の次の位置に書き込まれる。第16C図に
示すように、保持したストリングはここでEB 128
の位置21〜27に、また位置13〜19の本来現われ
ると同一の順序で現われる。
最後に、エディターは再び第160図に示した位置に対
する、即ちそれぞれス) IJングの第1のワード、ス
トリングの終端における最終ワード位置及びEB 12
8における最終ワード9位置に対する工CBOT 16
02)CEOT 1604及ヒEOUB 1612を更
新する。
挿入処理を説明したので、隠し込み処理を次に説明しよ
う。
F、5.  b隠し込み処理(第16B図)隠し込み処
理の目的を先ず説明すると、多(のデータ構造と同じよ
うなエディター・データ構造が本質的に逐次的であるこ
とは、エディターの以上の説明から明らかである。即ち
、位置、また構造において如何なる点のデータの特性も
その点に先行するデータに依存する。ユニット及びライ
ン構造の説明と、挿入処理とについて以上で説明したよ
うに、前のデータについての処理が次のデータに影響す
ることも明らかである。
更に、次のデータに直ちに、かつ直接影響しないデータ
構造のデータについて実行することができる多くの処理
がある。先に説明した挿入処理はこのような処理の例で
ある。従って、このような処理では、実際に即値蓋」ら
次のデータを「隠し込む」こと、及び前のデータについ
ての即値命令を完了した後でのみ、次のデータについて
必要とする必然的な処理を実行することが好都合である
以上が隠し込み処理の意図である。即ち、これによって
、エディツト処理を実行する領域としてテキスト構造の
部分を定義し、また、処理を終結するまでエディツト処
理の影響から当該領域に続くテキスト構造を「隠し込む
」のを可能とする。
この点から、次のデータの構造又は特性が前のデータに
従属しているデータ構造のデータについて処理するとぎ
ツバ、データ構造に基づ(この処理方法が全般的に好都
合であることに注意すべきである。
先に説明したように、このエディターの工)[DA16
6は、833160の挿入レベル871及び挿入点ポイ
ンタ872のフィールビに記憶されている工HDA16
6のアレーと共に、「入れ子」又は「スクッキング」挿
入処理の機構が得られる。即ち、ユーザーは即値命令を
開始して、先に説明したように、EB 128の終端に
保存したストリングを移動し、ストリング及び挿入に関
連して必要な全ての情報を含む工HDA 166を生成
することができる。次に、ユーザーは第1挿入を完了す
る前に、挿入しているテキストに他の挿入全開始するこ
とができ、再びEB128の現在終端に保存するストリ
ングを移動し、新しいIHDA 166を生成し、以下
必要な挿入のレベル数まで繰り返す。以下で説明するよ
うに、このエディターで実行した隠し込み処理は修飾し
た入れ子による挿入形式である。
第16C図、及びこれに関する以上の説明を参照すると
、エディターがEE 128の終端に対する挿入点後の
テキスト・ストリングを移動し、工CBOT 1620
1に発生して、ここでエディツト可能テキストの開始が
挿入遮断点にあることを表示しているという説明をした
。次に、挿入テキストはICBOT 1620により示
された点で、また後でEB128に挿入される。
この点で、IB 128の終端に移動したテキスト・ス
トリングがある観点でエディター及びユーザーのエディ
ツト処理から「隠し込まれる」という説明に注意すべき
である。即ち、エディターは、挿入を完了したときにテ
キストの編集可能部分に「隠し込み」テキスト・ストリ
ングに再結合することを除き、この「隠し込み」テキス
トについての処理を実行することはない。
隠し込み処理は挿入処理と同じような方法により開始さ
れる。ただし、挿入遮断が発生する点を示すことな(、
このカーンル位置により示されたテキストにおける位置
は、「隠し込む」テキスト部分、即ち当該点に続(テキ
ストの部分がエディターの処理から「隠し込む」テキス
ト部分の領域も定める。また、テキスト部分がエディツ
ト処理全実行することができるエディターにアクセス可
能なので、これは、≠断点の前のテキスト部分、即ちテ
キストの開始と遮断点との間にテキスト部分を定める。
挿入処理で先に説明したように、エディターは、f2B
 128の終端で「隠し込み」領域に対するカーソル即
ち遮断位置に続(テキスト・ストリングの部分を「移動
」する。しかし、挿入処理で先に説明1,11:5K、
工CBOT 1620トt、テm断点に、 CBOT1
602を移動するのではな(、エディターは遮断点の前
のテキスト・ストリングの開始でテキスト・ポインタの
現在開始を去るか、又は開始で発生する正当な処理のみ
、即ち編集可能なテキスト点の前で許容するように必要
とする限り、これを移動させる。この実施例において、
エディターがラインの現在基準ライン以外の基準ライン
で処理をしているときは、この点を局部的な基準ライン
の始めとすることができる。
テキスト・オフセットの隠し込み現在の始まり(HCB
OT) 1622として、説明を間単にするために、こ
の処理を第16B図に示す。挿入処理の説明から表示の
HCBO’L’ 1622及び工CBOT 1620が
CBOT1602の単なる別の表示であり、挿入及び隠
し込み処理においてCBOT 1602の処理を表示す
る際に説明を明確にするためにそれぞれ使用されている
ことを想起すべきである。テキストの現在の始まりは、
実際のところ常時テキストの現在の始まり856のフィ
ールビに記憶されたオフセット値によって示され、ここ
で提示した説明で用いた3つの説明値、即ちCBOT、
工CBOT、及びHCEOTを挿入及び隠し込み処理に
おけるこのオフセットの変化値に示す名称として使用し
ている。
先に説明したように、テキスト・オフセントの現在の始
まりは、編集可能点の現在の始まり、覇集可能なテキス
トの開始に対し、即ち編集処理のためのエディターにア
クセス可能にさせるテキストに対して指示する。実際に
は、テキスト・オフセットの現在の始まりは、アクセス
をすることになるテキストの開始の位置をエディターに
示すことにより、エディターにテキストの複数の部分の
アクセスを許容する。従って、この隠し込み処理におい
ては、テキスト・ストリングの開始と、隠し込み遮断を
挿入した点との間のテキストのある部分に対するアクセ
スを許容する。カーソル移動の説明で先に説明したよう
に、テキスト・ストリングのこの部分におけるどの点に
も自由に移動することができ、この領域において挿入及
び隠し込み処理と、コピー、移動及び削除処理を含む所
望の扁集処理を実行する。
隠し込み処理の終了のとぎに、h:B 128の終了で
移動され、隠し込まれたテキスト・ストリングe@16
C図で先に説明したように、編集可能なテキスト・スト
リングの終端に戻される。隠し込み処理においてテキス
トの編集可能な部分について実行した処理の結果として
、必要な処理は、この時点でライン又はパージ上のテキ
ストの再配置のようtこ、前のテキストの隠し込み部分
について実行される。
最後に、以上の機構を用いてコピー、移動、及び削除処
理全実行し、ポインタ、即ちEB 128のオフセット
の付加的な支援によってコピー、移動又は削除するテキ
スト部分の範囲を定めることもできる。これらの付加的
なオフセットは、先に説明したように、388160 
、開始範囲設定873、終了範囲設定874、開始範囲
設定終了位置875、及び終了範囲設定終了位置876
のフィールドにより得られる。これらのフィールドは、
現在キャラクタノ;ツファ開始852)現在キャラクタ
・バッファ開始853、及び現在キャラクタ・バッファ
終了854のフィールド4を参照して先に説明したよう
な方法により、カニツルと関連して機能し、ユーザーが
エディターに対するテキスト・ストリングの部分を識別
し、かつ範囲を定めることを可能にする。
例えば、コピー処理の場合は、ユーザーがコピーするテ
キスト・ストリングの部分の範囲を定めると共に、ユー
ザーがテキスト・ストリングの限界を知らせることにな
る。次に、ユーザーはテキスト・ストリングのコピ一部
分をどこに挿入すべきかの点を示す。エディターはテキ
スト・ストリングの範囲設定部分を読み込んで挿入処理
全実行し、先に説明した方法によシ挿入遮断点でテキス
トの範囲設定部分のコピーを挿入する。
コピー処理のために範囲を設定したテキスト・ストリン
グのセクションに構造又は環境オペレータを含めてもよ
いことに注意すべきである。テキスト・ストリングの・
碩明設定セクションに含まれず、かつ範囲設定セクショ
ンにおいてキャラクタ及びシンボルに影響する特定の環
境オペレータも含まれ得る。先に説明したように、これ
らの多(のオペレータはテキスト・ストリングにおいて
関連する複数の対のコードとして発生する。即ち、構造
的な特性を開始する、又は属性を定める第1コードに第
1コードの影響を終結、又は変更する他のコードが続く
。例えば、バー開始オペレータにはテキスト・ストリン
グにおける後の点でバー・ターミネータ・オペレータが
続き、リサイズオペレータには第1リサイズオペレータ
の影響を中和又は修飾する他のりサイズオペレータが続
(。
コピー又は移動のようなテキストのセクションについて
の処理がテキスト・ストリングに好ましくない影響をも
たらすかも知りないことは明らかである。例えば、テキ
スト・ストリングの他の点にコピーされるテキスト・ス
トリングのセクシプンにはバー又はイタリック開始オ啄
レータが含まれるが、対応するバー又はイタリック終結
オペレータは含まれない。コピーされたテキスト・セク
シ曹ンにおけるバー即ちイタリック開始オペレータの外
形は、挿入点に続(バー即ちイタリック・オペレータを
コピーしたテキスト・セクションに対してではなく、テ
キスト・ストリングの部分に適用することとなる。
従って、コピー処理を実行するとぎは、オペレータは、
テキスト・ストリングの範囲を設定した一部においてキ
ャラクタ及びシンボルの現在に適用する構造オペレータ
及び属性を決定するために、EB 128のテキスト・
ストリングを読み出さなければならない。次に、エディ
ターは、挿入点に適用し、かつテキスト・ストリングの
コピーした部分における2組のオペレータ及び属性を連
結するオペレータ及び属性を同様に決定しなければなら
ない。この連結は、コピー処理の終結時にコピーしたテ
キストの部分がテキスト・ストリングの元の範囲設定部
分として同一の特性を有するように、機能しなければな
らない。更に、連結は、コピーしたテキストの部分の次
のテキスト・ストリングの部分に新しい特性又は属性を
うっかりして連用しないように、機能しなければならな
い。
実施例により説明するために、−1のりサイズ係数がコ
ピーするテキスト・ストリングの範囲設定部分に適用す
るものと仮定する。挿入点でのテキスト・ストリングも
−1のりサイズ係数を有するとぎは、エディターは挿入
点でテキストの範囲設定部分のキャラクタ及びシンボル
をストリングに単純にコピーする。しかし、−1のりサ
イズ係数を挿入点に適用したとぎは、エディターは+1
のりサイズ係数により−1のりサイズ係数を連結し、テ
キストのコピ一部分の始まりで−2のりサイズ係数、テ
キストのコピ一部分の終端で対応する+2のりサイズ係
数を挿入する。他の実施例では、挿入点に−2のりサイ
ズ係数を適用するとぎは、エディターはテキストのコピ
一部分の始端及び終端でそれぞれ+1及び−1のりサイ
ズ係数を挿入する。従って、それぞれの場合に、コピー
したテキスト部分はそのもとの環境オペレータ、即ち−
1のりサイズ係数を保持する。
さらに、コピーしたテキストを挿入している点の周りの
キャラクタ、及びシンボルに適用する係数を連結が保持
しなければならないことにも注意すべきである。例えば
、最も多(発生する場合、即ち挿入が、第1コピーの前
に現われるリサイズ係数により処理される2つのコピー
間に発生する場合は、挿入点の直前のコピーに影響を与
えることな(、先行するりサイズ係数を修飾することは
できない。この場合に、連結は先行するりサイズ係数全
保持する必要があるが、挿入点後のキャラクタに続(リ
サイズ係数に影響を与えることがある。
他の実施例では、テキスト・ストリングのコピ一部分に
バー若しくはイタリック開始オペレータ、又はバー若し
くはイタリック終結オペレータが含まれるとぎは、エデ
ィターはそれぞれテキスト・ストリングのコピ一部分に
おいて必要とされた位置にコピーしたテキスト部分にバ
ー若しくはイタリック終結オペレータを挿入しなければ
ならない。
次に、これらの挿入したオペレータはテキスト・ストリ
ングのコピ一部分に最初に現われるオペレータの影響の
領域をテキスト・ストリングのコピ一部分のみに制限す
る。
最後に、エディターは新しいtJs 136を発生して
先に説明したように、適当なEBP 140のポインタ
によりEB 128テキスト・ストリングのコピ一部分
にEB128のテキスト・ストリングのコピ一部分を対
応させる。この処理において、エディターも新しいUS
 136をこれらのUSP 138のポインタにより既
に存在するUS 136と連結して、先に説明したよう
に、必要とするところに先に存在するUS 136のU
SP 138のポインタを修飾しなげればならない。
次に、削除処理を説明すると、現在バッファ位置852
)現在キャラクタ・バッファ開始853、及び現在キャ
ラクタ・バッファ終了854のフィールドにより、処理
ヲ笑行するテキスト・ストリングの部分を再びユーザー
が識別し、かつ範囲を定めることを可能にする。この場
合に、テキスト・ストリングの範囲設定部分は削除され
るべきものであり、範囲設定部分が続く元のEB 12
8のテキスト・ストリングの部分は、範囲設定部分に先
行するテキスト・ストリングの部分に結合するように、
EB 128 ’に順方向に移動させることにある。
再び、先に説明したように、削除するために範囲設定さ
れたテキスト・ストリングの部分に適用する構造オペレ
ータ又は環境オペレータがある。
従って、削除処理を実行するとぎは、エディターは、コ
ピー処理のように発生する構造及び環境オペレータを決
定し、かつ結合又は取り消さなければならず、これらの
オペレータはテキスト・ストリングの未削除部分につい
てうっかりした影響を縫けるように、rB128のテキ
スト・ストリングの範囲設定部分に適用する。
削除処理において、エディターはEB 128のテキス
ト・ストリングの範囲設定部分企介する第1「経路」全
実行し、全てのキャラクタ、シンボル・コード及び全て
のオペレータ・ニー)″を読み込む。この第1経路では
、EB 128のテキスト・ストリングの範囲設定部分
における全てのキャラクタ・コード及びシンボル・コー
ドは「削除テキスト・フラグ」コードによジ置換される
。もともとキャラクタ及びシンボルき含む各EB128
 位置に現存する「削除テキスト・フラグ」は、これら
のEB128位置にもともと現存するキャラクタ・コー
ド及びシンボル・コードが削除され、その位置が他に使
用可能であることを示す。
また第1「静路」においては、エディターがEB 12
8のテキスト・ストリングの範囲設定部分に現われる各
オペレータ・コードと、このよ5な各オペレータ・コー
ドの位置に注目する。次に、エディターはコピー処理を
参照して先に説明した方法と同じような方法により、識
別したオペレータ・コードを連結するので、テキストの
範囲設定部分に存在し、テキストの範囲設定部分の外部
に影響のあるオペレータ・コードの影#を保存する。
エディターはコードを保持することにより、相互に影響
を打ち消す複数の対のコードを削除することにより、又
は同じようなオペレータ・コードヲ単純な等価コードに
組合わせることによりこのようなオペレータ・コードを
連結することができる。
例えば、範囲設定部分にバー又はイタリックの開始オペ
レータ又は終結オペレータを含むが、対応する開始オペ
レータ又は終結オペレータを含まないとぎは、エディタ
ーは含まれていたオペレータを保持する。即ち、エディ
ターはオペレータ・コードを「削除テキスト・フラグ」
コードにより置換をしない。同様に、テキストの範囲設
定部分が例えば1個のオペレータを有するときは、オペ
レータが保持される。テキストの・範囲設定部分が例え
ば、適正な対をなすシーケンスで開始バー、又は開始イ
タリンク・オペレータと、対応する終結バー又は終結イ
タリック・オペレータを有するときは、エディターは「
削除テキスト・フラグ」コードによってニードヲ置換す
ることにより、このようなオペレータ・コート4を削除
する。他の実施例において、EB128のテキスト・ス
トリングの範囲設定部分が共通形式の2以上のりサイズ
、例えば中心の周りのりサイズ、又は基準ライン上のり
サイズオペレータを有するとぎは、エディターが当該形
式の複数のりサイズオペレータを、含まれている当該形
式の全てのりサイズに関する全体的な影響を有する形式
の1個のりサイズオペレータに組合わせる。
先に説明したように、EB 128のテキスト・ストリ
ングにおけるオペレータ・コードが生起するシーケンス
は、オペレータの影’JJI ’に判断する際に重要で
ある。必要に従って元のオペレータ・コート#ヲ連結、
保持又は削除したので、エディターは得られたオペレー
タ・コードを必要な最終シーケンスに再整理して所望の
特性及び属性を与える。
最後に、エディターはEB 128のテキスト・ストリ
ングの範囲設定部分により第2の「経路」を実行する。
この第2の「経路」の第1部分において、エディターは
先に説明したステップから必要な順序のEB 128の
範囲設定部分において最初に得られる位置に基づいて、
オペレータ・コードのシーケンスを書き込み、必要なだ
け各コード噛ψEB 128に書き込ン記従い、EB 
128に先に説明したオフセットを増加させる。
第2の「経路」の最終部分において、エディターはキャ
ラクタ及び(又は)シンボルと、範囲設定部分が続(元
のEB 12Bのテキスト・ストリングの部分のオペレ
ータ・コードとを順次読み込み、テキスト・ス)IJフ
ラグ削除部分の残りである連結したオぼレータ・コード
に続(EB128の位置に、これらのコードを再び順次
書き込む。第2の「経路」の最終部分は、EB 128
において順方向のテキスト・ス) IJフラグ削除部分
に続(EB128のテキスト・ストリングの部分を「移
動」させる拗ぎをし、ストリングの削除部分を先行させ
るテキスト・ストリングの部分に結合させると共に、ス
トリングの削除部分から連結したオペレータ・コードが
影響されないストリングの2つの部分間に現われる。
再び、エディターは、以下で説明するように、EB12
8のキャラクタ及び(又は)シンボル及びオペレータ・
コードに現われるに従い、テキストの最終的な連結に反
映させるために必要なUS136の修飾又は再構築によ
り、削除処理を終結させる。
最後に、先に説明した処理を用い、他のテキスト°エデ
ィツト処理を実行する方法につ〜・では、当業者にとり
明らかである。例えば、移動処理、即ちEB 128の
テキスト・ストリングにおける1位置から他の位置への
テキストのセクションの移動を、コピー処理により実行
して、新しい位置にテキストの範囲設定セクションをコ
ピーすることができ、これにコピーされたテキストの元
の範囲設定セクションを削除する削除処理が続(。
F、付記 以上、当業者にとり、この発明に関連するテキスト・エ
ディターの構造及び処理の詳細な説明をした。しかし、
関連する次の付記は、当業者に関連する詳細を更に開示
し、これによってこの説明の児全性を強化させるもので
ある。次の付記はパーサ−148及びEE146の種々
のプログラムを提供し、周知のC”プログラム言語のも
のである。
関連される付記には次のものが含まれる。
付記A−EQINUN工T−与えられた単位に対して1
キヤラクタを加えるモジュール、 付記B−EQREFDEC−訂正リフレッシュ・ルーチ
ンに対する制御フローを管理するモジュール、付記C−
EQBLC3CR−EE 128からスクリーンを構築
するモジュール、 付記D−EQBDL工N−EB 12Bからラインを構
築するモジュール、 付記E−EQTSTBUF−EB 128 におけるテ
スト・バッファを構築するモジュール、 付記F’−EQSEGLIN−ユニットに分析すること
によりラインを構築するモジュール、 付記G−EQLOCATE−ユニットを配置するモジュ
ール、 付記H−EQUN工TCK−次のキャラクタがこのユニ
ットに属するかについて確認するモジュール、付記ニー
EQ、MAIN−エディターの制御フローを制御するモ
ジュール、 付記J−EQAU’I’OMA−自動操作ヘッダ・ファ
イルを制御するモジュール、 付記に一現在勤作及び次の状態を制御するモジー−ル、 付記L−FD工S工ATM−機械の確実な状態を見付け
るモジュール、 付記M−F’DISATM−現在状態の生起を見付ける
モジュール、 付記N−EQO8D工ST−区別的発音符号により重ね
打ちを処理するためのモジュール、 付記0−EQRESAPB−付加プロノブを挿入又は引
き抜(ためのモジー−ル、 付記P−EQINSOVS−重ね打ちの挿入を制御する
モジュール、 付記Q−EQOVSTRK−第1のキャラクタを他のキ
ャラクタにより重ね打ちするモジュール、付記R−EQ
O3CONT−重ね打ち全実行するモジュール、 付記5−BQSTRUCT一式の構築用のモジュール。
付記T−EODFNS一式の要素を定義するモジー−ル
以上でこの発明の埃在好ましいとする実施例の説明を終
わりにする。以上で説明したこの発明をその精神又は本
質的な特徴から逸脱することな(、他の特定の形式に実
施可能なことに注意すべきである。従って、この実施例
はあらゆる点で限定的でなく、例示として見るべきであ
り、この発明の範囲は以上の説明によってではな(、特
許請求の範囲によって示され、従ってt群許請求の範囲
の意味及び同等とする範囲に入る全ての変形外1この発
明に含まれることを意図するものである。
【図面の簡単な説明】
第1図はこの発明に関連するコンビーータ・システムの
ブロック図、 第2図はこのテキスト・エディターのドキュメント輪郭
のブロック図、 第3図はこのテキスト・エディターの符号化されたヘッ
トゞ・バッファのブロック図、第4A図〜第4E図は科
学的な表現例の符号化ユニットを示す図、 第5図は本テキスト・エディターのユニット構造を示す
図、 第6A図〜第60図は本テキスト・エディターのパーサ
−のフローチャート、 第7図は分vTされた表現例のユニット構造に記憶され
たデータの要約を示す図、 第8A図及び第8B図は当該システムの動作に関連する
情報を含むシステム・ステータス・データ構造を示す図
、 第9図は現在動作しているラインに関連する情報を含む
ライン・データ構造を示す図、第10図はスクリーンに
関連する情報を含むスクリーン・データ構造を示す図、 第11図はこの発明の挿入及び隠し込みオ啄レータに関
連する情報を含む挿入/隠し込みデータ構造を示す図、 第12A図及び第12B図は表現例のユニット構造によ
るカーソルの移動を説明するための図、第13A図〜第
13F:図はこのようなユニット構造を付加された区別
的発音符号を有する一つのキャラクタ・ユニットを示す
図、 第14図は多重ユニツl有するラインの一部の構造を示
す図、 第15図は複数のラインの構造を示す図、第16A図、
第16B図及び第16C図はこの発明のエディターの挿
入、隠し込み、コピー及び移動処理を示す図である。 120・・・SI、134・・・EBH,136・・・
US、146・・・WE、148・・・パーサ−150
2・・・構造識別グループ、504・・・特性識別グル
ープ、514・・・構造ポインタ・グループ、522・
・・5TARTLOC1526・・・(外5名) FIG、 3 EB +28−Eus 134[xl(op−sups
crl[2](PRETIFIG、 4A 工 E[312B−EIJs  134:   (Op−I
nspH[p−1](Xi(PRE丁](yl(PRE
TIFIG、  48 123ゝ”abc FIG、 4C A’。 E81211−εus134:[A1(op−sups
crl(i)[PRET](op−subscrl[x
l、。 〔op−suMcrl (l l[PRET](PRE
TIFIG、 4D FIG、 6A FIG、 6E FIG、 6G ズフリーン智積棄杓638 1クリ−ツリーI口精管4す630 ライン〜111蔦ト育り ライツリ一部1廃を1イリ FIG、 6M :L=−/)’a鳩web             
   −にのユ二シYfI+8ぺ1パ1すFIG、 6
N          FIG、 60FIG、 8A FIG、 88 FIG、 9 FIG、 10 FIG、 II FIG、 14 FIG、 15 FIG、 16A FIG、 168 FIG、 16c

Claims (25)

    【特許請求の範囲】
  1. (1)情報処理システムにおいて、 テキスト・キャラクタ及びエディット命令を表わすキー
    ストロークに応答してテキストを定めるコード・ストリ
    ングを発生するエディット手段と、 前記エディット手段の処理に応答してストリングの符号
    を読み込み、前記符号を符号化ユニット構文解析する構
    文解析手段と、を備え、各符号化ユニットはユニットと
    して表現に配置されている1以上のグループを定めるコ
    ードのグループからなり、 各符号化ユニットについてユニット構造を発生し、 各ユニット構造は対応する符号化ユニットの可視的な表
    示を定める情報を含む ことを特徴とする多次元又は多方向テキスト・エディタ
    ー手段。
  2. (2)特許請求の範囲第1項記載の多次元又は多方向テ
    キスト・エディター手段において、 前記解析手段は更に前記エディター手段の処理に応答し
    て、前記ストリングのユニット構造及び対応するコード
    を読み込み、前記テキストの可視的に表示可能な表示を
    発生する ことを特徴とする前記多次元又は多方向テキスト・エデ
    ィター手段。
  3. (3)特許請求の範囲第1項記載の多次元又は多方向テ
    キスト・エディターにおいて、 テキストを表わすコード・ストリング内のコードは、 テキストのキャラクタ又はシンボルを表わすキャラクタ
    ・コードと、 前記テキストの特性を定めるオペレータ・コードと、を
    含む ことを特徴とする前記多次元又は多方向テキスト・エデ
    ィター手段。
  4. (4)特許請求の範囲第3項記載の多次元又は多方向テ
    キスト・エディター手段において、前記オペレータ・コ
    ードは、 後続のキャラクタ、複数のキャラクタ若しくは1ユニッ
    トのグループ、又は複数のユニットのグループについて
    処理をする接頭辞オペレータと、 先行するキャラクタ、複数のキャラクタ若しくは1ユニ
    ットのグループ、又は複数のユニットのグループについ
    て処理をする接尾辞オペレータと、 2つのキャラクタ、複数のキャラクタ若しくは1ユニッ
    トのグループ、又は複数のユニットのグループについて
    処理をするインフィックスオペレータとを有することを
    特徴とする前記多次元又は多方向テキストエディター手
    段。
  5. (5)特許請求の範囲第3項記載の多次元又は多方向テ
    キスト・エディター手段において、 前記オペレータ・コードは 前記テキストのユニット間の組織的な関係を定める構造
    オペレータと、 前記テキストのキャラクタ及びシンボルの属性を定める
    環境オペレータとを有する ことを特徴とする前記多次元又は多方向テキストエディ
    ター手段。
  6. (6)特許請求の範囲第5項記載の多次元又は多方向テ
    キスト・エディター手段において、 前記構造オペレータは、 前記テキストのユニット間の空間的な関係を定めるユニ
    ット・オペレータを有する ことを特徴とする前記多次元又は多方向テキスト・エデ
    ィター手段。
  7. (7)特許請求の範囲第6項記載の多次元又は多方向テ
    キスト・エディター手段において、 前記構造オペレータは 複数の前記オペレータにより定められた対応する複数の
    ユニットを開始する複数の開始オペレータと、 前記開始オペレータにより開始された複数のユニットを
    終結する対応の終結オペレータとを有することを特徴と
    する前記多次元又は多方向テキスト・エディター手段。
  8. (8)特許請求の範囲第5項記載の多次元又は多方向テ
    キスト・エディター手段において、 前記構造オペレータは、 複数のキャラクタとシンボルとの間の関係を定める関連
    オペレータを有し、 関連オペレータはキャラクタ又はシンボルを他のキャラ
    クタ又はシンボルと関連させるように動作し、前記他の
    キャラクタ又はシンボルの定義の一部となることを特徴
    とする前記多次元又は多方向テキスト・エディター手段
  9. (9)特許請求の範囲第5項記載の多次元又は多方向テ
    キスト・エディター手段において、 前記構造オペレータは、 対応する属性をオン又はオフさせるように動作する属性
    スイッチング・オペレータを有することを特徴とする前
    記多次元又は多方向テキスト・エディター手段。
  10. (10)特許請求の範囲第5項記載の多次元又は多方向
    テキスト・エディター手段において、 前記環境オペレータは、 連続的に存在する属性を修飾するように動作する属性修
    飾オペレータを有することを特徴とする前記多次元又は
    多方向テキスト・エディター手段。
  11. (11)特許請求の範囲第1項記載の多次元又は多方向
    テキスト・エディター手段において、 前記各ユニット構造は更に、 対応する符号化ユニットを有するテキスト・ストリング
    におけるコード・グループに前記ユニット構造を関連付
    ける情報を含む構造識別フィールドを有することを特徴
    とする前記多次元又は多方向テキスト・エディター手段
  12. (12)特許請求の範囲第1項記載の多次元又は多方向
    テキスト・エディター手段において、前記各ユニット構
    造は更に、 前記ユニット構造に関連した他のユニット構造を識別す
    る情報を含む構造ポインタ情報フィールドを有すること
    を特徴とする前記多次元又は多方向テキストエディター
    手段。
  13. (13)特許請求の範囲第1項記載の多次元又は多方向
    テキスト・エディター手段において、前記各ユニット構
    造は更に、 対応する符号化ユニットのキャラクタ及びシンボルに適
    用する属性を定める情報を含む特性識別フィールドを有
    することを特徴とする前記多次元又は多方向テキストエ
    ディター手段。
  14. (14)特許請求の範囲第1項記載の多次元又は多方向
    テキスト・エディター手段において、前記各ユニット構
    造は更に、 ページ上で対応する符号化ユニットの位置を識別する情
    報を含む位置フィールドを有することを特徴とする前記
    多次元又は多方向テキスト・エディター手段。
  15. (15)情報処理システムにおいて、 科学的テキスト・エディット手段は、 複数の科学的テキスト・キャラクタ及びエディット命令
    を表わすキーストロークに応答して科学的な表現を発生
    するエディター手段と、前記エディター手段に応答して
    ストリングのコードを読み込み、前記コードを符号化ユ
    ニットへ構文解析する構文解析手段とを備え、 各符号化ユニットはユニットとして表現に配置される1
    以上のキャラクタのグループを定めるコードのグループ
    からなり、 各符号化ユニットのためにユニット構造を発生し、 前記ユニット構造は対応する符号化ユニットの可視的な
    表示を定める情報を含み、 更に前記構文解析手段は前記エディター手段に応答して
    前記ストリングのユニット構造及び対応するコードを読
    み込み、前記表現の可視的に表示可能な表示を発生する
    ことを特徴とする前記科学的テキスト・エディット手段
  16. (16)特許請求の範囲第15項記載の科学的テキスト
    ・エディット手段において、 科学的な表現を表わすコード・ストリングにおけるコー
    ドは、 複数の科学的なテキスト・キャラクタ及びエディット命
    令を表わす複数のキャラクタ・コードと、 1以上のキャラクタについて実行すべき処理を表わすオ
    ペレータ・コードとを含むことを特徴とする前記多次元
    又は多方向テキスト・エディット手段。
  17. (17)特許請求の範囲第16項記載の科学的テキスト
    ・エディット手段において、前記オペレータ・コードの
    いくつかは、実行されるべき処理を更に定める関連のパ
    ラメータ・コードを有することを特徴とする前記科学的
    テキスト・エディット手段。
  18. (18)特許請求の範囲第16項記載の科学的テキスト
    ・エディット手段において、前記オペレータ・コードの
    いくつかは、処理により前のオペレータ・コードを終結
    させるターミネータ・コードであることを特徴とする前
    記科学的テキスト・エディット手段。
  19. (19)特許請求の範囲第16項記載の科学的テキスト
    ・エディット手段において、 前記オペレータは 次のキャラクタ、複数キャラクタのグループ又はユニッ
    トについて処理をする接頭辞オペレータと、 前のキャラクタ、複数キャラクタのグループ又はユニッ
    トについて処理をする接尾辞オペレータと、 2つのキャラクタ、複数キャラクタのグループ又は複数
    のユニットはついて同時処理をするインフィックスオペ
    レータとを有することを特徴とする前記科学的テキスト
    ・エディット手段。
  20. (20)特許請求の範囲第19項記載の科学的テキスト
    ・エディット手段において、 前記インフィックスオペレータは処理した対象間の関係
    を定めるように機能することを特徴とする科学的テキス
    ト・エディット手段。
  21. (21)特許請求の範囲第20項記載の科学的テキスト
    ・エディット手段において、前記インフィックスオペレ
    ータによって処理された対象間の前記コード・ストリン
    グに発生することを特徴とする前記科学的テキスト・エ
    ディット手段。
  22. (22)特許請求の範囲第15項記載の科学的テキスト
    ・エディット手段において、前記ユニット構造は、前記
    表現を定めるコード・ストリングの対応するコードに対
    してユニット構造を関連させる情報を含む構造識別フィ
    ールドと、 前記ユニットの一定の特性を表わす情報を含む特性識別
    フィールドと、 関連するユニット構造に対して前記ユニット構造を関連
    させる情報を含む構造ポインタ・フィールドと、を有す
    る ことを特徴とする前記科学的テキスト・エディット手段
  23. (23)特許請求の範囲第22項記載の科学的テキスト
    ・エディット手段において、 前記特性識別フィールドに存在する情報は ページ上のユニットの位置及び大きさを説明する情報を
    含む ことを特徴とする前記科学的テキスト・エディット手段
  24. (24)特許請求の範囲第23項記載の科学的テキスト
    ・エディット手段において、 前記特性識別フィールドに存在する位置及び大きさの情
    報は 全てのスクリプト、ライン分割、及び前記ユニットと関
    連したバー・ユニットの大きさを含むことを特徴とする
    前記科学的テキスト・エディット手段。
  25. (25)特許請求の範囲第22項記載の科学的テキスト
    ・エディット手段において、 前記ユニット構造は更に、 そのユニットを親又は前のユニットから分離している理
    由を識別する情報を含む ことを特徴とする前記科学的テキスト・エディット手段
JP62079529A 1986-03-31 1987-03-31 多次元又は多方向テキスト・エデイタ− Pending JPS62250481A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US84666786A 1986-03-31 1986-03-31
US846667 1986-03-31
US879729 1986-06-27

Publications (1)

Publication Number Publication Date
JPS62250481A true JPS62250481A (ja) 1987-10-31

Family

ID=25298597

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62079529A Pending JPS62250481A (ja) 1986-03-31 1987-03-31 多次元又は多方向テキスト・エデイタ−

Country Status (1)

Country Link
JP (1) JPS62250481A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63184157A (ja) * 1986-08-08 1988-07-29 ウォング・ラボラトリ−ズ・インコ−ポレ−テッド 多次元又は多方向テキスト・エディタ−
JPH01232465A (ja) * 1988-03-14 1989-09-18 Hitachi Ltd 数式入力編集方式
JPH01320566A (ja) * 1988-06-23 1989-12-26 Nippon Ekusu Kuron Kk イメージ編集方法及びその装置

Citations (2)

* 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 画像処理システム

Patent Citations (2)

* 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 画像処理システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63184157A (ja) * 1986-08-08 1988-07-29 ウォング・ラボラトリ−ズ・インコ−ポレ−テッド 多次元又は多方向テキスト・エディタ−
JPH01232465A (ja) * 1988-03-14 1989-09-18 Hitachi Ltd 数式入力編集方式
JPH01320566A (ja) * 1988-06-23 1989-12-26 Nippon Ekusu Kuron Kk イメージ編集方法及びその装置

Similar Documents

Publication Publication Date Title
US5182709A (en) System for parsing multidimensional and multidirectional text into encoded units and storing each encoded unit as a separate data structure
US7046848B1 (en) Method and system for recognizing machine generated character glyphs and icons in graphic images
CN103500118A (zh) 一种级联样式表优化方法和装置
Beebe 25 years of TEX and mEtaFoNt: Looking back and looking forward: TUG2003 keynote address
JP5247311B2 (ja) 電子文書処理装置および電子文書処理方法
Bagley et al. Creating reusable well-structured PDF as a sequence of component object graphic (COG) elements
JPS62250481A (ja) 多次元又は多方向テキスト・エデイタ−
JP3471854B2 (ja) 文字処理装置及びその方法
JPH076168A (ja) Dbcsコード・ページを使ってsbcsフォント及びdbcsフォントを与える構造化された文書を編集する方法
EP0240909B1 (en) Text editor for multidimensional or multidirectional text
US20070033035A1 (en) String display method and device compatible with the hindi language
JPH0384661A (ja) 文書作成装置
JPS63184157A (ja) 多次元又は多方向テキスト・エディタ−
JPH06274333A (ja) プログラムの入力支援方法および編集支援方法
JPS5985532A (ja) 文章編集範囲指定方式
JP2771020B2 (ja) 文字処理装置
Beebe A Bibliography of Publications about Typographic Fonts
JP2713942B2 (ja) かな漢字変換装置
WO2007132287A2 (en) Text composition
JPH01287774A (ja) 和文データ入力処理装置
Nishikimi et al. When fonts do not know everything: an extensible system for multilingual text rendering
JPS63286965A (ja) 文書作成装置
JPH04310170A (ja) 数式を含んだ文書の作成装置
JPH10307927A (ja) 文書処理装置
JPH08194706A (ja) 構造化文章作成装置