JP3189276B2 - データ変換装置 - Google Patents
データ変換装置Info
- Publication number
- JP3189276B2 JP3189276B2 JP24186390A JP24186390A JP3189276B2 JP 3189276 B2 JP3189276 B2 JP 3189276B2 JP 24186390 A JP24186390 A JP 24186390A JP 24186390 A JP24186390 A JP 24186390A JP 3189276 B2 JP3189276 B2 JP 3189276B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- outline
- character
- curve
- coordinate
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/22—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
- G09G5/24—Generation of individual character patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0002—Handling the output data
- G06K2215/002—Generic data access
- G06K2215/0028—Generic data access characterised by the format per se
- G06K2215/0034—Outline coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0002—Handling the output data
- G06K2215/004—Generic data transformation
- G06K2215/0042—Rasterisation
- G06K2215/0045—Converting outline to bitmap
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Controls And Circuits For Display Device (AREA)
- Dot-Matrix Printers And Others (AREA)
Description
【発明の詳細な説明】 [産業上の利用分野] 本発明は、文字・記号等のキャラクタの輪郭線を表す
アウトラインデータをドットデータに変換するデータ変
換装置に関するものであり、特に、キャラクタを構成す
る凹部または凸部の滑らかさの確保に関するものであ
る。
アウトラインデータをドットデータに変換するデータ変
換装置に関するものであり、特に、キャラクタを構成す
る凹部または凸部の滑らかさの確保に関するものであ
る。
[従来技術] 従来、文字・記号等キャラクタを表すデータをコンピ
ュータを用いて処理し、印字、ディスプレイ表示等なん
らかの形で出力する場合、最小処理単位である画素毎に
ドットデータを作成することが広く行なわれている。こ
の際、表示されるキャラクタ全部について予めドットデ
ータを作成し、メモリに記憶させると極めて容量の大き
いメモリが必要となるため、特公昭53−41017号公報に
記載されているように、キャラクタをそのキャラクタの
輪郭線を表すアウトラインデータで記憶させ、印字、デ
ィスプレイ表示等の出力時にデータ変換手段によりドッ
トデータに変換することが望ましい。
ュータを用いて処理し、印字、ディスプレイ表示等なん
らかの形で出力する場合、最小処理単位である画素毎に
ドットデータを作成することが広く行なわれている。こ
の際、表示されるキャラクタ全部について予めドットデ
ータを作成し、メモリに記憶させると極めて容量の大き
いメモリが必要となるため、特公昭53−41017号公報に
記載されているように、キャラクタをそのキャラクタの
輪郭線を表すアウトラインデータで記憶させ、印字、デ
ィスプレイ表示等の出力時にデータ変換手段によりドッ
トデータに変換することが望ましい。
このアウトラインデータをドットデータに変換するに
は画素スクリーンが用いられる。画素スクリーンは、一
平面内において互いに直交するX軸とY軸とにそれぞれ
平行な複数の規定線により画素を規定するものであり、
データ変換手段は、画素スクリーンにキャラクタの輪郭
線を重ね合わせた場合に、輪郭線内に一定の基準以上の
部分が含まれる画素に対応するビットデータをキャラク
タ構成線の存在を表すデータに設定し、アウトラインデ
ータをドットデータに変換するのである。
は画素スクリーンが用いられる。画素スクリーンは、一
平面内において互いに直交するX軸とY軸とにそれぞれ
平行な複数の規定線により画素を規定するものであり、
データ変換手段は、画素スクリーンにキャラクタの輪郭
線を重ね合わせた場合に、輪郭線内に一定の基準以上の
部分が含まれる画素に対応するビットデータをキャラク
タ構成線の存在を表すデータに設定し、アウトラインデ
ータをドットデータに変換するのである。
[発明が解決しようとする課題] しかしながら、このようにアウトラインデータをドッ
トデータに変換し、キャラクタを表示する場合に、キャ
ラクタの輪郭線が表示される位置によって同じキャラク
タの輪郭線であってもその内側に一定の基準以上含まれ
る画素の数、位置等が異なり、キャラクタ構成線の凹凸
部のドット構成が異なる。特に、第7図に示すように凸
部11のドットデータの配置が構成された場合、凸部11に
対応するドットデータが1ドットだけ飛び出しているよ
うに見え非常に見苦しい形状を呈する場合がある。これ
は、人間の目がキャラクタの特徴をキャラクタ構成線の
凹凸部を見て判断するため特に目立つことがある。また
凹部についても同様なことが言え、1ドットだけへこん
でいる場合も目立つ。幅方向の画素数が多い場合でも、
凸部にゴミがついたような感じを与え、表示品質が低下
する問題がある。
トデータに変換し、キャラクタを表示する場合に、キャ
ラクタの輪郭線が表示される位置によって同じキャラク
タの輪郭線であってもその内側に一定の基準以上含まれ
る画素の数、位置等が異なり、キャラクタ構成線の凹凸
部のドット構成が異なる。特に、第7図に示すように凸
部11のドットデータの配置が構成された場合、凸部11に
対応するドットデータが1ドットだけ飛び出しているよ
うに見え非常に見苦しい形状を呈する場合がある。これ
は、人間の目がキャラクタの特徴をキャラクタ構成線の
凹凸部を見て判断するため特に目立つことがある。また
凹部についても同様なことが言え、1ドットだけへこん
でいる場合も目立つ。幅方向の画素数が多い場合でも、
凸部にゴミがついたような感じを与え、表示品質が低下
する問題がある。
本発明は、上述した問題点を解決するためになされた
ものであり、キャラクタ構成線の凹凸部が滑らかになる
ようにドットデータを設定することができるデータ変換
装置を提供することを課題として為されたものである。
ものであり、キャラクタ構成線の凹凸部が滑らかになる
ようにドットデータを設定することができるデータ変換
装置を提供することを課題として為されたものである。
[課題を解決するための手段] この目的を達成するために、本発明のデータ変換装置
は、第1図に示すように、データ変換手段を備えた装置
であり、キャラクタの輪郭線のX軸方向またはY軸方向
に対する凹部または凸部の座標を算出する凹凸部算出手
段と、凹凸部を含むキャラクタの輪郭線の凹凸部付近の
ドットデータの段差を緩和するような向きおよび量で、
前記凹凸部算出手段によって得られた凹部または凸部の
座標を画素スクリーンの規定線に対して相対移動させる
輪郭線移動手段と、輪郭線移動手段に対応してアウトラ
インデータを修正するアウトラインデータ修正手段とを
設け、かつ、データ変換手段を、アウトラインデータ修
正手段により得られたアウトラインデータをドットデー
タに変換するものとしたことを要旨とするものである。
は、第1図に示すように、データ変換手段を備えた装置
であり、キャラクタの輪郭線のX軸方向またはY軸方向
に対する凹部または凸部の座標を算出する凹凸部算出手
段と、凹凸部を含むキャラクタの輪郭線の凹凸部付近の
ドットデータの段差を緩和するような向きおよび量で、
前記凹凸部算出手段によって得られた凹部または凸部の
座標を画素スクリーンの規定線に対して相対移動させる
輪郭線移動手段と、輪郭線移動手段に対応してアウトラ
インデータを修正するアウトラインデータ修正手段とを
設け、かつ、データ変換手段を、アウトラインデータ修
正手段により得られたアウトラインデータをドットデー
タに変換するものとしたことを要旨とするものである。
[作用] 上記の構成を有する本発明によれば、キャラクタ構成
線を画定する輪郭線を画素スクリーンに対して相対移動
させれば、キャラクタ構成線を画定する輪郭線の内側に
含まれる画素の配置が変わる。したがって、凹凸部の座
標を凹凸部算出手段により算出し、得られた凹凸部の座
標をキャラキタの輪郭線の凹凸部付近において滑らかな
ドットデータを構成するように凹凸部を含む輪郭線を輪
郭線移動手段、及び、アウトラインデータ修正手段によ
り最小スクリーン単位以内で移動することによってキャ
ラクタの輪郭線内に含まれる画素の配置を変え、キャラ
クタを常に見栄え良く出力することができる。
線を画定する輪郭線を画素スクリーンに対して相対移動
させれば、キャラクタ構成線を画定する輪郭線の内側に
含まれる画素の配置が変わる。したがって、凹凸部の座
標を凹凸部算出手段により算出し、得られた凹凸部の座
標をキャラキタの輪郭線の凹凸部付近において滑らかな
ドットデータを構成するように凹凸部を含む輪郭線を輪
郭線移動手段、及び、アウトラインデータ修正手段によ
り最小スクリーン単位以内で移動することによってキャ
ラクタの輪郭線内に含まれる画素の配置を変え、キャラ
クタを常に見栄え良く出力することができる。
[実施例] 以下、レーザプリンタにおいてアウトラインデータを
ドットデータに変換する装置に本発明を適用した場合を
例に取り、図面に基づいて詳細に説明する。
ドットデータに変換する装置に本発明を適用した場合を
例に取り、図面に基づいて詳細に説明する。
第2図はレーザプリンタの制御回路のうち、データ変
換に関する部分を主として示す図である。この制御回路
の主体を成すマイクロコンピュータ部10は、CPU12、キ
ャラクタROM14、プログラムROM16、テキストメモリ18、
ワーキングメモリ20、凹凸部修正データメモリ22、ドッ
トデータメモリ24を備えている。これらCPU12等はバス2
8により接続されており、バス28には入力装置30および
印字部32が接続されている。入力装置30は必要なデータ
をマイクロコンピュータ部10に入力するものであり、印
字部32はマイクロコンピュータ部10からの指令に基づい
てレーザプリント方式により印字を行なう部分である。
なお、本レーザプリンタの解像度は300ドット/インチ
とする。
換に関する部分を主として示す図である。この制御回路
の主体を成すマイクロコンピュータ部10は、CPU12、キ
ャラクタROM14、プログラムROM16、テキストメモリ18、
ワーキングメモリ20、凹凸部修正データメモリ22、ドッ
トデータメモリ24を備えている。これらCPU12等はバス2
8により接続されており、バス28には入力装置30および
印字部32が接続されている。入力装置30は必要なデータ
をマイクロコンピュータ部10に入力するものであり、印
字部32はマイクロコンピュータ部10からの指令に基づい
てレーザプリント方式により印字を行なう部分である。
なお、本レーザプリンタの解像度は300ドット/インチ
とする。
CPU12には、第3図に概念的に示すようにデータ読出
部36、凹凸部を修正する凹凸部修正部38、アウトライン
データをドットデータに変換するデータ変換部40等が設
けられている。テキストメモリ18は、入力装置30から入
力されるコードデータから成るキャラクタデータを記憶
するものであり、ワーキングメモリ20は、プログラム実
行時に必要なデータを一時的に記憶するものである。ま
た、凹凸部修正データメモリ22には凹凸部修正部38によ
り求められる凹凸部の修正に関するデータが記憶され
る。凹凸部修正データメモリ22の内部に記憶されるデー
タの一部は第6図に示すような構成となっており、NXは
ひとつの曲線のx方向の凹凸部の個数、SXはアウトライ
ンデータのx方向の凹凸部の総数が記憶され、複数個の
x座標の修正前のデータを記憶するx座標修正前データ
群81、x座標修正前データ群81の各x座標と対応する修
正後のデータを記憶するx座標修正後データ群82があ
る。y方向についても同様に、NYはひとつの曲線のy方
向の凹凸部の個数、SYはアウトラインデータのy方向の
凹凸部の総数が記憶され、複数個のy座標の修正前のデ
ータを記憶するy座標修正前データ群83、y座標修正前
データ群83の各y座標と対応する修正後のデータを記憶
するy座標修正後データ群84がある。ドットデータメモ
リ24にはデータ変換部40の変換により得られるドットデ
ータが記憶される。
部36、凹凸部を修正する凹凸部修正部38、アウトライン
データをドットデータに変換するデータ変換部40等が設
けられている。テキストメモリ18は、入力装置30から入
力されるコードデータから成るキャラクタデータを記憶
するものであり、ワーキングメモリ20は、プログラム実
行時に必要なデータを一時的に記憶するものである。ま
た、凹凸部修正データメモリ22には凹凸部修正部38によ
り求められる凹凸部の修正に関するデータが記憶され
る。凹凸部修正データメモリ22の内部に記憶されるデー
タの一部は第6図に示すような構成となっており、NXは
ひとつの曲線のx方向の凹凸部の個数、SXはアウトライ
ンデータのx方向の凹凸部の総数が記憶され、複数個の
x座標の修正前のデータを記憶するx座標修正前データ
群81、x座標修正前データ群81の各x座標と対応する修
正後のデータを記憶するx座標修正後データ群82があ
る。y方向についても同様に、NYはひとつの曲線のy方
向の凹凸部の個数、SYはアウトラインデータのy方向の
凹凸部の総数が記憶され、複数個のy座標の修正前のデ
ータを記憶するy座標修正前データ群83、y座標修正前
データ群83の各y座標と対応する修正後のデータを記憶
するy座標修正後データ群84がある。ドットデータメモ
リ24にはデータ変換部40の変換により得られるドットデ
ータが記憶される。
キャラクタROM14には、アルファベットその他の文字
や記号等キャラクタのアウトラインデータが記憶されて
いる。キャラクタは第5図にアルファベットの“O"を例
にして示すように、少なくとも1本のキャラクタ構成線
44から成る。第5図に示すアルファベット“O"の場合、
キャラクタ構成線44の画定は、外輪郭線46と内輪郭線47
とにより行なわれており、これらの輪郭線46,47によっ
てキャラクタの輪郭線が形成されている。アウトライン
データは、キャラクタの輪郭線を決定するのに必要な複
数の点の座標および輪郭線の種別(直線または曲線等)
を表すデータの群から成る。キャラクタの輪郭線を決定
する座標面は、第5図に示すように、縦(Y軸)、横
(X軸)がそれぞれ1000×1000の大きさとされている。
この座標面において、例えば、アルファベットの“H"の
ように複数の直線により構成されるキャラクタについて
は、その輪郭線の角毎の座標データ群によってアウトラ
インデータが構成される。また、アルファベットの“O"
のように曲線を含むものについては、その輪郭線を適当
な曲線セグメント単位にベジエ曲線と呼ばれる3次曲線
を用いて複数の曲線を組み合わせて構成する。1本のベ
ジエ曲線は4点で定義され、本実施例の“O"は、全部で
4本のベジエ曲線から構成されている。第5図ではベジ
エ曲線を定義する点を黒丸点で表し、ベジエ曲線の制御
腕は点線の直線で表している。なお、ベジエ曲線の制御
腕の詳細については後述する。勿論、曲線を表す曲線式
は、円弧、楕円弧、スプライン曲線、B−スプライン曲
線等があり、いずれも輪郭線として用いることができる
が、本発明を実施するにあたって凹凸部を容易に算出可
能である曲線式が望ましい。このようにアウトラインデ
ータの内輪郭線、外輪郭線の区別とアウトラインデータ
を構成する各点の座標と輪郭線の種別(直線または曲線
等)は輪郭線に沿って順にキャラクタROM14に記憶され
ている。
や記号等キャラクタのアウトラインデータが記憶されて
いる。キャラクタは第5図にアルファベットの“O"を例
にして示すように、少なくとも1本のキャラクタ構成線
44から成る。第5図に示すアルファベット“O"の場合、
キャラクタ構成線44の画定は、外輪郭線46と内輪郭線47
とにより行なわれており、これらの輪郭線46,47によっ
てキャラクタの輪郭線が形成されている。アウトライン
データは、キャラクタの輪郭線を決定するのに必要な複
数の点の座標および輪郭線の種別(直線または曲線等)
を表すデータの群から成る。キャラクタの輪郭線を決定
する座標面は、第5図に示すように、縦(Y軸)、横
(X軸)がそれぞれ1000×1000の大きさとされている。
この座標面において、例えば、アルファベットの“H"の
ように複数の直線により構成されるキャラクタについて
は、その輪郭線の角毎の座標データ群によってアウトラ
インデータが構成される。また、アルファベットの“O"
のように曲線を含むものについては、その輪郭線を適当
な曲線セグメント単位にベジエ曲線と呼ばれる3次曲線
を用いて複数の曲線を組み合わせて構成する。1本のベ
ジエ曲線は4点で定義され、本実施例の“O"は、全部で
4本のベジエ曲線から構成されている。第5図ではベジ
エ曲線を定義する点を黒丸点で表し、ベジエ曲線の制御
腕は点線の直線で表している。なお、ベジエ曲線の制御
腕の詳細については後述する。勿論、曲線を表す曲線式
は、円弧、楕円弧、スプライン曲線、B−スプライン曲
線等があり、いずれも輪郭線として用いることができる
が、本発明を実施するにあたって凹凸部を容易に算出可
能である曲線式が望ましい。このようにアウトラインデ
ータの内輪郭線、外輪郭線の区別とアウトラインデータ
を構成する各点の座標と輪郭線の種別(直線または曲線
等)は輪郭線に沿って順にキャラクタROM14に記憶され
ている。
ここで、本実施例で曲線のデータとして用いる3次の
ベジエ曲線について数学的な定義および曲線の性質に関
して説明する。第13図(a)に示すように3次のベジエ
曲線P(以下、単に曲線とした場合は3次のベジエ曲線
であるとする)は、2次元平面上のQ0、Q1、Q2、Q3の4
点で定義され、前記曲線上の任意の1点P(t)、(0
≦t≦1)は、 で定義される。ここで、行列MBは、 である。式(1)より、P(0)=Q0、P(1)=Q3で
あるから、曲線Pは点Q0を始点とし点Q3を終点とするこ
とがわかる。また、点Q1およびQ2は曲線P上を通過しな
いが曲線Pの形状を決めるものであることから制御点と
呼ぶ。
ベジエ曲線について数学的な定義および曲線の性質に関
して説明する。第13図(a)に示すように3次のベジエ
曲線P(以下、単に曲線とした場合は3次のベジエ曲線
であるとする)は、2次元平面上のQ0、Q1、Q2、Q3の4
点で定義され、前記曲線上の任意の1点P(t)、(0
≦t≦1)は、 で定義される。ここで、行列MBは、 である。式(1)より、P(0)=Q0、P(1)=Q3で
あるから、曲線Pは点Q0を始点とし点Q3を終点とするこ
とがわかる。また、点Q1およびQ2は曲線P上を通過しな
いが曲線Pの形状を決めるものであることから制御点と
呼ぶ。
次に、曲線Pの凹凸部を算出するために式(1)を変
数tで微分すると、 P′(t)=(−3Q0+9Q1−9Q2+3Q3)t2 +(6Q0−12Q1+6Q2)t +(−3Q0+3Q1) ……(2) となる。tが0≦t≦1の範囲でP′(t)=0となる
ような場合曲線Pの凹凸部であることに他ならない。式
(2)のtの各係数を (Ax、Ay)=A=−3Q0+9Q1−9Q2+3Q3 (Bx、By)=B=6Q0−12Q1+6Q2 (Cx、Cy)=C=−3Q0+3Q1 とおき、x方向とy方向にわけて凹凸部である点のtを
求める。まず、x方向についての判別式は、 Dx=Bx 2−4AxCx ……(3) となり、少なくともDx<0のときx方向に関する凹凸部
は存在しない。また、Ax=0のときも凹凸部は存在しな
い。Dx≧0のとき、 tx1=(−Bx+SQRT(Dx))/(2Ax) tx2=(−Bx−SQRT(Dx))/(2Ax) ……(4) となり、2つのtx1、tx2が求められるが範囲が0≦t≦
1を逸脱するtに関しては、曲線Pの凹凸部を示すもの
ではない。ここで、SQRTは、平方根を取ることを示す。
同様に、y方向についての判別式は、 Dy=By 2−4AyCy ……(5) となり、少なくともDy<0のときy方向に関する凹凸部
は存在しない。また、Ay=0のときも凹凸部は存在しな
い。Dy≧0のとき、 ty1=(−By+SQRT(Dy))/(2Ay) ty2=(−By−SQRT(Dy))/(2Ay) ……(6) となり、2つのty1、ty2が求められるが範囲が0≦t≦
1を逸脱するtに関しては、曲線Pの凹凸部を示すもの
ではない。ところで、式(2)よりP′(0)=3(Q1
−Q0)、P′(1)=3(Q3−Q2)であるから線分Q0Q1
は点Q0における曲線Pの傾きと一致し、同様に線分Q3Q2
は点Q3における曲線Pの傾きと一致している。したがっ
て、線分Q0Q1およびQ3Q2の傾きによって曲線Pの形状を
おおかた予測できるため線分Q0Q1およびQ3Q2を制御腕と
呼ぶ。
数tで微分すると、 P′(t)=(−3Q0+9Q1−9Q2+3Q3)t2 +(6Q0−12Q1+6Q2)t +(−3Q0+3Q1) ……(2) となる。tが0≦t≦1の範囲でP′(t)=0となる
ような場合曲線Pの凹凸部であることに他ならない。式
(2)のtの各係数を (Ax、Ay)=A=−3Q0+9Q1−9Q2+3Q3 (Bx、By)=B=6Q0−12Q1+6Q2 (Cx、Cy)=C=−3Q0+3Q1 とおき、x方向とy方向にわけて凹凸部である点のtを
求める。まず、x方向についての判別式は、 Dx=Bx 2−4AxCx ……(3) となり、少なくともDx<0のときx方向に関する凹凸部
は存在しない。また、Ax=0のときも凹凸部は存在しな
い。Dx≧0のとき、 tx1=(−Bx+SQRT(Dx))/(2Ax) tx2=(−Bx−SQRT(Dx))/(2Ax) ……(4) となり、2つのtx1、tx2が求められるが範囲が0≦t≦
1を逸脱するtに関しては、曲線Pの凹凸部を示すもの
ではない。ここで、SQRTは、平方根を取ることを示す。
同様に、y方向についての判別式は、 Dy=By 2−4AyCy ……(5) となり、少なくともDy<0のときy方向に関する凹凸部
は存在しない。また、Ay=0のときも凹凸部は存在しな
い。Dy≧0のとき、 ty1=(−By+SQRT(Dy))/(2Ay) ty2=(−By−SQRT(Dy))/(2Ay) ……(6) となり、2つのty1、ty2が求められるが範囲が0≦t≦
1を逸脱するtに関しては、曲線Pの凹凸部を示すもの
ではない。ところで、式(2)よりP′(0)=3(Q1
−Q0)、P′(1)=3(Q3−Q2)であるから線分Q0Q1
は点Q0における曲線Pの傾きと一致し、同様に線分Q3Q2
は点Q3における曲線Pの傾きと一致している。したがっ
て、線分Q0Q1およびQ3Q2の傾きによって曲線Pの形状を
おおかた予測できるため線分Q0Q1およびQ3Q2を制御腕と
呼ぶ。
曲線Pの凹凸部の移動を行なうために1本の曲線Pを
凹凸部ごとに複数の曲線Pに分割する。第13図(b)に
示すようにt=tiからt=ti+1までの区間の曲線Piを曲
線Pを定義する4点Q0、Q1、Q2、Q3で表す(但し、ti<
ti+1かつti≠ti+1とする)。4点Q0 (i)、Q1 (i)、
Q2 (i)、Q3 (i)は、曲線Pi(u)(0≦u≦1)を定義す
る点である。式(1)より明らかにQ0 (i)=P(ti)、Q
3 (i)=P(ti+1)である。パラメータ変換 u=(t−ti)/(ti+1−ti) を行なうため、上式を式(1)に代入すると、 但し、 t11=(1−ti)3、t12=(1−t)2ti、 t13=(1−ti)ti 2、t14=ti 3、 t21=(1−ti)2(1−ti+1)、 t22=(1−ti){ti+1−(3ti+1−2)ti}、 t23=ti{2ti+1−(3ti+1−1)ti}、 t24=ti 2ti+1、 t31=(1−ti)(1−ti+1)2、 t32=(1−ti+1){2ti+1−(3ti+1−1)ti}、 t33=ti+1{ti+1−(3ti+1−2)ti}、 t34=titi+1 2、t41=((1−ti+1)3、 t42=(1−ti+1)2ti+1、 t43=(1−ti+1)ti+1 2、t44=ti+1 3、 である。したがって、 Q1 (i)=t21Q0+t22Q1+t23Q2+t24Q3 Q2 (i)=t31Q0+t32Q1+t33Q2+t34Q3 ……(7) となり、曲線Piの制御点Q1 (i)、Q2 (i)を求めることがで
きる。以上から、ひとつのベジエ曲線から凹凸部の座標
を算出し、元のベジエ曲線を凹凸部毎に複数のベジエ曲
線に分割する。式(3)(4)および(5)(6)より
凹凸部を表すtを求め、tの値の小さい順番にti(i=
1〜j−1)とする。但し、凹凸部が存在しない場合は
分割は行なわない。ここでjは(凹凸部の総数+1)と
し、t0=0、tj=1とする。曲線Pは、曲線Pi(i=0
〜j−1)のj区間の曲線に分割することができる。
凹凸部ごとに複数の曲線Pに分割する。第13図(b)に
示すようにt=tiからt=ti+1までの区間の曲線Piを曲
線Pを定義する4点Q0、Q1、Q2、Q3で表す(但し、ti<
ti+1かつti≠ti+1とする)。4点Q0 (i)、Q1 (i)、
Q2 (i)、Q3 (i)は、曲線Pi(u)(0≦u≦1)を定義す
る点である。式(1)より明らかにQ0 (i)=P(ti)、Q
3 (i)=P(ti+1)である。パラメータ変換 u=(t−ti)/(ti+1−ti) を行なうため、上式を式(1)に代入すると、 但し、 t11=(1−ti)3、t12=(1−t)2ti、 t13=(1−ti)ti 2、t14=ti 3、 t21=(1−ti)2(1−ti+1)、 t22=(1−ti){ti+1−(3ti+1−2)ti}、 t23=ti{2ti+1−(3ti+1−1)ti}、 t24=ti 2ti+1、 t31=(1−ti)(1−ti+1)2、 t32=(1−ti+1){2ti+1−(3ti+1−1)ti}、 t33=ti+1{ti+1−(3ti+1−2)ti}、 t34=titi+1 2、t41=((1−ti+1)3、 t42=(1−ti+1)2ti+1、 t43=(1−ti+1)ti+1 2、t44=ti+1 3、 である。したがって、 Q1 (i)=t21Q0+t22Q1+t23Q2+t24Q3 Q2 (i)=t31Q0+t32Q1+t33Q2+t34Q3 ……(7) となり、曲線Piの制御点Q1 (i)、Q2 (i)を求めることがで
きる。以上から、ひとつのベジエ曲線から凹凸部の座標
を算出し、元のベジエ曲線を凹凸部毎に複数のベジエ曲
線に分割する。式(3)(4)および(5)(6)より
凹凸部を表すtを求め、tの値の小さい順番にti(i=
1〜j−1)とする。但し、凹凸部が存在しない場合は
分割は行なわない。ここでjは(凹凸部の総数+1)と
し、t0=0、tj=1とする。曲線Pは、曲線Pi(i=0
〜j−1)のj区間の曲線に分割することができる。
本レーザプリンタにおいてアウトラインデータのドッ
トデータへの変換は、第7図に示す画素スクリーン52を
用いて行なわれる。画素スクリーン52はアウトラインデ
ータをドットデータに変換するための計算上のものであ
るが、ここでは理解を容易にするために実在するものと
して図示することとする。また、ここにおいて画素と
は、レーザにより印字が行なわれる際の最小印字単位で
あり、画素スクリーン52は、一平面内において互いに直
交し、X軸方向とY軸方向とにそれぞれ平行である。本
実施例において画素は、円形とされており、画素毎に印
字を行なうか否かのドットデータが作成される。また、
各画素の中心点(以下、画素中心点と称する。)を通
り、X軸方向とY軸方向とにそれぞれ平行なx方向の規
定線とy方向の規定線とが設定されており、各画素の位
置は画素中心点の座標で表される。なお、画素は矩形そ
の他の形状とすることも可能である。
トデータへの変換は、第7図に示す画素スクリーン52を
用いて行なわれる。画素スクリーン52はアウトラインデ
ータをドットデータに変換するための計算上のものであ
るが、ここでは理解を容易にするために実在するものと
して図示することとする。また、ここにおいて画素と
は、レーザにより印字が行なわれる際の最小印字単位で
あり、画素スクリーン52は、一平面内において互いに直
交し、X軸方向とY軸方向とにそれぞれ平行である。本
実施例において画素は、円形とされており、画素毎に印
字を行なうか否かのドットデータが作成される。また、
各画素の中心点(以下、画素中心点と称する。)を通
り、X軸方向とY軸方向とにそれぞれ平行なx方向の規
定線とy方向の規定線とが設定されており、各画素の位
置は画素中心点の座標で表される。なお、画素は矩形そ
の他の形状とすることも可能である。
画素スクリーン52は印字用紙の印字面に対応して想定
されるものであるが、第7図には理解を容易にするため
に1キャラクタ分を取り出して示してある。したがっ
て、画素スクリーン52全体においてx方向の規定線及び
y方向の規定線に実際に付される目盛り値は、第7図に
おいてx方向の規定線及びy方向の規定線に付されてい
る目盛り値に適宜の整数をそれぞれ加えた値となるが、
ここでは1キャラクタ分に付いてのみ考えることとす
る。
されるものであるが、第7図には理解を容易にするため
に1キャラクタ分を取り出して示してある。したがっ
て、画素スクリーン52全体においてx方向の規定線及び
y方向の規定線に実際に付される目盛り値は、第7図に
おいてx方向の規定線及びy方向の規定線に付されてい
る目盛り値に適宜の整数をそれぞれ加えた値となるが、
ここでは1キャラクタ分に付いてのみ考えることとす
る。
アウトラインデータのドットデータへの変換は、キャ
ラクタの輪郭線を画素スクリーン52に重ね合わせたと想
定して行なわれ、本実施例においてはキャラキタの輪郭
線内の各画素にドットが形成されるようになっており、
その画素のビットデータが1とされる。輪郭線内には1
個の画素の全部または一部が含まれることとなるが、本
実施例においては輪郭線内に画素中心点が含まれる画素
のビットデータが1に設定される。
ラクタの輪郭線を画素スクリーン52に重ね合わせたと想
定して行なわれ、本実施例においてはキャラキタの輪郭
線内の各画素にドットが形成されるようになっており、
その画素のビットデータが1とされる。輪郭線内には1
個の画素の全部または一部が含まれることとなるが、本
実施例においては輪郭線内に画素中心点が含まれる画素
のビットデータが1に設定される。
また、本レーザプリンタは、キャラクタを6.48ポイン
ト、10ポイント、12ポイント、20ポイント、24ポイン
ト、30ポイント等任意の印字ポイントサイズで印字する
ことができ、印字ポイントサイズに合わせて前記1000×
1000の座標面で作られた輪郭線の座標値が換算される。
1画素の1辺の長さを1で表す座標面を画素スクリーン
52上に想定して座標値の換算が行なわれるのであり、あ
る印字ポイントサイズのキャラクタがC×C画素で表さ
れるとすれば、1000×1000の座標面上における輪郭線を
決定する各点の座標値にC/1000を掛ければ上記画素スク
リーン52上に想定した座標面上の座標値が得られるので
ある。ここでは1個のキャラクタが27×27画素で表され
る6.48ポイントで印字を行なう場合について説明する。
第7図の画素スクリーン52に付された数字はこの場合の
座標値である。なお、キャラクタの輪郭線を画素スクリ
ーン52に重ね合わせる際には、印字位置データに基づい
て各キャラクタの基準点の画素スクリーン52上における
座標値の決定も行なわれ、得られた基準点の座標値と上
記換算された座標値とを用いて重ね合わせが行なわれ
る。
ト、10ポイント、12ポイント、20ポイント、24ポイン
ト、30ポイント等任意の印字ポイントサイズで印字する
ことができ、印字ポイントサイズに合わせて前記1000×
1000の座標面で作られた輪郭線の座標値が換算される。
1画素の1辺の長さを1で表す座標面を画素スクリーン
52上に想定して座標値の換算が行なわれるのであり、あ
る印字ポイントサイズのキャラクタがC×C画素で表さ
れるとすれば、1000×1000の座標面上における輪郭線を
決定する各点の座標値にC/1000を掛ければ上記画素スク
リーン52上に想定した座標面上の座標値が得られるので
ある。ここでは1個のキャラクタが27×27画素で表され
る6.48ポイントで印字を行なう場合について説明する。
第7図の画素スクリーン52に付された数字はこの場合の
座標値である。なお、キャラクタの輪郭線を画素スクリ
ーン52に重ね合わせる際には、印字位置データに基づい
て各キャラクタの基準点の画素スクリーン52上における
座標値の決定も行なわれ、得られた基準点の座標値と上
記換算された座標値とを用いて重ね合わせが行なわれ
る。
このようにキャラクタの輪郭線の画素スクリーン52上
における位置はキャラクタの大きさの他、印字位置にも
影響されるため、同じキャラクタを構成するキャラクタ
構成線44でも凸部の構成画素が異なり、凸部の滑らかさ
に大きな違いが生ずることがある。例えば、1画素内に
形成されるドットを円で表せば、第8図(b)に示すよ
うに凸部の構成画素が5画素となり滑らかな凸部が構成
されているが、キャラクタ構成線44は印字位置によって
第8図(a)に示すように凸部の構成画素が1画素とな
り凸部が飛び出ているように見え、非常に目立つものが
ある。図中、格子は画素スクリーン52の一部を示してい
る。
における位置はキャラクタの大きさの他、印字位置にも
影響されるため、同じキャラクタを構成するキャラクタ
構成線44でも凸部の構成画素が異なり、凸部の滑らかさ
に大きな違いが生ずることがある。例えば、1画素内に
形成されるドットを円で表せば、第8図(b)に示すよ
うに凸部の構成画素が5画素となり滑らかな凸部が構成
されているが、キャラクタ構成線44は印字位置によって
第8図(a)に示すように凸部の構成画素が1画素とな
り凸部が飛び出ているように見え、非常に目立つものが
ある。図中、格子は画素スクリーン52の一部を示してい
る。
これに対し、本レーザプリンタにおいては印字サイズ
が2ポイント以上の場合、凹凸部付近のドットデータが
滑らかになるようにアウトラインデータを修正してビッ
トデータを設定し、キャラクタ構成線が常に良好なキャ
ラクタを印字するようにされており、プログラムROM16
には、第4図にフローチャートで示す凹凸部修正機能を
備えたドットデータ変換用のプログラムを初めとして、
印字に必要な種々のプログラムが記憶されている。以
下、アルファベットの“O"を例に取り、アウトラインデ
ータのドットデータへの変換について説明する。なお、
印字については本発明を理解する上で不可欠ではないた
め詳細な説明は省略するが、本レーザープリンタにおい
ては印字が1ページごとに行なわれる。テキストメモリ
18に記憶された文書データのうち1ページ分ずつデータ
が読み出され、そのデータに対応する多数のキャラクタ
のアウトラインデータがそれぞれドットデータに変換さ
れて印字が行なわれるのである。
が2ポイント以上の場合、凹凸部付近のドットデータが
滑らかになるようにアウトラインデータを修正してビッ
トデータを設定し、キャラクタ構成線が常に良好なキャ
ラクタを印字するようにされており、プログラムROM16
には、第4図にフローチャートで示す凹凸部修正機能を
備えたドットデータ変換用のプログラムを初めとして、
印字に必要な種々のプログラムが記憶されている。以
下、アルファベットの“O"を例に取り、アウトラインデ
ータのドットデータへの変換について説明する。なお、
印字については本発明を理解する上で不可欠ではないた
め詳細な説明は省略するが、本レーザープリンタにおい
ては印字が1ページごとに行なわれる。テキストメモリ
18に記憶された文書データのうち1ページ分ずつデータ
が読み出され、そのデータに対応する多数のキャラクタ
のアウトラインデータがそれぞれドットデータに変換さ
れて印字が行なわれるのである。
第4図(a)に示すフローチャートにそって詳細に本
実施例の凹凸部修正処理について説明すると、まず、ス
テップS1(以下、S1と略記する。他のステップについて
も同じ。)において処理されるキャラクタのアウトライ
ンデータおよび印字サイズが読み出され、各アウトライ
ンデータは印字サイズに従ったポイントサイズに変換さ
れる。例えば、6.48ポイントであれば全てのアウトライ
ンデータに対して0.027を掛けることにより変換され
る。S2において印字サイズが2ポイントより大であるか
否かの判定が行なわれるのであり、印字サイズが2ポイ
ント以下の場合には判定結果はNOとなり、S3においてア
ウトラインデータの中に曲線があれば直線を複数個接続
することにより近似的に直線化し、S4においてドットデ
ータの設定が行なわれる。キャラクタの輪郭線がそのま
ま画素スクリーン52に重ね合わされ、輪郭線内に画素中
心点が含まれる画素に対応するビットデータが1に設定
され、ドットデータメモリ24に記憶されるのである。
実施例の凹凸部修正処理について説明すると、まず、ス
テップS1(以下、S1と略記する。他のステップについて
も同じ。)において処理されるキャラクタのアウトライ
ンデータおよび印字サイズが読み出され、各アウトライ
ンデータは印字サイズに従ったポイントサイズに変換さ
れる。例えば、6.48ポイントであれば全てのアウトライ
ンデータに対して0.027を掛けることにより変換され
る。S2において印字サイズが2ポイントより大であるか
否かの判定が行なわれるのであり、印字サイズが2ポイ
ント以下の場合には判定結果はNOとなり、S3においてア
ウトラインデータの中に曲線があれば直線を複数個接続
することにより近似的に直線化し、S4においてドットデ
ータの設定が行なわれる。キャラクタの輪郭線がそのま
ま画素スクリーン52に重ね合わされ、輪郭線内に画素中
心点が含まれる画素に対応するビットデータが1に設定
され、ドットデータメモリ24に記憶されるのである。
それに対し印字サイズが20ポイント、24ポイント、30
ポイント等2ポイントより大きい場合にはS2の判定結果
はYESとなり、S5においてアウトラインデータの点の座
標および線の種別を順番に読み出す。線の種別をS6で判
定し曲線以外の線つまり直線であれば判定結果はNOとな
り、S12で直線を凹凸部修正データメモリ22に登録す
る。一方、読み出した線の種別が曲線の時にはS6の判定
結果はYESとなり、S7からS10までの曲線の凹凸部修正デ
ータ作成処理を実行し、S11において凹凸部修正データ
と曲線を凹凸部修正データメモリ22に登録する。曲線は
S7において凹凸部の位置を、曲線を表す変数tの値をx
方向は式(3)(4)およびy方向は式(5)(6)を
用いて算出する。x方向の凹凸部の個数は第6図(a)
に示す凹凸部修正データメモリ22の一部であるNXに記憶
し、またy方向の凹凸部の個数は第6図(b)に示す凹
凸部修正データメモリ22の一部であるNYに記憶する。さ
らにx方向の凹凸部の総数SxにNXを加え、同じくy方向
の凹凸部の総数SYにNYを加えるたものを記憶する。S7で
算出された凹凸部の個数NX、NYをS8において判定し、NX
=0かつNY=0の場合該曲線は一つも凹凸部を持たない
ためS9、S10をスキップし、S11の処理を行なう。S9にお
いてS7で算出したx方向およびy方向の変数tを値の小
さい順に並べ変えワーキングメモリ20に一旦記憶する。
それぞれの変数tに対してx方向であればx座標、y方
向であればy座標を式(1)に変数tを代入して算出
し、順番にx座標データは第6図(a)のx座標修正前
データ群81に、y座標データは第6図(b)のy座標修
正前データ群83に追加格納される。いま格納した座標デ
ータは修正前データであり、S23またはS33においてアウ
トラインデータの修正のときどの点を修正するのか検索
する場合に使われる。次に修正後のデータを、修正前の
データと輪郭線の内外および凹凸部の凹部か凸部かによ
り算出する。アウトラインデータを構成する輪郭線の内
外のデータはS1の段階で読み込まれているものとし、輪
郭線の凹凸部が凹部であるのか凸部であるのかは凹凸部
付近の微分値の符号によって判別することとする。
ポイント等2ポイントより大きい場合にはS2の判定結果
はYESとなり、S5においてアウトラインデータの点の座
標および線の種別を順番に読み出す。線の種別をS6で判
定し曲線以外の線つまり直線であれば判定結果はNOとな
り、S12で直線を凹凸部修正データメモリ22に登録す
る。一方、読み出した線の種別が曲線の時にはS6の判定
結果はYESとなり、S7からS10までの曲線の凹凸部修正デ
ータ作成処理を実行し、S11において凹凸部修正データ
と曲線を凹凸部修正データメモリ22に登録する。曲線は
S7において凹凸部の位置を、曲線を表す変数tの値をx
方向は式(3)(4)およびy方向は式(5)(6)を
用いて算出する。x方向の凹凸部の個数は第6図(a)
に示す凹凸部修正データメモリ22の一部であるNXに記憶
し、またy方向の凹凸部の個数は第6図(b)に示す凹
凸部修正データメモリ22の一部であるNYに記憶する。さ
らにx方向の凹凸部の総数SxにNXを加え、同じくy方向
の凹凸部の総数SYにNYを加えるたものを記憶する。S7で
算出された凹凸部の個数NX、NYをS8において判定し、NX
=0かつNY=0の場合該曲線は一つも凹凸部を持たない
ためS9、S10をスキップし、S11の処理を行なう。S9にお
いてS7で算出したx方向およびy方向の変数tを値の小
さい順に並べ変えワーキングメモリ20に一旦記憶する。
それぞれの変数tに対してx方向であればx座標、y方
向であればy座標を式(1)に変数tを代入して算出
し、順番にx座標データは第6図(a)のx座標修正前
データ群81に、y座標データは第6図(b)のy座標修
正前データ群83に追加格納される。いま格納した座標デ
ータは修正前データであり、S23またはS33においてアウ
トラインデータの修正のときどの点を修正するのか検索
する場合に使われる。次に修正後のデータを、修正前の
データと輪郭線の内外および凹凸部の凹部か凸部かによ
り算出する。アウトラインデータを構成する輪郭線の内
外のデータはS1の段階で読み込まれているものとし、輪
郭線の凹凸部が凹部であるのか凸部であるのかは凹凸部
付近の微分値の符号によって判別することとする。
ここで、x方向の凹凸部の修正データの算出方法を第
9図(a)に示すような輪郭線である曲線60が画素スク
リーン52と重ね合わされている状態を例にして説明す
る。第9図(a)では、曲線60の左部をドットデータと
して構成する場合、点61の付近の1ドットだけがへこん
でしまう一方、曲線60の右部をドットデータとして構成
する場合、点61の付近の1ドットだけが飛び出てしまい
非常に見苦しい態様を成すことがわかる。曲線60を表す
曲線式からx方向で凹凸部が存在することが式(3)
(4)より判定され、その点を示す変数tの値が算出さ
れ、式(1)に代入することにより点61のx座標が算出
される。算出されたx座標の値を超えない最大の整数値
に0.5を加えた値を修正後のx座標のデータとする。こ
れにしたがって、修正データを算出すると点61は第9図
(b)の点65の位置に修正されることとなる。このとき
曲線60は式(7)を用いて点65を境に二つの曲線62、64
に分割される。第9図(b)では、曲線62、64の左部を
ドットデータとして構成する場合、点65の付近の3ドッ
トがへこむ一方、曲線62、64の右部をドットデータとし
て構成する場合、点65の付近は3ドット構成となり第9
図(a)に比較して滑らかなドットデータとして変換さ
れることがわかる。同様に、y方向の凹凸部の修正デー
タの算出方法を第10図(a)に示すような曲線70が画素
スクリーン52と重ね合わされている状態を例にして説明
する。第10図(a)では、曲線70の上部をドットデータ
として構成する場合、点71の付近の1ドットだけがへこ
んでしまう一方、曲線70の下部をドットデータとして構
成する場合、点71の付近の1ドットだけが飛び出てしま
い非常に見苦しい態様を成すことがわかる。曲線70を表
す曲線式からy方向で凹凸部が存在することが式(5)
(6)より判定されその点を示す変数tの値が算出さ
れ、式(1)に代入することにより点71のy座標が算出
される。算出されたy座標の値を超えない最大の整数値
に0.5を加えた値を修正後のy座標のデータとする。こ
れにしたがって、修正データを算出すると点71は第10図
(b)の点75の位置に修正されることとなる。このとき
曲線70は式(7)を用いて点75を境に二つの曲線72、74
に分割される。第10図(b)では、曲線72、74の上部を
ドットデータとして構成する場合、点75の付近の3ドッ
トがへこむ一方、曲線72、74の下部をドットデータとし
て構成する場合、点75の付近は3ドット構成となり第10
図(a)に比較して滑らかなドットデータとして変換さ
れることがわかる。
9図(a)に示すような輪郭線である曲線60が画素スク
リーン52と重ね合わされている状態を例にして説明す
る。第9図(a)では、曲線60の左部をドットデータと
して構成する場合、点61の付近の1ドットだけがへこん
でしまう一方、曲線60の右部をドットデータとして構成
する場合、点61の付近の1ドットだけが飛び出てしまい
非常に見苦しい態様を成すことがわかる。曲線60を表す
曲線式からx方向で凹凸部が存在することが式(3)
(4)より判定され、その点を示す変数tの値が算出さ
れ、式(1)に代入することにより点61のx座標が算出
される。算出されたx座標の値を超えない最大の整数値
に0.5を加えた値を修正後のx座標のデータとする。こ
れにしたがって、修正データを算出すると点61は第9図
(b)の点65の位置に修正されることとなる。このとき
曲線60は式(7)を用いて点65を境に二つの曲線62、64
に分割される。第9図(b)では、曲線62、64の左部を
ドットデータとして構成する場合、点65の付近の3ドッ
トがへこむ一方、曲線62、64の右部をドットデータとし
て構成する場合、点65の付近は3ドット構成となり第9
図(a)に比較して滑らかなドットデータとして変換さ
れることがわかる。同様に、y方向の凹凸部の修正デー
タの算出方法を第10図(a)に示すような曲線70が画素
スクリーン52と重ね合わされている状態を例にして説明
する。第10図(a)では、曲線70の上部をドットデータ
として構成する場合、点71の付近の1ドットだけがへこ
んでしまう一方、曲線70の下部をドットデータとして構
成する場合、点71の付近の1ドットだけが飛び出てしま
い非常に見苦しい態様を成すことがわかる。曲線70を表
す曲線式からy方向で凹凸部が存在することが式(5)
(6)より判定されその点を示す変数tの値が算出さ
れ、式(1)に代入することにより点71のy座標が算出
される。算出されたy座標の値を超えない最大の整数値
に0.5を加えた値を修正後のy座標のデータとする。こ
れにしたがって、修正データを算出すると点71は第10図
(b)の点75の位置に修正されることとなる。このとき
曲線70は式(7)を用いて点75を境に二つの曲線72、74
に分割される。第10図(b)では、曲線72、74の上部を
ドットデータとして構成する場合、点75の付近の3ドッ
トがへこむ一方、曲線72、74の下部をドットデータとし
て構成する場合、点75の付近は3ドット構成となり第10
図(a)に比較して滑らかなドットデータとして変換さ
れることがわかる。
このようにして、算出された修正後のx座標データ
は、第6図(a)のx座標修正後データ群82に対応する
修正前データと対応して参照可能であるように格納さ
れ、同様に算出された修正後のy座標データは、第6図
(b)のy座標修正後データ群84に対応する修正前デー
タ群と対応して参照可能であるように格納される。次
に、S10においてワーキングメモリ20に一旦記憶された
(NX+NY)個の変数tを順番に読み出し、それぞれ変数
ti、1≦i≦NX+NYとする。さらにt0=0、tj=1、j
=NX+NY+1として、変数tiを式(1)および式(7)
にi=0から順番にi=j−1まで適用することにより
分割した曲線を定義する制御点および制御腕を算出す
る。
は、第6図(a)のx座標修正後データ群82に対応する
修正前データと対応して参照可能であるように格納さ
れ、同様に算出された修正後のy座標データは、第6図
(b)のy座標修正後データ群84に対応する修正前デー
タ群と対応して参照可能であるように格納される。次
に、S10においてワーキングメモリ20に一旦記憶された
(NX+NY)個の変数tを順番に読み出し、それぞれ変数
ti、1≦i≦NX+NYとする。さらにt0=0、tj=1、j
=NX+NY+1として、変数tiを式(1)および式(7)
にi=0から順番にi=j−1まで適用することにより
分割した曲線を定義する制御点および制御腕を算出す
る。
この様子を第9図および第10図を例に説明すると、第
9図(a)の曲線60は凹凸部である点61で2つの曲線6
2、64に分割され、制御点として点66、67と図示してい
ないが残り2点の制御点が算出される。第9図(b)中
の太い点線は制御腕を示してあり、x方向に凹凸部であ
ることから制御腕は垂直となる。同様に、第10図(a)
の曲線70は凹凸部である点71で2つの曲線72、74に分割
され、制御点として点76、77と図示していないが残り2
点の制御点が算出される。第10図(b)中の太い点線は
制御腕を示してあり、y方向に凹凸部であることから制
御腕は水平となる。
9図(a)の曲線60は凹凸部である点61で2つの曲線6
2、64に分割され、制御点として点66、67と図示してい
ないが残り2点の制御点が算出される。第9図(b)中
の太い点線は制御腕を示してあり、x方向に凹凸部であ
ることから制御腕は垂直となる。同様に、第10図(a)
の曲線70は凹凸部である点71で2つの曲線72、74に分割
され、制御点として点76、77と図示していないが残り2
点の制御点が算出される。第10図(b)中の太い点線は
制御腕を示してあり、y方向に凹凸部であることから制
御腕は水平となる。
このようにして、もとの曲線は凹凸部毎に分割され輪
郭線の凹凸部の移動を行なうことが可能となり、S11に
おいてS10で算出され、分割された複数個の曲線を凹凸
部修正データメモリ22に登録する。第5図に示したアル
ファベットの“O"を凹凸部毎に曲線を分割した状態を第
11図に示す。この場合“O"は全部で4本の曲線から構成
されていたが、分割することにより8本の曲線で構成さ
れる。
郭線の凹凸部の移動を行なうことが可能となり、S11に
おいてS10で算出され、分割された複数個の曲線を凹凸
部修正データメモリ22に登録する。第5図に示したアル
ファベットの“O"を凹凸部毎に曲線を分割した状態を第
11図に示す。この場合“O"は全部で4本の曲線から構成
されていたが、分割することにより8本の曲線で構成さ
れる。
S5において読み出された点のデータがアウトラインデ
ータの最後のデータであるか否かS13で判別し、最後の
データでなければ判定結果がNOとなり、S5からS12まで
の処理を繰り返し実行し、凹凸部修正データメモリ22に
修正データおよび修正されるアウトラインデータを登録
する。一方アウトラインデータが最後のデータであれば
S13の判定結果はYESとなりS14において、凹凸部を修正
するためのアウトラインデータの移動ルーチンを呼び出
し、凹凸部修正データメモリに登録された輪郭線データ
に対して適用する。S14で移動修正された後S3において
アウトラインデータの中に曲線があれば直線を複数個接
続することにより近似的に直線化し、S4においてドット
データの設定が行なわれる。キャラクタの輪郭線がその
まま画素スクリーン52に重ね合わされ、輪郭線内に画素
中心点が含まれる画素に対応するビットデータが1に設
定され、ドットデータメモリ24に記憶されるのである。
ータの最後のデータであるか否かS13で判別し、最後の
データでなければ判定結果がNOとなり、S5からS12まで
の処理を繰り返し実行し、凹凸部修正データメモリ22に
修正データおよび修正されるアウトラインデータを登録
する。一方アウトラインデータが最後のデータであれば
S13の判定結果はYESとなりS14において、凹凸部を修正
するためのアウトラインデータの移動ルーチンを呼び出
し、凹凸部修正データメモリに登録された輪郭線データ
に対して適用する。S14で移動修正された後S3において
アウトラインデータの中に曲線があれば直線を複数個接
続することにより近似的に直線化し、S4においてドット
データの設定が行なわれる。キャラクタの輪郭線がその
まま画素スクリーン52に重ね合わされ、輪郭線内に画素
中心点が含まれる画素に対応するビットデータが1に設
定され、ドットデータメモリ24に記憶されるのである。
次に、S14において呼び出されるアウトラインデータ
の移動ルーチンについて第4図(b)のフローチャート
にそって詳細に説明すると、まず、S20においてx方向
の凹凸部の総数SXが0か否かを判定し、0であれば判定
結果はYESとなりx方向の凹凸部修正処理であるS21から
S25までの処理をスキップし、x方向の凹凸部の修正処
理を行なわない。SXが0以外のときつまりx方向の凹凸
部が少なくとも1個以上存在した場合S20の判定結果はN
Oとなり、S21で凹凸部の修正処理を計数するカウンタn
を0で初期化する。カウンタnはワーキングメモリ20に
確保されているとする。S22においてx方向の凹凸部の
修正前のx座標データをx座標修正前データ群81から読
み出し、それと対応する修正後のx座標データをx座標
修正後データ群82から読み出す。次にS23において凹凸
部修正データメモリ22に登録されているアウトラインデ
ータの全ての点に渡って、修正前のx座標データと許容
範囲内に存在する点を検索し、その点のx座標を修正後
のx座標データを置き換える。許容範囲は0.0から0.5ま
でのいずれの値を取ってもよいが本実施例では0.5とす
る。第9図を例として説明すると点61のx座標が点65の
x座標に置き換えられ、さらに曲線60を曲線62と曲線64
に分割した結果算出された点66および点67も点65と同じ
x座標に置き換えられる。これは前述したように点61が
x方向の凹凸部であるため点61における分割した2つの
曲線の制御腕が垂直になるからである。また、曲線と垂
直線が接続している場合等は接続している垂直線も同じ
ようにx座標が置き換えられ、垂直線の垂直度は保たれ
るのである。このようにして、x座標が置き換えられた
結果を第9図(b)に示し、図中の細い点線は元の曲線
60であり、x座標が置き換えられることにより凹凸部を
修正した曲線を曲線62および曲線64で表す。1組のx方
向の凹凸部が修正処理を終えると、S24においてカウン
タnに1を加え、S25において、SXとカウンタnが等し
いかどうか判別され、等しくない場合は判別結果がNOと
なり、S21からS24までの一連のx方向の凹凸部修正処理
を繰り返し実行する。また、SXとカウンタnが等しいと
きは、S25の判別結果はYESとなり、すべてのx方向の凹
凸部の修正処理が終えたこととなる。次に、S30におい
てy方向の凹凸部の総数SYが0か否かを判定し、0であ
れば判定結果はYESとなりy方向の凹凸部修正処理であ
るS31からS35までの処理をスキップし、y方向の凹凸部
の修正処理を行なわない。SYが0以外のときつまりy方
向の凹凸部が少なくとも1個以上存在した場合S30の判
定結果はNOとなり、S31で凹凸部の修正処理を計数する
カウンタnを0で初期化する。カウンタnはx方向の凹
凸部修正処理と同じものを使用する。S32においてy方
向の凹凸部の修正前のy座標データをy座標修正前デー
タ群83から読み出し、それと対応する修正後のy座標デ
ータをy座標修正後データ群84から読み出す。次にS33
において凹凸部修正データメモリ32に登録されているア
ウトラインデータの全ての点に渡って、修正前のy座標
データと許容範囲内に存在する点を検索し、その点のy
座標を修正後のy座標データを置き換える。許容範囲は
0.0から0.5までのいずれの値を取ってもよいが本実施例
ではx方向と同じく0.5とする。第10図を例として説明
すると点71のy座標が点75のy座標に置き換えられ、さ
らに曲線70を曲線72と曲線74に分割した結果算出された
点76および点77も点75と同じy座標に置き換えられる。
これは前述したように点71がy方向の凹凸部であるため
点71における分割した2つの曲線の制御腕が水平になる
からである。また、曲線と水平線が接続している場合等
は接続している水平線も同じようにy座標が置き換えら
れ、水平線の水平度は保たれるのである。このようにし
て、y座標が置き換えられた結果を第10図(b)に示
し、図中の細い点線は元の曲線70であり、y座標が置き
換えられることにより凹凸部を修正した曲線を曲線72お
よび曲線74で表す。1組のy方向の凹凸部が修正処理を
終えると、S34においてカウンタnに1を加え、S35にお
いて、SYとカウンタnが等しいかどうか判別され、等し
くない場合は判別結果がNOとなり、S31からS34までの一
連のy方向の凹凸部修正処理を繰り返し実行する。ま
た、SYとカウンタnが等しいときは、S35の判別結果はY
ESとなり、すべてのy方向の凹凸部の修正処理が終えた
こととなる。この凹凸部修正処理を第11図に示すアルフ
ァベットの“O"に対して処理を施し、画素を円形として
画素中心点がアウトラインデータの内部にあるとき、そ
の画素に対応するビットデータを1としたときのキャラ
クタ構成線を示した図を第12図に示す。第7図の“O"の
キャラクタ構成線に比較して第12図のキャラクタ構成線
は、明らかに凹凸部において滑らかにドットデータが構
成されている。
の移動ルーチンについて第4図(b)のフローチャート
にそって詳細に説明すると、まず、S20においてx方向
の凹凸部の総数SXが0か否かを判定し、0であれば判定
結果はYESとなりx方向の凹凸部修正処理であるS21から
S25までの処理をスキップし、x方向の凹凸部の修正処
理を行なわない。SXが0以外のときつまりx方向の凹凸
部が少なくとも1個以上存在した場合S20の判定結果はN
Oとなり、S21で凹凸部の修正処理を計数するカウンタn
を0で初期化する。カウンタnはワーキングメモリ20に
確保されているとする。S22においてx方向の凹凸部の
修正前のx座標データをx座標修正前データ群81から読
み出し、それと対応する修正後のx座標データをx座標
修正後データ群82から読み出す。次にS23において凹凸
部修正データメモリ22に登録されているアウトラインデ
ータの全ての点に渡って、修正前のx座標データと許容
範囲内に存在する点を検索し、その点のx座標を修正後
のx座標データを置き換える。許容範囲は0.0から0.5ま
でのいずれの値を取ってもよいが本実施例では0.5とす
る。第9図を例として説明すると点61のx座標が点65の
x座標に置き換えられ、さらに曲線60を曲線62と曲線64
に分割した結果算出された点66および点67も点65と同じ
x座標に置き換えられる。これは前述したように点61が
x方向の凹凸部であるため点61における分割した2つの
曲線の制御腕が垂直になるからである。また、曲線と垂
直線が接続している場合等は接続している垂直線も同じ
ようにx座標が置き換えられ、垂直線の垂直度は保たれ
るのである。このようにして、x座標が置き換えられた
結果を第9図(b)に示し、図中の細い点線は元の曲線
60であり、x座標が置き換えられることにより凹凸部を
修正した曲線を曲線62および曲線64で表す。1組のx方
向の凹凸部が修正処理を終えると、S24においてカウン
タnに1を加え、S25において、SXとカウンタnが等し
いかどうか判別され、等しくない場合は判別結果がNOと
なり、S21からS24までの一連のx方向の凹凸部修正処理
を繰り返し実行する。また、SXとカウンタnが等しいと
きは、S25の判別結果はYESとなり、すべてのx方向の凹
凸部の修正処理が終えたこととなる。次に、S30におい
てy方向の凹凸部の総数SYが0か否かを判定し、0であ
れば判定結果はYESとなりy方向の凹凸部修正処理であ
るS31からS35までの処理をスキップし、y方向の凹凸部
の修正処理を行なわない。SYが0以外のときつまりy方
向の凹凸部が少なくとも1個以上存在した場合S30の判
定結果はNOとなり、S31で凹凸部の修正処理を計数する
カウンタnを0で初期化する。カウンタnはx方向の凹
凸部修正処理と同じものを使用する。S32においてy方
向の凹凸部の修正前のy座標データをy座標修正前デー
タ群83から読み出し、それと対応する修正後のy座標デ
ータをy座標修正後データ群84から読み出す。次にS33
において凹凸部修正データメモリ32に登録されているア
ウトラインデータの全ての点に渡って、修正前のy座標
データと許容範囲内に存在する点を検索し、その点のy
座標を修正後のy座標データを置き換える。許容範囲は
0.0から0.5までのいずれの値を取ってもよいが本実施例
ではx方向と同じく0.5とする。第10図を例として説明
すると点71のy座標が点75のy座標に置き換えられ、さ
らに曲線70を曲線72と曲線74に分割した結果算出された
点76および点77も点75と同じy座標に置き換えられる。
これは前述したように点71がy方向の凹凸部であるため
点71における分割した2つの曲線の制御腕が水平になる
からである。また、曲線と水平線が接続している場合等
は接続している水平線も同じようにy座標が置き換えら
れ、水平線の水平度は保たれるのである。このようにし
て、y座標が置き換えられた結果を第10図(b)に示
し、図中の細い点線は元の曲線70であり、y座標が置き
換えられることにより凹凸部を修正した曲線を曲線72お
よび曲線74で表す。1組のy方向の凹凸部が修正処理を
終えると、S34においてカウンタnに1を加え、S35にお
いて、SYとカウンタnが等しいかどうか判別され、等し
くない場合は判別結果がNOとなり、S31からS34までの一
連のy方向の凹凸部修正処理を繰り返し実行する。ま
た、SYとカウンタnが等しいときは、S35の判別結果はY
ESとなり、すべてのy方向の凹凸部の修正処理が終えた
こととなる。この凹凸部修正処理を第11図に示すアルフ
ァベットの“O"に対して処理を施し、画素を円形として
画素中心点がアウトラインデータの内部にあるとき、そ
の画素に対応するビットデータを1としたときのキャラ
クタ構成線を示した図を第12図に示す。第7図の“O"の
キャラクタ構成線に比較して第12図のキャラクタ構成線
は、明らかに凹凸部において滑らかにドットデータが構
成されている。
このように本実施例のレーザプリンタにおいては、キ
ャラクタ構成線の凹凸部を滑らかになるように修正する
ことによって、キャラクタを見栄えよく印字することが
できる。また、キャラクタのアウトラインデータの凹凸
部を算出することより、凹凸部の座標データ等を予め記
憶することがないためキャラクタの記憶データ量が少な
くて済む。
ャラクタ構成線の凹凸部を滑らかになるように修正する
ことによって、キャラクタを見栄えよく印字することが
できる。また、キャラクタのアウトラインデータの凹凸
部を算出することより、凹凸部の座標データ等を予め記
憶することがないためキャラクタの記憶データ量が少な
くて済む。
以上詳述したことから明らかなように、本発明によれ
ば、プログラムROM16のS3を記憶する部分、及び、デー
タ変換部40のS4を実行する部分がデータ変換手段を構成
し、プログラムROM16のS2〜S7を記憶する部分、及び、C
PU12のそれらステップを実行する部分が凹凸部算出手段
を構成し、プログラムROM16のS8〜S13を記憶する部分、
及び、CPU12のそれらステップを実行する部分、すなわ
ち凹凸部修正部38が輪郭線移動手段を構成し、プログラ
ムROM16のS20〜S35を記憶する部分、及び、CPU12のそれ
らステップを実行する部分アウトラインデータ修正手段
を構成しているのである。
ば、プログラムROM16のS3を記憶する部分、及び、デー
タ変換部40のS4を実行する部分がデータ変換手段を構成
し、プログラムROM16のS2〜S7を記憶する部分、及び、C
PU12のそれらステップを実行する部分が凹凸部算出手段
を構成し、プログラムROM16のS8〜S13を記憶する部分、
及び、CPU12のそれらステップを実行する部分、すなわ
ち凹凸部修正部38が輪郭線移動手段を構成し、プログラ
ムROM16のS20〜S35を記憶する部分、及び、CPU12のそれ
らステップを実行する部分アウトラインデータ修正手段
を構成しているのである。
なお、上記実施例において、輪郭線の移動をアウトラ
インデータの全てに対して適用したが、輪郭線を複数の
区間に分離しその範囲内毎に凹凸部を修正するデータを
算出し、区間毎にアウトラインデータの移動を適用する
ことが可能である。また、各輪郭線の内外のデータを含
まず、輪郭線のループの方向により内外を判別すること
も可能である。
インデータの全てに対して適用したが、輪郭線を複数の
区間に分離しその範囲内毎に凹凸部を修正するデータを
算出し、区間毎にアウトラインデータの移動を適用する
ことが可能である。また、各輪郭線の内外のデータを含
まず、輪郭線のループの方向により内外を判別すること
も可能である。
また、上記実施例において、輪郭線の移動を行なう場
合に、予め設定されたキャラクタ構成線の縦線幅デー
タ、横線幅データ等があるときは、幅データを参照した
修正移動を行なうことも可能である。例えば、アルファ
ベットの“O"であればキャラクタ構成線の上下左右に対
して幅データを設定し、幅データに即したドット数を確
保しかつ凹凸部を滑らかにするように輪郭線の移動を行
なう。
合に、予め設定されたキャラクタ構成線の縦線幅デー
タ、横線幅データ等があるときは、幅データを参照した
修正移動を行なうことも可能である。例えば、アルファ
ベットの“O"であればキャラクタ構成線の上下左右に対
して幅データを設定し、幅データに即したドット数を確
保しかつ凹凸部を滑らかにするように輪郭線の移動を行
なう。
さらに、レーザプリンタ以外のプリンタにも適用し得
ることは勿論、プリンタ以外にも文字、記号等のキャラ
クタのアウトラインデータをドットデータに変換する必
要のある装置に一般的に本発明を適用することができ
る。
ることは勿論、プリンタ以外にも文字、記号等のキャラ
クタのアウトラインデータをドットデータに変換する必
要のある装置に一般的に本発明を適用することができ
る。
その他、いちいち例示することはしないが、当業者の
知識に基づいて種々の変形、改良を施した態様で実施す
ることができる。
知識に基づいて種々の変形、改良を施した態様で実施す
ることができる。
[発明の効果] 以上詳述したことから明らかなように、本発明のデー
タ変換装置によれば、キャラクタの輪郭線の凹凸部を算
出し、凹凸部の座標とキャラキタの輪郭線を画素スクリ
ーンに対して相対移動させることにより、キャラクタの
輪郭線内にあるドットデータを凹凸部付近において滑ら
かになるように構成することができ、常に見栄えのよい
キャラクタを出力することができる。
タ変換装置によれば、キャラクタの輪郭線の凹凸部を算
出し、凹凸部の座標とキャラキタの輪郭線を画素スクリ
ーンに対して相対移動させることにより、キャラクタの
輪郭線内にあるドットデータを凹凸部付近において滑ら
かになるように構成することができ、常に見栄えのよい
キャラクタを出力することができる。
第1図から第13図までは本発明を具体化した実施例を示
すもので、第1図は、本発明の構成を概念的に示すブロ
ック図である。第2図は本発明の一実施例であるデータ
変換装置を備えたレーザプリンタの制御回路を示すブロ
ック図である。第3図は上記制御回路の構成要素である
CPUを概念的に示す図である。第4図は上記制御回路の
プログラムROMに記憶されたプログラムのうち、データ
変換用プログラムを示すフローチャートである。第5図
は上記データ変換装置により変換されるアルファベット
の“O"の輪郭線を示す図である。第6図は凹凸部修正デ
ータを示す図である。第7図はアルファベットの“O"の
輪郭線を画素スクリーンに重ねるとともに、その輪郭線
内に含まれる画素に対応するビットデータを1とした時
のキャラクタ構成線を示す図である。第8図はキャラク
タ構成線を画定するアウトラインの印字位置により凸部
のドット構成の違いを説明する図である。第9図はx方
向の凹凸部の修正を説明する図である。第10図はy方向
の凹凸部の修正を説明する図である。第11図は上記アル
ファベットの“O"を構成する輪郭線を凹凸部毎に曲線を
分割したことを示す図である。第12図は凹凸部を修正し
た上記アルファベットの“O"の輪郭線を画素スクリーン
に重ねるとともに、その輪郭線内に含まれる画素に対応
するビットデータを1とした時のキャラクタ構成線を示
す図である。第13図は3次のベジエ曲線の定義と曲線の
分割を説明する図である。 10はマイクロコンピュータ部、11は凹凸部、12はCPU、1
4はキャラクタROM、16はプログラムROM、18はテキスト
メモリ、20はワーキングメモリ、22は凹凸部修正データ
メモリ、24はドットデータメモリ、36はデータ読出部、
38は凹凸部修正部、40はデータ変換部、44はキャラクタ
構成線、46は外輪郭線、47は内輪郭線、52は画素スクリ
ーンである。
すもので、第1図は、本発明の構成を概念的に示すブロ
ック図である。第2図は本発明の一実施例であるデータ
変換装置を備えたレーザプリンタの制御回路を示すブロ
ック図である。第3図は上記制御回路の構成要素である
CPUを概念的に示す図である。第4図は上記制御回路の
プログラムROMに記憶されたプログラムのうち、データ
変換用プログラムを示すフローチャートである。第5図
は上記データ変換装置により変換されるアルファベット
の“O"の輪郭線を示す図である。第6図は凹凸部修正デ
ータを示す図である。第7図はアルファベットの“O"の
輪郭線を画素スクリーンに重ねるとともに、その輪郭線
内に含まれる画素に対応するビットデータを1とした時
のキャラクタ構成線を示す図である。第8図はキャラク
タ構成線を画定するアウトラインの印字位置により凸部
のドット構成の違いを説明する図である。第9図はx方
向の凹凸部の修正を説明する図である。第10図はy方向
の凹凸部の修正を説明する図である。第11図は上記アル
ファベットの“O"を構成する輪郭線を凹凸部毎に曲線を
分割したことを示す図である。第12図は凹凸部を修正し
た上記アルファベットの“O"の輪郭線を画素スクリーン
に重ねるとともに、その輪郭線内に含まれる画素に対応
するビットデータを1とした時のキャラクタ構成線を示
す図である。第13図は3次のベジエ曲線の定義と曲線の
分割を説明する図である。 10はマイクロコンピュータ部、11は凹凸部、12はCPU、1
4はキャラクタROM、16はプログラムROM、18はテキスト
メモリ、20はワーキングメモリ、22は凹凸部修正データ
メモリ、24はドットデータメモリ、36はデータ読出部、
38は凹凸部修正部、40はデータ変換部、44はキャラクタ
構成線、46は外輪郭線、47は内輪郭線、52は画素スクリ
ーンである。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G09G 5/00 - 5/42 G06F 3/09 - 3/153 G06F 15/00 - 15/18 G06F 17/00 - 19/00 G06T 1/00 - 7/00 B41J 2/485 B41J 5/00 - 5/52 B41J 21/00 - 21/18
Claims (1)
- 【請求項1】アウトラインデータによって表されるキャ
ラクタの輪郭線を、互いに直交するX軸方向とY軸方向
とにそれぞれ平行な複数の規定線により画素を規定する
画素スクリーンに重ね合わせたと想定した場合に、キャ
ラクタを構成するキャラクタ構成線を画定する輪郭線の
内側に一定基準を満たす状態で含まれる画素に対応する
ビットデータをキャラクタ構成線の存在を表わすデータ
に設定し、アウトラインデータをドットデータに変換す
るデータ変換手段を備えたデータ変換装置において、 前記キャラクタの輪郭線のX軸方向またはY軸方向に対
する凹部または凸部の座標を算出する凹凸部算出手段
と、 前記凹凸部算出手段によって得られた凹部または凸部の
座標を前記画素スクリーンの規定線に対して相対移動さ
せる輪郭線移動手段と、 前記輪郭線移動手段に対応してアウトラインデータを修
正するアウトラインデータ修正手段と を設け、かつ、前記データ変換手段を、前記アウトライ
ンデータ修正手段により得られたアウトラインデータを
ドットデータに変換するものとしたことを特徴とするデ
ータ変換装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24186390A JP3189276B2 (ja) | 1990-09-12 | 1990-09-12 | データ変換装置 |
US07/755,529 US5309554A (en) | 1990-09-12 | 1991-09-05 | Apparatus for converting character outline data into dot data, having means for moving outline segments |
GB9119351A GB2249462B (en) | 1990-09-12 | 1991-09-10 | Apparatus for converting character outline data into dot data,having means for moving outline segments |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24186390A JP3189276B2 (ja) | 1990-09-12 | 1990-09-12 | データ変換装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04121788A JPH04121788A (ja) | 1992-04-22 |
JP3189276B2 true JP3189276B2 (ja) | 2001-07-16 |
Family
ID=17080647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24186390A Expired - Fee Related JP3189276B2 (ja) | 1990-09-12 | 1990-09-12 | データ変換装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5309554A (ja) |
JP (1) | JP3189276B2 (ja) |
GB (1) | GB2249462B (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5574842A (en) * | 1988-07-29 | 1996-11-12 | Canon Kabushiki Kaisha | Document processing apparatus and method for generating a character or symbol pattern across a plurality of lines |
JP3164617B2 (ja) * | 1991-11-07 | 2001-05-08 | 株式会社日立製作所 | 文字図形変形処理装置および方法 |
JP3057935B2 (ja) * | 1992-11-16 | 2000-07-04 | ブラザー工業株式会社 | 文字出力装置 |
US5796409A (en) * | 1993-04-06 | 1998-08-18 | Ecole Polytechnique Federale De Lausanne | Method for producing contrast-controlled grayscale characters |
JP2964841B2 (ja) * | 1993-07-15 | 1999-10-18 | ブラザー工業株式会社 | データ変換装置 |
US5781714A (en) * | 1994-05-27 | 1998-07-14 | Bitstream Inc. | Apparatus and methods for creating and using portable fonts |
US5583978A (en) * | 1994-05-27 | 1996-12-10 | Bitstream Inc. | Apparatuses and methods for creating and using portable fonted texts with embedded automatically-created font descriptions |
JPH0816801A (ja) * | 1994-06-30 | 1996-01-19 | Canon Inc | 画像処理方法及び装置 |
JP3238580B2 (ja) * | 1994-09-14 | 2001-12-17 | シャープ株式会社 | 太め細め文字生成装置 |
JP3226734B2 (ja) * | 1994-10-19 | 2001-11-05 | キヤノン株式会社 | データ変換装置および方法 |
JP4066585B2 (ja) * | 2000-01-24 | 2008-03-26 | 株式会社日立製作所 | 図形作成方法 |
US7490166B2 (en) * | 2000-05-26 | 2009-02-10 | Citrix Systems, Inc. | Remote control of a client's off-screen surface |
TW493144B (en) * | 2001-02-26 | 2002-07-01 | Ulead Systems Inc | Drawing method for trimmed ribbon graphs and computer readable media for program storage |
US7777917B2 (en) * | 2005-09-08 | 2010-08-17 | The Go Daddy Group, Inc. | Document color and shades of gray optimization using solid monochrome colors |
US7502135B2 (en) * | 2005-09-08 | 2009-03-10 | The Go Daddy Group, Inc. | Document color and shades of gray optimization using dithered monochrome surfaces |
US8115977B2 (en) * | 2005-09-08 | 2012-02-14 | Go Daddy Operating Company, LLC | Document color and shades of gray optimization using monochrome patterns |
US8179565B2 (en) * | 2005-09-08 | 2012-05-15 | Go Daddy Operating Company, LLC | Document color and shades of gray optimization using outlining |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2641708C3 (de) * | 1976-09-16 | 1980-02-21 | Paul 6456 Langenselbold Gutermuth | Unterdecke, insbesondere für gewerbliche Küchen, Schlachthauser, Waschkuchen u.dgl |
US4620287A (en) * | 1983-01-20 | 1986-10-28 | Dicomed Corporation | Method and apparatus for representation of a curve of uniform width |
US4675830A (en) * | 1984-07-06 | 1987-06-23 | Compugraphic Corporation | Method for producing a scaleable typeface data |
US5073956A (en) * | 1988-10-25 | 1991-12-17 | Brother Kogyo Kabushiki Kaisha | Apparatus for converting image outline data into dot data representative of dots to be formed |
US5099435A (en) * | 1989-03-31 | 1992-03-24 | Bitstream, Inc. | Method and apparatus for conversion of outline characters to bitmap characters |
US5155805A (en) * | 1989-05-08 | 1992-10-13 | Apple Computer, Inc. | Method and apparatus for moving control points in displaying digital typeface on raster output devices |
JPH0378795A (ja) * | 1989-08-22 | 1991-04-03 | Toshiba Corp | 文書作成装置 |
-
1990
- 1990-09-12 JP JP24186390A patent/JP3189276B2/ja not_active Expired - Fee Related
-
1991
- 1991-09-05 US US07/755,529 patent/US5309554A/en not_active Expired - Lifetime
- 1991-09-10 GB GB9119351A patent/GB2249462B/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
GB2249462B (en) | 1994-08-31 |
JPH04121788A (ja) | 1992-04-22 |
GB2249462A (en) | 1992-05-06 |
US5309554A (en) | 1994-05-03 |
GB9119351D0 (en) | 1991-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3189276B2 (ja) | データ変換装置 | |
JP3057935B2 (ja) | 文字出力装置 | |
JP2861194B2 (ja) | データ変換装置 | |
JPH0728451A (ja) | データ変換装置 | |
KR20010050918A (ko) | 아웃라인 스무딩 처리 방법 및 그 장치 | |
JPH02232690A (ja) | データ変換装置 | |
JP3038840B2 (ja) | データ変換装置 | |
JP2861127B2 (ja) | データ変換装置 | |
JP2956705B2 (ja) | データ変換装置 | |
JP3039015B2 (ja) | 文字処理装置 | |
JPH02231166A (ja) | データ変換装置 | |
JP2841829B2 (ja) | データ変換装置 | |
JP2881863B2 (ja) | データ変換装置 | |
JP3057811B2 (ja) | データ変換装置 | |
JP2841631B2 (ja) | データ変換装置 | |
JP3057963B2 (ja) | データ変換装置 | |
JPH0668247A (ja) | ディジタル画像データ変倍方法および装置 | |
JP3092172B2 (ja) | データ変換装置 | |
JP2754579B2 (ja) | データ変換装置 | |
JP2861201B2 (ja) | データ変換装置 | |
JP3055327B2 (ja) | データ変換装置 | |
JP3077180B2 (ja) | データ変換装置 | |
JPH05341763A (ja) | 文字生成装置 | |
JPH03273294A (ja) | データ変換装置 | |
JP2000163039A (ja) | デ―タ出力装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080518 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090518 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090518 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100518 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |