JP2628621B2 - データ処理システムおよび文字表示方法 - Google Patents

データ処理システムおよび文字表示方法

Info

Publication number
JP2628621B2
JP2628621B2 JP6307210A JP30721094A JP2628621B2 JP 2628621 B2 JP2628621 B2 JP 2628621B2 JP 6307210 A JP6307210 A JP 6307210A JP 30721094 A JP30721094 A JP 30721094A JP 2628621 B2 JP2628621 B2 JP 2628621B2
Authority
JP
Japan
Prior art keywords
characters
character
processing system
data processing
display
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
Application number
JP6307210A
Other languages
English (en)
Other versions
JPH07271339A (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 JPH07271339A publication Critical patent/JPH07271339A/ja
Application granted granted Critical
Publication of JP2628621B2 publication Critical patent/JP2628621B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/24Generation of individual character patterns
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)
  • Document Processing Apparatus (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、概括的に云えば、改良
されたデータ処理システムに関するものであり、詳しく
云えば、データ処理システムにおけるグラフィック・デ
ィスプレイ・システムのための改良された方法及び装置
に関するものである。更に詳しく云えば、本発明は、デ
ータ処理システムにおけるビデオ・ディスプレイ上に文
字を表示するための改良された方法及び装置に関するも
のである。
【0002】
【従来の技術】OS/2、Windows、及びAIX
のような今日のオペレーティング・システムは、ユーザ
とコンピュータとの間に改良されたインターフェースを
与えるために、グラフィック・ユーザ・インターフェー
ス(GUI)を使用している。(なお、「OS/2」及
び「AIX」はIBM社の商標であり、「Window
s」はマイクロソフト社の商標である)。GUIは、ア
プリケーションが単一のディスプレイ・スクリーン上で
テキストとグラフィックスの両方を利用することを可能
にする。文字は、異なるフォントでディスプレイ・スク
リーン上に表示されてもよい。本願において使用される
用語「文字」は、表現、編成、又は制御データのために
使用される一組のエレメントのメンバを意味する。用語
「フォント」は所与のサイズ及びスタイルを持った文字
のファミリ(例えば、12ポイントのHelvetic
a)を意味する。
【0003】更に、GUIは、ウインドウと呼ばれるス
クリーンの矩形部分を各アプリケーションに割り当てる
ことによって、複数のアプリケーションが同じスクリー
ンを共用することを可能にする。ウインドウの外の領域
は、通常、そのアプリケーションにとって利用すること
ができない。ユーザは、必要に応じて、各アプリケーシ
ョン・ウインドウをサイズ変更及び位置変更することが
できる。GUIは、ワード・プロセッサのようなアプリ
ケーションがWYSIWYG(ウィジィウィーグ)モー
ドで動作することも可能にする。たとえGUI環境がデ
ィスプレイをグラフィックス・モードで動作させても、
テキスト・サポートは依然としてそのGUIの重要な部
分である。ディスプレイ・アダプタがグラフィックス・
モードで動作する時、文字の各画素(ペル)はGUIに
よって描かれなければならない。このような状況は、デ
ィスプレイ・アダプタに1つの文字コードを書き込む代
わりにすべての画素を描くことに関連するソフトウエア
・オーバヘッドのため、深刻な性能上の低下をまねく。
文字を描くことに加えて、GUIはソース・データ(テ
キスト文字又はイメージ・ビットマップ)と宛先(通常
は、スクリーン)との間の論理的動作をサポートする。
これらの論理的動作は、「ラステロプス(raster
ops)」とも呼ばれ、テキスト文字を描くに必要なオ
ーバヘッドを増加させる。データ処理システムにおける
多くの異なるハードウエア及びソフトウエアの構成が使
用可能である。
【0004】そのデータ処理システムのハードウエア部
分は,ハードウエア及びソフトウエアのタイプによって
は、GUIにおいてテキストを表示するために使用され
るソフトウエアにより十分に利用されなかったり、或い
は酷使されたりすることがある。従って、データ処理シ
ステムのハードウエア部分とソフトウエア部分とに間に
バランスを与えるための方法及び装置を持つことが望ま
しい。
【0005】
【発明が解決しようとする課題】従って、本発明の目的
は、改良されたデータ処理システムを提供することにあ
る。
【0006】本発明のもう1つの目的は、データ処理シ
ステムにおけるグラフィックス・ディスプレイ・システ
ムのための改良された方法及び装置を提供することにあ
る。
【0007】本発明の更にもう1つの目的は、データ処
理システムにおけるビデオ・ディスプレイ上に文字を表
示するための改良された方法及び装置を提供することに
ある。
【0008】
【課題を解決するための手段】上記の目的は、以下に述
べるように達成される。本発明は、データ処理システム
においてディスプレイ上に文字を表示する効率を上げる
ための方法及び装置を提供する。データ処理システムに
おけるディスプレイ上に文字を表示するための複数のプ
ロセスが与えられる。それらプロセスの各々は、ディス
プレイ上に文字を表示するために種々の量のプロセッサ
資源を必要とする。それらプロセスの1つは、選択され
たプロセスが他のプロセスよりも効率的な文字表示をデ
ィスプレイにおいて行うように選択される。
【0009】又、本発明は、データ処理システムのシス
テム・メモリにおいてフォント・データをキャッシュす
ることによって文字を表示するための改良された方法及
び装置を提供する。本発明によれば、CPUにおいて利
用可能なパラメータ移動命令を利用して、特定の文字に
対する字形ビットマップがキャッシュからグラフィック
ス・アダプタに移動可能である。文字は、その文字の幅
全体又は1行の文字のストリング全体を包含する固定走
査線に基づいてグラフィックス・アダプタへ移動され
る。
【0010】
【実施例】図面、特に図1を参照すると、システム・ユ
ニット2、ビデオ・ディスプレイ端末4、キーボード
6、及びマウス8を含むデータ処理システム10が示さ
れる。データ処理システム10は、IBM社の製品であ
るIBM PS/2コンピュータ又はIBM RISC
SYSTEM/6000コンピュータのような任意の
適当なコンピュータを利用して実施可能である。(「P
S/2」及び「RISC SYSTEM/6000」は
IBM社の商標である)。図示の実施例はパーソナル・
コンピュータであるけれども、本発明の好適な実施例
は、例えば、インテリジェント・ワークステーション或
いはミニ・コンピュータのような他のタイプのデータ処
理システムにおいても実施可能である。
【0011】次に図2を参照すると、本発明の好適な実
施例を利用し得るデータ処理システム10のブロック図
が示される。システム・バス12は、データ処理システ
ム10内の種々のコンポーネント相互間の接続を行う。
中央処理装置(CPU)14はインテル社から入手可能
な80486プロセッサ又はPentiumプロセッサ
のような1つ又は複数のプロセッサを含むものでもよ
い。(「Pentium」はインテル社の商標であ
る)。
【0012】システム・メモリ16はデータ処理装置1
0のための記憶装置であり、読取り専用メモリ(RO
M)及びランダム・アクセス・メモリ(RAM)の両方
を含むものでよい。システム・メモリ16は、典型的に
は、例えば、アプリケーション、グラフィックス・パッ
ケージ、及びオペレーティング・システムのようなCP
U14上で実行するプログラム及びデータを保持する。
ダイレクト・アクセス記憶装置(DASD)18は、典
型的には、データ処理装置10のための長期記憶装置で
ある。DASD18は、例えば、ハード・ディスク駆動
装置又はフロッピ・ディスク駆動装置を含む。グラフィ
ックス・アダプタ20は、モニタ22によってユーザに
GUIを表示するために使用される。
【0013】グラフィックス・アダプタ20はディスプ
レイ・プロセッサ24、ディスプレイ・プロセッサ・メ
モリ26、フレーム・バッファ28、及びビデオ・コン
トローラ30を含む。ディスプレイ・プロセッサ20
は、走査変換及びラスタ操作のようなグラフィックス機
能を遂行する。ディスプレイ・プロセッサ・メモリ26
は、走査変換及びラスタ操作のような機能を遂行するデ
ータ及びプログラムを保持する。フレーム・バッファ2
8は、VRAMとも呼ばれるビデオ・メモリを含む。フ
レーム・バッファ28は、走査変換及びラスタ操作によ
って作成された表示可能なイメージを含む。
【0014】代替えとして、図3に示されたデータ処理
システム10はローカル・バス32を含み得るものであ
り、そのローカル・バスはCPU14のラインの直接的
拡張であり、CPU14と同じクロックで動作する。ロ
ーカル・バス32は、そのローカル・バスに接続された
装置に32ビット又は64ビット転送を行う。更に、シ
ステム・メモリ16は、32ビット又は64ビット・パ
スを介してCPU14に接続可能である。このようなシ
ステムでは、DASD18及びグラフィックス・アダプ
タ20は、データ処理システム10に対するパフォーマ
ンスを向上させるためにローカル・バス20に接続され
る。
【0015】図1、図2及び図3に示されたデータ処理
システムは、以下に示されるプロセスを組み込んだソフ
トウエアをプログラム可能である。
【0016】本発明は、フォント処理手順を利用すべき
データ処理システムのパフォーマンスを最適化するよう
にそのフォント処理手順を選択するための方法及び装置
を提供する。本発明によれば、データ処理システムは、
そのデータ処理システムにおける文字の表示が最適化さ
れる場合に使用すべき適当なフォント処理手順を決定す
るために分析され、又はテストされる。
【0017】CPUのタイプ及びキャッシュの特性のよ
うなデータ処理システムの種々な特性は、そのデータ処
理システムにおけるディスプレイ上に文字を最適に表示
するに必要なフォント処理手順を決定する場合のファク
タとなり得る。例えば、低速度CPUを持ったデータ処
理システムでは、グラフィックス・アダプタが最適に動
作させるためのフォーマットでフォント・データを得る
ためにそのCPUによる大量の処理を必要とするフォン
ト処理手順は、ソフトウエアによって遅くされであろ
う。
【0018】一方、非常に高いパフォーマンスのCPU
を持ったシステムでは、CPUの計算能力は、グラフィ
ックス・アダプタがそのタスクを終了する前にそのCP
Uが文字の処理に関するタスクを終了するという結果を
生じるフォント処理手順を使うことによって費やされ
る。この状態は「ハードウエア限定」状態と呼ばれ、そ
の状態では、CPUは、ハードウエアが次のコマンド又
はデータに対して準備できるのをいつも待っている。フ
ォント処理手順がハードウエアに付いて行くことができ
ない時、「ソフトウエア限定」状態が存在する。データ
処理システムのパフォーマンスを最大にするためには、
選択されるフォント処理手順は、ハードウエアを待つ必
要があってはならず、その逆があってもならない。換言
すれば、ハードウエアとソフトウエアとの間のワーク・
ロードはバランスされなければならない。
【0019】文字を処理するために利用される現在得る
ことができるグラフィックス・アダプタ・ソフトウエア
では、現在使用中のフォント・コピー操作のため及びグ
ラフィックス・アダプタのコントロール・インターフェ
ースのため、ハードウエア及びソフトウエアが完全にオ
ーバラップすることは不可能である。典型的には、ソフ
トウエアはフォント情報をオフ・スクリーン・ビデオ・
メモリにコピーし、しかる後、処理を開始するためにそ
れをグラフィックス・アダプタのコントロール・レジス
タに書き込まなければならない。グラフィックス・アダ
プタが前の文字の処理でビジーにある時にこれが行われ
たとしても、CPUはビデオ・メモリを拘束して、それ
がグラフィックス・アダプタによって利用されないよう
にする。更に、現在のグラフィクス・アダプタは、その
グラフィックス・アダプタが或オペレーションを遂行し
ている時、ソフトウエアがそのコントロール・レジスタ
に書き込むことを可能にするものではない。
【0020】図4を参照すると、最適なフォント処理手
順を選択するための選択プロセスのフローチャートが、
本発明の好適な実施例に従って示される。その選択プロ
セスは、データ処理システムにおいて最適なフォント処
理を行うフォント・レンダリング・プロセスを選択す
る。その選択プロセスは、典型的には、データ処理シス
テムが最初に利用される時に使用される。更に、この選
択プロセスは、例えば、新しいグラフィックス・アダプ
タが導入されるというように、データ処理システムにお
ける構成が変更される時にも使用可能である。
【0021】プロセスはブロック130において開始
し、しかる後、ブロック132に示されるように、1つ
のタイム・インターバルの間に、各処理に対してテキス
トを書き込む。そのタイム・インターバルは任意の長さ
であるが、種々なフォント・アルゴリズムを行う場合に
CPUの能力を反復可能に正確に予測することを可能に
するタイム・インターバルとなるように、そのアルゴリ
ズムによって決定される。次に、プロセスは、戻りブロ
ックを示すブロック134に進む。しかる後、ブロック
136に示されるように、1つのタイム・インターバル
の間に如何に多くの文字が処理されるかの測定が処理さ
れる。次に、ブロック138に示されるように、すべて
のフォント・プロセスがテストされてしまったかどうか
の決定が行われる。すべてのフォント・プロセスがテス
トされてしまったのではない場合、その選択プロセスは
ブロック134に戻り、次のフォント・プロセスをテス
トする。フォント・プロセスがすべてテストされてしま
った場合、プロセスは、各フォント処理の速度を比較し
て最も速いものを選択することを示すブロック140に
続く。
【0022】どのプロセスが最良の結果を与えたかに従
って、プロセスは、ブロック142、144、又は14
6に示されるように終了する。標準フォントが最良のパ
フォーマンスを与えた場合、選択プロセスは、標準フォ
ント・プロセスの選択を持ったブロック142において
終了する。文字指向プロセスが最良のパフォーマンスを
与えるという決定の結果、その選択手順はブロック14
4において終了する。ストリング指向プロセスが最も速
いものである場合、プロセスは、ストリング指向プロセ
スが選択されるブロック146において終了する。それ
ら3つのフォントプロセスの各々は、種々の量のCPU
資源を必要とする。本発明は、スクリーン上に最も速い
文字表示を与えるプロセスを選択する。上記実施例は3
つの異なるフォント・プロセスを利用するけれども、本
発明の好適な実施例に従って、別の数の手順を利用する
ことも可能である。
【0023】更に詳しく云えば、本発明の好適な実施例
は、マイクロソフト・ウインドウズ(Microsof
t Windows:商標)のようなGUI環境におい
て使用可能である。ラスタ・フォントは、文字が字形ビ
ットマップとして表されるフォントである。これらの字
形ビットマップは、本発明の好適な実施例に従って、マ
イクロソフト・ウインドウズにおいて使用されるFON
TINFOと呼ばれるデータ構造で記憶される。これら
字形ビットマップは、1つの文字の各画素に対して1つ
のビットを有する。そのビットはバックグラウンド・カ
ラー(ゼロに等しい値)又はフォアグラウンド・カラー
(1に等しい値)を表すこともできる。グラフィックス
・アダプタに対するデバイス・ドライバは、典型的に
は、FONTINFO構造から文字幅及び字形情報を検
索する。
【0024】標準フォント・プロセスは、当業者にはよ
く知られている。標準フォント・プロセスは、Wind
owsにおいて見られるFONTINFO構造に記憶さ
れたフォント情報を利用する。標準フォント・プロセス
は、FONTINFO構造から文字幅及び字形情報を検
索して文字字形ビットマップを作成する。用語「字形」
は、通常は、或フォントにおける文字のイメージを意味
する。「フォント・データ」とも呼ばれる文字字形ビッ
トマップ・データは、本発明の好適な実施例によれば、
8画素の列で記憶されたモノクローム・ビットマップで
ある。
【0025】今では、テキスト・ストリングは、必要な
文字字形ビットマップのようなフォント・データをフレ
ーム・バッファにおけるメモリのオフ・スクリーン領域
にコピーすることによって、ディスプレイ上でレンダさ
れる。テキスト・ストリングは、表示されるべき1行の
文字である。そこで、文字の高さ全体がレンダされるま
で、グラフィックス・アダプタは、そのグラフィックス
・アダプタにおけるメモリのオフ・スクリーン領域から
宛先(通常は、フレーム・バッファにおけるオン・スク
リーン・メモリの領域)にそれら字形ビットマップをコ
ピーする。字形ビットマップがコピーされる時、グラフ
ィックス・アダプタは、1ビット/画素(bpp)パタ
ーンを、そのbppに対する宛先が必要とする適当なフ
ォアグラウンド・カラー及びバックグラウンド・カラー
にマップする。このプロセスは、「カラー拡張」と呼ば
れる。カラー拡張は、当業者にはよく知られていること
である。
【0026】図5を参照すると、文字「A」に対する、
字形ビットマップ・データとも呼ばれるフォント・デー
タの図が示される。X印は文字「A」における画素を表
す。その文字の幅全体が表されるまで、8つのビット・
カラムが連結される。明らかに、文字「A」は8画素よ
りも幅広い。文字「A」に対するバイト・パターンは、
走査0から走査13まで走査線ごとに8つのビット・セ
クションに記憶される。カラム1における走査0乃至走
査13が読み取られ、しかる後、カラム2におけるそれ
ら走査線に対するデータが読み取られる。各カラムは、
走査0から走査13まで走査線ごとに読み取られる。こ
の場合、文字「A」は8によって均等に割り切れもので
はないことに注意してほしい。
【0027】新しい走査線が処理される時にいつも、ブ
レーク・イン・ページ・モードが生じる。「ページ・モ
ード」は、ランダムに配置されたアドレス又は非隣接ア
ドレスよりも速い隣接アドレスを書き込むダイナミック
RAM(DRAM)におけるモードである。パッディン
グ(padding)0は、余ったビット位置にゼロを
記憶することである。文字の幅が8で割り切れない場
合、パッディング0が余ったビット位置に記憶される。
このタイプの記憶フォーマットは、8画素よりも幅広い
文字に対しては、1つの走査線に対するデータが連続ビ
ットの形で記憶されないことを意味する。例えば、図5
に示された11*14画素の「A」に対するパターン
は、 00 0C 12 21 40 40 40 7F 40 40 40 00 00 00 00 00 00 00 80 80 80 80 80 80 80 00 00 00 となる。
【0028】図6を参照すると、フォント・データをグ
ラフィックス・アダプタに送るための標準的なフォント
・プロセスの高レベルのフローチャートが、本発明の好
適な実施例に従って示される。そのプロセスは、ブロッ
ク150において示されるように開始し、しかる後、ブ
ロック152に示されるように、文字変数がゼロに等し
くセットされる。次に、その文字変数に関する判断ブロ
ックのためのリターン・ポイントがブロック154にお
いて示される。ブロック156では、カラム変数がゼロ
に等しくセットされる。次に、ブロック158はカラム
変数に関する判断ブロックのためのリターン・ポイント
である。ブロック160に示されるように、走査線変数
がゼロに等しくセットされる。
【0029】そこで、プロセスはブロック162に進
む。ブロック162は、走査線変数に関する判断ブロッ
クのためのリターンを示す。次に、プロセスはブロック
164に進む。ブロック164は、フレーム・バッファ
におけるオフ・スクリーン・ビデオ・メモリから次のn
画素幅の字形データを得る。しかる後、ブロック168
に示されるように、ページ・ブレーク遅延が生じる。こ
の遅延は、新しい走査線がフレーム・バッファ・メモリ
におけるオフ・スクリーン・ビデオ・メモリから読み取
られた時、メモリにおけるブレーク・イン・ページ・モ
ードによって生じる。ページ・ブレークに対する代表的
な遅延期間は80ナノ秒である。この例では、画素は4
0ナノ秒/画素の割合で書き込まれる。ブロック168
に示されるように、それら画素はグラフィックス・アダ
プタのフレーム・バッファに書き込まれる。そこで、ブ
ロック170に示されるように、走査線変数が1だけイ
ンクレメントされる。
【0030】次に、ブロック172に示されるように、
走査線変数が走査線最大値よりも大きいかどうかの決定
が行われる。走査線変数が走査線最大値よりも大きくな
い場合、プロセスはブロック162に戻る。そうでない
場合、ブロック174に示されるように、カラム変数は
1だけインクレメントされ、走査線変数はゼロにセット
される。次に、ブロック176に示されるように、カラ
ム変数がカラム最大値よりも大きくないかどうかの決定
が行われる。カラム変数がカラム最大値よりも大きくな
い場合、プロセスはブロック158に戻る。そうでない
場合、ブロック178に示されるように、文字変数が1
だけインクレメントされる。次に、ブロック180に示
されるように、文字変数が文字最大値よりも大きいかど
うか関する決定が行われる。文字変数が文字最大値より
も大きくない場合、プロセスはブロック154に戻る。
そうでない場合、ブロック182に示されるように、プ
ロセスは終了する。
【0031】本発明の好適な実施例によれば、その文字
指向プロセスは、CPUがコントロール情報及びデータ
情報を混合すること及びそれらをグラフィックス・アダ
プタに直接送ることを可能にするであろう。グラフィッ
クス・アダプタは、必要に応じて、そのコントロール情
報を変換し、データを処理する。グラフィックス・アダ
プタが字形ビットマップを受け取る時、そのグラフィッ
クス・アダプタはカラー拡張し、その字形ビットマップ
を宛先に直接書き込むであろう。その結果、CPUはフ
ォント情報を収集し、そして前に受け取ったデータをグ
ラフィックス・アダプタが書き込むのと同時に、その情
報をグラフィックス・アダプタに送ることができる。文
字幅及び文字間スペースのようなダイナミック・コント
ロール情報がそのフォント・データと混合される。スト
リング高及び開始アドレスのようなスタティック・コン
トロール情報は、コントロール・レジスタを介してグラ
フィックス・アダプタに送られる。
【0032】本発明の好適な実施例に従って、文字指向
プロセス及びストリング指向プロセスにおいてフォント
のための字形ビットマップをキャッシュするために、グ
ラフィックス・アダプタにおけるフレーム・バッファ内
のオフ・スクリーン・ビデオ・メモリではなくシステム
・メモリが利用される。その結果、前にフォント・キャ
ッシュ専用であったグラフィックス・アダプタにおける
メモリは、メニュー・バー・プルダウン又はスクリーン
領域のような他のビットマップ・イメージを記憶するた
めに使用可能である。
【0033】更に詳しく云えば、本発明による文字指向
プロセスは、現在多くのグラフィックス・アダプタにお
いて行われているようにそのグラフィックス・アダプタ
におけるメモリを使う代わりに、CPUを利用してシス
テム・メモリにおける字形ビットマップを事前処理し、
そしてキャッシュする。字形ビットマップはシステム・
メモリにおけるキャッシュから走査線ごとにコピーさ
れ、一時に1文字づつグラフィックス・アダプタに送ら
れ、グラフィックス・アダプタがメモリ・ページ・モー
ド・オペレーションを利用することを可能にする。新し
い走査線が処理される度に、ブレーク・イン・ページ・
モードが生じる。標準的なフォント処理により使用され
るような一時に2カラムではなく1カラムしかの走査線
が利用されないため、その文字指向処理は速いフォント
の表示を行う。
【0034】文字指向処理の下では、CPUは次のよう
なデータ・ストリームを使用してグラフィックス・アダ
プタにデータを送る。即ち、[幅][スペース][字形走査
線1][字形走査線2].....[字形走査線N][幅]...但
し、[幅]は文字の画素における幅であり、[スペース]は
或文字と次の文字との間の文字間スペースであり、[字
形走査線1−N]は[幅]により指定されたビットの数を
含んでバイト(ワード又はダブルワード)単位で送られ
る文字に対する字形ビットマップ・データである。[幅]
及び[スペース]は、最初の文字がグラフィックス・アダ
プタに送られる前に送られる必要がある。[幅]及び[ス
ペース]は、文字の幅及び文字間スペースが変化する場
合には再び送られる。この処理は、文字のストリング全
体がユーザに対してディスプレイ上でレンダされるまで
続けられる。
【0035】字形ビットマップ・データは、長さが同じ
のデータ単位で、走査線ベースでグラフィックス・アダ
プタに送られる。本発明の好適な実施例では、グラフィ
ックス・アダプタは、送られたデータのうちの適当な数
のビットを利用して、当業者には知られたアセンブリ言
語の命令である「REP MOVSD」のような効率的
なデータ移動命令を、CPUが使用することを可能にす
る。80386及び80486のようなインテル(商
標)CPUは効率的にダブルワードを処理するので、こ
の例では、文字指向プロセスに対する走査線の幅として
32ビットのダブルワードが使用される。
【0036】本発明の好適な実施例によれば、1つの走
査線全体を移動するために使用することができるCPU
の永久的な移動命令に関する如何なるデータ幅も利用可
能である。即ち、それはワードでもよい。字形マップ
は、Windowsで利用されるFONTINFO構造
で使われるようなカラム・フォーマットではなく、真の
ビットマップとしてキャッシュ(システム・メモリに設
定される)に記憶可能である。その結果、CPUは「R
EP MOVSD」命令を使用して、ダブルワード幅の
走査線で配列された字形ビットマップ・データをグラフ
ィックス・アダプタに効果的にコピーする。
【0037】図7を参照すると明らかなように、文字
「A」が先ずグラフィックス・アダプタに送られ、しか
る後、文字「B」がグラフィックス・アダプタに送られ
る。文字「C」は、本発明に従って表示される第3の文
字である。1つの文字の幅全体が、図5に示されたよう
な複数カラムで送られるのではなく、各走査線において
送られる。単一カラムの走査線の利用は、フォント・デ
ータの速い処理を可能にする。
【0038】この文字指向プロセスは、グラフィックス
・アダプタが文字の幅全体及び文字間スペースに対して
ページ・モードを維持することを可能にする。(但し、
アドレスされたメモリはページ境界に跨らず、グラフィ
ックス・アダプタは割り込みされないものと仮定す
る)。本発明の好適な実施例によれば、ページ・モード
の使用を増加させることはハードウエア・パフォーマン
スを改善する。
【0039】図8を参照すると、3つのデータ・セクシ
ョンを含む、システム・メモリにおけるキャッシュ・デ
ータ構造206が、本発明の好適な実施例に従って示さ
れる。セクション208は、特定の文字がキャッシュさ
れているかどうかを表すフラッグを含む256エントリ
の1ビット・アレーである。セクション210は、文字
幅、ダブルワードのビットマップ・サイズ、及び特定の
文字のためのビットマップに対するポインタのようなデ
ータを含む256エントリの6ビット・アレーである。
セクション212は文字に対する字形ビットマップを含
む。セクション210におけるエントリ「n」は、セク
ション212における字形ビットマップ「n」にマップ
する。本発明の好適な実施例に従って、他のキャッシュ
構成が使用可能であることは、当業者には明らかであろ
う。
【0040】図9を参照すると、文字指向プロセスのフ
ローチャートが、本発明の好適な実施例に従って示され
る。そのプロセスはブロック240で始まり、ブロック
241に示されるように、ストリング長を得る。しかる
後、ブロック242に示されるように、フォント情報が
得られるかどうかに関する決定が行われる。フォント情
報が得られる場合、プロセスは、ブロック243に示さ
れるように、宛先(x,y)、フォント高、及び文字数
を表すデータをグラフィックス・アダプタにおけるレジ
スタにロードする。しかる後、ブロック244に示され
るように、文字の字形幅、文字間スペース、及び画素に
関するデータがグラフィックス・アダプタに送られる。
次に、ブロック245に示されるように、そのストリン
グが終了したかどうかの決定が行われる。そのストリン
グが終了するまで、プロセスはブロック243に反復的
に戻る。ブロック246に示されるように、ストリング
の終了時に、そのプロセスは終了する。「ストリング」
とは、本発明の好適な実施例に従ってディスプレイ上に
表示されるべき文字行全体のことである。
【0041】ブロック242を再び参照すると、フォン
ト情報が得られない場合、ブロック247に示されるよ
うに、プロセスはシステム・メモリにおけるキャッシュ
にフォント情報をロードし、文字に対する字形ビットマ
ップを配置する。
【0042】図10を参照すると、文字を処理するため
のプロセスが本発明の好適な実施例に従って示される。
このプロセスは、本発明によるデータ処理システムにお
けるCPUによって実行される。図示のように、プロセ
スはブロック220において始まり、しかる後、字形ビ
ットマップが正しいフォーマットであるかどうかの決定
が行われる。字形ビットマップが正しいフォーマットで
ない場合、ブロック224に示されるように、プロセス
は字形ビットマップを1bppにフォーマットする。し
かる後、ブロック226に示されるように、その文字の
字形ビットマップに対して1カラムの走査線だけしか作
成されないように、字形ビットマップが走査線ベースで
配列される。
【0043】そこで、ブロック228に示されるよう
に、プロセスは字形ビットマップをダブルワード配列し
(32ビット境界で)、バイト境界における端部に必要
なパッドを加える。図示の実施例では、パッドはゼロの
形で加えられる。しかる後、ブロック230に示される
ように、そのフォーマットされた字形ビットマップはシ
ステム・メモリにおけるキャッシュに記憶される。ブロ
ック222を再び参照すると、字形ビットマップが既に
正しいフォーマットである場合、ブロック234に示さ
れるように、プロセスはその字形ビットマップをシステ
ム・メモリにおけるキャッシュにコピーし、再びブロッ
ク232において終了する。
【0044】図11を参照すると、図9のブロック24
4において字形ビットマップをグラフィックス・アダプ
タに送る文字指向プロセスのフローチャートが、本発明
の好適な実施例に従って示される。この図に示されたプ
ロセスは、フレーム・バッファにおけるオフ・スクリー
ン・ビデオ・メモリの代りにシステム・メモリにキャッ
シュされた字形ビットマップをグラフィックス・アダプ
タに送る。そのプロセスはブロック250において始ま
り、しかる後、ブロック252に示されるように、文字
変数がゼロにセットされる。次に、その文字変数に関す
る判断ブロックのためのリターンがブロック254に示
される。ブロック256に示されるように、走査線変数
がゼロにセットされる。走査線変数に関する判断ブロッ
クのためのリターンがブロック258に示される。
【0045】次に、ブロック260に示されるように、
次の「n」画素幅の字形ビットマップ・データが得られ
る。文字指向プロセスにおいて、「n」は図示の実施例
ではダブルワードであり、「n」は、本発明の好適な実
施例によれば、走査線の幅として選択される。しかる
後、ブロック262に示されるように、ページ・ブレー
ク遅延が生じる。この遅延は、図示の例では、80ナノ
秒である。ブロック264に示されるように、各画素が
グラフィックス・アダプタに書き込まれる。図示の実施
例における画素は、40ナノ秒/画素の割合で書き込ま
れる。しかる後、ブロック266に示されるように、走
査線変数が1だけインクレメントされる。次に、ブロッ
ク268に示されるように、走査線変数が走査線最大値
よりも大きいかどうかに関する決定が行われる。この決
定の結果が否定である場合、プロセスはブロック258
に戻る。しかし、走査線変数が走査線最大値よりも大き
い場合、ブロック270に示されるように文字変数がイ
ンクレメントされる。しかる後、ブロック272に示さ
れるように、文字変数が文字最大値よりも大きいかどう
かに関する決定が行われる。その結果が否定である場
合、プロセスはブロック254に戻る。そうでない場
合、ブロック274に示されるように、プロセスは終了
する。
【0046】本発明の好適な実施例によれば、ストリン
グ指向プロセスも、文字を表示するために使用可能であ
る。本発明のストリング指向プロセスは一時に1つの走
査線ずつ文字ストリングを処理する。ストリング指向プ
ロセスでは、一時に1つの走査線ずつ、文字のストリン
グ全体が処理される。換言すれば、すべての文字の対し
て単一の走査線が、次の走査線が始まる前に表示するた
めに、グラフィックス・アダプタに送られる。このタイ
プのプロセスは、グラフィックス・アダプタがメモリ・
ページ・モードを最大に利用することを可能にする。
【0047】文字指向プロセスとは異なり、CPUは、
図12に示されるように次の走査線に進む前に、そのス
トリングにおける各文字に対する特殊な走査線のための
データを収集する。文字「A」、「B」、及び「C」
は、3つの文字すべてがディスプレイ上でレンダされる
まで、走査線0から走査線nまで、一時に1走査線ずつ
グループとして表示される。このプロセスは、複雑なプ
ログラミング・シーケンスのために及び収集されるべき
データが散乱しているという性質のために、CPUにお
ける負荷を増大させる。
【0048】図13を参照すると、システム・メモリか
らグラフィックス・アダプタに字形ビットマップ・デー
タを送るためのストリング指向プロセスのフローチャー
トが、本発明の好適な実施例に従って示される。図示の
ように、そのプロセスはブロック350で始まり、しか
る後、ブロック352に示されるように、走査線変数が
ゼロにセットされる。次に、走査線変数に関連する判断
ブロックのためのリターンがブロック354に示され
る。
【0049】しかる後、ブロック356に示されるよう
に、字形ビットマップ・データの次の「n」画素幅が得
られる。ストリング指向プロセスでは、「n」は1つの
走査線全体に対する画素の数である。次に、ブロック3
58に示されるように、ページ・ブレーク遅延が生じ
る。そこで、ブロック360に示されるように、各画素
がシステム・メモリからグラフィックス・アダプタに書
き込まれる。しかる後、ブロック362に示されるよう
に、走査線変数が1だけインクレメントされる。次に、
ブロック364に示されるように、走査線変数が走査線
最大値よりも大きいかどうかの決定が行われる。その結
果が否定である場合、プロセスはブロック354に戻
る。そうでない場合、ブロック366に示されるよう
に、プロセスは終了する。
【0050】文字指向プロセス及びストリング指向プロ
セスによって処理されるデータはCPUによる事前処理
を必要とする。CPUは、フォントを表すデータを配置
することそしてそれらをシステム・メモリに設定された
キャッシュに記憶することによってそれらフォントを事
前処理するために使用される。そのデータは、文字又は
文字のストリング全体がキャッシュからグラフィックス
・アダプタに走査線ベースでコピーされるように、キャ
ッシュに記憶される。文字又は文字のストリングは、ペ
ージ・ブレークが生じないように、走査線ごとにキャッ
シュに記憶される。
【0051】ストリング指向プロセスでは、本発明の好
適な実施例によれば、文字ごとのベースに代わって、1
行で表示されるべき文字のストリング全体に対して走査
線ベースに字形ビットマップが配列されることを除け
ば、その事前処理は文字指向プロセスに対する事前処理
のプロセスと同じである。
【0052】使用されるハードウエアに関して、システ
ム・メモリからフレーム・バッファへのデータのブロッ
ク転送は、今日のグラフィックス・アダプタによってサ
ポートされる1つの機能である。「イメージ転送」又は
「ストライド」と呼ばれるこの機能の特別バージョン
は、数多くのグラフィックス・プロセッサにおいて得る
ことができ、この機能を最適化する助けとなる。現在、
ストライドをサポートするいくつかのグラフィックス・
プロセッサは、米国のウェイテック(Weitek)社
からのP9100及びマトロックス(Matrox社)
からのMGAである。IBM RISCシステム/60
00コンピュータのようなハイ・エンドRISCプロセ
ッサにおいて使用される殆どのグラフィックス・プロセ
ッサは、ストライドとして知られれたその機能を組み込
んでいる。この機能を使用すると、グラフィック・プロ
セッサは、システム・メモリからの単一の「REP M
OVST」(インテル・プロセッサにおいて見られるア
センブリ言語命令)を利用して字形ビットマップを移動
させることができ、インテル社80486の25メガヘ
ルツCPUベースのデータ処理システムにおいて100
パーセント以上もビットマップ転送のパフォーマンスを
増大させることができる。ストライド機能がない場合、
ビット・ブロック転送時に、グラフィックス・プロセッ
サは、ビット・ブロック転送中にいつ新しい行が生じる
かがわからない。ストライド機能によって、グラフィッ
クス・プロセッサに送られた幅パラメータは、その選択
された幅が転送されてしまった後、グラフィックス・プ
ロセッサに走査線を変えるように伝える。
【0053】ストリング指向プロセスは、グラフィック
ス・アダプタにおいては如何なる追加の機能も必要とし
ない。ストリング指向プロセスの下では、データをグラ
フィックス・アダプタに送るために、正規のビット・ブ
ロック転送が利用される。一方、文字指向プロセスの最
適な使用は、グラフィックス・アダプタにおいて追加の
機能を必要とする。
【0054】本発明の好適な実施例によれば、複数のイ
メージが横並び(side−by−side)態様で転
送されることを可能にするために、ストライド/イメー
ジ転送機能に対する拡張が与えられる。文字指向プロセ
スの場合、これら複数のイメージは、横並びでレンダさ
れる時、ディスプレイ上に1行のテキストを生じるラス
タ・フォント(字形ビットマップとも呼ばれる)であ
る。
【0055】本発明のグラフィックス・アダプタはスト
ライドの拡張、即ち、ストライドの特別ケースであり、
それ自身がメモリからスクリーンへのビット・ブロック
転送の特別ケース、即ち、システム・バッファからグラ
フィックス・アダプタにおけるフレーム・バッファに矩
形領域の画素の転送の特別ケースである。システム・メ
モリにおけるモノクローム・ビットマップは、ビット・
ブロック転送を通してスクリーンに移動され、グラフィ
ックス・アダプタは、本発明の好適な実施例に従ってフ
レーム・バッファにその処理されたビットマップを配置
する前に、カラー拡張、クリッピング、及びライン・ブ
レークをパイプライン態様で行う。各文字の終わりに、
本発明の好適な実施例に従って文字ストリングが終了す
るまで、アドレス・レジスタが、文字幅及び文字間スペ
ース・データに基づいて、自動的に次の文字の始めにセ
ットされる。本発明の好適な実施例によれば、各文字に
対するグラフィックス・アダプタのアドレス・レジスタ
の再ローディングは不必要である。
【0056】本発明の下では、宛先(x,y),文字
高、文字幅及び文字間スペース、並びに文字の数のよう
なデータをグラフィックス・アダプタにおける適当なレ
ジスタにロードすることによって、フォントがレンダさ
れる。そのプロセスは、選択されたオペレーション・コ
ードを送ることによって開始可能であり、或いは、代替
えとして、そのプロセスは本発明の好適な実施例に従っ
て利用される幅レジスタにデータを配置することによっ
て開始可能である。
【0057】図14を参照すると、ディスプレイ・スク
リーン上で文字指向プロセスを使用してデータ処理シス
テムのグラフィックス・アダプタにおける字形ビットマ
ップを表示するためのプロセスを説明する図が、本発明
の好適な実施例に従って示される。グラフィックス・ア
ダプタは、「A」から「C」まで、一時に1文字ずつフ
ォントを表示する。図示の例における文字の数は3であ
る。従って、表示プロセスの開始時に、文字カウンタが
3にセットされ、アドレス・カウンタが、宛先アドレス
とも呼ばれる開始アドレスにセットされる。各文字は、
幅W(n)及び文字間スペースi(n)をそれと関連付
けられる。表示プロセスが完了する時、文字カウンタは
ゼロに等しくなる。
【0058】本発明の好適な実施例に従って、図15は
グラフィックス・アダプタにおけるグラフィックス・プ
ロセッサによって使用されるプロセスのフローチャート
を示す。そのプロセスはブロック600において開始
し、しかる後、ブロック602に示されるように、宛先
座標(x,y)、文字高、ストリングにおける文字の
数、及びオペレーション・コードをグラフィックス・ア
ダプタのレジスタにロードする。
【0059】次に、ブロック604に示されるように、
文字幅及び文字間スペースがグラフィックス・アダプタ
の幅レジスタにロードされる。そこで、ブロック606
に示されるように、その文字のための字形ビットマップ
をグラフィックス・アダプタのプロセッサにおける入力
レジスタに送るために、その文字の「REP MOVS
D」が遂行される。そこで、ブロック608に示される
ように、プロセスは各ダブルワードを取得し、それをカ
ラー拡張のための1ビット/画素(bpp)として利用
する。グラフィックス・アダプタは、ブロック610に
示されるように、第1文字の左上においてアドレス・カ
ウンタをスタートさせ、そしてその高さに等しい第1文
字の終わりまでYアドレスをインクレメントする。ブロ
ック612に示されるように、各走査線はフレーム・バ
ッファにおけるディスプレイ・メモリにカラー拡張され
る。カラー拡張は、当業者にはよく知られているプロセ
スである。
【0060】更に、ブロック614に示されるように、
文字は、走査線ベースで、字形x+i文字間スペースの
範囲でクリップされる。そこで、ブロック616に示さ
れるように、文字カウンタが1だけデクレメントされ
る。しかる後、ブロック618に示されるように、文字
カウンタは、それがゼロに等しいかどうかを知るために
テストされる。文字カウンタがゼロよりも大きい場合、
ブロック620に示されるように、そしてブロック62
2に示されるように、xアドレスが幅レジスタだけイン
クレメントされ、yレジスタが当初のy値に変更され
る。
【0061】そこで、プロセスは反復的にブロック60
4に戻り、次の文字に対する文字幅及び文字間スペース
が幅レジスタにロードされ、そしてすべての文字が表示
されてしまうまで、このサイクルが繰り返される。ブロ
ック618において文字カウンタがテストされそしてそ
れがゼロに等しいことがわかった時、ブロック624に
示されるように、プロセスは終了する。
【0062】次に、図16を参照すると、文字の処理を
示す図が本発明の好適な実施例に従って示される。ブロ
ック626において、文字は走査線ベースでダブルワー
ド境界にパッドされる。ブロック628はその文字に対
する字形xを表し、ブロック630は文字間スペース
「i」である。x+1がブロック632に示され、ブロ
ック636に示されるようなビデオ・メモリへのカラー
拡張後の文字「A」を生じる。ブロック636は、ユー
ザに表示されるブロックである。
【0063】図17を参照すると、文字を処理するため
にグラフィックス・アダプタによって利用されるレジス
タのブロック図が、本発明の好適な実施例に従って示さ
れる。本発明を使用してスクリーン上に文字を表示する
プロセスを開始させるためのオペレーション・コードを
ロードするために、Opコード・レジスタ650が使用
可能である。宛先Xレジスタ652及び宛先Yレジスタ
654は、その文字の開始アドレス又は宛先アドレスを
ロードするために利用される。これら2つのレジスタ
は、表示されるべき第1文字の開始アドレスを与える。
文字数レジスタ656は、如何に多くの文字が処理され
るかをグラフィックス・アダプタに知らせるために使用
される。字形高レジスタ658は画素における文字の高
さをセットするために利用され、字形幅+文字間スペー
ス・レジスタ660は、画素における文字及び文字間ス
ペースが如何に幅広いかをグラフィックス・アダプタに
知らせるために使用される。この情報は、未使用の情報
のクリッピングを可能にするために、文字及び文字間ス
ペースがそのワードが何処で終了するかを、この情報は
グラフィックス・アダプタに知らせる。
【0064】その代替えでは、Opコード・レジスタ6
50をグラフィックス・アダプタに加える必要がない。
その代わり、このタイプの反復的なデータ転送のために
しか利用されないレジスタへのデータのローディング
が、そのプロセスを開始するためのトリガとして使用可
能である。字形幅+文字間スペース・レジスタ660
は、本発明の好適な実施例によれば、データがこの特定
のレジスタにロードされる時、そのプロセスをトリガす
るレジスタとして利用可能である。
【0065】Opコード・レジスタ650、文字数レジ
スタ656、並びに字形幅+文字間スペース・レジスタ
660は、本発明のグラフィックス・アダプタを形成す
るために付加される新しいレジスタである。これらレジ
スタのハードウエアにおける実際の設計及び導入は、当
業者にはよく知られているので、それらラッチの詳細な
説明は行わないことにする。
【0066】本発明の好適な実施例に従ってスクリーン
上にフォントを(字形ビットマップの形で)表示する場
合の速度を上げるためには、文字指向プロセスはその開
示されたグラフィックス・アダプタなしでも利用可能で
ある。しかし、標準的なグラフィックス・アダプタに文
字が送られ時には、システム・メモリからフレーム・バ
ッファにビット・ブロック転送を行うために、レジスタ
は再ロードされなければならない。一方、文字指向プロ
セス及び開示されたグラフィックス・アダプタが組み合
わされた時、新しい文字が表示されるべき時にいつもレ
ジスタを再ロードする必要なくグラフィックス・アダプ
タが反復的なビット・ブロック転送を行うことができる
ので、処理の速度は増大する。
【0067】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0068】(1)データ処理システムにおいてディス
プレイ上に文字を表示する効率を高めるための方法にし
て、前記データ処理システムにおいて前記ディスプレイ
上に文字を表示するための複数のプロセスを実行するス
テップにして、前記複数のステップの各々は前記ディス
プレイ上に文字を表示するために異なる量のプロセッサ
資源を必要とするステップと、前記複数のプロセスのう
ちの特定のプロセスを選択するステップにして、前記複
数のプロセスのうちの前記選択されたプロセスは前記複
数のプロセスのうちの他のプロセスよりも効率的な前記
ディスプレイにおける文字の表示を行うステップと、よ
り成る方法。
【0069】(2)前記選択するステップは前記データ
処理システムの構成の変化に応答して遂行されることを
特徴とする上記(1)に記載の方法。
【0070】(3)前記複数のプロセスを実行するステ
ップは文字を表示するためのストリング指向プロセスを
実行することを特徴とする上記(1)に記載の方法。
【0071】(4)前記複数のプロセスを実行するステ
ップは文字を表示するための標準的なフォント・プロセ
スを実行することを特徴とする上記(3)に記載の方
法。
【0072】(5)ディスプレイ上に文字を表示するた
めの複数のプロセスにして、前記複数のステップの各々
は前記ディスプレイ上に文字を表示するために異なる量
のプロセッサ資源を必要とするものと、前記複数のプロ
セスのうちの特定のプロセスを選択するための選択手段
にして、前記複数のプロセスのうちの前記選択されたプ
ロセスは前記複数のプロセスのうちの他のプロセスより
も効率的な前記ディスプレイにおける文字の表示を行う
ものと、より成るデータ処理システム。
【0073】(6)前記選択手段は前記データ処理シス
テムの構成における変化に応答して活動化されることを
特徴とする上記(5)に記載のデータ処理システム。
【0074】(7)前記複数のプロセスは文字を表示す
るためのストリング指向プロセスを含むことを特徴とす
る上記(5)に記載のデータ処理システム。
【0075】(8)前記複数のプロセスは文字を表示す
るための標準的なフォント・プロセスを含むことを特徴
とする上記(6)に記載のデータ処理システム。
【0076】(9)システム・メモリと、前記システム
・メモリに複数の字形ビットマップとして記憶された複
数の文字と、ディスプレイと、グラフィックス・アダプ
タ・メモリを含み、前記ディスプレイに接続されたグラ
フィックス・アダプタと、前記システム・メモリから前
記グラフィックス・アダプタ・メモリに前記複数の字形
ビットマップのうちの選択されたものを移動するための
伝送手段と、より成り、前記複数の字形ビットマップの
うちの前記選択されたものが前記ディスプレイ上に表示
されることを特徴とするデータ処理システム。
【0077】(10)前記複数の字形ビットマップは文
字のストリングを含むことを特徴とする上記(9)に記
載のデータ処理システム。
【0078】(11)前記システム・メモリはページ・
モードを含むこと、及び前記字形ビットマップが前記シ
ステム・メモリから前記グラフィクス・アダプタ・メモ
リに移動される時、前記ページ・モードにおけるブレー
クの発生を最小にするために各字形ビットマップは前記
システム・メモリに複数の走査線として配列されること
を特徴とする上記(10)に記載のデータ処理システ
ム。
【0079】(12)前記複数の字形ビットマップのう
ちの選択されたものを前記グラフィックス・アダプタに
移動するための伝送手段は前記データ処理システムの中
央処理装置において永久的移動命令を利用することを特
徴とする上記(11)に記載のデータ処理システム。
【0080】
【発明の効果】本発明によれば、グラフィックス・ディ
スプレイ上に文字を効率的に表示するための方法及び装
置が得られる。
【図面の簡単な説明】
【図1】本発明の好適な実施例を導入し得るデータ処理
システムの概略図である。
【図2】本発明の1つの好適な実施例に従って構成され
た図1のデータ処理システムのブロック図である。
【図3】本発明の他の好適な実施例に従って構成された
図1のデータ処理システムのブロック図である。
【図4】本発明の好適な実施例に従って、データ処理シ
ステムに対する最適なフォント処理手順を選択するため
のプロセスのフローチャートである。
【図5】本発明の好適な実施例に従って描かれた文字
「A」に対する画素データの図である。
【図6】従来技術で知られた標準的なフォント処理プロ
セスのフローチャートである。
【図7】本発明の好適な実施例に従ってシステム・メモ
リからグラフィックス・アダプタにフォントデータを送
るための文字指向プロセスを表す図である。
【図8】本発明の好適な実施例に従ってシステム・メモ
リに記憶された字形ビットマップのブロック図である。
【図9】本発明の好適な実施例に従ってディスプレイ・
スクリーン上に文字を表示するための文字指向プロセス
のフローチャートである。
【図10】本発明の好適な実施例に従ってフォントを事
前処理するためのプロセスのフローチャートである。
【図11】本発明の好適な実施例に従って文字指向プロ
セスにおいてグラフィックス・アダプタに字形ビットマ
ップを送るためのプロセスのフローチャートである。
【図12】本発明の好適な実施例に従ってシステム・メ
モリからグラフィックス・アダプタに字形ビットマップ
を送るためのストリング指向プロセスを表す図である。
【図13】本発明の好適な実施例に従ってストリング指
向プロセスにおいてシステム・メモリからグラフィック
ス・アダプタに字形ビットマップを送るためのプロセス
のフローチャートである。
【図14】本発明の好適な実施例に従ってディスプレイ
・スクリーン上に文字を表示するためのグラフィックス
・アダプタにおけるプロセスを示す図である。
【図15】本発明の好適な実施例に従ってディスプレイ
・スクリーン上に文字を表示するためのグラフィックス
・アダプタにおけるプロセスのフローチャートである。
【図16】本発明の好適な実施例に従ってグラフィック
ス・アダプタにより文字を処理する過程を示す図であ
る。
【図17】本発明の好適な実施例に従って文字を処理す
るためにグラフィックス・アダプタにより利用されるレ
ジスタを示す図である。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平3−65988(JP,A) 特開 平4−348483(JP,A)

Claims (12)

    (57)【特許請求の範囲】
  1. 【請求項1】データ処理システムのグラフィックス・ア
    ダプタに接続されたビデオ・ディスプレイ上に文字を表
    示するための上記データ処理システムにおける方法にお
    いて、 それぞれが、文字に関するデータを上記グラフィックス
    ・アダプタに送り上記ビデオ・ディスプレイ上に文字を
    表示する複数の別個のプロセスであって、該複数の別個
    のプロセスのそれぞれは上記ビデオ・ディスプレイ上に
    文字を表示するのに他のプロセスと異なるプロセッサ資
    源の量を必要とする上記複数の別個のプロセスを記憶す
    るステップと、 上記複数の別個のプロセスのうち、どのプロセスが所定
    時間の間に最も多くの文字表示を行うことができるかを
    調べ、最も多くの文字表示を行うプロセスを選択するス
    テップと、 上記選択されたプロセスを実行して文字を上記ビデオ・
    ディスプレイ上に表示するステップとを含む文字を表示
    する方法。
  2. 【請求項2】上記選択するステップは、上記データ処理
    システムの構成が変更されたことに応答して行われるこ
    とを特徴とする請求項1に記載の文字を表示する方法。
  3. 【請求項3】上記記憶するステップは、文字を表示する
    ためのストリング指向プロセスを含む上記複数の別個の
    プロセスを記憶することを特徴とする請求項1又は請求
    項2に記載の文字を表示する方法。
  4. 【請求項4】上記記憶するステップは、文字を表示する
    ための文字指向プロセスを含む上記複数の別個のプロセ
    スを記憶することを特徴とする請求項3に記載の文字を
    表示する方法。
  5. 【請求項5】上記記憶するステップは、文字を表示する
    ための標準フォント・プロセスを含む上記複数の別個の
    プロセスを記憶することを特徴とする請求項4に記載の
    文字を表示する方法。
  6. 【請求項6】グラフィックス・アダプタに接続されたビ
    デオ・ディスプレイ上に文字を表示するデータ処理シス
    テムにおいて、 それぞれが、文字に関するデータを上記グラフィックス
    ・アダプタに送り上記ビデオ・ディスプレイ上に文字を
    表示する複数の別個のプロセスであって、該複数の別個
    のプロセスのそれぞれは上記ビデオ・ディスプレイ上に
    文字を表示するのに他のプロセスと異なるプロセッサ資
    源の量を必要とする上記複数の別個のプロセスを記憶す
    る手段と、 上記複数の別個のプロセスのうち、どのプロセスが所定
    時間の間に最も多くの文字表示を行うことができるかを
    調べ、最も多くの文字表示を行うプロセスを選択する手
    段と、 上記選択されたプロセスを実行して文字を上記ビデオ・
    ディスプレイ上に表示する手段とを含むデータ処理シス
    テム。
  7. 【請求項7】上記選択手段は、上記データ処理システム
    の構成が変更されたことに応答して付勢されることを特
    徴とする請求項6に記載のデータ処理システム。
  8. 【請求項8】上記複数の別個のプロセスは、文字を表示
    するためのストリング指向プロセスを含むことを特徴と
    する請求項6又は請求項7に記載のデータ処理システ
    ム。
  9. 【請求項9】上記複数の別個のプロセスは、文字を表示
    するための文字指向プロセスを含むことを特徴とする請
    求項8に記載のデータ処理システム。
  10. 【請求項10】上記複数の別個のプロセスは、文字を表
    示するための標準フォント・プロセスを含むことを特徴
    とする請求項9に記載のデータ処理システム。
  11. 【請求項11】上記文字に関するデータは文字のビット
    ・マップであることを特徴とする請求項9に記載のデー
    タ処理システム。
  12. 【請求項12】データ処理システムのグラフィックス・
    アダプタに接続されたビデオ・ディスプレイ上に文字を
    表示するための上記データ処理システムにおける方法に
    おいて、 それぞれが、文字に関するデータを上記グラフィックス
    ・アダプタに送り上記ビデオ・ディスプレイ上に文字を
    表示する複数の別個のプロセスであって、該複数の別個
    のプロセスのそれぞれは上記ビデオ・ディスプレイ上に
    文字を表示するのに他のプロセスと異なるプロセッサ資
    源の量を必要とし、上記複数の別個のプロセスは少なく
    とも文字指向プロセス及びストリング指向プロセスの1
    つを含む上記複数の別個のプロセスを記憶するステップ
    と、 上記複数の別個のプロセスのうち、どのプロセスが所定
    時間の間に最も多くの文字表示を行うことができるかを
    調べ、最も多くの文字表示を行うプロセスを選択するス
    テップと、 上記選択されたプロセスを実行して文字を上記ビデオ・
    ディスプレイ上に表示するステップとを含む文字を表示
    する方法。
JP6307210A 1993-12-30 1994-12-12 データ処理システムおよび文字表示方法 Expired - Fee Related JP2628621B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17590193A 1993-12-30 1993-12-30
US175901 1998-10-20

Publications (2)

Publication Number Publication Date
JPH07271339A JPH07271339A (ja) 1995-10-20
JP2628621B2 true JP2628621B2 (ja) 1997-07-09

Family

ID=22642136

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6307210A Expired - Fee Related JP2628621B2 (ja) 1993-12-30 1994-12-12 データ処理システムおよび文字表示方法

Country Status (3)

Country Link
US (1) US5771371A (ja)
EP (1) EP0663659A3 (ja)
JP (1) JP2628621B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6057858A (en) * 1996-08-07 2000-05-02 Desrosiers; John J. Multiple media fonts
JP3037220B2 (ja) * 1997-09-03 2000-04-24 日本電気アイシーマイコンシステム株式会社 グラフィック処理装置およびその処理方法
US6421059B1 (en) * 1999-03-22 2002-07-16 Nvidia Corporation Apparatus and method for rendering characters into a memory
US6831660B1 (en) 2000-06-15 2004-12-14 International Business Machines Corporation Method and apparatus for graphics window clipping management in a data processing system
US7161598B2 (en) * 2004-02-26 2007-01-09 Research In Motion Limited Method of rendering text on an output device
CN102929541A (zh) * 2012-10-16 2013-02-13 北京千橡网景科技发展有限公司 基于触摸屏的笔迹处理方法及装置

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4439761A (en) * 1981-05-19 1984-03-27 Bell Telephone Laboratories, Incorporated Terminal generation of dynamically redefinable character sets
USRE32201F1 (en) * 1981-08-12 1989-08-01 Ibm Apparatus and method for reading and writing text characters in a graphics display
US4486856A (en) * 1982-05-10 1984-12-04 Teletype Corporation Cache memory and control circuit
US5317684A (en) * 1986-02-17 1994-05-31 U.S. Philips Corporation Method of storing character data in a display device
GB2203316B (en) * 1987-04-02 1991-04-03 Ibm Display system with symbol font memory
US4959793A (en) * 1987-04-22 1990-09-25 Nec Corporation Microcomputer having function of generating data signals used for displaying characters
US5175811A (en) * 1987-05-20 1992-12-29 Hitachi, Ltd. Font data processor using addresses calculated on the basis of access parameters
JP2542392B2 (ja) * 1987-07-31 1996-10-09 シャープ株式会社 文字描画装置
US4987550A (en) * 1987-09-22 1991-01-22 International Business Machines Corporation Selective processing of a data stream based on font format
JPH01191914A (ja) * 1988-01-27 1989-08-02 Toshiba Corp コンピュータシステム
DE3803061A1 (de) * 1988-02-02 1989-08-03 Siemens Ag Verfahren zum eintrag von zeichen in einen bildspeicher einer datenverarbeitungsanlage
US5021974A (en) * 1988-09-13 1991-06-04 Microsoft Corporation Method for updating a display bitmap with a character string or the like
US5224038A (en) * 1989-04-05 1993-06-29 Xerox Corporation Token editor architecture
JP2883633B2 (ja) * 1989-05-29 1999-04-19 ブラザー工業 株式会社 データ変換装置
JPH0365988A (ja) * 1989-08-04 1991-03-20 Ricoh Co Ltd ワードキャッシュシステム
US5001653A (en) * 1989-09-08 1991-03-19 International Business Machines Corporation Merging plotter graphics within a text environment on a page printer
DE68918101T2 (de) * 1989-10-12 1995-03-30 Ibm Speicher mit Seitenmodus.
EP0422298B1 (en) * 1989-10-12 1994-12-21 International Business Machines Corporation Display system
JPH0727505B2 (ja) * 1990-02-12 1995-03-29 インターナショナル・ビジネス・マシーンズ・コーポレイション インターフェース方法及びインターフェース・システム
US5164831A (en) * 1990-03-15 1992-11-17 Eastman Kodak Company Electronic still camera providing multi-format storage of full and reduced resolution images
US5237655A (en) * 1990-07-05 1993-08-17 Eastman Kodak Company Raster image processor for all points addressable printer
US5201035A (en) * 1990-07-09 1993-04-06 The United States Of America As Represented By The Secretary Of The Air Force Dynamic algorithm selection for volume rendering, isocontour and body extraction within a multiple-instruction, multiple-data multiprocessor
JPH04156359A (ja) * 1990-10-19 1992-05-28 Oki Electric Ind Co Ltd 印刷装置
JPH04168485A (ja) * 1990-11-01 1992-06-16 Nec Corp 情報処理装置
US5592678A (en) * 1991-07-23 1997-01-07 International Business Machines Corporation Display adapter supporting priority based functions
KR940002474B1 (ko) * 1991-07-29 1994-03-24 주식회사 금성사 한글모드에서의 영문 그래픽 캐릭터 코드 처리방법과 장치
US5335322A (en) * 1992-03-31 1994-08-02 Vlsi Technology, Inc. Computer display system using system memory in place or dedicated display memory and method therefor
JP2760731B2 (ja) * 1992-04-30 1998-06-04 株式会社東芝 グラフィックス互換性を可能にする高性能グラフィックスアダプタ用外部インターフェース回路
US5337258A (en) * 1992-07-10 1994-08-09 Microsoft Corporation Cost metrics
US5590260A (en) * 1993-12-30 1996-12-31 International Business Machines Corporation Method and apparatus for optimizing the display of fonts in a data processing system

Also Published As

Publication number Publication date
EP0663659A3 (en) 1995-11-22
EP0663659A2 (en) 1995-07-19
JPH07271339A (ja) 1995-10-20
US5771371A (en) 1998-06-23

Similar Documents

Publication Publication Date Title
US5315698A (en) Method and apparatus for varying command length in a computer graphics system
US5883640A (en) Computing apparatus and operating method using string caching to improve graphics performance
US5321810A (en) Address method for computer graphics system
US5995120A (en) Graphics system including a virtual frame buffer which stores video/pixel data in a plurality of memory areas
US5315696A (en) Graphics command processing method in a computer graphics system
US6002411A (en) Integrated video and memory controller with data processing and graphical processing capabilities
US5590260A (en) Method and apparatus for optimizing the display of fonts in a data processing system
US6166743A (en) Method and system for improved z-test during image rendering
US6226017B1 (en) Methods and apparatus for improving read/modify/write operations
US5539428A (en) Video font cache
US6847369B2 (en) Optimized packing of loose data in a graphics queue
JP2001521190A (ja) ビットマップグラフィックテキストの垂直スクロール能力を有するベーシック入出力システム・リードオンリメモリ(bios−rom)
JP3734226B2 (ja) 圧縮され、ワード整合されたビットマップを高速ブロック転送する方法および装置
EP0279227B1 (en) Raster display vector generator
US4918429A (en) Display system with symbol font memory
US5477242A (en) Display adapter for virtual VGA support in XGA native mode
EP0658858B1 (en) Graphics computer
JP2628621B2 (ja) データ処理システムおよび文字表示方法
US6344856B1 (en) Text optimization
US6222562B1 (en) Fast processed screen image
US6031550A (en) Pixel data X striping in a graphics processor
JPH0646378B2 (ja) コンピュータ表示装置
JPS6329291B2 (ja)
US5734873A (en) Display controller with accelerated drawing of text strings
US5727190A (en) Method and system for the acceleration of graphics images in a multiprocessor or preemptive processing computer system

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees