[Top][All Lists]

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

Re: Key cancellation, position bug

From: Thomas Morley
Subject: Re: Key cancellation, position bug
Date: Tue, 24 Apr 2018 01:19:23 +0200

2018-04-23 20:51 GMT+02:00 Torsten Hämmerle <address@hidden>:
> foxfanfare wrote
>> Is it "tweakable" until a fix comes around?

> There is some kind of "kerning" possibility by using the padding-pairs
> property, but event this is useless in our case because all signs are
> naturals, but we need different kerning between natural and natural
> depending on their spatial arrangement.
> All the rest is pretty much hard-wired in C, there's even a special
> exception applying extra padding to natural signs, but it does not consider
> the individual vertical distance between the glyphs.
> Maybe Harm has a diabolic scheme tweak in his fist-aid collection, but in
> this case, I doubt it...


I played a little with 'padding-pairs.
Obviously the execption to add 0.3 padding in
key-signature-interface.cc only applies if 'padding-pairs is unset.

Below is limited to flat-cancellation:

\version "2.19.81"

foo =
  \override Staff.KeyCancellation.padding-pairs =
    #(lambda (grob)
      (let* ((alteration-alist (ly:grob-property grob 'alteration-alist)))
    ;; limited to flat-cancellation
    (if (every negative? (map cdr alteration-alist))
        '((("accidentals.natural" . "accidentals.natural") . 0.2))

\layout {

   { \key aes \major s1  \key c \major s }
   { \key e \major s1  \key c \major s }

For flat-cancellation:
The result is an even spacing of every natural. I'd call it a slight
improvement, but far from optimal.
The gap between first/second natural feels too wide and between
second/third too tight.
Sharp-cancellation is unchanged.

Nothing else in my black-box.


reply via email to

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