#ifndef QFONTLOADER_H
#define QFONTLOADER_H
+#include "frontends/FontLoader.h"
+
#include "encoding.h"
#include "lyxfont.h"
#include <qfont.h>
#include <qfontmetrics.h>
-#if QT_VERSION < 0x030100
+#if QT_VERSION < 0x030100 || defined(Q_WS_MACX)
#define USE_LYX_FONTCACHE
#endif
QLFontInfo(LyXFont const & f);
/// Return pixel width for the given unicode char
- int width(Uchar val) const;
+ int width(Uchar val);
/// The font instance
QFont font;
/// Hold info about a particular font
-class FontLoader {
+class GuiFontLoader: public lyx::frontend::FontLoader {
public:
///
- FontLoader();
+ GuiFontLoader();
+
+ /// Destructor
+ virtual ~GuiFontLoader();
/// Update fonts after zoom, dpi, font names, or norm change
- void update();
+ virtual void update();
/// Do we have anything matching?
- bool available(LyXFont const & f);
+ virtual bool available(LyXFont const & f);
/// Get the QFont for this LyXFont
QFont const & get(LyXFont const & f) {
return fontinfo(f).metrics;
}
- /// Called before QApplication is initialized
- static void initFontPath();
-
/// Called the first time when available() can't load a symbol font
static void addToFontPath();
/// Get font info (font + metrics) for the given LyX font.
QLFontInfo & fontinfo(LyXFont const & f) {
+ // fi is a reference to the pointer type (QLFontInfo *) in the
+ // fontinfo_ table.
QLFontInfo * & fi =
fontinfo_[f.family()][f.series()][f.realShape()][f.size()];
if (!fi)
QLFontInfo * fontinfo_[LyXFont::NUM_FAMILIES][2][4][10];
};
-extern FontLoader fontloader;
+extern GuiFontLoader fontloader;
#endif // QFONT_LOADER_H