diff --git a/src/render/context.rs b/src/render/context.rs index 2c24a65..63fa76a 100644 --- a/src/render/context.rs +++ b/src/render/context.rs @@ -125,13 +125,13 @@ impl CellMetrics { } pub struct FontFeatures { - features: Option, + attr: Option, } impl FontFeatures { pub fn new() -> Self { FontFeatures { - features: None, + attr: None, } } @@ -141,16 +141,13 @@ impl FontFeatures { } FontFeatures { - features: Some(font_features) + attr: sys_pango::attribute::new_features(&font_features), } } - pub fn insert_attr(&self, attr_list: &pango::AttrList, end_idx: usize) { - if let Some(ref features) = self.features { - let mut attr = sys_pango::attribute::new_features(features).unwrap(); - attr.set_start_index(0); - attr.set_end_index(end_idx as u32); - attr_list.insert(attr); + pub fn insert_attr(&self, attr_list: &pango::AttrList) { + if let Some(ref attr) = self.attr { + attr_list.insert(attr.clone()); } } } diff --git a/src/ui_model/line.rs b/src/ui_model/line.rs index fbf8e95..816492c 100644 --- a/src/ui_model/line.rs +++ b/src/ui_model/line.rs @@ -279,7 +279,7 @@ impl StyledLine { } style_attr.insert(&attr_list); - font_features.insert_attr(&attr_list, line_str.len()); + font_features.insert_attr(&attr_list); StyledLine { line_str,