+ /*
+ Hmm. We're chaining font - metrics. Should consider wether to merge
+ virtual-font and scaled_font.
+ */
+ SCM val = SCM_EOL;
+ if (Virtual_font_metric * vf = dynamic_cast<Virtual_font_metric*> (f))
+ {
+ /*
+ For fontify_atom (), the magnification and name must be known
+ at the same time. That's impossible for
+
+ Scaled (Virtual_font (Font1,Font2))
+
+ so we replace by
+
+ Virtual_font (Scaled (Font1), Scaled (Font2))
+
+ */
+ SCM l = SCM_EOL;
+ SCM *t = &l;
+ for (SCM s = vf->get_font_list (); ly_pair_p (s); s = ly_cdr (s))
+ {
+ Font_metric*scaled
+ = find_scaled_font (unsmob_metrics (ly_car (s)), m);
+ *t = scm_cons (scaled->self_scm (), SCM_EOL);
+ t = SCM_CDRLOC(*t);
+ }
+
+ vf = new Virtual_font_metric (l);
+ val = vf->self_scm ();
+ }
+ else
+ {
+ SCM scale_var = ly_module_lookup (scope_, ly_symbol2scm ("outputscale"));
+ SCM coding_var = ly_module_lookup (scope_, ly_symbol2scm ("inputencoding"));