Not always true. Many script fonts often have alternate characters included, and in Opentype they can even be programmed to appear automatically, although the most common implementation is double-letter ligatures (where the second character in "ee", "oo" or "tt" gets replaced with an alternate).