]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/define-markup-commands.scm
(get_default_dir): oops. Take abs () for
[lilypond.git] / scm / define-markup-commands.scm
index 10c68a27af077a33a523db245c0d352ddb1390ec..eee2783965a94cc0b9afdebcfe931b1b9df8f43e 100644 (file)
@@ -87,7 +87,7 @@ the PDF backend."
                    width (+ (* width slope)  (/ thickness -2))
                    width (+ (* width slope)  (/ thickness 2))
                    0 (/ thickness 2))
-              ,(ly:output-def-lookup layout 'blotdiameter)
+              ,(ly:output-def-lookup layout 'blot-diameter)
               #t)
      (cons 0 width)
      (cons (+ (- half) (car yext))
@@ -146,7 +146,7 @@ thickness and padding around the markup."
 ;;FIXME: is this working? 
 (def-markup-command (strut layout props) ()
   "Create a box of the same height as the space in the current font."
-  (let ((m (Text_interface::interpret_markup layout props " ")))
+  (let ((m (ly:text-interface::interpret-markup layout props " ")))
     (ly:make-stencil (ly:stencil-expr m)
                     '(1000 . -1000)
                     (ly:stencil-extent m X)
@@ -190,44 +190,14 @@ normally inserted before elements on a line.
             
        #f)))
 
-(def-markup-command (epsfile layout props file-name) (string?)
-  "Inline an EPS image. The image is scaled such that 10 PS units is
-one staff-space."
+(def-markup-command (epsfile layout props axis size file-name) (number? number? string?)
+  "Inline an EPS image. The image is scaled along @var{axis} to
+@var{size}."
 
   (if (ly:get-option 'safe)
-      (interpret-markup layout props "not allowed in safe") 
-      (let*
-         ((contents (ly:gulp-file file-name))
-          (bbox (get-postscript-bbox contents))
-          (scaled-bbox
-           (if bbox
-               (map (lambda (x) (/ x 10)) bbox)
-               (begin
-                 (ly:warning (_ "can't find bounding box of `~a'")
-                          file-name)
-                 '()))))
-       
-
-       (if bbox
-           
-           (ly:make-stencil
-            (list
-             'embedded-ps
-             (string-append
-
-              ; adobe 5002.
-              "BeginEPSF "
-              "0.1 0.1 scale "
-              (format "\n%%BeginDocument: ~a\n" file-name)
-              contents
-              "%%EndDocument\n"
-              "EndEPSF\n"
-              ))
-            (cons (list-ref scaled-bbox 0) (list-ref scaled-bbox 2))
-            (cons (list-ref scaled-bbox 1) (list-ref scaled-bbox 3)))
-           
-           (ly:make-stencil "" '(0 . 0) '(0 . 0))))))  
-
+      (interpret-markup layout props "not allowed in safe")
+      (eps-file->stencil axis size file-name)
+      ))
 
 (def-markup-command (postscript layout props str) (string?)
   "This inserts @var{str} directly into the output as a PostScript
@@ -349,7 +319,7 @@ gsave /ecrm10 findfont
         (text-dir (chain-assoc-get 'text-direction props RIGHT))
         (word-count (length stencils))
         (word-space (chain-assoc-get 'word-space props))
-        (line-width (chain-assoc-get 'linewidth props))
+        (line-width (chain-assoc-get 'line-width props))
         (fill-space
                (cond
                        ((= word-count 1) 
@@ -482,7 +452,7 @@ determines the space between each markup in @var{args}."
 (define (wordwrap-markups layout props args justify)
   (let*
       ((baseline-skip (chain-assoc-get 'baseline-skip props))
-       (line-width (chain-assoc-get 'linewidth props))
+       (line-width (chain-assoc-get 'line-width props))
        (word-space (chain-assoc-get 'word-space props))
        (text-dir (chain-assoc-get 'text-direction props RIGHT)) 
        (lines (wordwrap-stencils
@@ -496,21 +466,21 @@ determines the space between each markup in @var{args}."
 
 (def-markup-command (justify layout props args) (markup-list?)
   "Like wordwrap, but with lines stretched to justify the margins.
-Use @code{\\override #'(linewidth . X)} to set linewidth, where X
+Use @code{\\override #'(line-width . X)} to set line-width, where X
 is the number of staff spaces."
 
   (wordwrap-markups layout props args #t))
 
 (def-markup-command (wordwrap layout props args) (markup-list?)
-  "Simple wordwrap.  Use @code{\\override #'(linewidth . X)} to set
-linewidth, where X is the number of staff spaces."
+  "Simple wordwrap.  Use @code{\\override #'(line-width . X)} to set
+line-width, where X is the number of staff spaces."
 
   (wordwrap-markups layout props args #f))
 
 (define (wordwrap-string layout props justify arg) 
   (let*
       ((baseline-skip (chain-assoc-get 'baseline-skip props))
-       (line-width (chain-assoc-get 'linewidth props))
+       (line-width (chain-assoc-get 'line-width props))
        (word-space (chain-assoc-get 'word-space props))
        
        (para-strings (regexp-split
@@ -579,10 +549,16 @@ linewidth, where X is the number of staff spaces."
 (def-markup-command (column layout props args) (markup-list?)
   "Stack the markups in @var{args} vertically.  The property
 @code{baseline-skip} determines the space between each markup in @var{args}."
-  (stack-lines
-   -1 0.0 (chain-assoc-get 'baseline-skip props)
-   (remove ly:stencil-empty?
-          (map (lambda (m) (interpret-markup layout props m)) args))))
+
+  (let*
+      ((arg-stencils (map (lambda (m) (interpret-markup layout props m)) args))
+       (skip (chain-assoc-get 'baseline-skip props)))
+
+    
+    (stack-lines
+     -1 0.0 skip
+     (remove ly:stencil-empty? arg-stencils))))
+
 
 (def-markup-command (dir-column layout props args) (markup-list?)
   "Make a column of args, going up or down, depending on the setting
@@ -598,6 +574,7 @@ of the @code{#'direction} layout property."
   "Put @code{args} in a centered column. "
   (let* ((mols (map (lambda (x) (interpret-markup layout props x)) args))
          (cmols (map (lambda (x) (ly:stencil-aligned-to x X CENTER)) mols)))
+    
     (stack-lines -1 0.0 (chain-assoc-get 'baseline-skip props) cmols)))
 
 (def-markup-command (vcenter layout props arg) (markup?)
@@ -756,7 +733,7 @@ any sort of property supported by @internalsref{font-interface} and
   (interpret-markup
    layout props
    (if  (ly:get-option 'safe)
-       "Cannot read file in Safe mode"
+       "verbatim-file disabled in safe mode"
        (let*
            ((str (ly:gulp-file name))
             (lines (string-split str #\nl)))
@@ -1023,13 +1000,13 @@ letter 'A'."
 (def-markup-command (markletter layout props num) (integer?)
   "Make a markup letter for @var{num}.  The letters start with A to Z
  (skipping I), and continues with double letters."
-  (Text_interface::interpret_markup layout props
+  (ly:text-interface::interpret-markup layout props
     (number->markletter-string number->mark-letter-vector num)))
 
 (def-markup-command (markalphabet layout props num) (integer?)
    "Make a markup letter for @var{num}.  The letters start with A to Z
  and continues with double letters."
-   (Text_interface::interpret_markup layout props
+   (ly:text-interface::interpret-markup layout props
      (number->markletter-string number->mark-alphabet-vector num)))