Dear Jean, thanks for Your reply. Your code seems to work for me. I have to do define some more pitch and and accidental names, off course. The overrides of the x- and y-extent seem to be necessary to have more space for the accidentals.
Am Mi., 21. Okt. 2020 um 13:28 Uhr schrieb Jean Abou Samra < j...@abou-samra.fr>: > Hello, > Le 21/10/2020 à 12:43, Stefan Thomas a écrit : > > Dear community, > > I'm trying to define microtonal note names and accidentals with the > HE-font. > > Unfortunately, I get the following error message when I compile the below > quoted file: > >> error: wrong type for argument 2. Expecting >> music, found "c" >> Music = \relative >> c' {ch2 cl } >> /home/stefan/partituren/vorlagen/snippet_stefansMikrotoene.ly:65:20: >> error: syntax error, unexpected ''' >> Music = \relative c >> ' {ch2 cl } >> /home/stefan/partituren/vorlagen/snippet_stefansMikrotoene.ly:65:23: >> error: not a note name: ch >> Music = \relative c' { >> ch2 cl } >> /home/stefan/partituren/vorlagen/snippet_stefansMikrotoene.ly:65:27: >> error: not a note name: cl >> Music = \relative c' {ch2 >> cl } >> > Does someone know how I can get it working? > Here is my file: > > %%%%%%%%%%%%% SNIPPET > \version "2.20.0" > % Define tunings: > \paper{ > #(define fonts (make-pango-font-tree "Century Schoolbook L" > "HE" > "Bitstream Vera Sans Mono" > 1)) > } > > #(define-public SyntoHigherNatural 1/12) > #(define-public SyntoLowerNatural -1/12) > > StefansPitchnames = #'( > > > You should have a quasiquote here. > > (ch . ,(ly:make-pitch -1 0 SyntoHigherNatural)) > (cl . ,(ly:make-pitch -1 0 SyntoLowerNatural)) > ) > > pitchnames = \StefansPitchnames > #(ly:parser-set-note-names pitchnames) > > > Here is the main problem. You are redefining the whole note names alist, > so LilyPond doesn't know about the c pitch anymore, which causes the error > at \relative. > > Thus, this should read: > > > StefansPitchnames = #`( > (ch . ,(ly:make-pitch -1 0 SyntoHigherNatural)) > (cl . ,(ly:make-pitch -1 0 SyntoLowerNatural)) > ) > > pitchnames = #(append StefansPitchnames (assoc-get 'nederlands > language-pitch-names)) > #(ly:parser-set-note-names pitchnames) > > > I can't comment on the font problem. At least this gives a start (the file > compiles and shows special accidentals). By the way, just out of curiosity, > why do you have overrides to X-extent, Y-extent and the skylines? > > Best, > Jean > > Full code: > > %%%%%%%%%%%%% > \version "2.20.0" > % Define tunings: > \paper { > #(define fonts (make-pango-font-tree "Century Schoolbook L" > "HE" > "Bitstream Vera Sans Mono" > 1)) > } > > #(define SyntoHigherNatural 1/12) > #(define SyntoLowerNatural -1/12) > > StefansPitchnames = #`( > (ch . ,(ly:make-pitch -1 0 SyntoHigherNatural)) > (cl . ,(ly:make-pitch -1 0 SyntoLowerNatural)) > ) > > pitchnames = #(append StefansPitchnames (assoc-get 'nederlands > language-pitch-names)) > #(ly:parser-set-note-names pitchnames) > > FONTNAME = "HE" > SyntoHigherNatural = "o" > SyntoLowerNatural = "m" > > StefansStrings = #`( > (1/12 . ,SyntoHigherNatural) > (-1/12 . ,SyntoLowerNatural) > ) > > > #(define (my-Y-extent grob) > (ly:stencil-extent (ly:text-interface::print grob) Y)) > > \layout { > \context { > \Score > > \override Accidental.stencil = #ly:text-interface::print > \override Accidental.font-name = #FONTNAME > \override Accidental.text = #(lambda (grob) > (cdr (assoc (ly:grob-property grob > 'alteration) > StefansStrings))) > \override Accidental.font-size = #-1 > \override Accidental.X-extent = #(lambda (grob) > (ly:stencil-extent > (ly:text-interface::print grob) > X)) > \override Accidental.Y-extent = #(ly:make-unpure-pure-container > my-Y-extent > (lambda (grob start end) > (my-Y-extent grob))) > > \override Accidental.horizontal-skylines = #'() > \override Accidental.vertical-skylines = #'() > } > } > > Music = \relative c' { ch2 cl } > \new Staff \Music >