- assert (a_off.length () < 100 CM);
-
- if (i->font_)
- {
- output_scheme (gh_list (ly_symbol ("select-font"),
- gh_str02scm (symbol_to_string (i->font_).ch_C()),
- SCM_UNDEFINED));
- }
+ if (!gh_pair_p (expr))
+ return;
+
+ SCM head =gh_car (expr);
+ if (head == offset_sym)
+ {
+ o += scm_to (gh_cadr (expr), &o);
+ expr = gh_caddr (expr);
+ goto enter;
+ }
+ else if (head == combine_sym)
+ {
+ output_molecule (gh_cadr (expr), o, nm);
+ expr = gh_caddr (expr);
+ goto enter; // tail recursion
+ }
+ else
+ {
+ output_scheme (gh_list (ly_symbol2scm ("placebox"),
+ gh_double2scm (o[X_AXIS]),
+ gh_double2scm (o[Y_AXIS]),
+ expr,
+ SCM_UNDEFINED));