diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf')
-rw-r--r-- | Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf | 115 |
1 files changed, 86 insertions, 29 deletions
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf index 3c66f6f8367..0cf07c8c6da 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf @@ -1,6 +1,7 @@ \ProvidesFile{gloss-german.ldf}[polyglossia: module for german] \PolyglossiaSetup{german}{ + bcp47=de-DE, hyphenmins={2,2}, frenchspacing=true, fontsetup=true, @@ -8,6 +9,28 @@ babelname=ngerman } +% BCP-47 compliant aliases +\setlanguagealias*{german}{de} +\setlanguagealias*[variant=swiss,spelling=new]{german}{de-CH} +\setlanguagealias*[variant=austrian,spelling=new]{german}{de-AT} +\setlanguagealias*[variant=german,spelling=new]{german}{de-DE} +\setlanguagealias*[variant=swiss,spelling=new,script=blackletter]{german}{de-Latf-CH} +\setlanguagealias*[variant=german,spelling=new,script=blackletter]{german}{de-Latf-DE} +\setlanguagealias*[variant=austrian,spelling=new,script=blackletter]{german}{de-Latf-AT} +\setlanguagealias*[variant=austrian,spelling=old]{german}{de-AT-1901} +\setlanguagealias*[variant=swiss,spelling=new]{german}{de-CH-1996} +\setlanguagealias*[variant=austrian,spelling=new]{german}{de-AT-1996} +\setlanguagealias*[variant=german,spelling=old]{german}{de-DE-1901} +\setlanguagealias*[variant=swiss,spelling=old,script=blackletter]{german}{de-Latf-CH-1901} +\setlanguagealias*[variant=swiss,spelling=old]{german}{de-CH-1901} +\setlanguagealias*[variant=austrian,spelling=old,script=blackletter]{german}{de-Latf-AT-1901} +\setlanguagealias*[variant=swiss,spelling=new,script=blackletter]{german}{de-Latf-CH-1996} +\setlanguagealias*[script=blackletter]{german}{de-Latf} +\setlanguagealias*[variant=german,spelling=new]{german}{de-DE-1996} +\setlanguagealias*[variant=german,spelling=old,script=blackletter]{german}{de-Latf-DE-1901} +\setlanguagealias*[variant=german,spelling=new,script=blackletter]{german}{de-Latf-DE-1996} +\setlanguagealias*[variant=austrian,spelling=new,script=blackletter]{german}{de-Latf-AT-1996} + % Babel aliases \setlanguagealias[variant=austrian,spelling=old]{german}{austrian} \setlanguagealias[variant=austrian,spelling=new]{german}{naustrian} @@ -18,7 +41,7 @@ \newif\if@german@oldspelling \@german@oldspellingfalse -\define@choicekey*+{german}{spelling}[\val\nr]{new,old,1901}[new]{% +\define@choicekey*+{german}{spelling}[\val\nr]{new,old,1901,1996}[new]{% \ifcase\nr\relax % new: \@german@oldspellingfalse @@ -28,6 +51,9 @@ \or % 1901: \@german@oldspellingtrue + \or + % 1996: + \@german@oldspellingfalse \fi \german@set@babelname% \xpg@info{Option: German, spelling=\val}% @@ -64,21 +90,45 @@ \def\german@set@babelname{% \if@german@oldspelling \if@swiss@locale - \SetLanguageKeys{german}{babelname=swissgerman}% + \if@german@blackletter + \SetLanguageKeys{german}{babelname=swissgerman,bcp47=de-Latf-CH-1901}% + \else + \SetLanguageKeys{german}{babelname=swissgerman,bcp47=de-CH-1901}% + \fi \else \if@austrian@locale - \SetLanguageKeys{german}{babelname=austrian}% + \if@german@blackletter + \SetLanguageKeys{german}{babelname=austrian,bcp47=de-Latf-AT-1901}% + \else + \SetLanguageKeys{german}{babelname=austrian,bcp47=de-AT-1901}% + \fi \else - \SetLanguageKeys{german}{babelname=german}% + \if@german@blackletter + \SetLanguageKeys{german}{babelname=german,bcp47=de-Latf-DE-1901}% + \else + \SetLanguageKeys{german}{babelname=german,bcp47=de-DE-1901}% + \fi \fi\fi \else \if@swiss@locale - \SetLanguageKeys{german}{babelname=nswissgerman}% + \if@german@blackletter + \SetLanguageKeys{german}{babelname=nswissgerman,bcp47=de-Latf-CH}% + \else + \SetLanguageKeys{german}{babelname=nswissgerman,bcp47=de-CH}% + \fi \else \if@austrian@locale - \SetLanguageKeys{german}{babelname=naustrian}% + \if@german@blackletter + \SetLanguageKeys{german}{babelname=naustrian,bcp47=de-Latf-AT}% + \else + \SetLanguageKeys{german}{babelname=naustrian,bcp47=de-AT}% + \fi \else - \SetLanguageKeys{german}{babelname=ngerman}% + \if@german@blackletter + \SetLanguageKeys{german}{babelname=ngerman,bcp47=de-Latf-DE}% + \else + \SetLanguageKeys{german}{babelname=ngerman,bcp47=de-DE}% + \fi \fi\fi \fi } @@ -95,14 +145,24 @@ % fraktur: \@german@blacklettertrue% \fi + \german@set@babelname% \xpg@info{Option: German, script=\val}% }{\xpg@warning{Unknown German script `#1'}} -\define@boolkey{german}[german@]{latesthyphen}[false]{} +% Option defunc'ed, as bot XeTeX and LuaTeX meanwhile +% use the experimental German hyphenation patterns by default. +\define@boolkey{german}[german@]{latesthyphen}[true]{} \define@boolkey{german}[german@]{babelshorthands}[true]{} -\setkeys{german}{spelling,latesthyphen,script,variant} +\setkeys{german}{spelling,script,variant} + +% Register default options +\xpg@initialize@gloss@options{german}{variant=german,spelling=new,script=latin,latesthyphen=false,babelshorthands=false} +% Register alias options +\xpg@set@alias@values{german}{spelling}{new}{1996} +\xpg@set@alias@values{german}{spelling}{old}{1901} +\xpg@set@alias@values{german}{script}{blackletter}{fraktur} \ifsystem@babelshorthands \setkeys{german}{babelshorthands=true} @@ -229,26 +289,23 @@ } \def\german@language{% - \ifgerman@latesthyphen - \if@german@oldspelling - \if@swiss@locale - \polyglossia@setup@language@patterns{swissgerman}% - \else - \polyglossia@setup@language@patterns{german-x-latest}% - \fi - \else - \polyglossia@setup@language@patterns{ngerman-x-latest}% - \fi - \else% (latesthyphen=false) - \if@german@oldspelling - \if@swiss@locale - \polyglossia@setup@language@patterns{swissgerman}% - \else - \polyglossia@setup@language@patterns{german}% - \fi - \else - \polyglossia@setup@language@patterns{ngerman}% - \fi + \if@german@oldspelling + \if@swiss@locale + \polyglossia@setup@language@patterns{swissgerman}% + \else + \polyglossia@setup@language@patterns{german}% + \fi + \if@austrian@locale + \adddialect\l@austrian\l@german% + \fi + \else + \polyglossia@setup@language@patterns{ngerman}% + \if@austrian@locale + \adddialect\l@naustrian\l@ngerman% + \fi + \if@swiss@locale + \adddialect\l@nswissgerman\l@ngerman% + \fi \fi } |