*/
/*
- TODO:
+ FIXME:
rewrite routines and syntax to be like
Text_item::markup_sentence2molecule (Grob *me, SCM markup_sentence,
SCM alist_chain)
{
- /*
- FIXME
-
- huh?
- */
- // return Molecule ();
-
SCM sheet = me->paper_l ()->style_sheet_;
SCM f = gh_cdr (scm_assoc (ly_symbol2scm ("markup-to-properties"), sheet));
if (gh_pair_p (r) && gh_number_p (gh_cdr (r)))
raise = gh_scm2double (gh_cdr (r)) * staff_space;
+#if 0
Offset o (align == X_AXIS ? kern : 0,
(align == Y_AXIS ? - kern : 0) + raise);
-
+#else
+ Offset o (0, (align == Y_AXIS ? - kern : 0) + raise);
+#endif
+
Molecule mol;
while (gh_pair_p (sentence))
{
+ /* Ugh: this (kerning) only works if 'kern' is the first modifier of a
+ markup. I guess the only solution is to rewrite markup definition,
+ see above. */
Molecule m = text2molecule (me, gh_car (sentence), p);
+ Real m_kern = 0;
+ SCM m_p = SCM_EOL;
+ if (gh_pair_p (gh_car (sentence)))
+ m_p = gh_cons (gh_call2 (f, sheet, gh_caar (sentence)), alist_chain);
+ SCM m_k = ly_assoc_chain (ly_symbol2scm ("kern"), m_p);
+ if (gh_pair_p (m_k) && gh_number_p (gh_cdr (m_k)))
+ m_kern = gh_scm2double (gh_cdr (m_k)) * staff_space;
+
if (!m.empty_b ())
{
m.translate (o);
- mol.add_at_edge (align, align == X_AXIS ? RIGHT : DOWN, m, 0);
+ mol.add_at_edge (align, align == X_AXIS ? RIGHT : DOWN, m, m_kern);
}
sentence = gh_cdr (sentence);
}
(((0 . 0) (2 . -1) (4 . 0) (6 . 0)) . ("m(maj7)"))
;jazz: the delta, see jazz-chords.ly
;;(((0 . 0) (2 . -1) (4 . -1) (6 . -2)) . (super ((font-family . math) "N"))
- ;; slashed o
- (((0 . 0) (2 . -1) (4 . -1) (6 . -1)) . (rows ((raise . 1) "o") ((raise . 0.5) ((kern . -0.5) ((font-relative-size . -3) "/"))) "7")) ; slashed o
+ ;; ugh, kludge slashed o
+ (((0 . 0) (2 . -1) (4 . -1) (6 . -1)) . (rows ((raise . 1) "o") ((kern . -0.85) ((raise . 0.57) ((font-relative-size . -3) "/"))) "7")) ; slashed o
(((0 . 0) (2 . 0) (4 . 1) (6 . -1)) . ("aug7"))
(((0 . 0) (2 . 0) (4 . -1) (6 . 0)) . (rows "maj7" ((font-relative-size . -2) ((raise . 0.2) (music (named "accidentals--1")))) "5"))
(((0 . 0) (2 . 0) (4 . -1) (6 . -1)) . (rows "7" ((font-relative-size . -2) ((raise . 0.2) (music (named "accidentals--1")))) "5"))
. ((rows . ((align . 0)))
(lines . ((align . 1)))
(roman . ((font-family . roman)))
- (music . ((font-family . music) (font-shape . upright)))
+ (music . ((font-family . music) (font-shape . upright) (lookup . name)))
(finger . ((font-style . finger)))
(bold . ((font-series . bold)))
(italic . ((font-shape . italic)))