From: Han-Wen Nienhuys Date: Sun, 12 Dec 2004 23:06:22 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: release/2.5.14~430 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=65c9f2edb8ae873e593687ad75e546820ed7647c;p=lilypond.git *** empty log message *** --- diff --git a/ChangeLog b/ChangeLog index 3d174e5aca..32af2a6bca 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 2004-12-12 Han-Wen Nienhuys + * lily/open-type-font.cc (make_index_to_charcode_map): new method. + * mf/feta-autometric.mf (code): remove tex name from fet_beginchar. * lily/open-type-font.cc (load_scheme_table): new function diff --git a/lily/include/open-type-font.hh b/lily/include/open-type-font.hh index 5fe069e1af..e1260eafc7 100644 --- a/lily/include/open-type-font.hh +++ b/lily/include/open-type-font.hh @@ -10,17 +10,20 @@ #ifndef OPEN_TYPE_FONT_HH #define OPEN_TYPE_FONT_HH +#include #include "freetype.hh" #include "font-metric.hh" +typedef std::map Index_to_charcode_map; + class Open_type_font : public Font_metric { FT_Face face_; /* handle to face object */ SCM lily_character_table_; SCM lily_global_table_; - - Open_type_font(); + Index_to_charcode_map index_to_charcode_map_; + Open_type_font (FT_Face); public: static SCM make_otf (String); virtual ~Open_type_font(); diff --git a/lily/open-type-font.cc b/lily/open-type-font.cc index c09e60ba8f..92a8df25e3 100644 --- a/lily/open-type-font.cc +++ b/lily/open-type-font.cc @@ -7,6 +7,7 @@ */ +#include #include #include @@ -58,12 +59,28 @@ load_scheme_table (char const *tag_str, FT_Face face) return tab; } +Index_to_charcode_map +make_index_to_charcode_map (FT_Face face) +{ + Index_to_charcode_map m; + FT_ULong charcode; + FT_UInt gindex; + + charcode = FT_Get_First_Char( face, &gindex ); + while ( gindex != 0 ) + { + m[gindex] = charcode; + charcode = FT_Get_Next_Char( face, charcode, &gindex ); + } + return m; +} + SCM Open_type_font::make_otf (String str) { - Open_type_font * otf = new Open_type_font; + FT_Face face; int error_code = FT_New_Face(freetype2_library, str.to_str0(), - 0, &(otf->face_)); + 0, &face); if (error_code == FT_Err_Unknown_File_Format) { @@ -75,17 +92,20 @@ Open_type_font::make_otf (String str) } + Open_type_font * otf = new Open_type_font (face); - otf->lily_character_table_ = load_scheme_table ("LILC", otf->face_); - otf->lily_global_table_ = load_scheme_table ("LILY", otf->face_); - + return otf->self_scm (); } -Open_type_font::Open_type_font() +Open_type_font::Open_type_font(FT_Face) { lily_character_table_ = SCM_EOL; lily_global_table_ = SCM_EOL; + + lily_character_table_ = load_scheme_table ("LILC", face_); + lily_global_table_ = load_scheme_table ("LILY", face_); + index_to_charcode_map_ = make_index_to_charcode_map (face_); } void diff --git a/lily/score-engraver.cc b/lily/score-engraver.cc index eb95c8be07..fb97fcf6f2 100644 --- a/lily/score-engraver.cc +++ b/lily/score-engraver.cc @@ -20,6 +20,7 @@ #include "staff-spacing.hh" #include "note-spacing.hh" #include "global-context.hh" +#include "open-type-font.hh" /* TODO: the column creation logic is rather hairy. Revise it. diff --git a/mf/feta-beugel.mf b/mf/feta-beugel.mf index 2b36afe51d..b78dcd6f49 100644 --- a/mf/feta-beugel.mf +++ b/mf/feta-beugel.mf @@ -47,8 +47,7 @@ def draw_brace (expr height_sharp, width_sharp, slt_sharp) = %% +1 is needed because fet_beginchar increments after dumping the strings. fet_beginchar ("brace number " & (decimal (code + 1)), - "brace" & abc_encode_int (code - 64), - "brace" & abc_encode_int (code - 64)) + "brace" & decimal code) set_char_box (0, width#, height#/2, height#/2); diff --git a/mf/parmesan-clefs.mf b/mf/parmesan-clefs.mf index d01f821096..94b423a7ce 100644 --- a/mf/parmesan-clefs.mf +++ b/mf/parmesan-clefs.mf @@ -919,8 +919,7 @@ fet_beginchar("Hufnagel do/fa clef", "hufnagel-do-fa") fi; draw_hufnagel_do_fa_clef((0,0), 1.0); fet_endchar; -fet_beginchar("Hufnagel do/fa clef", "hufnagel-do-fa_change", - "chufnageldofaclef") +fet_beginchar("Hufnagel do/fa clef", "hufnagel-do-fa_change") draw_hufnagel_do_fa_clef((0,0), .8); fet_endchar; diff --git a/mf/parmesan-custodes.mf b/mf/parmesan-custodes.mf index 12b54bf740..3864dcf5a4 100644 --- a/mf/parmesan-custodes.mf +++ b/mf/parmesan-custodes.mf @@ -52,10 +52,10 @@ dir_down = -1; % % parameterized hufnagel custos -def custos_hufnagel(expr verbose_name, internal_name, ly_name, +def custos_hufnagel(expr verbose_name, internal_name, direction, staffline_adjustment) = - fet_beginchar(verbose_name, internal_name, ly_name) + fet_beginchar(verbose_name, internal_name) save alpha, dalpha, ht, wd, stem_ht, pen_size; ht# = noteheight#; wd#/ht# = 0.6; @@ -100,27 +100,27 @@ def custos_hufnagel(expr verbose_name, internal_name, ly_name, enddef; % custos hufnagel, stem up, between staff lines -custos_hufnagel("Custos Hufnagel", "hufnagel-u0", "hufnagelu0", +custos_hufnagel("Custos Hufnagel", "hufnagel-u0", dir_up, between_staff_lines); % custos hufnagel, stem up, on staff line -custos_hufnagel("Custos Hufnagel", "hufnagel-u1", "hufnagelu1", +custos_hufnagel("Custos Hufnagel", "hufnagel-u1", dir_up, on_staff_line); % custos hufnagel, stem up, anywhere -custos_hufnagel("Custos Hufnagel", "hufnagel-u2", "hufnagelu2", +custos_hufnagel("Custos Hufnagel", "hufnagel-u2", dir_up, anywhere); % custos hufnagel, stem down, between staff lines -custos_hufnagel("Reverse Custos Hufnagel", "hufnagel-d0", "hufnageld0", +custos_hufnagel("Reverse Custos Hufnagel", "hufnagel-d0", dir_down, between_staff_lines); % custos hufnagel, stem down, on staff line -custos_hufnagel("Reverse Custos Hufnagel", "hufnagel-d1", "hufnageld1", +custos_hufnagel("Reverse Custos Hufnagel", "hufnagel-d1", dir_down, on_staff_line); % custos hufnagel, stem down, anywhere -custos_hufnagel("Reverse Custos Hufnagel", "hufnagel-d2", "hufnageld2", +custos_hufnagel("Reverse Custos Hufnagel", "hufnagel-d2", dir_down, anywhere); %%%%%%%% @@ -130,10 +130,10 @@ custos_hufnagel("Reverse Custos Hufnagel", "hufnagel-d2", "hufnageld2", % % -def custos_medicaea(expr verbose_name, internal_name, ly_name, +def custos_medicaea(expr verbose_name, internal_name, direction, staffline_adjustment) = - fet_beginchar(verbose_name, internal_name, ly_name) + fet_beginchar(verbose_name, internal_name) save ht, wd, stem_ht; ht# = noteheight#; @@ -172,27 +172,27 @@ def custos_medicaea(expr verbose_name, internal_name, ly_name, enddef; % custos medicaea, stem up, between staff lines -custos_medicaea("Custos Med.", "medicaea-u0", "medicaeau0", +custos_medicaea("Custos Med.", "medicaea-u0", dir_up, between_staff_lines); % custos medicaea, stem up, on staff line -custos_medicaea("Custos Med.", "medicaea-u1", "medicaeau1", +custos_medicaea("Custos Med.", "medicaea-u1", dir_up, on_staff_line); % custos medicaea, stem up, anywhere -custos_medicaea("Custos Med.", "medicaea-u2", "medicaeau2", +custos_medicaea("Custos Med.", "medicaea-u2", dir_up, anywhere); % custos medicaea, stem down, between staff lines -custos_medicaea("Reverse Custos Med.", "medicaea-d0", "medicaead0", +custos_medicaea("Reverse Custos Med.", "medicaea-d0", dir_down, between_staff_lines); % custos medicaea, stem down, on staff line -custos_medicaea("Reverse Custos Med.", "medicaea-d1", "medicaead1", +custos_medicaea("Reverse Custos Med.", "medicaea-d1", dir_down, on_staff_line); % custos medicaea, stem down, anywhere -custos_medicaea("Reverse Custos Med.", "medicaea-d2", "medicaead2", +custos_medicaea("Reverse Custos Med.", "medicaea-d2", dir_down, anywhere); %%%%%%%% @@ -202,10 +202,10 @@ custos_medicaea("Reverse Custos Med.", "medicaea-d2", "medicaead2", % % -def custos_vaticana(expr verbose_name, internal_name, ly_name, +def custos_vaticana(expr verbose_name, internal_name, direction, staffline_adjustment) = - fet_beginchar(verbose_name, internal_name, ly_name) + fet_beginchar(verbose_name, internal_name) save ht, wd, u_offs, l_offs, stem_size, stem_end; save pen_ht, l_shift, curve_ht, bend_ht; ht# = noteheight#; @@ -253,27 +253,27 @@ def custos_vaticana(expr verbose_name, internal_name, ly_name, enddef; % custos vaticana, stem up, between staff lines -custos_vaticana("Custos Ed. Vat.", "vaticana-u0", "vaticanau0", +custos_vaticana("Custos Ed. Vat.", "vaticana-u0", dir_up, between_staff_lines); % custos vaticana, stem up, on staff line -custos_vaticana("Custos Ed. Vat.", "vaticana-u1", "vaticanau1", +custos_vaticana("Custos Ed. Vat.", "vaticana-u1", dir_up, on_staff_line); % custos vaticana, stem up, anywhere -custos_vaticana("Custos Ed. Vat.", "vaticana-u2", "vaticanau2", +custos_vaticana("Custos Ed. Vat.", "vaticana-u2", dir_up, anywhere); % custos vaticana, stem down, between staff lines -custos_vaticana("Reverse Custos Ed. Vat.", "vaticana-d0", "vaticanad0", +custos_vaticana("Reverse Custos Ed. Vat.", "vaticana-d0", dir_down, between_staff_lines); % custos vaticana, stem down, on_staff_line -custos_vaticana("Reverse Custos Ed. Vat.", "vaticana-d1", "vaticanad1", +custos_vaticana("Reverse Custos Ed. Vat.", "vaticana-d1", dir_down, on_staff_line); % custos vaticana, stem down, anywhere -custos_vaticana("Reverse Custos Ed. Vat.", "vaticana-d2", "vaticanad2", +custos_vaticana("Reverse Custos Ed. Vat.", "vaticana-d2", dir_down, anywhere); %%%%%%%% @@ -283,10 +283,10 @@ custos_vaticana("Reverse Custos Ed. Vat.", "vaticana-d2", "vaticanad2", % % -def custos_mensural(expr verbose_name, internal_name, ly_name, +def custos_mensural(expr verbose_name, internal_name, direction, staffline_adjustment) = - fet_beginchar(verbose_name, internal_name, ly_name) + fet_beginchar(verbose_name, internal_name) save alpha, dalpha, ht, wd, stem_ht; ht# = noteheight#; wd#/ht# = 1.2; @@ -331,27 +331,27 @@ def custos_mensural(expr verbose_name, internal_name, ly_name, enddef; % custos mensural, stem up, between staff lines -custos_mensural("Custos Mensural", "mensural-u0", "mensuralu0", +custos_mensural("Custos Mensural", "mensural-u0", dir_up, between_staff_lines); % custos mensural, stem up, on staff line -custos_mensural("Custos Mensural", "mensural-u1", "mensuralu1", +custos_mensural("Custos Mensural", "mensural-u1", dir_up, on_staff_line); % custos mensural, stem up, anywhere -custos_mensural("Custos Mensural", "mensural-u2", "mensuralu2", +custos_mensural("Custos Mensural", "mensural-u2", dir_up, anywhere); % custos mensural, stem down, between staff lines -custos_mensural("Reverse Custos Mensural", "mensural-d0", "mensurald0", +custos_mensural("Reverse Custos Mensural", "mensural-d0", dir_down, between_staff_lines); % custos mensural, stem down, on staff line -custos_mensural("Reverse Custos Mensural", "mensural-d1", "mensurald1", +custos_mensural("Reverse Custos Mensural", "mensural-d1", dir_down, on_staff_line); % custos mensural, stem down, anywhere -custos_mensural("Reverse Custos Mensural", "mensural-d2", "mensurald2", +custos_mensural("Reverse Custos Mensural", "mensural-d2", dir_down, anywhere); fet_endgroup ("custodes") diff --git a/mf/parmesan-heads.mf b/mf/parmesan-heads.mf index bbd21cb455..de98f89d47 100644 --- a/mf/parmesan-heads.mf +++ b/mf/parmesan-heads.mf @@ -190,7 +190,7 @@ fet_endchar; % fet_beginchar("Harmonic notehead (Neo-mensural open)", - "0harmonic","harmonichead") + "0harmonic") draw_neomensural_open_head (1.3 staff_space#, 1.3 noteheight#); charwx := head_width#; @@ -311,11 +311,11 @@ fet_endchar; % % parameterized punctum -def punctum_char (expr verbose_name, internal_name, ly_name, +def punctum_char (expr verbose_name, internal_name, left_stem, right_stem, linea, cavum, straight, auctum, direction_up, excentric, up_shift, down_shift, mag) = - fet_beginchar(verbose_name, internal_name, ly_name) + fet_beginchar(verbose_name, internal_name) save b_h, a_w; a_b := 1.54; % b_h*a_b/a_w = wd/ht b_h := 0.85; @@ -469,10 +469,10 @@ def punctum_char (expr verbose_name, internal_name, ly_name, enddef; % parameterized punctum inclinatum -def inclinatum_char(expr verbose_name, internal_name, ly_name, +def inclinatum_char(expr verbose_name, internal_name, small, stropha, auctum) = - fet_beginchar(verbose_name, internal_name, ly_name) + fet_beginchar(verbose_name, internal_name) save ht, alpha; alpha# = 35; if small: @@ -510,45 +510,41 @@ def inclinatum_char(expr verbose_name, internal_name, ly_name, enddef; % punctum -punctum_char("Ed. Vat. punctum", "vaticana-punctum", "vatpunctumhead", +punctum_char("Ed. Vat. punctum", "vaticana-punctum", false, false, false, false, false, false, false, false, false, false, 1.0); % punctum cavum (for OpusTeX compatibility) punctum_char("Ed. Vat. punctum cavum", "vaticana-punctum-cavum", - "vatpunctumcavumhead", false, false, false, true, false, false, false, false, false, false, 1.0); % linea punctum (for OpusTeX compatibility) punctum_char("Ed. Vat. linea punctum", "vaticana-linea-punctum", - "vatlineapunctumhead", false, false, true, false, false, false, false, false, false, false, 1.0); % linea punctum cavum (for OpusTeX compatibility) punctum_char("Ed. Vat. linea punctum cavum", "vaticana-linea-punctum-cavum", - "vatlineapunctumcavumhead", false, false, true, true, false, false, false, false, false, false, 1.0); % punctum inclinatum inclinatum_char("Ed. Vat. inclinatum", "vaticana-inclinatum", - "vatinclinatumhead", false, false, false); % pes lower punctum -punctum_char("Ed. Vat. pes lower punctum", "vaticana-lpes", "vatlpeshead", +punctum_char("Ed. Vat. pes lower punctum", "vaticana-lpes", false, false, false, false, true, false, true, false, false, false, 1.0); % pes lower punctum -punctum_char("Ed. Vat. pes var lower punctum", "vaticana-vlpes", "vatvlpeshead", +punctum_char("Ed. Vat. pes var lower punctum", "vaticana-vlpes", false, false, false, false, true, false, true, false, false, true, 1.0); % pes upper punctum -punctum_char("Ed. Vat. pes upper punctum", "vaticana-upes", "vatupeshead", +punctum_char("Ed. Vat. pes upper punctum", "vaticana-upes", false, false, false, false, true, false, false, false, false, false, 1.0); @@ -559,17 +555,16 @@ punctum_char("Ed. Vat. pes upper punctum", "vaticana-upes", "vatupeshead", % punctum sits directly on top of the lower punctum. % punctum_char("Ed. Vat. var pes upper punctum", "vaticana-vupes", - "vatvupeshead", false, false, false, false, true, false, false, false, true, false, 1.0); % small punctum as used in epiphonus -punctum_char("Ed. Vat. plica", "vaticana-plica", "vatplicahead", +punctum_char("Ed. Vat. plica", "vaticana-plica", false, false, false, false, false, false, false, false, false, false, 0.6); % excentric punctum as used in epiphonus -punctum_char("Ed. Vat. epiphonus", "vaticana-epiphonus", "vatepiphonushead", +punctum_char("Ed. Vat. epiphonus", "vaticana-epiphonus", false, false, false, false, false, false, true, true, false, false, 1.0); @@ -579,24 +574,22 @@ punctum_char("Ed. Vat. epiphonus", "vaticana-epiphonus", "vatepiphonushead", % avoid collision with the plica head when the plica sits directly on % top of the lower head. % -punctum_char("Ed. Vat. var epiphonus", "vaticana-vepiphonus", "vatvepiphonushead", +punctum_char("Ed. Vat. var epiphonus", "vaticana-vepiphonus", false, false, false, false, false, false, true, true, false, true, 1.0); % small punctum as used in cephalicus -punctum_char("Ed. Vat. rev. plica", "vaticana-reverse-plica", "vatrplicahead", +punctum_char("Ed. Vat. rev. plica", "vaticana-reverse-plica", false, false, false, false, false, false, true, false, false, false, 0.6); % excentric punctum as used in cephalicus; without left stem punctum_char("Ed. Vat. cephalicus", "vaticana-inner-cephalicus", - "vatinnercephalicushead", false, false, false, false, false, false, false, true, false, false, 1.0); % excentric punctum as used in cephalicus; with left stem punctum_char("Ed. Vat. cephalicus", "vaticana-cephalicus", - "vatcephalicushead", true, false, false, false, false, false, false, true, false, false, 1.0); @@ -629,39 +622,32 @@ fet_endchar; % solesmes punctum inclinatum parvum inclinatum_char("Solesmes punctum inclinatum parvum", "solesmes-incl-parvum", - "solinclparvumhead", true, false, false); % solesmes punctum auctum ascendens punctum_char("Solesmes punctum auctum ascendens", "solesmes-auct-asc", - "solauctaschead", false, false, false, false, false, true, true, false, false, false, 1.0); % solesmes punctum auctum descendens punctum_char("Solesmes punctum auctum descendens", "solesmes-auct-desc", - "solauctdeschead", false, false, false, false, false, true, false, false, false, false, 1.0); % solesmes punctum inclinatum auctum inclinatum_char("Solesmes punctum incl. auctum", "solesmes-incl-auctum", - "solpunctuminclinatumauctumhead", false, false, true); % solesmes stropha inclinatum_char("Solesmes stropha", "solesmes-stropha", - "solstrophahead", false, true, false); % solesmes stropha aucta inclinatum_char("Solesmes stropha aucta", "solesmes-stropha-aucta", - "solstrophaauctahead", false, true, true); % solesmes oriscus -fet_beginchar("Solesmes oriscus", "solesmes-oriscus", - "soloriscushead") +fet_beginchar("Solesmes oriscus", "solesmes-oriscus") save b_h, a_w; a_b := 1.54; % b_h*a_b/a_w = wd/ht b_h := 0.85; @@ -698,16 +684,15 @@ fet_endchar; % % inclinatum -fet_beginchar("Ed. Med. inclinatum", "medicaea-inclinatum", - "medinclinatumhead") +fet_beginchar("Ed. Med. inclinatum", "medicaea-inclinatum") draw_diamond_head (1.2staff_space#, 0, 0, 35, false); fet_endchar; % parametrized punctum -def punctum_char (expr verbose_name, internal_name, ly_name, +def punctum_char (expr verbose_name, internal_name, left_up_stem, left_down_stem) = - fet_beginchar(verbose_name, internal_name, ly_name) + fet_beginchar(verbose_name, internal_name) save a, beta, ht, wd; ht# = 2 staff_space#; @@ -744,15 +729,15 @@ def punctum_char (expr verbose_name, internal_name, ly_name, enddef; % punctum -punctum_char("Ed. Med. punctum", "medicaea-punctum", "medpunctumhead", +punctum_char("Ed. Med. punctum", "medicaea-punctum", false, false); % left up-stemmed punctum -punctum_char("Ed. Med. reverse virga", "medicaea-rvirga", "medrvirgahead", +punctum_char("Ed. Med. reverse virga", "medicaea-rvirga", true, false); % virga (i.e. left down-stemmed punctum) -punctum_char("Ed. Med. virga", "medicaea-virga", "medvirgahead", +punctum_char("Ed. Med. virga", "medicaea-virga", false, true); %%%%%%%% @@ -766,9 +751,9 @@ punctum_char("Ed. Med. virga", "medicaea-virga", "medvirgahead", % punctum % parametrized punctum -def punctum_char (expr verbose_name, internal_name, ly_name, +def punctum_char (expr verbose_name, internal_name, down_stem) = - fet_beginchar(verbose_name, internal_name, ly_name) + fet_beginchar(verbose_name, internal_name) save alpha; alpha# = 55; draw_diamond_head (staff_space#, 0, 0, alpha#, false); @@ -788,10 +773,10 @@ def punctum_char (expr verbose_name, internal_name, ly_name, enddef; % punctum -punctum_char("Hufnagel punctum", "hufnagel-punctum", "hufpunctumhead", false) +punctum_char("Hufnagel punctum", "hufnagel-punctum", false) % virga -punctum_char("Hufnagel virga", "hufnagel-virga", "hufvirgahead", true) +punctum_char("Hufnagel virga", "hufnagel-virga", true) % pes lower punctum fet_beginchar("Hufnagel pes lower punctum", "hufnagel-lpes") diff --git a/mf/parmesan-timesig.mf b/mf/parmesan-timesig.mf index cc7f939a0e..a15d82b50c 100644 --- a/mf/parmesan-timesig.mf +++ b/mf/parmesan-timesig.mf @@ -57,10 +57,10 @@ def draw_nail (expr bottom_left, top_right) = enddef; -def mensural_timesig (expr verbose_name, internal_name, ly_name, +def mensural_timesig (expr verbose_name, internal_name, full_circle, reverse_circle, slashed, dotted) = - fet_beginchar(verbose_name, internal_name, ly_name) + fet_beginchar(verbose_name, internal_name) if slashed: set_char_box(0, mensural_Cdiameter# + mensural_Cthickness#, @@ -94,47 +94,47 @@ def mensural_timesig (expr verbose_name, internal_name, ly_name, enddef; %% tempus imperfectum cum prolatione imperfecta -mensural_timesig ("Mensural 4/4 meter", "mensural44", "mensuralfourfourmeter", +mensural_timesig ("Mensural 4/4 meter", "mensural44", false, false, false, false); %% tempus imperfectum cum prolatione imperfecta proportio dupla -mensural_timesig ("Mensural 2/2 meter", "mensural22", "mensuralallabreve", +mensural_timesig ("Mensural 2/2 meter", "mensural22", false, false, true, false); %% tempus perfectum cum prolatione imperfecta -mensural_timesig ("Mensural 3/2 meter", "mensural32", "mensuralthreetwometer", +mensural_timesig ("Mensural 3/2 meter", "mensural32", true, false, false, false); %% tempus imperfectum cum prolatione perfecta -mensural_timesig ("Mensural 6/4 meter", "mensural64", "mensuralsixfourmeter", +mensural_timesig ("Mensural 6/4 meter", "mensural64", false, false, false, true); %% tempus perfectum cum prolatione perfecta -mensural_timesig ("Mensural 9/4 meter", "mensural94", "mensuralninefourmeter", +mensural_timesig ("Mensural 9/4 meter", "mensural94", true, false, false, true); %% tempus perfectum cum prolatione imperfecta proportio dupla -mensural_timesig ("Mensural 3/4 meter", "mensural34", "mensuralthreefourmeter", +mensural_timesig ("Mensural 3/4 meter", "mensural34", true, false, true, false); %% tempus imperfectum cum prolatione perfecta proportio dupla -mensural_timesig ("Mensural 6/8 meter", "mensural68", "mensuralsixeightmeter", +mensural_timesig ("Mensural 6/8 meter", "mensural68", false, false, true, true); %% tempus perfectum cum prolatione perfecta proportio dupla -mensural_timesig ("Mensural 9/8 meter", "mensural98", "mensuralnineeight", +mensural_timesig ("Mensural 9/8 meter", "mensural98", true, false, true, true); %% tempus imperfectum cum prolatione imperfecta diminutio simplex -mensural_timesig ("Mensural 4/8 meter", "mensural48", "mensuralfoureightmeter", +mensural_timesig ("Mensural 4/8 meter", "mensural48", false, true, false, false); %% tempus imperfectum cum prolatione perfecta diminutio simplex -mensural_timesig ("Mensural 6/8 meter", "mensural68alt", "mensuralsixeightmeteralt", +mensural_timesig ("Mensural 6/8 meter", "mensural68alt", false, true, false, true); %% tempus imperfectum cum prolatione imperfecta diminutio duplex -mensural_timesig ("Mensural 2/4 meter", "mensural24", "mensuraltwofourmeter", +mensural_timesig ("Mensural 2/4 meter", "mensural24", false, true, true, false); %%%%%%%% @@ -151,10 +151,10 @@ neomensural_Cdiameter# := 3/2 staff_space#; neomensural_Cthickness# := 2 linethickness#; define_pixels(neomensural_Cdiameter, neomensural_Cthickness); -def neomensural_timesig (expr verbose_name, internal_name, ly_name, +def neomensural_timesig (expr verbose_name, internal_name, full_circle, reverse_circle, slashed, dotted) = - fet_beginchar(verbose_name, internal_name, ly_name) + fet_beginchar(verbose_name, internal_name) if slashed: set_char_box(0, neomensural_Cdiameter# + neomensural_Cthickness#, @@ -188,47 +188,47 @@ def neomensural_timesig (expr verbose_name, internal_name, ly_name, enddef; %% tempus imperfectum cum prolatione imperfecta -neomensural_timesig ("Mensural 4/4 meter", "neomensural44", "neomensuralfourfourmeter", +neomensural_timesig ("Mensural 4/4 meter", "neomensural44", false, false, false, false); %% tempus imperfectum cum prolatione imperfecta proportio dupla -neomensural_timesig ("Mensural 2/2 meter", "neomensural22", "neomensuralallabreve", +neomensural_timesig ("Mensural 2/2 meter", "neomensural22", false, false, true, false); %% tempus perfectum cum prolatione imperfecta -neomensural_timesig ("Mensural 3/2 meter", "neomensural32", "neomensuralthreetwometer", +neomensural_timesig ("Mensural 3/2 meter", "neomensural32", true, false, false, false); %% tempus imperfectum cum prolatione perfecta -neomensural_timesig ("Mensural 6/4 meter", "neomensural64", "neomensuralsixfourmeter", +neomensural_timesig ("Mensural 6/4 meter", "neomensural64", false, false, false, true); %% tempus perfectum cum prolatione perfecta -neomensural_timesig ("Mensural 9/4 meter", "neomensural94", "neomensuralninefourmeter", +neomensural_timesig ("Mensural 9/4 meter", "neomensural94", true, false, false, true); %% tempus perfectum cum prolatione imperfecta proportio dupla -neomensural_timesig ("Mensural 3/4 meter", "neomensural34", "neomensuralthreefourmeter", +neomensural_timesig ("Mensural 3/4 meter", "neomensural34", true, false, true, false); %% tempus imperfectum cum prolatione perfecta proportio dupla -neomensural_timesig ("Mensural 6/8 meter", "neomensural68", "neomensuralsixeightmeter", +neomensural_timesig ("Mensural 6/8 meter", "neomensural68", false, false, true, true); %% tempus perfectum cum prolatione perfecta proportio dupla -neomensural_timesig ("Mensural 9/8 meter", "neomensural98", "neomensuralnineeight", +neomensural_timesig ("Mensural 9/8 meter", "neomensural98", true, false, true, true); %% tempus imperfectum cum prolatione imperfecta diminutio simplex -neomensural_timesig ("Mensural 4/8 meter", "neomensural48", "neomensuralfoureightmeter", +neomensural_timesig ("Mensural 4/8 meter", "neomensural48", false, true, false, false); %% tempus imperfectum cum prolatione perfecta diminutio simplex -neomensural_timesig ("Mensural 6/8 meter", "neomensural68alt", "neomensuralsixeightmeteralt", +neomensural_timesig ("Mensural 6/8 meter", "neomensural68alt", false, true, false, true); %% tempus imperfectum cum prolatione imperfecta diminutio duplex -neomensural_timesig ("Mensural 2/4 meter", "neomensural24", "neomensuraltwofourmeter", +neomensural_timesig ("Mensural 2/4 meter", "neomensural24", false, true, true, false); fet_endgroup ("timesig")