]> git.lyx.org Git - lyx.git/blobdiff - src/FontLoader.C
write \mathrm{x}\mathrm{y} as \mathrm{xy} again
[lyx.git] / src / FontLoader.C
index 760013b63a6ccb1a9a20ab311ce22033fe64cc6b..273aab391029d1bbff6be2f8b632d2f5f09d4f1e 100644 (file)
@@ -60,7 +60,7 @@ void FontLoader::update()
 void FontLoader::reset()
 {
        // Clear font infos, font structs and font metrics
-       for (int i1 = 0; i1 < 9; ++i1)
+       for (int i1 = 0; i1 < LyXFont::NUM_FAMILIES; ++i1)
                for (int i2 = 0; i2 < 2; ++i2)
                        for (int i3 = 0; i3 < 4; ++i3) {
                                fontinfo[i1][i2][i3] = 0;
@@ -75,7 +75,7 @@ void FontLoader::reset()
 void FontLoader::unload() 
 {
        // Unload all fonts
-       for (int i1 = 0; i1 < 9; ++i1)
+       for (int i1 = 0; i1 < LyXFont::NUM_FAMILIES; ++i1)
                for (int i2 = 0; i2 < 2; ++i2)
                        for (int i3 = 0; i3 < 4; ++i3) {
                                if (fontinfo[i1][i2][i3]) {
@@ -111,6 +111,11 @@ void FontLoader::getFontinfo(LyXFont::FONT_FAMILY family,
                                new FontInfo("-*-symbol-*-*-*-*-*-*-*-*-*-*-*-*");
                        return;
 
+               case LyXFont::CMR_FAMILY:
+                       fontinfo[family][series][shape] =
+                               new FontInfo("-*-cmr-medium-*-*-*-*-*-*-*-*-*-*-*");
+                       return;
+
                case LyXFont::CMSY_FAMILY:
                        fontinfo[family][series][shape] =
                                new FontInfo("-*-cmsy-*-*-*-*-*-*-*-*-*-*-*-*");
@@ -318,7 +323,11 @@ XFontStruct * FontLoader::doLoad(LyXFont::FONT_FAMILY family,
 
 bool FontLoader::available(LyXFont const & f)
 {
-       load(f.family(), f.series(), f.realShape(), f.size());
+       if (!lyxrc.use_gui)
+               return false;
+
+       if (!fontinfo[f.family()][f.series()][f.realShape()])
+               getFontinfo(f.family(), f.series(), f.realShape());
        return fontinfo[f.family()][f.series()][f.realShape()]
                ->getFontname(f.size()).size();
 }