Поддержка разработки IconFontCppHeaders через спонсоров GitHub или Patreon.
https://github.com/juliettef/IconFontCppHeaders
Заголовки C и C++, классы C# и Python, файлы Rust и пакет Go для иконочных шрифтов Font Awesome, Fork Awesome, Google Material Design, значки Pictogrammers Material Design, значки игр Kenney, Fontaudio, Codicons и Lucide.
Набор файлов заголовков и классов для использования шрифтов значков в C, C++, C#, Python, Rust и Go, а также генератор Python, используемый для создания файлов.
Каждый заголовок содержит определения для одного шрифта, при этом каждая кодовая точка значка определяется как ICON_*
, а также минимальные , максимальные и максимальные 16-битные кодовые точки для целей загрузки шрифта. Минимальное значение исключает кодовые точки символов ASCII. Максимальный размер 16 бит предназначен для использования с библиотеками, которые поддерживают только 16-битные кодовые точки, например Dear ImGui.
Кроме того, сценарий Python можно использовать для преобразования файлов шрифтов ttf в заголовки C и C++. Каждый файл шрифта значка ttf преобразуется в файл заголовка C и C++, содержащий один массив байтов. Чтобы включить преобразование, запустите сценарий GenerateIconFontCppHeaders.py
с ttf2headerC = True
.
В Font Awesome 5 и 6 разные стили значков разделены на разные файлы шрифтов с одинаковыми кодами для светлого , обычного и сплошного стилей, а также с разным набором кодов для брендов . Мы поместили бренды в отдельный заголовочный файл.
Загрузите веб-пакет Font Awesome Pro с сайта Fontawesome.com. Чтобы сгенерировать заголовки, перед запуском сценария поместите icons.yml
в тот же каталог, что и GenerateIconFontCppHeaders.py
. Файл icons.yml
находится в папке ..fontawesome-pro-nnn-webmetadataicons.yml
, где nnn
— номер версии.
Файлы значков:
..fontawesome-pro-nnn-webmetadataicons.yml
..fontawesome-pro-nnn-webwebfontsfa-brands-400.ttf
..fontawesome-pro-nnn-webwebfontsfa-light-300.ttf
..fontawesome-pro-nnn-webwebfontsfa-regular-400.ttf
..fontawesome-pro-nnn-webwebfontsfa-solid-900.ttf
Использование Dear ImGui в качестве примера библиотеки пользовательского интерфейса:
# include " IconsFontAwesome5.h "
ImGuiIO& io = ImGui::GetIO();
io.Fonts-> AddFontDefault ();
float baseFontSize = 13 . 0f ; // 13.0f is the size of the default font. Change to the font size you use.
float iconFontSize = baseFontSize * 2 . 0f / 3 . 0f ; // FontAwesome fonts need to have their sizes reduced by 2.0f/3.0f in order to align correctly
// merge in icons from Font Awesome
static const ImWchar icons_ranges[] = { ICON_MIN_FA, ICON_MAX_16_FA, 0 };
ImFontConfig icons_config;
icons_config.MergeMode = true ;
icons_config.PixelSnapH = true ;
icons_config.GlyphMinAdvanceX = iconFontSize;
io.Fonts-> AddFontFromFileTTF ( FONT_ICON_FILE_NAME_FAS, iconFontSize, &icons_config, icons_ranges );
// use FONT_ICON_FILE_NAME_FAR if you want regular instead of solid
// in an imgui window somewhere...
ImGui::Text ( ICON_FA_PAINT_BRUSH " Paint " ); // use string literal concatenation
// outputs a paint brush icon and 'Paint' as a string.
Редактор вокселей и шутер от первого лица с 6 степенями свободы и редактируемой средой. Пользовательский интерфейс редактора вокселей использует Dear ImGui с иконочными шрифтами Font Awesome.
www.avoyd.com
Кроссплатформенная библиотека рендеринга
bkaradzic.github.io/bgfx/overview
github.com/bkaradzic/bgfx
Поиск странных аттракторов в реальном времени в 3D
www.micelemorrone.eu/glchaosp
github.com/BrutPitt/glChAoS.P
Кроссплатформенная платформа аудиоподключаемых модулей C++
iplug2.github.io
github.com/iplug2/iplug2
Игровой движок с открытым исходным кодом 3D C++
github.com/nem0/LumixEngine
Профилировщик кадров удаленной телеметрии в реальном времени, наносекундное разрешение для игр и других приложений.
bitbucket.org/wolfpld/tracy
Аппаратное моделирование транзистора уровня 6502
floooh.github.io/visual6502remix
github.com/floooh/v6502r
Создание подмножеств шрифтов
github.com/aiekick/ImGuiFontStudio
Спасибо всем, кто уже внес свой вклад в IconFontCppHeaders. Чтобы упростить задачу, имейте в виду следующее:
Разработка - Жюльет Фуко - @juliettef
Требования – Дуг Бинкс – @dougbinks
Никакая языковая реализация и рефакторинг — Леонард Риттер — @paniq
Предложение добавить определение имени файла ttf – Шон Барретт – @nothings
Первоначальная реализация Font Awesome 5 — Codecat — @codecat
Предложение добавить Fork Awesome - Жюльен Десваф - @xuv
Предложение добавить иониконы — Омар Корнут — @ocornut
Реализация языка C# — Рокас Купстис — @rokups
Предложение добавить значки Material Design — Густав Мадесо — @madeso
Реализация Fontaudio — Оли Ларкин — @olilarkin
Первоначальная реализация преобразования заголовков ttf в C и C++ — Чарльз Мэйлли — @Caerind
Реализация языка Python — Ханг Ю — @yhyu13
Реализация языка Go — Мэтт Фарр — @mpp
Реализация Codicons – Роберт Райан – @rtryan98
Реализация языка Rust — Гаэль Брэдшоу-Родригес — @Bradshaw
Реализация иконок Pictogrammers Material Design - Бобби Ангелов - @BobbyAnguelov
Реализация значков Lucide - Участники Lucid - @lucid-icons