diff --git a/HtmlFile2/htmlfile2.cpp b/HtmlFile2/htmlfile2.cpp index 9c5ebb3b9d..9ca257a21a 100644 --- a/HtmlFile2/htmlfile2.cpp +++ b/HtmlFile2/htmlfile2.cpp @@ -80,6 +80,8 @@ private: NSStringUtils::CStringBuilder m_oDocXml; // document.xml NSStringUtils::CStringBuilder m_oNoteXml; // footnotes.xml + std::vector m_sStyles; // Стили + public: CHtmlFile2_Private() { @@ -307,14 +309,14 @@ public: // Стили по умолчанию // Нормальный стиль, от которого базируются - m_oStylesXml += L""; + // m_oStylesXml += L""; // Маркированный список m_oStylesXml += L""; // Заголовки - m_oStylesXml += L""; + // m_oStylesXml += L""; // Текст: p, div - m_oStylesXml += L""; - m_oStylesXml += L""; + // m_oStylesXml += L""; + // m_oStylesXml += L""; // Ссылка m_oStylesXml += L""; // Таблица @@ -506,8 +508,15 @@ private: NSCSS::CCompiledStyle oStyle = m_oStylesCalculator.GetCompiledStyle(oChild, sSelectors); NSCSS::CDocumentStyle oXmlStyle; oXmlStyle.WriteStyle(oStyle); - m_oStylesXml += oXmlStyle.GetStyle(); - return oXmlStyle.GetId(); + + std::wstring sRes = oXmlStyle.GetId(); + if(std::find(m_sStyles.begin(), m_sStyles.end(), sRes) == m_sStyles.end()) + { + m_sStyles.push_back(sRes); + m_oStylesXml += oXmlStyle.GetStyle(); + } + + return sRes; } void readHead()