diff options
author | Karl Berry <karl@freefriends.org> | 2020-01-29 22:37:53 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-01-29 22:37:53 +0000 |
commit | 015c5f064b14e4a79f151b46a6dd46b150520c81 (patch) | |
tree | cc3434d0ae73900950b37bc952816286d4d76d5c /Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf | |
parent | e9549ffe43d42fda4e5d3778e1d26fbd95e4ae9f (diff) |
polyglossia (29jan20)
git-svn-id: svn://tug.org/texlive/trunk@53592 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.ldf | 98 |
1 files changed, 67 insertions, 31 deletions
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf index b06adb1f46d..11c774e5fe1 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf @@ -7,6 +7,7 @@ \RequirePackage{xpg-cyrillicnumbers} \PolyglossiaSetup{serbian}{ + bcp47=sr-Latn, langtag=SRB, hyphennames={serbian}, hyphenmins={2,2}, @@ -17,6 +18,11 @@ %TODO localalph } +% BCP-47 compliant aliases +\setlanguagealias*{serbian}{sr} +\setlanguagealias*[script=Cyrillic]{serbian}{sr-Cyrl} +\setlanguagealias*[script=Latin]{serbian}{sr-Latn} + % Babel aliases \setlanguagealias[script=Cyrillic]{serbian}{serbianc} @@ -25,12 +31,12 @@ \ifcase\nr\relax % cyrillic: \@serbian@cyrtrue - \SetLanguageKeys{serbian}{scripttag=cyrl,script=Cyrillic,babelname=serbianc} + \SetLanguageKeys{serbian}{scripttag=cyrl,script=Cyrillic,babelname=serbianc,bcp47=sr-Cyrl} \xpg@fontsetup@nonlatin{serbian}% \or % latin: \@serbian@cyrfalse - \SetLanguageKeys{serbian}{scripttag=latn,script=Latin} + \SetLanguageKeys{serbian}{scripttag=latn,script=Latin,bcp47=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??? @@ -40,17 +46,34 @@ \define@key{serbian}{script}[Cyrillic]{\setkeys{serbian}{Script=#1}} -\newif\ifserbian@numerals -\define@key{serbian}{numerals}[arabic]{% - \ifstrequal{#1}{latin}{\serbian@numeralsfalse}{% - \ifstrequal{#1}{cyrillic}% - {\serbian@numeralstrue} - {\serbian@numeralsfalse}% - }% -} +\newif\ifcyrillic@numerals +\newif\ifcyrillic@asbuk@numerals +\define@choicekey*+{serbian}{numerals}[\val\nr]{arabic,cyrillic,cyrillic-trad,cyrillic-alph}[arabic]{% + \ifcase\nr\relax + % arabic: + \cyrillic@numeralsfalse% + \cyrillic@asbuk@numeralsfalse% + \or + % cyrillic: + \cyrillic@numeralstrue% + \cyrillic@asbuk@numeralsfalse% + \or + % cyrillic-trad: + \cyrillic@numeralstrue% + \cyrillic@asbuk@numeralsfalse% + \or + % cyrillic-alph: + \cyrillic@numeralstrue% + \cyrillic@asbuk@numeralstrue% + \fi + \xpg@info{Option: Serbian, numerals=\val}% +}{\xpg@warning{Unknown Serbian numerals value `#1'}} \setkeys{serbian}{Script,numerals} +% Register default options +\xpg@initialize@gloss@options{serbian}{script=Cyrillic,numerals=arabic} + \def\captionsserbian{% \if@serbian@cyr\captionsserbian@cyr\else\captionsserbian@lat\fi } @@ -135,19 +158,27 @@ \newcommand{\Serbiannumerals}[2]{\Serbiannumber{#2}} \def\serbiannumber#1{% - \ifserbian@numerals - \cyr@alph{#1}% + \ifcyrillic@numerals + \ifcyrillic@asbuk@numerals + \serbian@asbuk@alph{#1}% + \else + \cyr@alph{#1}% + \fi \else \number#1% - \fi + \fi% } \def\Serbiannumber#1{% - \ifserbian@numerals - \cyr@Alph{#1}% + \ifcyrillic@numerals + \ifcyrillic@asbuk@numerals + \serbian@asbuk@Alph{#1}% + \else + \cyr@Alph{#1}% + \fi \else \number#1% - \fi + \fi% } \let\serbiannumeral=\serbiannumber @@ -177,24 +208,29 @@ \ifserbian@numerals\noserbian@numbers\fi } -\def\Asbuk#1{\expandafter\cyr@Alph\csname c@#1\endcsname} +\def\Asbuk#1{\expandafter\serbian@asbuk@Alph\csname c@#1\endcsname} +\def\asbuk#1{\expandafter\serbian@asbuk@alph\csname c@#1\endcsname} -\def\asbuk#1{\expandafter\cyr@alph\csname c@#1\endcsname} +\def\AsbukTrad#1{\expandafter\cyr@Alph\csname c@#1\endcsname} +\def\asbukTrad#1{\expandafter\cyr@alph\csname c@#1\endcsname} % This is a poor man's cyrillic alphanumeric. It just uses the alphabet and -% thus ends at 30. We now use proper cyrillic numbering. - -%\def\cyr@Alph#1{\ifcase#1\or -% А\or Б\or В\or Г\or Д\or Ђ\or Е\or Ж\or -% З\or И\or Ј\or К\or Л\or Љ\or М\or Н\or -% Њ\or О\or П\or Р\or С\or Т\or Ћ\or У\or -% Ф\or Х\or Ц\or Ч\or Џ\or Ш\else\xpg@ill@value{#1}{cyr@Alph}\fi} - -%\def\cyr@alph#1{\ifcase#1\or -% а\or б\or в\or г\or д\or ђ\or е\or ж\or -% з\or и\or ј\or к\or л\or љ\or м\or н\or -% њ\or о\or п\or р\or с\or т\or ћ\or у\or -% ф\or х\or ц\or ч\or џ\or ш\else\xpg@ill@value{#1}{cyr@alph}\fi} +% thus ends at 30. +\def\serbian@asbuk@Alph#1{\ifcase#1\or + А\or Б\or В\or Г\or Д\or Е\or Ж\or + З\or И\or К\or Л\or М\or Н\or О\or + П\or Р\or С\or Т\or У\or Ф\or Х\or + Ц\or Ч\or Ш\or Щ\or Э\or Ю\or Я% + \else\xpg@ill@value{#1}{serbian@asbuk@Alph}\fi% +} + +\def\serbian@asbuk@alph#1{\ifcase#1\or + а\or б\or в\or г\or д\or е\or ж\or + з\or и\or к\or л\or м\or н\or о\or + п\or р\or с\or т\or у\or ф\or х\or + ц\or ч\or ш\or щ\or э\or ю\or я% + \else\xpg@ill@value{#1}{serbian@asbuk@alph}\fi% +} \endinput |