Как загрузить шрифт из ресурса, используя dwrite API? - PullRequest
0 голосов
/ 29 января 2020

Я хочу загрузить шрифт из скомпилированного ресурса, который является самой программой. Я могу загрузить его, используя AddFontMemResourceEx, когда я использовал GDI. Тем не менее, прямой 2D имеет свой собственный API Dwrite, который не совместим с GDI. Официальный документ предлагает использовать CreateCustomFontFileReference + CreateCustomFontCollection. Кто-нибудь может дать мне пример, как это сделать?

1 Ответ

0 голосов
/ 26 марта 2020

Взгляните на образец DirectWriteCustomFontSets в репозитории microsoft / windows -classi c -samples на GitHub ( здесь ). Он демонстрирует пять сценариев ios с использованием настраиваемого набора шрифтов, и, исходя из вашего вопроса, звучит так, как будто случай 4 применим к вашей ситуации: «Создает настраиваемый набор шрифтов с использованием данных шрифтов, содержащихся в буферах в памяти».

Для этого сценария ключевым интерфейсом является IDWriteInMemoryFontFileLoader , который был добавлен в обновлении Windows 10 создателей (весна 2017 г.).

Определенные c файлы в примере проекта, которые будут наиболее релевантными:

  • CustomFontSetManager.h /.cpp - это включает элементы, применимые к другому сценарию ios также
  • BinaryResources.h /.cpp
  • Document.h /.cpp - это описывается как имитация файла документа, содержащего данные шрифта (например, a. do c file), но это может быть любой двоичный файл.
...