From 9555390b4d4bf94d9d53b48220a9746dc501ef13 Mon Sep 17 00:00:00 2001 From: Keith OHara Date: Wed, 4 Sep 2013 23:50:36 -0700 Subject: [PATCH] DynamicText: reference point at middle of ex-height --- scm/define-grobs.scm | 3 +-- scm/output-lib.scm | 5 +++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm index 9838d2deeb..097ffdc370 100644 --- a/scm/define-grobs.scm +++ b/scm/define-grobs.scm @@ -846,12 +846,11 @@ (positioning-done . ,ly:script-interface::calc-positioning-done) (right-padding . 0.5) (self-alignment-X . ,CENTER) - (self-alignment-Y . ,CENTER) (stencil . ,ly:text-interface::print) (vertical-skylines . ,grob::always-vertical-skylines-from-stencil) (Y-extent . ,grob::always-Y-extent-from-stencil) (X-offset . ,ly:self-alignment-interface::x-aligned-on-self) - (Y-offset . ,self-alignment-interface::y-aligned-on-self) + (Y-offset . ,(scale-by-font-size -0.6)) ; center on an 'm' (meta . ((class . Item) (interfaces . (dynamic-interface dynamic-text-interface diff --git a/scm/output-lib.scm b/scm/output-lib.scm index e04b298975..33a03139de 100644 --- a/scm/output-lib.scm +++ b/scm/output-lib.scm @@ -854,6 +854,11 @@ and duration-log @var{log}." the previous calculated offset value." prev-offset) +(define-public (scale-by-font-size x) + (ly:make-unpure-pure-container + (lambda (grob) + (* x (magstep (ly:grob-property grob 'font-size 0)))))) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; -- 2.39.5