diff --git a/plugin/src/Caelestia/Config/fontbuilder.cpp b/plugin/src/Caelestia/Config/fontbuilder.cpp index 45ab4f84..031ae97e 100644 --- a/plugin/src/Caelestia/Config/fontbuilder.cpp +++ b/plugin/src/Caelestia/Config/fontbuilder.cpp @@ -47,6 +47,14 @@ FontBuilder FontBuilder::vaxis(QFont::Tag tag, float value) { return *this; } +FontBuilder FontBuilder::vaxes(QVariantMap axes) { + for (auto it = axes.constBegin(); it != axes.constEnd(); ++it) { + if (auto tag = QFont::Tag::fromString(it.key())) + m_font.setVariableAxis(*tag, it.value().toFloat()); + } + return *this; +} + QFont FontBuilder::build() const { return m_font; } diff --git a/plugin/src/Caelestia/Config/fontbuilder.hpp b/plugin/src/Caelestia/Config/fontbuilder.hpp index 5d78d199..28b48b9c 100644 --- a/plugin/src/Caelestia/Config/fontbuilder.hpp +++ b/plugin/src/Caelestia/Config/fontbuilder.hpp @@ -21,6 +21,7 @@ public: [[nodiscard]] Q_INVOKABLE FontBuilder letterSpacing(qreal spacing, bool absolute = true); [[nodiscard]] Q_INVOKABLE FontBuilder capitalisation(QFont::Capitalization cap); [[nodiscard]] Q_INVOKABLE FontBuilder vaxis(QFont::Tag tag, float value); + [[nodiscard]] Q_INVOKABLE FontBuilder vaxes(QVariantMap axes); [[nodiscard]] Q_INVOKABLE QFont build() const; // Common vaxes