ImGUI Кириллица

Пользователь
Статус
Оффлайн
Регистрация
6 Авг 2017
Сообщения
81
Реакции[?]
44
Поинты[?]
0
Собственно, решил переделать спектатор лист в индиго и сделать его в виде отдельного ImGUI окошка. Сделать то сделал, все работает, вот только русские символы отображаются в виде вопросительных знаков. Как я понял, нужно, чтобы кодировка была UTF-8, но как реализовать перекодировку значения из переменной? Т. е. я знаю, что можно, например, вывести русский текст вот так ImGui::Text(u8"Привет"), но в моем ведь случае ники берутся из переменной ImGui::Text("%s", Pinfo.m_szPlayerName); как в таком случае решить проблему с кириллицей?
 
Забаненный
Статус
Оффлайн
Регистрация
23 Ноя 2016
Сообщения
371
Реакции[?]
123
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ImGui::Text("%s", u8 & Pinfo.m_szPlayerName);
Мб прокатит :roflanBuldiga:
 
return 0;
Забаненный
Статус
Оффлайн
Регистрация
6 Мар 2017
Сообщения
405
Реакции[?]
237
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
в GUI_Init
Код:
    ImFontConfig font_config;
    font_config.OversampleH = 1; //or 2 is the same
    font_config.OversampleV = 1;
    font_config.PixelSnapH = 1;

    static const ImWchar ranges[] =
    {
        0x0020, 0x00FF, // Basic Latin + Latin Supplement
        0x0400, 0x044F, // Cyrillic
        0,
    };
    ImGuiIO& io = ImGui::GetIO();
    io.Fonts->AddFontFromFileTTF("C:\\Windows\\Fonts\\Tahoma.ttf", 14.0f, &font_config, ranges);

    ImGui_ImplDX9_Init( G::Window, pDevice );

    color();

    G::d3dinit = true;
ImGui::Text(u8"Русский текст");
 
Забаненный
Статус
Оффлайн
Регистрация
23 Ноя 2016
Сообщения
371
Реакции[?]
123
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
в GUI_Init
Код:
    ImFontConfig font_config;
    font_config.OversampleH = 1; //or 2 is the same
    font_config.OversampleV = 1;
    font_config.PixelSnapH = 1;

    static const ImWchar ranges[] =
    {
        0x0020, 0x00FF, // Basic Latin + Latin Supplement
        0x0400, 0x044F, // Cyrillic
        0,
    };
    ImGuiIO& io = ImGui::GetIO();
    io.Fonts->AddFontFromFileTTF("C:\\Windows\\Fonts\\Tahoma.ttf", 14.0f, &font_config, ranges);

    ImGui_ImplDX9_Init( G::Window, pDevice );

    color();

    G::d3dinit = true;
ImGui::Text(u8"Русский текст");
ты тему вообще читал?
 
Пользователь
Статус
Оффлайн
Регистрация
6 Авг 2017
Сообщения
81
Реакции[?]
44
Поинты[?]
0
Проблема решена: если печатать тахомой с теми настройками, что скинули выше, то кириллица отображается нормально. Т. е. добавляем эту тахому и переключаемся на нее перед печатью спектатор листа, а потом обратно на наш шрифт.
 
В игре Source SDK
Забаненный
Статус
Оффлайн
Регистрация
10 Янв 2017
Сообщения
2,148
Реакции[?]
806
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ImGui::Text("u8%s", &Pinfo.m_szPlayerName); Так можно
 
Похожие темы
Сверху Снизу