
目次
●団体についてのFAQ ●技術についてのFAQ /Windows NTについて
/JIS X 0221/ISO-10646/Unicodeについて
/OLE Controlについて
団体について
Q:Windows NT漢字処理技術協議会とは何か?
A:
一口で言えば、パソコンでたくさんの漢字を扱えるようにするために有志企業が集まった団体です。Q:XKPって何ですか?
A:
eXtended Kanji Processingの略です。Windows NT漢字処理技術協議会の作成した技術仕様の略称ですが、団体の名前として呼ばれることもあります。このFAQでも、XKPという略語を使います。Q:Windows NT漢字処理技術協議会の会員企業は?
A:
(会員リストへリンクする)Q:XKPの目的とは?
A:
多数の漢字を必要とする地方自治体の戸籍業務などのニーズに対して、パソコンを用いたシステム構築を可能にするための基本技術を標準化することにあります。
地方自治体と類似のニーズを持つ業務にも適用できる可能性があります。しかしながら、すべての漢字のニーズをカバーすることを想定した仕様ではありませんので、あなたのニーズを満たし得るか否かは、XKPの仕様をよく検討してから結論して下さい。Q:XKPの組織は?
A:
XKPを代表する組織としては、幹事会があります。幹事会を代表して、代表幹事が置かれています。
その下に、技術部会と、普及部会があります。技術部会は技術仕様の検討と作成を担当します。普及部会は、XKP仕様の各種普及活動を行います。これらの部会は、手弁当の持ち寄りで運営されており、会員企業であれば参加できます。 最終的に、XKPとしての決定を行う手段として、全会員企業が参加する総会が行われます。技術仕様や、普及のためのロゴマークなどは、この総会での承認を経て、はじめて正式なXKPの決定事項となります。Q:XKPとマイクロソフトの関係は?
A:
マイクロソフト株式会社は、XKPの幹事会社の一つであり、代表幹事となっています(1997年10月現在)。しかし、だからといって、マイクロソフトの意向によってすべてが決まるという訳ではなく、活発な議論が行われています。
会員企業として参加し、技術部会や普及部会に参加して活動すれば、この議論に参加できます。
技術について
Q:XKPが前提とする技術を教えて下さい
A:
が、前提となっています。
- OSとして、Windows NT
- 文字コードとして、JIS X 0221
- コンポーネント技術として、OLE Control
Q:前提技術は将来も不変ですか?
A:
会員の要望次第で変化する可能性は常にあります。
意見がある場合は、普及部会や、技術部会に参加しての活発な議論が期待されます。Q:Internetに対応してますか?
A:
仕様の作成を開始した時点では、まだ、Internetは大きなブームになっておらず、また、地方自治体の戸籍業務ではInternetに接続したいというニーズもなく、特にInternet対応は目標に含まれていません。
しかしながら、XKP仕様は、特定のネットワークに依存しない仕様なので、Inernetを外字管理用のネットワークとして使う構成は可能です。この方法が実際に運用できるか否かは、そのような実装の製品が発売されるか否かによって決まります。(1997年10月時点では存在するという情報は届いていません)
なお。この質問の意味が、電子メールや、Web上で多数の外字を扱う機能を持っているか(標準化しているか)ということであれば、現時点ではノーです。将来的にするかという意味なら、未定であり、今後の協議会内の議論の行方次第です。Q:ActiveXとして使えますか?
A:
マイクロソフトの見解としては、OLE Controlの名称を変更して、Active X Controlと呼ぶとなっています。しかしながら、これは、XKP仕様のOLE Controlを、そのまま、ActiveX対応のInternet関連製品で使用できることを意味しません。XKP仕様は、外字を管理するための各種の機能を規定しており、それらを抜きに動作できないためです。
ただし、XKP仕様を、ActiveX上で動作する形で実装することは可能です。(1997年10月時点では、そのような仕様の製品が存在するという情報は届いていません)
Windows NTについて
Q:なぜWindows NTなのか?
A:
利用できる漢字数を増加させる手段として、JIS X 0221というJIS規格を採用しました。この規格は、実用上、Unicode 1.1と呼ばれる文字コード体系と互換性があると言われています。Windows NTは、Unicode 1.1に、ネイティブにOSの奥底まで、正式に対応した現時点で販売されているほぼ唯一のOSです。そのため、Windows NTがターゲットとなっています。Q:システムはすべてWindows NTで固める必要があるのか?
A:
これはノーです。XKPによって、たとえば戸籍システムを組む場合、Windows NTである必要が出てくるのは、クライアントのパソコンだけです。データベースは、メインフレームを使っても良いし、JIS X 0221/Unicodeに対応していないソフトでも構いません。ただし、適切なコード変換ができない場合、バイナリーとして格納することになりますので、検索などで機能低下が起こる可能性はあります。また、XKPでは、OSに中立な、交換用のフォーマットを規定しているので、これを媒介して、他の環境とデータを交換しながら処理することも可能です。Q:対応するWindows NTのバージョンは?
A:
XKP1.0仕様ではWindows NT 3.5を対象としました。この仕様に対応した製品は出てこないと考えて間違いないでしょう。
XKP2.0仕様ではWindows NT 3.51を対象としています。Windows NT 4.0については、特に仕様上の問題もないので、このXKP2.0仕様のままで利用可能です。
なお、上記はいずれも、Workstation版、Server版を問いません。どちらでも動作します。
JIS X 0221/ISO-10646/Unicodeについて
Q:JIS X 0221(またはISO-10646、Unicode)とは何か?
A:
世界中の文字を、1文字16bitで表現できる一つの統一文字セットとして、米国の有力コンピュータメーカー等が集まって作成したものがUnicodeです。これには、日本の漢字(JIS X 0208、JIS X 0212)などを含む多数の文字が収められています。
これを国際標準としたものが、ISO/IEC-10646-1と呼ばれる規格です。この規格には、Unicodeと異なり、1文字32bitの仕様が含まれます。一文字16bitの仕様はUCS-2、一文字32bitの仕様はUCS-4と呼ばれます。このうち、UCS-2が、Unicode 1.1と同等であると言われています。
このISO/IEC-106461-1を日本国内向けの規格としたのが、JIS X 0221というJIS規格です。
XKPは、公式には、JIS X 0221を採用しています。利用範囲は、UCS-2となります。これを、Unicode 1.1対応のWindows NT上で使うことになります。
実際には、微妙な差異があるのですが、詳しくはXKP仕様書第3章を参照願います。Q:使える文字のバリエーションは?
A:
XKPで扱うことのできる文字は、内字と外字に分けられます。内字は、規格によって定められた文字です。外字は、それ以外の文字です。
内字は、JIS X 0221/Unicodeで定められた文字ですが、主に、いわゆる第1水準、第2水準と呼ばれるJIS X 0208に該当する文字。それに加えて、補助漢字と呼ばれるJIS X 0212が利用できます。
JIS X 0221/Unicodeには、これ以外にも、中国や韓国の漢字などが定義されています。これらの漢字については、JIS X 0221で規定される範囲内で、利用することができます。けして、使用を禁止している訳ではありませんので、誤解ないようにご注意下さい。
外字は、事実上無制限の数を利用できますが、6400文字に制限して、扱いを簡単にした製品が多数派です。よほど特殊なユーザーでない限り、これで足りないというケースは無いと思われます。Q:XKPまたはJIS X 0221/Unicodeに対応したソフトはあるのか?
A:
部分的にUnicodeを採用したソフトは少々ありますが、完全にUnicode対応したソフトは、きわめて少ないのが現状です。
以下に主なものを挙げます。この問題を回避するために、OLE Controlというコンポーネントの仕様が含まれます。XKP文字を扱うOLE Controlを、普通の非Unicode対応のアプリケーションソフトに貼り付けて、部分的にXKP文字を扱わせることが可能です。
- Windows NT(フルUnicode対応)
- Windows 95(ごく一部Unicode対応のAPIがある)
- Visual BASIC(VBA)(文字列をUnicodeで内部処理)
- Microsoft Office 97(文字列をUnicodeで内部処理)
- 一太郎 Version 8(文字列をUnicodeで内部処理)
- Java言語(文字列をUnicodeで内部処理)
- XKP仕様対応製品
Q:字形は決まっているのか?
A:
JIS X 0221は、字形のゆれを許容します。つまり、微妙に異なる文字の形を一つの文字コードに割り当てています。場合によっては、明らかに違って見える日本以外の漢字を、日本の漢字と統合している場合もあります。
これについては、元々のJIS規格がそうなっているのだから、そういうものである。つまり、規格通りというのが、XKPでの解釈です。つまり、文字コードを指定するだけでは、厳密にどんな形の文字であるかは確定しません。Q:なぜ、字形を決めないのか?
A:
JIS規格を遵守する、という立場を取った場合、JIS規格が許容する範囲の字形を許容しないわけにはいきません。Q:異体字の定義は?
A:
XKP仕様書では、「異体字」を規定していませんが、他の記述との整合性から考えて、本FAQでは以下の解釈とします。
「文字コードを規定する規格において、同じ文字コードを持つとされる文字群のうち、実際の運用上、その文字コードに割り当てられていない文字」
ただし、どこまでが同じ文字と見なしてよく、どこからが異なる文字と見なさねばならないかの基準は、実際のシステムを利用するお客さんごとに違います。ですから、実際のシステムで、どの文字が異体字として扱われるかは、XKP協議会ではなく、お客さんが確定するべきものです。Q:異体字を使いたいときにはどうするの?
A:
規格を遵守して解釈する場合、内字の異体字であっても、同じ文字であり、同じ文字コードに割り当てるべき、となります。しかし、この方法では、個々の異体字を区別して扱えないため、1文字だけ内字に割り当て、他の文字が外字領域に割り当てて運用することを想定しています。
これは技術的制限を回避するための処置です。
どの文字とどの文字を区別して扱うか、どれを内字に割り当て、どれを外字に割り当てるべきかは、基本的に、XKPを利用するお客さんの判断で行われるべきものです。XKPは何もガイドラインを出していません。Q:シフトJIS文字からXKP文字へ変換するには?
A:
シフトJISの内字に関しては、コンバータソフトを用意すれば、自動的に対応するJIS X 0221/Unicodeの文字に変換することができます。ただし、Unicodeへの変換テーブルは、内容が異なるものが世の中に出回っているので、どの変換テーブルが妥当であるかを確認の上使う必要があります。
シフトJISで使っていた外字に関しては、新たにJIS X 0221/Unicodeで内字として用意された文字に該当するかどうかをチェックして、該当するものは内字に、そうでないものは外字に振り分けねばなりません。これは、ユーザーが自分で判断しなければなりません。自動化はできません。
ただし、この判断をせずに、すべての外字を、そのままXKPの外字に移行させることもできます。しかしながら、外字情報の交換でトラブルが起きる恐れがあります。また、これは、JIS X 0221/Unicodeと、JIS X 0221対応をうたったXKPの規格外利用となります。Q:XKP文字からシフトJIS文字へ変換するには?
A:
基本的に、XKP文字にあって、シフトJISに無い文字は変換できません。強いて言えば、外字に振り替えることで、変換することはできますが、シフトJISで使える外字数(Windows文字セットで1880)が多くないため、外字数不足で変換できない恐れがあります。
XKPのシステムを運用する上で、XKP文字からシフトJIS文字へ変換することは、避けるべきでしょう。Q:内字の定義は?
A:
「内字はJIS X 0221-1995国際符号化文字集合におけるUCS-2の表内字とする。」XKP仕様書より引用。
これ以上の定義は、JIS X 0221-1995を参照して下さい。Q:外字の定義は?
A:
「内字以外のすべての文字。」XKP仕様書より引用。
ただし、これはXKPが扱う外字の定義ではありません。XKPが扱う外字は、正式には、UDC(User Defined Character)と呼ばれ、定義は以下の通りです。
「UDCはUser Defined Characterの略である。本仕様書で規定される外字取り扱いメカニズムで扱うことのできる外字を意味する。つまり、UDCは外字の一種である。WindowsNT添付の外字エディタで作成した文字は、単に作成しただけでは外字であり、UDCではない。しかし、UDCとして割り当てることができる。」XKP仕様書より引用。Q:ちゃんと文字を1文字1文字検証したか?
A:
XKP仕様は、文字セットの仕様ではありませんので、個々の文字については検証をしていません。
どの文字を、どう解釈するかは、それを利用するお客さんの問題です。現実の問題として、XKPがどんな基準を作ったところで、お客さんがノーと言って、他のシステムを導入してしまえば、何も意味はありません。また、お客さんの側としても、今まで同一であった文字が異なる文字に分かれる、あるいは、異なる文字であったものが、一個の文字に統合されてしまうことは、許容しがたいものだと思います。
OLE Controlについて
Q:OLE Controlとは何か?
A:
OLEとは、Object Linking and Embeddingの略で、マイクロソフトの開発したオブジェクト技術です。
これを元に、ソフトウェアを構築する部品として使いやすくしたものが、OLE Controlです。
OLE Controlは、OLE Control Containerと呼ばれる種類のソフトウェアの内部で使用できます。(例:Visual BASIC 4.0以降など)
マイクロソフトは、OLE ControlをActive X Controlとも呼んでいます。Q:OLE Controlを使わねばXKP対応アプリを作れませんか?
A:
XKP対応アプリを作成するには、二つの手段があります。
一つは、XKP対応のOLE Controlを使う方法。
もう一つは、XKP仕様書で規定しているUDC ServerのAPIを呼び出す方法です。
理想的には、個々のアプリケーションソフト(開発言語ソフトやワープロソフトなど)が、後者のAPIを呼び出すことで、アプリの固有の機能の一部として、XKP対応を行うことが望ましいと言えます。
ですから、OLE Controlを使う、というのは、理想が達成できない現状に対処する次善の策と考えるべきでしょう。Q:XKPでは、どんな機能を持ったOLE Controlを規定していますか?
A:
以上4種類です。
- エディット(テキスト)
- スタティック(ラベル)
- リストボックス
- コンボボックス
Q:OLE Controlは、どのソフトで使えますか?
A:
理論的には、OLE Controlのコンテナ機能に対応したアプリケーションソフトなら、どれでも使えるはずです。具体的には、Visual BASIC 4.0以降、Microsoft Access 95/97、Visual C++ 4.x以降、Delphi 2.0などがあります。
しかし、実際には、コンテナ側の実装が、ソフトごとに大きく異なるため、どのコンテナでも確実に使えるとは言い難いのが現状です。ですから、ほとんどの場合、どのコンテナをサポートするか明記する形になっています。
そのような事情ですので、どのソフトで利用できるかは、それぞれのXKP対応OLE Control製品の仕様に依存します。個々の製品のベンダーにお問い合わせ下さい。
![]()
トップページへ戻る