Apoyar el desarrollo de IconFontCppHeaders a través de patrocinadores de GitHub o Patreon
https://github.com/juliettef/IconFontCppHeaders
Encabezados de C y C++, clases de C# y Python, archivos Rust y paquete Go para fuentes de íconos Font Awesome, Fork Awesome, Google Material Design, íconos de Pictogrammers Material Design, íconos de juegos de Kenney, Fontaudio, Codicons y Lucide.
Un conjunto de archivos de encabezado y clases para usar fuentes de íconos en C, C++, C#, Python, Rust y Go, junto con el generador de Python usado para crear los archivos.
Cada encabezado contiene definiciones para una fuente, con cada punto de código de icono definido como ICON_*
, junto con los puntos de código mínimo , máximo y máximo de 16 bits para fines de carga de fuentes. El mínimo excluye los puntos de código de caracteres ASCII. El máximo de 16 bits es para usar con bibliotecas que solo admiten puntos de código de 16 bits, por ejemplo Dear ImGui.
Además, el script Python se puede utilizar para convertir archivos de fuentes ttf a encabezados C y C++. Cada archivo de fuente de icono ttf se convierte en un archivo de encabezado C y C++ que contiene una única matriz de bytes. Para habilitar la conversión, ejecute el script GenerateIconFontCppHeaders.py
con ttf2headerC = True
.
Font Awesome 5 y 6 dividen los diferentes estilos de íconos en diferentes archivos de fuentes con puntos de código idénticos para estilos claros , regulares y sólidos , y un conjunto diferente de puntos de código para marcas . Hemos colocado las marcas en un archivo de encabezado separado.
Descargue el paquete web Font Awesome Pro de fontawesome.com. Para generar los encabezados, suelte icons.yml
en el mismo directorio que GenerateIconFontCppHeaders.py
antes de ejecutar el script. El archivo icons.yml
se encuentra en ..fontawesome-pro-nnn-webmetadataicons.yml
donde nnn
es el número de versión.
Archivos de iconos:
..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
Usando Dear ImGui como biblioteca de interfaz de usuario de ejemplo:
# 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 de vóxeles y juego FPS de 6 grados de libertad con entornos editables. La interfaz de usuario del editor de vóxeles utiliza Dear ImGui con fuentes de íconos Font Awesome.
www.avoyd.com
Biblioteca de renderizado multiplataforma
bkaradzic.github.io/bgfx/overview
github.com/bkaradzic/bgfx
Explorador de atractores extraños en 3D en tiempo real
www.michelemorrone.eu/glchaosp
github.com/BrutPitt/glChAoS.P
Marco de complemento de audio C++ multiplataforma
iplug2.github.io
github.com/iplug2/iplug2
Motor de juego de código abierto 3D C++
github.com/nem0/LumixEngine
Perfilador de fotogramas de telemetría remota en tiempo real, resolución de nanosegundos para juegos y otras aplicaciones.
bitbucket.org/wolfpld/tracy
Nivel de transistor 6502 Simulación de hardware
floooh.github.io/visual6502remix
github.com/floooh/v6502r
Crear subconjuntos de fuentes
github.com/aiekick/ImGuiFontStudio
Gracias a todos los que han contribuido a IconFontCppHeaders hasta ahora. Para facilitarte las cosas ten en cuenta lo siguiente:
Desarrollo - Juliette Foucaut - @juliettef
Requisitos - Doug Binks - @dougbinks
Implementación y refactorización de ningún lenguaje - Leonard Ritter - @paniq
Sugerencia para agregar una definición para el nombre del archivo ttf - Sean Barrett - @nothings
Implementación inicial de Font Awesome 5 - Codecat - @codecat
Sugerencia para agregar Fork Awesome - Julien Deswaef - @xuv
Sugerencia para agregar Ionicons - Omar Cornut - @ocornut
Implementación del lenguaje C# - Rokas Kupstys - @rokups
Sugerencia para agregar íconos de Material Design - Gustav Madeso - @madeso
Implementación de Fontaudio - Oli Larkin - @olilarkin
Implementación inicial de conversión de encabezados de ttf a C y C++ - Charles Mailly - @Caerind
Implementación del lenguaje Python - Hang Yu - @ yhyu13
Implementación del lenguaje Go - Matt Pharr - @mpp
Implementación de codicones - Robert Ryan - @ rtryan98
Implementación del lenguaje Rust - Gaeel Bradshaw-Rodriguez - @Bradshaw
Implementación de íconos de Pictogrammers Material Design - Bobby Anguelov - @BobbyAnguelov
Implementación de iconos de Lucide - Colaboradores de Lucide - @lucide-icons