如何从Windows Phone获取字体文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从Windows Phone获取字体文件相关的知识,希望对你有一定的参考价值。

我在Xamarin平台上创建库,我需要获取设备(androidios和windows)字体文件。在android我可以从/system/fonts文件夹中获取字体文件。

安卓:

string[] fontfiles = System.IO.Directory.GetFiles("/system/fonts");

任何人都可以分享你的想法从Windows设备获取字体文件吗?

提前致谢。

SAS i.

答案

如何从Windows Phone获取字体文件

您无法在Windows Phone中获取系统字体文件,但可以获取系统字体。请参阅ptallett's blog,执行以下步骤:

  1. 为了获得UWP中的系统字体,我们必须使用DirectX,将这些NuGet pacakges安装到您的项目中: SharpDX SharpDX.Direct2D1
  2. GetFontFiles()将返回所有系统字体。 public class GetFont : FontDemo.IGetFont { public string[] GetFontFiles() { var fontList = new List<string>(); var factory = new SharpDX.DirectWrite.Factory(); var fontCollection = factory.GetSystemFontCollection(false); var familyCount = fontCollection.FontFamilyCount; for (int i = 0; i < familyCount; 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); } return fontList.ToArray(); } }
  3. 在你的DependencyService中使用PCL来获得结果: string[] fontfiles = DependencyService.Get<IGetFont>().GetFontFiles();

以上是关于如何从Windows Phone获取字体文件的主要内容,如果未能解决你的问题,请参考以下文章

如何从 windows phone 中的纬度和经度值获取地址?

如何通过绝对路径访问我的应用程序文件 - windows phone - Phonegap/Cordova

更改 PanoramaItem (windows phone) 的字体大小

如何从列表框绑定 Windows Phone 7 中选择一个项目

windows phone 8开发,xmal文件代码 不显示高亮颜色,这个问题怎么解决

如何在 Windows Phone 8.1 中获取当前位置的当前货币代码