(57)【要約】【課題】必要以上にキャッシュ処理を行うことなく、限られたメモリ資源を有効に活用しつつ高いキャッシュ効果を得る。【解決手段】入力工程により入力された文字に該当する第１の文字形状データを第１文字形状データ取得工程により取得して、第２の文字形状データを生成するか否かを、入力工程により入力された項目情報をもとに判別する（Ｓ３０６）。第２の文字形状データを生成すると判別された場合、第１の文字形状データから第２の文字形状データを生成し（Ｓ３０７）、格納しておく（Ｓ３１０）。そうでなければ処理を終了する。【選択図】  図３
2010096925.tif 000002
【特許請求の範囲】
【請求項１】
文字の定義データである第１の文字形状データを永続的に記憶するための第１記憶領域と、表示用のデータである第２の文字形状データを一時的に記憶するための第２記憶領域とを有する装置による文字表示方法であって、
文字の指定および入力データの項目に関する情報を含む入力データを入力するための入力工程と、
前記入力工程により入力された文字に該当する前記第１の文字形状データを前記第１記憶領域から取得する第１文字形状データ取得工程と、
前記第１文字形状データ取得工程により取得された前記第１の文字形状データから前記第２の文字形状データを生成する第２文字形状データ生成工程と、
前記第２文字形状データ生成工程により生成された前記第２の文字形状データを前記第２記憶領域に格納する第２文字形状データ格納工程と、
前記第２文字形状データ格納工程により格納された前記第２の文字形状データを前記第２記憶領域より取得する第２文字形状データ取得工程と、
前記入力工程により入力された入力データの項目に関する情報を割り当てる項目情報割当工程と、
前記項目情報割当工程により割り当てられた項目情報を取得する項目情報取得工程と、
前記入力工程により入力された文字に該当する前記第１の文字形状データを前記第１文字形状データ取得工程により取得して、前記第２の文字形状データを生成するか否かを、前記項目情報取得工程により取得された項目情報をもとに判別する第２文字形状データ生成判別工程と、
前記第２文字形状データ生成判別工程により生成すると判別された場合、前記第２文字形状データ生成工程により前記第２の文字形状データを生成し、そうでなければ処理を終了する工程とを有することを特徴とする文字表示方法。
【請求項２】
前記入力データは、操作部から入力されたデータ、および外部から取得されたデータを含むものであって、
前記入力データを解析する解析工程と、
前記解析工程により解析されたデータから、前記入力データを構成する前記項目情報と、前記項目情報に該当する文字をそれぞれ取得する工程とを更に含むことを特徴とする請求項１に記載の文字表示方法。
【請求項３】
前記入力データに該当する前記第２の文字形状データが前記第２記憶領域に存在するか否かを確認する第２記憶領域確認工程を更に含むことを特徴とする請求項１に記載の文字表示方法。
【請求項４】
前記第１の文字形状データは、ベクトルデータであることを特徴とする請求項１に記載の文字表示方法。
【請求項５】
前記第２の文字形状データは、前記第１の文字形状データを展開したビットマップイメージ、前記ビットマップイメージを圧縮したデータ、前記第１の文字形状データを直線近似したデータ、前記第１の文字形状データを展開する際に生成される中間データのいずれか１つであることを特徴とする請求項１に記載の文字表示方法。
【請求項６】
請求項１に記載の方法の各工程をコンピュータにて実施させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字を高速に表示するための文字表示方法およびプログラムに関する。
【背景技術】
【０００２】
従来、文字を高速に出力するための技術として、フォントキャッシュが一般的である。
【０００３】
例えば、一度描画処理を行った文字に関するビットマップイメージや中間データといった異なるデータフォーマットの文字データを混在して保持するフォントキャッシュを有するものがあった（特許文献１）。また、キャッシュの効率化のため、登録する文字を出現頻度の高い文字に限定するものがあった(特許文献２)。
【０００４】
【特許文献１】特開平７−３０６６６９号公報
【特許文献２】特開平５−１２７６５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来のフォントキャッシュでは、操作者が入力したデータや受信したメールなどに関して一度表示した文字全てに対してビットマップイメージや中間データといった異なるデータフォーマットを生成してキャッシュする。キャッシュメモリに格納しきれなくなった場合は、既に格納されているデータのうち使用頻度の低いデータから順に削除し、格納領域を確保して新たなキャッシュデータを格納することもある。
【０００６】
しかし、組み込み機器などでは効果的なフォントキャッシュを行えるだけのメモリを確保できない場合があるという問題があった。
【０００７】
そこで本発明は、必要以上にキャッシュ処理を行うことなく、限られたメモリ資源を有効に活用しつつ高いキャッシュ効果を得ることができる文字表示方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の文字表示方法は、文字の定義データである第１の文字形状データを永続的に記憶するための第１記憶領域と、表示用のデータである第２の文字形状データを一時的に記憶するための第２記憶領域とを有する装置による文字表示方法であって、文字の指定および入力データの項目に関する情報を含む入力データを入力するための入力工程と、前記入力工程により入力された文字に該当する前記第１の文字形状データを前記第１記憶領域から取得する第１文字形状データ取得工程と、前記第１文字形状データ取得工程により取得された前記第１の文字形状データから前記第２の文字形状データを生成する第２文字形状データ生成工程と、前記第２文字形状データ生成工程により生成された前記第２の文字形状データを前記第２記憶領域に格納する第２文字形状データ格納工程と、前記第２文字形状データ格納工程により格納された前記第２の文字形状データを前記第２記憶領域より取得する第２文字形状データ取得工程と、前記入力工程により入力された入力データの項目に関する情報を割り当てる項目情報割当工程と、前記項目情報割当工程により割り当てられた項目情報を取得する項目情報取得工程と、前記入力工程により入力された文字に該当する前記第１の文字形状データを前記第１文字形状データ取得工程により取得して、前記第２の文字形状データを生成するか否かを、前記項目情報取得工程により取得された項目情報をもとに判別する第２文字形状データ生成判別工程と、前記第２文字形状データ生成判別工程により生成すると判別された場合、前記第２文字形状データ生成工程により前記第２の文字形状データを生成し、そうでなければ処理を終了する工程とを有することを特徴とする。
また、本発明のプログラムは、上記に記載の方法の各工程をコンピュータにて実施させるプログラムである。
【発明の効果】
【０００９】
入力した文字に対し、必要以上にキャッシュ処理を行うことなく、限られたメモリ資源を有効に活用しつつ高いキャッシュ効果を得ることができる。
【発明を実施するための最良の形態】
【００１０】
＜第１の実施の形態＞
図１は本発明の実施の形態に係る文字表示装置の構成を示す模式図である。
同図において１０１は文字表示装置であり、パーソナル・コンピュータなどの情報処理装置で構成される。１０２は各種演算を行うＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）である。１０３はＣＰＵ１０２の変更を必要としない制御プログラムや各種固定データを格納するＲＯＭ（Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）である。１０４はＲＡＭ（Ｒａｎｄａｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）であり、ＳＲＡＭ、ＤＲＡＭ等で構成され、外部装置などから供給されるデータやプログラム制御変更等を一時的に格納する。また、各種設定パラメータ、ワーク用バッファもＲＡＭ１０４に格納される。
【００１１】
１０５はＩ／Ｏ部であり、複数の機器と互いに通信可能なＬＡＮ（Ｌｏｃａｌ Ａｒｅａ Ｎｅｔｗｏｒｋ）で接続されていてもよい。ＬＡＮは無線でも有線でもよく、電話回線などでもよい。１０７は操作部であり、少なくとも１つ以上のハードウェアキーやキーボード、マウス等で構成され、オペレータが設定等の各種入力操作を行うためのものである。
【００１２】
１０８は表示部であり、文字列などを表示する。例えば液晶表示素子（ＬＥＤ）で構成された小面積の表示部であってもよい。また、表示部上にタッチパネルを設け、ペン入力による操作部１０７を実現してもよい。１０９は制御部であり、文字表示装置１０１全体を制御し、１０７操作部や１０８表示部の制御もここに含まれる。
【００１３】
１０６はＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４、Ｉ／Ｏ部１０５、操作部１０７、表示部１０８、及び制御部１０９を接続するＣＰＵバスである。アドレス信号を転送するアドレスバス、制御信号を転送するコントロールバス及び各種データを転送するデータバスの総称である。また、ソフトウエア等で本発明を実現する場合等には、同図の各ブロックを必ずしも装置内に持っていなくてもよい。
【００１４】
図２は、本発明の実施の形態に係る文字表示装置を構成する機能ブロック図である。
同図において、２０１は項目情報取得部であり、操作部１０７から入力される文字とその項目情報を取得する。２０２は既存データ確認部であり、入力された文字に該当する第２の文字形状データが既に第２記憶領域２０３にあるかを確認する。なお、第２記憶領域２０３は、表示用のデータである第２の文字形状データを一時的に記憶するための領域である。また第２の文字形状データは、第１の文字形状データを展開したビットマップイメージ、前記ビットマップイメージを圧縮したデータ、前記第１の文字形状データを直線近似したデータ、前記第１の文字形状データを展開する際に生成される中間データなどである。
【００１５】
２０４は第１文字形状データ取得部であり、指定された文字に該当する第１の文字形状データを第１記憶領域２０５から取得する。なお、第１記憶領域２０５は、文字の定義データである第１の文字形状データを永続的に記憶するための領域である。なお、第１の文字形状データは、典型的にはベクトルデータである。
【００１６】
２０６は第１文字形状データ描画部であり、取得した前記第１の文字形状データを描画する。２０７は判別部であり、取得した前記項目情報より前記第１の文字形状データから前記第２の文字形状データを生成するか否かを判別する。２０８は第２文字形状データ生成部であり、前記第１の文字形状データから前記第２の文字形状データを生成する。
【００１７】
２０９は第２文字形状データ格納部であり、生成された前記第２の文字形状データを第２記憶領域２０３に格納する。２１０は第２文字形状データ取得部であり、指定された文字に該当する前記第２の文字形状データを前記第２記憶領域２０３より取得する。２１１は第２文字形状データ描画部であり、取得した前記第２の文字形状データを描画する。
【００１８】
図３は、本発明の実施の形態に係る文字表示装置におけるキャッシュデータを生成する基本的なフローチャートの一例である。
【００１９】
先ず、ハードウェアキーなどの操作部やタッチパネルなどから文字が入力され、その際にどんな項目に関して入力されたかを示すフラグを、入力された文字に割り当てる（Ｓ３０１、項目情報割当工程）。
【００２０】
次に、入力された文字に割り当てた項目情報に関するフラグを取得する（Ｓ３０２、項目情報取得工程）。
【００２１】
次に、入力された文字に該当する前記第２の文字形状データが既に第２記憶領域２０３に存在するか否か判別する（Ｓ３０３、第２記憶領域確認工程）。格納されていれば、第２記憶領域２０３より取得、表示させて（Ｓ３０４）処理を終了する。また、格納されてなければ、入力された文字に該当する前記第１の文字形状データを取得、表示する（Ｓ３０５）。
【００２２】
次に、取得した前記項目情報を示すフラグとキャッシュする項目情報を示すフラグとを比較することで、取得した前記第１の文字形状データから前記第２の文字形状データを生成するか否かを判別する（Ｓ３０６、第２文字形状データ生成判別工程）。
【００２３】
生成しないと判別されれば処理を終了し、そうでなければ前記第１の文字形状データから前記第２の文字形状データを生成する（Ｓ３０７）。
【００２４】
そして、生成した前記第２の文字形状データのデータサイズから第２記憶領域２０３に格納できるか否かを判別する（Ｓ３０８）。
【００２５】
格納できなければ、既に第２記憶領域２０３に格納されているデータから削除するデータを決定、削除する（Ｓ３０９）。
【００２６】
そして格納できると判別されるまでＳ３０８、Ｓ３０９の処理を繰り返し、格納する領域が確保できれば生成した前記第２の文字形状データを格納し（Ｓ３１０）、処理を終了する。
【００２７】
図４は、表示部と少なくとも１つのハードウェアキーで構成される操作部を備えたファクシミリ装置を表している。入力データは操作部から入力されることを想定しているが、表示部からのタッチパネルによる入力であってもよい。
【００２８】
ファクシミリ装置のアプリケーション側で各項目情報毎に操作画面に入力要求を出し、入力されたデータに対し項目情報別に異なるフラグを割り当てる。割り当てたフラグとキャッシュする項目情報に関するフラグを比較することで、入力された文字がキャッシュする必要のある文字か否かを判別する。
【００２９】
本実施形態におけるファクシミリ装置４０１では、キャッシュする文字に関する項目情報を「宛先として登録される人名」とし、この項目情報を示すフラグを割り当てる。これはファクシミリの機能において、送信する宛先の検索および受信時の宛先表示などで表示部に出力する文字があらかじめアドレスに登録された人名であることが多いためであるが、人名に限らないことは言うまでもない。
【００３０】
ファクシミリ装置４０１のアプリケーション側から操作画面４０２を通して入力要求を出し、ユーザはハードウェアキー４０３により入力する。その際、入力されたデータには入力要求を出した項目情報を表すフラグが割り当てられる。
【００３１】
その後前記フラグと、「宛先として登録される人名」を示すフラグを比較し、同一のフラグと判別され、かつ入力された文字が第２記憶領域２０３に格納されていなければ、該当する前記第１の文字形状データを取得し操作画面４０２に表示する。そして、取得した前記第１の文字形状データから前記第２の文字形状データを生成する。
【００３２】
＜第２の実施の形態＞
図５は本発明の第２の実施の形態に係る文字表示装置を構成する機能ブロック図である。
同図において、５０１は外部データ取得部であり、Ｉ／Ｏ部１０５や外部記憶装置などから入力されるデータを取得する。５０２は解析部であり取得したデータを解析する。５０３は特定項目文字取得部であり、解析部５０２で解析されたデータのうち特定の項目に該当する文字を取得する。
【００３３】
同図、５０４から５０７、および５０８、５０９の説明は、第１の実施形態における図２の２０２から２０５、および２０８、２０９と同様である。
【００３４】
図６は本実施形態に係る文字表示装置の入力データの一例である。
同図はＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ Ｍａｒｋｕｐ Ｌａｎｇｕｒａｇｅ）形式で記述された構造化文書データ６０１であるが、ＣＳＶ（Ｃｏｍｍａ Ｓｅｐａｒａｔｅｄ Ｖａｌｕｅｓ）形式やバイトストリーム形式のデータとして取得しても構わない。データの内容も宛先に限ったものではないが、少なくともデータとその項目情報とが含まれていなければならない。
【００３５】
図７は本発明の実施形態に係る文字表示装置におけるキャッシュデータを生成する基本的なフローチャートの一例である。
【００３６】
先ず、外部からのデータを取得し（Ｓ７０１）、その内容を解析する（Ｓ７０２）。解析されたデータに特定の項目に関する文字が含まれているか否かを判別する（Ｓ７０３）。
含まれていなければ処理を終了し、含まれていれば特定の項目に関する文字を取得する（Ｓ７０４）。
【００３７】
そして、取得した文字に該当するデータが第２記憶領域２０５にあるか判別する（Ｓ７０５）。あれば処理を終了し、なければ取得した文字に該当する前記第１の文字形状データを取得し（Ｓ７０６）、前記第２の文字形状データを生成する（Ｓ７０７）。
【００３８】
以下同図、Ｓ７０８からＳ７１０の説明は、図３のＳ３０８からＳ３１０と同様である。
【００３９】
図８は表示部および送受信機能を備えたＭＦＰ（Ｍｕｌｔｉ Ｆｕｎｃｔｉｏｎ Ｐｒｉｎｔｅｒ）を表している。本実施形態ではＭＦＰを想定しているが、ＭＦＰに限らず文字などを表示する表示部を備えていれば携帯電話などの小型機器などでもよいことは言うまでもない。なおＭＦＰの機能には送受信機能のほかに印刷機能、スキャナ機能、ファクシミリ機能、コピー機能などが考えられる。
【００４０】
入力データとして外部のＰＣ（Ｐａｒｓｏｎａｌ Ｃｏｍｐｕｔｅｒ）８０１から送信された図６に示すＸＭＬ形式の宛先登録リスト６０１を例に説明する。
【００４１】
ＭＦＰ８０２は、宛先登録リスト６０１を受け取り、搭載されているＸＭＬパーサで構造化文書を構成する要素名、属性名、属性値、要素内容を解析する。ＸＭＬパーサは、ＸＭＬ形式のデータを入力とし、その解析結果を出力するモジュールである。
【００４２】
本実施形態のＭＦＰ８０２は宛先登録リスト６０１のｎａｍｅ要素を特定の項目とし、解析後はｎａｍｅ要素の要素内容に関する文字を取得する。取得したｎａｍｅ要素の要素内容の文字で、前記第２記憶領域に格納されていない文字に該当する前記第１の文字形状データを取得し、前記第２の文字形状データを生成、格納する。
【００４３】
従来のフォントキャッシュでは受信したデータを一度表示しなければキャッシュするためのデータを生成できなかったが、本発明に関するようなＭＦＰであれば表示することなくキャッシュデータを生成できる。そのため、ＰＣ８０１からの入力データ６０１を送信するときに、送信先であるＭＦＰ８０２で操作画面８０４を見ながら操作者８０３が直接操作している場合であっても、送信した入力データ６０１の内容が操作画面８０４に表示されることがない。すなわち操作者８０３の操作の妨げになることがない。
【００４４】
また、送信した入力データ６０１が膨大なデータ量であって全てを表示し終えるのに長時間かかるような場合であっても、表示のために操作画面８０４を占有してしまうことがない。また、本実施形態の要素内容のようにあらかじめ入力データ６０１で指定した文字であれば、操作画面８０４において表示される文字が初めて表示される場合であってもキャッシュの効果を得ることができる。
【００４５】
＜第３の実施の形態＞
図９は本実施形態におけるキャッシュメモリへの格納操作に関して説明した図である。
前記第２記憶領域（以降キャッシュメモリと呼ぶ）に格納される前記第２の文字形状データは文字コード、ポインタ情報、輪郭情報とで構成されているものとする。
【００４６】
同図（ａ）の９０１は生成された前記第２の文字形状データを表しており、生成された時点ではポインタの指し示すアドレスはＮＵＬＬとなる。同図（ｂ）は前記第２の文字形状データ９０１を格納する前のキャッシュメモリの状況を示した図である。前記第２の文字形状データ９０２から９０７が既に格納されており、それぞれの文字は形状が異なるため輪郭情報のデータ量は異なる。各文字形状データに含まれるポインタ情報は次の文字形状データの先頭アドレスを指し示しており、最後の文字９０７のポインタ情報はＮＵＬＬである。
【００４７】
キャッシュデータを取得するには同図（ｂ）に示すようなリスト構造を辿り、表示する文字に該当する文字コードと一致する文字形状データを検索する。同図（ｂ）に示すキャッシュメモリの状態から新たに（９０１）を格納するための処理手順を説明する。
【００４８】
同図（ｂ）でのキャッシュメモリの空き容量（黒塗り部分）と９０１のデータ量を比較する。格納できないと判別されれば、既に格納されている９０２から９０７のいずれかを削除することで格納する領域を確保する。本実施例では文字形状データの最終使用日時が古い順にデータを削除するものとし、最終使用日時は輪郭情報に含まれるものとする。また、削除するデータを決定する手段として最終使用日時を挙げたが、使用頻度情報、輪郭情報の内容、データサイズなどでも構わない。
【００４９】
検索の結果、９０４が削除されたとして空き領域となった部分のサイズと９０１のデータサイズを比較する。９０４より９０１のデータサイズが大きい場合は格納できないため９０４に隣接した９０３と９０５で最終使用日時を比較する。その結果、９０５が削除され、９０４と９０５をあわせたデータ量と９０１のデータ量を比較し格納できるか判別する。
【００５０】
格納できると判別された結果、９０１が格納された状態のキャッシュメモリを同図（ｃ）は示している。９０３のポインタ情報は、９０４から９０６の、９０７のポインタ情報はＮＵＬＬから９０１の先頭アドレスを指すようにリスト構造が再構成される。
【図面の簡単な説明】
【００５１】
【図１】本発明の実施の形態に係る文字表示装置の構成を示す模式図である。
【図２】本発明の実施の形態に係る文字表示装置を構成する機能ブロック図である。
【図３】本発明の実施の形態に係る文字表示装置におけるキャッシュデータを生成するフローチャートの一例を示した図である。
【図４】本発明の実施の形態に係る文字表示装置としてファクシミリ装置を例に示した図である。
【図５】本発明の実施の形態に係る文字表示装置を構成する機能ブロック図である。
【図６】本発明の実施の形態に係る入力データの一例を示した図である。
【図７】本発明の実施の形態に係る文字表示装置におけるキャッシュデータを生成するフローチャートの一例を示した図である。
【図８】本発明の実施の形態に係る文字表示装置としてＭＦＰを例に示した図である。
【図９】本発明の実施の形態に係るキャッシュメモリへの格納操作に関して説明した図である。
【符号の説明】
【００５２】
１０１  文字表示装置
１０２  ＣＰＵ
１０３  ＲＯＭ
１０４  ＲＡＭ
１０５  通信部
１０６  ＣＰＵバス
１０７  操作部
１０８  表示部
１０９  制御部
４０１  ファクシミリ装置
４０２  操作画面
４０３  操作部（ハードウェアキー）
６０１  宛先登録リスト
８０１  ＰＣ
８０２  ＭＦＰ
８０３  ＭＦＰ操作者
８０４  操作画面
【図１】
2010096925.tif 000003
【図２】
2010096925.tif 000004
【図３】
2010096925.tif 000005
【図４】
2010096925.tif 000006
【図５】
2010096925.tif 000007
【図６】
2010096925.tif 000008
【図７】
2010096925.tif 000009
【図８】
2010096925.tif 000010
【図９】
2010096925.tif 000011