- - PR -
第三水準と第四水準no
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-12-27 20:39
こんばんは。
どんたくおです。 Javaに関わることではないのですが、現在第三水準と第四水準の 文字一覧を作成したいと思っております。 // 文字一覧が画像のものはみつけたのですが・・・。 そこで、Javaで以下のようなコードを使いまして、第三水準の 一覧を出力させてみました。
すると、CharacterCodingExceptionが行ったときに表示される「×」と CharacterCodingExceptionは発生しないのに、「・」と表示されるもの がありました。 例外が発生するのと「・」と表示されてしまうのは、定義されていない からでしょうか。 もし、わかるかたがおいでましたら、ご教授いただけると幸いです。 | ||||
|
投稿日時: 2006-12-27 21:51
そこに気がついたんだったら、先に手元でフォントを確認しようよ。 Windowsの場合、Vistaから搭載されると聞いているが。 | ||||
|
投稿日時: 2006-12-29 16:13
残念ながら、Windows-31J には基本的に第三水準と第四水準は入ってません。単純にリストするなら、Windows-31J ではなく ISO-2022-JP か EUC-JP を使った方が簡単だと思われます。
Windows-31J には第一水準、第二水準に加えて IBM拡張文字と NEC選定IBM拡張文字が入ってます。IBM拡張文字と NEC選定IBM拡張文字には第三水準、第四水準の文字も含まれていますが、第三水準、第四水準の全ての文字を含んではいません。いわゆるシフトJISで第三水準と第四水準に対応してるのは Shift_JIS X 0213 ぐらいだと思いますが、確か Shift_JIS X 0213 は実装されていなかったはずです。 ついでに、 > 例外が発生するのと「・」と表示されてしまうのは、定義されていないからでしょうか。 この件に関しましては、第三水準、第四水準とは あまり関係がありませんが、Windows-31Jの表 http://www.microsoft.com/globaldev/reference/dbcs/932.mspx を見てください。この表で割り当てられていない部分に関しては基本的に "×" が表示されるはずです。また、この表には書いてないようですが、0xF040 〜 0xF9FC までの領域は Unicode のユーザ定義文字(U+E000 〜 U+E757)へと変換されます。これは、Microsoft の実装にあわせたものだと思います。この部分は変換可能ですので CharacterCodingException の原因とはなりませんが、ユーザ定義文字を持っているフォントを使用しなかったため、文字の描画の際に Windows によって "・" に変換されたのだと思います。 | ||||
|
投稿日時: 2007-01-14 18:27
ご返信が大変遅れてしまいました。
>さいくろう様 ご返信ありがとうございます。 > そこに気がついたんだったら、先に手元でフォントを確認しようよ。 ご指摘ありがとうございます。 フォントで区点を確認したところ、そちらでも「・」と表示されました。 >お犬様 ご返信ありがとうございます。 第三と第四でも、含まれるものと含まれないものがあるのですね。 それで、表示できるものとできないものがあったのですね。 自分の調べがいかに甘いかということを痛感させられました。 皆様ご指摘ありがとうございました。 |
1