Maybe I still haven't understand the question itself? The end user might choose to use the "Extended" style. The application simply offered a QFontDialog to allow user to select the preferred font, font size, style, etc.
Also see this attachment for a screenshot of QFontDialog, the middle list view is font name selection area which shows all available style names. For the mentioned Judou font, you can find it here: https://github.com/JudouEco/JudouMono/releases/tag/v2.0.0
It is "Judou Mono FCM Extended", "Judou Mono FCM" is its font family, "Extended" is its style name. Another example is "Source Code Pro Semibold" which "Source Code Pro" is its font family name and "Semibold" is its style name. The comma here as a splitter to allow we know whch part is font family name and which part is style name.
My current patch here btw: --- a/qt/ScintillaEditBase/PlatQt.cpp +++ b/qt/ScintillaEditBase/PlatQt.cpp @@ -147,7 +147,13 @@ public: explicit FontAndCharacterSet(const FontParameters &fp) : characterSet(fp.characterSet) { pfont = std::make_unique<QFont>(); pfont->setStyleStrategy(ChooseStrategy(fp.extraFontFlag)); - pfont->setFamily(QString::fromUtf8(fp.faceName)); + QString faceName = QString::fromUtf8(fp.faceName); + if (faceName.contains('/')) { + pfont->setFamily(faceName.section('/', 0, 0));...
It seems some fonts might have comma (,) in its font family name, so if we go with the splitter method, maybe we need to use another character as splitter like /.
Scintilla Qt API cannot set font's style name
Yeah it indeed look like the same issue as #2450, while I don't think go with setHighDpiScaleFactorRoundingPolicy is a sane way to fix this issue... https://sourceforge.net/p/scintilla/bugs/2450/#e379: Adding surface->FillRectangle(rcTextArea, Fill(vsDraw.styles[StyleDefault].back)); just above // Loop on visible lines in EditView.cxx also works! While the left line number margin still have thin line but it's at least usable :) So does it mean QRectFFromPRect actually don't need to add +1 when converting...
Yeah it indeed look like the same issue as #2450, while I don't think go with setHighDpiScaleFactorRoundingPolicy is a sane way to fix this issue... https://sourceforge.net/p/scintilla/bugs/2450/#e379: Adding surface->FillRectangle(rcTextArea, Fill(vsDraw.styles[StyleDefault].back)); just above // Loop on visible lines in EditView.cxx also works! So does it mean QRectFFromPRect actually don't need to add +1 when converting PRectangle to QRect?