JPS58129676A - 文字処理装置 - Google Patents

文字処理装置

Info

Publication number
JPS58129676A
JPS58129676A JP57011787A JP1178782A JPS58129676A JP S58129676 A JPS58129676 A JP S58129676A JP 57011787 A JP57011787 A JP 57011787A JP 1178782 A JP1178782 A JP 1178782A JP S58129676 A JPS58129676 A JP S58129676A
Authority
JP
Japan
Prior art keywords
indent
block
cursor
key
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP57011787A
Other languages
English (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 JP57011787A priority Critical patent/JPS58129676A/ja
Publication of JPS58129676A publication Critical patent/JPS58129676A/ja
Pending legal-status Critical Current

Links

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Processing Or Creating Images (AREA)
  • Document Processing Apparatus (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

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

Description

【発明の詳細な説明】 ク単位に文章等の編集処理を行うことのできる文字処理
装置に関するものである。
従来、任意の枠組みを設定し、その枠組単位に文字等情
報な入力し、編集処理を行うことのできる文字処理装置
があった。かような文字処理を行うための入力装置とし
ては,例えばキヤノン社の日本語ワードプレセッサ。モ
デル「キャノワードzs Jがある。この入力装置によ
って作表等の処理を行うことはきわめて有効である。と
ころで。
このように形成される文字処理装置には、枠組みの自動
拡大と自動縮小という一つの機能が具わっている。すな
わち、ある枠組み内への文字等の入力あるいは編集を行
っているとき,その枠外へ文字等がはみ出してしまう場
合、あるいは枠内の文字数を減少させたため枠が大きす
ぎてしまう場合が生じても、自動的にその枠を拡大した
りあるいは縮小したりjる枠組みの自動可変機能を有し
ている。
しかしながら、このような文字処理装置11にあっては
,自動的に枠の拡大な行なおうとしたとき。
場合によっては不自然な拡大が起こるといった欠点があ
った.かような不都合な@を第1図(ム)および(1)
 K示す.同図(ム)の如くひし形のマーク(◇)によ
り枠組みされている領域AR/が,同図(B)K示す如
く領域A&Jに拡大されてしまう4のであった.また、
自動的に枠の細小な行なおうとしたとき、場合によって
は不自然な縮小が起こるといった欠点があった。そのよ
うな不都合な例を第2図(A)および(B)に示す。同
図(A)の如く、ひし形のマークにより枠組みされてい
る領域ARjが同図(B)の如く領域ARjに縮小され
てしまい。
以FjlJ K設定しておいた枠がくずれてしまうこ、
とが起こるものであった。
本発明の目的は、上述した欠点に鑑み、入力編集時に自
動的に枠組みの拡大あるいは縮小が行われる場合、より
自然な拡大あるいは縮小が行われる文字処理装置を提供
することにある。
本発明によれば、拡大下にあっては第1図(C)に示す
工うな拡大を行い、また縮小にあっては第コ図tC)の
如く縮小する。
以下図111ovc基づいて本発明の詳細な説明する。
第3図に本発明の一実施例な示す。なお1本発明による
実施例について述べるl!rK、本発明実施例で用いる
用語の説aAtまず行う。
l インデントコードImd CRT’hK@◇”のひし形マークで表示される。
文字等をキーボードから入力するにあたって。
予めこのインデントコードにより、枠組みが作られる。
2 左マージンコードLMM OR’f’上に1し1の!−夕で表示される。キーボー
ドから入力可能な最左端v1i示する。
l 右マージンコード勧■ CRT上に1く”のマークで表示される。キーが一ドか
ら入力可能な最右端を表示する。
弘 インデントブロックImb インデントマーク、左マージンマーク、右!−シンマー
ク等で枠組みされた領域をさす。正しくは1次のように
定義される。
左右方向窓インデントマーク、左マージンff −夕、
右マージンマーり等で囲われる 峠も小さい領域 上下方向1!−ジン、インデントの設定位置が同一であ
る範囲、インデントブロッ クの定義を換言するならば、インデ ントマークあるいは左マージンff −り、あるいは右
!−ジンマークによ って囲まれる横方向で、最も小さい 一城が段差なく上下に続く領域であ る。
第1図(A)および(B)に、 CR’I’上に表示さ
れルインデントブロックの例を示す。
キーボードから入力された文字等は、このインデントブ
ロックIr1bという枠内で処理される。
このインデントブロックInb 4X作表等のフォーマ
ツティングされた文章を作成する上で重要な役111J
を(了た丁。
本実施例においては、CRT上に表示されたカーノルC
Mが存在する位置以降に対して、インデントブロックI
nbの各種処理な行うため、前述した定義によるインデ
ントブロックIsbの内カーソルCMが存在する行以降
に対してインチy’)ブロックInbという表現をして
いるところがある。
ま 枠組コード インデントコードZnde左マージンコードLMM、右
−f−1ンコード鮎伽の1!1のコートF)総称。これ
らのコードは、枠組/(ターンC>、 <1゜0と対応
ずけられる(第1図(A)および(B)参照)。
A  MINIコード 罫ils分パターンを図形文字としてコード化したもの
。第1図(ム)で示す如く、l/檜の罫−パターンが罫
iI!コードと対応付けられて(・る。
次に1本発1JIK!、る一実施例による概要を説明す
る。
実施例に示す装置はキーボード、処理部の表示装置およ
びプリンタから成る。
すべての操作はキーボード上にある文字中−あるいはフ
ァンクpHンキーにより実行する。
まず、イニシャライズキーによりすべての状態を初期化
し、本実−例の各機能が実行可能な状謝となる。
イニシャライズキーを押すことにより、!!示装置11
1には、左右マージンマークLMMおよびυ侃が表示さ
れ、他は丁ぺてクリアされる。カーノルCMは、最上性
の第ココラム目に位置し、中−〆−ドからの文字)の入
力が可能となる。入力モードである挿入とオーバーライ
ドとの選択は、挿入キーあるいはオーバーライドキーな
用いることにより行う。キーボードから入力された文字
等は。
押入モードあるいはオーバーライドモードにおいて、表
ノド装置、ヒでカーソルCMが表示されている位置に人
力さjLる。カーソルCMはキーボードからの文字等の
入力に従って、1つずつ歩進する。
副入力を行ったとき、削除キーを用い削除することがで
き、その場合、後続する文字列は1つずつ前につめら扛
る。削除しようとする文字はカーノルCMで指だする。
カーノルCMは、カーソルキーにより1つずつ歩進させ
ることができる。入力が終rした文字列はプリントキー
を押下することによりプリンタに出力させることができ
る。以上説明した入出力制御は、公知の技術で容易に実
現することができる。
次に、枠組みの設電およびその内部での文字等の入カー
集について述べる。
!f、インデントブロックInb t’影形成る方法ン
デントキーを用い表示装置上にインデントマーク(イン
デントコードInd fCよるCRT上の表示マークで
同一符号を用いる。以下−じ、)It’dをオーバーラ
イドまたは挿入することにより形造4ることができる。
−匿インデントブロックが出来上ったilは、中−ボー
ドから入力された文字尋の情報は1丁ぺてこのインデン
トブロックInb内で処理されることになる。これによ
り、作表等のフォーマツティングされた文章の作成は、
容易に行えるようKなる。まX:、このインデントブロ
ックInbは横方向に自白に拡大、il小ができる。こ
の様子を第4図(A) 、  (B)を用いて説明する
第4図(A)のように、インデントブロックI!Ib内
に複数−の文字が既に入力されていたとする。
カーソルキーを用いカーソルCMを第1行目第1桁目の
位置、丁なわあ、Bの位11に移動した上でインデント
右移動キーを押下すると、カーソルCMが存在したイン
デントブロックは、横力向に縮小され、その分級方向に
拡大され、第4図(B)のようになる。次に、第6図(
8)のようにカーノルCMYインデントマークIndの
位置におき、インデント右移動キーを押下すると、カー
ソルCMの位置より左側に数えてコ番目のインデントブ
ロックInbが拡大し、第4図(C)のようになる。
すなわち%第を図(A)において、インデント布移動キ
ーv/回押下すると、第4図(B)のようになり、第6
図(A)においてインデント右移動キーを一回押下する
と第を図(C)のようになる。
第6図(B)のよりに、カーンルCM’&インデントマ
ークIndの位置におき、インデント右移動キーを押下
したときのことをもう一度考察する。この例においては
、カーノルのすぐ左側に存在するインデントブロックは
すべてスペースコードであった。従って、カーソルの位
置より左111KII!!えて2帯目のインデントブロ
ックが拡大して−1それによって喪失する文字(スペー
スは除く)ハ存在しない。しかしながら、カーノルのす
ぐ左側に存在するインデントブロックに丁でに文字が存
在し℃いる場合もある。このときKは、カーソルの位置
より左側に数えて2番目のインデントブロックが拡大す
ると文字等の喪失が発生することが起こり得る。そこで
1文字等(スペースコードな除く)の喪失が発生する可
能性があるときは、インデントブロックの拡大は行なわ
ず1文字等(スペ−スコードを除く)の喪失が発生する
可能性のないとき、インデントブロックの拡大を行なう
ものとする。
第4 因(B)および(C)におけるインデントブロッ
クの拡大は、関係する二つのインデントブロックの縦サ
イズが等しいときにおける例であるが、さらに第7図(
A)および(B)に関係する二つのインデントブロック
の縦サイズが興なる場合の例を示す、この場合、拡大す
るインデントブロックInb / f)縦サイズより拡
大を受けるインデントブロックIab Jの縦サイズの
方が大きいために、インデントブロックInd /の拡
大により【影Ilv受けるインデントブロックは、イン
デントブロックInbJK11!られることになり、イ
ンデントプロッタIn−一円に有効情報(本実施例にお
(・てはスベ−スコード以外の情報)が存在しない限り
、インデントブロックInb /の拡大は可能である。
しかしtふがし)、もし拡大するインデントブロックの
縦サイズ(行方向の大きさ)が拡大を受けるインデント
ブロックの縦サイズより大きいときは、拡大yr+ける
インデントブロックは!JI!数個トなるため。
処1里かり雑となるためその処理を言行ゎないものとす
る。
インデント左移動キーを用いて、インデントマークIn
dの移動を行ったときも1以上の説明と類似の戯作を行
う。
次に、インデントブロックInb内に文字等の入力を打
ったときについて、第1図th) 、  (B)および
(C)ン用いて説明する。第1図(A)のように。
インデントブロックInb内に文字等が入力され。
カーソルCMがインデントブロックInbの最後に位置
していたとする。第1図(A)において1文字@L#!
オーバーライドモードで入力したとすると。
第fill(8)のようになる。すなわち、インデント
ブロックは縦方向(矢印a)に自動的に拡大され。
次に入力される文字等に対する格納エリアの準備を行う
第を図(B)でさらにMNOP ’″と入力V続行する
と、第を図(C)のようにさらに同じ拡大な続ける。
gr図(B)で、さらにインデントブロックを拡大しよ
うとすると、下方に隣接するインデントブロックImb
を7行づつ下方にずらさねばならなくなる。第1図(C
)がその例である。
次に、インデントブロック内の文字の削除方法について
説明する。第9図(A)のように、インデントブロック
Inb内に文字が入力され、カーソルCMが@W”の下
に位置していたとする。削除キーV押下することにより
、以下に続く文字は1つづつ前につまる。その結果、今
まで@Y′″という文字が存在していた行はスペースコ
ー)’t 左−cr−vンコート、右マージンコード、
インデントコードのみから成る行となってしまう1本実
施例においては、該行LNを自動的に削除し、以下に続
く行を丁べて1行づつ隷り上げるものとする。第り図(
B)かその結果である。
次に、インデントマークIndを削除する方法について
述べる。
一つを工Fi11除キーケ用いる方法であり、インデン
トマークはスペースコードに置きかわる。
次に、インデントマークと罫線パターンとの切換機能3
Cついて説明する。いま、第5図(6)のようにインデ
ントブロックInbが形成されているとする。ここで、
インデン)#HI変換キーを押下するとb 45図(C
)の如く変換される。また、第5図(C)において罫線
インデント変換キーを押下すると、第5図(B)の如く
変換される。このようにして、インデントマークInd
と罫線パターンRPMとの相互変換が0T能となる。こ
の機能を用いることにより、インデントマークIndで
枠組みされたi&を域に文章を入力し、然る9ik槃酵
パターンに変更するならば、極めて容易に罫線パターン
KPMを有する文章を作成することができる。これは、
作表する上で非當に便利である。
インデントマークの罫線パターンへの変換は上述の如く
%罫線インデント変換キーを用いればワ規定される。
すなわち、カーソルが存在する行以降、インデントマー
クが存在する行が連続して続くところまでの範囲とする
。これによって、より単純なインデントマークの連らな
りからIl雑な罫線パターンの連らなりに変換すること
ができる。第1(I wJKその例を示す。
第70図(ム)において、カーソルな第2行の位置に持
ってきてインデントマークを罫線パターンに変更すると
第10図(C)が得られる。一方、第10図(A)にお
いてカーソルを第4行の位置に持ってきてインデントオ
ー夕を罫線パターンに変更すると第10図(B)が得ら
れる。さらに、第10図(II)においてカーソルを第
2行目に持ってきてインデントマークな罫線マークに変
換するならば、第10図(D)が得られる。このように
、インデントマーク4tllllllA?−ンKK更す
るにあたって、カーンルVCLって範囲指足な行うこと
ができるので、より自由な″M醪パターンが得られる。
さらには、インデントマークV罫糾パターンに変換する
最終餉域をインデントが存在する行が連続して続くまで
の範囲と規矩したため、やはり、より自由な罫線パター
ンを得るのに役立っている。
−I −Ifインデントマークな縦締パターンに変換し
た後、罫線パターンが存在する近傍に文字等の入力を行
ったり、挿入削除番の編集を行うならば、折角作った罫
線パターンの配列に乱れが発生することになる。そこで
、−置罫線パターンに変換した文書に対し、入力あるい
は編集!行なおうとするときは、罫線インデント変換キ
ーにより再び罫線パターンをインデントマークに変換し
た後行うようにする。
第S図(D)に具体的にインデントパターンV罫線パタ
ーンに変更するときの対応テーブルを示す。
なお、本実施例においては、文字の入力、インデントの
移m 141+除、キャリッジリターンキー人力等の機
能を実行させるにあたって、カーソルがインデントブロ
ック単位でキャリンジリターンコードが存在する行の右
側に位置させろことはないものとする。
以上、入力編集を行った文書は、プリントキーな押すこ
とによりプリンタに出力される。
第3図に示した本発明による文字処理装置の一実施例に
ついて、以下各構成要素vl12#4する。
KBは文章入力用キー(例えば、JIS#ll11に配
列されているキ一群)および本装置にそなわる檀々機能
V冥玖するためのファンタ7ヨ/キ一群より成るキーボ
ードである。そのファンクションキ一群は、下記のファ
ンクションキー&すなわち、インデントを設定するため
のインデントキー、インデントな右方向に移動するため
のインデント右移動キー、インデントを左方向に移動す
るためのインデント左移動キー、これから入力する文字
の挿入および削除、オーバーライトナ指示するための挿
入キー、削除キー、オーバー2イトキー、  CR1上
のカーソルを移動するためのカーノルキー、カーンルを
インデントブロック単位に逆方向に移動させるバックス
ペースキー、仕事の開始を指示するイニシャライズキー
。改行を指示するキャリンジリターンキー、インデント
マークを罫Hマークに変換−[るインデント11M変換
キー、罫線マークケインプントマークに変換する罫線イ
ンデント変換キーおよびプリント馨指示するプリントキ
ーから成る。キーボニドKBはエンコーダ機能な有し。
恢に一1Sする・夙埋部CPU Kより打鍵されたキー
の情報がIi光み取ら才しる。
Cルはカーソルレジスタである。後述する処理部CPU
にエリ、カーソルレジスタCRの内容な読)A曹きてる
ことができる。後述するCR’I’コントローラC1t
TCは、ここに蓄えられたアドレスに対応する衣が装置
CRT上の位置にカーソルを表示する機ttb v +
する。カーノルレジスタCaK蓄えられるbit @i
は/〜/21までのシリアルナンバーとし、C)LTコ
ントローラCB’l’Cは、このシリアルナンバーを?
″T数1桁ナンバーに置更し1表示することになる。W
B &!ワークバンファで、インデントプロンクIti
b内の情報を一時的に蓄えるためのバッファであり、バ
ッファのヘッダ部には7Wのパラメータが配置される。
容量42 /4 X 9 W + aの大きさとする。
後述の処理部CPUにより自由に読み書きできる。
DBuFはデータパン7アで、キーボードKBより入力
された文章情報を蓄えるためのメモリであり、後述する
CR’l”コントローラCR’f’Cによって、ここに
蓄えられた情報が表示装fIILCRT上に表示される
表示装置I CRT用のリフレッシュメモリとして使用
される。処理部CPUにより自由に読み書きできるもの
とする。データバッファDBuFは/4 X 9 Wの
容量な有し、そのうち前半の/4 X I Wのみが表
示装置CR’[’上に表示されるものとする。
CRTCはCRTコントローラでデータパン7アDBu
?に蓄えられた情報に従って文字1!!を表示装置CR
TK表示し、カーソルレジスタCRに蓄えられた情報に
従って表示装置CRT上にカーソルV*示する。制御を
行う。
文字等の表示は、横74文字、#IiI行の表示とし、
データバッファDBuFの内容と順に対応づけられてい
るものとする。
文字等の表ボにあたっては、後述するキャラクタジエネ
レ〜f’ CGを参照し、文字コードを文字パターンに
変更することを行う。具体的方法は公知である。。
C1tT を五表不装置であり、 CR’l’コントロ
ーラC1imeにより文字とカーソルV表示できる。
C(Jはキャラクタジェネレータであり1表示装置[C
RTへの文字表示やプリンタPR’rへの文字出力のた
めに使用される。CRTコントローラCIL’rC。
および後述するプリンタコントローラPR’l’Cによ
り用いられる。
pa’rc 汀プリンタコントローラであり、後述する
処理部CPUからの文字コード情報を、キャラクタジェ
ネレータCGv参照することによりパターンに直し、そ
のパターンをプリンタPRTに出力する。
プリンタコントローラPRTCは、罫線コードを罫脚パ
ターンに変換し出力することができる。好ましくは、パ
ターン出力にあって1行間1文字間なも連続する直線で
うめる!M能を有していた方がなお一層望ましい。
PH74!プリンタであり、プリンタコントロー2PR
TCからの情報に従って文字等をプリントアウトする。
CPUはマイクロプロセッサでなる処理部であり、演算
、論理判断尋を行う。後述するAB、  CB、DBを
コントロールする。
ABはアドレスバスで制御対象を指示するm号を転送す
る。
CBはコントロールパスで各種制御対象に−J#信号な
印加するものである。
DBはデータバスで各種データな転送する。
ROMは制御メモリで、第11図以降に示す制御手順等
を記憶するものである。
RAMはランダムアクセスメモリで、各檀データの例え
ばキャリンジリーーンフラッグCRFG 、オいられる
次j’c 、本夷九例の動作説明を行う。
本実ケii例は%電源投入時に自動的にキーボード処理
が動作丁2−ように構成されているものとする。
以下、各処理につき具体的に第11図以降のフローナヤ
ートを参照し、viL明を行う。
ます、キーボードKB上のキーが操作されると、以−ト
の縮序に従って操作キーが判別され、それぞれのキーに
対する処理が行われ、キー待ちの状態となる。
ステップKB /でキーボードKBから入力があったか
t判別する。入力がなければ、キー待ちにもどり、入力
があればステップKBコに移ってキーボードKBからの
データを取り込む。ステップKB3で取り込んだデータ
がキャリンシリターンキーか否かン判別する。YE8で
あれば、キャリッジリターン入力処理を行い、ステップ
KB 1でフラッグCRIFGを7にセクトし、キー待
ちにもどる。一方、ステツ1[8JでNOであれば、ス
テップ[8≦でフラッグCRFG tlo Kリセット
して次のキー判別ステップに移る。
ここで、ステツ7KB41F)*ヤリンジリターンキー
人力処理についてさらに述べる。
第72図はキャリンジリターンキーλカ処理についての
詳細を示す図である。かがる処理の各ステップの処理な
以下に示す。
ステップQ/  CRFGセットされているか?ステッ
プ勇コ 現カーノル位を汀インデントマークのすぐ右隣
か? ステップ@J 現カーソル位置の丁ぐ左隣のインデント
マークをスペースコー ドに変更する。
ステップ4L夢 カーソル【埃カーソル位置より左に存
在し、且つ鰻も近いイン デントマークあるいは左マージ ンマークのすぐ右隣の位置に移 動させる。(カーソルを移動さ せるにはカーソルレジスタに該 当数値を記入する。) ステツプ名! 文字キー人力処理/4(後述)を実行す
る。
[辻の如く1本発明においてはキャリッジリターー・′
キーにより枠組の変更を行うようにしているが、Il+
Jのキーにその機能をもたせるようにしてもよい。
ここで、書ひyIclI図のキーボード処理の説明に戻
る。。
ステツ1KB 4でフラングCI’LPG ’にリセッ
トした後、ステップKB 7に移り、インデントキーが
操作されたかを判別する。ymsであればステップ[H
rのインデントキー人力処理を行う、すなわち、インデ
ントマーク馨現カーノルが存在する位置に督き込?′j
0かかる処理が終了すれば、キー待ちVCもどる。
第73図はインデントキー人力処理についての詳#11
ケ月(T1である。各ステップの処理を以下にボ丁O ステップLl 現カーソルが存在している位置に対応す
るデータバッファDBuF 内の位置にインデントコードな 書き込む。
ステップlコ カーソルを一つ歩進させるためにカーソ
ルキー人力処理ノー(後 述する)を行う。
ここで、再び第1I図のキーボード処理の説明にもどる
。ステップKB 7でNoであれば、ステンプKBデに
移り、オーバフィトキーが操作されたかを判別する。キ
ー操作があれば、ステップKB 10でオーバライドフ
ラッグ0WFG V / Kセットし。
第1#図で後述するキー待ちにもどる。もし、NOであ
れば、ステップKB // K移り、挿入キーが操作さ
れたかを判別する。YlBであれば、ステップKB /
2で挿入キー人力処理を行う、すなわち、オーバライド
フラッグ0WFGをリセットし、第15図で後述するキ
ー待ちに移る。NOであれば、。ステップKl /Jに
移り、カーソルキーが操作されたかを判別する。YlB
であれば、ステップKB /# (第14図にて後述す
る)に移り、カーソルCR’r i1面面上状歩進させ
る。なお、カーソルが最終行最終桁にきたとき、左上の
位置に再び戻す。
第74図に示す如く、かかる処理は以下のステツ1でヤ
ニう /+ /   カーノルレジスタCRインクリメント。
/4tj   力−ノルレジスタCttのWiはlコl
を越えるか? lt3  カーソルレジスタC1tの値g/にするかか
る処理が終れば、キー待ちにもどる。もしNOで、j)
tlば、ステップKB /J K移る。かかるステップ
で文字キーが操作されたかを判別し、 YlBであれば
、ステップKB/≦(第17図(A))に移り。
以下の制#な行う。
/A、/   現カーソルの位置にインデントマーク。
左右マージンマークは存在するか? /6コ  インデントブロック8AVIit処理(後述
する)、 /43  オーバー2イトモードか? (オーバーライドフラッグ参照) itlI   オーバーライド処理ti述する)、14
、j  挿入処理(後述する)、 lル4  インデントコードクl’LB8’l’o)L
m処tIJA(flk述する)。
上述の各ステップは、以下の内容を行なっている。
/1./   文字キー人力処理は、カーソルがインデ
ントブロック内に存在しているとき のみ有効とする。すなわち、インデン トマークおよび左右マージンマークの 位置にカーソルがあるときは、本処理 は無処理とする。
/A J  入力処理はすべてワークパンファWB内で
行うため、カーソルが存在するイ ンデントブロック円情報をすべてワー クバッファWB円に移丁。但し、処理 は丁ぺてカーソルが存在する行より後 とする。また、その際ワークパンファ WBのHEADIR部に各檀バフメータχ設定しておく
l五J〜14.41 オーバーライドモードであるならば。
ワークバッファWB内でオーバーライ ド処理を行う。
ltj  挿入モードであるならば、ワークバッフアW
e内で挿入処理を行う。
/66  文字入力処理を終rしたワークパンフIWB
内の情報をもとのインデントブ ロックにもとて。
■二件の処理ケさらに説明する。
第77図(8)は文字のオーバーライドの例である。
/lOでろく1図をデータパンフTDBuF内の初期状
展とする。ここでは紙面の都合で横1桁、縦参行のf−
タバンファDBuPが表示装置 CR’l’に表示され
ている様子を示している。第17図(A)のステンプ/
lコを実有したのが、#、−で示すデータバンフ゛T 
DBuFとワークバッファWBの様子である。データバ
ンファDBuF円のデータは、ワークパンツアWllK
移されている。次に、ステップ/4.4Iによるオーバ
ーライド処理により、ワークバッフアWB内でQ)オー
バーライド処理が行われる。lt、コと/61で示すワ
ークバッフアWB内の違いは2文字c Q)後ろに文字
りが加わったこと、ワークバッファWBの第1 W t
 DA’l’A L′BNGTH)がインクリメントさ
れたこと、ワークバッファWBの$#W(カーソルアド
レス)がインクリメントされたことである。ステップ1
1では、ワークバッファWBに誓えられた情報が欠落な
く該当インデントブロックにすべてもどせるか否かを判
断する。この場合、110で示すインデントブロックの
容量がコキャラクタであり、ワークバッファWBに蓄え
られている情報illはカーソルが移動したために3キ
ヤヲクタに増加している。そのため、インデントブロッ
クvM方向に拡大し、ツー28フフフ1円の情報がすべ
て格納できるようにしたのが、/A lで示すデータバ
ッファDBuFの様子である。
ステップ/A、≦では、拡大されたインデントブロック
にオーバーライド処理後のワークバッファWBの情報な
すべてもと丁ことを行う。16≦で示す図がその様子v
不している。
上述の処理において、ステップ/&コのインデントブロ
ックセーブ処理について第1I図(A)を用いてさらに
訳明する。かかるステップは、以下の事な行う。
/1.L/   ワークバッファWBσ)データ格納エ
リアを丁べてスペースコードでうめ る。
# 7!−カーソルが存在するインデントブロック内の
カーソルが存在する行以降 のデータパン7アDBuFの内容を。
ワークパン7アW8に移丁(但し。
キャリンジリターンコードに続くス ペースコードは除く)。
/613   該インデントブロックをすべてスペース
コードで埋める。
7621  ワークバッファW80) HEADER部
に下記のパラメータを記入する。
1、ワークバッファW8に書き込んだデータの長さ。
但し、カーソルが存在する位置まで は必ず含めるものとする。
l該インデントブロックの横幅、 3該インデントブロツクの縦幅(イン デントブロックの行数)、 弘カーソルレジスタに対応するワーク バッファ内のアドレス。
ま該インデントブロックの先験のデー タバンフTnewF上で′の桁ナンバー。
6、該インデントブロックの先願のデータバッファDB
uF上での行ナンバー、2デ一タ行数(f@から最後に
連続し て続くスペース行数な除く)、 上述の各ステップは以下の目的な有fる。
/42/   ワークバッファWB vスペースコード
でイニシャライズすル。
/j、tJ   インデントブロック内の情報なワーク
バッファWBに移丁。
lぶJJ  移し終っ′X:後のインデントブロックハ
丁べ1スペースコードで堀める。
lLl  該インデントブロックの特徴をすべてワーク
バッファWe O)北ADIIL部に記入しておく、こ
の)IieADER部のパラメータは、各種処理におい
てワー クパン7ア■の内容にfv!を加え た時に、同時に変更され、またワー クバッファWBの内容をデータパン 7アDBuFにもど丁ときに役立つも α)である。
上述のステップ/A、Z2はさらに次のステップに分か
れる(凶ボせす)。
ltコJ/   カーソルが存在Tるインデントブロッ
クの範囲を認識する。この認識は 下記のようにして行う。現カーソル が存在している行を本処理における インデントブロックの先頭行とする。
現カーソルをはさむ現カーフルに最 も近いインデントマークあるいは左 右マージンマークをさがし、それを 該インデントブロックの横方向範囲 とする。第1行目の横方向範囲が段 差なく縦方向(行方向)に続くまで を該インデントブロックの縦方向の 範囲とする。以上のようにして該イ ンデントブロックの形状を認識する。
インデントブロックの範囲の認−は 彼達するインデントブロックを扱う 処理において、そのたびに利用する −が、そこでの観明は省略する。
/j、、2.Jコ ステップ/1121で認識されたイ
ンデントブロック内の情報をワークバ ッファWHに移す。
第11図CB)は、本処理における例な示す奄のである
。ステップlしiにおいて、ワークバッファにセーブす
るパラメータは次の通りである。
第1W  デー−の長さ ワークバッファに壷き込んだデータの 長さ。但し、キャリッジリターンコードに続くスペース
スートはb<、tX:%該インデントブロックの最研に
続くスペースコードも除く。さらに、カーソルが存在し
ている位置は、例えそこにスペースコードが存在してい
ても、スペースコード以外のコードがそこに存在してい
るとみなすものとする。
第2W 横幅 該インデントブロックの横幅、 第3W れ4幅 該インデントブロックの縦幅、 第<ZW  カーソル 現カーソルが示すDATAがワークバッファWB K格
納されている位置を示す。
最小値lであり最大wiは第1Wと同じ値となる。
第jW 該インデントブロックの先頭桁順インデントブ
ロックが存在するデー タバンファDBuF上の位置を規定する。
該インデントブロックの先頭文字がデータパン7アDB
uFの何行目に存在しているかな示すっ tfi&WRインデントブロックの先頭打順インデント
ブロックが存在するデー タバッファDBuF上の位aV規定する。
該インデントブロックの先頭文字がデーp バッファD
BulFの何行目に存在しているかを示す。
第7W データ行 インデントブロック内で、最後に連続 して続くスペース行を除いた縦幅な示す。
但シ、カーソルが存在している位置にスペースコードが
存在していても、該位置は文字コードが存在していると
−等とみな丁。最小値はl、最大値は第JWと同じ値と
なる。
また、ステップ/&参のオーバーライド処理(第19図
)の制御手順を以下に示す。
/4.≠l  ワークがパンフIWall亭W(力−ノ
ル)の示すワークバッフア■内 DATム位置にオーバーライド丁べき DATA Vオーバーライドし、ワークバッファ■の第
参W(カーソル) の値を更新する。
11弓  ワークバッファ卿第411W(カーソル)の
値は、ワークパン7アWeの 嬉/ W (DA’l”A LIANGTH)より大き
いか? /A u 3ry−り1<777WB(1)第1 W 
(DATALENoT)i ) o) 値をワークバフ
 77 WBの第弘W(カーソル)の値に置き換 える。
上述の各ステップをさらに説明する。
16μl  ワークバッファWeの該当位置にデーpを
書キ込む。また、カーソルを 進ませるためにワークバッファ■ の第aWの値を更新する。
16 弘 λ〜l/1.弘 3 カーソルの位置がワークバッファ WBの第1Wのデータレングスより 大きい場合には、カーソルの値、す なわちワークバッファwBの第ダW の値YワークバッファWeの第1W に移丁。すなわち、カーソルの位置 のスペースもデータに含めてデータ 長な決足するものとする。
前述のステップltjの詳細な第X図を参照し。
かかるステップは、ワークバッファ■の第参W(カーソ
ルンの示すワークバッフアWB内のデータ位置に挿入子
べきデータを挿入し、ワークバッファの第1W(DA’
l’ALINGTH)、 #l!41W(+/J −ノ
ル)の値を歩進(+l)する。
かかるステップに工りワークバッフア■内で挿入処NA
v行い、ワークバッファWBの第1W(DA’l’A 
LING’l’l()と1g参W(カーソル)との値な
インクリメントする。
次に、第77図(A) K示てインデントブロック再記
憶処II(リストア6塊)l龜4vさらに説明する。第
J/@はそれを示す図である。
/44 /   横幅をワークバッファWBの第1胃り
値としたときにおけるワークバッ ファWBの@/Wで指足されたDATA量のDATA 
V格納するのに必要な行数を求め、それを新DATA行
数とす る。途中、Ckコードが存在したと きは改行による行数増加を考慮しな け扛ばならない。(新DA’l’A行数しノスタNDル
に新DATA行数tセーブする。) # A、 J   i%jr DATA行数はワークバ
ッフアWB第JW(縦幅)より大きいか? 7663  インデントブロック拡大処理、/4.AQ
   耕データ行数レジスタNCRの新DA’I’A行
数は、ワークパン7アWeの第7 W CDA’l’A行数)より小さいか?H,6J  
 インデントプロンク縮小処理、/A、 a、 4  
 データバンファDBuF書き込み処理。
上述のステップ/A、 A、 / −/4.4. jに
ついてさらに説明する。
/l、、A、I   ’7−1バフ77のH’EADI
il’L @を参照してワークバッフアWe内のデータ をデータエリアDBuF rC格納するに必要な行数を
求める。
行数Y求めるにあたっては、ワー クバンファWBの第1胃に格納され ているインデントブロック横幅の値 を参照する。
また、キャリンジリターンCILコ ードが存在したときは改行による行 数増加を考慮する。
/4ムコ〜lム43 求めた行数ともとのインデントブ ロックの縦幅とを比較して、その行 数が縦幅を越えるときはインデント ブロックの縦方向の拡大を行って、 データエリアを確保する。
16遥参〜7直直! 求めた行数ともとのデータの行数 (もとのインデントブロックの縦幅 でなく、縦幅から最下行に連続して 続くスペース行の数を差し引いたも の)とを比較し、その行数がもとの データ行数を下回るとき、その分だ けインデントブロックの縦方向の縮 小処理な行う。
#L & 4   新しく作り直したインデントブロク
りにワークバンファの内容な移丁。
そり際、ワークバンファのHEADER部のパラメータ
を参照することによ り行う。
上述のステップ1663のインデントブロック拡大処理
につい−C1さらに第n図(A)を用いて説明する。
/463./  行挿入処理、 16乙3.コ 5PACl行移動処理、/l、6.3.
J   (新DATA行数−ワークバンファ第JW(縦
幅)〕の大きさの分だけ繰 り返したか? のステップ制御を行う。各ステップの目的は以下に示す
#、 A、 j、 /  カーノルが存在している行に
、いわゆる行挿入を行う。この際、挿入さ れる行DATAは下記の通りとする。
/ 左端、右端にそれぞれ左マージンコ−1”、右ff
−ジンコードなセントする。
2 前行にセントされているインデントコードのうち、
W方向罫鹸に関する インデントコードが存在する位置に 対応する挿入する行の位置にインデ ントコードな書き込む。ここで、縦 方向罫Iwに関係するインデントコー ドとは、そのインデントが存在する 前行にも横方向の同じ位置にインデ ントが存在している場合のインデン トである。
j yi在編集対象となっているインデントブロックの
左右境界な規矩してい るインデントの位置に対応する挿入 する行の位置にインデントコードな 書き込む。この位置は一般に−の位 置と一致する。
弘 その他の位置にはスペースコードを書き込む。
以上の行挿入処理な行うことにより、第2図(C) K
見られるようなインデントブロックの拡大が何ヤクこと
になり。
#、A7.2 行挿入の結果、今まで連続して続いてい
た文字列が切断され、文章とし てのつながりが保てなくなる。そこ で、インデント単位に挿入された行 以降のデータを1行づつくり上げる ことを行う。
#、 &3.7  インデントブロックを拡大する行数
分だけステップ/4. A、 j、 /とlムロ3.コ
Yくり返丁。
上述の処理によるデータの配列ン第n図CB)に7J<
−1−0 #pJn図(B)はインデントブロック拡大処理の例で
ある。/A、A、J、/で示す図では、行挿入が行われ
た様子が不されており、また/A、A、iコで示す図で
はインデント単位に挿入されたスペース行を下にずらし
た様子がηくされている。/A、 a、 3. Jの図
でわかるように、結果として、スペース行は、各インデ
ントごとに、ばらばらの位置に配されることになり、−
行Kまとまることはなくなる。この結果。
各インデントブロック単位に1文章の連続性が保たれた
形でインデントブロックの拡大が行われる。
前述のステップ/& & ! /の行挿入処理について
さらに第n図(A)を用いて説明する。かかる処理は、
以下の各ステップから成る。なお、その際のデータの流
れな第n図CB)に示しておく。
ill/、/  データバンファ内でカーノルが存在す
る行以降丁ぺての行+1/行下げ、 新しく発生した行にスペースコード な埋める。
/jLぶJ/、−新しく発生した行に、前行の左マージ
ンコード、インデントコード、右 マージンコードな同じ位置にコピー する。
上述のステップにより、現カーノルが示す位置にスペー
スコードだけから成る行を挿入し、しかる後左マージン
マーク、右マージンマーク、インデントマーク%:前行
と全く−じ位置に記入する。
前述のステップ/1,1.、iコのスペース行移動処理
についてさらに説明する。かかる処理は、第J図(A)
に7I<[各ステップを行う。
it、t3)l カーソルが存在する行の最左端のイン
デントフロックゲさが丁。
/163ココ インデントブロックは存在したか?/l
、4.3ス3 該インデントフロックの先頭にカーノル
桜動する(カーソルの移動は横 方向のみ)。
/&A、 3.24<  該インデントフロックのカー
ソルが存在している竹はすべてスペースコ ードか?(インデントブロック単位 で調べる〕 /l、4.3コS 該インデントフロック内でカーソル
が存在している行を削除して、すべ て7行繰り上げる。該インデントフ ロックの最稜まで実行し、最下行は スペースコードで埋める。
t t、 A3.24  右方へ次のインデントブロッ
クvさが丁。
上述のステップt′#4打することにより1例えばステ
ップ#、 4. j、 ! /、 、  /4.處J2
λ、  /4.4ま24にょリインプントブロックごと
に左方から順に処理を実行し、すべてのインデントフロ
ックに対して処理が終了するまで続ける。
ステップ/44117− #lJ、tjにより、各イン
ディトブロック単位でスペース行を、各インデントブロ
ックの最下行に移動させる。この処理はインデントブロ
ック単位で実行するため、最下行に移動した5PAC1
行の位置はインデントブロックごとに員なる。第ζ図(
B) Kその例を示す。
前述のステップILL!のインデントブロック縮小逃場
の詳細を第3図に示す。そのステップについて説明する
lムLまl 該インデントブロックの最終行が存在する
行全体に亘って、左マージン マーク、右マージン!−り、スペー スコード、インデントコード以外の 4のが存在せず、且つ膝行のインデ ント□コード設定位置と全く同じ設電 位置を有する行が前後に存在するな らば、ステップ/Aj、jJK進む。そ?でなければリ
ターンする。
/、46jj  Mインデントフロックの最終行を削除
し、それ以降に続< DATAをすべてih分上につめ
る。(インデント フロック単位でない) #+、A、j:j  データバッファDBuFの最終行
に対地・する位置に丁べてスペースコード な埋める。
#、A44(データバッファの最終行ニ左マージンコー
ド、右マージンコードな埋メ る。
#、tjJ   C’7−クバ777tg7W(DAT
Ai数)−新DATA行数〕の大きさの分 だけ翔り返したか? L述のステップ166、まl〜/Ai、jjY実行して
以ト”の目的を実現する。
#、7J:/  dインデントフロックの最終行におイ
テ%II接するインデントフロック も含めて1丁べて、左マージンコー ト、右マージンコード、インデント マーク、スペースコード以外の4の が存在していなかったら、また前後 の行の少なくと4一方と同じ位置に インデントが設定されていたならば 次のステップに進む。
11」コ  /直置よlでチェックした行を削除し。
後続する行な上へ繰り上げる。っ (インデントフロック単位でなく。
左右マージンを含めて実行するもの とする) /4jコJ〜l龜處jl 最終行に対応するデータバッファの 位置、左右マージンコート、スペー スコードな埋める。
/4.直よ! 縮小の必要なだけ縮小V繰り返丁。
前述のステップ7444のデータバッファ書き込み処理
について第ふ図を参照して説明する。
/444/  ワークパン7ア■のHIADER部パラ
メータに従ってワークパン7ア内 DATAをデータバッファにSす。
(但し、途中K C)tコードが存在した場合改行を行
う)インデントフロ ックをオーバーした分は捨てさる。
#、A、4..2   ワークバッファの@1IW(カ
ーソル)に対応するDA’l’A BUFFIR内アド
レスケアドノルレジスタに記入する。
(但し、その値がlコ、rを越えるときは/とする) 上述のステップ/A、 A、 A、 /〜/Ai、A、
Jを実行し、以トのことケ行う。
/A t A t  ワークバッファの内容χデータパ
ン7アに移す。
移丁べきデータの長さは第1Wに、 桜丁べきインデントブロックの横幅 で示される第コWに、移丁べきイン デントブロックのデータバッファ DBuF内位tはmS W、第4Wに示される。第!W
は桁番号で、第4W は行II号であり、この位置に該インデントフロックの
先頭文字が来ること になる。
#&4.2 カーノルレジスタヘカーンルアドレスYl
t込むワークバッファ■第 $Wにカーソルの存在すべきアドレ スが記入されている。こり値vv4際 のデータバッファ上でのアドレスに 変換し、カーソルレジスタCRに記 入する。
上述の処理が終了すると、第1/図に示すステップKB
 I40文字処理が終了し、キー待ちにもどる。
もし、NOであれば、ステップKB/7に移り、該ステ
ップKB I7で削除キーの操作があったかを判別する
。Y18であれば、第1図(A)に示す削除キー人力逃
場制御な行う。各ステップの内容は以下の通りである。
I1./   fiLカーンルノルにインデント!−り
は存在するか? /l J   現カーソル位置に対応するアドレスの内
容をスペースコードに変更する。
/I J   インデントブロックセーブ6場(14,
コバlざダ  削除処理。
ir、s   インデントブロックリストア処理(/A
、4 )%なおこの処理は、カーソルが左右マージン上
にあるときは機能 しないものとする。
上述のステップにより以下の事を実行する。
lll  カーソルがインデントマーク上にあるときは
ステップitコに、カーソルが インデントマーク上にないときはステ ップitsへそれぞれ進む。
/l−カーソルが存在する位置のコードtスペースコー
ドに変更する。
I13   該インデントブロックのワークバッファへ
のセーブを行う(14,コ)。
tir、4I   ワークバッファ上で削除処理な行う
llj  削除処理されたワークバッファWBの内容な
データバッファDBuFに戻丁。
第1図(8)は上述のFall除キースキー人力処理あ
る。各処理に対応して処理のステラ1番号が付されてい
る。tr Jのインデントブロックセーブ処理とltj
のインデントブロックリストア処理については、それぞ
れステンプltコ、/44で述べた。tr*がワークバ
ッフアWB上での削除処理である。
かかる削除処理+s pg x図に示す如くJステップ
より成り、各ステップな以下に示す。
/I 44/  ワークバッファWB j@参W(カー
ソル)の示す円DATA vPA除する。(すなわち、
該位置以降に存在するDATAを丁べて1つずつ前につ
める。) /I弘コ ワークバッフア■第+W(カーソル)の値と
第1 W (DATA LIONHTH)の値とは等し
いか? /I≠! ワークバッファW8 @ / W (DAT
ALINGTH)な/減する。
上述の各ステップにより以下の拳を行う。
I1.’l/  ワークバッファWB第参Wの示すワー
ク/3ツフア■内のデータv削除し、 後続するデータを丁ぺて罰へつめる。
I1.4AJ〜/1.4AJ 削除処理におい又は、カーソルの位置 &工移動しないものとする。従って、ワークパン7アW
B第1 W (DA’rA IJNGl用)の愉を、ワ
ークバンファ第ダW 、   (カーソル〕の値より小さくならない範囲でl
を減するものとする。
上述の処理が終r丁れば、キー待ちに移り%N。
であれば第l1図に示すステップKB/?に移る。ステ
ップKl/9でインデント右移動キーかを判別する。も
し、YB2であれば1lzt図(A)に詳細を示すイン
デント右J4ItJJキー人力処理を行う。
20、/   現カーソル位置をセーブする。
、20λ  現カーソルは、インデントコードの位置に
あるか? λ03  インデントブロックセーブ処理(16コ)%
20、44   インデントブロック横縮小処理。
コO0j   現カーソル位置さらに左方に別のインデ
ントコードが存在し、かつ、現カー ソルより左方に隣接してインデントブ ロックが二つ存在するか白か調べる。
(インデントブロックを′#R11liする方法はステ
ンプ/&λλ/Km明した遡りである。〕 一〇、4CステップコOjで1Nliした二つのインデ
ントブロックの円、右@は拡大す る方のインデントブロックであり、左 側は拡大な受けるインデントブロック である。) このステップでは、拡大するインデン トブロックの縦方向(行方向)の大き さと拡大を受けるインデントブロック の縦方向(行方向)の大きさとな比較 し、s者が後者より小さいかあるいは 等しいかを調べる。また、拡大V受け るインデントブロックに有効データが 存在していないことvmべる。両方と も成立するならばステップ20.7 K進む、否ならリ
ターンする。(rjN、tI!方向の太き8【比較する
にあたって番1゜各インデントブロックの行数を鯛べ。
かつ、その行数を比較することにより イエう。)また、拡大を受けるインデントブロンク内に
有効データが有るか否 かを鯛べるには、ステンプコ0.jで認識した拡大を受
ける方のインデントブ ロンク内の情報を先験から末尾まで1 文字ツつ、有効情報(スペースコード 以外の情報)であるか否かな判断し。
1つでも有効情報が存在したならば、 該インデントブロックに有効データが イf在したと判断てる。(なお、本実施例では、スペー
スコード以外のf−l と判断したが、他のコード、例えばデ ータがそこには存在しないことな示す コード以外のコードを丁べて有効デー タと判断して4よい。本出願人が既に 出mv打っている文字処理装置(特願 昭Sクー139114号)における白紙コードもその一
例である。〕 一〇7  塊カーソルi’lllのインデントブロック
の最左端に移す。
一〇、t   インデントブロックセーブ処理(lぶコ
)。
−〇、デ  インデントブロック横拡大処理、−〇、1
0  インデントブロックリストア処理(/表4)。
コ0.11g1カーソル位置を七−ブしておいたカーソ
ル位置にもどす。
〈注〉 インデント今−左移動キー人 力処11JJは上記説明で左と右を すべて逆にしたものと同じであ る。
<注〉  本処mt’zカーノルが左右マージン上にな
いものとする。
上述の各ステップの目的は以下の通りである。
コ0./@カーノルの位置をカーソル位置セーブレジス
タにセーブする。
コQコ  カーソルが文字上にあるときはステップJa
Jへ、カーソルがインデント上 にあるときはステップコQ!へそれぞ れ進む。
Jo、3   インデントブロックをセーブする(#i
)。
コσダ  ソークバッファ上でインデントブロックの縮
小処理を行う。ステップコ0.10へ進む。
一〇、j、  コ06 カーソルが存在する位置より左側にイ ンデントブロックがλつ存在し、かつ カーソルの丁ぐ左隣のインデントブロ ックの縦幅がさらに左のインデントブ ロックの縦幅より小さく(等しくて4 良い)かつカーソルから1つ置いて左 隣のインデントブロック内の情報の中 に有効データが存在しないときステッ プ20.7に進む。(換言するならば。
拡大するインデントブロックの縦サイ ズより拡大を受けるインデントブロッ クの縦幅の方が大きく(等しくても良 い)拡大を受けるインデントブロック 内に有効データが存在しなければステ ンプコ07に進む、) λ07 2つのインデントブロックの左側のインデント
ブロックの先頭文字の位置に カーソルを移動する。
20、r   インデントブロックセーブ処理(/jコ
ハコO0t   ワークパクファ内でインデントブロッ
クの拡大処理を行う。
コOlOインデントブロックのりストア処理(/41)
コo、it  カーソル位置セーブレジスタC8Kにセ
ーブしておいたカーソル位置アドレス をカーソルレジスタCRにもと丁。
第291i1(II)itカーンノル文字の上にあると
きの例である。この場合、インデント右移動キーによっ
て、インデントブロック会言横方向に縮小される。
−〇、参で示す図がワークバッファWBv使用してイン
デントプロッタの縮小を行ったところの例である。
第JFlltc)tzカーンノルインデント上にあると
きの例である。この場合、インデント布移動キーVC工
つ゛(インデントブロックは横方向に拡大される。コθ
9でボ丁図がワークバッファWBを使用してインデント
ブロック拡大処理な行った例である04F述のステップ
20.#1’jfさらに説明すると、第30図に75丁
如くステップから成る。
、277.4’/  現カーノルが存在しているインデ
ントブロックな、現カーノルが存在してい る位置にインデントコードな縦方向に 書き込むことによつ、縦方向に一等分 する。
コOlコ 現カーノルの位Illン右方向に1つずら1
暢 一〇4A3  ワークバッフアWa第JW(横幅〕に新
しくできた現カーノルが存在するイ ンデントブロックの横幅を記入する。
、20.≠ダ ワークバンファWB@ギW(カーソル)
の値な/KIR更する。
コo、ps  ワークパンファWB第SW(インデント
ブロック先頭桁)V新しくで#たイ ンデントブロックの先験桁番(’IKf更する。
〈注〉 インデント左移動コ2#の記 述の内、右を左と変更する。
上述の各ステップについてさらに説明する。
−〇、@l  まス、データバッファの該インデントブ
ロックを一等分することで縮小され たインデントブロックの作成な行う。
(iE方向に一等分したインデントブロックの右側に今
までそこにあった情報 が押し込められることになる。) 2o、*x  IKカーンノル右方向へ1つずら丁。そ
の位置が新しいインデントブロックの 先璽文字の位置になる。
λO,IAX〜Ja勇I ワークバッファ■すf(IADIR部の)くラメーーを
新しいインデントブロックの パラメータに皺き換える。
上述のステップコO3!のインデントブロック横拡大処
理につい1第3/図を参照して説明する。
−〇、デl カーツルが存在しているインデントブロッ
クの右側端な決定しているインデ ントマークなすべてスペースマークに 変更する・ 一〇タコ ワークバッフアWB第λWII4g)に新し
く拡大したインデントブロックの 横幅ケ記入する。
のステップから成り、塾各ステップは以下のことを行う
20、’?/  1ず、データパン7アのインデントブ
ロックにおいて、右側端のインデント マークな取り除くことでインデントブ ロックの拡大を行う。
λ0ター ワークバンファWB第コW(横幅〕の値を変
更する。
上述の処理が終了すれば、キー待ちに移る。もり、NO
であれば纂ノ1図に示すステップKB gのインデント
左キーかを判別する処理に移る。該ステップでYg&な
らば、7%テン1KBJJの入力処理に移る。
かかる処理は第β図(ム)において、図の説明文中の右
と左と【入れ換え、かつ数字J4#l’(illき換え
たものと同郷である。
また、インデントブロック横細小処理は鴫第X図におい
て1図の説明文中の右と左とを入れ換え。
かつ数字Xをnに置き換えたものと同等である。
さらに、インデントブロック横拡大処理について述べる
かかる処理は第n図に示すステップから成り。
勅各ステップについて説明する。
J191 カーソルが存在し【いるインデントプロッタ
の左側端な決定しているインデ ントマークVjぺてスペースマークに 変更する。
J2vコ ワークバクファWB第コW(横幅)に新しく
拡大したインデントブロックの 横幅を記入する。
JよデJ ワークバッファWB 第j W (該インデ
ントブロック先頭桁)V%新しく拡大 したインデンドブ欝りクの先頭桁Kf 更する。
上記各ステップを工以下の目的を実行する。
λ、L?/  ま′f%データパンファにおける該イン
デントブロックの左側端のインデント マークを取除くことによりインデント ブロックの拡大を行う。
コニター〜コJり3 ry −y /< 7 y 7 WB Wc J W 
(lfi幅)。
ワークバツブア■第jW(先頭桁) t′lfrシイインデントブロックに対応する値に変更
する。
上述の処理が終了丁れば、キー待ちに移り、Noであれ
ば第1/図にボ丁ステツ7 KB #に移る。
ステンプKt12jtXインデント罫線変換キーかの判
別ステップである。かかるステップKBJJでYB2と
なれば、ステップ3のインデント罫線変換キー人力処理
に移る。第n図LA)はその詳細を示すフローである。
各ステップの内容な以下に示す。
−ψl  カーソル位置セーブレジスタC8RK fi
カーソル位ft、すなわちカーノルレジスタCaに対応
する値tセーブする。
コ弘コ  現カーソルが存在する1行手前の行までデー
タバッファの内容な順にすべて ワークバンファWBK移す。
コ4A3  現カーソルが存在する行のデータ/(ンフ
ァの内容vf換テーブル第j図(D)を参照し、インデ
ントコードを罫lliコードに変換しながらワーク/<
ンファ ■に移丁 変換テーブルな参照するにあたっては、変換しようとし
ているインデントコードの上下左右に隣接して存在jる
文字コードあるいはインデントコードの状111により
異なることに注意しなければならない、具体的な対応は
、第j図(D) K示す通りである。
但し、上にlI振して存在するコード音チェックすると
きは注意しなければならない、jなわち。
周辺状況をデエククする範囲は最初にカーソルが存在し
た行以降に限るものとする。なお、最初にカーソルが存
在した行は、カーソル位置セーブレジスタ08RKセー
ブされている。
コ441I   カーソルレジスタの値に1行分の文字
数の麺を加える。
、24’ j   カーソルレジスタの値が121を超
えるならステップコ参7に進む。否ならス テップコ弘ぶに逸む。
コ弘4  現カーノルが存在する行にインデントコード
が存在するならばステップコ4Ajに進む。否ならステ
ップコ@7に進む。
コ17  データバッファDBの内容で、まだワークバ
ッファWBに移していないデー タがあったらすべて順にワークバッフ ァに移丁。
コ弘l  ワークバッファに蓄えたデータをすべて順に
データバッファDBに戻す。
J41. ?   カーノル位置セーブレジスタに蓄え
られたカーノル位置の情報に対応する値 をカーソルレジスタCILK蓄、する。
第33図(B)は、インデント罫ご線変換の例である。
上述の処理が終了したら、dP−待ちにもどる。
もし、 Noであれば第11図に示すステツ7 KI 
Jjに移ル、ステン7 KB Bにおいて罫線インデン
ト変換キーが操作されたかを判別する。もし、ymsで
あればステラ1Klムに移り、第邦図に示す処理を行う
J&/fiカーンルが存ノルる行以降の罫線コードt−
jぺてインデントコードに髪更する。
上述のステップによりデータバッファ内において、現カ
ーノルが存在する行以降をすべて罫線コードからインデ
ントコードへの変更を行う。
罫線コードは、第5図CD)に示すように、//檀’)
コ−1’(B/〜m//)であるが、インデントコード
は1種のコード(ICJ)であり、一義的にインデント
コードな足めることができるため、容易に変換を行うこ
とができる。
上述の処理が終了すれば、キー待ちとなる。もし、 N
Oであれば、ステラ1第1/図に示すKB J K移る
。ステップKBJ7で、イエシャライズキーが操作され
たかを判別する。Ylgであればイニシャライズ6場を
行う、第お図はそのフローを示す。
/ f−タバンファにすべてスペースコードな埋める。
J データバッファの左右マージン位置に相当する場所
に左マージンコード、右マージンコードな埋める。
上述のステップにより、データバッファに初期値V設ボ
することにより% Cut’s’上に表示される文字列
のイニシャライズを行う。これにより、左右マージンが
C)L’I’上に表示され、残りは丁ぺてスペースが5
Iiボされる。丁ぺての入力は、まずこのINTキーな
押丁ことにより始めることができる。
上述の処理が終了すれば、キー待ちとなる。もし%No
であれば第1/図に示すステップKBnft移る。ステ
ップKBJはプリントキーが操作されたかを判別する。
もし、 Ylgであれば、第36図に示すプリントキー
処理のステツ1KB 30.7 (第17図のステップ
30)に移る。かかるステップは以下の処理な行う。
データバッファの内容をプリンタに出力する。
上述の処理によりデータバッファの内容な丁ぺてプリン
トアウトする。縦横プリントの機能を4っているとなお
望ましい。
上述の処理が終了すれば、キー待ちとなる。もし%NO
であれば911図に示すステツ7 KB Jlに移る。
ステップKB JjはバックスペースキーB8が操作さ
れたか否かを判別する。もし、Y18であれば第1図(
A)に示すバッタスペースキー処理のステラy is 
u K tlる。また、その際のバックスペース処理を
第1図(1) K示す、かかるステップは以下の処理を
行う。
JJ /   カーノルレジスタCRt−デクリメント
する。
Jjコ  カーソルレジスタcFLは0以下であるなら
ステップJユJK進む。否ならj、141に進む。
31J  カーソルレジスタCRK/コlを七ットする
。リターンする。
32参  カーソルが存在している位置に対応するデー
タバッファ内データの内容が、 右マージンコードであるならばり一一 ンする。否ならステップJ2 jに進む。
3.25  カーソルが存在して(・る位[K対応する
データバッファ内データの内容が。
左マージンコード、インデントコート1のいずれtもな
ければリターンする。
否ならばステップ724に進む。
3)6  カーソルが第1行目に存在して(するならば
リターンする。否ならばステップ 327に進む。
3λ7  カーソルレジスタの値カ)ら1性分o〕文字
数の値(本実施例では74 ) Y減じる。
このことによりカーソルレジスタに上 げる。
JJLr   カーソルレジスタの値をインクリメント
し、カーソルを1つ右にずら丁。
jJ ?   カーソルが存在して(する位置に対応す
るデータバッファの内容がインデント コードまた&1右マージンコードであるならば、ステッ
プJ、、110に進む。否ならばステップ3よIrc進
む。
1110  カーソルレジスタの値V/減じろことによ
りカーソルを左方に1つずらす。
各ステップの意味をさらに述べる。
JJL/   カーソルを左シフトするためにカーソル
レジスタCBからI滅じる。
J1コ〜JユJ もし、カーソルレジスタの値が0以下 であるなら、tI−ノルがデータノ(ンファ枠内をはみ
出すことKなるので、デ ータバッファの末尾にカーソルがくる ようにする・ Jユ参  4L、カーソルが右マージン位置に来たとす
るなら、そのまま処理を終了す る。
JJLI   カーソルの位置のデータがインデントコ
ードあるいは左マージンコードでな いなら処SL−終了する。
JJL4   カーソルがJ行目に存在していたならば
、その上の行はもはや存在しないの で処理を終了する。
317〜3ユlO 今、カーソルが存在している前の行に おける該当インデントブロックの末尾 にカーソルな移動させる。
以上の処理Y終了すると、キー待ちになるが、もし、 
NOであるならば、やはりキー待ちにもどる。
以上貌明した本実施例にあっては、インデントブロック
(一つの編集の単位となるブロック)V自動的に縦方向
に拡大あるいは縮小を行う技術をjMypしているが、
該ブロックの拡大または縮小な行うとき、オペレータに
その可否を選択させてもよい。もし、この選択機能をつ
けておくならば。
自動的に拡大、N小を行ってはしくないとき1丁なわち
枠組みの大きさを固足させておきたいときに非常に有効
となる。この選択機能を付加させるKは1選択手段およ
び該選択中段からの遺択出力傷号な検出し、拡大あるい
は縮小を行うか否かを判断する手段等七設けることによ
り実現できる。
また、本実施例においては、枠組内柵集を行うときKは
、インデントマーク等の枠組コードを用い、出来上った
段階で枠組コードを101コードに変換し、gii付の
文字列を得ることKなる。そして、再びその文字列に対
し編集を行うときには。
罫il:f−ドな枠組コードK[換してから行うもので
ある。しかしながら、この罫線コードと枠組コードとの
取扱いな同一にすることによって、罫線コードのまま入
力編集を行うことができるようにして奄よい、あるいは
、g*ココーな含む文字列に対し入力編集61Iを行な
おうとするとき、自動的に4旦枠組コードに変換して入
力編集処理を行い、しか養後再び罫線コードに自動的に
戻すことにより、操作者にとっては罫線コードのまま入
力編集を行うことができるようになる。
さらに、インデントブロック縮小処理/A、L1におい
て削除する行な、該インデントブロックの最j  斜行
としたが、必ずし4最斜行である必要11ない。
例えば、スペース以外の文字コードが最終に存在する位
置の次の行としてもよい。あるいを2.〜除処理等によ
って新たに発生したスペース行とじてもよい。
以上評述した如く1本発明によれば、任意枠組みを設定
し、その枠内で文字等の処理な行うことかでき、枠組み
の拡大あるいは縮小ン行う必要の際には、より自然な形
での拡大あるいは縮小の可能な文字処理装*’v冥現す
ることができる。
【図面の簡単な説明】
第1図(A)〜(C)および第一図(A)〜(C)は文
字処理装置における枠組みの拡大および縮小の概念を説
明するための状態図、第3図は本発明による文字処理装
置の一実施例を示すブロック図。 第ダ図(A)およびCB)はインデントブロックを説明
する回、第5図(A)〜(D)はインデントマーりとM
線パターンの変換t−貌明する図、第4図(A)〜(C
,)は枠組みの変更V説明する図、第7図(A)および
(B)はインデントブロックの拡大を示す図、第1図(
A)〜(C)は枠組みの変更を説明する図。 第9図(A)および(B)は枠□組みの変更vl!明す
る図、w410図LA) 〜(D)42イ!/テン)1
g11切換えな示す図、第1/図は午−処理を行う制御
中履を示す流れ図、第72図はキャリッジリターン処理
を示す流れ図、第1J図はインデント入力処理な示す図
。 第1#図はオーバーライドキー人力処IIY示す図。 第1J図は挿入中−人力処理を示す図、第76図はカー
ソルキー人力処理を示す流れ図、第77図(A)は文字
キー人力処理を示す流れ図、第17図(II)は文字の
オーパライト処理を示す図、第1I図(A月1インデン
トブロックセーブ処理な示す図、第11@(B)はデー
タの流れを示す図、第n図はオー/(ライト処理を示す
流れ図、第X図は挿入処理【示す図、第J/IIはイン
デントプロ7クリストア処理な示す流れwA、mu図(
A)はインデントブロック拡大処mv示す流れli、第
n図(幻はデータの流れを示す図、第Jj図(A)は行
挿入処理な示す図、第JJiQ(B)はデータの流れを
示す図、第3図(A)4!スペース行移動処imv示す
流れ図、第111)はデータの流れ【示す図、第BvA
はインデントブーツク縮小魁珊を示す流れ1i11%第
1図(A)はデータバッファ書き込み処理V水丁図、第
1図(B) +1データの流れを示す図、第#&ll(
ム)は削除中−人力処理を)(<丁流れ図、第1図(B
)は文字の削除のデータの流れを示す図、第1図は削除
処理を示す図、第3図(A)はインデント右移動キー人
力処理な示す流れ図、第3図(B)はデータの流れな示
す図。 第1図(C)はデータの流れを示す図、第301!!Q
はインデントブロック横縮小処理を示す図、第Jl@は
インデントブロック横拡大処理を示す図、第32図はイ
ンデントブロック横拡大処理を示す図、第33図(A)
はインデント罫線変換キー人力処理な示す流れ図、第3
3図CB)I2データの流れを示す図、第3参図(A)
)j罫線インデント変換キー人力処理な示す図、第3#
図(B)4丁データの流れを示す図、第3S図はイニシ
ャフイズ処理な示す図、w43≦図はプリントキー人力
処理を示す図、第j7図LA)はノペックスペースキー
処瑞の手順な示す流れ図、第n図(B月エバツクスペー
ス処理V説明jろ図である。 KB・・・キーボードSROM・・・制御メモリ、RA
M・・・メモリ、WB・・・ワークI(ツファ。 DBuF・・・データバッファ、   CB−・・カー
ソルレジスタ。 第2図 第4図 1nDl 第10図 (′A) 第11図 第13図 第15図 第19図 第20図 第22図 >ABC:l)I:<1 名24図 ′B)1 第33図 (、へ) 第37図 (8)

Claims (1)

    【特許請求の範囲】
  1. 任意に枠組みを設定する設定手段と、該設定手段によっ
    て設定された枠組み内の情報の増減に応じて15tJ記
    枠組み、の大きさを可変とする可変手段とを有する文字
    処理装置において、前記可変手段によって大きさが変化
    された枠組み以外の枠組みの数ケ不変とするようにした
    ことを特歓とする文字処理装置。
JP57011787A 1982-01-29 1982-01-29 文字処理装置 Pending JPS58129676A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57011787A JPS58129676A (ja) 1982-01-29 1982-01-29 文字処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57011787A JPS58129676A (ja) 1982-01-29 1982-01-29 文字処理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP1020230A Division JPH038065A (ja) 1989-01-30 1989-01-30 文字処理装置

Publications (1)

Publication Number Publication Date
JPS58129676A true JPS58129676A (ja) 1983-08-02

Family

ID=11787636

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57011787A Pending JPS58129676A (ja) 1982-01-29 1982-01-29 文字処理装置

Country Status (1)

Country Link
JP (1) JPS58129676A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61118868A (ja) * 1984-11-14 1986-06-06 Canon Inc 画像処理システム
FR2575565A1 (fr) * 1984-12-29 1986-07-04 Canon Kk Dispositif de traitement de tableaux
JPH03266068A (ja) * 1990-03-16 1991-11-27 Fujitsu Ltd 表区画の自動縮小処理方式
JPH04289959A (ja) * 1991-03-19 1992-10-14 Nec Ic Microcomput Syst Ltd 文字列挿入枠内処理方式

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61118868A (ja) * 1984-11-14 1986-06-06 Canon Inc 画像処理システム
FR2575565A1 (fr) * 1984-12-29 1986-07-04 Canon Kk Dispositif de traitement de tableaux
JPH03266068A (ja) * 1990-03-16 1991-11-27 Fujitsu Ltd 表区画の自動縮小処理方式
JPH04289959A (ja) * 1991-03-19 1992-10-14 Nec Ic Microcomput Syst Ltd 文字列挿入枠内処理方式

Similar Documents

Publication Publication Date Title
US4176974A (en) Interactive video display and editing of text in the Arabic script
US4118695A (en) Data processing system
JPS58129676A (ja) 文字処理装置
US3685019A (en) Editing apparatus
JPS59149526A (ja) フイ−ルド内文書編集処理装置
KR100235523B1 (ko) 문자간 삽입 장치 및 삽입 방법
JPH0143338B2 (ja)
US5276792A (en) Word processor permitting modification of a preset frame
JPH0324701B2 (ja)
JPH0361197B2 (ja)
JPH0143339B2 (ja)
JP3072721B2 (ja) イメージ処理方法及び装置、イメージ処理プログラムを格納する記憶媒体
JP3147233B2 (ja) 文書処理方法及び装置
JPH0254588B2 (ja)
JPS63233465A (ja) 数式記号の入力表示方式
JPH0411908B2 (ja)
JP2965429B2 (ja) 文字出力装置
JP2698348B2 (ja) 文字処理装置
JPH0254589B2 (ja)
JP3210822B2 (ja) アニメーション処理方法およびそれを実施するための装置
JPH0427586B2 (ja)
JPH0254590B2 (ja)
JPH04218865A (ja) 文字処理方法
JPH04218866A (ja) 文書処理装置
JPS6216431B2 (ja)