mimgui кастомный шрифт, не отображаются иконки fawesome

альтушка

Активный
Автор темы
326
29
Версия MoonLoader
.026-beta
Lua:
imgui.OnInitialize(function()
    imgui.GetIO().IniFilename = nil
    applyCustomTheme()
    Font = {}
    imgui.GetIO().Fonts:Clear()
    local ranges = imgui.GetIO().Fonts:GetGlyphRangesCyrillic()
    Font = imgui.GetIO().Fonts:AddFontFromMemoryCompressedBase85TTF(EagleSans, 15, nil, ranges)
    imgui.GetIO().Fonts:AddFontFromMemoryCompressedBase85TTF(faicons.get_font_data_base85('solid'), 15, _, ranges)
end)

--
onframe

if imgui.Button(faicons('TRASH'), imgui.ImVec2(50, 25)) then
     ffi.copy(messageInput, u8'')
end


1771673143669.png
 
Решение
Lua:
imgui.OnInitialize(function()
    imgui.GetIO().IniFilename = nil
    applyCustomTheme()
    -- Font = {} -- это вообще необязательно
    imgui.GetIO().Fonts:Clear()
    local ranges = imgui.GetIO().Fonts:GetGlyphRangesCyrillic()
    Font = imgui.GetIO().Fonts:AddFontFromMemoryCompressedBase85TTF(EagleSans, 15, nil, ranges)
    local icon_cfg = imgui.ImFontConfig()
    icon_cfg.MergeMode = true
--[[
Строка выше делает всю магию.
В ней ты мержишь шрифт с предыдущим.
То есть, при использовании 'Font' в нем будут символы от шрифта с иконками
]]
    local icon_ranges = imgui.new.ImWchar[3](faicons.min_range, faicons.max_range, 0)
    imgui.GetIO().Fonts:AddFontFromMemoryCompressedBase85TTF(faicons.get_font_data_base85('solid'), 15...

альтушка

Активный
Автор темы
326
29
было такое, поменял строчки определения шрифта и fawesome местами, и заработало

Lua:
imgui.OnInitialize(function()
    imgui.GetIO().IniFilename = nil
    applyCustomTheme()
    Font = {}
    imgui.GetIO().Fonts:Clear()
    local ranges = imgui.GetIO().Fonts:GetGlyphRangesCyrillic()
    Font = imgui.GetIO().Fonts:AddFontFromMemoryCompressedBase85TTF(EagleSans, 15, nil, ranges)
    imgui.GetIO().Fonts:AddFontFromMemoryCompressedBase85TTF(faicons.get_font_data_base85('solid'), 15, _, ranges)
end)
1771682713684.png

Lua:
imgui.OnInitialize(function()
    imgui.GetIO().IniFilename = nil
    applyCustomTheme()
    Font = {}
    imgui.GetIO().Fonts:Clear()
    local ranges = imgui.GetIO().Fonts:GetGlyphRangesCyrillic()
    imgui.GetIO().Fonts:AddFontFromMemoryCompressedBase85TTF(faicons.get_font_data_base85('solid'), 15, _, ranges)
    Font = imgui.GetIO().Fonts:AddFontFromMemoryCompressedBase85TTF(EagleSans, 15, nil, ranges)
end)
1771682843050.png
 

chromiusj

модерирую шмодерирую
Модератор
5,996
4,301
вот тут есть пример
 

БеzликиЙ

Автор темы
Проверенный
1,904
1,125
lua:
gui.OnInitialize(function()
    gui.GetIO().IniFilename = nil
    local config = gui.ImFontConfig()
    config.MergeMode = true
    config.PixelSnapH = true
    glyph_ranges = gui.GetIO().Fonts:GetGlyphRangesCyrillic()
    font = gui.GetIO().Fonts:AddFontFromFileTTF(getFolderPath(0x14)..'\\arial-bold.ttf', math.floor(12 * c.ui.density), _, glyph_ranges)
    iconRanges = gui.new.ImWchar[3](fa.min_range, fa.max_range, 0)
    gui.GetIO().Fonts:AddFontFromMemoryCompressedBase85TTF(fa.get_font_data_base85('solid'), math.floor(14 * c.ui.density), config, iconRanges)
end)

gui - это mimgui
 

Winstаl

Известный
1,006
416
Lua:
imgui.OnInitialize(function()
    imgui.GetIO().IniFilename = nil
    applyCustomTheme()
    -- Font = {} -- это вообще необязательно
    imgui.GetIO().Fonts:Clear()
    local ranges = imgui.GetIO().Fonts:GetGlyphRangesCyrillic()
    Font = imgui.GetIO().Fonts:AddFontFromMemoryCompressedBase85TTF(EagleSans, 15, nil, ranges)
    local icon_cfg = imgui.ImFontConfig()
    icon_cfg.MergeMode = true
--[[
Строка выше делает всю магию.
В ней ты мержишь шрифт с предыдущим.
То есть, при использовании 'Font' в нем будут символы от шрифта с иконками
]]
    local icon_ranges = imgui.new.ImWchar[3](faicons.min_range, faicons.max_range, 0)
    imgui.GetIO().Fonts:AddFontFromMemoryCompressedBase85TTF(faicons.get_font_data_base85('solid'), 15, icon_cfg, icon_ranges)
end)
 
  • Влюблен
Реакции: альтушка