X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Ffont-metric-scheme.cc;h=b2b9db1123e03827d70bad63f47463b7938c35b7;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=faa007aac57ad7683c9870f6ad3a8873f977825f;hpb=edf9d00fea686457b4469b82a435d5dc3bf09a56;p=lilypond.git diff --git a/lily/font-metric-scheme.cc b/lily/font-metric-scheme.cc index faa007aac5..b2b9db1123 100644 --- a/lily/font-metric-scheme.cc +++ b/lily/font-metric-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2010 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -24,19 +24,19 @@ #include "modified-font-metric.hh" LY_DEFINE (ly_font_get_glyph, "ly:font-get-glyph", - 2, 0, 0, - (SCM font, SCM name), - "Return a stencil from @var{font} for the glyph named @var{name}." - " If the glyph is not available, return an empty stencil.\n" - "\n" - "Note that this command can only be used to access glyphs from" - " fonts loaded with @code{ly:system-font-load}; currently, this" - " means either the Emmentaler or Emmentaler-Brace " + 2, 0, 0, + (SCM font, SCM name), + "Return a stencil from @var{font} for the glyph named @var{name}." + " If the glyph is not available, return an empty stencil.\n" + "\n" + "Note that this command can only be used to access glyphs from" + " fonts loaded with @code{ly:system-font-load}; currently, this" + " means either the Emmentaler or Emmentaler-Brace " " fonts, corresponding" - " to the font encodings @code{fetaMusic} and @code{fetaBraces}," - " respectively.") + " to the font encodings @code{fetaMusic} and @code{fetaBraces}," + " respectively.") { - Font_metric *fm = unsmob_metrics (font); + Font_metric *fm = Font_metric::unsmob (font); LY_ASSERT_SMOB (Font_metric, font, 1); LY_ASSERT_TYPE (scm_is_string, name, 2); @@ -46,37 +46,18 @@ LY_DEFINE (ly_font_get_glyph, "ly:font-get-glyph", return m.smobbed_copy (); } -LY_DEFINE (ly_get_glyph, "ly:get-glyph", - 2, 0, 0, - (SCM font, SCM index), - "Retrieve a stencil for the glyph numbered @var{index}" - " in @var{font}.\n" - "\n" - "Note that this command can only be used to access glyphs from" - " fonts loaded with @code{ly:system-font-load}; currently, this" - " means either the Emmentaler or Emmentaler-Brace fonts, corresponding" - " to the font encodings @code{fetaMusic} and @code{fetaBraces}," - " respectively.") -{ - Font_metric *fm = unsmob_metrics (font); - LY_ASSERT_SMOB (Font_metric, font, 1); - LY_ASSERT_TYPE (scm_is_number, index,2); - - return fm->get_ascii_char_stencil (scm_to_int (index)).smobbed_copy (); -} - LY_DEFINE (ly_font_glyph_name_to_index, "ly:font-glyph-name-to-index", - 2, 0, 0, - (SCM font, SCM name), - "Return the index for @var{name} in @var{font}.\n" - "\n" - "Note that this command can only be used to access glyphs from" - " fonts loaded with @code{ly:system-font-load}; currently, this" - " means either the Emmentaler or Emmentaler-Brace fonts, corresponding" - " to the font encodings @code{fetaMusic} and @code{fetaBraces}," - " respectively.") + 2, 0, 0, + (SCM font, SCM name), + "Return the index for @var{name} in @var{font}.\n" + "\n" + "Note that this command can only be used to access glyphs from" + " fonts loaded with @code{ly:system-font-load}; currently, this" + " means either the Emmentaler or Emmentaler-Brace fonts, corresponding" + " to the font encodings @code{fetaMusic} and @code{fetaBraces}," + " respectively.") { - Font_metric *fm = unsmob_metrics (font); + Font_metric *fm = Font_metric::unsmob (font); LY_ASSERT_SMOB (Font_metric, font, 1); LY_ASSERT_TYPE (scm_is_string, name, 2); @@ -84,17 +65,17 @@ LY_DEFINE (ly_font_glyph_name_to_index, "ly:font-glyph-name-to-index", } LY_DEFINE (ly_font_index_to_charcode, "ly:font-index-to-charcode", - 2, 0, 0, - (SCM font, SCM index), - "Return the character code for @var{index} in @var{font}.\n" - "\n" - "Note that this command can only be used to access glyphs from" - " fonts loaded with @code{ly:system-font-load}; currently, this" - " means either the Emmentaler or Emmentaler-Brace fonts, corresponding" - " to the font encodings @code{fetaMusic} and @code{fetaBraces}," - " respectively.") + 2, 0, 0, + (SCM font, SCM index), + "Return the character code for @var{index} in @var{font}.\n" + "\n" + "Note that this command can only be used to access glyphs from" + " fonts loaded with @code{ly:system-font-load}; currently, this" + " means either the Emmentaler or Emmentaler-Brace fonts, corresponding" + " to the font encodings @code{fetaMusic} and @code{fetaBraces}," + " respectively.") { - Font_metric *fm = unsmob_metrics (font); + Font_metric *fm = Font_metric::unsmob (font); LY_ASSERT_SMOB (Font_metric, font, 1); LY_ASSERT_TYPE (scm_is_integer, index, 2); @@ -102,17 +83,17 @@ LY_DEFINE (ly_font_index_to_charcode, "ly:font-index-to-charcode", } LY_DEFINE (ly_font_glyph_name_to_charcode, "ly:font-glyph-name-to-charcode", - 2, 0, 0, - (SCM font, SCM name), - "Return the character code for glyph @var{name} in @var{font}.\n" - "\n" - "Note that this command can only be used to access glyphs from" - " fonts loaded with @code{ly:system-font-load}; currently, this" - " means either the Emmentaler or Emmentaler-Brace fonts, corresponding" - " to the font encodings @code{fetaMusic} and @code{fetaBraces}," - " respectively.") + 2, 0, 0, + (SCM font, SCM name), + "Return the character code for glyph @var{name} in @var{font}.\n" + "\n" + "Note that this command can only be used to access glyphs from" + " fonts loaded with @code{ly:system-font-load}; currently, this" + " means either the Emmentaler or Emmentaler-Brace fonts, corresponding" + " to the font encodings @code{fetaMusic} and @code{fetaBraces}," + " respectively.") { - Font_metric *fm = unsmob_metrics (font); + Font_metric *fm = Font_metric::unsmob (font); LY_ASSERT_SMOB (Font_metric, font, 1); LY_ASSERT_TYPE (scm_is_string, name, 2); @@ -123,50 +104,50 @@ LY_DEFINE (ly_font_glyph_name_to_charcode, "ly:font-glyph-name-to-charcode", TODO: when are non string retvals allowed? */ LY_DEFINE (ly_font_file_name, "ly:font-file-name", - 1, 0, 0, - (SCM font), - "Given the font metric @var{font}," - " return the corresponding file name.") + 1, 0, 0, + (SCM font), + "Given the font metric @var{font}," + " return the corresponding file name.") { LY_ASSERT_SMOB (Font_metric, font, 1); - Font_metric *fm = unsmob_metrics (font); + Font_metric *fm = Font_metric::unsmob (font); SCM name = fm->font_file_name (); return name; } LY_DEFINE (ly_font_name, "ly:font-name", - 1, 0, 0, - (SCM font), - "Given the font metric @var{font}," - " return the corresponding name.") + 1, 0, 0, + (SCM font), + "Given the font metric @var{font}," + " return the corresponding name.") { LY_ASSERT_SMOB (Font_metric, font, 1); - Font_metric *fm = unsmob_metrics (font); + Font_metric *fm = Font_metric::unsmob (font); return ly_string2scm (fm->font_name ()); } LY_DEFINE (ly_font_magnification, "ly:font-magnification", 1, 0, 0, - (SCM font), - "Given the font metric @var{font}, return the" - " magnification, relative to the current output-scale.") + (SCM font), + "Given the font metric @var{font}, return the" + " magnification, relative to the current output-scale.") { LY_ASSERT_SMOB (Font_metric, font, 1); - Font_metric *fm = unsmob_metrics (font); + Font_metric *fm = Font_metric::unsmob (font); return scm_cdr (fm->description_); } LY_DEFINE (ly_font_design_size, "ly:font-design-size", 1, 0, 0, - (SCM font), - "Given the font metric @var{font}, return the" - " design size, relative to the current output-scale.") + (SCM font), + "Given the font metric @var{font}, return the" + " design size, relative to the current output-scale.") { LY_ASSERT_SMOB (Font_metric, font, 1); - Font_metric *fm = unsmob_metrics (font); + Font_metric *fm = Font_metric::unsmob (font); return scm_from_double (fm->design_size ()); }