X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fframework-ps.scm;h=fb00c1c05ff82275f9d243bad06e809b5e246244;hb=460749bd94a022bb11ecd3de38b078f4135711c1;hp=2418b1c854827d67bd01bb0aa7feabb442b31d26;hpb=85cd825c1e09a31ae016c078971d78d7ad047e44;p=lilypond.git diff --git a/scm/framework-ps.scm b/scm/framework-ps.scm index 2418b1c854..fb00c1c05f 100644 --- a/scm/framework-ps.scm +++ b/scm/framework-ps.scm @@ -231,6 +231,27 @@ (define (write-preamble paper load-fonts? port) + + (define (load-font-via-GS font-name-filename) + (define (ps-load-file name) + (format "(~a) (r) file .loadfont " name)) + + (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) + (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) + ""))))) (define (load-font font-name-filename) (let* ((font (car font-name-filename)) @@ -245,10 +266,15 @@ (cached-file-contents bare-file-name)) ((and bare-file-name (string-match "\\.pfb" bare-file-name)) (ly:pfb->pfa bare-file-name)) - + ((and bare-file-name (string-match "\\.ttf" bare-file-name)) + (ly:ttf->pfa bare-file-name)) + ((string-match "([eE]mmentaler|[Aa]ybabtu)" file-name) (cached-file-contents (format "~a.pfa" (munge-lily-font-name file-name)))) + + ((and bare-file-name (string-match "\\.otf" bare-file-name)) + (ps-embed-cff (ly:otf->cff bare-file-name) name 0)) ((and bare-file-name (string-match "\\.ttf" bare-file-name)) (ly:ttf->pfa bare-file-name)) @@ -257,17 +283,12 @@ (ps-embed-cff (ly:otf-font-table-data font "CFF ") name 0)) - (bare-file-name (cached-file-contents bare-file-name)) - (cff-file-name (cached-file-contents cff-file-name)) (else - (ly:warning (_ "can't find CFF/PFA/PFB font ~S=~S" name file-name)) - (cons font-name ""))) - ))) - + (ly:warning (_ "don't know how to embed ~S=~S") name file-name) + ""))))) (define (load-fonts paper) (let* ((fonts (ly:paper-fonts paper)) - (all-font-names (map (lambda (font) @@ -309,9 +330,7 @@ ; adobe note 5002: should initialize variables before loading routines. (display (procset "music-drawing-routines.ps") port) (display (procset "lilyponddefs.ps") port) - (display "init-lilypond-parameters\n" port) - - ) + (display "init-lilypond-parameters\n" port)) (define-public (output-framework basename book scopes fields) (let* ((filename (format "~a.ps" basename))