X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=mf%2Fparmesan-noteheads.mf;h=00b8578cb403cce9130535aba551562e8f5b5a50;hb=ea03bb1d323aef010eea00c1709d3dab56c0bf0b;hp=12fd9322f7936a03d82c4a2970a76426888fc281;hpb=18dda6b2f5fbea91a174b60eb22bbb73591b9b64;p=lilypond.git diff --git a/mf/parmesan-noteheads.mf b/mf/parmesan-noteheads.mf index 12fd9322f7..00b8578cb4 100644 --- a/mf/parmesan-noteheads.mf +++ b/mf/parmesan-noteheads.mf @@ -1,15 +1,15 @@ % Feta (not the Font-En-Tja) music font -- ancient note heads % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 2001--2012 Juergen Reuter +% Copyright (C) 2001--2015 Juergen Reuter % % Neo-mensural heads originally by % Christian Mondrup and Mats Bengtsson % -% LilyPond is free software: you can redistribute it and/or modify +% The LilyPond font is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -166,7 +166,7 @@ def draw_neomensural_longa (expr wid, holeheight, direction) = enddef; -def draw_neomensural_black_head (expr width, height) = +def draw_neomensural_black_head (expr width, height, concaveness) = save head_width, head_height, stem_width; save ne, nw, ne_dist, nw_dist; pair ne, nw, ne_dist, nw_dist; @@ -197,25 +197,25 @@ def draw_neomensural_black_head (expr width, height) = ne_dist := (nw rotated -90) * blot_diameter / 2; fill lft z1 - .. (z1 + nw_dist) - -- (z2 + nw_dist) + .. (z1 + nw_dist){ ne rotated -concaveness } + .. { ne rotated concaveness }(z2 + nw_dist) .. top z2 - .. (z2 + ne_dist) - -- (z3 + ne_dist) + .. (z2 + ne_dist){ nw rotated (180 - concaveness) } + .. { nw rotated (180 + concaveness) }(z3 + ne_dist) .. rt z3 - .. (z3 - nw_dist) - -- (z4 - nw_dist) + .. (z3 - nw_dist){ ne rotated (180 - concaveness) } + .. { ne rotated (180 + concaveness) }(z4 - nw_dist) .. bot z4 - .. (z4 - ne_dist) - -- (z1 - ne_dist) + .. (z4 - ne_dist){ nw rotated -concaveness } + .. { nw rotated concaveness }(z1 - ne_dist) .. cycle; labels (1, 2, 3, 4); enddef; -def draw_neomensural_open_head (expr width, height)= - draw_neomensural_black_head (width, height); +def draw_neomensural_open_head (expr width, height, concaveness)= + draw_neomensural_black_head (width, height, concaveness); save headNW, headSW, stem_width; @@ -317,15 +317,15 @@ save nm_height, nm_width; nm_height := noteheight#; nm_width := staff_space#; fet_beginchar ("Neo-mensural semibrevis head", "s0neomensural"); - draw_neomensural_open_head (nm_width, nm_height); + draw_neomensural_open_head (nm_width, nm_height, 0); fet_endchar; fet_beginchar ("Neo-mensural minima head", "s1neomensural"); - draw_neomensural_open_head (nm_width, nm_height); + draw_neomensural_open_head (nm_width, nm_height, 0); fet_endchar; fet_beginchar ("Neo-mensural semiminima head", "s2neomensural"); - draw_neomensural_black_head (nm_width, nm_height); + draw_neomensural_black_head (nm_width, nm_height, 0); fet_endchar; %%%%%%%% @@ -342,13 +342,13 @@ fet_endchar; % fet_beginchar ("Harmonic notehead (Neo-mensural open)", "s0harmonic"); - draw_neomensural_open_head (1.3 staff_space#, 1.3 noteheight#); + draw_neomensural_open_head (1.3 staff_space#, 1.3 noteheight#, 5); charwx := head_width#; charwy := 0; fet_endchar; fet_beginchar ("Harmonic notehead (Neo-mensural black)", "s2harmonic"); - draw_neomensural_black_head (1.3 staff_space#, 1.3 noteheight#); + draw_neomensural_black_head (1.3 staff_space#, 1.3 noteheight#, 5); charwx := head_width#; charwy := 0; fet_endchar; @@ -383,9 +383,9 @@ def draw_mensural_longa (expr wid, holeheight, open, full, direction, ligature) penpos6 (stem_width, 0); if ligature: - penpos7 (stem_width, 0); + penpos7 (stem_width, 0); else: - penpos7 (1.5 stem_width, 0); + penpos7 (1.5 stem_width, 0); fi; fill z7l @@ -473,58 +473,87 @@ m_brevis_width := m_longa_width; m_holeheight := nm_holeheight; m_red_holeheight := nm_red_holeheight; + fet_beginchar ("Mensural maxima notehead (up)", "uM3mensural"); - draw_mensural_longa (m_maxima_width, m_holeheight, true, true, 1, false); + draw_mensural_longa (m_maxima_width, m_holeheight, + true, true, 1, false); fet_endchar; + fet_beginchar ("Mensural maxima notehead (down)", "dM3mensural"); - draw_mensural_longa (m_maxima_width, m_holeheight, true, true, -1, false); + draw_mensural_longa (m_maxima_width, m_holeheight, + true, true, -1, false); fet_endchar; + fet_beginchar ("Mensural maxima notehead (ligature)", "sM3ligmensural"); draw_mensural_brevis (m_maxima_width, m_holeheight, true, true); fet_endchar; + fet_beginchar ("Mensural longa notehead (up)", "uM2mensural"); - draw_mensural_longa (m_longa_width, m_holeheight, true, true, 1, false); + draw_mensural_longa (m_longa_width, m_holeheight, + true, true, 1, false); fet_endchar; + fet_beginchar ("Mensural longa notehead (down)", "dM2mensural"); - draw_mensural_longa (m_longa_width, m_holeheight, true, true, -1, false); + draw_mensural_longa (m_longa_width, m_holeheight, + true, true, -1, false); fet_endchar; fet_beginchar ("Mensural longa notehead (ligature)", "sM2ligmensural"); - draw_mensural_longa (m_longa_width, m_holeheight, true, true, -1, true); + draw_mensural_longa (m_longa_width, m_holeheight, + true, true, -1, true); fet_endchar; + fet_beginchar ("Mensural brevis notehead", "sM1mensural"); draw_mensural_brevis (m_brevis_width, m_holeheight, true, true); fet_endchar; -fet_beginchar ("Mensural maxima notehead (up, reduced hole)", "urM3mensural"); - draw_mensural_longa (m_maxima_width, m_red_holeheight, true, true, 1, false); + +fet_beginchar ("Mensural maxima notehead (up, reduced hole)", + "urM3mensural"); + draw_mensural_longa (m_maxima_width, m_red_holeheight, + true, true, 1, false); fet_endchar; -fet_beginchar ("Mensural maxima notehead (down, reduced hole)", "drM3mensural"); - draw_mensural_longa (m_maxima_width, m_red_holeheight, true, true, -1, false); + +fet_beginchar ("Mensural maxima notehead (down, reduced hole)", + "drM3mensural"); + draw_mensural_longa (m_maxima_width, m_red_holeheight, + true, true, -1, false); fet_endchar; -fet_beginchar ("Mensural maxima notehead (ligature, reduced hole)", "srM3ligmensural"); + +fet_beginchar ("Mensural maxima notehead (ligature, reduced hole)", + "srM3ligmensural"); draw_mensural_brevis (m_maxima_width, m_red_holeheight, true, true); fet_endchar; -fet_beginchar ("Mensural longa notehead (up, reduced hole)", "urM2mensural"); - draw_mensural_longa (m_longa_width, m_red_holeheight, true, true, 1, false); + +fet_beginchar ("Mensural longa notehead (up, reduced hole)", + "urM2mensural"); + draw_mensural_longa (m_longa_width, m_red_holeheight, + true, true, 1, false); fet_endchar; -fet_beginchar ("Mensural longa notehead (down, reduced hole)", "drM2mensural"); - draw_mensural_longa (m_longa_width, m_red_holeheight, true, true, -1, false); + +fet_beginchar ("Mensural longa notehead (down, reduced hole)", + "drM2mensural"); + draw_mensural_longa (m_longa_width, m_red_holeheight, + true, true, -1, false); fet_endchar; -fet_beginchar ("Mensural longa notehead (ligature, reduced hole)", "srM2ligmensural"); - draw_mensural_longa (m_longa_width, m_red_holeheight, true, true, -1, true); + +fet_beginchar ("Mensural longa notehead (ligature, reduced hole)", + "srM2ligmensural"); + draw_mensural_longa (m_longa_width, m_red_holeheight, + true, true, -1, true); fet_endchar; + fet_beginchar ("Mensural brevis notehead (reduced hole)", "srM1mensural"); draw_mensural_brevis (m_brevis_width, m_red_holeheight, true, true); fet_endchar; @@ -534,59 +563,95 @@ fet_endchar; % Semi-colored mensural/Petrucci maxima/longa/brevis % -fet_beginchar ("Semi-colored mensural maxima notehead (up)", "uM3semimensural"); - draw_mensural_longa (m_maxima_width, m_holeheight, true, false, 1, false); +fet_beginchar ("Semi-colored mensural maxima notehead (up)", + "uM3semimensural"); + draw_mensural_longa (m_maxima_width, m_holeheight, + true, false, 1, false); fet_endchar; -fet_beginchar ("Semi-colored mensural maxima notehead (down)", "dM3semimensural"); - draw_mensural_longa (m_maxima_width, m_holeheight, true, false, -1, false); + +fet_beginchar ("Semi-colored mensural maxima notehead (down)", + "dM3semimensural"); + draw_mensural_longa (m_maxima_width, m_holeheight, + true, false, -1, false); fet_endchar; -fet_beginchar ("Semi-colored mensural maxima notehead (ligature)", "sM3semiligmensural"); + +fet_beginchar ("Semi-colored mensural maxima notehead (ligature)", + "sM3semiligmensural"); draw_mensural_brevis (m_maxima_width, m_holeheight, true, false); fet_endchar; -fet_beginchar ("Semi-colored mensural longa notehead (up)", "uM2semimensural"); - draw_mensural_longa (m_longa_width, m_holeheight, true, false, 1, false); + +fet_beginchar ("Semi-colored mensural longa notehead (up)", + "uM2semimensural"); + draw_mensural_longa (m_longa_width, m_holeheight, + true, false, 1, false); fet_endchar; -fet_beginchar ("Semi-colored mensural longa notehead (down)", "dM2semimensural"); - draw_mensural_longa (m_longa_width, m_holeheight, true, false, -1, false); + +fet_beginchar ("Semi-colored mensural longa notehead (down)", + "dM2semimensural"); + draw_mensural_longa (m_longa_width, m_holeheight, + true, false, -1, false); fet_endchar; -fet_beginchar ("Semi-colored mensural longa notehead (ligature)", "sM2semiligmensural"); - draw_mensural_longa (m_longa_width, m_holeheight, true, false, -1, true); + +fet_beginchar ("Semi-colored mensural longa notehead (ligature)", + "sM2semiligmensural"); + draw_mensural_longa (m_longa_width, m_holeheight, + true, false, -1, true); fet_endchar; + fet_beginchar ("Semi-colored mensural brevis notehead", "sM1semimensural"); draw_mensural_brevis (m_brevis_width, m_holeheight, true, false); fet_endchar; -fet_beginchar ("Semi-colored mensural maxima notehead (up, reduced hole)", "urM3semimensural"); - draw_mensural_longa (m_maxima_width, m_red_holeheight, true, false, 1, false); + +fet_beginchar ("Semi-colored mensural maxima notehead (up, reduced hole)", + "urM3semimensural"); + draw_mensural_longa (m_maxima_width, m_red_holeheight, + true, false, 1, false); fet_endchar; -fet_beginchar ("Semi-colored mensural maxima notehead (down, reduced hole)", "drM3semimensural"); - draw_mensural_longa (m_maxima_width, m_red_holeheight, true, false, -1, false); + +fet_beginchar ("Semi-colored mensural maxima notehead (down, reduced hole)", + "drM3semimensural"); + draw_mensural_longa (m_maxima_width, m_red_holeheight, + true, false, -1, false); fet_endchar; -fet_beginchar ("Semi-colored mensural maxima notehead (ligature, reduced hole)", "srM3semiligmensural"); + +fet_beginchar ("Semi-colored mensural maxima notehead (ligature, reduced hole)", + "srM3semiligmensural"); draw_mensural_brevis (m_maxima_width, m_red_holeheight, true, false); fet_endchar; -fet_beginchar ("Semi-colored mensural longa notehead (up, reduced hole)", "urM2semimensural"); - draw_mensural_longa (m_longa_width, m_red_holeheight, true, false, 1, false); + +fet_beginchar ("Semi-colored mensural longa notehead (up, reduced hole)", + "urM2semimensural"); + draw_mensural_longa (m_longa_width, m_red_holeheight, + true, false, 1, false); fet_endchar; -fet_beginchar ("Semi-colored mensural longa notehead (down, reduced hole)", "drM2semimensural"); - draw_mensural_longa (m_longa_width, m_red_holeheight, true, false, -1, false); + +fet_beginchar ("Semi-colored mensural longa notehead (down, reduced hole)", + "drM2semimensural"); + draw_mensural_longa (m_longa_width, m_red_holeheight, + true, false, -1, false); fet_endchar; -fet_beginchar ("Semi-colored mensural longa notehead (ligature, reduced hole)", "srM2semiligmensural"); - draw_mensural_longa (m_longa_width, m_red_holeheight, true, false, -1, true); + +fet_beginchar ("Semi-colored mensural longa notehead (ligature, reduced hole)", + "srM2semiligmensural"); + draw_mensural_longa (m_longa_width, m_red_holeheight, + true, false, -1, true); fet_endchar; -fet_beginchar ("Semi-colored mensural brevis notehead (reduced hole)", "srM1semimensural"); + +fet_beginchar ("Semi-colored mensural brevis notehead (reduced hole)", + "srM1semimensural"); draw_mensural_brevis (m_brevis_width, m_red_holeheight, true, false); fet_endchar; @@ -599,26 +664,34 @@ fet_beginchar ("Black mensural maxima notehead (up)", "uM3blackmensural"); draw_mensural_longa (m_maxima_width, 0, false, false, 1, false); fet_endchar; + fet_beginchar ("Black mensural maxima notehead (down)", "dM3blackmensural"); draw_mensural_longa (m_maxima_width, 0, false, false, -1, false); fet_endchar; -fet_beginchar ("Black mensural maxima notehead (ligature)", "sM3blackligmensural"); + +fet_beginchar ("Black mensural maxima notehead (ligature)", + "sM3blackligmensural"); draw_mensural_brevis (m_maxima_width, 0, false, false); fet_endchar; + fet_beginchar ("Black mensural longa notehead (up)", "uM2blackmensural"); draw_mensural_longa (m_longa_width, 0, false, false, 1, false); fet_endchar; + fet_beginchar ("Black mensural longa notehead (down)", "dM2blackmensural"); draw_mensural_longa (m_longa_width, 0, false, false, -1, false); fet_endchar; -fet_beginchar ("Black mensural longa notehead (ligature)", "sM2blackligmensural"); + +fet_beginchar ("Black mensural longa notehead (ligature)", + "sM2blackligmensural"); draw_mensural_longa (m_longa_width, 0, false, false, -1, true); fet_endchar; + fet_beginchar ("Black mensural brevis notehead", "sM1blackmensural"); draw_mensural_brevis (m_brevis_width, 0, false, false); fet_endchar; @@ -632,10 +705,12 @@ fet_beginchar ("Mensural semibrevis head", "s0mensural"); draw_diamond_head (staff_space#, 0.15, 0.30, 30, true); fet_endchar; + fet_beginchar ("Mensural minima head", "s1mensural"); draw_diamond_head (staff_space#, 0.15, 0.30, 30, true); fet_endchar; + fet_beginchar ("Mensural semiminima head", "s2mensural"); draw_diamond_head (staff_space#, 0.15, 0.30, 30, false); fet_endchar; @@ -662,15 +737,15 @@ petrucci_height := 1.4 noteheight#; petrucci_width := .72 petrucci_height; fet_beginchar ("Petrucci semibrevis head", "s0petrucci"); - draw_neomensural_open_head (petrucci_width, petrucci_height); + draw_neomensural_open_head (petrucci_width, petrucci_height, 0); fet_endchar; fet_beginchar ("Petrucci minima head", "s1petrucci"); - draw_neomensural_open_head (petrucci_width, petrucci_height); + draw_neomensural_open_head (petrucci_width, petrucci_height, 0); fet_endchar; fet_beginchar ("Petrucci semiminima head", "s2petrucci"); - draw_neomensural_black_head (petrucci_width, petrucci_height); + draw_neomensural_black_head (petrucci_width, petrucci_height, 0); fet_endchar; @@ -679,15 +754,15 @@ fet_endchar; % fet_beginchar ("Petrucci colored semibrevis head", "s0blackpetrucci"); - draw_neomensural_black_head (petrucci_width, petrucci_height); + draw_neomensural_black_head (petrucci_width, petrucci_height, 0); fet_endchar; fet_beginchar ("Petrucci colored minima head", "s1blackpetrucci"); - draw_neomensural_black_head (petrucci_width, petrucci_height); + draw_neomensural_black_head (petrucci_width, petrucci_height, 0); fet_endchar; fet_beginchar ("Petrucci colored semiminima head", "s2blackpetrucci"); - draw_neomensural_black_head (petrucci_width, petrucci_height); + draw_neomensural_black_head (petrucci_width, petrucci_height, 0); fet_endchar; @@ -1706,6 +1781,7 @@ fet_beginchar ("Hufnagel pes lower punctum", "shufnagel.lpes") % labels (1, 2, 3, 4); fet_endchar; + %%%%%%%%%%%% %% %% Noteheads for Medieval East-Slavic (Kievan) Notation @@ -1713,55 +1789,64 @@ fet_endchar; %% %%%%%%%%%%%% -fet_beginchar ("kievan final note", "sM2kievan"); - % this draws the Final Note - % the final note is the last note of a piece of music - % equivalent to having a whole note and fermata in CMN - % it always has an invariant representation + +fet_beginchar ("Kievan final note", "sM2kievan"); + % This draws the Final Note. + % It is the last note of a piece of music + % equivalent to having a whole note and fermata in CMN. + % It always has an invariant representation. + vert_bar_thickness# := 2 * stafflinethickness#; vert_height# := 1.5 * staff_space#; blank_space# := 1.5 * stafflinethickness#; note_width# := vert_height# - 2 * vert_bar_thickness#; - define_pixels(vert_height, blank_space, note_width); + + define_pixels (vert_height, blank_space, note_width); define_blacker_pixels (vert_bar_thickness); path p; - p := (0, blank_space) -- - (0, staff_space - blank_space) -- - (note_width, staff_space - blank_space) -- - (note_width, blank_space) -- - cycle; + p := (0, blank_space) + -- (0, staff_space - blank_space) + -- (note_width + 0.5 vert_bar_thickness, + staff_space - blank_space) + -- (note_width + 0.5 vert_bar_thickness, blank_space) + -- cycle; fill p; fill p reflectedabout ((0, 0), (1, 0)); + pickup pensquare xscaled vert_bar_thickness; - draw (note_width + 0.5 * vert_bar_thickness, vert_height) -- - (note_width + 0.5 * vert_bar_thickness, -vert_height); + + draw (note_width + 0.5 * vert_bar_thickness, vert_height) + -- (note_width + 0.5 * vert_bar_thickness, -vert_height); set_char_box (0, note_width# + vert_bar_thickness#, vert_height#, vert_height#); fet_endchar; -fet_beginchar ("kievan recitative mark", "sM1kievan"); + +fet_beginchar ("Kievan recitative mark", "sM1kievan"); inner_width# := 4 * staff_space#; vert_bar_thickness# := 2 * stafflinethickness#; vert_bar_height# := staff_space# - stafflinethickness#; blank_space# := 0.20 * vert_bar_height#; - define_pixels(inner_width, blank_space, vert_bar_height); + + define_pixels (inner_width, blank_space, vert_bar_height); define_blacker_pixels (vert_bar_thickness); path p; - p := (3 * vert_bar_thickness, blank_space) -- - (3 * vert_bar_thickness, vert_bar_height - blank_space) -- - (3 * vert_bar_thickness + inner_width, vert_bar_height - blank_space) -- - (3 * vert_bar_thickness + inner_width, blank_space) -- - cycle; + p := (2.5 * vert_bar_thickness, blank_space) + -- (2.5 * vert_bar_thickness, vert_bar_height - blank_space) + -- (3.5 * vert_bar_thickness + inner_width, + vert_bar_height - blank_space) + -- (3.5 * vert_bar_thickness + inner_width, blank_space) + -- cycle; fill p; fill p reflectedabout ((0, 0), (1, 0)); % draw the four vertical lines pickup pensquare xscaled vert_bar_thickness; - p := (0.5 * vert_bar_thickness, vert_bar_height) -- - (0.5 * vert_bar_thickness, -vert_bar_height); + p := (0.5 * vert_bar_thickness, vert_bar_height) + -- (0.5 * vert_bar_thickness, -vert_bar_height); draw p; draw p shifted (2 * vert_bar_thickness, 0); draw p shifted (3 * vert_bar_thickness + inner_width, 0); @@ -1771,28 +1856,32 @@ fet_beginchar ("kievan recitative mark", "sM1kievan"); vert_bar_height#, vert_bar_height#); fet_endchar; + fet_beginchar ("Kievan whole note", "s0kievan"); % the amount by which top and bottom diamond overlap overlap# := stafflinethickness#; height# := staff_space# - stafflinethickness#; width# := height# + overlap#; - define_pixels(overlap, height, width); - % pars for superellipse are right, top, left, bottom - fill superellipse((width, 0.5 * (height + overlap)), - (width/2, height + overlap), - (0, 0.5 * (height + overlap)), - (width/2, -overlap), + define_pixels (overlap, height, width); + + % parameters for superellipse are right, top, left, bottom + fill superellipse ((width, 0.5 * (height + overlap)), + (width/2, height + overlap), + (0, 0.5 * (height + overlap)), + (width/2, -overlap), 0.51); - fill superellipse((width, -0.5 * (height + overlap)), - (width/2, overlap), - (0, -0.5 * (height + overlap)), - (width/2, -height - overlap), + fill superellipse ((width, -0.5 * (height + overlap)), + (width/2, overlap), + (0, -0.5 * (height + overlap)), + (width/2, -height - overlap), 0.51); + set_char_box (0, width#, height# + overlap#, height# + overlap#); fet_endchar; + fet_beginchar ("Kievan quarter note down", "d2kievan"); z1 = (0.09 * staff_space, 0.33 * staff_space); z2 = (0.66 * staff_space, 0.37 * staff_space); @@ -1804,15 +1893,27 @@ fet_beginchar ("Kievan quarter note down", "d2kievan"); z8 = (0.73 * staff_space, -0.35 * staff_space); z9 = (0.02 * staff_space, -0.39 * staff_space); z10 = (0, -0.24 * staff_space); - fill z1{dir 8.6} .. z2 .. z3 - & z3 .. z4 .. z5 - & z5 -- z6 - & z6 .. z7 .. z8 - & z8{left} .. z9 - & z9 .. z10 ... {dir 75}cycle; - set_char_box (0, 1.02 staff_space#, 2.50 staff_space#, 0.40 staff_space#); + + fill z1{dir 8.6} + .. z2 + .. z3 + & z3 + .. z4 + .. z5 + -- z6 + .. z7 + .. z8 + & z8{left} + .. z9 + & z9 + .. z10 + ... {dir 75}cycle; + + set_char_box (0, 1.02 staff_space#, + 2.50 staff_space#, 0.40 staff_space#); fet_endchar; + fet_beginchar ("Kievan quarter note up", "u2kievan"); z1 = (0.090 staff_space, -0.330 staff_space); z2 = (0.664 staff_space, -0.371 staff_space); @@ -1824,18 +1925,31 @@ fet_beginchar ("Kievan quarter note up", "u2kievan"); z8 = (0.725 staff_space, 0.346 staff_space); z9 = (0.017 staff_space, 0.391 staff_space); z10 = (0, 0.240 staff_space); - fill z1{dir -6.9} .. z2 .. z3 - & z3 .. z4 .. z5 - & z5 -- z6 - & z6 .. z7 .. z8 - & z8{left} .. z9 - & z9 .. z10 ... {dir -76.9}cycle; - set_char_box (0, 1.02 staff_space#, 0.40 staff_space#, 2.6 staff_space#); -fet_endchar; - -fet_beginchar ("kievan half note (line position)", "s1kievan"); - % this draws the half note with a short tail up and a long tail down - % this version of the half note is used on any line of the staff + + fill z1{dir -6.9} + .. z2 + .. z3 + & z3 + .. z4 + .. z5 + -- z6 + .. z7 + .. z8 + & z8{left} + .. z9 + & z9 + .. z10 + ... {dir -76.9}cycle; + + set_char_box (0, 1.02 staff_space#, + 0.40 staff_space#, 2.6 staff_space#); +fet_endchar; + + +fet_beginchar ("Kievan half note (line position)", "s1kievan"); + % This draws the half note with a short tail up and a long tail down. + % This version of the half note is used on any line of the staff. + z1 = (1.031 staff_space, 0.945 staff_space); z2 = (0.945 staff_space, -0.122 staff_space); z3 = (1.059 staff_space, -1.393 staff_space); @@ -1847,20 +1961,31 @@ fet_beginchar ("kievan half note (line position)", "s1kievan"); z9 = (0.086 staff_space, 0.350 staff_space); z10 = (0.746 staff_space, 0.277 staff_space); z11 = (0.909 staff_space, 0.921 staff_space); - fill z1 .. z2{down} .. z3 - & z3 -- z4 - & z4 .. z5{up} .. z6 - & z6 .. z7{left} .. z8 - & z8 -- z9 - & z9 .. {right}z10 - & z10{up} .. z11 - & z11 -- cycle; - set_char_box (0, 1.06 staff_space#, 1.6 staff_space#, 1.0 staff_space#); -fet_endchar; - -fet_beginchar ("kievan half note (space position)", "sr1kievan"); - % this draws the half note with a short tail down and a long tail up - % this version of the half note is used in any space of the staff + + fill z1 + .. z2{down} + .. z3 + -- z4 + .. z5{up} + .. z6 + & z6 + .. z7{left} + .. z8 + -- z9 + .. {right}z10 + & z10{up} + .. z11 + -- cycle; + + set_char_box (0, 1.06 staff_space#, + 1.6 staff_space#, 1.0 staff_space#); +fet_endchar; + + +fet_beginchar ("Kievan half note (space position)", "sr1kievan"); + % This draws the half note with a short tail down and a long tail up. + % This version of the half note is used in any space of the staff. + z1 = (1.071 staff_space, 1.426 staff_space); z2 = (0.974 staff_space, 0.191 staff_space); z3 = (1.059 staff_space, -0.994 staff_space); @@ -1873,21 +1998,33 @@ fet_beginchar ("kievan half note (space position)", "sr1kievan"); z10 = (0.746 staff_space, 0.281 staff_space); z11 = (0.807 staff_space, 0.847 staff_space); z12 = (0.945 staff_space, 1.401 staff_space); - fill z1 .. z2{down} .. z3 - & z3 -- z4 - & z4 .. z5{up} .. z6 - & z6 .. z7{left} .. z8 - & z8 -- z9 - & z9 .. z10{right} - & z10 .. z11 .. z12 - & z12 -- cycle; - set_char_box (0, 1.1 staff_space#, 1.0 staff_space#, 1.4 staff_space#); -fet_endchar; - -fet_beginchar ("kievan eighth note (down)", "d3kievan"); - % this draws the eighth note - % this form of the eight note occurs on the third line or higher - % and sometimes between the second line and the third line + + fill z1 + .. z2{down} + .. z3 + -- z4 + .. z5{up} + .. z6 + & z6 + .. z7{left} + .. z8 + -- z9 + .. z10{right} + & z10 + .. z11 + .. z12 + -- cycle; + + set_char_box (0, 1.1 staff_space#, + 1.0 staff_space#, 1.4 staff_space#); +fet_endchar; + + +fet_beginchar ("Kievan eighth note (down)", "d3kievan"); + % This draws the eighth note. + % This form of the eight note occurs on the third line or higher + % and sometimes between the second line and the third line. + z1 = (0.261 staff_space, 0.416 staff_space); z2 = (1.022 staff_space, 0.269 staff_space); z3 = (0.664 staff_space, -0.603 staff_space); @@ -1900,22 +2037,35 @@ fet_beginchar ("kievan eighth note (down)", "d3kievan"); z10 = (0.33 staff_space, -1.340 staff_space); z11 = (0.631 staff_space, -0.448 staff_space); z12 = (0, -0.334 staff_space); - fill z1{right} .. z2 - & z2 -- z3 - & z3{right} .. z4 - & z4 .. z5{down} .. z6 - & z6 -- z7 - & z7 .. z8{up} .. z9 - & z9 .. {left}z10 - & z10{dir 78.7} .. z11 - & z11 .. {left}z12 - & z12{dir 78.7} .. {dir 62}cycle; - set_char_box (0, 1.25 staff_space#, 3.0 staff_space#, 0.5 staff_space#); -fet_endchar; - -fet_beginchar ("kievan eighth note (up)", "u3kievan"); - % this draws the flagged eighth note - % this version of the eighth note occurs on the second line or lower + + fill z1{right} + .. z2 + -- z3{right} + .. z4 + & z4 + .. z5{down} + .. z6 + -- z7 + .. z8{up} + .. z9 + & z9 + .. {left}z10 + & z10{dir 78.7} + .. z11 + & z11 + .. {left}z12 + & z12{dir 78.7} + .. {dir 62}cycle; + + set_char_box (0, 1.25 staff_space#, + 3.0 staff_space#, 0.5 staff_space#); +fet_endchar; + + +fet_beginchar ("Kievan eighth note (up)", "u3kievan"); + % This draws the flagged eighth note. + % This version of the eighth note occurs on the second line or lower. + % first, draw the upside down quarter note z1 = (0.090 staff_space, -0.33 staff_space); z2 = (0.664 staff_space, -0.371 staff_space); @@ -1927,12 +2077,22 @@ fet_beginchar ("kievan eighth note (up)", "u3kievan"); z8 = (0.725 staff_space, 0.346 staff_space); z9 = (0.016 staff_space, 0.391 staff_space); z10 = (0, 0.240 staff_space); - fill z1{dir -6.9} .. z2 .. z3 - & z3 .. z4 .. z5 - & z5 -- z6 - & z6 .. z7 .. z8 - & z8{left} .. z9 - & z9 .. z10 ... {dir -76.9}cycle; + + fill z1{dir -6.9} + .. z2 + .. z3 + & z3 + .. z4 + .. z5 + -- z6 + .. z7 + .. z8 + & z8{left} + .. z9 + & z9 + .. z10 + ... {dir -76.9}cycle; + % now, draw the stem z11 = (0.033 staff_space, 2.823 staff_space); z12 = (0.391 staff_space, 2.648 staff_space); @@ -1941,11 +2101,18 @@ fet_beginchar ("kievan eighth note (up)", "u3kievan"); z15 = (0.693 staff_space, 0.88 staff_space); z16 = (0.208 staff_space, 1.699 staff_space); z17 = (0.024 staff_space, 2.616 staff_space); - fill z11 -- z12 - & z12 .. z13{down} .. z14 - & z14 -- z15 - & z15 .. z16 .. z17{up} .. cycle; - set_char_box (0, 1.0 staff_space#, 0.4 staff_space#, 2.9 staff_space#); + + fill z11 + -- z12 + .. z13{down} + .. z14 + -- z15 + .. z16 + .. z17{up} + .. cycle; + + set_char_box (0, 1.0 staff_space#, + 0.4 staff_space#, 2.9 staff_space#); fet_endchar; fet_endgroup ("noteheads");