- std::string xml_as_string () const;
- void write (boost::filesystem::path path) const;
- void resolve_fonts (std::list<boost::shared_ptr<Asset> > assets);
- void add_font_assets (std::list<boost::shared_ptr<Asset> >& assets);
+ /** Write this content to an XML file with its fonts alongside */
+ void write (boost::filesystem::path path) const override;
+
+ void resolve_fonts (std::vector<std::shared_ptr<Asset>> assets);
+ void set_font_file (std::string load_id, boost::filesystem::path file);
+ std::vector<std::shared_ptr<Asset>> font_assets();
+ std::vector<std::shared_ptr<const Asset>> font_assets() const;
+
+ /** @return the <LoadFont> IDs of fonts for which we have not (yet) found a font asset.
+ * This could be because resolve_fonts() has not yet been called, or because there is
+ * a missing font file.
+ */
+ std::vector<std::string> unresolved_fonts() const;