0

WPFで独自の文字コード表を作成するのが好きです。True TypeフォントのすべてのUnicode文字を反復処理する最も簡単な方法はありますか?

私はこのようなことを試みました。

        FontFamily fontfamily = combo.SelectedItem as FontFamily;
        var typefaces = fontfamily.GetTypefaces();
        foreach (Typeface typeface in typefaces)
        {
            GlyphTypeface glyph;
            typeface.TryGetGlyphTypeface(out glyph);
            if (glyphs != null)
            {
                mylist.Items.Add(glyph);
            }              
        }

これは、Glyphs名前空間をリストボックスに追加するだけです。この場合、データテンプレートを定義する方法がわかりません。

よろしく、

ジャワハル

4

1 に答える 1

1

MSDNで指定されているとおり:

GlyphTypefaceは、ディスク上のフォントファイルに直接対応するフォント面です。ただし、書体はフォント面を表したものです。書体は、同じフォントファミリ内のフォントの単一のバリエーションです。

したがって、完全なマップを作成する場合は、Typefaceクラス自体を検討してみてください。次に、すべての書体を反復処理するには、非常に簡単な方法があります。

foreach (FontFamily fontFamily in Fonts.SystemFontFamilies) {
   foreach (Typeface tFace in fontFamily.GetTypefaces) {
       //Get wat you want with tFace
   }
}
于 2012-05-05T09:11:57.803 に答える