From 29f1dc454ba82676c54b411dd6a29af3a176ba0e Mon Sep 17 00:00:00 2001 From: Green Date: Tue, 19 Aug 2025 11:42:46 +0300 Subject: [PATCH 1/4] Fix bug #73730 --- HwpFile/HwpDoc/Conversion/Converter2OOXML.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/HwpFile/HwpDoc/Conversion/Converter2OOXML.cpp b/HwpFile/HwpDoc/Conversion/Converter2OOXML.cpp index 6a8a1126b5..c3ef695b72 100644 --- a/HwpFile/HwpDoc/Conversion/Converter2OOXML.cpp +++ b/HwpFile/HwpDoc/Conversion/Converter2OOXML.cpp @@ -1293,8 +1293,8 @@ void CConverter2OOXML::WriteSectionSettings(TConversionState& oState) else { m_oDocXml.WriteString(L"GetWidth())) + L"\" w:h=\"" + std::to_wstring(Transform::HWPUINT2Twips(pPage->GetHeight())) + L"\"/>"); - m_oDocXml.WriteString(L"GetMarginTop())) + L"\" w:right=\"" + std::to_wstring(Transform::HWPUINT2Twips(pPage->GetMarginRight())) + L"\" w:bottom=\"" + - std::to_wstring(Transform::HWPUINT2Twips(pPage->GetMarginBottom())) + L"\" w:left=\"" + std::to_wstring(Transform::HWPUINT2Twips(pPage->GetMarginRight())) + L"\" w:header=\"" + + m_oDocXml.WriteString(L"GetMarginTop() + pPage->GetMarginHeader())) + L"\" w:right=\"" + std::to_wstring(Transform::HWPUINT2Twips(pPage->GetMarginRight())) + L"\" w:bottom=\"" + + std::to_wstring(Transform::HWPUINT2Twips(pPage->GetMarginBottom() + pPage->GetMarginFooter())) + L"\" w:left=\"" + std::to_wstring(Transform::HWPUINT2Twips(pPage->GetMarginRight())) + L"\" w:header=\"" + std::to_wstring(Transform::HWPUINT2Twips(pPage->GetMarginHeader())) + L"\" w:footer=\"" + std::to_wstring(Transform::HWPUINT2Twips(pPage->GetMarginFooter())) + L"\" w:gutter=\"" + std::to_wstring(Transform::HWPUINT2Twips(pPage->GetMarginGutter())) + L"\"/>"); } From e108591a7efe2dec26c61964fd387ec5d3596e40 Mon Sep 17 00:00:00 2001 From: Green Date: Tue, 19 Aug 2025 12:15:09 +0300 Subject: [PATCH 2/4] Fix bug #74898 --- HwpFile/HwpDoc/Conversion/Converter2OOXML.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/HwpFile/HwpDoc/Conversion/Converter2OOXML.cpp b/HwpFile/HwpDoc/Conversion/Converter2OOXML.cpp index c3ef695b72..313198ed88 100644 --- a/HwpFile/HwpDoc/Conversion/Converter2OOXML.cpp +++ b/HwpFile/HwpDoc/Conversion/Converter2OOXML.cpp @@ -2026,7 +2026,11 @@ void CConverter2OOXML::WriteAutoNumber(const CCtrlAutoNumber* pAutoNumber, short return; } case ENumType::TOTAL_PAGE: - ushValue = m_ushPageCount; break; + { + OpenParagraph(shParaShapeID, shParaStyleID, oBuilder, oState); + oBuilder.WriteString(L"1"); + return; + } case ENumType::FOOTNOTE: { OpenParagraph(shParaShapeID, shParaStyleID, oBuilder, oState); From f3ee3c8c910a04035c5e0c6de0554f050f9f2b86 Mon Sep 17 00:00:00 2001 From: Green Date: Tue, 19 Aug 2025 12:16:12 +0300 Subject: [PATCH 3/4] Fix image size in HWP format --- HwpFile/HwpDoc/Conversion/Converter2OOXML.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/HwpFile/HwpDoc/Conversion/Converter2OOXML.cpp b/HwpFile/HwpDoc/Conversion/Converter2OOXML.cpp index 313198ed88..bbc585b2dd 100644 --- a/HwpFile/HwpDoc/Conversion/Converter2OOXML.cpp +++ b/HwpFile/HwpDoc/Conversion/Converter2OOXML.cpp @@ -1647,13 +1647,13 @@ void CConverter2OOXML::WriteShapeExtent(const CCtrlObjElement* pCtrlShape, NSStr if (nullptr == pCtrlShape) return; - int nFinalWidth = pCtrlShape->GetCurWidth(); - int nFinalHeight = pCtrlShape->GetCurHeight(); + int nFinalWidth = std::abs(pCtrlShape->GetWidth()); + int nFinalHeight = std::abs(pCtrlShape->GetHeight()); if (0 == nFinalWidth || 0 == nFinalHeight) { - nFinalWidth = std::abs(pCtrlShape->GetWidth()); - nFinalHeight = std::abs(pCtrlShape->GetHeight()); + nFinalWidth = pCtrlShape->GetCurWidth(); + nFinalHeight = pCtrlShape->GetCurHeight(); } if (nullptr != pWidth) From a7b5866bc61701e3e40b4a5e7a94dfa186dfb187 Mon Sep 17 00:00:00 2001 From: Green Date: Tue, 26 Aug 2025 08:44:29 +0300 Subject: [PATCH 4/4] Fix bug in HWP --- HwpFile/HwpDoc/Conversion/Converter2OOXML.cpp | 3 +-- HwpFile/HwpDoc/HWPElements/HWPRecordParaText.cpp | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/HwpFile/HwpDoc/Conversion/Converter2OOXML.cpp b/HwpFile/HwpDoc/Conversion/Converter2OOXML.cpp index bbc585b2dd..f61bc0c73c 100644 --- a/HwpFile/HwpDoc/Conversion/Converter2OOXML.cpp +++ b/HwpFile/HwpDoc/Conversion/Converter2OOXML.cpp @@ -5,10 +5,9 @@ #include "../../../DesktopEditor/common/File.h" #include "../../../DesktopEditor/common/Directory.h" #include "../../../DesktopEditor/common/SystemUtils.h" -#include "../../../DesktopEditor/raster/BgraFrame.h" #include "../../../OfficeUtils/src/OfficeUtils.h" -#include "../../../DesktopEditor/graphics/pro/Graphics.h" +#include "../../../DesktopEditor/graphics/pro/Image.h" #include "../Paragraph/ParaText.h" #include "../Paragraph/CtrlTable.h" diff --git a/HwpFile/HwpDoc/HWPElements/HWPRecordParaText.cpp b/HwpFile/HwpDoc/HWPElements/HWPRecordParaText.cpp index d021e6f41f..1528a56b4e 100644 --- a/HwpFile/HwpDoc/HWPElements/HWPRecordParaText.cpp +++ b/HwpFile/HwpDoc/HWPElements/HWPRecordParaText.cpp @@ -152,7 +152,7 @@ LIST CHWPRecordParaText::Parse(int nTagNum, int nLevel, int nSize, CHWPS { UPDATE_CURRENT_TEXT(); - if (sText.length() < unIndex + 6 || (sText[unIndex] != sText[unIndex + 6] && sText[unIndex] != sText[unIndex + 7])) + if (sText.length() < unIndex + 7 || (sText[unIndex] != sText[unIndex + 6] && sText[unIndex] != sText[unIndex + 7])) continue; arParas.push_back(new CCtrlCharacter(L" _", ECtrlCharType::TABULATION));