我有一个应用程序对资源使用单独的库程序集(但不是没有代码的仅资源程序集),我想在库中包含自定义字体。
Open Type Font
如果我将其 .otf 文件作为资源添加到正在执行的程序集的项目(而不是资源库项目)中,我可以加载字体,即.otf 文件,并将属性设置为 Build Action = 'Resource ' 和 Copy to Output = 'Do Not Copy',使用以下代码:
FontFamily font = new FontFamily(new Uri("pack://application:,,,/"),
"./Resources/#CustomFont")); // Resources is a subfolder
但是,当我尝试将字体添加到资源库项目时,字体不会加载。我尝试使用以下代码来加载它(另请注意:我对包 URI 没有太多经验):
FontFamily font = new FontFamily(new Uri("pack://application:,,,/MyLibrary"),
"./Resources/#CustomFont"));
// there is a Resources subfolder in my library as well
// not sure about whether I need the .
该库确实适用于其他资源,例如图像。
我还尝试了 URI 的一系列其他排列但没有成功(它也不会抛出异常,只是使用默认字体显示,不确定这是否是一个单独的问题)。
我一直在 MSDN 上使用 Packaging Fonts with Applications工作,它有一个创建字体资源库的示例,但没有使用代码背后的示例(我被迫为此使用代码)。
关于我需要做什么的任何想法?我偏离轨道了吗?