JPH0511733A - 文字発生装置 - Google Patents

文字発生装置

Info

Publication number
JPH0511733A
JPH0511733A JP3008919A JP891991A JPH0511733A JP H0511733 A JPH0511733 A JP H0511733A JP 3008919 A JP3008919 A JP 3008919A JP 891991 A JP891991 A JP 891991A JP H0511733 A JPH0511733 A JP H0511733A
Authority
JP
Japan
Prior art keywords
data
coordinate
coordinate data
line width
character
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.)
Withdrawn
Application number
JP3008919A
Other languages
English (en)
Inventor
Yoshito Suzuki
芳人 鈴木
Shinji Wakizaka
新路 脇坂
Hiroshi Wada
弘士 和田
Hiroyuki Koizumi
洋之 小泉
Susumu Kaneko
進 金子
Fumihiro Takahashi
文博 高橋
Toshio Asai
俊雄 浅井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Microcomputer System Ltd
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Microcomputer System Ltd, Hitachi Ltd filed Critical Hitachi Microcomputer System Ltd
Priority to JP3008919A priority Critical patent/JPH0511733A/ja
Publication of JPH0511733A publication Critical patent/JPH0511733A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)
  • Digital Computer Display Output (AREA)

Abstract

(57)【要約】 【構成】座標デ−タに補正フラグを付加し、アフィン変
換による座標変換の際又は曲線補間の際に、指定線の線
幅を補正する。 【効果】アフィン変換の際又は曲線補間の際に合わせて
線幅の補正が行なわれるため、処理時間の短縮化が図れ
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ベクトル形式で表わさ
れた文字の輪郭デ−タを拡大又は縮小演算した後、ラス
タ形式のデ−タに変換して出力する文字発生方法及び文
字発生装置に関し、特にアフィン変換によって、文字の
輪郭デ−タを拡大又は縮小演算し、その後、ラスタ形式
のデ−タに変換して、出力する文字発生方法及び文字発
生装置に関する。
【0002】
【従来の技術】複数の文字サイズの文字を出力する方法
として、近年文字デ−タの輪郭上の座標を文字フォント
としてROM又は外部記憶装置に持ち、指定出力サイズ
に従って拡大又は縮小演算して出力するものがある。こ
の方法では、比較的小さな文字を出力する為の縮小演算
において、演算誤差が大きくなるので、縮小演算後文字
品質低下を防ぐため、縦および横方向の線幅を補正する
処理が必要である。
【0003】図12は、従来の文字発生装置のブロック
図である。
【0004】1は、ベクトル形式の文字フォントデ−タ
を表わしており、6は、アフィン変換または曲線補間等
の座標変換を実行するブロックであり、7は、1文字当
りの全ての座標変換が終了した後、線幅補正を行う線幅
補正ブロックであり、3は、ライン又は曲線発生を行う
ブロックであり、4は、3で発生した輪郭文字の内部を
塗りつぶすブロックである。
【0005】また、同図において、5は、ドットに展開
されたラスタ形式の文字パタ−ンを表わしている。
【0006】特開昭62−272295号には、線幅制
御機能を持つ文字パタ−ンの拡大・縮小方式が記載され
ている。
【0007】
【発明が解決しようとする課題】上記従来の線幅制御方
式では、図12に示すように、1文字当たりの全ての座
標変換が終了した後、線幅補正を行う為、処理時間が長
くかかるという欠点があった。また、線幅補正を行う為
には、アフィン変換されたデータから線幅補正に必要な
データを抽出し、保持しておくことが必要とされる。そ
のため、このデータを蓄えておくための比較的大容量の
RAM等の記憶装置が必要であった。よって、従来の線
幅補正方式では、線幅補正機能を有し、ベクトル形式で
表わされた文字の輪郭データを、アフィン変換により座
標変換を施した後に、ラスタ形式で表わされた文字デー
タに変換する文字発生装置をLSI化することは困難で
あった。
【0008】本発明の目的は、LSI化に適した文字発
生方法を提供することにある。
【0009】本発明の他の目的は、線幅補正機能を持つ
LSI化された文字発生装置を提供することにある。
【0010】また、本発明の他の目的は、LSI化が可
能な小さな回路規模で線幅補正が高速に実行できる線幅
補正方式およびその装置を提供することにある。
【0011】本発明の他の目的は以下の説明から理解で
きるであろう。
【0012】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
【0013】すなわち、アフィン変換により座標変換を
行いながら、または、曲線補間を行いながら、指定した
直線の線幅を指定した線幅に補正するようにするもので
ある。 アフィン変換により座標変換を行いながら、ま
たは、曲線補間を行いながら、指定した直線の線幅を指
定した線幅に補正することにおいて、修正されるべき座
標データには、補正の内容を示すフラグデータが付加さ
れ、この補正フラグデータに従って、座標データが修正
されることにより、指定した直線の線幅を指定した線幅
に補正するようにするものである。
【0014】また、修正されるべき座標データは、次に
処理されるべき座標データに向うベクトルの方向に対し
て、垂直方向にのみ修正されるようにするものである。
【0015】さらに、修正されるべき座標データは、1
つ前に修正された座標データが修正されていた場合に、
修正された座標データの座標値が継承されるようにする
ものである。
【0016】アウトラインフォントデータを構成する座
標点の集りで作られたアウトライン文字の各グループで
は、始点及び終点は同一座標データで構成されており、
処理された座標データの出力される順番は、第2番目の
座標データから順に出力し、最後に、第2番目の座標デ
ータを出力するようにしたものである。
【0017】あるいは、上記アウトラインフォントデー
タを構成する座標点の集りで作られたアウトライン文字
の各ループでは、始点及び終点は同一座標データで構成
されており、第1番目以降の座標データの順列が切り離
すことができない一連のデータの場合に、処理された座
標データの出力される順番は、切り離すことができると
ころの座標データから出力し、最後に、第2番目以降の
一連の座標データを出力するようにしたものである。
【0018】
【作用】上記した手段によれば、アフィン変換により座
標変換を行いながら、または、曲線補間を行いながら、
指定した直線の線幅を指定した線幅に補正を行うことか
ら、アフィン変換された、あるいは曲線補間された1文
字当りのデータから線幅補正に必要なデータを抽出し、
このデータを蓄えておく大規模なRAM等の記憶装置を
用いることなく線幅補正できる。そのため、線幅補正機
能を持つ文字発生装置全体の規模を縮小することができ
る。
【0019】また、指定した直線の線幅を指定した線幅
に補正する線幅補正において、修正されるべき座標デー
タには、補正の内容を示す補正フラグデータを付加し、
補正フラグデータに従って座標データが修正されること
から、アフィン変換された、あるいは曲線補間された1
文字当りのデータから線幅補正に必要なデータを抽出す
る等の処理がいらないことから、高速な線幅補正が実現
できる。
【0020】また、修正されるべき座標データは、次に
処理されるべき座標データに向うベクトル方向に対し
て、垂直方向にのみ修正される。例えば、1本の直線を
表わす1組の座標データ(x1,y1)(x2,y2)にお
いて、一方の座標データ(x1,y1)により表わされる
座標点から他方の座標データ(x2,y2)により表わさ
れる座標点へ向うベクトルがx軸に沿っている場合に
は、上記一方の座標データ(x1,y1)は、y座標値の
み修正される。これに対して、上記ベクトルがY軸に沿
っている場合には、上記一方の座標データ(x1,y1
は、x座標値のみ修正される。
【0021】また、修正されるべき座標データは、1つ
前に処理された座標データが修正されていた場合には、
修正された座標データの座標値が継承される、すなわち
1つ前のx座標値が修正されたならば、そのx座標値が
修正されるべき座標データのx座標値として置換され
る。そのため、組を構成する座標データ(x1
1,),(x2,y2)において、どちらか1方のみ修
正すれば良いため、線幅補正に必要なレジスタ等を1/
2に減らすことができ、装置全体の規模を縮小すること
ができる。
【0022】また、アウトラインフォントデータを構成
する座標点の集りで作られたアウトライン文字の各ルー
プでは、始点及び終点は同一座標データで構成されてお
り、処理された座標データの出力される順番は、第2番
目の座標データから順に出力し、最後に、第2番目の座
標データを出力する。
【0023】また、第1番目以降の座標データの順列が
切り離すことができない一連のデータの場合、例えば曲
線を表わすデータの場合には、処理された座標データの
出力される順番は、切り離すことができるところの座標
データから出力し、最後に、第2番目以降の一連の座標
データを出力することにより、品質の良い文字を出力す
ることができる。
【0024】
【実施例】以下、本発明の実施例を詳細に説明する。
【0025】図1は、本発明を適用した文字発生装置の
ブロック図である。なお、本装置は、これに限定する必
要はなく、マイクロコンピュータ周辺機器としてLSI
化した単体素子であっても、システム化した装置であっ
てもよい。
【0026】1は、ベクトル形式の文字フォントデータ
を表わしており、2は、アフィン変換・曲線補間等の座
標変換と同時に線幅補正を実現する制御部であり、3
は、ライン又は曲線発生部、4は、3で発生した輪郭文
字の内部を塗りつぶすブロックである。また同図におい
て、5は、ドットに展開されたラスタ形式の文字パター
ンを表わしている。
【0027】図5には、本発明の文字発生装置を適用し
た文字発生用LSI(同図には、アウトラインフォント
プロセッサOFPとして示されている。以下、単にOF
Pとも称する)を用いたシステム構成の一実施例が示さ
れている。システムバス331は、アドレスバス33−
1,データバス33−2,コントロールバス33−3か
らなる。システムバス33には、ホストCPU26、シ
ステムメモリ27、アウトラインフォントメモリ28、
DMAコントローラ29、OFP25、ページメモリコ
ントローラ30が接続されている。又、OFPにはペー
ジメモリコントローラ30が接続され、ペ−ジメモリコ
ントローラにはページメモリが接続されている。ページ
メモリ31は、プリンタ又はCRTシステム32に接続
される。
【0028】このシステムは、主にページプリンタコン
トローラやCRTシステムに用いられる。例えば、OF
P25は、ホストCPU26からの信号により、DMA
C29を介して、アウトラインフォントメモリ28から
アウトラインフォントデータである座標データを受け取
り、ビットマップデータに変換して、ページメモリコン
トローラ30を介して、ページメモリ31上に書き込
む。
【0029】図4には、上記OFPの内部ブロック図が
示されている。特に制限されないが、同図において実線
で囲まれた各回路ブロックは、周知の半導体集積回路技
術によって、1つの半導体チップ上に形成されている。
ここで、OFP25は、ホストインタフェース23及び
ホストインタフェース内部にあるフォント入力ファイフ
ォFiFo15、アフィン変換ブロック及び線幅補正ブ
ロックから成るブロック16、ファイフォFiFo0
(20),曲線補間ブロック17、ファイフォFIFo
1(21),ライン発生ブロック18、ドットメモリ2
2、塗り潰しビットブロックトランスファBitBLT
ブロック19、ページメモリインタフェース24から構
成されている。ホストインタフェ−ス23からは、上記
システムバス33に接続されるアドレスバス(A1〜A
6)、データバス(D0〜D31)、制御信号群が入出
力される。内部バスデータ14は、システムデータバス
に接続されている。また、ページメモリインタフェース
24からは、ページメモリコントローラ30に接続され
るアドレスバス(PA1〜PA24)、データバス(P
D0〜PD15)、制御信号群が入出力される。
【0030】このように、本実施例におけるOFP25
は、ホストインタフェース、ページメモリインタフェー
ス、及び文字発生処理のためのブロック群の3つに分割
構成される。特に、文字発生処理のためのブロック群
は、座標変換機能、曲線補間機能、ライン発生機能、塗
り潰しとデータ転送機能の4つのブロックにわけられ、
線幅補正機能は、座標変換ブロック又は曲線補間ブロッ
ク中に入れられる。
【0031】更に、本実施例においては、アフィン変換
ブロック16と曲線補間ブロック17との間に設置され
たFiFo20、曲線補間ブロック17とライン発生ブ
ロック18との間に設置されたFiFo21、ドットメ
モリ22、及び内部データバス14などにより、後で詳
述するように4つ機能ブロックがそれぞれ独立に動作
し、パイプライン処理が可能となっている。
【0032】また、上記各ブロック16,17,18及
び19のそれぞれは、図示されていにい複数のレジスタ
を有しており、これらのレジスタは、内部アドレス信号
線AI1〜AI6を介して供給される内部アドレス信号
によって選択される。内部データバスDI0〜DI15
を介して供給されるデータは、例えば上記のようにして
選択されたレジスタに書き込まれる。また、ホストイン
タフェース23から各ブロックには制御信号も供給され
る。なお、同図において、WR1は、ファイフォFiF
oのライトレディー信号を示しており、RP1はファイ
フォFiFoのリードレディー信号を表わしている。
【0033】本発明の理解を容易にするために、まず、
文字とそれを表すデ−タについて次に説明する。
【0034】図6に1つの文字が示されている。この図
からわかるように、1つの文字は複数の閉じた線によっ
て表わすことができる。同図では、この閉じた線をル−
プと表している。すなわち、例えば文字“日”又は数字
“日”は、ル−プ1,ル−プ2,ル−プ3の3個の閉じ
た線によって表わされる。文字をベクトル形式で表わす
場合、例えばベクトルの左側を塗り潰すと規定すると、
上記ル−プ1は半時計方向のベクトルにより表わされ、
ル−プ2及びル−プ3は、時計方向のベクトルにより表
わされる。これにより、ル−プ1とル−プ2との間の空
間とル−プ2とル−プ3との間の空間及びル−プ1とル
−プ3の間の空間が塗り潰されることになり、文字
“日”(以下、数字“日”も含む)が描かれる。もちろ
ん、ベクトルの右側を塗り潰すと規定してもよい。但
し、この場合には、上記ル−プ1は時計方向、ル−プ2
及びル−プ3は、反時計方向のベクトルにより表わされ
る。
【0035】ル−プとなるため、例えば(xO,yO)の
座標デ−タから始まるとした場合、座標デ−タ(x4
4)は、初めの座標デ−タ(xO,yO)と同じにな
る。
【0036】図6に示された文字“日”を、本発明に従
って座標デ−タに表わすと、図7に示されているように
なる。図7において“8001 16”はル−プ開始フ
ラブを示しており、“8004 16”は1文字の終了
フラブを示している。この実施例では上述したように、
ベクトル方向に対して左側を塗り潰すと規定している。
そのため、図7の座標デ−タ(xO,yO),(x1
1)間では、ベクトルが座標デ−タ(xO,yO),か
ら(x1,y1)へ向かうことになる。このベクトルは、
図6から判るようにX軸に沿ったベクトルである。その
ため、Y軸方向に座標を修正することができる。そこ
で、このベクトルが発する座標デ−タ(xO,yO)に補
正フラグ(線幅補正フラグ)が付加される。但し、この
ベクトルは、線幅の補正の際、基準となるものであるた
め、修正あるいは置換を示す補正フラグは付加されず、
基準を示す補正フラグを付加する。
【0037】座標デ−タ(x13,y13)から発するベク
トルは、同じくX軸に沿っているため、Y軸方向に座標
デ−タを修正することができる。この実施例では、この
ベクトルは、線幅補正の際に修正されるため、座標デ−
タ(x13,y13)には、修正を表わす補正フラグが付加
される。
【0038】また、座標デ−タ(x1,y1)から座標デ
−タ(x2,y2)へ向かうベクトルは、Y軸に沿ってい
るめ、線幅補正の際、X軸方向に修正することができ
る。そのため、座標デ−タ(x1,y1)には、修正フラ
グを付加することが可能である。しかしながら、本実施
例においては、説明を容易にするために、X軸方向の線
幅補正を示していないため、補正フラグは付加されてい
ない。もちろん補正フラグを付加して、X軸方向の線幅
補正をしてもよい。この場合にも基準となるものには、
基準であることを示す補正フラグが付加され、修正され
るものには、修正あるいは置換を示す補正フラグが付加
される。次にOFPの動作について説明する。アウトラ
インフォントメモリ28からリ−ドした座標デ−タは、
ホストインタフェ−ス内のフォント入力FiFo15に
一時的に格納される。アフィン変換ブロックは、信号線
100を介してフォント入力FiFo15から順に座標
デ−タ(x,y)を読み込み、アフィン変換(次式)を
実行する。
【0039】
【数1】x´=ax+by+e y´=cx+dy+f ここでa,b,c,dはアフィンマトリクスデ−タ定数
であり、e,fは定数である。これらの定数は、拡大あ
るいは縮少のために、OFP25の外部から供給される
拡大あるいは縮少の量に関するデ−タにもとずいて定め
られ、アフィン変換ブロック内の図示されていないレジ
スタに設定される。また、x´,y´は、アフィン変換
により変換、すなわち拡大又は縮少された座標デ−タを
表わしている。尚、本明細書においては、直交座標系で
座標を表わしている。
【0040】アフィン変換ブロック16の動作には、ア
フィン変換モ−ドと転送モ−ドとがあり、転送モ−ドで
は、アフィン変換せずに座標デ−タを次段に送る。これ
に対して、アフィン変換モ−ドでは、図15に示されて
いるようなアフィン変換動作が行なわれる。アフィン変
換動作について、図4及び図15を用いて次に説明す
る。
【0041】上記フォント入力FiFo15には、上述
した座標デ−タ以外に、フラグデ−タ(線幅補正フラグ
を含む)が格納される。後で図2(c)を用いて述べる
が、上記フラグデ−タには、それを識別するための拡張
識別子が与えられている。フォント入力FiFo15か
ら供給されたデ−タは、この拡張識別子にもとずいて、
座標デ−タかフラグデ−タかの判定が行なわれる(ステ
ップ51)。座標デ−タと判定されたデ−タに対して
は、上式に示したアフィン変換が行なわれる(ステップ
52)。
【0042】アフィン変換された座標デ−タ(x′,
y′)が一文字を構成する座標デ−タのル−プの一番目
の座標デ−タかどうかが判定される(ステップ53)。
この判定は、例えばル−プ開始フラグ“8001 1
6”直後の座標デ−タか否かを判定することにより実行
できる(図6,図7参照)。
【0043】一番目の座標デ−タであると判定された場
合、ライン用アドレス計算がアフィン変換ブロック16
で行なわれる。ここで、ライン用アドレス計算とは、ラ
イン発生ブロック18が座標デ−タを受け取り、座標点
間をドットイメ−ジでラインを発生する際に、一文字を
構成する座標デ−タの各ル−プの一番目の座標デ−タに
対応するドットメモリ22におけるアドレスを求める計
算のことである。すなわち、一番目の座標デ−タに対応
したドットメモリ22でのアドレスを求める計算であ
る。2番以降の座標デ−タについては、一番目の座標デ
−タに対応したアドレスが求まっているため、このアド
レスに対する変位として、2番目以降の座標デ−タに対
応したアドレス(ドットメモリ22におけるアドレス)
を求めることができる。そのため、2番目以降について
は、ライン発生ブロック18がアドレスを管理すること
で対処できる。
【0044】なお、本実施例においては、アフィン変換
ブロック16は、線幅補正を実行するために上記補正フ
ラグによって指定された座標デ−タ(x′,y′)に対
して修正を行い、修正された座標デ−タ(x″,y″)
をFiFo20へ出力する。この線幅補正機能は後に詳
述する。又、先にも記したようにこの線幅補正機能は曲
線補間ブロック17にあっても良い。
【0045】曲線補間ブロック17は、FiFo20に
一時的に格納された座標データ(x′,y′)あるいは
(x″,y″)をリードし、曲線データの場合は曲線を
あらわす新たな座標データを発生して、FiFo21へ
出力する。この曲線補間ブロック17ではベゼー曲線補
間方式などの一般的手法で4つの座標を使って滑らかな
曲線になる補間点データを発生する。
【0046】ライン発生ブロック18は、FiFo21
に一時的に格納された座標データを読み込み、座標点間
をドットイメージでラインを発生し、文字の輪郭を作
り、ビットマップデータとして、ドットメモリ22へ書
き込む。このライン発生の方式としては、例えば良く知
られたブレゼンハムのアルゴリズムを用いる。塗り潰し
Bit BLT Blackは、ドットメモリ22から1文字ごとに
輪郭を表すビットマップデータを読み込み、輪郭内を塗
り潰し、ページメモリインタフェース24を経由して、
ページメモリ31上にビットマップデータをブロック転
送しながら書き込む。
【0047】さて、線幅補正機能の説明に入る前に、図
4に、示した文字発生処理に対する各機能ブロックのパ
イプライン化について説明しておく。以上の説明から明
らかなように、各機能ブロック16,17,18,19
はそれぞれのデータ受け渡しのために、FiFo20,
21又はドットメモリを内蔵しているので、必要なデー
タがFiFo20,21あるいはドットメモリ22内に
用意されていれば、それぞれ独立に動作することができ
る。ここでデータが用意されていることを示す信号が上
記信号RR1であり、またFiFo20,21、ドット
メモリは有限の大きさなので、蓄えられたデータの数
が、その大きさを越えていることを示す信号が上記WR
1である。
【0048】このOFP25のパイプライン処理によっ
て、文字列“ABC”を出力する処理を図14を用いて
説明する。図14において、矩形は各機能ブロックの動
作している時間を表す。なお、説明の簡単化のために、
一文字の処理に要する時間は、どの機能ブロックにおい
ても単位時間Tかかるとする。従来の文字発生装置にお
いては、各機能ブロックは前段の機能ブロックの処理が
終了した後でなければ動作できなかったために、12T
の処理時間がかかっていた。本実施例の文字発生装置を
用いると、前段の機能ブロックにおいて次段に必要なデ
ータが処理されると同時に次段ブロックの処理が開始さ
れる。次段で必要なデータとは、例えば曲線補間ブロッ
ク17の場合には、1曲線を表現する4座標分のデー
タ、又は曲線以外のデータ(フラグデータ及び直線デー
タ)では1ワード分である。又、ライン発生ブロック間
18のる場合には、1ラインを表す座標分のデータであ
る。但し、塗り潰し、Bit BLTブロック19は、
ライン発生ブロック18が一文字分の全てのデータを処
理し終わった後動作を開始する。従って、文字列、“A
BC”を出力するのに要する時間は4Tとなり、従来の
文字発生装置の3倍の処理性能が得られる。
【0049】図2は、文字ファイフォデータを示す。図
2(a)は従来の輪郭データで、図2(b)は本発明に
かかわる補正フラグ8を付与したデータである。図2
(c)は上記補正フラグ8の詳細なフォーマットを示
す。線幅を補正するために、前述したように、所定の座
標データには、予め補正フラグ8を付加する。付加する
補正フラグの内容については、後で説明する。但し、信
号線100を介してブロック16に取り込まれたデータ
が補正フラグであるか否かを識別できるように、補正フ
ラグには、その12ビット〜15ビットに補正フラグで
あることを示す拡張識別子がセットされることを注意し
ていただきたい(図2c,図4参照)。
【0050】図3は、図1に示した線幅補正部2の詳細
ブロックを示す。すなわち、図3には、図4の線幅補正
ブロック内の主要ブロックが示されている。図3におい
て、10は図2(c)に示された補正フラグ8のビット
0〜7により表される番号(0〜n:整数)及び補正フ
ラグが付加されたアフィン変換後の座標データ(x′,
y′)、あるいは線幅補正で修正された座標データ
(x″,y″)のいずれか一方の座標値データを蓄える
RAM(メモリ)である。11は、補正フラグの情報に
従って、補正フラグが付加された座標データ(x′,
y′)を修正する演算部である。13は、線幅を任意の
値に設定するための指定線幅レジスタである。同図には
示されていないが、上記指定線幅レジスタ13には、図
4の内部データバスDI0〜DI15からデータが供給
される。このデータによって線幅が設定される。
【0051】また、RAM(10)の入力側には、選択
回数(図示せず)が設けられており、補正フラグの内容
に従って、演算部11からのデータ又はアフィン変換ブ
ロック(又は曲線補間ブロック)9からのデータをRA
M(10)に伝える。
【0052】なお、線幅補正ブロックがアフィン変換ブ
ロックの後に設けられる場合、図3における12のRA
M2は、図4のFiFo0(20)に相当し、図3のブ
ロック9は、アフィン変換ブロックに相当し、図3のブ
ロック3は曲線補間ブロックに相当する。また、線幅補
正ブロックが曲線補間ブロックの後に設けられる場合に
は、上記ブロック9は、曲線補間ブロックに相当し、上
記ブロック3は、ライン発生ブロックに相当し、上記R
AM2は、FiFo1(21)に相当する。
【0053】図6から図11および図13により、図3
で行なわれる線幅補正方法について説明する。
【0054】図6は、“日”という文字を例にとり、座
標デ−タで構成されるアウトラインフォントを模式的に
示した図である。実際には、曲線等が含まれているが、
ここでは説明を容易にするために、水平線及び垂直線で
構成されているものとする。この例では、3本の水平線
と2本の垂直線で構成されている。説明を簡略化するた
め、水平線のみを線幅補正することにする。座標デ−タ
(xO,yO)〜(x14,y14)は、アフィン変換後の座
標デ−タである。実際には、アフィン変換された座標デ
−タは、順次線幅補正部に供給される。ここでは、説明
を容易にするために、アフィン変換後の座標デ−タが示
されている。
【0055】水平線に番号(0),(1),(2)を付
ける。この番号に対応した番号を図2(C)の補正フラ
グに付加する。すなわち、水平線を形成する2つのX軸
方向のベクトルをそれぞれ発する座標デ−タに付加され
るところの補正フラグのビット0〜7によって、その水
平線の番号を表わすようにする。例えば水平線(0)を
形成するベクトルを発する座標デ−タは(xO,yO)と
(x8,y8)であり、これらに付加される補正フラグの
ビット0〜7には、(0)を表わすようなデ−タがセッ
トされる。
【0056】以下、これらの水平線がすべて2ビットの
線幅になるように線幅補正を行う場合について述べる。
【0057】線幅補正方法として、図9(a)に示すよ
うに、座標点(xn,yn)の修正は、次の座標点(x
n+1,yn+1)に向かって(ベクトル方向に対し
て)、垂直方向のみ行えるものとする。また、図9
(b)に示すように、修正された座標点(xn,yn)
から、次の座標点(xn+1,yn+1)へ処理が移行
した場合、修正された座標値が継承される。すなわち、
座標点(xn,yn)において、ynがyn″に修正さ
れた場合、次の座標点(xn+1,yn+1)のyn+
1はyn″がそのまま継承されたyn″になる。
【0058】ここで、座標点の修正と、修正された座標
値を保存しておき、新たな座標点の修正時に保存してお
いた座標値に置き換える置換とがある。図11に示すよ
うに、水平線又は垂直線が、複数の座標点から構成され
ている場合は、修正点と置換点が発生する。すなわち、
初めの修正では修正が行われ、次の補正では、修正に使
われた座標値を利用して置換が行われる。これは、同じ
修正処理を繰り返さないためである。
【0059】図13に、以上の方法による線幅補正のフ
ロ−チャ−トを示す。
【0060】以上の方法に従って線幅補正を実行するた
めに、図6に示すアウトラインフォントデ−タを線幅補
正用フォントデ−タ、すなわち、補正フラグ8を付与し
たデ−タに、ル−プ1,ル−プ2,ル−プ3の順に加工
する。水平線を構成する座標デ−タ、例えば水平線
(0)においては、(xo,yo),(x1,y1),
(x4,y4),(x5,y5),(x8,y8),(x9
9)であり、図7のようにデ−タ列としたときに最初
に現われたデ−タが基準点となる。
【0061】すなわち、座標デ−タ(xo,yo)が基
準点と定められ、次のデ−タ(x1,y1)へ向かう線分
が基準線(0)と定められる。
【0062】この線分のベクトルの方向をそれと平行な
座標軸と比べた場合に、ベクトルの方向が座標値の増加
方向(正の方向)であれば、座標デ−タ(xo,yo)
に付加される補正フラグ8のビット11を“0”にセッ
トする。これに対して、ベクトルの方向が座標値の減少
方向(負の方向)であれば、座標デ−タ(xo,yo)
の補正フラグ8のビット11には“1”をセットする。
修正点の修正は、基準線の座標値に指定した線幅値(例
えば指定線幅レジスタ13にセットされている値)を加
算するか、あるいは減算することによって行なわれる。
この加算するか減算するかは、基準線のベクトル方向で
一意に決まる。本実施例のように、ベクトル方向に対し
て左側を塗り潰すと仮定し、y軸方向についてのみ線幅
補正を行なう場合には、基準線のベクトル方向が正の方
向のとき、基準線のY座標値に上記線幅値を加算するこ
とにより修正点が求まる。これに対して基準線のベクト
ル方向が負の方向であるときには、基準線のy座標値か
ら上記線幅値を減算することにより修正値が求まる。
【0063】例えば図6の修正点(x13,y13)は基準
線(2)に対して上(Y座標値が増える方向)にあるの
で基準線(2)のy座標値Y6に線幅値を加算すること
により、修正後の点Y13″を求まるが、この時、基準
線(2)のベクトル方向は、座標軸に対して正の方向に
ある。
【0064】一方、修正点(x11,y11)は基準線
(1)対して下(y座標値が減る方向)にあるので、基
準線(1)のy座標値Y2から線幅値を減算することに
より修正後の点が求まる。この時の基準線(1)のベク
トル方向は座標軸に対して負の方向にある。
【0065】以上のように、修正点の修正は、基準線の
座標値に線幅値を、基準線のベクトル方向によって決ま
る演算(加算あるいは減算)をほどこすことにより行え
る。
【0066】座標デ−タ(x1,y1)は、y軸方向に向
かうベクトルの発生源である。そのため、x軸方向の修
正が可能である。つまり座標デ−タ(x1,y1)はx軸
方向に修正されることから、水平線のみ線幅補正の場
合、何の属性ももたない。言い換えるならば、補正フラ
グを付加しなくてもよい。(x2,y2)は、水平線
(1)の基準点となる。
【0067】(x3,y3)は、属性をもたない。
(x4,y4)は、基準点(xo,yo)と同様であり、
かつ、基準点は不動点であることから、属性をもたな
い。
【0068】次に、同じ水平線(0)に関して、図7の
デ−タ列において次に現われるデ−タであって、y軸方
向に修正できる座標点が修正点になる。この例では、デ
−タ(x8,y8)が、この2番目に現われたデ−タであ
り、修正点となる。ちなみに、(x5,y5)はX軸方向
に修正される点であることから、2番目に現われるデ−
タではない。さらに、この例では現われないが、3番目
以降に現われたデ−タは置換点となる。
【0069】同様にして、すべての座標デ−タに対して
みていくと、水平線(1)に対しては、(x2,y2)が
基準点となり、(x11,y11)が修正点となる。水平線
(2)に対しては、(x6,y6)が基準点となり、(x
13,y13)が修正点となる。
【0070】以上の線幅補正は水平線のみの場合を考え
たが、同様にして、垂直線に対しても座標デ−タに属性
を付けていけば、水平・垂直線を同時に線幅補正でき
る。このとき、1つの座標デ−タには、水平線線幅補正
か垂直線線幅補正かのいずれか1方の属性しか付かな
い。
【0071】図7は、図6の座標デ−タに対して、属性
を持つ座標デ−タにその属性を補正フラグにセットして
付与した線幅補正用フォントデ−タ構造である。上述し
たように、“8001 16”はル−プ開始フラグ、
“8004 16”は1文字終了フラグである。この線
幅補正用フォントデ−タを順次読み込みながら補正フラ
グに従って線幅補正を実行していく。
【0072】図8は、図3に示すRAM1(10)に格
納されていく座標デ−タを表わしている。ここで、補正
フラグの番号(ビット0〜ビット7で表わされる)は、
RAM1のアドレスとして使われ、補正フラグの番号に
よって示されたアドレスに、その補正フラグが付加され
た座標デ−タが格納される。図8(a)は、(xo,y
o)から(x6,y6)まで処理された時点のRAM1の
様子であり、番号に相当する基準点の座標値が書き込ま
れている。これは、補正フラグの8,9ビットの内容が
“00”(基準点)であることに基づいて処理される。
すなわち、補正フラグの8,9ビットによって、これら
の補正フラグが付加された座標デ−タは、基準点である
ことが示される。そのため、図示されていない上記選択
回路によってyo,y2,y6の座標値がそのまま、RA
M1のアドレス(0),(1),(2)に書き込まれ
る。
【0073】図8(b)は、(x8,y8)が処理された
時点のRAM1の様子であり、(x8,y8)に付加され
た補正フラグの8,9ビットの内容が“01”(修正
点)10ビットの内容が“1”(Y座標を修正・置換)
11ビットの内容が“0”(基準線方向が正)に基づ
き、番号(0)番地のyoがy8″に書き換えられてい
る。すなわち、補正フラグの8,9ビットで、この座標
デ−タが修正点であることが示され、10ビット目でy
座標の修正・置換であることが表われ、11ビット目で
基準線が正であることが表わされる。そのため、yoの
座標値に線幅補正値が加算され、これにより得られたy
8″が補正フラグの番地で表わされるRAMのアドレス
(0)に書き込まれる。ここで、基準点のyoが消され
るが、これは修正後は不要になり、さらに、同じ番号の
置換点の処理時には、書き換えられたy8″が使用され
るためである。
【0074】図8(c)は、すべての座標デ−タが処理
されたときのRAM1の様子である。RAM1の容量
は、XとYの修正点の合計の半分ですむことがわかる。
この例では、線幅補正される前から、水平線(0)及び
(1)は2ビットの幅であることから、y8″=y8,y
11″=y11である。
【0075】また、(x14,y14)においては、前修正
点(x13,y13″)のy13″が継承され、y14→y14
=y13″となっている。この継承を行なうために、特に
制限されないが、演算部11(図3参照)には、図示さ
れていないX系のレジスタとY系のレジスタが1個づつ
設けられている。このレジスタには、ベクトルを発する
一方の座標デ−タが修正された場合、その修正された結
果が保持される。そして、保持された値は、ベクトルが
向かう他方の座標デ−タを修正する際に出力される。こ
れにより、上述したような継承が実現できる。X系とY
系があるのは、X軸方向の継承とY軸方向の継承ができ
るようにするためである。
【0076】図10は、本発明の線幅補正方法におい
て、図3のRAM2(12)または図4のFiFo 0
(20)あるいはFiFo 1(21)に出力される順
序を示したものである。図10(a)は、線幅補正を実
行し、入力された座標デ−タP1と同じ順番で出力する
場合を示している。この場合には、P1がゴミとして残
る場合がある。そこで、図10(b)に示すようなル−
プの介しが直線で始まる場合には、P1を出力せず、P2
から出力し、終わりにP2を出力し、P2が始点となり、
新たにP6を終点とする。図10(c)に示すようなル
−プの開始が曲線発生用制御デ−タで切り離すことがで
きない一連のデ−タの場合には、P1,P2,P3を出力
せず、P4から出力し、終わりにP2,P3,P4を出力
し、P4が始点となり、新たにP9が終点となる。以上の
出力方式により、品質のよいル−プが発生できる。
【0077】
【発明の効果】本発明における文字発生装置において
は、線幅補正をアフィン変換または曲線補間と同時に行
なえる為、処理時間の短縮が可能となる。また、従来の
方法では修正点を全てメモリ上にスタックしなければな
らなかったがこれが不要となり、大幅なメモリの消滅が
可能となる。
【図面の簡単な説明】
【図1】本発明の一実施例の文字発生装置のブロック図
である。
【図2】補正用デ−タを示す図である。
【図3】線幅補正部の詳細ブロック図である。
【図4】OFPの内部ブロック図である。
【図5】OFPのシステム構成図である。
【図6】線幅補正方法を説明するための図である。
【図7】線幅補正用フォントデ−タの構造を示す図であ
る。
【図8】線幅補正方法を説明するための図である。
【図9】線幅補正方法を説明するための図である。
【図10】線幅補正方法を説明するための図である。
【図11】線幅補正方法を説明するための図である。
【図12】従来の文字発生装置のブロック図である。
【図13】線幅補正のフロ−チャ−ト図である。
【図14】OFPの動作を説明するためのタイミングチ
ャ−ト図である。
【図15】OFPの動作を説明するためのフロ−チャ−
ト図である。
【符号の説明】
1は、文字フォントデ−タ、2は線幅補正部、8は補正
フラグ、10はRAM1、11は演算部、13は指定線
幅レジスタ、3はライン又は曲線発生部、4は塗りつぶ
し部、5は拡大・縮小文字パタ−ン、25はOFPを示
している。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 脇坂 新路 神奈川県戸塚区吉田町292番地 株式会社 日立製作所マイクロエレクトロニクス機器 開発研究所内 (72)発明者 和田 弘士 神奈川県戸塚区吉田町292番地 株式会社 日立製作所マイクロエレクトロニクス機器 開発研究所内 (72)発明者 小泉 洋之 東京都小平市上水本町5丁目20番1号 株 式会社日立製作所武蔵工場内 (72)発明者 金子 進 東京都小平市上水本町5丁目20番1号 株 式会社日立製作所武蔵工場内 (72)発明者 高橋 文博 東京都小平市上水本町5丁目22番1号 株 式会社日立マイコンシステム内 (72)発明者 浅井 俊雄 東京都小平市上水本町5丁目22番1号 株 式会社日立マイコンシステム内

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】ベクトル形式で表わされた文字の輪郭デ−
    タを、アフィン変換により座標変換を施した後に、ラス
    タ形式で表わされた文字デ−タに変換することにより文
    字を発生する文字発生装置であって、アフィン変換によ
    り座標変換を行いながら、または、曲線補間を行いなが
    ら、指定した直線の線幅を指定した線幅に補正すること
    を特徴とする文字発生装置。
  2. 【請求項2】上気線幅の補正は、修正される座標デ−タ
    に、補正の内容を示す補正フラグデ−タが付加され、該
    補正フラグに従って座標デ−タが修正されることによ
    り、指定した直線の線幅を指定した線幅に補正すること
    を特徴とする請求項1記載の文字発生装置。
  3. 【請求項3】上記修正される座標デ−タは、次に処理さ
    れる座標デ−タに向うベクトルの方向に対して、垂直方
    向にのみ修正されることを特徴とする請求項1または請
    求項2記載の文字発生装置。
  4. 【請求項4】上記修正される座標デ−タは、1つ前に処
    理された座標デ−タが修正されていた場合に、修正され
    た座標デ−タの座標値が継承されることを特徴とする請
    求項1、請求項2または請求項3記載の文字発生装置。
  5. 【請求項5】アウトラインフォントデ−タを構成する座
    標点の集りで作られたアウトライン文字の各ル−プにお
    いて、始点及び終点は同一座標デ−タで構成されてお
    り、処理された座標デ−タの出力される順番は、第2番
    目の座標デ−タから順に出力し、最後に、第2番目の座
    標デ−タを出力することを特徴とする請求項1記載の文
    字発生装置。
  6. 【請求項6】上記アウトラインフォントデ−タを構成す
    る座標点の集りで作られたアウトライン文字の各ル−プ
    において、始点及び終点は同一座標デ−タで構成されて
    おり、第1番目以降デ−タの順列が切り離すことができ
    ない一連のデ−タの場合に、処理された座標デ−タの出
    力される順番は、切り離すことができるところの座標デ
    −タから出力し、最後に、第2番目以降の一連の座標デ
    −タを出力することを特徴とする請求項1または請求項
    5記載の文字発生装置。
JP3008919A 1991-01-29 1991-01-29 文字発生装置 Withdrawn JPH0511733A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3008919A JPH0511733A (ja) 1991-01-29 1991-01-29 文字発生装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3008919A JPH0511733A (ja) 1991-01-29 1991-01-29 文字発生装置

Publications (1)

Publication Number Publication Date
JPH0511733A true JPH0511733A (ja) 1993-01-22

Family

ID=11706067

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3008919A Withdrawn JPH0511733A (ja) 1991-01-29 1991-01-29 文字発生装置

Country Status (1)

Country Link
JP (1) JPH0511733A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7965398B2 (en) 2007-02-15 2011-06-21 Seiko Epson Corporation Character rendering device, display device, and printing device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7965398B2 (en) 2007-02-15 2011-06-21 Seiko Epson Corporation Character rendering device, display device, and printing device

Similar Documents

Publication Publication Date Title
US5414448A (en) Character/pattern generator and information processing system
JPH0511733A (ja) 文字発生装置
US6504543B1 (en) Polygon drawing method and polygon drawing apparatus
JP3029135B2 (ja) 文字処理装置及び方法
US6628289B1 (en) Rendering apparatus and method, and storage medium
JPH03225394A (ja) 文字発生装置
JP3089014B2 (ja) 出力制御方法及びその装置
JP3238202B2 (ja) 文字・図形発生装置および情報処理装置
KR940001106B1 (ko) 선폭보정방법 및 그 장치
JPH05281945A (ja) 文字・図形発生回路
JP3055306B2 (ja) データ出力装置
JPH06161421A (ja) 文字発生装置
JP2776347B2 (ja) プリンタ用描画装置
JP3150319B2 (ja) 文字パターン発生装置
JP2833921B2 (ja) ベクトルフォント変形処理方式
JP2967861B2 (ja) 出力装置
JP2619931B2 (ja) 文字処理装置および文字処理方法
JP2861201B2 (ja) データ変換装置
JPH02168361A (ja) 座標データを発生するパターンデータ発生装置及びプロセッサ
JPS63191284A (ja) 図形処理装置
JPH0493994A (ja) 文字処理装置
JPH06162184A (ja) 曲線補間方式及び装置
JPH04373082A (ja) 文字発生装置
JPH023353A (ja) レーザープリンターのドットプリンタ用ビットイメージデータ変換方法
JPH0546150A (ja) 斜体文字の描画制御方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19980514