JPS631615B2 - - Google Patents

Info

Publication number
JPS631615B2
JPS631615B2 JP57155312A JP15531282A JPS631615B2 JP S631615 B2 JPS631615 B2 JP S631615B2 JP 57155312 A JP57155312 A JP 57155312A JP 15531282 A JP15531282 A JP 15531282A JP S631615 B2 JPS631615 B2 JP S631615B2
Authority
JP
Japan
Prior art keywords
text
column
margin
columns
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
Application number
JP57155312A
Other languages
English (en)
Other versions
JPS5856191A (ja
Inventor
Randooru Hoon Geirii
Ozuboon Shitsupu Junia Kenesu
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS5856191A publication Critical patent/JPS5856191A/ja
Publication of JPS631615B2 publication Critical patent/JPS631615B2/ja
Granted legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J21/00Column, tabular or like printing arrangements; Means for centralising short lines
    • B41J21/14Column, tabular or like printing arrangements; Means for centralising short lines characterised by denominational arrangements
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J5/00Devices or arrangements for controlling character selection
    • B41J5/30Character or syllable selection controlled by recorded information
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/183Tabulation, i.e. one-dimensional [1D] positioning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/189Automatic justification

Landscapes

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

Description

【発明の詳細な説明】 発明の技術的分野 本発明はワード処理、特にワード処理システム
においてページ上の複数のテキスト・カラムをフ
オーマツト化する際にカラム間の余白を同等に調
整する対話式機械支援の方法に係る。
背景技術 セマフオー・コードの組込みによつて順次に記
憶されたテキスト・カラムのフオーマツト化は米
国特許第4207011号に説明されている。記憶され
たテキスト・カラムをページごとに印刷出力する
とき、組込みコードは変化する行間隔の間の同期
関係を保持する。即ち、行iのコード・キヤラク
タがメモリ走査を開始し、カラム2から印刷され
る対応する行iの存在を確認する。
キーボードとプリンタ、バツフアと制御、及び
複数カラム送出制御装置を有するシステムは米国
特許第3952853号で開示されている。セツトアツ
プの間、カラムの印刷場所を規定するタブ・フイ
ールドは操作員のキー入力によつてセツトアツプ
可能である。順次に記憶されるカラムはページご
とに印刷され、各カラムの先頭はカラム開始コー
ドのキー入力によつて決められる。これに対し、
テキスト・ストリーム入力が記憶され、表示され
るワード処理システムでは、テキストまたはデー
タの複数カラムの表は、システムにおける表示可
能スケール行と関連して操作員によつてフオーマ
ツト化される。操作員は独自にカラムの幅と余白
を決めた上で、スケール行に沿つてカウントし且
つタブ・ストツプをセツトしなければならない。
ワード処理とテキスト処理は操作員が利用でき
る機能の種類と程度によつて区別され、テキスト
処理はメガバイトのオーダーの高速DASD(直接
アクセス記憶装置)に高速にアクセスする
SCRIPTS/VSのようなテキスト・プロセツサに
よつて動作する複数ターミナルが共用する大容量
CPUに関連する。テキスト処理システムでは、
SCRIPTSで実行された連結データ・リストによ
つて操作員はリスト・ポインタ及びインデツクス
に基づく複雑な処理動作を利用して柔軟性をもつ
てフオーマツト化することができる。これに対し
て、ワード処理システムでは、書簡、文書及びメ
モ等を、例えば200キロバイトまたは300キロバイ
トの限られた容量のデイスケツト記憶と対話する
マイクロコンピユータによつて処理する独立した
ターミナルに焦点が置かれる。文書及びページは
少数の組込み制御命令によつて、末尾の位置が示
され、半ば非定形で、簡単な構造のキヤラクタ・
ストリングとして処理される。表などを構成する
文書のようにデータ構造がそれほど精巧ではない
場合、メモリは節約されるが、フオーマツト化に
対する特別な配慮が必要である。
IBMプログラム製品“Document
Composition Facility/User′s Guide”、Second
Edition、April1980、IBM Publication No.
SH20−9161−1、at Chapter5、pp・67−69に、
SCRIPT/VSテキスト処理システムの複数カラ
ムのページのレイアウトが説明されている。
SCRIPTは、各カラムのカラム数、幅、及び左マ
ージンの操作員による指定を必要とする複数カラ
ムのレイアウトを定義する。このように、カラム
相互の間隔は、先行技術では、たとえあつても限
られた自動化機能による支援の下に完全に操作員
によつて決められる。
米国特許出願第305260号(1981年9月24日)で
は、表示装置、キーボード、フオーマツト化され
た情報を記憶するメモリ、及びマイクロプロセツ
サを有する対話式ワード処理システムで実行され
る複数のテキスト・カラムをフオーマツト化する
方法が説明されている。前記システムにおける対
話式ワード・プロセツサではプロンプトが用いら
れ、複数のテキスト・カラムの表はカラム・レイ
アウト機能モードを呼出すことによつてテキスト
入力前にフオーマツト化される。それとともに、
操作員に示されたメニユー・プロンプトに基づい
て、テキスト・キヤラクタ即ちテキスト幅を繰返
しキー入力し、そして次のカラム位置までスペー
ス・キヤラクタを挿入し、更に次のカラムの幅を
定義するテキスト・キヤラクタを繰返しキー入力
することによつて、カラム幅及び余白(カラム相
互の間隔)が構成される。この単一の入力行によ
つてカラムと余白の幅がタブ・ストツプと自動的
に調整される。フオーマツト化されたカラムの見
本行はベクトルとしてコード化され、セーブされ
る。セーブされた表を後で変更したい場合、コー
ド化されたフオーマツト行が呼出され、テキスト
及び制御キヤラクタを繰返し入力することによつ
て再構成され、新しく定義された異なる幅のカラ
ムに変更され、変更されたカラムの見本行は順次
コード化され、セーブされる。また新しいカラム
を作成するとき、自動的に1キヤラクタ副の余白
が挿入され、操作員が隣接のカラムをフオーマツ
トした後に余白を入れそこなうのを防ぐ。
本発明の概要 本発明によつて、キーボード、表示装置、フオ
ーマツト化された情報を記憶するメモリ、及びマ
イクロプロセツサで構成される対話式ワード処理
システムでページに複数のテキスト・カラムをフ
オーマツト化する間にカラム間の余白を同等に調
整する方法が与えられる。前記方法は、反復され
たテキスト・キヤラクタ及び制御キヤラクタから
形成される少なくとも2つのカラムを有する見本
行の操作員によるキーボード入力ステツプと、フ
アンクシヨン・キー作動に応答して、ページ・マ
ージンの間の空いているエスケープメントを余白
数で除した値に比例するスペース・キヤラクタ数
をカラム見本の間の余白として自動的に挿入する
ことによつて見本行を変更する機械ステツプとを
含む。垂直ページ・マージン内で各カラムの間に
同等の間隔を自動的に作る外に、各カラム内で見
本行の変更に従つてタブ・ストツプを調整する別
のステツプも実行される。
前記方法は他の見本によるカラム・レイアウト
機能に調和しているという利点がある。一般的
に、操作員はテキスト・データをフオーマツト化
するワード・プロセツサに、複数のテキスト・カ
ラムの表の使用法を自動化機能による支援によつ
て補足されるダミー表示によつて“教える”。
行の末尾と右マージンの間の空白スペースを、
単にその行に配分するというプリンタにおける調
整方法とは対照的に、各カラム間に同じサイズの
余白を生じさせることが本発明による方法であ
る。本発明では、カラム見本行上のカラム見本の
間のスペース数が変更され、カラムの水平位置を
調整している間も各カラムは保持され、表におけ
るタブ・ストツプのセツテイングは、それがカラ
ム見本の一部分であることから、正しい位置に正
しく調整されている。
詳細な説明 システム装置の説明 第1図にワード処理システム10(以下、シス
テムという)が示される。システム10には、テ
キスト・キヤラクタ入力を受取り、バス14を介
してテキストをマイクロプロセツサ16に送るキ
ーボード12が含まれる。メモリ・バス18はマ
イクロプロセツサ16と表示装置20、デイスケ
ツト・ドライブ22、プリンタ24、及びランダ
ム・アクセス・メモリ(以下、メモリという)2
6を接続する。
操作員はキーボード12を介してテキスト・ス
トリームを入力する。各テキスト・ページはメモ
リ26に記憶され、処理される。テキスト・スト
リームはメモリ26に受取られると同時に、表示
装置20に表示される。テキスト・ストリーム
は、メモリ26のテキスト・記憶バツフア28で
バツフアされた後、デイスケツト・ドライブ22
にセーブされ、またはプリンタ24でハード・コ
ピーとして印刷されることが可能である。
メモリ26は複数のデータ・エリア及びシステ
ム10に記憶されたテキストによつて動作する機
能プログラムを含む。アクテイブ・フオーマツ
ト・セクシヨン30及びデイスケツト・バツフア
32を含むテキスト記憶バツフア28にテキスト
及び関連制御機能がセーブされている。ドキユメ
ント・プロセスに対するキーボード・キヤラク
タ・セツト(KB/CS)はアクテイブ・フオーマ
ツト・セクシヨン30で使用可能である。
各キヤラクタがキーボード12を介して入力さ
れると、メモリ26にあるキーストローク・サー
ビス・ルーチン50による処理が、マイクロプロ
セツサ16によつて実行される。また、テキスト
記憶バツフア28に記憶されたテキスト・ストリ
ームが同時に表示リフレツシユ・バツフア76に
入力される。表示リフレツシユ・バツフア76は
表示装置20を駆動する。表示制御ブロツク70
と表示アクセス方法ブロツク68は、テキスト記
憶バツフア28の内容に関連してスクロールでき
るウインドーを与える。デイスケツト・ドライブ
22とプリンタ24はどちらも割当てられたバツ
フア・エリアを有する。表示制御ブロツク70は
表示アクセス方法ブロツク68の要求によつてフ
ラグ及びステータス情報を記憶するように作用す
る。
操作員がキーボード12で各キーストロークを
入力すると、対応する信号がバス14によつてマ
イクロプロセツサ16に送られ、マイクロプロセ
ツサ16はキーストローク・コマンドをメモリ2
6に入力する。キーストローク・コマンドの受領
によつて、キー入力されたコマンドを処理するた
めキーストローク・サービス・ルーチン50が呼
出され、入力されたキーストローク・コマンドが
制御コマンドか、またはグラフイツク・コマンド
(テキスト・キヤラクタ)であるかによつて、そ
れに応じた処理がマイクロプロセツサ16によつ
て実行される。処理結果はテキスト記憶バツフア
28に入力される。グラフイツク及びコマンドは
テキスト記憶バツフア28に形成されるが、テキ
スト情報は表示リフレツシユ・バツフア76に保
持され、表示装置20に表示される。
制御コマンドを動作させることによつて、操作
員はメモリ26、表示装置20、デイスケツト・
ドライブ22、及びプリンタ24に関する情報を
転送できる。制御コマンドによつて選択されたペ
ージをデイスケツト・ドライブ22及びメモリ2
6から呼出すことができるので、操作員はテキス
トの変更及び修正を行ない、修正されたテキスト
をデイスケツト・ドライブ22に戻し、または修
正されたテキストのハード・コピーをプリンタ2
4で出力することができる。
部分的装置レジスタ構成、データ、及び制御フロ
ーの説明 第2図に、マイクロプロセツサ16の装置レジ
スタ構成が示されている。マイクロプロセツサ1
6は、例えばIntel Corporationのマイクロプロ
セツサ、モデル8086のように市販のものもあ
る。第2図で、マイクロプロセツサ16は制御ロ
ジツク装置80を含む。制御ロジツク装置80は
また、他のロジツク素子を相互接続するデータ/
アドレス・バス84に接続される。
メモリ26からの取出し命令に答えて、制御ロ
ジツク装置80は他の素子に対する制御信号を生
成する。生成された信号は経路86によつて、図
示のようにALU(演算論理機構)88に接続され
る。制御ロジツク装置80と他のロジツク素子の
同期動作は、バツフアを介して送られる外部クロ
ツク・ソースからのクロツク90によつて確保さ
れる。データとマイクロプロセツサ16によつて
実行される命令とはバス制御ロジツク装置92を
介して入力される。データはまた、プログラム方
式のI/O制御ロジツク装置94によつても入力
される。バス制御ロジツク装置92はメモリ26
の記憶素子に接続され、I/O制御ロジツク装置
94、またはメモリ26からのデータを処理する
ことによつて命令を受取る。
マイクロプロセツサ16からの装置制御情報は
I/O制御ロジツク装置94及び入出力データ・
バス98を経て送られる。キーボード12から入
出力データ・バス98に送られた入力は、マイク
ロプロセツサ16において、データ/アドレス・
バス84を通してALU88による制御ロジツク
装置80への命令によつて内部的に処理される。
経路86の制御信号に応答し、かつメモリ・バス
18で受取つた命令に従つて、ALU88は一時
スクラツチ・レジスタ102に記憶された算術演
算を実行する。
ワード・プロセツサのプロンプト表示 プロンプト表示を行なうワード・プロセツサに
おいて、表示装置20はCRTスクリーンで単一
スペースのキヤラクタを表示できる。第3図にお
いて代表的な表示区分が示されている。第1及び
第2行は情報表示状態を表わすステータス行であ
る。第3〜第23行はメニユー、テキスト及び対話
処理に必要な情報が表示される観察ポートであ
る。第24行は操作員に次のメニユー機能または動
作を指示する情報を与えるプロンプト行である。
最後の第25行はメツセージがフラツシユしている
か、または待行列にあるかどうかを示すメツセー
ジ行である。
カラム及びカラム間の余白 第4図において、表の左マージンと右マージン
の間にある隣接する垂直カラムのセツトを指定す
る余白及びカラムの幅のパラメータが示されてい
る。カラム及び余白の幅は、前もつて定められた
フオントに含まれるキヤラクタの幅によつて、ま
たは単位当り17.6ミクロンのような絶対エスケー
プメント単位で決められる。カラムの幅は、カラ
ム・テキストの幅を前の余白に対してカウントさ
れたキヤラクタ単位数として指定する複数バイト
数であることが望ましい。同様に、余白の幅は縦
のカラムに関連するキヤラクタの幅で空白スペー
スの量を指定する複数バイト数である。最初の余
白の幅は左マージンに対する単位カウントとして
指定される。その他の余白の幅は前のカラムの右
端に対する単位カウントとして指定される。
見本による複数テキスト・カラム、レイアウトの
フオーマツト 対話式プロンプテイングのワード処理システム
におけるカラム・レイアウト機能によつて操作員
はカラムの表のフオーマツトの属性のすべてを指
定し、削除、移動、コピー及び変更のようなカラ
ム機能の実行が可能になる。これらの属性は各カ
ラムの幅、各カラム内のタブ・ストツプ、及びカ
ラム間の余白を含む。前記米国特許出願におい
て、新しい表を作成するとき、あるいは選択され
たカラム幅の変更または新しいカラムの挿入によ
つて現在の表を変更するときの複数カラムをフオ
ーマツト化する方法が説明されている。前記方法
には、テキスト編集制御を選択的に禁止すること
によつてシステムをイニシヤライズし、メモリ割
当のような資源を予約することが含まれる。操作
員が見本としてテキスト及び制御キヤラクタを反
復キー入力することによつて表はフオーマツトさ
れ、“見本行”は符号化され、セーブされる。表
が新規作成の場合、操作員がテキスト及び制御キ
ヤラクタを反復キー入力することによつて、表示
面の“カラム見本行”に指定されたスケール行の
下に新しいフオーマツトがキー入力される。カラ
ム及び余白の幅の情報としてのタブ・ラツクは表
開始(BT)制御キヤラクタに関連する制御バイ
トとして符号化され、セーブされる。従つて、表
を変更する場合には、“カラム見本行”は前にセ
ーブされた符号化情報によつて表示され、再構成
される。その場合、操作員は見本によつて変更を
キー入力し、変更されたレイアウトは再びセーブ
される。
カラム相互間隔の自動レイアウト カラム・レイアウト・モードで相互に比例する
指定されたカラム及び指定されたマージンの“位
置調整”が操作員からワード処理システムに要求
されると、本発明による方法が呼出される。前記
方法によつて、操作員は各カラムの見本をキー入
力し、各カラムの幅とタブ・ストツプを指定す
る。各カラム見本は少なくとも1スペース分離さ
れなければならない。これは第5図の上部に明白
に示されている。各カラム見本はタブ・ストツプ
を含むスケール行の下に示されている。テキス
ト・キヤラクタ“a”の反復で示されているよう
な異なつた間隔を有する3つのカラムを操作員が
キー入力した場合、専用(カラム・レイアウト)
の機能キーを打つことによつてカラム間隔調整機
能が呼出される。それに対して装置は、占有され
ていない行幅の合計を決定し、それを余白数で割
り、隣接するカラムの間の余白が等しくなるよう
にスペースを挿入する。
第5図に前記方法の流れ図が示されている。操
作員がカラム見本行を入力(200)した後、次の
ステツプがフアンクシヨン・キー動作に応答す
る。最初に、マイクロプロセツサ16がカラム見
本行を走査し、カラム数、余白数、及びテキス
ト・キヤラクタ数を決定する(210)。この場合、
表の左及び右のマージンは既知である。走査後、
次のステツプ(212)によつて表の右端が見つか
り、右マージンに指定される。従つて、全カラム
幅が右マージンと左マージンの間のスペースより
も大きければ、表の右端はカラム見本行のエスケ
ープメントの端に置かれる(218)。全カラム幅が
右及び左マージン内に収まる場合、表の右端は右
マージンに指定される(216)。等しい余白幅はマ
ージンの間の占有されないスペース及び余白数の
関数として決定される(220)。これは、表右端と
左マージンの間の距離から全カラム幅が差引か
れ、すべての使用可能な占有されないエスケープ
メントが定義されることを意味する。前記エスケ
ープメントの数量が余白数で割られ、使用可能な
空白スペースが等しく配分される次のステツプ
で、スペース・キヤラクタの実際の挿入を制御す
るのに、その商と乗余が用いられる(222)。
次の余白を走査し前記余白にあるスペースをす
べて削除するステツプ(224)をカラム見本行の
出発点から開始し、反復実行することによつて内
部カラム間隔は各余白に配分される。剰余rが0
よりも大きい場合(226)は、整数(商+1)の
スペースが挿入され、剰余rは1減分される
(228)。そうでない場合には、整数(商)のスペ
ースが挿入される(230)。スペース挿入後、余白
数が1減分され(232)、余白数が0よりも大きけ
れば(234)、前記サイクルは余白数が0に等しく
なるまで反復される。
PASCALソース・コードの実行 動作機能キーストロークに応答して機械実行さ
れるPASCALのソース・コードが第1表に示さ
れている。PASCALは広く知られた高級プログ
ラム言語のソース・コードで、制御およびオペレ
ーテイング・システム・プログラムの開発に使用
するのに適している。PASCALのオブジエク
ト・コードは対話式ワード・プロセツサで実行さ
れ、本発明による方法を実行するのに適してい
る。PASCAL言語は技術的に高く評価されてお
り参照文献に、例えばJensen and Wirth、
“PASCAL User Manual and Report、”
Second Edition、Springer―Verlag、1974及び
Wirth、“Algorithms Plus Data Structures
Equal Programs、”Prentice―Hall Series in
Automatic Computations、1976がある。また、
PASCAL言語はISO規格として採用されている。
PASCALコンパイラがマイクロコンピユータに
常駐している一例として、Apple Computer、
Inc.、Cupertino、Californiaによつて作成された
Apple Plusコンピユータ・システムにおける
UCSDPASCALがある。
第1表で、PASCALの実行は処理手順
“autoinsert”によつて表現される。フオーマツ
トされている表に関する表示カーソルの現在位置
を決める数字パラメータの値を渡す処理手順呼出
し(表示せず)によつて処理手順“autoinsert”
は呼出される。処理手順“autoinsert”における
他の正式のパラメータとして、キヤラクタ・スト
リングの末尾を決める制御キヤラクタ“eob”、
キヤラクタ・ストリングの先頭を決める制御キヤ
ラクタ“start”、表の縦の右及び左マージンをそ
れぞれ指定する制御キヤラクタ“rm”及び
“lm”がある。キヤラクタ・ストリングは変数
“buffer”によつて表わされる。入力パラメータ
はすべて整数型である。PASCALでは、キヤラ
クタ・ストリングはキヤラクタ型のパツク・アレ
イとして表わされる。この処理手順では、リクワ
イヤード・キヤリツジ・リターン(rcr)は、
ASCIIキヤラクタ・コードでzの順序数を有する
定数として示される。処理手順に特有な変数は、
ブール代数型変数の“gutterfound”を除き、す
べて整数型変数である。データ類型の詳細につい
ては、前記文献の言語テキストを参照されたい。
前記整数型変数のうち、“linewidth”はカラム
見本行で走査中のキヤラクタ数の走行カウントで
ある。“guttercount”は実際に出会つた余白数を
表わす。“totcolwidth”はカラム見本行の全走査
で出会つたキヤラクタ数である。“spacing”は
(linewidth―totcolwidth)を“guttercount”で
除した商の整数値である。“xtra”は
“guttercount”を法とする(linewidth―
totcolwidth)として表わされた剰余である。
“i”はキヤラクタ挿入に用いられるインデツク
ス変数である。ブール代数型変数“gutterfound”
は余白幅または“totcolwidth”の決定を求める
標識である。本発明による方法に対応するプログ
ラムは第1表の第8行から第47行の間に表示され
ている。第9行では、カウンタ・レジスタのすべ
てが初期設定が行われ、第10行では、カーソルが
カラム見本行の出発点に移動される。
第11行と第24行の間の“while―do”ループで
は、入力されたキヤラクタ見本行が走査され、行
幅、全カラム幅、及び余白数が決定される。第25
行〜第47行では、カラム間のスペースの決定(第
27及び第28行)と、“repeat―until”ループ(第
30行〜第45行)による前記スペースの配分が含ま
れる。2つ以上のカラムが存在する場合にのみカ
ラム間スペースの自動配分を行わせるため、条件
ステートメント“if―then”が第25行に挿入さ
れ、第46行で終了する。次に、処理手順のストリ
ングの機能について説明する。
第1表の第9行では、前に説明したように関連
するレジスタの初期設定が行われる。その場合、
ブール代数型変数“gutterfound”は偽(false)
にセツトされ、“linewidth”及び“totcolwidth”
は“guttercount”と同じく0にセツトされる。
第10行で、カラム見本行の出発点にカーソルが移
動されて初期設定は終了する。
行幅、全カラム幅、及び余白数は、前に説明し
たように、第11行と第24行の間の“while―do”
ループで求められる。このループには、内側の
“while―do”のループの対と条件ステートメン
トが含まれる。第1の“while―do”ループは第
13行と第16行の間にあつて、余白の幅を測定す
る。テキスト・ストリングにある各々の連続キヤ
ラクタがスペース・キヤラクタである限り、行幅
カウンタは増分され、カーソルは次のキヤラクタ
に移動する。第17行〜第19行で示される条件ステ
ートメントはブール代数型変数“gutterfound”
を偽(false)にリセツトし、“guttercount”を
+1増分する。第20行〜第23行に示される第2の
“while―do”ループは、バツフア・カーソル・
キヤラクタがスペースでもなく、行末尾でもない
場合に呼出される。従つて、これらの条件のいず
れか1つを満足する各キヤラクタにおいて、変数
“totcolwidth”及び“linewidth”はカーソルと
同じに増分される。スペース・キヤラクタまたは
行末尾に出会うと、第2の“while―do”ループ
は実行されず、制御は第13行〜第16行の第1の
“while―do”ループに渡される。従つて、行末
尾“rcr”に出会うと、制御は直ちに第11行〜第
24行の“while―do”ループから、第25行〜第27
行の条件ステートメントに移される。
第25行で、少なくとも1つの余白が見つかれ
ば、右マージンに使用可能なキヤラクタ数を得る
必要がある。即ち、第27行で、カラム占有キヤラ
クタ合計と余白当り最小限1スペースの和が右マ
ージンと左マージンの差よりも小さいか、または
差に等しい場合、行幅は右マージンと左マージン
の差に等しくセツトされる。この動作はカーソル
位置が左マージンから右マージンに向つて単純に
増大するものとして行われる。
第28行はカラム間のスペース計算を表わし、占
有されないエスケープメントは2つの整数型変数
“spacing”及び“xtra”で表わされる。
“spacing”は(linewidth―totcolwidth)を
“guttercount”で割つて得た商の整数値である。
“xtra”は前記の割り算で得た剰余の整数値、即
ち“guttercount”を法とする(linewidth―
totcolwidth)の値である。第29行で、カーソル
はカラム見本行の出発点に移される。
第30行〜第45行の“repeat―until”ループで
は、各カラム間にスペース・キヤラクタが挿入さ
れる、即ち等しいカラム幅でカラム間スペースの
配分が行われる。
各反復サイクルの間に、最初の余白が見つかる
まで、カーソルは第31行で増分される。更に、反
復サイクルは、2つの内側の“while―do”ルー
プを含み、それぞれのループは特有の条件の下に
スペース・キヤラクタを削除または挿入する。第
1の“while―do”ループでは、余白が走査さ
れ、かつスペースが削除される。このPASCAL
プログラムは、カーソル位置の右にあるキヤラク
タをバツフアの終了に向つて左に移動させること
と機能的に等価に実行され、それによつてカラ
ム・マージン間のスペースが削除される。これ
は、第33行〜第36行で、“cursor+1”からバツ
フア終了(eob)を表わす整数値までのインデツ
クス“i”の“for”ループによつて示されてい
る。カラム幅は予約されているから、スペース・
キヤラクタを削除することによつて情報が失われ
ることはない。残るステツプは同数のスペース・
キヤラクタを再び挿入し、隣接するカラム間の余
白を決めることである。そのため、第37行で、新
しい変数“counter”に“spacing”の値が指定さ
れる。“xtra”で表わされた残りのスペース数が
均一に配分されるようにするため、それぞれの余
白形成サイクルで追加の1スペースが付加され
る。更に付け加えて言えば、前記サイクルの数は
変数“guttercount”によつて制御される。この
ように、残りのスペース挿入のため、第38行の条
件ステートメントによつて変数“counter”は+
1増分され、変数“xtra”は−1減分される。
第39行〜第44行で、第2の“while―do”ルー
プによつて実際のスペース・キヤラクタ挿入が制
御される。挿入は1つの余白の幅に対して行われ
る。これはバツフア終了からカーソル位置(左か
ら右に移動する)までのインデツクス“i”の
“for”ループにおける経過によつて示される。実
際の指定は第42行のbuffer(cursor):=“ ”で
行われる。PASCALプログラムでは、これは
“counter”位置に等しい最右端のカラム幅を右に
移動することによつて行われ、それによつて生じ
た隙間はスペース・キヤラクタで埋められる。第
2の“while―do”ループが前記タスクを終了す
ると、変数“guttercount”は第44行で1減分さ
れる。“guttercount”が0に等しくなるまで、ル
ープは反復されて第31行の“cursor”は増分さ
れ、サイクルは反復して次の余白を走査してスペ
ースを削除し、同数のスペースがカラム間に挿入
される。“guttercount”が0に等しいとき、カー
ソルはカラム見本行の出発点に移動し、処理手順
は対話式ワード・プロセツサ及びインタフエース
に制御を移す。
本発明の局面を表わすのにPASCALソース・
コードによる実行が選択されたのは、コンパクト
であることと、一般的に当業者によく知られてい
ることによる。他の方法として、例えば、
Osborne、“8080Programming for Logic
Design”、Sybex、Berkeley、California1976に
おいて説明されているアセンブラ・レベルの言語
で実行することもできる。
【図面の簡単な説明】
第1図はソフト及びハード・コピー出力機構、
内部及び外部メモリ、キーボード、マイクロプロ
セツサ、及び相互接続バスを含むワード・プロセ
ツサ・システムの構成図、第2図は第1図に示す
マイクロプロセツサの部分的なレジスタ構成を示
すブロツク図、第3図はワード・プロセツサの操
作員から見た表示スクリーンにおける情報のレイ
アウト図、第4図は表及びカラムのレイアウト
図、第5図は本発明における方法の流れ図であ
る。 10……システム、12……キーボード、14
……バス、16……マイクロプロセツサ、18…
…メモリ・バス、20……表示装置、22……デ
イスケツト・ドライブ、24……プリンタ、26
……メモリ、28……テキスト記憶バツフア、3
0……アクテイブ・フオーマツト・セクシヨン、
32……デイスケツト・バツフア、50……キー
ストローク・サービス・ルーチン、68……表示
アクセス方法ブロツク、70……表示制御ブロツ
ク、76……表示リフレツシユ・バツフア、80
……制御ロジツク装置、84……データ/アドレ
ス・バス、86……経路、88……ALU、90
……クロツク、92……バス制御ロジツク装置、
94……I/O制御ロジツク装置、98……入出
力データ・バス、102……一時スクラツチ・レ
ジスタ。

Claims (1)

  1. 【特許請求の範囲】 1 対話式ワード処理システムにおいて、電子ペ
    ージのカラム配列モード時に、オペレータにより
    キー入力された反復するテキストおよび制御キヤ
    ラクタから成る見本行を含む複数カラム表のテキ
    スト・カラム間の余白部がほぼ均一になるように
    調整する方法にして、所定のキーの押下げに応じ
    て、 前記見本行を走査して、カラム数、カラム間の
    余白部数、およびテキスト・キヤラクタ数を数
    え、 もし、前記見本行のテキスト・キヤラクタ数が
    ページの左右マージン間のキヤラクタ・エスケー
    プメント数よりも小さければ前記表の右端を右マ
    ージンに置き、もしそうでなければ前記表の右端
    を行末に置き、 ページの左マージンと前記表の右端との間の占
    有されないエスケープメント数を前記余白部の数
    によつて除した際の整数の商と整数の余りから、
    前記余白部の幅を計算し、 前記余白部の幅に相当する数のスペース・キヤ
    ラクタを前記テキスト・カラム間に挿入して余白
    部を形成する、 ステツプを有するテキスト・カラム間余白調整
    方法。
JP57155312A 1981-09-24 1982-09-08 テキスト・カラム間余白調整方法 Granted JPS5856191A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/305,255 US4484826A (en) 1981-09-24 1981-09-24 Automatic intertext column spacing
US305255 2002-11-26

Publications (2)

Publication Number Publication Date
JPS5856191A JPS5856191A (ja) 1983-04-02
JPS631615B2 true JPS631615B2 (ja) 1988-01-13

Family

ID=23180047

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57155312A Granted JPS5856191A (ja) 1981-09-24 1982-09-08 テキスト・カラム間余白調整方法

Country Status (5)

Country Link
US (1) US4484826A (ja)
EP (1) EP0075734B1 (ja)
JP (1) JPS5856191A (ja)
CA (1) CA1172369A (ja)
DE (1) DE3279152D1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5971540A (ja) * 1982-10-16 1984-04-23 Fanuc Ltd デ−タ入出力装置
JPS60127184A (ja) * 1983-12-14 1985-07-06 Canon Inc 記録装置
JPS61148085A (ja) * 1984-12-24 1986-07-05 Canon Inc 電子機器
JPH0755572B2 (ja) * 1987-06-01 1995-06-14 株式会社日立製作所 印字装置
EP0298166B1 (en) * 1987-07-08 1992-09-23 International Business Machines Corporation Data processing machine for automatically changing data formats
DE3838729C2 (de) * 1987-11-16 1994-05-05 Canon Kk Dokumentverarbeitungsgerät
JP3105895B2 (ja) * 1989-04-12 2000-11-06 キヤノン株式会社 文書処理装置
JPH03259369A (ja) * 1990-03-09 1991-11-19 Matsushita Electric Ind Co Ltd 文字入力装置
CA2094295C (en) * 1990-11-09 1998-05-19 Charles F. Raasch Protected hot key function for microprocessor-based computer system
JP2536322B2 (ja) * 1991-03-28 1996-09-18 ブラザー工業株式会社 テ―プ印字装置
JP2508933B2 (ja) * 1991-03-28 1996-06-19 ブラザー工業株式会社 テ―プ印字装置
US5649216A (en) * 1991-05-17 1997-07-15 Joseph S. Sieber Method and apparatus for automated layout of text and graphic elements
US5566068A (en) * 1993-09-15 1996-10-15 Microsoft Corporation Method and system for locating field breaks within input data
US5485566A (en) * 1993-10-29 1996-01-16 Xerox Corporation Method of finding columns in tabular documents
EP0768611A3 (en) * 1995-10-09 2004-05-26 Max Co., Ltd. Tape printer
US7168039B2 (en) 1998-06-02 2007-01-23 International Business Machines Corporation Method and system for reducing the horizontal space required for displaying a column containing text data
US8255791B2 (en) 2000-11-29 2012-08-28 Dov Koren Collaborative, flexible, interactive real-time displays
US6480105B2 (en) * 2000-12-21 2002-11-12 Auto Advisors, L.Lc. Method and apparatus for alerting owners of recommended vehicle maintenance
US7236979B2 (en) * 2002-06-26 2007-06-26 Microsoft Corporation Menu-less system and method for interactively manipulating and reformatting data entered in a tabular format in a data processing application
IL167283A (en) * 2005-03-07 2007-06-03 Israel Marmorstein Methods for printing booklets and booklets printed thereby
US7725815B2 (en) * 2005-12-12 2010-05-25 Sap Ag Method and system for ordered resizing columns in a table
US20070136655A1 (en) * 2005-12-12 2007-06-14 Peters Johan C Method and system for linearly resizing columns in a table
US7912829B1 (en) 2006-10-04 2011-03-22 Google Inc. Content reference page
US7979785B1 (en) 2006-10-04 2011-07-12 Google Inc. Recognizing table of contents in an image sequence
US8782551B1 (en) * 2006-10-04 2014-07-15 Google Inc. Adjusting margins in book page images
US7963321B2 (en) 2009-05-15 2011-06-21 Tam International, Inc. Swellable downhole packer
WO2016025994A1 (en) * 2014-08-18 2016-02-25 Listium Pty Ltd Methods and systems for improving the readability of tabulated data
US10445350B2 (en) 2015-11-15 2019-10-15 Microsoft Technology Licensing, Llc Optimizing content for consistent presentation through collaboration database service

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3952852A (en) * 1975-01-22 1976-04-27 International Business Machines Corporation Column format control system
JPS541535A (en) * 1977-06-06 1979-01-08 Aisin Seiki Co Ltd Power steering device
US4225249A (en) * 1977-06-27 1980-09-30 International Business Machines Corporation Variable character spacing matrix for proportional spacing printing systems
JPS5821729B2 (ja) * 1977-08-11 1983-05-02 株式会社リコー ワ−ド・プロセッサ
US4207011A (en) * 1978-03-06 1980-06-10 International Business Machines Corporation Line spacing and column format control system

Also Published As

Publication number Publication date
US4484826A (en) 1984-11-27
CA1172369A (en) 1984-08-07
DE3279152D1 (en) 1988-12-01
JPS5856191A (ja) 1983-04-02
EP0075734A2 (en) 1983-04-06
EP0075734B1 (en) 1988-10-26
EP0075734A3 (en) 1985-06-19

Similar Documents

Publication Publication Date Title
EP0075734B1 (en) Automatic intertext column spacing
EP0052755B1 (en) Text-processing system generating multiple virtual displays on a single display screen
US4506343A (en) Column layout reference area display management
US4417322A (en) Report generation control system for text processing machines
EP0298166A1 (en) Data processing machine for automatically changing data formats
JP3292247B2 (ja) デスクトップ文書作成システム
US4448557A (en) Method and means for inhibiting interleaving or cave-in among table text columns resulting from column insertion
US4445194A (en) Multidirectional cursor motion
Smith et al. MathScribe: A user interface for computer algebra systems
US5771392A (en) Encoding method to enable vectors and matrices to be elements of vectors and matrices
US4457638A (en) Automatic centering of text column entries
JPH0429106B2 (ja)
JPH0430074B2 (ja)
EP0043392A1 (en) Text processing apparatus with direct formatting of text
CA1175574A (en) Column formatting by typed example
JP2808105B2 (ja) フオント描画装置
Kehl et al. Systems programming on-line
JP3496499B2 (ja) 計算データ処理装置
JP3006988B2 (ja) 表計算装置および表計算装置のデータ管理方法
JPH06203021A (ja) 文章情報処理装置
Liu A full screen display editor for the MUMPS system
JPS62177585A (ja) 文書処理装置
ABDUL COMPUTER AIDED LEARNING OF FORTRAN PROGRAMMING
JPH01223530A (ja) 印刷処理装置
JPS61110260A (ja) 文字処理装置