summaryrefslogtreecommitdiff
path: root/Master/texmf/xindy/modules/lang/german
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf/xindy/modules/lang/german')
-rw-r--r--Master/texmf/xindy/modules/lang/german/braille-utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/modules/lang/german/braille-utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/modules/lang/german/braille-utf8.xdy238
-rw-r--r--Master/texmf/xindy/modules/lang/german/din5007-latin1-lang.xdy10
-rw-r--r--Master/texmf/xindy/modules/lang/german/din5007-latin1-test.xdy92
-rw-r--r--Master/texmf/xindy/modules/lang/german/din5007-latin1.xdy308
-rw-r--r--Master/texmf/xindy/modules/lang/german/din5007-utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/modules/lang/german/din5007-utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/modules/lang/german/din5007-utf8.xdy308
-rw-r--r--Master/texmf/xindy/modules/lang/german/din5007.xdy20
-rw-r--r--Master/texmf/xindy/modules/lang/german/duden-latin1-lang.xdy10
-rw-r--r--Master/texmf/xindy/modules/lang/german/duden-latin1-test.xdy92
-rw-r--r--Master/texmf/xindy/modules/lang/german/duden-latin1.xdy308
-rw-r--r--Master/texmf/xindy/modules/lang/german/duden-utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/modules/lang/german/duden-utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/modules/lang/german/duden-utf8.xdy308
-rw-r--r--Master/texmf/xindy/modules/lang/german/duden.xdy37
-rw-r--r--Master/texmf/xindy/modules/lang/german/tex.xdy21
18 files changed, 2058 insertions, 0 deletions
diff --git a/Master/texmf/xindy/modules/lang/german/braille-utf8-lang.xdy b/Master/texmf/xindy/modules/lang/german/braille-utf8-lang.xdy
new file mode 100644
index 00000000000..71876bd3c19
--- /dev/null
+++ b/Master/texmf/xindy/modules/lang/german/braille-utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/german/braille-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("de-alphabetize" "de-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("de-resolve-diacritics" "de-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("de-resolve-case" "de-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("de-resolve-special"))
diff --git a/Master/texmf/xindy/modules/lang/german/braille-utf8-test.xdy b/Master/texmf/xindy/modules/lang/german/braille-utf8-test.xdy
new file mode 100644
index 00000000000..8ab89b02089
--- /dev/null
+++ b/Master/texmf/xindy/modules/lang/german/braille-utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/german/braille-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("de-alphabetize" "de-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("de-resolve-diacritics" "de-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("de-resolve-case" "de-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("de-resolve-special"))
+
+;; define other stuff
+(define-attributes ("default"))
+
+;; The description of the location-classes.
+;; Add more location classes as needed.
+
+(define-location-class "arabic-page-numbers" ("arabic-numbers"))
+(define-location-class "roman-page-numbers" ("roman-numbers-lowercase"))
+(define-location-class "Roman-page-numbers" ("roman-numbers-uppercase"))
+(define-location-class "alpha-page-numbers" ("alpha"))
+(define-location-class "Alpha-page-numbers" ("ALPHA"))
+
+;; The most frequently used cross reference class "see". Add more, if
+;; necessary.
+
+(define-crossref-class "see")
+(markup-crossref-list :open "\see{" :close "}{}" :class "see")
+
+;; In makeindex: page_precedence <string> "rnaRA"
+;; List all location classes appearing in your document.
+
+(define-location-class-order ("roman-page-numbers"
+ "arabic-page-numbers"
+ "alpha-page-numbers"
+ "Roman-page-numbers"
+ "Alpha-page-numbers"
+ "see"))
+
+
+;; preamble <string> "\\begin{theindex}\n"
+;; postamble <string> "\n\n\\end{theindex}\n"
+
+(markup-index :open "\begin{theindex}~n"
+ :close "~n~n\end{theindex}~n"
+ :tree)
+
+;; These specifiers are not directly supported via a command-line
+;; switch as in makeindex. Add the appropriate markup-commands into
+;; the preamble.
+
+;; setpage_prefix <string> "~n \setcounter{page}{"
+;; setpage_suffix <string> "}~n"
+
+;; group_skip <string> "~n~n \indexspace~n"
+
+(markup-letter-group-list :sep "~n~n \indexspace~n")
+
+;; even though we comment out (%) the letter-group heading,
+;; the following is useful if you want to check the .ind-file
+(markup-letter-group :open-head "~n % ")
+
+;; The indexentries (item_<..> specifiers)
+
+(markup-indexentry :open "~n \item " :depth 0)
+(markup-indexentry :open "~n \subitem " :depth 1)
+(markup-indexentry :open "~n \subsubitem " :depth 2)
+
+;; Location-references
+
+;; delim_0 <string> ", "
+;; delim_1 <string> ", "
+;; delim_2 <string> ", "
+
+(markup-locclass-list :open ", " :sep ", ")
+
+;; delim_n <string> ", "
+
+(markup-locref-list :sep ", ")
+
+;; delim_r <string> "--"
+
+(markup-range :sep "--")
+
+;; That's all ;-)
+
+
+;; End
+
+;; Local Variables:
+;; mode: lisp
+;; End:
diff --git a/Master/texmf/xindy/modules/lang/german/braille-utf8.xdy b/Master/texmf/xindy/modules/lang/german/braille-utf8.xdy
new file mode 100644
index 00000000000..e4686416ebd
--- /dev/null
+++ b/Master/texmf/xindy/modules/lang/german/braille-utf8.xdy
@@ -0,0 +1,238 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: German
+
+(define-letter-group "⠁" :prefixes (""))
+(define-letter-group "⠃" :after "⠁" :prefixes (""))
+(define-letter-group "⠉" :after "⠃" :prefixes (""))
+(define-letter-group "⠙" :after "⠉" :prefixes (""))
+(define-letter-group "⠑" :after "⠙" :prefixes (""))
+(define-letter-group "⠋" :after "⠑" :prefixes (""))
+(define-letter-group "⠛" :after "⠋" :prefixes (""))
+(define-letter-group "⠓" :after "⠛" :prefixes (""))
+(define-letter-group "⠊" :after "⠓" :prefixes (""))
+(define-letter-group "⠚" :after "⠊" :prefixes (""))
+(define-letter-group "⠅" :after "⠚" :prefixes (""))
+(define-letter-group "⠇" :after "⠅" :prefixes (""))
+(define-letter-group "⠍" :after "⠇" :prefixes (""))
+(define-letter-group "⠝" :after "⠍" :prefixes (""))
+(define-letter-group "⠕" :after "⠝" :prefixes (""))
+(define-letter-group "⠏" :after "⠕" :prefixes (""))
+(define-letter-group "⠟" :after "⠏" :prefixes (""))
+(define-letter-group "⠗" :after "⠟" :prefixes (""))
+(define-letter-group "⠎" :after "⠗" :prefixes (""))
+(define-letter-group "⠞" :after "⠎" :prefixes (""))
+(define-letter-group "⠥" :after "⠞" :prefixes (""))
+(define-letter-group "⠧" :after "⠥" :prefixes (""))
+(define-letter-group "⠺" :after "⠧" :prefixes (""))
+(define-letter-group "⠭" :after "⠺" :prefixes (""))
+(define-letter-group "⠽" :after "⠭" :prefixes (""))
+(define-letter-group "⠵" :after "⠽" :prefixes (""))
+
+(define-rule-set "de-alphabetize"
+
+ :rules (("⠁" "" :string)
+ ("⠜" "" :string)
+ ("⠡" "" :string)
+ ("⠌" "" :string)
+ ("⠃" "" :string)
+ ("⠉" "" :string)
+ ("⠹" "" :string)
+ ("⠙" "" :string)
+ ("⠑" "" :string)
+ ("⠩" "" :string)
+ ("⠣" "" :string)
+ ("⠋" "" :string)
+ ("⠛" "" :string)
+ ("⠓" "" :string)
+ ("⠊" "" :string)
+ ("⠬" "" :string)
+ ("⠚" "" :string)
+ ("⠅" "" :string)
+ ("⠇" "" :string)
+ ("⠍" "" :string)
+ ("⠝" "" :string)
+ ("⠕" "" :string)
+ ("⠪" "" :string)
+ ("⠏" "" :string)
+ ("⠟" "" :string)
+ ("⠗" "" :string)
+ ("⠎" "" :string)
+ ("⠱" "І" :string)
+ ("⠮" "" :string)
+ ("⠾" "" :string)
+ ("⠞" "" :string)
+ ("⠥" "" :string)
+ ("⠳" "" :string)
+ ("⠧" "" :string)
+ ("⠺" "" :string)
+ ("⠭" "" :string)
+ ("⠽" "" :string)
+ ("⠵" "" :string)
+ ))
+
+(define-rule-set "de-resolve-diacritics"
+
+ :rules (("⠞" "" :string)
+ ("⠋" "" :string)
+ ("⠍" "" :string)
+ ("⠁" "" :string)
+ ("⠵" "" :string)
+ ("⠚" "" :string)
+ ("⠽" "" :string)
+ ("⠓" "" :string)
+ ("⠟" "" :string)
+ ("⠛" "" :string)
+ ("⠥" "" :string)
+ ("⠑" "" :string)
+ ("⠕" "" :string)
+ ("⠉" "" :string)
+ ("⠏" "" :string)
+ ("⠗" "" :string)
+ ("⠊" "" :string)
+ ("⠅" "" :string)
+ ("⠙" "" :string)
+ ("⠎" "" :string)
+ ("⠇" "" :string)
+ ("⠝" "" :string)
+ ("⠧" "" :string)
+ ("⠃" "" :string)
+ ("⠭" "" :string)
+ ("⠺" "" :string)
+ ("⠳" "" :string)
+ ("⠜" "" :string)
+ ("⠪" "" :string)
+ ("⠱" "" :string)
+ ("⠾" "" :string)
+ ("⠩" "" :string)
+ ("⠡" "" :string)
+ ("⠮" "" :string)
+ ("⠌" "" :string)
+ ("⠹" "" :string)
+ ("⠬" "" :string)
+ ("⠣" "" :string)
+ ))
+
+(define-rule-set "de-resolve-case"
+
+ :rules (("⠞" "9" :string)
+ ("⠋" "9" :string)
+ ("⠍" "9" :string)
+ ("⠁" "9" :string)
+ ("⠵" "9" :string)
+ ("⠚" "9" :string)
+ ("⠽" "9" :string)
+ ("⠓" "9" :string)
+ ("⠟" "9" :string)
+ ("⠛" "9" :string)
+ ("⠥" "9" :string)
+ ("⠑" "9" :string)
+ ("⠕" "9" :string)
+ ("⠉" "9" :string)
+ ("⠳" "9" :string)
+ ("⠜" "9" :string)
+ ("⠏" "9" :string)
+ ("⠗" "9" :string)
+ ("⠊" "9" :string)
+ ("⠅" "9" :string)
+ ("⠙" "9" :string)
+ ("⠎" "9" :string)
+ ("⠪" "9" :string)
+ ("⠇" "9" :string)
+ ("⠝" "9" :string)
+ ("⠧" "9" :string)
+ ("⠃" "9" :string)
+ ("⠭" "9" :string)
+ ("⠺" "9" :string)
+ ("⠾" "99" :string)
+ ("⠩" "99" :string)
+ ("⠡" "99" :string)
+ ("⠮" "99" :string)
+ ("⠌" "99" :string)
+ ("⠹" "99" :string)
+ ("⠬" "99" :string)
+ ("⠣" "99" :string)
+ ("⠱" "999" :string)
+ ))
+
+(define-rule-set "de-ignore-special"
+
+ :rules (("⠐⠂" "" :string)
+ ("⠂" "" :string)
+ ("⠄" "" :string)
+ ("⠠" "" :string)
+ ("⠴" "" :string)
+ ("⠢" "" :string)
+ ("⠆" "" :string)
+ ("⠨" "" :string)
+ ("⠖" "" :string)
+ ("⠦" "" :string)
+ ("⠶" "" :string)
+ ("⠔" "" :string)
+ ("⠈" "" :string)
+ ("⠤" "" :string)
+ ("⠘" "" :string)
+ ("⠼" "" :string)
+ ("⠒" "" :string)
+ ("⠸" "" :string)
+ ))
+
+(define-rule-set "de-resolve-special"
+
+ :rules (("⠐⠂" "" :string)
+ ("⠂" "" :string)
+ ("⠆" "" :string)
+ ("⠒" "" :string)
+ ("⠢" "" :string)
+ ("⠖" "" :string)
+ ("⠶" "" :string)
+ ("⠦" "" :string)
+ ("⠔" "" :string)
+ ("⠴" "" :string)
+ ("⠄" "" :string)
+ ("⠤" "" :string)
+ ("⠞" "" :string)
+ ("⠋" "" :string)
+ ("⠍" "" :string)
+ ("⠁" "" :string)
+ ("⠵" "" :string)
+ ("⠚" "" :string)
+ ("⠽" "" :string)
+ ("⠓" "" :string)
+ ("⠟" "" :string)
+ ("⠛" "" :string)
+ ("⠥" "" :string)
+ ("⠑" "" :string)
+ ("⠕" "" :string)
+ ("⠉" "" :string)
+ ("⠳" "" :string)
+ ("⠜" "" :string)
+ ("⠏" "" :string)
+ ("⠗" "" :string)
+ ("⠊" "" :string)
+ ("⠅" "" :string)
+ ("⠙" "" :string)
+ ("⠎" "" :string)
+ ("⠪" "" :string)
+ ("⠇" "" :string)
+ ("⠝" "" :string)
+ ("⠧" "" :string)
+ ("⠃" "" :string)
+ ("⠭" "" :string)
+ ("⠺" "" :string)
+ ("⠾" "" :string)
+ ("⠩" "" :string)
+ ("⠡" "" :string)
+ ("⠮" "" :string)
+ ("⠌" "" :string)
+ ("⠹" "" :string)
+ ("⠬" "" :string)
+ ("⠣" "" :string)
+ ("⠱" "" :string)
+ ("⠈" "" :string)
+ ("⠘" "" :string)
+ ("⠸" "" :string)
+ ("⠨" "" :string)
+ ("⠠" "" :string)
+ ("⠼" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/modules/lang/german/din5007-latin1-lang.xdy b/Master/texmf/xindy/modules/lang/german/din5007-latin1-lang.xdy
new file mode 100644
index 00000000000..36bd2968dc3
--- /dev/null
+++ b/Master/texmf/xindy/modules/lang/german/din5007-latin1-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/german/din5007-latin1.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("de-alphabetize" "de-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("de-resolve-diacritics" "de-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("de-resolve-case" "de-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("de-resolve-special"))
diff --git a/Master/texmf/xindy/modules/lang/german/din5007-latin1-test.xdy b/Master/texmf/xindy/modules/lang/german/din5007-latin1-test.xdy
new file mode 100644
index 00000000000..165e2dbe244
--- /dev/null
+++ b/Master/texmf/xindy/modules/lang/german/din5007-latin1-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/german/din5007-latin1.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("de-alphabetize" "de-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("de-resolve-diacritics" "de-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("de-resolve-case" "de-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("de-resolve-special"))
+
+;; define other stuff
+(define-attributes ("default"))
+
+;; The description of the location-classes.
+;; Add more location classes as needed.
+
+(define-location-class "arabic-page-numbers" ("arabic-numbers"))
+(define-location-class "roman-page-numbers" ("roman-numbers-lowercase"))
+(define-location-class "Roman-page-numbers" ("roman-numbers-uppercase"))
+(define-location-class "alpha-page-numbers" ("alpha"))
+(define-location-class "Alpha-page-numbers" ("ALPHA"))
+
+;; The most frequently used cross reference class "see". Add more, if
+;; necessary.
+
+(define-crossref-class "see")
+(markup-crossref-list :open "\see{" :close "}{}" :class "see")
+
+;; In makeindex: page_precedence <string> "rnaRA"
+;; List all location classes appearing in your document.
+
+(define-location-class-order ("roman-page-numbers"
+ "arabic-page-numbers"
+ "alpha-page-numbers"
+ "Roman-page-numbers"
+ "Alpha-page-numbers"
+ "see"))
+
+
+;; preamble <string> "\\begin{theindex}\n"
+;; postamble <string> "\n\n\\end{theindex}\n"
+
+(markup-index :open "\begin{theindex}~n"
+ :close "~n~n\end{theindex}~n"
+ :tree)
+
+;; These specifiers are not directly supported via a command-line
+;; switch as in makeindex. Add the appropriate markup-commands into
+;; the preamble.
+
+;; setpage_prefix <string> "~n \setcounter{page}{"
+;; setpage_suffix <string> "}~n"
+
+;; group_skip <string> "~n~n \indexspace~n"
+
+(markup-letter-group-list :sep "~n~n \indexspace~n")
+
+;; even though we comment out (%) the letter-group heading,
+;; the following is useful if you want to check the .ind-file
+(markup-letter-group :open-head "~n % ")
+
+;; The indexentries (item_<..> specifiers)
+
+(markup-indexentry :open "~n \item " :depth 0)
+(markup-indexentry :open "~n \subitem " :depth 1)
+(markup-indexentry :open "~n \subsubitem " :depth 2)
+
+;; Location-references
+
+;; delim_0 <string> ", "
+;; delim_1 <string> ", "
+;; delim_2 <string> ", "
+
+(markup-locclass-list :open ", " :sep ", ")
+
+;; delim_n <string> ", "
+
+(markup-locref-list :sep ", ")
+
+;; delim_r <string> "--"
+
+(markup-range :sep "--")
+
+;; That's all ;-)
+
+
+;; End
+
+;; Local Variables:
+;; mode: lisp
+;; End:
diff --git a/Master/texmf/xindy/modules/lang/german/din5007-latin1.xdy b/Master/texmf/xindy/modules/lang/german/din5007-latin1.xdy
new file mode 100644
index 00000000000..691deb29a66
--- /dev/null
+++ b/Master/texmf/xindy/modules/lang/german/din5007-latin1.xdy
@@ -0,0 +1,308 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: German
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "D" :after "C" :prefixes (""))
+(define-letter-group "E" :after "D" :prefixes (""))
+(define-letter-group "F" :after "E" :prefixes (""))
+(define-letter-group "G" :after "F" :prefixes (""))
+(define-letter-group "H" :after "G" :prefixes (""))
+(define-letter-group "I" :after "H" :prefixes (""))
+(define-letter-group "J" :after "I" :prefixes (""))
+(define-letter-group "K" :after "J" :prefixes (""))
+(define-letter-group "L" :after "K" :prefixes (""))
+(define-letter-group "M" :after "L" :prefixes (""))
+(define-letter-group "N" :after "M" :prefixes (""))
+(define-letter-group "O" :after "N" :prefixes (""))
+(define-letter-group "P" :after "O" :prefixes (""))
+(define-letter-group "Q" :after "P" :prefixes (""))
+(define-letter-group "R" :after "Q" :prefixes (""))
+(define-letter-group "S" :after "R" :prefixes (""))
+(define-letter-group "T" :after "S" :prefixes (""))
+(define-letter-group "U" :after "T" :prefixes (""))
+(define-letter-group "V" :after "U" :prefixes (""))
+(define-letter-group "W" :after "V" :prefixes (""))
+(define-letter-group "X" :after "W" :prefixes (""))
+(define-letter-group "Y" :after "X" :prefixes (""))
+(define-letter-group "Z" :after "Y" :prefixes (""))
+
+(define-rule-set "de-alphabetize"
+
+ :rules (("a" "" :string)
+ ("A" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("B" "" :string)
+ ("b" "" :string)
+ ("c" "" :string)
+ ("C" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("E" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("I" "" :string)
+ ("i" "" :string)
+ ("j" "" :string)
+ ("J" "" :string)
+ ("K" "" :string)
+ ("k" "" :string)
+ ("L" "" :string)
+ ("l" "" :string)
+ ("M" "" :string)
+ ("m" "" :string)
+ ("N" "" :string)
+ ("n" "" :string)
+ ("O" "" :string)
+ ("o" "" :string)
+ ("" "×" :string)
+ ("" "×" :string)
+ ("P" "" :string)
+ ("p" "" :string)
+ ("q" "" :string)
+ ("Q" "" :string)
+ ("r" "" :string)
+ ("R" "" :string)
+ ("S" "" :string)
+ ("s" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("u" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("W" "" :string)
+ ("w" "" :string)
+ ("x" "" :string)
+ ("X" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("Z" "" :string)
+ ("z" "" :string)
+ ))
+
+(define-rule-set "de-resolve-diacritics"
+
+ :rules (("S" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("y" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("g" "" :string)
+ ("t" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("z" "" :string)
+ ("U" "" :string)
+ ("w" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("h" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "de-resolve-case"
+
+ :rules (("S" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("Z" "8" :string)
+ ("J" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("D" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("R" "8" :string)
+ ("" "89" :string)
+ ("" "89" :string)
+ ("" "89" :string)
+ ("a" "9" :string)
+ ("d" "9" :string)
+ ("j" "9" :string)
+ ("y" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("g" "9" :string)
+ ("t" "9" :string)
+ ("e" "9" :string)
+ ("v" "9" :string)
+ ("" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("r" "9" :string)
+ ("x" "9" :string)
+ ("h" "9" :string)
+ ("f" "9" :string)
+ ("i" "9" :string)
+ ("n" "9" :string)
+ ("m" "9" :string)
+ ("l" "9" :string)
+ ("p" "9" :string)
+ ("o" "9" :string)
+ ("" "99" :string)
+ ("" "99" :string)
+ ("" "99" :string)
+ ("" "99" :string)
+ ))
+
+(define-rule-set "de-ignore-special"
+
+ :rules (("?" "" :string)
+ ("-" "" :string)
+ ("." "" :string)
+ ("!" "" :string)
+ ("{" "" :string)
+ ("'" "" :string)
+ ("}" "" :string)
+ ))
+
+(define-rule-set "de-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("a" "" :string)
+ ("T" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("B" "" :string)
+ ("s" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("n" "" :string)
+ ("O" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ("{" "" :string)
+ ("}" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/modules/lang/german/din5007-utf8-lang.xdy b/Master/texmf/xindy/modules/lang/german/din5007-utf8-lang.xdy
new file mode 100644
index 00000000000..de9bd35bba8
--- /dev/null
+++ b/Master/texmf/xindy/modules/lang/german/din5007-utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/german/din5007-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("de-alphabetize" "de-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("de-resolve-diacritics" "de-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("de-resolve-case" "de-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("de-resolve-special"))
diff --git a/Master/texmf/xindy/modules/lang/german/din5007-utf8-test.xdy b/Master/texmf/xindy/modules/lang/german/din5007-utf8-test.xdy
new file mode 100644
index 00000000000..c90cdc77220
--- /dev/null
+++ b/Master/texmf/xindy/modules/lang/german/din5007-utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/german/din5007-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("de-alphabetize" "de-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("de-resolve-diacritics" "de-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("de-resolve-case" "de-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("de-resolve-special"))
+
+;; define other stuff
+(define-attributes ("default"))
+
+;; The description of the location-classes.
+;; Add more location classes as needed.
+
+(define-location-class "arabic-page-numbers" ("arabic-numbers"))
+(define-location-class "roman-page-numbers" ("roman-numbers-lowercase"))
+(define-location-class "Roman-page-numbers" ("roman-numbers-uppercase"))
+(define-location-class "alpha-page-numbers" ("alpha"))
+(define-location-class "Alpha-page-numbers" ("ALPHA"))
+
+;; The most frequently used cross reference class "see". Add more, if
+;; necessary.
+
+(define-crossref-class "see")
+(markup-crossref-list :open "\see{" :close "}{}" :class "see")
+
+;; In makeindex: page_precedence <string> "rnaRA"
+;; List all location classes appearing in your document.
+
+(define-location-class-order ("roman-page-numbers"
+ "arabic-page-numbers"
+ "alpha-page-numbers"
+ "Roman-page-numbers"
+ "Alpha-page-numbers"
+ "see"))
+
+
+;; preamble <string> "\\begin{theindex}\n"
+;; postamble <string> "\n\n\\end{theindex}\n"
+
+(markup-index :open "\begin{theindex}~n"
+ :close "~n~n\end{theindex}~n"
+ :tree)
+
+;; These specifiers are not directly supported via a command-line
+;; switch as in makeindex. Add the appropriate markup-commands into
+;; the preamble.
+
+;; setpage_prefix <string> "~n \setcounter{page}{"
+;; setpage_suffix <string> "}~n"
+
+;; group_skip <string> "~n~n \indexspace~n"
+
+(markup-letter-group-list :sep "~n~n \indexspace~n")
+
+;; even though we comment out (%) the letter-group heading,
+;; the following is useful if you want to check the .ind-file
+(markup-letter-group :open-head "~n % ")
+
+;; The indexentries (item_<..> specifiers)
+
+(markup-indexentry :open "~n \item " :depth 0)
+(markup-indexentry :open "~n \subitem " :depth 1)
+(markup-indexentry :open "~n \subsubitem " :depth 2)
+
+;; Location-references
+
+;; delim_0 <string> ", "
+;; delim_1 <string> ", "
+;; delim_2 <string> ", "
+
+(markup-locclass-list :open ", " :sep ", ")
+
+;; delim_n <string> ", "
+
+(markup-locref-list :sep ", ")
+
+;; delim_r <string> "--"
+
+(markup-range :sep "--")
+
+;; That's all ;-)
+
+
+;; End
+
+;; Local Variables:
+;; mode: lisp
+;; End:
diff --git a/Master/texmf/xindy/modules/lang/german/din5007-utf8.xdy b/Master/texmf/xindy/modules/lang/german/din5007-utf8.xdy
new file mode 100644
index 00000000000..592bea19d33
--- /dev/null
+++ b/Master/texmf/xindy/modules/lang/german/din5007-utf8.xdy
@@ -0,0 +1,308 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: German
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "D" :after "C" :prefixes (""))
+(define-letter-group "E" :after "D" :prefixes (""))
+(define-letter-group "F" :after "E" :prefixes (""))
+(define-letter-group "G" :after "F" :prefixes (""))
+(define-letter-group "H" :after "G" :prefixes (""))
+(define-letter-group "I" :after "H" :prefixes (""))
+(define-letter-group "J" :after "I" :prefixes (""))
+(define-letter-group "K" :after "J" :prefixes (""))
+(define-letter-group "L" :after "K" :prefixes (""))
+(define-letter-group "M" :after "L" :prefixes (""))
+(define-letter-group "N" :after "M" :prefixes (""))
+(define-letter-group "O" :after "N" :prefixes (""))
+(define-letter-group "P" :after "O" :prefixes (""))
+(define-letter-group "Q" :after "P" :prefixes (""))
+(define-letter-group "R" :after "Q" :prefixes (""))
+(define-letter-group "S" :after "R" :prefixes (""))
+(define-letter-group "T" :after "S" :prefixes (""))
+(define-letter-group "U" :after "T" :prefixes (""))
+(define-letter-group "V" :after "U" :prefixes (""))
+(define-letter-group "W" :after "V" :prefixes (""))
+(define-letter-group "X" :after "W" :prefixes (""))
+(define-letter-group "Y" :after "X" :prefixes (""))
+(define-letter-group "Z" :after "Y" :prefixes (""))
+
+(define-rule-set "de-alphabetize"
+
+ :rules (("ä" "" :string)
+ ("Ä" "" :string)
+ ("É" "" :string)
+ ("é" "" :string)
+ ("Ö" "×" :string)
+ ("ö" "×" :string)
+ ("ß" "" :string)
+ ("Ü" "" :string)
+ ("ü" "" :string)
+ ("a" "" :string)
+ ("A" "" :string)
+ ("B" "" :string)
+ ("b" "" :string)
+ ("c" "" :string)
+ ("C" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("E" "" :string)
+ ("e" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("I" "" :string)
+ ("i" "" :string)
+ ("j" "" :string)
+ ("J" "" :string)
+ ("K" "" :string)
+ ("k" "" :string)
+ ("L" "" :string)
+ ("l" "" :string)
+ ("M" "" :string)
+ ("m" "" :string)
+ ("N" "" :string)
+ ("n" "" :string)
+ ("O" "" :string)
+ ("o" "" :string)
+ ("P" "" :string)
+ ("p" "" :string)
+ ("q" "" :string)
+ ("Q" "" :string)
+ ("r" "" :string)
+ ("R" "" :string)
+ ("S" "" :string)
+ ("s" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("u" "" :string)
+ ("U" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("W" "" :string)
+ ("w" "" :string)
+ ("x" "" :string)
+ ("X" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("Z" "" :string)
+ ("z" "" :string)
+ ))
+
+(define-rule-set "de-resolve-diacritics"
+
+ :rules (("É" "" :string)
+ ("é" "" :string)
+ ("ä" "" :string)
+ ("Ö" "" :string)
+ ("Ä" "" :string)
+ ("Ü" "" :string)
+ ("ü" "" :string)
+ ("ö" "" :string)
+ ("ß" "" :string)
+ ("S" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("y" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("g" "" :string)
+ ("t" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("z" "" :string)
+ ("U" "" :string)
+ ("w" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("h" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "de-resolve-case"
+
+ :rules (("É" "8" :string)
+ ("Ö" "89" :string)
+ ("Ä" "89" :string)
+ ("Ü" "89" :string)
+ ("é" "9" :string)
+ ("ä" "99" :string)
+ ("ü" "99" :string)
+ ("ö" "99" :string)
+ ("ß" "99" :string)
+ ("S" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("Z" "8" :string)
+ ("J" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("D" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("R" "8" :string)
+ ("a" "9" :string)
+ ("d" "9" :string)
+ ("j" "9" :string)
+ ("y" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("g" "9" :string)
+ ("t" "9" :string)
+ ("e" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("r" "9" :string)
+ ("x" "9" :string)
+ ("h" "9" :string)
+ ("f" "9" :string)
+ ("i" "9" :string)
+ ("n" "9" :string)
+ ("m" "9" :string)
+ ("l" "9" :string)
+ ("p" "9" :string)
+ ("o" "9" :string)
+ ))
+
+(define-rule-set "de-ignore-special"
+
+ :rules (("?" "" :string)
+ ("-" "" :string)
+ ("." "" :string)
+ ("!" "" :string)
+ ("{" "" :string)
+ ("'" "" :string)
+ ("}" "" :string)
+ ))
+
+(define-rule-set "de-resolve-special"
+
+ :rules (("É" "" :string)
+ ("é" "" :string)
+ ("Ö" "" :string)
+ ("Ä" "" :string)
+ ("Ü" "" :string)
+ ("ö" "" :string)
+ ("ä" "" :string)
+ ("ü" "" :string)
+ ("ß" "" :string)
+ ("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("a" "" :string)
+ ("T" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("B" "" :string)
+ ("s" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("n" "" :string)
+ ("O" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ("{" "" :string)
+ ("}" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/modules/lang/german/din5007.xdy b/Master/texmf/xindy/modules/lang/german/din5007.xdy
new file mode 100644
index 00000000000..74d58ac7b5e
--- /dev/null
+++ b/Master/texmf/xindy/modules/lang/german/din5007.xdy
@@ -0,0 +1,20 @@
+;; $Id: din5007.xdy,v 1.1 1996/07/03 18:44:46 kehr Exp $
+;;
+;; This file contains the basic sort-rules that are necessary to sort
+;; a german index.
+
+;; Die folgenden Regeln entsprechen der DIN 5007.
+
+(sort-rule "" "ae")
+(sort-rule "" "oe")
+(sort-rule "" "ue")
+
+(sort-rule "" "ae")
+(sort-rule "" "oe")
+(sort-rule "" "ue")
+
+(sort-rule "" "ss")
+
+(require "lang/latin/caseisrt.xdy")
+
+;; End
diff --git a/Master/texmf/xindy/modules/lang/german/duden-latin1-lang.xdy b/Master/texmf/xindy/modules/lang/german/duden-latin1-lang.xdy
new file mode 100644
index 00000000000..4fdcbb9769e
--- /dev/null
+++ b/Master/texmf/xindy/modules/lang/german/duden-latin1-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/german/duden-latin1.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("de-alphabetize" "de-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("de-resolve-diacritics" "de-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("de-resolve-case" "de-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("de-resolve-special"))
diff --git a/Master/texmf/xindy/modules/lang/german/duden-latin1-test.xdy b/Master/texmf/xindy/modules/lang/german/duden-latin1-test.xdy
new file mode 100644
index 00000000000..aa56edbdab6
--- /dev/null
+++ b/Master/texmf/xindy/modules/lang/german/duden-latin1-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/german/duden-latin1.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("de-alphabetize" "de-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("de-resolve-diacritics" "de-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("de-resolve-case" "de-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("de-resolve-special"))
+
+;; define other stuff
+(define-attributes ("default"))
+
+;; The description of the location-classes.
+;; Add more location classes as needed.
+
+(define-location-class "arabic-page-numbers" ("arabic-numbers"))
+(define-location-class "roman-page-numbers" ("roman-numbers-lowercase"))
+(define-location-class "Roman-page-numbers" ("roman-numbers-uppercase"))
+(define-location-class "alpha-page-numbers" ("alpha"))
+(define-location-class "Alpha-page-numbers" ("ALPHA"))
+
+;; The most frequently used cross reference class "see". Add more, if
+;; necessary.
+
+(define-crossref-class "see")
+(markup-crossref-list :open "\see{" :close "}{}" :class "see")
+
+;; In makeindex: page_precedence <string> "rnaRA"
+;; List all location classes appearing in your document.
+
+(define-location-class-order ("roman-page-numbers"
+ "arabic-page-numbers"
+ "alpha-page-numbers"
+ "Roman-page-numbers"
+ "Alpha-page-numbers"
+ "see"))
+
+
+;; preamble <string> "\\begin{theindex}\n"
+;; postamble <string> "\n\n\\end{theindex}\n"
+
+(markup-index :open "\begin{theindex}~n"
+ :close "~n~n\end{theindex}~n"
+ :tree)
+
+;; These specifiers are not directly supported via a command-line
+;; switch as in makeindex. Add the appropriate markup-commands into
+;; the preamble.
+
+;; setpage_prefix <string> "~n \setcounter{page}{"
+;; setpage_suffix <string> "}~n"
+
+;; group_skip <string> "~n~n \indexspace~n"
+
+(markup-letter-group-list :sep "~n~n \indexspace~n")
+
+;; even though we comment out (%) the letter-group heading,
+;; the following is useful if you want to check the .ind-file
+(markup-letter-group :open-head "~n % ")
+
+;; The indexentries (item_<..> specifiers)
+
+(markup-indexentry :open "~n \item " :depth 0)
+(markup-indexentry :open "~n \subitem " :depth 1)
+(markup-indexentry :open "~n \subsubitem " :depth 2)
+
+;; Location-references
+
+;; delim_0 <string> ", "
+;; delim_1 <string> ", "
+;; delim_2 <string> ", "
+
+(markup-locclass-list :open ", " :sep ", ")
+
+;; delim_n <string> ", "
+
+(markup-locref-list :sep ", ")
+
+;; delim_r <string> "--"
+
+(markup-range :sep "--")
+
+;; That's all ;-)
+
+
+;; End
+
+;; Local Variables:
+;; mode: lisp
+;; End:
diff --git a/Master/texmf/xindy/modules/lang/german/duden-latin1.xdy b/Master/texmf/xindy/modules/lang/german/duden-latin1.xdy
new file mode 100644
index 00000000000..8f296aad042
--- /dev/null
+++ b/Master/texmf/xindy/modules/lang/german/duden-latin1.xdy
@@ -0,0 +1,308 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: German
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "D" :after "C" :prefixes (""))
+(define-letter-group "E" :after "D" :prefixes (""))
+(define-letter-group "F" :after "E" :prefixes (""))
+(define-letter-group "G" :after "F" :prefixes (""))
+(define-letter-group "H" :after "G" :prefixes (""))
+(define-letter-group "I" :after "H" :prefixes (""))
+(define-letter-group "J" :after "I" :prefixes (""))
+(define-letter-group "K" :after "J" :prefixes (""))
+(define-letter-group "L" :after "K" :prefixes (""))
+(define-letter-group "M" :after "L" :prefixes (""))
+(define-letter-group "N" :after "M" :prefixes (""))
+(define-letter-group "O" :after "N" :prefixes (""))
+(define-letter-group "P" :after "O" :prefixes (""))
+(define-letter-group "Q" :after "P" :prefixes (""))
+(define-letter-group "R" :after "Q" :prefixes (""))
+(define-letter-group "S" :after "R" :prefixes (""))
+(define-letter-group "T" :after "S" :prefixes (""))
+(define-letter-group "U" :after "T" :prefixes (""))
+(define-letter-group "V" :after "U" :prefixes (""))
+(define-letter-group "W" :after "V" :prefixes (""))
+(define-letter-group "X" :after "W" :prefixes (""))
+(define-letter-group "Y" :after "X" :prefixes (""))
+(define-letter-group "Z" :after "Y" :prefixes (""))
+
+(define-rule-set "de-alphabetize"
+
+ :rules (("a" "" :string)
+ ("" "" :string)
+ ("A" "" :string)
+ ("" "" :string)
+ ("B" "" :string)
+ ("b" "" :string)
+ ("c" "" :string)
+ ("C" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("E" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("I" "" :string)
+ ("i" "" :string)
+ ("j" "" :string)
+ ("J" "" :string)
+ ("K" "" :string)
+ ("k" "" :string)
+ ("L" "" :string)
+ ("l" "" :string)
+ ("M" "" :string)
+ ("m" "" :string)
+ ("N" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("O" "" :string)
+ ("o" "" :string)
+ ("P" "" :string)
+ ("p" "" :string)
+ ("q" "" :string)
+ ("Q" "" :string)
+ ("r" "" :string)
+ ("R" "" :string)
+ ("S" "" :string)
+ ("s" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("W" "" :string)
+ ("w" "" :string)
+ ("x" "" :string)
+ ("X" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("Z" "" :string)
+ ("z" "" :string)
+ ))
+
+(define-rule-set "de-resolve-diacritics"
+
+ :rules (("S" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("y" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("g" "" :string)
+ ("t" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("z" "" :string)
+ ("U" "" :string)
+ ("w" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("h" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "de-resolve-case"
+
+ :rules (("S" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("Z" "8" :string)
+ ("J" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("D" "8" :string)
+ ("I" "8" :string)
+ ("" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("R" "8" :string)
+ ("" "8" :string)
+ ("a" "9" :string)
+ ("d" "9" :string)
+ ("j" "9" :string)
+ ("y" "9" :string)
+ ("" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("g" "9" :string)
+ ("" "9" :string)
+ ("t" "9" :string)
+ ("e" "9" :string)
+ ("v" "9" :string)
+ ("" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("r" "9" :string)
+ ("x" "9" :string)
+ ("h" "9" :string)
+ ("f" "9" :string)
+ ("" "9" :string)
+ ("i" "9" :string)
+ ("n" "9" :string)
+ ("m" "9" :string)
+ ("l" "9" :string)
+ ("p" "9" :string)
+ ("o" "9" :string)
+ ("" "99" :string)
+ ))
+
+(define-rule-set "de-ignore-special"
+
+ :rules (("?" "" :string)
+ ("-" "" :string)
+ ("." "" :string)
+ ("!" "" :string)
+ ("{" "" :string)
+ ("'" "" :string)
+ ("}" "" :string)
+ ))
+
+(define-rule-set "de-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("T" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("B" "" :string)
+ ("s" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("" "" :string)
+ ("A" "" :string)
+ ("n" "" :string)
+ ("O" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ("{" "" :string)
+ ("}" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/modules/lang/german/duden-utf8-lang.xdy b/Master/texmf/xindy/modules/lang/german/duden-utf8-lang.xdy
new file mode 100644
index 00000000000..7f01dd68678
--- /dev/null
+++ b/Master/texmf/xindy/modules/lang/german/duden-utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/german/duden-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("de-alphabetize" "de-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("de-resolve-diacritics" "de-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("de-resolve-case" "de-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("de-resolve-special"))
diff --git a/Master/texmf/xindy/modules/lang/german/duden-utf8-test.xdy b/Master/texmf/xindy/modules/lang/german/duden-utf8-test.xdy
new file mode 100644
index 00000000000..fd1dd10c172
--- /dev/null
+++ b/Master/texmf/xindy/modules/lang/german/duden-utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/german/duden-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("de-alphabetize" "de-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("de-resolve-diacritics" "de-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("de-resolve-case" "de-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("de-resolve-special"))
+
+;; define other stuff
+(define-attributes ("default"))
+
+;; The description of the location-classes.
+;; Add more location classes as needed.
+
+(define-location-class "arabic-page-numbers" ("arabic-numbers"))
+(define-location-class "roman-page-numbers" ("roman-numbers-lowercase"))
+(define-location-class "Roman-page-numbers" ("roman-numbers-uppercase"))
+(define-location-class "alpha-page-numbers" ("alpha"))
+(define-location-class "Alpha-page-numbers" ("ALPHA"))
+
+;; The most frequently used cross reference class "see". Add more, if
+;; necessary.
+
+(define-crossref-class "see")
+(markup-crossref-list :open "\see{" :close "}{}" :class "see")
+
+;; In makeindex: page_precedence <string> "rnaRA"
+;; List all location classes appearing in your document.
+
+(define-location-class-order ("roman-page-numbers"
+ "arabic-page-numbers"
+ "alpha-page-numbers"
+ "Roman-page-numbers"
+ "Alpha-page-numbers"
+ "see"))
+
+
+;; preamble <string> "\\begin{theindex}\n"
+;; postamble <string> "\n\n\\end{theindex}\n"
+
+(markup-index :open "\begin{theindex}~n"
+ :close "~n~n\end{theindex}~n"
+ :tree)
+
+;; These specifiers are not directly supported via a command-line
+;; switch as in makeindex. Add the appropriate markup-commands into
+;; the preamble.
+
+;; setpage_prefix <string> "~n \setcounter{page}{"
+;; setpage_suffix <string> "}~n"
+
+;; group_skip <string> "~n~n \indexspace~n"
+
+(markup-letter-group-list :sep "~n~n \indexspace~n")
+
+;; even though we comment out (%) the letter-group heading,
+;; the following is useful if you want to check the .ind-file
+(markup-letter-group :open-head "~n % ")
+
+;; The indexentries (item_<..> specifiers)
+
+(markup-indexentry :open "~n \item " :depth 0)
+(markup-indexentry :open "~n \subitem " :depth 1)
+(markup-indexentry :open "~n \subsubitem " :depth 2)
+
+;; Location-references
+
+;; delim_0 <string> ", "
+;; delim_1 <string> ", "
+;; delim_2 <string> ", "
+
+(markup-locclass-list :open ", " :sep ", ")
+
+;; delim_n <string> ", "
+
+(markup-locref-list :sep ", ")
+
+;; delim_r <string> "--"
+
+(markup-range :sep "--")
+
+;; That's all ;-)
+
+
+;; End
+
+;; Local Variables:
+;; mode: lisp
+;; End:
diff --git a/Master/texmf/xindy/modules/lang/german/duden-utf8.xdy b/Master/texmf/xindy/modules/lang/german/duden-utf8.xdy
new file mode 100644
index 00000000000..4d3972148c9
--- /dev/null
+++ b/Master/texmf/xindy/modules/lang/german/duden-utf8.xdy
@@ -0,0 +1,308 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: German
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "D" :after "C" :prefixes (""))
+(define-letter-group "E" :after "D" :prefixes (""))
+(define-letter-group "F" :after "E" :prefixes (""))
+(define-letter-group "G" :after "F" :prefixes (""))
+(define-letter-group "H" :after "G" :prefixes (""))
+(define-letter-group "I" :after "H" :prefixes (""))
+(define-letter-group "J" :after "I" :prefixes (""))
+(define-letter-group "K" :after "J" :prefixes (""))
+(define-letter-group "L" :after "K" :prefixes (""))
+(define-letter-group "M" :after "L" :prefixes (""))
+(define-letter-group "N" :after "M" :prefixes (""))
+(define-letter-group "O" :after "N" :prefixes (""))
+(define-letter-group "P" :after "O" :prefixes (""))
+(define-letter-group "Q" :after "P" :prefixes (""))
+(define-letter-group "R" :after "Q" :prefixes (""))
+(define-letter-group "S" :after "R" :prefixes (""))
+(define-letter-group "T" :after "S" :prefixes (""))
+(define-letter-group "U" :after "T" :prefixes (""))
+(define-letter-group "V" :after "U" :prefixes (""))
+(define-letter-group "W" :after "V" :prefixes (""))
+(define-letter-group "X" :after "W" :prefixes (""))
+(define-letter-group "Y" :after "X" :prefixes (""))
+(define-letter-group "Z" :after "Y" :prefixes (""))
+
+(define-rule-set "de-alphabetize"
+
+ :rules (("ä" "" :string)
+ ("Ä" "" :string)
+ ("É" "" :string)
+ ("é" "" :string)
+ ("Ö" "" :string)
+ ("ö" "" :string)
+ ("ß" "" :string)
+ ("Ü" "" :string)
+ ("ü" "" :string)
+ ("a" "" :string)
+ ("A" "" :string)
+ ("B" "" :string)
+ ("b" "" :string)
+ ("c" "" :string)
+ ("C" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("E" "" :string)
+ ("e" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("I" "" :string)
+ ("i" "" :string)
+ ("j" "" :string)
+ ("J" "" :string)
+ ("K" "" :string)
+ ("k" "" :string)
+ ("L" "" :string)
+ ("l" "" :string)
+ ("M" "" :string)
+ ("m" "" :string)
+ ("N" "" :string)
+ ("n" "" :string)
+ ("O" "" :string)
+ ("o" "" :string)
+ ("P" "" :string)
+ ("p" "" :string)
+ ("q" "" :string)
+ ("Q" "" :string)
+ ("r" "" :string)
+ ("R" "" :string)
+ ("S" "" :string)
+ ("s" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("u" "" :string)
+ ("U" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("W" "" :string)
+ ("w" "" :string)
+ ("x" "" :string)
+ ("X" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("Z" "" :string)
+ ("z" "" :string)
+ ))
+
+(define-rule-set "de-resolve-diacritics"
+
+ :rules (("É" "" :string)
+ ("é" "" :string)
+ ("ä" "" :string)
+ ("Ö" "" :string)
+ ("Ä" "" :string)
+ ("Ü" "" :string)
+ ("ü" "" :string)
+ ("ö" "" :string)
+ ("ß" "" :string)
+ ("S" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("y" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("g" "" :string)
+ ("t" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("z" "" :string)
+ ("U" "" :string)
+ ("w" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("h" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "de-resolve-case"
+
+ :rules (("Ö" "8" :string)
+ ("É" "8" :string)
+ ("Ä" "8" :string)
+ ("Ü" "8" :string)
+ ("ä" "9" :string)
+ ("é" "9" :string)
+ ("ü" "9" :string)
+ ("ö" "9" :string)
+ ("ß" "99" :string)
+ ("S" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("Z" "8" :string)
+ ("J" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("D" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("R" "8" :string)
+ ("a" "9" :string)
+ ("d" "9" :string)
+ ("j" "9" :string)
+ ("y" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("g" "9" :string)
+ ("t" "9" :string)
+ ("e" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("r" "9" :string)
+ ("x" "9" :string)
+ ("h" "9" :string)
+ ("f" "9" :string)
+ ("i" "9" :string)
+ ("n" "9" :string)
+ ("m" "9" :string)
+ ("l" "9" :string)
+ ("p" "9" :string)
+ ("o" "9" :string)
+ ))
+
+(define-rule-set "de-ignore-special"
+
+ :rules (("?" "" :string)
+ ("-" "" :string)
+ ("." "" :string)
+ ("!" "" :string)
+ ("{" "" :string)
+ ("'" "" :string)
+ ("}" "" :string)
+ ))
+
+(define-rule-set "de-resolve-special"
+
+ :rules (("Ö" "" :string)
+ ("É" "" :string)
+ ("Ä" "" :string)
+ ("Ü" "" :string)
+ ("ö" "" :string)
+ ("ä" "" :string)
+ ("é" "" :string)
+ ("ü" "" :string)
+ ("ß" "" :string)
+ ("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("a" "" :string)
+ ("T" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("B" "" :string)
+ ("s" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("n" "" :string)
+ ("O" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ("{" "" :string)
+ ("}" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/modules/lang/german/duden.xdy b/Master/texmf/xindy/modules/lang/german/duden.xdy
new file mode 100644
index 00000000000..0ec6e895080
--- /dev/null
+++ b/Master/texmf/xindy/modules/lang/german/duden.xdy
@@ -0,0 +1,37 @@
+;; $Id: duden.xdy,v 1.1 1996/07/03 18:44:46 kehr Exp $
+;;
+;; This file contains the basic sort-rules that are necessary to sort
+;; a german index.
+
+;; Dieses Modul definiert die Regeln zum Sortieren eines Wrterbuchs.
+;; Die folgenden Regeln wurden dem Duden entnommen und bilden die
+;; Sortierregeln des Dudens selbst.
+;;
+;; (1) wird wie a, wie o, wie u und u wie au einsortiert.
+
+(sort-rule "" "a")
+(sort-rule "" "o")
+(sort-rule "" "u")
+
+;; (2) Die Schreibungen ae, oe und ue (in Namen) werden nach ad usw.
+;; eingeordnet. [Dies k"onnen wir nicht leisten, da das Programm
+;; nicht wei, was ein Name ist.]
+;; (3) Der Buchstabe (es-zett) wird wie ss (i), bei gleichnamigen
+;; Wrtern vor ss (ii) eigeordnet. Punkt (ii) ist ebenfalls
+;; nicht spezifizierbar, daher hier nur Regel (3i).
+
+(sort-rule "" "ss")
+
+;; Da beim Index die Gro- und Kleinschreibung ohne Bedeutung ist,
+;; bilden wir beim Sort-Mapping die Grobuchstaben auf die
+;; Kleinbuchstaben ab.
+
+(require "lang/latin/caseisrt.xdy")
+
+;; Analog bilden wir noch die Grobuchtaben-Umlaute ab.
+
+(sort-rule "" "a")
+(sort-rule "" "o")
+(sort-rule "" "u")
+
+;; End
diff --git a/Master/texmf/xindy/modules/lang/german/tex.xdy b/Master/texmf/xindy/modules/lang/german/tex.xdy
new file mode 100644
index 00000000000..59b1332b370
--- /dev/null
+++ b/Master/texmf/xindy/modules/lang/german/tex.xdy
@@ -0,0 +1,21 @@
+;; $Id: tex.xdy,v 1.2 1996/07/18 16:03:55 kehr Exp $
+;;
+;; This file contains some rules to process TeX-letters with xindy.
+;;
+;; It should be used in conjunction with the `din5007' or the `duden'
+;; modules.
+;;
+
+;; We first map them to the ISO-Latin counterpart and then use the
+;; mappings in on of the two other modules to map them to the actual
+;; postition.
+
+(sort-rule "\\\"a" "" :again)
+(sort-rule "\\\"o" "" :again)
+(sort-rule "\\\"u" "" :again)
+(sort-rule "\\\"A" "" :again)
+(sort-rule "\\\"O" "" :again)
+(sort-rule "\\\"U" "" :again)
+(sort-rule "\\ss({})?" "" :again)
+
+;; End