Исходник [mimgui] Font Awesome 7

chromiusj

модерирую шмодерирую
Автор темы
Модератор
5,952
4,284
привет
оригинальный источник: https://github.com/FortAwesome/Font-Awesome/tree/7.x/otfs
usage:
Lua:
local imgui = require 'mimgui'
local faicons = require('fAwesome7')
local ffi = require 'ffi'

local WinState = imgui.new.bool()
local find = imgui.new.char[256]('')

local solid, regular

imgui.OnFrame(function() return WinState[0] end, function()
    imgui.SetNextWindowPos(imgui.ImVec2(500,500), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
    imgui.SetNextWindowSize(imgui.ImVec2(614,753), imgui.Cond.FirstUseEver)
    imgui.Begin('##hui', WinState, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoScrollbar)
    imgui.PushItemWidth(200)
    imgui.InputTextWithHint('##find','IconName',find,256)
    imgui.PopItemWidth()
    imgui.SameLine()
    if imgui.Button('Clear') then
        imgui.StrCopy(find,'')
    end

    imgui.BeginChild("icons_list", imgui.ImVec2(0, 0), true)

    local i = 0
    for k, v in pairs(faicons) do
        if k:lower():find(ffi.string(find):lower()) then
            i = i + 1

            imgui.PushFont(solid)
            if imgui.Button(faicons(k), imgui.ImVec2(24,24)) then
                setClipboardText(string.format('faicons("%s")',k))
            end
            imgui.PopFont()

            if imgui.IsItemHovered() then
                imgui.BeginTooltip()
                imgui.Text(tostring(k))
                imgui.SameLine() imgui.Text("Solid")

                imgui.PushFont(regular)
                imgui.Text(faicons(k))
                imgui.PopFont()

                imgui.SameLine() imgui.Text("Regular")
                imgui.EndTooltip()
            end

            if math.fmod(i, 19) ~= 0 then
                imgui.SameLine()
            end
        end
    end

    imgui.EndChild()
    imgui.End()
end)

function main()
    sampRegisterChatCommand('faw7', function()
        WinState[0] = not WinState[0]
    end)
    wait(-1)
end

imgui.OnInitialize(function()
    imgui.GetIO().IniFilename = nil
    local config = imgui.ImFontConfig()
    config.MergeMode = false
    config.PixelSnapH = true
    local iconRanges = imgui.new.ImWchar[3](faicons.min_range, faicons.max_range, 0)

    solid = imgui.GetIO().Fonts:AddFontFromMemoryCompressedBase85TTF(
        faicons.get_font_data_base85('solid'), 20, config, iconRanges)
    regular = imgui.GetIO().Fonts:AddFontFromMemoryCompressedBase85TTF(
        faicons.get_font_data_base85('regular'), 20, config, iconRanges)
end)
 

Вложения

  • fAwesome7.lua
    1.3 MB · Просмотры: 20
Последнее редактирование:

chromiusj

модерирую шмодерирую
Автор темы
Модератор
5,952
4,284
Заменил free версии шрифта на pro. Теперь, вроде как, полный набор иконок.
обновил тему спс
вообще в вайбах было желание попробовать сделать инструмент,который сам собирает шрифт иконок в бейз и собирает в модуль луашеный с датой иконок и его бейзом но чёт после материал десигн иконс желание слилось,мб потом попробую попытку
 
  • Нравится
  • Злость
Реакции: Vespan и Winstаl