Ask fontconfig to scan the system for fonts requested by text subtitle files (#2264).
[dcpomatic.git] / src / lib / string_text_file_content.cc
index 3750b0a5026a70db90b54dfdfe67ea2465fe6a62..eea9362bbc384369b4fc05e0d00f4040724d500b 100644 (file)
 */
 
 
-#include "string_text_file_content.h"
-#include "util.h"
-#include "string_text_file.h"
 #include "film.h"
 #include "font.h"
+#include "font_config.h"
+#include "string_text_file.h"
+#include "string_text_file_content.h"
 #include "text_content.h"
+#include "util.h"
 #include <dcp/raw_convert.h>
+#include <fontconfig/fontconfig.h>
 #include <libxml++/libxml++.h>
 #include <iostream>
 
@@ -76,10 +78,12 @@ StringTextFileContent::examine (shared_ptr<const Film> film, shared_ptr<Job> job
        }
 
        for (auto name: names) {
-               /* Make a font for each family name that somebody might later
-                * ask about.
-                */
-               only_text()->add_font(make_shared<Font>(name));
+               auto path = FontConfig::instance()->system_font_with_name(name);
+               if (path) {
+                       only_text()->add_font(make_shared<Font>(name, *path));
+               } else {
+                       only_text()->add_font(make_shared<Font>(name));
+               }
        }
 
        boost::mutex::scoped_lock lm (_mutex);