JPH0427586B2 - - Google Patents

Info

Publication number
JPH0427586B2
JPH0427586B2 JP56010713A JP1071381A JPH0427586B2 JP H0427586 B2 JPH0427586 B2 JP H0427586B2 JP 56010713 A JP56010713 A JP 56010713A JP 1071381 A JP1071381 A JP 1071381A JP H0427586 B2 JPH0427586 B2 JP H0427586B2
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
JP56010713A
Other languages
English (en)
Other versions
JPS57125482A (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 JP56010713A priority Critical patent/JPS57125482A/ja
Publication of JPS57125482A publication Critical patent/JPS57125482A/ja
Publication of JPH0427586B2 publication Critical patent/JPH0427586B2/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号公報、本願第33図、第34図、第35
図)を提案している。
ここでは枠組みが左マージンマーク“〓”、右
マージンマーク“〓”、インデントマーク“〓”
によつて形造られている。ここでの枠組みの定義
は以下のようになつている。
左右方向:インデントマーク、左マージンマー
ク、右マージンマーン等で囲われる最も小さな
領域 上下方向:1左右マージンマークのみで枠組みさ
れている行の場合 ●文字等情報(スペースコードは除く)又はカー
ソルが存在している行が連続して続く範囲 2インデントマークのみあるいはインデントマー
クと左右マージンマークで枠組みされている行
の場合 ●左右マージン、インデントが桁方向において同
一に設定されている範囲 そして印刷を行う以前に、表示画面上で高品位
に編集でき操作性のすぐれた装置を提供すること
が望まれていた。
[目的] 以上の点に鑑み本発明の目的は、表示画面にお
ける編集領域とその中に設けられる所望の編集領
域を識別可能に表示することができ、しかも前記
所望の編集領域外に表示される文字を該所望の編
集領域内に表示される文字に影響を与えることな
く編集することが可能な文字処理装置を提供する
ことにある。
以上の点に鑑み本発明の目的は予め設定した所
望の編集領域外に対しても編集領域内で編集する
ことが可能な文字処理装置を提供することにあ
る。
本発明による他の目的は以下図面を参照して行
なわれる実施例の説明より明らかとなるであろ
う。
[実施例] 次に本発明による実施例を述べる前に本実施例
で用いられる用語の説明をまず行なう。
1 インデントコードInd CRT上に“〓”のマークで表示される。文
字等をキーボードから入力するにあたつて、あ
らかじめこのインデントコードにより、枠組み
が作られる。
2 左マージンコードLMN 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に関係する二つのインデントブロツク
の縦サイズが異なる場合の例を示す。この場合拡
大するインデントブロツクInd1の縦サイズより
拡大を受けるインデントブロツクInd2の縦サイ
ズの方が大きいために、インデントブロツクInd
1の拡大によつて影響を受けるインデントブロツ
クはインデントブロツクInd2に限られることに
なり、インデントブロツクInb2内に有効情報
(本実施例においてはスペースコード以外の情報)
が存在しない限り、インデントブロツクInd1の
拡大は可能である。しかしながらもし、拡大する
インデントブロツクの縦サイズ(行方向の大き
さ)が拡大を受けるインデントブロツクの縦サイ
ズより大きい時は、拡大を受けるインデントブロ
ツクは複数個となるため、処理が複雑となるため
その処理は行なわいものとする。
インデント左移動キーを用いて、インデントマ
ークIndの移動を行つた時も以上の説明と類似の
動作を行う。
次にインデントブロツクInb内に文字等の入力
を行つた時について第5図a,b,cを用い説明
する。第5図aのように、インデントブロツク
Inb内に文字等が入力され、カーソルCMがイン
デントブロツクInbの最後に位置していたとする。
第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行の位置に持つてきて
インデントマークを罫線パターンに変更すると第
34図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に表示し、カーソルレジスタCRTに蓄え
られた情報に従つて表示装置CRT上にカーソル
を表示するコントロールを行う。
文字等の表示は横16文字、縦8行の表示とし、
データバツフアDBuFの内容と順に対応づけられ
ているものとする。
文字等の表示にあたつては、後述するキヤラク
タジエネレータCGを参照し、文字コードを文字
パターンに変更することを行う。具体的方法は公
知である。
CRTは表示装置であり、CRTコントローラ
CRTCにより文字とカーソルを表示できる。
CGはキヤラクタジエネレータであり、表示装
置CRTへの文字表示やプリンタPRTへの文字出
力のために使用される。CRTコントローラ
CRTC、及び後述するプリンタコントローラ
PRTCにより用いられる。
PTRCはプリンタコントローラであり、後述す
る処理部CPUからの文字コード情報をキヤラク
タジエネレータCGを参照することによりパター
ンに直し、該パターンをプリンタPRTに出力す
る。
プリンタコントローラPRTCは、罫線コードを
罫線パターンに変換し出力することができる。好
ましくはパターン出力にあつて行間、文字間をも
連続する直線でうめる機能を有していた方がなお
一層望ましい。
PRTはプリンタであり、プリンタコントロー
ラPRTCからの情報に従つて文字等をプリントア
ウトする。
CPUはマイクロプロセツサであり、演算、論
理判断等を行う。後述する。AB、CB、DBをコ
ントロールする。
ABはアドレスバスで制御対象を指示する信号
を転送する。
CBはコントロールバスで各種制御対象に制御
信号を印加するものである。
DBはデータバスで各種データを転送する。
ROMは制御メモリで、第7図以降に示す制御
手順等を記憶するものである。
RAMはランダムアクセスメモリで、各種デー
タの例えばキヤリツジリターンフラツグCRFG、
オーバライトフラツグOWFG、新データ行数レ
ジスタNDLカーソルセーブレジスタCSR一時記
憶に用いられる。
次に本実施例の動作説明を行う。
本実施例は、電源投入時に自動的にキーボード
処理が動作するように構成されているものとす
る。以下各処理につき具体的に第8図以降のフロ
ーチヤートを参照し、説明を行う。
まずキーボードKB上のキーが操作されると以
下の順序に従つて操作キーが判別され、それぞれ
のキーに対する処理が行なわれ、キー待ちの状態
となる。
ステツプKBIでキーボードKBから入力があつ
たかを判別する。入力がなければ、キー待ちにも
どり、入力があればステツプKB2に移りキーボ
ードKBからのデータを取り込む。ステツプKB3
で、取り込んだデータがキヤリツジリターンキー
か否かを判別する。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に移り、オーバライトキーが操作されたか
を判別する。キー操作があれば、ステツプKB10
でオーバライトフラツグ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
であれば、ステツKB15に移る。かかるステツ
プで文字キーが操作されたかを判別し、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内の情報をもとのインデントブロツクにも
どす。
上述の処理をさらに説明する。
第13図bは文字のオーバーライトの例であ
る。1.6.0で示す図をデータバツフアDBuF内の初
期状態とする。ここでは紙面の都合で横8桁、縦
4行のデータバツフアDBuFが表示装置CRTに
表示されている様子を示している。
16.2のステツプを実行したのが16.2で示すデー
タバツフアDBuFとワークバツフアWBの様子で
ある。データバツフアDBuF内のデータは、ワー
クバツフアWBに移されている。次にステツプ
16.4によるオーバーライト処理により、ワークバ
ツフアWB内でのオーバーライト処理が行なわれ
る。16.2と16.4で示すワークバツフアWB内の違
いは文字Cの後に文字Dが加わつたことワークバ
ツフアWBの第1W(DATA LENGTH)がイン
クリメントされたこと、ワークバツフアWBの第
4W(カーソルアドレス)がインクリメントされた
ことである。ステツプ16.4ではワークバツフア
WBに蓄えられた情報が欠落なく該当インデント
ブロツクにすべてもどせるか否かを判断する。こ
の場合16.0で示すインデントブロツクの容量が
2characterでありワークバツフアWBに蓄えられ
ている情報量はカーソルが移動したたために
3characterに増加している。そのためインデント
ブロツクを縦方向に拡大し、ワークバツフアWB
内の情報がすべて格納できるようにしたのが16.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 ワークバツフアのHEADER部を参照し
てワークバツフアWB内データをデータバツフ
アDBuFに格納するに必要な行数を求める。
行数を求めるにあたつてはワークバツフアWB
の第2Wに格納されているインデントブロツク横
巾の値を参照する。
又キヤリジリターンCRコードが存在した時は
改行による行数増加を考慮する。
16.6.2〜16.6.3 求めた行数ともとのインデント
ブロツクの縦巾とを比較して、その行数が縦巾
を越える時はインデントブロツクの縦方向の拡
大を行つて、データエリアを確保する。
16.6.4〜16.6.5 求めた行数ともとのデータの行
数(もとのインデントブロツクの縦巾でなく、
縦巾から最下行に連続して続くスペース行の数
を差し引いたもの)とを比較し、その行数がも
とのデータ行数を下回る時、その分だけインデ
ントブロツクの縦方向の縮小処理を行う。
16.6.6 新しく作り直したインデントブロツクに
ワークバツフアの内容を移す。その際ワークバ
ツフアのHEADER部のパラメータを参照する
ことにより行う。
上述のステツプ16.6.3のインデントブロツク拡
大処理についてさらに第18図aを用いて説明す
る。
16.6.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.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 右方へ次のインデントブロツクを捜
す。
上述のステツプを実行することにより例えばス
テツプ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 インデントブロツクセーブ処理(16.2) 18.4 削除処理 18.5 インデントブロツクリストア処理(16.6) <注>この処理はカーソルが左右マージン上に有
る時は機能しないものとする。
上述のステツプにより以下の事を実行する。
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 インデントブロツクセーブ処理(16.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 インデントブロツクセーブ処理(16.2) 20.9 インデントブロツク横拡大処理 20.10 インデントブロツクリストア処理(16.6) 20.11 現カーソル位置をセーブしておいたカー
ソル位置にもどす。
<注>インデントキー左移動キー入力処理22は上
記説明で左と右をすべて逆にしたものと同じ
である。
<注>本処理はカーソルが左右マージン上にない
ものとする。
上述の各ステツプの目的は以下の通りである。
20.1 現カーソルの位置をカーソル位置セーブレ
ジスタにセーブする。
20.2 カーソルが文字上にある時はステツプ20.3
へカーソルがインデント上にある時はステツプ
20.5に進む。
20.3 インデントブロツクをSAVEする(16.2) 20.4 ワークバツフア上でインデントブロツクの
縮小処理を行う。ステツプ20.10へ進む。
20.5、20.6 カーソルが存在する位置より左側に
インデントブロツクが二つ存在し、かつカーソ
ルのすぐ左隣のインデントブロツクの縦巾がさ
らに左のインデントブロツクの縦巾より小さく
(等しくても良い)かつカーソルから1つ置い
て左隣のインデントブロツク内の情報を中に有
効データが存在しない時ステツプ20.7に進む。
(換言するならば、拡大するインデントブロツ
クの縦サイズより拡大を受けるインデントブロ
ツクの縦巾の方が大きく(等しくても良い)拡
大を受けるインデントブロツク内に有効データ
が存在しなければステツプ20.7に進む。) 20.7 2つのインデントブロツクの左側のインデ
ントブロツクの先頭文字の位置にカーソルを移
動する。
20.8 インデントブロツクセーブ処理(16.2) 20.9 ワークバツフア内でインデントブロツクの
拡大処理を行う。
20.10 インデントブロツクのリストア処理
(16.6) 20.11 カーソル位置セーブレジスタCSRにセブ
しておいたカーソル位置アドレスをカーソルレ
ジスタCRにもどす。
第25図bはカーソルが文字の上にある時の例
である。この場合インデント右移動キーによつ
て、インデントブロツクは横方向に縮小される。
20.4で示す図がワークバツフアWBを使用してイ
ンデントブロツクの縮小を行つたところの例であ
る。
第25図cはカーソルがインデント上にある時
の例である。この場合インデント右移動キーによ
つてインデントブロツクは横方向に拡大される。
20.9で示す図がワークバツフアWBを使用してイ
ンデントブロツク拡大処理を行つた例である。
上述のステツプ20.4をさらに説明すると、第2
6図に示す如くステツプから成る。
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(横巾)に新し
く拡大したインデントブロツクの横巾を記入す
る。
22.9.3 ワークバツフアWB第5W(該インデント
ブロツク先頭桁)を、新しく拡大したインデン
トブロツクの先頭桁に変更する。
上記各ステツプは以下の目的を実行する。
22.9.1 まずデータバツフアにおける該インデン
トブロツクの左側端のインデントマークを取除
くことによりインデントブロツクの拡大を行
う。
22.9.2、22.9.3 ワークバツフアWB第2W(横巾)、
ワークバツフアWB第5W(先頭桁)を新しいイ
ンデントブロツクに対応する値に変更する。
上述の処理が終了すれば、キー待ちに移り、
NOであれば、ステツプKB22に移る。ステツプ
K23はインデント罫線変換キーかの判別ステツプ
である。かかるステツプ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種のコード(α36)であり、一義的にインデ
ントコードを定めることができるため容易に変更
を行うことができる。
上述の処理が終了すれば、キー待ちとなる。も
しNOであれば、ステツプKB27に移る。ステツ
プKB27で、イニシヤライズキーが操作されたか
を判別する。YESであればイニシヤライズ処理
を行なう。第30図はそのフローを示す。
1 データバツフアにすべてスペースコードを埋
める。
2 データバツフアの左右マージン位置に相当す
る場所に左マージンコード、右マージンコード
を埋める。
上述のステツプによりデータバツフアに初期値
を設定することにより、CRT上に表示される文
字列のイニシヤライズを行う。これにより左右マ
ージンがCRT上に表示された残りはすべてスペ
ースが表示される。すべての入力はまずこの
INTを押すことにより始めることができる。
上述の処理が終了すれば、キー待ちとなる。も
しNOであれば、ステツKB29に移る。ステツプ
KB29はプリントキーが操作されたかを判別す
る。もしYESであれば、第32図に示すプリン
トキー処理のステツプKB30に移る。かかるステ
ツプは以下の処理を行なう。
データバツフアの内容をプリントに出力する。
上述の処理によりデータバツフアの内容をすべ
てプリントアウトする。縦横プリントの機能をも
つているとなお望ましい。
上述の処理が終了すればキー待ちとなる。もし
NOであればステツプKB31に移る。ステツプ
KB31はバツクスペースキーBSが操作されたか否
かを判別する。もしYESであれば第36図aに
示すバツクスペースキー処理のステツプKB32に
移る。かかるステツプは以下の処理を行う。
32.1 カーソルレジスタCRをデクリメントする。
32.2 カーソルレジスタCRは0以下であるなら
ステツプ32.3に進む。否なら32.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 本実施例においては、インデントブロツクの
横方向の拡大を行うにあたつて次の二つのこと
を条件とした。即ち一つは拡大するインデント
ブロツク縦方向の大きさと拡大を受けるインデ
ントブロツクの横方向の大きさとを比較し、前
者の大きさが後者の大きさより小さいか又は等
しいことである。他の一つは拡大を受けるイン
デントブロツク内に有効データが存在していな
いことである。この後者の条件を次のように緩
和しても本発明の主旨を損ねるものではない。
即ち拡大を受けるインデントブロツクの上か
ら特定行数だけ有効データが存在しなければ良
いものとする。ここで特定行数とは拡大するイ
ンデントブロツクの縦巾の行数分のことであ
る。
3 本実施例においては、インデントブロツクの
領域定義を有効データがそこに存在している時
も存在していない時も同一と見なした。しかし
ながら本実施例で説明したインデントブロツク
の内、有効データが存在している行あるいはカ
ーソルが存在している行が連続して続く範囲の
みをインデントブロツクと考えても本発明の主
旨を損ねるものではない。
[効果] 以上、詳述した様に、本発明によつて表示画面
における編集領域とその中に設けられる所望の編
集領域を識別可能に表示することができ、しかも
前記所望の編集領域外に表示される文字を前記所
望の編集領域内に表示される文字に影響を与える
ことなく編集することが可能な文字処理装置を提
供することが可能となつた。
以上詳述した様に、本発明によつて予め設定し
た所望の編集領域外に対しても編集領域内で編集
することが可能な文字処理装置を提供することが
可能となつた。
【図面の簡単な説明】
第1図は本発明による1実施例を示すブロツク
図、第2図a,b,cはインデントブロツクを説
明する図、第3図a,b,cはインデントマーク
と罫線パターンの変換を説明する図、第4図a,
b,c,dは枠組の変更を説明する図、第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図はデータバ
ツフア書き込み処理を示す図、第22図bはデー
タの流れを示す図、第23図aは削除キー入力処
理を示す図、第23図bは文字の削除のデータの
流れを示す図、第24図は削除処理を示す図、第
25図aはインデント右移動キー入力処理を示す
図、第25図bはデータの流れを示す図、第25
図cはデータの流れを示す図、第26図はインデ
ントブロツク横縮小処理を示す図、第27図はイ
ンデントブロツク横拡大処理を示す図、第28図
はインデントブロツク横拡大処理を示す図、第2
9図aはインデント罫線変換キー入力処理を示す
図、第29図bはデータの流れを示す図、第30
図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 表示画面における文字編集領域を設定する第
    1設定手段、 前記第1設定手段によつて設定される前記編集
    領域内における所望の文字編集領域を設定する第
    2設定手段、 前記表示画面に表示される文字の編集を指示す
    る指示手段、 前記第1設定手段によつて設定される前記編集
    領域と前記第2設定手段によつて設定される前記
    所望の編集領域を識別可能に表示すべく、前記表
    示を制御する表示制御手段、 前記指示手段からの指示に基づいて前記所望の
    編集領域外に表示される文字を前記所望の編集領
    域内に表示される文字に影響を与えることなく編
    集する編集手段、 前記表示制御手段は前記編集手段による編集の
    結果を表示すべく前記表示を制御することを特徴
    とする文字処理装置。
JP56010713A 1981-01-27 1981-01-27 Character processing device Granted JPS57125482A (en)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP5032050A Division JPH05250352A (ja) 1993-02-22 1993-02-22 文字処理方法

Publications (2)

Publication Number Publication Date
JPS57125482A JPS57125482A (en) 1982-08-04
JPH0427586B2 true JPH0427586B2 (ja) 1992-05-12

Family

ID=11757937

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPS57125482A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60229173A (ja) * 1984-04-25 1985-11-14 Matsushita Electric Ind Co Ltd 入力編集装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5543633A (en) * 1978-09-22 1980-03-27 Toshiba Corp Document production device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5543633A (en) * 1978-09-22 1980-03-27 Toshiba Corp Document production device

Also Published As

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

Similar Documents

Publication Publication Date Title
JPS6190261A (ja) 文書の色付編集装置
JPH0143338B2 (ja)
JPH0324701B2 (ja)
JPH0427586B2 (ja)
JPH0254588B2 (ja)
US5276792A (en) Word processor permitting modification of a preset frame
JPH0143339B2 (ja)
JPH0361197B2 (ja)
JPH0361198B2 (ja)
JPH0254589B2 (ja)
JPH0427585B2 (ja)
JPH0254590B2 (ja)
JPH04218866A (ja) 文書処理装置
JPH05250352A (ja) 文字処理方法
JPH04218865A (ja) 文字処理方法
JPH038065A (ja) 文字処理装置
JPS648851B2 (ja)
JPS58129676A (ja) 文字処理装置
JP2572039B2 (ja) 文字処理装置
JP2698348B2 (ja) 文字処理装置
JP2671365B2 (ja) 文字図形編集装置
JPS59180620A (ja) 文書作成装置
JPH0330054A (ja) 文書処理装置
JPS59229684A (ja) 文字処理装置
JPS63136083A (ja) 文字処理装置