Commit d8b81ebd authored by Elen.Subbotina's avatar Elen.Subbotina Committed by Alexander Trofimov

RtfFile исправлена работа с азиатским письмом, сделаны языки текста (win)

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@62414 954022d7-b5bf-4e40-9824-e11837661b57
parent 04695896
......@@ -359,6 +359,7 @@ public:
{
if( _T("plain") == sCommand )
oReader.m_oState->m_oCharProp.SetDefaultRtf();
COMMAND_RTF_INT( _T("animtext"), oReader.m_oState->m_oCharProp.m_nAnimated, sCommand, hasParameter, parameter)
COMMAND_RTF_INT( _T("uc"), oReader.m_oState->m_nUD, sCommand, hasParameter, parameter)
COMMAND_RTF_BOOL( _T("b"), oReader.m_oState->m_oCharProp.m_bBold, sCommand, hasParameter, parameter)
......@@ -379,6 +380,7 @@ public:
COMMAND_RTF_BOOL( _T("i"), oReader.m_oState->m_oCharProp.m_bItalic, sCommand, hasParameter, parameter)
COMMAND_RTF_BOOL( _T("impr"), oReader.m_oState->m_oCharProp.m_bImprint, sCommand, hasParameter, parameter)
COMMAND_RTF_INT( _T("kerning"), oReader.m_oState->m_oCharProp.m_nKerning, sCommand, hasParameter, parameter)
else if( _T("ltrch") == sCommand )
{
if( false == hasParameter || 0 != parameter )
......@@ -386,15 +388,18 @@ public:
else
oReader.m_oState->m_oCharProp.m_bRightToLeft = 1;
}
COMMAND_RTF_BOOL( _T("cs"), oReader.m_oState->m_oCharProp.m_nComplexScript, sCommand, hasParameter, parameter)
COMMAND_RTF_BOOL( _T("outl"), oReader.m_oState->m_oCharProp.m_bOutline, sCommand, hasParameter, parameter)
COMMAND_RTF_BOOL( _T("scaps"), oReader.m_oState->m_oCharProp.m_bScaps, sCommand, hasParameter, parameter)
COMMAND_RTF_BOOL( _T("shad"), oReader.m_oState->m_oCharProp.m_bShadow, sCommand, hasParameter, parameter)
COMMAND_RTF_BOOL( _T("strike"), oReader.m_oState->m_oCharProp.m_bStrike, sCommand, hasParameter, parameter)
COMMAND_RTF_BOOL( _T("striked"), oReader.m_oState->m_oCharProp.m_nStriked, sCommand, hasParameter, parameter)
COMMAND_RTF_BOOL( _T("sub"), oReader.m_oState->m_oCharProp.m_bSub, sCommand, hasParameter, parameter)
COMMAND_RTF_BOOL( _T("super"), oReader.m_oState->m_oCharProp.m_bSuper, sCommand, hasParameter, parameter)
COMMAND_RTF_INT( _T("highlight"), oReader.m_oState->m_oCharProp.m_nHightlited, sCommand, hasParameter, parameter)
COMMAND_RTF_BOOL( _T("rtlch"), oReader.m_oState->m_oCharProp.m_bRightToLeft, sCommand, hasParameter, parameter)
COMMAND_RTF_INT( _T("lang"), oReader.m_oState->m_oCharProp.m_nLanguage, sCommand, hasParameter, parameter)
COMMAND_RTF_BOOL( _T("cs"), oReader.m_oState->m_oCharProp.m_nComplexScript, sCommand, hasParameter, parameter)
COMMAND_RTF_BOOL( _T("outl"), oReader.m_oState->m_oCharProp.m_bOutline, sCommand, hasParameter, parameter)
COMMAND_RTF_BOOL( _T("scaps"), oReader.m_oState->m_oCharProp.m_bScaps, sCommand, hasParameter, parameter)
COMMAND_RTF_BOOL( _T("shad"), oReader.m_oState->m_oCharProp.m_bShadow, sCommand, hasParameter, parameter)
COMMAND_RTF_BOOL( _T("strike"), oReader.m_oState->m_oCharProp.m_bStrike, sCommand, hasParameter, parameter)
COMMAND_RTF_BOOL( _T("striked"), oReader.m_oState->m_oCharProp.m_nStriked, sCommand, hasParameter, parameter)
COMMAND_RTF_BOOL( _T("sub"), oReader.m_oState->m_oCharProp.m_bSub, sCommand, hasParameter, parameter)
COMMAND_RTF_BOOL( _T("super"), oReader.m_oState->m_oCharProp.m_bSuper, sCommand, hasParameter, parameter)
COMMAND_RTF_INT( _T("highlight"), oReader.m_oState->m_oCharProp.m_nHightlited, sCommand, hasParameter, parameter)
else if( _T("cf") == sCommand )
{
if( true == hasParameter )
......@@ -413,16 +418,16 @@ public:
COMMAND_RTF_INT( _T("ulc"), oReader.m_oState->m_oCharProp.m_nUnderlineColor, sCommand, hasParameter, parameter)
COMMAND_RTF_INT( _T("uld"), oReader.m_oState->m_oCharProp.m_eUnderStyle, sCommand, true, RtfCharProperty::uls_Dotted)
COMMAND_RTF_INT( _T("uldash"), oReader.m_oState->m_oCharProp.m_eUnderStyle, sCommand, true, RtfCharProperty::uls_Dashed)
COMMAND_RTF_INT( _T("uld"), oReader.m_oState->m_oCharProp.m_eUnderStyle, sCommand, true, RtfCharProperty::uls_Dotted)
COMMAND_RTF_INT( _T("uldash"), oReader.m_oState->m_oCharProp.m_eUnderStyle, sCommand, true, RtfCharProperty::uls_Dashed)
COMMAND_RTF_INT( _T("uldashd"), oReader.m_oState->m_oCharProp.m_eUnderStyle, sCommand, true, RtfCharProperty::uls_Dash_dotted)
COMMAND_RTF_INT( _T("uldashdd"), oReader.m_oState->m_oCharProp.m_eUnderStyle, sCommand, true, RtfCharProperty::uls_Dash_dot_dotted)
COMMAND_RTF_INT( _T("uldb"), oReader.m_oState->m_oCharProp.m_eUnderStyle, sCommand, true, RtfCharProperty::uls_Double)
COMMAND_RTF_INT( _T("uldb"), oReader.m_oState->m_oCharProp.m_eUnderStyle, sCommand, true, RtfCharProperty::uls_Double)
COMMAND_RTF_INT( _T("ulhwave"), oReader.m_oState->m_oCharProp.m_eUnderStyle, sCommand, true, RtfCharProperty::uls_Heavy_wave)
COMMAND_RTF_INT( _T("ulldash"), oReader.m_oState->m_oCharProp.m_eUnderStyle, sCommand, true, RtfCharProperty::uls_Long_dashe)
COMMAND_RTF_INT( _T("ulnone"), oReader.m_oState->m_oCharProp.m_eUnderStyle, sCommand, true, RtfCharProperty::uls_none)
COMMAND_RTF_INT( _T("ulth"), oReader.m_oState->m_oCharProp.m_eUnderStyle, sCommand, true, RtfCharProperty::uls_Thick)
COMMAND_RTF_INT( _T("ulthd"), oReader.m_oState->m_oCharProp.m_eUnderStyle, sCommand, true, RtfCharProperty::uls_Thick_dotted)
COMMAND_RTF_INT( _T("ulth"), oReader.m_oState->m_oCharProp.m_eUnderStyle, sCommand, true, RtfCharProperty::uls_Thick)
COMMAND_RTF_INT( _T("ulthd"), oReader.m_oState->m_oCharProp.m_eUnderStyle, sCommand, true, RtfCharProperty::uls_Thick_dotted)
COMMAND_RTF_INT( _T("ulthdash"), oReader.m_oState->m_oCharProp.m_eUnderStyle, sCommand, true, RtfCharProperty::uls_Thick_dashed)
COMMAND_RTF_INT( _T("ulthdashd"), oReader.m_oState->m_oCharProp.m_eUnderStyle, sCommand, true, RtfCharProperty::uls_Thick_dash_dotted)
COMMAND_RTF_INT( _T("ulthdashdd"), oReader.m_oState->m_oCharProp.m_eUnderStyle, sCommand, true, RtfCharProperty::uls_Thick_dash_dot_dotted)
......@@ -2859,7 +2864,6 @@ class RtfDocumentCommand
public:
static bool ExecuteCommand(RtfDocument& oDocument, RtfReader& oReader, CString sCommand, bool hasParameter, int parameter)
{
if( _T("ansi") == sCommand )
oDocument.m_oProperty.m_eCodePage = RtfDocumentProperty::cp_ansi;
else if( _T("mac") == sCommand )
......@@ -2885,12 +2889,18 @@ public:
oReader.m_nDefFont = parameter;
}
}
COMMAND_RTF_INT( _T("themelang"), oDocument.m_oProperty.m_nThemelang, sCommand, hasParameter, parameter )
COMMAND_RTF_INT( _T("themelangfe"), oDocument.m_oProperty.m_nThemelangfe, sCommand, hasParameter, parameter )
COMMAND_RTF_INT( _T("themelangcs"), oDocument.m_oProperty.m_nThemelangcs, sCommand, hasParameter, parameter )
COMMAND_RTF_BOOL( _T("rtlgutter"), oDocument.m_oProperty.m_bRtlGutter, sCommand, hasParameter, parameter)
COMMAND_RTF_BOOL( _T("rtldoc"), oDocument.m_oProperty.m_bRtl, sCommand, hasParameter, parameter)
COMMAND_RTF_BOOL( _T("hyphcaps"), oDocument.m_oProperty.m_bHypCaps, sCommand, hasParameter, parameter )
COMMAND_RTF_BOOL( _T("hyphauto"), oDocument.m_oProperty.m_bAutoHyp, sCommand, hasParameter, parameter )
COMMAND_RTF_INT( _T("hyphconsec"), oDocument.m_oProperty.m_nMaxHypen, sCommand, hasParameter, parameter )
COMMAND_RTF_INT( _T("hyphhotz"), oDocument.m_oProperty.m_nHyphenationRight, sCommand, hasParameter, parameter )
COMMAND_RTF_INT( _T("deftab"), oDocument.m_oProperty.m_nTabWidth, sCommand, hasParameter, parameter )
COMMAND_RTF_BOOL( _T("hyphcaps"), oDocument.m_oProperty.m_bHypCaps, sCommand, hasParameter, parameter )
COMMAND_RTF_BOOL( _T("hyphauto"), oDocument.m_oProperty.m_bAutoHyp, sCommand, hasParameter, parameter )
COMMAND_RTF_INT( _T("hyphconsec"), oDocument.m_oProperty.m_nMaxHypen, sCommand, hasParameter, parameter )
COMMAND_RTF_INT( _T("hyphhotz"), oDocument.m_oProperty.m_nHyphenationRight, sCommand, hasParameter, parameter )
COMMAND_RTF_INT( _T("deftab"), oDocument.m_oProperty.m_nTabWidth, sCommand, hasParameter, parameter )
//Page Borders
COMMAND_RTF_BOOL( _T("pgbrdrhead"), oDocument.m_oProperty.m_bDorderSurroundHeader, sCommand, hasParameter, parameter )
......
......@@ -41,7 +41,7 @@ public:
//todooo непонятка что будет если рестарт списка с не "0"
}
if (m_ooxLvlNum->m_oIsLgl.IsInit() )
oLevelProperty.m_nLegal = m_ooxLvlNum->m_oIsLgl->m_oVal.ToBool();
oLevelProperty.m_nLegal = m_ooxLvlNum->m_oIsLgl->m_oVal.ToBool() ? 1 : 0;
if (m_ooxLvlNum->m_oLvlText.IsInit() && m_ooxLvlNum->m_oLvlText->m_sVal.IsInit())
{
......
......@@ -785,16 +785,16 @@ bool OOXpPrReader::Parse( ReaderParameter oParam ,RtfParagraphProperty& oOutputP
oOutputProperty.m_bAutoHyphenation = 1;
}
if( m_ooxParaProps->m_oKeepLines.IsInit())
oOutputProperty.m_bKeep = m_ooxParaProps->m_oKeepLines->m_oVal.ToBool();
oOutputProperty.m_bKeep = m_ooxParaProps->m_oKeepLines->m_oVal.ToBool() ? 1 : 0;
if (m_ooxParaProps->m_oKeepNext.IsInit())
oOutputProperty.m_bKeepNext = m_ooxParaProps->m_oKeepNext->m_oVal.ToBool();
oOutputProperty.m_bKeepNext = m_ooxParaProps->m_oKeepNext->m_oVal.ToBool() ? 1 : 0;
if (m_ooxParaProps->m_oOutlineLvl.IsInit() && m_ooxParaProps->m_oOutlineLvl->m_oVal.IsInit())
oOutputProperty.m_nOutlinelevel = m_ooxParaProps->m_oOutlineLvl->m_oVal->GetValue();
if (m_ooxParaProps->m_oPageBreakBefore.IsInit())
oOutputProperty.m_bPageBB = m_ooxParaProps->m_oPageBreakBefore->m_oVal.ToBool();
oOutputProperty.m_bPageBB = m_ooxParaProps->m_oPageBreakBefore->m_oVal.ToBool() ? 1 : 0;
if( m_ooxParaProps->m_oJc.IsInit() && m_ooxParaProps->m_oJc->m_oVal.IsInit())
{
......@@ -844,10 +844,10 @@ bool OOXpPrReader::Parse( ReaderParameter oParam ,RtfParagraphProperty& oOutputP
oOutputProperty.m_nIndEnd = m_ooxParaProps->m_oInd->m_oEnd->ToTwips();
}
if (m_ooxParaProps->m_oAdjustRightInd.IsInit())
oOutputProperty.m_bIndRightAuto = m_ooxParaProps->m_oAdjustRightInd->m_oVal.ToBool();
oOutputProperty.m_bIndRightAuto = m_ooxParaProps->m_oAdjustRightInd->m_oVal.ToBool() ? 1 : 0;
if (m_ooxParaProps->m_oMirrorIndents.IsInit())
oOutputProperty.m_bIndMirror = m_ooxParaProps->m_oMirrorIndents->m_oVal.ToBool();
oOutputProperty.m_bIndMirror = m_ooxParaProps->m_oMirrorIndents->m_oVal.ToBool() ? 1 : 0;
if( m_ooxParaProps->m_oSpacing.IsInit())
{
......@@ -891,10 +891,10 @@ bool OOXpPrReader::Parse( ReaderParameter oParam ,RtfParagraphProperty& oOutputP
oOutputProperty.m_bSnapToGrid = m_ooxParaProps->m_oSnapToGrid->m_oVal.ToBool();
if (m_ooxParaProps->m_oContextualSpacing.IsInit())
oOutputProperty.m_bContextualSpacing = m_ooxParaProps->m_oContextualSpacing->m_oVal.ToBool();
oOutputProperty.m_bContextualSpacing = m_ooxParaProps->m_oContextualSpacing->m_oVal.ToBool() ? 1 : 0;
if (m_ooxParaProps->m_oBidi.IsInit())
oOutputProperty.m_bRtl = m_ooxParaProps->m_oBidi->m_oVal.ToBool();
oOutputProperty.m_bRtl = m_ooxParaProps->m_oBidi->m_oVal.ToBool() ? 1 : 0;
if( m_ooxParaProps->m_oWordWrap.IsInit() )
{
......@@ -1009,7 +1009,7 @@ bool OOXpPrReader::Parse( ReaderParameter oParam ,RtfParagraphProperty& oOutputP
}
if( m_ooxParaProps->m_oSuppressOverlap.IsInit())
oOutputProperty.m_bOverlap = m_ooxParaProps->m_oSuppressOverlap->m_oVal.ToBool();
oOutputProperty.m_bOverlap = m_ooxParaProps->m_oSuppressOverlap->m_oVal.ToBool() ? 1 : 0;
if( m_ooxParaProps->m_oTextDirection.IsInit() && m_ooxParaProps->m_oTextDirection->m_oVal.IsInit())
{
......@@ -1084,10 +1084,10 @@ bool OOXrPrReader::Parse( ReaderParameter oParam ,RtfCharProperty& oOutputProper
}
if (m_ooxRunProps->m_oBold.IsInit())
oOutputProperty.m_bBold = m_ooxRunProps->m_oBold->m_oVal.ToBool();
oOutputProperty.m_bBold = m_ooxRunProps->m_oBold->m_oVal.ToBool() ? 1 : 0;
if (m_ooxRunProps->m_oCaps.IsInit())
oOutputProperty.m_bCaps = m_ooxRunProps->m_oCaps->m_oVal.ToBool();
oOutputProperty.m_bCaps = m_ooxRunProps->m_oCaps->m_oVal.ToBool() ? 1 : 0;
if (m_ooxRunProps->m_oW.IsInit() && m_ooxRunProps->m_oW->m_oVal.IsInit())
oOutputProperty.m_nScalex = m_ooxRunProps->m_oW->m_oVal->GetValue();
......@@ -1102,7 +1102,7 @@ bool OOXrPrReader::Parse( ReaderParameter oParam ,RtfCharProperty& oOutputProper
}
if (m_ooxRunProps->m_oEmboss.IsInit())
oOutputProperty.m_bEmbo = m_ooxRunProps->m_oEmboss->m_oVal.ToBool();
oOutputProperty.m_bEmbo = m_ooxRunProps->m_oEmboss->m_oVal.ToBool() ? 1 : 0;
if (m_ooxRunProps->m_oSpacing.IsInit() && m_ooxRunProps->m_oSpacing->m_oVal.IsInit())
oOutputProperty.m_nCharacterSpacing = m_ooxRunProps->m_oSpacing->m_oVal->ToTwips();
......@@ -1137,34 +1137,34 @@ bool OOXrPrReader::Parse( ReaderParameter oParam ,RtfCharProperty& oOutputProper
oOutputProperty.m_nFontSize = 2 * m_ooxRunProps->m_oSz->m_oVal->ToPoints();
if (m_ooxRunProps->m_oItalic.IsInit())
oOutputProperty.m_bItalic = m_ooxRunProps->m_oItalic->m_oVal.ToBool();
oOutputProperty.m_bItalic = m_ooxRunProps->m_oItalic->m_oVal.ToBool() ? 1 : 0;
if (m_ooxRunProps->m_oImprint.IsInit())
oOutputProperty.m_bImprint = m_ooxRunProps->m_oImprint->m_oVal.ToBool();
oOutputProperty.m_bImprint = m_ooxRunProps->m_oImprint->m_oVal.ToBool() ? 1 : 0;
if (m_ooxRunProps->m_oKern.IsInit() && m_ooxRunProps->m_oKern->m_oVal.IsInit())
oOutputProperty.m_nKerning = m_ooxRunProps->m_oKern->m_oVal->ToTwips();
if (m_ooxRunProps->m_oRtL.IsInit())
oOutputProperty.m_bRightToLeft = m_ooxRunProps->m_oRtL->m_oVal.ToBool();
oOutputProperty.m_bRightToLeft = m_ooxRunProps->m_oRtL->m_oVal.ToBool() ? 1 : 0;
if (m_ooxRunProps->m_oCs.IsInit())
oOutputProperty.m_nComplexScript = m_ooxRunProps->m_oCs->m_oVal.ToBool();
oOutputProperty.m_nComplexScript = m_ooxRunProps->m_oCs->m_oVal.ToBool() ? 1 : 0;;
if (m_ooxRunProps->m_oOutline.IsInit())
oOutputProperty.m_bOutline = m_ooxRunProps->m_oOutline->m_oVal.ToBool();
oOutputProperty.m_bOutline = m_ooxRunProps->m_oOutline->m_oVal.ToBool() ? 1 : 0;
if (m_ooxRunProps->m_oSmallCaps.IsInit())
oOutputProperty.m_bScaps = m_ooxRunProps->m_oSmallCaps->m_oVal.ToBool();
oOutputProperty.m_bScaps = m_ooxRunProps->m_oSmallCaps->m_oVal.ToBool() ? 1 : 0;
if (m_ooxRunProps->m_oShadow.IsInit())
oOutputProperty.m_bShadow = m_ooxRunProps->m_oShadow->m_oVal.ToBool();
oOutputProperty.m_bShadow = m_ooxRunProps->m_oShadow->m_oVal.ToBool() ? 1 : 0;
if (m_ooxRunProps->m_oStrike.IsInit())
oOutputProperty.m_bStrike = m_ooxRunProps->m_oStrike->m_oVal.ToBool();
oOutputProperty.m_bStrike = m_ooxRunProps->m_oStrike->m_oVal.ToBool() ? 1 : 0;
if (m_ooxRunProps->m_oDStrike.IsInit())
oOutputProperty.m_nStriked = m_ooxRunProps->m_oDStrike->m_oVal.ToBool();
oOutputProperty.m_nStriked = m_ooxRunProps->m_oDStrike->m_oVal.ToBool() ? 1 : 0;
if( m_ooxRunProps->m_oVertAlign.IsInit() && m_ooxRunProps->m_oVertAlign->m_oVal.IsInit())
{
......@@ -1228,7 +1228,7 @@ bool OOXrPrReader::Parse( ReaderParameter oParam ,RtfCharProperty& oOutputProper
}
if(m_ooxRunProps->m_oShadow.IsInit())
{
oOutputProperty.m_poShading.m_nValue = m_ooxRunProps->m_oShadow->m_oVal.ToBool();
oOutputProperty.m_poShading.m_nValue = m_ooxRunProps->m_oShadow->m_oVal.ToBool() ? 1 : 0;
//OOXShadingReader oShadingReader(m_ooxRunProps->m_oShadow.GetPointer());
//oShadingReader.Parse( oParam, oOutputProperty.m_poShading );
}
......@@ -1336,7 +1336,7 @@ bool OOXSectionPropertyReader::Parse( ReaderParameter oParam , RtfSectionPropert
oOutput.SetDefaultOOX();
if (m_ooxSectionProperty->m_oBidi.IsInit())
oOutput.m_bBidi = m_ooxSectionProperty->m_oBidi->m_oVal.ToBool();
oOutput.m_bBidi = m_ooxSectionProperty->m_oBidi->m_oVal.ToBool() ? 1 : 0;
if(m_ooxSectionProperty->m_oPaperSrc.IsInit())
{
......@@ -1504,7 +1504,7 @@ bool OOXSectionPropertyReader::Parse( ReaderParameter oParam , RtfSectionPropert
oOutput.m_nFooterBottom = m_ooxSectionProperty->m_oPgMar->m_oFooter->ToTwips();
}
if (m_ooxSectionProperty->m_oTitlePg.IsInit())
oOutput.m_bTitlePage = m_ooxSectionProperty->m_oTitlePg->m_oVal.ToBool();
oOutput.m_bTitlePage = m_ooxSectionProperty->m_oTitlePg->m_oVal.ToBool() ? 1 : 0;
if (m_ooxSectionProperty->m_oPgNumType.IsInit())
{
......
......@@ -27,12 +27,12 @@ public:
}
if (m_ooxSettings->m_oDoNotHyphenateCaps.IsInit())
{//todooo проверить чтоб 1 и 0 было
oParam.oRtf->m_oProperty.m_bHypCaps = !m_ooxSettings->m_oDoNotHyphenateCaps->m_oVal.ToBool();
{
oParam.oRtf->m_oProperty.m_bHypCaps = !m_ooxSettings->m_oDoNotHyphenateCaps->m_oVal.ToBool() ? 1 : 0;
}
if (m_ooxSettings->m_oAutoHyphenation.IsInit() )
{
oParam.oRtf->m_oProperty.m_bAutoHyp = m_ooxSettings->m_oAutoHyphenation->m_oVal.ToBool();
oParam.oRtf->m_oProperty.m_bAutoHyp = m_ooxSettings->m_oAutoHyphenation->m_oVal.ToBool() ? 1 : 0;
}
if (m_ooxSettings->m_oConsecutiveHyphenLimit.IsInit() && m_ooxSettings->m_oConsecutiveHyphenLimit->m_oVal.IsInit())
{
......@@ -47,32 +47,32 @@ public:
oParam.oRtf->m_oProperty.m_nTabWidth = m_ooxSettings->m_oDefaultTabStop->m_oVal->ToTwips();//todooo
}
if (m_ooxSettings->m_oBordersDoNotSurroundHeader.IsInit())
{//todooo проверить чтоб 1 и 0 было
oParam.oRtf->m_oProperty.m_bDorderSurroundHeader = !m_ooxSettings->m_oBordersDoNotSurroundHeader->m_oVal.ToBool();
{
oParam.oRtf->m_oProperty.m_bDorderSurroundHeader = !m_ooxSettings->m_oBordersDoNotSurroundHeader->m_oVal.ToBool() ? 1 : 0;
}
if (m_ooxSettings->m_oBordersDoNotSurroundFooter.IsInit())
{//todooo проверить чтоб 1 и 0 было
oParam.oRtf->m_oProperty.m_bDorderSurroundFotter = !m_ooxSettings->m_oBordersDoNotSurroundFooter->m_oVal.ToBool();
{
oParam.oRtf->m_oProperty.m_bDorderSurroundFotter = !m_ooxSettings->m_oBordersDoNotSurroundFooter->m_oVal.ToBool() ? 1 : 0;
}
if (m_ooxSettings->m_oAlignBordersAndEdges.IsInit())
{
oParam.oRtf->m_oProperty.m_bAlignBordersAndEdges = m_ooxSettings->m_oAlignBordersAndEdges->m_oVal.ToBool();
oParam.oRtf->m_oProperty.m_bAlignBordersAndEdges = m_ooxSettings->m_oAlignBordersAndEdges->m_oVal.ToBool() ? 1 : 0;
}
if (m_ooxSettings->m_oGutterAtTop.IsInit())
{
oParam.oRtf->m_oProperty.m_bGutterAtTop = m_ooxSettings->m_oGutterAtTop->m_oVal.ToBool();
oParam.oRtf->m_oProperty.m_bGutterAtTop = m_ooxSettings->m_oGutterAtTop->m_oVal.ToBool() ? 1 : 0;
}
if (m_ooxSettings->m_oMirrorMargins.IsInit())
{
oParam.oRtf->m_oProperty.m_bSwitchMargins = m_ooxSettings->m_oMirrorMargins->m_oVal.ToBool();
oParam.oRtf->m_oProperty.m_bSwitchMargins = m_ooxSettings->m_oMirrorMargins->m_oVal.ToBool() ? 1 : 0;
}
if (m_ooxSettings->m_oEvenAndOddHeaders.IsInit())
{
oParam.oRtf->m_oProperty.m_bFacingPage = m_ooxSettings->m_oEvenAndOddHeaders->m_oVal.ToBool();
oParam.oRtf->m_oProperty.m_bFacingPage = m_ooxSettings->m_oEvenAndOddHeaders->m_oVal.ToBool() ? 1 : 0;
}
if (m_ooxSettings->m_oDisplayBackgroundShape.IsInit())
{
oParam.oRtf->m_oProperty.m_nDisplayBackground = m_ooxSettings->m_oDisplayBackgroundShape->m_oVal.ToBool();
oParam.oRtf->m_oProperty.m_nDisplayBackground = m_ooxSettings->m_oDisplayBackgroundShape->m_oVal.ToBool() ? 1 : 0;
}
if (m_ooxSettings->m_oCompat.IsInit())
{
......
......@@ -46,28 +46,28 @@ public:
oNewStyle->m_sName = m_ooxStyle->m_oName->m_sVal.get2();
if (m_ooxStyle->m_oHidden.IsInit())
oNewStyle->m_bHidden = m_ooxStyle->m_oHidden->m_oVal.ToBool();
oNewStyle->m_bHidden = m_ooxStyle->m_oHidden->m_oVal.ToBool() ? 1 : 0;
if (m_ooxStyle->m_oLocked.IsInit())
oNewStyle->m_bLocked = m_ooxStyle->m_oLocked->m_oVal.ToBool();
oNewStyle->m_bLocked = m_ooxStyle->m_oLocked->m_oVal.ToBool() ? 1 : 0;
if (m_ooxStyle->m_oSemiHidden.IsInit())
oNewStyle->m_nSemiHidden = m_ooxStyle->m_oSemiHidden->m_oVal.ToBool();
if (m_ooxStyle->m_oQFormat.IsInit())
oNewStyle->m_bQFormat = m_ooxStyle->m_oQFormat->m_oVal.ToBool();
oNewStyle->m_bQFormat = m_ooxStyle->m_oQFormat->m_oVal.ToBool() ? 1 : 0;
if (m_ooxStyle->m_oUnhideWhenUsed.IsInit())
oNewStyle->m_bUnhiddenWhenUse = m_ooxStyle->m_oUnhideWhenUsed->m_oVal.ToBool();
oNewStyle->m_bUnhiddenWhenUse = m_ooxStyle->m_oUnhideWhenUsed->m_oVal.ToBool() ? 1 : 0;
if (m_ooxStyle->m_oPersonal.IsInit())
oNewStyle->m_bPersonal = m_ooxStyle->m_oPersonal->m_oVal.ToBool();
oNewStyle->m_bPersonal = m_ooxStyle->m_oPersonal->m_oVal.ToBool() ? 1 : 0;
if (m_ooxStyle->m_oPersonalReply.IsInit())
oNewStyle->m_bReply = m_ooxStyle->m_oPersonalReply->m_oVal.ToBool();
oNewStyle->m_bReply = m_ooxStyle->m_oPersonalReply->m_oVal.ToBool() ? 1 : 0;
if (m_ooxStyle->m_oPersonalCompose.IsInit())
oNewStyle->m_bCompose = m_ooxStyle->m_oPersonalCompose->m_oVal.ToBool();
oNewStyle->m_bCompose = m_ooxStyle->m_oPersonalCompose->m_oVal.ToBool() ? 1 : 0;
if (m_ooxStyle->m_oUiPriority.IsInit())
oNewStyle->m_bCompose = m_ooxStyle->m_oUiPriority->m_oVal->GetValue();
......
......@@ -49,10 +49,10 @@ public:
oOutputProperty.m_bMergeVertical = 1;
}
if( m_ooxTableCellProps->m_oTcFitText.IsInit())
oOutputProperty.m_bFitText = m_ooxTableCellProps->m_oTcFitText->m_oVal.ToBool();
oOutputProperty.m_bFitText = m_ooxTableCellProps->m_oTcFitText->m_oVal.ToBool() ? 1 : 0;
if( m_ooxTableCellProps->m_oNoWrap.IsInit())
oOutputProperty.m_bNoWrap= m_ooxTableCellProps->m_oNoWrap->m_oVal.ToBool();
oOutputProperty.m_bNoWrap= m_ooxTableCellProps->m_oNoWrap->m_oVal.ToBool() ? 1 : 0;
if( m_ooxTableCellProps->m_oTcMar.IsInit() )
{
......@@ -85,7 +85,7 @@ public:
oOutputProperty.m_eWidthUnits = m_ooxTableCellProps->m_oTcW->m_oW->IsPercent() ? mu_Percent : mu_Twips;
}
if( m_ooxTableCellProps->m_oHideMark.IsInit())
oOutputProperty.m_bHideMark = m_ooxTableCellProps->m_oHideMark->m_oVal.ToBool();
oOutputProperty.m_bHideMark = m_ooxTableCellProps->m_oHideMark->m_oVal.ToBool() ? 1 : 0;
if( m_ooxTableCellProps->m_oTcBorders.IsInit() )
{
......
......@@ -36,11 +36,11 @@ public:
oOutputProperty.Merge( oResultStyle->m_oRowProp );
if (m_ooxTableRowProps->m_oTblHeader.IsInit() )
oOutputProperty.m_bIsHeader = m_ooxTableRowProps->m_oTblHeader->m_oVal.ToBool();
oOutputProperty.m_bIsHeader = m_ooxTableRowProps->m_oTblHeader->m_oVal.ToBool() ? 1 : 0;
//todooo непонятнка
// if (m_ooxTableRowProps->m_oCantSplit.IsInit() )
// oOutputProperty.m_bIsHeader= m_ooxTableRowProps->m_oCantSplit->m_oVal.ToBool();
// oOutputProperty.m_bIsHeader= m_ooxTableRowProps->m_oCantSplit->m_oVal.ToBool() ? 1 : 0;
if (m_ooxTableRowProps->m_oJc.IsInit() && m_ooxTableRowProps->m_oJc->m_oVal.IsInit())
{
......
......@@ -591,10 +591,15 @@ CString RtfCharProperty::RenderToRtf(RenderParameter oRenderParameter)
RENDER_RTF_BOOL( m_bItalic, sResult, _T("i") )
RENDER_RTF_BOOL( m_bImprint, sResult, _T("impr") )
RENDER_RTF_INT( m_nKerning, sResult, _T("kerning") )
if( 1 == m_bRightToLeft )
sResult.Append(_T("\\rtlch"));
else
sResult.Append(_T("\\ltrch"));
if (m_bRightToLeft != PROP_DEF )
{
if( m_bRightToLeft !=0)
sResult.Append(_T("\\rtlch"));
else
sResult.Append(_T("\\ltrch"));
}
if( PROP_DEF != m_nComplexScript )
sResult.AppendFormat(_T("\\fcs%d"), m_nComplexScript);
RENDER_RTF_BOOL( m_bOutline, sResult, _T("outl") )
......@@ -696,7 +701,7 @@ CString RtfCharProperty::RenderToOOX(RenderParameter oRenderParameter)
RENDER_OOX_BOOL( m_bItalic, sResult, _T("w:i") )
RENDER_OOX_BOOL( m_bImprint, sResult, _T("w:imprint") )
RENDER_OOX_INT( m_nKerning, sResult, _T("w:kern") )
if( 1 == m_bRightToLeft )
if(m_bRightToLeft !=0 && m_bRightToLeft != PROP_DEF)
sResult.Append(_T("<w:rtl />"));
RENDER_OOX_BOOL( m_nComplexScript, sResult, _T("w:cs") )
RENDER_OOX_BOOL( m_bOutline, sResult, _T("w:outline") )
......@@ -704,6 +709,7 @@ CString RtfCharProperty::RenderToOOX(RenderParameter oRenderParameter)
RENDER_OOX_BOOL( m_bShadow, sResult, _T("w:shadow") )
RENDER_OOX_BOOL( m_bStrike, sResult, _T("w:strike") )
RENDER_OOX_BOOL( m_nStriked, sResult, _T("w:dstrike") )
if( 1 == m_bSub )
sResult.Append(_T("<w:vertAlign w:val=\"subscript\" />"));
if( 1 == m_bSuper )
......@@ -766,6 +772,28 @@ CString RtfCharProperty::RenderToOOX(RenderParameter oRenderParameter)
}
RENDER_OOX_INT( m_nUp, sResult, _T("w:position") )
if (m_nLanguage != PROP_DEF)
{
CString str_lang;
#if defined(_WIN32) || defined(_WIN64)
wchar_t buf[29] = {};
int ccBuf = GetLocaleInfo(m_nLanguage, LOCALE_SISO639LANGNAME, buf, 29);
if (ccBuf > 0)
{
str_lang.Append(buf);
str_lang.Append(_T("-"));
}
ccBuf = GetLocaleInfo(m_nLanguage, LOCALE_SISO3166CTRYNAME, buf, 29);
if (ccBuf > 0) str_lang.Append(buf);
#else
#endif
RENDER_OOX_STRING(str_lang, sResult, _T("w:lang") )
}
sResult.Append( m_poBorder.RenderToOOX( oRenderParameter ));
sResult.Append( m_poShading.RenderToOOX( oRenderParameter ));
......
......@@ -994,6 +994,7 @@ public:
int m_bImprint; //\impr* Engrave (imprint).
int m_nKerning; //\kerningN Point size (in half-points) above which to kern character pairs. \kerning0 turns off kerning.
int m_bRightToLeft; //\rtlch Character data following this control word is treated as a right-to-left run.
int m_nLanguage;
int m_nComplexScript;
int m_bOutline; //\outl* Outline.
int m_bScaps; //\scaps* Small capitals.
......@@ -1085,6 +1086,7 @@ public:
m_poShading.SetDefault();
m_poBorder.SetDefault();
DEFAULT_PROPERTY( m_nComplexScript )
DEFAULT_PROPERTY( m_nLanguage )
}
void Merge( RtfCharProperty& oCharPr )
{
......@@ -1105,6 +1107,7 @@ public:
MERGE_PROPERTY( m_bImprint, oCharPr )
MERGE_PROPERTY( m_nKerning, oCharPr )
MERGE_PROPERTY( m_bRightToLeft, oCharPr )
MERGE_PROPERTY( m_nLanguage, oCharPr )
MERGE_PROPERTY( m_bOutline, oCharPr )
MERGE_PROPERTY( m_bScaps, oCharPr )
MERGE_PROPERTY( m_bShadow, oCharPr )
......
......@@ -23,7 +23,7 @@ CString RtfDocumentProperty::RenderToRtf(RenderParameter oRenderParameter)
RENDER_RTF_INT( m_nMaxHypen, sResult, _T("hyphconsec") )
RENDER_RTF_INT( m_nHyphenationRight, sResult, _T("hyphhotz") )
RENDER_RTF_INT( m_nTabWidth, sResult, _T("deftab") )
RENDER_RTF_INT( m_nZoom, sResult, _T("viewscale") )
RENDER_RTF_INT( m_nZoom, sResult, _T("viewscale") )
//Page Borders
RENDER_RTF_BOOL( m_bDorderSurroundHeader, sResult, _T("pgbrdrhead") )
......@@ -44,13 +44,13 @@ CString RtfDocumentProperty::RenderToRtf(RenderParameter oRenderParameter)
//public: int m_nGutterWidthOutside; //\ogutterN Outside gutter width (default is 0; not used by Word, but in 1987 RTF Spec)
// RENDER_RTF_BOOL( m_bLandScape, sResult, _T("landscape") )
RENDER_RTF_BOOL( m_bGutterAtTop, sResult, _T("gutterprl") )
RENDER_RTF_BOOL( m_bSwitchMargins, sResult, _T("margmirror") )
RENDER_RTF_BOOL( m_bFacingPage, sResult, _T("facingp") )
RENDER_RTF_BOOL( m_bGutterAtTop, sResult, _T("gutterprl") )
RENDER_RTF_BOOL( m_bSwitchMargins, sResult, _T("margmirror") )
RENDER_RTF_BOOL( m_bFacingPage, sResult, _T("facingp") )
//Compatibility Options
RENDER_RTF_INT( m_nDisplayBackground, sResult, _T("viewbksp") )
RENDER_RTF_BOOL( m_bUseTabAlignment, sResult, _T("useltbaln") )
RENDER_RTF_INT( m_nDisplayBackground, sResult, _T("viewbksp") )
RENDER_RTF_BOOL( m_bUseTabAlignment, sResult, _T("useltbaln") )
//footnote, endnote property
if( PROP_DEF != m_nFootnoteNumberingFormat )
......@@ -119,6 +119,7 @@ CString RtfDocumentProperty::RenderToOOX(RenderParameter oRenderParameter)
RENDER_OOX_INT( m_nMaxHypen, sResult, _T("w:consecutiveHyphenLimit") )
RENDER_OOX_INT( m_nHyphenationRight, sResult, _T("w:hyphenationZone") )
RENDER_OOX_INT( m_nTabWidth, sResult, _T("w:defaultTabStop") )
if( PROP_DEF != m_nZoom )
sResult.AppendFormat( _T("<w:zoom w:percent=\"%d\" />"), m_nZoom );
//Page Borders
......
......@@ -8,6 +8,7 @@
#include "OOXSettingsWriter.h"
#include "OOXThemeWriter.h"
#include "OOXFootnoteWriter.h"
#include "OOXStylesWriter.h"
//#include "../../../../ASCOfficeDocxFile2/BinReader/ContentTypesWriter.h"
......@@ -97,6 +98,11 @@ CString OOXDocumentWriter::CreateXmlEnd( )
poNumberingWriter->AddNumbering( m_oDocument.m_oListTabel.RenderToOOX(oNewParam) );
poNumberingWriter->AddNumbering( m_oDocument.m_oListOverrideTabel.RenderToOOX(oNewParam) );
//style.xml
OOXStylesWriter* poStylesWriter = static_cast<OOXStylesWriter*>( m_oWriter.m_poStylesWriter );
oNewParam.poRels = poNumberingWriter->m_oRelsWriter.get();
oNewParam.nType = RENDER_TO_OOX_PARAM_NUMBERING;
//core.xml
oNewParam.poRels = NULL;
oNewParam.nType = RENDER_TO_OOX_PARAM_CORE;
......
......@@ -23,7 +23,7 @@ public:
{
CString pathWord = sFolder + FILE_SEPARATOR_STR + _T("word");
if( false == m_sFileXml.IsEmpty() )
//if( false == m_sFileXml.IsEmpty() )
{
CFile file;
if (file.CreateFile(pathWord + FILE_SEPARATOR_STR + _T("styles.xml"))) return false;
......@@ -39,10 +39,10 @@ public:
file.CloseFile();
return true;
}
else
{
//todooo default style !!
}
//else
//{
// //todooo default style !!
//}
return false;
}
private:
......
......@@ -639,6 +639,30 @@
<File
RelativePath="..\..\Common\3dParty\pole\pole.cpp"
>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|x64"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"
/>
</FileConfiguration>
<FileConfiguration
Name="ReleaseASC|x64"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\RtfFile.cpp"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment