You could do something like this:
You'll have to look at the API for Character.UnicodeBlock to make a more complete list of blocks. And many of the chars you need are in various CJK blocks (Chinese/Japanese/Korean unified) which means that they may contain some chars that aren't really appropriate to Japanese-only usage. I think. This is a muddy issue which I don't understand much. I think you'll need to
test using a lot of data, and consulting with people who know the language well (assuming you do not) to be sure your list of chars is appropriate.