StarMath conversion to a dynamic library

This commit is contained in:
Dmitry Okunev
2025-09-04 17:12:15 +03:00
parent 930165a993
commit deb90037d5
19 changed files with 533 additions and 745 deletions

View File

@ -12,12 +12,9 @@ PWD_ROOT_DIR = $$PWD
include($$CORE_ROOT_DIR/Common/base.pri)
CONFIG += startmath_use_only_eqn
include($$CORE_ROOT_DIR/OdfFile/Reader/Converter/StarMath2OOXML/StarMath2OOXML.pri)
LIBS += -L$$CORE_BUILDS_LIBRARIES_PATH -lCryptoPPLib
ADD_DEPENDENCY(kernel, UnicodeConverter, graphics)
ADD_DEPENDENCY(kernel, UnicodeConverter, graphics, StarMathConverter)
DEFINES += HWPFILE_USE_DYNAMIC_LIBRARY \
CRYPTOPP_DISABLE_ASM

View File

@ -21,7 +21,7 @@
#include "../HWPElements/HWPRecordCharShape.h"
//For EQN
#include "../../../OdfFile/Reader/Converter/StarMath2OOXML/cconversionsmtoooxml.h"
#include "../../../OdfFile/Reader/Converter/StarMath2OOXML/conversionmathformula.h"
#include "Transform.h"
@ -1180,14 +1180,9 @@ void CConverter2OOXML::WriteEqEditShape(const CCtrlEqEdit* pEqEditShape, short s
oBuilder.WriteString(L"<w:r><w:t xml:space=\"preserve\">");
StarMath::CConversionSMtoOOXML oEQNConverter;
StarMath::CStarMathConverter oConverterStarMath;
//TODO:: создаем временную переменную, так как ParseEQN не принимает константный указатель
std::wstring wsEQN{pEqEditShape->GetEqn()};
oEQNConverter.StartConversion(StarMath::CParserStarMathString().ParseEQN(wsEQN));
oBuilder.WriteString(oEQNConverter.GetOOXML());
oBuilder.WriteString(oConverterStarMath.ConvertEQNToOOXml(pEqEditShape->GetEqn()));
oBuilder.WriteString(L"</w:t></w:r>");
}