如何从WinRT平台读取字体文件流?我需要从C#UWP获取字体文件内容。据您所知,无法直接从Fonts文件夹中读取文件。 FilePicker对我来说也不是一个选项,因为选择此文件夹不是用户的责任。我找到了使用DirectWrite(C ++)枚举字体名称的方法,然后使用可在C#(https://code.msdn.microsoft.com/FontExplorer-lets-you-f01d415e#content)中使用的COM组件包装它,我想知道是否可以将字体文件内容作为字节读取类似的事情[]或Stream?
答案 0 :(得分:0)
如果没有用户手动导航到文件,您无法直接从UWP应用程序读取TTF文件。如果没有提示用户,UWP应用程序不允许打开文件,除非它们位于特定位置。
此外,正如评论中所述,如果没有特殊许可,许多字体可能无法分发或嵌入。
答案 1 :(得分:0)
好消息:PDF导出在Windows 10中没有多大意义.Windows 10具有内置PDF打印机。因此,最好一石二鸟:实施打印并免费获得PDF导出。
答案 2 :(得分:0)
假设您已经创建了IDWriteFontFile
实例,那么很容易读取任意文件片段:
IDwriteFontFile::GetReferenceKey();
获取文件参考密钥。IDWriteFontFile::GetLoader();
IDWriteFontFileLoader::CreateStreamFromKey()
创建流实例。IDWriteFontFileStream::ReadFileFragment/ReleaseFileFragment
从文件流中读取缓冲区。