After doing some tests with Chrome and doing some searching on the Web, I have come to the conclusion that there is no workable solution at this moment.
Until Firefox 4 comes out, Mozilla-based browsers only support SVG through the "object" tag. However, Webkit-based browsers like to stick <object>s in a 300x150-sized box unless the object tag itself has an explicit width/height on it. So even if the SVG image itself has an explicit size (and mine all do), Webkit browsers will ignore the size unless it's in the <object> tag. And I can't put it there, because the tool I use to convert my DocBook documents to HTML isn't able to fetch image sizes from SVG images.
However, once Firefox 4 comes out, I will likely switch wholesale to using img tags, since FF4 (and IE9) will support them. At which point, this bug should go away. Until then, I'm leaving this bug open as a reminder.
Thanks for the reply. I assume from reading the intro that you will not consider converting the SVG files to an image format?
"I assume from reading the intro that you will not consider converting the SVG files to an image format?"
I'm afraid not. At least, not unless SVGs become entirely untenuable, which is unlikely since they're being more widely supported as time goes on. They're particularly useful for PDFs, where the SVGs can be converted directly into PDF code instead of as raster images. They therefore can retain their resolution independence, in case someone wants to print them out.
FF4 is out. Hurray! And it's being very quickly adopted. Hurray! I have a branch in the repo that fixes this 3e4cfd0c866f
, and I've verified that it works in FF4, IE9, and Chrome, as well as iPod Touch Safari.
Sadly, Firefox 4 has some odd rendering issues with SVGs as images when zoom is applied, but I'm willing to live with it until they get that fixed. The fixed site will be going up in version 0.3, but you can see an early version here: http://www.arcsynthesis.com/gltest/