Skip to content

Commit

Permalink
Shusha is the default font for Marathi language.
Browse files Browse the repository at this point in the history
  • Loading branch information
pnudupa committed Nov 3, 2020
1 parent 889f961 commit 38b9cc1
Show file tree
Hide file tree
Showing 7 changed files with 24 additions and 11 deletions.
Binary file removed font/Marathi/Mukta-Bold.ttf
Binary file not shown.
Binary file removed font/Marathi/Mukta-Regular.ttf
Binary file not shown.
Binary file added font/Marathi/Shusha-Normal.ttf
Binary file not shown.
1 change: 1 addition & 0 deletions font/Marathi/source.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Free font downloaded from: https://devanagarifonts.net/fonts/shusha-normal
3 changes: 1 addition & 2 deletions scrite_marathi_font.qrc
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
<RCC>
<qresource prefix="/">
<file>font/Marathi/Mukta-Bold.ttf</file>
<file>font/Marathi/Mukta-Regular.ttf</file>
<file>font/Marathi/Shusha-Normal.ttf</file>
</qresource>
</RCC>
5 changes: 4 additions & 1 deletion src/document/scritedocument.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1265,10 +1265,13 @@ void ScriteDocument::deserializeFromJson(const QJsonObject &json)
// Although its not specified anywhere that transitions must be right aligned,
// many writers who are early adopters of Scrite are insisting on it.
// So, going forward transition paragraphs will be right aligned by default.
if(version <= QVersionNumber(0,4,18))
if(version <= QVersionNumber(0,5,1))
{
SceneElementFormat *format = m_formatting->elementFormat(SceneElement::Transition);
format->setTextAlignment(Qt::AlignRight);

format = m_printFormat->elementFormat(SceneElement::Transition);
format->setTextAlignment(Qt::AlignRight);
}
}

Expand Down
26 changes: 18 additions & 8 deletions src/document/transliteration.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,7 @@ static QStringList getCustomFontFilePaths()
QStringLiteral(":/font/Punjabi/BalooPaaji2-Bold.ttf") <<
QStringLiteral(":/font/Malayalam/BalooChettan2-Regular.ttf") <<
QStringLiteral(":/font/Malayalam/BalooChettan2-Bold.ttf") <<
QStringLiteral(":/font/Marathi/Mukta-Regular.ttf") <<
QStringLiteral(":/font/Marathi/Mukta-Bold.ttf") <<
QStringLiteral(":/font/Marathi/Shusha-Normal.ttf") <<
QStringLiteral(":/font/Hindi/Mukta-Regular.ttf") <<
QStringLiteral(":/font/Hindi/Mukta-Bold.ttf") <<
QStringLiteral(":/font/Telugu/HindGuntur-Regular.ttf") <<
Expand Down Expand Up @@ -184,7 +183,9 @@ QString TransliterationEngine::languageAsString(TransliterationEngine::Language
QString TransliterationEngine::shortcutLetter(TransliterationEngine::Language val) const
{
if(val == Tamil)
return QString("L");
return QStringLiteral("L");
if(val == Marathi)
return QStringLiteral("R");

const QMetaObject *mo = this->metaObject();
const QMetaEnum metaEnum = mo->enumerator( mo->indexOfEnumerator("Language") );
Expand Down Expand Up @@ -597,6 +598,16 @@ QJsonObject TransliterationEngine::availableLanguageFontFamilies(Transliteration
std::back_inserter(filteredLanguageFontFamilies), [fontDb,language](const QString &family) {
return fontDb.isPrivateFamily(family) ? false : (language == TransliterationEngine::English ? fontDb.isFixedPitch(family) : true);
});

const int builtInFontId = m_languageBundledFontId.value(language);
if(builtInFontId >= 0)
{
const QString builtInFont = QFontDatabase::applicationFontFamilies(builtInFontId).first();
filteredLanguageFontFamilies.removeOne(builtInFont);
filteredLanguageFontFamilies.append(builtInFont);
std::sort(filteredLanguageFontFamilies.begin(), filteredLanguageFontFamilies.end());
}

m_availableLanguageFontFamilies[language] = filteredLanguageFontFamilies;
}

Expand All @@ -615,11 +626,10 @@ void TransliterationEngine::setPreferredFontFamilyForLanguage(TransliterationEng
{
const QString before = m_languageFontFamily.value(language);

if(fontFamily.isEmpty())
{
const int id = m_languageBundledFontId.value(language);
m_languageFontFamily[language] = id < 0 ? QString() : QFontDatabase::applicationFontFamilies(id).first();
}
const int builtInFontId = m_languageBundledFontId.value(language);
const QString builtInFontFamily = builtInFontId < 0 ? QString() : QFontDatabase::applicationFontFamilies(builtInFontId).first();
if(fontFamily.isEmpty() || (!fontFamily.isEmpty() && !builtInFontFamily.isEmpty() && fontFamily == builtInFontFamily))
m_languageFontFamily[language] = builtInFontFamily;
else
{
const QFontDatabase fontDb;
Expand Down

0 comments on commit 38b9cc1

Please sign in to comment.