(57)【要約】【課題】ドットの集合であるビットマップフォントが表現する文字の所望の傾斜線の輪郭により近づけて、拡大したビットマップフォントに生じるジャギをスムージング処理するスムージング処理装置と、そのスムージング処理装置で実行されるスムージング処理方法を提供することを目的とする。【解決手段】文字の所定の傾斜線の傾きに基づいて構成した輪郭ドット列からジャギパターンと置換パターンとを予め形成し、スムージング処理装置がビットマップフォントからジャギパターンと一致するドットパターンを検索して対応する置換パターンで置換する。【選択図】図３
2016186549.tif 000002
【特許請求の範囲】
【請求項１】
文字を表現するビットマップフォントを拡大した拡大ビットマップフォントのジャギをスムージング処理するスムージング処理装置であって、
前記拡大ビットマップフォントの拡大倍率と対応したジャギパターン及び前記ジャギパターンと対応した置換パターンを記憶する記憶部と、
前記拡大倍率に基づいて前記ジャギパターンを選択し、前記拡大ビットマップフォントから前記ジャギパターンと一致するドットパターンを検索するジャギパターン検索部と、
前記ジャギパターン検索部が検出した前記拡大ビットマップフォントの前記ドットパターンを前記置換パターンに置換するジャギパターン置換部と、
を備え、
前記ビットマップフォントは、前記文字に含まれる文字ドットと前記文字に含まれない非文字ドットとで構成され、
前記ジャギパターンは、
前記文字の所定の傾斜線の輪郭を表し前記文字ドットからなる輪郭ドット列と、前記輪郭ドット列との境界を辺とする前記非文字ドットからなる外周ドット列と、を合わせて前記拡大倍率で拡大したドット集合のうち、前記境界を辺とする前記文字ドット及び前記非文字ドットからなる、
ことを特徴とするスムージング処理装置。
【請求項２】
前記輪郭ドット列は、
３つの前記文字ドットからなる第１輪郭ドット列と、４つの前記文字ドットからなる第２輪郭ドット列と、を含み、
前記第１輪郭ドット列の各前記文字ドットは、角で接して並ぶとともに、対角線が同じ直線上にあり、
前記第２輪郭ドット列は、辺で接する２つの前記文字ドットの対が角で接してなるとともに、前記文字の縦方向及び横方向に投影したドットの数の比が１：２又は２：１となる、
ことを特徴とする請求項１に記載のスムージング処理装置。
【請求項３】
前記外周ドット列は、
前記輪郭ドット列の前記文字ドットと角で接し、前記外周ドット列の２つの前記非文字ドットと辺で接する前記非文字ドットをさらに含む、
ことを特徴とする請求項１または２のいずれかに記載のスムージング処理装置。
【請求項４】
前記外周ドット列は、３つの前記非文字ドットからなる第１外周ドット列を含み、
前記第１外周ドット列の各前記非文字ドットは、角で接して並ぶとともに、対角線が同じ直線上にあり、
前記輪郭ドット列は、２つの前記文字ドットからなる第３輪郭ドット列を含み、
前記第３輪郭ドット列の各前記文字ドットは、角で接して並ぶとともに、前記第１外周ドット列との境界を辺とする、
ことを特徴とする請求項１〜３のいずれか１項に記載のスムージング処理装置。
【請求項５】
前記置換パターンは、
前記傾斜線の長手方向に対し平行に向かい合う２つの前記輪郭ドット列から導出される２つの前記ジャギパターンのうち、
一方の前記ジャギパターンから前記文字ドットを削除した削除置換パターンと、
他方の前記ジャギパターンに対し前記文字ドットを追加した追加置換パターンと、
からなる、
ことを特徴とする請求項１〜４のいずれか１項に記載のスムージング処理装置。
【請求項６】
前記ビットマップフォントを拡大するビットマップフォント拡大部と、
前記拡大倍率を素因数分解し、前記拡大倍率と等しい素数の積を構成する各値を導出する素因数分解部と、
をさらに備え、
前記素因数分解部が導出した各値を前記拡大倍率として順次用いて前記スムージング処理を行う、
ことを特徴とする請求項１〜５のいずれか１項に記載のスムージング処理装置。
【請求項７】
前記ジャギパターンは、
前記輪郭ドット列及び前記外周ドット列からなるジャギ候補パターンをさらに含み、
前記記憶部は、
前記ジャギ候補パターン及び前記ジャギ候補パターンと対応した先行置換パターンをさらに記憶し、
前記ビットマップフォントを拡大するビットマップフォント拡大部をさらに備え、
前記スムージング処理に先立って、
前記ジャギパターン検索部は、
拡大前の前記ビットマップフォントから前記ジャギ候補パターンと一致する拡大前ドットパターンを検索し、
前記ジャギパターン置換部は、
拡大後の前記拡大ビットマップフォントにおいて、前記ジャギパターン検索部が検出した前記拡大前ドットパターンと対応したドットパターンを抽出し、前記先行置換パターンで置換する、
ことを特徴とする請求項１〜６のいずれか１項に記載のスムージング処理装置。
【請求項８】
文字を表現するビットマップフォントを拡大した拡大ビットマップフォントのジャギをスムージング処理するスムージング処理方法であって、
前記拡大ビットマップフォントの拡大倍率と対応したジャギパターン及び前記ジャギパターンと対応した置換パターンを記憶する記憶工程と、
前記拡大倍率に基づいて前記ジャギパターンを選択し、前記拡大ビットマップフォントから前記ジャギパターンと一致するドットパターンを検索するジャギパターン検索工程と、
前記ジャギパターン検索工程で検出した前記拡大ビットマップフォントの前記ドットパターンを前記置換パターンに置換するジャギパターン置換工程と、
を有し、
前記ビットマップフォントは、前記文字に含まれる文字ドットと前記文字に含まれない非文字ドットとで構成され、
前記ジャギパターンは、
前記文字の所定の傾斜線の輪郭を表し前記文字ドットからなる輪郭ドット列と、前記輪郭ドット列との境界を辺とする前記非文字ドットからなる外周ドット列と、を合わせて前記拡大倍率で拡大したドット集合のうち、前記境界を辺とする前記文字ドット及び前記非文字ドットからなる、
ことを特徴とするスムージング処理方法。
【請求項９】
前記輪郭ドット列は、
３つの前記文字ドットからなる第１輪郭ドット列と、４つの前記文字ドットからなる第２輪郭ドット列と、を含み、
前記第１輪郭ドット列の各前記文字ドットは、角で接して並ぶとともに、対角線が同じ直線上にあり、
前記第２輪郭ドット列は、辺で接する２つの前記文字ドットの対が角で接してなるとともに、前記文字の縦方向及び横方向に投影したドットの数の比が１：２又は２：１となる、
ことを特徴とする請求項８に記載のスムージング処理方法。
【請求項１０】
前記ビットマップフォントを拡大するビットマップフォント拡大工程と、
前記拡大倍率を素因数分解し、前記拡大倍率と等しい素数の積を構成する各値を導出する素因数分解工程と、
前記素因数分解工程で導出した各値を前記拡大倍率として順次用いて、前記スムージング処理を行う分割スムージング工程と、
をさらに有する、
ことを特徴とする請求項８または９のいずれかに記載のスムージング処理方法。
【請求項１１】
前記ビットマップフォントを拡大するビットマップフォント拡大工程をさらに有し、
前記記憶工程では、ジャギ候補パターン及び前記ジャギ候補パターンと対応した先行置換パターンをさらに記憶し、
前記ジャギパターン検索工程では、拡大前の前記ビットマップフォントから前記ジャギ候補パターンと一致する拡大前ドットパターンを検索し、
前記ジャギパターン置換工程では、拡大後の前記拡大ビットマップフォントにおいて、前記ジャギパターン検索工程で検出した前記拡大前ドットパターンと対応したドットパターンを抽出し、前記先行置換パターンで置換する、
ことを特徴とする請求項８〜１０のいずれか１項に記載のスムージング処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビットマップフォントをスムージング処理するスムージング処理装置及びスムージング処理装置で実行するスムージング方法に関するものである。
【背景技術】
【０００２】
ドットの集合で表される文字をビットマップフォントと呼ぶが、ビットマップフォントの表示サイズを拡大する場合に、例えばｍ画素×ｎ画素の表示サイズのビットマップフォントを２倍に拡大すると、ビットマップフォントの表示サイズは２ｍ画素×２ｎ画素となる。このとき、拡大前のビットマップフォントの１ドットは、拡大後には４ドットに置き換わるため、拡大後のビットマップフォントにおいて、特に傾斜線の輪郭のドット表示は凹凸が大きくなり、ビットマップフォントは全体的に粗く、表す文字が判別し辛く表示される。ここで、ビットマップフォントでは、文字の湾曲線は傾斜線の集合とみなす。このように、ビットマップフォントを拡大したときに生じる凹凸の大きなドット表示をジャギと呼ぶ。そこで、ビットマップフォントのジャギを目立たなくし、表す文字を判別し易く表示するための代表的な従来技術にフィルタリング手法がある。
【０００３】
特許文献１では、ビットマップフォントに対しフィルタリング手法を適用する手法を開示している。この手法では、先ず、拡大前のビットマップフォントの窪みの向きを表す、縦横３×３ドットからなるジャギパターンと、当該ジャギパターンの中心の窪み１ドットを拡大した複数ドットに対し、窪みの向きと対応し窪みを均す１ドットを追加した置換パターンとを予め用意する。そして、拡大前のビットマップフォントからジャギパターンを検出するとともに、ジャギパターンの窪みの向きを判定することで、拡大後のビットマップフォントに対し、検出したジャギパターンの中心の１ドットを、窪みを均した置換パターンで置換することによって、スムージング処理を行う。
【０００４】
また、特許文献２でも同様に、拡大したビットマップフォントに対しフィルタリング手法を適用する技術を開示している。この手法では、拡大したビットマップフォントを構成する複数ドットの縦横比を判定して、この複数ドットに対し、ドットの追加を行うポジティブ補間線又はドットの削除を行うネガティブ補間線を引くことによって、スムージング処理を行う。
【０００５】
また、特許文献３では、拡大したビットマップフォントに対しアウトラインスムージングを行う手法を開示している。この手法では、先ず、ビットマップフォントの輪郭を表す輪郭ドットのうち、始点となる始点ドットを決定する。次に、隣接した２つの輪郭ドットが連なる方向を上下左右の４方向の直交ベクトルで表す処理を、始点ドットから開始してビットマップフォントを周回するまで繰り返すことで、一連の直交ベクトルからなる直交ベクトル行列を導出する。次に、導出した直交ベクトル行列の連続する６ベクトルの変化量に基づいて、斜線化判定テーブルと比較し、斜線と判定される直交ベクトルを斜め４方向のいずれかを示す斜線ベクトルに変換する。これにより、直交ベクトル行列は、上下左右の４方向に斜め４方向を加えた、８方向の斜線ベクトル行列となる。次に、変換した斜線ベクトル行列の連続する６ベクトルの変化量に基づいて、補正テーブルと比較し、ビットマップフォントを構成する各ドットを補正する。このようにして補正したビットマップフォントの輪郭ドットの内側を塗りつぶすことで、アウトラインスムージングを完了する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平４−０６７１９７
【特許文献２】特開平１０−９１１４１
【特許文献３】特開２００１−１０９４５５
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の手法は、ビットマップフォントが表す文字の傾斜線の傾き度合いを考慮しておらず、ビットマップフォントから検出したジャギパターンの窪みの向きを判定し、窪みの向きと対応して一律にドットを置き換えた置換パターンによって、拡大後のビットマップフォントのスムージング処理を行っているため、拡大後のビットマップフォントの窪みを滑らかに表すことは出来ても、スムージング処理を行った部分の傾きは傾斜線の全体的な傾きとは異なってしまう。従って、この手法でスムージング処理を行うと、ビットマップフォントが表す傾斜線の輪郭がうねってしまい、所望の傾斜線の輪郭に十分に近づくことができない虞がある。
【０００８】
本発明は、上述の問題を解決するものであり、ビットマップフォントが表す文字の所望の傾斜線の輪郭により近づけてスムージング処理を行うスムージング処理装置及びそのスムージング処理装置で実行されるスムージング処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、文字を表現するビットマップフォントを拡大した拡大ビットマップフォントのジャギをスムージング処理するスムージング処理装置であって、前記拡大ビットマップフォントの拡大倍率と対応したジャギパターン及び前記ジャギパターンと対応した置換パターンを記憶する記憶部と、前記拡大倍率に基づいて前記ジャギパターンを選択し、前記拡大ビットマップフォントから前記ジャギパターンと一致するドットパターンを検索するジャギパターン検索部と、前記ジャギパターン検索部が検出した前記拡大ビットマップフォントの前記ドットパターンを前記置換パターンに置換するジャギパターン置換部と、を備え、前記ビットマップフォントは、前記文字に含まれる文字ドットと前記文字に含まれない非文字ドットとで構成され、前記ジャギパターンは、前記文字の所定の傾斜線の輪郭を表し前記文字ドットからなる輪郭ドット列と、前記輪郭ドット列との境界を辺とする前記非文字ドットからなる外周ドット列と、を合わせて前記拡大倍率で拡大したドット集合のうち、前記境界を辺とする前記文字ドット及び前記非文字ドットからなる、ことを特徴とするスムージング処理装置である。
【００１０】
また、本発明は、文字を表現するビットマップフォントを拡大した拡大ビットマップフォントのジャギをスムージング処理するスムージング処理方法であって、前記拡大ビットマップフォントの拡大倍率と対応したジャギパターン及び前記ジャギパターンと対応した置換パターンを記憶する記憶工程と、前記拡大倍率に基づいて前記ジャギパターンを選択し、前記拡大ビットマップフォントから前記ジャギパターンと一致するドットパターンを検索するジャギパターン検索工程と、前記ジャギパターン検索工程で検出した前記拡大ビットマップフォントの前記ドットパターンを前記置換パターンに置換するジャギパターン置換工程と、を有し、前記ビットマップフォントは、前記文字に含まれる文字ドットと前記文字に含まれない非文字ドットとで構成され、前記ジャギパターンは、前記文字の所定の傾斜線の輪郭を表し前記文字ドットからなる輪郭ドット列と、前記輪郭ドット列との境界を辺とする前記非文字ドットからなる外周ドット列と、を合わせて前記拡大倍率で拡大したドット集合のうち、前記境界を辺とする前記文字ドット及び前記非文字ドットからなる、ことを特徴とするスムージング処理方法である。
【発明の効果】
【００１１】
本発明によれば、文字の所定の傾斜線の傾きに基づいて構成した輪郭ドット列からジャギパターンを形成し、ジャギパターンと一致するドットパターンをビットマップフォントから検索して、対応する置換パターンで置換することが可能となる。その結果として、表す文字の所望の傾斜線の輪郭により近づけてスムージング処理を行う効果が得られる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態１における、システム構成を示すシステム構成図である。
【図２】スムージング処理装置の機能ブロックを示す機能ブロック図である。
【図３】ビットマップフォントを拡大した拡大ビットマップフォントを示す模式図である。
【図４】ビットマップフォントにおいて４５°及び１３５°近傍の角度の傾斜線を表すドット列を示す模式図である。
【図５】４５°及び１３５°近傍の角度の輪郭ドット列を示す模式図である。
【図６】４５°及び１３５°近傍の角度の別の輪郭ドット列を示す模式図である。
【図７】６０°及び１２０°近傍の角度の輪郭ドット列を示す模式図である。
【図８】２倍に拡大した４５°及び１３５°近傍の角度の輪郭ドット列のジャギパターンを示す模式図である。
【図９】２倍に拡大した６０°及び１２０°近傍の角度の輪郭ドット列のジャギパターンを示す模式図である。
【図１０】２倍に拡大した４５°及び１３５°近傍の角度の輪郭ドット列の置換パターンを示す模式図である。
【図１１】２倍に拡大した６０°及び１２０°近傍の角度の輪郭ドット列の置換パターンを示す模式図である。
【図１２】２倍に拡大した３０°及び１５０°近傍の角度の輪郭ドット列のジャギパターンと置換パターンを示す模式図である。
【図１３】３倍に拡大した４５°及び１３５°近傍の角度の輪郭ドット列のジャギパターンと置換パターンを示す模式図である。
【図１４】３倍に拡大した６０°及び１２０°近傍の角度の輪郭ドット列のジャギパターンと置換パターンを示す模式図である。
【図１５】３倍に拡大した３０°及び１５０°近傍の角度の輪郭ドット列のジャギパターンと置換パターンを示す模式図である。
【図１６】拡大ビットマップフォントのスムージング処理を示すフロー図である。
【図１７】拡大ビットマップフォントの４５°及び１３５°近傍の角度の輪郭ドット列へのスムージング処理を示す模式図である。
【図１８】拡大ビットマップフォントの６０°及び１２０°近傍の角度の輪郭ドット列へのスムージング処理を示す模式図である。
【図１９】スムージング処理後の拡大ビットマップフォントを示す模式図である。
【図２０】実施の形態２における、２倍に拡大した４５°及び１３５°近傍の角度の輪郭ドット列のジャギパターンと置換パターンを示す模式図である。
【図２１】２倍に拡大した６０°及び１２０°近傍の角度の輪郭ドット列のジャギパターンと置換パターンを示す模式図である。
【図２２】２倍に拡大した３０°及び１５０°近傍の角度の輪郭ドット列のジャギパターンと置換パターンを示す模式図である。
【図２３】実施の形態３における、スムージング処理装置の機能ブロックを示す機能ブロック図である。
【図２４】素数倍率を利用した拡大ビットマップフォントのスムージング処理を示すフロー図である。
【図２５】実施の形態４における、スムージング処理装置の機能ブロックを示す機能ブロック図である。
【図２６】拡大前後のビットマップフォントに対しジャギ候補パターン及びジャギパターンを検索するスムージング処理を示すフロー図である。
【図２７】拡大前のビットマップフォントを検索するジャギ候補パターンと拡大後のビットマップフォントを置換する先行置換パターンを示す模式図である。
【発明を実施するための形態】
【００１３】
実施の形態１．
図１は、実施の形態１における、システム構成を示すシステム構成図である。図１のシステムは、スムージング処理装置１０１、インタフェース装置１０２、データ入力装置１０３、データ記憶装置１０４及びデータ出力装置１０５で構成される。
【００１４】
スムージング処理装置１０１は、データ入力装置１０３から入力したビットマップフォントのジャギをスムージング処理しデータ出力装置１０５に対し出力する装置である。スムージング処理装置１０１には、スムージング処理に関する操作情報や設定情報を入出力するためのインタフェース装置１０２が繋がる。
【００１５】
データ入力装置１０３は、スムージング処理装置１０１に対しビットマップフォントを入力する装置である。データ入力装置１０３は、システムが扱う画像データや文字データなどの各種データを記憶したデータ記憶装置１０４からスムージング処理を行うビットマップフォントを抽出しスムージング処理装置１０１に対し入力する。
【００１６】
データ出力装置１０５は、スムージング処理装置１０１がスムージング処理したビットマップフォントを、データ記憶装置１０４が記憶したビットマップフォントの抽出元のデータに合成を行う装置である。ビットマップフォントを合成したデータは、データ記憶装置１０４に記憶しても良いし、例えばディスプレイや図示しない外部装置などに出力しても良い。
【００１７】
図２は、スムージング処理装置１０１の機能ブロックを示す機能ブロック図である。スムージング処理装置１０１は、ビットマップフォント入力部２０１、ビットマップフォント記憶部２０２、ドットパターン記憶部２０３、ジャギパターン検索部２０４、ジャギドット記憶部２０５、ジャギパターン置換部２０６、ビットマップフォント出力部２０７及びスムージング処理制御部２０８で構成される。
【００１８】
ビットマップフォント入力部２０１は、データ入力装置１０３からビットマップフォントを入力する機能部である。ここで入力するビットマップフォントは既に拡大されていても良いし、スムージング処理装置１０１がビットマップフォント拡大部２０９を更に備え、ビットマップフォント入力部２０１が入力するビットマップフォントをビットマップフォント拡大部２０９で拡大しても良い。
【００１９】
ビットマップフォント記憶部２０２は、ビットマップフォント入力部２０１又はビットマップフォント拡大部２０９から拡大後の拡大ビットマップフォントを受けて記憶する機能部である。また、ビットマップフォント記憶部２０２は、拡大ビットマップフォントと併せて、ビットマップフォント入力部２０１、ビットマップフォント拡大部２０９又はインタフェース装置１０２から拡大ビットマップフォントの拡大倍率を受けて記憶する。
【００２０】
ドットパターン記憶部２０３は、拡大ビットマップフォントの拡大倍率と対応した、拡大ビットマップフォントに含まれるジャギを検索するジャギパターンと、ジャギパターンと対応した置換パターンとを予め記憶する機能部である。
【００２１】
ジャギパターン検索部２０４は、ビットマップフォント記憶部２０２に記憶の拡大ビットマップフォントからドットパターン記憶部２０３に記憶のジャギパターンを検索する機能部である。このときの検索に用いるジャギパターンは、拡大ビットマップフォントの拡大倍率と対応するものを選択する。
【００２２】
ジャギドット記憶部２０５は、ジャギパターン検索部２０４が検索した結果を記憶する機能部である。ここでの検索結果とは、ジャギパターンに一致した拡大ビットマップフォントのドットパターンの情報と、検索に用いたジャギパターンとを対応付けた情報である。
【００２３】
ジャギパターン置換部２０６は、ジャギドット記憶部２０５に記憶の検索結果に基づいて、ビットマップフォント記憶部２０２に記憶の拡大ビットマップフォントの一部のドットをドットパターン記憶部２０３に記憶の置換パターンで置換する機能部である。このときの置換パターンは、ドットパターン記憶部２０３に記憶のジャギパターンと対応するものを選択する。
【００２４】
尚、拡大ビットマップフォントのドットを置換する要領に関しては、拡大ビットマップフォントからジャギパターンを検索し、ジャギパターンと一致するドットパターンを検出する都度に当該ドットパターンを置換パターンで置換しても良いし、一通りジャギパターンを検索した後に、検出したドットパターンをまとめて置換パターンで置換しても良い。
【００２５】
ビットマップフォント出力部２０７は、データ出力装置１０５に対し、ビットマップフォント記憶部２０２に記憶のスムージング処理が終了した拡大ビットマップフォントを出力する機能部である。
【００２６】
スムージング処理制御部２０８は、各機能部を管理及び制御して適切にスムージング処理を実行させる機能部である。また、スムージング処理制御部２０８は、外部装置との間で情報の入出力を行い、その情報に基づいて各機能部の管理及び制御を行っても良い。
【００２７】
図３は、ビットマップフォントを拡大した拡大ビットマップフォントを示す模式図である。図３（ａ）は、拡大前のビットマップフォントを示す模式図である。図３（ｂ）は、２倍に拡大した拡大ビットマップフォントを示す模式図である。図３（ｃ）は、３倍に拡大した拡大ビットマップフォントを示す模式図である。
【００２８】
図３（ａ）の各ドットは、図３（ｂ）では縦横方向に２倍した４ドットに変換され、図３（ｃ）では縦横方向に３倍の９ドットに変換されるため、ビットマップフォントを拡大すると、ジャギも拡大されて凹凸が顕著となる。
【００２９】
尚、本発明のドットとは、ビットマップフォントを表示する表示領域を、ビットマップフォントが表現する文字の縦方向及び横方向に格子状に分割した、表示の並びの最小単位を指す。従って、ビットマップフォントを表示する形状は、図３（ａ）〜（ｃ）のような矩形でなくとも、例えば円形などであっても良く、表示の最小単位の並びが図３（ａ）〜（ｃ）のように格子状のものを本発明の対象とする。ここでの矩形とは、正方形を含む。
【００３０】
ところで、図３（ａ）のように、漢という文字をビットマップフォントで表現すると、文字の縦線は縦方向にドットを並べたドット列によって、横線は横方向にドットを並べたドット列によって、傾斜線は縦横方向にドットを組み合わせて並べたドット列によって、近似的に表される。また、図３（ａ）には無いが、文字の湾曲線は傾斜線を部分的に用いて表される。
【００３１】
ここで、図３（ａ）の漢という文字の傾斜線に着目すると、三水（さんずい）偏の上２つの点３０１及び右払い３０２は、図中の基準線３０５に対して時計回りに４５°近傍の角度の傾斜線であり、左払い３０３は、基準線３０５に対して−４５°つまり１３５°近傍の角度の傾斜線である。また、三水（さんずい）偏の下の点３０４は、基準線３０５に対して−６０°つまり１２０°近傍の角度の傾斜線である。
【００３２】
また、漢という文字の他に、例えば更に画数の多い文字では、右払いや左払いに用いられる傾斜線は３０°や１５０°近傍の角度となる。
【００３３】
このように、文字の傾斜線が取りうる角度は理屈の上では無限であるが、ビットマップフォントにおいては、ドット列のパターンを用いて文字の傾斜線を近似的に表すため、実質的に取りうる角度は有限となる。そして、ドット列が近似的に表す傾斜線の多くは、３０°、４５°、６０°、１２０°、１３５°及び１５０°近傍の角度である。
【００３４】
上述のとおり、文字の所定の傾斜線を表すドット列は、角度の数値又は数値範囲によって定義されるものではないが、説明の便宜のために例えば４５°近傍のように視覚的に識別しやすいおよその角度と対応付けをする。視覚的に識別しやすいおよその角度とするのは、同じパターンのドット列であっても、ドットの矩形の縦横の幅によっては視覚的に識別しやすい角度が変わり、それに伴って角度との対応付けが変わるためである。本発明では、説明の簡易のためにドットの矩形を正方形として説明する。
【００３５】
続いて、文字の傾斜線を表すドット列のパターンを定義する。
【００３６】
４５°及び１３５°近傍の角度の傾斜線を表すドット列を、各ドットが角で接して並ぶとともに、各ドットの対角線が同じ直線上にあるドットの並びと定義する。このような並びのドット列は、ドットと相似関係にある矩形の対角線上に並べることができる。
【００３７】
また、３０°及び１５０°近傍の角度の傾斜線を表すドット列を、辺で接する２つのドットの対が角で接してなるとともに、ビットマップフォントが表現する文字の縦方向及び横方向に投影したドットの数の比が１：２となる４つのドットの並びと定義する。
【００３８】
また、６０°及び１２０°近傍の角度の傾斜線を表すドット列を、辺で接する２つのドットの対が角で接してなるとともに、ビットマップフォントが表現する文字の縦方向及び横方向に投影したドットの数の比が２：１となる４つのドットの並びと定義する。
【００３９】
尚、本発明では説明の簡易のためドットの矩形を正方形として扱っているが、それぞれのドット列が表す傾斜線の角度は例えば４５°及び１３５°近傍のように近似的なものであるため、ドットは厳密には正方形でなくとも良い。
【００４０】
先ず、４５°及び１３５°近傍の角度の傾斜線を表すドット列について説明する。
【００４１】
図４は、ビットマップフォントにおいて４５°及び１３５°近傍の角度の傾斜線を表すドット列を示す模式図である。このときの角度は、図中の基準線４０５に対し時計回りの値を示している。また、ドット４０１は文字に含まれるドットである文字ドットを示し、ドット４０２は文字に含まれないドットである非文字ドットを示し、ドット４０３はドット４０１又はドット４０２のいずれかのドットを示す。
【００４２】
尚、ドット４０２は、ドット表示領域外の本来はドットが存在しない領域も含めることとする。つまり、ドット表示領域に限りがあり、ビットマップフォントがドット表示領域の端にある場合に、ビットマップフォントの周辺の、ドット表示領域外を示す領域をドット４０２で表すこととする。
【００４３】
また、上述のとおり、各文字ドット内の表示の形状は矩形でなくとも良い。
【００４４】
図４（ａ）は、４５°近傍の角度の傾斜線を表すドット列を示す模式図である。図４（ｂ）は、１３５°近傍の角度の傾斜線を表すドット列を示す模式図である。図４（ｃ）は、４５°近傍の角度の傾斜線を表す、図４（ａ）とは別のドット列を示す模式図である。
【００４５】
図４（ａ）及び（ｂ）では、３つのドット４０１を正方形の破線枠４０４の対角線上に並べて傾斜線を表している。一方で、図４（ｃ）では、２つのドット４０１を正方形の破線枠４０６の対角線上に並べて傾斜線を表している。
【００４６】
図４（ａ）と図４（ｃ）を比べると、図４（ｃ）においては、ドット４０７が文字ドットで、ドット４０８が非文字ドットの場合に、２つのドット４０１が４５°近傍の角度の傾斜線を表すドット列とはみなし難い。しかしながら、図４（ａ）においては、３つのドット４０１の周辺のドットが文字であるかどうかに依らず、３つのドット４０１が４５°近傍の角度の傾斜線を表すドット列とみなすことが出来る。
【００４７】
つまり、４５°近傍の角度の傾斜線を表すためには、少なくとも３つのドットを正方形枠の対角線上に並べる必要がある。このことは、１３５°近傍の角度の傾斜線を表す図４（ｂ）のドット列についても同様である。
【００４８】
ところで、ビットマップフォントは、表現する文字の輪郭を表す輪郭ドットと、輪郭ドットに囲まれた領域を埋める塗り潰しドットとで形成される。輪郭ドットのドット列を輪郭ドット列とする。
【００４９】
また、文字の傾斜線には、傾斜線の長手方向に平行に対向する一対の輪郭線があり、ビットマップフォントでは、この傾斜線の一対の輪郭線を一対の輪郭ドット列で表す。このときの一対の輪郭ドット列を、表現する文字の上下に合わせて上輪郭ドット列と下輪郭ドット列とする。併せて、輪郭ドット列に沿って配置したドット４０２のうち、輪郭ドット列のドット４０１との境界を辺に含むものを外周ドットとし、外周ドットのドット列を外周ドット列とする。
【００５０】
尚、表現する文字の線の太さによっては、塗り潰しドットを配置することなく、上輪郭ドット列と下輪郭ドット列を接するように配置したり、上輪郭ドット列又は下輪郭ドット列のいずれか一方を配置したりする。
【００５１】
次に、４５°及び１３５°近傍の角度の傾斜線を表す輪郭ドット列について説明する。
【００５２】
図５は、４５°及び１３５°近傍の角度の輪郭ドット列を示す模式図である。図中のドット４０１〜４０３は図４と同様である。
【００５３】
図５（ａ）は、４５°近傍の角度の上輪郭ドット列を示す模式図である。図５（ｂ）は、４５°近傍の角度の下輪郭ドット列を示す模式図である。図５（ｃ）は、１３５°近傍の角度の上輪郭ドット列を示す模式図である。図５（ｄ）は、１３５°近傍の角度の下輪郭ドット列を示す模式図である。図５（ｅ）及び（ｆ）は、図５（ａ）の上輪郭ドット列と図５（ｂ）の下輪郭ドット列を組み合わせたドット列を示す模式図である。
【００５４】
ところで、図５（ａ）〜（ｄ）のように上輪郭ドット列と下輪郭ドット列を配置すると、例えば図５（ａ）の上輪郭ドット列と図５（ｂ）の下輪郭ドット列とを組み合わせて傾斜線を表したときに、図５（ｅ）又は（ｆ）のようにドット４０１のうちドット５０１又はドット５０２が正方形の破線枠４０４の対角線上に並んで収まらない。このことは、図５（ｃ）の上輪郭ドット列と図５（ｄ）の下輪郭ドット列とを組み合わせたときについても同様である。
【００５５】
図６は、４５°及び１３５°近傍の角度の別の輪郭ドット列を示す模式図である。図中のドット４０１〜４０３は図４と同様である。
【００５６】
図６（ａ）は、４５°近傍の角度の別の上輪郭ドット列を示す模式図である。図６（ｂ）は、図５（ｂ）と同じ４５°近傍の角度の下輪郭ドット列を示す模式図である。図６（ｃ）は、１３５°近傍の角度の別の上輪郭ドット列を示す模式図である。図６（ｄ）は、図５（ｄ）と同じ１３５°近傍の角度の下輪郭ドット列を示す模式図である。図６（ｅ）は、図６（ａ）の上輪郭ドット列と図６（ｂ）の下輪郭ドット列を組み合わせたドット列を示す模式図である。
【００５７】
図６（ａ）では、３つのドット４０２を正方形の破線枠４０４の対角線上に並べて収まるように配置しており、これら３つのドット４０２は４５°近傍の角度の傾斜線を表している。そして、これらの３つのドット４０２に沿って２つのドット４０１を角で接して配置することにより、２つのドット４０１からなる上輪郭ドット列は、４５°近傍の角度の傾斜線を表すとみなせる。
【００５８】
このように、４５°近傍の角度の傾斜線を表す外周ドット列と合わせて配置することで、２つのドット４０１からなる輪郭ドット列が４５°近傍の角度の傾斜線を表せるようになる。
【００５９】
また、図６（ａ）と同様に、図６（ｃ）の上輪郭ドット列は、３つのドット４０２に沿って２つのドット４０１を角で接して配置することにより、１３５°近傍の角度の傾斜線を表すとみなせる。
【００６０】
また、図６（ｂ）及び（ｄ）の下輪郭ドット列については、図５（ｂ）及び（ｄ）と同様である。
【００６１】
そして、図６（ａ）〜（ｄ）のように上輪郭ドット列及び下輪郭ドット列を配置すると、例えば図６（ａ）の上輪郭ドット列と図６（ｂ）の下輪郭ドット列とを組み合わせて傾斜線を表したときに、図６（ｅ）のようにドット４０１は正方形の破線枠４０４に収まる。このことは、図６（ｃ）の上輪郭ドット列と図６（ｄ）の下輪郭ドット列とを組み合わせたときについても同様である。
【００６２】
つまり、図５（ａ）〜（ｄ）の配置に対して、図６（ａ）〜（ｄ）の配置とすることによって、４５°及び１３５°により近い傾斜線を表すことができる。
【００６３】
尚、図６（ａ）及び（ｃ）のドットの配置は図５のままとし、図６（ｂ）及び図６（ｄ）のドットの配置を上述の要領で変更することによって、４５°及び１３５°近傍の角度の傾斜線を表す輪郭ドット列を形成しても良い。
【００６４】
従って、４５°及び１３５°近傍の角度の傾斜線を表す輪郭ドット列は、ドット４０１で形成され傾斜線の長手方向に対し平行に向かい合う一対のドット列であり、一方のドット列は、少なくとも３つのドット４０１が角で接して並ぶとともに、各ドット４０１の対角線が同じ直線上にあるドット４０１の並びとなり、他方のドット列は、少なくとも３つのドット４０２が角で接して並ぶとともに各ドット４０２の対角線が同じ直線上にある外周ドット列に沿った、少なくとも２つのドット４０１が角で接して並ぶドット４０１の並びとなる。
【００６５】
次に、６０°及び１２０°近傍の角度の傾斜線を表す輪郭ドット列について説明する。
【００６６】
図７は、６０°及び１２０°近傍の角度の輪郭ドット列を示す模式図である。このときの角度は、図中の基準線４０５に対し時計回りの値を示している。図中のドット４０１〜４０３は図４と同様である。
【００６７】
図７（ａ）は、６０°近傍の角度の上輪郭ドット列を示す模式図である。図７（ｂ）は、６０°近傍の角度の図７（ａ）とは別の上輪郭ドット列を示す模式図である。図７（ｃ）は、６０°近傍の角度の図７（ａ）及び図７（ｂ）とは別の上輪郭ドット列を示す模式図である。図７（ｄ）は、６０°近傍の角度の下輪郭ドット列を示す模式図である。図７（ｅ）は、１２０°近傍の角度の上輪郭ドット列を示す模式図である。図７（ｆ）は、１２０°近傍の角度の下輪郭ドット列を示す模式図である。
【００６８】
図７（ａ）〜（ｃ）の破線枠７０１〜７０３に示すとおり、６０°近傍の角度の上輪郭ドット列には複数の配置が考えられる。
【００６９】
しかし、図７（ｂ）では、ドット７０４が文字ドットで、ドット７０５が非文字ドットの場合に、３つのドット４０１が６０°近傍の角度の傾斜線を表す輪郭ドット列とはみなし難い。また、図７（ｃ）についても、図７（ｂ）と同様のことが言える。
【００７０】
これに対し、図７（ａ）のドット４０１の周辺のドットが文字であるかどうかに依らず、４つのドット４０１は６０°近傍の角度の上輪郭ドット列とみなすことが出来る。
【００７１】
従って、６０°近傍の角度の上輪郭ドット列としては、図７（ａ）のように配置するのが適切である。
【００７２】
図７（ａ）に倣い、図７（ｄ）〜（ｆ）の輪郭ドット列を得る。
【００７３】
従って、上述のとおり６０°及び１２０°近傍の角度の傾斜線を表す輪郭ドット列は、辺で接する２つのドット４０１の対が角で接してなるとともに、ビットマップフォントが表現する文字の縦方向及び横方向に投影したドットの数の比が２：１となる４つのドット４０１の並びで表される。
【００７４】
次に、拡大した輪郭ドット列からジャギを検索するジャギパターンについて説明する。ここでは、４５°及び１３５°近傍の角度と６０°及び１２０°近傍の角度の傾斜線を表す輪郭ドット列を対象とする。
【００７５】
図８は、２倍に拡大した４５°及び１３５°近傍の角度の輪郭ドット列のジャギパターンを示す模式図である。図中のドット４０１〜４０３は図４と同様である。
【００７６】
図８（ａ）は、２倍に拡大した４５°近傍の角度の上輪郭ドット列を示す模式図である。図８（ｂ）は、２倍に拡大した４５°近傍の角度の下輪郭ドット列を示す模式図である。図８（ｃ）は、２倍に拡大した１３５°近傍の角度の上輪郭ドット列を示す模式図である。図８（ｄ）は、２倍に拡大した１３５°近傍の角度の下輪郭ドット列を示す模式図である。
【００７７】
また、図８（ｅ）は、２倍に拡大した４５°近傍の角度の上輪郭ドット列のジャギパターンを示す模式図である。図８（ｆ）は、２倍に拡大した４５°近傍の角度の下輪郭ドット列のジャギパターンを示す模式図である。図８（ｇ）は、２倍に拡大した１３５°近傍の角度の上輪郭ドット列のジャギパターンを示す模式図である。図８（ｈ）は、２倍に拡大した１３５°近傍の角度の下輪郭ドット列のジャギパターンを示す模式図である。
【００７８】
図８（ａ）〜（ｄ）の破線枠８０１に示す輪郭ドット列はそれぞれ、図６（ａ）〜（ｄ）の破線枠４０４の輪郭ドット列を２倍に拡大したものである。
【００７９】
図８（ａ）において、輪郭ドット列であるドット４０１と外周ドット列であるドット４０２のうち、ドット４０１及びドット４０２の境界を辺とするドットを残し、それ以外のドットをドット４０３とすると、図８（ｅ）の一点鎖線枠８０２で囲まれたドットパターンが得られる。
【００８０】
同様にして、図８（ｂ）からは図８（ｆ）の一点鎖線枠８０２で囲まれたドットパターンが得られ、図８（ｃ）からは図８（ｇ）の一点鎖線枠８０２で囲まれたドットパターンが得られ、図８（ｄ）からは図８（ｈ）の一点鎖線枠８０２で囲まれたドットパターンが得られる。
【００８１】
図８（ｅ）〜（ｈ）のドットパターンは、２倍に拡大したビットマップフォントにおける、輪郭ドット列と外周ドット列からなるジャギパターンである。図８（ｅ）〜（ｈ）のジャギパターンは、拡大ビットマップフォントの拡大倍率と対応付けて、図２のドットパターン記憶部２０３に予め記憶しておく。
【００８２】
図９は、２倍に拡大した６０°及び１２０°近傍の角度の輪郭ドット列のジャギパターンを示す模式図である。図中のドット４０１〜４０３は図４と同様である。
【００８３】
図９（ａ）は、２倍に拡大した６０°近傍の角度の上輪郭ドット列を示す模式図である。図９（ｂ）は、２倍に拡大した６０°近傍の角度の下輪郭ドット列を示す模式図である。図９（ｃ）は、２倍に拡大した１２０°近傍の角度の上輪郭ドット列を示す模式図である。図９（ｄ）は、２倍に拡大した１２０°近傍の角度の下輪郭ドット列を示す模式図である。
【００８４】
また、図９（ｅ）は、２倍に拡大した６０°近傍の角度の上輪郭ドット列のジャギパターンを示す模式図である。図９（ｆ）は、２倍に拡大した６０°近傍の角度の下輪郭ドット列のジャギパターンを示す模式図である。図９（ｇ）は、２倍に拡大した１２０°近傍の角度の上輪郭ドット列のジャギパターンを示す模式図である。図９（ｈ）は、２倍に拡大した１２０°近傍の角度の下輪郭ドット列のジャギパターンを示す模式図である。
【００８５】
図９（ａ）〜（ｄ）の破線枠９０１に示す輪郭ドット列はそれぞれ、図７（ａ）及び（ｄ）〜（ｆ）の破線枠７０１の輪郭ドット列を２倍に拡大したものである。
【００８６】
図９（ａ）において、輪郭ドット列であるドット４０１と外周ドット列であるドット４０２のうち、ドット４０１及びドット４０２の境界を辺とするドットを残し、それ以外のドットをドット４０３とすると、図９（ｅ）の一点鎖線枠９０２で囲まれたドットパターンが得られる。
【００８７】
同様にして、図９（ｂ）からは図９（ｆ）の一点鎖線枠９０２で囲まれたドットパターンが得られ、図９（ｃ）からは図９（ｇ）の一点鎖線枠９０２で囲まれたドットパターンが得られ、図９（ｄ）からは図９（ｈ）の一点鎖線枠９０２で囲まれたドットパターンが得られる。
【００８８】
図９（ｅ）〜（ｈ）のドットパターンは、２倍に拡大したビットマップフォントにおける、輪郭ドット列と外周ドット列からなるジャギパターンである。図９（ｅ）〜（ｈ）のジャギパターンは、拡大ビットマップフォントの拡大倍率と対応付けて、図２のドットパターン記憶部２０３に予め記憶しておく。
【００８９】
ところで、特許文献２の手法では、ビットマップフォントを構成する複数ドットの縦横比を判定してスムージング処理を行うため、例えば草冠のように縦線と横線とが直交する部分に生じる窪みを、縦横比によっては滑らかにスムージング処理してしまう虞がある。しかしながら、上述のように文字の傾斜線の傾きに基づいてジャギパターンを形成することで、ビットマップフォントに対しスムージング処理が不要な部分までスムージング処理を行ってしまうことを抑止できる効果が得られる。
【００９０】
次に、拡大した輪郭ドット列のジャギを置換する、置換パターンについて説明する。ここでは、４５°及び１３５°近傍の角度と６０°及び１２０°近傍の角度の傾斜線を表す輪郭ドット列を対象とする。
【００９１】
図１０は、２倍に拡大した４５°及び１３５°近傍の角度の輪郭ドット列の置換パターンを示す模式図である。図中のドット４０１〜４０３は図４と同様である。また、ドット１００１は、ジャギパターンから削除する文字ドットを示し、ドット１００２は、ジャギパターンに対して追加する文字ドットを示す。図１０の置換パターンを二点鎖線枠１００３で囲む。
【００９２】
図１０（ａ）は、２倍に拡大した４５°近傍の角度の上輪郭ドット列の置換パターンを示す模式図である。図１０（ｂ）は、２倍に拡大した４５°近傍の角度の下輪郭ドット列の置換パターンを示す模式図である。図１０（ｃ）は、２倍に拡大した１３５°近傍の角度の上輪郭ドット列の置換パターンを示す模式図である。図１０（ｄ）は、２倍に拡大した１３５°近傍の角度の下輪郭ドット列の置換パターンを示す模式図である。
【００９３】
図１０（ａ）〜（ｄ）の置換パターンはそれぞれ、図８（ｅ）〜（ｈ）のジャギパターンと対応する。図１０（ａ）〜（ｄ）の置換パターンは、拡大ビットマップフォントの拡大倍率と対応付けて、図２のドットパターン記憶部２０３に予め記憶しておく。
【００９４】
このとき、図８（ｅ）及び図８（ｇ）のジャギパターンは上向きのジャギであり、図８（ｆ）及び図８（ｈ）のジャギパターンは下向きのジャギであるため、一方のジャギは突出したドットを削除し、他方のジャギは窪みにドットを追加することで、特許文献１のように窪みに一律にドットを追加する手法に比べて、スムージング処理後においても拡大ビットマップフォントが表現する文字の線の太さのバランスを変えてしまうことを抑止することができる。
【００９５】
そのため、図１０（ａ）及び（ｃ）の置換パターンでは、図８（ｅ）及び（ｇ）のジャギパターンからドット１００１を削除し、図１０（ｂ）及び（ｄ）の置換パターンでは、図８（ｆ）及び（ｈ）のジャギパターンに対しドット１００２を追加している。
【００９６】
尚、図８（ｅ）及び（ｇ）のジャギパターンに対しドット１００２を追加し、図８（ｆ）及び（ｈ）のジャギパターンからドット１００１を削除することによって置換パターンを形成しても良い。
【００９７】
図１１は、２倍に拡大した６０°及び１２０°近傍の角度の輪郭ドット列の置換パターンを示す模式図である。図中のドット４０１〜４０３は図４と同様であり、ドット１００１及びドット１００２は図１０と同様である。図１１の置換パターンを二点鎖線枠１１０１で囲む。
【００９８】
図１１（ａ）は、２倍に拡大した６０°近傍の角度の上輪郭ドット列の置換パターンを示す模式図である。図１１（ｂ）は、２倍に拡大した６０°近傍の角度の下輪郭ドット列の置換パターンを示す模式図である。図１１（ｃ）は、２倍に拡大した１２０°近傍の角度の上輪郭ドット列の置換パターンを示す模式図である。図１１（ｄ）は、２倍に拡大した１２０°近傍の角度の下輪郭ドット列の置換パターンを示す模式図である。
【００９９】
図１１（ａ）〜（ｄ）の置換パターンはそれぞれ、図９（ｅ）〜（ｈ）のジャギパターンと対応する。図１１（ａ）〜（ｄ）の置換パターンは、拡大ビットマップフォントの拡大倍率と対応付けて、図２のドットパターン記憶部２０３に予め記憶しておく。
【０１００】
このとき、図９（ｅ）及び（ｇ）のジャギパターンは上向きのジャギであり、図９（ｆ）及び（ｈ）のジャギパターンは下向きのジャギであるため、一方のジャギは突出したドットを削除し、他方のジャギは窪みにドットを追加することで、特許文献１のように窪みに一律にドットを追加する手法に比べて、スムージング処理後においても拡大ビットマップフォントが表現する文字の線の太さのバランスを変えてしまうことを抑止することができる。
【０１０１】
そのため、図１１（ａ）及び（ｃ）の置換パターンでは、図９（ｅ）及び（ｇ）のジャギパターンからドット１００１を削除し、図１１（ｂ）及び（ｄ）の置換パターンでは、図９（ｆ）及び（ｈ）のジャギパターンに対しドット１００２を追加している。
【０１０２】
尚、図９（ｅ）及び（ｇ）のジャギパターンに対しドット１００２を追加し、図９（ｆ）及び（ｈ）のジャギパターンからドット１００１を削除することによって置換パターンを形成しても良い。
【０１０３】
上述の要領に倣って、３０°及び１５０°近傍の角度の傾斜線を表す輪郭ドット列のジャギパターンと置換パターンを説明する。
【０１０４】
図１２は、２倍に拡大した３０°及び１５０°近傍の角度の輪郭ドット列のジャギパターンと置換パターンを示す模式図である。
【０１０５】
図１２（ａ）は、２倍に拡大した３０°近傍の角度の上輪郭ドット列のジャギパターンを示す模式図である。図１２（ｂ）は、２倍に拡大した３０°近傍の角度の下輪郭ドット列のジャギパターンを示す模式図である。図１２（ｃ）は、２倍に拡大した１５０°近傍の角度の上輪郭ドット列のジャギパターンを示す模式図である。図１２（ｄ）は、２倍に拡大した１５０°近傍の角度の下輪郭ドット列のジャギパターンを示す模式図である。
【０１０６】
また、図１２（ｅ）は、２倍に拡大した３０°近傍の角度の上輪郭ドット列の置換パターンを示す模式図である。図１２（ｆ）は、２倍に拡大した３０°近傍の角度の下輪郭ドット列の置換パターンを示す模式図である。図１２（ｇ）は、２倍に拡大した１５０°近傍の角度の上輪郭ドット列の置換パターンを示す模式図である。図１２（ｈ）は、２倍に拡大した１５０°近傍の角度の下輪郭ドット列の置換パターンを示す模式図である。
【０１０７】
図１２（ａ）〜（ｄ）の一点鎖線枠１２０１で囲まれたジャギパターンを形成する要領は、図９（ｅ）〜（ｈ）と同様である。また、図１２（ｅ）〜（ｈ）の二点鎖線枠１２０２で囲まれた置換パターンを形成する要領は、図１１（ａ）〜（ｄ）と同様である。
【０１０８】
図１２（ｅ）〜（ｈ）の置換パターンはそれぞれ、図１２（ａ）〜（ｄ）のジャギパターンと対応する。図１２（ａ）〜（ｄ）のジャギパターン及び図１２（ｅ）〜（ｈ）の置換パターンは、拡大ビットマップフォントの拡大倍率と対応付けて、図２のドットパターン記憶部２０３に予め記憶しておく。
【０１０９】
最後に、３倍に拡大した拡大ビットマップフォントの傾斜線を表す輪郭ドット列のジャギパターンと置換パターンを説明する。
【０１１０】
図１３は、３倍に拡大した４５°及び１３５°近傍の角度の輪郭ドット列のジャギパターンと置換パターンを示す模式図である。
【０１１１】
図１３（ａ）は、３倍に拡大した４５°近傍の角度の上輪郭ドット列のジャギパターンを示す模式図である。図１３（ｂ）は、３倍に拡大した４５°近傍の角度の下輪郭ドット列のジャギパターンを示す模式図である。図１３（ｃ）は、３倍に拡大した１３５°近傍の角度の上輪郭ドット列のジャギパターンを示す模式図である。図１３（ｄ）は、３倍に拡大した１３５°近傍の角度の下輪郭ドット列のジャギパターンを示す模式図である。
【０１１２】
また、図１３（ｅ）は、３倍に拡大した４５°近傍の角度の上輪郭ドット列の置換パターンを示す模式図である。図１３（ｆ）は、３倍に拡大した４５°近傍の角度の下輪郭ドット列の置換パターンを示す模式図である。図１３（ｇ）は、３倍に拡大した１３５°近傍の角度の上輪郭ドット列の置換パターンを示す模式図である。図１３（ｈ）は、３倍に拡大した１３５°近傍の角度の下輪郭ドット列の置換パターンを示す模式図である。
【０１１３】
図１３（ａ）〜（ｄ）の一点鎖線枠１３０１で囲まれたジャギパターンを形成する要領は、図８（ｅ）〜（ｈ）と同様である。また、図１３（ｅ）〜（ｈ）の二点鎖線枠１３０２で囲まれた置換ジャギパターンを形成する要領は、図１０（ａ）〜（ｄ）と同様である。
【０１１４】
図１３（ｅ）〜（ｈ）の置換パターンはそれぞれ、図１３（ａ）〜（ｄ）のジャギパターンと対応する。図１３（ａ）〜（ｄ）のジャギパターン及び図１３（ｅ）〜（ｈ）の置換パターンは、拡大ビットマップフォントの拡大倍率と対応付けて、図２のドットパターン記憶部２０３に予め記憶しておく。
【０１１５】
図１４は、３倍に拡大した６０°及び１２０°近傍の角度の輪郭ドット列のジャギパターンと置換パターンを示す模式図である。
【０１１６】
図１４（ａ）は、３倍に拡大した６０°近傍の角度の上輪郭ドット列のジャギパターンを示す模式図である。図１４（ｂ）は、３倍に拡大した６０°近傍の角度の下輪郭ドット列のジャギパターンを示す模式図である。図１４（ｃ）は、３倍に拡大した１２０°近傍の角度の上輪郭ドット列のジャギパターンを示す模式図である。図１４（ｄ）は、３倍に拡大した１２０°近傍の角度の下輪郭ドット列のジャギパターンを示す模式図である。
【０１１７】
また、図１４（ｅ）は、３倍に拡大した６０°近傍の角度の上輪郭ドット列の置換パターンを示す模式図である。図１４（ｆ）は、３倍に拡大した６０°近傍の角度の下輪郭ドット列の置換パターンを示す模式図である。図１４（ｇ）は、３倍に拡大した１２０°近傍の角度の上輪郭ドット列の置換パターンを示す模式図である。図１４（ｈ）は、３倍に拡大した１２０°近傍の角度の下輪郭ドット列の置換パターンを示す模式図である。
【０１１８】
図１４（ａ）〜（ｄ）の一点鎖線枠１４０１で囲まれたジャギパターンを形成する要領は、図９（ｅ）〜（ｈ）と同様である。また、図１４（ｅ）〜（ｈ）の二点鎖線枠１４０２で囲まれた置換ジャギパターンを形成する要領は、図１１（ａ）〜（ｄ）と同様である。
【０１１９】
図１４（ｅ）〜（ｈ）の置換パターンはそれぞれ、図１４（ａ）〜（ｄ）のジャギパターンと対応する。図１４（ａ）〜（ｄ）のジャギパターン及び図１４（ｅ）〜（ｈ）の置換パターンは、拡大ビットマップフォントの拡大倍率と対応付けて、図２のドットパターン記憶部２０３に予め記憶しておく。
【０１２０】
図１５は、３倍に拡大した３０°及び１５０°近傍の角度の輪郭ドット列のジャギパターンと置換パターンを示す模式図である。
【０１２１】
図１５（ａ）は、３倍に拡大した３０°近傍の角度の上輪郭ドット列のジャギパターンを示す模式図である。図１５（ｂ）は、３倍に拡大した３０°近傍の角度の下輪郭ドット列のジャギパターンを示す模式図である。図１５（ｃ）は、３倍に拡大した１５０°近傍の角度の上輪郭ドット列のジャギパターンを示す模式図である。図１５（ｄ）は、３倍に拡大した１５０°近傍の角度の下輪郭ドット列のジャギパターンを示す模式図である。
【０１２２】
また、図１５（ｅ）は、３倍に拡大した３０°近傍の角度の上輪郭ドット列の置換パターンを示す模式図である。図１５（ｆ）は、３倍に拡大した３０°近傍の角度の下輪郭ドット列の置換パターンを示す模式図である。図１５（ｇ）は、３倍に拡大した１５０°近傍の角度の上輪郭ドット列の置換パターンを示す模式図である。図１５（ｈ）は、３倍に拡大した１５０°近傍の角度の下輪郭ドット列の置換パターンを示す模式図である。
【０１２３】
図１５（ａ）〜（ｄ）の一点鎖線枠１５０１で囲まれたジャギパターンを形成する要領は、図１２（ａ）〜（ｄ）と同様である。また、図１５（ｅ）〜（ｈ）の二点鎖線枠１５０２で囲まれた置換ジャギパターンを形成する要領は、図１２（ｅ）〜（ｈ）と同様である。
【０１２４】
図１５（ｅ）〜（ｈ）の置換パターンはそれぞれ、図１５（ａ）〜（ｄ）のジャギパターンと対応する。図１５（ａ）〜（ｄ）のジャギパターン及び図１５（ｅ）〜（ｈ）の置換パターンは、拡大ビットマップフォントの拡大倍率と対応付けて、図２のドットパターン記憶部２０３に予め記憶しておく。
【０１２５】
上述の要領と同様にして、必要に応じてその他の拡大倍率と対応するジャギパターンと置換パターンとを形成し、ジャギパターン、置換パターン及び拡大ビットマップフォントの拡大倍率と対応付けて、図２のドットパターン記憶部２０３に予め記憶しておく。
【０１２６】
このように、拡大ビットマップフォントのジャギパターンと置換パターンは、輪郭ドット列と外周ドット列とからなり、拡大倍率が３倍のときの輪郭ドット列及び外周ドット列は、拡大倍率が２倍のときの輪郭ドット列及び外周ドット列と同じ要領で形成することができる。
【０１２７】
図１６は、拡大ビットマップフォントのスムージング処理を示すフロー図である。図２のとおり、ジャギパターン置換部２０６は、拡大ビットマップフォントからジャギパターンを検出した都度に置換パターンに置換しても良いし、また、一通りジャギパターンを検索した後にまとめて置換パターンに置換しても良い。
【０１２８】
図１６（ａ）は、ジャギパターンの検出の都度に置換パターンに置換するスムージング処理を示すフロー図である。また、図１６（ｂ）は、ジャギパターンの検索後にまとめて置換パターンに置換するスムージング処理を示すフロー図である。
【０１２９】
先ず、図１６（ａ）について説明する。処理Ｓ１６０１では、ジャギパターン検索部２０４は、ビットマップフォント記憶部２０２からスムージング処理を行う拡大ビットマップフォントの拡大倍率を取得する。その後、処理Ｓ１６０２に進む。
【０１３０】
処理Ｓ１６０２では、ジャギパターン検索部２０４は、ドットパターン記憶部２０３に記憶のジャギパターンのうち、未だ選択していないものを１つ選択する。このときのジャギパターンの選択候補は、取得した拡大倍率と対応したものとなる。その後、処理Ｓ１６０３に進む。
【０１３１】
処理Ｓ１６０３では、ジャギパターン検索部２０４は、選択したジャギパターンを用いて、ビットマップフォント記憶部２０２に記憶の拡大ビットマップフォントに対し、パターンマッチング検索を行う。そして、ジャギパターン検索部２０４が拡大ビットマップフォントからジャギパターンと一致するドットパターンを検出すると、ジャギパターン置換部２０６は、ドットパターン記憶部２０３に記憶の、選択中のジャギパターンと対応する置換パターンを用いて、検出したドットパターンを置換する。その後、処理Ｓ１６０４に進む。
【０１３２】
処理Ｓ１６０４では、ジャギパターン検索部２０４は、拡大ビットマップフォントに対するパターンマッチング検索が完了したかどうかを判定する。完了していれば処理Ｓ１６０５に進む。完了していなければ処理Ｓ１６０３に進む。
【０１３３】
処理Ｓ１６０５では、ジャギパターン検索部２０４は、選択候補のジャギパターンを全て選択したかどうかを判定する。全て選択していれば処理を終了する。全て選択していなければ処理Ｓ１６０２に進む。
【０１３４】
次に、図１６（ｂ）について説明する。処理Ｓ１６０６及び処理Ｓ１６０７はそれぞれ、図１６（ａ）の処理Ｓ１６０１及び処理Ｓ１６０２と同様である。その後、処理Ｓ１６０８に進む。
【０１３５】
処理Ｓ１６０８では、ジャギパターン検索部２０４は、選択したジャギパターンを用いて、ビットマップフォント記憶部２０２に記憶の拡大ビットマップフォントに対し、パターンマッチング検索を行う。そして、ジャギパターン検索部２０４は、拡大ビットマップフォントからジャギパターンと一致するドットパターンを検出すると、ジャギドット記憶部２０５に、検出したドットパターンの情報とジャギパターンとを合わせて記憶する。その後、処理Ｓ１６０９に進む。
【０１３６】
処理Ｓ１６０９では、ジャギパターン検索部２０４は、選択候補のジャギパターンを全て選択したかどうかを判定する。全て選択していれば処理Ｓ１６１０に進む。全て選択していなければ処理Ｓ１６０７に進む。
【０１３７】
処理Ｓ１６１０では、ジャギパターン置換部２０６は、処理Ｓ１６０８でジャギドット記憶部２０５に記憶した全てのドットパターンの情報と対応するドットを、ドットパターン記憶部２０３に記憶の、ジャギパターンと対応した置換パターンを用いて置換する。その後、処理を終了する。
【０１３８】
図１７は、拡大ビットマップフォントの４５°及び１３５°近傍の角度の輪郭ドット列へのスムージング処理を示す模式図である。図１７（ａ）は、図３（ｂ）に示す２倍に拡大した拡大ビットマップフォントである。図１７（ｂ）〜（ｇ）は、図１７（ａ）の点線丸枠１７０１に囲まれた部分を示す。
【０１３９】
図１８は、拡大ビットマップフォントの６０°及び１２０°近傍の角度の輪郭ドット列へのスムージング処理を示す模式図である。図１８（ａ）は、図３（ｂ）に示す２倍に拡大した拡大ビットマップフォントである。図１８（ｂ）〜（ｅ）は、図１８（ａ）の点線丸枠１８０１に囲まれた部分を示す。
【０１４０】
図１７及び図１８では、図１６（ｂ）のスムージング処理を適用して説明する。
【０１４１】
先ず、ビットマップフォント記憶部２０２から拡大ビットマップフォントの拡大倍率を取得する。このとき取得される拡大倍率は２倍となる。
【０１４２】
次に、２倍の拡大倍率と対応したジャギパターンをドットパターン記憶部２０３から選択する。２倍の拡大倍率と対応したジャギパターンの選択候補は、図８（ｅ）〜（ｈ）、図９（ｅ）〜（ｈ）及び図１２（ａ）〜（ｄ）となる。ここでは、図８（ｅ）〜（ｈ）、図９（ｅ）〜（ｈ）及び図１２（ａ）〜（ｄ）の列挙した順にジャギパターンを選択する。
【０１４３】
次に、図１７及び図１８の拡大ビットマップフォントから、選択したジャギパターンと一致するドットパターンを検索する。
【０１４４】
図８（ｅ）のジャギパターンで検索した結果、図１７（ａ）の二重点線１７０２、１７０３及び１７０４に示すドットパターンを検出する。そして、図８（ｅ）のジャギパターンと共に、検出したドットパターンの情報をジャギドット記憶部２０５に記憶する。
【０１４５】
次に、図８（ｆ）のジャギパターンで検索した結果、図１７（ａ）の二重点線１７０５及び１７０６、図１７（ｂ）の二重点線１７０７、図１７（ｃ）の二重点線１７０８、並びに図１７（ｄ）の二重点線１７０９に示すドットパターンを検出する。そして、図８（ｆ）のジャギパターンと共に、検出したドットパターンの情報をジャギドット記憶部２０５に記憶する。
【０１４６】
次に、図８（ｇ）のジャギパターンで検索した結果、図１７（ａ）の二重点線１７１０に示すドットパターンを検出する。そして、図８（ｇ）のジャギパターンと共に、検出したドットパターンの情報をジャギドット記憶部２０５に記憶する。
【０１４７】
次に、図８（ｈ）のジャギパターンで検索した結果、図１７（ｅ）の二重点線１７１１、図１７（ｆ）の二重点線１７１２、及び図１７（ｇ）の二重点線１７１３に示すドットパターンを検出する。そして、図８（ｈ）のジャギパターンと共に、検出したドットパターンの情報をジャギドット記憶部２０５に記憶する。
【０１４８】
次に、図９（ｅ）及び図９（ｆ）のジャギパターンで検索した結果、一致するドットパターンを検出しない。
【０１４９】
次に、図９（ｇ）のジャギパターンで検索した結果、図１８（ｂ）の二重点線１８０２及び図１８（ｃ）の二重点線１８０３に示すドットパターンを検出する。そして、図９（ｇ）のジャギパターンと共に、検出したドットパターンの情報をジャギドット記憶部２０５に記憶する。
【０１５０】
次に、図９（ｈ）のジャギパターンで検索した結果、図１８（ｄ）の二重点線１８０４及び図１８（ｅ）の二重点線１８０５に示すドットパターンを検出する。そして、図９（ｈ）のジャギパターンと共に、検出したドットパターンの情報をジャギドット記憶部２０５に記憶する。
【０１５１】
次に、図１２（ａ）〜（ｄ）のジャギパターンで検索した結果、一致するドットパターンを検出しない。
【０１５２】
最後に、ジャギドット記憶部２０５に記憶の、ジャギパターン及び検出したドットパターンの情報に基づき、ドットパターン記憶部２０３に記憶の図１０（ａ）〜（ｄ）、図１１（ａ）〜（ｄ）及び図１２（ｅ）〜（ｈ）の置換パターンを用いて、検出したドットパターンを置換する。
【０１５３】
図１９は、スムージング処理後の拡大ビットマップフォントを示す模式図である。
【０１５４】
尚、本発明では、文字の３０°、４５°、６０°、１２０°、１３５°及び１５０°近傍の角度の傾斜線を対象とした輪郭ドット列、ジャギパターン及び置換パターンを形成したが、異なる角度の傾斜線を表す輪郭ドット列、ジャギパターン及び置換パターンを形成し、文字の所望の傾斜線の輪郭に更に近づけてスムージング処理を行うことも可能である。
【０１５５】
ところで、特許文献３の手法では、ビットマップフォントの輪郭を形成する全てのドットをベクトル情報に置き換えて、置き換えたベクトル情報のうちジャギと判断できるものを変換した後に、再びドットへの置き換えを行っているため、スムージング処理の演算量が多くなってしまう問題がある。しかしながら、上述のようにスムージング処理の対象となるジャギパターンと、ジャギパターンを置き換える置換パターンとを予め用意し、パターンマッチング処理を利用してビットマップフォントのジャギを除去するため、スムージング処理の演算を簡易にする効果が得られる。
【０１５６】
実施の形態１によれば、文字の所定の傾斜線の傾きに基づいて構成した輪郭ドット列からジャギパターンを形成し、拡大後のビットマップフォントからジャギパターンと一致するドットパターンを検索して、対応する置換パターンで置換することが可能となる。その結果として、表す文字の所望の傾斜線の輪郭により近づけてスムージング処理を行う効果が得られる。
【０１５７】
また、実施の形態１によれば、３０°、４５°、６０°、１２０°、１３５°及び１５０°近傍といった頻出の角度をなす所定の傾斜線を表す輪郭ドット列に特化してスムージング処理することが可能となる。その結果として、従来のように任意の角度の傾斜線に対応して汎用的にスムージング処理するよりも、表す文字を判別し易く傾斜線の輪郭を形成できる効果が得られる。また、スムージング処理の対象となる文字の線を特化しているので、ビットマップフォントのスムージング処理が不要な部分までスムージング処理を行ってしまうことを抑止できる効果が得られる。また、スムージング処理の対象となる文字の線を絞り込んでいるため、スムージング処理の演算を簡易にする効果が得られる。
【０１５８】
また、実施の形態１によれば、文字の傾斜線の輪郭の上下を区別して輪郭ドット列並びにジャギパターン及び置換パターンを形成することが可能となる。その結果として、傾斜線の上下の輪郭と対応して２つの輪郭ドット列を組み合わせたときに、傾斜線の傾きにより近くなるように、上下の輪郭ドット列のドット４０１を配置できる効果が得られる。また、傾斜線の輪郭の上下を区別してジャギパターンを形成しているので、一方のジャギパターンと対応する置換パターンはドット１００１を削除し、他方のジャギパターンと対応する置換パターンはドット１００２を追加することで、傾斜線の太さのバランスを変えずにスムージング処理を行う効果が得られる。
【０１５９】
実施の形態２．
実施の形態１のジャギパターンを形成する外周ドット列は、輪郭ドット列のドット４０１との境界を辺とするドット４０２を対象としていた。実施の形態２では、ジャギパターンの外周ドット列の対象を広げる。
【０１６０】
図２０は、実施の形態２における、２倍に拡大した４５°及び１３５°近傍の角度の輪郭ドット列のジャギパターンと置換パターンを示す模式図である。図中のドット４０１〜４０３は図４と同様であり、一点鎖線枠８０２は図８と同様であり、ドット１００１及び１００２並びに二点鎖線枠１００３は図１０と同様である。
【０１６１】
図２０（ａ）は、２倍に拡大した４５°近傍の角度の上輪郭ドット列のジャギパターンを示す模式図である。図２０（ｂ）は、２倍に拡大した４５°近傍の角度の下輪郭ドット列のジャギパターンを示す模式図である。図２０（ｃ）は、２倍に拡大した１３５°近傍の角度の上輪郭ドット列のジャギパターンを示す模式図である。図２０（ｄ）は、２倍に拡大した１３５°近傍の角度の下輪郭ドット列のジャギパターンを示す模式図である。
【０１６２】
また、図２０（ｅ）は、２倍に拡大した４５°近傍の角度の上輪郭ドット列の置換パターンを示す模式図である。図２０（ｆ）は、２倍に拡大した４５°近傍の角度の下輪郭ドット列の置換パターンを示す模式図である。図２０（ｇ）は、２倍に拡大した１３５°近傍の角度の上輪郭ドット列の置換パターンを示す模式図である。図２０（ｈ）は、２倍に拡大した１３５°近傍の角度の下輪郭ドット列の置換パターンを示す模式図である。
【０１６３】
ここで、図２０（ａ）〜（ｄ）は図８（ｅ）〜（ｈ）と対応し、図２０（ｅ）〜（ｈ）は図１０（ａ）〜（ｄ）と対応しているが、ドット２００１がドット４０２である点で異なる。つまり、文字の輪郭線を表す輪郭ドット列のドット４０１との境界を辺とするドット４０２を外周ドット列と扱うことに加えて、輪郭ドット列のドット４０１と角で接し、外周ドット列の２つのドット４０２と辺で接するドット４０２も外周ドット列と扱う。
【０１６４】
このようにすることで、輪郭ドット列に沿った途切れのない外周ドット列を形成することができるようになり、ビットマップフォントの文字を表す領域とそれ以外の領域とをより明確に区別できるため、スムージング処理をより正確に行うことが可能となる。
【０１６５】
上述のことは、６０°及び１２０°近傍の角度、並びに３０°及び１５０°近傍の角度の輪郭ドット列に沿った外周ドット列についても同様である。
【０１６６】
図２１は、２倍に拡大した６０°及び１２０°近傍の角度の輪郭ドット列のジャギパターンと置換パターンを示す模式図である。図中のドット４０１〜４０３は図４と同様であり、一点鎖線枠９０２は図９と同様であり、ドット１００１及び１００２は図１０と同様であり、二点鎖線枠１１０１は図１１と同様である。
【０１６７】
図２１（ａ）は、２倍に拡大した６０°近傍の角度の上輪郭ドット列のジャギパターンを示す模式図である。図２１（ｂ）は、２倍に拡大した６０°近傍の角度の下輪郭ドット列のジャギパターンを示す模式図である。図２１（ｃ）は、２倍に拡大した１２０°近傍の角度の上輪郭ドット列のジャギパターンを示す模式図である。図２１（ｄ）は、２倍に拡大した１２０°近傍の角度の下輪郭ドット列のジャギパターンを示す模式図である。
【０１６８】
また、図２１（ｅ）は、２倍に拡大した６０°近傍の角度の上輪郭ドット列の置換パターンを示す模式図である。図２１（ｆ）は、２倍に拡大した６０°近傍の角度の下輪郭ドット列の置換パターンを示す模式図である。図２１（ｇ）は、２倍に拡大した１２０°近傍の角度の上輪郭ドット列の置換パターンを示す模式図である。図２１（ｈ）は、２倍に拡大した１２０°近傍の角度の下輪郭ドット列の置換パターンを示す模式図である。
【０１６９】
ここで、図２１（ａ）〜（ｄ）は図９（ｅ）〜（ｈ）と対応し、図２１（ｅ）〜（ｈ）は図１１（ａ）〜（ｄ）と対応しているが、ドット２１０１がドット４０２である点で異なる。つまり、文字の輪郭線を表す輪郭ドット列のドット４０１との境界を辺とするドット４０２を外周ドット列と扱うことに加えて、輪郭ドット列のドット４０１と角で接し、２つのドット４０２と辺で接するドット４０２も外周ドット列と扱う。
【０１７０】
図２２は、２倍に拡大した３０°及び１５０°近傍の角度の輪郭ドット列のジャギパターンと置換パターンを示す模式図である。図中のドット４０１〜４０３は図４と同様であり、ドット１００１及び１００２は図１０と同様であり、一点鎖線枠１２０１及び二点鎖線枠１２０２は図１２と同様である。
【０１７１】
図２２（ａ）は、２倍に拡大した３０°近傍の角度の上輪郭ドット列のジャギパターンを示す模式図である。図２２（ｂ）は、２倍に拡大した３０°近傍の角度の下輪郭ドット列のジャギパターンを示す模式図である。図２２（ｃ）は、２倍に拡大した１５０°近傍の角度の上輪郭ドット列のジャギパターンを示す模式図である。図２２（ｄ）は、２倍に拡大した１５０°近傍の角度の下輪郭ドット列のジャギパターンを示す模式図である。
【０１７２】
また、図２２（ｅ）は、２倍に拡大した３０°近傍の角度の上輪郭ドット列の置換パターンを示す模式図である。図２２（ｆ）は、２倍に拡大した３０°近傍の角度の下輪郭ドット列の置換パターンを示す模式図である。図２２（ｇ）は、２倍に拡大した１５０°近傍の角度の上輪郭ドット列の置換パターンを示す模式図である。図２２（ｈ）は、２倍に拡大した１５０°近傍の角度の下輪郭ドット列の置換パターンを示す模式図である。
【０１７３】
ここで、図２２（ａ）〜（ｄ）は図１２（ａ）〜（ｄ）と対応し、図２２（ｅ）〜（ｈ）は図１２（ｅ）〜（ｈ）と対応しているが、ドット２２０１がドット４０２である点で異なる。つまり、文字の輪郭線を表す輪郭ドット列のドット４０１との境界を辺とするドット４０２を外周ドット列と扱うことに加えて、輪郭ドット列のドット４０１と角で接し、２つのドット４０２と辺で接するドット４０２も外周ドット列と扱う。
【０１７４】
実施の形態２によれば、文字の輪郭線を表す輪郭ドット列のドット４０１との境界を辺とするドット４０２を外周ドット列と扱うことに加えて、輪郭ドット列のドット４０１と角で接し、外周ドット列の２つのドット４０２と辺で接するドット４０２も外周ドット列と扱うことが可能となる。その結果として、輪郭ドット列に沿った途切れのない外周ドット列を形成し、ビットマップフォントの文字を表す領域とそれ以外の領域とをより明確に区別して、より正確にスムージング処理を行う効果が得られる。
【０１７５】
実施の形態３．
実施の形態１及び２では、ビットマップフォントの拡大倍率と対応したジャギパターン及び置換パターンを用いてスムージング処理を行った。実施の形態３では、ビットマップフォントの拡大倍率を素因数分解した素数を拡大倍率とし、素数の拡大倍率によって、ビットマップフォントの拡大とスムージング処理とを順次行う。
【０１７６】
図２３は、実施の形態３における、スムージング処理装置１０１の機能ブロックを示す機能ブロック図である。スムージング処理装置１０１は、ビットマップフォント入力部２０１、ドットパターン記憶部２０３、ジャギパターン検索部２０４、ジャギドット記憶部２０５、ビットマップフォント出力部２０７、スムージング処理制御部２０８、第１ビットマップフォント記憶部２３０１、拡大倍率入力部２３０２、素因数分解部２３０３、素数記憶部２３０４、第２ビットマップフォント記憶部２３０５、ビットマップフォント拡大部２３０６及びジャギパターン置換部２３０７で構成される。図２と同じ符号の機能部については説明を一部省略する。
【０１７７】
第１ビットマップフォント記憶部２３０１は、ビットマップフォント入力部２０１からビットマップフォントを受けて記憶する機能部である。
【０１７８】
拡大倍率入力部２３０２は、ビットマップフォント入力部２０１が入力したビットマップフォントを拡大する拡大倍率を入力する機能部である。拡大倍率の入力は、インタフェース装置１０２等から行う。
【０１７９】
素因数分解部２３０３は、拡大倍率入力部２３０２が入力した拡大倍率を受けて、拡大倍率の値を素因数分解する機能部である。素因数分解部２３０３は、拡大倍率の値と等しい素数の積を構成する各値を導出する。このときの各値を素数倍率とする。
【０１８０】
素数記憶部２３０４は、素因数分解部２３０３が導出した素数倍率を記憶する機能部である。
【０１８１】
ビットマップフォント拡大部２３０６は、素数記憶部２３０４に記憶の素数倍率を拡大倍率としてビットマップフォントを拡大する機能部である。
【０１８２】
ここで、ビットマップフォント拡大部２３０６がビットマップフォントを拡大する処理は、初回と２回目以降とで異なる。初回の拡大処理では、第１ビットマップフォント記憶部２３０１に記憶のビットマップフォントを、素数記憶部２３０４に記憶の素数倍率で拡大し、第２ビットマップフォント記憶部２３０５に記憶する。２回目以降の拡大処理では、第２ビットマップフォント記憶部２３０５に記憶のビットマップフォントを、素数記憶部２３０４に記憶の素数倍率で拡大し、再び第２ビットマップフォント記憶部２３０５に記憶する。
【０１８３】
ジャギパターン置換部２３０７は、ジャギドット記憶部２０５に記憶の検索結果に基づいて、第２ビットマップフォント記憶部２３０５に記憶の拡大ビットマップフォントの一部のドットをドットパターン記憶部２０３に記憶の置換パターンで置換する。このときの置換パターンは、ドットパターン記憶部２０３に記憶のジャギパターンと対応したものが選択される。
【０１８４】
図２４は、素数倍率を利用した拡大ビットマップフォントのスムージング処理を示すフロー図である。図１６と同様に、拡大ビットマップフォントからジャギパターンを検出した都度に置換パターンに置換しても良いし、一通りジャギパターンを検索した後にまとめて置換パターンに置換しても良い。
【０１８５】
図２４（ａ）は、素数倍率を利用した、ジャギパターンの検出の都度に置換パターンに置換するスムージング処理を示すフロー図である。また、図２４（ｂ）は、素数倍率を利用した、ジャギパターンの検索後にまとめて置換パターンに置換するスムージング処理を示すフロー図である。
【０１８６】
先ず、図２４（ａ）について説明する。処理Ｓ２４０１では、拡大倍率入力部２３０２は、インタフェース装置１０２等から拡大倍率を入力する。その後、処理Ｓ２４０２に進む。
【０１８７】
処理Ｓ２４０２では、素因数分解部２３０３は、拡大倍率入力部２３０２が入力した拡大倍率を受けて素因数分解を行い、素数倍率を素数記憶部２３０４に記憶する。その後、処理Ｓ２４０３に進む。
【０１８８】
処理Ｓ２４０３では、ビットマップフォント拡大部２３０６は、素数記憶部２３０４に記憶の素数倍率のうち、未だ選択していないものを１つ選択する。その後、処理Ｓ２４０４に進む。
【０１８９】
処理Ｓ２４０４では、ビットマップフォント拡大部２３０６は、初回の処理であれば、第１ビットマップフォント記憶部２３０１に記憶のビットマップフォントを、選択中の素数倍率で拡大し、第２ビットマップフォント記憶部２３０５に記憶する。２回目以降の処理であれば、第２ビットマップフォント記憶部２３０５に記憶のビットマップフォントを、選択中の素数倍率で拡大し、第２ビットマップフォント記憶部２３０５に記憶する。その後、処理Ｓ２４０５に進む。
【０１９０】
処理Ｓ２４０５では、ジャギパターン検索部２０４は、ドットパターン記憶部２０３に記憶したジャギパターンのうち、未だ選択していないものを１つ選択する。このときのジャギパターンの選択候補は、選択した素数倍率と対応したものとなる。その後、処理Ｓ２４０６に進む。
【０１９１】
処理Ｓ２４０６では、ジャギパターン検索部２０４は、選択したジャギパターンを用いて、第２ビットマップフォント記憶部２３０５に記憶の拡大ビットマップフォントに対し、パターンマッチング検索を行う。そして、ジャギパターン検索部２０４が拡大ビットマップフォントからジャギパターンと一致するドットパターンを検出すると、ジャギパターン置換部２３０７は、ドットパターン記憶部２０３に記憶の、選択中のジャギパターンと対応する置換パターンを用いて、検出したドットパターンを置換する。その後、処理Ｓ２４０７に進む。
【０１９２】
処理Ｓ２４０７では、ジャギパターン検索部２０４は、拡大ビットマップフォントに対するパターンマッチング検索が完了したかどうかを判定する。完了していれば処理Ｓ２４０８に進む。完了していなければ処理Ｓ２４０６に進む。
【０１９３】
処理Ｓ２４０８では、ジャギパターン検索部２０４は、選択候補のジャギパターンを全て選択したかどうかを判定する。全て選択していれば処理Ｓ２４０９に進む。全て選択していなければ処理Ｓ２４０５に進む。
【０１９４】
処理Ｓ２４０９では、ビットマップフォント拡大部２３０６は、ジャギパターン置換部２３０７が拡大ビットマップフォントのジャギパターンの置換を完了した後に、素数記憶部２３０４に記憶の素数倍率を全て選択したかどうかを判定する。全て選択していれば処理を終了する。全て選択していなければ処理Ｓ２４０３に進む。
【０１９５】
次に、図２４（ｂ）について説明する。処理Ｓ２４１０〜処理Ｓ２４１４は、図２４（ａ）の処理Ｓ２４０１〜Ｓ２４０５と同様である。
【０１９６】
処理Ｓ２４１５では、ジャギパターン検索部２０４は、選択したジャギパターンを用いて、第２ビットマップフォント記憶部２３０５に記憶の拡大ビットマップフォントに対し、パターンマッチング検索を行う。そして、ジャギパターン検索部２０４は、拡大ビットマップフォントからジャギパターンと一致するドットパターンを検出すると、ジャギドット記憶部２０５に、検出したドットパターンの情報とジャギパターンとを合わせて記憶する。その後、処理Ｓ２４１６に進む。
【０１９７】
処理Ｓ２４１６は、図２４（ａ）の処理Ｓ２４０８と同様であり、選択候補のジャギパターンを全て選択していれば処理Ｓ２４１７に進む。全て選択していなければ処理Ｓ２４１４に進む。
【０１９８】
処理Ｓ２４１７では、ジャギパターン置換部２３０７は、処理Ｓ２４１０でジャギドット記憶部２０５に記憶した全てのドットパターンの情報と対応するドットを、ドットパターン記憶部２０３に記憶の、ジャギパターンと対応した置換パターンを用いて置換する。その後、処理Ｓ２４１８に進む。
【０１９９】
処理Ｓ２４１８は、図２４（ａ）の処理Ｓ２４０９と同様であり、素数記憶部２３０４に記憶の素数倍率を全て選択していれば処理を終了する。全て選択していなければ処理Ｓ２４１２に進む。
【０２００】
実施の形態３によれば、拡大倍率を素因数分解した素数倍率を用いてスムージング処理を分割して行うことが可能となる。その結果として、元の拡大倍率よりも小さな拡大倍率によってビットマップフォントを拡大するために、ジャギパターンの検索とドットパターンの置換の対象となるドット数が少なくなり、１回のスムージング処理に要する演算を抑える効果が得られる。また、素数ではない拡大倍率と対応したジャギパターン及び置換パターンの形成を不要とする効果が得られる。
【０２０１】
実施の形態４．
実施の形態１〜３では、拡大後のビットマップフォントに対してジャギパターンの検索を行った。実施の形態４では、実施の形態１〜３のスムージングに先立って、拡大前のビットマップフォントに対してジャギの候補となるドットパターンを検索する。
【０２０２】
実施の形態４では、先ず、拡大前のビットマップフォントに対しジャギパターンの候補であるジャギ候補パターンの検索を行い、ジャギ候補パターンと一致したドットを拡大後のビットマップフォントから抽出し、実施の形態１〜３のスムージング処理に先行して置換を行う先行置換パターンによって、抽出したドットを置換する。実施の形態４を実施した以降は、実施の形態１〜３の要領で、拡大後のビットマップフォントに対してジャギパターンの検索を行い、ジャギパターンと一致したドットを置換パターンによって置換を行う。
【０２０３】
図２５は、実施の形態４における、スムージング処理装置１０１の機能ブロックを示す機能ブロック図である。スムージング処理装置１０１は、ビットマップフォント入力部２０１、ドットパターン記憶部２０３、ジャギドット記憶部２０５、ビットマップフォント出力部２０７、スムージング処理制御部２０８、第１ビットマップフォント記憶部２５０１、拡大倍率入力部２５０２、ジャギパターン検索部２５０３、ビットマップフォント拡大部２５０４、第２ビットマップフォント記憶部２５０５及びジャギパターン置換部２５０６で構成される。図２と同じ符号の機能部については説明を一部省略する。
【０２０４】
第１ビットマップフォント記憶部２５０１は、ビットマップフォント入力部２０１からビットマップフォントを受けて記憶する機能部である。
【０２０５】
拡大倍率入力部２５０２は、ビットマップフォント入力部２０１が入力したビットマップフォントを拡大する拡大倍率を入力する機能部である。拡大倍率の入力は、インタフェース装置１０２等から行う。
【０２０６】
ジャギパターン検索部２５０３は、拡大前のビットマップフォントからはジャギ候補パターンを検索し、拡大後のビットマップフォントからはジャギパターンを検索する機能部である。検索したビットマップフォントのドット情報を、検索に用いたジャギ候補パターン又はジャギパターンと対応付けて、ジャギドット記憶部２０５に記憶する。
【０２０７】
ここで、ジャギパターン検索部２５０３が、拡大前のビットマップフォントに対して行う検索処理を第１検索処理とし、拡大後のビットマップフォントに対して行う検索処理を第２検索処理とすると、第１検索処理では、第１ビットマップフォント記憶部２５０１に記憶のビットマップフォントからドットパターン記憶部２０３に記憶のジャギ候補パターンを検索し、第２検索処理では、第２ビットマップフォント記憶部２５０５に記憶の拡大ビットマップフォントからドットパターン記憶部２０３に記憶のジャギパターンを検索する。このときのジャギ候補パターン及びジャギパターンは、拡大倍率と対応するものを選択する。
【０２０８】
ビットマップフォント拡大部２５０４は、第１ビットマップフォント記憶部２５０１に記憶のビットマップフォントを、入力の拡大倍率で拡大し、第２ビットマップフォント記憶部２５０５に記憶する機能部である。このときのビットマップフォントの拡大は、ジャギパターン検索部２５０３での第１検索処理が完了した後に行う。
【０２０９】
ジャギパターン置換部２５０６は、ジャギドット記憶部２０５に記憶の検索結果に基づいて、第２ビットマップフォント記憶部２３０５に記憶の拡大ビットマップフォントの一部のドットを、ドットパターン記憶部２０３に記憶の先行置換パターン又は置換パターンで置換する機能部である。このときの先行置換パターン及び置換パターンはそれぞれ、ジャギ候補パターン及びジャギパターンと対応して、ドットパターン記憶部２０３に予め記憶される。
【０２１０】
図２６は、拡大前後のビットマップフォントに対しジャギ候補パターン及びジャギパターンを検索するスムージング処理を示すフロー図である。
【０２１１】
処理Ｓ２６０１では、拡大倍率入力部２５０２は、インタフェース装置１０２等から拡大倍率を入力する。その後、処理Ｓ２６０２に進む。
【０２１２】
処理Ｓ２６０２では、ジャギパターン検索部２５０３は、ドットパターン記憶部２０３に記憶したジャギ候補パターンのうち、未だ選択していないものを１つ選択する。このときのジャギ候補パターンの選択候補は、入力した拡大倍率と対応したものとなる。その後、処理Ｓ２６０３に進む。
【０２１３】
処理Ｓ２６０３では、ジャギパターン検索部２５０３は、選択したジャギ候補パターンを用いて、第１ビットマップフォント記憶部２５０１に記憶のビットマップフォントに対し、パターンマッチング検索を行う。そして、ジャギパターン検索部２５０３は、ビットマップフォントからジャギ候補パターンと一致する拡大前ドットパターンを検出すると、ジャギドット記憶部２０５に、検出した拡大前ドットパターンの情報とジャギ候補パターンとを合わせて記憶する。その後、処理Ｓ２６０４に進む。
【０２１４】
処理Ｓ２６０４では、ジャギパターン検索部２５０３は、選択候補のジャギ候補パターンを全て選択したかどうかを判定する。全て選択していれば処理Ｓ２６０５に進む。全て選択していなければ処理Ｓ２６０２に進む。
【０２１５】
処理Ｓ２６０５では、ビットマップフォント拡大部２５０４は、第１ビットマップフォント記憶部２５０１に記憶のビットマップフォントを入力した拡大倍率で拡大し、第２ビットマップフォント記憶部２５０５に記憶する。その後、処理Ｓ２６０６に進む。
【０２１６】
処理Ｓ２６０６では、ジャギパターン置換部２５０６は、第２ビットマップフォント記憶部２５０５に記憶の拡大後のビットマップフォントから、処理Ｓ２６０３で記憶した全ての拡大前ドットパターンの情報と対応するドットを抽出し、ドットパターン記憶部２０３に記憶の、ジャギ候補パターンと対応した先行置換パターンを用いて置換する。その後、処理Ｓ２６０７に進む。
【０２１７】
処理Ｓ２６０７では、ジャギパターン検索部２５０３は、ドットパターン記憶部２０３に記憶したジャギパターンのうち、未だ選択していないものを１つ選択する。このときのジャギパターンの選択候補は、入力した拡大倍率と対応したものとなる。その後、処理Ｓ２６０８に進む。
【０２１８】
処理Ｓ２６０８では、ジャギパターン検索部２５０３は、選択したジャギパターンを用いて、第２ビットマップフォント記憶部２５０５に記憶のビットマップフォントに対し、パターンマッチング検索を行う。そして、ジャギパターン検索部２５０３は、ビットマップフォントからジャギパターンと一致するドットパターンを検出すると、ジャギドット記憶部２０５に、検出したドットパターンの情報とジャギパターンとを合わせて記憶する。その後、処理Ｓ２６０９に進む。
【０２１９】
処理Ｓ２６０９では、ジャギパターン検索部２５０３は、選択候補のジャギパターンを全て選択したかどうかを判定する。全て選択していれば処理Ｓ２６１０に進む。全て選択していなければ処理Ｓ２６０７に進む。
【０２２０】
処理Ｓ２６１０では、ジャギパターン置換部２５０６は、第２ビットマップフォント記憶部２５０５に記憶の拡大後のビットマップフォントのうち、処理Ｓ２６０８で記憶した全てのドットパターンの情報と対応するドットを、ドットパターン記憶部２０３に記憶の、ジャギパターンと対応した置換パターンを用いて置換する。その後、処理を終了する。
【０２２１】
図２７は、拡大前のビットマップフォントを検索するジャギ候補パターンと拡大後のビットマップフォントを置換する先行置換パターンを示す模式図である。
【０２２２】
図２７（ａ）は、拡大前のビットマップフォントを検索する、４５°近傍の角度のドット列のジャギ候補パターンを示す模式図である。図２７（ｂ）は、拡大前のビットマップフォントを検索する、１３５°近傍の角度のドット列のジャギ候補パターンを示す模式図である。図２７（ｃ）は、２倍拡大後のビットマップフォントを置換する、４５°近傍の角度のドット列の先行置換パターンを示す模式図である。図２７（ｄ）は、２倍拡大後のビットマップフォントを置換する、１３５°近傍の角度のドット列の先行置換パターンを示す模式図である。
【０２２３】
図２７（ａ）及び（ｂ）のジャギ候補パターンを一点鎖線枠２７０１で囲む。図２７（ｃ）及び（ｄ）の先行置換パターンを二点鎖線枠２７０２で囲む。また、図２７（ｃ）の先行置換パターンは図２７（ａ）のジャギ候補パターンと対応し、図２７（ｄ）の先行置換パターンは図２７（ｂ）のジャギ候補パターンと対応する。
【０２２４】
尚、拡大後のビットマップフォントを検索するジャギパターンと置換する置換パターンについては、実施の形態１または２に説明したものとなる。
【０２２５】
実施の形態４によれば、拡大前のビットマップフォントに対し、ジャギパターンの候補となるジャギ候補パターンと一致する拡大前ドットパターンの検索を行い、拡大後のビットマップフォントに対し、検出した拡大前ドットパターンと対応するドットパターンを抽出して、ジャギ候補パターンと対応した先行置換パターンで置換することが可能となる。その結果として、実施の形態１〜３では複数回のパターンマッチング検索によって置換されたジャギを、１回のパターンマッチング検索でまとめて置換できる効果が得られる。
【符号の説明】
【０２２６】
１０１  スムージング処理装置
１０２  インタフェース装置
１０３  データ入力装置
１０４  データ記憶装置
１０５  データ出力装置
２０１  ビットマップフォント入力部
２０２  ビットマップフォント記憶部
２０３  ドットパターン記憶部
２０４、２５０３  ジャギパターン検索部
２０５  ジャギドット記憶部
２０６、２３０７、２５０６  ジャギパターン置換部
２０７  ビットマップフォント出力部
２０８  スムージング処理制御部
２０９、２３０６、２５０４  ビットマップフォント拡大部
２３０１、２５０１  第１ビットマップフォント記憶部
２３０２、２５０２  拡大倍率入力部
２３０３  素因数分解部
２３０４  素数記憶部
２３０５、２５０５  第２ビットマップフォント記憶部
【図１】
2016186549.tif 000003
【図２】
2016186549.tif 000004
【図３】
2016186549.tif 000005
【図４】
2016186549.tif 000006
【図５】
2016186549.tif 000007
【図６】
2016186549.tif 000008
【図７】
2016186549.tif 000009
【図８】
2016186549.tif 000010
【図９】
2016186549.tif 000011
【図１０】
2016186549.tif 000012
【図１１】
2016186549.tif 000013
【図１２】
2016186549.tif 000014
【図１３】
2016186549.tif 000015
【図１４】
2016186549.tif 000016
【図１５】
2016186549.tif 000017
【図１６】
2016186549.tif 000018
【図１７】
2016186549.tif 000019
【図１８】
2016186549.tif 000020
【図１９】
2016186549.tif 000021
【図２０】
2016186549.tif 000022
【図２１】
2016186549.tif 000023
【図２２】
2016186549.tif 000024
【図２３】
2016186549.tif 000025
【図２４】
2016186549.tif 000026
【図２５】
2016186549.tif 000027
【図２６】
2016186549.tif 000028
【図２７】
2016186549.tif 000029