Мы создаем несколько диаграмм в качестве настраиваемого веб-элемента управления динамически, используя приведенный ниже код.Если использовать системный шрифт, такой как «Arial» (установленный шрифт), он хорошо создает диаграммы.Но нам нужно загрузить шрифт из файла, для этого мы используем PrivateFontCollection.
Код:
*protected override void CreateChildControls()
{
Font font;
string strFontFile = @"c:\temp\Source sans pro.ttf";
using(PrivateFontCollection fonts = new PrivateFontCollection())
{
fonts.AddFontFile(strFontFile);
FontFamily fontFamily = new FontFamily(fonts.Families.FirstOrDefault()?.Name, fonts);
font = new Font(fontFamily, 8);
}
_chart = new System.Web.UI.DataVisualization.Charting.Chart();
// Chart legent creation
Legend legend = new Legend
{
BackColor = Color.Transparent,
BorderColor = Color.Transparent,
LegendStyle = this.LegendStyle,
Docking = this.Docking,
Font = font,
TextWrapThreshold = this.LegendTextWrapThreshold
};
_chart.Legends.Add(legend);
this.Controls.Add(_chart);
}*
См. Изображение ошибки
Мы попытались избавиться от PrivateFontCollection, но у нас есть эти ошибки.Но эта ошибка случается не часто.Подскажите, пожалуйста, как мы используем PrivateFontCollection в настраиваемом веб-контроле ASP?
Спасибо