aboutsummaryrefslogtreecommitdiff
path: root/graphics/macgui/macfontmanager.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2017-01-18 10:24:47 +0100
committerEugene Sandulenko2017-01-18 10:24:47 +0100
commit6558e94ac372ff6a65ffa982d7699cb5ab58ef47 (patch)
treed63875e60542238148467e526732c64c8b5f1d1e /graphics/macgui/macfontmanager.cpp
parent226c2ed016c16565a202fcfd27f09afcc2f824a5 (diff)
downloadscummvm-rg350-6558e94ac372ff6a65ffa982d7699cb5ab58ef47.tar.gz
scummvm-rg350-6558e94ac372ff6a65ffa982d7699cb5ab58ef47.tar.bz2
scummvm-rg350-6558e94ac372ff6a65ffa982d7699cb5ab58ef47.zip
GRAPHICS: Plug in loaded MacFONTFonts into MacFontManager
Diffstat (limited to 'graphics/macgui/macfontmanager.cpp')
-rw-r--r--graphics/macgui/macfontmanager.cpp26
1 files changed, 25 insertions, 1 deletions
diff --git a/graphics/macgui/macfontmanager.cpp b/graphics/macgui/macfontmanager.cpp
index 721f1a703e..ee91ae42a0 100644
--- a/graphics/macgui/macfontmanager.cpp
+++ b/graphics/macgui/macfontmanager.cpp
@@ -174,8 +174,32 @@ void MacFontManager::loadFonts() {
Common::Array<Graphics::MacFontFamily::AsscEntry> *assoc = fontFamily.getAssocTable();
for (uint i = 0; i < assoc->size(); i++) {
- debug("size: %d style: %d id: %d", (*assoc)[i]._fontSize, (*assoc)[i]._fontSize,
+ debug("size: %d style: %d id: %d", (*assoc)[i]._fontSize, (*assoc)[i]._fontStyle,
(*assoc)[i]._fontID);
+
+ Common::SeekableReadStream *fontstream = fontFile->getResource(MKTAG('N', 'F', 'N', 'T'), (*assoc)[i]._fontID);
+ MacFont *macfont;
+ Graphics::MacFONTFont *font;
+ Common::String fontName;
+
+ if (fontstream) {
+ font = new Graphics::MacFONTFont;
+ font->loadFont(*fontstream);
+
+ delete fontstream;
+
+ fontName = fontFile->getResName(MKTAG('N', 'F', 'N', 'T'), (*assoc)[i]._fontID);
+ } else {
+ fontstream = fontFile->getResource(MKTAG('F', 'O', 'N', 'T'), (*assoc)[i]._fontID);
+ }
+
+ macfont = new MacFont(_fontNames.getVal(fontName, kMacFontNonStandard), (*assoc)[i]._fontSize, (*assoc)[i]._fontStyle);
+
+ FontMan.assignFontToName(fontName, font);
+ //macfont->setBdfFont(font);
+ _fontRegistry.setVal(fontName, macfont);
+
+ debug(2, " %s", fontName.c_str());
}
delete fond;