JPH0254589B2 - - Google Patents

Info

Publication number
JPH0254589B2
JPH0254589B2 JP56010712A JP1071281A JPH0254589B2 JP H0254589 B2 JPH0254589 B2 JP H0254589B2 JP 56010712 A JP56010712 A JP 56010712A JP 1071281 A JP1071281 A JP 1071281A JP H0254589 B2 JPH0254589 B2 JP H0254589B2
Authority
JP
Japan
Prior art keywords
indent
cursor
block
data
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP56010712A
Other languages
English (en)
Other versions
JPS57125481A (en
Inventor
Katsumi Masaki
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP56010712A priority Critical patent/JPS57125481A/ja
Publication of JPS57125481A publication Critical patent/JPS57125481A/ja
Publication of JPH0254589B2 publication Critical patent/JPH0254589B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)

Description

【発明の詳細な説明】
本発明は文章の編集処理を行なう文字処理装置
に関する。 従来罫線を部分パターン化し、文字と同等の取
扱いを行うことによつて罫線付の文書データ等を
作成し、プリント等に出力する装置があつた。 しかしながら罫線部分パターンの連らなりをデ
ータとして作成するにあたつては部分パターンの
数に相当するだけの複数個の入力手段が必要であ
つたり、あるいは罫線の始点と終点とを指定し、
それを部分パターンの連らなりデータに変換する
といつた操作が必要であつたりした。 上述の装置にあつては罫線を部分パターン化
し、その性質は文字情報と同等と見なされるた
め、罫線近傍に文字等の挿入、削除を行うなら
ば、折角一度入力した罫線部分パターンはその配
置が大く乱れてしまう。従つて、一度罫線を作成
した後は、もはや、罫線以外の文字列であつても
挿入、削除は行えなくなつてしまうという欠点が
あつた。 また従来、あらかじめ設定された特定枠内に文
字等を入力し編集を行うことのできる文字処理装
置があつた。例えば新聞のコラムの電算機による
入力編集システム等はその例である。かかる固定
化された枠組みの大きさを変更しうるようにする
ために本出願人は文字処装置(特願昭55−135543
号)において枠組みされた領域に対しての文字処
理を可能とし、かつ一度設定された枠組みの拡
大、縮小を可能とした。 しかしながら、該文字処理装置にあつては、枠
組みを形成するために用いられる枠組みマークと
枠組みマークにより形成される枠組みとの間の関
係において不明確な部分があつた。そのためやや
もすると、オペレータが枠組みの大きさを変えよ
うとした時、オペレータが意図しないことが発生
したり、あるいは、同じように見える枠組みであ
つてもその枠組みの大きさを変えようとした時、
その枠組みが異なつた変わり方をすることもあつ
た。もう少し具体的に以上述べたことを第32図
を用いて説明する。第32図a,bは、前述の文
字処理装置(特願昭55−135543号)において実現
することのできる文字処理の例である。ここでは
枠組みが左マージンマーク“”、右マージンマ
ーク“”、インデントマーク“◇によつて形造
されている。ここでの枠組みの定義以下は以下の
ようになつている。 左右方向:インデントマーク、左マージンマー
ク、右マージンマーク等で囲われる最
も小さい領域 上下方向:1 左右マージンマークのみで枠組
みされている行の場合 Γ文字等情報(スペースコードは除
く)又はカーソルが存在している
行が連続して続く範囲 2 インデントマークのみあるいはインデントマ
ークと左右マージンマークで枠組みさ
れている行の場合 Γ左右マージン・インデントが桁方
向において同一に設定されている
範囲 従つて第33図a,bに示す。一点鎖線の領域
が枠組みと認識され処理されることになる。その
ため、内同じように文字が入力されていても第3
2図aとbとでは枠の形態が異なることになり従
つて文字処理装置(特願昭55−135543号)によつ
て枠の縮小を行なおうとすると第33図a,bの
右図のようになり両者においてその形態に相違が
発生することになる。 従つて操作者に対し、多少の混乱をまねく恐れ
のあるものであつた。 また従来あらかじめ設定された領域内(特定枠
内)に文字等を入力し編集を行うことのできる文
字処理装置がある。例えば新聞のコラム等はこの
例である。かかる固定化された枠組みの大きさを
変更しうるようにするために本件出願人は特願昭
55−135543号の文字処理装置において枠組みされ
た領域に対して文字処理を可能とし、かつ一度設
定した枠組み拡大、縮小を可能とした。 しかながら、前記枠組みを拡下するにあたつて
は、該枠組みが拡大する方向に隣接する枠組みの
縦方向の長さが等しいということが件となつてい
た。 このため枠組み拡大にあたつての制限があつ
た。 また従来あらかじめ設定された特定枠内に文字
等を入力し、編集を行うことのできる文字処理装
置がある。例えば新聞のコラム等はこの例であ
る。かかる固定化された枠組みの大きさを変更し
うるようにするために本件出願人は特願昭55−
135543号の文字処理装置において枠組みされた領
域に対しての文字処理を可能とし、かつ一度設定
した枠組みの拡大、縮小を可能とした。 しかしながら、前記文字処理装置は、枠組みの
拡大に伴い、発生するであろう拡大された領域の
文字列に対する配慮が一切行なわれていなかつ
た。 従つて、枠の拡大に伴つて発生する枠外の文字
列に消失が発生することがあり得た。 また従来あらかじめ設定された枠内に文字等を
入力し、編集を行うことのできる文字処理装置が
あつた。かかる文字処理装置において、入力時に
ミスが発生したような場合あるいは、一度入力し
たデータを再度入力し直したいような場合、例え
ば表示装置の画面上に表示されているカーソルを
カーソルシフトキーを用い該当位置に戻し、再度
入力をしなおすことが行なわれていた。 しかしながら該当位置にカーソルを戻すにはカ
ーソル左シフトキー、カーソル右シフトキーカー
ソル上シフトキー、カーソル下シフトキー等を適
宜用いる必要が有つた。 又、これらのカーソルシフトキーは、どれも枠
組みとは対応ずけられておらず操作者がその枠組
みを認識しながら該当位置をさがし、カーソルを
該当位置に移動する必要が有つた。 また従来例えば作表された枠内に文字等を入力
することのできる装置があつた。例えば英文タイ
プライターにおいては、文字等を入力するたびに
印字位置が横に前進していくことにより順次入力
が可能であつた。あるいは又、英文ワードプロセ
ツカのごとく、文字等を表示画面上で自由に入力
することのできる装置があつた。 しかしながら、これらの装置であらかじめさだ
められた枠内(例えば作表された枠)に入力しよ
うとすると、カーソルの動きに十分注意しなけれ
ばならなかつた。即ちカーソルは、あらかじめ定
められた枠とは関係なしに次々に進むため、枠を
はみだしてしまうときにはそのたびにカーソルを
所定の位置に移動しなければならなかつた。 本発明の目的は上述の点に鑑み、改良した文字
処理装置を提供することにある。 本発明の他目的は、罫線の部分パターンを容易
に入力できる文字処理装置を提供することにあ
る。 本発明の他の目的は、一つの特定パターン(特
定コード)を入力する手段を設け、該入力手段に
よつて造られた同一パターンの繰り返し模様を周
囲の状況を判断しながら、罫線部分パターン自動
的に変換しようとする文字処理装置を提供するこ
とにある。 本発明の他の目的は、同一パターン繰り返し模
様を罫線部分パターンに変換するにあたつて変換
すべき領域を指定できるようにすることにより、
画一的でないより、自由度に富んだ文字処理装置
を提供することにある。 本発明の他の目的は、同一パターンの繰り返し
模様を罫線部分パターンに変換するにあたつて変
換すべき領域にある一定の規則を設けることによ
つて画一的でない、より自由度に富んだ文字処理
装置を提供することにある。 本発明の他の目的は、一度罫線を入力した後で
も該罫線に近傍する文字列に対し、挿入あるいは
削除を行なうことができ、時には前もつて該罫線
部分パターンを入力編集領域を規定するインデン
トマークに変換でき、一度インデントコードに変
換された後インデントコードによつて規定される
領域内のあゆる文字列に対し、自由に挿入、削除
等の編集処理を行うことのできる文字処理装置を
提供することにある。 本発明の他の目的は、前述のごとく一度インデ
ントコードに変換された罫線部分パターンコード
を再び罫線部分パターンコードに変換し得る文字
処理装置を提供することにある。 本発明の他の目的は明確で解かりやすくする枠
組を設定できる文字処理装置を提供することにあ
る。 本発明の他の目的は枠組みを認識する手段を設
けることにより、明確で解かりやすい枠組みを設
定できる文字処理装置を提供するものである。 本発明の他の目的は、枠組み拡大により自由度
を与えた文字処理装置を提供することにある。本
発明の他の目的は枠組みを拡大するにあたつて枠
組みを拡大する方向に隣接する枠組みの縦サイズ
が拡大しようとしている枠組み縦サイズより大き
いならば、前記隣接する枠組みの一部を拡大しよ
うとしている枠組みに組み入れることにより該枠
組み拡大を行うことのできる文字処理装置を提供
することにある。 本発明の他の目的は、枠組みを拡大するにあた
つて枠外の文字列の消失を防止する文字処理装置
を提供することにある。 本発明の他の目的は枠組みを拡大するにあたつ
て枠外の文字列の喪失が発生する恐れが有る時そ
れを未然に防止する文字処理装置を提供すること
にある。 本発明の他の目的は、よりスムーズな入力を可
能とする文字処理装置を提供することにある。 本発明の他の目的は一度先に進んだカーソルを
元に戻すにはあらかじめ設定されたにそつてカー
ソルを戻すキーを押すだけで良い文字処理装置を
提供することにある。 本発明の他の目的は、あらかじめ設定された枠
にそつてカーソルを後退させる手段を有する文字
処理装置を提供することにある。 本発明の他の目的は、スムーズな枠内への入力
を可能とする文字処理装置を提供することにあ
る。 本発明の他の目的は、あらかじめ定められた枠
内への文字を入力するにつれ、入力位置を指し示
すカーソルを枠内にそつて歩進させる文字処理装
置を提供することにある。 本発明の他の目的は、仮名漢字変換入力のよう
に一度に複数の文字列を入力するような場合にあ
つても枠内への入力が可能である文字処理装置を
提供することにある。 本発明による他の目的は以下図面を参照して行
なわれる実施例の説明より明らかとなるであろ
う。 次に本発明による実施例を述べる前に本実施例
で用いられる用語をまず行なう。 1 インデントコードInd CRT上に‘◇’のマークで表示される。文
字等をキーボードから入力するにあつたて、あ
らかじめこのインデントコードより、枠組みが
作られる。 2 左マージンマークコードLMM CRT上に‘’のマークで表示される。キ
ーボードから入力可能な最左端を表示する。 3 右マージンコードRMM CRT上に‘’のマークで表示されるキー
ボードから入力可能な最右端を表示する。 4 インデントブロツクInb インデントマーク、左マージンマーク、右マ
ージンマーク等で枠組みされた領域をさす。正
しくは、次のように定義される。 左右方向:インデントマーク、左マージンマー
ク、右マージンマーク等で囲われる最
も小さい領域 上下方向:マージン、インデントの設定位置が
同一である範囲。インデントブロツク
の定義を換言するならば、インデント
マークあるいは左マージンマーク、あ
るいは右マージンマークによつて囲ま
れる横方向で最も小さい領域が段差な
く上下に続く領域である。 第2図a,b,cはCRT上に表示されるイン
デントブロツクの例を示すものである。 キーボードから入力された文字等はこのインデ
ントブロツクInbという枠内で処理される。この
インデントブロツクInbは作表等のフオーマツテ
イングされた文章を作成する上で重要な役割をは
たす。 本実施例においては、CRT上に表示されたカ
ーソルCMが存在する位置以降に対して、インデ
ントブロツクInbの各種処理を行うため、前述し
た定義によるインデントブロツクInbの内カーソ
ルCMが存在する行以降に対してインデントブロ
ツクInbという表現をしているところがある。 5 枠組コード インデントコードInb、左マージンコード
LMM、右マージンコードRMMの3種のコー
ドの総称。これらのコードは、枠組パターン
,,◇と対応ずけられる。(第3図a参照)
枠組みは下記により定義される。 左右方向:インデントマーク、左マージンマー
ク、右マージンマーク等で囲われる最
も小さい領域 上下方向:マージン、インデントが桁方向に同
一である状態が連続する範囲。(別の
言い方をすると、段差なくマージンあ
るいはインデントが上下に続く範囲) 第33図b,cに上記定義よる枠組みの例を示
す。一点鎖線で囲われた領域が枠組みであり、こ
の定義によれば、前述のような枠組みの判断にお
ける混乱を解消できることになる。 6 罫線コード 罫線部分パターンを図形文字としてコード化
したもの。第3図aで示す如く、11種の罫線パ
ターンが罫線コードと対応づけられている。 次に本発明による1実施例による概要を説明す
る。 実施例に示す装置はキーボード、処理部の表示
装置及びプリンタから成る。 すべての操作はキーボード上にある文字キーあ
るいはフアンクシヨンキーにより実行する。 まずイニシヤライズキーによりすべての状態を
初期化し、本実施例の各機能が実行可能な状態と
なる。 イニシヤライズキーを押すことにより、表示装
置上には、左右マージンマークLMM,RMMが
表示され、他はすべてクリアされる。カーソル
CMは、最上行の第2コラム目に位置し、キーボ
ードからの文字等の入力が可能となる。入力モー
ドである挿入とオーバーライトとの選択は、挿入
キーあるいはオーバーライトキーを用いることに
より行う。キーボードから入力された文字等は、
挿入モードあるいはオーバーライトモードに於い
て、表示装置上でカーソルCMが表示されている
位置に入力される。カーソルCMはキーボードか
らの文字等の入力に従つて、1つずつ歩進する。
入力を行つたとき、削除キーを用い削除すことが
でき、その場合後続する文字列は1つずつ前につ
められる。削除しようとする文字はカーソルCM
で指定する。カーソルCMはカーソルキーにより
1つずつ歩進させることができる。入力が終了し
た文字列はプリントキーを押下することによりプ
リンタに出力させることができる。以上説明した
入出力制御は公知の技術で容易に実現することが
できる。 以下本発明における機能についてその操作方法
を述べる。 まずインデントブロツクInbを形成する方法に
ついて述べる。インデントブロツクInbは、イン
デントキーを用い表示装置上にインデントマーク
Indをオーバーライト又は挿入することにより形
造ることができる。一度インデントブロツクが出
来上つた後は、キーボードから入力された文字等
の情報は、すべてこのインデントブロツクInb内
で処理されることになる。これにより、作表等の
フオーマツテイングされた文章の作成は、容易に
行えるようになる。又このインデントブロツク
Inbは横方向に自由に拡大、縮小ができる。この
様子を第4図a,b,cを用い説明する。 第4図aのように、インデントブロツク内に複
個の文字が既に入力されていたとする。カーソル
キーを用いカーソルCMを第1行目第8桁目の位
置、即ち、Bの位置に移動した上でインデント右
移動キーを押下すると、カーソルCMが存在した
インデントブロツクは、横方向に縮小され、その
分縦方向に拡大され、第4図bのようになる。次
に第4図bのようにカーソルCMをインデントマ
ークIndの位置におきインデント右移動キーを押
下すると、カーソルCMの位置より左側に数えて
2番目のインデントブロツクInbが拡大し第4図
cのようになる。 即ち第4図aにおいてインデント右移動キーを
1回押下すると、第4図bのようになり、第4図
aにおいてインデント右移動キーを2回押下する
と第4図cのようになる。 第4図bのようにカーソルCMをインデントマ
ークIndの位置におき、インデント右移動キーを
押下した時のことをもう一度考察する。この例に
おいてはカーソルのすぐ左側に存在するインデン
トブロツクはすべてスペースコードであつた。従
つてカーソルの位置より左側に数えて2番目のイ
ンデントブロツクが拡大してもそれによつて喪失
する文字(スペースは除く)は存在しない。しか
しながら、カーソルのすぐ左側に存在するインデ
ントブロツクに既に文字が存在している場合も有
る。この時にはカーソルの位置より左側に数えて
2番目のインデントブロツクが拡大すると文字等
の喪失が発生することが起こり得る。そこで、文
字等(スペースコードを除く)の喪失が発生する
可能性が有る時はインデントブロツクの拡大は行
なわず、文字等(スペースコードを除く)の喪失
が発生する可能性のない時、インデントブロツク
の拡大を行うものとする。 第4図b,cにおいてインデントブロツクの拡
大は、関係する二つのインデントブロツクの縦サ
イズが等しい時における例であるが、さらに第3
5図a,bに関係する二つのインデントブロツク
の縦サイズが異なる場合の例を示す。この場合拡
大するインデントブロツクInb1の縦サイズより
拡大を受けるインデントブロツクInb2の縦サイ
ズの方が大きいために、インデントブロツクInd
1の拡大によつて影響を受けるインデントブロツ
クはインデントブロツクInb2に限られることに
なり、インデントブロツクInd2内に有効情報
(本実施例においてはスペースコード以外の情報)
が存在しない限り、インデントブロツクInb1の
拡大は可能である。しかしながらもし、拡大する
インデントブロツクの縦サイズ(行方向の大き
さ)が拡大を受けるインデントブロツクの縦サイ
ズより大い時は、拡大を受けるインデントブロツ
クは複数個となるため、処理が複雑となるためそ
の処理は行なわないものとする。 インデント左移動キーを用いて、インデントマ
ークIndの移動を行つた時も以上の説明と類似の
動作を行う。 次にインデントブロツクInb内に文字等の入力
を行つた時について第5図a,b,cを用い説明
する。第5図aのように、インデントブロツク
Inb内に文字等が入力され、カーソルCMがイン
デントブロツクUnbの最後に位置していたとす
る。第5図aにおいて文字‘L'をオーバーライト
モードで入力したとすると、第5図bのようにな
る。即ちインデントブロツクは縦方向(矢印A)
に自動的に拡大され、次に入力される文字等に対
する格納エリアの準備を行う。第5図bでさらに
‘MNOP'と入力を続行すると第5図cのように
さらに同じ拡大を続ける。 第5図bで、さらにインデントブロツクを拡大
しようとすると、下方に隣接するインデントブロ
ツクInbを1行ずつ下方にずらさねばならなくな
る。第5図cがその例である。 次にインデントブロツク内の文字の削除方法に
ついて説明する。第6図aのようにインデントブ
ロツクInb内に文字が入力され、カーソルCMが
‘W'の下に位置していたとする。削除キーを押
下することにより、以下に続く文字は1つずつ前
につまる。その結果今まで‘Y'という文字が存
在していた行はスペースコード、左マージンコー
ド、右マージンコード、インデントコードのみか
ら成る行となつてしまう。本実施例においては該
行Lを自動的に削除し、以下に続く行をすべて1
行ずつ繰り上げるものとする。第6図bがその結
果である。 次にインデントマークIndを削除する方法につ
いて述べる。 一つは削除キーを用いる方法であり、インデン
トマークはスペースコードに置きかわる。 次にインデントマークと罫線パターンとの切換
機能について説明する。今第3図bのようにイン
デントブロツクInbが形成されているとする。こ
こでインデント罫線変換キーを押下すると、第3
図cの如く、変換される。又第3図cにおいて罫
線インデント変換キーを押下すると第3図bの如
く変換される。このようにしてインデントマーク
Indと罫線パターンRPMとの相互変換が可能とな
る。この機能を用いることにより、インデントマ
ークIndで枠組みされた領域に文章を入力し、然
る後罫線パターンに変更するならば、極めて容易
に罫線パターンKPMを有する文章を作成するこ
とができる。これは、作表する上で非常に便利で
ある。 インデントマークの罫線パターンへの変換は上
述の如く、罫線インデント変換キーを用いればワ
ンタツチで行うことができる、インデントマーク
が罫線パターン変換される範囲は、下記の如く規
定される。 即ちカーソルが存在する行以降、インデントマ
ークが存在する行が連続して続くところまでの範
囲とする。これによつてより単純なインデントマ
ークの連らなりから複雑な罫線パターンの連らな
りに変換することがきる。第34図にその例を示
す。 第34図aにおいてカーソルを第2行の位置に
持つてきてインデントマークを罫線パターンに変
更すると第34図cが得られる。一方第34図a
においてカーソルを第6行の位置に持つてきてイ
ンデントマークを罫線パターンに変更すると第3
4図bが得られる。さらに第34図bにおいてカ
ーソルを第2行目に持つてきてインデントマーク
を罫線マークに変換するならば、第34図cが得
られる。このようにインデントマークを罫線パタ
ーンに変更するにあたつて、カーソルによつて範
囲指定を行うことができるので、より自由な罫線
パターンが得られる。さらにはインデントマーク
を罫線パターンに変換する最終領域をインデント
が存在する行が連続して続くまでの範囲と規定し
たため、やはり、より自由な罫線パターンを得る
のに役立つている。 一方一度インデントマークを罫線パターンに変
換した後罫線パターンが存在る近傍に文字等の入
力を行つたり、挿入削除等の編集を行うならば、
折作つた罫線パターンの配列に乱れが発生するこ
とになる。そこで、一度罫線パターンに変換した
文書に対し入力あるいは編集を行なおうとする時
は、罫線インデント変換キーにより再び罫線パタ
ーンをインデントマークに変換した後行うように
する。 第3図dに具体的にインデントパターンを罫線
パターンに変更する時の対応テーブルを示す。な
お本実施例においては、文字の入力、インデント
の移動削除、キヤリツジリターンキー入力等の機
能を実行させるにあたつて、カーソルがインデン
トブロツク単位でキヤリツジリターンコードが存
在する行の右側に位置させることはないものとす
る。 以上入力編集を行つた文書は、プリントキーを
押すことによりプリンタに出力される。 第1図は、本発明よる文字処理装置の一実施例
を示すブロツク図である。以下各構成要素を説明
する。KBは文章入力用キー(例えばJIS鍵盤に
配列されているキー群)及び本装置にそなわる
種々機能を実現するためのフアンクシヨンキー群
より成るキーボードである。上記フアクシヨンキ
ー群は下記のフアクシヨンキー即ち、インデント
を設定するためのインデントキー、インデントを
右方向に移動するためのインデント右移動キー、
インデントを左方向に移動するためのインデント
左移動キー、これから入力する文字の挿入、削
除、オーバーライトを指示するための挿入キー、
削除キー、オーバーライトキー、CRT上のカー
ソルを移動するためのカーソルキー、カーソルを
インデントブロツク単位に逆方向に移動させるバ
ツクスペースキー、仕事の開始を指示するイニシ
ヤライズキー、改行を指示するキヤリツジリター
ンキー、インデントマークを罫線マークに変換す
るインデント罫線変換キー、罫線マークをインデ
ントマークに変換する罫線インデント変換キー及
びプリントを指示するプリントキーから成る。キ
ーボードKBはエンコーダ機能を有し、後述する
処理部CPUにより打鍵されたキーの情報が読み
取られる。 CRはカーソルレジスタである。後述する処理
部CPUにより、カーソルレジスタCR内容を読
み、書きすることができる。後述するCRTコン
トローラCRTはここに蓄えられたアドレスに対
応する表示装置CRT上の位置にカーソルを表示
する機能を有する。カーソルレジスタCRに蓄え
られる情報は1〜128までのシリアルナンバーと
し、CRTコントローラCRTCは、このシリアル
ナンバーを行数、桁ナンバーに変更し、表示する
ことになる。 WBはワークバツフアで、インデントブロツク
Inb内の情報を一時的に蓄えるためのバツフアで
あり、バツフアのヘツダ部には7Wのパラメータ
が配置される。容量は16×9W+aの大きさとす
る。後述の処理部CPUにより自由に読み、書き
できる。 DBuFはデータバツフアで、キーボードKBよ
り入力された文章情報を蓄えるためのメモリであ
り、後述するCRTコントローラCRTCによつて
ここに蓄えられた情報が表示装置CRT上に表示
される。表示装置CRT用のリフレツシユメモリ
として使用される。CPUにより自由に読み書き
できるものとする。データバツフアDBuFは16×
9Wの容量を有し、そのうち前半の16×8Wのみが
表示装置CRT上に表示されるものとする。 CRTCはCRTコントローラでデータバツフア
DBuFに蓄えられた情報に従つて文字等を表示装
置CRTに表示し、カーソルレジスタCRに蓄えら
れた情報に従つて表示装置CRT上にカーソルを
表示するコントロールを行う。 文字等の表示は横16文字、縦8行の表示とし、
データバツフアDBuFの内容と順に対応づけられ
ているものとする。 文字等の表示にあたつては、後述するキヤラク
タジエネレータCGを参照し、文字コードを文字
パターンに変更することを行う。具体的方法は公
知である。 CRTは表示装置であり、CRTコントローラ
CRTCにより文字とカーソルを表示できる。 CGはキヤラクタジエネレータであり、表示装
置CRTへの文字表示やプリンタPRTへの文字出
力のために使用される。CRTコントローラ
CRTC、及び後述するプリンタコントローラ
PRTCにより用いられる。 PRTCはプリンタコントローラであり、後述す
る処理部CPUからの文字コード情報をキヤラク
タジエネレータCGを参照することによりパター
ンに直し、該パターンをプリンタPRTに出力す
る。 プリンタコントローラPRTCは、罫線コードを
罫線パターンに変換し出力することができる。好
ましくはパターン出力にあつて行間、文字間をも
連続する直線でうめる機能を有していた方がなお
一層望ましい。 PRTはプリンタであり、プリンタコントロー
ラPRTCからの情報に従つて文字等をプリントア
ウトする。 CPUはマイクロプロセツサであり、演算、論
理判断等を行う。後述する。AB,CB,DBをコ
ントロールする。 ABはアドレスバスで制御対象を指示する信号
を転送する。 CBはコントロールバスで各種制御対象に制御
信号を印加するものである。 DBはデータバスで各種データを転送する。 ROMは制御メモリで、第図以降に示す制御手
順等を記憶するものである。 RAMはランダムアクセスメモリで、各種デー
タの例えばキヤリツジリターンフラツグCRFG、
オーバライトフラツグOWFG,新データ行数レ
ジスタNDLカーソルセーブレジスタCSR一時記
憶に用いられる。 次に本実施例の動作説明を行う。 本実施例は、電源投入時に自動的にキーボード
処理が動作するように構成されているものとす
る。以下各処理につき具体的に第8図以降のフロ
ーチヤートを参照し、説明を行う。 まずキーボードKB上のキーが操作されると以
下の順序に従つて操作キーが判別され、それぞれ
のキーに対する処理が行なわれ、キー待ちの状態
となる。 ステツプKBIでキーボードKBから入力があつ
たかを判別する。入力がなければ、キー待ちにも
どり、入力があればステツプKB2に移りキーボ
ードKBからのデータを取り込む。ステツプKB
3で、取り込んだデータがキヤリツジリターンキ
ーか否かを判別する。YESであれば、キヤリツ
ジリターン入力処理を行ない、ステツプKB5で
フラツグCRFGを1にセツトし、キー待ちにもど
る。一方ステツプKB3でNOであれば、ステツ
プKB6でフラツグCRFGをOにリセツトし次の
キー判別ステツプに移る。ここでステツプKB4
のキヤリツジリターンキー入力処理についてさら
に述べる。 第8図はキヤリツジリターンキー入力処理につ
いての詳細を示す図である。かかる処理の各ステ
ツプの処理を以下に示す。 ステツプ4.1 CR FGセツトされているか ステツプ4.2 現カーソル位置はインデントマ
ークのすぐ右隣か? ステツプ4.3 現カーソル位置のすぐ左隣のイ
ンデントマークをスペースコードに
変更する。 ステツプ4.4 カーソルを現カーソル位置より
左に存在しかつ最も近いインデント
マークあるいは左マージンマークの
直ぐ右隣の位置に移動させる。(カ
ーソルを移動させるにはカーソルレ
ジスタに該当数値を記入する。) ステツプ4.5 文字キー入力処理16 上述の如く本発明に於いてはキヤリツジリター
ンキーにより枠組の変更を行なうようにしている
が、他のキーにその機能をみたせるようにしても
良い。 ここで再び第7図のキーボード処理の説明に移
る。 ステツプKB6でフラツグCRFGをリセツトし
た後、ステツプKB7に移り、インデントキーが
操作されたかを判別する。YESであれば、ステ
ツプKB8のインデントキー入力処理を行なう。
即ちインデントマークを現カーソルが存在する位
置に書き込む。かかる処理が終了すれば、キー待
ちにもどる。 第9図はインデントキー入力処理についての詳
細を示す図である。各ステツプの処理を以下に示
す。 ステツプ8.1 現カーソルが存在している位置
に対応するデータバツフアDBuF内
の位置にインデントコードを書き込
む ステツプ8.2 カーソルを一つ歩進させるため
にカーソルキー入力処理(14)を行
う。詳細は後述する。 ここで再び第7図のキーボード処理の説明にも
どる。ステツプKB7でNOであれば、ステツプ
KB9に移り、オーバライトキーが操作されたか
を判別する。キー操作があれば、ステツプKB1
0でオーバライトフラツグOWFGを1にセツト
し、(第10図)キー待ちにもどる。もしNOで
あれば、ステツプKB11に移り、挿入キーが操
作されたかを判別する。 YESであれば、挿入キー入力処理を行なう。
即ち、オーバライトフラツグOWFをリセツトし、
(第11図)キー待ちに移る。 NOであれば、ステツプKB13に移り、カー
ソルキーが操作されたかを判別する。YESであ
れば、ステツプKB14(第12図)に移り、カ
ーソルCRT画面上順次歩進させる。なおカーソ
ルが最終行最終桁に来た時、左上の位置に再び戻
す。 かかる処理は以下のステツプで行なう。 14.1 カーソルレジスタCRインクメント 14.2 カーソルレジスタCRの値は128を越え
るか? 14.3 カーソルレジスタCRの値は1にする
かかる処理が終れば、キー待ちにもど
る。もしNOであれば、ステツプKB1
5に移る。かかるステツプで文字キーが
操作されたかを判別し、YESであれば、
ステツプKB16(第13図a)に移り
以下の制御を行なう。 16.1 現カーソルの位置にインデントマー
ク、左右マージンマークは存在するか? 16.2 インデントブロツクSAVE処理 16.3 オーバライトモードか? (オーバライトフラツグ参照) 16.4 オーバライト処理 16.5 挿入処理 16.6 インデントブロツクRESTORE処理 上述の各ステツプは以下の内容を行なつてい
る。 16.1 文字キー入力処理はカーソルがインデ
ントブロツク内に存在している時のみ有
効とする。即ち、インデントマーク及び
左右マージンマークの位置にカーソルが
ある時は本処理は無処理とする。 16.2 入力処理はすべてワークバツフアWB
内で行うためカーソルが存在するインデ
ントブロツク内情報をすべてワークバツ
フアWB内に移す。(但し処理はすべて
カーソルが存在する行より後とする。又
その際ワークバツフアWBのHEADER
部に各種パラメータを設定しておく。 16.3〜16.4 オーバーライトモードであ
るならワークバツフアWB内でオーバー
ライト処理を行う。 16.5 挿入モードであらならワークバツフア
WB内で挿入処理を行う。 16.6 文字入力処理を終了したワークバツフ
アWB内の情報をもとのインデントブロ
ツクにもどす。 上述の処理をさらに説明する。 第13bは文字のオーバライトの例である。1
6.0で示す図をデータバツフアDBuF内の初期
状態とする。ここでは紙面の都合で横8桁、縦4
行のデータバツフアDBuFが表示装置CRTに表
示されている様子を示している。16.2のステ
ツプを実行したのが16.2で示すデータバツフ
アDBuFとワークバツフアWBの様子である。デ
ータバツフアDBuF内のデータは、ワークバツフ
アWBに移されている。次にステツプ16.4に
よるオーバライト処理により、ワークバツフア
WB内でのオーバライト処理が行なわれる。1
6.2と16.4で示すワークバツフアWB内の
違いは文字Cの後ろに文字Dが加わつたことワー
クバツフアWBの第1W(DATA LENGTH)が
インクリメントされたこと、ワークバツフアWB
の第4W(カーソルアドレス)がインクリメンされ
たことである。ステツプ16.4はワークバツフ
アWBに蓄えられた情報が欠落なく該当インデン
トブロツクにすべてもどせるか否かを判断する。
この場合16.0で示すインデントブロツクの容
量が2characterでありワークバツフアWBに蓄え
られている情報量はカーソルが移動したために
3characterに増加している。そのためインデント
ブロツクを縦方向に拡大し、ワークバツフアWB
内の情報がすべて格納できるようにしたのが1
6.4で示すデータバツフアDBuFの様子であ
る。ステツプ16.6では、拡大されたインデン
トブロツクにオーバライト処理後のワークバツフ
アWBの情報をすべてもどすことを行う。16.
6で示す図がその様子を示している。 上述の処理に於いてステツプ16.2のインデ
ントブロツクセーブ処理について第14図aを用
いてさらに説明する。かかるステツプは以下の事
を行なう。 16.2.1 ワークバツフアWBのデータ格納
エリアをすべてスペースコードでうめ
る。 16.2.2 カーソルが存在するインデントブ
ロツク内のカーソルが存在する行以降の
データバツフアDBuFの内容を、ワーク
バツフアWBに移す。(但し、キヤリツ
ジリターンコードに続くスペースコード
は除く) 16.2.3 インデントブロツクをすべてスペ
ースコードで埋める。 16.2.4 ワークバツフアWBのHEADER
部に下記のパラメータを記入する。 1 ワークバツフアWBに書き込んだデータの長
さ。 但しカーソルが存在する位置までは必る含め
るものとする。 2 該インデントブロツクの横巾 3 インデントブロツク縦巾(インデントブロツ
クの行数) 4 カーソルレジスタに対応するワークバツフア
内のアドレス 5 該インデントブロツクの先頭のデータバツフ
アDB上での桁ナンバー 6 該インデントブロツクの先頭のデータバツフ
アDB上での行ナンバー 7 データ行数(縦巾から最後に連続して続くス
ペース行数を除く) 上述の各ステツプは以下の目的を有する。 16.2.1 ワークバツフアWBをスペースコ
ードでイニシヤライズする。 16.2.2 インデントブロツク内の情報をワ
ークバツフアWBに移す。 16.2.3 移し終わつた後のインデントブロ
ツクはすべてスペースコードで埋める。 16.2.4 該インデントブロツクの特徴をす
べてワークバツフアWBのHEADER部
に記入しておく。このHEADER部のパ
ラメータは各種処理においてワークバツ
フアWBの内容に変更を加えた時に、同
時に変更され又、ワークバツフアWBの
内容をデータバツフアDBuFに戻す時に
役立つものである。 上述のステツプ16.2.2はさらに次のステ
ツプに分かれる。(不図示) 16.2.2.1. カーソルが存在するインデ
ントブロツクの範囲を認識する。(認識
は下記のようにして行う。現カーソルが
存在している行を本処理におけるインデ
ントブロツクの先頭行とする。現カーソ
ルをはさむ現カーソルに最も近いインデ
ントマークあるいは左右マージンマーク
をさがし、それを該インデントブロツク
の横方向範囲とする。第1行目の横方向
範囲が段差なく縦方向(行方向)に続く
までを該インデントブロツクの縦方向の
範囲とする。以上のようにして該インデ
ントブロツクの形状を認識する。インデ
ントブロツクの範囲の認識は後述するイ
ンデントブロツクを扱う処理において、
そのたびに利用するが、そこでの説明は
省略する。) 16.2.2.2. ステツプ16.2.2.1
で認識されたインデントブロツク内の情
報をワークバツフアWBに移す 第14図bは、本処理における例を示すもので
ある。16.2.4においてワークバツフアにセ
ーブするパラメータは次の通り。 第1W データの長さ ワークバツフアに書き込んだデータの長さ。
但し、キヤリツジリターンコードに続くスペー
スコードは除く。又該インデントブロツクの最
後に続く、スペースコードも除く。又カーソル
が存在している位置は例えそこにスペースコー
ドが存在していても、スペースコード以外のコ
ードがそこに存在していると見なすものとす
る。 第2W 横巾 該インデントブロツクの横巾 第3W 縦巾 該インデントブロツクの縦巾 第4W カーソル 現カーソルが示すDATAがワークバツフア
WBに格納されている位置を示す。最小値1で
あり最大値は第1Wと同じ値となる。 第5W 該インデントブロツクの先頭桁。 該インデントブロツクが存在するデータバツ
フアDBuF上の位置を規定する。 該インデントブロツクの先頭文字がデータバ
ツフアDBuFの何桁目に存在しているかを示
す。 第6W 該インデントブロツクの先頭桁 該インデントブロツクが存在するデータバツ
フアDBuF上の位置を規定する。 該インデントブロツクの先頭文字がデータバ
ツフアDBuFの何行目に存在しているかを示
す。 第7W データ行 インデントブロツク内で、最後に連続し続く
スペース行を除いた縦巾。 但しカーソルが存在している位置に、スペー
スコードが存在していても該位置は文字コード
が存在していると同等と見なす。最小値は1、
最大値は第3Wと同じ値となる。 またステツプ16.4のオーバライト処理(第
15図)の制御手順を以下に示す。 16.4.1 ワークがバツフアWB第4W(カー
ソル)の示すワークバツフアWB内
DATA位置にオーバライトすべき
DATAをオーバライトし、ワークバツ
フアWBの第4W(カーソル)の値を更新
する。 16.4.2 ワークバツフアWB第4W(カーソ
ル)の値は、ワークバツフアWBの第
1W(DATA LENGTH)より大きい
か? 16.4.3 ワークバツフアWBの第1W
(DATA LENGTH)の値をワークバツ
フアWBの第4W(カーソル)の値に置き
換える。 上述の各ステツプをさらに説明する。 16.4.1 ワークバツフアWBの該当位置に
データを書き込む。又カーソルを進ませ
るためにワークバツフアWBの第4Wの
値を更新する。 16.4.2〜16.4.3 カーソルの位置が
ワークバツフアWBの第1Wのデータレ
ングより大きい場合には、カーソルの値
即ちワークバツフアWBの第4Wの値を
ワークバツフアWBの第1Wに移す。即
ちカーソルの位置のスペースもデータに
含めてデータレングスを決定するものと
する。 前述のステツプ16.5の詳細を第16図を参
照しさらに説明する。 かかるステツプはワークバツフアWB第4W(カ
ーソル)の示すワークバツフアWB内のデータ位
置に挿入すべきデータを挿入し、ワークバツフア
の第1W(DATA LENGTH)、第4W(カーソル)
の値を更新(+1)する。 かかるステツプによりワークバツフアWB内で
挿入処理を行ない、ワークバツフアWBの第1W
(DATA LENGTH)と第4W(カーソル)との値
をインクリメントする。 次に第13図aに示すインデントブロツク再記
憶処理(リストア処理)16.6をさらに説明す
る。第17図はそれを示す図である。 16.6.1 横巾をワークバツフアWBの第
2Wの値とした時のワークバツフアWB
の第1Wで指定されたDATA量のDATA
を格納するのに必要な行数を求め、それ
を新DATA行数とする。途中CRコード
が存在した時は改行による行数増加を考
慮しなければならない。(新DATA行数
レジスタNDRに新DATA行数をセーブ
する。) 16.6.2 新DATA行数はワークバツフア
WB第3W(縦巾)より大きいか? 16.6.3 インデントブロツク拡大処理 16.6.4 新データ行数レジスタNDRの新
DATA行数は、ワークバツフアWBの第
7W(DATA行数)より小さいか? 16.6.5 インデントブロツク縮小処理 16.6.6 データバツフアDBuF書込み処理 上述のステツプ16.6.1〜16.6.5に
ついてさらに説明する。 16.6.1 ワークバツフアのHEADEF部を
参照してワークバツフアWB内データを
データバツフアDBuFに格納するに必要
な行数を求める。 行数を求めるにあたつてはワークバツ
フアWBの第2Wに格納されているイン
デントブロツク横巾の値を参照する。 又キヤリツジリターンCRコードが存
在した時は改行による行数増加を考慮す
る。 16.6.2〜16.6.3 求めた行数ともと
のインデントブロツクの縦巾とを比較し
て、その行数が縦巾を越える時はインデ
ントブロツクの縦方向の拡大を行つて、
データエリアを確保する。 16.6.4〜16.6.5 求めた行数ともと
のデータの行数(もとのインデントブロ
ツクの縦巾でなく、縦巾から最下行に連
続して続くスペース行の数を差し引いた
もの)とを比較し、その行数がもとのデ
ータ行数を下回る時、その分だけインデ
ントブロツクの縦方向の縮小処理を行
う。 1.6.6.6 新しく作り直したインデントブ
ロツクにワークバツフアの内容を移す。
その際ワークバツフアWBのHEADER
部のパラメータを参照することにより行
う。 上述のステツプ16.6.3のインデントブロ
ツク拡大処理についてさらに第18図aを用いて
説明する。 166.3.1 行挿入処理 16.6.3.2 SPACE行移動処理 16.6.3.3 〔新DATA行数−ワークバ
ツフア第3W(縦巾)〕の大きさの分だけ
繰り返したか? のステツプ制御を行なう。各ステツプの目的は以
下に示す。 16.6.3.1 カーソルが存在している行に
いわゆる行挿入を行なう。この際挿入さ
れる行数DATAは左マージンマーク、
右マージンマークはもちろん伴なつてい
るが、1つ上の行と全く同じようにイン
デントマークがセツトされているものと
する。他はスペースコードが生まつてい
るものとする。 16.6.3.2 行挿入の結果、今まで連続し
て続いていた文字列が切断され、文章と
してのつながりが保てなくなる。そこで
インデント単位に挿入された行以降のデ
ータを1行ずつくり上げることを行う。 16.6.3.3 インデントブロツクを拡大す
る行数分だけステツプ16.6.3.1
と16.6.3.2をくり返す。 上述の処理によるデータの配列を第18図bに
示す。 第18図bは、インデントブロツク拡大処理の
例である。16.6.3.1で示す図では、行挿
入が行なわれた様子が示されており又16.6.
3.2で示す図ではインデント単位に挿入された
スペース行を下にずらした様子が示されている。
16.6.3.2の図でわかるように、結果とし
て、スペース行は、各インデントごとに、ばらば
らの位置に配されることになり、一行にまとまる
ことはなくなる。この結果各インデントブロツク
単位に文章の連続性が保たれた形でインデントブ
ロツクの拡大が行なわれる。 前述のステツプ16.6.3.1の行挿入処理
についてさらに第19図aを用いて説明する。か
かる処理は以下の各ステツプから成る。 16.6.3.1.1 データバツフア内でカー
ソルが存在する行以降すべての行を1行
下げ新しく発生した行にスペースコード
をうめる。 16.6.3.1.1 新しく発生した行に、前
行の左マジンコード、インデントコー
ド、右マージンコートを、同じ位置にコ
ピーする。 上述のステツプにより現カーソルが示す位置に
スペースコードだけから成る行を挿入し、然る後
左マージンマーク、右マージンマーク、インデン
トマークを前行と全く位置に記入する。 前述のステツプ16.6.3.2のスペース行
移動処理についてさらに説明する。かかる処理は
第20図aに示す各ステツプを行なう。 16.6.2.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 右方へ次のインデントブ
ロツクを捜す。 上述のステツプを実行することにより例えばス
テツプ16.6.3.2.1,16.6.3.
2.2,16.6.3.2.6によりインデント
ブロツクごとに左方から順に処理を実行し、すべ
てのインデントブロツクに対して処理が終了する
まで続ける。 ステツプ16.6.3.2.3〜16.6.
3.2.5により各インデントブロツク単位でス
ペース行を、各インデントブロツクの最下行に移
動させる。この処理はインデントブロツク単位で
実行するため、最下行に移動したSPACE行の位
置はインデントブロツクごとに異る。第20図b
に例を示す。 前述のステツプ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
(DATA行数)−新DATA行数〕の大き
さの分だけ繰り返したか? 上述のステツプ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 縮小の必要なだけ縮小を繰り
返す。 前述のステツプ16.6.6のデータバツフア
書き込み処理について第22図を参照して説明す
る。 16.6.6.1 ワークバツフアWBの
HEADER部パラメータに従つてワーク
バツフア内DATAをデータバツフアに
移す。(但し途中にCRコードが存在した
場合改行を行う)インデントブロツクを
オーバした分は捨てさる。 16.6.6.2 ワークバツフアの第4W(カー
ソル)に対応するDATA BUFFER内
アドレスをカーソルレジスタに記入す
る。(但し、その値が128を越える時は1
とする) 上述のステツプ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に記入する。 上述の処理が終了すると第7図に示すステツプ
KB16の文字処理が終了しキー待ちにもどる。
もしNOであれば、ステツプKB17に移り、該
ステツプKB17で削除キーの操作があつたかを
判別する。YESであれば、第23図aに示す削
除キー入力処理制御を行なう。各ステツプの内容
は以下の通りである。 18.1 現カーソル位置にインデントマークは
存在するか? 18.2 現カーソル位置に対応するアドレスの
内容をスペースコードに変更する。 18.3 インデントブロツクセーブ処理(1
6.2) 18.4 削除処理 18.5 インデントブロツクリストア処理(1
66) <注> この処理はカーソルが左右マージン上に
有る時は機能しないものとする。 上述のステツプにより以下の事を実行する。 18.1 カーソルがインデントマーク上にある
時はステツプ18.2カーソルがインデ
ントマーク上にない時はステツプ18.
3へ進む。 18.2 カーソルが存在する位置のコードをス
ペースコードに変更する。 18.3 該インデントブロツクのワークバツフ
アへセーブを行う(16.2) 18.4 ワークバツフア上で削除処理を行う。 18.5 削除処理されたワークバツフアWBの
内容をデータバツフアDBuFに戻す。 第23図bは上述の削除キー入力処理の例であ
る。各処理に対応して処理のステツプ番号が付さ
れている。18.3のインデントブロツクセーブ
処理と18.5のインデントブロツクリストア処
理についてはそれぞれステツプ16.2,16.
6で述べた。18.4がワークバツフアWB上で
の削除処理である。 かかる削除処理は第24図に示す如く3ステツ
プより成り各ステツプを以下示す。 18.4.1 ワークバツフアWB第4W(カーソ
ル)の示す内DATAを削除する。(即ち
該位置以降に存在するDATAをすべて
1つずつ前につめる。 18.4.2 ワークバツフアWB第4W(カーソ
ル)の値と第1W(DATA LENGTH)
の値とは等しいか? 18.4.3 ワークバツフアWB第1W
((DATA LENGTH)を1減ずる。 上述の各ステツプにより以下の事を行なう。 18.4.1 ワークバツフアWB第4Wの示す ワークバツフアWB内のデータを削除
し後続するデータをすべて前へつめる。 18.4.2〜18.4.3 削除処理において
はカーソルの位置は移動しないものとす
る。従つてワークバツフアWB第1W
(DATA LENGTH)の値を、ワークバ
ツフア第4W(カーソル)の値より小さく
ならない範囲で1を減ずるものとする。 上述の処理が終了すれば、キー待ちに移り、
NOであれば、ステツプKB19に移る。ステツ
プKB19でインデント右移動キーかを判別す
る。もしYESであれば、第25図aに詳細を示
すインデント右移動キー入力処理を行なう。 20.1 現カーソル位置をセーブする。 20.2 現カーソルは、インデントコードの位
置にあるか? 20.3 インデントブロツクセーブ処理(1
6.2) 20.4 インデントブロツク横縮小処理 20.5 現カーソルよりさらに左方に別のイン
デントコードが存在し、かつ、現カーソ
ルより左方に隣接してインデントブロツ
クが二つ存在するか否か調べる。 (インデントブロツクを認識する方法は
ステツプ16.2.2.1に説明した通
りである。) 20.6 (ステツプ20.5で認識した二つの
インデントブロツクの内右側は拡大する
方のインデントブロツクであり、左側
は、拡大を受けるインデントブロツクで
ある。)このステツプでは、拡大するイ
ンデントブロツクの縦方向(行方向)の
大きさと拡大を受けるインデントブロツ
クの縦方向(行方向)の大きさとを比較
し、前者が後者より小さいかあるいは等
しいかを調べる。又拡大を受けるインデ
ントブロツクに有効データが存在してい
ないことを調べる。両方とも成立するな
らばステツプ20.7に進む。否ならリ
ターンする。(なお縦方向の大きさを比
較するにあたつては、各インデントブロ
ツクの行数を調べ、かつ、その行数を比
較することにより行う。)又拡大を受け
るインデントブロツク内に有効データが
有るか否かを調べるにはステツプ20.
5で認識した拡大を受ける方のインデン
トブロツク内の情報を先頭から末尾まで
1文字ずつ、有効情報(スペースコード
以外の情報)であるか否かを判断し、1
つでも有効情報が存在したなら、該イン
デントブロツクに有効データが存在した
と判断する。(なお本実施例ではスペー
スコード以外のデータと判断したが、他
のコード例えばデータがそこには存在し
ないことを示すコード以外のコードをす
べて有効データと判断しても良い。本出
願人が既に出願を行なつている文字処理
装置(特願昭54−139556号)における白
紙コードもその一例である。) 20.7 現カーソルを第2のインデントブロツ
クの最左端に移す。 20.8 インデントブロツクセーブ処理(1
6.2) 20.9 インデントブロツク横拡大処理 20,10 インデントブロツクリストア処理
(16.6) 20.11 現カーソル位置をセーブしておいた
カーソル位置にもどす。 <注> インデントキー左移動キー入力処理22
は上記説明で左と右をすべて逆にしたものと同
じである。 <注> 本処理はカーソルが左右マージン上にな
いものとする。 上述の各ステツプの目的は以下の通りである。 20.1 現カーソルの位置をカーソル位置セー
ブレジスタにセーブする。 20.2 カーソルが文字上にある時はステツプ
20.3へカーソルがインデント上にあ
る時はステツプ20.5に進む。 20.3 インデントブロツクをSAVEする(1
6.2) 20.4 ワークバツフア上でインデントブロツ
クの縮小処理を行う。ステツプ20.1
0へ進む。 20.5,20.6 カーソルが存在する位置よ
り左側にインデントブロツクが二つ存在
し、かつカーソルのすぐ左隣のインデン
トブロツクの縦巾がさらに左のインデン
トブロツクの縦巾より小さく(等しくて
も良い)かつカーソルから1つ置いて左
隣のインデントブロツク内の情報の中に
有効データが存在しない時ステツプ2
0.7に進む。(換言するならば、拡大
するインデントブロツクの縦サイズより
拡大を受けるインデントブロツクの縦巾
の方が大きく(等しくても良い)拡大を
受けるインデントブロツク内に有効デー
タが存在しなければステツプ20.7に
進む。) 20.7 2つのインデントブロツクの左側のイ
ンデントブロツクの先頭文字の位置にカ
ーソルを移動する。 20.8 インデントブロツクセーブ処理(1
6.2) 20.9 ワークバツフア内でインデントブロツ
クの拡大処理を行う。 20.10 インデントブロツクのリスト処理
(16.6) 20.11 カーソル位置セーブレジスタCSR
にセーブしておいたカーソル位置アドレ
スをカーソルレジスタCRにもどす。 第25図bはカーソルが文字の上にある時の例
である。この場合インデント右移動キーによつ
て、インデントブロツクは横方向に縮小される。
20.4で示す図がワークバツフアWBを使用し
てインデントブロツクの縮小を行つたところの例
である。 第25図cはカーソルがインデント上にある時
の例である。この場合インデント右移動キーによ
つてインデントブロツクは横方向に拡大される。
20.9で示す図がワークバツフアWBを使用し
てインデントブロツク拡大処理を行つた例であ
る。 上述のステツプ20.4をさらに説明すると、
第26図に示す如くステツプから成る。 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の記述の内右
を左と変更する。 上述の各ステツプについてさらに説明する。 20.4.1 まずデータバツフアの該インデン
トブロツクを2等分することで縮小され
たインデントブロツクの作成を行う。
(縦方向に2等分したインデントブロツ
クの右側に今までそこにあつた情報が押
し込められることになる。) 20.4.2 現カーソルを右方向へ1つずら
す。その位置が新しいインデントブロツ
クの先頭文字の位置になる。 20.4.3〜20.4.5 ワークバツフア
WBのHEADER部のパラメータを新し
いインデントブロツクのパラメータに置
き換える。 上述のステツプ20.9のインデントブロツク
横拡大処理について第27図を参照して説明す
る。 20.9.1 カーソルが存在しているインデン
トブロツクの右側端を決定しているイン
デントマークをすべてスペースマークに
変更する。 20.9.2 ワークバツフアWB第2W(横巾)
に新しく拡大したインデントブロツクの
横巾を記入する。 のステツプから成り、かくステツプは以下のこと
を行なう。 20.9.1 まずデータバツフアのインデント
ブロツクにおいて右側端のインデントマ
ークを取り除くことで、インデントブロ
ツクの拡大を行う。 20.9.2 ワークバツフアWB第2W(横巾)
の値を変更する。 上述の処理が終了すれば、キー待ちに移る。も
しNOであれば、ステツプKB21のインデント
左キーかを判別する処理に移る。該ステツプで
YESならば、ステツプKB22の入力処理に移
る。 かかる処理は第25図aにおいて、図の説明文
中の右と左とを入れ換え、かつ数字20を22に
置き換えたものと同等である。 またインデントブロツク横縮小処理は巾第26
図において図の説明文中の右と左とを入れ換え、
かつ数字20を22に置き換えたものと同等であ
る。 さらにインデントブロツク横拡大処理について
述べる。 かかる処理は第28図に示すステツプから成
り、かくステツプについて説明する。 22.9.1 カーソルが存在しているインデン
トブロツクの左側端を決定しているイン
デントマークをすべてスペースマークに
変更する。 22.9.2 ワークバツフアWB第2W(横巾)
に新しく拡大したインデントブロツクの
横巾を記入する。 20.9.3 ワークバツフアWB第5W(該イン
デントブロツク先頭桁)を、新しく拡大
したインデントブロツクの先頭桁に変更
する。 上記各ステツプは以下の目的を実行する。 22.9.1 まずデータバツフアにおける該イ
ンデントブロツクの左側端のインデント
マークを取除くことによりインデントブ
ロツクの拡大を行う。 22.9.2,22.9.3 ワークバツフア
WB第2W(横巾)、ワークバツフアWB
第5W(先頭桁)を新しいインデントブロ
ツクに対応する値に変更する。 上述の処理が終了すれば、キー待ちに移り、
NOであれば、ステツプKB23に移る。ステツ
プKB23はインデント罫線変換キーかの判別ス
テツプである。かかるステツプKB23でYESと
なれば、ステツプ24のインデント罫線変換キー
入力処理に移る。第29図aはその詳細を示すフ
ローである。各ステツプの内容を以下に示す。 24.1 カーソル位置セーブレジスタGSRに
現カーソル位置即ちカーソルレジスタ
CRに対応する値をセーブする。 24.2 現カーソルが存在する1行手前の行ま
でデータバツフアの内容を順にすべてワ
ークバツフアWBに移す。 24.3 現カーソルが存在する行のデータバツ
フアの内容を変換テーブル第3図dを参
照し、インデントコードを罫線コードに
変換しながらワークバツフアWBに移
す。 (変換テーブルを参照するにあたつては、変換
しようとしているインデントコードの上下左右に
隣接して存在する文字コードあるいはインデント
コードの状態により異なることに注意しなければ
ならない。具体的な対応は、第3図dに示す通り
である。 但し、上に腕接して存在するコードをチエツク
する時は注意しなければならない。即ち周辺状況
をチエツクする範囲は最初にカーソルが存在した
行以降に限るものとする。なお最初にカーソルが
存在した行は、カーソル位置セーブレジスタ
CSRにセーブされている。) 24.4 カーソルレジスタの値に1行分の文字
数の値を加える。 24.5 カーソルレジスタの値が128を超える
ならステツプ24.7に進む、否ならス
テツプ24.6に進む。 24.6 現カーソルが存在する行にインデント
コードが存在するならばステツプ24.
3に進む、否ならステツプ24.7に進
む。 24.7 データバツフアDBの内容でまだワー
クバツフアWBに移していないデータが
あつたらすべて順にワークバツフアに移
す。 24.8 ワークバツフアに蓄えたデータをすべ
て順にデータバツフアDBに戻す。 24.9 カーソル位置セーブレジスタに蓄えら
れたカーソル位置の情報に対応する値を
カーソルレジスタCRに蓄える。 第29図bは、インデント罫線変換の例であ
る。 上述の処理が終了したら、キー待ちもどる。も
しNOであれば、ステツプKB25に移る。ステ
ツプKB25に於いて罫線インデント変換キーが
操作されたかを判別する。もしYESであれば、
ステツプKB26に移り、第30図に示す処理を
行なう。 26.1 現カーソルが存在する行以降の罫線コ
ードをすべてインデントコードに変更す
る。 上述のステツプによりデータバツフア内におい
て現カーソルが存在する行以降をすべて罫線コー
ドからインデントコードへの変更を行う。 罫線コードは、第3図b示すように11種のコー
ド(B1〜B11)であるが、インデントコード
は1種のコード(α3)であり、一義的にインデ
ントコードを定めることができるため容易に変換
を行うことができる。 上述の処理が終了すれば、キー待ちとなる。も
しNOであれば、ステツプKB27に移る。ステ
ツプKB27で、イニシヤライズキーが操作され
たかを判別する。YESであればイニシヤライズ
処理を行なう。第30図はそのフローを示す。 1 データバツフアにすべてスペースコードを埋
める。 2 データバツフアの左右マージン位置に相当す
る場所に左マージンコード、右マージンコード
を埋める。 上述のステツプによりデータバツフアに初期値
を設定することにより、CRT上に表示される文
字列のイニシヤライズを行う。これにより左右マ
ージンがCRT上に表示され残にはすべてスペー
スが表示される。すべての入力はまずこのINT
キーを押すことにより始めることができる。 上述の処理が終了すれば、キー待ちとなる。も
しNOであれば、ステツプKB29に移る。ステ
ツプKB29はプリントキーが操作されたかを判
別する。もしYESであれば、第32図に示すプ
リントキー処理のステツプKB30に移る。かか
るステツプは以下の処理を行なう。 データバツフアの内容をプリンタに出力する。 上述の処理によりデータバツフアの内容をすべ
てプリントアウトする。縦横プリントの機能をも
つているとなお望ましい。 上述の処理が終了すればキー待ちとなる。もし
NOであればステツプKB31に移る。ステツプ
KB31はバツクスペースキーBSが操作されたか
否かを判別する。もしYESであれば第36図a
に示すバツクスペースキー処理のステツプKB3
2に移る。かかるステツプは以下の処理を行う。 32.1 カーソルレジスタCRをデクリメント
する。 32.2 カーソルレジスタCRは0以下である
ならステツプ32.3に進む。否なら3
2.4に進む 32.3 カーソルレジスタCRに128をセツトす
る。リターンする。 32.4 カーソルが存在している位置に対応す
るデータバツフア内データの内容が、右
マージンコードであるならばリターンす
る否ならステツプ32.5に進む。 32.5 カーソルが存在している位置に対応す
るデータバツフア内データの内容が、左
マージンコード、インデントコードのい
ずれでもなければリターンする。否なら
ステツプ32.6に進む。 32.6 カーソルが第1行目に存在しているな
らリターンする。否ならステツプ32.
7に進む。 32.7 カーソルレジスタの値から1行目の文
字数の値(本実施例では16)を減じる。
このことによりカーソルを1行上に上げ
る。 32.8 カーソルレジスタの値をインクリメン
トしカーソルを1つ右にずらす。 32.9 カーソルが存在している位置に対応す
るデータバツフアの内容がインデントコ
ード又は右マージンコードであるならス
テツプ32.10に進む。否ならステツ
プ32.8に進む。 32.10 カーソルレジスタの値を1減ずるこ
とによりカーソルを左方に1つずらす。 各ステツプの意味をさらに述べる。 32.1 カーソルを左シクトするためにカーソ
ルレジスタCRから1減じる。 32.2,32.3 もしカーソルレジスタの値
が0以下であるならカーソルがデータバ
ツフア枠内をはみ出すことになるので、
データバツフアの末尾にカーソルがくる
ようにする。 32.4 もしカーソルが右マージン位置に来た
とするなら、そのまま処理を終了する。 32.5 カーソルの位置のデータがインデント
コードあるいは左マージンコードでない
なら処理を終了する。 32.6 カーソルが1行目に存在していたなら
その上の行はもはや存在しないので処理
を終了する。 32.7〜32.10 今カーソルが存在してい
る前の行における該当インデントブロツ
クの末尾にカーソルを移動させる。 以上の処理を終了するとキー待ちになるが、も
しNOであるならやはりキー待ちにもどる。 1 本実施例においては、文字列の途中に出現す
るスペースコードは有効データ見なし文字列の
最後に連続して続くスペースコードは無効デー
タあるという解釈により、文字処理を実行し
た。しかしながら、スペースコードを含む文字
コードをすべて有効データとして文字処理を行
つてもよい。 又他の例として無効データを表現する特殊コ
ードを新たに設け、そのコード以外はすべて有
効コードであると判断し、文字処理を行つても
良い。又この特殊コードを本実施例で説明した
スペースコードと同じ役割をはたすようにさせ
ても良い。 2 本実施例においては、インデントブロツクの
横方向の拡大を行うにあたつて次の二つのこと
を条件とした。即ち1つは拡大するインデント
ブロツクの縦方向の大きさと拡大を受けるイン
デントブロツクの縦方向の大きさとを比較し、
前者の大きさが後者の大きさより小さいか又は
等しいことである。他の一つは拡大を受けるイ
ンデントブロツク内に有効データが存在してい
ないことである。この後者の条件を次のように
緩和しても本発明の主旨を損ねるものではな
い。 即ち拡大を受けるインデントブロツクの上か
ら特定行数だけ有効データが存在しなければ良
いものとする。ここで特定行数とは拡大するイ
ンデントブロツクの縦巾の行数分のことであ
る。 3 本実施例においては、インデントブロツクの
領域定義を有効データがそこに存在している時
も存在していない時も同一と見なした。しかし
ながら本実施例で説明したインデントブロツク
の内、有効データが存在している行あるいはカ
ーソルが存在している行が連続して続く範囲の
みをインデントブロツクと考えても本実施例の
主旨を損ねるものではない。
【図面の簡単な説明】
第1図は本発明による1実施例を示すブロツク
図、第2図a,b,cはインデントブロツクを説
明する図、第3図a,b,c,dはインデントマ
ークと罫線パターンの変換を説明する図、第4図
a,b,cは枠組の変更を説明する図、第5図
a,b,cは枠組の変更を説明する図、第6図
a,bは枠組の変更を説明する図、第7図はキー
処理を示す制御手順を示す図、第8図はキヤリツ
ジリターン処理を示す図、第9図はインデント入
力処理を示す図、第10図はオーバライトキー入
力処理を示す図、第11図は挿入キー入力処理を
示す図、第12図はカーソルキー入力処理を示す
図、第13図aは文字キー入力処理を示す図、第
13図bは文字のオーバライト処理を示す図、第
14図aはインデントブロツクセーブ処理を示す
図、第14図bはデータの流れを示す図、第15
図はオーバライト処理を示す図、第16図は挿入
処理を示す図、第17図はインデントブロツクリ
ストア処理を示す図、第18図aはインデントブ
ロツク拡大処理を示す図、第18図bはデータの
流れを示す図、第19図aは行挿入処理を示す
図、第19図bはデータの流れを示す図、第20
図aはスペース行移動処理を示す図、第20図b
はデータの流れを示す図、第21図はインデント
ブロツク縮小処理を示す図、第22図aはデータ
バツフア書き込み処理を示す図、第22図bはデ
ータの流れを示す図、第23図aは削除キー入力
処理を示す図、第23図bは文字の削除のデータ
の流れを示す図、第24図は削除処理を示す図、
第25図aはインデント右移動キー入力処理を示
す図、第25図bはデータの流れを示す図、第2
5図cはデータの流れを示す図、第26図はイン
デントブロツク横縮小処理を示す図、第27図は
インデントブロツク横拡大処理を示す図、第28
図はインデントブロツク横拡大処理を示す図、第
29図aはインデント罫線変換キー入力処理を示
す図、第29図bはデータの流れを示す図、第3
0図aは罫線インデント変換キー入力処理を示す
図、第30図bはデータの流れを示す図、第31
図はイニシヤライズ処理を示す図、第32図はプ
リントキー入力処理を示す図である。第33図
a,b,cはインデントブロツクの縮小を示す
図、第34図a,b,c,dはインデント罫線切
換えを示す図である。第35図a,bはインデン
トブロツクの拡大を示す図である。第36図aは
バツクスペースキー処理の手順を示す図、第36
図bはバツクススペース処理を説明する図であ
る。 KB……キーボード、ROM……制御メモリ、
RAM……メモリ、WB……ワークバツフア、
DBuF……データバツフア、CR……カーソルレ
ジスタ。

Claims (1)

  1. 【特許請求の範囲】 1 文字データを入力する入力手段と、 前記入力手段から入力された文字データを記憶
    する記憶手段と、 前記記憶手段に記憶された文字データを表示す
    ることのできる表示手段と、 前記表示手段の表示画面上に所望の領域を設定
    する領域設定手段と、 前記記憶手段に記憶された文字データを編集す
    る編集手段と、 前記領域設定手段によつて設定された領域内を
    前記編集手段によつて編集したとき、前記領域外
    がその編集の影響を受るモードと、影響を受ない
    モードとを切り換える状態切り換え手段と、 を有することを特徴とする文字処理装置。
JP56010712A 1981-01-27 1981-01-27 Character processing device Granted JPS57125481A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP56010712A JPS57125481A (en) 1981-01-27 1981-01-27 Character processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56010712A JPS57125481A (en) 1981-01-27 1981-01-27 Character processing device

Publications (2)

Publication Number Publication Date
JPS57125481A JPS57125481A (en) 1982-08-04
JPH0254589B2 true JPH0254589B2 (ja) 1990-11-22

Family

ID=11757909

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56010712A Granted JPS57125481A (en) 1981-01-27 1981-01-27 Character processing device

Country Status (1)

Country Link
JP (1) JPS57125481A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS616763A (ja) * 1984-06-21 1986-01-13 Matsushita Electric Ind Co Ltd 文書処理装置
JPS61128363A (ja) * 1984-11-28 1986-06-16 Matsushita Electric Ind Co Ltd 文書処理装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5235572A (en) * 1975-09-12 1977-03-18 Mitsubishi Electric Corp Semiconductor switch
JPS54105435A (en) * 1978-02-06 1979-08-18 Ricoh Co Ltd Display unit for character or the like

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5235572A (en) * 1975-09-12 1977-03-18 Mitsubishi Electric Corp Semiconductor switch
JPS54105435A (en) * 1978-02-06 1979-08-18 Ricoh Co Ltd Display unit for character or the like

Also Published As

Publication number Publication date
JPS57125481A (en) 1982-08-04

Similar Documents

Publication Publication Date Title
JPH0143338B2 (ja)
JPH0254589B2 (ja)
JPH0254588B2 (ja)
JPH0254590B2 (ja)
US5276792A (en) Word processor permitting modification of a preset frame
JPH0324701B2 (ja)
JPH0427586B2 (ja)
JPH0143339B2 (ja)
JPS6026235B2 (ja) 図表デ−タの保護方法
JPH0361198B2 (ja)
JPH0361197B2 (ja)
JPH0427585B2 (ja)
KR100238814B1 (ko) 데이터처리장치 및 데이터처리방법
JPH04218865A (ja) 文字処理方法
JPH05250352A (ja) 文字処理方法
JPH04218866A (ja) 文書処理装置
JPS58129676A (ja) 文字処理装置
JP3728768B2 (ja) 文字列と罫線の混在処理方法およびその装置
JPH038065A (ja) 文字処理装置
JPS648851B2 (ja)
JP3817747B2 (ja) 書体情報設定装置
JP2698348B2 (ja) 文字処理装置
JP2572039B2 (ja) 文字処理装置
JP2005202739A (ja) 機械翻訳装置、機械翻訳方法及び機械翻訳プログラム
JP3020213B2 (ja) 文書処理装置