(57)【要約】【課題】  一の符号化方式で符号化された文字列を他の符号化方式に変換するときに、適切な符号化方式を選択することができ、変換後の符号化方式で表現された文字列を適切に扱うことが可能な文字列処理装置，文字列処理方法および画像形成装置を提供することを目的とする。【解決手段】  一の符号化方式で符号化された文字列を、複数の符号化方式から選択された他の符号化方式に変換する文字列処理装置１において、複数の符号化方式を選択し、選択した符号化方式を用いて前記一の符号化方式で符号化された文字列を変換したときの代用符号の数情報および位置情報の少なくとも一方を複数の符号化方式ごとに取得して、数情報および位置情報の少なくとも一方に基づき他の符号化方式を決定する符号化方式決定手段２３０を有することにより上記課題を解決する。【選択図】  図１０
2004246870.tif 000002
【特許請求の範囲】
【請求項１】
一の符号化方式で符号化された文字列を、複数の符号化方式から選択された他の符号化方式に変換する文字列処理装置において、
前記複数の符号化方式を選択し、選択した符号化方式を用いて前記一の符号化方式で符号化された文字列を変換したときの代用符号の数情報および位置情報の少なくとも一方を前記複数の符号化方式ごとに取得して、前記数情報および位置情報の少なくとも一方に基づき前記他の符号化方式を決定する符号化方式決定手段
を有することを特徴とする文字列処理装置。
【請求項２】
前記符号化方式決定手段は、前記複数の符号化方式を順番に選択し、選択した符号化方式を用いて前記一の符号化方式で符号化された文字列を変換したときの代用符号の数情報および位置情報の少なくとも一方が所定基準を満たさないときに、前記複数の符号化方式から次の符号化方式を選択することを特徴とする請求項１記載の文字列処理装置。
【請求項３】
前記符号化方式決定手段は、前記複数の符号化方式を優先度の順番に選択し、選択した符号化方式を用いて前記一の符号化方式で符号化された文字列を変換したときの代用符号の数情報および位置情報の少なくとも一方が所定基準を満たさないときに、前記複数の符号化方式から次の符号化方式を選択することを特徴とする請求項１記載の文字列処理装置。
【請求項４】
前記複数の符号化方式の優先度は、オペレーションパネルの表示言語として設定されている言語に応じて変化することを特徴とする請求項３記載の文字列処理装置。
【請求項５】
前記複数の符号化方式の優先度は、文字列の変換を指示したクライアントの表示言語として設定されている言語に応じて変化することを特徴とする請求項３記載の文字列処理装置。
【請求項６】
前記符号化方式決定手段は、前記数情報および位置情報の少なくとも一方に基づき前記他の符号化方式を決定できないときに、前記複数の符号化方式の優先度に基づき前記他の符号化方式を決定することを特徴とする請求項１記載の文字列処理装置。
【請求項７】
前記符号化方式決定手段は、前記選択した符号化方式を用いて前記一の符号化方式で符号化された文字列を変換したときの代用符号の数情報および位置情報の少なくとも一方が所定基準を満たすときに、前記選択した符号化方式を前記他の符号化方式として決定することを特徴とする請求項１記載の文字列処理装置。
【請求項８】
前記代用符号は、前記一の符号化方式で符号化された文字列のうち、前記選択した符号化方式を用いて変換できない文字を置き換えた文字コードであることを特徴とする請求項１乃至７何れか一項記載の文字列処理装置。
【請求項９】
一の符号化方式で符号化された文字列を用いて、他の符号化方式で符号化された文字列を照合する文字列処理装置において、
前記他の符号化方式で符号化された文字列を前記一の符号化方式に変換し、変換した文字列を前記一の符号化方式で符号化された文字列を用いて照合するときに、前記変換した文字列に含まれる代用符号を、全ての文字を表す役割をもった文字として扱う文字列照合手段
を有することを特徴とする文字列処理装置。
【請求項１０】
前記他の符号化方式で符号化される前の文字列を格納している格納手段を更に有し、前記他の符号化方式で符号化された文字列を前記一の符号化方式で符号化された文字列を用いて照合するときに、前記格納手段に格納している前記他の符号化方式で符号化される前の文字列を用いることを特徴とする請求項９記載の文字列処理装置。
【請求項１１】
前記一の符号化方式で符号化された文字のうち、同一の文字に異なる文字コードを割り当てている例を設定したテーブルを更に有することを特徴とする請求項９又は１０記載の文字列処理装置。
【請求項１２】
前記代用符号は、前記他の符号化方式で符号化された文字列のうち、前記一の符号化方式に変換できない文字を置き換えた文字コードであることを特徴とする請求項９乃至１１何れか一項記載の文字列処理装置。
【請求項１３】
一の符号化方式で符号化された文字列を、複数の符号化方式から選択された他の符号化方式に変換する文字列処理方法において、
前記複数の符号化方式を選択する段階と、
選択した符号化方式を用いて前記一の符号化方式で符号化された文字列を変換したときの代用符号の数情報および位置情報の少なくとも一方を前記複数の符号化方式ごとに取得する段階と、
前記数情報および位置情報の少なくとも一方に基づき前記他の符号化方式を決定する段階と
を有することを特徴とする文字列処理方法。
【請求項１４】
一の符号化方式で符号化された文字列を用いて、他の符号化方式で符号化された文字列を照合する文字列処理方法において、
前記他の符号化方式で符号化された文字列を前記一の符号化方式に変換する段階と、
前記変換した文字列に含まれる代用符号を全ての文字を表す役割をもった文字として扱って、前記変換した文字列を前記一の符号化方式で符号化された文字列を用いて照合する段階と
を有することを特徴とする文字列処理方法。
【請求項１５】
前記代用符号は、前記一の符号化方式または他の符号化方式に変換できない文字を置き換えた文字コードであることを特徴とする請求項１３又は１４記載の文字列処理方法。
【請求項１６】
一の符号化方式で符号化された文字列を、複数の符号化方式から選択された他の符号化方式に変換する文字列処理機能を有した画像形成装置であって、
前記複数の符号化方式を選択し、選択した符号化方式を用いて前記一の符号化方式で符号化された文字列を変換したときの代用符号の数情報および位置情報の少なくとも一方を前記複数の符号化方式ごとに取得して、前記数情報および位置情報の少なくとも一方に基づき前記他の符号化方式を決定する符号化方式決定手段
を有することを特徴とする画像形成装置。
【請求項１７】
一の符号化方式で符号化された文字列を用いて、他の符号化方式で符号化された文字列を照合する文字列照合機能を有した画像形成装置であって、
前記他の符号化方式で符号化された文字列を前記一の符号化方式に変換し、変換した文字列を前記一の符号化方式で符号化された文字列を用いて照合するときに、前記変換した文字列に含まれる代用符号を、全ての文字を表す役割をもった文字として扱う文字列照合手段
を有することを特徴とする画像形成装置。
【請求項１８】
前記代用符号は、前記一の符号化方式または他の符号化方式に変換できない文字を置き換えた文字コードであることを特徴とする請求項１６又は１７記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字列処理装置，文字列処理方法および画像形成装置に係り、特に一の符号化方式（文字コード・セット）で符号化された文字列を他の符号化方式に変換する文字列処理装置，文字列処理方法および画像形成装置に関する。
【背景技術】
【０００２】
符号化方式は、文字や記号など（以下、単に文字という）をコンピュータ上で扱うため、文字に割り当てられている文字コードに変換するものである。この符号化方式は、言語やコンピュータシステムにより異なるのが普通である。例えばインターネットでは、世界の主要言語に対応するためＵｎｉｃｏｄｅを利用したＵＴＦ−８，ＵＴＦ−１６などが標準的な符号化方式として利用されている。また、文字列処理装置および画像形成装置などでは、シフトＪＩＳやＬａｔｉｎ１等が符号化方式として利用されている。
【０００３】
複数の符号化方式を利用可能な文字列処理装置は、必要に応じて一の符号化方式で符号化された文字列を他の符号化方式に変換する。なお、画像形成装置はフォントＲＯＭの容量を節約するため、ユーザインターフェースに必要十分な少数の符号化方式を販売先の言語に応じて用意している。
【０００４】
従来、インターネットなどのネットワークに接続した文字列処理装置および画像形成装置は、ネットワーク側から例えばＵｎｉｃｏｄｅで表現された文字列を含む要求（例えば、文書名の変更要求など）を受信すると、その文字列を内部処理で利用する符号化方式に変換していた。特許文献１には、一の符号化方式で符号化された文字列を他の符号化方式に変換する内容が記載されている。
【特許文献１】特表平１１−５１２５４３号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
通常、文字列処理装置および画像形成装置は複数の符号化方式が利用可能であるため、利用する符号化方式を選択する必要があった。しかしながら、符号化方式で表現可能な文字の集合は符号化方式ごとに異なっており、変換前の符号化方式で表現可能な文字が変換後の符号化方式で表現可能な文字であるとは限らない。したがって、変換前の符号化方式と変換後の符号化方式との組み合わせによっては、全ての文字列を完全に変換できない場合があるという問題があった。
【０００６】
例えばＵｎｉｃｏｄｅで表現可能な文字の集合は、文字列処理装置および画像形成装置が内部処理で利用するシフトＪＩＳやＬａｔｉｎ１等の符号化方式で表現可能な文字の集合に全て包含されているとは限らない。したがって、Ｕｎｉｃｏｄｅで表現可能な文字であっても、内部処理で利用する符号化方式で変換可能であるとは限らないという問願があった。
【０００７】
以上のように、従来の文字列処理装置および画像形成装置は、一の符号化方式で符号化された文字列をどの符号化方式に変換するかで、変換できない文字の数が異なるため、符号化方式の選択が重要であった。また、従来の文字列処理装置および画像形成装置は、変換後の文字列を照合するとき等に、変換できなかった文字の扱いが重要であった。さらに、いくつかの符号化方式では、同一の文字に異なる文字コードを割り当てており、このような例外的な文字の扱いも重要であった。
【０００８】
本発明は、上記の点に鑑みなされたもので、一の符号化方式で符号化された文字列を他の符号化方式に変換するときに、適切な符号化方式を選択することができ、変換後の符号化方式で表現された文字列を適切に扱うことが可能な文字列処理装置，文字列処理方法および画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
そこで、上記課題を解決するため、本発明は、一の符号化方式で符号化された文字列を、複数の符号化方式から選択された他の符号化方式に変換する文字列処理装置において、前記複数の符号化方式を選択し、選択した符号化方式を用いて前記一の符号化方式で符号化された文字列を変換したときの代用符号の数情報および位置情報の少なくとも一方を前記複数の符号化方式ごとに取得して、前記数情報および位置情報の少なくとも一方に基づき前記他の符号化方式を決定する符号化方式決定手段を有することを特徴とする。
【００１０】
また、本発明は、一の符号化方式で符号化された文字列を用いて、他の符号化方式で符号化された文字列を照合する文字列処理装置において、前記他の符号化方式で符号化された文字列を前記一の符号化方式に変換し、変換した文字列を前記一の符号化方式で符号化された文字列を用いて照合するときに、前記変換した文字列に含まれる代用符号を、全ての文字を表す役割をもった文字として扱う文字列照合手段を有することを特徴とする。
【００１１】
また、本発明は、一の符号化方式で符号化された文字列を、複数の符号化方式から選択された他の符号化方式に変換する文字列処理方法において、前記複数の符号化方式を選択する段階と、選択した符号化方式を用いて前記一の符号化方式で符号化された文字列を変換したときの代用符号の数情報および位置情報の少なくとも一方を前記複数の符号化方式ごとに取得する段階と、前記数情報および位置情報の少なくとも一方に基づき前記他の符号化方式を決定する段階とを有することを特徴とする。
【００１２】
また、本発明は、一の符号化方式で符号化された文字列を用いて、他の符号化方式で符号化された文字列を照合する文字列処理方法において、前記他の符号化方式で符号化された文字列を前記一の符号化方式に変換する段階と、前記変換した文字列に含まれる代用符号を全ての文字を表す役割をもった文字として扱って、前記変換した文字列を前記一の符号化方式で符号化された文字列を用いて照合する段階とを有することを特徴とする。
【００１３】
また、本発明は、一の符号化方式で符号化された文字列を、複数の符号化方式から選択された他の符号化方式に変換する文字列処理機能を有した画像形成装置であって、前記複数の符号化方式を選択し、選択した符号化方式を用いて前記一の符号化方式で符号化された文字列を変換したときの代用符号の数情報および位置情報の少なくとも一方を前記複数の符号化方式ごとに取得して、前記数情報および位置情報の少なくとも一方に基づき前記他の符号化方式を決定する符号化方式決定手段を有することを特徴とする。
【００１４】
また、本発明は、一の符号化方式で符号化された文字列を用いて、他の符号化方式で符号化された文字列を照合する文字列照合機能を有した画像形成装置であって、前記他の符号化方式で符号化された文字列を前記一の符号化方式に変換し、変換した文字列を前記一の符号化方式で符号化された文字列を用いて照合するときに、前記変換した文字列に含まれる代用符号を、全ての文字を表す役割をもった文字として扱う文字列照合手段を有することを特徴とする。
【００１５】
本発明では、一の符号化方式で符号化された文字列を他の符号化方式の文字列に変換するときに、代用符号の数情報および位置情報の少なくとも一方に基づいて符号化方式を決定する。また、本発明では他の符号化方式に変換した文字列に含まれる代用符号を、全ての文字を表す役割ともった文字（ワイルドカード）として扱う。
【発明の効果】
【００１６】
上述の如く、本発明によれば、一の符号化方式で符号化された文字列を他の符号化方式に変換するときに、適切な符号化方式を選択することができ、変換後の符号化方式で表現された文字列を適切に扱うことが可能な文字列処理装置，文字列処理方法および画像形成装置を提供することができる。
【発明を実施するための最良の形態】
【００１７】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。
【００１８】
まず、本発明の理解を容易とするために、本発明の原理について図１〜７を参照しつつ説明する。図１〜６は、符号化方式で表現可能な文字の集合が符号化方式ごとに異なっていることを表す図である。また、図７は文字に割り当てられている文字コードを符号化方式ごとに表したルックアップテーブルである。
【００１９】
図１〜図６では、Ωが全ての文字の集合を表し、Ａが符号化方式ａで符号化可能な文字の集合を表し、Ｂが符号化方式ｂで符号化可能な文字の集合を表し、Ｃが符号化方式ｂで符号化可能な文字の集合を表している。
【００２０】
図１は、符号化方式ｂ又はｃで符号化可能な文字の集合Ｂ∪Ｃが、符号化方式ａで符号化可能な文字の集合Ａに包含されていることを表している。例えば符号化方式ａがＵＴＦ−８，符号化方式ｂがＳｈｉｆｔ＿ＪＩＳ，符号化方式ｃがＬａｔｉｎ１であるのときに、図１のような関係を有する。なお、符号化方式がＵＴＦ−８，Ｓｈｉｆｔ＿ＪＩＳ，Ｌａｔｉｎ１のときのルックアップテーブルは図７のように表される。
【００２１】
図２は、符号化方式ａ，ｂ及びｃで符号化可能な文字の集合Ａ∩Ｂ∩Ｃが、斜線で表されている。例えば図７のルックアップテーブルでは、文字「１」が図２の斜線部分に含まれる。図２の斜線部分に含まれる文字は、一の符号化方式から他の符号化方式に変換できる。
【００２２】
図３は、符号化方式ａ，ｂで符号化可能かつ符号化方式ｃで符号化できない文字の集合Ａ∩Ｂ−Ｃが、斜線で表されている。例えば図７のルックアップテーブルでは、文字「円」が図３の斜線部分に含まれる。図３の斜線部分に含まれる文字は、一の符号化方式から符号化方式ｃに変換できない。
【００２３】
本発明では、図３の斜線部分に含まれている文字を符号化方式ｃに変換する場合、その文字を代用符号に置き換える。代用符号には、文字が割り当てられていない文字コードを用いる。
【００２４】
例えば代用符号は、文字を１バイトで表現可能な符号化方式を２バイトに拡張した文字コードを用いることが考えられる。また、代用符号は文字が割り当てられていない隙間の文字コードを用いることが考えられる。さらに、文字列処理装置や画像形成装置などで用いない例えば「字削除」の制御文字を用いることも考えられる。
【００２５】
図４は、符号化方式ａ，ｃで符号化可能かつ符号化方式ｂで符号化できない文字の集合Ａ∩Ｃ−Ｂが、斜線で表されている。例えば図７のルックアップテーブルでは、文字
【００２６】
［外１］
2004246870.tif 000003
が図４の斜線部分に含まれる。図４の斜線部分に含まれる文字は、一の符号化方式から符号化方式ｂに変換できない。本発明では、図４の斜線部分に含まれている文字を符号化方式ｂに変換する場合、その文字を代用符号に置き換える。
【００２７】
図５は、符号化方式ａで符号化可能かつ符号化方式ｂ，ｃで符号化できない文字の集合Ａ−（Ｂ∪Ｃ）が、斜線で表されている。例えば図７のルックアップテーブルでは、文字
【００２８】
［外２］
2004246870.tif 000004
が図５の斜線部分に含まれる。図５の斜線部分に含まれる文字は、一の符号化方式から符号化方式ｂ，ｃに変換できない。本発明では、図５の斜線部分に含まれている文字を符号化方式ｂ，ｃに変換する場合、その文字を代用符号に置き換える。
【００２９】
図６は、符号化方式ａ，ｂ，ｃで符号化できない文字の集合
【００３０】
［外３］
2004246870.tif 000005
が、斜線で表されている。図６の斜線部分に含まれる文字は、一の符号化方式から符号化方式ａ，ｂ，ｃに変換できない。もっとも、符号化方式ａに変換できない文字が文字コードで表現されているなら、最初から代用符号になっているものと考えられる。したがって、本発明では図６の斜線部分に含まれている文字を符号化方式ｂ，ｃに変換する場合、符号化方式ａの代用符号を符号化方式ｂ，ｃの代用符号に置き換える。代用符号に置き換えられた文字は、例えばオペレーションパネルなどの操作画面に不明文字として「□」で表示される。
【００３１】
本発明の文字列処理装置は、複数の符号化方式が利用可能であるとき、代用符号に置き換えた文字の数，代用符号に置き換えた文字の位置および符号化方式の優先度により、後述するように符号化方式を選択する。
【００３２】
以下、本発明の文字列処理方法を利用する文字列処理装置の一例として画像形成装置の処理を中心に説明するが、一の符号化方式で符号化された文字列を他の符号化方式に変換する如何なる装置であってもよい。
【００３３】
なお、本実施例で説明する画像形成装置は、プリンタ，コピー，ファクシミリおよびスキャナなどの各装置の機能を１つの筐体内に収納しているため、融合機とも呼ばれる。
【００３４】
この融合機は、１つの筐体内に表示部，印刷部および撮像部などを設けると共に、プリンタ，コピー，ファクシミリおよびスキャナにそれぞれ対応する４種類のソフトウェアを設け、そのソフトウェアを切り替えることより、プリンタ，コピー，ファクシミリおよびスキャナとして動作させるものである。
【００３５】
図８は、本発明による融合機の一実施例の構成図である。融合機１は、ソフトウェア群２と，融合機起動部３と，ハードウェア資源４とを含むように構成される。
【００３６】
融合機起動部３は融合機１の電源投入時に最初に実行され、アプリケーション層５およびプラットフォーム６を起動する。例えば融合機起動部３は、アプリケーション層５およびプラットフォーム６のプログラムをハードディスク装置（以下、ＨＤＤという）などから読み出し、読み出した各プログラムをメモリ領域に転送して起動する。
【００３７】
ハードウェア資源４は、白黒レーザプリンタ（Ｂ＆Ｗ  ＬＰ）１１と，カラーレーザプリンタ（Ｃｏｌｏｒ  ＬＰ）１２と，スキャナやファクシミリなどのその他のハードウェアリソース１３とを含む。
【００３８】
また、ソフトウェア群２は、ＵＮＩＸ（登録商標）などのオペレーティングシステム（以下、ＯＳという）上に起動されているアプリケーション層５とプラットフォーム６とを含む。アプリケーション層５は、プリンタ，コピー，ファックスおよびスキャナなどの画像形成にかかるユーザサービスにそれぞれ固有の処理を行うプログラムを含む。
【００３９】
アプリケーション層５は、プリンタアプリ２１と，コピーアプリ２２と，ファックスアプリ２３と，スキャナアプリ２４と，ＷＥＢサービスインターフェース（以下、ＷＥＢサービスＩ／Ｆという）２６とを含む。
【００４０】
プラットフォーム６は、アプリケーション層５からの処理要求を解釈してハードウェア資源４の獲得要求を発生するコントロールサービス層９と、１つ以上のハードウェア資源４の管理を行ってコントロールサービス層９からの獲得要求を調停するシステムリソースマネージャ（以下、ＳＲＭという）３９と、ＳＲＭ３９からの獲得要求に応じてハードウェア資源４の管理を行うハンドラ層１０とを含む。
【００４１】
コントロールサービス層９は、ネットワークコントロールサービス（以下、ＮＣＳという）３１，デリバリーコントロールサービス（以下、ＤＣＳという）３２，オペレーションパネルコントロールサービス（以下、ＯＣＳという）３３，ファックスコントロールサービス（以下、ＦＣＳという）３４，エンジンコントロールサービス（以下、ＥＣＳという）３５，メモリコントロールサービス（以下、ＭＣＳという）３６，ユーザ情報コントロールサービス（以下、ＵＣＳという）３７，システムコントロールサービス（以下、ＳＣＳという）３８など、一つ以上のサービスモジュールを含むように構成されている。
【００４２】
なお、プラットフォーム６は予め定義されている関数により、アプリケーション層５からの処理要求を受信するアプリケーションプログラムインターフェース（以下、ＡＰＩという）５１を含むように構成されている。ＯＳは、アプリケーション層５およびプラットフォーム６の各ソフトウェアをプロセスとして並列実行する。
【００４３】
ＮＣＳ３１のプロセスは、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、各アプリケーションからのデータをネットワーク側に送信する際の仲介を行う。
【００４４】
例えばＮＣＳ３１のプロセスは、ネットワークを介して接続されるクライアントとのデータ通信を例えばｈｔｔｐｄ（HyperText Transfer Protocol Daemon）により、ＨＴＴＰ（HyperText Transfer Protocol）で制御する。
【００４５】
ＤＣＳ３２のプロセスは、蓄積文書の配送などの制御を行う。ＯＣＳ３３のプロセスは、オペレーションパネルの制御を行う。ＦＣＳ３４のプロセスは、アプリケーション層５からＰＳＴＮ，ＩＳＤＮ網を利用したファックス送受信，バックアップ用のメモリで管理されている各種ファックスデータの登録／引用，ファックス読み取り，ファックス受信印刷などを行うためのＡＰＩを提供する。
【００４６】
ＥＣＳ３５のプロセスは、白黒レーザプリンタ１１，カラーレーザプリンタ１２，ハードウェアリソース１３などのエンジン部の制御を行う。ＭＣＳ３６のプロセスは、メモリの取得および解放，ＨＤＤの利用，画像データの圧縮および伸張などのメモリ制御を行う。ＵＣＳ３７のプロセスは、ユーザ情報の管理を行うものである。
【００４７】
ＳＣＳ３８のプロセスは、アプリケーション管理，操作部制御，システム画面表示，ＬＥＤ表示，ハードウェア資源管理，割り込みアプリケーション制御などの処理を行う。
【００４８】
ＳＲＭ３９のプロセスは、ＳＣＳ３８と共にシステムの制御およびハードウェア資源４の管理を行うものである。例えばＳＲＭ３９のプロセスは、白黒レーザプリンタ１１やカラーレーザプリンタ１２などのハードウェア資源４を利用する上位層からの獲得要求に従って調停を行い、実行制御する。
【００４９】
具体的に、ＳＲＭ３９のプロセスは獲得要求されたハードウェア資源４が利用可能であるか（他の獲得要求により利用されていないかどうか）を判定し、利用可能であれば獲得要求されたハードウェア資源４が利用可能である旨を上位層に通知する。また、ＳＲＭ３９のプロセスは上位層からの獲得要求に対してハードウェア資源４を利用するためのスケジューリングを行い、要求内容（例えば、プリンタエンジンによる紙搬送と作像動作，メモリ確保，ファイル生成など）を直接実施している。
【００５０】
また、ハンドラ層１０は後述するファックスコントロールユニット（以下、ＦＣＵという）の管理を行うファックスコントロールユニットハンドラ（以下、ＦＣＵＨという）４０と、プロセスに対するメモリの割り振り及びプロセスに割り振ったメモリの管理を行うイメージメモリハンドラ（以下、ＩＭＨという）４１とを含む。
【００５１】
ＳＲＭ３９，ＦＣＵＨ４０およびＩＭＨ４１は、予め定義されている関数によりハードウェア資源４に対する処理要求を送信するエンジンＩ／Ｆ５２を利用してハードウェア資源４に対する処理要求を行う。
【００５２】
図８のような構成により、融合機１は各アプリケーションで共通的に必要な処理をプラットフォーム６で一元的に処理することができる。
【００５３】
次に、融合機１のハードウェア構成について説明する。図９は、本発明による融合機の一実施例のハードウェア構成図である。融合機１は、コントローラ６０と，オペレーションパネル７０と，ＦＣＵ８０と，ＵＳＢデバイス９０と，ＩＥＥＥ１３９４デバイス１００と，エンジン部１１０とを含む。
【００５４】
また、コントローラ６０は、ＣＰＵ６１と，システムメモリ６２と，ノースブリッジ（以下、ＮＢという）６３と，サウスブリッジ（以下、ＳＢという）６４と，ＡＳＩＣ６６と，ローカルメモリ６７と，ＨＤＤ６８，ネットワークＩ／Ｆコントローラ６９とを含む。
【００５５】
オペレーションパネル７０は、コントローラ６０のＡＳＩＣ６６に接続されている。また、ＦＣＵ８０，ＵＳＢデバイス９０，ＩＥＥＥ１３９４デバイス１００およびエンジン部１１０は、コントローラ６０のＡＳＩＣ６６にＰＣＩバスで接続されている。
【００５６】
コントローラ６０は、ＡＳＩＣ６６にローカルメモリ６７，ＨＤＤ６８，ネットワークＩ／Ｆコントローラ６９などが接続されると共に、ＣＰＵ６１とＡＳＩＣ６６とがＣＰＵチップセットのＮＢ６３を介して接続されている。ＮＢ６３を介してＣＰＵ６１とＡＳＩＣ６６とを接続すれば、ＣＰＵ６１のＩ／Ｆが公開されていない場合に対応できる。
【００５７】
なお、ＡＳＩＣ６６とＮＢ６３とは、ＰＣＩバスを介して接続されているのでなく、ＡＧＰ（Accelerated Graphics Port ）６５を介して接続されている。このように、図８のアプリケーション層５やプラットフォーム６を形成する一つ以上のプロセスを実行制御するため、ＡＳＩＣ６６とＮＢ６３とを低速のＰＣＩバスでなくＡＧＰ６５を介して接続し、パフォーマンスの低下を防いでいる。
【００５８】
ＣＰＵ６１は、融合機１の全体制御を行うものである。ＣＰＵ６１は、ＮＣＳ３１，ＤＣＳ３２，ＯＣＳ３３，ＦＣＳ３４，ＥＣＳ３５，ＭＣＳ３６，ＵＣＳ３７，ＳＣＳ３８，ＳＲＭ３９，ＦＣＵＨ４０およびＩＭＨ４１をＯＳ上にそれぞれプロセスとして起動して実行させると共に、アプリケーション層１１１を形成するプリンタアプリ２１，コピーアプリ２２，ファックスアプリ２３，スキャナアプリ２４，ネットファイルアプリ２５，ＷＥＢサービスＩ／Ｆ２６を起動して実行させる。
【００５９】
ＮＢ６３は、ＣＰＵ６１，システムメモリ６２，ＳＢ６４およびＡＳＩＣ６６を接続するためのブリッジである。システムメモリ６２は、融合機１の描画用メモリ等として用いるメモリである。ＳＢ６４は、図示していないＲＯＭ，ＰＣＩバス，周辺デバイス等とＮＢ６３とを接続するためのブリッジである。
【００６０】
ローカルメモリ６７はコピー用画像バッファ，符号バッファとして用いるメモリである。ＡＳＩＣ６６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣである。ＨＤＤ６８は、画像データの蓄積，文書データの蓄積，プログラムの蓄積，フォントデータの蓄積，フォームの蓄積などを行うためのストレージである。また、オペレーションパネル７０は、ユーザからの入力操作を受け付けると共に、ユーザに向けた表示を行う操作部である。
【００６１】
以下、ネットワークを介して接続されたクライアントから文字列を含む要求（文書名や作者名の変更，照合）を受信したときの融合機１の処理について説明していく。
【実施例１】
【００６２】
図１０は、本発明による第１実施例の文字列処理方法について説明するための融合機の構成図である。なお、図１０の構成図は説明に必要のない構成を省略している。
【００６３】
図１０では、融合機１にインターネット，ＬＡＮなどのネットワーク２１０を介してクライアント２００が接続されている。クライアント２００と融合機１とは、ＸＭＬ（eXtensible Markup Language）形式でデータ交換を行う。なお、クライアント２００と融合機１とは、例えばデータ・アクセス・プロトコルとしてＳＯＡＰ（Simple Object Access Protocol）と呼ばれる通信プロトコル規格を利用する。
【００６４】
ステップＳ１では、クライアント２００が、ＸＭＬ形式で記述した図１１のようなＳＯＡＰメッセージを作成し、そのＳＯＡＰメッセージをＨＴＴＰメッセージに格納させて融合機１に送信する。図１１は、文書名の変更要求を行うＳＯＡＰメッセージの一例の構成図である。クライアント２００から送信されたＨＴＴＰメッセージは、ＮＣＳ３１のｈｔｔｐｄ２２０を介してＷｅｂサービスＩ／Ｆ２６に供給される。
【００６５】
ＨＴＴＰメッセージを受信すると、ＷｅｂサービスＩ／Ｆ２６はディスパッチャによりＳＯＡＰメッセージを解釈したあと、文書名の変更要求に応じたｓｅｔＴｉｔｌｅのオブジェクト２３０に処理を依頼する。
【００６６】
まず、ｓｅｔＴｉｔｌｅのオブジェクト２３０は、内部処理で利用する符号化方式以外の文字列（変更後の文書名）を受信すると、その文字列を内部処理で利用する符号化方式に変換する必要がある。ここでは、ＵＴＦ−８で符号化された文字列をＳｈｉｆｔ＿ＪＩＳまたはＬａｔｉｎ１で符号化された文字列に変換する例を説明する。
【００６７】
ＷｅｂサービスＩ／Ｆ２６から処理を依頼されると、オブジェクト２３０は文字列の符号化方式を変換する必要があるかを判定し、必要があれば図１２のようなフローチャートで表す処理を実行する。
【００６８】
図１２は、符号化方式決定処理の一例のフローチャートである。図１３はＵＴＦ−８，Ｓｈｉｆｔ＿ＪＩＳおよびＬａｔｉｎ１の文字コードの割り当てを表した一例のルックアップテーブルである。
【００６９】
ステップＳ１１では、オブジェクト２３０は融合機１で利用可能な符号化方式のリストを例えばＨＤＤ６８などから取得し、最初の符号化方式として例えばＳｈｉｆｔ＿ＪＩＳを選択する。なお、符号化方式のリストはランダムに並んだものであってもよいし、優先度順に並んだものであってもよい。
【００７０】
ステップＳ１１に続いてステップＳ１２に進み、オブジェクト２３０は符号化方式を変更する文字列
【００７１】
［外４］
2004246870.tif 000006
をステップＳ１１で選択したＳｈｉｆｔ＿ＪＩＳで符号化する。図１３のルックアップテーブルを参照すると、符号化方式Ｓｈｉｆｔ＿ＪＩＳでは文字
【００７２】
［外５］
2004246870.tif 000007
が変換できない。ステップＳ１２に続いてステップＳ１３に進み、オブジェクト２３０はステップＳ１２で符号化した結果、符号化方式を変更する文字列がステップＳ１１で選択したＳｈｉｆｔ＿ＪＩＳで所定基準以上の符号化が可能であるか否かを判定する。例えば所定基準としては、完全な符号化であってもよいし、選択した符号化方式で変換できない文字の数が所定数以下であってもよい。ここでは、所定基準が完全な符号化である例を説明する。
【００７３】
この場合、Ｓｈｉｆｔ＿ＪＩＳで完全に符号化が可能ではないので（Ｓ１３においてＮＯ）、オブジェクト２３０はステップＳ１４に進む。なお、ステップＳ１１で選択した符号化方式で完全に符号化が可能であれば（Ｓ１３においてＹＥＳ）、オブジェクト２３０はステップＳ１１で選択した符号化方式に決定して処理を終了する。
【００７４】
ステップＳ１４では、オブジェクト２３０が、ステップＳ１２で符号化した結果から、代用文字に置き換える文字の数および文字の位置を例えばシステムメモリ６２に記憶する。この場合、オブジェクト２３０は代用文字に置き換える文字の数「１」および文字の位置「最初から２番目」を記憶する。
【００７５】
ステップＳ１４に続いてステップＳ１５に進み、オブジェクト２３０は符号化方式のリストから選択されていない符号化方式があるか否かを判定する。この場合、Ｌａｔｉｎ１が選択されていないので（Ｓ１５においてＹＥＳ）、オブジェクト２３０はステップＳ１６に進む。
【００７６】
ステップＳ１５に続いてステップＳ１６に進み、オブジェクト２３０は符号化方式のリストからＳｈｉｆｔ＿ＪＩＳの次のＬａｔｉｎ１を選択してステップＳ１２に戻る。ステップＳ１２では、オブジェクト２３０が符号化方式を変更する文字列
【００７７】
［外６］
2004246870.tif 000008
をステップＳ１６で選択したＬａｔｉｎ１で符号化する。図１３のルックアップテーブルから、符号化方式Ｌａｔｉｎ１では文字「作」が変換できないことが分かる。ステップＳ１２に続いてステップＳ１３に進み、オブジェクト２３０はステップＳ１２で符号化した結果、符号化方式を変更する文字列がステップＳ１６で選択したＬａｔｉｎ１で完全に符号化可能であるか否かを判定する。
【００７８】
この場合、Ｌａｔｉｎ１で完全に符号化が可能ではないので（Ｓ１３においてＮＯ）、オブジェクト２３０はステップＳ１４に進む。ステップＳ１４では、オブジェクト２３０が、ステップＳ１２で符号化した結果から、代用文字に置き換える文字の数および文字の位置を例えばシステムメモリ６２に記憶する。この場合、オブジェクト２３０は代用文字に置き換える文字の数「１」および文字の位置「最初から５番目」を記憶する。
【００７９】
ステップＳ１４に続いてステップＳ１５に進み、オブジェクト２３０は符号化方式のリストから選択されていない符号化方式があるか否かを判定する。この場合、全ての符号化方式が選択されているので（Ｓ１５においてＮＯ）、オブジェクト２３０はステップＳ１８に進む。
【００８０】
ステップＳ１８では、オブジェクト２３０が、ステップＳ１４で記憶した代用文字に置き換える文字の数，文字の位置などを用いて、所定条件に基づき最適な符号化方式を決定して処理を終了する。
【００８１】
例えばステップＳ１８では、代用文字に置き換える文字の数が一番少ない符号化方式を最適な符号化方式として決定できる。また、代用文字に置き換える文字が連続して出現する回数が一番少ない符号化方式を最適な符号化方式として決定することもできる。また、代用文字に置き換える文字の最初の出現位置が一番後ろの符号化方式を最適な符号化方式として決定することもできる。
【００８２】
また、代用文字に置き換える文字の平均の出現位置が一番後ろの符号化方式を最適な符号化方式として決定することもできる。また、符号化方式のリスト中で先に現れる符号化方式を最適な符号化方式として決定することもできる。
【００８３】
さらに、上記のような符号化方式の決定を２つ以上組み合わせるか、ポイント制にすることにより、最適な符号化方式を決定することもできる。例えば代用文字に置き換える文字の数が一番少なく、且つ代用文字に置き換える文字の最初の出現位置が一番後ろの符号化方式を最適な符号化方式として決定する場合、
【００８４】
［外７］
2004246870.tif 000009
を符号化する符号化方式としてＬａｔｉｎ１が選択される。なお、代用文字に置き換える文字の数が一番少ない符号化方式を最適な符号化方式として決定すると共に、代用文字に置き換える文字の数が同じ場合に符号化方式のリスト中で先に現れる符号化方式を最適な符号化方式として決定することもできる。
【００８５】
図１２のフローチャートにより最適な符号化方式を選択したあと、オブジェクト２３０は選択した符号化方式で文字列
【００８６】
［外８］
2004246870.tif 000010
を符号化する。オブジェクト２３０は、符号化できない文字を代用文字に置き換える。例えば
【００８７】
［外９］
2004246870.tif 000011
をＬａｔｉｎ１で符号化した場合、最初から５番目の「作」が代用文字に置き換えられる。そして、オブジェクト２３０はステップＳ２に進み、符号化した文字列を用いてＭＣＳ３６に文書名の変更要求を行う。ＭＣＳ３６は例えば図１４のような形式の書誌情報データをＨＤＤ６８等に格納しており、オブジェクト２３０からの文書名の変更要求に応じて書誌情報データを更新する。
【００８８】
そして、ステップＳ２に続いてステップＳ３に進み、ＭＣＳ３６は文書名の変更応答をオブジェクト２３０に送信する。オブジェクト２３０は文書名の変更応答を受信すると、ＷｅｂサービスＩ／Ｆ２６に処理の終了を通知する。
【００８９】
ステップＳ４では、ＷｅｂサービスＩ／Ｆ２６が、文書名の変更応答を行うＳＯＡＰメッセージをＸＭＬ形式で記述し、そのＳＯＡＰメッセージをＨＴＴＰメッセージに格納させてクライアント２００に送信する。
【００９０】
以上、本発明による第１実施例の文字列処理方法によれば、一の符号化方式で符号化された文字列を他の符号化方式に変換するときに、適切な符号化方式を選択することができる。
【００９１】
なお、図１０ではｓｅｔＴｉｔｌｅのオブジェクト２３０をＷｅｂサービスＩ／Ｆ２６に設けた例について説明したが、ＭＣＳ３６に設けてもよい。ＭＣＳ３６にオブジェクト２３０を設けた場合、ＷｅｂサービスＩ／Ｆ２６はディスパッチャによりＳＯＡＰメッセージを解釈したあと、文書名の変更要求をＭＣＳ３６に対して行う。そして、ＭＣＳ３６は文書名の変更要求に応じたｓｅｔＴｉｔｌｅのオブジェクト２３０に処理を依頼する。
【００９２】
ＷｅｂサービスＩ／Ｆ２６から処理を依頼されると、オブジェクト２３０は文字列の符号化方式を変換する必要があるかを判定し、必要があれば図１２のようなフローチャートで表す処理により最適な符号化方式を選択する。オブジェクト２３０は選択した符号化方式で文字列を符号化すると共に、符号化できない文字を代用文字に置き換える。そして、オブジェクト２３０はステップＳ２に進み、符号化した文字列を用いてＭＣＳ３６に文書名の変更要求を行う。その他の処理は、ｓｅｔＴｉｔｌｅのオブジェクト２３０をＷｅｂサービスＩ／Ｆ２６に設けた例と同様である。
【００９３】
ｓｅｔＴｉｔｌｅのオブジェクト２３０をＷｅｂサービスＩ／Ｆ２６に設けた場合のメリットは、第１実施例の文字列処理方法が、ネットワーク２１０に接続しない融合機に不要な機能であるため、Ｗｅｂサービス対応のためのオプションという構成にできることである。また、ｓｅｔＴｉｔｌｅのオブジェクト２３０をＭＣＳ３６に設けた場合のメリットは、他のＩ／Ｆ（例えばプリンタＩ／Ｆなど）でも利用できることである。
【実施例２】
【００９４】
第１実施例のように、変換できない文字を代用符号に置き換えた場合、変換後の文字列を照合するとき等、代用符号に置き換えた全ての文字が同じ文字としてみなされるという問題もあった。また、符号化方式が等しくないと文字の一致とみなさない場合、同じ文字が異なる文字とみなされるという問題があった。
【００９５】
そこで、第２実施例の融合機１は照合を行う文字列の符号化方式を等しい符号化方式に変換させ、置き換えられた代用符号をワイルドカード扱いとすることにより、上記の問題を解決している。
【００９６】
図１５は、文字列の照合について説明するための図である。例えばＵＴＦ−８で符号化された
【００９７】
［外１０］
2004246870.tif 000012
をＳｈｉｆｔ＿ＪＩＳまたはＬａｔｉｎ１で符号化し、再びＵＴＦ−８に符号化した文字列は、
【００９８】
［外１１］
2004246870.tif 000013
に一致していない。そこで、代用符号で表される不明文字をワイルドカード扱いとすることで、
【００９９】
［外１２］
2004246870.tif 000014
に完全一致する文字列を照合できる。また、
【０１００】
［外１３］
2004246870.tif 000015
に前方一致する文字列も照合できる。また、Ｗｉｎｄｏｗｓ（登録商標）やＭＡＣ（登録商標）などのＯＳの違いにより、ＵＴＦ−８では同一の文字に異なる文字コードを例えば図１６のように割り当てている。このような例外的な文字を予め図１６のようなテーブルに設定しておくことで、本発明の文字列処理方法では異なる文字コードを割り当てられた文字であっても同一の文字としてみなすことができる。なお、図１６のテーブルはデータの保持形式の一例であって、例えばＸＭＬなどであってもよい。
【０１０１】
図１６は、例外的な文字を設定したテーブルの一例の構成図である。図１６のテーブルを利用することで、本発明の文字列処理方法は例外的な文字を含む文字列であっても正確な照合が可能である。なお、本発明の文字列処理方法では大文字および小文字，平仮名および片仮名の関係を例外的な文字と同様、テーブルに設定しておくことで、異なる文字であっても同一の文字としてみなすこともできる。
【０１０２】
図１７は、本発明による第２実施例の文字列処理方法について説明するための融合機の構成図である。なお、図１７の構成図は説明に必要のない構成を省略している。また、図１７の融合機１は図１０の融合機１と一部を除いて同様な構成であるため適宜説明を省略する。
【０１０３】
図１７の融合機１は、ＷｅｂサービスＩ／Ｆ２６に文書名の照合要求に応じたＳｅａｒｃｈのオブジェクト２４０を備え、また、ＷｅｂサービスＩ／Ｆ２６が利用するキャッシュ２５０を備えるように構成される。
【０１０４】
図１８は、文字列の照合処理について説明するための一例のフローチャートである。クライアント２００から上記の文字列の符号化方式の変換を経て文書名の変更または文書の作成に伴う文書名の設定を指示するか、操作者がオペレーションパネル７０を操作して文書名の変更または文書の作成を指示すると、融合機１のＯＣＳ３３はステップＳ２１に進み、文書名の変更要求または文書の作成要求をＭＣＳ３６に送信する。
【０１０５】
ステップＳ２１に続いてステップＳ２２に進み、ＭＣＳ３６は文書名の変更要求または文書の作成要求を受信し、その文書名の変更要求または文書の作成要求に応じて図１４のような書誌情報データを変更する。そして、ＭＣＳ３６はファイル変化通知をＷｅｂサービスＩ／Ｆ２６に送信する。
【０１０６】
ファイル変化通知を受信すると、ＷｅｂサービスＩ／Ｆ２６は文書名の照合要求に応じたｓｅａｒｃｈのオブジェクト２４０に処理を依頼する。図１９は、符号化処理の一例のフローチャートである。
【０１０７】
ステップＳ３１では、受信したファイル変化通知に含まれている文書名が内部処理で利用するＳｈｉｆｔ＿ＪＩＳまたはＬａｔｉｎ１等の符号化方式で符号化されているため、ＵＴＦ−８に変換される。ステップＳ３１に続いてステップＳ３２に進み、オブジェクト２４０は受信したファイル変化通知に含まれている文書ＩＤをキー情報としてキャッシュ２５０から該当する文書名を検索して照合する。
【０１０８】
ステップＳ３２に続いてステップＳ３３に進み、オブジェクト２４０はステップＳ３２での照合結果から、ＵＴＦ−８に変換された文書名とキャッシュ２５０から検索された文書名とが一致とみなせるか否かを判定する。
【０１０９】
ＵＴＦ−８に変換された文書名とキャッシュ２５０から検索された文書名とが一致とみなせると判定すると（Ｓ３３においてＹＥＳ）、オブジェクト２４０は図１９の符号化処理を終了する。
【０１１０】
例えばＵＴＦ−８に変換された文書名が
【０１１１】
［外１４］
2004246870.tif 000016
であり、キャッシュ２５０から検索された文書名が
【０１１２】
［外１５］
2004246870.tif 000017
である場合、前述したように代用符号で表される不明文字をワイルドカード扱いとすることで、ＵＴＦ−８に変換された文書名とキャッシュ２５０から検索された文書名とを一致とみなせる。クライアント２００からの文書名の設定の際には内部処理で利用する符号化方式に変換する前の文字列をキャッシュ２５０にまず格納する方式をとれば、クライアント２００からの文書名の設定の際に、このような場合が発生する。
【０１１３】
一方、ＵＴＦ−８に変換された文書名とキャッシュ２５０から検索された文書名とが一致とみなせないと判定すると（Ｓ３３においてＮＯ）、オブジェクト２４０はＵＴＦ−８に変換された文書名を新しい文書名としてキャッシュ２５０に格納して図１９の符号化処理を終了する。
【０１１４】
例えばＵＴＦ−８に変換された文書名が
【０１１５】
［外１６］
2004246870.tif 000018
であり、キャッシュ２５０から検索された文書名が
【０１１６】
［外１７］
2004246870.tif 000019
である場合、ＵＴＦ−８に変換された文書名とキャッシュ２５０から検索された文書名とを一致とみなせない。そこで、オブジェクト２４０は
ＵＴＦ−８に変換された文書名
【０１１７】
［外１８］
2004246870.tif 000020
を新しい文書名としてキャッシュ２５０に格納する。クライアント２００からの文書名の設定の際には内部処理で利用する符号化方式に変換する前の文字列をキャッシュ２５０に格納しない方式をとれば、キャッシュ２５０から検索された文書名が
【０１１８】
［外１９］
2004246870.tif 000021
ではなく
【０１１９】
［外２０］
2004246870.tif 000022
であったりするが、不明文字をワイルドカード扱いとしても
【０１２０】
［外２１］
2004246870.tif 000023
とは一致しないので、同様の結果となる。
【０１２１】
このように、図１７の融合機１では文書名の変更があったときに、文書名を内部処理で利用するＳｈｉｆｔ＿ＪＩＳまたはＬａｔｉｎ１等からＵＴＦ−８に変換している。
【０１２２】
ステップＳ２３では、クライアント２００が、ＸＭＬ形式で記述した図２０のようなＳＯＡＰメッセージを作成し、そのＳＯＡＰメッセージをＨＴＴＰメッセージに格納させて融合機１に送信する。図２０は、文書名の検索要求を行うＳＯＡＰメッセージの一例の構成図である。クライアント２００から送信されたＨＴＴＰメッセージは、ＮＣＳ３１のｈｔｔｐｄ２２０を介してＷｅｂサービスＩ／Ｆ２６に供給される。
【０１２３】
ＨＴＴＰメッセージを受信すると、ＷｅｂサービスＩ／Ｆ２６はディスパッチャによりＳＯＡＰメッセージを解釈したあと、ｓｅａｒｃｈのオブジェクト２４０に処理を依頼する。
【０１２４】
ｓｅａｒｃｈのオブジェクト２４０は、ＵＴＦ−８で符号化された文字列（検索を行う文書名）を受信すると、その文字列をキー情報としてキャッシュ２５０から該当する文書名を検索して照合する。オブジェクト２４０は文字列の照合処理が終了すると、ＷｅｂサービスＩ／Ｆ２６に処理の終了を通知する。
【０１２５】
ステップＳ２４では、ＷｅｂサービスＩ／Ｆ２６が、文書名の検索応答を行うＳＯＡＰメッセージをＸＭＬ形式で記述し、そのＳＯＡＰメッセージをＨＴＴＰメッセージに格納させてクライアント２００に送信する。
【０１２６】
以上、本発明による第２実施例の文字列処理方法によれば、変換後の文字列を照合するときに、符号化方式の違いによる変換後の文字列の差異を吸収することができる。また、キャッシュ２５０を利用することにより、変換後の文字列を照合するときに、いちいちＭＣＳ３６に問い合わせる必要がない。更に、クライアント２００からの文書名の設定の際には内部処理で利用する符号化方式に変換する前の文字列をキャッシュ２５０にまず格納する方式を取っておけば、クライアント２００からの文書名の検索の際には不明文字を含まない変換前の文字列同士の照合となるので、不明文字をワイルドカード扱いとするよりも検索の精度が高いものとなる。
【０１２７】
なお、図１７ではｓｅａｒｃｈのオブジェクト２４０をＷｅｂサービスＩ／Ｆ２６に設けた例について説明したが、ＭＣＳ３６に設けてもよい。図２１は、文字列の照合処理について説明するための一例のフローチャートである。
【０１２８】
クライアント２００から上記の文字列の符号化方式の変換を経て文書名の変更または文書の作成に伴う文書名の設定を指示するか、操作者がオペレーションパネル７０を操作して文書名の変更または文書の作成を指示すると、融合機１のＯＣＳ３３はステップＳ２１に進み、文書名の変更要求または文書の作成要求をＭＣＳ３６に送信する。
【０１２９】
ステップＳ２１に続いてステップＳ２２に進み、ＭＣＳ３６は文書名の変更要求または文書の作成要求を受信し、その文書名の変更要求または文書の作成要求に応じて図１４のような書誌情報データを変更する。そして、ＭＣＳ３６は文書名の照合要求に応じたｓｅａｒｃｈのオブジェクト２４０に処理を依頼する。
【０１３０】
オブジェクト２４０は図１９のような符号化処理を行い、ＵＴＦ−８に変換された文書名とキャッシュ２５０から検索された文書名とが一致とみなせないと判定したときに、ＵＴＦ−８に変換された文書名を新しい文書名としてキャッシュ２５０に格納する。
【０１３１】
このように、図１７の融合機１では文書名の変更があったときに、文書名を内部処理で利用するＳｈｉｆｔ＿ＪＩＳまたはＬａｔｉｎ１等からＵＴＦ−８に変換している。
【０１３２】
ステップＳ４２では、クライアント２００が、ＸＭＬ形式で記述した図２０のようなＳＯＡＰメッセージを作成し、そのＳＯＡＰメッセージをＨＴＴＰメッセージに格納させて融合機１に送信する。クライアント２００から送信されたＨＴＴＰメッセージは、ＮＣＳ３１のｈｔｔｐｄ２２０を介してＷｅｂサービスＩ／Ｆ２６に供給される。
【０１３３】
ＨＴＴＰメッセージを受信すると、ＷｅｂサービスＩ／Ｆ２６はディスパッチャによりＳＯＡＰメッセージを解釈したあと、ステップＳ４３で文書名の検索要求をＭＣＳ３６に送信する。ＭＣＳ３６は文書名の検索要求を受信すると、ｓｅａｒｃｈのオブジェクト２４０に処理を依頼する。
【０１３４】
ｓｅａｒｃｈのオブジェクト２４０は、ＵＴＦ−８で符号化された文字列（検索を行う文書名）を受信すると、その文字列をキー情報としてキャッシュ２５０から該当する文書名を検索して照合する。オブジェクト２４０は文字列の照合処理が終了すると、ＭＣＳ３６に処理の終了を通知する。
【０１３５】
ステップＳ４４では、ＭＣＳ３６が、文書名の検索結果をＷｅｂサービスＩ／Ｆ２６に送信する。ステップＳ４５では、ＷｅｂサービスＩ／Ｆ２６が、文書名の検索応答を行うＳＯＡＰメッセージをＸＭＬ形式で記述し、そのＳＯＡＰメッセージをＨＴＴＰメッセージに格納させてクライアント２００に送信する。
【０１３６】
以上、本発明による第２実施例の文字列処理方法によれば、変換後の文字列を照合するときに、符号化方式の違いによる変換後の文字列の差異を吸収することができる。
【０１３７】
Ｓｅａｒｃｈのオブジェクト２４０をＷｅｂサービスＩ／Ｆ２６に設けた場合のメリットは、第２実施例の文字列処理方法が、ネットワーク２１０に接続しない融合機に不要な機能であるため、Ｗｅｂサービス対応のためのオプションという構成にできることである。また、Ｓｅａｒｃｈのオブジェクト２４０をＭＣＳ３６に設けた場合のメリットは、他のＩ／Ｆ（例えばプリンタＩ／Ｆなど）でも利用できることである。
【０１３８】
前述した第１実施例の融合機１ではキャッシュ２５０を有していないが、図１７の融合機１と同様に、ＷｅｂサービスＩ／Ｆ２６またはＭＣＳ３６が利用するキャッシュ２５０を備えるようにしてもよい。
【０１３９】
第１実施例の融合機１でキャッシュ２５０を備えることにより、変換前の文字列をキャッシュ２５０に格納しておくことができる。このように、変換前の文字列をキャッシュ２５０に格納しておくことにより、変換前の文字列を文字列の照合処理に利用することができ、文字列の照合処理の精度を上げることができる。
【実施例３】
【０１４０】
上記の実施例１では、符号化方式の優先順位が固定されている例を説明したが、様々な条件に応じて符号化方式の優先順位が変化するようにしてもよい。そこで、実施例３では様々な条件に応じて符号化方式の優先順位が変化する例を説明する。
【０１４１】
図２２は、本発明による第３実施例の文字列処理方法について説明するための融合機の構成図である。図２３は、本発明による第３実施例の文字列処理方法について説明するためのシーケンス図である。なお、図２２及び図２３では説明に必要のない構成を省略している。また、図２２の構成図は図１０の構成図と一部を除いて同様であるため、適宜説明を省略する。
【０１４２】
ステップＳ５１では、クライアント２００のブラウザ２０１が、ＵＲＬを指定してｈｔｔｐリクエストを行う。例えばステップＳ５１で指定されるＵＲＬは、「ｈｔｔｐ：／／１１１．２２２．３３．４４／ｊａ／ｄｏｃｕｍｅｎｔｂｏｘ／」等である。このＵＲＬには、ブラウザ２０１の表示言語が日本語である例であり、ＵＲＬ中の「ｊａ」で表示言語が日本語に指定されている。ブラウザ２０１から送信されたＨＴＴＰリクエストは、融合機１のＮＣＳ３１に含まれるｈｔｔｐｄ２２０に供給される。
【０１４３】
ステップＳ５２に進み、ｈｔｔｐｄ２２０は供給されたｈｔｔｐリクエストをＷｅｂアプリ２７に供給する。ｈｔｔｐリクエストを受信すると、Ｗｅｂアプリ２７はｈｔｔｐリクエストで指定されているＵＲＬからブラウザ２０１の表示言語を特定し、その表示言語に応じた画面データを生成する。
【０１４４】
ステップＳ５３に進み、Ｗｅｂアプリ２７は生成した画面データをｈｔｔｐｄ２２０に供給する。ステップＳ５４に進み、ｈｔｔｐｄ２２０は供給された画面データをクライアント２００のブラウザ２０１に送信する。
【０１４５】
画面データを受信すると、ブラウザ２０１はステップＳ５５に進み、画面データに応じた画面を表示する。そして、ユーザはブラウザ２０１に表示された画面に文字列を入力する。ステップＳ５６に進み、クライアント２００のブラウザ２０１はステップＳ５５で画面に入力された文字列を含むｈｔｔｐリクエストを行う。ブラウザ２０１から送信されたｈｔｔｐリクエストは、融合機１のｈｔｔｐｄ２２０に供給される。
【０１４６】
ステップＳ５７に進み、ｈｔｔｐｄ２２０は供給されたｈｔｔｐリクエストをＷｅｂアプリ２７に供給する。ｈｔｔｐリクエストを受信すると、Ｗｅｂアプリ２７はステップＳ５８に進み、ｈｔｔｐリクエストに含まれる文字列を取得してｓｅｔＴｉｔｌｅのオブジェクト２３０に処理を依頼する。
【０１４７】
まず、ｓｅｔＴｉｔｌｅのオブジェクト２３０は、内部処理で利用する符号化方式以外の文字列を受信した場合、その文字列を内部処理で利用する符号化方式に変換する必要がある。そこで、オブジェクト２３０は文字列の符号化方式を変換する必要があるかを判定し、必要があれば前述した図１２のようなフローチャートで表す処理を実行する。
【０１４８】
なお、実施例３の場合、図１２のステップＳ１１の処理が実施例１の場合と異なる。オブジェクト２３０は、符号化方式の優先順位を次のように決定し、その優先順位に従って符号化方式を選択する。優先順位の決定は、次のように行う。まず、ブラウザ２０１の表示言語に対応する符号化方式は、上位の優先順位とする。オペレーションパネル７０の表示言語に対応する符号化方式は、中位の優先順位とする。そして、それ以外の符号化方式は、下位の優先順位とする。この場合の優先順位は、ブラウザ２０１の表示言語に対応する符号化方式、オペレーションパネル７０の表示言語に対応する符号化方式、それ以外の符号化方式となる。
【０１４９】
ステップＳ１１以外の処理は、実施例１の場合と同様であるため説明を省略する。図１２のフローチャートにより最適な符号化方式を選択したあと、オブジェクト２３０は選択した符号化方式で文字列を符号化する。なお、オブジェクト２３０は、符号化できない文字を代用文字に置き換える。
【０１５０】
そして、ステップＳ５９に進み、Ｗｅｂアプリ２７はステップＳ５７のｈｔｔｐリクエストに対応する画面データを作成し、その画面データをｈｔｔｐｄ２２０に供給する。ステップＳ５４に進み、ｈｔｔｐｄ２２０は供給された画面データをクライアント２００のブラウザ２０１に送信する。
【０１５１】
以上、本発明による第３実施例の文字列処理方法によれば、一の符号化方式で符号化された文字列を他の符号化方式に変換するときに、様々な条件に応じて符号化方式の優先順位を変化させることができるので、適切な符号化方式を選択することができる。
【０１５２】
なお、図２２ではｓｅｔＴｉｔｌｅのオブジェクト２３０をＷｅｂアプリ２７に設けた例について説明したが、ＭＣＳ３６に設けてもよい。ｓｅｔＴｉｔｌｅのオブジェクト２３０をＷｅｂアプリ２７に設けた場合のメリットは、実施例３の文字列処理方法が、ネットワーク２１０に接続しない融合機に不要な機能であるため、Ｗｅｂアプリ２７のオプションという構成にできることである。また、ｓｅｔＴｉｔｌｅのオブジェクト２３０をＭＣＳ３６に設けた場合のメリットは、他のアプリ（例えばプリンタアプリなど）でも利用できることである。
【０１５３】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求のの範囲から逸脱することなく、種々の変形や変更が可能である。
【０１５４】
例えば、請求項１記載の文字列処理装置の前記符号化方式決定手段は、前記代用符号の数情報に基づき前記代用符号の数が最も少ない符号化方式を前記他の符号化方式として決定することを特徴としてもよい。
【０１５５】
また、請求項１記載の文字列処理装置の前記符号化方式決定手段は、前記代用符号の数情報に基づき前記代用符号が連続して出現する回数が最も少ない符号化方式を前記他の符号化方式として決定することを特徴としてもよい。
【０１５６】
また、請求項１記載の文字列処理装置の前記符号化方式決定手段は、前記代用符号の位置情報に基づき前記代用符号の出現位置が最も後ろの符号化方式を前記他の符号化方式として決定することを特徴としてもよい。
【０１５７】
また、請求項１記載の文字列処理装置の前記符号化方式決定手段は、前記代用符号の位置情報に基づき前記代用符号の平均出現位置が最も後ろの符号化方式を前記他の符号化方式として決定することを特徴としてもよい。
【０１５８】
また、上記に記載の文字列処理装置の前記符号化方式決定手段は、前記代用符号の数情報および位置情報に基づき、前記代用符号の数，前記代用符号が連続して出現する回数，前記代用符号の出現位置，前記代用符号の平均出現位置の組み合わせから、前記他の符号化方式を決定することを特徴としてもよい。
【０１５９】
また、上記に記載の文字列処理装置の前記符号化方式決定手段は、前記代用符号の数，前記代用符号が連続して出現する回数，前記代用符号の出現位置，前記代用符号の平均出現位置を数値化して、前記数値により前記他の符号化方式を決定することを特徴としてもよい。
【０１６０】
また、上記に記載の文字列処理装置の前記符号化方式決定手段は、前記代用符号の数情報および位置情報に基づき、前記代用符号の数，前記代用符号が連続して出現する回数，前記代用符号の出現位置，前記代用符号の平均出現位置の何れかが同じであるときに、前記複数の符号化方式のリスト中で先に現れる符号化方式を前記他の符号化方式として決定することを特徴としてもよい。
【０１６１】
また、上記に記載の文字列処理装置の前記符号化方式決定手段は、前記代用符号の数情報および位置情報に基づき、前記代用符号の数，前記代用符号が連続して出現する回数，前記代用符号の出現位置，前記代用符号の平均出現位置の何れかが同じであるときに、前記複数の符号化方式の優先度に応じて前記他の符号化方式を決定することを特徴としてもよい。
【０１６２】
また、上記に記載の文字列処理装置の前記符号化方式決定手段は、前記選択した符号化方式を用いて前記一の符号化方式で符号化された文字列を変換したとき、前記代用符号が出現しなければ、前記選択している符号化方式を前記他の符号化方式として決定することを特徴としてもよい。
【図面の簡単な説明】
【０１６３】
【図１】符号化方式で表現可能な文字の集合が符号化方式ごとに異なっていることを表す図である。
【図２】符号化方式で表現可能な文字の集合が符号化方式ごとに異なっていることを表す図である。
【図３】符号化方式で表現可能な文字の集合が符号化方式ごとに異なっていることを表す図である。
【図４】符号化方式で表現可能な文字の集合が符号化方式ごとに異なっていることを表す図である。
【図５】符号化方式で表現可能な文字の集合が符号化方式ごとに異なっていることを表す図である。
【図６】符号化方式で表現可能な文字の集合が符号化方式ごとに異なっていることを表す図である。
【図７】文字に割り当てられている文字コードを符号化方式ごとに表したルックアップテーブルである。
【図８】本発明による融合機の一実施例の構成図である。
【図９】本発明による融合機の一実施例のハードウェア構成図である。
【図１０】本発明による第１実施例の文字列処理方法について説明するための融合機の構成図である。
【図１１】文書名の変更要求を行うＳＯＡＰメッセージの一例の構成図である。
【図１２】符号化方式決定処理の一例のフローチャートである。
【図１３】ＵＴＦ−８，Ｓｈｉｆｔ＿ＪＩＳおよびＬａｔｉｎ１の文字コードの割り当てを表した一例のルックアップテーブルである。
【図１４】書誌情報データの形式を表した図である。
【図１５】文字列の照合について説明するための図である。
【図１６】例外的な文字を設定したテーブルの一例の構成図である。
【図１７】本発明による第２実施例の文字列処理方法について説明するための融合機の構成図である。
【図１８】文字列の照合処理について説明するための一例のフローチャートである。
【図１９】符号化処理の一例のフローチャートである。
【図２０】文書名の検索要求を行うＳＯＡＰメッセージの一例の構成図である。
【図２１】文字列の照合処理について説明するための一例のフローチャートである。
【図２２】本発明による第３実施例の文字列処理方法について説明するための融合機の構成図である。
【図２３】本発明による第３実施例の文字列処理方法について説明するためのシーケンス図である。
【符号の説明】
【０１６４】
１    融合機
２    ソフトウェア群
３    融合機起動部
４    ハードウェア資源
５    アプリケーション層
６    プラットフォーム
９    コントロールサービス層
１０    ハンドラ層
１１    白黒レーザプリンタ（Ｂ＆Ｗ  ＬＰ）
１２    カラーレーザプリンタ（Ｃｏｌｏｒ  ＬＰ）
１３    ハードウェアリソース
２１    プリンタアプリ
２２    コピーアプリ
２３    ファックスアプリ
２４    スキャナアプリ
２５    ネットファイルアプリ
２６    ＷｅｂサービスＩ／Ｆ
２７    Ｗｅｂアプリ
３１    ネットワークコントロールサービス（ＮＣＳ）
３２    デリバリーコントロールサービス（ＤＣＳ）
３３    オペレーションパネルコントロールサービス（ＯＣＳ）
３４    ファックスコントロールサービス（ＦＣＳ）
３５    エンジンコントロールサービス（ＥＣＳ）
３６    メモリコントロールサービス（ＭＣＳ）
３７    ユーザインフォメーションコントロールサービス（ＵＣＳ）
３８    システムコントロールサービス（ＳＣＳ）
３９    システムリソースマネージャ（ＳＲＭ）
４０    ファックスコントロールユニットハンドラ（ＦＣＵＨ）
４１    イメージメモリハンドラ（ＩＭＨ）
５１    アプリケーションプログラムインターフェース（ＡＰＩ）
５２    エンジンＩ／Ｆ
６０    コントローラ
６１    ＣＰＵ
６２    システムメモリ
６３    ノースブリッジ（ＮＢ）
６４    サウスブリッジ（ＳＢ）
６５    ＡＧＰ（Accelerated Graphics Port）
６６    ＡＳＩＣ
６７    ローカルメモリ
６８    ハードディスク装置（ＨＤＤ）
６９    ネットワークＩ／Ｆコントローラ
７０    オペレーションパネル
８０    ファックスコントロールユニット（ＦＣＵ）
９０    ＵＳＢデバイス
１００    ＩＥＥＥ１３９４デバイス
１１０    エンジン部
２００    クライアント
２０１    ブラウザ
２１０    ネットワーク
２２０    ｈｔｔｐｄ（HyperText Transfer Protocol Daemon）
２３０    ｓｅｔＴｉｔｌｅのオブジェクト
２４０    Ｓｅａｒｃｈのオブジェクト
【図１】
2004246870.tif 000024
【図２】
2004246870.tif 000025
【図３】
2004246870.tif 000026
【図４】
2004246870.tif 000027
【図５】
2004246870.tif 000028
【図６】
2004246870.tif 000029
【図７】
2004246870.tif 000030
【図８】
2004246870.tif 000031
【図９】
2004246870.tif 000032
【図１０】
2004246870.tif 000033
【図１１】
2004246870.tif 000034
【図１２】
2004246870.tif 000035
【図１３】
2004246870.tif 000036
【図１４】
2004246870.tif 000037
【図１５】
2004246870.tif 000038
【図１６】
2004246870.tif 000039
【図１７】
2004246870.tif 000040
【図１８】
2004246870.tif 000041
【図１９】
2004246870.tif 000042
【図２０】
2004246870.tif 000043
【図２１】
2004246870.tif 000044
【図２２】
2004246870.tif 000045
【図２３】
2004246870.tif 000046