(57)【要約】【課題】  意味不明な記号に置き換えられて表示された文字列を、修正可能とすることを目的とする。また、本発明は、複合機内に保持されている文字列の内、ユーザが修正したのと同様の文字符号化結果を含む文字列の文字符号化方式を修正することを目的とする。【解決手段】  画像を形成する画像形成装置１００であって、符号化方式に基づいて、文字を符号化した結果である文字符号化結果を含む文字列を受信する文字列受信手段と、文字列受信手段において受信した文字列に含まれる文字符号化結果に基づいて、符号化方式を推定する符号化方式推定手段と、符号化方式推定手段において推定した符号化方式を、対応する文字列に含めて記憶する文字列記憶手段と、ユーザが修正対象とした文字符号化結果と同じ文字符号化結果を含む文字列を、文字列記憶手段より検索する文字列検索手段と、文字列検索手段において検索された文字列に含まれる符号化方式を修正する第一符号化方式修正手段と、を有することによって上記課題を解決する。【選択図】  図２
2005191669.tif 000002
【特許請求の範囲】
【請求項１】
画像を形成する画像形成装置であって、
符号化方式に基づいて、文字を符号化した結果である文字符号化結果を含む文字列を受信する文字列受信手段と、
前記文字列受信手段において受信した前記文字列に含まれる前記文字符号化結果に基づいて、符号化方式を推定する符号化方式推定手段と、
前記符号化方式推定手段において推定した符号化方式を、対応する前記文字列に含めて記憶する文字列記憶手段と、
ユーザが修正対象とした前記文字符号化結果と同じ文字符号化結果を含む文字列を、前記文字列記憶手段より検索する文字列検索手段と、
前記文字列検索手段において検索された文字列に含まれる符号化方式を修正する第一符号化方式修正手段と、
を有することを特徴とする画像形成装置。
【請求項２】
ユーザからの要求に応じて、修正対象とされた前記文字符号化結果の符号化方式の候補を前記ユーザに提供する符号化方式候補提供手段を更に有することを特徴とする請求項１記載の画像形成装置。
【請求項３】
符号化方式の修正に係る修正履歴を記憶する修正履歴記憶手段を更に有することを特徴とする請求項１又は２記載の画像形成装置。
【請求項４】
前記符号化方式推定手段は、前記修正履歴記憶手段に記憶されている前記修正履歴を利用して符号化方式を推定することを特徴とする請求項３記載の画像形成装置。
【請求項５】
前記符号化方式候補提供手段は、前記修正履歴記憶手段に記憶されている前記修正履歴を利用して修正対象とされた前記文字符号化結果の符号化方式の候補を前記ユーザに提供することを特徴とする請求項３記載の画像形成装置。
【請求項６】
前記第一符号化方式修正手段は、前記修正履歴記憶手段に記憶されている前記修正履歴を利用して前記文字列検索手段において検索された文字列に含まれる符号化方式を修正することを特徴とする請求項３記載の画像形成装置。
【請求項７】
前記文字列記憶手段に記憶した前記文字列に係る文字列情報を記憶する文字列情報記憶手段を更に有することを特徴とする請求項１又は２記載の画像形成装置。
【請求項８】
前記文字列検索手段は、前記文字列情報記憶手段に記憶されている前記文字列情報を利用してユーザが修正対象とした前記文字符号化結果と同じ文字符号化結果を含む文字列を、前記文字列記憶手段より検索することを特徴とする請求項７記載の画像形成装置。
【請求項９】
画像を形成する画像形成装置であって、
符号化方式に基づいて、文字を符号化した結果である文字符号化結果を含む文字列を受信する文字列受信手段と、
前記文字列受信手段において受信した前記文字列に含まれる前記文字符号化結果に基づいて、符号化方式を推定する符号化方式推定手段と、
前記符号化方式推定手段において推定した符号化方式を、対応する前記文字列に含めて記憶する文字列記憶手段と、
ユーザからの要求に応じて、修正対象とされた前記文字符号化結果の符号化方式の候補を前記ユーザに提供する符号化方式候補提供手段と、
修正対象とされた前記文字符号化結果に対応する、前記文字列記憶手段に記憶されている文字列に含まれる符号化方式を、ユーザによって選択された符号化方式に修正する第二符号化方式修正手段と、
を有することを特徴とする画像形成装置。
【請求項１０】
前記符号化方式候補提供手段は、修正対象とされた前記文字符号化結果の符号化方式の候補を、該符号化方式に基づいて表示された前記文字符号化結果と共にタッチパネル上に表示することによって、前記ユーザに提供することを特徴とする請求項９記載の画像形成装置。
【請求項１１】
前記符号化方式候補提供手段は、修正対象とされた前記文字符号化結果の符号化方式の候補を、該符号化方式に基づいて表示された前記文字符号化結果と共に印字出力することによって、前記ユーザに提供することを特徴とする請求項９記載の画像形成装置。
【請求項１２】
符号化方式を修正する符号化方式修正方法であって、
符号化方式に基づいて、文字を符号化した結果である文字符号化結果を含む文字列を受信する文字列受信段階と、
前記文字列受信段階において受信した前記文字列に含まれる前記文字符号化結果に基づいて、符号化方式を推定する符号化方式推定段階と、
前記符号化方式推定段階において推定した符号化方式を、対応する前記文字列に含めて文字列記憶手段に記憶する文字列記憶段階と、
ユーザが修正対象とした前記文字符号化結果と同じ文字符号化結果を含む文字列を、前記文字列記憶手段より検索する文字列検索段階と、
前記文字列検索段階において検索された文字列に含まれる符号化方式を修正する第一符号化方式修正段階と、
を有することを特徴とする符号化方式修正方法。
【請求項１３】
ユーザからの要求に応じて、修正対象とされた前記文字符号化結果の符号化方式の候補を前記ユーザに提供する符号化方式候補提供段階を更に有することを特徴とする請求項１２記載の符号化方式修正方法。
【請求項１４】
符号化方式の修正に係る修正履歴を修正履歴記憶手段に記憶する修正履歴記憶段階を更に有することを特徴とする請求項１２又は１３記載の符号化方式修正方法。
【請求項１５】
前記符号化方式推定段階は、前記修正履歴記憶手段に記憶されている前記修正履歴を利用して符号化方式を推定することを特徴とする請求項１４記載の符号化方式修正方法。
【請求項１６】
前記符号化方式候補提供段階は、前記修正履歴記憶手段に記憶されている前記修正履歴を利用して修正対象とされた前記文字符号化結果の符号化方式の候補を前記ユーザに提供することを特徴とする請求項１４記載の符号化方式修正方法。
【請求項１７】
前記第一符号化方式修正段階は、前記修正履歴記憶手段に記憶されている前記修正履歴を利用して前記文字列検索段階において検索された文字列に含まれる符号化方式を修正することを特徴とする請求項１４記載の符号化方式修正方法。
【請求項１８】
前記文字列記憶手段に記憶した前記文字列に係る文字列情報を文字列情報記憶手段に記憶する文字列情報記憶段階を更に有することを特徴とする請求項１２又は１３記載の符号化方式修正方法。
【請求項１９】
前記文字列検索段階は、前記文字列情報記憶手段に記憶されている前記文字列情報を利用してユーザが修正対象とした前記文字符号化結果と同じ文字符号化結果を含む文字列を、前記文字列記憶手段より検索することを特徴とする請求項１８記載の符号化方式修正方法。
【請求項２０】
符号化方式を修正する符号化方式修正方法であって、
符号化方式に基づいて、文字を符号化した結果である文字符号化結果を含む文字列を受信する文字列受信段階と、
前記文字列受信段階において受信した前記文字列に含まれる前記文字符号化結果に基づいて、符号化方式を推定する符号化方式推定段階と、
前記符号化方式推定段階において推定した符号化方式を、対応する前記文字列に含めて文字列記憶手段に記憶する文字列記憶段階と、
ユーザからの要求に応じて、修正対象とされた前記文字符号化結果の符号化方式の候補を前記ユーザに提供する符号化方式候補提供段階と、
修正対象とされた前記文字符号化結果に対応する、前記文字列記憶手段に記憶されている文字列に含まれる符号化方式を、ユーザによって選択された符号化方式に修正する第二符号化方式修正段階と、
を有することを特徴とする符号化方式修正方法。
【請求項２１】
前記符号化方式候補提供段階は、修正対象とされた前記文字符号化結果の符号化方式の候補を、該符号化方式に基づいて表示された前記文字符号化結果と共にタッチパネル上に表示することによって、前記ユーザに提供することを特徴とする請求項２０記載の符号化方式修正方法。
【請求項２２】
前記符号化方式候補提供段階は、修正対象とされた前記文字符号化結果の符号化方式の候補を、該符号化方式に基づいて表示された前記文字符号化結果と共に印字出力することによって、前記ユーザに提供することを特徴とする請求項２０記載の符号化方式修正方法。
【請求項２３】
文字列を表す文字列クラスと、
文字列の文字符号化結果を表す文字符号化結果クラスと、
文字列の文字符号化方式を表す文字符号化方式クラスと、
文字列保存手段に保存されている文字列の検索を実行する文字列検索クラスと、
前記文字符号化方式の修正に係る要求を受け付け、前記文字符号化方式の修正を実行する符号化方式決定者クラスと、
を有するオブジェクト指向モデルにより文字の符号化方式を修正することを特徴とする画像形成装置。
【請求項２４】
前記文字符号化方式の修正履歴を保管する修正履歴保管クラスを更に有することを特徴とする請求項２３記載の画像形成装置。
【請求項２５】
ユーザによる文字符号化方式の修正に係る情報を保持する文字列符号化方式修正情報クラスを更に有することを特徴とする請求項２３又は２４記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置及び符号化方式修正方法に関する。
【背景技術】
【０００２】
近年、プリンタ、コピー機、ファクシミリ、及びスキャナ等の各装置の機能を一体化した画像形成装置（以下、複合機という）が知られるようになった。この複合機は、１つの筐体内に表示部、印刷部及び撮像部等を設けると共に、プリンタ、コピー、ファクシミリ及びスキャナにそれぞれ対応する４種類のアプリケーションを設け、そのアプリケーションを切り替えることにより、プリンタ、コピー、ファクシミリ及びスキャナとして動作させるものである。
【０００３】
しかしながら、複合機においては、フォント格納用のＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）の容量の節約等の理由により、Ｕｎｉｃｏｄｅをサポートせず、Ｓｈｉｆｔ−ＪＩＳ等の特定言語向けの文字符号化方式を複数サポートしている。
【０００４】
したがって、複合機で扱う文字列については、基本的に、文字符号化結果と、文字符号化方式とを対の形で保持している。以下、複合機で扱う文字列と、文字符号化結果と、文字符号化方式との一例を、図１を用いて説明する。図１は、文字列と、文字符号化結果と、文字符号化方式との一例を示す図である。
【０００５】
図１に示されるように、複合機で扱う、例えば機器個体識別名称や蓄積文書名称等の文字列は、基本的に、文字を符号化方式に基づいてビットパターンで表現した文字符号化結果と、文字をビットパターンで表現する方式である文字符号化方式とを含む。
【特許文献１】特開２００２−８４３８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、複合機は、符号化結果のみを有し、文字符号化方式を含まない文字列を受信する場合もある。
【０００７】
例えば、ＦＡＸ受信時にＴＳＩ情報として受け取るＦＡＸ送信元名称や、ＭＩＢ（Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）でセットされる機器個体識別名称等は、他の機器との予め定められた文字符号化方式による通信の取り決め等により、符号化結果のみを有し、文字符号化方式が含まれていなかった。
【０００８】
このように、文字符号化方式を含まない文字列を受信した場合、複合機は、文字符号化方式を推定し、該推定した文字符号化方式を文字列に含め、複合機内に保持するようにしてもよい。
【０００９】
しかしながら、複合機が誤って文字符号化方式を推定した場合、ユーザが複合機内に保持されている文字列を参照したとき、文字列を、意味不明な記号に置き換えて表示（文字化け）してしまう問題があった。
【００１０】
本発明は、上記の点に鑑みなされたもので、意味不明な記号に置き換えられて表示された文字列を、修正可能とすることを目的とする。
【００１１】
また、本発明は、複合機内に保持されている文字列の内、ユーザが修正したのと同様の文字符号化結果を含む文字列の文字符号化方式を修正することを目的とする。
【課題を解決するための手段】
【００１２】
そこで、上記問題を解決するため、本発明は、画像を形成する画像形成装置であって、符号化方式に基づいて、文字を符号化した結果である文字符号化結果を含む文字列を受信する文字列受信手段と、前記文字列受信手段において受信した前記文字列に含まれる前記文字符号化結果に基づいて、符号化方式を推定する符号化方式推定手段と、前記符号化方式推定手段において推定した符号化方式を、対応する前記文字列に含めて記憶する文字列記憶手段と、ユーザが修正対象とした前記文字符号化結果と同じ文字符号化結果を含む文字列を、前記文字列記憶手段より検索する文字列検索手段と、前記文字列検索手段において検索された文字列に含まれる符号化方式を修正する第一符号化方式修正手段と、を有することを特徴とする。
【００１３】
本発明によれば、画像を形成する画像形成装置であって、符号化方式に基づいて、文字を符号化した結果である文字符号化結果を含む文字列を受信する文字列受信手段と、前記文字列受信手段において受信した前記文字列に含まれる前記文字符号化結果に基づいて、符号化方式を推定する符号化方式推定手段と、前記符号化方式推定手段において推定した符号化方式を、対応する前記文字列に含めて記憶する文字列記憶手段と、ユーザが修正対象とした前記文字符号化結果と同じ文字符号化結果を含む文字列を、前記文字列記憶手段より検索する文字列検索手段と、前記文字列検索手段において検索された文字列に含まれる符号化方式を修正する第一符号化方式修正手段と、を有することにより、複合機内に保持されている文字列の内、ユーザが修正したのと同様の文字符号化結果を含む文字列の文字符号化方式を修正することができる。
【００１４】
また、本発明は、画像を形成する画像形成装置であって、符号化方式に基づいて、文字を符号化した結果である文字符号化結果を含む文字列を受信する文字列受信手段と、前記文字列受信手段において受信した前記文字列に含まれる前記文字符号化結果に基づいて、符号化方式を推定する符号化方式推定手段と、前記符号化方式推定手段において推定した符号化方式を、対応する前記文字列に含めて記憶する文字列記憶手段と、ユーザからの要求に応じて、修正対象とされた前記文字符号化結果の符号化方式の候補を前記ユーザに提供する符号化方式候補提供手段と、修正対象とされた前記文字符号化結果に対応する、前記文字列記憶手段に記憶されている文字列に含まれる符号化方式を、ユーザによって選択された符号化方式に修正する第二符号化方式修正手段と、を有することを特徴とする。
【００１５】
本発明によれば、画像を形成する画像形成装置であって、符号化方式に基づいて、文字を符号化した結果である文字符号化結果を含む文字列を受信する文字列受信手段と、前記文字列受信手段において受信した前記文字列に含まれる前記文字符号化結果に基づいて、符号化方式を推定する符号化方式推定手段と、前記符号化方式推定手段において推定した符号化方式を、対応する前記文字列に含めて記憶する文字列記憶手段と、ユーザからの要求に応じて、修正対象とされた前記文字符号化結果の符号化方式の候補を前記ユーザに提供する符号化方式候補提供手段と、修正対象とされた前記文字符号化結果に対応する、前記文字列記憶手段に記憶されている文字列に含まれる符号化方式を、ユーザによって選択された符号化方式に修正する第二符号化方式修正手段と、を有することによって、意味不明な記号に置き換えられて表示された文字列を、修正可能とすることができる。
【００１６】
また、上記課題を解決するための手段として、符号化方式修正方法及びオブジェクト指向モデルにより文字の符号化方式を修正する画像形成装置としてもよい。
【発明の効果】
【００１７】
本発明によれば、意味不明な記号に置き換えられて表示された文字列を、修正可能とすることができる。
【００１８】
また、本発明によれば、複合機内に保持されている文字列の内、ユーザが修正したのと同様の文字符号化結果を含む文字列の文字符号化方式を修正することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態について図面に基づいて説明する。図２は、複合機の構成の一例を説明するための図である。
【００２０】
図２において、複合機１００は、プロッタ１２０１と、スキャナ１２０２と、ファクシミリ等のハードウェアリソース１２０３等を有すると共に、プラットフォーム１２２０と、アプリケーション１２３０と、から構成されるソフトウェア群１２１０と、複合機起動部１２４０と、を備えている。
【００２１】
複合機起動部１２４０は、複合機１００の電源投入時に先ず始めに実行され、プラットフォーム１２２０やアプリケーション１２３０を起動する。
【００２２】
プラットフォーム１２２０は、アプリケーション１２３０からの処理要求を解釈して、ハードウェア資源の獲得要求を発生させる下記に示すコントロールサービス１２５０と、一又は複数のハードウェア資源の管理を行い、コントロールサービス１２５０からの獲得要求を調停するシステムリソースマネージャー（ＳＲＭ（Ｓｙｓｔｅｍ  Ｒｅｓｏｕｒｃｅ  Ｍａｎａｇｅｒ）１２２３）と、ＯＳ１２２１と、を有する。
【００２３】
このコントロールサービス１２５０は、複数のサービスモジュールにより形成され、具体的には、ＳＣＳ（Ｓｙｓｔｅｍ  Ｃｏｎｔｒｏｌ  Ｓｅｒｖｉｃｅ）１２２２と、ＥＣＳ（Ｅｎｇｉｎｅ  Ｃｏｎｔｒｏｌ  Ｓｅｒｖｉｃｅ)１２２４と、ＭＣＳ（Ｍｅｍｏｒｙ  Ｃｏｎｔｒｏｌ  Ｓｅｒｖｉｃｅ）１２２５と、ＯＣＳ（Ｏｐｅｒａｔｉｏｎ  ｐａｎｅｌ  Ｃｏｎｔｒｏｌ  Ｓｅｒｖｉｃｅ）１２２６と、ＦＣＳ（ＦＡＸ  Ｃｏｎｔｒｏｌ  Ｓｅｒｖｉｃｅ）１２２７と、ＮＣＳ（Ｎｅｔｗｏｒｋ  Ｃｏｎｔｒｏｌ  Ｓｅｒｖｉｃｅ）１２２８と、ＩＭＨ（Ｉｍａｇｉｎｇ  Ｍｅｍｏｒｙ  Ｈａｎｄｌｅｒ）１２２９と、がある。なお、このプラットフォーム１２２０は、予め定義された関数によりアプリケーション１２３０からの処理要求を受信可能とするアプリケーションプログラムインターフェース（ＡＰＩ）１２０５を有する。
【００２４】
ＯＳ１２２１は、ＵＮＩＸ（登録商標）等のオペレーティング・システムであり、プラットフォーム１２２０並びにアプリケーション１２３０の各ソフトウェアをそれぞれプロセスとして並列実行する。オープンソースのＵＮＩＸ（登録商標）を用いることにより、プログラムの安全性を確保できると共に、ネットワーク対応可能となり、ソースコードの入手も容易となる。さらに、ＯＳ、ＴＣＰ／ＩＰのロイヤリティが不要であり、アウトソーシングも容易となる。
【００２５】
ＳＲＭ１２２３は、ＳＣＳ１２２２と共にシステムの制御及びリソースの管理を行うものであり、スキャナ１２０２やプロッタ１２０１等のエンジン部、メモリ、ＨＤＤファイル、ホストＩ／Ｏ（セントロ二クスＩ／Ｆ、ネットワークＩ／Ｆ、ＩＥＥＥ１３９４Ｉ／Ｆ等）のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御する。
【００２６】
具体的には、このＳＲＭ１２２３は、要求されたハードウェア資源が利用可能で存在するかどうか（他の要求により利用されていないかどうか）を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容（例えば、プリンタエンジンによる紙搬送と作像動作、メモリ確保、ファイル生成等）を直接実施するようにしてもよい。
【００２７】
ＳＣＳ１２２２は、アプリ管理（機能１）、操作部制御（機能２）、システム画面表示（ジョブリスト画面、カウンタ表示画面等）（機能３）、ＬＥＤ表示（機能４）、リソース管理（機能５）、割り込みアプリ制御（機能６）等の複数の機能を行なう。具体的には、アプリ管理（機能１）では、アプリの登録と、その情報を他のアプリに通知する処理を行う。操作部制御（機能２）では、アプリの操作部使用権の排他制御を行う。システム画面表示（機能３）では、操作部使用権を持つアプリからの要求内容に応じて、エンジン部の状態に対応する警告画面の表示を行う。ＬＥＤ表示（機能４）では、警告ＬＥＤ、アプリキー等のシステムＬＥＤの表示制御を行う。リソース管理（機能５）では、アプリ（ＥＣＳ）がジョブを実行するにあたって、排他しなければならないエンジンリソース（スキャナ、ステープル等）の排他制御のためのサービスを行う。割り込みアプリ制御（機能６）では、特定のアプリを優先動作させるための制御及びサービスを行う。
【００２８】
ＥＣＳ１２２４は、プロッタ１２０１と、スキャナ１２０２と、その他ハードウェアリソース１２０３等のエンジン部を制御するものであり、画像読み込みと印刷動作、状態通知、ジャムリカバリ等を行う。
【００２９】
ＭＣＳ１２２５は、メモリ制御を行うものであり、具体的には、画像メモリの取得及び開放、ハードディスク装置（ＨＤＤ）の利用、画像データの圧縮及び伸張等を行う。
【００３０】
なお、本実施例においてＭＣＳ１２２５に、後述する文字符号化方式決定モジュール等が実装される。
【００３１】
ＯＣＳ１２２６は、オペレータと本体制御間の情報伝達手段となる操作パネルを制御するモジュールであり、オペレータのキー操作イベントを本体制御に通知する処理、各アプリがＧＵＩを構築するためのライブラリ関数を提供する処理、構築されたＧＵＩ情報をアプリ別に管理する処理、操作パネル上への表示反映処理等を行う。
【００３２】
ＦＣＳ１２２７は、システムコントローラの各アプリ層からＰＳＴＮ／ＩＳＤＮ網を使ったファクシミリ送受信、ＢＫＭ（バックアップＳＲＡＭ）で管理されている各種ファクシミリデータの登録／引用、ファクシミリ読み取り、ファクシミリ受信印刷、融合送受信を行うためのＡＰＩを提供する。
【００３３】
ＮＣＳ１２２８は、ネットワークＩ／Ｏを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのモジュール群であり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行ったりする。
【００３４】
ＩＭＨ１２２９は、イメージデータを仮想メモリ領域（ユーザ仮想空間）から物理メモリへマップする。プロセスの起動に応じて、システムコールを行ない、プロセス用の仮想メモリ領域をマップしたり、マップした仮想メモリ領域をプロセスの終了時に開放したりする処理を行う。
【００３５】
アプリケーション１２３０は、ページ記述言語（ＰＤＬ）、ＰＣＬ及びポストスクリプト（ＰＳ）を有するプリンタ用のアプリケーションであるプリンタアプリ１２１１と、コピー用アプリケーションであるコピーアプリ１２１２と、ファクシミリ用アプリケーションであるファックスアプリ１２１３と、スキャナ用アプリケーションであるスキャナアプリ１２１４と、を有する。なお、ＮＣＳ１２２８により接続されたネットワークを介して新たなアプリケーションをネットワーク経由で搭載することもできる。また、各アプリケーションはアプリケーションごとに追加又は削除することができる。
【００３６】
複合機１００は、各アプリで共通的に必要となる処理をプラットフォーム１２２０で一元的に処理する。
【００３７】
以下、複合機１００のハードウェア構成の一例を、図３を用いて説明する。図３は、複合機のハードウェア構成の一例を説明するためのブロック図である。
【００３８】
図３に示すように、この複合機１００は、オペレーションパネル１３１０、ＦＡＸコントロールユニット（ＦＣＵ）１５３０、エンジン部１３５０（スキャナ１２０２等が接続される）及びプロッタ１２０１とコントローラ１３００のＡＳＩＣ１３０１とをＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  ＣｏｍＰｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス１３０９等で接続した構成となる。
【００３９】
コントローラ１３００は、ＡＳＩＣ１３０１にＭＥＭ−Ｃ１３０２、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１３０３等を接続すると共に、このＡＳＩＣ１３０１とＣＰＵ１３０４とをＣＰＵチップセットのＮＢ１３０５を介して接続している。このように、ＮＢ１３０５を介して接続する理由は、ＣＰＵ１３０４自体のインターフェースが公開されていないためである。
【００４０】
ここで、このＡＳＩＣ１３０１とＮＢ１３０５は、単にＰＣＩを介して接続されているのではなく、ＡＧＰ１３０８を介して接続されている。このようにＡＧＰ１３０８を介して接続することとした理由は、この複合機１００が図２に示したプラットフォーム１２２０やアプリケーション１２３０を形成する複数のプロセスを実行制御する関係上、これらを低速のＰＣＩで接続したのでは、パフォーマンスが低下するからである。
【００４１】
ＣＰＵ１３０４は、複合機１００の全体制御を行うものであり、具体的には、ＯＳ１２２１上でプラットフォーム１２２０を形成するＳＣＳ１２２２、ＳＲＭ１２２３、ＥＣＳ１２２４、ＭＣＳ１２２５、ＯＣＳ１２２６、ＦＣＳ１２２７、ＮＣＳ１２２８、ＩＭＨ１２２９をそれぞれプロセスとして起動して実行させると共に、アプリケーション１２３０を形成するプリンタアプリ１２１１、コピーアプリ１２１２、ファックスアプリ１２１３、スキャナアプリ１２１４、を起動して実行させる。
【００４２】
ＮＢ１３０５は、ＣＰＵ１３０４とＭＥＭ−Ｐ１３０６、ＳＢ１３０７、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）１３４１、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）１３３０、ＩＥＥＥ１３９４１３４０、セントロニクス１３４２、ドライバＩ／Ｆ１３４３、ＡＳＩＣ１３０１とを接続するためのブリッジである。
【００４３】
ＭＥＭ−Ｐ１３０６は、複合機の描画用メモリ等として用いるシステムメモリであり、ＳＢ１３０７は、ＮＢ１３０５とＲＯＭＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。ＭＥＭ−Ｃ１３０２は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、ＡＳＩＣ１３０１は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣである。
【００４４】
ドライバＩ／Ｆ１３４３は、挿入された、プログラム又はアプリケーション等が格納されている記録媒体から、プログラム又はアプリケーション等を読み込んで、複合機１００に搭載するのに用いるＩ／Ｆである。なお、例えば記録媒体としては、ＳＤメモリカード、スマートメディア、マルチメディアカード、コンパクトフラッシュ（登録商標）等がある。
【００４５】
ＨＤＤ１３０３は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積、文書の蓄積、ログの蓄積、を行うストレージである。オペレーションパネル１３１０は、操作者からの入力操作の受け付け並びに操作者に向けた表示を行う操作部である。
【００４６】
ＡＳＩＣ１３０１には、ＭＥＭ−Ｃ１３０２を接続するためのＲＡＭインターフェースと、ＨＤＤ１３０３を接続するためのハードディスクインターフェースが設けられ、これらの記憶部に対して画像データの入出力を行う場合には、入出力先がＲＡＭインターフェース又はハードディスクインターフェースに切り替えられる。
【００４７】
ＡＧＰ１３０８は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、システムメモリに高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にする。
【００４８】
以下、文字符号化方式の修正の処理の流れの概要を、図４を用いて説明する。図４は、文字符号化方式の修正の処理の流れの概要を説明するための図である。
【００４９】
ステップＳ１において、複合機１００は、ネットワークを介して接続された他の機器（例えば他の複合機１００）等より、文字符号化方式を含まない、文字列（文字符号化結果）を受信する。
【００５０】
ステップＳ２では、複合機１００は、ステップＳ１において受信した文字列（文字符号化結果）の文字符号化方式を推定する。
【００５１】
ステップＳ３では、複合機１００は、ステップＳ２において推定した文字符号化方式を、ステップＳ１において受信した文字列に含め、ログとして、複合機１００のＨＤＤ１３０３等に保存する。
【００５２】
一方、ユーザは、ステップＳ４において複合機１００が受信し、ＨＤＤ１３０３等に保存している文字列の中から、所定の文字列を参照するため、例えば、オペレーションパネル１３１０等を操作し、所定の文字列の参照要求を複合機１００に対して行う。
【００５３】
ステップＳ５では、複合機１００は、ユーザからの要求に応じて、要求された文字列を、オペレーションパネル１３１０等に表示する。
【００５４】
ここで、ステップＳ２において推定した文字符号化方式が間違っていた場合、ステップＳ５においてオペレーションパネル１３１０に表示された文字列（又は文字）は意味不明な記号に置き換えられて表示されてしまうため、ユーザは、ステップＳ６において、文字符号化方式の修正の開始要求を複合機１００に対して行う。
【００５５】
ステップＳ７では、複合機１００は、ユーザからの要求に応じて、正しい可能性のある文字符号化方式の候補を検索し、オペレーションパネル１３１０等に表示する。
【００５６】
ステップＳ８では、ユーザが、例えば複合機１００のオペレーションパネル１３１０に表示された文字符号化方式の候補の中から１つの文字符号化方式を選択し、文字符号化方式を決定する。
【００５７】
なお、後述するように、複合機１００は、オペレーションパネル１３１０に文字符号化方式の候補を表示する以外に、チェック欄等を有する、文字符号化方式の候補の修正用の用紙等をプリントアウトするようにしてもよい。このような構成とした場合、ユーザは、該用紙を用いて、修正する文字符号化方式にチェックを行い、複合機１００に読み込ませる。
【００５８】
ステップＳ９では、複合機１００は、修正対象となっている文字列の文字符号化方式を、ユーザによって選択された文字符号化方式に修正すると共に、修正対象となっていた文字列に含まれる文字符号化結果と同じ文字符号化結果を含む文字列を、ログの中より検索する。
【００５９】
ステップＳ１０では、複合機１００は、ステップＳ９において検索した結果、同じ文字符号化結果を含む文字列が存在した場合、該文字列に含まれる文字符号化方式をユーザによって選択された文字符号化方式に修正する。
【００６０】
図４に示したような処理を行うことによって、ユーザは、意味不明な記号に置き換えられて表示された文字列（文字）を修正することができる。
【００６１】
また、複合機１００は、修正対象とされた文字列に含まれる文字符号化結果と同じ文字符号化結果を含む文字列を、保持・管理している複数の文字列の中から検索し、検索された文字列に含まれる文字符号化方式を修正することができる。
【００６２】
以下、文字符号化方式の修正に係る複合機１００の機能構成の一例を、図５を用いて説明する。図５は、複合機の機能構成の一例を説明するための図である。
【００６３】
図５に示されるように、複合機１００は、文字列受信部１０と、文字符号化方式決定モジュール１１と、ログ管理部１２と、ログ保管部１３と、文字符号化方式修正履歴保管部１４と、ログ情報保管部１５と、ユーザＩ／Ｆ１６と、を含む。
【００６４】
文字列受信部１０は、ネットワークを介して他の機器（例えば他の複合機１００）等より、図１に示したような文字列や、図１の文字符号化方式を含んでいない文字列等を受信する。
【００６５】
文字符号化方式決定モジュール１１は、文字符号化方式を含んでいない文字列の文字符号化方式を決定したり、複合機１００がサポートする文字符号化方式の中から要求された文字符号化結果の文字符号化方式の候補を返したり、修正対象の文字列の文字符号化方式を、ログ管理部１２を介して、ユーザに選択された文字符号化方式に修正したり、修正対象の文字列と同じ文字符号化結果を含む文字列の検索を例えばログ管理部１２に要求し、修正対象の文字列と同じ文字符号化結果を含む文字列が存在したら、ログ管理部１２を介し、該文字列に含まれる文字符号化方式を修正したりする。
【００６６】
なお、文字列に含まれる文字符号化方式が、文字符号化方式決定モジュール１１において推定又は自動修正されたものであれば「推定」を、ユーザによって選択され、文字符号化方式決定モジュール１１において修正されたものであれば「確定」をたてる文字符号化方式フラグを文字符号化方式決定モジュール１１において保持するようにしてもよい。
【００６７】
ログ管理部１２は、ログ保管部１３において保管されている文字列を含むログを管理している管理部である。ログ管理部１２は、文字符号化方式決定モジュール１１からの要求に応じて、ログ保管部１３において保管されているログを検索対象として検索を行ったり、文字符号化方式決定モジュール１１からの要求に応じて指定された文字列に含まれる文字符号化方式を修正したりする。
【００６８】
ログ保管部１３は、ログを保管している保管部である。なお、ログ保管部１３において保管されているログの構造の一例は、後述する図７を用いて説明する。
【００６９】
文字符号化方式修正履歴保管部１４は、ユーザによる文字符号化方式の修正履歴として、修正された文字列の情報、例えば修正後の文字符号化方式や文字符号化結果や修正回数や修正日時等が含まれる文字符号化方式修正情報、等を保管する保管部である。なお、文字符号化方式修正履歴は、文字符号化方式決定モジュール１１によって、文字符号化方式修正履歴保管部１４に保管される。
【００７０】
文字符号化方式修正履歴保管部１４において文字符号化方式修正履歴を保管することによって、例えば、文字符号化方式決定モジュール１１による文字符号化方式の推定の精度を高めたり、文字符号化方式決定モジュール１１による文字符号化方式の修正候補の提示の精度を高めたり、文字符号化方式の自動修正の精度を高めたりすることができる。
【００７１】
ログ情報保管部１５は、文字符号化方式決定モジュール１１によって文字符号化方式を推定され、ログとしてログ保管部１３に保管されている文字列に係る情報、例えば文字符号化結果や文字符号化方式や該文字列のログ上の位置等、をログ情報として保管する保管部である。
【００７２】
ログ情報保管部１５において、ログ情報を保管することによって、例えば、文字符号化方式決定モジュール１１は、該ログ情報に基づいて、ユーザが修正対象とした文字符号化結果と同じ文字符号化結果を含むログと、ログ中の文字列との位置と、を特定することができる。したがって、ログ情報保管部１５において、ログ情報を保管することによって、文字符号化方式決定モジュール１１又はログ管理部１２は、速やかに検索を行うことができる。
【００７３】
なお、ログ情報保管部１５において保管されているログ情報の構造の一例は、後述する図８を用いて説明する。ログ情報は、文字符号化方式決定モジュール１１によって、ログ情報保管部１５に保管される。
【００７４】
ユーザＩ／Ｆ１６は、ユーザに対する情報の表示や、ユーザからのデータ等の入力情報を取得するユーザインターフェース部である。
【００７５】
なお、後述するように、複合機１００を、文字符号化方式修正履歴保管部１４及び／又はログ情報保管部１５を含まないように構成してもよい。
【００７６】
例えばログ情報保管部１５が存在しない場合、文字符号化方式決定モジュール１１は、ログ保管部１３に保管されている全てのログを検索対象として、該ログの中から、ユーザが修正対象とした文字符号化結果と同じ文字符号化結果を含むログを、ログ管理部１２を介して検索する。
【００７７】
以下、文字符号化方式の推定処理の一例を、図６を用いて説明する。図６は、文字符号化方式の推定処理の一例を説明するためのフローチャートである。
【００７８】
複合機１００は、上述したように、文字符号化方式を含まない文字列を受信すると、ステップＳ２０からの処理を開始する。
【００７９】
ステップＳ２０では、文字符号化方式決定モジュール１１が、受信した文字列（文字符号化結果）が、文字符号化方式修正履歴に登録されているかどうか判定する。
【００８０】
文字符号化方式決定モジュール１１は、受信した文字列（文字符号化結果）が、文字符号化方式修正履歴に登録されていると判定すると（ステップＳ２０においてＹＥＳ）、ステップＳ２２に進み、受信した文字列（文字符号化結果）が、文字符号化方式修正履歴に登録されていないと判定すると（ステップＳ２０においてＮＯ）、ステップＳ２１に進む。
【００８１】
文字符号化方式決定モジュール１１は、例えば、文字符号化方式修正履歴保管部１４が存在し、且つ受信した文字列（文字符号化結果）が、文字符号化方式修正履歴に含まれていると、文字符号化方式修正履歴に登録されていると判定し、文字符号化方式修正履歴保管部１４が存在しないか又は存在するが、受信した文字列（文字符号化結果）が、文字符号化方式修正履歴に含まれていないと、文字符号化方式修正履歴に登録されていないと判定する。
【００８２】
ステップＳ２１では、文字符号化方式決定モジュール１１が、受信した文字列（文字符号化結果）に基づいて、予め定められた文字符号化方式の推定方法に従って、文字符号化方式を推定する。
【００８３】
例えば、文字符号化方式の推定方法としては、所定のファイル等に記述されている複合機１００においてサポートする文字符号化方式を、優先度の高いものから順に適用し、文字符号化結果を用いて有効な文字列又は文字を作成可能な文字符号化方式が存在すれば、該文字符号化方式を採用したり、完全に有効な文字列又は文字が作成できない場合は、最も多くの文字を作成可能な、優先度の高い文字符号化方式を採用したりする方法がある。
【００８４】
一方、ステップＳ２２では、文字符号化方式決定モジュール１１が、受信した文字列（文字符号化結果）と対応付けられて文字符号化方式修正履歴に登録されている文字符号化方式を、受信した文字符号化結果の文字符号化方式と推定する。
【００８５】
ステップＳ２３では、文字符号化方式決定モジュール１１が、受信した文字列に、推定した文字符号化方式を含め、該文字列を、ログ管理部１２を介して、ログ保管部１３に保管（保存）する。
【００８６】
ステップＳ２３に続きステップＳ２４に進み、文字符号化方式決定モジュール１１は、例えば環境変数等を読み込んで、ログ情報保管部１５が存在しているかどうかを判定する。
【００８７】
文字符号化方式決定モジュール１１は、ログ情報保管部１５が存在すると判定すると（ステップＳ２４においてＹＥＳ）、ステップＳ２５に進み、ログ情報保管部１５が存在しないと判定すると（ステップＳ２４においてＮＯ）、処理を終了する。
【００８８】
ステップＳ２５では、文字符号化方式決定モジュール１１が、ログ情報をログ情報保管部１５に保管（保存）する。
【００８９】
図６に示すような処理を行うことによって、複合機１００は、文字符号化方式を含まない文字列（文字符号化結果）を受信した場合も、該文字列（文字符号化結果）の文字符号化方式を推定することができる。
【００９０】
また、後述する表示画面や文字符号化方式修正用のチェックシートを用いてユーザが修正した文字符号化方式に係る修正履歴が登録されている文字符号化方式修正履歴を用いることによって、文字符号化方式の推定の精度を向上させることができる。
【００９１】
以下、ログ保管部１３に保管されているログの構造の一例を、図７を用いて説明する。図７は、ログの構造の一例を説明するための図である。
【００９２】
図７に示されるように、ログには、複数の文字列が含まれる。また、上述したように、各文字列には、文字符号化結果と、文字符号化方式と、が含まれる。
【００９３】
以下、ログ情報保管部１５に保管されているログ情報の構造の一例を、図８を用いて説明する。図８は、ログ情報の構造の一例を説明するための図である。
【００９４】
保管場所は、ログが保管されている保管場所（ログ保管場所１３）の情報である。
【００９５】
ログは、ログ保管場所１３に保管されているログに係る情報、例えばログを識別するログＩＤ等、である。
【００９６】
文字列は、ログに含まれる文字列に係る情報である。なお、文字列に係る情報として、該文字列に含まれる文字符号化結果と文字符号化方式と、該文字列のログ上の位置と、を保持する。また、同じ文字列が同じログ上に複数存在する場合は、文字列３に示されるように、ログ上の位置を複数保持する。
【００９７】
以下、文字符号化方式の修正処理の一例を、図９を用いて説明する。図９は、文字符号化方式の修正処理の一例を説明するためのフローチャートである。
【００９８】
後述する図１０に示すように、文字符号化方式決定モジュール１１は、例えばユーザＩ／Ｆ１６等を介してユーザより文字符号化方式修正要求を受け取ると、ステップＳ３０からの処理を開始する。
【００９９】
ステップＳ３０では、文字符号化方式決定モジュール１１が、修正対象の文字符号化結果に基づいて、対応する文字符号化方式の候補を検索する。
【０１００】
例えば、文字符号化方式決定モジュール１１は、所定のファイル等を検索し、該ファイルに記述されている複合機１００においてサポートする文字符号化方式の中から優先度の高いものから順に検索結果とする。なお、文字符号化方式修正履歴が存在する場合、文字符号化方式決定モジュール１１は、該文字符号化方式修正履歴も検索し、修正対象の文字符号化結果が該文字符号化方式修正履歴に含まれていると、該修正対象の文字符号化結果に対応する文字符号化方式も検索結果として含めるようにしてもよい。
【０１０１】
ステップＳ３０に続いてステップＳ３１に進み、文字符号化方式決定モジュール１１は、ステップＳ３０において検索した検索結果である文字符号化方式の候補及び該文字符号化方式を用いて文字符号化結果を表示した表示結果（文字列）を含む後述する図１０に示すような画面を作成する。
【０１０２】
ステップＳ３１に続いてステップＳ３２に進み、文字符号化方式決定モジュール１１は、ステップＳ３０において作成した画面を、ユーザＩ／Ｆ１６等を介して、オペレーションパネル１３１０上に表示する。
【０１０３】
ステップＳ３２に続いてステップＳ３３に進み、文字符号化方式決定モジュール１１は、後述する図１０に示すような画面において、ユーザが文字符号化方式を選択した旨の情報である選択情報をユーザＩ／Ｆ１６等を介して取得したかどうかを判定する。
【０１０４】
文字符号化方式決定モジュール１１は、選択情報を取得したと判定すると（ステップＳ３３においてＹＥＳ）、ステップＳ３４に進み、選択情報を取得していないと判定すると（ステップＳ３３においてＮＯ）、ステップＳ３３の処理を繰り返す。
【０１０５】
ステップＳ３４では、文字符号化方式決定モジュール１１が、ログ管理部１２等を介して、修正対象の文字列に含まれる文字符号化方式を、ユーザによって選択された文字符号化方式に修正する。
【０１０６】
ステップＳ３４に続いてステップＳ３５に進み、文字符号化方式決定モジュール１１は、例えば環境変数等を読み込んで、文字符号化方式修正履歴保管部１４が存在しているかどうかを判定する。
【０１０７】
文字符号化方式決定モジュール１１は、文字符号化方式修正履歴保管部１４が存在すると判定すると（ステップＳ３５においてＹＥＳ）、ステップＳ３６に進み、文字符号化方式修正履歴保管部１４が存在しないと判定すると（ステップＳ３５においてＮＯ）、ステップＳ３７に進む。
【０１０８】
ステップＳ３６では、文字符号化方式決定モジュール１１が、ユーザが選択した文字符号化方式等を文字符号化方式修正履歴に登録する。
【０１０９】
ステップＳ３７では、文字符号化方式決定モジュール１１が、修正対象の文字符号化結果と同じ文字符号化結果を含む文字列を、ログ管理部１２を介してログ保管部１３において保管されているログより検索するか、又はログ情報保管部１５が存在する場合は、該ログ情報保管部１５において保管されているログ情報に基づいて、修正対象の文字符号化結果と同じ文字符号化結果を含む文字列を、ログ保管部１３において保管されているログより検索する。
【０１１０】
ステップＳ３７に続いてステップＳ３８に進み、文字符号化方式決定モジュール１１は、ステップＳ３７において検索した検索結果である、修正対象の文字符号化結果と同じ文字符号化結果を含む文字列に含まれる文字符号化方式を、例えばユーザによって選択された文字符号化方式に修正する。
【０１１１】
図９に示したような処理を行うことによって、ユーザは、意味不明な記号に置き換えられて表示された文字列（文字）を修正することができる。
【０１１２】
また、複合機１００は、修正対象とされた文字列に含まれる文字符号化結果と同じ文字符号化結果を含む文字列を、保持・管理しているログの中から検索し、検索された文字列に含まれる文字符号化方式を修正（自動修正）することができる。
【０１１３】
また、図９のステップＳ３６に示されるように、修正結果等を文字符号化方式修正履歴に登録することによって、図６に示したような文字符号化方式の推定のときや、図９のステップＳ３８においてログに含まれる文字符号化方式を修正するとき、また、ステップＳ３０において文字符号化方式の候補を検索するとき、の精度を向上することができる。
【０１１４】
以下、文字符号化方式の修正時のオペレーションパネル１３１０における表示画面の一例を、図１０を用いて示す。図１０は、文字符号化方式の修正時のオペレーションパネルにおける表示画面の一例を示す図である。
【０１１５】
ユーザは、文字列（文字）を修正しようとする場合、該文字列（文字）を選択し、図１０に示されるような文字符号化方式修正ボタンをタップする。すると、複合機１００は、図９に示したような処理を開始し、ステップＳ３２において図１０に示されるような、修正対象の文字列に対応する複数の文字符号化方式の候補と該候補の文字符号化方式によって表示された文字符号化結果（文字列）とを含む画面を、オペレーションパネル１３１０に表示する。
【０１１６】
ユーザは、例えば図１０に示されるような複数の候補の中から正常に表示されている文字列（及び文字符号化方式）を選択し、文字符号化方式修正要求を行う。
【０１１７】
以下、文字符号化方式の修正処理の他の例を、図１１を用いて説明する。図１１は、文字符号化方式の修正処理の他の例を説明するためのフローチャートである。
【０１１８】
初めに、文字符号化方式決定モジュール１１は、例えばユーザＩ／Ｆ１６等を介してユーザより文字符号化方式修正要求を受け取ると、ステップＳ４０からの処理を開始する。
【０１１９】
ステップＳ４０では、文字符号化方式決定モジュール１１が、修正対象の文字符号化結果に基づいて、対応する文字符号化方式の候補を検索する。
【０１２０】
例えば、文字符号化方式決定モジュール１１は、所定のファイル等を検索し、該ファイルに記述されている複合機１００においてサポートする文字符号化方式の中から優先度の高いものから順に検索結果とする。なお、文字符号化方式修正履歴が存在する場合、文字符号化方式決定モジュール１１は、該文字符号化方式修正履歴も検索し、修正対象の文字符号化結果が該文字符号化方式修正履歴に含まれていると、該修正対象の文字符号化結果に対応する文字符号化方式も検索結果として含めるようにしてもよい。
【０１２１】
ステップＳ４０に続いてステップＳ４１に進み、文字符号化方式決定モジュール１１は、後述する図１２に示されるような文字符号化方式修正用のチェックシートを作成する。
【０１２２】
ステップＳ４１に続いてステップＳ４２に進み、文字符号化方式決定モジュール１１は、ステップＳ４１において作成した文字符号方式修正用のチェックシートをプリントアウトする。
【０１２３】
ユーザは、プリントアウトされた文字符号化方式修正用のチェックシートを用いて、例えば修正する文字符号化方式にチェックをし、複合機１００に読み込ませる。
【０１２４】
ステップＳ４２に続いてステップＳ４３に進み、文字符号化方式決定モジュール１１は、例えばユーザＩ／Ｆ１６等を介してユーザより文字符号化方式修正用のチェックシートの読み込み要求を受け取ったかどうかを判定する。
【０１２５】
文字符号化方式決定モジュール１１は、文字符号化方式修正用のチェックシートの読み込み要求を受け取ったと判定すると（ステップＳ４３においてＹＥＳ）、ステップＳ４４に進み、文字符号化方式修正用のチェックシートの読み込み要求を受け取っていないと判定すると（ステップＳ４３においてＮＯ）、ステップＳ４３の処理を繰り返す。
【０１２６】
ステップＳ４４では、文字符号化方式決定モジュール１１が、前記プリントアウトした文字符号化方式修正用のチェックシートを読み込む（スキャンする）。
【０１２７】
ステップＳ４５に続いてステップＳ４６に進み、文字符号化方式決定モジュール１１は、ログ管理部１２等を介して、修正対象の文字列に含まれる文字符号化方式を、ステップＳ４４において読み込んだ文字符号化方式修正用のチェックシートにおいてチェックされている文字符号化方式に修正する。
【０１２８】
ステップＳ４４に続いてステップＳ４５に進み、文字符号化方式決定モジュール１１は、例えば環境変数等を読み込んで、文字符号化方式修正履歴保管部１４が存在しているかどうかを判定する。
【０１２９】
文字符号化方式決定モジュール１１は、文字符号化方式修正履歴保管部１４が存在すると判定すると（ステップＳ４６においてＹＥＳ）、ステップＳ４７に進み、文字符号化方式修正履歴保管部１４が存在しないと判定すると（ステップＳ４６においてＮＯ）、ステップＳ４８に進む。
【０１３０】
ステップＳ４７では、文字符号化方式決定モジュール１１が、ステップＳ４４において読み込んだ文字符号化方式修正用のチェックシートにおいてチェックされている文字符号化方式等を文字符号化方式修正履歴に登録する。
【０１３１】
ステップＳ４８では、文字符号化方式決定モジュール１１が、修正対象の文字符号化結果と同じ文字符号化結果を含む文字列を、ログ管理部１２を介してログ保管部１３において保管されているログより検索するか、又はログ情報保管部１５が存在する場合は、該ログ情報保管部１５において保管されているログ情報に基づいて、修正対象の文字符号化結果と同じ文字符号化結果を含む文字列を、ログ保管部１３において保管されているログより検索する。
【０１３２】
ステップＳ４８に続いてステップＳ４９に進み、文字符号化方式決定モジュール１１は、ステップＳ４８において検索した検索結果である修正対象の文字符号化結果と同じ文字符号化結果を含む文字列に含まれる文字符号化方式を、例えばステップＳ４４において読み込んだ文字符号化方式修正用のチェックシートにおいてチェックされている文字符号化方式に修正する。
【０１３３】
図１１に示したような処理を行うことによって、ユーザは、意味不明な記号に置き換えられて表示された文字列（文字）を修正することができる。
【０１３４】
また、複合機１００は、修正対象とされた文字列に含まれる文字符号化結果と同じ文字符号化結果を含む文字列を、保持・管理しているログの中から検索し、検索された文字列に含まれる文字符号化方式を修正することができる。
【０１３５】
また、図１１のステップＳ４７に示されるように、修正結果等を文字符号化方式修正履歴に登録することによって、図６に示したような文字符号化方式の推定のときや、図１１のステップＳ４９においてログに含まれる文字符号化方式を修正するとき、また、ステップＳ４０において文字符号化方式の候補を検索するとき、の精度を向上することができる。
【０１３６】
以下、プリントアウトされた文字符号化方式修正用のチェックシートの一例を、図１２を用いて示す。図１２は、プリントアウトされた文字符号化方式修正用のチェックシートの一例を示す図である。
【０１３７】
ユーザは、文字列（文字）を修正しようとする場合、オペレーションパネル１３１０等に表示されている文字列（文字）を選択し、文字符号化方式修正ボタンをタップする。すると、複合機１００は、図１１に示したような処理を開始し、ステップＳ４２において図１２に示されるような文字符号化方式修正用のチェックシートをプリントアウトする。
【０１３８】
ユーザは、例えば図１２に示されるような複数の候補の中から正常に表示されている文字列（及び文字符号化方式）を選択し、チェック欄にチェックを入れ、複合機１００にセットし、読み込み要求を行う。
【０１３９】
例えば、図１２は、説明の簡略化のため、修正対象の文字列が１つで、候補の文字符号化方式等も２つしか示されていないが、修正対象の文字列が多数存在し、またその候補の文字符号化方式等も多数存在する場合、図９及び図１０に示したようなオペレーションパネル１３１０に候補を表示するより、図１１及び図１２に示したように文字符号化方式修正用のチェックシートをプリントアウトした方が、ユーザは、修正が容易となる。
【０１４０】
なお、複合機１００は、図９及び図１０の方法で文字符号化方式を修正するか、又は図１１及び図１２の方法で文字符号化方式を修正するか、をユーザに選択させるような構成としてもよい。
【０１４１】
以下、文字符号化方式修正履歴保管部１４に保管されている文字符号化方式修正履歴の構造の一例を、図１３を用いて説明する。図１３は、文字符号化方式修正履歴の構造の一例を説明するための図である。
【０１４２】
文字符号化方式修正履歴保管場所は、文字符号化方式修正履歴が保管されている保管場所（文字符号化方式修正履歴保管場所１４）の情報である。
【０１４３】
文字列は、修正された文字列に係る情報である。なお、修正された文字列に係る情報として、ユーザによって修正された文字列に含まれる文字符号化結果と文字符号化方式と、文字符号化方式修正情報と、を保持する。なお、文字符号化方式修正情報は、修正回数と、修正日時と、を保持する。
【０１４４】
修正回数と、修正日時と、を保持することによって、例えば文字符号化方式決定モジュール１１は、修正回数及び／又は修正日時を、文字符号化方式の推定の際、及び／又はログを検索し、修正する自動修正の際の、文字符号化方式の決定の優先度として、利用することができる。
【０１４５】
例えば、同じ文字符号化結果を含む文字列であっても、ユーザによって異なった文字符号化方式を選択することがあるため、文字符号化方式修正履歴には、同じ文字符号化結果に対して異なる文字符号化方式の情報が登録されることがある。このような場合、文字符号化方式決定モジュール１１は、例えば修正回数及び／又は修正日時を文字符号化方式の決定の優先度として利用し、文字符号化方式を決定する。
【０１４６】
また、例えば、文字符号化方式決定モジュール１１は、ステップＳ３８又はステップＳ４８において、例えば修正回数及び／又は修正日時を文字符号化方式の決定の優先度として参照し、優先度が高くない場合は、ログへの反映（ログに含まれる文字符号化方式の修正）を取りやめるようにしてもよい。このような構成とすることによって、符号化方式の自動修正時の精度を向上させることができる。
【０１４７】
なお、優先度の付け方としては、１番新しく修正されたものほど優先度を高くしてもよいし、修正された回数が多いものほど優先度を高くするようにしてもよい。
【０１４８】
以下、文字符号化方式決定モジュール１１におけるクラス間の関係を、図１４を用いて説明する。図１４は、符号化方式決定モジュールにおけるクラス間の関係図である。
【０１４９】
図１４に示されるように、文字符号化方式決定モジュール１１は、文字列クラスと、文字符号化結果クラスと、文字符号化方式クラスと、文字符号化方式修正情報クラスと、ログ上の位置クラスと、ログ情報クラスと、文字符号化方式決定者クラスと、ログ保管場所クラスと、文字符号化方式修正履歴保管場所クラスと、を含む。
【０１５０】
文字列クラスは、推定や修正の対象となる文字列を表すクラスである。文字列クラスが扱う文字列は、推定時には推定された文字列を表し、修正時には修正が確定された文字列を表す。
【０１５１】
文字符号化結果クラスは、文字列の文字符号化結果を表すクラスである。
【０１５２】
文字符号化方式クラスは、文字列の文字符号化方式を表すクラスである。文字符号化方式クラスは、文字列の文字符号化結果がその文字符号化方式によって表すことができるかどうかを照合する。
【０１５３】
ログ情報クラスは、ログの情報を表すクラスである。ログ情報クラスは、ログの情報の識別子としてログＩＤを保持する。
【０１５４】
ログ上の位置クラスは、文字列がログ中のどの位置に存在するかを表すクラスである。
【０１５５】
文字符号化方式修正情報クラスは、ユーザによって修正された文字符号化方式に係る情報を表すクラスである。なお、ユーザによって修正された文字符号化方式に係る情報は、ユーザが文字列の文字符号化方式を修正する度に更新される。
【０１５６】
文字符号化方式決定者クラスは、文字符号化方式の推定や修正を受け付け、実行するクラスである。文字符号化方式の推定方法や修正方法は該クラスにおいて定義されている。
【０１５７】
ログ保管場所クラスは、ログの検索を行うクラスである。ログ保管部クラスは、ログ管理部１２又はログ保管部１３とやり取りを行い、ログの検索を実行する。また、ログ情報保管部１５が存在する場合、ログ情報をインデックスとして保持し、ログ検索時に利用する。
【０１５８】
文字符号化方式修正履歴保管場所クラスは、ユーザによる文字符号化方式の修正履歴を保管するクラスである。文字符号化方式修正履歴保管場所クラスは、文字符号化方式修正履歴の参照や、文字符号化方式修正履歴にデータの登録等を行う。
【０１５９】
以下、起動時における起動処理の流れを、図１５を用いて説明する。図１５は、起動時における起動処理の流れを説明するためのフローチャートである。
【０１６０】
ステップＳ５０において、文字符号化方式決定モジュール１１の起動プロセスは、常駐インスタンスを生成する。なお、常駐インスタンスの一例は、後述する図１６又は図１７を用いて説明する。
【０１６１】
ステップＳ５０に続いてステップＳ５１に進み、文字符号化方式決定モジュール１１の起動プロセスは、例えば環境変数等を読み込んで、ログ情報保管部１５が存在しているかどうかを判定する。文字符号化方式決定モジュール１１の起動プロセスは、ログ情報保管部１５が存在すると判定すると（ステップＳ５１においてＹＥＳ）、ステップＳ５２に進み、ログ情報保管部１５が存在しないと判定すると（ステップＳ５１においてＮＯ）、ステップＳ５３に進む。
【０１６２】
ステップＳ５２では、文字符号化方式決定モジュール１１の起動プロセスが、ログ情報を表すインスタンス群を生成する。
【０１６３】
ステップＳ５３では、文字符号化方式決定モジュール１１の起動プロセスが、例えば環境変数等を読み込んで、文字符号化方式修正履歴保管部１４が存在しているかどうかを判定する。文字符号化方式決定モジュール１１の起動プロセスは、文字符号化方式修正履歴保管部１４が存在すると判定すると（ステップＳ５３においてＹＥＳ）、ステップＳ５４に進み、ログ情報保管部１５が存在しないと判定すると（ステップＳ５３においてＮＯ）、処理を終了する。
【０１６４】
ステップＳ５４では、文字符号化方式決定モジュール１１の起動プロセスが、文字符号化方式修正履歴を表すインスタンス群を生成する。
【０１６５】
以下、常駐インスタンスの生成に関するコラボレーション図の一例を、図１６を用いて説明する。図１６は、常駐インスタンスの生成に関するコラボレーション図（その１）である。なお、図１６は、ログ情報保管部１５及び文字符号化方式修正履歴保管部１４が存在していない場合の、起動時のコラボレーション図の一例である。
【０１６６】
文字符号化方式決定モジュール１１の起動プロセスは、ログ保管場所クラスのインスタンスを常駐インスタンスとして生成する（図１６のシーケンス１。）。
【０１６７】
また、文字符号化方式決定モジュール１１の起動プロセスは、文字符号化方式決定者クラスのインスタンスを常駐インスタンスとして生成する（図１６のシーケンス２。）。
【０１６８】
以下、常駐インスタンスの生成に関するコラボレーション図の他の例を、図１７を用いて説明する。図１７は、常駐インスタンスの生成に関するコラボレーション図（その２）である。なお、図１７は、ログ情報保管部１５及び文字符号化方式修正履歴保管部１４が存在している場合の、起動時のコラボレーション図の一例である。
【０１６９】
文字符号化方式決定モジュール１１の起動プロセスは、ログ保管場所クラスのインスタンス（ログ保管場所インスタンス）を常駐インスタンスとして生成する（図１７のシーケンス１。）。
【０１７０】
また、文字符号化方式決定モジュール１１の起動プロセスは、文字符号化方式修正履歴保管場所クラスのインスタンス（文字符号化方式修正履歴保管場所インスタンス）を常駐インスタンスとして生成する（図１７のシーケンス２。）。
【０１７１】
また、文字符号化方式決定モジュール１１の起動プロセスは、文字符号化方式決定者クラスのインスタンスを常駐インスタンスとして生成する（図１７のシーケンス３。）。
【０１７２】
一方、ログ保管場所インスタンスは、ログ情報保管部１５に保管されているログ情報を検索し、見つかったログ情報を表すログ情報クラスのインスタンス（ログ情報インスタンス）を生成する（図１７のシーケンス４。）。
【０１７３】
ログ情報インスタンスは、ログに含まれる文字列を表す文字列クラスのインスタンス（文字列インスタンス）を生成する（図１７のシーケンス５。）。なお、ここで生成される文字列インスタンスの文字符号化方式フラグは「推定」を表す。
【０１７４】
文字列インスタンスは、文字列の文字符号化方式を表す文字符号化方式クラスのインスタンスを生成する（図１７のシーケンス６。）。
【０１７５】
また、文字列インスタンスは、文字列の文字符号化結果を表す文字符号化結果クラスのインスタンスを生成する（図１７のシーケンス７。）。
【０１７６】
また、文字列インスタンスは、文字列がログ中のどの位置に存在するかを表すログ上の位置クラスのインスタンスを生成する（図１７のシーケンス８。）。
【０１７７】
一方、文字符号化方式修正履歴保管場所インスタンスは、文字符号化方式修正履歴保管部１４に保管されている文字列を検索し、見つかった文字列を表す文字列クラスのインスタンス（文字列インスタンス）を生成する（図１７のシーケンス９。）。なお、ここで生成される文字列インスタンスの文字符号化方式フラグは「確定」を表す。
【０１７８】
文字列インスタンスは、文字列の文字符号化方式を表す文字符号化方式クラスのインスタンスを生成する（図１７のシーケンス１０。）。
【０１７９】
また、文字列インスタンスは、ユーザによって修正された文字符号化方式に係る情報を表す文字符号化方式修正情報クラスのインスタンスを生成する（図１７のシーケンス１１。）。
【０１８０】
また、文字列インスタンスは、文字列の文字符号化結果を表す文字符号化結果クラスのインスタンスを生成する（図１７のシーケンス１２。）。
【０１８１】
なお、文字符号化方式修正履歴保管部１４が存在し、ログ情報保管部１５が存在しない場合は、図１７のシーケンス４からシーケンス８までの処理は省略される。
【０１８２】
また、ログ情報保管部１５が存在し、文字符号化方式修正履歴保管部１４が存在しない場合は、図１７のシーケンス２及びシーケンス９からシーケンス１２までの処理は省略される。
【０１８３】
以下、文字符号化方式修正履歴保管部１４が存在しない場合の文字符号化方式推定時のコラボレーションの一例を、図１８を用いて説明する。図１８は、文字符号化方式推定時のコラボレーション図（その１）である。
【０１８４】
初めに、推定依頼者は、推定対象の文字列を表す文字列クラスのインスタンス（文字列インスタンス）を生成する（図１８のシーケンス１。）。なお、推定依頼者は、文字符号化方式を含まない文字列を受信したときに、動作するモジュールを表している。
【０１８５】
文字列インスタンスは、文字列の文字符号化結果を表す文字符号化結果クラスのインスタンスを生成する（図１８のシーケンス２。）。
【０１８６】
一方、推定依頼者は、文字符号化方式決定者インスタンスの推定依頼メソッドを呼び出す（図１８のシーケンス３。）。
【０１８７】
文字符号化方式決定者インスタンスは、文字列インスタンスの、候補検索メソッドを呼び出す（図１８のシーケンス４。）。
【０１８８】
文字列インスタンスは、文字列の文字符号化方式を表す文字符号化方式クラスのインスタンス（文字符号化方式インスタンス）を生成する（図１８のシーケンス５。）。
【０１８９】
また、文字列インスタンスは、文字符号化方式インスタンスの照合メソッドを呼び出す（図１８のシーケンス６。）。
【０１９０】
文字列インスタンスは、照合メソッドの戻り値として、有効な文字符号化方式を取得するまで、図１８のシーケンス５からシーケンス６までの処理を繰り返す。
【０１９１】
文字列インスタンスは、例えば照合メソッドの戻り値として、有効な文字符号化方式を取得すると、文字符号化方式決定者インスタンスの候補検索結果通知メソッドを呼び出す（図１８のシーケンス７。）。
【０１９２】
すると、文字符号化方式決定者インスタンスは、自身が保持する文字符号化方式推定方法に従って、文字符号化方式の推定を行った後、例えば、推定結果を引数として、文字列インスタンスの文字符号化方式推定完了メソッドを呼び出す（図１８のシーケンス８。）。
【０１９３】
文字列インスタンスは、決定した文字符号化方式以外の文字符号化方式インスタンスを破棄する（図１８のシーケンス９。）。
【０１９４】
また、推定依頼者は、文字列インスタンスのログ情報通知メソッドを呼び出す（図１８のシーケンス１０。）。なお、文字符号化方式決定者インスタンスが、文字列インスタンスのログ情報通知メソッドを呼び出すようにしてもよい。
【０１９５】
文字列インスタンスは、ログ情報クラスのインスタンス（ログ情報インスタンス）を生成する（図１８のシーケンス１１。）。
【０１９６】
ログ情報インスタンスは、ログ保管場所インスタンスのログ情報保存メソッドを呼び出す（図１８のシーケンス１２。）。
【０１９７】
なお、ログ情報保管部１５が存在しない場合は、図１８のシーケンス１０からシーケンス１２までの処理は省略される。
【０１９８】
図１８に示されるような処理を行うことによって、文字符号化方式決定モジュール１１は、文字符号化方式を推定することができる。
【０１９９】
以下、文字符号化方式修正履歴保管部１４が存在し、推定対象文字列が文字符号化方式修正履歴に登録済みの場合の文字符号化方式推定時のコラボレーションの一例を、図１９を用いて説明する。図１９は、文字符号化方式推定時のコラボレーション図（その２）である。
【０２００】
初めに、推定依頼者は、推定対象の文字列を表す文字列クラスのインスタンス（文字列インスタンス）を生成する（図１９のシーケンス１。）。
【０２０１】
文字列インスタンスは、文字列の文字符号化結果を表す文字符号化結果クラスのインスタンスを生成する（図１９のシーケンス２。）。
【０２０２】
一方、推定依頼者は、文字符号化方式決定者インスタンスの推定依頼メソッドを呼び出す（図１９のシーケンス３。）。
【０２０３】
文字符号化方式決定者インスタンスは、文字符号化方式修正履歴保管場所インスタンスの参照メソッドを呼び出し、文字符号化方式修正履歴を参照する（図１９のシーケンス４。）。
【０２０４】
ここで、推定対象文字列が文字符号化方式修正履歴に登録済みであった場合、文字符号化方式決定者インスタンスは、参照メソッドの戻り値として、例えば推定対象文字列に含まれる文字符号化方式を取得する。
【０２０５】
文字符号化方式決定者インスタンスは、例えば取得した文字符号化方式を引数として、文字列インスタンスの文字符号化方式推定完了メソッドを呼び出す（図１９のシーケンス５。）。
【０２０６】
文字列インスタンスは、例えば引数として渡された文字符号化方式を表す文字符号化方式インスタンスを生成する（図１９のシーケンス６。）。
【０２０７】
また、推定依頼者は、文字列インスタンスのログ情報通知メソッドを呼び出す（図１９のシーケンス７。）。なお、文字符号化方式決定者インスタンスが、文字列インスタンスのログ情報通知メソッドを呼び出すようにしてもよい。
【０２０８】
文字列インスタンスは、ログ情報クラスのインスタンス（ログ情報インスタンス）を生成する（図１９のシーケンス８。）。
【０２０９】
ログ情報インスタンスは、ログ保管場所インスタンスのログ情報保存メソッドを呼び出す（図１９のシーケンス９。）。
【０２１０】
なお、ログ情報保管部１５が存在しない場合は、図１９のシーケンス７からシーケンス９までの処理は省略される。
【０２１１】
図１９に示されるような処理を行うことによって、文字符号化方式決定モジュール１１は、文字符号化方式修正履歴を利用して、文字符号化方式を推定することができる。
【０２１２】
以下、文字符号化方式修正履歴保管部１４が存在しているが、推定対象文字列が文字符号化方式修正履歴に登録されていない場合の文字符号化方式推定時のコラボレーションの一例を、図２０を用いて説明する。図２０は、文字符号化方式推定時のコラボレーション図（その３）である。
【０２１３】
初めに、推定依頼者は、推定対象の文字列を表す文字列クラスのインスタンス（文字列インスタンス）を生成する（図２０のシーケンス１。）。
【０２１４】
文字列インスタンスは、文字列の文字符号化結果を表す文字符号化結果クラスのインスタンスを生成する（図２０のシーケンス２。）。
【０２１５】
一方、推定依頼者は、文字符号化方式決定者インスタンスの推定依頼メソッドを呼び出す（図２０のシーケンス３。）。
【０２１６】
文字符号化方式決定者インスタンスは、文字符号化方式修正履歴保管場所インスタンスの参照メソッドを呼び出し、文字符号化方式修正履歴を参照する（図２０のシーケンス４。）。
【０２１７】
ここで、推定対象文字列が文字符号化方式修正履歴に登録されていなかった場合、文字符号化方式決定者インスタンスは、文字列インスタンスの、候補検索メソッドを呼び出す（図２０のシーケンス５。）。
【０２１８】
文字列インスタンスは、文字列の文字符号化方式を表す文字符号化方式クラスのインスタンス（文字符号化方式インスタンス）を生成する（図２０のシーケンス６。）。
【０２１９】
また、文字列インスタンスは、文字符号化方式インスタンスの照合メソッドを呼び出す（図２０のシーケンス７。）。
【０２２０】
文字列インスタンスは、照合メソッドの戻り値として、有効な文字符号化方式を取得するまで、図２０のシーケンス６からシーケンス７までの処理を繰り返す。
【０２２１】
文字列インスタンスは、例えば照合メソッドの戻り値として、有効な文字符号化方式を取得すると、文字符号化方式決定者インスタンスの候補検索結果通知メソッドを呼び出す（図２０のシーケンス８。）。
【０２２２】
すると、文字符号化方式決定者インスタンスは、自身が保持する文字符号化方式推定方法に従って、文字符号化方式の推定を行った後、例えば、推定結果を引数として、文字列インスタンスの文字符号化方式推定完了メソッドを呼び出す（図２０のシーケンス９。）。
【０２２３】
文字列インスタンスは、決定した文字符号化方式以外の文字符号化方式インスタンスを破棄する（図２０のシーケンス１０。）。
【０２２４】
また、推定依頼者は、文字列インスタンスのログ情報通知メソッドを呼び出す（図２０のシーケンス１１。）。なお、文字符号化方式決定者インスタンスが、文字列インスタンスのログ情報通知メソッドを呼び出すようにしてもよい。
【０２２５】
文字列インスタンスは、ログ情報クラスのインスタンス（ログ情報インスタンス）を生成する（図２０のシーケンス１２。）。
【０２２６】
ログ情報インスタンスは、ログ保管場所インスタンスのログ情報保存メソッドを呼び出す（図２０のシーケンス１３。）。
【０２２７】
なお、ログ情報保管部１５が存在しない場合は、図２０のシーケンス１１からシーケンス１３までの処理は省略される。
【０２２８】
図２０に示されるような処理を行うことによって、文字符号化方式決定モジュール１１は、文字符号化方式修正履歴保管部１４が存在しているが、推定対象文字列が文字符号化方式修正履歴に登録されていない場合であっても、文字符号化方式を推定することができる。
【０２２９】
以下、文字符号化方式修正履歴保管部１４が存在しない場合の、文字符号化方式修正時のコラボレーションの一例を、図２１を用いて説明する。図２１は、文字符号化方式修正時のコラボレーション図（その１）である。
【０２３０】
初めに、修正依頼者は、修正対象の文字列を表す文字列クラスのインスタンス（文字列インスタンス）を生成する（図２１のシーケンス１。）。なお、修正依頼者は、ユーザ又はユーザＩ／Ｆを提供するモジュールを表している。
【０２３１】
文字列インスタンスは、文字列の文字符号化結果を表す文字符号化結果クラスのインスタンスを生成する（図２１のシーケンス２。）。
【０２３２】
一方、修正依頼者は、文字符号化方式決定者インスタンスの修正依頼メソッドを呼び出す（図２１のシーケンス３。）。
【０２３３】
文字符号化方式決定者インスタンスは、文字列インスタンスの候補検索メソッドを呼び出す（図２１のシーケンス４。）。
【０２３４】
文字列インスタンスは、文字列の文字符号化方式を表す文字符号化方式クラスのインスタンス（文字符号化方式インスタンス）を生成する（図２１のシーケンス５。）。
【０２３５】
また、文字列インスタンスは、文字符号化方式インスタンスの照合メソッドを呼び出す（図２１のシーケンス６。）。
【０２３６】
文字列インスタンスは、照合メソッドの戻り値として、文字符号化方式を取得すると、該文字符号化方式を含む文字列を引数として、文字符号化方式決定者インスタンスの候補検索結果通知メソッドを呼び出す（図２１のシーケンス７。）。
【０２３７】
すると文字符号化方式決定者インスタンスは、修正依頼者に対して、文字列の候補を提示する（図２１のシーケンス８。）。
【０２３８】
修正依頼者は、選択した候補を引数として、文字符号化方式決定者インスタンスの修正依頼メソッドを呼び出す（図２１のシーケンス９。）。
【０２３９】
文字符号化方式決定者インスタンスは、引数として渡された候補（文字符号化方式）等を引数として、文字列インスタンスの文字符号化方式修正完了メソッドを呼び出す（図２１のシーケンス１０。）。
【０２４０】
文字列インスタンスは、選択された文字符号化方式以外の文字符号化方式インスタンスを破棄する（図２１のシーケンス１１。）。
【０２４１】
一方、文字符号化方式決定者インスタンスは、引数として渡された候補（文字列）等を引数として、ログ保管場所インスタンスのログ自動修正メソッドを呼び出す（図２１のシーケンス１２。）。
【０２４２】
ログ保管場所インスタンスは、ログ管理部１２又はログ保管部１３等を表すログ管理部に対して、修正された文字列に含まれる文字符号化結果と同じ文字符号化結果を含む文字列の検索要求を行う（図２１のシーケンス１３。）。
【０２４３】
なお、ログ情報保管部１５が存在する場合は、ログ保管場所インスタンスは、例えばログ情報を引数として、検索要求を行うことによって、ログ管理部は、ログ情報をインデックスとして検索を行う。
【０２４４】
また、ログ保管場所インスタンスは、検索された文字列に含まれる文字符号化方式を、選択された文字符号化方式にするよう修正要求を行う（図２１のシーケンス１４。）。
【０２４５】
図２１に示されるような処理を行うことによって、文字符号化方式決定モジュール１１は、文字符号化方式を修正することができる。
【０２４６】
以下、文字符号化方式修正履歴保管部１４が存在する場合の、文字符号化方式修正時のコラボレーションの一例を、図２２を用いて説明する。図２２は、文字符号化方式修正時のコラボレーション図（その２）である。
【０２４７】
初めに、修正依頼者は、修正対象の文字列を表す文字列クラスのインスタンス（文字列インスタンス）を生成する（図２２のシーケンス１。）。
【０２４８】
文字列インスタンスは、文字列の文字符号化結果を表す文字符号化結果クラスのインスタンスを生成する（図２２のシーケンス２。）。
【０２４９】
一方、修正依頼者は、文字符号化方式決定者インスタンスの修正依頼メソッドを呼び出す（図２２のシーケンス３。）。
【０２５０】
文字符号化方式決定者インスタンスは、文字列インスタンスの候補検索メソッドを呼び出す（図２２のシーケンス４。）。
【０２５１】
文字列インスタンスは、文字列の文字符号化方式を表す文字符号化方式クラスのインスタンス（文字符号化方式インスタンス）を生成する（図２２のシーケンス５。）。
【０２５２】
また、文字列インスタンスは、文字符号化方式インスタンスの照合メソッドを呼び出す（図２２のシーケンス６。）。
【０２５３】
文字列インスタンスは、照合メソッドの戻り値として、文字符号化方式を取得すると、該文字符号化方式を含む文字列を引数として、文字符号化方式決定者インスタンスの候補検索結果通知メソッドを呼び出す（図２２のシーケンス７。）。
【０２５４】
すると文字符号化方式決定者インスタンスは、修正依頼者に対して、文字列の候補を提示する（図２２のシーケンス８。）。
【０２５５】
修正依頼者は、選択した候補を引数として、文字符号化方式決定者インスタンスの修正依頼メソッドを呼び出す（図２２のシーケンス９。）。
【０２５６】
文字符号化方式決定者インスタンスは、引数として渡された候補（文字符号化方式）等を引数として、文字列インスタンスの文字符号化方式修正完了メソッドを呼び出す（図２２のシーケンス１０。）。
【０２５７】
文字列インスタンスは、選択された文字符号化方式以外の文字符号化方式インスタンスを破棄する（図２２のシーケンス１１。）。
【０２５８】
また、文字列インスタンスは、修正された文字符号化方式に係る情報である文字符号化方式修正情報（例えば、該文字符号化方式、該文字符号化方式に対応する文字符号化結果、修正日時、修正回数等）を引数として、文字符号化方式修正履歴保管場所インスタンスの登録メソッドを呼び出す（図２２のシーケンス１２。）。
【０２５９】
文字符号化方式決定者インスタンスは、文字列等を引数として文字符号化方式修正履歴保管場所インスタンスの参照メソッドを呼び出して優先度等を確認する（図２２のシーケンス１３。）。
【０２６０】
文字符号化方式決定者インスタンスは、例えば予め定められた優先度以上であると判定すると、文字列等を引数として、ログ保管場所インスタンスのログ自動修正メソッドを呼び出す（図２２のシーケンス１４。）。
【０２６１】
ログ保管場所インスタンスは、ログ管理部に対して、修正された文字列に含まれる文字符号化結果と同じ文字符号化結果を含む文字列の検索要求を行う（図２２のシーケンス１５。）。
【０２６２】
なお、ログ情報保管部１５が存在する場合は、ログ保管場所インスタンスは、例えばログ情報を引数として、検索要求を行うことによって、ログ管理部は、ログ情報をインデックスとして検索を行う。
【０２６３】
また、ログ保管場所インスタンスは、検索された文字列に含まれる文字符号化方式を、選択された文字符号化方式にするよう修正要求を行う（図２２のシーケンス１６。）。
【０２６４】
図２２に示されるような処理を行うことによって、文字符号化方式決定モジュール１１は、文字符号化方式修正履歴を利用して文字符号化方式を修正することができる。
【０２６５】
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【０２６６】
【図１】文字列と、文字符号化結果と、文字符号化方式と、の一例を示す図である。
【図２】複合機の構成の一例を説明するための図である。
【図３】複合機のハードウェア構成の一例を説明するためのブロック図である。
【図４】文字符号化方式の修正の処理の流れの概要を説明するための図である。
【図５】複合機の機能構成の一例を説明するための図である。
【図６】文字符号化方式の推定処理の一例を説明するためのフローチャートである。
【図７】ログの構造の一例を説明するための図である。
【図８】ログ情報の構造の一例を説明するための図である。
【図９】文字符号化方式の修正処理の一例を説明するためのフローチャートである。
【図１０】文字符号化方式の修正時のオペレーションパネルにおける表示画面の一例を示す図である。
【図１１】文字符号化方式の修正処理の他の例を説明するためのフローチャートである。
【図１２】プリントアウトされた文字符号化方式修正用のチェックシートの一例を示す図である。
【図１３】文字符号化方式修正履歴の構造の一例を説明するための図である。
【図１４】符号化方式決定モジュールにおけるクラス間の関係図である。
【図１５】起動時における起動処理の流れを説明するためのフローチャートである。
【図１６】常駐インスタンスの生成に関するコラボレーション図（その１）である。
【図１７】常駐インスタンスの生成に関するコラボレーション図（その２）である。
【図１８】文字符号化方式推定時のコラボレーション図（その１）である。
【図１９】文字符号化方式推定時のコラボレーション図（その２）である。
【図２０】文字符号化方式推定時のコラボレーション図（その３）である。
【図２１】文字符号化方式修正時のコラボレーション図（その１）である。
【図２２】文字符号化方式修正時のコラボレーション図（その２）である。
【符号の説明】
【０２６７】
１０    文字列受信部
１１    文字符号化方式決定モジュール
１２    ログ管理部
１３    ログ保管部
１４    文字符号化方式修正履歴保管部
１５    ログ情報保管部
１６    ユーザＩ／Ｆ
１００    複合機
【図１】
2005191669.tif 000003
【図２】
2005191669.tif 000004
【図３】
2005191669.tif 000005
【図４】
2005191669.tif 000006
【図５】
2005191669.tif 000007
【図６】
2005191669.tif 000008
【図７】
2005191669.tif 000009
【図８】
2005191669.tif 000010
【図９】
2005191669.tif 000011
【図１０】
2005191669.tif 000012
【図１１】
2005191669.tif 000013
【図１２】
2005191669.tif 000014
【図１３】
2005191669.tif 000015
【図１４】
2005191669.tif 000016
【図１５】
2005191669.tif 000017
【図１６】
2005191669.tif 000018
【図１７】
2005191669.tif 000019
【図１８】
2005191669.tif 000020
【図１９】
2005191669.tif 000021
【図２０】
2005191669.tif 000022
【図２１】
2005191669.tif 000023
【図２２】
2005191669.tif 000024