Apoie o desenvolvimento de IconFontCppHeaders por meio de patrocinadores do GitHub ou Patreon
https://github.com/juliettef/IconFontCppHeaders
Cabeçalhos C e C++, classes C# e Python, arquivos Rust e pacote Go para fontes de ícones Font Awesome, Fork Awesome, Google Material Design, ícones Pictogrammers Material Design, ícones de jogos Kenney, Fontaudio, Codicons e Lucide.
Um conjunto de arquivos de cabeçalho e classes para usar fontes de ícones em C, C++, C#, Python, Rust e Go, junto com o gerador python usado para criar os arquivos.
Cada cabeçalho contém definições para uma fonte, com cada ponto de código de ícone definido como ICON_*
, junto com os pontos de código mínimo , máximo e máximo de 16 bits para fins de carregamento de fonte. O min exclui os pontos de código de caracteres ASCII. O máximo de 16 bits é para uso com bibliotecas que suportam apenas pontos de código de 16 bits, por exemplo, Dear ImGui.
Além disso, o script python pode ser usado para converter arquivos de fonte ttf em cabeçalhos C e C++. Cada arquivo de fonte de ícone ttf é convertido em um arquivo de cabeçalho C e C++ contendo uma única matriz de bytes. Para ativar a conversão, execute o script GenerateIconFontCppHeaders.py
com ttf2headerC = True
.
Font Awesome 5 e 6 dividem os diferentes estilos de ícones em diferentes arquivos de fontes com pontos de código idênticos para estilos claros , regulares e sólidos , e um conjunto diferente de pontos de código para marcas . Colocamos as marcas em um arquivo de cabeçalho separado.
Baixe o pacote Font Awesome Pro Web em fontawesome.com. Para gerar os cabeçalhos, coloque icons.yml
no mesmo diretório que GenerateIconFontCppHeaders.py
antes de executar o script. O arquivo icons.yml
está em ..fontawesome-pro-nnn-webmetadataicons.yml
onde nnn
é o número da versão.
Arquivos de ícone:
..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 exemplo de biblioteca de 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 e jogo FPS de 6 graus de liberdade com ambientes editáveis. A interface do editor de voxel usa Dear ImGui com fontes de ícones Font Awesome.
www.avoyd.com
Biblioteca de renderização multiplataforma
bkaradzic.github.io/bgfx/overview
github.com/bkaradzic/bgfx
Explorador de atratores estranhos em 3D em tempo real
www.michelemorrone.eu/glchaosp
github.com/BrutPitt/glChAoS.P
Estrutura de plug-in de áudio C++ de plataforma cruzada
iplug2.github.io
github.com/iplug2/iplug2
Mecanismo de jogo de código aberto 3D C++
github.com/nem0/LumixEngine
Tempo real, resolução de nanossegundos, perfilador de quadros de telemetria remota para jogos e outras aplicações.
bitbucket.org/wolfpld/tracy
Simulação de hardware de nível de transistor 6502
flooh.github.io/visual6502remix
github.com/flooh/v6502r
Crie subconjuntos de fontes
github.com/aiekick/ImGuiFontStudio
Obrigado a todos que contribuíram para IconFontCppHeaders até agora. Para facilitar as coisas, tenha em mente o seguinte:
Desenvolvimento - Juliette Foucaut - @juliettef
Requisitos - Doug Binks - @dougbinks
Implementação e refatoração de linguagem None - Leonard Ritter - @paniq
Sugestão para adicionar uma definição para o nome do arquivo ttf - Sean Barrett - @nothings
Implementação inicial do Font Awesome 5 - Codecat - @codecat
Sugestão para adicionar Fork Awesome - Julien Deswaef - @xuv
Sugestão para adicionar Ionicons - Omar Cornut - @ocornut
Implementação da linguagem C# - Rokas Kupstys - @rokups
Sugestão para adicionar ícones de Material Design - Gustav Madeso - @madeso
Implementação Fontaudio - Oli Larkin - @olilarkin
Implementação inicial de conversão de cabeçalhos ttf para C e C++ - Charles Mailly - @Caerind
Implementação da linguagem Python - Hang Yu - @yhyu13
Implementação da linguagem Go - Matt Pharr - @mpp
Implementação de Codicons - Robert Ryan - @rtyan98
Implementação da linguagem Rust - Gaeel Bradshaw-Rodriguez - @Bradshaw
Implementação de ícones do Pictogrammers Material Design - Bobby Anguelov - @BobbyAnguelov
Implementação de ícones Lucide - Lucide Contributors - @lucide-icons