summaryrefslogtreecommitdiff
path: root/sw/source/filter/ww8/wrtww8.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/filter/ww8/wrtww8.cxx')
-rw-r--r--sw/source/filter/ww8/wrtww8.cxx37
1 files changed, 34 insertions, 3 deletions
diff --git a/sw/source/filter/ww8/wrtww8.cxx b/sw/source/filter/ww8/wrtww8.cxx
index 49e5b8c82709..b343901f2439 100644
--- a/sw/source/filter/ww8/wrtww8.cxx
+++ b/sw/source/filter/ww8/wrtww8.cxx
@@ -2166,6 +2166,8 @@ void WW8AttributeOutput::TableDefinition( ww8::WW8TableNodeInfoInner::Pointer_t
pTableTextNodeInfoInner->getTableBoxesOfRow();
// number of cell written
sal_uInt32 nBoxes = pTableBoxes->size();
+ if (nBoxes > ww8::MAXTABLECELLS)
+ nBoxes = ww8::MAXTABLECELLS;
// sprm header
m_rWW8Export.InsUInt16( NS_sprm::LN_TDefTable );
@@ -3383,7 +3385,7 @@ sal_uLong SwWW8Writer::Write( SwPaM& rPaM, SfxMedium& rMed,
MSWordExportBase::MSWordExportBase( SwDoc *pDocument, SwPaM *pCurrentPam, SwPaM *pOriginalPam )
: aMainStg(sMainStream), pISet(0), pUsedNumTbl(0), mpTopNodeOfHdFtPage(0),
- pBmpPal(0), pKeyMap(0), pOLEExp(0), pOCXExp(0), pOleMap(0),
+ pBmpPal(0), pOLEExp(0), pOCXExp(0), pOleMap(0),
mpTableInfo(new ww8::WW8TableInfo()), nUniqueList(0),
mnHdFtIndex(0), pAktPageDesc(0), pPapPlc(0), pChpPlc(0), pChpIter(0),
pStyles( NULL ),
@@ -3399,8 +3401,6 @@ MSWordExportBase::MSWordExportBase( SwDoc *pDocument, SwPaM *pCurrentPam, SwPaM
MSWordExportBase::~MSWordExportBase()
{
delete pBmpPal;
- if (pKeyMap)
- delete[] (NfKeywordTable*)pKeyMap;
delete pOLEExp;
delete pOCXExp;
delete pOleMap;
@@ -3884,4 +3884,35 @@ void MSWordExportBase::OutputEndNode( const SwEndNode &rNode )
#endif
}
+const NfKeywordTable & MSWordExportBase::GetNfKeywordTable()
+{
+ if (pKeyMap.get() == NULL)
+ {
+ pKeyMap.reset(new NfKeywordTable);
+ NfKeywordTable & rKeywordTable = *pKeyMap;
+ rKeywordTable[NF_KEY_D] = ::rtl::OUString::createFromAscii("d");
+ rKeywordTable[NF_KEY_DD] = ::rtl::OUString::createFromAscii("dd");
+ rKeywordTable[NF_KEY_DDD] = ::rtl::OUString::createFromAscii("ddd");
+ rKeywordTable[NF_KEY_DDDD] = ::rtl::OUString::createFromAscii("dddd");
+ rKeywordTable[NF_KEY_M] = ::rtl::OUString::createFromAscii("M");
+ rKeywordTable[NF_KEY_MM] = ::rtl::OUString::createFromAscii("MM");
+ rKeywordTable[NF_KEY_MMM] = ::rtl::OUString::createFromAscii("MMM");
+ rKeywordTable[NF_KEY_MMMM] = ::rtl::OUString::createFromAscii("MMMM");
+ rKeywordTable[NF_KEY_NN] = ::rtl::OUString::createFromAscii("ddd");
+ rKeywordTable[NF_KEY_NNN] = ::rtl::OUString::createFromAscii("dddd");
+ rKeywordTable[NF_KEY_NNNN] = ::rtl::OUString::createFromAscii("dddd");
+ rKeywordTable[NF_KEY_YY] = ::rtl::OUString::createFromAscii("yy");
+ rKeywordTable[NF_KEY_YYYY] = ::rtl::OUString::createFromAscii("yyyy");
+ rKeywordTable[NF_KEY_H] = ::rtl::OUString::createFromAscii("H");
+ rKeywordTable[NF_KEY_HH] = ::rtl::OUString::createFromAscii("HH");
+ rKeywordTable[NF_KEY_MI] = ::rtl::OUString::createFromAscii("m");
+ rKeywordTable[NF_KEY_MMI] = ::rtl::OUString::createFromAscii("mm");
+ rKeywordTable[NF_KEY_S] = ::rtl::OUString::createFromAscii("s");
+ rKeywordTable[NF_KEY_SS] = ::rtl::OUString::createFromAscii("ss");
+ rKeywordTable[NF_KEY_AMPM] = ::rtl::OUString::createFromAscii("AM/PM");
+ }
+
+ return *pKeyMap;
+}
+
/* vi:set tabstop=4 shiftwidth=4 expandtab: */