У меня есть приложение, которое использует отдельную сборку библиотеки для ресурсов (но не сборку только для ресурсов без кода), и я хотел бы добавить в библиотеку собственный шрифт.
Я могу получить шрифт, который является Open Type Font
, для загрузки, если я добавлю его .otf файл в качестве ресурса для проекта для исполняющей сборки (а не в проект библиотеки ресурсов), с установленными свойствами как Build Action = 'Resource' и Copy to Output = 'Do not Copy', используя следующий код:
FontFamily font = new FontFamily(new Uri("pack://application:,,,/"),
"./Resources/#CustomFont")); // Resources is a subfolder
Однако, когда я пытаюсь добавить шрифт в проект библиотеки ресурсов, шрифт не загружается. Я попытался использовать следующий код для его загрузки (также отметить: у меня нет большого опыта работы с URI пакета):
FontFamily font = new FontFamily(new Uri("pack://application:,,,/MyLibrary"),
"./Resources/#CustomFont"));
// there is a Resources subfolder in my library as well
// not sure about whether I need the .
Библиотека работает для других ресурсов, например изображений.
Я также пробовал кучу других перестановок для URI без успеха (он также не генерирует исключений, просто отображает шрифт по умолчанию, не уверен, что это отдельная проблема).
Я работаю из Упаковывать шрифты с приложениями в MSDN, в котором есть пример создания библиотеки ресурсов шрифта, но нет примеров с использованием кода (я вынуждены использовать код для этого).
Любые идеи о том, что мне нужно делать? Я не в курсе?