JPH023091A - 文字生成装置および方法 - Google Patents
文字生成装置および方法Info
- Publication number
- JPH023091A JPH023091A JP1010952A JP1095289A JPH023091A JP H023091 A JPH023091 A JP H023091A JP 1010952 A JP1010952 A JP 1010952A JP 1095289 A JP1095289 A JP 1095289A JP H023091 A JPH023091 A JP H023091A
- Authority
- JP
- Japan
- Prior art keywords
- character
- data
- generating
- primitive
- size
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 41
- 230000015654 memory Effects 0.000 claims abstract description 75
- 238000006243 chemical reaction Methods 0.000 claims abstract description 32
- 238000013507 mapping Methods 0.000 claims abstract description 14
- 239000011159 matrix material Substances 0.000 claims description 14
- 230000008859 change Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 2
- 230000001131 transforming effect Effects 0.000 claims 1
- 230000000007 visual effect Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 3
- 239000000284 extract Substances 0.000 abstract description 2
- 102000003688 G-Protein-Coupled Receptors Human genes 0.000 description 14
- 108090000045 G-Protein-Coupled Receptors Proteins 0.000 description 14
- 230000008901 benefit Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 10
- 230000009466 transformation Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 239000003086 colorant Substances 0.000 description 3
- 208000018721 fetal lung interstitial tumor Diseases 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000013256 coordination polymer Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 108700010617 S-(1,2,3,4,4-pentachloro-1,3-butadienyl)glutathione Proteins 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
Landscapes
- Controls And Circuits For Display Device (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
本発明は文字の生成に関し、更に具体的には、広い概念
において、マツピング図形(グラフィック)表示装置を
使用してデジタル・コンピュータ・システムで文字を生
成して表示する装置と方法に関するものである。
において、マツピング図形(グラフィック)表示装置を
使用してデジタル・コンピュータ・システムで文字を生
成して表示する装置と方法に関するものである。
[従来の技術]
マツピング図形(グラフィック)表示装置を使用してコ
ンピュータ・システムで文字を生成する方法は、現在様
々なものが知られている0文字フォントは、任意のサイ
ズとフェースをもつ文字のセットであるが、ある種のコ
ンピュータはこのフォントを1つしか使用していない、
また、他のコンピュータでは、操作員またはプログラマ
がいくつかのフォントの中から1つを選択できるように
なっている。さらに、マツピング図形表示装置が出現し
たことにより、コンピュータが様々なフォント・タイプ
を生成して、それを1つのイメークの中に表示できるよ
うになっている。
ンピュータ・システムで文字を生成する方法は、現在様
々なものが知られている0文字フォントは、任意のサイ
ズとフェースをもつ文字のセットであるが、ある種のコ
ンピュータはこのフォントを1つしか使用していない、
また、他のコンピュータでは、操作員またはプログラマ
がいくつかのフォントの中から1つを選択できるように
なっている。さらに、マツピング図形表示装置が出現し
たことにより、コンピュータが様々なフォント・タイプ
を生成して、それを1つのイメークの中に表示できるよ
うになっている。
「マツピング」という用語は、データを表示メモリに記
憶し、アクセスする方法のことである。
憶し、アクセスする方法のことである。
例えば、ビット・マツピング表示装置では、ビデオ画面
はピクセルの配列と考えることができる。
はピクセルの配列と考えることができる。
ある画面が100個のピクセル(縦方向) x 100
個のピクセル(811方向)からなる場合、メモリの記
憶位置は画面上のピクセルの個数に対応して10.00
0個になる。メモリの各記憶位置を表示装置の画面上の
ある特定のピクセル位置と対応づけることを、「マツピ
ング」すると言われている。
個のピクセル(811方向)からなる場合、メモリの記
憶位置は画面上のピクセルの個数に対応して10.00
0個になる。メモリの各記憶位置を表示装置の画面上の
ある特定のピクセル位置と対応づけることを、「マツピ
ング」すると言われている。
文字を表現する1つの方法として、文字ビット・マップ
を使用する方法がある。この文字ビット・マップの処理
は、各文字のタイプ、サイズおよびフェースを表すパタ
ーンをメモリのあるセクション(「文字メモリ」とも呼
ばれる)に記憶することによって行なわれる0表示また
は印刷される各文字は、2次元のピクセル・マトリック
ス(「セルjとも呼ばれる)内に存在するものと考える
ことができる。セルを表すビット・パターンは文字メモ
リに記憶される。ある文字フォントの生成は、ビット・
パターンの集りを文字メモリに記憶することによつて行
なわれるのが代表的である。このビット・パターンの集
りには、英字、数字および句読点などの文字の他に、常
用されるある種の記号が含まれているのが普通である。
を使用する方法がある。この文字ビット・マップの処理
は、各文字のタイプ、サイズおよびフェースを表すパタ
ーンをメモリのあるセクション(「文字メモリ」とも呼
ばれる)に記憶することによって行なわれる0表示また
は印刷される各文字は、2次元のピクセル・マトリック
ス(「セルjとも呼ばれる)内に存在するものと考える
ことができる。セルを表すビット・パターンは文字メモ
リに記憶される。ある文字フォントの生成は、ビット・
パターンの集りを文字メモリに記憶することによつて行
なわれるのが代表的である。このビット・パターンの集
りには、英字、数字および句読点などの文字の他に、常
用されるある種の記号が含まれているのが普通である。
ある文字のrビット・マップ」がr文字メモリ」に記憶
されたあと、そのビット・マップは所望の順序で画面に
送る必要がある。つまり、ビット・マップ情報を何らか
の方法で使用して、必要とする文字配列に形成して、そ
れが単語や文、あるいは他の構造として認識できるよう
にする必要がある。この転送を行なう方法として、いく
つかが知られている。
されたあと、そのビット・マップは所望の順序で画面に
送る必要がある。つまり、ビット・マップ情報を何らか
の方法で使用して、必要とする文字配列に形成して、そ
れが単語や文、あるいは他の構造として認識できるよう
にする必要がある。この転送を行なう方法として、いく
つかが知られている。
その1つとして、「ブロック複写」操作を使用してビッ
ト・マップを文字メモリから表示装置に転送する方法が
ある0文字を転送すると鮒、中央IA理装置(CPU)
は文字のビット・マップを文、字メモリから読み取る0
次に、CPUは文字ビット・マップを表示メモリ・ドラ
イバ回路に書き出し、このドライバ回路からそのビット
・マップが表示メモリに転送される。
ト・マップを文字メモリから表示装置に転送する方法が
ある0文字を転送すると鮒、中央IA理装置(CPU)
は文字のビット・マップを文、字メモリから読み取る0
次に、CPUは文字ビット・マップを表示メモリ・ドラ
イバ回路に書き出し、このドライバ回路からそのビット
・マップが表示メモリに転送される。
ビット・マップ情報を転送する別の公知方法は、表示ド
ライバを使用して文字ビット・マップを直接的にメモリ
から取り出すものである。この方法によるときは、CP
tTは文字出力命令と文字ビット・マップの先頭アドレ
スを表示ドライバに渡し、これを受けて表示ドライバが
直接にビット・マップを取り出して、それを表示メモリ
に書き出している。
ライバを使用して文字ビット・マップを直接的にメモリ
から取り出すものである。この方法によるときは、CP
tTは文字出力命令と文字ビット・マップの先頭アドレ
スを表示ドライバに渡し、これを受けて表示ドライバが
直接にビット・マップを取り出して、それを表示メモリ
に書き出している。
ビット・マップ情報を転送するもう1つの公知方法は、
「ピクセル・データ管理プログラム」と「マクロ命令」
を使用して行なうものである。この方法は、他のいくつ
かの方法と共に、米国特許第4,622,546号(ス
フアルティ他)に説明されている。
「ピクセル・データ管理プログラム」と「マクロ命令」
を使用して行なうものである。この方法は、他のいくつ
かの方法と共に、米国特許第4,622,546号(ス
フアルティ他)に説明されている。
[発明が解決しようとする!fl]
上に述べた公知方法はいずれも、文字ビット・マップを
フォント生成に必要な構成要素として使用している点で
共通している。一般的に、文字ビット・マップを使用す
るシステムにはいくつかの問題がある0文字ビット・マ
ップ装置によく見られる問題の1つは、ある文字を作成
するときに、CPUが非常に多数のメモリ・アクセス命
令を実行する必要があることである。この負担をCPU
に負わせることがシステム、性能(IA理効率)を低下
させる原因になっている。また、ビット・マップ方式は
、メモリの記憶位置を必要とする各文字用に割り付ける
必要があるので、メモリ・スペースの制約を受けること
になっている。
フォント生成に必要な構成要素として使用している点で
共通している。一般的に、文字ビット・マップを使用す
るシステムにはいくつかの問題がある0文字ビット・マ
ップ装置によく見られる問題の1つは、ある文字を作成
するときに、CPUが非常に多数のメモリ・アクセス命
令を実行する必要があることである。この負担をCPU
に負わせることがシステム、性能(IA理効率)を低下
させる原因になっている。また、ビット・マップ方式は
、メモリの記憶位置を必要とする各文字用に割り付ける
必要があるので、メモリ・スペースの制約を受けること
になっている。
さらに、ビット・マップ方式は、多くの場合、ある文字
やフォント全体に変化を与えてピクセル単位で生成する
ことが煩雑であるので、柔軟性をもたせることができな
い。
やフォント全体に変化を与えてピクセル単位で生成する
ことが煩雑であるので、柔軟性をもたせることができな
い。
ビット・マップ方式による文字自身にも制約があるので
、スケーリング(文字サイズの拡大や縮小)や回転(単
語や文字列、文字を基準線を基準にして角度をなして生
成すること)といった操作が困難であり、また費用の点
でも問題がある0例えば、あるビット・マップ文字を拡
大するとき、拡大操作(ビクセルを複写して行なうのが
代表例)を行なうと、文字の縁が毛羽立って現れること
がある。ビット・マップを拡大した別のフォントを記憶
させれば、この問題は解決されるが、そのために必要な
メモリ・スペースが増加することになる。さらに、ビッ
ト・マップ方式による文字の回転はブロック複写操作に
よって行なわれるので、回転が難しく、そのためには非
常に多数の計算が必要になる。
、スケーリング(文字サイズの拡大や縮小)や回転(単
語や文字列、文字を基準線を基準にして角度をなして生
成すること)といった操作が困難であり、また費用の点
でも問題がある0例えば、あるビット・マップ文字を拡
大するとき、拡大操作(ビクセルを複写して行なうのが
代表例)を行なうと、文字の縁が毛羽立って現れること
がある。ビット・マップを拡大した別のフォントを記憶
させれば、この問題は解決されるが、そのために必要な
メモリ・スペースが増加することになる。さらに、ビッ
ト・マップ方式による文字の回転はブロック複写操作に
よって行なわれるので、回転が難しく、そのためには非
常に多数の計算が必要になる。
そこで、ビット・マップ文字記憶機構を使用しないフォ
ント生成システムや方法が望まれている。さらに、高速
で柔軟性があり、しかもメモリ・スペースとCPU時間
を共に効率よく使用しながら多様なフォントを生成し、
変換を行なうために使用できるフォント生成方法が望ま
れている。
ント生成システムや方法が望まれている。さらに、高速
で柔軟性があり、しかもメモリ・スペースとCPU時間
を共に効率よく使用しながら多様なフォントを生成し、
変換を行なうために使用できるフォント生成方法が望ま
れている。
本発明は、フォントを記憶し、文字を生成するシステム
と方法を提供するものである。
と方法を提供するものである。
[課題を解決するための手段]
フォント内の各文字のための記憶域には、ビット・マッ
プを記憶するのではなく、文字を形成するために使用さ
れる命令のアドレスと、これらの命令で必要となるパラ
メータを保管しておく。
プを記憶するのではなく、文字を形成するために使用さ
れる命令のアドレスと、これらの命令で必要となるパラ
メータを保管しておく。
本発明の1実施例によれば、フォント用の索引テーブル
に、各文字ごとに、文字の図形要素または画素(プリミ
ティブ)テーブル(文字テーブル)のアドレス、文字テ
ーブル内の当該文字にどれだけの情報が保管されている
かの詳細および文字ベース・オフセットとセル・サイズ
に関する悄軸が記載されている。各文字用の文字テーブ
ルにはマクロコード命令のアドレスとそのあとに続いて
文字生成に必要なパラメータが記載されている0文字を
作成するための処置はいくつでも定義が可能である0例
えば、線の描画、スプライン曲線の描画、円の描画、楕
円の描画、矩形の描画、単一ピクセルの描画、塗りつぶ
しくflood fill)などである、どのような幾
何学的図形でもプリミティブとして描画できることは勿
論である。これらのIA置はグラフィック・プリミティ
ブ(GraphicalPrimitives)と呼ば
れるもので、任意の順序でしかも任意の冗長性をもたせ
て、実行させることができる。従って、本発明によれば
、プログラマや操作員は、様々な種類のフォントを設計
して使用したり、比較的少ないプログラミング作業でも
ってこれらのフォントを動的に変更したりできる。
に、各文字ごとに、文字の図形要素または画素(プリミ
ティブ)テーブル(文字テーブル)のアドレス、文字テ
ーブル内の当該文字にどれだけの情報が保管されている
かの詳細および文字ベース・オフセットとセル・サイズ
に関する悄軸が記載されている。各文字用の文字テーブ
ルにはマクロコード命令のアドレスとそのあとに続いて
文字生成に必要なパラメータが記載されている0文字を
作成するための処置はいくつでも定義が可能である0例
えば、線の描画、スプライン曲線の描画、円の描画、楕
円の描画、矩形の描画、単一ピクセルの描画、塗りつぶ
しくflood fill)などである、どのような幾
何学的図形でもプリミティブとして描画できることは勿
論である。これらのIA置はグラフィック・プリミティ
ブ(GraphicalPrimitives)と呼ば
れるもので、任意の順序でしかも任意の冗長性をもたせ
て、実行させることができる。従って、本発明によれば
、プログラマや操作員は、様々な種類のフォントを設計
して使用したり、比較的少ないプログラミング作業でも
ってこれらのフォントを動的に変更したりできる。
さらに、本発明ではグラフィック・プリミティブを使用
するので、メモリ・スペースと020時間を効率よく使
用できる。
するので、メモリ・スペースと020時間を効率よく使
用できる。
フォントの生成と記憶でグラフィック・プリミティブを
使用すると、従来のビット・マップ・システムに比べて
いくつかの利点が得られる。これらの利点は、特にスケ
ーリング(拡大と縮小)と回転の分野で顕著である。ま
た、グラフィック・プリミティブを使用すると、文字の
生成を向きとサイズから独立して行なうことができる8
例えば、直線を描画する必要のある文字の場合には、相
対的始点と終点だけを与えればよい、また、ある線を回
転するときは、線描画操作でいくつかの異なる線終点パ
ラメータを与えるだけでよい。このことは、文字や文字
列の回転を行ないやすくする。さらに、テキストのスケ
ーリングが容易になる。つまり、ある線を描画するため
に使用したものと同じプリミティブは、終点を変えるだ
けでより長いあるいはより短い線を描画するために使用
することができる。
使用すると、従来のビット・マップ・システムに比べて
いくつかの利点が得られる。これらの利点は、特にスケ
ーリング(拡大と縮小)と回転の分野で顕著である。ま
た、グラフィック・プリミティブを使用すると、文字の
生成を向きとサイズから独立して行なうことができる8
例えば、直線を描画する必要のある文字の場合には、相
対的始点と終点だけを与えればよい、また、ある線を回
転するときは、線描画操作でいくつかの異なる線終点パ
ラメータを与えるだけでよい。このことは、文字や文字
列の回転を行ないやすくする。さらに、テキストのスケ
ーリングが容易になる。つまり、ある線を描画するため
に使用したものと同じプリミティブは、終点を変えるだ
けでより長いあるいはより短い線を描画するために使用
することができる。
本発明によれば、2次元変換手法を使用するので、スケ
ーリング(文字のサイズの変更)や回転(単語や文字列
、文字を角度をなして描画すること)といった変換操作
を簡単に行なうことができる0文字サイズの変更や回転
は、描画操作時にプリミティブに与えたパラメータを操
作するだけで行なうことかできる0本発明の利点は、プ
リミティブやパラメータ自体、あるいはある文字のプリ
ミティブ実行順序を変更する必要がないことである0本
発明の実施例では、これらの変換機能は、マトリックス
乗算による公知の2次元変換手法を用いて行なっている
。
ーリング(文字のサイズの変更)や回転(単語や文字列
、文字を角度をなして描画すること)といった変換操作
を簡単に行なうことができる0文字サイズの変更や回転
は、描画操作時にプリミティブに与えたパラメータを操
作するだけで行なうことかできる0本発明の利点は、プ
リミティブやパラメータ自体、あるいはある文字のプリ
ミティブ実行順序を変更する必要がないことである0本
発明の実施例では、これらの変換機能は、マトリックス
乗算による公知の2次元変換手法を用いて行なっている
。
本発明によれば、複数のフォント・ビット・マップをメ
モリに置いておく必要がない、実際には、文字の生成は
その描画時に行なわれる。この方法によると、複数のフ
ォントの保管と生成を、1つの集合として保管されてい
るグラフィック・プリティブとその実行順序を指示する
コマンドに基づいて行なえるという利点がある。さらに
、サイズ、位首、回転といった要因が、グラフィック・
プリミティブに渡していたパラメータを操作することで
m 単にかつ動的に変更できるという利点がある。さら
に、本発明には、ピット・マツプ・システムに比べて所
定数のフォントを記憶するときのメモリの使用効率を向
上すると共に、フォントの生成と描画時のCPUオーバ
ヘッドを軽減させる利点がある。
モリに置いておく必要がない、実際には、文字の生成は
その描画時に行なわれる。この方法によると、複数のフ
ォントの保管と生成を、1つの集合として保管されてい
るグラフィック・プリティブとその実行順序を指示する
コマンドに基づいて行なえるという利点がある。さらに
、サイズ、位首、回転といった要因が、グラフィック・
プリミティブに渡していたパラメータを操作することで
m 単にかつ動的に変更できるという利点がある。さら
に、本発明には、ピット・マツプ・システムに比べて所
定数のフォントを記憶するときのメモリの使用効率を向
上すると共に、フォントの生成と描画時のCPUオーバ
ヘッドを軽減させる利点がある。
[実施例]
本発明の実施例によれば、コンピュータをベースとした
マイクロコード・プログラムを使用し、グラフィック・
プリミティブを使用するグラフィック・プロセッサ上で
そのプログラムを稼動させて、フォントを記憶し、文字
を生成するものである。木明1n中で説明している操作
をマイクロ命令レベルでコーディングすると、高速化さ
れるという点で望ましいが、これらの操作は、マイクロ
・レベルでも、マクロ・レベルでも、任意のプログラミ
ング言語で簡単にコーディングが可能であることは勿論
である。さらに、本発明はハードウェアで実現すること
も、あるいはプログラマブル・ロジック回路を使用して
実現することも可能である。
マイクロコード・プログラムを使用し、グラフィック・
プリミティブを使用するグラフィック・プロセッサ上で
そのプログラムを稼動させて、フォントを記憶し、文字
を生成するものである。木明1n中で説明している操作
をマイクロ命令レベルでコーディングすると、高速化さ
れるという点で望ましいが、これらの操作は、マイクロ
・レベルでも、マクロ・レベルでも、任意のプログラミ
ング言語で簡単にコーディングが可能であることは勿論
である。さらに、本発明はハードウェアで実現すること
も、あるいはプログラマブル・ロジック回路を使用して
実現することも可能である。
まず、第1図を参照して本発明の詳細な説明することに
する0本発明は、フォントを記憶し、文字を生成するシ
ステムと方法を提供するものである。フォント内の各文
字用の記憶域には、ビット・マップではなく、文字を作
るとき使用される命令のアドレスと、これらの命令で必
要とされるパラメータが保管されている0本発明では、
文字生成で使用される情報を保管しておくためのメモリ
・テーブルと、その情報を読み取って使用するプログラ
ムが使用される。システムはこれらのプログラムとテー
ブルを通して、文字コード情報をCPUや入出力装置(
例:キーボード)から受け取ったり、文字データに対す
る変換操作を文字が表示装置上に生成される時点・で行
なう。
する0本発明は、フォントを記憶し、文字を生成するシ
ステムと方法を提供するものである。フォント内の各文
字用の記憶域には、ビット・マップではなく、文字を作
るとき使用される命令のアドレスと、これらの命令で必
要とされるパラメータが保管されている0本発明では、
文字生成で使用される情報を保管しておくためのメモリ
・テーブルと、その情報を読み取って使用するプログラ
ムが使用される。システムはこれらのプログラムとテー
ブルを通して、文字コード情報をCPUや入出力装置(
例:キーボード)から受け取ったり、文字データに対す
る変換操作を文字が表示装置上に生成される時点・で行
なう。
第1図の好適実施例に示すように、本発明によるシステ
ムは、CP 010Gと、グラフィック・プロセッサ1
02(つまり、メモリ内のデータを処1里して表示する
装面)と、マツピング表示装置104(高解像度ビット
・マップ表示装置など)と、入出力装置およびコントロ
ーラ106 (キーボード、ディスク、プリンタなど
)と、プログラム・メモリ110と、グローバル・メモ
リ108(プログラムによって使用されるテーブル、ポ
インタ、スクラッチパッド、その他の情報を保管してお
くためのもの)とから構成されている。グローバル・メ
モリ108とプログラム・メモリ110は、それぞれ別
個の物理メモリにすることも、単独のメモリ内の記憶域
として定義することも可能である。グローバル・メモリ
とプログラム・メモリは共に、スタチックRA M (
SIIAM)のような高速メモリにすることが好ましい
0表示装置104は、グラフィック・プロセッサ102
で駆動させるのが代表的である。その他の構成要素(上
に挙げたもの)は、割込みと仲裁方式の制御下で共通パ
ス経由でデータの受渡しを行なうのが代表的である。こ
れらの構成要素間を接続するとき必要になる手法とハー
ドウェアは、当業者に公知のものである。グラフィック
・プロセッサの動作と構造については、米国特許第4,
642,625号(ツネヒロ他)と米国特許第4,58
0,134号(キャンベル他)に詳しく説明されている
が、これらはその全体が本明細書の一部を構成するもの
である。
ムは、CP 010Gと、グラフィック・プロセッサ1
02(つまり、メモリ内のデータを処1里して表示する
装面)と、マツピング表示装置104(高解像度ビット
・マップ表示装置など)と、入出力装置およびコントロ
ーラ106 (キーボード、ディスク、プリンタなど
)と、プログラム・メモリ110と、グローバル・メモ
リ108(プログラムによって使用されるテーブル、ポ
インタ、スクラッチパッド、その他の情報を保管してお
くためのもの)とから構成されている。グローバル・メ
モリ108とプログラム・メモリ110は、それぞれ別
個の物理メモリにすることも、単独のメモリ内の記憶域
として定義することも可能である。グローバル・メモリ
とプログラム・メモリは共に、スタチックRA M (
SIIAM)のような高速メモリにすることが好ましい
0表示装置104は、グラフィック・プロセッサ102
で駆動させるのが代表的である。その他の構成要素(上
に挙げたもの)は、割込みと仲裁方式の制御下で共通パ
ス経由でデータの受渡しを行なうのが代表的である。こ
れらの構成要素間を接続するとき必要になる手法とハー
ドウェアは、当業者に公知のものである。グラフィック
・プロセッサの動作と構造については、米国特許第4,
642,625号(ツネヒロ他)と米国特許第4,58
0,134号(キャンベル他)に詳しく説明されている
が、これらはその全体が本明細書の一部を構成するもの
である。
本実施例では、以下に説明するテーブルがグローバル・
メモリ114内に定義されている。
メモリ114内に定義されている。
(1)現フォント保管テーブル(CFS) 112 :
ここには、監視プログラム(エグゼクティブ)122が
使用するある種のグローバル情報が保管される。
ここには、監視プログラム(エグゼクティブ)122が
使用するある種のグローバル情報が保管される。
(2)フォント索引テーブル(FLIT)114 :
ココには、フォント内の各文字ごとに、ベース・オフセ
ット、カーソル・インクリメント(増分)、当該文字を
どのように描画するかを記述した特定情報を指すポイン
タが保管される。
ココには、フォント内の各文字ごとに、ベース・オフセ
ット、カーソル・インクリメント(増分)、当該文字を
どのように描画するかを記述した特定情報を指すポイン
タが保管される。
(3)文字テーブル11B (7オント内の各文字ご
とに1つ):ここには、グラフィック・プリミティブ1
26 (GPCrt)を呼び出すプログラムを指すポイ
ンタとこれらのプリミティブによって使用される情報が
保管される。
とに1つ):ここには、グラフィック・プリミティブ1
26 (GPCrt)を呼び出すプログラムを指すポイ
ンタとこれらのプリミティブによって使用される情報が
保管される。
(4)テキスト変換テーブル(TTT) 118 :こ
こには、描画される文字の変換が行なわれるとき使用さ
れる情報が保管される(テキスト変換テーブルのメモリ
・マツプ表現については、第6図を参照)。
こには、描画される文字の変換が行なわれるとき使用さ
れる情報が保管される(テキスト変換テーブルのメモリ
・マツプ表現については、第6図を参照)。
グローバル・メモリ108には、第1図に示すように、
−時記憶域120があり、ここにはプログラムによって
使用されたポインタが収められ、スクラッチパッド/−
時記憶域としての機能をもつ。
−時記憶域120があり、ここにはプログラムによって
使用されたポインタが収められ、スクラッチパッド/−
時記憶域としての機能をもつ。
これらのテーブル内の情報は、プログラム・メモリ11
0から実行される2つのプログラムによって使用される
。2つのプログラムとは、監視プログラム122と描画
プログラム124である。監視プログラム122はシス
テムのグラフィック・コントローラ102のカラー・レ
ジスタを準備し、どの文字をいくつ描画するかといった
情報をCP 0100(これは該当する人出力装ニ10
6に接続されていることもある)から取り出すものであ
る。各文字ごとに、監視プログラム122は当該文字の
情報が保管されているフォント索引テーブルのアドレス
を計算で求めて、Krg3プログラム124を呼び出す
、描画プログラム124は、描画すべき文字用の正しい
文字テーブルを探し出し、必要なパラメータをその文字
テーブルから抜き出したあと、そのパラメータを変換し
て、その文字をマツピング表示装fi104上に描画す
るために必要なグラフィック・プリミティブ126を実
行するルーチン(cpcll)を呼び出すものである。
0から実行される2つのプログラムによって使用される
。2つのプログラムとは、監視プログラム122と描画
プログラム124である。監視プログラム122はシス
テムのグラフィック・コントローラ102のカラー・レ
ジスタを準備し、どの文字をいくつ描画するかといった
情報をCP 0100(これは該当する人出力装ニ10
6に接続されていることもある)から取り出すものであ
る。各文字ごとに、監視プログラム122は当該文字の
情報が保管されているフォント索引テーブルのアドレス
を計算で求めて、Krg3プログラム124を呼び出す
、描画プログラム124は、描画すべき文字用の正しい
文字テーブルを探し出し、必要なパラメータをその文字
テーブルから抜き出したあと、そのパラメータを変換し
て、その文字をマツピング表示装fi104上に描画す
るために必要なグラフィック・プリミティブ126を実
行するルーチン(cpcll)を呼び出すものである。
描画プログラム124は、その動作時に、文字が描画さ
れるまで変換とグラフィック・プリミティブを1つずつ
実行していく、監視プログラム122と描画プログラム
124は詳しく下達する。
れるまで変換とグラフィック・プリミティブを1つずつ
実行していく、監視プログラム122と描画プログラム
124は詳しく下達する。
本明III書で「表示される」という用語が用いられて
いるが、これは便宜上用いたものであって、文字が表示
される装置の種類を限定するものではない0例えば、文
字はプリンタやCRT、その他の適当な装置上に表示さ
せることが可能である。
いるが、これは便宜上用いたものであって、文字が表示
される装置の種類を限定するものではない0例えば、文
字はプリンタやCRT、その他の適当な装置上に表示さ
せることが可能である。
また、r文字」という用語は、+n報を伝達するとき使
用される一切の形状または記号を指すものである0例え
ば、英数字、特殊文字、特定のアプリケーションで任意
に選択される記号などである。
用される一切の形状または記号を指すものである0例え
ば、英数字、特殊文字、特定のアプリケーションで任意
に選択される記号などである。
以下、本発明を更に詳しく具体的に説明する。
第2図ないし第6図は、本発明の好適実施例で使用され
ている各種テーブルを示している。この好適実施例では
、これらのテーブルはランダム・アクセス・メモリ(R
AM)の記憶域に保管されている。勿論、これらのテー
ブルは他の場所、例えば、リード・オンリー・メモリ(
IIOM)とか、ハード・ディスクやフロッピといった
記憶装面に保管しておくことも可能である。
ている各種テーブルを示している。この好適実施例では
、これらのテーブルはランダム・アクセス・メモリ(R
AM)の記憶域に保管されている。勿論、これらのテー
ブルは他の場所、例えば、リード・オンリー・メモリ(
IIOM)とか、ハード・ディスクやフロッピといった
記憶装面に保管しておくことも可能である。
第2図は、現フォント保管テーブル(CFST)のメモ
リ・マツプを示したものである。このテーブルには、描
画プログラム124と監視プログラム122によって使
用されるグローバル情報が収められる。グローバル情報
としては、現在のテキスト・カラー200、カーソルX
ポジション202、カーソル°Y°ポジション204、
テキスト変換テーブルC丁丁丁)のアドレス206、選
択されたフォント用のフォント索引テーブル(FLtl
T)のアドレス2081選択されたフォント内の文字数
210などがある。現フォント保管テーブル112は監
視プログラム122に入る前に初期設定され、カーソル
XポジションとカーソルXポジションは各文字が表示さ
れると更新される。 CFST 112に保管されてい
る他の情報も、各文字が表示される間に変更することが
可能である。テーブル内の各項目は同じサイズにするこ
とが好ましいが、監視プログラム122に苦千の変更を
加えれば、異なるサイズの項目を使用することも可能で
ある。本発明者が実際にテストした1つの例では、各項
目のサイズは16ビツトが使用されているが(このサイ
ズは使用コンピュータのデータ・ワードのサイズに合わ
せたものである)、各項目を記述するのに十分なワード
・サイズならば、どのサイズでも使用できることは勿論
である。
リ・マツプを示したものである。このテーブルには、描
画プログラム124と監視プログラム122によって使
用されるグローバル情報が収められる。グローバル情報
としては、現在のテキスト・カラー200、カーソルX
ポジション202、カーソル°Y°ポジション204、
テキスト変換テーブルC丁丁丁)のアドレス206、選
択されたフォント用のフォント索引テーブル(FLtl
T)のアドレス2081選択されたフォント内の文字数
210などがある。現フォント保管テーブル112は監
視プログラム122に入る前に初期設定され、カーソル
XポジションとカーソルXポジションは各文字が表示さ
れると更新される。 CFST 112に保管されてい
る他の情報も、各文字が表示される間に変更することが
可能である。テーブル内の各項目は同じサイズにするこ
とが好ましいが、監視プログラム122に苦千の変更を
加えれば、異なるサイズの項目を使用することも可能で
ある。本発明者が実際にテストした1つの例では、各項
目のサイズは16ビツトが使用されているが(このサイ
ズは使用コンピュータのデータ・ワードのサイズに合わ
せたものである)、各項目を記述するのに十分なワード
・サイズならば、どのサイズでも使用できることは勿論
である。
第2図に示す現フォント保管テーブル112では、第2
図ないし第6図のテーブルを標準の1次発メモリ(つま
り、いずれかのメモリ位置をアドレス指定するのに1つ
のアドレスだけが必要になるようなメモリ)に保管する
ことが意図されている。しかし、第2図のテーブルは2
次元メモリ(つまり、メモリが°X° と°Y°座標で
アドレス指定されるようなメモリ)でも働くように簡単
に修正できることは勿論である。テーブル3ないし6が
このような2次元メモリに保管される場合は、フォント
索引テーブル・アドレス208の項目は、FLUT ’
X’アドレスとFLUT ’Y’アドレスに買き代えら
れることになる。同様に、2次元メモリ構造の左側と右
側の境騨を定義するための項目が文字テーブルの開始ア
ドレスと終了アドレスとして追加されることになる3本
発明の利点は、同じような修正を行なうことにより、デ
ータ・アドレス指定のために任意の数の座標を必要とす
るようなメそりや記憶装置(例えば、多重ヘッド・ディ
スク)にもデータが保管できることである。第2図ない
し第6図のテーブルの内容は、現フォント保管テーブル
112を収めておく記憶装置の種類に左右されることが
ない。
図ないし第6図のテーブルを標準の1次発メモリ(つま
り、いずれかのメモリ位置をアドレス指定するのに1つ
のアドレスだけが必要になるようなメモリ)に保管する
ことが意図されている。しかし、第2図のテーブルは2
次元メモリ(つまり、メモリが°X° と°Y°座標で
アドレス指定されるようなメモリ)でも働くように簡単
に修正できることは勿論である。テーブル3ないし6が
このような2次元メモリに保管される場合は、フォント
索引テーブル・アドレス208の項目は、FLUT ’
X’アドレスとFLUT ’Y’アドレスに買き代えら
れることになる。同様に、2次元メモリ構造の左側と右
側の境騨を定義するための項目が文字テーブルの開始ア
ドレスと終了アドレスとして追加されることになる3本
発明の利点は、同じような修正を行なうことにより、デ
ータ・アドレス指定のために任意の数の座標を必要とす
るようなメそりや記憶装置(例えば、多重ヘッド・ディ
スク)にもデータが保管できることである。第2図ない
し第6図のテーブルの内容は、現フォント保管テーブル
112を収めておく記憶装置の種類に左右されることが
ない。
第3図は、フォント索引テーブル114のメモリ・マツ
プを示したものである。このフォント索引テーブル(F
LII’r)には、フォント内の各文字ごとに、カーソ
ル°X°と°Y°ポジションの増分300゜302(つ
まり、文字が描画されるときカーソル・ポジションが更
新されるfK)、べ−k・オフセット304(つまり、
基準線より下に延びる文字の並びを正しくするためにカ
ーソル°Y°ポジションから差し引く必要のある量)、
選択した文字用の文字テーブルの長さ306(つまり、
その文字を生成するために必要なデータ項目の個数)、
および文字テーブルの開始アドレス308といった情報
が収容される。2つ以上の手法またはプログラムを使っ
て文字を描画する必要がある場合には、描画プログラム
のアドレス310に対応する項目をFLtlTに作成す
ることも可能である0文字テーブル116が2次元メモ
リに保管される場合は、文字テーブルのアドレス308
は°X°アドレス項目と“Y°アドレス項目から構成さ
れることになる。上述したように、任意の数のアドレス
・パラメータを必要とするメモリや記憶装置に合わせて
N単に修正が可能である。
プを示したものである。このフォント索引テーブル(F
LII’r)には、フォント内の各文字ごとに、カーソ
ル°X°と°Y°ポジションの増分300゜302(つ
まり、文字が描画されるときカーソル・ポジションが更
新されるfK)、べ−k・オフセット304(つまり、
基準線より下に延びる文字の並びを正しくするためにカ
ーソル°Y°ポジションから差し引く必要のある量)、
選択した文字用の文字テーブルの長さ306(つまり、
その文字を生成するために必要なデータ項目の個数)、
および文字テーブルの開始アドレス308といった情報
が収容される。2つ以上の手法またはプログラムを使っ
て文字を描画する必要がある場合には、描画プログラム
のアドレス310に対応する項目をFLtlTに作成す
ることも可能である0文字テーブル116が2次元メモ
リに保管される場合は、文字テーブルのアドレス308
は°X°アドレス項目と“Y°アドレス項目から構成さ
れることになる。上述したように、任意の数のアドレス
・パラメータを必要とするメモリや記憶装置に合わせて
N単に修正が可能である。
第4図は、単一文字用の文字テーブル40Gのメモリ・
マツプである。各文字テーブル400には、文字を生成
するとき実行させたいグラフィック・プリミティブを識
別するデータが収容される。これは、グラフィック・プ
リミティブの実行時に使用されるパラメータを事前処理
して(例えば、現カーソル・ポジションを用いて変換と
修正を行なうといった処理)、特定のグラフィック・プ
リミティブを実行させる中間ルーチン(グラフィック・
プリミティブ呼出しルーチンやGPCR)のアドレス4
02.404.406を(文字テーブル内に)用意する
ことによって行なわれる。各GPCRアドレス402.
404.406に続いて、関連のプリミティブを所望の
方法で実行させるために必要なパラメータ・リスト40
8が買かれている0文字テーブル内の最後の項目は”E
ND OF CIl八RへACTEll”プリミティブ
・アドレス410である。
マツプである。各文字テーブル400には、文字を生成
するとき実行させたいグラフィック・プリミティブを識
別するデータが収容される。これは、グラフィック・プ
リミティブの実行時に使用されるパラメータを事前処理
して(例えば、現カーソル・ポジションを用いて変換と
修正を行なうといった処理)、特定のグラフィック・プ
リミティブを実行させる中間ルーチン(グラフィック・
プリミティブ呼出しルーチンやGPCR)のアドレス4
02.404.406を(文字テーブル内に)用意する
ことによって行なわれる。各GPCRアドレス402.
404.406に続いて、関連のプリミティブを所望の
方法で実行させるために必要なパラメータ・リスト40
8が買かれている0文字テーブル内の最後の項目は”E
ND OF CIl八RへACTEll”プリミティブ
・アドレス410である。
第5図は、英字“B“に対する文字テーブル構造の例を
示している。同図から明らかなように、英字”n”は−
木の直線と2個の円弧を使用して描画することが可能で
ある。従って、英字“B“に対する文字テーブル構造は
、線プリミティブに対するGPCnのアドレス502と
そのあとに続く始点と終点パラメータ504および円弧
プリミティブに対するGPCnのアドレスをもつ2個の
項目506,508と各々のあとに続く中心点51O1
半径512、始点514および終点51B情報からなる
ことになる。
示している。同図から明らかなように、英字”n”は−
木の直線と2個の円弧を使用して描画することが可能で
ある。従って、英字“B“に対する文字テーブル構造は
、線プリミティブに対するGPCnのアドレス502と
そのあとに続く始点と終点パラメータ504および円弧
プリミティブに対するGPCnのアドレスをもつ2個の
項目506,508と各々のあとに続く中心点51O1
半径512、始点514および終点51B情報からなる
ことになる。
文字テーブル400はフォント内の各文字ごとに1つ存
在することは勿論である。これらのテーブルは記憶装置
の使用効率を高めるために連続させることが可能である
が、本発明によれば、連続させなくても正しく動作する
ことは勿論である。
在することは勿論である。これらのテーブルは記憶装置
の使用効率を高めるために連続させることが可能である
が、本発明によれば、連続させなくても正しく動作する
ことは勿論である。
GPCRを使用すると、プログラマが任意のオベレーテ
ィング・システムがもつ機能や特定のハードウェア装置
がもつ機能を利用できるという利点が得られる0例えば
、あるオペレーティング・システムがグラフィック・プ
リミティブを実行するソフトウェアをすでに備えていれ
ば、GPCnを使用してパラメータ情報を文字テーブル
から抜き出して、既存のグラフィック・プリミティブ・
ソフトウェア126に知らせである場所にそれを置いて
おいておけば、それを探し出すことができる。そのあと
、そのソフトウェアから既存のグラフィック・プリミテ
ィブ・プログラムを呼び出すことができる0本発明の1
実施例では、GPCRは文字変換プログラムのためのデ
ータを収集して、そのプログラムを呼び出すためにも使
用できる。
ィング・システムがもつ機能や特定のハードウェア装置
がもつ機能を利用できるという利点が得られる0例えば
、あるオペレーティング・システムがグラフィック・プ
リミティブを実行するソフトウェアをすでに備えていれ
ば、GPCnを使用してパラメータ情報を文字テーブル
から抜き出して、既存のグラフィック・プリミティブ・
ソフトウェア126に知らせである場所にそれを置いて
おいておけば、それを探し出すことができる。そのあと
、そのソフトウェアから既存のグラフィック・プリミテ
ィブ・プログラムを呼び出すことができる0本発明の1
実施例では、GPCRは文字変換プログラムのためのデ
ータを収集して、そのプログラムを呼び出すためにも使
用できる。
また、GPCRを使用すると、プリミティブ実行機能や
文字変換機能がハードウェアで実行されるようなシステ
ムにおいても、柔軟性をもって本発明を利用できるとい
う利点が得られる。この実施例では、GPCRは、ある
ハードウェア装置で必要になったときパラメータ・デー
タを抜き出して、操作を加えるために使用されるが、他
にインタフェース機能が必要ならば、その機能をGPC
nにもたせることも可能である0例えば、システムのグ
ラフィック・プロセッサ102にプリミティブを直接に
実行できる機能を備えている場合には、GPCIIは描
画プログラム124 とグラフィック・プロセッサ10
2のハードウェア間のインタフェースの役割を果すこと
になる。また、この実施例では、グラフィック・プロセ
ッサ102は、描画プログラム123の制御の下で文字
を作成するためにプリミティブを描画することになる。
文字変換機能がハードウェアで実行されるようなシステ
ムにおいても、柔軟性をもって本発明を利用できるとい
う利点が得られる。この実施例では、GPCRは、ある
ハードウェア装置で必要になったときパラメータ・デー
タを抜き出して、操作を加えるために使用されるが、他
にインタフェース機能が必要ならば、その機能をGPC
nにもたせることも可能である0例えば、システムのグ
ラフィック・プロセッサ102にプリミティブを直接に
実行できる機能を備えている場合には、GPCIIは描
画プログラム124 とグラフィック・プロセッサ10
2のハードウェア間のインタフェースの役割を果すこと
になる。また、この実施例では、グラフィック・プロセ
ッサ102は、描画プログラム123の制御の下で文字
を作成するためにプリミティブを描画することになる。
アプリケーションによっては、GPCHの使用を省いて
、グラフィック・プリミティブのアドレスを文字テーブ
ル115に詮いておき、直接に実行させることも可能で
ある。
、グラフィック・プリミティブのアドレスを文字テーブ
ル115に詮いておき、直接に実行させることも可能で
ある。
グラフィック・プリミティブの概念は当業者に周知であ
り、Donald l1earnおよびPauline
Baker共著の”Computer Graphi
cs=(Prentice−Hal1発行1986年)
およびJ、D、FoleyおよびA、Van Dam共
著の″Fundamentals of Intera
ctive Computer−Graphics”(
Addison Wesler発行、リプリント版19
83年)に説明されている。これらの書物は共に本明細
書の一部を構成するものである。
り、Donald l1earnおよびPauline
Baker共著の”Computer Graphi
cs=(Prentice−Hal1発行1986年)
およびJ、D、FoleyおよびA、Van Dam共
著の″Fundamentals of Intera
ctive Computer−Graphics”(
Addison Wesler発行、リプリント版19
83年)に説明されている。これらの書物は共に本明細
書の一部を構成するものである。
第6図は、テキスト変換テーブル118のメモリ・マツ
プを示したものである6本発明の好適実施例では、2x
3または3x3のマトリックスを使用して生成すべき文
字の変換を行なっている。テキスト変換テーブル118
には、このマトリックスで使用されるデータ60Gが収
められている。ここで変換とは、回転、スケーリング、
並行移動といった操作を加えることである0本発明では
、「マトリック乗算による2次元変換」とも呼ばれてい
る手法を用いている。マトリックス乗算による2次元変
換とは、基本的には、2次元平面上の点のX%Y座標を
3xlマトリツクスの要素のうちの2要素として扱い、
そのマトリックスを2x3または3x3マトリツクスで
掛けることによってその点を変換する方法のことである
0点がどのように並行移動され、原点を中心として回転
され、その原点を基準にしてスケーリングされるかは、
2x3または3x3マトリツクスの値によって決まる。
プを示したものである6本発明の好適実施例では、2x
3または3x3のマトリックスを使用して生成すべき文
字の変換を行なっている。テキスト変換テーブル118
には、このマトリックスで使用されるデータ60Gが収
められている。ここで変換とは、回転、スケーリング、
並行移動といった操作を加えることである0本発明では
、「マトリック乗算による2次元変換」とも呼ばれてい
る手法を用いている。マトリックス乗算による2次元変
換とは、基本的には、2次元平面上の点のX%Y座標を
3xlマトリツクスの要素のうちの2要素として扱い、
そのマトリックスを2x3または3x3マトリツクスで
掛けることによってその点を変換する方法のことである
0点がどのように並行移動され、原点を中心として回転
され、その原点を基準にしてスケーリングされるかは、
2x3または3x3マトリツクスの値によって決まる。
マトリックス乗算の結果には、変換された点のXとY座
標が収容される。グラフィック・プリミティブを使用す
ると、各プリミティブのパラメータにこの手法を適用し
てからプリミティブ自体を実行させることによって、文
字または文字列を変換でとるという利点が得られる。マ
トリックス乗算による2次元変換手法は当業者に周知で
あり、Ne*manおよび5proul共著の”Pr1
nciples ofInteractive Gom
puter Graphics@(McGraw Hi
11発行、第2版1979年印刷)に説明されている。
標が収容される。グラフィック・プリミティブを使用す
ると、各プリミティブのパラメータにこの手法を適用し
てからプリミティブ自体を実行させることによって、文
字または文字列を変換でとるという利点が得られる。マ
トリックス乗算による2次元変換手法は当業者に周知で
あり、Ne*manおよび5proul共著の”Pr1
nciples ofInteractive Gom
puter Graphics@(McGraw Hi
11発行、第2版1979年印刷)に説明されている。
同書は本明細書の一部を構成するものである。なお、同
書の第4章にこの手法の説明がある。
書の第4章にこの手法の説明がある。
テキスト変換テーブル118には監視プログラム122
に入る前にデータを入れておき、各文字単位で変更が可
能である。また、このテーブルは、いくつかの文字から
なる流れに対してそのままにしておくことも可能である
。プログラマはいつでも変換データ600を変更できる
ことは勿論である。
に入る前にデータを入れておき、各文字単位で変更が可
能である。また、このテーブルは、いくつかの文字から
なる流れに対してそのままにしておくことも可能である
。プログラマはいつでも変換データ600を変更できる
ことは勿論である。
文字生成システムと方法の操作について、第1図および
第7図〜第11図を参照して以下説明することにする。
第7図〜第11図を参照して以下説明することにする。
すでに説明したように、本発明では、2つの部分、つま
り、監視プログラム122と描画プログラム124から
なるコンピュータ命令セットが使用されているが、まず
、監視プログラム122の動作について第1図と第7図
を参照して説明する。
り、監視プログラム122と描画プログラム124から
なるコンピュータ命令セットが使用されているが、まず
、監視プログラム122の動作について第1図と第7図
を参照して説明する。
まず、ブロック700で示すように、監視プログラム1
22は、フォント・カラーを現フォント保管テーブル!
12から読み取り、それをコンピュータのグラフィック
・プロセッサ102のカラー・レジスタに古き込むこと
によフて、フォント・カラーをセットする。このステッ
プは別の場所でも行なえるが、監視プログラム122内
で行なうのが望ましい、この個所でカラーをセットする
と、個々の文字列や文字を独自のカラーでセットできる
という利点がある。モノクローム・システムでは、この
情報は省くことも、反転表示といった機能をセットする
ために使用することも可能である。また、この情報は、
プリンタや印刷プロッタが使用される場合には、これら
の装置にカラー情報を与えるためにも使用できる。
22は、フォント・カラーを現フォント保管テーブル!
12から読み取り、それをコンピュータのグラフィック
・プロセッサ102のカラー・レジスタに古き込むこと
によフて、フォント・カラーをセットする。このステッ
プは別の場所でも行なえるが、監視プログラム122内
で行なうのが望ましい、この個所でカラーをセットする
と、個々の文字列や文字を独自のカラーでセットできる
という利点がある。モノクローム・システムでは、この
情報は省くことも、反転表示といった機能をセットする
ために使用することも可能である。また、この情報は、
プリンタや印刷プロッタが使用される場合には、これら
の装置にカラー情報を与えるためにも使用できる。
次に、ブロック702で示すように、監視プログラム1
22は、印刷すべき文字列内の文字数と文字列の先頭ア
ドレス(1文字だけが表示される場合はその文字のアド
レス)を取り出す0文字コードはCPU100(第1図
参照)に生成させることも、CP U 100経由で該
当する入力装置(キーボードなど)から受け取ることも
可能である。また、監視ルーチンを割込みで駆動させる
ことも可能である0本発明によれば、動作は文字コード
がどこから得られるかとは無関係である。
22は、印刷すべき文字列内の文字数と文字列の先頭ア
ドレス(1文字だけが表示される場合はその文字のアド
レス)を取り出す0文字コードはCPU100(第1図
参照)に生成させることも、CP U 100経由で該
当する入力装置(キーボードなど)から受け取ることも
可能である。また、監視ルーチンを割込みで駆動させる
ことも可能である0本発明によれば、動作は文字コード
がどこから得られるかとは無関係である。
次に、監視プログラムは最初の文字を取り出しくブロッ
ク704)、その文字コードがあらかじめプログラムさ
れたフォントの1つに居するものと認識可能であるかど
うかが判断される(ブロック706)、本実施例では、
これは、フォント内の文字数を現フォント保管テーブル
から読み取り、フォントがその文字数以下か同じである
かを判断することによって行なわれる。この操作では、
文字コードがゼロから始まり、そのフォントに用意され
ている最高文字コードまで連続しているものと想定して
いる。この想定が正しくないか、別の方法が望ましけれ
ば、文字は、文字索引テーブルにある有効な文字コード
と比較させることも可能である。それでも不十分な場合
は、別の文字コード・テーブルを作ることも、あるいは
他の公知方法を用いることも可能である。
ク704)、その文字コードがあらかじめプログラムさ
れたフォントの1つに居するものと認識可能であるかど
うかが判断される(ブロック706)、本実施例では、
これは、フォント内の文字数を現フォント保管テーブル
から読み取り、フォントがその文字数以下か同じである
かを判断することによって行なわれる。この操作では、
文字コードがゼロから始まり、そのフォントに用意され
ている最高文字コードまで連続しているものと想定して
いる。この想定が正しくないか、別の方法が望ましけれ
ば、文字は、文字索引テーブルにある有効な文字コード
と比較させることも可能である。それでも不十分な場合
は、別の文字コード・テーブルを作ることも、あるいは
他の公知方法を用いることも可能である。
文字コードがプログラムされたフォント内にないと認識
された場合は、文字列内の次の文字が取り出される(ブ
ロック708.710.704)、描画すべき文字がな
くなると、監視プログラムは終了する(ブロック708
,712) 、プログラムは、文字が認識不能である場
合に、エラー・フラッグをセットしたり、エラー文字を
印刷したり、別の望ましい処置をとったりするように簡
単に修正が可能である。
された場合は、文字列内の次の文字が取り出される(ブ
ロック708.710.704)、描画すべき文字がな
くなると、監視プログラムは終了する(ブロック708
,712) 、プログラムは、文字が認識不能である場
合に、エラー・フラッグをセットしたり、エラー文字を
印刷したり、別の望ましい処置をとったりするように簡
単に修正が可能である。
文字コードが認識された場合は、その文字コードは、フ
ォント索引テーブル用のオフセット・アドレス(FLI
Tオフセット・アドレス)を作るために使用される。こ
れを行なうために、プログラムは該当のフォント索引テ
ーブル(FLtlT)のベース・アドレスを現フォント
保管テーブルから読み取る。プログラムが読み取った文
字コードが値Nであったとすれば、プログラムはN番目
のデータ構造のアドレスをこのFLUTベース・アドレ
スから計算する。プログラムはこの計算で求めたアドレ
スを使用して、フォント索引テーブル内の所定文字に関
する情報を探し出す、 FLIITベース・アドレスは
グローバルに使用可能なメモリ域に保管されているので
、描画°プログラム(または他のプログラム)はそこか
らアドレスをアクセスできる。
ォント索引テーブル用のオフセット・アドレス(FLI
Tオフセット・アドレス)を作るために使用される。こ
れを行なうために、プログラムは該当のフォント索引テ
ーブル(FLtlT)のベース・アドレスを現フォント
保管テーブルから読み取る。プログラムが読み取った文
字コードが値Nであったとすれば、プログラムはN番目
のデータ構造のアドレスをこのFLUTベース・アドレ
スから計算する。プログラムはこの計算で求めたアドレ
スを使用して、フォント索引テーブル内の所定文字に関
する情報を探し出す、 FLIITベース・アドレスは
グローバルに使用可能なメモリ域に保管されているので
、描画°プログラム(または他のプログラム)はそこか
らアドレスをアクセスできる。
753図に示すFLITの実施例では、各文字のデータ
構造は6個の項目からなっている。従って、このテーブ
ルが使用されて、文字コード°02°が読み取られたと
すると、FLITのベース・アドレスは12項目だけオ
フセットさせる必要がある。
構造は6個の項目からなっている。従って、このテーブ
ルが使用されて、文字コード°02°が読み取られたと
すると、FLITのベース・アドレスは12項目だけオ
フセットさせる必要がある。
次に、ブロック716で示すように、監視プログラムは
描画プログラム124(これは詳しく下達する)を呼び
出す、監視プログラムは描画プログラムのアドレスをF
LUTから取り出す、2つ以上の方法を用いて文字列を
生成したい場合には、この方法によると、監視プログラ
ムが2つ以上の描画プログラムを使用できるという利点
が得られ・る0文字の描画が終ると、制御は監視プロゲ
ラ・ムに返される。文字列全体が印刷されると、監視プ
ログラムは終了する。印刷すべき文字が−まだ残ってい
る場合には、監視プログラムは次の文字を取り出し、文
字列全体が処理されるまでこの操作を繰り返すことにな
る。
描画プログラム124(これは詳しく下達する)を呼び
出す、監視プログラムは描画プログラムのアドレスをF
LUTから取り出す、2つ以上の方法を用いて文字列を
生成したい場合には、この方法によると、監視プログラ
ムが2つ以上の描画プログラムを使用できるという利点
が得られ・る0文字の描画が終ると、制御は監視プロゲ
ラ・ムに返される。文字列全体が印刷されると、監視プ
ログラムは終了する。印刷すべき文字が−まだ残ってい
る場合には、監視プログラムは次の文字を取り出し、文
字列全体が処理されるまでこの操作を繰り返すことにな
る。
監視プログラムは、文字列ポインタを使用することによ
って、印刷すべき文字を記憶している。
って、印刷すべき文字を記憶している。
このポインタは、文字が読み取られ、期待される文字列
の長さと比較されるたびに増分されるので、最後の文字
がいつ処理されたかを判断することができる。監視プロ
グラムはこのポインタとFLIITオフセット・アドレ
スをグローバル−時記憶域(temps tore)
に保管しておくので、これらを必要とする描画プログラ
ム124や他のプログラム、ルーチン、ハードウェア装
置に使用させることが可能である。
の長さと比較されるたびに増分されるので、最後の文字
がいつ処理されたかを判断することができる。監視プロ
グラムはこのポインタとFLIITオフセット・アドレ
スをグローバル−時記憶域(temps tore)
に保管しておくので、これらを必要とする描画プログラ
ム124や他のプログラム、ルーチン、ハードウェア装
置に使用させることが可能である。
次に、文字生成操作について、′:31図および第8図
〜第1!図を参照して説明する。
〜第1!図を参照して説明する。
すでに説明したように、システムは、システムのグラフ
ィック・プロセッサ102とのインタフェースとなるブ
リミテ・イブを実行することによって文字を表示装置1
04上に描画するものである。描画プログラム124は
、2つの部分から構成されるものと考えてよい、描画プ
ログラム124の最初の部分は、グラフィック・プリミ
ティブの実行を統御するものである。グラフィック・プ
リミティブは、下達するサブルーチン(GPCR)の使
用を通して実行される。この最初の部分の流れ図を示し
たのが第9図である。
ィック・プロセッサ102とのインタフェースとなるブ
リミテ・イブを実行することによって文字を表示装置1
04上に描画するものである。描画プログラム124は
、2つの部分から構成されるものと考えてよい、描画プ
ログラム124の最初の部分は、グラフィック・プリミ
ティブの実行を統御するものである。グラフィック・プ
リミティブは、下達するサブルーチン(GPCR)の使
用を通して実行される。この最初の部分の流れ図を示し
たのが第9図である。
描画プログラムの2番目の部分は、該当の変換およびグ
ラフツク・プリミティブ・ルーチンを呼び出して、これ
らの機能の実行に必要な該当パラメータを抜き出すサブ
ルーチン(グラフィック・プリミティブ呼出しルーチン
)の集りから構成されている。フォントを生成するため
に使用されるすべてのプリミティブごとにGPCRが用
意されている。これらのプリミティブとしては、線、ス
プライン曲線、円、矩形、塗りつぶし、楕円、単一ビク
セル、文字の終了(END OF CII八IへACT
ER)とイブた操作がある。どの幾何学的図形でもプリ
ミティブとして描画できることは勿論である。すでに述
べたように、プリミティブの変換と実行のために必要な
パラメータは、変換テーブル(第5図)と文字テーブル
(第4図)に収められている。
ラフツク・プリミティブ・ルーチンを呼び出して、これ
らの機能の実行に必要な該当パラメータを抜き出すサブ
ルーチン(グラフィック・プリミティブ呼出しルーチン
)の集りから構成されている。フォントを生成するため
に使用されるすべてのプリミティブごとにGPCRが用
意されている。これらのプリミティブとしては、線、ス
プライン曲線、円、矩形、塗りつぶし、楕円、単一ビク
セル、文字の終了(END OF CII八IへACT
ER)とイブた操作がある。どの幾何学的図形でもプリ
ミティブとして描画できることは勿論である。すでに述
べたように、プリミティブの変換と実行のために必要な
パラメータは、変換テーブル(第5図)と文字テーブル
(第4図)に収められている。
ブロック900で示すように、描画プログラム124は
まず該当の文字テーブル・アドレスをFLUTから取り
出し、そのアドレスのコピーをグローバルにアクセス可
能な一時記憶域に保管する。この保管されたデータは、
文字テーブルのポインタとして使用される。ブロック9
02で示すように、プログラムは次に文字テーブル内の
最初のGPCHのアドレスを読み取り、文字テーブルの
ポインタを次の項目を指すように更新し、ブロック90
4で示すように、ジャンプしてGPCRアドレスに移る
。 GPCRはサブルーチン呼出しとしてアクセスする
ことが望ましい。
まず該当の文字テーブル・アドレスをFLUTから取り
出し、そのアドレスのコピーをグローバルにアクセス可
能な一時記憶域に保管する。この保管されたデータは、
文字テーブルのポインタとして使用される。ブロック9
02で示すように、プログラムは次に文字テーブル内の
最初のGPCHのアドレスを読み取り、文字テーブルの
ポインタを次の項目を指すように更新し、ブロック90
4で示すように、ジャンプしてGPCRアドレスに移る
。 GPCRはサブルーチン呼出しとしてアクセスする
ことが望ましい。
第1O図は、代表的なGPCItの流れ図である。ブロ
ック1000で示すように、GPCRはまずパラメータ
・データを文字テーブルから読み取り、文字テーブル・
ポインタを更新する。すでに述べたように、GPCfl
は必要とする各プリミティブごとに1つ用意されている
。各GPCRには、プリミティブを実行するためにパラ
メータがいくつ必要であり、これらのパラメータをどこ
に入れるべきかが正確に知らされている。
ック1000で示すように、GPCRはまずパラメータ
・データを文字テーブルから読み取り、文字テーブル・
ポインタを更新する。すでに述べたように、GPCfl
は必要とする各プリミティブごとに1つ用意されている
。各GPCRには、プリミティブを実行するためにパラ
メータがいくつ必要であり、これらのパラメータをどこ
に入れるべきかが正確に知らされている。
次に、ブロック1002において、 GPCRはすべて
の座標にカーソル・ボジシBンを加えて、描画された文
字が画面上の正しい位置(指定された位置)に置かれる
ようにする。
の座標にカーソル・ボジシBンを加えて、描画された文
字が画面上の正しい位置(指定された位置)に置かれる
ようにする。
次に、ブロック1004において、文字ベース・オフセ
ット304がフォント索引テーブル1114から読み取
られ、基準線から下に延びた文字が正しく並ぶように現
カーソルYポジションから差し引かれる。これを分かり
やすくしたのが第8図である。
ット304がフォント索引テーブル1114から読み取
られ、基準線から下に延びた文字が正しく並ぶように現
カーソルYポジションから差し引かれる。これを分かり
やすくしたのが第8図である。
英字”b”がセル800内にその基準線802と共に示
されている。同図から明らかなように、英字”q”は英
字”b”で使用されている基準線802よりも下にある
(この基準線は通常大部分の文字で使用される)、大部
分の文字では、現Yカーソル・ポジションは基準線の位
置にある。カーソルを下方からスタートさせるためには
、FLtlT内の”q“データ構造からのベース・オフ
セットが現Yカーソル・ポジションから差し引かれる。
されている。同図から明らかなように、英字”q”は英
字”b”で使用されている基準線802よりも下にある
(この基準線は通常大部分の文字で使用される)、大部
分の文字では、現Yカーソル・ポジションは基準線の位
置にある。カーソルを下方からスタートさせるためには
、FLtlT内の”q“データ構造からのベース・オフ
セットが現Yカーソル・ポジションから差し引かれる。
これにより、英字“q“の下縁はオフセットしていない
文字より下に現れることになる。
文字より下に現れることになる。
次に、ブロック1006において、GPCRは変換プロ
グラムを実行する。変換プログラムはそのデータをテキ
スト変換テーブル1118から取り出す、別の方法とし
て、GPCBはデータをテキスト変換テーブルから取り
出し、それを変換プログラムに渡すようにすることも可
能である。コーディング作業を少なくするために、変換
プログラムはサブルーチン呼出しとして実行させること
が望ましい。
グラムを実行する。変換プログラムはそのデータをテキ
スト変換テーブル1118から取り出す、別の方法とし
て、GPCBはデータをテキスト変換テーブルから取り
出し、それを変換プログラムに渡すようにすることも可
能である。コーディング作業を少なくするために、変換
プログラムはサブルーチン呼出しとして実行させること
が望ましい。
変換プログラムは、プリミティブのパラメータに)条件
を加えて(これらのパラメータはGPCRから受け取る
)、その操作を加えたパラメータをグローバルにアクセ
ス可能な記憶域に保管する。
を加えて(これらのパラメータはGPCRから受け取る
)、その操作を加えたパラメータをグローバルにアクセ
ス可能な記憶域に保管する。
次に、ブロック1008において、GPCRはそれが定
義されているl(好ましくは、サブルーチン呼出しによ
って)プリミティブ・プログラムを実行する。前述した
ように、GPCRはプリミティブ・プログラムが探し出
すと予想される、またはその必要がある場所(例えば、
メモリ内の特定の記憶位置)に、変換されたパラメータ
を保管する。第1図に示すように、プリミティブ・プロ
グラム128が実行されると、システムのグラフィック
・コントローラ102はプリミティブをマツピング表示
装置104上に描画する。そのあと、描画プログラムの
最初の部分に再び入る(1010)(好ましくは、戻り
コマンドを使用することによって)。
義されているl(好ましくは、サブルーチン呼出しによ
って)プリミティブ・プログラムを実行する。前述した
ように、GPCRはプリミティブ・プログラムが探し出
すと予想される、またはその必要がある場所(例えば、
メモリ内の特定の記憶位置)に、変換されたパラメータ
を保管する。第1図に示すように、プリミティブ・プロ
グラム128が実行されると、システムのグラフィック
・コントローラ102はプリミティブをマツピング表示
装置104上に描画する。そのあと、描画プログラムの
最初の部分に再び入る(1010)(好ましくは、戻り
コマンドを使用することによって)。
次のプリミティブ・アドレスが次に実行され、このサイ
クルは繰り返される。文字テーブル400(各文字用の
)の最後のアドレスは文字の終りプリミティブに対する
ものである(7511図)0文字の終りプリミティブが
実行されると、カーソル・ポジションは、文字FLtl
T構造内の項目1と2から読み取られたX%Y増分で更
新され(ブロック1100) 、監視プログラムに戻る
ことになる。特に重要なことは、文字の終りプリミティ
ブが実行されると、描画プログラムが終了し、制御梧1
102が監視プログラム122に返却されて次の文字の
生成が可能になることである。
クルは繰り返される。文字テーブル400(各文字用の
)の最後のアドレスは文字の終りプリミティブに対する
ものである(7511図)0文字の終りプリミティブが
実行されると、カーソル・ポジションは、文字FLtl
T構造内の項目1と2から読み取られたX%Y増分で更
新され(ブロック1100) 、監視プログラムに戻る
ことになる。特に重要なことは、文字の終りプリミティ
ブが実行されると、描画プログラムが終了し、制御梧1
102が監視プログラム122に返却されて次の文字の
生成が可能になることである。
上述した実施例では、現フォント保管テーブル112に
保管されているカーソル・ポジションは「名目上の」カ
ーソル・ポジションであり、これは必ずしも各文字が表
示される位置に対応していない。これは、変換プログラ
ムが動作して、必要とする並行移動、スケーリングまた
は回転を行なう前に文字が表示される位置に対応してい
る。
保管されているカーソル・ポジションは「名目上の」カ
ーソル・ポジションであり、これは必ずしも各文字が表
示される位置に対応していない。これは、変換プログラ
ムが動作して、必要とする並行移動、スケーリングまた
は回転を行なう前に文字が表示される位置に対応してい
る。
テキスト変換テーブル1118は、ある文字が表示され
てから次の文字が表示されるまでの間に変更が可能であ
る0例えば、各文字をカーソル・ポジションに対応する
中心点を中心にして10度だけ回転させてからその文字
を表示したい場合は、テキスト変換テーブルから取り出
される回転中心は、変換プログラムを実行させる前に、
現カーソル・ポジションを用いて更新することができる
。
てから次の文字が表示されるまでの間に変更が可能であ
る0例えば、各文字をカーソル・ポジションに対応する
中心点を中心にして10度だけ回転させてからその文字
を表示したい場合は、テキスト変換テーブルから取り出
される回転中心は、変換プログラムを実行させる前に、
現カーソル・ポジションを用いて更新することができる
。
変換操作の開発過程で、各文字の中心に対応する中心を
基準にした回転またはスケーリングを行なうことができ
る。これを行なうために、各文字に対応するフォント索
引テーブル項目は、初期カーソル・ポジションを基準に
したその文字の中心位置を示すデータが含まれるように
拡張される。従フて、変換プログラムを実行させる前に
、現カーソル・ポジションおよびそのカーソル・ポジシ
ョンを基準にした文字の中心位置を用いてテキスト変換
テーブルを、文字の中心点を中心にした回転またはスケ
ーリングが行なわれるように更新することができる。
基準にした回転またはスケーリングを行なうことができ
る。これを行なうために、各文字に対応するフォント索
引テーブル項目は、初期カーソル・ポジションを基準に
したその文字の中心位置を示すデータが含まれるように
拡張される。従フて、変換プログラムを実行させる前に
、現カーソル・ポジションおよびそのカーソル・ポジシ
ョンを基準にした文字の中心位置を用いてテキスト変換
テーブルを、文字の中心点を中心にした回転またはスケ
ーリングが行なわれるように更新することができる。
上述した実施例に代わる方法として、1つまたは複数の
文字テーブルをまずメモリまたは記憶装買から読み取っ
て、それをグローバル・メモリまたは一時記f、11装
置a120に入れてから実行させることも可能である。
文字テーブルをまずメモリまたは記憶装買から読み取っ
て、それをグローバル・メモリまたは一時記f、11装
置a120に入れてから実行させることも可能である。
この方法が行なわれるケースとしては、文字テーブルが
低速のアクセス・メモリ(例えば、2次元メモリ)また
は記憶装置(例えば、フロッピ)に保管されていて、実
際の実行は高速のメモリ(例えば、スタチックRAM)
から行なう必要がある場合がある。この場合には、文字
の終りアドレス410を文字テーブル400の最後に置
く代わりに、プログラムが文字テーブル内の項目数を記
憶していて、項目数が文字テーブルの長さ(これはFL
IIT文字構造内の項目5から読み取られる)と一致す
るまで項目を一時記↑n装置に入れ続けることになる。
低速のアクセス・メモリ(例えば、2次元メモリ)また
は記憶装置(例えば、フロッピ)に保管されていて、実
際の実行は高速のメモリ(例えば、スタチックRAM)
から行なう必要がある場合がある。この場合には、文字
の終りアドレス410を文字テーブル400の最後に置
く代わりに、プログラムが文字テーブル内の項目数を記
憶していて、項目数が文字テーブルの長さ(これはFL
IIT文字構造内の項目5から読み取られる)と一致す
るまで項目を一時記↑n装置に入れ続けることになる。
その時点で、プログラムはENDOF CIIARAC
TERアドレスを文字データの終りに挿入することにな
る。FLIIT情報がいったん一時記憶装置にロードさ
れると、プログラムは最初の実施例で上述した通りに、
−時記憶装面の先頭から情報の読取りを始める。
TERアドレスを文字データの終りに挿入することにな
る。FLIIT情報がいったん一時記憶装置にロードさ
れると、プログラムは最初の実施例で上述した通りに、
−時記憶装面の先頭から情報の読取りを始める。
本発明は、棒線側の描画に限定されるものではない。他
のプリミティブを塗りつぶしプリミティブと併用すれば
、任意の幅とカラーをもつ文字を描画することも可能で
ある6例えば、英字”i”を描画する場合は、矩形と円
に対するプリミティブ・ルーチンが使用できる(つまり
、矩形の上に円を描くことができる)。r塗りつぶし」
プリミティブを次に使用すれば、前記プリミティブで描
画された2つの形状を塗りつぶすことができる。
のプリミティブを塗りつぶしプリミティブと併用すれば
、任意の幅とカラーをもつ文字を描画することも可能で
ある6例えば、英字”i”を描画する場合は、矩形と円
に対するプリミティブ・ルーチンが使用できる(つまり
、矩形の上に円を描くことができる)。r塗りつぶし」
プリミティブを次に使用すれば、前記プリミティブで描
画された2つの形状を塗りつぶすことができる。
この塗りつぶしプリミティブが他のプリミティブと異な
るのは、それが実際に表示メモリに入れられて、塗りつ
ぶすべぎ多角形の輪郭を決め、そのあと特定の点から始
まってその多角形を特定のカラーで塗りつぶして行くか
らである。塗りつぶされた幾何学的形状(・例:塗りつ
ぶされた矩形や塗りつぶされた円)を直接に描画するプ
リミティブを使用して、2次元文字を生成することも可
能であることは勿論である。
るのは、それが実際に表示メモリに入れられて、塗りつ
ぶすべぎ多角形の輪郭を決め、そのあと特定の点から始
まってその多角形を特定のカラーで塗りつぶして行くか
らである。塗りつぶされた幾何学的形状(・例:塗りつ
ぶされた矩形や塗りつぶされた円)を直接に描画するプ
リミティブを使用して、2次元文字を生成することも可
能であることは勿論である。
上述した説明から理解されるように、本発明によれば、
単に文字を事前に記憶されたビット・パターンに基づい
て描画または印刷するのではなく、文字を実時間で生成
することができる。上述した各種実施例は、種々変更お
よび改善ができることは勿論である0例えば、GPCf
lを省略して、文字テーブルに文字生成のために使用さ
れるグラフィック・プリミティブ・プログラムを直接的
に識別するデータを収めておくことが可能である。
単に文字を事前に記憶されたビット・パターンに基づい
て描画または印刷するのではなく、文字を実時間で生成
することができる。上述した各種実施例は、種々変更お
よび改善ができることは勿論である0例えば、GPCf
lを省略して、文字テーブルに文字生成のために使用さ
れるグラフィック・プリミティブ・プログラムを直接的
に識別するデータを収めておくことが可能である。
さらに、テキスト変換機能やベース・オフセット変更機
能は、プログラマがこれらの機能の使用を望まなければ
、省くことも可能である。さらに、グラフィック・プリ
ミティブは、適当なハードウェアやファームウェアであ
るいはソフトウェアで実行させることも可能である。従
って、上述した各種好適実施例は本発明を限定するもの
ではなく、単なる例として示したものにすぎないことは
、勿論である。
能は、プログラマがこれらの機能の使用を望まなければ
、省くことも可能である。さらに、グラフィック・プリ
ミティブは、適当なハードウェアやファームウェアであ
るいはソフトウェアで実行させることも可能である。従
って、上述した各種好適実施例は本発明を限定するもの
ではなく、単なる例として示したものにすぎないことは
、勿論である。
第1図は本発明に係るシステムの概要図、第2図は現フ
ォント保管テーブルのメモリマツプを示した図、 第3図はフォント索引テーブルのメモリ・マツプを示し
た図、 第4図は単一文字に対する文字テーブルのメモリ・マツ
プを示した図、 第5図は英字”B”に対する文字テーブル項目の例を示
した図、 第6図はテキスト変換テーブルのメモリ・マツプを示し
た図、 第7図は描画監視プログラムの流れ図、第8図は英字“
q”のプリミティブ構造の例を示した図、 ii 9図は描画プログラムの監視共通部分の流れ図、 第1θ図は代表的なグラフィック呼出しルーチンの流れ
図、 第11図は文字の終りルーチンの流れ図である。 ・・・CPU。 ・・・グラフィック・プロセッサ、 ・・・マツピング表示装置、 ・・・入出力装置とコントローラ、 ・・・グローバル・メモリ、 ・・・プログラム・メモリ、 112・・・現フォント保管テーブル、+14・・・フ
ォント索引テーブル、 118・・・文字テーブル、 118・・・テキスト変換テーブル、 120・・・−時記憶域、 122・・・監視プログラム、 124・・・描画プログラム、 126・・・グラフィック・プリミティブ、200・・
・現テキスト・カラー 202・・・カーソル゛X゛ポジション、204・・・
カーソル°Y゛ポジション、206・・・テキスト変1
^テーブル・アドレス、208・・・フォント索弓Iテ
ーブル・アドレス、210・・・選択されたフォント、 300.302−・・カー’))VX’ と゛Y′増分
、304・・・ベース・オフセット、 306・・・文字テーブルの長さ、 308・・・文字テーブルの先頭アドレス、310・・
・描画プログラムのアドレス、400・・・文字テーブ
ル、 402.404,406・・・中間ルーチンのアドレス
、408・・・パラメータ・リスト、 410・・・文字の終りプリミティブのアドレス、50
2・・・GPCnのアドレス、 504・・・始点と終点パラメータ、 505.508・・・項目、 510・・・中心点、 5!2・・・半径、 514・・・始点、 516・・・終点、 600・・・変換データ、 700.702,704,706,708,710,7
12,716,900,902.9’04.1000,
1002.1004.+006,1008,1010,
1100,1102゜1118・・・ブロック、 800・・・セル、 802・・・基準線。 第 図 第 図 第 図 第 図 第 図 第 図 第 図 第11 第10図
ォント保管テーブルのメモリマツプを示した図、 第3図はフォント索引テーブルのメモリ・マツプを示し
た図、 第4図は単一文字に対する文字テーブルのメモリ・マツ
プを示した図、 第5図は英字”B”に対する文字テーブル項目の例を示
した図、 第6図はテキスト変換テーブルのメモリ・マツプを示し
た図、 第7図は描画監視プログラムの流れ図、第8図は英字“
q”のプリミティブ構造の例を示した図、 ii 9図は描画プログラムの監視共通部分の流れ図、 第1θ図は代表的なグラフィック呼出しルーチンの流れ
図、 第11図は文字の終りルーチンの流れ図である。 ・・・CPU。 ・・・グラフィック・プロセッサ、 ・・・マツピング表示装置、 ・・・入出力装置とコントローラ、 ・・・グローバル・メモリ、 ・・・プログラム・メモリ、 112・・・現フォント保管テーブル、+14・・・フ
ォント索引テーブル、 118・・・文字テーブル、 118・・・テキスト変換テーブル、 120・・・−時記憶域、 122・・・監視プログラム、 124・・・描画プログラム、 126・・・グラフィック・プリミティブ、200・・
・現テキスト・カラー 202・・・カーソル゛X゛ポジション、204・・・
カーソル°Y゛ポジション、206・・・テキスト変1
^テーブル・アドレス、208・・・フォント索弓Iテ
ーブル・アドレス、210・・・選択されたフォント、 300.302−・・カー’))VX’ と゛Y′増分
、304・・・ベース・オフセット、 306・・・文字テーブルの長さ、 308・・・文字テーブルの先頭アドレス、310・・
・描画プログラムのアドレス、400・・・文字テーブ
ル、 402.404,406・・・中間ルーチンのアドレス
、408・・・パラメータ・リスト、 410・・・文字の終りプリミティブのアドレス、50
2・・・GPCnのアドレス、 504・・・始点と終点パラメータ、 505.508・・・項目、 510・・・中心点、 5!2・・・半径、 514・・・始点、 516・・・終点、 600・・・変換データ、 700.702,704,706,708,710,7
12,716,900,902.9’04.1000,
1002.1004.+006,1008,1010,
1100,1102゜1118・・・ブロック、 800・・・セル、 802・・・基準線。 第 図 第 図 第 図 第 図 第 図 第 図 第 図 第11 第10図
Claims (1)
- 【特許請求の範囲】 1)文字セット内の文字を識別する文字コード・データ
を受け取る手段と、 複数の異なる形状を表現する異なるグラフィック・プリ
ミティブのセット内の少なくとも1つのグラフィック・
プリミティブを識別することにより、前記文字コード・
データで識別された文字を構成するためのデータと、前
記文字内の識別された前記または各グラフィック・プリ
ミティブのサイズと配置を示すデータとを、受け取られ
た文字データ・コードごとに用意する手段と、 プリミティブ識別データで識別された1つまたは複数の
グラフィック・プリミティブから前記文字を、サイズお
よび配置を示すデータで示されたサイズと配置で生成す
る手段と 2)サイズおよび配置を示すデータを、前記サイズおよ
び配置を示すデータが文字を生成する手段に渡される前
に、テキスト変換データに従って変換する手段を、さら
に具えたことを特徴とする請求項1記載の文字生成装置
。 3)前記文字が文字を生成する手段によって生成された
あとカーソルのポジションを更新するための手段を、さ
らに具えたことを特徴とする請求項2記載の文字生成装
置。 4)前記文字を文字を生成する手段によって特定位置に
生成させるための手段を、さらに具えたことを特徴とす
る請求項3記載の文字生成装置。 5)文字を特定位置に生成させるための手段が前記特定
位置を文字を生成する手段に指示するようにサイズおよ
び配置を示すデータを修正するための手段を、さらに具
えたことを特徴とする請求項4記載の文字生成装置。 6)前記文字が文字を生成する手段によって生成された
あと、次の文字の文字コード・データを文字データを受
け取る手段に受け取らせるための手段を、さらに具えた
ことを特徴とする請求項3記載の文字生成装置。 7)文字セット内の文字を識別する文字コード・データ
を受け取る手段と、 少なくとも1つのグラフィック・プリミティブに対する
サイズおよび配置データを、前記文字データ・コードに
従って読取るための手段と、サイズおよび配置データを
カーソル・ポジション・データによる指定に従って修正
するための手段と、 グラフィック・プリミティブを修正されたサイズおよび
配置データに従って生成するための手段と を具えたことを特徴とする文字生成装置。 8)サイズおよび配置データを修正するための手段によ
って使用されたカーソル・ポジション・データを修正す
るための手段を、さらに具えたことを特徴とする請求項
7記載の文字生成装置。 9)カーソル・ポジション・データを修正するための手
段によって使用されたカーソル・ポジション・データを
、ベース・オフセット値の変化に応じて変更するための
手段を、さらに具えたことを特徴とする請求項8記載の
文字生成装置。 10)修正されたサイズおよび配置データがグラフィッ
ク・プリミティブを生成するための手段に渡される前に
、前記修正されたサイズおよび配置データをテキスト変
換データに従つて変換するための手段を、さらに具えた
ことを特徴とする請求項7記載の文字生成装置。 11)変換するための手段は、前記修正されたサイズお
よび配置データを、マトリックス乗算による2次元変換
に従って変換する手段を具えたことを特徴とする請求項
10記載の文字生成装置。 12)グラフィック・プリミティブを順次に生成させて
、特定の文字を形成する手段を、さらに具えたことを特
徴とする請求項7記載の文字生成装置。 13)特定の文字が生成されたあと、現カーソル・ポジ
ションをカーソル増分データに従って更新するための手
段を、さらに具えたことを特徴とする請求項12記載の
文字生成装置。 14)修正するための手段または変換するための手段は
テーブルに収められている値を使用するようにした請求
項7または10記載の文字生成装置。 15)グラフィック・プロセッサ手段と、 該グラフィック・プロセッサ手段に接続されたマッピン
グ表示装置手段と、 プログラム・メモリ手段と、 前記グラフィック・プロセッサ手段に少なくとも1つの
所定の形状を前記マッピング表示装置手段上に描画させ
るための少なくとも1つのグラフィック・プリミティブ
・プログラムと、 該プログラム・メモリ手段に常駐していて、少なくとも
1つのグラフィック・プリミティブ・プログラムの実行
を統御するための描画プログラム手段と を具え、文字をマッピング表示装置手段上に生成するよ
うにしたことを特徴とするグラフィック・プリミティブ
を用いて文字を実時間で生成する装置。 16)前記プログラム・メモリ手段に常駐していて、文
字コード・データを受け取り、先頭アドレスを描画プロ
グラムに知らせることによって、少なくとも1つのグラ
フィック・プリミティブ・プログラムを受け取った文字
コード・データに従って実行させるための監視プログラ
ムを、さらに具えたことを特徴とする請求項15記載の
装置。 17)さらに、少なくとも1つの所定形状をテキスト変
換データに従って変換するための変換手段を更に備え、
もって生成された文字を回転および/またはスケーリン
グおよび/または並行移動された形状でマッピング表示
装置手段に表示するようにしたことを特徴とする請求項
15記載の装置。 18)テキスト変換データを変換手段に渡すためのメモ
リ手段を、さらに具えたことを特徴とする請求項17記
載の装置。 19)グラフィック・プリミティブを用いて文字を生成
してビジュアル表示装置に表示するためのコンピュータ
をベースとした方法であって、 文字コード・データを読み取るステップ(1)と、 文字コード・データで指定された文字をビット・マップ
表示装置上に生成するために必要なグラフィック・プリ
ミティブをコンピュータに実行させるステップ(2)と を含むコンピュータをベースとしたことを特徴とする方
法。 20)前記ステップ(1)と(2)の間に、文字を生成
するために必要なグラフィック・プリミティブ・リスト
をコンピュータに渡すステップ(3)をさらに含むこと
を特徴とする請求項19記載のコンピュータをベースと
した方法。 21)前記ステップ(3)は、文字を生成するために必
要なグラフィック・プリミティブを実行するプログラム
の先頭アドレス・リストをコンピュータに渡すステップ
を含むことを特徴とする請求項20記載のコンピュータ
をベースとした方法。 22)前記ステップ(3)は、更に、グラフィック・プ
リミティブを実行するために必要なパラメータ・リスト
をコンピュータに渡すステップを含むことを特徴とする
請求項21記載のコンピュータをベースとした方法。 23)パラメータ・リストをコンピュータに渡すステッ
プは、グラフィック・プリミティブのサイズおよび配置
を示すデータを渡すステップを含むことを特徴とする請
求項22記載のコンピュータをベースとした方法。 24)パラメータ・リストをコンピュータに渡すステッ
プは、コンピュータに渡されたパラメータを変換するス
テップからなり、もって各グラフィック・プリミティブ
を、文字が回転および/または並行移動および/または
スケーリングされるように変換するようにしたことを特
徴とする請求項23記載のコンピュータをベースとした
方法。 25)前記ステップ(2)は、更に、少なくとも1つの
グラフィック・プリミティブを特定のカラーで塗りつぶ
すステップを含むことを特徴とする請求項19記載のコ
ンピュータをベースとした方法。 26)ビット・マップ表示装置を使用するコンピュータ
文字ジェネレータであって、各文字のビット・マップを
式化して当該文字を表示することを特徴とするジェネレ
ータ。 27)文字セット内の文字を識別する文字コード・デー
タを受け取る手段と、 異なるグラフィック・プリミティブのセット内の少なく
とも1つのグラフィック・プリミティブを識別すること
により、前記文字コード・データで識別された文字を構
成するためのデータと、前記文字内の識別された前記ま
たは各グラフィック・プリミティブのサイズと配置を示
すデータとを、受け取られた文字データ・コードごとに
用意する手段と、 プリミティブ識別データで識別された1つまたは複数の
グラフィック・プリミティブから前記文字を、サイズお
よび配置を示すデータで示されたサイズと配置で生成す
る手段と、サイズおよび配置を示すデータを、前記サイ
ズおよび配置を示すデータが文字を生成する手段に渡さ
れる前に、テキスト変換データに従つて変換する手段と
、 前記文字が文字を生成する手段によって生成されたあと
カーソルのポジションを更新するための手段と、 前記文字を文字を生成する手段によって特定位置に生成
させるための手段と、 文字を特定位置に生成させるための手段が前記特定位置
を文字を生成する手段に指示するようにサイズおよび配
置を示すデータを修正するための手段と、 前記文字が文字を生成する手段によって生成されたあと
、次の文字の文字コード・データを文字データを受け取
る手段に受け取らせるための手段とを具えた文字生成装
置において、前記変換手段は修正されたサイズおよび配
置データをマトリックス乗算による2次元変換に従って
変換する手段を具えたことを特徴とする文字生成装置。 28)文字セット内の文字を識別する文字コードを受け
取る手段と、 前記文字コードで識別された前記文字を形成する際に実
行される少なくとも1つのグラフィック・プリミティブ
・ルーチンの先頭アドレスと、グラフィック・プリミテ
ィブ・ルーチンによって使用されるサイズと配置データ
とを該文字コード用に収めているテーブルを保管するた
めのテーブル・メモリ手段と、 複数の前記グラフィック・プリミティブ・ルーチンをそ
れぞれの先頭アドレスから保管しておくためのルーチン
・メモリ手段と、 前記文字コードの入力を受けて動作して、該受け取った
文字コード用の各グラフィック・プリミティブ・ルーチ
ンの先頭アドレスを表すデータを前記テーブル・メモリ
手段から取り出すと共に、前記取り出した先頭アドレス
から開始するグラフィック・プリミティブ・ルーチンを
実行させる制御手段と を具え、各グラフィック・プリミティブ・ルーチンは、
該文字コードとそれぞれのグラフィック・プリミティブ
・ルーチンに対応するテーブル・メモリ手段から取り出
したサイズおよび配置データを読み取ると共に、それぞ
れの形状およびサイズと配置のグラフィック・プリミテ
ィブを読み取ったサイズと配置データに従って形成する
ように動作可能であることを特徴とする文字生成装置。
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB8801125 | 1988-01-19 | ||
| GB8801125A GB2214676A (en) | 1988-01-19 | 1988-01-19 | Character generation |
| US28607188A | 1988-12-19 | 1988-12-19 | |
| US286071 | 1994-08-04 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH023091A true JPH023091A (ja) | 1990-01-08 |
Family
ID=26293339
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1010952A Pending JPH023091A (ja) | 1988-01-19 | 1989-01-19 | 文字生成装置および方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH023091A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010504559A (ja) * | 2006-09-20 | 2010-02-12 | アドビ システムズ, インコーポレイテッド | グリフのレンダリング及びエンコーディング |
-
1989
- 1989-01-19 JP JP1010952A patent/JPH023091A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010504559A (ja) * | 2006-09-20 | 2010-02-12 | アドビ システムズ, インコーポレイテッド | グリフのレンダリング及びエンコーディング |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5280577A (en) | Character generation using graphical primitives | |
| US5241653A (en) | Apparatus and method for adjusting and displaying scaled, rasterized characters | |
| EP0356103A2 (en) | Scan-conversion process and processor | |
| US5021974A (en) | Method for updating a display bitmap with a character string or the like | |
| US6005588A (en) | System and method for rapidly displaying text in a graphical user interface | |
| US6151032A (en) | Stroke-based glyph-outline font generation in low/high resolution space | |
| KR101159320B1 (ko) | 폰트-힌팅 언어를 이용한 제한들의 반복적인 솔루션 | |
| JP2761890B2 (ja) | 線発生装置及びディスプレイ装置 | |
| US5537131A (en) | Character generating method and apparatus | |
| CA2023832C (en) | Method and apparatus for filing contours in digital typefaces | |
| JPH023091A (ja) | 文字生成装置および方法 | |
| JPH02270019A (ja) | 高品質文字パターン発生方式 | |
| EP0062669A1 (en) | GRAPHIC IMAGE AND TEXT GENERATOR FOR A SCANNING SCANNING DISPLAY. | |
| EP0325409A2 (en) | Character generation | |
| US5659336A (en) | Method and apparatus for creating and transferring a bitmap | |
| JP3146771B2 (ja) | フォントラスタライズ装置およびその方法 | |
| JPS63217394A (ja) | 文字輪郭線生成方式 | |
| JP2710350B2 (ja) | 画像処理装置および画像処理装置の画像処理方法 | |
| JP2835056B2 (ja) | 高品質文字パターン発生方式 | |
| JP3035973B2 (ja) | 文字出力装置 | |
| JP3040624B2 (ja) | パターン発生装置 | |
| JP2698348B2 (ja) | 文字処理装置 | |
| JP3082391B2 (ja) | 画像処理装置 | |
| JP3320566B2 (ja) | 文字記号変換装置、及びプリンタ | |
| JPH0950272A (ja) | アウトラインフォント生成方法およびアウトラインフォント生成装置 |