(57)【要約】【課題】カラーフォントのデザインへの影響を低減して、カラーフォントの視認性を向上させる情報処理装置を提供する。【解決手段】情報処理装置１０は、文字の描画が指示されたことに応じて、文字を表す画像を構成する複数のパスに、文字が描画される背景の背景色と同系色のパスが含まれるかを判定する色差判定部２０８と、複数のパスに背景色と同系色のパスが含まれると判定された場合、該パスの色に対して所定の関係にある色が設定された他のパスを複数のパスから抽出するパス抽出部２０５と、複数のパスうち背景色と同系色のパス、及び、パス抽出部２０５で抽出されたパスの色を、所定の関係を保ちつつ変更するパス描画色変更部２０６と、変更されたパスの色を使って各パスを背景の上に描画することで画像を形成する描画部２０７と、を備える。【選択図】図２
2016206301.tif 000002
【特許請求の範囲】
【請求項１】
文字の描画が指示されたことに応じて、前記文字を表す画像を構成する複数の構成部材に、前記文字が描画される背景の背景色と同系色の構成部材が含まれるかを判定する色差判定手段と、
前記複数の構成部材に前記背景色と同系色の構成部材が含まれると判定された場合、該構成部材の色に対して所定の関係にある色が設定された他の構成部材を前記複数の構成部材から抽出する抽出手段と、
前記複数の構成部材のうち前記背景色と同系色の前記構成部材、及び、前記抽出手段で抽出された前記構成部材の色を、前記所定の関係を保ちつつ変更する色変更手段と、
変更された構成部材の色を使って各構成部材を前記背景の上に描画することで前記画像を形成する描画手段と、を備えることを特徴とする、
情報処理装置。
【請求項２】
前記色差判定手段は、前記構成部材の色を表す値と、前記背景色を表す値との差が閾値以下であれば、当該構成部材の色が前記背景色と同系色であると判定し、
前記色変更手段は、前記背景色を表す値との差が前記閾値よりも大きくなるように、前記背景色と同系色の前記構成部材、及び、前記抽出手段で抽出された前記構成部材の色を変更することを特徴とする、
請求項１記載の情報処理装置。
【請求項３】
前記背景色と同系色の前記構成部材が、背景に隣接するか否かを判定する隣接判定手段を更に備えており、
前記抽出手段は、前記背景色と同系色の前記構成部材が前記背景に隣接する場合に、前記他の構成部材の抽出を行うことを特徴とする、
請求項１又は２記載の情報処理装置。
【請求項４】
前記隣接判定手段は、前記背景色と同系色の構成部材が、前記複数の構成部材を合成した和集合と輪郭を共有するか否かにより、当該構成部材が前記背景に隣接するか否かを判定することを特徴とする、
請求項３記載の情報処理装置。
【請求項５】
前記抽出手段は、色空間において、前記背景色と同系色の構成部材の色の値を通って直線上に並ぶ他の２以上の色を抽出し、これらの色が設定される２以上の構成部材を抽出することを特徴とする、
請求項１〜４のいずれか１項記載の情報処理装置。
【請求項６】
前記抽出手段は、ＲＧＢ色空間、または色相、明度、彩度によって表される色空間において、前記背景色と同系色の構成部材の色の値を通って直線上に並ぶ他の２以上の色を抽出することを特徴とする、
請求項５記載の情報処理装置。
【請求項７】
前記色変更手段は、前記色空間において、前記背景色と同系色の前記構成部材及び前記抽出手段が抽出した構成部材に設定される色の値を、前記直線を保ったまま前記色空間の原点中心に所定の方向へ回転させた値に変更することを特徴とする、
請求項５又は６記載の情報処理装置。
【請求項８】
前記抽出手段は、色空間において、前記背景色を表す値との差が同値となる色が設定される２以上の構成部材を抽出することを特徴とする、
請求項１〜４のいずれか１項記載の情報処理装置。
【請求項９】
前記色変更手段は、前記背景色と同系色の前記構成部材及び前記抽出手段が抽出した構成部材に設定される色を、前記背景色の値との差が大きくなるように変更することを特徴とする、
請求項８記載の情報処理装置。
【請求項１０】
前記色変更手段は、前記背景色と同系色の前記構成部材及び前記抽出手段で抽出された前記構成部材の色を、所定のスケール値を乗算することで変更することを特徴とする、
請求項１〜９のいずれか１項記載の情報処理装置。
【請求項１１】
前記色変更手段は、前記所定の関係にあると判定された構成部材が、複数の文字で同じ色に設定されている場合に、当該構成部材の色を、前記複数の文字において同じ色に変更することを特徴とする、
請求項１〜１０記載の情報処理装置。
【請求項１２】
文字の描画が指示されたことに応じて、ディスプレイに、複数の構成部材により構成される前記文字を表す画像を表示させる情報処理装置により実行される方法であって、
前記複数の構成部材に、前記文字が描画される背景の背景色と同系色の構成部材が含まれるかを判定する工程と、
前記複数の構成部材に前記背景色と同系色の構成部材が含まれると判定された場合、該構成部材の色に対して所定の関係にある色が設定された他の構成部材を前記複数の構成部材から抽出する工程と、
前記複数の構成部材のうち前記背景色と同系色の前記構成部材、及び、抽出した前記構成部材の色を、前記所定の関係を保ちつつ変更する工程と、
変更した構成部材の色を使って各構成部材を前記背景の上に描画することで前記画像を形成するする工程と、を含むことを特徴とする、
画像の表示方法。
【請求項１３】
文字の描画が指示されたことに応じて、ディスプレイに、複数の構成部材により構成される前記文字を表す画像を表示させるコンピュータを、
文字の描画が指示されたことに応じて、前記文字を表す画像を構成する複数の構成部材に、前記文字が描画される背景の背景色と同系色の構成部材が含まれるかを判定する色差判定手段、
前記複数の構成部材に前記背景色と同系色の構成部材が含まれると判定された場合、該構成部材の色に対して所定の関係にある色が設定された他の構成部材を前記複数の構成部材から抽出する抽出手段、
前記複数の構成部材のうち前記背景色と同系色の前記構成部材、及び、前記抽出手段で抽出された前記構成部材の色を、前記所定の関係を保ちつつ変更する色変更手段、
変更された構成部材の色を使って各構成部材を前記背景の上に描画することで前記画像を形成する描画手段、
として機能させるためのコンピュータプログラム。
【請求項１４】
請求項１３記載のコンピュータプログラムを記憶するコンピュータにより読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスプレイに複数色で構成される文字を表示する情報処理装置に関する。
【背景技術】
【０００２】
近年のスマートフォン、タブレット端末、パーソナルコンピュータ等の情報処理装置は、複数の色付きのグリフ（glyph）を重ね合わせて描画することで、絵文字等のカラーフォントをディスプレイに表示することができる。カラーフォントは、複数の色を組み合わせて構成されるため、一部が背景の色と同系色であったり、写真等の背景自体が多数の色を含む場合に、背景との区別がつきにくくなることがある。このような場合であってもカラーフォントを用いた文字の視認性を確保するため、以下のような技術が提案されている。例えば、描画色の組み合わせを予め複数用意しておき、背景色に応じて、複数の描画色から選択した色で文字や描画線を表示する技術が開示されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−２７８５３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
絵文字等のカラーフォントでは、上記の技術で視認性を確保しようとすると、グリフ毎に背景色に応じた色に置き換えられ、カラーフォントのデザインの意図が損なわれる可能性がある。また、グリフ毎に複数の描画色を用意する必要があるためにカラーフォントの表示のための記憶容量が大きくなり、描画処理のオーバーヘッドが大きくなる。
【０００５】
本発明は、上記の問題を解決するために、カラーフォントのデザインへの影響を低減して、カラーフォントの視認性を向上させる情報処理装置を提供することを主たる課題とする。
【課題を解決するための手段】
【０００６】
本発明の情報処理装置は、文字の描画が指示されたことに応じて、前記文字を表す画像を構成する複数の構成部材に、前記文字が描画される背景の背景色と同系色の構成部材が含まれるかを判定する色差判定手段と、前記複数の構成部材に前記背景色と同系色の構成部材が含まれると判定された場合、該構成部材の色に対して所定の関係にある色が設定された他の構成部材を前記複数の構成部材から抽出する抽出手段と、前記複数の構成部材のうち前記背景色と同系色の前記構成部材、及び、前記抽出手段で抽出された前記構成部材の色を、前記所定の関係を保ちつつ変更する色変更手段と、変更された構成部材の色を使って各構成部材を前記背景の上に描画することで前記画像を形成する描画手段と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、背景色と同系色の構成部材及び所定の関係にあると判定された構成部材の色を、所定の関係を保ちつつ変更することで、フォントのデザインの意図を損なうことなく、視認性を高めることができる。
【図面の簡単な説明】
【０００８】
【図１】情報処理装置のハードウェア構成図。
【図２】情報処理装置の機能ブロック図。
【図３】（ａ）〜（ｄ）は画像データの説明図。
【図４】画像の表示処理を表すフローチャート。
【図５】パスの抽出処理を表すフローチャート。
【図６】（ａ）〜（ｇ）はパスの抽出処理及び描画色の変更処理の説明図。
【図７】情報処理装置の機能ブロック図。
【図８】（ａ）〜（ｄ）は画像の表示処理の説明図。
【図９】（ａ）〜（ｃ）は画像の表示処理の説明図。
【発明を実施するための形態】
【０００９】
以下、図面を参照して実施形態を詳細に説明する。ただし、本実施形態に記載されている構成要素はあくまでも例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。
【００１０】
［第１実施形態］
図１は、本実施形態の情報処理装置のハードウェア構成図である。情報処理装置１０は、入力装置２０及びディスプレイ３０が接続される。情報処理装置１０は、スマートフォン、タブレット端末、パーソナルコンピュータ等により実現される。入力装置２０は、キーボード、マウス、タッチパネル等である。入力装置２０は、ユーザの操作により指示を情報処理装置１０に入力する。ディスプレイ３０は、ＦＰＤ（Flat Panel Display）やＣＲＴ（Cathode Ray Tube）である。ディスプレイ３０は、情報処理装置１０により画像が表示される。情報処理装置１０、入力装置２０、及びディスプレイ３０は、一体に構成されてもよい。なお、本実施形態では、情報処理装置１０がディスプレイ３０にカラーフォントを含む画像を表示する例を説明するが、ディスプレイ３０以外に、画像を視認可能に出力する出力装置を用いてもよい。例えば、プリンタ等の画像形成装置によりカラーフォントを含む画像を出力する際にも、本実施形態は適用可能である。
【００１１】
情報処理装置１０は、ＣＰＵ（Central Processing Unit）１０２、ＲＯＭ（Read Only Memory）１０３、ＲＡＭ（Random Access Memory）１０４、及びＩ／Ｏインタフェース１０５を備える。ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４、及びＩ／Ｏインタフェース１０５は、バス１０１を介して、通信可能に接続される。ＣＰＵ１０２は、ＲＯＭ１０３からコンピュータプログラムを読み出し、ＲＡＭ１０４を作業領域に用いて実行することで、情報処理装置１０の動作を制御する。本実施形態では、フォントを表すフォントデータが、ＲＯＭ１０３に格納されており、ＲＡＭ１０４に展開されて使用される。
【００１２】
図２は、情報処理装置１０の機能ブロック図である。ここでは、情報処理装置１０がカラーフォントを表示する際に必要な機能について説明する。情報処理装置１０は、記憶部２００、背景色取得部２０１、文字情報取得部２０２、パス形状取得部２０３、パス描画色取得部２０４、パス抽出部２０５、パス描画色変更部２０６、描画部２０７、及び色差判定部２０８として機能する。これらの機能は、ＣＰＵ１０２がコンピュータプログラムを実行することで実現される。
【００１３】
記憶部２００は、ディスプレイ３０に表示される画像を表す画像データを記憶する。画像は、背景上に所定のフォントで文字が表示されて構成される。文字は、例えば絵文字等のカラーフォントで形成される。図３は、画像データの説明図である。画像データは、背景４０１の色（背景色）に関する情報及び画像に含まれる文字のフォントを設定する文字情報を含む。本実施形態では、フォント（文字）の構成部材としてパスを用いた例を説明するが、グリフを構成部材として用いる場合も同様の処理が可能である。文字情報は、文字毎に、パスの描画順、パスを識別するためのパスＩＤ、パスの色を識別するパレットＩＤを含む。本実施形態では、背景色及びパスの色が、光の３原色であるＲＧＢをそれぞれ８ビット整数で表現した形式（ＨＴＭＬ（HyperText Markup Language）で使用される表現）で表す。なお、記憶部２００は、各種インタフェースを介して接続された外部装置（例えば、メモリディスクやインターネット上のサーバ装置）であってもよい。
【００１４】
図３（ａ）に示すように、本実施形態の背景色は、一様色であり、１６進数カラーコードで「#000F8」で表される。図３（ｂ）に示すように、本実施形態の文字情報は、描画対象となる文字４０２、４０３、４０４について記憶する。文字４０２は、パスＩＤがパスＡ、パスＢ、パスＣ、パスＤで表されるパスが、この順で重ね合わされることで構成される。パスＡの色はカラーＷ、パスＢの色はカラーＸ、パスＣの色はカラーＹ、パスＤの色はカラーＺの各パレットＩＤで表される。図３（ｃ）は、パスＩＤとパスの形状との関係を表す形状テーブルの例示図である。形状テーブルは、記憶部２００に記憶される。ここではパスの形状を模式的に表しているが、記憶部２００には、パスＩＤ毎のパスの形状が、座標値及びパスのコマンド等の形式で記憶される。図３（ｄ）は、パレットＩＤと描画色との関係を表す描画色テーブルの例示図である。描画色テーブルは、記憶部２００に記憶される。本実施形態の描画色は、背景色同様に１６進数カラーコードで表され、パレットＩＤ毎に記憶部２００に記憶される。
【００１５】
背景色取得部２０１は、記憶部２００に記憶された画像データから画像の背景色を表す情報を取得する。
文字情報取得部２０２は、記憶部２００に記憶された画像データから描画対象となる文字に関する文字情報を取得する。
パス形状取得部２０３は、パス形状を、文字情報取得部２０２が取得した文字情報に応じて取得する。パス形状取得部２０３は、文字情報に含まれるパスＩＤにより、形状テーブルを参照してパス形状を取得する。
パス描画色取得部２０４は、パスの色を、文字情報取得部２０２が取得した文字情報に応じて取得する。パス描画色取得部２０４は、文字情報に含まれるパレットＩＤにより、描画色テーブルを参照してパスの描画色を取得する。
【００１６】
パス抽出部２０５は、描画色が所定の関係にある２以上のパスを抽出する。パス抽出部２０５は、例えば色空間内で各描画色がどのように配置されて所定の関係にあるかを判定してパスを抽出する。
パス描画色変更部２０６は、パス抽出部２０５で所定の関係にあると判定された各パスの描画色を変更する。パス描画色変更部２０６は、所定の関係を保ちつつ、背景色に対する視認性が高まるように各パスの描画色を変更する。
描画部２０７は、背景上に各パスを描画して、ディスプレイ３０に表示する文字の画像を形成する。描画部２０７は、パスの描画色が変更された場合には、変更内容を反映した色を使ってパスの描画を行う。
色差判定部２０８は、背景色と同系色の描画色が設定されたパスの有無を判定する。例えば色差判定部２０８は、背景色を表す値とパスの描画色を表す値との色差を算出して、色差が閾値以下であるパスの存在の有無を判定する。色差は、例えばＲＧＢ色空間内での距離により表される。色差判定部２０８は、色差をＲ、Ｇ、Ｂそれぞれの値の差の２乗の和の平方根を計算することで算出する。
【００１７】
図４は、このような情報処理装置１０による画像の表示処理を表すフローチャートである。以下の説明では、図３の画像データを用いて文字４０２の画像を表示する処理について説明する。
【００１８】
表示処理が開始されると、背景色取得部２０１は、記憶部２００に記憶される画像データから、背景４０１の色を取得する（Ｓ３０１）。ここでは、背景色取得部２０１は、背景色「#000F8」を取得する。文字情報取得部２０２は、記憶部２００から、描画対象の文字を構成する文字情報を取得する（Ｓ３０２）。ここでは、文字情報取得部２０２が、文字４０２に関する文字情報を取得する。
【００１９】
パス形状取得部２０３は、文字情報取得部２０２が取得した文字情報に応じて形状テーブルを参照し、パス形状を取得する（Ｓ３０４）。パス描画色取得部２０４は、文字情報取得部２０２が取得した文字情報に応じて描画色テーブルを参照し、描画色を取得する（Ｓ３０５）。文字情報取得部２０２が取得した文字４０２の文字情報には、パスＡ、パスＢ、パスＣ、パスＤが含まれる。パス形状取得部２０３及びパス描画色取得部２０４は、Ｓ３０４、Ｓ３０５の処理を繰り返し行い、パスＡ、パスＢ、パスＣ、パスＤのパス形状及びパレットＩＤがカラーＷ、カラーＸ、カラーＹ、カラーＺの描画色を取得する（Ｓ３０３、Ｓ３０６）。ここでパス描画色取得部２０４は、描画色「#00FF00」、「#0000FF」、「#0000C0」、「#000080」を取得する。
【００２０】
色差判定部２０８は、背景色と各パスの描画色との色差を算出して、色差が閾値以下となるパスが存在するか否かを判定する（Ｓ３０７）。本実施形態では、背景色及び各パスの描画色のＲ、Ｇ、Ｂそれぞれが「０〜２５５」の値にエンコーディングされている。また、本実施形態では、色差の閾値を「１６」とする。
【００２１】
色差が閾値以下となるパスが存在する場合（Ｓ３０７：Y）、パス抽出部２０５は、色差が閾値以下となるパスの描画色に対して所定の関係にある描画色が設定された他のパスを抽出する（Ｓ３０８）。本実施形態では、文字４０２のパスＢのカラーＸの描画色「#0000FF」が、背景色「#0000F8」との色差が「７」である。これは閾値以下であるために、Ｓ３０８のパスの抽出処理が行われる。
【００２２】
図５は、パスの抽出処理を表すフローチャートである。パス抽出部２０５は、背景色との色差が閾値以下となるパスの描画色と、他のパスの描画色との組み合わせについて、各描画色間のベクトルを算出して、算出したベクトルを正規化する（Ｓ５０１〜Ｓ５０４）。本実施形態では、パス抽出部２０５は、パスＢの描画色と、パスＡ、パスＣ、パスＤの各描画色とのベクトルを算出して正規化する。パス抽出部２０５は、正規化後のベクトルが一致する描画色が設定されたパスの組み合わせを抽出する（Ｓ５０５）。
【００２３】
図６は、パスの抽出処理及び描画色の変更処理の説明図である。図６（ａ）は、直交座標系で表したＲＧＢ色空間に、文字４０２を構成する各パスの描画色の値及び背景色の値をマッピングした図である。ＲＧＢ色空間の原点は「#000000」である。背景色、背景色との色差が閾値以下となるパスＢの描画色（カラーＸ）、及びパスＣ、Ｄの描画色（カラーＹ、Ｚ）は、Ｂ軸上にある。パスＡの描画色（カラーＷ）はＧ軸上にある。
【００２４】
背景色との色差が閾値以下となるパスＢの描画色と、他のパスＡ、Ｃ、Ｄの描画色とのベクトルは、図６（ａ）において、カラーＸからカラーＷ、カラーＸからカラーＹ、カラーＸからカラーＺの線分の長さ及び向きで表される。図６（ｂ）は、各ベクトルの正規化前の成分と正規化後の成分とを表す。正規化後に一致するベクトルは、カラーＸからカラーＹ、カラーＸからカラーＺへのベクトルである。パス抽出部２０５は、この２つの描画色の組み合わせを抽出する。つまりパス抽出部２０５は、ＲＧＢ色空間内で、パスＢの描画色の値を通って直線上に並ぶ他の２以上の描画色を抽出し、抽出したこれらの描画色が設定される２以上のパスを抽出する。なお、パス抽出部２０５は、正規化後のベクトルが正負逆になっているものも一致しているベクトルとみなす。
【００２５】
以上のような処理によりパスが抽出されると、パス描画色変更部２０６は、抽出された描画色間の関係性に基づいて、各パスの描画色を変更する（Ｓ３０９）。本実施形態では、背景色との色差が小さいと判定された描画色がパスＢのカラーＸで、カラーＸと所定の関係にあると判定された描画色がパスＣのカラーＹ及びパスＤのカラーＺである。また、カラーＸ、カラーＹ、カラーＺの描画色間の関係性は、ＲＧＢ色空間において直線上に並ぶことである。パス描画色変更部２０６は、この関係を維持したまま、パスＢのカラーＸと背景色との色差が閾値より大きくなるように、ＲＧＢ色空間内で各パスの描画色を変換する。
【００２６】
一例として、描画色の値を、直線上に並ぶ関係を保ちながらＲＧＢ色空間内を平行移動させる方法について説明する。平行移動させるときには、平行移動量を最も小さくして、移動後の描画色の値がＲＧＢ色空間（Ｒ、Ｇ、Ｂ方向にいずれも０〜２５５）の範囲内に存在するようにする。平行移動時には、図６（ｃ）に示すように、背景色からカラーＸ、カラーＹ、カラーＺが並ぶ直線への垂線ベクトルを算出し、その垂線ベクトルの延長方向に、各描画色の値を平行移動する。
本実施形態では、平行移動量を最小にするために、「ｒ２＋ｇ２＝１６２」を満たす（ｒ，ｇ，０）方向への平行移動が候補となる。図６（ａ）の例では、背景色もＲＧＢ色空間内でカラーＸ、カラーＹ、カラーＺと同じ直線上に存在しているため、パス描画色変更部２０６は垂線ベクトルを算出できない。このような場合、例えばＳ３０８の処理で関係がないと判定された描画色（カラーＷ）から直線が最も離れるような平行移動量とする。ここでは、平行移動量が（１５，０，０）となる。図６（ｄ）は、このような平行移動量により平行移動したＲＧＢ色空間内の描画色を表す。カラーＸは「#0F00FF」、カラーＹは「#0F00C0」、カラーＺは「#0F0080」にそれぞれ変更される。
【００２７】
色差が閾値以下となるパスが存在しない場合（Ｓ３０７：N）、或いは各パスの描画色の変更処理が終了すると、描画部２０７は、変更後の描画色に基づいてパスを描画して文字を形成し、画像を生成する（Ｓ３１０）。ＣＰＵ１０２は、描画結果をディスプレイ３０に表示させて処理を終了する。以上の処理により、各々で色が設定されたパスを重ね合わせた文字を描画する際に、パスの色が変更されてもフォントのデザインの意図を損なうことがなくなる。また、背景色との色差を大きくして文字が表示されるために、文字の視認性が高まる。
【００２８】
上記の例では、パス抽出部２０５は、Ｓ３０８の処理において、ＲＧＢ色空間内の描画色の値が直線上に並ぶ関係にあるパスを抽出しているが、他の色空間を用いて関係性を抽出してもよい。例えば、パス抽出部２０５は、色相、明度、彩度をパラメータとした色空間を用いて、各パスの描画色の関係性を抽出してもよい。図６（ｅ）は、色相、明度、彩度をパラメータとした色空間の例示図であり、極座標で表される。抽出される描画色の関係は、例えば色相が一致している、彩度が一致している等となる。
また、色空間において描画色が直線上に並ぶ以外の関係性を抽出してもよい。さらに、描画色に加えて背景色との関係を用いてもよい。例えば、ＲＧＢ色空間において、各パスの描画色の値が背景色の値を中心とした球上に存在する、すなわち背景色の値との色差が同値となるような関係を持つ描画色を抽出してもよい。また、本実施形態ではベクトルが一致することを関係性があるという条件にしていたが、正規化後のベクトルがある許容範囲内であれば一致するとみなすようにしてもよい。
【００２９】
上記の例では、パス描画色変更部２０６は、Ｓ３０９の処理において、描画色をＲＧＢ色空間内で平行移動させて色変更処理を行っているが、描画色間の関係を保っていれば他の方法で色変更を行ってもよい。
例えば、ＲＧＢ色空間内で、描画色が並ぶ直線を保ったまま原点中心に所定の方向へ回転させるような変更や、描画色の各成分値に対して所定のスケール値を乗算してもよい。一般的に、描画色のＲ、Ｇ、Ｂに対して、図６（ｆ）に示したような行列を乗算することによって、直線上に並ぶ描画色は、変換後も直線上に並んだままである。
【００３０】
また、本実施形態では、描画色が直線上に並ぶ関係である場合の色変更処理について説明したが、描画色間の関係の種類によって色変更処理を異なるようにしてもよい。例えば図６（ｇ）に示すように、ＲＧＢ色空間において、描画色の値が背景色の値を中心とした球上に存在する場合は、球の半径を大きくする方向へ移動させるように描画色を変更してもよい。つまり、ＲＧＢ色空間において、背景色の値との色差が同値である描画色の値を、背景色の値との色差が大きくなるように変更してもよい。また、例えば色相、明度、彩度からなる色空間を用いて色変更処理を行ってもよい。例えば、パス描画色変更部２０６は、明度と彩度を維持して色相の角度を変更することによって描画色の変更を行う。
【００３１】
［第２実施形態］
パスの描画色は、描画色間の関係、或いは背景色を含めた描画色間の関係に加えて、パスが背景に隣接するか否かを考慮して変更されてもよい。本実施形態の情報処理装置のハードウェア構成は、第１実施形態の情報処理装置１０のハードウェア構成（図１参照）と同様であるので説明を省略する。
【００３２】
図７は、第２実施形態の情報処理装置１１の機能ブロック図である。情報処理装置１１は、第１実施形態の情報処理装置１０の各機能に加えて、隣接判定部７０１として機能する。これらの機能は、ＣＰＵ１０２がコンピュータプログラムを実行することで実現される、カラーフォントを表示する際に必要な機能である。隣接判定部７０１は、文字を構成するパスが、画像の背景に隣接するか否かを判定する。
【００３３】
図８は、このような情報処理装置１１による画像の表示処理の説明図である。図８（ａ）は、画像の表示処理を表すフローチャートである。第１実施形態の画像の表示処理と同じ処理には、同じステップ番号を付してある。同じ処理の説明は省略する。ここでは、図３（ｂ）の文字４０３の表示処理について説明する。文字４０３は、パスＥ、パスＢ、パスＣ、パスＤから構成され、描画色はそれぞれカラーＷ、カラーＸ、カラーＹ、カラーＺである。背景色は「#0000F8」である。
【００３４】
背景色、文字４０３を構成するパスＥ、パスＢ、パスＣ、パスＤのパス形状、及び描画色の取得後に、情報処理装置１１は、色差判定部２０８により背景色との色差が閾値以下となる描画色が設定されたパスが存在するか否かを判定する（Ｓ３０７）。本実施形態では、パスＢのカラーＸが背景色との色差が閾値以下となる。
【００３５】
隣接判定部７０１は、背景色との色差が閾値以下と判定された描画色のパスが、背景に接しているか否かを判定する（Ｓ８０１）。ここでは、パスＢが背景に接しているか否かが判定される。隣接判定部７０１は、文字４０３を構成するすべてのパスＢ、パスＣ、パスＤ、パスＥによって囲まれた領域の和集合領域の輪郭を確認する。図８（ｂ）は、パスＢ、パスＣ、パスＤ、パスＥから合成される和集合パス８０２の例示図である。隣接判定部７０１は、パスＢが和集合パス８０２と輪郭を共有するか否かを判定する。図８（ｃ）は、和集合パス８０２とパスＢとの輪郭を表す図である。図８（ｃ）から明らかなように、パスＢは、和集合パス８０２と輪郭を共有していない。そのために、隣接判定部７０１は、パスＢが背景に接していないと判定する。なお、図８（ｄ）に示すパスＣのように、和集合パス８０２と輪郭を共有するパスは、背景に隣接すると判定される。
【００３６】
背景色との色差が閾値以下と判定された描画色のパスが、背景に接している場合（Ｓ８０１：Y）、Ｓ３０８、Ｓ３０９の処理が行われる。色差が閾値以下となるパスが存在しない場合（Ｓ３０７：N）、背景色との色差が閾値以下と判定された描画色のパスが、背景に接していない場合（Ｓ８０１：N）、或いはパスの描画色の変更後に、描画部２０７がパスを描画して画像を生成する（Ｓ３１０）。ＣＰＵ１０２は、描画結果をディスプレイ３０に表示させて処理を終了する。
【００３７】
以上の処理により、各々で色が設定されたパスを重ね合わせた文字を描画する際に、パスの色が変更されてもフォントのデザインの意図を損なうことがなくなる。また、背景色との色差を大きくして文字が表示されるために、文字の視認性が高まる。さらに、背景と同系色のパスが背景に接している場合にのみ描画色を変更するために、描画時の処理負荷を低減しつつ、文字の視認性を向上させることができる。
【００３８】
［第３実施形態］
パスが複数の文字で同じ描画色に設定されており、所定の文字で当該パスの描画色を変更する必要がある場合には、他の文字に用いる場合であっても当該パスを同じ描画色に変更してもよい。この場合、複数の文字で同じ描画色にすることで、当該パスによる文字のデザインの意図が損なわれることが防止される。また、変更する色は、複数の文字で、文字を構成する当該パス以外のパスの色を考慮して決定される。本実施形態の情報処理装置のハードウェア構成及び機能ブロックは、第１実施形態の情報処理装置１０のハードウェア構成（図１参照）及び機能ブロック（図２参照）と同様であるので説明を省略する。
【００３９】
図９は、このような情報処理装置１０による画像の表示処理の説明図である。図９（ａ）は、画像の表示処理を表すフローチャートである。第１実施形態の画像の表示処理と同じ処理には、同じステップ番号を付してある。同じ処理の説明は省略する。ここでは、図３（ｂ）の文字４０２及び文字４０４の表示処理について説明する。文字４０２は、パスＡ、パスＢ、パスＣ、パスＤから構成され、描画色はそれぞれカラーＷ、カラーＸ、カラーＹ、カラーＺである。文字４０４は、パスＡ、パスＢ、パスＣ、パスＤから構成され、描画色はそれぞれカラーＶ、カラーＸ、カラーＹ、カラーＺである。文字４０４は文字４０２と共通のパスから構成されるが、パスＡの描画色が異なる。背景色は「#0000F8」である。
【００４０】
情報処理装置１０は、背景色取得部２０１による背景色の取得後に、描画対象となる文字列に含まれるすべての文字について、Ｓ３０２〜Ｓ３０６の処理を行う（Ｓ９０１、Ｓ９０２）。色差判定部２０８は、文字４０２及び文字４０４のパスＢの描画色であるカラーＸが背景色との色差が閾値以下であると判定する（Ｓ３０７：Y）。
【００４１】
パス抽出部２０５は、パスＢの描画色に対して所定の関係にある描画色が設定された他のパスを抽出する（Ｓ３０８）。図９（ｂ）は、文字４０２及び文字４０４を構成するパスに設定された描画色を、ＲＧＢ色空間にマッピングした例示図である。白丸が文字４０２を構成するパスに設定された描画色、斜線の丸が文字４０４を構成するパスに設定された描画色を表す。
【００４２】
パス抽出部２０５は、異なる文字４０２及び文字４０４で共通に用いられるパスを検出し、検出したパスに設定される描画色が一致しているか否かを検出する。本実施形態では、パスＢ、パスＣ、パスＤが共通して用いられ、これらのパスの描画色も一致している。Ｓ３０７で判定された背景色との色差が閾値以下となる描画色であるカラーＸは、パスＢに設定される。第１実施形態で説明したように、カラーＸ、カラーＹ、カラーＺはＲＧＢ色空間において直線上に並ぶ。
【００４３】
このような場合、パス描画色変更部２０６は、第１実施形態と同様に、カラーＸ、カラーＹ、カラーＺを背景色との色差が閾値以上となるように平行移動させて、描画色を変更する（Ｓ３０９）。パス描画色変更部２０６は、平行移動させる方向として文字４０２のパスＡに設定されるカラーＷと、文字４０４のパスＡに設定されるカラーＶとの関係を加味する。パス描画色変更部２０６は、例えば、カラーＷ、カラーＶからの距離の２乗の和が最小になるようにし、カラーＶとカラーＷのどちらからもなるべく色が近づかないようなバランスになるように平行移動量を計算する。図９（ｂ）の例では、平行移動量（ｒ，ｇ，０）において、「ｒ」と「ｇ」が同じ値になる点を計算する。閾値を「１６」とすると、１０＜ｒ＝ｇ＜１１となるため、パス描画色変更部２０６は、カラーＸを「#0B0BFF」、カラーＹを「#0B0BC0」、カラーＺを「#0B0B80」に変更する。
【００４４】
描画部２０７は、このように描画色が変更されたパスを描画することで、文字４０２及び文字４０４を含む画像を描画する（Ｓ３１０）。ＣＰＵ１０２は、描画結果をディスプレイ３０に表示させて処理を終了する。以上の処理により、各々で色が設定されたパスを重ね合わせた文字を描画する際に、パスの色が変更されてもフォントのデザインの意図を損なうことがなくなる。また、背景色との色差を大きくして文字が表示されるために、文字の視認性が高まる。
【００４５】
［その他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵ、ＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2016206301.tif 000003
【図２】
2016206301.tif 000004
【図３】
2016206301.tif 000005
【図４】
2016206301.tif 000006
【図５】
2016206301.tif 000007
【図６】
2016206301.tif 000008
【図７】
2016206301.tif 000009
【図８】
2016206301.tif 000010
【図９】
2016206301.tif 000011