(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)
`(delay-stencil-evaluation ,(delay expr))
x y))))
+(define-markup-command (with-outline layout props outline arg)
+ (markup? markup?)
+ #:category other
+ "
+Print @var{arg} with the outline and dimensions of @var{outline}."
+ (ly:stencil-outline (interpret-markup layout props arg)
+ (interpret-markup layout props outline)))
+
(define-markup-command (with-dimensions-from layout props arg1 arg2)
(markup? markup?)
#:category other
}
}
@end lilypond"
- (let* ((m (interpret-markup layout props arg))
- (x (ly:stencil-extent m X))
- (y (ly:stencil-extent m Y)))
- (ly:make-stencil (list 'transparent-stencil (ly:stencil-expr m)) x y)))
+ (ly:stencil-outline empty-stencil (interpret-markup layout props arg)))
(define-markup-command (pad-to-box layout props x-ext y-ext arg)
(number-pair? number-pair? markup?)
(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.
@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)))
#:category music
"@var{glyph-name} is converted to a musical symbol; for example,
@code{\\musicglyph #\"accidentals.natural\"} selects the natural sign from
-the music font. See @ruser{The Feta font} for a complete listing of
+the music font. See @ruser{The Emmentaler font} for a complete listing of
the possible glyphs.
@lilypond[verbatim,quote]
(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
(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)))
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.
(padding)
(size 1)
(thickness 1)
+ (line-thickness 0.1)
(width 0.25))
"
@cindex placing parentheses around 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)))