X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Foutput-ps.scm;h=6d7767687bb0f9de191cfcc17272154ef8ea5aca;hb=7de4eefd86a8413d032e64ebd6304bfb9aa2645d;hp=b8a4a9bf71cee5a5fef6bd9bb611b346c91874d2;hpb=2e538595214c8c70f863a43859faad5ff9b1ac31;p=lilypond.git diff --git a/scm/output-ps.scm b/scm/output-ps.scm index b8a4a9bf71..6d7767687b 100644 --- a/scm/output-ps.scm +++ b/scm/output-ps.scm @@ -13,14 +13,13 @@ ;;;; * text setting, kerning. ;;;; * document output-interface -(debug-enable 'backtrace) - (define-module (scm output-ps) #:re-export (quote) ;; JUNK this -- see lily.scm: ly:all-output-backend-commands #:export (unknown blank + circle dot white-dot beam @@ -108,21 +107,19 @@ (list arch_angle arch_width arch_height height arch_thick thick)) " draw_bracket")) +(define (circle radius thick fill) + (format + "~a ~a ~a draw_circle" radius thick + (if fill + "true " + "false ") + )) + (define (char font i) (string-append (ps-font-command font) " setfont " "(\\" (ly:inexact->string i 8) ") show")) -;; save current color on stack and set new color -(define (setcolor r g b) - (string-append "currentrgbcolor " - (ly:numbers->string (list r g b)) - " setrgbcolor\n")) - -;; restore color from stack -(define (resetcolor) - (string-append "setrgbcolor\n")) - (define (dashed-line thick on off dx dy) (string-append (ly:number->string dx) " " @@ -177,10 +174,6 @@ (string-append (ly:numbers->string (list breapth width depth height)) " draw_box")) - -(define (utf8-string pango-font-description string) - (ly:warn "utf8-string encountered in PS backend")) - (define (glyph-string postscript-font-name size @@ -197,8 +190,8 @@ (if (and (= 0.0 x) (= 0.0 y)) - (format #f " /~a glyphshow " g) - (format #f " ~a ~a rmoveto /~a glyphshow " + (format #f " /~a glyphshow\n" g) + (format #f " ~a ~a rmoveto /~a glyphshow\n" x y g)))) x-y-named-glyphs)) )) @@ -209,13 +202,15 @@ (ly:music-property cause 'origin))) (location (if (ly:input-location? music-origin) (ly:input-file-line-column music-origin) - #f - )) - (file (if location (string-append (getcwd) "/" (car location)) + #f)) + (file (if location + (if (and (> 0 (string-length (car location))) + (eq? (string-ref (car location) 0) #\/)) + location + (string-append (getcwd) "/" (car location))) #f)) (x-ext (ly:grob-extent grob grob X)) - (y-ext (ly:grob-extent grob grob Y)) - ) + (y-ext (ly:grob-extent grob grob Y))) (if (and location (< 0 (interval-length x-ext)) @@ -267,19 +262,29 @@ (ly:numbers->string (list wid slope thick)) " draw_repeat_slash")) +;; restore color from stack +(define (resetcolor) + (string-append "setrgbcolor\n")) + (define (round-filled-box x y width height blotdiam) (string-append (ly:numbers->string (list x y width height blotdiam)) " draw_round_box")) +;; save current color on stack and set new color +(define (setcolor r g b) + (string-append "currentrgbcolor " + (ly:numbers->string (list r g b)) + " setrgbcolor\n")) + (define (text font s) -; (ly:warn "TEXT backend-command encountered in Pango backend\nargs: ~a ~a" font str) + ;; (ly:warning (_ "TEXT backend-command encountered in Pango backend")) + ;; (ly:warning (_ "Arguments: ~a ~a"" font str)) (let* ((space-length (cdar (ly:text-dimension font " "))) (space-move (string-append (number->string space-length) " 0.0 rmoveto ")) - (input-enc "latin1") - (out-vec (decode-byte-string input-enc s))) + (out-vec (decode-byte-string s))) (string-append (ps-font-command font) " setfont " @@ -304,24 +309,21 @@ (cdr y) url)) +(define (utf8-string pango-font-description string) + (ly:warning (_ "utf8-string encountered in PS backend"))) + (define (white-dot x y radius) (string-append " " (ly:numbers->string (list x y radius)) " draw_white_dot")) -;; FIXME: BARF helvetica? (define (white-text scale s) (let ((mystring (string-append "(" s ") " (number->string scale) " /Helvetica-Bold " " draw_white_text"))) mystring - - ;; FIXME - (ly:warn "FIXME: white-text broken for Han-Wen's $HOME install of GS 8.x") - - "" )) (define (zigzag-line centre? zzw zzh thick dx dy)