summaryrefslogtreecommitdiffstats
path: root/src/ui
diff options
context:
space:
mode:
authorTavmjong Bah <tavmjong@free.fr>2017-06-05 19:32:59 +0000
committertavmjong-free <tavmjong@free.fr>2017-06-05 19:32:59 +0000
commit443ab0f809b848675fe5a74fe2290c7dc7ca16b0 (patch)
treee675cb7da3aefcf4dacfdf36edb3e8fe705097c0 /src/ui
parent[Bug #1695016] Xaml export misses some radialGradients. (diff)
downloadinkscape-443ab0f809b848675fe5a74fe2290c7dc7ca16b0.tar.gz
inkscape-443ab0f809b848675fe5a74fe2290c7dc7ca16b0.zip
Show glyphs with alternative styles in "Feature Settings" section of "Variants" tab of "Text and Font" dialog.
(bzr r15703.1.28)
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/widget/font-variants.cpp34
-rw-r--r--src/ui/widget/font-variants.h1
2 files changed, 35 insertions, 0 deletions
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() );
+ // "<span foreground='darkblue'>";
+ Glib::ustring markup;
+
+ for (auto table: res->openTypeSubstitutions) {
+
+ markup += table.first;
+ markup += ": ";
+
+ markup += "<span font_family='";
+ markup += sp_font_description_get_family(res->descr);
+ markup += "'>";
+ markup += Glib::Markup::escape_text(table.second);
+ markup += "</span>";
+
+ markup += " → ";
+
+ markup += "<span font_family='";
+ markup += sp_font_description_get_family(res->descr);
+ markup += "'>";
+ markup += "<span font_features='";
+ markup += table.first;
+ markup += "'>";
+ markup += Glib::Markup::escape_text(table.second);
+ markup += "</span>";
+ markup += "</span>\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();