NACSIS-CAT/ILLのWindows Vista環境等での利用についての対策について
Windows Vista環境等でのクライアントの利用に対応するため、各文字コードインターフェイスにサロゲートペアとなるUCS外字を追加します。 また、UCS外字利用に問題のある場合のために、Windows Vistaの文字表示に対応したUTF8Eインターフェイスを追加します。 詳細につきましては、「対応の詳細について」をご覧ください。
テストサーバの公開について
下記のとおり、対策を行った専用のテスト用サーバを公開します。
- ~平成21年3月13日(金)20:00
- アドレス:cattest.nii.ac.jp
- 稼働時間:平日9:00~20:00(但し、臨時で停止する場合があります)
- データベースの状態:平成21年2月末のデータ(テスト期間終了後、テスト環境の全データを破棄します)
業務用サーバ、教育用サーバ、(通常の)テスト用サーバへの対応について
下記の予定で業務用サーバに適用します。
- 平成21年3月23日(月)~
対応の詳細について
対策の内容は下記のとおりです。
インタフェース | サポート対象文字種(入力:CATPリクエスト時) | サポート対象文字種(出力:CATPレスポンス時) |
---|---|---|
JIS7 | ASCII JISX0201-Roman JISX0208:1978 JISX0208:1983 EXC文字 JISX0212:1990 JISX0213:2000(1面) JISX0213:2000(2面) JISX0213:2004(1面) (UCS外字入力可) |
ASCII JISX0201-Roman JISX0208:1978 JISX0208:1983 EXC文字 *出力返答に含まれるJISX0213,JISX0212の文字種及び上記で表現できない文字は,UCS外字で表現 |
ISO2022JP | ASCII JISX0201-Roman JISX0208:1978 JISX0208:1983 JISX0212:1990 JISX0213:2000(1面) JISX0213:2000(2面) JISX0213:2004(1面) (UCS外字入力可) |
ASCII JISX0201-Roman JISX0208:1978 JISX0208:1983 *出力返答に含まれるJISX0213,JISX0212の文字種及び上記で表現できない文字は,UCS外字で表現 |
UTF8 | UCS-2 (UTF-8上1文字4バイトとなる文字のうち,UTF-16のコード範囲の文字を追加) (UTF-8上1文字4バイトとなる文字種のみUCS外字入力可) |
UCS-2 (UTF-8上1文字4バイトとなる文字はUCS外字で表現) |
UTF8E | UCS-2 (UTF-8上1文字4バイトとなる文字のうち,UTF-16のコード範囲の文字を追加) (UTF-8上1文字4バイトとなる文字種のみUCS外字入力可) |
UCS-2 (UTF-8上1文字4バイトとなる文字のうち,UTF-16のコード範囲の文字を追加) |
GB/GBK | チェックは行わない(現行どおり) | チェックは行わない(現行どおり) |
UCS外字
CATPリクエスト時(JIS7, ISO2022JP, UTF8, UTF8E) | CATPレスポンス時 (JIS7, ISO2022JP)※2 | CATPレスポンス時 (UTF8) | |
---|---|---|---|
変換仕様 | 「◆Unnnn◆」を,nnnnをコード値とするUCS1文字に変換する。※1 「◆Unnnn◆◆Unnnn◆」(サロゲートペア)をUCS1文字に変換する。 |
「UCS1文字(コード値nnnn)がクライアント文字コードで未定義の場合,「◆Unnnn◆」に変換する。 UTF-8上で4バイトとなる文字の場合は,サロゲートペアの「◆Unnnn◆◆Unnnn◆」に変換する。※2 |
UTF-8上で4バイトとなる文字の場合は,サロゲートペアの「◆Unnnn◆◆Unnnn◆」に変換する。 |
例 | "◆U3402◆"→"㐂"(文字コード"U+3402", ) "◆U4E9C◆"→"亜"(文字コード"U+4E9C", ) "◆U5000◆"→"倀"(文字コード"U+5000", ) ※1 "◆UD840◆◆UDC0B◆"→"𠀋"(文字コード"U+2000B", ) |
"㐂"(文字コード"U+3402", , JISX0213(1-14-3))→"◆U3402◆" "倀"(文字コード"U+5000", , JISX0212(17-41), JISX2013(2-01-56))→"◆U5000◆" "?"(文字コード"U+20000", )→"◆UD840◆◆UDC00◆"
|
"?"(文字コード"U+2000B", )→"◆UD840◆◆UDC0B◆"
|
※1 新NACSIS-CAT/ILLでは非サロゲートペア文字の「◆Unnnn◆」を使用した入力はサポートされない
※2 新NACSIS-CAT/ILLではUTF-8ではないためサポートされない
漢字包摂と漢字統合インデックスについて
通常の漢字については,新たな漢字包摂,漢字統合インデックスは定義しません。
なお,既に実装済の漢字包摂に加え,(FA30-FAD9)及び(2F800-2FA1D)を追加します。 包摂先はUnicodeで規定されているとおりですが,下記の漢字については,従来の漢字包摂との整合性を取るため,下記のように定義します。
包摂前 | 包摂前字形 (通常fontがないため表示されません) |
本来の包摂先 | 本来の包摂先字形 | 訂正した包摂先 | 訂正した包摂先字形 |
---|---|---|---|---|---|
2F807 | ? | 5002 | 倂 | 4F75 | 併 |
2F814 | ? | 5167 | 內 | 5185 | 内 |
2F830 | ? | 537D | 卽 | 5373 | 即 |
2F862 | ? | 59EC | 姬 | 59EB | 姫 |
2F863 | ? | 5A1B | 娛 | 5A2F | 娯 |
2F882 | ? | 5DE2 | 巢 | 5DE3 | 巣 |
2F8CB | ? | 65E3 | 旣 | 65E2 | 既 |
2F8DF | ? | 67FA | 柺 | 67B4 | 枴 |
2F8F3 | ? | 6B72 | 歲 | 6B73 | 歳 |
また,従来の包摂定義につきまして,下記の2つ定義について,修正します。
包摂前 | 包摂前字形 | 現在の定義 (修正前) |
現在の字形 | 修正後の定義 | 修正後の字形 | 備考 |
---|---|---|---|---|---|---|
F951 | 陋 | 96FB | 電 | 964B | 陋 | |
F94D | 淚 | 6DDA | 淚 | 6D99 | 涙 | 6DDA→6D99の定義が存在するため |
UCS外字(サロゲートペア)と文字フォントについて
UCS外字(サロゲートペア)と文字フォントについては、以下のようになっていますので、ご注意ください。
●リクエスト
リクエストはUTF8, UTF8E とも「◆」で囲んで入力されたサロゲートペア文字が正しく変換され、データベースに格納されます。
●レスポンス
UTF8:サロゲートペア文字を「◆」で囲んで入力返します。
UTF8E:サロゲートペアの文字をUTF-16エンコーディングで API 応答として返します。
●サロゲートペア非対応文字の場合
サロゲートペア以外の文字を「◆」で囲んで入力した場合、正しい文字への変換は行われません。
●UTF8Eクライアントと文字フォントについて
クライアントに文字フォントがインストールされていない場合、文字の表示がされません。対象のフォントのないクライアントはUTF8をそのままご利用ください。
●サロゲートペアから文字を調べる方法について
UTF8クライアントではサロゲートペアで文字が表示されます。
文字コードの計算方法は以下のとおりです。サロゲートペアは,1つ目が"D8"~"DB",2つ目が"DC"~"DF"で始まります。
16進数を2進数にし,16ビットのコードにする。
それぞれの最上位の6ビットを削り,10ビットにする。(削るビットは"110110","110111"になります)
結合し,20ビットにする。
2進数を16進数にする。
"10000"を加える。
算出された文字コードはUnihan等で実際の文字を確認できます。
例:◆UD840◆◆UDC0B◆
1101 1000 0100 0000, 1101 1100 0000 1011
00 0100 0000, 00 0000 1011
0001 0000 0000 0000 1011
1000B
2000B
"2000B"は,"𠀋"(JISX0213:1-14-2, )になります。
便利なツール
- Unihan Database
- サロゲートペア変換ツール (42 KB)
参考資料
- Windows Vista関係
- Windows Vista等でのクライアント利用へのCAT/ILLサーバの対応(NACSIS-CAT/ILLニュースレター20号)
- Windows Vista等におけるクライアント利用上の御注意(JIS漢字第3,第4水準の入力環境)(NACSIS-CAT/ILLニュースレター19号)
- 包摂文字定義関係
- 「JIS X 0208」の包摂規準を適用する漢字 (目録情報の基準 第4版 付録1)
- 平成15年度CAT/ILLシステムの改造予定(NACSIS-CAT/ILLニュースレター13号)
- 包摂文字定義の追加(NACSIS-CAT/ILLニュースレター13号 付録1.3)
- NACSIS-CAT/ILLシステムの改造について(NACSIS-CAT/ILLニュースレター17号 2006.3.31)
- 包摂文字定義の追加(NACSIS-CAT/ILLニュースレター17号 付録3.3)