For bug 56205

This commit is contained in:
Oleg Korshul
2022-03-31 20:14:29 +03:00
parent a40242fb86
commit 6b737f4b55
4 changed files with 51 additions and 53 deletions

View File

@ -62,14 +62,14 @@ namespace XPS
if (!oReader.ReadNextNode())
return false;
std::wstring wsName = oReader.GetName();
std::wstring wsName = oReader.GetNameNoNS();
if (L"Relationships" != wsName)
return false;
std::wstring wsTargetFile;
while (oReader.ReadNextNode())
{
wsName = oReader.GetName();
wsName = oReader.GetNameNoNS();
if (L"Relationship" == wsName)
{
std::wstring wsAttr;
@ -104,14 +104,14 @@ namespace XPS
if (!oReader.ReadNextNode())
return false;
wsName = oReader.GetName();
wsName = oReader.GetNameNoNS();
if (L"FixedDocumentSequence" != wsName)
return false;
std::wstring wsSourceFile;
while (oReader.ReadNextNode())
{
wsName = oReader.GetName();
wsName = oReader.GetNameNoNS();
if (L"DocumentReference" == wsName)
{
ReadAttribute(oReader, L"Source", wsSourceFile);
@ -138,11 +138,11 @@ namespace XPS
std::wstring wsStructureTargetFile = wsFilePath + L"_rels/" + NSFile::GetFileName(wsSourceFile) + L".rels";
std::wstring wsStructureFile;
if (m_wsPath->exists(wsStructureTargetFile) && oReader.FromStringA(m_wsPath->readXml(wsStructureTargetFile))
&& oReader.ReadNextNode() && oReader.GetName() == L"Relationships")
&& oReader.ReadNextNode() && oReader.GetNameNoNS() == L"Relationships")
{
while (oReader.ReadNextNode())
{
if (L"Relationship" == oReader.GetName())
if (L"Relationship" == oReader.GetNameNoNS())
{
std::wstring wsAttr;
ReadAttribute(oReader, L"Type", wsAttr);
@ -173,15 +173,15 @@ namespace XPS
if (!wsFullStructureFile.empty())
{
oReader.Clear();
if (oReader.FromStringA(m_wsPath->readXml(wsFullStructureFile)) && oReader.ReadNextNode() && oReader.GetName() == L"DocumentStructure")
if (oReader.FromStringA(m_wsPath->readXml(wsFullStructureFile)) && oReader.ReadNextNode() && oReader.GetNameNoNS() == L"DocumentStructure")
{
while (oReader.ReadNextNode())
{
if (L"DocumentStructure.Outline" == oReader.GetName() && oReader.ReadNextNode() && oReader.GetName() == L"DocumentOutline")
if (L"DocumentStructure.Outline" == oReader.GetNameNoNS() && oReader.ReadNextNode() && oReader.GetNameNoNS() == L"DocumentOutline")
{
while (oReader.ReadNextNode())
{
if (oReader.GetName() == L"OutlineEntry")
if (oReader.GetNameNoNS() == L"OutlineEntry")
{
CDocumentStructure oStructure;
oStructure.nLevel = 1; // OutlineLevel по умолчанию имеет значение 1
@ -220,7 +220,7 @@ namespace XPS
if (!oReader.ReadNextNode())
return false;
wsName = oReader.GetName();
wsName = oReader.GetNameNoNS();
if (L"FixedDocument" != wsName)
return false;
@ -229,7 +229,7 @@ namespace XPS
int nIndex = 0;
while (oReader.ReadNextNode())
{
wsName = oReader.GetName();
wsName = oReader.GetNameNoNS();
if (L"PageContent" == wsName)
{
@ -247,12 +247,12 @@ namespace XPS
int nDepth = oReader.GetDepth();
while (oReader.ReadNextSiblingNode(nDepth))
{
if (oReader.GetName() == L"PageContent.LinkTargets")
if (oReader.GetNameNoNS() == L"PageContent.LinkTargets")
{
int nLinkDepth = oReader.GetDepth();
while (oReader.ReadNextSiblingNode(nLinkDepth))
{
if (oReader.GetName() == L"LinkTarget")
if (oReader.GetNameNoNS() == L"LinkTarget")
{
std::wstring wsNameTarget;
ReadAttribute(oReader, L"Name", wsNameTarget);
@ -354,12 +354,12 @@ namespace XPS
XmlUtils::CXmlLiteReader oReader;
std::wstring sRes = L"{";
if (oReader.FromStringA(m_wsPath->readXml(L"_rels/.rels")) && oReader.ReadNextNode() && L"Relationships" == oReader.GetName())
if (oReader.FromStringA(m_wsPath->readXml(L"_rels/.rels")) && oReader.ReadNextNode() && L"Relationships" == oReader.GetNameNoNS())
{
std::wstring wsCoreFile;
while (oReader.ReadNextNode())
{
if (L"Relationship" == oReader.GetName())
if (L"Relationship" == oReader.GetNameNoNS())
{
std::wstring wsAttr;
ReadAttribute(oReader, L"Type", wsAttr);
@ -375,7 +375,7 @@ namespace XPS
if (!wsCoreFile.empty() && m_wsPath->exists(wsCoreFile))
{
oReader.Clear();
if (oReader.FromStringA(m_wsPath->readXml(wsCoreFile)) && oReader.ReadNextNode() && oReader.GetName() == L"cp:coreProperties")
if (oReader.FromStringA(m_wsPath->readXml(wsCoreFile)) && oReader.ReadNextNode() && oReader.GetNameNoNS() == L"coreProperties")
{
while (oReader.ReadNextNode())
{

View File

@ -106,7 +106,7 @@ namespace XPS
int nCurDepth = oReader.GetDepth();
while (oReader.ReadNextSiblingNode(nCurDepth))
{
wsNodeName = oReader.GetName();
wsNodeName = oReader.GetNameNoNS();
if (wsNodeName == L"PathGeometry")
{
CWString wsKey, wsValue, wsTrasform;
@ -244,7 +244,7 @@ namespace XPS
CBrush* ReadBrushNode(XmlUtils::CXmlLiteReader& oReader, const double& dCurOpacity, CWString* pwsKey)
{
CBrush* pBrush = NULL;
CWString wsNodeName = oReader.GetName();
CWString wsNodeName = oReader.GetNameNoNS();
if (wsNodeName == L"SolidColorBrush")
{
int nBgr = 0, nAlpha = 255;
@ -398,7 +398,7 @@ namespace XPS
int nGrDepth = oReader.GetDepth();
while (oReader.ReadNextSiblingNode(nGrDepth))
{
wsNodeName = oReader.GetName();
wsNodeName = oReader.GetNameNoNS();
if ((wsNodeName == L"LinearGradientBrush.GradientStops" && bLinearGradient)
|| (wsNodeName == L"RadialGradientBrush.GradientStops" && !bLinearGradient))
{
@ -407,7 +407,7 @@ namespace XPS
}
}
LONG lCount = std::min(vColors.size(), vPositions.size());
LONG lCount = std::min(vColors.size(), vPositions.size());
if (lCount <= 0)
{
delete pBrush;

View File

@ -1452,7 +1452,7 @@ namespace XPS
int nCurDepth = oReader.GetDepth();
while (oReader.ReadNextSiblingNode(nCurDepth))
{
wsNodeName = oReader.GetName();
wsNodeName = oReader.GetNameNoNS();
if (wsNodeName == L"MatrixTransform")
{
ReadMatrixTransform(oReader, wsTransform, pwsKey);
@ -1497,7 +1497,7 @@ namespace XPS
int nCurDepth = oReader.GetDepth();
while (oReader.ReadNextSiblingNode(nCurDepth))
{
wsNodeName = oReader.GetName();
wsNodeName = oReader.GetNameNoNS();
if (wsNodeName == L"PathGeometry.Transform" && wsTransform.empty())
ReadTransform(oReader, wsTransform);
else if (wsNodeName == L"PathFigure" && wsData.empty())
@ -1525,7 +1525,7 @@ namespace XPS
int nCurDepth = oReader.GetDepth();
while (oReader.ReadNextSiblingNode(nCurDepth))
{
wsNodeName = oReader.GetName();
wsNodeName = oReader.GetNameNoNS();
wsText.empty();
if (L"PolyLineSegment" == wsNodeName)
{
@ -1596,7 +1596,7 @@ namespace XPS
int nCurDepth = oReader.GetDepth();
while (oReader.ReadNextSiblingNode(nCurDepth))
{
wsNodeName = oReader.GetName();
wsNodeName = oReader.GetNameNoNS();
if (wsNodeName == L"GradientStop")
{
double dPos = 0;
@ -1637,7 +1637,7 @@ namespace XPS
int nCurDepth = oReader.GetDepth();
while (oReader.ReadNextSiblingNode(nCurDepth))
{
wsNodeName = oReader.GetName();
wsNodeName = oReader.GetNameNoNS();
if (wsNodeName == L"PathGeometry")
{
CWString wsTransform;

View File

@ -97,16 +97,16 @@ namespace XPS
if (!oReader.ReadNextNode())
return;
CWString wsNodeName = oReader.GetName(), wsAttrName;
if (wsNodeName == L"mc:AlternateContent")
CWString wsNodeName = oReader.GetNameNoNS(), wsAttrName;
if (wsNodeName == L"AlternateContent")
{
if (!oReader.IsEmptyNode())
{
int nAltDepth = oReader.GetDepth();
while (oReader.ReadNextSiblingNode(nAltDepth))
{
wsNodeName = oReader.GetName();
if (wsNodeName == L"mc:Choice")
wsNodeName = oReader.GetNameNoNS();
if (wsNodeName == L"Choice")
{
CWString wsAttr;
ReadAttribute(oReader, L"Requires", wsAttr);
@ -117,14 +117,14 @@ namespace XPS
int nAltDepth2 = oReader.GetDepth();
while (oReader.ReadNextSiblingNode(nAltDepth2))
{
wsNodeName = oReader.GetName();
wsNodeName = oReader.GetNameNoNS();
if (wsNodeName == L"FixedPage")
{
ReadAttribute(oReader, L"Width", wsAttrName);
nW = wsAttrName.tointeger();
nW = wsAttrName.tointeger();
ReadAttribute(oReader, L"Height", wsAttrName);
nH = wsAttrName.tointeger();
nH = wsAttrName.tointeger();
break;
}
}
@ -132,14 +132,14 @@ namespace XPS
break;
}
}
else if (wsNodeName == L"mc:Fallback")
else if (wsNodeName == L"Fallback")
{
if (!oReader.IsEmptyNode())
{
int nAltDepth2 = oReader.GetDepth();
while (oReader.ReadNextSiblingNode(nAltDepth2))
{
wsNodeName = oReader.GetName();
wsNodeName = oReader.GetNameNoNS();
if (wsNodeName == L"FixedPage")
{
ReadAttribute(oReader, L"Width", wsAttrName);
@ -176,16 +176,16 @@ namespace XPS
return;
CContextState oState(pRenderer);
CWString wsNodeName = oReader.GetName();
if (wsNodeName == L"mc:AlternateContent")
CWString wsNodeName = oReader.GetNameNoNS();
if (wsNodeName == L"AlternateContent")
{
if (!oReader.IsEmptyNode())
{
int nAltDepth = oReader.GetDepth();
while (oReader.ReadNextSiblingNode(nAltDepth))
{
wsNodeName = oReader.GetName();
if (wsNodeName == L"mc:Choice")
wsNodeName = oReader.GetNameNoNS();
if (wsNodeName == L"Choice")
{
CWString wsAttr;
ReadAttribute(oReader, L"Requires", wsAttr);
@ -196,7 +196,7 @@ namespace XPS
int nAltDepth2 = oReader.GetDepth();
while (oReader.ReadNextSiblingNode(nAltDepth2))
{
wsNodeName = oReader.GetName();
wsNodeName = oReader.GetNameNoNS();
if (wsNodeName == L"FixedPage")
{
DrawCanvas(oReader, pRenderer, &oState, pbBreak);
@ -207,14 +207,14 @@ namespace XPS
break;
}
}
else if (wsNodeName == L"mc:Fallback")
else if (wsNodeName == L"Fallback")
{
if (!oReader.IsEmptyNode())
{
int nAltDepth2 = oReader.GetDepth();
while (oReader.ReadNextSiblingNode(nAltDepth2))
{
wsNodeName = oReader.GetName();
wsNodeName = oReader.GetNameNoNS();
if (wsNodeName == L"FixedPage")
{
DrawCanvas(oReader, pRenderer, &oState, pbBreak);
@ -265,7 +265,7 @@ namespace XPS
int nCurDepth = oReader.GetDepth();
while (oReader.ReadNextSiblingNode(nCurDepth))
{
wsNodeName = oReader.GetName();
wsNodeName = oReader.GetNameNoNS();
if (wsNodeName == L"FixedPage.Resources")
{
@ -299,15 +299,15 @@ namespace XPS
{
DrawPath(oReader, pRenderer, pState);
}
else if (wsNodeName == L"mc:AlternateContent")
else if (wsNodeName == L"AlternateContent")
{
if (!oReader.IsEmptyNode())
{
int nAltDepth = oReader.GetDepth();
while (oReader.ReadNextSiblingNode(nAltDepth))
{
wsNodeName = oReader.GetName();
if (wsNodeName == L"mc:Choice")
wsNodeName = oReader.GetNameNoNS();
if (wsNodeName == L"Choice")
{
CWString wsAttr;
ReadAttribute(oReader, L"Requires", wsAttr);
@ -317,7 +317,7 @@ namespace XPS
break;
}
}
else if (wsNodeName == L"mc:Fallback")
else if (wsNodeName == L"Fallback")
{
DrawCanvas(oReader, pRenderer, pState, NULL);
break;
@ -351,7 +351,7 @@ namespace XPS
int nCurDepth = oReader.GetDepth();
while (oReader.ReadNextSiblingNode(nCurDepth))
{
wsNodeName = oReader.GetName();
wsNodeName = oReader.GetNameNoNS();
if (wsNodeName == L"ResourceDictionary")
{
CWString wsSource;
@ -586,7 +586,7 @@ namespace XPS
int nCurDepth = oReader.GetDepth();
while (oReader.ReadNextSiblingNode(nCurDepth))
{
wsNodeName = oReader.GetName();
wsNodeName = oReader.GetNameNoNS();
if (wsNodeName == L"Glyphs.RenderTransform")
{
ReadTransform(oReader, wsTransform);
@ -1060,7 +1060,7 @@ namespace XPS
int nCurDepth = oReader.GetDepth();
while (oReader.ReadNextSiblingNode(nCurDepth))
{
wsNodeName = oReader.GetName();
wsNodeName = oReader.GetNameNoNS();
if (wsNodeName == L"Path.RenderTransform")
{
ReadTransform(oReader, wsTransform);
@ -1175,9 +1175,7 @@ namespace XPS
int nCurDepth = oReader.GetDepth();
while (oReader.ReadNextSiblingNode(nCurDepth))
{
wsNodeName = oReader.GetName();
wsNodeName = RemoveNamespace(wsNodeName);
wsNodeName = oReader.GetNameNoNS();
if (L"SolidColorBrush" == wsNodeName)
{
int nBgr, nAlpha;
@ -1204,7 +1202,7 @@ namespace XPS
int nCurDepth = oReader.GetDepth();
while (oReader.ReadNextSiblingNode(nCurDepth))
{
wsNodeName = oReader.GetName();
wsNodeName = oReader.GetNameNoNS();
if (wsNodeName == L"PathGeometry")
return ReadPathGeometry(oReader, wsData, wsTransform);
}