I know you've briefly mentioned how to get a proportional font, and I think it may be easier to fiddle around in obj_textbox draw_gui event. Maybe replacing the charSize variable with something like string_width(ch).
I dunno. Would I absolutely HAVE to make a ds map?