(57)【要約】【課題】特殊文字や外字を含む文字列を迅速かつ正常に変換する文字コード変換装置等を提供する。【解決手段】本実施形態に係る文字コード変換装置１０は、複数のコード変換テーブルを含む第１のコード変換テーブル群４１および変換前後の文字コード間での任意の文字列の対応である変換規則を定義する辞書ファイル４２を記憶する外部記憶手段１４と、起動される時に第１のコード変換テーブル群の中から１つ以上の必要なコード変換テーブルを予め備えられた主記憶手段１２に第２のコード変換テーブル群４１Ｂとして記憶するコード変換処理部５１と、起動される時に辞書ファイル４２を読み込み、この辞書ファイル内に定義された変換規則に基づいて第２のコード変換テーブル群４１Ｂの中で変換規則に該当するコード変換テーブルを更新する辞書変換処理部５２とを有する。【選択図】図１
2011154495.tif 000002
【特許請求の範囲】
【請求項１】
入力された変換前文字列情報を文字コードの異なる変換後文字列に変換して出力する文字コード変換装置であって、
片方向のみの文字コード間の対応関係を定義した複数のコード変換テーブルを含む第１のコード変換テーブル群および変換前後の前記文字コード間での任意の文字列の対応である変換規則を定義する辞書ファイルを記憶する外部記憶手段と、
起動される時に前記第１のコード変換テーブル群の中から１つ以上の必要な前記コード変換テーブルを予め備えられた主記憶手段に第２のコード変換テーブル群として記憶するコード変換処理部と、
起動される時に前記辞書ファイルを読み込み、この辞書ファイル内に定義された前記変換規則に基づいて前記第２のコード変換テーブル群の中で前記変換規則に該当するコード変換テーブルを更新する辞書変換処理部と
を有することを特徴とする文字コード変換装置。
【請求項２】
前記変換前文字列情報が、変換前文字列と、変換前後の文字コード種類を定義する変換方向情報とを含み、
前記コード変換処理部が、前記変換前文字列情報が入力された際に前記変換方向情報に対応する前記コード変換テーブルを前記第２のコード変換テーブル群から検索して前記変換前文字列に対応する変換後文字列を出力することを特徴とする、請求項１に記載の文字コード変換装置。
【請求項３】
前記第２のコード変換テーブル群が、第１のコード変換テーブルおよび前記第１のコード変換テーブルと逆方向の文字コード間の対応関係を定義した第２のコード変換テーブルとを含むことを特徴とする、請求項１に記載の文字コード変換装置。
【請求項４】
前記辞書ファイルが更新されているか否かを定期的に確認し、更新されていれば前記第２のコード変換テーブル群の中で前記変換規則に該当するコード変換テーブルを更新する辞書更新処理部を有することを特徴とする、請求項１に記載の文字コード変換装置。
【請求項５】
入力された変換前文字列情報を文字コードの異なる変換後文字列に変換して出力する文字コード変換装置にあって、
前記文字コード変換装置が起動される時に、片方向のみの文字コード間の対応関係を定義した複数のコード変換テーブルを含む第１のコード変換テーブル群をコード変換処理部が予め備えられた外部記憶手段から読み込み、
読み込まれた前記第１のコード変換テーブル群の中から１つ以上の必要な前記コード変換テーブルを前記コード変換処理部が予め備えられた主記憶手段に第２のコード変換テーブル群として記憶し、
前記第１のコード変換テーブル群に続いて変換前後の前記文字コード間での任意の文字列の対応である変換規則を定義する辞書ファイルを前記外部記憶手段から辞書変換処理部が読み込み、
この辞書ファイル内に定義された前記変換規則に基づいて前記第２のコード変換テーブル群の中で前記変換規則に該当するコード変換テーブルを辞書変換処理部が更新する
ことを特徴とする文字コード変換方法。
【請求項６】
入力された変換前文字列情報を文字コードの異なる変換後文字列に変換して出力する文字コード変換装置にあって、
前記文字コード変換装置が備えているコンピュータに、
前記文字コード変換装置が起動される時に、片方向のみの文字コード間の対応関係を定義した複数のコード変換テーブルを含む第１のコード変換テーブル群を予め備えられた外部記憶手段から読み込む手順、
読み込まれた前記第１のコード変換テーブル群の中から１つ以上の必要な前記コード変換テーブルを予め備えられた主記憶手段に第２のコード変換テーブル群として記憶する手順、
前記第１のコード変換テーブル群に続いて変換前後の前記文字コード間での任意の文字列の対応である変換規則を定義する辞書ファイルを前記外部記憶手段から読み込む手順、
およびこの辞書ファイル内に定義された前記変換規則に基づいて前記第２のコード変換テーブル群の中で前記変換規則に該当するコード変換テーブルを更新する手順
を実行させることを特徴とする文字コード変換プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は文字コード変換装置、文字コード変換方法、および文字コード変換プログラムに関し、特に特殊文字や外字を含む文字列を迅速に変換することを可能とする文字コード変換装置、文字コード変換方法、および文字コード変換プログラムに関する。
【背景技術】
【０００２】
コンピュータ上で文字を利用するための文字コードには数多くの体系がある。特に日本語ではＥＵＣ（EUC_JP）、ＪＩＳ（７ビット）、シフトＪＩＳ（SHIFT_JIS）、ユニコード（UTF-8）などが多く使用されている。文字コードについては多くの規格が並立しているのに加えて、たとえば日本電気（株）のＪＩＰＳ（JIPS(J)、JIPS(E)）などのように、特定のベンダに固有の文字コードもある。
【０００３】
図９は、コンピュータネットワークで文字コードの変換が利用される場面の一例を示す説明図である。一般的なコンピュータネットワーク５０１は、端末装置であるクライアントコンピュータ５１０と、アプリケーションサーバ５２０とがインターネット５３０を介して接続され、アプリケーションサーバ５２０はさらにメインフレームによるホスト５４０と接続されている。アプリケーションサーバ５２０内部で、ウェブアプリケーション５２１、ＥＪＢ（Enterprise JavaBeans）５２２、文字コード変換部５２３が動作している。
【０００４】
クライアントコンピュータ５１０は、シフトＪＩＳやユニコードなどのような文字コードで記述された文字列を、ウェブアプリケーション５２１に送信する。文字コード変換部５２３は、ウェブアプリケーション５２１からＥＪＢ５２２を介して受けたこの文字列をＪＩＰＳに変換して、ホスト５４０で動作している既存のオンライン業務システムに送信して処理させる。ホスト５４０から返信されたＪＩＰＳで記述された処理結果は、文字コード変換部５２３でシフトＪＩＳやユニコードに変換されて、ＥＪＢ５２２およびウェブアプリケーション５２１を通じてクライアントコンピュータ５１０に戻される。既存のオンライン業務システムを変更しなくてもよいように、このような文字コードの変換が必要となるのである。
【０００５】
この例に限らず、コンピュータを利用する上で文字コードの変換が必要となる場面は多くある。たとえば、日本語の電子メールではＪＩＳ（７ビット）が事実上の標準の文字コードとされており、多くのコンピュータではシフトＪＩＳやユニコードなどの文字コードで作成された電子メールをＪＩＳ（７ビット）に変換してから送信している。
【０００６】
ある文字コードで定義されている文字が、別の文字コードでは定義されていない（または複数種類の文字に分けられている）などのような場合もある。たとえば特殊文字（ベンダー定義文字）や外字（ユーザ定義文字）などがこれに該当する。人名や地名などにそれらの特殊文字や外字などが含まれていることも多い。ある文字コードで記述された文字列を別の文字コードに変換する際、その文字列にそれらの特殊文字や外字などが含まれていると、正常な文字列に変換されないという問題が生じる。
【０００７】
特殊文字や外字を含む文字列の文字コード変換に関連する技術文献として、たとえば次に示す各特許文献がある。その中でも特許文献１には、特殊文字や外字のコード変換を、通常の文字コードに対するコード変換装置とは別装置で行ない、その後、通常の文字コードに対するコード変換装置に渡すという文字コードの変換手法が記載されている。
【０００８】
また特許文献２には、片方向のみの変換テーブルを持つことで高速な変換とメモリ容量の削減を可能とするという文字コードの変換手法が記載されている。特許文献３には、事前に変換テーブルに対応付けられていない文字コードが発生した際に、新規文字フォント作成や変換テーブルの追加作業を行うという文字コードの変換手法が記載されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００１−２４３２１７号公報
【特許文献２】特開２００６−２５２３３０号公報
【特許文献３】特開２００６−３３８２２３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
前述の各特許文献に記載された技術では、特殊文字や外字を含む文字列を正常に変換することは可能ではあるが、その変換処理に多くの手間および時間がかかるという問題がある。
【００１１】
たとえば特許文献１に記載の技術では、先に特殊文字や外字のみをコード変換した後、通常の文字コードに対するコード変換を行なうという２段階の処理が必要である。また、特許文献１に記載の手法では、特殊文字や外字のコード変換規則のみを変更したい場合にも、通常の文字コードの変換に使用される変換テーブル自体を修正する必要があるという問題がある。
【００１２】
特許文献２に記載の技術では、片方向のみの変換テーブルしか持たないので、その逆方向の変換は不可能であるか、もしくは処理が著しく遅くなる。特許文献３に記載の技術では、変換処理の時点で新規文字フォント作成や変換テーブルの追加作業を行うので、処理に時間がかかることになる。
【００１３】
さらに、各文字コードに関する規格はたびたび改正され、その改正によって、人名や地名などで利用される文字の追加、字体の変更や入れ替えが行われることがある（実際、西暦１９９７年にはＪＩＳ規格（JIS X 0208）の改正により、外字の利用が原則的に禁止されたこともある）。そのような場合に、これらの手法では、変換テーブル全体の修正が必要となるという問題もある。特許文献１〜３に記載の技術では、この問題に対応することはできない。
【００１４】
本発明の目的は、特殊文字や外字を含む文字列を迅速かつ正常に変換することを可能とし、かつ字体の変更や入れ替えに容易に対応することを可能とする文字コード変換装置、文字コード変換方法、および文字コード変換プログラムを提供することにある。
【課題を解決するための手段】
【００１５】
上記目的を達成するため、本発明に係る文字コード変換装置は、入力された変換前文字列情報を文字コードの異なる変換後文字列に変換して出力する文字コード変換装置であって、片方向のみの文字コード間の対応関係を定義した複数のコード変換テーブルを含む第１のコード変換テーブル群および変換前後の文字コード間での任意の文字列の対応である変換規則を定義する辞書ファイルを記憶する外部記憶手段と、起動される時に第１のコード変換テーブル群の中から１つ以上の必要なコード変換テーブルを予め備えられた主記憶手段に第２のコード変換テーブル群として記憶するコード変換処理部と、起動される時に辞書ファイルを読み込み、この辞書ファイル内に定義された変換規則に基づいて第２のコード変換テーブル群の中で変換規則に該当するコード変換テーブルを更新する辞書変換処理部とを有することを特徴とする。
【００１６】
上記目的を達成するため、本発明に係る文字コード変換方法は、入力された変換前文字列情報を文字コードの異なる変換後文字列に変換して出力する文字コード変換装置にあって、文字コード変換装置が起動される時に、片方向のみの文字コード間の対応関係を定義した複数のコード変換テーブルを含む第１のコード変換テーブル群をコード変換処理部が予め備えられた外部記憶手段から読み込み、読み込まれた第１のコード変換テーブル群の中から１つ以上の必要なコード変換テーブルをコード変換処理部が予め備えられた主記憶手段に第２のコード変換テーブル群として記憶し、第１のコード変換テーブル群に続いて変換前後の文字コード間での任意の文字列の対応である変換規則を定義する辞書ファイルを外部記憶手段から辞書変換処理部が読み込み、この辞書ファイル内に定義された変換規則に基づいて第２のコード変換テーブル群の中で変換規則に該当するコード変換テーブルを辞書変換処理部が更新することを特徴とする。
【００１７】
上記目的を達成するため、本発明に係る文字コード変換プログラムは、入力された変換前文字列情報を文字コードの異なる変換後文字列に変換して出力する文字コード変換装置にあって、文字コード変換装置が備えているコンピュータに、文字コード変換装置が起動される時に、片方向のみの文字コード間の対応関係を定義した複数のコード変換テーブルを含む第１のコード変換テーブル群を予め備えられた外部記憶手段から読み込む手順、読み込まれた第１のコード変換テーブル群の中から１つ以上の必要なコード変換テーブルを予め備えられた主記憶手段に第２のコード変換テーブル群として記憶する手順、第１のコード変換テーブル群に続いて変換前後の文字コード間での任意の文字列の対応である変換規則を定義する辞書ファイルを外部記憶手段から読み込む手順、およびこの辞書ファイル内に定義された変換規則に基づいて第２のコード変換テーブル群の中で変換規則に該当するコード変換テーブルを更新する手順を実行させることを特徴とする。
【発明の効果】
【００１８】
上述したように本発明は、文字コード変換装置の起動時に、辞書ファイルに定義されている変換規則によってコード変換テーブルを更新するように構成したので、この装置が動作している間は通常の片方向のみの文字コード変換と同じ手間で変換処理が可能となる。これによって、特殊文字や外字を含む文字列を迅速かつ正常に変換することが可能であり、かつ字体の変更や入れ替えに容易に対応することも可能であるという優れた特徴を持つ文字コード変換装置、文字コード変換方法、および文字コード変換プログラムを提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１の実施形態に係る文字コード変換装置の構成を示す説明図である。
【図２】図１で示した変換前文字列情報のより詳しいデータ構成を示す説明図である。
【図３】図１で示したコード変換テーブル群の持つ複数のコード変換テーブルで可能な変換方向の例について示す表である。
【図４】図１で示した辞書ファイルによる変換規則の定義と、この定義のコード変換テーブル群への反映の一例を示す説明図である。
【図５】図１で示したコード変換手段が起動される際の処理について示すフローチャートである。
【図６】図１で示したコード変換手段が文字コードの変換を行う際の処理について示すフローチャートである。
【図７】本発明の第２の実施形態に係る文字コード変換装置の構成を示す説明図である。
【図８】図７で示した辞書更新処理部の動作を示すフローチャートである。
【図９】コンピュータネットワークで文字コードの変換が利用される場面の一例を示す説明図である。
【発明を実施するための形態】
【００２０】
（第１の実施形態）
以下、本発明の第１の実施形態の構成について添付図１に基づいて説明する。
最初に、本実施形態の基本的な内容について説明し、その後でより具体的な内容について説明する。
本実施形態に係る文字コード変換装置１０は、入力された変換前文字列情報３１を文字コードの異なる変換後文字列３２に変換して出力する文字コード変換装置である。この文字コード変換装置１０は、片方向のみの文字コード間の対応関係を定義した複数のコード変換テーブルを含む第１のコード変換テーブル群４１および変換前後の文字コード間での任意の文字列の対応である変換規則を定義する辞書ファイル４２を記憶する外部記憶手段１４と、起動される時に第１のコード変換テーブル群の中から１つ以上の必要なコード変換テーブルを予め備えられた主記憶手段１２に第２のコード変換テーブル群４１Ｂとして記憶するコード変換処理部５１と、起動される時に辞書ファイル４２を読み込み、この辞書ファイル内に定義された変換規則に基づいて第２のコード変換テーブル群４１Ｂの中で変換規則に該当するコード変換テーブルを更新する辞書変換処理部５２とを有する。
【００２１】
ここで、変換前文字列情報３１が、変換前文字列３１Ａと、変換前後の文字コード種類を定義する変換方向情報３１Ｂとを含み、コード変換処理部５１が、変換前文字列情報３１が入力された際に変換方向情報３１Ｂに対応するコード変換テーブルを第２のコード変換テーブル群４１Ｂから検索して変換前文字列に対応する変換後文字列を出力する。
【００２２】
そして第２のコード変換テーブル群４１Ｂが、第１のコード変換テーブルおよび第１のコード変換テーブルと逆方向の文字コード間の対応関係を定義した第２のコード変換テーブルとを含む。
【００２３】
この構成を備えることにより、文字コード変換装置１０は、特殊文字や外字を含む文字列を迅速かつ正常に変換することが可能となる。
以下、これをより詳細に説明する。
【００２４】
図１は、本発明の第１の実施形態に係る文字コード変換装置１０のハードウェアとしての構成を示す説明図である。文字コード変換装置１０は、一般的なコンピュータ装置であり、コンピュータプログラムを実行する主体となる主演算制御手段（ＣＰＵ: Central Processing Unit）１１と、データを記憶する主記憶手段（ＲＡＭ）１２と、動作中のアプリケーションソフトの動作状態を記憶するアプリ状態記憶手段１３と、ハードディスクなどのような外部記憶手段１４、１５と、ユーザからの入力操作を受け付けるキーボードなどの入力手段１６と、ユーザに処理結果を表示するディスプレイなどの出力手段１７とを備える。主記憶手段１２とアプリ状態記憶手段１３は物理的には同一の記憶手段でよいし、同様に外部記憶手段１４および１５は物理的には同一の記憶手段でよい。
【００２５】
主演算制御手段１１は、ワードプロセッサ、表計算、ウェブブラウザなどのような一般的なアプリケーションソフト２１を動作させて、その動作状態をアプリ状態記憶手段１３に記憶している。アプリケーションソフト２１は入力手段１６を介してユーザに操作され、その処理結果を出力手段１７に表示するが、その処理の過程で必要に応じてコード変換手段２２を利用する。アプリケーションソフト２１からの呼び出しに応じて、主演算制御手段１１上でコード変換手段２２が動作し、これにアプリケーションソフト２１が変換前文字列情報３１を入力する。コード変換手段２２は、変換前文字列情報３１を文字コードの異なる変換後文字列３２に変換して、これをアプリケーションソフト２１に返すソフトウェアである。変換後文字列３２を受けたアプリケーションソフト２１は、アプリ状態記憶手段１３から主演算制御手段１１上に戻って動作を継続する。
【００２６】
そして外部記憶手段１４には、コード変換手段２２が後述の処理を行う際に参照するデータであるコード変換テーブル群４１が記憶されている。同様に外部記憶手段１５には、コード変換手段２２が後述の処理を行う際に参照するデータである辞書ファイル４２が記憶されている。コード変換テーブル群４１および辞書ファイル４２の内容については後述する。
【００２７】
コード変換手段２２は、コード変換処理部５１と、辞書変換処理部５２という各機能部からなる。コード変換処理部５１は、コード変換テーブル群４１を外部記憶手段１４から読み出して、主記憶手段１２にコード変換テーブル群４１Ｂとして記憶する。そしてアプリケーションソフト２１から変換前文字列情報３１が入力されると、コード変換処理部５１はコード変換テーブル群４１のデータを参照して変換後の文字コードを取得して、それによって変換後文字列３２に変換する処理を行う。
【００２８】
辞書変換処理部５２は、外部記憶手段１５から辞書ファイル４２のデータを読み出してこれを参照して、そこに定義されている情報に基づいて主記憶手段１２上のコード変換テーブル群４１Ｂを更新する。この処理の詳細についても後述する。
【００２９】
図２は、図１で示した変換前文字列情報３１のより詳しいデータ構成を示す説明図である。変換前文字列情報３１は、変換前文字列３１Ａと、変換前後の文字コード種類をたとえば「ユニコード→シフトＪＩＳ」のように定義する変換方向情報３１Ｂとを含む。変換後文字列３２は、変換前文字列３１Ａを変換方向情報３１Ｂに従って変換した後の文字列である。
【００３０】
図３は、図１で示したコード変換テーブル群４１および４１Ｂの持つ各々のコード変換テーブルで可能な変換方向の例について示す表である。一つのコード変換テーブルは、たとえば「ユニコード→シフトＪＩＳ」のように片方向の変換のみが可能となっている。このため、コード変換テーブル群４１は、「ユニコード→シフトＪＩＳ」「シフトＪＩＳ→ユニコード」「ユニコード→ＥＵＣ」「ＥＵＣ→ユニコード」などのような片方向のみの変換を行なう複数のコード変換テーブルを含む。図３では、変換前後の文字コード種類が同一であっても、ＪＩＳ年度種別が異なれば字形などが異なる場合があるため、変換前後の文字コード種類とＪＩＳ年度種別とを合わせて示している。
【００３１】
コード変換テーブル群４１Ｂは、コード変換テーブル群４１の中で、あらかじめ定義された必要なコード変換テーブルのみを抽出したものである。ここでは「ユニコード→シフトＪＩＳ」「シフトＪＩＳ→ユニコード」のみを抽出している。
【００３２】
図４は、図１で示した辞書ファイル４２による変換規則の定義と、この定義のコード変換テーブル群４１Ｂへの反映の一例を示す説明図である。辞書ファイル４２では、任意の変換規則を定義することができ、かつ複数のコード変換テーブルに関する変換規則を定義できる。なお、ここでいう辞書ファイル４２は、たとえばマイクロソフト社製のＭＳ−ＩＭＥや、ジャストシステム（株）製のＡＴＯＫ（登録商標）などの日本語入力メソッドで、入力されたかな文字列を漢字仮名交じり文字列に変換する際に利用される辞書ファイルとは特に関係はない。
【００３３】
例えば、図４に示した例では、ユニコードの３０４２「あ」をシフトＪＩＳの８２Ａ９「か」に対応付ける定義、あるいはユニコードの３０５５「さ」をシフトＪＩＳの８２ＢＤ「た」に対応付ける定義が記載されている。この「あ」→「か」、「さ」→「た」の対応付けは一例として記載したに過ぎず、実際にはユニコード側とシフトＪＩＳ側で共に特殊文字や外字などを含む任意の文字間の対応を変換規則として定義することができる。辞書変換処理部５２は、この辞書ファイル４２で定義された変換規則を、コード変換テーブル群４１Ｂの中でこの変換方向（ここでは「ユニコード→シフトＪＩＳ」）に該当するコード変換テーブルに反映する。
【００３４】
図５は、図１で示したコード変換手段２２が起動される際の処理について示すフローチャートである。その起動の際、コード変換処理部５１は、コード変換テーブル群４１を外部記憶手段１４から読み出して、コード変換テーブル群４１Ｂとして主記憶手段１２に記憶する（ステップＳ１０１）。
【００３５】
その際、コード変換処理部５１は、コード変換テーブル群４１の全てのデータを読み出してコード変換テーブル群４１Ｂとして記憶するのではなく、必要なもののみをあらかじめ定義しておいて読み込むようにすることができる。本実施形態では、ある変換方向とその逆方向に対応するコード変換テーブルをコード変換テーブル群４１から抽出し、コード変換テーブル群４１Ｂとして記憶する。これによって、特定の文字コード間について、相互間での文字コードの変換処理を可能としている。
【００３６】
コード変換処理部５１がコード変換テーブル群４１Ｂを主記憶手段１２に記憶した後、辞書変換処理部５２は辞書ファイル４２が外部記憶手段１５上に存在するか否かを確認する。（ステップＳ１０２）。辞書ファイル４２が存在する場合は、辞書変換処理部５２が辞書ファイル４２に定義されている図４に示した変換規則の定義を読み込み（ステップＳ１０３）、ステップＳ１０４以降の処理を継続する。ステップＳ１０２で辞書ファイル４２が存在しない場合は、そこで処理を終了する。
【００３７】
その後、辞書変換処理部５２は、コード変換テーブル群４１Ｂで読み込む複数のコード変換テーブルのうち、どのコード変換テーブルの定義内容を更新するのかを判断する（ステップＳ１０４）。
【００３８】
ここで、定義内容を更新するコード変換テーブルの判断は、辞書ファイル４２に定義している変換方向と一致するコード変換テーブルをコード変換テーブル群４１Ｂから検索することで行なう。例えば、辞書ファイル４２に「ユニコード→シフトＪＩＳ」と定義されている場合、この「ユニコード→シフトＪＩＳ」の変換方向のコード変換テーブルをコード変換テーブル群４１Ｂから検索する。
【００３９】
更新するコード変換テーブルを検出した後、辞書変換処理部５２は、辞書ファイル４２に定義されている内容でコード変換テーブル群４１Ｂを更新する。（ステップＳ１０５）以上で、コード変換手段２２の起動の処理が完了する。
【００４０】
ステップＳ１０５で行なっているコード変換テーブル群４１Ｂの更新では、辞書変換処理部５２が辞書ファイル４２に定義されている複数の定義を読み込み、その内容でコード変換テーブル群４１Ｂで持っているコード変換テーブルの内容を更新する。
【００４１】
この際、コード変換テーブル群４１Ｂは、図３に示したように「ユニコード→シフトＪＩＳ」などのような片方向の変換のみを保持したコード変換テーブルを複数持っているため、辞書変換処理部５２は、辞書ファイル４２に定義されている変換方向と一致するコード変換テーブルをコード変換テーブル群４１Ｂから検索する。
【００４２】
例えば、辞書ファイル４２に「ユニコード→シフトＪＩＳ」の文字の対応関係が定義されている場合、この「ユニコード→シフトＪＩＳ」の変換方向のコード変換テーブルをコード変換テーブル群４１Ｂから検索して取得し、このコード変換テーブルを取得した後、辞書ファイル４２で定義されている内容でこのコード変換テーブルの内容を更新する。
【００４３】
図６は、図１で示したコード変換手段２２が文字コードの変換を行う際の処理について示すフローチャートである。アプリケーションソフト２１からコード変換手段２２に対して変換前文字列情報３１（変換前文字列３１Ａおよび変換方向情報３１Ｂ）が入力される（ステップＳ２０１）と、コード変換処理部５１が入力された変換前文字列３１Ａを変換方向情報３１Ｂに従って変換する処理を開始する。
【００４４】
その際、コード変換処理部５１がコード変換テーブル群４１Ｂ内で保持しているコード変換テーブルについて、アプリケーションから入力された変換方向情報３１Ｂ、たとえば「ユニコード→シフトＪＩＳ」などの変換方向に対応するコード変換テーブルをコード変換テーブル群４１Ｂから検索する（ステップＳ２０２）。
【００４５】
その後、コード変換処理部５１が取得したコード変換テーブルを参照し、変換前の文字コードに対応する文字コードをコード変換テーブルから取得して（ステップＳ２０３）、その取得後、取得した文字コードに対応する変換後文字列３２をアプリケーションソフト２１に出力する（ステップＳ２０４）。以上、図６で説明した処理は、特殊文字や外字などを含まない通常の文字列に対する文字コードの変換処理と同一である。
【００４６】
（より具体的な動作例）
次に、本実施形態をより具体的な動作例によって説明する。図５に示したコード変換手段２２が起動される際の処理で、辞書ファイル４２が外部記憶手段１４上に存在し、かつその辞書ファイル４２には「ユニコード→シフトＪＩＳ」という変換方向が定義されているものとする。コード変換手段２２は、コード変換テーブル群４１を外部記憶手段１４から読み出して、コード変換テーブル群４１Ｂとして主記憶手段１２に記憶する（ステップＳ１０１）。
【００４７】
一つのコード変換テーブルは、たとえば「ユニコード→シフトＪＩＳ」のように片方向の変換のみが可能となっている。このため、コード変換テーブル群４１は、図３に示したように「ユニコード→シフトＪＩＳ」「シフトＪＩＳ→ユニコード」「ユニコード→ＥＵＣ」「ＥＵＣ→ユニコード」などのような片方向のみの変換を行なうコード変換テーブルを複数保持している。
【００４８】
コード変換処理部５１は、コード変換テーブル群４１の全てのデータを読み出してコード変換テーブル群４１Ｂとして記憶するのではなく、必要なもののみをあらかじめ定義しておいて読み込むようにすることができるので、ここでは「ユニコード→シフトＪＩＳ」と「シフトＪＩＳ→ユニコード」のみをコード変換テーブル群４１Ｂとして主記憶手段１２に記憶する。
【００４９】
このように定義すれば、ユニコードとシフトＪＩＳとの相互間で文字コードの変換処理が可能である。図９で説明したように、ある文字列を別の文字コードに変換して別の装置に渡して処理させると、多くの場合、返って来た処理結果の文字列を逆方向で変換することが必要となるので、特定の文字コード間で相互に変換処理を可能とすることが望ましい。
【００５０】
コード変換処理部５１がコード変換テーブル群４１Ｂを主記憶手段１２に記憶した後、辞書変換処理部５２は辞書ファイル４２が外部記憶手段１４上に存在するか否かを確認する。（ステップＳ１０２）。ここでは、辞書ファイル４２が存在しているので、辞書変換処理部５２が辞書ファイル４２に定義されている定義内容を読み込んで（ステップＳ１０３）、ステップＳ１０４以降の処理を継続する。
【００５１】
その後、辞書変換処理部５２は、コード変換テーブル群４１Ｂで読み込んだ複数のコード変換テーブルのうち、どのコード変換テーブルの定義内容を更新するのかを判断する（ステップＳ１０４）。ここでは、辞書ファイル４２に定義されている通り、「ユニコード→シフトＪＩＳ」の変換方向のコード変換テーブルをコード変換テーブル群４１Ｂから検索する。
【００５２】
そして辞書変換処理部５２は、コード変換テーブル群４１Ｂから「ユニコード→シフトＪＩＳ」のコード変換テーブルを検出した後、ここに定義されている内容で主記憶手段１２上のコード変換テーブル群４１Ｂを更新する（ステップＳ１０５）。
【００５３】
図６に示したコード変換手段２２が文字コードの変換を行う際の処理で、やはりこれと同じように、アプリケーションソフト２１からコード変換手段２２に対して「ユニコード→シフトＪＩＳ」という変換方向情報３１Ｂを含む変換前文字列情報３１が入力された（ステップＳ２０１）ものとする。
【００５４】
アプリケーションソフト２１から変換前文字列情報３１が入力されると、コード変換処理部５１が入力された変換前文字列３１Ａを変換方向情報３１Ｂ＝「ユニコード→シフトＪＩＳ」に従って変換する。その際、コード変換処理部５１がコード変換テーブル群４１Ｂ内で保持しているコード変換テーブルについて、アプリケーションから入力された変換方向情報３１Ｂ＝「ユニコード→シフトＪＩＳ」に対応するコード変換テーブルをコード変換テーブル群４１Ｂから検索する（ステップＳ２０２）。
【００５５】
その後、コード変換処理部５１が取得した「ユニコード→シフトＪＩＳ」のコード変換テーブルを参照し、変換前の文字コードに対応する文字コードをコード変換テーブルから取得して（ステップＳ２０３）、その取得後、取得した文字コードに対応する変換後文字列３２をアプリケーションソフト２１に出力する（ステップＳ２０４）。
【００５６】
（第１の実施形態の全体的な動作）
次に、上記の実施形態の全体的な動作について説明する。本実施形態に係る文字コード変換方法は、入力された変換前文字列情報を文字コードの異なる変換後文字列に変換して出力する文字コード変換装置１０にあって、文字コード変換装置が起動される時に、片方向のみの文字コード間の対応関係を定義した複数のコード変換テーブルを含む第１のコード変換テーブル群をコード変換処理部が予め備えられた外部記憶手段から読み込み、読み込まれた第１のコード変換テーブル群の中から１つ以上の必要なコード変換テーブルをコード変換処理部が予め備えられた主記憶手段に第２のコード変換テーブル群として記憶し（図５・ステップＳ１０１）、第１のコード変換テーブル群に続いて変換前後の文字コード間での任意の文字列の対応である変換規則を定義する辞書ファイルを外部記憶手段から辞書変換処理部が読み込み（図５・ステップＳ１０３）、この辞書ファイル内に定義された変換規則に基づいて第２のコード変換テーブル群の中で変換規則に該当するコード変換テーブルを辞書変換処理部が更新する（図５・ステップＳ１０５）。
【００５７】
ここで、上記各動作ステップについては、これをコンピュータで実行可能にプログラム化し、これらを前記各ステップを直接実行するコンピュータである文字コード変換装置１０に実行させるようにしてもよい。
この構成および動作により、本実施形態は以下のような効果を奏する。
【００５８】
本実施形態では、特許文献１に記載された技術のように２段階の処理でコード変換を行なうのではなく、コード変換手段２２が起動される際に辞書ファイル４２に定義された内容に基づいてコード変換テーブル群４１Ｂを更新するので、コード変換手段２２が動作している間は特殊文字や外字などを含まない通常の文字列に対するコード変換処理と同じ１段階の処理でコード変換を行なうことが可能となり、これによってコード変換の処理を高速に行なうことが可能となる。また、コード変換テーブル群４１に対する変更を行うのではなく、辞書ファイル４２に定義さえしておけばどのような変換規則も定義できるので、規格の変更による字体の変更や入れ替えにも容易に対応することが可能となる。
【００５９】
（第２の実施形態）
第２の実施形態に係る文字コード変換装置３１０は、第１の実施形態に係る文字コード変換装置１０の構成に、辞書ファイルが更新されているか否かを定期的に確認し、更新されていれば第２のコード変換テーブル群の中で変換規則に該当するコード変換テーブルを更新する辞書更新処理部３５３を追加している。
【００６０】
これによって、文字コード変換装置３１０を再起動することなく、変換規則の変更が可能となる。
以下、これをより詳細に説明する。
【００６１】
図７は、本発明の第２の実施形態に係る文字コード変換装置３１０の構成を示す説明図である。文字コード変換装置３１０は、図１に示した第１の実施形態に係る文字コード変換装置１０のコード変換手段２２を、コード変換処理部５１および辞書変換処理部５２に加えて辞書更新処理部３５３を有するコード変換手段３２２に変更した構成としている。これ以外の構成は、第１の実施形態に係る文字コード変換装置３１０と同一である。
【００６２】
図８は、図７で示した辞書更新処理部３５３の動作を示すフローチャートである。辞書更新処理部３５３は、辞書ファイル４２の更新日付が変化しているかを一定間隔で確認し（ステップＳ４０１）、更新日付が変化している場合には外部記憶手段１４から辞書ファイル４２を読み込み（ステップＳ４０２）、読み込んだ内容でコード変換手段２２が主記憶手段１２上に記憶したコード変換テーブル群４１Ｂを更新する（ステップＳ４０３）。
【００６３】
辞書更新処理部３５３によるコード変換テーブル群４１Ｂの更新にかかる処理は、第１の実施形態で説明した辞書変換処理部５２による処理と同一である。ただし、この処理は、図５〜７に示したコード変換処理部５１および辞書変換処理部５２による処理とは独立して行われる。
【００６４】
この点以外は、コード変換手段３２２の動作は、第１の実施形態として説明したコード変換手段２２と同一である。これにより、文字コード変換装置３１０は、第１の実施形態で説明した効果に加えて、文字コード変換装置３１０を再起動せずに変換規則の変更が可能となるという効果が生じる。
【００６５】
これまで本発明について図面に示した特定の実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができる。
【産業上の利用可能性】
【００６６】
コンピュータ装置もしくはコンピュータネットワークで、文字コードの変換を行うものについて幅広く適用することができる。
【符号の説明】
【００６７】
１０、３１０  文字コード変換装置
１１  主演算制御手段
１２  主記憶手段
１３  アプリ状態記憶手段
１４、１５  外部記憶手段
１６  入力手段
１７  出力手段
２１  アプリケーションソフト
２２、３２２  コード変換手段
３１  変換前文字列情報
３１Ａ  変換前文字列
３１Ｂ  変換方向情報
３２  変換後文字列
４１、４１Ｂ  コード変換テーブル群
４２  辞書ファイル
５１  コード変換処理部
５２  辞書変換処理部
３５３  辞書更新処理部
【図１】
2011154495.tif 000003
【図２】
2011154495.tif 000004
【図３】
2011154495.tif 000005
【図４】
2011154495.tif 000006
【図５】
2011154495.tif 000007
【図６】
2011154495.tif 000008
【図７】
2011154495.tif 000009
【図８】
2011154495.tif 000010
【図９】
2011154495.tif 000011