2010-09-10 3 views
0

В папке Windows есть шрифт (имя шрифта - Lucida Sans). Я пытаюсь загрузить шрифт, используя следующий код, но я не могу создать объект шрифтаНевозможно загрузить шрифт, используя имя файла шрифта

 PrivateFontCollection c = new PrivateFontCollection(); 
     c.AddFontFile("c:\\windows\\LSANSDI.TTF"); 
     FontFamily fa = c.Families[0]; //This line succeeds 
     Font fn = new Font(fa, 10); //I get Exception here and it says that it does not support Regular style 

Даже если и проверить все стили, используя fa.IsStyleAvailable функции, я получаю в распоряжении нет стиля. Какая польза от создания такого файла ttf, который нельзя загрузить. Как я могу использовать этот шрифт? Но я вижу, что этот шрифт имеет все стили, доступные в MS Word. Может ли кто-нибудь предоставить решение?

+0

Вы пытались установить шрифт в windows \ fonts и прочитать его оттуда? – mamoo

+1

Я не хочу устанавливать его в папку Windows. Мне нужно использовать его временно, а затем отменить его. – kumar

+0

Что касается ваших удаленных комментариев ниже, если вы можете использовать библиотеки WPF в C#, вы можете получить имя шрифта и имя лица. Вам понадобится ссылка на 'System.Windows.Media'. Но если это то, что вам нужно, вероятно, вы должны изменить вопрос, чтобы это отразить. –

ответ

3

Я предполагаю, что шрифт выделен жирным шрифтом и курсивом, что означает, что вам нужно проверить (FontStyle.Bold | FontStyle.Italic) и создать новый шрифт соответственно.