Are you claiming that ’ (Unicode code point 002019) is not suitable as an apostrophe? In that case, what is? The classic ASCII 000027? Isn’t that one straight? (As opposed to ’, which is slanted correctly.)
Or are you perhaps thinking of ´ (Unicode code point 0000B4, ACUTE ACCENT)? Yes, that one is ugly and should not be used as either an apostrophe or a right quote.