(57)【要約】【課題】漢字フォントデータの特徴に着目し、当該漢字フォントデータを圧縮処理するのに好適で、且つ、当該圧縮された漢字フォントデータを利用するのに好適な情報処理装置、情報処理装置制御プログラム、当該情報処理装置に用いられる圧縮処理された漢字フォントデータのデータ構造を提供する。【解決手段】漢字フォントデータ圧縮装置１を、データ記憶部１ａと、基準漢字フォントデータ設定部１ｂと、圧縮処理部１ｃと、を含んだ構成とし、基準漢字フォントデータ設定部１ｂは、漢字フォントデータを構成する漢字構成要素データの過去における統計的な利用頻度に基づき、データ圧縮対象の漢字フォントデータの中から基準漢字フォントデータを選択して設定するものであり、圧縮処理部１ｃは、基準漢字フォントデータ設定部１ｂによって設定された基準漢字フォントデータに基づき、データ圧縮対象の漢字フォントデータをデータ圧縮処理するものである。【選択図】      図１
2005122158.tif 000002
【特許請求の範囲】
【請求項１】
漢字フォントデータをデータ圧縮する装置であって、
複数の前記漢字フォントデータのうち、複数の漢字構成要素データから成る漢字フォントデータの中から、所定の漢字フォントデータを基準漢字フォントデータとして設定する基準漢字フォントデータ設定手段と、
前記基準漢字フォントデータ以外の複数の前記漢字構成要素データから成る漢字フォントデータと、当該漢字フォントデータの漢字構成要素データと共通の漢字構成要素データを有する前記基準漢字フォントデータと、に基づき前記複数の漢字構成要素データから成る漢字フォントデータを圧縮処理するデータ圧縮処理手段と、を備えることを特徴とする情報処理装置。
【請求項２】
前記データ圧縮処理手段は、前記圧縮処理対象の漢字フォントデータを、当該漢字フォントデータを構成する複数の漢字構成要素データから、前記基準漢字フォントデータの漢字構成要素データと共通の漢字構成要素データを取り除いた差分の漢字構成要素データと、前記共通の漢字構成要素データの存在位置を示す位置情報データと、を含んで成るデータに変換することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記データ圧縮処理手段は、所定の漢字コードに対応するインデックスデータを、前記複数の漢字フォントデータの少なくとも一部に対応付けることを特徴とする請求項１又は請求項２記載の情報処理装置。
【請求項４】
前記データ圧縮処理手段は、使用頻度の高い前記漢字フォントデータに前記インデックスデータを対応付けることを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記データ圧縮処理手段は、前記漢字フォントデータの各漢字構成要素データの過去の利用頻度に基づき前記圧縮処理を行うことを特徴とする請求項１乃至請求項４のいずれか１項に記載の情報処理装置。
【請求項６】
漢字フォントデータを複数備え、
前記複数の漢字フォントデータのうち複数の漢字構成要素データから成る漢字フォントデータの中から、所定の漢字フォントデータが基準漢字フォントデータとして設定されており、
前記基準漢字フォントデータ以外の複数の前記漢字構成要素データから成る漢字フォントデータについては、少なくともその一部に対して、当該漢字フォントデータと、当該漢字フォントデータの漢字構成要素データと共通の漢字構成要素データを有する前記基準漢字フォントデータと、に基づくデータ圧縮処理が施されており、
前記複数の漢字フォントデータの中から、所定の漢字フォントデータを選択する漢字フォントデータ選択手段と、
前記漢字フォントデータ選択手段によって選択された所定の漢字フォントデータが前記圧縮処理の施された漢字フォントデータであるときに、当該漢字フォントデータに対応する前記基準漢字フォントデータの漢字構成要素データに基づき、前記圧縮処理の施された漢字フォントデータをデータ圧縮前のものに復元する漢字フォントデータ復元手段と、を備えることを特徴とする情報処理装置。
【請求項７】
前記圧縮処理後の漢字フォントデータは、圧縮処理前の当該漢字フォントデータを構成する複数の漢字構成要素データから、前記基準漢字フォントデータの漢字構成要素データにおける前記漢字フォントデータと共通の漢字構成要素データを取り除いた差分の漢字構成要素データと、前記共通の漢字構成要素データの存在位置を示す位置情報データと、を含んで成り、
前記漢字フォントデータ復元手段は、前記基準漢字フォントデータの漢字構成要素データと、前記位置情報データと、に基づき前記復元を行うことを特徴とする請求項６記載の情報処理装置。
【請求項８】
前記漢字フォントデータの少なくとも一部に、所定の漢字コードに対応したインデックスデータが対応付けられており、
前記漢字フォントデータ選択手段は、前記インデックスデータに基づき、前記複数の漢字フォントデータの中から前記所定の漢字フォントデータを選択することを特徴とする請求項６又は請求項７記載の情報処理装置。
【請求項９】
前記復元された漢字フォントデータを記憶するキャッシュ用メモリを有しており、
前記漢字フォントデータ復元手段によって前記データ圧縮処理の施された漢字フォントデータを復元したときに、当該復元された漢字フォントデータを前記キャッシュ用メモリに記憶する復元データ記憶手段を備え、
前記漢字フォントデータ選択手段は、過去に選択した漢字フォントデータを再度選択するときに、前記キャッシュ用メモリの記憶内容に基づいて選択を行うようになっていることを特徴とする請求項６乃至請求項８のいずれか１項に記載の情報処理装置。
【請求項１０】
漢字フォントデータをデータ圧縮するためのコンピュータが実行可能なプログラムであって、
複数の漢字構成要素データから成る漢字フォントデータの中から、所定の漢字フォントデータを基準漢字フォントデータとして設定する基準漢字フォントデータ設定ステップと、
前記基準漢字フォントデータ以外の複数の前記漢字構成要素データから成る漢字フォントデータと、当該漢字フォントデータの漢字構成要素データと共通の漢字構成要素データを有する前記基準漢字フォントデータと、に基づき前記複数の漢字構成要素データから成る漢字フォントデータを圧縮処理するデータ圧縮処理ステップと、を備えることを特徴とする情報処理装置制御プログラム。
【請求項１１】
請求項６記載の情報処理装置を制御するためのコンピュータが実行可能なプログラムであって、
前記複数の漢字フォントデータの中から、所定の漢字フォントデータを選択する漢字フォントデータ選択ステップと、
前記漢字フォントデータ選択ステップにおいて選択された所定の漢字フォントデータが前記データ圧縮処理の施された漢字フォントデータであるときに、当該漢字フォントデータに対応する前記基準漢字フォントデータの漢字構成要素データに基づき、前記データ圧縮処理の施された漢字フォントデータをデータ圧縮前のものに復元する漢字フォントデータ復元ステップと、を備えることを特徴とする情報処理装置制御プログラム。
【請求項１２】
請求項７記載の情報処理装置に用いられる、データ圧縮処理の施された漢字フォントデータのデータ構造であって、
前記漢字フォントデータを構成する複数の前記漢字構成要素データから、前記基準漢字フォントデータの前記漢字フォントデータと共通の漢字構成要素データを取り除いた差分の漢字構成要素データと、前記共通の漢字構成要素データの存在位置を示す位置情報データと、を対応付けたことを特徴とするデータ圧縮処理の施された漢字フォントデータのデータ構造。
【請求項１３】
前記所定の漢字コードに対応するインデックスデータを対応付けたことを特徴とする請求項１２記載のデータ圧縮処理の施された漢字フォントデータのデータ構造。
【請求項１４】
表示装置が電気的に接続され、且つ演算装置と不揮発性メモリとを有したマイクロコンピュータであって、
前記不揮発性メモリは、フォントの記録制御情報を有するフォントヘッダと、前記フォントヘッダとリレーションをとるフォントパーツ形式サブレコードとを記憶し、
前記フォントパーツ形式サブレコードは、前記フォントの描画領域におけるフォントパーツの配置情報を有するサブレコードヘッダと、前記フォントパーツのパターンを表すフォントパーツパターンとを有し、
前記演算装置は、前記フォントの種類毎に固有のコードが入力されると、当該コードを解析し、前記不揮発性メモリから、前記コードに対応する前記フォントヘッダ及び前記フォントパーツ形式サブレコードを読み出し、当該読み出した前記フォントヘッダ及び前記フォントパーツ形式サブレコードに基づきフォントを復元し、前記表示装置へ復元された前記フォントを送信することを特徴とするマイクロコンピュータ。
【請求項１５】
前記不揮発性メモリは、前記フォントヘッダとリレーションをとるフォント参照形式サブレコードが更に記憶されており、
前記フォント参照形式サブレコードは、前記フォント参照形式サブレコードがフォントアドレス形式である情報と、参照フォントの何番目のサブレコードを参照するかの指定情報と、フォントアドレスとを有することを特徴とする請求項１４記載のマイクロコンピュータ。
【請求項１６】
前記不揮発性メモリは、マスクＲＯＭであり、
前記マスクＲＯＭには、半導体製造工程において書き込まれた、前記フォントヘッダと前記フォントパーツ形式サブレコードとが記憶されていることを特徴とする請求項１４又は請求項１５記載のマクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、漢字フォントデータを取り扱う情報処理装置に係り、特に、漢字フォントデータをデータ圧縮するのに好適な情報処理装置、並びに、データ圧縮処理の施された漢字フォントデータを利用するのに好適な情報処理装置及びマイクロコンピュータに関する。
【背景技術】
【０００２】
従来、漢字の混ざった文字データを表示あるいは印字するのに用いられる漢字フォントデータは、データ圧縮処理を施さずにそのままＲＯＭ（Read Only Memory）等の記憶媒体に記憶して用いられていた。
また、フォントデータを圧縮且つ復元処理する技術として、例えば、特許文献１に開示されているデータ圧縮方法、データ復元方法及び情報処理装置があった。
【０００３】
この技術は、圧縮率が高いとともに復元処理が速く、必要な文字のみを自由自在に復元できるデータ圧縮方法、データ復元方法及び情報処理装置を提供することを課題としたもので、登録番号に対応付けて登録データ列が登録される辞書を使用しデータ列の２以上の組み合わせを該登録番号に置き換えることでデータ圧縮を行う。最適な辞書になるまで、増分分解法、加増分分解法等により辞書の更新を行い、最終的な辞書が生成された段階で該辞書を最終的な復元用の静的辞書として出力するとともに、該静的辞書によりデータ圧縮を行い、圧縮されたデータ列を最終的な復元用の圧縮データとして出力する。
【特許文献１】特開２００１−４４８５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来のように漢字フォントデータを圧縮せずに記憶するようなやり方では、今後、第３水準の漢字フォントデータや中国語等の漢字フォントデータを、携帯型のＣＤプレーヤやＭＤプレーヤ、携帯電話機器等に搭載する場合に漢字フォントデータのための記憶容量が増大し、メモリのコストが増加するといった問題が生じる恐れがある。
【０００５】
また、上記特許文献１の従来技術は、例えば、文字列等のフォントデータ列に対して行われるものであり、各フォントに対して行われるものではないため、個々のフォントデータそのものを圧縮できるものではない。
また、データの復元には、専用の辞書が必要となるため、この分のデータ量の増加が避けられないものである。
【０００６】
そこで、本発明は、このような従来の技術の有する未解決の課題に着目してなされたものであって、漢字フォントデータの特徴に着目し、当該漢字フォントデータを圧縮処理するのに好適で、且つ、当該圧縮された漢字フォントデータを利用するのに好適な情報処理装置、情報処理装置制御プログラム、当該情報処理装置に用いられる圧縮処理された漢字フォントデータのデータ構造を提供することを目的としている。
【課題を解決するための手段】
【０００７】
〔発明１〕
上記目的を達成するために、発明１の情報処理装置は、漢字フォントデータをデータ圧縮する装置であって、
複数の前記漢字フォントデータのうち、複数の漢字構成要素データから成る漢字フォントデータの中から、所定の漢字フォントデータを基準漢字フォントデータとして設定する基準漢字フォントデータ設定手段と、
前記基準漢字フォントデータ以外の複数の前記漢字構成要素データから成る漢字フォントデータと、当該漢字フォントデータの漢字構成要素データと共通の漢字構成要素データを有する前記基準漢字フォントデータと、に基づき前記複数の漢字構成要素データから成る漢字フォントデータを圧縮処理するデータ圧縮処理手段と、を備えることを特徴としている。
【０００８】
このような構成であれば、基準漢字フォントデータ設定手段によって、複数の漢字フォントデータのうち、複数の漢字構成要素データから成る漢字フォントデータの中から、所定の漢字フォントデータを基準漢字フォントデータとして設定することが可能であり、データ圧縮処理手段によって、基準漢字フォントデータ以外の複数の前記漢字構成要素データから成る漢字フォントデータと、当該漢字フォントデータの漢字構成要素データと共通の漢字構成要素データを有する前記基準漢字フォントデータと、に基づき前記複数の漢字構成要素データから成る漢字フォントデータを圧縮処理することが可能である。
【０００９】
従って、基準漢字フォントデータとして、例えば、魚扁などのように、共通の漢字構成要素データを有する漢字フォントデータが他にたくさんあるものを設定し、同じ漢字構成要素データを有する他の漢字フォントデータを、前記共通の漢字構成要素データを有する基準漢字フォントデータを利用して復元できるように共通な部分に着目して圧縮処理することで、簡易に且つ効率の良い圧縮を行うことが可能である。
【００１０】
ここで、漢字構成要素データは、実際に表示部に表示される漢字フォントのイメージデータを含むものである。
また、漢字構成要素データは、扁、旁の他にも、冠、にょう（繞）、たれ（垂）、構え、足などがある。扁としては、例えば、「木扁」、「言扁」、「糸扁」、「人扁」、「行人扁」、「手扁」などがあり、旁としては、例えば、「大貝」、「肉月」、「立刀」、「邑」などがあり、冠としては、例えば、「竹冠」、「草冠」、「ウ冠」、「ワ冠」などがあり、にょうとしては、「之にょう」、「延にょう」、「走にょう」などがあり、たれとしては、例えば、「雁垂」、「麻垂」、「病垂」などがあり、構えとしては、例えば、「門構え」、「国構え」などがあり、足としては、例えば、「心」、「連火」などがある。
また、漢字構成要素データは、扁及び旁の２つ、扁、旁及び冠の３つにするなど、上記した全ての要素を含む必要は無い。
【００１１】
〔発明２〕
さらに、発明２の情報処理装置は、発明１の情報処理装置において、前記データ圧縮処理手段は、前記圧縮処理対象の漢字フォントデータを、当該漢字フォントデータを構成する複数の漢字構成要素データから、前記基準漢字フォントデータの漢字構成要素データと共通の漢字構成要素データを取り除いた差分の漢字構成要素データと、前記共通の漢字構成要素データの存在位置を示す位置情報データと、を含んで成るデータに変換することを特徴としている。
【００１２】
つまり、前記データ圧縮処理手段は、前記圧縮処理対象の漢字フォントデータを、当該漢字フォントデータを構成する複数の漢字構成要素データから、前記基準漢字フォントデータの漢字構成要素データと共通の漢字構成要素データを取り除いた差分の漢字構成要素データと、前記共通の漢字構成要素データの存在位置を示す位置情報データと、を含んで成るデータに変換することが可能である。
【００１３】
従って、共通の漢字構成要素データのデータ量分を圧縮することが可能であり、且つ、共通の漢字構成要素データの存在位置を示す位置情報データにより、共通の漢字構成要素データの存在位置が解るので、元からある差分データと前記位置情報データにより取得した共通の漢字構成要素データとにより、圧縮された漢字フォントデータを、簡易に、元の漢字フォントデータに復元することが可能である。
【００１４】
また、基準漢字フォントデータの有する共通な漢字構成要素データにより復元を行うように圧縮処理を施すので、イメージデータを変換する等の処理が無くそのままのデータを用いるのでデザイナのデザインを生かすことが可能である。
また、複数の基準漢字フォントデータの漢字構成要素データを用いて１つの漢字フォントデータを圧縮処理した場合に、圧縮処理後の漢字フォントデータに、漢字構成要素データを１つも含まないものが出てくる可能性がある。つまり、全ての漢字構成要素データを基準漢字フォントデータから取得する場合である。このような場合は、位置情報データに基づき全ての漢字構成要素データを基準漢字フォントデータから取得することになる。
【００１５】
〔発明３〕
さらに、発明３の情報処理装置は、発明１又は２の情報処理装置において、前記データ圧縮処理手段は、所定の漢字コードに対応するインデックスデータを、前記複数の漢字フォントデータの少なくとも一部に対応付けることを特徴としている。
【００１６】
つまり、漢字コードに対応したインデックスデータを圧縮処理後の漢字フォントデータに対応付けるので、例えば、ＳＪＩＳコード等の漢字コードに対応する漢字フォントデータを圧縮したときに、ＳＪＩＳコードを取得することにより、このコードに対応する圧縮された漢字フォントデータを高速に読み出すことが可能となる。なお、圧縮処理された漢字フォントデータの全てにインデックスを対応付けず、一部に対応付けることで、読み出し速度は多少減少するがメモリ容量の節約をすることも可能である。
【００１７】
〔発明４〕
さらに、発明４の情報処理装置は、発明３の情報処理装置において、前記データ圧縮処理手段は、使用頻度の高い前記漢字フォントデータに前記インデックスデータを対応付けることを特徴としている。
つまり、使用頻度の高い漢字フォントデータにインデックスを対応付けることで、読み出し速度を効率よく高めることが可能となる。
【００１８】
〔発明５〕
さらに、発明５の情報処理装置は、発明１ないし４の情報処理装置において、前記データ圧縮処理手段は、前記漢字フォントデータの各漢字構成要素データの過去の利用頻度に基づき前記圧縮処理を行うことを特徴としている。
【００１９】
つまり、過去における、例えば、文章等の表示に利用された漢字フォントデータの利用回数や、データ圧縮された漢字フォントデータの復元処理時の漢字構成要素データの利用回数等から求められる統計的使用頻度に基づき、良く使用される漢字フォントデータは、圧縮をせずに基準漢字フォントデータにしたり、使用頻度の低い漢字フォントデータを優先して圧縮処理することで、利用し易い圧縮が可能となる。
【００２０】
〔発明６〕
さらに、発明６の情報処理装置は、漢字フォントデータを複数備え、
前記複数の漢字フォントデータのうち複数の漢字構成要素データから成る漢字フォントデータの中から、所定の漢字フォントデータが基準漢字フォントデータとして設定されており、
前記基準漢字フォントデータ以外の複数の前記漢字構成要素データから成る漢字フォントデータについては、少なくともその一部に対して、当該漢字フォントデータと、当該漢字フォントデータの漢字構成要素データと共通の漢字構成要素データを有する前記基準漢字フォントデータと、に基づくデータ圧縮処理が施されており、
前記複数の漢字フォントデータの中から、所定の漢字フォントデータを選択する漢字フォントデータ選択手段と、
前記漢字フォントデータ選択手段によって選択された所定の漢字フォントデータが前記圧縮処理の施された漢字フォントデータであるときに、当該漢字フォントデータに対応する前記基準漢字フォントデータの漢字構成要素データに基づき、前記圧縮処理の施された漢字フォントデータをデータ圧縮前のものに復元する漢字フォントデータ復元手段と、を備えることを特徴としている。
【００２１】
このような構成であれば、漢字フォントデータ選択手段によって、前記複数の漢字フォントデータの中から、所定の漢字フォントデータを選択することが可能であり、漢字フォントデータ復元手段によって、前記漢字フォントデータ選択手段によって選択された所定の漢字フォントデータが前記圧縮処理の施された漢字フォントデータであるときに、当該漢字フォントデータに対応する前記基準漢字フォントデータの漢字構成要素データに基づき、前記圧縮処理の施された漢字フォントデータをデータ圧縮前のものに復元することが可能である。
従って、漢字フォントデータ選択手段及び漢字フォントデータ復元手段を備えているので、上記圧縮処理の施された所定の漢字フォントデータを復元して利用することが可能である。
【００２２】
〔発明７〕
さらに、発明７の情報処理装置は、発明６の情報処理装置において、前記圧縮処理後の漢字フォントデータは、圧縮処理前の当該漢字フォントデータを構成する複数の漢字構成要素データから、前記基準漢字フォントデータの漢字構成要素データにおける前記漢字フォントデータと共通の漢字構成要素データを取り除いた差分の漢字構成要素データと、前記共通の漢字構成要素データの存在位置を示す位置情報データと、を含んで成り、
前記漢字フォントデータ復元手段は、前記基準漢字フォントデータの漢字構成要素データと、前記位置情報データと、に基づき前記復元を行うことを特徴としている。
【００２３】
つまり、前記圧縮処理後の漢字フォントデータは、圧縮処理前の当該漢字フォントデータを構成する複数の漢字構成要素データから、前記基準漢字フォントデータの漢字構成要素データと共通の漢字構成要素データを取り除いた差分の漢字構成要素データと、前記共通の漢字構成要素データの存在位置を示す位置情報データと、を含んで成り、前記漢字フォントデータ復元手段は、前記位置情報データに基づき前記復元を行うことが可能である。従って、位置情報データにより、共通の漢字構成要素データの存在する位置が解るので、上記圧縮処理の施された漢字フォントデータを簡易に復元することが可能である。
【００２４】
〔発明８〕
さらに、発明８の情報処理装置は、発明６または７の情報処理装置において、前記漢字フォントデータの少なくとも一部に、所定の漢字コードに対応したインデックスデータが対応付けられており、
前記漢字フォントデータ選択手段は、前記インデックスデータに基づき、前記複数の漢字フォントデータの中から前記所定の漢字フォントデータを選択することを特徴としている。
【００２５】
つまり、前記漢字フォントデータの少なくとも一部に、所定の漢字コードに対応したインデックスデータが対応付けられており、前記漢字フォントデータ選択手段は、前記インデックスデータに基づき、前記複数の漢字フォントデータの中から前記所定の漢字フォントデータを選択することが可能である。従って、例えば、ＳＪＩＳコード等の漢字コードに対応する漢字フォントデータが圧縮されているときに、ＳＪＩＳコードを取得することにより、このコードに対応する圧縮された漢字フォントデータを高速に読み出すことが可能となる。なお、圧縮処理された漢字フォントデータの全てにインデックスを対応付けず、一部に対応付けることで、読み出し速度は多少減少するがメモリ容量の節約となる。
【００２６】
〔発明９〕
さらに、発明９の情報処理装置は、発明６ないし８のいずれかの情報処理装置において、前記復元された漢字フォントデータを記憶するキャッシュ用メモリを有しており、
前記漢字フォントデータ復元手段によって前記データ圧縮処理の施された漢字フォントデータを復元したときに、当該復元された漢字フォントデータを前記キャッシュ用メモリに記憶する復元データ記憶手段を備え、
前記漢字フォントデータ選択手段は、過去に選択した漢字フォントデータを再度選択するときに、前記キャッシュ用メモリの記憶内容に基づいて選択を行うようになっていることを特徴としている。
【００２７】
つまり、前記漢字フォントデータ復元手段によって前記データ圧縮処理の施された漢字フォントデータを復元したときに、当該復元された漢字フォントデータを前記キャッシュ用メモリに記憶する復元データ記憶手段を備えており、前記漢字フォントデータ選択手段は、過去に選択した漢字フォントデータを再度選択するときに、前記キャッシュ用メモリの記憶内容に基づいて選択を行うことが可能である。従って、一度復元した漢字フォントデータを再度利用するときは、キャッシュ用メモリに記憶された復元後の漢字フォントデータを用いるので、復元処理が不必要となり高速な読み出しが可能となる。
【００２８】
〔発明１０〕
さらに、発明１０の情報処理装置制御プログラムは、漢字フォントデータをデータ圧縮するためのコンピュータが実行可能なプログラムであって、
複数の漢字構成要素データから成る漢字フォントデータの中から、所定の漢字フォントデータを基準漢字フォントデータとして設定する基準漢字フォントデータ設定ステップと、
前記基準漢字フォントデータ以外の複数の前記漢字構成要素データから成る漢字フォントデータと、当該漢字フォントデータの漢字構成要素データと共通の漢字構成要素データを有する前記基準漢字フォントデータと、に基づき前記複数の漢字構成要素データから成る漢字フォントデータを圧縮処理するデータ圧縮処理ステップと、を備えることを特徴としている。
ここで、本発明は、発明１の情報処理装置を制御するためのプログラムであり、その効果は重複するので記載を省略する。
【００２９】
〔発明１１〕
さらに、発明１１の情報処理装置制御プログラムは、請求項６記載の情報処理装置を制御するためのコンピュータが実行可能なプログラムであって、
前記複数の漢字フォントデータの中から、所定の漢字フォントデータを選択する漢字フォントデータ選択ステップと、
前記漢字フォントデータ選択ステップにおいて選択された所定の漢字フォントデータが前記データ圧縮処理の施された漢字フォントデータであるときに、当該漢字フォントデータに対応する前記基準漢字フォントデータの漢字構成要素データに基づき、前記データ圧縮処理の施された漢字フォントデータをデータ圧縮前のものに復元する漢字フォントデータ復元ステップと、を備えることを特徴としている。
ここで、本発明は、発明６の情報処理装置を制御するためのプログラムであり、その効果は重複するので記載を省略する。
【００３０】
〔発明１２〕
さらに、発明１２の圧縮処理された漢字フォントデータのデータ構造は、発明７の情報処理装置に用いられる、データ圧縮処理の施された漢字フォントデータのデータ構造であって、
前記漢字フォントデータを構成する複数の前記漢字構成要素データから、前記基準漢字フォントデータの前記漢字フォントデータと共通の漢字構成要素データを取り除いた差分の漢字構成要素データと、前記共通の漢字構成要素データの存在位置を示す位置情報データと、を対応付けたことを特徴としている。
ここで、本発明は、発明７の情報処理装置に用いられる圧縮処理の施された漢字フォントデータであり、その効果は重複するので記載を省略する。
【００３１】
〔発明１３〕
さらに、発明１３の圧縮処理された漢字フォントデータのデータ構造は、発明１２の圧縮処理された漢字フォントデータのデータ構造において、前記複数の漢字フォントデータの中から所定の漢字フォントデータを選択するためのインデックスデータを対応付けたことを特徴としている。
ここで、本発明は、発明８の情報処理装置に用いられる圧縮処理の施された漢字フォントデータであり、その効果は重複するので記載を省略する。
【００３２】
〔発明１４〕
一方、発明１４のマイクロコンピュータは、表示装置が電気的に接続され、且つ演算装置と不揮発性メモリとを有したマイクロコンピュータであって、
前記不揮発性メモリは、フォントの記録制御情報を有するフォントヘッダと、前記フォントヘッダとリレーションをとるフォントパーツ形式サブレコードとを記憶し、
前記フォントパーツ形式サブレコードは、前記フォントの描画領域におけるフォントパーツの配置情報を有するサブレコードヘッダと、前記フォントパーツのパターンを表すフォントパーツパターンとを有し、
前記演算装置は、前記フォントの種類毎に固有のコードが入力されると、当該コードを解析し、前記不揮発性メモリから、前記コードに対応する前記フォントヘッダ及び前記フォントパーツ形式サブレコードを読み出し、当該読み出した前記フォントヘッダ及び前記フォントパーツ形式サブレコードに基づきフォントを復元し、前記表示装置へ復元された前記フォントを送信することを特徴としている。
【００３３】
このような構成であれば、前記演算装置は、前記フォントの種類毎に固有のコードが入力されると、当該コードを解析し、前記不揮発性メモリから、前記コードに対応する前記フォントヘッダ及び前記フォントパーツ形式サブレコードを読み出し、当該読み出した前記フォントヘッダ及び前記フォントパーツ形式サブレコードに基づきフォントを復元し、前記表示装置へ復元された前記フォントを送信することが可能である。
【００３４】
従って、不揮発性メモリには、フォントヘッダと、フォントパーツ形式サブレコードとからなる圧縮形式のフォントデータを記憶すれば良いので、フォントデータに必要なメモリ容量を低減することが可能である。
ここで、不揮発性メモリには圧縮されたフォントデータが記憶されており、この圧縮形式のフォントデータは、フォントヘッダと、当該フォントヘッダに対応するフォントパーツ形式サブレコードとを含んでおり、フォントパーツ形式サブレコードは、フォントパーツの描画位置の情報と、フォントを構成するフォントパーツの実体であるフォントパーツパターン（イメージデータ等）とを含んだ構成となっている。
【００３５】
また、フォントヘッダとは、例えば、サブレコード数を保持するためのレコード数と、フォントヘッダを除く全サブレコードのバイト数を示すレコードサイズとを示すデータから構成されたものである。このヘッダの情報により、フォントのパーツ構成等を簡易に知ることが可能である。
【００３６】
〔発明１５〕
更に、発明１５のマイクロコンピュータは、発明１４のマイクロコンピュータにおいて、前記不揮発性メモリは、前記フォントヘッダとリレーションをとるフォント参照形式サブレコードが更に記憶されており、
前記フォント参照形式サブレコードは、前記フォント参照形式サブレコードがフォントアドレス形式である情報と、参照フォントの何番目のサブレコードを参照するかの指定情報と、フォントアドレスとを有することを特徴としている。
【００３７】
つまり、参照フォントのフォントアドレスと指定情報とによってフォントパーツデータの格納先を示すようにしたので、フォントデータの全てにフォントアドレスを設定する必要がなく、これにより、フォントデータに必要なメモリ容量を低減することが可能である。
つまり、フォントヘッダとこれに対応するフォントパーツ形式サブレコードとから構成されるフォントと、フォントヘッダとこれに対応するフォント参照形式サブレコードとから構成される圧縮されたフォントとが不揮発性メモリに記憶されている。フォント参照形式サブレコードは、フォントパーツの実体であるフォントパーツパターン（イメージデータ）を含まず、対応するフォントパーツによって構成される参照フォント（参照するために予め設定されたフォント）の有するフォントパーツの格納位置の情報を含んでいる。従って、サブレコードがフォント参照形式サブレコードの場合は、参照フォントから対応するフォントパーツパターンを読み出して圧縮されたフォントを元のフォントに復元することが可能である。
【００３８】
〔発明１６〕
更に、発明１６のマイクロコンピュータは、発明１４または１５のマイクロコンピュータにおいて、  前記不揮発性メモリは、マスクＲＯＭであり、
前記マスクＲＯＭには、半導体製造工程において書き込まれた、前記フォントヘッダと前記フォントパーツ形式サブレコードとが記憶されていることを特徴としている。
【００３９】
つまり、半導体製造工程において、マスクＲＯＭにフォントヘッダとフォントパーツ形式サブレコードとを書き込むことにより、後から書き込むよりもコストを低減することが可能である。
【発明を実施するための最良の形態】
【００４０】
〔第１の実施の形態〕
以下、本発明の第１の実施の形態を図面に基づいて説明する。図１乃至図９は、本発明に係る漢字フォントデータ圧縮装置の第１の実施の形態を示す図である。
まず、本発明に係る漢字フォントデータ圧縮装置の構成を図１に基づいて説明する。図１は、本発明に係る漢字フォントデータ圧縮装置の構成を示すブロック図である。
【００４１】
図１に示すように、漢字フォントデータ圧縮装置１は、データ記憶部１ａと、基準漢字フォントデータ設定部１ｂと、圧縮処理部１ｃと、漢字構成要素データベース１ｄと、を含んだ構成となっている。
データ記憶部１ａは、データ圧縮の対象である漢字フォントデータと、圧縮処理後の漢字フォントデータと、を記憶するためのものである。
【００４２】
基準漢字フォントデータ設定部１ｂは、漢字構成要素データベース１ｄの漢字構成要素データと、漢字フォントデータを構成する漢字構成要素データの過去における統計的な利用頻度と、に基づき、データ記憶部１ａに記憶されたデータ圧縮対象の漢字フォントデータの中から基準漢字フォントデータを選択して設定するものである。
圧縮処理部１ｃは、基準漢字フォントデータ設定部１ｂによって設定された基準漢字フォントデータに基づき、データ圧縮対象の漢字フォントデータをデータ圧縮処理するものである。
【００４３】
漢字構成要素データベース１ｄは、１６×１６（ドット）、３２×３２（ドット）、６４×６４（ドット）などの様々なサイズ、及び、ＳＪＩＳ、ＪＩＳなどの様々な形式の漢字フォントデータを、例えば、漢字の「鮪」であれば、扁側の「魚」の漢字構成要素データと、旁側の「有」の漢字構成要素データとに分けるなど、それぞれの漢字フォントデータを、どのような漢字構成要素データにパーツ分けするかを設定したデータベースである。つまり、漢字フォントデータを、当該漢字フォントデータを構成する、扁、旁、冠、にょう（繞）、たれ（垂）、構え、足などの漢字構成要素データにパーツ分けし、且つ、それぞれのパーツに識別情報を対応付けてデータベースとして記憶したものである。また、本実施の形態においては、上記した漢字構成要素データの過去における統計的な利用頻度等のデータも対応付けて記憶されていることとする。
【００４４】
ここで、漢字フォントデータ圧縮装置１は、図示しない、上記各部を制御するためのプログラムを実行するＣＰＵ（Central Processing Unit）と、当該プログラムの記憶されたＲＯＭと、プログラムの実行に必要なデータを一時記憶するためのＲＡＭ（Random Access Memory）と、を備えている。
更に、図２乃至図７に基づき、漢字フォントデータ圧縮装置１のより具体的な動作を説明する。図２は、圧縮処理後の漢字フォントデータのデータ構成を示す図であり、図３は、サブレコードのデータ構成を示す図であり、図４は、フォントパーツ形式のサブレコードの詳細なデータ構成を示す図であり、図５は、フォント参照形式サブレコードの詳細なデータ構成を示す図であり、図６は、フォントパーツ形式の圧縮処理の流れを示す図であり、図７は、フォント参照形式の圧縮処理の流れを示す図である。
【００４５】
まず、漢字フォントデータ圧縮装置１のデータ記憶部１ａにデータ圧縮対象の漢字フォントデータが記憶される。そして、上記したプログラムを実行しデータ圧縮処理を開始すると、まず、基準漢字フォントデータ設定部１ｂによって、上記したデータ圧縮対象の漢字フォントデータの中から、基準漢字フォントデータを選択し設定する処理が行われる。
この処理においては、上記した漢字構成要素データを複数有する漢字フォントデータが選択対象となる。選択処理は、漢字フォントデータが過去に利用された回数や、漢字フォントデータの漢字構成要素データの利用回数の多いものなど、漢字フォントデータ又はその漢字構成要素データの過去における統計的な利用頻度に基づいて行われる。ここでは、まず、最も利用頻度の高い漢字フォントデータを選択する。
【００４６】
そして、当該選択された漢字フォントデータの漢字構成要素データと共通な漢字構成要素データを有する漢字フォントデータが他にあるか否かを調べ、ある場合は、選択された漢字フォントデータを基準漢字フォントデータとして設定する。ここで、他に共通の漢字構成要素データを有する漢字フォントデータが無い場合も、その漢字フォントデータを非圧縮のままで、当該圧縮処理に対応した形式のデータに変換してデータ記憶部１ａに記憶する。
【００４７】
基準漢字フォントデータが設定されると、圧縮処理部１ｃにおいて、漢字構成要素データベース１ｄの対応するデータに基づき、当該基準漢字フォントデータを用いて他の共通の漢字構成要素データを有する漢字フォントデータを圧縮処理する。本実施の形態においては、基準漢字フォントデータについては、非圧縮のままで、当該圧縮処理に対応した形式のデータに変換してデータ記憶部１ａに記憶し、当該基準漢字フォントデータと共通の漢字構成要素データを有する他の漢字フォントデータについては、この共通の漢字構成要素データを取り除いた差分の漢字構成要素データと、前記共通の漢字フォントデータの位置情報を示すデータと、から成る圧縮データへと変換する。
【００４８】
以下、圧縮処理後の漢字フォントデータのデータ構成について説明する。
図２に示すように、圧縮処理後の漢字フォントデータ（以下、圧縮データと称す）は、フォントヘッダ２００と、第１〜第４のサブレコード２０１〜２０４と、を含んだ構成となっている。ここで、圧縮対象となる漢字フォントデータは１６×１６ドットのフォントサイズとする。
【００４９】
フォントヘッダ２００は、サブレコード数−１を保持するためのレコード数２００ａ（２ビット）と、フォントヘッダ２００を除く全サブレコードのバイト数を示すレコードサイズ２００ｂ（６ビット）と、の計１バイトのデータから構成されている。
第１〜第４のサブレコード２０１〜２０４は、漢字を構成する各漢字構成要素に対応したデータであり、ここでは、第１のサブレコード２０１（最大３２バイト）、第２〜第４のサブレコード２０２〜２０４（各最大１７バイト）の最大４つのサブレコードから一つの漢字フォントデータが構成される。つまり、漢字フォントデータは、漢字の種類に応じて１〜４個までの個数のサブレコードを有することになる。例えば、非圧縮の漢字の「鮪」のフォントデータであれば、扁側の「魚」の漢字構成要素のイメージデータを有するサブレコードと旁側の「有」の漢字構成要素のイメージデータを有するサブレコードの２つのサブレコードから構成されることになる。
【００５０】
一方、例えば、「魚」を共通の漢字構成要素データとして圧縮処理された漢字「鮪」のフォントデータであれば、扁側の「魚」のイメージデータを有さないサブレコードと、旁側の「有」のイメージデータを有するサブレコードと、の２つのサブレコードから構成されることになる。
ここで、漢字フォントデータが非圧縮であるか否かは、フォントヘッダ２００におけるレコードサイズ２００ｂの数値により判断できる。つまりレコードサイズ２００ｂが３２バイトを示していた場合は、図３に示すように、非圧縮のフォントデータ３０となる。
【００５１】
本実施の形態においては、漢字フォントデータのサブレコードのうち、イメージデータを有するサブレコードをフォントパーツ形式サブレコードと称し、一方、イメージデータを有さないサブレコードをフォント参照形式サブレコードと称す。
更に、図３及び図４に基づき、フォントパーツ形式サブレコードのデータ構成について説明する。ここで、フォントパーツという言葉が出てくるが、これは、サブレコードに含まれる漢字構成要素のイメージデータのことである。
【００５２】
そして、レコードデータがフォントパーツを有するときは、そのサブレコードのデータ構成は、図３に示すフォントパーツ形式サブレコード３１のようになる。
フォントパーツ形式サブレコード３１は、サブレコードヘッダ３１０と、フォントパーツデータ３１１と、を含んだ構成となっている。
更に、図４に示すように、サブレコードヘッダ３１０は、当該サブレコードがフォントパーツ形式であることを示すビット３１０ａと、パーツオリジン３１０ｂと、パーツＸ幅指定３１０ｃと、パーツＹ幅指定３１０ｄと、を含んだ構成となっている。
【００５３】
つまり、フォントパーツ形式サブレコード３１の場合、上記したイメージデータであるフォントパーツデータ３１１を有しており、且つ、パーツオリジン３１０ｂと、パーツＸ幅指定３１０ｃと、パーツＹ幅指定３１０ｄとにより、１６×１６ドットの描画領域における、フォントパーツの描画位置の情報が示されている。
フォントパーツ形式であることを示すビット３１０ａは、フォントパーツ形式サブレコード３１の場合は、必ず「１」となる。
【００５４】
パーツオリジン３１０ｂは、ここでは２ビットのデータであり、フォントパーツの配置起点（４種類）を示すものである。フォントパーツは、この値が「００」であれば１６×１６ドットの描画領域における左上を起点として配置され、「０１」であれば１６×１６ドットの描画領域における右上を起点として配置され、「１０」であれば１６×１６ドットの描画領域における右下を起点として配置され、「１１」であれば１６×１６ドットの描画領域における左下を起点として配置されることになる。
【００５５】
例えば、漢字の「動」は、漢字構成要素データベース１ｄより、扁側の「重」のフォントパーツと旁側の「力」のフォントパーツとに分けられているとする。漢字「動」における、扁側の「重」は、上記描画領域における左側に位置し、且つ、縦幅も長いパーツである。従って、「重」は、描画領域の左上を起点として配置され、パーツオリジン３１０ｂは「００」となる。一方、旁側の「力」は、描画領域における右側に位置し、且つ、縦幅も長いパーツである。従って、「力」は描画領域の右上を起点として配置され、パーツオリジン３１０ｂは「０１」となる。
【００５６】
また、例えば、漢字の「数」については、漢字構成要素データベース１ｄより、扁側が「米」及び「女」の２つのフォントパーツに分かれており、この扁側に着目すると、「米」は、描画領域の左側上半分の領域内に描画されるので、パーツオリジン３１０ｂは「００」となり、「女」は、描画領域の左側下半分の領域内に描画されるので、パーツオリジン３１０ｂは「１１」となる。
【００５７】
また、例えば、漢字の「線」については、漢字構成要素データベース１ｄより、旁側に着目すると、上側の「白」と下側の「水」とにパーツ分けされている。このような場合、「白」は、描画領域の右側上半分の領域内に描画されるので、パーツオリジン３１０ｂは「０１」となり、「水」は、描画領域の右側下半分の領域内に描画されるので、パーツオリジン３１０ｂは「１０」となる。
【００５８】
つまり、漢字の扁、旁、冠などパーツになり易いものは、フォントの真中にポツンと置かれるものが少なく、コーナーを基点とできるものが多いので配置位置の指定内容を簡略化した。
パーツＸ幅指定３１０ｃは、ここでは２ビットのデータであり、１６×１６ドットの描画領域の横方向をＸ軸、縦方向をＹ軸とした場合に、フォントパーツのＸ軸方向の幅（４種類）を示すものである。フォントパーツは、この値が「００」であれば４ドット幅であり、「０１」であれば８ドット幅、「１０」であれば１２ドット幅、「１１」であれば１６ドット幅となる。
【００５９】
例えば、漢字の「花」であれば、その「草冠」部分のＸ幅は１６ドットとなり、パーツＸ幅指定３１０ｃは「１１」となる。漢字の「漢」であれば、その「草冠」部分のＸ幅は１２ドットとなり、パーツＸ幅指定３１０ｃは「１０」となり、その「三水」部分のＸ幅は４ドットとなり、パーツＸ幅指定３１０ｃは「０１」となる。
つまり、パーツになり易いものは、あまり中途半端な大きさではない（例えば扁、旁はそれぞれ８ビット幅が中心）ので指定内容を簡略化した。
【００６０】
パーツＹ幅指定３１０ｄは、ここでは３ビットのデータであり、フォントパーツのＹ軸方向の幅を示すものである。ここでは、Ｘ幅指定の数値が「００」及び「０１」のとき、（指定値＋１）×２ドットがＹ幅となり、Ｘ幅指定の数値が「１０」及び「１１」のとき指定値ドットがＹ幅となる。
例えば、Ｘ幅指定の数値が「００」及び「０１」で且つパーツＹ幅指定３１０ｄが「１１１」のとき、（７＋１）×２＝１６ドットがＹ幅となり、Ｘ幅指定の数値が「１０」及び「１１」で且つパーツＹ幅指定３１０ｄが「１１１」のとき、７ドットがＹ幅となる。
【００６１】
つまり、冠のように横に広いものは縦が短く、扁や旁は縦幅は長いが横幅は狭いため、パーツＸ幅指定３１０ｃと同様に指定内容を簡略化した。
フォントパーツデータ３１１は、フォントパーツのデータそのものである。
更に、図６に基づき、基準漢字フォントデータ設定部１ｂにおいて、基準漢字フォントデータとなる漢字「鮨」のフォントデータを設定する処理の流れを説明する。
【００６２】
漢字の「鮨」は、SJISの漢字コードで表すと「Ｅ９ＢＤ」となる。そして、この「Ｅ９ＢＤ」に対応するフォントパーツデータは、「10 80 1c 86 24 f8 28 81 7e 81 2a 7f 2a 00 3e 00 2a 7e 2a 42 3e 42 00 7e 2a 42 2a 42 40 7e 00 00」となる。漢字のイメージとしては、図６に示すように、「鮨」６０は、扁側の「魚」６０ａと旁側の「旨」６０ｂとから構成される。
【００６３】
つまり、本実施の形態においては、図６に示すように、漢字構成要素データベース１ｄより、「鮨」６０は、「魚」６０ａと「旨」６０ｂとの２つのパーツに分けられることになる。
従って、Ｅ９ＢＤにおける扁側の「魚」６０ａのフォントパーツデータ３１１は、「10 1c 24 28 7e 2a 2a 3e 2a 2a 3e 00 2a 2a 40 00」となり、旁側の「旨」６０ｂのフォントパーツデータ３１１は、「80 86 f8 81 81 7f 00 00 7e 42 42 7e 42 42 7e 00」となる。
【００６４】
まず、図２に示すように、上記した「Ｅ９ＢＤ」に対する漢字フォントデータ２０におけるフォントヘッダ２００を生成する。ここで、扁側の「魚」６０ａを含むサブレコードを第１のサブレコード２０１とし、旁側の「旨」６０ｂを含むサブレコードを第２のサブレコード２０２とする。従って、サブレコード数は２つとなるので、レコード数２００ａは２進数の「１０」となる。
【００６５】
そして、フォントパーツデータの１６バイトとサブレコードヘッダの１バイトとを合わせた１７バイトのサブレコードが２つあるので、計３４バイトとなりレコードサイズ２００ｂは、２進数の「１０００１０」となる。従って、フォントヘッダ２００は、２進数で表すと「１０１０００１０」となり、これを１６進数で表すと「Ａ２」となる。
次に、第１のサブレコード２０１の生成の流れを説明する。まずサブレコードヘッダ３１０を生成する。サブレコードがフォントパーツ形式であることを示すビット３１０ａは、この場合、第１のサブレコード２０１にフォントパーツがあるので、「１」となる。更に、パーツオリジン３１０ｂは、左上を起点として配置されるフォントパーツであるので、「００」となり、パーツＸ幅指定３１０ｃは、空白ドットを含む「魚」６０ａの横幅が８ドットであるので「０１」となり、パーツＹ幅指定３１０ｄは、パーツＸ幅指定３１０ｃが「０１」であり、且つ、空白ドットを含む「魚」６０ａの縦幅が１６ドットであるので「１１１」となる。
【００６６】
従って、サブレコードヘッダ３１０は、２進数で表すと「１０００１１１１」となり、これを１６進数で表すと「８Ｆ」となる。
そして、このサブレコードヘッダ３１０を先頭にして、上記した「魚」６０ａのフォントパーツデータ３１１をつなげ合わせることで、第１のサブレコード２０１である、「8F 10 1c 24 28 7e 2a 2a 3e 2a 2a 3e 00 2a 2a 40 00」を生成する。
【００６７】
更に、第２のサブレコード２０２の生成処理の流れを説明する。まずサブレコードヘッダ３１０を生成する。サブレコードがフォントパーツ形式であることを示すビット３１０ａは、上記「魚」６０ａと同様に「１」となる。
次に、パーツオリジン３１０ｂは、右上を起点として配置されるフォントパーツであるので、「０１」となり、パーツＸ幅指定３１０ｃは、空白ドットを含む「旨」６０ｂの横幅が８ドットであるので「０１」となり、パーツＹ幅指定３１０ｄは、パーツＸ幅指定３１０ｃが「０１」であり、且つ、空白ドットを含む「旨」６０ｂの縦幅が１６ドットであるので「１１１」となる。
【００６８】
従って、サブレコードヘッダ３１０は、２進数で表すと「１０１０１１１１」となり、これを１６進数で表すと「ＡＦ」となる。
そして、このサブレコードヘッダ３１０を先頭にして、上記した「旨」６０ｂのフォントパーツデータ３１１をつなげ合わせることで、第２のサブレコード２０２である、「AF 80 86 f8 81 81 7f 00 00 7e 42 42 7e 42 42 7e 00」を生成する。
【００６９】
最終的な基準漢字フォントデータは、上記したフォントヘッダ２００と、第１のサブレコード２０１と、第２のサブレコード２０２と、を合わせた、「A2 8F 10 1c 24 28 7e 2a 2a 3e 2a 2a 3e 00 2a 2a 40 00 AF 80 86 f8 81 81 7f 00 00 7e 42 42 7e 42 42 7e 00」となる。
従って、基準漢字フォントデータ設定部１ｂは、上記最終的な基準漢字フォントデータを、「鮨」のＳＪＩＳの漢字コードと同一のインデックスデータ「Ｅ９ＢＤ」に対応付けてデータ記憶部１ａに記憶する。
【００７０】
更に、図３及び図５に基づき、フォント参照形式サブレコードのデータ構成について説明する。
圧縮処理部１ｃにおいて圧縮処理が施されることにより、サブレコードにフォントパーツを有さない漢字フォントデータが生成される。このようなフォントパーツを有さないサブレコードのデータ構成は、図３に示すフォント参照形式サブレコード３２のようになる。
【００７１】
図３に示すように、フォント参照形式サブレコード３２は、サブレコードヘッダ３２０と、フォントアドレス３２１と、を含んだ構成となっている。
更に、図５に示すように、サブレコードヘッダ３２０は、当該サブレコードがフォント参照形式であることを示すビット３２０ａと、未使用ビット３２０ｂと、参照サブレコード指定３２０ｃと、を含んだ構成となっている。
【００７２】
フォント参照形式であることを示すビット３２０ａは、サブレコードがフォント参照形式サブレコード３２の場合、必ず「０」となる。
未使用ビット３２０ｂは、例えば「０００００」の５ビットのデータであり、これは未使用のビットである。
参照サブレコード指定３２０ｃは、ここでは２ビットのデータであり、復元時に上記フォントアドレス３２で指定した基準漢字フォントデータにおけるサブレコードのうち、どのサブレコードを参照するかを示すビットである。
【００７３】
本実施の形態においては、「００」であれば第１のサブレコード２０１を参照し、「０１」であれば第２のサブレコード２０２を参照し、「１０」であれば第３のサブレコード２０３を参照し、「１１」であれば第４のサブレコード２０４を参照する。
フォントアドレス３１１は、対応する基準漢字フォントデータの格納先を示すデータ（ここでは、上記インデックスデータ）である。
【００７４】
更に、図７に基づき、圧縮処理部１ｃにおいて、基準漢字フォントデータとして、上記漢字「鮨」のフォントデータに基づき、漢字「魴」のフォントデータを圧縮する処理の流れを説明する。
漢字の「魴」は、SJISの漢字コードで表すと「Ｅ９Ｂ５」となる。そして、この「Ｅ９Ｂ５」に対応するフォントパーツデータは、「10 10 1c 10 24 ff 28 20 7e 20 2a 20 2a 3e 3e 22 2a 22 2a 22 3e 22 00 42 2a 42 2a 42 40 8c 00 00」となる。また、イメージとしては、図７に示すように、漢字構成要素データベース１ｄより、「魴」７０は、扁側の「魚」７０ａ及び旁側の「方」７０ｂの２つのパーツに分けられることになる。
【００７５】
従って、Ｅ９Ｂ５における扁側の「魚」のフォントパーツデータ３１１は、「10 1c 24 28 7e 2a 2a 3e 2a 2a 3e 00 2a 2a 40 00」となり、旁側の「方」のフォントパーツデータ３１１は、「10 10 ff 20 20 20 3e 22 22 22 22 42 42 42 8c 00」となる。
ここで、「魴」７０はその扁である「魚」７０ａと上記「鮨」６０の偏である「魚」６０ａとが漢字構成要素データベース１ｄより共通のデータとなっているので、「魚」６０ａを含むサブレコードを参照サブレコードとして漢字「魴」７０のフォントデータの圧縮処理を行う。
【００７６】
まず、図２に示すように、上記した「Ｅ９Ｂ５」に対する漢字フォントデータ２０におけるフォントヘッダ２００を生成する。ここで、扁側の「魚」７０ａを第１のサブレコード２０１とし、旁側の「方」７０ｂを第２のサブレコード２０２とする。従って、サブレコード数は２つとなるので、レコード数２００ａは２進数の「１０」となる。
そして、「魚」７０ａは基準漢字フォントデータのフォントパーツを参照するので、サブレコードヘッダ３２０とフォントアドレス３２１とを合わせた３バイトのサブレコードとなり、「方」７０ｂはフォントパーツデータを有するので、フォントパーツデータの１６バイトとサブレコードヘッダの１バイトとを合わせた１７バイトのサブレコードとなる。つまり、サブレコードの合計は２０バイトとなりレコードサイズ２００ｂは、２進数の「０１０１００」となる。
【００７７】
従って、フォントヘッダ２００は、２進数で表すと「１００１０１００」となり、これを１６進数で表すと「９４」となる。
次に、第１のサブレコード２０１の生成の流れを説明する。まずサブレコードヘッダ３１０を生成する。この場合、第１のサブレコード２０１は、基準漢字フォントデータの「鮨」６０における扁側の「魚」６０ａを共通のデータとしてフォント参照形式サブレコード３２を生成する。従って、フォント参照形式サブレコード３２における、サブレコードがフォント参照形式であることを示すビット３２０ａは、２進数の「０」となる。
【００７８】
更に、未使用ビット３２０ｂは、ここでは２進数の「０００００」とし、参照レコード指定３２０ｃは、上記「鮨」６０の偏側である「魚」６０ａのフォントパーツが第１のサブレコード２０１であるので、２進数の「００」となる。従って、サブレコードヘッダ３２０は、２進数で表すと「００００００００」となり、これを１６進数で表すと「００」となる。
【００７９】
更に、フォントアドレス３２１は、本実施の形態においては、対応する基準漢字データのインデックスを指定することとし、従って、上記した「Ｅ９ＢＤ」となる。
以上より、「魴」７０の第１のサブレコード２０１は、上記サブレコードヘッダ３２０「００」とフォントアドレス３２１「Ｅ９ＢＤ」とを合わせた、「００Ｅ９ＢＤ」となる。
【００８０】
更に、第２のサブレコード２０２の生成処理の流れを説明する。この場合、サブレコードはフォントパーツ形式サブレコード３１になるので、まずサブレコードヘッダ３１０を生成する。サブレコードがフォントパーツ形式であることを示すビット３１０ａは、この場合「１」となる。
次に、パーツオリジン３１０ｂは、「魴」７０の旁側である「方」７０ｂは、右上を起点として配置されるフォントパーツであるので、「０１」となり、パーツＸ幅指定３１０ｃは、空白ドットを含む「方」７０ｂの横幅が８ドットであるので「０１」となり、パーツＹ幅指定３１０ｄは、パーツＸ幅指定３１０ｃが「０１」であり、且つ、空白ドットを含む「方」７０ｂの縦幅が１６ドットであるので「１１１」となる。
【００８１】
従って、サブレコードヘッダ３１０は、２進数で表すと「１０１０１１１１」となり、これを１６進数で表すと「ＡＦ」となる。
そして、このサブレコードヘッダ３１０を先頭にして、上記した「方」７０ｂのフォントパーツデータ３１１をつなげ合わせることで、第２のサブレコード２０２である、「AF 10 10 ff 20 20 20 3e 22 22 22 22 42 42 42 8c 00」を生成する。
【００８２】
最終的な「魴」７０の漢字フォントデータ２０は、上記したフォントヘッダ２００と、第１のサブレコード２０１と、第２のサブレコード２０２と、を合わせた、「94 00 E9 BD AF 10 10 ff 20 20 20 3e 22 22 22 22 42 42 42 8c 00」となる。
従って、圧縮処理部１ｂは、上記最終的な漢字フォントデータを、「魴」７０のＳＪＩＳの漢字コードと同一のインデックスデータ「Ｅ９Ｂ５」に対応付けてデータ記憶部１ａに記憶する。
【００８３】
このようにして、基準漢字フォントデータを設定し、当該基準漢字フォントデータの共通のフォントパーツデータを利用して他の漢字フォントデータのサブレコードをフォント参照形式サブレコード３２に変換する処理を繰り返すことで、漢字フォントデータの圧縮を行う。
なお、上記した例では、基準漢字フォントデータの扁側のみを参照して圧縮処理を行っているが、実際は、これに限らず、扁側や旁側が二つのパーツに別れていて、その片方だけを参照したりするといった場合もあるため、圧縮後の漢字フォントデータは、それぞれが一定長ではなく可変長となる。
【００８４】
更に、上記圧縮処理の圧縮効率を検証するために、ＳＪＩＳの漢字コードＥ９Ｂ５からＥ９Ｅ７まで、計５１漢字フォント、合計１６３２バイトに対してＥ９ＢＤの「鮨」の扁側である「魚」を被参照フォントパーツとして、上記したフォント参照形式サブレコード３２の生成による圧縮処理を行った。この場合の各漢字構成要素によるパーツ分けは、手作業で行った。
・基準漢字フォントデータ（Ｅ９ＢＤ）：３５バイト
・圧縮可能な漢字フォントデータ２０個：２１×２０＝４２０（バイト）
・圧縮不能な漢字フォントデータ３０個：３３×３０＝９９０（バイト）
・合計：３５＋４２０＋９９０＝１４４５（バイト）
つまり、元のデータ量の約８８％にデータ圧縮されたことになる。
【００８５】
更に、被参照フォントパーツにできるものを３文字発見したので、上記操作を繰り返した。
・基準漢字フォントデータ４個：３５×４＝１４０（バイト）
・圧縮可能な漢字フォントデータ３１個：２１×３１＝６５１（バイト）
・圧縮不能な漢字フォントデータ１６個：３３×１６＝５２８（バイト）
・合計：１４０＋６５１＋５２８＝１３１９（バイト）
つまり、元のデータ量の約８０％にデータ圧縮されたことになる。
【００８６】
このように、基準漢字フォントデータとなる漢字フォントデータを見つけて設定し上記圧縮処理を行うことで更なるデータ圧縮が可能となる。
なお、本実施の形態においては、上記したように、ＳＪＩＳの漢字コードと同一のインデックスデータを最終的なデータに対応付けているので、実際は、各漢字フォントデータにそれぞれ２バイトのインデックスデータを付加することになる。即ち、上記各合計値に２×５１＝１０２（バイト）が加算される。
【００８７】
従って、上記した基準漢字フォントデータ（Ｅ９ＢＤ）による圧縮処理を行った場合は、実際は、元のデータ量の約９５％にデータ圧縮されることになり、上記した基準漢字フォントデータ４個による圧縮処理を行った場合は、元のデータ量の約８７％にデータ圧縮されることになる。
つまり、インデックスデータを全ての漢字フォントに対応付けると、圧縮効率が低下することになる。そこで、本実施の形態においては、インデックスを一つ飛び（偶数番目又は奇数番目）に対応付けたり、１６個飛びで対応付けたり、利用頻度の高い漢字フォントデータに対して対応付けたりするなど、任意の漢字フォントデータにインデックスデータの対応付けをすることが可能となっている。
【００８８】
但し、一つ飛びにインデックスデータを対応づける以外は、上記したように圧縮後の漢字フォントデータが一定長では無く可変長のデータとなるため、各漢字フォントデータにデータ長を示すデータを付加する必要がある。このデータ長を示すデータがあれば、例えば、インデックス間の漢字フォントデータに対しては、ＳＪＩＳの漢字コード、インデックスデータ及びデータ長を示すデータを参照して、最寄りのインデックスデータのある漢字フォントデータからデータ長に基づき順番にアクセスしていき、目的の漢字フォントデータを検出することが可能である。
【００８９】
更に、図８に基づき、基準漢字フォントデータ設定部１ｂの動作処理の流れを説明する。図８は、基準漢字フォントデータ設定部１ｂの動作処理を示すフローチャートである。
図８に示すように、まずステップＳ１００に移行し、圧縮処理対象の漢字フォントデータの中から、予め用意された統計的利用頻度に基づき、利用頻度の高い漢字を選択してステップＳ１０２に移行する。
【００９０】
ステップＳ１０２では、選択された利用頻度の高い漢字フォントデータを、漢字構成要素データベース１ｄのデータを参照するなどして解析し、その漢字構成要素データによって、他の漢字フォントデータを圧縮可能か否かを判定し、圧縮可能であると判定された場合(Yes)はステップＳ１０４に移行し、そうでない場合(No)はステップＳ１１０に移行する。
【００９１】
ステップＳ１０４に移行した場合は、選択された漢字フォントデータのパーツ分けを行い、上記したように、フォントヘッダの生成、フォントパーツ形式サブレコードの生成等を行うことにより基準漢字フォントデータを生成してステップＳ１０６に移行する。
ステップＳ１０６では、生成された基準漢字フォントデータに、上記したインデックスデータを付加してステップＳ１０６に移行する。
【００９２】
ステップＳ１０８では、データ記憶部１ａに、インデックスデータの付加された基準漢字フォントデータを記憶させる処理を行わせてステップＳ１００に移行する。
一方、ステップＳ１１０に移行した場合は、選択された漢字フォントデータが、利用頻度は高いが、この漢字の漢字構成要素データによって他の漢字フォントデータを圧縮できない場合であるので、基準漢字フォントデータと同様に、未圧縮の漢字フォントデータとして取り扱いステップＳ１１２に移行する。ここで、この場合は、上記した基準漢字フォントデータと同様に、フォントヘッダの作成、フォントパーツ形式サブレコードの生成等を行っても良いし、フォントパーツといったパーツ分けをせずに、第１のサブレコードだけを有した漢字フォントデータとして生成するなど特別な形式のデータとしても良い。
【００９３】
ステップＳ１１２では、生成された漢字フォントデータに上記したインデックスデータを付加してステップＳ１１４に移行する。
ステップＳ１１４では、データ記憶部１ａに、インデックスデータの付加された漢字フォントデータを記憶させる処理を行わせてステップＳ１００に移行する。
更に、図９に基づき、圧縮処理部１ｃの動作処理の流れを説明する。図９は、圧縮処理部１ｃの動作処理を示すフローチャートである。
【００９４】
図９に示すように、まずステップＳ２００に移行し、基準漢字フォントデータが設定されたか否かを判定し、設定されたと判定された場合(Yes)は、ステップＳ２０２に移行し、そうでない場合(No)は設定されるまで待機する。
ステップＳ２０２に移行した場合は、圧縮可能な漢字フォントデータを選択してステップＳ２０４に移行する。
【００９５】
ステップＳ２０４では、選択された漢字フォントデータに対して、フォントヘッダの生成、フォント参照形式サブレコードの生成などを行うことにより圧縮データを生成してステップＳ２０６に移行する。
ステップＳ２０６では、圧縮データに上記したインデックスデータを付加してステップＳ２０８に移行する。
【００９６】
ステップＳ２０８では、データ記憶部１ａに、インデックスデータの付加された圧縮データを記憶させる処理を行わせてステップＳ２１０に移行する。
ステップＳ２１０では、他に圧縮可能な漢字フォントデータがあるか否かを判定し、あると判定された場合(Yes)はステップＳ２０２に移行し、そうでない場合(No)はステップＳ２００に移行する。
【００９７】
以上、上記実施の形態によれば、複数ある漢字フォントデータの中から基準漢字フォントデータを設定し、当該基準漢字フォントデータを構成するフォントパーツデータによって、このフォントパーツデータと同じフォントパーツデータを有する他の漢字フォントデータを圧縮処理することが可能であるので、共通のフォントパーツの分だけデータ量を減らすことが可能である。
【００９８】
また、過去の統計的利用頻度に基づき、利用頻度の高い漢字フォントデータを優先して基準漢字フォントデータ（あるいは未圧縮データ）とするので、利用頻度の高い漢字フォントデータほど圧縮処理が施されない状態となり、利用時のアクセス速度を高めることが可能となる。
更に、図１０及び図１１に基づき、本発明に係る、上記漢字フォントデータ圧縮装置１によって圧縮処理の施された漢字フォントデータを備える情報処理装置の実施の形態を説明する。図１０は、情報処理装置の構成を示すブロック図である。
【００９９】
図１０に示すように、情報処理装置１０は、コード取得部１０ａと、フォントデータ選択部１０ｂと、データ記憶部１０ｃと、漢字フォントデータ復元部１０ｄと、表示部１０ｅと、を含んだ構成となっている。
コード取得部１０ａは、所定の文字フォントデータに対応するコードを取得するものである。例えば、情報処理装置１０をＭＤプレイヤやＣＤプレイヤなどに適用した場合においては、ＭＤやＣＤに記憶された楽曲名の文字フォントデータに対応するコードを読み取る。
【０１００】
フォントデータ選択部１０ｂは、コード取得部１０ａにおいて取得したコードに対応するフォントデータをデータ記憶部１０ｃの記憶内容から選択するものである。
データ記憶部１０ｃは、上記漢字フォントデータ圧縮装置１によって圧縮処理の施された漢字フォントデータ、ひらがな、カタカナ、ローマ字などの未圧縮の文字フォントデータをメモリに記憶するものである。更に、データ記憶部１０ｃは、本実施の形態において、復元処理を高速化するために、復元された漢字フォントデータを所定数記憶するためのキャッシュメモリを備えている。
【０１０１】
漢字フォントデータ復元部１０ｄは、上記漢字フォントデータ圧縮装置１によって圧縮処理の施された漢字フォントデータを元のデータに復元するものである。ここで、漢字フォントデータ復元部１０ｄは、復元したデータをデータ記憶部１０ｃのキャッシュメモリに記憶し、一方、データの復元時には、まずキャッシュメモリから漢字フォントデータを読み出す。
【０１０２】
表示部１０ｅは、コード取得部１０ａにおいて取得したコードに対応するフォントデータのイメージを表示部に表示するものである。
更に、情報処理装置１０のより具体的な動作を説明する。ここで、情報処理装置１０は、例えば、ＭＤプレイヤやＣＤプレイヤ等において、再生曲の曲名をディスプレイに表示するような装置として利用されるものである。
【０１０３】
まず、コード取得部１０ａにおいて、所定のコード（例えば、Ｅ９ＢＤ）が取得されると、その取得されたコードは、フォントデータ選択部１０ｂに伝送される。フォントデータ選択部１０ｂは、コード取得部１０ａからコード（Ｅ９ＢＤ）を取得すると、まずこのコードを解析する。そして、取得したコードがＳＪＩＳの漢字コードであると判定すると、その旨を漢字フォントデータ復元部１０ｄに通知する。この通知を受けると漢字フォントデータ復元部１０ｄは、コードに対応する漢字フォントデータをデータ記憶部１０ｃから読み出す。
【０１０４】
このとき、漢字フォントデータ側に付加されたインデックスデータが、例えば、一つ飛びや１６個飛び等の間引きされたものであるときは、取得したコードに対して最寄りのインデックスデータを検出し、そのインデックスデータと、間引きインデックスの場合に各漢字フォントデータに付加されるデータ長のデータと、から目的の漢字フォントデータに向けて順番に、漢字フォントデータをアクセスしていき、目的の漢字フォントデータを検出する処理を行う。
【０１０５】
一方、全ての漢字フォントデータにインデックスが付加されているときは、Ｅ９ＢＤに対応するインデックスデータを直接検出して、目的の漢字フォントデータにアクセスすることになる。ここで、本実施の形態においては、全ての漢字フォントデータにインデックスデータが付加されていることとする。
そして、漢字フォントデータ復元部１０ｄは、まず、データ記憶部１０ｃのキャッシュメモリに対して、Ｅ９ＢＤに対応した漢字フォントデータの読み出しを試みる。ここで、キャッシュメモリにＥ９ＢＤに対応した漢字フォントデータがある場合は、そこから読み出すことになる。一方、キャッシュメモリに無い場合は、通常のメモリから普通に読み出すことになる。ここでは、Ｅ９ＢＤの漢字フォントデータがキャッシュメモリに無かったこととする。
【０１０６】
そして、漢字フォントデータ復元部１０ｄは、通常のメモリから漢字フォントデータを読み出すと、まずこれを解析する。解析により、読み出した漢字フォントデータが基準漢字フォントデータか、未圧縮の漢字フォントデータか、圧縮処理の施された漢字フォントデータか、のいずれかを判定する。この場合、Ｅ９ＢＤは、上記したように基準漢字フォントデータであるので、サブレコードに含まれるフォントパーツデータを、ＳＪＩＳの形式につなげ合わせて表示部１０ｅに伝送する。ここで、本実施の形態においては、未圧縮の漢字フォントデータも基準漢字フォントデータと同様の復元処理が行われることとする。
【０１０７】
次に、取得したコードがＥ９Ｂ５であった場合を説明する。フォントデータ選択部１０ｂは、コード（Ｅ９Ｂ５）を取得すると、上記同様にまずデータ記憶部１０ｃのキャッシュメモリに対して、Ｅ９Ｂ５に対応した漢字フォントデータの読み出しを試みる。ここでは、Ｅ９Ｂ５の漢字フォントデータが無かったこととする。そして、通常のメモリから漢字フォントデータを読み出すと、上記同様にこのコードを解析する。
【０１０８】
フォントデータ選択部１０ｂは、この解析結果により取得したコードがＳＪＩＳの漢字コードであると判定すると、その旨を漢字フォントデータ復元部１０ｄに通知する。この通知を受けると漢字フォントデータ復元部１０ｄは、コードに対応する漢字フォントデータをデータ記憶部１０ｃから読み出す。
そして、漢字フォントデータ復元部１０ｄは、Ｅ９Ｂ５に対応した漢字フォントデータを読み出すと、上記同様これを解析することにより、読み出した漢字フォントデータが基準漢字フォントデータか、未圧縮の漢字フォントデータか、圧縮処理の施された漢字フォントデータか、のいずれかを判定する。
【０１０９】
この場合、Ｅ９Ｂ５の漢字フォントデータは、上記したように圧縮処理の施された漢字フォントデータであるので、フォント参照形式サブレコードに含まれるフォントアドレスから、対応する基準漢字フォントデータをアクセスする。ここでは、フォントアドレスはＥ９ＢＤとなっているので、サブレコードヘッダの参照レコード指定３２０ｃの内容（ここでは、２進数の「００」）に基づき、Ｅ９ＢＤの漢字フォントデータにおける対象のフォントパーツデータを読み出す。
【０１１０】
ここで、Ｅ９Ｂ５の漢字フォントデータ（「魴」７０）は、上記したように、Ｅ９ＢＤの漢字フォントデータにおける「鮨」６０の偏側である「魚」６０ａのフォントパーツを参照するように圧縮処理が施されているので、参照レコード指定３２０ｃによって指定されたＥ９ＢＤの漢字フォントデータの第１のサブレコード２０１からこの「魚」６０ａのフォントパーツデータを読み出す。
【０１１１】
漢字フォントデータ復元部１０ｄは、「魚」６０ａのフォントパーツデータを読み出すと、これと、第２のサブレコードにある「方」７０ｂのフォントパーツデータとを、ＳＪＩＳの形式につなげ合わせて表示部１０ｅに伝送する。このとき、復元された漢字フォントデータをデータ記憶部１０ｃのキャッシュメモリに記憶する。
以降は、コードＥ９Ｂ５を取得すると、漢字フォントデータ復元部１０ｄは、キャッシュメモリからＥ９Ｂ５の復元済みの漢字フォントデータを読み出すことになる。ここで、キャッシュメモリは、例えば、２５６個までの漢字フォントデータを記憶することが可能なものを用意する。更に、一度記憶された漢字フォントデータに対しては、カウント数を設定し、漢字フォントデータ復元部１０ｄによるキャッシュメモリへのアクセスがある毎に、アクセスされた漢字フォントデータのカウント数を１インクリメントし（但し、カウント数には上限有り）、アクセスされなかった漢字フォントデータのカウント数を１デクリメントする。デクリメントによりカウント数が０になった漢字フォントデータに対しては、データの上書きを許可する。つまり、漢字フォントデータ復元部１０ｄは、キャッシュメモリへの復元データの記憶時には、カウント数が０の記憶領域を探索してそこに記憶する。
【０１１２】
また、コード取得部１０ａで取得したコードが漢字フォントデータのコードでは無い場合（ひらがなやカタカナなどの場合）は、フォントデータ選択部１０ｂが、データ記憶部からコードに対応する文字フォントデータのイメージデータを読み出して、表示部１０ｅに伝送する。
表示部１０ｅは、順番に送られてくるフォントのイメージデータを、その順番に、例えば、曲名の分だけストックしてから表示部に表示する。
【０１１３】
更に、図１１に基づき、情報処理装置１０の動作処理の流れを説明する。図１１は、情報処理装置１０の動作処理を示すフローチャートである。
図１１に示すように、まずステップＳ３００に移行し、コード取得部１０ａにおいて、コードを取得したか否かを判定し、取得したと判定された場合(Yes)はステップＳ３０２に移行し、そうでない場合(No)は取得するまで待機する。
【０１１４】
ステップＳ３０２に移行した場合は、コード取得部１０ａによって、取得したコードをフォントデータ選択部１０ｂに伝送してステップＳ３０４に移行する。
ステップＳ３０４では、フォントデータ選択部１０ｂにおいて、取得したコードを解析してステップＳ３０６に移行する。
ステップＳ３０６では、フォントデータ選択部１０ｂにおいて、上記解析結果に基づき、取得したコードが漢字コードか否かを判定し、漢字コードであると判定された場合(Yes)はステップＳ３０８に移行し、そうでない場合(No)はステップＳ３２４に移行する。
【０１１５】
ステップＳ３０８に移行した場合は、フォントデータ選択部１０ｂは、取得したコードが漢字フォントデータのコードであることを、漢字フォントデータ復元部１０ｄに通知してステップＳ３１０に移行する。ここで、この通知処理は、例えば、漢字フォントデータのコードを漢字フォントデータ復元部１０ｄに伝送することで行う。
ステップＳ３１０では、漢字フォントデータ復元部１０ｄによって、取得したコードに対応する漢字フォントデータをデータ記憶部１０ｃから読み出してステップＳ３１２に移行する。ここで、漢字フォントデータの読み出しは、上記したようにまずデータ記憶部１０ｃのキャッシュメモリに対して行う。
【０１１６】
ステップＳ３１２では、漢字フォントデータ復元部１０ｄは、読み出した漢字フォントデータがキャッシュメモリにあった場合(Yes)はステップＳ３１８に移行し、キャッシュメモリに無かった場合(No)はステップＳ３１４に移行する。
ステップＳ３１４では、漢字フォントデータ復元部１０ｄにおいて、読み出した漢字フォントデータを解析してステップＳ３１６に移行する。
【０１１７】
ステップＳ３１６では、漢字フォントデータ復元部１０ｄにおいて、上記解析の結果に基づき、上記した復元処理を行いステップＳ３１８に移行する。
ステップＳ３１８では、漢字フォントデータ復元部１０ｄによって、漢字フォントデータのフォントパーツデータを表示部１０ｅに伝送してステップＳ３２０に移行する。
ステップＳ３２０では、表示処理部１０ｅにおいて、フォントデータの取得が完了したか否かを判定し、完了したと判定された場合(Yes)はステップＳ３２２に移行し、そうでない場合(No)はステップＳ３０２に移行する。
【０１１８】
ステップＳ３２２に移行した場合は、表示処理部１０ｅにおいて、取得したフォントパーツ及びイメージデータに基づき、各コードに対応したイメージを表示部に表示してステップＳ３００に移行する。
一方、ステップＳ３０６において、取得したコードが漢字フォントデータのコードでは無くステップＳ３２４に移行した場合は、フォントデータ選択部１０ｂによって、データ記憶部１０ｃから、コードに対応した文字フォントデータを読み出してステップＳ３２６に移行する。
【０１１９】
ステップＳ３２６では、フォントデータ選択部１０ｂによって、読み出した文字フォントデータからイメージデータを抽出して、これを表示処理部１０ｅに伝送してステップＳ３２０に移行する。
以上、上記実施の形態によれば、上記した漢字フォントデータ圧縮装置１によって圧縮処理された漢字フォントデータを、復元して表示部に表示することが可能である。
【０１２０】
また、復元された漢字フォントデータを、データ記憶部１０ｃのキャッシュメモリに記憶して、漢字フォントデータ復元部１０ｄにおける復元処理時には、まず、キャッシュメモリから漢字フォントデータを読み出す処理を行うことにより、一度復元された漢字フォントデータを再度読み出すときには、復元処理済みのデータを読み出すことが可能である。
【０１２１】
また、利用頻度の高い漢字フォントデータにインデックスを付加することが可能であるため、この場合は、処理を高速化することが可能である。
ここで、図１に示す、基準漢字フォントデータ設定部１ｂは、発明１の基準漢字フォントデータ設定手段に対応し、圧縮処理部１ｃは、発明１ないし５のいずれかのデータ圧縮処理手段に対応し、図１０に示す、フォントデータ選択部１０ｂ及び漢字フォントデータ復元部１０ｄにおける漢字フォントデータの選択処理は、発明６、８及び９のいずれかの漢字フォントデータ選択手段に対応し、漢字フォントデータ復元部１０ｄにおける復元処理は、発明６、７及び９のいずれかの漢字フォントデータ復元手段に対応し、データ記憶部１０ｃのキャッシュメモリは、発明９のキャッシュ用メモリに対応し、漢字フォントデータ復元部１０ｄによるキャッシュメモリへの復元データの記憶処理は、発明９の復元データ記憶手段に対応する。
【０１２２】
〔第２の実施の形態〕
更に、本発明の第２の実施の形態を図面に基づいて説明する。図１２は、本発明に係る情報機器１００の構成を示すブロック図である。
ここで、情報機器１００は、携帯電話、ＰＤＡ、フォトビューワ、表示装置付きの音楽再生装置などである。
【０１２３】
情報機器１００は、図１２に示すように、プログラムを実行するＣＰＵ（広義には、演算装置）４０と、プログラムと上記第１の実施の形態において圧縮処理されたフォントデータを記憶するＲＯＭ（リードオンリーメモリ、広義には、不揮発性メモリ）５０と、ＲＡＭ（ランダムアクセスメモリ）６０と、表示部７０と、キー入力装置８０と、メモリカード９０と、電源（図示しない）とを含んだ構成となっている。また、ＣＰＵ４０やＲＯＭ５０などの情報機器の構成の一部を同一の半導体基板上に作るいわゆるワンチップマイコンとすることができる。
【０１２４】
ＲＯＭ５０は、上記第１の実施の形態における、図１１のフローチャートの、ステップＳ３００（ＳＪＩＳコード取得）からステップＳ３２２（表示処理）までの一連の処理をＣＰＵ４０に実行させるプログラム５１と、漢字フォントを、上記第１の実施の形態における圧縮処理によって圧縮したフォントデータ５２とが記憶される。つまり、ＲＯＭ５０における、圧縮された漢字フォントデータを記憶するフォントデータ記憶領域には、上記のフォントヘッダ２００及びフォントパーツ３１１を含むフォントパーツ形式サブレコード３１と、フォントアドレス３２１を含むフォント参照形式サブレコード３２とが記憶される。
【０１２５】
つまり、漢字フォントデータを、上記第１の実施の形態における圧縮形式で圧縮したデータ構成とすることで、漢字フォントが効率的に圧縮され、漢字フォントに必要なＲＯＭ５０のメモリ領域を少なくすることができる。
なお、ランレングス、ハフマンコード、ＬＺＨなどを用いた従来の圧縮データをＲＯＭ５０に記憶した場合、復元（デコード）の負荷が大きくなり、表示待ち時間が長くなる。高性能のＣＰＵを利用することで、表示待ち時間を短縮することはできるが、高性能のＣＰＵは一般的に、価格が高く、また消費電力が大きいという課題がある。一方、本発明の圧縮形式で圧縮された漢字フォントは、復元の負荷が小さく、高性能のＣＰＵを利用しない４ビットマイコンや８ビットマイコンであっても、ＳＪＩＳコード等のコードが入力されてから対応する漢字フォントが表示部７０に表示されるまでの待ち時間が短い。
【０１２６】
また、ＲＯＭ５０をマスクＲＯＭとして構成し、半導体製造工程でデータを書き込むこととするとコストメリットがある。また、国、地域によりフォントが異なる場合には、ＲＯＭ５０をＥＥＰＲＯＭやフラッシュメモリとして、出荷直前に書き込みや書き換えを行うことにより、短納期を実現できる。
また、ＲＡＭ６０は、ＲＯＭ５０に圧縮して記憶された漢字フォントを復元したデータを記憶するキャッシュ領域５１を有し、表示部７０は、キャッシュ領域５１に記憶されたデータに基づいて取得された表示データを表示する。これにより、一度復元された漢字フォントを再度読み出す際に、キャッシュ領域５１から読み出すことが可能となるので、漢字フォントの高速な読み出し及び表示部７０への表示が可能となる。
【０１２７】
ここで、表示部７０はＬＣＤとＬＣＤドライバとからなる構成とすることができるが、その他の表示手段とすることもできる。
ここで、図１２に示す、ＣＰＵ４０は、発明１４の演算装置に対応し、ＲＯＭ５０は、発明１４乃至１６のいずれか１の不揮発性メモリに対応し、表示装置７０は、発明１４の表示装置に対応する。
【０１２８】
なお、上記第１の実施の形態においては、フォントパーツ形式サブレコード３１及びフォント参照形式サブレコード３２を用いた形式によって、漢字フォントデータを変換するようになっているが、これに限らず、基準漢字フォントデータとなる漢字フォントデータと基準漢字フォントデータとすることが出来ない漢字フォントデータとの形式を異なるものにしたりするなど、別の形式によって変換するようにしても良い。
【０１２９】
また、上記第１の実施の形態においては、一つの漢字を扁と旁の２つのパーツに分けて変換処理を施すようにしているが、これに限らず、もっと細かいパーツに分けて変換処理を施すようにしても良い。
また、上記第１の実施の形態においては、一つの基準漢字フォントデータのパーツのみを共通のパーツとして変換処理を施しているがこれに限らず、一つの漢字フォントデータが二つの基準漢字フォントデータのフォントパーツを参照するなど複数の基準漢字フォントデータのフォントパーツを参照するような構成でも良い。
【０１３０】
また、上記第１の実施の形態においては、インデックスデータとして、ＳＪＩＳの漢字コードと同様のものを付加しているが、これに限らず、特に間引きするときなどはもっとデータ量の少ないインデックスデータを付加するなど、どのような内容のインデックスデータを付加しても良い。
また、上記第１の実施の形態においては、ＳＪＩＳの漢字コードに対応する漢字フォントデータに対して本発明を適用しているが、これに限らず、別の漢字コードに対応する漢字フォントデータなど、他の漢字フォントデータに対して適用しても良い。
【図面の簡単な説明】
【０１３１】
【図１】本発明に係る漢字フォントデータ圧縮装置の構成を示すブロック図である。
【図２】圧縮処理後の漢字フォントデータのデータ構成を示す図である。
【図３】サブレコードのデータ構成を示す図である。
【図４】フォントパーツ形式のサブレコードの詳細なデータ構成を示す図である。
【図５】フォント参照形式サブレコードの詳細なデータ構成を示す図である。
【図６】フォントパーツ形式の圧縮処理の流れを示す図である。
【図７】フォント参照形式の圧縮処理の流れを示す図である。
【図８】基準漢字フォントデータ設定部１ｂの動作処理を示すフローチャートである。
【図９】圧縮処理部１ｃの動作処理を示すフローチャートである。
【図１０】情報処理装置の構成を示すブロック図である。
【図１１】情報処理装置１０の動作処理を示すフローチャートである。
【図１２】情報機器１００の構成を示すブロック図である。
【符号の説明】
【０１３２】
１…漢字フォントデータ圧縮装置、１ａ…データ記憶部、１ｂ…基準漢字フォントデータ設定部、１ｃ…圧縮処理部、１ｄ…漢字構成要素データベース、１０…情報処理装置、１０ａ…コード取得部、１０ｂ…フォントデータ選択部、１０ｃ…データ記憶部、１０ｄ…漢字フォントデータ復元部、１０ｅ…表示部、２０…漢字フォントデータ、３１…フォントパーツ形式サブレコード、３２…フォント参照形式サブレコード、２００…フォントヘッダ、２０１〜２０４…第１〜第４のサブレコード、１００…情報機器、４０…ＣＰＵ、５０…ＲＯＭ、６０…ＲＡＭ、７０…表示部、８０…キー入力装置、９０…メモリカード
【図１】
2005122158.tif 000003
【図２】
2005122158.tif 000004
【図３】
2005122158.tif 000005
【図４】
2005122158.tif 000006
【図５】
2005122158.tif 000007
【図６】
2005122158.tif 000008
【図７】
2005122158.tif 000009
【図８】
2005122158.tif 000010
【図９】
2005122158.tif 000011
【図１０】
2005122158.tif 000012
【図１１】
2005122158.tif 000013
【図１２】
2005122158.tif 000014