diff --git a/Fb2File/Fb2File.cpp b/Fb2File/Fb2File.cpp
index 8effbeafb4..e6bc2843a5 100644
--- a/Fb2File/Fb2File.cpp
+++ b/Fb2File/Fb2File.cpp
@@ -635,6 +635,9 @@ public:
// Читает table
bool readTable()
{
+ // Стиль таблицы
+ m_oBuilder += L"";
+ m_oBuilder += L"";
int nDeath = m_oLightReader.GetDepth();
if(!m_oLightReader.ReadNextSiblingNode(nDeath))
@@ -647,28 +650,36 @@ public:
{
if(m_oLightReader.GetName() != L"tr")
return false;
- // m_sBody += L"tr\n";
+ m_oBuilder += L"";
int nTrDeath = m_oLightReader.GetDepth();
while(m_oLightReader.ReadNextSiblingNode(nTrDeath))
{
+ m_oBuilder += L"";
+
// Читаем th (любое)
if(m_oLightReader.GetName() == L"th")
{
- // m_sBody += L"th\n";
- if(!readP(L"", m_oBuilder))
+ m_oBuilder += L"";
+ if(!readP(L"", m_oBuilder))
return false;
}
// Читаем td (любое)
else if(m_oLightReader.GetName() == L"td")
{
- // m_sBody += L"td\n";
+ m_oBuilder += L"";
if(!readP(L"", m_oBuilder))
return false;
}
else
return false;
+
+ m_oBuilder += L"";
}
+ m_oBuilder += L"";
} while(m_oLightReader.ReadNextSiblingNode(nDeath));
+ m_oBuilder += L"";
+ // Пустая строка после таблицы
+ m_oBuilder += L"";
return true;
}
@@ -679,13 +690,14 @@ public:
int nADeath = m_oLightReader.GetDepth();
while(m_oLightReader.ReadNextSiblingNode(nADeath))
{
- m_oBuilder += L"";
- m_oBuilder += L"";
std::wstring sAnName = m_oLightReader.GetName();
if(sAnName == L"p")
{
+ m_oBuilder += L"";
+ m_oBuilder += L"";
if(!readP(L"", m_oBuilder))
return false;
+ m_oBuilder += L"";
}
else if(sAnName == L"poem")
{
@@ -699,12 +711,14 @@ public:
}
else if(sAnName == L"subtitle")
{
+ m_oBuilder += L"";
m_oBuilder += L"";
if(!readP(L"", m_oBuilder))
return false;
+ m_oBuilder += L"";
}
else if(sAnName == L"empty-line")
- m_oBuilder += L"";
+ m_oBuilder += L"";
else if(sAnName == L"table")
{
if(!readTable())
@@ -712,7 +726,6 @@ public:
}
else
return false;
- m_oBuilder += L"";
}
return true;
}
@@ -827,10 +840,8 @@ public:
m_oBuilder += L"";
else if(sName == L"table")
{
- m_oBuilder += L"";
if(!readTable())
return false;
- m_oBuilder += L"";
}
else
return false;
@@ -1131,7 +1142,6 @@ public:
// Читаем history (ноль или один)
if(sName == L"history")
{
- // Содержит форматированный текст - НЕ РЕАЛИЗОВАНО
if(m_oDocumentInfo.m_pHistory)
return false;
m_oDocumentInfo.m_pHistory = new std::wstring[1];
@@ -1139,7 +1149,7 @@ public:
int nDepth = m_oLightReader.GetDepth();
while(m_oLightReader.ReadNextSiblingNode(nDepth))
{
- *m_oDocumentInfo.m_pHistory += content();
+ // *m_oDocumentInfo.m_pHistory += content();
}
}
else if(sName == L"publish-info")
diff --git a/Fb2File/examples/1-posledneye-zhelaniye.fb2 b/Fb2File/examples/1-posledneye-zhelaniye.fb2
index 69278fe9c5..ee239faea7 100644
--- a/Fb2File/examples/1-posledneye-zhelaniye.fb2
+++ b/Fb2File/examples/1-posledneye-zhelaniye.fb2
@@ -71,6 +71,29 @@
Глас рассудка I
+
+
+ | заг1 |
+ заг2 |
+ заг1 |
+ заг4 |
+ заг1 |
+
+
+ | текс11 |
+ текс12 |
+ текс11 |
+ текс14 |
+ текс11 |
+
+
+ | текс21 |
+ текс22 |
+ текс21 |
+ текс24 |
+ текс21 |
+
+
Она пришла под утро.
Вошла осторожно, тихо, бесшумно ступая, плывя по комнате, словно призрак, привидение, а единственным звуком, выдававшим ее движение, был шорох накидки, прикасавшейся к голому телу. Однако именно этот исчезающе тихий, едва уловимый шелест разбудил ведьмака, а может, только вырвал из полусна, в котором он мерно колыхался, словно погруженный в бездонную топь, висящий между дном и поверхностью спокойного моря, среди легонько извивающихся нитей водорослей.
Он не пошевелился, даже не дрогнул. Девушка подпорхнула ближе, сбросила накидку, медленно, нерешительно оперлась коленом о край ложа. Он наблюдал за ней из-под опущенных ресниц, не выдавая себя. Девушка осторожно поднялась на постель, легла на него, обхватила бедрами. Опираясь на напряженные руки, скользнула по его лицу волосами. Волосы пахли ромашкой. Решительно и как бы нетерпеливо наклонилась, коснулась сосочком его века, щеки, губ. Он улыбнулся, медленно, осторожно, нежно взял ее руки в свои. Она выпрямилась, ускользая от его пальцев, лучистая, подсвеченная и от этого света нечеткая в туманном отблеске зари. Он пошевелился, но она решительным нажимом обеих рук остановила его и легкими, но настойчивыми движениями бедер добилась ответа.
diff --git a/Fb2File/template/word/styles.xml b/Fb2File/template/word/styles.xml
index 8f7475c35b..940887e3c0 100644
--- a/Fb2File/template/word/styles.xml
+++ b/Fb2File/template/word/styles.xml
@@ -11518,4 +11518,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Fb2File/test/main.cpp b/Fb2File/test/main.cpp
index bdc1703a0c..ee66a636c0 100644
--- a/Fb2File/test/main.cpp
+++ b/Fb2File/test/main.cpp
@@ -10,7 +10,7 @@ int main()
oFile.SetTmpDirectory(NSFile::GetProcessDirectory() + L"/tmp");
// файл, который открываем
- std::wstring sFile = NSFile::GetProcessDirectory() + L"/../../../examples/6-bashnya-lastochki.fb2";
+ std::wstring sFile = NSFile::GetProcessDirectory() + L"/../../../examples/1-posledneye-zhelaniye.fb2";
// директория, где будем создавать docx
std::wstring sOutputDirectory = NSFile::GetProcessDirectory() + L"/res";