diff --git a/Fb2File/Fb2File.cpp b/Fb2File/Fb2File.cpp index c030574cca..a9ca37da37 100644 --- a/Fb2File/Fb2File.cpp +++ b/Fb2File/Fb2File.cpp @@ -725,7 +725,7 @@ public: } } } - else if(sName == L"p") + else if(sName == L"p" || sName == L"subtitle") { // Стиль section-p oFootnotes += L""; @@ -734,6 +734,40 @@ public: readP(L"", oFootnotes); oFootnotes += L""; } + else if(sName == L"poem") + { + int nPDepth = m_oLightReader.GetDepth(); + while(m_oLightReader.ReadNextSiblingNode(nPDepth)) + { + std::wstring sPName = m_oLightReader.GetName(); + // Читаем stanza (один или более) + if(sPName == L"stanza") + { + int nSDeath = m_oLightReader.GetDepth(); + while(m_oLightReader.ReadNextSiblingNode(nSDeath)) + { + // Читаем v (один или более) + if(m_oLightReader.GetName() == L"v") + { + oFootnotes += L""; + oFootnotes += L""; + oFootnotes += L""; + readP(L"", oFootnotes); + oFootnotes += L""; + } + } + } + // Читаем text-author (любое) + else if(sPName == L"text-author") + { + oFootnotes += L""; + oFootnotes += L""; + oFootnotes += L""; + readP(L"", oFootnotes); + oFootnotes += L""; + } + } + } } oFootnotes += L""; } diff --git a/Fb2File/template/template.docx b/Fb2File/template/template.docx index 64a7e9a3aa..770d45153d 100644 Binary files a/Fb2File/template/template.docx and b/Fb2File/template/template.docx differ