paulrosen / abcjs

javascript for rendering abc music notation
Other
1.91k stars 282 forks source link

Support for $* style subtitution for all text fields like H: and S: #1029

Open seisiuneer opened 3 months ago

seisiuneer commented 3 months ago

Another forwarded request from the abcusers group:

Currently

%%setfont-0 %%setfont-1 %%setfont-2

style font variations work only for single-line text fields.

A request came it for support for them in other text tags, like H: and S:

For example, this renders the text in the header with the requested styling, but always uses the historyfont (either default set at render time or overridden in the ABC) and renders the $0 and $2 strings literally:

X: 1 %%setfont-0 Helvetica 12
%%setfont-2 Helvetica 12 Italic T: Cooley's C: Traditional M: 4/4 L: 1/8 %%printtempo 0 Q: 1/2=90 K: Edor %%text $2As Played by Rod & Randy Miller$0 "Em"EBBA B2 EB|B2 AB dBAG|"D"F/E/D AD BDAD|F/E/D AD BAGF| S:Rod & Randy Miller, $2New England Chestnuts Vol. 2,$0 Alcazar Records FR 204, 1981 S:Bob McQuillen, $2Bob's Note Book #5.$0 Dublin, NH, 1981. H:The melody is based on the fiddling of Rod Miller. The chords H:came about third-hand from Randy Miller and seem generally as he played them. H:This was written out originally before I saw $2Bob's Notes #5,$0 so his version of H:the melody and chords weren't yet all that available. I decided to leave it as I H:wrote it out originally, and include Bob's version of the tune as well.