(57)【要約】【課題】文字列における文字の可読性やバランスを良好にする。【解決手段】文字列と当該文字列のサイズとを取得する取得部と、前記文字列のサイズと、前記文字列に含まれる対象文字を構成する複数の部品と、前記文字列内で当該対象文字に隣接する隣接文字とに基づいて、当該対象文字の部品毎のサイズを決定する決定部と、前記決定されたサイズに基づいて前記複数の部品を組み合わせて前記対象文字を生成する生成部と、を備えることを特徴とする文字生成装置。【選択図】図２
2018072569.tif 000002
【特許請求の範囲】
【請求項１】
文字列と当該文字列のサイズとを取得する取得部と、
前記文字列のサイズと、前記文字列に含まれる対象文字を構成する複数の部品と、前記文字列内で当該対象文字に隣接する隣接文字とに基づいて、当該対象文字の部品毎のサイズを決定する決定部と、
前記決定されたサイズに基づいて前記複数の部品を組み合わせて前記対象文字を生成する生成部と、を備えることを特徴とする文字生成装置。
【請求項２】
前記決定部は、前記対象文字の部品毎のアスペクト比も決定し、前記生成部は、前記決定されたサイズおよびアスペクト比に基づいて前記複数の部品を組み合わせて前記対象文字を生成することを特徴とする請求項１に記載の文字生成装置。
【請求項３】
前記決定部が決定する前記対象文字の部品毎のサイズの比は、前記文字列のサイズによって異なることを特徴とする請求項１または請求項２に記載の文字生成装置。
【請求項４】
前記生成部は、前記決定されたサイズに基づいて、前記対象文字の部品毎の色および当該部品毎の背景色の少なくとも一方を変更して前記対象文字を生成することを特徴とする請求項１〜請求項３のいずれかに記載の文字生成装置。
【請求項５】
文字列と当該文字列のサイズとを取得する取得機能と、
前記文字列のサイズと、前記文字列に含まれる対象文字を構成する複数の部品と、前記文字列内で当該対象文字に隣接する隣接文字とに基づいて、当該対象文字の部品毎のサイズを決定する決定機能と、
前記決定されたサイズに基づいて前記複数の部品を組み合わせて前記対象文字を生成する生成機能と、をコンピューターに実行させることを特徴とする文字生成プログラム。
【請求項６】
文字列と当該文字列のサイズとを取得する取得工程と、
前記文字列のサイズと、前記文字列に含まれる対象文字を構成する複数の部品と、前記文字列内で当該対象文字に隣接する隣接文字とに基づいて、当該対象文字の部品毎のサイズを決定する決定工程と、
前記決定されたサイズに基づいて前記複数の部品を組み合わせて前記対象文字を生成する生成工程と、を備えることを特徴とする文字生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字生成装置、文字生成プログラムおよび文字生成方法に関する。
【背景技術】
【０００２】
文字列が描画されたときに、文字のサイズによっては、文字を構成する部品の一部が潰れて判別しずらくなることがある。
【０００３】
関連技術として、文字を縮小する際に、縮小される文字の構成部品が当該構成部品の最小形状よりも小さくなる場合に、当該構成部品の最小形状を文字の構成部品の形状として文字データを生成制御する文字データ生成装置が開示されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】ＷＯ２００７／０１５４７１
【発明の概要】
【発明が解決しようとする課題】
【０００５】
小さいサイズで表示される文字の可読性をさらに向上させることが求められていた。
また、前記文献１においては、個々の文字の可読性は向上するものの、複数の文字を含む文字列という観点で評価したとき、文字毎に大きさが異なったり隣の文字との位置関係が適切でなかったりして、文字列内で文字同士のバランスが崩れる恐れがあった。
【０００６】
本発明は上述の課題に鑑みてなされたものであり、文字列における文字の可読性やバランスを向上させることが可能な文字生成装置、文字生成プログラムおよび文字生成方法を提供する。
【課題を解決するための手段】
【０００７】
本発明の態様の１つは、文字生成装置は、文字列と当該文字列のサイズとを取得する取得部と、前記文字列のサイズと、前記文字列に含まれる対象文字を構成する複数の部品と、前記文字列内で当該対象文字に隣接する隣接文字とに基づいて、当該対象文字の部品毎のサイズを決定する決定部と、前記決定されたサイズに基づいて前記複数の部品を組み合わせて前記対象文字を生成する生成部と、を備える。
【０００８】
当該構成によれば、文字生成装置は、文字列のサイズと、文字列に含まれる対象文字を構成する複数の部品と、文字列内で対象文字に隣接する隣接文字とに基づいて、対象文字の部品毎のサイズを決定する。従って、生成される対象文字において部品毎の可読性が向上するとともに、各部品が隣接文字との関係においても適切なサイズに決定されるため、文字同士のバランスが良好な文字列が生成される。
【０００９】
本発明の態様の１つは、前記決定部は、前記対象文字の部品毎のアスペクト比も決定し、前記生成部は、前記決定されたサイズおよびアスペクト比に基づいて前記複数の部品を組み合わせて前記対象文字を生成するとしてもよい。
当該構成によれば、文字生成装置は、文字列のサイズ、対象文字の部品、隣接文字等に基づいて、対象文字の部品毎のアスペクト比も決定するため、生成される対象文字において部品毎の可読性がさらに向上し、かつ、各部品が隣接文字との関係において適切な形状となる。
【００１０】
本発明の態様の１つは、前記決定部が決定する前記対象文字の部品毎のサイズの比は、前記文字列のサイズによって異なるとしてもよい。
当該構成によれば、文字列のサイズに応じて、対象文字の部品毎のサイズの比を可読性を考慮した最適な比とすることができる。
【００１１】
本発明の態様の１つは、前記生成部は、前記決定されたサイズに基づいて、前記対象文字の部品毎の色および当該部品毎の背景色の少なくとも一方を変更して前記対象文字を生成するとしてもよい。
当該構成によれば、前記決定されたサイズに基づいて対象文字の部品毎の色および当該部品毎の背景色の少なくとも一方を変更することにより、これら部品の可読性をさらに向上させることができる。
【００１２】
本発明の技術的思想は、文字生成装置というカテゴリー以外によっても実現される。例えば、当該装置が実行する処理に相当する工程を含んだ方法（文字生成方法）や、これら工程をコンピューターに実行させるプログラム（文字生成プログラム）を夫々に発明として捉えることが可能である。むろん、当該プログラムを記憶したコンピューター読取可能な記憶媒体も発明として成立する。
【図面の簡単な説明】
【００１３】
【図１】文字生成装置の主要な構成を示すブロック図。
【図２】文字生成処理を示すフローチャート。
【図３】文字縮小率決定処理を示すフローチャート。
【図４】文字列描画矩形と文字列外接矩形とを例示する図。
【図５】ステップＳ２６０の詳細を示すフローチャート。
【図６】対象文字の具体例としての合字のフォントデータを示す図。
【図７】記号・母字比テーブルの一例を示す図。
【図８】図８Ａは縮小前フォントサイズＨＦを単純縮小して縮小後フォントサイズＨＦ´とする様子を示す図、図８Ｂは縮小前フォントサイズＨＦを、文字の部品毎に異なる縮小率による縮小で縮小後フォントサイズＨＦ´とする様子を示す図。
【図９】ステップＳ１４０，Ｓ１５０の処理の一例を説明するための図。
【図１０】図１０Ａは従来例と本実施形態の例とを比較するための図、図１０Ｂは従来例と本実施形態の例とを比較するための図、図１０Ｃは従来例と本実施形態の例とを比較するための図、図１０Ｄは従来例と本実施形態の例とを比較するための図。
【図１１】変形例にかかる文字縮小率決定処理を示すフローチャート。
【発明を実施するための形態】
【００１４】
以下、各図を参照しながら本発明の実施形態を説明する。なお各図は、本実施形態を説明するための例示に過ぎない。
図１は、本実施形態にかかる文字生成装置１０の主要な構成をブロック図により例示している。文字生成装置１０は、本発明の文字生成方法を実行する。文字生成装置１０は、文字生成制御部３０を少なくとも有する。文字生成制御部３０は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等を有するＩＣやその他のメモリー等により実現される。文字生成制御部３０は、搭載するプログラム（文字生成プログラム）３１に従った処理を実行することにより、強調処理部３２やレンダラー３３等の各機能を実現する。
【００１５】
文字生成装置１０は、さらにアプリケーション２０、記憶部４０、描画バッファ５０、出力部６０等を有していてもよい。図１に示した各構成は、１つの装置内に搭載されていてもよいし、通信可能な複数の装置に分かれて搭載されていてもよい。図１に示した各構成が複数の装置に分かれて搭載されている場合、文字生成装置１０は、当該複数の装置を含んだシステムによって実現されると言える。
【００１６】
アプリケーション２０は、文書作成機能を有するソフトウェアであり、当該アプリケーション２０をインストールしているハードウェア（例えば、文字生成装置１０や外部のコンピューター）上で実行される。アプリケーション２０は、ユーザーの操作に応じてテキストデータを生成可能である。
【００１７】
記憶部４０は、フォントデータ４１を記憶している。フォントデータは、ある書体による文字を画像で表現するためのデータであり、後述するように文字生成制御部３０に利用される。フォントデータの形式には、ビットマップフォント形式やアウトラインフォント形式等がある。描画バッファ５０は、文字生成制御部３０が文字を描画するために使用する記憶領域である。
【００１８】
出力部６０は、描画バッファ５０に描画された文字列を出力するための機能である。出力部６０が実行する出力とは、画面への表示であったり、印刷媒体への印刷であったりする。従って、出力部６０は、画像データ（描画バッファ５０に描画された文字列）を表示可能な表示機構であったり表示装置に出力するインターフェースであったり、当該画像データに基づく印刷を実行可能な印刷機構であったり印刷装置に出力するインターフェースであったりする。このような出力部６０を含む場合の文字生成装置１０を、文字出力装置、表示制御装置、表示装置、印刷制御装置、印刷装置等と呼ぶことができる。
【００１９】
図２は、文字生成制御部３０がプログラム３１に従って実行する文字生成処理を、フローチャートにより示している。文字生成処理は、概略的には、文字列と文字列のサイズとを取得し、文字列のサイズと、文字列に含まれる対象文字を構成する複数の部品と、文字列内で対象文字に隣接する隣接文字とに基づいて、対象文字の部品毎のサイズを決定し、決定したサイズに基づいて前記複数の部品を組み合わせて対象文字を生成する（描画する）処理である。
【００２０】
先ず、強調処理部３２は、アプリケーション２０から文字列（一文字列毎）の描画指示を入力する（ステップＳ１００）。描画指示には、描画対象の文字列に含まれる文字毎の文字コード（例えば、ユニコード）、文字列を描画するための矩形領域（文字列描画矩形）のサイズを指定する情報、文字のサイズ（フォントサイズ）を指定する情報、等が含まれている。
文字列の描画指示を入力した場合、強調処理部３２は、文字縮小率決定処理を実行する（ステップＳ１１０）。文字縮小率決定処理については、図３等を用いて後に詳しく説明する。
【００２１】
文字縮小率決定処理（ステップＳ１１０）の終了後、強調処理部３２は、文字縮小率決定処理で決定された縮小率を適用後の文字列において、文字列に含まれる１文字を対象文字として特定する（ステップＳ１２０）。次に、強調処理部３２は、当該文字列において、対象文字に隣接する隣接文字の位置を取得し（ステップＳ１３０）、対象文字を構成する部品と隣接文字との重なりの有無を判定する（ステップＳ１４０）。強調処理部３２は、ステップＳ１４０において、重なり有りと判定した場合に（ステップＳ１４０において“Ｙｅｓ”）、ステップＳ１５０へ進み、対象文字の部品について、当該重なりを解消するためのアスペクト比変更処理を行う。一方、ステップＳ１４０において、重なり無しと判定した場合（ステップＳ１４０において“Ｎｏ”）、ステップＳ１５０をスキップしてステップＳ１６０へ進む。
【００２２】
レンダラー３３は、ステップＳ１４０またはステップＳ１５０の後の対象文字のフォントデータに基づき対象文字を描画バッファ５０に描画する（ステップＳ１６０）。このとき、前記描画指示において指示されている文字列描画矩形のサイズの領域を描画バッファ５０に確保し、このサイズの領域内に対象文字を描画する。そして、レンダラー３３は、文字列に含まれる全ての文字の描画が終了したか否かを判定し（ステップＳ１７０）、文字列に含まれる全ての文字の描画が終了していれば（ステップＳ１７０において“Ｙｅｓ”）、文字生成処理（図２）を終了する。一方、文字列に含まれる一部の文字の描画が終了していなければ（ステップＳ１７０において“Ｎｏ”）、ステップＳ１２０以降の処理が繰り返される。ステップＳ１２０では、文字列に含まれる１文字であってそれまでのステップＳ１２０で対象文字に特定されていない文字が新たな対象文字として特定される。なお、縮小（率）という言葉については、変形（率）と読み替えてもよい。
【００２３】
図３は、ステップＳ１１０（図２）の文字縮小率決定処理をフローチャートにより示している。
ステップＳ２００では、強調処理部３２は、文字列描画矩形のサイズを取得する。文字列描画矩形のサイズの情報は、上述したようにアプリケーション２０からの描画指示に含まれている。
【００２４】
次に、ステップＳ２１０では、強調処理部３２は、文字列に外接する矩形（文字列外接矩形）のサイズを取得する。この場合、強調処理部３２は、前記描画指示に含まれている各文字コードに対応するフォントデータ４１を記憶部４０から読み出す。そして、強調処理部３２は、当該読み出した各フォントデータ４１による各文字を前記描画指示において指示されているフォントサイズで再現して並べた、つまり前記描画指示に応じて文字列を再現したときの当該文字列に外接する矩形のサイズを、文字列外接矩形のサイズとして取得する。
【００２５】
図４は、文字列描画矩形Ｒ１と文字列外接矩形Ｒ２とを例示している。図４において、高さＨ１は文字列描画矩形Ｒ１の高さ、幅Ｗ１は文字列描画矩形Ｒ１の幅をそれぞれ例示している。つまり、前記描画指示には、高さＨ１および幅Ｗ１の値が文字列描画矩形のサイズの情報として含まれている。図４において、高さＨ２は文字列外接矩形Ｒ２の高さ、幅Ｗ２は文字列外接矩形Ｒ２の幅をそれぞれ例示している。
【００２６】
文字列外接矩形とは、文字列に含まれる文字全てを含みかつ少なくとも一部の文字に外接する矩形である。図４の例は単純に、高さが全て同じ「Ａ，Ｂ，Ｃ，Ｄ」というアルファベット４文字で文字列が構成される場合を示しているため、これら４文字それぞれの高さが、文字列外接矩形Ｒ２の高さＨ２に該当している。しかし、例えば、アルファベットの小文字「ｊ」のように文字の下端が他の文字の下端より低い位置に在る文字や、発音記号（例えば、図６参照）を上端側や下端側に有する文字等が文字列に含まれている場合には、文字列外接矩形Ｒ２の高さＨ２は、それら小文字や発音記号を含む高さとなる。
【００２７】
ステップＳ２２０では、強調処理部３２は、文字列外接矩形の高さＨ２が、文字列描画矩形の高さＨ１に収まるか、つまりＨ２≦Ｈ１であるか否かを判定する。Ｈ２≦Ｈ１であれば（ステップＳ２２０において“Ｙｅｓ”）、ステップＳ２３０をスキップしてステップＳ２４０へ進み、Ｈ２＞Ｈ１であれば（ステップＳ２２０において“Ｎｏ”）、ステップＳ２３０へ進む。
【００２８】
ステップＳ２３０では、強調処理部３２は、文字列外接矩形の高さＨ２が文字列描画矩形の高さＨ１に収まるまで、つまりＨ２≦Ｈ１となるまで文字列全体を縮小する。この場合、強調処理部３２は、文字列に含まれる文字のフォントデータ４１のサイズ（フォントサイズ）を全文字一律に縮小させる。
【００２９】
ステップＳ２２０あるいはステップＳ２３０から進んだステップＳ２４０では、強調処理部３２は、文字列に含まれる文字のフォントサイズが、強調処理の適用フォントサイズを示す所定のしきい値以下であるか否かを判定する。本実施形態における強調処理とは、文字を構成する複数の部品のうち特定の部品について、判読し易いように縮小率等を他の部品と異ならせて強調する処理である。特定の部品とは、文字を構成する複数の部品のうちの一部であり、例えば、複数の文字や記号を組み合わせてなる文字における一部の文字や記号である。日本語の平仮名や片仮名に組合わせられる記号である濁点「゛」や、半濁点「゜」や、また、漢字の部首等、様々なものが該当する。フランス語、ベトナム語、アラビア語、タイ語などの様々な言語において使用される合字（特殊文字）の一部の文字や記号も特定の部品に該当する。
【００３０】
ある程度以上に大きいフォントサイズであれば、文字の判読は当該文字を構成する各部品を含めて容易であるため、上述したような強調処理は必要ない。そこでステップＳ２４０では、文字列に含まれる文字のフォントサイズが強調処理を必要とするほどの小さいサイズ（前記しきい値以下のサイズ）であるか否かを判定する。強調処理部３２は、フォントサイズが前記しきい値以下である場合（ステップＳ２４０において“Ｙｅｓ”）、ステップＳ２５０へ進む。一方、フォントサイズが前記しきい値より大きい場合は（ステップＳ２４０において“Ｎｏ”）、ステップＳ２５０〜Ｓ２９０をスキップし、文字縮小率決定処理（図３）を終える。
【００３１】
ステップＳ２５０では、強調処理部３２は、文字列に含まれる１文字を対象文字として特定する。そして、ステップＳ２６０では、強調処理部３２は、対象文字に関する縮小率を、フォントサイズや対象文字を構成する部品に基づいて算出する。ステップＳ２６０については、図５等を用いて後に詳しく説明する。
【００３２】
ステップＳ２７０では、強調処理部３２は、対象文字に関してステップＳ２６０で算出した縮小率が、仮縮小率より高いか否かを判定する。そして、対象文字に関してステップＳ２６０で算出した縮小率が仮縮小率より高い場合（ステップＳ２７０において“Ｙｅｓ”）、ステップＳ２８０へ進み、対象文字に関してステップＳ２６０で算出した縮小率が仮縮小率以下である場合（ステップＳ２７０において“Ｎｏ”）、ステップＳ２８０をスキップしてステップＳ２９０へ進む。
【００３３】
仮縮小率とは、文字縮小率決定処理（図３）の開始後、現在の対象文字よりも前に特定した対象文字に関して算出した縮小率のうち最も高い縮小率を指す。仮縮小率の初期値は、１倍である。なお、縮小率が高いとは、縮小（変形）前と縮小（変形）後との差がより大きいことを指す。例えば、対象文字に関してステップＳ２６０で算出した縮小率が０．９倍であり、仮縮小率が０．９５倍であれば、ステップＳ２７０では“Ｙｅｓ”と判定することになる。
【００３４】
ステップＳ２８０では、強調処理部３２は、対象文字に関してステップＳ２６０で算出した縮小率により仮縮小率を更新する。つまり、直近のステップＳ２６０で算出した縮小率を最新の仮縮小率とする。ステップＳ２９０では、強調処理部３２は、文字列に含まれる全ての文字について、ステップＳ２５０で対象文字に特定したか否かを判定し、文字列に含まれる全ての文字について対象文字に特定し終えていれば（ステップＳ２９０において“Ｙｅｓ”）、ステップＳ３００へ進む。一方、文字列に含まれる一部の文字について、ステップＳ２５０で対象文字に特定していなければ（ステップＳ２９０において“Ｎｏ”）、ステップＳ２５０以降の処理を繰り返す。ステップＳ２５０では、文字列に含まれる１文字であってそれまでのステップＳ２５０で対象文字として特定されていない文字が新たな対象文字として特定される。
【００３５】
ステップＳ３００では、強調処理部３２は、仮縮小率を縮小率（後述の縮小率α１）として決定する。このような文字縮小率決定処理（図３）のステップＳ２５０〜Ｓ３００の結果、描画対象とされている１つの文字列に対して１つの縮小率が決定される。また、このように決定される縮小率は、文字列に含まれる各文字に関してステップＳ２６０で算出した縮小率のうち最も高い縮小率である。
【００３６】
図５は、ステップＳ２６０（図３）の詳細をフローチャートにより示している。
ステップＳ４００では、強調処理部３２は、フォントサイズを取得する。つまり、ステップＳ２４０（図３）の時点で前記しきい値との比較対象とされたフォントサイズを取得する。次に、ステップＳ４１０では、強調処理部３２は、フォントデータ４１から、対象文字を構成する複数の部品のうち前記特定の部品（例えば、発音記号）についての原点座標を取得する。
【００３７】
2018072569.tif 000003
このような記号は、前記特定の部品の一例に該当する。フォントデータ４１は、矩形の枠（文字枠）の中に文字を表現したデータであり、文字枠の所定の角を原点Ｐ１としている。また、フォントデータ４１は、文字が上述のような記号を部品の一つとして有している場合、記号の原点位置を示す記号原点座標Ｐ２を情報として有している。このような記号原点座標Ｐ２は、原点Ｐ１を基準にした位置情報であり、フォントデータ４１が表現する文字を構成する記号（特定の部品）毎に定義されている。
【００３８】
2018072569.tif 000004
【００３９】
ステップＳ４２０では、強調処理部３２は、ステップＳ４１０で取得した記号原点座標に基づいて、対象文字に含まれる記号（特定の部品）毎の部品高さを取得する。ここで、図６に示す文字枠の高さ（符号ＨＦ）はフォントサイズに相当する。ただし、図６に示すフォントサイズＨＦは、文字縮小率決定処理（図３）においてステップＳ２２０の判定を行う時点でのフォントサイズであるとする。ステップＳ２２０の時点では、文字列に含まれる各文字のサイズは、前記描画指示において指示されているフォントサイズにされるため、フォントサイズＨＦは前記描画指示において指示されているフォントサイズであると言える。あるいは、前記描画指示においてフォントサイズが特に指示されていなければ、フォントサイズＨＦは、記憶部４０に記憶されているフォントデータ４１が元来有しているフォントサイズである。以後、フォントサイズＨＦを、便宜上、縮小前フォントサイズＨＦとも呼ぶ。
【００４０】
図６を参照して説明すると、強調処理部３２は、フォントデータ４１の原点Ｐ１と記号原点座標Ｐ２との位置関係から、縮小前フォントサイズＨＦのうち、記号原点座標Ｐ２から上側の長さＨＴを算出することができる。このような長さＨＴが、前記母字の上側に付された記号の高さ、つまり対象文字に含まれる記号（特定の部品）の部品高さである。
【００４１】
ステップＳ４３０では、強調処理部３２は、記号・母字比テーブル７０から、ステップＳ４００で取得したフォントサイズ、つまりステップＳ２４０（図３）の時点で前記しきい値との比較対象とされたフォントサイズに応じた、縮小率比（後述の記号・母字縮小率比Ｐａ）やアスペクト比（後述の母字アスペクト比Ｐｂ、記号アスペクト比Ｐｃ）を読み出す。記号・母字比テーブル７０は、例えば、記憶部４０や記憶部４０以外の記憶手段に予め記憶されており、文字生成制御部３０は、記号・母字比テーブル７０を適宜参照することができる。
【００４２】
ステップＳ２４０の時点で前記しきい値との比較対象とされたフォントサイズを、便宜上、縮小後フォントサイズＨＦ´とも呼ぶ。上述のステップＳ２３０（図３）を経ることにより、縮小前フォントサイズＨＦは縮小後フォントサイズＨＦ´へ縮小される。ただし、図３から判るように、ステップＳ２３０は実行されない場合もあるため、縮小前フォントサイズＨＦ＝縮小後フォントサイズＨＦ´である場合もある。
【００４３】
図７は、記号・母字比テーブル７０の一例である。記号・母字比テーブル７０においては、フォントサイズ（単位は、例えばpixel）毎に、記号・母字縮小率比Ｐａ、母字アスペクト比Ｐｂ、記号アスペクト比Ｐｃ、が対応付けられて規定されている。記号・母字比テーブル７０が規定するフォントサイズは、当然、前記しきい値以下のフォントサイズ（強調処理が必要なフォントサイズ）である。言い換えると、記号・母字比テーブル７０が規定するフォントサイズの最大値（図７の例では、１８pixel）が、ステップＳ２４０で縮小前フォントサイズＨＦ´と比較される。
【００４４】
記号・母字縮小率比Ｐａは、記号の縮小率／母字の縮小率、を意味している。例えば、記号の縮小率が０．９倍、母字の縮小率が０．８倍であれば、記号・母字縮小率比＝０．９／０．８、である。記号・母字比テーブル７０に示すように、記号・母字縮小率比Ｐａは、１．０よりも大きい値となっている。これは、記号の縮小率と母字の縮小率とを異ならせ、かつ記号の縮小率を母字の縮小率よりも低くすることを意味している。記号の縮小率を母字の縮小率よりも低くすることで、文字の中で記号を強調することができる。さらに記号・母字比テーブル７０によれば、記号・母字縮小率比Ｐａは、フォントサイズが小さい程、大きな値となっている。これは、フォントサイズが小さい程、母字の縮小率に比べて記号の縮小率を低くすることを意味している。
【００４５】
母字アスペクト比Ｐｂ、記号アスペクト比Ｐｃはいずれも、横（幅）に対する縦（高さ）の比である。記号・母字比テーブル７０に示すように、母字アスペクト比Ｐｂ、記号アスペクト比Ｐｃはいずれも１．０以下の値となっている。これは、母字や記号について、アスペクト比は維持するか、アスペクト比を変更する場合に横に対する縦の比を縮めることを意味している。特に、母字と比べて小さい記号について、このような縦を縮めるアスペクト比変更を行うことで、可読性を上げることができる。そのため記号・母字比テーブル７０では、フォントサイズが特定のサイズ以下である場合（例えば、フォントサイズが１０pixel以下の場合）、記号アスペクト比Ｐｃを１．０より小さい値としている。さらに記号・母字比テーブル７０では、フォントサイズ毎の記号アスペクト比Ｐｃは、フォントサイズが特定のサイズ以下である場合（例えば、フォントサイズが１０pixel以下の場合）、母字アスペクト比Ｐｂよりも小さい値としている。これにより、可読性を向上させるためのアスペクト比変更の度合いを、フォントサイズが小さい程、母字よりも記号について強めることができる。
【００４６】
ステップＳ４４０では、強調処理部３２は、ステップＳ４２０で取得した部品高さや、ステップＳ４３０で縮小後フォントサイズＨＦ´に応じて記号・母字比テーブル７０から読み出した記号・母字縮小率比Ｐａ、母字アスペクト比Ｐｂ、記号アスペクト比Ｐｃに基づいて、縮小率αを算出する。この縮小率αが、ステップＳ２６０（図３）で算出する、対象文字に関する縮小率である。
【００４７】
図８Ａは、縮小前フォントサイズＨＦのフォントデータ４１が縮小されてフォントサイズが縮小後フォントサイズＨＦ´となる様子を示している。また、図８Ａの左側には、縮小前フォントサイズＨＦに含まれる部品高さＨＴ，ＨＢを示している。図６では、フォントデータ４１が表現する文字は、母字と、当該母字の上側に付される記号とからなる例を示した。従って、対象文字が図６に示すような文字であれば、ステップＳ４１０，Ｓ４２０の結果、母字の上側に付された記号に対応して、当該記号（特定の部品）の部品高さＨＴが得られる。
【００４８】
しかし、文字の構成によっては、母字の上側だけでなく高さ方向下側にも記号（特定の部品）が付されていることもある。つまり、ステップＳ４１０において、フォントデータ４１から、対象文字を構成する母字の上側に付される記号の記号原点座標Ｐ２を取得し、かつ当該母字の下側に付される記号の記号原点座標Ｐ２を取得することもある。この場合、強調処理部３２は、ステップＳ４２０において、フォントデータ４１の原点Ｐ１と母字の上側の記号原点座標Ｐ２との位置関係から、縮小前フォントサイズＨＦのうち、当該上側の記号原点座標Ｐ２から上側の長さＨＴを、母字の上側に付された記号（特定の部品）の部品高さＨＴとして取得する。さらにフォントデータ４１の原点Ｐ１と母字の下側の記号原点座標Ｐ２との位置関係から、縮小前フォントサイズＨＦのうち、当該下側の記号原点座標Ｐ２から下側の長さＨＢを、母字の下側に付された記号（特定の部品）の部品高さＨＢとして取得する。
【００４９】
そこでステップＳ４４０では、強調処理部３２は、下記式（１）により縮小率αを算出する。
ＨＦ´＝ＨＴ×α×Ｐａ×Ｐｃ＋（ＨＦ−ＨＴ−ＨＢ）×α×Ｐｂ＋ＨＢ×α×Ｐａ×Ｐｃ   …（１）
【００５０】
（ＨＦ−ＨＴ−ＨＢ）は、縮小前フォントサイズＨＦから部品高さＨＴおよびＨＢを引いた値であるため、縮小前フォントサイズＨＦにおける母字の高さを表している。このような式（１）は、縮小前の部品高さ（ＨＴ，ＨＢ）に縮小率α、記号・母字縮小率比Ｐａおよび記号アスペクト比Ｐｃを掛けた値と、縮小前の母字の高さ（ＨＦ−ＨＴ−ＨＢ）に縮小率αおよび母字アスペクト比Ｐｂを掛けた値との和を、縮小後フォントサイズＨＦ´と等しくさせるものである。
【００５１】
式（１）は、以下のように表すことができる。
α＝ＨＦ´／｛（ＨＴ＋ＨＢ）×Ｐａ×Ｐｃ＋（ＨＦ−（ＨＴ＋ＨＢ））×Ｐｂ｝
…（２）
従って、強調処理部３２は、式（２）により縮小率αを算出することができる。対象文字によっては、母字の上側及び又は下側に記号を有さないこともあるが、その場合、上側に記号が存在しなければＨＴ＝０、下側に記号が存在しなければＨＢ＝０となる。
【００５２】
再び、図２について説明する。
上述したように、強調処理部３２は、文字縮小率決定処理（ステップＳ１１０、図３，５）の終了後、文字縮小率決定処理で決定された縮小率を適用後の文字列に含まれる１文字を対象文字として特定し（ステップＳ１２０）、この文字列において対象文字に隣接する隣接文字の位置を取得する（ステップＳ１３０）。文字縮小率決定処理で決定された縮小率とは、ステップＳ３００（図３）で決定された縮小率であり、ステップＳ２５０（あるいは後述のステップＳ２３５。図１０参照。）で特定される対象文字毎に繰り返されるステップＳ２６０で算出された縮小率αのうち、最も高い縮小率が該当する。以下では、文字縮小率決定処理で決定された縮小率（ステップＳ３００で決定された縮小率）を、縮小率α１と表記する。
【００５３】
縮小率α１を適用後の文字列とは、文字列に含まれる文字毎に、文字に含まれる部品毎に異なる縮小率を掛けて変形させた文字列という意味である。上述したような母字と当該母字の上側や下側の記号（特定の部品）とを有する文字であれば、母字や記号といった部品毎に、縮小率α１や前記Ｐａ，Ｐｂ，Ｐｃを考慮した各々の縮小率で縮小される。
【００５４】
図８Ｂは、図８Ａと同様に、縮小前フォントサイズＨＦのフォントデータ４１が縮小されてフォントサイズが縮小後フォントサイズＨＦ´となる様子を示している。ただし、図８Ａは、フォントサイズＨＦを単純にフォントサイズＨＦ´へ縮小した（縮小率＝ＨＦ´／ＨＦとした）様子を示しているのに対し、図８Ｂは、文字に含まれる部品毎に異なる縮小率を掛けて結果的に文字が縮小後フォントサイズＨＦ´以下となるように縮小した様子を示している。
【００５５】
つまり、強調処理部３２は、文字列に含まれる各文字について、文字が母字の上側に記号（特定の部品）を有する場合には、当該上側の記号の部品高さＨＴに、縮小率＝α１×Ｐａ×Ｐｃを掛けることにより、文字枠内の部品高さＨＴの範囲に対応する矩形領域（当該上側の記号を含む領域）を縮小する。また、文字が母字の下側に記号（特定の部品）を有する場合には、当該下側の記号の部品高さＨＢに、縮小率＝α１×Ｐａ×Ｐｃを掛けることにより、文字枠内の部品高さＨＢの範囲に対応する矩形領域（当該下側の記号を含む領域）を縮小する。また、文字を構成する母字の高さ（ＨＦ−ＨＴ−ＨＢ）に、縮小率＝α１×Ｐｂを掛けることにより、文字枠内の母字の高さ（ＨＦ−ＨＴ−ＨＢ）の範囲に対応する矩形領域（当該母字を含む領域）を縮小する。Ｐａ，Ｐｂ，Ｐｃは、当然、縮小後フォントサイズＨＦ´に対応する値である。
【００５６】
従って、縮小率α１を適用後の文字列においては、各文字のフォントサイズは、縮小後フォントサイズＨＦ´のままか縮小後フォントサイズＨＦ´以下であるが、各文字における部品間のバランスが縮小前フォントサイズＨＦの状況から変化している。特に、母字に組み合わせられる記号（特定の部品）のサイズは、記号・母字縮小率比Ｐａの影響により、母字のサイズに対する比率が、縮小前フォントサイズＨＦの状況における当該比率と比べて大きくなっている。つまり、縮小後フォントサイズＨＦ´が前記しきい値以下である場合は、記号・母字縮小率比Ｐａの影響により、記号のサイズの母字のサイズに対する比率が、縮小前フォントサイズＨＦの状況における当該比率と比べて大きくなり、結果、当該記号が強調される。また、このような記号のアスペクト比（縦／横）は、記号アスペクト比Ｐｃの影響により、母字のアスペクト比（縦／横）よりも小さくなっている場合がある。
【００５７】
なお、縮小後フォントサイズＨＦ´が前記しきい値より大きい場合（ステップＳ２４０において“Ｎｏ”と判定した場合）は、縮小率α１が決定されない。そのため、縮小率α１を適用後の文字列というものも無く、ステップＳ１２０以降の処理では、ステップＳ２３０を終えた時点あるいはステップＳ２２０で“Ｎｏ”の判定をした時点の文字列がそのまま処理の対象となる。
【００５８】
図９は、ステップＳ１４０，Ｓ１５０の処理の一例を説明するための図である。図９では、ステップＳ１２０で特定された対象文字と、ステップＳ１３０で位置が特定された隣接文字とを示している。図９に示す対象文字も合字の一種である。強調処理部３２は、ステップＳ１４０では、対象文字を構成する部品と隣接文字との重なりの有無を判定する。図９の左側に例示するように、対象文字が有する一部の部品（母字「Ｏ」に組み合わされた記号であり、図９において符号Ｐｏで指し示す部品。）は、隣接文字である「Ｗ」と一部重なっている。このように対象文字を構成する部品が隣接文字と重なっている場合、強調処理部３２はステップＳ１５０へ進む。
【００５９】
ステップＳ１５０では、強調処理部３２は、ステップＳ１４０で重なり有りと判定した部品について、アスペクト比変更処理を行う。ステップＳ１５０におけるアスペクト比変更処理は、上述の母字アスペクト比Ｐｂや記号アスペクト比Ｐｃによる効果とは逆に、縦（高さ）に対する横（幅）の比を縮める処理である。図９の例では、強調処理部３２は、対象文字が有する部品ＰｏについてステップＳ１５０のアスペクト比変更処理を行う。例えば、強調処理部３２は、対象文字の現在のフォントデータ４１の文字枠内で、アスペクト比変更処理の対象とする部品Ｐｏに外接する矩形を定義する。そして、当該定義した矩形内の画像のアスペクト比を、縦に対する横の比が縮むように変更する。強調処理部３２は、当該部品Ｐｏが隣接文字に重ならなくなるまで当該定義した矩形内の画像のアスペクト比を変更する。この結果、図９の右側に示すように、部品Ｐｏが隣接文字「Ｗ」と重なる状況が解消される。
【００６０】
ステップＳ１５０を経て、対象文字のサイズ（対象文字を構成する母字、記号といった部品毎のサイズ）が決定する。ステップＳ１５０を経て決まった対象文字のサイズとは、前記縮小率α１を適用後の文字列における文字であって且つステップＳ１５０のアスペクト比変換処理を経た文字のサイズである。また、ステップＳ１４０で“Ｎｏ”と判定したタイミングでも対象文字のサイズ（対象文字を構成する母字、記号といった部品毎のサイズ）が決定する。ステップＳ１４０で“Ｎｏ”と判定したタイミングで決まった対象文字のサイズとは、前記縮小率α１を適用後の文字列における文字のサイズである。従って、ステップＳ１６０では、レンダラー３３により、ステップＳ１４０またはステップＳ１５０の後の対象文字のフォントデータ４１に基づき、フォントサイズ（縮小後フォントサイズＨＦ´）に応じた程度で記号等の特定の部品が強調され、さらに隣接文字との重なりを生じさせない対象文字が描画バッファ５０に描画される。描画バッファ５０に描画された文字は、例えば文字列単位で出力部６０による出力の対象となり、ユーザーへ提示される。
【００６１】
このように本実施形態によれば、文字生成装置１０は、文字列と、文字列のサイズ（例えば、文字列に含まれる文字のフォントサイズＨＦ，ＨＦ´）とを取得する取得部と、文字列のサイズと、文字列に含まれる対象文字を構成する複数の部品（母字や、記号等の特定の部品）と、文字列内で当該対象文字に隣接する隣接文字とに基づいて、対象文字の部品毎のサイズを決定する決定部と、決定されたサイズに基づいて前記複数の部品を組み合わせて対象文字を生成する（描画する）生成部と、を備える。取得部、決定部、生成部は、プログラム３１を実行する文字生成制御部３０による、強調処理部３２やレンダラー３３といった各機能により実現される。これにより、文字がある程度小さいフォントサイズで描画される場合、文字を構成する部品、特に記号等の特定の部品が強調されて可読性が向上するとともに、各部品が隣接文字との関係において適切なサイズ（重なりが生じないサイズ）とされ、結果、文字同士のバランスが良好な文字列が生成される。
【００６２】
また、文字生成装置１０は、対象文字の部品毎のアスペクト比を決定し、対象文字の部品毎の決定されたサイズ（縮小率α１や、縮小率α１×Ｐａ）およびアスペクト比に基づいて前記複数の部品を組み合わせて対象文字を生成する。つまり、フォントサイズＨＦ´に応じて母字アスペクト比Ｐｂや記号アスペクト比Ｐｃを決定したり、対象文字の部品および隣接文字に基づいて、当該部品について隣接文字と重ならないためのアスペクト比を決定する。これにより、文字を構成する部品、特に記号等の特定の部品の可読性がさらに向上するとともに、各部品が隣接文字との関係において適切な形状となる。
ただし、本実施形態において、上述の母字アスペクト比Ｐｂや記号アスペクト比Ｐｃは必須の要素ではない。記号・母字アスペクト比テーブル７０は、フォントサイズに応じた記号・母字縮小率比Ｐａを規定するが、母字アスペクト比Ｐｂ、記号アスペクト比Ｐｃの少なくとも一方については規定しない（フォントサイズにかかわらず１．０とする）構成であってもよい。
【００６３】
また本実施形態では、文字列に含まれる文字毎に算出した縮小率αのうち最も高い縮小率α（＝縮小率α１）を、当該文字列に含まれる各文字に適用する。従って、文字列内で各文字（特に、文字を構成する主たる部品である母字）のサイズが揃いやすく、結果、文字同士のバランスが良好な文字列を生成することができる。
【００６４】
また本実施形態では、フォントサイズＨＦ´に応じた記号・母字縮小率比Ｐａを用いることにより、対象文字の部品毎に異なる縮小率（縮小率α１や、縮小率α１×Ｐａ）を適用する。これにより、文字列のサイズによって対象文字の部品毎のサイズの比を変更し、特に記号等の特定の部品の可読性を高めるようなサイズ比とすることができる。
【００６５】
図１０Ａ，１０Ｂ，１０Ｃ，１０Ｄはそれぞれ、本実施形態による効果を説明するための図である。図１０Ａ，１０Ｂ，１０Ｃ，１０Ｄはそれぞれ、左側に、縮小前フォントサイズＨＦから単純に縮小後フォントサイズＨＦ´へ縮小された１文字（従来例）を示し、右側に、本実施形態による縮小率α１適用後の縮小後フォントサイズＨＦ´の１文字（本実施形態の例）を示している。図１０Ａ，１０Ｂ，１０Ｃ，１０Ｄはいずれも一例として、図６に示した合字（母字「Ａ」と、当該母字の上側の記号とを組み合わせた文字）を示している。図１０Ａ，１０Ｂ，１０Ｃ，１０Ｄに示す本実施形態の例にかかる文字はいずれも、隣接文字との重なりを回避するためのアスペクト比変更処理（ステップＳ１５０）は施されていないものとする。
【００６６】
図１０Ａは、縮小後フォントサイズＨＦ´が１８pixelであり、右側の本実施形態の例において適用した記号・母字縮小率比Ｐａは１．１であるとする。図１０Ａの本実施形態の例では、記号・母字縮小率比Ｐａ（＝１．１）の影響により母字「Ａ」の上側の記号が従来例と比較して大きくなっており、そのため前記記号の可読性が向上していることが判る。
【００６７】
図１０Ｂは、縮小後フォントサイズＨＦ´が１８pixelであり、右側の本実施形態の例において適用した記号・母字縮小率比Ｐａは１．１、母字アスペクト比Ｐｂは０．９であるとする。図１０Ｂの本実施形態の例では、記号・母字縮小率比Ｐａ（＝１．１）の影響により母字「Ａ」の上側の記号が従来例と比較して大きくなっており、かつ母字アスペクト比Ｐｂ（＝０．９）の影響により母字の高さが従来例と比較して縮まっており、そのため前記記号の可読性が向上していることが判る。
【００６８】
図１０Ｃは、縮小後フォントサイズＨＦ´が１０pixelであり、右側の本実施形態の例において適用した記号・母字縮小率比Ｐａは１．５であるとする。図１０Ｃの本実施形態の例では、記号・母字縮小率比Ｐａ（＝１．５）の影響により母字「Ａ」の上側の記号が従来例と比較して大きくなっており、そのため前記記号の可読性が向上していることが判る。また、図１０Ａ，１０Ｃの比較から判るように、縮小後フォントサイズＨＦ´が小さいほど、記号・母字縮小率比Ｐａが大きくなっているため、本実施形態によれば図１０Ｃのように文字が小さい場合であっても、母字に組み合わせられる前記記号の可読性は高く維持される。
【００６９】
図１０Ｄは、縮小後フォントサイズＨＦ´が１０pixelであり、右側の本実施形態の例において適用した記号・母字縮小率比Ｐａは１．５、母字アスペクト比Ｐｂは０．９であるとする。図１０Ｃの本実施形態の例では、記号・母字縮小率比Ｐａ（＝１．５）の影響により母字「Ａ」の上側の記号が従来例と比較して大きくなっており、かつ母字アスペクト比Ｐｂ（＝０．９）の影響により母字の高さが従来例と比較して縮まっており、そのため前記記号の可読性が向上していることが判る。
【００７０】
縮小後フォントサイズＨＦ´に応じた部品毎の判読のし難さ、特に記号等の前記特定の部品の判読のし難さは、フォント（フォントの種類、書体）によって異なると言える。そのため、ステップＳ４３０（図５）で参照される記号・母字比テーブル７０（図７）は、予めフォント毎に定められている。つまり、前記描画指示には、文字のフォントを指示する情報も含まれており、ステップＳ２１０（図３）では、強調処理部３２は、前記描画指示に含まれている指示にかかるフォントに対応するフォントデータ４１を記憶部４０から読み出す。また、ステップＳ４３０（図５）では、強調処理部３２は、前記描画指示に含まれている指示にかかるフォントに対応する記号・母字比テーブル７０（図７）を記憶部４０等から読み出して参照する。
【００７１】
記号・母字比テーブル７０がフォント毎に定められているということは、記号・母字比テーブル７０が記号・母字縮小率比Ｐａ等を規定するフォントサイズの最大値（図７の例では、１８pixel）、つまりステップＳ２４０（図３）で縮小後フォントサイズＨＦ´との比較に用いるしきい値がフォント毎に異なるということである。そのため、同じ縮小後フォントサイズＨＦ´であってもフォントが異なれば、ステップＳ２５０〜Ｓ３００が実行されたりされなかったりする。
【００７２】
さらに、部品毎の判読のし難さ（特に記号等の前記特定の部品の判読のし難さ）は、文字（グリフ）毎に異なるとも言える。そのため、ステップＳ４３０（図５）で参照される記号・母字比テーブル７０（図７）は、予め文字毎に定められているとしてもよい。
図１１は、記号・母字比テーブル７０が文字毎に定められている場合の、ステップＳ１１０（図２）の文字縮小率決定処理をフローチャートにより示している。図１１は、図３に対する変形例であると言える。当該変形例（図１１）に関しては、図３との違いを主に説明する。当該変形例においては、ステップＳ２２０あるいはステップＳ２３０から進んだステップＳ２３５で、強調処理部３２は、文字列に含まれる１文字を対象文字として特定する。
【００７３】
対象文字を特定した上で、強調処理部３２は、縮小後フォントサイズＨＦ´が、対象文字に対応するしきい値以下であるか否かを判定する（ステップＳ２４０）。当該変形例におけるステップＳ２４０では、強調処理部３２は、対象文字に対応して予め用意されている記号・母字比テーブル７０を記憶部４０等から読み出し、この記号・母字比テーブル７０に規定されている最大のフォントサイズを、縮小後フォントサイズＨＦ´との比較に用いるしきい値とする。強調処理部３２は、縮小後フォントサイズＨ´がしきい値以下である場合（ステップＳ２４０において“Ｙｅｓ”）、ステップＳ２６０へ進む。ステップＳ２６０の処理（図５）においてステップＳ４３０で参照する記号・母字比テーブル７０は、言うまでもなく、ステップＳ２３５で特定した対象文字に対応する記号・母字比テーブル７０である。一方、縮小後フォントサイズＨＦ´がしきい値より大きい場合は（ステップＳ２４０において“Ｎｏ”）、ステップＳ２６０〜Ｓ２８０をスキップし、ステップＳ２９０の判定を行う。
【００７４】
当該変形例のステップＳ２９０では、強調処理部３２は、文字列に含まれる全ての文字について、ステップＳ２３５で対象文字に特定済みであるか否かを判定し、文字列に含まれる全ての文字についてステップＳ２３５で対象文字に特定済みであれば（ステップＳ２９０において“Ｙｅｓ”）、ステップＳ３００へ進む。一方、文字列に含まれる一部の文字について、ステップＳ２３５で対象文字に特定していなければ（ステップＳ２９０において“Ｎｏ”）、ステップＳ２３５以降の処理を繰り返す。ステップＳ２３５では、文字列に含まれる１文字であってそれまで対象文字として特定していない文字を新たな対象文字として特定する。当該変形例では、ステップＳ２３５で特定した全ての文字について、ステップＳ２４０で“Ｎｏ”の判定がされた場合には、ステップＳ３００では実質的に縮小率α１の決定はされず、図３のステップＳ２４０で“Ｎｏ”の判定をした場合と同じ処理となる。
【００７５】
本実施形態では上述したように、母字アスペクト比Ｐｂや記号アスペクト比Ｐｃの影響により、文字を構成する各部品である母字や記号のアスペクト比が変更される。また、ステップＳ１５０（図２）において、隣接文字との重なりを回避するために、これら部品のアスペクト比が変更されることもある。文字を単純に拡大・縮小した場合、各文字は、画素単位で高さおよび幅が変更されるため、厳密に言えば、拡大・縮小の前後でアスペクト比が変わることもある。しかし本実施形態による上述のアスペクト比の変更とは、文字の単純な拡大・縮小に伴うアスペクト比の変更を超える度合の変更である。
【００７６】
図９に例示する対象文字は、母字「Ｏ」の上側（正確には右上側）と下側にそれぞれ記号が組み合わされた合字である。このうち、上側の記号（部品Ｐｏ）は、高さの範囲が母字「Ｏ」の高さの範囲と一部重複している。このように、記号の高さの範囲と母字の高さの範囲とが一部で重複している場合、強調処理部３２は、ステップＳ４２０（図５）で部品高さを取得する際に、母字と重複する範囲を除いて記号の部品高さを取得する。具体的には、強調処理部３２は、ステップＳ４１０で部品Ｐｏの記号原点座標Ｐ２を取得し、ステップＳ４２０で当該記号原点座標Ｐ２に基づいて、対象文字の高さ（フォントサイズＨＦ）のうち当該記号原点座標Ｐ２から上側に相当する高さ範囲を取得する。そして、強調処理部３２は、このように取得した高さ範囲のうち母字の高さ範囲と重なる範囲を除いた残りの範囲を、部品Ｐｏの部品高さＨＴとする。このように、文字の構造上、記号の高さの範囲と母字の高さの範囲とが一部で重複している場合であっても、重複範囲はどちらかの範囲から除外してそれぞれの高さを把握することにより、文字を構成する各部品を、部品毎の縮小率（α１×Ｐａ×Ｐｃや、α１×Ｐｂ）でそれぞれ縮小することができる。
【００７７】
さらに強調処理部３２は、文字を構成する部品（記号等の特定の部品）について、縮小率を他の部品と異ならせたりアスペクト比を変更したりして強調する以外も、例えば、色や背景色を変更したり、ボールド処理（線を太くする処理）を施したりして強調してもよい。この一例として、文字生成制御部３０は、対象文字を構成する複数の部品毎に決定されたサイズに基づいて、対象文字の部品毎の色および当該部品毎の背景色の少なくとも一方を変更して対象文字を生成するとしてもよい。例えば、強調処理部３２は、母字の高さ（ＨＦ−ＨＴ−ＨＢ）に縮小率α１×Ｐｂを掛けた値に対する、ある記号の部品高さＨＴに縮小率α１×Ｐａ×Ｐｃを掛けた値の比が、所定の基準値以下である場合は、当該記号の強調度合が不足しているとして、当該記号の色と当該記号の背景色の少なくとも一方を変更することをレンダラー３３に指示し、レンダラー３３に対象文字を描画させる。記号の色と記号の背景色の少なくとも一方を変更するとは、記号の色と記号の背景色とのコントラストを広げるようにそれらの少なくとも一方を変更する処理である。背景色については、元々色がついている場合に、当該色を濃くしたり薄くしたりすることができる。色の変更とは、色相の変更の他に、彩度や明度の変更も含まれる。このような構成によれば、文字の部品毎の色や背景色を変更することにより、文字の可読性をさらに向上させることができる。
【符号の説明】
【００７８】
１０…文字生成装置、２０…アプリケーション、３０…文字生成制御部、３１…文字生成プログラム、３２…強調処理部、３３…レンダラー、４０…記憶部、４１…フォントデータ、５０…描画バッファ、６０…出力部、７０…記号・母字比テーブル
【図１】
2018072569.tif 000005
【図２】
2018072569.tif 000006
【図３】
2018072569.tif 000007
【図４】
2018072569.tif 000008
【図５】
2018072569.tif 000009
【図６】
2018072569.tif 000010
【図７】
2018072569.tif 000011
【図８】
2018072569.tif 000012
【図９】
2018072569.tif 000013
【図１０】
2018072569.tif 000014
【図１１】
2018072569.tif 000015