uwp 获取系统字体库
原文:uwp 获取系统字体库
效果图:
要获取到字体库首先要在 NuGet 添加 SharpDx.Direct2D1 api:
/// <summary>
/// 获取系统字体库列表
/// </summary>
public void GetFontLibrary()
{
SharpDX.DirectWrite.Factory factory = new SharpDX.DirectWrite.Factory();
var fontCollection = factory.GetSystemFontCollection(false);
var familCount = fontCollection.FontFamilyCount;
for (int i = 0; i < familCount; i++)
{
var fontFamily = fontCollection.GetFontFamily(i);
var familyNames = fontFamily.FamilyNames;
int index;
if (!familyNames.FindLocaleName(CultureInfo.CurrentCulture.Name, out index))
{
if (!familyNames.FindLocaleName("en-us", out index))
{
index = 0;
}
}
string name = familyNames.GetString(index);
FontList.Add(name);
}
}
因为 设置FontFamily 属性需要的时一个字符串类型,我们只要获取到字体的名字添加到一个字符串集合上就可以了。
原文地址:http://edi.wang/post/2017/1/22/windows-10-uwp-get-fonts