I can't make your chord exceptions work... Is it because I'm running a 2.18.2 version? When I look at your code I see a lot of "shifting things around". Is that what you do? You take the given symbols (in chord-mode) and shift/replace/zoom them around until they look right for you? That's not what I had in mind, exactly - for I'm not happy with the fonts/symbols themselves. I assume it comes close though, judging by the amount of your changes :-)
Good news: I just figured out how to use standard otf font as markup-font. I didn't put my font in the right folder the first time around. But now I did and it works. In my case it's in: lilypond/usr/share/lilypond/current/fonts/otf/ and: voilà! Simple as that. You probably all knew about this already... That's pretty much what I wanted. Now I can build my own chord-symbol-font from scratch. *** www.marcobaumgartner.com On Wed, Jul 3, 2019 at 7:40 PM Marco Baumgartner <vonbaumgart...@gmail.com> wrote: > Thank you, Elaine. > I'm on the road, but I'll gladly check it out later! > > One thought though: As far as I understand it: displaying chords within > Lilypond is not done with/by a "normal" font but rather a special > chord-mechanism. I fear, that this mechanism (as far I've seen) does a good > job, but can also be seen as a limitation. How wrong would it be to create > a normal font (with tons of ligatures) which I could use as > info/comments/expression - NOT in Chord-mode to display chords? I feel like > that would be the only way that leads to perfect chord symbols. Or am I > completely out? :-) > > On Wed, Jul 3, 2019, 19:26 Flaming Hakama by Elaine < > ela...@flaminghakama.com> wrote: > >> --------- Forwarded message ---------- >>> From: Marco Baumgartner <vonbaumgart...@gmail.com> >>> To: lilypond-user@gnu.org >>> Date: Wed, 3 Jul 2019 14:27:27 +0200 >>> Subject: Jazz Chord Symbols (as new font - NOT notation font) >>> Hi, >>> >>> I wonder how I had to build a "normal" font (otf, ttf, whatever) to work >>> as chord-symbols-font only. >>> Spacing and style is very important to make chord symbols readable. I >>> haven't seen one yet for lilypond. >>> Goal is to have a font rendering chord symbols like in the real books >>> (handwritten or not), thus: including tons of ligatures and special >>> thingies per symbol/cluster of symbols. >>> >>> If Ab7sus4(b9) isn't typeset "right", you simply can't read it. You >>> don't buy it. You don't even want to play it... :-) That's a little harsh, >>> I know. But hence my question. I'm happy to spend some time on a >>> Jazz-chord-font - but I have no clue on how to make it, so it can be used >>> by lilypond. Could also be as "comments" or "music expression", if "chords" >>> doesn't work. >>> >>> The lilyjazz-font doesn't come with this kind of chord-symbol-font. >>> >>> So, is it possible to build one? How do I set up the font? I work with >>> fontforge. I'm not a font-specialist, but I had built and drawn fonts from >>> scratch. Just need someone to point me into the right direction. >>> >>> I need to know: >>> >>> - is it possible and how? (how to "embed"/use the font in lilypond) >>> - what font-format >>> - what encoding (unicode doesn't allow ligatures as far as I know. So >>> latin1?) >>> >>> Thanks a lot for some hints and tips! >>> >>> Have a good time, >>> Marco >>> >>> *** >>> www.marcobaumgartner.com >>> >>> >>> >>> ---------- Forwarded message ---------- >>> From: Kieren MacMillan <kieren_macmil...@sympatico.ca> >>> To: Marco Baumgartner <vonbaumgart...@gmail.com> >>> Cc: Lilypond-User Mailing List <lilypond-user@gnu.org> >>> Bcc: >>> Date: Wed, 3 Jul 2019 09:05:18 -0400 >>> Subject: Re: Jazz Chord Symbols (as new font - NOT notation font) >>> Hi Marco, >>> >>> > Spacing and style is very important to make chord symbols readable. I >>> haven't seen one yet for lilypond. >>> >>> How does < >>> http://leighverlag.blogspot.com/2015/12/mimicking-real-book-look.html> >>> not do what you want? >>> >>> Thanks, >>> Kieren. >>> ________________________________ >>> >>> Kieren MacMillan, composer >>> ‣ website: www.kierenmacmillan.info >>> ‣ email: i...@kierenmacmillan.info >>> >>> >>> >> >> To be fair, Lee's post does not delve into manipulating the chord symbol >> layout. It focuses on the quirks of the real book style, including an >> In-staff title bar and Only one clef and time signature. (Which are both >> not what the OP asked about, and are arguably things that should be >> abandoned practices of a previous century.) >> >> Lee does show how to get a "handwritten" font for chords: >> >> \paper { >> #(define fonts >> (set-global-fonts >> #:music "lilyjazz" >> #:roman "Pea Missy with a Marker" >> #:sans "Pea Missy with a Marker" >> #:factor (/ staff-height pt 20))) >> } >> >> But in order to get things liked stacked alterations, or the "proper" >> vertical placement and relative sizing of symbols, this is not addressed. >> The example in that post ("All of Me") only uses basic chords symbols that >> don't really need tweaking, so it is not obvious what the OP is taking >> about from looking at that example. >> >> >> There are references in the example code to files that may be doing >> something more: >> >> \include "jazzchords.ily" >> \include "lilyjazz.ily" >> >> But since there is no use of chordNameExceptions in the example, it is >> unlikely that these files address the typography of the chord symbols. >> >> >> The reality is that any kind of typography related to chord symbols >> requires a complete customization of all or most of the chord symbols you >> use. >> >> I'm happy to share what I use. This style employs the graphical symbol >> approach: triangle for major, dash for minor, plus for augmented, circle >> for diminished and null symbol for half diminished. If you use something >> else, like M/m/aug/dim/m7b5, you'd have to construct your own, but >> hopefully this pattern will be helpful as a basis. It contains definitions >> for every chord I've had to notate, but is by no means complete. There are >> a few exceptions to "standard" chord symbol notation, in particular for sus >> chords, (e.g. Csus7 instead of C7sus4). >> >> >> To use this, first save the chord definitions below in a file. >> Then include that file from your ly file. >> Then when creating chords, use these chord exceptions: >> >> myChords = \chordmode { >> \set chordNameExceptions = #flamingChordExceptions >> e1:m >> % etc. >> } >> >> >> Also, I use the following syntax for specifying the font used for chords >> symbols; it is the second font in this list. I don't use a "handwritten" >> font for chord symbols, my preference happens to be "Highlander ITC TT", >> but you would put whatever font name you want in that position. >> >> \paper { >> #(define fonts >> (make-pango-font-tree "Marker Felt" >> "Highlander ITC TT" >> "LilyJAZZText" >> (/ myStaffSize 20))) >> } >> >> >> Here is the code to save in a .ily file: >> >> \version "2.19.81" >> \include "english.ly" >> >> flamingChordNames = { >> >> % Major >> <c e g b>1-\markup { \raise #0.7 { \magnify #0.5 { " " \triangle ##f >> } \normalsize 7 } } >> <c e g b d'>1-\markup { \raise #0.7 { \magnify #0.5 { " " \triangle >> ##f } \normalsize 9 } } >> <c e g b a'>1-\markup { \raise #0.7 { \magnify #0.5 { " " \triangle >> ##f } \teeny " " \normalsize 13 } } >> <c e g b d' a'>1-\markup { \raise #0.7 { \magnify #0.5 { " " >> \triangle ##f } \normalsize 13 } } >> <c e g a d'>1-\markup { \raise #3 { \tiny \center-column { \lower >> #1.25 { " 6" } " 9" } } } >> <c e g b d-sharp' f-sharp' a-flat'>1-\markup { >> \raise #0.7 { \magnify #0.5 { " " \triangle ##f } \normalsize 9 } >> \raise #3.8 { \tiny \center-column { \lower #1.25 { " #9" } "#11" >> \raise #1.25 { "b13" } } } >> } >> >> % Minor >> <c e-flat g>1-\markup { \raise #0.6 { \magnify #0.2 { " " } \tiny { >> \char ##x2013 } } } >> <c e-flat g a>1-\markup { \raise #0.6 { \magnify #0.2 { " " } \tiny >> { \char ##x2013 } \magnify #0.2 { " " }} \raise #0.7 \normalsize 6 } >> <c e-flat g b-flat>1-\markup { \raise #0.6 { \magnify #0.2 { " " } >> \tiny { \char ##x2013 } \magnify #0.1 { " " }} \raise #0.7 \normalsize 7 } >> >> <c e-flat g b>1-\markup { \raise #0.6 { \magnify #0.2 { " " } \tiny >> { \char ##x2013 } \magnify #0.1 { " " }} \raise #0.7 { \magnify #0.5 { " >> " \triangle ##f } \small 7 } } >> <c e-flat g b d' a'>1-\markup { \raise #0.6 { \magnify #0.2 { " " } >> \tiny { \char ##x2013 } \magnify #0.1 { " " }} \raise #0.7 { \magnify >> #0.5 { " " \triangle ##f } \small 7 } } >> >> <c e-flat g b-flat d'>1-\markup { \raise #0.6 { \magnify #0.2 { " " >> } \tiny { \char ##x2013 } \magnify #0.1 { " " }} \raise #0.7 \normalsize 9 >> } >> <c e-flat g b-flat d' f>1-\markup { \raise #0.6 { \magnify #0.2 { " >> " } \tiny { \char ##x2013 } \magnify #0.1 { " " }} \raise #0.7 >> \normalsize 11 } >> <c e-flat g b-flat d' a'>1-\markup { \raise #0.6 { \magnify #0.2 { " >> " } \tiny { \char ##x2013 } \magnify #0.1 { " " }} \raise #0.7 >> \normalsize 13 } >> <c e-flat g b-flat d' a'>1-\markup { \raise #0.6 { \magnify #0.2 { " >> " } \tiny { \char ##x2013 } \magnify #0.1 { " " }} \raise #0.7 >> \normalsize 13 } >> >> % minor7 b13 as "-7 b13" >> % <c e-flat g b-flat a-flat'>1-\markup { \raise #0.6 { \magnify #0.2 >> { " " } \tiny { \char ##x2013 } \magnify #0.1 { " " }} \raise #0.7 { >> \normalsize 7 } \raise #0.9 { \small b13 } } >> >> % minor7 b13 as "- b13" >> <c e-flat g a-flat'>1-\markup { \raise #0.6 { \magnify #0.2 { " " } >> \tiny { \char ##x2013 } \magnify #0.1 { " " }} \teeny " " \raise #1.2 { >> \tiny \flat } \teeny " " \raise #0.9 { \tiny "13" } } >> <c e-flat g b-flat a-flat'>1-\markup { \raise #0.6 { \magnify #0.2 { >> " " } \tiny { \char ##x2013 } \magnify #0.1 { " " }} \raise #0.9 { \small >> " b13" } } >> <c e-flat g b-flat d' a-flat'>1-\markup { \raise #0.6 { \magnify #0.2 >> { " " } \tiny { \char ##x2013 } \magnify #0.1 { " " }} \raise #0.7 >> \normalsize "9 b13" } >> >> <c e-flat g b a-flat'>1-\markup { \raise #0.6 { \magnify #0.2 { " " >> } \tiny { \char ##x2013 } \magnify #0.1 { " " }} \raise #0.7 { \magnify >> #0.5 { " " \triangle ##f } \small 7 \teeny " " \raise #0.5 { \tiny \flat } >> \magnify #0.1 { " " } \raise #0.3 { \tiny "13" } } } >> >> % Dominant >> <c e g a>1-\markup { \raise #0.7 { \normalsize 6 } } >> <c e g b-flat>1-\markup { \raise #0.7 { \normalsize 7 } } >> <c e g b-flat d'>1-\markup { \raise #0.7 { \normalsize 9 } } >> <c e g b-flat d-flat'>1-\markup { \raise #0.7 { \normalsize 7 } >> \raise #1.2 { \teeny " " \tiny \flat \tiny "9" } } >> <c e g b-flat d-sharp'>1-\markup { \raise #0.7 { \normalsize 7 } >> \raise #0.9 { \small " #9" } } >> <c e g b-flat c-sharp' d-sharp'>1-\markup { \raise #0.7 { \normalsize >> 7 } \raise #3.9 { \tiny \center-column { \lower #1.25 { " b9" } " #9" } } } >> <c e g b-flat d-sharp' f-sharp'>1-\markup { \raise #0.7 { \normalsize >> 7 } \raise #3.9 { \tiny \center-column { \lower #1.25 { " #9" } " #11" } } } >> <c e g b-flat d' a'>1-\markup { \raise #0.7 { \normalsize 13 } } >> <c e g b-flat d-flat' a'>1-\markup { \raise #0.7 { \normalsize 13 } >> \raise #0.9 { \small " b9" } } >> <c e g b-flat a-flat'>1-\markup { \raise #0.7 { \normalsize 7 } >> \raise #0.9 { \small " b13" } } >> <c e g b-flat d' a-flat'>1-\markup { \raise #0.7 { \normalsize 9 } >> \raise #0.9 { \small " b13" } } >> >> % Dominant b5 >> <c e g-flat b-flat>1-\markup { \raise #0.7 { \normalsize 7 } \raise >> #1.0 { \small " b5" } } >> <c e g-flat b-flat d-flat'>1-\markup { \raise #0.7 { \normalsize 7 } >> \raise #1.0 { \small " b5" } \raise #1.0 { \small " b9" } } >> >> % Half-diminished >> <c e-flat g-flat b-flat>1-\markup { \raise #0.5 { \magnify #0.85 >> \char ##x2205 } } >> <c e-flat g-flat b-flat c-sharp'>1-\markup { \raise #0.5 { \magnify >> #0.85 \char ##x2205 } } >> <c e-flat g-flat b-flat f'>1-\markup { \raise #0.5 { \magnify #0.85 >> \char ##x2205 } \raise #0.5 { \normalsize 11 } } >> <c e-flat g-flat b-flat a'>1-\markup { \raise #0.5 { \magnify #0.85 >> \char ##x2205 } \raise #0.5 { \normalsize 13 } } >> >> % Diminished >> %<c e-flat g-flat b-flatflat f'>1-\markup { \raise #1.5 { \magnify #2 >> \circle "" } \raise #0.5 { \normalsize 11 } } >> >> % Augmented >> <c e g-sharp>1-\markup { \raise #0.4 { \magnify #1.3 { + } } } >> <c e g-sharp b-flat>1-\markup { \raise #0.4 { \magnify #1.3 { + } } >> \raise #0.5 { \normalsize 7 } } >> <c e g-sharp b-flat d'>1-\markup { \raise #0.4 { \magnify #1.3 { + } >> } \raise #0.5 { \normalsize 9 } } >> <c e g-sharp b-flat c-sharp' d-sharp'>1-\markup { \raise #0.4 { >> \magnify #1.3 { + } } \raise #0.5 { \normalsize 7 } \raise #3.9 { \tiny >> \center-column { \lower #1.25 { " b9" } " #9" } } } >> <c e g-sharp b-flat d-sharp'>1-\markup { \raise #0.4 { \magnify #1.3 >> { + } } \raise #0.5 { \magnify #1.2 { \normalsize 7 } } \raise #1.0 \tiny " >> #9" } >> <c e g-sharp b-flat f-sharp'>1-\markup { \raise #0.4 { \magnify #1.3 >> { + } } \raise #0.5 { \magnify #1.2 { \normalsize 7 } } \raise #1.0 \tiny " >> #11" } >> <c e g-sharp d-flat'>1-\markup { \raise #0.4 { \magnify #1.3 { + } } >> \raise #1.2 { \teeny " " \tiny \flat \tiny "9" } } >> <c e g-sharp b-flat d-flat'>1-\markup { \raise #0.4 { \magnify #1.3 { >> + } } \raise #0.5 { \normalsize 7 } \raise #1.2 { \teeny " " \tiny \flat >> \tiny "9" } } >> <c e g-sharp b-flat d' a'>1-\markup { \raise #0.4 { \magnify #1.3 { + >> } } \raise #0.5 { \normalsize 13 } } >> >> <c e g-sharp b-flat d-sharp' f-sharp'>1-\markup { >> \raise #0.4 { \magnify #1.3 { + } } >> \raise #0.7 { \magnify #0.5 { " " \triangle ##f } \normalsize 7 } >> \raise #3.8 { \tiny \center-column { \lower #1.25 { " 9" } " #9" >> \raise #1.25 "#11" } } >> } >> >> % Lydian >> %<c e g b f-sharp'>1-\markup { \raise #1.0 \small " lyd" } >> <c e g f-sharp'>1-\markup { \raise #1.0 \tiny " #11" } >> %<c e g b f-sharp'>1-\markup { >> % \raise #0.7 { \magnify #0.5 { " " \triangle ##f } \normalsize 7 } >> % \raise #1.2 { \teeny " " \tiny "#11" } >> %} >> <c e g b f-sharp'>1-\markup { >> \raise #0.7 { \magnify #0.5 { " " \triangle ##f } } >> \raise #1.2 { \teeny " " \tiny "#11" } >> } >> <c e g b d' f-sharp'>1-\markup { \raise #0.7 { \magnify #0.5 { " " >> \triangle ##f } } \raise #3.4 { \teeny \center-column { \lower #1.25 { " 9" >> } " #11" } } } >> <c e g b d' f-sharp' a'>1-\markup { \raise #0.7 { \magnify #0.5 { " " >> \triangle ##f } } \raise #3.4 { \teeny \center-column { \lower #1.25 { " >> 13" } " #11" } } } >> <c e g b-flat f-sharp'>1-\markup { \raise #0.5 { \magnify #1.2 { >> \normalsize 7 } } \raise #1.0 \tiny " #11" } >> >> % Suspended >> <c f g>1-\markup { \raise #0.7 { \normalsize "sus" } } >> <c f g b-flat>1-\markup { \raise #0.4 { \small "sus" } \raise #0.5 { >> \normalsize 7 } } >> <c f g b-flat d'>1-\markup { \raise #0.4 { \small "sus" } \raise #1.0 >> \small 9 } >> <c f g d-flat'>1-\markup { \raise #0.4 { \small "sus" } \raise #1.2 { >> \teeny " " \tiny \flat \tiny "9" } } >> <c f g b-flat d-flat'>1-\markup { \raise #0.4 { \small " sus" } >> \raise #0.5 { \normalsize 7 } \raise #1.0 \small " b9" } >> <c f g-flat>1-\markup { \raise #0.4 { \small " sus" } \raise #1.2 { >> \teeny " " \tiny \flat \small 5 } } >> <c f g-flat b-flat d-flat'>1-\markup { \raise #0.4 { \small " sus" } >> \raise #0.5 { \normalsize 7 } \raise #1.0 \small " b5" \raise #1.0 \small " >> b9" } >> <c e g-flat b-flat d-flat' f' a-flat'>1-\markup { >> \raise #0.5 { \normalsize 11 } >> \raise #6.5 { >> \magnify #0.5 \teeny \center-column { >> \lower #3.6 " b5" >> \lower #1.5 " b9" >> "b13" >> } >> } >> } >> } >> flamingChordExceptions = #(append (sequential-music-to-chord-exceptions >> flamingChordNames #t) ignatzekExceptions) >> >> >> >> HTH, >> >> Elaine Alt >> 415 . 341 .4954 "*Confusion is >> highly underrated*" >> ela...@flaminghakama.com >> Producer ~ Composer ~ Instrumentalist ~ Educator >> >> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- >> <https://lists.gnu.org/mailman/listinfo/lilypond-user> >> >> _______________________________________________ >> lilypond-user mailing list >> lilypond-user@gnu.org >> https://lists.gnu.org/mailman/listinfo/lilypond-user >> >
_______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user