diff options
Diffstat (limited to 'qt/ScintillaEditBase/PlatQt.cpp')
-rw-r--r-- | qt/ScintillaEditBase/PlatQt.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/qt/ScintillaEditBase/PlatQt.cpp b/qt/ScintillaEditBase/PlatQt.cpp index 652c7c305..83e78a631 100644 --- a/qt/ScintillaEditBase/PlatQt.cpp +++ b/qt/ScintillaEditBase/PlatQt.cpp @@ -113,6 +113,32 @@ static QFont::StyleStrategy ChooseStrategy(FontQuality eff) } } +static QFont::Stretch QStretchFromFontStretch(Scintilla::FontStretch stretch) +{ + switch (stretch) { + case FontStretch::UltraCondensed: + return QFont::Stretch::UltraCondensed; + case FontStretch::ExtraCondensed: + return QFont::Stretch::ExtraCondensed; + case FontStretch::Condensed: + return QFont::Stretch::Condensed; + case FontStretch::SemiCondensed: + return QFont::Stretch::SemiCondensed; + case FontStretch::Normal: + return QFont::Stretch::Unstretched; + case FontStretch::SemiExpanded: + return QFont::Stretch::SemiExpanded; + case FontStretch::Expanded: + return QFont::Stretch::Expanded; + case FontStretch::ExtraExpanded: + return QFont::Stretch::ExtraExpanded; + case FontStretch::UltraExpanded: + return QFont::Stretch::UltraExpanded; + default: + return QFont::Stretch::Unstretched; + } +} + class FontAndCharacterSet : public Font { public: CharacterSet characterSet = CharacterSet::Ansi; @@ -123,6 +149,7 @@ public: pfont->setFamily(QString::fromUtf8(fp.faceName)); pfont->setPointSizeF(fp.size); pfont->setBold(static_cast<int>(fp.weight) > 500); + pfont->setStretch(QStretchFromFontStretch(fp.stretch)); pfont->setItalic(fp.italic); } }; |