(58)【調査した分野】(Int.Cl.,DB名)
前記指定フォントの情報が前記既存フォントの情報ではない場合に、前記フォントデータ取得部は、前記指定フォントの情報と前記複数種類のベクターフォントデータとの間でフォント名を比較し、予め定められたキーワードをより多く共通して含む前記フォント名を有する前記代用フォントデータを前記フォント記憶部から取得する、請求項1から請求項3のいずれか1項に記載の画像処理装置。
【発明を実施するための形態】
【0013】
以下、添付図面を参照しながら、本発明の実施形態について説明する。なお、以下の実施形態は、本発明を具体化した一例であって、本発明の技術的範囲を限定する性格を有さない。
【0014】
[画像処理装置10の構成]
実施形態に係る画像処理装置10は、端末装置8から描画ジョブデータJ0を受信し、受信した描画ジョブデータJ0から描画用ラスタデータD0を生成する描画用データ生成処理を実行可能な装置である。描画ジョブデータJ0は、印刷ジョブデータJ1またはFAXジョブデータJ2などである。
【0015】
例えば、画像処理装置10は、プリンター、複写機、ファクシミリ装置または複合機などである。端末装置8は、パーソナルコンピューターまたは携帯型情報端末などの情報処理装置である。
【0016】
図1に示されるように、画像処理装置10および端末装置8は、ネットワーク80を通じて相互に通信可能である。例えば、ネットワーク80は、ローカルエリアネットワークである。なお、
図1において、端末装置8およびネットワーク80は仮想線(二点鎖線)で示されている。
【0017】
画像処理装置10は、制御部1、画像形成部2,内蔵ストレージ3、操作表示部4および通信部5などを備える。操作表示部4は、操作部および表示部を含むユーザーインターフェイスである。
【0018】
通信部5は、ネットワーク80を通じて端末装置8との間でデータの受け渡しを行う通信インターフェイスデバイスである。制御部1は、端末装置8との間のデータの送信および受信の全てを、通信部5を通じて行う。
【0019】
画像形成部2は、電子写真方式またはインクジェット方式などの予め定められた方式でシート9に画像を形成する装置である。
【0020】
内蔵ストレージ3は、コンピューター読み取り可能な不揮発性のデータ記憶装置である。内蔵ストレージ3は、プログラムおよび各種のデータを記憶可能である。例えば、ハードディスクドライブおよびSSD(Solid State Drive)の一方または両方の組合せが、内蔵ストレージ3として採用される。
【0021】
内蔵ストレージ3は、複数種類のフォントデータD1を予め記憶している。本実施形態において、フォントデータD1は、ベクタデータである。即ち、フォントデータD1は、ベクターフォントデータである。
【0022】
例えば、フォントデータD1が、複数種類の明朝体フォントのデータと、複数種類のゴシック体フォントのデータとを含むことが考えられる。なお、内蔵ストレージ3は、予め複数種類のフォントデータD1を記憶する不揮発性のフォント記憶部の一例である。
【0023】
制御部1は、各種の演算、データ処理および画像処理装置10が備える各種の電子機器の制御を実行する。制御部1は、バスを通じて内蔵ストレージ3および通信部5との間でデータおよび制御信号の受け渡しが可能である。
【0024】
制御部1は、画像形成部2の制御を伴う各種のジョブを実行するジョブ制御部11と、前記ジョブの実行の過程において画像データの加工および生成などの処理を実行する画像処理部12とを含む。さらに、制御部1は、操作表示部4を制御するUI(User Interface)制御部13も含む。
【0025】
制御部1は、予め内蔵ストレージ3などに記憶されたプログラムを実行するプロセッサーによって実現される。例えば、制御部1が、MPU(Micro Processing Unit)およびDSP(Digital Signal Processor)の一方または両方を含むことが考えられる。
【0026】
ジョブ制御部11は、印刷制御部11aおよびFAX制御部11bなどを含む。印刷制御部11aは、印刷ジョブを実行する。前記印刷ジョブは、端末装置8から通信部5を通じて印刷ジョブデータJ1を受信し、受信した印刷ジョブデータJ1に対応する画像をシート9に形成する印刷処理を画像形成部2に実行させる処理である。
【0027】
前記印刷ジョブにおいて、画像処理部12は、印刷ジョブデータJ1から描画用ラスタデータD0を生成する処理を実行する。印刷制御部11aは、画像処理部12によって生成された印刷用ラスタデータの内容に応じて画像形成部2を制御する。
【0028】
FAX制御部11bは、ネットワークFAXジョブを実行する。前記ネットワークFAXジョブは、送信元の端末装置8からFAXジョブデータJ2を受信し、そのFAXジョブデータJ2に対応する受信FAXデータを内蔵ストレージ3に保存する処理を含む。さらに、前記ネットワークFAXジョブは、FAXジョブデータJ2に含まれる宛先情報が表す送信先の端末装置8にFAX受信通知を送信し、前記送信先の端末装置8からの要求に応じて、通信部5を通じて前記受信FAXデータを送信する処理を含む。
【0029】
前記FAXジョブにおいて、画像処理部12は、FAXジョブデータJ2から描画用ラスタデータD0を生成する処理を実行する。FAXジョブデータJ2から生成された描画用ラスタデータD0は、前記受信FAXデータに含められる。端末装置8は、前記受信FAXデータに含まれる描画用ラスタデータD0に基づく画像を端末装置8の画面に表示させることができる。
【0030】
印刷ジョブデータJ1およびFAXジョブデータJ2などの描画ジョブデータJ0が、文字列の描画に用いられるべき指定フォントの情報を含む場合がある。例えば、
図2に示されるように、描画ジョブデータJ0が、ページ毎の指定文字列描画情報J01およびオブジェクト描画情報J02を含む場合がある。
【0031】
指定文字列描画情報J01は、ページ毎の描画対象の文字列についての文字コードデータJ01a、指定フォント名J01bおよびサイズ指定コードJ01cを含むフォント指定情報J01xと、描画座標データJ01yとを含む。以下の説明において、前記描画対象の文字列のことを描画文字列と称する。
【0032】
指定フォント名J01bは、文字コードデータJ01aにより特定される前記描画文字列のフォントの種類を指定する情報の一例である。以下の説明において、指定フォント名J01bに対応するフォントデータのことを指定フォントデータD11と称する。
【0033】
サイズ指定コードJ01cは、前記描画文字列のフォントサイズ、即ち、指定フォントデータD11に対応する描画サイズを指定する情報の一例である。描画座標データJ01yは、ページ毎の前記描画文字列の描画位置を表す情報の一例である。
【0034】
描画ジョブデータJ0は、指定フォントデータD11を含まない。そのため、画像処理装置10の画像処理部12は、原則として指定フォントデータD11を内蔵ストレージ3から取得する。さらに、画像処理部12は、指定フォントデータD11を用いて前記描画文字列の画像データを生成する。
【0035】
しかしながら、指定フォントデータD11が内蔵ストレージ3に記憶されたフォントデータD1に含まれていない場合がある。この場合、画像処理部12は、内蔵ストレージ3に予め記憶されたフォントデータD1を代用フォントデータD12として内蔵ストレージ3から取得し、その代用フォントデータD12を用いて前記描画文字列の画像データを生成する。
【0036】
一方、オブジェクト描画情報J02は、ページ毎の描画内容データJ02xおよび描画座標データJ02yなどを含む。描画内容データJ02xは、例えば前記描画文字列に対応するフォントデータ、図形を表すベクタデータまたはビットマップ画像データなど、描画対象となるオブジェクトの描画内容を表すデータである。
【0037】
以下の説明において、前記描画文字列、図形およびビットマップ画像などの1まとまりの描画対象のことを描画オブジェクトと称する。描画座標データJ02yは、ページ毎の前記描画オブジェクトの描画位置を表す情報の一例である。
【0038】
オブジェクト描画情報J02は、前記描画オブジェクトの描画に必要な情報を全て含む完結した情報である。例えば、前記描画文字列に関するオブジェクト描画情報J02は、前記描画文字列に対応するフォントデータと、フォントのサイズ情報とを含む。したがって、画像処理装置10は、オブジェクト描画情報J02により特定される前記描画文字列の画像データを生成する場合、内蔵ストレージ3に記憶されたフォントデータD1を参照する必要がない。
【0039】
即ち、描画ジョブデータJ0において、ページ毎の前記描画文字列に関する情報は、フォントデータを含まない指定文字列描画情報J01およびフォントデータを含むオブジェクト描画情報J02の一方または両方によって提供される。
【0040】
なお、文字コードデータJ01a、指定フォント名J01bおよびサイズ指定コードJ01cを含むフォント指定情報J01xは、前記描画文字列のページ毎の描画内容を表す描画内容情報の一例である。また、オブジェクト描画情報J02の描画内容データJ02xは、フォント指定情報J01xにより特定される前記描画文字列以外の前記描画オブジェクトに関するページ毎の前記描画内容情報の一例である。
【0041】
印刷ジョブデータJ1およびFAXジョブデータJ2は、
図2に示されるように前記描画文字列を含む前記描画オブジェクトのページ毎の描画内容情報(J01x,J02x)および描画位置情報(J01y,J02y)を含む。
【0042】
ところで、代用フォントデータD12が用いられる場合においても、前記描画文字列が、極力、前記印刷ジョブデータにおいて指定されたフォントサイズのままで描画されることが望ましい。
【0043】
しかしながら、前記代用フォントデータに基づく前記描画文字列の画像は、サイズ指定コードJ01cによって指定されたフォントサイズのままで描画されると、許容される描画領域からはみ出る恐れがある。
【0044】
一方、画像処理装置10の画像処理部12は、後述する描画用データ生成処理を実行する。これにより、画像処理装置10は、代用フォントデータD12を用いる前記描画文字列の画像が許容される描画領域からはみ出すことを防止しつつ、極力、前記描画文字列を指定されたフォントサイズのままで描画できる。
【0045】
[描画用データ生成処理]
以下、
図3に示されるフローチャートを参照しつつ、印刷ジョブデータJ1に基づく前記描画用データ生成処理の手順の一例について説明する。
【0046】
画像処理部12は、前記描画用データ生成処理を実行するために、ジョブデータ解析部12aと、フォントデータ取得部12bと、文字列ラスタライズ部12cと、はみ出し判定部12dと、縮小率算出部12eと、サイズ調整部12fと、その他ラスタライズ部12gと、合成部12hと、充足度算出部12iとを含む。
【0047】
図3に示される前記描画用データ生成処理は、通信部5が端末装置8から印刷ジョブデータJ1を受信したときに開始される。以下の説明において、S101,S102,…は、前記描画用データ生成処理において制御部1が実行する工程の識別符号を表す。なお、前記描画用データ生成処理が、FAXジョブデータJ2について実行されることも考えられる。
【0048】
<工程S101>
前記描画用データ生成処理において、まず、印刷制御部11aが、端末装置8から通信部5を介して印刷ジョブデータJ1を受信する。なお、印刷制御部11aは、描画ジョブデータJ0を取得する描画ジョブデータ取得部の一例である。
【0049】
<工程S102>
次に、ジョブデータ解析部12aが、工程S101で得られた印刷ジョブデータJ1が前記描画内容情報としてフォント指定情報J01xを含むか否かに応じて、次に移行する工程を選択する。
【0050】
さらに、印刷ジョブデータJ1がフォント指定情報J01xを含む場合に、ジョブデータ解析部12aは、指定フォント名J01bが既存フォント名を含むか否かに応じて、次に移行する工程を選択する。前記既存フォント名は、予め内蔵ストレージ3に記憶された複数種類のフォントデータD1のいずれかを表す名称である。
【0051】
具体的には、印刷ジョブデータJ1がフォント指定情報J01xを含まない場合に、ジョブデータ解析部12aは、処理を工程S106へ移行させる。また、印刷ジョブデータJ1に含まれるフォント指定情報J01xの指定フォント名J01bが前記既存フォント名を含む場合に、ジョブデータ解析部12aは、処理を工程S103へ移行させる。また、指定フォント名J01bが前記既存フォント名を含まない場合に、ジョブデータ解析部12aは、処理を工程S105へ移行させる。
【0052】
<工程S103>
工程S103において、フォントデータ取得部12bが、フォント指定情報J01xにおける文字コードデータJ01aおよび指定フォント名J01bに対応する指定フォントデータD11を内蔵ストレージ3から取得する。
【0053】
<工程S104>
次に、文字列ラスタライズ部12cが、文字列ラスタライズ処理を実行する。前記文字列ラスタライズ処理は、フォントデータD1のうちフォントデータ取得部12bによって取得されたデータが表す文字列画像のラスタデータを生成する処理である。
【0054】
工程S104における前記文字列ラスタライズ処理は、指定文字列ラスタデータを生成する処理である。前記指定文字列ラスタデータは、工程S103で得られた指定フォントデータD11およびその指定フォントデータD11に対応するサイズ指定コードJ01cにより特定される文字列画像のラスタデータである。
【0055】
<工程S105>
さらに、指定フォント名J01bが前記既存フォント名とは異なるフォント名を含む場合に、画像処理部12は、後述する代用データ生成処理を実行する。
【0056】
前記代用データ生成処理は、指定フォントデータD11に代わる代用フォントデータD12を内蔵ストレージ3から取得し、その代用フォントデータD12が表す文字列画像のラスタデータを生成する処理である。
【0057】
以下の説明において、前記代用データ生成処理によって生成されるラスタデータのことを代用文字列ラスタデータと称する。また、代用フォントデータD12が表す文字列画像のことを代用文字列画像g2と称する(
図5,6参照)。
【0058】
後述するように、基本的には、前記代用文字列ラスタデータは、代用フォントデータD12とその代用フォントデータD12に対応するサイズ指定コードJ01cが表す標準フォントサイズとに基づいて生成される。この場合、代用文字列画像g2は、代用フォントデータD12および前記標準フォントサイズにより特定される基本サイズ文字列画像g21である(
図5参照)。
【0059】
しかしながら、基本サイズ文字列画像g21が、代用文字列画像g2の描画に許容される許容領域903からはみ出る場合がある(
図6参照)。この場合、前記代用文字列ラスタデータが、代用フォントデータD12と前記標準フォントサイズよりも小さな縮小フォントサイズとに基づいて生成されることもある。前記縮小フォントサイズに基づいて生成された代用フォントデータD12に対応する代用文字列画像g2は、縮小サイズ文字列画像g22である(
図6参照)。縮小サイズ文字列画像g22は、代用フォントデータD12および前記縮小フォントサイズにより特定される文字列画像である。
【0060】
従って、代用文字列画像g2の第1例は基本サイズ文字列画像g21であり、代用文字列画像g2の第2例は縮小サイズ文字列画像g22である(
図5,6参照)。前記代用データ生成処理の詳細については後述する。
【0061】
前記代用データ生成処理に続いて、工程S106の処理が実行される。なお、指定フォント名J01bが前記既存フォント名以外のフォント名を含まない場合、前記代用データ生成処理はスキップされる。
【0062】
<工程S106>
工程S106において、その他ラスタライズ部12gが、印刷ジョブデータJ1に含まれる描画内容データJ02xに従ってその他オブジェクト画像g3のラスタデータであるその他オブジェクトラスタデータを生成する。
【0063】
例えば、その他ラスタライズ部12gは、描画内容データJ02xに含まれるベクタデータおよびサイズデータに基づいて、前記ベクタデータが前記サイズデータに従ってサイズ調整されたラスタデータを前記その他オブジェクトラスタデータとして生成する。また、その他ラスタライズ部12gが、描画内容データJ02xに含まれるビットマップデータを印刷用のラスタデータへ変換することによって前記その他オブジェクトラスタデータを生成する場合もある。
【0064】
<工程S107>
次に、合成部12hが、指定文字列画像g1と代用文字列画像g2とその他オブジェクト画像g3とが描画座標データJ01y,J02yに従って配列された画像である合成画像g00を表す描画用ラスタデータD0を生成する。
図5は、合成画像g00の一例を示す。
【0065】
具体的には、合成部12hは、前記指定文字列ラスタデータと前記縮小代用ラスタデータと前記その他オブジェクトラスタデータとを合成することにより描画用ラスタデータD0を生成する。
【0066】
指定文字列画像g1は、前記指定文字列ラスタデータが表す画像である。代用文字列画像g2は、前記代用文字列ラスタデータが表す画像である。その他オブジェクト画像g3は、前記その他オブジェクトラスタデータが表す画像である。なお、その他オブジェクト画像g3が、フォントデータおよびフォントサイズの情報を含む描画内容データJ02xにより特定される文字列画像を含む場合もある。
【0067】
図5に示される合成画像g00は、1行分の文字列を表す指定文字列画像g1と、5行分の文字列を表す代用文字列画像g2と、グラフを表すその他オブジェクト画像g3とを含む。
【0068】
合成部12hは、工程S107の処理の終了後、前記描画用データ生成処理を終了させる。
【0069】
合成部12hは、印刷ジョブデータJ1に基づいて生成した描画用ラスタデータD0を印刷制御部11aへ出力する。これにより、印刷制御部11aが画像形成部2を制御することにより、画像形成部2が、描画用ラスタデータD0に基づく印刷処理を実行する。これにより、描画用ラスタデータD0が表す合成画像g00が、シート9に形成される。
【0070】
[代用データ生成処理]
次に、
図4示されるフローチャートを参照しつつ、工程S105における前記代用データ生成処理の手順の一例について説明する。以下の説明において、S201,S202,…は、前記代用データ生成処理において制御部1が実行する工程の識別符号を表す。
【0071】
前述したように、前記代用データ生成処理は、指定フォント名J01bが前記既存フォント名ではない場合、即ち、指定文字列描画情報J01が内蔵ストレージ3に存在する既存フォントの情報ではない場合に実行される。
【0072】
<工程S201>
前記代用データ生成処理において、フォントデータ取得部12bが、予め定められた選択ルールに従って、複数種類のフォントデータD1から代用フォントデータD12を選択する。
【0073】
例えば、フォントデータ取得部12bが、複数種類のフォントデータD1から予め定められた優先順位に従って代用フォントデータD12を選択することが考えられる。例えば、複数種類のフォントデータD1について、予め定められたサンプル文字列が同じフォントサイズで描画されたときに、文字列画像の長さが長くなる種類から順に高い優先度が設定されることが考えられる。
【0074】
また、フォントデータ取得部12bが、指定文字列描画情報J01の指定フォント名J01bと複数種類のフォントデータD1との間でフォント名を比較し、予め定められた"ゴシック"、"明朝"、"行書"および"楷書"などのキーワードをより多く共通して含む前記既存フォント名を有するフォントデータD1を優先して代用フォントデータD12として選択することも考えられる。
【0075】
<工程S202>
続いて、フォントデータ取得部12bは、工程S201で選択された代用フォントデータD12を内蔵ストレージ3から取得する。その際、フォントデータ取得部12bは、フォント指定情報J01xにおける文字コードデータJ01aに対応する代用フォントデータD12を取得する。
【0076】
<工程S203>
次に、文字列ラスタライズ部12cが、工程S202で得られた代用フォントデータD12について、前記文字列ラスタライズ処理を実行する。
【0077】
工程S203における前記文字列ラスタライズ処理は、代用フォントデータD12およびその代用フォントデータD12についてのサイズ指定コードJ01cにより特定される文字列画像を表す前記代用文字列ラスタデータを生成する処理である。代用フォントデータD12が表す文字列画像が前記代用文字列画像g2である(
図5,6参照)。
【0078】
<工程S204>
次に、はみ出し判定部12dが、代用文字列画像g2についてのはみ出し判定処理を実行する。前記はみ出し判定処理において、はみ出し判定部12dは、代用文字列画像g2の描画に許容されるページ毎の許容領域903を特定し、さらに、代用文字列画像g2が許容領域903からはみ出しているか否かを判定する(
図6参照)。
【0079】
許容領域903は、ページの有効領域901から指定文字列画像g1およびその他オブジェクト画像g3が占める優先領域902を除いた残りの領域である。例えば、はみ出し判定部12dは、操作表示部4に対する設定操作に従って予め設定されたページの余白の寸法情報に応じて有効領域901を特定する。また、有効領域901の情報が、印刷ジョブデータJ1に含まれていることも考えられる。
【0080】
はみ出し判定部12dは、前記指定文字列ラスタデータから指定文字列画像g1の外接矩形の幅および高さを特定する。さらに、はみ出し判定部12dは、指定文字列画像g1の外接矩形の幅および高さと、前記指定文字列ラスタデータに対応する描画座標データJ01yとによって指定文字列画像g1が占める領域を特定する。
【0081】
また、はみ出し判定部12dは、描画内容データJ02xからその他オブジェクト画像g3の外接矩形の幅および高さを特定する。さらに、はみ出し判定部12dは、その他オブジェクト画像g3の外接矩形の幅および高さと、描画座標データJ02yとによってその他オブジェクト画像g3が占める領域を特定する。
【0082】
本実施形態において、はみ出し判定部12dは、文字列の配列方向に沿う1行分の代用文字列画像g2である単位代用文字列画像g20ごとに、許容領域903からはみ出しているか否かを判定する。その際、はみ出し判定部12dは、単位代用文字列画像g20の外接矩形が占める領域である単位代用文字列領域904の一部が、許容領域903からはみ出しているか否かを判定する。
【0083】
はみ出し判定部12dは、単位代用文字列領域904の基点904aを、許容領域903における1行毎の単位代用文字列画像g20の配列の基準位置とする(
図6参照)。基点904aは、例えば単位代用文字列領域904の左下の角または左上の角の位置である。
【0084】
図6に示される合成画像g00の例は、5行分の単位代用文字列画像g20のうち、1行目、3行目および4行目の単位代用文字列画像g20が、許容領域903からはみ出している例を示す。
【0085】
単位代用文字列画像g20が許容領域903からはみ出した状況としては、
図6に示されるように単位代用文字列画像g20がその他オブジェクト画像g3が占める領域に重なった状況と、単位代用文字列画像g20の一部が有効領域901からはみ出した状況とが考えられる。
【0086】
以下の説明において、合成画像g00において許容領域903からはみ出している代用文字列画像g2のことをはみ出し画像と称する。また、合成画像g00において許容領域903内に収まる代用文字列画像g2のことを域内画像と称する。
【0087】
はみ出し判定部12dは、代用文字列画像g2が前記はみ出し画像であると判定した場合、処理を次の工程S205へ移行させ、代用文字列画像g2が前記域内画像であると判定した場合、処理を後述する工程S207へ移行させる。
【0088】
<工程S205>
工程S205において、縮小率算出部12eが、前記はみ出し画像と判定された代用文字列画像g2についてのサイズ縮小率を算出する。前記サイズ縮小率は、代用文字列画像g2を許容領域903内に収める縮小率である。
【0089】
例えば、縮小率算出部12eは、文字列の配列方向に沿う行ごとに、単位代用文字列画像g20を許容領域903内に収める縮小率である行単位縮小率を算出する。この場合、縮小率算出部12eは、単位代用文字列画像g20各々が位置する行ごとに、許容領域903の幅から予め定められたオブジェクト間隔を差し引くことにより許容幅を算出し、さらに、前記許容幅を単位代用文字列領域904の幅で除算することにより、前記行単位縮小率を算出する。
【0090】
さらに、工程S205において、縮小率算出部12eは、同種の代用フォントデータD12毎の前記行単位縮小率の最小値を、代用フォントデータD12の種類毎の前記サイズ縮小率として選択する。
【0091】
図6に示される5行分の単位代用文字列画像g20のうち、1行目および2行目の単位代用文字列画像g20が、第1の種類の代用フォントデータD12に基づく画像であり、3行目から5行目までの単位代用文字列画像g20が、第2の種類の代用フォントデータD12に基づく画像である。
【0092】
図6に示される例では、1行目の単位代用文字列画像g20について算出された前記行単位縮小率が、1行目および2行目の単位代用文字列画像g20についての前記サイズ縮小率として選択され、3行目の単位代用文字列画像g20について算出された前記行単位縮小率が、3行目から5行目までの単位代用文字列画像g20についての前記サイズ縮小率として選択される。
【0093】
以上に示されるように、縮小率算出部12eは、前記はみ出し画像と判定された代用文字列画像g2を許容領域903内に収める縮小率である前記サイズ縮小率を算出する(S205)。
【0094】
<工程S206>
次に、フォントデータ取得部12bが、工程S201において未だ選択されていない種類のフォントデータD1が残っているか否かに応じて、処理の移行先を制御する。
【0095】
未選択の種類のフォントデータD1が残っている場合、フォントデータ取得部12bは、処理を工程S201へ移行させる。一方、未選択の種類のフォントデータD1が残っていない場合、フォントデータ取得部12bは、処理を後述する工程S209へ移行させる。
【0096】
従って、代用文字列画像g2が前記はみ出し画像であると判定された場合、フォントデータ取得部12b、文字列ラスタライズ部12cおよびはみ出し判定部12dが、リトライ処理として工程S201〜S204の処理を実行する。
【0097】
前記リトライ処理において、フォントデータ取得部12bが、内蔵ストレージ3から他の種類の代用フォントデータD12を新たに取得する(S201,S201)。
【0098】
さらに、前記リトライ処理において、文字列ラスタライズ部12cが、新たに取得された代用フォントデータD12について前記文字列ラスタライズ処理を実行する(S203)。これにより、文字列ラスタライズ部12cは、新たに取得された代用フォントデータD12およびその代用フォントデータD12についてのサイズ指定コードJ01cに対応する前記代用文字列ラスタデータを新たに生成する。
【0099】
さらに、前記リトライ処理において、はみ出し判定部12dが、新たに生成された前記代用文字列ラスタデータが表す代用文字列画像g2が前記はみ出し画像であるか前記域内画像であるかを判定する(S204)。
【0100】
<工程S207>
工程S207において、充足度算出部12iが、前記域内画像と判定された代用文字列画像g2の許容領域903に対するサイズ充足率を算出する。前記サイズ充足率は充足度の一例である。
【0101】
例えば、充足度算出部12iは、文字列の配列方向に沿う行ごとに、単位代用文字列画像g20が許容領域903において占める度合いである行単位充足率を算出する。この場合、充足度算出部12iは、単位代用文字列画像g20各々が位置する行ごとに、許容領域903の幅から前記オブジェクト間隔を差し引くことにより前記許容幅を算出し、さらに、単位代用文字列領域904の幅を前記許容幅で除算することにより、前記行単位充足率を算出する。
【0102】
さらに、工程S207において、充足度算出部12iは、同種の代用フォントデータD12毎の前記行単位充足率の代表値を、代用フォントデータD12の種類毎の前記サイズ充足率として導出する。例えば、充足度算出部12iは、前記行単位充足率の平均値または最大値などの代表値を、前記サイズ充足率として導出する。
【0103】
<工程S208>
次に、充足度算出部12iは、工程S208で算出された前記サイズ充足率が予め設定された目標範囲内であるか否かに応じて、処理の移行先を制御する。
【0104】
具体的には、前記サイズ充足率が前記目標範囲内である場合に、充足度算出部12iは、処理を後述する工程S213へ移行させる。
【0105】
一方、前記サイズ充足率が前記目標範囲から外れる場合に、充足度算出部12iは、処理を前述の工程S206へ移行させる。これにより、未選択の種類のフォントデータD1が残っている場合に、フォントデータ取得部12b、文字列ラスタライズ部12cおよびはみ出し判定部12dが、前記リトライ処理(S201〜S204)を実行する。
【0106】
即ち、代用文字列画像g2が前記域内画像であると判定され、かつ、前記充足率が前記目標範囲から外れる場合にも、フォントデータ取得部12b、文字列ラスタライズ部12cおよびはみ出し判定部12dは、前記リトライ処理を実行する。
【0107】
例えば、前記目標範囲の下限値が0.7〜0.8程度であることが考えられる。また、前記目標範囲の上限値が1.0であることが考えられる。
【0108】
<工程S209>
工程S209の処理は、内蔵ストレージ3に記憶されている全ての種類のフォントデータD1について工程S201〜S204の処理が行われ、さらに、工程S205の処理または工程S207,S208の処理が行われた場合に実行される。
【0109】
工程S209において、フォントデータ取得部12bが、前記域内画像と判定された代用フォントデータD12を内蔵ストレージ3から再び取得する。その際、フォントデータ取得部12bは、前記サイズ充足率が最大の代用文字列画像g2に対応する代用フォントデータD12を取得する。
【0110】
一方、前記域内画像と判定された指定フォントデータD11が存在しない場合、フォントデータ取得部12bは、前記はみ出し画像と判定された代用フォントデータD12を内蔵ストレージ3から再び取得する(S209)。その際、フォントデータ取得部12bは、前記サイズ縮小率が最大の代用文字列画像g2に対応する代用フォントデータD12を取得する。
【0111】
なお、前記サイズ縮小率が最大の代用文字列画像g2は、許容領域903からのはみ出し度合いが最も小さな代用文字列画像g2である。
【0112】
<工程S210>
そして、フォントデータ取得部12bは、工程S209で取得した代用フォントデータD12が前記はみ出し画像である場合、処理を工程S211へ移行させ、そうでない場合に処理を工程S212へ移行させる。
【0113】
<工程S211>
工程S211において、サイズ調整部12fが、工程S209で得られた代用フォントデータD12に対応するサイズ指定コードJ01cが表すフォントサイズを前記サイズ縮小率に従って調整することにより、前記縮小フォントサイズを算出する。
【0114】
即ち、サイズ調整部12fは、サイズ指定コードJ01cが表すフォントサイズを最大の前記サイズ縮小率に従って調整することにより前記縮小フォントサイズを算出する。
【0115】
工程S211の処理は、内蔵ストレージ3に記憶されている全ての種類のフォントデータD1に対応する全ての種類の代用文字列画像g2が前記はみ出し画像であると判定された場合にのみ実行される。
【0116】
<工程S212>
工程S209,S210の処理が行われた後、文字列ラスタライズ部12cが、工程S209で得られた代用フォントデータD12について、前記文字列ラスタライズ処理を実行する。工程S209で得られた代用フォントデータD12が前記はみ出し画像に対応するデータであるか前記域内画像に対応するデータであるかに応じて、前記文字列ラスタライズ処理に用いられるフォントサイズが異なる。
【0117】
工程S209で得られた代用フォントデータD12が前記はみ出し画像である場合、文字列ラスタライズ部12cは、工程S209で得られた代用フォントデータD12および工程S211で算出された前記縮小フォントサイズにより特定される文字列画像を表す前記代用文字列ラスタデータを生成する。以下の説明において、前記縮小フォントサイズに基づき生成される前記代用文字列ラスタデータのことを縮小代用ラスタデータと称する。
【0118】
図7は、前記縮小代用ラスタデータが表す代用文字列画像g2を含む合成画像g00の一例を示す。
図7に示される合成画像g00は、
図6に示される1行目から2行目までの単位代用文字列画像g20および3行目から5行目までの単位代用文字列画像g20のそれぞれが、前記縮小フォントサイズに従って調整された例を示す。
【0119】
一方、工程S209で得られた代用フォントデータD12が前記域内画像である場合、文字列ラスタライズ部12cは、工程S209で得られた代用フォントデータD12およびサイズ指定コードJ01cに対応するフォントサイズにより特定される文字列画像を表す前記代用文字列ラスタデータを生成する。
【0120】
工程S209において、サイズ指定コードJ01cに基づき生成される前記代用文字列ラスタデータは、第1基本代用ラスタデータまたは第2基本代用ラスタデータである。第1基本代用ラスタデータは、前記サイズ充足率が前記目標範囲内である代用文字列画像g2を表すデータである。また、前記第2基本代用ラスタデータは、前記目標範囲から外れた前記サイズ充足率のうちの最大値に対応する代用文字列画像g2を表すデータである。
【0121】
<工程S213>
そして、前記目標範囲内の前記サイズ充足率に対応する代用フォントデータD12が存在する場合(工程S208のYes)、または、工程S212の処理が行われた場合に、文字列ラスタライズ部12cが、工程S213の処理を実行し、前記代用データ生成処理を終了させる。
【0122】
前記目標範囲内の前記サイズ充足率に対応する代用フォントデータD12が存在する場合、工程S213において、文字列ラスタライズ部12cは、工程S203で得られる前記代用文字列ラスタデータを、前記代用文字列ラスタデータの確定データとする。この場合、前記確定データは、前記第1基本代用ラスタデータである。
【0123】
また、工程S211およびS212の処理が行われた場合、文字列ラスタライズ部12cは、工程S212で得られる前記代用文字列ラスタデータを、前記代用文字列ラスタデータの前記確定データとする。この場合、前記確定データは、前記縮小代用ラスタデータである。
【0124】
また、工程S211の処理が行われずにS212の処理が行われた場合、文字列ラスタライズ部12cは、工程S212で得られる前記代用文字列ラスタデータを、前記代用文字列ラスタデータの前記確定データとする。この場合、前記確定データは、前記第2基本代用ラスタデータである。
【0125】
図2の工程S107において、合成部12hは、前記指定文字列ラスタデータと前記代用文字列ラスタデータの前記確定データと前記その他オブジェクトラスタデータとを合成することにより描画用ラスタデータD0を生成する。
【0126】
即ち、前記域内画像と判定された代用文字列画像g2の前記充足率が前記目標範囲に収まる場合に、合成部12hは、前記充足率が前記目標範囲に収まる代用文字列画像g2に対応する前記第1基本代用ラスタデータに基づいて描画用ラスタデータD0を生成する。
【0127】
また、前記域内画像と判定された前記代用文字列画像の前記充足度が前記目標範囲から外れる場合に、合成部12hは、前記充足率が最大の代用文字列画像g2に対応する前記第2基本代用ラスタデータに基づいて描画用ラスタデータD0を生成する。
【0128】
以上に示されるように、画像処理装置10において、代用文字列画像g2が前記はみ出し画像であると判定された場合、フォントデータ取得部12b、文字列ラスタライズ部12cおよびはみ出し判定部12dが、前記リトライ処理を実行する(工程S201〜S204)。
【0129】
従って、画像処理装置10は、代用フォントデータD12を用いる代用文字列画像g2が許容領域903からはみ出すことを防止しつつ、極力、代用文字列画像g2をサイズ指定コードJ01cによって指定されたフォントサイズのままで描画することができる。
【0130】
また、代用文字列画像g2をサイズ指定コードJ01cによって指定されたフォントサイズのままで描画することができない場合、画像処理装置10は、指定されたフォントサイズを前記サイズ縮小率に従ってリサイズした上で、前記縮小代用ラスタデータを生成する。これにより、代用フォントデータD12を用いる代用文字列画像g2が許容領域903からはみ出すことを防止することができる。
【0131】
また、前記域内画像と判定された代用文字列画像g2について、前記充足率が算出され、前記充足率が前記目標範囲内に収まる代用文字列画像g2となる代用フォントデータD12が優先して採用される(
図4の工程S207,S208,S213)。さらに、前記充足率が前記目標範囲内に収まらない場合、前記充足率が最大の代用文字列画像g2となる代用フォントデータD12が優先して採用される(
図4の工程S209)。これにより、指定された種類のフォントに基づく文字列画像に対してより近似したサイズの代用文字列画像g2を描画することができる。
【0132】
また、前述したように、
図4の工程S201において、フォントデータ取得部12bが、"ゴシック"または"明朝"などの前記キーワードをより多く共通して含むフォント名を有する代用フォントデータD12を優先して取得することが考えられる。これにより、指定された種類のフォントに基づく文字列画像に対してより近似した形態の代用文字列画像g2を描画することができる。
【0133】
[応用例]
画像処理装置10において、フォントデータD1を予め記憶する不揮発性の記憶部が、通信部5を通じて通信可能な他装置の記憶部であることも考えられる。この場合、画像処理装置10は、前記他装置の記憶部から通信部5を通じて指定フォントデータD11および代用フォントデータD12を取得する。
【0134】
図4に示される処理において、前記充足率に関する工程S207,S208の処理が省略されることも考えられる。この場合、代用文字列画像g2が前記域内画像であると判定された場合、工程S213の処理が実行される。