JPH04218865A - 文字処理方法 - Google Patents
文字処理方法Info
- Publication number
- JPH04218865A JPH04218865A JP3090742A JP9074291A JPH04218865A JP H04218865 A JPH04218865 A JP H04218865A JP 3090742 A JP3090742 A JP 3090742A JP 9074291 A JP9074291 A JP 9074291A JP H04218865 A JPH04218865 A JP H04218865A
- Authority
- JP
- Japan
- Prior art keywords
- indent
- cursor
- block
- key
- processing
- 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
Links
- 238000003672 processing method Methods 0.000 title claims description 7
- 238000012545 processing Methods 0.000 abstract description 102
- 230000009467 reduction Effects 0.000 abstract description 7
- 239000000872 buffer Substances 0.000 description 141
- 238000000034 method Methods 0.000 description 74
- 230000008569 process Effects 0.000 description 64
- 238000010586 diagram Methods 0.000 description 41
- 102100029968 Calreticulin Human genes 0.000 description 26
- 238000006243 chemical reaction Methods 0.000 description 19
- 230000008859 change Effects 0.000 description 18
- 230000006870 function Effects 0.000 description 15
- 230000000875 corresponding effect Effects 0.000 description 12
- 238000012217 deletion Methods 0.000 description 10
- 230000037430 deletion Effects 0.000 description 10
- 238000003780 insertion Methods 0.000 description 7
- 230000037431 insertion Effects 0.000 description 7
- 101100326671 Homo sapiens CALR gene Proteins 0.000 description 5
- 238000007373 indentation Methods 0.000 description 5
- 238000003825 pressing Methods 0.000 description 5
- 102100023745 GTP-binding protein 4 Human genes 0.000 description 4
- 101000828886 Homo sapiens GTP-binding protein 4 Proteins 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000011946 reduction process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- YBYIRNPNPLQARY-UHFFFAOYSA-N 1H-indene Chemical compound C1=CC=C2CC=CC2=C1 YBYIRNPNPLQARY-UHFFFAOYSA-N 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
Landscapes
- Digital Computer Display Output (AREA)
- Document Processing Apparatus (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は文章を処理する文字処理
方法に関する。
方法に関する。
【0002】
【従来の技術】従来枠組み例えば1行20字、15行か
ら成る領域内に文字等を連続して入力できる装置におい
て、この枠組の外に文字等を入力するためには、カーソ
ルキーを用いてカーソルを枠外に出したり、枠を解除す
るオペレーションが必要だったりした。
ら成る領域内に文字等を連続して入力できる装置におい
て、この枠組の外に文字等を入力するためには、カーソ
ルキーを用いてカーソルを枠外に出したり、枠を解除す
るオペレーションが必要だったりした。
【0003】また入力された文字列に対し、削除等の編
集処理を行なった時、行を一行削除する必要が発生する
ことがある。例えば文字列中のキャリッジリターン(C
R)コードを削除すると、それ以降に続く行は一行ずつ
前送りされるのが必然である。又特定のある一行をまと
まって削除しようとした時も同様である。ところで複数
の枠組を1つの画面或いは紙面上に自由な形式で設定で
き、文字列をその枠内で処理できる機能をもつ文字処理
装置においては、単純な行削除処理、あるいは、前送り
処理だけでは、枠組間の相対的関係を満足することがで
きないことが発生する。例えば、ある枠組み内の1行を
削除あるいは前送りしようとしても、他の枠内に文字が
既に存在している場合とそうでない場合にあっては、取
扱いを変えなければならない。
集処理を行なった時、行を一行削除する必要が発生する
ことがある。例えば文字列中のキャリッジリターン(C
R)コードを削除すると、それ以降に続く行は一行ずつ
前送りされるのが必然である。又特定のある一行をまと
まって削除しようとした時も同様である。ところで複数
の枠組を1つの画面或いは紙面上に自由な形式で設定で
き、文字列をその枠内で処理できる機能をもつ文字処理
装置においては、単純な行削除処理、あるいは、前送り
処理だけでは、枠組間の相対的関係を満足することがで
きないことが発生する。例えば、ある枠組み内の1行を
削除あるいは前送りしようとしても、他の枠内に文字が
既に存在している場合とそうでない場合にあっては、取
扱いを変えなければならない。
【0004】本発明は上述の点を鑑み、改良した文字処
理装置を提供するものである。
理装置を提供するものである。
【0005】本発明の他の目的は設定された枠組みを変
更する場合、入力手段に備えられる特定キーの連続した
繰り返し操作に応答し、上記枠組を変更しうるようにし
た文字処理方法を提供するものである。
更する場合、入力手段に備えられる特定キーの連続した
繰り返し操作に応答し、上記枠組を変更しうるようにし
た文字処理方法を提供するものである。
【0006】本発明の他の目的は設定された枠組みを変
更する場合、キーボード入力手段に備えられるキャリッ
ジリターンの連続した繰り返し操作に応答し、枠組みを
変更しうる文字処理方法を提供する。
更する場合、キーボード入力手段に備えられるキャリッ
ジリターンの連続した繰り返し操作に応答し、枠組みを
変更しうる文字処理方法を提供する。
【0007】本発明の他の目的はカーソルキーとインデ
ントキーの操作により枠組みを縦横共全く自由に行ない
、かつ枠組みの取り消しも行なえる文字処理方法を提供
するものである。
ントキーの操作により枠組みを縦横共全く自由に行ない
、かつ枠組みの取り消しも行なえる文字処理方法を提供
するものである。
【0008】本発明の他の目的はインデント右移動キー
、インデント左移動キー、インデントキーという三種の
キーを設け枠組の横方向の大きさ(縦書の場合は縦方向
の大きさ)を自由に変更でき、しかも一度枠組みされて
いる部分に新たな枠組をも新設可能として文字処理方法
を提供するものである。
、インデント左移動キー、インデントキーという三種の
キーを設け枠組の横方向の大きさ(縦書の場合は縦方向
の大きさ)を自由に変更でき、しかも一度枠組みされて
いる部分に新たな枠組をも新設可能として文字処理方法
を提供するものである。
【0009】本発明による他の目的は以下図面を参照し
て行なわれる実施例の説明より明らかとなるであろう。
て行なわれる実施例の説明より明らかとなるであろう。
【0010】次に本発明による実施例を述べる前に本実
施例で用いられる用語の説明をまず行なう。
施例で用いられる用語の説明をまず行なう。
【0011】1.インデントコードIndCRT上に‘
◇’のマークで表示される。文字等をキーボードから入
力するにあたって、あらかじめこのインデントコードに
より、枠組みが作られる。
◇’のマークで表示される。文字等をキーボードから入
力するにあたって、あらかじめこのインデントコードに
より、枠組みが作られる。
【0012】2.左マージンコードLMMCRT上に
【0013】
【外1】
のマークで表示される。キーボードから入力可能な最左
端を表示する。
端を表示する。
【0014】3.右マージンコードRMMCRT上に
【0015】
【外2】
のマークで表示されるキーボードから入力可能な最右端
を表示する。
を表示する。
【0016】4.インデントブロックInbインデント
マーク、左マージンマーク、右マージンマーク等で枠組
みされた領域をさす。正しくは、次のように定義される
。
マーク、左マージンマーク、右マージンマーク等で枠組
みされた領域をさす。正しくは、次のように定義される
。
【0017】左右方向:インデントマーク、左マージン
マーク、右マージンマーク等で囲われる最も小さい領域
上下方向:マージン、インデントの設定位置が同一であ
る範囲。ただし左右マージンでのみで規定されるインデ
ントブロックに関しては文字が記入されている行が連続
して続く範囲とする(但しカーソルが存在している場所
は文字が記入されているものと同等と見なす)。
マーク、右マージンマーク等で囲われる最も小さい領域
上下方向:マージン、インデントの設定位置が同一であ
る範囲。ただし左右マージンでのみで規定されるインデ
ントブロックに関しては文字が記入されている行が連続
して続く範囲とする(但しカーソルが存在している場所
は文字が記入されているものと同等と見なす)。
【0018】図2(a),(b),(c)はCRT上に
表示されるインデントブロックを示すものである。
表示されるインデントブロックを示すものである。
【0019】キーボードから入力された文字類はこのイ
ンデントブロックInbという枠内で処理される。この
インデントブロックInbは作表等のフォーマッテイン
グされた文章を作成する上で重要な役割をはたす。
ンデントブロックInbという枠内で処理される。この
インデントブロックInbは作表等のフォーマッテイン
グされた文章を作成する上で重要な役割をはたす。
【0020】本実施例においては、CRT上に表示され
たカーソルCMが存在する位置以降に対して、インデン
トブロックInbの各種処理を行なうため、前述した定
義によるインデントブロックInbの内カーソルCMが
存在する行以上に対してインデントブロックInbとい
う表現をしているところがある。
たカーソルCMが存在する位置以降に対して、インデン
トブロックInbの各種処理を行なうため、前述した定
義によるインデントブロックInbの内カーソルCMが
存在する行以上に対してインデントブロックInbとい
う表現をしているところがある。
【0021】5.枠組コード
インデントコードInd、左マージンコードLMM、右
マージンコードRMMの3種のコードの総称。これらの
コードは、枠組パターン
マージンコードRMMの3種のコードの総称。これらの
コードは、枠組パターン
【0022】
【外3】
と対応ずけられる(図3(a)参照)。
【0023】6.罫線コード
罫線部分パターンを図形文字としてコード化したもの。
図3(a)で示す如く、11種の罫線パターンが罫線コ
ードと対応づけられている。
ードと対応づけられている。
【0024】次に本発明による1実施例による概要を説
明する。尚、本実施例は、装置について、説明したが、
これに限るものではなく、複数の機器からなるシステム
において、本発明を達成しても良く、装置或いはシステ
ムにプログラムを供給することによって、本発明が達成
されても良いことは言うまでもない。
明する。尚、本実施例は、装置について、説明したが、
これに限るものではなく、複数の機器からなるシステム
において、本発明を達成しても良く、装置或いはシステ
ムにプログラムを供給することによって、本発明が達成
されても良いことは言うまでもない。
【0025】実施例に示す装置はキーボード、処理部表
示装置、プリンタから成る。
示装置、プリンタから成る。
【0026】すべての操作はキーボード上にある文字キ
ーあるいはファンクションキーにより実行する。
ーあるいはファンクションキーにより実行する。
【0027】まずイニシャライズキーによりすべての状
態を初期化し、本実施例の各機能が実行可能な状態とな
る。
態を初期化し、本実施例の各機能が実行可能な状態とな
る。
【0028】イニシャライズキーを押すことにより、表
示装置上には、左右マージンマークLMM、RMMが表
示され、他はすべてクリアされる。カーソルCMは、最
上行の第2コラム目に位置し、キーボードからの文字等
の入力が可能となる。入力モードである挿入とオーバー
ライトキーを用いることにより行なう。キーボードから
入力された文字等は、挿入モードあるいはオーバーライ
トモードに於て、表示装置上でカーソルCMが表示され
ている位置に入力される。カーソルCMはキーボードか
らの文字等の入力に従って1つずつ歩進する。誤入力を
行なったとき、削除キーを用い削除することができ、そ
の場合後続する文字列は1つずつ前につめられる。削除
しようとする文字はカーソルCMで指定する。カーソル
CMはカーソルキーにより1つずつ歩進させることがで
きる。入力が終了した文字列はプリントキーを押下する
ことによりプリンタに出力させることができる。以上説
明した入出力制御は公知の技術で容易に実現することが
できる。
示装置上には、左右マージンマークLMM、RMMが表
示され、他はすべてクリアされる。カーソルCMは、最
上行の第2コラム目に位置し、キーボードからの文字等
の入力が可能となる。入力モードである挿入とオーバー
ライトキーを用いることにより行なう。キーボードから
入力された文字等は、挿入モードあるいはオーバーライ
トモードに於て、表示装置上でカーソルCMが表示され
ている位置に入力される。カーソルCMはキーボードか
らの文字等の入力に従って1つずつ歩進する。誤入力を
行なったとき、削除キーを用い削除することができ、そ
の場合後続する文字列は1つずつ前につめられる。削除
しようとする文字はカーソルCMで指定する。カーソル
CMはカーソルキーにより1つずつ歩進させることがで
きる。入力が終了した文字列はプリントキーを押下する
ことによりプリンタに出力させることができる。以上説
明した入出力制御は公知の技術で容易に実現することが
できる。
【0029】以下本発明における機能についてその操作
方法を述べる。
方法を述べる。
【0030】まずインデントブロックInbを形成する
方法について述べる。インデントブロックInbは、イ
ンデントキーを用い表示装置上にインデントマークIn
dをオーバーライト又は挿入することにより形造ること
ができる。一度インデントブロックが出来上った後は、
キーボードからの入力された文字等の情報は、すべてこ
のインデントブロックInb内で処理されることになる
。これにより、作表等のフォーマッテイングされた文章
の作成は、容易に行なえるようになる。又このインデン
トブロックInbは横方向に自由に拡大、縮小ができる
。この様子を図5(a),(b),(c)を用い説明す
る。
方法について述べる。インデントブロックInbは、イ
ンデントキーを用い表示装置上にインデントマークIn
dをオーバーライト又は挿入することにより形造ること
ができる。一度インデントブロックが出来上った後は、
キーボードからの入力された文字等の情報は、すべてこ
のインデントブロックInb内で処理されることになる
。これにより、作表等のフォーマッテイングされた文章
の作成は、容易に行なえるようになる。又このインデン
トブロックInbは横方向に自由に拡大、縮小ができる
。この様子を図5(a),(b),(c)を用い説明す
る。
【0031】図5(a)のように、インデントブロック
内に複数個の文字が既に入力されていたとする。カーソ
ルキーを用いカーソルCMを第1行目第8桁目の位置、
即ち‘B’の位置に移動した上でインデント右移動キー
を押下すると、カーソルCMが存在したインデントブロ
ックは、横方向に縮小され、その分縦方向に拡大され、
図5(b)のようになる。次に図5(b)のようにカー
ソルCMをインデントマークIndの位置におきインデ
ント右移動キーを押下すると、カーソルCMの位置より
左側に数えて2番目のインデントブロックInbが拡大
し図5(c)のようになる。
内に複数個の文字が既に入力されていたとする。カーソ
ルキーを用いカーソルCMを第1行目第8桁目の位置、
即ち‘B’の位置に移動した上でインデント右移動キー
を押下すると、カーソルCMが存在したインデントブロ
ックは、横方向に縮小され、その分縦方向に拡大され、
図5(b)のようになる。次に図5(b)のようにカー
ソルCMをインデントマークIndの位置におきインデ
ント右移動キーを押下すると、カーソルCMの位置より
左側に数えて2番目のインデントブロックInbが拡大
し図5(c)のようになる。
【0032】即ち図5(a)にいてインデント右移動キ
ーを1回押下すると、図5(b)のようになり、図4(
a)においてインデント右移動キーを2回押下すると図
5(c)のようになる。
ーを1回押下すると、図5(b)のようになり、図4(
a)においてインデント右移動キーを2回押下すると図
5(c)のようになる。
【0033】インデント左移動キーを用いて、インデン
トマークIndの移動を行なった時も以上の説明と類似
の動作を行なう。
トマークIndの移動を行なった時も以上の説明と類似
の動作を行なう。
【0034】次にインデントブロックInb内に文字等
の入力を行なった時について図6(a),(b),(c
)を用い説明する。図6(a)のように、インデントブ
ロックInb内に文字等が入力され、カーソルCMがイ
ンデントブロックInbの最後に位置していたとする。 図6(a)において文字‘L’をオーバーライトモード
で入力したとすると、図6(b)のようになる。即ちイ
ンデントブロックは縦方向(矢印A)に自動的に拡大さ
れ、次に入力される文字等に対する格納エリアの準備を
行なう。図6(b)でさらに‘MNOP’と入力を続行
すると図6(c)のようにさらに同じ拡大を続ける。
の入力を行なった時について図6(a),(b),(c
)を用い説明する。図6(a)のように、インデントブ
ロックInb内に文字等が入力され、カーソルCMがイ
ンデントブロックInbの最後に位置していたとする。 図6(a)において文字‘L’をオーバーライトモード
で入力したとすると、図6(b)のようになる。即ちイ
ンデントブロックは縦方向(矢印A)に自動的に拡大さ
れ、次に入力される文字等に対する格納エリアの準備を
行なう。図6(b)でさらに‘MNOP’と入力を続行
すると図6(c)のようにさらに同じ拡大を続ける。
【0035】図6(c)で、さらにインデントブロック
を拡大しようとすると、下方に隣接するインデントブロ
ックInbを1行ずつ下方にずらさねばならなくなる。 図6(c)がその例である。
を拡大しようとすると、下方に隣接するインデントブロ
ックInbを1行ずつ下方にずらさねばならなくなる。 図6(c)がその例である。
【0036】次にインデントブロック内の文字の削除方
法について説明する。図7(a)のようにインデントブ
ロックInb内に文字が入力され、カーソルCMが‘W
’の下に位置していたとする。削除キーを押下すること
により、以下に続く文字は1つずつ前につまる。その結
果今まで‘Y’という文字が存在していた行はスペース
コード、左マージンコード、右マージンコード、インデ
ントコードのみから成る行となってしまう。本実施例に
おいては該行Lを自動的に削除し、以下に続く行をすべ
て1行ずつ繰り上げるものとする。
法について説明する。図7(a)のようにインデントブ
ロックInb内に文字が入力され、カーソルCMが‘W
’の下に位置していたとする。削除キーを押下すること
により、以下に続く文字は1つずつ前につまる。その結
果今まで‘Y’という文字が存在していた行はスペース
コード、左マージンコード、右マージンコード、インデ
ントコードのみから成る行となってしまう。本実施例に
おいては該行Lを自動的に削除し、以下に続く行をすべ
て1行ずつ繰り上げるものとする。
【0037】次にインデントマークIndを削除する方
法について述べる。
法について述べる。
【0038】一つは削除キーを用いる方法であり、イン
デントマークはスペースコードに置きかわる。
デントマークはスペースコードに置きかわる。
【0039】次にインデントマークと罫線パターンとの
切換機能について説明する。今図3(b)のようにイン
デントブロックInbが形成されているとする。ここで
インデント罫線変換キーを押下すると、図3(c)の如
く変換される。また、図3(c)において罫線インデン
ト変換キーを押下すると図3(b)の如く変換される。 このようにしてインデントマークIndと罫線パターン
RPMとの相互変換が可能となる。この機能を用いるこ
とにより、インデントマークIndで枠組された領域に
文章を入力し、然る後罫線パターンに変更するならば、
極めて容易に罫線パターンKPMを有する文章を作成す
ることができる。これは、作表する上で非常に便利であ
る。
切換機能について説明する。今図3(b)のようにイン
デントブロックInbが形成されているとする。ここで
インデント罫線変換キーを押下すると、図3(c)の如
く変換される。また、図3(c)において罫線インデン
ト変換キーを押下すると図3(b)の如く変換される。 このようにしてインデントマークIndと罫線パターン
RPMとの相互変換が可能となる。この機能を用いるこ
とにより、インデントマークIndで枠組された領域に
文章を入力し、然る後罫線パターンに変更するならば、
極めて容易に罫線パターンKPMを有する文章を作成す
ることができる。これは、作表する上で非常に便利であ
る。
【0040】図4に具体的にインデントパターンを罫線
パターンに変更する時の対応テーブルを示す。なお本実
施例においては、文字の入力、インデントの移動削除、
キャリッジリターンキー入力等の機能を実行させるにあ
たって、カーソルがインデントブロック単位でキャリッ
ジリターンコードが存在する行の右側に位置させること
はないものとする。
パターンに変更する時の対応テーブルを示す。なお本実
施例においては、文字の入力、インデントの移動削除、
キャリッジリターンキー入力等の機能を実行させるにあ
たって、カーソルがインデントブロック単位でキャリッ
ジリターンコードが存在する行の右側に位置させること
はないものとする。
【0041】以上入力編集を行なった文書は、プリント
キーを押すことによりプリンタに出力される。
キーを押すことによりプリンタに出力される。
【0042】図1は、本発明による文字処理装置の一実
施例を示すブロック図である。以下各構成要素を説明す
る。KBは文章入力用キー(例えばJIS鍵盤に配列さ
れているキー群)および本装置に備わる種々機能を実現
するためのファンクションキー群より成るキーボードで
ある。上記ファンクションキー群は下記のファンクショ
ンキー即ち、インテントを設定するためのインデントキ
ー、インデントを右方向に移動するためのインデント右
移動キー、インデントを左方向に移動するためのインデ
ント左移動キー、これから入力する文字の挿入、削除、
オーバーライトを指示するための挿入キー、削除キー、
オーバーライトキー、CRT上のカーソルを移動するた
めのカーソルキー、仕事の開始を指示するイニシャライ
ズキー、改行を指示するキャリッジリターンキー、イン
デントマークを罫線マークに変換するインデント罫線変
換キー、罫線マークをインデントマークに変換する罫線
インデント変換キーおよびプリントを指示するプリント
キーから成る。キーボードKBはエンコーダ機能を有し
、後述する処理部CPUにより打鍵されたキーの情報が
読み取られる。
施例を示すブロック図である。以下各構成要素を説明す
る。KBは文章入力用キー(例えばJIS鍵盤に配列さ
れているキー群)および本装置に備わる種々機能を実現
するためのファンクションキー群より成るキーボードで
ある。上記ファンクションキー群は下記のファンクショ
ンキー即ち、インテントを設定するためのインデントキ
ー、インデントを右方向に移動するためのインデント右
移動キー、インデントを左方向に移動するためのインデ
ント左移動キー、これから入力する文字の挿入、削除、
オーバーライトを指示するための挿入キー、削除キー、
オーバーライトキー、CRT上のカーソルを移動するた
めのカーソルキー、仕事の開始を指示するイニシャライ
ズキー、改行を指示するキャリッジリターンキー、イン
デントマークを罫線マークに変換するインデント罫線変
換キー、罫線マークをインデントマークに変換する罫線
インデント変換キーおよびプリントを指示するプリント
キーから成る。キーボードKBはエンコーダ機能を有し
、後述する処理部CPUにより打鍵されたキーの情報が
読み取られる。
【0043】CRはカーソルレジスタである。後述する
処理部CPUにより、カーソルレジスタCRの内容を読
み、書きすることができる。後述するCRTコントロー
ラCRTCはここに蓄えられたアドレスに対応する表示
装置CRT上の位置にカーソルを表示する機能を有する
。カーソルレジスタCRに蓄えられる情報は1〜128
までのシリアルナンバーとし、CRTコントローラCR
TCは、このシリアルナンバーを行数、桁ナンバーに変
更し、表示することになる。
処理部CPUにより、カーソルレジスタCRの内容を読
み、書きすることができる。後述するCRTコントロー
ラCRTCはここに蓄えられたアドレスに対応する表示
装置CRT上の位置にカーソルを表示する機能を有する
。カーソルレジスタCRに蓄えられる情報は1〜128
までのシリアルナンバーとし、CRTコントローラCR
TCは、このシリアルナンバーを行数、桁ナンバーに変
更し、表示することになる。
【0044】WBはワークバッファで、インデントブロ
ックInb内の情報を一時的に蓄えるためのバッファで
あり、バッファのヘッダ部には7Wのパラメータが配置
される。容量は16×9W+αの大きさとする。後述の
処理部CPUにより自由に読み、書きできる。
ックInb内の情報を一時的に蓄えるためのバッファで
あり、バッファのヘッダ部には7Wのパラメータが配置
される。容量は16×9W+αの大きさとする。後述の
処理部CPUにより自由に読み、書きできる。
【0045】DBuFはデータバッファで、キーボード
KBより入力された文章情報を蓄えるためのメモリであ
り、後述するCRTコントローラCRTCによってここ
に蓄えられた情報が表示装置CRT上に表示される。表
示装置CRT用のリフレッシュメモリとして使用される
。CPUにより自由に読み書きできるものとする。デー
タバッファDBuFは16×9Wの容量を有し、そのう
ち前半の16×8Wのみが表示装置CRT上に表示され
るものとする。
KBより入力された文章情報を蓄えるためのメモリであ
り、後述するCRTコントローラCRTCによってここ
に蓄えられた情報が表示装置CRT上に表示される。表
示装置CRT用のリフレッシュメモリとして使用される
。CPUにより自由に読み書きできるものとする。デー
タバッファDBuFは16×9Wの容量を有し、そのう
ち前半の16×8Wのみが表示装置CRT上に表示され
るものとする。
【0046】CRTCはCRTコントローラでデータバ
ッファDBuFに蓄えられた情報に従って文字等を表示
装置にCRTに表示し、カーソルレジスタCRに蓄えら
れた情報に従って表示装置CRT上にカーソルを表示す
るコントロールを行なう。
ッファDBuFに蓄えられた情報に従って文字等を表示
装置にCRTに表示し、カーソルレジスタCRに蓄えら
れた情報に従って表示装置CRT上にカーソルを表示す
るコントロールを行なう。
【0047】文字等の表示は横16文字、縦8行の表示
とし、データバッファDBuFの内容と順に対応づけら
れているものとする。
とし、データバッファDBuFの内容と順に対応づけら
れているものとする。
【0048】文字等の表示にあたっては、後述するキャ
ラクタジエネレータCGを参照し、文字コードを文字パ
ターンに変更することを行なう。具体的方法は公知であ
る。
ラクタジエネレータCGを参照し、文字コードを文字パ
ターンに変更することを行なう。具体的方法は公知であ
る。
【0049】CRTは表示装置であり、CRTコントロ
ーラCRTCにより文字とカーソルを表示できる。
ーラCRTCにより文字とカーソルを表示できる。
【0050】CGはキャラクタジエネレータであり、表
示装置CRTへの文字表示やプリンタPRTへの文字出
力のために使用される。CRTコントローラCRTC、
および後述するプリンタコントローラPRTCにより用
いられる。
示装置CRTへの文字表示やプリンタPRTへの文字出
力のために使用される。CRTコントローラCRTC、
および後述するプリンタコントローラPRTCにより用
いられる。
【0051】PRTCはプリンタコントローラであり、
後述する処理部CPUからの文字コード情報をキャラク
タジエネレータCGを参照することによりパターンに直
し、該パターンをプリンタPRTに出力する。
後述する処理部CPUからの文字コード情報をキャラク
タジエネレータCGを参照することによりパターンに直
し、該パターンをプリンタPRTに出力する。
【0052】プリンタコントローラPRTCは、罫線コ
ードを罫線パターンに変換し出力する。好ましくはパタ
ーン出力にあたって行間、文字間をも連続する直線でう
める機能を有していた方がなお一層望ましい。
ードを罫線パターンに変換し出力する。好ましくはパタ
ーン出力にあたって行間、文字間をも連続する直線でう
める機能を有していた方がなお一層望ましい。
【0053】PRTはプリンタであり、プリンタコント
ローラPRTCからの情報に従って文字等をプリントア
ウトする。
ローラPRTCからの情報に従って文字等をプリントア
ウトする。
【0054】CPUはマイクロプロセッサであり、演算
、論理判断等を行なう。後述するAB、CB、DBをコ
ントロールする。
、論理判断等を行なう。後述するAB、CB、DBをコ
ントロールする。
【0055】ABはアドレスバスで制御対象を指示する
信号を転送する。
信号を転送する。
【0056】CBはコントロールバスで各種制御対象に
制御信号を印加するものである。
制御信号を印加するものである。
【0057】DBがデータバスで各種データを転送する
。
。
【0058】ROMは制御メモリで、図8以降に示す制
御手順等を記憶するものである。
御手順等を記憶するものである。
【0059】RAMはランダムアクセスメモリで、各種
データの例えばキャリッジリターンフラッグCRFG、
オーバーライトフラッグOWFG、新データ行数レジス
タNDLカーソルセーブレジスタCSR一時記憶に用い
られる。
データの例えばキャリッジリターンフラッグCRFG、
オーバーライトフラッグOWFG、新データ行数レジス
タNDLカーソルセーブレジスタCSR一時記憶に用い
られる。
【0060】次に本実施例の動作説明を行なう。
【0061】本実施例は、電源投入時に自動的にキーボ
ード処理が動作するように構成されているものとする。 以下各処理につき具体的に図8以降のフローチャートを
参照し、説明を行なう。
ード処理が動作するように構成されているものとする。 以下各処理につき具体的に図8以降のフローチャートを
参照し、説明を行なう。
【0062】まずキーボードKB上のキーが操作される
と以下の順序に従って操作キーが判別され、それぞれの
キーに対する処理が行なわれ、キー待ちの状態となる。
と以下の順序に従って操作キーが判別され、それぞれの
キーに対する処理が行なわれ、キー待ちの状態となる。
【0063】ステップKB1でキーボードKBから入力
があったかを判別する。入力がなければ、キー待ちにも
どり、入力があればステップKB2に移りキーボードK
Bからのデータを取り込む。ステップKB3で、取り込
んだデータがキャリッジリターンキーか否かを判別する
。YESであれば、キャリッジリターン入力処理を行な
い、ステップKB5でフラッグCRFGを1にセットし
、キー待ちにもどる。一方ステップKB3でNOであれ
ば、ステップKB6でフラッグCRFGを0にリセット
し次のキー判別ステップに移る。ここでステップKB4
のキャリッジリターンキー入力処置についてさらに述べ
る。
があったかを判別する。入力がなければ、キー待ちにも
どり、入力があればステップKB2に移りキーボードK
Bからのデータを取り込む。ステップKB3で、取り込
んだデータがキャリッジリターンキーか否かを判別する
。YESであれば、キャリッジリターン入力処理を行な
い、ステップKB5でフラッグCRFGを1にセットし
、キー待ちにもどる。一方ステップKB3でNOであれ
ば、ステップKB6でフラッグCRFGを0にリセット
し次のキー判別ステップに移る。ここでステップKB4
のキャリッジリターンキー入力処置についてさらに述べ
る。
【0064】図9(a)はキャリッジリターンキー入力
処理についての詳細を示す図である。かかる処理を行な
うことで、即ち、この実施例に於てキャリッジリターン
キーを連続する操作することにより、枠組みを拡大させ
ることができる。かかる処理の各ステップの処理を以下
に示す。 ステップ4.1 CR FG セットされている
かステップ4.2 現カーソル位置はインデントマー
クのすぐ右隣か? ステップ4.3 現カーソル位置のすぐ左隣のインデ
ントマークをスペースコードに変更する。 ステップ4.4 カーソルを現カーソル位置より左に
存在しかつ最も近いインデントマークあるいは左マージ
ンマークの直ぐ右隣の位置に移動させるため、カーソル
レジスタに該当番号を記入する。 ステップ4.5 文字キー入力処理16
処理についての詳細を示す図である。かかる処理を行な
うことで、即ち、この実施例に於てキャリッジリターン
キーを連続する操作することにより、枠組みを拡大させ
ることができる。かかる処理の各ステップの処理を以下
に示す。 ステップ4.1 CR FG セットされている
かステップ4.2 現カーソル位置はインデントマー
クのすぐ右隣か? ステップ4.3 現カーソル位置のすぐ左隣のインデ
ントマークをスペースコードに変更する。 ステップ4.4 カーソルを現カーソル位置より左に
存在しかつ最も近いインデントマークあるいは左マージ
ンマークの直ぐ右隣の位置に移動させるため、カーソル
レジスタに該当番号を記入する。 ステップ4.5 文字キー入力処理16
【0065】
上述の如く本発明においてはキャリッジリターンキーに
より枠組の変更を行なうようにしているが、他のキーに
その機能をもたせるようにしても良い。
上述の如く本発明においてはキャリッジリターンキーに
より枠組の変更を行なうようにしているが、他のキーに
その機能をもたせるようにしても良い。
【0066】ここで再び図8のキーボード処理の説明に
移る。
移る。
【0067】ステップKB6でフラッグCRFGをリセ
ットした後、ステップKB7に移り、インデントキーが
操作されたかろ判別する。YESであれば、ステップK
B8のインデントキー入力処理を行なう。即ちインデン
トマークを現カーソルが存在する位置に書き込む。かか
る処理が終了すればキー待ちにもどる。ステップKB7
でNOであれば、ステップKB9に移り、オーバーライ
トキーが操作されたかを判別する。キー操作があれば、
ステップKB10でオーバーライトフラッグOWFGを
1にセットし、キー待ちにもどる。もしNOであれば、
ステップKB11に移り、挿入キーが操作されたかを判
別する。
ットした後、ステップKB7に移り、インデントキーが
操作されたかろ判別する。YESであれば、ステップK
B8のインデントキー入力処理を行なう。即ちインデン
トマークを現カーソルが存在する位置に書き込む。かか
る処理が終了すればキー待ちにもどる。ステップKB7
でNOであれば、ステップKB9に移り、オーバーライ
トキーが操作されたかを判別する。キー操作があれば、
ステップKB10でオーバーライトフラッグOWFGを
1にセットし、キー待ちにもどる。もしNOであれば、
ステップKB11に移り、挿入キーが操作されたかを判
別する。
【0068】YESであれば、挿入キー入力処理を行な
う。即ち、オーバーライトフラッグOWFGをリセット
し、キー待ちに移る。
う。即ち、オーバーライトフラッグOWFGをリセット
し、キー待ちに移る。
【0069】NOであれば、ステップLB13に移り、
カーソルキーが操作されたかを判別する。YESであれ
ば、ステップKB14に移り、カーソルをCRT画面上
順次歩進させる。なおカーソルが最終行最終桁に来た時
、左上の位置に再び戻す。かかる処理は以下のステップ
で行なう。 14.1 カーソルレジスタCRインクリメント14
.2 カーソルレジスタCRの値は128を越えるか
? 14.3 カーソルレジスタCRの値を1にするかか
る処理が終れば、キー待ちにもどる。もしNOであれば
、ステップKB15に移る。かかるステップで文字キー
が操作されたかを判別し、YESであれば、ステップK
B16に移り以下の制御を行なう。 16.1 現カーソルの位置にインデントマーク、左
右マージンマークは存在するか? 16.2 インデントブロックSAVE処理16.3
オーバーライトモードか?(オーバーライトフラッ
グ参照) 16.4 オーバーライト処理 16.5 挿入処理 16.6 インデントブロックRESTORE処理
カーソルキーが操作されたかを判別する。YESであれ
ば、ステップKB14に移り、カーソルをCRT画面上
順次歩進させる。なおカーソルが最終行最終桁に来た時
、左上の位置に再び戻す。かかる処理は以下のステップ
で行なう。 14.1 カーソルレジスタCRインクリメント14
.2 カーソルレジスタCRの値は128を越えるか
? 14.3 カーソルレジスタCRの値を1にするかか
る処理が終れば、キー待ちにもどる。もしNOであれば
、ステップKB15に移る。かかるステップで文字キー
が操作されたかを判別し、YESであれば、ステップK
B16に移り以下の制御を行なう。 16.1 現カーソルの位置にインデントマーク、左
右マージンマークは存在するか? 16.2 インデントブロックSAVE処理16.3
オーバーライトモードか?(オーバーライトフラッ
グ参照) 16.4 オーバーライト処理 16.5 挿入処理 16.6 インデントブロックRESTORE処理
【
0070】上述の各ステップは以下の内容を行なってい
る。 16.1 文字キー入力処理はカーソルがインデント
ブロック内に存在している時のみ有効とする。即ち、イ
ンデントマークおよび左右マージンマークの位置にカー
ソルがある時は本処理は無処理とする。 16.2 入力処理はすべてワークバッファWB内で
行なうためカーソルが存在するインデントブロック内情
報をすべてワークバッファWB内に移す。(但し処理は
すべてカーソルが存在する行より後とする。又その際ワ
ークバッファWBのHEADER部に各種パラメータを
設定しておく。 16.3〜16.4 オーバーライトモードであるな
らワークバッファWB内でオーバーライト処理を行なう
。 16.5 挿入モードであるならワークバッファWB
内で挿入処理を行なう。 16.6 文字入力処理を終了したワークバッファW
B内の情報をもとのインデントブロックにもどす。
0070】上述の各ステップは以下の内容を行なってい
る。 16.1 文字キー入力処理はカーソルがインデント
ブロック内に存在している時のみ有効とする。即ち、イ
ンデントマークおよび左右マージンマークの位置にカー
ソルがある時は本処理は無処理とする。 16.2 入力処理はすべてワークバッファWB内で
行なうためカーソルが存在するインデントブロック内情
報をすべてワークバッファWB内に移す。(但し処理は
すべてカーソルが存在する行より後とする。又その際ワ
ークバッファWBのHEADER部に各種パラメータを
設定しておく。 16.3〜16.4 オーバーライトモードであるな
らワークバッファWB内でオーバーライト処理を行なう
。 16.5 挿入モードであるならワークバッファWB
内で挿入処理を行なう。 16.6 文字入力処理を終了したワークバッファW
B内の情報をもとのインデントブロックにもどす。
【0071】上述の処理をさらに説明する。
【0072】図13は文字のオーバーライトの例である
。16.0で示す図をデータバッファDBuF内の初期
状態とする。ここでは紙面の都合で横8桁、縦4行のデ
ータバッファDBuFが表示装置CRTに表示されてい
る様子を示している。
。16.0で示す図をデータバッファDBuF内の初期
状態とする。ここでは紙面の都合で横8桁、縦4行のデ
ータバッファDBuFが表示装置CRTに表示されてい
る様子を示している。
【0073】16.2のステップを実行下のが16.2
で示すデータバッファDBuFとワークバッファWBの
様子である。データバッファDBuF内のデータは、ワ
ークバッファWBに移されている。次にステップ16.
4によるオーバーライト処理により、ワークバッファW
B内でのオーバーライト処理が行なわれる。16.2と
16.4で示すワークバッファWB内の違いは文字Cの
後ろに文字Dが加わったこと、ワークバッファWBの第
1W(DATA LENGTH)がインクリメントさ
れたこと、ワークバッファWBの第4W(カーソルアド
レス)がインクリメントされたことである。ステップ1
6.4ではワークバッファWBに蓄えられた情報が欠落
なく該当インデントブロックにすべてもどせるか否かを
判断する。この場合16.0で示すインデンブロックの
容量が2characterでありワークバッファWB
に蓄えられている情報量はカーソルが移動したために3
characterに増加している。そのためインデン
トブロックを縦方向に拡大し、ワークバッファWB内の
情報がすべて格納できるようにしたのが16.4で示す
データバッファDBuFの様子である。ステップ16.
6では、拡大されたインデントブロックにオーバーライ
ト処理後のワークバッファWBの情報をすべてもどすこ
とを行なう。16.6で示す図がその様子を示している
。
で示すデータバッファDBuFとワークバッファWBの
様子である。データバッファDBuF内のデータは、ワ
ークバッファWBに移されている。次にステップ16.
4によるオーバーライト処理により、ワークバッファW
B内でのオーバーライト処理が行なわれる。16.2と
16.4で示すワークバッファWB内の違いは文字Cの
後ろに文字Dが加わったこと、ワークバッファWBの第
1W(DATA LENGTH)がインクリメントさ
れたこと、ワークバッファWBの第4W(カーソルアド
レス)がインクリメントされたことである。ステップ1
6.4ではワークバッファWBに蓄えられた情報が欠落
なく該当インデントブロックにすべてもどせるか否かを
判断する。この場合16.0で示すインデンブロックの
容量が2characterでありワークバッファWB
に蓄えられている情報量はカーソルが移動したために3
characterに増加している。そのためインデン
トブロックを縦方向に拡大し、ワークバッファWB内の
情報がすべて格納できるようにしたのが16.4で示す
データバッファDBuFの様子である。ステップ16.
6では、拡大されたインデントブロックにオーバーライ
ト処理後のワークバッファWBの情報をすべてもどすこ
とを行なう。16.6で示す図がその様子を示している
。
【0074】上述の処理に於てステップ16.2のイン
デントブロックセーブ処理について図14(a)を用い
てさらに説明する。かかるステップは以下の事を行なう
。 16.2.1 ワークバッファWBのデータ格納エリ
アをすべてスペースコードでうめる。 16.2.2 カーソルが存在するインデントブロッ
ク内のカーソルが存在する行以降のデータバッファDB
uFの内容を、ワークバッファWBに移す。(但し、キ
ャリッジリターンコードに続くスペースコードは除く)
16.2.3 該インデントブロックをすべてスペー
スコードで埋める。 16.2.4 ワークバッファWBのHEADER部
に下記のパラメータを記入する。 1.ワークバッファWBに書き込んだデータの長さ但し
カーソルが存在する位置までは必ず含めるものとする。 2.該インデントの横巾 3.該インデントの縦巾(インデントブロックの行数)
4.カーソルレジスタに対応するワークバッファ内のア
ドレス 5.該インデントブロックの先頭のデータバッファDB
上での桁ナンバー 6.該インデントブロックの先頭のデータバッファDB
上での行ナンバー 7.データ行数(縦巾から最後に連続して続くスペース
行数を除く)
デントブロックセーブ処理について図14(a)を用い
てさらに説明する。かかるステップは以下の事を行なう
。 16.2.1 ワークバッファWBのデータ格納エリ
アをすべてスペースコードでうめる。 16.2.2 カーソルが存在するインデントブロッ
ク内のカーソルが存在する行以降のデータバッファDB
uFの内容を、ワークバッファWBに移す。(但し、キ
ャリッジリターンコードに続くスペースコードは除く)
16.2.3 該インデントブロックをすべてスペー
スコードで埋める。 16.2.4 ワークバッファWBのHEADER部
に下記のパラメータを記入する。 1.ワークバッファWBに書き込んだデータの長さ但し
カーソルが存在する位置までは必ず含めるものとする。 2.該インデントの横巾 3.該インデントの縦巾(インデントブロックの行数)
4.カーソルレジスタに対応するワークバッファ内のア
ドレス 5.該インデントブロックの先頭のデータバッファDB
上での桁ナンバー 6.該インデントブロックの先頭のデータバッファDB
上での行ナンバー 7.データ行数(縦巾から最後に連続して続くスペース
行数を除く)
【0075】上述の各ステップは以下の目的を有する。
16.2.1 ワークバッファWBをスペースコード
でイニシャライズする。 16.2.2 インデントブロック内の情報をワーク
バッファWBに移す。 16.2.3 移し終った後のインデントブロックは
すべてスペースコードで埋める。 16.2.4 該インデントブロックの特徴をすべて
ワークバッファWBのHEADER部に記入しておく。 このHEADER部のパラメータは各種処理においてワ
ークバッファWBの内容に変更を加えた時に、同時に変
更され又、ワークバッファWBの内容をデータバッファ
DBuFに戻す時に役立つものである。
でイニシャライズする。 16.2.2 インデントブロック内の情報をワーク
バッファWBに移す。 16.2.3 移し終った後のインデントブロックは
すべてスペースコードで埋める。 16.2.4 該インデントブロックの特徴をすべて
ワークバッファWBのHEADER部に記入しておく。 このHEADER部のパラメータは各種処理においてワ
ークバッファWBの内容に変更を加えた時に、同時に変
更され又、ワークバッファWBの内容をデータバッファ
DBuFに戻す時に役立つものである。
【0076】図14(b)は、本処理における例を示す
ものである。16.2.4においてワークバッファにセ
ーブするパラメータは次のとおり。
ものである。16.2.4においてワークバッファにセ
ーブするパラメータは次のとおり。
【0077】第1W データの長さワークバッファに
書き込んだデータの長さ。但し、キャリッジリターンコ
ードに続くスペースコードは除く。又該インデントブロ
ックの最後に続くスペースコードも除く。又カーソルが
存在している位置は例えそこにスペースコードが存在し
ていても、スペースコード以外のコードがそこに存在し
ていると見なすものとする。
書き込んだデータの長さ。但し、キャリッジリターンコ
ードに続くスペースコードは除く。又該インデントブロ
ックの最後に続くスペースコードも除く。又カーソルが
存在している位置は例えそこにスペースコードが存在し
ていても、スペースコード以外のコードがそこに存在し
ていると見なすものとする。
【0078】第2W 横巾
該インデントブロックの横巾
【0079】第3W 縦巾
該インデントブロックの縦巾
【0080】第4W カーソル
現カーソルが示すDATAがワークバッファWBに格納
されている位置を示す。最小値1にあり最大値は第1W
と同じ値となる。
されている位置を示す。最小値1にあり最大値は第1W
と同じ値となる。
【0081】第5W 該インデントブロックの先頭桁
。
。
【0082】該インデントブロックが存在するデータバ
ッファDBuF上の位置を規定する。該インデントブロ
ックの先頭文字がデータバッファDBuFの何桁目に存
在しているかを示す。
ッファDBuF上の位置を規定する。該インデントブロ
ックの先頭文字がデータバッファDBuFの何桁目に存
在しているかを示す。
【0083】第6W 該インデントブロックの先頭行
該インデントブロックが存在するデータバッファDBu
F上の位置を規定する。
該インデントブロックが存在するデータバッファDBu
F上の位置を規定する。
【0084】該インデントブロックの先頭文字がデータ
バッファDBuFの何行目に存在しているかを示す。
バッファDBuFの何行目に存在しているかを示す。
【0085】第7W データ行
インデントブロック内で、最後に連続して続くスペース
行を除いた縦巾。但しカーソルが存在している位置に、
スペースコードが存在している位置に、スペースコード
が存在していても該位置は文字コードが存在していると
同等と見なす。最小値は1、最大値は第3Wと同じ値と
なる。
行を除いた縦巾。但しカーソルが存在している位置に、
スペースコードが存在している位置に、スペースコード
が存在していても該位置は文字コードが存在していると
同等と見なす。最小値は1、最大値は第3Wと同じ値と
なる。
【0086】またステップ16.4のオーバーライト処
理の制御手順を以下に示す。 16.4.1 ワークバッファWB第4W(カーソル
)の示すワークバッファWB内のDATA位置にオーバ
ーライトすべきDATAをオーバーライトし、ワークバ
ッファWBの第4W(カーソル)の値を更新する。 16.4.2 ワークバッファWB第4W(カーソル
)の値は、ワークバッファWBの第1W(DATA
LENGTH)より大きいか? 16.4.3 ワークバッファWBの第1W(DAT
A LENGTH)の値をワークバッファWBの第4
W(カーソル)の値に置き換える。
理の制御手順を以下に示す。 16.4.1 ワークバッファWB第4W(カーソル
)の示すワークバッファWB内のDATA位置にオーバ
ーライトすべきDATAをオーバーライトし、ワークバ
ッファWBの第4W(カーソル)の値を更新する。 16.4.2 ワークバッファWB第4W(カーソル
)の値は、ワークバッファWBの第1W(DATA
LENGTH)より大きいか? 16.4.3 ワークバッファWBの第1W(DAT
A LENGTH)の値をワークバッファWBの第4
W(カーソル)の値に置き換える。
【0087】上述の各ステップをさらに説明する。
16.4.1 ワークバッファWBの該当位置にデー
タを書き込む。又カーソルを進めせるためにワークバッ
ファWBの第4Wの値を更新する。 16.4.2〜16.4.3 カーソルの位置がワー
クバッファWBの第1Wのデータレングスより大きい場
合には、カーソルの値即ちワークバッファWBの第4W
の値をワークバッファWBの第1Wに移す。即ちカーソ
ルの位置のスペースもデータに含めてデータレングスを
決定するものとする。
タを書き込む。又カーソルを進めせるためにワークバッ
ファWBの第4Wの値を更新する。 16.4.2〜16.4.3 カーソルの位置がワー
クバッファWBの第1Wのデータレングスより大きい場
合には、カーソルの値即ちワークバッファWBの第4W
の値をワークバッファWBの第1Wに移す。即ちカーソ
ルの位置のスペースもデータに含めてデータレングスを
決定するものとする。
【0088】前述のステップ16.5についてさらに説
明する。
明する。
【0089】かかるステップはワークバッファWBの第
4W(カーソル)の示すワークバッファWB内のデータ
位置に挿入すべきデータを挿入し、ワークバッファの第
1W(DATA LENGTH)、第4W(カーソル
)の値を更新(+1)する。
4W(カーソル)の示すワークバッファWB内のデータ
位置に挿入すべきデータを挿入し、ワークバッファの第
1W(DATA LENGTH)、第4W(カーソル
)の値を更新(+1)する。
【0090】かかるステップによりワークバッファWB
内で挿入処理を行ない、ワークバッファWBの第1W(
DATE LENGTH)と第4W(カーソル)との
値をインクリメントする。
内で挿入処理を行ない、ワークバッファWBの第1W(
DATE LENGTH)と第4W(カーソル)との
値をインクリメントする。
【0091】次に図12(a)に示すインデントブロッ
ク再記憶処理16.6をさらに説明する。図17はそれ
を示す図である。 16.6.1 横巾をワークバッファWBの第2Wの
値として時のワークバッファWBの第1Wで指定された
DATA量のDATAを格納するのに必要な行数を求め
、それを新DATA行数とする。途中CRコードが存在
した時は改行による行数増加を考慮しなければならない
。 16.6.2 新DATA行数はワークバッファWB
第3W(縦巾)より大きい か? 16.6.3 インデントブロック拡大処理。 16.6.4 新データ行数レジスタNDRの新DA
TA行数は、ワークバッファWBの第7W(DATA行
数)より小さいか? 16.6.5 インデントブロック縮小処理16.6
.6 データバッファDBuF書込み処理上述のステ
ップ16.6.1〜16.6.6についてさらに説明す
る。 16.6.1 ワークバッファのHEADER部を参
照してワークバッファWB内データをデータバッファD
BuFに格納するに必要な行数を求める。
ク再記憶処理16.6をさらに説明する。図17はそれ
を示す図である。 16.6.1 横巾をワークバッファWBの第2Wの
値として時のワークバッファWBの第1Wで指定された
DATA量のDATAを格納するのに必要な行数を求め
、それを新DATA行数とする。途中CRコードが存在
した時は改行による行数増加を考慮しなければならない
。 16.6.2 新DATA行数はワークバッファWB
第3W(縦巾)より大きい か? 16.6.3 インデントブロック拡大処理。 16.6.4 新データ行数レジスタNDRの新DA
TA行数は、ワークバッファWBの第7W(DATA行
数)より小さいか? 16.6.5 インデントブロック縮小処理16.6
.6 データバッファDBuF書込み処理上述のステ
ップ16.6.1〜16.6.6についてさらに説明す
る。 16.6.1 ワークバッファのHEADER部を参
照してワークバッファWB内データをデータバッファD
BuFに格納するに必要な行数を求める。
【0092】行数を求めるにあたってはワークバッファ
WBの第2Wに格納されているインデントブロック横巾
の値を参照する。
WBの第2Wに格納されているインデントブロック横巾
の値を参照する。
【0093】又キャリッジリターンCRコードが存在し
た時は改行による行数増加を考慮する。 16.6.2〜16.6.3 求めた行数ともとのイ
ンデントブロックの縦巾とを比較して、その行数が縦巾
を越える時はインデントブロックの縦方向の拡大を行な
って、データエリアを確保する。 16.6.4〜16.6.5 求めた行数ともとのデ
ータの行数(もとのインデントブロックの縦巾でなく、
縦巾から最下行に連続して続くスペース行の数を差し引
いたもの)とを比較し、その行数がもとのデータ行数を
下回る時、その分だけインデントブロックの縦方向の縮
小処理を行なう。 16.6.6 新しく作り直したインデントブロック
にワークバッファの内容を移す。その際ワークバッファ
のHEADER部のパラメータを参照することにより行
なう。
た時は改行による行数増加を考慮する。 16.6.2〜16.6.3 求めた行数ともとのイ
ンデントブロックの縦巾とを比較して、その行数が縦巾
を越える時はインデントブロックの縦方向の拡大を行な
って、データエリアを確保する。 16.6.4〜16.6.5 求めた行数ともとのデ
ータの行数(もとのインデントブロックの縦巾でなく、
縦巾から最下行に連続して続くスペース行の数を差し引
いたもの)とを比較し、その行数がもとのデータ行数を
下回る時、その分だけインデントブロックの縦方向の縮
小処理を行なう。 16.6.6 新しく作り直したインデントブロック
にワークバッファの内容を移す。その際ワークバッファ
のHEADER部のパラメータを参照することにより行
なう。
【0094】上述のステップ16.6.3のインデント
ブロック拡大処理についてさらに図18(a)を用いて
説明する。 16.6.3.1 行挿入処理 16.6.3.2 SPACE行移動処理16.6.
3.3 〔新DATA行数−ワークバッファ第3W(
縦巾)〕の大きさの分だけ繰り返したか?のステップ制
御を行なう。各ステップの目的は以下に示す。
ブロック拡大処理についてさらに図18(a)を用いて
説明する。 16.6.3.1 行挿入処理 16.6.3.2 SPACE行移動処理16.6.
3.3 〔新DATA行数−ワークバッファ第3W(
縦巾)〕の大きさの分だけ繰り返したか?のステップ制
御を行なう。各ステップの目的は以下に示す。
【0095】16.6.3.1 カーソルが存在して
いる行にいわゆる行挿入を行なう。この際挿入される行
DATAは左マージンマーク、右マージンマークはもち
ろん伴なっているが、1つ上の行と全く同じようにイン
デントマークがセットされているものとする。他はスペ
ースコードが生まつているものとする。 16.6.3.2 行挿入の結果、今まで連続して続
いていた文字列が切断され、文章としてのつながりが保
てなくなる。そこでインデント単位に挿入された行以降
のデータを1行ずつつくり上げることを行なう。 16.6.3.3 インデントブロックを拡大する行
数分だけステップ16.6.3.1と16.6.3.2
をくり返す。
いる行にいわゆる行挿入を行なう。この際挿入される行
DATAは左マージンマーク、右マージンマークはもち
ろん伴なっているが、1つ上の行と全く同じようにイン
デントマークがセットされているものとする。他はスペ
ースコードが生まつているものとする。 16.6.3.2 行挿入の結果、今まで連続して続
いていた文字列が切断され、文章としてのつながりが保
てなくなる。そこでインデント単位に挿入された行以降
のデータを1行ずつつくり上げることを行なう。 16.6.3.3 インデントブロックを拡大する行
数分だけステップ16.6.3.1と16.6.3.2
をくり返す。
【0096】上述の処理によるデータの配列を図18(
b)に示す。
b)に示す。
【0097】図18(b)は、インデントブロック拡大
処理の例である。16.6.3.1で示す図では、行挿
入が行なわれた様子が示されており又16.6.3.2
で示す図ではインデント単位に挿入されたスペース行を
下にずらした様子が示されている。16.6.3.2の
図でわかるように、結果として、スペース行は、各イン
デントごとに、ばらばらの位置に配されることになり、
一行にまとまることはなくなる。この結果各インデント
ブロック単位に文章の連続性が保たれた形でインデント
ブロックの拡大が行なわれる。
処理の例である。16.6.3.1で示す図では、行挿
入が行なわれた様子が示されており又16.6.3.2
で示す図ではインデント単位に挿入されたスペース行を
下にずらした様子が示されている。16.6.3.2の
図でわかるように、結果として、スペース行は、各イン
デントごとに、ばらばらの位置に配されることになり、
一行にまとまることはなくなる。この結果各インデント
ブロック単位に文章の連続性が保たれた形でインデント
ブロックの拡大が行なわれる。
【0098】前述のステップ16.6.3.1の行挿入
処理についてさらに図19(a)を用いて説明する。か
かる処理は以下の各ステップから成る。 16.6.3.1.1 データバッファ内でカーソル
が存在する行以降すべての行を1行下げ新しく発生した
行にスペースコードをうめる。 16.6.3.1.2 新しく発生した行に、前行の
左マージンコード、インデントコード、右マージンコー
ドを、同じ位置にコピーする。
処理についてさらに図19(a)を用いて説明する。か
かる処理は以下の各ステップから成る。 16.6.3.1.1 データバッファ内でカーソル
が存在する行以降すべての行を1行下げ新しく発生した
行にスペースコードをうめる。 16.6.3.1.2 新しく発生した行に、前行の
左マージンコード、インデントコード、右マージンコー
ドを、同じ位置にコピーする。
【0099】上述のステップにより現カーソルが示す位
置にスペースコードだけから成る行を挿入し、然る後左
マージンマーク、右マージマーク、インデントマークを
前行と全く同じ位置に記入する。
置にスペースコードだけから成る行を挿入し、然る後左
マージンマーク、右マージマーク、インデントマークを
前行と全く同じ位置に記入する。
【0100】前述のステップ16.6.3.2のスペー
ス行移動処理についてさらに説明する。かかる処理は図
20(a)に示す各ステップを行なう。 16.6.3.2.1 カーソルが存在する行の最左
端のインデントブロックを挿入する。 16.6.3.2.2 インデントブロックは存在し
たか。 16.6.3.2.3 該インデントブロックの先頭
にカーソル移動。 16.6.3.2.4 該インデントブロックのカー
ソルが存在している行はすべてスペースコードか?16
.6.3.2.5 該インデントブロック内でカーソ
ルが存在している行を削除して、すべて1行繰り上げる
。該インデントブロックの最後まで実行し、最下行はス
ペースコードで埋める。 16.6.3.2.6 右方へ次のインデントブロッ
クを挿入する。
ス行移動処理についてさらに説明する。かかる処理は図
20(a)に示す各ステップを行なう。 16.6.3.2.1 カーソルが存在する行の最左
端のインデントブロックを挿入する。 16.6.3.2.2 インデントブロックは存在し
たか。 16.6.3.2.3 該インデントブロックの先頭
にカーソル移動。 16.6.3.2.4 該インデントブロックのカー
ソルが存在している行はすべてスペースコードか?16
.6.3.2.5 該インデントブロック内でカーソ
ルが存在している行を削除して、すべて1行繰り上げる
。該インデントブロックの最後まで実行し、最下行はス
ペースコードで埋める。 16.6.3.2.6 右方へ次のインデントブロッ
クを挿入する。
【0101】上述のステップを実行することにより例え
ばステップ16.6.3.2.1,16.6.3.2.
2,16.6.3.2.6によりインデントブロックご
とに左方から順に処理を実行し、すべてのインデントブ
ロックに対して処理が終了するまで続ける。
ばステップ16.6.3.2.1,16.6.3.2.
2,16.6.3.2.6によりインデントブロックご
とに左方から順に処理を実行し、すべてのインデントブ
ロックに対して処理が終了するまで続ける。
【0102】ステップ16.6.3.2.3〜16.6
.3.2.5により各インデントブロック単位でスペー
ス行を、各インデントブロックの最下行に移動させる。 この処理はインデントブロック単位で実行するため、最
下行に移動したSPACE行の位置はインデントブロッ
クごとに異なる。
.3.2.5により各インデントブロック単位でスペー
ス行を、各インデントブロックの最下行に移動させる。 この処理はインデントブロック単位で実行するため、最
下行に移動したSPACE行の位置はインデントブロッ
クごとに異なる。
【0103】前述のステップ16.6.5のインデント
ブロック縮小処理の詳細を図21に示す。かくステップ
について説明する。 16.6.5.1 該インデントブロックの最終行に
左マージンマーク、右マージンマーク、スペースコード
、インデントコード以外のものが存在するか?16.6
.5.2 該インデントブロックの最終行を削除し、
それ以降に続くDATAをすべて、1行分前につめる。 (インデントブロック単位でない)16.6.5.3
データバッファDBuFの最終行に対応する位置にす
べてスペースコードを埋める。 16.6.5.4 データバッファの最終行に左マー
ジンコード、右マージンコードを埋める。 16.6.5.5 〔ワークバッファ第7W(DAT
A行数)−新DATA行数〕の大きさの分だけ繰り返し
たか?
ブロック縮小処理の詳細を図21に示す。かくステップ
について説明する。 16.6.5.1 該インデントブロックの最終行に
左マージンマーク、右マージンマーク、スペースコード
、インデントコード以外のものが存在するか?16.6
.5.2 該インデントブロックの最終行を削除し、
それ以降に続くDATAをすべて、1行分前につめる。 (インデントブロック単位でない)16.6.5.3
データバッファDBuFの最終行に対応する位置にす
べてスペースコードを埋める。 16.6.5.4 データバッファの最終行に左マー
ジンコード、右マージンコードを埋める。 16.6.5.5 〔ワークバッファ第7W(DAT
A行数)−新DATA行数〕の大きさの分だけ繰り返し
たか?
【0104】上述のステップ16.6.5.1〜16.
6.5.5を実行して以下の目的を行なう。 16.6.5.1 該インデットブロックの最終行に
おいて、隣接するインデントブロックも含めて、すべて
、左マージンコード、右マージンコード、インデントマ
ーク、スペースコード以外のものが存在しているか否か
をチェックする。存在しなかったら、次のステップに進
む。 16.6.5.2 16.6.5.1でチェックした
行を削除し、後続する行を上へくり上る。(インデント
ブロック単位でなく、左右マージンを含めて実行するも
のとする) 16.6.5.3〜16.6.5.4 最終行に対応
するデータバッファの位置、左右マージンコード、とス
ペースコードを埋める。 16.6.5.5 縮小の必要なだけ縮小を繰り返す
。
6.5.5を実行して以下の目的を行なう。 16.6.5.1 該インデットブロックの最終行に
おいて、隣接するインデントブロックも含めて、すべて
、左マージンコード、右マージンコード、インデントマ
ーク、スペースコード以外のものが存在しているか否か
をチェックする。存在しなかったら、次のステップに進
む。 16.6.5.2 16.6.5.1でチェックした
行を削除し、後続する行を上へくり上る。(インデント
ブロック単位でなく、左右マージンを含めて実行するも
のとする) 16.6.5.3〜16.6.5.4 最終行に対応
するデータバッファの位置、左右マージンコード、とス
ペースコードを埋める。 16.6.5.5 縮小の必要なだけ縮小を繰り返す
。
【0105】前述のステップ16.6.6のデータバッ
ファ書き込み処理について図22を参照して説明する。 16.6.6.1 ワークバッファWBのHEADE
R部パラメータに従ってワークバッファ内DATAをデ
ータバッファに移す。(但し途中にCRコードが存在し
た場合改行を行なう)インデントブロックをオーバーし
た分は捨てさる。 16.6.6.2 ワークバッファの第4W(カーソ
ル)に対応するDATABUFFER内アドレスをカー
ソルレジスタに記入する(但し、その値が128を越え
る時は1とする)。
ファ書き込み処理について図22を参照して説明する。 16.6.6.1 ワークバッファWBのHEADE
R部パラメータに従ってワークバッファ内DATAをデ
ータバッファに移す。(但し途中にCRコードが存在し
た場合改行を行なう)インデントブロックをオーバーし
た分は捨てさる。 16.6.6.2 ワークバッファの第4W(カーソ
ル)に対応するDATABUFFER内アドレスをカー
ソルレジスタに記入する(但し、その値が128を越え
る時は1とする)。
【0106】上述のステップ16.6.6.1〜16.
6.6.2を実行し、以下のことを行なう。 16.6.6.1 ワークバッファの内容をデータバ
ッファに移す。移すべきデータの長さは第1Wに移すべ
きインデントブロックの横巾は第2Wに移すべきインデ
ントブロックのデータバッファDBuF内位置は第5W
、第6Wに示される。第5Wは、桁番号で第6Wは行番
号であり、この位置該インデントブロックの先頭文字が
来ることになる。 16.6.6.2 カーソルレジスタへカーソルアド
レスを書き込むワークバッファWB第4Wにカーソルの
存在すべきアドレスが記入されている。この値を実際の
データバッファ上でのアドレスに変換し、カーソルレジ
スタCRに記入する。
6.6.2を実行し、以下のことを行なう。 16.6.6.1 ワークバッファの内容をデータバ
ッファに移す。移すべきデータの長さは第1Wに移すべ
きインデントブロックの横巾は第2Wに移すべきインデ
ントブロックのデータバッファDBuF内位置は第5W
、第6Wに示される。第5Wは、桁番号で第6Wは行番
号であり、この位置該インデントブロックの先頭文字が
来ることになる。 16.6.6.2 カーソルレジスタへカーソルアド
レスを書き込むワークバッファWB第4Wにカーソルの
存在すべきアドレスが記入されている。この値を実際の
データバッファ上でのアドレスに変換し、カーソルレジ
スタCRに記入する。
【0107】上述の処理が終了すると、図8に示すステ
ップKB16の文字処理が終了しキー待ちにもどる。も
しNOであれば、ステップKB17に移り、該ステップ
KB17で削除キーの操作があったかを判別する。YE
Sであれば、図23に示す削除キー入力処理制御を行な
う。各ステップの内容は以下の通りである。 18.1 現カーソルの位置にインデントマークは存
在するか? 18.2 現カーソル位置に対応する内アドレスの内
容をスペースコードに変更する。 18.3 インデントブロックセーブ処理(16.2
)18.4 削除処理 18.5 インデントブロックリストア処理(16.
6) 〈注〉 この処理はカーソルが左右マージン上に有る
時は機能しないものとする。
ップKB16の文字処理が終了しキー待ちにもどる。も
しNOであれば、ステップKB17に移り、該ステップ
KB17で削除キーの操作があったかを判別する。YE
Sであれば、図23に示す削除キー入力処理制御を行な
う。各ステップの内容は以下の通りである。 18.1 現カーソルの位置にインデントマークは存
在するか? 18.2 現カーソル位置に対応する内アドレスの内
容をスペースコードに変更する。 18.3 インデントブロックセーブ処理(16.2
)18.4 削除処理 18.5 インデントブロックリストア処理(16.
6) 〈注〉 この処理はカーソルが左右マージン上に有る
時は機能しないものとする。
【0108】上述のステップにより以下の事を実行する
。 18.1 カーソルがインデントマーク上にある
時はステップ18.2カーソルがインデントマーク上に
ない時はステップ18.3へ進む。 18.2 カーソルが存在する位置のコードをスペー
スコードに変更する。 18.3 該インデントブロックのワークバッファへ
のセーブを行なう(16.2) 18.4 ワークバッファ上で削除処理を行なう。 18.5 削除処理されたワークバッファWBの内容
をデータバッファDBuFに戻す。
。 18.1 カーソルがインデントマーク上にある
時はステップ18.2カーソルがインデントマーク上に
ない時はステップ18.3へ進む。 18.2 カーソルが存在する位置のコードをスペー
スコードに変更する。 18.3 該インデントブロックのワークバッファへ
のセーブを行なう(16.2) 18.4 ワークバッファ上で削除処理を行なう。 18.5 削除処理されたワークバッファWBの内容
をデータバッファDBuFに戻す。
【0109】図24は上述の削除キー入力処理の例であ
る。各処理に対応して処理のステップ番号が付されてい
る。18.3のインデントブロックセーブ処理と18.
5のインデントブロックリストア処理についてはそれぞ
れステップ16.2,16.6で述べた。18.4がワ
ークバッファWB上での削除処理である。
る。各処理に対応して処理のステップ番号が付されてい
る。18.3のインデントブロックセーブ処理と18.
5のインデントブロックリストア処理についてはそれぞ
れステップ16.2,16.6で述べた。18.4がワ
ークバッファWB上での削除処理である。
【0110】かかる削除処理は図25に示す如く3ステ
ップより成り各ステップを以下に示す。 18.4.1 ワークバッファWB第4W(カーソル
)の示す内DATAを削除する。(即ち該位置以降に存
在するDATAをすべて1つずつ前につめる。 18.4.2 ワークバッファWB第4W(カーソル
)の値と第1W(DATALENGTH)の値とは等し
いか? 18.4.3 ワークバッファWB第1W(DATA
LENGTH)を1減する。
ップより成り各ステップを以下に示す。 18.4.1 ワークバッファWB第4W(カーソル
)の示す内DATAを削除する。(即ち該位置以降に存
在するDATAをすべて1つずつ前につめる。 18.4.2 ワークバッファWB第4W(カーソル
)の値と第1W(DATALENGTH)の値とは等し
いか? 18.4.3 ワークバッファWB第1W(DATA
LENGTH)を1減する。
【0111】上述の各ステップにより以下の事を行なう
。 18.4.1 ワークバッファWB第4Wの示すワー
クバッファWB内のデータを削除し後続するデータをす
べて前へつめる。18.4.2〜18.4.3 削除
処理においてはカーソルの位置は移動しないものとする
。従ってワークバッファWB第1W(DATA LE
NGTH)の値を、ワークバッファ第4W(カーソル)
の値より小さくならない範囲で1を減ずるものとする。
。 18.4.1 ワークバッファWB第4Wの示すワー
クバッファWB内のデータを削除し後続するデータをす
べて前へつめる。18.4.2〜18.4.3 削除
処理においてはカーソルの位置は移動しないものとする
。従ってワークバッファWB第1W(DATA LE
NGTH)の値を、ワークバッファ第4W(カーソル)
の値より小さくならない範囲で1を減ずるものとする。
【0112】上述の処理が終了すれば、キー待ちに移り
、NOであれば、ステップKB19に移る。ステップK
B19でインデント右移動キーかを判別する。もしYE
Sであれば、図26にYの詳細を示すインデント右移動
キー入力処理を行なう。 20.1 現カーソル位置をセーブする。 20.2 現カーソルは、インデントコードの位置に
あるか? 20.3 インデントブロックセーブ処理(16.2
)20.4 インデントブロック横縮小処理20.5
現カーソルよりさらに左方に別のインデントコード
が存在するか? 20.6 現カーソルの直ぐ左側に存在する第1のイ
ンデントブロックの縦巾とさらに左側に存在する第2の
インデントブロックの縦巾との大きさは等しいか?(但
しカーソルが存在する行以降を比較する)20.7
現カーソルを第2のインデントブロックの最左端に移す
。 20.8 インデントブロックセーブ処理(16.2
)20.9 インデントブロック横拡大処理20.1
0 インデントブロックリストア処理(16.6) 20.11 現カーソル位置をセーブしておいたカー
ソル位置にもどす。 〈注〉 インデントキー左移動キー入力処理22は上
記説明で左と右をすべて逆にしたものと同じである。 〈注〉 本処理はカーソルが左右マージン上にないも
のとする。
、NOであれば、ステップKB19に移る。ステップK
B19でインデント右移動キーかを判別する。もしYE
Sであれば、図26にYの詳細を示すインデント右移動
キー入力処理を行なう。 20.1 現カーソル位置をセーブする。 20.2 現カーソルは、インデントコードの位置に
あるか? 20.3 インデントブロックセーブ処理(16.2
)20.4 インデントブロック横縮小処理20.5
現カーソルよりさらに左方に別のインデントコード
が存在するか? 20.6 現カーソルの直ぐ左側に存在する第1のイ
ンデントブロックの縦巾とさらに左側に存在する第2の
インデントブロックの縦巾との大きさは等しいか?(但
しカーソルが存在する行以降を比較する)20.7
現カーソルを第2のインデントブロックの最左端に移す
。 20.8 インデントブロックセーブ処理(16.2
)20.9 インデントブロック横拡大処理20.1
0 インデントブロックリストア処理(16.6) 20.11 現カーソル位置をセーブしておいたカー
ソル位置にもどす。 〈注〉 インデントキー左移動キー入力処理22は上
記説明で左と右をすべて逆にしたものと同じである。 〈注〉 本処理はカーソルが左右マージン上にないも
のとする。
【0113】上述の各ステップの目的は以下の通りであ
る。 20.1 現カーソルの位置をカーソル位置セーブレ
ジスタにセーブする。 20.2 カーソルが文字上にある時はステップ20
.3へカーソルがインデント上にある時はステップ20
.5に進む。 20.3 インデントブロックをSAVEする(16
.2) 20.4 ワークバッファ上でインデントブロックの
縮小処理を行なう。ステップ20.10へ進む。 20.5,20.6 カーソルが存在する位置より左
にインデントブロックが2つ存在し、かつその2つのイ
ンデントブロックの縦巾が等しい時ステップ20.7に
進む。 20.7 2つのインデントブロックの左側のインデ
ントブロックの先頭文字の位置にカーソルを移動する。 20.8 インデントブロックセーブ処理(16.2
)20.9 ワークバッファ内でインデントブロック
の拡大処理を行なう。 20.10 インデントブロックのリストア処理(1
6.6) 20.11 カーソル位置セーブレジスタCSRにセ
ーブしておいたカーソル位置アドレスをカーソルレジス
タCRにもどす。
る。 20.1 現カーソルの位置をカーソル位置セーブレ
ジスタにセーブする。 20.2 カーソルが文字上にある時はステップ20
.3へカーソルがインデント上にある時はステップ20
.5に進む。 20.3 インデントブロックをSAVEする(16
.2) 20.4 ワークバッファ上でインデントブロックの
縮小処理を行なう。ステップ20.10へ進む。 20.5,20.6 カーソルが存在する位置より左
にインデントブロックが2つ存在し、かつその2つのイ
ンデントブロックの縦巾が等しい時ステップ20.7に
進む。 20.7 2つのインデントブロックの左側のインデ
ントブロックの先頭文字の位置にカーソルを移動する。 20.8 インデントブロックセーブ処理(16.2
)20.9 ワークバッファ内でインデントブロック
の拡大処理を行なう。 20.10 インデントブロックのリストア処理(1
6.6) 20.11 カーソル位置セーブレジスタCSRにセ
ーブしておいたカーソル位置アドレスをカーソルレジス
タCRにもどす。
【0114】図27はカーソルが文字の上にある時の例
である。この場合インデント右移動キーによって、イン
デントブロックは横方向に縮小される。20.4で示す
図がワークバッファWBを使用してインデントブロック
の縮小を行なったところの例である。
である。この場合インデント右移動キーによって、イン
デントブロックは横方向に縮小される。20.4で示す
図がワークバッファWBを使用してインデントブロック
の縮小を行なったところの例である。
【0115】図28はカーソルがインデント上にある時
の例である。この場合インデント右移動キーによってイ
ンデントブロックは横方向に拡大される。20.9で示
す図がワークバッファWBを使用してインデントブロッ
ク拡大処理を行なった例である。
の例である。この場合インデント右移動キーによってイ
ンデントブロックは横方向に拡大される。20.9で示
す図がワークバッファWBを使用してインデントブロッ
ク拡大処理を行なった例である。
【0116】上述のステップ20.4をさらに説明する
と、図29に示す如く5ステップから成る。 20.4.1 現カーソルが存在しているインデント
ブロックを、現カーソルが存在している位置にインデン
トコードを縦方向に書き込むことにより、縦方向に2等
分する。 20.4.2 現カーソルの位置を右方向に1つずら
す。 20.4.3 ワークバッファWB第2W(横巾)に
新しく出来た現カーソルが存在するインデントブロック
の横巾を記入する。 20.4.4 ワークバッファWB第4W(カーソル
)の値を1に変更する。 20.4.5 ワークバッファWB第5W(インデン
トブロック先頭桁)を新しく出来たインデントブロック
の先頭桁番号に変更する。 〈注〉 インデント左移動の時22.4上記記述の内
右を左と変更する。
と、図29に示す如く5ステップから成る。 20.4.1 現カーソルが存在しているインデント
ブロックを、現カーソルが存在している位置にインデン
トコードを縦方向に書き込むことにより、縦方向に2等
分する。 20.4.2 現カーソルの位置を右方向に1つずら
す。 20.4.3 ワークバッファWB第2W(横巾)に
新しく出来た現カーソルが存在するインデントブロック
の横巾を記入する。 20.4.4 ワークバッファWB第4W(カーソル
)の値を1に変更する。 20.4.5 ワークバッファWB第5W(インデン
トブロック先頭桁)を新しく出来たインデントブロック
の先頭桁番号に変更する。 〈注〉 インデント左移動の時22.4上記記述の内
右を左と変更する。
【0117】上述の各ステップについてさらに説明する
。 20.4.1 まずデータバッファの該インデントブ
ロックを2等分することで縮小されたインデントブロッ
クの作成を行なう。縦方向に2等分したインデントブロ
ックの右側に今までそこにあった情報が押し込められる
ことになる。 20.4.2 現カーソルを右方向へ1つずらす。そ
の位置が新しいインデントブロックの先頭文字の位置に
なる。 20.4.3〜20.4.5 ワークバッファWBの
HEADER部のパラメータを新しいインデントブロッ
クのパラメータに置き換える。
。 20.4.1 まずデータバッファの該インデントブ
ロックを2等分することで縮小されたインデントブロッ
クの作成を行なう。縦方向に2等分したインデントブロ
ックの右側に今までそこにあった情報が押し込められる
ことになる。 20.4.2 現カーソルを右方向へ1つずらす。そ
の位置が新しいインデントブロックの先頭文字の位置に
なる。 20.4.3〜20.4.5 ワークバッファWBの
HEADER部のパラメータを新しいインデントブロッ
クのパラメータに置き換える。
【0118】上述のステップ20.9のインデントブロ
ック横拡大処理について図30を参照して説明する。 20.9.1 カーソルが存在しているインデントブ
ロックの右側端を決定しているインデントマークをすべ
てスペースマークに変更する。 20.9.2 ワークバッファWB第2W(横巾)に
新しく拡大したインデントブロックの横巾を記入する。
ック横拡大処理について図30を参照して説明する。 20.9.1 カーソルが存在しているインデントブ
ロックの右側端を決定しているインデントマークをすべ
てスペースマークに変更する。 20.9.2 ワークバッファWB第2W(横巾)に
新しく拡大したインデントブロックの横巾を記入する。
【0119】のステップから成り、かくステップは以下
のことを行なう。 20.9.1 まずデータバッファのインデントブロ
ックにおいて右側端のインデントマークを取り除くこと
で、インデントブロックの拡大を行なう。 20.9.2 ワークバッファWB第2W(横巾)の
値を変更する。
のことを行なう。 20.9.1 まずデータバッファのインデントブロ
ックにおいて右側端のインデントマークを取り除くこと
で、インデントブロックの拡大を行なう。 20.9.2 ワークバッファWB第2W(横巾)の
値を変更する。
【0120】上述の処理が終了すれば、キー待ちに移る
。もしNOであれば、ステップKB21のインデント左
キーかを判別する処理に移る。該ステップでYESなら
ば、ステップKB22の入力処理に移る。
。もしNOであれば、ステップKB21のインデント左
キーかを判別する処理に移る。該ステップでYESなら
ば、ステップKB22の入力処理に移る。
【0121】かかる処理は図26において、図の説明文
中の右と左とを入れ換え、かつ数字20を22に置き換
えたものと同等である。
中の右と左とを入れ換え、かつ数字20を22に置き換
えたものと同等である。
【0122】またインデントブロック横縮小処理は巾図
29において図の説明文中の右と左とを入れ換え、かつ
数字20を22に置き換えたものと同等である。
29において図の説明文中の右と左とを入れ換え、かつ
数字20を22に置き換えたものと同等である。
【0123】さらにインデントブロック横拡大処理につ
いて述べる。
いて述べる。
【0124】かかる処理は図31に示すステップから成
り、かくステップについて説明する。 22.9.1 カーソルが存在しているインデントブ
ロックの左側端を決定しているインデントマークをすべ
てスペースマークに変更する。 22.9.2 ワークバッファWB第2W(横巾)に
新しく拡大したインデントブロックの横巾を記入する。 22.9.3 ワークバッファWB第5W(該インデ
ントブロック先頭桁)を、新しく拡大したインデントブ
ロックの先頭桁に変更する。
り、かくステップについて説明する。 22.9.1 カーソルが存在しているインデントブ
ロックの左側端を決定しているインデントマークをすべ
てスペースマークに変更する。 22.9.2 ワークバッファWB第2W(横巾)に
新しく拡大したインデントブロックの横巾を記入する。 22.9.3 ワークバッファWB第5W(該インデ
ントブロック先頭桁)を、新しく拡大したインデントブ
ロックの先頭桁に変更する。
【0125】上記各ステップは以下の目的を実行する。
22.9.1 まずデータバッファにおける該インデ
ントブロックの左側端のインデントマークを取除くこと
によりインデントブロックの拡大を行なう。 22.9.2,22.9.3 ワークバッファWB第
2W(横巾)、ワークバッファWB第5W(先頭桁)を
新しいインデントブロックに対応する値に変更する。
ントブロックの左側端のインデントマークを取除くこと
によりインデントブロックの拡大を行なう。 22.9.2,22.9.3 ワークバッファWB第
2W(横巾)、ワークバッファWB第5W(先頭桁)を
新しいインデントブロックに対応する値に変更する。
【0126】上述の処理が終了すれば、キー待ちに移り
、NOであれば、ステップKB23に移る。ステップK
B23はインデント罫線変換キーかの判別ステップであ
る。かかるステップKB23でYESとなれば、ステッ
プ24のインデント罫線変換キー入力処理に移る。図3
2(a)はその詳細を示すフローである。各ステップの
内容を以下に示す。 24.1 現カーソルが存在する1行手前の行までデ
ータバッファの内容をすべてワークバッファに移す。 24.2 現カーソルが存在する行からデータバッフ
ァの内容を変換テーブル第3図(d)を参照し、インデ
ントコードを罫線コードに変換しながらワークバッファ
WBに移す。この際カーソルが存在する1行手前の行は
存在しないものとして変換テーブルを参照するものとす
る。 24.3 ワークバッファの内容をすべてデータバッ
ファに戻す。
、NOであれば、ステップKB23に移る。ステップK
B23はインデント罫線変換キーかの判別ステップであ
る。かかるステップKB23でYESとなれば、ステッ
プ24のインデント罫線変換キー入力処理に移る。図3
2(a)はその詳細を示すフローである。各ステップの
内容を以下に示す。 24.1 現カーソルが存在する1行手前の行までデ
ータバッファの内容をすべてワークバッファに移す。 24.2 現カーソルが存在する行からデータバッフ
ァの内容を変換テーブル第3図(d)を参照し、インデ
ントコードを罫線コードに変換しながらワークバッファ
WBに移す。この際カーソルが存在する1行手前の行は
存在しないものとして変換テーブルを参照するものとす
る。 24.3 ワークバッファの内容をすべてデータバッ
ファに戻す。
【0127】各ステップの目的を以下に示す。
24.1 ここでは今まで定義してきたワークバッフ
ァのフォーマットとは全く違う使い方を行なう。すなわ
ち、ここでは、インデントブロックの概念は全く扱わず
、従ってインデントマークは単なる文字と全く同等と見
なすものとする。
ァのフォーマットとは全く違う使い方を行なう。すなわ
ち、ここでは、インデントブロックの概念は全く扱わず
、従ってインデントマークは単なる文字と全く同等と見
なすものとする。
【0128】まず、カーソルが存在する行の手前の行ま
での情報をすべてワークバッファWBの頭から格納する
。 24.2 次に、変換テーブル図4を参照しながらイ
ンデントコードを罫線コードに変換しながら残りのデー
タバッファ内の情報をワークバッファ内に続いて格納す
る。その際現在カーソルが存在している行より前の行は
、存在していないものとして変換テーブルを参照するも
のとする。
での情報をすべてワークバッファWBの頭から格納する
。 24.2 次に、変換テーブル図4を参照しながらイ
ンデントコードを罫線コードに変換しながら残りのデー
タバッファ内の情報をワークバッファ内に続いて格納す
る。その際現在カーソルが存在している行より前の行は
、存在していないものとして変換テーブルを参照するも
のとする。
【0129】変換テーブルを参照するにあたっては、該
インデントコードの上下左右にインデントコードが存在
するか否かによって変換される罫線コードが変化するた
め、常に上下左右の状態を認識する必要がある。 24.3 ワークバッファWBの内容を頭からデータ
バッファにすべて戻す。
インデントコードの上下左右にインデントコードが存在
するか否かによって変換される罫線コードが変化するた
め、常に上下左右の状態を認識する必要がある。 24.3 ワークバッファWBの内容を頭からデータ
バッファにすべて戻す。
【0130】図32は、インデント罫線変換の例である
。
。
【0131】上述の処理が終了したら、キー待ちにもど
る。もしNOであれば、ステップKB25に移る。ステ
ップKB25に於いて罫線インデント変換キーが操作さ
れたかを判別する。もしYESであれば、ステップKB
26に移り、図33に示す処理を行なう。 26.1 現カーソルが存在する行以降の罫線コード
をすべてインデントコードに変更する。
る。もしNOであれば、ステップKB25に移る。ステ
ップKB25に於いて罫線インデント変換キーが操作さ
れたかを判別する。もしYESであれば、ステップKB
26に移り、図33に示す処理を行なう。 26.1 現カーソルが存在する行以降の罫線コード
をすべてインデントコードに変更する。
【0132】上述のステップによりデータバッファ内に
おいて現カーソルが存在する行以降をすべて罫線コード
からインデントコードへの変更を行なう。
おいて現カーソルが存在する行以降をすべて罫線コード
からインデントコードへの変更を行なう。
【0133】上述の処理が終了すれば、キー待ちとなる
。もしNOであれば、ステップKB27に移る。ステッ
プKB27で、イニシャライズキーが操作されたかを判
別する。YESであればイニシャライズ処理を行なう。 図33はそのフローを示す。 1.データバッファにすべてスペースコードを埋める。 2.データバッファの左右マージン位置に相当する場所
に左マージンコード、右マージンコードを埋める。
。もしNOであれば、ステップKB27に移る。ステッ
プKB27で、イニシャライズキーが操作されたかを判
別する。YESであればイニシャライズ処理を行なう。 図33はそのフローを示す。 1.データバッファにすべてスペースコードを埋める。 2.データバッファの左右マージン位置に相当する場所
に左マージンコード、右マージンコードを埋める。
【0134】上述のステップによりデータバッファに初
期値を設定することにより、CRT上に表示される文字
列のイニシャライズを行なう。これにより左右マージン
がCRT上に表示され残りはすべてスペースが表示され
る。すべての入力はまずこのINTキーを押すことによ
り始めることができる。
期値を設定することにより、CRT上に表示される文字
列のイニシャライズを行なう。これにより左右マージン
がCRT上に表示され残りはすべてスペースが表示され
る。すべての入力はまずこのINTキーを押すことによ
り始めることができる。
【0135】上述の処理が終了すれば、キー待ちとなる
。もしNOであれば、ステップKB29に移る。ステッ
プKB29はプリントキーが操作されたかを判別する。 もしYESであれば、図35に示すプリントキー処理の
ステップKB30に移る。かかるステップは以下の処理
を行なう。
。もしNOであれば、ステップKB29に移る。ステッ
プKB29はプリントキーが操作されたかを判別する。 もしYESであれば、図35に示すプリントキー処理の
ステップKB30に移る。かかるステップは以下の処理
を行なう。
【0136】データバッファの内容をプリンタに出力す
る。
る。
【0137】上述の処理によりデータバッファの内容を
すべてプリントアウトする。縦横プリントの機能をもっ
ているとなお望ましい。
すべてプリントアウトする。縦横プリントの機能をもっ
ているとなお望ましい。
【0138】以上の処理が終了と、キー待ちになるが、
もしNOであれば、やはりキー待ちにもどる。
もしNOであれば、やはりキー待ちにもどる。
【図1】本発明による1実施例を示すブロック図。
【図2】インデントブロックを説明する図。
【図3】インデントマークと罫線パターンの変換を説明
する図。
する図。
【図4】インデントマークと罫線パターンの変換を説明
する図。
する図。
【図5】枠組みの変更を説明する図。
【図6】枠組みの変更を説明する図。
【図7】枠組みの変更を説明する図。
【図8】キー処理を示す制御手順を示す図。
【図9】キャリッジリターン処理とインデント入力処理
を示す図。
を示す図。
【図10】オーバライトキー入力処理と挿入キー入力処
理を示す図。
理を示す図。
【図11】カーソルキー入力処理を示す図。
【図12】文字キー入力処理を示す図。
【図13】文字のオーバライト処理を示す図。
【図14】インデントブロックセーブ処理とデータの流
れを示す図。
れを示す図。
【図15】オーバライト処理を示す図。
【図16】挿入処理を示す図。
【図17】インデントブロックリストア処理を示す図。
【図18】インデントブロック拡大処理及びデータの流
れを示す図。
れを示す図。
【図19】行挿入処理とデータの流れを示す図。
【図20】スペース行移動処理とデータの流れを示す図
。
。
【図21】インデントブロック縮小処理を示す図。
【図22】データバッファ書き込み処理とデータの流れ
を示す図。
を示す図。
【図23】削除キー入力処理を示す図。
【図24】文字の削除のデータの流れを示す図。
【図25】削除処理を示す図。
【図26】インデント右移動キー入力処理を示す図。
【図27】データの流れを示す図。
【図28】データの流れを示す図。
【図29】インデントブロック横縮小処理を示す図。
【図30】インデントブロック横拡大処理を示す図。
【図31】インデントブロック横拡大処理を示す図。
【図32】インデント罫線変換キー入力処理とデータの
流れを示す図。
流れを示す図。
【図33】縦線インデント変換キー入力処理とデータの
流れを示す図。
流れを示す図。
【図34】イニシャライズ処理を示す図。
【図35】プリントキー入力処理を示す図。
KB キーボード
ROM 制御メモリ
RAM メモリ
WB ワークバッファ
DBuF データバッファ
CR カーソルレジスタ
Claims (1)
- 【請求項1】 設定された文章入力領域を拡大するに
あたって周辺の他の文章入力領域に対して離散的な複数
個の領域をつけ加えることにより、文章入力領域の集合
体の均衡を保つことを特徴とする文字処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3090742A JPH04218865A (ja) | 1991-04-22 | 1991-04-22 | 文字処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3090742A JPH04218865A (ja) | 1991-04-22 | 1991-04-22 | 文字処理方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP55135547A Division JPS5760383A (en) | 1980-09-29 | 1980-09-29 | Character processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04218865A true JPH04218865A (ja) | 1992-08-10 |
Family
ID=14007040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3090742A Pending JPH04218865A (ja) | 1991-04-22 | 1991-04-22 | 文字処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04218865A (ja) |
-
1991
- 1991-04-22 JP JP3090742A patent/JPH04218865A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0143338B2 (ja) | ||
US5276792A (en) | Word processor permitting modification of a preset frame | |
JPH0324701B2 (ja) | ||
JPH0361198B2 (ja) | ||
JPH0361197B2 (ja) | ||
JPH04218865A (ja) | 文字処理方法 | |
JPH04218866A (ja) | 文書処理装置 | |
JPH0143339B2 (ja) | ||
JPH0254588B2 (ja) | ||
JPH0427586B2 (ja) | ||
JPH0254589B2 (ja) | ||
JPH0427585B2 (ja) | ||
JPH05250352A (ja) | 文字処理方法 | |
JPS58129676A (ja) | 文字処理装置 | |
JPH038065A (ja) | 文字処理装置 | |
JPH0254590B2 (ja) | ||
JP3035126B2 (ja) | 情報処理装置 | |
JP2794409B2 (ja) | 罫線作成装置 | |
JP2831318B2 (ja) | 編集装置 | |
JPH0314066A (ja) | 読み文字表示、編集方式 | |
JP3143503B2 (ja) | 画像処理方法及び装置 | |
JP2698348B2 (ja) | 文字処理装置 | |
JPH0573548A (ja) | 文書整形装置 | |
JPS59229684A (ja) | 文字処理装置 | |
JPH0736641A (ja) | 文書編集装置 |