Index: scm/backend-library.scm =================================================================== RCS file: /cvsroot/lilypond/lilypond/scm/backend-library.scm,v retrieving revision 1.45 diff -u -3 -p -r1.45 backend-library.scm --- scm/backend-library.scm 7 Apr 2006 01:00:15 -0000 1.45 +++ scm/backend-library.scm 27 Jun 2006 14:15:57 -0000 @@ -49,14 +49,14 @@ ;; must be sure that we don't catch stuff from old GUBs. (search-executable '("gs"))) -(define-public (postscript->pdf papersizename name) +(define-public (postscript->pdf paper-width paper-height name) (let* ((pdf-name (string-append (basename name ".ps") ".pdf")) (cmd (format #f "~a\ ~a\ ~a\ -dCompatibilityLevel=1.4 \ - -sPAPERSIZE=~a\ + -dDEVICEWIDTHPOINTS=~,2f -dDEVICEHEIGHTPOINTS=~,2f\ -dNOPAUSE\ -dBATCH\ -r1200 \ @@ -70,7 +70,8 @@ (if (ly:get-option 'gs-font-load) " -dNOSAFER " " -dSAFER ") - (sanitize-command-option papersizename) + paper-width + paper-height pdf-name name))) ;; The wrapper on windows cannot handle `=' signs, @@ -90,17 +91,16 @@ (use-modules (scm ps-to-png)) -(define-public (postscript->png resolution paper-size-name name) +(define-public (postscript->png resolution paper-width paper-height name) ;; Do not try to guess the name of the png file, ;; GS produces PNG files like BASE-page%d.png. ;;(ly:message (_ "Converting to `~a'...") ;; (string-append (basename name ".ps") "-page1.png" ))) - (let ((paper-size (sanitize-command-option paper-size-name)) - (verbose (ly:get-option 'verbose)) + (let ((verbose (ly:get-option 'verbose)) (rename-page-1 #f)) (ly:message (_ "Converting to ~a...") "PNG") - (make-ps-images name resolution paper-size rename-page-1 verbose + (make-ps-images name resolution paper-width paper-height rename-page-1 verbose (ly:get-option 'anti-alias-factor)) (ly:progress "\n"))) Index: scm/framework-ps.scm =================================================================== RCS file: /cvsroot/lilypond/lilypond/scm/framework-ps.scm,v retrieving revision 1.166 diff -u -3 -p -r1.166 framework-ps.scm --- scm/framework-ps.scm 18 Jun 2006 12:57:37 -0000 1.166 +++ scm/framework-ps.scm 27 Jun 2006 14:15:57 -0000 @@ -590,11 +590,14 @@ (define-public (convert-to-pdf book name) (let* ((defs (ly:paper-book-paper book)) - (papersizename (ly:output-def-lookup defs 'papersizename))) + (paper-width (ly:output-def-lookup defs 'paper-width)) + (paper-height (ly:output-def-lookup defs 'paper-height)) + (output-scale (ly:output-def-lookup defs 'output-scale))) (if (equal? (basename name ".ps") "-") (ly:warning (_ "can't convert to ~S" "PDF")) - (postscript->pdf (if (string? papersizename) papersizename "a4") + (postscript->pdf (* paper-width output-scale (/ (ly:bp 1))) + (* paper-height output-scale (/ (ly:bp 1))) name)))) (define-public (convert-to-png book name) @@ -603,10 +606,13 @@ (resolution (if (number? defs-resolution) defs-resolution (ly:get-option 'resolution))) - (papersizename (ly:output-def-lookup defs 'papersizename))) + (paper-width (ly:output-def-lookup defs 'paper-width)) + (paper-height (ly:output-def-lookup defs 'paper-height)) + (output-scale (ly:output-def-lookup defs 'output-scale))) (postscript->png resolution - (if (string? papersizename) papersizename "a4") + (* paper-width output-scale (/ (ly:bp 1))) + (* paper-height output-scale (/ (ly:bp 1))) name))) (define-public (convert-to-dvi book name) Index: scm/framework-tex.scm =================================================================== RCS file: /cvsroot/lilypond/lilypond/scm/framework-tex.scm,v retrieving revision 1.94 diff -u -3 -p -r1.94 framework-tex.scm --- scm/framework-tex.scm 6 Feb 2006 01:13:58 -0000 1.94 +++ scm/framework-tex.scm 27 Jun 2006 14:15:57 -0000 @@ -290,23 +290,27 @@ (define-public (convert-to-pdf book name) (let* ((defs (ly:paper-book-paper book)) - (papersizename (ly:output-def-lookup defs 'papersizename))) - (postscript->pdf (if (string? papersizename) papersizename "a4") + (paper-width (ly:output-def-lookup defs 'paper-width)) + (paper-height (ly:output-def-lookup defs 'paper-height)) + (output-scale (ly:output-def-lookup defs 'output-scale))) + (postscript->pdf (* paper-width output-scale (/ (ly:bp 1))) + (* paper-height output-scale (/ (ly:bp 1))) (string-append (basename name ".tex") ".ps")))) (define-public (convert-to-png book name) (let* ((defs (ly:paper-book-paper book)) (resolution (ly:output-def-lookup defs 'pngresolution)) - (papersizename (ly:output-def-lookup defs 'papersizename))) + (paper-width (ly:output-def-lookup defs 'paper-width)) + (paper-height (ly:output-def-lookup defs 'paper-height)) + (output-scale (ly:output-def-lookup defs 'output-scale))) (postscript->png (if (number? resolution) resolution (ly:get-option 'resolution)) - (if (string? papersizename) - papersizename - "a4") - + (* paper-width output-scale (/ (ly:bp 1))) + (* paper-height output-scale (/ (ly:bp 1))) + (string-append (basename name ".tex") ".ps")))) (define-public (convert-to-ps book name) Index: scm/ps-to-png.scm =================================================================== RCS file: /cvsroot/lilypond/lilypond/scm/ps-to-png.scm,v retrieving revision 1.24 diff -u -3 -p -r1.24 ps-to-png.scm --- scm/ps-to-png.scm 1 Mar 2006 15:41:27 -0000 1.24 +++ scm/ps-to-png.scm 27 Jun 2006 14:15:57 -0000 @@ -129,12 +129,13 @@ (define-public (make-ps-images ps-name . rest) (let-optional rest ((resolution 90) - (paper-size "a4") + page-width + page-height (rename-page-1? #f) (verbose? #f) (aa-factor 1) ) - + (let* ((base (basename (re-sub "[.]e?ps" "" ps-name))) (png1 (string-append base ".png")) (pngn (string-append base "-page%d.png")) @@ -148,7 +149,7 @@ ;; (gs-variable-options (if multi-page? - (format #f "-sPAPERSIZE=~a" paper-size) + (format #f "-dDEVICEWIDTHPOINTS=~,2f -dDEVICEHEIGHTPOINTS=~,2f" page-width page-height) "-dEPSCrop")) (cmd (format #f "~a\