moji char predicates

This is a rebased version of PR #8110, addressing issue #5939.
cc @stevengj @ivarne