Lua Chat MImGui | UPDATE 7.0

imring

Ride the Lightning
Всефорумный модератор
2,362
2,545
теперь всё нормально, странно, но вопрос: можно каким-нибудь образом применить этот шрифт только для определённых символов?
я скинул тебе таблицу с кириллицей и с другими символами windows1251, так что iranges можешь использовать для любого шрифта (ну fa-icons я по крайне не видел).
 

#Northn

Pears Project — уже запущен!
Автор темы
Всефорумный модератор
2,650
2,535
я скинул тебе таблицу с кириллицей и с другими символами windows1251, так что iranges можешь использовать для любого шрифта (ну fa-icons я по крайне не видел).
да, я как раз подумал о том что за это отвечает последний шрифт, но смотри, я делаю таким образом, но он игнорирует шрифт для исправления символов и продолжает ариалом
Lua:
imgui.OnInitialize (function() -- Called once

    imgui.GetStyle().WindowTitleAlign = imgui.ImVec2(0.5, 0.84)
    
    fonts = {}
    fontsArray = {}
    
    load_ini()
    
    fontChanged, fontSizeChanged = false, false
    
    enableSettingsWindow = imgui.new.bool()
    
    -- imgui.GetIO().WantCaptureMouse = true DONT WORKS
    imgui.GetIO().IniFilename = nil
    imgui.GetStyle().WindowBorderSize = 0
    local glyph_ranges = imgui.GetIO().Fonts:GetGlyphRangesCyrillic()
    imgui.GetIO().Fonts:Clear()
    imgui.GetIO().Fonts:AddFontFromFileTTF(getFolderPath(0x14) .. '\\'..data.values.font_name, fontSize[0], nil, glyph_ranges)
    --imgui.RebuildFonts()
    
    local search, file = findFirstFile(getFolderPath(0x14) .. '\\*.ttf')
    while file do
        table.insert(fonts, file)
        if file == data.values.font_name then fontSelected = imgui.new.int(#fonts - 1) end
        file = findNextFile(search)
    end
    fontsArray = imgui.new['const char*'][#fonts](fonts)
    fontSize[0] = imgui.GetIO().Fonts.ConfigData.Data[0].SizePixels
    
    -- https://github.com/imring/spur-imgui/blob/master/spur_imgui.lua#L106
    local ranges = {
        0x0020, 0x00FF,
        0x0400, 0x052F,
        0x2DE0, 0x2DFF,
        0xA640, 0xA69F,
        0x2013, 0x2122,
        0,
    }

    local fonts = imgui.GetIO().Fonts
    --fonts:Clear()
    iranges = ffi.new('ImWchar[?]', #ranges, ranges) -- или mimgui стиль: imgui.new.ImWchar[#ranges](ranges)
    fonts:AddFontFromFileTTF(getFolderPath(0x14) .. '\\consola.ttf', 12, nil, iranges)
    bold = fonts:AddFontFromFileTTF(getFolderPath(0x14) .. '\\consolab.ttf', 12, nil, iranges)
    welcome = fonts:AddFontFromFileTTF(getFolderPath(0x14) .. '\\consolab.ttf', 14, nil, iranges)
end)
заметь, что я не чищу список загруженных шрифтов из-за собственного шрифта чата, я хочу дополнительно подгрузить этот шрифт для фикса и только для определённых символов
 

livingflore

Известный
369
320
CMDHelper.sf - баг гуи, не подстраивается под размер чата
vmTR1Sd.png
 

#Northn

Pears Project — уже запущен!
Автор темы
Всефорумный модератор
2,650
2,535
оке, а есть возможность растянуть область чата? строки слишком длинные и не помещаются
ты можешь уменьшить размер шрифта или же внутри скрипта отредактировать на 371 строке 1020 на своё значение
 
  • Нравится
Реакции: livingflore