JP2976671B2 - データ展開方法 - Google Patents

データ展開方法

Info

Publication number
JP2976671B2
JP2976671B2 JP4030865A JP3086592A JP2976671B2 JP 2976671 B2 JP2976671 B2 JP 2976671B2 JP 4030865 A JP4030865 A JP 4030865A JP 3086592 A JP3086592 A JP 3086592A JP 2976671 B2 JP2976671 B2 JP 2976671B2
Authority
JP
Japan
Prior art keywords
outline
data
rectangle
shape
reduced
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP4030865A
Other languages
English (en)
Other versions
JPH05232930A (ja
Inventor
博幸 佐々木
裕司 角谷
浩祐 深谷
淳 河合
嘉之 坂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries 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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP4030865A priority Critical patent/JP2976671B2/ja
Publication of JPH05232930A publication Critical patent/JPH05232930A/ja
Application granted granted Critical
Publication of JP2976671B2 publication Critical patent/JP2976671B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Controls And Circuits For Display Device (AREA)
  • Dot-Matrix Printers And Others (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データ展開方法に係
り、特にアウトラインデータを印字可能なデータに変換
するビットマップデータのデータ展開方法の改良に関す
る。
【0002】
【従来の技術】従来、例えば、フォント形状データをア
ウトライン方式で格納しているレーザープリンタ等の印
字装置において文字の印字処理を行う場合には、先ずア
ウトライン形状データをビットマップデータに変換する
処理(スキャンコンバージョン処理)を行い、次いで前
記ビットマップデータを用いて印字を行っている。
【0003】前記ビットマップデータ変換は、次のよう
に行う。例えば、図7(A)に示すようにアウトライン
201が、格子202内の領域[Xn≦X<Xn+1、
Yn≦Y<Yn+1]に存在する場合、あるいは図7
(B)に示すようにアウトライン301が或る領域を囲
む場合がある。かかる場合には、前者に対してはその格
子202に対し、後者に対しては適宜の格子303を設
定し、それぞれの格子202,303内にドット20
3,302を置く規則を設定する。この規則に基づくド
ット配置によりスキャンコンバージョン処理を行う。
【0004】図8に具体例として、前記規則によりアル
ファベット文字「I」をスキャンコンバージョン処理し
た結果を示す。この場合、太線で示すアウトラインの文
字形状401と、ドット(○に斜線で示す)404を配
置することにより形成されたビットマップの文字形状4
02とを比較すると、ビットマップの文字形状402の
方が大きくなる(太くなる)。この太くなる傾向は、単
位格子403の大きさに対して、アウトラインで表され
る文字形状402が十分大きな場合は、それほど問題と
ならない。しかし、文字の大きさが小さい場合には(逆
に言えば、文字形状に対して、単位格子が大きい場
合)、スキャンコンバージョン処理した結果の方が大き
くなる傾向がある。この太くなる傾向は、「文字形状の
再現性」という点で好ましくない。
【0005】この太くなる傾向を防止するために、スキ
ャンコンバージョン処理を行う前に、文字のアウトライ
ンを、「大きくなる分だけ予め小さくする処理」、即
ち、アウトラインを「細らせる処理」を行う。アウトラ
ンイに対して予め「細らせる処理」を行うことにより、
スキャンコンバージョン処理において文字形状が太く変
換される傾向に対する補正を行うことが可能となる。例
えば、図9に示す文字「I」は、図8におけるアウトラ
インの文字形状401と同一の太線で示すアウトライン
の文字形状501に対し、「0.5ドット分の長さだけ
細らせる処理」を施した「破線」で示すアウトライン5
02に対し、スキャンコンバージョン処理をしたもので
ある。
【0006】その結果、図9に示すビットマップ形状5
03を、図8に示すビットマップ形状402と比較する
と、横方向・縦方向共に、各々1ドットずつ小さくな
り、ドットを配置してできたビットマップの文字形状
は、元のアウトライン文字形状501をほぼ忠実に再現
したものとなる。
【0007】
【発明が解決しようとする課題】しかしながら、文字の
アウトライン形状が「より小さく」(又は、アウトライ
ンに対して単位格子の大きさが、図9で示された例より
も大きく)なった場合には、アウトラインに対する「細
らせる処理」が、アウトラインの文字形状に悪影響を及
ぼすことがある。
【0008】例えば、図10にアウトライン形状に比較
して単位格子が大きい場合を示す。この場合、太線の文
字「I」のアウトライン601に対して「0.5ドット
の細らせ処理」を行うと、「破線」で示すアウトライン
602が得られる。このアウトライン602のうち、符
号603,604で囲んだ部分では「捩れ(反転)」が
生じている。この「捩れ」を生じている破線で示すアウ
トライン602に対して、スキャンコンバージョン処理
を行うと、ビットマップによる文字形状612が得られ
る。このビットマップ文字形状612を観察すると、元
のアウトライン601からでは発生しないドット列60
5a,605bが、発生している。これは、符号60
3,604部分にそれぞれ生じた「捩れ」に対してもビ
ットマップ展開されたためである。これらドット列60
5a,605bのために、「細らせる処理」を施したに
もかかわらず、ビットマップの文字形状612が縦方向
に大きく(太く)なっている。
【0009】前述の現象は、文字のアウトライン形状が
単位格子の大きさに対して、「ある限界値」より小さく
なった場合には、「細らせる処理」が有効に作用しない
ことを意味している。即ち、元のアウトライン601を
構成する直線のうち、平行な直線の組合せである[60
6と607、606と608、609と610、609
と611]のそれぞれの間隔が、格子間隔よりも狭くな
る場合に前記「細らせる処理」が有効に作用しない。
【0010】そこで、本発明は、上述した問題点を解決
するためになされたものであり、例えば元のアウトライ
ンに忠実なドット形状を持つビットマップを得るデータ
展開方法を提供することを目的とする。
【0011】
【課題を解決するための手段】この目的を達成するため
に本発明のデータ展開方法は、アウトライン形状を構成
するショートベクトルのx軸およびy軸の軸方向座標値
の最大値・最小値をそれぞれ結んで外接矩形を求め、こ
の外接矩形に沿って、前記外接矩形の内側に予め定めた
細らせ量だけ縮小することにより縮小矩形を求め、前記
アウトライン形状に沿って、前記アウトライン形状を細
くする方向に前記予め定めた細らせ量だけ縮小すること
によりショートベクトルからなる縮小図形を求め、この
縮小図形を構成するショートベクトルが、前記縮小矩形
の外側に存在する場合に、前記外側のショートベクトル
を前記縮小矩形の内側に移動せしめて第2アウトライン
を形成し、この第2アウトラインに沿ってデータ展開を
するようにした。
【0012】
【作用】本発明のデータ展開方法は、先ず、アウトライ
ン形状を構成するショートベクトルのx軸およびy軸の
軸方向座標値の最大値・最小値をそれぞれ結んで外接矩
形を求める。次いで、この外接矩形に沿って、予め定め
た細らせ量だけ細らせた縮小矩形を求める。更に、アウ
トライン形状に沿って(例えば左回り)、前記アウトラ
イン形状を細くする方向に前記予め定めた細らせ量だけ
縮小することによりショートベクトルからなる縮小図形
を求める。そして、この縮小図形を構成するショートベ
クトルが、前記縮小矩形の外側に存在する場合には、前
記外側のショートベクトルを前記縮小矩形の内側に移動
せしめて第2アウトラインを形成する。この第2アウト
ラインに沿ってデータ展開(例えば、ビットマップ展
開、ランレングス展開)する。
【0013】
【実施例】以下、本発明のデータ展開方法をレーザービ
ームプリンタにおけるビットマップ展開方法に適用して
具体化した実施例を図面を参照して説明する。
【0014】図1にレーザービームプリンタの主制御装
置100の構成ブロック図を示す。図1に示すように、
主制御装置100は、本レーザービームプリンタ全体を
制御するCUP110と、本レーザビームプリンタを制
御するための制御プログラム121及びフォントデータ
122を格納したROM120と、ランダムアクセスメ
モリ(RAM)130と、ホストコンピュータ180等
の外部装置との間の通信を行う入出力インターフェース
140と、プリンタエンジン150との間の通信を行な
うためのプリンタエンジンインターフェース160と、
およびそれらを相互接続するバス170で構成されてい
る。
【0015】前記RAM130には、ホストコンピュー
タ等から送られてきた描画命令等が記憶される受信バッ
ファ131と、これから描画を行おうとする文字のアウ
トラインデータを記憶するアウトライン記憶部132
と、アウトラインの「細らせ量」を記憶する細らせ量記
憶部133と、その文字のアウトラインの外接矩形値を
記憶する外接矩形記憶部134と、ページメモリ135
が含まれる。前記CPU110には、ホストコンピュー
タ180から送られてきた印字データに対して印字処理
を行う印字処理部111と、アウトラインの「細らせる
処理」を行う細らせ処理部112と、細らせたアウトラ
インに対して外接矩形値を用いた補正を行う、外接矩形
による補正処理部113とが含まれる。
【0016】かかる構成の主選択装置100の動作概要
を説明する。ホストコンピュータ180から送られてく
る印字データは、入出力インターフェース140を介し
て、受信バッファ131に記憶される。受信バッファ1
31に記憶された印字データは、ROM120内のプロ
グラム121に従って、CPU110の印字処理部11
1において逐次処理される。印字処理部111における
処理途中に、文字の印字処理が含まれた場合、その文字
のアウトライン形状データは、ROM120内のフォン
トデータ122を検索して得られる。得られたアウトラ
イン形状データは、印字処理部111においてROM1
20内のプログラム121に従い、印字データで指示さ
れたサイズにスケーリング処理が施され、その結果は、
アウトライン記憶部132に記憶される。
【0017】次に、文字のアウトラインデータの「細ら
せる処理」について、図1および図2を参照して説明す
る。例えば、アルファベット文字「I」を印字する場合
を想定する。アウトライン記憶部132には、アルファ
ベット「I」のアウトライン形状801に対応するデー
タ{以下、アウトライン形状データ(801)と記す}
が記憶されている。このアウトライン形状801の外接
矩形Zの数値[x軸方向の最小値805、x最大値80
6、y最小値807、y最大値808]が、外接矩形値
記憶部134に記憶されている。この外接矩形値は、フ
ォントデータ中に含まれている場合には、その値を文字
と同じ倍率でスケーリングして用いる。フォントデータ
中に含まれない場合には、アウトライン形状データ(8
01)のx方向、y方向のそれぞれの最大値、最小値を
予め計算し、外接矩形値記憶部134に記憶しておけば
良い。
【0018】アウトライン形状801を構成するショー
トベクトルには、進行方向が決められている。ここに、
ショートベクトルとは、アウトラインを構成する個々の
方向を持った線分をいい、例えば符号(B1 →B2 )の
部分、符号(B3 →B1 )の部分をいう。ショートベク
トルの方向は、文字の外周部のような「外回り」のルー
プでは「左回り」に決められ、アルファベット文字
「O」の内周部のような「内回り」のループは「右回
り」に決定する。このように決定したのは、後述のアウ
トライン形状801を「細らせる処理」を行うためであ
る。
【0019】図2に示す文字「I」では、文字内部に空
間が存在しないので、「左回り」の外ループのみが存在
する。実際の処理では、細らせ量記憶部133に予め記
憶されている細らせ量809を用いて、アウトライン形
状の各ショートベクトルを進行方向に対して左側に、細
らせ量809だけ移動する処理を行う。細らせ量809
としては、1ドットの半分の0.5ドットが好適であ
る。前記細らせ量809の移動としては、符号811〜
822の矢印方向に0.5ドット分だけ移動する。この
移動処理により形成された破線で示すアウトラインデー
タ810は、前記図10に示したアウトライン602と
同様に上下の部分に「捩れ」が生じている。このように
して求めたアウトラインデータ810は、再度アウトラ
イン記憶部132に記憶される。
【0020】続いて、アウトライン記憶部132に記憶
された前記アウトラインデータに対する、外接矩形値を
用いた補正処理について、図3に示すフローチャート及
び図4を用いて説明する。
【0021】前記外接矩形値記憶部134に記憶された
外接矩形Z(図4において一点鎖線で示す)に対して、
細らせ量809だけx,y各方向に縮小した矩形BBo
x’(点線で示す)を計算する(ステップS1)。計算
されたBBox’のx軸方向の最小値をBBox’.m
inX(905)、BBox’のx軸方向の最大値をB
Box’.maxX(906)、BBox’のy軸方向
の最小値をBBox’.minY(907)、BBo
x’のy軸方向の最大値をBBox’.maxY(90
8)とする。
【0022】次のステップS2からステップS12まで
のループでは、アウトライン記憶部132に記憶された
アウトラインデータ(即ち、捩れのあるデータ)の前記
各ショートベクトルの始点の座標値が、BBox’で囲
まれる領域(点線で示す)より「外側」であった場合
に、強制的にBBox’の「内側」に移動する処理を行
う。
【0023】例えば、ショートベクトル1010の始点
1011について考える。先ず、始点1011の座標値
を、RAM130内に確保した領域Px、Py(図示せ
ず)に代入する(ステップS2)。BBox’.min
X(905)とPxを比較する(ステップS3)。Px
は、BBox’.minX(905)より小さくないの
で、ステップS5の処理へ移る。ステップS5でもPx
は、BBox’.maxX(906)より大きくないの
でステップS7へ移る。ステップS7では、Pyは、B
Box’.minY(907)より小さいのでステップ
S8において、Pyには強制的にBBox’.minY
が代入される。その後、ステップS11の処理で、P
x、Pyは、再びアウトライン記憶部132に戻され
る。この処理により、ショートベクトル1010の始点
は、強制的にBBox’の「内側」に移動されたことに
なる。同様に、各ショートベクトルの始点もステップS
2からステップS12の処理が繰り返し行われ、始点が
BBox’で囲まれる領域(点線で示す)より「外側」
であった場合、強制的にBBox’の「内側」に移動さ
せる。
【0024】すべてのショートベクトルの始点について
上記の処理が終了した場合には、外接矩形値を用いた補
正処理は終了する。この補正処理により、ショートベク
トル1010、1013、1015、1017は、それ
ぞれ1012、1014、1016、1018で示す矢
印方向に移動し、アウトライン801はすべてBBo
x’内に収まることになる。移動後のアウトライン11
01を図5に示す。
【0025】図6に外接矩形値を用いた補正処理後の破
線で示すアウトライン1101、及び前記アウトライン
1101を印字処理部111においてスキャンコンバー
ジョン処理した後のビットマップを示す。アウトライン
1101は、図3のフローチャートで示した補正処理に
より、符号905から908で囲まれる領域の中に収ま
る。このアウトラインデータ1101をビットマップデ
ータに変換した結果は、元のアウトラインデータ110
2に近い形状が再現される。
【0026】ビットマップ化されたデータは、印字デー
タで指定された印字位置に対応するページメモリ135
上に転送される。各文字に対して、前述の移動・補正処
理が実施され、ビットマップ化されたデータが次々とペ
ージメモリ135に記憶される。
【0027】受信バッファ131に記憶されていた1ペ
ージ分の印字データの処理が終了した時点で、ページメ
モリ136上の内容(ビットマップ化されたデータ)
は、プリンタインタフェース160を介してプリンタエ
ンジン150に転送され、印字が実行され、印字済みの
用紙が排出される。
【0028】なお、前記実施例では、スキャンコンバー
ジョン処理の出力として、ビットマップ化されたデータ
について説明したが、ランレングス化されたデータを出
力する場合にも同様な効果が得られることは勿論であ
る。従って、ビットマップを用いた印字処理の場合のみ
ならず、ランレングスを用いたCRT・液晶ディスプレ
イ・プラズマディスプレイ等の表示装置に本発明を適用
することが可能である。
【0029】
【発明の効果】以上説明したように本発明によれば、ア
ウトライン形状から外接矩形を求め、この外接矩形に沿
って所定量縮小した縮小図形を求め、前記アウトライン
形状に沿って所定量縮小した縮小図形を求め、前記縮小
図形が前記縮小矩形の外側に出た場合には縮小矩形の内
側に移動せしめて第2アウトラインを形成し、この第2
アウトラインに沿ってデータ展開(例えば、ビットマッ
プ展開)しているので、元のアウトライン形状をほぼ再
現した出力を得ることができる。
【図面の簡単な説明】
【図1】本発明の実施例をレーザプリンタに適用したブ
ロック図である。
【図2】前記実施例においてアウトラインの変形処理を
示す図である。
【図3】前記実施例における補正処理の流れを示すフロ
ーチャートである。
【図4】図2に示す変形後のアウトラインと縮小矩形と
外接矩形を示す図である。
【図5】図3の補正処理後のアウトラインを示す図であ
る。
【図6】図5に示す補正後のアウトラインデータを用い
てビットマップ変換した結果を示す図である。
【図7】(A),(B)は、従来のアウトラインをビッ
トマップ変換する際のドット配置規則を示す図である。
【図8】アウトラインをビットマップに変換した例を示
す図である。
【図9】従来の変形処理をしたアウトラインをビットマ
ップに変換した例を示す図である。
【図10】従来の変形処理をしたアウトラインをビット
マップに変換した場合の不都合を示す図である。
【符号の説明】 112…細らせ処理部 113…外接矩形値による補正処理部 132…アウトライン記憶部 133…細らせ量記憶部 134…外接矩形値記憶部 801…アウトライン 810…細らせ処理をしたアウトライン(第2アウトラ
イン) B1 →B2 ,B3 →B1 …ショートベクトル BBox’…縮小矩形 Z…外接矩形
───────────────────────────────────────────────────── フロントページの続き (72)発明者 河合 淳 愛知県名古屋市瑞穂区苗代町15番1号 ブラザー工業株式会社内 (72)発明者 坂 嘉之 愛知県名古屋市瑞穂区苗代町15番1号 ブラザー工業株式会社内 (56)参考文献 特開 平3−150594(JP,A) (58)調査した分野(Int.Cl.6,DB名) G09G 5/00 - 5/40 G06T 11/20 - 11/40 B41J 2/485

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 アウトライン形状を構成するショートベ
    クトルのx軸およびy軸の軸方向座標値の最大値・最小
    値をそれぞれ結んで外接矩形を求め、 この外接矩形に沿って、前記外接矩形の内側に予め定め
    た細らせ量だけ縮小することにより縮小矩形を求め、 前記アウトライン形状に沿って、前記アウトライン形状
    を細くする方向に前記予め定めた細らせ量だけ縮小する
    ことによりショートベクトルからなる縮小図形を求め、 この縮小図形を構成するショートベクトルが、前記縮小
    矩形の外側に存在する場合に、前記外側のショートベク
    トルを前記縮小矩形の内側に移動せしめて第2アウトラ
    インを形成し、 この第2アウトラインに沿ってデータ展開するようにし
    たことを特徴とするデータ展開方法。
JP4030865A 1992-02-18 1992-02-18 データ展開方法 Expired - Fee Related JP2976671B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4030865A JP2976671B2 (ja) 1992-02-18 1992-02-18 データ展開方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4030865A JP2976671B2 (ja) 1992-02-18 1992-02-18 データ展開方法

Publications (2)

Publication Number Publication Date
JPH05232930A JPH05232930A (ja) 1993-09-10
JP2976671B2 true JP2976671B2 (ja) 1999-11-10

Family

ID=12315628

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4030865A Expired - Fee Related JP2976671B2 (ja) 1992-02-18 1992-02-18 データ展開方法

Country Status (1)

Country Link
JP (1) JP2976671B2 (ja)

Also Published As

Publication number Publication date
JPH05232930A (ja) 1993-09-10

Similar Documents

Publication Publication Date Title
JP3474037B2 (ja) 文字パターン生成装置
KR970008546B1 (ko) 문자 또는 도형의 처리방법
JP3037854B2 (ja) 文字生成方法及びその装置
US5519412A (en) Pattern processing method
JP2976671B2 (ja) データ展開方法
JP2005111718A (ja) 画像出力制御方法および装置並びにプログラム
JP3146771B2 (ja) フォントラスタライズ装置およびその方法
JP3055306B2 (ja) データ出力装置
JP3129717B2 (ja) 画像処理装置および画像処理方法
JP3040624B2 (ja) パターン発生装置
JPH09305160A (ja) 文字生成装置
JPH0493994A (ja) 文字処理装置
JPH10151815A (ja) 印刷処理装置
JP2782752B2 (ja) 文字パターン出力装置
JP2622168B2 (ja) 文字処理装置および方法
JP2803746B2 (ja) 文字処理方法及びその装置
JP2710350B2 (ja) 画像処理装置および画像処理装置の画像処理方法
JP2633566B2 (ja) 画像処理方法
JPH0880639A (ja) プリンタのフォント選択方式
JPH09138679A (ja) データ処理装置
JPH064396A (ja) 画像描画装置
JPH0553558A (ja) 情報処理装置
JPH06110444A (ja) 文字処理装置および文字出力方法
JPH05173539A (ja) 印刷制御装置
JPH05313634A (ja) アウトラインフォント展開装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070910

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080910

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090910

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090910

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100910

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100910

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110910

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees