Alright, i've removed all that copy'n'paste code. Hope those new macros don't seem too weird.
Btw, and also added UCS-2 variations.
But no tests for now, sorry.