From fde264b041f2cba64c93e498afa5419c7cb2dbfe Mon Sep 17 00:00:00 2001 From: Peter Johnson Date: Sat, 28 Sep 2024 10:58:47 -0700 Subject: [PATCH] [thirdparty] Add Roboto fonts (#7138) --- thirdparty/imgui_suite/generate_fonts.sh | 15 +- .../generated/fonts/LICENSE-roboto.txt | 201 + .../fonts/include/imgui_RobotoBold.h | 5 + .../fonts/include/imgui_RobotoCondensedBold.h | 5 + .../include/imgui_RobotoCondensedLight.h | 5 + .../include/imgui_RobotoCondensedRegular.h | 5 + .../fonts/include/imgui_RobotoLight.h | 5 + .../fonts/include/imgui_RobotoRegular.h | 5 + .../generated/fonts/src/RobotoBold.inc | 5037 +++++++++++++++++ .../fonts/src/RobotoCondensedBold.inc | 5015 ++++++++++++++++ .../fonts/src/RobotoCondensedLight.inc | 4978 ++++++++++++++++ .../fonts/src/RobotoCondensedRegular.inc | 4939 ++++++++++++++++ .../generated/fonts/src/RobotoLight.inc | 5009 ++++++++++++++++ .../generated/fonts/src/RobotoRegular.inc | 4974 ++++++++++++++++ .../generated/fonts/src/imgui_RobotoBold.cpp | 5 + .../fonts/src/imgui_RobotoCondensedBold.cpp | 5 + .../fonts/src/imgui_RobotoCondensedLight.cpp | 5 + .../src/imgui_RobotoCondensedRegular.cpp | 5 + .../generated/fonts/src/imgui_RobotoLight.cpp | 5 + .../fonts/src/imgui_RobotoRegular.cpp | 5 + wpigui/src/main/native/cpp/wpigui.cpp | 30 + 21 files changed, 30257 insertions(+), 1 deletion(-) create mode 100644 thirdparty/imgui_suite/generated/fonts/LICENSE-roboto.txt create mode 100644 thirdparty/imgui_suite/generated/fonts/include/imgui_RobotoBold.h create mode 100644 thirdparty/imgui_suite/generated/fonts/include/imgui_RobotoCondensedBold.h create mode 100644 thirdparty/imgui_suite/generated/fonts/include/imgui_RobotoCondensedLight.h create mode 100644 thirdparty/imgui_suite/generated/fonts/include/imgui_RobotoCondensedRegular.h create mode 100644 thirdparty/imgui_suite/generated/fonts/include/imgui_RobotoLight.h create mode 100644 thirdparty/imgui_suite/generated/fonts/include/imgui_RobotoRegular.h create mode 100644 thirdparty/imgui_suite/generated/fonts/src/RobotoBold.inc create mode 100644 thirdparty/imgui_suite/generated/fonts/src/RobotoCondensedBold.inc create mode 100644 thirdparty/imgui_suite/generated/fonts/src/RobotoCondensedLight.inc create mode 100644 thirdparty/imgui_suite/generated/fonts/src/RobotoCondensedRegular.inc create mode 100644 thirdparty/imgui_suite/generated/fonts/src/RobotoLight.inc create mode 100644 thirdparty/imgui_suite/generated/fonts/src/RobotoRegular.inc create mode 100644 thirdparty/imgui_suite/generated/fonts/src/imgui_RobotoBold.cpp create mode 100644 thirdparty/imgui_suite/generated/fonts/src/imgui_RobotoCondensedBold.cpp create mode 100644 thirdparty/imgui_suite/generated/fonts/src/imgui_RobotoCondensedLight.cpp create mode 100644 thirdparty/imgui_suite/generated/fonts/src/imgui_RobotoCondensedRegular.cpp create mode 100644 thirdparty/imgui_suite/generated/fonts/src/imgui_RobotoLight.cpp create mode 100644 thirdparty/imgui_suite/generated/fonts/src/imgui_RobotoRegular.cpp diff --git a/thirdparty/imgui_suite/generate_fonts.sh b/thirdparty/imgui_suite/generate_fonts.sh index 3350141de40..4d6d576872a 100755 --- a/thirdparty/imgui_suite/generate_fonts.sh +++ b/thirdparty/imgui_suite/generate_fonts.sh @@ -11,6 +11,7 @@ DROID_COMMIT=d3817c246c6e3da7531fa1fbb0b0fca271aae7fb PROGGYFONTS_VERSION=1.1.7 FONTAWESOME_VERSION=6.6.0 FIRACODE_VERSION=6.2 +ROBOTO_VERSION=2.138 mkdir download pushd download @@ -22,6 +23,7 @@ wget -O proggyfonts.zip https://github.com/bluescan/proggyfonts/archive/refs/tag wget https://github.com/FortAwesome/Font-Awesome/releases/download/${FONTAWESOME_VERSION}/fontawesome-free-${FONTAWESOME_VERSION}-web.zip wget -O droid-fonts.zip https://github.com/grays/droid-fonts/archive/${DROID_COMMIT}.zip wget -O fira-code.zip https://github.com/tonsky/FiraCode/releases/download/${FIRACODE_VERSION}/Fira_Code_v${FIRACODE_VERSION}.zip +wget -O roboto.zip https://github.com/googlefonts/roboto/releases/download/v${ROBOTO_VERSION}/roboto-android.zip # Download C++ icon font header wget https://github.com/juliettef/IconFontCppHeaders/raw/${ICONFONTCPPHEADERS_COMMIT}/IconsFontAwesome6.h @@ -39,6 +41,10 @@ mkdir fira-code pushd fira-code unzip ../../download/fira-code.zip popd +mkdir roboto +pushd roboto +unzip ../../download/roboto.zip +popd popd rm -rf fonts @@ -52,6 +58,7 @@ cp -p download/IconsFontAwesome6.h fonts/include/ cp -p extract/proggyfonts-${PROGGYFONTS_VERSION}/LICENSE fonts/LICENSE-proggyfonts.txt cp -p extract/fontawesome-free-${FONTAWESOME_VERSION}-web/LICENSE.txt fonts/LICENSE-fontawesome.txt cp -p extract/droid-fonts-${DROID_COMMIT}/droid/NOTICE fonts/LICENSE-droid.txt +cp -p extract/roboto/LICENSE fonts/LICENSE-roboto.txt # Build C versions g++ -o imgui_font_bin2c download/binary_to_compressed_c.cpp @@ -60,9 +67,15 @@ g++ -o imgui_font_bin2c download/binary_to_compressed_c.cpp ./imgui_font_bin2c "extract/fontawesome-free-${FONTAWESOME_VERSION}-web/webfonts/fa-solid-900.ttf" FontAwesomeSolid > fonts/src/FontAwesomeSolid.inc ./imgui_font_bin2c "extract/droid-fonts-${DROID_COMMIT}/droid/DroidSans.ttf" DroidSans > fonts/src/DroidSans.inc ./imgui_font_bin2c "extract/fira-code/ttf/FiraCode-Retina.ttf" FiraCodeRetina > fonts/src/FiraCodeRetina.inc +./imgui_font_bin2c "extract/roboto/Roboto-Light.ttf" RobotoLight > fonts/src/RobotoLight.inc +./imgui_font_bin2c "extract/roboto/Roboto-Regular.ttf" RobotoRegular > fonts/src/RobotoRegular.inc +./imgui_font_bin2c "extract/roboto/Roboto-Bold.ttf" RobotoBold > fonts/src/RobotoBold.inc +./imgui_font_bin2c "extract/roboto/RobotoCondensed-Light.ttf" RobotoCondensedLight > fonts/src/RobotoCondensedLight.inc +./imgui_font_bin2c "extract/roboto/RobotoCondensed-Regular.ttf" RobotoCondensedRegular > fonts/src/RobotoCondensedRegular.inc +./imgui_font_bin2c "extract/roboto/RobotoCondensed-Bold.ttf" RobotoCondensedBold > fonts/src/RobotoCondensedBold.inc # Generate C wrapper source/headers -for font in ProggyDotted FontAwesomeRegular FontAwesomeSolid DroidSans FiraCodeRetina +for font in ProggyDotted FontAwesomeRegular FontAwesomeSolid DroidSans FiraCodeRetina RobotoLight RobotoRegular RobotoBold RobotoCondensedLight RobotoCondensedRegular RobotoCondensedBold do cat >fonts/src/imgui_${font}.cpp <AddFontFromMemoryCompressedTTF(RobotoBold_compressed_data, RobotoBold_compressed_size, size_pixels, font_cfg, glyph_ranges); +} diff --git a/thirdparty/imgui_suite/generated/fonts/src/imgui_RobotoCondensedBold.cpp b/thirdparty/imgui_suite/generated/fonts/src/imgui_RobotoCondensedBold.cpp new file mode 100644 index 00000000000..39577986dae --- /dev/null +++ b/thirdparty/imgui_suite/generated/fonts/src/imgui_RobotoCondensedBold.cpp @@ -0,0 +1,5 @@ +#include "imgui_RobotoCondensedBold.h" +#include "RobotoCondensedBold.inc" +ImFont* ImGui::AddFontRobotoCondensedBold(ImGuiIO& io, float size_pixels, const ImFontConfig* font_cfg, const ImWchar* glyph_ranges) { + return io.Fonts->AddFontFromMemoryCompressedTTF(RobotoCondensedBold_compressed_data, RobotoCondensedBold_compressed_size, size_pixels, font_cfg, glyph_ranges); +} diff --git a/thirdparty/imgui_suite/generated/fonts/src/imgui_RobotoCondensedLight.cpp b/thirdparty/imgui_suite/generated/fonts/src/imgui_RobotoCondensedLight.cpp new file mode 100644 index 00000000000..1b43e30aafa --- /dev/null +++ b/thirdparty/imgui_suite/generated/fonts/src/imgui_RobotoCondensedLight.cpp @@ -0,0 +1,5 @@ +#include "imgui_RobotoCondensedLight.h" +#include "RobotoCondensedLight.inc" +ImFont* ImGui::AddFontRobotoCondensedLight(ImGuiIO& io, float size_pixels, const ImFontConfig* font_cfg, const ImWchar* glyph_ranges) { + return io.Fonts->AddFontFromMemoryCompressedTTF(RobotoCondensedLight_compressed_data, RobotoCondensedLight_compressed_size, size_pixels, font_cfg, glyph_ranges); +} diff --git a/thirdparty/imgui_suite/generated/fonts/src/imgui_RobotoCondensedRegular.cpp b/thirdparty/imgui_suite/generated/fonts/src/imgui_RobotoCondensedRegular.cpp new file mode 100644 index 00000000000..e41e6bb98af --- /dev/null +++ b/thirdparty/imgui_suite/generated/fonts/src/imgui_RobotoCondensedRegular.cpp @@ -0,0 +1,5 @@ +#include "imgui_RobotoCondensedRegular.h" +#include "RobotoCondensedRegular.inc" +ImFont* ImGui::AddFontRobotoCondensedRegular(ImGuiIO& io, float size_pixels, const ImFontConfig* font_cfg, const ImWchar* glyph_ranges) { + return io.Fonts->AddFontFromMemoryCompressedTTF(RobotoCondensedRegular_compressed_data, RobotoCondensedRegular_compressed_size, size_pixels, font_cfg, glyph_ranges); +} diff --git a/thirdparty/imgui_suite/generated/fonts/src/imgui_RobotoLight.cpp b/thirdparty/imgui_suite/generated/fonts/src/imgui_RobotoLight.cpp new file mode 100644 index 00000000000..6b453922c4d --- /dev/null +++ b/thirdparty/imgui_suite/generated/fonts/src/imgui_RobotoLight.cpp @@ -0,0 +1,5 @@ +#include "imgui_RobotoLight.h" +#include "RobotoLight.inc" +ImFont* ImGui::AddFontRobotoLight(ImGuiIO& io, float size_pixels, const ImFontConfig* font_cfg, const ImWchar* glyph_ranges) { + return io.Fonts->AddFontFromMemoryCompressedTTF(RobotoLight_compressed_data, RobotoLight_compressed_size, size_pixels, font_cfg, glyph_ranges); +} diff --git a/thirdparty/imgui_suite/generated/fonts/src/imgui_RobotoRegular.cpp b/thirdparty/imgui_suite/generated/fonts/src/imgui_RobotoRegular.cpp new file mode 100644 index 00000000000..624ca39a298 --- /dev/null +++ b/thirdparty/imgui_suite/generated/fonts/src/imgui_RobotoRegular.cpp @@ -0,0 +1,5 @@ +#include "imgui_RobotoRegular.h" +#include "RobotoRegular.inc" +ImFont* ImGui::AddFontRobotoRegular(ImGuiIO& io, float size_pixels, const ImFontConfig* font_cfg, const ImWchar* glyph_ranges) { + return io.Fonts->AddFontFromMemoryCompressedTTF(RobotoRegular_compressed_data, RobotoRegular_compressed_size, size_pixels, font_cfg, glyph_ranges); +} diff --git a/wpigui/src/main/native/cpp/wpigui.cpp b/wpigui/src/main/native/cpp/wpigui.cpp index 8b6bee0615b..0fe3f241049 100644 --- a/wpigui/src/main/native/cpp/wpigui.cpp +++ b/wpigui/src/main/native/cpp/wpigui.cpp @@ -21,6 +21,12 @@ #include #include #include +#include +#include +#include +#include +#include +#include #include #include #include @@ -130,6 +136,30 @@ void gui::CreateContext() { [](ImGuiIO& io, float size, const ImFontConfig* cfg) { return ImGui::AddFontFiraCodeRetina(io, size, cfg); }); + AddDefaultFont("Roboto Light", + [](ImGuiIO& io, float size, const ImFontConfig* cfg) { + return ImGui::AddFontRobotoLight(io, size, cfg); + }); + AddDefaultFont("Roboto Regular", + [](ImGuiIO& io, float size, const ImFontConfig* cfg) { + return ImGui::AddFontRobotoRegular(io, size, cfg); + }); + AddDefaultFont("Roboto Bold", + [](ImGuiIO& io, float size, const ImFontConfig* cfg) { + return ImGui::AddFontRobotoBold(io, size, cfg); + }); + AddDefaultFont("Roboto Condensed Light", + [](ImGuiIO& io, float size, const ImFontConfig* cfg) { + return ImGui::AddFontRobotoCondensedLight(io, size, cfg); + }); + AddDefaultFont("Roboto Condensed Regular", + [](ImGuiIO& io, float size, const ImFontConfig* cfg) { + return ImGui::AddFontRobotoCondensedRegular(io, size, cfg); + }); + AddDefaultFont("Roboto Condensed Bold", + [](ImGuiIO& io, float size, const ImFontConfig* cfg) { + return ImGui::AddFontRobotoCondensedBold(io, size, cfg); + }); PlatformCreateContext(); }