GitHub スポンサーまたは Patreon を通じて IconFontCppHeaders の開発をサポートする
https://github.com/juliettef/IconFontCppHeaders
C および C++ ヘッダー、C# および Python クラス、Rust ファイルおよびアイコン フォント用の Go パッケージ Font Awesome、Fork Awesome、Google マテリアル デザイン、ピクトグラマー マテリアル デザイン アイコン、Kenney ゲーム アイコン、Fontaudio、Codicons、Lucide。
C、C++、C#、Python、Rust、Go でアイコン フォントを使用するためのヘッダー ファイルとクラスのセット、およびファイルの作成に使用される Python ジェネレーター。
各ヘッダーには 1 つのフォントの定義が含まれており、各アイコン コード ポイントはICON_*
として定義されており、フォントの読み込みを目的としたmin 、 max 、およびmax の 16 ビットコード ポイントも含まれています。最小値には、ASCII 文字のコード ポイントは含まれません。最大 16 ビットは、16 ビット コード ポイントのみをサポートするライブラリ (Dear ImGui など) で使用するためのものです。
さらに、Python スクリプトを使用して ttf フォント ファイルを C および C++ ヘッダーに変換することもできます。各 ttf アイコン フォント ファイルは、単一のバイト配列を含む C および C++ ヘッダー ファイルに変換されます。変換を有効にするには、 ttf2headerC = True
を指定してGenerateIconFontCppHeaders.py
スクリプトを実行します。
Font Awesome 5 および 6 は、異なるスタイルのアイコンを異なるフォント ファイルに分割し、ライト スタイル、通常スタイル、ソリッドスタイルには同一のコードポイント、ブランドには異なるコードポイント セットを使用します。ブランドを別のヘッダー ファイルに入れました。
Font Awesome Pro Web パッケージを fontawesome.com からダウンロードします。ヘッダーを生成するには、スクリプトを実行する前に、 GenerateIconFontCppHeaders.py
と同じディレクトリにicons.yml
ドロップします。ファイルicons.yml
は..fontawesome-pro-nnn-webmetadataicons.yml
にあります。ここで、 nnn
はバージョン番号です。
アイコンファイル:
..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
Dear ImGui を 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.
ボクセルエディターと編集可能な環境を備えた6自由度のFPSゲーム。ボクセル エディタの UI は、Font Awesome アイコン フォントを備えた Dear ImGui を使用します。
www.avoid.com
クロスプラットフォームのレンダリング ライブラリ
bkaradzic.github.io/bgfx/overview
github.com/bkaradzic/bgfx
リアルタイム 3D ストレンジ アトラクター スカウト
www.michelemorrone.eu/glchaosp
github.com/BrutPitt/glChAoS.P
クロスプラットフォーム C++ オーディオ プラグイン フレームワーク
iplug2.github.io
github.com/iplug2/iplug2
3D C++ オープンソース ゲーム エンジン
github.com/nem0/LumixEngine
ゲームやその他のアプリケーション向けのリアルタイム、ナノ秒解像度、リモート テレメトリ フレーム プロファイラー。
bitbucket.org/wolfpld/tracy
トランジスタレベル6502ハードウェアシミュレーション
floooh.github.io/visual6502remix
github.com/floooh/v6502r
フォントのサブセットを作成する
github.com/aiekick/ImGuiFontStudio
これまで IconFontCppHeaders に貢献してくださった皆様に感謝します。作業を容易にするために、次の点に留意してください。
開発 - ジュリエット・フーコー - @juliettef
要件 - ダグ・ビンクス - @dougbinks
なし 言語の実装とリファクタリング - Leonard Ritter - @paniq
ttf ファイル名の定義を追加する提案 - Sean Barrett - @nothings
Font Awesome 5 の初期実装 - Codecat - @codecat
Fork Awesome を追加する提案 - Julien Deswaef - @xuv
Ionicons を追加する提案 - Omar Cornut - @ocornut
C# 言語の実装 - Rokas Kupstys - @ Rokups
マテリアル デザイン アイコンの追加の提案 - Gustav Madeso - @madeso
Fontaudio の実装 - Oli Larkin - @olilarkin
初期の ttf から C および C++ ヘッダーへの変換の実装 - Charles Mailly - @Caerind
Python 言語実装 - Hang Yu - @yhyu13
Go 言語の実装 - Matt Pharr - @mpp
Codicons の実装 - Robert Ryan - @rtryan98
Rust 言語の実装 - Gaeel Bradshaw-Rodriguez - @Bradshaw
Pictgrammers マテリアル デザイン アイコンの実装 - Bobby Anuelov - @BobbyAnguelov
Lucide アイコンの実装 - Lucide 貢献者 - @lucide-icons