Skip to content

Commit 8ccd986

Browse files
author
Dimitri van Heesch
committed
Bug 675165 - Uses <img> instead of <object> html tag for SVG images
1 parent ab96c07 commit 8ccd986

File tree

1 file changed

+34
-8
lines changed

1 file changed

+34
-8
lines changed

src/htmldocvisitor.cpp

Lines changed: 34 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1312,7 +1312,7 @@ void HtmlDocVisitor::visitPre(DocHtmlTable *t)
13121312
}
13131313
else
13141314
{
1315-
m_t << "<table " << htmlAttribsToString(t->attribs()) << ">\n";
1315+
m_t << "<table" << htmlAttribsToString(t->attribs()) << ">\n";
13161316
}
13171317
}
13181318

@@ -1429,17 +1429,43 @@ void HtmlDocVisitor::visitPre(DocImage *img)
14291429
}
14301430
m_t << "<div class=\"image\">" << endl;
14311431
QCString url = img->url();
1432+
QCString sizeAttribs;
1433+
if (!img->width().isEmpty())
1434+
{
1435+
sizeAttribs+=" width=\""+img->width()+"\"";
1436+
}
1437+
if (!img->height().isEmpty())
1438+
{
1439+
sizeAttribs+=" height=\""+img->height()+"\"";
1440+
}
14321441
if (url.isEmpty())
14331442
{
1434-
m_t << "<img src=\"" << img->relPath() << img->name() << "\" alt=\""
1435-
<< baseName << "\"" << htmlAttribsToString(img->attribs())
1436-
<< "/>" << endl;
1443+
if (img->name().right(4)==".svg")
1444+
{
1445+
m_t << "<object type=\"image/svg+xml\" data=\"" << img->relPath() << img->name()
1446+
<< "\"" << sizeAttribs << htmlAttribsToString(img->attribs()) << ">" << baseName
1447+
<< "</object>" << endl;
1448+
}
1449+
else
1450+
{
1451+
m_t << "<img src=\"" << img->relPath() << img->name() << "\" alt=\""
1452+
<< baseName << "\"" << sizeAttribs << htmlAttribsToString(img->attribs())
1453+
<< "/>" << endl;
1454+
}
14371455
}
14381456
else
14391457
{
1440-
m_t << "<img src=\"" << correctURL(url,img->relPath()) << "\" "
1441-
<< htmlAttribsToString(img->attribs())
1442-
<< "/>" << endl;
1458+
if (url.right(4)==".svg")
1459+
{
1460+
m_t << "<object type=\"image/svg+xml\" data=\"" << correctURL(url,img->relPath())
1461+
<< "\"" << sizeAttribs << htmlAttribsToString(img->attribs()) << "></object>" << endl;
1462+
}
1463+
else
1464+
{
1465+
m_t << "<img src=\"" << correctURL(url,img->relPath()) << "\""
1466+
<< sizeAttribs << htmlAttribsToString(img->attribs())
1467+
<< "/>" << endl;
1468+
}
14431469
}
14441470
if (img->hasCaption())
14451471
{
@@ -1810,7 +1836,7 @@ void HtmlDocVisitor::visitPre(DocHtmlBlockQuote *b)
18101836
}
18111837
else
18121838
{
1813-
m_t << "<blockquote " << htmlAttribsToString(b->attribs()) << ">\n";
1839+
m_t << "<blockquote" << htmlAttribsToString(b->attribs()) << ">\n";
18141840
}
18151841
}
18161842

0 commit comments

Comments
 (0)