lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: \abs-(font)size for \epsfile


From: Malte Meyn
Subject: Re: \abs-(font)size for \epsfile
Date: Sat, 17 Sep 2016 12:11:32 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0


Am 16.09.2016 um 11:53 schrieb Pierre Perol-Schneider:
Hi Malte,

Here is an old thread regarding a similar demand:
http://lilypond.1069038.n5.nabble.com/Absolute-size-for-epsfile-i-e-independent-of-global-staff-size-td161872.html

HTH,
Pierre

Thanks Pierre for the hint and Marc for the solution I found in this thread. This approach also works for other things like baseline-skip overrides, probably I’ll make some other similar commands. It would be nice though to have an easier method to make whole markups “absolute-sized”, maybe something like

\markup \absolute {
  [everything inside behaves as if global staff size
   was the default 20pt]
}

or

\markup \absolute #16 {
  [everything inside behaves as if global staff size
   was 16pt]
}

with an optional argument or \default for #20.

Here my pt-based (instead of mm-based) abs-epsfile and abs-baseline-skip commands, maybe they are of interest for someone.

%%%%%

\version "2.19.47"

% based on epsfile-mm by Marc Hohl
% http://lists.gnu.org/archive/html/lilypond-user/2014-04/msg00632.html
#(define-markup-command
  (abs-epsfile layout props axis size file-name)
  (number? number? string?)
  (let* ((output-scale (ly:output-def-lookup layout 'output-scale))
         (scaled-size-mm (/ size output-scale))
         (scaled-size (* scaled-size-mm (/ 25.4 72.27))))
    (if (ly:get-option 'safe)
        (interpret-markup layout props "not allowed in safe")
        (eps-file->stencil axis scaled-size file-name))))

#(define-markup-command
  (abs-baseline-skip layout props skip m)
  (number? markup?)
  (let* ((output-scale (ly:output-def-lookup layout 'output-scale))
         (scaled-skip-mm (/ skip output-scale))
         (scaled-skip (* scaled-skip-mm (/ 25.4 72.27))))
        (interpret-markup layout props
          (markup #:override (cons 'baseline-skip scaled-skip) m))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]