[Scummvm-git-logs] scummvm master -> 071dba2dc4b74b81be86e90c3364ddd078094f18

sev- noreply at scummvm.org
Fri Apr 25 11:53:26 UTC 2025


This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .

Summary:
59289df98e GRAPHICS: Fix TTF font caching
3c61ac1dc9 GUI: Enable help menu translations
071dba2dc4 GRAPHICS: Restore missing condition for default unicode font


Commit: 59289df98e7485905fe2fc723988ab897ac2c939
    https://github.com/scummvm/scummvm/commit/59289df98e7485905fe2fc723988ab897ac2c939
Author: Łukasz Lenkiewicz (lukasz at lenkiewicz.xyz)
Date: 2025-04-25T19:53:22+08:00

Commit Message:
GRAPHICS: Fix TTF font caching

Changed paths:
    graphics/macgui/macfontmanager.cpp
    graphics/macgui/macfontmanager.h


diff --git a/graphics/macgui/macfontmanager.cpp b/graphics/macgui/macfontmanager.cpp
index e241f31256c..00ad1712f6f 100644
--- a/graphics/macgui/macfontmanager.cpp
+++ b/graphics/macgui/macfontmanager.cpp
@@ -184,7 +184,7 @@ MacFontManager::MacFontManager(uint32 mode, Common::Language language) : _mode(m
 MacFontManager::~MacFontManager() {
 	for (auto &it: _fontInfo)
 		delete it._value;
-	for (auto &it: _uniFonts)
+	for (auto &it: _uniFontRegistry)
 		delete it._value;
 	for (auto &it: _ttfData)
 		delete it._value;
@@ -558,32 +558,26 @@ const Font *MacFontManager::getFont(MacFont *macFont) {
 
 #ifdef USE_FREETYPE2
 	if (!font && !(_mode & MacGUIConstants::kWMModeForceMacFonts)) {
-		if (_mode & kWMModeUnicode) {
+
+		if (_uniFontRegistry.contains(macFont->getName())) { 
+			return _uniFontRegistry[macFont->getName()];
+		}
+
+		// If font is not present in the registry, try to load and store it
+		int newId = macFont->getId();
+		int newSlant = macFont->getSlant();
+		int familyId = getFamilyId(newId, newSlant);
+
+		if ((_mode & kWMModeUnicode) && (_mode & kWMModeForceMacFontsInWin95)) {
 			if (macFont->getSize() <= 0) {
 				debugC(1, kDebugLevelMacGUI, "MacFontManager::getFont() - Font size <= 0!");
 			}
-			Common::HashMap<int, const Graphics::Font *>::iterator pFont = _uniFonts.find(macFont->getSize());
-
-			if (pFont != _uniFonts.end()) {
-				font = pFont->_value;
-			} else {
-				int newId = macFont->getId();
-				int newSlant = macFont->getSlant();
-				int familyId = getFamilyId(newId, newSlant);
-				if (_fontInfo.contains(familyId) && !(_mode & kWMModeForceMacFontsInWin95)) {
-					font = Graphics::loadTTFFontFromArchive(_fontInfo[familyId]->name, macFont->getSize(), Graphics::kTTFSizeModeCharacter, 0, 0, Graphics::kTTFRenderModeMonochrome);
-					_uniFonts[macFont->getSize()] = font;
-				} else {
-					font = Graphics::loadTTFFontFromArchive("LiberationSans-Regular.ttf", macFont->getSize(), Graphics::kTTFSizeModeCharacter, 0, 0, Graphics::kTTFRenderModeMonochrome);
-					_uniFonts[macFont->getSize()] = font;
-				}
-			}
-		} else {
-			int newId = macFont->getId();
-			int newSlant = macFont->getSlant();
-			int familyId = getFamilyId(newId, newSlant);
+			font = Graphics::loadTTFFontFromArchive("LiberationSans-Regular.ttf", macFont->getSize(), Graphics::kTTFSizeModeCharacter, 0, 0, Graphics::kTTFRenderModeMonochrome);
+			_uniFontRegistry.setVal(macFont->getName(), font);
+		}
+		else if (_fontInfo.contains(familyId)) {
 			font = Graphics::loadTTFFontFromArchive(_fontInfo[familyId]->name, macFont->getSize(), Graphics::kTTFSizeModeCharacter, 0, 0, Graphics::kTTFRenderModeMonochrome);
-			_uniFonts[macFont->getSize()] = font;
+			_uniFontRegistry.setVal(macFont->getName(), font);
 		}
 	}
 #endif
diff --git a/graphics/macgui/macfontmanager.h b/graphics/macgui/macfontmanager.h
index 222d5a365e3..be26d9b6b9e 100644
--- a/graphics/macgui/macfontmanager.h
+++ b/graphics/macgui/macfontmanager.h
@@ -232,7 +232,7 @@ private:
 	int parseFontSlant(Common::String slant);
 
 	/* Unicode font */
-	Common::HashMap<int, const Graphics::Font *> _uniFonts;
+	Common::HashMap<Common::String, const Graphics::Font *> _uniFontRegistry;
 
 	Common::HashMap<Common::String, Common::SeekableReadStream *> _ttfData;
 };


Commit: 3c61ac1dc94968d9a07f959e328fffb675d03f1e
    https://github.com/scummvm/scummvm/commit/3c61ac1dc94968d9a07f959e328fffb675d03f1e
Author: Łukasz Lenkiewicz (lukasz at lenkiewicz.xyz)
Date: 2025-04-25T19:53:22+08:00

Commit Message:
GUI: Enable help menu translations

Changed paths:
    gui/helpdialog.cpp
    gui/widgets/richtext.cpp


diff --git a/gui/helpdialog.cpp b/gui/helpdialog.cpp
index 998d55786ff..555e364317b 100644
--- a/gui/helpdialog.cpp
+++ b/gui/helpdialog.cpp
@@ -130,7 +130,7 @@ _s(
 
 void HelpDialog::addTabs(const char * const *tabData) {
 	while (*tabData) {
-		Common::U32String tabName(*tabData++);
+		Common::U32String tabName(_(*tabData++));
 		const char *imagePack = nullptr;
 
 		if (*tabData && **tabData)
@@ -138,7 +138,7 @@ void HelpDialog::addTabs(const char * const *tabData) {
 
 		tabData++;
 
-		Common::U32String tabText(*tabData++);
+		Common::U32String tabText(_(*tabData++));
 
 		_tab->addTab(tabName, "HelpContentDialog");
 
diff --git a/gui/widgets/richtext.cpp b/gui/widgets/richtext.cpp
index c942216eabe..575540f9c09 100644
--- a/gui/widgets/richtext.cpp
+++ b/gui/widgets/richtext.cpp
@@ -197,13 +197,8 @@ void RichTextWidget::createWidget() {
 
 	const int fontHeight = g_gui.xmlEval()->getVar("Globals.Font.Height", 25);
 
-#if 1
-	Graphics::MacFont macFont(Graphics::kMacFontNewYork, fontHeight, Graphics::kMacFontRegular);
-	(void)ttfFamily;
-#else
 	int newId = wm->_fontMan->registerTTFFont(ttfFamily);
 	Graphics::MacFont macFont(newId, fontHeight, Graphics::kMacFontRegular);
-#endif
 
 	_txtWnd = new Graphics::MacText(Common::U32String(), wm, &macFont, fg, bg, _textWidth, Graphics::kTextAlignLeft);
 


Commit: 071dba2dc4b74b81be86e90c3364ddd078094f18
    https://github.com/scummvm/scummvm/commit/071dba2dc4b74b81be86e90c3364ddd078094f18
Author: Łukasz Lenkiewicz (lukasz at lenkiewicz.xyz)
Date: 2025-04-25T19:53:22+08:00

Commit Message:
GRAPHICS: Restore missing condition for default unicode font

Changed paths:
    graphics/macgui/macfontmanager.cpp


diff --git a/graphics/macgui/macfontmanager.cpp b/graphics/macgui/macfontmanager.cpp
index 00ad1712f6f..997fb9de297 100644
--- a/graphics/macgui/macfontmanager.cpp
+++ b/graphics/macgui/macfontmanager.cpp
@@ -568,7 +568,8 @@ const Font *MacFontManager::getFont(MacFont *macFont) {
 		int newSlant = macFont->getSlant();
 		int familyId = getFamilyId(newId, newSlant);
 
-		if ((_mode & kWMModeUnicode) && (_mode & kWMModeForceMacFontsInWin95)) {
+		if ((_mode & kWMModeUnicode) && 
+			(((!_fontInfo.contains(familyId))) || (_mode & kWMModeForceMacFontsInWin95))) {
 			if (macFont->getSize() <= 0) {
 				debugC(1, kDebugLevelMacGUI, "MacFontManager::getFont() - Font size <= 0!");
 			}




More information about the Scummvm-git-logs mailing list