MIRACLE

メールサービス申込 ユーザー登録&ログイン パートナー情報
お問い合わせ FAQ サイトマップ
MIRACLE LINUXの特長 製品紹介 サービス案内 購入 サポート 技術フォーラム

テクノロジー情報



Samba 国際化プロジェクト > テストに使用したデータ

テストに使用したデータ

このページでは、Sambaの国際化の評価にあたり、日本語の中でもっとも問題の起こりやすい文字列のパターンをあげてみました。


テストに使用したデータ


ダウンロード:

検証に使用したテキストデータは以下のリンクからダウンロードすることができます。
   i18n_testdata.tar.gz (2003/12/19)

使用方法:

以下の操作を行うとファイルが展開されます。
  $ tar zxvf i18n_testdata.tar.gz
  $ cd testdata
なお、公開されているテスト用パッチには、もうすでにこのデータは組み込まれています。

国際化対応の考慮の必要がある要素


テストを実行するにあたり、マルチバイト文字対応の有無を調べるための考慮すべきデータのパターンをあげます。

リソース名

ファイル名、ディレクトリ名 最大 128バイト (unix charset)
ユーザ名、グループ名 最大 8バイト (unix charset)
共有名、プリンタ名 最大 12バイト (unix charset)
コンピュータ名、ワークグループ名   最大 15バイト (CP932)

文字列のパターン

  round trip 可能な文字

cp932/eucJP-ms と Unicode との間で文字コード (エンコーディング) の相互変換を行っても元のコードポイントの変換される文字です。 入力文字列と出力文字列を比較して一致する事を確認するテストが必要です。

  大文字小文字 (全角文字)

Windowsの世界ではローマ数字のなど、全角の大文字小文字を同一視します。 Sambaでも同様の処理が行われているか、テストを行う必要があります。

  シフトJIS 2 バイト目の ASCII 文字

0x5C (\) 問題

2バイト目が "\" (0x5C) の場合、想定していた動作をしない可能性があります。(参照)

ASCII文字の大文字小文字

"表" と "都" のように 2バイト目がASCIIの大文字と小文字だった場合、 2つの文字を同一と扱わないように確認が必要です。(参照)

   日本語版 Samba 2.2 と異なるコードポイントを用いる文字

テストに使用するエンコーディング

CP932
eucJP-ms
UTF-8

ファイル、ディレクトリ名 最大128バイト (unix charset)

round trip 可能な文字

   文字列一覧ファイル

8+3 形式のファイル file12.<文字コード>.txt
長いファイル名 file13.<文字コード>.txt
128バイトのファイル名 file128.<文字コード>.txt

(注) 8+3 形式はシフトJIS でのバイト数で計算。 128バイトのファイル名は、unix charset でのバイト数。

   ファイルフォーマット

1 行に 1 つの文字列

file12.*.txt, file13.*.txt, file128.*.txt には次の文字列が入っています。

記号
平仮名
第1水準
第2水準
半角カナ
NEC特殊文字
IBM拡張文字1
IBM拡張文字2

大文字小文字

   文字列一覧ファイル

8+3 形式のファイル file12_case.<文字コード>.txt
長いファイル名 file13_case.<文字コード>.txt

   ファイルフォーマット

1 行に大文字の文字列と小文字の文字列をタブを区切って格納

<大文字の文字列>\t<小文字の文字列>

   テスト例

大文字のファイル名を小文字のファイル名で参照、上書き
1. <小文字ファイル名> が存在しない事を確認する。
2. <大文字ファイル名> というファイル名で新規作成する。
3. <小文字ファイル名> でファイルを開き、その内容が <大文字ファイル名> である事を確認する。
4. <小文字ファイル名> でファイル作成 (上書き) する。
5. ファイル名一覧を取得し <大文字ファイル名> が存在し、 <小文字ファイル名> が存在しない事を確認する。
6. <大文字ファイル名> でファイルを開いて内容が <小文字ファイル名> となっている事を確認する。

小文字のファイル名を大文字のファイル名で参照、上書き
1. <大文字ファイル名> が存在しない事を確認する。
2. <小文字ファイル名> というファイル名で新規作成する。
3. <大文字ファイル名> でファイルを開き、その内容が <小文字ファイル名> である事を確認する。
4. <大文字ファイル名> でファイル作成 (上書き) する。
5. ファイル名一覧を取得し <小文字ファイル名> が存在し、 <大文字ファイル名> が存在しない事を確認する。
6. <小文字ファイル名> でファイルを開いて内容が <大文字ファイル名> となっている事を確認する。

参照: https://bugzilla.samba.org/show_bug.cgi?id=185

シフトJIS 2 バイト目の ASCII 文字

   0x5C (\) 問題

参照: https://bugzilla.samba.org/show_bug.cgi?id=186

"表.TXT" (表=0x955C) を作成できる事を確認する
"表.TXT" (表=0x955C) が mangle されない事を確認する (mangling method = hash)

   ASCII文字の大文字小文字問題

参照: https://bugzilla.samba.org/show_bug.cgi?id=189

"鉄.TXT" ("鉄"=0x9353, 0x53="S") を作成する。
"都.TXT" ("都"=0x9373, 0x73="s") を作成する。
"鉄.TXT" と "都.TXT" の両方が作成されている事を確認する。

日本語版 Samba 2.2 と異なるコードポイントを用いる文字

   文字列一覧ファイル

file_necibm.<文字コード>.txt

   ファイルフォーマット

Samba 3で使用する NEC特殊文字と Samba 2.2日本語版で使用するIBM拡張文字 をタブ区切って行単位で格納 (1 レコードのみ)

<NEC特殊文字>\t<IBM拡張文字>

ユーザ、グループ名 最大8バイト (unix charset)

round trip 可能な文字

   文字列一覧ファイル

user8.<文字コード>.txt

   ファイルフォーマット

1 行に 1 つの文字列

大文字小文字

   文字列一覧ファイル

user8_case.<文字コード>.txt

   ファイルフォーマット

1 行に大文字の文字列と小文字の文字列をタブを区切って格納

<大文字の文字列>\t<小文字の文字列>

シフトJIS 2 バイト目の ASCII 文字

   0x5C 問題

"表" をパラメータに使用できることを確認する。


   ASCII文字の大文字小文字

"鉄" と "都" を区別できる事を確認する。

日本語版 Samba 2.2 と異なるコードポイントを用いる文字

   文字列一覧ファイル

user8_necibm.<文字コード>.txt

   ファイルフォーマット

Samba 3で使用する NEC特殊文字と Samba 2.2日本語版で使用する IBM拡張文字をタブ区切って行単位で格納 (1 レコードのみ)

<NEC特殊文字>\t<IBM拡張文字>

共有名、プリンタ名 最大12バイト (unix charset)

round trip 可能な文字

   文字列一覧ファイル

share12.<文字コード>.txt

   ファイルフォーマット

1 行に 1 つの文字列

大文字小文字

   文字列一覧ファイル

share12_case.<文字コード>.txt

   ファイルフォーマット

1 行に大文字の文字列と小文字の文字列をタブを区切って格納

<大文字の文字列>\t<小文字の文字列>

シフトJIS 2 バイト目の ASCII 文字

   0x5C 問題

"表" をパラメータに使用できることを確認する。


   ASCII文字の大文字小文字

"鉄" と "都" を区別できる事を確認する。

日本語版 Samba 2.2 と異なるコードポイントを用いる文字

   文字列一覧ファイル

share12_necibm.<文字コード>.txt

   ファイルフォーマット

Samba 3で使用する NEC特殊文字と Samba 2.2日本語版で使用する IBM拡張文字をタブ区切って行単位で格納 (1 レコードのみ)

<NEC特殊文字>\t<IBM拡張文字>

コンピュータ名、ワークグループ名 最大15バイト (CP932)

round trip 可能な文字

   文字列一覧ファイル

15バイト長 netbios15.<文字コード>.txt
16バイト長 netbios16.<文字コード>.txt

※半角カナ以外は、16バイト目がシフトJIS の 2 バイト目になっています。 Samba が単純に 15バイトで文字列を切っていると不具合が発生すると思われます。


   ファイルフォーマット

1行に 1つの文字列

大文字小文字

   文字列一覧ファイル

netbios15_case.<文字コード>.txt

   ファイルフォーマット

1 行に大文字の文字列と小文字の文字列をタブを区切って格納

<大文字の文字列>\t<小文字の文字列>

シフトJIS 2 バイト目の ASCII 文字

   0x5C 問題

"表" をパラメータに使用できることを確認する。


   ASCII文字の大文字小文字

"鉄" と "都" を区別できる事を確認する。

日本語版 Samba 2.2 と異なるコードポイントを用いる文字

   文字列一覧ファイル

netbios15_necibm.<文字コード>.txt

   ファイルフォーマット

Samba 3で使用する NEC特殊文字と Samba 2.2日本語版で使用する IBM拡張文字をタブ区切って行単位で格納 (1 レコードのみ)

<NEC特殊文字>\t<IBM拡張文字>


会社情報 採用情報 個人情報保護方針 情報セキュリティ基本方針 商標等取り扱い事項 English
Copyright(c)2000-2015 MIRACLE LINUX CORPORATION. All Rights Reserved.