我想加載自定義字體(ttf文件)並用Graphics對象繪製到圖像中。此代碼運行在本地罰款:PrivateFontCollection在Appharbor上失敗
PrivateFontCollection fonts = new PrivateFontCollection();
string path = context.Server.MapPath("~/App_Data/Futura LT Bold.ttf");
if (!System.IO.File.Exists(path))
{
throw new InvalidOperationException("Font file is not deployed: " + path);
}
fonts.AddFontFile(path);
然而,當上appharbor運行,調用AddFontFile失敗,出現異常:
System.ArgumentException: Font 'Futura LT Book' does not support style 'Regular'.
at System.Drawing.Font.CreateNativeFont()
at System.Drawing.Font.Initialize(FontFamily family, Single emSize, FontStyle style, GraphicsUnit unit, Byte gdiCharSet, Boolean gdiVerticalFont)
at System.Drawing.Font..ctor(FontFamily family, Single emSize)
at LumenboxWeb.Controllers.GalleryController.FontTest() in d:\temp\h5oqslma.udd\input\src\LumenboxWeb\Controllers\GalleryController.cs:line 59
at lambda_method(Closure , ControllerBase , Object[])
at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
我已經嘗試了不同的字體,以及他們所有的工作在當地,但沒有工作在appharbor上。
是否可以在appharbor上動態加載字體?
那麼,有一個名爲FontTest()的方法,測試失敗。更改測試或避免該字體。 –
FontTest不是單元測試。我只是使用該控制器操作來重現此問題。我需要在生產代碼中執行此操作。 –