summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/emu/rendfont.cpp20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/emu/rendfont.cpp b/src/emu/rendfont.cpp
index bcd1ca35d78..24272eb7ef1 100644
--- a/src/emu/rendfont.cpp
+++ b/src/emu/rendfont.cpp
@@ -132,7 +132,25 @@ render_font::render_font(render_manager &manager, const char *filename)
// if this is an OSD font, we're done
if (filename != nullptr)
- {
+ {
+ // attempt to open the cached version of the font
+ {
+ emu_file cachefile(manager.machine().options().font_path(), OPEN_FLAG_READ);
+ osd_file::error filerr = cachefile.open(filename);
+ if (filerr == osd_file::error::NONE)
+ {
+ // if we have a cached version, load it
+ bool result = load_cached(cachefile, 0);
+
+ // if that worked, we're done
+ if (result)
+ {
+ render_font_command_glyph();
+ return;
+ }
+ }
+ }
+
m_osdfont = manager.machine().osd().font_alloc();
if (m_osdfont)
{