From b652565b57bd8a9aac2779b09f51f7bac26afca2 Mon Sep 17 00:00:00 2001 From: WerWolv Date: Fri, 5 Jul 2024 17:39:07 +0200 Subject: [PATCH] feat: Added DPI awareness on Windows, added FiraCode as optional default font --- .../include/hex/api/event_manager.hpp | 1 + .../include/hex/api/theme_manager.hpp | 1 + lib/libimhex/source/api/theme_manager.cpp | 5 + main/gui/source/window/win_window.cpp | 31 ++ main/gui/source/window/window.cpp | 16 + plugins/builtin/romfs/lang/en_US.json | 1 + plugins/builtin/source/content/init_tasks.cpp | 20 +- .../source/content/settings_entries.cpp | 12 + plugins/fonts/romfs/BLENDERICONS_LICENSE.txt | 427 ++++++++++++++++++ plugins/fonts/romfs/FIRACODE_LICENSE.txt | 93 ++++ plugins/fonts/romfs/fonts/firacode.ttf | Bin 0 -> 285428 bytes plugins/fonts/source/font_loader.cpp | 53 ++- 12 files changed, 644 insertions(+), 16 deletions(-) create mode 100644 plugins/fonts/romfs/BLENDERICONS_LICENSE.txt create mode 100644 plugins/fonts/romfs/FIRACODE_LICENSE.txt create mode 100644 plugins/fonts/romfs/fonts/firacode.ttf diff --git a/lib/libimhex/include/hex/api/event_manager.hpp b/lib/libimhex/include/hex/api/event_manager.hpp index 876644b9395d6..43da0a12be902 100644 --- a/lib/libimhex/include/hex/api/event_manager.hpp +++ b/lib/libimhex/include/hex/api/event_manager.hpp @@ -226,6 +226,7 @@ namespace hex { EVENT_DEF(EventAbnormalTermination, int); EVENT_DEF(EventThemeChanged); EVENT_DEF(EventOSThemeChanged); + EVENT_DEF(EventDPIChanged, float, float); EVENT_DEF(EventWindowFocused, bool); /** diff --git a/lib/libimhex/include/hex/api/theme_manager.hpp b/lib/libimhex/include/hex/api/theme_manager.hpp index 9d88e6c851e6b..2c0681cf017db 100644 --- a/lib/libimhex/include/hex/api/theme_manager.hpp +++ b/lib/libimhex/include/hex/api/theme_manager.hpp @@ -56,6 +56,7 @@ namespace hex { */ static void addStyleHandler(const std::string &name, const StyleMap &styleMap); + static void reapplyCurrentTheme(); static std::vector getThemeNames(); static const std::string &getImageTheme(); diff --git a/lib/libimhex/source/api/theme_manager.cpp b/lib/libimhex/source/api/theme_manager.cpp index e13ad589d04d9..c3a8be59f14b3 100644 --- a/lib/libimhex/source/api/theme_manager.cpp +++ b/lib/libimhex/source/api/theme_manager.cpp @@ -21,6 +21,11 @@ namespace hex { } + void ThemeManager::reapplyCurrentTheme() { + ThemeManager::changeTheme(s_currTheme); + } + + void ThemeManager::addThemeHandler(const std::string &name, const ColorMap &colorMap, const std::function &getFunction, const std::function &setFunction) { std::unique_lock lock(s_themeMutex); diff --git a/main/gui/source/window/win_window.cpp b/main/gui/source/window/win_window.cpp index 3a25ba7d5ef02..4ff534fd3e682 100644 --- a/main/gui/source/window/win_window.cpp +++ b/main/gui/source/window/win_window.cpp @@ -1,3 +1,6 @@ +#include +#include + #include "window.hpp" @@ -45,6 +48,22 @@ namespace hex { // Custom Window procedure for receiving OS events static LRESULT commonWindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { + case WM_DPICHANGED: { + int interfaceScaleSetting = int(hex::ContentRegistry::Settings::read("hex.builtin.setting.interface", "hex.builtin.setting.interface.scaling_factor", 0.0F) * 10.0F); + if (interfaceScaleSetting != 0) + break; + + const auto newScale = LOWORD(wParam) / 96.0F; + const auto oldScale = ImHexApi::System::getNativeScale(); + + EventDPIChanged::post(oldScale, newScale); + ImHexApi::System::impl::setNativeScale(newScale); + + ThemeManager::reapplyCurrentTheme(); + ImGui::GetStyle().ScaleAllSizes(newScale); + + return TRUE; + } case WM_COPYDATA: { // Handle opening files in existing instance @@ -371,6 +390,18 @@ namespace hex { void Window::initNative() { + // Setup DPI Awareness + { + using SetProcessDpiAwarenessContextFunc = HRESULT(WINAPI *)(DPI_AWARENESS_CONTEXT); + + SetProcessDpiAwarenessContextFunc SetProcessDpiAwarenessContext = + (SetProcessDpiAwarenessContextFunc)(void*)GetProcAddress(GetModuleHandleW(L"user32.dll"), "SetProcessDpiAwarenessContext"); + + if (SetProcessDpiAwarenessContext != nullptr) { + SetProcessDpiAwarenessContext(DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2); + } + } + if (ImHexApi::System::isDebugBuild()) { // If the application is running in debug mode, ImHex runs under the CONSOLE subsystem, // so we don't need to do anything besides enabling ANSI colors diff --git a/main/gui/source/window/window.cpp b/main/gui/source/window/window.cpp index 187db405ec73e..27e7e652a074b 100644 --- a/main/gui/source/window/window.cpp +++ b/main/gui/source/window/window.cpp @@ -115,6 +115,21 @@ namespace hex { m_popupsToOpen.push_back(name); }); + EventDPIChanged::subscribe([this](float oldScaling, float newScaling) { + if (oldScaling == newScaling || oldScaling == 0 || newScaling == 0) + return; + + int width, height; + glfwGetWindowSize(m_window, &width, &height); + + width = float(width) * newScaling / oldScaling; + height = float(height) * newScaling / oldScaling; + + ImHexApi::System::impl::setMainWindowSize(width, height); + glfwSetWindowSize(m_window, width, height); + }); + + LayoutManager::registerLoadCallback([this](std::string_view line) { int width = 0, height = 0; sscanf(line.data(), "MainWindowSize=%d,%d", &width, &height); @@ -827,6 +842,7 @@ namespace hex { auto win = static_cast(glfwGetWindowUserPointer(window)); win->m_unlockFrameRate = true; + win->fullFrame(); }); // Register window resize callback diff --git a/plugins/builtin/romfs/lang/en_US.json b/plugins/builtin/romfs/lang/en_US.json index 80b468363653e..5ea00c763627d 100644 --- a/plugins/builtin/romfs/lang/en_US.json +++ b/plugins/builtin/romfs/lang/en_US.json @@ -455,6 +455,7 @@ "hex.builtin.setting.font.font_italic": "Italic", "hex.builtin.setting.font.font_antialias": "Antialiasing", "hex.builtin.setting.font.font_path": "Custom Font Path", + "hex.builtin.setting.font.pixel_perfect_default_font": "Use a Pixel-Perfect default font", "hex.builtin.setting.font.font_size": "Font Size", "hex.builtin.setting.font.font_size.tooltip": "The font size can only be adjusted when a custom font has been selected above.\n\nThis is because ImHex uses a pixel-perfect bitmap font by default. Scaling it by any non-integer factor will only cause it to become blurry.", "hex.builtin.setting.general": "General", diff --git a/plugins/builtin/source/content/init_tasks.cpp b/plugins/builtin/source/content/init_tasks.cpp index c7fc5318b2312..ff79305e31f1c 100644 --- a/plugins/builtin/source/content/init_tasks.cpp +++ b/plugins/builtin/source/content/init_tasks.cpp @@ -1,5 +1,6 @@ #include #include +#include #include #include @@ -98,15 +99,20 @@ namespace hex::plugin::builtin { } bool configureUIScale() { - int interfaceScaleSetting = int(ContentRegistry::Settings::read("hex.builtin.setting.interface", "hex.builtin.setting.interface.scaling_factor", 1.0F) * 10.0F); + EventDPIChanged::subscribe([](float, float newScaling) { + int interfaceScaleSetting = int(ContentRegistry::Settings::read("hex.builtin.setting.interface", "hex.builtin.setting.interface.scaling_factor", 0.0F) * 10.0F); - float interfaceScaling; - if (interfaceScaleSetting == 0) - interfaceScaling = ImHexApi::System::getNativeScale(); - else - interfaceScaling = interfaceScaleSetting / 10.0F; + float interfaceScaling; + if (interfaceScaleSetting == 0) + interfaceScaling = newScaling; + else + interfaceScaling = interfaceScaleSetting / 10.0F; - ImHexApi::System::impl::setGlobalScale(interfaceScaling); + ImHexApi::System::impl::setGlobalScale(interfaceScaling); + }); + + const auto nativeScale = ImHexApi::System::getNativeScale(); + EventDPIChanged::post(nativeScale, nativeScale); return true; } diff --git a/plugins/builtin/source/content/settings_entries.cpp b/plugins/builtin/source/content/settings_entries.cpp index 5d47589794d38..1c791cd3a22b0 100644 --- a/plugins/builtin/source/content/settings_entries.cpp +++ b/plugins/builtin/source/content/settings_entries.cpp @@ -201,6 +201,10 @@ namespace hex::plugin::builtin { return m_value; } + float getValue() const { + return m_value; + } + private: float m_value = 1.0F; }; @@ -834,6 +838,14 @@ namespace hex::plugin::builtin { .requiresRestart() .setEnabledCallback(customFontsEnabled); + ContentRegistry::Settings::add("hex.builtin.setting.font", "hex.builtin.setting.font.custom_font", "hex.builtin.setting.font.pixel_perfect_default_font", true) + .setEnabledCallback([customFontPathSetting] { + auto &fontPath = static_cast(customFontPathSetting.getWidget()); + + return fontPath.getPath().empty(); + }) + .requiresRestart(); + const auto customFontSettingsEnabled = [customFontEnabledSetting, customFontPathSetting] { auto &customFontsEnabled = static_cast(customFontEnabledSetting.getWidget()); auto &fontPath = static_cast(customFontPathSetting.getWidget()); diff --git a/plugins/fonts/romfs/BLENDERICONS_LICENSE.txt b/plugins/fonts/romfs/BLENDERICONS_LICENSE.txt new file mode 100644 index 0000000000000..33bec29d5181d --- /dev/null +++ b/plugins/fonts/romfs/BLENDERICONS_LICENSE.txt @@ -0,0 +1,427 @@ +Attribution-ShareAlike 4.0 International + +======================================================================= + +Creative Commons Corporation ("Creative Commons") is not a law firm and +does not provide legal services or legal advice. Distribution of +Creative Commons public licenses does not create a lawyer-client or +other relationship. Creative Commons makes its licenses and related +information available on an "as-is" basis. Creative Commons gives no +warranties regarding its licenses, any material licensed under their +terms and conditions, or any related information. Creative Commons +disclaims all liability for damages resulting from their use to the +fullest extent possible. + +Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and +conditions that creators and other rights holders may use to share +original works of authorship and other material subject to copyright +and certain other rights specified in the public license below. The +following considerations are for informational purposes only, are not +exhaustive, and do not form part of our licenses. + + Considerations for licensors: Our public licenses are + intended for use by those authorized to give the public + permission to use material in ways otherwise restricted by + copyright and certain other rights. Our licenses are + irrevocable. Licensors should read and understand the terms + and conditions of the license they choose before applying it. + Licensors should also secure all rights necessary before + applying our licenses so that the public can reuse the + material as expected. Licensors should clearly mark any + material not subject to the license. This includes other CC- + licensed material, or material used under an exception or + limitation to copyright. More considerations for licensors: + wiki.creativecommons.org/Considerations_for_licensors + + Considerations for the public: By using one of our public + licenses, a licensor grants the public permission to use the + licensed material under specified terms and conditions. If + the licensor's permission is not necessary for any reason--for + example, because of any applicable exception or limitation to + copyright--then that use is not regulated by the license. Our + licenses grant only permissions under copyright and certain + other rights that a licensor has authority to grant. Use of + the licensed material may still be restricted for other + reasons, including because others have copyright or other + rights in the material. A licensor may make special requests, + such as asking that all changes be marked or described. + Although not required by our licenses, you are encouraged to + respect those requests where reasonable. More_considerations + for the public: + wiki.creativecommons.org/Considerations_for_licensees + +======================================================================= + +Creative Commons Attribution-ShareAlike 4.0 International Public +License + +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution-ShareAlike 4.0 International Public License ("Public +License"). To the extent this Public License may be interpreted as a +contract, You are granted the Licensed Rights in consideration of Your +acceptance of these terms and conditions, and the Licensor grants You +such rights in consideration of benefits the Licensor receives from +making the Licensed Material available under these terms and +conditions. + + +Section 1 -- Definitions. + + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright + and Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + + c. BY-SA Compatible License means a license listed at + creativecommons.org/compatiblelicenses, approved by Creative + Commons as essentially the equivalent of this Public License. + + d. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. + + e. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + + f. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. + + g. License Elements means the license attributes listed in the name + of a Creative Commons Public License. The License Elements of this + Public License are Attribution and ShareAlike. + + h. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. + + i. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. + + j. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + k. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + + l. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. + + m. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. + + +Section 2 -- Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, + the Licensor hereby grants You a worldwide, royalty-free, + non-sublicensable, non-exclusive, irrevocable license to + exercise the Licensed Rights in the Licensed Material to: + + a. reproduce and Share the Licensed Material, in whole or + in part; and + + b. produce, reproduce, and Share Adapted Material. + + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public + License does not apply, and You do not need to comply with + its terms and conditions. + + 3. Term. The term of this Public License is specified in Section + 6(a). + + 4. Media and formats; technical modifications allowed. The + Licensor authorizes You to exercise the Licensed Rights in + all media and formats whether now known or hereafter created, + and to make technical modifications necessary to do so. The + Licensor waives and/or agrees not to assert any right or + authority to forbid You from making technical modifications + necessary to exercise the Licensed Rights, including + technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, + simply making modifications authorized by this Section 2(a) + (4) never produces Adapted Material. + + 5. Downstream recipients. + + a. Offer from the Licensor -- Licensed Material. Every + recipient of the Licensed Material automatically + receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this + Public License. + + b. Additional offer from the Licensor -- Adapted Material. + Every recipient of Adapted Material from You + automatically receives an offer from the Licensor to + exercise the Licensed Rights in the Adapted Material + under the conditions of the Adapter's License You apply. + + c. No downstream restrictions. You may not offer or impose + any additional or different terms or conditions on, or + apply any Effective Technological Measures to, the + Licensed Material if doing so restricts exercise of the + Licensed Rights by any recipient of the Licensed + Material. + + 6. No endorsement. Nothing in this Public License constitutes or + may be construed as permission to assert or imply that You + are, or that Your use of the Licensed Material is, connected + with, or sponsored, endorsed, or granted official status by, + the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). + + b. Other rights. + + 1. Moral rights, such as the right of integrity, are not + licensed under this Public License, nor are publicity, + privacy, and/or other similar personality rights; however, to + the extent possible, the Licensor waives and/or agrees not to + assert any such rights held by the Licensor to the limited + extent necessary to allow You to exercise the Licensed + Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this + Public License. + + 3. To the extent possible, the Licensor waives any right to + collect royalties from You for the exercise of the Licensed + Rights, whether directly or through a collecting society + under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly + reserves any right to collect such royalties. + + +Section 3 -- License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the +following conditions. + + a. Attribution. + + 1. If You Share the Licensed Material (including in modified + form), You must: + + a. retain the following if it is supplied by the Licensor + with the Licensed Material: + + i. identification of the creator(s) of the Licensed + Material and any others designated to receive + attribution, in any reasonable manner requested by + the Licensor (including by pseudonym if + designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of + warranties; + + v. a URI or hyperlink to the Licensed Material to the + extent reasonably practicable; + + b. indicate if You modified the Licensed Material and + retain an indication of any previous modifications; and + + c. indicate the Licensed Material is licensed under this + Public License, and include the text of, or the URI or + hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any + reasonable manner based on the medium, means, and context in + which You Share the Licensed Material. For example, it may be + reasonable to satisfy the conditions by providing a URI or + hyperlink to a resource that includes the required + information. + + 3. If requested by the Licensor, You must remove any of the + information required by Section 3(a)(1)(A) to the extent + reasonably practicable. + + b. ShareAlike. + + In addition to the conditions in Section 3(a), if You Share + Adapted Material You produce, the following conditions also apply. + + 1. The Adapter's License You apply must be a Creative Commons + license with the same License Elements, this version or + later, or a BY-SA Compatible License. + + 2. You must include the text of, or the URI or hyperlink to, the + Adapter's License You apply. You may satisfy this condition + in any reasonable manner based on the medium, means, and + context in which You Share Adapted Material. + + 3. You may not offer or impose any additional or different terms + or conditions on, or apply any Effective Technological + Measures to, Adapted Material that restrict exercise of the + rights granted under the Adapter's License You apply. + + +Section 4 -- Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that +apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database; + + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material, + + including for purposes of Section 3(b); and + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not +replace Your obligations under this Public License where the Licensed +Rights include other Copyright and Similar Rights. + + +Section 5 -- Disclaimer of Warranties and Limitation of Liability. + + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. + + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + + +Section 6 -- Term and Termination. + + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any + right the Licensor may have to seek remedies for Your violations + of this Public License. + + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. + + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. + + +Section 7 -- Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. + + +Section 8 -- Interpretation. + + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. + + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. + + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. + + +======================================================================= + +Creative Commons is not a party to its public +licenses. Notwithstanding, Creative Commons may elect to apply one of +its public licenses to material it publishes and in those instances +will be considered the “Licensor.” The text of the Creative Commons +public licenses is dedicated to the public domain under the CC0 Public +Domain Dedication. Except for the limited purpose of indicating that +material is shared under a Creative Commons public license or as +otherwise permitted by the Creative Commons policies published at +creativecommons.org/policies, Creative Commons does not authorize the +use of the trademark "Creative Commons" or any other trademark or logo +of Creative Commons without its prior written consent including, +without limitation, in connection with any unauthorized modifications +to any of its public licenses or any other arrangements, +understandings, or agreements concerning use of licensed material. For +the avoidance of doubt, this paragraph does not form part of the +public licenses. + +Creative Commons may be contacted at creativecommons.org. \ No newline at end of file diff --git a/plugins/fonts/romfs/FIRACODE_LICENSE.txt b/plugins/fonts/romfs/FIRACODE_LICENSE.txt new file mode 100644 index 0000000000000..6bd9f9f2f8bd3 --- /dev/null +++ b/plugins/fonts/romfs/FIRACODE_LICENSE.txt @@ -0,0 +1,93 @@ +Copyright (c) 2014, The Fira Code Project Authors (https://github.com/tonsky/FiraCode) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. \ No newline at end of file diff --git a/plugins/fonts/romfs/fonts/firacode.ttf b/plugins/fonts/romfs/fonts/firacode.ttf new file mode 100644 index 0000000000000000000000000000000000000000..660742d61d11ff8fccda78a436f0096a1c650c9b GIT binary patch literal 285428 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

lC;na$R)?_A5EjEFY=*L8b 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Ⓢ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

^rBPPqpf)l4}t?8hXs0ZD@-qLg*`mP z1|j+hk50vSbV|m5E@`ADxJRZJRBc9I(_5efoI4MH. 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 literal 0 HcmV?d00001 diff --git a/plugins/fonts/source/font_loader.cpp b/plugins/fonts/source/font_loader.cpp index ef2a2f429b2a8..46be93a455f30 100644 --- a/plugins/fonts/source/font_loader.cpp +++ b/plugins/fonts/source/font_loader.cpp @@ -1,12 +1,16 @@ #include #include #include +#include #include #include #include #include +#include +#include +#include #include #include @@ -64,13 +68,14 @@ namespace hex::fonts { config.SizePixels = std::floor(ImHexApi::System::getGlobalScale()) * 13.0F; auto font = m_fontAtlas->AddFontDefault(&config); + m_fontSizes.emplace_back(false, config.SizePixels); m_config.MergeMode = true; return Font(font); } - Font addFontFromMemory(const std::vector &fontData, float fontSize, ImVec2 offset, bool ownedByImGui = false, const ImVector &glyphRange = {}) { + Font addFontFromMemory(const std::vector &fontData, float fontSize, bool scalable, ImVec2 offset, bool ownedByImGui = false, const ImVector &glyphRange = {}) { auto &storedFontData = m_fontData.emplace_back(fontData); ImFontConfig config = m_config; @@ -78,22 +83,23 @@ namespace hex::fonts { config.GlyphOffset = { offset.x, offset.y }; auto font = m_fontAtlas->AddFontFromMemoryTTF(storedFontData.data(), int(storedFontData.size()), fontSize, &config, !glyphRange.empty() ? glyphRange.Data : m_glyphRange.Data); + m_fontSizes.emplace_back(scalable, fontSize); m_config.MergeMode = true; return Font(font); } - Font addFontFromRomFs(const std::fs::path &path, float fontSize, ImVec2 offset, const ImVector &glyphRange = {}) { + Font addFontFromRomFs(const std::fs::path &path, float fontSize, bool scalable, ImVec2 offset, const ImVector &glyphRange = {}) { auto data = romfs::get(path).span(); - return addFontFromMemory({ data.begin(), data.end() }, fontSize, offset, false, glyphRange); + return addFontFromMemory({ data.begin(), data.end() }, fontSize, scalable, offset, false, glyphRange); } - Font addFontFromFile(const std::fs::path &path, float fontSize, ImVec2 offset, const ImVector &glyphRange = {}) { + Font addFontFromFile(const std::fs::path &path, float fontSize, bool scalable, ImVec2 offset, const ImVector &glyphRange = {}) { wolv::io::File file(path, wolv::io::File::Mode::Read); auto data = file.readVector(); - return addFontFromMemory(data, fontSize, offset, true, glyphRange); + return addFontFromMemory(data, fontSize, scalable, offset, true, glyphRange); } void setBold(bool enabled) { @@ -154,7 +160,6 @@ namespace hex::fonts { [[nodiscard]] ImFontAtlas* takeAtlas() { auto result = m_fontAtlas; - m_fontAtlas = nullptr; return result; } @@ -198,8 +203,22 @@ namespace hex::fonts { m_config.MergeMode = false; } + void updateFontScaling(float newScaling) { + for (int i = 0; i < m_fontAtlas->ConfigData.size(); i += 1) { + const auto &[scalable, fontSize] = m_fontSizes[i]; + auto &configData = m_fontAtlas->ConfigData[i]; + + if (!scalable) { + configData.SizePixels = fontSize * std::floor(newScaling); + } else { + configData.SizePixels = fontSize * newScaling; + } + } + } + private: ImFontAtlas* m_fontAtlas; + std::vector> m_fontSizes; ImFontConfig m_config; ImVector m_glyphRange; @@ -288,7 +307,7 @@ namespace hex::fonts { // Try to load the custom font if one was set std::optional defaultFont; if (!customFontPath.empty()) { - defaultFont = fontAtlas.addFontFromFile(customFontPath, fontSize, ImVec2()); + defaultFont = fontAtlas.addFontFromFile(customFontPath, fontSize, true, ImVec2()); if (!fontAtlas.build()) { log::error("Failed to load custom font '{}'! Falling back to default font", wolv::util::toUTF8String(customFontPath)); defaultFont.reset(); @@ -297,7 +316,13 @@ namespace hex::fonts { // If there's no custom font set, or it failed to load, fall back to the default font if (!defaultFont.has_value()) { - defaultFont = fontAtlas.addDefaultFont(); + auto pixelPerfectFont = ContentRegistry::Settings::read("hex.builtin.setting.font", "hex.builtin.setting.font.pixel_perfect_default_font", true); + + if (pixelPerfectFont) + defaultFont = fontAtlas.addDefaultFont(); + else + defaultFont = fontAtlas.addFontFromRomFs("fonts/firacode.ttf", fontSize * 1.1, true, ImVec2()); + if (!fontAtlas.build()) { log::fatal("Failed to load default font!"); return false; @@ -326,10 +351,20 @@ namespace hex::fonts { ImVec2 offset = { font.offset.x, font.offset.y - (defaultFont->getDescent() - fontAtlas.calculateFontDescend(font, fontSize)) }; // Load the font - fontAtlas.addFontFromMemory(font.fontData, font.defaultSize.value_or(fontSize), offset, false, glyphRanges.back()); + fontAtlas.addFontFromMemory(font.fontData, font.defaultSize.value_or(fontSize), !font.defaultSize.has_value(), offset, false, glyphRanges.back()); } } + EventDPIChanged::subscribe([](float, float newScaling) { + fontAtlas.updateFontScaling(newScaling); + + if (fontAtlas.build()) { + ImGui_ImplOpenGL3_DestroyFontsTexture(); + ImGui_ImplOpenGL3_CreateFontsTexture(); + ImHexApi::Fonts::impl::setFontAtlas(fontAtlas.takeAtlas()); + } + }); + // Build the font atlas const bool result = fontAtlas.build(); if (result) {