From 391b5dcbba1ff625fb8e4afee64af4503d49ef5a Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=BCrgen=20Reuter?= Date: Wed, 11 Oct 2006 17:03:14 +0000 Subject: [PATCH] * mf/parmesan-dots.mf (new), mf/parmesan-generic.mf, ly/engraver-init.ly: Added vaticana-style augmentum dot glyph. * lily/dots.cc: Added style property for dots. --- ChangeLog | 7 +++++++ lily/dots.cc | 18 +++++++++++++++--- ly/engraver-init.ly | 1 + mf/parmesan-dots.mf | 19 +++++++++++++++++++ mf/parmesan-generic.mf | 1 + 5 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 mf/parmesan-dots.mf diff --git a/ChangeLog b/ChangeLog index 5c61fadec2..f017e2d158 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2006-10-11 Jürgen Reuter + + * mf/parmesan-dots.mf (new), mf/parmesan-generic.mf, + ly/engraver-init.ly: Added vaticana-style augmentum dot glyph. + + * lily/dots.cc: Added style property for dots. + 2006-10-10 Han-Wen Nienhuys * scm/output-lib.scm (fingering::calc-text): use origin diff --git a/lily/dots.cc b/lily/dots.cc index 1b2c7be879..f697752e35 100644 --- a/lily/dots.cc +++ b/lily/dots.cc @@ -14,6 +14,7 @@ #include "lookup.hh" #include "staff-symbol-referencer.hh" #include "directional-element-interface.hh" +#include "international.hh" MAKE_SCHEME_CALLBACK (Dots, print, 1); SCM @@ -26,7 +27,17 @@ Dots::print (SCM d) if (scm_is_number (c)) { - Stencil d = Font_interface::get_default_font (sc)->find_by_name (string ("dots.dot")); + SCM scm_style = sc->get_property ("style"); + string style =""; + if (scm_is_symbol (scm_style)) + style = ly_symbol2string (scm_style); + string idx = "dots.dot" + style; + Stencil d = Font_interface::get_default_font (sc)->find_by_name (idx); + if (d.is_empty ()) + { + sc->warning (_f ("dot `%s' not found", idx.c_str ())); + return SCM_EOL; + } Real dw = d.extent (X_AXIS).length (); /* @@ -55,5 +66,6 @@ ADD_INTERFACE (Dots, "dots-interface", /* properties */ "direction " - "dot-count"); - + "dot-count " + "style " + ); diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index 2959ce7187..03e4d54f5a 100644 --- a/ly/engraver-init.ly +++ b/ly/engraver-init.ly @@ -765,6 +765,7 @@ AncientRemoveEmptyStaffContext = \context { \override Custos #'style = #'vaticana \override Custos #'neutral-position = #3 \override Custos #'neutral-direction = #DOWN + \override Dots #'style = #'vaticana } \context { diff --git a/mf/parmesan-dots.mf b/mf/parmesan-dots.mf new file mode 100644 index 0000000000..9ea6fe0b9c --- /dev/null +++ b/mf/parmesan-dots.mf @@ -0,0 +1,19 @@ +fet_begingroup ("dots"); + +save dot_diam; + +3 dot_diam# = staff_space# - stafflinethickness#; +define_whole_blacker_pixels (dot_diam); + +fet_beginchar ("duration dot", "dotvaticana"); + pickup pencircle scaled dot_diam; + + lft x0 = 0; + top y0 = vround (.5 dot_diam); + + drawdot z0; + + set_char_box (0, dot_diam#, .5 dot_diam#, .5 dot_diam#); +fet_endchar; + +fet_endgroup ("dots"); diff --git a/mf/parmesan-generic.mf b/mf/parmesan-generic.mf index 85f76a701a..0ed8a62016 100644 --- a/mf/parmesan-generic.mf +++ b/mf/parmesan-generic.mf @@ -33,6 +33,7 @@ if test = 0: input parmesan-flags; input parmesan-timesig; input parmesan-scripts; + input parmesan-dots; else: fi -- 2.39.5