- (ly:outputter-dump-string
- outputter
- (eo 'svg
- '(xmlns . "http://www.w3.org/2000/svg")
- '(version . "1.2")
- `(width . ,(format #f "~smm" page-width))
- `(height . ,(format #f "~smm" page-height))))
-
- (ly:outputter-dump-string outputter (dump-fonts outputter paper))
- (ly:outputter-dump-string
- outputter
- (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)))
-
- (for-each
- (lambda (page)
- (set! page-number (1+ page-number))
- (dump-page outputter page page-number page-count landscape? page-set?))
- pages)
-
- (if page-set? (eo 'pageSet) "")
- (ly:outputter-dump-string
- outputter
- (string-append
- (ec 'g)
- (if page-set? (ec 'pageSet) "")
- (ec 'svg)))))
+ (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)))
+
+ (ly:outputter-close outputter)
+ ))