X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fframework-texstr.scm;h=0fec9f94fb49ef14a559ee6e3db0c2a7c171801b;hb=5b4b0d6e9a197e8f9eb085b7c2ad78b8be3e5cfc;hp=17d4e5a8ff98cbc429b43b1b263dffec9631aa83;hpb=57e9d4bb7dc057ffddb1b5b82aaddb8a996af89b;p=lilypond.git diff --git a/scm/framework-texstr.scm b/scm/framework-texstr.scm index 17d4e5a8ff..0fec9f94fb 100644 --- a/scm/framework-texstr.scm +++ b/scm/framework-texstr.scm @@ -2,20 +2,22 @@ ;;;; ;;;; source file of the GNU LilyPond music typesetter ;;;; -;;;; (c) 2004--2005 Han-Wen Nienhuys +;;;; (c) 2004--2008 Han-Wen Nienhuys (define-module (scm framework-texstr) #:export (output-framework-tex output-classic-framework-tex)) (use-modules (ice-9 regex) + (scm paper-system) (ice-9 string-fun) - (ice-9 format) (guile) (srfi srfi-1) (srfi srfi-13) (lily)) +(define format ergonomic-simple-format) + (define (header filename) (format "% header \\input{lilypond-tex-metrics} @@ -30,28 +32,28 @@ \\end{document} ") - (define-public (output-classic-framework basename book scopes fields) - (let* ((filename (format "~a.texstr" basename)) - (outputter (ly:make-paper-outputter filename - (ly:output-backend))) + (let* ((filename (format #f "~a.texstr" basename)) + (outputter (ly:make-paper-outputter + (open-file filename "wb") + (ly:get-option 'backend))) (paper (ly:paper-book-paper book)) - (lines (ly:paper-book-systems book)) - ) + (lines (ly:paper-book-systems book))) (ly:outputter-dump-string outputter (header basename)) (for-each (lambda (system) - (ly:outputter-dump-stencil outputter (ly:paper-system-stencil system))) + (ly:outputter-dump-stencil outputter (paper-system-stencil system))) lines) (ly:outputter-dump-string outputter (footer)))) (define-public (output-framework basename book scopes fields ) - (let* ((filename (format "~a.texstr" basename)) - (outputter (ly:make-paper-outputter filename - (ly:output-backend))) + (let* ((filename (format #f "~a.texstr" basename)) + (outputter + (ly:make-paper-outputter + (open-file filename "wb") + (ly:get-option 'backend))) (paper (ly:paper-book-paper book)) - (pages (ly:paper-book-pages book)) - ) + (pages (ly:paper-book-pages book))) (ly:outputter-dump-string outputter (header basename)) (for-each (lambda (page)