Добавление шрифтов в ядро ​​сервера 2019ltsc изображение контейнера - PullRequest
0 голосов
/ 25 января 2019

У нас есть приложение (GrapeCity ActiveReports), которое генерирует отчеты в формате pdf, работающие в контейнере, построенном на следующем изображении: microsoft/dotnet-framework:4.7.2-sdk

Это изображение основано на выпуске 2019ltsc, в котором и возникает проблемаПриложение для создания PDF-файлов (пытается) использовать шрифт Arial для этих отчетов, но его нет в каталоге шрифтов Windows.

Согласно этому блогу Microsoft (в разделе «Улучшения контейнера»), 2019ltscВ релизе убраны все шрифты , кроме Arial, и это, видимо, мешает установке дополнительных шрифтов.https://blogs.windows.com/windowsexperience/2018/05/29/announcing-windows-server-2019-insider-preview-build-17677/

Интерактивный запуск неизмененного образа SDK и просмотр до C:\Windows\Fonts показывает только наличие шрифта lucon.ttf и ничего более.Мы также попробовали метод установки шрифтов, описанный в этом документе от Microsoft, без изменений.Сам шрифт устанавливается нормально, но генерирующая программа не может его использовать.https://docs.microsoft.com/en-us/azure/app-service/app-service-web-tutorial-windows-containers-custom-fonts

При запуске возвращается следующее исключение:

System.InvalidOperationException: Cannot read the file for font: Arial

ОБНОВЛЕНИЕ: Получен ответ от службы поддержки MS, похоже, что в данный момент разрешение, вероятно, отсутствует.

После нескольких дней исследований я не достиг большого прогресса в том, почему единственным шрифтом в изображении на основе mcr.microsoft.com.windows/servercore:ltsc2019 является lucon.ttf, и, похоже, нет опубликованного метода для добавленияДополнительные шрифты для Windows Server Core 2019 образ.Исходя из ситуации, я отправил электронные письма команде разработчиков Windows Server 2019 для решения этой проблемы.Однако, пожалуйста, поймите, из-за ограничения разрешений, я не могу гарантировать, что смогу получить отзыв от Команды Продукта.Я буду продолжать исследовать и контролировать работу команды разработчиков продукта. Если я добьюсь прогресса, я свяжусь с вами как можно скорее.

Ответы [ 2 ]

0 голосов
/ 05 июля 2019

может подтвердить, что следующее сработало для меня

COPY arial.ttf c:\windows\fonts
COPY arialbd.ttf c:\windows\fonts

модульный тест, который ранее не удался из-за отсутствия arial, успешно завершился после.

при дополнительном запуске этого скрипта внутри контейнера показывался arial

   [void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")
   (New-Object System.Drawing.Text.InstalledFontCollection).Families
0 голосов
/ 05 февраля 2019

Я также не смог заставить его работать на образе ядра сервера Windows 2019.Я могу подтвердить, что добавление шрифтов действительно работает в изображении 1803. Используя следующее:

COPY MICRFONT.TTF c:/windows/fonts/MICRFONT.TTF
RUN powershell.exe -NoProfile -Command New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts' -Name 'MICRFONT (TrueType)' -PropertyType String -Value micrfont.ttf ;

Выполнение этого через powershell через объект оболочки не сработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...