X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-markup-commands.scm;h=3e7b2f2308f2e61d35282743328ded3e69d90a81;hb=HEAD;hp=fbc7ee5ecb9f698872e7ad8c64efceabcc72961c;hpb=afbf2adcf51b409d7825daa71f6869f7dbf0385a;p=lilypond.git diff --git a/scm/define-markup-commands.scm b/scm/define-markup-commands.scm index fbc7ee5ecb..3e7b2f2308 100644 --- a/scm/define-markup-commands.scm +++ b/scm/define-markup-commands.scm @@ -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)))