JPH0654426B2 - 表作成方式 - Google Patents
表作成方式Info
- Publication number
- JPH0654426B2 JPH0654426B2 JP60241460A JP24146085A JPH0654426B2 JP H0654426 B2 JPH0654426 B2 JP H0654426B2 JP 60241460 A JP60241460 A JP 60241460A JP 24146085 A JP24146085 A JP 24146085A JP H0654426 B2 JPH0654426 B2 JP H0654426B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- characters
- line
- character
- ruled line
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Digital Computer Display Output (AREA)
- Document Processing Apparatus (AREA)
Description
【発明の詳細な説明】 〔発明の利用分野〕 本発明は、ワードプロセッサやパソコンなどの文書作成
装置に係り、特に罫線および文字列によって構成される
表を作成しまたは編集する場合に好適な表作成方式に関
する。
装置に係り、特に罫線および文字列によって構成される
表を作成しまたは編集する場合に好適な表作成方式に関
する。
従来のワードプロセッサまたはパソコンのソフトウェア
による罫線を伴う表作成においては罫線の移動に伴ない
罫線で囲まれた領域内の文字列が隣接する領域に移った
り、隣接する領域の文字列が入ってきたりした。このた
め、罫線を移動することにより、該領域内の文字による
意味が損われてしまうことがあった。なお、表作成制御
方式に関しては、本出願人による特開昭59−79290 号
「表制御方式」を参照されたい。
による罫線を伴う表作成においては罫線の移動に伴ない
罫線で囲まれた領域内の文字列が隣接する領域に移った
り、隣接する領域の文字列が入ってきたりした。このた
め、罫線を移動することにより、該領域内の文字による
意味が損われてしまうことがあった。なお、表作成制御
方式に関しては、本出願人による特開昭59−79290 号
「表制御方式」を参照されたい。
本発明の目的は、ワードプロセッサやパソコンソフトウ
ェアの利用者が表を作成する場合に罫線の配置を変更し
ても既に入力された文字の並び順を維持することが可能
な表作成方式を提供することにある。
ェアの利用者が表を作成する場合に罫線の配置を変更し
ても既に入力された文字の並び順を維持することが可能
な表作成方式を提供することにある。
本発明では上記目的を達成するため、表中における罫線
で囲まれた領域(以下、ブロックという)の一つの罫線
の位置を変更しても、位置変更された罫線に直交する罫
線(たとえば、縦罫線に対する横罫線,横罫線に対する
縦罫線)を、必要に応じて自動的に連動して移動するこ
とにより、文字列の管理をブロック毎に行ないブロック
の中にある文字を隣接するブロックに移したり、隣接す
るブロックから入ってきたりあるいはブロックから消滅
させたりすることなく、文字列の並び順すなわち、意味
を維持したまま再配置することを特徴とする。
で囲まれた領域(以下、ブロックという)の一つの罫線
の位置を変更しても、位置変更された罫線に直交する罫
線(たとえば、縦罫線に対する横罫線,横罫線に対する
縦罫線)を、必要に応じて自動的に連動して移動するこ
とにより、文字列の管理をブロック毎に行ないブロック
の中にある文字を隣接するブロックに移したり、隣接す
るブロックから入ってきたりあるいはブロックから消滅
させたりすることなく、文字列の並び順すなわち、意味
を維持したまま再配置することを特徴とする。
以下、本発明を図面を用いて説明する。最初に第2図を
用いて従来例を説明する。第2図(a−1)及び(b−
1)は表の原型であり、横方向に2ブロック、縦方向に
2ブロック、左側のブロックは2ブロック共横9文字×
縦2行、右側のブロックは2ブロック共横7文字×縦2
行となっている。ここで201 または202 で示される縦罫
線を左へ4文字分移動したとする(なおこれは、左側の
ブロックの横文字数を9文字から5文字に縮小したと表
現することもできる)。第2図(a−2)では、字面は
そのままで罫線だけが左に4文字分移動された例であ
り、左側のブロックにあるべき文字の一部が右側のブロ
ックに入り込み、また右側のブロックにあるべき文字の
一部が表の外へ出てしまっている。
用いて従来例を説明する。第2図(a−1)及び(b−
1)は表の原型であり、横方向に2ブロック、縦方向に
2ブロック、左側のブロックは2ブロック共横9文字×
縦2行、右側のブロックは2ブロック共横7文字×縦2
行となっている。ここで201 または202 で示される縦罫
線を左へ4文字分移動したとする(なおこれは、左側の
ブロックの横文字数を9文字から5文字に縮小したと表
現することもできる)。第2図(a−2)では、字面は
そのままで罫線だけが左に4文字分移動された例であ
り、左側のブロックにあるべき文字の一部が右側のブロ
ックに入り込み、また右側のブロックにあるべき文字の
一部が表の外へ出てしまっている。
一方、第2図(b−2)では、左側のブロック上に右側
のブロックが重ね合わされた形となり左側のブロックに
あるべき文字が表から消滅してしまっている。
のブロックが重ね合わされた形となり左側のブロックに
あるべき文字が表から消滅してしまっている。
このように従来例では、罫線だけが移動したり、文字列
の一部が消滅するため、表の意味をなさなくなってお
り、罫線移動に伴なう各ブロック内の文字列の意味を保
存するための再配置処理をしたいというユーザの処理要
求を満たさないことは明らかである。
の一部が消滅するため、表の意味をなさなくなってお
り、罫線移動に伴なう各ブロック内の文字列の意味を保
存するための再配置処理をしたいというユーザの処理要
求を満たさないことは明らかである。
第3図は本発明の原理を説明するための図である。表の
構成(第3図(a))は第2図(a−1)または(b−
1)と全く同じてあり、処理要求も同様とする。第3図
(b)では文字の位置は変わっているものの、並び順その
ものに変わりはなく意味が正しく保持されている。以
下、処理手順を第3図に従って示す。ここで、縦罫線30
1 を4文字分左へ移動し、302 の位置を変更したとす
る。この時変更の対象となるのは左側のブロックの横方
向(x方向)の長さであり、9文字分を5文字分にす
る。この変更により、左上のブロックの第1行目は5文
字、即ち「神奈川銀行」という文字列のみが格納可能と
なる。残る「戸塚支店」の4文字は、同ブロックの2行
目に移される。この行には、「戸塚支店」の4文字だけ
で、縦方向の変更は発生しない。右上のブロックは、ブ
ロックの長さには変更はないが開始x座標が4文字分小
さくなる。左下のブロック303 では、ブロック内の文字
数11文字に対し横文字数が5文字に変わるため、このブ
ロックの行数2行分には納まらず、行数をさらに増やす
必要があり、縦方向(y方向)長さを3に変更する。同
時に、右下のブロックの縦方向長さも3に変更する。こ
の結果、罫線データのうち、各横罫線の長さを4文字分
短かくする。縦罫線に関しては、301 及び右側の縦罫線
の開始x座標を4文字分左に寄せ、縦罫線全ての長さを
1文字分長くする。これらの変更後、再表示した表が第
3図(b)であり、ブロック内の行数の変更のあった303
は、304 のように表示される。すなわち本発明において
は、操作者からの罫線変形の指示にしたがい、罫線デー
タと内部文字データの編集を同時に行ない、表示する。
構成(第3図(a))は第2図(a−1)または(b−
1)と全く同じてあり、処理要求も同様とする。第3図
(b)では文字の位置は変わっているものの、並び順その
ものに変わりはなく意味が正しく保持されている。以
下、処理手順を第3図に従って示す。ここで、縦罫線30
1 を4文字分左へ移動し、302 の位置を変更したとす
る。この時変更の対象となるのは左側のブロックの横方
向(x方向)の長さであり、9文字分を5文字分にす
る。この変更により、左上のブロックの第1行目は5文
字、即ち「神奈川銀行」という文字列のみが格納可能と
なる。残る「戸塚支店」の4文字は、同ブロックの2行
目に移される。この行には、「戸塚支店」の4文字だけ
で、縦方向の変更は発生しない。右上のブロックは、ブ
ロックの長さには変更はないが開始x座標が4文字分小
さくなる。左下のブロック303 では、ブロック内の文字
数11文字に対し横文字数が5文字に変わるため、このブ
ロックの行数2行分には納まらず、行数をさらに増やす
必要があり、縦方向(y方向)長さを3に変更する。同
時に、右下のブロックの縦方向長さも3に変更する。こ
の結果、罫線データのうち、各横罫線の長さを4文字分
短かくする。縦罫線に関しては、301 及び右側の縦罫線
の開始x座標を4文字分左に寄せ、縦罫線全ての長さを
1文字分長くする。これらの変更後、再表示した表が第
3図(b)であり、ブロック内の行数の変更のあった303
は、304 のように表示される。すなわち本発明において
は、操作者からの罫線変形の指示にしたがい、罫線デー
タと内部文字データの編集を同時に行ない、表示する。
第1図は、本発明における罫線データと内部文字データ
の同時編集部分を更に詳細に説明するための図である。
101 で「何文字分または何行分、いずれかの方向に罫線
を移動せよ」と指示があれば、102 で対象となる罫線と
平行なすべての罫線の開始位置を、103 で対象となる罫
線と直交する方向のすべての罫線の長さまたは終了位置
を更新する。これらは、確定している移動方向と移動量
だけで更新可能な数値である。
の同時編集部分を更に詳細に説明するための図である。
101 で「何文字分または何行分、いずれかの方向に罫線
を移動せよ」と指示があれば、102 で対象となる罫線と
平行なすべての罫線の開始位置を、103 で対象となる罫
線と直交する方向のすべての罫線の長さまたは終了位置
を更新する。これらは、確定している移動方向と移動量
だけで更新可能な数値である。
104 から110 でブロックの中にある文字数と罫線移動に
伴なって発生するブロックの横文字数または縦行数の変
更量の関係から、文字のあふれの有無を判定し、あふれ
る場合は、移動方向及び直交する方向の縦行数また横文
字数を文字のあふれがなくなるまで変更する。これを対
象となる罫線の移動方向側のすべてのブロックについて
処理する。文字数、行数の変更がすべて終了した時点で
関連する罫線の情報を更新し表示する。なお、第1図の
104 〜110 については、第4図の具体例で詳述する。
伴なって発生するブロックの横文字数または縦行数の変
更量の関係から、文字のあふれの有無を判定し、あふれ
る場合は、移動方向及び直交する方向の縦行数また横文
字数を文字のあふれがなくなるまで変更する。これを対
象となる罫線の移動方向側のすべてのブロックについて
処理する。文字数、行数の変更がすべて終了した時点で
関連する罫線の情報を更新し表示する。なお、第1図の
104 〜110 については、第4図の具体例で詳述する。
第5図は本発明における表作成装置の一実施例を示す機
能構成図である。第5図において処理装置501 はたとえ
ばマイクロプロセッサであり、プログラムメモリ502 に
格納されたプログラムを読み出して実行するとともに、
バスライン503 を介して各機能ブロックの制御及びデー
タ転送制御を行なう。文字・カーソル入力装置504 に
は、英字・数字・ひらがな・カタカナ・記号の文字キー
のほかに、表示装置511 上のカーソルを移動するカーソ
ルキーと、たとえば特定の役割を与えられた機能キーを
装備する。位置解析回路505 は、前記入力装置504 から
入力された文字やカーソルの位置を解析し、該当する内
部データ及び表示位置に関するデータを設定する。処理
装置501 は操作者によって行なわれた機能の指示に応じ
て、テキストデータを格納するテキストデータメモリ50
6 ,位置を制御するための情報を格納するロケーション
データメモリ507 ,罫線に関する情報を格納する罫線デ
ータメモリ508 を制御する。表示制御回路510 は、こち
らの回路を通して得られる表示すべきデータ,表示位置
により文字データと罫線を表示装置511 上に表示する。
能構成図である。第5図において処理装置501 はたとえ
ばマイクロプロセッサであり、プログラムメモリ502 に
格納されたプログラムを読み出して実行するとともに、
バスライン503 を介して各機能ブロックの制御及びデー
タ転送制御を行なう。文字・カーソル入力装置504 に
は、英字・数字・ひらがな・カタカナ・記号の文字キー
のほかに、表示装置511 上のカーソルを移動するカーソ
ルキーと、たとえば特定の役割を与えられた機能キーを
装備する。位置解析回路505 は、前記入力装置504 から
入力された文字やカーソルの位置を解析し、該当する内
部データ及び表示位置に関するデータを設定する。処理
装置501 は操作者によって行なわれた機能の指示に応じ
て、テキストデータを格納するテキストデータメモリ50
6 ,位置を制御するための情報を格納するロケーション
データメモリ507 ,罫線に関する情報を格納する罫線デ
ータメモリ508 を制御する。表示制御回路510 は、こち
らの回路を通して得られる表示すべきデータ,表示位置
により文字データと罫線を表示装置511 上に表示する。
第4図(a)〜(b)は、第5図で示した表示装置511 上に表
示された表の一例と、罫線データメモリ508 ,ロケーシ
ョンデータメモリ507 ,テキストデータメモリ506 の具
体的な一例を示したものである。第4図(a)は、表示さ
れている表の例であり、A,B,C……はブロックを示
し、このブロックの中に文字が表示されている(文字は
簡単のため図示されていない)。第4図(b)に示す罫線
データメモリ508 は、この表の罫線に関するデータ(た
とえば開始x座標,開始y座標,方向,長さ,線種)を
格納する。例えば第4図(a)で401 で示される点の座標
を(x1,y1)402 で示される点の座標を(x2,y1)と
し、点401 から402 へ実線を引くとすれば、 開始x座標=x1 開始y座標=y1 方向 =右 長さ =x2−x1 線種 =実線 というようになる。(なお、x座標は紙面右方向、y座
標は紙面下方向を正の向きとする(以下同様)。) 第4図(c)に示すロケーションデータメモリ507 は、テ
キストデータの配置位置に関するデータ(たとえば開始
x座標,開始y座標,x方向の長さ,y方向の長さ,テ
キストデータ格納エリアのアドレス)を格納する。例え
ば、ブロックAが、点401 (x1,y1),点403 (x3,
y1)点404 (x1,y5),点405 (x3,y5)を4つの対角
点する矩形であるとすると、 開始x座標=x1 開始y座標=y1 x方向長さ=x3−x1 y方向長さ=y5−y1 とし、テキストデータ格納エリアドレスにブロックAの
データエリアのアドレスをセットする。
示された表の一例と、罫線データメモリ508 ,ロケーシ
ョンデータメモリ507 ,テキストデータメモリ506 の具
体的な一例を示したものである。第4図(a)は、表示さ
れている表の例であり、A,B,C……はブロックを示
し、このブロックの中に文字が表示されている(文字は
簡単のため図示されていない)。第4図(b)に示す罫線
データメモリ508 は、この表の罫線に関するデータ(た
とえば開始x座標,開始y座標,方向,長さ,線種)を
格納する。例えば第4図(a)で401 で示される点の座標
を(x1,y1)402 で示される点の座標を(x2,y1)と
し、点401 から402 へ実線を引くとすれば、 開始x座標=x1 開始y座標=y1 方向 =右 長さ =x2−x1 線種 =実線 というようになる。(なお、x座標は紙面右方向、y座
標は紙面下方向を正の向きとする(以下同様)。) 第4図(c)に示すロケーションデータメモリ507 は、テ
キストデータの配置位置に関するデータ(たとえば開始
x座標,開始y座標,x方向の長さ,y方向の長さ,テ
キストデータ格納エリアのアドレス)を格納する。例え
ば、ブロックAが、点401 (x1,y1),点403 (x3,
y1)点404 (x1,y5),点405 (x3,y5)を4つの対角
点する矩形であるとすると、 開始x座標=x1 開始y座標=y1 x方向長さ=x3−x1 y方向長さ=y5−y1 とし、テキストデータ格納エリアドレスにブロックAの
データエリアのアドレスをセットする。
第4図(d)に示すテキストデータメモリ506 は文字列で
あるテキストデータを格納する。ロケーションデータに
おけるテキストデータ格納エリアアドレスには、このエ
リアの先頭アドレスが入っている。
あるテキストデータを格納する。ロケーションデータに
おけるテキストデータ格納エリアアドレスには、このエ
リアの先頭アドレスが入っている。
次に、第4図のデータ構造において罫線の位置を変更し
た場合の各データの動きを第1図を用いて説明する。第
1図101 で、「第4図(a)の点403 から始まる縦罫線を
左へ1文字分移動せよ」と入力装置を通して指示された
とする。まず、102 では、対象となる罫線及びこれより
右側で、これと平行な罫線の開始位置を更新する。この
例の場合、第4図(b)の罫線データメモリ508 の開始x
座標を1小さくする。103 では、対象となる罫線と直交
する全ての罫線の長さを同じく罫線データメモリ508 上
で更新する。さらに104 では、対象となる罫線が縦の場
合にはこの罫線より右にあるすべてのブロックのロケー
ションデータの開始x座標を、あるいは対象となる罫線
が横の場合にはこの罫線より下にあるすべてのブロック
の開始y座標を更新する。第4図の例では、403 より右
にあるブロックB,C,E,F,H,Iの開始x座標を
1小さくすることになる。
た場合の各データの動きを第1図を用いて説明する。第
1図101 で、「第4図(a)の点403 から始まる縦罫線を
左へ1文字分移動せよ」と入力装置を通して指示された
とする。まず、102 では、対象となる罫線及びこれより
右側で、これと平行な罫線の開始位置を更新する。この
例の場合、第4図(b)の罫線データメモリ508 の開始x
座標を1小さくする。103 では、対象となる罫線と直交
する全ての罫線の長さを同じく罫線データメモリ508 上
で更新する。さらに104 では、対象となる罫線が縦の場
合にはこの罫線より右にあるすべてのブロックのロケー
ションデータの開始x座標を、あるいは対象となる罫線
が横の場合にはこの罫線より下にあるすべてのブロック
の開始y座標を更新する。第4図の例では、403 より右
にあるブロックB,C,E,F,H,Iの開始x座標を
1小さくすることになる。
続いて、対象となる罫線の移動方向側に接するすべての
ブロックについて第1図の105 から109 の各処理を行な
う。
ブロックについて第1図の105 から109 の各処理を行な
う。
第4図(a)の例では、ブロックA,ブロックDブロック
Gについて各処理を行なうことになる。
Gについて各処理を行なうことになる。
105 では、当該ブロックのロケーションデータのx方向
長さまたはy方向長さを変更する。この例では、ブロッ
クAのx方向長さを1文字分小さくする。106 では、10
5 の変更にともなってデータエリア中の当該ブロックの
テキストデータをすべて収容可能か否かをチェックす
る。収容可能であれば、次のブロック(例えばブロック
D)について105 以下の処理を行なう。収容不能の場
合、107 においてすべてのテキストを収容するために必
要な行数、すなわちy方向長さ(y方向の変更の場合に
は、x方向長さ)を計算し、ロケーションデータの該当
データを更新する。この変更により影響してくるロケー
ションデータ及び罫線データを108 ,109 で更新する。1
08 では、影響のあったロケーションデータを更新す
る。本実施例では、ブロックAのy方向長さが変更され
たため、ブロックAのy方向長さと共通のy方向長さを
持つブロックBブロックCのy方向長さを変更する。さ
らに、ブロックD,ブロックE,ブロックF,ブロック
G,ブロックH,ブロックIの開始y座標を変更する。
次の109 では、影響のあった罫線データを更新する。例
では、ブロックAのy方向長さが変更されたため、この
ブロックより下にあるすべての横罫線の開始y座標を変
更する。
長さまたはy方向長さを変更する。この例では、ブロッ
クAのx方向長さを1文字分小さくする。106 では、10
5 の変更にともなってデータエリア中の当該ブロックの
テキストデータをすべて収容可能か否かをチェックす
る。収容可能であれば、次のブロック(例えばブロック
D)について105 以下の処理を行なう。収容不能の場
合、107 においてすべてのテキストを収容するために必
要な行数、すなわちy方向長さ(y方向の変更の場合に
は、x方向長さ)を計算し、ロケーションデータの該当
データを更新する。この変更により影響してくるロケー
ションデータ及び罫線データを108 ,109 で更新する。1
08 では、影響のあったロケーションデータを更新す
る。本実施例では、ブロックAのy方向長さが変更され
たため、ブロックAのy方向長さと共通のy方向長さを
持つブロックBブロックCのy方向長さを変更する。さ
らに、ブロックD,ブロックE,ブロックF,ブロック
G,ブロックH,ブロックIの開始y座標を変更する。
次の109 では、影響のあった罫線データを更新する。例
では、ブロックAのy方向長さが変更されたため、この
ブロックより下にあるすべての横罫線の開始y座標を変
更する。
対象となる罫線の移動方向側に接するブロックのすべて
(すなわち、ブロックA,D及びG)について105 から
109 の各処理を行なうことにより、対象となっている表
全体の大きさの変更がわかる。この結果により、対象と
なる罫線及びこれと平行な罫線すべての長さを更新する
( 110)。そして、更新後のロケーションデータ,罫線デ
ータをもとにして、変更後の表を再表示する。( 111)。
(すなわち、ブロックA,D及びG)について105 から
109 の各処理を行なうことにより、対象となっている表
全体の大きさの変更がわかる。この結果により、対象と
なる罫線及びこれと平行な罫線すべての長さを更新する
( 110)。そして、更新後のロケーションデータ,罫線デ
ータをもとにして、変更後の表を再表示する。( 111)。
次に、第1図106 で示した更新後のブロックの大きさで
テキストが収容できるかをチェックする方法について第
6図,第7図を用いて一実施例を示す。第6図におい
て、601 は先の第4図(c)に示したロケーション・デー
タを示している。このロケーションデータ601 のテキス
ト・データアドレスには、テキスト・データの先頭アド
レスが記憶されており、このアドレスから初まるテキス
トデータ602 には、編集校正の対象となる「ひらがな」
「カタカナ」「英字」「数字」「記号」「漢字」などの
ほかに、改行を示す改行文字603 などの制御文字も格納
されている(なお、同図においては、便宜上文字そのも
のを図示してあるが、文字コードが記憶されていること
はいうまでもない。)。この制御文字の一種類としてブ
ロック内の文字の最後を示す「ブロック末尾文字604 」
である。
テキストが収容できるかをチェックする方法について第
6図,第7図を用いて一実施例を示す。第6図におい
て、601 は先の第4図(c)に示したロケーション・デー
タを示している。このロケーションデータ601 のテキス
ト・データアドレスには、テキスト・データの先頭アド
レスが記憶されており、このアドレスから初まるテキス
トデータ602 には、編集校正の対象となる「ひらがな」
「カタカナ」「英字」「数字」「記号」「漢字」などの
ほかに、改行を示す改行文字603 などの制御文字も格納
されている(なお、同図においては、便宜上文字そのも
のを図示してあるが、文字コードが記憶されていること
はいうまでもない。)。この制御文字の一種類としてブ
ロック内の文字の最後を示す「ブロック末尾文字604 」
である。
ここでは、これまでの例と同様に、あるブロックの右側
の縦罫線を左側に移動した場合について例を示す。変更
後のx方向長さを1行と単位とし、テキストを先頭から
順次この単位をつくっていく。当該文字がなくなった時
に作られたこの単位の個数(すなわちブロックの行数)
が新しいy方向長さとなる。
の縦罫線を左側に移動した場合について例を示す。変更
後のx方向長さを1行と単位とし、テキストを先頭から
順次この単位をつくっていく。当該文字がなくなった時
に作られたこの単位の個数(すなわちブロックの行数)
が新しいy方向長さとなる。
ところが、テキスト中には前述したように改行文字やブ
ロック末尾文字が含まれている。カウントの対象となる
文字が改行文字の場合はそれが1行の何文字目であるか
にかかわらず、1行をみたしたとみなす。また、ブロッ
ク末尾文字であった場合には、その時点で1行をみたし
たとみなし、かつ当該ブロックの文字が終わりであると
判断し行数のカウントを終了する。この時の行数が、x
方向長さ更新後のy方向長さとなる。このy方向長さが
更新前のものと異なっていれば、y方向長さを更新し、
第1図107 ,189,109 の各処理を行なう。
ロック末尾文字が含まれている。カウントの対象となる
文字が改行文字の場合はそれが1行の何文字目であるか
にかかわらず、1行をみたしたとみなす。また、ブロッ
ク末尾文字であった場合には、その時点で1行をみたし
たとみなし、かつ当該ブロックの文字が終わりであると
判断し行数のカウントを終了する。この時の行数が、x
方向長さ更新後のy方向長さとなる。このy方向長さが
更新前のものと異なっていれば、y方向長さを更新し、
第1図107 ,189,109 の各処理を行なう。
第7図は、上述した処理を、第5図の処理装置501 に行
なわせるためのプログラムのフローチャートである。70
1 で開始され、まず702 でテキストデータアドレスか
ら、該当するブロックの先頭に位置する文字が読み出さ
れる。703 ,704 で文字数カウンタが1にセットされ、
行数カウンタが0にセットされる。705 でその文字がブ
ロック末尾文字か否かが判断される。ブロック末尾文字
の場合、712 で行数カウンタに1を加え、終了する( 70
3)。ブロック末尾文字でない場合、706 で当該文字が改
行文字か否かが判断され、YES の場合、708 で文字数カ
ウンタに1がセットされ、行数カウンタに1が加えられ
る。NOの場合、707 で文字数カウンタのカウント値が更
新後のロケーションデータメモリ601 のx方向長さと比
較され、等しいか、大きい場合、文字数カウンタが708
で1にセットされ、小さい場合、709 で文字数カウンタ
に1が加えられる。711 でテキストデータから次の文字
を取得し、同様の処理が行なわれる。そして713 に至っ
てえられた行数カウンタのカウント値が新らたなy方向
長さとなる。
なわせるためのプログラムのフローチャートである。70
1 で開始され、まず702 でテキストデータアドレスか
ら、該当するブロックの先頭に位置する文字が読み出さ
れる。703 ,704 で文字数カウンタが1にセットされ、
行数カウンタが0にセットされる。705 でその文字がブ
ロック末尾文字か否かが判断される。ブロック末尾文字
の場合、712 で行数カウンタに1を加え、終了する( 70
3)。ブロック末尾文字でない場合、706 で当該文字が改
行文字か否かが判断され、YES の場合、708 で文字数カ
ウンタに1がセットされ、行数カウンタに1が加えられ
る。NOの場合、707 で文字数カウンタのカウント値が更
新後のロケーションデータメモリ601 のx方向長さと比
較され、等しいか、大きい場合、文字数カウンタが708
で1にセットされ、小さい場合、709 で文字数カウンタ
に1が加えられる。711 でテキストデータから次の文字
を取得し、同様の処理が行なわれる。そして713 に至っ
てえられた行数カウンタのカウント値が新らたなy方向
長さとなる。
こうすることにより、実際のデータの配置を全く変える
ことなく、管理情報の変更だけで罫線の位置変更に伴な
う文字列の再配置が可能となる。上記の例は、縦罫線を
左に移動したケースだが、右への移動、あるいは横罫線
の上または下への移動でも同様の処理が可能である。
ことなく、管理情報の変更だけで罫線の位置変更に伴な
う文字列の再配置が可能となる。上記の例は、縦罫線を
左に移動したケースだが、右への移動、あるいは横罫線
の上または下への移動でも同様の処理が可能である。
なお、上述した第1図の実施例における111 の画面再表
示、すなわち、全てのデータが更新された後、当該表を
画面表示する場合の一実施例を第8図(a),(b)を用いて
説明する。
示、すなわち、全てのデータが更新された後、当該表を
画面表示する場合の一実施例を第8図(a),(b)を用いて
説明する。
まず、801 で表の左上にあたるブロックのロケーション
データを取得する。そして、表示行NOを1に設定する(
802)。当該ブロックのロケーションデータをレジスタ1
に退避し(803)、このロケーションデータにあるテキス
トデータアドレスをレジスタ2にセットする( 804)。当
該ブロックの当該行の文字数をカウントする文字数カウ
ンタを1( 805)、当該ブロック内の行数をカウントする
行数カウンタを0にセットする( 806)。
データを取得する。そして、表示行NOを1に設定する(
802)。当該ブロックのロケーションデータをレジスタ1
に退避し(803)、このロケーションデータにあるテキス
トデータアドレスをレジスタ2にセットする( 804)。当
該ブロックの当該行の文字数をカウントする文字数カウ
ンタを1( 805)、当該ブロック内の行数をカウントする
行数カウンタを0にセットする( 806)。
レジスタ2で指し示される1文字を取得する( 807)。こ
の文字に対し、ブロック末尾文字か改行文字かのチェッ
クをするが、このときすでにブロック内の行数が表示し
たい行番号である表示行NOより大きくなっていれば( 80
8)、809 の処理に分岐する。819,816 で、当該文字が上
記の特殊文字でなければ、813 で取得した文字数と当該
行のx方向長さを比較し、文字数が少なければ文字数カ
ウンタに1を加える( 810)。当該行が表示の対象となっ
ている行であれば、表示行バッファにセットする( 81
1)。そうでなければ、表示行バッファにセットしないで
レジスタ2を一つ前に進める( 812)。
の文字に対し、ブロック末尾文字か改行文字かのチェッ
クをするが、このときすでにブロック内の行数が表示し
たい行番号である表示行NOより大きくなっていれば( 80
8)、809 の処理に分岐する。819,816 で、当該文字が上
記の特殊文字でなければ、813 で取得した文字数と当該
行のx方向長さを比較し、文字数が少なければ文字数カ
ウンタに1を加える( 810)。当該行が表示の対象となっ
ている行であれば、表示行バッファにセットする( 81
1)。そうでなければ、表示行バッファにセットしないで
レジスタ2を一つ前に進める( 812)。
取得した文字が当該行の長さと等しく( 813)かつ表示の
対象であれば当該文字を表示行バッファにセットする(
814)。行数を進めるために行数カウンタに1を加える(
815)。
対象であれば当該文字を表示行バッファにセットする(
814)。行数を進めるために行数カウンタに1を加える(
815)。
当該文字が改行文字であり( 816)、かつ表示の対象であ
れば当該文字を表示バッファにセットし( 817)、当該行
の残り部分をスペースで埋める( 818)。一行が完成した
ので行数カウンタに1を加える。当該文字がブロック末
尾文字であり( 819)、かつ表示の対象であれば当該行の
残り部分をスペースで埋める( 820)。
れば当該文字を表示バッファにセットし( 817)、当該行
の残り部分をスペースで埋める( 818)。一行が完成した
ので行数カウンタに1を加える。当該文字がブロック末
尾文字であり( 819)、かつ表示の対象であれば当該行の
残り部分をスペースで埋める( 820)。
当該行がまだ表示の対象でなければ、以上のステップを
繰り返すが、表示行である場合は、809 へ分岐する( 80
8)。
繰り返すが、表示行である場合は、809 へ分岐する( 80
8)。
809 では、当該ブロックの右側にあるブロックを探す。
見つかれば805 以下のステップを繰り返すが、見つから
なければ、右側にはブロックはないので、表示行バッフ
ァを表示し( 821)表示行NOを一つ進める( 822)。再び左
上のブロックに戻り( 823)、当該ブロックにまだ表示さ
れていない行がないかチェックする( 824)。まだあれ
ば、805 以下のステップを繰り返す。
見つかれば805 以下のステップを繰り返すが、見つから
なければ、右側にはブロックはないので、表示行バッフ
ァを表示し( 821)表示行NOを一つ進める( 822)。再び左
上のブロックに戻り( 823)、当該ブロックにまだ表示さ
れていない行がないかチェックする( 824)。まだあれ
ば、805 以下のステップを繰り返す。
残りがなければ行数カウンタを0リセットし( 825)、左
端の次のブロックを探す( 826)。あれば802 以下のステ
ップを繰り返す。なければ終わる。
端の次のブロックを探す( 826)。あれば802 以下のステ
ップを繰り返す。なければ終わる。
以上のステップで第1図の画面再表示( 111)が終了する
が、この実施例はあくまで一例であり、他の構成をとり
うることはいうまでもない。
が、この実施例はあくまで一例であり、他の構成をとり
うることはいうまでもない。
本発明によれば、罫線の位置を変更しても、各ブロック
の中の文字列の他のブロックへの移動や消滅などがなく
なり、表を作成したり編集する場合にも罫線の操作だけ
で処理可能となり従来の表操作に比べて著しく操作性が
良くなる。
の中の文字列の他のブロックへの移動や消滅などがなく
なり、表を作成したり編集する場合にも罫線の操作だけ
で処理可能となり従来の表操作に比べて著しく操作性が
良くなる。
第1図は本発明の一実施例の処理フローチャート、第2
図は従来例による処理結果の問題点を説明するための
図、第3図は本発明による処理結果を説明するための
図、第4図は本発明の一実施例のデータ構造例を示す
図、第5図は本発明の一実施例の機能構成図、第6図は
第1図に示した実施例の要部の一例を説明するための
図、第7図はその動作を説明するためのフローチャー
ト、第8図(a),(b)は第1図の画面再表示を説明するた
めのフローチャートである。 501 :処理装置 502 :プログラム・メモリ 506 :テキストデータ・メモリ 507 :ロケーションデータ・メモリ 508 :罫線データ メモリ
図は従来例による処理結果の問題点を説明するための
図、第3図は本発明による処理結果を説明するための
図、第4図は本発明の一実施例のデータ構造例を示す
図、第5図は本発明の一実施例の機能構成図、第6図は
第1図に示した実施例の要部の一例を説明するための
図、第7図はその動作を説明するためのフローチャー
ト、第8図(a),(b)は第1図の画面再表示を説明するた
めのフローチャートである。 501 :処理装置 502 :プログラム・メモリ 506 :テキストデータ・メモリ 507 :ロケーションデータ・メモリ 508 :罫線データ メモリ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 中島 晃 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立製作所マイクロエレクトロニク ス機器開発研究所内 (72)発明者 目瀬 道弘 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立製作所マイクロエレクトロニク ス機器開発研究所内 (72)発明者 光行 博志 茨城県日立市東多賀町1丁目1番1号 株 式会社日立製作所多賀工場内 (56)参考文献 特開 昭59−84291(JP,A) 特開 昭59−71531(JP,A) 特開 昭57−60380(JP,A)
Claims (1)
- 【請求項1】文字,罫線の入力等を指示する入力手段、
該入力手段からの指示にもとづき表示データを作成する
作成手段、該作成手段によって作成された表示データに
より、画面上に表を表示する表示手段とからなる表作成
システムにおいて、 上記入力手段からの、上記表示手段に表示された表を構
成する一つの罫線を移動する指示により、該指示罫線を
共有し隣接している領域のうち、該指示罫線の移動方向
側の第1の領域に対して、移動方向に幅を小さくするよ
うに表の罫線を移動させるとともに、 前記移動方向側とは反対の第2の領域に対して、該第2
の領域の幅及び領域内の文字の位置関係さらに前記指示
罫線の共有を維持したまま、該第2の領域を構成する罫
線と該第2の領域内の文字の移動を行い、 前記第1の領域内に配置していた文字を領域内に収めき
るように、必要に応じて、前記移動方向に垂直な方向へ
領域幅を大きくするよう直行する罫線を移動させ、領域
内に配置していた文字を再配置することを特徴とする表
作成方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60241460A JPH0654426B2 (ja) | 1985-10-30 | 1985-10-30 | 表作成方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60241460A JPH0654426B2 (ja) | 1985-10-30 | 1985-10-30 | 表作成方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS62102282A JPS62102282A (ja) | 1987-05-12 |
| JPH0654426B2 true JPH0654426B2 (ja) | 1994-07-20 |
Family
ID=17074644
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60241460A Expired - Fee Related JPH0654426B2 (ja) | 1985-10-30 | 1985-10-30 | 表作成方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0654426B2 (ja) |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5760380A (en) * | 1980-09-29 | 1982-04-12 | Canon Kk | Character processor |
| JPS5971531A (ja) * | 1982-10-18 | 1984-04-23 | Ricoh Co Ltd | データ処理装置 |
| JPS5984291A (ja) * | 1982-11-05 | 1984-05-15 | 株式会社リコー | ワ−ドプロセツサ等の罫線移動方法 |
-
1985
- 1985-10-30 JP JP60241460A patent/JPH0654426B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPS62102282A (ja) | 1987-05-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4860372A (en) | Real time handwritten character input system | |
| EP0243925A2 (en) | Instruction input system for electronic processor | |
| JP2966420B2 (ja) | 情報処理装置 | |
| JPH0541997B2 (ja) | ||
| JPS6280692A (ja) | 表作成装置 | |
| JPH0827843B2 (ja) | 図形内文字列編集方法 | |
| CN1015137B (zh) | 文字处理装置 | |
| JP2550562B2 (ja) | 文字表示装置 | |
| JPH0522933B2 (ja) | ||
| JPH08147127A (ja) | スプレッドシート表示方法およびその装置 | |
| JPH08137853A (ja) | 文書処理装置 | |
| JPS63316156A (ja) | 文字列の均等割付け方式 | |
| JP2764944B2 (ja) | 文字出力装置 | |
| JPS62102282A (ja) | 表作成方式 | |
| JPH0496097A (ja) | スクロール制御方式 | |
| JPH02291053A (ja) | 仕切り罫設定機能付き文書処理装置 | |
| JP3077777B2 (ja) | 文書処理装置 | |
| JPS61180283A (ja) | ワ−ドプロセツサ | |
| JPS6375964A (ja) | 表作成方式 | |
| JP2645174B2 (ja) | フィールド表示機能を有する電子計算機 | |
| JP2553493B2 (ja) | 作表方式 | |
| JPH0778049A (ja) | キャラクタ入力および表示装置 | |
| JP3080105B2 (ja) | 罫線選択装置 | |
| JPH05189424A (ja) | 文書編集装置及び文書編集方法 | |
| JPS5897738A (ja) | 表示装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |