JP3823730B2 - 画像処理装置及びその方法 - Google Patents
画像処理装置及びその方法 Download PDFInfo
- Publication number
- JP3823730B2 JP3823730B2 JP2001001435A JP2001001435A JP3823730B2 JP 3823730 B2 JP3823730 B2 JP 3823730B2 JP 2001001435 A JP2001001435 A JP 2001001435A JP 2001001435 A JP2001001435 A JP 2001001435A JP 3823730 B2 JP3823730 B2 JP 3823730B2
- Authority
- JP
- Japan
- Prior art keywords
- character
- data
- outline
- vector
- image processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Controls And Circuits For Display Device (AREA)
Description
【発明の属する技術分野】
本発明は、画像処理装置及びその方法に関し、特に、ディスプレイリストからビットマップ展開するまでの処理を高速に行うことが可能な画像処理装置及びその方法に関する。
【0002】
【従来の技術】
DTPや小型、高速のページプリンタの普及に伴って、ラスタ、図形、文字などを区別することなく同様に取り扱い、図形、文字等の拡大、回転、変形などが自由に制御できる記述言語を用いた画像処理装置が一般的に普及してきた。
【0003】
この種の記述言語の代表例として、PostScript(AdobeSystems社商標)、Interpress(Xerox社商標)、Acrobat(AdobeSystems社商標)、GDI(GraphicsDeviceInterface、Microsoft社商標)等が知られている。
【0004】
このような記述言語で形成されている描画データでは、ページ内の任意の位置のラスタ、図形、文字を表現する描画命令が任意の順で構成されており、ディスプレイやページプリンタに出力するためには、ベクタデータで構成された描画データをページ又はページの一部を横切る一連の個々のドットまたは画素へ展開してラスタ走査線を形成し、そのページの下へ引き続く走査線を次々に発生させるビットマップ展開を出力前に行わなければならなかった。
【0005】
また、上記記述言語で記述されている文字描画命令には、強調文字描画のように、レギュラー書体とは文字ウエイト(肉厚量)の異なる文字データを描画する命令が含まれている場合もあり、例えば文字描画データ中に強調書体の文字データが予め含まれている場合、レギュラー書体の文字データから文字ウエイトにしたがって、新たに強調書体の文字データを生成しなければならなかった。
【0006】
このような強調書体文字データを生成する方法として、キーボードなどの入力手段から入力された太字量に基づいて文字データ中の輪郭座標データを変換し、ウエイトの異なる文字データを生成する方法(特開平7−160241号公報参照)や、強調書体の文字データを生成するための文字ストローク(線画)データの線幅を文字ウエイトに従って変更して強調書体文字を得る方法、文字ウエイト値の小さい(細い)文字データと文字ウエイト値の大きい(太い)文字データを予め用意しておき、入力された文字ウエイト値に近い文字データを選択する方法(特開平9−30044号公報参照)などが用いられていた。
【0007】
【発明が解決しようとする課題】
しかし、特開平7−160241号公報に記載の輪郭座標データ変換では、隣合う輪郭線が成す角度を2分する方向に、X方向、Y方向それぞれ独立な値で移動量決定し、座標値を変換するため、文字の種類によっては、生成された強調書体のアウトラインが元の文字のアウトラインに比べて崩れる場合がある。
【0008】
また、特開平9−30044号公報に記載の文字ストロークデータの線幅を変更する方法では、記述言語における文字描画データが、ストロークデータでない場合は、強調書体文字データを生成することができず、文字データを選択する方法では、様々な書体に対するデータを用意する必要があるため、蓄積しておくデータ量は膨大となり、さらに、任意のウエイト量を有する文字を用いることはできなかった。
【0009】
そこで本発明では、強調書体のアウトラインデータが文字データ中に存在しない場合であっても、レギュラー書体のアウトラインデータから一意に決定した文字ウエイト値を用いてアウトラインベクタを生成し、そのアウトラインベクタをディスプレイリストに変換することで、中間コードであるディスプレイリストの増大を抑え、さらに記述言語で記述された複雑な描画オブジェクトを高速にビットマップ展開することが可能な画像処理装置及びその方法を提供する。
【0010】
【課題を解決するための手段】
本発明では、所定の描画命令で記述された文字描画オブジェクトを有する描画データから生成される画像データを、画像出力装置の走査ライン毎に出力する画像処理装置において、前記描画データ中に含まれる文字修飾情報に応じて前記文字描画オブジェクトの輪郭を描画するためのアウトラインベクタを前記文字描画オブジェクト毎に生成するベクタ生成手段と、各前記アウトラインベクタの始点及び終点を含む情報を有したディスプレイリストを生成し、該ディスプレイリストを基に塗り潰し処理を行う塗り漬し手段とを具備し、前記ベクタ生成手段は、前記文字修飾情報に輪郭データが含まれる場合には該輪郭データに基づき前記アウトラインベクタを生成し、前記文字修飾情報に輪郭データが含まれない場合には前記文字修飾情報に含まれる文字描画オブジェクトの文字太さを変更する情報に従って前記アウトラインベクタを生成する。
【0011】
また、前記ベクタ生成手段は、前記文字描画オブジェクトの文字太さを変更する情報に従って前記アウトラインベクタを生成する。
【0012】
ここで、前記アウトラインベクタを生成する際の文字ウエイト量を、文字の種類とサイズの要素の少なくとも一方に基づいて決定する。
【0013】
または、前記アウトラインベクタを生成する際の文字ウェイト量を、文字の外接矩形の大きさに基づいて算出して決定する。
【0014】
また、前記ベクタ生成手段は、前記文字描画オブジェクトの輪郭を構成する閉じた図形の連続した複数の座標値および文字ウェイト量を用いて、アウトラインベクタの複数の接続点を順次算出する接続点算出手段をさらに具備する。
【0015】
ここで、前記ベクタ生成手段は、算出された前記接続点を両端点とするベクタを、前記文字描画オブジェクトの輪郭を描画するためのアウトラインベクタとして生成する。
【0016】
次に、本発明では、所定の描画命令で記述された文字描画オブジェクトを有する描画データから生成される画像データを、画像出力装置の走査ライン毎に出力する画像処理方法において、前記文字描画オブジェクトの輪郭を構成する描画データに含まれる文字修飾情報に輪郭データが含まれる場合には該輪郭データに基づいて前記描画オブジェクト毎に前記アウトラインベクタを生成し、前記文字修飾情報に輪郭データが含まれない場合には前記文字修飾情報に含まれる文字描画オブジェクトの文字太さを変更する情報に従って前記描画オブジェクト毎にアウトラインベクタを生成し、前記アウトラインベクタ各々の始点及び終点を含む情報を有したディスプレイリストを生成し、生成されたディスプレイリストを基に塗り漬し処理を行う。
【0017】
【発明の実施の形態】
以下、図面を用いて本発明の画像処理装置及びその方法を詳細に説明する。
【0018】
図1は、本発明の画像処理装置の構成を示す概略ブロック図である。同図において、この画像処理装置には、描画データスプール部10、描画データ解釈部11、ディスプレイリスト生成部12、ディスプレイリスト記憶部13、塗り潰し処理部14、出力バッファ15、出力装置制御部16、出力装置17が設けられる。
【0019】
ここで、描画データスプール部10は、描画データを入力するための通信機能を有すると共に、入力された描画データを描画データ解釈部11に出力するまでの間、一時的に記憶する機能を有する。
【0020】
また、描画データ解釈部11は、描画データスプール部10より入力された描画データを記述言語のシンタックスに従ってトークンとして切り出した後、各トークンを解釈して内部命令やその因数に変換し、ディスプレイリスト生成部12に出力する。この内部命令としては、文字、図形の描画を実行する描画命令や、色、属性(線幅、接続形状、端点形状)など描画に必要な情報を設定する描画属性命令がある。
【0021】
ディスプレイリスト生成部12は、描画データ解釈部11から入力された描画命令や描画属性命令に応じて描画されるオブジェクトを構成するベクタデータを生成し、そのベクタデータからヘッダ情報と描画オブジェクトを構成するベクタの始点、傾き、方向およびベクタと走査ラインとの交差数を含むエッジ情報とから構成されるディスプレイリストをオブジェクト毎に生成する。なお、ディスプレイリスト生成部12についての詳細は後述する。
【0022】
ディスプレイリスト記憶部13は、ディスプレイリスト生成部12で生成されたディスプレイリストを記憶する。
【0023】
塗り潰し処理部14は、偶奇規則(Even−Odd Rule)(以下、「EOFill」とする。)による方法と非ゼロ巻数規則(Non−Zero Winding Rule)(以下、「NZFill」とする。)による方法の何れか指定された方法に従って、塗り潰される位置を表すエッジリストをディスプレイリスト記憶部13に格納されているエッジ情報から走査ライン毎に生成する。
【0024】
そして、生成されたエッジリストを座標値の小さいものから座標値の小さいものから順次整列するように並べ替えた後、座標点のペア間の塗り潰し処理を行って出力画像データを生成し、生成された出力画像データを出力バッファ17に出力する。
【0025】
なお、塗り潰し処理部14は複数の座標点を同時に生成処理するため、座標点生成装置を複数含むハードウェアで構成されることが望ましいが、すべての処理又はエッジリストを並べ替える処理だけをソフトウェアで行う構成とすることもできる。
【0026】
出力バッファ15は2つのバッファで構成され、一方のバッファに出力画像データの入力が行われている間、他方のバッファは出力装置制御部16を介して出力装置に出力画像データを出力することができるように構成されている。
【0027】
出力装置制御部16は、出力バッファ15の出力画像データを出力装置17に転送すると共に、出力装置17の制御及び管理を行う。
【0028】
出力装置17は、入力された出力画像データに従って画像の出力を行う装置で、例えば、CMYBK(シアン、マゼンダ、イエロー、ブラック)カラーの色毎に露光、現像、転写を繰り返してフルカラー画像を出力できるレーザ走査方式の電子写真方式を用いたカラーページプリンタの場合、出力装置制御部17の制御に基づき、出力バッファ15から出力される出力画像データを受け取って、記録用紙に印字、出力する。
【0029】
次に、本発明の主要部であるディスプレイリスト生成部12について、さらに詳細に説明する。
【0030】
図2は、本実施の形態におけるディスプレイリスト生成部12の構成を示すブロック図である。図2において本発明のディスプレイリスト生成部12は、命令制御部20、文字処理管理部21、ディスプレイリスト変換部22、共有データ記憶部23、描画属性記憶部24が設けられる。
【0031】
ここで、命令制御部20は、描画データ解釈部から送られてきた内部命令のうち、文字描画命令を文字処理管理部21に転送し、描画属性命令を描画属性記憶部24に転送する。なお、文字描画命令とは描画命令のうち、文字コード、輪郭データ(直線、曲線)、フォントID、リアライズ情報(フォント名、サイズ、強調の有無)、座標変換マトリックス、カレントポイント、描画色など、文字描画に必要な情報である。そして、これらの情報のすべて又は一部が文字描画命令中の引数としてや、初期設定、先行する命令などにより、描画属性記憶部24に記憶されている。
【0032】
文字処理管理部21は、命令制御部20から文字描画命令を受け取ると、共有データ記憶部23を検索する。そして、共有データ記憶部23に該当する文字描画命令のディスプレイリスト形式に変換された文字データ(以下、「文字DLデータ」という)がある場合には、カレントポイントにより、その文字DLデータの描画位置を示すオフセット値を設定し、ディスプレイリスト記憶部13に出力する。
【0033】
また、共有データ記憶部23に該当する文字描画命令の文字DLデータがない場合には、ディスプレイリスト変換部22において文字描画命令を文字DLデータに変換し、変換した文字DLデータを共有データ記憶部23に登録すると共に、オフセット値を設定して、ディスプレイリスト記憶部13に出力する。なお、文字描画命令を文字DLデータに変換するディスプレイリスト変換部22については詳細に後述する。
【0034】
共有データ記憶部23は、フォントID、フォントのリアライズ情報などが同一の文字記憶領域毎に管理され、さらにこれらの記憶領域内に、ディスプレイリスト変換部22で生成された文字DLデータを文字コードとを組にして登録する。
【0035】
図3は、文字処理管理部21の処理動作を示すフローチャートである。
【0036】
図3において、文字処理管理部は、文字描画命令中の引数として与えられるフォントIDやリアライズ情報から構成される検索キーを用いて、共有データ記憶部23における同一のリアライズ情報を有する文字DLデータ記憶領域を検索する(ステップS30)。このとき、文字DLデータ記憶領域が存在しない場合には、新たに文字DLデータ記憶領域を登録する。
【0037】
そして、検索した文字DL領域内を文字コードを検索キーとして検索(ステップS31)し、共有データ記憶部に検索対象となる文字DLデータが存在する場合(ステップS32でYES)には、カレントポイントを用いてページ上の描画位置を示すオフセット値を設定(ステップS35)し、ディスプレイリスト記憶部13にオフセット値を設定した文字DLデータを出力する(ステップS36)。
【0038】
また、共有データ記憶部に検索対象となる文字DLデータが存在しない場合(ステップS32でNO)には、輪郭データ、座標変換マトリックス、強調文字の場合の文字ウエイトをディスプレイリスト変換部22に転送し、文字DLデータに変換する(ステップS33)。
【0039】
ここで、強調文字描画命令において、強調文字の輪郭データが文字処理管理部21に入力される場合には、その輪郭データと0に設定した文字ウエイトをディスプレイリスト変換部22に転送する。輪郭データが文字処理管理部21に入力されない場合には、文字の種類やサイズなどの要素から予めテーブル化された固定値や、文字の外接短形の大きさや文字の太さなどから文字描画命令のたびに算出される値などから文字ウエイトを適切な値に設定し、レギュラー書体の輪郭データから強調文字DLデータを作成する。なお、ディスプレイリスト変換部22における文字DLデータ変換については、詳細に後述する。
【0040】
そして、ディスプレイリスト変換部22により変換された文字DLデータを受け取り、ステップS30で検索した共有データ記憶部23の検索領域内に文字DLデータと文字コードとの組で登録(ステップS34)した後、カレントポイントを用いてページ上の描画位置を示すオフセット値を設定(ステップS35)して、ディスプレイリスト記憶部13にオフセット値を設定した文字DLデータを出力する(ステップS36)。
【0041】
なお、図3を用いてここで述べた処理の流れは、1文字分の処理の流れであるが、これに限定されるものではなく、文字列描画命令などの複数文字描画処理の場合においても、1文字ずつ文字描画命令を切り出して上記の処理を行うことは可能である。
【0042】
次に、文字DLデータを作成するディスプレイリスト変換部22について詳細に説明する。
【0043】
図4は、本実施の形態におけるディスプレイリスト変換部の構成例を示すブロック図である。
【0044】
図4において、ディスプレイリスト変換部22は、輪郭データ変換部40、アウトラインベクタ生成部41、ベクタデータ変換部42が設けられる。
【0045】
ここで、輪郭データ変換部40は、図5(a)に示すように、文字の特徴点を表す座標情報の集合(P0からP16までの座標データ)と、それぞれの点に対する直線、曲線の判別情報、輪郭開始点、終了点などの情報で表された輪郭データを、図5(b)に示すように、描画コマンドとそのコマンドに対応した座標値で構成されるパスデータに変換する。
【0046】
このパスデータへの変換において、輪郭データに含まれるベジエ曲線などの曲線の制御点(図5(a)の▲点)を含む座標データは、予め描画属性記憶部24に記憶されているFlatness値に従って、複数の直線を表す座標データに近似する直線データ近似処理を同時に行う。
【0047】
ここで、直線データ近似処理について、輪郭データに含まれる曲線が、図6に示す4つの制御点P0、P1、P2、P3で表現されるベジエ曲線である場合を例にあげ、図6及び図7を用いて説明する。
【0048】
まず、P0’をP0とし、P0とP1の中点をP1’、P1とP2の中点とP1’を結ぶ線分の中点をP2’、P2とP3の中点をP2''、P1とP2の中点とP2''を結ぶ線分の中点をP1''、P2’とP1''の中点をP3’及びP0''、P3''をP3としてそれぞれの座標値を計算する(ステップS70)。
【0049】
そして、P0とP3の中点とP3’との距離(Distance)を計算し、この距離が描画属性記憶部に記憶されたFlatness値よりも大きい場合(ステップS71でYES)は、再帰的な分割処理を行うため、P0’、P1’、P2’、P3’の4つの点、およびP0''、P1''、P2''、P3''の4つの点をそれぞれ新しいベジエ曲線の制御点として2つの分割曲線に分割し、それぞれのベジエ曲線の分割を再帰的に行う(ステップS72)。
【0050】
また、P0とP3の中点とP3’との距離が描画属性記憶部に記憶されたFlatness値よりも小さい場合(ステップS71でNO)は、与えられたベジエ曲線に対して直線ベクタによる近似処理が終了したものとして、2つの直線ベクタ(P0、P3')、(P3'、P3)それぞれについて、描画コマンドとそのコマンドに対応した座標地で構成されるパスデータに変換する(ステップS73)。
【0051】
ここでP0が図形データの始点である場合は、描画コマンド「Moveto」とその座標点P0をパスデータに変換(以下、「Moveto(P0)」と表記する)し、中継点であるP3’及びP3を描画コマンド「Lineto」とその座標点をパスデータに変換(以下、「Lineto(P3’)」、「Lineto(P3)」と表記する)する。
【0052】
このように、輪郭データ変換部40で輪郭データから変換されたパスデータは、アウトラインベクタ生成部41に出力する。
【0053】
ここで、輪郭データ変換部40から入力されたパスデータから文字描画に必要なアウトラインベクタデータを生成するアウトラインベクタ生成部41について、図8を用いて詳細に説明する。
【0054】
図8においてアウトラインベクタ算出部41は、アウトラインベクタ生成部410、アウトラインベクタ算出部411、接続点計算部412が設けられる。
【0055】
先述したように文字ウエイト値が0の場合は、ディスプレイリスト変換部22に渡される輪郭データは、レギュラー書体の輪郭データか強調書体であってもそれに相当する輪郭データであるので、図9(a)に示すように輪郭データ変換部40において輪郭データ変換した直線データのみのパスデータに沿ったアウトラインベクタが算出される。しかし、文字ウエイトが0でない場合は、渡された輪郭データはレギュラー書体の輪郭データであるが文字ウエイト値に従って、図9(b)に示すようにパスデータから強調書体に相当するアウトラインベクタを新たに算出する必要がある。
【0056】
このため、アウトラインベクタ生成制御部410は、文字処理管理部21から入力される文字ウエイトの値によって、アウトラインベクタ算出部411で接続点計算部412を用いながら算出されるアウトラインベクタ算出の制御を行う。
【0057】
ここで、図5に示す文字「J」から図9(b)に示すアウトラインベクタを算出する場合を例として、アウトラインベクタ算出部411におけるアウトラインベクタデータの算出方法を図10乃至13を用いて説明する。
【0058】
まず図10において、パスデータが入力されると描画コマンド「Moveto」およびその座標値P0を読み込み、mp(MovetoPoint)およびローカル変数tmpにP0を登録する(ステップS100)。
【0059】
そして、次の描画コマンド「Lineto」及びその座標P1を読み込み、flp(FirstLinetoPoint)及びローカル変数tmp1にP1を登録する(ステップS101)。
【0060】
次に、描画コマンド「Lineto」及びその座標P2を読み込み、ローカル変数tmp2にP2を登録する。ここで図11に示すように、次のベクタとの接続点jp(JointPoint)及び、図5に示すパスデータが描画コマンド「ClosePath」で閉じられる場合に必要な接続点cp(ClosePoint)をそれぞれ登録する(ステップS102)。なお、jp及びcpは、直線(pb1、pb2)と直線(npb1、npb2)の交点である。
【0061】
ここで、図11に示した各補助点(pb、npb、jp、cp)の算出方法について説明する。
【0062】
まずパスデータとして与えられた点(tmp0、tmp1、tmp2)に関して、まず文字ウエイト値(以下、「W」とする)から、直線(tmp0、tmp1)および直線(tmp1、tmp2)の垂直方向にtmp0、tmp1、tmp2からW/2の距離の点、pb0、pb1、pb2、pb3、npb0、npb1、npb2、npb3をそれぞれ求める。
【0063】
そして、ベクタ(tmp0、tmp1)とベクタ(tmp1、tmp2)とによって生成されるべきアウトラインベクタの接合部分の隙間がどちらに(pb3側またはpb2側)に存在するのかを判断する外積の符号を求める。図11の場合では、外積符号が負となるため、pb2側に隙間が生じる。
【0064】
ここで、pb1、pb2、npb1、npb2を接続点計算部412に転送し、2つの直線、直線(pb1、pb2)と、直線(npb1、npb2)の交点を求め、その点をjpに登録する。また、ステップ102では、このようにして求めた点をcpに登録する。なお、補助点の算出方法は、ここで述べた方法に限定されるものではなく、対象とする記述言語における文字ウエイトの定義に応じた方法で算出される。
【0065】
次にステップS103において、描画コマンド「Lineto」およびその座標値P3を読み込み、tmp0=tmp1、tmp1=tmp2、tmp2=tmp3のようにローカル変数をそれぞれ更新する。更新されたローカル変数(tmp0、tmp1、tmp2)に関して、図12に示すようにアウトラインベクタ算出に必要な各点の計算をステップS102と同様に行う。ただしpbl=jpとする。さらに、ステップS102と同様に次のベクタとの接続点jpを新たに算出された値で更新する(図12中の点jp)。
【0066】
ここでアウトラインを構成するベクタをして、ベクタ(pbl、jp)をベクタデータ変換部42に出力する(図12中の「1」のベクタ)。
【0067】
また、本ステップS103は、図5に示すパスデータ中の描画コマンド「ClosePath」が読み込まれるまで繰り返し行われる。
【0068】
そして、描画コマンド「ClosePath」を読み込むと、mp、flpおよびローカル変数tmp2(=Pn)を用いて、(Pn、mp、flp)に関して、ステップS103と同様の処理を行って、図13に示すようなアウトラインを構成するベクタ(図13中の「n−1」のベクタ)をベクタデータ変換部42に出力する。さらに、最複に出力するベクタとして、cpと現在のjpを結んだベクタ、ベクタ(jp、cp)をベクタデータ変換部42に出力する(図13中の「n」のベクタ)(ステップS104)。
【0069】
ベクタデータ変換部42は、アウトラインベクタ生成部41から受け取ったアウトラインベクタデータを、座標変換マトリックスに従ってアフィン変換後、ヘッダ情報と、各ベクタの始点、傾き、方向およぴベクタと走査ラインとの交差数を含むエッジ情報とから構成されるディスプレイリスト形式の文字DLデータに変換する。アフィン変換の主な目的は、アプリケーションの解像度(座標系)から出力装置の解像度(座標系)に変換するためのものである。変換マトリックスには下式(1)に示すような3×3のものが使われ、入力ベクタデータ(Xn、Yn)は、出力ベクタデータ(Xn’、Yn’)に変換される。
【0070】
このように本実施の形態では、強調文字の輪郭データが文字描画データ中に無い場合は、文字処理管理部21が文字ウェイトを適切な値に決定し、輪郭データ変換部40で文字論郭データをパスデータに変換後、アウトラインベクタ生成部41において、文字ウェイトにしたがった、強調文字の輪郭に相当するアウトラインベクタを新たに算出する事ができる。
【0071】
【発明の効果】
本発明では、斬定の描画命令で記述されている文字描画データにおいて、強調書体のアウトラインデータが文字データ中になくても、一意に決定した文字ウエイト値を用いてアウトラインベクタを生成し、生成されたアウトラインベクタをディスプレイリストに変換することで、中間コードであるディスプレイリストの削滅が可能となり、ディスプレイリストからビットマップ展開するまでの処理全体の高速化および高品質なビットマップ展開が実現できる。
【図面の簡単な説明】
【図1】本発明における画像処理装置の基本構成を示す概略ブロック図
【図2】ディスプレイリスト生成部の構成を示すブロック図
【図3】文字処理管理部における処理の流れを示すフローチャート
【図4】ディスプレイリスト変換部の構成を示すブロック図
【図5】文字の輪郭データ及びパスデータを示す図
【図6】ベジエ曲線の分割を示す図
【図7】曲繰近似部における処理の流れを示すフローチャート
【図8】アウトラインベクタ生成部を示すブロック図
【図9】アウトラインベクタを示す図
【図10】アウトラインベクタ算出部における処理の流れを示すフローチャート
【図11】アウトラインベクタの算出方法を示す図
【図12】アウトラインベクタの算出方法を示す図
【図13】アウトラインベクタの算出方法を示す図
【符号の説明】
10…描画データスプール部
11…描画データ解釈部
12…ディスプレイリスト生成部
13…ディスプレイリスト記憶部
14…塗り漬し処理部
15…出力バッファ
16…出力装置制御部
17…出力装置
20…命令制御部
21…文字処理管理部
22…ディスプレイリスト変換部
23…共有データ記憶部
24…描画属性記憶部
40…輪郭データ変換部
41…アウトラインベクタ生成部
42…ベクタデータ変換部
410…アウトラインベクタ生成制御部
411…アウトラインベクタ算出部
412…接続点計算部
Claims (6)
- 所定の描画命令で記述された文字描画オブジェクトを有する描画データから生成される画像データを、画像出力装置の走査ライン毎に出力する画像処理装置において、
前記描画データ中に含まれる文字修飾情報に応じて前記文字描画オブジェクトの輪郭を描画するためのアウトラインベクタを前記文字描画オブジェクト毎に生成するベクタ生成手段と、
各前記アウトラインベクタの始点及び終点を含む情報を有したディスプレイリストを生成し、該ディスプレイリストを基に塗り潰し処理を行う塗り漬し手段と
を具備し、
前記ベクタ生成手段は、前記文字修飾情報に輪郭データが含まれる場合には該輪郭データに基づき前記アウトラインベクタを生成し、前記文字修飾情報に輪郭データが含まれない場合には前記文字修飾情報に含まれる文字描画オブジェクトの文字太さを変更する情報に従って前記アウトラインベクタを生成する
ことを特徴とする画像処理装置。 - 前記アウトラインベクタを生成する際の文字ウエイト量を、文字の種類とサイズの要素の少なくとも一方に基づいて決定することを特徴とする請求項1記載の画像処理装置。
- 前記アウトラインベクタを生成する際の文字ウェイト量を、文字の外接矩形の大きさに基づいて算出して決定することを特徴とする請求項1記載の画像処理装置。
- 前記ベクタ生成手段は、前記文字描画オブジェクトの輪郭を構成する閉じた図形の連続した複数の座標値および文字ウェイト量を用いて、アウトラインベクタの複数の接続点を順次算出する接続点算出手段をさらに具備することを特徴とする請求項1記載の画像処理装置。
- 前記ベクタ生成手段は、算出された前記接続点を両端点とするベクタを、前記文字描画オブジェクトの輪郭を描画するためのアウトラインベクタとして生成することを特徴とする請求項4記載の画像処理装置。
- 所定の描画命令で記述された文字描画オブジェクトを有する描画データから生成される画像データを、画像出力装置の走査ライン毎に出力する画像処理方法において、
前記文字描画オブジェクトの輪郭を構成する描画データに含まれる文字修飾情報に輪郭データが含まれる場合には該輪郭データに基づいて前記描画オブジェクト毎に前記アウトラインベクタを生成し、
前記文字修飾情報に輪郭データが含まれない場合には前記文字修飾情報に含まれる文字描画オブジェクトの文字太さを変更する情報に従って前記描画オブジェクト毎にアウトラインベクタを生成し、
前記アウトラインベクタ各々の始点及び終点を含む情報を有したディスプレイリストを生成し、
生成されたディスプレイリストを基に塗り漬し処理を行う
ことを特徴とする画像処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001001435A JP3823730B2 (ja) | 2001-01-09 | 2001-01-09 | 画像処理装置及びその方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001001435A JP3823730B2 (ja) | 2001-01-09 | 2001-01-09 | 画像処理装置及びその方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002207476A JP2002207476A (ja) | 2002-07-26 |
JP3823730B2 true JP3823730B2 (ja) | 2006-09-20 |
Family
ID=18870073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001001435A Expired - Fee Related JP3823730B2 (ja) | 2001-01-09 | 2001-01-09 | 画像処理装置及びその方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3823730B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4158374B2 (ja) * | 2001-11-19 | 2008-10-01 | ブラザー工業株式会社 | 画像形成装置およびプログラム |
DE112012006274B4 (de) * | 2012-04-27 | 2018-08-23 | Mitsubishi Electric Corporation | Schriftzeichen-Zeichnungsvorrichtung und Schriftzeichen-Zeichnungsverfahren |
-
2001
- 2001-01-09 JP JP2001001435A patent/JP3823730B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002207476A (ja) | 2002-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5852679A (en) | Image processing apparatus and method | |
JP2004054763A (ja) | 画像処理装置、画像処理方法、画像形成装置、印刷装置及びホストpc | |
US5388166A (en) | Image drawing apparatus | |
JP3823730B2 (ja) | 画像処理装置及びその方法 | |
US20060077210A1 (en) | Rasterizing stacked graphics objects from top to bottom | |
JP2002015329A (ja) | 画像処理装置および画像処理方法 | |
EP0983859B1 (en) | Information processing apparatus and recording medium with pattern generation programs recorded thereon | |
EP2495650A2 (en) | Page description data processing apparatus, page description data processing method, print producing method, and recording medium | |
EP1315126A2 (en) | Image processing method, image processing apparatus, image output apparatus and storage medium | |
JP2000099750A (ja) | 画像処理装置及び画像処理方法 | |
JPH04137034A (ja) | フォント情報転送方式 | |
JP3146771B2 (ja) | フォントラスタライズ装置およびその方法 | |
JP2001092981A (ja) | 画像処理装置および画像処理方法 | |
JPH10151815A (ja) | 印刷処理装置 | |
JPH10157216A (ja) | 印刷処理装置 | |
JPH10157217A (ja) | 印刷処理装置 | |
JP2000066658A (ja) | 画像処理装置および記録媒体 | |
JPH1185428A (ja) | 画像形成方法及び画像形成装置 | |
JPH1110961A (ja) | 印刷処理装置および印刷処理方法 | |
JP3419450B2 (ja) | 画素データ処理装置および方法 | |
JPH1120273A (ja) | 画像処理装置および画像処理方法 | |
JP3536894B2 (ja) | 図形処理装置 | |
JPH11227266A (ja) | 印刷処理装置および印刷処理方法 | |
JPH11144062A (ja) | 印刷処理装置 | |
JP3843794B2 (ja) | 図形処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040916 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050426 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050624 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060314 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060331 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060606 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060619 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100707 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110707 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110707 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120707 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130707 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |