From 443ab0f809b848675fe5a74fe2290c7dc7ca16b0 Mon Sep 17 00:00:00 2001 From: Tavmjong Bah Date: Mon, 5 Jun 2017 21:32:59 +0200 Subject: Show glyphs with alternative styles in "Feature Settings" section of "Variants" tab of "Text and Font" dialog. (bzr r15703.1.28) --- src/ui/widget/font-variants.cpp | 34 ++++++++++++++++++++++++++++++++++ src/ui/widget/font-variants.h | 1 + 2 files changed, 35 insertions(+) (limited to 'src/ui/widget') diff --git a/src/ui/widget/font-variants.cpp b/src/ui/widget/font-variants.cpp index 6753bbc7a..e7645b620 100644 --- a/src/ui/widget/font-variants.cpp +++ b/src/ui/widget/font-variants.cpp @@ -234,10 +234,14 @@ namespace Widget { _feature_list.set_justify( Gtk::JUSTIFY_LEFT ); _feature_list.set_line_wrap( true ); + _feature_substitutions.set_justify( Gtk::JUSTIFY_LEFT ); + _feature_substitutions.set_line_wrap( true ); + // Add to frame _feature_vbox.add( _feature_entry ); _feature_vbox.add( _feature_label ); _feature_vbox.add( _feature_list ); + _feature_vbox.add( _feature_substitutions ); _feature_frame.add( _feature_vbox ); add( _feature_frame ); @@ -566,6 +570,36 @@ namespace Widget { _feature_list.set_text( ott_list.c_str() ); + // ""; + Glib::ustring markup; + + for (auto table: res->openTypeSubstitutions) { + + markup += table.first; + markup += ": "; + + markup += ""; + markup += Glib::Markup::escape_text(table.second); + markup += ""; + + markup += " → "; + + markup += ""; + markup += ""; + markup += Glib::Markup::escape_text(table.second); + markup += ""; + markup += "\n"; + + } + + _feature_substitutions.set_markup ( markup.c_str() ); + } else { std::cerr << "FontVariants::update(): Couldn't find font_instance for: " << font_spec << std::endl; diff --git a/src/ui/widget/font-variants.h b/src/ui/widget/font-variants.h index 507e5fb91..cf8e476a9 100644 --- a/src/ui/widget/font-variants.h +++ b/src/ui/widget/font-variants.h @@ -87,6 +87,7 @@ protected: Gtk::Entry _feature_entry; Gtk::Label _feature_label; Gtk::Label _feature_list; + Gtk::Label _feature_substitutions; private: void ligatures_init(); -- cgit v1.2.3