(57)【特許請求の範囲】
【請求項１】
ドットマトリクス状に記憶された高密度印字用フォントデータを編集して高速印字用フォントデータを生成するフォントデータ生成方法であって、
前記高密度印字用フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値である場合には当該スポットの塗り潰しを表す値を保持し、また、当該スポットのデータが空白を表す値である場合には当該スポットの直前のスポットのデータと当該スポットのデータとの論理和を求めて当該スポットに設定することにより中間フォントデータを生成し、
前記中間フォントデータから１行おきに奇数列のデータを間引き、残りの行について偶数列のデータを間引いて高速印字用フォントデータを生成することを特徴としたフォントデータ生成方法。
【請求項２】
ドットマトリクス状に記憶された高密度印字用フォントデータを編集して高速印字用フォントデータを生成するフォントデータ生成方法であって、
前記高密度印字用フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値である場合には当該スポットの塗り潰しを表す値を保持し、また、当該スポットのデータが空白を表す値である場合には当該スポットの直前のスポットのデータと当該スポットのデータとの論理和を求め、当該スポットの直後のスポットのデータが塗り潰しを表す値である場合には当該スポットに空白を表す値を設定する一方、当該スポットの直後のスポットのデータが空白を表す値である場合には当該スポットに前記求められた論理和を設定して中間フォントデータを生成し、
前記中間フォントデータから１行おきに奇数列のデータを間引き、残りの行について偶数列のデータを間引いて高速印字用フォントデータを生成することを特徴としたフォントデータ生成方法。
【請求項３】
ドットマトリクス状に記憶された高密度印字用フォントデータを編集して高速印字用フォントデータを生成するフォントデータ生成方法であって、
前記高密度印字用フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値である場合には当該スポットに塗り潰しを表す値を保持し、また、当該スポットのデータが空白を表す値である場合には当該スポットの直前の行のスポットのデータと当該スポットのデータとの論理和を求め、当該スポットの直後の行のスポットのデータが塗り潰しを表す値である場合には当該スポットに空白を表す値を設定する一方、当該スポットの直後の行のスポットのデータが空白を表す値である場合には当該スポットに前記求められた論理和を設定して中間フォントデータを生成した後、
該中間フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値である場合には当該スポットの塗り潰しを表す値を保持し、また、当該スポットのデータが空白を表す値である場合には当該スポットの直前の列のスポットのデータと当該スポットのデータとの論理和を求め、当該スポットの直後の列のスポットのデータが塗り潰しを表す値である場合には当該スポットに空白を表す値を設定する一方、当該スポットの直後の列のスポットのデータが空白を表す値である場合には当該スポットに前記求められた論理和を設定して中間フォントデータを更新し、
該更新された中間フォントデータから１行おきに奇数列のデータを間引き、残りの行について偶数列のデータを間引いて高速印字用フォントデータを生成することを特徴としたフォントデータ生成方法。
【請求項４】
ドットマトリクス状に記憶された高密度印字用フォントデータを編集して高速印字用フォントデータを生成するフォントデータ生成装置であって、
前記高密度印字用フォントデータから生成された中間フォントデータを記憶するための中間フォントデータ記憶手段と、
前記高密度印字用フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値である場合には当該スポットに対応する中間フォントデータ記憶手段のスポットに塗り潰しを表す値を記憶させ、また、当該スポットのデータが空白を表す値である場合には当該スポットの直前のスポットのデータと当該スポットのデータとの論理和を求めて当該スポットに対応する中間フォントデータ記憶手段のスポットに記憶させる中間フォントデータ生成手段と、
前記中間フォントデータ記憶手段に記憶された中間フォントデータの奇数行奇数列と偶数行偶数列のデータを保持して奇数行偶数列のデータと偶数行奇数列のデータを空白を表す値に書き換えて高速印字用フォントデータを生成する高速印字用フォントデータ生成手段とを備えたことを特徴とするフォントデータ生成装置。
【請求項５】
ドットマトリクス状に記憶された高密度印字用フォントデータを編集して高速印字用フォントデータを生成するフォントデータ生成装置であって、
前記高密度印字用フォントデータから生成された中間フォントデータを記憶するための中間フォントデータ記憶手段と、
前記高密度印字用フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値である場合には当該スポットに対応する中間フォントデータ記憶手段のスポットに塗り潰しを表す値を記憶させ、また、当該スポットのデータが空白を表す値である場合には当該スポットの直前のスポットのデータと当該スポットのデータとの論理和を求め、当該スポットの直後のスポットのデータが塗り潰しを表す値である場合には当該スポットに対応する中間フォントデータ記憶手段のスポットに空白を表す値を記憶させる一方、当該スポットの直後のスポットのデータが空白を表す値である場合には当該スポットに対応する中間フォントデータ記憶手段のスポットに前記求められた論理和を記憶させる中間フォントデータ生成手段と、
前記中間フォントデータ記憶手段に記憶された中間フォントデータの奇数行奇数列と偶数行偶数列のデータを保持して奇数行偶数列のデータと偶数行奇数列のデータを空白を表す値に書き換えて高速印字用フォントデータを生成する高速印字用フォントデータ生成手段とを備えたことを特徴とするフォントデータ生成装置。
【請求項６】
ドットマトリクス状に記憶された高密度印字用フォントデータを編集して高速印字用フォントデータを生成するフォントデータ生成装置であって、
前記高密度印字用フォントデータから生成された中間フォントデータを記憶するための中間フォントデータ記憶手段と、
前記高密度印字用フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値である場合には当該スポットに対応する中間フォントデータ記憶手段のスポットに塗り潰しを表す値を記憶させ、また、当該スポットのデータが空白を表す値である場合には当該スポットの直前の行のスポットのデータと当該スポットのデータとの論理和を求め、当該スポットの直後の行のスポットのデータが塗り潰しを表す値である場合には当該スポットに対応する中間フォントデータ記憶手段のスポットに空白を表す値を記憶させる一方、当該スポットの直後の行のスポットのデータが空白を表す値である場合には当該スポットに対応する中間フォントデータ記憶手段のスポットに前記求められた論理和を記憶させた後、該中間フォントデータ記憶手段に記憶された中間フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値である場合には当該スポットの塗り潰しを表す値を保持し、また、当該スポットのデータが空白を表す値である場合には当該スポットの直前の列のスポットのデータと当該スポットのデータとの論理和を求め、当該スポットの直後の列のスポットのデータが塗り潰しを表す値である場合には当該スポットに空白を表す値を記憶させる一方、当該スポットの直後の列のスポットのデータが空白を表す値である場合には当該スポットに前記求められた論理和を記憶させる中間フォントデータ生成手段と、
前記中間フォントデータ記憶手段に記憶された中間フォントデータの奇数行奇数列と偶数行偶数列のデータを保持して奇数行偶数列のデータと偶数行奇数列のデータを空白を表す値に書き換えて高速印字用フォントデータを生成する高速印字用フォントデータ生成手段とを備えたことを特徴とするフォントデータ生成装置。
【請求項７】
前記高速印字用フォントデータ生成手段に代えて、前記中間フォントデータ記憶手段に記憶された中間フォントデータの奇数行偶数列と偶数行奇数列のデータを保持して奇数行奇数列のデータと偶数行偶数列のデータを空白を表す値に書き換える高速印字用フォントデータ生成手段を備えた請求項４，請求項５または請求項６の何れか一項に記載のフォントデータ生成装置。
【請求項８】
請求項４，請求項５，請求項６，請求項７の何れか一項に記載のフォントデータ生成装置を備えたことを特徴とするドットインパクトプリンタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ドットマトリクス状に記憶された高密度印字用フォントデータを編集して高速印字用フォントデータを生成するフォントデータ生成方法およびフォントデータ生成装置とドットインパクトプリンタに関する。
【背景技術】
【０００２】
昨今のドットインパクトプリンタにおいては、其の印字速度の向上が求められていることに併せて印字品位の向上も求められている。しかし、これらの性能はトレードオフの関係にあり、両方の機能を満足することは難しい。印字速度をあげると其れに比例してドット間隔を広げる必要が生じ、これに伴って印字品位が低下するためである。例えば、印字速度を２倍にあげて印字しようとすれば、印字ヘッドの追従を考慮して、そのドット間距離を２倍にする間引き編集を行わなければならず、印字の品位が著しく低下してしまう。
【０００３】
ドットマトリクス状に記憶された高密度印字用フォントデータを編集して高速印字用フォントデータを生成するフォントデータ生成方法あるいはフォントデータ生成装置もしくはドットインパクトプリンタとしては、特許文献１に開示される印字装置や特許文献２に開示される高速印刷方式が公知である。
【０００４】
特許文献１の印字装置は、単に、元になる高密度印字用フォントデータから１行おきに奇数列のドットを間引き、更に、残りの行について偶数列のドットを間引くことによって高速印字用フォントデータを生成するものに過ぎない。
従って、仮に、高密度印字用フォントデータにおける各ドット間の距離を１／１８０インチとすると、間引きによって生成される高速印字用フォントデータの各ドット間の距離は単純に１／９０インチとなり、低品位な文字となってしまう。
高密度印字用フォントデータの一例を図３の概念図に、また、特許文献１の印字装置による間引き編集を適用して図３の高密度印字用フォントデータから生成した高速印字用フォントデータを図７に示す。
図７からも明らかなように、特に、１列のドットで形成される細い線分や円弧を含むフォントに対して此のような間引きを適用した場合、文字の品位が著しく低下する問題がある。
【０００５】
一方、特許文献２の高速印刷方式は、１列おきに間引かれたフォントデータにおけるＮ番目の行とＮ−１番目の行のデータで論理和の演算を行い、その結果をＮ番目の行にデータとして書き込むことでドット密度を向上させようとしたものであるが、論理演算で生成された高速印字用フォントデータには依然として列方向に１列おきの連続する空白が存在することになるので、文字の品位が不十分である。
【０００６】
【特許文献１】特開２０００−２２５７３１号公報
【特許文献２】特開平１−３１０９６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
そこで、本発明の課題は、前記従来技術の不都合を改善し、印字速度を向上させても印字品位の低下が少ないフォントデータ生成方法およびフォントデータ生成装置とドットインパクトプリンタを提供することにある。
【課題を解決するための手段】
【０００８】
本発明のフォントデータ生成方法は、ドットマトリクス状に記憶された高密度印字用フォントデータを編集して高速印字用フォントデータを生成するフォントデータ生成方法であり、前記課題を達成するため、特に、
前記高密度印字用フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値である場合には当該スポットの塗り潰しを表す値を保持し、また、当該スポットのデータが空白を表す値である場合には当該スポットの直前のスポットのデータと当該スポットのデータとの論理和を求めて当該スポットに設定することにより中間フォントデータを生成し、
前記中間フォントデータから１行おきに奇数列のデータを間引き、残りの行について偶数列のデータを間引いて高速印字用フォントデータを生成することを特徴とした構成を有する。
【０００９】
高密度印字用フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値である場合には当該スポットの塗り潰しを表す値を保持し、また、当該スポットのデータが空白を表す値である場合には当該スポットの直前のスポットのデータと当該スポットのデータとの論理和を求めて当該スポットに設定するようにしているので、結果的に、中間フォントデータの内容は、高密度印字用フォントデータのフォントの線幅を１ドット分だけ増長させたデータとなる。
更に、この中間フォントデータから１行おきに奇数列のデータを間引き、残りの行について偶数列のデータを間引いて高速印字用フォントデータを生成するため、ドット間隔自体は行方向および列方向の各々に対して２ドット分の間隔となり、印字ヘッドにおいて隣接するワイヤあるいはスタイラス等の叩打手段を同時に駆動する必要がないので、従来と同様に、２倍速の印字動作が保証される。
中間フォントデータの内容は、前述したとおり、高密度印字用フォントデータのフォントの線幅を１ドット分だけ増長させたデータとなるので、中間フォントデータの内容が１列のドットで形成される細い線分や円弧を含んでいた場合には、中間フォントデータを生成する過程で、これらの細い線分や円弧が２ドット分の線幅を持つものとされ、更に、この中間フォントデータに対して１行おきに奇数列のデータを間引き、残りの行について偶数列のデータを間引いて高速印字用フォントデータが生成されるので、当初の高密度印字用フォントデータにおいて１ドット分の線幅を備えていた細い線分や円弧は、高速印字用フォントデータにおいては千鳥足状に配置されたドットの繋がりによって表現されることになる。この際、直近するドットの間隔は、行方向のドット間隔をａ，列方向のドット間隔をｂとして（ａ２＋ｂ２）１／２となり、通常、ａ＝ｂ＝１ドット間隔であることから最終的なドット間隔は√２ドット分の間隔となり、従来技術による２ドット分の間隔よりも短くすることができるため、実質的な印字品位を向上させることができる。
以上の構成および作用により、高速の印字速度を従来と同様に維持したまま、印字の品位を従来以上に向上させることができるようになる。
【００１０】
更に、前述のようにして各スポットのデータを読み込んで直前のスポットのデータと当該スポットのデータとの論理和を求めた後、当該スポットの直後のスポットのデータが塗り潰しを表す値である場合には当該スポットに空白を表す値を設定する一方、当該スポットの直後のスポットのデータが空白を表す値である場合には当該スポットに前記求められた論理和を設定して中間フォントデータを生成する構成としてもよい。
【００１１】
このような構成を適用すれば、高密度印字用フォントデータの線幅を増長させて中間フォントデータを生成する際に、高密度印字用フォントデータの空白部分、特に、１ドットの線幅の空白が塗り潰されることがなくなるので、この中間フォントデータから生成した高速印字用フォントデータを用いて高速印字を行うことで、複雑に入り組んだ形状のフォントを印字する場合であっても、高密度印字用のフォントと位相幾何的に同等の印字、つまり、不用意な潰れがなく線の繋がり方も正常な印字を行うことができる。
【００１２】
更には、高密度印字用フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値である場合には当該スポットに塗り潰しを表す値を保持し、また、当該スポットのデータが空白を表す値である場合には当該スポットの直前の行のスポットのデータと当該スポットのデータとの論理和を求め、当該スポットの直後の行のスポットのデータが塗り潰しを表す値である場合には当該スポットに空白を表す値を設定する一方、当該スポットの直後の行のスポットのデータが空白を表す値である場合には当該スポットに前記求められた論理和を設定して中間フォントデータを生成した後、
該中間フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値である場合には当該スポットの塗り潰しを表す値を保持し、また、当該スポットのデータが空白を表す値である場合には当該スポットの直前の列のスポットのデータと当該スポットのデータとの論理和を求め、当該スポットの直後の列のスポットのデータが塗り潰しを表す値である場合には当該スポットに空白を表す値を設定する一方、当該スポットの直後の列のスポットのデータが空白を表す値である場合には当該スポットに前記求められた論理和を設定して中間フォントデータを更新し、
該更新された中間フォントデータから１行おきに奇数列のデータを間引き、残りの行について偶数列のデータを間引いて高速印字用フォントデータを生成する構成とすることが望ましい。
【００１３】
このような構成を適用した場合、高密度印字用フォントデータに含まれる線分や円弧の方向性に関わりなく其の線幅を１ドット分だけ増長させることができ、また、高密度印字用フォントデータの空白部分が不用意に塗り潰されることもなくなるので、特に、線分や円弧が縦横に走る複雑な形状のフォントを高品位で印字することができる。
【００１４】
本発明のフォントデータ生成装置は、ドットマトリクス状に記憶された高密度印字用フォントデータを編集して高速印字用フォントデータを生成するフォントデータ生成装置であり、前記課題を達成するため、特に、
前記高密度印字用フォントデータから生成された中間フォントデータを記憶するための中間フォントデータ記憶手段と、
前記高密度印字用フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値である場合には当該スポットに対応する中間フォントデータ記憶手段のスポットに塗り潰しを表す値を記憶させ、また、当該スポットのデータが空白を表す値である場合には当該スポットの直前のスポットのデータと当該スポットのデータとの論理和を求めて当該スポットに対応する中間フォントデータ記憶手段のスポットに記憶させる中間フォントデータ生成手段と、
前記中間フォントデータ記憶手段に記憶された中間フォントデータの奇数行奇数列と偶数行偶数列のデータを保持して奇数行偶数列のデータと偶数行奇数列のデータを空白を表す値に書き換えて高速印字用フォントデータを生成する高速印字用フォントデータ生成手段とを備えたことを特徴とする構成を有する。
【００１５】
このような構成を適用した場合、中間フォントデータ生成手段が高密度印字用フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値であるのか空白を表す値であるのかを判定する。塗り潰しを表す値である場合には、中間フォントデータ生成手段は、当該スポットに対応する中間フォントデータ記憶手段のスポットに塗り潰しを表す値を記憶させ、また、当該スポットのデータが空白を表す値である場合には、中間フォントデータ生成手段は、当該スポットの直前のスポットのデータと当該スポットのデータとの論理和を求めて、当該スポットに対応する中間フォントデータ記憶手段のスポットに記憶させる。以上の処理操作により、高密度印字用フォントデータのフォントの線幅を１ドット分だけ増長させたデータが中間フォントデータ記憶手段に記憶されることになる。
次いで、高速印字用フォントデータ生成手段が作動し、中間フォントデータ記憶手段に記憶された中間フォントデータの奇数行奇数列と偶数行偶数列のデータを保持して奇数行偶数列のデータと偶数行奇数列のデータを空白を表す値に書き換えて、高速印字用フォントデータを生成する。この処理操作により、中間フォントデータから１行おきに奇数列のデータを間引き、残りの行について偶数列のデータを間引いた高速印字用フォントデータが生成されることになる。
前述した通り、高速印字用フォントデータにおけるドット間隔自体は行方向および列方向の各々に対して２ドット分の間隔となり、印字ヘッドにおいて隣接するワイヤあるいはスタイラス等の叩打手段を同時に駆動する必要がないので、従来と同様に、２倍速の印字動作が保証される。
また、当初の高密度印字用フォントデータにおいて１ドット分の線幅を備えていた細い線分や円弧が千鳥足状に配置されたドットの繋がりによって表現されることになるので、最終的なドット間隔は従来技術による２ドット分よりも短い√２ドット分の間隔とすることができ、実質的な印字品位が向上する。
【００１６】
更に、前述の中間フォントデータ生成手段は、各スポットのデータを読み込んで直前のスポットのデータと当該スポットのデータとの論理和を求めた後、当該スポットの直後のスポットのデータが塗り潰しを表す値である場合には当該スポットに対応する中間フォントデータ記憶手段のスポットに空白を表す値を記憶させる一方、当該スポットの直後のスポットのデータが空白を表す値である場合には当該スポットに対応する中間フォントデータ記憶手段のスポットに前記求められた論理和を記憶させる構成としてもよい。
【００１７】
高密度印字用フォントデータの線幅を増長させて中間フォントデータを生成する際に、高密度印字用フォントデータの空白部分、特に、１ドットの線幅の空白が塗り潰されることがなくなるので、この中間フォントデータから生成した高速印字用フォントデータを用いて高速印字を行うことで、複雑に入り組んだ形状のフォントを印字する場合であっても、高密度印字用のフォントと位相幾何的に同等の印字、つまり、不用意な潰れがなく線の繋がり方も正常な印字を行うことができる。
【００１８】
更に、前述の中間フォントデータ生成手段は、高密度印字用フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値である場合には当該スポットに対応する中間フォントデータ記憶手段のスポットに塗り潰しを表す値を記憶させ、また、当該スポットのデータが空白を表す値である場合には当該スポットの直前の行のスポットのデータと当該スポットのデータとの論理和を求め、当該スポットの直後の行のスポットのデータが塗り潰しを表す値である場合には当該スポットに対応する中間フォントデータ記憶手段のスポットに空白を表す値を記憶させる一方、当該スポットの直後の行のスポットのデータが空白を表す値である場合には当該スポットに対応する中間フォントデータ記憶手段のスポットに前記求められた論理和を記憶させた後、該中間フォントデータ記憶手段に記憶された中間フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値である場合には当該スポットの塗り潰しを表す値を保持し、また、当該スポットのデータが空白を表す値である場合には当該スポットの直前の列のスポットのデータと当該スポットのデータとの論理和を求め、当該スポットの直後の列のスポットのデータが塗り潰しを表す値である場合には当該スポットに空白を表す値を記憶させる一方、当該スポットの直後の列のスポットのデータが空白を表す値である場合には当該スポットに前記求められた論理和を記憶させる構成としてもよい。
【００１９】
このような構成を適用した場合、中間フォントデータ生成手段は、まず、高密度印字用フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値であるのか空白を表す値であるのかを判定する。塗り潰しを表す値である場合には、中間フォントデータ生成手段は、当該スポットに対応する中間フォントデータ記憶手段のスポットに塗り潰しを表す値を記憶させる。また、当該スポットのデータが空白を表す値である場合には、中間フォントデータ生成手段は、当該スポットの直前の行のスポットのデータと当該スポットのデータとの論理和を求め、当該スポットの直後の行のスポットのデータが塗り潰しを表す値である場合には当該スポットに対応する中間フォントデータ記憶手段のスポットに空白を表す値を記憶させる。一方、当該スポットの直後の行のスポットのデータが空白を表す値である場合には、中間フォントデータ生成手段は、当該スポットに対応する中間フォントデータ記憶手段のスポットに前述の論理和を記憶させる。以上の処理操作により、高密度印字用フォントデータのフォントの線幅を１ドット分だけ行方向に増長させたデータが中間フォントデータ記憶手段に記憶されることになる。
次いで、中間フォントデータ生成手段は、中間フォントデータ記憶手段に記憶された中間フォントデータから各スポットのデータを読み込み、当該スポットのデータが塗り潰しを表す値であるのか空白を表す値であるのかを判定する。塗り潰しを表す値である場合には、中間フォントデータ生成手段は、当該スポットに対応する中間フォントデータ記憶手段のスポットに塗り潰しを表す値を記憶させる。また、当該スポットのデータが空白を表す値である場合には、中間フォントデータ生成手段は、当該スポットの直前の列のスポットのデータと当該スポットのデータとの論理和を求め、当該スポットの直後の列のスポットのデータが塗り潰しを表す値である場合には当該スポットに対応する中間フォントデータ記憶手段のスポットに空白を表す値を記憶させる。一方、当該スポットの直後の列のスポットのデータが空白を表す値である場合には、中間フォントデータ生成手段は、当該スポットに対応する中間フォントデータ記憶手段のスポットに前述の論理和を記憶させる。以上の処理操作により、高密度印字用フォントデータのフォントの線幅を１ドット分だけ列方向に増長させたデータが中間フォントデータ記憶手段に更新して記憶されることになる。
前述した通り、高密度印字用フォントデータに含まれる線分や円弧の方向性に関わりなく其の線幅を１ドット分だけ増長させることができ、また、高密度印字用フォントデータの空白部分が不用意に塗り潰されることもなくなるので、特に、線分や円弧が縦横に走る複雑な形状のフォントを高品位で印字することができる。
【００２０】
また、前述の高速印字用フォントデータ生成手段に代えて、中間フォントデータ記憶手段に記憶された中間フォントデータの奇数行偶数列と偶数行奇数列のデータを保持して奇数行奇数列のデータと偶数行偶数列のデータを空白を表す値に書き換える高速印字用フォントデータ生成手段を利用してもよい。
【００２１】
中間フォントデータから１行おきに奇数列のデータを間引き、残りの行について偶数列のデータを間引いた高速印字用フォントデータが生成される点については前述の高速印字用フォントデータ生成手段と同等である。
【００２２】
本発明のドットインパクトプリンタは、前記課題を達成するため、前述した何れかのフォントデータ生成装置を備えたことを特徴とする構成を有する。
【００２３】
このドットインパクトプリンタによれば、２倍速の印字動作と実質的な印字品位の向上が実現される。
【発明の効果】
【００２４】
本発明のフォントデータ生成方法およびフォントデータ生成装置とドットインパクトプリンタは、高密度印字用フォントデータのフォントの線幅を１ドット分だけ増長させて中間フォントデータを生成し、この中間フォントデータから１行おきに奇数列のデータを間引き、残りの行について偶数列のデータを間引いて高速印字用フォントデータを生成するようにしているので、当初の高密度印字用フォントデータにおいて１ドット分の線幅を備えていた細い線分や円弧を高速印字用フォントデータ上で千鳥足配置のドットの繋がりによって表現することができる。この結果、直近するドットの間隔を従来技術による２ドット分の間隔よりも短くすることができ、実質的な印字品位を大幅に向上させることが可能となった。
また、印字ヘッドにおいて隣接するワイヤあるいはスタイラス等の叩打手段を同時に駆動する必要がないので、従来と同様に、２倍速の印字動作が保証される。
従って、従来と同様の高速印字動作を保証した状態で、従来よりも高品位の印字を行うことができる。
【発明を実施するための最良の形態】
【００２５】
次に、本発明を実施するための最良の形態について、図面を参照して詳細に説明する。図１は本発明のフォントデータ生成方法を適用した一実施形態のフォントデータ生成装置１の構成の概略について示した機能ブロック図である。
【００２６】
フォントデータ生成装置１の主要部は、図１に示される通り、高密度印字用フォントデータ２から各スポットのデータを読み込んで中間フォントデータを生成する中間フォントデータ生成手段３と、中間フォントデータ生成手段３で生成された中間フォントデータを一時記憶するための第一中間データ記憶領域４ａと第ニ中間データ記憶領域４ｂを備えた中間フォントデータ記憶手段４、および、中間フォントデータ記憶手段４の第ニ中間データ記憶領域４ｂに記憶された中間フォントデータを対象にデータの間引き処理を行って高速印字用フォントデータを生成する高速印字用フォントデータ生成手段５によって構成される。
【００２７】
出力用フォントデータ記憶手段６は、高速印字用フォントデータ生成手段５で生成された高速印字用フォントデータを一時記憶するための記憶手段であり、フォントデータ出力手段７は、出力用フォントデータ記憶手段６に一時記憶された高速印字用フォントデータを高密度印字用フォントデータ２に代えてドットインパクトプリンタの印字ヘッド８に出力するための出力手段である。
【００２８】
フォントデータ出力手段７は、ドットインパクトプリンタが高密度印字モードに設定されている場合には、高密度印字用フォントデータ２を其のまま印字ヘッド８に出力し、また、ドットインパクトプリンタが２倍速の高速印字モードに設定されている場合には、高密度印字用フォントデータ２に代えて出力用フォントデータ記憶手段６の高速印字用フォントデータを印字ヘッド８に出力するようになっている。
【００２９】
高密度印字モードと高速印字モードが選択可能なドットインパクトプリンタの構成に関しては既に公知であるので具体的な説明を省略する。
【００３０】
高密度印字用フォントデータ２は、ドットインパクトプリンタに実装されたＲＯＭ等の不揮発性記憶手段９（以下、単にＲＯＭ９と称する）に格納されており、中間フォントデータ記憶手段４および出力用フォントデータ記憶手段６は、ドットインパクトプリンタに実装されたＲＡＭ等の揮発性記憶手段１０（以下、単にＲＡＭ１０と称する）によって構成されている。
【００３１】
また、中間フォントデータ生成手段３，高速印字用フォントデータ生成手段５，フォントデータ出力手段７の各々は、ドットインパクトプリンタに実装されたマイクロプロセッサ１１（以下、単にＣＰＵ１１と称する）を機能実現手段として構成されるもので、ＣＰＵ１１を中間フォントデータ生成手段３，高速印字用フォントデータ生成手段５，フォントデータ出力手段７等として機能させるための制御プログラムは予めＲＯＭ９に格納されている。
【００３２】
ＲＯＭ９に格納された高密度印字用フォントデータ２の一例を図３の概念図に示す。高密度印字用フォントデータ２はドットインパクトプリンタによって高密度印字を行うことを目的としてデザインされたもので、精細なフォントを表現するためのデータがドットマトリクス状に記憶されている。図３の例ではＩ行Ｊ列のドットマトリクスの（ｉ，ｊ）スポットの各々に塗り潰しを表す値「１」（黒丸に相当する値）または空白を表す値「０」（白抜きの丸に相当する値）の何れか一方を記憶させることでフォントを表現する場合を例にとって示している。
【００３３】
ＲＡＭ１０内の記憶領域を利用して形成された中間フォントデータ記憶手段４の第一中間データ記憶領域４ａおよび第ニ中間データ記憶領域４ｂと出力用フォントデータ記憶手段６の構成も、論理的には、図３の高密度印字用フォントデータ２と同等である。
【００３４】
高密度印字用フォントデータ２を使用して高密度印字モードでの印字動作を行った場合、最終的な印字結果であるプリントアウト上でのドット間距離は、印字ヘッド８におけるワイヤあるいはスタイラス等の叩打手段の配設ピッチに依存し、一般的には、１／１８０インチ程度である。
【００３５】
高速印字モードの選択下においてＣＰＵ１１を中間フォントデータ生成手段３および高速印字用フォントデータ生成手段５として機能させるための制御プログラムの概略を図２のフローチャートに示す。
【００３６】
次に、図２のフローチャートと図３の概念図および図４〜図６の作用原理図を参照して、中間フォントデータ生成手段３および高速印字用フォントデータ生成手段５として機能するＣＰＵ１１の処理動作と本実施形態のフォントデータ生成方法について具体的に説明する。
【００３７】
パーソナルコンピュータ等を始めとする上位装置から特定のフォントを指定した印字指令を受けると、ＣＰＵ１１は、まず、行方向処理完了フラグＦ，行方向位置指定指標ｉ，列方向位置指定指標ｊの値を０に初期化し（ステップＳ１〜ステップＳ３）、行方向位置指定指標ｉの値を１インクリメントして（ステップＳ４）、該指標ｉの現在値が高密度印字用フォントデータ２のドットマトリクスの行数Ｉを超えているか否かを判定する（ステップＳ５）。
【００３８】
行方向位置指定指標ｉの現在値が高密度印字用フォントデータ２のドットマトリクスの行数Ｉを超えていなければ、ＣＰＵ１１は、更に、列方向位置指定指標ｊの値を１インクリメントし（ステップＳ９）、該指標ｊの現在値が高密度印字用フォントデータ２のドットマトリクスの列数Ｊを超えているか否かを判定する（ステップＳ１０）。
【００３９】
そして、列方向位置指定指標ｊの現在値が高密度印字用フォントデータ２のドットマトリクスの列数Ｊを超えていなければ、中間フォントデータ生成手段３として機能するＣＰＵ１１が、指標ｉ，ｊの現在値に基づいて高密度印字用フォントデータ２の（ｉ，ｊ）スポットのデータを読み込み（ステップＳ１１）、このデータが塗り潰しを表す値「１」であるか否かを判定する（ステップＳ１２）。
【００４０】
高密度印字用フォントデータ２の（ｉ，ｊ）スポットのデータが塗り潰しを表す値「１」であった場合には、中間フォントデータ生成手段３として機能するＣＰＵ１１は、高密度印字用フォントデータ２の（ｉ，ｊ）スポットに対応する中間フォントデータ記憶手段４の第一中間データ記憶領域４ａの（ｉ，ｊ）スポットにデータの塗り潰しを表す値「１」を其のまま記憶させる（ステップＳ２４）。
【００４１】
また、高密度印字用フォントデータ２の（ｉ，ｊ）スポットのデータが空白を表す値「０」であった場合には、ＣＰＵ１１は、行方向処理完了フラグＦの値が０であるか否か、つまり、行方向に隣接するスポット間で論理和を求めるための処理を行うべきであるのか列方向に隣接するスポット間で論理和を求めるための処理を行うべきであるのかを判定する（ステップＳ１３）。
【００４２】
現時点では行方向処理完了フラグＦの値は０であり、行方向に隣接するスポット間で論理和を求めるための処理を行う必要があるので、中間フォントデータ生成手段３として機能するＣＰＵ１１は、指標ｉ，ｊの現在値に基づいて高密度印字用フォントデータ２の（ｉ−１，ｊ）スポットのデータ、つまり、現時点で着目している（ｉ，ｊ）スポットのデータを基準として直前の行のスポットである（ｉ−１，ｊ）スポットのデータを読み（ステップＳ１４）、高密度印字用フォントデータ２における（ｉ，ｊ）スポットのデータと（ｉ−１，ｊ）スポットのデータの論理和Ｘを求めて一時記憶する（ステップＳ１５）。
但し、（ｉ−１，ｊ）スポットの定義においてｉ−１の値が０となる場合、要するに、行方向位置指定指標ｉの現在値が１であって、指標ｉ，ｊの現在値に従って高密度印字用フォントデータ２の第１行に位置するスポットのデータが読み出されている場合には、第０行のデータというものは存在せず、此れを読み出すことはできない。ｉ−１の値が０となる場合には、（ｉ−１，ｊ）スポットのデータとして空白を表す値「０」が読み出されたものとして、ステップＳ１５の処理を実行する。
【００４３】
次いで、中間フォントデータ生成手段３として機能するＣＰＵ１１は、指標ｉ，ｊの現在値に基づいて高密度印字用フォントデータ２の（ｉ＋１，ｊ）スポットのデータ、つまり、現時点で着目している（ｉ，ｊ）スポットのデータを基準として直後の行のスポットである（ｉ＋１，ｊ）スポットのデータを読み込み（ステップＳ１６）、このデータが塗り潰しを表す値「１」であるか否かを判定する（ステップＳ１７）。
【００４４】
ここで、（ｉ＋１，ｊ）スポットのデータが塗り潰しを表す値「１」であれば、中間フォントデータ生成手段３として機能するＣＰＵ１１は、高密度印字用フォントデータ２の（ｉ，ｊ）スポットに対応する中間フォントデータ記憶手段４の第一中間データ記憶領域４ａの（ｉ，ｊ）スポットに空白を表す値「０」を無条件に記憶させる（ステップＳ１８）。
【００４５】
また、（ｉ＋１，ｊ）スポットのデータが空白を表す値「０」であった場合には、中間フォントデータ生成手段３として機能するＣＰＵ１１は、高密度印字用フォントデータ２の（ｉ，ｊ）スポットに対応する中間フォントデータ記憶手段４の第一中間データ記憶領域４ａの（ｉ，ｊ）スポットにステップＳ１５の処理で求められた論理和Ｘの値を記憶させる（ステップＳ１９）。
【００４６】
このようにしてステップＳ２４，ステップＳ１９，ステップＳ１８の何れかの処理を実行し、中間フォントデータ記憶手段４の第一中間データ記憶領域４ａの（ｉ，ｊ）スポットに塗り潰しを表す値「１」もしくは空白を表す値「０」を記憶させた後、中間フォントデータ生成手段３として機能するＣＰＵ１１は、列方向位置指定指標ｊの値を改めて１インクリメントし（ステップＳ９）、該指標ｊの現在値が高密度印字用フォントデータ２のドットマトリクスの列数Ｊを超えているか否かを判定する（ステップＳ１０）。
【００４７】
そして、列方向位置指定指標ｊの現在値が高密度印字用フォントデータ２のドットマトリクスの列数Ｊを超えていなければ、中間フォントデータ生成手段３として機能するＣＰＵ１１は、前記と同様にして、ステップＳ１１〜ステップＳ１９，テップＳ２４のループ処理とステップＳ９の歩進処理およびステップＳ１０の比較処理を繰り返し実行する。
【００４８】
列方向位置指定指標ｊの値が高密度印字用フォントデータ２のドットマトリクスの列数Ｊと一致するまで前記と同様の処理を繰り返し実行することで、高密度印字用フォントデータ２の第ｉ行の全てのスポットに対して処理が行われ、中間フォントデータ記憶手段４の第一中間データ記憶領域４ａの第ｉ行の全てのスポットに「１」もしくは「０」のデータが記憶されることになる。
【００４９】
このようにして処理を繰り返す間に、列方向位置指定指標ｊの現在値が高密度印字用フォントデータ２のドットマトリクスの列数Ｊを超えたことがステップＳ１０の判定処理で確認されると、ＣＰＵ１１は、列方向位置指定指標ｊの値を改めて０に初期化し（ステップＳ３）、行方向位置指定指標ｉの値を１インクリメントして（ステップＳ４）、該指標ｉの現在値が高密度印字用フォントデータ２のドットマトリクスの行数Ｉを超えているか否かを判定する（ステップＳ５）。
【００５０】
そして、行方向位置指定指標ｉの現在値が高密度印字用フォントデータ２のドットマトリクスの行数Ｉを超えていなければ、中間フォントデータ生成手段３として機能するＣＰＵ１１は、前記と同様にして、ステップＳ９〜ステップＳ１９，ステップＳ２４のループ処理とステップ３の初期化処理およびステップＳ４の歩進処理とステップＳ５の比較処理を繰り返し実行する。
【００５１】
行方向位置指定指標ｉの値が高密度印字用フォントデータ２のドットマトリクスの行数Ｉと一致するまで前記と同様の処理を繰り返し実行することで、高密度印字用フォントデータ２の全ての行の全てのスポットに対して処理が行われ、中間フォントデータ記憶手段４の第一中間データ記憶領域４ａの全ての行の全てのスポットに「１」もしくは「０」のデータが記憶される。
【００５２】
図３に示した高密度印字用フォントデータ２に対して上述の処理を施した結果を図４に示す。図４に示される結果は第一中間データ記憶領域４ａのデータ内容と同一である。
【００５３】
図３と図４を比較すれば明らかなように、上述の処理によって、まず、高密度印字用フォントデータ２のフォントの線幅を１ドット分だけ行方向（図４中の矢印ｉの方向）に増長させたデータが第一中間データ記憶領域４ａに記憶されることになる。
【００５４】
このようにして処理を繰り返す間に、行方向位置指定指標ｉの現在値が高密度印字用フォントデータ２のドットマトリクスの行数Ｉを超えたことがステップＳ５の判定処理で確認されると、ＣＰＵ１１は、行方向処理完了フラグＦの値が０であるか否かを判定する（ステップＳ６）。
【００５５】
行方向に隣接するスポット間で論理和を求めるための処理が完了した直後の現時点ではフラグＦの値は初期値０に保持されているので、ステップＳ６の判定結果は真となる。
【００５６】
従って、ＣＰＵ１１は、行方向処理完了フラグＦに１をセットすることによって行方向に隣接するスポット間で論理和を求めるための処理が完了したことを記憶し（ステップＳ７）、改めて、列方向に隣接するスポット間で論理和を求めるための処理を開始する。
【００５７】
また、この時点でデータの読み込み先が高密度印字用フォントデータ２から中間フォントデータ記憶手段４の第一中間データ記憶領域４ａに切り替えられ、併せて、データの記憶先が第一中間データ記憶領域４ａから第ニ中間データ記憶領域４ｂに切り替えられる。
【００５８】
列方向に隣接するスポット間で論理和を求めるための処理を開始したＣＰＵ１１は、まず、行方向位置指定指標ｉ，列方向位置指定指標ｊの値を０に初期化し（ステップＳ２，ステップＳ３）、行方向位置指定指標ｉの値を１インクリメントして（ステップＳ４）、該指標ｉの現在値が第一中間データ記憶領域４ａのドットマトリクスの行数Ｉを超えているか否かを判定する（ステップＳ５）。前述した通り高密度印字用フォントデータ２，第一中間データ記憶領域４ａ，第ニ中間データ記憶領域４ｂの配列に関わる論理構造は同一であり、何れもＩ行Ｊ列のデータスポットを備えている。
【００５９】
行方向位置指定指標ｉの現在値が第一中間データ記憶領域４ａのドットマトリクスの行数Ｉを超えていなければ、ＣＰＵ１１は、更に、列方向位置指定指標ｊの値を１インクリメントし（ステップＳ９）、該指標ｊの現在値が第一中間データ記憶領域４ａのドットマトリクスの列数Ｊを超えているか否かを判定する（ステップＳ１０）。
【００６０】
そして、列方向位置指定指標ｊの現在値が第一中間データ記憶領域４ａのドットマトリクスの列数Ｊを超えていなければ、中間フォントデータ生成手段３として機能するＣＰＵ１１が、指標ｉ，ｊの現在値に基づいて第一中間データ記憶領域４ａの（ｉ，ｊ）スポットのデータを読み込み（ステップＳ１１）、このデータが塗り潰しを表す値「１」であるか否かを判定する（ステップＳ１２）。
【００６１】
第一中間データ記憶領域４ａの（ｉ，ｊ）スポットのデータが塗り潰しを表す値「１」であった場合には、中間フォントデータ生成手段３として機能するＣＰＵ１１は、第一中間データ記憶領域４ａの（ｉ，ｊ）スポットに対応する第二中間データ記憶領域４ｂの（ｉ，ｊ）スポットにデータの塗り潰しを表す値「１」を其のまま記憶させる（ステップＳ２４）。
【００６２】
また、第一中間データ記憶領域４ａの（ｉ，ｊ）スポットのデータが空白を表す値「０」であった場合には、ＣＰＵ１１は、行方向処理完了フラグＦの値が０であるか否か、つまり、行方向に隣接するスポット間で論理和を求めるための処理を行うべきであるのか列方向に隣接するスポット間で論理和を求めるための処理を行うべきであるのかを判定する（ステップＳ１３）。
【００６３】
現時点では行方向処理完了フラグＦの値は１であり、列方向に隣接するスポット間で論理和を求めるための処理を行う必要があるので、中間フォントデータ生成手段３として機能するＣＰＵ１１は、指標ｉ，ｊの現在値に基づいて第一中間データ記憶領域４ａの（ｉ，ｊ−１）スポットのデータ、つまり、現時点で着目している（ｉ，ｊ）スポットのデータを基準として直前の列のスポットである（ｉ，ｊ−１）スポットのデータを読み（ステップＳ２０）、第一中間データ記憶領域４ａにおける（ｉ，ｊ）スポットのデータと（ｉ，ｊ−１）スポットのデータの論理和Ｘを求めて一時記憶する（ステップＳ２１）。
但し、（ｉ，ｊ−１）スポットの定義においてｊ−１の値が０となる場合、要するに、列方向位置指定指標ｊの現在値が１であって、指標ｉ，ｊの現在値に従って第一中間データ記憶領域４ａの第１列に位置するスポットのデータが読み出されている場合には、第０列のデータというものは存在せず、此れを読み出すことはできない。ｊ−１の値が０となる場合には、（ｉ，ｊ−１）スポットのデータとして空白を表す値「０」が読み出されたものとして、ステップＳ２１の処理を実行する。
【００６４】
次いで、中間フォントデータ生成手段３として機能するＣＰＵ１１は、指標ｉ，ｊの現在値に基づいて第一中間データ記憶領域４ａの（ｉ，ｊ＋１）スポットのデータ、つまり、現時点で着目している（ｉ，ｊ）スポットのデータを基準として直後の列のスポットである（ｉ，ｊ＋１）スポットのデータを読み込み（ステップＳ２２）、このデータが塗り潰しを表す値「１」であるか否かを判定する（ステップＳ２３）。
【００６５】
ここで、（ｉ，ｊ＋１）スポットのデータが塗り潰しを表す値「１」であれば、中間フォントデータ生成手段３として機能するＣＰＵ１１は、第一中間データ記憶領域４ａの（ｉ，ｊ）スポットに対応する第ニ中間データ記憶領域４ｂの（ｉ，ｊ）スポットに空白を表す値「０」を無条件に記憶させる（ステップＳ１８）。
【００６６】
また、（ｉ，ｊ＋１）スポットのデータが空白を表す値「０」であった場合には、中間フォントデータ生成手段３として機能するＣＰＵ１１は、第一中間データ記憶領域４ａの（ｉ，ｊ）スポットに対応する第ニ中間データ記憶領域４ｂの（ｉ，ｊ）スポットにステップＳ２１の処理で求められた論理和Ｘの値を記憶させる（ステップＳ１９）。
【００６７】
このようにしてステップＳ２４，ステップＳ１９，ステップＳ１８の何れかの処理を実行し、中間フォントデータ記憶手段４の第ニ中間データ記憶領域４ｂの（ｉ，ｊ）スポットに塗り潰しを表す値「１」もしくは空白を表す値「０」を記憶させた後、中間フォントデータ生成手段３として機能するＣＰＵ１１は、列方向位置指定指標ｊの値を改めて１インクリメントし（ステップＳ９）、該指標ｊの現在値が第一中間データ記憶領域４ａのドットマトリクスの列数Ｊを超えているか否かを判定する（ステップＳ１０）。
【００６８】
そして、列方向位置指定指標ｊの現在値が第一中間データ記憶領域４ａのドットマトリクスの列数Ｊを超えていなければ、中間フォントデータ生成手段３として機能するＣＰＵ１１は、前記と同様にして、ステップＳ１１〜ステップＳ１９，テップＳ２４のループ処理とステップＳ９の歩進処理およびステップＳ１０の比較処理を繰り返し実行する。
【００６９】
列方向位置指定指標ｊの値が第一中間データ記憶領域４ａのドットマトリクスの列数Ｊと一致するまで前記と同様の処理を繰り返し実行することで、第一中間データ記憶領域４ａの第ｉ行の全てのスポットに対して処理が行われ、第ニ中間データ記憶領域４ｂの第ｉ行の全てのスポットに「１」もしくは「０」のデータが記憶されることになる。
【００７０】
このようにして処理を繰り返す間に、列方向位置指定指標ｊの現在値が第一中間データ記憶領域４ａのドットマトリクスの列数Ｊを超えたことがステップＳ１０の判定処理で確認されると、ＣＰＵ１１は、列方向位置指定指標ｊの値を改めて０に初期化し（ステップＳ３）、行方向位置指定指標ｉの値を１インクリメントして（ステップＳ４）、該指標ｉの現在値が第一中間データ記憶領域４ａのドットマトリクスの行数Ｉを超えているか否かを判定する（ステップＳ５）。
【００７１】
そして、行方向位置指定指標ｉの現在値が第一中間データ記憶領域４ａのドットマトリクスの行数Ｉを超えていなければ、中間フォントデータ生成手段３として機能するＣＰＵ１１は、前記と同様にして、ステップＳ９〜ステップＳ１９，ステップＳ２４のループ処理とステップ３の初期化処理およびステップＳ４の歩進処理とステップＳ５の比較処理を繰り返し実行する。
【００７２】
行方向位置指定指標ｉの値が第一中間データ記憶領域４ａのドットマトリクスの行数Ｉと一致するまで前記と同様の処理を繰り返し実行することで、第一中間データ記憶領域４ａの全ての行の全てのスポットに対して処理が行われ、第ニ中間データ記憶領域４ｂの全ての行の全てのスポットに「１」もしくは「０」のデータが記憶される。
【００７３】
図４に示した第一中間データ記憶領域４ａのデータに対して上述の処理を施した結果を図５に示す。図５に示される結果は第ニ中間データ記憶領域４ｂのデータ内容と同一である。
【００７４】
図４と図５を比較すれば明らかなように、上述の処理によって、高密度印字用フォントデータ２のフォントの線幅を１ドット分だけ列方向（図５中の矢印ｊの方向）に増長させたデータが第ニ中間データ記憶領域４ｂに記憶されることになる。
【００７５】
このようにして処理を繰り返す間に、行方向位置指定指標ｉの現在値が第一中間データ記憶領域４ａのドットマトリクスの行数Ｉを超えたことがステップＳ５の判定処理で確認されると、ＣＰＵ１１は、行方向処理完了フラグＦの値が０であるか否かを判定する（ステップＳ６）。
【００７６】
列方向に隣接するスポット間で論理和を求めるための処理が完了した現時点ではフラグＦの値は既に１となっているので、ステップＳ６の判定結果は偽となる。
【００７７】
従って、高速印字用フォントデータ生成手段５として機能ＣＰＵ１１は、中間フォントデータ記憶手段４の第ニ中間データ記憶領域４ｂに記憶された中間フォントデータの奇数行奇数列と偶数行偶数列のデータを保持して奇数行偶数列のデータと偶数行奇数列のデータを空白を表す値「０」に書き換えることでデータの間引き処理を行って高速印字用フォントデータを生成し、高速印字用フォントデータを出力用フォントデータ記憶手段６に一時記憶させて（ステップＳ８）、一文字分のフォントに対する高速印字用フォントデータの生成処理を終える。
【００７８】
この間引き処理は、具体的には、第ニ中間データ記憶領域４ｂに記憶された中間フォントデータの奇数行のデータに対してＡＡ・・・ｈ（１０１０１０１０・・・ｂ）との論理積を求める処理を行って其の結果を当該行のデータとして出力用フォントデータ記憶手段６に書き込み、第ニ中間データ記憶領域４ｂに記憶された中間フォントデータの偶数行のデータに対して５５・・・ｈ（０１０１０１０１・・・ｂ）との論理積を求める処理を行って其の結果を当該行のデータとして出力用フォントデータ記憶手段６に書き込むことによって容易に実現され得る。
【００７９】
なお、第ニ中間データ記憶領域４ｂに記憶された中間フォントデータの奇数行偶数列と偶数行奇数列のデータを保持して奇数行偶数列のデータと偶数行奇数列のデータを空白を表す値「０」に書き換えることでデータの間引き処理を行ってもよく、その場合は、第ニ中間データ記憶領域４ｂに記憶された中間フォントデータの奇数行のデータに対して５５・・・ｈ（０１０１０１０１・・・ｂ）との論理積を求め、第ニ中間データ記憶領域４ｂに記憶された中間フォントデータの偶数行のデータに対してＡＡ・・・ｈ（１０１０１０１０・・・ｂ）との論理積を求めることになる。
【００８０】
図５に示した第ニ中間データ記憶領域４ｂのデータに対して上述の処理を施した結果を図６に示す。図６に示される結果は出力用フォントデータ記憶手段６のデータ内容と同一である。
【００８１】
図６および図３から明らかなように、図３に示されるような当初の高密度印字用フォントデータ２において１ドット分の線幅を備えていた細い線分や円弧は、図６の高速印字用フォントデータにおいては千鳥足状に配置されたドットの繋がりによって表現されることになる。この際、直近するドットの間隔は、行方向のドット間隔をａ，列方向のドット間隔をｂとして（ａ２＋ｂ２）１／２となり、通常、ａ＝ｂ＝１ドット間隔であることから最終的なドット間隔は√２ドット分の間隔となり、従来技術による２ドット分の間隔よりも短くすることができ、実質的な印字品位を向上させることができる。
図７を参照して説明した従来技術では、１ドット分の線幅を備えた細い線分や円弧の線幅を増長させることなく、そのままの状態で奇数行偶数列のデータと偶数行奇数列のデータを間引く処理を行っていたので、１ドット分の線幅を備えた細い線分や円弧は必ず１ドットの塗り潰しと空白の交互の繰り返しによって表現されることになるので、図６に示されるような精細な表現を行うことは不可能である。
図６は作用原理を表すための概念図であり、ドットやドット間の距離を拡大して示しているが、前述した通り、実際のドット間の距離は１／１８０インチといった程度のスケールであるから、このようにしてドットを千鳥足状に配置することで、目に見えるジャギーを生じさせることなく精細な表現を行うことが可能である。
【００８２】
しかも、１行おきに奇数列のデータを間引き、残りの行について偶数列のデータを間引いて高速印字用フォントデータを生成する点に関しては従来と同様であり、ドット間隔自体は行方向および列方向の各々に対して２ドット分の間隔であるから、印字ヘッド８において隣接するワイヤあるいはスタイラス等の叩打手段を同時に駆動する必要はなく、従来と同様に、２倍速の印字動作が保証される。
【００８３】
また、高密度印字用フォントデータ２の線幅を増長させて中間フォントデータを生成する際には、処理対象となっている（ｉ，ｊ）スポットのデータの直後のスポットのデータ、つまり、行方向に線幅を増長させる場合には直後の行に位置する（ｉ＋１，ｊ）スポットのデータ、また、列方向に線幅を増長させる場合には直後の列に位置する（ｉ，ｊ＋１）スポットのデータを参照し、このデータが塗り潰しであるのか空白であるのかを確認した上で、塗り潰しである場合には線幅の増長に関わる処理をスキップして（ｉ，ｊ）スポットのデータに空白を表す値「０」を記憶させるようにしているので、本来空白である部分が不用意に塗り潰されることによって隣接する線分が一体化してしまうといった弊害も未然に防止することができる。
【００８４】
この実施形態では、高密度印字用フォントデータ２の線幅を１ドット分増長させる処理を行方向と列方向に対して行う場合について述べたが、例えば、行方向または列方向の何れか一方に細い線が集中するといったようなフォトの特性によっては、何れか一方の方向性で線幅の増長処理を行えば済む場合もある。
【００８５】
なお、この実施形態では、線分や円弧の方向性や繋がりを格別考慮してはいないので、フォントの線幅のみでなく線長が増長される場合もあるが、その場合であっても線長は１ドット分だけ伸びるに過ぎず、前述した通り、実際のドット間の距離は１／１８０インチ程度であることから、これによって実質的な障害が生じることはない。
【産業上の利用可能性】
【００８６】
この発明は、ドットインパクトプリンタの他、印字ヘッドのハードウェア構成で決まるドット単位でフォント（特殊文字や図柄を含む）を印刷する各種の印字装置、例えば、インクジェット式のプリンタ等にも応用することができる。
【図面の簡単な説明】
【００８７】
【図１】本発明を適用した一実施形態のフォントデータ生成装置の構成の概略について示した機能ブロック図である。
【図２】ドットインパクトプリンタに実装されたマイクロプロセッサを中間フォントデータ生成手段および高速印字用フォントデータ生成手段として機能させるための制御プログラムの概略を示したフローチャートである。
【図３】高密度印字用フォントデータの一例を示した概念図である。
【図４】中間フォントデータ生成手段によって行われる行方向の論理演算の結果を簡略化して示した作用原理図である。
【図５】中間フォントデータ生成手段によって行われる列方向の論理演算の結果を簡略化して示した作用原理図である。
【図６】高速印字用フォントデータ生成手段によって行われるデータの間引き処理の結果を簡略化して示した作用原理図である。
【図７】従来の間引き編集を適用して生成した高速印字用フォントデータを例示した概念図である。
【符号の説明】
【００８８】
１  フォントデータ生成装置
２  高密度印字用フォントデータ
３  中間フォントデータ生成手段
４  中間フォントデータ記憶手段
４ａ  第一中間データ記憶領域
４ｂ  第ニ中間データ記憶領域
５  高速印字用フォントデータ生成手段
６  出力用フォントデータ記憶手段
７  フォントデータ出力手段
８  印字ヘッド
９  不揮発性記憶手段（ＲＯＭ）
１０  揮発性記憶手段（ＲＡＭ）
１１  マイクロプロセッサ（ＣＰＵ）
Ｆ  行方向処理完了フラグ
ｉ  行方向位置指定指標
ｊ  列方向位置指定指標
Ｉ  ドットマトリクスの行数
Ｊ  ドットマトリクスの列数
Ｘ  論理和
【図１】
0004463176.tif 000002
【図２】
0004463176.tif 000003
【図３】
0004463176.tif 000004
【図４】
0004463176.tif 000005
【図５】
0004463176.tif 000006
【図６】
0004463176.tif 000007
【図７】
0004463176.tif 000008