Вы не можете сделать это с помощью метода AddFontFile()
; ожидаемая строка пути не может быть включена в ресурсы, встроенные в вашу скомпилированную программу.
Вместо этого вам нужно будет использовать AddMemoryFont()
... и передать ему указатель на данные ресурса, которые вы получили через API с учетом ресурсов.
Есть вопрос 2013 года, когда кто-то делал это на C #: "addFontFile from resources" . Я не знаю, какие другие библиотеки классов вы используете, но если вы программируете на прямой Win32, получение указателя и размера для вашего шрифта будет выглядеть примерно так:
HMODULE module = NULL; // search current process, override if needed
HRSRC resource = FindResource(module, L"Exo-Regular.ttf", RT_RCDATA);
if (!resource) {...error handling... }
HGLOBAL handle = LoadResource(module, resource);
if (!handle) {...error handling... }
// "It is not necessary to unlock resources because the system
// automatically deletes them when the process that created
// them terminates."
//
void *memory = LockResource(handle);
DWORD length = SizeofResource(module, resource);
privateFontCollection.AddMemoryFont(memory, length);