如何从Windows Phone获取字体文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从Windows Phone获取字体文件相关的知识,希望对你有一定的参考价值。
我在Xamarin平台上创建库,我需要获取设备(android,ios和windows)字体文件。在android我可以从/system/fonts
文件夹中获取字体文件。
安卓:
string[] fontfiles = System.IO.Directory.GetFiles("/system/fonts");
任何人都可以分享你的想法从Windows设备获取字体文件吗?
提前致谢。
SAS i.
答案
如何从Windows Phone获取字体文件
您无法在Windows Phone中获取系统字体文件,但可以获取系统字体。请参阅ptallett's blog,执行以下步骤:
- 为了获得UWP中的系统字体,我们必须使用
DirectX
,将这些NuGet
pacakges安装到您的项目中: SharpDX SharpDX.Direct2D1 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(); } }
- 在你的DependencyService中使用
PCL
来获得结果:string[] fontfiles = DependencyService.Get<IGetFont>().GetFontFiles();
以上是关于如何从Windows Phone获取字体文件的主要内容,如果未能解决你的问题,请参考以下文章
如何从 windows phone 中的纬度和经度值获取地址?
如何通过绝对路径访问我的应用程序文件 - windows phone - Phonegap/Cordova
更改 PanoramaItem (windows phone) 的字体大小
如何从列表框绑定 Windows Phone 7 中选择一个项目