(57)【特許請求の範囲】
【請求項１】
複数のソース文字を含むソース・ストリングをターゲット・ストリングに変換する方法において、前記ソース・ストリングは、Unicodeコードページに従ってエンコードされており、前記ターゲット・ストリングは、コードセットのスタックにある複数のサブ・コードページ（１４、１５、１６、１７）を含む混合コードページに従ってエンコードしようとするものであり、
各サブ・コードページ（１４、１５、１６、１７）に所定の処理優先度を関連付けて処理優先順位をもたらすステップと、
前記優先順位に厳密に従って前記サブ・コードページにアクセスするステップと、
文字を変換し出力バッファに出力するステップと、
変換すべき文字を用いてアドレスされ、変換された文字を変換テーブルのそのアドレスされた位置に格納するステップと、
を含む方法。
【請求項２】
前記優先順位が、前記サブ・コードページ（１４、１５、１６、１７）のうちの１つであるソース文字が見つかる確率を反映する請求項１に記載の方法。
【請求項３】
前記アクセスするステップにおいて、ある文字が現アクセス中のサブ・コードページで見つからなかった場合に、前記文字についてまだアクセスしていない最高の優先度を有するサブ・コードページにアクセスするステップをさらに含む請求項１に記載の方法。
【請求項４】
コード変換を実行する前に、前記優先順位が、標準設定から個別の設定へと動的に変更される請求項１に記載の方法。
【請求項５】
複数のソース文字を含むソース・ストリングをターゲット・ストリングに変換する方法をコンピュータに実行させるためのプログラムにおいて、前記ソース・ストリングは、Unicodeコードページに従ってエンコードされており、前記ターゲット・ストリングは、コードセットのスタックにある複数のサブ・コードページ（１４、１５、１６、１７）を含む混合コードページに従ってエンコードしようとするものであり、
各サブ・コードページ（１４、１５、１６、１７）に所定の処理優先度を関連付けて処理優先順位をもたらすステップと、
前記優先順位に厳密に従って前記サブ・コードページにアクセスするステップと、
文字を変換し出力バッファに出力するステップと、
変換すべき文字を用いてアドレスされ、変換された文字を変換テーブルのそのアドレスされた位置に格納するステップと、
を含む方法をコンピュータに実行させるためのプログラム。
【請求項６】
前記優先順位が、前記サブ・コードページ（１４、１５、１６、１７）のうちの１つであるソース文字が見つかる確率を反映する請求項５に記載の方法をコンピュータに実行させるためのプログラム。
【請求項７】
前記アクセスするステップにおいて、ある文字が現アクセス中のサブ・コードページで見つからなかった場合に、前記文字についてまだアクセスしていない最高の優先度を有するサブ・コードページにアクセスするステップをさらに含む請求項５に記載の方法をコンピュータに実行させるためのプログラム。
【請求項８】
コード変換を実行する前に、前記優先順位が、標準設定から個別の設定へと動的に変更される請求項５に記載の方法をコンピュータに実行させるためのプログラム。
【請求項９】
請求項５乃至８のいずれかに記載のプログラムを記載したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータ可読文字に関連する文字コード間で変換するための方法およびシステムに関する。詳細には、本発明は、Unicode標準に従ってエンコードされたソース・ストリングを、混合コードページに従ってエンコードすべきターゲット・ストリングに変換するための方法およびシステムに関する。
【０００２】
【従来の技術】
コンピュータやその他の電子装置は、ユーザと対話するために一般にテキストを使用する。テキストは、一般にモニタまたは他の種類の表示装置に表示される。テキストは、コンピュータまたは他の電子装置中ではデジタルで表さなければならないので、文字セット・エンコーディングを使用しなければならない。一般に、文字セット・エンコーディングは、文字セットの各文字を一義的なデジタル表示にエンコードする。（エンコードされた）文字は、英字、数字、および様々なテキスト記号に対応する。これらの文字には、コンピュータまたは他の電子装置が使用するために数値コードが割り当てられる。コンピュータおよび他の電子装置で使用するための最も普及した文字セットは、情報交換用米国標準コード（ＡＳＣＩＩ）である。ＡＳＣＩＩは、そのエンコーディングのために７ビット・シーケンスを使用する。他の国では、異なる文字セットが使用されている。ヨーロッパでは、主要な文字エンコーディング標準は、国際標準化機構（ＩＳＯ）によって開発されたＩＳＯ  ８８５９−Ｘファミリ、特にＩＳＯ  ８８５９−１（「Latin-1」と呼ばれる）である。日本では、主要な文字エンコーディング標準は、ＪＩＳ  Ｘ０２０８である。ここでＪＩＳは日本工業規格を指し、日本規格協会（ＪＳＡ）によって開発されたものである。他に存在する文字セットの例として、Mac（商標）ＯＳ標準ローマ字エンコーディング（アップル・コンピュータ社による）、シフトＪＩＳ（日本）、Big5（台湾）、およびその他多くのものが含まれる。
【０００３】
上述の文字セットは、前記文字セットに含まれる各文字のコーディングを示す一種のテーブルであるいわゆるコードページに格納されている。したがって、各文字についてそれに関連する数値コードが与えられ、この両者の間に一義的なマッピングが存在する。大部分のコードページは、各文字に１バイト長の数値コードを関連付ける。しかし、それよりも多い、例えば２バイトまたは３バイト長の数値コードを有するコードページも存在する。すべて同じコード長を有する文字を含むコードページは、単純コードページと呼ばれる。
【０００４】
複雑な個々の言語特有の国内要件によりよく対応するために、いわゆる混合コードページも存在する。混合コードページは、少なくとも２つのサブ・コードページを含み、そのコーディングは、長さが異なることがある。前記サブ・コードページは、コードセットとも呼ばれる。それには０〜３と番号が付けられる。例えば混合日本語コードページＩＢＭ−３３７２２は、コードセットＩＢＭ−８９５（１バイト、コードセット０）、ＩＢＭ−９５２（２バイト、コードセット１）、ＩＢＭ−８９６（エスケープ８Ｅ＋１バイト、コードセット２）、およびＩＢＭ−９５３（エスケープ８Ｆ＋２バイト、コードセット３）を含む。
【０００５】
ビジネスおよびネットワークの国際化の進展が着実に前進し、世界中のほとんどすべての国を接続するインターネットの影響がいっそう増加する状況では、異なる種類のコードページを使用するコンピュータ間のデータのどんな変換も、できる限り高速でなければならず、任意選択でできる限り単純でなければならない。
【０００６】
前記コード変換を単純化するために、いわゆるUnicode標準が開発され、この間国際的に認知されてきた。Unicodeは、存在するすべてのコードセットを表すためのただ１つの方式を提供する。Unicodeエンコーディング方式の設計は、方向性を別にすれば、基本的なテキスト処理アルゴリズムの設計から独立している。Unicodeの実装は、適当なテキストの処理またはレンダリングあるいはその両方のアルゴリズムを含むと想定される。Unicode標準に従ってエンコードされたどの文字も２バイト長の数値コードで表される。
【０００７】
次の問題は、Unicode標準から上述の混合コードページに変換する非常に効率的な方法を見つけることである。すなわち、Unicode標準で表されるソース・ストリングが与えられており、これを複数のコードページを含むコード・システム、例えば上で述べたような４つの複数のコードページに、非常に簡単に、しかも非常に高速に変換したいわけである。
【０００８】
従来技術のUnicodeから複数のコードページへの変換方法は、米国特許第５７９３３８１号に開示されている。前記コード変換システムは、１つのソース文字または文字のシーケンスを、マッピング・テーブル中で関連するターゲット文字の位置を検索することによって、１つのターゲット文字またはターゲット文字のシーケンスにマップする。ソース文字を読み取ると、前記マッピング・テーブルがアクセスされ、どのサブ・コードページをコード変換に使用するかが決定される。特定のサブ・コードページが見つかり、前記サブ・コードページで変換できないソース文字が入力文字ストリング中で見つかるまで、そのコードページが引き続きコード変換に使用される。変換できないものがあった場合、正しいサブ・コードページを見つけるために前記補助マッピング・テーブルが再アクセスされる。さらに、前記従来技術のコード変換システムは、フォールバック・ハンドリングを含む。これは、マッピング・テーブルを使って、ルックアップ・ハンドラがターゲット・エンコーディング中のテキスト要素に対する１つまたは複数の文字を識別できなかった場合に、そのテキスト要素に対するフォールバック・マッピングとして使用できる、ターゲット・エンコーディング中の１つまたは複数の文字を識別する働きをする。
【０００９】
しかし、この従来技術の手法は、追加のルックアップ・テーブルを使用し、そのため必要以上に低速になり、複雑になってしまう。
【００１０】
【発明が解決しようとする課題】
したがって、本発明の目的は、Unicodeテキストから混合コードページにコード変換するための、よりよい性能で実行できる方法およびシステムを提供することである。
【００１１】
【課題を解決するための手段】
本発明の前記目的は、頭記の独立請求項に記載の特徴によって達成される。本発明のさらに有利な構成および実施形態は、それぞれの従属請求項に記載されている。
【００１２】
本発明の基本的概念を簡単に要約すると、各サブ・コードページに所定の優先度を関連付け、ターゲット文字およびそのエンコーディングが複数のサブ・コードページのうちのどこに格納されているかを見つけるために、マッピング・テーブルを使用せず文字を前記優先順位に厳密に従って変換することを提案する。最も頻繁に使用される文字を含むサブ・コードページを、最高の優先度に関連付け、最もまれにしか使用されない文字を含むサブ・コードページは、最低の優先度に関連付けると有利である。したがって、４つのサブ・コードページの場合、前記サブ・コードページ間の優先順位を確立することができる。各優先度は、特定の文字がそれぞれのサブ・コードページで見つかる確率の指標である。
【００１３】
この基本的手法のほかに、ある文字が特定のサブ・コードページで見つからなかった場合、前記文字についてまだアクセスしていない最高の優先度を有するサブ・コードページにアクセスすることをさらに提案する。
【００１４】
上述の本発明の処置を適用することにより、以下の利点が得られる。
【００１５】
第１に、上述の従来技術の変換方法に比べ、性能が著しく向上する。現在使用しているサブ・コードページで文字が見つからなかった度にアクセスしなければならない独立したマッピング・テーブルが存在しないからである。
【００１６】
第２に、前記補助マッピング・テーブルをまったく作成する必要がない。このため多くの労力が節約される。
【００１７】
第３に、言語についての地域特有の情報が活用されるように、複数のサブ・コードページに与える優先順位を確定することができる。したがって、本発明の変換方法は、個々の、地域特有のコードページ・システムによって課される個別要件に容易に適合できる。
【００１８】
個々のケースに応じて、あらかじめ変換すべき特定のテキストが平均的でないことがわかっているときは、本発明のコード変換方法をそのテキストによって課される特定の要件に適合させるために、コード変換を実行する前に、上述の優先順位を標準設定から個別の設定へと代替的に動的にすることができる。その新しい優先順位を、例えば変換すべきファイルのヘッダ中に示すことができる。
【００１９】
本発明の方法の注目すべき他の利点は、一度に１つではなく複数の文字を処理するハードウェア命令が使用できるという、現代のコンピュータ・システムの特定の利点を活用できるコンセプトが提供されることである。そのような現代のハードウェア命令には、どんな種類のマッピング・テーブルへもチェックのための追加のアクセスなしに、ターゲット文字を検索するための線形テーブルが必要である。
【００２０】
本発明は、有利には、何らかのコード変換が必要なとき、インターネットで使用することができる。さらに、データ・ベースの内容の一部がUnicodeテキストから混合コードページに変換される可能性が高いときは、本発明のツールを前記データ・ベース・アプリケーションに組み込むことができる。
【００２１】
本発明の方法を、特定の文字が複数のサブ・コードページのうちの１つで見つかる確率がすべてのサブ・コードページで等しい場合に適用するときは、４つのサブ・コードページが存在する場合、統計的平均値で２回だけしか追加のアクセスを必要としない。この値は、３つのサブ・コードページでは１．５回まで減少し、２つのサブ・コードページの場合は１回まで減少する。日本語ＥＵＣテーブルの場合、すべての文字のうちの７０％がコードセット１で見つかり、３０％がコードセット０で見つかり、１％未満が残りのコードセット２および３で見つかるが、前記統計的平均値は１より少し大きくなる。
【００２２】
さらに、本発明は、有利には、ハードウェア・チップ中に直接バーンイン（burnt-in）されたハードウェア実装に少なくともその一部を組み込むことができる。その場合、そのようなチップ手段は、本発明のコード変換方法のステップの少なくとも一部を実装し反映したハードウェア回路を含む。電気通信機器が着実に多様化し、ますます多くの技術的機能を含めてその機能範囲が着実に増大していることを考慮すると、このようなチップは、広範囲の機器で使用することができる。今日利用可能な機器を考えると、このようなチップは、国際的通信のどんな部分を形成するどんな機器においても使用できると有利である。例えば、インターネットなど任意の種類のネットワーク中のルータ、テレビや無線受信装置用のセットトップ・ボックス（Set-Top box）、特にデジタル・テレビやラジオ、携帯電話、任意の種類のハンドヘルド・コンピューティング機器または電気通信機器、あるいは任意の外国語のデータを処理するための入力インターフェースを有する他の任意の機器がその例である。
【００２３】
【発明の実施の形態】
添付の図を全般的に参照し、特に図１を参照すると、ボックス１０に、本発明の変換方法が適用されるUnicode文字の全体が象徴的に表されている。
【００２４】
本発明の前記方法の好ましい実施形態によれば、使われる複数のサブ・コードページの間のいくつかの明確な優先順位を確立する、いくつかの優先度規則１２を定める。本明細書では時に「コードセットｎ」（ｎは整数）という用語を使うが、これは用語「サブ・コードページｎ」と基本的に同じ意味を持つ。図１に示すケースでは、コードセット１  １４、コードセット０  １５、コードセット２１６、およびコードセット３  １７として示した４つのサブ・コードページが使用される。枠１０には、例として選択した４個の文字が示されているが、その文字のエンコーディングは、図１の右側からわかるように異なる別々のサブ・コードページにある。
【００２５】
前記各テーブル１０、１４、１５、１６、１７の図からわかるように、各文字に対して数値コードが格納されている。
【００２６】
次に図２および図３を参照すると、本発明の方法の好ましい実施形態が、日本語Unicodeから混合日本語ＥＵＣサブ・コードページへの例示的なコード変換において、より詳細に示されている。
【００２７】
コード変換を開始する前に、前記日本語ＥＵＣサブ・コードページについての既存の推定が使用される。この推定によれば、この特定のケースでのサブ・コードページでは、コードセット１は、出現するすべてのソース文字のほぼ７０％を占め、コードセット０は出現する文字全体の約２９％、コードセット２は約０．６％、コードセット３は約０．４％を含むように編成される。前記コードセットの確率分布は、最も頻繁に使用されるコードセット１４が前面に示され、最もまれにしか使用されないコードセットがコードセットの「スタック」の最後のセット１７として示される限りにおいて、図１にも示されている。したがって上述の優先順位は、以下のようになる。
コードセット１、コードセット０、コードセット２、コードセット３
【００２８】
図２に任意に選んだ例での大まかな図を示す。この図は、２３０個の各文字が、各文字の見つかる可能性がある４つのサブ・コードページのうちのどの中にあるかを示す。
【００２９】
合計２３０個のソース文字が、単一の例示的な変換処理で変換される。２３０という数字は、処理をわかりやすくするために非常に小さく選んであることを理解されたい。
【００３０】
したがって、合計２３０個のソース文字が、図１に参照符号１０で象徴的に表される入力セットが含まれる。本発明の方法によって発行する必要のある新しい数値コードは、４つのサブ・コードページ１４、１５、１６、１７に以下のように格納される。図１の右側を参照のこと。
文字１〜１７１がコードセット１に、
文字１７２、１７３がコードセット０に、
文字１７４〜１９６がやはりコードセット１に、
非常にまれにしか使用されない文字１９７はコードセット３に置かれ、
文字１９８〜２１０が再びコードセット１に、
文字２１１〜２１５がコードセット０に格納され、
非常にまれにしか使用されない文字２１６、２１７もコードセット２に、
文字２１８〜２３０がコードセット１に格納される。
【００３１】
前記変換方式では、上述のソース文字を順次処理する。本発明の方法を適用するための好ましい方法では、複数の文字を一度に処理するハードウェア命令が使用できる。その一例は、２バイト文字で構成されるストリングを１バイト文字で構成される出力バッファに変換するＩＢＭ  ＯＳ／３９０のハードウェア命令「Translate Two to One」（ＴＲＴＯと略記する）である。前記ハードウェア命令は以下のような引数をとる。
変換すべきストリング、
変換されたストリングを格納するターゲット・バッファ、
特定の入力文字が変換できないことを示す文字、
変換すべき文字を用いてアドレスされ、変換された文字がそのアドレスされた位置に格納される変換テーブル
【００３２】
しかし、わかりやすくするため、かつ本発明の実際の核心に注意を集中する目的で、上述の入力文字シーケンスを、単一文字変換処理、すなわち各文字を別々に扱う処理にかける。
【００３３】
この本実施形態の好ましい特徴によれば、上述の優先順序から導かれた１組の処理規則が確立される。前記処理規則は、以下の通りである。
１．最初に最も高い優先度のコードセットにアクセスする。
２．最も高い優先度のコードセット中に特定の文字が見つからないとき、そのすぐ下の優先度のコードセットに進み、それを繰り返す。
３．あるコードセット中に文字が見つからなかった場合、この文字についてまだアクセスしていない最も高い優先度のコードセットをアクセスする。
【００３４】
これらの規則を適用することにより、図３に示す略図が得られる。
【００３５】
図３は４つの行を含む。第１行は、サブ・コードページ１、すなわち最高の優先度を有するサブ・コードページからアクセスを始めて、ある特定の文字が見つからない場合に、次々にアクセスするサブ・コードページのシーケンスを、反映している。すなわち、ある文字がサブ・コードページ１で見つからないとき、その現文字を検索するためにサブ・コードページ０にアクセスする。前記現文字がサブ・コードページ０で見つかった場合、処理は前記サブ・コードページ中で、変換すべき次の文字に進む。この次の文字については、検索のために第２行を適用する。そうではなくて、上述の現文字がサブ・コードページ０で見つからない場合、さらに検索するためにサブ・コードページ２にアクセスする。その後はサブ・コードページ２について対応する方式に従うことになる。
【００３６】
現文字がサブ・コードページ２で見つかった場合、関連する数値コード、すなわち変換後のコードが発行され、図３に示す第３行に従って次の文字を検索する。そうでない場合、すなわち現文字がサブ・コードページ２で見つからない場合、最後のサブ・コードページ３に検索のためアクセスする。その結果文字がみつかり、検索は、図３に示す第４行に進む。
【００３７】
上記の説明から理解できる通り、本発明の前記実施形態によれば、常に最後の文字の発見に成功した特定のサブ・コードページ中で検索を続行する。
【００３８】
第２行、第３行、または第４行を特に参照すると、各現サブ・コードページ中で、変換すべき次の文字が見つからないとき、変換すべき次の文字を求めて、常に最高の優先度のサブ・コードページ（ここでは図１に参照符号１４で示すコードページ１）にアクセスする。
【００３９】
図２に示す文字ストリングを特に参照すると、処理の方法、すなわち異なるサブ・コードページにアクセスする方法が、より詳細に示されている。図２、図３のどちらでも、Ａ）〜Ｇ）で表示される矢印がある。これらの矢印は、アクセスがそれぞれあるコードセットから別のコードセットへと変更されることを示す。
【００４０】
サブ・コードページ１は、最高の優先度のサブ・コードページであるため、検索は、サブ・コードページ１へのアクセスから始まる。したがって、文字１が見つかり、その数値コードが、サブ・コードページ１に格納されている数値コードを出力することによって変換される。その後、変換プロセスによって第２の文字が入力として取得されるが、第２の文字もサブ・コードページ１に格納されているため、同様の手順が繰り返される。文字番号１７２に達するまで、同様の手順が継続して適用される。
【００４１】
前記現文字１７２は、サブ・コードページ１では見つからない。したがって、矢印Ａ）からわかるように、次にサブ・コードページ０にアクセスする。それが次に高い優先度を有するサブ・コードページだからである。たまたまこの場合は、文字１７２は、サブ・コードページ０で見つかる。したがって、その数値コードが上記のように発行される。次にサブ・コードページ０が引き続き、文字１７３に適用される。ところで、図２からわかるように、文字１７３もサブ・コードページ０に格納されている。次いで、文字１７４を処理する。今度はこの文字は、コードセット０では見つからない。したがって、図３の第２行が適用される。矢印Ｂ）からわかるように、コードセット１に再度アクセスする。コードセット１を検索するときにこの文字が見つかる確率が最大だからである。
【００４２】
たまたまこの場合は、やはり図２からわかるように、前記文字１７４は、再びコードセット１で見つかる。したがって、発行後に第１行が再び適用される。文字１７５〜１９６も、コードセットを変更せずに上記のように処理される。
【００４３】
次いで、非常にまれにしか使用されない文字１９７は、コードセット１では見つからない。したがって、図３の矢印Ｃ）からわかるように、コードセット０にアクセスし検索する。次いで、文字１９７がその中で見つからないので、コードセット２にアクセスし検索する。文字１９７はその中でも見つからないので、最後にコードセット３にアクセスする。その中で文字１９７が見つかり、その数値コードが発行される。次いで、コードセット３で検索が続行する。
【００４４】
文字１９８は、コードセット３では見つからない。したがって、図３に示す第４行が適用され、矢印Ｄ）からわかるように、次にコードセット１にアクセスする。その中で、文字１９８について検索が成功するが、文字２１１は見つからない。したがって、第１行が再び適用される。矢印Ｅ）からわかるように、次にコードセット０にアクセスする。コードセット０で、文字２１１〜２１５が見つかる。
【００４５】
しかし、文字２１６は見つからず、したがって第２行が適用され、検索のためコードセット１に再アクセスする。しかしその中でも見つからないので、矢印Ｆ）からわかるように、コードセット２にアクセスする。そこで文字２１６が見つかり、発行後に、次の文字２１７をコードセット２で処理することも成功する。
【００４６】
次いで、文字２１８を処理するが、それはコードセット２では見つからないので、図３の第３行からわかるように、コードセット１に再アクセスする。文字２１８と、それに続く変換すべき文字の入力セットに残っているすべての文字は、コードセット１でやはり見つかる。したがって、それらは上記のように処理し、最後の文字２３０が変換された後、変換プロセスは停止する。こうして、すべてのソース文字コードの変換が成功した。
【００４７】
上述の明細においては、本発明を、その特定の例示的な実施形態に関して説明した。しかし、頭記特許請求の範囲記載の本発明のより広範な精神および範囲から逸脱することなく、本発明に様々な修正および変更を加えることができることは明らかであろう。したがって本明細および図面は、限定的な意味ではなく例示的なものとみなされるべきである。
【００４８】
例えば、まれしか使用されないコードセットでヒットした後、検索を別の方法で続行することもできる。あるいは、その同一のまれにしか使用されないコードセットで文字を見つけようと試みるのではなく、自動的に最高の優先度のコードセットに検索を進めることもできる。この状況は、上で示した詳細な説明では、文字１９７を処理した後に起こる。統計的に見れば、さらに少し性能の向上が達成できる。
【００４９】
本発明は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組み合わせで実現することができる。本発明によるコード変換ツールは、１つのコンピュータ・システムでの集中形式、または様々な要素がいくつかの相互接続されたコンピュータ・システムにわたって展開する分散形式で実現することができる。本明細書に記載の方法の実施に適合したどんな種類のコンピュータ・システムやその他の装置でも適している。ハードウェアとソフトウェアの典型的な組み合わせは、ロードされ実行されると、本明細書に記載の方法を実施するようにコンピュータ・システムを制御する、コンピュータ・プログラムを備える汎用コンピュータ・システムとすることもできる。
【００５０】
本発明はコンピュータ・プログラム製品に組み込むこともできる。そのコンピュータ・プログラム製品は、本明細書に記載の方法の実装を可能にし、コンピュータ・システムにロードしたときこれらの方法を実施することができる、すべての特徴を含む。
【００５１】
コンピュータ・プログラム手段、すなわちこの文脈でのコンピュータ・プログラムは、情報処理能力を有するシステムに、直接に、または以下の一方もしくは両方を行った後に、特定の機能を実行させるための１組の命令の、任意の言語、コード、または表記法による任意の表現を意味する。
ａ）他の言語、コード、または表記法に変換する
ｂ）異なるマテリアル・フォームで複製する
【００５２】
本願発明は、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせとして実現可能である。ハードウェアとソフトウェアの組み合わせによる実行において、所定のプログラムを有するコンピュータ・システムにおける実行が典型的な例として挙げられる。かかる場合、該所定プログラムが該コンピュータ・システムにロードされ実行されることにより、該プログラムは、コンピュータ・システムを制御し、本願発明にかかる処理を実行させる。このプログラムは、任意の言語・コード・表記によって表現可能な命令群から構成される。そのような命令群は、システムが特定の機能を直接、または１．他の言語・コード・表記への変換、２．他の媒体への複製、のいずれか一方もしくは双方が行われた後に、実行することを可能にするものである。もちろん、本願発明は、そのようなプログラム自体のみならず、プログラムを記録した媒体もその範囲に含むものである。本願発明の機能を実行するためのプログラムは、フレキシブル・ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＤＶＤ、ハード・ディスク装置、ＲＯＭ、ＭＲＡＭ、ＲＡＭ等の任意のコンピュータ読み取り可能な記録媒体に格納することができる。かかるプログラムは、記録媒体への格納のために、通信回線で接続する他のコンピュータ・システムからダウンロードしたり、他の記録媒体から複製したりすることができる。また、かかるプログラムは、圧縮し、または複数に分割して、単一または複数の記録媒体に格納することもできる。
【００５３】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００５４】
（１）複数のソース文字を含むソース・ストリングをターゲット・ストリングに変換する方法において、前記ソース・ストリングは、Unicodeコードページに従ってエンコードされており、前記ターゲット・ストリングは、複数のサブ・コードページ（１４、１５、１６、１７）を含む混合コードページに従ってエンコードしようとするものであり、
各サブ・コードページ（１４、１５、１６、１７）に所定の処理優先度を関連付けて処理優先順位をもたらすステップと、
前記優先順位に厳密に従って文字を変換するステップとを含む方法。
（２）前記優先順位が、前記サブ・コードページ（１４、１５、１６、１７）のうちの１つであるソース文字が見つかる確率を反映する上記（１）に記載の方法。
（３）ある文字が現サブ・コードページで見つからなかった場合に、前記文字についてまだアクセスしていない最高の優先度を有するサブ・コードページにアクセスするステップをさらに含む上記（１）に記載の方法。
（４）複数の文字が単一のハードウェア命令によって処理される上記（１）に記載の方法。
（５）コード変換を実行する前に、前記優先順位が、標準設定から個別の設定へと動的に変更される上記（１）に記載の方法。
（６）上記（１）ないし（５）のいずれか一項に記載の方法の諸ステップを実行するためのプログラム手段をインストールしたコンピュータ・システム。
（７）上記（１）ないし（５）のいずれか一項に記載の方法の諸ステップを実行するためのプログラム手段をインストールしたインターネット・サーバとして使用するように構成された、上記（６）に記載のコンピュータ・システム。
（８）上記（１）ないし（５）のいずれか一項に記載の方法の諸ステップの少なくとも一部を実装したハードウェア回路を備えるチップ。
（９）上記（８）に記載のチップを備える装置。
（１０）上記（１）ないし（５）のいずれか一項に記載の方法のそれぞれのステップを実行するためのコンピュータ・プログラム・コード部分を含む、データ処理システムで実行するためのコンピュータ・プログラム。
（１１）ブラウザ・プログラムである、上記（１０）に記載のコンピュータ・プログラム。
（１２）コンピュータ使用可能媒体に格納され、コンピュータに上記（１）ないし（５）のいずれか一項に記載の方法を実行させるためのコンピュータ可読プログラム手段を含むコンピュータ・プログラム製品。
【図面の簡単な説明】
【図１】本発明の方法の基本的要素を示す論理的概略図である。
【図２】２３０個の各文字が、各文字の見つかる可能性がある４つのサブ・コードページのうちのどの中にあるかを示す、任意に選んだ例での大まかな図である。
【図３】コード変換の間に本発明の好ましい実施形態による方法が適用されたときの、コードセット・アクセスのシーケンスを示す論理図である。
【符号の説明】
１０  本発明の変換方法が適用されるUnicode文字の全体
１２  優先度規則
１４  コードセット１
１５  コードセット０
１６  コードセット２
１７  コードセット３
【図１】
0003725443.tif 000002
【図２】
0003725443.tif 000003
【図３】
0003725443.tif 000004