Когда я загрузил динамический шрифт в Windows с помощью
AddFontResource("myfontpath.ttf");
Мне нужно выбрать его на холсте и нарисовать с ним текст:
Canvas.Font.Family := "myfontname"
На OS X и iOS работает нормально! - потому что загрузка пользовательского шрифта выполняется через .plist вне приложения. Однако в Windows он не распознает шрифт и возвращается к стандартному шрифту.
Я нашел эти темы, указывающие на то, что это общая проблема с FMX. Firemonkey: добавление шрифта из ресурса в память и используя его и Установите шрифт в firemonkey
Эти вопросы НЕ заканчиваются решением, хотя один из них предлагает работать со стилями, но в моей ситуации я использую шрифт в пользовательском компоненте без стилей (унаследованном от TControl, а не от TStyledControl)
Кто-нибудь нашел решение или обходной путь?
PS. Установка шрифта программой установки в Windows невозможна, поскольку шрифт должен быть скрыт для других приложений. Это не текстовый шрифт! Для этого я использую AddFontResourceEx( ... ,FR_PRIVATE, ... ), но проблема с FMX, которую я описываю, аналогична AddFontResource.