因此,我需要使用项目中包含的 font.otf 文件将 .otf 字体文件添加到 c# 中的 PrivateFontCollection 中。当文件在本地加载时,我在部署到服务器时收到以下异常。
[异常:在路径中找不到字体:D:\Inetpub\MyApplication\Content\Fonts\ProximaNovaAlt-Black.otf 异常是:System.IO.FileNotFoundException:找不到文件。在 System.Drawing.Text.PrivateFontCollection.AddFontFile(字符串文件名)
但是,当我查看 Web 服务器并导航到该确切目录时,该文件就在那里并且不是只读的。
字体文件在我的项目中的位置如下 /Content/Fonts/ProximaNovaAlt-Black.otf
此外,ProximaNovaAlt-Black.otf 文件的属性如下。
最后,这是引发错误的代码
public Font GetFont(float fontSize)
{
string path = HttpContext.Current.Server.MapPath(AppDomain.CurrentDomain.BaseDirectory + @"Content\Fonts\ProximaNovaAlt-Black.otf");
try
{
PrivateFontCollection privateFontCollection = new PrivateFontCollection();
privateFontCollection.AddFontFile(path);
return new Font(privateFontCollection.Families[0], fontSize);
}
catch (Exception ex)
{
throw new Exception("Could not find font at path: " + path + " The exception is: " + ex.ToString());
}
}