[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Alignment of stroke fingering
From: |
Neil Puttock |
Subject: |
Re: Alignment of stroke fingering |
Date: |
Mon, 13 Apr 2009 16:47:30 +0100 |
2009/4/13 Nick Payne <address@hidden>:
> Guitar stroke fingering is lower case, but with the orientation set to up,
> the p is not correctly aligned with the other characters in a succession of
> fingering indications, and with the orientation set to down, the i is
> similarly misaligned.
>
> This doesn't look pleasing to the eye, and indeed, when I flip through some
> of the commercially engraved guitars scores that I have, they align the
> lower case p and i as if they were set in running text. See attached scan
> for an example (Brouwer Estudios Sencillos #6).
Here's a hack using the trick detailed in the LSR for aligning
dynamics (http://lsr.dsi.unimi.it/LSR/Item?id=200):
#(define RH rightHandFinger)
#(define (my-stroke-finger::calc-text grob)
(let* ((digit (ly:event-property (event-cause grob) 'digit))
(text (ly:event-property (event-cause grob) 'text))
(finger (vector-ref (ly:grob-property grob 'digit-names)
(1- (max (min 5 digit) 1))))
(direction (ly:grob-property grob 'direction)))
(if (string? text)
text
(if (= direction 0)
finger
(make-combine-markup (cond
((= direction UP)
(make-transparent-markup "p"))
((= direction DOWN)
(make-transparent-markup "i")))
finger)))))
\relative c'' {
\override StrokeFinger #'text = #my-stroke-finger::calc-text
\set strokeFingerOrientations = #'(up)
<c-\RH #1 >4 <c-\RH #2 > <c-\RH #3 > <c-\RH #4 >
\set strokeFingerOrientations = #'(down)
<c-\RH #1 > <c-\RH #2 > <c-\RH #3 > <c-\RH #4 >
}
Regards,
Neil