summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2023-06-10 20:13:09 +0000
committerKarl Berry <karl@freefriends.org>2023-06-10 20:13:09 +0000
commit4f358ef78130d68e8ba4a95101d4440bb62855cf (patch)
treea8a3a15aaf01e726d9aaff187c87d82f0209135b /Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf
parentdda707b60a2266b1bd88d0f69faf47d835636a4b (diff)
polyglossia (10jun23)
git-svn-id: svn://tug.org/texlive/trunk@67322 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf')
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf143
1 files changed, 125 insertions, 18 deletions
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf
index b8da8e04f95..2da53ef5610 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
%
\ProvidesFile{gloss-serbian.ldf}[polyglossia: module for Serbian]
%TODO split into gloss-serbiancyr.ldf and gloss-serbianlat.ldf
@@ -11,6 +11,7 @@
\PolyglossiaSetup{serbian}{
bcp47=sr-Latn,
bcp47-language=sr,
+ bcp47-variant=ekavsk,
bcp47-script=Latn,
bcp47-casing=sr-Latn,
langtag=SRB,
@@ -27,11 +28,11 @@
% BCP-47 compliant aliases
\setlanguagealias*{serbian}{sr}
-\setlanguagealias*[script=Cyrillic]{serbian}{sr-Cyrl}
-\setlanguagealias*[script=Latin]{serbian}{sr-Latn}
+\setlanguagealias*[script=cyrillic]{serbian}{sr-Cyrl}
+\setlanguagealias*[script=latin]{serbian}{sr-Latn}
% Babel aliases
-\setlanguagealias[script=Cyrillic]{serbian}{serbianc}
+\setlanguagealias[script=cyrillic]{serbian}{serbianc}
\ifluatex
\RequirePackage{luavlna}
@@ -42,20 +43,32 @@
\ifcase\xpg@nr\relax
% cyrillic:
\@serbian@cyrtrue
- \SetLanguageKeys{serbian}{scripttag=cyrl,script=Cyrillic,babelname=serbianc,bcp47=sr-Cyrl,bcp47-language=sr,bcp47-script=Cyrl,bcp47-casing=sr-Cyrl}
\xpg@fontsetup@nonlatin{serbian}%
\or
% latin:
\@serbian@cyrfalse
- \SetLanguageKeys{serbian}{scripttag=latn,script=Latin,babelname=serbian,bcp47=sr-Latn,bcp47-language=sr,bcp47-script=Latn,bcp47-casing=sr-Latn}
\xpg@fontsetup@latin{serbian}%
%TODO \def\serbian@language{\language=\l@serbianlat}%
% or should we use Croatian patterns as a fallback for the time being???
\fi
+ \serbian@set@languagekeys%
\xpg@info{Option: Serbian, script=\xpg@val}%
}{\xpg@warning{Unknown Serbian script `#1'}}
-\define@key{serbian}{script}[Cyrillic]{\setkeys{serbian}{Script=#1}}
+\define@key{serbian}{script}[cyrillic]{\setkeys{serbian}{Script=#1}}
+
+\newif\if@serbian@ijekavian
+\define@choicekey*+{serbian}{variant}[\xpg@val\xpg@nr]{ekavian,ijekavian}[ekavian]{%
+ \ifcase\xpg@nr\relax
+ % ekavian:
+ \@serbian@ijekavianfalse%
+ \or
+ % ijekavian:
+ \@serbian@ijekaviantrue%
+ \fi
+ \serbian@set@languagekeys%
+ \xpg@info{Option: Serbian, variant=\xpg@val}%
+}{\xpg@warning{Unknown Serbian variant `#1'}}
\newif\ifcyrillic@numerals
\newif\ifcyrillic@asbuk@numerals
@@ -86,10 +99,28 @@
\define@boolkey{serbian}[serbian@]{splithyphens}[true]{}
+\define@boolkey{serbian}[serbian@]{datei}[true]{}
+
+\def\serbian@set@languagekeys{%
+ \if@serbian@cyr
+ \if@serbian@ijekavian
+ \SetLanguageKeys{serbian}{scripttag=cyrl,script=Cyrillic,babelname=serbianc,bcp47=sr-Cyrl-ijekavsk,bcp47-language=sr,bcp47-script=Cyrl,bcp47-variant=ijekavsk,bcp47-casing=sr-Cyrl}
+ \else
+ \SetLanguageKeys{serbian}{scripttag=cyrl,script=Cyrillic,babelname=serbianc,bcp47=sr-Cyrl,bcp47-language=sr,bcp47-script=Cyrl,bcp47-variant=ekavsk,bcp47-casing=sr-Cyrl}
+ \fi
+ \else
+ \if@serbian@ijekavian
+ \SetLanguageKeys{serbian}{scripttag=latn,script=Latin,babelname=serbian,bcp47=sr-Latn-ijekavsk,bcp47-language=sr,bcp47-script=Latn,bcp47-variant=ijekavsk,bcp47-casing=sr-Latn}
+ \else
+ \SetLanguageKeys{serbian}{scripttag=latn,script=Latin,babelname=serbian,bcp47=sr-Latn,bcp47-language=sr,bcp47-script=Latn,bcp47-variant=ekavsk,bcp47-casing=sr-Latn}
+ \fi
+ \fi%
+}
+
\setkeys{serbian}{Script,numerals}
% Register default options
-\xpg@initialize@gloss@options{serbian}{script=Cyrillic,numerals=arabic,splithyphens=true}
+\xpg@initialize@gloss@options{serbian}{script=cyrillic,numerals=arabic,splithyphens=true}
\def\captionsserbian{%
\if@serbian@cyr\captionsserbian@cyr\else\captionsserbian@lat\fi
@@ -126,13 +157,51 @@
\def\headtoname{Prima}%
\def\proofname{Dokaz}%
\def\glossaryname{Rečnik nepoznatih reči}%
+ \if@serbian@ijekavian%
+ \def\partname{Dio}%
+ \def\glossaryname{Rječnik nepoznatih riječi}%
+ \fi
}
-\def\dateserbian@lat{%
- \def\today{\number\day .~\ifcase\month\or
- januar\or februar\or mart\or april\or maj\or
- jun\or jul\or avgust\or septembar\or oktobar\or novembar\or
- decembar\fi \space \number\year.}%
+\def\month@serbian@lat{%
+ \ifcase\month\or
+ januar\or
+ februar\or
+ mart\or
+ april\or
+ maj\or
+ \ifserbian@datei juni\else jun\fi\or
+ \ifserbian@datei juli\else jul\fi\or
+ avgust\or
+ septembar\or
+ oktobar\or
+ novembar\or
+ decembar%
+ \fi%
+}%
+
+\def\month@serbian@lat@gen{%
+ \ifcase\month\or
+ januara\or
+ februara\or
+ marta\or
+ aprila\or
+ maja\or
+ juna\or
+ jula\or
+ avgusta\or
+ septembra\or
+ oktobra\or
+ novembra\or
+ decembra%
+ \fi%
+}%
+
+\def\dateserbian@lat{%
+ \def\today{\number\day.~\month@serbian@lat\ \number\year\@ifstar{}{.}}%
+ \def\todayRoman{\number\day.~\@Roman\month~\number\year\@ifstar{}{.}}%
+ \def\todayGen{\number\day.~\month@serbian@lat@gen\ \number\year\@ifstar{}{.}}%
+ \def\todayArabic{\number\day.~\number\month.~\number\year\@ifstar{}{.}}%
}
\def\captionsserbian@cyr{%
@@ -161,13 +230,51 @@
\def\headtoname{Прима}%
\def\proofname{Доказ}%
\def\glossaryname{Речник непознатих речи}%
+ \if@serbian@ijekavian%
+ \def\partname{Дио}%
+ \def\glossaryname{Рјечник непознатих ријечи}%
+ \fi
}
-\def\dateserbian@cyr{%
- \def\today{\number\day .~\ifcase\month\or
- јануар\or фебруар\or март\or април\or мај\or
- јун\or јул\or август\or септембар\or октобар\or новембар\or
- децембар\fi \space \number\year.}%
+\def\month@serbian@cyr{%
+ \ifcase\month\or
+ јануар\or
+ фебруар\or
+ март\or
+ април\or
+ мај\or
+ \ifserbian@datei јуни\else јун\fi\or
+ \ifserbian@datei јули\else јул\fi\or
+ август\or
+ септембар\or
+ октобар\or
+ новембар\or
+ децембар%
+ \fi%
+}%
+
+\def\month@serbian@cyr@gen{%
+ \ifcase\month\or
+ јануара\or
+ фебруара\or
+ марта\or
+ априла\or
+ маја\or
+ јуна\or
+ јула\or
+ августа\or
+ септембра\or
+ октобра\or
+ новембра\or
+ децембра%
+ \fi%
+}%
+
+\def\dateserbian@cyr{%
+ \def\today{\number\day.~\month@serbian@cyr\ \number\year\@ifstar{}{.}}%
+ \def\todayRoman{\number\day.~\@Roman\month~\number\year\@ifstar{}{.}}%
+ \def\todayGen{\number\day.~\month@serbian@cyr@gen\ \number\year\@ifstar{}{.}}%
+ \def\todayArabic{\number\day.~\number\month.~\number\year\@ifstar{}{.}}%
}
% Use \providecommand here as the ldf file might