mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-04-07 13:55:33 +08:00
fix bug #69781
This commit is contained in:
@ -294,7 +294,9 @@ namespace DocFileFormat
|
|||||||
boost::optional<double> ShadowOriginY;
|
boost::optional<double> ShadowOriginY;
|
||||||
boost::optional<size_t> xCoord;
|
boost::optional<size_t> xCoord;
|
||||||
boost::optional<size_t> yCoord;
|
boost::optional<size_t> yCoord;
|
||||||
|
boost::optional<size_t> xCoord2;
|
||||||
|
boost::optional<size_t> yCoord2;
|
||||||
|
|
||||||
bool bStroked = true;
|
bool bStroked = true;
|
||||||
bool bFilled = true;
|
bool bFilled = true;
|
||||||
bool hasTextbox = false;
|
bool hasTextbox = false;
|
||||||
@ -480,6 +482,14 @@ namespace DocFileFormat
|
|||||||
m_pXmlWriter->WriteAttribute(L"wrapcoords", wrapCoords);
|
m_pXmlWriter->WriteAttribute(L"wrapcoords", wrapCoords);
|
||||||
}
|
}
|
||||||
}break;
|
}break;
|
||||||
|
case ODRAW::geoLeft:
|
||||||
|
{
|
||||||
|
xCoord2 = iter->op;
|
||||||
|
}break;
|
||||||
|
case ODRAW::geoTop:
|
||||||
|
{
|
||||||
|
yCoord2 = iter->op;
|
||||||
|
}break;
|
||||||
case ODRAW::geoRight:
|
case ODRAW::geoRight:
|
||||||
{
|
{
|
||||||
xCoord = iter->op;
|
xCoord = iter->op;
|
||||||
@ -1021,7 +1031,15 @@ namespace DocFileFormat
|
|||||||
|
|
||||||
if ( xCoord && yCoord )
|
if ( xCoord && yCoord )
|
||||||
{
|
{
|
||||||
m_pXmlWriter->WriteAttribute( L"coordsize", ( FormatUtils::SizeTToWideString( *xCoord ) + L"," + FormatUtils::SizeTToWideString( *yCoord ) ));
|
if (xCoord2 && yCoord2)
|
||||||
|
{
|
||||||
|
m_pXmlWriter->WriteAttribute(L"coordorigin", (FormatUtils::SizeTToWideString(*xCoord2) + L"," + FormatUtils::SizeTToWideString(*yCoord2)));
|
||||||
|
m_pXmlWriter->WriteAttribute(L"coordsize", (FormatUtils::SizeTToWideString(*xCoord - *xCoord2) + L"," + FormatUtils::SizeTToWideString(*yCoord - *yCoord2)));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_pXmlWriter->WriteAttribute(L"coordsize", (FormatUtils::SizeTToWideString(*xCoord) + L"," + FormatUtils::SizeTToWideString(*yCoord)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int nCode = 0;
|
int nCode = 0;
|
||||||
|
|||||||
@ -1275,24 +1275,28 @@ void MSOPATHINFO::load(IBinaryReader* reader)
|
|||||||
case 0x09:
|
case 0x09:
|
||||||
{
|
{
|
||||||
m_eRuler = ODRAW::rtQuadrBesier;
|
m_eRuler = ODRAW::rtQuadrBesier;
|
||||||
break;
|
|
||||||
}
|
}break;
|
||||||
case 0x0A:
|
case 0x0A:
|
||||||
{
|
{
|
||||||
m_eRuler = ODRAW::rtNoFill;
|
m_eRuler = ODRAW::rtNoFill;
|
||||||
break;
|
|
||||||
}
|
}break;
|
||||||
case 0x0B:
|
case 0x0B:
|
||||||
{
|
{
|
||||||
m_eRuler = ODRAW::rtNoStroke;
|
m_eRuler = ODRAW::rtNoStroke;
|
||||||
break;
|
|
||||||
}
|
}break;
|
||||||
case 0x0C:
|
case 0x0C: //msopathEscapeAutoLine
|
||||||
case 0x10:
|
|
||||||
{
|
{
|
||||||
m_eRuler = ODRAW::rtLineTo;
|
m_eRuler = ODRAW::rtLineTo;
|
||||||
break;
|
mem = 2;
|
||||||
}
|
}break;
|
||||||
|
case 0x10: // msopathEscapeSmoothLine
|
||||||
|
{
|
||||||
|
m_eRuler = ODRAW::rtLineTo;
|
||||||
|
|
||||||
|
}break;
|
||||||
case 0x0D:
|
case 0x0D:
|
||||||
case 0x0E:
|
case 0x0E:
|
||||||
case 0x0F:
|
case 0x0F:
|
||||||
@ -1301,9 +1305,8 @@ void MSOPATHINFO::load(IBinaryReader* reader)
|
|||||||
case 0x13:
|
case 0x13:
|
||||||
case 0x14:
|
case 0x14:
|
||||||
{
|
{
|
||||||
m_eRuler = ODRAW::rtCurveTo;
|
m_eRuler = ODRAW::rtCurveTo;
|
||||||
break;
|
}break;
|
||||||
}
|
|
||||||
case 0x15:
|
case 0x15:
|
||||||
{
|
{
|
||||||
m_eRuler = ODRAW::rtFillColor;
|
m_eRuler = ODRAW::rtFillColor;
|
||||||
|
|||||||
Reference in New Issue
Block a user