{"id":20230212,"url":"https://github.com/juliettef/iconfontcppheaders","last_synced_at":"2025-05-14T16:11:59.759Z","repository":{"id":41067136,"uuid":"45208725","full_name":"juliettef/IconFontCppHeaders","owner":"juliettef","description":"C and C++ headers, C# and Python classes, Rust files and Go package for icon fonts Font Awesome, Fork Awesome, Google Material Design icons and symbols, Pictogrammers Material Design icons, Kenney game icons, Fontaudio, Codicons and Lucide.","archived":false,"fork":false,"pushed_at":"2025-04-22T09:20:36.000Z","size":5294,"stargazers_count":1288,"open_issues_count":2,"forks_count":150,"subscribers_count":24,"default_branch":"main","last_synced_at":"2025-05-14T16:11:55.380Z","etag":null,"topics":["c","codepoints","cpp","csharp","font-icons","fontawesome","gamedev","golang","gui","header-files","headers","icon-fonts","icons","imgui","material-design","python","rust"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"zlib","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/juliettef.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"dougbinks","patreon":"enkisoftware","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":"https://www.enkisoftware.com/avoyd"}},"created_at":"2015-10-29T20:28:41.000Z","updated_at":"2025-05-11T01:14:06.000Z","dependencies_parsed_at":"2023-02-09T03:45:19.243Z","dependency_job_id":"b09eaa81-f2a2-493f-a7ce-9726832e21ce","html_url":"https://github.com/juliettef/IconFontCppHeaders","commit_stats":{"total_commits":169,"total_committers":7,"mean_commits":"24.142857142857142","dds":"0.053254437869822535","last_synced_commit":"fdeaa7dacef4507cccce0fb1df75b0f7546e15d4"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliettef%2FIconFontCppHeaders","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliettef%2FIconFontCppHeaders/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliettef%2FIconFontCppHeaders/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliettef%2FIconFontCppHeaders/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/juliettef","download_url":"https://codeload.github.com/juliettef/IconFontCppHeaders/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254179905,"owners_count":22027884,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","codepoints","cpp","csharp","font-icons","fontawesome","gamedev","golang","gui","header-files","headers","icon-fonts","icons","imgui","material-design","python","rust"],"created_at":"2024-11-14T07:40:18.507Z","updated_at":"2025-05-14T16:11:59.737Z","avatar_url":"https://github.com/juliettef.png","language":"C","readme":"Support development of IconFontCppHeaders through [GitHub Sponsors](https://github.com/sponsors/dougbinks) or [Patreon](https://www.patreon.com/enkisoftware)\n\n[\u003cimg src=\"https://img.shields.io/static/v1?logo=github\u0026label=Github\u0026message=Sponsor\u0026color=#ea4aaa\" width=\"200\"/\u003e](https://github.com/sponsors/dougbinks)    [\u003cimg src=\"https://c5.patreon.com/external/logo/become_a_patron_button@2x.png\" alt=\"Become a Patron\" width=\"150\"/\u003e](https://www.patreon.com/enkisoftware)\n\n\n# IconFontCppHeaders\n\n[https://github.com/juliettef/IconFontCppHeaders](https://github.com/juliettef/IconFontCppHeaders)\n\nC and C++ headers, C# and Python classes, Rust files and Go package for icon fonts Font Awesome, Fork Awesome, Google Material Design, Pictogrammers Material Design icons, Kenney game icons, Fontaudio, Codicons and Lucide.\n\nA set of header files and classes for using icon fonts in C, C++, C#, Python, Rust and Go, along with the python generator used to create the files.\n\nEach header contains defines for one font, with each icon code point defined as `ICON_*`, along with the *min*, *max* and *max 16 bit* code points for font loading purposes. The min excludes the ASCII characters code points. The max 16 bit is for use with libraries that only support 16 bit code points, for example Dear ImGui.\n\nIn addition the python script can be used to convert ttf font files to C and C++ headers. \nEach ttf icon font file is converted to a C and C++ header file containing a single array of bytes. \nTo enable conversion, run the `GenerateIconFontCppHeaders.py` script with `ttf2headerC = True`. \n\n## Icon Fonts\n\n### Font Awesome [ FA ]\n* [fontawesome.com](https://fontawesome.com)\n* [github.com/FortAwesome/Font-Awesome](https://github.com/FortAwesome/Font-Awesome)\n\n#### Font Awesome 4\n* [github.com/FortAwesome/Font-Awesome/tree/4.x](https://github.com/FortAwesome/Font-Awesome/tree/4.x)\n* [icons.yml](https://github.com/FortAwesome/Font-Awesome/blob/4.x/src/icons.yml)\n* [fontawesome-webfont.ttf](https://github.com/FortAwesome/Font-Awesome/blob/4.x/fonts/fontawesome-webfont.ttf)\n\n#### Font Awesome 5 free\n* [github.com/FortAwesome/Font-Awesome/tree/5.x](https://github.com/FortAwesome/Font-Awesome/tree/5.x)\n* [icons.yml](https://github.com/FortAwesome/Font-Awesome/blob/5.x/metadata/icons.yml)\n* [fa-brands-400.ttf](https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-brands-400.ttf)\n* [fa-regular-400.ttf](https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-regular-400.ttf)\n* [fa-solid-900.ttf](https://github.com/FortAwesome/Font-Awesome/blob/5.x/webfonts/fa-solid-900.ttf)\n\n#### Font Awesome 5 pro\n* Paid product, see [notes about generating the header files](#notes-about-font-awesome-5-and-6)\n\n#### Font Awesome 6 free\n* [github.com/FortAwesome/Font-Awesome/tree/6.x](https://github.com/FortAwesome/Font-Awesome/tree/6.x)\n* [icons.yml](https://github.com/FortAwesome/Font-Awesome/blob/6.x/metadata/icons.yml)\n* [fa-brands-400.ttf](https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-brands-400.ttf)\n* [fa-regular-400.ttf](https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-regular-400.ttf)\n* [fa-solid-900.ttf](https://github.com/FortAwesome/Font-Awesome/blob/6.x/webfonts/fa-solid-900.ttf)\n\n#### Font Awesome 6 pro\n* Commercial product, not supported but [generation should be similar to FA5 Pro](#notes-about-font-awesome-5-and-6), or see [@jakerieger's fork](https://github.com/jakerieger/IconFontCppHeaders)\n\n### Fork Awesome [ FK ]\n* [forkaweso.me/Fork-Awesome](https://forkaweso.me/Fork-Awesome)\n* [github.com/ForkAwesome/Fork-Awesome](https://github.com/ForkAwesome/Fork-Awesome)\n* [icons.yml](https://github.com/ForkAwesome/Fork-Awesome/blob/master/src/icons/icons.yml)\n* [forkawesome-webfont.ttf](https://github.com/ForkAwesome/Fork-Awesome/blob/master/fonts/forkawesome-webfont.ttf)\n\n### Google Material Design Icons [ MD ] and Material Symbols [ MS ]\n* [fonts.google.com/icons](https://fonts.google.com/icons)\n* [github.com/google/material-design-icons](https://github.com/google/material-design-icons)\n#### Material Design Icons [ MD ]\n* [fonts.google.com/icons?icon.set=Material+Icons](https://fonts.google.com/icons?icon.set=Material+Icons)\n* [Codepoints](https://github.com/google/material-design-icons/blob/master/font/MaterialIcons-Regular.codepoints)\n* [MaterialIcons-Regular.ttf](https://github.com/google/material-design-icons/blob/master/font/MaterialIcons-Regular.ttf)\n#### Material Symbols [ MS ]\n* [fonts.google.com/icons?icon.set=Material+Symbols](https://fonts.google.com/icons?icon.set=Material+Symbols)\n* [Codepoints](https://github.com/google/material-design-icons/blob/master/variablefont/MaterialSymbolsOutlined%5BFILL%2CGRAD%2Copsz%2Cwght%5D.codepoints)\n* [MaterialSymbolsOutlined[FILL,GRAD,opsz,wght].ttf](https://github.com/google/material-design-icons/blob/master/variablefont/MaterialSymbolsOutlined%5BFILL,GRAD,opsz,wght%5D.ttf)\n* [MaterialSymbolsRounded[FILL,GRAD,opsz,wght].ttf](https://github.com/google/material-design-icons/blob/master/variablefont/MaterialSymbolsRounded[FILL,GRAD,opsz,wght].ttf)\n* [MaterialSymbolsSharp[FILL,GRAD,opsz,wght].ttf](https://github.com/google/material-design-icons/blob/master/variablefont/MaterialSymbolsSharp[FILL,GRAD,opsz,wght].ttf)\n\n### Pictogrammers Material Design Icons [ MDI ]\n* [pictogrammers.com/library/mdi](https://pictogrammers.com/library/mdi/)\n* [github.com/Templarian/MaterialDesign-Webfont](https://github.com/Templarian/MaterialDesign-Webfont)\n* [materialdesignicons.css](https://github.com/Templarian/MaterialDesign-Webfont/blob/master/css/materialdesignicons.css)\n* [materialdesignicons-webfont.ttf](https://github.com/Templarian/MaterialDesign-Webfont/blob/master/fonts/materialdesignicons-webfont.ttf)  \n\n### Kenney Game Icons and Expansion [ KI ]\n* [kenney.nl/assets/game-icons](http://kenney.nl/assets/game-icons) and [kenney.nl/assets/game-icons-expansion](http://kenney.nl/assets/game-icons-expansion) \n* [github.com/nicodinh/kenney-icon-font](https://github.com/nicodinh/kenney-icon-font)\n* [kenney-icons.css](https://github.com/nicodinh/kenney-icon-font/blob/master/css/kenney-icons.css)\n* [kenney-icon-font.ttf](https://github.com/nicodinh/kenney-icon-font/blob/master/fonts/kenney-icon-font.ttf)\n\n### Fontaudio [ FAD ]\n* [github.com/fefanto/fontaudio](https://github.com/fefanto/fontaudio)\n* [fontaudio.css](https://github.com/fefanto/fontaudio/blob/master/font/fontaudio.css)\n* [fontaudio.ttf](https://github.com/fefanto/fontaudio/blob/master/font/fontaudio.ttf)\n\n### Codicons [ CI ]\n* [microsoft.github.io/vscode-codicons/dist/codicon](https://microsoft.github.io/vscode-codicons/dist/codicon.html)\n* [github.com/microsoft/vscode-codicons](https://github.com/microsoft/vscode-codicons)\n* [codicon.css](https://microsoft.github.io/vscode-codicons/dist/codicon.css)\n* [codicon.ttf](https://microsoft.github.io/vscode-codicons/dist/codicon.ttf)\n\n### Lucide [ LC ]\n* [lucide.dev](https://lucide.dev)\n* [github.com/lucide-icons/lucide](https://github.com/lucide-icons/lucide)\n* [lucide.css](https://unpkg.com/lucide-static@latest/font/lucide.css)\n* [lucide.ttf](https://unpkg.com/lucide-static@latest/font/lucide.ttf)\n\n### Ionicons\n* Unsupported as of 29 Apr 2020. See [Issue #16](https://github.com/juliettef/IconFontCppHeaders/issues/16).\n\n### Notes about Font Awesome 5 and 6\n#### Codepoints grouping\nFont Awesome 5 and 6 split the different styles of icons into different font files with identical codepoints for *light*, *regular* and *solid* styles, and a different set of codepoints for *brands*. We have put the brands into a separate header file.\n#### Generating Pro header files (Font Awesome 5)\nDownload the Font Awesome Pro Web package from [fontawesome.com](https://fontawesome.com). To generate the headers, drop `icons.yml` in the same directory as `GenerateIconFontCppHeaders.py` before running the script. The file `icons.yml` is under `..\\fontawesome-pro-n.n.n-web\\metadata\\icons.yml` where `n.n.n` is the version number.\n\nIcon files: \n\n* `..\\fontawesome-pro-n.n.n-web\\metadata\\icons.yml`  \n* `..\\fontawesome-pro-n.n.n-web\\webfonts\\fa-brands-400.ttf`  \n* `..\\fontawesome-pro-n.n.n-web\\webfonts\\fa-light-300.ttf`  \n* `..\\fontawesome-pro-n.n.n-web\\webfonts\\fa-regular-400.ttf`  \n* `..\\fontawesome-pro-n.n.n-web\\webfonts\\fa-solid-900.ttf`\n\n\n## Example Code\n\nUsing [Dear ImGui](https://github.com/ocornut/imgui) as an example UI library:\n\n```Cpp\n\n#include \"IconsFontAwesome5.h\"\n\nImGuiIO\u0026 io = ImGui::GetIO();\nio.Fonts-\u003eAddFontDefault();\nfloat baseFontSize = 13.0f; // 13.0f is the size of the default font. Change to the font size you use.\nfloat iconFontSize = baseFontSize * 2.0f / 3.0f; // FontAwesome fonts need to have their sizes reduced by 2.0f/3.0f in order to align correctly\n\n// merge in icons from Font Awesome\nstatic const ImWchar icons_ranges[] = { ICON_MIN_FA, ICON_MAX_16_FA, 0 };\nImFontConfig icons_config; \nicons_config.MergeMode = true; \nicons_config.PixelSnapH = true; \nicons_config.GlyphMinAdvanceX = iconFontSize;\nio.Fonts-\u003eAddFontFromFileTTF( FONT_ICON_FILE_NAME_FAS, iconFontSize, \u0026icons_config, icons_ranges );\n// use FONT_ICON_FILE_NAME_FAR if you want regular instead of solid\n\n// in an imgui window somewhere...\nImGui::Text( ICON_FA_PAINT_BRUSH \"  Paint\" ); // use string literal concatenation\n// outputs a paint brush icon and 'Paint' as a string.\n```\n\n## Projects using the font icon header files\n\n### Avoyd\nVoxel editor and 6 degree of freedom FPS game with editable environments. The voxel editor's UI uses Dear ImGui with Font Awesome icon fonts.  \n[www.avoyd.com](https://www.avoyd.com)\n\n![Screenshot of the the game Avoyd's Voxel Editor UI using an IconFontCppHeaders header file for Font Awesome with Dear ImGui](https://github.com/juliettef/Media/blob/main/IconFontCppHeaders_Avoyd_voxel_editor.png?raw=true)\n\n### bgfx\nCross-platform rendering library  \n[bkaradzic.github.io/bgfx/overview](https://bkaradzic.github.io/bgfx/overview.html)  \n[github.com/bkaradzic/bgfx](https://github.com/bkaradzic/bgfx)\n\n### glChAoS.P\nReal time 3D strange attractors scout  \n[www.michelemorrone.eu/glchaosp](https://www.michelemorrone.eu/glchaosp)  \n[github.com/BrutPitt/glChAoS.P](https://github.com/BrutPitt/glChAoS.P)\n\n![Screenshot of glChAoS.P UI using IconFontCppHeaders header file for Font Awesome with Dear ImGui](https://raw.githubusercontent.com/BrutPitt/glChAoS.P/master/imgsCapture/ssWGL_half.jpg)\n\n### iPlug2\nCross platform C++ audio plug-in framework  \n[iplug2.github.io](https://iplug2.github.io)  \n[github.com/iplug2/iplug2](https://github.com/iplug2/iplug2)\n\n### Lumix Engine\n3D C++ open source game engine  \n[github.com/nem0/LumixEngine](https://github.com/nem0/LumixEngine)  \n\n![Screenshot of Lumix Engine editor using IconFontCppHeaders header file for Font Awesome with Dear ImGui](https://raw.githubusercontent.com/wiki/nem0/LumixEngine/files/features/editor.jpg)\n\n### Tracy Profiler\nReal time, nanosecond resolution, remote telemetry frame profiler for games and other applications.  \n[bitbucket.org/wolfpld/tracy](https://bitbucket.org/wolfpld/tracy)  \n\n[![New features in Tracy Profiler v0.6](https://img.youtube.com/vi/uJkrFgriuOo/0.jpg)](https://www.youtube.com/watch?v=uJkrFgriuOo)\n\n### Visual 6502 Remix\nTransistor level 6502 Hardware Simulation  \n[floooh.github.io/visual6502remix](https://floooh.github.io/visual6502remix)  \n[github.com/floooh/v6502r](https://github.com/floooh/v6502r)  \n\n### Games\n- [Avatar: Frontiers of Pandora](https://www.mobygames.com/game/213552/avatar-frontiers-of-pandora/)\n- [Avoyd](https://www.avoyd.com)\n- [Wonder Boy: The Dragon's Trap](https://www.mobygames.com/game/87084/wonder-boy-the-dragons-trap/)\n\n## Related Tools\n\n### ImGuiFontStudio\nCreate font subsets  \n[github.com/aiekick/ImGuiFontStudio](https://github.com/aiekick/ImGuiFontStudio)  \n\n## Contributing\n\nThanks to everyone who has contributed to IconFontCppHeaders so far. In order to make things easier please bear in mind the following:  \n- I regularly update the repository. If you urgently need an update and can't run the generator yourself, raise an issue specifying the icon set(s) you need updated.  \n  - Don't submit PRs for updating the defines (the output of the generator).  \n- Before submitting a PR, please raise an issue describing the problem or the enhancement you suggest. If you're able, propose an implementation.  \n- If you use IconFontCppHeaders and would like your project to be featured on this page, raise an issue or email me at juliette@enkisoftware.com.  \n\n## Credits\n\nDevelopment - [Juliette Foucaut](http://www.enkisoftware.com/about.html#juliette) - [@juliettef](https://github.com/juliettef)  \nRequirements - [Doug Binks](http://www.enkisoftware.com/about.html#doug) - [@dougbinks](https://github.com/dougbinks)  \nNone language implementation and [refactoring](https://gist.github.com/paniq/4a734e9d8e86a2373b5bc4ca719855ec) - [Leonard Ritter](http://www.leonard-ritter.com/) - [@paniq](https://github.com/paniq)  \nSuggestion to add a define for the ttf file name - [Sean Barrett](https://nothings.org/) - [@nothings](https://github.com/nothings)  \nInitial Font Awesome 5 implementation - [Codecat](https://codecat.nl/) - [@codecat](https://github.com/codecat)  \nSuggestion to add Fork Awesome - [Julien Deswaef](http://xuv.be/) - [@xuv](https://github.com/xuv)  \nSuggestion to add Ionicons - [Omar Cornut](http://www.miracleworld.net/) - [@ocornut](https://github.com/ocornut)  \nC# language implementation - Rokas Kupstys - [@rokups](https://github.com/rokups)  \nSuggestion to add Material Design Icons - Gustav Madeso - [@madeso](https://github.com/madeso)  \nFontaudio implementation - [Oli Larkin](https://www.olilarkin.co.uk/) - [@olilarkin](https://github.com/olilarkin)  \nInitial ttf to C and C++ headers conversion implementation - Charles Mailly - [@Caerind](https://github.com/Caerind)  \nPython language implementation - Hang Yu - [@yhyu13](https://github.com/yhyu13)  \nGo language implementation - Matt Pharr - [@mpp](https://github.com/mmp)  \nCodicons implementation - Robert Ryan - [@rtryan98](https://github.com/rtryan98)  \nRust language implementation - Gaeel Bradshaw-Rodriguez - [@Bradshaw](https://github.com/Bradshaw)  \nPictogrammers Material Design icons implementation - Bobby Anguelov - [@BobbyAnguelov](https://github.com/BobbyAnguelov)  \nLucide icons implementation - Lucide Contributors - [@lucide-icons](https://github.com/lucide-icons/lucide#credits)","funding_links":["https://github.com/sponsors/dougbinks","https://patreon.com/enkisoftware","https://www.enkisoftware.com/avoyd","https://www.patreon.com/enkisoftware"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuliettef%2Ficonfontcppheaders","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjuliettef%2Ficonfontcppheaders","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuliettef%2Ficonfontcppheaders/lists"}