From 6558e94ac372ff6a65ffa982d7699cb5ab58ef47 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Wed, 18 Jan 2017 10:24:47 +0100 Subject: GRAPHICS: Plug in loaded MacFONTFonts into MacFontManager --- graphics/macgui/macfontmanager.cpp | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'graphics/macgui/macfontmanager.cpp') 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 *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; -- cgit v1.2.3