mirror of
https://github.com/WerWolv/ImHex.git
synced 2026-03-28 07:47:03 -05:00
fix: Icons being too big for regular text
This commit is contained in:
@@ -758,7 +758,7 @@ EXPORT_MODULE namespace hex {
|
||||
std::string name;
|
||||
std::vector<u8> fontData;
|
||||
Offset offset;
|
||||
std::optional<u32> defaultSize;
|
||||
std::optional<float> fontSizeMultiplier;
|
||||
};
|
||||
|
||||
class Font {
|
||||
@@ -794,8 +794,8 @@ EXPORT_MODULE namespace hex {
|
||||
|
||||
}
|
||||
|
||||
void registerMergeFont(const std::fs::path &path, Offset offset = {}, std::optional<u32> defaultSize = std::nullopt);
|
||||
void registerMergeFont(const std::string &name, const std::span<const u8> &data, Offset offset = {}, std::optional<u32> defaultSize = std::nullopt);
|
||||
void registerMergeFont(const std::fs::path &path, Offset offset = {}, std::optional<float> fontSizeMultiplier = std::nullopt);
|
||||
void registerMergeFont(const std::string &name, const std::span<const u8> &data, Offset offset = {}, std::optional<float> fontSizeMultiplier = std::nullopt);
|
||||
|
||||
void registerFont(const Font& font);
|
||||
FontDefinition getFont(const UnlocalizedString &fontName);
|
||||
|
||||
@@ -1079,7 +1079,7 @@ namespace hex {
|
||||
return getFont(m_fontName).regular;
|
||||
}
|
||||
|
||||
void registerMergeFont(const std::fs::path &path, Offset offset, std::optional<u32> defaultSize) {
|
||||
void registerMergeFont(const std::fs::path &path, Offset offset, std::optional<float> fontSizeMultiplier) {
|
||||
wolv::io::File fontFile(path, wolv::io::File::Mode::Read);
|
||||
if (!fontFile.isValid()) {
|
||||
log::error("Failed to load font from file '{}'", wolv::util::toUTF8String(path));
|
||||
@@ -1090,16 +1090,16 @@ namespace hex {
|
||||
wolv::util::toUTF8String(path.filename()),
|
||||
fontFile.readVector(),
|
||||
offset,
|
||||
defaultSize
|
||||
fontSizeMultiplier
|
||||
});
|
||||
}
|
||||
|
||||
void registerMergeFont(const std::string &name, const std::span<const u8> &data, Offset offset, std::optional<u32> defaultSize) {
|
||||
void registerMergeFont(const std::string &name, const std::span<const u8> &data, Offset offset, std::optional<float> fontSizeMultiplier) {
|
||||
impl::s_fonts->emplace_back(MergeFont {
|
||||
name,
|
||||
{ data.begin(), data.end() },
|
||||
offset,
|
||||
defaultSize
|
||||
fontSizeMultiplier
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -83,7 +83,8 @@ namespace hex::fonts::loader {
|
||||
for (auto &extraFont : ImHexApi::Fonts::impl::getMergeFonts()) {
|
||||
config.GlyphOffset = { extraFont.offset.x, -extraFont.offset.y };
|
||||
config.GlyphOffset *= ImHexApi::System::getGlobalScale();
|
||||
atlas->AddFontFromMemoryTTF(const_cast<u8 *>(extraFont.fontData.data()), extraFont.fontData.size(), extraFont.defaultSize.value_or(0), &config);
|
||||
config.SizePixels = settings.getFontSize() * extraFont.fontSizeMultiplier.value_or(1);
|
||||
atlas->AddFontFromMemoryTTF(const_cast<u8 *>(extraFont.fontData.data()), extraFont.fontData.size(), 0.0F, &config);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -25,9 +25,9 @@ namespace hex::fonts {
|
||||
}
|
||||
|
||||
void registerMergeFonts() {
|
||||
ImHexApi::Fonts::registerMergeFont("Blender Icons", romfs::get("fonts/blendericons.ttf").span<u8>(), { -1, -1 });
|
||||
ImHexApi::Fonts::registerMergeFont("VS Codicons", romfs::get("fonts/codicons.ttf").span<u8>(), { 0, -2 });
|
||||
ImHexApi::Fonts::registerMergeFont("Unifont", romfs::get("fonts/unifont.otf").span<u8>(), { 0, 0 }, 10);
|
||||
ImHexApi::Fonts::registerMergeFont("Blender Icons", romfs::get("fonts/blendericons.ttf").span<u8>(), { -1, -1 }, 0.95);
|
||||
ImHexApi::Fonts::registerMergeFont("VS Codicons", romfs::get("fonts/codicons.ttf").span<u8>(), { 0, -2 }, 0.95);
|
||||
ImHexApi::Fonts::registerMergeFont("Unifont", romfs::get("fonts/unifont.otf").span<u8>(), { 0, 0 }, 0.75);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user