C++ Вопрос Шрифт ImGui

Эксперт
Статус
Оффлайн
Регистрация
29 Мар 2021
Сообщения
1,596
Реакции[?]
605
Поинты[?]
46K
всё не так.

чтоб загрузить шрифт через AddFontFromMemoryTTF:

шаг 1: компилишь это:
Пожалуйста, авторизуйтесь для просмотра ссылки.

шаг 2: в командной строке: [путь/до/binary_to_compressed_c.exe] [путь/до/шрифта/в/формате/.ttf/] [fonts1]

note: fonts1 можно заменить на любое другое название.

шаг 3: в сурсе чита создаём новый файл, назовём его fonts.h, например.

шаг 4: в fonts.h вставляем вывод второго шага (многа буковок и циферак).

шаг 5: добавляем в файле где загружаем шрифты fonts.h используя #include "fonts.h"

шаг 6: и наконец:

ImFont* font1 = ImGui:: AddFontFromMemoryTTF(font1_compressed_data, font1_compressed_size, 20.f);
 
Пользователь
Статус
Оффлайн
Регистрация
15 Апр 2021
Сообщения
224
Реакции[?]
64
Поинты[?]
0
всё не так.

чтоб загрузить шрифт через AddFontFromMemoryTTF:

шаг 1: компилишь это:
Пожалуйста, авторизуйтесь для просмотра ссылки.

шаг 2: в командной строке: [путь/до/binary_to_compressed_c.exe] [путь/до/шрифта/в/формате/.ttf/] [fonts1]

note: fonts1 можно заменить на любое другое название.

шаг 3: в сурсе чита создаём новый файл, назовём его fonts.h, например.

шаг 4: в fonts.h вставляем вывод второго шага (многа буковок и циферак).

шаг 5: добавляем в файле где загружаем шрифты fonts.h используя #include "fonts.h"

шаг 6: и наконец:

ImFont* font1 = ImGui:: AddFontFromMemoryTTF(font1_compressed_data, font1_compressed_size, 20.f);
addfontfrommemorycompressedttf
 
Начинающий
Статус
Оффлайн
Регистрация
11 Май 2021
Сообщения
20
Реакции[?]
0
Поинты[?]
0
всё не так.

чтоб загрузить шрифт через AddFontFromMemoryTTF:

шаг 1: компилишь это:
Пожалуйста, авторизуйтесь для просмотра ссылки.

шаг 2: в командной строке: [путь/до/binary_to_compressed_c.exe] [путь/до/шрифта/в/формате/.ttf/] [fonts1]

note: fonts1 можно заменить на любое другое название.

шаг 3: в сурсе чита создаём новый файл, назовём его fonts.h, например.

шаг 4: в fonts.h вставляем вывод второго шага (многа буковок и циферак).

шаг 5: добавляем в файле где загружаем шрифты fonts.h используя #include "fonts.h"

шаг 6: и наконец:

ImFont* font1 = ImGui:: AddFontFromMemoryTTF(font1_compressed_data, font1_compressed_size, 20.f);
Спасибо
 
Начинающий
Статус
Оффлайн
Регистрация
11 Май 2021
Сообщения
20
Реакции[?]
0
Поинты[?]
0
всё не так.

чтоб загрузить шрифт через AddFontFromMemoryTTF:

шаг 1: компилишь это:
Пожалуйста, авторизуйтесь для просмотра ссылки.

шаг 2: в командной строке: [путь/до/binary_to_compressed_c.exe] [путь/до/шрифта/в/формате/.ttf/] [fonts1]

note: fonts1 можно заменить на любое другое название.

шаг 3: в сурсе чита создаём новый файл, назовём его fonts.h, например.

шаг 4: в fonts.h вставляем вывод второго шага (многа буковок и циферак).

шаг 5: добавляем в файле где загружаем шрифты fonts.h используя #include "fonts.h"

шаг 6: и наконец:

ImFont* font1 = ImGui:: AddFontFromMemoryTTF(font1_compressed_data, font1_compressed_size, 20.f);
Всё сделал правильно, но в итоге выбивает эту ошибку, искал решение проблемы, но увы ничего не нашёл
 

Вложения

Начинающий
Статус
Оффлайн
Регистрация
9 Апр 2022
Сообщения
22
Реакции[?]
0
Поинты[?]
0
Начинающий
Статус
Оффлайн
Регистрация
3 Дек 2016
Сообщения
44
Реакции[?]
11
Поинты[?]
0
шрифт нужно добавлять в инициализации имгуи
пример:

C++:
    static bool init = true;
    if (init)
    {
        init = false;
        ImGui::CreateContext();
        ImGuiIO& io = ImGui::GetIO();

        ImGui_ImplWin32_Init(FindWindowA("Valve001", nullptr));
        ImGui_ImplDX9_Init(device);

        ImFontConfig m_config;
        m_config.OversampleH = 3;
        m_config.OversampleV = 1;
        m_config.PixelSnapH = false;

        static const ImWchar ranges[] =
        {
            0x0020, 0x00FF,
            0x0400, 0x044F,
            0
        };

        io.Fonts->AddFontFromMemoryTTF((void*)verdanafont, sizeof(verdanafont), 14, &m_config, ranges);
        espfont = io.Fonts->AddFontFromMemoryTTF((void*)verdanafont, sizeof(verdanafont), 11, &m_config, ranges);
        espsmallfont = io.Fonts->AddFontFromMemoryTTF((void*)smallestpixelfont, sizeof(smallestpixelfont), 10, &m_config, ranges);

        ImGui_ImplDX9_CreateDeviceObjects();
    }
 
Сверху Снизу