Как опубликовать и использовать шрифт в Windows Azure Web Apps? - PullRequest
1 голос
/ 23 июня 2019

Я пытаюсь опубликовать и использовать шрифт в своем веб-приложении Windows Azure.

Файл шрифта bahnschrift.ttf. Я вижу файл в правильном месте в Azure, поэтому я уверен, что он был опубликован правильно.

Я хочу использовать шрифт для рисования текста на изображении.

Этот код, использующий PrivateFontCollection, работает в отладчике Visual Studio на моем компьютере с Windows 10. Не работает при публикации в Azure.

Я также попытался установить тип MIME в моем файле web.config, но это ничего не изменило.

private static FontFamily GetFontBahnschrift() {

    PrivateFontCollection fonts = new PrivateFontCollection();

   string file = HttpContext.Current.Server.MapPath("~/img/bahnschrift.ttf");
        fonts.AddFontFile(file);

    FontFamily fontBahnschrift = fonts.Families.First(p => 
p.Name.Equals("Bahnschrift Bold", 
StringComparison.CurrentCultureIgnoreCase));

    return fontBahnschrift;
}


<system.webServer>
  <staticContent>
    <remove fileExtension=".ttf" />
    <mimeMap fileExtension=".ttf" mimeType="font/ttf" />
  </staticContent>
</system.webServer>

Я хочу использовать шрифт TTF в Windows Azure.

1 Ответ

1 голос
/ 23 июня 2019

Известная проблема для всех генераторов PDF на основе wkhtmltopdf или phantomjs: пользовательские шрифты не отображаются (вместо них используется системный шрифт) из-за ограничений GDI API изолированной программной среды, которые присутствуют даже в планах Azure Apps на основе виртуальной машины (Basicили выше).

Подробнее см. в этом документе .

Вы можете использовать контейнеры Windows в Службе приложений для применения пользовательских шрифтов: https://docs.microsoft.com/en-us/azure/app-service/app-service-web-tutorial-windows-containers-custom-fonts

Пожалуйста, ознакомьтесь с подобным сообщением обратной связи здесь .

...