Использование собственного шрифта внутри C#C#

Место общения программистов C#
Ответить
Anonymous
 Использование собственного шрифта внутри C#

Сообщение Anonymous »

В моей программе я использую следующую функцию для установки пользовательского шрифта.
И эта функция работает правильно.

Код: Выделить всё

public void SetFontControls()
{
PrivateFontCollection pfc = new PrivateFontCollection();

var fontLength = Properties.Resources.Titr.Length;
var fontData = Properties.Resources.Titr;
var data = Marshal.AllocCoTaskMem(fontLength);
Marshal.Copy(fontData, 0, data, fontLength);
pfc.AddMemoryFont(data, fontLength);
Marshal.FreeCoTaskMem(data);

//pfc.AddFontFile(@"C:\font\.ttf");

foreach (Control c in Controls)
{
c.Font = new Font(pfc.Families[0], 12);
}
}
Проблема в том, что некоторые шрифты работают правильно, некоторые нет!
Не знаю, в чем причина.
Оба шрифта в формате .ttf .
Один работает(

Код: Выделить всё

Titr.ttf
)
Второй не установлен.(

Код: Выделить всё

Titr2.ttf
)
Удивительно, что если я вызываю шрифт статически и извне программы, шрифт применяется.

Код: Выделить всё

 //pfc.AddFontFile(@"C:\font\Titr2.ttf");
Я действительно не знаю, в чем проблема.
Шрифт файла находится по ссылке ниже
Первый шрифт
Второй шрифт

Подробнее здесь: https://stackoverflow.com/questions/792 ... de-c-sharp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»