Fonts are made up of a set of character shapes, or 'glyphs', together with size and spacing information known as 'metrics'. Glyphs consist of vector shapes, which work in a similar way to the lines, curves and ellipses you might draw in Illustrator - they're defined by geometric instructions, not a grid of pixels, so they can be scaled to any size.
Dating from an earlier age of computing, PostScript Type 1 fonts were limited to 256 characters. That's plenty for standard Roman upper and lower case, numerals, punctuation marks and European accents. But to cater for more languages or typographic extras, you need a separate font, sometimes called an 'expert set'. The same usually happens with TrueType fonts. For example, a typeface with 'oldstyle' figures (which align with lower case rather than upper case) might also come with regular 'lining' figures. Fonts for high-quality text setting should have true 'small caps', which are reduced in height but match in weight (unlike capitals, which are scaled down). Some typefaces have optional 'swash caps', upper case letters with flourishes, or decorative ornaments.
These needs are all fulfilled by OpenType. Compatible with both Mac and Windows, it allows up to 65,536 glyphs, using the Unicode system to support a full range of languages. OpenType also allows glyphs to relate to each other as 'alternates', so a font might contain several designs for a particular character. You can choose between these manually, or the font designer can program 'contextual alternates' which switch according to which characters appear side by side.
In the following tutorial, you'll see how to exploit OpenType fonts in Adobe InDesign CS2. Illustrator supports them too, and both work similarly on Macs and PCs. Although QuarkXPress 7 now supports OpenType, advanced features such as contextual alternates aren't fully handled yet. OpenType fonts will work in other applications, but without the advanced features.