]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/define-markup-commands.scm
Add '-dcrop' option to ps and svg backends
[lilypond.git] / scm / define-markup-commands.scm
index fbc7ee5ecb9f698872e7ad8c64efceabcc72961c..3e7b2f2308f2e61d35282743328ded3e69d90a81 100644 (file)
@@ -1595,16 +1595,11 @@ equivalent to @code{\"fi\"}.
                         (cons arg result-list))))
                 '()
                 arg-list))
-
-  (interpret-markup layout
-                    (prepend-alist-chain 'word-space 0 props)
-                    (make-line-markup
-                     (make-override-lines-markup-list
-                      (cons 'word-space
-                            (chain-assoc-get 'word-space props))
-                      (if (markup-command-list? args)
-                          args
-                          (concat-string-args args))))))
+  (stack-stencil-line 0
+                      (interpret-markup-list layout props
+                                             (if (markup-command-list? args)
+                                                 args
+                                                 (concat-string-args args)))))
 
 (define (wordwrap-stencils stencils
                            justify base-space line-width text-dir)
@@ -2642,6 +2637,7 @@ may be any property supported by @rinternals{font-interface},
 
 (define-markup-command (abs-fontsize layout props size arg)
   (number? markup?)
+  #:properties ((word-space 0.6) (baseline-skip 3))
   #:category font
   "Use @var{size} as the absolute font size (in points) to display @var{arg}.
 Adjusts @code{baseline-skip} and @code{word-space} accordingly.
@@ -2657,14 +2653,12 @@ Adjusts @code{baseline-skip} and @code{word-space} accordingly.
 @end lilypond"
   (let* ((ref-size (ly:output-def-lookup layout 'text-font-size 12))
          (text-props (list (ly:output-def-lookup layout 'text-font-defaults)))
-         (ref-word-space (chain-assoc-get 'word-space text-props 0.6))
-         (ref-baseline (chain-assoc-get 'baseline-skip text-props 3))
          (magnification (/ size ref-size)))
     (interpret-markup
      layout
      (cons
-      `((baseline-skip . ,(* magnification ref-baseline))
-        (word-space . ,(* magnification ref-word-space))
+      `((baseline-skip . ,(* magnification baseline-skip))
+        (word-space . ,(* magnification word-space))
         (font-size . ,(magnification->font-size magnification)))
       props)
      arg)))
@@ -3726,6 +3720,10 @@ mensural-flags.  Both are supplied for convenience.
   (let* ((font (ly:paper-get-font layout (cons '((font-encoding . fetaMusic)
                                                  (font-name . #f))
                                                props)))
+         ;; default for text-font-size is 11
+         ;; hence we use (/ text-font-size 11) later, to ensure proper scaling
+         ;; of stem-length and thickness
+         (text-font-size (ly:output-def-lookup layout 'text-font-size 11))
          (size-factor (magstep font-size))
          (blot (ly:output-def-lookup layout 'blot-diameter))
          (head-glyph-name
@@ -3749,8 +3747,9 @@ mensural-flags.  Both are supplied for convenience.
          (attach-indices (ly:note-head::stem-attachment font head-glyph-name))
          (stem-length (* size-factor (max 3 (- log 1))))
          ;; With ancient-flags we want a tighter stem
-         (stem-thickness (* size-factor (if ancient-flags? 0.1 0.13)))
-         (stemy (* dir stem-length))
+         (stem-thickness
+           (* size-factor (/ text-font-size 11) (if ancient-flags? 0.1 0.13)))
+         (stemy (* dir (/ text-font-size 11) stem-length))
          (attach-off (cons (interval-index
                             (ly:stencil-extent head-glyph X)
                             (* (sign dir) (car attach-indices)))
@@ -3818,7 +3817,6 @@ mensural-flags.  Both are supplied for convenience.
                                     stem-thickness
                                     0))
                              (+ stemy flag-style-Y-corr))))))
-
     ;; If there is a flag on an upstem and the stem is short, move the dots
     ;; to avoid the flag.  16th notes get a special case because their flags
     ;; hang lower than any other flags.
@@ -4453,6 +4451,7 @@ Draw vertical brackets around @var{arg}.
                 (padding)
                 (size 1)
                 (thickness 1)
+                (line-thickness 0.1)
                 (width 0.25))
   "
 @cindex placing parentheses around text
@@ -4483,12 +4482,11 @@ a column containing several lines of text.
   (let* ((m (interpret-markup layout props arg))
          (scaled-width (* size width))
          (scaled-thickness
-          (* (chain-assoc-get 'line-thickness props 0.1)
-             thickness))
+          (* line-thickness thickness))
          (half-thickness
           (min (* size 0.5 scaled-thickness)
                (* (/ 4 3.0) scaled-width)))
-         (padding (chain-assoc-get 'padding props half-thickness)))
+         (padding (or padding half-thickness)))
     (parenthesize-stencil
      m half-thickness scaled-width angularity padding)))