#?SuikaWiki/0.9 [[WindowsCodePage]] の実装である [[NLS]] ファイルについて。 [23] Windows で実際に CP の情報が入っているのは、 C:\Windows\System(32) にある *.nls というファイルです。 (この名前は [[OS]] によって違いますが、いずれも CP 番号が入っています。) 但しそこにあるのは Windows がそれ自体の変換表を持ってる CP だけで、他の CP を加工したものとして実装しているもの ([[ISO-2022-JP]] とか) にはこのファイルはありません。 [2] CP の NLS は Windows 9x では ''CP_*.NLS'' ですが、 [[WindowsNT]] では ''c_*.nls'' で名前が違います。 - [54] [WEAK[2003-09-10 16:10:09 +00:00]] ''[[c_20290.nls]]'': - [58] [WEAK[2003-09-19 15:25:15 +00:00]] ''[[Mr.Anonymous]]'': c_21027.nls - [65] [WEAK[2003-12-01 12:55:55 +00:00]] ''[[Kevin]]'': Vickers - [67] [WEAK[2003-12-03 21:26:50 +00:00]] ''[[名無しさん]]'': c_1361.nls [[#comment]] *日本語 Windows 95 OSR2.1 [25] [[OSR]]2 には Default で [[IE]] 3.02 が入っていましたが、 IE3 は default では International pack なしですのであまり関係ないかもしれません。 [39] [[アプリケーションの追加と削除]]で多国語サポートを追加したら、 5つ増えました。 [40] 時刻は全部、 OSR2 を package した時刻なんだと思います。 [PRE[ Windows/4.00.1111 ( B) (Windows 95 OSR2) (486) MSIE/4.70.1155 CP_437 NLS 9,522 96-09-05 11:11 CP_437.NLS CP_850 NLS 9,826 96-09-05 11:11 CP_850.NLS CP_932 NLS 408,546 96-09-05 11:11 CP_932.NLS CP_1252 NLS 9,194 96-09-05 11:11 CP_1252.NLS CP_20866 NLS 6,824 96-09-05 11:11 CP_20866.NLS CP_28592 NLS 5,416 96-09-05 11:11 CP_28592.NLS CP_28593 NLS 5,448 96-09-05 11:11 CP_28593.NLS CP_28594 NLS 5,448 96-09-05 11:11 CP_28594.NLS CP_28597 NLS 5,320 96-09-05 11:11 CP_28597.NLS LOCALE NLS 128,520 96-09-05 11:11 LOCALE.NLS UNICODE NLS 34,676 96-09-05 11:11 UNICODE.NLS CP_1250 NLS 9,124 96-09-05 11:11 CP_1250.NLS CP_1251 NLS 6,868 96-09-05 11:11 CP_1251.NLS CP_1253 NLS 6,856 96-09-05 11:11 CP_1253.NLS CP_1254 NLS 7,708 96-09-05 11:11 CP_1254.NLS CP_1257 NLS 5,960 96-09-05 11:11 CP_1257.NLS ]PRE] *Windows 98 + Internet Explorer 5.5 [26] [[IE]]5.5 が入っていて生 Win98 ではないです。 WinMe (>>21) と比較すると、 CP_20127.NLS がこちらにはありません。また、 CP437 と CP850 がなぜか >>21 より4日新しい版です。 (なお、 >>21 との日付の微妙な差は [[dir]] した環境の時差のせいみたいです。) [27] >>26 の差異は実際にはないみたいです。 よって、 >>21 と >>26 に両者に存在する NLS の変換表はすべて一致しますた。 [28] >>25 (OSR2) と >>26 の比較の結果、 437, 850, 932 (See [[WindowsCodePage]>>30]), 28592, 28593, 28594, 28597 で fallback mapping (UCS -> CP) の (>>26 での) 追加がありました。 また、 1252 は [[WindowsCodePage]>>29] の通り変更が行われていました。 [PRE[ #; Windows/4.10.1998 (Windows 98) (586) #; Internet Explorer: 5.50.4134 CP_1250 NLS 9,956 97-07-31 1:21 CP_1250.NLS CP_1251 NLS 6,926 97-07-31 1:21 CP_1251.NLS CP_1252 NLS 9,938 97-07-31 0:50 CP_1252.NLS CP_1253 NLS 6,888 97-05-31 3:55 CP_1253.NLS CP_1254 NLS 7,708 97-11-04 6:55 CP_1254.NLS CP_1255 NLS 5,940 98-02-10 23:48 CP_1255.NLS CP_1256 NLS 6,640 98-11-20 5:43 CP_1256.NLS CP_1257 NLS 6,112 97-11-05 21:24 CP_1257.NLS CP_1258 NLS 6,004 97-05-31 3:56 CP_1258.NLS CP_1361 NLS 397,474 96-05-23 2:47 CP_1361.NLS CP_20269 NLS 5,736 96-05-23 2:47 CP_20269.NLS CP_20866 NLS 6,824 96-05-23 2:47 CP_20866.NLS CP_21866 NLS 6,824 97-07-24 23:09 CP_21866.NLS CP_28591 NLS 6,312 96-10-09 3:28 CP_28591.NLS CP_28592 NLS 6,312 96-10-09 3:28 CP_28592.NLS CP_28593 NLS 6,376 96-10-09 3:28 CP_28593.NLS CP_28594 NLS 6,312 96-10-09 3:28 CP_28594.NLS CP_28595 NLS 6,568 96-10-09 3:28 CP_28595.NLS CP_28596 NLS 6,696 96-10-09 3:28 CP_28596.NLS CP_28597 NLS 6,536 96-10-09 3:28 CP_28597.NLS CP_28598 NLS 6,568 96-10-09 3:28 CP_28598.NLS CP_28599 NLS 6,312 96-10-09 3:28 CP_28599.NLS CP_28605 NLS 6,344 99-01-05 23:41 CP_28605.NLS CP_437 NLS 8,648 98-06-12 20:01 CP_437.NLS CP_850 NLS 8,648 98-06-12 20:01 CP_850.NLS CP_874 NLS 10,504 98-08-26 2:44 CP_874.NLS CP_932 NLS 407,586 97-09-03 22:35 CP_932.NLS CP_936 NLS 537,858 97-09-12 9:52 CP_936.NLS CP_949 NLS 529,478 96-07-03 2:25 CP_949.NLS CP_950 NLS 486,850 96-10-25 4:58 CP_950.NLS LOCALE NLS 175,338 98-06-12 20:01 LOCALE.NLS UNICODE NLS 34,676 98-06-12 20:01 UNICODE.NLS ]PRE] *Windows Me + Internet Explorer 5.5 [21] [PRE[ C:\WINDOWS\SYSTEM> dir cp*.nls | sort CP_1250 NLS 9,956 97-07-30 16:21 CP_1250.NLS CP_1251 NLS 6,926 97-07-30 16:21 CP_1251.NLS CP_1252 NLS 9,938 97-07-30 15:50 CP_1252.NLS CP_1253 NLS 6,888 97-05-30 18:55 CP_1253.NLS CP_1254 NLS 7,708 97-11-03 21:55 CP_1254.NLS CP_1255 NLS 5,940 98-02-10 14:48 CP_1255.NLS CP_1256 NLS 6,640 98-11-19 20:43 CP_1256.NLS CP_1257 NLS 6,112 97-11-05 12:24 CP_1257.NLS CP_1258 NLS 6,004 97-05-30 18:56 CP_1258.NLS CP_1361 NLS 397,474 96-05-22 17:47 CP_1361.NLS CP_20127 NLS 6,312 00-06-08 17:00 CP_20127.NLS CP_20269 NLS 5,736 96-05-22 17:47 CP_20269.NLS CP_20866 NLS 6,824 96-05-22 17:47 CP_20866.NLS CP_21866 NLS 6,824 97-07-24 14:09 CP_21866.NLS CP_28591 NLS 6,312 96-10-08 18:28 CP_28591.NLS CP_28592 NLS 6,312 96-10-08 18:28 CP_28592.NLS CP_28593 NLS 6,376 96-10-08 18:28 CP_28593.NLS CP_28594 NLS 6,312 96-10-08 18:28 CP_28594.NLS CP_28595 NLS 6,568 96-10-08 18:28 CP_28595.NLS CP_28596 NLS 6,696 96-10-08 18:28 CP_28596.NLS CP_28597 NLS 6,536 96-10-08 18:28 CP_28597.NLS CP_28598 NLS 6,568 96-10-08 18:28 CP_28598.NLS CP_28599 NLS 6,312 96-10-08 18:28 CP_28599.NLS CP_28605 NLS 6,344 99-01-05 14:41 CP_28605.NLS CP_437 NLS 8,648 00-06-08 17:00 CP_437.NLS CP_850 NLS 8,648 00-06-08 17:00 CP_850.NLS CP_874 NLS 10,504 98-08-25 17:44 CP_874.NLS CP_932 NLS 407,586 97-09-03 13:35 CP_932.NLS CP_936 NLS 537,858 97-09-12 0:52 CP_936.NLS CP_949 NLS 529,478 96-07-02 17:25 CP_949.NLS CP_950 NLS 486,850 96-10-24 19:58 CP_950.NLS ]PRE] *Windows 98 + Internet Explorer 6 [31] >>26 に [[IE]]6 SP2 を入れました。 Install の option で **語サポートの選択肢があるのをすべて追加しました。 - [33] ''[[名無しさん]]'' 日付が今日 (install 日) のになってしまった... - [34] ''[[名無しさん]]'' 日付が今日じゃないのは、全部 >>26 のと同じ様です。 - [35] 実際に変換が変わっているのは 1256 だけですた。その内容は [[WindowsCodePage]>>36] に書きます。 - [37] [[中文]],[[韓語]]表示サポートも追加したにもかかわらず、これらは更新されませんでした。最新の変換表はあるはずなのに。 (9x 向けには用意してない?) - [38] 2002-11-04 (月) 16:29 ''>>33'' >>31 以外のも、 Windoze や IE の install 日時が影響している可能性があるから、日時は参考程度にしかならんな。 - [66] [WEAK[2003-12-03 19:56:48 +00:00]] ''[[kbdtuf.dll]]'': [[#comment]] [PRE[ Windows/4.10.1998 (Windows 98) (586) MSIE/6.0.2800.1106 CP_10004 NLS 5,960 02-11-04 15:00 CP_10004.NLS CP_1250 NLS 9,956 02-11-04 15:00 CP_1250.NLS CP_1251 NLS 6,880 02-11-04 15:00 CP_1251.NLS CP_1252 NLS 9,938 97-07-31 0:50 CP_1252.NLS CP_1253 NLS 6,888 02-11-04 15:00 CP_1253.NLS CP_1254 NLS 7,708 02-11-04 15:00 CP_1254.NLS CP_1255 NLS 5,940 02-11-04 15:00 CP_1255.NLS CP_1256 NLS 6,672 02-11-04 15:00 CP_1256.NLS CP_1257 NLS 6,112 02-11-04 15:00 CP_1257.NLS CP_1258 NLS 6,004 02-11-04 15:00 CP_1258.NLS CP_1361 NLS 397,474 96-05-23 2:47 CP_1361.NLS CP_20269 NLS 5,736 96-05-23 2:47 CP_20269.NLS CP_20866 NLS 6,824 02-11-04 15:00 CP_20866.NLS CP_21866 NLS 6,824 02-11-04 15:00 CP_21866.NLS CP_28591 NLS 6,312 96-10-09 3:28 CP_28591.NLS CP_28592 NLS 6,312 02-11-04 15:00 CP_28592.NLS CP_28593 NLS 6,376 96-10-09 3:28 CP_28593.NLS CP_28594 NLS 6,312 02-11-04 15:00 CP_28594.NLS CP_28595 NLS 6,568 02-11-04 15:00 CP_28595.NLS CP_28596 NLS 6,696 02-11-04 15:00 CP_28596.NLS CP_28597 NLS 6,536 02-11-04 15:00 CP_28597.NLS CP_28598 NLS 6,568 02-11-04 15:00 CP_28598.NLS CP_28599 NLS 6,312 02-11-04 15:00 CP_28599.NLS CP_28605 NLS 6,344 99-01-05 23:41 CP_28605.NLS CP_437 NLS 8,648 98-06-12 20:01 CP_437.NLS CP_708 NLS 5,896 02-11-04 15:00 CP_708.NLS CP_720 NLS 6,216 02-11-04 15:00 CP_720.NLS CP_850 NLS 8,648 98-06-12 20:01 CP_850.NLS CP_852 NLS 8,392 02-11-04 15:00 CP_852.NLS CP_862 NLS 8,712 02-11-04 15:00 CP_862.NLS CP_866 NLS 7,496 02-11-04 15:00 CP_866.NLS CP_874 NLS 10,504 02-11-04 15:00 CP_874.NLS CP_932 NLS 407,586 97-09-03 22:35 CP_932.NLS CP_936 NLS 537,858 97-09-12 9:52 CP_936.NLS CP_949 NLS 529,478 96-07-03 2:25 CP_949.NLS CP_950 NLS 486,850 96-10-25 4:58 CP_950.NLS LOCALE NLS 175,338 98-06-12 20:01 LOCALE.NLS UNICODE NLS 34,676 98-06-12 20:01 UNICODE.NLS ]PRE] *Windows 2000 [1] [[Windows]] 9x よりも Code Page の NLS 以外の NLS が多いですね... [PRE[ WindowsNT/5.00.2195 (Service Pack 1) (Windows 2000) (586) MSIE/6.0.2800.1106 2000/08/26 21:00 168 l_except.nls 2000/08/26 21:00 7,046 l_intl.nls 2000/08/26 21:00 7,070 ctype.nls 2000/08/26 21:00 13,696 sorttbls.nls 2000/08/26 21:00 28,288 xjis.nls 2000/08/26 21:00 47,066 ksc.nls 2000/08/26 21:00 66,082 c_037.nls 2000/08/26 21:00 66,082 c_10000.nls 2000/08/26 21:00 66,082 c_10079.nls 2000/08/26 21:00 66,082 c_1026.nls 2000/08/26 21:00 66,082 c_1250.nls 2000/08/26 21:00 66,082 c_1251.nls 2000/08/26 21:00 66,082 c_1252.nls 2000/08/26 21:00 66,082 c_1253.nls 2000/08/26 21:00 66,082 c_1254.nls 2000/08/26 21:00 66,082 c_1255.nls 2000/08/26 21:00 66,082 c_1256.nls 2000/08/26 21:00 66,082 c_1257.nls 2000/08/26 21:00 66,082 c_1258.nls 2000/08/26 21:00 66,082 c_20127.nls 2000/08/26 21:00 66,082 c_20290.nls 2000/08/26 21:00 66,082 c_20866.nls 2000/08/26 21:00 66,082 c_20905.nls 2000/08/26 21:00 66,082 c_21027.nls 2000/08/26 21:00 66,082 c_21866.nls 2000/08/26 21:00 66,082 c_28591.nls 2000/08/26 21:00 66,082 c_28592.nls 2000/08/26 21:00 66,082 c_28593.nls 2000/08/26 21:00 66,082 c_28598.nls 2000/08/26 21:00 66,082 c_28605.nls 2000/08/26 21:00 66,082 c_500.nls 2000/08/26 21:00 66,594 c_437.nls 2000/08/26 21:00 66,594 c_775.nls 2000/08/26 21:00 66,594 c_850.nls 2000/08/26 21:00 66,594 c_860.nls 2000/08/26 21:00 66,594 c_861.nls 2000/08/26 21:00 66,594 c_863.nls 2000/08/26 21:00 66,594 c_865.nls 2000/08/26 21:00 66,594 c_874.nls 2000/08/26 21:00 66,728 big5.nls 2000/08/26 21:00 82,172 bopomofo.nls 2000/08/26 21:00 83,748 prc.nls 2000/08/26 21:00 83,748 prcp.nls 2000/08/26 21:00 89,588 unicode.nls 2000/08/26 21:00 139,810 c_20261.nls 2000/08/26 21:00 162,850 c_10001.nls 2000/08/26 21:00 162,850 c_932.nls 2000/08/26 21:00 173,602 c_20936.nls 2000/08/26 21:00 177,698 c_20949.nls 2000/08/26 21:00 180,258 c_20000.nls 2000/08/26 21:00 180,770 c_20932.nls 2000/08/26 21:00 192,236 locale.nls 2000/08/26 21:00 196,642 c_936.nls 2000/08/26 21:00 196,642 c_949.nls 2000/08/26 21:00 196,642 c_950.nls 2000/08/26 21:00 262,148 sortkey.nls ]PRE] - [41] 21866.nls があるのに MB2WC/WC2MB で使えない。なんで? - [42] >>41 28593, 28598 もだ。たまたま調子が悪かっただけかもしれんが、実機が手元に無いからすぐには確認できん... - [43] 変換処理を >>21 と比較してみたが、 CP125[VAR[x]] 系を中心に [CODE(CHAR)[FULLWIDTH]] -> 0x[VAR[XX]] が追加されているのと、 CP9[VAR[xx]] とかで [CODE(CHAR)[EURO SIGN]] とかの追加があるのが大きな変化。 - [44] >>42 1026, 20905, 775 も - [45] >>41-44 確認してみますたが、やっぱり駄目ですた。原因はわかりません。 - [50] [WEAK[2003-09-05 15:01:46 +00:00]] ''[[名無しさん]]'': ksc.nls - [56] [WEAK[2003-09-15 11:58:00 +00:00]] ''[[名無しさん]]'': c_10003 - [59] [WEAK[2003-09-19 18:58:01 +00:00]] ''[[名無しさん]]'': xjis.nls - [60] [WEAK[2003-09-21 21:16:36 +00:00]] ''[[c_20290.nls]]'': - [61] [WEAK[2003-09-25 07:26:54 +00:00]] ''[[c_1361]]'': - [63] [WEAK[2003-10-22 10:55:21 +00:00]] ''[[c_855.nls]]'': - [64] [WEAK[2003-10-23 09:22:20 +00:00]] ''[[prc]]'': [[#comment]] *Windows XP [3] [PRE[ WindowsNT/5.01.2600 (Service Pack 1) (Windows XP) (586) MSIE/6.0.2800.1106 2001/08/28 21:00 168 l_except.nls 2001/08/28 21:00 7,046 l_intl.nls 2001/08/28 21:00 8,386 ctype.nls 2001/08/28 21:00 21,116 sorttbls.nls 2001/08/28 21:00 24,772 geo.nls 2001/08/28 21:00 28,288 xjis.nls 2001/08/28 21:00 47,066 ksc.nls 2001/08/28 21:00 66,082 C_28594.NLS 2001/08/28 21:00 66,082 C_28595.NLS 2001/08/28 21:00 66,082 C_28597.NLS 2001/08/28 21:00 66,082 c_037.nls 2001/08/28 21:00 66,082 c_10000.nls 2001/08/28 21:00 66,082 c_10006.nls 2001/08/28 21:00 66,082 c_10007.nls 2001/08/28 21:00 66,082 c_10010.nls 2001/08/28 21:00 66,082 c_10017.nls 2001/08/28 21:00 66,082 c_10029.nls 2001/08/28 21:00 66,082 c_10079.nls 2001/08/28 21:00 66,082 c_10081.nls 2001/08/28 21:00 66,082 c_10082.nls 2001/08/28 21:00 66,082 c_1026.nls 2001/08/28 21:00 66,082 c_1250.nls 2001/08/28 21:00 66,082 c_1251.nls 2001/08/28 21:00 66,082 c_1252.nls 2001/08/28 21:00 66,082 c_1253.nls 2001/08/28 21:00 66,082 c_1254.nls 2001/08/28 21:00 66,082 c_1255.nls 2001/08/28 21:00 66,082 c_1256.nls 2001/08/28 21:00 66,082 c_1257.nls 2001/08/28 21:00 66,082 c_1258.nls 2001/08/28 21:00 66,082 c_20127.nls 2001/08/28 21:00 66,082 c_20290.nls 2001/08/28 21:00 66,082 c_20866.nls 2001/08/28 21:00 66,082 c_20905.nls 2001/08/28 21:00 66,082 c_21027.nls 2001/08/28 21:00 66,082 c_21866.nls 2001/08/28 21:00 66,082 c_28591.nls 2001/08/28 21:00 66,082 c_28592.nls 2001/08/28 21:00 66,082 c_28593.nls 2001/08/28 21:00 66,082 c_28598.nls 2001/08/28 21:00 66,082 c_28599.nls 2001/08/28 21:00 66,082 c_28605.nls 2001/08/28 21:00 66,082 c_500.nls 2001/08/28 21:00 66,082 c_875.nls 2001/08/28 21:00 66,594 c_437.nls 2001/08/28 21:00 66,594 c_737.nls 2001/08/28 21:00 66,594 c_775.nls 2001/08/28 21:00 66,594 c_850.nls 2001/08/28 21:00 66,594 c_852.nls 2001/08/28 21:00 66,594 c_855.nls 2001/08/28 21:00 66,594 c_857.nls 2001/08/28 21:00 66,594 c_860.nls 2001/08/28 21:00 66,594 c_861.nls 2001/08/28 21:00 66,594 c_863.nls 2001/08/28 21:00 66,594 c_865.nls 2001/08/28 21:00 66,594 c_866.nls 2001/08/28 21:00 66,594 c_869.nls 2001/08/28 21:00 66,594 c_874.nls 2001/08/28 21:00 66,728 big5.nls 2001/08/28 21:00 82,172 bopomofo.nls 2001/08/28 21:00 83,748 prc.nls 2001/08/28 21:00 83,748 prcp.nls 2001/08/28 21:00 89,588 unicode.nls 2001/08/28 21:00 139,810 c_20261.nls 2001/08/28 21:00 162,850 c_10001.nls 2001/08/28 21:00 162,850 c_932.nls 2001/08/28 21:00 173,602 c_10008.nls 2001/08/28 21:00 173,602 c_20936.nls 2001/08/28 21:00 177,698 c_10003.nls 2001/08/28 21:00 177,698 c_20949.nls 2001/08/28 21:00 180,258 c_20000.nls 2001/08/28 21:00 180,770 c_20932.nls 2001/08/28 21:00 189,986 c_1361.nls 2001/08/28 21:00 195,618 c_10002.nls 2001/08/28 21:00 196,642 c_936.nls 2001/08/28 21:00 196,642 c_949.nls 2001/08/28 21:00 196,642 c_950.nls 2001/08/28 21:00 262,148 sortkey.nls 2002/04/10 10:17 209,010 locale.nls 2002/04/20 10:20 66,082 c_28603.nls ]PRE] -[4] 変換表の差異などについては調査中です。 (MB2WC/WC2MB の実装に違いがあるのか、 [CODE[winapi2tbl.pl]] がうまく動かなかったです。) -[5] >>4 この原因は MB2WC の細かな動作の違いにより winapi2tbl.pl が動かなくなった (完全に winapi2tbl.pl のバグ) みたいです。 - [48] >>95 と同じ変更が 1256 にあります。 ([[WindowsCodePage]>>36]) - [49] 48 は >>95 じゃなくて >>35 - [51] [WEAK[2003-09-06 05:46:52 +00:00]] ''[[c_28597.nls]]'': - [52] [WEAK[2003-09-09 18:31:53 +00:00]] ''[[名無しさん]]'': c_21866 - [53] [WEAK[2003-09-09 19:17:43 +00:00]] ''[[c_20290.nls]]'': - [55] [WEAK[2003-09-13 07:52:09 +00:00]] ''[[c_20866.nls]]'': - [57] [WEAK[2003-09-16 18:20:04 +00:00]] ''[[xjis.nls]]'': [[#comment]] * [62] [PRE[ ]PRE] [[#comment]] *rgrter [68] [PRE[ ]PRE] [[#comment]] [[#form(nlslist):'':'*%text(source=>name);%n;%n;[%index;]%n;[PRE[%n;%text(source=>main);%n;]PRE]%n;[[#comment]]']] *お手持ちの環境の情報を追加して下さい。 [32] 次の script を実行した結果できる nls-list.txt の内容を、 >>25->>31 のように貼り付けてください。 なお、この script は[[Windozeの版を調べる]]および[[版を調べる:InternetExplorer]] のために [[Message::Field::UA]] を使っています。 (M::F::UA が使っている Message::Field::Structured, Message::Util, Message::MIME::Charset, Message::MIME::Charset::MinName も最低限必要になります。) (Windoze と Internet Explorer の版を手動で書き入れる場合は、下記 script 中の $ua に関係する部分を削除してください。) [PRE[ #!/usr/bin/perl use strict; my @lst; push @lst, `command /c dir c:\\windows\\system\\*.nls`; push @lst, `cmd /c dir c:\\winnt\\system32\\*.nls`; push @lst, `cmd /c dir c:\\windows\\system32\\*.nls`; @lst = sort grep /NLS/i, @lst; open LST, '>nls-list.txt'; # require Message::Field::UA; my $ua = new Message::Field::UA; $ua->add_our_name; $ua->replace_system_version ('ie', -prepend => 0); print LST $ua."\n"; # print LST join /\n/, @lst; close LST; open BAT, '>mktbls.bat'; for (@lst) { print BAT "perl winapi2tbl.pl $1 > win95-cp$1.tbl\n" if /(\d+)/; } close BAT; ]PRE] [[#form:'%text(size=>10,label=>環境,id=>name,description=>"OS などについての簡単な説明 (節題になります。)"); %textarea(description=>">> 32 の結果",id=>main); %submit(label=>"追加");':'':'%output(id=>nlslist);']] *メモ - [46] [CODE(CHAR)[FULLWIDTH]] -> halfwidth 変換を持ってる表でも、なぜか [CODE(CHAR)[FULLWIDTH QUESTION MARK]] -> [CODE[0x3F]] だけは欠けていたりします。他にも [CODE(CHAR)[INVERSED QUESTION MARK]] など周囲の状況的に [CODE[0x3F]] に変換されても良いようなのが抜けていたりします。これは、推測ですが WC2MB の[[置換文字]]が既定では [CODE[0x3F]] なので、入れなかったんじゃないかと思われます。 (この置換文字は簡単に変更できちゃうんで、とってもまずいんですがね...) - [47] [[Win32s]] にも [[NLS]] が入っているなぁ。