(57)【要約】【課題】本発明は、変換テーブルの格納領域を最小限にし、処理時間の短縮化を可能ならしめるコード変換システムを提供する。【解決手段】コード変換装置２０Ａは、１つの文字情報に対する第１情報量の第１コードを基本多言語面変換テーブル３１ａ，追加面変換テーブル３２ａを参照し、第１コードと異なるコード体系で第１情報量又は第２情報量の場合がある第２コードに変換する。前記一方の変換テーブル３１ａは、第１情報量の第１，第２の各コードが対応し第１情報量の値を要素とする構造を、他方の変換テーブル３２ａは前記要素の一部と第２情報量より少ない第３情報量の第１中間コードとが対応し第３情報量の値を要素とする構造を含む。コード変換装置２０Ａは、一方の変換テーブル３１ａを参照した結果が要素の一部の範囲である場合に他方の変換テーブル３２ａを参照し第３情報量の第１中間コードを出力し第２情報量の第２コードを生成する。【選択図】図１
2011008388.tif 000002
【特許請求の範囲】
【請求項１】
１つの文字情報に対して予め割り当てられているバイト数の第１情報量にかかる第１コードを入力する入力装置と、
この入力された前記第１コードを、予め設けられたコード変換テーブルを参照して当該第１コードと異なるコード体系であって前記文字情報に対する前記第１情報量にかかる第２コード又はこれより多いバイト数の第２情報量にかかる第２コードに変換するコード変換装置と、
このコード変換装置用として当該コード変換装置に併設され、前記第１情報量の第１コードと前記第１情報量の前記第２コードとが対応づけられ且つ前記第１情報量の値を要素とする基本多言語面変換テーブルと、前記第１情報量の値の一部と前記第２情報量より少ないバイト数から成る第３情報量の第１中間コードとが対応づけられ且つ前記第３情報量の値を要素とする追加面変換テーブルとを具備した記憶装置と、
前記コード変換装置にて変換された前記第１情報量又は前記第２情報量の前記第２コードを出力する出力装置とを備え、
前記コード変換装置は、
前記基本多言語面変換テーブルを参照し、前記第１情報量が前記第１情報量の値の一部の範囲である場合には前記追加面変換テーブルを参照して前記第３情報量の前記第１中間コードを出力すると共に、この第３情報量の前記第１中間コードに対して予め定められた演算処理を施して前記第２情報量の前記第２コードを生成し出力する第２コード生成出力機能を備えていることを特徴とするコード変換システム。
【請求項２】
請求項１に記載のコード変換システムにおいて、
前記記憶部の追加面変換テーブルは、前記基本多言語面変換テーブルにおける前記第１情報量の第２コード群のうち予め定められた範囲内にある特定範囲コードと、前記第２情報量より少ないバイト数の第３情報量の第１中間コードとが対応づけられたデータ構造を備え、
前記コード変換装置が、
前記基本多言語面変換テーブルを参照して得られる前記第１情報量の第２コードが前記範囲内であるか否かを判定すると共に、当該範囲外と判定された場合に稼働し前記第１コードを前記第１情報量の第２コードに変換してこれを出力する基本多言語面変換部と、
この基本多言語面変換部にて第１情報量の第２コードが前記範囲内であると判定された場合に稼働し前記追加面変換テーブルを参照して前記特定範囲コードを前記第３情報量の前記第１中間コードに変換する追加面変換部と、
この第３情報量の前記第１中間コードに予め定められた演算処理を施して前記第２情報量の前記第２コードを生成してこれを出力する変換後処理手段と、
を備えていることを特徴としたコード変換システム。
【請求項３】
請求項２に記載のコード変換システムにおいて、
前記追加面変換テーブルは、前記第３情報量が前記第１情報量と同一となる情報量で構成され、
前記追加面変換部は、前記追加面変換テーブルを参照して前記特定範囲コードを前記第１情報量の前記第１中間コードに変換する機能を備え、
前記変換後処理手段が、
前記追加面変換部にて得られた前記第１情報量の第１中間コードに対して予め定められた演算処理を施して前記第２情報量の第２中間コードを生成する第１の生成部と、
この第１の生成部で生成された前記第２情報量の第２中間コードに対して予め設定されている符号化形式で符号化処理を施し前記第２コードを出力する符号化部と、
を備えていることを特徴とするコード変換システム。
【請求項４】
請求項２に記載のコード変換システムにおいて、
前記追加面変換テーブルは、前記第３情報量が前記第１情報量より多く前記第２情報量より少ない情報量で構成され、
前記追加面変換部は、前記追加面変換テーブルを参照して前記特定範囲コードを前記第３情報量の前記第１中間コードに変換する機能を備え、
前記変換後処理手段が、
前記追加面変換部にて得られた前記第３情報量の第１中間コードに対して予め定められた演算処理を施して前記第２情報量の第２中間コードを生成する第２の生成部と、
この第２の生成部で生成された前記第２情報量の第２中間コードに対して予め設定されている符号化形式で符号化処理を施し前記第２コードを出力する符号化部と、
を備えていることを特徴とするコード変換システム。
【請求項５】
請求項３に記載のコード変換システムにおいて、
前記符号化部が、前記第１の生成部にて生成された前記第２情報量の第２中間コードに対して符号化結果が前記第２情報量となる第１の符号化形式で符号化処理を施して前記第２コードを出力する第１の符号化機能を備えていることを特徴とするコード変換システム。
【請求項６】
請求項３に記載のコード変換システムにおいて、
前記符号化部が、前記第１の生成部にて生成された前記第２情報量の第２中間コードに対して符号化結果の情報量が可変長となる第２の符号化形式で符号化処理を施し前記第２コードを出力する第２の符号化機能を備えていることを特徴とするコード変換システム。
【請求項７】
請求項６に記載のコード変換システムにおいて、
前記変換後処理手段は、前記基本多言語変換部から得られた前記範囲外の前記第１情報量の第２コードに対して予め定められた演算処理を施して前記第２情報量の第３中間コードを生成する第３の生成部を更に備え、
前記第２の符号化機能が、
この第３の生成部にて生成された前記第２情報量の第３中間コードに対して符号化結果の情報量が可変長となる前記第２の符号化形式で符号化処理を施し前記第２コードを出力する機能を更に備えていることを特徴とするコード変換システム。
【請求項８】
請求項７記載のコード変換システムにおいて、
前記第１情報量は第１バイト数であり、
前記第２情報量は第２バイト数であり、
前記追加面変換テーブルは、前記基本多言語面変換テーブルにおける前記第１バイト数の第２コード群のうち予め定められた範囲内にある前記第１バイト数の特定範囲コードを、少なくとも２つの上位バイト及び下位バイト毎に分解した上位バイトの一の分解特定範囲第２コード及び下位バイトの他の分解特定範囲第２コードと、変換先の前記第１中間コードとが、対応づけられたマトリクス表形式のデータ構造を備え、
前記追加面変換部が、
前記上位バイトの一の分解特定範囲第２コードの値と前記下位バイトの他の分解特定範囲第２コードの値から前記追加面変換テーブルの要素を格納している位置を計算して前記第１中間コードの値を求める機能を備えていることを特徴とするコード変換システム。
【請求項９】
請求項８に記載のコード変換システムにおいて、
前記第１の生成部が、前記第２の変換手段にて得られた前記第１中間コードを下位バイトとし、予め定められた第１固定値を上位バイトとして前記下位バイトに付加する機能を備えていることを特徴とするコード変換システム。
【請求項１０】
請求項９に記載のコード変換システムにおいて、
前記第３の生成部が、前記第１の変換手段にて得られた前記第１バイト数の第２コードを下位バイトとし、予め定められた第２固定値を上位バイトとして前記下位バイトに付加する機能を備えていることを特徴とするコード変換システム。
【請求項１１】
請求項１０に記載のコード変換システムにおいて、
前記第１コードは漢字コードであり、
前記第２コードは前記第１の符号化形式又は前記第２の符号化形式の何れか一つのユニコードであり、
前記第１固定値は、前記第１の符号化形式及び前記第２の符号化形式と異なる第３の符号化形式のユニコードの漢字追加面を示す値である、ことを特徴とするコード変換システム。
【請求項１２】
請求項１１に記載のコード変換システムにおいて、
前記第２固定値は、前記第３の符号化形式のユニコードの基本多言語面を示す値である、ことを特徴とするコード変換システム。
【請求項１３】
請求項１２に記載のコード変換システムにおいて、
前記符号化部における前記第２の符号化機能は、
前記第１バイト数の第２コードを下位バイトとし予め定められた第２固定値を上位バイトとして前記下位バイトに付加してなる前記第３の符号化形式の値を、符号化結果の情報量が可変長となる第２の符号化形式のユニコードに変換して出力する機能であることを特徴とするコード変換システム。
【請求項１４】
請求項１３に記載のコード変換システムにおいて、
前記第１の符号化形式はＵＴＦ（Ｕniversal multi octet coded characterset Ｔransformation Ｆormat ）―１６であり、前記第２の符号化形式はＵＴＦ―８であり、前記第３の符号化形式はＵＴＦ―３２であることを特徴とするコード変換システム。
【請求項１５】
１つの文字情報に対して予め割り当てられている第１情報量の第１コードを入力しこの第１コードを基本多言語面変換テーブル及び追加面変換テーブルの一方又は双方を参照することにより、前記第１コードと異なるコード体系であって前記文字情報に対して前記第１情報量の場合又はこれより多い第２情報量の場合が存在し得る第２コードに変換して出力するコード変換装置であって、
前記基本多言語面変換テーブルは、前記第１情報量の第１コードと前記第１情報量の前記第２コードとが対応づけられて前記第１情報量の値を要素とするデータ構造を備え、
前記追加面変換テーブルは、前記要素の一部と前記第２情報量より少ない第３情報量の第１中間コードとが対応づけられて前記第３情報量の値を要素とするデータ構造を備えたものとし、
前記基本多言語面変換テーブルを参照した結果、前記第１コードが前記要素の一部の範囲である場合には、前記追加面変換テーブルを参照して当該第１コードに対応する前記第３情報量の前記第１中間コードを出力すると共に、この第３情報量の前記第１中間コードに予め定められた演算処理を施して前記第２情報量の前記第２コードを生成してこれを出力する構成としたことを特徴とするコード変換装置。
【請求項１６】
１つの文字情報に対して予め割り当てられているバイト数の第１情報量にかかる第１コードが入力された場合に当該第１コードを、予め設けられたコード変換テーブルを参照して当該第１コードと異なるコード体系であって前記文字情報に対する前記第１情報量にかかる第２コード又はこれより多いバイト数の第２情報量にかかる第２コードに変換するコード変換装置と、このコード変換装置用として当該コード変換装置に併設され、前記第１情報量の第１コードと前記第１情報量の前記第２コードとが対応づけられ且つ前記第１情報量の値を要素とする基本多言語面変換テーブル、及び前記第１情報量の値の一部と前記第２情報量より少ないバイト数から成る第３情報量の第１中間コードとが対応づけられ且つ前記第３情報量の値を要素とする追加面変換テーブルを備えたコード変換システムにあって、
入力された前記第１コードを、前記基本多言語面変換テーブル及び前記追加面変換テーブルの一方又は双方を参照することにより、前記第１コードと異なるコード体系であって前記文字情報に対して前記第１情報量の場合又はこれより多い第２情報量の場合が存在し得る第２コードに、コード変換装置が変換し、
しかる後、この変換された前記第１情報量又は前記第２情報量の前記第２コードを外部出力する構成とし、
前記コード変換装置による変換に際しては、
最初に前記基本多言語面変換テーブルを参照し、その参照結果が前記要素の一部の範囲である場合に、次に前記追加面変換テーブルを参照して前記第３情報量の前記第１中間コードを出力し、この第３情報量の前記第１中間コードに予め定められた演算処理を施して前記第２情報量の前記第２コードを生成することを特徴としたコード変換方法。
【請求項１７】
請求項１６に記載のコード変換方法において、
前記追加面変換テーブルは、前記基本多言語面変換テーブルにおける前記第１情報量の第２コード群の内、予め定められた範囲内にある特定範囲コードと、前記第２情報量より少ない第３情報量の第１中間コードとが対応づけられたデータ構造を予め備え、
前記変換に際しては、
先ず、前記基本多言語面変換テーブルを参照して得られる前記第１情報量の第２コードが前記範囲内であるかどうかを判定し、当該範囲外と判定された場合に前記コード変換装置の基本多言語面変換部が稼働して前記第１コードを前記第１情報量の第２コードに変換処理をしてこれを出力することを特徴とするコード変換方法。
【請求項１８】
請求項１６に記載のコード変換方法において、
前記追加面変換テーブルは、前記基本多言語面変換テーブルにおける前記第１情報量の第２コード群の内、予め定められた範囲内にある特定範囲コードと、前記第２情報量より少ない第３情報量の第１中間コードとが対応づけられたデータ構造を備え、
前記変換に際しては、
先ず、前記基本多言語面変換テーブルを参照して得られる前記第１情報量の第２コードが前記範囲内であるかどうかを判定し、当該範囲内と判定された場合に前記コード変換装置の追加面変換部が稼動して前記追加面変換テーブルを参照し前記特定範囲コードを前記第３情報量の前記第１中間コードに変換する変換処理を実行し、
この第３情報量の前記第１中間コードに予め定められた演算処理を施して前記第２情報量の前記第２コードを、前記コード変換装置の変換後処理手段が生成してこれを出力することを特徴としたコード変換方法。
【請求項１９】
請求項１８に記載のコード変換方法において、
前記変換処理の実行に際しては、
前記追加面変換テーブルにおける前記第３情報量が前記第１情報量と同一となる場合に、前記追加面変換テーブルを参照して前記特定範囲コードを前記第１情報量の前記第１中間コードに変換し、
前記変換後処理の実行時に、
先ず、前記第２の変換処理にて得られた前記第１情報量の第１中間コードに対して予め定められた演算処理を施して前記第２情報量の第２中間コードを生成する第１の生成処理を実行し、
続いて、この第１の生成処理にて生成された前記第２情報量の第２中間コードに対して予め設定されている符号化形式で符号化処理を施し前記第２コードを出力する符号化処理を実行すること、を特徴としたコード変換方法。
【請求項２０】
請求項１８に記載のコード変換方法において、
前記変換処理の実行時に、
前記追加面変換テーブルにおける前記第３情報量が前記第１情報量より多く前記第２情報量より少ない場合には、前記追加面変換テーブルを参照して前記特定範囲コードを前記第３情報量の前記第１中間コードに変換し、
前記変換後処理の実行に際し、
先ず、前記第２の変換処理にて得られた前記第３情報量の第１中間コードに対して予め定められた演算処理を施して前記第２情報量の第２中間コードを生成する第２の生成処理を実行し、
続いて、この第２の生成処理にて生成された前記第２情報量の第２中間コードに対して予め設定されている符号化形式で符号化処理を施し前記第２コードを出力する符号化処理を実行することを特徴としたコード変換方法。
【請求項２１】
請求項１９に記載のコード変換方法において、
前記符号化処理を実行するに際しては、
前記第１の生成処理にて生成された前記第２情報量の第２中間コードに対して符号化の結果が前記第２情報量となる第１の符号化形式で符号化処理を施し、その後に前記第２コードを出力する第１の符号化処理を実行することを特徴としたコード変換方法。
【請求項２２】
請求項１９に記載のコード変換方法において、
前記符号化処理を実行するに際しては、
前記第１の生成処理にて生成された前記第２情報量の第２中間コードに対して符号化の結果の情報量が可変長となる第２の符号化形式で符号化処理を施し、その後に前記第２コードを出力する第２の符号化処理を実行することを特徴としたコード変換方法。
【請求項２３】
請求項２２に記載のコード変換方法において、
前記変換後の後処理を実行するに際しては、
前記第１の変換処理から得られた前記範囲外の前記第１情報量の第２コードに対して予め定められた演算処理を施して前記第２情報量の第３中間コードを生成する第３の生成処理を更に実行し、
前記第２の符号化処理を実行するに際しては、
この第３の生成処理にて生成された前記第２情報量の第３中間コードに対して符号化結果の情報量が可変長となる前記第２の符号化形式で符号化処理を施し、その後に前記第２コードを出力することを特徴としたコード変換方法。
【請求項２４】
１つの文字情報に対して予め割り当てられているバイト数の第１情報量にかかる第１コードが入力された場合に当該第１コードを、予め設けられたコード変換テーブルを参照して当該第１コードと異なるコード体系の第２コードに変換するコード変換装置と、このコード変換装置用として当該コード変換装置に併設され、前記第１情報量の第１コードと前記第１情報量の前記第２コードとが対応づけられ且つ前記第１情報量の値を要素とする基本多言語面変換テーブル、及び前記第１情報量の値の一部と前記第２情報量より少ないバイト数から成る第３情報量の第１中間コードとが対応づけられ且つ前記第３情報量の値を要素とする追加面変換テーブルを備えたコード変換システムにあって、
入力された前記第１情報量の第１コードを前記基本多言語面変換テーブル及び追加面変換テーブルの一方又は双方を参照して前記第１コードと異なるコード体系であって前記文字情報に対してバイト数が前記第１情報量の場合又はこれより多い第２情報量の場合の第２コードに変換するコード変換機能、及びこの変換された前記第１情報量又は前記第２情報量の前記第２コードを出力する出力処理機能を有し、
前記コード変換処理機能では、
前記第１コードの変換処理に際し、前記基本多言語面変換テーブルを参照すると共にその参照結果が前記要素の一部の範囲にある場合に、前記追加面変換テーブルを参照して変換処理し前記第３情報量の前記第１中間コードを出力する第１中間コード出力処理機能、  及びこの出力処理された第１中間コードに予め定められた演算処理を施して前記第２情報量の前記第２コードを生成しこれを出力する第２コード生成処理機能、
をその内容とし、これら各処理機能を前記コード変換装置が備えているコンピュータに実行させるようにしたことを特徴とするコード変換プログラム。
【請求項２５】
請求項２４に記載のコード変換プログラムにおいて、
前記追加面変換テーブルが、前記基本多言語面変換テーブルにおける前記第１情報量の第２コード群のうち予め定められた範囲内にある特定範囲コードと前記第２情報量より少ない第３情報量の第１中間コードとが対応づけられたデータ構造を予め備えており、
前記コード変換機能では、
前記基本多言語面変換テーブルを参照して得られる前記第１情報量の第２コードが前記範囲内であるか否かの判定で、当該範囲外と判定された場合に稼働し前記第１コードを前記第１情報量の第２コードに変換してこれを出力する第１の変換機能、
前記第１の変換機能において前記範囲内であると判定された場合に稼働し前記追加面変換テーブルを参照して前記特定範囲コードを前記第３情報量の前記第１中間コードに変換する第２の変換機能、
及びこの第３情報量の前記第１中間コードに予め定められた演算処理を施して前記第２情報量の前記第２コードを生成してこれを出力する変換後処理機能、
を有すること、をその内容とし、これらを前記コンピュータに実行させることを特徴とするコード変換プログラム。
【請求項２６】
請求項２５に記載のコード変換プログラムにおいて、
前記第２の変換機能では、
前記追加面変換テーブルにおける前記第３情報量が前記第１情報量と同一となる場合に、前記追加面変換テーブルを参照して前記特定範囲コードを前記第１情報量の前記第１中間コードに変換する機能をその内容とし、
前記変換後処理機能では、
前記第２の変換機能にて得られた前記第１情報量の第１中間コードに対して予め定められた演算処理を施して前記第２情報量の第２中間コードを生成する第１の生成機能、およびこの第１の生成機能にて生成された前記第２情報量の第２中間コードに対して予め設定されている符号化形式で符号化処理を施し前記第２コードを出力する符号化処理機能、
を有することをその内容とし、
これらを前記コンピュータに実行させることを特徴とするコード変換プログラム。
【請求項２７】
請求項２５に記載のコード変換プログラムにおいて、
前記第２の変換機能では、
前記追加面変換テーブルにおける前記第３情報量が前記第１情報量より多く前記第２情報量より少ない場合に、前記追加面変換テーブルを参照して前記特定範囲コードを前記第３情報量の前記第１中間コードに変換する機能をその内容とし、
前記変換後処理機能では、
前記第２の変換処理にて得られた前記第３情報量の第１中間コードに対して予め定められた演算処理を施して前記第２情報量の第２中間コードを生成する第２の生成機能、及びこの第２の生成機能にて生成された前記第２情報量の第２中間コードに対して予め設定されている符号化形式で符号化処理を施し前記第２コードを出力する符号化処理機能、
を有すること、をその内容とし、
これらを前記コンピュータに実行させることを特徴とするコード変換プログラム。
【請求項２８】
請求項２６に記載のコード変換プログラムにおいて、
前記符号化処理機能では、
前記第１の生成機能にて生成された前記第２情報量の第２中間コードに対して符号化結果が前記第２情報量となる第１の符号化形式で符号化処理を施し前記第２コードを出力する第１の符号化機能をその内容とし、
これを前記コンピュータに実行させることを特徴とするコード変換プログラム。
【請求項２９】
請求項２６に記載のコード変換プログラムにおいて、
前記符号化処理機能では、
前記第１の生成機能にて生成された前記第２情報量の第２中間コードに対して符号化結果の情報量が可変長となる第２の符号化形式で符号化処理を施し前記第２コードを出力する第２の符号化機能を、その内容とし、
これを前記コンピュータに実行させることを特徴とするコード変換プログラム。
【請求項３０】
請求項２９に記載のコード変換プログラムにおいて、
前記変換後処理機能では、前記第１の変換機能から得られた前記範囲外の前記第１情報量の第２コードに対して予め定められた演算処理を施して前記第２情報量の第３中間コードを生成する第３の生成機能を、その内容とし、
前記第２の符号化機能では、この第３の生成機能にて生成された前記第２情報量の第３中間コードに対して符号化結果の情報量が可変長となる前記第２の符号化形式で符号化処理を施し前記第２コードを出力する機能を、その内容とし、
これらを前記コンピュータに実行させることを特徴とするコード変換プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コード変換システム、コード変換装置、コード変換方法、及びコード変換プログラムに関し、特に日本語コードをユニコード（Ｕｎｉｃｏｄｅ）に変換するためのコード変換システム、コード変換装置、コード変換方法、及びコード変換プログラムに関する。
【背景技術】
【０００２】
ユニコードコンソーシアムによって定められた符号化文字集合の国際的な標準規格であるユニコード（Ｕｎｉｃｏｄｅ）においては、その符号化方式の一つであるＵＣＳ―２（Ｕniversal  Ｃharacter  Ｓet  coded in 2 octets ）で定義される文字の集合は、全ての文字を１６ビット（２バイト）にて表現し、１つの文字コード体系にて多国語処理を可能としようとするものである。
しかしながら、［００００］〜［ＦＦＦＦ（１６進数）］で表される文字コード（１６×１６×１６×１６＝６５, ５３６文字分）にて、文字体系（言語体系）の異なる全ての文字を表現することは不可能である。そこで、ユニコードにおける新たな別の符号化方式であるＵＴＦ―１６（ＵＣＳ  Ｔransformaion  Ｆormat for １６  Ｐlanes of  Ｇroup  ００）においては、２文字分のコードを組（ペア）にすることで、つまり３２ビット（４バイト）を用いて１つの文字を表すサロゲートペア文字が利用可能となっている。
【０００３】
具体的には、ユニコード（Ｕｎｉｃｏｄｅ）の基本文字領域ＢＭＰ（Ｂasic  Ｍutilingual  Ｐlane）における［Ｄ８００］〜［ＤＦＦＦ］の領域をサロゲートペア文字領域として定め、［Ｄ８００］〜［ＤＢＦＦ］で示される上位２バイトコードと、［ＤＣ００］〜［ＤＦＦＦ］で示される下位２バイトコードとの組合せの４バイトにより計（１, ０２４×１, ０２４＝１, ０４８, ５７６）文字をサロゲートペア文字として取り扱うことを可能としている。ここで、サロゲートペア文字は（２５６×２５６）の区点によって示される面（ｐｌａｎｅ）毎に６５, ５３６文字ずつ、１６面に亘って管理される。
【０００４】
更に、近年、日本語に対応したコンピュータでは、文化審議会国語分科会で制定された印刷標準字体に対応した情報交換用符号化漢字集合のＪＩＳ規格である「 ＪＩＳ  Ｘ  ０２１３：２００４」に対応したユニコード（Ｕｎｉｃｏｄｅバージョン３．２以上）が使われ始めている。これに伴い、各種ベンダの日本語２バイトコードと「ＪＩＳ  Ｘ  ０２１３：２００４」に対応したユニコードの変換対応が必要になってきている。
【０００５】
ここで、「ＪＩＳ  Ｘ  ０２１３：２００４」では、その前身のＪＩＳ規格である「ＪＩＳ  Ｘ  ０２０８」や「ＪＩＳ  Ｘ  ０２１２」から文字を大幅に追加しており、これに伴いユニコードにおいては基本多言語面に入りきらなかった文字（３０３文字など）を漢字追加面に収容することとなった。この際、漢字追加面に収容された文字は、ＵＴＦ−１６の符号化形式で４バイトのコード（サロゲートペア）により表される。このため、「ＪＩＳ  Ｘ  ０２１３：２００４」の文字列をＵＴＦ−１６符号化形式で表すと基本多言語面にかかる２バイトの文字コードの場合と、漢字追加面にかかる４バイトの文字コードの場合とが混在する形式となる。
【０００６】
これまでの汎用のコード変換装置では、「ＪＩＳ  Ｘ  ０２０８」に対応した文字のみで済んでいたため、ＵＴＦ−１６符号化形式で表した場合であってもサロゲートペアを使用する必要がなく、全ての文字を２バイトで構成することができた。
このため、「ＪＩＳ  Ｘ  ０２０８」などの漢字２バイトコードからユニコードへコード変換する場合、２バイトから２バイトへ１対１のコード変換テーブルを持てばコード変換を行うことができた。
【０００７】
しかしながら、コード変換装置が変換先に「ＪＩＳ  Ｘ  ０２１３：２００４」に対応したユニコードをサポートするには、２バイトから２バイトへ変換する仕組みに加え、２バイトから４バイトへ変換する仕組みも必要となる。即ち、「ＪＩＳ  Ｘ  ０２１３：２００４」にかかるコードを、ＵＴＦ−１６にかかるユニコードに変換するコード変換装置においては、２バイトデータへの変換と、４バイトデータへの変換との双方を行う必要がある。
【０００８】
そこで、このコード変換を実現する仕組みとして汎用技術と同じ考え方で２バイトコードから４バイトコードへ1 対１のコード変換テーブルを作成する場合が想定され得る。
具体的には、２バイトコードと４バイトコードが混在するコードへ変換を行うにためには、図１１のコード変換テーブルＴ１の各要素を４バイトとする手法が一般的である。
【０００９】
図１１は、２バイトコードから２バイトコードへ変換するための一般的なコード変換テーブルであり、変換元の２バイトコード値に対応した変換先の２バイトコードを配列に格納した例である。図１２は、図１１のコード変換テーブルＴ１の各要素を４バイトとした例である。
【００１０】
図１２に示すコード変換テーブルＴ２を利用したコード変換では、２バイトコードをキーとして表の要素を参照したとき、上位２バイトの値が００００ｈであれば、下位２バイトの値を基本多言語面の文字を表すＵＴＦ−１６の２バイトコードの値とし、上位２バイトが００００ｈ以外の場合、漢字追加面の文字を表すサロゲートペア（ＵＴＦ−１６の４バイトコード）の値とすることで、２バイトと４バイトのコード変換結果を得ることができる。
この場合、１文字あたり４バイトの情報を必要とするため、汎用技術の２倍のサイズを持つコード変換テーブルが必要となる。
【００１１】
一方、サロゲートペアに対応したコード変換を行うシステムの関連技術の一例が、特許文献１、特許文献２などに記載されている。
【００１２】
特許文献１のコード変換は、変換入力と変換出力がともにユニコードである。特許文献１では、サロゲートペア（４バイトコード）を２バイトのコードに変換してデータベースに格納する。この特許文献１に記載されたコード変換手段では、サロゲートペアを２バイトの私用領域のコードに置き換えデータベースに格納し、データベースからデータを取り出すとき私用領域のコードがあれば、コード逆変換手手段により対応するサロゲートペアへ戻す手法を示している。
【００１３】
図１３は、特許文献１のコード逆変換手段が参照するコード変換テーブルの一例である。この特許文献１によると、コード逆変換手段において、入力した２バイトコードが私用領域の文字コードであった場合、私用領域の文字コードをキーとして図１３のコード変換テーブルＴ３を検索し、キーに対応するサロゲートペア文字コードを得ている。
【００１４】
又、特許文献２では、その段落番号［００１２］〜[ ００１４] に開示されているように、文字データ入力部は、入力された文字コード列を２バイトずつ切り出して該２バイトのコードがサロゲートペア文字の特定に用いられるコードであるか否かを判定し、サロゲートペア文字を特定する４バイトのコードを求めるサロゲートペア文字検出手段を備えている。
更に、文字データ入力部は、変換テーブルを参照してサロゲートペア文字検出手段にて求められた４バイトのコードに予め対応付けられた２バイトのコードを求めこの２バイトのコードにて４バイトのコードを置換するコード置換手段を備えている。
【００１５】
更に、この特許文献２では、コード置換手段は、サロゲートペア文字を特定する４バイトのコードを、予め文字処理システムにおけるフォントファイルの外字領域に準備したサロゲートペア文字を特定する２バイトのコードに変換する。文字データ入力部は、ユニコードの基本文字領域ＢＭＰを予め区画して設定したサロゲートペア文字領域［Ｄ８００］〜［ＤＦＦＦ］に含まれる上位２バイトコードと下位２バイトコードとの組によって特定される複数のサロゲートペア文字の中の出現頻度の高い幾つかのサロゲートペア文字、或いはニーズに応じて規定された複数のサロゲートペア文字を、予めユニコードの基本文字領域ＢＭＰにおける外字領域［Ｅ０００］〜［Ｆ８ＦＦ］に２バイトのコードにて特定可能な外字（サロゲート文字）として登録している。
【００１６】
又、特許文献２では、文字データ入力部においては、フォントファイルの外字領域に登録した複数の外字（サロゲート文字）をそれぞれ特定する２バイトのコードと、当該外字（サロゲート文字）に相当するサロゲートペア文字を特定する４バイトのコードとを相互に対応付けて変換テーブルに登録している。
このため、特許文献２の変換テーブルでは、当該テーブルの要素に４バイトのテータが必要となっている。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開２００８−２４２９９２号公報
【特許文献２】特開２００９−４２９８０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１８】
しかしながら、上述のような関連技術を利用した図１２に示す手法では、図１１のコード変換テーブルＴ１を利用する場合に比較して、コード変換テーブルの格納領域が２倍となる。その理由は、図１１のコード変換テーブルＴ１の要素１つが２バイトであるのに対して図１２のコード変換テーブルＴ２の要素１つは４バイトのためである。
【００１９】
ところで、組み込み機器などコード変換を実装する装置によっては、コード変換テーブルに割り当てることのできる領域のサイズに制限があるため、「ＪＩＳ  Ｘ  ０２１３：２００４」に対応したユニコードへのコード変換で利用するコード変換テーブルのサイズを必要最小限の大きさとする必要がある。
このため、図１２に示す手法では、変換テーブルを格納するのに必要なサイズが汎用技術の２倍のサイズとなってしまい、変換テーブルの格納領域が膨大となり、比較的少ないメモリ容量の組み込み機器などコード変換を実装する装置に前記変換テーブルを搭載できない、という不都合があった。
【００２０】
又、「ＪＩＳ  Ｘ  ０２１３：２００４」において漢字追加面（第２面）に収容されている漢字は３０３文字であり、２バイトの漢字コードから４バイトのユニコードに変換するパターンは３０３個程度である。
このため、図１２で示されるコード変換テーブルＴ２のように要素が８８３６個（９４×９４）ある場合、４バイトコードへの変換が必要な文字は全体の４％程度であり、追加面の文字へのコード変換が３０３文字の場合、残り９６％の要素において上位２バイトは不要な情報であり、無駄が大きい、という不都合があった。
【００２１】
更に、関連技術の特許文献１の図１３に示す仕組みを漢字２バイトコードからサロゲートペア（ＵＴＦ−１６の４バイトコード）へ変換する手段として利用するとともに、漢字２バイトコードからＵＴＦ−１６の２バイトコードへの変換には図１１のコード変換テーブルＴ１を使用してコード変換を行う場合には、以下の不都合があった。
すなわち、図１３のコード変換テーブルＴ３を使用する上で変換元のコード範囲が、ユニコード（Ｕｎｉｃｏｄｅ）の私用領域の範囲（Ｅ０００ｈ〜Ｆ８ＦＦｈ）に限定されているため、漢字２バイトコードで使用するコード範囲（２１２１ｈ〜７Ｅ７Ｅｈ）などが変換対象とならない。
このため、図１３のコード変換テーブルＴ３を使用して漢字２バイトコードから、サロゲートペアへの変換を可能とするためには、図１３のコード変換テーブルＴ３において、キーとなる値を漢字２バイトコードの全範囲とする必要があった。
【００２２】
更に又、図１４に示すように、図１３の特許文献１のコード変換テーブルＴ３における私用領域文字コードの列を漢字２バイトコードに置き換えることが想定され得る。
このような図１４のコード変換テーブルＴ４を使って漢字２バイトコードに対応するサロゲートペアへ変換しようとした場合、次の不都合があった。
【００２３】
すなわち、図１４のコード変換テーブルＴ４を使用した場合、１文字を変換するごとに図１３のコード変換テーブルＴ４を検索しなければならない。その理由は、図１４のコード変換テーブルＴ４を検索する条件を限定できないためである。
ここで、漢字２バイトコードは、ＪＩＳコードに限らず、ベンダ独自の漢字コードなど、２バイトで表すことのできる漢字コードを対象としている。このため、サロゲートペアに変換する可能性のある変換元の漢字２バイトコードが、漢字２バイトコードの全範囲であるとすると、１文字の変換ごとにサロゲートペアに変換するべき漢字２バイトコードであるか図１４のコード変換テーブルＴ４を検索して判断する必要があり、多大な時間を要することになる。
【００２４】
このように、仮に、特許文献１のコード変換テーブルを応用したとしても、２バイトから２バイトへ変換するコード変換に比べて、２バイトから４バイトへのコード変換を行うに際しては、コード変換における処理速度が遅くなる、という不都合があった。
更に、上記特許文献１では、変換テーブルの要素に４バイトデータが必要であり、テーブルのサイズ、テーブルの格納領域が膨大となり、比較的少ないメモリ容量の組み込み機器などコード変換を実装する装置に前記変換テーブルを搭載することができない、という不都合があった。
【００２５】
加えて、特許文献２においても、変換テーブルの要素に４バイトデータが必要であり、テーブルのサイズ、テーブルの格納領域が膨大となり、比較的少ないメモリ容量の組み込み機器などコード変換を実装する装置には前記変換テーブルを搭載することができない、という不都合があった。
【００２６】
（発明の目的）
本発明の目的は、上述の関連技術の不都合を解決することにあり、コード変換するに際し、変換テーブルの格納領域を最小限にして組み込み機器などコード変換を実装する装置に変換テーブルを搭載可能としながらも、コード変換にかかる処理時間の短縮化を可能ならしめるコード変換システム、コード変換装置、コード変換方法、及びコード変換プログラムを提供することにある。
【課題を解決するための手段】
【００２７】
上記目的を達成するため、本発明のコード変換システムは、１つの文字情報に対して予め割り当てられているバイト数の第１情報量にかかる第１コードを入力する入力装置と、この入力された前記第１コードを、予め設けられたコード変換テーブルを参照して当該第１コードと異なるコード体系であって前記文字情報に対する前記第１情報量にかかる第２コード又はこれより多いバイト数の第２情報量にかかる第２コードに変換するコード変換装置と、このコード変換装置用として当該コード変換装置に併設され前記第１情報量の第１コードと前記第１情報量の前記第２コードとが対応づけられ且つ前記第１情報量の値を要素とする基本多言語面変換テーブルと前記第１情報量の値の一部と前記第２情報量より少ないバイト数から成る第３情報量の第１中間コードとが対応づけられ且つ前記第３情報量の値を要素とする追加面変換テーブルとを具備した記憶装置と、前記コード変換装置にて変換された前記第１情報量又は前記第２情報量の前記第２コードを出力する出力装置とを備えている。
【００２８】
そして、前述したコード変換装置は、前記基本多言語面変換テーブルを参照し、前記第１情報量が前記第１情報量の値の一部の範囲である場合には前記追加面変換テーブルを参照して前記第３情報量の前記第１中間コードを出力すると共に、この第３情報量の前記第１中間コードに対して予め定められた演算処理を施して前記第２情報量の前記第２コードを生成し出力する第２コード生成出力機能を備えていることを特徴とする。
【００２９】
上記目的を達成するため、本発明のコード変換装置は、１つの文字情報に対して予め割り当てられている第１情報量の第１コードを入力しこの第１コードを基本多言語面変換テーブル及び追加面変換テーブルの一方又は双方を参照することにより、前記第１コードと異なるコード体系であって前記文字情報に対して前記第１情報量の場合又はこれより多い第２情報量の場合が存在し得る第２コードに変換して出力するコード変換装置であって、前述した基本多言語面変換テーブルは、前記第１情報量の第１コードと前記第１情報量の前記第２コードとが対応づけられて前記第１情報量の値を要素とするデータ構造を備え、前記追加面変換テーブルは、前記要素の一部と前記第２情報量より少ない第３情報量の第１中間コードとが対応づけられて前記第３情報量の値を要素とするデータ構造を備えている。
【００３０】
そして、前述した基本多言語面変換テーブルを参照した結果、前記第１コードが前記要素の一部の範囲である場合には、前記追加面変換テーブルを参照して当該第１コードに対応する前記第３情報量の前記第１中間コードを出力機能と、この第３情報量の前記第１中間コードに予め定められた演算処理を施して前記第２情報量の前記第２コードを生成して出力する機能とを備えたことを特徴とする。
【００３１】
上記目的を達成するため、本発明のコード変換方法は、１つの文字情報に対して予め割り当てられているバイト数の第１情報量にかかる第１コードが入力された場合に当該第１コードを、予め設けられたコード変換テーブルを参照して当該第１コードと異なるコード体系であって前記文字情報に対する前記第１情報量にかかる第２コード又はこれより多いバイト数の第２情報量にかかる第２コードに変換するコード変換装置と、このコード変換装置用として当該コード変換装置に併設され、前記第１情報量の第１コードと前記第１情報量の前記第２コードとが対応づけられ且つ前記第１情報量の値を要素とする基本多言語面変換テーブル、及び前記第１情報量の値の一部と前記第２情報量より少ないバイト数から成る第３情報量の第１中間コードとが対応づけられ且つ前記第３情報量の値を要素とする追加面変換テーブルを備えたコード変換システムにあって、
入力された前記第１コードを前記基本多言語面変換テーブル及び前記追加面変換テーブルの一方又は双方を参照することにより、前記第１コードと異なるコード体系であって前記文字情報に対して前記第１情報量の場合又はこれより多い第２情報量の場合が存在し得る第２コードにコード変換装置が変換し、  しかる後、この変換された前記第１情報量又は前記第２情報量の前記第２コードが外部出力される構成とし、
前記コード変換装置による変換に際しては、最初に前記基本多言語面変換テーブルを参照し、その参照結果が前記要素の一部の範囲である場合に、次に前記追加面変換テーブルを参照して前記第３情報量の前記第１中間コードを出力し、この第３情報量の前記第１中間コードに予め定められた演算処理を施して前記第２情報量の前記第２コードを生成することを特徴とする。
【００３２】
上記目的を達成するため、本発明のコード変換プログラムは、１つの文字情報に対して予め割り当てられているバイト数の第１情報量にかかる第１コードが入力された場合に当該第１コードを、予め設けられたコード変換テーブルを参照して当該第１コードと異なるコード体系の第２コードに変換するコード変換装置と、このコード変換装置用として当該コード変換装置に併設され、前記第１情報量の第１コードと前記第１情報量の前記第２コードとが対応づけられ且つ前記第１情報量の値を要素とする基本多言語面変換テーブル、及び前記第１情報量の値の一部と前記第２情報量より少ないバイト数から成る第３情報量の第１中間コードとが対応づけられ且つ前記第３情報量の値を要素とする追加面変換テーブルを備えたコード変換システムにあって、
入力された前記第１情報量の第１コードを前記基本多言語面変換テーブル及び追加面変換テーブルの一方又は双方を参照して前記第１コードと異なるコード体系であって前記文字情報に対してバイト数が前記第１情報量の場合又はこれより多い第２情報量の場合の第２コードに変換するコード変換機能、及びこの変換された前記第１情報量又は前記第２情報量の前記第２コードを出力する出力処理機能を有し、
前記コード変換処理機能では、前記第１コードの変換処理に際し、前記基本多言語面変換テーブルを参照すると共にその参照結果が前記要素の一部の範囲にある場合に、前記追加面変換テーブルを参照して変換処理し前記第３情報量の前記第１中間コードを出力する第１中間コード出力処理機能、  及びこの出力処理された第１中間コードに予め定められた演算処理を施して前記第２情報量の前記第２コードを生成しこれを出力する第２コード生成処理機能、  をその内容とし、
これら各処理機能を前記コード変換装置が備えているコンピュータに実行させるようにしたことを特徴とする。
【発明の効果】
【００３３】
本発明によれば、追加面変換テーブルを第２情報量より少ない第３情報量を要素として構成し、第２情報量の第２コードを生成するためのコード変換では、追加面変換テーブルより第３情報量の第１中間コードを取り出してこれに予め定められた演算処理を施し前記第２情報量の第２コードを生成するようにしたので、前述した関連技術のような第２情報量の変換テーブルを構成する必要がなく、コード変換するに際し、変換テーブルの格納領域を最小限にして組み込み機器などコード変換を実装する装置に変換テーブルを搭載可能としながらも、コード変換にかかる処理時間の短縮化が可能となり、変換処理の高速化を図ることができる、という、関連技術にない優れたコード変換システム、コード変換装置、コード変換方法、及びコード変換プログラムを提供することができる。
【図面の簡単な説明】
【００３４】
【図１】本発明の第１実施形態によるコード変換システムの全体構成の一例を示すブロック図である。
【図２】図１に開示した実施形態のコード変換システムにおける基本多言語面変換テーブルのデータ構造の一例を示す説明図である。
【図３】図１に示すコード変換システムにおける追加面変換テーブルのデータ構造の一例を示す説明図である。
【図４】図１に開示した実施形態のコード変換システムにおける動作の一例を示すフローチャートである。
【図５】図１に開示した実施形態のコード変換システムにおける全体の動作を示すフローチャートである。
【図６】本発明の第２実施形態におけるコード変換システムの全体構成の一例を示すブロック図である。
【図７】図６に開示した第２実施形態のコード変換システムにおける動作の一例を示すフローチャートである。
【図８】本発明の第３実施形態におけるコード変換システムの全体構成の一例を示すブロック図である。
【図９】図８に開示した第３実施形態のコード変換システムにおける追加面Ｎ変換テーブルのデータ構造の一例を示す説明図である。
【図１０】図８に開示した第３実施形態のコード変換システムにおける動作の一例を示すフローチャートである。
【図１１】関連技術におけるコード変換テーブルのデータ構造の一例を示す説明図である。
【図１２】関連技術におけるコード変換テーブルの他のデータ構造の一例を示す説明図である。
【図１３】関連技術におけるコード変換テーブルの更に他のデータ構造の一例を示す説明図である。
【図１４】関連技術におけるコード変換テーブル（変形例）のデータ構造の一例を示す説明図である。
【発明を実施するための形態】
【００３５】
以下、本発明の第１の実施形態にかかるコード変換システムを図１乃至図５に基づいて説明する。
この第１実施形態におけるコード変換システム１は、漢字２バイトコードからユニコード（Ｕｎｉｃｏｄｅ／２バイトと４バイトの混在）へ変換を行うにあたり、必要最低限のメモリ容量で高速にコード変換を行うことを意図した構成となっている。
【００３６】
そして、これを実現するために、本第１実施形態では、漢字２バイトコードをユニコード（Ｕｎｉｃｏｄｅ）へ変換するに際し、まず、基本多言語面変換部２１と追加面変換部２２とを備え、各変換部に対応して、基本多言語面変換テーブル記憶部３１および追加面変換テーブル記憶部３２が、それぞれ併設されている。
【００３７】
基本多言語面変換テーブル記憶部３１には、漢字２バイトコードに対応したＵｎｉｃｏｄｅ（ＵＴＦ−１６符号化形式の２バイトコード）が予め格納されている。そして、この基本多言語面変換テーブル記憶部３１では、変換先が漢字追加面のＵｎｉｃｏｄｅ（２バイトコード）となる文字の変換に際しては、文字が割り当られることのないサロゲートペアで使われるコード範囲（Ｄ８００ｈ〜ＤＦＦＦｈ）の２バイト値が割り当てられてこれを、保持する。
【００３８】
又、追加面変換部２２は、基本多言語面変換部２１でＤ８００ｈ〜ＤＦＦＦｈの値を取得したときのみ使用する。追加面変換部２２は、その変換動作時には追加面変換テーブル記憶部３２を参照する。ここで、追加面変換テーブル記憶部３２は、Ｄ８００ｈ〜ＤＦＦＦｈの１コードにつき２バイトで構成し、Ｄ８００ｈ〜ＤＦＦＦｈの値で直接参照可能とする。
【００３９】
そして、追加面変換部２２から得られる２バイトから、ユニコード面区点生成手段１１２とユニコードＵＴＦ−１６符号化手段１１３により、漢字追加面のユニコード（４バイト）が変換出力される。
以下、これを具体的に説明する。
【００４０】
〔第１の実施の形態〕
先ず、本実施形態におけるコード変換システムの基本的構成について説明する。
本第１実施形態におけるコード変換システム１は、図１に示すように、予め１つの文字情報に対して割り当てられているバイト数の第１情報量の第１コードを入力する入力装置１０を備えている。
【００４１】
又、コード変換システム１は、入力装置１０にて入力された前記第１コードを基本多言語面変換テーブル３１ａ及び追加面変換テーブル３２ａの一方又は双方を参照することにより、前記第１コードと異なるコード体系であって前記文字情報に対して前記第１情報量の場合又はこれより多い第２情報量の場合が存在し得る第２コードに変換するコード変換装置２０Ａを備えている。
【００４２】
更に、コード変換システム１は、記憶装置３０を備えている。この記憶装置３０は、前記第１情報量の第１コードと前記第１情報量の前記第２コードとが対応づけられて前記第１情報量の値を要素とする基本多言語面変換テーブル３１ａを装備した基本多言語面変換テーブル記憶部３１を備えている。更に、この記憶装置３０は、前記要素の一部と前記第２情報量より少ない第３情報量の第１中間コードとが対応づけられて前記第３情報量の値を要素とする追加面変換テーブル３２ａを装備した追加面変換テーブル記憶部３２を備えている。
また、コード変換システム１は、上記コード変換装置２０Ａにて変換された前記第１情報量又は第２情報量の前記第２コードを出力する出力装置４０を備えている。
【００４３】
コード変換装置２０Ａは、基本多言語面変換テーブル３１ａを参照した結果が前記要素の一部の範囲である場合には、次に追加面変換テーブル３２ａを参照して前記第３情報量の第１中間コードを出力すると共に、この第３情報量の第１中間コードに予め定められた演算処理を施して前記第２情報量の第２コードを生成してこれを出力する機能を備えている。
【００４４】
このようなコード変換システム１の基本的構成によれば、追加面変換テーブル３２ａは第２情報量より少ない第３情報量を要素として構成され、第２情報量の第２コードを生成するためのコード変換では、追加面変換テーブル３２ａを参照して第３情報量の第１中間コードを出力しこれに予め定められた演算処理を施して前記第２情報量の第２コードを生成するため、関連技術のような第２情報量の変換テーブルを構成する必要がなく、コード変換するに際し、変換テーブルの格納領域を最小限にして組み込み機器などコード変換を実装する装置に変換テーブルを搭載可能としながらも、コード変換にかかる処理時間の短縮化が可能となり、変換処理の高速化を図ることができる。
【００４５】
（コード変換システムの全体構成）
次に、本第１実施形態のコード変換システムの具体的構成について、全体構成から説明し、続いて各部の詳細構成について図１を参照しつつ説明する。
図１は、本第１実施形態におけるコード変換システムの全体を示すブロック図である。
【００４６】
この図１に示すように、本第１実施形態におけるコード変換システム１は、キーボード等の入力装置１０と、プログラム制御により動作するコード変換装置２０Ａと、コード変換の対応を示す情報を記憶する記憶装置３０と、ディスプレイ装置や印刷装置などの出力装置４０とを備えている。
【００４７】
記憶装置３０は、図２に示す基本多言語面変換テーブル３１ａを記憶した基本多言語面変換テーブル記憶部３１と、図３に示す追加面変換テーブル３２ａを記憶した追加面変換テーブル記憶部３２とを備えている。
【００４８】
（基本多言語面変換テーブルのデータ構造）
図２に示すように、基本多言語面変換テーブル３１ａは、漢字２バイトコードの一例として、上位１バイトを２１ｈ〜７Ｅｈ、下位１バイトを２１ｈ〜７Ｅｈの範囲をもつ変換元の漢字２バイトコードに対応したマトリックス表であり、それぞれの要素に変換先のユニコード（ＵＴＦ−１６）を格納したデータ構造となっている。
【００４９】
ここで、変換元に対応する変換先のユニコードが追加面の文字の場合、Ｄ８００ｈ〜ＤＦＦＦｈの値を格納する。
基本多言語面変換テーブル３１ａにおけるＤ８００ｈ〜ＤＦＦＦｈの値は、追加面の文字を一意に決定する値とし、変換先のＵＴＦ−１６の値として扱わず、追加面変換部２２が追加面変換テーブル記憶部３２を参照するためのキーとして扱う。
更に、記憶装置３０に実装する際は、変換元の２バイトコードの昇順で表の要素である２バイトを連続して格納した構造となっている。
【００５０】
漢字２バイトコードからユニコードへの変換に際して基本多言語面変換部２１が参照する基本多言語面変換テーブル記憶部３１は、漢字２バイトコードに対応したユニコード（ＵＴＦ−１６符号化形式の２バイトコード）が予め格納されている。この基本多言語面変換テーブル記憶部３１には、変換先が漢字追加面のユニコード（４バイトコード）となる文字変換に対しては、文字が割り当てられることのないサロゲートペアで使われるコード範囲（Ｄ８００ｈ〜ＤＦＦＦｈ）の２バイト値を割り当てて格納されている。
【００５１】
ここで、前記基本多言語面変換テーブル３１ａでは、前記第１バイト数（２バイトなど）の第１コード（２１２１ｈなど）と前記第１バイト数の前記第２コード（３０００ｈなど）とが対応づけられており、前記第１バイト数の第２コードが予め定められた範囲内となる特定範囲内第１バイト数第２コード（Ｄ８００ｈ〜ＤＦＦＦｈなど：第１領域）と前記範囲外となる特定範囲外第１バイト数第２コード（Ｄ８００ｈ〜ＤＦＦＦｈ以外：第２領域）とを含むデータ構造を備えている。
【００５２】
この点を更に詳述すると、基本多言語面変換テーブル３１ａは、前記第１コードを前記第１バイト数の第２コードに変換するために、前記第１バイト数（２バイトなど）の第１コードを少なくとも２つの上位バイト及び下位バイト毎に分解した第１コード分解上位バイト数（上位１バイトなど）の一の分解第１コード（７４ｈなど）及び第１コード分解下位バイト数（下位１バイトなど）の他の分解第１コード（２２ｈなど）と、前記第１バイト数（２バイトなど）の前記第２コード（Ｅ００１ｈなど）とが対応づけられているデータ構造を備えている。
【００５３】
即ち、上記基本多言語面変換テーブル３１ａは、前記第１情報量（第１バイト数の一例である２バイトなど）の第１コード（２１２１ｈなど）と前記第１情報量の第２コード（３０００ｈなど）とが対応づけられて前記第１情報量の値を要素とするデータ構造を備えている。
【００５４】
（追加面変換テーブルのデータ構造）
図３に示すように、追加面変換テーブル３２ａは、上位１バイトをＤ８ｈ〜ＤＦｈ、下位１バイトを００ｈ〜ＦＦｈの範囲をもつ２バイトに対応したマトリックス表であり、それぞれの要素に変換先のユニコードの区点情報（ＵＴＦ−３２の下位２バイト）を格納している。ここにおいて、ユニコードにおける漢字追加面は第２面固定であり、追加面の情報（ＵＴＦ−３２の上位２バイト）は省略する。
【００５５】
この追加面変換テーブル３２ａは、上述した基本多言語面変換テーブル３１ａにおける第１情報量（第１バイト数など）の第２コード群（[ ３０００ｈ] など）の内、予め定められた範囲内にある（第１情報量の）特定範囲コード（Ｄ８００ｈ〜ＤＦＦＦｈなど）と、前記第２情報量より少ない第３情報量（本第１実施形態では、第３情報量＝第１情報量＝第１バイト数である２バイトとなっている）の第１中間コード（０００Ｂｈなど）とが対応づけられたデータ構造を備えている。つまり、この追加面変換テーブル３２ａは、前記第３情報量が前記第１情報量と同一となる情報量で構成されている。
【００５６】
更に詳述すると、追加面変換テーブル３２ａは、前述した基本多言語面変換テーブル３１ａにおける第１バイト数の第２コード（３０００ｈなど）が予め定められた範囲内となる特定範囲第１バイト数第２コード（Ｄ８００ｈ〜ＤＦＦＦｈなど）を、少なくとも２つの上位バイト及び下位バイト毎に分解した第２コード分解上位バイト数（上位１バイトなど）の一の分解特定範囲第２コード（Ｄ８ｈなど）及び第２コード分解下位バイト数（下位１バイトなど）の他の分解特定範囲第２コード（０１ｈなど）と、変換先の（前記第１バイト数の）第１中間コード（００８８ｈなど）とが対応づけられているデータ構造を備えている。
【００５７】
ここで、この追加面変換テーブル３２ａは、前述した基本多言語面変換テーブル３１ａにおける前記要素の一部（Ｄ８００ｈ〜ＤＦＦＦｈなど）と前記第２情報量より少ない第３情報量の第１中間コード（０００Ｂｈなど）とが対応づけられて前記第３情報量の値を要素とするデータ構造を備えている。
【００５８】
そして、この追加面変換テーブル３２ａは、記憶装置３０での実装上は、変換元の２バイト値の昇順で表の要素である２バイト値を連続して格納したイメージとなる。又、漢字追加面に対応する文字が少ない場合、要素数は必要に応じて少なくすることができる。
【００５９】
（コード変換装置の具体的構成）
コード変換装置２０Ａは、図１に示すように、第１コードの一例である漢字２バイトコードから第２コードの一例であるユニコード（２バイトコードと４バイトコードの混在）へ変換を行うにあたり、必要最低限のメモリ容量で高速にコード変換を行うものであり、基本多言語面変換部２１と、追加面変換部２２と、ユニコード面区点生成部２３と、ユニコードＵＴＦ−１６符号化部２４とを備えている。
【００６０】
即ち、コード変換装置２０Ａは、追加面変換部２２から得られる２バイトから、ユニコード面区点生成部２３とユニコードＵＴＦ−１６符号化部２４とにより、漢字追加面のユニコード（４バイト）を出力する機能を備える。
換言すると、コード変換装置２０Ａは、予め１つの文字情報に対して割り当てられている第１情報量（第１バイト数の一例である２バイト）の第１コードを入力し、この第１コードを基本多言語面変換テーブル３１ａ及び追加面変換テーブル３２ａの一方又は双方を参照することにより、前記第１コードと異なるコード体系であって前記文字情報に対して前記第１情報量の場合又はこれより多い第２情報量（第２バイト数の一例である４バイト）の場合が存在し得る第２コードに変換して、これを出力する機能を備えている。
【００６１】
ここで、基本多言語面変換部２１は、入力装置１０から与えられた２バイトの値をキーにして基本多言語面変換テーブル記憶部３１に記憶されている値を取得する機能を備えている。
【００６２】
又、追加面変換部２２は、Ｄ８００ｈ〜ＤＦＦＦｈの値をキーにして追加面変換テーブル記憶部３２に記憶されている値（第１中間コード）を取得する機能を備えている。そして、この追加面変換部２２は、コード変換に際しては追加面変換テーブル記憶部３２を参照する。
更に、この追加面変換部２２は、基本多言語面変換部２１で、Ｄ８００ｈ〜ＤＦＦＦｈの値を取得したときのみ使用する。追加面変換テーブル記憶部３２は、Ｄ８００ｈ〜ＤＦＦＦｈの１コードにつき２バイトで構成し、Ｄ８００ｈ〜ＤＦＦＦｈの値で、直接参照可能とする。
【００６３】
ユニコード面区点生成部２３は、追加面変換部２２で参照した値（第１中間コード）をＵＴＦ−３２における下位２バイトとし、上位２バイトに漢字追加面を示す固定値を付加して第２中間コードとする機能を備えている。
又、ユニコードＵＴＦ−１６符号化部２４は、上記ユニコード面区点生成部２３で生成したＵＴＦ−３２の値（第２中間コード）をＵＴＦ−１６のサロゲートペア（４バイト）の値（第２コード）に変換する機能を備えている。
【００６４】
更に、前述した基本多言語面変換部２１は、基本多言語面変換テーブル３１ａを参照して得られる前記第１情報量の第２コードが前記範囲内であるかどうかを判定すると共に当該範囲外と判定された場合に稼働して前記第１コードを前記第１情報量の第２コードに変換してこれを出力する機能を備えている。
【００６５】
又、追加面変換部２２は、上記基本多言語面変換部２１において前記範囲内であると判定された場合に稼働し、前記追加面変換テーブル３２ａを参照して前記特定範囲コードを前記第３情報量の第１中間コードに変換する機能を備えている。
【００６６】
ここで、ユニコード面区点生成部２３とユニコードＵＴＦ−１６符号化部２４とにより変換後処理手段２９ａが構成されている。
この変換後処理手段２９ａは、第３情報量の前記第１中間コードに予め定められた演算処理を施して前記第２情報量の前記第２コードを生成してこれを出力する機能を備えている。
【００６７】
更に、上記追加面変換部２２は、追加面変換テーブル３２ａを参照して前記特定範囲コードを前記第１情報量の第１中間コードに変換する機能を備えている。
この場合、ユニコード面区点生成部２３は、前記追加面変換部２２にて得られた前記第１情報量の第１中間コードに対して予め定められた演算処理を施して前記第２情報量の第２中間コードを生成する機能を備えている。
【００６８】
又、前記符号化部の第１の符号化機能としてのユニコードＵＴＦ−１６符号化部２４は、ユニコード面区点生成部２３で生成された前記第２情報量の第２中間コードに対して符号化結果が前記第２情報量となる第１の符号化形式で符号化処理を施し、これにより、前述した第２コードを出力する機能を備えている。
【００６９】
更に、上記追加面変換部２２は、前記上位バイトの一の分解特定範囲第２コードの値と前記下位バイトの他の分解特定範囲第２コードの値から前記追加面変換テーブル３２ａの要素を格納している位置を計算し、前述した第１中間コードの値を求める機能を備えている。
【００７０】
又、上記ユニコード面区点生成部２３は、前記追加面変換部２２にて得られた第１中間コードを下位バイトとし、予め定められた第１固定値を上位バイトとしてこれを前記下位バイトに付加する機能を備えている。
【００７１】
ここで、前記第１コードが漢字コードであり、前記第２コードが前記第１の符号化形式のユニコードである場合、前述した第１固定値は、前記第１の符号化形式と異なる第３の符号化形式のユニコードの漢字追加面を示す値である。
又、前記第１の符号化形式は、ＵＴＦ（Ｕniversal multi octet coded characterset Ｔransformation Ｆormat ）―１６であり、前記第３の符号化形式は、ＵＴＦ―３２である。
【００７２】
（動作手順について）
（全体の動作）
次に、上記コード変換システムの全体の動作について、図１乃至図５を参照しつつ説明する。
【００７３】
本実施形態におけるコード変換システム１は、図１に示したように、１つの文字情報に対して割り当てられている第１情報量の第１コードと前記第１情報量の第２コードとが対応づけられて前記第１情報量の値を要素とする基本多言語面変換テーブル３１ａと、前記要素の一部と前記第２情報量より少ないバイト数の第３情報量の第１中間コードとが対応づけられて前記第３情報量の値を要素とする追加面変換テーブル３２ａとを記憶装置３０が予め備えている。
【００７４】
このコード変換システム１のコード変換動作に際しては、先ず、前記第１情報量の第１コードを、入力装置１０が入力する（図４／ステップＳ１０１；入力処理ステップ、入力処理機能）。
【００７５】
続いて、この入力された第１コードを基本多言語面変換テーブル３１ａ及び追加面変換テーブル３２ａの一方又は双方を参照することにより前記第１コードと異なるコード体系であって前記文字情報に対して前記第１情報量の場合又はこれより多いバイト数の第２情報量の場合が存在し得る第２コードに、コード変換装置２０Ａがコード変換する（図４／ステップＳ１０２；コード変換ステップ、コード変換機能）。
【００７６】
その後、この変換された前記第１情報量又は前記第２情報量の第２コードを、出力装置４０が出力する（図４／ステップＳ１０３；出力処理ステップ、出力処理機能）。
【００７７】
ここで、前記変換をするに際しては、前述した基本多言語面変換テーブル３１ａを参照した結果が前記要素の一部の範囲である場合に、次に、追加面変換テーブル３２ａを参照して前記第３情報量の第１中間コードを出力すると共に、この第３情報量の前記第１中間コードに予め定められた演算処理を施して、前記第２情報量の第２コードを生成し、これを出力する（図５／ステップＳ１１１〜Ｓ１１５）。
【００７８】
更に、このコード変換における動作手順では、追加面変換テーブル３２ａが、基本多言語面変換テーブル３１ａにおける前記第１情報量の第２コード群の内の予め定められた範囲内にある特定範囲コードと前記第２情報量より少ないバイト数の第３情報量の第１中間コードとが対応づけられたデータ構造を備えている場合、コード変換に際しては、先ず、基本多言語面変換テーブル３１ａを参照して得られる第１情報量の第２コードが前記範囲内であるかどうかを判定すると共に、当該範囲外と判定された場合に稼働し前記第１コードを第１情報量の第２コードに基本多言語面変換部２１が第１の変換処理をして出力する（図５／ステップＳ１１１〜Ｓ１１２；第１の変換処理ステップ、第１の変換機能）。
【００７９】
続いて、前記第１の変換処理において前記範囲内であると判定された場合に、追加面変換テーブル３２ａを参照して追加面変換部２２が前記特定範囲コードを前記第３情報量の第１中間コードに変換する第２の変換処理工程を実行する（図５／ステップＳ１１３；第２の変換処理ステップ、第２の変換機能）。
【００８０】
その後、この第３情報量の第１中間コードに予め定められた演算処理を施し、前記第２情報量の第２コードを、変換後処理手段２９ａが生成処理してこれを出力する変換後処理工程を実行する（図５／ステップＳ１１４〜Ｓ１１５；変換後処理ステップ、変換後処理機能）。
【００８１】
更に、このコード変換における動作手順では、前記第２の変換処理を実行するに際しては、前記追加面変換テーブル３２ａにおける第３情報量が前記第１情報量と同一となる場合に、前記追加面変換テーブル３２ａを参照してその特定範囲コードを前記第１情報量の第１中間コードに変換する。
【００８２】
又、前記変換後処理工程の実行するに際しては、先ず、前記第２の変換処理にて得られた第１情報量の第１中間コードに対して予め定められた演算処理を施し、前記第２情報量の第２中間コードを生成する第１の生成処理を変換後処理手段２９ａが実行する（図５／ステップＳ１１４；第１の生成処理ステップ，第１の生成機能）。
【００８３】
続いて、この第１の生成処理にて生成された前記第２情報量の第２中間コードに対して予め設定されている符号化形式で符号化処理を施し前記第２コードを出力する符号化処理を、変換後処理手段２９ａが実行する（図５／ステップＳ１１５；符号化処理ステップ、符号化処理機能である第１の符号化機能）。
【００８４】
更に、このコード変換における動作手順では、前記符号化処理の実行に際しては、前記第１の生成処理にて生成された第２情報量の第２中間コードに対して、符号化結果が前記第２情報量となる第１の符号化形式で符号化処理を施し、前記第２コードを出力する第１の符号化処理を変換後処理手段２９ａが実行する。
【００８５】
（詳細動作）
以下、この動作手順を更に詳述する。
まず、入力装置１０から与えられた漢字文字列は、２バイトごとの値に分けて基本多言語面変換部２１に供給される。
基本多言語面変換部２１は、供給された２バイトを上位１バイトと下位１バイトに分解し、上位バイトと下位バイトの値から基本多言語面変換テーブル記憶部３１における要素（変換元の２バイトコードに対応する変換先のＵＴＦ−１６の値）を格納している位置を計算した後、要素を取得する（図５／ステップＳ１１１；第１バイト第２コード取得ステップ、第１バイト第２コード取得機能）。
【００８６】
次に、基本多言語面変換部２１が取得した値についてＤ８００ｈ〜ＤＦＦＦｈの範囲にあるか調べる（図５／ステップＳ１１２；範囲判定ステップ、範囲判定機能）。
この図５のステップＳ１１２で、基本多言語面変換部２１で取得した値が、Ｄ８００ｈ〜ＤＦＦＦｈの範囲外であった場合、この値がユニコード（ＵＴＦ−１６）の変換結果であるため変換は完了する。
【００８７】
一方、基本多言語面変換部２１で取得した値が、Ｄ８００ｈ〜ＤＦＦＦｈの範囲内であった場合、この値を追加面変換部２２に供給する。
続いて、追加面変換部２２は、供給された２バイトを上位１バイトと下位１バイトに分解し、上位バイトと下位バイトの値から追加面変換テーブル記憶部３２における要素（変換元の２バイトに対応する変換先のＵＴＦ−３２の下位２バイトの値）を格納している位置を計算した後、要素を取得する（図５／ステップＳ１１３：第１中間コード取得ステップ、第１中間コード取得機能）。
【００８８】
更に、追加面変換部２１が取得した値は、ユニコード面区点生成部２３へ供給する。
次に、このユニコード面区点生成部２３は、供給された２バイトをＵＴＦ−３２における下位２バイトとし、上位２バイトには漢字追加面を示す０００２ｈ（固定値）を追加してユニコード（Ｕｎｉｃｏｄｅ）の面区点を表す値（ＵＴＦ−３２符号化形式）を生成する（図５／ステップＳ１１４：第２中間コード生成ステップ、第２中間コード生成機能）。
【００８９】
その後、ユニコード面区点生成部２３が生成した値は、ユニコードＵＴＦ−１６符号化部２４に供給する。
ユニコードＵＴＦ−１６符号化部２４では、供給されたＵＴＦ−３２の４バイトを元にＵＴＦ−１６のサロゲートペアの４バイトに符号化する（図５／ステップＳ１１５；第２バイト第２コード生成ステップ、第２バイト第２コード生成機能）。
これにより、ユニコードＵＴＦ−１６符号化部２４による符号化の結果が変換結果であるため、変換は完了する。
【００９０】
このようにして、変換先が漢字追加面のユニコード（Ｕｎｉｃｏｄｅ／４バイト）となる場合のみ、追加面変換部２２が稼動するため、実行コストが抑えられる。又、追加面変換部２２は、追加面変換テーブル記憶部３２の検索ではなく、参照して変換先の値を取得するため、追加面変換部２２の実行コストも抑えることができる。
【００９１】
ここで、基本多言語面変換テーブル記憶部３１のテーブルサイズは一般に２バイトコードから２バイトコードへのコード変換で使用する関連技術の図１０のコード変換テーブルＴ１のサイズと同じである。更に、追加面変換テーブル記憶部３２のテーブルサイズは、漢字追加面の漢字数×２バイトであり、記憶装置３０の記憶使用容量の増加を抑えることができる。
【００９２】
次に、上記第１実施形態の効果について詳述する。
第１の効果は、漢字２バイトコードからユニコード（２バイトコードと４バイトコードの混在）へ変換するコード変換テーブルのサイズが一般的なコード変換テーブルを使用した場合に比べて約５０〔％〕程度削減できることである。
【００９３】
その理由は、一般的なコード変換テーブルを使用した場合、変換元の漢字１文字に対応する１つの要素が４バイトであるのに対し、本第１実施形態のコード変換テーブルは１つの要素が２バイトのためである。
即ち、本第１実施形態では、基本多言語面変換テーブル記憶部３１におけるテーブル構造が、図１０に示される関連技術と同じように２バイトの要素の連続にて構成されている。このため、基本多言語面変換テーブル記憶部３１を図１１のように４バイトの要素の連続で構成した場合に比較して、基本多言語面変換テーブル記憶部３１のテーブルサイズ（即ち、記憶容量）を１／２にすることができる。
【００９４】
具体的には、ユニコードの漢字追加面に収容されている漢字へ変換するために追加で用意するコード変換テーブルのサイズは、追加面に収容されている漢字の数×２バイトのサイズで済むためである。
【００９５】
例えば、変換元の漢字２バイトコードが１７３６９（９４×９４×２）個あり、このうち漢字追加面のユニコード（Ｕｎｉｃｏｄｅ）へ変換する文字が３０３文字あり、これ以外の文字を基本多言語面のユニコード（Ｕｎｉｃｏｄｅ）へ変換する場合、一般的なコード変換テーブルを使用すると、１７３６９×４＝６９４７６バイト必要となる。
これに対して、本第１実施形態のコード変換テーブルを使用すると、１７３６９×２＋３０３×２＝３５３４４バイトであり、本発明のコード変換テーブルを使用した場合、一般的なコード変換テーブルを使用した場合の約５０％のサイズとなる。
【００９６】
第２の効果は、基本多言語面の文字コードにコード変換する場合、漢字２バイトコードからユニコード（Ｕｎｉｃｏｄｅ／２バイト固定長）のコード変換と同等の速度でコード変換できることである。
【００９７】
その理由は、漢字追加面のユニコード（Ｕｎｉｃｏｄｅ）へ変換が必要なときのみ、漢字追加面への変換処理を行うためである。
関連技術のコード変換においても、基本多言語面のコード変換テーブルと追加面のコード変換テーブルを分け、テーブルサイズを小さくする手法が存在するが、この場合、１文字の変換ごとに、変換元の文字コードが漢字追加面のコード変換対象でないか、漢字追加面のコード変換テーブルを検索し、漢字追加面のコード変換対象でないこと確認した後に基本多言語面テーブルを参照するため、基本多言語面へのコード変換であってもコード変換の速度が落ちる。
【００９８】
即ち、本第１実施形態では、漢字追加面の文字コードへ変換するための追加面変換部２２、ユニコード面区点生成部２３、及びユニコードＵＴＦ−１６符号化部２４は、追加面の文字コード（４バイト）へコード変換するときのみ稼働する。
基本多言語面変換部２１は、関連技術と同一の変換機能を採用することもできるため、関連技術のＵＴＦ−１６（２バイト）への変換は、関連技術と同等の速度で変換することができる。
【００９９】
第３の効果は、漢字追加面の文字コードにコード変換する場合でも高速にコード変換できることにある。
その理由は、漢字追加面の文字コードにコード変換する場合、１回の基本多言語面変換テーブル３１ａの参照と、１回の追加面変換テーブル３２ａの参照と、１回の面区点生成処理と、１回のユニコード符号化処理で変換結果が得られるためである。
【０１００】
ここで、面区点生成処理とユニコード符号化処理は単純な処理で実現できる。関連技術の場合のコード変換では、変換元の漢字２バイトコードをキーとした追加面変換テーブルの検索処理が発生するため、コード変換の速度が落ちる。
このように、本第１実施形態では、追加面変換部２２は、追加面変換テーブル記憶部３２を検索するのではなく、基本多言語面変換部２１と同様の手法で追加面変換テーブル記憶部３２を参照して値を取得する。このため、検索キーを元に追加面変換テーブル記憶部３２を検索する場合に比して、変換結果を高速に取得することができる。
【０１０１】
また、本第１実施形態では、追加面変換テーブル記憶部３２に記録する要素が追加面１文字の変換につき２バイトで済む。このため、追加面変換テーブル記憶部３２のテーブルサイズを図１３（関連技術）で示されるコード変換テーブルＴ４に比して、１／３のテーブルサイズ（記憶容量）とすることができる。
【０１０２】
以上のように、追加面変換テーブル３２ａは第２情報量より少ない第３情報量を要素として構成され、第２情報量の第２コードを生成するためのコード変換では、追加面変換テーブル３２ａを参照して第３情報量の第１中間コードを出力しこれに予め定められた演算処理を施して前記第２情報量の第２コードを生成するため、関連技術のような第２情報量の変換テーブルを構成する必要がなく、「 ＪＩＳ  Ｘ  ０２１３：２００４」に対応する日本語コードをサロゲートペアの拡張機能を有するユニコードにコード変換するに際し、変換テーブルの格納領域を最小限にして比較的少ないメモリ容量の組み込み機器などコード変換を実装する装置に変換テーブルを搭載可能としながらも、コード変換にかかる処理時間の短縮化が可能となり、変換処理の高速化を図ることができる。
【０１０３】
さらに、漢字２バイトコードからユニコードへ変換するとき、基本多言語面変換部２１が参照する基本多言語面変換テーブル記憶部３１において、漢字２バイトコードに対応したユニコード（ＵＴＦ―１６符号化形式の２バイトコード）を予め格納する。そして、この基本多言語面変換テーブル記憶部３１において、変換先が漢字追加面のユニコード（４バイトコード）となる文字の変換では、文字が割り当てられることのないサロゲートペアで使われるコード範囲（Ｄ８００ｈ〜ＤＦＦＦｈ）の２バイト値を割り当てて、これを格納する。
【０１０４】
また、追加面変換部２２については、これを基本多言語面変換部２１で（Ｄ８００ｈ〜ＤＦＦＦｈ）の値を取得したときのみ使用する。この場合、追加面変換部２２は、追加面変換テーブル記憶部３１を参照し、追加面変換テーブル記憶部３１は（Ｄ８００ｈ〜ＤＦＦＦｈ）の１コードにつき２バイトで構成し、（Ｄ８００ｈ〜ＤＦＦＦｈ）の値で直接参照可能とし、追加面変換部２２から得られる２バイトから、ユニコード面区点生成部２３とユニコードＵＴＦ−１６符号化部２４とにより漢字追加面のユニコード（Ｕｎｉｃｏｄｅ／４バイト）を出力する。
【０１０５】
これにより、ユニコード（Ｕｎｉｃｏｄｅ）の基本多言語面のサロゲートペアのコード範囲（Ｄ８００ｈ〜ＤＦＦＦｈ）を追加面変換テーブル３２ａを指す値として利用でき、当該追加面変換テーブル３２ａを２バイトで構成し、漢字２バイトコードからユニコード（Ｕｎｉｃｏｄｅ／ＪＩＳ  Ｘ  ０２１３：２００４）に変換対応するための使用メモリの増加を確実に抑えることができる。また、追加面変換テーブル３２ａを検索せず、参照することで、漢字追加面のユニコード（Ｕｎｉｃｏｄｅ）へ変換する場合も高速にコード変換できる。
【０１０６】
以上、ブロック図における構成要素たる各手段及び各部が、電子回路ブロックなどからなるハードウエアであることを前提として述べたが、当該構成要素の一部又は全てが、コード変換装置２０Ａが備えたコンピュータにより実行可能なプログラムにより機能化された状態を示すソフトウエアモジュール構成であってもよい。
【０１０７】
この場合におけるハードウエア構成としては、制御部としてのプロセッサを備えている。即ち、物理的構成は例えば一又は複数のプロセッサと一又は複数のメモリ等であるが、各構成要素によるソフトウエア構成は、プログラムの制御によってプロセッサが発揮する複数の機能を、それぞれ複数の構成要素として表現したものとなる。
【０１０８】
プロセッサがプログラムによって実行されている動的状態（プログラムを構成する各手順を実行している状態）を機能表現した場合、プロセッサ内に実行部分にかかる各構成要素が構成されることになる。プログラムが実行されていない静的状態にあっては、各手段の構成を実現するプログラム全体（或いは各手段の構成に含まれるプログラム各部）は、メモリなどの記憶領域に記憶されている。
【０１０９】
以上に示した各部（手段）は、プログラムにより機能化されたコンピュータをプログラムの機能と共に実現し得るように構成しても、また、固有のハードウエアにより恒久的に機能化された複数の電子回路ブロックからなる装置で構成してもよい。
【０１１０】
また、上記の説明において、上述した各ステップの動作内容及び各部の構成要素並びにそれらによる各機能をプログラム（ソフトウエアプログラム）化し、コンピュータに実行させてもよい。そして、以上説明した方法は、コンピュータがプログラムを記録媒体から読み込んで実行することによっても実現することが出来る。すなわち、上述のプログラムを、情報記録媒体に記録した構成であってもよい。
【０１１１】
〔第２の実施の形態〕
次に、本発明にかかるコード変換システムの第２の実施の形態を、図６乃至図７に基づいて説明する。
図６は、本第２実施形態にかかるコード変換システムを示すブロック図である。
【０１１２】
この図６において、本第２実施形態では、コード変換システム１００におけるコード変換装置２０Ｂが、上述した第１実施形態のコード変換装置２０Ａの構成の内、ユニコード０面区点生成部２５が追加されている点と、ユニコードＵＴＦ−１６符号化部２４がユニコードＵＴＦ−８符号化部２６に置き代わっている点が異なる。
【０１１３】
（詳細構成）
上述したコード変換システムのユニコード０面区点生成部２５は、基本多言語面変換部２１で参照した値をＵＴＦ−３２における下位２バイトとし、上位２バイトに基本多言語面を示す固定値を付加する。
【０１１４】
又、ユニコードＵＴＦ−８符号化部２６は、ユニコード面区点生成部２３もしくはユニコード０面区点生成部２５で生成した面区点情報（ＵＴＦ−３２符号化形式）をＵＴＦ−８（１〜４バイト）の値に変換する。
【０１１５】
更に、符号化部の一部である第２の符号化機能としてのユニコードＵＴＦ−８符号化部２６は、前記第１の生成部としてのユニコード面区点生成部２３にて生成された前記第２情報量の第２中間コードに対して符号化結果の情報量が可変長となる第２の符号化形式（ＵＴＦ−８）で符号化処理を施して前記第２コードを出力する機能を備えている。
【０１１６】
ここで、ユニコード面区点生成部２３とユニコード０面区点生成部２５とユニコードＵＴＦ−８符号化部２６とで、変換後処理手段２９ｂを構成している。
この変換後処理手段２９ｂは、前記基本多言語面変換部２１から得られた前記範囲外の第１情報量の第２コードに対して予め定められた演算処理を施して第２情報量の第３中間コードを生成する第３の生成部としてのユニコード０面区点生成部２５を備えている。
【０１１７】
前記ユニコードＵＴＦ−８符号化部２６は、ユニコード０面区点生成部２５にて生成された第２情報量の第３中間コードに対して、符号化結果の情報量が可変長となる前記第２の符号化形式で符号化処理を施し、第２コードを出力する機能を更に備えている。
【０１１８】
更に、第３の生成部としてのユニコード０面区点生成部２５は、基本多言語面変換部２１にて得られた第１バイト数の第２コードを下位バイトとし、予め定められた第２固定値を上位バイトとして前記下位バイトに付加する機能を備えている。
ここで、前記第２固定値は、前記第３の符号化形式（ＵＴＦ−３２）のユニコードの基本多言語面を示す値である。
【０１１９】
又、ユニコードＵＴＦ−８符号化部２６は、前記第１バイト数の第２コードを下位バイトとし予め定められた第２固定値を上位バイトとして前記下位バイトに付加してなる前記第３の符号化形式の値を、符号化結果の情報量が可変長となる第２の符号化形式のユニコードに変換して出力する機能を備えている。
【０１２０】
又、前記第１の生成部であるユニコード面区点生成部２３は、前記追加面変換部２２にて得られた第１中間コードを下位バイトとし、予め定められた第１固定値を上位バイトとして前記下位バイトに付加する機能を備えている。
【０１２１】
ここで、前記第１コードが漢字コードであり、前記第２コードが第１の符号化形式又は第２の符号化形式のユニコードであり、前記第１固定値は前記第１の符号化形式及び前記第２の符号化形式と異なる第３の符号化形式（ＵＴＦ−３２）のユニコードの漢字追加面を示す値である。
更に、前記第１の符号化形式はＵＴＦ（Ｕneversal multi octet coded characterset Ｔransformation Ｆormat ）―１６であり、前記第２の符号化形式はＵＴＦ―８であり、前記第３の符号化形式はＵＴＦ―３２であるとする。
【０１２２】
（動作手順）
次に、図７のフローチャートを参照して本第２実施形態の動作について説明する。
【０１２３】
まず、本第２実施形態に係るコード変換システムにおける動作手順では、第１実施形態にかかる基本的手順（図５／ステップＳ１１１〜Ｓ１１５）において、前記符号化処理を実行するに際しては、第１の生成処理にて生成された第２情報量の第２中間コードに対して、符号化結果の情報量が可変長となる第２の符号化形式で符号化処理を施して、第２コードを出力する第２の符号化処理を実行する（図７／ステップＳ２０６；第２の符号化処理ステップ，第２の符号化機能）。
ここで、図７のステップＳ２０１〜Ｓ２０４は、前述した図５のステップＳ１１１〜Ｓ１１５と同一である。
【０１２４】
本第２実施形態に係るコード変換システムにおける動作手順では、第１実施形態にかかる基本的手順において、前記変換後処理を実行するに際しては、前記第１の変換処理から得られた前記範囲外の前記第１情報量の第２コードに対して予め定められた演算処理を施して前記第２情報量の第３中間コードを生成する第３の生成処理を、更に実行する（図７／ステップＳ２０５；第３の生成処理ステップ、第３の生成機能）。
【０１２５】
又、前記第２の符号化処理の実行に際しては、上記第３の生成処理にて生成された前記第２情報量の第３中間コードに対して、符号化結果の情報量が可変長となる前記第２の符号化形式で符号化処理を施し、前記第２コードを出力する。
【０１２６】
以下、これを更に詳述する。
まず、基本多言語面変換部２１で取得した値が、Ｄ８００ｈ〜ＤＦＦＦｈの範囲内にある場合は、前記第１実施形態と同様に、この値を追加面変換部２２に供給する。
又、基本多言語面変換部２１で取得した値がＤ８００ｈ〜ＤＦＦＦｈの範囲外であった場合（図７に示すステップＳ２０１の「Ｎｏ」）、この値をユニコード０面区点生成部２５に供給する。
【０１２７】
次に、ユニコード０面区点生成部２５では、供給された２バイトをＵＴＦ−３２の下位２バイトとし、上位２バイトに、基本多言語面を示す００００ｈを追加してユニコードの面区点を表す値（ＵＴＦ−３２符号化形式）を生成する（図７／ステップＳ２０５）。
【０１２８】
続いて、ユニコード０面区点生成部２５が生成した値は、ユニコードＵＴＦ−８符号化部２６に供給する。その後、ユニコードＵＴＦ−８符号化部２６は、供給されたＵＴＦ−３２の４バイトを、ＵＴＦ−８（１〜４バイトの可変長）に符号化して出力する（図７／ステップＳ２０６）。
【０１２９】
次に、本第２実施形態の効果について説明する。
本第２実施形態では、基本多言語面変換部２１や追加面変換部２２で取得した値をＵＴＦ−３２の値とした上で、ユニコードＵＴＦ−８符号化部２６に供給するように構成されている。このため、漢字２バイトコードからユニコード（ＵＴＦ−８）へ変換することができる。
【０１３０】
また、本第２実施形態では、さらに、記憶装置３０上に格納する基本多言語面変換テーブル記憶部３１及び追加面変換テーブル記憶部３２、又これらを参照する基本多言語面変換部２１及び追加面変換部２２は、第１実施形態に係るユニコード（ＵＴＦ−１６）の変換と同一の構成となる。
このため、ＵＴＦ−１６とＵＴＦ−８の変換で変換部と変換テーブルとを供用でき、従って、コード変換テーブルを増やすことなくＵＴＦ−８の変換を行うことができる。
【０１３１】
その他の構成およびその他のステップないしは機能並びにその作用効果については、前述した第１の実施形態と同一となっている。
また、上記の説明において、上述した各ステップの動作内容及び各部の構成要素並びにそれらによる各機能をプログラム化（ソフトウエアプログラム）し、コンピュータに実行させてもよい。
【０１３２】
〔第３の実施の形態〕
次に、本発明にかかる第３の実施形態について、図８乃至図１０に基づいて説明する。
【０１３３】
図８において、本第３実施形態にかかるコード変換システム２００は、コード変換装置２０Ｃが、図１に開示した第１実施形態におけるコード変換装置２０Ａにおいて、追加面変換部２２を追加面Ｎ変換部２７に置き代えた点と、ユニコード面区点生成部２３をユニコードＮ面区点生成部２８に置き代えた点が異なる。更に、図８に示すように、記憶装置３０では、図１に開示した第１実施形態における記憶装置３０における追加面変換テーブル記憶部３２を追加面Ｎ変換テーブル記憶部３８とした点が異なる。
【０１３４】
上記追加面Ｎ変換部２７は、コード変換の実行に際しては、Ｄ８００ｈ〜ＤＦＦＦｈの値をキーにして追加面Ｎ変換テーブル記憶部３８に記憶されている値を参照する。
ユニコードＮ面区点生成部２８は、３バイトの値を受け取り、この値をＵＴＦ−３２における下位３バイトとし、上位１バイトに００ｈを付加する。
【０１３５】
ここで、上記追加面Ｎ変換テーブル記憶部３８における追加面変換テーブル３８ａは、図９に示すように、上位１バイトをＤ８ｈ〜ＤＦｈ、下位１バイトを００ｈ〜ＦＦｈの範囲をもつ２バイトに対応したマトリックス表を備えており、それぞれの要素に変換先のユニコードの面区点の情報（ＵＴＦ−３２の下位３バイト）を格納している。
ここで、記憶装置３０の実装上は、変換元の２バイト値の昇順で表の要素である３バイトを連続して格納したイメージとなる。
【０１３６】
ここで、前記追加面変換テーブル３８ａは、前記第３情報量が、前記第１情報量（第１バイト数の一例である２バイト）より多く且つ前記第２情報量（第２バイト数の一例である４バイト）より少ない情報量（３バイト）で構成されている。
【０１３７】
これを更に詳述すると、追加面変換テーブルの一例である第３変換テーブルとしての追加面Ｎ変換テーブル３８ａは、前記基本多言語面変換テーブル３１における前記第１バイト数の第２コードが予め定められた範囲内となる特定範囲第１バイト数第２コードを、少なくとも２つの上位バイト及び下位バイト毎に分解した第２コード分解上位バイト数（上位１バイト）の一の分解特定範囲第２コード（Ｄ８ｈなど）及び第２コード分解下位バイト数（下位１バイト）の他の分解特定範囲第２コード（００ｈなど）と、変換先となる前記第１バイト数と前記第２バイト数の間の第３バイト数（３バイトなど）の第１中間コードの一例である第４中間コード（０２０００Ｂｈなど）とが、対応づけられているデータ構造を備えている。
【０１３８】
又、前述した追加面Ｎ変換部２７は、前記追加面Ｎ変換テーブル３８ａを参照して前記特定範囲コードを前記第３情報量（３バイト）の前記第１中間コードに変換する機能を備えている。
【０１３９】
ここで、ユニコードＮ面区点生成部２８とユニコードＵＴＦ−１６符号化部２４とで、変換後処理手段２９ｃが構成されている。
そして、この変換後処理手段２９ｃが、前述した追加面Ｎ変換部２７にて得られた前記第３情報量の第１中間コードに対して予め定められた演算処理を施して、前記第２情報量の第２中間コードを生成する第２の生成部であるユニコードＮ面区点生成部２８を備えている。
【０１４０】
更に、この変換後処理手段２９ｃは、このユニコードＮ面区点生成部２８（第２の生成部）で生成された前記第２情報量の第２中間コードに対して、予め設定されている符号化形式で符号化処理を施し、前記第２コードを出力する符号化部であるユニコードＵＴＦ−１６符号化部２４を備えている。
その他の構成は、前述した第１実施形態と同一となっている。
【０１４１】
（動作手順）
次に、本第３実施形態の動作を図１０に基づいて説明する。
先ず、本第３実施形態では、前述した第１実施形態における基本的動作手順において、前記第２の変換処理を実行するに際しては、前記追加面Ｎ変換テーブル３８ａにおける前記第３情報量が前記第１情報量より多く前記第２情報量より少ない場合に、前記追加面Ｎ変換テーブル３８ａを参照して前記特定範囲コードを前記第３情報量の第１中間コードに変換する（図１０／ステップＳ３０３；第２の変換処理ステップ、第２の変換機能）。
【０１４２】
更に、前記変換後処理を実行するに際しては、先ず、前記第２の変換処理にて得られた前記第３情報量の第１中間コードに対して予め定められた演算処理を施して前記第２情報量の第２中間コードを生成する第２の生成処理を実行する（図１０／ステップＳ３０４；第２の生成処理ステップ、第２の生成機能）。
【０１４３】
続いて、この第２の生成処理にて生成された前記第２情報量の第２中間コードに対して予め設定されている符号化形式で符号化処理を施し、前記第２コードを出力する符号化処理を実行する（図１０／ステップＳ３０５；符号化処理ステップ、符号化処理機能）。
【０１４４】
以下、これを詳述する。
まず、基本多言語面変換部２１で取得した値が、Ｄ８００ｈ〜ＤＦＦＦｈの範囲内にある場合は、この値を追加面Ｎ変換部２７に供給する。
【０１４５】
次に、追加面Ｎ変換部２７は、供給された２バイトを上位１バイトと下位１バイトに分解し、上位バイトと下位バイトの値から追加面Ｎ変換テーブル記憶部３８における要素（変換元の２バイトに対応する変換先のＵＴＦ−３２の下位３バイトの値）を格納している位置を計算した後、要素を参照し、これを取得する（図１０／ステップＳ３０３）。
【０１４６】
この追加面変換部２２で取得した値は、ユニコードＮ面区点生成部２８へ供給する。続いて、ユニコードＮ面区点生成部２８は、供給された３バイト（面区点情報）をＵＴＦ−３２における下位３バイトとし、上位１バイトに００ｈ（固定値）を追加してユニコードのＵＴＦ−３２の値を生成する（図１０／ステップＳ３０４）。
その後、ユニコードＮ面区点生成部２８で取得した値は、ユニコードＵＴＦ−１６符号化部２４に供給する。
【０１４７】
次に、上記第３実施形態の効果について説明する。
この第３実施形態では、追加面Ｎ変換テーブル記憶部３８における追加面Ｎ変換テーブル３８ａについて、追加面変換テーブル３２ａの要素のそれぞれに面の情報を付加した構造である。
このため、変換先のユニコードを追加漢字面（第２面）のみでなく、追加面に収容されている他の文字にも変換することができる。
【０１４８】
その他の構成およびその他のステップないしは機能並びにその作用効果については、前述した第１実施形態の場合と同一となっている。
また、上記の説明において、上述した各ステップの動作内容及び各部の構成要素並びにそれらによる各機能をプログラム化（ソフトウエアプログラム）し、コンピュータに実行させるように構成してもよい。
【０１４９】
〔その他の各種変形例〕
また、本発明にかかる装置及び方法は、そのいくつかの特定の実施の形態に従って説明してきたが、本発明の主旨および範囲内において本発明の本文に記述した実施の形態に対して種々の変形が可能である。
【０１５０】
ところで、このような装置、システムは、単独で存在する場合もあるし、ある機器（例えば電子機器の機能として組み込まれているなど）に組み込まれた状態で利用されることもあるなど、発明の思想としてはこれに限らず、各種の態様を含む。
更に、コード変換システムを搭載した電子機器は、プログラム制御により動作し、ネットワーク関連の通信機能を有していてもよい。デスクトップ、ラップトップコンピュータ、その他無線・有線通信機能を有する情報機器、情報家電機器（テレビ・携帯音楽プレーヤ・ゲーム機）、またはこれに類するコンピュータなどいかなるコンピュータでもよく、移動式・固定式を問わない。
【０１５１】
更に、本発明は、文字コード変換に関し、特に漢字２バイトコードの文字列をＪＩＳ  Ｘ  ０２１３：２００４に対応したＵｎｉｃｏｄｅに変換する方法、及びＵｎｉｃｏｄｅ追加面（４バイトコード）に変換する場合の変換テーブルを２バイト固定長で格納するといった用途に利用できる。
【０１５２】
また、本発明の範囲は、図示例に限定されないものとする。さらに、上記各実施の形態には種々の段階が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。つまり、上述の各実施の形態同士、或いはそれらのいずれかと各変形例のいずれかとの組み合わせによる例をも含む。
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。
【産業上の利用可能性】
【０１５３】
本発明は、コンピュータシステム全般に利用できる。
【符号の説明】
【０１５４】
１  コード変換システム
１０  入力装置
２０Ａ，２０Ｂ，２０Ｃ  コード変換装置
２１  基本多言語面変換部
２２  追加面変換部
２３  ユニコード面区点生成部（第１の生成部）
２４  ユニコードＵＴＦ―１６符号化部（符号化部，第１の符号化機能）
２５  ユニコード０面区点生成部（第３の生成部）
２６  ユニコードＵＴＦ―８符号化部（符号化部，第２の符号化機能）
２７  追加面Ｎ変換部
２８  ユニコードＮ面区点生成部（第２の生成部）
２９ａ，２９ｂ，２９ｃ  変換後処理手段
３０  記憶装置
３１  基本多言語面変換テーブル記憶部
３１ａ  基本多言語面変換テーブル
３２  追加面変換テーブル記憶部
３２ａ  追加面変換テーブル
３８  追加面Ｎ変換テーブル記憶部
３８ａ  追加面Ｎ変換テーブル
４０  出力装置
【図１】
2011008388.tif 000003
【図２】
2011008388.tif 000004
【図３】
2011008388.tif 000005
【図４】
2011008388.tif 000006
【図５】
2011008388.tif 000007
【図６】
2011008388.tif 000008
【図７】
2011008388.tif 000009
【図８】
2011008388.tif 000010
【図９】
2011008388.tif 000011
【図１０】
2011008388.tif 000012
【図１１】
2011008388.tif 000013
【図１２】
2011008388.tif 000014
【図１３】
2011008388.tif 000015
【図１４】
2011008388.tif 000016