+2006-07-07 Guido Amoruso <guidonte@katamail.com>
+
+ * 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 <gpermus@gmail.com>
* Documentation/user/ various: general improvements to
David Feuer
Erik Sandberg
Erlend Aasland
+Guido Amoruso
Heikki Junes
Joe Neeman
-
SPONSORS
Andrew Sidwell
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,
;; 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 \
(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,
(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")))
(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 <stdout> 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)
(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)
(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)
(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"))
;;
(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\