(57)【特許請求の範囲】
【請求項１】
文字コードデータを印刷するために文字画像データに変換する際に用いるフォントファイルを格納したフォントメモリを備えるプリンタであって、
アウトラインフォントの字形データを、全角漢字，全角非漢字，半角の欧文字，数字などのフォントの種類に応じて大分類したフォントセットを構成し、その各フォントの種類ごとに各字形データ（ＧＹ）、およびフォントの種類に応じた固有の文字高（ＣＨ），文字幅（ＣＷ），ならびにベースラインからアンダラインまでの距離（ＢＵ）の各データをテーブル（ＨＤ−ＴＢＬ）として構成したフォントファイルを格納したフォントメモリを備えるプリンタ。
【請求項２】
請求項１記載のプリンタにおいて、前記フォントファイルに、前記フォントセットごとにヒント処理の有効文字サイズの上限データをテーブルとして持っているフォントファイルを格納したフォントメモリを備えるプリンタ。
【請求項３】
請求項１又は２記載のプリンタにおいて、前記フォントファイルに、文字高（ＣＨ）及びベースラインからアンダラインまでの距離（ＢＵ）を計算するときのしきい値を解像度単位に設定したテーブルを持っているフォントファイルを格納したフォントメモリを備えるプリンタ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、文字コードデータを印刷するために文字画像データに変換する際に用いるフォントファイルを格納したフォントメモリを備えるプリンタに関する。
【０００２】
【従来の技術】
従来のレーザプリンタ等の各種プリンタにおいて、文字コードデータを印刷するために文字画像データに変換する際に用いるフォントファイルとしては、主にビットマップフォントが使用されていた。
このビッマップフォントはデータ量がかなり多いので、複数のフォントを持つ場合は極めて大きなメモリ容量が必要になり、不経済であった。
【０００３】
そこで、データ量を少なくしたアウトラインフォントが開発されたが、その場合であっても、文字コードデータを作成するパーソナルコンピュータやワードプロセッサ等のホストマシンの機種ごと（エミュレーションごと）に、さらにプリンタ等の出力装置の解像度ごとにフォントセットを持っていた。
【０００４】
一般に、ホストマシンからの文字を印刷する情報として、文字コード，レイアウト位置，書体番号，サイズ（Ｈ）の情報が流れてくる。また、プリンタシステム自体ではエンジンの解像度の情報がある。
そして、プリンタシステムでその印刷情報を文字画像データに変換するためのフォントファイルとして、各フォント毎に使用する全ての文字について、表１に示すように、文字高ＣＨ，ベースラインからアンダーラインまでの距離ＢＵ，ベースライン位置ＢＳ，文字幅ＣＷ，及び字形（グリフ）ＧＹの情報からなるフォントデータを一本化したファイルに記録して持っていた。
このフォンドデータの各情報は図６に示すような意味を持つ。
【０００５】
【表１】
0003574716.tif 000002
【０００６】
【発明が解決しようとする課題】
ところで、パーソナルコンピュータやワードプロセッサ等のホストマシンに接続されるプリンタは、一般に３００ｄｐｉから、６００ｄｐｉ程度の解像度であったので、高度な印刷機（１２００ｄｐｉ以上）とは別に固有な印刷規則を設けて、用途も別にしていた。
例えば、文字を並べるにしても、従来は単なる字形を正方形の枠に納めて並べる程度なので、ユーザ向けパンフレットや製本などの用途にはそのまま使うことはできなかった。
【０００７】
しかし、近年プリンタの解像度は１２００ｄｐｉに近づいており、ワープロやパソコンにも高速なプロセッサが採用されているので、印刷機と同等のことができるようになってきた。
ところが、プリンタシステムで持つフォントは、前述のように使用する書体（フォントセット）の文字をすべて一本化したファイルに記録しているので、文字幅や文字高は均一な値であった。
【０００８】
また、印刷するときに一行中に何文字並んでいても、各行末の文字位置を揃えるようにする技術が、特開昭５８−７６９４０号公報に見られる。しかしながら、これは簡易新聞や社内レポートなどのように手軽さが求められる場合には向いているが、本格的な印刷を行なう場合に向いていない。
なぜなら、印刷機のような高度な印刷を行うには、文字単位に微妙な制御が必要になるが、それができないからである。
【０００９】
この発明は、このような現状に鑑みてなされたものであり、レーザプリンタ等のプリンタで高度な印刷を実現するため、文字単位の微妙な制御を行なうことを可能にするフォントファイルを格納したフォントメモリを備えるプリンタを提供することを目的とする。
【００１０】
【課題を解決するための手段】
この発明によるプリンタは上記の目的を達成するため、文字コードデータを印刷するために文字画像データに変換する際に用いるフォントファイルを次のように構成して格納したフォントメモリを備えるものである。
すなわち、アウトラインフォントの字形データを、全角漢字，全角非漢字，半角の欧文字，数字などのフォントの種類に応じて大分類したフォントセットを構成し、その各フォントの種類ごとに各字形データ（ＧＹ）、およびフォントの種類に応じた固有の文字高（ＣＨ），文字幅（ＣＷ），ならびにベースラインからアンダラインまでの距離（ＢＵ）の各データをテーブル（ＨＤ−ＴＢＬ）として構成する。
【００１１】
このように各フォントセットに対し、フォントの種類（字形の特徴）ごとにその種類に応じた固有の文字高および文字幅等のデータをテーブルとして持つことにより、高度な印刷に必要な、文字単位の微妙な制御を行えるようになる。
【００１２】
また、上記フォントメモリに格納するファントファイルは、上記フォントセットごとに、ヒント処理の有効文字サイズの上限データをテーブルとして持つとよい。
これによって、印刷時にプロセッサ（ＣＰＵ）に大きな負荷をかけるヒント処理を、効率的に行うことができるようになる。
【００１３】
さらに、文字高（ＣＨ）及びベースラインからアンダラインまでの距離（ＢＵ）を計算するときのしきい値を解像度単位に設定したテーブルを持つとよい。
これによって、低解像度の時にも文字並びを美しく保つことができる。
【００１４】
【発明の実施の形態】
以下、この発明の実施の形態を図面に基づいて説明する。
この発明によるフォントファイルは、アウトラインフォントの字形データを、図１に示すようにフォントの種類（字形の特徴）に応じて大分類したフォントセットを構成する。
【００１５】
すなわち、全角漢字（第一水準），全角非漢字（かな），半角ＡＮＳ（Ａｌｐｈａｂｅｔ：アルファベット，Ｎｕｍｅｒｉｃ：数字，Ｓｉｇｎ：記号の頭文字）の欧文字，半角ＡＮＳの数字，全角非漢字（欧文字）に分類し、その各フォントの種類ごとに字形（グリフ）データの他に、それぞれ各フォントの種類に応じた固有の文字高（ＣＨ），文字幅（ＣＷ），およびベースラインからアンダラインまでの距離（ＢＵ）を第１のテーブル（ＨＤ−ＴＢＬ）として定義する。
【００１６】
これをフォントファイルとして、プリンタが備えるフォントメモリ（ＲＯＭ又はＲＡＭ）に格納する。
これらの各データの意味は、図６に示したのと同じである。但し、図１ではこれらの各データがフォントの種類によって異なることを添え字（０，１）の違いで表している。
図２及び図３には、この分類するフォントの種類ごとの字形の例とその他の情報の具体例を示す。
このように、字形（グリフ）の特徴により分類したフォントファイルを用いることにより、各フォントの種類単位での文字配置の制御が可能になり、美しい文字配置を実現できる。
【００１７】
また、高度な印刷においては、文字設計者が設計した文字を、あらゆるサイズに変形しても万人向けに美しく文字の線幅が揃って見えるように、強制的に線幅を調整する。これをヒント処理と呼ぶ。
しかし、このヒント処理は１ドット単位で黒画素を移動させる技術なので、プリンタの解像度が１２００ｄｐｉ以上であったり、それ以下の解像度でも文字サイズが大きい（２０Ｐ以上）ときは、人間の目では確認できない。そのような場合にはヒント処理を行なっても無駄になる。
【００１８】
しかるに、このヒント処理は文字輪郭の節点ごとに行うため、一般にプロセッサ（ＣＰＵ）に対して大きな負荷になる。
そこで、このようなヒント処理を省くことができる場合には行なわない方が、文字輪郭を高速で生成することができる。
【００１９】
そのため、ヒント処理の有効サイズの上限データをフォントセットごとに第２のテーブル（ＰＭ−ＴＢＬ）に保持しておき、効率的な印刷処理ができるようにする。この第２のテーブル（ＰＭ−ＴＢＬ）の構成例を表２に示し、そのＨ０〜Ｈｉ  とＶ０〜Ｖｉ（ｉ＝１，２，３，…）の意味を図４に示す。
【００２０】
【表２】
0003574716.tif 000003
【００２１】
さらに、プリンタ解像度が小さいときに補正すべき文字の水平方向又は垂直方向の線幅を変えたりすると、１ドットの大きさが比較的大きいため、時々幅の違う文字が出て来て違和感が大きく、逆効果になってしまう。また、上記線幅などをサイズからの計算のみによって求めると、元のデータに比例した値しか出てこない。
そこで、このように比例したデータのみでは不都合なとき、文字高（ＣＨ）及びベースラインからアンダラインまでの距離（ＢＵ）を計算するときのしきい値を、解像度単位に設定した第３のテーブル（ＴＨ−ＴＢＬ）を用意し、常に文字の線幅を美しく保つようにする。
【００２２】
この第３のテーブル（ＴＨ−ＴＢＬ）の構成例を下記に示す。
0003574716.tif 000004
【００２３】
実際に印刷するときは、プリンタコントローラ等において図５のフローチャートに示す処理を行なって文字データを生成する。
まず、サイズＨおよびエンジン解像度Ｅに従って、第２のテーブル（ＰＭ−ＴＢＬ）にある補正すべき文字の水平方向および垂直方向の各線幅を示す「Ｖｉ，Ｈｉ」を変倍する。
【００２４】
次に、第１のテーブル（HD-TBL）の字形データ「GYi」も、サイズＨ，エンジン解像度Ｅに従って変倍する。なお、このときの文字サイズをサイズＧとする。
そして、もし第３のテーブル（TH-TBL）の「THi」が「１」なら、文字高（CH）及びベースラインからアンダラインまでの距離（BU）のデータには「CHi，BUi」を用いる。「THi」が「０」であったならば、文字高（CH）及びベースラインからアンダラインまでの距離（BU）のデータを「CH０，BU０」とし、元の字形データGYに対応するデータを用いる。
【００２５】
そして、第３のテーブル（ＴＨ−ＴＢＬ）のＴＨｉが「１」なら、第１のテーブル（ＨＤ−ＴＢＬ）の「ＢＳｉ」から節点の始点を決める。ただし第３のテーブル（ＴＨ−ＴＢＬ）のＴＨｉが「０」なら始点は「ＢＳ０」とする。
そして、サイズＧが第２のテーブル（ＰＭ−ＴＢＬ）の「ＳＩＺＥｐ」より小さく、エンジン解像度Ｅが「ｍａｘ−ｄｐｉ」より小さいときは補正すべき文字の水平方向および垂直方向の各線幅「Ｖｉ，Ｈｉ」を節点座標に補正値として加えながら、文字輪郭を形成する。それ以外の時には、補正を加えない。最後に、文字輪郭を塗りつぶす。
【００２６】
【発明の効果】
以上説明してきたように、この発明によるプリンタは、そのフォントメモリに格納したフォントファイルを使用して、各フォントデータを字形の特徴により分類したフォントの種類ごとに独立した枠単位での文字配置の制御が可能になり、美しい文字配置を実現できる。
また、効率的にヒント処理を行うことも可能である。
さらには、低解像度の時にも文字並びを美しく保つことができる。
【図面の簡単な説明】
【図１】この発明の一実施形態を示すプリンタが備えるフォントメモリに格納するフォントファイルが有するテーブル（ＰＭ−ＴＢＬ）の構成例を示す説明図である。
【図２】図１におけるフォントの種類の例を示す図である。
【図３】図２に示したフォントの種類に対する文字高（ＣＨ）及びベースライン位置（ＢＳ）の例を示す図である。
【図４】第２のテーブル（ＰＭ−ＴＢＬ）におけるＨ０〜Ｈｉ  とＶ０〜Ｖｉ  の意味を示す説明図である。
【図５】この発明によるプリンタがフォントメモリに格納したフォントファイルを使用して印刷時に文字データを作成する処理のフロー図である。
【図６】アウトラインフォントの字形データに対する各種データの説明図である。
【符号の説明】
ＨＤ−ＴＢＬ：第１のテーブル
ＰＭ−ＴＢＬ：第２のテーブル
ＴＨ−ＴＢＬ：第３のテーブル
【図１】
0003574716.tif 000005
【図２】
0003574716.tif 000006
【図３】
0003574716.tif 000007
【図４】
0003574716.tif 000008
【図５】
0003574716.tif 000009
【図６】
0003574716.tif 000010