X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fframework-ps.scm;h=ea450708dee6a1adb46f188b9791a0fe49ae5e34;hb=79ee93bd2d973c23f0cea05e85d3b31b3d0766ba;hp=01afebab023e149711773cfea1e1b9323ea6e46e;hpb=9c97d13fc183561c48d2da34c8696a1bc890ea61;p=lilypond.git diff --git a/scm/framework-ps.scm b/scm/framework-ps.scm index 01afebab02..ea450708de 100644 --- a/scm/framework-ps.scm +++ b/scm/framework-ps.scm @@ -42,8 +42,7 @@ (define font-list (ly:paper-fonts paper)) (define (define-font command fontname scaling) (string-append - "/" command " { /" fontname " findfont " - (ly:number->string scaling) " output-scale div scalefont } bind def\n")) + "/" command " { /" fontname " " (ly:number->string scaling) " output-scale div selectfont } bind def\n")) (define (standard-tex-font? x) (or (equal? (substring x 0 2) "ms") @@ -265,15 +264,20 @@ (cons name - (cond - ((string-match "^([eE]mmentaler|[Aa]ybabtu)" file-name) - (ps-load-file (ly:find-file - (format "~a.otf" file-name)))) - ((string? bare-file-name) - (ps-load-file file-name)) - (else - (ly:warning (_ "can't embed ~S=~S") name file-name) - ""))))) + + (if (mac-font? bare-file-name) + (handle-mac-font name bare-file-name) + (cond + ((string-match "^([eE]mmentaler|[Aa]ybabtu)" file-name) + (ps-load-file (ly:find-file + (format "~a.otf" file-name)))) + ((string? bare-file-name) + (ps-load-file file-name)) + (else + (ly:warning (_ "can't embed ~S=~S") name file-name) + ""))) + + ))) (define (dir-join a b) (if (equal? a "") @@ -342,7 +346,15 @@ (else (ly:warning (_ "don't know how to embed ~S=~S") name file-name) "")))) - + + (define (mac-font? bare-file-name) + (and + (eq? PLATFORM 'darwin) + bare-file-name + (or + (string-match "\\.dfont" bare-file-name) + (= (stat:size (stat bare-file-name)) 0)))) + (define (load-font font-name-filename) (let* ((font (car font-name-filename)) (name (cadr font-name-filename)) @@ -353,14 +365,7 @@ name (cond - ((and - (eq? PLATFORM 'darwin) - bare-file-name (string-match "\\.dfont" bare-file-name)) - (handle-mac-font name bare-file-name)) - - ((and - (eq? PLATFORM 'darwin) - bare-file-name (= (stat:size (stat bare-file-name)) 0)) + ((mac-font? bare-file-name) (handle-mac-font name bare-file-name)) ((and font (cff-font? font)) @@ -425,6 +430,9 @@ (display (procset "music-drawing-routines.ps") port) (display (procset "lilyponddefs.ps") port) + (if (not (ly:get-option 'point-and-click)) + (display "/mark_URI { pop pop pop pop pop } bind def\n" port)) + (display "%%EndProlog\n" port) (display "%%BeginSetup\ninit-lilypond-parameters\n%%EndSetup\n\n" port)) @@ -438,6 +446,7 @@ (open-file filename "wb") "ps")) (paper (ly:paper-book-paper book)) + (systems (ly:paper-book-systems book)) (page-stencils (map page-stencil (ly:paper-book-pages book))) (landscape? (eq? (ly:output-def-lookup paper 'landscape) #t)) @@ -445,11 +454,16 @@ (page-count (length page-stencils)) (port (ly:outputter-port outputter))) + (if (ly:get-option 'dump-signatures) + (write-system-signatures basename (ly:paper-book-systems book) 1)) + (output-scopes scopes fields basename) (display (file-header paper page-count #t) port) - (display "\n%%BeginDefaults -%%PageMedia: a4 -%%EndDefaults\n" port) + + + ;; don't do BeginDefaults PageMedia: A4 + ;; not necessary and wrong + (write-preamble paper #t port) @@ -491,7 +505,6 @@ (port (ly:outputter-port outputter)) (xext (ly:stencil-extent dump-me X)) (yext (ly:stencil-extent dump-me Y)) - (foo (display (list xext yext "\n"))) (bbox (map (lambda (x)