diff options
-rw-r--r-- | src/ViewStyle.cxx | 18 | ||||
-rw-r--r-- | src/ViewStyle.h | 3 |
2 files changed, 11 insertions, 10 deletions
diff --git a/src/ViewStyle.cxx b/src/ViewStyle.cxx index a71ca9fab..24272789c 100644 --- a/src/ViewStyle.cxx +++ b/src/ViewStyle.cxx @@ -89,14 +89,14 @@ void FontRealised::Realise(Surface &surface, int zoomLevel) { sizeZoomed = 2; int deviceHeight = surface.DeviceHeightFont(sizeZoomed); - Create(fontName, characterSet, deviceHeight, bold, italic, extraFontFlag); - - ascent = surface.Ascent(*this); - descent = surface.Descent(*this); - externalLeading = surface.ExternalLeading(*this); - lineHeight = surface.Height(*this); - aveCharWidth = surface.AverageCharWidth(*this); - spaceWidth = surface.WidthChar(*this, ' '); + font.Create(fontName, characterSet, deviceHeight, bold, italic, extraFontFlag); + + ascent = surface.Ascent(font); + descent = surface.Descent(font); + externalLeading = surface.ExternalLeading(font); + lineHeight = surface.Height(font); + aveCharWidth = surface.AverageCharWidth(font); + spaceWidth = surface.WidthChar(font, ' '); if (frNext) { frNext->Realise(surface, zoomLevel); } @@ -380,7 +380,7 @@ void ViewStyle::Refresh(Surface &surface) { for (unsigned int k=0; k<stylesSize; k++) { FontRealised *fr = frFirst->Find(styles[k]); - styles[k].Copy(*fr, *fr); + styles[k].Copy(fr->font, *fr); } maxAscent = 1; maxDescent = 1; diff --git a/src/ViewStyle.h b/src/ViewStyle.h index cf45be41f..74efa6abd 100644 --- a/src/ViewStyle.h +++ b/src/ViewStyle.h @@ -39,11 +39,12 @@ public: const char *Save(const char *name); }; -class FontRealised : public Font, public FontSpecification, public FontMeasurements { +class FontRealised : public FontSpecification, public FontMeasurements { // Private so FontRealised objects can not be copied FontRealised(const FontRealised &); FontRealised &operator=(const FontRealised &); public: + Font font; FontRealised *frNext; FontRealised(const FontSpecification &fs); virtual ~FontRealised(); |