Nowadays, browsers can load arbitrary fonts from the web. This means from a typographers point of view, there are a lot of new possibilities. Font forgeries only slowly adapt to this new usage. However, there are not that many fonts of high quality out there.
What makes a font "high-quality"? Here are my criterias for ultimate quality:
1. Upper and Lower Case Letters
Pretty basic requirement, but many playful fonts only have one of them. For example, the Ubuntu Title font only has lowercase characters, because uppercase letters are also displayed in lower case.
2. Lots of Unicode Symbols like Umlauts
Unless one writes pure english with only ASCII letters, there is the occasional special character. "Süß!"
3. Regular, Italic, Bold and Bold-italic Variants
To emphasize phrases or headlines usually a bold or italic font is used. Although computers can fake italic with oblique type, a real italic is better. For example, the following image highlights the differences. The slanted "o" has an unbalanced thickness, which is corrected in the italic variant.
4. Good Kerning
Kerning is the spacing between characters. A font designer can probably use infinite time tuning the kerning between arbitrary letter combinations.
If consecutive letter merge into one, it is called a ligature. They improve the flow of letters. Most people do not know that & is originally a ligature of Et.
6. Serif, Sans-serif, Fixed-width Siblings
Combining different fonts is hard. Since i'm writing about programming quite often, i need to insert a monospace font into sans-serif text. The following image demonstrates that the x-height of the letters do not match. A different font size is necessary to correct this, but now the full height probably does not match anymore.
7. Very-thin, Very-bold Variants
In special cases, special variants are necessary. Very big headlines for example, call for very thin letters.
Depending on the usage scenario a font high quality may not be necessary. Maybe one needs a font for uppercase-only headlines without italics.