+ ;; Argggghhhh: SVG takes the px <-> mm mapping from the windowing system
+ `(width . ,(format #f "~s" page-width))
+ `(height . ,(format #f "~s" page-height))))
+
+ (dump (dump-fonts outputter paper))
+ (dump
+ (string-append
+ ;; FIXME: only use pages if there are more than one, pageSet is
+ ;; not supported by all SVG applications yet.
+ (if page-set? (eo 'pageSet) "")
+ (eo 'g `(transform . ,(format "scale(~a, ~a) "
+ output-scale output-scale)))))
+
+ (for-each
+ (lambda (page)
+ (set! page-number (1+ page-number))
+ (dump-page outputter page page-number page-count landscape? page-set?))
+ page-stencils)
+
+ (if page-set? (eo 'pageSet) "")
+ (dump
+ (string-append
+ (ec 'g)
+ (if page-set? (ec 'pageSet) "")
+ (ec 'svg)))))