summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-10-28 20:58:49 +0000
committerKarl Berry <karl@freefriends.org>2019-10-28 20:58:49 +0000
commitffd652038baef26fb84de26fce9991a02e875485 (patch)
treec02e3f8fde2e20bb8ba3cc9ab3216e609648e350 /Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf
parentcffa8e2910c5d2a7b6b26032eef37d9e18b8b72d (diff)
polyglossia (28oct19)
git-svn-id: svn://tug.org/texlive/trunk@52555 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf')
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf149
1 files changed, 79 insertions, 70 deletions
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf
index 8cbdeac2157..bf4a690060e 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf
@@ -3,63 +3,86 @@
hyphenmins={2,2},
frenchspacing=true,
fontsetup=true,
+ langtag=DEU,
+ babelname=ngerman
}
-\def\tmp@old{old}
-\def\tmp@oldyr{1901}
\newif\if@german@oldspelling
\@german@oldspellingfalse
-\define@key{german}{spelling}[new]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@oldyr\def\@tmpa{old}\fi
- \ifx\@tmpa\tmp@old
- \xpg@ifdefined{german}{}{%
- \xpg@nopatterns{german}%
- \adddialect\l@german\l@nohyphenation
- }
- \@german@oldspellingtrue
- \else % try ngerman
- \xpg@ifdefined{ngerman}{%
+\define@choicekey*+{german}{spelling}[\val\nr]{new,old,1901}[new]{%
+ \ifcase\nr\relax
+ % new:
\@german@oldspellingfalse
- }{% fall back to german
- \xpg@ifdefined{german}{%
- \xpg@warning{You asked for `ngerman' but only `german' hyphenation is available!}%
- \@german@oldspellingtrue
- }{%
- \xpg@nopatterns{ngerman}%
- \adddialect\l@ngerman\l@nohyphenation
- }%
- }%
- \fi
-}
+ \or
+ % old:
+ \@german@oldspellingtrue
+ \or
+ % 1901:
+ \@german@oldspellingtrue
+ \fi
+ \german@set@babelname%
+ \xpg@info{Option: German, spelling=\val}%
+}{\xpg@warning{Unknown German spelling `#1'}}
\newif\if@austrian@locale
\@austrian@localefalse
\newif\if@swiss@locale
\@swiss@localefalse
-\def\tmp@austrian{austrian}
-\def\tmp@swiss{swiss}
-\define@key{german}{variant}[german]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@austrian\@austrian@localetrue\else
- \@austrian@localefalse%
- \fi
- \ifx\@tmpa\tmp@swiss\@swiss@localetrue
- \xpg@ifdefined{swissgerman}{}%
- {\xpg@warning{No hyphenation patterns were loaded for "Swiss German (Old Spelling)"\MessageBreak
- I will use the standard patterns for German (old spelling) instead}%
- \adddialect\l@swissgerman\l@german\relax}%
- \else
- \@swiss@localefalse%
- \fi}
+\define@choicekey*+{german}{variant}[\val\nr]{german,austrian,swiss}[german]{%
+ \ifcase\nr\relax
+ % german:
+ \@swiss@localefalse%
+ \@austrian@localefalse%
+ \or
+ % austrian:
+ \@austrian@localetrue%
+ \@swiss@localefalse%
+ \or
+ % swiss:
+ \@swiss@localetrue%
+ \@austrian@localefalse%
+ \xpg@ifdefined{swissgerman}{}%
+ {%
+ \xpg@warning{No hyphenation patterns were loaded for "Swiss German (Old Spelling)"\MessageBreak
+ I will use the standard patterns for German (old spelling) instead}%
+ \adddialect\l@swissgerman\l@german\relax%
+ }%
+ \fi
+ \german@set@babelname%
+ \xpg@info{Option: German, variant=\val}%
+}{\xpg@warning{Unknown German variant `#1'}}
+
+\def\german@set@babelname{%
+ \if@german@oldspelling
+ \if@swiss@locale
+ \SetLanguageKeys{german}{babelname=swissgerman}%
+ \else
+ \if@austrian@locale
+ \SetLanguageKeys{german}{babelname=austrian}%
+ \else
+ \SetLanguageKeys{german}{babelname=german}%
+ \fi\fi
+ \else
+ \if@swiss@locale
+ \SetLanguageKeys{german}{babelname=nswissgerman}%
+ \fi
+ \if@austrian@locale
+ \SetLanguageKeys{german}{babelname=naustrian}%
+ \fi
+ \fi
+}
\newif\if@german@fraktur
-\def\tmp@fraktur{fraktur}
-\define@key{german}{script}[latin]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@fraktur\@german@frakturtrue\else
- \@german@frakturfalse%
- \fi}
+\define@choicekey*+{german}{script}[\val\nr]{latin,fraktur}[latin]{%
+ \ifcase\nr\relax
+ % latin:
+ \@german@frakturfalse%
+ \or
+ % fraktur:
+ \@german@frakturtrue%
+ \fi
+ \xpg@info{Option: German, script=\val}%
+}{\xpg@warning{Unknown German script `#1'}}
\define@boolkey{german}[german@]{latesthyphen}[false]{}
@@ -74,8 +97,9 @@
\fi
\ifcsundef{initiate@active@char}{%
-\input{babelsh.def}%
-\initiate@active@char{"}%
+ \input{babelsh.def}%
+ \initiate@active@char{"}%
+ \shorthandoff{"}%
}{}
\def\german@shorthands{%
@@ -190,43 +214,28 @@
\if@german@fraktur\date@german@fraktur\else\date@german\fi
}
-\def\german@language{\ifxetex\language=%
- \csname l@%
- \if@swiss@locale
- \if@german@oldspelling
- swissgerman%
- \else
- ngerman%
- \ifgerman@latesthyphen
- -x-latest
- \fi
- \fi
- \else% (german, austrian)
- \if@german@oldspelling\else n\fi german\ifgerman@latesthyphen -x-latest\fi
- \fi
- \endcsname\else\ifluatex
- % LuaTeX
+\def\german@language{%
\ifgerman@latesthyphen
\if@german@oldspelling
\if@swiss@locale
- \xpg@set@language@luatex@iv{swissgerman}%
+ \polyglossia@setup@language@patterns{swissgerman}%
\else
- \xpg@set@language@luatex@iv{german-x-latest}%
+ \polyglossia@setup@language@patterns{german-x-latest}%
\fi
\else
- \xpg@set@language@luatex@iv{ngerman-x-latest}%
+ \polyglossia@setup@language@patterns{ngerman-x-latest}%
\fi
\else% (latesthyphen=false)
\if@german@oldspelling
\if@swiss@locale
- \xpg@set@language@luatex@iv{swissgerman}%
+ \polyglossia@setup@language@patterns{swissgerman}%
\else
- \xpg@set@language@luatex@iv{german}%
+ \polyglossia@setup@language@patterns{german}%
\fi
\else
- \xpg@set@language@luatex@iv{ngerman}%
+ \polyglossia@setup@language@patterns{ngerman}%
\fi
- \fi\fi\fi
+ \fi
}
\def\noextras@german{%