From 38343f5f94253a4e2dd2cf7e6873826d89c54417 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Fri, 28 Jan 2005 21:41:10 +0000 Subject: [PATCH] (output-classic-framework): dump a -systems.texi too (output-classic-framework): dump multiple systems on an "infinite" page EPS including fonts. --- ChangeLog | 3 ++ input/tutorial/lilbook.tex | 3 +- scm/framework-ps.scm | 107 +++++++++++++------------------------ 3 files changed, 43 insertions(+), 70 deletions(-) diff --git a/ChangeLog b/ChangeLog index 14484e052d..c7e30c55d2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2005-01-28 Han-Wen Nienhuys + * lily/paper-outputter-scheme.cc (LY_DEFINE): + ly:outputter-port. New function. + * scm/framework-ps.scm (output-classic-framework): dump a -systems.texi too (output-classic-framework): dump multiple systems on an "infinite" diff --git a/input/tutorial/lilbook.tex b/input/tutorial/lilbook.tex index 4db36dbab3..f5cfa1c515 100644 --- a/input/tutorial/lilbook.tex +++ b/input/tutorial/lilbook.tex @@ -1,4 +1,5 @@ \documentclass[a4paper]{article} +\usepackage{graphics} \begin{document} Documents for lilypond-book may freely mix music and text. For @@ -6,7 +7,7 @@ example, \begin{lilypond} \relative { - c2 g'2 \times 2/3 { f8 e d } c'2 g4 + c2^"test" g'2 \times 2/3 { f8 e d } c'2 g4 } \end{lilypond} diff --git a/scm/framework-ps.scm b/scm/framework-ps.scm index 443d3aeeaf..7b32617fd2 100644 --- a/scm/framework-ps.scm +++ b/scm/framework-ps.scm @@ -191,7 +191,7 @@ "init-lilypond-parameters\n" "%%EndSetup\n")) -(define (preamble paper load-fonts?) +(define (write-preamble paper load-fonts? port) (define (load-fonts paper) (let* ((fonts (ly:paper-fonts paper)) (all-font-names @@ -225,17 +225,14 @@ (ly:warn "cannot find CFF/PFA/PFB font ~S" x) "")))) (filter string? font-names)))) + pfas)) + - (string-join pfas "\n"))) - - (list - (procset "music-drawing-routines.ps") - (procset "lilyponddefs.ps") - (if load-fonts? - (load-fonts paper) - "") - - (setup paper))) + (display (procset "music-drawing-routines.ps") port) + (display (procset "lilyponddefs.ps") port) + (if load-fonts? + (for-each (lambda (f) (display f port)) (load-fonts paper))) + (display (setup paper) port)) (define-public (output-framework basename book scopes fields) (let* ((filename (format "~a.ps" basename)) @@ -245,14 +242,12 @@ (pages (ly:paper-book-pages book)) (landscape? (eq? (ly:output-def-lookup paper 'landscape) #t)) (page-number (1- (ly:output-def-lookup paper 'firstpagenumber))) - (page-count (length pages))) + (page-count (length pages)) + (port (ly:outputter-port outputter))) - (for-each - (lambda (x) - (ly:outputter-dump-string outputter x)) - (cons - (page-header paper page-count #t) - (preamble paper #t))) + + (display (page-header paper page-count #t) port) + (write-preamble paper #t port) (for-each (lambda (page) @@ -260,8 +255,8 @@ (dump-page outputter page page-number page-count landscape?)) pages) - (ly:outputter-dump-string outputter "%%Trailer\n%%EOF\n") - (ly:outputter-close outputter) + (display "%%Trailer\n%%EOF\n" port) + (ly:outputter-close outputter) (postprocess-output book framework-ps-module filename (ly:output-formats)) )) @@ -298,24 +293,16 @@ (lambda (x) (inexact->exact (round (* x scale mm-to-bigpoint)))))) + (port (ly:outputter-port outputter)) ) + - (for-each - (lambda (x) - (ly:outputter-dump-string outputter x)) - (cons - (eps-header paper rounded-bbox #t) - (preamble paper #t))) - - - (ly:outputter-dump-string outputter - (string-append "start-system { " - "set-ps-scale-to-lily-scale " - "\n")) - + (display (eps-header paper rounded-bbox #t) port) + (write-preamble paper #t port) + (display "start-system { set-ps-scale-to-lily-scale \n" port) (ly:outputter-dump-stencil outputter dump-me) - (ly:outputter-dump-string outputter "} stop-system\n%%Trailer\n%%EOF\n") - (ly:outputter-close outputter) + (display outputter "} stop-system\n%%Trailer\n%%EOF\n" port) + (ly:outputter-close outputter) (postprocess-output book framework-ps-module filename (ly:output-formats)) )) @@ -342,23 +329,16 @@ (lambda (x) (inexact->exact (round (* x scale mm-to-bigpoint)))) bbox)) - + (port (ly:outputter-port outputter)) (header (eps-header paper rounded-bbox #f))) - (for-each - (lambda (str) (ly:outputter-dump-string outputter str)) - (cons - header - (preamble paper #f))) - - (ly:outputter-dump-string outputter - (string-append "start-system { " - "set-ps-scale-to-lily-scale " - "\n")) + (display header port) + (write-preamble paper #f port) + (display "start-system { set-ps-scale-to-lily-scale \n" port) + (ly:outputter-dump-stencil outputter dump-me) + (display "} stop-system\n%%Trailer\n%%EOF\n" port) + (ly:outputter-close outputter))) - (ly:outputter-dump-stencil outputter dump-me) - (ly:outputter-dump-string outputter "} stop-system\n%%Trailer\n%%EOF\n") - (ly:outputter-close outputter))) (define (dump-infinite-page lines) (let* @@ -377,25 +357,18 @@ (list (car xext) (car yext) (cdr xext) (cdr yext)))) (ps-bbox (map (lambda (x) - (inexact->exact - (round (* x scale mm-to-bigpoint)))) - bbox)) + (inexact->exact + (round (* x scale mm-to-bigpoint)))) + bbox)) + (port (ly:outputter-port outputter)) (header (eps-header paper ps-bbox #t))) - (for-each - (lambda (str) (ly:outputter-dump-string outputter str)) - (cons - header - (preamble paper #t))) - - (ly:outputter-dump-string outputter - (string-append "start-system { " - "set-ps-scale-to-lily-scale " - "\n")) - + (display header port) + (write-preamble paper #t port) + (display "start-system { set-ps-scale-to-lily-scale \n" port) (ly:outputter-dump-stencil outputter dump-me) - (ly:outputter-dump-string outputter "} stop-system\n%%Trailer\n%%EOF\n") + (display "} stop-system\n%%Trailer\n%%EOF\n" port) (ly:outputter-close outputter))) (define (dump-lines lines count) @@ -428,12 +401,8 @@ (display "@c eof" texi-system-port) (display "% eof" tex-system-port) - (dump-infinite-page lines)) - - (postprocess-output book framework-ps-module (format "~a.eps" basename) (ly:output-formats)) - ) - + (postprocess-output book framework-ps-module (format "~a.eps" basename) (ly:output-formats))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -- 2.39.5