diff --git a/MsBinaryFile/DocFile/BorderCode.cpp b/MsBinaryFile/DocFile/BorderCode.cpp index 76cfbe1445..891189702a 100644 --- a/MsBinaryFile/DocFile/BorderCode.cpp +++ b/MsBinaryFile/DocFile/BorderCode.cpp @@ -50,7 +50,8 @@ namespace DocFileFormat { //it's a border code of Word 2000/2003 cv = FormatUtils::BytesToInt32( bytes, 0, size ); - + cv = cv & 0x00ffffff; + ico = std::wstring( Global::ColorIdentifier[0] ); dptLineWidth = bytes[4]; diff --git a/MsBinaryFile/DocFile/BorderCode.h b/MsBinaryFile/DocFile/BorderCode.h index 5bc1849ac5..813d43e5a3 100644 --- a/MsBinaryFile/DocFile/BorderCode.h +++ b/MsBinaryFile/DocFile/BorderCode.h @@ -73,7 +73,7 @@ namespace DocFileFormat friend class VMLPictureMapping; private: - int cv; + _UINT32 cv; unsigned char dptLineWidth; unsigned char brcType; std::wstring ico; diff --git a/OOXML/Common/SimpleTypes_Word.cpp b/OOXML/Common/SimpleTypes_Word.cpp index 6185434ead..334169dd67 100644 --- a/OOXML/Common/SimpleTypes_Word.cpp +++ b/OOXML/Common/SimpleTypes_Word.cpp @@ -1820,6 +1820,12 @@ namespace SimpleTypes m_unG = oPresetColorVal.Get_G(); m_unB = oPresetColorVal.Get_B(); } + else if (8 <= sValue.length()) + { + this->m_eValue = hexcolorRGB; + m_sValue = sValue.substr(2, 6); + Parse(); + } else if ( 6 <= sValue.length() ) { this->m_eValue = hexcolorRGB;