Tabler Icons 3.6.0
Это библиотека для иконок Tabler IconsБиблиотека содержит дохуя+ иконок
Найти названия иконок можно на tabler-icons.io
Установка
Закинуть файл
tabler_icons.lua
в папку lib
В библиотеке уже есть шрифт иконок в base85
Исходный код
генератор шрифта можно найти на гитхабе, инструкция там же
Использование
Функции и константы:
local ti = require 'tabler_icons'
-- иконки
local github = ti 'brand-github'
local gps = ti(0xed7a)
local checkbox = ti.ICON_CHECKBOX
-- версии
local lib_version = ti.__VERSION -- либы
local icons_version = ti. __ICONS_VERSION -- иконок
-- минимальный и максимальный код иконок
local min_range, max_range = ti.min_range, ti.max_range
-- шрифт в кодировке base85
local font_data = ti.get_font_data_base85()
mimgui: Подключение шрифта:
local ti = require 'tabler_icons'
local imgui = require 'mimgui'
-- функция подключения шрифта, аргумент fontSize - размер шрифта
local function loadIconicFont(fontSize)
local config = imgui.ImFontConfig()
config.MergeMode = true
config.PixelSnapH = true
local iconRanges = imgui.new.ImWchar[3](ti.min_range, ti.max_range, 0)
imgui.GetIO().Fonts:AddFontFromMemoryCompressedBase85TTF(ti.get_font_data_base85(), fontSize, config, iconRanges)
end
imgui.OnInitialize(function()
loadIconicFont(14)
imgui.GetIO().IniFilename = nil
end)
mimgui: Пример:
local ti = require 'tabler_icons'
local imgui = require 'mimgui'
local function loadIconicFont(fontSize)
local config = imgui.ImFontConfig()
config.MergeMode = true
config.PixelSnapH = true
local iconRanges = imgui.new.ImWchar[3](ti.min_range, ti.max_range, 0)
imgui.GetIO().Fonts:AddFontFromMemoryCompressedBase85TTF(ti.get_font_data_base85(), fontSize, config, iconRanges)
end
imgui.OnInitialize(function()
loadIconicFont(14)
imgui.GetIO().IniFilename = nil
end)
local window = imgui.new.bool(false)
imgui.OnFrame(function() return window[0] end, function()
local sw, sh = getScreenResolution()
imgui.SetNextWindowPos(imgui.ImVec2(sw/2,sh/2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5,0.5))
imgui.SetNextWindowSize(imgui.ImVec2(350,250), imgui.Cond.FirstUseEver)
imgui.Begin('Tabler Icons', window)
imgui.Text('Tabler Icons mimgui example')
local github = ti 'brand-github'
local checkbox = ti.ICON_CHECKBOX
imgui.Text(github .. ' github icon')
imgui.Text(checkbox .. ' checkbox icon')
imgui.End()
end)
function main()
repeat wait(0) until isSampAvailable()
sampRegisterChatCommand('ticons',function()
window[0] = not window[0]
end)
wait(-1)
end
Lua:
function loadFonts(sizes)
local fonts = {}
local config = imgui.ImFontConfig()
config.MergeMode = true
config.PixelSnapH = true
local iconRanges = imgui.new.ImWchar[3](ti.min_range, ti.max_range, 0)
imgui.GetIO().Fonts:AddFontFromMemoryCompressedBase85TTF(ti.get_font_data_base85(), 14, config, iconRanges) -- Обязательно
for i, v in ipairs(sizes) do
fonts[v] = imgui.GetIO().Fonts:AddFontFromFileTTF(getFolderPath(0x14) .. '\\trebucbd.ttf', v, nil, imgui.GetIO().Fonts:GetGlyphRangesCyrillic())
imgui.GetIO().Fonts:AddFontFromMemoryCompressedBase85TTF(ti.get_font_data_base85(), v, config, iconRanges)
end
return fonts
end
imgui.OnInitialize(function()
fonts = loadFonts({16, 25})
imgui.GetIO().IniFilename = nil
end)
--Использование:
imgui.PushFont(fonts[16])
imgui.Text(ti'info-circle'..u8' Этот текст размером 16')
imgui.PopFont()
imgui.PushFont(fonts[25])
imgui.Text(ti'info-circle'..u8' Этот текст размером 25')
imgui.PopFont()
Вложения
Последнее редактирование: