+Open_type_font::design_size () const
+{
+ SCM entry = scm_hashq_ref (lily_global_table_,
+ ly_symbol2scm ("design_size"),
+
+ /*
+ Hmm. Design size is arbitrary for
+ non-design-size fonts. I vote for 1 -
+ which will trip errors more
+ quickly. --hwn.
+ */
+ scm_from_int (1));
+ return scm_to_double (entry);
+}
+
+
+SCM
+Open_type_font::sub_fonts () const
+{
+ return lily_subfonts_;
+}
+
+LY_DEFINE (ly_font_sub_fonts, "ly:font-sub-fonts", 1, 0, 0,
+ (SCM font),
+ "Given the font metric @var{font} of an OpenType font, return the "
+ "names of the subfonts within @var{font}.")
+{
+ Font_metric *fm = unsmob_metrics (font);
+ SCM_ASSERT_TYPE (fm, font, SCM_ARG1, __FUNCTION__, "font-metric");
+ return fm->sub_fonts ();
+}
+
+LY_DEFINE (ly_otf_font_glyph_info, "ly:otf-font-glyph-info", 2, 0, 0,
+ (SCM font, SCM glyph),
+ "Given the font metric @var{font} of an OpenType font, return the "
+ "information about named glyph @var{glyph} (a string)")