(57)【特許請求の範囲】
【請求項１】
第１のメモリに記憶され、複数の種類に分類されたビットマップデータ群がそれぞれ格納された複数のビットマップデータテーブルと、
前記ビットマップデータ群毎に用意され、前記各ビットマップデータ群を構成するビットマップデータ毎に前記第１のメモリにおける格納先のアドレスを示すビットマップデータ格納先アドレスが設定されたビットマップデータアドレステーブルと、
前記ビットマップデータ群毎に用意され、前記各ビットマップデータ群を構成するビットマップデータの幅に関する幅情報が個別に又は共通して設定された幅情報テーブルと、
前記ビットマップデータ群毎に用意され、前記各ビットマップデータ群を構成するビットマップデータの高さに関する高さ情報が個別に又は共通して設定された高さ情報テーブルと、
前記ビットマップデータ群の種類を示す種別コードと、当該ビットマップデータ群を構成する一のビットマップデータを示すビットマップデータコードと、を含む描画コマンドの入力を受け付ける入力受付手段と、
該入力受付手段が受け付けた前記描画コマンドに基づいて、対応する前記ビットマップデータアドレステーブルと、前記幅情報テーブルと、前記高さ情報テーブルと、を検索し、これらのテーブルから、対応するビットマップデータの前記格納先アドレスと、当該ビットマップデータの幅情報及び高さ情報と、を取得する検索手段と、
該検索手段の前記取得結果に基づいて、前記描画コマンドに対応するビットマップデータを前記第１のメモリから読み出し、読み出したビットマップデータを前記幅情報及び高さ情報と共に第２のメモリに格納する描画手段と、を備え、
前記第１のメモリの前記各ビットマップデータテーブルにおいて、各ビットマップデータは、幅方向又は高さ方向において詰めた態様で格納されており、
前記検索手段は、
前記種別コードと、前記ビットマップデータアドレステーブル、前記幅情報テーブル及び前記高さ情報テーブルそれぞれの格納先を示す情報と、が対応付けられたテーブル格納先検索テーブルと、
前記ビットマップデータコードと、前記ビットマップデータアドレステーブルにおける各ビットマップデータ格納先アドレスのレコード番号と、が対応付けられたレコード検索テーブルと、を参照して、対応する前記ビットマップデータの前記格納先アドレスと、当該ビットマップデータの幅情報及び高さ情報と、を取得する、
ことを特徴とするビットマップデータ処理装置。
【請求項２】
前記ビットマップデータはフォントデータである、
ことを特徴とする請求項１に記載のビットマップデータ処理装置。
【請求項３】
前記ビットマップデータコードはアスキーコードである、
ことを特徴とする請求項２に記載のビットマップデータ処理装置。
【請求項４】
請求項１から３の何れか１項に記載のビットマップデータ処理装置と、
前記第２のメモリに格納されたビットマップデータと、前記幅情報及び高さ情報と、に基づいて、ビットマップ画像を表示する表示手段と、を備える、
ことを特徴とする端末装置。
【請求項５】
複数のビットマップデータで構成されるビットマップデータ群の種類を示す種別コードと、当該ビットマップデータ群を構成する一のビットマップデータを示すビットマップデータコードと、を含む描画コマンドの入力を受け付ける入力受付ステップと、
前記ビットマップデータ群毎に用意され、前記各ビットマップデータ群を構成するビットマップデータ毎に第１のメモリにおける格納先のアドレスを示すビットマップデータ格納先アドレスが設定されたビットマップデータアドレステーブルと、前記ビットマップデータ群毎に用意され、前記各ビットマップデータ群を構成するビットマップデータの幅に関する幅情報が個別に又は共通して設定された幅情報テーブルと、前記ビットマップデータ群毎に用意され、前記各ビットマップデータ群を構成するビットマップデータの高さに関する高さ情報が個別に又は共通して設定された高さ情報テーブルと、の内から、前記入力受付ステップで受け付けた前記描画コマンドに対応するテーブルをそれぞれ検索し、検索したこれらのテーブルから、対応するビットマップデータの前記格納先アドレスと、当該ビットマップデータの幅情報及び高さ情報と、を取得する検索ステップと、
該検索ステップでの前記取得結果に基づいて、前記描画コマンドに対応するビットマップデータを前記第１のメモリから読み出し、読み出したビットマップデータを前記幅情報及び高さ情報と共に第２のメモリに格納する描画ステップと、を有し、
前記第１のメモリにおいて、各ビットマップデータは、対応するビットマップデータ群毎に幅方向又は高さ方向において詰めた態様で格納されており、
前記検索ステップでは、
前記種別コードと、前記ビットマップデータアドレステーブル、前記幅情報テーブル及び前記高さ情報テーブルそれぞれの格納先を示す情報と、が対応付けられたテーブル格納先検索テーブルと、
前記ビットマップデータコードと、前記ビットマップデータアドレステーブルにおける各ビットマップデータ格納先アドレスのレコード番号と、が対応付けられたレコード検索テーブルと、を参照して、対応する前記ビットマップデータの前記格納先アドレスと、当該ビットマップデータの幅情報及び高さ情報と、を取得する、
ことを特徴とするビットマップデータ取得方法。
【請求項６】
コンピュータに、
複数のビットマップデータで構成されるビットマップデータ群の種類を示す種別コードと、当該ビットマップデータ群を構成する一のビットマップデータを示すビットマップデータコードと、を含む描画コマンドの入力を受け付ける入力受付ステップと、
前記ビットマップデータ群毎に用意され、前記各ビットマップデータ群を構成するビットマップデータ毎に第１のメモリにおける格納先のアドレスを示すビットマップデータ格納先アドレスが設定されたビットマップデータアドレステーブルと、前記ビットマップデータ群毎に用意され、前記各ビットマップデータ群を構成するビットマップデータの幅に関する幅情報が個別に又は共通して設定された幅情報テーブルと、前記ビットマップデータ群毎に用意され、前記各ビットマップデータ群を構成するビットマップデータの高さに関する高さ情報が個別に又は共通して設定された高さ情報テーブルと、の内から、前記入力受付ステップで受け付けた前記描画コマンドに対応するテーブルをそれぞれ検索し、検索したこれらのテーブルから、対応するビットマップデータの前記格納先アドレスと、当該ビットマップデータの幅情報及び高さ情報と、を取得する検索ステップと、
該検索ステップでの前記取得結果に基づいて、前記描画コマンドに対応するビットマップデータを前記第１のメモリから読み出し、読み出したビットマップデータを前記幅情報及び高さ情報と共に第２のメモリに格納する描画ステップと、を実行させるためのプログラムであって、
前記第１のメモリにおいて、各ビットマップデータは、対応するビットマップデータ群毎に幅方向又は高さ方向において詰めた態様で格納されており、
前記検索ステップでは、
前記種別コードと、前記ビットマップデータアドレステーブル、前記幅情報テーブル及び前記高さ情報テーブルそれぞれの格納先を示す情報と、が対応付けられたテーブル格納先検索テーブルと、
前記ビットマップデータコードと、前記ビットマップデータアドレステーブルにおける各ビットマップデータ格納先アドレスのレコード番号と、が対応付けられたレコード検索テーブルと、を参照して、対応する前記ビットマップデータの前記格納先アドレスと、当該ビットマップデータの幅情報及び高さ情報と、を取得する、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリからフォントデータ等のビットマップデータを取り出すための技術に関する。
【背景技術】
【０００２】
従来より、１文字当たりのデータ容量が小さく、また高速に処理することができるというメリットから、文字等を表示するためのフォントとして、ビットマップフォントが無線機等の端末装置において多く採用されている。
【０００３】
近年、端末装置等においても、多種多様なフォントでの文字表示が求められており、それに伴い、複数種のフォントを扱うための技術が種々提案されている（例えば、特許文献１）。
【０００４】
特許文献１は、メモリ容量の節約を目的として、例えば、等幅フォントのデータと、プロポーショナルフォントのデータを格納するためのメモリ領域を全ての文字について別個に用意するのではなく、両者において文字幅が共通する文字のフォントデータについては格納場所を共通化する技術を開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平５−２８１９４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１における技術では、例えば、太さ等の書体が異なる文字等は共通化の対象外となる。また、メモリに格納するフォントデータのサイズは、全ての文字で固定（最大幅のフォントデータに合わせている）となっており、メモリ容量の節約効果が高いとはいえない。
【０００７】
本発明は、上記従来の問題を解決するためになされたものであり、複数種類のフォントを扱う場合においても、メモリ容量を節約しつつ、高速に処理できるようにしたビットマップデータ処理装置等を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明に係るビットマップデータ処理装置は、
第１のメモリに記憶され、複数の種類に分類されたビットマップデータ群がそれぞれ格納された複数のビットマップデータテーブルと、
前記ビットマップデータ群毎に用意され、前記各ビットマップデータ群を構成するビットマップデータ毎に前記第１のメモリにおける格納先のアドレスを示すビットマップデータ格納先アドレスが設定されたビットマップデータアドレステーブルと、
前記ビットマップデータ群毎に用意され、前記各ビットマップデータ群を構成するビットマップデータの幅に関する幅情報が個別に又は共通して設定された幅情報テーブルと、
前記ビットマップデータ群毎に用意され、前記各ビットマップデータ群を構成するビットマップデータの高さに関する高さ情報が個別に又は共通して設定された高さ情報テーブルと、
前記ビットマップデータ群の種類を示す種別コードと、当該ビットマップデータ群を構成する一のビットマップデータを示すビットマップデータコードと、を含む描画コマンドの入力を受け付ける入力受付手段と、
該入力受付手段が受け付けた前記描画コマンドに基づいて、対応する前記ビットマップデータアドレステーブルと、前記幅情報テーブルと、前記高さ情報テーブルと、を検索し、これらのテーブルから、対応するビットマップデータの前記格納先アドレスと、当該ビットマップデータの幅情報及び高さ情報と、を取得する検索手段と、
該検索手段の前記取得結果に基づいて、前記描画コマンドに対応するビットマップデータを前記第１のメモリから読み出し、読み出したビットマップデータを前記幅情報及び高さ情報と共に第２のメモリに格納する描画手段と、を備え、
前記第１のメモリの前記各ビットマップデータテーブルにおいて、各ビットマップデータは、幅方向又は高さ方向において詰めた態様で格納されており、
前記検索手段は、
前記種別コードと、前記ビットマップデータアドレステーブル、前記幅情報テーブル及び前記高さ情報テーブルそれぞれの格納先を示す情報と、が対応付けられたテーブル格納先検索テーブルと、
前記ビットマップデータコードと、前記ビットマップデータアドレステーブルにおける各ビットマップデータ格納先アドレスのレコード番号と、が対応付けられたレコード検索テーブルと、を参照して、対応する前記ビットマップデータの前記格納先アドレスと、当該ビットマップデータの幅情報及び高さ情報と、を取得する、ことを特徴とする。
【００１０】
前記ビットマップデータは、例えば、フォントデータである。
【００１１】
上記の場合、前記ビットマップデータコードをアスキーコードにしてもよい。
【００１２】
また、本発明に係る端末装置は、
上記のビットマップデータ処理装置を備えると共に、
前記第２のメモリに格納されたビットマップデータと、前記幅情報及び高さ情報と、に基づいて、ビットマップ画像を表示する表示手段と、を備える、ことを特徴とする。
【００１３】
また、本発明に係るビットマップデータ取得方法は、
複数のビットマップデータで構成されるビットマップデータ群の種類を示す種別コードと、当該ビットマップデータ群を構成する一のビットマップデータを示すビットマップデータコードと、を含む描画コマンドの入力を受け付ける入力受付ステップと、
前記ビットマップデータ群毎に用意され、前記各ビットマップデータ群を構成するビットマップデータ毎に第１のメモリにおける格納先のアドレスを示すビットマップデータ格納先アドレスが設定されたビットマップデータアドレステーブルと、前記ビットマップデータ群毎に用意され、前記各ビットマップデータ群を構成するビットマップデータの幅に関する幅情報が個別に又は共通して設定された幅情報テーブルと、前記ビットマップデータ群毎に用意され、前記各ビットマップデータ群を構成するビットマップデータの高さに関する高さ情報が個別に又は共通して設定された高さ情報テーブルと、の内から、前記入力受付ステップで受け付けた前記描画コマンドに対応するテーブルをそれぞれ検索し、検索したこれらのテーブルから、対応するビットマップデータの前記格納先アドレスと、当該ビットマップデータの幅情報及び高さ情報と、を取得する検索ステップと、
該検索ステップでの前記取得結果に基づいて、前記描画コマンドに対応するビットマップデータを前記第１のメモリから読み出し、読み出したビットマップデータを前記幅情報及び高さ情報と共に第２のメモリに格納する描画ステップと、を有し、
前記第１のメモリにおいて、各ビットマップデータは、対応するビットマップデータ群毎に幅方向又は高さ方向において詰めた態様で格納されており、
前記検索ステップでは、
前記種別コードと、前記ビットマップデータアドレステーブル、前記幅情報テーブル及び前記高さ情報テーブルそれぞれの格納先を示す情報と、が対応付けられたテーブル格納先検索テーブルと、
前記ビットマップデータコードと、前記ビットマップデータアドレステーブルにおける各ビットマップデータ格納先アドレスのレコード番号と、が対応付けられたレコード検索テーブルと、を参照して、対応する前記ビットマップデータの前記格納先アドレスと、当該ビットマップデータの幅情報及び高さ情報と、を取得する、ことを特徴とする。
【００１４】
また、本発明に係るプログラムは、
コンピュータに、
複数のビットマップデータで構成されるビットマップデータ群の種類を示す種別コードと、当該ビットマップデータ群を構成する一のビットマップデータを示すビットマップデータコードと、を含む描画コマンドの入力を受け付ける入力受付ステップと、
前記ビットマップデータ群毎に用意され、前記各ビットマップデータ群を構成するビットマップデータ毎に第１のメモリにおける格納先のアドレスを示すビットマップデータ格納先アドレスが設定されたビットマップデータアドレステーブルと、前記ビットマップデータ群毎に用意され、前記各ビットマップデータ群を構成するビットマップデータの幅に関する幅情報が個別に又は共通して設定された幅情報テーブルと、前記ビットマップデータ群毎に用意され、前記各ビットマップデータ群を構成するビットマップデータの高さに関する高さ情報が個別に又は共通して設定された高さ情報テーブルと、の内から、前記入力受付ステップで受け付けた前記描画コマンドに対応するテーブルをそれぞれ検索し、検索したこれらのテーブルから、対応するビットマップデータの前記格納先アドレスと、当該ビットマップデータの幅情報及び高さ情報と、を取得する検索ステップと、
該検索ステップでの前記取得結果に基づいて、前記描画コマンドに対応するビットマップデータを前記第１のメモリから読み出し、読み出したビットマップデータを前記幅情報及び高さ情報と共に第２のメモリに格納する描画ステップと、を実行させるためのプログラムであって、
前記第１のメモリにおいて、各ビットマップデータは、対応するビットマップデータ群毎に幅方向又は高さ方向において詰めた態様で格納されており、
前記検索ステップでは、
前記種別コードと、前記ビットマップデータアドレステーブル、前記幅情報テーブル及び前記高さ情報テーブルそれぞれの格納先を示す情報と、が対応付けられたテーブル格納先検索テーブルと、
前記ビットマップデータコードと、前記ビットマップデータアドレステーブルにおける各ビットマップデータ格納先アドレスのレコード番号と、が対応付けられたレコード検索テーブルと、を参照して、対応する前記ビットマップデータの前記格納先アドレスと、当該ビットマップデータの幅情報及び高さ情報と、を取得する、ことを特徴とする。
【発明の効果】
【００１５】
本発明によれば、複数種類のフォントに係るフォントデータをメモリ容量を抑えて格納することができると共に、高速処理が可能になる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態に係るビットマップデータ処理装置の構成を示すブロック図である。
【図２】図１のＣＰＵの機能構成を示すブロック図である。
【図３】本実施形態において、アドレステーブルとフォントデータテーブルとの関係を説明するための図である。
【図４】従来におけるフォントデータの格納方式について説明するための図（その１）である。
【図５】従来におけるフォントデータの格納方式について説明するための図（その２）である。
【図６】本実施形態におけるフォントデータの格納方式について説明するための図である。
【図７】本実施形態の幅情報テーブルの一例を示す図である。
【図８】本実施形態の高さ情報テーブルの一例を示す図である。
【図９】本実施形態のテーブル格納先検索テーブルの一例を示す図である。
【図１０】本実施形態のレコード検索テーブルの一例を示す図である。
【図１１】本実施形態のビットマップデータ取得処理の手順を示すフローチャートである。
【図１２】他の実施形態におけるフォントデータの格納方式について説明するための図である。
【発明を実施するための形態】
【００１７】
以下、本発明の一実施形態について図面を参照して詳細に説明する。
【００１８】
図１は、本発明の実施形態に係るビットマップデータ処理装置１のハードウェア構成を示すブロック図である。このビットマップデータ処理装置１は、入力部１１と、表示部１２と、ＲＯＭ１３と、ＲＡＭ１４と、外部メモリ１５と、ＣＰＵ１６と、を備える。これらの各部は、システムバス１７により相互に接続されている。システムバス１７は、命令やデータを転送するための伝送経路である。ビットマップデータ処理装置１は、例えば、無線機等の端末装置に適用され、複数種類のフォントに係るフォントデータを保持し、ユーザの所望するフォントで文字表示を行う。ここで扱うフォントには、等幅フォントやプロポーショナルフォントの他、倍角文字、ボールド体等も含まれる。なお、本実施形態では、フォントデータの１ドットは、１ビットで表現されるものとする。
【００１９】
図１において、入力部１１は、キーボード、キーパッド、タッチパッドやマウス等の入力デバイスにより構成され、ユーザからの操作入力を受け付け、受け付けた信号をＣＰＵ１６に送出する。表示部１２は、液晶モニタ等の表示デバイスにより構成され、ＣＰＵ１６による指令の下、文字や画像等の情報を表示する。なお、入力部１１及び表示部１２をタッチパネルで具現化してもよい。
【００２０】
ＲＯＭ１３（第１のメモリ）は、後述するビットマップデータ取得処理に必要なプログラムや各種のデータ等を記憶する。ＲＡＭ１４（第２のメモリ）は、ビットマップデータ取得処理の際に、データやプログラム等が一次的に格納されるメモリである。外部メモリ１５は、読み書き可能な不揮発性の半導体メモリで構成され、外部から供給された各種のデータ等を記憶する。
【００２１】
ＣＰＵ１６は、ＲＯＭ１３に記憶されている所定のプログラムに基づいて、各構成部と制御信号やデータのやり取りをすることで、ビットマップデータ処理装置１全体の動作を制御する。
【００２２】
図２は、ビットマップデータ取得処理におけるＣＰＵ１６の機能構成を示すブロック図である。以下の各機能は、ＣＰＵ１６が、ＲＯＭ１３に記憶されているビットマップデータ取得処理に係るプログラムを実行することで実現する。このビットマップデータ取得処理において、ＣＰＵ１６は、図２に示すように、入力受付部１６１、描画部１６２及び検索部１６３として機能する。入力受付部１６１は、描画コマンドの入力を受け付け、受け付けた描画コマンドを描画部１６２に供給する。本発明において、描画コマンドは、種別コードと、ビットマップデータコードと、から構成される。本実施形態では、種別コードは、描画させたい文字のフォント種別を示し、ビットマップデータコードは、当該文字のインデックス（文字インデックス）を示す。なお、以下においては、文字インデックスは、ＡＳＣＩＩ（アスキー）コードであるものとする。
【００２３】
描画部１６２は、入力受付部１６１から受け取った描画コマンド、即ち、フォント種別及び文字インデックスを検索部１６３に供給し、この描画コマンドの供給に応答して検索部１６３から送出される描画情報（詳細は後述する）を受け取る。描画部１６２は、かかる描画情報に基づいて、指定された文字に対応する描画用データを生成し、生成した描画用データをＲＡＭ１４に格納する。ＲＡＭ１４に格納された描画用データに係る文字画像（ビットマップ画像）は、表示部１２によって表示される。
【００２４】
ここで、ＲＯＭ１３に格納されている各フォント毎に用意された各種のテーブル（アドレステーブル１３１、幅情報テーブル１３２、高さ情報テーブル１３３、フォントデータテーブル１３４）について説明する。フォントデータテーブル１３４（ビットマップデータテーブル）は、当該フォントにおける各文字のフォントデータ（ビットマップデータ）が格納されたデータテーブルであり、アドレステーブル１３１（ビットマップデータアドレステーブル）は、図３に示すように、対応するフォントデータテーブル１３４における各文字のフォントデータの格納先を示すアドレス（即ち、各フォントデータの先頭アドレス）が設定されたデータテーブルである。
【００２５】
次に、本発明の特徴の一つであるフォントデータの格納方式について説明する。従来では、例えば、プロポーショナルフォントのように、文字毎に文字幅が異なるフォントデータあっても、図４に示すように、各フォントデータのサイズは、当該フォントにおいて、最も大きいフォントデータ（この例では、“B”）に合わせていた。したがって、図４の斜線で示されるように、無用な領域までメモリに格納されていた。
【００２６】
具体的には、例えば、サイズが最大のフォントデータ（例えば、“B”）を格納するため、１６ドット×１６ドットに相当する領域、即ち、３２バイト分の領域が必要である場合、同様に他のフォントデータ（例えば、“A”）の格納領域も３２バイト分確保されることになる（図５参照）。そうすると、例えば、図５に示すように、実際には“A”の幅が１３ドットの場合では、斜線で示される本来は無用な６バイト分の領域も確保されることになってしまう。
【００２７】
本実施形態のビットマップ処理装置１では、各フォントデータは、それぞれの幅に応じたサイズでＲＯＭ１３のフォントデータテーブル１３４に格納される。例えば、図５のフォントデータの場合は、図６に示すように、その格納領域は、１３（ドット）×２バイト＝２６バイトとなり、６バイト分のメモリ領域が節約できる。
【００２８】
幅情報テーブル１３２は、図７に示すように、当該フォントにおける各文字のフォントデータの幅情報（ドット単位）が設定されたデータテーブルであり、高さ情報テーブル１３３は、図８に示すように、当該フォントにおける各文字のフォントデータの高さ情報（ドット単位）が設定されたデータテーブルである。
【００２９】
アドレステーブル１３１、幅情報テーブル１３２及び高さ情報テーブル１３３にエントリされるレコードのサイズは、それぞれ固定である。例えば、アドレステーブル１３１の各レコードは、４バイト長であり、幅情報テーブル１３２及び高さ情報テーブル１３３の各レコードは、１バイト長である。なお、一般的には、フォント種別毎に各フォントデータの高さは同一であることから、高さ情報テーブル１３３については、必ずしもフォントデータ数分（即ち、文字数分）のレコードを用意する必要はない。同様に、等幅フォントの場合には、幅情報テーブル１３２についても、フォントデータ数分のレコードを用意する必要はない。
【００３０】
図２に戻り、検索部１６３は、描画部１６２から、上述したフォント種別及び文字インデックスを受け取ると、当該フォント種別に対応するアドレステーブル１３１から、該当するフォントデータの格納先アドレスを取得する。また、当該フォント種別に対応する幅情報テーブル１３２及び高さ情報テーブル１３３から、それぞれ該当するフォントデータの幅及び高さ情報を取得する。そして、取得した当該フォントデータの格納先アドレスと、当該フォントデータの幅及び高さ情報と、を含む描画情報を描画部１６２に供給する。
【００３１】
より詳細には、検索部１６３は、図９に示すテーブル格納先検索テーブル１５１と、図１０に示すレコード検索テーブル１５２と、を参照して上記の処理を行う。図９に示すテーブル格納先検索テーブル１５１は、フォント種別と、アドレステーブル格納先情報と、幅情報テーブル格納先情報と、高さ情報テーブル格納先情報と、が対応付けられたデータテーブルである。テーブル格納先検索テーブル１５１の「アドレステーブル格納先情報」には、当該フォント種別に対応するアドレステーブル１３１のＲＯＭ１３における格納先のアドレスが設定されている。また、「幅情報テーブル格納先情報」には、当該フォント種別に対応する幅情報テーブル１３２のＲＯＭ１３における格納先のアドレスが設定され、「高さ情報テーブル格納先情報」には、当該フォント種別に対応する高さ情報テーブル１３３のＲＯＭ１３における格納先のアドレスが設定されている。
【００３２】
図１０に示すレコード検索テーブル１５２は、文字インデックスと、各テーブル（アドレステーブル１３１、幅情報テーブル１３２、高さ情報テーブル１３３）におけるレコードの番号と、が対応付けられたデータテーブルである。
【００３３】
テーブル格納先検索テーブル１５１及びレコード検索テーブル１５２は、予め外部から供給され、外部メモリ１５に保存されている。検索部１６３は、描画コマンドにおけるフォント種別からテーブル格納先検索テーブル１５１を参照して、対応するアドレステーブル１３１、幅情報テーブル１３２及び高さ情報テーブル１３３それぞれの格納先アドレスを取得する。
【００３４】
また、検索部１６３は、描画コマンドにおける文字インデックス（本例では、ＡＳＣＩＩコード）からレコード検索テーブル１５２を参照して、アドレステーブル１３１、幅情報テーブル１３２及び高さ情報テーブル１３３のそれぞれにおいて、当該文字インデックスに対応するレコードの番号を取得する。図１０の例では、文字インデックスが“０ｘ４１”の場合、対応するレコードの番号として、“０”が得られる。これは、当該フォント種別に対応するアドレステーブル１３１の０番目（即ち、先頭）のレコードに、当該文字インデックスに対応するフォントデータ（本例では、“A”）の格納先アドレスが設定されていることを示している。同様に、当該フォント種別に対応する幅情報テーブル１３２及び高さ情報テーブル１３３それぞれの先頭のレコードに、当該文字インデックスに対応するフォントデータの幅及び高さ情報が設定されていることを示している。
【００３５】
なお、前述したように、フォントによっては、幅情報テーブル１３２や高さ情報テーブル１３３において、フォントデータ数分のレコードを用意する必要はないが、この場合、検索部１６３は、幅情報テーブル１３２や高さ情報テーブル１３３については、レコード検索テーブル１５２を用いた上記の該当レコードの検索処理を行わない。つまり、これらのテーブルについては、文字インデックスの内容に依らず先頭のレコードに格納されている情報（幅情報、高さ情報）を取得する。
【００３６】
例えば、描画コマンドにおけるフォント種別の上位２ビットを使用して、検索部１６３に対して、幅情報テーブル１３２や高さ情報テーブル１３３にフォントデータ数分のレコードが用意されていない（即ち、幅や高さが共通である）ことを通知することができる。例えば、フォント種別の上位２ビットが、“1X”の場合は、高さ情報テーブル１３３には、１レコードのみエントリされている（即ち、各フォントデータにおいて高さが共通）ことを示し、“X1”の場合は、幅情報テーブル１３２には、１レコードのみエントリされている（即ち、各フォントデータにおいて幅が共通）ことを示すというような仕様にすればよい。
【００３７】
図１１は、ＣＰＵ１６が実行するビットマップデータ取得処理の手順を示すフローチャートである。ユーザにより、入力部１１を介して所定の操作が行われると、入力受付部１６１は、当該ユーザ操作に起因した描画コマンドの入力を受け付ける（ステップＳ１０１）。入力受付部１６１は、受け付けた描画コマンドを描画部１６２に供給し、描画部１６２は、これを検索部１６３に供給する。
【００３８】
検索部１６３は、描画コマンドからフォント種別を抽出し、抽出したフォント種別からテーブル格納先検索テーブル１５１を参照して、対応するアドレステーブル１３１、幅情報テーブル１３２及び高さ情報テーブル１３３それぞれの格納先アドレスを取得する（ステップＳ１０２）。
【００３９】
また、検索部１６３は、描画コマンドから文字インデックスを抽出し、レコード検索テーブル１５２を参照して、当該文字インデックスに対応するレコード番号を取得する（ステップＳ１０３）。
【００４０】
検索部１６３は、取得したアドレステーブル１３１の格納先アドレスと、レコード番号とに基づいて、当該描画コマンドに対応するフォントデータの格納先アドレスを取得する（ステップＳ１０４）。さらに、検索部１６３は、取得した幅情報テーブル１３２及び高さ情報テーブル１３３それぞれの格納先アドレスと、レコード番号とに基づいて、当該フォントデータの幅及び高さ情報を取得する（ステップＳ１０５）。そして、検索部１６３は、取得したフォントデータの格納先アドレスと、幅情報と、高さ情報と、を含む描画情報を描画部１６２に供給する。
【００４１】
描画部１６２は、検索部１６３から上記の描画情報を受け取ると、該描画情報に含まれる幅情報に基づいて、当該描画対象のフォントデータの読み出しサイズを算出する（ステップＳ１０６）。具体的には、幅情報（ドット）×所定バイト数（本実施形態では、２バイト）で読み出しサイズを求める。例えば、図６の例では、１３×２バイト＝２６バイトとなる。
【００４２】
描画部１６２は、当該フォントの格納先アドレスと、算出した読み出しサイズと、に基づいて、ＲＯＭ１３から当該描画対象のフォントデータを読み出す（ステップＳ１０７）。そして、描画部１６２は、読み出したフォントデータと、当該フォントデータの幅情報及び高さ情報と、からなる描画用データをＲＡＭ１４に格納する（ステップＳ１０８）。
【００４３】
表示部１２は、ＲＡＭ１４に格納された描画用データに基づいて、文字画像を表示する。
【００４４】
以上のように、本実施形態のビットマップデータ処理装置１は、複数種類のフォントを取り扱うことができるが、幅サイズが異なるフォントにおいては、各フォントデータは、固定サイズではなく、幅方向に詰めた態様でメモリに格納されている。このため、無用な領域を排除でき、メモリ容量の節約が図れる。また、複雑な処理を要さずに、容易に指定されたフォントデータを読み出すことができるため、処理の高速化も図れる。
【００４５】
なお、本発明は、上記実施形態に限定されず、本発明の要旨を逸脱しない範囲での種々の変更は勿論可能である。
【００４６】
例えば、上記実施形態では、検索部１６３は、描画コマンドの文字インデックス（例えば、ＡＳＣＩＩコード）をキーにして、レコード検索テーブル１５２を検索し、アドレステーブル１３１等における対応するレコード番号を取得していたが、レコード検索テーブル１５２を有することは必須ではない。例えば、アドレステーブル１３１等において、エントリされているレコード位置と、文字インデックスとが対応していれば、検索部１６３は、文字インデックスから直接的にアドレステーブル１３１等の対応するレコードを参照することができる。
【００４７】
また、文字以外の図形を表す複数のビットマップデータから構成されるビットマップデータ群についても、フォントの一種類に含めるようにしてもよい。これらのビットマップデータは、例えば、アイコン等として使用される。
【００４８】
また、ＲＯＭ１３のメモリ領域におけるビットマップデータの格納態様は、図５、図６に示す例に限定されず、例えば、高さが可変である場合は、図１２に示すような態様でビットマップデータ格納してもよい。この場合の読み出しサイズは、高さ情報（ドット）×所定バイト数（例えば、２バイト）にて算出され、図１２の例では、１０×２＝２０バイトとなる。
【００４９】
また、上記実施形態では、ＣＰＵ１６がプログラムを実行することによる論理的処理で、入力受付部１６１、描画部１６２、検索部１６３の各機能が実現されるものとしたが、これらの機能が、例えば、ＡＳＩＣ（Application Specific Integrated Circuit）等、専用の回路にてハードウェア的に実現されるようにしてもよい。
【００５０】
また、上記実施形態のビットマップデータ処理装置１が実行したプログラムを、既存の無線機等の端末装置に適用することで、当該端末装置を本発明に係るビットマップデータ処理装置又は端末装置として機能させることも可能である。
【００５１】
このようなプログラムの配布方法は任意であり、例えば、ＣＤ−ＲＯＭ（Compact Disk Read-Only Memory）、ＤＶＤ（Digital Versatile Disk）、ＭＯ（Magneto Optical Disk）、メモリカード等のコンピュータで読み取り可能な記録媒体に格納して配布してもよいし、携帯電話網やインターネット等の通信ネットワークを介して配布してもよい。
【符号の説明】
【００５２】
１  ビットマップデータ処理装置
１１  入力部
１２  表示部
１３  ＲＯＭ
１３１  アドレステーブル
１３２  幅情報テーブル
１３３  高さ情報テーブル
１３４  フォントデータテーブル
１４  ＲＡＭ
１５  外部メモリ
１５１  テーブル格納先検索テーブル
１５２  レコード検索テーブル
１６  ＣＰＵ
１６１  入力受付部
１６２  描画部
１６３  検索部
１７  システムバス
【図１】
0005560990.tif 000002
【図２】
0005560990.tif 000003
【図３】
0005560990.tif 000004
【図４】
0005560990.tif 000005
【図５】
0005560990.tif 000006
【図６】
0005560990.tif 000007
【図７】
0005560990.tif 000008
【図８】
0005560990.tif 000009
【図９】
0005560990.tif 000010
【図１０】
0005560990.tif 000011
【図１１】
0005560990.tif 000012
【図１２】
0005560990.tif 000013