Вопрос Как нормально загрузить шрифт?

Начинающий
Статус
Оффлайн
Регистрация
6 Мар 2020
Сообщения
59
Реакции[?]
5
Поинты[?]
0
Делаю шрифт в ImGui
C++:
info_big = io.Fonts->AddFontFromFileTTF("C:\\Windows\\Fonts\\Arial\\arial.ttf", 20.0f, &font_config, io.Fonts->GetGlyphRangesCyrillic());
потом использую его
Код:
ImGui::PushFont(info_big);
ImGui::Text(u8"text");
ImGui::PopFont();
шрифт остается такой же как и был до этого, что я делаю не так?
 
Keine panik!
Эксперт
Статус
Оффлайн
Регистрация
29 Апр 2020
Сообщения
812
Реакции[?]
417
Поинты[?]
49K
что я делаю не так?
Проверь что инициализация действительно произошла (info_big != nullptr), вообще функция AddFontFromFileTTF должна выбивать ассерт если файл не найден, но мало ли они у тебя выключены.
Остается таким же скорее всего из-за ImGui::PushFont, если послать туда nullptr то она выставил шрифт по умолчанию, таким образом похоже info_big у тебя nullptr.
 
Начинающий
Статус
Оффлайн
Регистрация
6 Мар 2020
Сообщения
59
Реакции[?]
5
Поинты[?]
0
Проверь что инициализация действительно произошла (info_big != nullptr), вообще функция AddFontFromFileTTF должна выбивать ассерт если файл не найден, но мало ли они у тебя выключены.
Остается таким же скорее всего из-за ImGui::PushFont, если послать туда nullptr то она выставил шрифт по умолчанию, таким образом похоже info_big у тебя nullptr.
хорошо, спасибо. отпишу как посмотрю
да, именно так. шрифт записывается как nullptr
 
Последнее редактирование:
Keine panik!
Эксперт
Статус
Оффлайн
Регистрация
29 Апр 2020
Сообщения
812
Реакции[?]
417
Поинты[?]
49K
да, именно так. шрифт записывается как nullptr
Тогда возможно проблема в том что файла нет.
Попробуй "C:\\Windows\\Fonts\\Arial.ttf", по крайней мере на моей машине файл по такому пути загружается.
 
Начинающий
Статус
Оффлайн
Регистрация
6 Мар 2020
Сообщения
59
Реакции[?]
5
Поинты[?]
0
Тогда возможно проблема в том что файла нет.
Попробуй "C:\\Windows\\Fonts\\Arial.ttf", по крайней мере на моей машине файл по такому пути загружается.
Если я использую этот путь, появляется
IM_ASSERT(!Locked && "Cannot modify a locked ImFontAtlas between NewFrame() and EndFrame/Render()!");
 
Keine panik!
Эксперт
Статус
Оффлайн
Регистрация
29 Апр 2020
Сообщения
812
Реакции[?]
417
Поинты[?]
49K
Сверху Снизу