外字かどうかの判定は
2008/02/21
java
外字
悩んでほうぼうに聞いたあげくはじめからwikipediaみたほうがはやかったかもという結論に...
Unicodeでは、外字エリアとして私用領域という名称でU+E000〜U+F8FF、U+000F0000〜U+000FFFFD、U+00100000〜U+0010FFFDに外字領域を設けてある。外字 - Wikipedia
windowsの場合、すごく乱暴だけど、0xe000~0xf8ffであるものは単純に外字でよいのかも。
だめかな...
そうするならば、下記のコードでいいんじゃんという気がするんだけど。
public static boolean isGaiji(char c) {
if(0xe000 <= c && c <= (0xf8f0 + 0xf)){
return true;
}
return false;
}
if(0xe000 <= c && c <= (0xf8f0 + 0xf)){
return true;
}
return false;
}
:
http://www2d.biglobe.ne.jp/~msyk/charcode/cp932/Windows-31J-charset.html
により、
ユーザー定義外字 (95~114区)
IANA の Windows-31J の登録内容には書かれていませんが、Windows Codepage 932 では、95~114区 (シフトJISで 0xF040~0xF9FC) をユーザー定義外字の領域としていて、ユーザーが外字エディタで外字を定義して使ったり、市販の外字フォントで人名用の字形や印刷などに用いる記号などを使えるようになっています。
ちなみに、95~114区はUnicodeで 0xE000~0xE757 です。
どちらを使うかなぁ...
喜歓猫de魚 さん!!どうもです。
>_<!
これから消化しますです。