Merge pull request #1384 from ONLYOFFICE/fix/Metafiles

Fix bugs in metafiles conversion
This commit is contained in:
Oleg Korshul
2024-01-17 15:52:36 +03:00
committed by GitHub
3 changed files with 5 additions and 2 deletions

View File

@ -1220,7 +1220,7 @@ namespace MetaFile
double dWidth = pPen->GetWidth();
if (Equals(0, dWidth) || PS_COSMETIC == ulPenType)
if (Equals(0, dWidth) || (Equals(1, dWidth) && PS_COSMETIC == ulPenType))
{
double dRendererDpiX;
m_pRenderer->get_DpiX(&dRendererDpiX);

View File

@ -919,6 +919,9 @@ namespace MetaFile
m_oStream >> unLength;
if (unLength > 15) // 30 байта / 2 (размер ushort) = 15 символов максимальная длина имени Unicode шрифта
unLength = 15;
unsigned short* pString = new unsigned short[unLength + 1];
if (pString)
{

View File

@ -659,7 +659,7 @@ namespace MetaFile
double dStrokeWidth = std::fabs(m_pParser->GetPen()->GetWidth());
if (Equals(0, dStrokeWidth) || PS_COSMETIC == (m_pParser->GetPen()->GetStyle() & PS_TYPE_MASK))
if (Equals(0, dStrokeWidth) || (Equals(1, dStrokeWidth) && PS_COSMETIC == (m_pParser->GetPen()->GetStyle() & PS_TYPE_MASK)))
{
dStrokeWidth = 1;
arAttributes.push_back({L"vector-effect", L"non-scaling-stroke"});