Как и в показанном здесь ответе , я пытаюсь преобразовать SVG в PDF с помощью Inkscape в Windows:
inkscape --file=mySVGinputFile.svg --export-area-drawing --without-gui --export-pdf=output.pdf
В моем SVG есть шрифт, который я только что добавил в свою систему через Microsoft Store, но он не отображается в PDF, хотя когда я просматриваю SVG в Chrome (и печатаю в PDF), он работает.
Он работает с другими шрифтами, которые я загрузил и установил в прошлом.
Исследуя SVG, я открыл его в Inkscape 0.92.4, где вижу, что семейство шрифтов для текста перечеркнуто, например,Чернильный журнал:
Открытие настроек шрифта в меню «Пуск» Windows 10 ясно показывает, что этот шрифт установлен в Windows.
Возвращаясь к Inkscape, я вижу, что его вообще нет в списке шрифтов. Чтобы быть уверенным, я перезагрузил свою Windows 10, но ее все еще нет:
Почему Inkscape не показывает мне все мои шрифты?
Оказывается, это проблема из двух частей. Во-первых, есть изменения в Windows 10 , где при установке загруженного шрифта он не помещается, C:\Windows\Fonts
если вы не установите его для всех пользователей. Эта функция позволяет пользователям, не являющимся администраторами, устанавливать шрифты (что хорошо для многих людей на заблокированных компьютерах с Windows 10).
Inkscape пока не учитывает этот новый способ перечисления шрифтов, но пока они его не изменят, вы должны установить шрифт для всех пользователей.
Если вы установили загруженный шрифт с помощью «Установить» (в отличие от «Установить для всех пользователей »), вы найдете шрифт в формате C:\Users\<username>\AppData\Local\Microsoft\Windows\Fonts
. Просто щелкните правой кнопкой мыши и выберите «Установить для всех пользователей » (но для этого вам нужно стать администратором):
В моем случае шрифт Ink Journal был получен из Microsoft Store и не отображается в этой локальной папке или даже C:\Windows\Fonts
как указано выше. Предполагаемое решение обсуждалось в Reddit и ведет на форум Microsoft , и оно довольно тяжелое:
Если вы не видите шрифт в списке, то в папке «Шрифты» слева нажмите «Загрузить шрифты для всех языков».
Я попробовал, и Windows 10 потребовалось много времени, чтобы загрузить множество дополнительных шрифтов. Однако в моем случае я по-прежнему не вижу Ink Journal из Microsoft Store ни в одном из каталогов, где я могу щелкнуть правой кнопкой мыши и установить его для всех пользователей.
Чтобы попытаться определить, где находится файл шрифта для «Ink Journal», я провел поиск с помощью PowerShell и не смог найти *.ttf
в C:\Windows
дереве ничего похожего на .
В RegEdit я нашел много записей для InkJournal
(без пробела), когда искал (не для новичков). В конце концов, я нашел запись, которая была C:\Program Files\WindowsApps\Microsoft.136853439117B_1.0.1.0_neutral__8wekyb3d8bbwe\Inkjournal.ttf
(конечно, уникальный ключ на моей машине).
Если вы ищете свой шрифт (или любой *.ttf) с помощью поиска Windows внутри, C:\Program Files\WindowsApps\
вы, вероятно, легко найдете установленный в Магазине .ttf
. Поскольку он установлен как приложение в магазине, имеет смысл, наконец, что он не будет под C:\Windows
.
Используя эту информацию, вы можете установить для всех пользователей , как указано выше.
Суть проблемы, по-видимому, в том, что Inkscape зависит от fontconfig, который, по-видимому, не читает реестр Windows для получения информации о шрифтах (проблема, возникшая в 2015 году). ~/AppData/Local/Microsoft/Windows/Fonts
Готовится исправление для Inkscape , позволяющее включать загруженные пользователем шрифты .
Но я почти уверен, что это НЕ решит проблему со шрифтами в Магазине Microsoft, поскольку эти шрифты не попадают в этот каталог (и ни в какой очевидный каталог). Запросу fontconfig для поддержки реестра шрифтов в Windows уже более 4 лет, что не очень хорошо для Inkscape, поддерживающего шрифты из Магазина Microsoft в ближайшее время. На данный момент кажется, что их невозможно использовать в Inkscape.