]> git.lyx.org Git - features.git/commitdiff
Fix bug #3751
authorEnrico Forestieri <forenr@lyx.org>
Sat, 27 Feb 2021 20:40:28 +0000 (21:40 +0100)
committerEnrico Forestieri <forenr@lyx.org>
Sat, 27 Feb 2021 20:40:28 +0000 (21:40 +0100)
We lack the necessary font (cmb10) for drawing bold uppercase greek
letters. It would be overkill adding it for this sole purpose, so
adopt the same poor man's bold strategy used with \boldsymbol.

src/mathed/MathSupport.cpp

index 6a5218bac49aa08aac226b34df96b98fe8bd35a9..16019205f1106b4beadf25324f38770e86f13800 100644 (file)
@@ -772,9 +772,12 @@ void mathedSymbolDraw(PainterInfo & pi, int x, int y, latexkeys const * sym)
        //      << "' drawn as: '" << sym->draw
        //      << "'" << endl;
 
-       bool const italic_upcase_greek = sym->inset == "cmr" &&
-               sym->extra == "mathalpha" &&
-               pi.base.fontname == "mathit";
+       bool const upcase_greek =
+               sym->inset == "cmr" && sym->extra == "mathalpha";
+       bool const bold_upcase_greek =
+               upcase_greek && pi.base.fontname == "mathbf";
+       bool const italic_upcase_greek =
+               upcase_greek && pi.base.fontname == "mathit";
        std::string const font = italic_upcase_greek ? "cmm" : sym->inset;
        bool const change_font = font != "cmr" ||
                                (pi.base.fontname != "mathbb" &&
@@ -784,6 +787,8 @@ void mathedSymbolDraw(PainterInfo & pi, int x, int y, latexkeys const * sym)
                                 pi.base.fontname != "mathscr");
        Changer dummy = change_font ? pi.base.changeFontSet(font) : noChange();
        pi.draw(x, y, mathedSymbol(pi.base, sym));
+       if (bold_upcase_greek)
+               pi.draw(x + 1, y, mathedSymbol(pi.base, sym));
 }