Win2D获取语义标签值

问题描述 投票:3回答:1

我正在使用Win2D.UWP来获取系统字体集。我需要过滤查询的字体并将它们分组为“ Serif”,“ Sans-Serif”,“ Decorative”等类别(例如Adobe应用程序或Corel Font Manager)。据我研究,信息可以通过带有参数Microsoft.Graphics.Canvas.Text.CanvasFontSet.GetPropertyValuesCanvasFontPropertyIdentifier.SemanticTag访问,但是不会以任何已安装的字体返回任何值。

还有另一种了解该信息的方法吗?请,任何有帮助的地方。

提前感谢

c# xaml uwp uwp-xaml win2d
1个回答
0
投票

这是一个古老的问题,但是对于以后以后又提出完全相同的问题的人,有个好消息。

现在Win2D.uwp已得到改进,因此我们可以使用以下代码来实现它。

var availableFonts = CanvasFontSet.GetSystemFontSet().Fonts;

foreach (var font in availableFonts)
{
    var familyNames = new List<string>();

    foreach (var familyName in font.FamilyNames) 
    {
        familyNames.Add(familyName.Value);
    }

    Debug.WriteLine(string.Join(", ", familyNames.Distinct()));
}
© www.soinside.com 2019 - 2024. All rights reserved.