Subversion Repositories Scribus

Compare Revisions

Ignore whitespace Rev 22198 → Rev 22199

/trunk/Scribus/scribus/fonts/CMakeLists.txt
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})
/trunk/Scribus/scribus/fonts/fontfeatures.cpp
0,0 → 1,268
/*
For general Scribus (>=1.3.2) copyright and licensing information please refer
to the COPYING file provided with the program. Following this notice may exist
a copyright and/or license notice that predates the release of Scribus 1.3.2
for which a new license (GPL+exception) is in place.
*/
#include "fontfeatures.h"
 
quint64 FontFeatures::NoFeatures = 0;
quint64 FontFeatures::CommonLigatures = 1;
quint64 FontFeatures::ContextualLigatures = ((quint64) 1 << 1);
quint64 FontFeatures::DiscretionaryLigatures = ((quint64) 1 << 2);
quint64 FontFeatures::HistoricalLigatures = ((quint64) 1 << 3);
quint64 FontFeatures::SmallCaps = ((quint64) 1 << 4);
quint64 FontFeatures::SmallCapsFromCaps = ((quint64) 1 << 5);
quint64 FontFeatures::PetiteCaps = ((quint64) 1 << 6);
quint64 FontFeatures::PetiteCapsFromCaps = ((quint64) 1 << 7);
quint64 FontFeatures::UnicaseCaps = ((quint64) 1 << 8);
quint64 FontFeatures::TiltingCaps = ((quint64) 1 << 9);
quint64 FontFeatures::LiningNumerals = ((quint64) 1 << 10);
quint64 FontFeatures::OldStyleNumerals = ((quint64) 1 << 11);
quint64 FontFeatures::ProportionalNumeralWidth = ((quint64) 1 << 12);
quint64 FontFeatures::TabularNumeralWidth = ((quint64) 1 << 13);
quint64 FontFeatures::DiagonalFractions = ((quint64) 1 << 14);
quint64 FontFeatures::StackedFractions = ((quint64) 1 << 15);
quint64 FontFeatures::Subscript = ((quint64) 1 << 16);
quint64 FontFeatures::Superscript = ((quint64) 1 << 17);
quint64 FontFeatures::Ordinals = ((quint64) 1 << 18);
quint64 FontFeatures::SlashedZero = ((quint64) 1 << 19);
quint64 FontFeatures::StyleSet01 = ((quint64) 1 << 20);
quint64 FontFeatures::StyleSet02 = ((quint64) 1 << 21);
quint64 FontFeatures::StyleSet03 = ((quint64) 1 << 22);
quint64 FontFeatures::StyleSet04 = ((quint64) 1 << 23);
quint64 FontFeatures::StyleSet05 = ((quint64) 1 << 24);
quint64 FontFeatures::StyleSet06 = ((quint64) 1 << 25);
quint64 FontFeatures::StyleSet07 = ((quint64) 1 << 26);
quint64 FontFeatures::StyleSet08 = ((quint64) 1 << 27);
quint64 FontFeatures::StyleSet09 = ((quint64) 1 << 28);
quint64 FontFeatures::StyleSet10 = ((quint64) 1 << 29);
quint64 FontFeatures::StyleSet11 = ((quint64) 1 << 30);
quint64 FontFeatures::StyleSet12 = ((quint64) 1 << 31);
quint64 FontFeatures::StyleSet13 = ((quint64) 1 << 32);
quint64 FontFeatures::StyleSet14 = ((quint64) 1 << 33);
quint64 FontFeatures::StyleSet15 = ((quint64) 1 << 34);
quint64 FontFeatures::StyleSet16 = ((quint64) 1 << 35);
quint64 FontFeatures::StyleSet17 = ((quint64) 1 << 36);
quint64 FontFeatures::StyleSet18 = ((quint64) 1 << 37);
quint64 FontFeatures::StyleSet19 = ((quint64) 1 << 38);
quint64 FontFeatures::StyleSet20 = ((quint64) 1 << 39);
 
quint64 FontFeatures::LigaturesMask = FontFeatures::CommonLigatures + FontFeatures::ContextualLigatures +
FontFeatures::DiscretionaryLigatures + FontFeatures::HistoricalLigatures;
 
quint64 FontFeatures::CapsMask = FontFeatures::SmallCaps + FontFeatures::SmallCapsFromCaps +
FontFeatures::PetiteCaps + FontFeatures::PetiteCapsFromCaps +
FontFeatures::UnicaseCaps + FontFeatures::TiltingCaps;
 
quint64 FontFeatures::GlyphPositionMask = FontFeatures::Subscript + FontFeatures::Superscript + FontFeatures::Ordinals;
quint64 FontFeatures::NumeralStyleMask = FontFeatures::LiningNumerals + FontFeatures::OldStyleNumerals;
quint64 FontFeatures::NumeralWidthMask = FontFeatures::ProportionalNumeralWidth + FontFeatures::TabularNumeralWidth;
quint64 FontFeatures::NumeralFractionsMask = FontFeatures::DiagonalFractions + FontFeatures::StackedFractions;
 
quint64 FontFeatures::StyleSetsMask = FontFeatures::StyleSet01 + FontFeatures::StyleSet02 + FontFeatures::StyleSet03 + FontFeatures::StyleSet04 + FontFeatures::StyleSet05 +
FontFeatures::StyleSet06 + FontFeatures::StyleSet07 + FontFeatures::StyleSet08 + FontFeatures::StyleSet09 + FontFeatures::StyleSet10 +
FontFeatures::StyleSet11 + FontFeatures::StyleSet12 + FontFeatures::StyleSet13 + FontFeatures::StyleSet14 + FontFeatures::StyleSet15 +
FontFeatures::StyleSet16 + FontFeatures::StyleSet17 + FontFeatures::StyleSet18 + FontFeatures::StyleSet19 + FontFeatures::StyleSet20;
 
quint64 FontFeatures::fontFlagsFromList(QStringList features)
{
quint64 flags = 0;
 
for (int i = 0; i < features.count(); i++)
{
const QString& feature = features.at(i);
 
if (feature == "liga")
flags |= FontFeatures::CommonLigatures;
else if (feature == "clig")
flags |= FontFeatures::ContextualLigatures;
else if (feature == "dlig")
flags |= FontFeatures::DiscretionaryLigatures;
else if (feature == "hlig")
flags |= FontFeatures::HistoricalLigatures;
 
else if (feature == "smcp")
flags |= FontFeatures::SmallCaps;
else if (feature == "c2sc")
flags |= FontFeatures::SmallCapsFromCaps;
else if (feature == "pcap")
flags |= FontFeatures::PetiteCaps;
else if (feature == "c2pc")
flags |= FontFeatures::PetiteCapsFromCaps;
else if (feature == "unic")
flags |= FontFeatures::UnicaseCaps;
else if (feature == "titl")
flags |= FontFeatures::TiltingCaps;
 
else if (feature == "lnum")
flags |= FontFeatures::LiningNumerals;
else if (feature == "onum")
flags |= FontFeatures::OldStyleNumerals;
 
else if (feature == "pnum")
flags |= FontFeatures::ProportionalNumeralWidth;
else if (feature == "tnum")
flags |= FontFeatures::TabularNumeralWidth;
 
else if (feature == "frac")
flags |= FontFeatures::DiagonalFractions;
else if (feature == "afrc")
flags |= FontFeatures::StackedFractions;
 
else if (feature == "subs")
flags |= FontFeatures::Subscript;
else if (feature == "sups")
flags |= FontFeatures::Superscript;
else if (feature == "ordn")
flags |= FontFeatures::Ordinals;
 
else if (feature == "zero")
flags |= FontFeatures::SlashedZero;
 
else if (feature == "ss01")
flags |= FontFeatures::StyleSet01;
else if (feature == "ss02")
flags |= FontFeatures::StyleSet02;
else if (feature == "ss03")
flags |= FontFeatures::StyleSet03;
else if (feature == "ss04")
flags |= FontFeatures::StyleSet04;
else if (feature == "ss05")
flags |= FontFeatures::StyleSet05;
else if (feature == "ss06")
flags |= FontFeatures::StyleSet06;
else if (feature == "ss07")
flags |= FontFeatures::StyleSet07;
else if (feature == "ss08")
flags |= FontFeatures::StyleSet08;
else if (feature == "ss09")
flags |= FontFeatures::StyleSet09;
else if (feature == "ss10")
flags |= FontFeatures::StyleSet10;
else if (feature == "ss11")
flags |= FontFeatures::StyleSet11;
else if (feature == "ss12")
flags |= FontFeatures::StyleSet12;
else if (feature == "ss13")
flags |= FontFeatures::StyleSet13;
else if (feature == "ss14")
flags |= FontFeatures::StyleSet14;
else if (feature == "ss15")
flags |= FontFeatures::StyleSet15;
else if (feature == "ss16")
flags |= FontFeatures::StyleSet16;
else if (feature == "ss17")
flags |= FontFeatures::StyleSet17;
else if (feature == "ss18")
flags |= FontFeatures::StyleSet18;
else if (feature == "ss19")
flags |= FontFeatures::StyleSet19;
else if (feature == "ss20")
flags |= FontFeatures::StyleSet20;
}
 
return flags;
}
 
quint64 FontFeatures::textFlagsFromList(QStringList features)
{
quint64 flags = 0;
flags |= CommonLigatures;
flags |= ContextualLigatures;
 
for (int i = 0; i < features.count(); i++)
{
const QString& feature = features.at(i);
 
if (feature == "-liga")
flags &= ~FontFeatures::CommonLigatures;
else if (feature == "-clig")
flags &= ~FontFeatures::ContextualLigatures;
else if (feature == "+dlig")
flags |= FontFeatures::DiscretionaryLigatures;
else if (feature == "+hlig")
flags |= FontFeatures::HistoricalLigatures;
 
else if (feature == "+smcp")
flags |= FontFeatures::SmallCaps;
else if (feature == "+c2sc")
flags |= FontFeatures::SmallCapsFromCaps;
else if (feature == "+pcap")
flags |= FontFeatures::PetiteCaps;
else if (feature == "+c2pc")
flags |= FontFeatures::PetiteCapsFromCaps;
else if (feature == "+unic")
flags |= FontFeatures::UnicaseCaps;
else if (feature == "+titl")
flags |= FontFeatures::TiltingCaps;
 
else if (feature == "+lnum")
flags |= FontFeatures::LiningNumerals;
else if (feature == "+onum")
flags |= FontFeatures::OldStyleNumerals;
 
else if (feature == "+pnum")
flags |= FontFeatures::ProportionalNumeralWidth;
else if (feature == "+tnum")
flags |= FontFeatures::TabularNumeralWidth;
 
else if (feature == "+frac")
flags |= FontFeatures::DiagonalFractions;
else if (feature == "+afrc")
flags |= FontFeatures::StackedFractions;
 
else if (feature == "+subs")
flags |= FontFeatures::Subscript;
else if (feature == "+sups")
flags |= FontFeatures::Superscript;
else if (feature == "+ordn")
flags |= FontFeatures::Ordinals;
 
else if (feature == "+zero")
flags |= FontFeatures::SlashedZero;
 
else if (feature == "+ss01")
flags |= FontFeatures::StyleSet01;
else if (feature == "+ss02")
flags |= FontFeatures::StyleSet02;
else if (feature == "+ss03")
flags |= FontFeatures::StyleSet03;
else if (feature == "+ss04")
flags |= FontFeatures::StyleSet04;
else if (feature == "+ss05")
flags |= FontFeatures::StyleSet05;
else if (feature == "+ss06")
flags |= FontFeatures::StyleSet06;
else if (feature == "+ss07")
flags |= FontFeatures::StyleSet07;
else if (feature == "+ss08")
flags |= FontFeatures::StyleSet08;
else if (feature == "+ss09")
flags |= FontFeatures::StyleSet09;
else if (feature == "+ss10")
flags |= FontFeatures::StyleSet10;
else if (feature == "+ss11")
flags |= FontFeatures::StyleSet11;
else if (feature == "ss12")
flags |= FontFeatures::StyleSet12;
else if (feature == "+ss13")
flags |= FontFeatures::StyleSet13;
else if (feature == "+ss14")
flags |= FontFeatures::StyleSet14;
else if (feature == "+ss15")
flags |= FontFeatures::StyleSet15;
else if (feature == "+ss16")
flags |= FontFeatures::StyleSet16;
else if (feature == "+ss17")
flags |= FontFeatures::StyleSet17;
else if (feature == "+ss18")
flags |= FontFeatures::StyleSet18;
else if (feature == "+ss19")
flags |= FontFeatures::StyleSet19;
else if (feature == "+ss20")
flags |= FontFeatures::StyleSet20;
}
 
return flags;
}
/trunk/Scribus/scribus/fonts/fontfeatures.h
0,0 → 1,72
/*
For general Scribus (>=1.3.2) copyright and licensing information please refer
to the COPYING file provided with the program. Following this notice may exist
a copyright and/or license notice that predates the release of Scribus 1.3.2
for which a new license (GPL+exception) is in place.
*/
#ifndef FONTFEATURES_H
#define FONTFEATURES_H
 
#include <qglobal.h>
#include <QStringList>
 
// Cannot use an enum here (yet) as C++98 doesn't guarantee an enum
// can reach 64bit in size
class FontFeatures
{
public:
static quint64 NoFeatures;
static quint64 CommonLigatures;
static quint64 ContextualLigatures;
static quint64 DiscretionaryLigatures;
static quint64 HistoricalLigatures;
static quint64 SmallCaps;
static quint64 SmallCapsFromCaps;
static quint64 PetiteCaps;
static quint64 PetiteCapsFromCaps;
static quint64 UnicaseCaps;
static quint64 TiltingCaps;
static quint64 LiningNumerals;
static quint64 OldStyleNumerals;
static quint64 ProportionalNumeralWidth;
static quint64 TabularNumeralWidth;
static quint64 DiagonalFractions;
static quint64 StackedFractions;
static quint64 Subscript;
static quint64 Superscript;
static quint64 Ordinals;
static quint64 SlashedZero;
static quint64 StyleSet01;
static quint64 StyleSet02;
static quint64 StyleSet03;
static quint64 StyleSet04;
static quint64 StyleSet05;
static quint64 StyleSet06;
static quint64 StyleSet07;
static quint64 StyleSet08;
static quint64 StyleSet09;
static quint64 StyleSet10;
static quint64 StyleSet11;
static quint64 StyleSet12;
static quint64 StyleSet13;
static quint64 StyleSet14;
static quint64 StyleSet15;
static quint64 StyleSet16;
static quint64 StyleSet17;
static quint64 StyleSet18;
static quint64 StyleSet19;
static quint64 StyleSet20;
 
static quint64 LigaturesMask;
static quint64 CapsMask;
static quint64 GlyphPositionMask;
static quint64 NumeralStyleMask;
static quint64 NumeralWidthMask;
static quint64 NumeralFractionsMask;
static quint64 StyleSetsMask;
 
static quint64 fontFlagsFromList(QStringList features);
static quint64 textFlagsFromList(QStringList features);
};
 
#endif
/trunk/Scribus/scribus/ui/smfontfeatures.cpp
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);
styleSetsMenu->addAction(action);
}
connect(this->commandLinkButton,SIGNAL(clicked(bool)), this, SLOT(showStyleSetsList()));
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,7 → 329,7
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()
334,7 → 336,7
{
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,183 → 353,127
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++)
stylisticSetsButton->hide();
for (int i = 0; i < styleSetsMenu->actions().count(); i++)
{
setMenu->actions().at(i)->setVisible(false);
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();
// Capitals
setupCapitalCombo(featureFlags);
capitalsComboBox->setVisible(capitalsComboBox->count() > 1);
capitalsLabel->setVisible(capitalsComboBox->count() > 1);
 
setupCapitalCombo(fontFeatures);
setupPositionCombo(fontFeatures);
setupNumeralStyleCombo(fontFeatures);
setupNumeralWidthCombo(fontFeatures);
setupNumeralFractionCombo(fontFeatures);
// Positions
setupPositionCombo(featureFlags);
positionComboBox->setVisible(positionComboBox->count() > 1);
positionLabel->setVisible(positionComboBox->count() > 1);
 
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);
}
// Numeral Style
setupNumeralStyleCombo(featureFlags);
numeralComboBox->setVisible(numeralComboBox->count() > 1);
styleLabel->setVisible(numeralComboBox->count() > 1);
 
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();
// Numeral Width
setupNumeralWidthCombo(featureFlags);
widthComboBox->setVisible(widthComboBox->count() > 1);
widthLabel->setVisible(widthComboBox->count() > 1);
 
int visibleCount = 0;
for (int i = 0; i < setMenu->actions().size(); ++i)
if (setMenu->actions().at(i)->isVisible())
visibleCount ++;
// Numeral Fractions
setupNumeralFractionCombo(featureFlags);
fractionComboBox->setVisible(fractionComboBox->count() > 1);
fractionLabel->setVisible(fractionComboBox->count() > 1);
 
if (visibleCount == 0)
{
stylisticSetsLabel->hide();
commandLinkButton->hide();
}
// 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);
 
534,24 → 480,21
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"));
}
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(QStringList fontFeatures)
void SMFontFeatures::setupPositionCombo(quint64 featureFlags)
{
QSignalBlocker blocker(positionComboBox);
 
558,18 → 501,15
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"));
}
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(QStringList fontFeatures)
void SMFontFeatures::setupNumeralStyleCombo(quint64 featureFlags)
{
QSignalBlocker blocker(numeralComboBox);
 
576,16 → 516,13
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"));
}
if (featureFlags & FontFeatures::LiningNumerals)
numeralComboBox->addItem(tr("Lining"), QVariant("+lnum"));
if (featureFlags & FontFeatures::OldStyleNumerals)
numeralComboBox->addItem(tr("Old Style"), QVariant("+onum"));
}
 
void SMFontFeatures::setupNumeralWidthCombo(QStringList fontFeatures)
void SMFontFeatures::setupNumeralWidthCombo(quint64 featureFlags)
{
QSignalBlocker blocker(widthComboBox);
 
592,16 → 529,13
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"));
}
if (featureFlags & FontFeatures::ProportionalNumeralWidth)
widthComboBox->addItem(tr("Proportional"), QVariant("+pnum"));
if (featureFlags & FontFeatures::TabularNumeralWidth)
widthComboBox->addItem(tr("Tabular"), QVariant("+tnum"));
}
 
void SMFontFeatures::setupNumeralFractionCombo(QStringList fontFeatures)
void SMFontFeatures::setupNumeralFractionCombo(quint64 featureFlags)
{
QSignalBlocker blocker(fractionComboBox);
 
608,20 → 542,12
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"));
}
if (featureFlags & FontFeatures::DiagonalFractions)
fractionComboBox->addItem(tr("Diagonal Fractions"), QVariant("+frac"));
if (featureFlags & FontFeatures::StackedFractions)
fractionComboBox->addItem(tr("Stacked Fractions"), QVariant("+afrc"));
}
 
void SMFontFeatures::showStyleSetsList()
{
setMenu->popup(commandLinkButton->mapToGlobal(QPoint(0,0)));
}
 
void SMFontFeatures::slotChange()
{
emit changed();
647,13 → 573,13
}
}
 
void SMFontFeatures::slotDiscretinoryCheck()
void SMFontFeatures::slotDiscretionaryCheck()
{
if (m_hasParent)
{
QFont f(font());
f.setBold(true);
DiscretinoryCheck->setFont(f);
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();
}
/trunk/Scribus/scribus/ui/smfontfeatures.h
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();
/trunk/Scribus/scribus/ui/smfontfeaturesbase.ui
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,15 → 140,8
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="capitalsLabel">
<property name="text">
<string>Capitals:</string>
</property>
</widget>
</item>
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="1">
<widget class="QComboBox" name="capitalsComboBox">
<item>
<property name="text">
187,8 → 180,15
</item>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_4">
<item row="0" column="0">
<widget class="QLabel" name="capitalsLabel">
<property name="text">
<string>Capitals:</string>
</property>
</widget>
</item>
<item row="0" column="2">
<spacer name="capitalsSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
200,11 → 200,7
</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>
211,7 → 207,7
</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,11 → 295,14
</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>
317,7 → 309,20
</property>
</widget>
</item>
<item>
<item row="1" column="2">
<spacer name="widthSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="widthComboBox">
<item>
<property name="text">
336,24 → 341,7
</item>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<item row="2" column="0">
<widget class="QLabel" name="fractionLabel">
<property name="text">
<string>Fraction:</string>
360,7 → 348,7
</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>
/trunk/Scribus/win32/msvc2012/scribus-main/Scribus.vcxproj
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" />
/trunk/Scribus/win32/msvc2012/scribus-main/Scribus.vcxproj.filters
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">
2320,6 → 2323,9
<ClCompile Include="..\..\..\scribus\ui\colorsandfills.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\scribus\fonts\fontfeatures.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Scribus.rc">
/trunk/Scribus/win32/msvc2015/scribus-main/Scribus.vcxproj
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" />
/trunk/Scribus/win32/msvc2015/scribus-main/Scribus.vcxproj.filters
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">
2320,6 → 2323,9
<ClCompile Include="..\..\..\scribus\ui\colorsandfills.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\scribus\fonts\fontfeatures.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Scribus.rc">