X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Foutput-ps.scm;h=97909da80cf6b8537ba39fcbc384825156361978;hb=a6a51abfd0195a3cf7d6ea095cf69808852f21ce;hp=c4c0a4da07bb93d1547927c3a2be119a407031c6;hpb=cd5b559ab016dad5100eab3105218df94ab9f402;p=lilypond.git diff --git a/scm/output-ps.scm b/scm/output-ps.scm index c4c0a4da07..97909da80c 100644 --- a/scm/output-ps.scm +++ b/scm/output-ps.scm @@ -35,25 +35,6 @@ (scm framework-ps) (lily)) -;;; helper functions, not part of output interface -;;; - - -;; ice-9 format uses a lot of memory -;; using simple-format almost halves lilypond cell usage - -(define (str4 num) - (if (or (nan? num) (inf? num)) - (begin - (ly:warning (_ "Found infinity or nan in output. Substituting 0.0")) - (if (ly:get-option 'strict-infinity-checking) - (exit 1)) - "0.0") - (ly:number->string num))) - -(define (number-pair->string4 numpair) - (ly:format "~4l" numpair)) - ;;; ;;; Lily output interface, PostScript implementation --- cleanup and docme ;;; @@ -71,10 +52,10 @@ "false") radius thick)) -(define (start-enclosing-id-node s) +(define (start-group-node attributes) "") -(define (end-enclosing-id-node) +(define (end-group-node) "") (define (dashed-line thick on off dx dy phase) @@ -295,15 +276,20 @@ (ly:warning (_ "unknown line-join-style: ~S") (symbol->string join)) 1))))) - (ly:format - "gsave currentpoint translate + (ly:format + "gsave currentpoint translate ~a setlinecap ~a setlinejoin ~a setlinewidth -~l gsave stroke grestore ~a grestore" - cap-numeric - join-numeric - thickness - (convert-path-exps exps) - (if fill? "fill" "")))) +~l ~a grestore" + cap-numeric + join-numeric + thickness + (convert-path-exps exps) + ;; print outline contour only if there is no fill or if + ;; contour is explicitly requested with a thickness > 0 + (cond ((not fill?) "stroke") + ((positive? thickness) "gsave stroke grestore fill") + (else "fill"))))) + (define (setscale x y) (ly:format "gsave ~4l scale\n"