Thanks for the tip, Valentin, great to know about this. On Sat, May 4, 2024 at 3:22 AM Valentin Petzel <valen...@petzel.at> wrote:
> Hello Alec, > > note that since 2.24 we have a neat markup function > \with-string-transformer, > which is called whenever a string is found, and does a lot of the logic > for > you (such as making sure this is called upon a string, not a complex > markup: > > \markup > \with-string-transformer > #(lambda (layout props str) > (if (> (string-length str) 0) > (let ((last-char (string-ref str (1- (string-length str)))) > (prefix (substring str 0 (1- (string-length str))))) > (cond > ((char=? last-char #\#) > (markup > #:concat (prefix #:hspace 0.2 #:fontsize -2.5 #:raise 0.6 > #:sharp))) > ((char=? last-char #\b) > (markup > #:concat (prefix #:hspace 0.2 #:fontsize -2.5 #:raise 0.6 > #:flat))) > (else str))) > str)) > { "A#" "Bb" } > > But then I’d think maybe here it would be useful to have an option for > regex > matching in \replace ... > > Cheers, > Valentin