From d9bd1cdb32693bbc4083705ef822dad7bcbfca9d Mon Sep 17 00:00:00 2001 From: ElenaSubbotina Date: Mon, 2 Apr 2018 17:14:46 +0300 Subject: [PATCH] x2t -fix users files --- .../DocDocxConverter/VMLShapeMapping.cpp | 17 ++++++++++++++++- .../source/XlsFormat/Logic/Biff_unions/SS.cpp | 7 +++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/ASCOfficeDocFile/DocDocxConverter/VMLShapeMapping.cpp b/ASCOfficeDocFile/DocDocxConverter/VMLShapeMapping.cpp index 3c47663d4d..68d3fbdd47 100644 --- a/ASCOfficeDocFile/DocDocxConverter/VMLShapeMapping.cpp +++ b/ASCOfficeDocFile/DocDocxConverter/VMLShapeMapping.cpp @@ -2026,11 +2026,19 @@ namespace DocFileFormat nElemSize = 4; bTruncated = true; } + if (nElemSize == 0) + { + nElemSize = 2; //enredobar.doc + } long dwSize = nElems * nElemSize; if (opGuides->op - 6 != (dwSize)) { bool b = false; + if (nElems > 0x7fff) + { + dwSize = (opGuides->op - 6); + } } int count = dwSize / nElemSize; //1x (int or short) for (int i = 0; i < count; ++i) @@ -2070,12 +2078,19 @@ namespace DocFileFormat nElemSize = 4; bTruncated = true; } - + if (nElemSize == 0) + { + nElemSize = 2; //enredobar.doc + } long dwSize = nElems * nElemSize; if (opLocs->op - 6 != (dwSize)) { bool b = false; + if (nElems > 0x7fff) + { + dwSize = (opLocs->op - 6); + } } int count = dwSize / nElemSize; //2x (int or short) diff --git a/ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_unions/SS.cpp b/ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_unions/SS.cpp index 27c571365e..eca406bfe9 100644 --- a/ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_unions/SS.cpp +++ b/ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_unions/SS.cpp @@ -70,6 +70,13 @@ namespace XLS L"333399", L"000000", L"FFFFFF", L"FF0000", L"00FF00", L"0000FF", L"FFFF00", L"FF00FF", L"00FFFF", L"800000", L"800000", L"800000", L"808000", L"800080", L"808000", L"C0C0C0", L"808080", L"9999FF", L"993366", L"FFFFCC", L"CCFFFF", L"660066", L"FF8080", L"0066CC", L"CCCCFF", + //todoooo - подглядеть какие в мс далее + L"800000", L"FF00FF", L"FFFF00", L"00FFFF", L"800080", L"800000", L"808000", L"0000FF", L"00CCFF", L"CCFFFF", + L"CCFFCC", L"FFFF99", L"99CCFF", L"FF99CC", L"CC99FF", L"FFCC99", L"3366FF", L"33CCCC", L"99CC00", L"FFCC00", + L"FF9900", L"FF6600", L"666699", L"969696", L"336600", L"339966", L"330000", L"333300", L"993300", L"993366", + L"333399", L"000000", L"FFFFFF", L"FF0000", L"00FF00", L"0000FF", L"FFFF00", L"FF00FF", L"00FFFF", L"800000", + L"800000", L"800000", L"808000", L"800080", L"808000", L"C0C0C0", L"808080", L"9999FF", L"993366", L"FFFFCC", + L"CCFFFF", L"660066", L"FF8080", L"0066CC", L"CCCCFF" };