]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/output-ps.scm
Small makefile fix required for compiling on FreeBSD.
[lilypond.git] / scm / output-ps.scm
index 7d5ed56e9acb4bd3e3c92e45d915ac4b33167555..a77a3fe3c4ac3c4cfa5b67db91da3aa3398eb866 100644 (file)
     (list arch_angle arch_width arch_height height arch_thick thick))
    " draw_bracket"))
 
+(define (char font i)
+  (string-append 
+   (ps-font-command font) " setfont " 
+   "(\\" (ly:inexact->string i 8) ") show"))
+
 (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"))
+       "false ")))
 
 (define (dashed-line thick on off dx dy)
   (string-append 
 
 (define (glyph-string
         postscript-font-name
-        size
+        size cid?
         x-y-named-glyphs)
+
   (format #f "gsave 1 output-scale div 1 output-scale div scale
-  /~a findfont ~a scalefont setfont\n~a grestore" postscript-font-name size
-  (apply
-   string-append
-   (map (lambda  (item)
-         (let
-             ((x (car item))
-               (y (cadr item))
-               (g (caddr item)))
-
-           (if (and (= 0.0 x)
-                    (= 0.0 y))
-               (format #f " /~a glyphshow\n" g)
-               (format #f " ~a ~a rmoveto /~a glyphshow\n"
-                       x y g))))
-       x-y-named-glyphs))))
+  /~a ~a ~a scalefont setfont\n~a grestore"
+         postscript-font-name
+         (if cid?
+             " /CIDFont findresource "
+             " findfont") 
+         
+         size
+         (apply
+          string-append
+          (map (lambda  (item)
+                 (let*
+                     ((x (car item))
+                      (y (cadr item))
+                      (g (caddr item))
+                      (prefix (if  (string? g) "/" "")))
+
+                   (if (and (= 0.0 x)
+                            (= 0.0 y))
+                       (format #f " ~a~a glyphshow\n" prefix g)
+                       (format #f " ~a ~a rmoveto ~a~a glyphshow\n"
+                               x y
+                               prefix
+                               g))))
+               x-y-named-glyphs))))
 
 (define (grob-cause offset grob)
   (let* ((cause (ly:grob-property grob 'cause))
        ""
        (let* ((location (ly:input-file-line-column music-origin))
               (raw-file (car location))
-              (file (if (and (> (string-length raw-file) 0)
-                             (eq? (string-ref raw-file 0) #\/))
+              (file (if (is-absolute? raw-file)
                         raw-file
-                        (string-append (getcwd) "/" raw-file)))
+                        (string-append (ly-getcwd) "/" raw-file)))
               (x-ext (ly:grob-extent grob grob X))
               (y-ext (ly:grob-extent grob grob Y)))