(57)【要約】【課題】プリンタブルデータに含まれる文字コードにより指定される文字を描画する。【解決手段】画像形成装置は、文字コードテーブルを参照し、プリンタブルデータに含まれる文字コードである指定文字コードが、フォント指定情報により指定されるフォントである指定フォントによりサポートされるか否かを判断し、指定文字コードが、指定フォントによりサポートされない文字コードである非サポート文字コードであると判断すると、文字コードテーブルを参照し、非サポート文字コードをサポートするフォントである代替フォントがあるか否かを判断し、代替フォントがあると判断すると、非サポート文字コードにより指定される文字を、代替フォントを用いて描画する。【選択図】図２
2020194534.tif 000002
【特許請求の範囲】
【請求項１】
複数のフォントそれぞれがサポートする複数の文字コードを記憶する文字コードテーブルを記憶するメモリーと、
フォント指定情報と、文字コードとを含むプリンタブルデータを、ホスト装置から受信する通信インターフェースと、
情報処理プログラムを実行することにより、描画モジュールとして動作する制御回路と
を具備し、
前記描画モジュールは、
前記文字コードテーブルを参照し、前記プリンタブルデータに含まれる前記文字コードである指定文字コードが、前記フォント指定情報により指定されるフォントである指定フォントによりサポートされるか否かを判断し、
前記指定文字コードが、前記指定フォントによりサポートされない文字コードである非サポート文字コードであると判断すると、
前記文字コードテーブルを参照し、前記非サポート文字コードをサポートするフォントである代替フォントがあるか否かを判断し、
前記代替フォントがあると判断すると、前記非サポート文字コードにより指定される文字を、前記代替フォントを用いて描画する
画像形成装置。
【請求項２】
請求項１に記載の画像形成装置であって、
前記メモリーは、前記複数のフォントそれぞれの文字属性を記憶するフォント属性テーブルをさらに記憶し、
前記描画モジュールは、
前記代替フォントが複数あると判断すると、
前記フォント属性テーブルを参照し、前記複数の代替フォントのうち、前記指定フォントの文字属性の全部又は一部と同一の文字属性を有する代替フォントを用いて、前記非サポート文字コードにより指定される文字を描画する
画像形成装置。
【請求項３】
請求項２に記載の画像形成装置であって、
前記プリンタブルデータは、描画属性をさらに含み、
前記フォント属性テーブルは、前記複数の代替フォントそれぞれの描画属性をさらに記憶し、
前記描画モジュールは、前記フォント属性テーブルを参照し、前記複数の代替フォントのうち、前記プリンタブルデータに含まれる前記描画属性である指定描画属性の全部又は一部と同一の描画属性を有する代替フォントを用いて、前記非サポート文字コードにより指定される文字を描画する
画像形成装置。
【請求項４】
請求項２又は３に記載の画像形成装置であって、
前記フォント属性テーブルは、前記複数のフォントそれぞれの優先度をさらに記憶し、
前記描画モジュールは、
前記代替フォントが複数あると判断すると、
前記フォント属性テーブルを参照し、最も高い優先度の代替フォントを用いて、前記非サポート文字コードにより指定される文字を描画する
画像形成装置。
【請求項５】
請求項１乃至４の何れか一項に記載の画像形成装置であって、
前記描画モジュールは、
前記文字コードテーブルを参照し、前記プリンタブルデータに含まれる前記指定文字コードの一部が前記指定フォントによりサポートされる文字コードであるサポート文字コードであると判断し、前記指定文字コードの残りの一部が前記非サポート文字コードであると判断すると、
前記サポート文字コードにより指定される文字を、前記指定フォントを用いて描画し、
前記非サポート文字コードにより指定される文字を、前記代替フォントを用いて描画する
画像形成装置。
【請求項６】
請求項１乃至５の何れか一項に記載の画像形成装置であって、
前記文字コードテーブルを参照し、前記プリンタブルデータに含まれる前記指定文字コードの一部が前記指定フォントによりサポートされる文字コードであるサポート文字コードであると判断し、前記指定文字コードの残りの一部が前記非サポート文字コードであると判断すると、
前記サポート文字コードにより指定される文字と、前記非サポート文字コードにより指定される文字とを、前記代替フォントを用いて描画する
画像形成装置。
【請求項７】
請求項２乃至４の何れか一項に記載の画像形成装置であって、
前記フォント属性テーブルが記憶する前記文字属性は、固定幅又は可変幅と、セリフ又はサンセリフとを含む
画像形成装置。
【請求項８】
請求項３に記載の画像形成装置であって、
前記フォント属性テーブルが記憶する前記描画属性は、イタリック体のサポート／非サポートと、ボールド体のサポート／非サポートとを含む
画像形成装置。
【請求項９】
複数のフォントそれぞれがサポートする複数の文字コードを記憶する文字コードテーブルを記憶するメモリーと、
フォント指定情報と、文字コードとを含むプリンタブルデータを、ホスト装置から受信する通信インターフェースと、
情報処理プログラムを実行することにより、描画モジュールとして動作する制御回路と
を具備する画像形成装置の前記描画モジュールにより、
前記文字コードテーブルを参照し、前記プリンタブルデータに含まれる前記文字コードである指定文字コードが、前記フォント指定情報により指定されるフォントである指定フォントによりサポートされるか否かを判断し、
前記指定文字コードが、前記指定フォントによりサポートされない文字コードである非サポート文字コードであると判断すると、
前記文字コードテーブルを参照し、前記非サポート文字コードをサポートするフォントである代替フォントがあるか否かを判断し、
前記代替フォントがあると判断すると、前記非サポート文字コードにより指定される文字を、前記代替フォントを用いて描画する
画像形成方法。
【請求項１０】
複数のフォントそれぞれがサポートする複数の文字コードを記憶する文字コードテーブルを記憶するメモリーと、
フォント指定情報と、文字コードとを含むプリンタブルデータを、ホスト装置から受信する通信インターフェースと、
制御回路と
を具備する画像形成装置の前記制御回路を、
前記文字コードテーブルを参照し、前記プリンタブルデータに含まれる前記文字コードである指定文字コードが、前記フォント指定情報により指定されるフォントである指定フォントによりサポートされるか否かを判断し、
前記指定文字コードが、前記指定フォントによりサポートされない文字コードである非サポート文字コードであると判断すると、
前記文字コードテーブルを参照し、前記非サポート文字コードをサポートするフォントである代替フォントがあるか否かを判断し、
前記代替フォントがあると判断すると、前記非サポート文字コードにより指定される文字を、前記代替フォントを用いて描画する
描画モジュールとして動作させる
情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、プリンタブルデータに含まれる文字コードにより指定される文字を描画する画像形成装置、画像形成方法及び情報処理プログラムに関する。
【背景技術】
【０００２】
ホスト装置から受信したプリンタブルデータに含まれる文字コードにより指定される文字を、プリンタブルデータに含まれるフォントを用いて描画する画像形成装置が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−０４４４６８号公報
【特許文献２】特開２０１６−１９２１７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
プリンタブルデータに含まれる文字コードにより指定される文字を確実に描画することが望ましい。
【課題を解決するための手段】
【０００５】
本開示の一形態に係る画像形成装置は、
複数のフォントそれぞれがサポートする複数の文字コードを記憶する文字コードテーブルを記憶するメモリーと、
フォント指定情報と、文字コードとを含むプリンタブルデータを、ホスト装置から受信する通信インターフェースと、
情報処理プログラムを実行することにより、描画モジュールとして動作する制御回路と
を具備し、
前記描画モジュールは、
前記文字コードテーブルを参照し、前記プリンタブルデータに含まれる前記文字コードである指定文字コードが、前記フォント指定情報により指定されるフォントである指定フォントによりサポートされるか否かを判断し、
前記指定文字コードが、前記指定フォントによりサポートされない文字コードである非サポート文字コードであると判断すると、
前記文字コードテーブルを参照し、前記非サポート文字コードをサポートするフォントである代替フォントがあるか否かを判断し、
前記代替フォントがあると判断すると、前記非サポート文字コードにより指定される文字を、前記代替フォントを用いて描画する。
【０００６】
本開示の一形態に係る画像形成方法は、
複数のフォントそれぞれがサポートする複数の文字コードを記憶する文字コードテーブルを記憶するメモリーと、
フォント指定情報と、文字コードとを含むプリンタブルデータを、ホスト装置から受信する通信インターフェースと、
情報処理プログラムを実行することにより、描画モジュールとして動作する制御回路と
を具備する画像形成装置の前記描画モジュールにより、
前記文字コードテーブルを参照し、前記プリンタブルデータに含まれる前記文字コードである指定文字コードが、前記フォント指定情報により指定されるフォントである指定フォントによりサポートされるか否かを判断し、
前記指定文字コードが、前記指定フォントによりサポートされない文字コードである非サポート文字コードであると判断すると、
前記文字コードテーブルを参照し、前記非サポート文字コードをサポートするフォントである代替フォントがあるか否かを判断し、
前記代替フォントがあると判断すると、前記非サポート文字コードにより指定される文字を、前記代替フォントを用いて描画する。
【０００７】
本開示の一形態に係る情報処理プログラムは、
複数のフォントそれぞれがサポートする複数の文字コードを記憶する文字コードテーブルを記憶するメモリーと、
フォント指定情報と、文字コードとを含むプリンタブルデータを、ホスト装置から受信する通信インターフェースと、
制御回路と
を具備する画像形成装置の前記制御回路を、
前記文字コードテーブルを参照し、前記プリンタブルデータに含まれる前記文字コードである指定文字コードが、前記フォント指定情報により指定されるフォントである指定フォントによりサポートされるか否かを判断し、
前記指定文字コードが、前記指定フォントによりサポートされない文字コードである非サポート文字コードであると判断すると、
前記文字コードテーブルを参照し、前記非サポート文字コードをサポートするフォントである代替フォントがあるか否かを判断し、
前記代替フォントがあると判断すると、前記非サポート文字コードにより指定される文字を、前記代替フォントを用いて描画する
描画モジュールとして動作させる。
【発明の効果】
【０００８】
本開示によれば、プリンタブルデータに含まれる文字コードにより指定される文字を確実に描画することを図ることができる。
【０００９】
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００１０】
【図１】本開示の一実施形態に係る画像形成装置のハードウェア構成を示す。
【図２】画像形成装置の機能的構成を示す。
【図３】フォント属性テーブルの一例を示す。
【図４】描画モジュールの動作フローを示す。
【図５】描画モジュールが代替フォントを判断するための動作フローを示す。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら、本開示の実施形態を説明する。
【００１２】
１．画像形成装置のハードウェア構成
【００１３】
図１は、本開示の一実施形態に係る画像形成装置のハードウェア構成を示す。
【００１４】
画像形成装置１０は、制御回路１００を備える。制御回路１００は、プロセッサーであるＣＰＵ１１ａ（Central Processing Unit）、ＲＡＭ１１ｂ（Random Access Memory）、メモリーであるＲＯＭ１１ｃ（Read Only Memory）及び専用のハードウェア回路等から構成され、画像形成装置１０の全体的な動作制御を司る。ＣＰＵ１１ａは、ＲＯＭ１１ｃが記憶する情報処理プログラム（画像処理プログラムを含む）をＲＡＭ１１ｂにロードして実行する。ＲＯＭ１１ｃは、ＣＰＵ１１ａが実行するプログラムやデータなどを固定的に記憶する。ＲＯＭ１１ｃは、非一過性のコンピューター読み取り可能な記録媒体の一例である。
【００１５】
制御回路１００は、画像読取部１２（イメージスキャナー）、画像処理部１４（ＧＰＵ（Graphics Processing Unit）を含む）、画像メモリー１５、画像形成部１６（プリンター）、表示部１７ａを備える操作部１７（タッチパネル）、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等の大容量の不揮発性の記憶装置１８、ファクシミリ通信部１９及びネットワーク通信インターフェース１３等と接続されている。制御回路１００は、接続されている上記各部の動作制御や、各部との間での信号又はデータの送受信を行う。表示部１７ａを操作部１７（タッチパネル）は、入力装置の一形態であり、入力装置として、マイクロフォンを含む音声入力装置が設けられてもよい。
【００１６】
２．画像形成装置の機能的構成
【００１７】
図２は、画像形成装置の機能的構成を示す。
【００１８】
画像形成装置１０の制御回路１００において、ＣＰＵ１１ａは、ＲＯＭ１１ｃが記憶する画像処理プログラムをＲＡＭ１１ｂにロードして実行することにより、描画モジュール１１０及びビデオモジュール１２０として動作する。
【００１９】
記憶装置１８は、文字コードテーブル２００と、フォント属性テーブル３００と、フォントデータ４００とを記憶する。
【００２０】
フォントデータ４００は、各フォントを描画するのに用いられるレジデントフォントデータ（例えば、Arialフォント）である。
【００２１】
文字コードテーブル２００は、複数の種類のフォントデータ４００に対して個別に存在する。例えば、記憶装置１８は、フォント「Arial」に対して１つの文字コードテーブル２００、フォント「UniversMedium」に対して別の１つの文字コードテーブル２００を記憶する。文字コードテーブル２００は、そのフォントに含まれる複数の文字を一意に識別する複数の文字コードを記録する。言い換えれば、文字コードテーブル２００は、そのフォントがサポートする複数の文字コードを記憶する。
【００２２】
フォント属性テーブル３００は、各フォントそれぞれの文字属性及び描画属性を記憶する。
【００２３】
３．フォント属性テーブルの一例
【００２４】
図３は、フォント属性テーブルの一例を示す。
【００２５】
フォント属性テーブル３００は、複数のフォント３０１それぞれの文字属性３１０、及び描画属性３２０を記憶する。文字属性３１０は、文字のスタイルの属性を意味する。描画属性３２０は、文字の描画スタイルの属性を意味する。文字属性３１０は、例えば、固定幅又は可変幅３１１と、セリフ又はサンセリフ３１２とを含む。描画属性３２０は、例えば、イタリック体のサポート／非サポート３２１と、ボールド体のサポート／非サポート３２２とを含む。
【００２６】
例えば、フォント属性テーブル３００は、フォント「Arial」３０１に対して、「可変幅」３１１、「サンセリフ」３１２、イタリック体のサポート３２１と、ボールド体のサポート３２２とを記憶する。フォント「Courier」３０１に対して、「固定幅」３１１、「セリフ」３１２、イタリック体のサポート３２１と、ボールド体のサポート３２２とを記憶する。フォント「LetterGothic」３０１に対して、「固定幅」３１１、「サンセリフ」３１２、イタリック体のサポート３２１と、ボールド体のサポート３２２とを記憶する。フォント「CGTimes」３０１に対して、「可変幅」３１１、「セリフ」３１２、イタリック体のサポート３２１と、ボールド体のサポート３２２とを記憶する。フォント「UniversMedium」３０１に対して、「可変幅」３１１、「サンセリフ」３１２、イタリック体のサポート３２１と、ボールド体のサポート３２２とを記憶する。
【００２７】
４．描画モジュールの動作フロー
【００２８】
図４は、描画モジュールの動作フローを示す。
【００２９】
画像形成装置１０は、ネットワーク通信インターフェース１３を介して、ネットワークＮに接続されたホスト装置２０から、プリンタブルデータを受信する。プリンタブルデータは、例えば、ＰＤＬ（Page Description Language）で記述されている。プリンタブルデータは、出力時のフォント（Arial等）を指定する情報（フォント指定情報）と、文字コードとを含む。プリンタブルデータは、さらに、描画属性（イタリック体、ボールド体等）を含むこともあるし、含まないこともある。プリンタブルデータが指定するフォントは、１種類のこともあるし、２種類以上のこともある。プリンタブルデータが指定するフォントが２種類以上の場合、描画モジュール１１０は、この動作フローを、フォント毎に実行する。
【００３０】
描画モジュール１１０は、文字コードテーブル２００を参照し、プリンタブルデータに含まれるフォント指定情報により指定されるフォント（指定フォント、と称する）が、プリンタブルデータに含まれる文字コード（指定文字コード、と称する）をサポートするか否かを判断する（ステップＳ１０１）。具体的には、描画モジュール１１０は、指定フォントの文字コードテーブル２００が、プリンタブルデータに含まれる全ての指定文字コードを含むか否かを判断する。
【００３１】
描画モジュール１１０は、文字コードテーブル２００を参照し、指定フォントが指定文字コードをサポートすると判断する（ステップＳ１０１、ＹＥＳ）。具体的には、描画モジュール１１０は、指定フォントの文字コードテーブル２００が、プリンタブルデータに含まれる全ての指定文字コードを含むと判断する。この場合、描画モジュール１１０は、指定文字コードにより指定される文字を、指定フォントを用いて描画する（ステップＳ１０２）。具体的には、描画モジュール１１０は、指定文字コードにより指定される文字を、指定フォントのフォントデータ４００を使用して描画することにより、描画データ（ビットマップデータ）を生成する。描画モジュール１１０は、生成した描画データ（ビットマップデータ）を、ビデオモジュール１２０に出力する。
【００３２】
一方、描画モジュール１１０は、文字コードテーブル２００を参照し、指定フォントが少なくとも一部の指定文字コードをサポートしないと判断する（ステップＳ１０１、ＮＯ）。具体的には、描画モジュール１１０は、指定フォントの文字コードテーブル２００が、プリンタブルデータに含まれる少なくとも一部の指定文字コードを含まないと判断する。
【００３３】
以下、指定フォントがサポートしない指定文字コード（指定フォントの文字コードテーブル２００に含まれない指定文字コード）を、「非サポート文字コード」と称する。指定フォントがサポートする指定文字コード（指定フォントの文字コードテーブル２００に含まれる指定文字コード）を、「サポート文字コード」と称する。
【００３４】
この場合、描画モジュール１１０は、文字コードテーブル２００を参照し、非サポート文字コードをサポートするフォント（代替フォント、と称する）があるか否かを判断する（ステップＳ１０３）。具体的には、描画モジュール１１０は、指定フォント以外のフォントの文字コードテーブル２００の何れかが、非サポート文字コードを含むか否かを判断する。なお、描画モジュール１１０は、非サポート文字コードを含む文字コードテーブル２００が複数ある場合、全ての文字コードテーブル２００を判断する。言い換えれば、描画モジュール１１０は、代替フォントが複数ある場合、複数の代替フォントを全て判断する。
【００３５】
描画モジュール１１０は、文字コードテーブル２００を参照し、代替フォントが無いと判断する（ステップＳ１０３、ＮＯ）。言い換えれば、描画モジュール１１０は、非サポート文字コードを含む文字コードテーブル２００が無いと判断する。この場合、描画モジュール１１０は、プリンタブルデータのＰＤＬに従って、エラー処理を実行する（ステップＳ１０４）。例えば、描画モジュール１１０は、プリンタブルデータのＰＤＬがＰＣＬ５である場合、ＰＣＬ５に従って、非サポート文字コードを「スペース」で代替する。
【００３６】
一方、描画モジュール１１０は、文字コードテーブル２００を参照し、１又は複数の代替フォントがあると判断する（ステップＳ１０３、ＹＥＳ）。描画モジュール１１０は、代替フォントが１つの場合（ステップＳ１０５、ＹＥＳ）、この代替フォントを判断する（ステップＳ１０６）。
【００３７】
一方、描画モジュール１１０は、代替フォントが複数であると場合（ステップＳ１０５、ＮＯ）、フォント属性テーブル３００を参照し、複数の代替フォントのうち、指定フォントの文字属性と、プリンタブルデータに含まれる描画属性（指定描画属性、と称する）とに最も近い属性を有する代替フォントを判断する（ステップＳ１０７）。
【００３８】
図５は、描画モジュールが代替フォントを判断するための動作フローを示す。
【００３９】
描画モジュール１１０は、フォント属性テーブル３００を参照し、指定フォントの文字属性３１０の全部と同一の文字属性３１０を有する代替フォント（１又は複数）があるか否かを判断する。なお、プリンタブルデータが指定描画属性（イタリック体、ボールド体等）を含むことがある。この場合、描画モジュール１１０は、フォント属性テーブル３００を参照し、さらに、プリンタブルデータに含まれる指定描画属性３２０の全部と同一の指定描画属性３２０を有する代替フォント（１又は複数）があるか否かを判断する。要するに、描画モジュール１１０は、フォント属性テーブル３００を参照し、指定フォントの文字属性３１０の全部と同一の文字属性３１０と、指定描画属性（プリンタブルデータに含まれる場合）の全部と同一の描画属性３２０とを有する代替フォント（１又は複数）があるか否かを判断する（ステップＳ２０１）。
【００４０】
描画モジュール１１０は、指定フォントの文字属性３１０の全部と同一の文字属性３１０と、指定描画属性（プリンタブルデータに含まれる場合）の全部と同一の描画属性３２０とを有する代替フォント（１又は複数）がある場合（ステップＳ２０１、ＹＥＳ）、この代替フォント（１又は複数）を判断する（ステップＳ２０３）。
【００４１】
一方、描画モジュール１１０は、指定フォントの文字属性３１０の全部と同一の文字属性３１０と、指定描画属性（プリンタブルデータに含まれる場合）の全部と同一の描画属性３２０とを有する代替フォント（１又は複数）が無いと判断する（ステップＳ２０１、ＮＯ）。この場合、描画モジュール１１０は、指定フォントの文字属性３１０の一部と同一の文字属性３１０を有する代替フォント（１又は複数）があるか否かを判断する。なお、プリンタブルデータが指定描画属性を含むことがある。この場合、描画モジュール１１０は、フォント属性テーブル３００を参照し、さらに、プリンタブルデータに含まれる指定描画属性３２０の一部と同一の指定描画属性３２０を有する代替フォント（１又は複数）があるか否かを判断する。要するに、描画モジュール１１０は、フォント属性テーブル３００を参照し、指定フォントの文字属性３１０の一部と同一の文字属性３１０及び／又は指定描画属性（プリンタブルデータに含まれる場合）の一部と同一の描画属性３２０を有する代替フォント（１又は複数）があるか否かを判断する（ステップＳ２０２）。描画モジュール１１０は、指定フォントの文字属性３１０の一部と同一の文字属性３１０及び／又は指定描画属性（プリンタブルデータに含まれる場合）の一部と同一の描画属性３２０を有する代替フォント（１又は複数）がある場合（ステップＳ２０２、ＹＥＳ）、この代替フォント（１又は複数）を判断する（ステップＳ２０４）。
【００４２】
一方、描画モジュール１１０は、指定フォントの文字属性３１０の一部と同一の文字属性３１０及び／又は指定描画属性（プリンタブルデータに含まれる場合）の一部と同一の描画属性３２０を有する代替フォント（１又は複数）が無い場合（ステップＳ２０２、ＮＯ）、指定フォントの文字属性３１０と異なる文字属性３１０と、指定描画属性（プリンタブルデータに含まれる場合）と異なる描画属性３２０とを有する代替フォント（１又は複数）を判断する（ステップＳ２０５）。
【００４３】
描画モジュール１１０は、判断した代替フォント（ステップＳ２０３、Ｓ２０４、Ｓ２０５）が１つである場合（ステップＳ２０６、ＹＥＳ）、この代替フォントを判断する（ステップＳ２０７）。
【００４４】
一方、描画モジュール１１０は、判断した代替フォント（ステップＳ２０３、Ｓ２０４、Ｓ２０５）が複数である場合（ステップＳ２０６、ＮＯ）、複数の代替フォントから、１つの代替フォントを判断する（ステップＳ２０８）。例えば、描画モジュール１１０は、以下の方法で１つの代替フォントを判断すればよい。一例として、フォント属性テーブル３００は、全てのフォント３０１について、優先度（例えば、フォント３０１の使用頻度が高い順）を記憶する。描画モジュール１１０は、判断した複数の代替フォントから、最も高い優先度の代替フォントを判断すればよい。
【００４５】
図４を再び参照し、描画モジュール１１０は、非サポート文字コード（指定フォントがサポートしない指定文字コード）を、判断した代替フォント（ステップＳ１０６、Ｓ１０７）を用いて描画する（ステップＳ１０８）。具体的には、描画モジュール１１０は、非サポート文字コードにより指定される文字を、代替フォントのフォントデータ４００を使用して描画することにより、描画データ（ビットマップデータ）を生成する。描画モジュール１１０は、生成した描画データ（ビットマップデータ）を、ビデオモジュール１２０に出力する。
【００４６】
なお、描画モジュール１１０は、サポート文字コード（指定フォントがサポートする指定文字コード）により指定される文字を、指定フォントを用いて描画してもよい。逆に言えば、描画モジュール１１０は、非サポート文字コードにより指定される文字だけを代替フォントを用いて描画し、全てのサポート文字コードにより指定される文字を指定フォントを用いて描画してもよい。
【００４７】
あるいは、描画モジュール１１０は、サポート文字コードにより指定される文字を、代替フォントを用いて描画してもよい。例えば、描画モジュール１１０は、全ての指定文字コードにより指定される文字を、代替フォントを用いて描画してもよい。あるいは、描画モジュール１１０は、非サポート文字コードにより指定される文字を含む文字列（例えば、１ワード）を、代替フォントを用いて描画してもよい。
【００４８】
５．具体例
【００４９】
描画モジュール１１０の動作フローを、以下の具体例に基づき説明する。プリンタブルデータに含まれるフォント指定情報により指定されるフォント（指定フォント）は「Arial」である。プリンタブルデータに含まれる文字コード（指定文字コード）は「U+0041」、「U+0402」、及び「U+0042」である。文字コード「U+0041」、「U+0402」、及び「U+0042」は、それぞれ、文字「A」、「キリル文字：セルビア語の第６字母ジェー」、及び「B」を指定するUnicodeである。プリンタブルデータは、指定描画属性（イタリック体、ボールド体等）を含まない。
【００５０】
図４を参照し、描画モジュール１１０は、指定フォント「Arial」の文字コードテーブル２００を参照し、指定フォント「Arial」が、全ての指定文字コード「U+0041」、「U+0402」、及び「U+0042」をサポートするか否かを判断する（ステップＳ１０１）。指定フォント「Arial」は、指定文字コード「U+0041」及び「U+0042」（文字「A」及び「B」を指定する）をサポートするが、指定文字コード「U+0402」（文字「キリル文字：セルビア語の第６字母ジェー」を指定する）をサポートしない。従って、描画モジュール１１０は、指定フォント「Arial」が、一部の指定文字コード「U+0041」及び「U+0042」（サポート文字コード）をサポートするものの、一部の指定文字コード「U+0402」（非サポート文字コード）をサポートしないと判断する（ステップＳ１０１、ＮＯ）。
【００５１】
描画モジュール１１０は、文字コードテーブル２００を参照し、非サポート文字コード「U+0402」（文字「キリル文字：セルビア語の第６字母ジェー」を指定する）をサポートするフォント（代替フォント）があるか否かを判断する（ステップＳ１０３）。フォント「Courier」、「LetterGothic」、「CGTimes」及び「UniversMedium」は、非サポート文字コード「U+0402」（文字「キリル文字：セルビア語の第６字母ジェー」を指定する）をサポートする（ステップＳ１０３、ＹＥＳ）。従って、描画モジュール１１０は、複数の代替フォント「Courier」、「LetterGothic」、「CGTimes」及び「UniversMedium」があると判断する（ステップＳ１０５、ＮＯ）。すると、描画モジュール１１０は、以下の手順に従って、１つの代替フォントを判断する（ステップＳ１０７）。
【００５２】
図５を参照し、描画モジュール１１０は、フォント属性テーブル３００を参照し、指定フォント「Arial」の文字属性３１０の全部と同一の文字属性３１０を有する代替フォント（１又は複数）があるか否かを判断する（ステップＳ２０１）。
【００５３】
図３を参照し、指定フォント「Arial」３０１の文字属性３１０は、「可変幅」３１１及び「サンセリフ」３１２を含む。一方、複数の代替フォント「Courier」、「LetterGothic」、「CGTimes」及び「UniversMedium」のうち、フォント「UniversMedium」だけが、文字属性３１０として「可変幅」３１１及び「サンセリフ」３１２を含む。
【００５４】
従って、描画モジュール１１０は、フォント属性テーブル３００を参照し、指定フォント「Arial」の文字属性３１０の全部と同一の文字属性３１０を有する代替フォント「UniversMedium」があるので（ステップＳ２０１、ＹＥＳ）、この代替フォント「UniversMedium」を判断する（ステップＳ２０３）。描画モジュール１１０は、代替フォント「UniversMedium」が１つであるので（ステップＳ２０６、ＹＥＳ）、この代替フォント「UniversMedium」を最終的に判断する（ステップＳ２０７）。
【００５５】
図４を再び参照し、描画モジュール１１０は、非サポート文字コード「U+0402」（文字「キリル文字：セルビア語の第６字母ジェー」を指定する）を、判断した代替フォント「UniversMedium」（ステップＳ１０７）を用いて描画する（ステップＳ１０８）。具体的には、描画モジュール１１０は、非サポート文字コード「U+0402」により指定される文字「キリル文字：セルビア語の第６字母ジェー」を、代替フォント「UniversMedium」のフォントデータ４００を使用して描画することにより、描画データ（ビットマップデータ）を生成する。描画モジュール１１０は、生成した描画データ（ビットマップデータ）を、ビデオモジュール１２０に出力する。
【００５６】
なお、描画モジュール１１０は、サポート文字コード「U+0041」及び「U+0042」により指定される文字「A」及び「B」を、指定フォント「Arial」を用いて描画してもよい。逆に言えば、描画モジュール１１０は、非サポート文字コード「U+0402」により指定される文字「キリル文字：セルビア語の第６字母ジェー」だけを代替フォント「UniversMedium」を用いて描画し、全てのサポート文字コード「U+0041」及び「U+0042」により指定される文字「A」及び「B」を指定フォント「Arial」を用いて描画してもよい。
【００５７】
あるいは、描画モジュール１１０は、サポート文字コード「U+0041」及び「U+0042」により指定される文字「A」及び「B」を、代替フォント「UniversMedium」を用いて描画してもよい。
【００５８】
６．結語
【００５９】
（１）本実施形態によれば、描画モジュール１１０は、プリンタブルデータに含まれる文字コード（指定文字コード）が、フォント指定情報により指定されるフォント（指定フォント）によりサポートされない文字コード（非サポート文字コード）である場合（ステップＳ１０１、ＮＯ）、非サポート文字コードにより指定される文字を、代替フォントを用いて描画する（ステップＳ１０８）。これにより、本来、指定フォントを用いて描画できない文字であるにもかかわらず、非サポート文字コードにより指定される文字を描画できる。
【００６０】
（２）本実施形態によれば、描画モジュール１１０は、代替フォントが複数ある場合（ステップＳ１０５、ＮＯ）、指定フォントの文字属性の全部又は一部と同一の文字属性を有する代替フォントを用いて、非サポート文字コードにより指定される文字を描画する（ステップＳ２０３、Ｓ２０４）。これにより、本来、指定フォントを用いて描画できない文字であるにもかかわらず、非サポート文字コードにより指定される文字を、指定フォントと文字属性（スタイル）が近い代替フォントで描画できる。
【００６１】
（３）本実施形態によれば、描画モジュール１１０は、代替フォントが複数ある場合（ステップＳ１０５、ＮＯ）、プリンタブルデータに含まれる描画属性の全部又は一部と同一の描画属性を有する代替フォントを用いて、非サポート文字コードにより指定される文字を描画する（ステップＳ２０３、Ｓ２０４）。これにより、非サポート文字コードにより指定される文字を、プリンタブルデータに含まれる描画属性が近い代替フォントで描画できる。
【００６２】
（４）、（５）本実施形態によれば、描画モジュール１１０は、代替フォントが複数ある場合（ステップＳ２０６、ＮＯ）、最も高い優先度の代替フォントを用いて、非サポート文字コードにより指定される文字を描画する（ステップＳ２０８）。これにより、例えば、使用頻度の高い代替フォント等の適当な代替フォントで、非サポート文字コードにより指定される文字を描画できる。
【００６３】
（６）本実施形態によれば、描画モジュール１１０は、サポート文字コードにより指定される文字を、指定フォントを用いて描画してもよい。これにより、非サポート文字コードにより指定される文字のみが代替フォントを用いて描画され、サポート文字コードにより指定される文字が指定フォントを用いて描画されるので、ユーザーが意図した出力結果に近い結果が得られる。
【００６４】
（７）本実施形態によれば、描画モジュール１１０は、サポート文字コードにより指定される文字を、代替フォントを用いて描画してもよい。これにより、非サポート文字コードにより指定される文字を含む文字列（例えば、１ワード）やドキュメント全体に含まれる文字列が、代替フォントを用いて描画されるので、統一感のある出力結果が得られる。
【００６５】
（８）本実施形態によれば、フォント属性テーブル３００が記憶する文字属性３１０は、固定幅又は可変幅３１１と、セリフ又はサンセリフ３１２とを含む。これにより、本来、指定フォントを用いて描画できない文字であるにもかかわらず、非サポート文字コードにより指定される文字を、指定フォントと文字属性３１０（文字のスタイル）が近い代替フォントで描画できる。これにより、ユーザーが意図したフォントのスタイルに近く、ユーザーにとって違和感のない出力結果が得られる。
【００６６】
（９）本実施形態によれば、フォント属性テーブル３００が記憶する描画属性３２０は、イタリック体のサポート／非サポート３２１と、ボールド体のサポート／非サポート３２２とを含む。これにより、非サポート文字コードにより指定される文字を、プリンタブルデータに含まれる描画属性が近い代替フォントで描画できる。これにより、ユーザーが意図した描画スタイルに近く、ユーザーにとって違和感のない出力結果が得られる。
【００６７】
本技術の各実施形態及び各変形例について上に説明したが、本技術は上述の実施形態にのみ限定されるものではなく、本技術の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【符号の説明】
【００６８】
画像形成装置１０
描画モジュール１１０
ビデオモジュール１２０
文字コードテーブル２００
フォント属性テーブル３００
フォントデータ４００
【図１】
2020194534.tif 000003
【図２】
2020194534.tif 000004
【図３】
2020194534.tif 000005
【図４】
2020194534.tif 000006
【図５】
2020194534.tif 000007