diff --git a/aegisub/src/ass_attachment.cpp b/aegisub/src/ass_attachment.cpp index 1ae4535df..cd500ed43 100644 --- a/aegisub/src/ass_attachment.cpp +++ b/aegisub/src/ass_attachment.cpp @@ -25,8 +25,9 @@ #include #include -AssAttachment::AssAttachment(std::string const& name, AssEntryGroup group) -: filename(name) +AssAttachment::AssAttachment(std::string const& header, AssEntryGroup group) +: entry_data(header + "\r\n") +, filename(header.substr(10)) , group(group) { } @@ -35,7 +36,7 @@ AssAttachment::AssAttachment(agi::fs::path const& name, AssEntryGroup group) : filename(name.filename().string()) , group(group) { - // SSA stuffs some information about the font in the embeded filename, but + // SSA stuffs some information about the font in the embedded filename, but // nothing else uses it so just do the absolute minimum (0 is the encoding) if (boost::iends_with(filename.get(), ".ttf")) filename = filename.get().substr(0, filename.get().size() - 4) + "_0" + filename.get().substr(filename.get().size() - 4); diff --git a/aegisub/src/ass_attachment.h b/aegisub/src/ass_attachment.h index ddfe4a62e..aaba6d2cc 100644 --- a/aegisub/src/ass_attachment.h +++ b/aegisub/src/ass_attachment.h @@ -50,6 +50,6 @@ public: AssEntryGroup Group() const override { return group; } AssEntry *Clone() const override; - AssAttachment(std::string const& name, AssEntryGroup group); + AssAttachment(std::string const& header, AssEntryGroup group); AssAttachment(agi::fs::path const& name, AssEntryGroup group); }; diff --git a/aegisub/src/ass_parser.cpp b/aegisub/src/ass_parser.cpp index 16d18f411..2663b63a9 100644 --- a/aegisub/src/ass_parser.cpp +++ b/aegisub/src/ass_parser.cpp @@ -107,12 +107,12 @@ void AssParser::ParseStyleLine(std::string const& data) { void AssParser::ParseFontLine(std::string const& data) { if (boost::starts_with(data, "fontname: ")) - attach.reset(new AssAttachment(data.substr(10), AssEntryGroup::FONT)); + attach.reset(new AssAttachment(data, AssEntryGroup::FONT)); } void AssParser::ParseGraphicsLine(std::string const& data) { if (boost::starts_with(data, "filename: ")) - attach.reset(new AssAttachment(data.substr(10), AssEntryGroup::GRAPHIC)); + attach.reset(new AssAttachment(data, AssEntryGroup::GRAPHIC)); } void AssParser::AddLine(std::string const& data) {