id:kkamegawa:20081113:p1の続き。川俣さんがXMLと文字MLに投げてくれた話題、ちょっともやっとしていたものをまとめてくださってます。ありがとうございます。一日でトップアクティブバグレポートに躍り出るとは思いませんでした。
http://www2.xml.gr.jp/log.html?MLID=xmlmoji&TID=1777&F=0&L=10&R=1
上記のMLでカルチャの話題が出ていたので、こんどはこんなプログラムを書いてみました。確認はWindows XP SP3/.NET Framework 3.5SP1です。
static void unicheck(CultureInfo culture) { string check = string.Empty; int collect = 0; for(char target = '\u4e00';target <= '\u9fa5';target++) { check = string.Format("{0}々,1234", target); if (culture.CompareInfo.IndexOf(check, ",") != 2) { collect++; } } Console.WriteLine("Culture:{0} の場合 {1}個判定誤り", culture.DisplayName, collect); } static void Main(string[] args) { CultureInfo[] cultures = CultureInfo.GetCultures(CultureTypes.AllCultures); foreach (CultureInfo culture in cultures) { unicheck(culture); } }
前のプログラムにちょっと足して、現在システムにインストールされているCultureを全部列挙して、Cultureを使ったIndexOf()を実行しています。結果は…。
Culture:アラビア語 の場合 84個判定誤り Culture:ブルガリア語 の場合 84個判定誤り Culture:カタロニア語 の場合 84個判定誤り Culture:簡体字中国語 の場合 83個判定誤り Culture:チェコ語 の場合 84個判定誤り Culture:デンマーク語 の場合 84個判定誤り Culture:ドイツ語 の場合 84個判定誤り Culture:ギリシャ語 の場合 84個判定誤り Culture:英語 の場合 84個判定誤り Culture:スペイン語 の場合 84個判定誤り Culture:フィンランド語 の場合 84個判定誤り Culture:フランス語 の場合 84個判定誤り Culture:ヘブライ語 の場合 84個判定誤り Culture:ハンガリー語 の場合 84個判定誤り Culture:アイスランド語 の場合 84個判定誤り Culture:イタリア語 の場合 84個判定誤り Culture:日本語 の場合 75個判定誤り Culture:韓国語 の場合 155個判定誤り Culture:オランダ語 の場合 84個判定誤り Culture:ノルウェー語 の場合 84個判定誤り Culture:ポーランド語 の場合 84個判定誤り Culture:ポルトガル語 の場合 84個判定誤り Culture:ルーマニア語 の場合 84個判定誤り Culture:ロシア語 の場合 84個判定誤り Culture:クロアチア語 の場合 84個判定誤り Culture:スロバキア語 の場合 84個判定誤り Culture:アルバニア語 の場合 84個判定誤り Culture:スウェーデン語 の場合 84個判定誤り Culture:タイ語 の場合 84個判定誤り Culture:トルコ語 の場合 84個判定誤り Culture:ウルドゥー語 の場合 84個判定誤り Culture:インドネシア語 の場合 84個判定誤り Culture:ウクライナ語 の場合 84個判定誤り Culture:ベラルーシ語 の場合 84個判定誤り Culture:スロベニア語 の場合 84個判定誤り Culture:エストニア語 の場合 84個判定誤り Culture:ラトビア語 の場合 84個判定誤り Culture:リトアニア語 の場合 84個判定誤り Culture:ペルシャ語 の場合 84個判定誤り Culture:ベトナム語 の場合 84個判定誤り Culture:アルメニア語 の場合 84個判定誤り Culture:アゼルバイジャン語 の場合 84個判定誤り Culture:バスク語 の場合 84個判定誤り Culture:マケドニア語 の場合 84個判定誤り Culture:アフリカーンス語 の場合 84個判定誤り Culture:グルジア語 の場合 84個判定誤り Culture:フェロー語 の場合 84個判定誤り Culture:ヒンディー語 の場合 84個判定誤り Culture:マレー語 の場合 84個判定誤り Culture:カザフ語 の場合 84個判定誤り Culture:キルギス語 の場合 84個判定誤り Culture:スワヒリ語 の場合 84個判定誤り Culture:ウズベク語 の場合 84個判定誤り Culture:タタール語 の場合 84個判定誤り Culture:パンジャブ語 の場合 84個判定誤り Culture:グジャラート語 の場合 84個判定誤り Culture:タミール語 の場合 84個判定誤り Culture:テルグ語 の場合 84個判定誤り Culture:カナラ語 の場合 84個判定誤り Culture:マラーティー語 の場合 84個判定誤り Culture:サンスクリット語 の場合 84個判定誤り Culture:モンゴル語 の場合 84個判定誤り Culture:ガリシア語 の場合 84個判定誤り Culture:コンカニ語 の場合 84個判定誤り Culture:シリア語 の場合 84個判定誤り Culture:ディヘビ語 の場合 84個判定誤り Culture:インバリアント言語 (Invariant 国) の場合 84個判定誤り Culture:アラビア語 (サウジアラビア) の場合 84個判定誤り Culture:ブルガリア語 (ブルガリア) の場合 84個判定誤り Culture:カタロニア語 (カタロニア) の場合 84個判定誤り Culture:中国語 (台湾) の場合 71個判定誤り Culture:チェコ語 (チェコ共和国) の場合 84個判定誤り Culture:デンマーク語 (デンマーク) の場合 84個判定誤り Culture:ドイツ語 (ドイツ) の場合 84個判定誤り Culture:ギリシャ語 (ギリシャ) の場合 84個判定誤り Culture:英語 (米国) の場合 84個判定誤り Culture:フィンランド語 (フィンランド) の場合 84個判定誤り Culture:フランス語 (フランス) の場合 84個判定誤り Culture:ヘブライ語 (イスラエル) の場合 84個判定誤り Culture:ハンガリー語 (ハンガリー) の場合 84個判定誤り Culture:アイスランド語 (アイスランド) の場合 84個判定誤り Culture:イタリア語 (イタリア) の場合 84個判定誤り Culture:日本語 (日本) の場合 75個判定誤り Culture:韓国語 (韓国) の場合 155個判定誤り Culture:オランダ語 (オランダ) の場合 84個判定誤り Culture:ノルウェー語 ブークモール (ノルウェー) の場合 84個判定誤り Culture:ポーランド語 (ポーランド) の場合 84個判定誤り Culture:ポルトガル語 (ブラジル) の場合 84個判定誤り Culture:ルーマニア語 (ルーマニア) の場合 84個判定誤り Culture:ロシア語 (ロシア) の場合 84個判定誤り Culture:クロアチア語 (クロアチア) の場合 84個判定誤り Culture:スロバキア語 (スロバキア) の場合 84個判定誤り Culture:アルバニア語 (アルバニア) の場合 84個判定誤り Culture:スウェーデン語 (スウェーデン) の場合 84個判定誤り Culture:タイ語 (タイ) の場合 84個判定誤り Culture:トルコ語 (トルコ) の場合 84個判定誤り Culture:ウルドゥー語 (パキスタン・イスラム共和国) の場合 84個判定誤り Culture:インドネシア語 (インドネシア) の場合 84個判定誤り Culture:ウクライナ語 (ウクライナ) の場合 84個判定誤り Culture:ベラルーシ語 (ベラルーシ) の場合 84個判定誤り Culture:スロベニア語 (スロベニア) の場合 84個判定誤り Culture:エストニア語 (エストニア) の場合 84個判定誤り Culture:ラトビア語 (ラトビア) の場合 84個判定誤り Culture:リトアニア語 (リトアニア) の場合 84個判定誤り Culture:ペルシャ語 (イラン) の場合 84個判定誤り Culture:ベトナム語 (ベトナム) の場合 84個判定誤り Culture:アルメニア語 (アルメニア) の場合 84個判定誤り Culture:アゼルバイジャン語 (ラテン、アゼルバイジャン) の場合 84個判定誤り Culture:バスク語 (バスク) の場合 84個判定誤り Culture:マケドニア語 (マケドニア旧ユーゴスラビア共和国) の場合 84個判定誤り Culture:アフリカーンス語 (南アフリカ) の場合 84個判定誤り Culture:グルジア語 (グルジア) の場合 84個判定誤り Culture:フェロー語 (フェロー諸島) の場合 84個判定誤り Culture:ヒンディー語 (インド) の場合 84個判定誤り Culture:マレー語 (マレーシア) の場合 84個判定誤り Culture:カザーフ語 (カザフスタン) の場合 84個判定誤り Culture:キルギス語 (キルギス) の場合 84個判定誤り Culture:スワヒリ語 (ケニア) の場合 84個判定誤り Culture:ウズベク語 (ラテン、ウズベキスタン) の場合 84個判定誤り Culture:タタール語 (ロシア) の場合 84個判定誤り Culture:パンジャーブ語 (インド) の場合 84個判定誤り Culture:グジャラート語 (インド) の場合 84個判定誤り Culture:タミール語 (インド) の場合 84個判定誤り Culture:テルグ語 (インド) の場合 84個判定誤り Culture:カナラ語 (インド) の場合 84個判定誤り Culture:マラーティー語 (インド) の場合 84個判定誤り Culture:サンスクリット語 (インド) の場合 84個判定誤り Culture:モンゴル語 (キリル、モンゴル) の場合 84個判定誤り Culture:ガリシア語 (ガリシア) の場合 84個判定誤り Culture:コンカニ語 (インド) の場合 84個判定誤り Culture:シリア語 (シリア) の場合 84個判定誤り Culture:ディヘビ語 (モルディブ) の場合 84個判定誤り Culture:アラビア語 (イラク) の場合 84個判定誤り Culture:中国語 (中華人民共和国) の場合 83個判定誤り Culture:ドイツ語 (スイス) の場合 84個判定誤り Culture:英語 (英国) の場合 84個判定誤り Culture:スペイン語 (メキシコ) の場合 84個判定誤り Culture:フランス語 (ベルギー) の場合 84個判定誤り Culture:イタリア語 (スイス) の場合 84個判定誤り Culture:オランダ語 (ベルギー) の場合 84個判定誤り Culture:ノルウェー語 ニーノシク (ノルウェー) の場合 84個判定誤り Culture:ポルトガル語 (ポルトガル) の場合 84個判定誤り Culture:セルビア語 (ラテン, セルビア) の場合 84個判定誤り Culture:スウェーデン語 (フィンランド) の場合 84個判定誤り Culture:アゼルバイジャン語 (キリル、アゼルバイジャン) の場合 84個判定誤り Culture:マレー語 (ブルネイ・ダルサラーム国) の場合 84個判定誤り Culture:ウズベク語 (キリル、ウズベキスタン) の場合 84個判定誤り Culture:アラビア語 (エジプト) の場合 84個判定誤り Culture:中国語 (香港特別行政区) の場合 71個判定誤り Culture:ドイツ語 (オーストリア) の場合 84個判定誤り Culture:英語 (オーストラリア) の場合 84個判定誤り Culture:スペイン語 (スペイン) の場合 84個判定誤り Culture:フランス語 (カナダ) の場合 84個判定誤り Culture:セルビア語 (キリル, セルビア) の場合 84個判定誤り Culture:アラビア語 (リビア) の場合 84個判定誤り Culture:中国語 (シンガポール) の場合 83個判定誤り Culture:ドイツ語 (ルクセンブルグ) の場合 84個判定誤り Culture:英語 (カナダ) の場合 84個判定誤り Culture:スペイン語 (グアテマラ) の場合 84個判定誤り Culture:フランス語 (スイス) の場合 84個判定誤り Culture:アラビア語 (アルジェリア) の場合 84個判定誤り Culture:中国語 (マカオ特別行政区) の場合 83個判定誤り Culture:ドイツ語 (リヒテンシュタイン) の場合 84個判定誤り Culture:英語 (ニュージーランド) の場合 84個判定誤り Culture:スペイン語 (コスタリカ) の場合 84個判定誤り Culture:フランス語 (ルクセンブルグ) の場合 84個判定誤り Culture:アラビア語 (モロッコ) の場合 84個判定誤り Culture:英語 (アイルランド) の場合 84個判定誤り Culture:スペイン語 (パナマ) の場合 84個判定誤り Culture:フランス語 (モナコ) の場合 84個判定誤り Culture:アラビア語 (チュニジア) の場合 84個判定誤り Culture:英語 (南アフリカ) の場合 84個判定誤り Culture:スペイン語 (ドミニカ共和国) の場合 84個判定誤り Culture:アラビア語 (オマーン) の場合 84個判定誤り Culture:英語 (ジャマイカ) の場合 84個判定誤り Culture:スペイン語 (ベネズエラ) の場合 84個判定誤り Culture:アラビア語 (イエメン) の場合 84個判定誤り Culture:英語 (カリブ) の場合 84個判定誤り Culture:スペイン語 (コロンビア) の場合 84個判定誤り Culture:アラビア語 (シリア) の場合 84個判定誤り Culture:英語 (ベリーズ) の場合 84個判定誤り Culture:スペイン語 (ペルー) の場合 84個判定誤り Culture:アラビア語 (ヨルダン) の場合 84個判定誤り Culture:英語 (トリニダード・トバゴ) の場合 84個判定誤り Culture:スペイン語 (アルゼンチン) の場合 84個判定誤り Culture:アラビア語 (レバノン) の場合 84個判定誤り Culture:英語 (ジンバブエ) の場合 84個判定誤り Culture:スペイン語 (エクアドル) の場合 84個判定誤り Culture:アラビア語 (クウェート) の場合 84個判定誤り Culture:英語 (フィリピン共和国) の場合 84個判定誤り Culture:スペイン語 (チリ) の場合 84個判定誤り Culture:アラビア語 (アラブ首長国連邦) の場合 84個判定誤り Culture:スペイン語 (ウルグアイ) の場合 84個判定誤り Culture:アラビア語 (バーレーン) の場合 84個判定誤り Culture:スペイン語 (パラグアイ) の場合 84個判定誤り Culture:アラビア語 (カタール) の場合 84個判定誤り Culture:スペイン語 (ボリビア) の場合 84個判定誤り Culture:スペイン語 (エルサルバドル) の場合 84個判定誤り Culture:スペイン語 (ホンジュラス) の場合 84個判定誤り Culture:スペイン語 (ニカラグア) の場合 84個判定誤り Culture:スペイン語 (プエルトリコ) の場合 84個判定誤り Culture:繁体字中国語 の場合 71個判定誤り Culture:セルビア語 の場合 84個判定誤り Culture:南サーミ語 (ノルウェー) の場合 0個判定誤り Culture:セルビア語 (キリル、ボスニア・ヘルツェゴビナ) の場合 0個判定誤り Culture:ズールー語 の場合 0個判定誤り Culture:コーサ語 の場合 0個判定誤り Culture:フリジア語 (オランダ) の場合 0個判定誤り Culture:ツワナ語 の場合 0個判定誤り Culture:北サーミ語 (スウェーデン) の場合 0個判定誤り Culture:南サーミ語 (スウェーデン) の場合 0個判定誤り Culture:クロアチア語 (ボスニア・ヘルツェゴビナ) の場合 0個判定誤り Culture:イナリ サーミ語 (フィンランド) の場合 0個判定誤り Culture:ケチュア語 (ペルー) の場合 0個判定誤り Culture:北サーミ語 (フィンランド) の場合 0個判定誤り Culture:スコルト サーミ語 (フィンランド) の場合 0個判定誤り Culture:ウェールズ語 の場合 0個判定誤り Culture:ボスニア語 (ラテン、ボスニア・ヘルツェゴビナ) の場合 0個判定誤り Culture:ボスニア語 (キリル、ボスニア・ヘルツェゴビナ) の場合 0個判定誤り Culture:フィリピノ語 (フィリピン) の場合 0個判定誤り Culture:ルレ サーミ語 (ノルウェー) の場合 0個判定誤り Culture:マプ語 (チリ) の場合 0個判定誤り Culture:イヌクティトット語 (ラテン、カナダ) の場合 0個判定誤り Culture:マオリ語 の場合 0個判定誤り Culture:ケチュア語 (エクアドル) の場合 0個判定誤り Culture:アイルランド語 (アイルランド) の場合 0個判定誤り Culture:セルビア語 (ラテン、ボスニア・ヘルツェゴビナ) の場合 0個判定誤り Culture:モホーク語 (モホーク) の場合 0個判定誤り Culture:ルレ サーミ語 (スウェーデン) の場合 0個判定誤り Culture:ルクセンブルク語 (ルクセンブルグ) の場合 0個判定誤り Culture:北ソト語 の場合 0個判定誤り Culture:ケチュア語 (ボリビア) の場合 0個判定誤り Culture:北サーミ語 (ノルウェー) の場合 0個判定誤り Culture:マルタ語 の場合 0個判定誤り Culture:ロマンシュ語 (スイス) の場合 0個判定誤り
大きくいくつかのグループに分かれます。
- 84個の誤り(多数)
- 日本の誤り
- 0個の誤り(実はカルチャがあるだけで、NLSとしては何も実装されていない?)
- 中国語固有の誤り(シンガポール/繁体字/香港特別行政区/台湾/簡体字)
- 韓国語の誤り(155個!)
興味深い間違え方ですね。なんかわざとやっているのかと思います。
id:NyaRuRuさんもフィードバックのほうにコメントと検証ありがとうございます。