r22199 by jghali -

scribus-commit scribus-commit at lists.scribus.net
Sun Oct 22 17:37:23 UTC 2017


Author: jghali
Date: Sun Oct 22 17:37:23 2017
New Revision: 22199

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=22199
Log:
modify style manager's font features widget so that items in combo always appear in same order

Added:
    trunk/Scribus/scribus/fonts/fontfeatures.cpp
    trunk/Scribus/scribus/fonts/fontfeatures.h
Modified:
    trunk/Scribus/scribus/fonts/CMakeLists.txt
    trunk/Scribus/scribus/ui/smfontfeatures.cpp
    trunk/Scribus/scribus/ui/smfontfeatures.h
    trunk/Scribus/scribus/ui/smfontfeaturesbase.ui
    trunk/Scribus/win32/msvc2012/scribus-main/Scribus.vcxproj
    trunk/Scribus/win32/msvc2012/scribus-main/Scribus.vcxproj.filters
    trunk/Scribus/win32/msvc2015/scribus-main/Scribus.vcxproj
    trunk/Scribus/win32/msvc2015/scribus-main/Scribus.vcxproj.filters

Modified: trunk/Scribus/scribus/fonts/CMakeLists.txt
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22199&path=/trunk/Scribus/scribus/fonts/CMakeLists.txt
==============================================================================
--- trunk/Scribus/scribus/fonts/CMakeLists.txt	(original)
+++ trunk/Scribus/scribus/fonts/CMakeLists.txt	Sun Oct 22 17:37:23 2017
@@ -8,13 +8,14 @@
 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_FPIC}")
 
 set(SCRIBUS_FONTS_LIB_SOURCES
+  cff.cpp
+  fontfeatures.cpp
+  ftface.cpp
   scface.cpp
-  ftface.cpp
   scface_ps.cpp
-  cff.cpp
-  sfnt.cpp
   scface_ttf.cpp
   scfontmetrics.cpp
+  sfnt.cpp
 )
 set(SCRIBUS_FONTS_LIB "scribus_fonts_lib")
 add_library(${SCRIBUS_FONTS_LIB} STATIC ${SCRIBUS_FONTS_LIB_SOURCES})

Modified: trunk/Scribus/scribus/ui/smfontfeatures.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22199&path=/trunk/Scribus/scribus/ui/smfontfeatures.cpp
==============================================================================
--- trunk/Scribus/scribus/ui/smfontfeatures.cpp	(original)
+++ trunk/Scribus/scribus/ui/smfontfeatures.cpp	Sun Oct 22 17:37:23 2017
@@ -8,6 +8,8 @@
 #include "smfontfeatures.h"
 #include "util.h"
 
+#include "fonts/fontfeatures.h"
+
 #include <QAction>
 #include <QListWidget>
 #include <QListWidgetItem>
@@ -20,19 +22,19 @@
 	  m_pValue("")
 {
 	setupUi(this);
-	setMenu = new StylisticSetsMenu(this);
+	styleSetsMenu = new StylisticSetsMenu(this);
 	for (int i = 1; i <= 20 ; i++)
 	{
-		QAction *action = new QAction("set " + QString::number(i),setMenu);
+		QAction *action = new QAction("set " + QString::number(i), styleSetsMenu);
 		action->setCheckable(true);
-		setMenu->addAction(action);
-	}
-	connect(this->commandLinkButton,SIGNAL(clicked(bool)), this, SLOT(showStyleSetsList()));
+		styleSetsMenu->addAction(action);
+	}
+	stylisticSetsButton->setMenu(styleSetsMenu);
 
 	//capture changed signal
 	connect(this->CommonCheck, SIGNAL(toggled(bool)), this, SLOT(slotChange()));
 	connect(this->ContextualCheck, SIGNAL(toggled(bool)), this, SLOT(slotChange()));
-	connect(this->DiscretinoryCheck, SIGNAL(toggled(bool)), this, SLOT(slotChange()));
+	connect(this->DiscretionaryCheck, SIGNAL(toggled(bool)), this, SLOT(slotChange()));
 	connect(this->HistoricalCheck, SIGNAL(toggled(bool)), this, SLOT(slotChange()));
 	connect(this->SlashedZeroCheck, SIGNAL(toggled(bool)), this, SLOT(slotChange()));
 	connect(this->capitalsComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(slotChange()));
@@ -40,7 +42,7 @@
 	connect(this->numeralComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(slotChange()));
 	connect(this->widthComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(slotChange()));
 	connect(this->fractionComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(slotChange()));
-	connect(this->setMenu, SIGNAL(triggered(QAction*)), this, SLOT(slotChange()));
+	connect(this->styleSetsMenu, SIGNAL(triggered(QAction*)), this, SLOT(slotChange()));
 }
 
 void SMFontFeatures::changeEvent(QEvent *e)
@@ -55,7 +57,7 @@
 {
 	QSignalBlocker blocker01(this->CommonCheck);
 	QSignalBlocker blocker02(this->ContextualCheck);
-	QSignalBlocker blocker03(this->DiscretinoryCheck);
+	QSignalBlocker blocker03(this->DiscretionaryCheck);
 	QSignalBlocker blocker04(this->HistoricalCheck);
 	QSignalBlocker blocker05(this->SlashedZeroCheck);
 	QSignalBlocker blocker06(this->capitalsComboBox);
@@ -63,7 +65,7 @@
 	QSignalBlocker blocker08(this->numeralComboBox);
 	QSignalBlocker blocker09(this->widthComboBox);
 	QSignalBlocker blocker10(this->fractionComboBox);
-	QSignalBlocker blocker11(this->setMenu);
+	QSignalBlocker blocker11(this->styleSetsMenu);
 
 	QStringList capitalFeatures  = comboboxFeatures(capitalsComboBox);
 	QStringList positionFeatures = comboboxFeatures(positionComboBox);
@@ -79,11 +81,11 @@
 
 	retranslateUi(this);
 
-	setupCapitalCombo(capitalFeatures);
-	setupPositionCombo(positionFeatures);
-	setupNumeralStyleCombo(numeralFeatures);
-	setupNumeralWidthCombo(widthFeatures);
-	setupNumeralFractionCombo(fractionFeatures);
+	setupCapitalCombo(FontFeatures::textFlagsFromList(capitalFeatures));
+	setupPositionCombo(FontFeatures::textFlagsFromList(positionFeatures));
+	setupNumeralStyleCombo(FontFeatures::textFlagsFromList(numeralFeatures));
+	setupNumeralWidthCombo(FontFeatures::textFlagsFromList(widthFeatures));
+	setupNumeralFractionCombo(FontFeatures::textFlagsFromList(fractionFeatures));
 
 	capitalsComboBox->setCurrentIndex(oldCapitalIndex);
 	positionComboBox->setCurrentIndex(oldPositionIndex);
@@ -122,7 +124,7 @@
 		else if (fontFeatures[i] == "-liga")
 			CommonCheck->setChecked(false);
 		else if (fontFeatures[i] == "+dlig")
-			DiscretinoryCheck->setChecked(true);
+			DiscretionaryCheck->setChecked(true);
 		else if (fontFeatures[i] == "+hlig")
 			HistoricalCheck->setChecked(true);
 		// position comboBox
@@ -165,45 +167,45 @@
 			SlashedZeroCheck->setChecked(true);
 		// Style Sets
 		else if (fontFeatures[i] == "+ss01")
-			setMenu->actions().at(0)->setChecked(true);
+			styleSetsMenu->actions().at(0)->setChecked(true);
 		else if (fontFeatures[i] == "+ss02")
-			setMenu->actions().at(1)->setChecked(true);
+			styleSetsMenu->actions().at(1)->setChecked(true);
 		else if (fontFeatures[i] == "+ss03")
-			setMenu->actions().at(2)->setChecked(true);
+			styleSetsMenu->actions().at(2)->setChecked(true);
 		else if (fontFeatures[i] == "+ss04")
-			setMenu->actions().at(3)->setChecked(true);
+			styleSetsMenu->actions().at(3)->setChecked(true);
 		else if (fontFeatures[i] == "+ss05")
-			setMenu->actions().at(4)->setChecked(true);
+			styleSetsMenu->actions().at(4)->setChecked(true);
 		else if (fontFeatures[i] == "+ss06")
-			setMenu->actions().at(5)->setChecked(true);
+			styleSetsMenu->actions().at(5)->setChecked(true);
 		else if (fontFeatures[i] == "+ss07")
-			setMenu->actions().at(6)->setChecked(true);
+			styleSetsMenu->actions().at(6)->setChecked(true);
 		else if (fontFeatures[i] == "+ss08")
-			setMenu->actions().at(7)->setChecked(true);
+			styleSetsMenu->actions().at(7)->setChecked(true);
 		else if (fontFeatures[i] == "+ss09")
-			setMenu->actions().at(8)->setChecked(true);
+			styleSetsMenu->actions().at(8)->setChecked(true);
 		else if (fontFeatures[i] == "+ss10")
-			setMenu->actions().at(9)->setChecked(true);
+			styleSetsMenu->actions().at(9)->setChecked(true);
 		else if (fontFeatures[i] == "+ss11")
-			setMenu->actions().at(10)->setChecked(true);
+			styleSetsMenu->actions().at(10)->setChecked(true);
 		else if (fontFeatures[i] == "+ss12")
-			setMenu->actions().at(11)->setChecked(true);
+			styleSetsMenu->actions().at(11)->setChecked(true);
 		else if (fontFeatures[i] == "+ss13")
-			setMenu->actions().at(12)->setChecked(true);
+			styleSetsMenu->actions().at(12)->setChecked(true);
 		else if (fontFeatures[i] == "+ss14")
-			setMenu->actions().at(13)->setChecked(true);
+			styleSetsMenu->actions().at(13)->setChecked(true);
 		else if (fontFeatures[i] == "+ss15")
-			setMenu->actions().at(14)->setChecked(true);
+			styleSetsMenu->actions().at(14)->setChecked(true);
 		else if (fontFeatures[i] == "+ss16")
-			setMenu->actions().at(15)->setChecked(true);
+			styleSetsMenu->actions().at(15)->setChecked(true);
 		else if (fontFeatures[i] == "+ss17")
-			setMenu->actions().at(16)->setChecked(true);
+			styleSetsMenu->actions().at(16)->setChecked(true);
 		else if (fontFeatures[i] == "+ss18")
-			setMenu->actions().at(17)->setChecked(true);
+			styleSetsMenu->actions().at(17)->setChecked(true);
 		else if (fontFeatures[i] == "+ss19")
-			setMenu->actions().at(18)->setChecked(true);
+			styleSetsMenu->actions().at(18)->setChecked(true);
 		else if (fontFeatures[i] == "+ss20")
-			setMenu->actions().at(19)->setChecked(true);
+			styleSetsMenu->actions().at(19)->setChecked(true);
 	}
 }
 
@@ -225,7 +227,7 @@
 		font_feature << "-clig";
 	if (!CommonCheck->isChecked())
 		font_feature << "-liga";
-	if (DiscretinoryCheck->isChecked())
+	if (DiscretionaryCheck->isChecked())
 		font_feature << "+dlig";
 	if (HistoricalCheck->isChecked())
 		font_feature << "+hlig";
@@ -259,45 +261,45 @@
 		font_feature << "+zero";
 
 	// Stylistic sets
-	if (setMenu->actions().at(0)->isChecked())
+	if (styleSetsMenu->actions().at(0)->isChecked())
 		font_feature << "+ss01";
-	if (setMenu->actions().at(1)->isChecked())
+	if (styleSetsMenu->actions().at(1)->isChecked())
 		font_feature << "+ss02";
-	if (setMenu->actions().at(2)->isChecked())
+	if (styleSetsMenu->actions().at(2)->isChecked())
 		font_feature << "+ss03";
-	if (setMenu->actions().at(3)->isChecked())
+	if (styleSetsMenu->actions().at(3)->isChecked())
 		font_feature << "+ss04";
-	if (setMenu->actions().at(4)->isChecked())
+	if (styleSetsMenu->actions().at(4)->isChecked())
 		font_feature << "+ss05";
-	if (setMenu->actions().at(5)->isChecked())
+	if (styleSetsMenu->actions().at(5)->isChecked())
 		font_feature << "+ss06";
-	if (setMenu->actions().at(6)->isChecked())
+	if (styleSetsMenu->actions().at(6)->isChecked())
 		font_feature << "+ss07";
-	if (setMenu->actions().at(7)->isChecked())
+	if (styleSetsMenu->actions().at(7)->isChecked())
 		font_feature << "+ss08";
-	if (setMenu->actions().at(8)->isChecked())
+	if (styleSetsMenu->actions().at(8)->isChecked())
 		font_feature << "+ss09";
-	if (setMenu->actions().at(9)->isChecked())
+	if (styleSetsMenu->actions().at(9)->isChecked())
 		font_feature << "+ss10";
-	if (setMenu->actions().at(10)->isChecked())
+	if (styleSetsMenu->actions().at(10)->isChecked())
 		font_feature << "+ss11";
-	if (setMenu->actions().at(11)->isChecked())
+	if (styleSetsMenu->actions().at(11)->isChecked())
 		font_feature << "+ss12";
-	if (setMenu->actions().at(12)->isChecked())
+	if (styleSetsMenu->actions().at(12)->isChecked())
 		font_feature << "+ss13";
-	if (setMenu->actions().at(13)->isChecked())
+	if (styleSetsMenu->actions().at(13)->isChecked())
 		font_feature << "+ss14";
-	if (setMenu->actions().at(14)->isChecked())
+	if (styleSetsMenu->actions().at(14)->isChecked())
 		font_feature << "+ss15";
-	if (setMenu->actions().at(15)->isChecked())
+	if (styleSetsMenu->actions().at(15)->isChecked())
 		font_feature << "+ss16";
-	if (setMenu->actions().at(16)->isChecked())
+	if (styleSetsMenu->actions().at(16)->isChecked())
 		font_feature << "+ss17";
-	if (setMenu->actions().at(17)->isChecked())
+	if (styleSetsMenu->actions().at(17)->isChecked())
 		font_feature << "+ss18";
-	if (setMenu->actions().at(18)->isChecked())
+	if (styleSetsMenu->actions().at(18)->isChecked())
 		font_feature << "+ss19";
-	if (setMenu->actions().at(19)->isChecked())
+	if (styleSetsMenu->actions().at(19)->isChecked())
 		font_feature << "+ss20";
 	return font_feature.join(",");
 }
@@ -319,7 +321,7 @@
 {
 	connect(ContextualCheck, SIGNAL(clicked()), this, SLOT(slotContextualCheck()));
 	connect(CommonCheck, SIGNAL(clicked()), this, SLOT(slotCommonCheck()));
-	connect(DiscretinoryCheck, SIGNAL(clicked()), this, SLOT(slotDiscretinoryCheck()));
+	connect(DiscretionaryCheck, SIGNAL(clicked()), this, SLOT(slotDiscretionaryCheck()));
 	connect(HistoricalCheck, SIGNAL(clicked()), this, SLOT(slotHistoricalCheck()));
 	connect(capitalsComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(slotCapitalsComboBox()));
 	connect(positionComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(slotPositionComboBox()));
@@ -327,14 +329,14 @@
 	connect(widthComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(slotWidthComboBox()));
 	connect(fractionComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(slotFractionComboBox()));
 	connect(SlashedZeroCheck, SIGNAL(clicked()), this, SLOT(slotSlashedZeroCheck()));
-	connect(setMenu, SIGNAL(triggered(QAction*)), this, SLOT(slotSetMenu()));
+	connect(styleSetsMenu, SIGNAL(triggered(QAction*)), this, SLOT(slotSetMenu()));
 }
 
 void SMFontFeatures::disconnectSignals()
 {
 	disconnect(ContextualCheck, SIGNAL(clicked()), this, SLOT(slotContextualCheck()));
 	disconnect(CommonCheck, SIGNAL(clicked()), this, SLOT(slotCommonCheck()));
-	disconnect(DiscretinoryCheck, SIGNAL(clicked()), this, SLOT(slotDiscretinoryCheck()));
+	disconnect(DiscretionaryCheck, SIGNAL(clicked()), this, SLOT(slotDiscretionaryCheck()));
 	disconnect(HistoricalCheck, SIGNAL(clicked()), this, SLOT(slotHistoricalCheck()));
 	disconnect(capitalsComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(slotCapitalsComboBox()));
 	disconnect(positionComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(slotPositionComboBox()));
@@ -342,7 +344,7 @@
 	disconnect(widthComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(slotWidthComboBox()));
 	disconnect(fractionComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(slotFractionComboBox()));
 	disconnect(SlashedZeroCheck, SIGNAL(clicked()), this, SLOT(slotSlashedZeroCheck()));
-	disconnect(setMenu, SIGNAL(triggered(QAction*)), this, SLOT(slotSetMenu()));
+	disconnect(styleSetsMenu, SIGNAL(triggered(QAction*)), this, SLOT(slotSetMenu()));
 }
 
 void SMFontFeatures::hideAllFontFeatures()
@@ -351,275 +353,199 @@
 	ligaturesGroupBox->hide();
 	CommonCheck->setChecked(false);
 	CommonCheck->setDisabled(true);
-	DiscretinoryCheck->setChecked(false);
-	DiscretinoryCheck->setDisabled(true);
+	DiscretionaryCheck->setChecked(false);
+	DiscretionaryCheck->setDisabled(true);
 	ContextualCheck->setDisabled(true);
 	HistoricalCheck->setDisabled(true);
 
 	capitalsLabel->hide();
 	capitalsComboBox->hide();
-	setupCapitalCombo(QStringList());
+	setupCapitalCombo(FontFeatures::NoFeatures);
 
 	positionLabel->hide();
 	positionComboBox->hide();
-	setupPositionCombo(QStringList());
+	setupPositionCombo(FontFeatures::NoFeatures);
 	capitalsGroupBox->hide();
 
 	numeralsGroupBox->hide();
 	styleLabel->hide();
 	numeralComboBox->hide();
-	setupNumeralStyleCombo(QStringList());
+	setupNumeralStyleCombo(FontFeatures::NoFeatures);
 
 	widthLabel->hide();
 	widthComboBox->hide();
-	setupNumeralWidthCombo(QStringList());
+	setupNumeralWidthCombo(FontFeatures::NoFeatures);
 
 	fractionLabel->hide();
 	fractionComboBox->hide();
-	setupNumeralFractionCombo(QStringList());
+	setupNumeralFractionCombo(FontFeatures::NoFeatures);
 
 	SlashedZeroCheck->hide();
+
 	stylisticSetsLabel->hide();
-	commandLinkButton->hide();
-	stylisticSetsLabel->hide();
-	for (int i = 0; i < setMenu->actions().count(); i++)
-	{
-		setMenu->actions().at(i)->setVisible(false);
+	stylisticSetsButton->hide();
+	for (int i = 0; i < styleSetsMenu->actions().count(); i++)
+	{
+		styleSetsMenu->actions().at(i)->setVisible(false);
 	}
 }
 
 void SMFontFeatures::enableFontFeatures(QStringList fontFeatures)
 {
+	int featureFlags = FontFeatures::fontFlagsFromList(fontFeatures);
+
 	hideAllFontFeatures();
-	capitalsLabel->show();
-	capitalsComboBox->show();
-	numeralsGroupBox->show();
-	numeralComboBox->show();
-	positionComboBox->show();
-	positionLabel->show();
-	fractionLabel->show();
-	fractionComboBox->show();
-	capitalsGroupBox->show();
-
-	widthComboBox->show();
-	styleLabel->show();
-	widthLabel->show();
-	stylisticSetsLabel->show();
-	commandLinkButton->show();
-
-	setupCapitalCombo(fontFeatures);
-	setupPositionCombo(fontFeatures);
-	setupNumeralStyleCombo(fontFeatures);
-	setupNumeralWidthCombo(fontFeatures);
-	setupNumeralFractionCombo(fontFeatures);
-
-	for (int i = 0; i < fontFeatures.count(); i++)
-	{
-		// Ligatures
-		if (fontFeatures[i] == "clig")
-		{
-			ContextualCheck->setDisabled(false);
-			ContextualCheck->setChecked(true);
-		}
-		else if (fontFeatures[i] == "liga")
-		{
-			CommonCheck->setDisabled(false);
-			CommonCheck->setChecked(true);
-		}
-		else if (fontFeatures[i] == "dlig")
-			DiscretinoryCheck->setDisabled(false);
-		else if (fontFeatures[i] == "hlig")
-			HistoricalCheck->setDisabled(false);
-		// Numerals Zero
-		else if (fontFeatures[i] == "zero")
-			SlashedZeroCheck->show();
-		// Style Sets
-		else if (fontFeatures[i] == "ss01")
-			setMenu->actions().at(0)->setVisible(true);
-		else if (fontFeatures[i] == "ss02")
-			setMenu->actions().at(1)->setVisible(true);
-		else if (fontFeatures[i] == "ss03")
-			setMenu->actions().at(2)->setVisible(true);
-		else if (fontFeatures[i] == "ss04")
-			setMenu->actions().at(3)->setVisible(true);
-		else if (fontFeatures[i] == "ss05")
-			setMenu->actions().at(4)->setVisible(true);
-		else if (fontFeatures[i] == "ss06")
-			setMenu->actions().at(5)->setVisible(true);
-		else if (fontFeatures[i] == "ss07")
-			setMenu->actions().at(6)->setVisible(true);
-		else if (fontFeatures[i] == "ss08")
-			setMenu->actions().at(7)->setVisible(true);
-		else if (fontFeatures[i] == "ss09")
-			setMenu->actions().at(8)->setVisible(true);
-		else if (fontFeatures[i] == "ss10")
-			setMenu->actions().at(9)->setVisible(true);
-		else if (fontFeatures[i] == "ss11")
-			setMenu->actions().at(10)->setVisible(true);
-		else if (fontFeatures[i] == "ss12")
-			setMenu->actions().at(11)->setVisible(true);
-		else if (fontFeatures[i] == "ss13")
-			setMenu->actions().at(12)->setVisible(true);
-		else if (fontFeatures[i] == "ss14")
-			setMenu->actions().at(13)->setVisible(true);
-		else if (fontFeatures[i] == "ss15")
-			setMenu->actions().at(14)->setVisible(true);
-		else if (fontFeatures[i] == "ss16")
-			setMenu->actions().at(15)->setVisible(true);
-		else if (fontFeatures[i] == "ss17")
-			setMenu->actions().at(16)->setVisible(true);
-		else if (fontFeatures[i] == "ss18")
-			setMenu->actions().at(17)->setVisible(true);
-		else if (fontFeatures[i] == "ss19")
-			setMenu->actions().at(18)->setVisible(true);
-		else if (fontFeatures[i] == "ss20")
-			setMenu->actions().at(19)->setVisible(true);
-	}
-
-	if (positionComboBox->count() < 2)
-	{
-		positionComboBox->hide();
-		positionLabel->hide();
-	}
-	if (capitalsComboBox->count() < 2)
-	{
-		capitalsComboBox->hide();
-		capitalsLabel->hide();
-	}
-	if (numeralComboBox->count() < 2)
-	{
-		numeralComboBox->hide();
-		styleLabel->hide();
-	}
-	if (widthComboBox->count() < 2)
-	{
-		widthComboBox->hide();
-		widthLabel->hide();
-	}
-	if (fractionComboBox->count() < 2)
-	{
-		fractionComboBox->hide();
-		fractionLabel->hide();
-	}
-	if (ContextualCheck->isEnabled() || CommonCheck->isEnabled()
-			|| DiscretinoryCheck->isEnabled() || HistoricalCheck->isEnabled())
-		ligaturesGroupBox->show();
-	if (positionComboBox->isHidden() && capitalsComboBox->isHidden())
-		capitalsGroupBox->hide();
-	if (numeralComboBox->isHidden() && fractionComboBox->isHidden()
-			&& widthComboBox->isHidden() && SlashedZeroCheck->isHidden())
-		numeralsGroupBox->hide();
-
-	int visibleCount = 0;
-	for (int i = 0; i < setMenu->actions().size(); ++i)
-		if (setMenu->actions().at(i)->isVisible())
-			visibleCount ++;
-
-	if (visibleCount == 0)
-	{
-		stylisticSetsLabel->hide();
-		commandLinkButton->hide();
-	}
+
+	// Capitals
+	setupCapitalCombo(featureFlags);
+	capitalsComboBox->setVisible(capitalsComboBox->count() > 1);
+	capitalsLabel->setVisible(capitalsComboBox->count() > 1);
+
+	// Positions
+	setupPositionCombo(featureFlags);
+	positionComboBox->setVisible(positionComboBox->count() > 1);
+	positionLabel->setVisible(positionComboBox->count() > 1);
+
+	// Numeral Style
+	setupNumeralStyleCombo(featureFlags);
+	numeralComboBox->setVisible(numeralComboBox->count() > 1);
+	styleLabel->setVisible(numeralComboBox->count() > 1);
+
+	// Numeral Width
+	setupNumeralWidthCombo(featureFlags);
+	widthComboBox->setVisible(widthComboBox->count() > 1);
+	widthLabel->setVisible(widthComboBox->count() > 1);
+
+	// Numeral Fractions
+	setupNumeralFractionCombo(featureFlags);
+	fractionComboBox->setVisible(fractionComboBox->count() > 1);
+	fractionLabel->setVisible(fractionComboBox->count() > 1);
+
+	// Ligatures
+	CommonCheck->setEnabled(featureFlags & FontFeatures::CommonLigatures);
+	CommonCheck->setChecked(featureFlags & FontFeatures::CommonLigatures);
+
+	ContextualCheck->setEnabled(featureFlags & FontFeatures::ContextualLigatures);
+	ContextualCheck->setChecked(featureFlags & FontFeatures::ContextualLigatures);
+
+	DiscretionaryCheck->setEnabled(featureFlags & FontFeatures::DiscretionaryLigatures);
+	HistoricalCheck->setEnabled(featureFlags & FontFeatures::HistoricalLigatures);
+
+	// Numerals Zero
+	SlashedZeroCheck->setVisible(featureFlags & FontFeatures::SlashedZero);
+
+	// Style Sets
+	styleSetsMenu->actions().at(0)->setVisible(featureFlags & FontFeatures::StyleSet01);
+	styleSetsMenu->actions().at(1)->setVisible(featureFlags & FontFeatures::StyleSet02);
+	styleSetsMenu->actions().at(2)->setVisible(featureFlags & FontFeatures::StyleSet03);
+	styleSetsMenu->actions().at(3)->setVisible(featureFlags & FontFeatures::StyleSet04);
+	styleSetsMenu->actions().at(4)->setVisible(featureFlags & FontFeatures::StyleSet05);
+	styleSetsMenu->actions().at(5)->setVisible(featureFlags & FontFeatures::StyleSet06);
+	styleSetsMenu->actions().at(6)->setVisible(featureFlags & FontFeatures::StyleSet07);
+	styleSetsMenu->actions().at(7)->setVisible(featureFlags & FontFeatures::StyleSet08);
+	styleSetsMenu->actions().at(8)->setVisible(featureFlags & FontFeatures::StyleSet09);
+	styleSetsMenu->actions().at(9)->setVisible(featureFlags & FontFeatures::StyleSet10);
+	styleSetsMenu->actions().at(10)->setVisible(featureFlags & FontFeatures::StyleSet11);
+	styleSetsMenu->actions().at(11)->setVisible(featureFlags & FontFeatures::StyleSet12);
+	styleSetsMenu->actions().at(12)->setVisible(featureFlags & FontFeatures::StyleSet13);
+	styleSetsMenu->actions().at(13)->setVisible(featureFlags & FontFeatures::StyleSet14);
+	styleSetsMenu->actions().at(14)->setVisible(featureFlags & FontFeatures::StyleSet15);
+	styleSetsMenu->actions().at(15)->setVisible(featureFlags & FontFeatures::StyleSet16);
+	styleSetsMenu->actions().at(16)->setVisible(featureFlags & FontFeatures::StyleSet17);
+	styleSetsMenu->actions().at(17)->setVisible(featureFlags & FontFeatures::StyleSet18);
+	styleSetsMenu->actions().at(18)->setVisible(featureFlags & FontFeatures::StyleSet19);
+	styleSetsMenu->actions().at(19)->setVisible(featureFlags & FontFeatures::StyleSet20);
+
+	ligaturesGroupBox->setVisible(featureFlags & FontFeatures::LigaturesMask);
+	capitalsGroupBox->setVisible(featureFlags & (FontFeatures::CapsMask | FontFeatures::GlyphPositionMask));
+	
+	quint64 numeralsMask = FontFeatures::NumeralStyleMask | FontFeatures::NumeralWidthMask | FontFeatures::NumeralFractionsMask;
+	numeralsMask |= FontFeatures::SlashedZero;
+	numeralsGroupBox->setVisible(featureFlags & numeralsMask);
+
+	stylisticSetsLabel->setVisible(featureFlags & FontFeatures::StyleSetsMask);
+	stylisticSetsButton->setVisible(featureFlags & FontFeatures::StyleSetsMask);
+
 	if (ligaturesGroupBox->isHidden() && capitalsGroupBox->isHidden()
-			&& numeralsGroupBox && commandLinkButton->isHidden())
+			&& numeralsGroupBox && stylisticSetsButton->isHidden())
 	{
 		statusLabel->show();
 	}
 }
 
-void SMFontFeatures::setupCapitalCombo(QStringList fontFeatures)
+void SMFontFeatures::setupCapitalCombo(quint64 featureFlags)
 {
 	QSignalBlocker blocker(capitalsComboBox);
 
 	capitalsComboBox->clear();
 	capitalsComboBox->addItem( tr("Default Capitals"));
 
-	for (int i = 0; i < fontFeatures.count(); i++)
-	{
-		if (fontFeatures[i] == "smcp")
-			capitalsComboBox->addItem( tr("Small Capitals"), QVariant("+smcp"));
-		else if (fontFeatures[i] == "c2sc")
-			capitalsComboBox->addItem( tr("Small Capitals from Capitals"), QVariant("+c2sc"));
-		else if (fontFeatures[i] == "pcap")
-			capitalsComboBox->addItem( tr("Petite Capitals"), QVariant("+pcap"));
-		else if (fontFeatures[i] == "c2pc")
-			capitalsComboBox->addItem( tr("Petite Capitals from Capitals"), QVariant("+c2pc"));
-		else if (fontFeatures[i] == "unic")
-			capitalsComboBox->addItem( tr("Unicase"), QVariant("+unic"));
-		else if (fontFeatures[i] == "titl")
-			capitalsComboBox->addItem( tr("Titling"), QVariant("+titl"));
-	}
-}
-
-void SMFontFeatures::setupPositionCombo(QStringList fontFeatures)
+	if (featureFlags & FontFeatures::SmallCaps)
+		capitalsComboBox->addItem(tr("Small Capitals"), QVariant("+smcp"));
+	if (featureFlags & FontFeatures::SmallCapsFromCaps)
+		capitalsComboBox->addItem(tr("Small Capitals from Capitals"), QVariant("+c2sc"));
+	if (featureFlags & FontFeatures::PetiteCaps)
+		capitalsComboBox->addItem(tr("Petite Capitals"), QVariant("+pcap"));
+	if (featureFlags & FontFeatures::PetiteCapsFromCaps)
+		capitalsComboBox->addItem(tr("Petite Capitals from Capitals"), QVariant("+c2pc"));
+	if (featureFlags & FontFeatures::UnicaseCaps)
+		capitalsComboBox->addItem(tr("Unicase"), QVariant("+unic"));
+	if (featureFlags & FontFeatures::TiltingCaps)
+		capitalsComboBox->addItem(tr("Titling"), QVariant("+titl"));
+}
+
+void SMFontFeatures::setupPositionCombo(quint64 featureFlags)
 {
 	QSignalBlocker blocker(positionComboBox);
 
 	positionComboBox->clear();
 	positionComboBox->addItem( tr("Default Position"));
 
-	for (int i = 0; i < fontFeatures.count(); i++)
-	{
-		if (fontFeatures[i] == "subs")
-			positionComboBox->addItem( tr("Subscript"), QVariant("+subs"));
-		else if (fontFeatures[i] == "sups")
-			positionComboBox->addItem( tr("Superscript"), QVariant("+sups"));
-		else if (fontFeatures[i] == "ordn")
-			positionComboBox->addItem( tr("Ordinals"), QVariant("+ordn"));
-	}
-}
-
-void SMFontFeatures::setupNumeralStyleCombo(QStringList fontFeatures)
+	if (featureFlags & FontFeatures::Subscript)
+		positionComboBox->addItem(tr("Subscript"), QVariant("+subs"));
+	if (featureFlags & FontFeatures::Superscript)
+		positionComboBox->addItem(tr("Superscript"), QVariant("+sups"));
+	if (featureFlags & FontFeatures::Ordinals)
+		positionComboBox->addItem(tr("Ordinals"), QVariant("+ordn"));
+}
+
+void SMFontFeatures::setupNumeralStyleCombo(quint64 featureFlags)
 {
 	QSignalBlocker blocker(numeralComboBox);
 
 	numeralComboBox->clear();
 	numeralComboBox->addItem( tr("Default Numerals"));
 
-	for (int i = 0; i < fontFeatures.count(); i++)
-	{
-		if (fontFeatures[i] == "lnum")
-			numeralComboBox->addItem( tr("Lining"), QVariant("+lnum"));
-		else if (fontFeatures[i] == "onum")
-			numeralComboBox->addItem( tr("Old Style"), QVariant("+onum"));
-	}
-}
-
-void SMFontFeatures::setupNumeralWidthCombo(QStringList fontFeatures)
+	if (featureFlags & FontFeatures::LiningNumerals)
+		numeralComboBox->addItem(tr("Lining"), QVariant("+lnum"));
+	if (featureFlags & FontFeatures::OldStyleNumerals)
+		numeralComboBox->addItem(tr("Old Style"), QVariant("+onum"));
+}
+
+void SMFontFeatures::setupNumeralWidthCombo(quint64 featureFlags)
 {
 	QSignalBlocker blocker(widthComboBox);
 
 	widthComboBox->clear();
 	widthComboBox->addItem( tr("Default Numeral Width"));
 
-	for (int i = 0; i < fontFeatures.count(); i++)
-	{
-		if (fontFeatures[i] == "pnum")
-			widthComboBox->addItem( tr("Proportional"), QVariant("+pnum"));
-		else if (fontFeatures[i] == "tnum")
-			widthComboBox->addItem( tr("Tabular"), QVariant("+tnum"));
-	}
-}
-
-void SMFontFeatures::setupNumeralFractionCombo(QStringList fontFeatures)
+	if (featureFlags & FontFeatures::ProportionalNumeralWidth)
+		widthComboBox->addItem(tr("Proportional"), QVariant("+pnum"));
+	if (featureFlags & FontFeatures::TabularNumeralWidth)
+		widthComboBox->addItem(tr("Tabular"), QVariant("+tnum"));
+}
+
+void SMFontFeatures::setupNumeralFractionCombo(quint64 featureFlags)
 {
 	QSignalBlocker blocker(fractionComboBox);
 
 	fractionComboBox->clear();
 	fractionComboBox->addItem( tr("No Fractions"));
 
-	for (int i = 0; i < fontFeatures.count(); i++)
-	{
-		if (fontFeatures[i] == "frac")
-			fractionComboBox->addItem( tr("Diagonal Fractions"), QVariant("+frac"));
-		else if (fontFeatures[i] == "afrc")
-			fractionComboBox->addItem( tr("Stacked Fractions"), QVariant("+afrc"));
-	}
-}
-
-void SMFontFeatures::showStyleSetsList()
-{
-	setMenu->popup(commandLinkButton->mapToGlobal(QPoint(0,0)));
+	if (featureFlags & FontFeatures::DiagonalFractions)
+		fractionComboBox->addItem(tr("Diagonal Fractions"), QVariant("+frac"));
+	if (featureFlags & FontFeatures::StackedFractions)
+		fractionComboBox->addItem(tr("Stacked Fractions"), QVariant("+afrc"));
 }
 
 void SMFontFeatures::slotChange()
@@ -647,13 +573,13 @@
 	}
 }
 
-void SMFontFeatures::slotDiscretinoryCheck()
-{
-	if (m_hasParent)
-	{
-		QFont f(font());
-		f.setBold(true);
-		DiscretinoryCheck->setFont(f);
+void SMFontFeatures::slotDiscretionaryCheck()
+{
+	if (m_hasParent)
+	{
+		QFont f(font());
+		f.setBold(true);
+		DiscretionaryCheck->setFont(f);
 	}
 }
 
@@ -733,10 +659,10 @@
 	{
 		QFont f(font());
 		f.setBold(true);
-		for (int i = 0; i < setMenu->actions().count(); i++)
+		for (int i = 0; i < styleSetsMenu->actions().count(); i++)
 		{
-			if (setMenu->actions().at(i)->isChecked())
-				setMenu->actions().at(i)->setFont(f);
+			if (styleSetsMenu->actions().at(i)->isChecked())
+				styleSetsMenu->actions().at(i)->setFont(f);
 		}
 	}
 }
@@ -746,7 +672,7 @@
 	disconnectSignals();
 	ContextualCheck->setChecked(false);
 	CommonCheck->setChecked(false);
-	DiscretinoryCheck->setChecked(false);
+	DiscretionaryCheck->setChecked(false);
 	HistoricalCheck->setChecked(false);
 	capitalsComboBox->setCurrentIndex(0);
 	positionComboBox->setCurrentIndex(0);
@@ -755,7 +681,7 @@
 	fractionComboBox->setCurrentIndex(0);
 	SlashedZeroCheck->setChecked(false);
 
-	for (int i=0; i < setMenu->actions().count(); i++)
-		setMenu->actions().at(i)->setChecked(false);
+	for (int i=0; i < styleSetsMenu->actions().count(); i++)
+		styleSetsMenu->actions().at(i)->setChecked(false);
 	connectSignals();
 }

Modified: trunk/Scribus/scribus/ui/smfontfeatures.h
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22199&path=/trunk/Scribus/scribus/ui/smfontfeatures.h
==============================================================================
--- trunk/Scribus/scribus/ui/smfontfeatures.h	(original)
+++ trunk/Scribus/scribus/ui/smfontfeatures.h	Sun Oct 22 17:37:23 2017
@@ -51,7 +51,7 @@
 	void setParentValue(QString val);
 	bool useParentValue();
 
-	StylisticSetsMenu *setMenu;
+	StylisticSetsMenu *styleSetsMenu;
 
 protected:
 	void connectSignals();
@@ -59,11 +59,11 @@
 
 private:
 	void hideAllFontFeatures();
-	void setupCapitalCombo(QStringList fontFeatures);
-	void setupPositionCombo(QStringList fontFeatures);
-	void setupNumeralStyleCombo(QStringList fontFeatures);
-	void setupNumeralWidthCombo(QStringList fontFeatures);
-	void setupNumeralFractionCombo(QStringList fontFeatures);
+	void setupCapitalCombo(quint64 featureFlags);
+	void setupPositionCombo(quint64 featureFlags);
+	void setupNumeralStyleCombo(quint64 featureFlags);
+	void setupNumeralWidthCombo(quint64 featureFlags);
+	void setupNumeralFractionCombo(quint64 featureFlags);
 
 	QStringList comboboxFeatures(QComboBox* combo);
 
@@ -72,11 +72,10 @@
 	QString m_pValue;
 
 private slots:
-	void showStyleSetsList();
 	void slotChange();
 	void slotContextualCheck();
 	void slotCommonCheck();
-	void slotDiscretinoryCheck();
+	void slotDiscretionaryCheck();
 	void slotHistoricalCheck();
 	void slotCapitalsComboBox();
 	void slotPositionComboBox();

Modified: trunk/Scribus/scribus/ui/smfontfeaturesbase.ui
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22199&path=/trunk/Scribus/scribus/ui/smfontfeaturesbase.ui
==============================================================================
--- trunk/Scribus/scribus/ui/smfontfeaturesbase.ui	(original)
+++ trunk/Scribus/scribus/ui/smfontfeaturesbase.ui	Sun Oct 22 17:37:23 2017
@@ -56,7 +56,7 @@
        </widget>
       </item>
       <item row="0" column="1">
-       <widget class="QCheckBox" name="DiscretinoryCheck">
+       <widget class="QCheckBox" name="DiscretionaryCheck">
         <property name="sizePolicy">
          <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
           <horstretch>0</horstretch>
@@ -140,55 +140,55 @@
      </property>
      <layout class="QVBoxLayout" name="verticalLayout_3">
       <item>
-       <layout class="QHBoxLayout" name="horizontalLayout">
-        <item>
+       <layout class="QGridLayout" name="gridLayout">
+        <item row="0" column="1">
+         <widget class="QComboBox" name="capitalsComboBox">
+          <item>
+           <property name="text">
+            <string>Default Capitals</string>
+           </property>
+          </item>
+          <item>
+           <property name="text">
+            <string>Small Capitals</string>
+           </property>
+          </item>
+          <item>
+           <property name="text">
+            <string>Petite Capitals</string>
+           </property>
+          </item>
+          <item>
+           <property name="text">
+            <string>Unicase</string>
+           </property>
+          </item>
+          <item>
+           <property name="text">
+            <string>Titling</string>
+           </property>
+          </item>
+          <item>
+           <property name="text">
+            <string>Petite Capitals from Capitals</string>
+           </property>
+          </item>
+          <item>
+           <property name="text">
+            <string>Small Capitals from Capitals</string>
+           </property>
+          </item>
+         </widget>
+        </item>
+        <item row="0" column="0">
          <widget class="QLabel" name="capitalsLabel">
           <property name="text">
            <string>Capitals:</string>
           </property>
          </widget>
         </item>
-        <item>
-         <widget class="QComboBox" name="capitalsComboBox">
-          <item>
-           <property name="text">
-            <string>Default Capitals</string>
-           </property>
-          </item>
-          <item>
-           <property name="text">
-            <string>Small Capitals</string>
-           </property>
-          </item>
-          <item>
-           <property name="text">
-            <string>Petite Capitals</string>
-           </property>
-          </item>
-          <item>
-           <property name="text">
-            <string>Unicase</string>
-           </property>
-          </item>
-          <item>
-           <property name="text">
-            <string>Titling</string>
-           </property>
-          </item>
-          <item>
-           <property name="text">
-            <string>Petite Capitals from Capitals</string>
-           </property>
-          </item>
-          <item>
-           <property name="text">
-            <string>Small Capitals from Capitals</string>
-           </property>
-          </item>
-         </widget>
-        </item>
-        <item>
-         <spacer name="horizontalSpacer_4">
+        <item row="0" column="2">
+         <spacer name="capitalsSpacer">
           <property name="orientation">
            <enum>Qt::Horizontal</enum>
           </property>
@@ -200,18 +200,14 @@
           </property>
          </spacer>
         </item>
-       </layout>
-      </item>
-      <item>
-       <layout class="QHBoxLayout" name="horizontalLayout_2">
-        <item>
+        <item row="1" column="0">
          <widget class="QLabel" name="positionLabel">
           <property name="text">
            <string>Position:</string>
           </property>
          </widget>
         </item>
-        <item>
+        <item row="1" column="1">
          <widget class="QComboBox" name="positionComboBox">
           <item>
            <property name="text">
@@ -235,8 +231,8 @@
           </item>
          </widget>
         </item>
-        <item>
-         <spacer name="horizontalSpacer_5">
+        <item row="1" column="2">
+         <spacer name="positionSpacer">
           <property name="orientation">
            <enum>Qt::Horizontal</enum>
           </property>
@@ -266,15 +262,8 @@
      </property>
      <layout class="QVBoxLayout" name="verticalLayout">
       <item>
-       <layout class="QHBoxLayout" name="horizontalLayout_3">
-        <item>
-         <widget class="QLabel" name="styleLabel">
-          <property name="text">
-           <string>Style:</string>
-          </property>
-         </widget>
-        </item>
-        <item>
+       <layout class="QGridLayout" name="gridLayout_2">
+        <item row="0" column="1">
          <widget class="QComboBox" name="numeralComboBox">
           <item>
            <property name="text">
@@ -293,8 +282,8 @@
           </item>
          </widget>
         </item>
-        <item>
-         <spacer name="horizontalSpacer">
+        <item row="0" column="2">
+         <spacer name="numeralSpacer">
           <property name="orientation">
            <enum>Qt::Horizontal</enum>
           </property>
@@ -306,38 +295,22 @@
           </property>
          </spacer>
         </item>
-       </layout>
-      </item>
-      <item>
-       <layout class="QHBoxLayout" name="horizontalLayout_4">
-        <item>
+        <item row="0" column="0">
+         <widget class="QLabel" name="styleLabel">
+          <property name="text">
+           <string>Style:</string>
+          </property>
+         </widget>
+        </item>
+        <item row="1" column="0">
          <widget class="QLabel" name="widthLabel">
           <property name="text">
            <string>Width:</string>
           </property>
          </widget>
         </item>
-        <item>
-         <widget class="QComboBox" name="widthComboBox">
-          <item>
-           <property name="text">
-            <string>Default Numeral Width</string>
-           </property>
-          </item>
-          <item>
-           <property name="text">
-            <string>Proportional</string>
-           </property>
-          </item>
-          <item>
-           <property name="text">
-            <string>Tabular</string>
-           </property>
-          </item>
-         </widget>
-        </item>
-        <item>
-         <spacer name="horizontalSpacer_2">
+        <item row="1" column="2">
+         <spacer name="widthSpacer">
           <property name="orientation">
            <enum>Qt::Horizontal</enum>
           </property>
@@ -349,18 +322,33 @@
           </property>
          </spacer>
         </item>
-       </layout>
-      </item>
-      <item>
-       <layout class="QHBoxLayout" name="horizontalLayout_5">
-        <item>
+        <item row="1" column="1">
+         <widget class="QComboBox" name="widthComboBox">
+          <item>
+           <property name="text">
+            <string>Default Numeral Width</string>
+           </property>
+          </item>
+          <item>
+           <property name="text">
+            <string>Proportional</string>
+           </property>
+          </item>
+          <item>
+           <property name="text">
+            <string>Tabular</string>
+           </property>
+          </item>
+         </widget>
+        </item>
+        <item row="2" column="0">
          <widget class="QLabel" name="fractionLabel">
           <property name="text">
            <string>Fraction:</string>
           </property>
          </widget>
         </item>
-        <item>
+        <item row="2" column="1">
          <widget class="QComboBox" name="fractionComboBox">
           <item>
            <property name="text">
@@ -379,8 +367,8 @@
           </item>
          </widget>
         </item>
-        <item>
-         <spacer name="horizontalSpacer_3">
+        <item row="2" column="2">
+         <spacer name="fractionSpacer">
           <property name="orientation">
            <enum>Qt::Horizontal</enum>
           </property>
@@ -420,7 +408,7 @@
       </widget>
      </item>
      <item>
-      <widget class="QCommandLinkButton" name="commandLinkButton">
+      <widget class="QPushButton" name="stylisticSetsButton">
        <property name="sizePolicy">
         <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
          <horstretch>0</horstretch>

Modified: trunk/Scribus/win32/msvc2012/scribus-main/Scribus.vcxproj
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22199&path=/trunk/Scribus/win32/msvc2012/scribus-main/Scribus.vcxproj
==============================================================================
--- trunk/Scribus/win32/msvc2012/scribus-main/Scribus.vcxproj	(original)
+++ trunk/Scribus/win32/msvc2012/scribus-main/Scribus.vcxproj	Sun Oct 22 17:37:23 2017
@@ -253,6 +253,7 @@
     <ClInclude Include="..\..\..\scribus\desaxe\simple_actions.h" />
     <ClInclude Include="..\..\..\scribus\desaxe\uniqueid.h" />
     <ClInclude Include="..\..\..\scribus\fonts\cff.h" />
+    <ClInclude Include="..\..\..\scribus\fonts\fontfeatures.h" />
     <ClInclude Include="..\..\..\scribus\fonts\sfnt.h" />
     <ClInclude Include="..\..\..\scribus\fonts\sfnt_format.h" />
     <moc Include="..\..\..\scribus\iconmanager.h" />
@@ -822,6 +823,7 @@
     <ClCompile Include="..\..\..\scribus\desaxe\saxXML.cpp" />
     <ClCompile Include="..\..\..\scribus\desaxe\uniqueid.cpp" />
     <ClCompile Include="..\..\..\scribus\fonts\cff.cpp" />
+    <ClCompile Include="..\..\..\scribus\fonts\fontfeatures.cpp" />
     <ClCompile Include="..\..\..\scribus\fonts\sfnt.cpp" />
     <ClCompile Include="..\..\..\scribus\iconmanager.cpp" />
     <ClCompile Include="..\..\..\scribus\imagedataloaders\scimgdataloader_kra.cpp" />

Modified: trunk/Scribus/win32/msvc2012/scribus-main/Scribus.vcxproj.filters
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22199&path=/trunk/Scribus/win32/msvc2012/scribus-main/Scribus.vcxproj.filters
==============================================================================
--- trunk/Scribus/win32/msvc2012/scribus-main/Scribus.vcxproj.filters	(original)
+++ trunk/Scribus/win32/msvc2012/scribus-main/Scribus.vcxproj.filters	Sun Oct 22 17:37:23 2017
@@ -722,6 +722,9 @@
     <ClInclude Include="..\..\..\scribus\text\textsource.h">
       <Filter>Header Files</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\..\scribus\fonts\fontfeatures.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="..\..\..\scribus\desaxe\digester.cpp">
@@ -2318,6 +2321,9 @@
       <Filter>Source Files</Filter>
     </ClCompile>
     <ClCompile Include="..\..\..\scribus\ui\colorsandfills.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\scribus\fonts\fontfeatures.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
   </ItemGroup>

Modified: trunk/Scribus/win32/msvc2015/scribus-main/Scribus.vcxproj
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22199&path=/trunk/Scribus/win32/msvc2015/scribus-main/Scribus.vcxproj
==============================================================================
--- trunk/Scribus/win32/msvc2015/scribus-main/Scribus.vcxproj	(original)
+++ trunk/Scribus/win32/msvc2015/scribus-main/Scribus.vcxproj	Sun Oct 22 17:37:23 2017
@@ -253,6 +253,7 @@
     <ClInclude Include="..\..\..\scribus\desaxe\simple_actions.h" />
     <ClInclude Include="..\..\..\scribus\desaxe\uniqueid.h" />
     <ClInclude Include="..\..\..\scribus\fonts\cff.h" />
+    <ClInclude Include="..\..\..\scribus\fonts\fontfeatures.h" />
     <ClInclude Include="..\..\..\scribus\fonts\sfnt.h" />
     <ClInclude Include="..\..\..\scribus\fonts\sfnt_format.h" />
     <moc Include="..\..\..\scribus\iconmanager.h" />
@@ -822,6 +823,7 @@
     <ClCompile Include="..\..\..\scribus\desaxe\saxXML.cpp" />
     <ClCompile Include="..\..\..\scribus\desaxe\uniqueid.cpp" />
     <ClCompile Include="..\..\..\scribus\fonts\cff.cpp" />
+    <ClCompile Include="..\..\..\scribus\fonts\fontfeatures.cpp" />
     <ClCompile Include="..\..\..\scribus\fonts\sfnt.cpp" />
     <ClCompile Include="..\..\..\scribus\iconmanager.cpp" />
     <ClCompile Include="..\..\..\scribus\imagedataloaders\scimgdataloader_kra.cpp" />

Modified: trunk/Scribus/win32/msvc2015/scribus-main/Scribus.vcxproj.filters
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22199&path=/trunk/Scribus/win32/msvc2015/scribus-main/Scribus.vcxproj.filters
==============================================================================
--- trunk/Scribus/win32/msvc2015/scribus-main/Scribus.vcxproj.filters	(original)
+++ trunk/Scribus/win32/msvc2015/scribus-main/Scribus.vcxproj.filters	Sun Oct 22 17:37:23 2017
@@ -722,6 +722,9 @@
     <ClInclude Include="..\..\..\scribus\text\textsource.h">
       <Filter>Header Files</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\..\scribus\fonts\fontfeatures.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="..\..\..\scribus\desaxe\digester.cpp">
@@ -2318,6 +2321,9 @@
       <Filter>Source Files</Filter>
     </ClCompile>
     <ClCompile Include="..\..\..\scribus\ui\colorsandfills.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\scribus\fonts\fontfeatures.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
   </ItemGroup>




More information about the scribus-commit mailing list