(57)【要約】【課題】従来、マイグレーション後のソフトウェアの中の特定の文字コードが存在する場合、当該文字コードに対する文字の出力が上手くいかなかった。【解決手段】第一文字コードと、第二文字コードとの対応を示す２以上の文字間対応情報を有するコード変換表と、第二文字コードと第二文字コードに対応する文字との対応を示す２以上の文字コード対応情報を有する文字コード表と、にアクセス可能な文字出力装置であって、第一文字コードを受け付けるコード受付部と、コード変換表を用いて、第一文字コードに対応する第二文字コードを取得し、文字コード表を用いて、第二文字コードに対応する文字を取得する文字取得部と、当該文字を出力する文字出力部とを具備する文字出力装置により、上記課題を解決できる。【選択図】図１
2019109560.tif 000002
【特許請求の範囲】
【請求項１】
Ｎバイトより大きいサイズを採り得ない第一文字コードと、Ｎバイトより大きいサイズを採り得る第二文字コードとの対応を示す２以上の文字間対応情報を有するコード変換表が格納されるコード変換表格納部と、
第二文字コードと当該第二文字コードに対応する文字との対応を示す２以上の文字コード対応情報を有する文字コード表が格納される文字コード表格納部と、にアクセス可能な文字出力装置であって、
第一文字コードを受け付けるコード受付部と、
前記コード変換表を用いて、前記コード受付部が受け付けた第一文字コードに対応する第二文字コードを取得し、前記文字コード表を用いて、当該第二文字コードに対応する文字を取得する文字取得部と、
前記文字取得部が取得した文字を出力する文字出力部とを具備する文字出力装置。
【請求項２】
前記コード受付部は、
格納されている第三文字コードを取得し、当該第三文字コードから、第三文字コードと前記第一文字コードとの対応を示す２以上の第二文字間対応情報を有する第二コード変換表を用いて、取得された第一文字コードを取得する請求項１記載の文字出力装置。
【請求項３】
前記第二文字コードは、Ｕｎｉｃｏｄｅである請求項１または請求項２記載の文字出力装置。
【請求項４】
前記文字間対応情報が対応をとる前記第二文字コードは、サロゲートペアを含む請求項３記載の文字出力装置。
【請求項５】
前記第一文字コードは、ＵＣＳ２である請求項１から請求項４いずれか一項に記載の文字出力装置。
【請求項６】
前記文字間対応情報が対応をとる前記第一文字コードは、
使用されない領域のコードを含む請求項１から請求項５いずれか一項に記載の文字出力装置。
【請求項７】
Ｎバイトより大きいサイズを採り得ない第一文字コードと、第三文字コードとの対応を示す２以上の第二文字間対応情報を有する第二コード変換表が格納されるコード変換表格納部と、
マイグレーション対象のソースプログラムが格納されるソースプログラム格納部と、にアクセス可能なマイグレーション装置であって、
前記ソースプログラムが有する１以上の各第三文字コードを、前記第二コード変換表を用いて、１以上の第一文字コードに変換し、変換後ソースプログラムを取得するマイグレーション部と、
前記変換後ソースプログラムを蓄積する蓄積部とを具備し、
前記第二文字間対応情報が対応をとる前記第一文字コードは、
使用されない領域のコードを含むマイグレーション装置。
【請求項８】
Ｎバイトより大きいサイズを採り得ない第一文字コードと、第三文字コードとの対応を示す２以上の第二文字間対応情報を有する第二コード変換表が格納される第二コード変換表格納部と、
マイグレーション対象のソースプログラムが格納されるソースプログラム格納部と、
Ｎバイトより大きいサイズを採り得ない第一文字コードと、Ｎバイトより大きいサイズを採り得る第二文字コードとの対応を示す２以上の文字間対応情報を有するコード変換表が格納されるコード変換表格納部と、
第二文字コードと当該第二文字コードに対応する文字との対応を示す２以上の文字コード対応情報を有する文字コード表が格納される文字コード表格納部と、にアクセス可能な情報処理装置であって、
前記ソースプログラムが有する１以上の各第三文字コードを、前記第二コード変換表を用いて、１以上の第一文字コードに変換し、変換後ソースプログラムを取得するマイグレーション部と、
前記変換後ソースプログラムを蓄積する蓄積部と、
前記変換後ソースプログラムに基づく第一文字コードを取得するコード受付部と、
前記コード変換表を用いて、前記コード受付部が取得した第一文字コードに対応する第二文字コードを取得し、前記文字コード表を用いて、当該第二文字コードに対応する文字を取得する文字取得部と、
前記文字取得部が取得した文字を出力する文字出力部とを具備し、
前記第二文字間対応情報が対応をとる前記第一文字コードは、
使用されない領域のコードを含む情報処理装置。
【請求項９】
Ｎバイトより大きいサイズを採り得ない第一文字コードと、Ｎバイトより大きいサイズを採り得る第二文字コードとの対応を示す２以上の文字間対応情報を有するコード変換表が格納されるコード変換表格納部と、第二文字コードと当該第二文字コードに対応する文字との対応を示す２以上の文字コード対応情報を有する文字コード表が格納される文字コード表格納部と、コード受付部と、文字取得部と、文字出力部とにより実現される情報処理方法であって、
前記コード受付部が、第一文字コードを受け付けるコード受付ステップと、
前記文字取得部が、前記コード変換表を用いて、前記コード受付ステップで受け付けられた第一文字コードに対応する第二文字コードを取得し、前記文字コード表を用いて、当該第二文字コードに対応する文字を取得する文字取得ステップと、
前記文字出力部が、前記文字取得ステップで取得された文字を出力する文字出力ステップとを具備する情報処理方法。
【請求項１０】
Ｎバイトより大きいサイズを採り得ない第一文字コードと、第三文字コードとの対応を示す２以上の第二文字間対応情報を有する第二コード変換表が格納される第二コード変換表格納部と、
マイグレーション対象のソースプログラムが格納されるソースプログラム格納部と、マイグレーション部と、蓄積部とにより実現される情報処理方法であって、
前記マイグレーション部が、前記ソースプログラムが有する１以上の各第三文字コードを、前記第二コード変換表を用いて、１以上の第一文字コードに変換し、変換後ソースプログラムを取得するマイグレーションステップと、
前記蓄積部が、前記変換後ソースプログラムを蓄積する蓄積ステップとを具備し、
前記第二文字間対応情報が対応をとる前記第一文字コードは、
使用されない領域のコードを含む、情報処理方法。
【請求項１１】
Ｎバイトより大きいサイズを採り得ない第一文字コードと、第三文字コードとの対応を示す２以上の第二文字間対応情報を有する第二コード変換表が格納される第二コード変換表格納部と、
マイグレーション対象のソースプログラムが格納されるソースプログラム格納部と、
Ｎバイトより大きいサイズを採り得ない第一文字コードと、Ｎバイトより大きいサイズを採り得る文字コードとの対応を示す２以上の文字間対応情報を有するコード変換表が格納されるコード変換表格納部と、
第二文字コードと当該第二文字コードに対応する文字との対応を示す２以上の文字コード対応情報を有する文字コード表が格納される文字コード表格納部と、マイグレーション部と、蓄積部と、コード受付部と、文字取得部と、文字出力部とにより実現される情報処理方法であって、
前記マイグレーション部が、前記ソースプログラムが有する１以上の各第三文字コードを、前記第二コード変換表を用いて、１以上の第一文字コードに変換し、変換後ソースプログラムを取得するマイグレーションステップと、
前記蓄積部が、前記変換後ソースプログラムを蓄積する蓄積ステップと、
前記コード受付部が、前記変換後ソースプログラムに基づく第一文字コードを取得するコード受付ステップと、
前記文字取得部が、前記コード変換表を用いて、前記コード受付ステップで取得された第一文字コードに対応する第二文字コードを取得し、前記文字コード表を用いて、当該第二文字コードに対応する文字を取得する文字取得ステップと、
前記文字出力部が、前記文字取得ステップで取得された文字を出力する文字出力ステップとを具備し、
前記第二文字間対応情報が対応をとる前記第一文字コードは、
使用されない領域のコードを含む情報処理方法。
【請求項１２】
Ｎバイトより大きいサイズを採り得ない第一文字コードと、Ｎバイトより大きいサイズを採り得る文字コードとの対応を示す２以上の文字間対応情報を有するコード変換表が格納されるコード変換表格納部と、
第二文字コードと当該第二文字コードに対応する文字との対応を示す２以上の文字コード対応情報を有する文字コード表が格納される文字コード表格納部と、にアクセス可能なコンピュータを、
第一文字コードを受け付けるコード受付部と、
前記コード変換表を用いて、前記コード受付部が受け付けた第一文字コードに対応する第二文字コードを取得し、前記文字コード表を用いて、当該第二文字コードに対応する文字を取得する文字取得部と、
前記文字取得部が取得した文字を出力する文字出力部として機能させるためのプログラム。
【請求項１３】
Ｎバイトより大きいサイズを採り得ない第一文字コードと、第三文字コードとの対応を示す２以上の第二文字間対応情報を有する第二コード変換表が格納される第二コード変換表格納部と、
マイグレーション対象のソースプログラムが格納されるソースプログラム格納部と、にアクセス可能なコンピュータを、
前記ソースプログラムが有する１以上の各第三文字コードを、前記第二コード変換表を用いて、１以上の第一文字コードに変換し、変換後ソースプログラムを取得するマイグレーション部と、
前記変換後ソースプログラムを蓄積する蓄積部として機能させ、
前記第二文字間対応情報が対応をとる前記第一文字コードは、
使用されない領域のコードを含むものとして、コンピュータを機能させるためのプログラム。
【請求項１４】
Ｎバイトより大きいサイズを採り得ない第一文字コードと、第三文字コードとの対応を示す２以上の第二文字間対応情報を有する第二コード変換表が格納される第二コード変換表格納部と、
マイグレーション対象のソースプログラムが格納されるソースプログラム格納部と、
Ｎバイトより大きいサイズを採り得ない第一文字コードと、Ｎバイトより大きいサイズを採り得る文字コードとの対応を示す２以上の文字間対応情報を有するコード変換表が格納されるコード変換表格納部と、
第二文字コードと当該第二文字コードに対応する文字との対応を示す２以上の文字コード対応情報を有する文字コード表が格納される文字コード表格納部と、にアクセス可能なコンピュータを、
前記ソースプログラムが有する１以上の各第三文字コードを、前記第二コード変換表を用いて、１以上の第一文字コードに変換し、変換後ソースプログラムを取得するマイグレーション部と、
前記変換後ソースプログラムを蓄積する蓄積部と、
前記変換後ソースプログラムに基づく第一文字コードを取得するコード受付部と、
前記コード変換表を用いて、前記コード受付部が取得した第一文字コードに対応する第二文字コードを取得し、前記文字コード表を用いて、当該第二文字コードに対応する文字を取得する文字取得部と、
前記文字取得部が取得した文字を出力する文字出力部として機能させ、
前記第二文字間対応情報が対応をとる前記第一文字コードは、
使用されない領域のコードを含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字を適切に出力できる文字出力装置、またはマイグレーション装置等に関するものである。
【背景技術】
【０００２】
従来、Ｕｎｉｃｏｄｅ（「ＵＴＦ−１６」と言っても良い）といったＮバイトより大きいサイズを採り得る文字コードを取り扱い、文字を出力する技術があった。なお、Ｎは、自然数である。また、Ｎは、例えば、「２」または「３」である。
【０００３】
また、Ｕｎｉｃｏｄｅは、１６ビット符号単位の組（４バイト）による単一の抽象文字の表現であるサロゲートペアを有する（例えば、非特許文献１参照）。
【０００４】
さらに、従来、処理単位で命令パターンを変換し、マイグレーションを実現する技術があった（例えば、特許文献１、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第６０１８５３８号公報
【特許文献２】特許第６０１８５３９号公報
【非特許文献】
【０００６】
【非特許文献１】"Ｕｎｉｃｏｄｅのサロゲートペアとは何か"、［online］、インターネット［URL：http://vividcode.hatenablog.com/entry/unicode/surrogate-pair］
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来技術においては、Ｎバイト（例えば、Ｎ＝２）より大きいサイズを採り得る文字コードを扱わないソースプログラムに基づいて、文字の出力を含む処理を実行する場合であり、Ｎバイトより大きいサイズを採り得る文字コードの文字の出力モジュールを使用する場合に、正しく文字を出力できなかった。
【０００８】
なお、Ｎバイトより大きいサイズを採り得る文字コードを扱わないソースプログラムは、例えば、シフトＪＩＳやＪＩＳ等の文字コードをプログラム中に有し、当該ソースプログラムをマイグレーションした結果のソースプログラムである。
【課題を解決するための手段】
【０００９】
本第一の発明の文字出力装置は、Ｎバイトより大きいサイズを採り得ない第一文字コードと、Ｎバイトより大きいサイズを採り得る第二文字コードとの対応を示す２以上の文字間対応情報を有するコード変換表が格納されるコード変換表格納部と、第二文字コードと当該第二文字コードに対応する文字との対応を示す２以上の文字コード対応情報を有する文字コード表が格納される文字コード表格納部と、にアクセス可能な文字出力装置であって、第一文字コードを受け付けるコード受付部と、前記コード変換表を用いて、前記コード受付部が受け付けた第一文字コードに対応する第二文字コードを取得し、前記文字コード表を用いて、当該第二文字コードに対応する文字を取得する文字取得部と、前記文字取得部が取得した文字を出力する文字出力部とを具備する文字出力装置である。
【００１０】
かかる構成により、Ｎバイトより大きいサイズを採り得る文字コードを扱わないソースプログラムに基づいて、文字の出力を含む処理を実行する場合であり、Ｎバイトより大きいサイズを採り得る文字コードの文字の出力モジュールを使用する場合でも、正しく文字を出力できる。
【００１１】
また、本第二の発明の文字出力装置は、第一の発明に対して、コード受付部は、格納されている第三文字コードを取得し、第三文字コードから、第三文字コードと第一文字コードとの対応を示す２以上の第二文字間対応情報を有する第二コード変換表を用いて、取得された第一文字コードを取得する文字出力装置である。
【００１２】
かかる構成により、Ｎバイトより大きいサイズを採り得る文字コードを扱わないソースプログラムに基づいて、文字の出力を含む処理を実行する場合であり、Ｎバイトより大きいサイズを採り得る文字コードの文字の出力モジュールを使用する場合でも、正しく文字を出力できる。
【００１３】
また、本第三の発明の文字出力装置は、第一または第二の発明に対して、第二文字コードは、Ｕｎｉｃｏｄｅである文字出力装置である。
【００１４】
かかる構成により、Ｎバイトより大きいサイズを採り得る文字コードＵｎｉｃｏｄｅを扱わないソースプログラムに基づいて、文字の出力を含む処理を実行する場合であり、Ｕｎｉｃｏｄｅの文字の出力モジュールを使用する場合でも、正しく文字を出力できる。
【００１５】
また、本第四の発明の文字出力装置は、第三の発明に対して、文字間対応情報が対応をとる第二文字コードは、サロゲートペアを含む文字出力装置である。
【００１６】
かかる構成により、Ｎバイトより大きいサイズを採り得る文字コードＵｎｉｃｏｄｅを扱わないソースプログラムに基づいて、文字の出力を含む処理を実行する場合であり、Ｕｎｉｃｏｄｅの文字の出力モジュールを使用する場合でも、正しく文字を出力できる。
【００１７】
また、本第五の発明の文字出力装置は、第一から第四いずれか１つの発明に対して、第一文字コードは、ＵＣＳ２である文字出力装置である。
【００１８】
かかる構成により、Ｎバイトより大きいサイズを採り得る文字コードを扱わず、Ｎバイトより大きいサイズを採り得ないサイズのＵＣＳ２を扱うソースプログラムに基づいて、文字の出力を含む処理を実行する場合であり、Ｎバイトより大きいサイズを採り得る文字コードの文字の出力モジュールを使用する場合でも、正しく文字を出力できる。
【００１９】
また、本第六の発明の文字出力装置は、第一から第五いずれか１つの発明に対して、文字間対応情報が対応をとる第一文字コードは、文字コード表の中で、本来、使用されない領域のコードを含む文字出力装置である。
【００２０】
かかる構成により、Ｎバイトより大きいサイズを採り得る文字コードを扱わないソースプログラムに基づいて、文字の出力を含む処理を実行する場合であり、本来、使用されない領域の第一文字コードを利用することにより、Ｎバイトより大きいサイズを採り得る文字コードの文字の出力モジュールを使用する場合でも、正しく文字を出力できる。
【００２１】
また、本第七の発明のマイグレーション装置は、Ｎバイトより大きいサイズを採り得ない第一文字コードと、第三文字コードとの対応を示す２以上の第二文字間対応情報を有するコード変換表が格納されるコード変換表格納部と、マイグレーション対象のソースプログラムが格納されるソースプログラム格納部と、にアクセス可能なマイグレーション装置であって、ソースプログラムが有する１以上の各第三文字コードを、第二コード変換表を用いて、１以上の第一文字コードに変換し、変換後ソースプログラムを取得するマイグレーション部と、変換後ソースプログラムを蓄積する蓄積部とを具備し、第二文字間対応情報が対応をとる第一文字コードは、文字コード表の中で、本来、使用されない領域のコードを含むマイグレーション装置である。
【００２２】
かかる構成により、Ｎバイトより大きいサイズを採り得る文字コードを扱わないソースプログラムをマイグレーションする場合であり、Ｎバイトより大きいサイズを採り得る文字コードの文字の出力モジュールを使用する場合でも、マイグレーションした後のソフトウェアが正しく文字を出力できる。
【００２３】
また、本第八の発明の情報処理装置は、Ｎバイトより大きいサイズを採り得ない第一文字コードと、第三文字コードとの対応を示す２以上の第二文字間対応情報を有する第二コード変換表が格納される第二コード変換表格納部と、マイグレーション対象のソースプログラムが格納されるソースプログラム格納部と、Ｎバイトより大きいサイズを採り得ない第一文字コードと、Ｎバイトより大きいサイズを採り得る第二文字コードとの対応を示す２以上の文字間対応情報を有するコード変換表が格納されるコード変換表格納部と、第二文字コードと当該第二文字コードに対応する文字との対応を示す２以上の文字コード対応情報を有する文字コード表が格納される文字コード表格納部と、にアクセス可能な情報処理装置であって、ソースプログラムが有する１以上の各第三文字コードを、第二コード変換表を用いて、１以上の第一文字コードに変換し、変換後ソースプログラムを取得するマイグレーション部と、変換後ソースプログラムを蓄積する蓄積部と、第一文字コードを受け付けるコード受付部と、コード変換表を用いて、コード受付部が受け付けた第一文字コードに対応する第二文字コードを取得し、文字コード表を用いて、当該第二文字コードに対応する文字を取得する文字取得部と、文字取得部が取得した文字を出力する文字出力部とを具備し、第二文字間対応情報が対応をとる第一文字コードは、文字コード表の中で、本来、使用されない領域のコードを含む情報処理装置である。
【００２４】
かかる構成により、Ｎバイトより大きいサイズを採り得る文字コードを扱わないソースプログラムをマイグレーションする場合であり、Ｎバイトより大きいサイズを採り得る文字コードの文字の出力モジュールを使用する場合でも、マイグレーションした後のソフトウェアが正しく文字を出力できる。
【発明の効果】
【００２５】
本発明による文字出力装置によれば、Ｎバイトより大きいサイズを採り得る文字コードを扱わないソースプログラムに基づいて、文字の出力を含む処理を実行する場合であり、Ｎバイトより大きいサイズを採り得る文字コードの文字の出力モジュールを使用する場合でも、正しく文字を出力できる。
【図面の簡単な説明】
【００２６】
【図１】実施の形態１における文字出力装置Ａのブロック図
【図２】同文字出力装置Ａの動作例について説明するフローチャート
【図３】同コード変換表を示す図
【図４】同文字コード表を示す図
【図５】同コード変換表と文字コード表とを結合した表を示す図
【図６】実施の形態２におけるマイグレーション装置Ｂのブロック図
【図７】同マイグレーション装置Ｂの動作例について説明するフローチャート
【図８】同マイグレーション処理の例について説明するフローチャート
【図９】同情報処理装置Ｃのブロック図
【図１０】上記実施の形態におけるコンピュータシステムの概観図
【図１１】同コンピュータシステムのブロック図
【発明を実施するための形態】
【００２７】
以下、文字出力装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００２８】
（実施の形態１）
【００２９】
本実施の形態において、Ｎバイトより大きいサイズを採り得る文字コードを扱わないソースプログラムに基づいて、文字の出力を含む処理を実行する場合であり、Ｎバイトより大きいサイズを採り得る文字コードの文字の出力モジュールを使用する場合でも、正しく文字を出力できる文字出力装置について説明する。なお、Ｎバイトは、「閾値」と言っても良い。閾値は、例えば、「２バイト」であるが、「１バイト」等でも良く、問わない。
【００３０】
図１は、本実施の形態における文字出力装置Ａのブロック図である。文字出力装置Ａは、格納部１、受付部２、処理部３、および出力部４を具備する。格納部１は、コード変換表格納部１１、および文字コード表格納部１２を備える。受付部２は、コード受付部２１を備える。処理部３は、文字取得部３１を備える。出力部４は、文字出力部４１を備える。
【００３１】
格納部１には、各種の情報が格納される。各種の情報とは、例えば、後述するコード変換表、後述する文字コード表、第二コード変換表等である。第二コード変換表とは、２以上の第二文字間対応情報を有する。第二コード変換表の構造は、表でなくても良く、２以上の第二文字間対応情報を有せば良い。第二文字間対応情報は、第三文字コードと第一文字コードとの対応を示す情報である。第三文字コードと第一文字コードとの対応を示す情報は、第三文字コードと第一文字コードとを有する情報でも良いし、第三文字コードへのリンクと第一文字コードへのリンクとを有する情報でも良い。第二文字間対応情報により、第三文字コードと第一文字コードとの対応がとれれば良い。第三文字コードは、例えば、マイグレーション前のプログラムで使用されている文字コードであり、通常、固定サイズ（例えば、２バイト）である。第三文字コードとは、例えば、シフトＪＩＳ（ＳＪＩＳ）、ＪＩＳである。第一文字コードについては後述する。
【００３２】
コード変換表格納部１１には、コード変換表が格納される。コード変換表は、２以上の文字間対応情報を有する。コード変換表の構造は、表でなくても良く、２以上の文字間対応情報を有せば良い。文字間対応情報は、第一文字コードと第二文字コードとの対応を示す情報である。文字間対応情報は、第一文字コードと第二文字コードとを有する情報でも良いし、第一文字コードへのリンク情報と第二文字コードへのリンク情報とを有する情報でも良い。文字間対応情報は、第一文字コードと第二文字コードとの対応が取れれば良く、その構造は問わない。第一文字コードは、Ｎバイトより大きいサイズを採り得ない文字コードである。第一文字コードは、例えば、一定のサイズの文字コードである。第一文字コードは、文字コード表の中で、使用されない領域のコードを含むことは好適である。使用されない領域のコードを含むことは、本来、第一文字コードが使用しているアドレス空間以外のアドレス空間の領域を使用していることである。本来、使用されていない領域とは、ユーザが、通常は使用されない文字の文字コードの領域、使用される頻度が低い文字の文字コードの領域という意味で捉えても良い。また、使用される頻度が低い文字の文字コードの領域とは、例えば、使用される頻度が閾値以下または閾値より小さい文字の文字コードの領域、使用される割合が閾値以下または閾値より小さい文字の文字コードの領域等である。第一文字コードは、例えば、ＵＣＳ２（ＵＣＳ−２と言っても良い）である。ただし、第一文字コードは、例えば、シフトＪＩＳ（ＳＪＩＳ）、ＪＩＳ等でも良い。また、第二文字コードは、Ｎバイトより大きいサイズを採り得る文字コードである。Ｎバイトより大きいサイズは、例えば、４バイトであるが、３バイトでも良く、問わない。第二文字コードは、例えば、Ｕｎｉｃｏｄｅ（「ＵＴＦ−１６」と言っても良い）である。
【００３３】
文字コード表格納部１２には、文字コード表が格納される。文字コード表は、２以上の文字コード対応情報を有する。文字コード表の構造は、表でなくても良く、２以上の文字コード対応情報を有せば良い。文字コード対応情報は、第二文字コードと当該第二文字コードに対応する文字との対応を示す情報である。文字コード対応情報は、第二文字コードと文字とを有する情報でも良いし、第二文字コードへのリンク情報と文字へのリンク情報とを有する情報でも良い。文字コード対応情報は、第二文字コードと当該第二文字コードに対応する文字との対応が取れれば良く、その構造は問わない。
【００３４】
受付部２は、指示や情報等を受け付ける。指示や情報等とは、例えば、開始指示、後述する第一文字コード等である。開始指示とは、文字出力装置Ａの動作を開始させる指示である。
【００３５】
ここで、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。
【００３６】
指示や情報等の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。受付部２は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【００３７】
コード受付部２１は、第一文字コードを受け付ける。コード受付部２１は、例えば、プログラム中の第一文字コードを読み出す。
【００３８】
コード受付部２１は、格納部１に格納されている第三文字コードを取得し、当該第三文字コードから、第二コード変換表を用いて、取得された第一文字コードを取得する。第二コード変換表を用いて、第三文字コードから第一文字コードを取得する処理は、例えば、処理部３が行う。
【００３９】
処理部３は、各種の処理を行う。各種の処理とは、例えば、文字取得部３１が行う処理である。
【００４０】
文字取得部３１は、コード変換表を用いて、コード受付部２１が受け付けた第一文字コードに対応する第二文字コードを取得する。そして、文字取得部３１は、文字コード表を用いて、取得した第二文字コードに対応する文字を取得する。
【００４１】
出力部４は、各種の情報を出力する。各種の情報とは、例えば、文字取得部３１が取得した文字等である。
【００４２】
ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
【００４３】
文字出力部４１は、文字取得部３１が取得した文字を出力する。文字出力部４１は、通常、Ｕｎｉｃｏｄｅ等のサロゲートペアを含む文字コードを出力できる。文字出力部４１は、通常、Ｎバイトより大きいサイズを採り得る文字コードに対応する文字を出力できる。なお、サロゲートペアとは、１６ビット符号単位の組による単一の抽象文字の表現である。
【００４４】
格納部１、コード変換表格納部１１、および文字コード表格納部１２は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。格納部１等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部１等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部１等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部１等で記憶されるようになってもよい。
【００４５】
処理部３、および文字取得部３１は、通常、ＭＰＵやメモリ等から実現され得る。処理部３等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００４６】
出力部４、および文字出力部４１は、例えば、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部４等は、例えば、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【００４７】
次に、文字出力装置Ａの動作例について、図２のフローチャートを用いて説明する。
【００４８】
（ステップＳ２０１）受付部２は、開始指示を受け付けたか否かを判断する。開始指示を受け付けた場合はステップＳ２０２に行き、開始指示を受け付けない場合はステップＳ２０１に戻る。
【００４９】
（ステップＳ２０２）コード受付部２１は、出力する文字列を格納部１から読み出し、図示しないバッファに書き込む。
【００５０】
（ステップＳ２０３）文字取得部３１は、オフセットｉに０を設定する。
【００５１】
（ステップＳ２０４）文字取得部３１は、ステップＳ２０２で読み出した文字コードに対応する文字をすべて出力したか否かを判断する。文字をすべて出力した場合は処理を終了し、文字をすべて出力していない場合はステップＳ２０５に行く。すべて出力したか否かは、例えば、図示しないバッファの終了（ＥＯＢ）まで、文字コードを読み出したか否かにより判断する。
【００５２】
（ステップＳ２０５）文字取得部３１は、ｉバイト目から固定サイズ（Ｎバイト）分の第一文字コードを、ステップＳ２０２で読み出した文字列のバッファから取得する。なお、Ｎは、例えば、「２」である。
【００５３】
（ステップＳ２０６）文字取得部３１は、ステップＳ２０５で取得した第一文字コードと対になる第二文字コードを、コード変換表格納部１１のコード変換表から取得する。
【００５４】
（ステップＳ２０７）文字取得部３１は、ステップＳ２０６で取得した第二文字コードと対になる文字を文字コード表格納部１２の文字コード表から取得する。
【００５５】
（ステップＳ２０８）文字出力部４１は、ステップＳ２０７で取得された文字を出力する。
【００５６】
（ステップＳ２０９）文字取得部３１は、オフセットｉをＮだけインクリメントする。ステップＳ２０４に戻る。
【００５７】
以下、本実施の形態における文字出力装置Ａの具体的な動作について説明する。
【００５８】
今、コード変換表格納部１１に、図３のコード変換表が格納されている。コード変換表は、「第一文字コード（ＵＣＳ）」「第二文字コード（ＵＴＦ−１６）」を有するレコード（文字間対応情報）を多数格納している。なお、ここで、第一文字コードはＵＣＳ２、第二文字コードはＵＴＦ−１６である。そして、第二文字コードは、サロゲートペアを含む。サロゲートペアの領域は、図３の３０１である。図３において、第一文字コードの「Ａ０００」から「Ａ００Ａ」までの領域は、ＵＣＳ２では、本来、使用されていない領域であるが、発明者が拡張し、利用しているものである。本来、使用されていない領域は、上述した通りである。
【００５９】
また、文字コード表格納部１２に、図４に示す文字コード表が格納されている。文字コード表は、「第二文字コード（ＵＴＦ−１６）」「文字」を有するレコード（文字コード対応情報）を多数格納している。
【００６０】
かかる状況において、ユーザは、開始指示を入力した、とする。そして、受付部２は、開始指示を受け付ける。
【００６１】
次に、コード受付部２１は、出力する第一文字コードの列（ここでは、例えば、「６ＤＥ８Ａ０００Ａ００９」）を格納部１から読み出し、文字列のバッファに蓄積した、とする。
【００６２】
次に、文字取得部３１は、オフセットｉに０を設定する。次に、文字取得部３１は、オフセット「ｉ＝０」バイト目から固定サイズ（２バイト）分の第一文字コード「６ＤＥ８」を文字列のバッファから取得する。
【００６３】
次に、文字取得部３１は、取得した第一文字コード「６ＤＥ８」と対になる第二文字コード「６ＤＥ８」をコード変換表から取得する。なお、ここで、第一文字コードと第二文字コードとは同じでも良い。
【００６４】
また、文字取得部３１は、第一文字コードと第二文字コードとが同じ文字コードの範囲を知っていて、かかる範囲において、コード変換表を参照しなくても良い。かなる場合、例えば、格納部１に、第一文字コードと第二文字コードとが同じ文字コードの範囲情報（以下、適宜、範囲情報という。）が格納されている。そして、文字取得部３１は、第一文字コード「６ＤＥ８」が範囲情報の示す範囲のコードか否かを判断し、範囲情報が示す範囲のコードであれば、文字取得部３１は、第二文字コード「６ＤＥ８」を取得する。
【００６５】
次に、文字取得部３１は、取得した第二文字コード「６ＤＥ８」と対になる文字を文字コード表から取得する。
【００６６】
次に、文字出力部４１は、取得された文字を出力する。
【００６７】
次に、文字取得部３１は、オフセットｉを２だけインクリメントし、「ｉ＝２」を得る。
次に、文字取得部３１は、オフセット「ｉ＝２」バイト目から固定サイズ（２バイト）分（つまり、２〜４バイト目まで）の第一文字コード「Ａ０００」を文字列のバッファから取得する。
【００６８】
次に、文字取得部３１は、取得した第一文字コード「Ａ０００」と対になる第二文字コード「Ｄ８４０ＤＣ０Ｂ」をコード変換表から取得する。なお、ここで、文字取得部３１は、第一文字コード「Ａ０００」が範囲情報の示す範囲では無い、と判断し、コード変換表を参照し、「Ａ０００」と対になる「Ｄ８４０ＤＣ０Ｂ」を取得しても良い。
【００６９】
次に、文字取得部３１は、取得した第二文字コード「Ｄ８４０ＤＣ０Ｂ」と対になる文字を文字コード表から取得する。
【００７０】
次に、文字出力部４１は、取得された文字を出力する。
【００７１】
次に、文字取得部３１は、オフセットｉを２だけインクリメントし、「ｉ＝４」を得る。
次に、文字取得部３１は、オフセット「ｉ＝４」バイト目から固定サイズ（２バイト）分の第一文字コード「Ａ００９」を文字列のバッファから取得する。
【００７２】
次に、文字取得部３１は、取得した第一文字コード「Ａ００９」と対になる第二文字コード「Ｄ８４０ＤＥ１３」をコード変換表から取得する。
【００７３】
次に、文字取得部３１は、取得した第二文字コード「Ｄ８４０ＤＥ１３」と対になる文字を文字コード表から取得する。
【００７４】
次に、文字出力部４１は、取得された文字を出力する。
【００７５】
なお、本具体例において、格納部１は、コード変換表と文字コード表とを結合した表（例えば、図５）を格納していても良い。かかる場合でも、格納部１は、コード変換表と文字コード表とを格納している、と言える。
【００７６】
以上、本実施の形態によれば、Ｎバイトより大きいサイズを採り得る文字コードを扱わないソースプログラムに基づいて、文字の出力を含む処理を実行する場合であり、Ｎバイトより大きいサイズを採り得る文字コードの文字の出力モジュールを使用する場合でも、正しく文字を出力できる。
【００７７】
なお、本実施の形態において、文字出力装置Ａは、文字を出力する処理以外の処理を行っても良いことは言うまでもない。
【００７８】
また、Ｎバイトより大きいサイズを採り得る文字コードを扱わないソースプログラムは、例えば、Ｎバイトより大きいサイズを採り得る文字コード（例えば、ＳＪＩＳ）を扱わないソースプログラムをマイグレーションした結果のソフトウェアである。また、マイグレーションした結果、例えば、マイグレーション前のソフトウェアの文字コード（例えば、ＳＪＩＳ）はそのままでも良いし、他の固定サイズの文字コード（例えば、ＵＣＳ２）に変換されていても良い。なお、マイグレーション前のソフトウェアの文字コードのサイズを変更するようなマイグレーションは、不具合を埋め込む可能性が高く、通常、好ましくない。
【００７９】
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをＣＤ−ＲＯＭなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置Ｃを実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、Ｎバイトより大きいサイズを採り得ない第一文字コードと、Ｎバイトより大きいサイズを採り得る文字コードとの対応を示す２以上の文字間対応情報を有するコード変換表が格納されるコード変換表格納部と、第二文字コードと当該第二文字コードに対応する文字との対応を示す２以上の文字コード対応情報を有する文字コード表が格納される文字コード表格納部と、にアクセス可能なコンピュータを、第一文字コードを受け付けるコード受付部と、前記コード変換表を用いて、前記コード受付部が受け付けた第一文字コードに対応する第二文字コードを取得し、前記文字コード表を用いて、当該第二文字コードに対応する文字を取得する文字取得部と、前記文字取得部が取得した文字を出力する文字出力部として機能させるためのプログラムである。
【００８０】
（実施の形態２）
【００８１】
本実施の形態において、コード変換表を用いたマイグレーションを行うマイグレーション装置Ｂについて説明する。
【００８２】
図６は、本実施の形態におけるマイグレーション装置Ｂのブロック図である。マイグレーション装置Ｂは、格納部５、受付部６、処理部７、および出力部８を備える。
【００８３】
格納部５は、ソースプログラム格納部５１、および第二コード変換表格納部５２を備える。処理部７は、マイグレーション部７１を備える。出力部８は、蓄積部８１を備える。
【００８４】
格納部５には、各種の情報が格納される。各種の情報とは、例えば、ソースプログラム、第二コード変換表、パターン変換表等である。ソースプログラムには、１以上の第三文字コードが含まれる。また、パターン変換表とは、マイグレーション前の命令パターンと、マイグレーション後の命令パターンとの対応を示す１以上のパターン対応情報を有する情報である。命令パターンとは、予約語から構成される命令のパターン等である。第三文字コードは、Ｎバイトより大きいサイズを採り得ない文字コードであり、例えば、ＳＪＩＳ、ＪＩＰＳである。
【００８５】
ソースプログラム格納部５１は、マイグレーション対象のソースプログラムが格納される。ソースプログラムの言語は問わないことは言うまでもない。言語は、例えば、ＣＯＢＯＬ，アセンブラ、Ｐａｓｃａｌ、Ｃ言語等である。ソースプログラムは、通常、１または２以上のファイルからなる。
【００８６】
第二コード変換表格納部５２は、第二コード変換表が格納される。第二コード変換表は、第一文字コードと第三文字コードとの対応を示す２以上の第二文字間対応情報を有する。第二コード変換表の構造は、表でなくても良く、２以上の文字間対応情報を有せば良い。
第二文字間対応情報は、第一文字コードと第三文字コードとの対応を示す情報である。第二文字間対応情報は、第一文字コードと第三文字コードとを有する情報でも良いし、第一文字コードへのリンク情報と第三文字コードへのリンク情報とを有する情報でも良い。第二文字間対応情報は、第一文字コードと第三文字コードとの対応が取れれば良く、その構造は問わない。第一文字コードと第三文字コードのサイズは同じ（例えば、２バイト）であることが好適である。第一文字コードと第三文字コードとは、例えば、一定のサイズ（例えば、２バイト）の文字コードであることは好適である。
【００８７】
受付部６は、指示や情報等を受け付ける。指示や情報等とは、例えば、開始指示等である。開始指示とは、マイグレーション装置Ｂの動作を開始させる指示である。
【００８８】
ここで、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。
【００８９】
指示や情報等の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。受付部２は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【００９０】
処理部７は、各種の処理を行う。各種の処理とは、例えば、マイグレーション部７１が行う処理である。
【００９１】
マイグレーション部７１は、ソースプログラム格納部５１のソースプログラムに対してマイグレーションの処理を行い、新しいソースプログラムを取得する。マイグレーションの処理を行った後の新しいソースプログラムを、適宜、変換後ソースプログラムという。
【００９２】
さらに詳細には、マイグレーション部７１は、ソースプログラムが有する１以上の各第三文字コードを、第二コード変換表を用いて、１以上の第一文字コードに変換し、変換後ソースプログラムを取得する。マイグレーション部７１は、ソースプログラムが有する第三文字コードと対になる第一文字コードを第二コード変換表から取得し、変換後ソースプログラムの中、当該第三文字コードに対応する位置に、取得した第一文字コードを配置する。なお、マイグレーション部７１が行うマイグレーションの処理は、公知のマイグレーション技術を用いても良い。公知のマイグレーション技術として、例えば、特許第６０１８５３９号公報、特許第６０１８５３８号公報等に記載されている技術、インターネットホームページ：ＵＲＬ「http://www.systems-inc.co.jp/migration/」等に記載されている技術がある。
【００９３】
出力部８は、各種の情報を出力する。各種の情報とは、例えば、変換後ソースプログラムである。
【００９４】
ここで、出力とは、通常、蓄積である。ただし、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
【００９５】
蓄積部８１は、マイグレーション部７１が取得した変換後ソースプログラムを蓄積する。蓄積先は、格納部５、図示しない他の装置等、問わない。
【００９６】
格納部５、ソースプログラム格納部５１、第二コード変換表格納部５２は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【００９７】
格納部５等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部５等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部５等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部５等で記憶されるようになってもよい。
【００９８】
処理部７、マイグレーション部７１、および蓄積部８１は、通常、ＭＰＵやメモリ等から実現され得る。処理部７等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００９９】
出力部８は、通常、ＭＰＵやメモリ等から実現され得るが、ディスプレイやスピーカー等の出力デバイス等により実現されても良い。また、出力部８は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現されても良い。
【０１００】
次に、マイグレーション装置Ｂの動作例について、図７のフローチャートを用いて説明する。
【０１０１】
（ステップＳ７０１）受付部６は、開始指示を受け付けたか否かを判断する。開始指示を受け付けた場合はステップＳ７０２に行き、開始指示を受け付けない場合はステップＳ７０１に戻る。
【０１０２】
（ステップＳ７０２）マイグレーション部７１は、カウンタｉに１を代入する。
【０１０３】
（ステップＳ７０３）マイグレーション部７１は、ソースプログラム格納部５１に、変換前ソースプログラムのｉ番目のファイルが存在するか否かを判断する。
【０１０４】
（ステップＳ７０４）マイグレーション部７１は、ｉ番目のファイルに対してマイグレーション処理を行う。マイグレーション処理の例について、図８のフローチャートを用いて説明する。
【０１０５】
（ステップＳ７０５）蓄積部８１は、ステップＳ７０４で取得された変換後ソースプログラムを蓄積する。
【０１０６】
（ステップＳ７０６）マイグレーション部７１は、カウンタｉを１、インクリメントする。ステップＳ７０３に戻る。
【０１０７】
次に、ステップＳ７０４のマイグレーション処理の例について、図８のフローチャートを用いて説明する。
【０１０８】
（ステップＳ８０１）マイグレーション部７１は、マイグレーション対象のファイルをソースプログラム格納部５１から読み出す。
【０１０９】
（ステップＳ８０２）マイグレーション部７１は、カウンタｊに１を代入する。
【０１１０】
（ステップＳ８０３）マイグレーション部７１は、ステップＳ８０１で読み出したファイルの中に、ｊ番目の処理単位が存在するか否かを判断する。ｊ番目の処理単位が存在する場合はステップＳ８０４に行き、ｊ番目の処理単位が存在しない場合は上位処理にリターンする。なお、処理単位とは、マイグレーションの処理の単位（一度にマイグレーションの処理を行う範囲）であり、例えば、ファイルの中の行、ファイルの中の一命令、ファイルの中の区切り文字（例えば、"；"）の後から次の区切り文字の前（または次の区切り文字）まで、などである。
【０１１１】
（ステップＳ８０４）マイグレーション部７１は、ｊ番目の処理単位に対応する変換前の命令パターン（変換前パターン）を取得する。
【０１１２】
（ステップＳ８０５）マイグレーション部７１は、ステップＳ８０４で取得した変換前命令パターンに対応する変換後の命令パターン（変換後パターン）を、パターン変換表から取得する。
【０１１３】
（ステップＳ８０６）マイグレーション部７１は、カウンタｋに１を代入する。
【０１１４】
（ステップＳ８０７）マイグレーション部７１は、ｋ番目の第三文字コードがｊ番目の処理単位に存在するか否かを判断する。ｋ番目の第三文字コードが存在する場合はステップＳ８０８に行き、存在しない場合はステップＳ８１０に行く。
【０１１５】
（ステップＳ８０８）マイグレーション部７１は、ｋ番目の第三文字コードに対応する第一文字コードを、第二コード変換表から取得する。そして、マイグレーション部７１は、ｋ番目の第三文字コードの位置に、取得した第一文字コードを配置する。
【０１１６】
（ステップＳ８０９）マイグレーション部７１は、カウンタｋを１、インクリメントする。ステップＳ８０７に戻る。
【０１１７】
（ステップＳ８１０）マイグレーション部７１は、ｊ番目の処理単位と変換後パターンとを用いて、変換後処理単位を生成し、図示しないバッファまたは格納部５等に蓄積する。なお、ｊ番目の処理単位が第三文字コードを含む場合、変換後処理単位には当該第三文字コードに対応する第一文字コードが含まれる。また、変換後処理単位とは、マイグレーション後のソースプログラムを構成する。
【０１１８】
（ステップＳ８１１）マイグレーション部７１は、カウンタｊを１、インクリメントする。ステップＳ８０３に戻る。
【０１１９】
なお、図８のフローチャートにおいて、公知技術により実現可能なマイグレーション処理について、説明を省略した。
【０１２０】
本実施の形態におけるマイグレーション装置Ｂを用いて、マイグレーション前のソースプログラムに対してマイグレーションを行い、マイグレーション後のソースプログラムを取得する。そして、当該マイグレーション後のソースプログラムを用いて、実施の形態１で説明した文字出力装置Ａにより、情報処理を行い、適切に１以上の文字を出力することは好適である。なお、例えば、マイグレーション後のソースプログラムは、コンパイルし、実行モジュールを構成してから動作させる。また、例えば、マイグレーション後のソースプログラムは、インタプリタにより実行させる。
【０１２１】
以上、本実施の形態によれば、Ｎバイトより大きいサイズを採り得る文字コードを扱わないソースプログラムをマイグレーションする場合であり、Ｎバイトより大きいサイズを採り得る文字コードの文字の出力モジュールを使用する場合でも、マイグレーションした後のソフトウェアが正しく文字を出力できる。
【０１２２】
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをＣＤ−ＲＯＭなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態におけるマイグレーション装置Ｂを実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、Ｎバイトより大きいサイズを採り得ない第一文字コードと、第三文字コードとの対応を示す２以上の第二文字間対応情報を有する第二コード変換表が格納される第二コード変換表格納部と、マイグレーション対象のソースプログラムが格納されるソースプログラム格納部と、にアクセス可能なコンピュータを、前記ソースプログラムが有する１以上の各第三文字コードを、前記第二コード変換表を用いて、１以上の第一文字コードに変換し、変換後ソースプログラムを取得するマイグレーション部と、前記変換後ソースプログラムを蓄積する蓄積部とを具備し、前記第二文字間対応情報が対応をとる前記第一文字コードは、前記文字コード表の中で、使用されない領域のコードを含むものとして、コンピュータを機能させるためのプログラムである。
【０１２３】
なお、本発明において、マイグレーション装置Ｂでマイグレーションを行った変換後プログラムを文字出力装置Ａが実行しても良い。
【０１２４】
また、本発明において、マイグレーション装置Ｂと文字出力装置Ａの機能を具備する情報処理装置Ｃが存在しても良い。かかる情報処理装置Ｃのブロック図は図９である。情報処理装置Ｃは、格納部Ｃ１、受付部Ｃ２、処理部Ｃ３、および出力部Ｃ４を具備する。
【０１２５】
格納部Ｃ１は、ソースプログラム格納部５１、第二コード変換表格納部５２、コード変換表格納部１１、文字コード表格納部１２を具備する。受付部２は、コード受付部２１を備える。処理部３は、マイグレーション部７１、文字取得部３１を備える。出力部４は、蓄積部８１、文字出力部４１を備える。
【０１２６】
かかる情報処理装置Ｃを実現するプログラムは、
Ｎバイトより大きいサイズを採り得ない第一文字コードと、第三文字コードとの対応を示す２以上の第二文字間対応情報を有する第二コード変換表が格納される第二コード変換表格納部と、マイグレーション対象のソースプログラムが格納されるソースプログラム格納部と、Ｎバイトより大きいサイズを採り得ない第一文字コードと、Ｎバイトより大きいサイズを採り得る第二文字コードとの対応を示す２以上の文字間対応情報を有するコード変換表が格納されるコード変換表格納部と、第二文字コードと当該第二文字コードに対応する文字との対応を示す２以上の文字コード対応情報を有する文字コード表が格納される文字コード表格納部と、にアクセス可能なコンピュータを、前記ソースプログラムが有する１以上の各第三文字コードを、前記第二コード変換表を用いて、１以上の第一文字コードに変換し、変換後ソースプログラムを取得するマイグレーション部と、前記変換後ソースプログラムを蓄積する蓄積部と、第一文字コードを受け付けるコード受付部と、前記コード変換表を用いて、前記コード受付部が受け付けた第一文字コードに対応する第二文字コードを取得し、前記文字コード表を用いて、当該第二文字コードに対応する文字を取得する文字取得部と、前記文字取得部が取得した文字を出力する文字出力部とを具備し、前記第二文字間対応情報が対応をとる前記第一文字コードは、前記文字コード表の中で、使用されない領域のコードを含むものとして、コンピュータを機能させるためのプログラムである。
【０１２７】
また、図１０は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の文字出力装置Ａ、またはマイグレーション装置Ｂ、または情報処理装置Ｃを実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図１０は、このコンピュータシステム３００の概観図であり、図１１は、システム３００のブロック図である。
【０１２８】
図１０において、コンピュータシステム３００は、ＣＤ−ＲＯＭドライブを含むコンピュータ３０１と、キーボード３０２と、マウス３０３と、モニタ３０４とを含む。
【０１２９】
図１１において、コンピュータ３０１は、ＣＤ−ＲＯＭドライブ３０１２に加えて、ＭＰＵ３０１３と、ＭＰＵ３０１３、ＣＤ−ＲＯＭドライブ３０１２に接続されたバス３０１４と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ３０１５と、ＭＰＵ３０１３に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのＲＡＭ３０１６と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク３０１７とを含む。ここでは、図示しないが、コンピュータ３０１は、さらに、ＬＡＮへの接続を提供するネットワークカードを含んでも良い。
【０１３０】
コンピュータシステム３００に、上述した実施の形態の文字出力装置Ａ等の機能を実行させるプログラムは、ＣＤ−ＲＯＭ３１０１に記憶されて、ＣＤ−ＲＯＭドライブ３０１２に挿入され、さらにハードディスク３０１７に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ３０１に送信され、ハードディスク３０１７に記憶されても良い。プログラムは実行の際にＲＡＭ３０１６にロードされる。プログラムは、ＣＤ−ＲＯＭ３１０１またはネットワークから直接、ロードされても良い。
【０１３１】
プログラムは、コンピュータ３０１に、上述した実施の形態の文字出力装置Ａ等の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム３００がどのように動作するかは周知であり、詳細な説明は省略する。
【０１３２】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【０１３３】
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【０１３４】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０１３５】
以上のように、本発明にかかる文字出力装置等は、Ｎバイトより大きいサイズを採り得る文字コードを扱わないソースプログラムに基づいて、文字の出力を含む処理を実行する場合であり、Ｎバイトより大きいサイズを採り得る文字コードの文字の出力モジュールを使用する場合でも、正しく文字を出力できるという効果を有し、マイグレーション後のソフトウェアを機能させる情報処理装置等として有用である。
【符号の説明】
【０１３６】
Ａ  文字出力装置
Ｂ  マイグレーション装置
Ｃ  情報処理装置
１、５、Ｃ１  格納部
２、６、Ｃ２  受付部
３、７、Ｃ３  処理部
４、８、Ｃ４  出力部
１１  コード変換表格納部
１２  文字コード表格納部
２１  コード受付部
３１  文字取得部
４１  文字出力部
５１  ソースプログラム格納部
５２  第二コード変換表格納部
７１  マイグレーション部
８１  蓄積部
【図１】
2019109560.tif 000003
【図２】
2019109560.tif 000004
【図３】
2019109560.tif 000005
【図４】
2019109560.tif 000006
【図５】
2019109560.tif 000007
【図６】
2019109560.tif 000008
【図７】
2019109560.tif 000009
【図８】
2019109560.tif 000010
【図９】
2019109560.tif 000011
【図１０】
2019109560.tif 000012
【図１１】
2019109560.tif 000013