summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTavmjong Bah <tavmjong@free.fr>2017-06-03 13:20:04 +0000
committertavmjong-free <tavmjong@free.fr>2017-06-03 13:20:04 +0000
commitd94079b0ea0195ed9c3fee03c4efd7d34e95d429 (patch)
treedafb46ea25f10b6471572e4f24236742d142f21f
parentAvoid name conflict with libwmf (wmf_free). (diff)
downloadinkscape-d94079b0ea0195ed9c3fee03c4efd7d34e95d429.tar.gz
inkscape-d94079b0ea0195ed9c3fee03c4efd7d34e95d429.zip
Add list of OpenType tables available in selected font.
(bzr r15703.1.22)
-rw-r--r--src/ui/widget/font-variants.cpp57
-rw-r--r--src/ui/widget/font-variants.h3
2 files changed, 35 insertions, 25 deletions
diff --git a/src/ui/widget/font-variants.cpp b/src/ui/widget/font-variants.cpp
index b386051a6..6753bbc7a 100644
--- a/src/ui/widget/font-variants.cpp
+++ b/src/ui/widget/font-variants.cpp
@@ -231,9 +231,13 @@ namespace Widget {
// Add tooltips
_feature_entry.set_tooltip_text( _("Feature settings in CSS form. No sanity checking is performed."));
+ _feature_list.set_justify( Gtk::JUSTIFY_LEFT );
+ _feature_list.set_line_wrap( true );
+
// Add to frame
_feature_vbox.add( _feature_entry );
_feature_vbox.add( _feature_label );
+ _feature_vbox.add( _feature_list );
_feature_frame.add( _feature_vbox );
add( _feature_frame );
@@ -532,30 +536,35 @@ namespace Widget {
// Make list of tables not handled above... eventually add Gtk::Label with
// this info.
- // std::map<Glib::ustring,int> table_copy = res->openTypeTables;
- // if( (it = table_copy.find("liga")) != table_copy.end() ) table_copy.erase( it );
- // if( (it = table_copy.find("clig")) != table_copy.end() ) table_copy.erase( it );
- // if( (it = table_copy.find("dlig")) != table_copy.end() ) table_copy.erase( it );
- // if( (it = table_copy.find("hlig")) != table_copy.end() ) table_copy.erase( it );
- // if( (it = table_copy.find("calt")) != table_copy.end() ) table_copy.erase( it );
- // if( (it = table_copy.find("subs")) != table_copy.end() ) table_copy.erase( it );
- // if( (it = table_copy.find("sups")) != table_copy.end() ) table_copy.erase( it );
- // if( (it = table_copy.find("smcp")) != table_copy.end() ) table_copy.erase( it );
- // if( (it = table_copy.find("c2sc")) != table_copy.end() ) table_copy.erase( it );
- // if( (it = table_copy.find("pcap")) != table_copy.end() ) table_copy.erase( it );
- // if( (it = table_copy.find("unic")) != table_copy.end() ) table_copy.erase( it );
- // if( (it = table_copy.find("titl")) != table_copy.end() ) table_copy.erase( it );
- // if( (it = table_copy.find("lnum")) != table_copy.end() ) table_copy.erase( it );
- // if( (it = table_copy.find("onum")) != table_copy.end() ) table_copy.erase( it );
- // if( (it = table_copy.find("pnum")) != table_copy.end() ) table_copy.erase( it );
- // if( (it = table_copy.find("tnum")) != table_copy.end() ) table_copy.erase( it );
- // if( (it = table_copy.find("frac")) != table_copy.end() ) table_copy.erase( it );
- // if( (it = table_copy.find("afrc")) != table_copy.end() ) table_copy.erase( it );
- // if( (it = table_copy.find("ordn")) != table_copy.end() ) table_copy.erase( it );
- // if( (it = table_copy.find("zero")) != table_copy.end() ) table_copy.erase( it );
- // for(it = table_copy.begin(); it != table_copy.end(); ++it) {
- // std::cout << "Other: " << it->first << " Occurances: " << it->second << std::endl;
- // }
+ std::map<Glib::ustring,int> table_copy = res->openTypeTables;
+ if( (it = table_copy.find("liga")) != table_copy.end() ) table_copy.erase( it );
+ if( (it = table_copy.find("clig")) != table_copy.end() ) table_copy.erase( it );
+ if( (it = table_copy.find("dlig")) != table_copy.end() ) table_copy.erase( it );
+ if( (it = table_copy.find("hlig")) != table_copy.end() ) table_copy.erase( it );
+ if( (it = table_copy.find("calt")) != table_copy.end() ) table_copy.erase( it );
+ if( (it = table_copy.find("subs")) != table_copy.end() ) table_copy.erase( it );
+ if( (it = table_copy.find("sups")) != table_copy.end() ) table_copy.erase( it );
+ if( (it = table_copy.find("smcp")) != table_copy.end() ) table_copy.erase( it );
+ if( (it = table_copy.find("c2sc")) != table_copy.end() ) table_copy.erase( it );
+ if( (it = table_copy.find("pcap")) != table_copy.end() ) table_copy.erase( it );
+ if( (it = table_copy.find("unic")) != table_copy.end() ) table_copy.erase( it );
+ if( (it = table_copy.find("titl")) != table_copy.end() ) table_copy.erase( it );
+ if( (it = table_copy.find("lnum")) != table_copy.end() ) table_copy.erase( it );
+ if( (it = table_copy.find("onum")) != table_copy.end() ) table_copy.erase( it );
+ if( (it = table_copy.find("pnum")) != table_copy.end() ) table_copy.erase( it );
+ if( (it = table_copy.find("tnum")) != table_copy.end() ) table_copy.erase( it );
+ if( (it = table_copy.find("frac")) != table_copy.end() ) table_copy.erase( it );
+ if( (it = table_copy.find("afrc")) != table_copy.end() ) table_copy.erase( it );
+ if( (it = table_copy.find("ordn")) != table_copy.end() ) table_copy.erase( it );
+ if( (it = table_copy.find("zero")) != table_copy.end() ) table_copy.erase( it );
+ std::string ott_list = "OpenType tables not included above: ";
+ for(it = table_copy.begin(); it != table_copy.end(); ++it) {
+ // std::cout << "Other: " << it->first << " Occurances: " << it->second << std::endl;
+ ott_list += it->first;
+ ott_list += ", ";
+ }
+
+ _feature_list.set_text( ott_list.c_str() );
} else {
std::cerr << "FontVariants::update(): Couldn't find font_instance for: "
diff --git a/src/ui/widget/font-variants.h b/src/ui/widget/font-variants.h
index d4329feff..507e5fb91 100644
--- a/src/ui/widget/font-variants.h
+++ b/src/ui/widget/font-variants.h
@@ -86,7 +86,8 @@ protected:
Gtk::VBox _feature_vbox;
Gtk::Entry _feature_entry;
Gtk::Label _feature_label;
-
+ Gtk::Label _feature_list;
+
private:
void ligatures_init();
void ligatures_callback();