Mendukung pengembangan IconFontCppHeaders melalui GitHub Sponsors atau Patreon
https://github.com/juliettef/IconFontCppHeaders
Header C dan C++, kelas C# dan Python, file Rust dan paket Go untuk font ikon Font Awesome, Fork Awesome, Desain Material Google, ikon Desain Material Pictogrammer, ikon permainan Kenney, Fontaudio, Codicons, dan Lucide.
Satu set file header dan kelas untuk menggunakan font ikon di C, C++, C#, Python, Rust dan Go, bersama dengan generator python yang digunakan untuk membuat file.
Setiap header berisi definisi untuk satu font, dengan setiap titik kode ikon didefinisikan sebagai ICON_*
, bersama dengan poin kode min , max dan max 16 bit untuk tujuan pemuatan font. Min tidak termasuk poin kode karakter ASCII. Maks 16 bit untuk digunakan dengan perpustakaan yang hanya mendukung titik kode 16 bit, misalnya Dear ImGui.
Selain itu skrip python dapat digunakan untuk mengkonversi file font ttf ke header C dan C++. Setiap file font ikon ttf dikonversi ke file header C dan C++ yang berisi satu array byte. Untuk mengaktifkan konversi, jalankan skrip GenerateIconFontCppHeaders.py
dengan ttf2headerC = True
.
Font Awesome 5 dan 6 membagi gaya ikon yang berbeda ke dalam file font yang berbeda dengan titik kode yang identik untuk gaya ringan , reguler , dan padat , serta kumpulan titik kode berbeda untuk merek . Kami telah memasukkan merek ke dalam file header terpisah.
Unduh paket Font Awesome Pro Web dari fontawesome.com. Untuk membuat header, letakkan icons.yml
di direktori yang sama dengan GenerateIconFontCppHeaders.py
sebelum menjalankan skrip. File icons.yml
berada di bawah ..fontawesome-pro-nnn-webmetadataicons.yml
dengan nnn
adalah nomor versi.
File ikon:
..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
Menggunakan Dear ImGui sebagai contoh perpustakaan 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.
Editor Voxel dan game FPS kebebasan 6 derajat dengan lingkungan yang dapat diedit. UI editor voxel menggunakan Dear ImGui dengan font ikon Font Awesome.
www.avoyd.com
Pustaka rendering lintas platform
bkaradzic.github.io/bgfx/overview
github.com/bkaradzic/bgfx
Pramuka penarik aneh 3D waktu nyata
www.michelemorrone.eu/glchaosp
github.com/BrutPitt/glChAoS.P
Kerangka kerja plug-in audio C++ lintas platform
iplug2.github.io
github.com/iplug2/iplug2
Mesin permainan sumber terbuka 3D C++
github.com/nem0/LumixEngine
Waktu nyata, resolusi nanodetik, profiler bingkai telemetri jarak jauh untuk game dan aplikasi lainnya.
bitbucket.org/wolfpld/tracy
Simulasi Perangkat Keras level transistor 6502
floooh.github.io/visual6502remix
github.com/floooh/v6502r
Buat subset font
github.com/aiekick/ImGuiFontStudio
Terima kasih kepada semua orang yang telah berkontribusi pada IconFontCppHeaders sejauh ini. Untuk mempermudah, harap perhatikan hal-hal berikut:
Pengembangan - Juliette Foucaut - @juliettef
Persyaratan - Doug Binks - @dougbinks
Tidak ada implementasi bahasa dan pemfaktoran ulang - Leonard Ritter - @paniq
Saran untuk menambahkan definisi untuk nama file ttf - Sean Barrett - @nothings
Implementasi Font Awesome 5 Awal - Codecat - @codecat
Saran untuk menambahkan Fork Awesome - Julien Deswaef - @xuv
Saran untuk menambahkan Ionicons - Omar Cornut - @ocornut
Implementasi bahasa C# - Rokas Kupstys - @rokups
Saran untuk menambahkan Ikon Desain Material - Gustav Madeso - @madeso
Implementasi Fontaudio - Oli Larkin - @olilarkin
Implementasi konversi header ttf ke C dan C++ awal - Charles Mailly - @Caerind
Implementasi bahasa Python - Hang Yu - @yhyu13
Implementasi bahasa Go - Matt Pharr - @mpp
Implementasi kodekon - Robert Ryan - @ rtryan98
Implementasi bahasa Rust - Gaeel Bradshaw-Rodriguez - @Bradshaw
Implementasi ikon Desain Material Piktogrammer - Bobby Anguelov - @BobbyAnguelov
Implementasi ikon Lucide - Kontributor Lucide - @lucide-icons