Как добавить файл шрифта в сборку на auto-py-to-exe?

Пишу приложение на dearpygui, там есть место, где я подключаю кастомный шрифт для поддержки кириллицы. В коде это выглядит так:

with dpg.font_registry():
    with dpg.font("./LiteralRegular.otf", 18, default_font=True, tag="Default font") as f:
        dpg.add_font_range_hint(dpg.mvFontRangeHint_Cyrillic)

Разумеется, в папке с проектом лежит тот самый LiteralRegular.otf

- main.py
- LiteralRegular.otf

Все корректно работает при запуске из VSCode или PyCharm, но когда я собрал всё в .exe через auto-py-to-exe, при запуске программы получаю ошибку:

Exception: Error: [1000] Message:   Font file could not be found

Я пробовал перезапускать сборку, указывая файл шрифта дополнительным файлом, но результат такой же. Подскажите, как решить это?


Ответы (1 шт):

Автор решения: Amgarak

Вы запаковываете сам шрифт в .exe или потом его рядом с .exe кладете? Если второе, то попробуйте просто указать "LiteralRegular.otf" без ./

Можно запаковать папку со шрифтом в .exe и попробовать получить к нему путь вот таким способом:

# Получаем путь к текущей директории, где находится исполняемый файл
current_directory = sys._MEIPASS if hasattr(sys, '_MEIPASS') else os.getcwd()
folder_path = os.path.join(current_directory, 'font')
font_path = os.path.join(folder_path, filename)
→ Ссылка