For those who might need to have a vertical or eventually upside-down text on the button, here is one possible solution.
It also allows selecting 2 custom colors for gradient fill.
Some fonts will produce symbols instead of letters (like Webdings font or Wingdings or ...) so exercise caution since error messages might appear in that same font.