GIGAZINEのこの記事をみて、Silverlightで作れないか?と思ったら、FontsコレクションがSilverlightにはありませんでしたorz。WPFで作るしかないようです。
<Window x:Class="WpfApplication1.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Window1" Height="435" Width="577" Loaded="OnLoad"> <Grid> <ListBox Name="listBox1" /> </Grid> </Window>
using System.Windows; using System.Windows.Controls; using System.Windows.Media; namespace WpfApplication1 { public partial class Window1 : Window { public Window1() { InitializeComponent(); } private void OnLoad(object sender, RoutedEventArgs e) { foreach (FontFamily localFonts in Fonts.SystemFontFamilies) { Label item = new Label(); item.FontFamily = localFonts; item.Content = localFonts.Source; item.FontSize = 16; listBox1.Items.Add(item); } } } }
5分で書いてみた。ところがここから先がちょっと困りもの。Adobeのotfのフォントを列挙するとFileFormatExceptionが出たり、フォントのsourceプロパティが表示されず、歯抜けになったりするところがあります。うーん。