Segoe UI Emoji в mimgui

sosal_0x

Новичок
Автор темы
3
0
Версия MoonLoader
.026-beta
Есть ли способ подключить Segoe UI Emoji, все те смайлики что привыкли видеть 🔺🔻🔸🔹◼️◾▫️🔲🔳🔷🔷🟧🟦🟦 в mimgui и использовать их?

Я искал подобные темы , но нашел только windows-icons в lua. Если это не так сложно для знатоков , был бы не против помощи , благодарю каждого , успехов!
 

ChаtGPT

Известный
429
117
Есть ли способ подключить Segoe UI Emoji, все те смайлики что привыкли видеть 🔺🔻🔸🔹◼️◾▫️🔲🔳🔷🔷🟧🟦🟦 в mimgui и использовать их?

Я искал подобные темы , но нашел только windows-icons в lua. Если это не так сложно для знатоков , был бы не против помощи , благодарю каждого , успехов!
Нужно подгрузить шрифт. в UpMimgui Добавили Freetype, пример
 

kyrtion

Известный
1,165
426

Winstаl

Известный
843
323
он имел ввиду шрифт в lua
дабы можно разделить иконки чтобы сэкономить видеопамять

насчет .ttf с разделением иконки не слышал
Да вроде как, он имеет ввиду обычный seguiemj.
Только нужно иметь ввиду, что вместо смайлов с новыми версиями шрифтов будут выводиться начертания. Как пофиксить - хз. Я лично использую версию шрифта 22 года, с ней все норм.
 

Вложения

  • Win1122H2SegoeUIEmoji.7z
    1.1 MB · Просмотры: 5
  • Нравится
Реакции: kyrtion и ARMOR

sosal_0x

Новичок
Автор темы
3
0
Больше спасибо вам.

Но вот отображаются смайлики только если файл использует кодировку UTF-8, я воспользовался примером, но поставив кодировку CP1251

imgui.PushFont(emoji_font)
imgui.Text("🔻🆘")
imgui.PopFont()

Показывает ????, а как мне быть со всей кириллицей , если в UTF-8 отображается в чате как РЎРєСЂРёРїС
 

sosal_0x

Новичок
Автор темы
3
0
imgui.Text(u8"🔻🆘")
Попробуй
Попробовал и без изменений, так же ???? ☹️

imgui.OnInitialize:
local imgui = require 'upmimgui'

imgui.OnInitialize(function()
  imgui.GetIO().IniFilename = nil

  local cfg = imgui.ImFontConfig()
  cfg.OversampleV = 1
  cfg.OversampleH = 1
  cfg.MergeMode = true
  cfg.FontBuilderFlags = bit.bor(cfg.FontBuilderFlags, imgui.FreeTypeBuilderFlags.LoadColor)

  local ranges = ffi.new("ImWchar[3]", 0x1, 0x1FFFF, 0)
  local fontFile = getWorkingDirectory() .. "\\AutoRepost\\fonts\\Twemoji.Mozilla.ttf"

  emoji_font = imgui.GetIO().Fonts:AddFontFromFileTTF(fontFile, 15, cfg, ranges)
end)
 

Winstаl

Известный
843
323
Уверен, что шрифт подгрузился? Нет русских символов в пути к нему? Если есть, path в u8() оберни.
emoji:
imgui.Text(u8("Текст") .. "\u{1F53B}\u{1F198}" .. u8("Текст")) -- в фигурных скобках UTF-код смайлика
UTF-код можно найти например тут
Так точно с кодировкой 1251 будет работать.

1746899951166.png