X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fframework-texstr.scm;h=2b13a29eabd0893a1f5ffd47f819689534806af0;hb=75eebcb49e52d296b1da3e1074e0825d2c780db4;hp=e021f471ef022ff59223ecb3d1dfce5311c03660;hpb=c2f07cdcb1aa36338ebe0b88f52bc042e95e31d4;p=lilypond.git diff --git a/scm/framework-texstr.scm b/scm/framework-texstr.scm index e021f471ef..2b13a29eab 100644 --- a/scm/framework-texstr.scm +++ b/scm/framework-texstr.scm @@ -2,7 +2,7 @@ ;;;; ;;;; source file of the GNU LilyPond music typesetter ;;;; -;;;; (c) 2004 Han-Wen Nienhuys +;;;; (c) 2004--2006 Han-Wen Nienhuys (define-module (scm framework-texstr) #:export (output-framework-tex @@ -16,17 +16,48 @@ (srfi srfi-13) (lily)) +(define (header filename) + (format "% header +\\input{lilypond-tex-metrics} +\\documentclass{article} +\\lilyglobalscale{1.0} +\\lilymetricsfile{~a.textmetrics} +\\begin{document} +" filename)) -(define-public (output-framework outputter book scopes fields basename ) - (let* ((paper (ly:paper-book-paper book)) - (pages (ly:paper-book-pages book)) - ) +(define (footer) + " +\\end{document} +") + +(define-public (output-classic-framework basename book scopes fields) + (let* ((filename (format "~a.texstr" basename)) + (outputter (ly:make-paper-outputter + (open-file filename "wb") + (ly:output-backend))) + (paper (ly:paper-book-paper book)) + (lines (ly:paper-book-systems book))) + (ly:outputter-dump-string outputter (header basename)) + (for-each + (lambda (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 + (open-file filename "wb") + (ly:output-backend))) + (paper (ly:paper-book-paper book)) + (pages (ly:paper-book-pages book))) + (ly:outputter-dump-string outputter (header basename)) (for-each (lambda (page) (ly:outputter-dump-stencil outputter page)) - pages))) - - + pages) + (ly:outputter-dump-string outputter (footer)))) (define-public (convert-to-ps . args) #t) (define-public (convert-to-pdf . args) #t)