Вопрос Русский язык в imgui

Начинающий
Статус
Оффлайн
Регистрация
22 Июл 2020
Сообщения
72
Реакции[?]
5
Поинты[?]
0
Необходимо вывести значение из переменной в imgui. Например есть строка которая может быть как на английском так и на русском языке, назовем ее string.
И выводится она должна таким образом ImGui::Text(string.c_str()); Только при выводе строки в случае если там кириллица будут выведены только ?????. Поскольку я заранее не знаю, что будет в строке то способ с "u8" отпадает.

Как решить эту проблему?

Шрифт поддерживает кириллицу.
case VM_CHAR уже пробовал менять.
C++:
case WM_CHAR:
         wchar_t wch;
        MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, (char*)&wParam, 1, &wch, 1);
        io.AddInputCharacter(wch);
        break;
 
Начинающий
Статус
Оффлайн
Регистрация
13 Апр 2022
Сообщения
26
Реакции[?]
12
Поинты[?]
2K
Поскольку я заранее не знаю, что будет в строке то способ с "u8" отпадает.
Почему?)
Ты можешь вывести строку как на русском так и на английском используя u8...
 
Начинающий
Статус
Оффлайн
Регистрация
22 Июл 2020
Сообщения
72
Реакции[?]
5
Поинты[?]
0
Начинающий
Статус
Оффлайн
Регистрация
13 Апр 2022
Сообщения
26
Реакции[?]
12
Поинты[?]
2K
Начинающий
Статус
Оффлайн
Регистрация
13 Апр 2022
Сообщения
26
Реакции[?]
12
Поинты[?]
2K
Объяви строку как std::string something_strange = u8"";
и дальше получай в нее свои русские символы и выводи спокойно
1649924375623.png
 
Начинающий
Статус
Оффлайн
Регистрация
22 Июл 2020
Сообщения
72
Реакции[?]
5
Поинты[?]
0
Эксперт
Статус
Оффлайн
Регистрация
30 Дек 2019
Сообщения
1,970
Реакции[?]
958
Поинты[?]
19K
Необходимо вывести значение из переменной в imgui. Например есть строка которая может быть как на английском так и на русском языке, назовем ее string.
И выводится она должна таким образом ImGui::Text(string.c_str()); Только при выводе строки в случае если там кириллица будут выведены только ?????. Поскольку я заранее не знаю, что будет в строке то способ с "u8" отпадает.

Как решить эту проблему?

Шрифт поддерживает кириллицу.
case VM_CHAR уже пробовал менять.
C++:
case WM_CHAR:
         wchar_t wch;
        MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, (char*)&wParam, 1, &wch, 1);
        io.AddInputCharacter(wch);
        break;
в настройках шрифта кирилицу включи
 
Начинающий
Статус
Оффлайн
Регистрация
13 Апр 2022
Сообщения
26
Реакции[?]
12
Поинты[?]
2K
Можешь дать наглядный пример в виде кода?
бля, я не понимаю в чем ваша проблема зайти на гитхаб имгуи и почитать огромное количество иссуев по этой теме?
C++:
tabs = io.Fonts->AddFontFromMemoryTTF(&Bold, sizeof Bold, 18, nullptr, io.Fonts->GetGlyphRangesCyrillic())
 
Начинающий
Статус
Оффлайн
Регистрация
22 Июл 2020
Сообщения
72
Реакции[?]
5
Поинты[?]
0
бля, я не понимаю в чем ваша проблема зайти на гитхаб имгуи и почитать огромное количество иссуев по этой теме?
C++:
tabs = io.Fonts->AddFontFromMemoryTTF(&Bold, sizeof Bold, 18, nullptr, io.Fonts->GetGlyphRangesCyrillic())
Я так и делаю...
 
Сверху Снизу