#include "font.h"
#include "font_config.h"
#include "util.h"
+#include <dcp/filesystem.h>
#include <fontconfig/fontconfig.h>
#include <boost/filesystem.hpp>
#include <boost/optional.hpp>
{
for (auto file: _temp_files) {
boost::system::error_code ec;
- boost::filesystem::remove(file, ec);
+ dcp::filesystem::remove(file, ec);
}
}
string
FontConfig::make_font_available(shared_ptr<dcpomatic::Font> font)
{
- auto existing = _available_fonts.find(font->id());
+ DCPOMATIC_ASSERT(font);
+
+ auto existing = _available_fonts.find(font->content());
if (existing != _available_fonts.end()) {
return existing->second;
}
DCPOMATIC_ASSERT(font_name);
- _available_fonts[font->id()] = *font_name;
+ /* We need to use the font object as the key, as we may be passed the same shared_ptr to a modified
+ * Font object in the future and in that case we need to load the new font.
+ */
+ _available_fonts[font->content()] = *font_name;
FcConfigBuildFonts(_config);
return *font_name;