moji char predicates

This is a rebased version of PR #8110, addressing issue #5939.
cc @stevengj @ivarne
This should be `isgraph(c)==true`, not isgraphic.