透過 GitHub Sponsors 或 Patreon 支持 IconFontCppHeaders 的開發
https://github.com/juliettef/IconFontCppHeaders
C 和 C++ 標頭、C# 和 Python 類別、Rust 檔案和圖示字體 Font Awesome、Fork Awesome、Google Material Design、Pictogrammers Material Design 圖示、Kenney 遊戲圖示、Fontaudio、Codicons 和 Lucide 的 Go 套件。
一組用於在 C、C++、C#、Python、Rust 和 Go 中使用圖示字體的頭檔和類,以及用於建立檔案的 python 生成器。
每個標頭包含一種字體的定義,每個圖示程式碼點定義為ICON_*
,以及用於字體載入目的的最小、最大和最大 16 位元程式碼點。最小值不包括 ASCII 字元代碼點。最大 16 位元適用於僅支援 16 位元程式碼點的函式庫,例如 Dear ImGui。
此外,Python 腳本可用於將 ttf 字型檔案轉換為 C 和 C++ 標頭。每個 ttf 圖示字型檔案都會轉換為包含單一位元組陣列的 C 和 C++ 頭檔。若要啟用轉換,請使用ttf2headerC = True
執行GenerateIconFontCppHeaders.py
腳本。
Font Awesome 5 和 6 將不同樣式的圖示分割成不同的字體文件,對於淺色、常規和純色樣式具有相同的程式碼點,以及針對品牌的一組不同的程式碼點。我們已將品牌放入單獨的頭檔中。
從 fontawesome.com 下載 Font Awesome Pro Web 套件。若要產生標頭,請在執行腳本之前將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 作為範例 UI 庫:
# 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 自由度 FPS 遊戲。體素編輯器的 UI 使用 Dear ImGui 和 Font Awesome 圖示字體。
www.avoyd.com
跨平台渲染庫
bkaradzic.github.io/bgfx/概述
github.com/bkaradzic/bgfx
即時3D奇怪吸引子偵察
www.michelelemorrone.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
無語言實作與重構 - Leonard Ritter - @paniq
建議加入 ttf 檔案名稱的定義 - Sean Barrett - @nothings
初始 Font Awesome 5 實作 - Codecat - @codecat
建議加入 Fork Awesome - Julien Deswaef - @xuv
建議添加 Ionicons - Omar Cornut - @ocornut
C# 語言實作 - Rokas Kupstys - @rokups
建議添加材質設計圖示 - Gustav Madeso - @madeso
Fontaudio 實作 - Oli Larkin - @olilarkin
初始 ttf 到 C 和 C++ 標頭轉換實作 - Charles Mailly - @Caerind
Python語言實作 - 餘航 - @yhyu13
Go 語言實作 - Matt Pharr - @mpp
Codicons 實施 - Robert Ryan - @rtryan98
Rust 語言實作 - Gaeel Bradshaw-Rodriguez - @Bradshaw
Pictogrammers Material Design 圖示實作 - Bobby Anguelov - @BobbyAnguelov
Lucide 圖示實作 - Lucide 貢獻者 - @lucide-icons