CVSROOT: /cvsroot/lilypond Module name: lilypond Branch: lilypond_2_6 Changes by: Jan Nieuwenhuizen <[EMAIL PROTECTED]> 05/08/07 07:19:13
Modified files: scm : framework-ps.scm . : ChangeLog Log message: CVSWeb URLs: http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/framework-ps.scm.diff?only_with_tag=lilypond_2_6&tr1=1.125.2.1&tr2=1.125.2.2&r1=text&r2=text http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ChangeLog.diff?only_with_tag=lilypond_2_6&tr1=1.3836.2.20&tr2=1.3836.2.21&r1=text&r2=text Patches: Index: lilypond/ChangeLog diff -u lilypond/ChangeLog:1.3836.2.20 lilypond/ChangeLog:1.3836.2.21 --- lilypond/ChangeLog:1.3836.2.20 Fri Aug 5 07:53:00 2005 +++ lilypond/ChangeLog Sun Aug 7 07:19:12 2005 @@ -1,3 +1,8 @@ +2005-08-06 Jan Nieuwenhuizen <[EMAIL PROTECTED]> + + * scm/framework-ps.scm (munge-lily-font-name): Bugfix: Munge only + plain emmentaler/aybabtu. Backport. + 2005-08-04 Graham Percival <[EMAIL PROTECTED]> * Documentation/user/lilypond.tely: set documentencoding utf-8. Index: lilypond/scm/framework-ps.scm diff -u lilypond/scm/framework-ps.scm:1.125.2.1 lilypond/scm/framework-ps.scm:1.125.2.2 --- lilypond/scm/framework-ps.scm:1.125.2.1 Thu Aug 4 20:29:40 2005 +++ lilypond/scm/framework-ps.scm Sun Aug 7 07:19:12 2005 @@ -1,9 +1,8 @@ -;; -;; framework-ps.scm -- structure for PostScript output -;; -;; source file of the GNU LilyPond music typesetter -;; -;; (c) 2004--2005 Han-Wen Nienhuys <[EMAIL PROTECTED]> +;;;; framework-ps.scm -- structure for PostScript output +;;;; +;;;; source file of the GNU LilyPond music typesetter +;;;; +;;;; (c) 2004--2005 Han-Wen Nienhuys <[EMAIL PROTECTED]> (define-module (scm framework-ps)) @@ -189,7 +188,10 @@ "%%EndSetup\n")) (define-public (munge-lily-font-name name) - (regexp-substitute/global #f "([eE]mmentaler|[aA]ybabtu)" + ;; FIXME: this fixes PFAPAFemmentaler.pfapfa, and also + ;; PFAaybabtu.otf.pfa, but the second case now produces aybabtu.otf, + ;; which still fails because .otf files cannot be embedded. + (regexp-substitute/global #f "^([eE]mmentaler|[aA]ybabtu)" name 'pre "PFA" 1 'post)) (define (cff-font? font) @@ -236,7 +238,7 @@ (format (if (string? name) "(~a) (r) file .loadfont\n" - "% fontfile ~a could not be found\n") + "% can't find font file: ~a\n") name)) (let* ((font (car font-name-filename)) @@ -247,17 +249,16 @@ (cons (munge-lily-font-name name) (cond - ((string-match "([eE]mmentaler|[Aa]ybabtu)" file-name) + ((string-match "^([eE]mmentaler|[Aa]ybabtu)" file-name) (ps-load-file (ly:find-file (format "~a.pfa" (munge-lily-font-name file-name))))) ((string? bare-file-name) (ps-load-file (munge-lily-font-name file-name))) (else - (ly:warning (_ "don't know how to embed ~S=~S") name file-name) + (ly:warning (_ "can't embed ~S=~S") name file-name) ""))))) - ;; ugh. posix /windows/mingw? - (define (path-join a b) + (define (dir-join a b) (if (equal? a "") b (string-append a "/" b))) @@ -288,19 +289,19 @@ (if (and (not embed) (string-match (string-append name "\\.") f)) (set! embed - (font-file-as-ps-string name (path-join dir-name f)))) + (font-file-as-ps-string name (dir-join dir-name f)))) (if (or (equal? "." f) (equal? ".." f)) #t - (delete-file (path-join dir-name f)))) + (delete-file (dir-join dir-name f)))) files) (rmdir dir-name) (if (not embed) (begin (set! embed "% failed \n") - (ly:warning (_ "Couldn't extract file matching ~a from ~a") name filename))) + (ly:warning (_ "can't extract file matching ~a from ~a") name filename))) embed)) (define (font-file-as-ps-string name file-name) @@ -318,19 +319,18 @@ (ps-embed-cff (ly:otf->cff file-name) name 0)) (else (ly:warning (_ "don't know how to embed ~S=~S") name file-name) - "") - ))) + "")))) (define (load-font font-name-filename) (let* ((font (car font-name-filename)) (name (cadr font-name-filename)) (file-name (caddr font-name-filename)) (bare-file-name (ly:find-file file-name))) - + (cons (munge-lily-font-name name) (cond - ((string-match "([eE]mmentaler|[Aa]ybabtu)" file-name) + ((string-match "^([eE]mmentaler|[Aa]ybabtu)" file-name) (cached-file-contents (format "~a.pfa" (munge-lily-font-name file-name)))) ((and @@ -407,7 +407,12 @@ (define-public (output-framework basename book scopes fields) (let* ((filename (format "~a.ps" basename)) - (outputter (ly:make-paper-outputter filename "ps")) + (outputter (ly:make-paper-outputter + ;; FIXME: better wrap open/open-file, + ;; content-mangling is always bad. + ;; MINGW hack: need to have "b"inary for embedding CFFs + (open-file filename "wb") + "ps")) (paper (ly:paper-book-paper book)) (pages (ly:paper-book-pages book)) (landscape? (eq? (ly:output-def-lookup paper 'landscape) #t)) @@ -415,6 +420,8 @@ (page-count (length pages)) (port (ly:outputter-port outputter))) + (paper-book-write-midis book basename) + (output-scopes scopes fields basename) (display (page-header paper page-count #t) port) (write-preamble paper #t port) @@ -448,7 +455,12 @@ (max (1+ (car box)) (caddr box)) (max (1+ (cadr box)) (cadddr box))))) - (let* ((outputter (ly:make-paper-outputter (format "~a.eps" filename) "ps")) + (let* ((outputter (ly:make-paper-outputter + ;; FIXME: better wrap open/open-file, + ;; content-mangling is always bad. + ;; MINGW hack: need to have "b"inary for embedding CFFs + (open-file (format "~a.eps" filename) "wb") + "ps")) (port (ly:outputter-port outputter)) (xext (ly:stencil-extent dump-me X)) (yext (ly:stencil-extent dump-me Y)) _______________________________________________ Lilypond-cvs mailing list Lilypond-cvs@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-cvs