プログラマメモ2 - programmer no memo2

外字かどうかの判定は 2008/02/21



悩んでほうぼうに聞いたあげくはじめから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;
}

:

喜歓猫de魚

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 です。

どちらを使うかなぁ...

ugo.nakawaka

喜歓猫de魚 さん!!どうもです。
>_<!
これから消化しますです。