In most cases you will use Silverlight 2.0 because you want to make use of its abilities to create great looking applications in the web. Therefore fonts play an important role in Silverlight programs.
The TextBlock class does not offer an obvious property which you could use the specify a uri where Silverlight should download an embedded font from. In contrast to TextBlock Glyphs has a property called FontUri. In this property you can specify the location of the font you want to use. Here is an example:
<Glyphs FontRenderingEmSize="20" Fill="Black"
UnicodeString="Hello Silverlight"
FontUri="/Fonts/ClairvauxLTStd.otf" />
However, using Glyphs has some disadvantages. The most important one is that you cannot use data binding. Therefore the following code does not work (it does not only not work in Silverlight, you cannot write this piece of code in WPF either):
<Glyphs FontRenderingEmSize="20" Fill="Black"
UnicodeString="{Binding SimpleText}"
FontUri="/Fonts/ClairvauxLTStd.otf" />
If you try the code shown above you will receive the following error during runtime:
A first chance exception of type 'System.AccessViolationException' occurred in System.Windows.dll
If you just want to use embedded fonts you should not use Glyphs. You should stick to TextBlock instead! The object offers a way to specify the path in which Silverlight looks for a font inside the FontFamily property:
<TextBlock FontFamily="Fonts.zip#Clairvaux LT Std" Text="Hello Silverlight" />
Tim Heuer wrote a great article in which he describes all the details about this syntax. If you use your fonts in this way data binding works, too!