(57)【要約】【課題】効率良くフォントデータを格納することが可能な情報処理装置を提供する。【解決手段】所定の符号化方式によって符号化可能な文字集合から抽出された文字群のフォントデータを格納するフォントデータ格納手段（不揮発性メモリ３７）と、所定の符号化方式によって符号化された文字コードの入力を受ける入力手段（通信制御ＭＣＵ３８）と、文字コードとフォントデータとの対応関係を示す対応関係情報を格納する対応関係情報格納手段（不揮発性メモリ３７）と、入力手段から入力された文字コードに基づいて、対応関係情報格納手段から対応関係情報を検索する検索手段（表示制御ＭＣＵ３６）と、検索手段によって特定された対応関係情報に基づいて、文字コードに対応するフォントデータをフォントデータ格納手段から取得する取得手段（表示制御ＭＣＵ３６）と、を有する。【選択図】図２
2009098992.tif 000002
【特許請求の範囲】
【請求項１】
所定の符号化方式によって符号化可能な文字集合から抽出された文字群のフォントデータを格納するフォントデータ格納手段と、
前記所定の符号化方式によって符号化された文字コードの入力を受ける入力手段と、
前記文字コードと前記フォントデータとの対応関係を示す対応関係情報を格納する対応関係情報格納手段と、
前記入力手段から入力された文字コードに基づいて、前記対応関係情報格納手段から前記対応関係情報を検索する検索手段と、
前記検索手段によって特定された前記対応関係情報に基づいて、前記文字コードに対応する前記フォントデータを前記フォントデータ格納手段から取得する取得手段と、
を有することを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記対応関係情報は、１次インデックスと２次インデックスとを有し、
前記１次インデックスは、前記２次インデックスが格納されている領域を特定するための情報を有し、
前記２次インデックスは、前記フォントデータのいずれかを特定する情報と、前記文字コードの一部の情報とを有し、
前記検索手段は、前記文字コードに基づいて前記１次インデックスを特定し、前記１次インデックスに含まれている前記２次インデックスが格納されている領域を特定するための情報に基づいて、前記２次インデックスが格納されている領域を特定するとともに前記文字コードの一部の情報に基づいて該当する前記２次インデックスを特定し、
前記取得手段は、前記検索手段によって特定された前記２次インデックスに格納されている前記フォントデータのいずれかを特定する情報に基づいて、所望の前記フォントデータを取得する、
ことを特徴とする情報処理装置。
【請求項３】
請求項２に記載の情報処理装置において、
前記１次インデックスは、前記２次インデックスが格納されている領域を特定するための情報として当該領域の開始アドレスと終了アドレスを示す情報を有し、前記開始アドレスと終了アドレスが等しい場合には、対応する２次インデックスが存在しないことを示すことを特徴とする情報処理装置。
【請求項４】
請求項３に記載の情報処理装置において、
前記検索手段は、前記１次インデックスによって特定される領域に格納されている複数の２次インデックスの中から所望の２次インデックスを、２分検索によって検索することを特徴とする情報処理装置。
【請求項５】
所定の符号化方式によって符号化された文字コードの入力を受け、
所定の符号化方式によって符号化可能な文字集合から抽出された文字群のフォントデータと、前記文字コードと前記フォントデータとの対応関係を示す対応関係情報が格納された記憶装置から、入力された文字コードに対応する前記対応関係情報を検索し、
検索によって特定された前記対応関係情報に基づいて、前記文字コードに対応する前記フォントデータを前記記憶装置から取得する、
ことを特徴とする情報処理方法。
【請求項６】
所定の符号化方式によって符号化可能な文字集合から抽出された文字群のフォントデータを格納するフォントデータ格納手段、
前記所定の符号化方式によって符号化された文字コードの入力を受ける入力手段、
前記文字コードと前記フォントデータとの対応関係を示す対応関係情報を格納する対応関係情報格納手段、
前記入力手段から入力された文字コードに基づいて、前記対応関係情報格納手段から前記対応関係情報を検索する検索手段、
前記検索手段によって特定された前記対応関係情報に基づいて、前記文字コードに対応する前記フォントデータを前記フォントデータ格納手段から取得する取得手段、
としてコンピュータを機能させるコンピュータ読み取り可能な情報処理プログラム。
【請求項７】
所定の符号化方式によって符号化可能な文字集合から抽出された文字群のフォントデータを格納するフォントデータ格納手段と、
前記所定の符号化方式によって符号化された文字コードの入力を受ける入力手段と、
前記文字コードと前記フォントデータとの対応関係を示す対応関係情報を格納する対応関係情報格納手段と、
前記入力手段から入力された文字コードに基づいて、前記対応関係情報格納手段から前記対応関係情報を検索する検索手段と、
前記検索手段によって特定された前記対応関係情報に基づいて、前記文字コードに対応する前記フォントデータを前記フォントデータ格納手段から取得する取得手段と、
を有することを特徴とするＩＣカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、情報処理プログラム、および、ＩＣカードに関する。
【背景技術】
【０００２】
情報処理装置では、ひらがな、カタカナ、漢字、その他の記号等の文字集合を所定の符号化方式によって符号化して扱う。このような符号化方式としては、日本語の場合には、ＪＩＳ（Japan Industrial Standard）、シフトＪＩＳ、Ｕｎｉｃｏｄｅ、ＥＵＣ（Extended UNIX（登録商標） Code）等が存在する。
【０００３】
ところで、前述したような符号化方式によって符号化される文字集合の数は非常に多いため、メモリの容量が限られている小型の情報処理装置の場合、これら全てに対応するフォントデータを情報処理装置に格納することは困難である。
【０００４】
そこで、漢字フォントの特性に基づいてフォントデータを格納するメモリの容量を削減するための発明が特許文献１に開示されている。
【特許文献１】特開２００５−１２２１５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、特許文献１に開示される技術では、漢字フォントの特徴に基づいて圧縮処理を施すことでデータ量を削減し、メモリの容量を削減している。しかしながら、このような方法では、文字コード系の冗長性（文字集合自体の数の多さ）を解消することができないという問題点がある。
【０００６】
本発明は、上述した事情に鑑みてなされたものであり、効率良くフォントデータを格納することが可能な情報処理装置、情報処理方法、情報処理プログラム、および、ＩＣカードを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明は、所定の符号化方式によって符号化可能な文字集合から抽出された文字群のフォントデータを格納するフォントデータ格納手段と、前記所定の符号化方式によって符号化された文字コードの入力を受ける入力手段と、前記文字コードと前記フォントデータとの対応関係を示す対応関係情報を格納する対応関係情報格納手段と、前記入力手段から入力された文字コードに基づいて、前記対応関係情報格納手段から前記対応関係情報を検索する検索手段と、前記検索手段によって特定された前記対応関係情報に基づいて、前記文字コードに対応する前記フォントデータを前記フォントデータ格納手段から取得する取得手段と、を有することを特徴とする。
この構成によれば、符号化方式に対応する文字集合の一部に対応するフォントデータを格納し、対応関係情報を参照して、入力手段から入力された文字列の中から、対応するフォントデータを検索して取得する。このため、文字集合の一部のみを格納するようにすることで、効率良くフォントデータを格納することが可能となる。
【０００８】
また、本発明は、上記発明において、前記対応関係情報は、１次インデックスと２次インデックスとを有し、前記１次インデックスは、前記２次インデックスが格納されている領域を特定するための情報を有し、前記２次インデックスは、前記フォントデータのいずれかを特定する情報と、前記文字コードの一部の情報とを有し、前記検索手段は、前記文字コードに基づいて前記１次インデックスを特定し、前記１次インデックスに含まれている前記２次インデックスが格納されている領域を特定するための情報に基づいて、前記２次インデックスが格納されている領域を特定するとともに前記文字コードの一部の情報に基づいて該当する前記２次インデックスを特定し、前記取得手段は、前記検索手段によって特定された前記２次インデックスに格納されている前記フォントデータのいずれかを特定する情報に基づいて、所望の前記フォントデータを取得することを特徴とする。
この構成によれば、１次インデックスに格納されている情報に基づいて２次インデックスが格納されている領域を特定し、文字コードの一部によって領域から２次インデックスを特定し、２次インデックスに格納されているフォントデータを特定するための情報により、目的の文字のフォントデータを特定する。このため、フォントデータが存在しない場合には、２次インデックスを格納しないようにすることで、記憶領域を削減できる。
【０００９】
また、本発明は、上記発明において、前記１次インデックスは、前記２次インデックスが格納されている領域を特定するための情報として当該領域の開始アドレスと終了アドレスを示す情報を有し、前記開始アドレスと終了アドレスが等しい場合には、対応する２次インデックスが存在しないことを示すことを特徴とする。
この構成によれば、１次インデックスには、対応する２次インデックスが格納されている領域の開始アドレスと終了アドレスとが格納され、フォントデータが存在しない場合には開始アドレスと終了アドレスが等しく設定される。このため、フォントデータが連続して存在しない場合には、開始アドレスと終了アドレスを同じに設定することにより、２次インデックスを格納する記憶領域を削減することができる。
【００１０】
また、本発明は、上記発明において、前記検索手段は、前記１次インデックスによって特定される領域に格納されている複数の２次インデックスの中から所望の２次インデックスを、２分検索によって検索することを特徴とする。
この構成によれば、１次インデックスによって特定された領域に複数の２次インデックスが格納されている場合には、２分検索によって所望の２次インデックスが特定される。これにより、所望の２次インデックスを迅速に見つけ出すことが可能になる。
【００１１】
また、本発明の情報処理方法は、所定の符号化方式によって符号化された文字コードの入力を受け、所定の符号化方式によって符号化可能な文字集合から抽出された文字群のフォントデータと、前記文字コードと前記フォントデータとの対応関係を示す対応関係情報が格納された記憶装置から、入力された文字コードに対応する前記対応関係情報を検索し、検索によって特定された前記対応関係情報に基づいて、前記文字コードに対応する前記フォントデータを前記記憶装置から取得することを特徴とする。
この構成によれば、符号化方式に対応する文字集合の一部に対応するフォントデータを格納し、対応関係情報を参照して、入力された文字列の中から、対応するフォントデータを検索して取得する。このため、文字集合の一部のみを格納するようにすることで、効率良くフォントデータを格納することが可能となる。
【００１２】
また、本発明の情報処理プログラムは、所定の符号化方式によって符号化可能な文字集合から抽出された文字群のフォントデータを格納するフォントデータ格納手段、前記所定の符号化方式によって符号化された文字コードの入力を受ける入力手段、前記文字コードと前記フォントデータとの対応関係を示す対応関係情報を格納する対応関係情報格納手段、前記入力手段から入力された文字コードに基づいて、前記対応関係情報格納手段から前記対応関係情報を検索する検索手段、前記検索手段によって特定された前記対応関係情報に基づいて、前記文字コードに対応する前記フォントデータを前記フォントデータ格納手段から取得する取得手段、としてコンピュータを機能させる。
このプログラムによれば、符号化方式に対応する文字集合の一部に対応するフォントデータを格納し、対応関係情報を参照して、入力された文字列の中から、対応するフォントデータを検索して取得する。このため、文字集合の一部のみを格納するようにすることで、効率良くフォントデータを格納することが可能となる。
【００１３】
また、本発明のＩＣカードは、所定の符号化方式によって符号化可能な文字集合から抽出された文字群のフォントデータを格納するフォントデータ格納手段と、前記所定の符号化方式によって符号化された文字コードの入力を受ける入力手段と、前記文字コードと前記フォントデータとの対応関係を示す対応関係情報を格納する対応関係情報格納手段と、前記入力手段から入力された文字コードに基づいて、前記対応関係情報格納手段から前記対応関係情報を検索する検索手段と、前記検索手段によって特定された前記対応関係情報に基づいて、前記文字コードに対応する前記フォントデータを前記フォントデータ格納手段から取得する取得手段と、を有することを特徴とする。
この構成によれば、符号化方式に対応する文字集合の一部に対応するフォントデータを格納し、対応関係情報を参照して、入力手段から入力された文字列の中から、対応するフォントデータを検索して取得する。このため、文字集合の一部のみを格納するようにすることで、効率良くフォントデータを格納することが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明の実施形態について説明する。なお、以下では、本発明の情報処理装置をＩＣ（Integral Circuit）カードとして実施した場合を例に挙げて説明する。また、本発明の情報処理方法および情報処理プログラムは、ＩＣカードの動作およびＩＣカードを制御するプログラムとして説明する。
【００１５】
（Ａ）実施の形態の構成の説明
図１は、本発明を適用した実施形態に係るＩＣカードを含むＩＣカードシステムの概略構成を示す図である。図１に示すように、ＩＣカードシステムは、パーソナルコンピュータ１０、通信ルータ２０、および、ＩＣカード３０−１，３０−２を主要な構成要素としている。なお、この例では、パーソナルコンピュータおよび通信ルータはそれぞれ１台とされ、また、ＩＣカードは２枚とされているが、これ以外の台数（または枚数）であってよい。
【００１６】
ここで、パーソナルコンピュータ１０は、図示せぬＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ＨＤＤ（Hard Disk Drive）等を主要な構成要素とし、ＨＤＤに格納されているアプリケーションプログラムを実行することにより、ＩＣカード３０−１，３０−２に表示させる情報を生成するとともに、通信ルータ２０を介して生成された情報を送信する。通信ルータ２０は、パーソナルコンピュータ１０から供給された情報に基づいて、搬送波を所定の変調方式により変調し、変調された搬送波を電波としてＩＣカード３０−１，３０−２に対して送信する。ＩＣカード３０−１，３０−２は、通信ルータ２０から送信された電波を受信して復調することにより、搬送波に含まれている情報を取得し、取得した情報を後述するＥＰＤ（Electrophoretic Display）に表示させる。
【００１７】
図２は、図１に示すＩＣカード３０−１の詳細な構成例を示す図である。なお、ＩＣカード３０−１とＩＣカード３０−２は、同様の構成とされているので、以下では、ＩＣカード３０−１を例に挙げて説明を行う。
ＩＣカード３０−１は、ＥＰＤ３１、表示制御回路３２、バッテリ３３、電源回路３４、入力デバイス３５、表示制御ＭＣＵ（Main Control Unit）３６（請求項中「検索手段」および「取得手段」に対応）、不揮発性メモリ３７（請求項中「フォントデータ格納手段」および「対応関係情報格納手段」に対応）、通信制御ＭＣＵ３８（請求項中「入力手段」に対応）、ＲＦ（Radio Frequency）回路３９、および、アンテナ４０を主要な構成要素としている。
【００１８】
ここで、ＥＰＤ３１は、透明な液体の中で浮動する微粒子を電界によって移動させることにより、文字および図形等の表示を行う表示デバイスである。表示制御回路３２は、ＥＰＤ３１に情報を表示する際の制御を行う回路であり、例えば、表示制御ＭＣＵ３６とＥＰＤ３１との間の電圧の変換を行う制御を行う。バッテリ３３は、例えば、リチウムイオン電池等によって構成され、電源回路３４に直流電力を供給する。電源回路３４は、バッテリ３３から供給される電源電圧を、所定の電圧に昇圧または降圧し、図示せぬ電源線を介して装置の各部に供給する。入力デバイス３５は、例えば、操作ボタンおよびスイッチによって構成され、操作ボタンがユーザによって操作された場合には、スイッチがオンまたはオフの状態になり、表示制御ＭＣＵ３６がスイッチの状態に基づいて操作ボタンが操作されたことを検出する。表示制御ＭＣＵ３６は、通信制御ＭＣＵ３８から供給されたコマンドを解釈し、不揮発性メモリ３７に格納されている対応するフォントデータまたはビットマップデータを取得して画像を構成し、表示制御回路３２に供給してＥＰＤ３１に表示させる。不揮発性メモリ３７は、例えば、ＦｅＲＡＭ(Ferroelectric RAM)によって構成され、表示制御ＭＣＵ３６が使用するフォントデータおよびビットマップデータを格納するとともに、表示制御ＭＣＵ３６が実行するプログラムを格納する。通信制御ＭＣＵ３８は、ＲＦ回路３９から供給されるディジタル信号を解釈し、内蔵するメモリ（不図示）を書き換えたり、ディジタル信号から復元されたコマンドを表示制御ＭＣＵ３６に供給したりする。ＲＦ回路３９は、アンテナ４０によって捕捉された電波を復調し、ディジタル信号を生成して、通信制御ＭＣＵ３８に供給する。アンテナ４０は、例えば、コイル形状を有しており、通信ルータ２０から送信された電波を捕捉し、ＲＦ回路３９に供給する。
【００１９】
図３は、図２に示す不揮発性メモリ３７に格納されている情報の一例を示す図である。この図に示すように、不揮発性メモリ３７には、全角文字フォントデータ３７ａ、インデックス３７ｂ（請求項中「対応関係情報」に対応）、半角文字フォントデータ３７ｃ、および、システムプログラム３７ｄを格納している。
全角文字フォントデータ３７ａは、例えば、縦と横がそれぞれ２４×２４ドットからなるビットデータによって１文字が表現されており、“０”を白、“１”を黒とする２値のパターンによって構成される。文字の左上隅を原点として右をＸ方向、下をＹ方向と定めた場合、左上隅を０バイト目としてまずＸ方向に格納され、Ｘ方向の右端に突き当たった所でＹ方向に移動し、再度左端からＸ方向に格納する、という動作を繰り返すことにより、フォントデータが格納される。フォントデータが２４×２４ドットから構成される場合には、Ｘ方向に３バイトが格納され、Ｙ方向に３バイトのデータが順次格納されていく。なお、全角文字フォントデータ３７ａとしては、かな、記号等の文字５２４文字と、常用漢字１９４５文字と、の合計２４６９文字を有している。なお、パーソナルコンピュータ１０から送信される情報は、例えば、符号化方式としてのシフトＪＩＳにより符号化された文字コードとされる。シフトＪＩＳが有する文字コードの総数は、１１４３８文字であり、全角文字フォントデータ３７ａには、この一部の２４６９文字が格納されている。
インデックス３７ｂは、シフトＪＩＳコードと、全角文字フォントデータ３７ａに格納されている各フォントデータとを対応付けする情報であり、後述するように１次インデックスおよび２次インデックスを有している。なお、インデックス３７ｂの詳細については後述する。半角文字フォントデータ３７ｃは、例えば、縦と横がそれぞれ２４×１２ドットからなるビットデータによって１文字が表現されており、全角文字フォントデータと同様に“０”を白、“１”を黒とする２値のパターンによって構成される。システムプログラム３７ｄは、Ｉ／Ｏメモリ、アプリケーションプログラム、ＶＲＡＭ（Video RAM）その他によって構成される。なお、図３は一例であって、これ以外の情報が格納されていてもよい。また、格納する順序も図３の場合と異なっていてもよい。
【００２０】
図４は、インデックス３７ｂの概要を説明するための図である。図４に示すように、インデックスは、１次インデックスおよび２次インデックスを有している。２次インデックスは、フォントデータと１対１に対応付けされており、２次インデックスを指定することにより、所定の文字に対応するフォントデータが特定される。１次インデックスは、２次インデックスの範囲を指定する。すなわち、１次インデックスが指定されると、所定の個数の２次インデックスが特定される。
【００２１】
図５は、１次インデックスおよび２次インデックスの詳細を説明するための図である。この図に示すように、１次インデックスは、シフトＪＩＳコードの上位バイトの０ｘ８１〜０ｘＦＣにそれぞれ対応付けられている。本実施の形態では、シフトＪＩＳコードの上位バイトが０ｘ８１〜０ｘＦＣの範囲に属する文字を使用する。このため、シフトＪＩＳコードの上位バイト０ｘ８１〜０ｘＦＣの１２４個のいずれかが指定されると、１対１に対応付けされたいずれかの１次インデックスが特定される。なお、実際には、１次インデックスは、上位バイトから０ｘ８１を減算した値を配列添え字としてアクセス可能な１２４要素の構造体の配列として構成される。１次インデックスの各構造体は、４バイトのデータ量を有し、２次インデックスの開始アドレスと、終了アドレスとをそれぞれ有している。開始アドレスおよび終了アドレスのそれぞれは、２バイトの「アドレスオフセット値」であって、２次インデックスの開始番地を示す３バイトの開始アドレスに加えることで、不揮発性メモリ３７の物理アドレスに変換できる。より詳細には、シフトＪＩＳコードの上位バイトを参照し、１次インデックスの構造体を読み出すことにより、２次インデックスが格納されたアドレスにアクセスすることができる。２次インデックスは、１次インデックスの示す「開始」「終了」アドレスにより指定される可変長の記憶領域に記憶され、最小０個から最大２５６個の構造体要素を有する。各要素は３バイトの大きさを持つ構造体であり、０バイトから７６８（＝２５６×３）バイトのサイズを有する。また、各要素には、シフトＪＩＳコードの下位バイトと、フォントデータが格納されている配列の添え字とが格納されている。より詳細には、上位バイトは１バイトの大きさであり、０ｘ００〜０ｘＦＦの間の値をとる。また、配列添え字は符合無し整数で２バイトの大きさである。フォント配列添え字は、該当するフォントデータの配列をアクセスするための情報である。これらの要素は、２次インデックス内に、上位バイトをキーとして昇順に整列する形で格納される。定義されていない文字、および、格納しない文字については要素が存在しない。
【００２２】
なお、シフトＪＩＳコードから所定のフォントデータを検索するためには、つぎのようにする。すなわち、上位バイトを参照して、１次インデックスを特定する。例えば、上位バイトが０ｘ８９であれば、０ｘ８９に対応する１次インデックスが特定される。つぎに、特定された１次インデックスに含まれている開始アドレスと終了アドレスとを取得し、これらが等しい場合には対応する２次インデックス（フォントデータ）が存在しないと判定する。また、これらが等しくない場合には、２次インデックスが存在すると判定し、これらに基づいて対応する２次インデックスが格納されている領域を特定する。この結果、上位バイトが０ｘ８９であるフォントデータに対応する２次インデックスが格納された領域が特定される。つぎに、シフトＪＩＳの下位バイトを参照し、該当する下位バイトを検索する。なお、検索の方法としては、２分検索を用いる。例えば、下位バイトが０ｘ４５である場合には、０ｘ４５に対応する２次インデックスが２分検索によって特定される。検索の結果、対象の下位バイトが存在する場合には配列添え字を取得し、この配列添え字に基づいて、対応するフォントデータを取得する。これにより、シフトＪＩＳコードに対応する文字のフォントデータが取得される。いまの例では、シフトＪＩＳコードの０ｘ８９４５に対応する文字「右」のフォントデータが取得される。
【００２３】
（Ｂ）実施の形態の動作の説明
つぎに、図６を参照して、ＩＣカード３０−１，３０−２において実行される処理の一例について説明する。なお、ＩＣカード３０−１，３０−２において実行される処理は同様であるので、以下ではＩＣカード３０−１を例に挙げて説明する。
まず、パーソナルコンピュータ１０において、アプリケーションプログラムが起動され、このアプリケーションプログラムによってＩＣカード３０−１，３０−２に表示させようとするテキスト情報を含む情報が生成される。具体的には、例えば、「本日の特価品の販売は１４：００からです。」のような情報が生成される。なお、このような情報は、例えば、シフトＪＩＳコードに変換され、シフトＪＩＳコードのコード列（以下、「シフトコード列」と称する）とされる。例えば、いまの例では、「本」に対応する「０ｘ９６７Ｂ」、「日」に対応する「０ｘ９３ＦＡ」、「の」に対応する「０ｘ８２ＣＣ」、のように、シフトＪＩＳコード列が生成される。
【００２４】
このようにして生成された情報は、所定のインタフェース（例えば、ＵＳＢ（Universal Serial Bus）またはＬＡＮ（Local Area Network））を介して通信ルータ２０に供給される。通信ルータ２０では、パーソナルコンピュータ１０から供給された情報（シフトＪＩＳコード列）を取得し、対応するディジタルビット列（“０”および“１”の列）に変換し、このディジタルビット列に基づいて搬送波を変調し、図示せぬアンテナから電波として送信する。
【００２５】
このようにして通信ルータ２０から送信された電波は、ＩＣカード３０−１によって受信される（ステップＳ１０）。すなわち、通信ルータ２０から送信された電波は、ＩＣカード３０−１のアンテナ４０によって捕捉され、ＲＦ回路３９に供給される。ＲＦ回路３９では、アンテナ４０によって捕捉された搬送波に含まれているディジタルビット列を抽出する（ステップＳ１１）。そして、抽出されたディジタルビット列は、通信制御ＭＣＵ３８に供給され、そこで、コマンドの解釈が行われる。いまの例では、受信した情報は、テキスト情報を含む表示のための情報であるので、表示制御ＭＣＵ３６にこの情報が供給される。
【００２６】
表示制御ＭＣＵ３６は、通信制御ＭＣＵ３８から供給された情報から１文字分の情報を抽出する（ステップＳ１２）。いまの例では、「本日の特価品の販売は１４：００からです。」に対応するシフトＪＩＳコード列を受信しているので、シフトＪＩＳコード列の最初の文字「本」に対応するシフトＪＩＳコードである「０ｘ９６７Ｂ」が抽出される。なお、文字が半角文字である場合（０ｘ２０〜０ｘＤＦの場合）には、１バイト分の情報が抽出される。つぎに、表示制御ＭＣＵ３６は、ステップＳ１２において抽出した文字が全角文字であるか否かを判定し（ステップＳ１３）、全角文字である場合（ステップＳ１３；Ｙｅｓ）にはステップＳ１５に進み、それ以外の場合にはステップＳ１４に進む。抽出した文字が半角文字である場合には、ステップＳ１４に進み、表示制御ＭＣＵ３６は、不揮発性メモリ３７の半角文字フォントデータ３７ｃから該当するフォントデータを取得し、ステップＳ２４に進む。なお、ステップＳ２４では、後述するようにフォントデータの表示処理が実行される。
【００２７】
ステップＳ１３において、全角文字であると判定された場合にはステップＳ１５に進み、抽出されたシフトＪＩＳコードの上位バイトＵＢが抽出される。いまの例では、先頭の文字である「本」に対応するシフトＪＩＳコード「０ｘ９６７Ｂ」の上位バイト「０ｘ９６」が抽出され、変数ＵＢに格納される。つぎに、表示制御ＭＣＵ３６は、変数ＵＢに格納されている上位バイトが０ｘ８１≦ＵＢ≦０ｘＦＣの範囲（フォントデータが存在する範囲）に属するか否かを判定し（ステップＳ１６）、属する場合（ステップＳ１６；Ｙｅｓ）にはステップＳ１７に進み、それ以外の場合（ステップＳ１６；Ｎｏ）にはステップＳ２５に進む。いまの例では、「０ｘ９６」であるので、前述した範囲に属することから、Ｙｅｓと判定されてステップＳ１７に進む。
【００２８】
ステップＳ１７では、表示制御ＭＣＵ３６は、ステップＳ１５において抽出した上位バイトに対応する１次インデックスを特定する。いまの例では、上位バイトは「０ｘ９６」であるので、これから０ｘ８１を減算することにより生成される値（＝０ｘ１５）を配列の添え字とし、対応する１次インデックスがインデックス３７ｂから特定される。そして、表示制御ＭＣＵ３６は、１次インデックスの開始アドレスと終了アドレスを取得し、これらが等しいか否かを判定する（ステップＳ１８）。終了アドレスと開始アドレスが等しい場合（ステップＳ１８；Ｙｅｓ）には、その１次インデックスに対応する２次インデックス（フォントデータ）が存在しないことから、その場合にはステップＳ２５に進む。また、開始アドレスと終了アドレスが等しくない場合（ステップＳ１８；Ｎｏ）には、対応するフォントデータが存在することからステップＳ１９に進む。
【００２９】
ステップＳ１９では、表示制御ＭＣＵ３６は、２次インデックスの格納領域を特定する。すなわち、表示制御ＭＣＵ３６は、開始アドレスおよび終了アドレスに対して、２次インデックスが格納されている先頭アドレスを示す３バイトの値を加算することにより、２次インデックスが格納されているアドレスの領域を特定する。続くステップＳ２０では、表示制御ＭＣＵ３６は、シフトＪＩＳコードの下位バイトを抽出する。いまの例では、「０ｘ９６７Ｂ」の下位バイトである「０ｘ７Ｂ」が抽出される。そして、表示制御ＭＣＵ３６は、ステップＳ２１に進み、ステップＳ１９において特定されたアドレス領域に格納されている２次インデックス群から、対応する下位バイトを有する２次インデックスを特定する。いまの例では、下位バイトは０ｘ７Ｂであるので、当該下位バイトを有する２次インデックスが２分検索によって検索される。なお、２分検索とは、検索対象の要素が昇順（または降順）に並んでいるときに、検索値と配列の中央の要素を比較し、検索値の方が大きければ、求める要素は中央値よりも右側（または左側）に存在するので中央値よりも右側（または左側）を同様の方法で再度検索していく。一方、検索値の方が小さい場合は左側（または右側）に存在するので中央値よりも左側（または右側）を同様の方法で再度検索していく。そして、同様の方法を繰り返すことにより、少ないコストで目的の要素（２次インデックス）を特定することができる。
【００３０】
ステップＳ２２では、表示制御ＭＣＵ３６は、２次インデックスから配列添え字を取得する。いまの例では、０ｘ７Ｂに対応する２次インデックスから配列添え字が取得される。そして、表示制御ＭＣＵ３６は、ステップＳ２２で取得した配列添え字に対して、フォントデータが格納されている先頭アドレスを示す３バイトの値を加算することにより、目的とするフォントデータが格納されている先頭アドレスを得る。いまの例では、文字「本」に対応するフォントデータが格納されている先頭アドレスから７２バイト分のデータ（１文字分のデータ）が取得される。
【００３１】
ステップＳ２４では、ステップＳ１４またはステップＳ２３において取得されたフォントデータが表示制御ＭＣＵ３６から表示制御回路３２を介してＥＰＤ３１に供給され、表示される。なお、実際の表示処理では、全てのフォントデータがＥＰＤ３１の有するＲＡＭ（不図示）に書き込まれた後に実行される。
【００３２】
ステップＳ２５では、表示制御ＭＣＵ３６は、全文字に対する表示処理が終了したか否かを判定し、終了していない場合（ステップＳ２５；Ｎｏ）にはステップＳ１２に戻って同様の処理を繰り返し、それ以外の場合（ステップＳ２５；Ｙｅｓ）には処理を終了する。いまの例では、先頭の文字「本」の表示が終了したので、その次の文字である「日」に対する処理が実行される。そして、同様の処理が繰り返されることにより、ＥＰＤ３１上に「本日の特価品の販売は１４：００からです。」が表示され、ステップＳ２５においてＹｅｓと判定されて処理を終了する。
【００３３】
以上の処理によれば、シフトＪＩＳコードにおいて使用される文字集合の中から一部の文字のフォントデータを不揮発性メモリ３７に格納するとともに、格納された文字を１次インデックスと２次インデックスとを使用して特定するようにした。これにより、全ての文字のフォントデータを格納する場合に比較して、不揮発性メモリ３７の記憶領域の使用量を削減することができる。例えば、シフトＪＩＳでは１１４３８文字のフォントデータが必要であるので、これらを全て格納する場合には１１４３８×７２＝８２３５３６バイトの記憶領域が必要になるが、常用漢字等の頻出漢字として２４６９文字に限定することにより、２４６９×７２＝１７７７６８バイトまで記憶領域を削減することができる。また、１次インデックスと２次インデックスを用いて、シフトＪＩＳコードとフォントデータとの対応付けをするようにしたので、インデックス自体の記憶容量も少なくすることができる。より詳細には、一例として、シフトＪＩＳコードと、フォントデータが格納されているアドレスとを１対１に対応付けするテーブルを利用する場合、テーブルには、０ｘ８１００〜０ｘＦＣＦＦの範囲のシフトＪＩＳコード（２バイト）と、フォントデータが格納されるアドレス（２バイト）とを対応付けして格納する必要があることから、１２４×２５６×８＝２５３９５２バイトの記憶容量が必要になる。一方、本方法では、１次インデックスが４９６（＝１２４×４）バイトと、２次インデックスが７４０７（＝２４６９×３）バイトの合計で７９０３バイトだけですむ。このため、本方法では、前述の方法（シフトＪＩＳコードと、フォントデータが格納されているアドレスとを１対１に対応付けするテーブルを利用する方法）に比較すると、１／３０程度の記憶容量ですむ。
【００３４】
また、１次インデックスには、２次インデックスの開始アドレスと終了アドレスを格納し、２次インデックスにはシフトＪＩＳコードの下位バイトと配列の添え字とを対応付けして格納するようにしたので、例えば、存在しない文字または不要な文字に対する２次インデックスおよびフォントデータは格納しないようにすることで、不要な文字に対する２次インデックスとフォントデータの記憶容量を削減できる。また、１次インデックスの開始アドレスと終了アドレスが等しい場合には、２次インデックスが存在しないと判定するようにしたので、文字が存在しない領域が連続している場合には、これらに対する２次インデックスおよびフォントデータを格納しないことにより、２次インデックスおよびフォントデータの記憶容量を削減できる。
【００３５】
（Ｃ）変形実施の態様
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能であることは勿論である。
たとえば、以上の実施の形態では、本発明の実施の形態に係る情報処理装置をＩＣカードとして実施した場合の例を示したが、本発明は、このような場合に限定されるのではなく、例えば、小型の情報処理装置（例えば、ＰＤＡ（Personal Digital Assistant）、携帯電話、携帯型ＡＶ（Audio Visual）装置等）に適用することが可能である。
【００３６】
また、以上の実施の形態では、文字コードがパーソナルコンピュータ１０において生成され、通信ルータ２０を介して送信されるようにしたが、このような文字コードは、情報処理装置において生成されるようにしてもよい。具体的には、情報処理装置に入力手段としての入力デバイス（例えば、キーボード）を設け、当該入力デバイスが操作された場合には対応する文字コードを生成するようにしてもよい。すなわち、請求項中の「入力手段」は、例えば、入力デバイスであってもよい。
【００３７】
また、以上の実施の形態では、符号化方式として、シフトＪＩＳコードを例に挙げて説明をしたが、これ以外にも、ＪＩＳコード、ＥＵＣコード、および、Ｕｎｉｃｏｄｅ等に適用することが可能である。例えば、Ｕｎｉｃｏｄｅの場合では、日本語以外の言語の文字も格納されており、また、漢字については中国語と日本語と韓国語で使用される漢字を統合したいわゆるＣＪＫ（Chinese Japanese Korean）統合漢字を使用していることから、本方法を用いることにより、メモリの使用容量を削減することができる。すなわち、日本語以外の言語に対応する文字群（一般的に連続して格納されている文字群）については、１次インデックスの開始アドレスと終了アドレスを同じとすることで、これらの文字群に対応する２次インデックスおよびフォントデータを省略する。また、ＣＪＫ統合漢字において、日本語では使用されていない漢字および使用しない漢字については、２次インデックスおよびフォントデータを省略することで、これらに関する記憶容量を削減することができる。
【００３８】
また、以上の実施の形態では、２バイトの符号化方式を例に挙げて説明したが、本発明はこのような場合に限定されるものではなく、例えば、３バイト以上の符号化方式に適用することも可能である。より詳細には、３バイト以上の符号化方式の場合、文字コードの一部の情報に基づいて１次インデックスを特定し、文字コードの残りの情報および１次インデックスの情報に基づいて２次インデックスを特定するようにすればよい。
【００３９】
また、以上の実施の形態では、全角文字フォントデータ３７ａを構成する各フォントデータの格納形態については言及していないが、フォントデータを格納する順番を文字コードとは異なる順番で格納するようにしてもよい。例えば、メモリがバンクによって切り替えが必要な場合には、インデックス３７ｂが格納されるバンクと同一のバンクに、出現頻度が高い文字のフォントデータを格納するようにしてもよい。そのような方法によれば、出願頻度の高い文字についてはインデックスを読んだ後に、バンクの切り替え無しに、フォントデータを読み出すことができるので、読み出し速度を向上させることができる。
【００４０】
また、以上の実施の形態では、日本語の符号化方式について説明したが、日本語以外の言語（例えば、中国語、韓国語）等についても、本発明を適用することが可能である。例えば、符号化方式としてＵｎｉｃｏｄｅを利用する場合に、中国語および韓国語を処理する際に、本発明を適用することができる。
【００４１】
また、以上の実施の形態では、インデックス３７ｂについては、シフトＪＩＳに対応する１種類のインデックスのみを格納するようにしたが、これ以外の符号化方式（例えば、ＪＩＳ、Ｕｎｉｃｏｄｅ、ＥＵＣ等）に対応するインデックスを格納し、複数の符号化方式に対応できるようにしたり、インデックスを書き換え可能とし、インデックスを必要に応じて書き換えることにより、複数の符号化方式に対応できるようにしたりしてもよい。その場合、フォントデータの格納の順序は変更する必要がないため、複数のインデックスによって同一のフォントデータを使い回しすることができる。
【００４２】
また、以上の実施の形態では、使用する文字の数として、２４６９個の場合を例に挙げて説明したが、２４７０個以上であったり、２４６８個以下であったりしてもよい。また、以上の実施の形態では、全角文字フォントデータは、縦および横がそれぞれ２４×２４ドットからなるデータとしたが、これ以外のドット数であってもよい。
【００４３】
また、以上の実施の形態では、２次インデックスを検索する際には、２分検索を利用するようにしたが、これ以外の方法、例えば、検索しようとする下位バイトの大きさに応じて前方または後方から全要素に対して検索するようにしてもよい。例えば、下位バイトが中央値である０ｘ８０以下である場合には前方から検索し、下位バイトが０ｘ８０以上である場合には後方から検索することができる。
【００４４】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、情報処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disk）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disk ROM）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【００４５】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００４６】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【図面の簡単な説明】
【００４７】
【図１】本発明の情報処理装置を含むシステムの全体構成を示す図である。
【図２】図１に示すＩＣカードの詳細な構成例を示すブロック図である。
【図３】図２に示す不揮発性メモリに格納されている情報の一例である。
【図４】図３に示すインデックスの概要を説明するための図である。
【図５】図３に示すインデックスの詳細を説明するための図である。
【図６】図２に示すＩＣカードにおいて実行される処理のフローチャートである。
【符号の説明】
【００４８】
１０…パーソナルコンピュータ、２０…通信ルータ、３０−１，３０−２…ＩＣカード（情報処理装置）、３６…表示制御ＭＣＵ（検索手段、取得手段）、３７…不揮発性メモリ（フォントデータ格納手段、対応関係情報格納手段）、３８…通信制御ＭＣＵ（入力手段）。
【図１】
2009098992.tif 000003
【図２】
2009098992.tif 000004
【図３】
2009098992.tif 000005
【図４】
2009098992.tif 000006
【図５】
2009098992.tif 000007
【図６】
2009098992.tif 000008