aboutsummaryrefslogtreecommitdiff
path: root/graphics/fonts/bdf.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2016-10-06 07:44:18 +0200
committerEugene Sandulenko2016-10-06 07:44:18 +0200
commit9730e42fac5b7d0fd70939cddb6888a508f8056e (patch)
tree66e886e5549436666b88e7f2d8d2dde228a7444b /graphics/fonts/bdf.cpp
parent0d4d5459f27abaac7d41288583acc80b2a5ad9fb (diff)
downloadscummvm-rg350-9730e42fac5b7d0fd70939cddb6888a508f8056e.tar.gz
scummvm-rg350-9730e42fac5b7d0fd70939cddb6888a508f8056e.tar.bz2
scummvm-rg350-9730e42fac5b7d0fd70939cddb6888a508f8056e.zip
GRAPHICS: Parse font size from BDF fonts
Diffstat (limited to 'graphics/fonts/bdf.cpp')
-rw-r--r--graphics/fonts/bdf.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/graphics/fonts/bdf.cpp b/graphics/fonts/bdf.cpp
index c0a7b05d8b..79d31e5b9a 100644
--- a/graphics/fonts/bdf.cpp
+++ b/graphics/fonts/bdf.cpp
@@ -53,6 +53,10 @@ int BdfFont::getFontHeight() const {
return _data.height;
}
+int BdfFont::getFontSize() const {
+ return _data.size;
+}
+
int BdfFont::getMaxCharWidth() const {
return _data.maxAdvance;
}
@@ -324,6 +328,17 @@ BdfFont *BdfFont::loadFont(Common::SeekableReadStream &stream) {
font.defaultBox.height = height;
font.defaultBox.xOffset = xOffset;
font.defaultBox.yOffset = yOffset;
+ } else if (line.hasPrefix("SIZE ")) {
+ int hDpi, vDpi;
+ if (sscanf(line.c_str(), "SIZE %d %d %d", &font.size, &hDpi, &vDpi) != 3) {
+ warning("BdfFont::loadFont: Invalid SIZE");
+ freeBitmaps(bitmaps, font.numCharacters);
+ delete[] bitmaps;
+ delete[] advances;
+ delete[] boxes;
+ delete[] familyName;
+ return 0;
+ }
} else if (line.hasPrefix("FONT_ASCENT ")) {
if (sscanf(line.c_str(), "FONT_ASCENT %d", &font.ascent) != 1) {
warning("BdfFont::loadFont: Invalid FONT_ASCENT");