[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