JP4216278B2 - フォント処理装置、フォント処理方法、ならびに、プログラム - Google Patents

フォント処理装置、フォント処理方法、ならびに、プログラム Download PDF

Info

Publication number
JP4216278B2
JP4216278B2 JP2005316581A JP2005316581A JP4216278B2 JP 4216278 B2 JP4216278 B2 JP 4216278B2 JP 2005316581 A JP2005316581 A JP 2005316581A JP 2005316581 A JP2005316581 A JP 2005316581A JP 4216278 B2 JP4216278 B2 JP 4216278B2
Authority
JP
Japan
Prior art keywords
bitmap
font
unit
identification code
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005316581A
Other languages
English (en)
Other versions
JP2007121874A (ja
Inventor
義嗣 平井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konami Digital Entertainment Co Ltd
Original Assignee
Konami Digital Entertainment Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konami Digital Entertainment Co Ltd filed Critical Konami Digital Entertainment Co Ltd
Priority to JP2005316581A priority Critical patent/JP4216278B2/ja
Publication of JP2007121874A publication Critical patent/JP2007121874A/ja
Application granted granted Critical
Publication of JP4216278B2 publication Critical patent/JP4216278B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Controls And Circuits For Display Device (AREA)

Description

本発明は、アウトラインフォントを、描画品質をできるだけ維持しつつメモリの使用量を少なくして描画を行うのに好適なフォント処理装置、フォント処理方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
従来から、コンピュータやゲーム装置の画面にさまざまなサイズで文字を表示するために、アウトラインフォントを使用する技術が提案されている。これに関連する技術は、以下の文献に開示されている。
特許第3424822号公報
特許文献1においては、ゲーム空間におけるゲームのキャラクターの位置関係に基づいて、メッセージを表示するフォントサイズを変更する技術が開示されている。
ここで、現実最も広く使用されている表示装置は、複数のピクセルのそれぞれについて種々の色を割り当てることによって、文字や絵の表示を行う。したがって、アウトラインフォントを画面に表示する際には、これをビットマップ形式に変換することが不可欠となる。この際には、文字と背景の境界部分を美しく見せるために、アンチエイリアス処理が行われることが多い。
また、コンピュータ技術の分野では、過去に使用された情報をキャッシュして、処理の高速化を図ることも広く行われている。たとえば、アウトラインフォントを所望のサイズのビットマップ形式に変換した後、当該ビットマップ形式に対してキャッシュを使用して、同じフォントを同じサイズで表示する場合には、キャッシュに記憶されているビットマップ形式を再利用することにより、画面表示を処理の高速化するものである。
しかしながら、アウトラインフォントをビットマップ形式に変換する場合、フォントの描画サイズが大きいとビットマップ形式を記憶するためのメモリの消費量も増えてしまい、キャッシュの利用効率が悪くなってしまう、との問題が生ずる。
したがって、アウトラインフォントによる品質の高い文字描画をできるだけ維持しつつ、消費メモリ量をできるだけ減らして、両者の条件をできるだけバランス良く満たすこととし、処理の高速化もできるだけ行いたい、という要望は大きい。
本発明は、このような課題を解決するものであり、アウトラインフォントを、描画品質をできるだけ維持しつつメモリの使用量を少なくして描画を行うのに好適なフォント処理装置、フォント処理方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
本発明の第1の観点に係るフォント処理装置は、フォント記憶部、キャッシュ部、入力受付部、ビットマップ生成部、更新部、および、出力部を備え、以下のように構成する。
まず、フォント記憶部は、アウトラインフォントのデータを、識別符号に対応付けて記憶する。また、キャッシュ部は、ビットマップフォントのデータを、識別符号および描画サイズに対応付けてキャッシュする。そして、入力受付部は、フォント記憶部に記憶されるデータに対応付けられるいずれかの識別符号と、描画サイズと、の入力を受け付ける。
ビットマップ生成部は、入力を受け付けられた識別符号および描画サイズに対応付けられるビットマップフォントのデータがキャッシュ部にキャッシュされていない場合、識別符号に対応付けられてフォント記憶部に記憶されるアウトラインフォントのデータを、描画サイズに対応付けられる色数でアンチエイリアスしたビットマップフォントのデータを生成する。また、更新部は、生成されたビットマップフォントのデータを識別符号および描画サイズに対応付けてキャッシュ部にキャッシュさせる。そして、出力部は、識別符号および当該描画サイズに対応付けて前記キャッシュ部にキャッシュされたビットマップフォントのデータを出力する。
このように、識別符号および描画サイズに対応付けられたアウトラインフォントのデータがキャッシュされていない場合、描画サイズに対応付けられる色数でアンチエイリアスされて識別符号および描画サイズに対応付けられたビットマップフォントのデータが生成されキャッシュされる。そして、識別符号および描画サイズに対応付けられてキャッシュされたビットマップフォントのデータが出力される。
この結果、アウトラインフォントの描画品質をできるだけ維持しつつ、メモリの使用量を少なくして描画を行うことができる。
本発明のその他の観点に係るフォント処理装置は、フォント記憶部、キャッシュ部、入力受付部、ビットマップ生成部、更新部、および、出力部を備え、以下のように構成する。
まず、フォント記憶部は、アウトラインフォントのデータを、識別符号に対応付けて記憶する。また、キャッシュ部は、ビットマップフォントのデータを、識別符号および描画サイズに対応付けてキャッシュする。そして、入力受付部は、フォント記憶部に記憶されるデータに対応付けられるいずれかの識別符号と、描画サイズと、の入力を受け付ける。
ビットマップ生成部は、入力を受け付けられた識別符号および描画サイズに対応付けられるビットマップフォントのデータがキャッシュ部にキャッシュされていない場合、識別符号に対応付けられてフォント記憶部に記憶されるアウトラインフォントのデータを、描画サイズに対応付けられる色数でアンチエイリアスしたビットマップフォントのデータを生成する。また、出力部は、入力を受け付けられた識別符号および描画サイズに対応付けられるビットマップフォントのデータがキャッシュ部にキャッシュされている場合、このビットマップフォントのデータを出力し、そうでない場合、生成されたビットマップフォントのデータを出力する。そして、更新部は、生成されたビットマップフォントのデータを識別符号および描画サイズに対応付けてキャッシュ部にキャッシュさせる。
このように、識別符号および描画サイズに対応付けられたアウトラインフォントのデータがキャッシュされていない場合、描画サイズに対応付けられる色数でアンチエイリアスされて、識別符号および描画サイズに対応付けられたビットマップフォントのデータが生成されキャッシュされる。そして、生成されたビットマップフォントのデータが出力される。一方、識別符号および描画サイズに対応付けられたアウトラインフォントのデータがキャッシュされている場合、キャッシュされたビットマップフォントのデータが出力される。
この結果、アウトラインフォントの描画品質をできるだけ維持しつつ、メモリの使用量を少なくして描画を行うことができる。
ビットマップ生成部は、前記描画サイズの大きさに対応して単調減少する色数でアンチエイリアスしてもよい。
この結果、描画サイズが異なれば、同じアウトラインフォントのデータであっても、異なる色数でアンチエイリアス処理を行うことができる。例えば、描画サイズが大きい場合にアンチエイリアスの色数を少なくすることにより、メモリ使用量を抑えることができる。
上記フォント処理装置において、描画サイズと色数とを対応付けるデータを記憶する色数記憶部を更に備え、ビットマップ生成部は、出力部が出力するデータの品質を示すパラメータを取得し、当該パラメータに基づいて描画サイズに対応する色数を求めて色数記憶部に記憶させ、色数記憶部に記憶されたデータに基づいて、入力受付部により受け付けられた描画サイズに対応する色数でアンチエイリアスしたビットマップフォントのデータを生成してもよい。
この場合、受け付けた描画サイズに対応付けられた色数でアンチエイリアスしたビットマップフォントのデータが出力される。この結果、例えば、ユーザが所望の解像度に適するように設定された色数でアンチエイリアスを行うことにより、アウトラインフォントの描画品質を維持することができる。
上記フォント処理装置において、識別符号と、描画サイズと、識別符号及び描画サイズに対応するビットマップフォントのデータの予め得られた使用頻度を示すデータと、を対応付けて記憶する頻度情報記憶部を更に備え、キャッシュ部は、頻度情報記憶部に記憶された情報に基づいて、使用頻度が大きいことを示すデータが対応付けられたデータを優先して、識別符号及び前記描画サイズに対応するビットマップフォントのデータをキャッシュしてもよい。
この結果、アウトラインフォントのデータを出力する場面ごと(例えば、麻雀ゲーム、スポーツアクションゲーム等のシーンごと)に適するように予め設定された優先順位でデータをキャッシュし、場面ごとに適したキャッシュを行うことができる。
上記フォント処理装置において、ビットマップ生成部により生成されたビットマップフォントのデータが、キャッシュ部によりキャッシュされた第1のタイミング、又は、出力部により出力された第2のタイミングを示す情報を記憶するLRU情報記憶部を更に備え、更新部は、ビットマップ生成部により生成されたビットマップフォントのデータをキャッシュ部にキャッシュした第1のタイミングを示す情報を、識別符号に対応付けてLRU情報記憶部に記憶させ、出力部は、キャッシュ部にキャッシュされたビットマップフォントのデータを出力した第2のタイミングを示す情報を、識別符号に対応付けてLRU情報記憶部に記憶させてもよい。そして、更新部は、LRU情報記憶部に記憶された情報に基づいて、キャッシュ部にキャッシュされたデータを消去してもよい。
この場合、生成されたビットマップフォントのデータをキャッシュ部にキャッシュした第1のタイミングが示す順(例えば、キャッシュされた時刻順)を記憶することができる。また、キャッシュ部にキャッシュされたビットマップフォントのデータを出力した第2のタイミングが示す順(例えば、出力された時刻順)を記憶することができる。この結果、例えば、キャッシュされたタイミングが最も古いデータや、出力されたタイミングが最も古いデータを削除して確保されたキャッシュ領域に新しく別のデータをキャッシュすることにより、キャッシュ効率を向上させることができる。
更新部は、LRU情報記憶部に記憶された情報に基づいて、キャッシュ部にキャッシュされたデータ容量が所定値以上の場合に、第1又は第2のタイミングが時系列的に最も古い識別符号に対応するデータを消去してもよい。
この結果、キャッシュされたデータ容量が所定値以上に達すると、キャッシュされたタイミングが最も古いデータや、出力されたタイミングが最も古いデータを削除して、新しく別のデータをキャッシュできる領域を予め確保することができる。
更新部は、LRU情報記憶部に記憶された情報に基づいて、キャッシュ部にデータがキャッシュされてから所定時間以上が経過した場合に、第1又は第2のタイミングが時系列的に最も古い識別符号に対応するデータを消去してもよい。
この結果、キャッシュされたデータが出力されてから所定時間以上経過すると、キャッシュされたタイミングが最も古いデータや、出力されたタイミングが最も古いデータを削除して、新しく別のデータをキャッシュできる領域を予め確保することができる。
本発明のその他の観点に係るフォント処理方法は、フォント記憶部を用いるフォント処理方法であって、キャッシュステップ、入力受付ステップ、ビットマップ生成ステップ、更新ステップ、および、出力ステップを備え、以下のように構成する。
フォント記憶部では、アウトラインフォントのデータが、識別符号に対応付けて記憶される。
キャッシュステップでは、ビットマップフォントのデータを、識別符号および描画サイズに対応付けてキャッシュする。そして、入力受付ステップでは、フォント記憶ステップにより記憶されるデータに対応付けられるいずれかの識別符号と、描画サイズと、の入力を受け付ける。
ビットマップ生成ステップでは、入力を受け付けられた識別符号および描画サイズに対応付けられるビットマップフォントのデータがキャッシュステップによりキャッシュされていない場合、識別符号に対応付けられてフォント記憶ステップにより記憶されるアウトラインフォントのデータを、描画サイズに対応付けられる色数でアンチエイリアスしたビットマップフォントのデータを生成する。また、更新ステップでは、生成されたビットマップフォントのデータを識別符号および描画サイズに対応付けてキャッシュステップにキャッシュさせる。そして、出力ステップでは、識別符号および描画サイズに対応付けてキャッシュステップによりキャッシュされたビットマップフォントのデータを出力する
このように、識別符号および描画サイズに対応付けられたアウトラインフォントのデータがキャッシュされていない場合、描画サイズに対応付けられる色数でアンチエイリアスされて、識別符号および描画サイズに対応付けられたビットマップフォントのデータが生成されキャッシュされる。そして、キャッシュされたビットマップフォントのデータが出力される。
この結果、アウトラインフォントの描画品質をできるだけ維持しつつ、メモリの使用量を少なくして描画を行うことができる。
本発明のその他の観点に係るフォント処理方法は、フォント記憶部を用いるフォント処理方法であって、キャッシュステップ、入力受付ステップ、ビットマップ生成ステップ、更新ステップ、および、出力ステップを備え、以下のように構成する。
フォント記憶部では、アウトラインフォントのデータが、識別符号に対応付けて記憶される。
キャッシュステップでは、ビットマップフォントのデータを、識別符号および描画サイズに対応付けてキャッシュする。そして、入力受付ステップでは、フォント記憶ステップにより記憶されるデータに対応付けられるいずれかの識別符号と、描画サイズと、の入力を受け付ける。
ビットマップ生成ステップでは、入力を受け付けられた識別符号および描画サイズに対応付けられるビットマップフォントのデータがキャッシュステップによりキャッシュされていない場合、識別符号に対応付けられてフォント記憶ステップにより記憶されるアウトラインフォントのデータを、描画サイズに対応付けられる色数でアンチエイリアスしたビットマップフォントのデータを生成する。また、出力ステップでは、入力を受け付けられた識別符号および描画サイズに対応付けられるビットマップフォントのデータがキャッシュステップによりキャッシュされている場合、キャッシュされたビットマップフォントのデータを出力し、そうでない場合、生成されたビットマップフォントのデータを出力する。そして、更新ステップでは、生成されたビットマップフォントのデータを識別符号および描画サイズに対応付けてキャッシュステップにキャッシュさせる。
このように、識別符号および描画サイズに対応付けられたアウトラインフォントのデータがキャッシュされていない場合、描画サイズに対応付けられる色数でアンチエイリアスされて、識別符号および描画サイズに対応付けられたビットマップフォントのデータが生成されキャッシュされる。そして、生成されたビットマップフォントのデータが出力される。一方、識別符号および描画サイズに対応付けられたアウトラインフォントのデータがキャッシュされている場合、キャッシュされたビットマップフォントのデータが出力される。
この結果、アウトラインフォントの描画品質をできるだけ維持しつつ、メモリの使用量を少なくして描画を行うことができる。
本発明のその他の観点に係るプログラムは、コンピュータを上記のフォント処理装置として機能させ、コンピュータに上記のフォント処理方法を実行させるように構成する。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
本発明によれば、アウトラインフォントを、描画品質をできるだけ維持しつつメモリの使用量を少なくして描画を行うのに好適なフォント処理装置、フォント処理方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
以下に本発明の実施例を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施例を説明するが、以下に説明する実施例は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
図1は、プログラムを実行することにより、本発明のフォント処理装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
情報処理装置100は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、インターフェイス104と、コントローラ105と、外部メモリ106と、画像処理部107と、DVD−ROM(Digital Versatile Disc ROM)ドライブ108と、NIC(Network Interface Card)109と、音声処理部110と、を備える。
ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着して、情報処理装置100の電源を投入することにより、当該プログラムが実行され、本実施例のフォント処理装置が実現される。
CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、レジスタ(図示せず)という高速アクセスが可能な記憶域に対してALU(Arithmetic Logic Unit)(図示せず)を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、CPU 101自身が構成されているものや、コプロセッサを備えて実現するものがある。
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設け、当該変数に格納された値に対して直接ALUを作用させて演算を行ったり、RAM 103に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
インターフェイス104を介して接続されたコントローラ105は、ユーザが麻雀ゲームやトランプゲームなどのゲーム実行の際に行う操作入力を受け付ける。
インターフェイス104を介して着脱自在に接続された外部メモリ106には、麻雀ゲーム等のプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ(記録)のデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。
DVD−ROMドライブ108に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。
画像処理部107は、DVD−ROMから読み出されたデータをCPU 101や画像処理部107が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部107が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部107に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
画像演算プロセッサは、2次元の画像の重ね合わせ演算やアルファブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
また、麻雀ゲームの牌の画像やトランプゲームのカードの画像などの情報をDVD−ROMに用意しておき、これをフレームメモリに展開することによって、現在の手牌や手札を画面に表示することができるようになる。
例えば、画像処理部107は、アウトラインフォントの識別符号と描画サイズとを入力して、対応するビットマップデータを出力する処理(以下、「フォント処理」と呼ぶ)を行う。詳細については、後述する。
NIC 109は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。
音声処理部110は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
音声処理部110では、DVD−ROMに記録された音声データがMIDIデータである場合には、これが有する音源データを参照して、MIDIデータをPCMデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してPCMデータに変換する。PCMデータは、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換を行って、スピーカに出力することにより、音声出力が可能となる。
このほか、情報処理装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
図2は、本実施例に係るフォント処理装置200の概要構成を示す模式図である。以下、本図を参照して説明する。
フォント処理装置200は、入力受付部201と、フォント記憶部202と、ビットマップ生成部203と、キャッシュ部204と、更新部205と、出力部206とを備える。
入力受付部201は、アウトラインフォントの識別符号と描画サイズとを含む情報の入力を受け付ける。そして、入力受付部201は、受け付けた識別符号と描画サイズとをビットマップ生成部203に入力する。識別符号としては、例えばフォントに対応づけられた文字コードが用いられる。
なお、CPU 101が画像処理部107と共働して動作することによって、入力受付部201として機能しうる。
フォント記憶部202は、アウトラインフォントのデータを、識別符号に対応づけて記憶する。フォント記憶部202に記憶されるアウトラインフォントのデータは、文字の形状を、基準点の座標と輪郭線との集まりとして表現される形式のデータである。
なお、CPU 101がDVD−ROMドライブ108に装着されたDVD−ROMや外部メモリ106等と共働して動作することによって、フォント記憶部202として機能しうる。
ビットマップ生成部203は、入力受付部201から入力された識別符号と描画サイズとに基づいて、予め描画サイズに対応づけられた色数でアンチエイリアス処理を施したアウトラインフォントのビットマップデータを生成する。そして、ビットマップ生成部203は、アンチエイリアス処理を施した後のビットマップデータを、更新部205に入力する。
なお、画像処理部107がCPU 101と共働して動作することによって、ビットマップ生成部203として機能しうる。
ここで、色数は、アンチエイリアス処理を行う段階数である。例えば、出力するビットマップデータが白黒データである場合、ビットマップデータの1ピクセルは、白と黒とを合わせた256段階で設定される、1バイトのデータである。また、例えば、出力するビットマップデータがR(レッド)・G(グリーン)・B(ブルー)で表現されるカラーデータである場合、ビットマップデータの1ピクセルは、R・G・Bの各色が256段階で設定される、3バイトのデータである。
詳細には、まず、ビットマップ生成部203は、入力された識別符号に対応するアウトラインフォントのデータを、フォント記憶部202から取得する。次に、ビットマップ生成部203は、入力された描画サイズに予め対応づけられた色数で、フォント記憶部202から取得したアウトラインフォントのデータのアンチエイリアス処理を行う。アンチエイリアスとは、文字の輪郭(例えば、黒色)と背景(例えば、白色)との境界部分の色を滑らかに変化させてぼやかすことによって、輪郭のギザギザ(ジャギー)を軽減させる手法である。
例えば、図3(A)はアンチエイリアス処理を施していない場合の例を示す図であり、図3(B)はアンチエイリアス処理を施した場合の例を示す図である。この例では、白色の背景に、黒色の文字データ「I」を出力させ、背景と文字の輪郭との境界部分を白色と黒色の中間色であるグレー(図面上は斜線で表示)を用いてアンチエイリアス処理を施している。この場合、ビットマップデータを構成する1ピクセルには、白色、黒色又はグレーの3色のいずれかが対応づけられる。このようにアンチエイリアス処理を施すことによって、出力する文字イメージを美しく見せることができる。また、アンチエイリアス処理の色数を増やすと、より文字を美しく表現することができる。
例えば、このようなアンチエイリアス処理を254段階(背景色(例えば白色)及び文字色(例えば黒色)を含まない)で行うとすると、アンチエイリアス処理後のビットデータを記憶するためには、1ピクセル当たり8ビット(1バイト)のサイズが必要である。また、例えば、アンチエイリアス処理を行うためには、ビットマップデータのサイズの2倍以上のメモリ領域が必要である。例えば、1つのアウトラインフォントのデータに対応するビットマップデータの描画サイズが縦16ピクセル×横10ピクセルとした場合、1つのアウトラインフォントのデータに対応するビットマップデータを記憶するために、8×16×8×10=10240ビット=1280バイトのメモリが必要である。そして、描画サイズを大きくしたり文字数を増やしたりすると、更にビットマップデータのサイズは大きくなり、データを記憶するために必要なメモリサイズも更に多く必要になる。そのため、アンチエイリアス処理の色数は、出力する文字イメージを美しく見せる効果の大きさと、必要なメモリサイズと、のバランスに基づいて決定されることが望ましい。
一般に、アウトラインフォントのアンチエイリアス処理では、描画サイズが大きい場合、描画サイズが小さい場合に比べて背景と文字との境界部分がくっきりする(違和感がなく美しく見える)傾向があり、描画サイズの違いにより最適なアンチエイリアス処理の段階数は異なる場合が多い。
本発明では、描画サイズが大きくなるにつれて、アンチエイリアス処理の色数が少なくなるように単調減少する。
このように、フォント処理装置200は、描画サイズが異なれば、同じアウトラインフォントのデータであっても、異なる色数でアンチエイリアス処理を行って、メモリ使用量を抑えることができる。例えば、DVD−ROMドライブ108に装着されたDVD−ROMや外部メモリ106等には、アウトラインフォントの描画サイズと、アンチエイリアス処理を行う色数とを対応づけた色数テーブル401が記憶される。
図4は、色数テーブル401に格納されるデータの例を示す図である。本図の場合、色数テーブル401は、アウトラインフォントの縦方向、横方向にそれぞれ等倍率で拡大・縮小される場合を想定したデータを記憶している。つまり、縦方向の描画サイズが決定すれば比例計算によって横方向の描画サイズも決定されるため、アウトラインフォントの縦方向のみの描画サイズ(ピクセル数)と色数とを対応づけている。そして、アンチエイリアス処理を施すパターンは、0色(つまりアンチエイリアス処理を行わない)、2色、6色、14色、254色の合計5段階が設定されている。
例えば、本図のような色数テーブル401を用いて、図3(A)のような文字データ「I」のアウトラインフォントのアンチエイリアス処理を行う場合、縦方向の描画サイズが16ビットなら14段階のアンチエイリアス処理が行われ、背景色(例えば白色)と文字色(例えば黒色)を含めて16色がアンチエイリアス処理に用いられる。一方、このアウトラインフォントを縦方向、横方向にそれぞれ2倍拡大する場合、縦方向の描画サイズは32ピクセルになり、6段階のアンチエイリアス処理が行われ、背景色と文字色を含めて8色がアンチエイリアス処理に用いられる。
ただし、色数テーブル401に記憶されるデータはこの形式に限定されるものではない。すなわち、色数テーブル401に格納される情報は、実質的に、アウトラインフォントの描画サイズと、対応するアンチエイリアス処理の色数とを対応づける形式であればよく、本図に示されるようにフォントの絶対的なピクセル数を用いる代わりに、画像処理部107に接続されるモニタの出力サイズや画面上に表示されるキャラクタの大きさに対するアウトラインフォントの描画サイズの割合などの相対的な尺度を用いて、色数を設定する形式であってもよい。
あるいは、例えば、縦方向と横方向の拡大(縮小)率が異なる場合を想定し、アウトラインフォントの縦方向の描画サイズと、横方向の描画サイズと、色数と、を対応づけた形式であってもよい。
また、色数もこれに限定されるものではない。例えば、本図に示されるようにアンチエイリアス処理を行う絶対的な色数を用いる代わりに、画像処理部107に接続されるモニタの出力可能色数や画面上に表示されるキャラクタや背景の色数に対する相対的な尺度を用いて、色数を設定する形式であってもよい。
さらには、色数テーブル401は、本図に示されるような具体的な数値を用いた形式に限定されず、事象の論理積等で表現される論理式等であってもよい。例えば、ある描画サイズで、キャラクターXとキャラクターYの位置が重なる画像領域(X AND Y)では14色、それ以外の画像領域では254色とするような形式であってもよい。
また、ビットマップ生成部203は、色数テーブル401を、フォント処理装置200の起動時や、DVD−ROMドライブ108に装着されたDVD−ROMや外部メモリ106等の最初の読み込み時に1回読み込んでRAM 103に展開し、2回目以降はRAM 103に展開されたものを用いるように構成してもよい。
また、色数テーブル401に相当するデータを予め備えるプログラムとして実現されるものであってもよい。
このように、ビットマップ生成部203が、入力された描画サイズに対応づけられた段階数でアンチエイリアス処理を行うことによって、フォント処理を行うために必要なメモリサイズや、ビットマップデータを記憶するために必要なメモリサイズを抑えることができる。
キャッシュ部204は、ビットマップ生成部203により生成されたビットマップデータを、アウトラインフォントの識別符号及び描画サイズに対応させて記憶する。すなわち、キャッシュ部204は、アウトラインフォントに対応するビットマップデータが出力部206により表示された後、生成したビットマップデータをすぐに破棄せずに記憶しておく。そして、次回に同じ識別符号と描画サイズでアウトラインフォントを表示する場合に、再びアンチエイリアス処理を行ってビットマップデータを生成することなく、キャッシュされたビットマップデータを用いる。これによって、フォント処理の高速化や負荷の軽減を実現することができる。
なお、RAM 103がCPU 101と共働して動作することによって、キャッシュ部204として機能しうる。
例えば、キャッシュ部204に格納されるビットマップデータは、使用頻度が大きい順に優先的に記憶されてもよい。例えば、この使用頻度を示すデータは、アウトラインフォントの識別符号と、描画サイズと、予め得られた使用頻度に関する情報と、を対応づけたデータが格納されるテーブルやデータベース等として、DVD−ROMドライブ108に装着されたDVD−ROM、外部メモリ106等に記憶されていてもよい。そして、キャッシュ部204は、当該テーブルやデータベース等に予め設定された使用頻度情報を取得して、使用頻度が大きいと設定されたデータを優先して、アウトラインフォントのビットマップデータをキャッシュしてもよい。このようにすれば、例えばゲームタイトルのシーンごとに予め得られた統計データに基づいて、ゲームタイトルのシーンごとに適したキャッシュを行うことができる。
あるいは、例えば、キャッシュ部204に記憶されるビットマップデータは、フォント処理装置200の電源投入後に使用されたアウトラインフォントの動的に更新可能なLRU(Least Recently Used)情報に基づいて、使用頻度が小さい順に消去されてもよい。なお、LRU情報は、時間的に最も遠い過去に使用されたデータは何かを判別できる情報を含む。この場合、キャッシュ部204は、ビットマップデータのLRU情報を記憶するLRUテーブルを合わせて記憶する。このようにすれば、フォント処理装置200のユーザによる使用状況に適したキャッシュを行うことができる。
さらには、例えば、キャッシュ部204に記憶されるビットマップデータは、所定の期間(例えば、過去1分間、過去1時間など)に使用されたアウトラインフォントのLRU情報に基づいて、使用頻度が小さい順に消去されてもよい。この場合、LRUテーブルは、外部メモリ106等にテーブルやデータベース等として蓄積されて記憶されればよい。このようにすれば、所定の期間に得られた統計データに基づいて、フォント処理装置200の使用環境やユーザに合わせて、キャッシュ効率を最適化することができる。
なお、キャッシュ部204は、LRUテーブルを持たずに、ビットマップデータと、識別符号と、描画サイズと、LRU情報と、を対応づけて記憶するようにしてもよい。
このように、キャッシュ部204がビットマップデータを識別符号と描画サイズに対応づけてキャッシュすることによって、フォント処理を高速化することができる。
更新部205は、ビットマップ生成部203により生成されたビットマップデータを、キャッシュ部204に記憶させる制御を行う。すなわち、更新部205は、アウトラインフォントの識別符号と、描画サイズと、ビットマップ生成部203により生成されたビットマップデータと、を対応づけてキャッシュ部204に記憶させる。そして、記憶部205は、ビットマップデータを新たにキャッシュしたタイミングで、キャッシュ部204に記憶されるLRUテーブルに、ビットマップデータをキャッシュしたタイミングを示す情報を識別符号に対応づけて記憶させる。あるいは、上述のように、更新部205は、アウトラインフォントの識別符号と、描画サイズと、ビットマップデータと、LRU情報と、を対応づけてキャッシュ部204に記憶させてもよい。
また、更新部205は、キャッシュ部204の使用容量が所定の値(例えば、使用率95%など)に達した場合や、所定の時間(例えば、記憶された時刻から1時間など)が経過した場合に、キャッシュ部204に記憶されるビットマップデータを、LRU情報に基づいて使用頻度が小さい順に消去してもよい。例えば、更新部205は、ビットマップデータをキャッシュしたタイミングが時系列的に最も古い識別符号に対応するデータを消去する。そして、更新部205は、ビットマップデータを消去したタイミングで、キャッシュ部204に記憶されるLRU情報を更新する。
なお、画像処理部107がCPU 101と共働して動作することによって、更新部205として機能しうる。
出力部206は、入力受付部201が受け付けた識別符号と描画サイズとに対応する、キャッシュ部204に記憶されたビットマップデータを出力する。そして、出力部206は、ビットマップデータを出力したタイミングで、キャッシュ部204に記憶されるLRUテーブルに、ビットマップデータを出力したタイミングを示す情報を識別符号に対応づけて記憶させる。もしくは、出力部206は、アウトラインフォントの識別符号と、描画サイズと、ビットマップデータと、LRU情報と、を対応づけてキャッシュ部204に記憶された情報のうちのLRU情報に、ビットマップデータを出力したタイミングを示す情報を記憶させてもよい。
なお、画像処理部107がCPU 101と共働して動作することによって、出力部206として機能しうる。そして、画像処理部107に接続されるモニタ等にビットマップデータが表示され、ユーザはアンチエイリアス処理されたアウトラインフォントを用いた画像を見ることができる。
次に、本実施例のフォント処理装置200で実行されるフォント処理の流れを、図5のフローチャートを用いて説明する。なお、以下の説明では、コンピュータ麻雀ゲームのプレイ中に、画面に表示するメッセージを構成する各文字等に対応するアウトラインフォントのビットマップデータを出力する場合を例に説明する。また、画面に表示するメッセージは、ひらがな・カタカナ・漢字・アルファベット等の文字、数字、「!」や「?」等の各種記号等から構成されるものとする。
まず、入力受付部201は、アウトラインフォントの識別符号と描画サイズとの組を受け取る(ステップS501)。
ビットマップ生成部203は、識別符号と描画サイズとの組に対応するビットマップデータがキャッシュ部204にキャッシュされているか否かを判定する(ステップS502)。例えば、ビットマップ生成部203は、キャッシュ部204に記憶されているLRUテーブルを参照して、対応するビットマップデータがキャッシュされているか否かを判定する。
対応するビットマップデータがキャッシュされている場合(ステップS502;YES)、出力部206は、キャッシュされているビットマップデータを取得する(ステップS507)。
一方、対応するビットマップデータがキャッシュされていない場合(ステップS502;NO)、ビットマップ生成部203は、識別符号に対応するフォントデータを、フォント記憶部202から取得する(ステップS503)。例えば、ビットマップ生成部203は、DVD−ROMドライブ108に装着されたDVD−ROMや外部メモリ106等から、予め記憶されたフォントデータを取得する。
ビットマップ生成部203は、描画サイズに対応するアンチエイリアス処理の色数を取得する(ステップS504)。例えば、ビットマップ生成部203は、DVD−ROMドライブ108に装着されたDVD−ROMや外部メモリ106等に予め記憶された色数テーブル401から、色数を取得する。
そして、ビットマップ生成部203は、ステップS504で取得した色数に基づいて、識別符号が示すフォントデータのアンチエイリアス処理を行って、ビットマップデータを生成する(ステップS505)。
また、更新部205は、生成されたビットマップデータを、識別符号と描画サイズとの組に対応づけて、キャッシュ部204にキャッシュする(ステップS506)。
出力部206は、キャッシュ部204にキャッシュされたビットマップデータを取得する(ステップS507)。
出力部206は、入力受付部201が受け付けた識別符号と描画サイズとの組に対応するビットマップデータを出力して(ステップS508)、フォント処理を終了する。
なお、本実施例では、1つの文字等に対応する識別符号と描画サイズとを受け取って、1つの文字等に対応するビットマップデータを出力するが、この他の実施形態を採用することもできる。
例えば、入力受付部201は、複数の文字等から構成されるメッセージデータを受け取って、ビットマップ生成部203は、このメッセージデータに含まれる各文字等に対してそれぞれビットマップデータを生成し、出力部206は、生成されたビットマップデータを結合して、メッセージデータに対応するビットマップデータを出力するようにしてもよい。
また、使用頻度が大きいと推測される所定の登録単語列(例えば、麻雀用語、プレイヤーの名前など)に予め1つの識別符号を与えて、この所定の登録単語列を1つの単位として、上述したフォント処理を行ってもよい。なお、単語列とは、単語一語、あるいは、複数の単語から構成されるもののことである。また、単語列には、ひらがな・カタカナ・漢字・アルファベット等の文字、数字、「!」や「?」等の各種記号等が含まれる。
例えば、図6は、フォント記憶部202に記憶されるデータの例を示した図である。本図の識別符号部分に格納されるデータの末尾「h」は、格納されるデータが16進数であることを示す。この場合、フォント記憶部202は、予め「リーチ」という1つの登録単語に与えられた識別符号(例えば、本図では8501h)に対応して、「リ」と「ー」と「チ」の3文字から構成されるフォントデータを記憶する。そして、「リーチ」という登録単語についてフォント処理を行う場合に、「リ」と「ー」と「チ」とのそれぞれに識別符号と描画サイズとが設定されて入力受付部201に入力される代わりに、登録単語列「リーチ」に対応する1つの識別符号と描画サイズとの組が入力受付部201に入力されるように構成してもよい。
この場合、キャッシュ部204は、この「リーチ」という1つの登録単語列の識別符号に対応して、ビットマップデータとLRU情報とを記憶すればよい。
これによって、フォント処理の高速化や負荷の軽減の効果をさらに大きくすることができる。
なお、上述のように所定の登録単語列に1つの識別符号が与えられる場合、この登録単語列の長さ(例えば、バイト数)を予め指定する方法としては、例えば、この登録単語列の1バイト目に単語列長を記憶する方法(例えば、”リーチ”は3文字なので「3リーチ」、”ロン”は2文字なので「2ロン」と記憶させる、等)がある。そして、ビットマップ生成部203は、1バイト目で指定されたバイト数をフォント記憶部202から読み込んで1つの登録単語列を得て、上述したフォント処理を行えばよい。
あるいは、フォント記憶部202は、所定の登録単語列と、この単語列の長さと、を対応づける単語列長テーブル等を記憶して、ビットマップ生成部203は、所定の識別符号が入力された場合に、単語列長テーブルに基づいて、識別符号に対応する登録単語列のフォントデータを取得するように構成してもよい。
あるいは、入力受付部201は、所定の識別符号が入力された場合に、識別符号と描画サイズとに加えて、単語列長を示すデータの入力を受け付けて、この単語列長を示すデータと識別符号と描画サイズとをビットマップ生成部203に入力し、ビットマップ生成部203は、入力された単語列長を示すデータと識別符号とに基づいて、識別符号に対応する所定の登録単語列のフォントデータを取得するように構成してもよい。
このように、本実施例によれば、識別符号および描画サイズに対応付けられたアウトラインフォントのデータがキャッシュ部204にキャッシュされていない場合、ビットマップ生成部203により描画サイズに対応付けられる色数でアンチエイリアスされ、識別符号および描画サイズに対応付けられたビットマップフォントのデータが生成され、更新部205によりキャッシュ部204にキャッシュされる。そして、識別符号および描画サイズに対応付けられてキャッシュ部204にキャッシュされたビットマップフォントのデータが出力部206により出力される。
この結果、アウトラインフォントの描画品質をできるだけ維持しつつ、メモリの使用量を少なくして描画を行うことができる。
次に、実施例2に係るフォント処理装置200について説明する。
なお、本実施例に係るフォント処理装置200の機能を果たす典型的な情報処理装置の概要構成は、実施例1と同じであるため、説明は省略する。
図7は、本実施例に係るフォント処理装置200の概要構成を示す模式図である。以下、本図を参照して説明する。
なお、入力受付部201、フォント記憶部202、キャッシュ部204及び更新部205が実行する処理は、実施例1と同じであり、ビットマップ生成部203と出力部206が実行する処理が異なる。そのため、ここでは、実施例1と異なる構成部分について説明し、入力受付部201、フォント記憶部202、キャッシュ部204及び更新部205については説明を省略する。
ビットマップ生成部203は、入力受付部201が受け付けた識別符号と描画サイズとに対応するビットマップデータがキャッシュ部204にキャッシュされている場合、キャッシュされているビットマップデータを出力するように出力部206に指示し、ビットマップデータを生成しない。一方、対応するビットマップデータがキャッシュ部204にキャッシュされていない場合、実施例と同じようにビットマップデータを生成してキャッシュ部204にキャッシュする。
なお、画像処理部107がCPU 101と共働して動作することによって、ビットマップ生成部203として機能しうる。
出力部206は、入力受付部201が受け付けた識別符号と描画サイズとに対応するビットマップデータがキャッシュ部204にキャッシュされている場合、キャッシュされているビットマップデータを出力する。一方、対応するビットマップデータがキャッシュ部204にキャッシュされていない場合、ビットマップ生成部203により生成されたビットマップデータを出力する。
なお、画像処理部107がCPU 101と共働して動作することによって、出力部206として機能しうる。そして、画像処理部107に接続されるモニタ等にビットマップデータが表示され、ユーザはアンチエイリアス処理されたアウトラインフォントを用いた画像を見ることができる。
次に、本実施例のフォント処理装置200で実行されるフォント処理の流れを、図8のフローチャートを用いて説明する。なお、以下の説明では、コンピュータ麻雀ゲームのプレイ中に、画面に表示するメッセージを構成する各文字等のビットマップデータを出力する場合を例に説明する。また、画面に表示するメッセージデータは、ひらがな・カタカナ・漢字・アルファベット等の文字、数字、「!」や「?」等の各種記号等から構成されるものとする。
まず、入力受付部201は、アウトラインフォントの識別符号と描画サイズとを受け取る(ステップS801)。
ビットマップ生成部203は、識別符号と描画サイズとの組に対応するビットマップデータがフォント記憶部202にキャッシュされているか否かを判定する(ステップS802)。
対応するビットマップデータがキャッシュされている場合(ステップS802;YES)、出力部206は、キャッシュされているビットマップデータを取得する(ステップS803)。
そして、出力部206は、ステップS803でキャッシュから取得したビットマップデータを出力して(ステップS804)、フォント処理を終了する。
一方、対応するビットマップデータがキャッシュされていない場合(ステップS802;NO)、ビットマップ生成部203は、識別符号に対応するフォントデータを取得する(ステップS805)。
ビットマップ生成部203は、描画サイズに対応するアンチエイリアス処理の色数(段階数)を取得する(ステップS806)。
そして、ビットマップ生成部203は、ステップS806で取得した色数に基づいて、識別符号が示すフォントデータのアンチエイリアス処理を行って、ビットマップデータを生成する(ステップS807)。
また、更新部205は、ビットマップ生成部203が生成したビットマップデータを、識別符号と描画サイズとの組に対応づけて、キャッシュ部204にキャッシュする(ステップS808)。
出力部206は、ステップS807で生成されたビットマップデータを出力して(ステップS809)、フォント処理を終了する。
なお、ステップS808とステップS809の順番を入れ替えて、ステップS807で生成されたビットマップデータを出力部206が出力してから、キャッシュ部204にキャッシュするように構成してもよい。
このように、識別符号および描画サイズに対応づけられたアウトラインフォントのデータがキャッシュ部204にキャッシュされていない場合、ビットマップ生成部203により描画サイズに対応付けられる色数でアンチエイリアスされて、識別符号および描画サイズに対応づけられたビットマップフォントのデータが生成され、更新部205によりキャッシュされる。そして、生成されたビットマップフォントのデータが出力部206により出力される。一方、識別符号および描画サイズに対応づけられたアウトラインフォントのデータがキャッシュ部204にキャッシュされている場合、キャッシュされたビットマップフォントのデータが出力部206により出力される。
この結果、アウトラインフォントの描画品質をできるだけ維持しつつ、メモリの使用量を少なくして描画を行うことができる。
本発明は、上述した実施例に限定されず、種々の変形及び応用が可能である。
例えば、ビットマップ生成部203は、フォント処理装置200の電源投入後、画像処理部107に接続されるモニタの解像度(例えば、表示サイズや表示色数)を取得して、あるいは、コントローラ105等を用いたユーザからの入力により解像度を取得して、この解像度に基づいてアウトラインフォントの描画サイズとアンチエイリアス処理の色数との対応づけを行って色数テーブル401に記憶させてもよい。この場合、アンチエイリアス処理の色数は、描画サイズが大きくなるにつれて単調減少する値に設定されればよい。
以上説明したように、本発明によれば、アウトラインフォントを、描画品質をできるだけ維持しつつメモリの使用量を少なくして描画を行うのに好適なフォント処理装置、フォント処理方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
例えば、麻雀の面子が揃ったときにこれをプレイヤーに分かりやすく提示するのに好適なフォント処理装置、フォント処理装置制御方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
本発明のフォント処理装置が実現される典型的な情報処理装置の概要構成を示す模式図である。 実施例1に係るフォント処理装置の概要構成を示す模式図である。 (A)アンチエイリアス処理を施さない場合のビットマップデータの例を示す図である。(B)アンチエイリアス処理を施した場合のビットマップデータの例を示す図である。 色数テーブルに格納されるデータの例を示す図である。 実施例1に係るフォント処理装置が実行するフォント処理を説明するためのフローチャートである。 フォント記憶部に記憶されるフォントデータの例を示す図である。 実施例2に係るフォント処理装置の概要構成を示す模式図である。 実施例2に係るフォント処理装置が実行するフォント処理を説明するためのフローチャートである。
符号の説明
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェイス
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
201 入力受付部
202 フォント記憶部
203 ビットマップ生成部
204 キャッシュ部
205 更新部
206 出力部

Claims (12)

  1. アウトラインフォントデータを、識別符号に対応付けて予め記憶するフォント記憶部、
    ビットマップフォントデータを、当該識別符号および描画サイズに対応付けてキャッシュするキャッシュ部、
    背景上に描画すべき文字の識別情報であって、前記フォント記憶部に記憶されるアウトラインフォントデータに対応付けられるいずれかの識別符号と、描画サイズと、の入力を受け付ける入力受付部、
    前記受け付けられた識別符号および描画サイズに対応付けられるビットマップフォントデータが前記キャッシュ部にキャッシュされていない場合、当該識別符号に対応付けられて前記フォント記憶部に記憶されるアウトラインフォントデータを、当該描画サイズと当該背景の色数と、当該背景のうち当該ビットマップデータが描画される位置において第1キャラクター画像と第2キャラクター画像が重なる領域があるか否かと、に予め対応付けられる色数でアンチエイリアスして、ビットマップフォントデータを生成するビットマップ生成部、
    前記生成されたビットマップフォントデータを当該識別符号および当該描画サイズに対応付けて前記キャッシュ部にキャッシュさせる更新部、
    当該識別符号および当該描画サイズに対応付けて前記キャッシュ部にキャッシュされたビットマップフォントデータを出力する出力部、
    前記出力されたビットマップフォントデータを当該背景上に描画する描画部、
    を備えることを特徴とするフォント処理装置。
  2. アウトラインフォントデータを、識別符号に対応付けて予め記憶するフォント記憶部、
    ビットマップフォントデータを、当該識別符号および描画サイズに対応付けてキャッシュするキャッシュ部、
    背景上に描画すべき文字の識別情報であって、前記フォント記憶部に記憶されるデータに対応付けられるいずれかの識別符号と、描画サイズと、の入力を受け付ける入力受付部、
    前記受け付けられた識別符号および描画サイズに対応付けられるビットマップフォントデータが前記キャッシュ部にキャッシュされていない場合、当該識別符号に対応付けられて前記フォント記憶部に記憶されるアウトラインフォントデータを、当該描画サイズと当該背景の色数と、当該背景のうち当該ビットマップデータが描画される位置において第1キャラクター画像と第2キャラクター画像が重なる領域があるか否かと、に予め対応付けられる色数でアンチエイリアスして、ビットマップフォントデータを生成するビットマップ生成部、
    前記受け付けられた識別符号および描画サイズに対応付けられるビットマップフォントデータが前記キャッシュ部にキャッシュされている場合、前記キャッシュされているビットマップフォントデータを出力し、そうでない場合、前記生成されたビットマップフォントデータを出力する出力部、
    前記出力されたビットマップフォントデータを当該背景上に描画する描画部、
    前記生成されたビットマップフォントデータを当該識別符号および当該描画サイズに対応付けて前記キャッシュ部にキャッシュさせる更新部、
    を備えることを特徴とするフォント処理装置。
  3. 前記ビットマップ生成部は、前記描画サイズの大きさに対応して単調減少する色数でアンチエイリアスすること
    を特徴とする、請求項1又は2に記載のフォント処理装置。
  4. 前記描画サイズと前記色数とを対応付けるデータを記憶する色数記憶部を更に備え、
    前記ビットマップ生成部は、前記出力部が出力するデータの品質を示すパラメータを取得し、当該パラメータに基づいて前記描画サイズに対応する色数を求めて前記色数記憶部に記憶させ、前記色数記憶部に記憶されたデータに基づいて、前記入力受付部により受け付けられた描画サイズに対応する色数でアンチエイリアスしたビットマップフォントデータを生成すること
    を特徴とする、請求項1又は2に記載のフォント処理装置。
  5. 前記識別符号と、前記描画サイズと、前記識別符号及び前記描画サイズに対応するビットマップフォントデータの予め得られた使用頻度を示すデータと、を対応付ける頻度情報を記憶する頻度情報記憶部を更に備え、
    前記キャッシュ部は、前記頻度情報記憶部に記憶された頻度情報に基づいて、使用頻度が大きいことを示すデータが対応付けられた識別符号及び描画サイズに対応するビットマップフォントデータを優先してキャッシュすること
    を特徴とする、請求項1又は2に記載のフォント処理装置。
  6. 前記ビットマップ生成部により生成されたビットマップフォントデータが、前記キャッシュ部によりキャッシュされた第1のタイミング、又は、前記出力部により出力された第2のタイミングを示す情報を記憶するLRU情報記憶部を更に備え、
    前記更新部は、前記ビットマップ生成部により生成されたビットマップフォントデータを前記キャッシュ部にキャッシュしたタイミングを当該第1のタイミングとして前記識別符号に対応付けて前記LRU情報記憶部に記憶させ、
    前記出力部は、前記キャッシュ部にキャッシュされたビットマップフォントデータを出力したタイミングを当該第2のタイミングとして前記識別符号に対応付けて前記LRU情報記憶部に記憶させ、
    前記更新部は、前記LRU情報記憶部に記憶された情報に基づいて、前記キャッシュ部にキャッシュされたビットマップフォントデータを消去すること
    を特徴とする、請求項1又は2に記載のフォント処理装置。
  7. 前記更新部は、前記LRU情報記憶部に記憶された情報に基づいて、前記キャッシュ部にキャッシュされたデータ容量が所定値以上の場合に、前記第1又は第2のタイミングが時系列的に最も古い識別符号に対応するビットマップフォントデータを消去すること
    を特徴とする、請求項6に記載のフォント処理装置。
  8. 前記更新部は、前記LRU情報記憶部に記憶された情報に基づいて、前記キャッシュ部にデータがキャッシュされてから所定時間以上が経過した場合に、又は、前記キャッシュ部にキャッシュされたビットマップフォントデータが出力されてから所定時間以上が経過した場合に、前記第1又は第2のタイミングが時系列的に最も古い識別符号に対応するビットマップフォントデータを消去すること
    を特徴とする、請求項6に記載のフォント処理装置。
  9. アウトラインフォントデータが識別符号に対応付けて予め記憶されるフォント記憶部と、ビットマップフォントデータを当該識別符号および描画サイズに対応付けてキャッシュするキャッシュ部と、を有するフォント処理装置にて実行されるフォント処理方法であって、
    背景上に描画すべき文字の識別情報であって、前記フォント記憶部に記憶されるアウトラインフォントデータに対応付けられるいずれかの識別符号と、描画サイズと、の入力を受け付ける入力受付ステップ、
    前記受け付けられた識別符号および描画サイズに対応付けられるビットマップフォントデータが前記キャッシュ部にキャッシュされていない場合、当該識別符号に対応付けられて前記フォント記憶部に記憶されるアウトラインフォントデータを、当該描画サイズと当該背景の色数と、当該背景のうち当該ビットマップデータが描画される位置において第1キャラクター画像と第2キャラクター画像が重なる領域があるか否かと、に予め対応付けられる色数でアンチエイリアスして、ビットマップフォントデータを生成するビットマップ生成ステップ、
    前記生成されたビットマップフォントデータを当該識別符号および当該描画サイズに対応付けて前記キャッシュ部にキャッシュさせる更新ステップ、
    当該識別符号および当該描画サイズに対応付けて前記キャッシュ部にキャッシュされたビットマップフォントデータを出力する出力ステップ、
    前記出力されたビットマップフォントデータを当該背景上に描画する描画ステップ、
    を備えることを特徴とするフォント処理方法。
  10. アウトラインフォントデータが識別符号に対応付けて予め記憶されるフォント記憶部と、ビットマップフォントデータを当該識別符号および描画サイズに対応付けてキャッシュするキャッシュ部と、を有するフォント処理装置にて実行されるフォント処理方法であって、
    背景上に描画すべき文字の識別情報であって、前記フォント記憶部に記憶されるアウトラインフォントデータに対応付けられるいずれかの識別符号と、描画サイズと、の入力を受け付ける入力受付ステップ、
    前記受け付けられた識別符号および描画サイズに対応付けられるビットマップフォントデータが前記キャッシュ部にキャッシュされていない場合、当該識別符号に対応付けられて前記フォント記憶部に記憶されるアウトラインフォントデータを、当該描画サイズと当該背景の色数と、当該背景のうち当該ビットマップデータが描画される位置において第1キャラクター画像と第2キャラクター画像が重なる領域があるか否かと、に予め対応付けられる色数でアンチエイリアスして、ビットマップフォントデータを生成するビットマップ生成ステップ、
    前記受け付けられた識別符号および描画サイズに対応付けられるビットマップフォントデータが前記キャッシュ部にキャッシュされている場合、前記キャッシュされているビットマップフォントデータを出力し、そうでない場合、前記生成されたビットマップフォントデータを出力する出力ステップ、
    前記出力されたビットマップフォントデータを当該背景上に描画する描画ステップ、
    前記生成されたビットマップフォントデータを当該識別符号および当該描画サイズに対応付けて前記キャッシュ部にキャッシュさせる更新ステップ、
    を備えることを特徴とするフォント処理方法。
  11. コンピュータを、
    アウトラインフォントデータを、識別符号に対応付けて予め記憶するフォント記憶部、
    ビットマップフォントデータを、当該識別符号および描画サイズに対応付けてキャッシュするキャッシュ部、
    背景上に描画すべき文字の識別情報であって、前記フォント記憶部に記憶されるアウトラインフォントデータに対応付けられるいずれかの識別符号と、描画サイズと、の入力を受け付ける入力受付部、
    前記受け付けられた識別符号および描画サイズに対応付けられるビットマップフォントデータが前記キャッシュ部にキャッシュされていない場合、当該識別符号に対応付けられて前記フォント記憶部に記憶されるアウトラインフォントデータを、当該描画サイズと当該背景の色数と、当該背景のうち当該ビットマップデータが描画される位置において第1キャラクター画像と第2キャラクター画像が重なる領域があるか否かと、に予め対応付けられる色数でアンチエイリアスして、ビットマップフォントデータを生成するビットマップ生成部、
    前記生成されたビットマップフォントデータを当該識別符号および当該描画サイズに対応付けて前記キャッシュ部にキャッシュさせる更新部、
    当該識別符号および当該描画サイズに対応付けて前記キャッシュ部にキャッシュされたビットマップフォントデータを出力する出力部、
    前記出力されたビットマップフォントデータを当該背景上に描画する描画部、
    として機能させることを特徴とするプログラム。
  12. コンピュータを、
    アウトラインフォントデータを、識別符号に対応付けて予め記憶するフォント記憶部、
    ビットマップフォントデータを、当該識別符号および描画サイズに対応付けてキャッシュするキャッシュ部、
    背景上に描画すべき文字の識別情報であって、前記フォント記憶部に記憶されるアウトラインフォントデータに対応付けられるいずれかの識別符号と、描画サイズと、の入力を受け付ける入力受付部、
    前記受け付けられた識別符号および描画サイズに対応付けられるビットマップフォントデータが前記キャッシュ部にキャッシュされていない場合、当該識別符号に対応付けられて前記フォント記憶部に記憶されるアウトラインフォントデータを、当該描画サイズと当該背景の色数と、当該背景のうち当該ビットマップデータが描画される位置において第1キャラクター画像と第2キャラクター画像が重なる領域があるか否かと、に予め対応付けられる色数でアンチエイリアスして、ビットマップフォントデータを生成するビットマップ生成部、
    前記受け付けられた識別符号および描画サイズに対応付けられるビットマップフォントデータが前記キャッシュ部にキャッシュされている場合、前記キャッシュされているビットマップフォントデータを出力し、そうでない場合、前記生成されたビットマップフォントデータを出力する出力部、
    前記出力されたビットマップフォントデータを当該背景上に描画する描画部、
    前記生成されたビットマップフォントデータを当該識別符号および当該描画サイズに対応付けて前記キャッシュ部にキャッシュさせる更新部、
    として機能させることを特徴とするプログラム。
JP2005316581A 2005-10-31 2005-10-31 フォント処理装置、フォント処理方法、ならびに、プログラム Expired - Fee Related JP4216278B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005316581A JP4216278B2 (ja) 2005-10-31 2005-10-31 フォント処理装置、フォント処理方法、ならびに、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005316581A JP4216278B2 (ja) 2005-10-31 2005-10-31 フォント処理装置、フォント処理方法、ならびに、プログラム

Publications (2)

Publication Number Publication Date
JP2007121874A JP2007121874A (ja) 2007-05-17
JP4216278B2 true JP4216278B2 (ja) 2009-01-28

Family

ID=38145763

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005316581A Expired - Fee Related JP4216278B2 (ja) 2005-10-31 2005-10-31 フォント処理装置、フォント処理方法、ならびに、プログラム

Country Status (1)

Country Link
JP (1) JP4216278B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101833542B (zh) * 2010-04-21 2013-03-20 中兴通讯股份有限公司 一种用户界面字体渲染方法及装置
JP5889401B2 (ja) * 2012-04-27 2016-03-22 三菱電機株式会社 文字描画装置および文字描画方法
JP2015075884A (ja) 2013-10-08 2015-04-20 キヤノン株式会社 描画装置、描画方法及びプログラム

Also Published As

Publication number Publication date
JP2007121874A (ja) 2007-05-17

Similar Documents

Publication Publication Date Title
EP1758061A1 (en) Display, displaying method, information recording medium, and program
EP1956471B1 (en) Object selecting device, object selecting method, information recording medium, and program
US20060072041A1 (en) Image synthesis apparatus, electrical apparatus, image synthesis method, control program and computer-readable recording medium
JP4917346B2 (ja) ゲーム画像処理プログラムおよびゲーム画像処理装置
KR100898671B1 (ko) 화상처리장치, 화상처리방법, 및, 프로그램을 기록한 컴퓨터 판독 가능한 정보기록매체
US6903746B2 (en) Rendering processing method
TWI622016B (zh) Depicting device
JP4216278B2 (ja) フォント処理装置、フォント処理方法、ならびに、プログラム
JP2002260007A (ja) 描画方法及び描画装置、コンピュータに実行させるための描画処理プログラムを記録したコンピュータ読み取り可能な記録媒体、描画処理プログラムを実行するプログラム実行装置、コンピュータに実行させるための描画処理プログラム
JP2005077522A (ja) 画像処理装置および画像処理方法
JP2003091737A (ja) 描画処理装置、描画処理プログラムを記録した記録媒体、描画処理プログラム、描画処理方法
JP5113827B2 (ja) 提示装置、提示方法、ならびに、プログラム
JP4183082B2 (ja) 3次元画像描画装置および3次元画像描画方法
US8469807B2 (en) Game device, game control method, and information memory medium
JP2006092015A (ja) 画像処理装置、画像処理方法、ならびに、プログラム
JP3548642B2 (ja) 画像情報生成装置及び方法、画像情報処理装置及び方法、並びに記録媒体
JP4637199B2 (ja) 画像処理装置、画像処理方法、ならびに、プログラム
JP4231684B2 (ja) ゲーム装置及びゲームプログラム
US20020118213A1 (en) Arithmetic unit and arithmetic processing method
JP4815410B2 (ja) 表示装置、表示方法、ならびに、プログラム
JP2008233971A (ja) 画像処理回路、表示装置及び印刷装置
JP2007188338A (ja) 画像処理装置
JP2003187260A (ja) 描画処理プログラム、描画処理プログラムを記録した記録媒体、描画処理装置及び方法
JP2002024853A (ja) 画像描画システム
JP4563070B2 (ja) ゲーム装置及びゲームプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080527

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080724

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081104

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081105

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111114

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121114

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131114

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees