説明

情報処理装置、情報処理方法、情報処理プログラム、および、ICカード

【課題】効率良くフォントデータを格納することが可能な情報処理装置を提供する。
【解決手段】所定の符号化方式によって符号化可能な文字集合から抽出された文字群のフォントデータを格納するフォントデータ格納手段(不揮発性メモリ37)と、所定の符号化方式によって符号化された文字コードの入力を受ける入力手段(通信制御MCU38)と、文字コードとフォントデータとの対応関係を示す対応関係情報を格納する対応関係情報格納手段(不揮発性メモリ37)と、入力手段から入力された文字コードに基づいて、対応関係情報格納手段から対応関係情報を検索する検索手段(表示制御MCU36)と、検索手段によって特定された対応関係情報に基づいて、文字コードに対応するフォントデータをフォントデータ格納手段から取得する取得手段(表示制御MCU36)と、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、情報処理プログラム、および、ICカードに関する。
【背景技術】
【0002】
情報処理装置では、ひらがな、カタカナ、漢字、その他の記号等の文字集合を所定の符号化方式によって符号化して扱う。このような符号化方式としては、日本語の場合には、JIS(Japan Industrial Standard)、シフトJIS、Unicode、EUC(Extended UNIX(登録商標) Code)等が存在する。
【0003】
ところで、前述したような符号化方式によって符号化される文字集合の数は非常に多いため、メモリの容量が限られている小型の情報処理装置の場合、これら全てに対応するフォントデータを情報処理装置に格納することは困難である。
【0004】
そこで、漢字フォントの特性に基づいてフォントデータを格納するメモリの容量を削減するための発明が特許文献1に開示されている。
【特許文献1】特開2005−122158号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
ところで、特許文献1に開示される技術では、漢字フォントの特徴に基づいて圧縮処理を施すことでデータ量を削減し、メモリの容量を削減している。しかしながら、このような方法では、文字コード系の冗長性(文字集合自体の数の多さ)を解消することができないという問題点がある。
【0006】
本発明は、上述した事情に鑑みてなされたものであり、効率良くフォントデータを格納することが可能な情報処理装置、情報処理方法、情報処理プログラム、および、ICカードを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明は、所定の符号化方式によって符号化可能な文字集合から抽出された文字群のフォントデータを格納するフォントデータ格納手段と、前記所定の符号化方式によって符号化された文字コードの入力を受ける入力手段と、前記文字コードと前記フォントデータとの対応関係を示す対応関係情報を格納する対応関係情報格納手段と、前記入力手段から入力された文字コードに基づいて、前記対応関係情報格納手段から前記対応関係情報を検索する検索手段と、前記検索手段によって特定された前記対応関係情報に基づいて、前記文字コードに対応する前記フォントデータを前記フォントデータ格納手段から取得する取得手段と、を有することを特徴とする。
この構成によれば、符号化方式に対応する文字集合の一部に対応するフォントデータを格納し、対応関係情報を参照して、入力手段から入力された文字列の中から、対応するフォントデータを検索して取得する。このため、文字集合の一部のみを格納するようにすることで、効率良くフォントデータを格納することが可能となる。
【0008】
また、本発明は、上記発明において、前記対応関係情報は、1次インデックスと2次インデックスとを有し、前記1次インデックスは、前記2次インデックスが格納されている領域を特定するための情報を有し、前記2次インデックスは、前記フォントデータのいずれかを特定する情報と、前記文字コードの一部の情報とを有し、前記検索手段は、前記文字コードに基づいて前記1次インデックスを特定し、前記1次インデックスに含まれている前記2次インデックスが格納されている領域を特定するための情報に基づいて、前記2次インデックスが格納されている領域を特定するとともに前記文字コードの一部の情報に基づいて該当する前記2次インデックスを特定し、前記取得手段は、前記検索手段によって特定された前記2次インデックスに格納されている前記フォントデータのいずれかを特定する情報に基づいて、所望の前記フォントデータを取得することを特徴とする。
この構成によれば、1次インデックスに格納されている情報に基づいて2次インデックスが格納されている領域を特定し、文字コードの一部によって領域から2次インデックスを特定し、2次インデックスに格納されているフォントデータを特定するための情報により、目的の文字のフォントデータを特定する。このため、フォントデータが存在しない場合には、2次インデックスを格納しないようにすることで、記憶領域を削減できる。
【0009】
また、本発明は、上記発明において、前記1次インデックスは、前記2次インデックスが格納されている領域を特定するための情報として当該領域の開始アドレスと終了アドレスを示す情報を有し、前記開始アドレスと終了アドレスが等しい場合には、対応する2次インデックスが存在しないことを示すことを特徴とする。
この構成によれば、1次インデックスには、対応する2次インデックスが格納されている領域の開始アドレスと終了アドレスとが格納され、フォントデータが存在しない場合には開始アドレスと終了アドレスが等しく設定される。このため、フォントデータが連続して存在しない場合には、開始アドレスと終了アドレスを同じに設定することにより、2次インデックスを格納する記憶領域を削減することができる。
【0010】
また、本発明は、上記発明において、前記検索手段は、前記1次インデックスによって特定される領域に格納されている複数の2次インデックスの中から所望の2次インデックスを、2分検索によって検索することを特徴とする。
この構成によれば、1次インデックスによって特定された領域に複数の2次インデックスが格納されている場合には、2分検索によって所望の2次インデックスが特定される。これにより、所望の2次インデックスを迅速に見つけ出すことが可能になる。
【0011】
また、本発明の情報処理方法は、所定の符号化方式によって符号化された文字コードの入力を受け、所定の符号化方式によって符号化可能な文字集合から抽出された文字群のフォントデータと、前記文字コードと前記フォントデータとの対応関係を示す対応関係情報が格納された記憶装置から、入力された文字コードに対応する前記対応関係情報を検索し、検索によって特定された前記対応関係情報に基づいて、前記文字コードに対応する前記フォントデータを前記記憶装置から取得することを特徴とする。
この構成によれば、符号化方式に対応する文字集合の一部に対応するフォントデータを格納し、対応関係情報を参照して、入力された文字列の中から、対応するフォントデータを検索して取得する。このため、文字集合の一部のみを格納するようにすることで、効率良くフォントデータを格納することが可能となる。
【0012】
また、本発明の情報処理プログラムは、所定の符号化方式によって符号化可能な文字集合から抽出された文字群のフォントデータを格納するフォントデータ格納手段、前記所定の符号化方式によって符号化された文字コードの入力を受ける入力手段、前記文字コードと前記フォントデータとの対応関係を示す対応関係情報を格納する対応関係情報格納手段、前記入力手段から入力された文字コードに基づいて、前記対応関係情報格納手段から前記対応関係情報を検索する検索手段、前記検索手段によって特定された前記対応関係情報に基づいて、前記文字コードに対応する前記フォントデータを前記フォントデータ格納手段から取得する取得手段、としてコンピュータを機能させる。
このプログラムによれば、符号化方式に対応する文字集合の一部に対応するフォントデータを格納し、対応関係情報を参照して、入力された文字列の中から、対応するフォントデータを検索して取得する。このため、文字集合の一部のみを格納するようにすることで、効率良くフォントデータを格納することが可能となる。
【0013】
また、本発明のICカードは、所定の符号化方式によって符号化可能な文字集合から抽出された文字群のフォントデータを格納するフォントデータ格納手段と、前記所定の符号化方式によって符号化された文字コードの入力を受ける入力手段と、前記文字コードと前記フォントデータとの対応関係を示す対応関係情報を格納する対応関係情報格納手段と、前記入力手段から入力された文字コードに基づいて、前記対応関係情報格納手段から前記対応関係情報を検索する検索手段と、前記検索手段によって特定された前記対応関係情報に基づいて、前記文字コードに対応する前記フォントデータを前記フォントデータ格納手段から取得する取得手段と、を有することを特徴とする。
この構成によれば、符号化方式に対応する文字集合の一部に対応するフォントデータを格納し、対応関係情報を参照して、入力手段から入力された文字列の中から、対応するフォントデータを検索して取得する。このため、文字集合の一部のみを格納するようにすることで、効率良くフォントデータを格納することが可能となる。
【発明を実施するための最良の形態】
【0014】
以下、図面を参照して本発明の実施形態について説明する。なお、以下では、本発明の情報処理装置をIC(Integral Circuit)カードとして実施した場合を例に挙げて説明する。また、本発明の情報処理方法および情報処理プログラムは、ICカードの動作およびICカードを制御するプログラムとして説明する。
【0015】
(A)実施の形態の構成の説明
図1は、本発明を適用した実施形態に係るICカードを含むICカードシステムの概略構成を示す図である。図1に示すように、ICカードシステムは、パーソナルコンピュータ10、通信ルータ20、および、ICカード30−1,30−2を主要な構成要素としている。なお、この例では、パーソナルコンピュータおよび通信ルータはそれぞれ1台とされ、また、ICカードは2枚とされているが、これ以外の台数(または枚数)であってよい。
【0016】
ここで、パーソナルコンピュータ10は、図示せぬCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)等を主要な構成要素とし、HDDに格納されているアプリケーションプログラムを実行することにより、ICカード30−1,30−2に表示させる情報を生成するとともに、通信ルータ20を介して生成された情報を送信する。通信ルータ20は、パーソナルコンピュータ10から供給された情報に基づいて、搬送波を所定の変調方式により変調し、変調された搬送波を電波としてICカード30−1,30−2に対して送信する。ICカード30−1,30−2は、通信ルータ20から送信された電波を受信して復調することにより、搬送波に含まれている情報を取得し、取得した情報を後述するEPD(Electrophoretic Display)に表示させる。
【0017】
図2は、図1に示すICカード30−1の詳細な構成例を示す図である。なお、ICカード30−1とICカード30−2は、同様の構成とされているので、以下では、ICカード30−1を例に挙げて説明を行う。
ICカード30−1は、EPD31、表示制御回路32、バッテリ33、電源回路34、入力デバイス35、表示制御MCU(Main Control Unit)36(請求項中「検索手段」および「取得手段」に対応)、不揮発性メモリ37(請求項中「フォントデータ格納手段」および「対応関係情報格納手段」に対応)、通信制御MCU38(請求項中「入力手段」に対応)、RF(Radio Frequency)回路39、および、アンテナ40を主要な構成要素としている。
【0018】
ここで、EPD31は、透明な液体の中で浮動する微粒子を電界によって移動させることにより、文字および図形等の表示を行う表示デバイスである。表示制御回路32は、EPD31に情報を表示する際の制御を行う回路であり、例えば、表示制御MCU36とEPD31との間の電圧の変換を行う制御を行う。バッテリ33は、例えば、リチウムイオン電池等によって構成され、電源回路34に直流電力を供給する。電源回路34は、バッテリ33から供給される電源電圧を、所定の電圧に昇圧または降圧し、図示せぬ電源線を介して装置の各部に供給する。入力デバイス35は、例えば、操作ボタンおよびスイッチによって構成され、操作ボタンがユーザによって操作された場合には、スイッチがオンまたはオフの状態になり、表示制御MCU36がスイッチの状態に基づいて操作ボタンが操作されたことを検出する。表示制御MCU36は、通信制御MCU38から供給されたコマンドを解釈し、不揮発性メモリ37に格納されている対応するフォントデータまたはビットマップデータを取得して画像を構成し、表示制御回路32に供給してEPD31に表示させる。不揮発性メモリ37は、例えば、FeRAM(Ferroelectric RAM)によって構成され、表示制御MCU36が使用するフォントデータおよびビットマップデータを格納するとともに、表示制御MCU36が実行するプログラムを格納する。通信制御MCU38は、RF回路39から供給されるディジタル信号を解釈し、内蔵するメモリ(不図示)を書き換えたり、ディジタル信号から復元されたコマンドを表示制御MCU36に供給したりする。RF回路39は、アンテナ40によって捕捉された電波を復調し、ディジタル信号を生成して、通信制御MCU38に供給する。アンテナ40は、例えば、コイル形状を有しており、通信ルータ20から送信された電波を捕捉し、RF回路39に供給する。
【0019】
図3は、図2に示す不揮発性メモリ37に格納されている情報の一例を示す図である。この図に示すように、不揮発性メモリ37には、全角文字フォントデータ37a、インデックス37b(請求項中「対応関係情報」に対応)、半角文字フォントデータ37c、および、システムプログラム37dを格納している。
全角文字フォントデータ37aは、例えば、縦と横がそれぞれ24×24ドットからなるビットデータによって1文字が表現されており、“0”を白、“1”を黒とする2値のパターンによって構成される。文字の左上隅を原点として右をX方向、下をY方向と定めた場合、左上隅を0バイト目としてまずX方向に格納され、X方向の右端に突き当たった所でY方向に移動し、再度左端からX方向に格納する、という動作を繰り返すことにより、フォントデータが格納される。フォントデータが24×24ドットから構成される場合には、X方向に3バイトが格納され、Y方向に3バイトのデータが順次格納されていく。なお、全角文字フォントデータ37aとしては、かな、記号等の文字524文字と、常用漢字1945文字と、の合計2469文字を有している。なお、パーソナルコンピュータ10から送信される情報は、例えば、符号化方式としてのシフトJISにより符号化された文字コードとされる。シフトJISが有する文字コードの総数は、11438文字であり、全角文字フォントデータ37aには、この一部の2469文字が格納されている。
インデックス37bは、シフトJISコードと、全角文字フォントデータ37aに格納されている各フォントデータとを対応付けする情報であり、後述するように1次インデックスおよび2次インデックスを有している。なお、インデックス37bの詳細については後述する。半角文字フォントデータ37cは、例えば、縦と横がそれぞれ24×12ドットからなるビットデータによって1文字が表現されており、全角文字フォントデータと同様に“0”を白、“1”を黒とする2値のパターンによって構成される。システムプログラム37dは、I/Oメモリ、アプリケーションプログラム、VRAM(Video RAM)その他によって構成される。なお、図3は一例であって、これ以外の情報が格納されていてもよい。また、格納する順序も図3の場合と異なっていてもよい。
【0020】
図4は、インデックス37bの概要を説明するための図である。図4に示すように、インデックスは、1次インデックスおよび2次インデックスを有している。2次インデックスは、フォントデータと1対1に対応付けされており、2次インデックスを指定することにより、所定の文字に対応するフォントデータが特定される。1次インデックスは、2次インデックスの範囲を指定する。すなわち、1次インデックスが指定されると、所定の個数の2次インデックスが特定される。
【0021】
図5は、1次インデックスおよび2次インデックスの詳細を説明するための図である。この図に示すように、1次インデックスは、シフトJISコードの上位バイトの0x81〜0xFCにそれぞれ対応付けられている。本実施の形態では、シフトJISコードの上位バイトが0x81〜0xFCの範囲に属する文字を使用する。このため、シフトJISコードの上位バイト0x81〜0xFCの124個のいずれかが指定されると、1対1に対応付けされたいずれかの1次インデックスが特定される。なお、実際には、1次インデックスは、上位バイトから0x81を減算した値を配列添え字としてアクセス可能な124要素の構造体の配列として構成される。1次インデックスの各構造体は、4バイトのデータ量を有し、2次インデックスの開始アドレスと、終了アドレスとをそれぞれ有している。開始アドレスおよび終了アドレスのそれぞれは、2バイトの「アドレスオフセット値」であって、2次インデックスの開始番地を示す3バイトの開始アドレスに加えることで、不揮発性メモリ37の物理アドレスに変換できる。より詳細には、シフトJISコードの上位バイトを参照し、1次インデックスの構造体を読み出すことにより、2次インデックスが格納されたアドレスにアクセスすることができる。2次インデックスは、1次インデックスの示す「開始」「終了」アドレスにより指定される可変長の記憶領域に記憶され、最小0個から最大256個の構造体要素を有する。各要素は3バイトの大きさを持つ構造体であり、0バイトから768(=256×3)バイトのサイズを有する。また、各要素には、シフトJISコードの下位バイトと、フォントデータが格納されている配列の添え字とが格納されている。より詳細には、上位バイトは1バイトの大きさであり、0x00〜0xFFの間の値をとる。また、配列添え字は符合無し整数で2バイトの大きさである。フォント配列添え字は、該当するフォントデータの配列をアクセスするための情報である。これらの要素は、2次インデックス内に、上位バイトをキーとして昇順に整列する形で格納される。定義されていない文字、および、格納しない文字については要素が存在しない。
【0022】
なお、シフトJISコードから所定のフォントデータを検索するためには、つぎのようにする。すなわち、上位バイトを参照して、1次インデックスを特定する。例えば、上位バイトが0x89であれば、0x89に対応する1次インデックスが特定される。つぎに、特定された1次インデックスに含まれている開始アドレスと終了アドレスとを取得し、これらが等しい場合には対応する2次インデックス(フォントデータ)が存在しないと判定する。また、これらが等しくない場合には、2次インデックスが存在すると判定し、これらに基づいて対応する2次インデックスが格納されている領域を特定する。この結果、上位バイトが0x89であるフォントデータに対応する2次インデックスが格納された領域が特定される。つぎに、シフトJISの下位バイトを参照し、該当する下位バイトを検索する。なお、検索の方法としては、2分検索を用いる。例えば、下位バイトが0x45である場合には、0x45に対応する2次インデックスが2分検索によって特定される。検索の結果、対象の下位バイトが存在する場合には配列添え字を取得し、この配列添え字に基づいて、対応するフォントデータを取得する。これにより、シフトJISコードに対応する文字のフォントデータが取得される。いまの例では、シフトJISコードの0x8945に対応する文字「右」のフォントデータが取得される。
【0023】
(B)実施の形態の動作の説明
つぎに、図6を参照して、ICカード30−1,30−2において実行される処理の一例について説明する。なお、ICカード30−1,30−2において実行される処理は同様であるので、以下ではICカード30−1を例に挙げて説明する。
まず、パーソナルコンピュータ10において、アプリケーションプログラムが起動され、このアプリケーションプログラムによってICカード30−1,30−2に表示させようとするテキスト情報を含む情報が生成される。具体的には、例えば、「本日の特価品の販売は14:00からです。」のような情報が生成される。なお、このような情報は、例えば、シフトJISコードに変換され、シフトJISコードのコード列(以下、「シフトコード列」と称する)とされる。例えば、いまの例では、「本」に対応する「0x967B」、「日」に対応する「0x93FA」、「の」に対応する「0x82CC」、のように、シフトJISコード列が生成される。
【0024】
このようにして生成された情報は、所定のインタフェース(例えば、USB(Universal Serial Bus)またはLAN(Local Area Network))を介して通信ルータ20に供給される。通信ルータ20では、パーソナルコンピュータ10から供給された情報(シフトJISコード列)を取得し、対応するディジタルビット列(“0”および“1”の列)に変換し、このディジタルビット列に基づいて搬送波を変調し、図示せぬアンテナから電波として送信する。
【0025】
このようにして通信ルータ20から送信された電波は、ICカード30−1によって受信される(ステップS10)。すなわち、通信ルータ20から送信された電波は、ICカード30−1のアンテナ40によって捕捉され、RF回路39に供給される。RF回路39では、アンテナ40によって捕捉された搬送波に含まれているディジタルビット列を抽出する(ステップS11)。そして、抽出されたディジタルビット列は、通信制御MCU38に供給され、そこで、コマンドの解釈が行われる。いまの例では、受信した情報は、テキスト情報を含む表示のための情報であるので、表示制御MCU36にこの情報が供給される。
【0026】
表示制御MCU36は、通信制御MCU38から供給された情報から1文字分の情報を抽出する(ステップS12)。いまの例では、「本日の特価品の販売は14:00からです。」に対応するシフトJISコード列を受信しているので、シフトJISコード列の最初の文字「本」に対応するシフトJISコードである「0x967B」が抽出される。なお、文字が半角文字である場合(0x20〜0xDFの場合)には、1バイト分の情報が抽出される。つぎに、表示制御MCU36は、ステップS12において抽出した文字が全角文字であるか否かを判定し(ステップS13)、全角文字である場合(ステップS13;Yes)にはステップS15に進み、それ以外の場合にはステップS14に進む。抽出した文字が半角文字である場合には、ステップS14に進み、表示制御MCU36は、不揮発性メモリ37の半角文字フォントデータ37cから該当するフォントデータを取得し、ステップS24に進む。なお、ステップS24では、後述するようにフォントデータの表示処理が実行される。
【0027】
ステップS13において、全角文字であると判定された場合にはステップS15に進み、抽出されたシフトJISコードの上位バイトUBが抽出される。いまの例では、先頭の文字である「本」に対応するシフトJISコード「0x967B」の上位バイト「0x96」が抽出され、変数UBに格納される。つぎに、表示制御MCU36は、変数UBに格納されている上位バイトが0x81≦UB≦0xFCの範囲(フォントデータが存在する範囲)に属するか否かを判定し(ステップS16)、属する場合(ステップS16;Yes)にはステップS17に進み、それ以外の場合(ステップS16;No)にはステップS25に進む。いまの例では、「0x96」であるので、前述した範囲に属することから、Yesと判定されてステップS17に進む。
【0028】
ステップS17では、表示制御MCU36は、ステップS15において抽出した上位バイトに対応する1次インデックスを特定する。いまの例では、上位バイトは「0x96」であるので、これから0x81を減算することにより生成される値(=0x15)を配列の添え字とし、対応する1次インデックスがインデックス37bから特定される。そして、表示制御MCU36は、1次インデックスの開始アドレスと終了アドレスを取得し、これらが等しいか否かを判定する(ステップS18)。終了アドレスと開始アドレスが等しい場合(ステップS18;Yes)には、その1次インデックスに対応する2次インデックス(フォントデータ)が存在しないことから、その場合にはステップS25に進む。また、開始アドレスと終了アドレスが等しくない場合(ステップS18;No)には、対応するフォントデータが存在することからステップS19に進む。
【0029】
ステップS19では、表示制御MCU36は、2次インデックスの格納領域を特定する。すなわち、表示制御MCU36は、開始アドレスおよび終了アドレスに対して、2次インデックスが格納されている先頭アドレスを示す3バイトの値を加算することにより、2次インデックスが格納されているアドレスの領域を特定する。続くステップS20では、表示制御MCU36は、シフトJISコードの下位バイトを抽出する。いまの例では、「0x967B」の下位バイトである「0x7B」が抽出される。そして、表示制御MCU36は、ステップS21に進み、ステップS19において特定されたアドレス領域に格納されている2次インデックス群から、対応する下位バイトを有する2次インデックスを特定する。いまの例では、下位バイトは0x7Bであるので、当該下位バイトを有する2次インデックスが2分検索によって検索される。なお、2分検索とは、検索対象の要素が昇順(または降順)に並んでいるときに、検索値と配列の中央の要素を比較し、検索値の方が大きければ、求める要素は中央値よりも右側(または左側)に存在するので中央値よりも右側(または左側)を同様の方法で再度検索していく。一方、検索値の方が小さい場合は左側(または右側)に存在するので中央値よりも左側(または右側)を同様の方法で再度検索していく。そして、同様の方法を繰り返すことにより、少ないコストで目的の要素(2次インデックス)を特定することができる。
【0030】
ステップS22では、表示制御MCU36は、2次インデックスから配列添え字を取得する。いまの例では、0x7Bに対応する2次インデックスから配列添え字が取得される。そして、表示制御MCU36は、ステップS22で取得した配列添え字に対して、フォントデータが格納されている先頭アドレスを示す3バイトの値を加算することにより、目的とするフォントデータが格納されている先頭アドレスを得る。いまの例では、文字「本」に対応するフォントデータが格納されている先頭アドレスから72バイト分のデータ(1文字分のデータ)が取得される。
【0031】
ステップS24では、ステップS14またはステップS23において取得されたフォントデータが表示制御MCU36から表示制御回路32を介してEPD31に供給され、表示される。なお、実際の表示処理では、全てのフォントデータがEPD31の有するRAM(不図示)に書き込まれた後に実行される。
【0032】
ステップS25では、表示制御MCU36は、全文字に対する表示処理が終了したか否かを判定し、終了していない場合(ステップS25;No)にはステップS12に戻って同様の処理を繰り返し、それ以外の場合(ステップS25;Yes)には処理を終了する。いまの例では、先頭の文字「本」の表示が終了したので、その次の文字である「日」に対する処理が実行される。そして、同様の処理が繰り返されることにより、EPD31上に「本日の特価品の販売は14:00からです。」が表示され、ステップS25においてYesと判定されて処理を終了する。
【0033】
以上の処理によれば、シフトJISコードにおいて使用される文字集合の中から一部の文字のフォントデータを不揮発性メモリ37に格納するとともに、格納された文字を1次インデックスと2次インデックスとを使用して特定するようにした。これにより、全ての文字のフォントデータを格納する場合に比較して、不揮発性メモリ37の記憶領域の使用量を削減することができる。例えば、シフトJISでは11438文字のフォントデータが必要であるので、これらを全て格納する場合には11438×72=823536バイトの記憶領域が必要になるが、常用漢字等の頻出漢字として2469文字に限定することにより、2469×72=177768バイトまで記憶領域を削減することができる。また、1次インデックスと2次インデックスを用いて、シフトJISコードとフォントデータとの対応付けをするようにしたので、インデックス自体の記憶容量も少なくすることができる。より詳細には、一例として、シフトJISコードと、フォントデータが格納されているアドレスとを1対1に対応付けするテーブルを利用する場合、テーブルには、0x8100〜0xFCFFの範囲のシフトJISコード(2バイト)と、フォントデータが格納されるアドレス(2バイト)とを対応付けして格納する必要があることから、124×256×8=253952バイトの記憶容量が必要になる。一方、本方法では、1次インデックスが496(=124×4)バイトと、2次インデックスが7407(=2469×3)バイトの合計で7903バイトだけですむ。このため、本方法では、前述の方法(シフトJISコードと、フォントデータが格納されているアドレスとを1対1に対応付けするテーブルを利用する方法)に比較すると、1/30程度の記憶容量ですむ。
【0034】
また、1次インデックスには、2次インデックスの開始アドレスと終了アドレスを格納し、2次インデックスにはシフトJISコードの下位バイトと配列の添え字とを対応付けして格納するようにしたので、例えば、存在しない文字または不要な文字に対する2次インデックスおよびフォントデータは格納しないようにすることで、不要な文字に対する2次インデックスとフォントデータの記憶容量を削減できる。また、1次インデックスの開始アドレスと終了アドレスが等しい場合には、2次インデックスが存在しないと判定するようにしたので、文字が存在しない領域が連続している場合には、これらに対する2次インデックスおよびフォントデータを格納しないことにより、2次インデックスおよびフォントデータの記憶容量を削減できる。
【0035】
(C)変形実施の態様
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能であることは勿論である。
たとえば、以上の実施の形態では、本発明の実施の形態に係る情報処理装置をICカードとして実施した場合の例を示したが、本発明は、このような場合に限定されるのではなく、例えば、小型の情報処理装置(例えば、PDA(Personal Digital Assistant)、携帯電話、携帯型AV(Audio Visual)装置等)に適用することが可能である。
【0036】
また、以上の実施の形態では、文字コードがパーソナルコンピュータ10において生成され、通信ルータ20を介して送信されるようにしたが、このような文字コードは、情報処理装置において生成されるようにしてもよい。具体的には、情報処理装置に入力手段としての入力デバイス(例えば、キーボード)を設け、当該入力デバイスが操作された場合には対応する文字コードを生成するようにしてもよい。すなわち、請求項中の「入力手段」は、例えば、入力デバイスであってもよい。
【0037】
また、以上の実施の形態では、符号化方式として、シフトJISコードを例に挙げて説明をしたが、これ以外にも、JISコード、EUCコード、および、Unicode等に適用することが可能である。例えば、Unicodeの場合では、日本語以外の言語の文字も格納されており、また、漢字については中国語と日本語と韓国語で使用される漢字を統合したいわゆるCJK(Chinese Japanese Korean)統合漢字を使用していることから、本方法を用いることにより、メモリの使用容量を削減することができる。すなわち、日本語以外の言語に対応する文字群(一般的に連続して格納されている文字群)については、1次インデックスの開始アドレスと終了アドレスを同じとすることで、これらの文字群に対応する2次インデックスおよびフォントデータを省略する。また、CJK統合漢字において、日本語では使用されていない漢字および使用しない漢字については、2次インデックスおよびフォントデータを省略することで、これらに関する記憶容量を削減することができる。
【0038】
また、以上の実施の形態では、2バイトの符号化方式を例に挙げて説明したが、本発明はこのような場合に限定されるものではなく、例えば、3バイト以上の符号化方式に適用することも可能である。より詳細には、3バイト以上の符号化方式の場合、文字コードの一部の情報に基づいて1次インデックスを特定し、文字コードの残りの情報および1次インデックスの情報に基づいて2次インデックスを特定するようにすればよい。
【0039】
また、以上の実施の形態では、全角文字フォントデータ37aを構成する各フォントデータの格納形態については言及していないが、フォントデータを格納する順番を文字コードとは異なる順番で格納するようにしてもよい。例えば、メモリがバンクによって切り替えが必要な場合には、インデックス37bが格納されるバンクと同一のバンクに、出現頻度が高い文字のフォントデータを格納するようにしてもよい。そのような方法によれば、出願頻度の高い文字についてはインデックスを読んだ後に、バンクの切り替え無しに、フォントデータを読み出すことができるので、読み出し速度を向上させることができる。
【0040】
また、以上の実施の形態では、日本語の符号化方式について説明したが、日本語以外の言語(例えば、中国語、韓国語)等についても、本発明を適用することが可能である。例えば、符号化方式としてUnicodeを利用する場合に、中国語および韓国語を処理する際に、本発明を適用することができる。
【0041】
また、以上の実施の形態では、インデックス37bについては、シフトJISに対応する1種類のインデックスのみを格納するようにしたが、これ以外の符号化方式(例えば、JIS、Unicode、EUC等)に対応するインデックスを格納し、複数の符号化方式に対応できるようにしたり、インデックスを書き換え可能とし、インデックスを必要に応じて書き換えることにより、複数の符号化方式に対応できるようにしたりしてもよい。その場合、フォントデータの格納の順序は変更する必要がないため、複数のインデックスによって同一のフォントデータを使い回しすることができる。
【0042】
また、以上の実施の形態では、使用する文字の数として、2469個の場合を例に挙げて説明したが、2470個以上であったり、2468個以下であったりしてもよい。また、以上の実施の形態では、全角文字フォントデータは、縦および横がそれぞれ24×24ドットからなるデータとしたが、これ以外のドット数であってもよい。
【0043】
また、以上の実施の形態では、2次インデックスを検索する際には、2分検索を利用するようにしたが、これ以外の方法、例えば、検索しようとする下位バイトの大きさに応じて前方または後方から全要素に対して検索するようにしてもよい。例えば、下位バイトが中央値である0x80以下である場合には前方から検索し、下位バイトが0x80以上である場合には後方から検索することができる。
【0044】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、情報処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disk)、DVD−RAM、CD−ROM(Compact Disk ROM)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
【0045】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0046】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【図面の簡単な説明】
【0047】
【図1】本発明の情報処理装置を含むシステムの全体構成を示す図である。
【図2】図1に示すICカードの詳細な構成例を示すブロック図である。
【図3】図2に示す不揮発性メモリに格納されている情報の一例である。
【図4】図3に示すインデックスの概要を説明するための図である。
【図5】図3に示すインデックスの詳細を説明するための図である。
【図6】図2に示すICカードにおいて実行される処理のフローチャートである。
【符号の説明】
【0048】
10…パーソナルコンピュータ、20…通信ルータ、30−1,30−2…ICカード(情報処理装置)、36…表示制御MCU(検索手段、取得手段)、37…不揮発性メモリ(フォントデータ格納手段、対応関係情報格納手段)、38…通信制御MCU(入力手段)。

【特許請求の範囲】
【請求項1】
所定の符号化方式によって符号化可能な文字集合から抽出された文字群のフォントデータを格納するフォントデータ格納手段と、
前記所定の符号化方式によって符号化された文字コードの入力を受ける入力手段と、
前記文字コードと前記フォントデータとの対応関係を示す対応関係情報を格納する対応関係情報格納手段と、
前記入力手段から入力された文字コードに基づいて、前記対応関係情報格納手段から前記対応関係情報を検索する検索手段と、
前記検索手段によって特定された前記対応関係情報に基づいて、前記文字コードに対応する前記フォントデータを前記フォントデータ格納手段から取得する取得手段と、
を有することを特徴とする情報処理装置。
【請求項2】
請求項1に記載の情報処理装置において、
前記対応関係情報は、1次インデックスと2次インデックスとを有し、
前記1次インデックスは、前記2次インデックスが格納されている領域を特定するための情報を有し、
前記2次インデックスは、前記フォントデータのいずれかを特定する情報と、前記文字コードの一部の情報とを有し、
前記検索手段は、前記文字コードに基づいて前記1次インデックスを特定し、前記1次インデックスに含まれている前記2次インデックスが格納されている領域を特定するための情報に基づいて、前記2次インデックスが格納されている領域を特定するとともに前記文字コードの一部の情報に基づいて該当する前記2次インデックスを特定し、
前記取得手段は、前記検索手段によって特定された前記2次インデックスに格納されている前記フォントデータのいずれかを特定する情報に基づいて、所望の前記フォントデータを取得する、
ことを特徴とする情報処理装置。
【請求項3】
請求項2に記載の情報処理装置において、
前記1次インデックスは、前記2次インデックスが格納されている領域を特定するための情報として当該領域の開始アドレスと終了アドレスを示す情報を有し、前記開始アドレスと終了アドレスが等しい場合には、対応する2次インデックスが存在しないことを示すことを特徴とする情報処理装置。
【請求項4】
請求項3に記載の情報処理装置において、
前記検索手段は、前記1次インデックスによって特定される領域に格納されている複数の2次インデックスの中から所望の2次インデックスを、2分検索によって検索することを特徴とする情報処理装置。
【請求項5】
所定の符号化方式によって符号化された文字コードの入力を受け、
所定の符号化方式によって符号化可能な文字集合から抽出された文字群のフォントデータと、前記文字コードと前記フォントデータとの対応関係を示す対応関係情報が格納された記憶装置から、入力された文字コードに対応する前記対応関係情報を検索し、
検索によって特定された前記対応関係情報に基づいて、前記文字コードに対応する前記フォントデータを前記記憶装置から取得する、
ことを特徴とする情報処理方法。
【請求項6】
所定の符号化方式によって符号化可能な文字集合から抽出された文字群のフォントデータを格納するフォントデータ格納手段、
前記所定の符号化方式によって符号化された文字コードの入力を受ける入力手段、
前記文字コードと前記フォントデータとの対応関係を示す対応関係情報を格納する対応関係情報格納手段、
前記入力手段から入力された文字コードに基づいて、前記対応関係情報格納手段から前記対応関係情報を検索する検索手段、
前記検索手段によって特定された前記対応関係情報に基づいて、前記文字コードに対応する前記フォントデータを前記フォントデータ格納手段から取得する取得手段、
としてコンピュータを機能させるコンピュータ読み取り可能な情報処理プログラム。
【請求項7】
所定の符号化方式によって符号化可能な文字集合から抽出された文字群のフォントデータを格納するフォントデータ格納手段と、
前記所定の符号化方式によって符号化された文字コードの入力を受ける入力手段と、
前記文字コードと前記フォントデータとの対応関係を示す対応関係情報を格納する対応関係情報格納手段と、
前記入力手段から入力された文字コードに基づいて、前記対応関係情報格納手段から前記対応関係情報を検索する検索手段と、
前記検索手段によって特定された前記対応関係情報に基づいて、前記文字コードに対応する前記フォントデータを前記フォントデータ格納手段から取得する取得手段と、
を有することを特徴とするICカード。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2009−98992(P2009−98992A)
【公開日】平成21年5月7日(2009.5.7)
【国際特許分類】
【出願番号】特願2007−270883(P2007−270883)
【出願日】平成19年10月18日(2007.10.18)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】