A typeface is is a selection of stylistically related letters which collectively comprise a family of alphabets which can be used for typesetting. Typeface design also usually includes numbers and symbols which are designed to blend stylistically with the core alphabet used in the design. It is also possible to design entirely symbolic typefaces, such as the specialty products used by mathematicians, and typefaces come in all languages.
Typefaces and fonts are frequently confused. A typeface is a design family of items which are interrelated: Garamond, for example, is a typeface. A font is a particular iteration of a typeface: 12 point Garamond italic is a font within the Garamond family. While this distinction may seem petty, especially to people who are accustomed to using “font” and “typeface” interchangeably, it is important, because the individual fonts within a typeface can take on a huge variety of iterations.
Historically, a typeface designer would create the desired look and feel, and then specific fonts needed to be cast in type. Printers could order various fonts as needed to fulfill their needs, and each font was specifically designed and scaled to look optimal in the desired size and style. Since most people work on computers today, it is very easy to switch fonts within a typeface at the click of a button, but this process was once much more involved, and it required great skill on the part of the designer and foundry which cast the type.