Well, if it's a single "character", tr likes it. What's the problem? About the only thing that's messy is the use of a slash and dash, and I could probably hork that somehow by always mapping to an octal-ish escape.
I've reread the question three times now, and I don't see how you are defining
"character" in any way other than something that tr can wrangle. If so, what's
the structure of a "word" then? It's no longer a string, which would be a sequence
of "characters" that tr can handle!
-- Randal L. Schwartz, Perl hacker