CCFont

CCFont allows you to import bitmap font data into Unity. It supports kerning and all non-control characters in the Basic Multilingual Plane. It accepts BMFont compatible files, either in plain text or in XML. It supports only a single atlas page per font.

Converting TTF to Bitmap

There are multiple free tools available for converting TTF fonts to bitmap fonts. Here are some of them. There are also various commercial options, like bmglyph and Glyph Designer, both for OS X.

These tools all take a TTF file as input and output a FNT file containing character data and a PNG containing a font atlas. CCFont expects font atlases to be square, so make sure you export a square texture.

If you want to use any text shader other than simple alpha blending, you want to generate a distance map from the font atlas. You can use the free Distance Map Generator tool for that. If you're going to use any effects that will make the text larger, like outlines or shadows, be sure to add a manual border between character when saving the bitmap font atlas.

Finding TTF Fonts

TTF fonts are avialable all over the web, both free and for sale. If you consider embedding a font in your distributions, make sure you understand the licence of the font. Most fonts aren't allowed to be redistributed in any form. You'll have to contact the copyright holder of the font you want to use and negotiate a licence that covers your needs.

Here are some font websites.

Importing a font

Once you have a bitmap font specification in a FNT file, you can import it into Unity. First create a new CCFont via Asset / Create / Text Box / Font. The new font asset will initially be rather empty.
nothing imported yet
Click the Import FNT file button and select the FTN file you wish to import. Unless the import process could not understand the file contents, you now have your font data available inside Unity.
imported font

Non-ASCII Chars

Non-ASCII Chars displays how many characters outside the ASCII range are contained in the font. Fetching character data for non-ASCII characters is slightly slower than for ASCII characters.

Pixel Line Height

Pixel Line Height is the original line height of the imported font, in pixels. Inside Unity, the line height is always one unit in local space.

Pixel Scale

Pixel Scale corresponds with the size of the font's pixels, in Unity local space units. It is equal to 1 divided by Pixel Line Height.

Supports Kerning

Supports Kerning indicates whether the font supports kerning.