JP2891322B2 - 円滑テキスト表示システム - Google Patents

円滑テキスト表示システム

Info

Publication number
JP2891322B2
JP2891322B2 JP6081206A JP8120694A JP2891322B2 JP 2891322 B2 JP2891322 B2 JP 2891322B2 JP 6081206 A JP6081206 A JP 6081206A JP 8120694 A JP8120694 A JP 8120694A JP 2891322 B2 JP2891322 B2 JP 2891322B2
Authority
JP
Japan
Prior art keywords
character
text
updated
original
width
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP6081206A
Other languages
English (en)
Other versions
JPH06348250A (ja
Inventor
ロビン・チャールズ・ベントニク・スピード
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 JPH06348250A publication Critical patent/JPH06348250A/ja
Application granted granted Critical
Publication of JP2891322B2 publication Critical patent/JP2891322B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/109Font handling; Temporal or kinetic typography

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)
  • Controls And Circuits For Display Device (AREA)
  • Digital Computer Display Output (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ちらつきのないテキス
ト更新を果たすための円滑テキスト表示システムに関す
る。
【0002】
【従来の技術】IBMオペレーティング・システム/2
(IBMおよびオペレーティング・システム/2は、イ
ンターナショナル・ビジネス・マシーンズ・コーポレイ
ションの商標)など、ウィンドウ環境で実行されるほと
んどのワード処理アプリケーション・プログラムは、文
書上で実施されるブロック切貼りや移動など種々の編集
操作を反映するために、そのオペレーティング・システ
ムに固有の機能を利用している。
【0003】従来のワード処理システムにおいては、現
在表示されているテキストが更新されるとき、古いテキ
ストは、更新済みテキストが表示される前に、画面から
除去されなければならない。このテキストの置換はいく
つかの方法で実施することができる。第一に、テキスト
が規則的な矩形グリッドに束縛されている場合には、原
文字を更新済み文字で単に置き換えることによって更新
を実施することができる。しかし、IBMのオペレーテ
ィング・システム/2・プレゼンテーション・マネージ
ャ(プレゼンテーション・マネージャはインターナショ
ナル・ビジネス・マシーンズ・コーポレイションの商
標)によって採用されているように、テキストがもっと
自由な形式であったり間隔がプロポーショナルである場
合には、古いテキストの消去はより大きな問題になる。
文字列が画面に書き込まれるときに、個々の文字間隔と
位置の情報が必要である。テキストを頻繁に更新するた
めには、更新しようとする古いテキストを重ね書きする
ブランク矩形を描いてから、更新済みテキストを書き込
む。しかし、これは、非常に多くの文字を更新するとき
には、表示システムがこのような更新を実施する際の効
果のために、かなりの量の望ましからぬちらつきや点滅
が生じる原因となる可能性がある。
【0004】IBMテクニカル・ディスクロージャ・ブ
ルテン、Vol.31、No.10、1989年3月
に、クレッグ(Clegg)他は、表示装置のビット・プレ
ーンに直接アクセスを行わない、表示画面上で英数字の
ちらつきを除く方法を開示している。この方法では、各
文字表現にクリーン・ビットと呼ばれる追加属性を割り
当てる。クリーン・ビットによって、ハードウェアは、
文字のクリーン・ビットの状況に基づいて、書き込まれ
る文字に関する判断を下すことができるようになる。ク
リーン・ビットが「オン」である場合には、ハードウェ
アは画面上の現文字位置を変えずにそのままにして、バ
ッファ内の次の文字位置に進む。クリーン・ビットが
「オフ」である場合には、ハードウェアはその文字を従
来の方法でビット・プレーンに置き、その文字用のクリ
ーン・ビットを「オン」に切り替え、バッファ内の次の
文字位置に進む。バッファに新しい文字を置くソフトウ
ェアは、下記のアルゴリズムを実施する。 (a)バッファ内の文字を新しい文字と比較する。 (b)2つの文字が(クリーン・ビットを除く)あらゆ
る点で同じである場合には、位置を変えずにそのままに
しておく。 (c)2つの文字が(クリーン・ビットを除く)あらゆ
る点で同じではない場合には、その位置を新しい文字で
更新し、クリーン・ビットを「オフ」に切り換える。
【0005】このアルゴリズムの組合せは、表示画面上
の文字が何らかの点で変更されるときにのみ、ビット・
プレーンが更新されるようにする。しかし、クレッグ他
によって開示された方法は、矩形グリッドに束縛された
テキストを使用するシステム内での使用にのみ適し、プ
ロポーショナル・スペースを利用するシステムでは有効
でないことに留意されたい。束縛グリッドを使用するシ
ステム内では、更新文字を表すビット・パターンが、予
め定義された領域内で原文字を表すビット・パターンを
完全に重ね書きして、これによってプロポーショナル・
スペース・システムに付随する問題を回避する。
【0006】
【発明が解決しようとする課題】本発明の目的は、プロ
ポーショナル・スペース・テキストを使用するシステム
内で円滑なちらつきのないテキスト更新を実施するため
の、円滑テキスト表示システムおよび方法を提供するこ
とである。
【0007】
【課題を解決するための手段】したがって、本発明の第
1実施例は、原テキストを受け取って記憶する手段と、
前記原テキストに対する変更を反映する更新済みテキス
トを受け取って記憶する手段と、プロポーショナル・ス
ペース・フォントを使用して前記の更新済みテキストを
表示する手段とを含む、テキスト表示システムを提供す
る。このシステムは、前記の文字を表示するときに、シ
ステム内で使用される各文字の幅を決定する手段と、更
新済みテキストと原テキストの各文字を、前記の文字幅
決定に従って対応する文字幅に関連付ける手段と、原テ
キストと更新済みテキストの各文字および関連文字幅
に、それぞれ順次アクセスする手段と、原テキストと更
新済みテキストの各文字の累積文字幅を計算し、この両
累積文字幅を比較して短い方を識別する手段と、原テキ
ストと更新済みテキストの文字および関連累積文字幅
を、前記の短い方の各累積文字幅と各関連文字をそれぞ
れ第1バッファと第2バッファに順次格納することによ
ってインターリーブし、これによって、各原累積文字幅
と更新済み累積文字幅に従って、前記のインターリーブ
された文字の表示順序を確立する手段と、隣接するイン
ターリーブされた文字幅の差を計算し、これによってイ
ンターリーブされた各文字の表示位置を決定する手段
と、前記の順序に従って前記のインターリーブされた文
字を前記の表示位置に順次表示し、これによって更新済
みテキストと原テキストの文字をそれぞれ増分的に表示
および削除し、こうして原文字が削除されて適切な数の
更新済みテキストの文字で置換され、その結果として円
滑なテキスト更新が得られるようにする手段とを特徴と
する。
【0008】本発明の第1の実施例のもう1つの態様に
よれば、原テキストを受け取って記憶し、前記の原テキ
ストに対する変更を反映する更新済みテキストを受け取
って記憶し、プロポーショナル・スペース・フォントを
使用して前記の更新済みテキストを表示するステップを
含む、テキスト表示の方法が提供される。この方法は、
前記の文字を表示するときに、各文字の幅を決定するス
テップと、更新済みテキストと原テキストの各文字を、
前記の文字幅決定に従って対応する文字幅に関連付ける
ステップと、原テキストと更新済みテキストの各文字お
よび関連文字幅に、それぞれ順次アクセスするステップ
と、原テキストと更新済みテキストの各文字の累積文字
幅を計算し、この両累積文字幅を比較して短い方を識別
するステップと、原テキストと更新済みテキストの文字
および関連累積文字幅を、前記の短い方の各累積文字幅
と各関連文字をそれぞれ第1バッファと第2バッファに
順次格納することによってインターリーブし、これによ
って、各原累積文字幅と更新済み累積文字幅に従って、
前記のインターリーブされた文字の表示順序を確立する
ステップと、隣接するインターリーブされた文字幅の差
を計算し、これによってインターリーブされた各文字の
表示位置を決定するステップと、前記の順序に従って、
前記のインターリーブされた文字を前記の表示位置に順
次表示し、これによって更新済みテキストと原テキスト
の文字をそれぞれ増分的に表示および削除し、こうして
原文字が削除されて適切な数の更新済みテキストの文字
で置換され、その結果として円滑なテキスト更新が得ら
れるようにするステップとを含む。
【0009】本発明の実施例は、更新を実施する結果と
して生ずるブランク画面の面積を実質的に最小にするこ
とが好ましい。
【0010】適切なことに、本発明の第2の実施例は、
原テキストを受け取って記憶する手段と、前記の原テキ
ストに対する変更を反映する更新済みテキストを受け取
って記憶するための手段と、プロポーショナル・スペー
ス・フォントに従って前記の更新済みテキストを表示す
る手段とを含む、テキスト表示システムを提供する。こ
のシステムは、前記の文字を表示するときに、システム
内で使用される各文字の幅を決定する手段と、更新済み
テキストと原テキストの各文字を、前記の文字幅決定に
従って計算し、対応する文字幅に関連付ける手段と、文
字タイプを示すフラグを、原テキストと更新済みテキス
トの各文字に関連付ける手段と、前記の関連文字の終端
位置とフラグをすべて共通バッファに複写する手段と、
文字終端位置に従って、共通バッファ内で文字の終端位
置とフラグを配列する手段と、隣接して配列された文字
終端位置の差を計算し、この差を前記の共通バッファに
戻して記憶する手段と、前記の差の極小値を識別して、
これによって原テキストと更新済みテキストが文字終端
位置の点で最も一致している場所を決定する手段と、前
記の極小値と前記の文字終端位置に応答して、連続する
極小値の間ですべての更新済み文字と、それに続いてす
べての原文字を表示し、これによって更新済みテキスト
の文字と原文字をそれぞれ増分的に表示および削除し、
こうして原文字が、適切な数の更新済みテキストの文字
によって予め置換されるときだけ削除され、その結果と
して円滑なテキスト更新が得られるようにする手段とを
特徴とする。
【0011】本発明の第2の実施例のもう1つの態様に
よれば、原テキストを受け取って記憶し、前記の原テキ
ストに対する変更を反映する更新済みテキストを受け取
って記憶し、プロポーショナル・スペース・フォントを
使用して前記の更新済みテキストを表示するステップを
含む、テキスト表示の方法が提供される。この方法は、
前記の文字を表示するときに、各文字の幅を決定するス
テップと、更新済みテキストと原テキストの各文字を、
前記の文字幅決定に従って計算し、対応する文字幅に関
連付けるステップと、文字タイプを示すフラグを、原テ
キストと更新済みテキストの各文字に関連付けるステッ
プと、前記の関連文字の終端位置とフラグをすべて共通
バッファに複写するステップと、文字終端位置に従っ
て、共通バッファ内で文字の終端位置とフラグを配列す
るステップと、隣接して配列された文字終端位置の差を
計算し、この差を前記の共通バッファに戻して記憶する
ステップと、前記の差の極小値を識別して、これによっ
て原テキストと更新済みテキストが文字終端位置の点で
最も一致している場所を決定するステップと、連続する
極小値の間ですべての更新済み文字と、それに続いてす
べての原文字を表示し、これによって更新済みテキスト
の文字と原文字をそれぞれ増分的に表示および削除し、
こうして原文字が、適切な数の更新済みテキストの文字
によって予め置換されるときだけ削除され、その結果と
して円滑なテキスト更新が得られるようにするステップ
とを含む。
【0012】表示手段上に表示される原テキストまたは
更新済みテキストは、長さが変わることがある。更新が
相対的に小規模な場合、例えば、ある行へのいくつかの
文字の挿入やタイプ・エラーの修正の場合には、更新テ
キストを構成する文字の幅が、表示手段が表示すること
のできる行当り最大ピクセル数または画面当り最大行数
より小さくなることがある。さらに、当技術分野では通
常ウィンドウと呼ばれる個別の表示域内で別々のアプリ
ケーションを実行するのが、通常の慣行である。表示域
すなわちウィンドウは、必ずしも画面の最大使用可能表
示域と完全に一致する必要はない。
【0013】したがって、本発明の具体的実施例は、更
新済みテキストまたは原テキストの最大幅が、表示域の
単一行を構成する最大ピクセル数に相当する、テキスト
表示システムを提供する。
【0014】ワード処理では従来から行われているよう
に、ブロック切抜きコマンドや貼付けコマンドの実施な
ど、更新テキストが2行以上にまたがる場合がある。こ
のような場合には、全画面または全表示域あるいはその
一部分の更新が必要になることがある。
【0015】適切なことに、本発明のもう1つの実施例
は、更新済みテキストまたは原テキストの最大幅が、表
示域または画面を構成する最大ピクセル数に等しいまた
はそれより少ない、テキスト表示システムを提供する。
【0016】単一行、部分画面、全画面、部分表示域、
または全表示域のいずれの更新が必要であるかを決定す
ることが可能であれば、テキスト表示システムの効果を
増大させることができることは明白である。これは、更
新テキストを表示する前に、全ピクセル数で表した更新
テキストの幅を決定することによって達成することがで
きる。
【0017】したがって、本発明のもう1つの実施例
は、さらに、更新テキストの全幅に応答して、単一行、
部分画面、全画面、部分表示域、または全表示域のいず
れの更新が必要であるかを決定する手段を含む、テキス
ト表示システムを提供する。
【0018】次に本発明の実施例を、添付の図面を参照
して説明する。
【0019】
【実施例】図1に本発明によるテキスト表示システムを
示す。このシステムは、ランダム・アクセス・メモリを
使用して実現された、原テキスト125と、キーボード
またはその他の装置135を介して実施された編集操作
の結果として行われた原テキスト125に対する変更を
反映する、更新済みテキスト130とを受け取り、ピク
セル数で表した各文字幅140、145と共に格納する
ための4つのバッファ100、105、110、115
を含み、またシステム内で使用されるフォント・メトリ
ックスを記憶するための読取り専用メモリ150と、ア
ドレス指定命令とデータ操作命令を実行し、前記のテキ
ストを所定のスキームに従ってインターリーブして、イ
ンターリーブされたテキスト160の表示の順序を決定
するために使用されるマイクロプロセッサ155と、前
記のインターリーブされたテキストを適切な位置165
に表示するためのビデオ表示装置170を含む。
【0020】図2および図3は、プロポーショナル・ス
ペース・テキスト・フォントに従った様々な文字の構成
を示す。各文字は「幅」200を有し、この幅は特定の
文字が何個のピクセルで記述できるかを示すことがわか
る。例えば、文字"A"205は10ピクセル幅であり、
文字"i"210はわずかに1ピクセル幅である。したが
って、文字"A"205を文字"i"210で置き換える
と、この文字を含むテキストの幅が9ピクセル短くな
る。文字を新たに挿入または削除すると、原テキストと
更新済みテキストのそれぞれで対応する文字の位置外れ
が生じることになる。
【0021】図4ないし図6に、プロポーショナル・ス
ペース・フォントを使用する従来の表示システムにおけ
るテキスト更新を示す。従来のワード処理システム内で
は、画面に表示されているテキストと、表示されたテキ
ストの更新後の状況を反映するテキストが、異なるバッ
ファに保持される。更新を実施するには、画面または表
示域300の、原テキスト125が現在占めている区域
305にブランクの矩形310を書き込む。次いでブラ
ンク矩形310の上に更新済みテキスト130を書き込
む。更新に続いて原テキスト125を廃棄することがで
き、更新済みテキスト130は原テキスト・バッファ1
00に転送される。大規模な更新が行われる場合には、
ブランク矩形310の面積が大きくなる可能性があり、
テキスト表示システムの効力の結果、このような更新は
それ自体が点滅やちらつきとして現れてくることを理解
されたい。
【0022】図7に、原テキスト125と更新済みテキ
スト130および各文字の対応する文字幅140、14
5を格納する4つのバッファ100、105、110、
115を示す。第1バッファ100の各記憶素子は、原
テキスト125の単一文字、例えば"A"205を格納す
る。第2バッファ105の各記憶素子は、第1バッファ
100の対応位置における文字の幅400の表現を格納
する。第3バッファ110の各記憶素子は、更新済みテ
キスト130の単一文字、例えば"i"210を格納す
る。第4バッファ115の各記憶素子は、第3バッファ
110の対応位置における文字の幅405の表現を格納
する。これらのバッファは、多くの高レベル・プログラ
ミング言語で提供されるような、適切な寸法のアレイ・
データ構造を使用して実現できる。このアレイ・データ
構造は、ランダム・アクセス・メモリ120中に、マイ
クロプロセッサ155によって実行される適切なアドレ
ス指定命令と共に格納されており、全体として、更新済
みテキストおよび原テキストの各文字を対応する文字幅
と関連付ける手段を構成することができる。本発明の特
定の実施例がその上で従来の方式で実施されるシステム
に照会することによって、文字幅に関する情報を確認す
ることができる。例えばフォント・メトリックス表で適
当にプログラムされた読取り専用メモリまたはランダム
・アクセス・メモリにアクセスするために適切なアドレ
ス指定命令を実行する、マイクロプロセッサ155が、
テキストを表示する際にシステム内で使用される各文字
の幅を決定する手段を構成することができることが理解
されよう。図7からわかるように、原テキスト125は
文字"ABlmiE"を含み、これらの文字はそれぞれ1
0、12、4、10、1、14の幅140を有し、更新
済みテキストは文字"ijkCDrst"を含み、これら
の文字はそれぞれ1、4、6、14、12、6、6、4
の幅145を有する。
【0023】図8は、本発明の第1の実施例に従ってテ
キストを更新するための流れ図を示す。ブロック500
で、更新済みテキスト130と原テキスト125のそれ
ぞれの全文字数で表した長さ、および対応する累積文字
幅が従来の方式で決定される。原テキストおよび更新済
みテキストの各文字の全長および累積文字幅を計算する
手段が、マイクロプロセッサ155の演算論理装置17
5の算術機能をフォント・メトリックスと共に使用して
実現できることは、当業者には明らかであろう。ブロッ
ク505で、更新済みテキスト130と原テキスト12
5およびそれらの関連文字幅115、105が、所定の
スキームに従ってインターリーブされる。最後にブロッ
ク510で、インターリーブされた更新済みテキストと
原テキストが、例えば排他的OR技術を使用して従来の
方式で表示される。
【0024】図9に、図8の流れ図の第2ステップ50
5をさらに詳しく示す。ブロック600で初期設定が行
われる。ブロック600では、第5バッファ位置160
と第6バッファ位置165の現位置を(j=1)、現更
新済みテキストの文字位置(j2=0)、現原テキスト
の文字位置(j1=0)、現更新済みテキストの累積文
字幅(l2=0)、および現原テキストの累積文字幅
(l1=0)を表すカウンタが初期設定される。適切な
アレイ・データ構造アクセス命令を実行するマイクロプ
ロセッサ155が、それぞれ原テキストと更新済みテキ
ストの各文字および関連文字幅に順次アクセスする手段
を提供する。
【0025】更新済みテキストおよび原テキストをイン
ターリーブするための、所定のスキームを605に示
す。このスキームの結果、第5バッファ160の現バッ
ファ位置に加えられる次の文字が決定される。
【0026】このスキームの結果が真である場合には、
ブロック610で、原テキスト125の現文字が第5バ
ッファ160に加えられる。またブロック615で、対
応する原テキストの累積文字幅が第6バッファ165の
現位置に加えられる。ブロック620で、現原テキスト
文字の幅が現原テキスト累積文字幅に加えられ、ブロッ
ク625で、現原テキスト文字位置が1だけ増分され
る。
【0027】このスキームの結果が偽である場合には、
ブロック630で、更新済みテキストの現文字が第5バ
ッファ160に加えられる。ブロック635で、現更新
済みテキストの累積文字幅が第6バッファ165の現位
置に加えられる。ブロック640で、現更新済み文字の
幅が現更新済みテキスト累積文字幅に加えられ、ブロッ
ク645で、現更新済みテキスト文字位置が1だけ増分
される。
【0028】ブロック650と655でそれぞれ、現第
5バッファ位置160と現第6バッファ位置165が1
だけ増分され、処理すべき文字が残っているかどうかを
確認するためにテストされる。残っている場合には、制
御がブロック605に戻って上記のことを繰り返す。残
っていない場合には、インターリーブされた更新済み文
字と原文字を表示することができる。
【0029】インターリーブされた文字は、これらの文
字が第5バッファ160に加えられた順序に従って表示
される。適切な命令を実行するマイクロプロセッサ15
5は、ランダム・アクセス・メモリ120に記憶された
アレイ・データ構造またはバッファと共に、第1バッフ
ァと第2バッファにそれぞれ短い方の前記各累積文字幅
および各関連文字を順次記憶することによって、原テキ
ストと更新済みテキストの文字および関連累積文字幅を
インターリーブし、これによって、各原累積文字幅およ
び各更新済み累積文字幅に従って、前記のインターリー
ブされた文字の表示順序を確立する手段を構成する。
【0030】図10には、上述のように原テキスト12
5および対応する文字幅140を含む第1バッファ10
0と第2バッファ105、原テキスト125に加えられ
る更新を反映する更新済みテキスト130および対応す
る文字幅145を含む第3バッファ110と第4バッフ
ァ115、およびそれぞれ第1バッファ100と第3バ
ッファ110を組み合せた長さ、および第2バッファ1
05と第4バッファ115を組み合せた長さに等しい長
さを有する、第5バッファ160と第6バッファ165
の対が示されている。第5バッファ160は、第1バッ
ファ100と第2バッファ110のインターリーブされ
たテキストを受け取り格納するためのものである。第6
バッファ165は、第2バッファ105と第4バッファ
115の対応するインターリーブされた累積文字幅を受
け取り格納するためのものである。本発明の特定の実施
例では動的長さのバッファを使用するが、適切な固定長
のバッファでも十分であることは、当業者には明らかで
あろう。原テキスト125と更新済みテキスト130お
よび累積文字幅105、115は、下記の図9のステッ
プ605のより詳細な説明に従って、文字ごとにインタ
ーリーブされる。
【0031】原テキストが終りに達せず、かつ更新済み
テキストの現累積文字幅合計が、原テキストの現累積文
字幅合計以上であるか、または更新済みテキストの終り
に達している場合には、第1バッファの現文字位置によ
って示される現原文字を第5バッファに挿入し、原テキ
ストの現累積文字幅を第6バッファに挿入し、現原文字
の幅を原テキストの現累積文字幅から差し引き、原テキ
ストの現文字位置を1だけ増分し、そうでない場合に
は、第3バッファの現文字位置によって示される現更新
済み文字を第5バッファに挿入し、更新済みテキストの
現累積文字幅を第6バッファに挿入し、現更新済み文字
の幅を更新済みテキストの現累積文字幅から差し引き
更新済みテキストの現文字位置を1だけ増分する。
【0032】上記のスキームの効果として、原テキスト
125と更新済みテキスト130の文字および累積文字
幅がインターリーブされて、その結果がそれぞれ第5バ
ッファ160と第6バッファ165に格納される。イン
ターリーブの順序は、インターリーブされた文字がこれ
らの画面における当該の表示位置に書き込まれたとき、
従来の方式で更新を実施したときに結果として現れるは
ずのブランク画面の面積が大幅に減少し、または実質的
に除去されるようなものである。
【0033】第6バッファ165における連続する累積
文字幅の差を、バッファの中の最後のエレメントから始
めて、バッファの中の最初のエレメントに向かって計算
する。上記の計算の結果は、図11に示すように第6バ
ッファ165に戻されて格納される。この差の計算の実
施は、マイクロプロセッサ155の演算論理機構175
を適当な命令と一緒に使用して実現することができ、全
体として、連続するインターリーブされた累積文字幅の
差を計算し、これによってインターリーブされた各文字
の相対的表示位置を決定する手段を構成する。その結果
得られる差は、画面に書き込まれるとき、インターリー
ブされた文字の相対的間隔を表す。"A"205は相対的
位置"0"810に描かれることがわかる。これは現表示
位置から"0"ピクセルである。
【0034】図12ないし図25に、インターリーブさ
れた文字が更新を実施するため画面に書き込まれるシー
ケンスを示す。第5バッファ160の内容が、IBMオ
ペレーティング・システム/2・プレゼンテーション・
マネージャ(IBMオペレーティング・システム/2お
よびプレゼンテーション・マネージャは、インターナシ
ョナル・ビジネス・マシーンズ・コーポレイションの商
標)で利用される"GpiCharStringPosAt"の機能などの、
通常の排他的OR技術を使用して、第6バッファ165
に含まれる相対距離で画面に書き込まれる。このような
機能をマイクロプロセッサ155とともに使用して、前
記の順序に従って前記の表示位置に、前記のインターリ
ーブされた文字を順次に表示し、これによって、更新済
みテキストと原テキストの文字をそれぞれ増分的に表示
し削除して、原文字が適切な数の更新済みテキスト文字
で置き換えられるように、円滑なテキストの更新を得る
手段を形成することができる。
【0035】したがって、相対距離に関してインターリ
ーブされたテキストを書き込む順序および効果は次の通
りである。
【0036】 (a)図12に示すように、"A"205を書き込み、こ
れによって既存の"A"を削除する。 (b)図13,14、15に示すように、"i"21
0、"j"900、"k"905を書き込み、これによって
これらの文字を表示する。 (c)図16に示すように、"B"915を書き込み、こ
れによって既存の"B"を削除する。 (d)図17に示すように、"C"920を書き込み、こ
れによってこの文字を表示する。 (e)図18に示すように、"l"925を書き込み、こ
れによってこの文字を削除する。 (f)図19に示すように、"D"930を書き込み、こ
れによってこの文字を表示する。 (g)図20,21、22で示すように、"m"94
0、"i"940、"E"950を書き込み、これによって
既存の"m"、"i"、"E"を削除する。 (h)図23,24、25に示すように、残りの"r"9
55、"s"960、"t"965を書き込み、これによっ
てこれらの文字を表示する。
【0037】表1に、本発明の第1の実施例のいくつか
の態様の疑似コードを示す。本発明の第1の実施例で
は、次の変数"char *page1[]={...}"および"char *page
2[]={...}"をCを使用して大域変数として定義し、これ
らはそれぞれ原テキストと更新済みテキストのページに
対応し、さらにシステムによって使用される文字幅、静
的LONG alWidth[256]を格納するためのバッファがあ
る。ここで説明する本発明の特定の実施例では上記の変
数を大域変数として宣言するが、本発明はこのような宣
言に限定されるものではない。ローカル変数を利用して
同様に実施することもできる。
【0038】さらに、本発明の第1の実施例では行ごと
にテキスト文字列を使用して更新を実施するが、それだ
けに限定されるものではない。更新済みテキストおよび
原テキストの長さが複数行の画面または表示域にわたる
ことも同様に企図されている。
【0039】表2では、本発明を例示する目的で、本発
明の第1の実施例を実施する機能の呼出しが、「真」か
「偽」のブール値に明示的に設定されたパラメータを利
用して行われた。本発明の第1の実施例を組み込んだワ
ード処理システムは、機能DoPage()に渡されるブール・
パラメータの状態を決定するためのより洗練された手段
を有するであろうことは当業者には自明であろう。この
ような洗練された手段は、例えば、ユーザ編集テキスト
を示すキー・ストロークを検出するとき、または更新済
みテキストが後で表示するためにたとえば記憶媒体から
入力されるときに、パラメータを「真」に設定するもの
である。
【0040】機能DoPage()を記載する表3から機能に渡
されるブール・パラメータが「偽」の場合には、システ
ムは単に原テキスト125をそのまま表示することが推
論できる。しかし、機能に渡されるブール・パラメータ
が「真」の場合には、システムは、本発明の教示に従っ
て表示装置上に原テキストに対する更新を円滑な形で反
映するはずである。機能DoPage()中で、上記の第2バッ
ファ105および第4バッファ115は単一の2次元ア
レイwidth[2][80]として実施されることが認められる。
第1バッファ100および第3バッファ110は、それ
ぞれ原テキスト125および更新済みテキスト130の
各ページ*page1[]および*page2[]個々の行に対応する。
各ページは、表示装置上の使用可能な行の数または他の
都合のよい数に従って寸法設定することができる。再び
表1を参照すると、本発明の動作を実証する目的で、ペ
ージの長さが4行char*page1[4]およびchar*page2[4]で
ある実施例が選ばれている。
【0041】
【表1】 /*文字幅バッファを定義する*/ static LONG alWidths[256]; /*サンプルの原テキスト:第1バッファを定義する*/ char *page1[4] = { "主手順はアンカー・ブロック・ハンドルを取得し、アプリケーション・メッセ ージ待ち行列を作成する。これはウィンドウの作成や静的文字列の初期設定など 初期設定に関するタスクを実施するためにFonttestInitApp機能を呼び出す。主 手順は下記をも含む"}; /*サンプルの更新済みテキスト:第1バッファを定義する*/ char *page2[4] = { "アプリケーション・メッセージ待ち行列。これは、ウィンドウの作成や静的文 字列の初期設定など初期設定に関するタスクを実施するためにFonttestInitInit App機能を呼び出す。主手順は下記をも含む"};
【0042】
【表2】 /*システムから文字幅を確認し、バッファ"alWidthsに格納する*/ GpiQueryWidthTable(hps,OL,256L,alWidths); /*本発明を実施する機能を呼び出す。偽パラメータによってこの機能を呼び出す と、原テキストが表示されることになる*/ DoPage(FALSE); /*休止*/ DosSleep(3000L); /*本発明を実施する機能を呼び出す。真パラメータによってこの機能を呼び出す と、更新済みテキストが表示されることになる*/ DoPage(TRUE);
【0043】
【表3】 void DoPage(BOOL doXOR) /*機能中で使用される変数を定義する*/ int i; int j; int n1, n2; /*機能中で使用されるバッファを定義する*/ static LONG widths[2][80]; /*第2バッファと第4バッファ*/ static char bothchar[160]; /*第5バッファ*/ static LONG bothwidth[160]; /*第6バッファ*/ if the "doXor" parameter is FALSE the erase the screen; /*ページ当りの行数または更新テキストまたは原テキストの長さに対応するカウ ントを確立する*/ for(i=3; i >= 0; i--) { /*原テキストの現在行の長さを決定する*/ n1 = strlen(page1[i]); /*原テキストの現在行を含む文字の幅を第2バッファに置く*/ for(j=0; j < n1; j++) widths[0][j] = alWidths[page1[i][j]]; /*パラメータ"doXOR"が真の場合、原テキストを更新する*/ if (doXOR) { LONG 11, 12;/*累積文字幅合計を定義する*/ int j1, j2; /*現文字位置変数を定義する*/ /*更新済みテキストの現在行の長さを定義する*/ n2 = strlen(page2[i]); /*更新済みテキストの現行を含む文字の幅を第4バッファに置く*/ for(j = 0; j < n2; j++) widths[1][j]=alWidths[page2[i][j]]; /*原テキストと更新済みテキストの現在行をインターリーブするためのカウント を確立する*/ for (j = 0, ji = 0, j2 = 0, l1 = 0, l2 = 0, j < n1+n2; j++) { /*下記に従って、原テキストおよび更新済みテキストの現在行の内容をインター リーブした。すなわち、 原テキストの終りに達せず、かつ更新済みテキストの現累積文字幅合計が、原 テキストの現累積文字幅合計以下であるか、または更新済みテキストの終りに達 している場合には、 第1バッファの現文字位置によって示される現原文字を第5バッファに挿入し 、原テキストの現累積文字幅を第6バッファに挿入し、現原文字の幅を原テキス トの現累積文字幅に追加し、原テキストの現文字位置を1だけ増分し、 そうでない場合には、 第3バッファの現文字位置によって示される現更新済み文字を第5バッファに 挿入し、更新済みテキストの現累積文字幅を第6バッファに挿入し、現更新済み 文字の幅を更新済みテキストの現累積文字幅に追加し、更新済みテキストの現文 字位置を1だけ増分する。*/ if (j1 < n1 && (j2 == n2 || l1 <= l2)) { /*原テキストの現在行の現文字位置変数j1によって指定される現文字を、第 5バッファに加える*/ bothchar[j] = page1[i][j1]; /*原テキストの現累積文字幅を第6バッファに加える*/ bothwidth[j] = l1; /*原テキストの現在行の累積文字幅を計算する*/ l1 = l1 + widths[0][j1]; /*原テキストの現在行の現文字位置を増分する*/ j1++; }else { /*更新済みテキストの現在行の現文字位置変数j1によって指定される現文字 を、第5バッファに加える*/ bothchar[j] = page2[i][j2]; /*更新済みテキストの現累積文字幅を第6バッファに加える*/ bothwidth[j] = l2; /*更新済みテキストの現在行の累積文字幅合計を計算する*/ l2 = l2 + widths[1][j2]; /*更新済みテキストの現在行の現文字位置を増分する*/ j2++; } } /*連続する累積文字幅合計の差を計算する*/ for(j = n1 + n2 - 1; j > 0; j--) { bothwidth[j] = bothwidth[j] - bothwidth[j - 1]; { bothwidth[n1 + n2] = 0; /*第5バッファの内容を第6バッファの相対位置に表示するための機能を呼び出 す。更新済みテキストを表示する*/ GpiCharStringPosAt( n1 + n2, bothchar, bothwidth + 1); }else /*機能DoPageがどのテキストの更新をも必要としない場合は、原テキストの第1 ページを表示する*/ GpiCharStringPosAt( n1, page1[i], widths[0]); } }
【0044】これから説明する本発明の代替実施例は、
ちらつきや点滅を減らすばかりでなく、更新を実行する
際にユーザによって知覚されるブランク画面の面積をも
実質的に最小にする。
【0045】原テキスト125および更新済みテキスト
130は、前述のようにバッファ中に保持される。各文
字の文字終端位置1000、1005は、図26に示す
ように、対応する文字幅140、150から計算され、
第2バッファ105と第4バッファ115に格納され
る。フォント・メトリックス表で適当にプログラムされ
た読取り専用メモリまたはランダム・アクセス・メモリ
にアクセスするために関連するアドレス指定命令を実行
する、マイクロプロセッサ155が、テキストを表示す
る際にシステム内で使用される各文字の幅を決定する手
段を構成することができることが理解されよう。
【0046】図27に、本発明の第2の実施例に従って
更新を実施するための流れ図を示す。ブロック1100
で、更新済みテキストと原テキストの長さ、およびこれ
らの対応する終端位置が決定される。演算論理機構付き
のマイクロプロセッサと適当に実行される命令が、前記
の文字幅決定に従って対応する文字終端位置を計算し、
更新済みテキストおよび原テキストの各文字にそれを関
連付ける手段を構成する。ブロック1105で、特定の
文字が更新済み文字か原文字かを示す目的で、原テキス
ト125と更新済みテキスト130の各文字にフラグが
関連付けられる。このフラグの関連付けは、連続する極
小値の間に後で特定のタイプのすべての文字を印刷する
際に、文字が更新済みテキスト130から取られたか原
テキスト125から取られたかを区別するためのもので
ある。ブロック1110および1115で、文字終端位
置と関連フラグがそれぞれ第5バッファ160と第6バ
ッファ165に転送され、すべての更新済み文字のあと
にすべての原文字が続く。ブロック1120で適当な分
類技術を使用して、第5バッファ160と第6バッファ
165の内容を文字終端位置の昇順に配列する。命令を
実行する、すなわちバブル分類を実施するマイクロプロ
セッサ155と、ランダム・アクセス・メモリ120に
格納されたバッファがあいまって、共通バッファ内の文
字終端位置およびフラグを各文字終端位置に従って配列
する手段を構成することができる。ブロック1125
で、連続する文字終端位置の差が計算される。ブロック
1130で、この差の極小値が識別される。適当な極小
値探索アルゴリズムのための命令を実行するマイクロプ
ロセッサが、前記の差の極小値を識別し、これによって
原テキストと更新済みテキストが文字終端位置に関して
最も一致する場所を決定する手段を構成することができ
る。
【0047】ブロック1135で、連続する極小値の間
のすべての更新済み文字とそれに続くすべての原文字が
書き込まれる。ブロック1140で残りのすべての文字
書き込まれる。この場合、IBMのオペレーティング
・システム/2プレゼンテーション・マネージャに記載
されているような適当な機能を、マイクロプロセッサ1
55およびビデオ表示装置170と共に使用することに
よって、前記の極小値と前記の文字終端位置に応答し
て、連続する極小値の間のすべての更新済み文字と、そ
れに続くすべての原文字を書き込み、これによって、適
切な数の更新済みテキスト文字で以前に置き換えられて
いるときだけ原文字が削除されるように、更新済みテキ
ストおよび原テキストの文字をそれぞれ増分的に表示し
削除して、円滑なテキストの更新を得る手段を構成する
ことができる。
【0048】図28では、原テキスト125および更新
済みテキスト130の文字終端位置1000、1005
と、その文字終端位置が原テキスト125の文字に関連
するものか、それとも更新済みテキスト130の文字に
関連するものかを示す対応するフラグ1200が、それ
ぞれ第6バッファ165と第7バッファ1205に組み
込まれている。
【0049】次いで文字終端位置および対応するフラグ
が、図29に示すように、バブル分類を使用して文字終
端位置の昇順に分類される。本発明ではバブル分類を使
用しているが、他の分類方法を使用して実施することも
同様に可能であることが当業者には明らかであろう。
【0050】図29および30に示すように、連続する
文字終端位置、例えば第6バッファに含まれる"55"1
300と"51"1305の差を右から左に計算し、この
例では"4"1400の結果が同バッファに戻して格納さ
れる。
【0051】原テキスト125および更新済みテキスト
130の最終文字位置ポインタおよび現文字位置ポイン
タが初期設定される。第5バッファ内の文字終端位置
が、それが極小値であるかどうか判定するために検査さ
れるたびに、その文字終端位置の対応するフラグも検査
される。フラグが、その文字終端位置が原テキスト12
5からの文字に関連することを示す場合には、原テキス
トの現文字位置ポインタが1だけ増分される。フラグ
が、その文字終端位置が更新済みテキスト130からの
文字に関連することを示す場合には、更新済みテキスト
の現文字位置ポインタが1だけ増分される。
【0052】本発明の文脈における極小値とは、先行値
より小さいか同じで後続値より小さな差のことである。
図30で、極小値は1(1110)、1(1115)、
ゼロ(1120)、および2(1125)であることが
わかる。
【0053】極小値の位置が決まると、極小値と次の極
小値との間で、最終更新文字ポインタと現更新文字ポイ
ンタの間のすべての更新テキスト文字が画面または表示
バッファに書き込まれ、これに続いて、最終原文字ポイ
ンタと現原文字ポインタの間のすべての原文字が書き込
まれ、これによって、連続する極小値間のすべての文字
が表示される。例えば、第1の極小値1110の位置が
決まったとき、最終更新済み文字ポインタと現更新済み
文字ポインタがそれぞれ0および2の値を持ち、最終原
文字ポインタと現原文字ポインタが共に0の値を持つこ
とがわかる。したがって、更新済み文字"i"210、"
j"900、"k"905とそれに続いて原文字"A"20
5が、画面または表示域に書き込まれる。この書き込み
順序により、従来の技術で遭遇した画面のブランク区域
が実質的に最小になりまたは除去される。
【0054】極小値の位置決定とこれに続く部分更新の
直後に、最終更新済み文字ポインタが、現更新済み文字
ポインタ+1に設定される。最終原文字ポインタについ
ても同様である。
【0055】すべての極小値について上記のことを繰り
返す。バッファにはもう極小値がないが、この例の"t"
965のように、表示装置に書き込むべき文字がまだ残
っているという状況が予想できる。更新済みテキスト1
30の現更新文字位置からの残りの文字と、これに続い
て原テキスト125の現原文字位置からの残りの文字
が、画面または表示域に書き込まれ、これによって、ち
らつきが実質的に最小になったまたは根絶された更新が
完了する。
【0056】したがって、位置情報に関してインターリ
ーブされたテキストの書込みの順序および効果は次の通
りである.
【0057】(a)図32、33、34に示すよう
に、"i"210、"j"900、"k"905を書き込み、
これによってこれらの文字を表示する。"k"905を書
き込むとき、原テキスト文字"B"915とオーバラップ
する領域1500があることが、図33を見るとわか
る。 (b)図34に示すように、"A"205を書き込み、こ
れによって既存の"A"を削除する。 (c)図35に示すように、"C"920を書き込み、こ
れによってこの文字を表示する。 (d)図36、37に示すように、"B"915と"l"9
25を書き込み、これによって既存の"B"と"l"を削除
する。 (e)図38に示すように、"D"930を書き込み、こ
れによってこの文字を表示する。 (f)図39、40に示すように、"m"940と"i"9
45を書き込み、これによってこれらの文字を削除す
る。 (g)図41、42に示すように、"r"955と"s"9
60を書き込み、これによってこれらの文字を表示す
る。 (h)図43に示すように、"E"950を書き込み、こ
れによって既存の"E"を削除する。 (i)図44に示すように、"t"965を書き込み、こ
れによってこの文字を表示する。
【0058】表4は、本発明の第2の実施例のいくつか
の態様の疑似コードを示したものである。
【0059】
【表4】 /*バッファ用の記憶スペースを予約する 10 DIM A(8): /*原文字幅用のバッファ 20 DIM B(8): /*更新済み文字幅用のバッファ 30 DIM A$(8): /*原文字列用のバッファ 40 DIM B$(8): /*更新済み文字列用のバッファ 50 DIM C(16) 60 DIM C$(16),O$(30),O(30) 70 DIM S(16): /*分類済みの終端長さ値を保持するためのバッファ 80 DIM S$(16): /*終端値に関する対応する文字タイプを保持するためのバッフ ァ 81 N1=length of original text string 82 N2=length of update text string 90 /*原文字列と更新済み文字列のためのデータおよびこれらの長さを読み込む 100 FOR N=0 TO N1-1 : READ A(N):NEXT:FOR N=1 TO N1-1:A(N)=A(N)+A(N-1):NE XT 110 FOR N=0 TO N2-1 : READ B(N):NEXT:FOR N=1 TO N2-1:B(N)=B(N)+B(N-1):NE XT 120 FOR N=0 TO N1-1 : READ A$(N):NEXT 130 FOR N=0 TO N2-1 : READ B$(N):NEXT 140 DATA 5,6,2,5,1,7 150 DATA 1,2,3,7,6,3,3,2 160 DATA "A","B","l","m","i","E" 170 DATA "i","j","k","C","D","r","s","t" 200 N=0: /*データと文字タイプを単一アレイに複写し、フラグを割り当てる 210 FOR J=0 TO N2-1:S(N)=B(J):S$(N)="U":N=N+1:NEXT: /*更新を第1アレイに 複写する /*原文字列からのデータを単一バッファに複写する 220 FOR J=0 TO N1-1:S(N)=A(J):S$(N)="O":N=N+1:NEXT: /*原を第2アレイに複 写する 260 /*バッファを昇順に分類する 270 FOR N=0 TO N1+N2-1 280 FOR M=N+1 TO N1+N2-1 290 IF S(N)>S(M) THEN T=S(N):T$=S$(N):S(N)=S(M):S$(N)=S$(M):S(M)=T:S$(M)=T$: /*数+文字タイプ の順序を交換する 300 NEXT 310 NEXT 340 /*連続する対の差を決定する 350 FOR N=N1+N2-1 TO 1 STEP -1: S(N)=S(N)-S(N-1): NEXT N 380 /*極小値を決定する 390 LORIG=0:LUPDATE=0 /*原テキストと更新済みテキストの最終更新ポインタと 現更新ポインタを初期設定する 410 CORIG=-1:CUPDATE=0:LMIN=0:O=0 420 FOR N=1 TO N1+N2-1 430 IF S$(N)="U" THEN CUPDATE=CUPDATE+1; /*現更新文字ポインタを増分する 440 IF S$(N)="O" THEN CORIG=CORIG+1; /*現原文字ポインタを増分する 460 IF (S(N)<=S(N-1))AND(S(N)<S(N+1)) THEN FOR M=LUPDATE TO CUPDATE: O$(0)=B$(M):O(0)=B(M):O=O+1:NEXT M:LUPDATE=CUPDATE+1 /*極小値である場合 、最終更新文字ポインタと現更新文字ポインタの間の両端を含むすべての更新文 字を画面または表示バッファに書き込む 470 IF (S(N)<=S(N-1))AND(S(N)<S(N+1)) THEN FOR M=LORIG TO CORIG: O$(0)=A$(M):O(0)=A(M):O=O+1:NEXT M:LORIG=CORIG+1 /*極小値である場合、最 終原文字ポインタと現原文字ポインタの間の両端を含むすべての原文字を画面ま たは表示のバッファに書き込む 490 NEXT N 500 /*残りの文字を画面または表示のバッファに転送する 510 IF LUPDATE<=CUPDATE THEN FOR N=CUPDATE TO N2-1:O$(O)=B$(N): O(O)=B(N):O=O+1:NEXT 520 IF LORIG<=CORIG THEN FOR N=CORIG TO N1-1:O$(O)=A$(N): O(O)=A(N):O=O+1:NEXT /*表示バッファの内容を対応する相対位置に表示する
【0060】上述の本発明の実施例は、プロポーショナ
ル・スペース・フォントを使用するテキストを更新する
際に生ずるちらつきまたは点滅を、減少させまたは無く
すことができる。
【図面の簡単な説明】
【図1】本発明による円滑なテキスト更新を実施するた
めのシステムを示す図である。
【図2】プロポーショナル・スペース・フォントによる
各種文字の構成を示す図である。
【図3】プロポーショナル・スペース・フォントによる
各種文字の構成を示す図である。
【図4】従来の技術によるプロポーショナル・スペース
・テキスト・フォントを用いたテキストの更新を示す図
である。
【図5】従来の技術によるプロポーショナル・スペース
・テキスト・フォントを用いたテキストの更新を示す図
である。
【図6】従来の技術によるプロポーショナル・スペース
・テキスト・フォントを用いたテキストの更新を示す図
である。
【図7】本発明に従って更新を実施する前の、原テキス
トと更新済みテキスト、ならびにこれらの対応する文字
幅を含む2つのバッファを示す図である。
【図8】本発明の第1実施例に従って更新を実施するた
めの流れ図である。
【図9】本発明の第1実施例による、図8に示す流れ図
の第2ステップのより詳細な流れ図である。
【図10】本発明の第1実施例に従って更新を実施する
前の、原テキストと更新済みテキストがどのようにイン
ターリーブされているかを示す図である。
【図11】本発明の第1実施例による、連続する累積文
字幅の間の差を決定するための計算を示す図である。
【図12】本発明の第1実施例による、更新済みテキス
トを表示手段に書き込み原テキストを表示手段から除去
する際にインターリーブされた文字と対応する差を使用
する方法の、テキストの開始を示す図である。
【図13】本発明の第1実施例による、更新済みテキス
トを表示手段に書き込み原テキストを表示手段から除去
する際にインターリーブされた文字と対応する差を使用
する方法において、"i"の書込みを示す図である。
【図14】本発明の第1実施例による、更新済みテキス
トを表示手段に書き込み原テキストを表示手段から除去
する際にインターリーブされた文字と対応する差を使用
する方法において、"j"の書込みを示す図である。
【図15】本発明の第1実施例による、更新済みテキス
トを表示手段に書き込み原テキストを表示手段から除去
する際にインターリーブされた文字と対応する差を使用
する方法の、"k"の書込みを示す図である。
【図16】本発明の第1実施例による、更新済みテキス
トを表示手段に書き込み原テキストを表示手段から除去
する際にインターリーブされた文字と対応する差を使用
する方法において、"B"の書込みを示す図である。
【図17】本発明の第1実施例による、更新済みテキス
トを表示手段に書き込み原テキストを表示手段から除去
する際にインターリーブされた文字と対応する差を使用
する方法において、"C"の書込みを示す図である。
【図18】本発明の第1実施例による、更新済みテキス
トを表示手段に書き込み原テキストを表示手段から除去
する際にインターリーブされた文字と対応する差を使用
する方法において、"l"の書込みを示す図である。
【図19】本発明の第1実施例による、更新済みテキス
トを表示手段に書き込み原テキストを表示手段から除去
する際にインターリーブされた文字と対応する差を使用
する方法において、"D"の書込みを示す図である。
【図20】本発明の第1実施例による、更新済みテキス
トを表示手段に書き込み原テキストを表示手段から除去
する際にインターリーブされた文字と対応する差を使用
する方法において、"M"の書込みを示す図である。
【図21】本発明の第1実施例による、更新済みテキス
トを表示手段に書き込み原テキストを表示手段から除去
する際にインターリーブされた文字と対応する差を使用
する方法において、"i"の書込みを示す図である。
【図22】本発明の第1実施例による、更新済みテキス
トを表示手段に書き込み原テキストを表示手段から除去
する際にインターリーブされた文字と対応する差を使用
する方法において、"E"の書込みを示す図である。
【図23】本発明の第1実施例による、更新済みテキス
トを表示手段に書き込み原テキストを表示手段から除去
する際にインターリーブされた文字と対応する差を使用
する方法において、"r"の書込みを示す図である。
【図24】本発明の第1実施例による、更新済みテキス
トを表示手段に書き込み原テキストを表示手段から除去
する際にインターリーブされた文字と対応する差を使用
する方法において、"s"の書込みを示す図である。
【図25】本発明の第1実施例による、更新済みテキス
トを表示手段に書き込み原テキストを表示手段から除去
する際にインターリーブされた文字と対応する差を使用
する方法において、"t"の書込みを示す図である。
【図26】本発明の第2実施例に従って更新を実施する
前の、原テキストと更新済みテキストおよび対応する端
文字位置を含む、2つのバッファを示す図である。
【図27】本発明の第2実施例に従って更新を実施する
ための流れ図である。
【図28】それぞれ更新済みテキストおよび原テキスト
の関連する文字終端位置とフラグを含む、1対のバッフ
ァを示す図である。
【図29】文字終端位置の昇順に従って配列された、更
新済みテキストおよび原テキストの関連する文字終端位
置および対応するフラグを含む、1対のバッファを示す
図である。
【図30】すべて文字終端位置の昇順に従って配列され
た、連続する関連文字終端位置の間の差、対応するフラ
グ、および原文字と更新済み文字を含む、3つのバッフ
ァを示す図である。
【図31】本発明の第2実施例による、更新済みテキス
トを表示手段に書き込み原テキストを表示手段から除去
する際に配列された文字、対応する文字終端位置、およ
びフラグを使用する方法において、"i"の書込みを示す
図である。
【図32】本発明の第2実施例による、更新済みテキス
トを表示手段に書き込み原テキストを表示手段から除去
する際に配列された文字、対応する文字終端位置、およ
びフラグを使用する方法において、"j"の書込みを示す
図である。
【図33】本発明の第2実施例による、更新済みテキス
トを表示手段に書き込み原テキストを表示手段から除去
する際に配列された文字、対応する文字終端位置、およ
びフラグを使用する方法において、"k"の書込みを示す
図である。
【図34】本発明の第2実施例による、更新済みテキス
トを表示手段に書き込み原テキストを表示手段から除去
する際に配列された文字、対応する文字終端位置、およ
びフラグを使用する方法において、"A"の書込みを示す
図である。
【図35】本発明の第2実施例による、更新済みテキス
トを表示手段に書き込み原テキストを表示手段から除去
する際に配列された文字、対応する文字終端位置、およ
びフラグを使用する方法において、"C"の書込みを示す
図である。
【図36】本発明の第2実施例による、更新済みテキス
トを表示手段に書き込み原テキストを表示手段から除去
する際に配列された文字、対応する文字終端位置、およ
びフラグを使用する方法において、"B"の書込みを示す
図である。
【図37】本発明の第2実施例による、更新済みテキス
トを表示手段に書き込み原テキストを表示手段から除去
する際に配列された文字、対応する文字終端位置、およ
びフラグを使用する方法において、"l"の書込みを示す
図である。
【図38】本発明の第2実施例による、更新済みテキス
トを表示手段に書き込み原テキストを表示手段から除去
する際に配列された文字、対応する文字終端位置、およ
びフラグを使用する方法において、"D"の書込みを示す
図である。
【図39】本発明の第2実施例による、更新済みテキス
トを表示手段に書き込み原テキストを表示手段から除去
する際に配列された文字、対応する文字終端位置、およ
びフラグを使用する方法において、"m"の書込みを示す
図である。
【図40】本発明の第2実施例による、更新済みテキス
トを表示手段に書き込み原テキストを表示手段から除去
する際に配列された文字、対応する文字終端位置、およ
びフラグを使用する方法において、"i"の書込みを示す
図である。
【図41】本発明の第2実施例による、更新済みテキス
トを表示手段に書き込み原テキストを表示手段から除去
する際に配列された文字、対応する文字終端位置、およ
びフラグを使用する方法において、"r"の書込みを示す
図である。
【図42】本発明の第2実施例による、更新済みテキス
トを表示手段に書き込み原テキストを表示手段から除去
する際に配列された文字、対応する文字終端位置、およ
びフラグを使用する方法において、"s"の書込みを示す
図である。
【図43】本発明の第2実施例による、更新済みテキス
トを表示手段に書き込み原テキストを表示手段から除去
する際に配列された文字、対応する文字終端位置、およ
びフラグを使用する方法において、"E"の書込みを示す
図である。
【図44】本発明の第2実施例による、更新済みテキス
トを表示手段に書き込み原テキストを表示手段から除去
する際に配列された文字、対応する文字終端位置、およ
びフラグを使用する方法において、"t"の書込みを示す
図である。
【符号の説明】
100 第1バッファ 105 第2バッファ 110 第3バッファ 115 第4バッファ 120 ランダム・アクセス・メモリ 125 原テキスト 130 更新済みテキスト 135 キーボードまたは他の入出力装置 140 文字幅 145 文字幅 155 マイクロプロセッサ 160 第5バッファ 165 第6バッファ 170 ビデオ表示装置 175 演算論理機構 200 文字幅 300 画面または表示域 305 現占有区域 310 ブランク矩形 405 文字幅

Claims (14)

    (57)【特許請求の範囲】
  1. 【請求項1】原テキストを受け取って記憶する原テキス
    ト記憶手段と、前記の原テキストに対する変更を反映す
    る更新済みテキストを受け取って記憶する手段と、プロ
    ポーショナル・スペース・フォントを用いて前記の更新
    済みテキストを表示するための手段とを含む、テキスト
    表示システムにおいて、 文字を表示する際に、システム内で使用されている各文
    字の幅を決定する手段と、 前記の文字幅決定に従って、更新済みテキストおよび原
    テキストの各文字を、対応する文字幅と関連付ける手段
    と、 原テキストおよび更新済みテキストの各文字および関連
    文字幅に、それぞれ順次アクセスする手段と、 更新済みテキストおよび原テキストの各文字の累積文字
    幅を計算し、前記累積文字幅を比較して小さい方を識別
    する手段と、 更新済みテキストおよび原テキストの文字および関連累
    積文字幅をインターリーブし、これによって各原累積文
    字幅および更新後の累積文字幅に従って前記のインター
    リーブされた文字の表示順序を確立するために、前記小
    さい方の各累積文字幅に関連する文字、および当該累積
    文字幅から当該文字の幅を差し引いた値を、それぞれ第
    1バッファおよび第2バッファに順次格納する手段と、 前記第1バッファの順次の文字を前記第2バッファの順
    次の関連する前記値で指定される位置において前記原テ
    キスト記憶手段に書き込む手段と、 を備え、前記原テキスト記憶手段への書き込みは排他的
    OR書き込みであり、これにより原テキスト記憶手段に
    記憶されている文字に重ねて同じ文字が書き込まれると
    き該文字が消去されることを特徴とするテキスト表示シ
    ステム。
  2. 【請求項2】原テキストを受け取って記憶する原テキス
    ト記憶手段手段と、前記の原テキストに対する変更を反
    映する更新済みテキストを受け取って記憶する手段と、
    プロポーショナル・スペース・フォントを用いて前記の
    更新済みテキストを表示する手段とを含む、テキスト表
    示システムにおいて、 文字を表示する際に、各文字の幅を決定する手段と、 対応する文字終端位置を計算し、前記の文字幅決定に従
    って、それを更新済みテキストおよび原テキストの各文
    字と関連付ける手段と、 文字が原テキストのものであるか更新済みテキストのも
    のであるかを示すフラグを、原テキストおよび更新済み
    テキストの各文字と関連付ける手段と、 前記更新済みテキストの文字および前記原テキストの文
    字の順ですべての関連する文字終端位置およびフラグを
    共通バッファに複写する手段と、 共通バッファ内で文字終端位置およびフラグを文字終端
    位置に従って配列する手段と、 連続する配列された文字終端位置の差を計算し、この差
    を前記の共通バッファに戻して格納する手段と、 前記の差の極小値を識別し、各極小値と次の極小値との
    間において、前記原テキスト記憶手段における前記文字
    終端位置に、前記極小値の間のすべての更新済み文字
    と、それに続いてすべての原文字を書き込む手段と、 を備え、前記原テキスト記憶手段への書き込みは排他的
    OR書き込みであり、これにより原テキスト記憶手段に
    記憶されている文字に重ねて同じ文字が書き込まれると
    き該文字が消去されることを特徴とするテキスト表示シ
    ステム。
  3. 【請求項3】更新済みテキストまたは原テキストの最大
    幅が、表示域の単一行を構成する最大ピクセル数に対応
    することを特徴とする、上記のいずれかの請求項に記載
    のテキスト表示システム。
  4. 【請求項4】更新済みテキストまたは原テキストの最大
    幅が、表示域または表示画面を構成する最大ピクセル数
    以下であることを特徴とする、上記のいずれかの請求項
    に記載のテキスト表示システム。
  5. 【請求項5】表示域がウィンドウに対応することを特徴
    とする、請求項3または請求項4に記載のテキスト表示
    システム。
  6. 【請求項6】ウィンドウの寸法が表示手段の完全な画面
    に対応することを特徴とする、請求項5に記載のテキス
    ト表示システム。
  7. 【請求項7】さらに、更新テキストの全幅に応答して、
    更新を必要とするのが単一行、部分画面、完全画面、ま
    たは表示域のいずれであるかを判定する手段を含む、上
    記のいずれかの請求項に記載のテキスト表示システム。
  8. 【請求項8】原テキストを受け取って原テキスト記憶手
    段に記憶するステップと、前記の原テキストに対する変
    更を反映する更新済みテキストを受け取って記憶するス
    テップと、プロポーショナル・スペース・フォントを用
    いて前記の更新済みテキストを表示するステップとを含
    む、テキスト表示方法において、 文字を表示する際に、システム内で使用されている各文
    字の幅を決定するステップと、 前記の文字幅決定に従って、更新済みテキストおよび原
    テキストの各文字を、対応する文字幅と関連付けるステ
    ップと、 原テキストおよび更新済みテキストの各文字および関連
    文字幅に、それぞれ順次アクセスするステップと、 原テキストおよび更新済みテキストの各文字の累積文字
    幅を計算し、前記累積文字幅を比較して小さい方を識別
    するステップと、 更新済みテキストおよび原テキストの文字および関連累
    積文字幅をインターリーブし、これによって各原累積文
    字幅および更新後の累積文字幅に従って前記のインター
    リーブされた文字の表示順序を確立するために、前記小
    さい方の各累積文字幅に関連する文字、および当該累積
    文字幅から当該文字の幅を差し引いた値を、それぞれ第
    1バッファおよび第2バッファに順次格納するステップ
    と、 前記第1バッファの順次の文字を前記第2バッファの順
    次の関連する前記値で指定される位置において前記原テ
    キスト記憶手段に書き込むステップと、 を備え、前記原テキスト記憶手段への書き込みは排他的
    OR書き込みであり、これにより原テキスト記憶手段に
    記憶されている文字に重ねて同じ文字が書き込まれると
    き該文字が消去されることを特徴とするテキスト表示方
    法。
  9. 【請求項9】原テキストを受け取って原テキスト記憶手
    段に記憶するステップと、前記の原テキストに対する変
    更を反映する更新済みテキストを受け取って記憶するス
    テップと、プロポーショナル・スペース・フォントを用
    いて前記の更新済みテキストを表示するステップとを含
    む、テキスト表示方法において、 文字を表示する際に、各文字の幅を決定するステップ
    と、 対応する文字終端位置を計算し、前記の文字幅決定に従
    って、それを更新済みテキストおよび原テキストの各文
    字と関連付けるステップと、 文字タイプを示すフラグを、原テキストおよび更新済み
    テキストの各文字と関連付けるステップと、 前記のすべての関連する文字終端位置およびフラグを共
    通バッファに複写するステップと、 共通バッファ内で文字終端位置およびフラグを文字終端
    位置に従って配列するステップと、 連続する配列された文字終端位置の差を計算し、この差
    を前記の共通バッファに戻して格納するステップと、 前記の差の極小値を識別し、各極小値と次の極小値との
    間において、前記原テキスト記憶手段における前記文字
    終端位置に、前記極小値の間のすべての更新済み文字
    と、それに続いてすべての原文字を書き込むステップ
    と、 を備え、前記原テキスト記憶手段への書き込みは排他的
    OR書き込みであり、これにより原テキスト記憶手段に
    記憶されている文字に重ねて同じ文字が書き込まれると
    き該文字が消去されることを特徴とするテキスト表示方
    法。
  10. 【請求項10】更新済みテキストまたは原テキストの最
    大幅が、表示域の単一行を構成する最大ピクセル数に対
    応することを特徴とする、上記の請求項8または請求項
    9のいずれかに記載のテキスト表示方法。
  11. 【請求項11】更新済みテキストまたは原テキストの最
    大幅が、表示域または表示画面を構成する最大ピクセル
    数以下であることを特徴とする、上記の請求項8、請求
    項9、または請求項10のいずれかに記載のテキスト表
    示方法。
  12. 【請求項12】表示域がウィンドウに対応することを特
    徴とする、請求項10または請求項11に記載のテキス
    ト表示方法。
  13. 【請求項13】ウィンドウの寸法が表示手段の完全な画
    面に対応することを特徴とする、請求項12に記載のテ
    キスト表示方法。
  14. 【請求項14】さらに、更新テキストの全幅に応答し
    て、更新を必要とするのが単一行、部分画面、完全画
    面、または表示域のいずれであるかを判定する手段を含
    む、請求項8、請求項9、請求項10、請求項11、請
    求項12、または請求項13のいずれかに記載のテキス
    ト表示方法。
JP6081206A 1993-05-14 1994-04-20 円滑テキスト表示システム Expired - Lifetime JP2891322B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9309986A GB2278030B (en) 1993-05-14 1993-05-14 Smooth text display system
GB9309986.9 1993-05-14

Publications (2)

Publication Number Publication Date
JPH06348250A JPH06348250A (ja) 1994-12-22
JP2891322B2 true JP2891322B2 (ja) 1999-05-17

Family

ID=10735503

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6081206A Expired - Lifetime JP2891322B2 (ja) 1993-05-14 1994-04-20 円滑テキスト表示システム

Country Status (3)

Country Link
US (1) US5563626A (ja)
JP (1) JP2891322B2 (ja)
GB (1) GB2278030B (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2125608A1 (en) * 1993-06-30 1994-12-31 George M. Moore Method and system for providing substitute computer fonts
US5724067A (en) * 1995-08-08 1998-03-03 Gilbarco, Inc. System for processing individual pixels to produce proportionately spaced characters and method of operation
US6501565B1 (en) * 1998-07-07 2002-12-31 Electronics For Imaging, Inc. Method and apparatus for smoothing text outlines
GB0118682D0 (en) * 2001-08-01 2001-09-19 Preston David Bait stop
US20070046560A1 (en) * 2005-08-30 2007-03-01 W5 Networks, Inc. Interleaved text display
US8922563B2 (en) * 2006-09-29 2014-12-30 Rockwell Automation Technologies, Inc. Digital numeric display with adaptive character width
US20150350261A1 (en) * 2014-05-30 2015-12-03 Linkedln Corporation Interleaving primary and private conversations

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5175811A (en) * 1987-05-20 1992-12-29 Hitachi, Ltd. Font data processor using addresses calculated on the basis of access parameters
US5185818A (en) * 1991-06-05 1993-02-09 Adobe Systems Incorporated Method of substituting fonts and displaying characters

Also Published As

Publication number Publication date
JPH06348250A (ja) 1994-12-22
GB2278030B (en) 1997-08-06
GB2278030A (en) 1994-11-16
US5563626A (en) 1996-10-08
GB9309986D0 (en) 1993-06-30

Similar Documents

Publication Publication Date Title
US4513391A (en) Text processing apparatus with two-stage formatting of text
US5604853A (en) Text editor using insert, update and delete structures for undo and redo operations
US4769636A (en) Display control method for multi-window system
CA1280524C (en) Multiple window display system
JP3481296B2 (ja) グラフィックスクリーン上の項目の選択方法
JP2891322B2 (ja) 円滑テキスト表示システム
WO2000014642A2 (en) Method for implementing a queue in a memory, and memory arrangement
JP2744371B2 (ja) 拡大文字による入力文字表示方法
US7598954B2 (en) Adapting and rendering graphic effects
JPH0522933B2 (ja)
JPH11338456A (ja) 地図表示システム及びそれにおける画像スクロール処理方法
JP2665206B2 (ja) 表画面描画処理方式
JPH09167110A (ja) ファイル管理方法及び装置
KR960043806A (ko) 화상처리장치
JP2504867B2 (ja) 文章処理装置における表示方式
JP2713924B2 (ja) 文書編集装置
JPH05158670A (ja) 画面型プログラムエディタ
JP2982535B2 (ja) グラフ作成装置
EP0360501B1 (en) A text-editing apparatus with real time display function
JPH04111054A (ja) 文書処理装置
JPH0546141A (ja) 文字キヤツシユ方式
JPH07296179A (ja) 表示データ処理装置及び方法
JPH0981347A (ja) データ管理システム
JPS63262687A (ja) ウインドウ制御方法
JPS58146982A (ja) 文書編集装置