WPF中的字符映射

时间:2012-05-05 03:10:20

标签: wpf fonts

我喜欢在WPF中构建自己的角色地图。有没有最简单的方法来遍历真实类型字体的所有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名称空间添加到我的列表框中。在这种情况下,我不确定如何定义我的数据模板。

此致

Jawahar

1 个答案:

答案 0 :(得分:1)

由MSDN指定:

  

GlyphTypeface是直接对应于磁盘上字体文件的字体。但是,字体是字体的表示。字体是同一字体系列中字体的单个变体。

因此,如果您想构建完整的地图,请尝试考虑Typeface类本身。然后,迭代所有字体有一个非常简单的方法:

foreach (FontFamily fontFamily in Fonts.SystemFontFamilies) {
   foreach (Typeface tFace in fontFamily.GetTypefaces) {
       //Get wat you want with tFace
   }
}