The Supreme Court on Monday struck down a long-standing U.S. ban on trademarks on "immoral" or "scandalous" words and symbols, ruling in a case involving a clothing brand with an indelicate name that the law violates constitutional free speech rights.