-#include "molecule.hh"
-#include "paper-def.hh"
-#include "lookup.hh"
-#include "score-element.hh"
-#include "paper-column.hh"
-#include "line-of-score.hh"
-
-/*
- TODO: move text lookup out of Chord_name
- */
-
-/*
- word is roman text or property-styled text:
- "text"
- ("text" . property-alist)
- */
-
-Molecule
-Chord_name::ly_word2molecule (Score_element * me, SCM word, Real* x)
-{
- *x = 0;
-
- SCM options_alist = SCM_EOL;
- if (gh_pair_p (word))
- {
- options_alist = gh_cdr (word);
- word = gh_car (word);
- }
-
- if (gh_string_p (word))
- {
- /*
- UGH. Should read from font metric structure.
- */
- Real ex = me->lookup_l ()->text ("", "x",
- me->paper_l ()).extent (Y_AXIS).length ();
- Real em = me->lookup_l ()->text ("", "m",
- me->paper_l ()).extent (X_AXIS).length ();
-
- String w = ly_scm2string (word);
-
- String style;
- SCM s = scm_assoc (ly_symbol2scm ("style"), options_alist);
- if (s != SCM_BOOL_F)
- {
- style = ly_scm2string (gh_cdr (s));
- }
-
- Offset offset;
- int size = 0;
- /*
- urg, `type'
- */
- s = scm_assoc (ly_symbol2scm ("type"), options_alist);
- if (s != SCM_BOOL_F && ly_scm2string (gh_cdr (s)) == "super")
- {
- Real super_y = ex / 2;
- offset = Offset (0, super_y);
- if (!size)
- size = -2;
- }
-
- s = scm_assoc (ly_symbol2scm ("size"), options_alist);
- if (s != SCM_BOOL_F)
- {
- size = gh_scm2int (gh_cdr (s));
- }
-
- s = scm_assoc (ly_symbol2scm ("offset"), options_alist);
- if (s != SCM_BOOL_F)
- {
- // hmm
- SCM o = gh_cdr (s);
- if (gh_pair_p (o))
- offset = Offset (0, gh_scm2double (gh_cdr (o))) * ex;
- *x = gh_scm2double (gh_car (o)) * em;
- }