Some character codes were erroneously named after their text command
counterparts. This has caused a lot of confusion with naming their
functions and with other things.
I've also removed the `dict2` macro and expanded the `dict` macro. This
really isn't something we should be doing for macros but I can't deny it
looks a lot neater than repeated code.