JPH023091A - Apparatus and method for generating character - Google Patents
Apparatus and method for generating characterInfo
- 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
Description
【発明の詳細な説明】
[産業上の利用分野]
本発明は文字の生成に関し、更に具体的には、広い概念
において、マツピング図形(グラフィック)表示装置を
使用してデジタル・コンピュータ・システムで文字を生
成して表示する装置と方法に関するものである。DETAILED DESCRIPTION OF THE INVENTION FIELD OF INDUSTRIAL APPLICATION This invention relates to the generation of characters, and more specifically, in broad terms, to the generation of characters on a digital computer system using a mapping graphical display. The present invention relates to an apparatus and method for generating and displaying.
[従来の技術]
マツピング図形(グラフィック)表示装置を使用してコ
ンピュータ・システムで文字を生成する方法は、現在様
々なものが知られている0文字フォントは、任意のサイ
ズとフェースをもつ文字のセットであるが、ある種のコ
ンピュータはこのフォントを1つしか使用していない、
また、他のコンピュータでは、操作員またはプログラマ
がいくつかのフォントの中から1つを選択できるように
なっている。さらに、マツピング図形表示装置が出現し
たことにより、コンピュータが様々なフォント・タイプ
を生成して、それを1つのイメークの中に表示できるよ
うになっている。[Prior Art] A method for generating characters in a computer system using a mapping graphic display device is a method for generating characters in a computer system, of which various types are currently known. set, but some computers use only one of these fonts,
Other computers allow the operator or programmer to select one of several fonts. Additionally, the advent of mapping graphics displays allows computers to generate a variety of font types and display them within a single image.
「マツピング」という用語は、データを表示メモリに記
憶し、アクセスする方法のことである。The term "mapping" refers to a method of storing and accessing data in display memory.
例えば、ビット・マツピング表示装置では、ビデオ画面
はピクセルの配列と考えることができる。For example, in a bit mapping display device, the video screen can be thought of as an array of pixels.
ある画面が100個のピクセル(縦方向) x 100
個のピクセル(811方向)からなる場合、メモリの記
憶位置は画面上のピクセルの個数に対応して10.00
0個になる。メモリの各記憶位置を表示装置の画面上の
ある特定のピクセル位置と対応づけることを、「マツピ
ング」すると言われている。A certain screen has 100 pixels (vertical direction) x 100
pixels (in 811 directions), the memory storage location corresponds to the number of pixels on the screen.
It becomes 0 pieces. The association of each storage location in memory with a particular pixel location on the screen of a display device is referred to as "mapping."
文字を表現する1つの方法として、文字ビット・マップ
を使用する方法がある。この文字ビット・マップの処理
は、各文字のタイプ、サイズおよびフェースを表すパタ
ーンをメモリのあるセクション(「文字メモリ」とも呼
ばれる)に記憶することによって行なわれる0表示また
は印刷される各文字は、2次元のピクセル・マトリック
ス(「セルjとも呼ばれる)内に存在するものと考える
ことができる。セルを表すビット・パターンは文字メモ
リに記憶される。ある文字フォントの生成は、ビット・
パターンの集りを文字メモリに記憶することによつて行
なわれるのが代表的である。このビット・パターンの集
りには、英字、数字および句読点などの文字の他に、常
用されるある種の記号が含まれているのが普通である。One way to represent characters is to use character bit maps. Processing of this character bit map is accomplished by storing a pattern representing each character's type, size, and face in a section of memory (also called "character memory"). Each character that is displayed or printed is It can be thought of as existing in a two-dimensional pixel matrix (also called "cell j"). The bit patterns representing the cells are stored in character memory.
This is typically done by storing a collection of patterns in character memory. This collection of bit patterns typically includes characters such as letters, numbers, and punctuation marks, as well as certain commonly used symbols.
ある文字のrビット・マップ」がr文字メモリ」に記憶
されたあと、そのビット・マップは所望の順序で画面に
送る必要がある。つまり、ビット・マップ情報を何らか
の方法で使用して、必要とする文字配列に形成して、そ
れが単語や文、あるいは他の構造として認識できるよう
にする必要がある。この転送を行なう方法として、いく
つかが知られている。After the r bitmaps of a character are stored in the rcharacter memory, the bitmaps must be sent to the screen in the desired order. That is, the bit map information must be used in some way to form the desired sequence of characters so that it can be recognized as a word, sentence, or other structure. Several methods are known for performing this transfer.
その1つとして、「ブロック複写」操作を使用してビッ
ト・マップを文字メモリから表示装置に転送する方法が
ある0文字を転送すると鮒、中央IA理装置(CPU)
は文字のビット・マップを文、字メモリから読み取る0
次に、CPUは文字ビット・マップを表示メモリ・ドラ
イバ回路に書き出し、このドライバ回路からそのビット
・マップが表示メモリに転送される。One method is to use a "block copy" operation to transfer a bit map from character memory to a display device.
reads a bit map of characters from character memory.
The CPU then writes the character bit map to the display memory driver circuit, which transfers the bit map to the display memory.
ビット・マップ情報を転送する別の公知方法は、表示ド
ライバを使用して文字ビット・マップを直接的にメモリ
から取り出すものである。この方法によるときは、CP
tTは文字出力命令と文字ビット・マップの先頭アドレ
スを表示ドライバに渡し、これを受けて表示ドライバが
直接にビット・マップを取り出して、それを表示メモリ
に書き出している。Another known method of transferring bit map information is to use a display driver to retrieve character bit maps directly from memory. When using this method, CP
tT passes the character output command and the start address of the character bit map to the display driver, and in response to this, the display driver directly takes out the bit map and writes it to the display memory.
ビット・マップ情報を転送するもう1つの公知方法は、
「ピクセル・データ管理プログラム」と「マクロ命令」
を使用して行なうものである。この方法は、他のいくつ
かの方法と共に、米国特許第4,622,546号(ス
フアルティ他)に説明されている。Another known method of transferring bit map information is
"Pixel data management program" and "macro instructions"
This is done using the . This method, along with several other methods, is described in US Pat. No. 4,622,546 (Sfarti et al.).
[発明が解決しようとする!fl]
上に述べた公知方法はいずれも、文字ビット・マップを
フォント生成に必要な構成要素として使用している点で
共通している。一般的に、文字ビット・マップを使用す
るシステムにはいくつかの問題がある0文字ビット・マ
ップ装置によく見られる問題の1つは、ある文字を作成
するときに、CPUが非常に多数のメモリ・アクセス命
令を実行する必要があることである。この負担をCPU
に負わせることがシステム、性能(IA理効率)を低下
させる原因になっている。また、ビット・マップ方式は
、メモリの記憶位置を必要とする各文字用に割り付ける
必要があるので、メモリ・スペースの制約を受けること
になっている。[Invention tries to solve! fl] All of the above-mentioned known methods have in common that they use a character bit map as a necessary component for font generation. In general, there are several problems with systems that use character bit maps. One of the common problems with zero character bit map devices is that when creating a character, the CPU It is necessary to execute memory access instructions. This burden is transferred to the CPU
This is the cause of deteriorating system performance (IA management efficiency). The bit map method is also subject to memory space constraints since a memory location must be allocated for each required character.
さらに、ビット・マップ方式は、多くの場合、ある文字
やフォント全体に変化を与えてピクセル単位で生成する
ことが煩雑であるので、柔軟性をもたせることができな
い。Further, the bit map method cannot provide flexibility because it is often cumbersome to generate changes to a character or an entire font pixel by pixel.
ビット・マップ方式による文字自身にも制約があるので
、スケーリング(文字サイズの拡大や縮小)や回転(単
語や文字列、文字を基準線を基準にして角度をなして生
成すること)といった操作が困難であり、また費用の点
でも問題がある0例えば、あるビット・マップ文字を拡
大するとき、拡大操作(ビクセルを複写して行なうのが
代表例)を行なうと、文字の縁が毛羽立って現れること
がある。ビット・マップを拡大した別のフォントを記憶
させれば、この問題は解決されるが、そのために必要な
メモリ・スペースが増加することになる。さらに、ビッ
ト・マップ方式による文字の回転はブロック複写操作に
よって行なわれるので、回転が難しく、そのためには非
常に多数の計算が必要になる。Since the characters themselves in the bit map format have limitations, operations such as scaling (enlarging or reducing the character size) and rotation (generating words, character strings, or characters at an angle with respect to a reference line) are not possible. It is difficult and costly. For example, when enlarging a bit map character, if you perform an enlargement operation (copying pixel data is a typical example), the edges of the character will appear fuzzy. Sometimes. Storing a separate font with enlarged bitmaps would solve this problem, but would require more memory space. Furthermore, character rotation using the bit map method is performed by a block copy operation, which is difficult to rotate and requires a large number of calculations.
そこで、ビット・マップ文字記憶機構を使用しないフォ
ント生成システムや方法が望まれている。さらに、高速
で柔軟性があり、しかもメモリ・スペースとCPU時間
を共に効率よく使用しながら多様なフォントを生成し、
変換を行なうために使用できるフォント生成方法が望ま
れている。Therefore, a font generation system and method that does not use bit map character storage is desired. Furthermore, it is fast, flexible, and generates a wide variety of fonts while efficiently using both memory space and CPU time.
What is desired is a font generation method that can be used to perform the conversion.
本発明は、フォントを記憶し、文字を生成するシステム
と方法を提供するものである。The present invention provides a system and method for storing fonts and generating characters.
[課題を解決するための手段]
フォント内の各文字のための記憶域には、ビット・マッ
プを記憶するのではなく、文字を形成するために使用さ
れる命令のアドレスと、これらの命令で必要となるパラ
メータを保管しておく。SUMMARY OF THE INVENTION Rather than storing a bit map, the storage for each character in a font contains the addresses of the instructions used to form the character and the addresses of those instructions. Save the necessary parameters.
本発明の1実施例によれば、フォント用の索引テーブル
に、各文字ごとに、文字の図形要素または画素(プリミ
ティブ)テーブル(文字テーブル)のアドレス、文字テ
ーブル内の当該文字にどれだけの情報が保管されている
かの詳細および文字ベース・オフセットとセル・サイズ
に関する悄軸が記載されている。各文字用の文字テーブ
ルにはマクロコード命令のアドレスとそのあとに続いて
文字生成に必要なパラメータが記載されている0文字を
作成するための処置はいくつでも定義が可能である0例
えば、線の描画、スプライン曲線の描画、円の描画、楕
円の描画、矩形の描画、単一ピクセルの描画、塗りつぶ
しくflood fill)などである、どのような幾
何学的図形でもプリミティブとして描画できることは勿
論である。これらのIA置はグラフィック・プリミティ
ブ(GraphicalPrimitives)と呼ば
れるもので、任意の順序でしかも任意の冗長性をもたせ
て、実行させることができる。従って、本発明によれば
、プログラマや操作員は、様々な種類のフォントを設計
して使用したり、比較的少ないプログラミング作業でも
ってこれらのフォントを動的に変更したりできる。According to one embodiment of the present invention, for each character, an index table for a font includes information such as the address of the character's graphical element or pixel (primitive) table (character table), and information about how much information the character has in the character table. It contains details of how the data is stored and the axes regarding character base offset and cell size. The character table for each character contains the address of the macrocode instruction followed by the parameters necessary to generate the character. Any number of actions can be defined to create the 0 character. 0 For example, the line It goes without saying that any geometric shape can be drawn as a primitive, such as drawing a spline, drawing a spline, drawing a circle, drawing an ellipse, drawing a rectangle, drawing a single pixel, drawing a flood fill, etc. be. These IA locations are called graphical primitives and can be executed in any order and with any redundancy. Thus, the present invention allows programmers and operators to design and use a wide variety of fonts and to dynamically change these fonts with relatively little programming effort.
さらに、本発明ではグラフィック・プリミティブを使用
するので、メモリ・スペースと020時間を効率よく使
用できる。Furthermore, because the present invention uses graphics primitives, memory space and time can be used efficiently.
フォントの生成と記憶でグラフィック・プリミティブを
使用すると、従来のビット・マップ・システムに比べて
いくつかの利点が得られる。これらの利点は、特にスケ
ーリング(拡大と縮小)と回転の分野で顕著である。ま
た、グラフィック・プリミティブを使用すると、文字の
生成を向きとサイズから独立して行なうことができる8
例えば、直線を描画する必要のある文字の場合には、相
対的始点と終点だけを与えればよい、また、ある線を回
転するときは、線描画操作でいくつかの異なる線終点パ
ラメータを与えるだけでよい。このことは、文字や文字
列の回転を行ないやすくする。さらに、テキストのスケ
ーリングが容易になる。つまり、ある線を描画するため
に使用したものと同じプリミティブは、終点を変えるだ
けでより長いあるいはより短い線を描画するために使用
することができる。The use of graphic primitives in font generation and storage offers several advantages over traditional bit map systems. These advantages are particularly noticeable in the areas of scaling and rotation. Graphic primitives also allow character generation to be independent of orientation and size.
For example, for a character that needs to draw a straight line, you only need to provide the relative start and end points, and when you want to rotate a line, you only need to provide several different line end parameters in the line drawing operation. That's fine. This makes it easier to rotate characters and strings. Additionally, text scaling becomes easier. That is, the same primitive used to draw a line can be used to draw longer or shorter lines by simply changing the endpoints.
本発明によれば、2次元変換手法を使用するので、スケ
ーリング(文字のサイズの変更)や回転(単語や文字列
、文字を角度をなして描画すること)といった変換操作
を簡単に行なうことができる0文字サイズの変更や回転
は、描画操作時にプリミティブに与えたパラメータを操
作するだけで行なうことかできる0本発明の利点は、プ
リミティブやパラメータ自体、あるいはある文字のプリ
ミティブ実行順序を変更する必要がないことである0本
発明の実施例では、これらの変換機能は、マトリックス
乗算による公知の2次元変換手法を用いて行なっている
。According to the present invention, since a two-dimensional conversion method is used, conversion operations such as scaling (changing the size of characters) and rotation (drawing words, character strings, and characters at an angle) can be easily performed. Character size can be changed or rotated simply by manipulating the parameters given to the primitive during drawing operations.0 The advantage of the present invention is that it is not necessary to change the primitive or parameter itself, or the primitive execution order of a certain character. In the embodiment of the present invention, these transformation functions are performed using a well-known two-dimensional transformation technique using matrix multiplication.
本発明によれば、複数のフォント・ビット・マップをメ
モリに置いておく必要がない、実際には、文字の生成は
その描画時に行なわれる。この方法によると、複数のフ
ォントの保管と生成を、1つの集合として保管されてい
るグラフィック・プリティブとその実行順序を指示する
コマンドに基づいて行なえるという利点がある。さらに
、サイズ、位首、回転といった要因が、グラフィック・
プリミティブに渡していたパラメータを操作することで
m 単にかつ動的に変更できるという利点がある。さら
に、本発明には、ピット・マツプ・システムに比べて所
定数のフォントを記憶するときのメモリの使用効率を向
上すると共に、フォントの生成と描画時のCPUオーバ
ヘッドを軽減させる利点がある。According to the present invention, there is no need to keep multiple font bit maps in memory; in fact, the generation of a character occurs at the time of its drawing. This method has the advantage that multiple fonts can be stored and generated based on commands that indicate the graphic primitives stored as a collection and the order in which they are executed. In addition, factors such as size, rank, and rotation can influence
It has the advantage that it can be changed simply and dynamically by manipulating the parameters passed to the primitive. Additionally, the present invention has the advantage of improving memory usage efficiency when storing a given number of fonts, as well as reducing CPU overhead when generating and drawing fonts, compared to pit map systems.
[実施例]
本発明の実施例によれば、コンピュータをベースとした
マイクロコード・プログラムを使用し、グラフィック・
プリミティブを使用するグラフィック・プロセッサ上で
そのプログラムを稼動させて、フォントを記憶し、文字
を生成するものである。木明1n中で説明している操作
をマイクロ命令レベルでコーディングすると、高速化さ
れるという点で望ましいが、これらの操作は、マイクロ
・レベルでも、マクロ・レベルでも、任意のプログラミ
ング言語で簡単にコーディングが可能であることは勿論
である。さらに、本発明はハードウェアで実現すること
も、あるいはプログラマブル・ロジック回路を使用して
実現することも可能である。[Embodiment] According to an embodiment of the present invention, a computer-based microcode program is used to create a graphic image.
The program runs on a graphics processor that uses primitives to store fonts and generate characters. Although it is desirable to code the operations described in ``Kimei 1n'' at the microinstruction level for speed, these operations can easily be performed in any programming language at either the micro or macro level. Of course, coding is possible. Furthermore, the invention can be implemented in hardware or using programmable logic circuits.
まず、第1図を参照して本発明の詳細な説明することに
する0本発明は、フォントを記憶し、文字を生成するシ
ステムと方法を提供するものである。フォント内の各文
字用の記憶域には、ビット・マップではなく、文字を作
るとき使用される命令のアドレスと、これらの命令で必
要とされるパラメータが保管されている0本発明では、
文字生成で使用される情報を保管しておくためのメモリ
・テーブルと、その情報を読み取って使用するプログラ
ムが使用される。システムはこれらのプログラムとテー
ブルを通して、文字コード情報をCPUや入出力装置(
例:キーボード)から受け取ったり、文字データに対す
る変換操作を文字が表示装置上に生成される時点・で行
なう。The present invention will first be described in detail with reference to FIG. 1. The present invention provides a system and method for storing fonts and generating characters. The storage area for each character in a font does not contain a bit map, but rather the addresses of the instructions used to create the character and the parameters needed by these instructions.
It uses memory tables to store information used in character generation and programs to read and use that information. The system transfers character code information to the CPU and input/output devices (through these programs and tables).
(e.g. keyboard), or perform conversion operations on character data at the time the characters are generated on the display device.
第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号(キャンベル他)に詳しく説明されている
が、これらはその全体が本明細書の一部を構成するもの
である。As shown in the preferred embodiment of FIG.
02 (that is, a device for processing and displaying data in memory), a mapping display device 104 (such as a high-resolution bit map display device), and an input/output device and controller 106 (such as a keyboard, disk, printer, etc.). ), program memory 110, and global memory 108 (for storing tables, pointers, scratchpads, and other information used by the program). Global memory 108 and program memory 110 may each be separate physical memories or may be defined as storage within a single memory. Both global memory and program memory are static RAM (
Display device 104, which is preferably a high speed memory such as SIIAM), is connected to graphics processor 102.
Typically, it is driven by The other components (listed above) typically pass data over a common path under the control of interrupt and arbitration schemes. The techniques and hardware required to make connections between these components are known to those skilled in the art. The operation and structure of graphics processors are described in U.S. Pat.
No. 642,625 (Tsunehiro et al.) and U.S. Patent No. 4,58
No. 0,134 (Campbell et al.), which are incorporated herein in their entirety.
本実施例では、以下に説明するテーブルがグローバル・
メモリ114内に定義されている。In this example, the table described below is a global
Defined in memory 114.
(1)現フォント保管テーブル(CFS) 112 :
ここには、監視プログラム(エグゼクティブ)122が
使用するある種のグローバル情報が保管される。(1) Current font storage table (CFS) 112:
Some kind of global information used by the monitoring program (executive) 122 is stored here.
(2)フォント索引テーブル(FLIT)114 :
ココには、フォント内の各文字ごとに、ベース・オフセ
ット、カーソル・インクリメント(増分)、当該文字を
どのように描画するかを記述した特定情報を指すポイン
タが保管される。(2) Font index table (FLIT) 114:
For each character in the font, it stores a pointer to the base offset, cursor increment, and specific information that describes how that character should be drawn.
(3)文字テーブル11B (7オント内の各文字ご
とに1つ):ここには、グラフィック・プリミティブ1
26 (GPCrt)を呼び出すプログラムを指すポイ
ンタとこれらのプリミティブによって使用される情報が
保管される。(3) Character table 11B (one for each character in the 7 onts): This contains the graphic primitive 1
26 (GPCrt) and the information used by these primitives are saved.
(4)テキスト変換テーブル(TTT) 118 :こ
こには、描画される文字の変換が行なわれるとき使用さ
れる情報が保管される(テキスト変換テーブルのメモリ
・マツプ表現については、第6図を参照)。(4) Text conversion table (TTT) 118: Information used when converting characters to be drawn is stored here (see Figure 6 for the memory map representation of the text conversion table). ).
グローバル・メモリ108には、第1図に示すように、
−時記憶域120があり、ここにはプログラムによって
使用されたポインタが収められ、スクラッチパッド/−
時記憶域としての機能をもつ。In the global memory 108, as shown in FIG.
-time storage 120, which contains pointers used by the program, and includes a scratchpad/-
It functions as a time storage area.
これらのテーブル内の情報は、プログラム・メモリ11
0から実行される2つのプログラムによって使用される
。2つのプログラムとは、監視プログラム122と描画
プログラム124である。監視プログラム122はシス
テムのグラフィック・コントローラ102のカラー・レ
ジスタを準備し、どの文字をいくつ描画するかといった
情報をCP 0100(これは該当する人出力装ニ10
6に接続されていることもある)から取り出すものであ
る。各文字ごとに、監視プログラム122は当該文字の
情報が保管されているフォント索引テーブルのアドレス
を計算で求めて、Krg3プログラム124を呼び出す
、描画プログラム124は、描画すべき文字用の正しい
文字テーブルを探し出し、必要なパラメータをその文字
テーブルから抜き出したあと、そのパラメータを変換し
て、その文字をマツピング表示装fi104上に描画す
るために必要なグラフィック・プリミティブ126を実
行するルーチン(cpcll)を呼び出すものである。The information in these tables is stored in program memory 11.
Used by two programs running from scratch. The two programs are a monitoring program 122 and a drawing program 124. The monitoring program 122 prepares the color register of the system's graphics controller 102 and sends information such as which characters and how many to draw to the CP 0100 (this is the corresponding human output device 10).
6). For each character, the monitoring program 122 calculates the address of the font index table where information about the character is stored and calls the Krg3 program 124. After searching and extracting the necessary parameters from the character table, a routine (cpcll) is called that executes the graphic primitive 126 necessary to convert the parameters and draw the character on the mapping display device fi104. It is.
描画プログラム124は、その動作時に、文字が描画さ
れるまで変換とグラフィック・プリミティブを1つずつ
実行していく、監視プログラム122と描画プログラム
124は詳しく下達する。In its operation, the drawing program 124 performs transformations and graphics primitives one by one until a character is drawn. The monitoring program 122 and the drawing program 124 follow in detail.
本明III書で「表示される」という用語が用いられて
いるが、これは便宜上用いたものであって、文字が表示
される装置の種類を限定するものではない0例えば、文
字はプリンタやCRT、その他の適当な装置上に表示さ
せることが可能である。Although the term "displayed" is used in this document, it is used for convenience and does not limit the type of device on which the characters are displayed. It can be displayed on a CRT or other suitable device.
また、r文字」という用語は、+n報を伝達するとき使
用される一切の形状または記号を指すものである0例え
ば、英数字、特殊文字、特定のアプリケーションで任意
に選択される記号などである。In addition, the term "r character" refers to any shape or symbol used when conveying information, such as alphanumeric characters, special characters, symbols arbitrarily selected for a particular application, etc. .
以下、本発明を更に詳しく具体的に説明する。Hereinafter, the present invention will be specifically explained in more detail.
第2図ないし第6図は、本発明の好適実施例で使用され
ている各種テーブルを示している。この好適実施例では
、これらのテーブルはランダム・アクセス・メモリ(R
AM)の記憶域に保管されている。勿論、これらのテー
ブルは他の場所、例えば、リード・オンリー・メモリ(
IIOM)とか、ハード・ディスクやフロッピといった
記憶装面に保管しておくことも可能である。2-6 illustrate various tables used in the preferred embodiment of the invention. In this preferred embodiment, these tables are stored in random access memory (R
AM) storage area. Of course, these tables can be stored elsewhere, e.g. in read-only memory (
IIOM), a hard disk, or a floppy disk.
第2図は、現フォント保管テーブル(CFST)のメモ
リ・マツプを示したものである。このテーブルには、描
画プログラム124と監視プログラム122によって使
用されるグローバル情報が収められる。グローバル情報
としては、現在のテキスト・カラー200、カーソルX
ポジション202、カーソル°Y°ポジション204、
テキスト変換テーブルC丁丁丁)のアドレス206、選
択されたフォント用のフォント索引テーブル(FLtl
T)のアドレス2081選択されたフォント内の文字数
210などがある。現フォント保管テーブル112は監
視プログラム122に入る前に初期設定され、カーソル
XポジションとカーソルXポジションは各文字が表示さ
れると更新される。 CFST 112に保管されてい
る他の情報も、各文字が表示される間に変更することが
可能である。テーブル内の各項目は同じサイズにするこ
とが好ましいが、監視プログラム122に苦千の変更を
加えれば、異なるサイズの項目を使用することも可能で
ある。本発明者が実際にテストした1つの例では、各項
目のサイズは16ビツトが使用されているが(このサイ
ズは使用コンピュータのデータ・ワードのサイズに合わ
せたものである)、各項目を記述するのに十分なワード
・サイズならば、どのサイズでも使用できることは勿論
である。FIG. 2 shows the memory map of the current font storage table (CFST). This table contains global information used by drawing program 124 and monitoring program 122. Global information includes current text color 200, cursor
Position 202, cursor °Y° position 204,
The address 206 of the text conversion table (Cdingdingding), the font index table (FLtl) for the selected font
T) address 2081, number of characters in the selected font 210, etc. The current font storage table 112 is initialized before entering the monitoring program 122, and the cursor X position and cursor X position are updated as each character is displayed. Other information stored in CFST 112 may also change while each character is displayed. Although each item in the table is preferably the same size, it is possible to use items of different sizes with minor modifications to the monitoring program 122. In one example tested by the inventor, each item is 16 bits in size (this size matches the data word size of the computer being used); Of course, any word size sufficient to do so can be used.
第2図に示す現フォント保管テーブル112では、第2
図ないし第6図のテーブルを標準の1次発メモリ(つま
り、いずれかのメモリ位置をアドレス指定するのに1つ
のアドレスだけが必要になるようなメモリ)に保管する
ことが意図されている。しかし、第2図のテーブルは2
次元メモリ(つまり、メモリが°X° と°Y°座標で
アドレス指定されるようなメモリ)でも働くように簡単
に修正できることは勿論である。テーブル3ないし6が
このような2次元メモリに保管される場合は、フォント
索引テーブル・アドレス208の項目は、FLUT ’
X’アドレスとFLUT ’Y’アドレスに買き代えら
れることになる。同様に、2次元メモリ構造の左側と右
側の境騨を定義するための項目が文字テーブルの開始ア
ドレスと終了アドレスとして追加されることになる3本
発明の利点は、同じような修正を行なうことにより、デ
ータ・アドレス指定のために任意の数の座標を必要とす
るようなメそりや記憶装置(例えば、多重ヘッド・ディ
スク)にもデータが保管できることである。第2図ない
し第6図のテーブルの内容は、現フォント保管テーブル
112を収めておく記憶装置の種類に左右されることが
ない。In the current font storage table 112 shown in FIG.
It is intended that the tables of Figures 6-6 be stored in standard primary memory (ie, memory where only one address is required to address any memory location). However, the table in Figure 2 is
It can, of course, be easily modified to work with dimensional memories (ie, memories where the memory is addressed in °X° and °Y° coordinates). If tables 3 through 6 are stored in such two-dimensional memory, the entry at font index table address 208 will be FLUT'
The X' address and FLUT 'Y' address will be replaced. Similarly, items for defining the left and right boundaries of the two-dimensional memory structure are added as the start and end addresses of the character table.3 An advantage of the present invention is that similar modifications can be made. This allows data to be stored on memory devices or storage devices (eg, multi-head disks) that require any number of coordinates for data addressing. The contents of the tables of FIGS. 2-6 are independent of the type of storage device that stores the current font storage table 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単に修正が可能である。FIG. 3 shows a memory map of the font index table 114. This font index table (F
LII'r) contains, for each character in the font, an increment of 300° 302 of the cursor °X° and °Y° position (i.e., fK, where the cursor position is updated as the character is drawn); k offset 304 (i.e.
amount that must be subtracted from the cursor °Y° position to correct the alignment of characters extending below the reference line),
The length of the character table for the selected character is 306 (i.e.
number of data items required to generate that character),
and the start address 308 of the character table. If it is necessary to draw characters using two or more methods or programs, it is also possible to create an item in FLtlT corresponding to the address 310 of the drawing program. A zero character table 116 is stored in two-dimensional memory. If so, address 308 of the character table
will consist of °X° address items and "Y° address items. As mentioned above, any number of address parameters can be modified to suit the required memory or storage device. .
第4図は、単一文字用の文字テーブル40Gのメモリ・
マツプである。各文字テーブル400には、文字を生成
するとき実行させたいグラフィック・プリミティブを識
別するデータが収容される。これは、グラフィック・プ
リミティブの実行時に使用されるパラメータを事前処理
して(例えば、現カーソル・ポジションを用いて変換と
修正を行なうといった処理)、特定のグラフィック・プ
リミティブを実行させる中間ルーチン(グラフィック・
プリミティブ呼出しルーチンやGPCR)のアドレス4
02.404.406を(文字テーブル内に)用意する
ことによって行なわれる。各GPCRアドレス402.
404.406に続いて、関連のプリミティブを所望の
方法で実行させるために必要なパラメータ・リスト40
8が買かれている0文字テーブル内の最後の項目は”E
ND OF CIl八RへACTEll”プリミティブ
・アドレス410である。Figure 4 shows the memory of the character table 40G for a single character.
It's a map. Each character table 400 contains data that identifies a graphic primitive that is desired to be executed when generating a character. It preprocesses the parameters used when a graphics primitive is executed (e.g., performs transformations and modifications using the current cursor position) and provides intermediate routines (graphics) that cause the execution of a particular graphics primitive.
Address 4 of primitive calling routine or GPCR)
This is done by providing (in the character table) 02.404.406. Each GPCR address 402.
404.406 followed by a list of parameters 40 required to cause the associated primitive to execute in the desired manner.
The last item in the 0 character table where 8 is bought is “E”
ND OF CIl8R to ACTEll'' primitive address 410.
第5図は、英字“B“に対する文字テーブル構造の例を
示している。同図から明らかなように、英字”n”は−
木の直線と2個の円弧を使用して描画することが可能で
ある。従って、英字“B“に対する文字テーブル構造は
、線プリミティブに対するGPCnのアドレス502と
そのあとに続く始点と終点パラメータ504および円弧
プリミティブに対するGPCnのアドレスをもつ2個の
項目506,508と各々のあとに続く中心点51O1
半径512、始点514および終点51B情報からなる
ことになる。FIG. 5 shows an example of a character table structure for the alphabetic character "B". As is clear from the figure, the alphabet “n” is -
It is possible to draw a tree using a straight line and two arcs. Therefore, the character table structure for the alphabet "B" consists of two entries 506, 508 each having the address 502 of the GPCn for the line primitive followed by the start and end parameters 504 and the address of the GPCn for the arc primitive. Continuing center point 51O1
It consists of radius 512, starting point 514, and ending point 51B information.
文字テーブル400はフォント内の各文字ごとに1つ存
在することは勿論である。これらのテーブルは記憶装置
の使用効率を高めるために連続させることが可能である
が、本発明によれば、連続させなくても正しく動作する
ことは勿論である。Of course, one character table 400 exists for each character in the font. Although these tables can be arranged consecutively in order to improve the usage efficiency of the storage device, according to the present invention, it is of course possible to operate correctly even if they are not arranged consecutively.
GPCRを使用すると、プログラマが任意のオベレーテ
ィング・システムがもつ機能や特定のハードウェア装置
がもつ機能を利用できるという利点が得られる0例えば
、あるオペレーティング・システムがグラフィック・プ
リミティブを実行するソフトウェアをすでに備えていれ
ば、GPCnを使用してパラメータ情報を文字テーブル
から抜き出して、既存のグラフィック・プリミティブ・
ソフトウェア126に知らせである場所にそれを置いて
おいておけば、それを探し出すことができる。そのあと
、そのソフトウェアから既存のグラフィック・プリミテ
ィブ・プログラムを呼び出すことができる0本発明の1
実施例では、GPCRは文字変換プログラムのためのデ
ータを収集して、そのプログラムを呼び出すためにも使
用できる。The advantage of using GPCRs is that the programmer can take advantage of the capabilities of any operating system or the capabilities of a particular hardware device.For example, if an operating system already has software that runs graphics primitives, If so, use GPCn to extract parameter information from the character table and apply it to existing graphics primitives.
If the software 126 is informed that it is placed in a certain location, it can find it. Thereafter, existing graphics primitive programs can be called from that software.
In embodiments, the GPCR can also be used to collect data for and call a character conversion program.
また、GPCRを使用すると、プリミティブ実行機能や
文字変換機能がハードウェアで実行されるようなシステ
ムにおいても、柔軟性をもって本発明を利用できるとい
う利点が得られる。この実施例では、GPCRは、ある
ハードウェア装置で必要になったときパラメータ・デー
タを抜き出して、操作を加えるために使用されるが、他
にインタフェース機能が必要ならば、その機能をGPC
nにもたせることも可能である0例えば、システムのグ
ラフィック・プロセッサ102にプリミティブを直接に
実行できる機能を備えている場合には、GPCIIは描
画プログラム124 とグラフィック・プロセッサ10
2のハードウェア間のインタフェースの役割を果すこと
になる。また、この実施例では、グラフィック・プロセ
ッサ102は、描画プログラム123の制御の下で文字
を作成するためにプリミティブを描画することになる。The use of GPCR also has the advantage that the present invention can be used flexibly in systems where primitive execution functions and character conversion functions are performed in hardware. In this example, the GPCR is used to extract and manipulate parameter data when needed by a certain hardware device, but if other interface functions are required, those functions can be transferred to the GPC.
For example, if the graphics processor 102 of the system is equipped with a function that can directly execute primitives, GPCII
This will serve as an interface between the two pieces of hardware. Also, in this embodiment, graphics processor 102 will draw primitives to create characters under the control of drawing program 123.
アプリケーションによっては、GPCHの使用を省いて
、グラフィック・プリミティブのアドレスを文字テーブ
ル115に詮いておき、直接に実行させることも可能で
ある。Depending on the application, it is also possible to omit the use of GPCH, read the address of the graphic primitive in the character table 115, and execute it directly.
グラフィック・プリミティブの概念は当業者に周知であ
り、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年)に説明されている。これらの書物は共に本明細
書の一部を構成するものである。The concept of graphic primitives is well known to those skilled in the art and is described by Donald Learn and Pauline
“Computer Graph” co-authored by Baker
cs=(Prentice-Hal1 published 1986)
and “Fundamentals of Intera” by J. D. Foley and A. Van Dam.
tive Computer-Graphics” (
Published by Addison Wesler, reprint version 19
(1983). All of these books constitute a part of this specification.
第6図は、テキスト変換テーブル118のメモリ・マツ
プを示したものである6本発明の好適実施例では、2x
3または3x3のマトリックスを使用して生成すべき文
字の変換を行なっている。テキスト変換テーブル118
には、このマトリックスで使用されるデータ60Gが収
められている。ここで変換とは、回転、スケーリング、
並行移動といった操作を加えることである0本発明では
、「マトリック乗算による2次元変換」とも呼ばれてい
る手法を用いている。マトリックス乗算による2次元変
換とは、基本的には、2次元平面上の点のX%Y座標を
3xlマトリツクスの要素のうちの2要素として扱い、
そのマトリックスを2x3または3x3マトリツクスで
掛けることによってその点を変換する方法のことである
0点がどのように並行移動され、原点を中心として回転
され、その原点を基準にしてスケーリングされるかは、
2x3または3x3マトリツクスの値によって決まる。FIG. 6 shows the memory map of text conversion table 118.6 In the preferred embodiment of the present invention, 2x
A 3 or 3x3 matrix is used to convert the characters to be generated. Text conversion table 118
contains 60G of data used in this matrix. Transformation here means rotation, scaling,
The present invention, which involves adding operations such as parallel movement, uses a method also called "two-dimensional transformation using matrix multiplication." Two-dimensional transformation by matrix multiplication basically treats the X%Y coordinates of a point on a two-dimensional plane as two elements of a 3xl matrix,
How the point is transformed by multiplying its matrix by a 2x3 or 3x3 matrix. How the 0 point is translated, rotated around the origin, and scaled with respect to the origin.
Depends on the value of the 2x3 or 3x3 matrix.
マトリックス乗算の結果には、変換された点のXとY座
標が収容される。グラフィック・プリミティブを使用す
ると、各プリミティブのパラメータにこの手法を適用し
てからプリミティブ自体を実行させることによって、文
字または文字列を変換でとるという利点が得られる。マ
トリックス乗算による2次元変換手法は当業者に周知で
あり、Ne*manおよび5proul共著の”Pr1
nciples ofInteractive Gom
puter Graphics@(McGraw Hi
11発行、第2版1979年印刷)に説明されている。The result of the matrix multiplication contains the X and Y coordinates of the transformed point. Using graphic primitives has the advantage of taking a character or string of characters in a transform by applying this technique to each primitive's parameters and then letting the primitive itself execute. The two-dimensional transformation method using matrix multiplication is well known to those skilled in the art and is described in "Pr1" co-authored by Ne*man and 5proul.
ciples of interactive Gom
puter Graphics @ (McGraw Hi
11 issue, 2nd edition printed in 1979).
同書は本明細書の一部を構成するものである。なお、同
書の第4章にこの手法の説明がある。This book constitutes a part of this specification. This method is explained in Chapter 4 of the same book.
テキスト変換テーブル118には監視プログラム122
に入る前にデータを入れておき、各文字単位で変更が可
能である。また、このテーブルは、いくつかの文字から
なる流れに対してそのままにしておくことも可能である
。プログラマはいつでも変換データ600を変更できる
ことは勿論である。The text conversion table 118 includes a monitoring program 122.
Data can be entered before entering the text and changed for each character. It is also possible to leave this table as is for a stream of several characters. Of course, the programmer can change the conversion data 600 at any time.
文字生成システムと方法の操作について、第1図および
第7図〜第11図を参照して以下説明することにする。The operation of the character generation system and method will now be described with reference to FIGS. 1 and 7-11.
すでに説明したように、本発明では、2つの部分、つま
り、監視プログラム122と描画プログラム124から
なるコンピュータ命令セットが使用されているが、まず
、監視プログラム122の動作について第1図と第7図
を参照して説明する。As already explained, the present invention uses a computer instruction set consisting of two parts, the monitoring program 122 and the drawing program 124. First, the operation of the monitoring program 122 is explained in FIGS. 1 and 7. Explain with reference to.
まず、ブロック700で示すように、監視プログラム1
22は、フォント・カラーを現フォント保管テーブル!
12から読み取り、それをコンピュータのグラフィック
・プロセッサ102のカラー・レジスタに古き込むこと
によフて、フォント・カラーをセットする。このステッ
プは別の場所でも行なえるが、監視プログラム122内
で行なうのが望ましい、この個所でカラーをセットする
と、個々の文字列や文字を独自のカラーでセットできる
という利点がある。モノクローム・システムでは、この
情報は省くことも、反転表示といった機能をセットする
ために使用することも可能である。また、この情報は、
プリンタや印刷プロッタが使用される場合には、これら
の装置にカラー情報を与えるためにも使用できる。First, as shown at block 700, monitor program 1
22 is the current font storage table for fonts and colors!
12 and populates the computer's graphics processor 102's color register to set the font color. Although this step can be done elsewhere, it is preferable to do it within the monitoring program 122. Setting colors here has the advantage of allowing individual strings or characters to be set with unique colors. On monochrome systems, this information can be omitted or used to set features such as reverse video. Also, this information
If a printer or print plotter is used, it can also be used to provide color information to these devices.
次に、ブロック702で示すように、監視プログラム1
22は、印刷すべき文字列内の文字数と文字列の先頭ア
ドレス(1文字だけが表示される場合はその文字のアド
レス)を取り出す0文字コードはCPU100(第1図
参照)に生成させることも、CP U 100経由で該
当する入力装置(キーボードなど)から受け取ることも
可能である。また、監視ルーチンを割込みで駆動させる
ことも可能である0本発明によれば、動作は文字コード
がどこから得られるかとは無関係である。Next, as shown at block 702, monitor program 1
22 can be generated by the CPU 100 (see Figure 1) to extract the number of characters in the character string to be printed and the start address of the character string (if only one character is displayed, the address of that character). , it is also possible to receive it from a corresponding input device (such as a keyboard) via the CPU 100. It is also possible to have the monitoring routine driven by an interrupt.According to the present invention, the operation is independent of where the character code is obtained.
次に、監視プログラムは最初の文字を取り出しくブロッ
ク704)、その文字コードがあらかじめプログラムさ
れたフォントの1つに居するものと認識可能であるかど
うかが判断される(ブロック706)、本実施例では、
これは、フォント内の文字数を現フォント保管テーブル
から読み取り、フォントがその文字数以下か同じである
かを判断することによって行なわれる。この操作では、
文字コードがゼロから始まり、そのフォントに用意され
ている最高文字コードまで連続しているものと想定して
いる。この想定が正しくないか、別の方法が望ましけれ
ば、文字は、文字索引テーブルにある有効な文字コード
と比較させることも可能である。それでも不十分な場合
は、別の文字コード・テーブルを作ることも、あるいは
他の公知方法を用いることも可能である。Next, the monitoring program retrieves the first character (block 704) and determines whether the character code is recognizable as being in one of the preprogrammed fonts (block 706). In the example,
This is done by reading the number of characters in the font from the current font storage table and determining whether the font is less than or equal to that number of characters. In this operation,
It is assumed that character codes start at zero and continue up to the highest character code available for the font. If this assumption is incorrect or another method is desired, the characters can be compared to valid character codes in a character lookup table. If this is not sufficient, it is possible to create another character code table or use other known methods.
文字コードがプログラムされたフォント内にないと認識
された場合は、文字列内の次の文字が取り出される(ブ
ロック708.710.704)、描画すべき文字がな
くなると、監視プログラムは終了する(ブロック708
,712) 、プログラムは、文字が認識不能である場
合に、エラー・フラッグをセットしたり、エラー文字を
印刷したり、別の望ましい処置をとったりするように簡
単に修正が可能である。If it is recognized that the character code is not in the programmed font, the next character in the string is retrieved (blocks 708.710.704); when there are no more characters to draw, the monitoring program terminates ( block 708
, 712), the program can be easily modified to set an error flag, print an error character, or take other desired action if a character is unrecognized.
文字コードが認識された場合は、その文字コードは、フ
ォント索引テーブル用のオフセット・アドレス(FLI
Tオフセット・アドレス)を作るために使用される。こ
れを行なうために、プログラムは該当のフォント索引テ
ーブル(FLtlT)のベース・アドレスを現フォント
保管テーブルから読み取る。プログラムが読み取った文
字コードが値Nであったとすれば、プログラムはN番目
のデータ構造のアドレスをこのFLUTベース・アドレ
スから計算する。プログラムはこの計算で求めたアドレ
スを使用して、フォント索引テーブル内の所定文字に関
する情報を探し出す、 FLIITベース・アドレスは
グローバルに使用可能なメモリ域に保管されているので
、描画°プログラム(または他のプログラム)はそこか
らアドレスをアクセスできる。If a character code is recognized, it is stored at the offset address for the font index table (FLI).
T offset address). To do this, the program reads the base address of the appropriate font look-up table (FLtlT) from the current font storage table. If the character code read by the program is the value N, the program calculates the address of the Nth data structure from this FLUT base address. The program uses the address determined by this calculation to locate information about a given character in the font index table. Since the FLIIT base address is stored in a globally available memory area, the drawing program (or other program) can access the address from there.
753図に示すFLITの実施例では、各文字のデータ
構造は6個の項目からなっている。従って、このテーブ
ルが使用されて、文字コード°02°が読み取られたと
すると、FLITのベース・アドレスは12項目だけオ
フセットさせる必要がある。In the FLIT embodiment shown in Figure 753, the data structure for each character consists of six items. Therefore, if this table were used to read the character code °02°, the base address of FLIT would need to be offset by 12 entries.
次に、ブロック716で示すように、監視プログラムは
描画プログラム124(これは詳しく下達する)を呼び
出す、監視プログラムは描画プログラムのアドレスをF
LUTから取り出す、2つ以上の方法を用いて文字列を
生成したい場合には、この方法によると、監視プログラ
ムが2つ以上の描画プログラムを使用できるという利点
が得られ・る0文字の描画が終ると、制御は監視プロゲ
ラ・ムに返される。文字列全体が印刷されると、監視プ
ログラムは終了する。印刷すべき文字が−まだ残ってい
る場合には、監視プログラムは次の文字を取り出し、文
字列全体が処理されるまでこの操作を繰り返すことにな
る。Next, as shown at block 716, the supervisor calls the drawing program 124 (described in more detail below); the supervisor sends the address of the drawing program to F.
If you want to generate a string using more than one method of extracting it from the LUT, this method has the advantage that the monitoring program can use more than one drawing program. Once finished, control is returned to the supervisory program. Once the entire string has been printed, the monitoring program terminates. If there are more characters left to print, the supervisor will pick up the next character and repeat this operation until the entire string has been processed.
監視プログラムは、文字列ポインタを使用することによ
って、印刷すべき文字を記憶している。The monitor program remembers the characters to print by using string pointers.
このポインタは、文字が読み取られ、期待される文字列
の長さと比較されるたびに増分されるので、最後の文字
がいつ処理されたかを判断することができる。監視プロ
グラムはこのポインタとFLIITオフセット・アドレ
スをグローバル−時記憶域(temps tore)
に保管しておくので、これらを必要とする描画プログラ
ム124や他のプログラム、ルーチン、ハードウェア装
置に使用させることが可能である。This pointer is incremented each time a character is read and compared to the expected length of the string, so it can be determined when the last character has been processed. The supervisor saves this pointer and the FLIIT offset address to the global temps store.
Since these data are stored in the computer, they can be used by the drawing program 124, other programs, routines, and hardware devices that require them.
次に、文字生成操作について、′:31図および第8図
〜第1!図を参照して説明する。Next, regarding the character generation operation, ': Figure 31 and Figures 8 to 1! This will be explained with reference to the figures.
すでに説明したように、システムは、システムのグラフ
ィック・プロセッサ102とのインタフェースとなるブ
リミテ・イブを実行することによって文字を表示装置1
04上に描画するものである。描画プログラム124は
、2つの部分から構成されるものと考えてよい、描画プ
ログラム124の最初の部分は、グラフィック・プリミ
ティブの実行を統御するものである。グラフィック・プ
リミティブは、下達するサブルーチン(GPCR)の使
用を通して実行される。この最初の部分の流れ図を示し
たのが第9図である。As previously discussed, the system displays characters on the display device 1 by executing Limit Eve, which interfaces with the system's graphics processor 102.
04. The drawing program 124 may be thought of as having two parts; the first part of the drawing program 124 governs the execution of graphics primitives. Graphics primitives are implemented through the use of underlying subroutines (GPCRs). FIG. 9 shows a flowchart of this first part.
描画プログラムの2番目の部分は、該当の変換およびグ
ラフツク・プリミティブ・ルーチンを呼び出して、これ
らの機能の実行に必要な該当パラメータを抜き出すサブ
ルーチン(グラフィック・プリミティブ呼出しルーチン
)の集りから構成されている。フォントを生成するため
に使用されるすべてのプリミティブごとにGPCRが用
意されている。これらのプリミティブとしては、線、ス
プライン曲線、円、矩形、塗りつぶし、楕円、単一ビク
セル、文字の終了(END OF CII八IへACT
ER)とイブた操作がある。どの幾何学的図形でもプリ
ミティブとして描画できることは勿論である。すでに述
べたように、プリミティブの変換と実行のために必要な
パラメータは、変換テーブル(第5図)と文字テーブル
(第4図)に収められている。The second part of the drawing program consists of a collection of subroutines (graphics primitive calling routines) that call the appropriate transformation and graphics primitive routines and extract the appropriate parameters needed to perform these functions. A GPCR is provided for every primitive used to generate a font. These primitives include lines, spline curves, circles, rectangles, fills, ellipses, single pixels, end of character (END OF CII
There is an operation that caused ER). Of course, any geometric figure can be drawn as a primitive. As already mentioned, the parameters necessary for the translation and execution of primitives are contained in the translation table (FIG. 5) and the character table (FIG. 4).
ブロック900で示すように、描画プログラム124は
まず該当の文字テーブル・アドレスをFLUTから取り
出し、そのアドレスのコピーをグローバルにアクセス可
能な一時記憶域に保管する。この保管されたデータは、
文字テーブルのポインタとして使用される。ブロック9
02で示すように、プログラムは次に文字テーブル内の
最初のGPCHのアドレスを読み取り、文字テーブルの
ポインタを次の項目を指すように更新し、ブロック90
4で示すように、ジャンプしてGPCRアドレスに移る
。 GPCRはサブルーチン呼出しとしてアクセスする
ことが望ましい。As shown at block 900, the drawing program 124 first retrieves the appropriate character table address from the FLUT and saves a copy of that address in globally accessible temporary storage. This stored data is
Used as a pointer to a character table. Block 9
The program then reads the address of the first GPCH in the character table and updates the character table pointer to point to the next item, as shown at block 90.
4, jump to the GPCR address. Preferably, the GPCR is accessed as a subroutine call.
第1O図は、代表的なGPCItの流れ図である。ブロ
ック1000で示すように、GPCRはまずパラメータ
・データを文字テーブルから読み取り、文字テーブル・
ポインタを更新する。すでに述べたように、GPCfl
は必要とする各プリミティブごとに1つ用意されている
。各GPCRには、プリミティブを実行するためにパラ
メータがいくつ必要であり、これらのパラメータをどこ
に入れるべきかが正確に知らされている。FIG. 1O is a typical GPCIt flow diagram. As shown at block 1000, the GPCR first reads parameter data from the character table and
Update pointer. As already mentioned, GPCfl
There is one for each required primitive. Each GPCR is told exactly how many parameters it needs to execute the primitive and where to put these parameters.
次に、ブロック1002において、 GPCRはすべて
の座標にカーソル・ボジシBンを加えて、描画された文
字が画面上の正しい位置(指定された位置)に置かれる
ようにする。Next, at block 1002, the GPCR adds the cursor position to all coordinates to ensure that the drawn character is placed at the correct location (the specified location) on the screen.
次に、ブロック1004において、文字ベース・オフセ
ット304がフォント索引テーブル1114から読み取
られ、基準線から下に延びた文字が正しく並ぶように現
カーソルYポジションから差し引かれる。これを分かり
やすくしたのが第8図である。Next, at block 1004, the character base offset 304 is read from the font lookup table 1114 and subtracted from the current cursor Y position so that characters extending down from the baseline line up correctly. Figure 8 makes this easier to understand.
英字”b”がセル800内にその基準線802と共に示
されている。同図から明らかなように、英字”q”は英
字”b”で使用されている基準線802よりも下にある
(この基準線は通常大部分の文字で使用される)、大部
分の文字では、現Yカーソル・ポジションは基準線の位
置にある。カーソルを下方からスタートさせるためには
、FLtlT内の”q“データ構造からのベース・オフ
セットが現Yカーソル・ポジションから差し引かれる。The letter "b" is shown within cell 800 along with its reference line 802. As is clear from the figure, the letter "q" is below the reference line 802 used for the letter "b" (this reference line is normally used for most letters), Now, the current Y cursor position is at the reference line. To start the cursor from below, the base offset from the "q" data structure in FLtlT is subtracted from the current Y cursor position.
これにより、英字“q“の下縁はオフセットしていない
文字より下に現れることになる。As a result, the lower edge of the alphabetic character "q" appears below the non-offset characters.
次に、ブロック1006において、GPCRは変換プロ
グラムを実行する。変換プログラムはそのデータをテキ
スト変換テーブル1118から取り出す、別の方法とし
て、GPCBはデータをテキスト変換テーブルから取り
出し、それを変換プログラムに渡すようにすることも可
能である。コーディング作業を少なくするために、変換
プログラムはサブルーチン呼出しとして実行させること
が望ましい。Next, at block 1006, the GPCR executes a conversion program. The conversion program retrieves the data from the text conversion table 1118. Alternatively, the GPCB can retrieve the data from the text conversion table and pass it to the conversion program. To reduce coding effort, it is desirable to have the conversion program executed as a subroutine call.
変換プログラムは、プリミティブのパラメータに)条件
を加えて(これらのパラメータはGPCRから受け取る
)、その操作を加えたパラメータをグローバルにアクセ
ス可能な記憶域に保管する。The conversion program applies conditions to the parameters of the primitive (these parameters are received from the GPCR) and stores the manipulated parameters in globally accessible storage.
次に、ブロック1008において、GPCRはそれが定
義されているl(好ましくは、サブルーチン呼出しによ
って)プリミティブ・プログラムを実行する。前述した
ように、GPCRはプリミティブ・プログラムが探し出
すと予想される、またはその必要がある場所(例えば、
メモリ内の特定の記憶位置)に、変換されたパラメータ
を保管する。第1図に示すように、プリミティブ・プロ
グラム128が実行されると、システムのグラフィック
・コントローラ102はプリミティブをマツピング表示
装置104上に描画する。そのあと、描画プログラムの
最初の部分に再び入る(1010)(好ましくは、戻り
コマンドを使用することによって)。Next, at block 1008, the GPCR executes the primitive program for which it is defined (preferably by a subroutine call). As mentioned above, GPCRs are located where primitive programs are expected or need to look, e.g.
Store the transformed parameters in a specific storage location in memory. As shown in FIG. 1, when primitive program 128 is executed, system graphics controller 102 draws primitives on mapping display 104. As shown in FIG. Thereafter, the first part of the drawing program is re-entered (1010) (preferably by using a return command).
次のプリミティブ・アドレスが次に実行され、このサイ
クルは繰り返される。文字テーブル400(各文字用の
)の最後のアドレスは文字の終りプリミティブに対する
ものである(7511図)0文字の終りプリミティブが
実行されると、カーソル・ポジションは、文字FLtl
T構造内の項目1と2から読み取られたX%Y増分で更
新され(ブロック1100) 、監視プログラムに戻る
ことになる。特に重要なことは、文字の終りプリミティ
ブが実行されると、描画プログラムが終了し、制御梧1
102が監視プログラム122に返却されて次の文字の
生成が可能になることである。The next primitive address is executed next and the cycle repeats. The last address in the character table 400 (for each character) is for the end-of-character primitive (Figure 7511).When the end-of-character primitive is executed, the cursor position is at the character FLtl.
It is updated with the X%Y increment read from entries 1 and 2 in the T structure (block 1100) and returns to the supervisor program. What is especially important is that when the end-of-character primitive is executed, the drawing program ends and the control
102 is returned to the monitoring program 122 so that the next character can be generated.
上述した実施例では、現フォント保管テーブル112に
保管されているカーソル・ポジションは「名目上の」カ
ーソル・ポジションであり、これは必ずしも各文字が表
示される位置に対応していない。これは、変換プログラ
ムが動作して、必要とする並行移動、スケーリングまた
は回転を行なう前に文字が表示される位置に対応してい
る。In the embodiment described above, the cursor positions stored in the current font storage table 112 are "nominal" cursor positions, which do not necessarily correspond to the positions in which each character will be displayed. This corresponds to the position at which the character will be displayed before the conversion program operates to perform any necessary translation, scaling, or rotation.
テキスト変換テーブル1118は、ある文字が表示され
てから次の文字が表示されるまでの間に変更が可能であ
る0例えば、各文字をカーソル・ポジションに対応する
中心点を中心にして10度だけ回転させてからその文字
を表示したい場合は、テキスト変換テーブルから取り出
される回転中心は、変換プログラムを実行させる前に、
現カーソル・ポジションを用いて更新することができる
。The text conversion table 1118 can be changed between the display of one character and the display of the next character. For example, each character can be changed by 10 degrees around the center point corresponding to the cursor position. If you want to rotate the character before displaying it, the rotation center retrieved from the text conversion table should be set before running the conversion program.
Can be updated using the current cursor position.
変換操作の開発過程で、各文字の中心に対応する中心を
基準にした回転またはスケーリングを行なうことができ
る。これを行なうために、各文字に対応するフォント索
引テーブル項目は、初期カーソル・ポジションを基準に
したその文字の中心位置を示すデータが含まれるように
拡張される。従フて、変換プログラムを実行させる前に
、現カーソル・ポジションおよびそのカーソル・ポジシ
ョンを基準にした文字の中心位置を用いてテキスト変換
テーブルを、文字の中心点を中心にした回転またはスケ
ーリングが行なわれるように更新することができる。During the development of the conversion operation, rotation or scaling about a center corresponding to the center of each character can be performed. To do this, the font lookup table entry corresponding to each character is expanded to include data indicating the center position of that character relative to the initial cursor position. Therefore, before running the conversion program, the text conversion table is rotated or scaled around the character center point using the current cursor position and the character center position relative to the cursor position. It can be updated as needed.
上述した実施例に代わる方法として、1つまたは複数の
文字テーブルをまずメモリまたは記憶装買から読み取っ
て、それをグローバル・メモリまたは一時記f、11装
置a120に入れてから実行させることも可能である。As an alternative to the embodiments described above, it is also possible to first read one or more character tables from memory or storage and place them in global memory or temporary storage device a 120 before execution. be.
この方法が行なわれるケースとしては、文字テーブルが
低速のアクセス・メモリ(例えば、2次元メモリ)また
は記憶装置(例えば、フロッピ)に保管されていて、実
際の実行は高速のメモリ(例えば、スタチックRAM)
から行なう必要がある場合がある。この場合には、文字
の終りアドレス410を文字テーブル400の最後に置
く代わりに、プログラムが文字テーブル内の項目数を記
憶していて、項目数が文字テーブルの長さ(これはFL
IIT文字構造内の項目5から読み取られる)と一致す
るまで項目を一時記↑n装置に入れ続けることになる。This method is used when the character table is stored in slow access memory (e.g. 2D memory) or storage (e.g. floppy) and the actual execution is performed in fast memory (e.g. static RAM). )
It may be necessary to do this from In this case, instead of putting the end-of-character address 410 at the end of the character table 400, the program remembers the number of entries in the character table, and the number of entries is the length of the character table (which is FL
Items will continue to be placed into the temporary memory ↑n device until a match is found (read from item 5 in the IIT character structure).
その時点で、プログラムはENDOF CIIARAC
TERアドレスを文字データの終りに挿入することにな
る。FLIIT情報がいったん一時記憶装置にロードさ
れると、プログラムは最初の実施例で上述した通りに、
−時記憶装面の先頭から情報の読取りを始める。At that point, the program is ENDOF CIIARAC
The TER address will be inserted at the end of the character data. Once the FLIIT information is loaded into temporary storage, the program runs as described above in the first embodiment.
-Start reading information from the beginning of the time memory surface.
本発明は、棒線側の描画に限定されるものではない。他
のプリミティブを塗りつぶしプリミティブと併用すれば
、任意の幅とカラーをもつ文字を描画することも可能で
ある6例えば、英字”i”を描画する場合は、矩形と円
に対するプリミティブ・ルーチンが使用できる(つまり
、矩形の上に円を描くことができる)。r塗りつぶし」
プリミティブを次に使用すれば、前記プリミティブで描
画された2つの形状を塗りつぶすことができる。The present invention is not limited to drawing on the bar side. By using other primitives in conjunction with the fill primitive, it is also possible to draw characters of arbitrary width and color.6For example, to draw the letter "i", the primitive routines for rectangles and circles can be used. (i.e. you can draw a circle on top of a rectangle). r Fill”
The primitive can then be used to fill the two shapes drawn with said primitive.
この塗りつぶしプリミティブが他のプリミティブと異な
るのは、それが実際に表示メモリに入れられて、塗りつ
ぶすべぎ多角形の輪郭を決め、そのあと特定の点から始
まってその多角形を特定のカラーで塗りつぶして行くか
らである。塗りつぶされた幾何学的形状(・例:塗りつ
ぶされた矩形や塗りつぶされた円)を直接に描画するプ
リミティブを使用して、2次元文字を生成することも可
能であることは勿論である。This fill primitive differs from other primitives in that it actually goes into display memory, determines the outline of the polygon to be filled, and then fills the polygon with a particular color starting from a particular point. Because I'm going. Of course, it is also possible to generate two-dimensional characters using primitives that directly draw filled geometric shapes (e.g., filled rectangles and filled circles).
上述した説明から理解されるように、本発明によれば、
単に文字を事前に記憶されたビット・パターンに基づい
て描画または印刷するのではなく、文字を実時間で生成
することができる。上述した各種実施例は、種々変更お
よび改善ができることは勿論である0例えば、GPCf
lを省略して、文字テーブルに文字生成のために使用さ
れるグラフィック・プリミティブ・プログラムを直接的
に識別するデータを収めておくことが可能である。As understood from the above description, according to the present invention,
Rather than simply drawing or printing characters based on pre-stored bit patterns, characters can be generated in real time. It goes without saying that the various embodiments described above can be modified and improved in various ways. For example, GPCf
It is possible to omit l and have the character table contain data that directly identifies the graphics primitive program used for character generation.
さらに、テキスト変換機能やベース・オフセット変更機
能は、プログラマがこれらの機能の使用を望まなければ
、省くことも可能である。さらに、グラフィック・プリ
ミティブは、適当なハードウェアやファームウェアであ
るいはソフトウェアで実行させることも可能である。従
って、上述した各種好適実施例は本発明を限定するもの
ではなく、単なる例として示したものにすぎないことは
、勿論である。Furthermore, the text conversion and base offset modification functions can be omitted if the programmer does not wish to use these functions. Additionally, the graphics primitives may be implemented in suitable hardware, firmware, or software. Therefore, it is understood that the various preferred embodiments described above are not intended to limit the invention, but are provided merely by way of example.
第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図Figure 1 is a schematic diagram of the system according to the present invention, Figure 2 is a diagram showing the memory map of the current font storage table, Figure 3 is a diagram showing the memory map of the font index table, and Figure 4 is a diagram showing a single character. Figure 5 is a diagram showing an example of the character table items for the alphabet "B", Figure 6 is a diagram showing the memory map of the text conversion table, Figure 7 is a flowchart of the drawing monitoring program, and Figure 8 is a flowchart of the drawing monitoring program.
Figure 11 is a flowchart of the end-of-character routine. Figure 1θ is a flowchart of a typical graphic calling routine. ...CPU. ...Graphics processor, ...Mapping display device, ...I/O device and controller, ...Global memory, ...Program memory, 112...Current font storage. Table, +14... Font index table, 118... Character table, 118... Text conversion table, 120... -time storage area, 122... Monitoring program, 124... Drawing program, 126. ...Graphic primitives, 200...
・Current text color 202...Cursor 'X' position, 204...
Cursor °Y position, 206...Text change 1
^Table address, 208...Font index I table address, 210...Selected font, 300.302-...Car'))VX' and 'Y' increment, 304...Base offset , 306...Length of character table, 308...Start address of character table, 310...
-Address of drawing program, 400...Character table, 402.404,406...Address of intermediate routine, 408...Parameter list, 410...Address of end of character primitive, 50
2...Address of GPCn, 504...Start point and end point parameters, 505.508...Item, 510...Center point, 5!2...Radius, 514...Start point, 516... End point, 600... Conversion data, 700.702, 704, 706, 708, 710, 7
12,716,900,902.9'04.1000,
1002.1004. +006,1008,1010,
1100, 1102° 1118...Block, 800...Cell, 802...Reference line. Figure 11 Figure 10
Claims (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つのグラフィック・プリミティブ
・ルーチンの先頭アドレスと、グラフィック・プリミテ
ィブ・ルーチンによって使用されるサイズと配置データ
とを該文字コード用に収めているテーブルを保管するた
めのテーブル・メモリ手段と、 複数の前記グラフィック・プリミティブ・ルーチンをそ
れぞれの先頭アドレスから保管しておくためのルーチン
・メモリ手段と、 前記文字コードの入力を受けて動作して、該受け取った
文字コード用の各グラフィック・プリミティブ・ルーチ
ンの先頭アドレスを表すデータを前記テーブル・メモリ
手段から取り出すと共に、前記取り出した先頭アドレス
から開始するグラフィック・プリミティブ・ルーチンを
実行させる制御手段と を具え、各グラフィック・プリミティブ・ルーチンは、
該文字コードとそれぞれのグラフィック・プリミティブ
・ルーチンに対応するテーブル・メモリ手段から取り出
したサイズおよび配置データを読み取ると共に、それぞ
れの形状およびサイズと配置のグラフィック・プリミテ
ィブを読み取ったサイズと配置データに従って形成する
ように動作可能であることを特徴とする文字生成装置。Claims: 1) means for receiving character code data identifying characters in a character set; and at least one graphic primitive in a set of different graphic primitives representing a plurality of different shapes;
By identifying the primitive, the character code
means for providing, for each received character data code, data for configuring the character identified by the data and data indicating the size and placement of the or each identified graphic primitive within the character; 2) means for generating said character from one or more graphic primitives identified by primitive identification data in the size and placement indicated by size and placement indicating data; 2. The character generating device according to claim 1, further comprising means for converting the size and arrangement data in accordance with text conversion data before the data is passed to the character generating means. 3. The character generating device according to claim 2, further comprising: means for updating the position of the cursor after the character is generated by the character generating means. 4. The character generating device according to claim 3, further comprising means for causing the character generating means to generate the character at a specific position. 5) A claim characterized in that the means for generating characters at a specific position further comprises means for modifying data indicating size and arrangement so as to instruct the means for generating characters to the specific position. The character generating device according to item 4. 6) The apparatus further comprises means for causing the character data receiving means to receive character code data of the next character after the character is generated by the character generating means. character generator. 7) means for receiving character code data identifying a character in a character set; means for reading size and alignment data for at least one graphic primitive according to said character data code; - A character generation device comprising: means for modifying according to specifications by position data; and means for generating a graphic primitive according to the modified size and arrangement data. 8) A character generating device according to claim 7, further comprising means for modifying cursor position data used by the means for modifying size and placement data. 9) A claim further comprising means for changing the cursor position data used by the means for modifying the cursor position data in response to a change in the base offset value. 8. The character generating device according to 8. 10) further comprising means for converting the modified size and placement data in accordance with text conversion data before the modified size and placement data is passed to the means for generating graphic primitives. The character generating device according to claim 7, characterized in that: 11) The character generation device according to claim 10, wherein the means for converting comprises means for converting the modified size and arrangement data according to two-dimensional conversion using matrix multiplication. 12. The character generation device according to claim 7, further comprising: means for sequentially generating graphic primitives to form a specific character. 13. The character generating device of claim 12, further comprising means for updating the current cursor position according to cursor increment data after a particular character has been generated. 14) The character generating device according to claim 7 or 10, wherein the means for modifying or the means for converting uses values stored in a table. 15) graphics processor means; mapping display means connected to said graphics processor means; program memory means; causing said graphics processor means to draw at least one predetermined shape on said mapping display means; at least one graphics primitive program for displaying a mapped representation of a character; and drawing program means residing in the program memory means for directing execution of the at least one graphics primitive program; A device for generating characters in real time using graphic primitives, characterized in that the characters are generated on the device means. 16) residing in the program memory means for receiving character code data and informing the drawing program of a starting address to cause at least one graphics primitive program to be executed in accordance with the received character code data; 16. The apparatus of claim 15, further comprising a monitoring program. 17) Furthermore, further comprising conversion means for converting at least one predetermined shape according to text conversion data,
16. Device according to claim 15, characterized in that the characters generated are displayed on the mapping display means in a rotated and/or scaled and/or translated form. 18) The apparatus of claim 17, further comprising memory means for passing text conversion data to the conversion means. 19) A computer-based method for generating and displaying characters on a visual display device using graphic primitives, the method comprising: (1) reading character code data; (2) causing the computer to execute the graphics primitives necessary to generate the characters on the bit map display. 20) The computer according to claim 19, further comprising a step (3) between steps (1) and (2) of passing to the computer a list of graphic primitives necessary for generating the character. method based on. 21) The computer-based computer according to claim 20, wherein step (3) includes the step of passing to the computer a list of starting addresses of a program that executes graphic primitives necessary to generate characters. The way I did it. 22) The computer-based method of claim 21, wherein step (3) further comprises the step of passing to the computer a list of parameters needed to execute the graphics primitive. 23) The computer-based method of claim 22, wherein passing the parameter list to the computer includes passing data indicating the size and placement of the graphics primitives. 24) passing the parameter list to the computer comprises transforming the parameters passed to the computer, such that each graphic primitive is transformed such that the character is rotated and/or translated and/or scaled; 24. The computer-based method of claim 23. 25) The computer-based method of claim 19, wherein step (2) further comprises filling at least one graphics primitive with a particular color. 26) A computer character generator using a bit map display device, characterized in that it formulates a bit map of each character to display the character. 27) means for receiving character code data identifying a character within a character set; and identifying at least one graphic primitive within a set of different graphic primitives; means for providing, for each received character data code, data for configuring and indicating the size and placement of the or each identified graphic primitive within the character; means for generating said character from one or more graphic primitives in a size and arrangement indicated by data indicative of size and arrangement; means for converting the character according to the text conversion data before being passed to the means for generating the character; means for updating the position of the cursor after the character has been generated by the means for generating the character; means for causing the generating means to generate characters at a specific position; and means for modifying data indicating size and arrangement so that the means for generating characters at a specific position instructs the character generating means to the specific position. and means for causing the character data receiving means to receive character code data of the next character after the character is generated by the character generating means, the converting means comprising: A character generation device comprising means for converting corrected size and placement data according to two-dimensional conversion using matrix multiplication. 28) means for receiving a character code identifying a character in a character set; a starting address of at least one graphic primitive routine to be executed in forming said character identified by said character code; Table memory means for storing a table containing size and arrangement data used by the routines for the character code, and storing a plurality of said graphic primitive routines from their respective starting addresses. routine memory means for operating the input character code to retrieve data representing a start address of each graphic primitive routine for the received character code from the table memory means; and a control means for executing a graphics primitive routine starting from the fetched start address, each graphics primitive routine comprising:
reading the size and placement data retrieved from the table memory means corresponding to the character code and each graphic primitive routine, and forming a graphic primitive of each shape, size and placement according to the read size and placement data; A character generation device characterized in that it can operate as follows.
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 (en) | 1990-01-08 |
Family
ID=26293339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1010952A Pending JPH023091A (en) | 1988-01-19 | 1989-01-19 | Apparatus and method for generating character |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH023091A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010504559A (en) * | 2006-09-20 | 2010-02-12 | アドビ システムズ, インコーポレイテッド | Glyph rendering and encoding |
-
1989
- 1989-01-19 JP JP1010952A patent/JPH023091A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010504559A (en) * | 2006-09-20 | 2010-02-12 | アドビ システムズ, インコーポレイテッド | Glyph rendering and encoding |
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 | |
US5771034A (en) | Font format | |
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 (en) | Iteratively solving constraints in a font-hinting language | |
KR970008546B1 (en) | Character or graphic processing method | |
JP2761890B2 (en) | Line generator and display device | |
US5537131A (en) | Character generating method and apparatus | |
CA2023832C (en) | Method and apparatus for filing contours in digital typefaces | |
JPH023091A (en) | Apparatus and method for generating character | |
JPH02270019A (en) | Generation system for high quality character pattern | |
EP0062669A1 (en) | Graphic and textual image generator for a raster scan display. | |
EP0325409A2 (en) | Character generation | |
US5659336A (en) | Method and apparatus for creating and transferring a bitmap | |
JP3146771B2 (en) | Font rasterizing apparatus and method | |
JP2835056B2 (en) | High quality character pattern generation method | |
JP3035973B2 (en) | Character output device | |
JP3040624B2 (en) | Pattern generator | |
JP2698348B2 (en) | Character processor | |
JP3082391B2 (en) | Image processing device | |
JP3320566B2 (en) | Character symbol conversion device and printer | |
JPH0950272A (en) | Method and device for outline font generation | |
JPS62247395A (en) | Character pattern expansion processing system |