From 69d06539ea9a4a30269ca94547a79c47cf21cc30 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Fri, 7 Jul 2006 10:38:02 +0000 Subject: [PATCH] *** empty log message *** --- ChangeLog | 9 +++++++++ THANKS | 2 +- python/convertrules.py | 1 + scm/backend-library.scm | 14 +++++++------- scm/framework-ps.scm | 14 ++++++++++---- scm/framework-tex.scm | 18 +++++++++++------- scm/ps-to-png.scm | 7 ++++--- 7 files changed, 43 insertions(+), 22 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0a00eff7bb..0200f9dce5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2006-07-07 Guido Amoruso + + * scm/ps-to-png.scm (Module): + * scm/framework-tex.scm (Module): + * scm/framework-ps.scm (Module): + * scm/backend-library.scm (Module): + * scm/framework-ps.scm: invoke gs with "-dDEVICEWIDTHPOINTS" and + "dDEVICEHEIGHTPOINTS". + 2006-07-04 Graham Percival * Documentation/user/ various: general improvements to diff --git a/THANKS b/THANKS index 85b0b71f56..bd2de73c74 100644 --- a/THANKS +++ b/THANKS @@ -13,10 +13,10 @@ CONTRIBUTORS David Feuer Erik Sandberg Erlend Aasland +Guido Amoruso Heikki Junes Joe Neeman - SPONSORS Andrew Sidwell diff --git a/python/convertrules.py b/python/convertrules.py index ecf7532cef..f2571e8823 100644 --- a/python/convertrules.py +++ b/python/convertrules.py @@ -2680,6 +2680,7 @@ conversions.append (((2, 7, 28), conv, def conv (str): for a in ['beamed-lengths', 'beamed-minimum-free-lengths', + 'lengths', 'beamed-extreme-minimum-free-lengths']: str = re.sub (r"\\override\s+Stem\s+#'%s" % a, r"\\override Stem #'details #'%s" % a, diff --git a/scm/backend-library.scm b/scm/backend-library.scm index 731dcf083e..689478f291 100644 --- a/scm/backend-library.scm +++ b/scm/backend-library.scm @@ -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"))) diff --git a/scm/framework-ps.scm b/scm/framework-ps.scm index a32979b529..e39b245233 100644 --- a/scm/framework-ps.scm +++ b/scm/framework-ps.scm @@ -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) diff --git a/scm/framework-tex.scm b/scm/framework-tex.scm index 27e7d66013..001da51113 100644 --- a/scm/framework-tex.scm +++ b/scm/framework-tex.scm @@ -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) diff --git a/scm/ps-to-png.scm b/scm/ps-to-png.scm index 50891e8f4b..d76f926a90 100644 --- a/scm/ps-to-png.scm +++ b/scm/ps-to-png.scm @@ -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\ -- 2.39.2