JPH05250352A - Character processing method - Google Patents

Character processing method

Info

Publication number
JPH05250352A
JPH05250352A JP5032050A JP3205093A JPH05250352A JP H05250352 A JPH05250352 A JP H05250352A JP 5032050 A JP5032050 A JP 5032050A JP 3205093 A JP3205093 A JP 3205093A JP H05250352 A JPH05250352 A JP H05250352A
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.)
Pending
Application number
JP5032050A
Other languages
Japanese (ja)
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 JP5032050A priority Critical patent/JPH05250352A/en
Publication of JPH05250352A publication Critical patent/JPH05250352A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To improve the operability by grasping the position of a fixed character prior to an editing process and performing the process so that the grasped position of the fixed character is held. CONSTITUTION:An indent block is an area wherein areas which are surrounded with an indent mark or a left or right margin mark (most left or right end which can be inputted) and smallest in a lateral direction succeed vertically without any step. Characters, etc., which are inputted from a keyboard KB are processed in the frame of this indent block. Various processes of the indent block are performed behind the position where a cursor displayed on a CRT is present. The indent block is shaped by overwriting or inserting an indent mark on the display device CRT by using an indent key. After the indent block is formed, information of characters, etc., inputted from the keyboard KB is all processed in this indent block.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は文字の編集処理を行う文
字処理方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a character processing method for editing characters.

【0002】[0002]

【従来の技術】従来罫線を部分パターン化し、文字と同
等の取扱いを行うことによって罫線付の文書データ等を
作成し、プリント出力する装置があった。
2. Description of the Related Art Conventionally, there has been an apparatus which forms ruled lines into partial patterns and treats them in the same manner as characters to create document data with ruled lines and prints them out.

【0003】しかしながら罫線部分パターンの連なりを
データとして作成するにあっては部分パターンの数に相
当するだけの複数個の入力手段が必要であったり、ある
いは罫線の始点と終点とを指定し、それを部分パターン
の連なりデータに変換するといった操作が必要であった
りした。
However, in order to create a series of ruled line partial patterns as data, a plurality of input means corresponding to the number of partial patterns are required, or the start and end points of the ruled line are designated and It was necessary to perform an operation such as converting to a continuous data of partial patterns.

【0004】また、従来、あらかじめ設定された特定枠
内に文字等を入力し編集を行うことのできる文字処理装
置があった。例えば新聞のコラムへの電算機による入力
編集システム等はその例である。かかる固定化された枠
組みの大きさを変更しうるようにするために本出願人は
文字処理装置(特開昭55−135543号公報、本願
の図34、図35、図36を参照のこと)を提案してい
る。
Further, conventionally, there has been a character processing device capable of inputting a character or the like into a preset specific frame to edit the character. An example is a computer input editing system for newspaper columns. In order to make it possible to change the size of such a fixed frame, the present applicant has made a character processing device (see Japanese Patent Laid-Open No. 55-135543, FIGS. 34, 35 and 36 of the present application). Is proposed.

【0005】ここでは枠組みが左マージンマークHere, the framework is the left margin mark

【0006】[0006]

【外1】 右マージンマーク[Outer 1] Right margin mark

【0007】[0007]

【外2】 インデントマーク“◇”によって形造られている。ここ
での枠組みの定義は以下のようになっている。 左右方向:インデントマーク、左マージンマーク、右マ
ージンマーク等で囲われる最も小さな領域 上下方向:1左右マージンマークのみで枠組みされてい
る行の場合 ・文字等情報(スペースコードは除く)又はカーソルが
存在している行が連続して続く範囲 2インデントマークのみあるいはインデントマークと左
右マージンマークで枠組みされている行の場合 ・左右マージン、インデントが桁方向において同一に設
定されている範囲
[Outside 2] It is shaped by the indentation mark "◇". The definition of the framework here is as follows. Horizontal direction: Smallest area surrounded by indent mark, left margin mark, right margin mark, etc. Vertical direction: In the case of a line framed by only left and right margin marks ・ Character information (excluding space code) or cursor exists The range where the line that continues is continued 2 In the case where only the indent mark is used or the line is framed by the indent mark and the left and right margin marks ・ The range in which the left and right margins and indents are set to the same in the column direction

【0008】しかし、まだまだ改良の余地があり、出力
を行う以前に、表示画面上で高品位に密やかに編集でき
操作性のすぐれた装置を提供することが望まれていた。
However, there is still room for improvement, and it has been desired to provide a device which is capable of densely editing on the display screen with high quality and excellent in operability before outputting.

【0009】[0009]

【目的】以上の点に鑑み、本願発明の目的は、固定文字
を含む文書情報に対して編集を行う場合、編集処理に先
立って、固定文字の位置を把握することができ、編集処
理にあたり、固定文字の位置を保持することができる文
字処理方法を提供することにある。
[Object] In view of the above points, an object of the present invention is to, when editing document information including a fixed character, be able to grasp the position of the fixed character prior to the editing process. It is to provide a character processing method capable of holding the position of a fixed character.

【0010】[0010]

【実施例】次に本発明による実施例を述べる前に本実施
例で用いられる用語の説明をまず行う。 1.インデントコードInd CRT上に“◇”のマークで表示される。文字等をキー
ボードから入力するにあたって、あらかじめこのインデ
ントコードにより、枠組みが作られる。 2.左マージンコードLMM CRT上に
EXAMPLES Before describing the examples according to the present invention, the terms used in the examples will be first described. 1. Indent code It is displayed on the Ind CRT with a mark of "◇". When inputting characters etc. from the keyboard, a frame is created in advance by this indent code. 2. Left margin code on LMM CRT

【0011】[0011]

【外3】 のマークで表示される。キーボードから入力可能な最左
端を表示する。 3.右マージンコードRMM CRT上に
[Outside 3] It is displayed with the mark. Display the leftmost edge that can be entered from the keyboard. 3. Right margin code on RMM CRT

【0012】[0012]

【外4】 のマークで表示されるキーボードから入力可能な最右端
を表示する。 4.インデントブロックInb インデントマーク、左マージンマーク、右マージンマー
ク等で枠組みされた領域をさす。正しくは、次のように
定義される。 左右方向:インデントマーク、左マージンマーク、右マ
ージンマーク等で囲われる最も小さい領域 上下方向:マージン、インデントの設定位置が同一であ
る範囲。インデントブロックの定義を換言するならば、
インデントマークあるいは左マージンマーク、あるいは
右マージンマークによって囲まれる横方向で最も小さい
領域が段差なく上下に続く領域である。
[Outside 4] Displays the rightmost edge that can be entered from the keyboard indicated by. 4. Indent block Inb Indicates an area framed by an indent mark, a left margin mark, a right margin mark, and the like. Correctly, it is defined as follows. Horizontal direction: Smallest area surrounded by indent mark, left margin mark, right margin mark, etc. Vertical direction: Range where the setting positions of margin and indent are the same. In other words, the definition of the indent block is
The smallest region in the horizontal direction surrounded by the indent mark, the left margin mark, or the right margin mark is a region that continues vertically without any step.

【0013】図2の(a),(b),(c)はCRT上
に表示されるインデントブロックの例を示すものであ
る。
2A, 2B, and 2C show examples of indent blocks displayed on the CRT.

【0014】キーボードから入力された文字等はこのイ
ンデントブロックInbという枠内で処理される。この
インデントブロックInbは作表等のフォーマッテイン
グされた文章を作成する上で重要な役割をはたす。
Characters and the like input from the keyboard are processed within a frame called this indent block Inb. The indent block Inb plays an important role in creating formatted text such as a table.

【0015】本実施例においては、CRT上に表示され
たカーソルCMが存在する位置以降に対して、インデン
トブロックInbの各種処理を行うため、前述した定義
によるインデントブロックInbの内カーソルCMが存
在する行以降に対してインデントブロックInbという
表現をしているところがある。 5.枠組コード インデントコードInb、左マージンコードLMM、右
マージンコードRMMの3種のコードの総称。これらの
コードは、枠組パターン
In the present embodiment, since various processing of the indent block Inb is performed after the position where the cursor CM displayed on the CRT is present, there is the cursor CM in the indent block Inb defined above. There is a place where the indent block Inb is expressed after the line. 5. Frame code Indent code Inb, left margin code LMM, right margin code RMM A generic name for three types of codes. These codes are frame patterns

【0016】[0016]

【外5】 ◇と対応ずけられる(図3の(a)参照)。[Outside 5] ◇ corresponds to (see (a) of FIG. 3).

【0017】枠組みは下記により定義される。 左右方向:インデントマーク、左マージンマーク、右マ
ージンマーク等で囲われる最も小さい領域 上下方向:マージン、インデントが桁方向に同一である
状態が連続する範囲。(別の言い方をすると、段差なく
マージンあるいはインデントが上下に続く範囲)
The framework is defined by: Horizontal direction: Smallest area surrounded by indent mark, left margin mark, right margin mark, etc. Vertical direction: Range in which margins and indents are the same in the digit direction. (In other words, the range where the margin or indent continues up and down without a step)

【0018】図33の(b),(c)に上記定義による
枠組みの例を示す。一点鎖線で囲われた領域が枠組みで
あり、この定義によれば、前述のような枠組みの判断に
おける混乱を解消できることになる。 6.罫線コード 罫線部分パターンを図形文字としてコード化したもの。
図3の(a)で示す如く、11種の罫線パターンが罫線
コードと対応づけられている。
33 (b) and 33 (c) show examples of the framework defined above. The area surrounded by the one-dot chain line is the framework, and this definition can eliminate the confusion in the judgment of the framework as described above. 6. Ruled line code Coded ruled line pattern as graphic characters.
As shown in FIG. 3A, eleven types of ruled line patterns are associated with ruled line codes.

【0019】次に本発明による1実施例による概要を説
明する。
Next, an outline of one embodiment according to the present invention will be described.

【0020】実施例に示す装置はキーボード、処理部の
表示装置及びプリンタから成る。
The apparatus shown in the embodiment comprises a keyboard, a display unit of the processing unit and a printer.

【0021】すべての操作はキーボード上にある文字キ
ーあるいはファンクションキーにより実行する。
All the operations are executed by the character keys or function keys on the keyboard.

【0022】まずイニシャライズキーによりすべての状
態を初期化し、本実施例の各機能が実行可能な状態とな
る。
First, all states are initialized by the initialization key, and each function of this embodiment is ready to be executed.

【0023】イニシャライズキーを押すことにより、表
示装置上には、左右マージンマークLMM、RMMが表
示され、他はすべてクリアされる。カーソルCMは、最
上行の第2コラム目に位置し、キーボードからの文字等
の入力が可能となる。入力モードである挿入とオーバー
ライトとの選択は、挿入キーあるいはオーバーライトキ
ーを用いることにより行う。キーボードから入力された
文字等は、挿入モードあるいはオーバーライトモードに
於て、表示装置上でカーソルCMが表示されている位置
に入力される。カーソルCMはキーボードからの文字等
の入力に従って、1つずつ歩進する。誤入力を行ったと
き、削除キーを用い削除することができ、その場合後続
する文字列は1つずつ前につめられる。削除しょうとす
る文字はカーソルCMで指定する。カーソルCMはカー
ソルキーにより1つずつ歩進させることができる。入力
が終了した文字列はプリントキーを押下することにより
プリンタに出力させることができる。以上説明した入出
力制御は公知の技術で容易に実現することができる。
By pressing the initialize key, the left and right margin marks LMM and RMM are displayed on the display device, and the others are cleared. The cursor CM is located in the second column on the top line, and characters or the like can be input from the keyboard. Selection of the input mode of insert and overwrite is performed by using the insert key or the overwrite key. A character or the like input from the keyboard is input to the position where the cursor CM is displayed on the display device in the insertion mode or the overwrite mode. The cursor CM advances one by one according to the input of characters and the like from the keyboard. When an erroneous input is made, it can be deleted by using the delete key, in which case the following character strings are put forward one by one. The character to be deleted is specified with the cursor CM. The cursor CM can be stepped one by one with the cursor keys. The input character string can be output to the printer by pressing the print key. The input / output control described above can be easily realized by a known technique.

【0024】以下本発明における機能についてその操作
方法を述べる。
The operation method of the functions of the present invention will be described below.

【0025】まずインデントブロックInbを形成する
方法について述べる。インデントブロックInbは、イ
ンデントキーを用い表示装置上にインデントマークIn
dをオーバーライト又は挿入することにより形造ること
ができる。一度インデントブロックが出来上がった後
は、キーボードから入力された文字等の情報は、すべて
このインデントブロックInb内で処理されることにな
る。これにより、作表等のフォーマッティングされた文
章の作成は、容易に行えるようになる。又このインデン
トブロックInbは横方向に自由に拡大、縮小ができ
る。この様子を図4の(a),(b),(c)を用い説
明する。
First, a method of forming the indent block Inb will be described. The indent block Inb uses the indent key to display the indent mark In on the display device.
It can be shaped by overwriting or inserting d. After the indent block is completed once, all information such as characters input from the keyboard is processed in this indent block Inb. This makes it easy to create a formatted sentence such as a table. Further, this indent block Inb can be freely expanded and contracted in the lateral direction. This situation will be described with reference to FIGS. 4 (a), 4 (b) and 4 (c).

【0026】図4の(a)にように、インデントブロッ
ク内に複数個の文字が既に入力されていたとする。カー
ソルキーを用いカーソルCMを第1行目第8桁目の位
置、即ち、Bの位置に移動した上でインデント右移動キ
ーを押下すると、カーソルCMが存在したインデントブ
ロックは、横方向に縮小され、その分縦方向に拡大さ
れ、図4の(b)のようになる。次に図4の(b)のよ
うにカーソルCMをインデントマークIndの位置にお
きインデント右移動キーを押下すると、カーソルCMの
位置より左側に数えて2番目のインデントブロックIn
bが拡大し図4の(c)のようになる。
As shown in FIG. 4A, it is assumed that a plurality of characters have already been input in the indent block. When the cursor CM is moved to the position of the 8th digit of the first line, that is, the position of B using the cursor key, and the right indent key is pressed, the indent block where the cursor CM exists is reduced in the horizontal direction. That is, it is enlarged in the vertical direction by that amount, and becomes as shown in FIG. Next, as shown in FIG. 4B, when the cursor CM is placed at the position of the indent mark Ind and the right indent key is pressed, the second indent block In counting from the position of the cursor CM to the left side is displayed.
b is enlarged and becomes as shown in FIG.

【0027】即ち図4の(a)においてインデント右移
動キーを1回押下すると、図4の(b)のようになり、
図4の(a)においてインデント右移動キーを2回押下
すると図4の(c)のようになる。
That is, when the indent right shift key is pressed once in (a) of FIG. 4, it becomes as shown in (b) of FIG.
When the indent right shift key is pressed twice in (a) of FIG. 4, it becomes as shown in (c) of FIG.

【0028】図4の(b)のようにカーソルCMをイン
デントマークIndの位置におき、インデント右移動キ
ーを押下した時のことをもう一度考察する。この例にお
いてはカーソルのすぐ左側に存在するインデントブロッ
クはすべてスペースコードであった。従ってカーソルの
位置より左側に数えて2番目のインデントブロックが拡
大してもそれによって喪失する文字(スペースは除く)
は存在しない。しかしながら、カーソルのすぐ左側に存
在するインデントブロックに既に文字が存在している場
合も有る。この時にはカーソルの位置より左側に数えて
2番目のインデントブロックが拡大すると文字等の喪失
が発生することが起こり得る。そこで、文字等(スペー
スコードを除く)の喪失が発生する可能性が有る時はイ
ンデントブロックの拡大は行わず、文字等(スペースコ
ードを除く)の喪失が発生する可能性のない時、インデ
ントブロックの拡大を行うものとする。
Consider again when the cursor CM is placed at the position of the indentation mark Ind as shown in FIG. 4B and the right indentation key is pressed. In this example, all indent blocks to the immediate left of the cursor were space codes. Therefore, even if the second indent block counted to the left of the cursor position expands, the character is lost (excluding spaces).
Does not exist. However, there is a case where a character already exists in the indent block located on the left side of the cursor. At this time, when the second indent block counted to the left of the cursor position expands, characters and the like may be lost. Therefore, when there is a possibility that characters, etc. (excluding space codes) may be lost, the indent block is not expanded, and when there is no possibility that characters, etc. (excluding space codes) will be lost, indent block Shall be expanded.

【0029】図4の(b),(c)におけるインデント
ブロックの拡大は、関係する二つのインデントブロック
の縦サイズが等しい時における例であるが、さらに図3
6の(a),(b)に関係する二つのインデントブロッ
クの縦サイズが異なる場合の例を示す。この場合拡大す
るインデントブロックInb1の縦サイズより拡大を受
けるインデントブロックInb2の縦サイズの方が大き
いために、インデントブロックInd1の拡大によって
影響を受けるインデントブロックはインデントブロック
Inb2に限られることになり、インデントブロックI
nb2内に有効情報(本実施例においてはスペースコー
ド以外の情報)が存在しない限り、インデントブロック
Inb1の拡大は可能である。しかしながら、もし拡大
するインデントブロックの縦サイズ(行方向の大きさ)
が拡大を受けるインデントブロックの縦サイズより大き
い時は、拡大を受けるインデントブロックは複数個とな
るため、処理が複雑となるためその処理は行わないもの
とする。
The enlargement of the indent block in FIGS. 4B and 4C is an example when the vertical sizes of two related indent blocks are the same, and further, FIG.
An example in which the vertical sizes of the two indent blocks related to (a) and (b) of 6 are different is shown. In this case, since the vertical size of the indent block Inb2 to be expanded is larger than the vertical size of the indent block Inb1 to be expanded, the indent block affected by the expansion of the indent block Ind1 is limited to the indent block Inb2. Block I
As long as valid information (information other than the space code in this embodiment) does not exist in nb2, the indent block Inb1 can be expanded. However, if the vertical size of the indent block to expand (size in the row direction)
When is larger than the vertical size of the indent block to be expanded, there is a plurality of indent blocks to be expanded, and the process is complicated, so the process is not performed.

【0030】インデント左移動キーを用いて、インデン
トマークIndの移動を行った時も以上の説明と類似の
動作を行う。
When the indent mark Ind is moved by using the indent left move key, the operation similar to the above description is performed.

【0031】次にインデントブロックInb内に文字等
の入力を行った時について図5の(a),(b),
(c)を用い説明する。図の(a)のように、インデン
トブロックInb内に文字等が入力され、カーソルCM
がインデントブロックInbの最後に位置していたとす
る。図5の(a)において文字“L”をオーバーライト
モードで入力したとすると、図5の(b)のようにな
る。即ちインデントブロックは縦方向(矢印A)に自動
的に拡大され、次に入力される文字等に格納エリアの準
備を行う。
Next, when a character or the like is input in the indent block Inb, (a), (b) of FIG.
An explanation will be given using (c). As shown in (a) of the figure, characters or the like are input in the indent block Inb, and the cursor CM
Is located at the end of the indent block Inb. If the character "L" is input in the overwrite mode in FIG. 5A, the result is as shown in FIG. 5B. That is, the indent block is automatically enlarged in the vertical direction (arrow A), and the storage area is prepared for the character to be input next.

【0032】図5の(b)でさらに“MNOP”と入力
を続行すると図5の(c)のようにさらに同じ拡大を続
ける。
When the input of "MNOP" is further continued in FIG. 5B, the same expansion is continued as shown in FIG. 5C.

【0033】図5の(b)で、さらにインデントブロッ
クを拡大しょうとすると、下方に隣接するインデントブ
ロックInbを1行ずつ下方にずらさねばならなくな
る。図5の(c)がその例である。
To further expand the indent block in FIG. 5B, it is necessary to shift the adjacent indent block Inb downward by one line. An example is shown in FIG.

【0034】次にインデントブロック内の文字の削除方
法について説明する。図6の(a)のようにインデント
ブロックInb内に文字が入力され、カーソルCMっが
“W”の下に位置していたとする。削除キーを押下する
ことにより、以下に続く文字は1つずつ前につまる。そ
の結果今まで“Y”という文字が存在していた行はスペ
ースコード、左マージンコード、右マージンコード、イ
ンデントコードのみから成る行となってしまう。本実施
例においては該行Lを自動的に削除し、以下に続く行を
すべて1行ずつ繰り上げるものとする。
Next, a method of deleting characters in the indent block will be described. It is assumed that a character is input in the indent block Inb as shown in FIG. 6A and the cursor CM is located under "W". By pressing the delete key, the following characters will be moved forward one by one. As a result, the line in which the character "Y" existed until now becomes a line consisting of only the space code, the left margin code, the right margin code, and the indent code. In this embodiment, the row L is automatically deleted, and all the following rows are moved up one by one.

【0035】図6の(b)がその結果である。FIG. 6B shows the result.

【0036】次にインデントマークIndを削除する方
法について述べる。
Next, a method of deleting the indentation mark Ind will be described.

【0037】一つは削除キーを用いる方法であり、イン
デントマークはスペースコードに置きかわる。
One is a method of using a delete key, and the indent mark replaces the space code.

【0038】次にインデントマークと罫線パターンとの
切換機能について説明する。今図3の(b)のようにイ
ンデントブロックInbが形成されているとする。ここ
でインデント罫線変換キーを押下すると、図3の(c)
の如く、変換される。又図3の(c)において罫線イン
デント変換キーを押下すると図3の(b)の如く変換さ
れる。このようにしてインデントマークIndと罫線パ
ターンRPMとの相互変換が可能となる。この機能を用
いることにより、インデントマークIndで枠組された
領域に文章を入力し、然る後罫線パターンに変更するな
らば、極めて容易に罫線パターンKPMを有する文章を
作成することができる。これは、作表する上で非常に便
利である。
Next, the function of switching between the indent mark and the ruled line pattern will be described. Now, assume that the indent block Inb is formed as shown in FIG. When the indent ruled line conversion key is pressed here, (c) in FIG.
Is converted like. When the ruled line indent conversion key is pressed in FIG. 3C, conversion is performed as shown in FIG. In this way, the indentation mark Ind and the ruled line pattern RPM can be mutually converted. By using this function, if a sentence is input in the area framed by the indentation mark Ind and then changed to the ruled line pattern, the sentence having the ruled line pattern KPM can be created very easily. This is very convenient for tabulating.

【0039】インデントマークの罫線パターンへの変換
は上述の如く、罫線インデント変換キーを用いればワン
タッチで行うことができるが、インデントマークが罫線
パターン変換される範囲は、下記の如く規定される。
As described above, conversion of the indent mark into the ruled line pattern can be performed with one touch by using the ruled line indent conversion key. However, the range in which the indent mark is converted into the ruled line pattern is defined as follows.

【0040】即ちカーソルが存在する行以降、インデン
トマークが存在する行が連続して続くところまでの範囲
とする。これによってより単純なインデントマークの連
なりから複雑な罫線パターンの連なりに変換することが
できる。図35にその例を示す。
That is, the range is from the line where the cursor is present to the place where the lines where the indentation mark is present continue. As a result, it is possible to convert a series of simpler indent marks into a series of complicated ruled line patterns. FIG. 35 shows an example thereof.

【0041】図35の(a)においてカーソルを第2行
の位置に持ってきてインデントマークを罫線パターンに
変更すると図35の(c)が得られる。一方図35の
(a)においてカーソルを第6行の位置に持ってきてイ
ンデントマークを罫線パターンに変更すると図35の
(b)が得られる。さらに図35の(b)においてカー
ソルを第2行目に持ってきてインデントマークを罫線マ
ークに変換するならば、図35の(c)が得られる。こ
のようにインデントマークを罫線パターンに変更するに
あたって、カーソルによって範囲指定を行うことができ
るので、より自由な罫線パターンが得られる。さらには
インデントマークを罫線パターンに変換する最終領域を
インデントが存在する行が連続して続くまでの範囲と規
定したため、やはり、より自由な罫線パターンを得るの
に役立っている。
When the cursor is moved to the position of the second line in FIG. 35A and the indentation mark is changed to a ruled line pattern, FIG. 35C is obtained. On the other hand, when the cursor is moved to the position of the sixth line in FIG. 35A and the indentation mark is changed to the ruled line pattern, FIG. 35B is obtained. Further, if the cursor is moved to the second line in FIG. 35B to convert the indent mark into a ruled line mark, FIG. 35C is obtained. In this way, when changing the indentation mark to the ruled line pattern, the range can be specified by the cursor, so that a more free ruled line pattern can be obtained. Further, since the final area for converting the indent mark into the ruled line pattern is defined as the range until the line where the indent exists continues, it is also useful for obtaining a more freely ruled line pattern.

【0042】一方一度インデントマークを罫線パターン
に変換した後罫線パターンが存在する近傍に文字等の入
力を行ったり、挿入削除等の編集を行うならば、折角作
った罫線パターンの配列に乱れが発生することになる。
そこで、一度罫線パターンに変換した文書に対し入力あ
るいは編集を行おうとする時は、罫線インデント変換キ
ーにより再び罫線パターンをインデントマークに変換し
た後行うようにする。
On the other hand, if a character or the like is input in the vicinity of the ruled line pattern after the indent mark is converted into the ruled line pattern, or if editing such as insertion / deletion is performed, the arrangement of the ruled line pattern that has been formed is disturbed. Will be done.
Therefore, when an attempt is made to input or edit a document once converted into a ruled line pattern, the ruled line indent conversion key is used to convert the ruled line pattern into an indent mark again.

【0043】図3の(d)に具体的にインデントパター
ンを罫線パターンに変更する時の対応テーブルを示す。
なお本実施例においては、文字の入力、インデントの移
動削除、キャリッジリターンキー入力等の機能を実行さ
せるにあたって、カーソルがインデントブロック単位で
キャリッジリターンコードが存在する行の右側に位置さ
せることはないものとする。
FIG. 3D shows a correspondence table when the indent pattern is specifically changed to the ruled line pattern.
In this embodiment, the cursor is not positioned on the right side of the line where the carriage return code exists in indent block units when executing functions such as character input, indent movement deletion, and carriage return key input. And

【0044】以上入力編集を行った文書は、プリントキ
ーをおすことによりプリンタに出力される。
The document input and edited as described above is output to the printer by pressing the print key.

【0045】図1は、本発明による文字処理装置の一実
施例を示すブロック図である。以下各構成要素を説明す
る。KBは文書入力用キー(例えばJIS鍵盤に配列さ
れているキー群)及び本装置にそなわる種々機能を実現
するためのファンクションキー群より成るキーボードで
ある。上記ファンクションキー群は下記のファンクショ
ンキー即ち、インデントを設定するためのインデントキ
ー、インデントを右方向に移動するためのインデント右
移動キー、インデントを左方向に移動するためのインデ
ント左移動キー、これから入力する文字の挿入、削除、
オーバーライトを指示するための挿入キー、削除キー、
オーバーライトキー、CRT上のカーソルを移動するた
めのカーソルキー、カーソルをインデントブロック単位
に逆方向に移動させるバックスペースキー、仕事の開始
を指示するイニシャライズキー、改行を指示するキャリ
ッジリターンキー、インデントマークを罫線マークに変
換するインデント罫線変換キー、罫線マークをインデン
トマークに変換する罫線インデント変換キー及びプリン
トを指示するプリントキーから成る。キーボードKBは
エンコーダ機能を有し、後述する処理部CPUにより打
鍵されたキーの情報が読み取られる。
FIG. 1 is a block diagram showing an embodiment of a character processing device according to the present invention. Each component will be described below. The KB is a keyboard including document input keys (for example, a key group arranged on the JIS keyboard) and function key groups for realizing various functions associated with the apparatus. The above function keys are the following function keys: indent key for setting indent, right indent key for moving indent to the right, indent left key for moving indent to the left. Insert, delete,
Insert key, delete key for instructing overwrite,
Overwrite key, cursor key to move the cursor on the CRT, backspace key to move the cursor backward in increments of indent blocks, initialization key to start work, carriage return key to start a new line, indent mark To a ruled line mark, an indented ruled line conversion key, a ruled line indented conversion key for converting a ruled line mark into an indented mark, and a print key for instructing printing. The keyboard KB has an encoder function, and the information of the key pressed by the processing unit CPU described later is read.

【0046】CRはカーソルレジスタである。後述する
処理部CPUにより、カーソルレジスタCRの内容を読
み、書きすることができる。後述するCRTコントロー
ラCRTはここに蓄えられたアドレスに対応する表示装
置CRT上の位置にカーソルを表示する機能を有する。
カーソルレジスタCRに蓄えられる情報は1〜128ま
でのシリアルナンバーとし、CRTコントローラCRT
Cは、このシリアルナンバーを行数、桁ナンバーに変更
し、表示することになる。
CR is a cursor register. The processing unit CPU, which will be described later, can read and write the contents of the cursor register CR. The CRT controller CRT described later has a function of displaying a cursor at a position on the display device CRT corresponding to the address stored here.
The information stored in the cursor register CR is a serial number from 1 to 128, and the CRT controller CRT
C changes this serial number into the number of lines and digit number and displays it.

【0047】WBはワークバッファで、インデントブロ
ックInb内の情報を一時的に蓄えるためのバッファで
あり、バッファのヘッダ部には7Wのパラメータが配置
される。容量は16×9W+αの大きさとする。後述の
処理部CPUにより自由に読み、書きできる。
WB is a work buffer, which is a buffer for temporarily storing information in the indent block Inb, and a 7 W parameter is arranged in the header portion of the buffer. The capacity is 16 × 9 W + α. It can be freely read and written by the processing unit CPU described later.

【0048】DBuFはデータバッファで、キーボード
KBより入力された文章情報を蓄えるためのメモリであ
り、後述するCRTコントローラCRTCによってここ
に蓄えられた情報が表示装置CRT上に表示される。表
示装置CRT用のリフレッシュメモリとして使用され
る。CPUにより自由に読み書きできるものとする。デ
ータバッファDBuFは16×9Wの容量を有し、その
うち前半の16×8Wのみが表示装置CRT上に表示さ
れるものとする。
DBuF is a data buffer, which is a memory for storing the text information input from the keyboard KB, and the information stored therein is displayed on the display device CRT by a CRT controller CRTC described later. It is used as a refresh memory for a display device CRT. The CPU can freely read and write. The data buffer DBuF has a capacity of 16 × 9 W, of which only the first half 16 × 8 W is displayed on the display device CRT.

【0049】CRTCはCRTコントローラでデータバ
ッファDBuFに蓄えられた情報に従って文字等を表示
装置CRTに表示し、カーソルレジスタCRに蓄えられ
た情報に従って表示装置CRT上にカーソルを表示する
コントロールを行う。
The CRTC controls the CRT controller to display characters and the like on the display device CRT according to the information stored in the data buffer DBuF and to display the cursor on the display device CRT according to the information stored in the cursor register CR.

【0050】文字等の表示は横16文字、縦8行の表示
とし、データバッファDBuFの内容と順に対応づけら
れているものとする。
It is assumed that the characters and the like are displayed in 16 characters horizontally and 8 lines vertically and are associated with the contents of the data buffer DBuF in order.

【0051】文字等の表示にあたっては、後述するキャ
ラクタジェネレータCGを参照し、文字コードを文字パ
ターンに変更することを行う。具体的方法は公知であ
る。
In displaying characters and the like, the character code is changed to a character pattern by referring to a character generator CG described later. The specific method is known.

【0052】CRTは表示装置であり、CRTコントロ
ーラCRTCにより文字とカーソルを表示できる。
The CRT is a display device, and characters and a cursor can be displayed by the CRT controller CRTC.

【0053】CGはキャラクタジェネレータであり、表
示装置CRTへの文字表示やプリンタPRTへの文字出
力のために使用される。CRTコントローラCRTC、
及び後述するプリンタコントローラPRTCにより用い
られる。
CG is a character generator and is used for displaying characters on the display device CRT and outputting characters to the printer PRT. CRT controller CRTC,
And a printer controller PRTC described later.

【0054】PRTCはプリンタコントローラであり、
後述する処理部CPUからの文字コード情報をキャラク
タジェネレータCGを参照することによりパターンに直
し、該パターンをプリンタPRTに出力する。
PRTC is a printer controller,
Character code information from a processing unit CPU, which will be described later, is converted into a pattern by referring to the character generator CG, and the pattern is output to the printer PRT.

【0055】プリンタコントローラPRTCは、罫線コ
ードを罫線パターンに変換し出力することができる。好
ましくはパターン出力にあって行間、文字間をも連続す
る直線でうめる機能を有していた方がなお一層望まし
い。
The printer controller PRTC can convert the ruled line code into a ruled line pattern and output it. It is even more desirable to have a function of filling a continuous straight line between lines and characters in pattern output.

【0056】PRTはプリンタであり、プリンタコント
ローラPRTCからの情報に従って文字等をプリントア
ウトする。
The PRT is a printer, and prints characters and the like according to information from the printer controller PRTC.

【0057】CPUはマイクロプロセッサであり、演
算、論理判断等を行う。後述するAB,CB,DBをコ
ントロールする。
The CPU is a microprocessor and performs arithmetic operations, logical judgments and the like. It controls AB, CB, and DB described later.

【0058】ABはアドレスバスで制御対象を指示する
信号を転送する。
AB transfers a signal designating a control target through the address bus.

【0059】CBはコントロールバスで各種制御対象に
制御信号を印加するものである。
CB is a control bus for applying control signals to various controlled objects.

【0060】DBはデータバスで各種データを転送す
る。
The DB transfers various data through the data bus.

【0061】ROMは制御メモリで、図7以降に示す制
御手順等を記憶するものである。
The ROM is a control memory and stores the control procedure shown in FIG. 7 and subsequent figures.

【0062】RAMはランダムアクセスメモリで、各種
データノ例えばキャリッジリターンフラッグCRFG、
オーバライトフラッグOWFG、新データ行数レジスタ
NDLカーソルセーブレジスタCSR一時記憶に用いら
れる。
The RAM is a random access memory, and various data such as a carriage return flag CRFG,
Used for overwrite flag OWFG, new data row number register NDL cursor save register CSR temporary storage.

【0063】次に本実施例の動作説明を行う。Next, the operation of this embodiment will be described.

【0064】本実施例は、電源投入時に自動的にキーボ
ード処理が動作するように構成されているものとする。
以下各処理につき具体的に図7以降のフローチャートを
参照し、説明を行う。
In this embodiment, it is assumed that the keyboard processing automatically operates when the power is turned on.
Hereinafter, each process will be specifically described with reference to the flowcharts of FIG.

【0065】まずキーボードKB上のキーが操作される
と以下の順序に従って操作キーが判別され、それぞれの
キーに対する処理が行われ、キー待ちの状態となる。
First, when a key on the keyboard KB is operated, the operation key is discriminated in the following order, the process is performed for each key, and the key waits.

【0066】ステップKBIでキーボードKBから入力
があったかを判別する。入力がなければ、キー待ちにも
どり、入力があればステップKB2に移りキーボードK
Bからのデータを取り込む。ステップKB3で、取り込
んだデータがキャリッジリターンキーか否かを判別す
る。YESであれば、キャリッジリターン入力処理を行
い、ステップKB5でフラッグCRFGを1にセット
し、キー待ちにもどる。一方ステップKB3でNOであ
れば、ステップKB6でフラッグCRFGをOにリセッ
トし次のキー判別ステップに移る。ここでステップKB
4のキャリッジリターンキー入力処理についてさらに述
べる。
At step KBI, it is determined whether or not there is an input from the keyboard KB. If there is no input, it returns to the key wait, and if there is input, it moves to step KB2 and keyboard K
Take in data from B. In step KB3, it is determined whether the fetched data is a carriage return key. If YES, a carriage return input process is performed, the flag CRFG is set to 1 in step KB5, and the process waits for a key. On the other hand, if NO in step KB3, the flag CRFG is reset to O in step KB6 and the process proceeds to the next key determination step. Step KB here
The carriage return key input processing of No. 4 will be further described.

【0067】図8はキャリッジリターンキー入力処理に
ついての詳細を示す図である。かかる処理の各ステップ
の処理を以下に示す。 ステップ4.1 CR FGセットされているか ステップ4.2 現カーソル位置はインデントマークの
すぐ右隣か? ステップ4.3 現カーソル位置はすぐ左隣のインデン
トマークをスペースコードに変更する。 ステップ4.4 カーソルを現カーソル位置より左に存
在しかつ最も近いインデントマークあるいは左マージン
マークの直ぐ右隣の位置に移動させる。(カーソルを移
動させるにはカーソルレジスタに該当数値を記入す
る。) ステップ4.5 文字キー入力処理16
FIG. 8 is a diagram showing details of the carriage return key input processing. The processing of each step of this processing is shown below. Step 4.1 Is CR FG set? Step 4.2 Is the current cursor position right next to the indent mark? Step 4.3 Change the indent mark on the immediate left of the current cursor position to the space code. Step 4.4 Move the cursor to the position to the left of the current cursor position and immediately to the immediate right of the closest indent mark or left margin mark. (Enter the corresponding value in the cursor register to move the cursor.) Step 4.5 Character Key Input Processing 16

【0068】上述の如く本発明に於てはキャリッジリタ
ーンキーにより枠組の変更を行うようにしているが、他
のキーにその機能をもたせるようにしても良い。
As described above, in the present invention, the frame is changed by the carriage return key, but other keys may be provided with the function.

【0069】ここで再び図7のキーボード処理の説明に
移る。
Now, let us return to the description of the keyboard processing of FIG.

【0070】ステップKB6でフラッグCRFGをリセ
ットした後、ステップKB7に移り、インデントキーが
操作されたかを判別する。YESであれば、ステップK
B8のインデントキー入力処理を行う。即ちインデント
マークを現カーソルが存在する位置に書き込む。かかる
処理が終了すれば、キー待ちにもどる。
After resetting the flag CRFG in step KB6, the process proceeds to step KB7 to determine whether the indent key is operated. If YES, step K
Perform indent key input processing of B8. That is, the indent mark is written at the position where the current cursor is. When this processing is completed, the key wait state is restored.

【0071】図9はインデントキー入力処理についての
詳細を示す図である。各ステップの処理を以下に示す。 ステップ8.1 現カーソルが存在している位置に対応
するデーターハッファDBuF内の位置にインデントコ
ードを書き込む ステップ8.2 カーソルを一つ歩進させるためにカー
ソルキー入力処理(14)を行う。詳細は後述する。
FIG. 9 is a diagram showing details of the indent key input processing. The processing of each step is shown below. Step 8.1 Write the indent code at the position in the data huffa DBuF corresponding to the position where the current cursor exists. Step 8.2 The cursor key input process (14) is performed to move the cursor one step. Details will be described later.

【0072】ここで再び図7のキーボード処理の説明に
もどる。ステップKB7でNOであれば、ステップKB
9に移り、オーバライトキーが操作されたかを判別す
る。キー操作があれば、ステップKB10でオーバライ
トフラッグOWFGを1にセットし、(図10)キー待
ちに戻る。もしNOであれば、ステップKB11に移
り、挿入キーが操作されたかを判別する。
Here, returning to the explanation of the keyboard processing of FIG. If NO in step KB7, step KB
Moving to 9, it is determined whether the overwrite key has been operated. If there is a key operation, the overwrite flag OWFG is set to 1 in step KB10, and the process returns to the key waiting (FIG. 10). If NO, the process proceeds to step KB11 and it is determined whether the insert key is operated.

【0073】YESであれば、挿入キー入力処理を行
う。即ち、オーバライトフラッグOWFをリセットし、
(図11)キー待ちに移る。
If YES, insert key input processing is performed. That is, the overwrite flag OWF is reset,
(FIG. 11) Wait for the key.

【0074】NOであれば、ステップKB13に移り、
カーソルキーが操作されたかを判別する。YESであれ
ば、ステップKB14(図12)に移り、カーソルCR
T画面上順次歩進させる。なおカーソルが最終行最終桁
に来た時、左上の位置に再び戻す。
If NO, the process proceeds to step KB13,
Determine whether the cursor key was operated. If YES, the process moves to step KB14 (FIG. 12) and the cursor CR
Step forward on the T screen. When the cursor is at the last digit of the last line, it returns to the upper left position.

【0075】かかる処理は以下のステップで行う。 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処理
Such processing is performed in the following steps. 14.1 Cursor register CR increment 14.2 Is the value of the cursor register CR over 128? 14.3 Set the value of the cursor register CR to 1 When this processing is completed, the key waiting state is restored. If NO, the process proceeds to step KB15. In this step, it is determined whether or not the character key is operated. If YES, the process proceeds to step KB16 ((a) in FIG. 13) to perform the following control. 16.1 Are there indent marks and left / right margin marks at the current cursor position? 16.2 Indent block SAVE processing 16.3 Overwrite mode? (Refer to the overwrite flag) 16.4 Overwrite processing 16.5 Insertion processing 16.6 Indent block RESTORE processing

【0076】上述の各ステップは以下の内容を行ってい
る。 16.1 文字キー入力処理はカーソルがインデントブ
ロック内に存在している時のみ有効とする。即ち、イン
デントマーク及び左右マージンマークの位置にカーソル
がある時は本処理は無処理とする。 16.2 入力処理はすべてワークバッファWB内で行
うためカーソルが存在するインデントブロック内情報を
すべてワークバッファWB内に移す。(但し処理はすべ
てカーソルが存在する行より後とする。又その際ワーク
バッファWBのHEADER部に各種パラメータを設定
しておく。この説明から明らかな様に、編集を行う場合
を考えると、編集処理に先立って、固定文字を把握する
こととなる。 16.3〜16.4 オーバーライトモードであるなら
ワークバッファWB内でオーバーライト処理を行う。 16.5 挿入モードであるならワークバッファWB内
で挿入処理を行う。 16.6 文字入力処理を終了したワークバッファWB
内の情報をもとのインデントブロックにもどす。
The above-mentioned steps have the following contents. 16.1 Character key input processing is valid only when the cursor is inside the indent block. That is, when the cursor is at the position of the indent mark and the left and right margin marks, this process is not performed. 16.2 Since all input processing is performed in the work buffer WB, all indent block information in which the cursor exists is moved to the work buffer WB. (However, all the processing is performed after the line where the cursor exists. At that time, various parameters are set in the HEADER portion of the work buffer WB. As is clear from this explanation, considering editing, Prior to processing, a fixed character is grasped 16.3 to 16.4 Overwrite processing is performed in the work buffer WB if in the overwrite mode 16.5 In work buffer WB if in the insert mode Inserting process is performed with 16.6 Work buffer WB which finished the character input process
The information inside is returned to the original indent block.

【0077】上述の処理をさらに説明する。The above processing will be further described.

【0078】図13の(b)は文字のオーバーライトの
例である。16.0で示す図をデータバッファDBuF
内の初期状態とする。ここでは紙面の都合で横8桁、縦
4行のデータバッファDBuFが表示装置CRTに表示
されている様子を示している。16.2のステップを実
行したのが16.2で示すデータバッファDBuFとワ
ークバッファWBの様子である。データバッファDBu
F内のデータは、ワークバッファWBに移されている。
次にステップ16.4によるオーバーライト処理によ
り、ワークバッファWB内でのオーバーライト処理が行
われる。16.2と16.4で示すワークバッファWB
内の違いは文字Cの後ろに文字Dが加わったことワーク
バッファWBの第1W(DATA LENGTH)がイ
ンクリメントされたことと、ワークバッファWBの第4
W(カーソルアドレス)がインクリメントされたことで
ある。ステップ16.4ではワークバッファWBに蓄え
られた情報が欠落なく該当インデントブロックにすべて
もどせるか否かを判断する。この場合16.0で示すイ
ンデントブロックの容量が2characterであり
ワークバッファWBに蓄えられている情報量はカーソル
が移動したために3characterに増加してい
る。そのためインデントブロックを縦方向に拡大し、ワ
ークバッファWB内の情報がすべて格納できるようにし
たのが16.4で示すデータバッファDBuFの様子で
ある。ステップ16.6では、拡大されたインデントブ
ロックにオーバーライト処理後のワークバッファWBの
情報をすべてもどすことを行う。16.6で示す図がそ
の様子を示している。
FIG. 13B shows an example of character overwriting. The data buffer DBuF shown in FIG.
The initial state inside. Here, due to space limitations, a data buffer DBuF having 8 columns horizontally and 4 rows vertically is displayed on the display device CRT. It is the state of the data buffer DBuF and the work buffer WB shown in 16.2 that the step of 16.2 is executed. Data buffer DBu
The data in F has been moved to the work buffer WB.
Next, the overwrite processing in step 16.4 performs the overwrite processing in the work buffer WB. Work buffer WB shown at 16.2 and 16.4
The difference is that the character D is added after the character C, the first W (DATA LENGTH) of the work buffer WB is incremented, and the fourth of the work buffer WB is
That is, W (cursor address) is incremented. In step 16.4, it is determined whether the information stored in the work buffer WB can be returned to the corresponding indent block without omission. In this case, the capacity of the indent block indicated by 16.0 is 2 characters, and the amount of information stored in the work buffer WB has increased to 3 characters because the cursor has moved. Therefore, it is the state of the data buffer DBuF shown in 16.4 that the indent block is vertically expanded so that all the information in the work buffer WB can be stored. In step 16.6, all the information in the work buffer WB after the overwrite processing is returned to the enlarged indent block. The figure indicated by 16.6 shows this situation.

【0079】上述の処理に於いてステップ16.2のイ
ンデントブロックセーブ処理について図14の(a)を
用いてさらに説明する。かかるステップは以下の事を行
う。 16.2.1 ワークバッファWBのデータ格納エリア
をすべてスペースコードでうめる。 16.2.2 カーソルが存在するインデントブロック
内のカーソルが存在する行以降のデータバッファDBu
Fの内容を、ワークバッファWBに移す。(但し、キャ
リッジリターンコードに続くスペースコードは除く) 16.2.3 該インデントブロックをすべてスペース
コードで埋める。 16.2.4 ワークバッファWBのHEADER部に
下記のパラメータを記入する。 1.ワークバッファWBに書き込んだデータの長さ。但
しカーソルが存在する位置までは必ず含めるものとす
る。 2.該インデントブロックの横巾 3.該インデントブロックの縦巾(インデントブロック
の行数) 4.カーソルレジスタに対応するワークバッファ内のア
ドレス 5.該インデントブロックの先頭のデータバッファDB
上での桁ナンバー 6.該インデントブロックの先頭のデータバッファDB
上での行ナンバー 7.データ行数(縦巾から最後に連続して続くスペース
行数を除く)
The indent block save process of step 16.2 in the above process will be further described with reference to FIG. Such steps do the following: 16.2.1 Fill the data storage area of the work buffer WB with space codes. 16.2.2 Data buffer DBu after the line where the cursor exists in the indent block where the cursor exists
The contents of F are transferred to the work buffer WB. (However, the space code following the carriage return code is excluded.) 16.2.3 All the indent blocks are filled with space code. 16.2.4 Enter the following parameters in the HEADER section of the work buffer WB. 1. Length of data written to work buffer WB. However, the position up to the position of the cursor must be included. 2. Width of the indent block 3. 3. Vertical width of the indent block (number of lines of the indent block) 4. Address in work buffer corresponding to cursor register 5. Data buffer DB at the beginning of the indent block
Digit number above 6. Data buffer DB at the beginning of the indent block
Line number above 7. Number of data lines (excluding the number of space lines that continue from the vertical width to the end)

【0080】上述の各ステップは以下の目的を有する。 16.2.1 ワークバッファWBをスペースコードで
イニシャライズする。 16.2.2 インデントブロック内の情報をワークバ
ッファWBに移す。 16.2.3 移し終わった後のインデントブロックは
すべてスペースコードで埋める。 16.2.4 該インデントブロックの特徴をすべてワ
ークバッファWBのHEADER部に記入しておく。こ
のHEADER部のパラメータは各種処理においてワー
クバッファWBの内容に変更を加えた時に、同時に変更
され又、ワークバッファWBの内容をデータバッファD
BuFに戻す時に役立つものである。
The steps described above have the following purposes. 16.2.1 Initialize the work buffer WB with the space code. 16.2.2 Move the information in the indent block to the work buffer WB. 16.2.3 All indent blocks after the transfer is filled with space code. 16.2.4 Write all the features of the indent block in the HEADER section of the work buffer WB. The parameters of the HEADER section are changed at the same time when the contents of the work buffer WB are changed in various processes, and the contents of the work buffer WB are changed.
This is useful when returning to BuF.

【0081】上述のステップ16.2.2はさらに次の
ステップに分かれる。(不図示) 16.2.2.1. カーソルが存在するインデントブ
ロックの範囲を認識する。(認識は下記のようにして行
う。現カーソルが存在している行を本処理におけるイン
デントブロックの先頭行とする。現カーソルをはさむ現
カーソルに最も近いインデントマークあるいは左右マー
ジンマークをさがし、それを該インデントブロックの横
方向範囲とする。第1行目の横方向範囲が段差なく縦方
向(行方向)に続くまでを該インデントブロックの縦方
向の範囲とする。以上のようにして該インデントブロッ
クの形状を認識する。インデントブロックの範囲の認識
は後述するインデントブロックを扱う処理において、そ
のたびに利用するが、そこでの説明は省略する。) 16.2.2.2. ステップ16.2.2.1で認識
されたインデントブロック内の情報をワークバッファW
Bに移す。
Step 16.2.2 described above is further divided into the following steps. (Not shown) 16.2.2.1. Recognize the range of the indent block where the cursor is. (Recognition is done as follows. The line in which the current cursor exists is the first line of the indent block in this processing. The indent mark or the left and right margin marks closest to the current cursor that sandwiches the current cursor is searched for and The horizontal range of the indent block is defined as the vertical range of the first line until the horizontal range of the first line continues in the vertical direction (row direction) without any steps. The recognition of the range of the indent block is used each time in the process of handling the indent block described later, but the description thereof will be omitted.) 16.2.2.2. The information in the indent block recognized in step 16.2.2.1 is stored in the work buffer W.
Move to B.

【0082】図14の(b)は、本処理における例を示
すものである。16.2.4においてワークバッファに
セーブするパラメータは次の通り。 第1W データの長さ ワークバッファに書き込んだデータの長さ。但し、キャ
リッジリターンコードに続くスペースコードは除く。又
該インデントブロックの最後に続く、スペースコードも
除く。又カーソルが存在している位置は例えそこにスペ
ースコードが存在していても、スペースコード以外のコ
ードがそこに存在していると見なすものとする。 第2W 横巾 該インデントブロックの横巾 第3W 縦巾 該インデントブロックの縦巾 第4W カーソル 現カーソルが示すDATAがワークバッファWBに格納
されている位置を示す。最小値1であり最大値は第1W
と同じ値となる。 第5W 該インデントブロックの先頭桁 該インデントブロックが存在するデータバッファDBu
F上の位置を規定する。該インデントブロックの先頭文
字がデータバッファDBuFの何桁目に存在しているか
を示す。 第6W 該インデントブロックの先頭行 該インデントブロックが存在するデータバッファDBu
F上の位置を規定する。該インデントブロックの先頭文
字がデータバッファDBuFの何行目に存在しているか
を示す。 第7W データ行 インデントブロック内で、最後に連続し続くスペース行
を除いた縦巾。但しカーソルが存在している位置に、ス
ペースコードが存在していても該位置は文字コードが存
在していると同等と見なす。最小値は1、最大値は第3
Wと同じ値となる。
FIG. 14B shows an example of this processing. The parameters to be saved in the work buffer in 16.2.4 are as follows. 1st W Data length The length of the data written in the work buffer. However, the space code following the carriage return code is excluded. Also, the space code following the end of the indent block is excluded. Further, even if a space code exists at the position where the cursor exists, it is assumed that a code other than the space code exists there. Second W Width Width of the indent block Third W Vertical width Width of the indent block Fourth W Cursor Indicates the position where the DATA indicated by the current cursor is stored in the work buffer WB. Minimum value is 1 and maximum value is 1W
It will be the same value as. 5W First digit of the indent block Data buffer DBu in which the indent block exists
Define the position on F. The position of the first character of the indent block in the data buffer DBuF is shown. 6W First line of the indent block Data buffer DBu in which the indent block exists
Define the position on F. It indicates in which line of the data buffer DBuF the first character of the indent block exists. 7W Data line The vertical width of the indent block excluding the space line that continues at the end. However, even if the space code exists at the position where the cursor exists, it is considered that the position is equivalent to the existence of the character code. The minimum value is 1, the maximum value is the third
It has the same value as W.

【0083】またステップ16.4のオーバーライト処
理(図15)の制御手順を以下に示す。 16.4.1 ワークバッファWB第4W(カーソル)
の示すワークバッファWB内DATA位置にオーバーラ
イトすべきDATAをオーバーライトし、ワークバッフ
ァWBの第4W(カーソル)の値を更新する。 16.4.2 ワークバッファWB第4W(カーソル)
の値は、ワークバッファWBの第1W(DATA LE
NGTH)より大きいか? 16.4.3 ワークバッファWBの第1W(DATA
LENGTH)の値をワークバッファWBの第4W
(カーソル)の値に置き換える。
The control procedure of the overwrite process (FIG. 15) at step 16.4 is shown below. 16.4.1 Work buffer WB 4W (cursor)
The data to be overwritten at the DATA position in the work buffer WB indicated by is overwritten, and the value of the fourth W (cursor) in the work buffer WB is updated. 16.4.2 Work buffer WB 4W (cursor)
Is the first W (DATA LE of the work buffer WB).
Is it greater than NGTH)? 16.4.3 1st W of the work buffer WB (DATA
LENGTH) value to the 4th W of the work buffer WB
Replace with the value of (cursor).

【0084】上述の各ステップをさらに説明する。 16.4.1 ワークバッファWBの該当位置にデータ
を書き込む。又カーソルを進ませるためにワークバッフ
ァWBの第4Wの値を更新する。 16.4.2〜16.4.3 カーソルの位置がワーク
バッファWBの第1Wのデータレングスより大きい場合
には、カーソルの値即ちワークバッファWBの第4Wの
値をワークバッファWBの第1Wに移す。即ちカーソル
の位置のスペースもデータに含めてデータレングスを決
定するものとする。
The above steps will be further described. 16.4.1 Write data to the corresponding position in the work buffer WB. Also, the fourth W value of the work buffer WB is updated to move the cursor. 16.4.2 to 16.4.3 When the position of the cursor is larger than the first W data length of the work buffer WB, the cursor value, that is, the fourth W value of the work buffer WB is set to the first W of the work buffer WB. Transfer. That is, the space at the position of the cursor is also included in the data to determine the data length.

【0085】前述のステップ16.5の詳細を図16を
参照しさらに説明する(挿入処理)。
The details of step 16.5 will be further described with reference to FIG. 16 (insertion process).

【0086】かかるステップはワークバッファWBの第
4W(カーソル)の示すワークバッファWB内のデータ
位置に挿入すべきデータを挿入し、ワークバッファの第
1W(DATA LENGTH)、第4W(カーソル)
の値を更新(+1)する。
In this step, the data to be inserted is inserted into the data position in the work buffer WB indicated by the fourth W (cursor) of the work buffer WB, and the first W (DATA LENGTH) and the fourth W (cursor) of the work buffer are inserted.
The value of is updated (+1).

【0087】かかるステップによりワークバッファWB
内で挿入処理を行い、ワークバッファWBの第1W(D
ATA LENGTH)と第4W(カーソル)との値を
インクリメントする。
With the above steps, the work buffer WB
Insert processing is performed in the first buffer (W) of the work buffer WB (D
ATA LENGTH) and the value of the fourth W (cursor) are incremented.

【0088】次に図13の(a)に示すインデントブロ
ック再記憶処理(リストア処理)16.6をさらに説明
する。図17はそれを示す図である。 16.6.1 横巾をワークバッファWBの第2Wの値
とした時のワークバッファWBの第1Wで指定されたD
ATA量のDATAを格納するのに必要な行数を求め、
それを新DATA行数とする。途中CRコードが存在し
た時は改行による行数増加を考慮しなければならない。
(新DATA行数レジスタNDRに新DATA行数をセ
ーブする。) 16.6.2 新DATA行数はワークバッファWB第
3W(縦巾)より大きいか? 16.6.3 インデントブロック拡大処理 16.6.4 新データ行数レジスタNDRの新DAT
A行数は、ワークバッファWBの第7W(DATA行
数)より小さいか? 16.6.5 インデントブロック縮小処理 16.6.6 データバッファDBuF書き込み処理
Next, the indent block re-storing process (restoring process) 16.6 shown in FIG. 13A will be further described. FIG. 17 is a diagram showing this. 16.6.1 D specified by the first W of the work buffer WB when the width is the second W value of the work buffer WB
Find the number of rows needed to store the ATA amount of DATA,
Let it be the new DATA line number. When there is a CR code on the way, it is necessary to consider the increase in the number of lines due to line feed.
(The new DATA line number is saved in the new DATA line number register NDR.) 16.6.2 Is the new DATA line number larger than the work buffer WB third W (vertical width)? 16.6.3 Indent block expansion processing 16.6.4 New DAT of new data row number register NDR
Is the number of A lines smaller than the 7th W (number of DATA lines) of the work buffer WB? 16.6.5 Indent block reduction processing 16.6.6 Data buffer DBuF writing processing

【0089】上述のステップ16.6.1〜16.6.
5についてさらに説明する。 16.6.1 ワークバッファのHEADER部を参照
してワークバッファWB内データをデータバッファDB
uFに格納するに必要な行数を求める。
Steps 16.6.1 to 16.6. Described above.
5 will be further described. 16.6.1 Data in the work buffer WB is referred to the data buffer DB by referring to the HEADER section of the work buffer.
Find the number of rows needed to store in uF.

【0090】行数を求めるにあたってはワークバッファ
WBの第2Wに格納されているインデントブロック横巾
の値を参照する。
In obtaining the number of lines, the value of the indent block width stored in the second W of the work buffer WB is referred to.

【0091】又キャリッジリターンCRコードが存在し
た時は改行による行数増加を考慮する。 16.6.2〜16.6.3 求めた行数ともとのイン
デントブロックの縦巾を比較して、その行数が縦巾を越
える時はインデントブロックの縦方向の拡大を行って、
データエリアを確保する。 16.6.4〜16.6.5 求めた行数ともとのデー
タの行数(もとのインデントブロックの縦巾でなく、縦
巾から最下行に連続して続くスペース行の数を差し引い
たもの)とを比較し、その行数がもとのデータ行数を下
回る時、その分だけインデントブロックの縦方向の縮小
処理を行う。 16.6.6 新しく作り直したインデントブロックに
ワークバッファの内容を移す。その際ワークバッファの
HEADER部のパラメータを参照することにより行
う。
When the carriage return CR code exists, the increase in the number of lines due to line feed is considered. 16.6.2 to 16.6.3 Compare the calculated number of lines with the vertical width of the original indent block, and if the number of lines exceeds the vertical width, expand the indent block in the vertical direction.
Reserve a data area. 16.6.4 to 16.6.5 The number of lines obtained and the number of lines of the original data (not the height of the original indent block, but subtract the number of space lines that continue from the height to the bottom line) When the number of lines is less than the original number of data lines, the indent block is reduced in size in the vertical direction. 16.6.6 Move the contents of the work buffer to the newly created indent block. At that time, it is performed by referring to the parameter of the HEADER portion of the work buffer.

【0092】上述のステップ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を
くり返す。
The indent block expansion processing in step 16.6.3 will be further described with reference to FIG. 16.6.3.1 Row insertion processing 16.6.3.2 SPACE Row movement processing 16.6.3.3 Repeated by the size of [New DATA row number-Work buffer 3W (vertical width)] Falcon? Step control is performed. The purpose of each step is as follows. 16.6.3.1 So-called line insertion is performed at the line where the cursor is. The row DATA inserted at this time is of course accompanied by the left margin mark and the right margin mark, but it is assumed that the indentation mark is set just as in the row immediately above. Others assume that the space code is filled. 16.6.3.2 As a result of inserting a line, the character string that has continued continuously until now is cut, and the connection as a sentence cannot be maintained. Therefore, the data after the line inserted in the indent unit is incremented line by line. 16.6.3.3 Repeat steps 16.6.3.1 and 16.6.3.2 for the number of lines to expand the indent block.

【0093】上述の処理によるデータの配列を図18の
(b)に示す。
The data array obtained by the above processing is shown in FIG.

【0094】図18の(b)は、インデントブロック拡
大処理の例である。16.6.3.1で示す図では、行
挿入が行われた様子が示されており又16.6.3.2
で示す図ではインデント単位に挿入されたスペース行を
下にずらした様子が示されている。16.6.3.2の
図でわかるように、結果として、スペース行は、各イン
デントごとに、ばらばらの位置に配されることになり、
一行にまとまることはなくなる。この結果各インデント
ブロック単位に文章の連続性が保たれた形でインデント
ブロックの拡大が行われる。
FIG. 18B shows an example of indent block expansion processing. In the figure shown at 16.6.3.1, it is shown that row insertion has been performed.
In the figure shown by, the state where the space line inserted in the unit of indent is shifted downward is shown. As you can see in the diagram of 16.6.3.2, as a result, the space lines are arranged at different positions for each indent.
It will not be grouped together. As a result, the indent block is expanded in a form in which the continuity of the sentence is maintained in each indent block unit.

【0095】前述のステップ16.6.3.1の行挿入
処理についてさらに図19(a)を用いて説明する。か
かる処理は以下の各ステップから成る。 16.6.3.1.1 データバッファ内でカーソルが
存在する行以降すべての行を1行下げ新しく発生した行
にスペースコードをうめる。 16.6.3.1.1 新しく発生した行に、前行の左
マージンコード、インデントコード、右マージンコード
を、同じ位置にコピーする。
The row insertion processing in the above step 16.6.6.3.1 will be further described with reference to FIG. This processing consists of the following steps. 16.6.3.1.1 All lines after the line where the cursor is in the data buffer are moved down by one line and the space code is filled in at the newly generated line. 16.6.3.1.1 Copy the left margin code, indent code, and right margin code of the previous line to the same position on the newly generated line.

【0096】上述のステップにより現カーソルが示す位
置にスペースコードだけから成る行を挿入し、然る後左
マージンマーク、右マージンマーク、インデントマーク
を前行と全く同じ位置に記入する。
By the above steps, a line consisting of only the space code is inserted at the position indicated by the current cursor, and after that, the left margin mark, the right margin mark and the indent mark are written at exactly the same positions as the previous line.

【0097】前述のステップ16.6.3.2のスペー
ス行移動処理についてさらに説明する。かかる処理は図
20の(a)に示す各ステップを行う。 16.6.3.2.1 カーソルが存在する行の最左端
のインデントブロックを捜す。 16.3.3.2.2 インデントブロックは存在した
か。 16.6.3.2.3 該インデントブロックの先頭に
カーソル移動(カーソルの移動は横方向のみ) 16.6.3.2.4 該インデントブロックのカーソ
ルが存在している行はすべてスペースコードか?(イン
デントブロック単位で調べる) 16.6.3.2.5 該インデントブロック内でカー
ソルが存在している行を削除して、すべて1行繰り上げ
る。該インデントブロックの最後まで実行し、最下行は
スペースコードで埋める。 16.6.3.2.6 右方へ次のインデントブロック
を捜す。
The space line moving process in step 16.6.3.2 will be further described. In this process, each step shown in FIG. 20 (a) is performed. 16.6.3.2.1 Find the leftmost indented block on the line where the cursor is. 16.3.3.2.2 Did an indent block exist? 16.6.3.2.3 Move the cursor to the beginning of the indent block (move the cursor only in the horizontal direction) 16.6.3.2.4 All lines in which the cursor of the indent block exists are space codes. Is it? (Check by indent block unit) 16.6.3.2.5 Delete the line in which the cursor is present in the indent block and move all lines up by one line. Execute up to the end of the indent block, and fill the bottom line with a space code. 16.6.3.2.6 Find the next indent block to the right.

【0098】上述のステップを実行することにより例え
ばステップ16.6.3.2.1、16.6.3.2.
2、16.6.3.2.6によりインデントブロックご
とに左方から順に処理を実行し、すべてのインデントブ
ロックに対して処理が終了するまで続ける。
By performing the steps described above, for example steps 16.6.3.2.1, 16.6.3.2.
2, 16.6.3.2.6, the process is sequentially executed from the left for each indent block, and the process is continued until the process is completed for all indent blocks.

【0099】ステップ16.6.3.2.3〜16.
6.3.2.5により各インデントブロック単位でスペ
ース行を、各インデントブロックの最下行に移動させ
る。この処理はインデントブロック単位で実行するた
め、最下行に移動したSPACE行の位置はインデント
ブロックごとに異なる。図20の(b)に例を示す。
Steps 16.6.3.2.3-16.
According to 6.3.2.5, the space line is moved to the bottom line of each indent block in units of each indent block. Since this processing is executed for each indent block, the position of the SPACE line moved to the bottom line is different for each indent block. An example is shown in FIG.

【0100】前述のステップ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 縮小の必要なだけ縮小を繰り返す。
FIG. 21 shows details of the indent block reduction processing in step 16.6.5 described above. Each step will be described. 16.6.5.1 Left margin mark, right margin mark, space code, in the last line of the indent block,
Is there anything other than an indent code? (Examine all) 16.6.5.2 Delete the last line of the indent block and fill all the data following it in one line. (Not in indent block unit) 16.6.5.3 Fill the space code with the space code at all positions corresponding to the last line of the data buffer DBuF. 16.6.6.5.4 Fill the last line of the data buffer with the left margin code and right margin code. 16.6.5.5 [Work buffer 7W (DATA
Number of lines) -number of new DATA lines] repeated? The above steps 16.6.5.1-16.6.5.5 are executed to achieve the following objectives. 16.6.5.1 In the last line of the indent block, including all adjacent indent blocks,
If nothing other than the left margin code, right margin code, indent mark, and space code exists, proceed to the next step. 16.6.5.2 Delete the line checked in 16.6.5.1, and move the following line up. (It is assumed to be executed including the left and right margins, not in indent block units.) 16.6.5.3 to 16.6.6.5.4 Position of the data buffer corresponding to the last line, left and right margin code, and space code Fill in. 16.6.5.5 Repeat the reduction as many times as necessary.

【0101】前述のステップ16.6.6のデータバッ
ファ書き込み処理について図22を参照して説明する。 16.6.6.1 ワークバッファWBのHEADER
部パラメータに従ってワークバッファ内DATAをデー
タバッファに移す。(但し途中にCRコードが存在した
場合改行を行う)インデントブロックをオーバーした分
は捨てさる。 16.6.6.2 ワークバッファの第4W(カーソ
ル)に対応するDATABUFFER内アドレスをカー
ソルレジスタに記入する(但し、その値が128を越え
る時は1とする)。
The data buffer write processing in step 16.6.6 will be described with reference to FIG. 16.6.6.1 HEADER of work buffer WB
The data in the work buffer is moved to the data buffer according to the partial parameter. (However, if there is a CR code in the middle, a line feed is performed.) The part that exceeds the indent block is discarded. 16.6.6.2 Write the DATABUFFER address corresponding to the 4th W (cursor) of the work buffer in the cursor register (however, if the value exceeds 128, it is set to 1).

【0102】上述のステップ16.6.6.1〜16.
6.6.2を実行し、以下のことを行う。 16.6.6.1 ワークバッファの内容をデータバッ
ファに移す。移すべきデータの長さは第1Wに移すべき
インデントブロックの横巾は第2Wに、移すべきインデ
ントブロックのデータバッファDBuF内位置は第5
W、第6Wに示される。第5Wは、桁番号で第6Wに行
番号であり、この位置該インデントブロックの先頭文字
が来ることになる。 16.6.6.2 カーソルレジスタへカーソルアドレ
スを書き込むワークバッファWB第4Wにカーソルの存
在すべきアドレスが記入されている。この値を実際のデ
ータバッファ上でのアドレスに変換し、カーソルレジス
タCRに記入する。
Steps 16.6.6-1.16 above.
Run 6.6.2 and do the following: 16.6.6.1 Move the contents of the work buffer to the data buffer. The length of the data to be transferred is the first W, the width of the indent block to be transferred is the second W, and the position of the indent block to be transferred in the data buffer DBuF is the fifth.
W, 6W. The 5th W is a digit number and the 6W is a line number, and the first character of the indent block comes at this position. 16.6.6.2 Writing the cursor address to the cursor register The work buffer WB 4W is written with the address where the cursor should be. This value is converted into an address on the actual data buffer and written in the cursor register CR.

【0103】上述の処理が終了すると図7に示すステッ
プKB16の文字処理が終了しキー待ちにもどる。もし
NOであれば、ステップKB17に移り、該ステップK
B17で削除キーの操作があったかを判別する。YES
であれば、図23の(a)に示す削除キー入力処理制御
を行う。各ステップの内容は以下の通りである。 18.1 現カーソル位置にインデントマークは存在す
るか? 18.2 現カーソル位置に対応するアドレスの内容を
スペースコードに変更する。 18.3 インデントブロックセーブ処理(16.2) 18.4 削除処理 18.5 インデントブロックリストア処理(16.
6)<注>この処理はカーソルが左右マージン上にある
時は機能しないものとする。
When the above process is completed, the character process of step KB16 shown in FIG. 7 is completed and the process returns to the key waiting. If NO, the process moves to step KB17 and the step K
In B17, it is determined whether or not the delete key has been operated. YES
If so, the delete key input process control shown in FIG. The contents of each step are as follows. 18.1 Is there an indent mark at the current cursor position? 18.2 Change the contents of the address corresponding to the current cursor position to the space code. 18.3 Indent block save process (16.2) 18.4 Delete process 18.5 Indent block restore process (16.
6) <Note> This process does not work when the cursor is on the left and right margins.

【0104】上述のステップにより以下の事を実行す
る。 18.1 カーソルがインデントマーク上にある時はス
テップ18.2カーソルがインデントマーク上にない時
はステップ18.3へ進む。 18.2 カーソルが存在する位置のコードをスペース
コードに変更する。 18.3 該インデントブロックのワークバッファへの
セーブを行う(16.2) 18.4 ワークバッファ上で削除処理を行う。 18.5 削除処理されたワークバッファWBの内容を
データバッファDBuFに戻す。
The above steps perform the following: 18.1 If the cursor is on the indent mark, go to step 18.2 If the cursor is not on the indent mark, go to step 18.3. 18.2 Change the code where the cursor is to a space code. 18.3 Save the indent block to the work buffer (16.2) 18.4 Delete the work in the work buffer. 18.5 The contents of the deleted work buffer WB are returned to the data buffer DBuF.

【0105】図23の(b)は上述の削除キーの入力処
理の例である。各処理に対して処理のステップ番号が付
されている。18.3のインデントブロックセーブ処理
と18.5のインデントブロックリストア処理について
はそれぞれステップ16.2、16.6で述べた。1
8.4がワークバッファWB上での削除処理である。
FIG. 23B shows an example of the delete key input processing described above. A process step number is attached to each process. The indent block save process of 18.3 and the indent block restore process of 18.5 are described in steps 16.2 and 16.6, respectively. 1
8.4 is a deletion process on the work buffer WB.

【0106】かかる削除処理は図24に示す如く3ステ
ップよりなり各ステップを以下に示す。 18.4.1 ワークバッファWB第4W(カーソル)
の示す内DATAを削除する。(即ち該位置以降に存在
するDATAをすべて1つずつ前につめる。 18.4.2 ワークバッファWB第4W(カーソル)
の値と第1W(DATALENGTH)の値とは等しい
か? 18.4.3 ワークバッファWB第1W(DATA
LENGTH)を1減ずる。
The deletion process is composed of three steps as shown in FIG. 24, and each step is shown below. 18.4.1 Work buffer WB 4W (cursor)
Delete the DATA shown in. (That is, all DATA existing after the position is moved forward one by one. 18.4.2 Work buffer WB 4W (cursor)
Is the same as the value of 1W (DATA LENGTH)? 18.4.3 Work buffer WB 1W (DATA
LENGTH) is decremented by 1.

【0107】上述の各ステップにより以下の事を行う。 18.4.1 ワークバッファWB第4Wの示すワーク
バッファWB内のデータを削除し後続するデータをすべ
て前へつめる。 18.4.2〜18.4.3 削除処理においてはカー
ソルの位置は移動しないものとする。従ってワークバッ
ファWB第1W(DATA LENGTH)の値を、ワ
ークバッファ第4W(カーソル)の値より小さくならな
い範囲で1を減ずるものとする。
The following steps are performed by the above steps. 18.4.1 Work buffer WB The data in the work buffer WB indicated by the fourth W is deleted and all the following data are filled forward. 18.4.2 to 18.4.3 In the deletion process, the position of the cursor does not move. Therefore, the value of the work buffer WB No. 1W (DATA LENGTH) is decremented by 1 within a range that does not become smaller than the value of the work buffer No. 4W (cursor).

【0108】上述の処理が終了すれば、キー待ちに移
り、NOであれば、ステップKB19に移る。ステップ
KB19でインデント右移動キーかを判別する。もしY
ESであれば、図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は上記
説明で左と右をすべて逆にしたものと同じである。 〈注〉本処理はカーソルが左右マージン上にないものと
する。
When the above process is completed, the process waits for the key. If NO, the process proceeds to step KB19. In step KB19, it is determined whether the key is the indent right move key. If Y
If it is ES, an indent right move key input process, which is shown in detail in FIG. 20.1 Save the current cursor position. 20.2 Is the current cursor located at the indent code position? 20.3 Indent block save processing (16.2) 20.4 Indent block horizontal reduction processing 20.5 There is another indent code to the left of the current cursor, and the indent is adjacent to the left of the current cursor. Check whether there are two blocks.
(The method for recognizing an indent block is step 16.
As explained in 2.2.1. ) 20.6 (The right side of the two indent blocks recognized in step 20.5 is the indent block to be expanded, and the left side is the indent block to be expanded.) In this step, the indent block to be expanded The size in the vertical direction (row direction) of is compared with the size in the vertical direction (row direction) of the indent block to be expanded, and it is checked whether the former is smaller than or equal to the latter. Also check that there is no valid data in the indent block that will be expanded. If both are satisfied, the process proceeds to step 20.7. If no, it returns. (Note that when comparing the vertical size, the number of lines in each indent block is checked and the number of lines is compared.) Also, whether there is valid data in the indent block to be expanded. In order to check, the information in the indent block of the person who receives the expansion recognized in step 20.5 is judged character by character from the beginning to the end, and it is judged whether it is valid information (information other than space code) or not. However, if valid information exists, it is determined that valid data exists in the indent block. (In the present embodiment, it is determined that the data is other than the space code, but other codes, for example, codes other than the code indicating that the data does not exist therein may be determined as valid data. Character processing device for which an application is being made (Japanese Patent Application No. 54-139556)
No.) blank code is also an example. ) 20.7 Move the current cursor to the leftmost edge of the second indent block. 20.8 Indent block save process 16.2) 20.9 Indent block horizontal enlargement process 20.10 Indent block restore process (16.
6) 20.11 Return the current cursor position to the saved cursor position. <Note> The indent key is moved to the left. The key input process 22 is the same as that in which the left side and the right side are all reversed. <Note> This process assumes that the cursor is not on the left and right margins.

【0109】上述の各ステップの目的は以下の通りであ
る。 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 インデントブロックのリストア処理(1
6.6) 20.11 カーソル位置セーブレジスタCSRにセー
ブしておいたカーソル位置アドレスをカーソルレジスタ
CRにもどす。
The purpose of each of the steps described above is as follows. 20.1 Save the current cursor position in the cursor position save register. 20.2 When the cursor is on the character, step 20.
When the cursor to 3 is on the indent, step 20.
Go to 5. 20.3 SAVE the indent block (16.
2) 20.4 Perform indent block reduction processing on the work buffer. Proceed to step 20.10. 20.5, 20.6 There are two indent blocks to the left of the position where the cursor is, and the vertical width of the indent block immediately to the left of the cursor is smaller than the vertical width of the left indent block (even if equal). Good) and when there is no valid data in the information in the indent block on the left of the cursor placed one step 20.7
Proceed to. (In other words, the vertical width of the indent block to be expanded is larger than the vertical size of the indent block to be expanded (may be equal). If there is no valid data in the indent block to be expanded, step 20.7 20.7) Move the cursor to the position of the first character of the indent block to the left of the two indent blocks. 20.8 Indent block save processing (16.2) 20.9 Indent block expansion processing is performed in the work buffer. 20.10 Restoration processing of indent block (1
6.6) 20.11 Return the cursor position address saved in the cursor position save register CSR to the cursor register CR.

【0110】図25の(b)はカーソルが文字の上にあ
る時の例である。この場合インデント右移動キーによっ
て、インデントブロックは横方向に縮小される。20.
4で示す図がワークバッファWBを使用してインデント
ブロックの縮小を行ったところの例である。
FIG. 25B shows an example when the cursor is on the character. In this case, the indent right move key shrinks the indent block in the horizontal direction. 20.
4 shows an example where the work buffer WB is used to reduce the indent block.

【0111】図26はカーソルがインデント上にある時
の例である。この場合インデント右移動キーによってイ
ンデントブロックは横方向に拡大される。20.9で示
す図がワークバッファWBを使用してインデントブロッ
クの拡大処理を行った例である。
FIG. 26 shows an example when the cursor is on the indent. In this case, the indent block is laterally enlarged by the indent right move key. The diagram indicated by 20.9 is an example in which the indent block is enlarged using the work buffer WB.

【0112】上述のステップ20.4をさらに説明する
と、図27に示す如くステップから成る。 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の記述の内右を左と変
更する。
The above-mentioned step 20.4 will be further described. The steps are shown in FIG. 20.4.1 The indent block in which the current cursor is present is divided into two in the vertical direction by writing the indent code in the vertical direction at the position where the current cursor is present. 20.4.2 Shift the current cursor position to the right by one position. 20.4.3 Write the width of the indent block where the newly created current cursor is in the second width (width) of the work buffer WB. 20.4.4 Work buffer WB 4W (cursor)
Change the value of to 1. 20.4.5 Change the 5th W of the work buffer WB (first digit of indent block) to the first digit number of the newly created indent block <Note> Indent left move 22.4 is changed to left.

【0113】上述の各ステップについてさらに説明す
る。 20.4.1 まずデータバッファの該インデントブロ
ックを2等分することで縮小されたインデントブロック
の作成を行う。(縦方向に2等分したインデントブロッ
クの右側に今までそこにあった情報が押し込められるこ
とになる。) 20.4.2 現カーソルを右方向に1つずらす。その
位置が新しいインデントブロックの先頭文字の位置にな
る。 20.4.3〜 20.4.5 ワークバッファWBの
HEADER部のパラメータを新しいインデントブロッ
クのパラメータに置き換える。
The above steps will be further described. 20.4.1 First, a reduced indent block is created by dividing the indent block of the data buffer into two equal parts. (The information that has been there until now will be pushed in on the right side of the indent block that is divided in half in the vertical direction.) 20.4.2 Shift the current cursor by one to the right. That position becomes the position of the first character of the new indent block. 20.4.3 to 20.4.5 Replace the parameter of the HEADER part of the work buffer WB with the parameter of the new indent block.

【0114】上述のステップ20.9のインデントブロ
ック横拡大処理について図28を参照して説明する。 20.9.1 カーソルが存在しているインデントブロ
ックの右側端を決定しているインデントマークをすべて
スペースマークに変更する。 20.9.2 ワークバッファWB第2W(横巾)に新
しく拡大したインデントブロックの横巾を記入する。 のステップから成り、かくステップは以下のことを行
う。 20.9.1 まずデータバッファのインデントブロッ
クにおいて右側端のインデントマークを取り除くこと
で、インデントブロックの拡大を行う。 20.9.2 ワークバッファWB第2W(横巾)の値
を変更する。
The indent block horizontal enlargement process of step 20.9 will be described with reference to FIG. 20.9.1 Change all the indentation marks that determine the right edge of the indentation block where the cursor is to into space marks. 20.9.2 Enter the width of the newly expanded indent block in the second width (width) of the work buffer WB. , And thus the steps do the following: 20.9.1 First, the indent block on the right end of the indent block of the data buffer is removed to enlarge the indent block. 20.9.2 Change the value of work buffer WB second W (width).

【0115】上述の処理が終了すれば、キー待ちに移
る。もしNOであれば、ステップKB21のインデント
左キーかを判別する処理に移る。該ステップでYESな
らば、ステップKB22の入力処理に移る。
When the above process is completed, the process waits for a key. If NO, the process proceeds to step KB21 to determine whether the indent left key. If YES in the step, the process proceeds to the input process in step KB22.

【0116】かかる処理は図25の(a)において、図
の説明文中の右と左とを入れ換え、かつ数字20を22
に置き換えたものと同等である。
In this processing, the right and left in the explanatory text of FIG. 25 are replaced with each other, and the numeral 20 is changed to 22 in FIG.
It is equivalent to the one replaced by.

【0117】またインデントブロック横縮小処理は巾図
27において図の説明文中の右と左とを入れ換え、かつ
数字20を22に置き換えたものと同等である。
Further, the indent block horizontal reduction processing is equivalent to the case where the right and the left are replaced with each other and the numeral 20 is replaced with 22 in the explanatory drawing of FIG.

【0118】さらにインデントブロック横拡大処理につ
いて述べる。
The indent block horizontal enlargement processing will be further described.

【0119】かかる処理は図29に示すステップから成
り、かくステップについて説明する。 22.9.1 カーソルが存在しているインデントブロ
ックの左側端を決定しているインデントマークをすべて
スペースマークに変更する。 22.9.2 ワークバッファWB第2W(横巾)に新
しく拡大したインデントブロックの横巾を記入する。 22.9.3 ワークバッファWB第5W(該インデン
トブロック先頭桁)を、新しく拡大したインデントブロ
ックの先頭桁に変更する。
This processing is composed of the steps shown in FIG. 29, and the steps will be described. 22.9.1 Change all indentation marks that determine the left edge of the indentation block where the cursor is located to space marks. 22.9.2 Enter the width of the newly expanded indent block in the second W (width) of the work buffer WB. 22.9.3 Change the work buffer WB fifth W (first digit of the indent block) to the first digit of the newly expanded indent block.

【0120】上記各ステップは以下の目的を実行する。 22.9.1 まずデータバッファにおける該インデン
トブロックの左側端のインデントマークを取除くことに
よりインデントブロックの拡大を行う。 22.9.2、22.9.3 ワークバッファWB第2
W(横巾)、ワークバッファWB第5W(先頭桁)を新
しいインデントブロックに対応する値に変更する。
The above steps perform the following purposes. 22.9.1 First, the indent block is enlarged by removing the indent mark at the left end of the indent block in the data buffer. 22.9.2, 22.9.3 Work buffer WB No. 2
Change W (width) and work buffer WB fifth W (first digit) to values corresponding to the new indent block.

【0121】上述の処理が終了すれば、キー待ちに移
り、NOであれば、ステップKB23に移る。ステップ
KB23はインデント罫線変換キーかの判別ステップで
ある。かかるステップKB23でYESとなれば、ステ
ップ24のインデント罫線変換キー入力処理に移る。図
30の(a)はその詳細を示すフローである。各ステッ
プの内容を以下に示す。 24.1 カーソル位置セーブレジスタGSRに現カー
ソル位置即ちカーソルレジスタCRに対応する値をセー
ブする。 24.2 現カーソルが存在する1行手前の行までデー
タバッファの内容を順にすべてワークバッファWBに移
す。 24.3 現カーソルが存在する行のデータバッファの
内容を変換テーブル図3の(d)を参照し、インデント
コードを罫線コードに変換しながらワークバッファWB
に移す。 (変換テーブルを参照するにあたっては、変換しようと
しているインデントコードの上下左右に隣接して存在す
る文字コードあるいはインデントコードの状態により異
なることに注意しなければならない。具体的な対応は、
図3の(d)に示す通りである。
When the above process is completed, the process waits for the key. If NO, the process proceeds to step KB23. Step KB23 is a step of determining whether the key is an indent ruled line conversion key. If YES in step KB23, the process proceeds to step 24, indent ruled line conversion key input processing. FIG. 30A is a flow showing the details. The contents of each step are shown below. 24.1 Save the current cursor position, that is, the value corresponding to the cursor register CR in the cursor position save register GSR. 24.2 The contents of the data buffer are sequentially transferred to the work buffer WB up to the line immediately before the line where the current cursor is. 24.3 Conversion Table Referring to (d) of the conversion table of the data buffer of the line in which the current cursor exists, the work buffer WB while converting the indent code into the ruled line code
Move to. (When referring to the conversion table, it should be noted that it depends on the state of the character code or indent code that exists adjacent to the top, bottom, left, and right of the indent code to be converted.
This is as shown in FIG.

【0122】但し、上に隣接して存在するコードをチェ
ックする時は注意しなければならない。即ち周辺状況を
チェックする範囲は最初にカーソルが存在した行以降に
限るものとする。なお最初にカーソルが存在した行は、
カーソル位置セーブレジスタ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
に蓄える。
However, care must be taken when checking the code existing adjacently above. That is, the range in which the peripheral condition is checked is limited to the line after the cursor first exists. The line where the cursor was first
It is saved in the cursor position save register CSR. ) 24.4 Add the value of the number of characters for one line to the value of the cursor register. 24.5 If the value in the cursor register exceeds 128, proceed to step 24.7. If not, proceed to step 24.6. 24.6 If there is an indent code on the line where the current cursor is, go to step 24.3, otherwise go to step 24.7. 24.7 If there is data that has not been moved to the work buffer WB in the contents of the data buffer DB, it is moved to the work buffer in order. 24.8 Return all data stored in the work buffer to the data buffer DB in order. 24.9 Cursor position CR The value corresponding to the cursor position information stored in the cursor position save register is set in the cursor register CR.
Store in.

【0123】図30の(b)は、インデント罫線変換の
例である。
FIG. 30B shows an example of indent ruled line conversion.

【0124】上述の処理が終了したら、キー待ちにもど
る。もしNOであれば、ステップKB25に移る。ステ
ップKB25に於いて罫線インデント変換キーが操作さ
れたかを判別する。もしYESであれば、ステップKB
26に移り、図31に示す処理を行う。 26.1 現カーソルが存在する行以降の罫線コードを
すべて変更する。
When the above process is completed, the process returns to waiting for keys. If NO, the process proceeds to step KB25. In step KB25, it is determined whether the ruled line indent conversion key is operated. If YES, step KB
26, and the processing shown in FIG. 31 is performed. 26.1 Change all ruled line codes on and after the line where the current cursor is.

【0125】上述のステップによりデータバッファ内に
おいて現カーソルが存在する行以降をすべて罫線コード
からインデントコードへの変更を行う。
Through the above steps, the ruled line code is changed to the indented code in all the lines after the line where the current cursor is present in the data buffer.

【0126】罫線コードは、図3の(b)に示すように
11種のコード(B1〜B11)であるが、インデント
コードは1種のコード(α3)であり、一義的にインデ
ントコードを定めることができるため容易に変換を行う
ことができる。
The ruled line code is 11 kinds of codes (B1 to B11) as shown in FIG. 3B, but the indent code is one kind of code (α3) and uniquely determines the indent code. Therefore, the conversion can be easily performed.

【0127】上述の処理が終了すれば、キー待ちとな
る。もしNOであれば、ステップKB27に移る。ステ
ップKB27で、イニシャライズキーが操作されたかを
判別する。YESであればイニシャライズ処理を行う。
図31はそのフローを示す。
When the above process is completed, the key waits. If NO, the process proceeds to step KB27. In step KB27, it is determined whether the initialization key has been operated. If YES, the initialization process is performed.
FIG. 31 shows the flow.

【0128】1.データバッファにすべてスペースコー
ドを埋める。
1. Fill the data buffer with all space codes.

【0129】2.データバッファの左右マージン位置に
相当する場所に左マージンコード、右マージンコードを
埋める。
2. Fill the left margin code and right margin code in the positions corresponding to the left and right margin positions of the data buffer.

【0130】上述のステップによりデータバッファに初
期値を設定することにより、CRT上に表示される文字
列のイニシャライズを行う。これにより左右マージンが
CRT上に表示され残りはすべてスペースが表示され
る。すべての入力はまずこのINTキーを押すことによ
り始めることができる。
The character string displayed on the CRT is initialized by setting the initial value in the data buffer through the above steps. As a result, the left and right margins are displayed on the CRT and the remaining spaces are displayed. All input can be started by first pressing the INT key.

【0131】上述の処理が終了すれば、キー待ちとな
る。もしNOであれば、ステップKB29に移る。ステ
ップKB29はプリントキーが操作されたかを判別す
る。もしYESであれば、図33に示すプリントキー処
理のステップKB30に移る。かかるステップは以下の
処理を行う。
When the above process is completed, the key waits. If NO, the process moves to step KB29. Step KB29 determines whether or not the print key is operated. If YES, the process moves to step KB30 of the print key process shown in FIG. This step performs the following processing.

【0132】データバッファの内容をプリンタに出力す
る。
The contents of the data buffer are output to the printer.

【0133】上述の処理によりデータバッファの内容を
すべてプリントアウトする。縦横プリントの機能を持っ
ているとなお望ましい。
All the contents of the data buffer are printed out by the above processing. It is still desirable to have the function of vertical and horizontal printing.

【0134】上述の処理が終了すれば、キー待ちとな
る。もしNOであれば、ステップKB31に移る。ステ
ップKB31はバックスペースキーBSが操作されたか
否かを判別する。もしYESであれば、図37の(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つずらす。
When the above process is completed, the key waits. If NO, the process proceeds to step KB31. Step KB31 determines whether or not the backspace key BS has been operated. If YES, (a) of FIG. 37
The process moves to step KB32 of the backspace key processing shown in. This step performs the following processing. 32.1 Decrement the cursor register CR. 32.2 If the cursor register CR is 0 or less, proceed to step 32.3. If not, proceed to 32.4. 32.3 Set 128 in the cursor register CR. To return. 32.4 If the content in the data buffer corresponding to the position where the cursor is present is the right margin code, the process proceeds to step 32.5 if it is returned or not. 32.5 If the content of the data in the data buffer corresponding to the position where the cursor is present is neither the left margin code nor the indent code, the process returns. If not, proceed to Step 32.6. 32.6 If the cursor is on the first line, return. If not, proceed to Step 32.7. 32.7 The value of the number of characters for one line (16 in this embodiment) is subtracted from the value of the cursor register. This moves the cursor up one line. 32.8 Increment the value in the cursor register and move the cursor one position to the right. 32.9 If the content of the data buffer corresponding to the position where the cursor is present is the indent code or the right margin code, proceed to step 32.10. If not, proceed to Step 32.8. 32.10 Shifts the cursor left by one by decrementing the value in the cursor register by one.

【0135】各ステップの意味をさらに述べる。 32.1 カーソルを左シフトするためにカーソルレジ
スタCRから1減じる。 32.2、32.3 もしカーソルレジスタの値が0以
下であるならカーソルがデータバッファ枠内をはみ出す
ことになるので、データバッファの末尾にカーソルがく
るようにする。 32.4 もしカーソルが右マージン位置に来たとする
なら、そのまま処理を終了する。 32.5 カーソルの位置のデータがインデントコード
あるいは左マージンコードでないなら処理を終了する。 32.6 カーソルが1行目に存在していたならその上
の行はもはや存在しないので処理を終了する。 32.7〜32.10 今カーソルが存在している前の
行における該当インデントブロックの末尾にカーソルを
移動させる。
The meaning of each step will be further described. 32.1 Decrement the cursor register CR by 1 to shift the cursor left. 32.2, 32.3 If the value of the cursor register is 0 or less, the cursor will extend out of the data buffer frame, so that the cursor comes to the end of the data buffer. 32.4 If the cursor is located at the right margin position, the process is terminated. 32.5 If the data at the cursor position is neither the indent code nor the left margin code, the process ends. 32.6 If the cursor is on the first line, the line above that line no longer exists, and the process ends. 32.7 to 32.10 Move the cursor to the end of the corresponding indent block in the previous line where the cursor is currently located.

【0136】以上の処理を終了するとキー待ちになる
が、もしNOであるならやはりキー待ちにもどる。
When the above processing is completed, the key waits, but if NO, the key waits again.

【0137】このように、本発明はプログラムを実行す
ることにより達成するものであるが、システム或いは装
置がそのプログラムを有し、本発明が達成される場合に
も適用できることは言うまでもない。
As described above, the present invention is achieved by executing a program, but it goes without saying that the present invention can also be applied to the case where the system or device has the program and the present invention is achieved.

【0138】1.本実施例においては、文字列の途中に
出現するスペースコードは有効データ見なし文字列の最
後に連続して続くスペースコードは無効データあるとい
う解釈により、文字処理を実行した。しかしながら、ス
ペースコードを含む文字コードをすべて有効データとし
て文字処理を行ってもよい。
1. In the present embodiment, the character processing is executed by interpreting that the space code appearing in the middle of the character string is regarded as valid data and the space code continuously following the end of the character string is invalid data. However, character processing may be performed using all character codes including space codes as valid data.

【0139】又他の例として無効データを表現する特殊
コードを新たに設け、そのコード以外はすべて有効デー
タであると判断し、文字処理を行っても良い。又この特
殊コードを本実施例で説明したスペースコードと同じ役
割をはすようにさせても良い。
As another example, a special code expressing invalid data may be newly provided, and character processing may be performed by determining that all other than the code are valid data. Also, this special code may play the same role as the space code described in the present embodiment.

【0140】2.本実施例においては、インデントブロ
ックの横方向の拡大を行うにあたって次の二つのことを
条件とした。即ち一つは拡大するインデントブロックの
縦方向の大きさと拡大を受けるインデントブロックの縦
方向の大きさとを比較し、前者の大きさが後者の大きさ
より小さいか又は等しいことである。他の一つは拡大を
受けるインデントブロック内に有効データが存在してい
ないことである。この後者の条件を次のように緩和して
も本発明の主旨を損ねるものではない。
2. In this embodiment, the following two conditions were set as the conditions for laterally expanding the indent block. That is, one is to compare the vertical size of the expanding indent block with the vertical size of the indent block to be expanded, and the former size is smaller than or equal to the latter size. The other is that there is no valid data in the indent block that is subject to expansion. Relaxing this latter condition as follows does not impair the gist of the present invention.

【0141】即ち拡大を受けるインデントブロックの上
から特定行数だけ有効データが存在しなければ良いもの
とする。ここで特定行数とは拡大するインデントブロッ
クの縦巾の行数分のことである。
That is, it is sufficient that there is no valid data for a specific number of lines from the top of the indent block to be expanded. Here, the specific number of lines is the number of lines of the vertical width of the indent block to be expanded.

【0142】3.本実施例においては、インデントブロ
ックの領域定義を有効データがそこに存在している時も
存在していない時も同一と見なした。しかしながら本実
施例で説明したインデントブロックの内、有効データが
存在している行あるいはカーソルが存在している行が連
続して続く範囲のみをインデントブロックと考えても本
発明の主旨を損ねるものではない。
3. In the present embodiment, the area definition of the indent block is regarded as the same when the valid data is present or not. However, among the indent blocks described in this embodiment, even if only the range in which the line in which the valid data exists or the line in which the cursor exists continues as an indent block does not impair the gist of the present invention. Absent.

【0143】[0143]

【発明の効果】以上詳述した様に、本発明により、固定
文字を含む文書情報に対して編集を行う場合、編集処理
に先立って、固定文字の位置を把握することができ、編
集処理にあたり、固定文字の位置を保持することができ
る文字処理方法を提供することが可能となった。
As described above in detail, according to the present invention, when the document information including the fixed character is edited, the position of the fixed character can be grasped prior to the editing process. , It has become possible to provide a character processing method that can hold the position of a fixed character.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明による1実施例を示すブロック図。FIG. 1 is a block diagram showing an embodiment according to the present invention.

【図2】インデントブロックを説明する図。FIG. 2 is a diagram illustrating an indent block.

【図3】インデントマークと罫線パターンの変換を説明
する図。
FIG. 3 is a diagram illustrating conversion of indent marks and ruled line patterns.

【図4】枠組の変更を説明する図。FIG. 4 is a diagram for explaining a change of framework.

【図5】枠組の変更を説明する図。FIG. 5 is a diagram illustrating a change of framework.

【図6】枠組の変更を説明する図。FIG. 6 is a diagram illustrating a change of framework.

【図7】キー処理を示す制御手順を示す図。FIG. 7 is a diagram showing a control procedure showing key processing.

【図8】キャリッジリターン処理を示す図。FIG. 8 is a diagram showing a carriage return process.

【図9】インデント入力処理を示す図。FIG. 9 is a diagram showing indent input processing.

【図10】オーバライトキー入力処理を示す図。FIG. 10 is a diagram showing overwrite key input processing.

【図11】挿入キー入力処理を示す図。FIG. 11 is a diagram showing an insert key input process.

【図12】カーソルキー入力処理を示す図。FIG. 12 is a diagram showing cursor key input processing.

【図13】文字キー入力処理、文字のオーバライト処理
を示す図。
FIG. 13 is a diagram showing character key input processing and character overwrite processing.

【図14】インデントブロックセーブ処理、データの流
れを示す図。
FIG. 14 is a diagram showing an indent block save process and a data flow.

【図15】オーバライト処理を示す図。FIG. 15 is a diagram showing overwrite processing.

【図16】挿入処理を示す図。FIG. 16 is a diagram showing an insertion process.

【図17】インデントブロックリストア処理を示す図。FIG. 17 is a diagram showing indent block restore processing.

【図18】インデントブロック拡大処理、データの流れ
を示す図。
FIG. 18 is a diagram showing an indent block enlargement process and a data flow.

【図19】行挿入処理、データの流れを示す図。FIG. 19 is a diagram showing a row insertion process and a data flow.

【図20】スペース行移動処理、データの流れを示す
図。
FIG. 20 is a diagram showing a space line movement process and a data flow.

【図21】インデントブロック縮小処理を示す図。FIG. 21 is a diagram showing indent block reduction processing.

【図22】データバッファ書き込み処理、データの流れ
を示す図。
FIG. 22 is a diagram showing a data buffer write process and a data flow.

【図23】削除キー入力処理、文字の削除のデータの流
れを示す図。
FIG. 23 is a diagram showing a data flow of deletion key input processing and character deletion.

【図24】削除処理を示す図。FIG. 24 is a diagram showing a deletion process.

【図25】インデント右移動キー入力処理、データの流
れを示す図。
FIG. 25 is a diagram showing an indent right shift key input process and a data flow.

【図26】データの流れを示す図。FIG. 26 is a diagram showing a data flow.

【図27】インデントブロック横縮小処理を示す図。FIG. 27 is a diagram showing indent block horizontal reduction processing.

【図28】インデントブロック横拡大処理を示す図。FIG. 28 is a diagram showing indent block horizontal enlargement processing.

【図29】インデントブロック横拡大処理を示す図。FIG. 29 is a diagram showing indent block horizontal enlargement processing.

【図30】インデント罫線変換キー入力処理、データの
流れを示す図。
FIG. 30 is a diagram showing an indent ruled line conversion key input process and a data flow.

【図31】罫線インデント変換キー入力処理、データの
流れを示す図。
FIG. 31 is a diagram showing a ruled line indent conversion key input process and a data flow.

【図32】イニシャライズ処理を示す図。FIG. 32 is a diagram showing initialization processing.

【図33】プリントキー入力処理を示す図。FIG. 33 is a diagram showing print key input processing.

【図34】インデントブロックの縮小を示す図。FIG. 34 is a diagram showing reduction of indent blocks.

【図35】インデント罫線切換えを示す図。FIG. 35 is a view showing switching of indent ruled lines.

【図36】インデントブロックの拡大を示す図。FIG. 36 is a diagram showing an enlargement of an indent block.

【図37】バックスペースキー処理の手順、バックスペ
ース処理を説明する図。
FIG. 37 is a diagram illustrating a procedure of backspace key processing and backspace processing.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 固定文字を含む文書情報に対する挿入、
削除等の文書編集の指示がある場合、 前記指示に基づく、編集処理に先立って前記固定文字の
位置を把握し、 前記編集処理にあたり、把握された前記固定文字の位置
が保持される様に処理を行うことを特徴とする文字処理
方法。
1. Insertion for document information including fixed characters,
When there is an instruction to edit a document such as deletion, the position of the fixed character is grasped prior to the editing processing based on the instruction, and the grasped position of the fixed character is held in the editing processing. A character processing method characterized by performing.
JP5032050A 1993-02-22 1993-02-22 Character processing method Pending JPH05250352A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5032050A JPH05250352A (en) 1993-02-22 1993-02-22 Character processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5032050A JPH05250352A (en) 1993-02-22 1993-02-22 Character processing method

Related Parent Applications (1)

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

Publications (1)

Publication Number Publication Date
JPH05250352A true JPH05250352A (en) 1993-09-28

Family

ID=12348042

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5032050A Pending JPH05250352A (en) 1993-02-22 1993-02-22 Character processing method

Country Status (1)

Country Link
JP (1) JPH05250352A (en)

Citations (2)

* 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
JPS641819A (en) * 1987-06-23 1989-01-06 Daicel Chem Ind Ltd Soil cement continuous wall method

Patent Citations (2)

* 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
JPS641819A (en) * 1987-06-23 1989-01-06 Daicel Chem Ind Ltd Soil cement continuous wall method

Similar Documents

Publication Publication Date Title
US6963672B1 (en) Image processing apparatus, image processing method and storage medium
JPH0143338B2 (en)
US5276792A (en) Word processor permitting modification of a preset frame
JPH05250352A (en) Character processing method
JPH0324701B2 (en)
JPH0361197B2 (en)
JPH0361198B2 (en)
JPH0143339B2 (en)
JPH0254588B2 (en)
JPH0427586B2 (en)
JPH0254589B2 (en)
JPH0427585B2 (en)
JPH04218866A (en) Character processing method
JPH04218865A (en) Character processing method
JPH0254590B2 (en)
JP3076348B2 (en) Document shaping apparatus and document shaping method
JPS58129676A (en) Character processing device
US5930812A (en) Word processing apparatus which adjusts character output position
JP2572441B2 (en) Form-specific figure creation device
JP3728768B2 (en) Method and apparatus for mixed processing of character string and ruled line
JP3020213B2 (en) Document processing device
JPH038065A (en) Character processor
JP2698348B2 (en) Character processor
JPS59229684A (en) Character processor
JP2881948B2 (en) Dot pattern generator