Read the post paulpeer linked, and there's a sticky thread about embedding fonts in this forum as well.
Basically, you need to do 4 things:
1) Insert your fonts into the epub file. Generally it's best to make a 'fonts' directory and put them there. I use WinRaR to open epub files for this, but you can use the free 7zip just as well.
2) Specify the location and type of the font with an @font-face declaration in the css:
e.g.:
Code:
@font-face {
font-family: "Charis";
font-style: normal;
font-weight: normal;
src:url(../fonts/font004.ttf);
}
The location is relative to the css file in the epub structure. You need to do this separately for each font you're embedding, and italics and bold count as different fonts. Often embedding a font means embedding 4 different ttf files, each with their own @font-face declaration: normal, italic, bold and bolditalic. These 4 fonts then comprise a 'font family' and should be given the same 'font-family' name ('Charis' in the example above).
3) Tell the program that you want to use these fonts by adding the following:
Code:
body {
font-family: "Charis"
}
Where 'Charis' is the font-family name used in the font declarations above. If your css already has a body entry, then just add the font-family line to that.
4) Tell the epub reader that the epub contains font files by opening up the .opf file that defines the epub and inserting the proper lines in the manifest section:
Code:
<package xmlns="http://www.idpf.org/2007/opf" unique-identifier="BookID" version="2.0">
<metadata xmlns:dc="http://purl.org/dc/elements/1.1/"
...
</metadata>
<manifest>
...
<item href="fonts/font001.TTF" id="CharisBold" media-type="application/octet-stream"/>
<item href="fonts/font002.TTF" id="CharisItalic" media-type="application/octet-stream"/>
<item href="fonts/font003.TTF" id="CharisBoldItalic" media-type="application/octet-stream"/>
<item href="fonts/font004.TTF" id="Charis" media-type="application/octet-stream"/>
</manifest>
...
For each item, set the href to the path to your font file (relative to the .opf file). The name used for the id doesn't really matter, it's required, but won't be used.
If this process is daunting, then I'd really advise you to get Atlantis Word Processor. It only costs $35 and can embed fonts automatically (all you need to do is check a box on the output dialog). Alternatively, you could try the 0.2.0 beta of Sigil, though that's still being refined.
[Edit] BTW, the reason you find that the letters show up in other readers is that they 'cheat' and use system fonts to render the text. ADE doesn't - it uses its own built-in font so that it can emulate what the epub looks like on a portable reader that uses ADE.