0

我喜欢在 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 命名空间添加到我的列表框中。在这种情况下,我不确定如何定义我的数据模板。

问候,

贾瓦哈尔

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 回答