Узнать имена шрифтов, которые загружаются из памяти
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 31.12.23 15:06
Оценка:
Здравствуйте!

Есть такие функции — AddFontMemResourceEx и RemoveFontMemResourceEx.

Позволяют загрузить и выгрузить шрифты, вроде ttf и otf. В файле может быть несколько шрифтов, о чем функция загрузки вроде как умеет рассказывать. Ещё она какой-то хэндл возвращает, и не понятно, что с ним делать.

Эти шрифты приватные для процесса и при перечислении шрифтов они не будут участвовать. Вопрос — как узнать имена загруженных шрифтов, чтобы их использовать?

На худой конец пойдёт просто какая-то готовая утилита, которая умеет в эти форматы и может выдать список имен шрифтов в файле
Маньяк Робокряк колесит по городу
Отредактировано 04.01.2024 18:02 Marty . Предыдущая версия .
Re: Узнать имена шрифтов, которые загружаются из памяти
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 04.01.24 17:54
Оценка:
Здравствуйте, Marty, Вы писали:

UP

Неужели никаких идей нет ни о кого вообще?
Маньяк Робокряк колесит по городу
Re: Узнать имена шрифтов, которые загружаются из памяти
От: Sinclair Россия https://github.com/evilguest/
Дата: 26.03.24 17:46
Оценка:
Здравствуйте, Marty, Вы писали:

M>Позволяют загрузить и выгрузить шрифты, вроде ttf и otf. В файле может быть несколько шрифтов, о чем функция загрузки вроде как умеет рассказывать. Ещё она какой-то хэндл возвращает, и не понятно, что с ним делать.

Единственное, что с ним можно делать — скармливать в RemoveFontMemResourceEx. Ни для чего больше этот хэндл непригоден.
M>Эти шрифты приватные для процесса и при перечислении шрифтов они не будут участвовать. Вопрос — как узнать имена загруженных шрифтов, чтобы их использовать?
Авторы API ожидали, что основной сценарий использования такого шрифта — "я поставляю его вместе со своим приложением, в ресурсах, и даю ему экзотическое имя при компоновке шрифта".

M>На худой конец пойдёт просто какая-то готовая утилита, которая умеет в эти форматы и может выдать список имен шрифтов в файле

Вам может помочь ответ на вот такой вопрос на SO: https://stackoverflow.com/questions/55978791/how-to-prefer-font-that-is-loaded-by-addfontmemresourceex-than-system

Правда, там шрифт переименовывается (потому что если его имя совпадает с одним из установленных в системе шрифтов, то использовать его будет невозможно), но, надо полагать, прочитать имя шрифта так тоже можно.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.