diff --git a/src/gui/about.cpp b/src/gui/about.cpp index 24d96f6b8..b849c6bbe 100644 --- a/src/gui/about.cpp +++ b/src/gui/about.cpp @@ -285,7 +285,7 @@ void FurnaceGUI::drawAbout() { for (size_t i=0; icanvasH) continue; dl->AddText(bigFont,bigFont->FontSize, ImVec2(posX+dpiScale,posY+dpiScale), diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 8ec8dba63..6f48c9c62 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -1835,7 +1835,7 @@ void FurnaceGUI::openFileDialog(FurnaceGUIFileDialogs type) { dpiScale ); break; - case GUI_FILE_LOAD_BIG_FONT: + case GUI_FILE_LOAD_HEAD_FONT: if (!dirExists(workingDirFont)) workingDirFont=getHomeDir(); hasOpened=fileDialog->openLoad( "Select Font", @@ -4632,7 +4632,7 @@ bool FurnaceGUI::loop() { workingDirROMExport=fileDialog->getPath()+DIR_SEPARATOR_STR; break; case GUI_FILE_LOAD_MAIN_FONT: - case GUI_FILE_LOAD_BIG_FONT: + case GUI_FILE_LOAD_HEAD_FONT: case GUI_FILE_LOAD_PAT_FONT: workingDirFont=fileDialog->getPath()+DIR_SEPARATOR_STR; break; @@ -5094,8 +5094,8 @@ bool FurnaceGUI::loop() { case GUI_FILE_LOAD_MAIN_FONT: settings.mainFontPath=copyOfName; break; - case GUI_FILE_LOAD_BIG_FONT: - settings.bigFontPath=copyOfName; + case GUI_FILE_LOAD_HEAD_FONT: + settings.headFontPath=copyOfName; break; case GUI_FILE_LOAD_PAT_FONT: settings.patFontPath=copyOfName; diff --git a/src/gui/gui.h b/src/gui/gui.h index c2aa280c4..8fa81c1bf 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -423,7 +423,7 @@ enum FurnaceGUIFileDialogs { GUI_FILE_EXPORT_CMDSTREAM_BINARY, GUI_FILE_EXPORT_ROM, GUI_FILE_LOAD_MAIN_FONT, - GUI_FILE_LOAD_BIG_FONT, + GUI_FILE_LOAD_HEAD_FONT, GUI_FILE_LOAD_PAT_FONT, GUI_FILE_IMPORT_COLORS, GUI_FILE_IMPORT_KEYBINDS, @@ -1370,6 +1370,7 @@ class FurnaceGUI { ImFont* iconFont; ImFont* patFont; ImFont* bigFont; + ImFont* headFont; ImWchar* fontRange; ImVec4 uiColors[GUI_COLOR_MAX]; ImVec4 volColors[128]; @@ -1388,7 +1389,7 @@ class FurnaceGUI { char emptyLabel2[32]; struct Settings { - int mainFontSize, bigFontSize, patFontSize, iconSize; + int mainFontSize, headFontSize, patFontSize, iconSize; int audioEngine; int audioQuality; int audioChans; @@ -1405,7 +1406,7 @@ class FurnaceGUI { String tg100Path; String mu5Path; int mainFont; - int bigFont; + int headFont; int patFont; int audioRate; int audioBufSize; @@ -1528,7 +1529,7 @@ class FurnaceGUI { int noDMFCompat; unsigned int maxUndoSteps; String mainFontPath; - String bigFontPath; + String headFontPath; String patFontPath; String audioDevice; String midiInDevice; @@ -1684,7 +1685,7 @@ class FurnaceGUI { noDMFCompat(0), maxUndoSteps(100), mainFontPath(""), - bigFontPath(""), + headFontPath(""), patFontPath(""), audioDevice(""), midiInDevice(""), diff --git a/src/gui/settings.cpp b/src/gui/settings.cpp index 2274345bf..4980d7e58 100644 --- a/src/gui/settings.cpp +++ b/src/gui/settings.cpp @@ -58,7 +58,7 @@ const char* mainFonts[]={ "" }; -const char* bigFonts[]={ +const char* headFonts[]={ "IBM Plex Sans", "Liberation Sans", "Exo", @@ -252,7 +252,7 @@ const char* specificControls[18]={ } else { \ _subInit=true; \ } \ - ImGui::PushFont(bigFont); \ + ImGui::PushFont(headFont); \ ImGui::TextUnformatted(what); \ ImGui::PopFont(); @@ -1867,19 +1867,19 @@ void FurnaceGUI::drawSettings() { if (settings.mainFontSize<3) settings.mainFontSize=3; if (settings.mainFontSize>96) settings.mainFontSize=96; } - ImGui::Text("Big font"); + ImGui::Text("Head font"); ImGui::SameLine(); - ImGui::Combo("##BigFont",&settings.bigFont,bigFonts,7); - if (settings.bigFont==6) { - ImGui::InputText("##BigFontPath",&settings.bigFontPath); + ImGui::Combo("##HeadFont",&settings.headFont,headFonts,7); + if (settings.headFont==6) { + ImGui::InputText("##HeadFontPath",&settings.headFontPath); ImGui::SameLine(); - if (ImGui::Button(ICON_FA_FOLDER "##BigFontLoad")) { - openFileDialog(GUI_FILE_LOAD_BIG_FONT); + if (ImGui::Button(ICON_FA_FOLDER "##HeadFontLoad")) { + openFileDialog(GUI_FILE_LOAD_HEAD_FONT); } } - if (ImGui::InputInt("Size##BigFontSize",&settings.bigFontSize)) { - if (settings.bigFontSize<3) settings.bigFontSize=3; - if (settings.bigFontSize>96) settings.bigFontSize=96; + if (ImGui::InputInt("Size##HeadFontSize",&settings.headFontSize)) { + if (settings.headFontSize<3) settings.headFontSize=3; + if (settings.headFontSize>96) settings.headFontSize=96; } ImGui::Text("Pattern font"); ImGui::SameLine(); @@ -2736,7 +2736,7 @@ void FurnaceGUI::drawSettings() { void FurnaceGUI::syncSettings() { settings.mainFontSize=e->getConfInt("mainFontSize",18); - settings.bigFontSize=e->getConfInt("bigFontSize",36); + settings.headFontSize=e->getConfInt("headFontSize",36); settings.patFontSize=e->getConfInt("patFontSize",18); settings.iconSize=e->getConfInt("iconSize",16); settings.audioEngine=(e->getConfString("audioEngine","SDL")=="SDL")?1:0; @@ -2762,10 +2762,10 @@ void FurnaceGUI::syncSettings() { settings.tg100Path=e->getConfString("tg100Path",""); settings.mu5Path=e->getConfString("mu5Path",""); settings.mainFont=e->getConfInt("mainFont",0); - settings.bigFont=e->getConfInt("bigFont",0); + settings.headFont=e->getConfInt("headFont",0); settings.patFont=e->getConfInt("patFont",0); settings.mainFontPath=e->getConfString("mainFontPath",""); - settings.bigFontPath=e->getConfString("bigFontPath",""); + settings.headFontPath=e->getConfString("headFontPath",""); settings.patFontPath=e->getConfString("patFontPath",""); settings.patRowsBase=e->getConfInt("patRowsBase",0); settings.orderRowsBase=e->getConfInt("orderRowsBase",1); @@ -2893,7 +2893,7 @@ void FurnaceGUI::syncSettings() { settings.noDMFCompat=e->getConfInt("noDMFCompat",0); clampSetting(settings.mainFontSize,2,96); - clampSetting(settings.bigFontSize,2,96); + clampSetting(settings.headFontSize,2,96); clampSetting(settings.patFontSize,2,96); clampSetting(settings.iconSize,2,48); clampSetting(settings.audioEngine,0,1); @@ -3095,7 +3095,7 @@ void FurnaceGUI::commitSettings() { ); e->setConf("mainFontSize",settings.mainFontSize); - e->setConf("bigFontSize",settings.bigFontSize); + e->setConf("headFontSize",settings.headFontSize); e->setConf("patFontSize",settings.patFontSize); e->setConf("iconSize",settings.iconSize); e->setConf("audioEngine",String(audioBackends[settings.audioEngine])); @@ -3121,10 +3121,10 @@ void FurnaceGUI::commitSettings() { e->setConf("tg100Path",settings.tg100Path); e->setConf("mu5Path",settings.mu5Path); e->setConf("mainFont",settings.mainFont); - e->setConf("bigFont",settings.mainFont); + e->setConf("headFont",settings.mainFont); e->setConf("patFont",settings.patFont); e->setConf("mainFontPath",settings.mainFontPath); - e->setConf("bigFontPath",settings.bigFontPath); + e->setConf("headFontPath",settings.headFontPath); e->setConf("patFontPath",settings.patFontPath); e->setConf("patRowsBase",settings.patRowsBase); e->setConf("orderRowsBase",settings.orderRowsBase); @@ -3297,7 +3297,7 @@ void FurnaceGUI::commitSettings() { ImGui::GetIO().Fonts->Clear(); mainFont=ImGui::GetIO().Fonts->AddFontDefault(); patFont=mainFont; - bigFont=mainFont; + headFont=mainFont; if (rend) rend->destroyFontsTexture(); if (!ImGui::GetIO().Fonts->Build()) { logE("error again while building font atlas!"); @@ -3681,10 +3681,10 @@ void FurnaceGUI::popWarningColor() { // TODO! #define SYSTEM_FONT_PATH_3 "C:\\Windows\\Fonts\\tahoma.ttf" // TODO! -#define SYSTEM_BIG_FONT_PATH_1 "C:\\Windows\\Fonts\\segoeui.ttf" -#define SYSTEM_BIG_FONT_PATH_2 "C:\\Windows\\Fonts\\tahoma.ttf" +#define SYSTEM_HEAD_FONT_PATH_1 "C:\\Windows\\Fonts\\segoeui.ttf" +#define SYSTEM_HEAD_FONT_PATH_2 "C:\\Windows\\Fonts\\tahoma.ttf" // TODO! -#define SYSTEM_BIG_FONT_PATH_3 "C:\\Windows\\Fonts\\tahoma.ttf" +#define SYSTEM_HEAD_FONT_PATH_3 "C:\\Windows\\Fonts\\tahoma.ttf" // TODO! #define SYSTEM_PAT_FONT_PATH_1 "C:\\Windows\\Fonts\\consola.ttf" #define SYSTEM_PAT_FONT_PATH_2 "C:\\Windows\\Fonts\\cour.ttf" @@ -3694,9 +3694,9 @@ void FurnaceGUI::popWarningColor() { #define SYSTEM_FONT_PATH_1 "/System/Library/Fonts/SFAANS.ttf" #define SYSTEM_FONT_PATH_2 "/System/Library/Fonts/Helvetica.ttc" #define SYSTEM_FONT_PATH_3 "/System/Library/Fonts/Helvetica.dfont" -#define SYSTEM_BIG_FONT_PATH_1 "/System/Library/Fonts/SFAANS.ttf" -#define SYSTEM_BIG_FONT_PATH_2 "/System/Library/Fonts/Helvetica.ttc" -#define SYSTEM_BIG_FONT_PATH_3 "/System/Library/Fonts/Helvetica.dfont" +#define SYSTEM_HEAD_FONT_PATH_1 "/System/Library/Fonts/SFAANS.ttf" +#define SYSTEM_HEAD_FONT_PATH_2 "/System/Library/Fonts/Helvetica.ttc" +#define SYSTEM_HEAD_FONT_PATH_3 "/System/Library/Fonts/Helvetica.dfont" #define SYSTEM_PAT_FONT_PATH_1 "/System/Library/Fonts/SFNSMono.ttf" #define SYSTEM_PAT_FONT_PATH_2 "/System/Library/Fonts/Courier New.ttf" #define SYSTEM_PAT_FONT_PATH_3 "/System/Library/Fonts/Courier New.ttf" @@ -3705,9 +3705,9 @@ void FurnaceGUI::popWarningColor() { #define SYSTEM_FONT_PATH_2 "/system/fonts/DroidSans.ttf" #define SYSTEM_FONT_PATH_3 "/system/fonts/DroidSans.ttf" // ??? -#define SYSTEM_BIG_FONT_PATH_1 "/system/fonts/Roboto-Regular.ttf" -#define SYSTEM_BIG_FONT_PATH_2 "/system/fonts/DroidSans.ttf" -#define SYSTEM_BIG_FONT_PATH_3 "/system/fonts/DroidSans.ttf" +#define SYSTEM_HEAD_FONT_PATH_1 "/system/fonts/Roboto-Regular.ttf" +#define SYSTEM_HEAD_FONT_PATH_2 "/system/fonts/DroidSans.ttf" +#define SYSTEM_HEAD_FONT_PATH_3 "/system/fonts/DroidSans.ttf" #define SYSTEM_PAT_FONT_PATH_1 "/system/fonts/RobotoMono-Regular.ttf" #define SYSTEM_PAT_FONT_PATH_2 "/system/fonts/DroidSansMono.ttf" #define SYSTEM_PAT_FONT_PATH_3 "/system/fonts/CutiveMono.ttf" @@ -3715,9 +3715,9 @@ void FurnaceGUI::popWarningColor() { #define SYSTEM_FONT_PATH_1 "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf" #define SYSTEM_FONT_PATH_2 "/usr/share/fonts/TTF/DejaVuSans.ttf" #define SYSTEM_FONT_PATH_3 "/usr/share/fonts/ubuntu/Ubuntu-R.ttf" -#define SYSTEM_BIG_FONT_PATH_1 "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf" -#define SYSTEM_BIG_FONT_PATH_2 "/usr/share/fonts/TTF/DejaVuSans.ttf" -#define SYSTEM_BIG_FONT_PATH_3 "/usr/share/fonts/ubuntu/Ubuntu-R.ttf" +#define SYSTEM_HEAD_FONT_PATH_1 "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf" +#define SYSTEM_HEAD_FONT_PATH_2 "/usr/share/fonts/TTF/DejaVuSans.ttf" +#define SYSTEM_HEAD_FONT_PATH_3 "/usr/share/fonts/ubuntu/Ubuntu-R.ttf" #define SYSTEM_PAT_FONT_PATH_1 "/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf" #define SYSTEM_PAT_FONT_PATH_2 "/usr/share/fonts/TTF/DejaVuSansMono.ttf" #define SYSTEM_PAT_FONT_PATH_3 "/usr/share/fonts/ubuntu/UbuntuMono-R.ttf" @@ -3958,16 +3958,16 @@ void FurnaceGUI::applyUISettings(bool updateFonts) { } if (settings.mainFont<0 || settings.mainFont>6) settings.mainFont=0; - if (settings.bigFont<0 || settings.bigFont>6) settings.bigFont=0; + if (settings.headFont<0 || settings.headFont>6) settings.headFont=0; if (settings.patFont<0 || settings.patFont>6) settings.patFont=0; if (settings.mainFont==6 && settings.mainFontPath.empty()) { logW("UI font path is empty! reverting to default font"); settings.mainFont=0; } - if (settings.bigFont==6 && settings.bigFontPath.empty()) { + if (settings.headFont==6 && settings.headFontPath.empty()) { logW("UI font path is empty! reverting to default font"); - settings.bigFont=0; + settings.headFont=0; } if (settings.patFont==6 && settings.patFontPath.empty()) { logW("pattern font path is empty! reverting to default font"); @@ -4054,41 +4054,41 @@ void FurnaceGUI::applyUISettings(bool updateFonts) { // 0x39B = Λ static const ImWchar bigFontRange[]={0x20,0xFF,0x39b,0x39b,0}; -/* + if ((bigFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(font_plexSans_compressed_data,font_plexSans_compressed_size,MAX(1,40*dpiScale),NULL,bigFontRange))==NULL) { logE("could not load big UI font!"); } -*/ - if (settings.mainFontSize==settings.bigFontSize && settings.bigFont<5 && builtinFontM[settings.bigFont]==builtinFont[settings.mainFont]) { - logD("using main font for big font."); - bigFont=mainFont; + + if (settings.mainFontSize==settings.headFontSize && settings.headFont<5 && builtinFontM[settings.headFont]==builtinFont[settings.mainFont]) { + logD("using main font for header font."); + headFont=mainFont; } else { - if (settings.bigFont==6) { // custom font - if ((bigFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(settings.bigFontPath.c_str(),MAX(1,e->getConfInt("bigFontSize",36)*dpiScale),NULL,upTo800))==NULL) { - logW("could not load big font! reverting to default font"); - settings.bigFont=0; - if ((bigFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(builtinFontM[settings.bigFont],builtinFontMLen[settings.bigFont],MAX(1,e->getConfInt("bigFontSize",36)*dpiScale),NULL,bigFontRange))==NULL) { - logE("could not load big font! falling back to IBM Plex Sans."); - bigFont=ImGui::GetIO().Fonts->AddFontDefault(); + if (settings.headFont==6) { // custom font + if ((headFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(settings.headFontPath.c_str(),MAX(1,e->getConfInt("headFontSize",36)*dpiScale),NULL,upTo800))==NULL) { + logW("could not load header font! reverting to default font"); + settings.headFont=0; + if ((headFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(builtinFontM[settings.headFont],builtinFontMLen[settings.headFont],MAX(1,e->getConfInt("headFontSize",36)*dpiScale),NULL,upTo800))==NULL) { + logE("could not load header font! falling back to IBM Plex Sans."); + headFont=ImGui::GetIO().Fonts->AddFontDefault(); } } - } else if (settings.bigFont==5) { // system font - if ((bigFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(SYSTEM_BIG_FONT_PATH_1,MAX(1,e->getConfInt("bigFontSize",36)*dpiScale),NULL,upTo800))==NULL) { - if ((bigFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(SYSTEM_BIG_FONT_PATH_2,MAX(1,e->getConfInt("bigFontSize",36)*dpiScale),NULL,upTo800))==NULL) { - if ((bigFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(SYSTEM_BIG_FONT_PATH_3,MAX(1,e->getConfInt("bigFontSize",36)*dpiScale),NULL,upTo800))==NULL) { - logW("could not load big font! reverting to default font"); - settings.bigFont=0; - if ((bigFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(builtinFontM[settings.bigFont],builtinFontMLen[settings.bigFont],MAX(1,e->getConfInt("bigFontSize",36)*dpiScale),NULL,upTo800))==NULL) { - logE("could not load big font! falling back to IBM Plex Sans."); - bigFont=ImGui::GetIO().Fonts->AddFontDefault(); + } else if (settings.headFont==5) { // system font + if ((headFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(SYSTEM_HEAD_FONT_PATH_1,MAX(1,e->getConfInt("headFontSize",36)*dpiScale),NULL,upTo800))==NULL) { + if ((headFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(SYSTEM_HEAD_FONT_PATH_2,MAX(1,e->getConfInt("headFontSize",36)*dpiScale),NULL,upTo800))==NULL) { + if ((headFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(SYSTEM_HEAD_FONT_PATH_3,MAX(1,e->getConfInt("headFontSize",36)*dpiScale),NULL,upTo800))==NULL) { + logW("could not load header font! reverting to default font"); + settings.headFont=0; + if ((headFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(builtinFontM[settings.headFont],builtinFontMLen[settings.headFont],MAX(1,e->getConfInt("headFontSize",36)*dpiScale),NULL,upTo800))==NULL) { + logE("could not load header font! falling back to IBM Plex Sans."); + headFont=ImGui::GetIO().Fonts->AddFontDefault(); } } } } } else { - if ((bigFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(builtinFontM[settings.bigFont],builtinFontMLen[settings.bigFont],MAX(1,e->getConfInt("bigFontSize",36)*dpiScale),NULL,upTo800))==NULL) { - logE("could not load big font!"); - bigFont=ImGui::GetIO().Fonts->AddFontDefault(); + if ((headFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(builtinFontM[settings.headFont],builtinFontMLen[settings.headFont],MAX(1,e->getConfInt("headFontSize",36)*dpiScale),NULL,upTo800))==NULL) { + logE("could not load header font!"); + headFont=ImGui::GetIO().Fonts->AddFontDefault(); } } }