言語とスクリプト(用字)の区別をつけてほしいところだけど、
java.lang.Character.UnicodeBlockでだいたいカバーできるんじゃない?