Prise en charge du développement d'IconFontCppHeaders via les sponsors GitHub ou Patreon
https://github.com/juliettef/IconFontCppHeaders
En-têtes C et C++, classes C# et Python, fichiers Rust et package Go pour les polices d'icônes Font Awesome, Fork Awesome, Google Material Design, Pictogrammers Material Design, icônes de jeu Kenney, Fontaudio, Codicons et Lucide.
Un ensemble de fichiers d'en-tête et de classes pour utiliser les polices d'icônes en C, C++, C#, Python, Rust et Go, ainsi que le générateur Python utilisé pour créer les fichiers.
Chaque en-tête contient des définitions pour une police, chaque point de code d'icône étant défini comme ICON_*
, ainsi que les points de code min , max et max de 16 bits à des fins de chargement de police. Le min exclut les points de code des caractères ASCII. Le maximum de 16 bits est destiné à être utilisé avec des bibliothèques qui ne prennent en charge que des points de code de 16 bits, par exemple Dear ImGui.
De plus, le script Python peut être utilisé pour convertir les fichiers de polices ttf en en-têtes C et C++. Chaque fichier de police d'icône ttf est converti en un fichier d'en-tête C et C++ contenant un seul tableau d'octets. Pour activer la conversion, exécutez le script GenerateIconFontCppHeaders.py
avec ttf2headerC = True
.
Font Awesome 5 et 6 divisent les différents styles d'icônes en différents fichiers de polices avec des points de code identiques pour les styles clairs , réguliers et solides , et un ensemble différent de points de code pour les marques . Nous avons placé les marques dans un fichier d'en-tête séparé.
Téléchargez le package Web Font Awesome Pro sur fontawesome.com. Pour générer les en-têtes, déposez icons.yml
dans le même répertoire que GenerateIconFontCppHeaders.py
avant d'exécuter le script. Le fichier icons.yml
se trouve sous ..fontawesome-pro-nnn-webmetadataicons.yml
où nnn
est le numéro de version.
Fichiers d'icônes :
..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
Utilisation de Dear ImGui comme exemple de bibliothèque d'interface utilisateur :
# 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.
Éditeur Voxel et jeu FPS à 6 degrés de liberté avec environnements modifiables. L'interface utilisateur de l'éditeur de voxel utilise Dear ImGui avec les polices d'icônes Font Awesome.
www.avoyd.com
Bibliothèque de rendu multiplateforme
bkaradzic.github.io/bgfx/overview
github.com/bkaradzic/bgfx
Scout d'attracteurs étranges en 3D en temps réel
www.michelemorrone.eu/glchaosp
github.com/BrutPitt/glChAoS.P
Framework de plug-in audio C++ multiplateforme
iplug2.github.io
github.com/iplug2/iplug2
Moteur de jeu open source 3D C++
github.com/nem0/LumixEngine
Profileur de trame de télémétrie à distance en temps réel, résolution nanoseconde, pour jeux et autres applications.
bitbucket.org/wolfpld/tracy
Simulation matérielle de niveau transistor 6502
floooh.github.io/visual6502remix
github.com/floooh/v6502r
Créer des sous-ensembles de polices
github.com/aiekick/ImGuiFontStudio
Merci à tous ceux qui ont contribué à IconFontCppHeaders jusqu'à présent. Afin de faciliter les choses, veuillez garder à l'esprit les points suivants :
Développement - Juliette Foucaut - @juliettef
Exigences - Doug Binks - @dougbinks
Implémentation et refactorisation du langage Aucun - Leonard Ritter - @paniq
Suggestion d'ajouter une définition pour le nom du fichier ttf - Sean Barrett - @nothings
Implémentation initiale de Font Awesome 5 - Codecat - @codecat
Suggestion d'ajout de Fork Awesome - Julien Deswaef - @xuv
Suggestion d'ajouter des Ionicons - Omar Cornut - @ocornut
Implémentation du langage C# - Rokas Kupstys - @rokups
Suggestion d'ajouter des icônes de conception matérielle - Gustav Madeso - @madeso
Implémentation de Fontaudio - Oli Larkin - @olilarkin
Implémentation initiale de la conversion des en-têtes ttf vers C et C++ - Charles Mailly - @Caerind
Implémentation du langage Python - Hang Yu - @yhyu13
Implémentation du langage Go - Matt Pharr - @mpp
Implémentation des codicons - Robert Ryan - @rtryan98
Implémentation du langage Rust - Gaeel Bradshaw-Rodriguez - @Bradshaw
Implémentation des icônes Pictogrammers Material Design - Bobby Anguelov - @BobbyAnguelov
Implémentation des icônes Lucide - Contributeurs Lucide - @lucide-icons