説明

フォントデータ生成方法およびフォントデータ生成装置とドットインパクトプリンタ

【課題】 印字速度を向上させても印字品位の低下が少ないフォントデータ生成方法およびフォントデータ生成装置とドットインパクトプリンタを提供する。
【解決手段】 高密度印字用フォントデータ2のフォントの線幅を1ドット分だけ増長させて中間フォントデータを生成し、この中間フォントデータから1行おきに奇数列のデータを間引き、残りの行について偶数列のデータを間引いて高速印字用フォントデータを生成する。当初の高密度印字用フォントデータにおいて1ドット分の線幅を備えていた細い線分や円弧を高速印字用フォントデータ上で千鳥足配置のドットの繋がりによって表現することができるので、印字速度を落とさなくても実質的な印字品位が向上する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ドットマトリクス状に記憶された高密度印字用フォントデータを編集して高速印字用フォントデータを生成するフォントデータ生成方法およびフォントデータ生成装置とドットインパクトプリンタに関する。
【背景技術】
【0002】
昨今のドットインパクトプリンタにおいては、其の印字速度の向上が求められていることに併せて印字品位の向上も求められている。しかし、これらの性能はトレードオフの関係にあり、両方の機能を満足することは難しい。印字速度をあげると其れに比例してドット間隔を広げる必要が生じ、これに伴って印字品位が低下するためである。例えば、印字速度を2倍にあげて印字しようとすれば、印字ヘッドの追従を考慮して、そのドット間距離を2倍にする間引き編集を行わなければならず、印字の品位が著しく低下してしまう。
【0003】
ドットマトリクス状に記憶された高密度印字用フォントデータを編集して高速印字用フォントデータを生成するフォントデータ生成方法あるいはフォントデータ生成装置もしくはドットインパクトプリンタとしては、特許文献1に開示される印字装置や特許文献2に開示される高速印刷方式が公知である。
【0004】
特許文献1の印字装置は、単に、元になる高密度印字用フォントデータから1行おきに奇数列のドットを間引き、更に、残りの行について偶数列のドットを間引くことによって高速印字用フォントデータを生成するものに過ぎない。
従って、仮に、高密度印字用フォントデータにおける各ドット間の距離を1/180インチとすると、間引きによって生成される高速印字用フォントデータの各ドット間の距離は単純に1/90インチとなり、低品位な文字となってしまう。
高密度印字用フォントデータの一例を図3の概念図に、また、特許文献1の印字装置による間引き編集を適用して図3の高密度印字用フォントデータから生成した高速印字用フォントデータを図7に示す。
図7からも明らかなように、特に、1列のドットで形成される細い線分や円弧を含むフォントに対して此のような間引きを適用した場合、文字の品位が著しく低下する問題がある。
【0005】
一方、特許文献2の高速印刷方式は、1列おきに間引かれたフォントデータにおけるN番目の行とN−1番目の行のデータで論理和の演算を行い、その結果をN番目の行にデータとして書き込むことでドット密度を向上させようとしたものであるが、論理演算で生成された高速印字用フォントデータには依然として列方向に1列おきの連続する空白が存在することになるので、文字の品位が不十分である。
【0006】
【特許文献1】特開2000−225731号公報
【特許文献2】特開平1−310968号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
そこで、本発明の課題は、前記従来技術の不都合を改善し、印字速度を向上させても印字品位の低下が少ないフォントデータ生成方法およびフォントデータ生成装置とドットインパクトプリンタを提供することにある。
【課題を解決するための手段】
【0008】
本発明のフォントデータ生成方法は、ドットマトリクス状に記憶された高密度印字用フォントデータを編集して高速印字用フォントデータを生成するフォントデータ生成方法であり、前記課題を達成するため、特に、
前記高密度印字用フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値である場合には当該スポットの塗り潰しを表す値を保持し、また、当該スポットのデータが空白を表す値である場合には当該スポットの直前のスポットのデータと当該スポットのデータとの論理和を求めて当該スポットに設定することにより中間フォントデータを生成し、
前記中間フォントデータから1行おきに奇数列のデータを間引き、残りの行について偶数列のデータを間引いて高速印字用フォントデータを生成することを特徴とした構成を有する。
【0009】
高密度印字用フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値である場合には当該スポットの塗り潰しを表す値を保持し、また、当該スポットのデータが空白を表す値である場合には当該スポットの直前のスポットのデータと当該スポットのデータとの論理和を求めて当該スポットに設定するようにしているので、結果的に、中間フォントデータの内容は、高密度印字用フォントデータのフォントの線幅を1ドット分だけ増長させたデータとなる。
更に、この中間フォントデータから1行おきに奇数列のデータを間引き、残りの行について偶数列のデータを間引いて高速印字用フォントデータを生成するため、ドット間隔自体は行方向および列方向の各々に対して2ドット分の間隔となり、印字ヘッドにおいて隣接するワイヤあるいはスタイラス等の叩打手段を同時に駆動する必要がないので、従来と同様に、2倍速の印字動作が保証される。
中間フォントデータの内容は、前述したとおり、高密度印字用フォントデータのフォントの線幅を1ドット分だけ増長させたデータとなるので、中間フォントデータの内容が1列のドットで形成される細い線分や円弧を含んでいた場合には、中間フォントデータを生成する過程で、これらの細い線分や円弧が2ドット分の線幅を持つものとされ、更に、この中間フォントデータに対して1行おきに奇数列のデータを間引き、残りの行について偶数列のデータを間引いて高速印字用フォントデータが生成されるので、当初の高密度印字用フォントデータにおいて1ドット分の線幅を備えていた細い線分や円弧は、高速印字用フォントデータにおいては千鳥足状に配置されたドットの繋がりによって表現されることになる。この際、直近するドットの間隔は、行方向のドット間隔をa,列方向のドット間隔をbとして(a+b1/2となり、通常、a=b=1ドット間隔であることから最終的なドット間隔は√2ドット分の間隔となり、従来技術による2ドット分の間隔よりも短くすることができるため、実質的な印字品位を向上させることができる。
以上の構成および作用により、高速の印字速度を従来と同様に維持したまま、印字の品位を従来以上に向上させることができるようになる。
【0010】
更に、前述のようにして各スポットのデータを読み込んで直前のスポットのデータと当該スポットのデータとの論理和を求めた後、当該スポットの直後のスポットのデータが塗り潰しを表す値である場合には当該スポットに空白を表す値を設定する一方、当該スポットの直後のスポットのデータが空白を表す値である場合には当該スポットに前記求められた論理和を設定して中間フォントデータを生成する構成としてもよい。
【0011】
このような構成を適用すれば、高密度印字用フォントデータの線幅を増長させて中間フォントデータを生成する際に、高密度印字用フォントデータの空白部分、特に、1ドットの線幅の空白が塗り潰されることがなくなるので、この中間フォントデータから生成した高速印字用フォントデータを用いて高速印字を行うことで、複雑に入り組んだ形状のフォントを印字する場合であっても、高密度印字用のフォントと位相幾何的に同等の印字、つまり、不用意な潰れがなく線の繋がり方も正常な印字を行うことができる。
【0012】
更には、高密度印字用フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値である場合には当該スポットに塗り潰しを表す値を保持し、また、当該スポットのデータが空白を表す値である場合には当該スポットの直前の行のスポットのデータと当該スポットのデータとの論理和を求め、当該スポットの直後の行のスポットのデータが塗り潰しを表す値である場合には当該スポットに空白を表す値を設定する一方、当該スポットの直後の行のスポットのデータが空白を表す値である場合には当該スポットに前記求められた論理和を設定して中間フォントデータを生成した後、
該中間フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値である場合には当該スポットの塗り潰しを表す値を保持し、また、当該スポットのデータが空白を表す値である場合には当該スポットの直前の列のスポットのデータと当該スポットのデータとの論理和を求め、当該スポットの直後の列のスポットのデータが塗り潰しを表す値である場合には当該スポットに空白を表す値を設定する一方、当該スポットの直後の列のスポットのデータが空白を表す値である場合には当該スポットに前記求められた論理和を設定して中間フォントデータを更新し、
該更新された中間フォントデータから1行おきに奇数列のデータを間引き、残りの行について偶数列のデータを間引いて高速印字用フォントデータを生成する構成とすることが望ましい。
【0013】
このような構成を適用した場合、高密度印字用フォントデータに含まれる線分や円弧の方向性に関わりなく其の線幅を1ドット分だけ増長させることができ、また、高密度印字用フォントデータの空白部分が不用意に塗り潰されることもなくなるので、特に、線分や円弧が縦横に走る複雑な形状のフォントを高品位で印字することができる。
【0014】
本発明のフォントデータ生成装置は、ドットマトリクス状に記憶された高密度印字用フォントデータを編集して高速印字用フォントデータを生成するフォントデータ生成装置であり、前記課題を達成するため、特に、
前記高密度印字用フォントデータから生成された中間フォントデータを記憶するための中間フォントデータ記憶手段と、
前記高密度印字用フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値である場合には当該スポットに対応する中間フォントデータ記憶手段のスポットに塗り潰しを表す値を記憶させ、また、当該スポットのデータが空白を表す値である場合には当該スポットの直前のスポットのデータと当該スポットのデータとの論理和を求めて当該スポットに対応する中間フォントデータ記憶手段のスポットに記憶させる中間フォントデータ生成手段と、
前記中間フォントデータ記憶手段に記憶された中間フォントデータの奇数行奇数列と偶数行偶数列のデータを保持して奇数行偶数列のデータと偶数行奇数列のデータを空白を表す値に書き換えて高速印字用フォントデータを生成する高速印字用フォントデータ生成手段とを備えたことを特徴とする構成を有する。
【0015】
このような構成を適用した場合、中間フォントデータ生成手段が高密度印字用フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値であるのか空白を表す値であるのかを判定する。塗り潰しを表す値である場合には、中間フォントデータ生成手段は、当該スポットに対応する中間フォントデータ記憶手段のスポットに塗り潰しを表す値を記憶させ、また、当該スポットのデータが空白を表す値である場合には、中間フォントデータ生成手段は、当該スポットの直前のスポットのデータと当該スポットのデータとの論理和を求めて、当該スポットに対応する中間フォントデータ記憶手段のスポットに記憶させる。以上の処理操作により、高密度印字用フォントデータのフォントの線幅を1ドット分だけ増長させたデータが中間フォントデータ記憶手段に記憶されることになる。
次いで、高速印字用フォントデータ生成手段が作動し、中間フォントデータ記憶手段に記憶された中間フォントデータの奇数行奇数列と偶数行偶数列のデータを保持して奇数行偶数列のデータと偶数行奇数列のデータを空白を表す値に書き換えて、高速印字用フォントデータを生成する。この処理操作により、中間フォントデータから1行おきに奇数列のデータを間引き、残りの行について偶数列のデータを間引いた高速印字用フォントデータが生成されることになる。
前述した通り、高速印字用フォントデータにおけるドット間隔自体は行方向および列方向の各々に対して2ドット分の間隔となり、印字ヘッドにおいて隣接するワイヤあるいはスタイラス等の叩打手段を同時に駆動する必要がないので、従来と同様に、2倍速の印字動作が保証される。
また、当初の高密度印字用フォントデータにおいて1ドット分の線幅を備えていた細い線分や円弧が千鳥足状に配置されたドットの繋がりによって表現されることになるので、最終的なドット間隔は従来技術による2ドット分よりも短い√2ドット分の間隔とすることができ、実質的な印字品位が向上する。
【0016】
更に、前述の中間フォントデータ生成手段は、各スポットのデータを読み込んで直前のスポットのデータと当該スポットのデータとの論理和を求めた後、当該スポットの直後のスポットのデータが塗り潰しを表す値である場合には当該スポットに対応する中間フォントデータ記憶手段のスポットに空白を表す値を記憶させる一方、当該スポットの直後のスポットのデータが空白を表す値である場合には当該スポットに対応する中間フォントデータ記憶手段のスポットに前記求められた論理和を記憶させる構成としてもよい。
【0017】
高密度印字用フォントデータの線幅を増長させて中間フォントデータを生成する際に、高密度印字用フォントデータの空白部分、特に、1ドットの線幅の空白が塗り潰されることがなくなるので、この中間フォントデータから生成した高速印字用フォントデータを用いて高速印字を行うことで、複雑に入り組んだ形状のフォントを印字する場合であっても、高密度印字用のフォントと位相幾何的に同等の印字、つまり、不用意な潰れがなく線の繋がり方も正常な印字を行うことができる。
【0018】
更に、前述の中間フォントデータ生成手段は、高密度印字用フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値である場合には当該スポットに対応する中間フォントデータ記憶手段のスポットに塗り潰しを表す値を記憶させ、また、当該スポットのデータが空白を表す値である場合には当該スポットの直前の行のスポットのデータと当該スポットのデータとの論理和を求め、当該スポットの直後の行のスポットのデータが塗り潰しを表す値である場合には当該スポットに対応する中間フォントデータ記憶手段のスポットに空白を表す値を記憶させる一方、当該スポットの直後の行のスポットのデータが空白を表す値である場合には当該スポットに対応する中間フォントデータ記憶手段のスポットに前記求められた論理和を記憶させた後、該中間フォントデータ記憶手段に記憶された中間フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値である場合には当該スポットの塗り潰しを表す値を保持し、また、当該スポットのデータが空白を表す値である場合には当該スポットの直前の列のスポットのデータと当該スポットのデータとの論理和を求め、当該スポットの直後の列のスポットのデータが塗り潰しを表す値である場合には当該スポットに空白を表す値を記憶させる一方、当該スポットの直後の列のスポットのデータが空白を表す値である場合には当該スポットに前記求められた論理和を記憶させる構成としてもよい。
【0019】
このような構成を適用した場合、中間フォントデータ生成手段は、まず、高密度印字用フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値であるのか空白を表す値であるのかを判定する。塗り潰しを表す値である場合には、中間フォントデータ生成手段は、当該スポットに対応する中間フォントデータ記憶手段のスポットに塗り潰しを表す値を記憶させる。また、当該スポットのデータが空白を表す値である場合には、中間フォントデータ生成手段は、当該スポットの直前の行のスポットのデータと当該スポットのデータとの論理和を求め、当該スポットの直後の行のスポットのデータが塗り潰しを表す値である場合には当該スポットに対応する中間フォントデータ記憶手段のスポットに空白を表す値を記憶させる。一方、当該スポットの直後の行のスポットのデータが空白を表す値である場合には、中間フォントデータ生成手段は、当該スポットに対応する中間フォントデータ記憶手段のスポットに前述の論理和を記憶させる。以上の処理操作により、高密度印字用フォントデータのフォントの線幅を1ドット分だけ行方向に増長させたデータが中間フォントデータ記憶手段に記憶されることになる。
次いで、中間フォントデータ生成手段は、中間フォントデータ記憶手段に記憶された中間フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値であるのか空白を表す値であるのかを判定する。塗り潰しを表す値である場合には、中間フォントデータ生成手段は、当該スポットに対応する中間フォントデータ記憶手段のスポットに塗り潰しを表す値を記憶させる。また、当該スポットのデータが空白を表す値である場合には、中間フォントデータ生成手段は、当該スポットの直前の列のスポットのデータと当該スポットのデータとの論理和を求め、当該スポットの直後の列のスポットのデータが塗り潰しを表す値である場合には当該スポットに対応する中間フォントデータ記憶手段のスポットに空白を表す値を記憶させる。一方、当該スポットの直後の列のスポットのデータが空白を表す値である場合には、中間フォントデータ生成手段は、当該スポットに対応する中間フォントデータ記憶手段のスポットに前述の論理和を記憶させる。以上の処理操作により、高密度印字用フォントデータのフォントの線幅を1ドット分だけ列方向に増長させたデータが中間フォントデータ記憶手段に更新して記憶されることになる。
前述した通り、高密度印字用フォントデータに含まれる線分や円弧の方向性に関わりなく其の線幅を1ドット分だけ増長させることができ、また、高密度印字用フォントデータの空白部分が不用意に塗り潰されることもなくなるので、特に、線分や円弧が縦横に走る複雑な形状のフォントを高品位で印字することができる。
【0020】
また、前述の高速印字用フォントデータ生成手段に代えて、中間フォントデータ記憶手段に記憶された中間フォントデータの奇数行偶数列と偶数行奇数列のデータを保持して奇数行奇数列のデータと偶数行偶数列のデータを空白を表す値に書き換える高速印字用フォントデータ生成手段を利用してもよい。
【0021】
中間フォントデータから1行おきに奇数列のデータを間引き、残りの行について偶数列のデータを間引いた高速印字用フォントデータが生成される点については前述の高速印字用フォントデータ生成手段と同等である。
【0022】
本発明のドットインパクトプリンタは、前記課題を達成するため、前述した何れかのフォントデータ生成装置を備えたことを特徴とする構成を有する。
【0023】
このドットインパクトプリンタによれば、2倍速の印字動作と実質的な印字品位の向上が実現される。
【発明の効果】
【0024】
本発明のフォントデータ生成方法およびフォントデータ生成装置とドットインパクトプリンタは、高密度印字用フォントデータのフォントの線幅を1ドット分だけ増長させて中間フォントデータを生成し、この中間フォントデータから1行おきに奇数列のデータを間引き、残りの行について偶数列のデータを間引いて高速印字用フォントデータを生成するようにしているので、当初の高密度印字用フォントデータにおいて1ドット分の線幅を備えていた細い線分や円弧を高速印字用フォントデータ上で千鳥足配置のドットの繋がりによって表現することができる。この結果、直近するドットの間隔を従来技術による2ドット分の間隔よりも短くすることができ、実質的な印字品位を大幅に向上させることが可能となった。
また、印字ヘッドにおいて隣接するワイヤあるいはスタイラス等の叩打手段を同時に駆動する必要がないので、従来と同様に、2倍速の印字動作が保証される。
従って、従来と同様の高速印字動作を保証した状態で、従来よりも高品位の印字を行うことができる。
【発明を実施するための最良の形態】
【0025】
次に、本発明を実施するための最良の形態について、図面を参照して詳細に説明する。図1は本発明のフォントデータ生成方法を適用した一実施形態のフォントデータ生成装置1の構成の概略について示した機能ブロック図である。
【0026】
フォントデータ生成装置1の主要部は、図1に示される通り、高密度印字用フォントデータ2から各スポットのデータを読み込んで中間フォントデータを生成する中間フォントデータ生成手段3と、中間フォントデータ生成手段3で生成された中間フォントデータを一時記憶するための第一中間データ記憶領域4aと第ニ中間データ記憶領域4bを備えた中間フォントデータ記憶手段4、および、中間フォントデータ記憶手段4の第ニ中間データ記憶領域4bに記憶された中間フォントデータを対象にデータの間引き処理を行って高速印字用フォントデータを生成する高速印字用フォントデータ生成手段5によって構成される。
【0027】
出力用フォントデータ記憶手段6は、高速印字用フォントデータ生成手段5で生成された高速印字用フォントデータを一時記憶するための記憶手段であり、フォントデータ出力手段7は、出力用フォントデータ記憶手段6に一時記憶された高速印字用フォントデータを高密度印字用フォントデータ2に代えてドットインパクトプリンタの印字ヘッド8に出力するための出力手段である。
【0028】
フォントデータ出力手段7は、ドットインパクトプリンタが高密度印字モードに設定されている場合には、高密度印字用フォントデータ2を其のまま印字ヘッド8に出力し、また、ドットインパクトプリンタが2倍速の高速印字モードに設定されている場合には、高密度印字用フォントデータ2に代えて出力用フォントデータ記憶手段6の高速印字用フォントデータを印字ヘッド8に出力するようになっている。
【0029】
高密度印字モードと高速印字モードが選択可能なドットインパクトプリンタの構成に関しては既に公知であるので具体的な説明を省略する。
【0030】
高密度印字用フォントデータ2は、ドットインパクトプリンタに実装されたROM等の不揮発性記憶手段9(以下、単にROM9と称する)に格納されており、中間フォントデータ記憶手段4および出力用フォントデータ記憶手段6は、ドットインパクトプリンタに実装されたRAM等の揮発性記憶手段10(以下、単にRAM10と称する)によって構成されている。
【0031】
また、中間フォントデータ生成手段3,高速印字用フォントデータ生成手段5,フォントデータ出力手段7の各々は、ドットインパクトプリンタに実装されたマイクロプロセッサ11(以下、単にCPU11と称する)を機能実現手段として構成されるもので、CPU11を中間フォントデータ生成手段3,高速印字用フォントデータ生成手段5,フォントデータ出力手段7等として機能させるための制御プログラムは予めROM9に格納されている。
【0032】
ROM9に格納された高密度印字用フォントデータ2の一例を図3の概念図に示す。高密度印字用フォントデータ2はドットインパクトプリンタによって高密度印字を行うことを目的としてデザインされたもので、精細なフォントを表現するためのデータがドットマトリクス状に記憶されている。図3の例ではI行J列のドットマトリクスの(i,j)スポットの各々に塗り潰しを表す値「1」(黒丸に相当する値)または空白を表す値「0」(白抜きの丸に相当する値)の何れか一方を記憶させることでフォントを表現する場合を例にとって示している。
【0033】
RAM10内の記憶領域を利用して形成された中間フォントデータ記憶手段4の第一中間データ記憶領域4aおよび第ニ中間データ記憶領域4bと出力用フォントデータ記憶手段6の構成も、論理的には、図3の高密度印字用フォントデータ2と同等である。
【0034】
高密度印字用フォントデータ2を使用して高密度印字モードでの印字動作を行った場合、最終的な印字結果であるプリントアウト上でのドット間距離は、印字ヘッド8におけるワイヤあるいはスタイラス等の叩打手段の配設ピッチに依存し、一般的には、1/180インチ程度である。
【0035】
高速印字モードの選択下においてCPU11を中間フォントデータ生成手段3および高速印字用フォントデータ生成手段5として機能させるための制御プログラムの概略を図2のフローチャートに示す。
【0036】
次に、図2のフローチャートと図3の概念図および図4〜図6の作用原理図を参照して、中間フォントデータ生成手段3および高速印字用フォントデータ生成手段5として機能するCPU11の処理動作と本実施形態のフォントデータ生成方法について具体的に説明する。
【0037】
パーソナルコンピュータ等を始めとする上位装置から特定のフォントを指定した印字指令を受けると、CPU11は、まず、行方向処理完了フラグF,行方向位置指定指標i,列方向位置指定指標jの値を0に初期化し(ステップS1〜ステップS3)、行方向位置指定指標iの値を1インクリメントして(ステップS4)、該指標iの現在値が高密度印字用フォントデータ2のドットマトリクスの行数Iを超えているか否かを判定する(ステップS5)。
【0038】
行方向位置指定指標iの現在値が高密度印字用フォントデータ2のドットマトリクスの行数Iを超えていなければ、CPU11は、更に、列方向位置指定指標jの値を1インクリメントし(ステップS9)、該指標jの現在値が高密度印字用フォントデータ2のドットマトリクスの列数Jを超えているか否かを判定する(ステップS10)。
【0039】
そして、列方向位置指定指標jの現在値が高密度印字用フォントデータ2のドットマトリクスの列数Jを超えていなければ、中間フォントデータ生成手段3として機能するCPU11が、指標i,jの現在値に基づいて高密度印字用フォントデータ2の(i,j)スポットのデータを読み込み(ステップS11)、このデータが塗り潰しを表す値「1」であるか否かを判定する(ステップS12)。
【0040】
高密度印字用フォントデータ2の(i,j)スポットのデータが塗り潰しを表す値「1」であった場合には、中間フォントデータ生成手段3として機能するCPU11は、高密度印字用フォントデータ2の(i,j)スポットに対応する中間フォントデータ記憶手段4の第一中間データ記憶領域4aの(i,j)スポットにデータの塗り潰しを表す値「1」を其のまま記憶させる(ステップS24)。
【0041】
また、高密度印字用フォントデータ2の(i,j)スポットのデータが空白を表す値「0」であった場合には、CPU11は、行方向処理完了フラグFの値が0であるか否か、つまり、行方向に隣接するスポット間で論理和を求めるための処理を行うべきであるのか列方向に隣接するスポット間で論理和を求めるための処理を行うべきであるのかを判定する(ステップS13)。
【0042】
現時点では行方向処理完了フラグFの値は0であり、行方向に隣接するスポット間で論理和を求めるための処理を行う必要があるので、中間フォントデータ生成手段3として機能するCPU11は、指標i,jの現在値に基づいて高密度印字用フォントデータ2の(i−1,j)スポットのデータ、つまり、現時点で着目している(i,j)スポットのデータを基準として直前の行のスポットである(i−1,j)スポットのデータを読み(ステップS14)、高密度印字用フォントデータ2における(i,j)スポットのデータと(i−1,j)スポットのデータの論理和Xを求めて一時記憶する(ステップS15)。
但し、(i−1,j)スポットの定義においてi−1の値が0となる場合、要するに、行方向位置指定指標iの現在値が1であって、指標i,jの現在値に従って高密度印字用フォントデータ2の第1行に位置するスポットのデータが読み出されている場合には、第0行のデータというものは存在せず、此れを読み出すことはできない。i−1の値が0となる場合には、(i−1,j)スポットのデータとして空白を表す値「0」が読み出されたものとして、ステップS15の処理を実行する。
【0043】
次いで、中間フォントデータ生成手段3として機能するCPU11は、指標i,jの現在値に基づいて高密度印字用フォントデータ2の(i+1,j)スポットのデータ、つまり、現時点で着目している(i,j)スポットのデータを基準として直後の行のスポットである(i+1,j)スポットのデータを読み込み(ステップS16)、このデータが塗り潰しを表す値「1」であるか否かを判定する(ステップS17)。
【0044】
ここで、(i+1,j)スポットのデータが塗り潰しを表す値「1」であれば、中間フォントデータ生成手段3として機能するCPU11は、高密度印字用フォントデータ2の(i,j)スポットに対応する中間フォントデータ記憶手段4の第一中間データ記憶領域4aの(i,j)スポットに空白を表す値「0」を無条件に記憶させる(ステップS18)。
【0045】
また、(i+1,j)スポットのデータが空白を表す値「0」であった場合には、中間フォントデータ生成手段3として機能するCPU11は、高密度印字用フォントデータ2の(i,j)スポットに対応する中間フォントデータ記憶手段4の第一中間データ記憶領域4aの(i,j)スポットにステップS15の処理で求められた論理和Xの値を記憶させる(ステップS19)。
【0046】
このようにしてステップS24,ステップS19,ステップS18の何れかの処理を実行し、中間フォントデータ記憶手段4の第一中間データ記憶領域4aの(i,j)スポットに塗り潰しを表す値「1」もしくは空白を表す値「0」を記憶させた後、中間フォントデータ生成手段3として機能するCPU11は、列方向位置指定指標jの値を改めて1インクリメントし(ステップS9)、該指標jの現在値が高密度印字用フォントデータ2のドットマトリクスの列数Jを超えているか否かを判定する(ステップS10)。
【0047】
そして、列方向位置指定指標jの現在値が高密度印字用フォントデータ2のドットマトリクスの列数Jを超えていなければ、中間フォントデータ生成手段3として機能するCPU11は、前記と同様にして、ステップS11〜ステップS19,テップS24のループ処理とステップS9の歩進処理およびステップS10の比較処理を繰り返し実行する。
【0048】
列方向位置指定指標jの値が高密度印字用フォントデータ2のドットマトリクスの列数Jと一致するまで前記と同様の処理を繰り返し実行することで、高密度印字用フォントデータ2の第i行の全てのスポットに対して処理が行われ、中間フォントデータ記憶手段4の第一中間データ記憶領域4aの第i行の全てのスポットに「1」もしくは「0」のデータが記憶されることになる。
【0049】
このようにして処理を繰り返す間に、列方向位置指定指標jの現在値が高密度印字用フォントデータ2のドットマトリクスの列数Jを超えたことがステップS10の判定処理で確認されると、CPU11は、列方向位置指定指標jの値を改めて0に初期化し(ステップS3)、行方向位置指定指標iの値を1インクリメントして(ステップS4)、該指標iの現在値が高密度印字用フォントデータ2のドットマトリクスの行数Iを超えているか否かを判定する(ステップS5)。
【0050】
そして、行方向位置指定指標iの現在値が高密度印字用フォントデータ2のドットマトリクスの行数Iを超えていなければ、中間フォントデータ生成手段3として機能するCPU11は、前記と同様にして、ステップS9〜ステップS19,ステップS24のループ処理とステップ3の初期化処理およびステップS4の歩進処理とステップS5の比較処理を繰り返し実行する。
【0051】
行方向位置指定指標iの値が高密度印字用フォントデータ2のドットマトリクスの行数Iと一致するまで前記と同様の処理を繰り返し実行することで、高密度印字用フォントデータ2の全ての行の全てのスポットに対して処理が行われ、中間フォントデータ記憶手段4の第一中間データ記憶領域4aの全ての行の全てのスポットに「1」もしくは「0」のデータが記憶される。
【0052】
図3に示した高密度印字用フォントデータ2に対して上述の処理を施した結果を図4に示す。図4に示される結果は第一中間データ記憶領域4aのデータ内容と同一である。
【0053】
図3と図4を比較すれば明らかなように、上述の処理によって、まず、高密度印字用フォントデータ2のフォントの線幅を1ドット分だけ行方向(図4中の矢印iの方向)に増長させたデータが第一中間データ記憶領域4aに記憶されることになる。
【0054】
このようにして処理を繰り返す間に、行方向位置指定指標iの現在値が高密度印字用フォントデータ2のドットマトリクスの行数Iを超えたことがステップS5の判定処理で確認されると、CPU11は、行方向処理完了フラグFの値が0であるか否かを判定する(ステップS6)。
【0055】
行方向に隣接するスポット間で論理和を求めるための処理が完了した直後の現時点ではフラグFの値は初期値0に保持されているので、ステップS6の判定結果は真となる。
【0056】
従って、CPU11は、行方向処理完了フラグFに1をセットすることによって行方向に隣接するスポット間で論理和を求めるための処理が完了したことを記憶し(ステップS7)、改めて、列方向に隣接するスポット間で論理和を求めるための処理を開始する。
【0057】
また、この時点でデータの読み込み先が高密度印字用フォントデータ2から中間フォントデータ記憶手段4の第一中間データ記憶領域4aに切り替えられ、併せて、データの記憶先が第一中間データ記憶領域4aから第ニ中間データ記憶領域4bに切り替えられる。
【0058】
列方向に隣接するスポット間で論理和を求めるための処理を開始したCPU11は、まず、行方向位置指定指標i,列方向位置指定指標jの値を0に初期化し(ステップS2,ステップS3)、行方向位置指定指標iの値を1インクリメントして(ステップS4)、該指標iの現在値が第一中間データ記憶領域4aのドットマトリクスの行数Iを超えているか否かを判定する(ステップS5)。前述した通り高密度印字用フォントデータ2,第一中間データ記憶領域4a,第ニ中間データ記憶領域4bの配列に関わる論理構造は同一であり、何れもI行J列のデータスポットを備えている。
【0059】
行方向位置指定指標iの現在値が第一中間データ記憶領域4aのドットマトリクスの行数Iを超えていなければ、CPU11は、更に、列方向位置指定指標jの値を1インクリメントし(ステップS9)、該指標jの現在値が第一中間データ記憶領域4aのドットマトリクスの列数Jを超えているか否かを判定する(ステップS10)。
【0060】
そして、列方向位置指定指標jの現在値が第一中間データ記憶領域4aのドットマトリクスの列数Jを超えていなければ、中間フォントデータ生成手段3として機能するCPU11が、指標i,jの現在値に基づいて第一中間データ記憶領域4aの(i,j)スポットのデータを読み込み(ステップS11)、このデータが塗り潰しを表す値「1」であるか否かを判定する(ステップS12)。
【0061】
第一中間データ記憶領域4aの(i,j)スポットのデータが塗り潰しを表す値「1」であった場合には、中間フォントデータ生成手段3として機能するCPU11は、第一中間データ記憶領域4aの(i,j)スポットに対応する第二中間データ記憶領域4bの(i,j)スポットにデータの塗り潰しを表す値「1」を其のまま記憶させる(ステップS24)。
【0062】
また、第一中間データ記憶領域4aの(i,j)スポットのデータが空白を表す値「0」であった場合には、CPU11は、行方向処理完了フラグFの値が0であるか否か、つまり、行方向に隣接するスポット間で論理和を求めるための処理を行うべきであるのか列方向に隣接するスポット間で論理和を求めるための処理を行うべきであるのかを判定する(ステップS13)。
【0063】
現時点では行方向処理完了フラグFの値は1であり、列方向に隣接するスポット間で論理和を求めるための処理を行う必要があるので、中間フォントデータ生成手段3として機能するCPU11は、指標i,jの現在値に基づいて第一中間データ記憶領域4aの(i,j−1)スポットのデータ、つまり、現時点で着目している(i,j)スポットのデータを基準として直前の列のスポットである(i,j−1)スポットのデータを読み(ステップS20)、第一中間データ記憶領域4aにおける(i,j)スポットのデータと(i,j−1)スポットのデータの論理和Xを求めて一時記憶する(ステップS21)。
但し、(i,j−1)スポットの定義においてj−1の値が0となる場合、要するに、列方向位置指定指標jの現在値が1であって、指標i,jの現在値に従って第一中間データ記憶領域4aの第1列に位置するスポットのデータが読み出されている場合には、第0列のデータというものは存在せず、此れを読み出すことはできない。j−1の値が0となる場合には、(i,j−1)スポットのデータとして空白を表す値「0」が読み出されたものとして、ステップS21の処理を実行する。
【0064】
次いで、中間フォントデータ生成手段3として機能するCPU11は、指標i,jの現在値に基づいて第一中間データ記憶領域4aの(i,j+1)スポットのデータ、つまり、現時点で着目している(i,j)スポットのデータを基準として直後の列のスポットである(i,j+1)スポットのデータを読み込み(ステップS22)、このデータが塗り潰しを表す値「1」であるか否かを判定する(ステップS23)。
【0065】
ここで、(i,j+1)スポットのデータが塗り潰しを表す値「1」であれば、中間フォントデータ生成手段3として機能するCPU11は、第一中間データ記憶領域4aの(i,j)スポットに対応する第ニ中間データ記憶領域4bの(i,j)スポットに空白を表す値「0」を無条件に記憶させる(ステップS18)。
【0066】
また、(i,j+1)スポットのデータが空白を表す値「0」であった場合には、中間フォントデータ生成手段3として機能するCPU11は、第一中間データ記憶領域4aの(i,j)スポットに対応する第ニ中間データ記憶領域4bの(i,j)スポットにステップS21の処理で求められた論理和Xの値を記憶させる(ステップS19)。
【0067】
このようにしてステップS24,ステップS19,ステップS18の何れかの処理を実行し、中間フォントデータ記憶手段4の第ニ中間データ記憶領域4bの(i,j)スポットに塗り潰しを表す値「1」もしくは空白を表す値「0」を記憶させた後、中間フォントデータ生成手段3として機能するCPU11は、列方向位置指定指標jの値を改めて1インクリメントし(ステップS9)、該指標jの現在値が第一中間データ記憶領域4aのドットマトリクスの列数Jを超えているか否かを判定する(ステップS10)。
【0068】
そして、列方向位置指定指標jの現在値が第一中間データ記憶領域4aのドットマトリクスの列数Jを超えていなければ、中間フォントデータ生成手段3として機能するCPU11は、前記と同様にして、ステップS11〜ステップS19,テップS24のループ処理とステップS9の歩進処理およびステップS10の比較処理を繰り返し実行する。
【0069】
列方向位置指定指標jの値が第一中間データ記憶領域4aのドットマトリクスの列数Jと一致するまで前記と同様の処理を繰り返し実行することで、第一中間データ記憶領域4aの第i行の全てのスポットに対して処理が行われ、第ニ中間データ記憶領域4bの第i行の全てのスポットに「1」もしくは「0」のデータが記憶されることになる。
【0070】
このようにして処理を繰り返す間に、列方向位置指定指標jの現在値が第一中間データ記憶領域4aのドットマトリクスの列数Jを超えたことがステップS10の判定処理で確認されると、CPU11は、列方向位置指定指標jの値を改めて0に初期化し(ステップS3)、行方向位置指定指標iの値を1インクリメントして(ステップS4)、該指標iの現在値が第一中間データ記憶領域4aのドットマトリクスの行数Iを超えているか否かを判定する(ステップS5)。
【0071】
そして、行方向位置指定指標iの現在値が第一中間データ記憶領域4aのドットマトリクスの行数Iを超えていなければ、中間フォントデータ生成手段3として機能するCPU11は、前記と同様にして、ステップS9〜ステップS19,ステップS24のループ処理とステップ3の初期化処理およびステップS4の歩進処理とステップS5の比較処理を繰り返し実行する。
【0072】
行方向位置指定指標iの値が第一中間データ記憶領域4aのドットマトリクスの行数Iと一致するまで前記と同様の処理を繰り返し実行することで、第一中間データ記憶領域4aの全ての行の全てのスポットに対して処理が行われ、第ニ中間データ記憶領域4bの全ての行の全てのスポットに「1」もしくは「0」のデータが記憶される。
【0073】
図4に示した第一中間データ記憶領域4aのデータに対して上述の処理を施した結果を図5に示す。図5に示される結果は第ニ中間データ記憶領域4bのデータ内容と同一である。
【0074】
図4と図5を比較すれば明らかなように、上述の処理によって、高密度印字用フォントデータ2のフォントの線幅を1ドット分だけ列方向(図5中の矢印jの方向)に増長させたデータが第ニ中間データ記憶領域4bに記憶されることになる。
【0075】
このようにして処理を繰り返す間に、行方向位置指定指標iの現在値が第一中間データ記憶領域4aのドットマトリクスの行数Iを超えたことがステップS5の判定処理で確認されると、CPU11は、行方向処理完了フラグFの値が0であるか否かを判定する(ステップS6)。
【0076】
列方向に隣接するスポット間で論理和を求めるための処理が完了した現時点ではフラグFの値は既に1となっているので、ステップS6の判定結果は偽となる。
【0077】
従って、高速印字用フォントデータ生成手段5として機能CPU11は、中間フォントデータ記憶手段4の第ニ中間データ記憶領域4bに記憶された中間フォントデータの奇数行奇数列と偶数行偶数列のデータを保持して奇数行偶数列のデータと偶数行奇数列のデータを空白を表す値「0」に書き換えることでデータの間引き処理を行って高速印字用フォントデータを生成し、高速印字用フォントデータを出力用フォントデータ記憶手段6に一時記憶させて(ステップS8)、一文字分のフォントに対する高速印字用フォントデータの生成処理を終える。
【0078】
この間引き処理は、具体的には、第ニ中間データ記憶領域4bに記憶された中間フォントデータの奇数行のデータに対してAA・・・h(10101010・・・b)との論理積を求める処理を行って其の結果を当該行のデータとして出力用フォントデータ記憶手段6に書き込み、第ニ中間データ記憶領域4bに記憶された中間フォントデータの偶数行のデータに対して55・・・h(01010101・・・b)との論理積を求める処理を行って其の結果を当該行のデータとして出力用フォントデータ記憶手段6に書き込むことによって容易に実現され得る。
【0079】
なお、第ニ中間データ記憶領域4bに記憶された中間フォントデータの奇数行偶数列と偶数行奇数列のデータを保持して奇数行偶数列のデータと偶数行奇数列のデータを空白を表す値「0」に書き換えることでデータの間引き処理を行ってもよく、その場合は、第ニ中間データ記憶領域4bに記憶された中間フォントデータの奇数行のデータに対して55・・・h(01010101・・・b)との論理積を求め、第ニ中間データ記憶領域4bに記憶された中間フォントデータの偶数行のデータに対してAA・・・h(10101010・・・b)との論理積を求めることになる。
【0080】
図5に示した第ニ中間データ記憶領域4bのデータに対して上述の処理を施した結果を図6に示す。図6に示される結果は出力用フォントデータ記憶手段6のデータ内容と同一である。
【0081】
図6および図3から明らかなように、図3に示されるような当初の高密度印字用フォントデータ2において1ドット分の線幅を備えていた細い線分や円弧は、図6の高速印字用フォントデータにおいては千鳥足状に配置されたドットの繋がりによって表現されることになる。この際、直近するドットの間隔は、行方向のドット間隔をa,列方向のドット間隔をbとして(a+b1/2となり、通常、a=b=1ドット間隔であることから最終的なドット間隔は√2ドット分の間隔となり、従来技術による2ドット分の間隔よりも短くすることができ、実質的な印字品位を向上させることができる。
図7を参照して説明した従来技術では、1ドット分の線幅を備えた細い線分や円弧の線幅を増長させることなく、そのままの状態で奇数行偶数列のデータと偶数行奇数列のデータを間引く処理を行っていたので、1ドット分の線幅を備えた細い線分や円弧は必ず1ドットの塗り潰しと空白の交互の繰り返しによって表現されることになるので、図6に示されるような精細な表現を行うことは不可能である。
図6は作用原理を表すための概念図であり、ドットやドット間の距離を拡大して示しているが、前述した通り、実際のドット間の距離は1/180インチといった程度のスケールであるから、このようにしてドットを千鳥足状に配置することで、目に見えるジャギーを生じさせることなく精細な表現を行うことが可能である。
【0082】
しかも、1行おきに奇数列のデータを間引き、残りの行について偶数列のデータを間引いて高速印字用フォントデータを生成する点に関しては従来と同様であり、ドット間隔自体は行方向および列方向の各々に対して2ドット分の間隔であるから、印字ヘッド8において隣接するワイヤあるいはスタイラス等の叩打手段を同時に駆動する必要はなく、従来と同様に、2倍速の印字動作が保証される。
【0083】
また、高密度印字用フォントデータ2の線幅を増長させて中間フォントデータを生成する際には、処理対象となっている(i,j)スポットのデータの直後のスポットのデータ、つまり、行方向に線幅を増長させる場合には直後の行に位置する(i+1,j)スポットのデータ、また、列方向に線幅を増長させる場合には直後の列に位置する(i,j+1)スポットのデータを参照し、このデータが塗り潰しであるのか空白であるのかを確認した上で、塗り潰しである場合には線幅の増長に関わる処理をスキップして(i,j)スポットのデータに空白を表す値「0」を記憶させるようにしているので、本来空白である部分が不用意に塗り潰されることによって隣接する線分が一体化してしまうといった弊害も未然に防止することができる。
【0084】
この実施形態では、高密度印字用フォントデータ2の線幅を1ドット分増長させる処理を行方向と列方向に対して行う場合について述べたが、例えば、行方向または列方向の何れか一方に細い線が集中するといったようなフォトの特性によっては、何れか一方の方向性で線幅の増長処理を行えば済む場合もある。
【0085】
なお、この実施形態では、線分や円弧の方向性や繋がりを格別考慮してはいないので、フォントの線幅のみでなく線長が増長される場合もあるが、その場合であっても線長は1ドット分だけ伸びるに過ぎず、前述した通り、実際のドット間の距離は1/180インチ程度であることから、これによって実質的な障害が生じることはない。
【産業上の利用可能性】
【0086】
この発明は、ドットインパクトプリンタの他、印字ヘッドのハードウェア構成で決まるドット単位でフォント(特殊文字や図柄を含む)を印刷する各種の印字装置、例えば、インクジェット式のプリンタ等にも応用することができる。
【図面の簡単な説明】
【0087】
【図1】本発明を適用した一実施形態のフォントデータ生成装置の構成の概略について示した機能ブロック図である。
【図2】ドットインパクトプリンタに実装されたマイクロプロセッサを中間フォントデータ生成手段および高速印字用フォントデータ生成手段として機能させるための制御プログラムの概略を示したフローチャートである。
【図3】高密度印字用フォントデータの一例を示した概念図である。
【図4】中間フォントデータ生成手段によって行われる行方向の論理演算の結果を簡略化して示した作用原理図である。
【図5】中間フォントデータ生成手段によって行われる列方向の論理演算の結果を簡略化して示した作用原理図である。
【図6】高速印字用フォントデータ生成手段によって行われるデータの間引き処理の結果を簡略化して示した作用原理図である。
【図7】従来の間引き編集を適用して生成した高速印字用フォントデータを例示した概念図である。
【符号の説明】
【0088】
1 フォントデータ生成装置
2 高密度印字用フォントデータ
3 中間フォントデータ生成手段
4 中間フォントデータ記憶手段
4a 第一中間データ記憶領域
4b 第ニ中間データ記憶領域
5 高速印字用フォントデータ生成手段
6 出力用フォントデータ記憶手段
7 フォントデータ出力手段
8 印字ヘッド
9 不揮発性記憶手段(ROM)
10 揮発性記憶手段(RAM)
11 マイクロプロセッサ(CPU)
F 行方向処理完了フラグ
i 行方向位置指定指標
j 列方向位置指定指標
I ドットマトリクスの行数
J ドットマトリクスの列数
X 論理和

【特許請求の範囲】
【請求項1】
ドットマトリクス状に記憶された高密度印字用フォントデータを編集して高速印字用フォントデータを生成するフォントデータ生成方法であって、
前記高密度印字用フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値である場合には当該スポットの塗り潰しを表す値を保持し、また、当該スポットのデータが空白を表す値である場合には当該スポットの直前のスポットのデータと当該スポットのデータとの論理和を求めて当該スポットに設定することにより中間フォントデータを生成し、
前記中間フォントデータから1行おきに奇数列のデータを間引き、残りの行について偶数列のデータを間引いて高速印字用フォントデータを生成することを特徴としたフォントデータ生成方法。
【請求項2】
ドットマトリクス状に記憶された高密度印字用フォントデータを編集して高速印字用フォントデータを生成するフォントデータ生成方法であって、
前記高密度印字用フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値である場合には当該スポットの塗り潰しを表す値を保持し、また、当該スポットのデータが空白を表す値である場合には当該スポットの直前のスポットのデータと当該スポットのデータとの論理和を求め、当該スポットの直後のスポットのデータが塗り潰しを表す値である場合には当該スポットに空白を表す値を設定する一方、当該スポットの直後のスポットのデータが空白を表す値である場合には当該スポットに前記求められた論理和を設定して中間フォントデータを生成し、
前記中間フォントデータから1行おきに奇数列のデータを間引き、残りの行について偶数列のデータを間引いて高速印字用フォントデータを生成することを特徴としたフォントデータ生成方法。
【請求項3】
ドットマトリクス状に記憶された高密度印字用フォントデータを編集して高速印字用フォントデータを生成するフォントデータ生成方法であって、
前記高密度印字用フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値である場合には当該スポットに塗り潰しを表す値を保持し、また、当該スポットのデータが空白を表す値である場合には当該スポットの直前の行のスポットのデータと当該スポットのデータとの論理和を求め、当該スポットの直後の行のスポットのデータが塗り潰しを表す値である場合には当該スポットに空白を表す値を設定する一方、当該スポットの直後の行のスポットのデータが空白を表す値である場合には当該スポットに前記求められた論理和を設定して中間フォントデータを生成した後、
該中間フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値である場合には当該スポットの塗り潰しを表す値を保持し、また、当該スポットのデータが空白を表す値である場合には当該スポットの直前の列のスポットのデータと当該スポットのデータとの論理和を求め、当該スポットの直後の列のスポットのデータが塗り潰しを表す値である場合には当該スポットに空白を表す値を設定する一方、当該スポットの直後の列のスポットのデータが空白を表す値である場合には当該スポットに前記求められた論理和を設定して中間フォントデータを更新し、
該更新された中間フォントデータから1行おきに奇数列のデータを間引き、残りの行について偶数列のデータを間引いて高速印字用フォントデータを生成することを特徴としたフォントデータ生成方法。
【請求項4】
ドットマトリクス状に記憶された高密度印字用フォントデータを編集して高速印字用フォントデータを生成するフォントデータ生成装置であって、
前記高密度印字用フォントデータから生成された中間フォントデータを記憶するための中間フォントデータ記憶手段と、
前記高密度印字用フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値である場合には当該スポットに対応する中間フォントデータ記憶手段のスポットに塗り潰しを表す値を記憶させ、また、当該スポットのデータが空白を表す値である場合には当該スポットの直前のスポットのデータと当該スポットのデータとの論理和を求めて当該スポットに対応する中間フォントデータ記憶手段のスポットに記憶させる中間フォントデータ生成手段と、
前記中間フォントデータ記憶手段に記憶された中間フォントデータの奇数行奇数列と偶数行偶数列のデータを保持して奇数行偶数列のデータと偶数行奇数列のデータを空白を表す値に書き換えて高速印字用フォントデータを生成する高速印字用フォントデータ生成手段とを備えたことを特徴とするフォントデータ生成装置。
【請求項5】
ドットマトリクス状に記憶された高密度印字用フォントデータを編集して高速印字用フォントデータを生成するフォントデータ生成装置であって、
前記高密度印字用フォントデータから生成された中間フォントデータを記憶するための中間フォントデータ記憶手段と、
前記高密度印字用フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値である場合には当該スポットに対応する中間フォントデータ記憶手段のスポットに塗り潰しを表す値を記憶させ、また、当該スポットのデータが空白を表す値である場合には当該スポットの直前のスポットのデータと当該スポットのデータとの論理和を求め、当該スポットの直後のスポットのデータが塗り潰しを表す値である場合には当該スポットに対応する中間フォントデータ記憶手段のスポットに空白を表す値を記憶させる一方、当該スポットの直後のスポットのデータが空白を表す値である場合には当該スポットに対応する中間フォントデータ記憶手段のスポットに前記求められた論理和を記憶させる中間フォントデータ生成手段と、
前記中間フォントデータ記憶手段に記憶された中間フォントデータの奇数行奇数列と偶数行偶数列のデータを保持して奇数行偶数列のデータと偶数行奇数列のデータを空白を表す値に書き換えて高速印字用フォントデータを生成する高速印字用フォントデータ生成手段とを備えたことを特徴とするフォントデータ生成装置。
【請求項6】
ドットマトリクス状に記憶された高密度印字用フォントデータを編集して高速印字用フォントデータを生成するフォントデータ生成装置であって、
前記高密度印字用フォントデータから生成された中間フォントデータを記憶するための中間フォントデータ記憶手段と、
前記高密度印字用フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値である場合には当該スポットに対応する中間フォントデータ記憶手段のスポットに塗り潰しを表す値を記憶させ、また、当該スポットのデータが空白を表す値である場合には当該スポットの直前の行のスポットのデータと当該スポットのデータとの論理和を求め、当該スポットの直後の行のスポットのデータが塗り潰しを表す値である場合には当該スポットに対応する中間フォントデータ記憶手段のスポットに空白を表す値を記憶させる一方、当該スポットの直後の行のスポットのデータが空白を表す値である場合には当該スポットに対応する中間フォントデータ記憶手段のスポットに前記求められた論理和を記憶させた後、該中間フォントデータ記憶手段に記憶された中間フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値である場合には当該スポットの塗り潰しを表す値を保持し、また、当該スポットのデータが空白を表す値である場合には当該スポットの直前の列のスポットのデータと当該スポットのデータとの論理和を求め、当該スポットの直後の列のスポットのデータが塗り潰しを表す値である場合には当該スポットに空白を表す値を記憶させる一方、当該スポットの直後の列のスポットのデータが空白を表す値である場合には当該スポットに前記求められた論理和を記憶させる中間フォントデータ生成手段と、
前記中間フォントデータ記憶手段に記憶された中間フォントデータの奇数行奇数列と偶数行偶数列のデータを保持して奇数行偶数列のデータと偶数行奇数列のデータを空白を表す値に書き換えて高速印字用フォントデータを生成する高速印字用フォントデータ生成手段とを備えたことを特徴とするフォントデータ生成装置。
【請求項7】
前記高速印字用フォントデータ生成手段に代えて、前記中間フォントデータ記憶手段に記憶された中間フォントデータの奇数行偶数列と偶数行奇数列のデータを保持して奇数行奇数列のデータと偶数行偶数列のデータを空白を表す値に書き換える高速印字用フォントデータ生成手段を備えた請求項4,請求項5または請求項6の何れか一項に記載のフォントデータ生成装置。
【請求項8】
請求項4,請求項5,請求項6,請求項7の何れか一項に記載のフォントデータ生成装置を備えたことを特徴とするドットインパクトプリンタ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate