Unicode-wise, "w" {U+FF57 FULLWIDTH LATIN SMALL LETTER W} is the composition of the compatibility tag "<wide>" and {U+0077 LATIN SMALL LETTER W}. You can get rid of the compatibility tags by using NFK* (normal form compatibility):
>>> s = "i work in china,feels like half my job is adding & subtracting spaces from the strange type face here."
>>> import unicodedata
>>> print(unicodedata.normalize('NFKC', s))
i work in china,feels like half my job is adding & subtracting spaces from the strange type face here.
It doesn't actually have to do with typefaces, the typeface is just the system trying to find a font able to display those specific glyphs, which are compatibility forms for dot-matrix printers and fixed-width terminals: http://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms
I'm guessing their continued use is because there are also aesthetic considerations at play for native readers, for whom variable-width latin script could look plain weird.