Использование пользовательского шрифта в WPF

Мне нужно, чтобы мое приложение WPF использовало шрифт истинного типа для другого языка. У меня есть шрифт, расположенный в папке под названием "шрифты" внутри проекта. Шрифт, который я использую, доступен для бесплатной загрузки здесь

Так как шрифт установлен в моей системе, я сначала попробовал

 FontFamily="FMBasuru"

Я прочитал сообщение здесь и попытался сделать (это точная разметка, которую я использую, включая имя шрифта)

<Window.Resources>
        <Style x:Key="SinhalaFont">
            <Setter Property="TextElement.FontFamily" Value="fonts/#FMBasuru"/>
        </Style>
    </Window.Resources>

...

 <TextBlock  Style="{DynamicResource SinhalaFont}">r</TextBlock>

...

Я убедился, что вместо имени шрифта я использую правильное имя шрифта. Что я мог сделать неправильно?

Ответы

Ответ 1

Я пробовал ваш код с этим

  <Setter Property="TextElement.FontFamily" Value="fonts/#Arial Narrow Bold"/>

и он успешно работал.

Вы отметили свой шрифт как "Ресурс" в действии сборки? Если вы этого не сделали, сделайте это сейчас и повторите попытку.

Ответ 2

Обновлено: Создайте папку с именем Fonts, скопируйте нужный шрифт и измените BuildAction на Resource.

<Window.Resources>
    <FontFamily x:Key="test" >/Fonts/#Pirulen</FontFamily>
</Window.Resources>
<Grid>
    <TextBlock FontSize="25" HorizontalAlignment="Center" 
               FontFamily="{StaticResource test}">Kishore Kumar</TextBlock>
</Grid>

просто сослаться на этот документ

WPF - Добавить пользовательский шрифт

Ответ 3

Без использования стиля вы можете просто добавить шрифт, подобный этому, в Window.xaml Я включил файл шрифта в папку под названием "Шрифты".

<Window

 FontFamily ="./Fonts/#Arial"

>

И если вы хотите использовать другой шрифт для определенного ярлыка или текстового блока вы можете переопределить его так. Вы должны вставить файл шрифта в папку Fonts.

<TextBlock FontFamily = "./Fonts/#Tahoma" ></TextBlock>

Ответ 4

Чтобы добавить пользовательский шрифт в ваше приложение

Это сработало для меня в Blend, я не знаю о Visual Studio.

  • В открытом проекте в Expression Blend в разделе "Файлы в проекте" панели, щелкните правой кнопкой мыши имя вашего проекта, а затем нажмите "Добавить существующий". Пункт. введите описание изображения здесь
  • Перейдите к пользовательскому файлу шрифтов (обычно с расширением имени файла .ttf), выберите пользовательский файл шрифта, чтобы он отображался в текстовом поле Файл, а затем нажмите "Открыть". Пользовательский файл шрифтов добавляется в ваше приложение и отображается в разделе "Файлы" на панели "Проект". введите описание изображения здесь
  • Теперь вы можете встроить полный шрифт или подмножество шрифта в ваше приложение и применить шрифт к текстовым элементам управления в своем приложении.

Шрифт будет в списке шрифтов

введите описание изображения здесь

От - Добавить пользовательский шрифт в ваше приложение