X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fmodified-font-metric.cc;h=a3beb4daefa0665be7fd0bacef73fe19571e49ef;hb=5d84bfad4626892bcffd05adcced53c8a2329047;hp=b746fdaa68d0753f096f92bb3973de51a538cb90;hpb=59a6d1a06432fc0ca88c3023c646182f389ec1b5;p=lilypond.git
diff --git a/lily/modified-font-metric.cc b/lily/modified-font-metric.cc
index b746fdaa68..a3beb4daef 100644
--- a/lily/modified-font-metric.cc
+++ b/lily/modified-font-metric.cc
@@ -17,6 +17,7 @@
along with LilyPond. If not, see .
*/
#include
+using namespace std;
#include "modified-font-metric.hh"
#include "pango-font.hh"
@@ -25,7 +26,10 @@
#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)
@@ -103,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 ();
@@ -121,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 *