X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fmodified-font-metric.cc;h=a3beb4daefa0665be7fd0bacef73fe19571e49ef;hb=8cf69a467ad7650f5ca9da6fe2dfd4c7c088b239;hp=2256eb9d180f2cf28e3652cf07ca850c0fddab30;hpb=207f71b8b2ab9ca550e841615bedce393e652ca6;p=lilypond.git diff --git a/lily/modified-font-metric.cc b/lily/modified-font-metric.cc index 2256eb9d18..a3beb4daef 100644 --- a/lily/modified-font-metric.cc +++ b/lily/modified-font-metric.cc @@ -26,7 +26,10 @@ using namespace std; #include "main.hh" #include "program-option.hh" -using std::string; +Preinit_Modified_font_metric::Preinit_Modified_font_metric () +{ + orig_ = 0; +} Modified_font_metric::Modified_font_metric (Font_metric *fm, Real magnification) @@ -104,16 +107,20 @@ Modified_font_metric::index_to_charcode (vsize i) const void Modified_font_metric::derived_mark () const { + if (orig_) + scm_gc_mark (orig_->self_scm ()); } Stencil Modified_font_metric::text_stencil (Output_def *state, - const string &text, bool feta) const + const string &text, + bool feta, + const string &features_str) const { Box b; if (Pango_font *pf = dynamic_cast (orig_)) { - Stencil stc = pf->text_stencil (state, text, feta); + Stencil stc = pf->text_stencil (state, text, feta, features_str); Box b = stc.extent_box (); @@ -122,7 +129,7 @@ Modified_font_metric::text_stencil (Output_def *state, return scaled; } - return Font_metric::text_stencil (state, text, feta); + return Font_metric::text_stencil (state, text, feta, features_str); } Font_metric *