[Please stay on the list] >>> I want to tweak the spacing between double dots, which is a bit >>> wide (in my context, at least). I have found ways to reduce the >>> spacing before and after the group of dots, but can't uncover >>> anything that relates to spacing within the group. >> >> You have to override the 'stencil' property of the 'Dots' grob >> with your own function. Right now, it uses `ly:dots::print` (see >> file `output-lib.scm`), which takes the horizontal extent of >> Emmentaler's 'dots.dot' glyph as a padding value while stacking the >> dots horizontally. >> >> Copy this function to your input file, call it 'my-dots' and >> slightly modify it to, say, multiply the padding with factor 0.9, >> then register it by saying >> >> ``` >> \override Dots.stencil = #my-dots >> ``` > > Thanks for that - but sadly it seems not to be possible in v2.23.3, > which I'm stuck with for now, because dots::print is not in Scheme.
In such situations I suggest that you look into LilyPond's git repository at https://gitlab.com/lilypond/lilypond/ as an inspiration for what you need :-) I tested the following with 2.23.6. Note that it doesn't produce correct output with 2.25.29. Maybe Harm finds a better solution... Werner ====================================================================== #(define (my-dots grob) (let* ((font (ly:grob-default-font grob)) (dot-stencil (ly:font-get-glyph font "dots.dot")) (padding (* (interval-length (ly:stencil-extent dot-stencil X)) 0.5)) (count (ly:grob-property grob 'dot-count 0))) (stack-stencils X RIGHT padding (cons point-stencil (make-list count dot-stencil))))) { f'2.... s32 \break } { \override Dots.stencil = #my-dots f'2.... s32 }