кастомный шрифт, очередная хуйня с windows 11

Lance_Sterling

Известный
Автор темы
798
278
Версия MoonLoader
.026-beta
крч накатил 11, установил шрифт и в папке со шрифтами его нет, хотя пишет что он есть и если повторная установка то будет спрашивать о замене

мой скрипт тупо реагирует на название файла, т.е. у меня название файла EagleSans Bold Bold, скрипт добавляет .ttf и смотрит есть ли такой шрифт в папке с шрифтами(C:/Windows/Fonts), далее если шрифт найден - тогда запускает скрипт с измененным шрифтом, если не найден - запустит скрипт с стандартным шрифтом(чтоб не крашнуло)

в C:/Windows/Fonts шрифта такого нет, хотя я его уже наверно раз пятый установил, ему поебать вопще, комп перезагружал
так же я пробовал с шрифтом в папке fonts, я туда просто закинул шрифт, и в итоге он вопще начал крашить игру(на фрапсе видно код, строка 2120)

При этом, этот же шрифт по названию заменяется в чате сампа

так вопрос чо за хуйня блять

на windows 8.1 такой хуйни не было, уже по немногу жалею что повелся на красивый дизайн windows 11(странно, что я просто установил исполняемые библиотеки directx и самп работает без траблов)

код imgui.OnInitialize:
Lua:
local logo = nil

imgui.OnInitialize(function()
    imgui.GetIO().IniFilename = nil -- \\ Убираем конфиг у мимгуи окна

    -- \\ Проверка на существование шрифта
    local custom_font = doesFileExist(getFolderPath(0x14) .. '\\'..mainIni.settings.font..'.ttf')--mainIni.settings.font это шрифт который введен в mimgui поле
    -- if not custom_font then custom_font = doesFileExist(getWorkingDirectory() .. '\\resource\\fonts\\'..mainIni.settings.font..'.ttf') end
    if not custom_font then print('Шрифт '..mainIni.settings.font..' не установлен, применен обычный шрифт') end
    imgui.GetIO().Fonts:Clear()
    imgui.GetIO().Fonts:AddFontFromFileTTF(getFolderPath(0x14) .. (custom_font and '\\'..mainIni.settings.font..'.ttf' or '\\trebucbd.ttf'), mainIni.settings.main_fontsize, nil, imgui.GetIO().Fonts:GetGlyphRangesCyrillic())

    
    iconRanges = imgui.new.ImWchar[3](faicons.min_range, faicons.max_range, 0)--Создаем шрифт иконок
    local glyph_ranges = imgui.GetIO().Fonts:GetGlyphRangesCyrillic()
    local config = imgui.ImFontConfig()
    config.MergeMode = true
    config.PixelSnapH = true


    imgui.GetIO().Fonts:AddFontFromMemoryCompressedBase85TTF(faicons.get_font_data_base85('solid'), 14, config, iconRanges)
    logo = imgui.CreateTextureFromFileInMemory(new('const char*', main_data), #main_data)
    
    imgui.Theme(imgui.ColorConvertFloat4ToU32(imgui.ImVec4( MAIN_WINDOW_COLOR[0], MAIN_WINDOW_COLOR[1], MAIN_WINDOW_COLOR[2], MAIN_WINDOW_COLOR[3] )), 1.0, true)
    
    for size = 10, 20 do
        Font[size] = imgui.GetIO().Fonts:AddFontFromFileTTF(getFolderPath(0x14) .. (custom_font and '\\'..mainIni.settings.font..'.ttf' or '\\trebucbd.ttf'), size, nil, glyph_ranges)
    end
end)

видео:

UPD: решил проблему
можно закидывать шрифт в fonts в папке resuorce, ранее крашило потому что путь был getFolderPath(0x14) (тоесть C:/Windows/Fonts), а там как раз таки шрифта этого и нет
 
Последнее редактирование: