summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Volovich <vvv@vsu.ru>2008-03-27 03:49:32 +0000
committerVladimir Volovich <vvv@vsu.ru>2008-03-27 03:49:32 +0000
commit58dc631ebaf1d5704b1289ade86fddf8a97feebc (patch)
tree45ab5e4dfa75ea2cd9b971fe081840baa9a4536e
parentb142d239d670c0be10d6d0ff42c33c268d2dcbe2 (diff)
install xindy texmf files (platform-independent)
git-svn-id: svn://tug.org/texlive/trunk@7178 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf/doc/man/man1/tex2xindy.1206
-rw-r--r--Master/texmf/doc/man/man1/texindy.1406
-rw-r--r--Master/texmf/doc/man/man1/xindy.1380
-rw-r--r--Master/texmf/doc/xindy/NEWS25
-rw-r--r--Master/texmf/doc/xindy/README14
-rw-r--r--Master/texmf/doc/xindy/README.distrib-source127
-rw-r--r--Master/texmf/doc/xindy/alphabets-doc.pdfbin0 -> 380525 bytes
-rw-r--r--Master/texmf/doc/xindy/dataflow.gifbin0 -> 1988 bytes
-rw-r--r--Master/texmf/doc/xindy/faq-1.html169
-rw-r--r--Master/texmf/doc/xindy/faq-2.html95
-rw-r--r--Master/texmf/doc/xindy/faq-3.html83
-rw-r--r--Master/texmf/doc/xindy/faq-4.html668
-rw-r--r--Master/texmf/doc/xindy/faq.html90
-rw-r--r--Master/texmf/doc/xindy/index.gifbin0 -> 9066 bytes
-rw-r--r--Master/texmf/doc/xindy/manual-1.html42
-rw-r--r--Master/texmf/doc/xindy/manual-2.html302
-rw-r--r--Master/texmf/doc/xindy/manual-3.html1160
-rw-r--r--Master/texmf/doc/xindy/manual-4.html230
-rw-r--r--Master/texmf/doc/xindy/manual-5.html63
-rw-r--r--Master/texmf/doc/xindy/manual-6.html53
-rw-r--r--Master/texmf/doc/xindy/manual-7.html53
-rw-r--r--Master/texmf/doc/xindy/manual.html73
-rw-r--r--Master/texmf/doc/xindy/mappings.gifbin0 -> 878 bytes
-rw-r--r--Master/texmf/doc/xindy/style-tutorial-1.html92
-rw-r--r--Master/texmf/doc/xindy/style-tutorial-2.html361
-rw-r--r--Master/texmf/doc/xindy/style-tutorial-3.html263
-rw-r--r--Master/texmf/doc/xindy/style-tutorial-4.html41
-rw-r--r--Master/texmf/doc/xindy/style-tutorial.html66
-rw-r--r--Master/texmf/doc/xindy/style-tutorial/ex1.raw20
-rw-r--r--Master/texmf/doc/xindy/style-tutorial/ex1.tex16
-rw-r--r--Master/texmf/doc/xindy/style-tutorial/ex2.raw35
-rw-r--r--Master/texmf/doc/xindy/style-tutorial/ex2.tex16
-rw-r--r--Master/texmf/doc/xindy/style-tutorial/index.tex16
-rw-r--r--Master/texmf/doc/xindy/style-tutorial/style1.xdy55
-rw-r--r--Master/texmf/doc/xindy/style-tutorial/style2.xdy80
-rw-r--r--Master/texmf/doc/xindy/tex2xindy.pdfbin0 -> 4825 bytes
-rw-r--r--Master/texmf/doc/xindy/texindy.pdfbin0 -> 12313 bytes
-rw-r--r--Master/texmf/doc/xindy/xindy.pdfbin0 -> 11444 bytes
-rwxr-xr-xMaster/texmf/scripts/xindy/texindy.pl525
-rwxr-xr-xMaster/texmf/scripts/xindy/xindy.pl790
-rw-r--r--Master/texmf/xindy/base/book-order.xdy24
-rw-r--r--Master/texmf/xindy/base/ff-ranges-only.xdy25
-rw-r--r--Master/texmf/xindy/base/ff-ranges.xdy27
-rw-r--r--Master/texmf/xindy/base/german-sty.xdy24
-rw-r--r--Master/texmf/xindy/base/ignore-hyphen.xdy18
-rw-r--r--Master/texmf/xindy/base/ignore-punctuation.xdy42
-rw-r--r--Master/texmf/xindy/base/keep-blanks.xdy40
-rw-r--r--Master/texmf/xindy/base/latex-loc-fmts.xdy25
-rw-r--r--Master/texmf/xindy/base/latex.xdy83
-rw-r--r--Master/texmf/xindy/base/latin-lettergroups.xdy26
-rw-r--r--Master/texmf/xindy/base/letter-order.xdy18
-rw-r--r--Master/texmf/xindy/base/makeindex.xdy46
-rw-r--r--Master/texmf/xindy/base/numeric-sort.xdy25
-rw-r--r--Master/texmf/xindy/base/page-ranges.xdy18
-rw-r--r--Master/texmf/xindy/base/tex.xdy71
-rw-r--r--Master/texmf/xindy/base/texindy.xdy20
-rw-r--r--Master/texmf/xindy/base/word-order.xdy20
-rw-r--r--Master/texmf/xindy/class/pagenums.xdy7
-rw-r--r--Master/texmf/xindy/lang/albanian/latin1-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/albanian/latin1-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/albanian/latin1.xdy403
-rw-r--r--Master/texmf/xindy/lang/albanian/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/albanian/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/albanian/utf8.xdy403
-rw-r--r--Master/texmf/xindy/lang/belarusian/cp1251-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/belarusian/cp1251-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/belarusian/cp1251.xdy348
-rw-r--r--Master/texmf/xindy/lang/belarusian/iso88595-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/belarusian/iso88595-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/belarusian/iso88595.xdy348
-rw-r--r--Master/texmf/xindy/lang/belarusian/isoir111-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/belarusian/isoir111-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/belarusian/isoir111.xdy348
-rw-r--r--Master/texmf/xindy/lang/belarusian/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/belarusian/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/belarusian/utf8.xdy348
-rw-r--r--Master/texmf/xindy/lang/bulgarian/cp1251-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/bulgarian/cp1251-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/bulgarian/cp1251.xdy304
-rw-r--r--Master/texmf/xindy/lang/bulgarian/iso88595-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/bulgarian/iso88595-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/bulgarian/iso88595.xdy304
-rw-r--r--Master/texmf/xindy/lang/bulgarian/koi8-r-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/bulgarian/koi8-r-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/bulgarian/koi8-r.xdy304
-rw-r--r--Master/texmf/xindy/lang/bulgarian/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/bulgarian/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/bulgarian/utf8.xdy313
-rw-r--r--Master/texmf/xindy/lang/croatian/cp1250-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/croatian/cp1250-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/croatian/cp1250.xdy352
-rw-r--r--Master/texmf/xindy/lang/croatian/latin2-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/croatian/latin2-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/croatian/latin2.xdy352
-rw-r--r--Master/texmf/xindy/lang/croatian/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/croatian/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/croatian/utf8.xdy552
-rw-r--r--Master/texmf/xindy/lang/czech/cp1250-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/czech/cp1250-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/czech/cp1250.xdy433
-rw-r--r--Master/texmf/xindy/lang/czech/latin2-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/czech/latin2-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/czech/latin2.xdy433
-rw-r--r--Master/texmf/xindy/lang/czech/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/czech/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/czech/utf8.xdy433
-rw-r--r--Master/texmf/xindy/lang/danish/cp1252-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/danish/cp1252-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/danish/cp1252.xdy451
-rw-r--r--Master/texmf/xindy/lang/danish/latin9-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/danish/latin9-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/danish/latin9.xdy451
-rw-r--r--Master/texmf/xindy/lang/danish/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/danish/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/danish/utf8.xdy475
-rw-r--r--Master/texmf/xindy/lang/dutch/ij-as-ij-latin1-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/dutch/ij-as-ij-latin1-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/dutch/ij-as-ij-latin1.xdy320
-rw-r--r--Master/texmf/xindy/lang/dutch/ij-as-ij-utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/dutch/ij-as-ij-utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/dutch/ij-as-ij-utf8.xdy328
-rw-r--r--Master/texmf/xindy/lang/dutch/ij-as-y-utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/dutch/ij-as-y-utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/dutch/ij-as-y-utf8.xdy332
-rw-r--r--Master/texmf/xindy/lang/english/cp1252-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/english/cp1252-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/english/cp1252.xdy385
-rw-r--r--Master/texmf/xindy/lang/english/latin9-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/english/latin9-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/english/latin9.xdy385
-rw-r--r--Master/texmf/xindy/lang/english/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/english/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/english/utf8.xdy403
-rw-r--r--Master/texmf/xindy/lang/esperanto/latin3-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/esperanto/latin3-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/esperanto/latin3.xdy326
-rw-r--r--Master/texmf/xindy/lang/esperanto/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/esperanto/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/esperanto/utf8.xdy326
-rw-r--r--Master/texmf/xindy/lang/estonian/cp1252-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/estonian/cp1252-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/estonian/cp1252.xdy321
-rw-r--r--Master/texmf/xindy/lang/estonian/latin9-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/estonian/latin9-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/estonian/latin9.xdy321
-rw-r--r--Master/texmf/xindy/lang/estonian/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/estonian/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/estonian/utf8.xdy321
-rw-r--r--Master/texmf/xindy/lang/finnish/cp1252-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/finnish/cp1252-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/finnish/cp1252.xdy358
-rw-r--r--Master/texmf/xindy/lang/finnish/latin9-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/finnish/latin9-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/finnish/latin9.xdy358
-rw-r--r--Master/texmf/xindy/lang/finnish/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/finnish/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/finnish/utf8.xdy358
-rw-r--r--Master/texmf/xindy/lang/french/cp1252-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/french/cp1252-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/french/cp1252.xdy420
-rw-r--r--Master/texmf/xindy/lang/french/latin9-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/french/latin9-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/french/latin9.xdy420
-rw-r--r--Master/texmf/xindy/lang/french/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/french/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/french/utf8.xdy420
-rw-r--r--Master/texmf/xindy/lang/general/cp1252-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/general/cp1252-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/general/cp1252.xdy528
-rw-r--r--Master/texmf/xindy/lang/general/cp850-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/general/cp850-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/general/cp850.xdy500
-rw-r--r--Master/texmf/xindy/lang/general/latin9-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/general/latin9-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/general/latin9.xdy528
-rw-r--r--Master/texmf/xindy/lang/general/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/general/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/general/utf8.xdy784
-rw-r--r--Master/texmf/xindy/lang/georgian/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/georgian/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/georgian/utf8.xdy230
-rw-r--r--Master/texmf/xindy/lang/german/braille-utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/german/braille-utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/german/braille-utf8.xdy238
-rw-r--r--Master/texmf/xindy/lang/german/din5007-latin1-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/german/din5007-latin1-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/german/din5007-latin1.xdy308
-rw-r--r--Master/texmf/xindy/lang/german/din5007-utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/german/din5007-utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/german/din5007-utf8.xdy308
-rw-r--r--Master/texmf/xindy/lang/german/din5007.xdy20
-rw-r--r--Master/texmf/xindy/lang/german/duden-latin1-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/german/duden-latin1-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/german/duden-latin1.xdy308
-rw-r--r--Master/texmf/xindy/lang/german/duden-utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/german/duden-utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/german/duden-utf8.xdy308
-rw-r--r--Master/texmf/xindy/lang/german/duden.xdy37
-rw-r--r--Master/texmf/xindy/lang/german/tex.xdy21
-rw-r--r--Master/texmf/xindy/lang/greek/iso88597-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/greek/iso88597-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/greek/iso88597.xdy340
-rw-r--r--Master/texmf/xindy/lang/greek/polytonic-utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/greek/polytonic-utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/greek/polytonic-utf8.xdy646
-rw-r--r--Master/texmf/xindy/lang/greek/translit-latin4-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/greek/translit-latin4-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/greek/translit-latin4.xdy230
-rw-r--r--Master/texmf/xindy/lang/greek/translit-utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/greek/translit-utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/greek/translit-utf8.xdy230
-rw-r--r--Master/texmf/xindy/lang/greek/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/greek/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/greek/utf8.xdy340
-rw-r--r--Master/texmf/xindy/lang/gypsy/northrussian-utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/gypsy/northrussian-utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/gypsy/northrussian-utf8.xdy424
-rw-r--r--Master/texmf/xindy/lang/hausa/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/hausa/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/hausa/utf8.xdy514
-rw-r--r--Master/texmf/xindy/lang/hebrew/iso88598-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/hebrew/iso88598-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/hebrew/iso88598.xdy166
-rw-r--r--Master/texmf/xindy/lang/hebrew/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/hebrew/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/hebrew/utf8.xdy304
-rw-r--r--Master/texmf/xindy/lang/hungarian/cp1250-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/hungarian/cp1250-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/hungarian/cp1250.xdy458
-rw-r--r--Master/texmf/xindy/lang/hungarian/latin2-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/hungarian/latin2-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/hungarian/latin2.xdy458
-rw-r--r--Master/texmf/xindy/lang/hungarian/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/hungarian/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/hungarian/utf8.xdy466
-rw-r--r--Master/texmf/xindy/lang/icelandic/cp1252-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/icelandic/cp1252-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/icelandic/cp1252.xdy405
-rw-r--r--Master/texmf/xindy/lang/icelandic/latin9-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/icelandic/latin9-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/icelandic/latin9.xdy405
-rw-r--r--Master/texmf/xindy/lang/icelandic/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/icelandic/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/icelandic/utf8.xdy453
-rw-r--r--Master/texmf/xindy/lang/italian/latin1-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/italian/latin1-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/italian/latin1.xdy352
-rw-r--r--Master/texmf/xindy/lang/italian/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/italian/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/italian/utf8.xdy352
-rw-r--r--Master/texmf/xindy/lang/klingon/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/klingon/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/klingon/utf8.xdy166
-rw-r--r--Master/texmf/xindy/lang/kurdish/bedirxan-latin5-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/kurdish/bedirxan-latin5-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/kurdish/bedirxan-latin5.xdy304
-rw-r--r--Master/texmf/xindy/lang/kurdish/bedirxan-utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/kurdish/bedirxan-utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/kurdish/bedirxan-utf8.xdy304
-rw-r--r--Master/texmf/xindy/lang/kurdish/turkish-i-latin5-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/kurdish/turkish-i-latin5-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/kurdish/turkish-i-latin5.xdy304
-rw-r--r--Master/texmf/xindy/lang/kurdish/turkish-i-utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/kurdish/turkish-i-utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/kurdish/turkish-i-utf8.xdy304
-rw-r--r--Master/texmf/xindy/lang/latin/caseisrt.xdy34
-rw-r--r--Master/texmf/xindy/lang/latin/letgroup.xdy10
-rw-r--r--Master/texmf/xindy/lang/latin/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/latin/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/latin/utf8.xdy352
-rw-r--r--Master/texmf/xindy/lang/latvian/latin4-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/latvian/latin4-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/latvian/latin4.xdy383
-rw-r--r--Master/texmf/xindy/lang/latvian/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/latvian/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/latvian/utf8.xdy383
-rw-r--r--Master/texmf/xindy/lang/lithuanian/latin4-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/lithuanian/latin4-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/lithuanian/latin4.xdy354
-rw-r--r--Master/texmf/xindy/lang/lithuanian/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/lithuanian/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/lithuanian/utf8.xdy354
-rw-r--r--Master/texmf/xindy/lang/lower-sorbian/cp1250-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/lower-sorbian/cp1250-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/lower-sorbian/cp1250.xdy375
-rw-r--r--Master/texmf/xindy/lang/lower-sorbian/latin2-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/lower-sorbian/latin2-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/lower-sorbian/latin2.xdy375
-rw-r--r--Master/texmf/xindy/lang/lower-sorbian/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/lower-sorbian/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/lower-sorbian/utf8.xdy375
-rw-r--r--Master/texmf/xindy/lang/macedonian/cp1251-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/macedonian/cp1251-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/macedonian/cp1251.xdy313
-rw-r--r--Master/texmf/xindy/lang/macedonian/iso88595-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/macedonian/iso88595-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/macedonian/iso88595.xdy313
-rw-r--r--Master/texmf/xindy/lang/macedonian/isoir111-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/macedonian/isoir111-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/macedonian/isoir111.xdy313
-rw-r--r--Master/texmf/xindy/lang/macedonian/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/macedonian/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/macedonian/utf8.xdy329
-rw-r--r--Master/texmf/xindy/lang/mongolian/cyrillic-utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/mongolian/cyrillic-utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/mongolian/cyrillic-utf8.xdy455
-rw-r--r--Master/texmf/xindy/lang/norwegian/latin1-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/norwegian/latin1-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/norwegian/latin1.xdy411
-rw-r--r--Master/texmf/xindy/lang/norwegian/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/norwegian/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/norwegian/utf8.xdy411
-rw-r--r--Master/texmf/xindy/lang/polish/cp1250-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/polish/cp1250-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/polish/cp1250.xdy353
-rw-r--r--Master/texmf/xindy/lang/polish/latin2-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/polish/latin2-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/polish/latin2.xdy353
-rw-r--r--Master/texmf/xindy/lang/polish/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/polish/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/polish/utf8.xdy353
-rw-r--r--Master/texmf/xindy/lang/portuguese/latin1-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/portuguese/latin1-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/portuguese/latin1.xdy416
-rw-r--r--Master/texmf/xindy/lang/portuguese/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/portuguese/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/portuguese/utf8.xdy416
-rw-r--r--Master/texmf/xindy/lang/romanian/latin2-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/romanian/latin2-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/romanian/latin2.xdy313
-rw-r--r--Master/texmf/xindy/lang/romanian/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/romanian/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/romanian/utf8.xdy313
-rw-r--r--Master/texmf/xindy/lang/russian/cp1251-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/russian/cp1251-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/russian/cp1251.xdy330
-rw-r--r--Master/texmf/xindy/lang/russian/iso88595-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/russian/iso88595-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/russian/iso88595.xdy330
-rw-r--r--Master/texmf/xindy/lang/russian/koi8-r-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/russian/koi8-r-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/russian/koi8-r.xdy330
-rw-r--r--Master/texmf/xindy/lang/russian/translit-iso-utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/russian/translit-iso-utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/russian/translit-iso-utf8.xdy307
-rw-r--r--Master/texmf/xindy/lang/russian/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/russian/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/russian/utf8.xdy464
-rw-r--r--Master/texmf/xindy/lang/serbian/cp1251-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/serbian/cp1251-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/serbian/cp1251.xdy304
-rw-r--r--Master/texmf/xindy/lang/serbian/iso88595-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/serbian/iso88595-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/serbian/iso88595.xdy304
-rw-r--r--Master/texmf/xindy/lang/serbian/isoir111-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/serbian/isoir111-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/serbian/isoir111.xdy304
-rw-r--r--Master/texmf/xindy/lang/serbian/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/serbian/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/serbian/utf8.xdy404
-rw-r--r--Master/texmf/xindy/lang/slovak/large-cp1250-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/slovak/large-cp1250-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/slovak/large-cp1250.xdy437
-rw-r--r--Master/texmf/xindy/lang/slovak/large-latin2-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/slovak/large-latin2-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/slovak/large-latin2.xdy437
-rw-r--r--Master/texmf/xindy/lang/slovak/large-utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/slovak/large-utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/slovak/large-utf8.xdy437
-rw-r--r--Master/texmf/xindy/lang/slovak/small-cp1250-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/slovak/small-cp1250-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/slovak/small-cp1250.xdy429
-rw-r--r--Master/texmf/xindy/lang/slovak/small-latin2-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/slovak/small-latin2-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/slovak/small-latin2.xdy429
-rw-r--r--Master/texmf/xindy/lang/slovak/small-utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/slovak/small-utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/slovak/small-utf8.xdy429
-rw-r--r--Master/texmf/xindy/lang/slovenian/cp1250-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/slovenian/cp1250-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/slovenian/cp1250.xdy311
-rw-r--r--Master/texmf/xindy/lang/slovenian/latin2-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/slovenian/latin2-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/slovenian/latin2.xdy311
-rw-r--r--Master/texmf/xindy/lang/slovenian/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/slovenian/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/slovenian/utf8.xdy375
-rw-r--r--Master/texmf/xindy/lang/spanish/modern-latin1-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/spanish/modern-latin1-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/spanish/modern-latin1.xdy333
-rw-r--r--Master/texmf/xindy/lang/spanish/modern-utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/spanish/modern-utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/spanish/modern-utf8.xdy333
-rw-r--r--Master/texmf/xindy/lang/spanish/traditional-latin1-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/spanish/traditional-latin1-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/spanish/traditional-latin1.xdy359
-rw-r--r--Master/texmf/xindy/lang/spanish/traditional-utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/spanish/traditional-utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/spanish/traditional-utf8.xdy359
-rw-r--r--Master/texmf/xindy/lang/swedish/cp1252-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/swedish/cp1252-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/swedish/cp1252.xdy498
-rw-r--r--Master/texmf/xindy/lang/swedish/latin9-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/swedish/latin9-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/swedish/latin9.xdy498
-rw-r--r--Master/texmf/xindy/lang/swedish/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/swedish/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/swedish/utf8.xdy546
-rw-r--r--Master/texmf/xindy/lang/turkish/latin3-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/turkish/latin3-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/turkish/latin3.xdy338
-rw-r--r--Master/texmf/xindy/lang/turkish/latin5-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/turkish/latin5-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/turkish/latin5.xdy338
-rw-r--r--Master/texmf/xindy/lang/turkish/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/turkish/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/turkish/utf8.xdy338
-rw-r--r--Master/texmf/xindy/lang/ukrainian/cp1251-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/ukrainian/cp1251-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/ukrainian/cp1251.xdy366
-rw-r--r--Master/texmf/xindy/lang/ukrainian/koi8-u-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/ukrainian/koi8-u-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/ukrainian/koi8-u.xdy366
-rw-r--r--Master/texmf/xindy/lang/ukrainian/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/ukrainian/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/ukrainian/utf8.xdy366
-rw-r--r--Master/texmf/xindy/lang/upper-sorbian/cp1250-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/upper-sorbian/cp1250-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/upper-sorbian/cp1250.xdy379
-rw-r--r--Master/texmf/xindy/lang/upper-sorbian/latin2-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/upper-sorbian/latin2-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/upper-sorbian/latin2.xdy379
-rw-r--r--Master/texmf/xindy/lang/upper-sorbian/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/upper-sorbian/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/upper-sorbian/utf8.xdy379
-rw-r--r--Master/texmf/xindy/lang/vietnamese/utf8-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/vietnamese/utf8-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/vietnamese/utf8.xdy811
-rw-r--r--Master/texmf/xindy/ord/letorder.xdy8
-rw-r--r--Master/texmf/xindy/rules/isolatin1-exchange.xdy88
-rw-r--r--Master/texmf/xindy/rules/isolatin1-tolower.xdy52
-rw-r--r--Master/texmf/xindy/rules/latin-exchange.xdy64
-rw-r--r--Master/texmf/xindy/rules/latin-tolower.xdy37
-rw-r--r--Master/texmf/xindy/styles/basic.xdy36
-rw-r--r--Master/texmf/xindy/styles/example.xdy101
-rw-r--r--Master/texmf/xindy/styles/makeidx.xdy148
-rw-r--r--Master/texmf/xindy/styles/makeindex.xdy89
-rw-r--r--Master/texmf/xindy/styles/vermeer.xdy89
-rw-r--r--Master/texmf/xindy/tex/inputenc/cp1250.xdy128
-rw-r--r--Master/texmf/xindy/tex/inputenc/cp1251.xdy132
-rw-r--r--Master/texmf/xindy/tex/inputenc/cp1252.xdy128
-rw-r--r--Master/texmf/xindy/tex/inputenc/cp437.xdy82
-rw-r--r--Master/texmf/xindy/tex/inputenc/cp850.xdy104
-rw-r--r--Master/texmf/xindy/tex/inputenc/cp855.xdy105
-rw-r--r--Master/texmf/xindy/tex/inputenc/cp866.xdy85
-rw-r--r--Master/texmf/xindy/tex/inputenc/iso88595.xdy101
-rw-r--r--Master/texmf/xindy/tex/inputenc/isoir111.xdy101
-rw-r--r--Master/texmf/xindy/tex/inputenc/koi8-r.xdy83
-rw-r--r--Master/texmf/xindy/tex/inputenc/koi8-u.xdy79
-rw-r--r--Master/texmf/xindy/tex/inputenc/latin.xdy178
-rw-r--r--Master/texmf/xindy/tex/inputenc/latin1.xdy101
-rw-r--r--Master/texmf/xindy/tex/inputenc/latin2.xdy101
-rw-r--r--Master/texmf/xindy/tex/inputenc/latin3.xdy94
463 files changed, 69453 insertions, 0 deletions
diff --git a/Master/texmf/doc/man/man1/tex2xindy.1 b/Master/texmf/doc/man/man1/tex2xindy.1
new file mode 100644
index 00000000000..cded2ca3105
--- /dev/null
+++ b/Master/texmf/doc/man/man1/tex2xindy.1
@@ -0,0 +1,206 @@
+.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.\"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "TEX2XINDY 1"
+.TH TEX2XINDY 1 "2006-07-30" "Version 1.21" "xindy"
+.SH "NAME"
+tex2xindy \- a preprocessor of the xindy index processor
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+.Vb 1
+\& tex2xindy [\-o] [attr_file]
+.Ve
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fBtex2xindy\fR transforms a LaTeX index file \f(CW\*(C`.idx\*(C'\fR (or an \f(CW\*(C`.aux\*(C'\fR
+file) into a \fBxindy\fR raw index file.
+.PP
+It is a filter that reads from \fIstdin\fR a file in the input format of
+LaTeX's raw index file, i.e., with \f(CW\*(C`\eindexentry\*(C'\fR tags. It outputs on
+\&\fIstdout\fR a \fBxindy\fR raw index file, i.e., with \f(CW\*(C`indexentry\*(C'\fR clauses.
+.PP
+If the option \fB\-o\fR is not specified, \fBtex2xindy\fR handles ^^\-notation
+of TeX and outputs the octet that is represented: \f(CW\*(C`^^ab\*(C'\fR in the input
+gets output as the octet 0xab. If \f(CW\*(C`^^^^abcd\*(C'\fR or \f(CW\*(C`^^^^^^^^abcdefab\*(C'\fR
+are detected, they are output as is.
+.PP
+If the option \fB\-o\fR is specified, \fBtex2xindy\fR operates in \fIOmega
+mode\fR and handles its ^^\-notation: Then \f(CW\*(C`^^ab\*(C'\fR, \f(CW\*(C`^^^^abcd\*(C'\fR, and
+\&\f(CW\*(C`^^^^^^^^abcdefab\*(C'\fR represent Unicode characters with code points
+0xab, 0xabcd, and 0xabcdefab respectively. They are output in \s-1UTF\-8\s0
+encoding.
+.PP
+If the optional argument \fIattr_file\fR is specified, \fBtex2xindy\fR
+writes all index key attributes into this file.
+.SH "DEFICITS"
+.IX Header "DEFICITS"
+This program was written since it was not easily possible to extract
+the parser from the old makeindex system. Therefore it does not find
+all errors in the input as the \fImakeindex\fR\|(1) version.
+.PP
+Additionally it uses only the default input specifiers of
+\&\fImakeindex\fR\|(1). If other input specifiers (cf. manual page of
+\&\fImakeindex\fR\|(1)) are needed, the input specifiers (starting from the
+pattern \f(CW\*(C`KEYWORD\*(C'\fR, see below) must be changed and the program must be
+recompiled.
+.PP
+The particular missing feature is configuration of the quote and the
+actual characters, maybe also the escape, subitem (level), and encap
+characters. Argument and range delimiters seem to be less of a problem.
+.PP
+In fact, input markup handling (and thus \fBtex2xindy\fR) should be
+incorporated into the \fBxindy\fR kernel, to be able to specify
+configuration in xindy style files.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fItexindy\fR\|(1),
+\&\fIxindy\fR\|(1),
+\&\fImakeindex\fR\|(1)
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+Roger Kehr, Institut fuer Theoretische Informatik, \s-1TU\s0 Darmstadt
+.SH "COPYRIGHT AND LICENSE"
+.IX Header "COPYRIGHT AND LICENSE"
+Copyright (c) 1996,1997 Roger Kehr.
+Copyright (c) 2006 Joachim Schrod.
+.PP
+This program is free software; you can redistribute it and/or modify
+it under the terms of the \s-1GNU\s0 General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+.PP
+This program is distributed in the hope that it will be useful, but
+\&\s-1WITHOUT\s0 \s-1ANY\s0 \s-1WARRANTY\s0; without even the implied warranty of
+\&\s-1MERCHANTABILITY\s0 or \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0. See the \s-1GNU\s0
+General Public License for more details.
+.PP
+You should have received a copy of the \s-1GNU\s0 General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, \s-1MA\s0 02139, \s-1USA\s0.
diff --git a/Master/texmf/doc/man/man1/texindy.1 b/Master/texmf/doc/man/man1/texindy.1
new file mode 100644
index 00000000000..33fbdaef2c8
--- /dev/null
+++ b/Master/texmf/doc/man/man1/texindy.1
@@ -0,0 +1,406 @@
+.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.\"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "TEXINDY 1"
+.TH TEXINDY 1 "2006-07-30" "Version 1.5" "xindy"
+.SH "NAME"
+texindy \- create sorted and tagged index from raw LaTeX index
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+.Vb 2
+\& texindy [\-V?h] [\-qv] [\-iglr] [\-d magic] [\-o outfile.ind] [\-t log] \e
+\& [\-L lang] [\-C codepage] [\-M module] [idx0 idx1 ...]
+.Ve
+.Sh "GNU-Style Long Options for Short Options:"
+.IX Subsection "GNU-Style Long Options for Short Options:"
+.Vb 15
+\& \-V / \-\-version
+\& \-? / \-h / \-\-help
+\& \-q / \-\-quiet
+\& \-v / \-\-verbose
+\& \-i / \-\-stdin
+\& \-g / \-\-german
+\& \-l / \-\-letter\-ordering
+\& \-r / \-\-no\-ranges
+\& \-d / \-\-debug (multiple times)
+\& \-o / \-\-out\-file
+\& \-t / \-\-log\-file
+\& \-L / \-\-language
+\& \-C / \-\-codepage
+\& \-M / \-\-module (multiple times)
+\& \-I / \-\-input\-markup (supported: latex, omega)
+.Ve
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fBtexindy\fR is the LaTeX-specific command of xindy, the flexible
+indexing system. It takes a raw index as input, and produces a merged,
+sorted and tagged index. Merging, sorting, and tagging is controlled
+by xindy modules, with a convenient set already preloaded.
+.PP
+Files with the raw index are passed as arguments. If no arguments are
+passed, the raw index will be read from standard input.
+.PP
+A good introductionary description of \fBtexindy\fR appears in the
+indexing chapter of the LaTeX Companion (2nd ed.)
+.PP
+If you want to produce an index for LaTeX documents with special index
+markup, the command \fIxindy\fR\|(1) is probably more of interest for you.
+.PP
+\&\fBtexindy\fR is an approach to merge support for the \fImake-rules\fR
+framework, own xindy modules (e.g., for special LaTeX commands in the
+index), and a reasonable level of MakeIndex compatibility. There are
+other older approaches, eventually they will get a description on the
+xindy Web Site, http://www.xindy.org/.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.ie n .IP """\-\-version""\fR / \fB\-V" 4
+.el .IP "\f(CW\-\-version\fR / \fB\-V\fR" 4
+.IX Item "--version / -V"
+output version numbers of all relevant components and exit.
+.ie n .IP """\-\-help""\fR / \fB\-h\fR / \fB\-?" 4
+.el .IP "\f(CW\-\-help\fR / \fB\-h\fR / \fB\-?\fR" 4
+.IX Item "--help / -h / -?"
+output usage message with options explanation.
+.ie n .IP """\-\-quiet""\fR / \fB\-q" 4
+.el .IP "\f(CW\-\-quiet\fR / \fB\-q\fR" 4
+.IX Item "--quiet / -q"
+Don't output progress messages. Output only error messages.
+.ie n .IP """\-\-version""\fR / \fB\-v" 4
+.el .IP "\f(CW\-\-version\fR / \fB\-v\fR" 4
+.IX Item "--version / -v"
+Output verbose progress messages.
+.ie n .IP """\-\-debug""\fR \fImagic\fR / \fB\-d\fR \fImagic" 4
+.el .IP "\f(CW\-\-debug\fR \fImagic\fR / \fB\-d\fR \fImagic\fR" 4
+.IX Item "--debug magic / -d magic"
+Output debug messages, this option may be specified multiple times.
+\&\fImagic\fR determines what is output:
+.Sp
+.Vb 6
+\& magic remark
+\& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
+\& script internal progress messages of driver scripts
+\& keep_tmpfiles don\(aqt discard temporary files
+\& markup output markup trace, as explained in xindy manual
+\& level=n log level, n is 0 (default), 1, 2, or 3
+.Ve
+.ie n .IP """\-\-out\-file""\fR \fIoutfile.ind\fR / \fB\-o\fR \fIoutfile.ind" 4
+.el .IP "\f(CW\-\-out\-file\fR \fIoutfile.ind\fR / \fB\-o\fR \fIoutfile.ind\fR" 4
+.IX Item "--out-file outfile.ind / -o outfile.ind"
+Output index to file \fIoutfile.ind\fR. If this option is not passed, the
+name of the output file is the base name of the first argument and the
+file extension \fIind\fR. If the raw index is read from standard input,
+this option is mandatory.
+.ie n .IP """\-\-log\-file""\fR \fIlog.ilg\fR / \fB\-t\fR \fIlog.ilg" 4
+.el .IP "\f(CW\-\-log\-file\fR \fIlog.ilg\fR / \fB\-t\fR \fIlog.ilg\fR" 4
+.IX Item "--log-file log.ilg / -t log.ilg"
+Output log messages to file \fIlog.ilg\fR. These log messages are
+independent from the progress messages that you can influence with
+\&\f(CW\*(C`\-\-debug\*(C'\fR or \f(CW\*(C`\-\-verbose\*(C'\fR.
+.ie n .IP """\-\-language""\fR \fIlang\fR / \fB\-L\fR \fIlang" 4
+.el .IP "\f(CW\-\-language\fR \fIlang\fR / \fB\-L\fR \fIlang\fR" 4
+.IX Item "--language lang / -L lang"
+The index is sorted according to the rules of language \fIlang\fR. These
+rules are encoded in a xindy module created by \fImake-rules\fR.
+.Sp
+If no input encoding is specified via \f(CW\*(C`\-\-codepage\*(C'\fR, a xindy module
+for that language is searched with a latin, a cp, an iso, or ascii
+encoding, in that order.
+.ie n .IP """\-\-codepage""\fR \fIenc\fR / B <\-C> \fIenc" 4
+.el .IP "\f(CW\-\-codepage\fR \fIenc\fR / B <\-C> \fIenc\fR" 4
+.IX Item "--codepage enc / B <-C> enc"
+The raw input is in input encoding \fIenc\fR. This information is used to
+select the correct xindy sort module and also the \fIinputenc\fR target
+encoding for \f(CW\*(C`latex\*(C'\fR input markup.
+.Sp
+When \f(CW\*(C`omega\*(C'\fR input markup is used, \f(CW\*(C`utf8\*(C'\fR is always used as the sort
+codepage and no inputenc module is loaded. Then this option is
+ignored.
+.ie n .IP """\-\-module""\fR \fImodule\fR / \fB\-M\fR \fImodule" 4
+.el .IP "\f(CW\-\-module\fR \fImodule\fR / \fB\-M\fR \fImodule\fR" 4
+.IX Item "--module module / -M module"
+Load the xindy module \fImodule.xdy\fR. This option may be specified
+multiple times. The modules are searched in the xindy search path that
+can be changed with the environment variable \f(CW\*(C`XINDY_SEARCHPATH\*(C'\fR.
+.ie n .IP """\-\-input\-markup""\fR \fIinput\fR / \fB\-I\fR \fIinput" 4
+.el .IP "\f(CW\-\-input\-markup\fR \fIinput\fR / \fB\-I\fR \fIinput\fR" 4
+.IX Item "--input-markup input / -I input"
+Specifies the input markup of the raw index. Supported values for
+\&\fIinput\fR are \f(CW\*(C`latex\*(C'\fR and \f(CW\*(C`omega\*(C'\fR.
+.Sp
+\&\f(CW\*(C`latex\*(C'\fR input markup is the one that is emitted by default from the
+LaTeX kernel, or by the \f(CW\*(C`index\*(C'\fR macro package of David Jones.
+^^\-notation of single byte characters is supported. Usage of LaTeX's
+\&\fIinputenc\fR package is assumed as well.
+.Sp
+\&\f(CW\*(C`omega\*(C'\fR input markup is like \f(CW\*(C`latex\*(C'\fR input markup, but with Omega's
+^^\-notation as encoding for non-ASCII characters. LaTeX \fIinputenc\fR
+encoding is not used then, and \f(CW\*(C`utf8\*(C'\fR is enforced to be the codepage
+for sorting.
+.SH "SUPPORTED LANGUAGES / CODEPAGES"
+.IX Header "SUPPORTED LANGUAGES / CODEPAGES"
+The following languages are supported:
+.Sh "Latin scripts"
+.IX Subsection "Latin scripts"
+.Vb 13
+\& albanian gypsy portuguese
+\& croatian hausa romanian
+\& czech hungarian russian\-iso
+\& danish icelandic slovak\-small
+\& english italian slovak\-large
+\& esperanto kurdish\-bedirxan slovenian
+\& estonian kurdish\-turkish spanish\-modern
+\& finnish latin spanish\-traditional
+\& french latvian swedish
+\& general lithuanian turkish
+\& german\-din lower\-sorbian upper\-sorbian
+\& german\-duden norwegian vietnamese
+\& greek\-iso polish
+.Ve
+.PP
+German recognizes two different sorting schemes to handle umlauts:
+normally, \f(CW\*(C`\*(C'\fR is sorted like \f(CW\*(C`ae\*(C'\fR, but in phone books or
+dictionaries, it is sorted like \f(CW\*(C`a\*(C'\fR. The first scheme is known as
+\&\fI\s-1DIN\s0 order\fR, the second as \fIDuden order\fR.
+.PP
+\&\f(CW\*(C`*\-iso\*(C'\fR language names assume that the raw index entries are in \s-1ISO\s0
+8859\-9 encoding.
+.PP
+\&\f(CW\*(C`gypsy\*(C'\fR is a northern Russian dialect.
+.Sh "Cyrillic scripts"
+.IX Subsection "Cyrillic scripts"
+.Vb 3
+\& belarusian mongolian serbian
+\& bulgarian russian ukrainian
+\& macedonian
+.Ve
+.Sh "Other scripts"
+.IX Subsection "Other scripts"
+.Vb 1
+\& greek klingon
+.Ve
+.Sh "Available Codepages"
+.IX Subsection "Available Codepages"
+This is not yet written. You can look them up in your xindy
+distribution, in the \fImodules/lang/language/\fR directory (where
+\&\fIlanguage\fR is your language). They are named
+\&\fIvariant\-codepage\-lang.xdy\fR, where \fIvariant\-\fR is most often empty
+(for german, it's \f(CW\*(C`din5007\*(C'\fR and \f(CW\*(C`duden\*(C'\fR; for spanish, it's \f(CW\*(C`modern\*(C'\fR
+and \f(CW\*(C`traditional\*(C'\fR, etc.)
+.PP
+.Vb 1
+\& < Describe available codepages for each language >
+.Ve
+.PP
+.Vb 2
+\& < Describe relevance of codepages (as internal representation) for
+\& LaTeX inputenc >
+.Ve
+.SH "TEXINDY STANDARD MODULES"
+.IX Header "TEXINDY STANDARD MODULES"
+There is a set of \fBtexindy\fR standard modules that help to process
+LaTeX index files. Some of them are automatically loaded. Some of them
+are loaded by default, this can be turned off with a \fBtexindy\fR
+option. Others may be specified as \f(CW\*(C`\-\-module\*(C'\fR argument to achieve a
+specific effect.
+.PP
+.Vb 1
+\& xindy Module Category Description
+.Ve
+.Sh "Sorting"
+.IX Subsection "Sorting"
+.Vb 15
+\& word\-order Default A space comes before any letter in the
+\& alphabet: ``index style\(aq\(aq is listed before
+\& ``indexing\(aq\(aq. Turn it off with option \-l.
+\& letter\-order Add\-on Spaces are ignored: ``index style\(aq\(aq
+\& is sorted after ``indexing\(aq\(aq.
+\& keep\-blanks Add\-on Leading and trailing white space (blanks
+\& and tabs) are not ignored; intermediate
+\& white space is not changed.
+\& ignore\-hyphen Add\-on Hyphens are ignored:
+\& ``ad\-hoc\(aq\(aq is sorted as ``adhoc\(aq\(aq.
+\& ignore\-punctuation Add\-on All kinds of punctuation characters are
+\& ignored: hyphens, periods, commas, slashes,
+\& parentheses, and so on.
+\& numeric\-sort Auto Numbers are sorted numerically, not like
+\& characters: ``V64\(aq\(aq appears before ``V128\(aq\(aq.
+.Ve
+.Sh "Page Numbers"
+.IX Subsection "Page Numbers"
+.Vb 10
+\& page\-ranges Default Appearances on more than two consecutive
+\& pages are listed as a range: ``1\-\-4\(aq\(aq.
+\& Turn it off with option \-r.
+\& ff\-ranges Add\-on Uses implicit ``ff\(aq\(aq notation for ranges
+\& of three pages, and explicit ranges
+\& thereafter: 2f, 2ff, 2\-\-6.
+\& ff\-ranges\-only Add\-on Uses only implicit ranges: 2f, 2ff.
+\& book\-order Add\-on Sorts page numbers with common book numbering
+\& scheme correctly \-\- Roman numerals first, then
+\& Arabic numbers, then others: i, 1, A.
+.Ve
+.Sh "Markup and Layout"
+.IX Subsection "Markup and Layout"
+.Vb 13
+\& tex Auto Handles basic TeX conventions.
+\& latex\-loc\-fmts Auto Provides LaTeX formatting commands
+\& for page number encapsulation.
+\& latex Auto Handles LaTeX conventions, both in raw
+\& index entries and output markup; implies
+\& tex.
+\& makeindex Auto Emulates the default MakeIndex input syntax
+\& and quoting behavior.
+\& latin\-lettergroups Auto Layout contains a single Latin letter
+\& above each group of words starting with the
+\& same letter.
+\& german\-sty Add\-on Handles umlaut markup of babel\(aqs german
+\& and ngerman options.
+.Ve
+.SH "ENVIRONMENT"
+.IX Header "ENVIRONMENT"
+.ie n .IP """TEXINDY_AUTO_MODULE""" 4
+.el .IP "\f(CWTEXINDY_AUTO_MODULE\fR" 4
+.IX Item "TEXINDY_AUTO_MODULE"
+This is the name of the xindy module that loads all auto-loaded
+modules. The default is \f(CW\*(C`texindy\*(C'\fR.
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+Joachim Schrod
+.SH "LEGALESE"
+.IX Header "LEGALESE"
+\&\fBtexindy\fR is free software; you can redistribute it and/or modify it
+under the terms of the \s-1GNU\s0 General Public License as published by the
+Free Software Foundation; either version 2 of the License, or (at your
+option) any later version.
+.PP
+This program is distributed in the hope that it will be useful,
+but \s-1WITHOUT\s0 \s-1ANY\s0 \s-1WARRANTY\s0; without even the implied warranty of
+\&\s-1MERCHANTABILITY\s0 or \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0. See the
+\&\s-1GNU\s0 General Public License for more details.
diff --git a/Master/texmf/doc/man/man1/xindy.1 b/Master/texmf/doc/man/man1/xindy.1
new file mode 100644
index 00000000000..aa25998d641
--- /dev/null
+++ b/Master/texmf/doc/man/man1/xindy.1
@@ -0,0 +1,380 @@
+.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.\"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "XINDY 1"
+.TH XINDY 1 "2006-07-30" "Version 1.8" "xindy"
+.SH "NAME"
+xindy \- create sorted and tagged index from raw index
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+.Vb 4
+\& xindy [\-V?h] [\-qv] [\-d magic] [\-o outfile.ind] [\-t log] \e
+\& [\-L lang] [\-C codepage] [\-M module] [\-I input] \e
+\& [\-\-interactive] [\-\-mem\-file=xindy.mem] \e
+\& [idx0 idx1 ...]
+.Ve
+.Sh "GNU-Style Long Options for Short Options:"
+.IX Subsection "GNU-Style Long Options for Short Options:"
+.Vb 11
+\& \-V / \-\-version
+\& \-? / \-h / \-\-help
+\& \-q / \-\-quiet
+\& \-v / \-\-verbose
+\& \-d / \-\-debug (multiple times)
+\& \-o / \-\-out\-file
+\& \-t / \-\-log\-file
+\& \-L / \-\-language
+\& \-C / \-\-codepage
+\& \-M / \-\-module (multiple times)
+\& \-I / \-\-input\-markup (supported: latex, omega, xindy)
+.Ve
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fBxindy\fR is the formatter-indepedent command of xindy, the flexible
+indexing system. It takes a raw index as input, and produces a merged,
+sorted and tagged index. Merging, sorting, and tagging is controlled
+by xindy style files.
+.PP
+Files with the raw index are passed as arguments. If no arguments are
+passed, the raw index will be read from standard input.
+.PP
+\&\fBxindy\fR is completely described in its manual that you will find on
+its Web Site, http://www.xindy.org/. A good introductionary
+description appears in the indexing chapter of the LaTeX Companion (2nd ed.)
+.PP
+If you want to produce an index for LaTeX documents, the command
+\&\fItexindy\fR\|(1) is probably more of interest for you. It is a wrapper for
+\&\fBxindy\fR that turns on many LaTeX conventions by default.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.ie n .IP """\-\-version""\fR / \fB\-V" 4
+.el .IP "\f(CW\-\-version\fR / \fB\-V\fR" 4
+.IX Item "--version / -V"
+output version numbers of all relevant components and exit.
+.ie n .IP """\-\-help""\fR / \fB\-h\fR / \fB\-?" 4
+.el .IP "\f(CW\-\-help\fR / \fB\-h\fR / \fB\-?\fR" 4
+.IX Item "--help / -h / -?"
+output usage message with options explanation.
+.ie n .IP """\-\-quiet""\fR / \fB\-q" 4
+.el .IP "\f(CW\-\-quiet\fR / \fB\-q\fR" 4
+.IX Item "--quiet / -q"
+Don't output progress messages. Output only error messages.
+.ie n .IP """\-\-version""\fR / \fB\-v" 4
+.el .IP "\f(CW\-\-version\fR / \fB\-v\fR" 4
+.IX Item "--version / -v"
+Output verbose progress messages.
+.ie n .IP """\-\-debug""\fR \fImagic\fR / \fB\-d\fR \fImagic" 4
+.el .IP "\f(CW\-\-debug\fR \fImagic\fR / \fB\-d\fR \fImagic\fR" 4
+.IX Item "--debug magic / -d magic"
+Output debug messages, this option may be specified multiple times.
+\&\fImagic\fR determines what is output:
+.Sp
+.Vb 6
+\& magic remark
+\& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
+\& script internal progress messages of driver scripts
+\& keep_tmpfiles don\(aqt discard temporary files
+\& markup output markup trace, as explained in xindy manual
+\& level=n log level, n is 0 (default), 1, 2, or 3
+.Ve
+.ie n .IP """\-\-out\-file""\fR \fIoutfile.ind\fR / \fB\-o\fR \fIoutfile.ind" 4
+.el .IP "\f(CW\-\-out\-file\fR \fIoutfile.ind\fR / \fB\-o\fR \fIoutfile.ind\fR" 4
+.IX Item "--out-file outfile.ind / -o outfile.ind"
+Output index to file \fIoutfile.ind\fR. If this option is not passed, the
+name of the output file is the base name of the first argument and the
+file extension \fIind\fR. If the raw index is read from standard input,
+this option is mandatory.
+.ie n .IP """\-\-log\-file""\fR \fIlog.ilg\fR / \fB\-t\fR \fIlog.ilg" 4
+.el .IP "\f(CW\-\-log\-file\fR \fIlog.ilg\fR / \fB\-t\fR \fIlog.ilg\fR" 4
+.IX Item "--log-file log.ilg / -t log.ilg"
+Output log messages to file \fIlog.ilg\fR. These log messages are
+independent from the progress messages that you can influence with
+\&\f(CW\*(C`\-\-debug\*(C'\fR or \f(CW\*(C`\-\-verbose\*(C'\fR.
+.ie n .IP """\-\-language""\fR \fIlang\fR / \fB\-L\fR \fIlang" 4
+.el .IP "\f(CW\-\-language\fR \fIlang\fR / \fB\-L\fR \fIlang\fR" 4
+.IX Item "--language lang / -L lang"
+The index is sorted according to the rules of language \fIlang\fR. These
+rules are encoded in a xindy module created by \fImake-rules\fR.
+.Sp
+If no input encoding is specified via \f(CW\*(C`\-\-codepage\*(C'\fR, a xindy module
+for that language is searched with a latin, a cp, an iso, or ascii
+encoding, in that order.
+.ie n .IP """\-\-codepage""\fR \fIenc\fR / \fB\-C\fR \fIenc" 4
+.el .IP "\f(CW\-\-codepage\fR \fIenc\fR / \fB\-C\fR \fIenc\fR" 4
+.IX Item "--codepage enc / -C enc"
+The raw input is in input encoding \fIenc\fR. This information is used to
+select the correct xindy sort module and also the \fIinputenc\fR target
+encoding for \f(CW\*(C`latex\*(C'\fR input markup.
+.Sp
+When \f(CW\*(C`omega\*(C'\fR input markup is used, \f(CW\*(C`utf8\*(C'\fR is always used as
+codepage, this option is then ignored.
+.ie n .IP """\-\-module""\fR \fImodule\fR / \fB\-M\fR \fImodule" 4
+.el .IP "\f(CW\-\-module\fR \fImodule\fR / \fB\-M\fR \fImodule\fR" 4
+.IX Item "--module module / -M module"
+Load the xindy module \fImodule.xdy\fR. This option may be specified
+multiple times. The modules are searched in the xindy search path that
+can be changed with the environment variable \f(CW\*(C`XINDY_SEARCHPATH\*(C'\fR.
+.ie n .IP """\-\-input\-markup""\fR \fIinput\fR / \fB\-I\fR \fIinput" 4
+.el .IP "\f(CW\-\-input\-markup\fR \fIinput\fR / \fB\-I\fR \fIinput\fR" 4
+.IX Item "--input-markup input / -I input"
+Specifies the input markup of the raw index. Supported values for
+\&\fIinput\fR are \f(CW\*(C`latex\*(C'\fR, \f(CW\*(C`omega\*(C'\fR, and \f(CW\*(C`xindy\*(C'\fR.
+.Sp
+\&\f(CW\*(C`latex\*(C'\fR input markup is the one that is emitted by default from the
+LaTeX kernel, or by the \f(CW\*(C`index\*(C'\fR macro package of David Jones.
+^^\-notation of single byte characters is supported. Usage of LaTeX's
+\&\fIinputenc\fR package is assumed as well.
+.Sp
+\&\f(CW\*(C`omega\*(C'\fR input markup is like \f(CW\*(C`latex\*(C'\fR input markup, but with Omega's
+^^\-notation as encoding for non-ASCII characters. LaTeX \fIinputenc\fR
+encoding is not used then, and \f(CW\*(C`utf8\*(C'\fR is enforced to be the codepage.
+.Sp
+\&\f(CW\*(C`xindy\*(C'\fR input markup is specified in the xindy manual.
+.ie n .IP """\-\-interactive""" 4
+.el .IP "\f(CW\-\-interactive\fR" 4
+.IX Item "--interactive"
+Start xindy in interactive mode. You will be in a xindy read-eval-loop
+where xindy language expressions are read and evaluated interactively.
+.ie n .IP """\-\-mem\-file""\fR \fIxindy.mem" 4
+.el .IP "\f(CW\-\-mem\-file\fR \fIxindy.mem\fR" 4
+.IX Item "--mem-file xindy.mem"
+This option is only usable for developers or in very rare situations.
+The compiled xindy kernel is stored in a so-called \fImemory file\fR,
+canonically named \fIxindy.mem\fR, and located in the xindy library
+directory. This option allows to use another xindy kernel.
+.SH "SUPPORTED LANGUAGES / CODEPAGES"
+.IX Header "SUPPORTED LANGUAGES / CODEPAGES"
+The following languages are supported:
+.Sh "Latin scripts"
+.IX Subsection "Latin scripts"
+.Vb 13
+\& albanian gypsy portuguese
+\& croatian hausa romanian
+\& czech hungarian russian\-iso
+\& danish icelandic slovak\-small
+\& english italian slovak\-large
+\& esperanto kurdish\-bedirxan slovenian
+\& estonian kurdish\-turkish spanish\-modern
+\& finnish latin spanish\-traditional
+\& french latvian swedish
+\& general lithuanian turkish
+\& german\-din lower\-sorbian upper\-sorbian
+\& german\-duden norwegian vietnamese
+\& greek\-iso polish
+.Ve
+.PP
+German recognizes two different sorting schemes to handle umlauts:
+normally, \f(CW\*(C`\*(C'\fR is sorted like \f(CW\*(C`ae\*(C'\fR, but in phone books or
+dictionaries, it is sorted like \f(CW\*(C`a\*(C'\fR. The first scheme is known as
+\&\fI\s-1DIN\s0 order\fR, the second as \fIDuden order\fR.
+.PP
+\&\f(CW\*(C`*\-iso\*(C'\fR language names assume that the raw index entries are in \s-1ISO\s0
+8859\-9 encoding.
+.PP
+\&\f(CW\*(C`gypsy\*(C'\fR is a northern Russian dialect.
+.Sh "Cyrillic scripts"
+.IX Subsection "Cyrillic scripts"
+.Vb 3
+\& belarusian mongolian serbian
+\& bulgarian russian ukrainian
+\& macedonian
+.Ve
+.Sh "Other scripts"
+.IX Subsection "Other scripts"
+.Vb 1
+\& greek klingon
+.Ve
+.Sh "Available Codepages"
+.IX Subsection "Available Codepages"
+This is not yet written. You can look them up in your xindy
+distribution, in the \fImodules/lang/language/\fR directory (where
+\&\fIlanguage\fR is your language). They are named
+\&\fIvariant\-codepage\-lang.xdy\fR, where \fIvariant\-\fR is most often empty
+(for german, it's \f(CW\*(C`din5007\*(C'\fR and \f(CW\*(C`duden\*(C'\fR; for spanish, it's \f(CW\*(C`modern\*(C'\fR
+and \f(CW\*(C`traditional\*(C'\fR, etc.)
+.PP
+.Vb 1
+\& < Describe available codepages for each language >
+.Ve
+.PP
+.Vb 2
+\& < Describe relevance of codepages (as internal representation) for
+\& LaTeX inputenc >
+.Ve
+.SH "ENVIRONMENT"
+.IX Header "ENVIRONMENT"
+.ie n .IP """XINDY_SEARCHPATH""" 4
+.el .IP "\f(CWXINDY_SEARCHPATH\fR" 4
+.IX Item "XINDY_SEARCHPATH"
+A list of directories where the xindy modules are searched in. No
+subtree searching is done (as in TDS-conformant TeX).
+.Sp
+If this environment variable is not set, the default is used:
+\&\f(CW\*(C`.:\*(C'\fR\fImodules_dir\fR\f(CW\*(C`:\*(C'\fR\fImodules_dir\fR\f(CW\*(C`/base\*(C'\fR. \fImodules_dir\fR is
+determined at run time, relative to the \fBxindy\fR command location:
+Either it's \fI../modules\fR, that's the case for \fIopt\fR\-installations.
+Or it's \fI../lib/xindy/modules\fR, that's the case for
+\&\fIusr\fR\-installations.
+.ie n .IP """XINDY_LIBDIR""" 4
+.el .IP "\f(CWXINDY_LIBDIR\fR" 4
+.IX Item "XINDY_LIBDIR"
+Library directory where \fIxindy.run\fR and \fIxindy.mem\fR are located.
+.Sp
+The modules directory may be a subdirectory, too.
+.SH "KNOWN BUGS"
+.IX Header "KNOWN BUGS"
+Option \fB\-q\fR also prevents output of error messages. Error messages
+should be output on stderr, progress messages on stdout.
+.PP
+There should be a way to output the final index to stdout. This would
+imply \fB\-q\fR, of course.
+.PP
+Codepage \f(CW\*(C`utf8\*(C'\fR should be supported for all languages, and should be
+used as internal codepage for LaTeX inputenc re\-encoding.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fItexindy\fR\|(1),
+\&\fItex2xindy\fR\|(1)
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+Joachim Schrod
+.SH "LEGALESE"
+.IX Header "LEGALESE"
+Copyright (c) 2004\-2006 by Joachim Schrod.
+.PP
+\&\fBxindy\fR is free software; you can redistribute it and/or modify it
+under the terms of the \s-1GNU\s0 General Public License as published by the
+Free Software Foundation; either version 2 of the License, or (at your
+option) any later version.
+.PP
+This program is distributed in the hope that it will be useful,
+but \s-1WITHOUT\s0 \s-1ANY\s0 \s-1WARRANTY\s0; without even the implied warranty of
+\&\s-1MERCHANTABILITY\s0 or \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0. See the
+\&\s-1GNU\s0 General Public License for more details.
diff --git a/Master/texmf/doc/xindy/NEWS b/Master/texmf/doc/xindy/NEWS
new file mode 100644
index 00000000000..7de83008e91
--- /dev/null
+++ b/Master/texmf/doc/xindy/NEWS
@@ -0,0 +1,25 @@
+# $Id: NEWS,v 1.2 2008/01/09 15:14:20 jschrod Exp $
+#------------------------------------------------------------
+
+XINDY RELEASE NOTES
+===================
+
+Version Date Remarks
+
+2.3 2008-01-09 `Gour and Jrg Waited Too Long For It Release'.
+ Source distribution with canonical install procedure.
+ Includes UTF-8 and Omega support.
+ Bug fixes in base modules and *.idx parsing.
+
+2.2 rc2 2005-05-10 2nd release candidate for `LaTeX Companion Release'.
+ Resolved issues:
+ -- Linux release works on glibc 2.3
+ -- Two double quotes in index key are supported
+ -- Options are checked carefully and errors are reported
+ -- Structured version numbers
+ -- Style file tutorial commands work
+
+2.2 rc1 2004-05-28 First release candidate for `LaTeX Companion Release'.
+ New command interface, new distribution strategy
+ (ready-to-run), consolidated distribution of run time
+ engine, kernel, and language modules.
diff --git a/Master/texmf/doc/xindy/README b/Master/texmf/doc/xindy/README
new file mode 100644
index 00000000000..90440f93683
--- /dev/null
+++ b/Master/texmf/doc/xindy/README
@@ -0,0 +1,14 @@
+$Id: README.distrib,v 1.3 2008/01/09 11:11:46 jschrod Exp $
+------------------------------------------------------------
+
+This directory contains documentation of `xindy'.
+
+Manual pages for the commands are created during installation and are
+placed in appropriate man directories.
+PDF versions of the manual pages have been added here for your convenience.
+
+The subdirectory ./style-tutorial/ contains the examples that are used
+in the xindy style tutorial.
+
+FAQ and style tutorial are out of date. (Updates are welcome, of course.)
+You find more documentation at the xindy Web Site, at http://www.xindy.org/.
diff --git a/Master/texmf/doc/xindy/README.distrib-source b/Master/texmf/doc/xindy/README.distrib-source
new file mode 100644
index 00000000000..6dd454e5273
--- /dev/null
+++ b/Master/texmf/doc/xindy/README.distrib-source
@@ -0,0 +1,127 @@
+$Id: README.distrib-source,v 1.1 2008/01/09 15:14:21 jschrod Exp $
+------------------------------------------------------------
+
+xindy (`fleXible INDexing sYstem') is a flexible index processor that
+creates tagged index for publication system. xindy merges, sorts, and
+outputs markup for raw index entries. It is highly configurable. It
+supports many languages.
+
+This is the source distribution of xindy release 2.3,
+aka the `Gour and Jrg Waited Too Long For It Release'.
+Release notes are available in the file NEWS, in this directory.
+
+It is available from Sourceforge, see http://www.xindy.org/ for more
+information. This Web Site also contains the most up-to-date
+information about xindy.
+
+
+INSTALLATION (Short Version)
+------------
+Unpack the distribution archive, a directory xindy-<version> will
+be created. Usual steps follow:
+
+ $ cd xindy-<version>
+ $ ./configure
+ $ make
+ $ make install
+
+You need to use GNU make; e.g., on FreeBSD or on Solaris, you need to
+install it and use the command gmake instead of make.
+
+By default, installation will be done in the /usr/local/ tree.
+You can change that with the configure option `--prefix'.
+
+The long version of the installation instructions are in the file
+INSTALL.
+
+Please note: The xindy modules directory location (currently,
+$prefix/lib/xindy/modules/) is bound to be changed in future
+distributions. This only matters if you install additional modules
+there, at future updates.
+
+
+UPDATE INSTALLATION
+-------------------
+There is no specific update installation procedure, sorry. You need to
+install xindy anew.
+
+If you had installed xindy 2.2 RC1 (the LaTeX Companion Release)
+and you had additional xindy module files installed in the system-wide
+directories, you need to move them manually to the new modules tree.
+That is located in $prefix/lib/xindy/modules/ ($prefix is /usr/local/
+by default).
+
+
+USAGE
+-----
+There are two main commands:
+ -- texindy, for creation of indexes for LaTeX documents
+ -- xindy, for generic index creation
+
+Manuals for these commands are installed in appropriate man
+directories and additionally supplied in PDF format, in the
+/doc/ subdirectory of the distribution, which gets installed as
+$prefix/share/doc/xindy-<version>/.
+
+This documentation directory has more documentation. Technical reports
+are on our Web Site, http://www.xindy.org/.
+
+
+KNOWN ISSUES
+------------
+Known problems and wanted enhancements of xindy are documented in our
+SourceForge tracker system, accessible on the Web at
+https://sourceforge.net/tracker/?group_id=10646
+
+
+FEEDBACK / MAILING LIST
+-----------------------
+Everybody is encouraged to port xindy to new platforms. For any kind
+of suggestions, helpful comments, questions, bug reports and such,
+please mail to the xindy mailing list
+
+ xindy-discuss@lists.sourceforge.net
+
+This is a low-volume mailing list; with a few emails per month.
+You can subscribe to the list by visiting
+
+ http://lists.sourceforge.net/lists/listinfo/xindy-discuss
+
+Mailing list archives are public and can be read at
+
+ http://sourceforge.net/mailarchive/forum.php?forum=xindy-discuss
+
+
+DISTRIBUTION CONTENT
+--------------------
+This distribution contains
+ -- xindy run-time environment (rte/)
+ -- xindy kernel (src/, tex2xindy/, user-commands/)
+ -- sort-rules for many languages (make-rules/)
+ -- base xindy styles, as described in the LaTeX Companion (modules/)
+
+
+LEGALESE
+--------
+This package is freely distributable software; you can redistribute it
+and/or modify it under the terms of the GNU General Public License
+(GPL) as published by the Free Software Foundation.
+
+This software is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License in
+the file COPYING along with this package; if not, write to the Free
+Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+The xindy run-time environment contains CLISP, which is released under
+GPL version 2 (only). Please refer to rte/clisp-<version>/COPYRIGHT
+for the specific statement.
+
+The xindy run-time environment contains a xindy-specific CLISP-plugin
+named ordrules, which is released under GPL version 2 or later.
+
+The xindy kernel modules and base styles are released under GPL
+version 2 or later.
diff --git a/Master/texmf/doc/xindy/alphabets-doc.pdf b/Master/texmf/doc/xindy/alphabets-doc.pdf
new file mode 100644
index 00000000000..c827d872e7d
--- /dev/null
+++ b/Master/texmf/doc/xindy/alphabets-doc.pdf
Binary files differ
diff --git a/Master/texmf/doc/xindy/dataflow.gif b/Master/texmf/doc/xindy/dataflow.gif
new file mode 100644
index 00000000000..203b5521ba6
--- /dev/null
+++ b/Master/texmf/doc/xindy/dataflow.gif
Binary files differ
diff --git a/Master/texmf/doc/xindy/faq-1.html b/Master/texmf/doc/xindy/faq-1.html
new file mode 100644
index 00000000000..31fcfba7abd
--- /dev/null
+++ b/Master/texmf/doc/xindy/faq-1.html
@@ -0,0 +1,169 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+ <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
+ <TITLE>XINDY FAQ: General Questions</TITLE>
+ <LINK HREF="faq-2.html" REL=next>
+
+ <LINK HREF="faq.html#toc1" REL=contents>
+</HEAD>
+<BODY>
+<A HREF="faq-2.html">Next</A>
+Previous
+<A HREF="faq.html#toc1">Contents</A>
+<HR>
+<H2><A NAME="s1">1. General Questions</A></H2>
+
+<H2><A NAME="ss1.1">1.1 Why a completely new indexing tool? <CODE>makeindex</CODE> works fine!</A>
+</H2>
+
+<P>
+<P>With the <EM>International MakeIndex</EM> project, Joachim Schrod and
+Gabor Herr have shown that adding extensions to
+<CODE>makeindex</CODE> is a difficult job. Thus we have decided to develop a
+new indexing tool from scratch. The new tool is based on a new
+requirements analysis and offers very interesting features for
+processing very complex indexing schemes. The resulting index model is
+described in:
+<P>
+<OL>
+<LI> Roger Kehr, <SF>xindy</SF> -- <EM>A Flexible Indexing System</EM>,
+Proceedings of the EuroTeX'98, St. Malo, France, March 1998
+</LI>
+<LI> Roger Kehr, <SF>xindy</SF> -- <EM>A Flexible Indexing System</EM>,
+Technical Report No. 11/1997, Computer Science Department, Darmstadt
+University of Technology, 1997. Also accessible from the xindy
+homepage.
+</LI>
+<LI> Roger Kehr, xindy <EM>Ein Flexibles Indexierungssystem</EM>,
+Studienarbeit FB Informatik, TH-Darmstadt, November 1995.
+</LI>
+<LI> Joachim Schrod, <EM>An International Version of MakeIndex</EM>,
+Cahiers GUTenberg, 10, p81-90, 1991
+</LI>
+<LI> Joachim Schrod and Gabor Herr, <EM>MakeIndex Version 3.0</EM>,
+Technical University of Darmstadt, 1991
+</LI>
+</OL>
+<P>
+<P>
+<P>
+<H2><A NAME="ss1.2">1.2 I'm an old <CODE>makeindex</CODE> wizard. What does <SF>xindy</SF> offer that <CODE>makeindex</CODE> doesn't?</A>
+</H2>
+
+<P>
+<P>Here are the most important differences between <SF>xindy</SF> and
+<CODE>makeindex</CODE>:
+<P>
+<P>
+<DL>
+<P>
+<DT><B>Internationalization</B><DD><P><SF>xindy</SF> can be configured to process
+indexes for many languages with different letter sets and different
+sorting rules. For example, many roman languages such as Italian,
+French, Portuguese or Spanish contain accentuated letters such as
+&Agrave;, &Aacute;, &ntilde;. Other languages from northern Europe
+have letters like &Auml;, &Oslash;, &aelig; or &szlig; which often
+can't be processed by many index processors not talking about sorting
+them correctly into an index. The <SF>xindy</SF>-system can be configured
+to process these alphabets by defining <EM>sort</EM> and
+<EM>merge-rules</EM> that allow expressing of language specific rules.
+One example of such a rule would be
+<P>
+<PRE>
+(sort-rule &quot;&quot; &quot;ae&quot;)
+</PRE>
+<P>defining that a word containing the umlaut-a will be sorted as if it
+contained the letters <CODE>ae</CODE> instead. This is one form of how the
+umlaut-a is sorted into german indexes. With an appropriate set of
+rules one can express the complete rules of a specific language.
+<P>
+<DT><B>Location classes.</B><DD><P><CODE>makeindex</CODE> is able to recognize and
+process arabic numbers, roman numerals and letter-based alphabets as
+specifiers for the indexed location. Simple composite structures of
+these are also possible to process. This implicit recognition scheme
+has completely been dropped in favour of a well-defined and very
+powerful declaration scheme called <EM>location-classes</EM>. Thus,
+<SF>xindy</SF> initally does not know any location-class by default and
+must be instructed to accept certain location-classes. A typical
+declaration might look like:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+(define-location-class "page-numbers" ("arabic-numbers"))
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>This declares that page numbers consist of the enumeration of the
+arabic numbers. The arabic numbers are referred to as <EM>alphabets</EM>.
+Users may use the pre-defined alphabets arabic numbers, roman
+numerals, etc. or define new alphabets as needed. See the tutorial
+that comes with this distribution for some examples.
+<P>
+<DT><B>The concept of attributes.</B><DD><P>With <CODE>makeindex</CODE> one can assign a
+markup to each index entry using the encapsulators (usually following
+the vertical bar sign in an index entry command). For example in the
+specification
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+\index{xindy|bold}
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>the encapsulator is <CODE>bold</CODE> which encapsulates the page-numbers in
+the markup-phase. An additional TeX-macro must be supplied to assign
+some markup with the page number. This concept has completely been
+dropped in <SF>xindy</SF> in favour of a more powerful scheme called
+<EM>attributes</EM>. Attributes can be used to (i) define several grouping
+and ordering rules with locations and we can define (ii) markup-tags
+for the document preparation system.
+<P>The result of this design decision is that the user is required to
+define the attributes in the style file and not in the document
+preparation system. The reasons lie in the more powerful markup scheme
+of <SF>xindy</SF> which can't be specified in the document processor anymore.
+In fact, the <CODE>makeindex</CODE>-like markup is only a small subset of
+<SF>xindy</SF>s features.
+<P>
+<DT><B>Cross references.</B><DD><P>Cross-references were implemented in
+<CODE>makeindex</CODE> with the encapsulation mechanism, which only served for
+markup purposes. This has been completely separated in <SF>xindy</SF>.
+Here we distinguish cleanly between attributes and cross references.
+This makes it possible to implement <EM>checked</EM> cross references,
+i.e. cross-refernces that can be checked if they point to an existing
+index entry instead of somewhere ``behind-the-moon''.
+<P>
+<DT><B>Less command-line options.</B><DD><P><SF>xindy</SF> has dropped the usage of
+command-line options in favour of a well-defined indexstyle
+description language. Thus, options that could be activated at the
+command-line level of <CODE>makeindex</CODE> must now be specified in the
+indexstyle file. This sounds more restrictive than it is, because the
+indexstyle files can be composed from several modules which makes it
+possible to write style files in just a few lines of code.
+<P>
+<DT><B>Raw index parser.</B><DD><P>The parser built into <CODE>makeindex</CODE> has
+completely been separated from the core <SF>xindy</SF> system. <SF>xindy</SF>
+understands a well-defined specification language for the raw index
+that is completely different from <CODE>makeindex</CODE>, but in our opinion
+more maintainable than the <CODE>makeindex</CODE> format. This requires a
+separate filter that transforms arbitrary indexes to the <SF>xindy</SF>
+format. An example filter is the program <CODE>tex2xindy</CODE> that comes
+with this distribution.
+<P>
+</DL>
+<P>Summed up, some of the implicit assumptions made by <CODE>makeindex</CODE>
+have been replaced and now burdend to the user. The reason is that
+many of <CODE>makeindex</CODE>'s assumptions were no longer valid in
+multi-language environments or documents with arbitrary location
+structures. This also characterizes <SF>xindy</SF> more as a framework
+instead of a end-user-tailored product. One should notice that writing
+an appropriate index style is an essential part of the document
+preparation process and should be tailored to each document anew.
+<P>
+<P>
+<P>
+<P>
+<HR>
+<A HREF="faq-2.html">Next</A>
+Previous
+<A HREF="faq.html#toc1">Contents</A>
+</BODY>
+</HTML>
diff --git a/Master/texmf/doc/xindy/faq-2.html b/Master/texmf/doc/xindy/faq-2.html
new file mode 100644
index 00000000000..00be36138dc
--- /dev/null
+++ b/Master/texmf/doc/xindy/faq-2.html
@@ -0,0 +1,95 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+ <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
+ <TITLE>XINDY FAQ: xindy Usage</TITLE>
+ <LINK HREF="faq-3.html" REL=next>
+ <LINK HREF="faq-1.html" REL=previous>
+ <LINK HREF="faq.html#toc2" REL=contents>
+</HEAD>
+<BODY>
+<A HREF="faq-3.html">Next</A>
+<A HREF="faq-1.html">Previous</A>
+<A HREF="faq.html#toc2">Contents</A>
+<HR>
+<H2><A NAME="s2">2. <SF>xindy</SF> Usage</A></H2>
+
+<H2><A NAME="ss2.1">2.1 I don't want to write style files. How can I proceed?</A>
+</H2>
+
+<P>
+<P>You can use the wrapper program <CODE>makeindex4</CODE>. It tries to do it's
+very best to make <SF>xindy</SF> behave as <CODE>makeindex</CODE> does. But if you
+ever need to use some of the features of <SF>xindy</SF> you should learn
+how to write an index style. Its easy!
+<P>
+<P>
+<P>
+<H2><A NAME="ss2.2">2.2 How do I use <CODE>makeindex4</CODE>?</A>
+</H2>
+
+<P>
+<P>Process your document as usual. Then run <CODE>makeindex4</CODE> on the index
+file. It produces an index that should equal the one you would get
+with an ordinary <CODE>makeindex</CODE> run. As far as you are satisfied with
+the default behaviour of <CODE>makeindex</CODE>, <CODE>makeindex4</CODE> will produce
+comparable results.
+<P>Some of the command-line options of <CODE>makeindex</CODE> are accepted by
+<CODE>makeindex4</CODE>, others aren't. This may change in future releases,
+but we recommend using plain <SF>xindy</SF> after a phase of
+investigation, since one cannot use all of its features with
+<CODE>makeindex4</CODE>. You will be informed about unsupported command-line
+arguments when running <CODE>makeindex4</CODE>.
+<P>If you have written special style files for <CODE>makeindex</CODE> they will
+no longer work with <CODE>makeindex4</CODE>. Go ahead and write a new style
+file for <SF>xindy</SF>.
+<P>
+<P>
+<P>
+<H2><A NAME="ss2.3">2.3 How works <CODE>makeindex4</CODE>?</A>
+</H2>
+
+<P>
+<P>This job is now done automatically by <CODE>makeindex4</CODE>. It calls
+<CODE>tex2xindy</CODE> to transform the raw-index into the format suitable for
+<SF>xindy</SF>. <CODE>tex2xindy</CODE> emits some information about the attributes
+(aka. encapsulators in <CODE>makeindex</CODE>) and the usage of
+cross-references into a file, which has the extension `<CODE>.sta</CODE>'. The
+<CODE>makeindex4</CODE> program, written in <CODE>perl</CODE>, parses this
+statistics-file and generates the above presented indexstyle commands
+for you automatically including the required declaration of all
+attributes in the whole index and their markup.
+<P>Another problem is the automatic detection of cross-references. As
+noted above, <CODE>makeindex</CODE> handles cross-references with its
+encapsulation mechanism, a scheme which has been dropped in <SF>xindy</SF>
+and replaced by a more powerful mechanism. To implement a simple
+plug-in mechanism we have extended the syntax of the <CODE>tex2xindy</CODE>
+filter to identify encapsulators of the form
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+\indexentry{...|encap{...}}{...}
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>as a cross-reference, whereas encapsulators of the form
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+\indexentry{...|encap}{...}
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>are treated as ordinary attributes. This is standard practice
+defining cross-references in <CODE>makeindex</CODE>. Thus, <CODE>tex2xindy</CODE>
+distinguishes these two forms of encapsulators as opposed to
+<CODE>makeindex</CODE> and our plug-in <CODE>makeindex4</CODE> generates the
+appropriate definitions of the cross-reference classes as well.
+<P>
+<P>
+<P>
+<P>
+<HR>
+<A HREF="faq-3.html">Next</A>
+<A HREF="faq-1.html">Previous</A>
+<A HREF="faq.html#toc2">Contents</A>
+</BODY>
+</HTML>
diff --git a/Master/texmf/doc/xindy/faq-3.html b/Master/texmf/doc/xindy/faq-3.html
new file mode 100644
index 00000000000..12895e8cb29
--- /dev/null
+++ b/Master/texmf/doc/xindy/faq-3.html
@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+ <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
+ <TITLE>XINDY FAQ: xindy and LaTeX</TITLE>
+ <LINK HREF="faq-4.html" REL=next>
+ <LINK HREF="faq-2.html" REL=previous>
+ <LINK HREF="faq.html#toc3" REL=contents>
+</HEAD>
+<BODY>
+<A HREF="faq-4.html">Next</A>
+<A HREF="faq-2.html">Previous</A>
+<A HREF="faq.html#toc3">Contents</A>
+<HR>
+<H2><A NAME="s3">3. <SF>xindy</SF> and LaTeX</A></H2>
+
+<H2><A NAME="ss3.1">3.1 What is <CODE>tex2xindy</CODE>?</A>
+</H2>
+
+<P>
+<P><CODE>tex2xindy</CODE> is a filter that parses `<CODE>.idx</CODE>' or similar files
+and converts the <CODE>\indexentry</CODE> macros into a form readable by
+<SF>xindy</SF>.
+<P>The parser of <CODE>makeindex</CODE> can be configured to recognize different
+quoting characters, etc. (see the man-page for <CODE>makeindex</CODE>, section
+<EM>input style specifiers</EM> for further details). We have tried to
+extract the parser from <CODE>makeindex</CODE> but due to several probems we
+have finally rewritten the parser using <CODE>lex</CODE>. Scanners written
+with <CODE>lex</CODE> are usually fixed to a specific character set used in
+the regular expressions. Our parser, <CODE>tex2xindy</CODE> is therefore not
+configurable. If one uses a different configuration of the
+<CODE>makeindex</CODE> input style specifiers, one can change the source
+(<CODE>tex2xindy.l</CODE>) to generate a completely new parser. From our
+personal experience we have rarely used more than two different
+parsers in practice so we have written <CODE>tex2xindy</CODE> in a form that
+is easily maintainable. The input specifiers are stored symbolically
+in the source. The definiton section looks like this:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+KEYWORD \\indexentry
+ENCAP \|
+ACTUAL @
+ESCAPE \\
+LEVEL !
+QUOTE \"
+ROPEN \(
+RCLOSE \)
+ARGOPEN \{
+ARGCLOSE \}
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>These definitions are essentially the input style specifiers as can be
+found in the man-page of <CODE>makeindex</CODE>. Changing this section
+according to your needs and recompiling <CODE>tex2xindy</CODE> should be an
+easy task. Maybe we will include more pre-defined parsers in future
+releases if necessary.
+<P>
+<P>
+<P>
+<H2><A NAME="ss3.2">3.2 What LaTeX-package should I use in conjunction with xindy?</A>
+</H2>
+
+<P>
+<P>We strongly recommend using the LaTeX2e-package <CODE>index</CODE> written
+by David M. Jones, which is available at CTAN. It supports multiple
+indexes as well as several shortcuts to easily index terms in a
+document. Multiple indexes support the generation of several indexes
+for one document. For instance, one can make an author or command
+index in addition to a global index.
+<P>Another option is to use the <CODE>xindy.sty</CODE> from Andreas Schlechte
+that comes with the <SF>xindy</SF> distribution. Take a look at the
+<CODE>contrib</CODE> directory that should contain a version.
+<P>
+<P>
+<P>
+<P>
+<HR>
+<A HREF="faq-4.html">Next</A>
+<A HREF="faq-2.html">Previous</A>
+<A HREF="faq.html#toc3">Contents</A>
+</BODY>
+</HTML>
diff --git a/Master/texmf/doc/xindy/faq-4.html b/Master/texmf/doc/xindy/faq-4.html
new file mode 100644
index 00000000000..81052562f1d
--- /dev/null
+++ b/Master/texmf/doc/xindy/faq-4.html
@@ -0,0 +1,668 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+ <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
+ <TITLE>XINDY FAQ: Style Files</TITLE>
+ <LINK HREF="faq-3.html" REL=previous>
+ <LINK HREF="faq.html#toc4" REL=contents>
+</HEAD>
+<BODY>
+Next
+<A HREF="faq-3.html">Previous</A>
+<A HREF="faq.html#toc4">Contents</A>
+<HR>
+<H2><A NAME="s4">4. Style Files</A></H2>
+
+<H2><A NAME="ss4.1">4.1 Eventually, I decided to write my first index style. How can I start?</A>
+</H2>
+
+<P>
+<P>Congratulations! You have made a good decision, indeed.
+<P>For a first impression, how a style file can be written from scratch
+reference the <EM>tutorial</EM> that comes with this distribution. It is
+written as a guided step-by-step practicing exercise and you can learn
+the basic concepts quite easily.
+<P>Afterwards, the best starting point is to make a copy of the template
+file that contains all the necessary commands that are needed to make
+a <CODE>makeindex</CODE>-like index. You can find it in the subdirectory
+<CODE>markup/tex</CODE> of the module library. Starting from this template
+you can remove or add commands as necessary.
+<P>Additionally, consult the library of predefined <EM>index style
+modules</EM> that comes with this distribution. Solutions for most of the
+typical problems can be found there, such as a module for doing
+case-insensitive sorting rules, or a typical TeX-like markup. Most
+of the time is is enough to include some of these modules and add a
+few additional commands.
+<P>Maybe some of the examples coming with the <EM>test-suite</EM> are good
+examples of how unusual index style files can be written.
+<P>Thus, there are many ways to learn writing an index style file. But it
+is very easy and after some experience you can process indexes your
+friends will be jealous of.
+<P>
+<P>
+<H2><A NAME="ss4.2">4.2 How to write my first index style?</A>
+</H2>
+
+<P>
+<P>Copy the file <CODE>tex/makeidx.xdy</CODE> from the library to your
+local directory. It is documented in in a way that should make it easy
+to fill in new commands or remove or modify others.
+<P>
+<P>
+<P>
+<H2><A NAME="ss4.3">4.3 How works the actual key feature of <CODE>makeindex</CODE> with <SF>xindy</SF>?</A>
+</H2>
+
+<P>
+<P>The treatment of the actual key (usually denoted with <CODE>@</CODE>, the
+at-sign) has changed with <SF>xindy</SF>. Specifying index entries with a
+specific markup can be done in <CODE>makeindex</CODE> with the actual key. The
+<CODE>makeindex-3</CODE> system and <SF>xindy</SF> offer the <EM>merge-</EM> and
+<EM>sort-rules</EM> to transform a key into different representations,
+limiting the need to specify an actual key. For example they support a
+style of writing
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+\index{\bf{VIP}}
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>which can be transformed with a rule like
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+(merge-rule "\bf{\(.*\)}" "\1" :again :bregexp)
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>which removes the macro definition for merging and sorting keywords,
+but keeping the original definition for markup purposes. Therefore we
+don't need any actual keys for all keywords written in boldface.
+<P>The <CODE>makeindex</CODE> behaviour, that the two keywords
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+\index{VIP}
+\index{VIP@\bf{VIP}}
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>are seen as two distinct index entries, can be simulated using the
+following definition:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+(merge-rule "\bf{\(.*\)}" "\1~e" :again :bregexp)
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>This rule tells <SF>xindy</SF> to remove the boldface macro for merging
+and sorting purposes but defines the replacement to include the
+special character <CODE>~e</CODE>, which is the last character in the
+alphabet (ISO-Latin in our case). This makes <SF>xindy</SF> treat them as
+different keywords and positions the boldface keyword right behind the
+one without any markup. Thus we receive the following mapping:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+Keyword: Merged and sorted as: Appears in the index as:
+VIP VIP VIP
+\bf{VIP} VIP~e \bf{VIP}
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>With this new style of writing keywords and defining their markup, the
+need to explicitly specifying the print key (aka. actual key) has
+convinced us to remove the <CODE>makeindex</CODE> way of defining keywords.
+<P>
+<P>
+<P>
+<H2><A NAME="ss4.4">4.4 I want to process an index for my native language. What must I do?</A>
+</H2>
+
+<P>
+<P>What makes <CODE>makeindex</CODE> hardly usable in non-English speaking
+countries is its lack of support of language specific alphabets and
+sort orderings. For example, many roman languages such as Italian,
+French, Portuguese or Spanish contain accented letters such as
+&Agrave;, &Aacute;, &ntilde;. Other languages from northern Europe
+have letters like &Auml;, &Oslash;, &aelig; or &szlig; which often
+can't even be processed by many index processors let alone sorting
+them correctly into an index.
+<P>Two problems must be solved when processing indexes with a new
+languages:
+<P>
+<OL>
+<LI> The <EM>sort ordering</EM> of the indexed terms must be specified
+in an appropriate manner. This problem can be solved using the
+so-called <EM>keyword mappings</EM>.
+</LI>
+<LI> The <EM>letter groups</EM> that partition the indexed terms into
+separate sections must be specified.</LI>
+</OL>
+<P>The <SF>xindy</SF> system can be configured to process these alphabets by
+defining <EM>sort</EM> and <EM>merge rules</EM> that allow expressing language
+specific rules.
+<P>The keyword mappings are as follows: The <EM>merge key</EM> is generated
+from the <EM>main key</EM> with the so called <EM>merge mapping</EM>. The
+merge mapping can be specified with the command <CODE>merge-rule</CODE>. The
+<EM>sort key</EM> is derived from the merge key using the <EM>sort
+mapping</EM> specified with the <CODE>sort-rule</CODE> command. The following
+scheme shows this mapping process:
+<P>
+<FIGURE>
+<EPS FILE="mappings.eps">
+<IMG SRC="mappings.gif">
+</FIGURE>
+<P>
+<P>The index style commands accomplishing this task are
+<CODE>sort-rule</CODE> and <CODE>merge-rule</CODE>. One example of such a rule would
+be
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+(sort-rule "" "ae")
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>defining that a word containing the umlaut-a will be sorted as if it
+contained the letters <CODE>ae</CODE> instead. This is one form of how the
+umlaut-a () is sorted into german indexes. With an appropriate set of
+rules on can express the complete rules of a specific language.
+<P>An example of how an appropriate mapping for some of the Roman
+languages could look like is:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+(sort-rule "" "a")
+(sort-rule "" "a")
+(sort-rule "" "a")
+(sort-rule "" "e")
+(sort-rule "" "e")
+(sort-rule "" "c")
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>This makes the accented letters be sorted as their unaccented
+counterparts, yielding the desired sort ordering.
+<P>Sometimes it is necessary to specify keyword mappings that tell the
+system to put something <EM>behind</EM> something else. For instance, we'd
+like to map the character <EM></EM> behind the letter <EM>o</EM>. No problem
+if you use the special characters <CODE>~b</CODE> and <CODE>~e</CODE> which
+are called the <EM>beginning</EM> and <EM>ending</EM> characters. The first
+letter lexicographically precedes all other letters whereas the latter
+one comes after all others. Our mapping problem can now be specified
+as follows.
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+(sort-rule "" "o~e")
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>Now the <EM></EM> is directly positioned after the <EM>o</EM> but before
+<EM>p</EM>.
+<P>
+<P>See the manual for a detailed description of this feature.
+Also be informed that the keyword mappings can be specified with
+regular expressions. Rules of the form
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+(merge-rule "[-$()]" "")
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>are possible. This on removes all letters of the defined letter class.
+Regular expression substitutions are possible as well. Refer to the
+manual for an exact description.
+<P>
+<P>
+<P>
+<H2><A NAME="ss4.5">4.5 In my index the capitalized words appear after the lowercase words. Why?</A>
+</H2>
+
+<P>
+<P>The default sort ordering sorts letters according to their ordinal
+number in the ISO Latin alphabet. As a consequence the lowercase
+letters appear before the uppercase letters. To sort them
+case-insensitively use the command
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+(require "lang/latin/caseisrt.xdy")
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>This module defines the appropriate sort rules for the letters `A-Z'
+for latin-based alphabets. If your language has more letters simply
+add the missing ones into your style file. Have a look at the module
+to see how to the sort rules are defined.
+<P>
+<P>
+<P>
+<H2><A NAME="ss4.6">4.6 In my index there are no letter groups, yet!</A>
+</H2>
+
+<P>
+<P>Letter groups for latin based alphabets can be defined with the command
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+(require "lang/latin/letgroup.xdy")
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>If your language needs additional letter groups you can insert them
+into the previously defined letter group with inserting definitions of
+the following form:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+(define-letter-group "ly" :after "l" :before "m")
+(define-letter-group "ny" :after "n" :before "o")
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>This adds two more letter groups to the latin alphabet. Group <EM>ly</EM>
+is inserted between <EM>l</EM> and <EM>m</EM>, and <EM>ny</EM> is inserted between
+<EM>n</EM> and <EM>o</EM>. This is how two additional letters of the Hungarian
+alphabet can be inserted.
+<P>
+<P>
+<P>
+<H2><A NAME="ss4.7">4.7 How can I get rid of any formatting information in the keyword?</A>
+</H2>
+
+<P>
+<P>Assume you have index entries containing arbitrary formatting
+information. For example you write your index entries in TeX in the
+following form:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+\index{\bf{In boldface please}}
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>To avoid specifying for each index entry the print key separately as
+can be done with the following command
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+\index{In boldface please@\bf{In boldface please}}
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>you can instead define a rule doing this task for you:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+(merge-rule "\\bf *{(.*)}" "\1" :eregexp :again)
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>This extended regular expression matches all strings that are
+surrounded by this formatting command and in the <EM>merge phase</EM> the
+formatting command is simply stripped off. Thus, you don't need to
+write an explicit print key anymore.
+<P>If for some reason the same word appears more than once in the index,
+each time having another markup tag as in the following example
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+index
+{\tt index}
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>you must be warned that a rule like
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+(merge-rule "{\\tt *(.*)}" "\1" :eregexp :again)
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>is probably not correct. In this case the above strings are both
+mapped into the string <CODE>index</CODE> thus joining their location
+references into one index entry. This happens because the result of
+the merge mapping is used as the equality citerium which views both
+keywords as equal. To avoid this you should specify instead
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+(merge-rule "{\\tt *(.*)}" "\1~e" :eregexp :again)
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>With the additional meta character <CODE>~e</CODE> the substitution of the
+second key word is placed <EM>after</EM> the first one making them
+different index entries. If the second keyword should appear first,
+use <CODE>~b</CODE> instead.
+<P>
+<P>
+<P>
+<P>
+<H2><A NAME="ss4.8">4.8 In my index the word <EM>-foo</EM> appears before <EM>bar</EM>. What must I do?</A>
+</H2>
+
+<P>
+<P>Especially for hierarchical indexes sometimes the result is not as
+expected due to special characters appearing in the keyword. In the
+following example the word `card' should appear before `-eyed' since
+the hyphen should not count as an ordinary character by means of
+sorting.
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+ green
+ -eyed 12
+ card 15
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>This is especially problematic if the list of words on the second
+level is very long. To make the hyphen be simply ignored during the
+sorting process you should specify the following command in the index
+style:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+ (sort-rule "-" "")
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>This makes `-eyed' be sorted as `eyed' thus making it appear
+<EM>after</EM> `card' as desired.
+<P>
+<P>
+<P>
+<P>
+<H2><A NAME="ss4.9">4.9 I want to use letter ordering instead of word ordering in my index.</A>
+</H2>
+
+<P>
+<P>According to the <EM>Chicago Manual of Style</EM> there exist two
+different schemes of sorting word lists. In <EM>word ordering</EM>
+a blank precedes any letter in the alphabet, whereas in <EM>letter
+ordering</EM> it does not count at all. The following example borrowed
+from the <CODE>makeindex</CODE> man-page illustrates the difference:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+ Word Order: Letter Order:
+ sea lion seal
+ seal sea lion
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>By default, <SF>xindy</SF> uses word ordering. To use letter ordering
+include the appropriate module with the following command:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+(require "ord/letorder.xdy")
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>It actually defines the following command:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+(sort-rule " " "")
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>This simply removes all blanks from the keyword resulting in the
+desired behaviour.
+<P>
+<P>
+<P>
+<P>
+<H2><A NAME="ss4.10">4.10 My document does not have page numbers, but a different scheme. What must I do?</A>
+</H2>
+
+<P>
+<P>The ability to deal with user-definable location structures is one of
+the most important new features of <SF>xindy</SF>. Many documents have a
+document structure that is not based on page numbers. Typical examples
+are manuals or appendices that come with a
+<EM>chapter/page-per-chapter</EM> numbering scheme, URLs, Bible verses,
+etc. One can even imagine the Greek alphabet as possibly appearing in
+a location reference. In our analysis we have found many interesting
+examples of location references that made us to develop the concept of
+<EM>location classes</EM>.
+<P>A location class is defined by a sequence of alphabets. An alphabet
+can be the set of arabic numbers (0, 1, 2, ...) or the roman numerals
+(i, ii, iii, ...). These are built-in alphabets in <SF>xindy</SF>.
+Addtionally, one can define more alphabets in the index style with a
+command like
+<P>
+<PRE>
+ (define-alphabet "weekdays"
+ ("mon" "tue" "wed" "thu" "fri" "sat" "sun"))
+</PRE>
+<P>Based on alphabets one can now compose a location class as follows:
+<P>
+<PRE>
+ (define-location-class "weekday-hours"
+ ("weekday" :sep ":" "arabic-numbers"))
+</PRE>
+<P>This class description indicates that all location refernces matching
+this template are viewed as correct instances of this class. Here
+<CODE>:sep</CODE> makes the dot serving as a <EM>separation string</EM> separation
+the alphabets from each other. Example instances of this class are:
+<P>
+<PRE>
+mon:23, thu:45, sun:17
+</PRE>
+<P>For more detailed information consult the description of the command
+<CODE>define-location-class</CODE> in the reference manual.
+<P>
+<P>
+<P>
+<H2><A NAME="ss4.11">4.11 I don't want to have ranges in my index. What can I do?</A>
+</H2>
+
+<P>
+<P>By default, <SF>xindy</SF> joins three successive location references into a
+<EM>range</EM>. Ranges are used as an abbrevation for a long sequence of
+location references. For exmaple the sequence
+<P>
+<PRE>
+12, 13, 14, 15, 16
+</PRE>
+<P>would be shorter represented as
+<P>
+<PRE>
+12-16
+</PRE>
+<P>If you don't want to have ranges, simply define your location class in
+the form
+<P>
+<PRE>
+ (define-location-class ... :min-range-length none)
+</PRE>
+<P>The argument <CODE>:min-range-length none</CODE> avoids forming of ranges.
+Arbitrary numbers instead of <CODE>none</CODE> define the minimum length of a
+sequence of location references that are needed to form a range.
+<SF>xindy</SF>s default value is&nbsp;2.
+<P>
+<P>
+<P>
+<H2><A NAME="ss4.12">4.12 I want to markup ranges of different length differently. How do I accomplish this?</A>
+</H2>
+
+<P>
+<P>A common way of tagging ranges is as follows: a range of length 1 is
+printed with the starting page number and the suffix `f.', those of
+length 2 with suffix `ff.', and all others in the form `<EM>X--Y</EM>'.
+<P>Assume we want to do this for the location class <EM>pagenums</EM> we can
+specify the markup as follows:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+(markup-range :class "pagenums" :close "f." :length 1 :ignore-end)
+(markup-range :class "pagenums" :close "ff." :length 2 :ignore-end)
+(markup-range :class "pagenums" :sep "--")
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>The first command indicates that a range <EM>(X,Y)</EM> of length 1 should
+be printed in the form <EM>Xf.</EM>, a range of length 2 as <EM>Xff.</EM> and
+all others in the form <EM>X--Y</EM>. The switch <CODE>:ignore-end</CODE> causes
+the end of range location reference Y to be suppressed in the
+resulting output.
+<P>
+<P>
+<H2><A NAME="ss4.13">4.13 I need to suppress some of the markup tags. How can I do this?</A>
+</H2>
+
+<P>Sometimes it is necessary to hide some of the parts of the index. If
+you have a text formatter that allows comments or macros that possibly
+expand to nothing, just define appropriate markup that makes things
+invisible to the formatter. For example, with TeX you can define a
+macro like this
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+\def\ignore#1{}
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>If you additionally define markup like this
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+(markup-index :open "\ignore{" :close "}")
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>you can throw away the complete index if you like, which would be a
+real pity!
+<P>
+<P>
+<P>
+<H2><A NAME="ss4.14">4.14 Whats it all about those cross references?</A>
+</H2>
+
+<P>
+<P>Cross references are references pointing to an item in the index
+itself. Typical examples are:
+<P>
+<BLOCKQUOTE><CODE>
+foo-bar <EM>see</EM> baz
+</CODE></BLOCKQUOTE>
+<P>With <CODE>makeindex</CODE> cross references could be specified with the
+encapsulation mechanism. This has completely been removed in <SF>xindy</SF>
+and we have made cross references real first-class objects.
+<P>In <SF>xindy</SF> one can declare different cross reference classes, whose
+purpose is (a) to make all instances of a certain class appear next to
+each other, and (b) to specify appropriate markup with them.
+<P>@begin-comment
+One very interesting feature is the ability to <EM>check</EM> the validity
+of cross-references.
+@end-comment
+<P><CODE>tex2xindy</CODE> recognises all index entries of the form
+<P>
+<PRE>
+ \index{...|\macro{where}}
+</PRE>
+<P>as cross references. Here <CODE>macro</CODE> stands for an arbitrary macro
+name and <CODE>where</CODE> is interpreted as the target keyword of the cross
+references.
+<P>If you want to use these cross references with <SF>xindy</SF>; add the
+following line to your style file.
+<P>
+<PRE>
+ (define-crossref-class "macro")
+</PRE>
+<P>Additionally, you can assign specific markup to cross references using
+the <CODE>markup-crossref</CODE>-commands.
+<P>
+<P>
+<P>
+<H2><A NAME="ss4.15">4.15 The keyword mappings don't work as expected!</A>
+</H2>
+
+<P>
+<P>Sometimes the keyword mappings don't work as expected. Especially in
+cases with several regular expressions one might get confused about
+what rule matches exactly when. We have incorporated a detailed
+logging mechanism that lets one step by step follow the rules that
+accomplish the keyword mapping.
+<P>When running <SF>xindy</SF> you can turn on this feature with the command
+line option `<CODE>-L</CODE>'. This option followed by one of the numbers 1,
+2, or 3 turns on the appropriate debugging level. Turning on level 2
+or 3 and specifying a log-file with the command line option `<CODE>-l</CODE>'
+a trace of the mappings is recorded in the log-file. A sample output
+looks like the following:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+Mappings: (add (merge-rule :eregexp `^\\bf{(.*)}' `\1' :again)).
+Mappings: (add (merge-rule :eregexp `^\\"([AEOUaeou])' `\1')).
+ ...
+Mappings: (compare `\"A\"a' :eregexp `^\\bf{(.*)}')
+Mappings: (compare `\"A\"a' :eregexp `^\\"([AEOUaeou])') match!
+Mappings: (compare `\"a' :eregexp `^\\bf{(.*)}')
+Mappings: (compare `\"a' :eregexp `^\\"([AEOUaeou])') match!
+Mappings: (merge-mapping `\"A\"a') -> `Aa'.
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>This trace shows that initially two regular expression mappings have
+been added to the rule set. The second section shows how the keyword
+`<CODE>\"A\"a</CODE>' is compared to these rules and substitutions are
+applied as matches are found. In the last line the result of the
+keyword mapping is reported.
+<P>
+<P>
+<P>
+<H2><A NAME="ss4.16">4.16 I'm totally confused by the markup scheme!</A>
+</H2>
+
+<P>
+<P>A very important feature is the ability to <EM>trace</EM> all markup tags
+<SF>xindy</SF> emits in the markup phase. Simply use the command line
+switch <CODE>-t</CODE> or insert the command
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+(markup-trace :on)
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>into the index style. This informs <SF>xindy</SF> to emit additional
+pseudo markup that can be used to understand and debug the
+markup phase. An example output might look like the following:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+&lt;INDEX:OPEN>
+ &lt;LETTER-GROUP-LIST:OPEN>
+ &lt;LETTER-GROUP:OPEN ["a"]>
+ &lt;INDEXENTRY-LIST:OPEN [0]>
+ &lt;INDEXENTRY:OPEN [0]>
+ &lt;KEYWORD-LIST:OPEN [0]>
+ &lt;KEYWORD:OPEN [0]>
+ ...
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>The symbolic tags directly lead one to the command that is responsible
+for the definition of that markup tag. For example, the tag
+<CODE>LETTER-GROUP-LIST:OPEN</CODE> indicates that the command
+<CODE>markup-letter-group-list</CODE> is responsible for replacing this
+symbolic tag by a real one.
+Give it a try if you find yourself confused by your own markup
+specification.
+<P>
+<P>
+<P>
+<H2><A NAME="ss4.17">4.17 What editor should I use when writing xindy style files?</A>
+</H2>
+
+<P>
+<P>Use <CODE>Emacs</CODE> or <CODE>XEmacs</CODE>. Turn on the Lisp-mode with
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+M-x lisp-mode
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>and you can properly indent commands using <CODE>M-q</CODE>. To enter this
+mode automatically add the following lines to the end of the style
+file:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+^L
+;; Local Variables:
+;; mode: lisp
+;; End:
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>The <CODE>^L</CODE> (Control-L) can be entered with <CODE>C-q C-l</CODE>.
+<P>
+<P>
+<P>
+<HR>
+Next
+<A HREF="faq-3.html">Previous</A>
+<A HREF="faq.html#toc4">Contents</A>
+</BODY>
+</HTML>
diff --git a/Master/texmf/doc/xindy/faq.html b/Master/texmf/doc/xindy/faq.html
new file mode 100644
index 00000000000..d049b766693
--- /dev/null
+++ b/Master/texmf/doc/xindy/faq.html
@@ -0,0 +1,90 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+ <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
+ <TITLE>XINDY FAQ</TITLE>
+ <LINK HREF="faq-1.html" REL=next>
+
+
+</HEAD>
+<BODY>
+<A HREF="faq-1.html">Next</A>
+Previous
+Contents
+<HR>
+<H1>XINDY FAQ</H1>
+
+<H2>Or: <SF>xindy</SF> by Topic</H2>
+<H2>Roger Kehr</H2>
+<H3>Computer Science Department, Technical University of Darmstadt</H3>
+ and
+<H2>Joachim Schrod</H2>
+<H3>Joachim Schrod Net &amp; Publication Consultance GmbH</H3>
+$Revision: 1.2 $, $Date: 2004/05/24 21:43:16 $, for xindy version 2.2
+<P><HR>
+<EM> The <SF>xindy</SF> FAQ presents answers to questions that are not
+adequately covered in other parts of the documentation, or are hard to
+find. The FAQ has been constructed from the <EM><SF>xindy</SF> by Topic</EM>
+manual. The most up-to-date version of this FAQ can be obtained from
+the <SF>xindy</SF> homepage at
+<A HREF="http://www.xindy.org/doc/faq.html">http://www.xindy.org/doc/faq.html</A>.
+<p>
+While the content of this document is still valid, it has not been
+updated in years and doesn't describe new developments. In particular,
+it doesn't mention the many languages that are supported by Thomas
+Henlich's <EM>make-rules</EM> system, and also doesn't know anything about
+the new commands that got introduced with the "LaTeX Companion
+Release". So, caveat. We don't want to throw out the document, though,
+since it still contains lots of useful information that's not
+available elsewhere.</EM>
+<HR>
+<P>
+<H2><A NAME="toc1">1.</A> <A HREF="faq-1.html">General Questions</A></H2>
+
+<UL>
+<LI><A HREF="faq-1.html#ss1.1">1.1 Why a completely new indexing tool? <CODE>makeindex</CODE> works fine!</A>
+<LI><A HREF="faq-1.html#ss1.2">1.2 I'm an old <CODE>makeindex</CODE> wizard. What does <SF>xindy</SF> offer that <CODE>makeindex</CODE> doesn't?</A>
+</UL>
+<P>
+<H2><A NAME="toc2">2.</A> <A HREF="faq-2.html"><SF>xindy</SF> Usage</A></H2>
+
+<UL>
+<LI><A HREF="faq-2.html#ss2.1">2.1 I don't want to write style files. How can I proceed?</A>
+<LI><A HREF="faq-2.html#ss2.2">2.2 How do I use <CODE>makeindex4</CODE>?</A>
+<LI><A HREF="faq-2.html#ss2.3">2.3 How works <CODE>makeindex4</CODE>?</A>
+</UL>
+<P>
+<H2><A NAME="toc3">3.</A> <A HREF="faq-3.html"><SF>xindy</SF> and LaTeX</A></H2>
+
+<UL>
+<LI><A HREF="faq-3.html#ss3.1">3.1 What is <CODE>tex2xindy</CODE>?</A>
+<LI><A HREF="faq-3.html#ss3.2">3.2 What LaTeX-package should I use in conjunction with xindy?</A>
+</UL>
+<P>
+<H2><A NAME="toc4">4.</A> <A HREF="faq-4.html">Style Files</A></H2>
+
+<UL>
+<LI><A HREF="faq-4.html#ss4.1">4.1 Eventually, I decided to write my first index style. How can I start?</A>
+<LI><A HREF="faq-4.html#ss4.2">4.2 How to write my first index style?</A>
+<LI><A HREF="faq-4.html#ss4.3">4.3 How works the actual key feature of <CODE>makeindex</CODE> with <SF>xindy</SF>?</A>
+<LI><A HREF="faq-4.html#ss4.4">4.4 I want to process an index for my native language. What must I do?</A>
+<LI><A HREF="faq-4.html#ss4.5">4.5 In my index the capitalized words appear after the lowercase words. Why?</A>
+<LI><A HREF="faq-4.html#ss4.6">4.6 In my index there are no letter groups, yet!</A>
+<LI><A HREF="faq-4.html#ss4.7">4.7 How can I get rid of any formatting information in the keyword?</A>
+<LI><A HREF="faq-4.html#ss4.8">4.8 In my index the word <EM>-foo</EM> appears before <EM>bar</EM>. What must I do?</A>
+<LI><A HREF="faq-4.html#ss4.9">4.9 I want to use letter ordering instead of word ordering in my index.</A>
+<LI><A HREF="faq-4.html#ss4.10">4.10 My document does not have page numbers, but a different scheme. What must I do?</A>
+<LI><A HREF="faq-4.html#ss4.11">4.11 I don't want to have ranges in my index. What can I do?</A>
+<LI><A HREF="faq-4.html#ss4.12">4.12 I want to markup ranges of different length differently. How do I accomplish this?</A>
+<LI><A HREF="faq-4.html#ss4.13">4.13 I need to suppress some of the markup tags. How can I do this?</A>
+<LI><A HREF="faq-4.html#ss4.14">4.14 Whats it all about those cross references?</A>
+<LI><A HREF="faq-4.html#ss4.15">4.15 The keyword mappings don't work as expected!</A>
+<LI><A HREF="faq-4.html#ss4.16">4.16 I'm totally confused by the markup scheme!</A>
+<LI><A HREF="faq-4.html#ss4.17">4.17 What editor should I use when writing xindy style files?</A>
+</UL>
+<HR>
+<A HREF="faq-1.html">Next</A>
+Previous
+Contents
+</BODY>
+</HTML>
diff --git a/Master/texmf/doc/xindy/index.gif b/Master/texmf/doc/xindy/index.gif
new file mode 100644
index 00000000000..74f581c4b85
--- /dev/null
+++ b/Master/texmf/doc/xindy/index.gif
Binary files differ
diff --git a/Master/texmf/doc/xindy/manual-1.html b/Master/texmf/doc/xindy/manual-1.html
new file mode 100644
index 00000000000..40fc1db4349
--- /dev/null
+++ b/Master/texmf/doc/xindy/manual-1.html
@@ -0,0 +1,42 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+ <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
+ <TITLE>xindy Manual: About this Manual</TITLE>
+ <LINK HREF="manual-2.html" REL=next>
+
+ <LINK HREF="manual.html#toc1" REL=contents>
+</HEAD>
+<BODY>
+<A HREF="manual-2.html">Next</A>
+Previous
+<A HREF="manual.html#toc1">Contents</A>
+<HR>
+<H2><A NAME="s1">1. About this Manual</A></H2>
+
+<P>We assume that the reader is already familiar with the task of an
+index processor and has basic experience in using a markup-based
+document preparation systems such as TeX/LaTeX [1, 2],
+the roff-family, or SGML-based systems (e.g. its instance HTML).
+<P>This document is structured as follows. The second part gives an
+overview on the index model that is used by our system and we define
+general concepts and terms. The third part contains a list of all
+index style commands, their syntax, and a description of their
+purpose. The reader should at least have read the first part of the
+manual to understand the basic terminology to be able to use the
+command reference. The fourth
+part describes the different processing phases the system runs
+through.
+<P>Invocation of <SF>xindy</SF> is not explained here. Please refer to the
+manual pages of the commands <CODE>xindy</CODE>, <CODE>texindy</CODE>,
+<CODE>makeindex4</CODE>, and to the 2nd edition of the LaTeX Companion. The
+<SF>xindy</SF> Web Site has more documentation, too.
+<P>
+<P>
+<P>
+<HR>
+<A HREF="manual-2.html">Next</A>
+Previous
+<A HREF="manual.html#toc1">Contents</A>
+</BODY>
+</HTML>
diff --git a/Master/texmf/doc/xindy/manual-2.html b/Master/texmf/doc/xindy/manual-2.html
new file mode 100644
index 00000000000..c3a7a87be77
--- /dev/null
+++ b/Master/texmf/doc/xindy/manual-2.html
@@ -0,0 +1,302 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+ <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
+ <TITLE>xindy Manual: How the Index Processor Works</TITLE>
+ <LINK HREF="manual-3.html" REL=next>
+ <LINK HREF="manual-1.html" REL=previous>
+ <LINK HREF="manual.html#toc2" REL=contents>
+</HEAD>
+<BODY>
+<A HREF="manual-3.html">Next</A>
+<A HREF="manual-1.html">Previous</A>
+<A HREF="manual.html#toc2">Contents</A>
+<HR>
+<H2><A NAME="how-works"></A> <A NAME="s2">2. How the Index Processor Works</A></H2>
+
+<P>
+<P>
+<H2><A NAME="ss2.1">2.1 Data Flow</A>
+</H2>
+
+<P>Usually document preparation systems produce some form data that
+describe the <EM>index entries</EM> and the <EM>locations</EM> they point to.
+This data is called the <EM>raw index</EM> since it consists of raw data
+which contains structured information about the entries of the index.
+The raw index is fed into the index processor and is processed
+according to a specification called the <EM>index style</EM>. This is a
+user-definable description how the index is to be processed, what
+sort rules for the keywords should be used, which kind of locations
+may appear, and finally, what tags should be emitted when writing the
+index into the output file. The result is sometimes fed back into the
+document preparation system, as it is in the case of TeX, or used
+otherwise. The following figure illustrates this embedding into the
+document preparation process.
+<P>
+<FIGURE>
+<EPS FILE="dataflow.eps">
+<IMG SRC="dataflow.gif">
+</FIGURE>
+<P>The <SF>xindy</SF> system is oriented on book-like indexes in a form that
+is described later in detail. The format of the input data is fixed
+and a small tool that converts some system dependent raw index in a
+form suitable for <SF>xindy</SF> should not be a big hurdle. The user is
+normally not involved in the correct format suitable for <SF>xindy</SF>
+and some tools will make this work invisible to him.
+<P>In contrast, the output of the <SF>xindy</SF> system is highly
+configurable and can produce a variety of different markups.
+Additionally, the way <SF>xindy</SF> processes the index data can be
+parametrized and controlled in many ways and gives the user a powerful
+framework for describing complex indexes. The user can tell <SF>xindy</SF>
+how it should produce an output according to his wishes or simply use
+some of the predefined styles that come with the distribution.
+<P>
+<P>
+<P>
+<P>
+<H2><A NAME="general-concepts"></A> <A NAME="ss2.2">2.2 General Concepts and Terms</A>
+</H2>
+
+<P>In the following sections we introduce some terms that are necessary
+to understand the way <SF>xindy</SF> works.
+<P>The development of <SF>xindy</SF> started with the devlopment of a model
+of a <EM>book-like</EM> index. This rather vague term will now be fleshed
+out by giving a semi-formal description of the model. If the structure
+of an index conforms to this model it can be processed by <SF>xindy</SF>.
+We first present a diagram that describes the structure of a processed
+index. It is a hierarchical recursive data structure which we will
+describe now.
+<P>
+<FIGURE>
+<EPS FILE="index.eps">
+<IMG SRC="index.gif">
+</FIGURE>
+<P>Boxed objects contain elements from the raw index such as the keywords
+or the location reference layers. We start from the root of the
+diagram and explain the different elements.
+<P>
+<P>
+<P>
+<DL>
+<P>
+<DT><B>index</B><DD><P>An index consists of a list of <SF>letter-groups</SF>.
+<P>
+<P>
+<A NAME="def letter-group"></A> <DT><B>letter-group</B><DD><P>The letter groups serve as containers for
+<SF>indexentries</SF>. The letter groups are intended to group all
+index entries sharing a common <SF>keyword</SF> prefix, allowing the
+assignment of a specific markup for each group. For example, indexes
+are often organized in a way that new index entries beginning with a
+new letter are separated by a specific markup. The following example
+illustrates this style.
+<P>
+<PRE>
+ B
+ bread 25, 27
+ butter 26
+
+ M
+ marmalade 19
+ milk 21
+</PRE>
+<P>Here we have two letter groups for the letters `B' and `M' because the
+keywords `bread' and `butter' share the same prefix `b' and
+`marmalade' and `milk' share the prefix `m'. <SF>xindy</SF> can be advised
+to define arbitrary letter groups with a particular markup for each of
+them. See command <CODE>define-letter-group</CODE> for further details.
+<P>
+<P>
+<DT><B>indexentry</B><DD><P>An index entry consists of three components: the
+<SF>keyword</SF> and optionally the list of <SF>location-class-groups</SF> and
+the sub-<SF>indexentries</SF>. An example:
+<P>
+<PRE>
+ bread 25-30
+ brown 26
+ white 27
+</PRE>
+<P>This index entry consists of the keyword `bread', the
+location class list `25-30' and the sub-entries `brown 26' and `white
+27'. The sub-entries themselves are complete index entries as well,
+forming a recursive data structure.
+<P>
+<P>
+<DT><B>keyword</B><DD><P>The keyword is the identifier of an index entry. It
+consists of a list of strings being the <EM>key</EM> if the index entry. In
+our model the keyword constists of a list of strings, since indexes
+are often organized hierarchically with different layers. In the
+example
+<P>
+<PRE>
+ bread 25-30
+ bread, brown 26
+ bread, white 27
+</PRE>
+<P>we have keywords `bread', `bread, brown' and `bread, white'.
+<P>A keyword is actually separated into four different keys. The
+<SF>main-key</SF> is the key that is specified from the author who indexes
+a document. The <SF>merge-key</SF> is derived from the main key with the
+so-called <EM>merge mapping</EM>. This mapping is accomplished with a set
+of rewrite rules. The <SF>sort-key</SF> is derived from the merge key with
+another set of rewrite rules called the <EM>sort mapping</EM>. The
+<SF>print-key</SF> can be specified by the user explicitely or, if it is
+ommited, equals the main key. The rewrite rules consist of string
+substitutions that also include regular expression features.
+<P>The following figure describes this:
+<P>
+<FIGURE>
+<EPS FILE="mappings.eps">
+<IMG SRC="mappings.gif">
+</FIGURE>
+<P>
+<P>The <SF>merge-key</SF> is necessary to define the equality of
+index entry keys. See command <CODE>merge-rule</CODE> for further details about
+defining the merge mapping.
+<P>The <SF>sort-key</SF> is necessary to define a total order on the
+keywords. Since we need a scheme that is independent from any specific
+character set such as ASCII or ISO-Latin, we must be able to define
+completely new alphabets. The index entries are then sorted according
+to the ISO-Latin alphabet. See the command <CODE>sort-rule</CODE> for an
+explanation how these mapping can be specified.
+<P>The <SF>print-key</SF> is used for the final markup and contains the
+string that appears in the generated markup.
+<P>
+<P>
+<DT><B>location-class-group</B><DD><P>There exist two kinds of
+location class groups namely <SF>location-reference-groups</SF> and
+<SF>cross-reference-groups</SF>.
+<P>
+<DT><B>location-reference-group</B><DD><P>consists of a list of
+<SF>attribute-groups</SF>.
+<P>
+<P>
+<DT><B>attribute-groups</B><DD><P>Each <SF>location-reference-group</SF> consists of
+a list of <SF>attribute-groups</SF>. Attribute groups are defined by a set
+of <SF>attributes</SF>. In the markup phase, all location references are
+sorted according to the group number their attributes belong to.
+Additionally all location references of a particular attribute group
+appear together in the index.
+<P>See command <CODE>define-attribute-groups</CODE> for further information about
+the handling of attribute-groups.
+<P>An attribute group consists of a list of <SF>location-references</SF>
+and/or <SF>ranges</SF>.
+<P>
+<P>
+<A NAME="def locref-class"></A> <DT><B>location-reference-class, location-reference, location</B><DD><P>Each
+index entry of an index references at least one <SF>location</SF> in the
+document. A <SF>location</SF> is a logical or physical part of a document,
+such as a single page, a section or subsection, etc. The symbolic name
+of a location is called a <SF>location-reference</SF>. The
+location reference is always represented as a string (a sequence of
+characters). Each location reference is associated a special tag
+called <SF>attribute</SF>. The following examples may give you an idea how
+location references could look like.
+<P>
+<BLOCKQUOTE>
+<CODE>"25" </CODE> represents a page number.
+</BLOCKQUOTE>
+<P>
+<BLOCKQUOTE>
+<CODE>"Chapter-3"</CODE> represents the third chapter of a document.
+</BLOCKQUOTE>
+<P>
+<BLOCKQUOTE>
+<CODE>"A-I" </CODE> represents the first page, written in uppercase roman
+numerals of the appendix `A', separated by a hyphen.
+</BLOCKQUOTE>
+<P>
+<BLOCKQUOTE>
+<CODE>"2.3.4" </CODE> represents the sub-sub-section 2.3.4 of a document.
+</BLOCKQUOTE>
+<P>As we can see, the location references are often composed
+hierarchically of smaller entities, such as numbers or names. All
+location references that belong to the same class form a
+<SF>location-class</SF>. A location class is composed of <SF>alphabets</SF>
+and <SF>separators</SF>. See command <CODE>define-location-class</CODE> for a
+description how classes can be defined.
+<P>
+<P>
+<DT><B>alphabet, separator</B><DD><P>As we have seen in the previous section,
+location classes consist of alphabets and separators. xindy has the
+following built-in set of basic alphabets:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+&lt;tag/&lt;tt/arabic-numbers// contains all non-negative numbers beginning
+with zero: 0, 1, 2, ....
+
+&lt;tag/&lt;tt/roman-numerals-uppercase// the roman numerals I, II, III,
+(IIII/IV), V, ... It recognizes the old and new roman numeral system.
+
+&lt;tag/&lt;tt/roman-numerals-lowercase// the same for the lowercase roman
+numerals.
+
+&lt;tag/&lt;tt/ALPHA// the US-ASCII alphabet (uppercase letters).
+
+&lt;tag/&lt;tt/alpha// the US-ASCII alphabet (lowercase letters).
+
+&lt;tag/&lt;tt/digits// the digits 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9 in this
+order.
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>The user is free to define new alphabets as he wishes. See the
+commands <CODE>define-alphabet</CODE> and <CODE>define-enumeration</CODE> for further
+details.
+<P>A complete location class can be defined by composing alphabets and
+separators. The location class of the example <CODE>"A-I"</CODE> can be
+defined as follows
+<P>
+<PRE>
+ (define-location-class "appendix"
+ (ALPHA "-" roman-numerals-uppercase))
+</PRE>
+<P>This is a list that completely describes all possible instances of
+this location class. Other valid members are <CODE>A-II</CODE>, <CODE>B-VI</CODE>,
+etc. Location classes are defined with the command
+<CODE>define-location-class</CODE>.
+<P><SF>xindy</SF> reads the incoming strings representing location references
+and tries to match them against a previously defined location class.
+There exist no predefined location classes.
+<P>
+<DT><B>range</B><DD><P>A <SF>range</SF> is a pair of <SF>location-references</SF>. A
+sequence of location references following one another is transformed
+into an range if the length of the sequence exceeds a certain
+user-definable limit. For example, the location references 11, 12, 13
+and&nbsp;14 may be transformed into the range 11--14. See command
+<CODE>define-location-class</CODE> for further details.
+<P>
+<P>
+<DT><B>cross-reference-group</B><DD><P>Container for all
+<SF>cross-references</SF> of a particular <SF>cross-reference-class</SF>.
+<P>
+<P>
+<A NAME="def crossref-class"></A> <DT><B>cross-reference-class, cross-reference</B><DD><P>A <SF>cross-reference</SF> is
+an unstructured reference. <SF>Cross-reference-classes</SF> are used to
+define different classes of cross references. All elements of a
+cross reference class appear together in the index. A cross reference
+consists of a list of strings.
+<P>
+<P>
+<DT><B>attributes</B><DD><P>Each location reference contains a so-called
+<SF>attribute</SF>. Attributes may be used to give a location reference a
+different meaning that may influence the processing and markup of this
+reference. Sometimes location references pointing to semantically
+different locations such as a definition or a usage of a term are
+tagged differently. They often appear in <EM>italics</EM> or <B>boldface</B>
+indicating this difference. An attribute may now be used to express
+this difference. Since <SF>xindy</SF> needs to know the possible
+attributes before the index entries are read in, the command
+<CODE>define-attributes</CODE> must be used to define a set of attributes and
+how they interact.
+<P>
+</DL>
+<P>
+<P>
+<P>
+<P>
+<HR>
+<A HREF="manual-3.html">Next</A>
+<A HREF="manual-1.html">Previous</A>
+<A HREF="manual.html#toc2">Contents</A>
+</BODY>
+</HTML>
diff --git a/Master/texmf/doc/xindy/manual-3.html b/Master/texmf/doc/xindy/manual-3.html
new file mode 100644
index 00000000000..3520de7f1ea
--- /dev/null
+++ b/Master/texmf/doc/xindy/manual-3.html
@@ -0,0 +1,1160 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+ <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
+ <TITLE>xindy Manual: Command List</TITLE>
+ <LINK HREF="manual-4.html" REL=next>
+ <LINK HREF="manual-2.html" REL=previous>
+ <LINK HREF="manual.html#toc3" REL=contents>
+</HEAD>
+<BODY>
+<A HREF="manual-4.html">Next</A>
+<A HREF="manual-2.html">Previous</A>
+<A HREF="manual.html#toc3">Contents</A>
+<HR>
+<H2><A NAME="s3">3. Command List</A></H2>
+
+<P>Here is the complete list of <SF>xindy</SF>'s commands that may be used in
+the index style. The symbol <CODE>name</CODE> always refers to a string. We
+separate the commands into the <EM>processing</EM> and
+<EM>markup</EM> commands. The commands are listed in alphabetical order.
+<P>The parenthesis `<CODE>[</CODE>' and `<CODE>]</CODE>' denote optional parts of the
+syntax and `<CODE>{</CODE>' and `<CODE>}</CODE>' denote the grouping of elements. A
+vertical bar indicates alternatives. However, the enclosing round
+braces <EM>are</EM> part of the syntax and must be supplied.
+<P>
+<P>
+<H2><A NAME="ss3.1">3.1 Processing Commands</A>
+</H2>
+
+<P>Here follows the list of processing commands.
+<P>
+<A NAME="define-alphabet"></A>
+<BLOCKQUOTE><CODE>
+<PRE>
+(define-alphabet name string-list)
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>Defines <CODE>name</CODE> to be the alphabet consisting of all elements of the
+<CODE>string-list</CODE>. Examples:
+<P>
+<PRE>
+ (define-alphabet "example-alphabet" ("An" "Example" "Alphabet"))
+</PRE>
+<P>defines an alphabet consisting of exactly three symbols. For the
+successor relationship holds: <CODE>succ("An")="Example"</CODE> and
+<CODE>succ("Example")="Alphabet"</CODE>. The built-in alphabet <CODE>digits</CODE> is
+defined as follows:
+<P>
+<PRE>
+ (define-alphabet "digits"
+ ("0" "1" "2" "3" "4" "5" "6" "7" "8" "9"))
+</PRE>
+<P>
+<P>
+<P>
+<A NAME="define-attributes"></A>
+<BLOCKQUOTE><CODE>
+<PRE>
+(define-attributes attribute-list)
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>Defines all attributes the raw index may contain. Parameter
+<CODE>attribute-list</CODE> is a list of list of strings. The nesting level
+must not be more than&nbsp;2. So <CODE>(..(..)..)</CODE> is allowed, whereas
+<CODE>(..(..(..)..)..)</CODE> is not.
+<P>The list has two kinds of elements: strings and list of strings. A
+single string is treated as if it were a single element list. So the
+lists <CODE>("definition")</CODE> and <CODE>( ("definition") )</CODE> are equivalent.
+All elements forming a list are a so-called <EM>attribute group</EM>. The
+members of a group are written to the output file before any member
+of the following groups are written.
+<P>Examples of valid attributes lists are:
+<P><CODE>("definition" "usage")</CODE> defines two attribute groups. The first
+one contains all references with the attribute <CODE>definition</CODE> and the
+second one all with the attribute <CODE>usage</CODE>.
+<P><CODE>(("definition" "important") "usage")</CODE> defines two attribute
+groups. The first one contains all references with the attributes
+<CODE>definition</CODE> or <CODE>important</CODE> and the second one all with the
+attribute <CODE>usage</CODE>. In the attribute group <CODE>("definition"
+"important")</CODE> the attribute <CODE>definition</CODE> overrides <CODE>important</CODE>.
+<P>
+<P>
+<P>
+<A NAME="define-crossref-class"></A>
+<BLOCKQUOTE><CODE>
+<PRE>
+(define-crossref-class name [:unverified])
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>Defines <CODE>name</CODE> to be a class of cross references. We distinguish
+two types of cross reference classes. <EM>Verified</EM> cross reference
+classes can be checked for dangling references. If for instance a
+cross reference points to the non-existent keyword `foo' a warning is
+issued and the user is advised to correct the invalid cross reference.
+This is the default. If for some reasons this mechanism must be
+deactivated the switch <CODE>:unverified</CODE> can be used to suppress this
+behaviour.
+<P>
+<P>
+<A NAME="define-letter-group"></A>
+<A NAME="define-letter-groups"></A>
+<BLOCKQUOTE><CODE>
+<PRE>
+(define-letter-group name [:before lgname] [:after lgname]
+ [:prefixes list-of-prefixes])
+
+(define-letter-groups list-of-letter-groups)
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>This command defines a letter group with name <CODE>name</CODE>, which must be
+a string value, grouping all index entries that have a <EM>sort key</EM>
+beginning with the prefix <CODE>name</CODE>. The command
+<P>
+<PRE>
+ (define-letter-group "a")
+</PRE>
+<P>is equivalent to the command
+<P>
+<PRE>
+ (define-letter-group "a" :prefixes ("a"))
+</PRE>
+<P>Using the latter form one can associate more than one prefix with a
+given letter group. Also further prefixes can be added to an already
+existing letter group by simply defining the same letter group again.
+This results not in a redefinition but in adding more prefixes to the
+currently defined prefixes.
+<P>Example:
+<P>
+<PRE>
+ (define-letter-group "a")
+</PRE>
+<P>defines a letter group containing all index entries beginning with the
+string <CODE>"a"</CODE>.
+<P>
+<PRE>
+ (define-letter-group "c" :after "a")
+</PRE>
+<P>defines a letter group containing all index entries beginning with the
+string <CODE>"c"</CODE>. The letter group appears behind the letter group "a"
+<P>
+<PRE>
+ (define-letter-group "b" :after "a" :before "c")
+</PRE>
+<P>inserts letter group "b" between letter group "a" and "c". This allows
+incremental definition of letter groups by extending already defined
+ones.
+<P>The arguments <CODE>:after</CODE> and <CODE>:before</CODE> define a partial order on
+the letter groups. <SF>xindy</SF> tries to convert this partial order into
+a total one. If this is impossible due to circular definitions, an
+error is reported. If more than one possible total ordering can
+result, it is left open which one is used, so one should always define
+a complete total order.
+<P>The command <CODE>define-letter-groups</CODE> (with an `s' at the end) is
+simply an abbreviation for a sequence of
+<CODE>define-letter-group</CODE> definitions where the elements are ordered in
+the ordering given by the list. Example:
+<P>
+<PRE>
+ (define-letter-groups ("a" "b" "c")
+</PRE>
+<P>equals the definitions
+<P>
+<PRE>
+ (define-letter-group "a")
+ (define-letter-group "b" :after "a")
+ (define-letter-group "c" :after "b")
+</PRE>
+<P>See also commands <CODE>markup-letter-group-list</CODE> and
+<CODE>markup-letter-group</CODE> for further information.
+<P>
+<P>
+<P>
+<A NAME="define-location-class"></A>
+<BLOCKQUOTE><CODE>
+<PRE>
+(define-location-class name layer-list
+ [:min-range-length num]
+ [:hierdepth depth]
+ [:var])
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>Defines <CODE>name</CODE> to be a location class consisting of the given list
+of layers. A list of layers consists of names of basetypes and/or
+strings representing separators. Separators must follow the
+keyword argument <CODE>:sep</CODE>. If the keyword <CODE>:min-range-length</CODE> is
+specified we define the <EM>minimum range length</EM> to be used when
+building ranges. The argument <CODE>num</CODE> must be a positive integer
+number or the keyword <CODE>none</CODE> in which case the building of ranges
+is disallowed. If the switch <CODE>:var</CODE> is specified the declared class
+is of type <EM>variable</EM>, i.e. it is a <EM>var-location-class</EM>. Since
+building of ranges is currently only allowed for standard classes
+<CODE>:var</CODE> and <CODE>:min-range-length</CODE> must not be used together. The
+keyword argument <CODE>:hierdepth</CODE> can be used to declare that the
+location references have to be tagged in a hierarchical form. Its
+argument <CODE>depth</CODE> must be an integer number indicating the number of
+layers the hierarchy does contain. See command
+<CODE>markup-locref-list</CODE> for more information. Examples:
+<P>
+<PRE>
+ (define-location-class "page-numbers" ("arabic-numbers")
+ :minimum-range-length 3)
+</PRE>
+<P>Defines the location class <CODE>page-numbers</CODE> consisting of one layer
+which is the alphabet <CODE>arabic-numbers</CODE>. Since the minimum
+range length is set to 3 the location references 2, 3 and 4 don't form
+a range because the range length is only 2. But the references 6, 7,
+8, and 9 are enough to form a range. Some example instances of this
+class are <CODE>0</CODE>, <CODE>1</CODE>, ... <CODE>2313</CODE>, etc.
+<P>
+<PRE>
+ (define-location-class "sections" :var
+ ("arabic-numbers" :sep "."
+ "arabic-numbers" :sep "."
+ "arabic-numbers"))
+</PRE>
+<P>defines a variable location class. Valid instances are <CODE>1</CODE>,
+<CODE>1.1</CODE>, <CODE>1.2</CODE>, <CODE>2</CODE>, <CODE>2.4.5</CODE>, but none of <CODE>2-3</CODE> (wrong
+separator), <CODE>1.2.3.4</CODE> (more than 3 layers), <CODE>2.3.iv</CODE> (roman
+number instead of arabic one).
+<P>
+<P>
+<P>
+<A NAME="define-location-class-order"></A>
+<BLOCKQUOTE><CODE>
+<PRE>
+(define-location-class-order list)
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>Defines the order in which the location classes are written to the
+output file. The parameter <CODE>list</CODE> is a list of names of
+location classes. Examples:
+<P>
+<PRE>
+ (define-location-class-order
+ ("page-numbers" "sections" "xrefs"))
+</PRE>
+<P>tells the system that the page numbers should appear before the
+section numbers and that the cross references should appear at the
+end. If this command is omitted, the declaration order of the
+location classes in the index style is implicitly used as the output
+order. In the case that a location class does not appear in the list,
+the output may behave unexpectedly, so one should always enumerate all
+used location classes when using this command.
+<P>
+<P>
+<P>
+<A NAME="define-rule-set"></A>
+<BLOCKQUOTE><CODE>
+<PRE>
+(define-rule-set name
+ [ :inherit-from ("rule-set" "rule-set-2") ]
+ :rules (&lt;rule>...) )
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>A complete specification of a multi-phase sorting process for a
+language requires that some rules have to appear in several subsequent
+sorting phases. Rule sets can be used to define a set of rules that
+can be instantiated in an arbitrary sorting phase. Basically, they
+offer means to separate the definition of sorting rules from their
+instantiation, hence, acting as a wrapper for calls to <CODE>sort-rule</CODE>.
+They do not add new functionality that is not already present with
+<CODE>sort-rule</CODE>.
+<P>A rule can be of the form:
+<P>
+<PRE>
+ &lt;rule> ::= ("pattern" "replacement"
+ [:string|:bregexp|:egegexp] [:again])
+</PRE>
+<P>The following incomplete example defines a new rule set of name
+<CODE>isolatin1-tolower</CODE> that inherits definitions from rule set
+<CODE>latin-tolower</CODE>, overriding or adding the sort rules in the list of
+<CODE>:rules</CODE>.
+<P>
+<PRE>
+ (define-rule-set "isolatin1-tolower"
+
+ :inherit-from ("latin-tolower")
+
+ :rules (("" "" :string :again)
+ ("" "" :string :again)
+ ("" "" :string :again)
+ ("" "" :string :again)
+ ("" "" :string :again)
+ ("" "" :string :again)
+ ("" "" :string :again)
+ ...
+ )
+ ...)
+</PRE>
+<P>Rule sets can be instantiated with the command <CODE>use-rule-set</CODE>. For
+further descriptions on the sorting model refer to the command
+<CODE>sort-rule</CODE>.
+<P>
+<P>
+<A NAME="define-sort-rule-orientations"></A>
+<BLOCKQUOTE><CODE>
+<PRE>
+(define-sort-rule-orientations (orientations...))
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>Defines the order for the different sorting phases. The currently
+implemented <EM>orientations</EM> are <CODE>forward</CODE> and <CODE>backward</CODE>. This
+command must precede all <CODE>sort-rule</CODE> commands in an index style. It
+defines the orientations and implicitly sets the maximum number of
+sorting phases performed.
+<P>For further descriptions on the sorting model refer to the command
+<CODE>sort-rule</CODE>.
+<P>
+<P>
+<P>
+<A NAME="merge-rule"></A>
+<BLOCKQUOTE><CODE>
+<PRE>
+(merge-rule pattern replacement [:again]
+ [:bregexp | :eregexp | :string])
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>Defines a keyword mapping rule that can be used to generate the
+<EM>merge key</EM> from the <EM>main key</EM> of an index entry. This mapping
+is necessary to map all keywords that are differently written but
+belong to the same keyword to the same canonical keyword.
+<P>The parameter <CODE>pattern</CODE> can be a POSIX-compliant regular expression
+or an ordinary string. The implementation uses the GNU Rx regular
+expression library which implements the POSIX regular expressions.
+Regular expressions (REs) can be specified as <EM>basic regular
+expressions</EM> (BREs) or <EM>extended regular expressions</EM> (EREs). You
+can use the switch <CODE>:bregexp</CODE> to force the interpretation of the
+pattern as a BRE, or <CODE>:eregexp</CODE> to interpret it as an ERE. If you
+want <SF>xindy</SF> to interpret the pattern literally, use the switch
+<CODE>:string</CODE>. If none of these switches is selected, <SF>xindy</SF> uses
+an auto-detection mechanism to decide, if the pattern is a regular
+expression or not. If it recognizes the pattern as a RE, it interprets
+it as an ERE by default.
+<P>The parameter <CODE>replacement</CODE> must be
+a string possibly containing the special characters <CODE>&amp;</CODE>
+(substitutes for the complete match) and <CODE>\1</CODE>,...,<CODE>\9</CODE>
+(substituting for the <EM>n</EM>-th submatch. Examples:
+<P>
+<PRE>
+ (merge-rule "A" "a")
+</PRE>
+
+replaces each occurrence of the uppercase letter `<CODE>A</CODE>' with its
+lowercase counterpart.
+<P>
+<PRE>
+ (merge-rule "\~"([AEOUaeou])" "\1")
+</PRE>
+
+transforms the TeX umlaut-letters into their stripped counterparts,
+such that `<CODE>\"A</CODE>' is treated as an `<CODE>A</CODE>' afterwards.
+<P>The following sequences have a special meaning:
+<P>`<CODE>~n</CODE>' : End of line symbol (<EM>linefeed</EM>).
+<P>`<CODE>~b</CODE>' : The ISO-Latin character with the lowest ordinal number.
+<P>`<CODE>~e</CODE>' : The ISO-Latin character with the highest ordinal number.
+<P>`<CODE>~~</CODE>' : The tilde character.
+<P>`<CODE>~"</CODE>' : The double quote character.
+<P>Tilde characters and double quotes have to be quoted themselves with a
+tilde character. The special characters `<CODE>~b</CODE>' and
+`<CODE>~e</CODE>' allow the definition of arbitrary sorting orders by
+rules. In connection with an additional character every position in
+the alphabet can be described. E.g. `<CODE>m~e</CODE>' is
+lexicographically placed between `<CODE>m</CODE>' and `<CODE>n</CODE>'.
+<P>Due to efficiency, rules that just exchange characters or substitute
+constant character sequences are not treated as regular expressions.
+Therefore, instead of using the rule
+<P>
+<PRE>
+ (merge-rule "[A-Z]" "&amp;x")
+</PRE>
+<P>it is more efficient (though less comfortable) to use
+<P>
+<PRE>
+ (merge-rule "A" "Ax")
+ (merge-rule "B" "Bx")
+ ...
+ (merge-rule "Z" "Zx")
+</PRE>
+<P>Usually rules are applied in order of their definition. Rules with a
+special prefix precede those that begin with a class of characters, so
+that the search pattern `<CODE>alpha</CODE>' is checked before `<CODE>.*</CODE>', but
+`<CODE>auto</CODE>' and `<CODE>a.*</CODE>' are checked in order of their definition.
+<P>The first rule from a style file that matches the input is
+applied and the process restarts behind the substituted text. If no
+rule could be applied, the actual character is copied from the input
+and the process continues with the next character.
+<P>Sometimes it is necessary to apply rules anew to the result of a
+transformation. By specifying the keyword argument <CODE>:again</CODE> in the
+merge rule the rule is marked as <EM>mutable</EM>, which means that after
+using this rule the transformation process shall restart at the same
+place. E.g. the rule
+<P>
+<PRE>
+ (merge-rule "\$(.*)\$" "\1" :again)
+</PRE>
+<P>deletes <EM>all</EM> surrounding `<CODE>$</CODE>' symbols from the input.
+<P>See also command <CODE>sort-rule</CODE>.
+<P>
+<P>
+<A NAME="merge-to"></A>
+<BLOCKQUOTE><CODE>
+<PRE>
+(merge-to attr-from attr-to [:drop])
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>A <EM>merge rule</EM> says that the attribute <CODE>attr-from</CODE> can be used
+to build ranges in <CODE>attr-to</CODE>. Both attributes must name valid
+attribute names. The switch <CODE>:drop</CODE> indicates, that the original
+location reference with attribute <CODE>attr-from</CODE> has to be dropped
+(removed), if a successful range was built with location references in
+attribute <CODE>attr-to</CODE>. A detailed description is given in the section
+about processing phases.
+<P>
+<P>
+<P>
+<A NAME="require"></A>
+<BLOCKQUOTE><CODE>
+<PRE>
+(require filename)
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>This command allows to load more index style modules. The module is
+searched in the directories defined in the search path. The file is
+read in and processing of the current file continues. The argument
+<CODE>filename</CODE> must be a string. This allows to decompose the
+index style into several modules that can be included into the topmost
+index style file. Example:
+<P>
+<PRE>
+ (require "french/alphabet.xdy")
+ (require "french/sort-rules.xdy")
+ (require "tex/locations.xdy")
+ (require "tex/markup.xdy")
+</PRE>
+<P>Submodules can load other submodules as well. If a file is required
+that was already loaded, the <CODE>require</CODE> command is simply ignored
+and processing continues without including this file twice. See also
+command <CODE>searchpath</CODE>.
+<P>
+<P>
+<P>
+<A NAME="searchpath"></A>
+<BLOCKQUOTE><CODE>
+<PRE>
+(searchpath {path-string | path-list})
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>This command adds the given paths to the list of paths, <SF>xindy</SF>
+searches for index style files. The argument <CODE>path-string</CODE> must be
+a colon-separated string of directory names. If this path ends with a
+colon the default search path is added to the end of the path list.
+Example:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+ (searchpath ".:/usr/local/lib/xindy:/usr/local/lib/xindy/english:")
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>adds the specified directories to the search path. Since the last path
+ends with a colon, the built-in search path is added at the end.
+Specifying
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+ (searchpath ("."
+ "/usr/local/lib/xindy"
+ "/usr/local/lib/xindy/english"
+ :default))
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>yields exactly the same result as the example above. Here
+<CODE>path-list</CODE> must be a list of strings and/or the keyword(s)
+<CODE>:default</CODE> and <CODE>:last</CODE>. The keyword <CODE>:default</CODE> signifies that
+the default pathnames are to be inserted at the specified position in
+the list. The keyword <CODE>:last</CODE> allows to insert the currently active
+paths at the indicated position. Since this allows to insert the
+built-in paths at any position and incrementally adding new paths to
+the search path, this version of the command ist more flexible than
+the first version.
+<P>
+<P>
+<A NAME="sort-rule"></A>
+<BLOCKQUOTE><CODE>
+<PRE>
+(sort-rule pattern replacement [:run level] [:again])
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>Defines a keyword mapping rule that can be used to generate the
+<EM>sort key</EM> of an index entry from the <EM>merge key</EM>. This key is
+used to sort the index entries lexicographically after they have been
+merged using the merge key.
+<P>The argument <CODE>:run</CODE> indicates that this rule is only in effect
+a the specified <EM>level</EM> (default is level 0). For a detailed
+discussion on the definition of sort rules for different layers refer
+to the documentation about the new sorting scheme
+(<CODE>new-sort-rules</CODE>) that comes with this distribution.
+<P>See command <CODE>merge-rule</CODE> for more information about keyword
+rules.
+<P>
+<P>
+<P>
+<A NAME="use-rule-set"></A>
+<BLOCKQUOTE><CODE>
+<PRE>
+(use-rule-set [:run phase]
+ [:rule-set ( &lt;rule-set>... ))
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>This command instantiates the gives rule sets to be in effect at
+sorting phase <CODE>phase</CODE>. The order of the rule sets given with
+argument <CODE>:rule-set</CODE> is significant. Rule set entries of rule set
+appearing at the beginning of the list override entries in rule sets
+at the end of the list.
+<P>The following example declares that in phase 0 the rule sets
+<CODE>din5007</CODE> and <CODE>isolatin1-tolower</CODE> should be active, whereas in
+phase 2 the other rule sets have to be applied.
+<P>
+<PRE>
+ (use-rule-set :run 0
+ :rule-set ("din5007" "isolatin1-tolower"))
+
+ (use-rule-set :run 1
+ :rule-set ("resolve-umlauts"
+ "resolve-sharp-s"
+ "isolatin1-tolower"
+ ))
+</PRE>
+<P>For a discussion on rule sets refer to command <CODE>define-rule-set</CODE>.
+<P>
+<P>
+<P>
+<H2><A NAME="ss3.2">3.2 Markup Commands</A>
+</H2>
+
+<P>
+<P>The following commands can be used to define the markup of the index.
+They don't have any influence on the indexing process. Since the
+markup scheme is characterized by the concept of <EM>environments</EM>,
+the syntax and naming scheme of all commands follows a simple
+structure.
+<P>The commands can be separated into <EM>environment</EM> and
+<EM>list-environment</EM> commands. All commands of the first group
+support the keyword arguments <CODE>:open</CODE> and <CODE>:close</CODE>, whereas the
+second group additionally supports the keyword argument <CODE>:sep</CODE>. If
+one of these keyword arguments is missing, the default markup tag is
+<EM>always</EM> the empty tag. The <CODE>:open</CODE> tag is always printed before
+the object itself and the <CODE>:close</CODE> tag is always printed after the
+object has been printed. If a list is printed the <CODE>:sep</CODE>tag is
+printed between two elements of the list but not before the first
+element, or after the last one. All commands dealing with a list have
+the suffix `<CODE>-list</CODE>' as part of their command name.
+<P>Since the number of commands and the heavy usage of <EM>default</EM> and
+<EM>specialized</EM> tags makes the markup somehow complex (but very
+powerful) we have added a mechanism to trace the markup tags
+<SF>xindy</SF> omits during its markup phase with the command
+<CODE>markup-trace</CODE>.
+<P>Here follows the list of markup commands in alphabetical order with
+some of the commands grouped together.
+<P>
+<P>
+<A NAME="markup-attribute-group"></A>
+<A NAME="markup-attribute-group-list"></A>
+<BLOCKQUOTE><CODE>
+<PRE>
+(markup-attribute-group-list [:open string] [:close string]
+ [:sep string])
+
+(markup-attribute-group [:open string] [:close string]
+ [:group group-num])
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>Location class groups consist of lists of attribute groups. The markup
+of this list can be defined with the command
+<CODE>markup-attribute-group-list</CODE>.
+<P>To allow different markup for different attribute groups the command
+<CODE>markup-attribute-group</CODE> can be specialized on the group number
+with the keyword argument <CODE>:group</CODE> which must be an integer number.
+E.g., given are the groups <CODE>("definition" "theorem")</CODE> and
+<CODE>("default")</CODE> with group numbers 0 and 1, then
+<P>
+<PRE>
+ (markup-attribute-group :open "&lt;group0>" :close "&lt;/group0>"
+ :group 0)
+
+ (markup-attribute-group :open "&lt;group1>" :close "&lt;/group1>"
+ :group 1)
+</PRE>
+<P>can be used to assign different markup for both groups in a SGML-based
+language.
+<P>
+<P>
+<A NAME="markup-crossref-layer"></A>
+<A NAME="markup-crossref-layer-list"></A>
+<A NAME="markup-crossref-list"></A>
+<BLOCKQUOTE><CODE>
+<PRE>
+(markup-crossref-list [:open string] [:close string]
+ [:sep string]
+ [:class crossref-class])
+
+(markup-crossref-layer-list [:open string] [:close string]
+ [:sep string]
+ [:class crossref-class])
+
+(markup-crossref-layer [:open string] [:close string]
+ [:class crossref-class])
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>A crossref class group contains cross references of the same class.
+The separator between the classes is defined with the
+<CODE>(markup-locclass-list :sep)</CODE>-parameter. A list of cross references
+can be tagged with the command <CODE>markup-crossref-list</CODE> that
+specializes on the <CODE>:class</CODE> argument.
+<P>Each cross reference is determined by a list of layers indicating
+the target of the cross reference. To define a suitable markup for
+such a list the command <CODE>markup-crossref-layer-list</CODE> can be used.
+<P>Each layer of a cross reference can be assigned two tags that
+specialize on the class of the reference, like all other commands.
+<P>A suitable markup for a cross reference class <CODE>see</CODE> within LaTeX2e
+could look like that:
+<P>
+<PRE>
+ (markup-crossref-list :class "see" :open "\emph{see} "
+ :sep "; ")
+ (markup-crossref-layer-list :class "see" :sep ",")
+ (markup-crossref-layer :class "see"
+ :open "\textbf{" :close "}")
+</PRE>
+<P>An example output could look like
+<P>
+<BLOCKQUOTE>
+... <EM>see</EM> <B>house</B>; <B>garden</B>,<B>winter</B>; <B>greenhouse</B>
+</BLOCKQUOTE>
+<P>
+<P>
+<A NAME="markup-index"></A>
+<BLOCKQUOTE><CODE>
+<PRE>
+(markup-index [:open string] [:close string]
+ [ :flat | :tree | :hierdepth depth ])
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>Defines the markup tags that enclose the whole index via the
+<CODE>:open</CODE> and <CODE>:close</CODE> parameters. Examples:
+<P>
+<PRE>
+ (markup-index :open "Here comes the index~n"
+ :close "That's all folks!~n")
+</PRE>
+<P>defines that the <CODE>:open</CODE> string is printed before the rest of the
+index and the <CODE>:close</CODE> string appears after the index is printed.
+<P>Additionally one can specify the form of the generated index. It is
+possible to produce flat indexes by specifying the switch <CODE>:flat</CODE>,
+to generate a tree with the <CODE>:tree</CODE> switch or any kind of mixture
+between both by specifying the depth up to which trees shall be built
+with the parameter <CODE>:hierdepth</CODE>. Its argument <CODE>depth</CODE> is the
+number of layers that can be formed into a tree. Therefore <CODE>:flat</CODE>
+is an abbrevation of <CODE>:hierdepth 0</CODE> and <CODE>:tree</CODE> is an
+abbrevation of <CODE>:hierdepth max-depth</CODE>, with <CODE>max-depth</CODE> being
+the maximum number of layers a keyword has. An example: the keywords
+<P>
+<PRE>
+ ("tree" "binary" "AVL")
+ ("tree" "binary" "natural")
+</PRE>
+<P>can be transformed in the following ways:
+<P>A flat index (<CODE>:flat</CODE> or <CODE>:hierdepth 0</CODE>)
+<P>
+<PRE>
+ tree binary AVL
+ tree binary natural
+</PRE>
+<P>with <CODE>:hierdepth 1</CODE>
+<P>
+<PRE>
+ tree
+ binary AVL
+ binary natural
+</PRE>
+<P>and a tree (<CODE>:tree</CODE> or <CODE>:hierdepth</CODE> &gt; 1)
+<P>
+<PRE>
+ tree
+ binary
+ AVL
+ natural
+</PRE>
+<P>Most often one will create tree-like indexes or ones that are flat.
+<P>
+<P>
+<A NAME="markup-indexentry-list"></A>
+<A NAME="markup-indexentry"></A>
+<BLOCKQUOTE><CODE>
+<PRE>
+(markup-indexentry-list [:open string] [:close string]
+ [:sep string] [:depth integer])
+
+(markup-indexentry [:open string] [:close string]
+ [:depth integer])
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>Letter groups consists of a list of index entries. The command
+<CODE>markup-indexentry-list</CODE> defines the markup of these lists. The
+markup can be specialized on the depth if the index is hierarchically
+organized. The command
+<P>
+<PRE>
+ (markup-indexentry-list :open "\begin{IdxentList}"
+ :close "\end{IdxentList}"
+ :sep "~n")
+</PRE>
+<P>defines that the index entries of all layers are wrapped into the
+given markup tags. If additionally
+<P>
+<PRE>
+ (markup-indexentry-list :open "\begin{IdxentListII}"
+ :close "\end{IdxentListII}"
+ :sep "~n"
+ :depth 2)
+</PRE>
+<P>is defined, all index entry lists of all layers (except layer 2) are
+tagged according to the first specification, and the index entry list
+within depth 2 are tagged according to the second rule.
+<P>The command <CODE>markup-indexentry</CODE> defines the markup of an index entry
+at a given depth. Since index entries may also contain subentries and
+the markup for subentries may be different in different layers, the
+optional keyword argument <CODE>:depth</CODE> can be used to assign different
+markup for different layers. If depth is ommited the default markup
+for all possible depths is defined. The top-most index entries have
+depth 0.
+<P>
+<PRE>
+ (markup-indexentry :open "\begin{Indexentry}"
+ :close "\end{Indexentry}")
+</PRE>
+<P>defines that the index entries of all layers are wrapped into the
+given markup tags. If additionally
+<P>
+<PRE>
+ (markup-indexentry :open "\begin{IndexentryII}"
+ :close "\end{IndexentryII}"
+ :depth 2)
+</PRE>
+<P>is defined, all index entries of all layers (except layer 2) are tagged
+according to the first specification, and the index entries with depth
+2 are tagged according to the second rule.
+<P>
+<P>
+<A NAME="markup-keyword-list"></A>
+<A NAME="markup-keyword"></A>
+<BLOCKQUOTE><CODE>
+<PRE>
+(markup-keyword-list [:open string] [:close string]
+ [:sep string] [:depth integer])
+
+(markup-keyword [:open string] [:close string]
+ [:depth integer])
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>
+<P>The print key of an index entry consists of a list of strings. The
+markup of this list can be defined with the command
+<CODE>markup-keyword-list</CODE>. The keyword argument <CODE>:depth</CODE> may be
+specified to define the markup of the list at a particular depth.
+<P>The keyword of an index entry consists of a list of strings. Each of
+these components is tagged with the strings defined with the command
+<CODE>markup-keyword</CODE>. Since we maybe need different markup for
+different layers, the optional keyword argument can be used to
+specialize this markup for some depth.
+<P>
+<P>
+<A NAME="markup-letter-group-list"></A>
+<A NAME="markup-letter-group"></A>
+<BLOCKQUOTE><CODE>
+<PRE>
+(markup-letter-group-list [:open string] [:close string]
+ [:sep string])
+
+(markup-letter-group [:open string] [:close string] [:group group-name]
+ [:open-head string] [:close-head string]
+ [:upcase | :downcase | :capitalize])
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>The first command defines the markup of the letter group with name
+<CODE>group-name</CODE>. Since the markup of letter groups often contains the
+name of the letter group as a part of it, the other keyword arguments
+allow an additional markup for this group name. If one of the
+parameters <CODE>:open-head</CODE> and <CODE>:close-head</CODE> is specified
+additional markup is added as can be described as follows:
+<P>
+<PRE>
+ &lt;OPEN>
+ IF (:open-head OR :close-head)
+ &lt;OPEN-HEAD>
+ transformer-of(&lt;GROUP-NAME>)
+ &lt;CLOSE-HEAD>
+ FI
+ &lt;INDEXENTRIES...>
+ &lt;CLOSE>
+</PRE>
+<P>Here, <CODE>transformer-of</CODE> is a function that possibly transforms the
+string representing the group name into another string. The
+transformers we currently support can be specified with the switches
+<CODE>:upcase</CODE>, <CODE>:downcase</CODE> and <CODE>:capitalize</CODE> which result in the
+corresponding string conversions. If none of them is specified no
+transformation is done at all.
+<P>The command <CODE>markup-letter-group</CODE> defines the markup of the list of
+letter groups.
+<P>
+<P>
+<A NAME="markup-locclass-list"></A>
+<BLOCKQUOTE><CODE>
+<PRE>
+(markup-locclass-list [:open string] [:close string]
+ [:sep string])
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>Each index entry contains a list of location class groups. This markup
+command can be used to define the markup of this list.
+<P>
+<P>
+<A NAME="markup-locref"></A>
+<BLOCKQUOTE><CODE>
+<PRE>
+(markup-locref [:open string] [:close string]
+ [:class locref-class]
+ [:attr attribute]
+ [:depth integer])
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>The markup tags of a location reference can be specialized on the
+three arguments <CODE>:class</CODE>, <CODE>:attr</CODE> and additionally, if
+sub-references are used, <CODE>:depth</CODE>. Most often one will only use a
+tag depending on the attribute. For example, all location references
+with the attribute <CODE>definition</CODE> should appear in a font series like
+bold, emphasizing the importance of this location reference; those
+with the attribute <CODE>default</CODE> in font shape italic. The markup in
+this case would not specialize on the depth or any particular class. A
+valid definition, suitable for a usage within HTML, could look like
+this.
+<P>
+<PRE>
+ (markup-locref :open "&lt;B>" :close "&lt;/B>" :attr "definition")
+ (markup-locref :open "&lt;I>" :close "&lt;/I>" :attr "default")
+</PRE>
+<P>
+<P>
+<A NAME="markup-locref-class"></A>
+<BLOCKQUOTE><CODE>
+<PRE>
+(markup-locref-class [:open string] [:close string]
+ [:class locref-class])
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>All location references of a particular location reference class can
+be wrapped into the tags defined by this command. It specializes on
+the keyword argument <CODE>:class</CODE>.
+<P>
+<P>
+<A NAME="markup-locref-layer-list"></A>
+<A NAME="markup-locref-layer"></A>
+<BLOCKQUOTE><CODE>
+<PRE>
+(markup-locref-layer [:open string] [:close string]
+ [:depth integer] [:layer integer]
+ [:class locref-class])
+
+(markup-locref-layer-list [:open string] [:close string]
+ [:sep string]
+ [:depth integer]
+ [:class locref-class])
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>A location reference contains a list of location reference layers. The
+second markup command can be used to markup this list. It specializes
+on the class of the location references and the depth (if
+sub-references are used).
+<P>The first command allows to tag the elements of a layer list
+differently. The first element of this list can is specialisable with
+<CODE>:layer 0</CODE>, the next element with <CODE>:layer 1</CODE>, etc. See the next
+example for an example.
+<P>
+<P>
+<A NAME="markup-locref-list"></A>
+<BLOCKQUOTE><CODE>
+<PRE>
+(markup-locref-list [:open string] [:close string] [:sep string]
+ [:depth integer] [:class locref-class])
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>An attribute group contains a list of location references and/or
+ranges. Additionally a layered location reference itself may contain
+sub-references that are stored as a list of location references. We
+specialize the markup for these lists on the location class they
+belong to with the keyword argument <CODE>:class</CODE>, and on <CODE>:depth</CODE>
+that specializes on the different subentry levels when using
+location references with sub-references.
+<P>Given is a list of location references that have the class description
+<P>
+<PRE>
+ (define-location-class "Appendix"
+ ("ALPHA" :sep "-" "arabic-numbers")
+ :hierdepth 2)
+</PRE>
+<P>This location class has instances like <CODE>A-1</CODE>, <CODE>B-5</CODE>, etc. The
+keyword argument <CODE>:hierdepth 2</CODE> informs <SF>xindy</SF> to markup these
+location references in a hierarchical form. With the commands
+<P>
+<PRE>
+ (markup-locref-list :sep "; "
+ :depth 0 :class "Appendix")
+ (markup-locref-list :open " " :sep ","
+ :depth 1 :class "Appendix")
+ (markup-locref-layer :open "{\bf " :close "}" :layer 0
+ :depth 0 :class "Appendix")
+</PRE>
+<P>we obtain a markup sequence for some example data that could look like
+<P>
+<PRE>
+ {\bf A} 1,2,5; {\bf B} 5,6,9; {\bf D} 1,5,8; ...
+</PRE>
+<P>
+<P>
+<P>
+<A NAME="markup-range"></A>
+<BLOCKQUOTE><CODE>
+<PRE>
+(markup-range [:open string] [:close string] [:sep string]
+ [:class locref-class]
+ [:length num] [:ignore-end])
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>A range consists of two location references. Markup can be specified
+with the <CODE>:open</CODE> and <CODE>:close</CODE> arguments and one separator given
+by the argument <CODE>:sep</CODE>.
+<P>Since both location references are tagged with markup defined by the
+command <CODE>markup-locref</CODE> a specialization on attributes or depth is
+not necessary. Specialization is allowed on the class they belong to,
+because the separator between two location refences may be different
+for each location class. Argument <CODE>:length</CODE> can be used to define
+different markup for different lengths. In conjunction with
+<CODE>:length</CODE> is may be useful not to print the second location
+reference at all. For example, one wishes to markup ranges of length 1
+in the form <EM>Xf.</EM> instead of <EM>X--Y</EM>. This can be accomplished
+with the switch <CODE>:ignore-end</CODE>.
+<P>The markup tags for a range <EM>(X,Y)</EM> can be described as follows:
+<P>
+<PRE>
+ &lt;OPEN>
+ Markup of location reference X
+ &lt;SEP>
+ IF (not :ignore-end)
+ Markup of location reference Y
+ FI
+ &lt;CLOSE>
+</PRE>
+<P>
+<P>The following tags can be used to define a range of page numbers
+(given in a location class <CODE>page-numbers</CODE>) without considering the
+open and close parameters:
+<P>
+<PRE>
+ (markup-range :sep "-" :class "page-numbers")
+</PRE>
+<P>Location ranges then appear separated by a hyphen in a form like this:
+<P>
+<PRE>
+ ..., 5-8, 19-23, ...
+</PRE>
+<P>
+<P>
+<A NAME="markup-trace"></A>
+<BLOCKQUOTE><CODE>
+<PRE>
+(markup-trace [:on] [:open string] [:close string])
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>This command can be used to activate the tracing of all
+markup commands <SF>xindy</SF> executes. The switch <CODE>:on</CODE> activates the
+trace. If <CODE>:on</CODE> is omitted, the command line flag <CODE>-t</CODE> can be
+used as well. All tags which are emitted but not yet defined
+explicitly by the user are tagged with a symbolic notation indicating
+the commands that must be used to define this tag. The defaults for
+the keyword argument <CODE>:open</CODE> is `<CODE>&lt;</CODE>' and for <CODE>:close</CODE> is
+`<CODE>></CODE>'. The beginning of an example output could look like:
+<P>
+<PRE>
+ &lt;INDEX:OPEN>
+ &lt;LETTER-GROUP-LIST:OPEN>
+ &lt;LETTER-GROUP:OPEN ["a"]>
+ &lt;INDEXENTRY-LIST:OPEN [0]>
+ &lt;INDEXENTRY:OPEN [0]>
+ &lt;KEYWORD-LIST:OPEN [0]>
+ &lt;KEYWORD:OPEN [0]>
+ ...
+</PRE>
+<P>We use a simple indentation scheme to make the structure of the tags
+visible. The symbolic tag <CODE>&lt;LETTER-GROUP:OPEN ["a"]></CODE> for example
+indicates that the tag that can be specified with the command
+<P>
+<PRE>
+ (markup-letter-group :open "XXX" :group "a" ... )
+</PRE>
+<P>is emitted at this point in the markup process. By incrementally
+adding markup commands to the index, more and more tags can be defined
+until the whole markup is defined. This general mechanism should allow
+everyone understand the markup process. The best is to start with a
+small index, define the complete markup and afterwards process the
+whole index. Additionally one can enclose the symbolic tags into an
+environment that is neutral to the document preparation system, such
+as a comment. For TeX this could be
+<P>
+<PRE>
+ (markup-trace :open "%%" :close "~n")
+</PRE>
+<P>or a definition in the TeX document like
+<P>
+<PRE>
+ \def\ignore#1{}
+</PRE>
+<P>combined with the command
+<P>
+<PRE>
+ (markup-trace :open "\ignore{" :close "}")
+</PRE>
+<P>
+<P>
+<P>
+<A NAME="raw-index"></A> <H2><A NAME="ss3.3">3.3 Raw Index Interface</A>
+</H2>
+
+<P>
+<P>This section can be skipped if the reader is not interested in
+adapting <SF>xindy</SF> to a new document preparation system.
+<P>The raw index is the file that represents the index that is to be
+processed. Since many different document preparation systems may use
+different forms of index representations, their output must be
+transformed in a form readable by <SF>xindy</SF>. We also could have
+written an configurable parser performing this task, but usually a
+tool written with some text processing tools such as <CODE>perl</CODE>,
+<CODE>sed</CODE> or <CODE>awk</CODE> can achieve the same task as well. Therefore,
+adapting <SF>xindy</SF> to a completely different system can mostly be
+done by writing an appropriate raw index filter.
+<P>The format of the raw index interface of <SF>xindy</SF> is defined as
+follows:
+<P>
+<A NAME="indexentry"></A>
+<BLOCKQUOTE><CODE>
+<PRE>
+(indexentry { :key string-list [:print string-list]
+ | :tkey list-of-layers }
+ [:attr string]
+ { :locref string [:open-range | :close-range]
+ | :xref string-list } )
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>The pseudo variable <EM>string</EM> is a sequence of characters
+surrounded by double quotes, e.g.
+<P>
+<PRE>
+ "Hi, it's me" "one" "a string with two \"double quotes\""
+</PRE>
+<P>are three examples of valid strings. If you need to include a
+double quote as a literal character, you must quote it itself with a
+backslash as shown in the third example. A <EM>string list</EM> is simply
+a list of strings separated by whitespaces and surrounded by round
+braces. An example of a string list is
+<P>
+<PRE>
+ ("This" "is" "a" "list" "of" "strings")
+</PRE>
+<P>So far about the syntax. The semantics of the different elements are
+described here.
+<P>
+<P>
+<DL>
+<P>
+<DT><B><CODE>:key</CODE></B><DD><P>The argument <EM>string list</EM> defines the keyword of
+the index entry. It must be a list of strings, since the keyword may
+consist of different layers such as <CODE>("heap" "fibonacci")</CODE>.
+<P>
+<DT><B><CODE>:print</CODE></B><DD><P>The optional <EM>print key</EM> defines the way the
+keyword has to be printed in the markup phase.
+<P>
+<DT><B><CODE>:tkey</CODE></B><DD><P>Another possibility to define the keys of an
+index entry is with the <CODE>:tkey</CODE> keyword argument. It can be used
+instead of the <CODE>:key</CODE> and <CODE>:print</CODE> arguments. Instead of
+specifying separately the key and the corresponding print key, we
+define the keyword by its layers. Each layer consist of a list of one
+or two strings. The first string will be interpreted as the main key,
+whereas the second one will become the print key. If the print key is
+ommited, the main key is taken instead. So the definition
+<P>
+<PRE>
+ :tkey (("This") ("is") ("a") ("bang" "BANG !!!"))
+</PRE>
+<P>is equivalent to
+<P>
+<PRE>
+ :key ("This" "is" "a" "bang")
+ :print ("This" "is" "a" "BANG !!!")
+</PRE>
+<P>
+<P>
+<DT><B><CODE>:locref</CODE></B><DD><P>The reference an index entry describes can be a
+<EM>location reference</EM> or a <EM>cross reference</EM>. The switch
+<CODE>:locref</CODE> describes a location reference. Its optional arguments
+are <CODE>:open-range</CODE> and <CODE>:close-range</CODE>. The <EM>string</EM> that must
+be supplied must somehow encode the location reference. It might look
+like the string <CODE>"25"</CODE> representing the page number 25, or
+<CODE>"Appendix-I"</CODE> representing the first appendix numbered in
+uppercase roman numerals.
+<P>
+<DT><B><CODE>:open-range</CODE>,<CODE>:close-range</CODE></B><DD><P>These are switches that do not
+take any arguments. They describe the beginning and ending of a
+<EM>range</EM>, starting or ending from the location reference that is
+given by the argument <CODE>:locref</CODE>. If they are supplied, the
+location reference may have influence on the way ranges are build.
+<P>
+<DT><B><CODE>:xref</CODE></B><DD><P>These arguments choose the second alternative. The
+argument <EM>string list</EM> of parameter <CODE>:xref</CODE> describes where the
+index entry should point to.
+<P>
+<DT><B><CODE>:attr</CODE></B><DD><P>This parameter may be used to tag a location reference
+with a certain attribute or it names the class of a cross reference.
+It may also used to associate different markup for different
+attributes in the markup phase. If this parameter is omitted or is the
+empty string, the indexentry is declared to have the attribute
+<CODE>default</CODE>.
+<P>
+</DL>
+<P>Some examples:
+<P>
+<PRE>
+ (indexentry :key ("airplane") :locref "25" :attr "default")
+</PRE>
+<P>defines an index entry with the key `airplane' indexed on page '25'.
+This index entry has the attribute <CODE>default</CODE>.
+<P>
+<PRE>
+ (indexentry :key ("house") :xref ("building") :attr "see")
+</PRE>
+<P>defines a cross reference with the key 'house' pointing to the term
+'building'. This cross reference belongs to the cross reference class
+<CODE>see</CODE>.
+<P>
+<PRE>
+ (indexentry :key ("house") :xref ("building") :open-range)
+</PRE>
+<P>is an invalid specification, since <CODE>:open-range</CODE> mustn't be used
+together with cross references.
+<P>
+<P>
+<P>
+<HR>
+<A HREF="manual-4.html">Next</A>
+<A HREF="manual-2.html">Previous</A>
+<A HREF="manual.html#toc3">Contents</A>
+</BODY>
+</HTML>
diff --git a/Master/texmf/doc/xindy/manual-4.html b/Master/texmf/doc/xindy/manual-4.html
new file mode 100644
index 00000000000..6d39d7ba240
--- /dev/null
+++ b/Master/texmf/doc/xindy/manual-4.html
@@ -0,0 +1,230 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+ <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
+ <TITLE>xindy Manual: Processing Phases</TITLE>
+ <LINK HREF="manual-5.html" REL=next>
+ <LINK HREF="manual-3.html" REL=previous>
+ <LINK HREF="manual.html#toc4" REL=contents>
+</HEAD>
+<BODY>
+<A HREF="manual-5.html">Next</A>
+<A HREF="manual-3.html">Previous</A>
+<A HREF="manual.html#toc4">Contents</A>
+<HR>
+<H2><A NAME="startup-phase"></A> <A NAME="s4">4. Processing Phases</A></H2>
+
+<H2><A NAME="ss4.1">4.1 The Startup Phase</A>
+</H2>
+
+<P>After the system is started, <SF>xindy</SF> reads in the index style that
+is passed as a command line argument. Each <CODE>require</CODE> command is
+executed and the internal data structures representing the index style
+are built up. The index style must completely be read in before the
+raw index can be read.
+<P>
+<P>
+<A NAME="processing-phase"></A> <H2><A NAME="ss4.2">4.2 The Processing Phase</A>
+</H2>
+
+<P>The processing phase starts with reading the complete raw index. The
+name of the raw index file must be passed via the command line. All
+index entries are read in and pre-processed. All attributes and
+cross reference classes are checked if they are already known to the
+system. All strings representing location references are matched
+against all known location classes. Appropriate warnings are issued,
+if errors are encountered.
+<P>After the raw index has completely been read in, the
+location references of each index entry are merged, separated and
+sorted and the building of ranges takes place. This phase is the most
+complex one and we will describe it in detail.
+<P>
+<OL>
+<LI> All location references are separated according to the class
+they belong to. These groups are called <EM>location class groups</EM>.
+Possible groups are all defined location and crossref classes. See
+the commands <CODE>define-location-class</CODE> and
+<CODE>define-crossref-class</CODE> for a description how these classes can
+be defined.
+
+The classes are sorted according to an order that can be defined with
+the command <CODE>define-location-class-order</CODE>.
+</LI>
+<LI> The further processing of each location class group is
+different for the location classes and the crossref classes.
+
+<UL>
+<LI> Cross references are sorted lexicographically based on
+the ISO-Latin alphabet.
+
+<A NAME="sort-merge-locrefs"></A> </LI>
+<LI> To illustrate the processing of location references we assume
+the following list:
+
+<BLOCKQUOTE>
+ <EM>13</EM>, <EM>14</EM>, <EM>15</EM>, <EM>18</EM>, <B>12</B>, <B>13</B>,
+<B>14</B>, <B>16</B>, 14, 16
+</BLOCKQUOTE>
+
+
+The location references in italics own the attribute `important,
+those with in boldface have attribute `definition', and all others
+are own the attribute `default'. Imagine, the attribute groups were
+defined with the commands
+
+<BLOCKQUOTE><CODE>
+<PRE>
+ (define-attribute-groups (("definition" "important")
+ ("default")))
+
+ (merge-to "definition" "default" :drop)
+
+</PRE>
+</CODE></BLOCKQUOTE>
+
+
+See commands <CODE>define-attributes</CODE> and <CODE>merge-to</CODE> for a
+detailed description.
+
+The substitution rules are applied. This means that
+location references <B>13</B> and <B>14</B> with attribute `important'
+are <EM>substituted</EM> by the location references <EM>13</EM> and <EM>14</EM>
+with attribute `definition'. Substitution means removing from the
+list of location references.
+
+Substitution occurs because the definition of the attribute groups
+implicitly defines <CODE>"definition"</CODE> <EM>substitutes</EM>
+<CODE>"important"</CODE>.
+
+The resulting list is now
+
+<BLOCKQUOTE>
+ <EM>13</EM>, <EM>14</EM>, <EM>15</EM>, <EM>18</EM>, <B>12</B>, <B>16</B>, 14,
+16
+</BLOCKQUOTE>
+
+
+<A NAME="def merge-to"></A> The <CODE>merge-to</CODE> rules are applied.
+Their meaning is to make location references appear with another
+attribute as well, but only in the function of supporting the
+building of ranges. They disappear after the ranges are built. The
+location references that cause new location refererences to be
+added are called <EM>parents</EM>, whereas the new ones are called
+<EM>childs</EM>. The example rule results in the adding of all
+refernces with attribute `definition' to the attribute `default'
+which results in the list
+
+<BLOCKQUOTE>
+ <EM>13</EM>, <EM>14</EM>, <EM>15</EM>, <EM>18</EM>, <B>12</B>, <B>16</B>, (13),
+14, (15), 16, (18)
+</BLOCKQUOTE>
+
+
+The childs are put in parenthesis since they may only be used to
+build up ranges.
+
+For each attribute we now try to build ranges. Since the switch
+<CODE>:drop</CODE> was specified we must start with the attribute
+`default', because a successful merging of location references may
+result in dropping the parents. This results in the range `13--16'.
+The childs
+(13) and (15) were used in the building of ranges, so their parents
+<EM>13</EM> and <EM>15</EM> have to be removed from the list of
+location references. This step would be omitted if the switch
+<CODE>:drop</CODE> were not specified. After unsucessfully trying to build
+more ranges and dropping the location references <EM>13</EM>, <EM>15</EM>
+and (18)--which was only meant to build ranges--we obtain the list
+
+<BLOCKQUOTE>
+<EM>14</EM>, <EM>18</EM>, <B>12</B>, <B>16</B>, 13--16
+</BLOCKQUOTE>
+
+
+Finally the attributes are brought into the right order. In our
+example the location references of the first attribute group are
+merged and sorted lexicographically resulting in two attribute groups
+
+<BLOCKQUOTE>
+(<B>12</B>, <EM>14</EM>, <B>16</B>, <EM>18</EM>) (13--16)
+</BLOCKQUOTE>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</LI>
+</UL>
+
+</LI>
+</OL>
+<P>After all index entries have been processed the letter groups are
+formed and the index entries and location references are transformed
+into tree like structures as defined in the index style.
+<P>
+<P>
+<P>
+<A NAME="markup-phase"></A> <H2><A NAME="ss4.3">4.3 The Markup Phase</A>
+</H2>
+
+<P>After the index has completely been processed, the markup phase
+traverses the tree-like structure of the index. Each step triggers the
+appropriate markup events resulting in the emitting of markup tags.
+<P>
+<P>
+<P>
+<HR>
+<A HREF="manual-5.html">Next</A>
+<A HREF="manual-3.html">Previous</A>
+<A HREF="manual.html#toc4">Contents</A>
+</BODY>
+</HTML>
diff --git a/Master/texmf/doc/xindy/manual-5.html b/Master/texmf/doc/xindy/manual-5.html
new file mode 100644
index 00000000000..072920545aa
--- /dev/null
+++ b/Master/texmf/doc/xindy/manual-5.html
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+ <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
+ <TITLE>xindy Manual: Index</TITLE>
+ <LINK HREF="manual-6.html" REL=next>
+ <LINK HREF="manual-4.html" REL=previous>
+ <LINK HREF="manual.html#toc5" REL=contents>
+</HEAD>
+<BODY>
+<A HREF="manual-6.html">Next</A>
+<A HREF="manual-4.html">Previous</A>
+<A HREF="manual.html#toc5">Contents</A>
+<HR>
+<H2><A NAME="INDEX"></A> <A NAME="s5">5. Index</A></H2>
+
+<P>
+<P><B>List of Commands</B>
+<P>
+<A HREF="manual-3.html#define-attributes">define-attributes</A><BR>
+<A HREF="manual-3.html#define-alphabet">define-alphabet</A><BR>
+<A HREF="manual-3.html#define-crossref-class">define-crossref-class</A><BR>
+<A HREF="manual-3.html#define-letter-group">define-letter-group</A><BR>
+<A HREF="manual-3.html#define-letter-groups">define-letter-groups</A><BR>
+<A HREF="manual-3.html#define-location-class">define-location-class</A><BR>
+<A HREF="manual-3.html#define-location-class-order">define-location-class-order</A><BR>
+<A HREF="manual-3.html#define-rule-set">define-rule-set</A><BR>
+<A HREF="manual-3.html#define-sort-rule-orientations">define-sort-rule-orientations</A><BR>
+<A HREF="manual-3.html#indexentry">indexentry</A><BR>
+<A HREF="manual-3.html#markup-attribute-group">markup-attribute-group</A><BR>
+<A HREF="manual-3.html#markup-attribute-group-list">markup-attribute-group-list</A><BR>
+<A HREF="manual-3.html#markup-crossref-layer">markup-crossref-layer</A><BR>
+<A HREF="manual-3.html#markup-crossref-layer-list">markup-crossref-layer-list</A><BR>
+<A HREF="manual-3.html#markup-crossref-layer">markup-crossref-layer</A><BR>
+<A HREF="manual-3.html#markup-index">markup-index</A><BR>
+<A HREF="manual-3.html#markup-indexentry">markup-indexentry</A><BR>
+<A HREF="manual-3.html#markup-indexentry-list">markup-indexentry-list</A><BR>
+<A HREF="manual-3.html#markup-keyword">markup-keyword</A><BR>
+<A HREF="manual-3.html#markup-keyword-list">markup-keyword-list</A><BR>
+<A HREF="manual-3.html#markup-letter-group">markup-letter-group</A><BR>
+<A HREF="manual-3.html#markup-letter-group-list">markup-letter-group-list</A><BR>
+<A HREF="manual-3.html#markup-locclass-list">markup-locclass-list</A><BR>
+<A HREF="manual-3.html#markup-locref">markup-locref</A><BR>
+<A HREF="manual-3.html#markup-locref-class">markup-locref-class</A><BR>
+<A HREF="manual-3.html#markup-locref-layer">markup-locref-layer</A><BR>
+<A HREF="manual-3.html#markup-locref-layer-list">markup-locref-layer-list</A><BR>
+<A HREF="manual-3.html#markup-locref-list">markup-locref-list</A><BR>
+<A HREF="manual-3.html#markup-range">markup-range</A><BR>
+<A HREF="manual-3.html#markup-trace">markup-trace</A><BR>
+<A HREF="manual-3.html#merge-rule">merge-rule</A><BR>
+<A HREF="manual-3.html#merge-to">merge-to</A><BR>
+<A HREF="manual-3.html#require">require</A><BR>
+<A HREF="manual-3.html#searchpath">searchpath</A><BR>
+<A HREF="manual-3.html#sort-rule">sort-rule</A><BR>
+<A HREF="manual-3.html#use-rule-set">use-rule-set</A><P>
+<P>
+<P>
+<HR>
+<A HREF="manual-6.html">Next</A>
+<A HREF="manual-4.html">Previous</A>
+<A HREF="manual.html#toc5">Contents</A>
+</BODY>
+</HTML>
diff --git a/Master/texmf/doc/xindy/manual-6.html b/Master/texmf/doc/xindy/manual-6.html
new file mode 100644
index 00000000000..dfbf33ccc91
--- /dev/null
+++ b/Master/texmf/doc/xindy/manual-6.html
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+ <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
+ <TITLE>xindy Manual: References</TITLE>
+ <LINK HREF="manual-5.html" REL=previous>
+ <LINK HREF="manual.html#toc6" REL=contents>
+</HEAD>
+<BODY>
+Next
+<A HREF="manual-5.html">Previous</A>
+<A HREF="manual.html#toc6">Contents</A>
+<HR>
+<H2><A NAME="s6">6. References</A></H2>
+
+<P>
+<P>The following books and papers were referenced in this document.
+<P>
+<OL>
+<LI> D. E. Knuth, <EM>The TeXbook</EM>, Addison-Wesley, 1984
+</LI>
+<LI> Leslie Lamport, LaTeX <EM>A Document Preparation System</EM>,
+Addison-Wesley, 1986
+</LI>
+<LI> Joachim Schrod, <EM>An International Version of MakeIndex</EM>,
+Cahiers GUTenberg, 10, p81-90, 1991
+</LI>
+<LI> Pehong Chen and Michael A. Harrison, <EM>Automating Index
+Preparation</EM>, TR-87/347, University of California Berkeley, 1987
+<A NAME="makeindex"></A>
+</LI>
+<LI> Roger Kehr, <SF>xindy</SF>, <EM>Ein Flexibles Indexierungssystem</EM>,
+Studienarbeit FB Informatik, TH-Darmstadt, November 1995.
+</LI>
+<LI> Joachim Schrod and Gabor Herr, <EM>MakeIndex Version 3.0</EM>,
+Technical University Darmstadt, 1991
+</LI>
+<LI> Roger Kehr, <SF>xindy</SF> -- <EM>A Flexible Indexing System</EM>,
+Technical Report No. 11/1997, Computer Science Department, Darmstadt
+University of Technology, 1997. Also accessible from the <SF>xindy</SF>
+homepage.
+</LI>
+<LI> Roger Kehr, <SF>xindy</SF> -- <EM>A Flexible Indexing System</EM>,
+Proceedings of the EuroTeX'98, St. Malo, France, March 1998
+</LI>
+</OL>
+<P>
+<HR>
+Next
+<A HREF="manual-5.html">Previous</A>
+<A HREF="manual.html#toc6">Contents</A>
+</BODY>
+</HTML>
diff --git a/Master/texmf/doc/xindy/manual-7.html b/Master/texmf/doc/xindy/manual-7.html
new file mode 100644
index 00000000000..c1c26ed507a
--- /dev/null
+++ b/Master/texmf/doc/xindy/manual-7.html
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+ <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
+ <TITLE>xindy Manual: References</TITLE>
+ <LINK HREF="manual-6.html" REL=previous>
+ <LINK HREF="manual.html#toc7" REL=contents>
+</HEAD>
+<BODY>
+Next
+<A HREF="manual-6.html">Previous</A>
+<A HREF="manual.html#toc7">Contents</A>
+<HR>
+<H2><A NAME="s7">7. References</A></H2>
+
+<P>
+<P>The following books and papers were referenced in this document.
+<P>
+<OL>
+<LI> D. E. Knuth, <EM>The TeXbook</EM>, Addison-Wesley, 1984
+</LI>
+<LI> Leslie Lamport, LaTeX <EM>A Document Preparation System</EM>,
+Addison-Wesley, 1986
+</LI>
+<LI> Joachim Schrod, <EM>An International Version of MakeIndex</EM>,
+Cahiers GUTenberg, 10, p81-90, 1991
+</LI>
+<LI> Pehong Chen and Michael A. Harrison, <EM>Automating Index
+Preparation</EM>, TR-87/347, University of California Berkeley, 1987
+<A NAME="makeindex"></A>
+</LI>
+<LI> Roger Kehr, <SF>xindy</SF>, <EM>Ein Flexibles Indexierungssystem</EM>,
+Studienarbeit FB Informatik, TH-Darmstadt, November 1995.
+</LI>
+<LI> Joachim Schrod and Gabor Herr, <EM>MakeIndex Version 3.0</EM>,
+Technical University Darmstadt, 1991
+</LI>
+<LI> Roger Kehr, <SF>xindy</SF> -- <EM>A Flexible Indexing System</EM>,
+Technical Report No. 11/1997, Computer Science Department, Darmstadt
+University of Technology, 1997. Also accessible from the <SF>xindy</SF>
+homepage.
+</LI>
+<LI> Roger Kehr, <SF>xindy</SF> -- <EM>A Flexible Indexing System</EM>,
+Proceedings of the EuroTeX'98, St. Malo, France, March 1998
+</LI>
+</OL>
+<P>
+<HR>
+Next
+<A HREF="manual-6.html">Previous</A>
+<A HREF="manual.html#toc7">Contents</A>
+</BODY>
+</HTML>
diff --git a/Master/texmf/doc/xindy/manual.html b/Master/texmf/doc/xindy/manual.html
new file mode 100644
index 00000000000..344b0e19cab
--- /dev/null
+++ b/Master/texmf/doc/xindy/manual.html
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+ <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
+ <TITLE>xindy Manual</TITLE>
+ <LINK HREF="manual-1.html" REL=next>
+
+
+</HEAD>
+<BODY>
+<A HREF="manual-1.html">Next</A>
+Previous
+Contents
+<HR>
+<H1><SF>xindy</SF> Manual</H1>
+
+<H2>Roger Kehr</H2>
+<H3>Computer Science Department, Technical University of Darmstadt</H3>
+ and
+<H2>Joachim Schrod</H2>
+<H3>Joachim Schrod Net &amp; Publication Consultance GmbH</H3>
+$Revision: 1.19 $, $Date: 2004/05/24 21:43:16 $,
+for xindy version 2.2
+<P><HR>
+<EM>This is the manual of the indexing system <SF>xindy</SF>. <SF>xindy</SF>
+is a powerful and flexible framework for generating indexes for many
+kinds of documents. This document describes the <SF>xindy</SF> processing
+model, terminology, and language, but not invocation and standard modules.
+The most up-to-date version can be obtained from the <SF>xindy</SF> Web Site at
+<A HREF="http://www.xindy.org/">http://www.xindy.org/</A>.</EM>
+<HR>
+<P>
+<A HREF="manual-5.html#INDEX">Index of all xindy commands</A><P>
+<P>
+<P>
+<P>
+<H2><A NAME="toc1">1.</A> <A HREF="manual-1.html">About this Manual</A></H2>
+
+<P>
+<H2><A NAME="toc2">2.</A> <A HREF="manual-2.html">How the Index Processor Works</A></H2>
+
+<UL>
+<LI><A HREF="manual-2.html#ss2.1">2.1 Data Flow</A>
+<LI><A HREF="manual-2.html#ss2.2">2.2 General Concepts and Terms</A>
+</UL>
+<P>
+<H2><A NAME="toc3">3.</A> <A HREF="manual-3.html">Command List</A></H2>
+
+<UL>
+<LI><A HREF="manual-3.html#ss3.1">3.1 Processing Commands</A>
+<LI><A HREF="manual-3.html#ss3.2">3.2 Markup Commands</A>
+<LI><A HREF="manual-3.html#ss3.3">3.3 Raw Index Interface</A>
+</UL>
+<P>
+<H2><A NAME="toc4">4.</A> <A HREF="manual-4.html">Processing Phases</A></H2>
+
+<UL>
+<LI><A HREF="manual-4.html#ss4.1">4.1 The Startup Phase</A>
+<LI><A HREF="manual-4.html#ss4.2">4.2 The Processing Phase</A>
+<LI><A HREF="manual-4.html#ss4.3">4.3 The Markup Phase</A>
+</UL>
+<P>
+<H2><A NAME="toc5">5.</A> <A HREF="manual-5.html">Index</A></H2>
+
+<P>
+<H2><A NAME="toc6">6.</A> <A HREF="manual-6.html">References</A></H2>
+
+<HR>
+<A HREF="manual-1.html">Next</A>
+Previous
+Contents
+</BODY>
+</HTML>
diff --git a/Master/texmf/doc/xindy/mappings.gif b/Master/texmf/doc/xindy/mappings.gif
new file mode 100644
index 00000000000..be58722f4d9
--- /dev/null
+++ b/Master/texmf/doc/xindy/mappings.gif
Binary files differ
diff --git a/Master/texmf/doc/xindy/style-tutorial-1.html b/Master/texmf/doc/xindy/style-tutorial-1.html
new file mode 100644
index 00000000000..890b1ecd8b9
--- /dev/null
+++ b/Master/texmf/doc/xindy/style-tutorial-1.html
@@ -0,0 +1,92 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+ <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
+ <TITLE>XINDY Style File Tutorial: About xindy</TITLE>
+ <LINK HREF="style-tutorial-2.html" REL=next>
+
+ <LINK HREF="style-tutorial.html#toc1" REL=contents>
+</HEAD>
+<BODY>
+<A HREF="style-tutorial-2.html">Next</A>
+Previous
+<A HREF="style-tutorial.html#toc1">Contents</A>
+<HR>
+<H2><A NAME="s1">1. About <SF>xindy</SF></A></H2>
+
+<P><SF>xindy</SF> means fle<B>x</B>ible <B>ind</B>exing s<B>y</B>stem. It is an
+indexing system that can be used to generate book-like indexes for
+arbitrary document preparation systems. This term includes systems
+such as TeX [1] and LaTeX [2], the Nroff-family
+or SGML-based systems (e.g. HTML) that process some kind of text and
+generate indexing information. It is not fixed to any specific system,
+but can be configured for a wide variety of purposes.
+<P>Authors sometimes wish to include an index into their document, but
+very often their document preparation systems aren't able to produce
+indexes on their own, or the capabilities of the built-in indexers are
+insufficient and produce ugly looking results. More often they use
+separate specialized tools for this purpose, sometimes called
+<EM>index processors</EM>.
+<P>In comparison to other index processors <SF>xindy</SF> has several
+powerful features that make it an ideal framework for describing and
+generating complex indexes. Its most interesting features are
+<P>
+<DL>
+<P>
+<DT><B>Internationality</B><DD><P><SF>xindy</SF> can be configured to process indexes
+for many languages with different letter sets and different sorting
+rules. For example, many roman languages such as Italian, French,
+Portuguese or Spanish contain accentuated letters such as &Agrave;,
+&Aacute;, &ntilde;. Other languages from northern Europe have letters
+like &Auml;, &Oslash;, &aelig; or &szlig; which often can't even be
+processed by many index processors let alone sorting them correctly
+into an index. The <SF>xindy</SF> system can be configured to process
+these alphabets by defining <EM>sort</EM> and <EM>merge rules</EM> that allow
+expressing language specific rules. One example of such a rule would
+be
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+(sort-rule "" "ae")
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>defining that a word containing the umlaut-a will be sorted as if it
+contained the letters <CODE>ae</CODE> instead. This is one form of how the
+umlaut-a ("") is sorted into german indexes. With an appropriate set
+of rules on can express the complete rules of a specific language.
+<P>
+<DT><B>User Definable Location Types</B><DD><P>Locations are the entities an
+index entry points to. Often used locations are <EM>page numbers</EM>,
+<EM>section numbers</EM>, etc. <SF>xindy</SF> allows to define new kinds of
+types to be composed of basic entities like arabic numbers, roman
+numerals, letters, etc. which can be used to describe new index types.
+Examples of these entities can be books that have a page numbering
+scheme that starts from 1 for each new chapter resulting in page
+numbers of the form <EM>1-13, 2-15, 2-20</EM>, etc. This type of locations
+can often be found in computer manuals. A more complex structure is
+represented by the locations <EM>Psalm 46, 1-8</EM> and <EM>Genesis 1,
+31</EM>. Even the structure of bible verses can be described allowing
+<SF>xindy</SF> to correctly sort and process indexes for documents with a
+completely different structure.
+<P>
+<DT><B>Highly Configurable Markup</B><DD><P>Since a index processor is only one
+component in a document preparation system it ought to fit smoothly
+into the complete environment. Many text processing systems use the
+concept of <EM>environments</EM> that can be used to describe the markup
+of the text entities. Our approach is based on this concept which has
+proved to be expressive enough for most applications. As an example
+one can view systems such as TeX, SGML and its instance HTML, GNU
+Info, RTF and the Nroff-familiy of document formatters. The markup of
+an index can be defined for all of these systems in a very comfortable
+though extremly powerful way.
+<P>
+</DL>
+<P>
+<P>
+<P>
+<HR>
+<A HREF="style-tutorial-2.html">Next</A>
+Previous
+<A HREF="style-tutorial.html#toc1">Contents</A>
+</BODY>
+</HTML>
diff --git a/Master/texmf/doc/xindy/style-tutorial-2.html b/Master/texmf/doc/xindy/style-tutorial-2.html
new file mode 100644
index 00000000000..b5313e59d72
--- /dev/null
+++ b/Master/texmf/doc/xindy/style-tutorial-2.html
@@ -0,0 +1,361 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+ <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
+ <TITLE>XINDY Style File Tutorial: A Basic Introduction</TITLE>
+ <LINK HREF="style-tutorial-3.html" REL=next>
+ <LINK HREF="style-tutorial-1.html" REL=previous>
+ <LINK HREF="style-tutorial.html#toc2" REL=contents>
+</HEAD>
+<BODY>
+<A HREF="style-tutorial-3.html">Next</A>
+<A HREF="style-tutorial-1.html">Previous</A>
+<A HREF="style-tutorial.html#toc2">Contents</A>
+<HR>
+<H2><A NAME="s2">2. A Basic Introduction</A></H2>
+
+<P>This section incrementally introduces the most important aspects of
+the system. After reading this chapter you should be able to specify
+style files for
+about 80% of the commonly used indexes. The examples are demonstrated
+with a TeX markup so one can easily typeset the results <SF>xindy</SF>
+produces. You need LaTeX and the ISO-Latin enhancements that come
+with the <CODE>inputenc</CODE> package to run the following examples. Also the
+<SF>xindy</SF> system must already be installed.
+<P>
+But this tutorial doesn't reflect real life any more. The concepts are
+introduced below to explain them, but actual usage is probably
+different. In particular, you should not expect to specify sort rules
+by hand; usually one uses the language modules for that. Same way,
+xindy standard modules provide lots of markup functionality that you
+need for your documents, and can be used as a starting point.
+Nevertheless, let's continue with the explanation of <sf>xindy</sf>'s
+style file language.
+<P>
+<H2><A NAME="ss2.1">2.1 Running <SF>xindy</SF></A>
+</H2>
+
+<P>Create a new directory somewhere and copy some files from the
+distribution directory <CODE>doc/style-tutorial/</CODE> by typing
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+eg$ mkdir tutorial
+eg$ cd tutorial
+eg$ cp &lt;distrib-dir>/doc/style-tutorial/*.raw .
+eg$ cp &lt;distrib-dir>/doc/style-tutorial/*.tex .
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>with <CODE>distrib-dir</CODE> replaced by the actual location. Now create a
+file <CODE>style1.xdy</CODE> with the following content:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+;; This is a first example using `xindy'.
+
+(define-location-class "page-numbers" ("arabic-numbers"))
+(define-attributes (("definition" "usage")))
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>Now run <SF>xindy</SF> by typing
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+eg$ xindy -t ex1.xlg -M style1 -I xindy ex1.raw
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>You should see something like
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+Opening logfile "ex1.xlg" (done)
+Reading indexstyle...
+Loading module "style1.xdy"...
+Finished loading module "style1.xdy".
+Finished reading indexstyle.
+Finalizing indexstyle... (done)
+
+Reading raw-index "ex1.raw"...
+Finished reading raw-index.
+
+Processing index... [10%] [20%] [30%] [40%] [50%] [60%] [70%] [80%] [90%] [100%]
+Finished processing index.
+
+Writing markup... [10%] [20%] [30%] [40%] [50%] [60%] [70%] [80%] [90%] [100%]
+Markup written into file "ex1.ind".
+</PRE>
+</CODE></BLOCKQUOTE>
+<P><SF>xindy</SF> has now successfully compiled the index <CODE>ex1.raw</CODE> using
+your index style <CODE>style1.xdy</CODE>. The result is now stored in file
+<CODE>ex1.ind</CODE>. You can view this file but currently it only contains an
+unreadable mix of data.
+<P>But now let's come back to our index style. The syntax of the command
+is in a Lisp-like form with lots of braces, looking a little bit
+weird, but you'll soon get used to it. What is the meaning of the two
+commands we specified? The first command informed <SF>xindy</SF> that we
+like to process page numbers. We do this by defining a new
+<EM>location class</EM> named <CODE>page-numbers</CODE>. The page numbers consist
+of <CODE>arabic-numbers</CODE> as we might expect but this is not necessarily
+true---imagine your page numbers consisted of roman numerals instead.
+When reading the <EM>raw index</EM> contained in file <CODE>ex1.raw</CODE>
+<SF>xindy</SF> checks all locations if they match all known location
+classes. Since in our example the only known location class is the
+class of page numbers which are written using arabic digits, all
+locations will be checked if they are correct page numbers.
+<P>The second command tells <SF>xindy</SF> that we use two types of
+attributes for location references. Most often the locations in an
+index denote different meanings. For example, in mathematical texts
+one will distinguish the <EM>definition</EM> of a mathematical term from
+its <EM>usage</EM>. Sometimes these are typeset using different font
+shapes such as <EM>italic</EM> or font series such as <B>boldface</B>. Each
+location has an associated attribute which, if it is unspecified,
+defaults to the attribute <CODE>default</CODE>. With this command you have
+made these attributes known to the system, which makes it possible to
+assign different markup to these attributes later on.
+<P>
+<P>
+<H2><A NAME="ss2.2">2.2 Adding some Markup</A>
+</H2>
+
+<P>Until now you haven't seen something exciting, so its time to specify
+some markup. Add the following lines to our index style:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+(markup-index :open "~n\begin{theindex}~n"
+ :close "~n\end{theindex}~n"
+ :tree)
+
+(markup-locref :class "page-numbers" :attr "definition"
+ :open "{\bf " :close "}")
+
+(markup-locclass-list :open "\quad{}")
+(markup-locref-list :sep ", ")
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>Now run <SF>xindy</SF> again and afterwards LaTeX:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+eg$ xindy -t ex1.xlg -M style1 -I xindy ex1.raw
+eg$ latex ex1.tex
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>You can view <CODE>ex1.dvi</CODE> with your prefered viewer (maybe <CODE>xdvi</CODE>
+or something else) to get a first impression of your results. Maybe
+your are not satisfied (for sure you aren't), because it still looks
+very confusing. What did the above rules tell <SF>xindy</SF>? When you
+view the file <CODE>ex1.ind</CODE> which is the result <SF>xindy</SF> generates,
+you'll recognize some of the <EM>markup tags</EM> you specified. The
+following is an excerpt of this file:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+\begin{theindex}
+ academia\quad{}{\bf 1}acafetado\quad{}{\bf 2}acalmar\quad{}{\bf 4}
+ aafro\quad{}{\bf 3}indexflat\quad{}1hierarchical\quad{}2
+ veryhierarchical\quad{}3impressive\quad{}4saber\quad{}{\bf 7}
+ sabor\quad{}{\bf 8}sabo\quad{}{\bf 6}sbado\quad{}{\bf 5}
+\end{theindex}
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>First of all you'll see that the file starts with the string
+<CODE>\begin{theindex}</CODE> and ends with <CODE>\end{theindex}</CODE>.
+Additionally some locations are correctly enclosed into a TeX macro
+that typesets them in shape boldface, whereas others aren't. The
+boldface ones are all those locations from the raw index that have the
+attribute <CODE>definition</CODE>.
+<P>The <CODE>:open</CODE> and <CODE>:close</CODE> keyword arguments each take a string as
+argument. The first one is written to the file when <EM>opening</EM> an
+enviroment, whereas the latter one <EM>closes</EM> an environment. What we
+have specified is the markup for the whole index (which is actually
+printed only once) and the markup for all locations of class
+<CODE>page-numbers</CODE> which own the attribute <CODE>definition</CODE>. Here we
+have cleanly separated the structured markup from the visual one,
+allowing an easy redefinition if we decide, for example, to markup the
+<CODE>definition</CODE>-locations in italics instead of boldface.
+<P>Some words on <EM>keyword arguments</EM> and <EM>switches</EM>. Keyword
+arguments such as <CODE>:open</CODE> or <CODE>:close</CODE> always take exactly one
+argument which must be positioned right after the keyword separated by
+a whitespace (a blank or a tab-stop). Switches don't take any
+arguments. For example, <CODE>:tree</CODE> in the command <CODE>markup-index</CODE> is
+a switch and thus it does not take an argument. We will use this
+terminology throughout the rest of this document.
+<P>The third command caused <SF>xindy</SF> to insert a horizontal space
+between the keyword and the locations (the TeX command
+<CODE>\quad{}</CODE> simply inserts a specific horizontal space). The last
+command caused <SF>xindy</SF> to separate all location references from
+each other with a comma followed by a blank, independently of any
+location class.
+<P>As you already may have observed, the tilde sign (<CODE>~</CODE>) serves
+as a <EM>quoting character</EM>.
+<P>We continue specifying markup to get a printable result by adding more
+markup:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+(markup-indexentry :open "~n \item " :depth 0)
+(markup-indexentry :open "~n \subitem " :depth 1)
+(markup-indexentry :open "~n \subsubitem " :depth 2)
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>This assigns different markup for the different hierarchy layers of
+the indexentries. Our index is hierarchically organized. It contains
+items which themselves contain more sub-items which also might contain
+sub-sub-items. Each layer is started by a different markup which is
+correctly assigned with the <CODE>:depth</CODE> keyword argument. The layers
+are numbered by their <EM>depth</EM> starting from zero.
+<P>Now run <SF>xindy</SF> and TeX again and enjoy your first index. It's
+easy, isn't it! The output <CODE>ex1.ind</CODE> looks like the following:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+\begin{theindex}
+
+ \item academia\quad{}{\bf 1}
+ \item acafetado\quad{}{\bf 2}
+ \item acalmar\quad{}{\bf 4}
+ \item aafro\quad{}{\bf 3}
+ \item index
+ \subitem flat\quad{}1
+ \subitem hierarchical\quad{}2
+ \subitem very
+ \subsubitem hierarchical\quad{}3
+ \subsubitem impressive\quad{}4
+ \item saber\quad{}{\bf 7}
+ \item sabor\quad{}{\bf 8}
+ \item sabo\quad{}{\bf 6}
+ \item sbado\quad{}{\bf 5}
+
+\end{theindex}
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>Hmm, as you might have seen there are several problems that need
+further investigation. The index contains some Portuguese words that
+are printed correctly but should appear at other positions inside the
+index. For instance, the word <EM>sbado</EM> should appear before the
+word <EM>saber</EM> since <EM></EM> must be sorted as if it were simply an
+<EM>a</EM>. The reason why these words are not sorted correctly is
+simple---the accentuated letters have codes beyond position 128 in the
+ISO-Latin alphabet. Sorting based on these codes yields this incorrect
+order.
+<P>What to do? We can define for each of the words containing these
+special characters an explicit <EM>print key</EM>. The print key describes
+the printed representation of the keyword whereas the <EM>key</EM> or
+<EM>main key</EM> is used for sorting and merging. A very tedious task
+which is not a very clever solution since in a non-english language
+many many words contain these special cases. We follow the way
+<SF>xindy</SF> offers: <EM>keyword-mappings</EM>.
+<P>
+<H2><A NAME="ss2.3">2.3 Keyword Mappings</A>
+</H2>
+
+<P>What are keyword mappings for? A good question. I'll try to give some
+answers.
+<P>
+<UL>
+<LI> <EM>Merging of differently written words</EM>. Some text formatting
+systems allow different writings for the same word. For example, TeX
+can be used with ISO-Latin characters as well as with its own
+character sequences. If a document is composed from smaller ones
+possibly written by different authors using different forms of writing
+the index entries, the same terms may happen to be written differently
+and consequently we need a mechanism to identify them as equal.
+</LI>
+<LI> <EM>Specifying the sort order</EM>. As outlined in the previous
+section it is really difficult and error-prone to specify the sort key
+for each keyword explicitly. Sometimes the sort order is even
+different for the type of the document, as it happens in German, where
+two different types of sortings exist, one for everyday indexes and
+one for dictionaries. The sort order actually defines the position of
+arbitrary language-specific letters inside of an index.
+</LI>
+</UL>
+<P>A detailed elaboration of these ideas can be found in the paper <EM>An
+International Version of MakeIndex</EM> by Joachim Schrod [3].
+It describes the ideas that led to modifications on one of the
+ancestors of the <SF>xindy</SF> system: <CODE>makeindex</CODE> [4].
+<P>The keyword mappings are as follows. The <EM>merge key</EM> is generated
+from the <EM>main key</EM> with the so called <EM>merge mapping</EM>. The
+merge mapping can be specified with the command <CODE>merge-rule</CODE>. The
+<EM>sort key</EM> is derived from the merge key using the <EM>sort
+mapping</EM> specified with the <CODE>sort-rule</CODE> command. The following
+scheme shows this mapping process:
+<P>
+<FIGURE>
+<EPS FILE="mappings.eps">
+<IMG SRC="mappings.gif">
+</FIGURE>
+<P>
+<P>We will use this command now to define a suitable sort mapping that
+fits our needs:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+(sort-rule "" "a")
+(sort-rule "" "a")
+(sort-rule "" "a")
+(sort-rule "" "e")
+(sort-rule "" "e")
+(sort-rule "" "c")
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>These rules define mappings from a keyword to a <EM>normalized</EM>
+version. In the logfile <CODE>ex1.xlg</CODE> these transformations are logged so
+that one can see how these mappings are performed. In this example we
+do not need any <CODE>merge-rule</CODE> but we will see applications in
+further examples.
+<P>Running <SF>xindy</SF> and TeXing the result now places the indexentries
+at the right positions.
+<P>In reality, such sort rules tend to be much more complex, due to
+the idiosynchrasies of sorting natural languages. Sort rules for
+many languages are available as part of the xindy distribution, as
+so-called language modules. We specify the language with the option
+<code>-L</code>, e.g., in our example we could have used
+<BLOCKQUOTE><CODE>
+<PRE>
+eg$ xindy -t ex1.xlg -M style1 -L portuguese -I xindy ex1.raw
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>If we use one of the available language modules, sort rules in
+user-written xindy styles are ignored.
+<P>The result is now quite satisfying if the index entries weren't
+clumped together that much. We usually want the different index
+entries beginning with the same letter be optically separated from the
+ofhers. This improves readability and there must be a way to
+accomplish this---the <EM>letter groups</EM>.
+<P>
+<H2><A NAME="ss2.4">2.4 Letter Groups</A>
+</H2>
+
+<P>To group indexentries we must define what indexentries form a group.
+The clustering is done by matching the keywords' prefixes (taken from
+the <EM>sort key</EM>) with a user-defined table of prefixes and define
+appropriate markup that separates the groups from each other. Here it
+goes.
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+(define-letter-groups
+ ("a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m"
+ "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"))
+
+(markup-letter-group-list :sep "~n\indexspace")
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>This defines the given list of letter groups. When forming the letter
+groups, each letter group is checked if it matches a prefix of the
+indexentries' sort key. The longest match assigns the index entry to
+this letter group. If no match was possible the index entry is put into
+group <CODE>default</CODE>.
+<P>The result now looks much better than before. You have now learned the
+basic features that you need to specify everyday indexes. In the next
+chapter we'll continue to make you an expert in indexing.
+<P>
+<P>
+<HR>
+<A HREF="style-tutorial-3.html">Next</A>
+<A HREF="style-tutorial-1.html">Previous</A>
+<A HREF="style-tutorial.html#toc2">Contents</A>
+</BODY>
+</HTML>
diff --git a/Master/texmf/doc/xindy/style-tutorial-3.html b/Master/texmf/doc/xindy/style-tutorial-3.html
new file mode 100644
index 00000000000..5c598e54938
--- /dev/null
+++ b/Master/texmf/doc/xindy/style-tutorial-3.html
@@ -0,0 +1,263 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+ <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
+ <TITLE>XINDY Style File Tutorial: Advanced Features</TITLE>
+ <LINK HREF="style-tutorial-4.html" REL=next>
+ <LINK HREF="style-tutorial-2.html" REL=previous>
+ <LINK HREF="style-tutorial.html#toc3" REL=contents>
+</HEAD>
+<BODY>
+<A HREF="style-tutorial-4.html">Next</A>
+<A HREF="style-tutorial-2.html">Previous</A>
+<A HREF="style-tutorial.html#toc3">Contents</A>
+<HR>
+<H2><A NAME="s3">3. Advanced Features</A></H2>
+
+<P>In the following sections you'll learn more about the features of
+<SF>xindy</SF>. We'll show you how you can define your own
+location classes, specify the letter groups in more detail and bring
+you close to more specfic markup features. After reading this chapter
+you should be able to master about 95% of the commonly used indexes.
+<P>
+<P>
+<H2><A NAME="ss3.1">3.1 Location Classes</A>
+</H2>
+
+<P>We continue using a more complex index. Copy the current style to a
+new file (now <CODE>style2.xdy</CODE>) and run <SF>xindy</SF> on the raw index
+<CODE>ex2.raw</CODE> by typing:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+eg$ cp style1.xdy style2.xdy
+eg$ xindy -t ex2.xlg -M style2 -I xindy ex2.raw
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>You should see some error messages indicating that something is
+unknown to <SF>xindy</SF>. What has happend? The messages should be
+similar to the following snapshot:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+ ...
+WARNING:
+location-reference "B-5" did not match any location-class! (ignored)
+WARNING:
+location-reference "C-8" did not match any location-class! (ignored)
+WARNING:
+location-reference "iv" did not match any location-class! (ignored)
+WARNING:
+location-reference "ii" did not match any location-class! (ignored)
+ ...
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>The index contains new, and therefore unknown, location classes. The
+first one has an appendix-like style, whereas the second one seems to
+be lowercase roman numerals. <SF>xindy</SF> reported, that it doesn't know
+these locations and therefore knows nothing about their internal
+structure. We make them known to the system by adding the following
+commands to the style file.
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+(define-location-class "roman-pages" ("roman-numerals-lowercase"))
+(define-location-class "appendices" ("ALPHA" :sep "-" "arabic-numbers"))
+(define-location-class-order ("roman-pages" "appendices"))
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>The first command tells <SF>xindy</SF> that there exist some page numbers
+that are written with roman lowercase letters. The second one defines
+the structure of the appendix locations. They consist of three
+elements, a capital letter, a separator---which is a hyphen in our
+case---and finally an arabic number. To be able to correctly
+distinguish separator strings from the names of the known
+<EM>basetypes</EM>, the argument <CODE>:sep</CODE> indicates, that the following
+is a separator. The last command simply says that the locations which
+are roman numerals shall appear before the appendix locations. So far
+we know three different basetypes. The built-in basetypes of
+<SF>xindy</SF> are:
+<P>
+<DL>
+<DT><B><CODE>arabic-numbers</CODE></B><DD><P>contains all non-negative numbers beginning
+with zero: 0, 1, 2, ....
+<P>
+<DT><B><CODE>roman-numerals-uppercase</CODE>, <CODE>roman-numerals-lowercase</CODE></B><DD><P>the
+roman numerals I, II, III, (IIII/IV), V, ... It contains the old and
+new roman numeral system. Two versions for uppercase and lowercase
+letters are supported.
+<P>
+<DT><B><CODE>ALPHA</CODE>, <CODE>alpha</CODE></B><DD><P>The US-ASCII alphabet letters (uppercase
+and lowercase letters).
+<P>
+<DT><B><CODE>digits</CODE></B><DD><P>the digits 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9 in this
+order.
+</DL>
+<P>`Fine,', you'll say, `but what if my basetypes are completely
+different?' You're right! But <SF>xindy</SF> offers you to define your own
+alphabets. For example, you can define a new alphabet by writing
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+(define-alphabet "my-personal-alphabet" ("Hi" "ho" "here" "I" "go"))
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>This is a valid alphabet that consists of 5 <EM>letters</EM>. You can now
+define a location class
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+(define-location-class "my-personal-class"
+ ("my-personal-alphabet" :sep "-" "arabic-numbers"))
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>to match all of the following locations: <EM>Hi-12, ho-2, here-709,
+I-9, go-42</EM>. <SF>xindy</SF> will recognize them and be able to sort them
+according to your specification which says that <EM>Hi</EM> comes before
+all others and <EM>here</EM> is exactly at the third position. So they
+will be sorted lexicographically, layer by layer, until it can decide
+which one is before or after the other. We have prepared a concrete
+example. Do you remember the example we gave when we spoke about
+indexing bible verses? This exactly matches the situation of such a
+self-defined alphabet which could look like the following definitions:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+(define-alphabet "bible-chapters"
+ ("Genesis" "Exodus" "Leviticus" "Numbers" "Deuteronomy"
+ ... ))
+(define-location-class "bible-verses"
+ ("bible-chapters" :sep " " "arabic-numbers" :sep "," "arabic-numbers"))
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>This description would match locations like <EM>Genesis 1,3</EM>,
+<EM>Exodus 7,8</EM>, etc.
+<P>Now run LaTeX on <CODE>ex2.tex</CODE> and view the results. It looks a
+little bit strange since <SF>xindy</SF> has automatically built ranges of
+successive locations. The first locations of the index entry <EM>roman</EM>
+actually denote the range <EM>ii</EM> until <EM>iv</EM>. <EM>Ranges</EM> consist
+of location references. To typeset them correctly you can specify
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+(markup-range :sep "--")
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>This indicates that location reference forming a range shall be
+separated by a hyphen. Running <SF>xindy</SF> and LaTeX again gives a
+better idea of how it should look like. Here is a part of the
+generated output.
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+ ...
+ \item appendices\quad{}A-1, A-7, A-11, B-3--B-5, C-1, C-8, C-12,
+ C-13, C-22, D-2, D-3, D-5, D-10
+ ...
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>
+<H2><A NAME="ss3.2">3.2 Hierarchical Location Classes</A>
+</H2>
+
+<P>Somehow a lot of space is wasted when looking at the first index entry.
+Modify the definition of the location class for appendices as follows
+and add the other commands as well:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+(define-location-class "appendices"
+ ("ALPHA" :sep "-" "arabic-numbers")
+ :hierdepth 2)
+(markup-locref-list :sep "; " :depth 0 :class "appendices")
+(markup-locref-list :open "~~" :sep ", " :depth 1 :class "appendices")
+</PRE>
+</CODE></BLOCKQUOTE>
+<P><EM>Note: Since the tilde character serves as our quoting character it
+must be quoted itself in the above example.</EM> Run <SF>xindy</SF> and view
+the output stored in <CODE>ex2.ind</CODE>. The output looks similar to the
+following:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+ ...
+ \item appendices\quad{}A~1, 7, 11; B~3--5; C~1, 8, 12, 13, 22;
+ D~2, 3, 5, 10
+ ...
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>You can see that the location references of this class have been
+transformed into a hierarchical structure caused by the
+<CODE>:hierdepth</CODE> argument. Additionally we have specified markup for
+the layers of this class separately for the depths 0 and 1. The
+locations at depth 0 are separated by a `;' whereas the ones at depth
+1 are separated by a `,'.
+<P>Maybe you get an impression why we named <SF>xindy</SF> a <EM>flexible</EM>
+system.
+<P>
+<H2><A NAME="ss3.3">3.3 More about Letter Groups</A>
+</H2>
+
+<P>More problems arise when using languages with different letter
+schemes. Hungarian is an example. In Hungarian indexes the words
+beginning with the letters <EM>Cs, Ly, Ny</EM> and more are printed in a
+separate block. The words beginning with <EM>Ly</EM>, for example, appear
+behind the words beginning with an <EM>L</EM>. <SF>xindy</SF> allows to define
+this kind of letter groups as well. Add the following lines to the
+style file.
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+(define-letter-group "ly" :after "l" :before "m")
+(define-letter-group "ny" :after "n" :before "o")
+
+(markup-letter-group :open-head "~n {\bf " :close-head "}"
+ :capitalize)
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>The result looks like the following:
+<P>
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+ ...
+ {\bf Ly}
+ \item lyuk\quad{}1
+ \item lyukas\quad{}2
+
+ \indexspace
+
+ {\bf M}
+ \item maga\quad{}1
+ \item magyar\quad{}2
+
+ \indexspace
+
+ {\bf N}
+ \item nagy\quad{}1
+ \item nagyon\quad{}9
+ \item ngy\quad{}4
+
+ \indexspace
+
+ {\bf Ny}
+ \item nyelv\quad{}1
+ \item nyolc\quad{}8
+ ...
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>The result describes what the purpose of the above commands is. It
+becomes prettier from step to step, doesn't it?
+<P>You have now learned most of the features of <SF>xindy</SF>. Go playing
+around a little bit. For a detailed description of all commands and
+all their arguments and switches you should reference the manual that
+comes with this distribution.
+<P>
+<P>
+<P>
+<HR>
+<A HREF="style-tutorial-4.html">Next</A>
+<A HREF="style-tutorial-2.html">Previous</A>
+<A HREF="style-tutorial.html#toc3">Contents</A>
+</BODY>
+</HTML>
diff --git a/Master/texmf/doc/xindy/style-tutorial-4.html b/Master/texmf/doc/xindy/style-tutorial-4.html
new file mode 100644
index 00000000000..f3ef19aa4c8
--- /dev/null
+++ b/Master/texmf/doc/xindy/style-tutorial-4.html
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+ <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
+ <TITLE>XINDY Style File Tutorial: References</TITLE>
+ <LINK HREF="style-tutorial-3.html" REL=previous>
+ <LINK HREF="style-tutorial.html#toc4" REL=contents>
+</HEAD>
+<BODY>
+Next
+<A HREF="style-tutorial-3.html">Previous</A>
+<A HREF="style-tutorial.html#toc4">Contents</A>
+<HR>
+<H2><A NAME="s4">4. References</A></H2>
+
+<P>
+<P>The following books and papers were referenced in this document.
+<P>
+<OL>
+<LI> D. E. Knuth, <EM>The TeXbook</EM>, Addison-Wesley, 1984
+</LI>
+<LI> Leslie Lamport, LaTeX <EM>A Document Preparation System</EM>,
+Addison-Wesley, 1986
+</LI>
+<LI> Joachim Schrod, <EM>An International Version of MakeIndex</EM>,
+Cahiers GUTenberg, 10, p81-90, 1991
+</LI>
+<LI> Pehong Chen and Michael A. Harrison, <EM>Automating Index
+Preparation</EM>, TR-87/347, University of California Berkeley, 1987
+<A NAME="makeindex"></A>
+</LI>
+<LI> Roger Kehr, <SF>xindy</SF>, <EM>Ein Flexibles Indexierungssystem</EM>,
+Studienarbeit FB Informatik, TH-Darmstadt, November 1995.</LI>
+</OL>
+<P>
+<HR>
+Next
+<A HREF="style-tutorial-3.html">Previous</A>
+<A HREF="style-tutorial.html#toc4">Contents</A>
+</BODY>
+</HTML>
diff --git a/Master/texmf/doc/xindy/style-tutorial.html b/Master/texmf/doc/xindy/style-tutorial.html
new file mode 100644
index 00000000000..6c815ca30d6
--- /dev/null
+++ b/Master/texmf/doc/xindy/style-tutorial.html
@@ -0,0 +1,66 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+ <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
+ <TITLE>XINDY Style File Tutorial</TITLE>
+ <LINK HREF="style-tutorial-1.html" REL=next>
+
+
+</HEAD>
+<BODY>
+<A HREF="style-tutorial-1.html">Next</A>
+Previous
+Contents
+<HR>
+<H1>XINDY Style File Tutorial</H1>
+
+<H2><SF>A Flexible Indexing System</SF></H2>
+<H2>Roger Kehr</H2>
+<H3>Computer Science Department, Technical University of Darmstadt</H3>
+ and
+<H2>Joachim Schrod</H2>
+<H3>Joachim Schrod Net &amp; Publication Consultance GmbH</H3>
+Tutorial, Edition March 1997 for xindy version 1.1
+<P><HR>
+<EM> This is a tutorial on writing style files for
+the <SF>xindy</SF> indexing system
+[5]. <SF>xindy</SF> is a general purpose index processor that
+can be configured for a variety of document preparation systems. We
+will demonstrate step by step the incremental specification of a
+complete index style. The examples are based on indexes that are
+delivered with the system so one can get acquainted with it
+practically.
+<p>
+<B>Caution:</B> This tutorial does not describe the complete style file
+language. In particular, description of rule sets, the multi-run
+approach, and standard modules are missing.</EM>
+<HR>
+<P>
+<H2><A NAME="toc1">1.</A> <A HREF="style-tutorial-1.html">About <SF>xindy</SF></A></H2>
+
+<P>
+<H2><A NAME="toc2">2.</A> <A HREF="style-tutorial-2.html">A Basic Introduction</A></H2>
+
+<UL>
+<LI><A HREF="style-tutorial-2.html#ss2.1">2.1 Running <SF>xindy</SF></A>
+<LI><A HREF="style-tutorial-2.html#ss2.2">2.2 Adding some Markup</A>
+<LI><A HREF="style-tutorial-2.html#ss2.3">2.3 Keyword Mappings</A>
+<LI><A HREF="style-tutorial-2.html#ss2.4">2.4 Letter Groups</A>
+</UL>
+<P>
+<H2><A NAME="toc3">3.</A> <A HREF="style-tutorial-3.html">Advanced Features</A></H2>
+
+<UL>
+<LI><A HREF="style-tutorial-3.html#ss3.1">3.1 Location Classes</A>
+<LI><A HREF="style-tutorial-3.html#ss3.2">3.2 Hierarchical Location Classes</A>
+<LI><A HREF="style-tutorial-3.html#ss3.3">3.3 More about Letter Groups</A>
+</UL>
+<P>
+<H2><A NAME="toc4">4.</A> <A HREF="style-tutorial-4.html">References</A></H2>
+
+<HR>
+<A HREF="style-tutorial-1.html">Next</A>
+Previous
+Contents
+</BODY>
+</HTML>
diff --git a/Master/texmf/doc/xindy/style-tutorial/ex1.raw b/Master/texmf/doc/xindy/style-tutorial/ex1.raw
new file mode 100644
index 00000000000..1f4585950a9
--- /dev/null
+++ b/Master/texmf/doc/xindy/style-tutorial/ex1.raw
@@ -0,0 +1,20 @@
+;; Example raw-index file.
+
+(indexentry :key ("sbado") :locref "5" :attr "definition")
+(indexentry :key ("sabo") :locref "6" :attr "definition")
+(indexentry :key ("saber") :locref "7" :attr "definition")
+(indexentry :key ("sabor") :locref "8" :attr "definition")
+
+(indexentry :key ("academia") :locref "1" :attr "definition")
+(indexentry :key ("acafetado") :locref "2" :attr "definition")
+(indexentry :key ("aafro") :locref "3" :attr "definition")
+(indexentry :key ("acalmar") :locref "4" :attr "definition")
+
+(indexentry :key ("index" "flat") :locref "1" :attr "usage")
+(indexentry :key ("index" "hierarchical") :locref "2" :attr "usage")
+(indexentry :key ("index" "very" "hierarchical") :locref "3" :attr "usage")
+(indexentry :key ("index" "very" "impressive") :locref "4" :attr "usage")
+
+;(indexentry :key ("arts" "classic") :locref "10" :attr "usage")
+;(indexentry :key ("arts" "contemporary") :locref "11" :attr "usage")
+;(indexentry :key ("arts" "modern") :locref "12" :attr "usage")
diff --git a/Master/texmf/doc/xindy/style-tutorial/ex1.tex b/Master/texmf/doc/xindy/style-tutorial/ex1.tex
new file mode 100644
index 00000000000..839c0b9834c
--- /dev/null
+++ b/Master/texmf/doc/xindy/style-tutorial/ex1.tex
@@ -0,0 +1,16 @@
+%%
+%% An sample file for typesetting an index.
+%%
+
+\documentclass[12pt]{article}
+
+\usepackage[latin1]{inputenc}
+\usepackage{makeidx}
+
+\makeindex
+
+\begin{document}
+
+\printindex
+
+\end{document}
diff --git a/Master/texmf/doc/xindy/style-tutorial/ex2.raw b/Master/texmf/doc/xindy/style-tutorial/ex2.raw
new file mode 100644
index 00000000000..88b767aa60f
--- /dev/null
+++ b/Master/texmf/doc/xindy/style-tutorial/ex2.raw
@@ -0,0 +1,35 @@
+;; Example raw-index file.
+
+(indexentry :key ("appendices") :locref "A-1" :attr "usage")
+(indexentry :key ("appendices") :locref "A-7" :attr "usage")
+(indexentry :key ("appendices") :locref "A-11" :attr "usage")
+(indexentry :key ("appendices") :locref "B-3" :attr "usage")
+(indexentry :key ("appendices") :locref "B-4" :attr "usage")
+(indexentry :key ("appendices") :locref "B-5" :attr "usage")
+(indexentry :key ("appendices") :locref "C-8" :attr "usage")
+(indexentry :key ("appendices") :locref "C-12" :attr "usage")
+(indexentry :key ("appendices") :locref "C-13" :attr "usage")
+(indexentry :key ("appendices") :locref "C-22" :attr "usage")
+(indexentry :key ("appendices") :locref "C-1" :attr "usage")
+(indexentry :key ("appendices") :locref "D-2" :attr "usage")
+(indexentry :key ("appendices") :locref "D-3" :attr "usage")
+(indexentry :key ("appendices") :locref "D-5" :attr "usage")
+(indexentry :key ("appendices") :locref "D-10" :attr "usage")
+
+(indexentry :key ("roman") :locref "iv" :attr "usage")
+(indexentry :key ("roman") :locref "ii" :attr "usage")
+(indexentry :key ("roman") :locref "iii" :attr "usage")
+(indexentry :key ("roman") :locref "ix" :attr "usage")
+(indexentry :key ("roman") :locref "x" :attr "usage")
+(indexentry :key ("roman") :locref "mcmxcvi" :attr "usage")
+
+(indexentry :key ("lyuk") :locref "1" :attr "usage")
+(indexentry :key ("lyukas") :locref "2" :attr "usage")
+(indexentry :key ("maga") :locref "1" :attr "usage")
+(indexentry :key ("magyar") :locref "2" :attr "usage")
+(indexentry :key ("nagy") :locref "1" :attr "usage")
+(indexentry :key ("nagyon") :locref "9" :attr "usage")
+(indexentry :key ("negy") :locref "4" :attr "usage")
+(indexentry :key ("nyolc") :locref "8" :attr "usage")
+(indexentry :key ("nyelv") :locref "1" :attr "usage")
+
diff --git a/Master/texmf/doc/xindy/style-tutorial/ex2.tex b/Master/texmf/doc/xindy/style-tutorial/ex2.tex
new file mode 100644
index 00000000000..839c0b9834c
--- /dev/null
+++ b/Master/texmf/doc/xindy/style-tutorial/ex2.tex
@@ -0,0 +1,16 @@
+%%
+%% An sample file for typesetting an index.
+%%
+
+\documentclass[12pt]{article}
+
+\usepackage[latin1]{inputenc}
+\usepackage{makeidx}
+
+\makeindex
+
+\begin{document}
+
+\printindex
+
+\end{document}
diff --git a/Master/texmf/doc/xindy/style-tutorial/index.tex b/Master/texmf/doc/xindy/style-tutorial/index.tex
new file mode 100644
index 00000000000..839c0b9834c
--- /dev/null
+++ b/Master/texmf/doc/xindy/style-tutorial/index.tex
@@ -0,0 +1,16 @@
+%%
+%% An sample file for typesetting an index.
+%%
+
+\documentclass[12pt]{article}
+
+\usepackage[latin1]{inputenc}
+\usepackage{makeidx}
+
+\makeindex
+
+\begin{document}
+
+\printindex
+
+\end{document}
diff --git a/Master/texmf/doc/xindy/style-tutorial/style1.xdy b/Master/texmf/doc/xindy/style-tutorial/style1.xdy
new file mode 100644
index 00000000000..ee809f9aae8
--- /dev/null
+++ b/Master/texmf/doc/xindy/style-tutorial/style1.xdy
@@ -0,0 +1,55 @@
+;; This is a first example using `xindy'.
+
+(mapc #'(lambda (x)
+ (pushnew x *features*))
+ '(:STEP1 :STEP2 :STEP3 :STEP4 :STEP5))
+
+#+:STEP1
+(progn
+ (define-location-class "page-numbers" ("arabic-numbers"))
+ (define-attributes (("definition" "usage")))
+ )
+
+
+#+:STEP2
+(progn
+ (markup-index :open "~n\begin{theindex}~n"
+ :close "~n~n\end{theindex}~n"
+ :tree)
+
+ (markup-locref :class "page-numbers" :attr "definition"
+ :open "{\bf " :close "}")
+
+ (markup-locref-list :sep ", ")
+ (markup-locclass-list :open "\quad{}")
+ )
+
+#+:STEP3
+(progn
+ (markup-indexentry :open "~n \item " :depth 0)
+ (markup-indexentry :open "~n \subitem " :depth 1)
+ (markup-indexentry :open "~n \subsubitem " :depth 2)
+
+ (markup-range :class "page-numbers" :sep "--")
+ )
+
+#+:STEP4
+(progn
+ (sort-rule "" "a")
+ (sort-rule "" "a")
+ (sort-rule "" "a")
+ (sort-rule "" "e")
+ (sort-rule "" "e")
+ (sort-rule "" "c")
+
+ (sort-rule "\\texttt{\(.*\)}" "\1" :again :bregexp)
+ )
+
+#+:STEP5
+(progn
+ (define-letter-groups
+ ("a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m"
+ "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"))
+
+ (markup-letter-group-list :sep "~n~n \indexspace~n")
+ )
diff --git a/Master/texmf/doc/xindy/style-tutorial/style2.xdy b/Master/texmf/doc/xindy/style-tutorial/style2.xdy
new file mode 100644
index 00000000000..e45e2f24482
--- /dev/null
+++ b/Master/texmf/doc/xindy/style-tutorial/style2.xdy
@@ -0,0 +1,80 @@
+;; This is another example using `xindy'.
+
+(mapc #'(lambda (x)
+ (pushnew x *features*))
+ '(:STEP1 :STEP2 :STEP3 :STEP4 :STEP5 :STEP6 :STEP7 :STEP8 :STEP9 :STEP10))
+
+#+:STEP1
+(progn
+ (define-location-class "page-numbers" ("arabic-numbers"))
+ (define-attributes (("definition" "usage")))
+ )
+
+
+#+:STEP2
+(progn
+ (markup-index :open "~n\begin{theindex}~n"
+ :close "~n~n\end{theindex}~n"
+ :tree)
+
+ (markup-locref :class "page-numbers" :attr "definition"
+ :open "{\bf " :close "}")
+
+ (markup-locref-list :sep ", ")
+ (markup-locclass-list :open "\quad{}")
+ )
+
+#+:STEP3
+(progn
+ (markup-indexentry :open "~n \item " :depth 0)
+ (markup-indexentry :open "~n \subitem " :depth 1)
+ (markup-indexentry :open "~n \subsubitem " :depth 2)
+ )
+
+#+:STEP4
+(progn
+ (sort-rule "" "a")
+ (sort-rule "" "a")
+ (sort-rule "" "a")
+ (sort-rule "" "e")
+ (sort-rule "" "e")
+ (sort-rule "" "c")
+
+ (sort-rule "\\texttt{(.*)}" "\1" :again :bregexp)
+ )
+
+#+:STEP5
+(progn
+ (define-letter-groups
+ ("a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m"
+ "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"))
+
+ (markup-letter-group-list :sep "~n~n \indexspace~n")
+ )
+
+#+:STEP6
+(progn
+ (define-location-class "roman-pages" ("roman-numbers-lowercase"))
+ #-:STEP8
+ (define-location-class "appendices" ("ALPHA" :sep "-" "arabic-numbers"))
+ )
+
+#+:STEP7
+(markup-range :sep "--")
+
+#+:STEP8
+(progn
+ (define-location-class "appendices" ("ALPHA" :sep "-" "arabic-numbers")
+ :hierdepth 2)
+ (markup-locref-list :sep "; " :depth 0 :class "appendices")
+ (markup-locref-list :open "~~" :sep ", " :depth 1 :class "appendices")
+ )
+
+#+:STEP9
+(progn
+ (define-letter-group "ly" :after "l" :before "m")
+ (define-letter-group "ny" :after "n" :before "o")
+
+ (markup-letter-group :open-head "~n {\bf " :close-head "}"
+ :capitalize)
+ )
diff --git a/Master/texmf/doc/xindy/tex2xindy.pdf b/Master/texmf/doc/xindy/tex2xindy.pdf
new file mode 100644
index 00000000000..65b834d225d
--- /dev/null
+++ b/Master/texmf/doc/xindy/tex2xindy.pdf
Binary files differ
diff --git a/Master/texmf/doc/xindy/texindy.pdf b/Master/texmf/doc/xindy/texindy.pdf
new file mode 100644
index 00000000000..0d460cc060f
--- /dev/null
+++ b/Master/texmf/doc/xindy/texindy.pdf
Binary files differ
diff --git a/Master/texmf/doc/xindy/xindy.pdf b/Master/texmf/doc/xindy/xindy.pdf
new file mode 100644
index 00000000000..f861491dfb8
--- /dev/null
+++ b/Master/texmf/doc/xindy/xindy.pdf
Binary files differ
diff --git a/Master/texmf/scripts/xindy/texindy.pl b/Master/texmf/scripts/xindy/texindy.pl
new file mode 100755
index 00000000000..8e4d8f932d2
--- /dev/null
+++ b/Master/texmf/scripts/xindy/texindy.pl
@@ -0,0 +1,525 @@
+#!/usr/bin/env perl
+# $Id: texindy,v 1.5 2006/07/30 10:30:42 jschrod Exp $
+#------------------------------------------------------------
+# (history at end)
+
+=head1 NAME
+
+texindy - create sorted and tagged index from raw LaTeX index
+
+=head1 SYNOPSIS
+
+ texindy [-V?h] [-qv] [-iglr] [-d magic] [-o outfile.ind] [-t log] \
+ [-L lang] [-C codepage] [-M module] [idx0 idx1 ...]
+
+=head2 GNU-Style Long Options for Short Options:
+
+ -V / --version
+ -? / -h / --help
+ -q / --quiet
+ -v / --verbose
+ -i / --stdin
+ -g / --german
+ -l / --letter-ordering
+ -r / --no-ranges
+ -d / --debug (multiple times)
+ -o / --out-file
+ -t / --log-file
+ -L / --language
+ -C / --codepage
+ -M / --module (multiple times)
+ -I / --input-markup (supported: latex, omega)
+
+
+=head1 DESCRIPTION
+
+B<texindy> is the LaTeX-specific command of xindy, the flexible
+indexing system. It takes a raw index as input, and produces a merged,
+sorted and tagged index. Merging, sorting, and tagging is controlled
+by xindy modules, with a convenient set already preloaded.
+
+Files with the raw index are passed as arguments. If no arguments are
+passed, the raw index will be read from standard input.
+
+A good introductionary description of B<texindy> appears in the
+indexing chapter of the LaTeX Companion (2nd ed.)
+
+If you want to produce an index for LaTeX documents with special index
+markup, the command xindy(1) is probably more of interest for you.
+
+B<texindy> is an approach to merge support for the I<make-rules>
+framework, own xindy modules (e.g., for special LaTeX commands in the
+index), and a reasonable level of MakeIndex compatibility. There are
+other older approaches, eventually they will get a description on the
+xindy Web Site, http://www.xindy.org/.
+
+
+=head1 OPTIONS
+
+=over
+
+=item C<--version> / B<-V>
+
+output version numbers of all relevant components and exit.
+
+=item C<--help> / B<-h> / B<-?>
+
+output usage message with options explanation.
+
+=item C<--quiet> / B<-q>
+
+Don't output progress messages. Output only error messages.
+
+=item C<--version> / B<-v>
+
+Output verbose progress messages.
+
+=item C<--debug> I<magic> / B<-d> I<magic>
+
+Output debug messages, this option may be specified multiple times.
+I<magic> determines what is output:
+
+ magic remark
+ ------------------------------------------------------------
+ script internal progress messages of driver scripts
+ keep_tmpfiles don't discard temporary files
+ markup output markup trace, as explained in xindy manual
+ level=n log level, n is 0 (default), 1, 2, or 3
+
+=item C<--out-file> F<outfile.ind> / B<-o> F<outfile.ind>
+
+Output index to file F<outfile.ind>. If this option is not passed, the
+name of the output file is the base name of the first argument and the
+file extension F<ind>. If the raw index is read from standard input,
+this option is mandatory.
+
+=item C<--log-file> F<log.ilg> / B<-t> F<log.ilg>
+
+Output log messages to file F<log.ilg>. These log messages are
+independent from the progress messages that you can influence with
+C<--debug> or C<--verbose>.
+
+=item C<--language> I<lang> / B<-L> I<lang>
+
+The index is sorted according to the rules of language I<lang>. These
+rules are encoded in a xindy module created by I<make-rules>.
+
+If no input encoding is specified via C<--codepage>, a xindy module
+for that language is searched with a latin, a cp, an iso, or ascii
+encoding, in that order.
+
+=item C<--codepage> I<enc> / B <-C> I<enc>
+
+The raw input is in input encoding I<enc>. This information is used to
+select the correct xindy sort module and also the I<inputenc> target
+encoding for C<latex> input markup.
+
+When C<omega> input markup is used, C<utf8> is always used as the sort
+codepage and no inputenc module is loaded. Then this option is
+ignored.
+
+=item C<--module> I<module> / B<-M> I<module>
+
+Load the xindy module F<module.xdy>. This option may be specified
+multiple times. The modules are searched in the xindy search path that
+can be changed with the environment variable C<XINDY_SEARCHPATH>.
+
+=item C<--input-markup> I<input> / B<-I> I<input>
+
+Specifies the input markup of the raw index. Supported values for
+I<input> are C<latex> and C<omega>.
+
+C<latex> input markup is the one that is emitted by default from the
+LaTeX kernel, or by the C<index> macro package of David Jones.
+^^-notation of single byte characters is supported. Usage of LaTeX's
+I<inputenc> package is assumed as well.
+
+C<omega> input markup is like C<latex> input markup, but with Omega's
+^^-notation as encoding for non-ASCII characters. LaTeX I<inputenc>
+encoding is not used then, and C<utf8> is enforced to be the codepage
+for sorting.
+
+=back
+
+
+=head1 SUPPORTED LANGUAGES / CODEPAGES
+
+The following languages are supported:
+
+=head2 Latin scripts
+
+ albanian gypsy portuguese
+ croatian hausa romanian
+ czech hungarian russian-iso
+ danish icelandic slovak-small
+ english italian slovak-large
+ esperanto kurdish-bedirxan slovenian
+ estonian kurdish-turkish spanish-modern
+ finnish latin spanish-traditional
+ french latvian swedish
+ general lithuanian turkish
+ german-din lower-sorbian upper-sorbian
+ german-duden norwegian vietnamese
+ greek-iso polish
+
+German recognizes two different sorting schemes to handle umlauts:
+normally, C<> is sorted like C<ae>, but in phone books or
+dictionaries, it is sorted like C<a>. The first scheme is known as
+I<DIN order>, the second as I<Duden order>.
+
+C<*-iso> language names assume that the raw index entries are in ISO
+8859-9 encoding.
+
+C<gypsy> is a northern Russian dialect.
+
+=head2 Cyrillic scripts
+
+ belarusian mongolian serbian
+ bulgarian russian ukrainian
+ macedonian
+
+=head2 Other scripts
+
+ greek klingon
+
+=head2 Available Codepages
+
+This is not yet written. You can look them up in your xindy
+distribution, in the F<modules/lang/language/> directory (where
+I<language> is your language). They are named
+F<variant-codepage-lang.xdy>, where F<variant-> is most often empty
+(for german, it's C<din5007> and C<duden>; for spanish, it's C<modern>
+and C<traditional>, etc.)
+
+ < Describe available codepages for each language >
+
+ < Describe relevance of codepages (as internal representation) for
+ LaTeX inputenc >
+
+
+=head1 TEXINDY STANDARD MODULES
+
+There is a set of B<texindy> standard modules that help to process
+LaTeX index files. Some of them are automatically loaded. Some of them
+are loaded by default, this can be turned off with a B<texindy>
+option. Others may be specified as C<--module> argument to achieve a
+specific effect.
+
+ xindy Module Category Description
+
+=head2 Sorting
+
+ word-order Default A space comes before any letter in the
+ alphabet: ``index style'' is listed before
+ ``indexing''. Turn it off with option -l.
+ letter-order Add-on Spaces are ignored: ``index style''
+ is sorted after ``indexing''.
+ keep-blanks Add-on Leading and trailing white space (blanks
+ and tabs) are not ignored; intermediate
+ white space is not changed.
+ ignore-hyphen Add-on Hyphens are ignored:
+ ``ad-hoc'' is sorted as ``adhoc''.
+ ignore-punctuation Add-on All kinds of punctuation characters are
+ ignored: hyphens, periods, commas, slashes,
+ parentheses, and so on.
+ numeric-sort Auto Numbers are sorted numerically, not like
+ characters: ``V64'' appears before ``V128''.
+
+=head2 Page Numbers
+
+ page-ranges Default Appearances on more than two consecutive
+ pages are listed as a range: ``1--4''.
+ Turn it off with option -r.
+ ff-ranges Add-on Uses implicit ``ff'' notation for ranges
+ of three pages, and explicit ranges
+ thereafter: 2f, 2ff, 2--6.
+ ff-ranges-only Add-on Uses only implicit ranges: 2f, 2ff.
+ book-order Add-on Sorts page numbers with common book numbering
+ scheme correctly -- Roman numerals first, then
+ Arabic numbers, then others: i, 1, A.
+
+=head2 Markup and Layout
+
+ tex Auto Handles basic TeX conventions.
+ latex-loc-fmts Auto Provides LaTeX formatting commands
+ for page number encapsulation.
+ latex Auto Handles LaTeX conventions, both in raw
+ index entries and output markup; implies
+ tex.
+ makeindex Auto Emulates the default MakeIndex input syntax
+ and quoting behavior.
+ latin-lettergroups Auto Layout contains a single Latin letter
+ above each group of words starting with the
+ same letter.
+ german-sty Add-on Handles umlaut markup of babel's german
+ and ngerman options.
+
+
+
+=head1 ENVIRONMENT
+
+=over
+
+=item C<TEXINDY_AUTO_MODULE>
+
+This is the name of the xindy module that loads all auto-loaded
+modules. The default is C<texindy>.
+
+=back
+
+
+=head1 AUTHOR
+
+Joachim Schrod
+
+
+=head1 LEGALESE
+
+B<texindy> is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 2 of the License, or (at your
+option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+
+=for Emacs
+#'
+
+=cut
+
+
+use strict;
+
+BEGIN {
+ use vars qw($Revision $VERSION);
+ q$Revision: 1.5 $ =~ /: (\d+)\.(\d+)/ ; # q wg. Emacs indent!
+ my ($major, $minor) = ($1, $2);
+ $VERSION = "$major." . ($minor<10 ? '0' : '') . $minor;
+}
+
+
+# Some common variables.
+# Determine environment. Where is our library directory, and our modules?
+
+use File::Basename;
+our ($cmd_dir, $cmd);
+BEGIN {
+ $cmd_dir = dirname($0);
+ $cmd = basename($0);
+}
+
+
+# Used modules.
+
+use Getopt::Long qw(:config bundling);
+
+
+# Check arguments, store them in proper variables.
+
+my $usage_msg = <<_EOT_
+
+usage: $cmd [-V?h] [-qv] [-iglr] [-d magic] [-o outfile.ind] [-t log] \\
+ [-L lang] [-C codepage] [-M module] [-I input] [idx0 idx1 ...]
+
+GNU-STYLE LONG OPTIONS FOR SHORT OPTIONS:
+
+ -V / --version
+ -? / -h / --help
+ -q / --quiet
+ -v / --verbose
+ -i / --stdin
+ -g / --german
+ -l / --letter-ordering
+ -r / --no-ranges
+ -d / --debug (multiple times)
+ (supported: script, keep_tmpfiles, markup, level=n)
+ -o / --out-file
+ -t / --log-file
+ -L / --language
+ -C / --codepage
+ -M / --module (multiple times)
+ -I / --input-markup (supported: latex, omega)
+
+_EOT_
+;
+
+sub usage ()
+{
+ print STDERR $usage_msg;
+ exit 1;
+}
+
+our ($output_version, $quiet, $verbose, $stdin, @debug,
+ $outfile, $logfile, $language, $codepage, @modules, $input_markup);
+$language = 'general';
+$codepage = 'latin';
+$input_markup = 'latex';
+
+our $xindy;
+if ( -f "$cmd_dir/xindy" && -x _ ) {
+ $xindy = "$cmd_dir/xindy";
+} elsif ( -f "$cmd_dir/xindy.pl" && -x _ ) {
+ $xindy = "$cmd_dir/xindy.pl";
+} else {
+ die "$cmd: cannot locate xindy\n";
+}
+
+parse_options();
+output_version() if $output_version; # will not return
+usage() if ( ! $stdin && @ARGV == 0 ); # brain damaged, but like makeindex
+
+
+# Reconstruct xindy options, and eventually switch to it.
+
+unshift (@ARGV, '-q') if $quiet;
+unshift (@ARGV, '-v') if $verbose;
+unshift (@ARGV, map { ('-d', $_) } @debug) if @debug;
+unshift (@ARGV, '-o', $outfile) if $outfile;
+unshift (@ARGV, '-t', $logfile) if $logfile;
+unshift (@ARGV, '-L', $language);
+unshift (@ARGV, '-C', $codepage) if $codepage;
+unshift (@ARGV, '-M', "tex/inputenc/$codepage") if $codepage;
+unshift (@ARGV, map { ('-M', $_) } ($ENV{TEXINDY_AUTO_MODULE} || 'texindy',
+ @modules));
+unshift (@ARGV, '-I', $input_markup);
+
+print "Calling xindy as: $cmd_dir/xindy @ARGV\n" if (grep /^script$/, @debug);
+
+exec $xindy, @ARGV;
+die "$cmd: could not execute xindy: $!\n";
+
+
+# ------------------------------------------------------------
+
+
+sub parse_options() {
+
+ my ($german, $letter_ordering, $no_ranges);
+ GetOptions(
+ 'version|V' => \$output_version,
+ 'help|h|?' => sub { print $usage_msg; exit 0; },
+ 'quiet|q' => \$quiet,
+ 'verbose|v' => \$verbose,
+ 'stdin|i' => \$stdin,
+ 'german|g' => \$german,
+ 'letter-ordering|l' => \$letter_ordering,
+ 'no-ranges|r' => \$no_ranges,
+ 'debug|d=s' => \@debug,
+ 'out-file|o=s' => \$outfile,
+ 'log-file|t=s' => \$logfile,
+ 'language|L=s' => \$language,
+ 'codepage|C=s' => \$codepage,
+ 'module|M=s' => \@modules,
+ 'input-markup|I=s' => \$input_markup,
+ )
+ or usage();
+
+ if ( $german ) {
+ unshift (@modules, 'german-sty');
+ if ( $language eq 'general' ) {
+ $language = 'german-din';
+ } elsif ( $language !~ /^german/ ) {
+ print STDERR "You cannot specify -g and -L at the same time.\n";
+ #print STDERR "NOTE: -g is obsolete anyhow.\n";
+ exit (1);
+ }
+ }
+ unshift (@modules, ($letter_ordering ? 'letter-order' : 'word-order'));
+ unshift (@modules, 'page-ranges') unless $no_ranges;
+
+ # Check that the input markup is known. omega markup implies
+ # codepage utf8 for sorting, but no inputenc. We set the codepage
+ # to undef to prevent loading of the inputenc module. Setting it
+ # to utf8 for the sort encoding is done by the xindy script.
+ if ( $input_markup ne 'latex' && $input_markup ne 'omega' ) {
+ print STDERR "Unsupported input markup $input_markup.\n\n";
+ usage();
+ }
+ if ( $input_markup eq 'omega' ) {
+ $codepage = undef;
+ }
+
+}
+
+
+sub output_version () {
+ output_xindy_release();
+ print "$cmd script version: $VERSION\n";
+ my @xindy_cmd = ($xindy, '--internal-version');
+ push (@xindy_cmd, qw(-d script --foobar)) if grep(/^script$/, @debug);
+ exec @xindy_cmd;
+}
+
+
+sub output_xindy_release () {
+ my $version = 'unknown';
+ my $version_file;
+ if ( -f "$cmd_dir/../VERSION" ) {
+ $version_file = "$cmd_dir/../VERSION";
+ } else {
+ # Where is the library directory?
+ my $lib_dir;
+ if ( $ENV{XINDY_LIBDIR} ) {
+ $lib_dir = $ENV{XINDY_LIBDIR};
+ } elsif ( '@libdir@' ne '@libdir' . '@' ) { # GNU configure at work?
+ if ( -d '@libdir@/xindy' ) { # /usr style
+ $lib_dir = '@libdir@/xindy';
+ } else {
+ $lib_dir = '@libdir@'; # /opt style
+ }
+ } elsif ( -f "$cmd_dir/../lib/xindy.run" ) { # /opt style
+ $lib_dir = "$cmd_dir/../lib";
+ } elsif ( -d "$cmd_dir/../lib/xindy" ) { # /usr style
+ $lib_dir = "$cmd_dir/../lib/xindy";
+ } elsif ( -f "$cmd_dir/xindy.run" ) { # texlive style
+ $lib_dir = $cmd_dir;
+ } else {
+ die "Cannot locate xindy library directory";
+ }
+ if ( -f "$lib_dir/VERSION" ) {
+ $version_file = "$lib_dir/VERSION";
+ }
+ }
+
+ if ( $version_file ) {
+ if ( open(VERSION, "<$version_file") ) {
+ while ( $version = <VERSION> ) {
+ chomp ($version);
+ $version =~ s/\#.*// ;
+ $version =~ s/^\s+// ;
+ $version =~ s/\s+$// ;
+ last if $version;
+ }
+ close (VERSION);
+ }
+ }
+ print "xindy release: $version\n";
+}
+
+
+
+#======================================================================
+#
+# $Log: texindy,v $
+# Revision 1.5 2006/07/30 10:30:42 jschrod
+# Check if an exec() error happened and output an error message.
+# (Ticket 1230801)
+#
+# Revision 1.4 2006/07/19 00:29:56 jschrod
+# Support for omega input markup.
+#
+# Revision 1.3 2004/11/01 22:48:51 jschrod
+# Locate xindy script.
+# Terminate on option error.
+# Fix up version output.
+#
+# Revision 1.2 2004/05/26 21:30:11 jschrod
+# Added POD documentation.
+#
+# Revision 1.1 2004/05/24 19:47:13 jschrod
+# Introduce new driver script, as part of the "Companion Release".
+#
diff --git a/Master/texmf/scripts/xindy/xindy.pl b/Master/texmf/scripts/xindy/xindy.pl
new file mode 100755
index 00000000000..f8350a6d048
--- /dev/null
+++ b/Master/texmf/scripts/xindy/xindy.pl
@@ -0,0 +1,790 @@
+#!/usr/bin/env perl
+# $Id: xindy.pl,v 1.8 2006/07/30 10:30:42 jschrod Exp $
+#------------------------------------------------------------
+# (history at end)
+
+=head1 NAME
+
+xindy - create sorted and tagged index from raw index
+
+=head1 SYNOPSIS
+
+ xindy [-V?h] [-qv] [-d magic] [-o outfile.ind] [-t log] \
+ [-L lang] [-C codepage] [-M module] [-I input] \
+ [--interactive] [--mem-file=xindy.mem] \
+ [idx0 idx1 ...]
+
+=head2 GNU-Style Long Options for Short Options:
+
+ -V / --version
+ -? / -h / --help
+ -q / --quiet
+ -v / --verbose
+ -d / --debug (multiple times)
+ -o / --out-file
+ -t / --log-file
+ -L / --language
+ -C / --codepage
+ -M / --module (multiple times)
+ -I / --input-markup (supported: latex, omega, xindy)
+
+
+=head1 DESCRIPTION
+
+B<xindy> is the formatter-indepedent command of xindy, the flexible
+indexing system. It takes a raw index as input, and produces a merged,
+sorted and tagged index. Merging, sorting, and tagging is controlled
+by xindy style files.
+
+Files with the raw index are passed as arguments. If no arguments are
+passed, the raw index will be read from standard input.
+
+B<xindy> is completely described in its manual that you will find on
+its Web Site, http://www.xindy.org/. A good introductionary
+description appears in the indexing chapter of the LaTeX Companion (2nd ed.)
+
+If you want to produce an index for LaTeX documents, the command
+texindy(1) is probably more of interest for you. It is a wrapper for
+B<xindy> that turns on many LaTeX conventions by default.
+
+
+=head1 OPTIONS
+
+=over
+
+=item C<--version> / B<-V>
+
+output version numbers of all relevant components and exit.
+
+=item C<--help> / B<-h> / B<-?>
+
+output usage message with options explanation.
+
+=item C<--quiet> / B<-q>
+
+Don't output progress messages. Output only error messages.
+
+=item C<--version> / B<-v>
+
+Output verbose progress messages.
+
+=item C<--debug> I<magic> / B<-d> I<magic>
+
+Output debug messages, this option may be specified multiple times.
+I<magic> determines what is output:
+
+ magic remark
+ ------------------------------------------------------------
+ script internal progress messages of driver scripts
+ keep_tmpfiles don't discard temporary files
+ markup output markup trace, as explained in xindy manual
+ level=n log level, n is 0 (default), 1, 2, or 3
+
+=item C<--out-file> F<outfile.ind> / B<-o> F<outfile.ind>
+
+Output index to file F<outfile.ind>. If this option is not passed, the
+name of the output file is the base name of the first argument and the
+file extension F<ind>. If the raw index is read from standard input,
+this option is mandatory.
+
+=item C<--log-file> F<log.ilg> / B<-t> F<log.ilg>
+
+Output log messages to file F<log.ilg>. These log messages are
+independent from the progress messages that you can influence with
+C<--debug> or C<--verbose>.
+
+=item C<--language> I<lang> / B<-L> I<lang>
+
+The index is sorted according to the rules of language I<lang>. These
+rules are encoded in a xindy module created by I<make-rules>.
+
+If no input encoding is specified via C<--codepage>, a xindy module
+for that language is searched with a latin, a cp, an iso, or ascii
+encoding, in that order.
+
+=item C<--codepage> I<enc> / B<-C> I<enc>
+
+The raw input is in input encoding I<enc>. This information is used to
+select the correct xindy sort module and also the I<inputenc> target
+encoding for C<latex> input markup.
+
+When C<omega> input markup is used, C<utf8> is always used as
+codepage, this option is then ignored.
+
+=item C<--module> I<module> / B<-M> I<module>
+
+Load the xindy module F<module.xdy>. This option may be specified
+multiple times. The modules are searched in the xindy search path that
+can be changed with the environment variable C<XINDY_SEARCHPATH>.
+
+=item C<--input-markup> I<input> / B<-I> I<input>
+
+Specifies the input markup of the raw index. Supported values for
+I<input> are C<latex>, C<omega>, and C<xindy>.
+
+C<latex> input markup is the one that is emitted by default from the
+LaTeX kernel, or by the C<index> macro package of David Jones.
+^^-notation of single byte characters is supported. Usage of LaTeX's
+I<inputenc> package is assumed as well.
+
+C<omega> input markup is like C<latex> input markup, but with Omega's
+^^-notation as encoding for non-ASCII characters. LaTeX I<inputenc>
+encoding is not used then, and C<utf8> is enforced to be the codepage.
+
+C<xindy> input markup is specified in the xindy manual.
+
+=item C<--interactive>
+
+Start xindy in interactive mode. You will be in a xindy read-eval-loop
+where xindy language expressions are read and evaluated interactively.
+
+=item C<--mem-file> I<xindy.mem>
+
+This option is only usable for developers or in very rare situations.
+The compiled xindy kernel is stored in a so-called I<memory file>,
+canonically named F<xindy.mem>, and located in the xindy library
+directory. This option allows to use another xindy kernel.
+
+=back
+
+
+=head1 SUPPORTED LANGUAGES / CODEPAGES
+
+The following languages are supported:
+
+=head2 Latin scripts
+
+ albanian gypsy portuguese
+ croatian hausa romanian
+ czech hungarian russian-iso
+ danish icelandic slovak-small
+ english italian slovak-large
+ esperanto kurdish-bedirxan slovenian
+ estonian kurdish-turkish spanish-modern
+ finnish latin spanish-traditional
+ french latvian swedish
+ general lithuanian turkish
+ german-din lower-sorbian upper-sorbian
+ german-duden norwegian vietnamese
+ greek-iso polish
+
+German recognizes two different sorting schemes to handle umlauts:
+normally, C<> is sorted like C<ae>, but in phone books or
+dictionaries, it is sorted like C<a>. The first scheme is known as
+I<DIN order>, the second as I<Duden order>.
+
+C<*-iso> language names assume that the raw index entries are in ISO
+8859-9 encoding.
+
+C<gypsy> is a northern Russian dialect.
+
+=head2 Cyrillic scripts
+
+ belarusian mongolian serbian
+ bulgarian russian ukrainian
+ macedonian
+
+=head2 Other scripts
+
+ greek klingon
+
+=head2 Available Codepages
+
+This is not yet written. You can look them up in your xindy
+distribution, in the F<modules/lang/language/> directory (where
+I<language> is your language). They are named
+F<variant-codepage-lang.xdy>, where F<variant-> is most often empty
+(for german, it's C<din5007> and C<duden>; for spanish, it's C<modern>
+and C<traditional>, etc.)
+
+ < Describe available codepages for each language >
+
+ < Describe relevance of codepages (as internal representation) for
+ LaTeX inputenc >
+
+
+
+=head1 ENVIRONMENT
+
+=over
+
+=item C<XINDY_SEARCHPATH>
+
+A list of directories where the xindy modules are searched in. No
+subtree searching is done (as in TDS-conformant TeX).
+
+If this environment variable is not set, the default is used:
+C<.:>I<modules_dir>C<:>I<modules_dir>C</base>. I<modules_dir> is
+determined at run time, relative to the B<xindy> command location:
+Either it's F<../modules>, that's the case for F<opt>-installations.
+Or it's F<../lib/xindy/modules>, that's the case for
+F<usr>-installations.
+
+=item C<XINDY_LIBDIR>
+
+Library directory where F<xindy.run> and F<xindy.mem> are located.
+
+The modules directory may be a subdirectory, too.
+
+=back
+
+
+=head1 KNOWN BUGS
+
+Option B<-q> also prevents output of error messages. Error messages
+should be output on stderr, progress messages on stdout.
+
+There should be a way to output the final index to stdout. This would
+imply B<-q>, of course.
+
+Codepage C<utf8> should be supported for all languages, and should be
+used as internal codepage for LaTeX inputenc re-encoding.
+
+
+=head1 SEE ALSO
+
+texindy(1),
+tex2xindy(1)
+
+
+=head1 AUTHOR
+
+Joachim Schrod
+
+
+=head1 LEGALESE
+
+Copyright (c) 2004-2006 by Joachim Schrod.
+
+B<xindy> is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 2 of the License, or (at your
+option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+=for Emacs
+#'
+
+=cut
+
+
+use strict;
+
+BEGIN {
+ use vars qw($Revision $VERSION);
+ q$Revision: 1.8 $ =~ /: (\d+)\.(\d+)/ ; # q wg. Emacs indent!
+ my ($major, $minor) = ($1, $2);
+ $VERSION = "$major." . ($minor<10 ? '0' : '') . $minor;
+}
+
+
+# Some common variables.
+# Determine environment. Where is our library directory, and our modules?
+
+use File::Basename;
+our ($cmd_dir, $cmd, $lib_dir, $modules_dir);
+BEGIN {
+ $cmd_dir = dirname($0);
+ $cmd = basename($0);
+
+ # library directory
+ if ( $ENV{XINDY_LIBDIR} ) {
+ $lib_dir = $ENV{XINDY_LIBDIR};
+ } elsif ( -f "$cmd_dir/xindy.run" ) { # texlive style
+ $lib_dir = $cmd_dir;
+ } elsif ( '/home/vvv/src/texlive/source/utils/01/lib' ne '@libdir' . '@' ) { # GNU configure at work?
+ if ( -d '/home/vvv/src/texlive/source/utils/01/lib/xindy' ) { # /usr style
+ $lib_dir = '/home/vvv/src/texlive/source/utils/01/lib/xindy';
+ } else {
+ $lib_dir = '/home/vvv/src/texlive/source/utils/01/lib'; # /opt style
+ }
+ } elsif ( -f "$cmd_dir/../lib/xindy.run" ) { # /opt style
+ $lib_dir = "$cmd_dir/../lib";
+ } elsif ( -d "$cmd_dir/../lib/xindy" ) { # /usr style
+ $lib_dir = "$cmd_dir/../lib/xindy";
+ } else {
+ die "$cmd: Cannot locate xindy library directory";
+ }
+
+ # modules directory
+ if ( -d "$cmd_dir/../modules" ) { # /opt style
+ $modules_dir = "$cmd_dir/../modules";
+ } elsif ( -d "$lib_dir/modules" ) { # /usr style
+ $modules_dir = "$lib_dir/modules";
+ } elsif ( -d "$lib_dir/../../texmf/xindy" ) { # texlive style
+ $modules_dir = "$lib_dir/../../texmf/xindy";
+ } elsif ( -d "/usr/share/xindy" ) { # FSH style
+ $modules_dir = "/usr/share/xindy";
+ } else {
+ die "$cmd: Cannot locate xindy modules directory";
+ }
+}
+
+
+# Used modules.
+
+use Getopt::Long qw(:config bundling);
+use File::Temp qw(tempfile tmpnam);
+use File::Spec;
+
+
+# Check arguments, store them in proper variables.
+#
+# Do also something for backward compatibility: Check if this is an
+# old-style call. If it is, we have two arguments at the end, and the
+# second-to-last has the extension ".xdy". Then, call the old driver
+# script with the original arguments...
+
+my $usage_msg = <<_EOT_
+
+usage: $cmd [-V?h] [-qv] [-d magic] [-o outfile.ind] [-t log] \\
+ [-L lang] [-C codepage] [-M module] [-I input] \\
+ [--interactive] [--mem-file xindy.mem] \\
+ [idx0 idx1 ...]
+
+GNU-STYLE LONG OPTIONS FOR SHORT OPTIONS:
+
+ -V / --version
+ -? / -h / --help
+ -q / --quiet
+ -v / --verbose
+ -d / --debug (multiple times)
+ (supported: script, keep_tmpfiles, markup, level=n)
+ -o / --out-file
+ -t / --log-file
+ -L / --language
+ -C / --codepage
+ -M / --module (multiple times)
+ -I / --input-markup (supported: latex, omega, xindy)
+
+_EOT_
+;
+
+sub usage ()
+{
+ print STDERR $usage_msg;
+ exit 1;
+}
+
+our ($quiet, $verbose, %debug,
+ $outfile, $logfile, $language, @codepages, @modules, $input_markup,
+ $interactive, $mem_file);
+$input_markup = 'latex';
+$mem_file = "$lib_dir/xindy.mem";
+
+parse_options();
+
+if ( @ARGV == 2 && $ARGV[0] =~ /\.xdy$/ ) {
+ print STDERR <<EOF;
+$cmd: deprecated calling convention detected.
+Please change your command to
+
+$cmd -I xindy -M $ARGV[0] $ARGV[1]
+
+Run "$cmd --help" for full list of options, or read the documentation.
+EOF
+ exit 1;
+}
+
+
+# This script creates temporary files. Whenever a file is created, its
+# name is added to @temp_files. In an END handler, the temporary files
+# are deleted. Signal handlers are set up to get proper program
+# termination on user-induced signals. During program calls with
+# system, SIGINT and
+
+our @temp_files = ();
+handle_signals();
+END {
+ unlink (@temp_files) if ( @temp_files && ! $debug{keep_tmpfiles} );
+}
+
+
+# Raw index handling: xindy is not able (yet?) to handle arguments
+# Perl-style, so we do it instead. We gather the raw index in a
+# temporary file. We also process it by the filter program it if
+# wanted. Signal handlers will discard temporary files if necessary.
+
+our $raw_index = File::Spec->devnull;
+unless ( $interactive ) {
+ $raw_index = create_raw_index(); # processes @ARGV
+ my $filter_cmd = '';
+ if ( $input_markup eq 'latex' ) {
+ $filter_cmd = "$cmd_dir/tex2xindy";
+ } elsif ( $input_markup eq 'omega' ) {
+ $filter_cmd = "$cmd_dir/tex2xindy -o";
+ }
+ $raw_index = filter_index ($filter_cmd, $raw_index)
+ if $filter_cmd;
+}
+
+
+# Execution: Obey environment variables, create xindy start
+# expression, and eventually call it.
+
+my $xindy_expression = xindy_expression(); # accesses global option vars
+my $exit_code = call_xindy ($mem_file, $xindy_expression);
+
+
+# Finished: exit, clean up in END handler.
+
+exit ($exit_code);
+
+
+# ------------------------------------------------------------
+
+
+sub parse_options() {
+
+ my (@debug);
+ GetOptions(
+ 'version|V' => sub { output_version(0); },
+ 'internal-version' => sub { output_version(1); },
+ 'help|h|?' => sub { print $usage_msg; exit 0; },
+ 'quiet|q' => \$quiet,
+ 'verbose|v' => \$verbose,
+ 'debug|d=s' => \@debug,
+ 'out-file|o=s' => \$outfile,
+ 'log-file|t=s' => \$logfile,
+ 'language|L=s' => \$language,
+ 'codepage|C=s' => \@codepages,
+ 'module|M=s' => \@modules,
+ 'input-markup|I=s' => \$input_markup,
+ 'interactive' => \$interactive,
+ 'mem-file=s' => \$mem_file,
+ )
+ or usage();
+
+ # Debug option values are easier to test in a hash. Clean up trace
+ # level options, too.
+ %debug = map { $_ => 1 } @debug;
+ my @trace_level = grep /^level=/, @debug;
+ if ( @trace_level > 1 ) {
+ print STDERR "You can only specify one trace level.\n\n";
+ exit (1);
+ }
+ delete $debug{$trace_level[0]};
+ $trace_level[0] =~ s/^level=// ;
+ $debug{trace_level} = $trace_level[0];
+
+ # Check for unsupported debug option values.
+ my %debug_check = %debug;
+ foreach my $magic ( qw(script keep_tmpfiles markup trace_level) ) {
+ delete $debug_check{$magic};
+ }
+ if ( %debug_check ) {
+ my @magic = keys(%debug_check);
+ print STDERR "Unsupported argument for --debug: @magic\n";
+ usage();
+ }
+
+ # Script debugging implies running it verbose and not quiet.
+ if ( $debug{script} ) {
+ $verbose = 1;
+ $quiet = 0;
+ }
+
+ # Default for the output file: first argument, with extension replaced
+ # by ".ind".
+ unless ( $outfile || $interactive ) {
+ if ( @ARGV == 0 ) {
+ print STDERR
+"You need to specify --out-file if the raw index is read from standard input.\n\n";
+ usage();
+ }
+ my ($name, $path, $suffix) = fileparse ($ARGV[0], '\.[^\.]+');
+ $outfile = "$path$name.ind";
+ }
+
+ # FIXME: xindy wants a log file. Really?
+ $logfile = File::Spec->devnull unless $logfile;
+
+ # Modules fixup: If they have no .xdy suffix, they get one.
+ @modules = map { /\.xdy$/ ? $_ : "$_.xdy" } @modules;
+
+ # Check that the input markup is known.
+ # omega markup implies codepage utf8.
+ if ( $input_markup &&
+ $input_markup ne 'latex' && $input_markup ne 'omega' &&
+ $input_markup ne 'xindy' ) {
+ print STDERR "Unsupported input markup $input_markup.\n\n";
+ usage();
+ }
+ if ( $input_markup eq 'omega' ) {
+ @codepages = qw(utf8);
+ }
+
+}
+
+
+
+#
+# SIGNAL HANDLING
+#
+# FIXME: This is not good enough. We also need to kill subprocesses,
+# i.e., filter or xindy, if they are running.
+
+# Our signal handler function just exits. Temporary files are deleted
+# by the END section above. Actually, the exit code looses the
+# information about the received signal, that's not good but shouldn't
+# hurt either...
+
+sub signal_exit() {
+ exit (2);
+}
+
+sub handle_signals () {
+ $SIG{'HUP'} = \&signal_exit; # 1
+ $SIG{'INT'} = \&signal_exit; # 2
+ $SIG{'QUIT'} = \&signal_exit; # 3
+ $SIG{'TERM'} = \&signal_exit; # 15
+}
+
+
+
+#
+# CREATION OF RAW XINDY INDEX
+#
+
+# Handle input files Perl-style. Returns file name that contains
+# concatenated input file contents.
+
+sub create_raw_index () {
+ my ($output, $outfile) = tempfile();
+ push (@temp_files, $outfile);
+ while ( <> ) {
+ print $output $_;
+ }
+ close ($output);
+ print "concatenated xindy input file: $outfile\n" if $debug{script};
+ return $outfile;
+}
+
+
+# Run a filter over raw index. Returns file name with filtered raw
+# index, supposed to be in xindy input format.
+#
+# We assume the file names to be safe from shell meta characters since
+# they were computed by File::Temp.
+
+sub filter_index ( $$ ) {
+ my ($filter, $input) = @_;
+ my $output = tmpnam();
+ push (@temp_files, $output);
+ print "Running filter: $filter <$input >$output\n" if $verbose;
+ system "$filter <$input >$output";
+ print "filtered xindy input file: $output\n" if $debug{script};
+ return $output;
+}
+
+
+
+#
+# XINDY EXECUTION
+#
+
+# Construct final xindy expression, from options.
+
+sub xindy_expression () {
+ my ($logging, $tracing, $trace_level);
+
+ # Determine language module of make-rules framework. Part of the
+ # complexity below is from compatibility with the TLC2
+ # description. We need to support the language names listed there,
+ # even though they are not current. In addition, the codepage
+ # option was introduced later and we need to guess it. This
+ # guesswork will often be wrong, sadly.
+ #
+ # FIXME: I didn't see all languages. What's on with gypsy and
+ # hausa?
+ if ( $language ) {
+ my $ld = "$modules_dir/lang";
+ my $variant;
+ # If there is no language directory, this might be a variant.
+ # Language names and variants are separated by hyphens. The
+ # variant name "din" is an abbreviation for "din5007". The
+ # variant name "iso" is ignored, that is actually a codepage
+ # name.
+ #
+ # FIXME: Or is "iso" the variant "translit"?!
+ if ( ! -d "$ld/$language" ) {
+ $language =~ /^([^-]*)-(.*)/ ; # language name ends with 1st hyphen
+ if ( $2 && -d "$ld/$1" ) { # $2 is not set if the regex didn't match
+ $language = $1;
+ $variant = "$2-" unless ( $2 eq 'iso' );
+ $variant =~ s/din/din5007/ ;
+ }
+ }
+ # Let's guess the codepage. We take any that starts with
+ # "latin", "cp", "iso8859", or "ascii".
+ @codepages = qw(latin cp iso8859 ascii) unless @codepages;
+ my @styles;
+ foreach my $cp ( @codepages ) {
+ @styles = glob("$ld/$language/$variant$cp*-lang.xdy");
+ last if @styles;
+ }
+ unless ( @styles ) {
+ print STDERR "Cannot locate xindy module for language $language";
+ print STDERR " in codepage $codepages[0]" if ( @codepages == 1 );
+ print STDERR ".\n";
+ exit (1);
+ }
+ # Extract language module name: It's the relative part after
+ # the module directory. Put it at the front of the list of
+ # needed modules. It's important that the language module is
+ # loaded first, it defines the sort rulesets, and subsequent
+ # modules shall be able to add sort rules.
+ unshift (@modules, substr($styles[0], length("$modules_dir/")));
+ print "Found language module $styles[0]\n" if $debug{script};
+ }
+
+ # If there is more than one xindy module, construct a style file.
+ # This is bad, of course; xindy should handle a list of style
+ # files itself.
+ my $style_file = $modules[0]; # will be undef if @modules is not set
+ if ( @modules > 1 ) {
+ my $sf;
+ ($sf, $style_file) = tempfile();
+ push (@temp_files, $style_file);
+ foreach my $module ( @modules ) {
+ print $sf "(require \"$module\")\n";
+ }
+ close ($sf);
+ }
+
+ $style_file = quotify($style_file);
+ $outfile = quotify($outfile);
+ $logging = ':logfile ' . quotify($logfile) if $logfile;
+ $tracing = ':markup-trace :on' if $debug{markup};
+ $trace_level = ":trace-level $debug{trace_level}" if $debug{trace_level};
+
+ my $exp = <<_EOT_
+(progn
+ (searchpath ".:$modules_dir:$modules_dir/base")
+ (xindy:startup
+ :idxstyle $style_file
+ :rawindex "$raw_index"
+ :output $outfile
+ $logging
+ $tracing
+ $trace_level)
+ (exit))
+_EOT_
+ ;
+
+ return $exp;
+}
+
+
+# Actual xindy call. Returns exit code.
+
+sub call_xindy ( $$ ) {
+ my ($mem_file, $xindy_exp) = @_;
+
+ my @command = ("$lib_dir/xindy.run", '-q',
+ '-B', $lib_dir, '-M', $mem_file, '-E', 'iso-8859-1');
+ if ( $interactive ) {
+ print "Proposed xindy expression:\n\n$xindy_exp\n" unless $quiet;
+ } else {
+ push (@command, '-x', $xindy_exp);
+ }
+
+ if ( $debug{script} ) {
+ print "modules directory: $modules_dir.\n";
+ print "command: @command\n";
+ }
+
+ if ( $quiet && ! $interactive ) {
+ open (STDOUT, '>', File::Spec->devnull);
+ }
+ system @command;
+ if ( $? == -1 ) {
+ print STDERR "$cmd: Could not execute xindy kernel: $!\n";
+ } elsif ( $? & 127 ) {
+ return 4;
+ } else {
+ return $? >> 8;
+ }
+}
+
+sub output_version ( ;$ ) { # optional arg: internal-version flag
+ my $internal = shift;
+ output_xindy_release() unless $internal;
+ print "$cmd script version: $VERSION\n";
+ my $exit_code = call_xindy($mem_file, '(xindy:startup :show-version t)');
+ exit ($exit_code);
+}
+
+
+sub output_xindy_release () {
+ my $version = 'unknown';
+ my $version_file;
+ if ( -f "$cmd_dir/../VERSION" ) {
+ $version_file = "$cmd_dir/../VERSION";
+ } elsif ( -f "$lib_dir/VERSION" ) {
+ $version_file = "$lib_dir/VERSION";
+ }
+ if ( $version_file ) {
+ if ( open(VERSION, "<$version_file") ) {
+ while ( $version = <VERSION> ) {
+ chomp ($version);
+ $version =~ s/\#.*// ;
+ $version =~ s/^\s+// ;
+ $version =~ s/\s+$// ;
+ last if $version;
+ }
+ close (VERSION);
+ }
+ }
+ print "xindy release: $version\n";
+}
+
+
+# Helper function: Make a proper quoted Lisp string.
+
+sub quotify ( $ ) {
+ my $s = shift;
+ $s =~ s:[\\\"]:\\&1:g ; # quote double-quote and backslash
+ return "\"$s\"";
+}
+
+
+
+#======================================================================
+#
+# $Log: xindy.pl,v $
+# Revision 1.8 2006/07/30 10:30:42 jschrod
+# Check if an exec() error happened and output an error message.
+# (Ticket 1230801)
+#
+# Revision 1.7 2006/07/19 00:29:56 jschrod
+# Support for omega input markup.
+#
+# Revision 1.6 2005/05/02 19:16:26 jschrod
+# Support new RTE 2.2, built with CLISP 2.33.2, that needs -E option
+# to specify the default charset.
+# xindy also has proper version output in Lisp now, no need for
+# workarounds in script any more.
+#
+# Revision 1.5 2004/11/01 22:48:51 jschrod
+# Locate xindy script.
+# Terminate on option error.
+# Fix up version output.
+#
+# Revision 1.4 2004/08/05 14:10:54 jschrod
+# Language variant names may have hyphens now. Language names must
+# not have hyphens -- the first hyphen of the -L option argument
+# separates language and variant name.
+# Revision 1.3 was completely off -- I committed a copy of texindy.
+# I really don't know what happened there.
+#
+# Revision 1.2 2004/05/26 21:30:11 jschrod
+# Added POD documentation.
+#
+# Revision 1.1 2004/05/24 19:47:13 jschrod
+# Introduce new driver script, as part of the "Companion Release".
+#
diff --git a/Master/texmf/xindy/base/book-order.xdy b/Master/texmf/xindy/base/book-order.xdy
new file mode 100644
index 00000000000..aa5d078987b
--- /dev/null
+++ b/Master/texmf/xindy/base/book-order.xdy
@@ -0,0 +1,24 @@
+;; $Id: book-order.xdy,v 1.1 2004/05/24 21:53:27 jschrod Exp $
+;;------------------------------------------------------------
+
+;;;
+;;; book order scheme
+;;;
+
+;; NOTE: Assumes that makeindex.xdy has been loaded.
+
+(define-location-class-order ("roman-page-numbers"
+ "Roman-page-numbers"
+ "arabic-page-numbers"
+ "alpha-page-numbers"
+ "Alpha-page-numbers"
+ "see"
+ "seealso"))
+
+
+;;======================================================================
+;;
+;; $Log: book-order.xdy,v $
+;; Revision 1.1 2004/05/24 21:53:27 jschrod
+;; Standard modules, introduced in "LaTeX Companion Release".
+;;
diff --git a/Master/texmf/xindy/base/ff-ranges-only.xdy b/Master/texmf/xindy/base/ff-ranges-only.xdy
new file mode 100644
index 00000000000..451ae9ac472
--- /dev/null
+++ b/Master/texmf/xindy/base/ff-ranges-only.xdy
@@ -0,0 +1,25 @@
+;; $Id: ff-ranges-only.xdy,v 1.1 2004/05/24 21:53:27 jschrod Exp $
+;;------------------------------------------------------------
+
+;;;
+;;; ff ranges only
+;;;
+;;; Use "f" for two pages, "ff" notation for ranges of three and more pages
+;;;
+
+;; FIXME: This will output a warning about a redefinition if latex.xdy
+;; is already loaded. Which it is, most of the time. I don't want that
+;; message, and we should get rid of it.
+(define-location-class "arabic-page-numbers"
+ ("arabic-numbers") :min-range-length 1)
+
+(markup-range :sep "f" :length 1 :ignore-end :class "arabic-page-numbers")
+(markup-range :sep "ff" :ignore-end :class "arabic-page-numbers")
+
+
+;;======================================================================
+;;
+;; $Log: ff-ranges-only.xdy,v $
+;; Revision 1.1 2004/05/24 21:53:27 jschrod
+;; Standard modules, introduced in "LaTeX Companion Release".
+;;
diff --git a/Master/texmf/xindy/base/ff-ranges.xdy b/Master/texmf/xindy/base/ff-ranges.xdy
new file mode 100644
index 00000000000..f38b55765a7
--- /dev/null
+++ b/Master/texmf/xindy/base/ff-ranges.xdy
@@ -0,0 +1,27 @@
+;; $Id: ff-ranges.xdy,v 1.1 2004/05/24 21:53:27 jschrod Exp $
+;;------------------------------------------------------------
+
+;;;
+;;; ff ranges
+;;;
+;;; Use "f" for two pages, "ff" notation for ranges of three pages,
+;;; and explicit ranges thereafter: 2f, 2ff, 2--6.
+;;;
+
+;; FIXME: This will output a warning about a redefinition if latex.xdy
+;; is already loaded. Which it is, most of the time. I don't want that
+;; message, and we should get rid of it.
+(define-location-class "arabic-page-numbers"
+ ("arabic-numbers") :min-range-length 1)
+
+(markup-range :sep "f" :length 1 :ignore-end)
+(markup-range :sep "ff" :length 2 :ignore-end)
+(markup-range :sep "--")
+
+
+;;======================================================================
+;;
+;; $Log: ff-ranges.xdy,v $
+;; Revision 1.1 2004/05/24 21:53:27 jschrod
+;; Standard modules, introduced in "LaTeX Companion Release".
+;;
diff --git a/Master/texmf/xindy/base/german-sty.xdy b/Master/texmf/xindy/base/german-sty.xdy
new file mode 100644
index 00000000000..d0f4d367f18
--- /dev/null
+++ b/Master/texmf/xindy/base/german-sty.xdy
@@ -0,0 +1,24 @@
+;; $Id: german-sty.xdy,v 1.1 2004/05/24 21:53:27 jschrod Exp $
+;;------------------------------------------------------------
+
+;;;
+;;; german sty
+;;;
+;;; Map special German TeX letters (german.sty) to 8-bit characters.
+;;;
+
+(merge-rule "~"A" "" :again :string)
+(merge-rule "~"O" "" :again :string)
+(merge-rule "~"U" "" :again :string)
+(merge-rule "~"a" "" :again :string)
+(merge-rule "~"o" "" :again :string)
+(merge-rule "~"u" "" :again :string)
+(merge-rule "~"s" "" :again :string)
+
+
+;;======================================================================
+;;
+;; $Log: german-sty.xdy,v $
+;; Revision 1.1 2004/05/24 21:53:27 jschrod
+;; Standard modules, introduced in "LaTeX Companion Release".
+;;
diff --git a/Master/texmf/xindy/base/ignore-hyphen.xdy b/Master/texmf/xindy/base/ignore-hyphen.xdy
new file mode 100644
index 00000000000..44d3743a48f
--- /dev/null
+++ b/Master/texmf/xindy/base/ignore-hyphen.xdy
@@ -0,0 +1,18 @@
+;; $Id: ignore-hyphen.xdy,v 1.1 2004/05/24 21:53:27 jschrod Exp $
+;;------------------------------------------------------------
+
+;;;
+;;; ignore hyphen scheme
+;;;
+;;; hyphens are ignored, "ad-hoc" is sorted as "adhoc".
+;;;
+
+(sort-rule "-" "")
+
+
+;;======================================================================
+;;
+;; $Log: ignore-hyphen.xdy,v $
+;; Revision 1.1 2004/05/24 21:53:27 jschrod
+;; Standard modules, introduced in "LaTeX Companion Release".
+;;
diff --git a/Master/texmf/xindy/base/ignore-punctuation.xdy b/Master/texmf/xindy/base/ignore-punctuation.xdy
new file mode 100644
index 00000000000..051f2d63bc6
--- /dev/null
+++ b/Master/texmf/xindy/base/ignore-punctuation.xdy
@@ -0,0 +1,42 @@
+;; $Id: ignore-punctuation.xdy,v 1.1 2004/05/24 21:53:27 jschrod Exp $
+;;------------------------------------------------------------
+
+;;;
+;;; ignore punctuation scheme
+;;;
+;;; all kind of punctuations are ignored during sorting
+;;;
+
+;; accents and other special characters (plus, etc) are not considered
+;; punctuations.
+
+(sort-rule "!" "")
+(sort-rule "\"" "")
+(sort-rule "/" "")
+(sort-rule "(" "")
+(sort-rule ")" "")
+(sort-rule "{" "")
+(sort-rule "}" "")
+(sort-rule "[" "")
+(sort-rule "]" "")
+(sort-rule "<" "")
+(sort-rule ">" "")
+(sort-rule "=" "")
+(sort-rule "?" "")
+(sort-rule "\\" "")
+(sort-rule "'" "")
+(sort-rule "|" "")
+(sort-rule "," "")
+(sort-rule ";" "")
+(sort-rule "." "")
+(sort-rule ":" "")
+(sort-rule "-" "")
+(sort-rule "_" "")
+
+
+;;======================================================================
+;;
+;; $Log: ignore-punctuation.xdy,v $
+;; Revision 1.1 2004/05/24 21:53:27 jschrod
+;; Standard modules, introduced in "LaTeX Companion Release".
+;;
diff --git a/Master/texmf/xindy/base/keep-blanks.xdy b/Master/texmf/xindy/base/keep-blanks.xdy
new file mode 100644
index 00000000000..892b5d70468
--- /dev/null
+++ b/Master/texmf/xindy/base/keep-blanks.xdy
@@ -0,0 +1,40 @@
+;; $Id: keep-blanks.xdy,v 1.1 2004/05/24 21:53:27 jschrod Exp $
+;;------------------------------------------------------------
+
+;;;
+;;; keep blanks
+;;;
+;;; Don't trim white space at start or end, and don't collapse white
+;;; space in an index key.
+;;;
+
+;; This does not work currently. White space compression is
+;; implemented by merge rules in tex.xdy; and we would need to undo
+;; these rules. An implementation possibility is the postponing of
+;; these merge rules and our ability to stop their activation. But
+;; this is not implemented yet. Either we need a method to delete a
+;; merge rule, or we need a hook in the kernel.
+
+;; FIXME: I must coerce the error string to a simple-string because we
+;; use a special reader syntax in index styles. This reader syntax
+;; parses C-like strings and creates character arrays, but not simple
+;; strings. Frankly, I don't know how I may code this more easily,
+;; perhaps by a reader macro?
+
+(base:oops (coerce "
+
+Module keep-blanks does not work currently, due to a missing
+functionality in the xindy kernel. Please contact the xindy mailing
+list for more information.
+
+" 'simple-string))
+
+(base:error-exit)
+
+
+;;======================================================================
+;;
+;; $Log: keep-blanks.xdy,v $
+;; Revision 1.1 2004/05/24 21:53:27 jschrod
+;; Standard modules, introduced in "LaTeX Companion Release".
+;;
diff --git a/Master/texmf/xindy/base/latex-loc-fmts.xdy b/Master/texmf/xindy/base/latex-loc-fmts.xdy
new file mode 100644
index 00000000000..3a39a5c922b
--- /dev/null
+++ b/Master/texmf/xindy/base/latex-loc-fmts.xdy
@@ -0,0 +1,25 @@
+;; $Id: latex-loc-fmts.xdy,v 1.2 2006/08/31 00:10:59 jschrod Exp $
+;;------------------------------------------------------------
+
+;;;
+;;; Define default location attributes, and their markup.
+;;;
+
+;; Default attributes are all merged into one location group.
+(define-attributes (("default" "textbf" "textit" "hyperpage")))
+
+(markup-locref :open "\textbf{" :close "}" :attr "textbf")
+(markup-locref :open "\textit{" :close "}" :attr "textit")
+(markup-locref :open "\hyperpage{" :close "}" :attr "hyperpage")
+
+
+
+;;======================================================================
+;;
+;; $Log: latex-loc-fmts.xdy,v $
+;; Revision 1.2 2006/08/31 00:10:59 jschrod
+;; Ticket 1549661: Default attributes should be in the same location group.
+;;
+;; Revision 1.1 2004/05/24 21:53:27 jschrod
+;; Standard modules, introduced in "LaTeX Companion Release".
+;;
diff --git a/Master/texmf/xindy/base/latex.xdy b/Master/texmf/xindy/base/latex.xdy
new file mode 100644
index 00000000000..e45dc67049d
--- /dev/null
+++ b/Master/texmf/xindy/base/latex.xdy
@@ -0,0 +1,83 @@
+;; $Id: latex.xdy,v 1.4 2008/01/09 15:13:29 jschrod Exp $
+;;------------------------------------------------------------
+
+;;;
+;;; LaTeX conventions
+;;;
+;;; both in raw index entries and output markup
+;;;
+
+
+;; We need to define merge rules for known macros first, as tex.xdy
+;; has a merge-rule that will discard all macros.
+
+(merge-rule "\\LaTeXe *" "LaTeX2e" :eregexp :again)
+(merge-rule "\\BibTeX *" "BibTeX" :eregexp :again)
+(merge-rule "\\AmSTeX *" "AmSTeX" :eregexp :again)
+(merge-rule "\\AmSLaTeX *" "AmSLaTeX" :eregexp :again)
+(merge-rule "\\XeT *" "XeT" :eregexp :again)
+
+
+;; LaTeX has the same conventions as TeX
+
+(require "tex.xdy")
+
+
+;; We do not define attributes, this is done in latex-loc-fmts.
+
+
+;; Standard location classes: arabic and roman numbers, and alphabets.
+
+(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"))
+
+
+;;;
+;;; Output Markup
+;;;
+
+(markup-index :open
+"\begin{theindex}
+ \providecommand*\lettergroupDefault[1]{}
+ \providecommand*\lettergroup[1]{%
+ \par\textbf{#1}\par
+ \nopagebreak
+ }
+"
+ :close "~n~n\end{theindex}~n"
+ :tree)
+
+(markup-letter-group-list :sep "~n~n \indexspace~n")
+(markup-letter-group :open-head "~n % ")
+
+(markup-indexentry :open "~n \item " :depth 0)
+(markup-indexentry :open "~n \subitem " :depth 1)
+(markup-indexentry :open "~n \subsubitem " :depth 2)
+
+(markup-locclass-list :open ", " :sep ", ")
+(markup-locref-list :sep ", ")
+
+
+
+
+;;======================================================================
+;;
+;; $Log: latex.xdy,v $
+;; Revision 1.4 2008/01/09 15:13:29 jschrod
+;; Configurable section headline for the Default letter group.
+;;
+;; Revision 1.3 2006/11/07 01:16:50 jschrod
+;; Prevent page break after letter group heading.
+;; Introduce a \lettergroup tag for that, which can be redefined
+;; by the user in an own theindex environment. (Ticket 1255990)
+;;
+;; Revision 1.2 2005/05/09 20:21:11 jschrod
+;; Support handling of some common macros for logos; ignore all other
+;; TeX commands.
+;;
+;; Revision 1.1 2004/05/24 21:53:27 jschrod
+;; Standard modules, introduced in "LaTeX Companion Release".
+;;
diff --git a/Master/texmf/xindy/base/latin-lettergroups.xdy b/Master/texmf/xindy/base/latin-lettergroups.xdy
new file mode 100644
index 00000000000..5a48b871600
--- /dev/null
+++ b/Master/texmf/xindy/base/latin-lettergroups.xdy
@@ -0,0 +1,26 @@
+;; $Id: latin-lettergroups.xdy,v 1.3 2008/01/09 15:13:29 jschrod Exp $
+;;------------------------------------------------------------
+
+;;;
+;;; latin lettergroups
+;;;
+
+(markup-letter-group :open-head "~n \lettergroupDefault{" :close-head "}"
+ :group "default")
+(markup-letter-group :open-head "~n \lettergroup{" :close-head "}")
+
+
+;;======================================================================
+;;
+;; $Log: latin-lettergroups.xdy,v $
+;; Revision 1.3 2008/01/09 15:13:29 jschrod
+;; Configurable section headline for the Default letter group.
+;;
+;; Revision 1.2 2006/11/07 01:16:50 jschrod
+;; Prevent page break after letter group heading.
+;; Introduce a \lettergroup tag for that, which can be redefined
+;; by the user in an own theindex environment. (Ticket 1255990)
+;;
+;; Revision 1.1 2004/05/24 21:53:27 jschrod
+;; Standard modules, introduced in "LaTeX Companion Release".
+;;
diff --git a/Master/texmf/xindy/base/letter-order.xdy b/Master/texmf/xindy/base/letter-order.xdy
new file mode 100644
index 00000000000..810b96d16c0
--- /dev/null
+++ b/Master/texmf/xindy/base/letter-order.xdy
@@ -0,0 +1,18 @@
+;; $Id: letter-order.xdy,v 1.1 2004/05/24 21:53:27 jschrod Exp $
+;;------------------------------------------------------------
+
+;;;
+;;; letter order scheme
+;;;
+;;; spaces are ignored, "index style" is sorted after "indexing".
+;;;
+
+(sort-rule " " "")
+
+
+;;======================================================================
+;;
+;; $Log: letter-order.xdy,v $
+;; Revision 1.1 2004/05/24 21:53:27 jschrod
+;; Standard modules, introduced in "LaTeX Companion Release".
+;;
diff --git a/Master/texmf/xindy/base/makeindex.xdy b/Master/texmf/xindy/base/makeindex.xdy
new file mode 100644
index 00000000000..c859ecac651
--- /dev/null
+++ b/Master/texmf/xindy/base/makeindex.xdy
@@ -0,0 +1,46 @@
+;; $Id: makeindex.xdy,v 1.3 2006/08/30 23:35:43 jschrod Exp $
+;;------------------------------------------------------------
+
+;;;
+;;; MakeIndex behaviour
+;;;
+
+(define-crossref-class "see")
+;; \see takes two parameters, the second one is for the page number.
+;; We don't emit one in xindy, so we add an empty second argument.
+(markup-crossref-list :class "see" :open "\see{" :sep "; " :close "}{}")
+
+;; FIXME: This does not work properly. This should be for entries that
+;; have both a locref (e.g., the page number) and a cross reference.
+;; Currently, it works as if it's the same as \see, just with another
+;; macro.
+(define-crossref-class "seealso")
+(markup-crossref-list :class "seealso" :open "\seealso{" :sep "; " :close "}{}")
+
+;; Subentries in cross references are seperated by comma for all
+;; crossref classes.
+(markup-crossref-layer-list :sep ", ")
+
+(define-location-class-order ("roman-page-numbers"
+ "arabic-page-numbers"
+ "alpha-page-numbers"
+ "Roman-page-numbers"
+ "Alpha-page-numbers"
+ "see"
+ "seealso"))
+
+
+
+;;======================================================================
+;;
+;; $Log: makeindex.xdy,v $
+;; Revision 1.3 2006/08/30 23:35:43 jschrod
+;; Ticket 1255983: Markup for multiple cross references and cross
+;; references to sub entries were missing.
+;;
+;; Revision 1.2 2005/05/09 20:19:15 jschrod
+;; Typo in seealso crossref class definition.
+;;
+;; Revision 1.1 2004/05/24 21:53:27 jschrod
+;; Standard modules, introduced in "LaTeX Companion Release".
+;;
diff --git a/Master/texmf/xindy/base/numeric-sort.xdy b/Master/texmf/xindy/base/numeric-sort.xdy
new file mode 100644
index 00000000000..65c84206628
--- /dev/null
+++ b/Master/texmf/xindy/base/numeric-sort.xdy
@@ -0,0 +1,25 @@
+;; $Id: numeric-sort.xdy,v 1.1 2004/05/24 21:53:27 jschrod Exp $
+;;------------------------------------------------------------
+
+;;;
+;;; numerically sorting
+;;;
+;;; "V64" appears before "V128".
+;;;
+
+;; FIXME: Works only for up to 7 digits.
+
+(merge-rule "[0-9][0-9][0-9][0-9][0-9][0-9]" "0&" :eregexp)
+(merge-rule "[0-9][0-9][0-9][0-9][0-9]" "00&" :eregexp)
+(merge-rule "[0-9][0-9][0-9][0-9]" "000&" :eregexp)
+(merge-rule "[0-9][0-9][0-9]" "0000&" :eregexp)
+(merge-rule "[0-9][0-9]" "00000&" :eregexp)
+(merge-rule "[0-9]" "000000&" :eregexp)
+
+
+;;======================================================================
+;;
+;; $Log: numeric-sort.xdy,v $
+;; Revision 1.1 2004/05/24 21:53:27 jschrod
+;; Standard modules, introduced in "LaTeX Companion Release".
+;;
diff --git a/Master/texmf/xindy/base/page-ranges.xdy b/Master/texmf/xindy/base/page-ranges.xdy
new file mode 100644
index 00000000000..44ddeaa55b8
--- /dev/null
+++ b/Master/texmf/xindy/base/page-ranges.xdy
@@ -0,0 +1,18 @@
+;; $Id: page-ranges.xdy,v 1.1 2004/05/24 21:53:27 jschrod Exp $
+;;------------------------------------------------------------
+
+;;;
+;;; page ranges
+;;;
+;;; More than two consecutive pages are listed as a range.
+;;;
+
+(markup-range :sep "--")
+
+
+;;======================================================================
+;;
+;; $Log: page-ranges.xdy,v $
+;; Revision 1.1 2004/05/24 21:53:27 jschrod
+;; Standard modules, introduced in "LaTeX Companion Release".
+;;
diff --git a/Master/texmf/xindy/base/tex.xdy b/Master/texmf/xindy/base/tex.xdy
new file mode 100644
index 00000000000..d3c23cb3e56
--- /dev/null
+++ b/Master/texmf/xindy/base/tex.xdy
@@ -0,0 +1,71 @@
+;; $Id: tex.xdy,v 1.2 2005/05/09 20:21:11 jschrod Exp $
+;;------------------------------------------------------------
+
+;;;
+;;; TeX conventions
+;;;
+
+;; Discard leading and trailing white space. Collapse multiple white
+;; space characters to blank.
+;;
+;; FIXME: How do I specify tabs in that regexp? [ \t] does *not* work,
+;; it is taken as blank and t.
+;;
+;; FIXME: Definition of these rules should be postponed until we start
+;; with the actual work. Then they should be only issued if module
+;; keep-blanks is not loaded. Module keep-blanks would set a flag, and
+;; this code would check for it. We will need a hook in the kernel, to
+;; achieve that goal.
+;;
+;; FIXME: Regexps with start-anchored matches do not work. They match
+;; everywhere. We think it's better to not handle leading blanks than
+;; to make all blanks disappear, therefore the first rule is not
+;; activated.
+
+;(merge-rule "^ +" "" :eregexp)
+(merge-rule " +$" "" :eregexp)
+(merge-rule " +" " " :eregexp)
+
+
+;;
+;; Handle TeX markup
+;;
+
+
+;; First, some markup that produces output and that we want to keep.
+;; If this module is required, similar merge-rules for other markup
+;; that shall be kept must be defined first. Otherwise it will be
+;; discarded, by the default rule below.
+
+(merge-rule "\\([{}$%&#])" "\1" :eregexp)
+(merge-rule "~~" " ")
+(merge-rule "---?" "-")
+(merge-rule "\\TeX *" "TeX" :eregexp :again)
+(merge-rule "\\LaTeX *" "LaTeX" :eregexp :again)
+(merge-rule "\\MF *" "METAFONT" :eregexp :again)
+(merge-rule "\\MP *" "METAPOST" :eregexp :again)
+
+;; Ignore TeX commands by default. Some macros are known to be written
+;; to index files where the arguments must be ignored as well. Our
+;; argument parsing code is optimistic -- it will be possible to break
+;; it. Let's wait for an error report and repair it then... ;-)
+
+(merge-rule "\\discretionary *\{[^}]*\}\{[^}]*\}" "" :eregexp)
+(merge-rule "\\kern *[-\.0-9a-z]* ?" "" :eregexp)
+
+(merge-rule "\\[a-zA-Z@]+ *" "" :eregexp)
+(merge-rule "\\[^a-zA-Z@]" "" :eregexp)
+(merge-rule "^[{}$]" "" :eregexp)
+
+
+
+;;======================================================================
+;;
+;; $Log: tex.xdy,v $
+;; Revision 1.2 2005/05/09 20:21:11 jschrod
+;; Support handling of some common macros for logos; ignore all other
+;; TeX commands.
+;;
+;; Revision 1.1 2004/05/24 21:53:27 jschrod
+;; Standard modules, introduced in "LaTeX Companion Release".
+;;
diff --git a/Master/texmf/xindy/base/texindy.xdy b/Master/texmf/xindy/base/texindy.xdy
new file mode 100644
index 00000000000..a7e5ee8fbb2
--- /dev/null
+++ b/Master/texmf/xindy/base/texindy.xdy
@@ -0,0 +1,20 @@
+;; $Id: texindy.xdy,v 1.1 2004/05/24 21:53:27 jschrod Exp $
+;;------------------------------------------------------------
+
+;;;
+;;; all auto modules of texindy.
+;;;
+
+(require "numeric-sort.xdy")
+(require "latex.xdy")
+(require "latex-loc-fmts.xdy")
+(require "makeindex.xdy")
+(require "latin-lettergroups.xdy")
+
+
+;;======================================================================
+;;
+;; $Log: texindy.xdy,v $
+;; Revision 1.1 2004/05/24 21:53:27 jschrod
+;; Standard modules, introduced in "LaTeX Companion Release".
+;;
diff --git a/Master/texmf/xindy/base/word-order.xdy b/Master/texmf/xindy/base/word-order.xdy
new file mode 100644
index 00000000000..9741e2bd10e
--- /dev/null
+++ b/Master/texmf/xindy/base/word-order.xdy
@@ -0,0 +1,20 @@
+;; $Id: word-order.xdy,v 1.1 2004/05/24 21:53:27 jschrod Exp $
+;;------------------------------------------------------------
+
+;;;
+;;; word order scheme
+;;;
+;;; a space comes before any letter in the alphabet: "index style" is
+;;; listed before "indexing".
+
+; This is the default, we don't need any code for this behaviour.
+; In fact, this module just exists to satisfy the Companion
+; description... ;-)
+
+
+;;======================================================================
+;;
+;; $Log: word-order.xdy,v $
+;; Revision 1.1 2004/05/24 21:53:27 jschrod
+;; Standard modules, introduced in "LaTeX Companion Release".
+;;
diff --git a/Master/texmf/xindy/class/pagenums.xdy b/Master/texmf/xindy/class/pagenums.xdy
new file mode 100644
index 00000000000..92f6b685da5
--- /dev/null
+++ b/Master/texmf/xindy/class/pagenums.xdy
@@ -0,0 +1,7 @@
+;; $Id: pagenums.xdy,v 1.1 1996/07/03 18:44:40 kehr Exp $
+;;
+;; This module defines the location-class "page-numbers"
+
+(define-location-class "page-numbers" ("arabic-numbers"))
+
+;; End
diff --git a/Master/texmf/xindy/lang/albanian/latin1-lang.xdy b/Master/texmf/xindy/lang/albanian/latin1-lang.xdy
new file mode 100644
index 00000000000..a7e1b5864b1
--- /dev/null
+++ b/Master/texmf/xindy/lang/albanian/latin1-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/albanian/latin1.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sq-alphabetize" "sq-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sq-resolve-diacritics" "sq-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sq-resolve-case" "sq-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sq-resolve-special"))
diff --git a/Master/texmf/xindy/lang/albanian/latin1-test.xdy b/Master/texmf/xindy/lang/albanian/latin1-test.xdy
new file mode 100644
index 00000000000..5b288c7ea59
--- /dev/null
+++ b/Master/texmf/xindy/lang/albanian/latin1-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/albanian/latin1.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sq-alphabetize" "sq-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sq-resolve-diacritics" "sq-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sq-resolve-case" "sq-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sq-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/lang/albanian/latin1.xdy b/Master/texmf/xindy/lang/albanian/latin1.xdy
new file mode 100644
index 00000000000..0c4239fb17c
--- /dev/null
+++ b/Master/texmf/xindy/lang/albanian/latin1.xdy
@@ -0,0 +1,403 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Albanian
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "" :after "C" :prefixes (""))
+(define-letter-group "D" :after "" :prefixes (""))
+(define-letter-group "Dh" :after "D" :prefixes (""))
+(define-letter-group "E" :after "Dh" :prefixes (""))
+(define-letter-group "" :after "E" :prefixes (""))
+(define-letter-group "F" :after "" :prefixes (""))
+(define-letter-group "G" :after "F" :prefixes (""))
+(define-letter-group "Gj" :after "G" :prefixes (""))
+(define-letter-group "H" :after "Gj" :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 "Ll" :after "L" :prefixes (""))
+(define-letter-group "M" :after "Ll" :prefixes (""))
+(define-letter-group "N" :after "M" :prefixes (""))
+(define-letter-group "Nj" :after "N" :prefixes (""))
+(define-letter-group "O" :after "Nj" :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 "Rr" :after "R" :prefixes (""))
+(define-letter-group "S" :after "Rr" :prefixes (""))
+(define-letter-group "Sh" :after "S" :prefixes (""))
+(define-letter-group "T" :after "Sh" :prefixes (""))
+(define-letter-group "Th" :after "T" :prefixes (""))
+(define-letter-group "U" :after "Th" :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 "Xh" :after "X" :prefixes (""))
+(define-letter-group "Y" :after "Xh" :prefixes (""))
+(define-letter-group "Z" :after "Y" :prefixes (""))
+(define-letter-group "Zh" :after "Z" :prefixes (""))
+
+(define-rule-set "sq-alphabetize"
+
+ :rules (("dh" "" :string)
+ ("DH" "" :string)
+ ("Dh" "" :string)
+ ("Gj" "" :string)
+ ("GJ" "" :string)
+ ("gj" "" :string)
+ ("ll" "" :string)
+ ("LL" "" :string)
+ ("Ll" "" :string)
+ ("NJ" "" :string)
+ ("nj" "" :string)
+ ("Nj" "" :string)
+ ("rr" "" :string)
+ ("RR" "" :string)
+ ("Rr" "" :string)
+ ("SH" "" :string)
+ ("Sh" "" :string)
+ ("sh" "" :string)
+ ("TH" "" :string)
+ ("Th" "" :string)
+ ("th" "" :string)
+ ("Xh" "" :string)
+ ("XH" "" :string)
+ ("xh" "" :string)
+ ("Zh" "" :string)
+ ("ZH" "" :string)
+ ("zh" "" :string)
+ ("a" "" :string)
+ ("A" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("C" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("" "" :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)
+ ("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 "sq-resolve-diacritics"
+
+ :rules (("rr" "" :string)
+ ("Gj" "" :string)
+ ("SH" "" :string)
+ ("ll" "" :string)
+ ("GJ" "" :string)
+ ("NJ" "" :string)
+ ("nj" "" :string)
+ ("Sh" "" :string)
+ ("dh" "" :string)
+ ("Xh" "" :string)
+ ("DH" "" :string)
+ ("XH" "" :string)
+ ("TH" "" :string)
+ ("gj" "" :string)
+ ("RR" "" :string)
+ ("Nj" "" :string)
+ ("Zh" "" :string)
+ ("sh" "" :string)
+ ("xh" "" :string)
+ ("Th" "" :string)
+ ("LL" "" :string)
+ ("th" "" :string)
+ ("ZH" "" :string)
+ ("Dh" "" :string)
+ ("Rr" "" :string)
+ ("zh" "" :string)
+ ("Ll" "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "sq-resolve-case"
+
+ :rules (("SH" "7" :string)
+ ("GJ" "7" :string)
+ ("NJ" "7" :string)
+ ("DH" "7" :string)
+ ("XH" "7" :string)
+ ("TH" "7" :string)
+ ("RR" "7" :string)
+ ("LL" "7" :string)
+ ("ZH" "7" :string)
+ ("Gj" "8" :string)
+ ("Sh" "8" :string)
+ ("Xh" "8" :string)
+ ("Nj" "8" :string)
+ ("Zh" "8" :string)
+ ("Th" "8" :string)
+ ("Dh" "8" :string)
+ ("Rr" "8" :string)
+ ("Ll" "8" :string)
+ ("rr" "9" :string)
+ ("ll" "9" :string)
+ ("nj" "9" :string)
+ ("dh" "9" :string)
+ ("gj" "9" :string)
+ ("sh" "9" :string)
+ ("xh" "9" :string)
+ ("th" "9" :string)
+ ("zh" "9" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "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 "sq-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "sq-resolve-special"
+
+ :rules (("rr" "" :string)
+ ("Gj" "" :string)
+ ("SH" "" :string)
+ ("ll" "" :string)
+ ("GJ" "" :string)
+ ("NJ" "" :string)
+ ("nj" "" :string)
+ ("Sh" "" :string)
+ ("dh" "" :string)
+ ("Xh" "" :string)
+ ("DH" "" :string)
+ ("XH" "" :string)
+ ("TH" "" :string)
+ ("gj" "" :string)
+ ("RR" "" :string)
+ ("Nj" "" :string)
+ ("Zh" "" :string)
+ ("sh" "" :string)
+ ("xh" "" :string)
+ ("Th" "" :string)
+ ("LL" "" :string)
+ ("th" "" :string)
+ ("ZH" "" :string)
+ ("Dh" "" :string)
+ ("Rr" "" :string)
+ ("zh" "" :string)
+ ("Ll" "" :string)
+ ("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/albanian/utf8-lang.xdy b/Master/texmf/xindy/lang/albanian/utf8-lang.xdy
new file mode 100644
index 00000000000..43dcd4b9a61
--- /dev/null
+++ b/Master/texmf/xindy/lang/albanian/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/albanian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sq-alphabetize" "sq-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sq-resolve-diacritics" "sq-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sq-resolve-case" "sq-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sq-resolve-special"))
diff --git a/Master/texmf/xindy/lang/albanian/utf8-test.xdy b/Master/texmf/xindy/lang/albanian/utf8-test.xdy
new file mode 100644
index 00000000000..0a9cd7023cf
--- /dev/null
+++ b/Master/texmf/xindy/lang/albanian/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/albanian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sq-alphabetize" "sq-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sq-resolve-diacritics" "sq-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sq-resolve-case" "sq-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sq-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/lang/albanian/utf8.xdy b/Master/texmf/xindy/lang/albanian/utf8.xdy
new file mode 100644
index 00000000000..171539cfbf8
--- /dev/null
+++ b/Master/texmf/xindy/lang/albanian/utf8.xdy
@@ -0,0 +1,403 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Albanian
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "Ç" :after "C" :prefixes (""))
+(define-letter-group "D" :after "Ç" :prefixes (""))
+(define-letter-group "Dh" :after "D" :prefixes (""))
+(define-letter-group "E" :after "Dh" :prefixes (""))
+(define-letter-group "Ë" :after "E" :prefixes (""))
+(define-letter-group "F" :after "Ë" :prefixes (""))
+(define-letter-group "G" :after "F" :prefixes (""))
+(define-letter-group "Gj" :after "G" :prefixes (""))
+(define-letter-group "H" :after "Gj" :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 "Ll" :after "L" :prefixes (""))
+(define-letter-group "M" :after "Ll" :prefixes (""))
+(define-letter-group "N" :after "M" :prefixes (""))
+(define-letter-group "Nj" :after "N" :prefixes (""))
+(define-letter-group "O" :after "Nj" :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 "Rr" :after "R" :prefixes (""))
+(define-letter-group "S" :after "Rr" :prefixes (""))
+(define-letter-group "Sh" :after "S" :prefixes (""))
+(define-letter-group "T" :after "Sh" :prefixes (""))
+(define-letter-group "Th" :after "T" :prefixes (""))
+(define-letter-group "U" :after "Th" :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 "Xh" :after "X" :prefixes (""))
+(define-letter-group "Y" :after "Xh" :prefixes (""))
+(define-letter-group "Z" :after "Y" :prefixes (""))
+(define-letter-group "Zh" :after "Z" :prefixes (""))
+
+(define-rule-set "sq-alphabetize"
+
+ :rules (("Ç" "" :string)
+ ("ç" "" :string)
+ ("dh" "" :string)
+ ("DH" "" :string)
+ ("Dh" "" :string)
+ ("Ë" "" :string)
+ ("ë" "" :string)
+ ("Gj" "" :string)
+ ("GJ" "" :string)
+ ("gj" "" :string)
+ ("ll" "" :string)
+ ("LL" "" :string)
+ ("Ll" "" :string)
+ ("NJ" "" :string)
+ ("nj" "" :string)
+ ("Nj" "" :string)
+ ("rr" "" :string)
+ ("RR" "" :string)
+ ("Rr" "" :string)
+ ("SH" "" :string)
+ ("Sh" "" :string)
+ ("sh" "" :string)
+ ("TH" "" :string)
+ ("Th" "" :string)
+ ("th" "" :string)
+ ("Xh" "" :string)
+ ("XH" "" :string)
+ ("xh" "" :string)
+ ("Zh" "" :string)
+ ("ZH" "" :string)
+ ("zh" "" :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 "sq-resolve-diacritics"
+
+ :rules (("rr" "" :string)
+ ("Gj" "" :string)
+ ("Ç" "" :string)
+ ("SH" "" :string)
+ ("ll" "" :string)
+ ("GJ" "" :string)
+ ("NJ" "" :string)
+ ("nj" "" :string)
+ ("Sh" "" :string)
+ ("dh" "" :string)
+ ("Xh" "" :string)
+ ("DH" "" :string)
+ ("XH" "" :string)
+ ("TH" "" :string)
+ ("gj" "" :string)
+ ("RR" "" :string)
+ ("Nj" "" :string)
+ ("Zh" "" :string)
+ ("sh" "" :string)
+ ("xh" "" :string)
+ ("Th" "" :string)
+ ("LL" "" :string)
+ ("ç" "" :string)
+ ("th" "" :string)
+ ("Ë" "" :string)
+ ("ZH" "" :string)
+ ("Dh" "" :string)
+ ("ë" "" :string)
+ ("Rr" "" :string)
+ ("zh" "" :string)
+ ("Ll" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "sq-resolve-case"
+
+ :rules (("SH" "7" :string)
+ ("GJ" "7" :string)
+ ("NJ" "7" :string)
+ ("DH" "7" :string)
+ ("XH" "7" :string)
+ ("TH" "7" :string)
+ ("RR" "7" :string)
+ ("LL" "7" :string)
+ ("ZH" "7" :string)
+ ("Gj" "8" :string)
+ ("Ç" "8" :string)
+ ("Sh" "8" :string)
+ ("Xh" "8" :string)
+ ("Nj" "8" :string)
+ ("Zh" "8" :string)
+ ("Th" "8" :string)
+ ("Ë" "8" :string)
+ ("Dh" "8" :string)
+ ("Rr" "8" :string)
+ ("Ll" "8" :string)
+ ("rr" "9" :string)
+ ("ll" "9" :string)
+ ("nj" "9" :string)
+ ("dh" "9" :string)
+ ("gj" "9" :string)
+ ("sh" "9" :string)
+ ("xh" "9" :string)
+ ("ç" "9" :string)
+ ("th" "9" :string)
+ ("ë" "9" :string)
+ ("zh" "9" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "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 "sq-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "sq-resolve-special"
+
+ :rules (("rr" "" :string)
+ ("Gj" "" :string)
+ ("Ç" "" :string)
+ ("SH" "" :string)
+ ("ll" "" :string)
+ ("GJ" "" :string)
+ ("NJ" "" :string)
+ ("nj" "" :string)
+ ("Sh" "" :string)
+ ("dh" "" :string)
+ ("Xh" "" :string)
+ ("DH" "" :string)
+ ("XH" "" :string)
+ ("TH" "" :string)
+ ("gj" "" :string)
+ ("RR" "" :string)
+ ("Nj" "" :string)
+ ("Zh" "" :string)
+ ("sh" "" :string)
+ ("xh" "" :string)
+ ("Th" "" :string)
+ ("LL" "" :string)
+ ("ç" "" :string)
+ ("th" "" :string)
+ ("Ë" "" :string)
+ ("ZH" "" :string)
+ ("Dh" "" :string)
+ ("ë" "" :string)
+ ("Rr" "" :string)
+ ("zh" "" :string)
+ ("Ll" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/belarusian/cp1251-lang.xdy b/Master/texmf/xindy/lang/belarusian/cp1251-lang.xdy
new file mode 100644
index 00000000000..13e522b79c3
--- /dev/null
+++ b/Master/texmf/xindy/lang/belarusian/cp1251-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/belarusian/cp1251.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("be-alphabetize" "be-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("be-resolve-diacritics" "be-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("be-resolve-case" "be-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("be-resolve-special"))
diff --git a/Master/texmf/xindy/lang/belarusian/cp1251-test.xdy b/Master/texmf/xindy/lang/belarusian/cp1251-test.xdy
new file mode 100644
index 00000000000..56e8f2068ea
--- /dev/null
+++ b/Master/texmf/xindy/lang/belarusian/cp1251-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/belarusian/cp1251.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("be-alphabetize" "be-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("be-resolve-diacritics" "be-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("be-resolve-case" "be-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("be-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/lang/belarusian/cp1251.xdy b/Master/texmf/xindy/lang/belarusian/cp1251.xdy
new file mode 100644
index 00000000000..741c18a67fc
--- /dev/null
+++ b/Master/texmf/xindy/lang/belarusian/cp1251.xdy
@@ -0,0 +1,348 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Belarusian
+
+(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-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 "be-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)
+ ("" "" :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 "be-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)
+ ("" "" :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 "be-resolve-case"
+
+ :rules (("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :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)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ))
+
+(define-rule-set "be-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "be-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)
+ ("" "" :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/lang/belarusian/iso88595-lang.xdy b/Master/texmf/xindy/lang/belarusian/iso88595-lang.xdy
new file mode 100644
index 00000000000..84bf1609041
--- /dev/null
+++ b/Master/texmf/xindy/lang/belarusian/iso88595-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/belarusian/iso88595.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("be-alphabetize" "be-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("be-resolve-diacritics" "be-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("be-resolve-case" "be-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("be-resolve-special"))
diff --git a/Master/texmf/xindy/lang/belarusian/iso88595-test.xdy b/Master/texmf/xindy/lang/belarusian/iso88595-test.xdy
new file mode 100644
index 00000000000..c85885150d0
--- /dev/null
+++ b/Master/texmf/xindy/lang/belarusian/iso88595-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/belarusian/iso88595.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("be-alphabetize" "be-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("be-resolve-diacritics" "be-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("be-resolve-case" "be-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("be-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/lang/belarusian/iso88595.xdy b/Master/texmf/xindy/lang/belarusian/iso88595.xdy
new file mode 100644
index 00000000000..b79bacf8191
--- /dev/null
+++ b/Master/texmf/xindy/lang/belarusian/iso88595.xdy
@@ -0,0 +1,348 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Belarusian
+
+(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-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 "be-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)
+ ("" "" :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 "be-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)
+ ("" "" :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 "be-resolve-case"
+
+ :rules (("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :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)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ))
+
+(define-rule-set "be-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "be-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)
+ ("" "" :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/lang/belarusian/isoir111-lang.xdy b/Master/texmf/xindy/lang/belarusian/isoir111-lang.xdy
new file mode 100644
index 00000000000..3656c25718a
--- /dev/null
+++ b/Master/texmf/xindy/lang/belarusian/isoir111-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/belarusian/isoir111.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("be-alphabetize" "be-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("be-resolve-diacritics" "be-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("be-resolve-case" "be-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("be-resolve-special"))
diff --git a/Master/texmf/xindy/lang/belarusian/isoir111-test.xdy b/Master/texmf/xindy/lang/belarusian/isoir111-test.xdy
new file mode 100644
index 00000000000..e03667e7551
--- /dev/null
+++ b/Master/texmf/xindy/lang/belarusian/isoir111-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/belarusian/isoir111.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("be-alphabetize" "be-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("be-resolve-diacritics" "be-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("be-resolve-case" "be-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("be-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/lang/belarusian/isoir111.xdy b/Master/texmf/xindy/lang/belarusian/isoir111.xdy
new file mode 100644
index 00000000000..c7bacde9e36
--- /dev/null
+++ b/Master/texmf/xindy/lang/belarusian/isoir111.xdy
@@ -0,0 +1,348 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Belarusian
+
+(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-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 "be-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)
+ ("" "" :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 "be-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)
+ ("" "" :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 "be-resolve-case"
+
+ :rules (("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :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)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ))
+
+(define-rule-set "be-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "be-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)
+ ("" "" :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/lang/belarusian/utf8-lang.xdy b/Master/texmf/xindy/lang/belarusian/utf8-lang.xdy
new file mode 100644
index 00000000000..ba14169b3d5
--- /dev/null
+++ b/Master/texmf/xindy/lang/belarusian/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/belarusian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("be-alphabetize" "be-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("be-resolve-diacritics" "be-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("be-resolve-case" "be-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("be-resolve-special"))
diff --git a/Master/texmf/xindy/lang/belarusian/utf8-test.xdy b/Master/texmf/xindy/lang/belarusian/utf8-test.xdy
new file mode 100644
index 00000000000..3d6c544171f
--- /dev/null
+++ b/Master/texmf/xindy/lang/belarusian/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/belarusian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("be-alphabetize" "be-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("be-resolve-diacritics" "be-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("be-resolve-case" "be-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("be-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/lang/belarusian/utf8.xdy b/Master/texmf/xindy/lang/belarusian/utf8.xdy
new file mode 100644
index 00000000000..e9d1a73e576
--- /dev/null
+++ b/Master/texmf/xindy/lang/belarusian/utf8.xdy
@@ -0,0 +1,348 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Belarusian
+
+(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-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 "be-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)
+ ("С" "" :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 "be-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)
+ ("ь" "" :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 "be-resolve-case"
+
+ :rules (("И" "8" :string)
+ ("П" "8" :string)
+ ("Л" "8" :string)
+ ("Ж" "8" :string)
+ ("Д" "8" :string)
+ ("Н" "8" :string)
+ ("Ш" "8" :string)
+ ("Щ" "8" :string)
+ ("К" "8" :string)
+ ("Й" "8" :string)
+ ("Б" "8" :string)
+ ("Я" "8" :string)
+ ("Ч" "8" :string)
+ ("Р" "8" :string)
+ ("М" "8" :string)
+ ("Ў" "8" :string)
+ ("Т" "8" :string)
+ ("З" "8" :string)
+ ("Ц" "8" :string)
+ ("С" "8" :string)
+ ("Ф" "8" :string)
+ ("І" "8" :string)
+ ("В" "8" :string)
+ ("О" "8" :string)
+ ("Х" "8" :string)
+ ("У" "8" :string)
+ ("Ё" "8" :string)
+ ("Г" "8" :string)
+ ("Ь" "8" :string)
+ ("А" "8" :string)
+ ("Ы" "8" :string)
+ ("Е" "8" :string)
+ ("Э" "8" :string)
+ ("Ъ" "8" :string)
+ ("Ю" "8" :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)
+ ("з" "9" :string)
+ ("ж" "9" :string)
+ ("і" "9" :string)
+ ("с" "9" :string)
+ ("я" "9" :string)
+ ("ё" "9" :string)
+ ("ю" "9" :string)
+ ))
+
+(define-rule-set "be-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "be-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)
+ ("с" "" :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/lang/bulgarian/cp1251-lang.xdy b/Master/texmf/xindy/lang/bulgarian/cp1251-lang.xdy
new file mode 100644
index 00000000000..96cb7895244
--- /dev/null
+++ b/Master/texmf/xindy/lang/bulgarian/cp1251-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/bulgarian/cp1251.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("bg-alphabetize" "bg-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("bg-resolve-diacritics" "bg-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("bg-resolve-case" "bg-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("bg-resolve-special"))
diff --git a/Master/texmf/xindy/lang/bulgarian/cp1251-test.xdy b/Master/texmf/xindy/lang/bulgarian/cp1251-test.xdy
new file mode 100644
index 00000000000..78a6e423ce4
--- /dev/null
+++ b/Master/texmf/xindy/lang/bulgarian/cp1251-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/bulgarian/cp1251.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("bg-alphabetize" "bg-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("bg-resolve-diacritics" "bg-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("bg-resolve-case" "bg-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("bg-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/lang/bulgarian/cp1251.xdy b/Master/texmf/xindy/lang/bulgarian/cp1251.xdy
new file mode 100644
index 00000000000..fef9125e02e
--- /dev/null
+++ b/Master/texmf/xindy/lang/bulgarian/cp1251.xdy
@@ -0,0 +1,304 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Bulgarian
+
+(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-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+
+(define-rule-set "bg-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)
+ ("" "" :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 "bg-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)
+ ("" "" :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 "bg-resolve-case"
+
+ :rules (("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :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)
+ ("" "9" :string)
+ ("" "9" :string)
+ ))
+
+(define-rule-set "bg-ignore-special"
+
+ :rules (("?" "" :string)
+ ("-" "" :string)
+ ("." "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ))
+
+(define-rule-set "bg-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)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/bulgarian/iso88595-lang.xdy b/Master/texmf/xindy/lang/bulgarian/iso88595-lang.xdy
new file mode 100644
index 00000000000..b5c0ac69da8
--- /dev/null
+++ b/Master/texmf/xindy/lang/bulgarian/iso88595-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/bulgarian/iso88595.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("bg-alphabetize" "bg-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("bg-resolve-diacritics" "bg-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("bg-resolve-case" "bg-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("bg-resolve-special"))
diff --git a/Master/texmf/xindy/lang/bulgarian/iso88595-test.xdy b/Master/texmf/xindy/lang/bulgarian/iso88595-test.xdy
new file mode 100644
index 00000000000..41c0ae66b59
--- /dev/null
+++ b/Master/texmf/xindy/lang/bulgarian/iso88595-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/bulgarian/iso88595.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("bg-alphabetize" "bg-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("bg-resolve-diacritics" "bg-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("bg-resolve-case" "bg-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("bg-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/lang/bulgarian/iso88595.xdy b/Master/texmf/xindy/lang/bulgarian/iso88595.xdy
new file mode 100644
index 00000000000..492e58b7651
--- /dev/null
+++ b/Master/texmf/xindy/lang/bulgarian/iso88595.xdy
@@ -0,0 +1,304 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Bulgarian
+
+(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-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+
+(define-rule-set "bg-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)
+ ("" "" :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 "bg-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)
+ ("" "" :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 "bg-resolve-case"
+
+ :rules (("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :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)
+ ("" "9" :string)
+ ("" "9" :string)
+ ))
+
+(define-rule-set "bg-ignore-special"
+
+ :rules (("?" "" :string)
+ ("-" "" :string)
+ ("." "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ))
+
+(define-rule-set "bg-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)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/bulgarian/koi8-r-lang.xdy b/Master/texmf/xindy/lang/bulgarian/koi8-r-lang.xdy
new file mode 100644
index 00000000000..f5be018f13f
--- /dev/null
+++ b/Master/texmf/xindy/lang/bulgarian/koi8-r-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/bulgarian/koi8-r.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("bg-alphabetize" "bg-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("bg-resolve-diacritics" "bg-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("bg-resolve-case" "bg-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("bg-resolve-special"))
diff --git a/Master/texmf/xindy/lang/bulgarian/koi8-r-test.xdy b/Master/texmf/xindy/lang/bulgarian/koi8-r-test.xdy
new file mode 100644
index 00000000000..03757bf35b8
--- /dev/null
+++ b/Master/texmf/xindy/lang/bulgarian/koi8-r-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/bulgarian/koi8-r.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("bg-alphabetize" "bg-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("bg-resolve-diacritics" "bg-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("bg-resolve-case" "bg-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("bg-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/lang/bulgarian/koi8-r.xdy b/Master/texmf/xindy/lang/bulgarian/koi8-r.xdy
new file mode 100644
index 00000000000..dfafca4986c
--- /dev/null
+++ b/Master/texmf/xindy/lang/bulgarian/koi8-r.xdy
@@ -0,0 +1,304 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Bulgarian
+
+(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-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+
+(define-rule-set "bg-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)
+ ("" "" :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 "bg-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)
+ ("" "" :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 "bg-resolve-case"
+
+ :rules (("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :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)
+ ("" "9" :string)
+ ("" "9" :string)
+ ))
+
+(define-rule-set "bg-ignore-special"
+
+ :rules (("?" "" :string)
+ ("-" "" :string)
+ ("." "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ))
+
+(define-rule-set "bg-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)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/bulgarian/utf8-lang.xdy b/Master/texmf/xindy/lang/bulgarian/utf8-lang.xdy
new file mode 100644
index 00000000000..e4cc8f73aa8
--- /dev/null
+++ b/Master/texmf/xindy/lang/bulgarian/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/bulgarian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("bg-alphabetize" "bg-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("bg-resolve-diacritics" "bg-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("bg-resolve-case" "bg-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("bg-resolve-special"))
diff --git a/Master/texmf/xindy/lang/bulgarian/utf8-test.xdy b/Master/texmf/xindy/lang/bulgarian/utf8-test.xdy
new file mode 100644
index 00000000000..5b0bec02214
--- /dev/null
+++ b/Master/texmf/xindy/lang/bulgarian/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/bulgarian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("bg-alphabetize" "bg-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("bg-resolve-diacritics" "bg-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("bg-resolve-case" "bg-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("bg-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/lang/bulgarian/utf8.xdy b/Master/texmf/xindy/lang/bulgarian/utf8.xdy
new file mode 100644
index 00000000000..83b82e4f96b
--- /dev/null
+++ b/Master/texmf/xindy/lang/bulgarian/utf8.xdy
@@ -0,0 +1,313 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Bulgarian
+
+(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-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 "bg-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)
+ ("у" "" :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 "bg-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)
+ ("Д" "" :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 "bg-resolve-case"
+
+ :rules (("Я" "8" :string)
+ ("Ч" "8" :string)
+ ("Р" "8" :string)
+ ("М" "8" :string)
+ ("Т" "8" :string)
+ ("З" "8" :string)
+ ("Ц" "8" :string)
+ ("С" "8" :string)
+ ("Ф" "8" :string)
+ ("И" "8" :string)
+ ("В" "8" :string)
+ ("О" "8" :string)
+ ("П" "8" :string)
+ ("Х" "8" :string)
+ ("Л" "8" :string)
+ ("Ж" "8" :string)
+ ("Д" "8" :string)
+ ("Н" "8" :string)
+ ("Ш" "8" :string)
+ ("У" "8" :string)
+ ("Щ" "8" :string)
+ ("Г" "8" :string)
+ ("Ь" "8" :string)
+ ("К" "8" :string)
+ ("Й" "8" :string)
+ ("А" "8" :string)
+ ("Б" "8" :string)
+ ("Е" "8" :string)
+ ("Ъ" "8" :string)
+ ("Ѫ" "8" :string)
+ ("Ю" "8" :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)
+ ("г" "9" :string)
+ ("х" "9" :string)
+ ("ю" "9" :string)
+ ))
+
+(define-rule-set "bg-ignore-special"
+
+ :rules (("?" "" :string)
+ ("-" "" :string)
+ ("." "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ))
+
+(define-rule-set "bg-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)
+ ("А" "" :string)
+ ("Е" "" :string)
+ ("Ъ" "" :string)
+ ("ю" "" :string)
+ ("Ѫ" "" :string)
+ ("Ю" "" :string)
+ ("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/croatian/cp1250-lang.xdy b/Master/texmf/xindy/lang/croatian/cp1250-lang.xdy
new file mode 100644
index 00000000000..ef03041e720
--- /dev/null
+++ b/Master/texmf/xindy/lang/croatian/cp1250-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/croatian/cp1250.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("hr-alphabetize" "hr-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("hr-resolve-diacritics" "hr-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("hr-resolve-case" "hr-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("hr-resolve-special"))
diff --git a/Master/texmf/xindy/lang/croatian/cp1250-test.xdy b/Master/texmf/xindy/lang/croatian/cp1250-test.xdy
new file mode 100644
index 00000000000..bdc0a657063
--- /dev/null
+++ b/Master/texmf/xindy/lang/croatian/cp1250-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/croatian/cp1250.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("hr-alphabetize" "hr-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("hr-resolve-diacritics" "hr-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("hr-resolve-case" "hr-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("hr-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/lang/croatian/cp1250.xdy b/Master/texmf/xindy/lang/croatian/cp1250.xdy
new file mode 100644
index 00000000000..afab46f109d
--- /dev/null
+++ b/Master/texmf/xindy/lang/croatian/cp1250.xdy
@@ -0,0 +1,352 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Croatian
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "" :after "C" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "D" :after "" :prefixes (""))
+(define-letter-group "D" :after "D" :prefixes (""))
+(define-letter-group "" :after "D" :prefixes (""))
+(define-letter-group "E" :after "" :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 "Lj" :after "L" :prefixes (""))
+(define-letter-group "M" :after "Lj" :prefixes (""))
+(define-letter-group "N" :after "M" :prefixes (""))
+(define-letter-group "Nj" :after "N" :prefixes (""))
+(define-letter-group "O" :after "Nj" :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 "" :after "S" :prefixes (""))
+(define-letter-group "T" :after "" :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-letter-group "" :after "Z" :prefixes (""))
+
+(define-rule-set "hr-alphabetize"
+
+ :rules (("d" "" :string)
+ ("D" "" :string)
+ ("D" "" :string)
+ ("LJ" "" :string)
+ ("lj" "" :string)
+ ("Lj" "" :string)
+ ("NJ" "" :string)
+ ("nj" "" :string)
+ ("Nj" "" :string)
+ ("a" "" :string)
+ ("A" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("C" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "hr-resolve-diacritics"
+
+ :rules (("d" "" :string)
+ ("LJ" "" :string)
+ ("NJ" "" :string)
+ ("nj" "" :string)
+ ("lj" "" :string)
+ ("Nj" "" :string)
+ ("Lj" "" :string)
+ ("D" "" :string)
+ ("D" "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "hr-resolve-case"
+
+ :rules (("LJ" "7" :string)
+ ("NJ" "7" :string)
+ ("D" "7" :string)
+ ("Nj" "8" :string)
+ ("Lj" "8" :string)
+ ("D" "8" :string)
+ ("d" "9" :string)
+ ("nj" "9" :string)
+ ("lj" "9" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("r" "9" :string)
+ ("" "9" :string)
+ ("x" "9" :string)
+ ("" "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 "hr-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "hr-resolve-special"
+
+ :rules (("d" "" :string)
+ ("LJ" "" :string)
+ ("NJ" "" :string)
+ ("nj" "" :string)
+ ("lj" "" :string)
+ ("Nj" "" :string)
+ ("Lj" "" :string)
+ ("D" "" :string)
+ ("D" "" :string)
+ ("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/croatian/latin2-lang.xdy b/Master/texmf/xindy/lang/croatian/latin2-lang.xdy
new file mode 100644
index 00000000000..8b46384418a
--- /dev/null
+++ b/Master/texmf/xindy/lang/croatian/latin2-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/croatian/latin2.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("hr-alphabetize" "hr-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("hr-resolve-diacritics" "hr-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("hr-resolve-case" "hr-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("hr-resolve-special"))
diff --git a/Master/texmf/xindy/lang/croatian/latin2-test.xdy b/Master/texmf/xindy/lang/croatian/latin2-test.xdy
new file mode 100644
index 00000000000..f5faf5ed9fe
--- /dev/null
+++ b/Master/texmf/xindy/lang/croatian/latin2-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/croatian/latin2.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("hr-alphabetize" "hr-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("hr-resolve-diacritics" "hr-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("hr-resolve-case" "hr-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("hr-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/lang/croatian/latin2.xdy b/Master/texmf/xindy/lang/croatian/latin2.xdy
new file mode 100644
index 00000000000..e18fda89683
--- /dev/null
+++ b/Master/texmf/xindy/lang/croatian/latin2.xdy
@@ -0,0 +1,352 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Croatian
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "" :after "C" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "D" :after "" :prefixes (""))
+(define-letter-group "D" :after "D" :prefixes (""))
+(define-letter-group "" :after "D" :prefixes (""))
+(define-letter-group "E" :after "" :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 "Lj" :after "L" :prefixes (""))
+(define-letter-group "M" :after "Lj" :prefixes (""))
+(define-letter-group "N" :after "M" :prefixes (""))
+(define-letter-group "Nj" :after "N" :prefixes (""))
+(define-letter-group "O" :after "Nj" :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 "" :after "S" :prefixes (""))
+(define-letter-group "T" :after "" :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-letter-group "" :after "Z" :prefixes (""))
+
+(define-rule-set "hr-alphabetize"
+
+ :rules (("D" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("LJ" "" :string)
+ ("lj" "" :string)
+ ("Lj" "" :string)
+ ("NJ" "" :string)
+ ("nj" "" :string)
+ ("Nj" "" :string)
+ ("a" "" :string)
+ ("A" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("C" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "hr-resolve-diacritics"
+
+ :rules (("LJ" "" :string)
+ ("NJ" "" :string)
+ ("nj" "" :string)
+ ("lj" "" :string)
+ ("D" "" :string)
+ ("Nj" "" :string)
+ ("d" "" :string)
+ ("Lj" "" :string)
+ ("D" "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "hr-resolve-case"
+
+ :rules (("LJ" "7" :string)
+ ("NJ" "7" :string)
+ ("D" "7" :string)
+ ("Nj" "8" :string)
+ ("Lj" "8" :string)
+ ("D" "8" :string)
+ ("nj" "9" :string)
+ ("lj" "9" :string)
+ ("d" "9" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("r" "9" :string)
+ ("x" "9" :string)
+ ("" "9" :string)
+ ("h" "9" :string)
+ ("" "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 "hr-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "hr-resolve-special"
+
+ :rules (("LJ" "" :string)
+ ("NJ" "" :string)
+ ("nj" "" :string)
+ ("lj" "" :string)
+ ("D" "" :string)
+ ("Nj" "" :string)
+ ("d" "" :string)
+ ("Lj" "" :string)
+ ("D" "" :string)
+ ("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/croatian/utf8-lang.xdy b/Master/texmf/xindy/lang/croatian/utf8-lang.xdy
new file mode 100644
index 00000000000..8dd190f561a
--- /dev/null
+++ b/Master/texmf/xindy/lang/croatian/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/croatian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("hr-alphabetize" "hr-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("hr-resolve-diacritics" "hr-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("hr-resolve-case" "hr-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("hr-resolve-special"))
diff --git a/Master/texmf/xindy/lang/croatian/utf8-test.xdy b/Master/texmf/xindy/lang/croatian/utf8-test.xdy
new file mode 100644
index 00000000000..30849c9f3c0
--- /dev/null
+++ b/Master/texmf/xindy/lang/croatian/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/croatian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("hr-alphabetize" "hr-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("hr-resolve-diacritics" "hr-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("hr-resolve-case" "hr-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("hr-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/lang/croatian/utf8.xdy b/Master/texmf/xindy/lang/croatian/utf8.xdy
new file mode 100644
index 00000000000..33c5014f687
--- /dev/null
+++ b/Master/texmf/xindy/lang/croatian/utf8.xdy
@@ -0,0 +1,552 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Croatian
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "Č" :after "C" :prefixes (""))
+(define-letter-group "Ć" :after "Č" :prefixes (""))
+(define-letter-group "D" :after "Ć" :prefixes (""))
+(define-letter-group "Dž" :after "D" :prefixes (""))
+(define-letter-group "Đ" :after "Dž" :prefixes (""))
+(define-letter-group "E" :after "Đ" :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 "Lj" :after "L" :prefixes (""))
+(define-letter-group "M" :after "Lj" :prefixes (""))
+(define-letter-group "N" :after "M" :prefixes (""))
+(define-letter-group "Nj" :after "N" :prefixes (""))
+(define-letter-group "O" :after "Nj" :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 "Š" :after "S" :prefixes (""))
+(define-letter-group "T" :after "Š" :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-letter-group "Ž" :after "Z" :prefixes (""))
+
+(define-rule-set "hr-alphabetize"
+
+ :rules (("dž" "" :string)
+ ("Dž" "" :string)
+ ("DŽ" "" :string)
+ ("ḱ" "" :string)
+ ("Ḱ" "" :string)
+ ("ȃ" "" :string)
+ ("ȁ" "" :string)
+ ("à" "" :string)
+ ("À" "" :string)
+ ("Ȃ" "" :string)
+ ("Ȁ" "" :string)
+ ("č" "" :string)
+ ("Č" "" :string)
+ ("Ć" "" :string)
+ ("ć" "" :string)
+ ("dz" "" :string)
+ ("DZ" "" :string)
+ ("Dz" "" :string)
+ ("dž" "" :string)
+ ("DŽ" "" :string)
+ ("Dž" "" :string)
+ ("đ" "" :string)
+ ("Đ" "" :string)
+ ("Ȅ" "" :string)
+ ("Ȇ" "" :string)
+ ("ȅ" "" :string)
+ ("È" "" :string)
+ ("ȇ" "" :string)
+ ("è" "" :string)
+ ("Ǵ" "" :string)
+ ("ǵ" "" :string)
+ ("Ȉ" "" :string)
+ ("ȋ" "" :string)
+ ("ì" "" :string)
+ ("Ȋ" "" :string)
+ ("ȉ" "" :string)
+ ("Ì" "" :string)
+ ("lj" "" :string)
+ ("Lj" "" :string)
+ ("LJ" "" :string)
+ ("LJ" "" :string)
+ ("lj" "" :string)
+ ("Lj" "" :string)
+ ("NJ" "" :string)
+ ("Nj" "" :string)
+ ("nj" "" :string)
+ ("NJ" "" :string)
+ ("nj" "" :string)
+ ("Nj" "" :string)
+ ("ȏ" "" :string)
+ ("Ò" "" :string)
+ ("ȍ" "" :string)
+ ("Ȏ" "" :string)
+ ("ò" "" :string)
+ ("Ȍ" "" :string)
+ ("Ȑ" "" :string)
+ ("ȓ" "" :string)
+ ("Ȓ" "" :string)
+ ("ȑ" "" :string)
+ ("Š" "" :string)
+ ("š" "" :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 "hr-resolve-diacritics"
+
+ :rules (("dž" "" :string)
+ ("Dž" "" :string)
+ ("DŽ" "" :string)
+ ("ḱ" "" :string)
+ ("Ḱ" "" :string)
+ ("Ž" "" :string)
+ ("LJ" "" :string)
+ ("NJ" "" :string)
+ ("nj" "" :string)
+ ("č" "" :string)
+ ("lj" "" :string)
+ ("đ" "" :string)
+ ("Š" "" :string)
+ ("š" "" :string)
+ ("Nj" "" :string)
+ ("Ć" "" :string)
+ ("Lj" "" :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)
+ ("dž" "" :string)
+ ("DŽ" "" :string)
+ ("Dž" "" :string)
+ ("dz" "" :string)
+ ("NJ" "" :string)
+ ("Nj" "" :string)
+ ("lj" "" :string)
+ ("Lj" "" :string)
+ ("DZ" "" :string)
+ ("Dz" "" :string)
+ ("LJ" "" :string)
+ ("nj" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "hr-resolve-case"
+
+ :rules (("DŽ" "7" :string)
+ ("Ḱ" "8" :string)
+ ("Dž" "8" :string)
+ ("dž" "9" :string)
+ ("ḱ" "9" :string)
+ ("LJ" "7" :string)
+ ("NJ" "7" :string)
+ ("Ȉ" "8" :string)
+ ("Ž" "8" :string)
+ ("Ȅ" "8" :string)
+ ("Ò" "8" :string)
+ ("Ȇ" "8" :string)
+ ("Ȑ" "8" :string)
+ ("Ù" "8" :string)
+ ("Ȏ" "8" :string)
+ ("Š" "8" :string)
+ ("È" "8" :string)
+ ("Nj" "8" :string)
+ ("Ȗ" "8" :string)
+ ("Ȓ" "8" :string)
+ ("Ȍ" "8" :string)
+ ("Ć" "8" :string)
+ ("Ǵ" "8" :string)
+ ("Lj" "8" :string)
+ ("Ȕ" "8" :string)
+ ("Ȋ" "8" :string)
+ ("À" "8" :string)
+ ("Č" "8" :string)
+ ("Ì" "8" :string)
+ ("Ȃ" "8" :string)
+ ("Đ" "8" :string)
+ ("Ȁ" "8" :string)
+ ("DŽ" "88" :string)
+ ("NJ" "88" :string)
+ ("DZ" "88" :string)
+ ("LJ" "88" :string)
+ ("Dž" "89" :string)
+ ("Nj" "89" :string)
+ ("Lj" "89" :string)
+ ("Dz" "89" :string)
+ ("ù" "9" :string)
+ ("ȋ" "9" :string)
+ ("ȏ" "9" :string)
+ ("ȃ" "9" :string)
+ ("nj" "9" :string)
+ ("ȁ" "9" :string)
+ ("ȍ" "9" :string)
+ ("č" "9" :string)
+ ("lj" "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)
+ ("dž" "99" :string)
+ ("dz" "99" :string)
+ ("lj" "99" :string)
+ ("nj" "99" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "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 "hr-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "hr-resolve-special"
+
+ :rules (("dž" "" :string)
+ ("ḱ" "" :string)
+ ("Ḱ" "" :string)
+ ("Dž" "" :string)
+ ("DŽ" "" :string)
+ ("ù" "" :string)
+ ("Ȉ" "" :string)
+ ("ȋ" "" :string)
+ ("ȏ" "" :string)
+ ("Ž" "" :string)
+ ("Ȅ" "" :string)
+ ("LJ" "" :string)
+ ("ȃ" "" :string)
+ ("Ò" "" :string)
+ ("NJ" "" :string)
+ ("Ȇ" "" :string)
+ ("nj" "" :string)
+ ("ȁ" "" :string)
+ ("ȍ" "" :string)
+ ("č" "" :string)
+ ("lj" "" :string)
+ ("Ȑ" "" :string)
+ ("Ù" "" :string)
+ ("ȅ" "" :string)
+ ("Ȏ" "" :string)
+ ("đ" "" :string)
+ ("ȓ" "" :string)
+ ("Š" "" :string)
+ ("È" "" :string)
+ ("ò" "" :string)
+ ("ȗ" "" :string)
+ ("š" "" :string)
+ ("Nj" "" :string)
+ ("Ȗ" "" :string)
+ ("Ȓ" "" :string)
+ ("Ȍ" "" :string)
+ ("ȇ" "" :string)
+ ("Ć" "" :string)
+ ("Ǵ" "" :string)
+ ("ì" "" :string)
+ ("ǵ" "" :string)
+ ("à" "" :string)
+ ("Lj" "" :string)
+ ("Ȕ" "" :string)
+ ("Ȋ" "" :string)
+ ("è" "" :string)
+ ("À" "" :string)
+ ("Č" "" :string)
+ ("ȉ" "" :string)
+ ("ȑ" "" :string)
+ ("Ì" "" :string)
+ ("ȕ" "" :string)
+ ("Ȃ" "" :string)
+ ("Đ" "" :string)
+ ("ć" "" :string)
+ ("Ȁ" "" :string)
+ ("ž" "" :string)
+ ("dž" "" :string)
+ ("DŽ" "" :string)
+ ("Dž" "" :string)
+ ("dz" "" :string)
+ ("NJ" "" :string)
+ ("Nj" "" :string)
+ ("lj" "" :string)
+ ("Lj" "" :string)
+ ("DZ" "" :string)
+ ("Dz" "" :string)
+ ("LJ" "" :string)
+ ("nj" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/czech/cp1250-lang.xdy b/Master/texmf/xindy/lang/czech/cp1250-lang.xdy
new file mode 100644
index 00000000000..e0f587dbf37
--- /dev/null
+++ b/Master/texmf/xindy/lang/czech/cp1250-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/czech/cp1250.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("cs-alphabetize" "cs-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("cs-resolve-diacritics" "cs-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("cs-resolve-case" "cs-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("cs-resolve-special"))
diff --git a/Master/texmf/xindy/lang/czech/cp1250-test.xdy b/Master/texmf/xindy/lang/czech/cp1250-test.xdy
new file mode 100644
index 00000000000..f07eda92b19
--- /dev/null
+++ b/Master/texmf/xindy/lang/czech/cp1250-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/czech/cp1250.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("cs-alphabetize" "cs-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("cs-resolve-diacritics" "cs-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("cs-resolve-case" "cs-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("cs-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/lang/czech/cp1250.xdy b/Master/texmf/xindy/lang/czech/cp1250.xdy
new file mode 100644
index 00000000000..444788566ad
--- /dev/null
+++ b/Master/texmf/xindy/lang/czech/cp1250.xdy
@@ -0,0 +1,433 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Czech
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "" :after "C" :prefixes (""))
+(define-letter-group "D" :after "" :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 "Ch" :after "H" :prefixes (""))
+(define-letter-group "I" :after "Ch" :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 "" :after "R" :prefixes (""))
+(define-letter-group "S" :after "" :prefixes (""))
+(define-letter-group "" :after "S" :prefixes (""))
+(define-letter-group "T" :after "" :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-letter-group "" :after "Z" :prefixes (""))
+
+(define-rule-set "cs-alphabetize"
+
+ :rules (("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("" "" :string)
+ ("A" "" :string)
+ ("" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("C" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("d" "" :string)
+ ("" "" :string)
+ ("D" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("I" "" :string)
+ ("i" "" :string)
+ ("J" "" :string)
+ ("j" "" :string)
+ ("K" "" :string)
+ ("k" "" :string)
+ ("L" "" :string)
+ ("l" "" :string)
+ ("M" "" :string)
+ ("m" "" :string)
+ ("" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("O" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("P" "" :string)
+ ("p" "" :string)
+ ("q" "" :string)
+ ("Q" "" :string)
+ ("r" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("S" "" :string)
+ ("s" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("w" "" :string)
+ ("W" "" :string)
+ ("X" "" :string)
+ ("x" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "cs-resolve-diacritics"
+
+ :rules (("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :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 "cs-resolve-case"
+
+ :rules (("CH" "7" :string)
+ ("Ch" "8" :string)
+ ("ch" "9" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("W" "8" :string)
+ ("" "8" :string)
+ ("B" "8" :string)
+ ("" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("" "9" :string)
+ ("j" "9" :string)
+ ("" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("" "9" :string)
+ ("t" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("v" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("r" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("x" "9" :string)
+ ("" "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)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("o" "9" :string)
+ ("" "99" :string)
+ ))
+
+(define-rule-set "cs-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "cs-resolve-special"
+
+ :rules (("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/czech/latin2-lang.xdy b/Master/texmf/xindy/lang/czech/latin2-lang.xdy
new file mode 100644
index 00000000000..29a54427bec
--- /dev/null
+++ b/Master/texmf/xindy/lang/czech/latin2-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/czech/latin2.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("cs-alphabetize" "cs-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("cs-resolve-diacritics" "cs-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("cs-resolve-case" "cs-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("cs-resolve-special"))
diff --git a/Master/texmf/xindy/lang/czech/latin2-test.xdy b/Master/texmf/xindy/lang/czech/latin2-test.xdy
new file mode 100644
index 00000000000..7f619b47b16
--- /dev/null
+++ b/Master/texmf/xindy/lang/czech/latin2-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/czech/latin2.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("cs-alphabetize" "cs-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("cs-resolve-diacritics" "cs-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("cs-resolve-case" "cs-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("cs-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/lang/czech/latin2.xdy b/Master/texmf/xindy/lang/czech/latin2.xdy
new file mode 100644
index 00000000000..625907dc1e5
--- /dev/null
+++ b/Master/texmf/xindy/lang/czech/latin2.xdy
@@ -0,0 +1,433 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Czech
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "" :after "C" :prefixes (""))
+(define-letter-group "D" :after "" :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 "Ch" :after "H" :prefixes (""))
+(define-letter-group "I" :after "Ch" :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 "" :after "R" :prefixes (""))
+(define-letter-group "S" :after "" :prefixes (""))
+(define-letter-group "" :after "S" :prefixes (""))
+(define-letter-group "T" :after "" :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-letter-group "" :after "Z" :prefixes (""))
+
+(define-rule-set "cs-alphabetize"
+
+ :rules (("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("" "" :string)
+ ("A" "" :string)
+ ("" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("C" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("d" "" :string)
+ ("" "" :string)
+ ("D" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("I" "" :string)
+ ("i" "" :string)
+ ("J" "" :string)
+ ("j" "" :string)
+ ("K" "" :string)
+ ("k" "" :string)
+ ("L" "" :string)
+ ("l" "" :string)
+ ("M" "" :string)
+ ("m" "" :string)
+ ("" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("O" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("P" "" :string)
+ ("p" "" :string)
+ ("q" "" :string)
+ ("Q" "" :string)
+ ("r" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("S" "" :string)
+ ("s" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("w" "" :string)
+ ("W" "" :string)
+ ("X" "" :string)
+ ("x" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "cs-resolve-diacritics"
+
+ :rules (("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :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 "cs-resolve-case"
+
+ :rules (("CH" "7" :string)
+ ("Ch" "8" :string)
+ ("ch" "9" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("" "9" :string)
+ ("j" "9" :string)
+ ("" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("t" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("v" "9" :string)
+ ("" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("r" "9" :string)
+ ("" "9" :string)
+ ("x" "9" :string)
+ ("" "9" :string)
+ ("h" "9" :string)
+ ("" "9" :string)
+ ("f" "9" :string)
+ ("" "9" :string)
+ ("i" "9" :string)
+ ("n" "9" :string)
+ ("m" "9" :string)
+ ("l" "9" :string)
+ ("p" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("o" "9" :string)
+ ("" "99" :string)
+ ))
+
+(define-rule-set "cs-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "cs-resolve-special"
+
+ :rules (("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/czech/utf8-lang.xdy b/Master/texmf/xindy/lang/czech/utf8-lang.xdy
new file mode 100644
index 00000000000..b1973bd8fe2
--- /dev/null
+++ b/Master/texmf/xindy/lang/czech/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/czech/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("cs-alphabetize" "cs-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("cs-resolve-diacritics" "cs-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("cs-resolve-case" "cs-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("cs-resolve-special"))
diff --git a/Master/texmf/xindy/lang/czech/utf8-test.xdy b/Master/texmf/xindy/lang/czech/utf8-test.xdy
new file mode 100644
index 00000000000..e3f1721903c
--- /dev/null
+++ b/Master/texmf/xindy/lang/czech/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/czech/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("cs-alphabetize" "cs-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("cs-resolve-diacritics" "cs-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("cs-resolve-case" "cs-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("cs-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/lang/czech/utf8.xdy b/Master/texmf/xindy/lang/czech/utf8.xdy
new file mode 100644
index 00000000000..92e36997d5a
--- /dev/null
+++ b/Master/texmf/xindy/lang/czech/utf8.xdy
@@ -0,0 +1,433 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Czech
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "Č" :after "C" :prefixes (""))
+(define-letter-group "D" :after "Č" :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 "Ch" :after "H" :prefixes (""))
+(define-letter-group "I" :after "Ch" :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 "Ř" :after "R" :prefixes (""))
+(define-letter-group "S" :after "Ř" :prefixes (""))
+(define-letter-group "Š" :after "S" :prefixes (""))
+(define-letter-group "T" :after "Š" :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-letter-group "Ž" :after "Z" :prefixes (""))
+
+(define-rule-set "cs-alphabetize"
+
+ :rules (("Á" "" :string)
+ ("Ä" "" :string)
+ ("á" "" :string)
+ ("ä" "" :string)
+ ("č" "" :string)
+ ("Č" "" :string)
+ ("ď" "" :string)
+ ("Ď" "" :string)
+ ("Ě" "" :string)
+ ("É" "" :string)
+ ("ě" "" :string)
+ ("é" "" :string)
+ ("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :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)
+ ("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 "cs-resolve-diacritics"
+
+ :rules (("Ž" "" :string)
+ ("Ch" "" :string)
+ ("Ř" "" :string)
+ ("č" "" :string)
+ ("ch" "" :string)
+ ("Š" "" :string)
+ ("ř" "" :string)
+ ("š" "" :string)
+ ("CH" "" :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)
+ ("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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "cs-resolve-case"
+
+ :rules (("CH" "7" :string)
+ ("Ý" "8" :string)
+ ("Ě" "8" :string)
+ ("Ö" "8" :string)
+ ("Á" "8" :string)
+ ("Ž" "8" :string)
+ ("Ó" "8" :string)
+ ("É" "8" :string)
+ ("Í" "8" :string)
+ ("Ch" "8" :string)
+ ("Ú" "8" :string)
+ ("Ř" "8" :string)
+ ("Ň" "8" :string)
+ ("Ä" "8" :string)
+ ("Ü" "8" :string)
+ ("Š" "8" :string)
+ ("Ů" "8" :string)
+ ("Ď" "8" :string)
+ ("Č" "8" :string)
+ ("Ť" "8" :string)
+ ("ý" "9" :string)
+ ("č" "9" :string)
+ ("ch" "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)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "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 "cs-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "cs-resolve-special"
+
+ :rules (("Ý" "" :string)
+ ("Ě" "" :string)
+ ("Ö" "" :string)
+ ("Á" "" :string)
+ ("Ž" "" :string)
+ ("Ó" "" :string)
+ ("É" "" :string)
+ ("ý" "" :string)
+ ("Í" "" :string)
+ ("Ch" "" :string)
+ ("Ú" "" :string)
+ ("Ř" "" :string)
+ ("Ň" "" :string)
+ ("č" "" :string)
+ ("Ä" "" :string)
+ ("ch" "" :string)
+ ("ú" "" :string)
+ ("Ü" "" :string)
+ ("ě" "" :string)
+ ("ď" "" :string)
+ ("á" "" :string)
+ ("ö" "" :string)
+ ("Š" "" :string)
+ ("ř" "" :string)
+ ("ä" "" :string)
+ ("š" "" :string)
+ ("ů" "" :string)
+ ("Ů" "" :string)
+ ("CH" "" :string)
+ ("í" "" :string)
+ ("Ď" "" :string)
+ ("ó" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/danish/cp1252-lang.xdy b/Master/texmf/xindy/lang/danish/cp1252-lang.xdy
new file mode 100644
index 00000000000..7101834b7bf
--- /dev/null
+++ b/Master/texmf/xindy/lang/danish/cp1252-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/danish/cp1252.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("da-alphabetize" "da-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("da-resolve-diacritics" "da-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("da-resolve-case" "da-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("da-resolve-special"))
diff --git a/Master/texmf/xindy/lang/danish/cp1252-test.xdy b/Master/texmf/xindy/lang/danish/cp1252-test.xdy
new file mode 100644
index 00000000000..e830b686891
--- /dev/null
+++ b/Master/texmf/xindy/lang/danish/cp1252-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/danish/cp1252.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("da-alphabetize" "da-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("da-resolve-diacritics" "da-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("da-resolve-case" "da-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("da-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/lang/danish/cp1252.xdy b/Master/texmf/xindy/lang/danish/cp1252.xdy
new file mode 100644
index 00000000000..937f481a9c7
--- /dev/null
+++ b/Master/texmf/xindy/lang/danish/cp1252.xdy
@@ -0,0 +1,451 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Danish
+
+(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-letter-group "" :after "Z" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+
+(define-rule-set "da-alphabetize"
+
+ :rules (("aa" "" :string)
+ ("AA" "" :string)
+ ("Aa" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("A" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("C" "" :string)
+ ("" "" :string)
+ ("c" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("O" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("P" "" :string)
+ ("p" "" :string)
+ ("q" "" :string)
+ ("Q" "" :string)
+ ("r" "" :string)
+ ("R" "" :string)
+ ("S" "" :string)
+ ("s" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("" "ڤ" :string)
+ ("" "ڤ" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("U" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("w" "" :string)
+ ("W" "" :string)
+ ("X" "" :string)
+ ("x" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "da-resolve-diacritics"
+
+ :rules (("aa" "" :string)
+ ("AA" "" :string)
+ ("Aa" "" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :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 "da-resolve-case"
+
+ :rules (("AA" "7" :string)
+ ("Aa" "8" :string)
+ ("aa" "9" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("" "8" :string)
+ ("R" "8" :string)
+ ("" "89" :string)
+ ("d" "9" :string)
+ ("" "9" :string)
+ ("y" "9" :string)
+ ("" "9" :string)
+ ("g" "9" :string)
+ ("" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("" "9" :string)
+ ("j" "9" :string)
+ ("" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("r" "9" :string)
+ ("" "9" :string)
+ ("x" "9" :string)
+ ("" "9" :string)
+ ("" "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)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("o" "9" :string)
+ ("" "99" :string)
+ ))
+
+(define-rule-set "da-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "da-resolve-special"
+
+ :rules (("aa" "" :string)
+ ("AA" "" :string)
+ ("Aa" "" :string)
+ ("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("" "" :string)
+ ("Y" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/danish/latin9-lang.xdy b/Master/texmf/xindy/lang/danish/latin9-lang.xdy
new file mode 100644
index 00000000000..27f3ba83726
--- /dev/null
+++ b/Master/texmf/xindy/lang/danish/latin9-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/danish/latin9.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("da-alphabetize" "da-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("da-resolve-diacritics" "da-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("da-resolve-case" "da-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("da-resolve-special"))
diff --git a/Master/texmf/xindy/lang/danish/latin9-test.xdy b/Master/texmf/xindy/lang/danish/latin9-test.xdy
new file mode 100644
index 00000000000..55c1de2b186
--- /dev/null
+++ b/Master/texmf/xindy/lang/danish/latin9-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/danish/latin9.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("da-alphabetize" "da-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("da-resolve-diacritics" "da-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("da-resolve-case" "da-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("da-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/lang/danish/latin9.xdy b/Master/texmf/xindy/lang/danish/latin9.xdy
new file mode 100644
index 00000000000..d0e6afe7292
--- /dev/null
+++ b/Master/texmf/xindy/lang/danish/latin9.xdy
@@ -0,0 +1,451 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Danish
+
+(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-letter-group "" :after "Z" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+
+(define-rule-set "da-alphabetize"
+
+ :rules (("aa" "" :string)
+ ("AA" "" :string)
+ ("Aa" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("A" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("C" "" :string)
+ ("" "" :string)
+ ("c" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("O" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("P" "" :string)
+ ("p" "" :string)
+ ("q" "" :string)
+ ("Q" "" :string)
+ ("r" "" :string)
+ ("R" "" :string)
+ ("S" "" :string)
+ ("s" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("" "ڤ" :string)
+ ("" "ڤ" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("U" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("w" "" :string)
+ ("W" "" :string)
+ ("X" "" :string)
+ ("x" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "da-resolve-diacritics"
+
+ :rules (("aa" "" :string)
+ ("AA" "" :string)
+ ("Aa" "" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :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 "da-resolve-case"
+
+ :rules (("AA" "7" :string)
+ ("Aa" "8" :string)
+ ("aa" "9" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("" "8" :string)
+ ("X" "8" :string)
+ ("" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("" "8" :string)
+ ("R" "8" :string)
+ ("" "89" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("" "9" :string)
+ ("g" "9" :string)
+ ("" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("" "9" :string)
+ ("j" "9" :string)
+ ("" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("r" "9" :string)
+ ("" "9" :string)
+ ("x" "9" :string)
+ ("" "9" :string)
+ ("" "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)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("o" "9" :string)
+ ("" "99" :string)
+ ))
+
+(define-rule-set "da-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "da-resolve-special"
+
+ :rules (("aa" "" :string)
+ ("AA" "" :string)
+ ("Aa" "" :string)
+ ("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/danish/utf8-lang.xdy b/Master/texmf/xindy/lang/danish/utf8-lang.xdy
new file mode 100644
index 00000000000..13954a330f0
--- /dev/null
+++ b/Master/texmf/xindy/lang/danish/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/danish/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("da-alphabetize" "da-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("da-resolve-diacritics" "da-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("da-resolve-case" "da-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("da-resolve-special"))
diff --git a/Master/texmf/xindy/lang/danish/utf8-test.xdy b/Master/texmf/xindy/lang/danish/utf8-test.xdy
new file mode 100644
index 00000000000..36ea83643d6
--- /dev/null
+++ b/Master/texmf/xindy/lang/danish/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/danish/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("da-alphabetize" "da-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("da-resolve-diacritics" "da-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("da-resolve-case" "da-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("da-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/lang/danish/utf8.xdy b/Master/texmf/xindy/lang/danish/utf8.xdy
new file mode 100644
index 00000000000..9cfbba1a394
--- /dev/null
+++ b/Master/texmf/xindy/lang/danish/utf8.xdy
@@ -0,0 +1,475 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Danish
+
+(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-letter-group "Æ" :after "Z" :prefixes (""))
+(define-letter-group "Ø" :after "Æ" :prefixes (""))
+(define-letter-group "Å" :after "Ø" :prefixes (""))
+
+(define-rule-set "da-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)
+ ("ø" "" :string)
+ ("œ" "" :string)
+ ("ö" "" :string)
+ ("Œ" "" :string)
+ ("Ø" "" :string)
+ ("Ǿ" "" :string)
+ ("Ǻ" "" :string)
+ ("ǻ" "" :string)
+ ("aa" "" :string)
+ ("AA" "" :string)
+ ("Å" "" :string)
+ ("å" "" :string)
+ ("Aa" "" :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 "da-resolve-diacritics"
+
+ :rules (("ø" "" :string)
+ ("Æ" "" :string)
+ ("Å" "" :string)
+ ("å" "" :string)
+ ("Ø" "" :string)
+ ("æ" "" :string)
+ ("Ý" "" :string)
+ ("Á" "" :string)
+ ("ð" "" :string)
+ ("ǿ" "" :string)
+ ("aa" "" :string)
+ ("Ç" "" :string)
+ ("Ó" "" :string)
+ ("É" "" :string)
+ ("ý" "" :string)
+ ("Í" "" :string)
+ ("Ú" "" :string)
+ ("AA" "" :string)
+ ("ú" "" :string)
+ ("á" "" :string)
+ ("ç" "" :string)
+ ("í" "" :string)
+ ("ó" "" :string)
+ ("Ǽ" "" :string)
+ ("é" "" :string)
+ ("ǽ" "" :string)
+ ("Ǿ" "" :string)
+ ("Ð" "" :string)
+ ("Aa" "" :string)
+ ("Ǻ" "" :string)
+ ("Ö" "" :string)
+ ("ǻ" "" :string)
+ ("Ô" "" :string)
+ ("ô" "" :string)
+ ("Ü" "" :string)
+ ("ö" "" :string)
+ ("È" "" :string)
+ ("à" "" :string)
+ ("è" "" :string)
+ ("À" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "da-resolve-case"
+
+ :rules (("AA" "7" :string)
+ ("Ý" "8" :string)
+ ("Ǻ" "8" :string)
+ ("Ö" "8" :string)
+ ("Á" "8" :string)
+ ("Â" "8" :string)
+ ("Ô" "8" :string)
+ ("Ç" "8" :string)
+ ("Ó" "8" :string)
+ ("É" "8" :string)
+ ("Í" "8" :string)
+ ("Ú" "8" :string)
+ ("Ü" "8" :string)
+ ("Æ" "8" :string)
+ ("Ê" "8" :string)
+ ("Å" "8" :string)
+ ("È" "8" :string)
+ ("Œ" "8" :string)
+ ("Ë" "8" :string)
+ ("Ø" "8" :string)
+ ("À" "8" :string)
+ ("Ǽ" "8" :string)
+ ("Ǿ" "8" :string)
+ ("Ð" "8" :string)
+ ("Aa" "8" :string)
+ ("Þ" "89" :string)
+ ("ǻ" "9" :string)
+ ("ð" "9" :string)
+ ("ǿ" "9" :string)
+ ("aa" "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)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "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 "da-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "da-resolve-special"
+
+ :rules (("Ý" "" :string)
+ ("Ǻ" "" :string)
+ ("Ö" "" :string)
+ ("ǻ" "" :string)
+ ("Á" "" :string)
+ ("Â" "" :string)
+ ("ð" "" :string)
+ ("ǿ" "" :string)
+ ("aa" "" :string)
+ ("Ô" "" :string)
+ ("Ç" "" :string)
+ ("Ó" "" :string)
+ ("É" "" :string)
+ ("ý" "" :string)
+ ("Í" "" :string)
+ ("ô" "" :string)
+ ("Ú" "" :string)
+ ("ø" "" :string)
+ ("AA" "" :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)
+ ("Aa" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/dutch/ij-as-ij-latin1-lang.xdy b/Master/texmf/xindy/lang/dutch/ij-as-ij-latin1-lang.xdy
new file mode 100644
index 00000000000..0d1861efbd3
--- /dev/null
+++ b/Master/texmf/xindy/lang/dutch/ij-as-ij-latin1-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/dutch/ij-as-ij-latin1.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("nl-alphabetize" "nl-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("nl-resolve-diacritics" "nl-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("nl-resolve-case" "nl-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("nl-resolve-special"))
diff --git a/Master/texmf/xindy/lang/dutch/ij-as-ij-latin1-test.xdy b/Master/texmf/xindy/lang/dutch/ij-as-ij-latin1-test.xdy
new file mode 100644
index 00000000000..1a517f60951
--- /dev/null
+++ b/Master/texmf/xindy/lang/dutch/ij-as-ij-latin1-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/dutch/ij-as-ij-latin1.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("nl-alphabetize" "nl-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("nl-resolve-diacritics" "nl-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("nl-resolve-case" "nl-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("nl-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/lang/dutch/ij-as-ij-latin1.xdy b/Master/texmf/xindy/lang/dutch/ij-as-ij-latin1.xdy
new file mode 100644
index 00000000000..6858675fe34
--- /dev/null
+++ b/Master/texmf/xindy/lang/dutch/ij-as-ij-latin1.xdy
@@ -0,0 +1,320 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Dutch
+
+(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 "nl-alphabetize"
+
+ :rules (("" "" :string)
+ ("a" "" :string)
+ ("" "" :string)
+ ("A" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("C" "" :string)
+ ("c" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("E" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("" "" :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)
+ ("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 "nl-resolve-diacritics"
+
+ :rules (("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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "nl-resolve-case"
+
+ :rules (("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("" "9" :string)
+ ("t" "9" :string)
+ ("" "9" :string)
+ ("v" "9" :string)
+ ("" "9" :string)
+ ("s" "9" :string)
+ ("c" "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)
+ ))
+
+(define-rule-set "nl-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("{" "" :string)
+ ("'" "" :string)
+ ("}" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "nl-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ("{" "" :string)
+ ("}" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/dutch/ij-as-ij-utf8-lang.xdy b/Master/texmf/xindy/lang/dutch/ij-as-ij-utf8-lang.xdy
new file mode 100644
index 00000000000..1b236d936d9
--- /dev/null
+++ b/Master/texmf/xindy/lang/dutch/ij-as-ij-utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/dutch/ij-as-ij-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("nl-alphabetize" "nl-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("nl-resolve-diacritics" "nl-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("nl-resolve-case" "nl-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("nl-resolve-special"))
diff --git a/Master/texmf/xindy/lang/dutch/ij-as-ij-utf8-test.xdy b/Master/texmf/xindy/lang/dutch/ij-as-ij-utf8-test.xdy
new file mode 100644
index 00000000000..fd7fcbff524
--- /dev/null
+++ b/Master/texmf/xindy/lang/dutch/ij-as-ij-utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/dutch/ij-as-ij-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("nl-alphabetize" "nl-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("nl-resolve-diacritics" "nl-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("nl-resolve-case" "nl-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("nl-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/lang/dutch/ij-as-ij-utf8.xdy b/Master/texmf/xindy/lang/dutch/ij-as-ij-utf8.xdy
new file mode 100644
index 00000000000..6592ae8c54a
--- /dev/null
+++ b/Master/texmf/xindy/lang/dutch/ij-as-ij-utf8.xdy
@@ -0,0 +1,328 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Dutch
+
+(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 "nl-alphabetize"
+
+ :rules (("Ä" "" :string)
+ ("ä" "" :string)
+ ("É" "" :string)
+ ("Ë" "" :string)
+ ("ë" "" :string)
+ ("é" "" :string)
+ ("Ï" "" :string)
+ ("ï" "" :string)
+ ("IJ" "" :string)
+ ("ij" "" :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 "nl-resolve-diacritics"
+
+ :rules (("Ö" "" :string)
+ ("Ï" "" :string)
+ ("Ä" "" :string)
+ ("Ü" "" :string)
+ ("ï" "" :string)
+ ("ö" "" :string)
+ ("ä" "" :string)
+ ("Ë" "" :string)
+ ("ë" "" :string)
+ ("ü" "" :string)
+ ("É" "" :string)
+ ("é" "" :string)
+ ("IJ" "" :string)
+ ("ij" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "nl-resolve-case"
+
+ :rules (("Ö" "8" :string)
+ ("É" "8" :string)
+ ("Ï" "8" :string)
+ ("Ä" "8" :string)
+ ("Ü" "8" :string)
+ ("Ë" "8" :string)
+ ("IJ" "89" :string)
+ ("ï" "9" :string)
+ ("ö" "9" :string)
+ ("ä" "9" :string)
+ ("ë" "9" :string)
+ ("é" "9" :string)
+ ("ü" "9" :string)
+ ("ij" "99" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "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 "nl-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("{" "" :string)
+ ("'" "" :string)
+ ("}" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "nl-resolve-special"
+
+ :rules (("Ö" "" :string)
+ ("É" "" :string)
+ ("Ï" "" :string)
+ ("Ä" "" :string)
+ ("Ü" "" :string)
+ ("ï" "" :string)
+ ("ö" "" :string)
+ ("ä" "" :string)
+ ("Ë" "" :string)
+ ("ë" "" :string)
+ ("é" "" :string)
+ ("ü" "" :string)
+ ("IJ" "" :string)
+ ("ij" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ("{" "" :string)
+ ("}" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/dutch/ij-as-y-utf8-lang.xdy b/Master/texmf/xindy/lang/dutch/ij-as-y-utf8-lang.xdy
new file mode 100644
index 00000000000..0241d23ca58
--- /dev/null
+++ b/Master/texmf/xindy/lang/dutch/ij-as-y-utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/dutch/ij-as-y-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("nl-alphabetize" "nl-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("nl-resolve-diacritics" "nl-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("nl-resolve-case" "nl-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("nl-resolve-special"))
diff --git a/Master/texmf/xindy/lang/dutch/ij-as-y-utf8-test.xdy b/Master/texmf/xindy/lang/dutch/ij-as-y-utf8-test.xdy
new file mode 100644
index 00000000000..2dbd0b92a1c
--- /dev/null
+++ b/Master/texmf/xindy/lang/dutch/ij-as-y-utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/dutch/ij-as-y-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("nl-alphabetize" "nl-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("nl-resolve-diacritics" "nl-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("nl-resolve-case" "nl-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("nl-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/lang/dutch/ij-as-y-utf8.xdy b/Master/texmf/xindy/lang/dutch/ij-as-y-utf8.xdy
new file mode 100644
index 00000000000..272e2b6a568
--- /dev/null
+++ b/Master/texmf/xindy/lang/dutch/ij-as-y-utf8.xdy
@@ -0,0 +1,332 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Dutch
+
+(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 "nl-alphabetize"
+
+ :rules (("Ä" "" :string)
+ ("ä" "" :string)
+ ("É" "" :string)
+ ("Ë" "" :string)
+ ("ë" "" :string)
+ ("é" "" :string)
+ ("Ï" "" :string)
+ ("ï" "" :string)
+ ("Ö" "" :string)
+ ("ö" "" :string)
+ ("ß" "" :string)
+ ("Ü" "" :string)
+ ("ü" "" :string)
+ ("IJ" "" :string)
+ ("ij" "" :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 "nl-resolve-diacritics"
+
+ :rules (("Ö" "" :string)
+ ("Ï" "" :string)
+ ("Ä" "" :string)
+ ("Ü" "" :string)
+ ("ï" "" :string)
+ ("ö" "" :string)
+ ("IJ" "" :string)
+ ("ij" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "nl-resolve-case"
+
+ :rules (("Ö" "8" :string)
+ ("É" "8" :string)
+ ("Ï" "8" :string)
+ ("Ä" "8" :string)
+ ("Ü" "8" :string)
+ ("IJ" "8" :string)
+ ("Ë" "8" :string)
+ ("ï" "9" :string)
+ ("ö" "9" :string)
+ ("ij" "9" :string)
+ ("ä" "9" :string)
+ ("ë" "9" :string)
+ ("é" "9" :string)
+ ("ü" "9" :string)
+ ("ß" "99" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "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 "nl-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("{" "" :string)
+ ("'" "" :string)
+ ("}" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "nl-resolve-special"
+
+ :rules (("Ö" "" :string)
+ ("É" "" :string)
+ ("Ï" "" :string)
+ ("Ä" "" :string)
+ ("Ü" "" :string)
+ ("ï" "" :string)
+ ("ö" "" :string)
+ ("IJ" "" :string)
+ ("ij" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ("{" "" :string)
+ ("}" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/english/cp1252-lang.xdy b/Master/texmf/xindy/lang/english/cp1252-lang.xdy
new file mode 100644
index 00000000000..429ce62bf57
--- /dev/null
+++ b/Master/texmf/xindy/lang/english/cp1252-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/english/cp1252.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("en-alphabetize" "en-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("en-resolve-diacritics" "en-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("en-resolve-case" "en-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("en-resolve-special"))
diff --git a/Master/texmf/xindy/lang/english/cp1252-test.xdy b/Master/texmf/xindy/lang/english/cp1252-test.xdy
new file mode 100644
index 00000000000..3bf77fb7d44
--- /dev/null
+++ b/Master/texmf/xindy/lang/english/cp1252-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/english/cp1252.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("en-alphabetize" "en-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("en-resolve-diacritics" "en-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("en-resolve-case" "en-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("en-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/lang/english/cp1252.xdy b/Master/texmf/xindy/lang/english/cp1252.xdy
new file mode 100644
index 00000000000..39ffc349e17
--- /dev/null
+++ b/Master/texmf/xindy/lang/english/cp1252.xdy
@@ -0,0 +1,385 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: English
+
+(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-letter-group "" :after "Z" :prefixes (""))
+
+(define-rule-set "en-alphabetize"
+
+ :rules (("" "" :string)
+ ("a" "" :string)
+ ("A" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("C" "" :string)
+ ("" "" :string)
+ ("c" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("I" "" :string)
+ ("i" "" :string)
+ ("J" "" :string)
+ ("j" "" :string)
+ ("K" "" :string)
+ ("k" "" :string)
+ ("L" "" :string)
+ ("l" "" :string)
+ ("M" "" :string)
+ ("m" "" :string)
+ ("" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("O" "" :string)
+ ("o" "" :string)
+ ("" "×" :string)
+ ("" "×" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "en-resolve-diacritics"
+
+ :rules (("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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :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 "en-resolve-case"
+
+ :rules (("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("" "89" :string)
+ ("" "89" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("" "9" :string)
+ ("g" "9" :string)
+ ("" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("" "9" :string)
+ ("v" "9" :string)
+ ("" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("r" "9" :string)
+ ("x" "9" :string)
+ ("" "9" :string)
+ ("h" "9" :string)
+ ("f" "9" :string)
+ ("" "9" :string)
+ ("i" "9" :string)
+ ("n" "9" :string)
+ ("" "9" :string)
+ ("m" "9" :string)
+ ("l" "9" :string)
+ ("p" "9" :string)
+ ("" "9" :string)
+ ("o" "9" :string)
+ ("" "99" :string)
+ ("" "99" :string)
+ ))
+
+(define-rule-set "en-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("{" "" :string)
+ ("'" "" :string)
+ ("}" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "en-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ("{" "" :string)
+ ("}" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/english/latin9-lang.xdy b/Master/texmf/xindy/lang/english/latin9-lang.xdy
new file mode 100644
index 00000000000..eb48dd5cd79
--- /dev/null
+++ b/Master/texmf/xindy/lang/english/latin9-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/english/latin9.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("en-alphabetize" "en-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("en-resolve-diacritics" "en-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("en-resolve-case" "en-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("en-resolve-special"))
diff --git a/Master/texmf/xindy/lang/english/latin9-test.xdy b/Master/texmf/xindy/lang/english/latin9-test.xdy
new file mode 100644
index 00000000000..c875c821bc9
--- /dev/null
+++ b/Master/texmf/xindy/lang/english/latin9-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/english/latin9.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("en-alphabetize" "en-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("en-resolve-diacritics" "en-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("en-resolve-case" "en-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("en-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/lang/english/latin9.xdy b/Master/texmf/xindy/lang/english/latin9.xdy
new file mode 100644
index 00000000000..9a923bfebb2
--- /dev/null
+++ b/Master/texmf/xindy/lang/english/latin9.xdy
@@ -0,0 +1,385 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: English
+
+(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-letter-group "" :after "Z" :prefixes (""))
+
+(define-rule-set "en-alphabetize"
+
+ :rules (("" "" :string)
+ ("a" "" :string)
+ ("A" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("C" "" :string)
+ ("" "" :string)
+ ("c" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("I" "" :string)
+ ("i" "" :string)
+ ("J" "" :string)
+ ("j" "" :string)
+ ("K" "" :string)
+ ("k" "" :string)
+ ("L" "" :string)
+ ("l" "" :string)
+ ("M" "" :string)
+ ("m" "" :string)
+ ("" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("O" "" :string)
+ ("o" "" :string)
+ ("" "×" :string)
+ ("" "×" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "en-resolve-diacritics"
+
+ :rules (("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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :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 "en-resolve-case"
+
+ :rules (("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("" "89" :string)
+ ("" "89" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("" "9" :string)
+ ("g" "9" :string)
+ ("" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("" "9" :string)
+ ("v" "9" :string)
+ ("" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("r" "9" :string)
+ ("x" "9" :string)
+ ("" "9" :string)
+ ("h" "9" :string)
+ ("f" "9" :string)
+ ("" "9" :string)
+ ("i" "9" :string)
+ ("n" "9" :string)
+ ("" "9" :string)
+ ("m" "9" :string)
+ ("l" "9" :string)
+ ("p" "9" :string)
+ ("" "9" :string)
+ ("o" "9" :string)
+ ("" "99" :string)
+ ("" "99" :string)
+ ))
+
+(define-rule-set "en-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("{" "" :string)
+ ("'" "" :string)
+ ("}" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "en-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ("{" "" :string)
+ ("}" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/english/utf8-lang.xdy b/Master/texmf/xindy/lang/english/utf8-lang.xdy
new file mode 100644
index 00000000000..d46c4f512e1
--- /dev/null
+++ b/Master/texmf/xindy/lang/english/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/english/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("en-alphabetize" "en-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("en-resolve-diacritics" "en-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("en-resolve-case" "en-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("en-resolve-special"))
diff --git a/Master/texmf/xindy/lang/english/utf8-test.xdy b/Master/texmf/xindy/lang/english/utf8-test.xdy
new file mode 100644
index 00000000000..40fee4f4f63
--- /dev/null
+++ b/Master/texmf/xindy/lang/english/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/english/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("en-alphabetize" "en-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("en-resolve-diacritics" "en-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("en-resolve-case" "en-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("en-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/lang/english/utf8.xdy b/Master/texmf/xindy/lang/english/utf8.xdy
new file mode 100644
index 00000000000..f81a3e235ab
--- /dev/null
+++ b/Master/texmf/xindy/lang/english/utf8.xdy
@@ -0,0 +1,403 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: English
+
+(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 "Ȝ" :after "Y" :prefixes (""))
+(define-letter-group "Z" :after "Ȝ" :prefixes (""))
+(define-letter-group "Þ" :after "Z" :prefixes (""))
+(define-letter-group "ƿ" :after "Þ" :prefixes (""))
+
+(define-rule-set "en-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)
+ ("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 "en-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)
+ ("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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "en-resolve-case"
+
+ :rules (("Ö" "8" :string)
+ ("Ñ" "8" :string)
+ ("Ô" "8" :string)
+ ("Ç" "8" :string)
+ ("É" "8" :string)
+ ("Ï" "8" :string)
+ ("Ê" "8" :string)
+ ("È" "8" :string)
+ ("Ë" "8" :string)
+ ("Ƿ" "8" :string)
+ ("À" "8" :string)
+ ("Þ" "8" :string)
+ ("Ȝ" "8" :string)
+ ("Ð" "8" :string)
+ ("Æ" "89" :string)
+ ("Œ" "89" :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)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "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 "en-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("{" "" :string)
+ ("'" "" :string)
+ ("}" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "en-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)
+ ("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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ("{" "" :string)
+ ("}" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/esperanto/latin3-lang.xdy b/Master/texmf/xindy/lang/esperanto/latin3-lang.xdy
new file mode 100644
index 00000000000..9c2f37a3e38
--- /dev/null
+++ b/Master/texmf/xindy/lang/esperanto/latin3-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/esperanto/latin3.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("eo-alphabetize" "eo-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("eo-resolve-diacritics" "eo-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("eo-resolve-case" "eo-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("eo-resolve-special"))
diff --git a/Master/texmf/xindy/lang/esperanto/latin3-test.xdy b/Master/texmf/xindy/lang/esperanto/latin3-test.xdy
new file mode 100644
index 00000000000..53aa94c38b1
--- /dev/null
+++ b/Master/texmf/xindy/lang/esperanto/latin3-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/esperanto/latin3.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("eo-alphabetize" "eo-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("eo-resolve-diacritics" "eo-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("eo-resolve-case" "eo-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("eo-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/lang/esperanto/latin3.xdy b/Master/texmf/xindy/lang/esperanto/latin3.xdy
new file mode 100644
index 00000000000..003dea41889
--- /dev/null
+++ b/Master/texmf/xindy/lang/esperanto/latin3.xdy
@@ -0,0 +1,326 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Esperanto
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "" :after "C" :prefixes (""))
+(define-letter-group "D" :after "" :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 "" :after "G" :prefixes (""))
+(define-letter-group "H" :after "" :prefixes (""))
+(define-letter-group "" :after "H" :prefixes (""))
+(define-letter-group "I" :after "" :prefixes (""))
+(define-letter-group "J" :after "I" :prefixes (""))
+(define-letter-group "" :after "J" :prefixes (""))
+(define-letter-group "K" :after "" :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 "" :after "S" :prefixes (""))
+(define-letter-group "T" :after "" :prefixes (""))
+(define-letter-group "U" :after "T" :prefixes (""))
+(define-letter-group "" :after "U" :prefixes (""))
+(define-letter-group "V" :after "" :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 "eo-alphabetize"
+
+ :rules (("a" "" :string)
+ ("A" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("C" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("E" "" :string)
+ ("e" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("I" "" :string)
+ ("i" "" :string)
+ ("J" "" :string)
+ ("j" "" :string)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :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 "eo-resolve-diacritics"
+
+ :rules (("S" "" :string)
+ ("" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "eo-resolve-case"
+
+ :rules (("S" "8" :string)
+ ("" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("" "8" :string)
+ ("Z" "8" :string)
+ ("" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("" "9" :string)
+ ("r" "9" :string)
+ ("" "9" :string)
+ ("x" "9" :string)
+ ("h" "9" :string)
+ ("f" "9" :string)
+ ("i" "9" :string)
+ ("n" "9" :string)
+ ("" "9" :string)
+ ("m" "9" :string)
+ ("l" "9" :string)
+ ("p" "9" :string)
+ ("o" "9" :string)
+ ("" "99" :string)
+ ))
+
+(define-rule-set "eo-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "eo-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/esperanto/utf8-lang.xdy b/Master/texmf/xindy/lang/esperanto/utf8-lang.xdy
new file mode 100644
index 00000000000..34c4d019bc8
--- /dev/null
+++ b/Master/texmf/xindy/lang/esperanto/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/esperanto/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("eo-alphabetize" "eo-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("eo-resolve-diacritics" "eo-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("eo-resolve-case" "eo-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("eo-resolve-special"))
diff --git a/Master/texmf/xindy/lang/esperanto/utf8-test.xdy b/Master/texmf/xindy/lang/esperanto/utf8-test.xdy
new file mode 100644
index 00000000000..87be50aca09
--- /dev/null
+++ b/Master/texmf/xindy/lang/esperanto/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/esperanto/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("eo-alphabetize" "eo-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("eo-resolve-diacritics" "eo-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("eo-resolve-case" "eo-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("eo-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/lang/esperanto/utf8.xdy b/Master/texmf/xindy/lang/esperanto/utf8.xdy
new file mode 100644
index 00000000000..985f93ea3c5
--- /dev/null
+++ b/Master/texmf/xindy/lang/esperanto/utf8.xdy
@@ -0,0 +1,326 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Esperanto
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "Ĉ" :after "C" :prefixes (""))
+(define-letter-group "D" :after "Ĉ" :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 "Ĝ" :after "G" :prefixes (""))
+(define-letter-group "H" :after "Ĝ" :prefixes (""))
+(define-letter-group "Ĥ" :after "H" :prefixes (""))
+(define-letter-group "I" :after "Ĥ" :prefixes (""))
+(define-letter-group "J" :after "I" :prefixes (""))
+(define-letter-group "Ĵ" :after "J" :prefixes (""))
+(define-letter-group "K" :after "Ĵ" :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 "Ŝ" :after "S" :prefixes (""))
+(define-letter-group "T" :after "Ŝ" :prefixes (""))
+(define-letter-group "U" :after "T" :prefixes (""))
+(define-letter-group "Ŭ" :after "U" :prefixes (""))
+(define-letter-group "V" :after "Ŭ" :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 "eo-alphabetize"
+
+ :rules (("Ĉ" "" :string)
+ ("ĉ" "" :string)
+ ("ĝ" "" :string)
+ ("Ĝ" "" :string)
+ ("ĥ" "" :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 "eo-resolve-diacritics"
+
+ :rules (("ĥ" "" :string)
+ ("ŝ" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "eo-resolve-case"
+
+ :rules (("Ĉ" "8" :string)
+ ("Ŝ" "8" :string)
+ ("Ĵ" "8" :string)
+ ("Ŭ" "8" :string)
+ ("Ĥ" "8" :string)
+ ("Ĝ" "8" :string)
+ ("ĥ" "9" :string)
+ ("ŝ" "9" :string)
+ ("ŭ" "9" :string)
+ ("ĝ" "9" :string)
+ ("ĉ" "9" :string)
+ ("ĵ" "9" :string)
+ ("ß" "99" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "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 "eo-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "eo-resolve-special"
+
+ :rules (("ĥ" "" :string)
+ ("ŝ" "" :string)
+ ("Ĉ" "" :string)
+ ("Ŝ" "" :string)
+ ("ŭ" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/estonian/cp1252-lang.xdy b/Master/texmf/xindy/lang/estonian/cp1252-lang.xdy
new file mode 100644
index 00000000000..233a4028e08
--- /dev/null
+++ b/Master/texmf/xindy/lang/estonian/cp1252-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/estonian/cp1252.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("et-alphabetize" "et-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("et-resolve-diacritics" "et-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("et-resolve-case" "et-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("et-resolve-special"))
diff --git a/Master/texmf/xindy/lang/estonian/cp1252-test.xdy b/Master/texmf/xindy/lang/estonian/cp1252-test.xdy
new file mode 100644
index 00000000000..81b0eec4b97
--- /dev/null
+++ b/Master/texmf/xindy/lang/estonian/cp1252-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/estonian/cp1252.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("et-alphabetize" "et-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("et-resolve-diacritics" "et-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("et-resolve-case" "et-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("et-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/lang/estonian/cp1252.xdy b/Master/texmf/xindy/lang/estonian/cp1252.xdy
new file mode 100644
index 00000000000..8666bb0138f
--- /dev/null
+++ b/Master/texmf/xindy/lang/estonian/cp1252.xdy
@@ -0,0 +1,321 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Estonian
+
+(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 "" :after "S" :prefixes (""))
+(define-letter-group "Z" :after "" :prefixes (""))
+(define-letter-group "" :after "Z" :prefixes (""))
+(define-letter-group "T" :after "" :prefixes (""))
+(define-letter-group "U" :after "T" :prefixes (""))
+(define-letter-group "V" :after "U" :prefixes (""))
+(define-letter-group "" :after "V" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "X" :after "" :prefixes (""))
+(define-letter-group "Y" :after "X" :prefixes (""))
+
+(define-rule-set "et-alphabetize"
+
+ :rules (("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)
+ ("" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("u" "" :string)
+ ("U" "" :string)
+ ("w" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("x" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ))
+
+(define-rule-set "et-resolve-diacritics"
+
+ :rules (("S" "" :string)
+ ("" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("w" "" :string)
+ ("W" "" :string)
+ ))
+
+(define-rule-set "et-resolve-case"
+
+ :rules (("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("R" "8" :string)
+ ("" "9" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("r" "9" :string)
+ ("" "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)
+ ))
+
+(define-rule-set "et-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "et-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/estonian/latin9-lang.xdy b/Master/texmf/xindy/lang/estonian/latin9-lang.xdy
new file mode 100644
index 00000000000..905b72f6fa5
--- /dev/null
+++ b/Master/texmf/xindy/lang/estonian/latin9-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/estonian/latin9.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("et-alphabetize" "et-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("et-resolve-diacritics" "et-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("et-resolve-case" "et-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("et-resolve-special"))
diff --git a/Master/texmf/xindy/lang/estonian/latin9-test.xdy b/Master/texmf/xindy/lang/estonian/latin9-test.xdy
new file mode 100644
index 00000000000..2b75b33d169
--- /dev/null
+++ b/Master/texmf/xindy/lang/estonian/latin9-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/estonian/latin9.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("et-alphabetize" "et-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("et-resolve-diacritics" "et-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("et-resolve-case" "et-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("et-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/lang/estonian/latin9.xdy b/Master/texmf/xindy/lang/estonian/latin9.xdy
new file mode 100644
index 00000000000..ef5fe5b9180
--- /dev/null
+++ b/Master/texmf/xindy/lang/estonian/latin9.xdy
@@ -0,0 +1,321 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Estonian
+
+(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 "" :after "S" :prefixes (""))
+(define-letter-group "Z" :after "" :prefixes (""))
+(define-letter-group "" :after "Z" :prefixes (""))
+(define-letter-group "T" :after "" :prefixes (""))
+(define-letter-group "U" :after "T" :prefixes (""))
+(define-letter-group "V" :after "U" :prefixes (""))
+(define-letter-group "" :after "V" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "X" :after "" :prefixes (""))
+(define-letter-group "Y" :after "X" :prefixes (""))
+
+(define-rule-set "et-alphabetize"
+
+ :rules (("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)
+ ("" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("u" "" :string)
+ ("U" "" :string)
+ ("w" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("x" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ))
+
+(define-rule-set "et-resolve-diacritics"
+
+ :rules (("S" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("K" "" :string)
+ ("" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("J" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("w" "" :string)
+ ("W" "" :string)
+ ))
+
+(define-rule-set "et-resolve-case"
+
+ :rules (("S" "8" :string)
+ ("" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("R" "8" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "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)
+ ))
+
+(define-rule-set "et-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "et-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("K" "" :string)
+ ("" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("J" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/estonian/utf8-lang.xdy b/Master/texmf/xindy/lang/estonian/utf8-lang.xdy
new file mode 100644
index 00000000000..535d6731705
--- /dev/null
+++ b/Master/texmf/xindy/lang/estonian/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/estonian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("et-alphabetize" "et-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("et-resolve-diacritics" "et-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("et-resolve-case" "et-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("et-resolve-special"))
diff --git a/Master/texmf/xindy/lang/estonian/utf8-test.xdy b/Master/texmf/xindy/lang/estonian/utf8-test.xdy
new file mode 100644
index 00000000000..356e611a0a1
--- /dev/null
+++ b/Master/texmf/xindy/lang/estonian/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/estonian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("et-alphabetize" "et-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("et-resolve-diacritics" "et-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("et-resolve-case" "et-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("et-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/lang/estonian/utf8.xdy b/Master/texmf/xindy/lang/estonian/utf8.xdy
new file mode 100644
index 00000000000..a10579ecc45
--- /dev/null
+++ b/Master/texmf/xindy/lang/estonian/utf8.xdy
@@ -0,0 +1,321 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Estonian
+
+(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 "Š" :after "S" :prefixes (""))
+(define-letter-group "Z" :after "Š" :prefixes (""))
+(define-letter-group "Ž" :after "Z" :prefixes (""))
+(define-letter-group "T" :after "Ž" :prefixes (""))
+(define-letter-group "U" :after "T" :prefixes (""))
+(define-letter-group "V" :after "U" :prefixes (""))
+(define-letter-group "Õ" :after "V" :prefixes (""))
+(define-letter-group "Ä" :after "Õ" :prefixes (""))
+(define-letter-group "Ö" :after "Ä" :prefixes (""))
+(define-letter-group "Ü" :after "Ö" :prefixes (""))
+(define-letter-group "X" :after "Ü" :prefixes (""))
+(define-letter-group "Y" :after "X" :prefixes (""))
+
+(define-rule-set "et-alphabetize"
+
+ :rules (("Š" "" :string)
+ ("š" "" :string)
+ ("Ž" "" :string)
+ ("ž" "" :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)
+ ("z" "" :string)
+ ("Z" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("u" "" :string)
+ ("U" "" :string)
+ ("w" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("X" "" :string)
+ ("x" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ))
+
+(define-rule-set "et-resolve-diacritics"
+
+ :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)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("w" "" :string)
+ ("W" "" :string)
+ ))
+
+(define-rule-set "et-resolve-case"
+
+ :rules (("Ö" "8" :string)
+ ("Ž" "8" :string)
+ ("Ä" "8" :string)
+ ("Ü" "8" :string)
+ ("Õ" "8" :string)
+ ("Š" "8" :string)
+ ("ö" "9" :string)
+ ("ä" "9" :string)
+ ("š" "9" :string)
+ ("õ" "9" :string)
+ ("ü" "9" :string)
+ ("ž" "9" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "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 "et-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "et-resolve-special"
+
+ :rules (("Ö" "" :string)
+ ("Ž" "" :string)
+ ("Ä" "" :string)
+ ("Ü" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/finnish/cp1252-lang.xdy b/Master/texmf/xindy/lang/finnish/cp1252-lang.xdy
new file mode 100644
index 00000000000..1147e97b570
--- /dev/null
+++ b/Master/texmf/xindy/lang/finnish/cp1252-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/finnish/cp1252.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("fi-alphabetize" "fi-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("fi-resolve-diacritics" "fi-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("fi-resolve-case" "fi-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("fi-resolve-special"))
diff --git a/Master/texmf/xindy/lang/finnish/cp1252-test.xdy b/Master/texmf/xindy/lang/finnish/cp1252-test.xdy
new file mode 100644
index 00000000000..941f6e56118
--- /dev/null
+++ b/Master/texmf/xindy/lang/finnish/cp1252-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/finnish/cp1252.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("fi-alphabetize" "fi-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("fi-resolve-diacritics" "fi-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("fi-resolve-case" "fi-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("fi-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/lang/finnish/cp1252.xdy b/Master/texmf/xindy/lang/finnish/cp1252.xdy
new file mode 100644
index 00000000000..3483bd40346
--- /dev/null
+++ b/Master/texmf/xindy/lang/finnish/cp1252.xdy
@@ -0,0 +1,358 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Finnish
+
+(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 "X" :after "V" :prefixes (""))
+(define-letter-group "Y" :after "X" :prefixes (""))
+(define-letter-group "Z" :after "Y" :prefixes (""))
+(define-letter-group "" :after "Z" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+
+(define-rule-set "fi-alphabetize"
+
+ :rules (("a" "" :string)
+ ("A" "" :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)
+ ("P" "" :string)
+ ("p" "" :string)
+ ("q" "" :string)
+ ("Q" "" :string)
+ ("r" "" :string)
+ ("R" "" :string)
+ ("S" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("u" "" :string)
+ ("U" "" :string)
+ ("w" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("X" "" :string)
+ ("x" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "fi-resolve-diacritics"
+
+ :rules (("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)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("W" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "fi-resolve-case"
+
+ :rules (("" "0" :string)
+ ("d" "0" :string)
+ ("y" "0" :string)
+ ("g" "0" :string)
+ ("e" "0" :string)
+ ("q" "0" :string)
+ ("b" "0" :string)
+ ("z" "0" :string)
+ ("w" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("a" "0" :string)
+ ("j" "0" :string)
+ ("" "0" :string)
+ ("u" "0" :string)
+ ("k" "0" :string)
+ ("" "0" :string)
+ ("t" "0" :string)
+ ("v" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("s" "0" :string)
+ ("c" "0" :string)
+ ("r" "0" :string)
+ ("" "0" :string)
+ ("x" "0" :string)
+ ("" "0" :string)
+ ("h" "0" :string)
+ ("f" "0" :string)
+ ("" "0" :string)
+ ("i" "0" :string)
+ ("n" "0" :string)
+ ("m" "0" :string)
+ ("l" "0" :string)
+ ("p" "0" :string)
+ ("o" "0" :string)
+ ("" "00" :string)
+ ("S" "1" :string)
+ ("K" "1" :string)
+ ("Y" "1" :string)
+ ("E" "1" :string)
+ ("" "1" :string)
+ ("J" "1" :string)
+ ("D" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("Q" "1" :string)
+ ("M" "1" :string)
+ ("C" "1" :string)
+ ("L" "1" :string)
+ ("X" "1" :string)
+ ("P" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("T" "1" :string)
+ ("N" "1" :string)
+ ("Z" "1" :string)
+ ("W" "1" :string)
+ ("B" "1" :string)
+ ("H" "1" :string)
+ ("I" "1" :string)
+ ("G" "1" :string)
+ ("U" "1" :string)
+ ("F" "1" :string)
+ ("V" "1" :string)
+ ("" "1" :string)
+ ("A" "1" :string)
+ ("O" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("R" "1" :string)
+ ))
+
+(define-rule-set "fi-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("{" "" :string)
+ ("'" "" :string)
+ ("}" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "fi-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ("{" "" :string)
+ ("}" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/finnish/latin9-lang.xdy b/Master/texmf/xindy/lang/finnish/latin9-lang.xdy
new file mode 100644
index 00000000000..0ed86924f0f
--- /dev/null
+++ b/Master/texmf/xindy/lang/finnish/latin9-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/finnish/latin9.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("fi-alphabetize" "fi-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("fi-resolve-diacritics" "fi-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("fi-resolve-case" "fi-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("fi-resolve-special"))
diff --git a/Master/texmf/xindy/lang/finnish/latin9-test.xdy b/Master/texmf/xindy/lang/finnish/latin9-test.xdy
new file mode 100644
index 00000000000..4698138b067
--- /dev/null
+++ b/Master/texmf/xindy/lang/finnish/latin9-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/finnish/latin9.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("fi-alphabetize" "fi-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("fi-resolve-diacritics" "fi-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("fi-resolve-case" "fi-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("fi-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/lang/finnish/latin9.xdy b/Master/texmf/xindy/lang/finnish/latin9.xdy
new file mode 100644
index 00000000000..dd8e9924fd4
--- /dev/null
+++ b/Master/texmf/xindy/lang/finnish/latin9.xdy
@@ -0,0 +1,358 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Finnish
+
+(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 "X" :after "V" :prefixes (""))
+(define-letter-group "Y" :after "X" :prefixes (""))
+(define-letter-group "Z" :after "Y" :prefixes (""))
+(define-letter-group "" :after "Z" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+
+(define-rule-set "fi-alphabetize"
+
+ :rules (("a" "" :string)
+ ("A" "" :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)
+ ("P" "" :string)
+ ("p" "" :string)
+ ("q" "" :string)
+ ("Q" "" :string)
+ ("r" "" :string)
+ ("R" "" :string)
+ ("S" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("u" "" :string)
+ ("U" "" :string)
+ ("w" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("X" "" :string)
+ ("x" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "fi-resolve-diacritics"
+
+ :rules (("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)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("W" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "fi-resolve-case"
+
+ :rules (("" "0" :string)
+ ("" "0" :string)
+ ("d" "0" :string)
+ ("y" "0" :string)
+ ("g" "0" :string)
+ ("e" "0" :string)
+ ("q" "0" :string)
+ ("b" "0" :string)
+ ("z" "0" :string)
+ ("w" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("a" "0" :string)
+ ("j" "0" :string)
+ ("" "0" :string)
+ ("u" "0" :string)
+ ("k" "0" :string)
+ ("" "0" :string)
+ ("t" "0" :string)
+ ("v" "0" :string)
+ ("" "0" :string)
+ ("s" "0" :string)
+ ("c" "0" :string)
+ ("r" "0" :string)
+ ("x" "0" :string)
+ ("" "0" :string)
+ ("h" "0" :string)
+ ("f" "0" :string)
+ ("" "0" :string)
+ ("i" "0" :string)
+ ("n" "0" :string)
+ ("m" "0" :string)
+ ("l" "0" :string)
+ ("p" "0" :string)
+ ("o" "0" :string)
+ ("" "00" :string)
+ ("S" "1" :string)
+ ("" "1" :string)
+ ("K" "1" :string)
+ ("Y" "1" :string)
+ ("E" "1" :string)
+ ("" "1" :string)
+ ("J" "1" :string)
+ ("D" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("Q" "1" :string)
+ ("M" "1" :string)
+ ("C" "1" :string)
+ ("L" "1" :string)
+ ("X" "1" :string)
+ ("P" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("T" "1" :string)
+ ("N" "1" :string)
+ ("Z" "1" :string)
+ ("W" "1" :string)
+ ("B" "1" :string)
+ ("H" "1" :string)
+ ("I" "1" :string)
+ ("G" "1" :string)
+ ("U" "1" :string)
+ ("F" "1" :string)
+ ("V" "1" :string)
+ ("" "1" :string)
+ ("A" "1" :string)
+ ("O" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("R" "1" :string)
+ ))
+
+(define-rule-set "fi-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("{" "" :string)
+ ("'" "" :string)
+ ("}" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "fi-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("K" "" :string)
+ ("" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("J" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ("{" "" :string)
+ ("}" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/finnish/utf8-lang.xdy b/Master/texmf/xindy/lang/finnish/utf8-lang.xdy
new file mode 100644
index 00000000000..75bde5ff996
--- /dev/null
+++ b/Master/texmf/xindy/lang/finnish/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/finnish/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("fi-alphabetize" "fi-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("fi-resolve-diacritics" "fi-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("fi-resolve-case" "fi-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("fi-resolve-special"))
diff --git a/Master/texmf/xindy/lang/finnish/utf8-test.xdy b/Master/texmf/xindy/lang/finnish/utf8-test.xdy
new file mode 100644
index 00000000000..3e82a6f0427
--- /dev/null
+++ b/Master/texmf/xindy/lang/finnish/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/finnish/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("fi-alphabetize" "fi-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("fi-resolve-diacritics" "fi-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("fi-resolve-case" "fi-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("fi-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/lang/finnish/utf8.xdy b/Master/texmf/xindy/lang/finnish/utf8.xdy
new file mode 100644
index 00000000000..08e00fa4ddf
--- /dev/null
+++ b/Master/texmf/xindy/lang/finnish/utf8.xdy
@@ -0,0 +1,358 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Finnish
+
+(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 "X" :after "V" :prefixes (""))
+(define-letter-group "Y" :after "X" :prefixes (""))
+(define-letter-group "Z" :after "Y" :prefixes (""))
+(define-letter-group "Å" :after "Z" :prefixes (""))
+(define-letter-group "Ä" :after "Å" :prefixes (""))
+(define-letter-group "Ö" :after "Ä" :prefixes (""))
+
+(define-rule-set "fi-alphabetize"
+
+ :rules (("É" "" :string)
+ ("é" "" :string)
+ ("Š" "" :string)
+ ("š" "" :string)
+ ("ß" "" :string)
+ ("Ü" "" :string)
+ ("ü" "" :string)
+ ("Ž" "" :string)
+ ("ž" "" :string)
+ ("Å" "" :string)
+ ("å" "" :string)
+ ("Ä" "" :string)
+ ("Æ" "" :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)
+ ("w" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("X" "" :string)
+ ("x" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("z" "" :string)
+ ("Z" "" :string)
+ ))
+
+(define-rule-set "fi-resolve-diacritics"
+
+ :rules (("Ö" "" :string)
+ ("Ä" "" :string)
+ ("Å" "" :string)
+ ("ö" "" :string)
+ ("ä" "" :string)
+ ("å" "" :string)
+ ("Ž" "" :string)
+ ("É" "" :string)
+ ("ø" "" :string)
+ ("Ü" "" :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)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("w" "" :string)
+ ("W" "" :string)
+ ))
+
+(define-rule-set "fi-resolve-case"
+
+ :rules (("ø" "0" :string)
+ ("ö" "0" :string)
+ ("ä" "0" :string)
+ ("š" "0" :string)
+ ("å" "0" :string)
+ ("æ" "0" :string)
+ ("õ" "0" :string)
+ ("é" "0" :string)
+ ("ü" "0" :string)
+ ("ž" "0" :string)
+ ("ß" "00" :string)
+ ("Ö" "1" :string)
+ ("Ž" "1" :string)
+ ("É" "1" :string)
+ ("Ä" "1" :string)
+ ("Ü" "1" :string)
+ ("Æ" "1" :string)
+ ("Õ" "1" :string)
+ ("Å" "1" :string)
+ ("Š" "1" :string)
+ ("Ø" "1" :string)
+ ("d" "0" :string)
+ ("y" "0" :string)
+ ("g" "0" :string)
+ ("e" "0" :string)
+ ("q" "0" :string)
+ ("b" "0" :string)
+ ("z" "0" :string)
+ ("w" "0" :string)
+ ("a" "0" :string)
+ ("j" "0" :string)
+ ("u" "0" :string)
+ ("k" "0" :string)
+ ("t" "0" :string)
+ ("v" "0" :string)
+ ("s" "0" :string)
+ ("c" "0" :string)
+ ("r" "0" :string)
+ ("x" "0" :string)
+ ("h" "0" :string)
+ ("f" "0" :string)
+ ("i" "0" :string)
+ ("n" "0" :string)
+ ("m" "0" :string)
+ ("l" "0" :string)
+ ("p" "0" :string)
+ ("o" "0" :string)
+ ("S" "1" :string)
+ ("K" "1" :string)
+ ("Y" "1" :string)
+ ("E" "1" :string)
+ ("J" "1" :string)
+ ("D" "1" :string)
+ ("Q" "1" :string)
+ ("M" "1" :string)
+ ("C" "1" :string)
+ ("L" "1" :string)
+ ("X" "1" :string)
+ ("P" "1" :string)
+ ("T" "1" :string)
+ ("N" "1" :string)
+ ("Z" "1" :string)
+ ("W" "1" :string)
+ ("B" "1" :string)
+ ("H" "1" :string)
+ ("I" "1" :string)
+ ("G" "1" :string)
+ ("U" "1" :string)
+ ("F" "1" :string)
+ ("V" "1" :string)
+ ("A" "1" :string)
+ ("O" "1" :string)
+ ("R" "1" :string)
+ ))
+
+(define-rule-set "fi-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("{" "" :string)
+ ("'" "" :string)
+ ("}" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "fi-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)
+ ("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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ("{" "" :string)
+ ("}" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/french/cp1252-lang.xdy b/Master/texmf/xindy/lang/french/cp1252-lang.xdy
new file mode 100644
index 00000000000..f9cf0e0b3b3
--- /dev/null
+++ b/Master/texmf/xindy/lang/french/cp1252-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/french/cp1252.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("fr-alphabetize" "fr-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("fr-resolve-diacritics" "fr-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("fr-resolve-case" "fr-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("fr-resolve-special"))
diff --git a/Master/texmf/xindy/lang/french/cp1252-test.xdy b/Master/texmf/xindy/lang/french/cp1252-test.xdy
new file mode 100644
index 00000000000..f3ee76449b8
--- /dev/null
+++ b/Master/texmf/xindy/lang/french/cp1252-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/french/cp1252.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("fr-alphabetize" "fr-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("fr-resolve-diacritics" "fr-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("fr-resolve-case" "fr-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("fr-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/lang/french/cp1252.xdy b/Master/texmf/xindy/lang/french/cp1252.xdy
new file mode 100644
index 00000000000..5d06f4b33fe
--- /dev/null
+++ b/Master/texmf/xindy/lang/french/cp1252.xdy
@@ -0,0 +1,420 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: French
+
+(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 "fr-alphabetize"
+
+ :rules (("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("" "" :string)
+ ("A" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("C" "" :string)
+ ("" "" :string)
+ ("c" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("E" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("I" "" :string)
+ ("i" "" :string)
+ ("J" "" :string)
+ ("j" "" :string)
+ ("K" "" :string)
+ ("k" "" :string)
+ ("L" "" :string)
+ ("l" "" :string)
+ ("M" "" :string)
+ ("m" "" :string)
+ ("" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("O" "" :string)
+ ("o" "" :string)
+ ("" "×" :string)
+ ("" "×" :string)
+ ("P" "" :string)
+ ("p" "" :string)
+ ("q" "" :string)
+ ("Q" "" :string)
+ ("r" "" :string)
+ ("R" "" :string)
+ ("S" "" :string)
+ ("s" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("w" "" :string)
+ ("W" "" :string)
+ ("X" "" :string)
+ ("x" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("Z" "" :string)
+ ))
+
+(define-rule-set "fr-resolve-diacritics"
+
+ :rules (("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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :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)
+ ))
+
+(define-rule-set "fr-resolve-case"
+
+ :rules (("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("" "8" :string)
+ ("F" "8" :string)
+ ("" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("" "8" :string)
+ ("R" "8" :string)
+ ("" "89" :string)
+ ("" "89" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("" "9" :string)
+ ("g" "9" :string)
+ ("" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("" "9" :string)
+ ("t" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("v" "9" :string)
+ ("" "9" :string)
+ ("s" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("c" "9" :string)
+ ("r" "9" :string)
+ ("x" "9" :string)
+ ("" "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)
+ ("" "9" :string)
+ ("o" "9" :string)
+ ("" "99" :string)
+ ("" "99" :string)
+ ))
+
+(define-rule-set "fr-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "fr-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("J" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/french/latin9-lang.xdy b/Master/texmf/xindy/lang/french/latin9-lang.xdy
new file mode 100644
index 00000000000..db71375f37a
--- /dev/null
+++ b/Master/texmf/xindy/lang/french/latin9-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/french/latin9.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("fr-alphabetize" "fr-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("fr-resolve-diacritics" "fr-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("fr-resolve-case" "fr-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("fr-resolve-special"))
diff --git a/Master/texmf/xindy/lang/french/latin9-test.xdy b/Master/texmf/xindy/lang/french/latin9-test.xdy
new file mode 100644
index 00000000000..226f096468f
--- /dev/null
+++ b/Master/texmf/xindy/lang/french/latin9-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/french/latin9.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("fr-alphabetize" "fr-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("fr-resolve-diacritics" "fr-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("fr-resolve-case" "fr-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("fr-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/lang/french/latin9.xdy b/Master/texmf/xindy/lang/french/latin9.xdy
new file mode 100644
index 00000000000..81ae6881d0c
--- /dev/null
+++ b/Master/texmf/xindy/lang/french/latin9.xdy
@@ -0,0 +1,420 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: French
+
+(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 "fr-alphabetize"
+
+ :rules (("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("" "" :string)
+ ("A" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("C" "" :string)
+ ("" "" :string)
+ ("c" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("E" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("I" "" :string)
+ ("i" "" :string)
+ ("J" "" :string)
+ ("j" "" :string)
+ ("K" "" :string)
+ ("k" "" :string)
+ ("L" "" :string)
+ ("l" "" :string)
+ ("M" "" :string)
+ ("m" "" :string)
+ ("" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("O" "" :string)
+ ("o" "" :string)
+ ("" "×" :string)
+ ("" "×" :string)
+ ("P" "" :string)
+ ("p" "" :string)
+ ("q" "" :string)
+ ("Q" "" :string)
+ ("r" "" :string)
+ ("R" "" :string)
+ ("S" "" :string)
+ ("s" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("w" "" :string)
+ ("W" "" :string)
+ ("X" "" :string)
+ ("x" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("Z" "" :string)
+ ))
+
+(define-rule-set "fr-resolve-diacritics"
+
+ :rules (("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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :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)
+ ))
+
+(define-rule-set "fr-resolve-case"
+
+ :rules (("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("" "8" :string)
+ ("F" "8" :string)
+ ("" "8" :string)
+ ("V" "8" :string)
+ ("" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("" "8" :string)
+ ("R" "8" :string)
+ ("" "89" :string)
+ ("" "89" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("" "9" :string)
+ ("g" "9" :string)
+ ("" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("" "9" :string)
+ ("t" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("v" "9" :string)
+ ("" "9" :string)
+ ("s" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("c" "9" :string)
+ ("r" "9" :string)
+ ("x" "9" :string)
+ ("" "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)
+ ("" "9" :string)
+ ("o" "9" :string)
+ ("" "99" :string)
+ ("" "99" :string)
+ ))
+
+(define-rule-set "fr-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "fr-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/french/utf8-lang.xdy b/Master/texmf/xindy/lang/french/utf8-lang.xdy
new file mode 100644
index 00000000000..7c0ea355309
--- /dev/null
+++ b/Master/texmf/xindy/lang/french/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/french/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("fr-alphabetize" "fr-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("fr-resolve-diacritics" "fr-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("fr-resolve-case" "fr-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("fr-resolve-special"))
diff --git a/Master/texmf/xindy/lang/french/utf8-test.xdy b/Master/texmf/xindy/lang/french/utf8-test.xdy
new file mode 100644
index 00000000000..2f874ddcdbb
--- /dev/null
+++ b/Master/texmf/xindy/lang/french/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/french/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("fr-alphabetize" "fr-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("fr-resolve-diacritics" "fr-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("fr-resolve-case" "fr-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("fr-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/lang/french/utf8.xdy b/Master/texmf/xindy/lang/french/utf8.xdy
new file mode 100644
index 00000000000..65a15d7f882
--- /dev/null
+++ b/Master/texmf/xindy/lang/french/utf8.xdy
@@ -0,0 +1,420 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: French
+
+(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 "fr-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)
+ ("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 "fr-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)
+ ("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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "fr-resolve-case"
+
+ :rules (("Ö" "8" :string)
+ ("Î" "8" :string)
+ ("Â" "8" :string)
+ ("Ñ" "8" :string)
+ ("Ô" "8" :string)
+ ("Û" "8" :string)
+ ("Ç" "8" :string)
+ ("É" "8" :string)
+ ("Ï" "8" :string)
+ ("Ä" "8" :string)
+ ("Ü" "8" :string)
+ ("Ê" "8" :string)
+ ("Ù" "8" :string)
+ ("È" "8" :string)
+ ("Ÿ" "8" :string)
+ ("Ë" "8" :string)
+ ("À" "8" :string)
+ ("Æ" "89" :string)
+ ("Œ" "89" :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)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "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 "fr-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "fr-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)
+ ("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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/general/cp1252-lang.xdy b/Master/texmf/xindy/lang/general/cp1252-lang.xdy
new file mode 100644
index 00000000000..8c6da52c4c7
--- /dev/null
+++ b/Master/texmf/xindy/lang/general/cp1252-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/general/cp1252.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("xy-alphabetize" "xy-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("xy-resolve-diacritics" "xy-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("xy-resolve-case" "xy-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("xy-resolve-special"))
diff --git a/Master/texmf/xindy/lang/general/cp1252-test.xdy b/Master/texmf/xindy/lang/general/cp1252-test.xdy
new file mode 100644
index 00000000000..243eca35d9f
--- /dev/null
+++ b/Master/texmf/xindy/lang/general/cp1252-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/general/cp1252.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("xy-alphabetize" "xy-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("xy-resolve-diacritics" "xy-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("xy-resolve-case" "xy-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("xy-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/lang/general/cp1252.xdy b/Master/texmf/xindy/lang/general/cp1252.xdy
new file mode 100644
index 00000000000..c47afe2aaa1
--- /dev/null
+++ b/Master/texmf/xindy/lang/general/cp1252.xdy
@@ -0,0 +1,528 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: A general sorting order for Western European languages
+
+(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 "xy-alphabetize"
+
+ :rules (("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("A" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("C" "" :string)
+ ("" "" :string)
+ ("c" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("E" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("I" "" :string)
+ ("i" "" :string)
+ ("J" "" :string)
+ ("j" "" :string)
+ ("K" "" :string)
+ ("k" "" :string)
+ ("L" "" :string)
+ ("l" "" :string)
+ ("M" "" :string)
+ ("m" "" :string)
+ ("" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("O" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "×" :string)
+ ("" "×" :string)
+ ("P" "" :string)
+ ("p" "" :string)
+ ("q" "" :string)
+ ("Q" "" :string)
+ ("r" "" :string)
+ ("R" "" :string)
+ ("S" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("w" "" :string)
+ ("W" "" :string)
+ ("X" "" :string)
+ ("x" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "xy-resolve-diacritics"
+
+ :rules (("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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "xy-resolve-case"
+
+ :rules (("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("" "8" :string)
+ ("F" "8" :string)
+ ("" "8" :string)
+ ("V" "8" :string)
+ ("" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("R" "8" :string)
+ ("" "89" :string)
+ ("" "89" :string)
+ ("" "9" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("" "9" :string)
+ ("g" "9" :string)
+ ("" "9" :string)
+ ("e" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("" "9" :string)
+ ("z" "9" :string)
+ ("" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("" "9" :string)
+ ("j" "9" :string)
+ ("" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("" "9" :string)
+ ("t" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("v" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("s" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("c" "9" :string)
+ ("r" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("x" "9" :string)
+ ("" "9" :string)
+ ("" "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)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("o" "9" :string)
+ ("" "99" :string)
+ ("" "99" :string)
+ ("" "99" :string)
+ ))
+
+(define-rule-set "xy-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "xy-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/general/cp850-lang.xdy b/Master/texmf/xindy/lang/general/cp850-lang.xdy
new file mode 100644
index 00000000000..212063c3668
--- /dev/null
+++ b/Master/texmf/xindy/lang/general/cp850-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/general/cp850.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("xy-alphabetize" "xy-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("xy-resolve-diacritics" "xy-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("xy-resolve-case" "xy-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("xy-resolve-special"))
diff --git a/Master/texmf/xindy/lang/general/cp850-test.xdy b/Master/texmf/xindy/lang/general/cp850-test.xdy
new file mode 100644
index 00000000000..38a1a0e5ef5
--- /dev/null
+++ b/Master/texmf/xindy/lang/general/cp850-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/general/cp850.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("xy-alphabetize" "xy-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("xy-resolve-diacritics" "xy-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("xy-resolve-case" "xy-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("xy-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/lang/general/cp850.xdy b/Master/texmf/xindy/lang/general/cp850.xdy
new file mode 100644
index 00000000000..87d39050d7a
--- /dev/null
+++ b/Master/texmf/xindy/lang/general/cp850.xdy
@@ -0,0 +1,500 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: A general sorting order for Western European languages
+
+(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 "xy-alphabetize"
+
+ :rules (("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("A" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("C" "" :string)
+ ("" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("I" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("" "" :string)
+ ("J" "" :string)
+ ("j" "" :string)
+ ("K" "" :string)
+ ("k" "" :string)
+ ("L" "" :string)
+ ("l" "" :string)
+ ("M" "" :string)
+ ("m" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("O" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("w" "" :string)
+ ("W" "" :string)
+ ("X" "" :string)
+ ("x" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("Z" "" :string)
+ ))
+
+(define-rule-set "xy-resolve-diacritics"
+
+ :rules (("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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "xy-resolve-case"
+
+ :rules (("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("" "8" :string)
+ ("Z" "8" :string)
+ ("" "8" :string)
+ ("W" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("B" "8" :string)
+ ("" "8" :string)
+ ("H" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("I" "8" :string)
+ ("" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("" "8" :string)
+ ("R" "8" :string)
+ ("" "8" :string)
+ ("" "89" :string)
+ ("" "9" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("" "9" :string)
+ ("g" "9" :string)
+ ("" "9" :string)
+ ("e" "9" :string)
+ ("" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("t" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("c" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("r" "9" :string)
+ ("x" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("h" "9" :string)
+ ("f" "9" :string)
+ ("i" "9" :string)
+ ("" "9" :string)
+ ("n" "9" :string)
+ ("m" "9" :string)
+ ("" "9" :string)
+ ("l" "9" :string)
+ ("p" "9" :string)
+ ("" "9" :string)
+ ("o" "9" :string)
+ ("" "99" :string)
+ ("" "99" :string)
+ ))
+
+(define-rule-set "xy-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "xy-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("" "" :string)
+ ("C" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("I" "" :string)
+ ("" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/general/latin9-lang.xdy b/Master/texmf/xindy/lang/general/latin9-lang.xdy
new file mode 100644
index 00000000000..4c69a208f01
--- /dev/null
+++ b/Master/texmf/xindy/lang/general/latin9-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/general/latin9.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("xy-alphabetize" "xy-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("xy-resolve-diacritics" "xy-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("xy-resolve-case" "xy-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("xy-resolve-special"))
diff --git a/Master/texmf/xindy/lang/general/latin9-test.xdy b/Master/texmf/xindy/lang/general/latin9-test.xdy
new file mode 100644
index 00000000000..057018eac6e
--- /dev/null
+++ b/Master/texmf/xindy/lang/general/latin9-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/general/latin9.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("xy-alphabetize" "xy-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("xy-resolve-diacritics" "xy-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("xy-resolve-case" "xy-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("xy-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/lang/general/latin9.xdy b/Master/texmf/xindy/lang/general/latin9.xdy
new file mode 100644
index 00000000000..8c7be5a0559
--- /dev/null
+++ b/Master/texmf/xindy/lang/general/latin9.xdy
@@ -0,0 +1,528 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: A general sorting order for Western European languages
+
+(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 "xy-alphabetize"
+
+ :rules (("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("A" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("C" "" :string)
+ ("" "" :string)
+ ("c" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("E" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("I" "" :string)
+ ("i" "" :string)
+ ("J" "" :string)
+ ("j" "" :string)
+ ("K" "" :string)
+ ("k" "" :string)
+ ("L" "" :string)
+ ("l" "" :string)
+ ("M" "" :string)
+ ("m" "" :string)
+ ("" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("O" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "×" :string)
+ ("" "×" :string)
+ ("P" "" :string)
+ ("p" "" :string)
+ ("q" "" :string)
+ ("Q" "" :string)
+ ("r" "" :string)
+ ("R" "" :string)
+ ("S" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("w" "" :string)
+ ("W" "" :string)
+ ("X" "" :string)
+ ("x" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("" "" :string)
+ ("Z" "" :string)
+ ))
+
+(define-rule-set "xy-resolve-diacritics"
+
+ :rules (("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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "xy-resolve-case"
+
+ :rules (("S" "8" :string)
+ ("" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("" "8" :string)
+ ("F" "8" :string)
+ ("" "8" :string)
+ ("V" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("R" "8" :string)
+ ("" "89" :string)
+ ("" "89" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("" "9" :string)
+ ("g" "9" :string)
+ ("" "9" :string)
+ ("e" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("" "9" :string)
+ ("z" "9" :string)
+ ("" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("" "9" :string)
+ ("j" "9" :string)
+ ("" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("" "9" :string)
+ ("t" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("v" "9" :string)
+ ("" "9" :string)
+ ("s" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("c" "9" :string)
+ ("r" "9" :string)
+ ("" "9" :string)
+ ("x" "9" :string)
+ ("" "9" :string)
+ ("" "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)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("o" "9" :string)
+ ("" "99" :string)
+ ("" "99" :string)
+ ("" "99" :string)
+ ))
+
+(define-rule-set "xy-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "xy-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("K" "" :string)
+ ("" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/general/utf8-lang.xdy b/Master/texmf/xindy/lang/general/utf8-lang.xdy
new file mode 100644
index 00000000000..780e717026b
--- /dev/null
+++ b/Master/texmf/xindy/lang/general/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/general/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("xy-alphabetize" "xy-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("xy-resolve-diacritics" "xy-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("xy-resolve-case" "xy-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("xy-resolve-special"))
diff --git a/Master/texmf/xindy/lang/general/utf8-test.xdy b/Master/texmf/xindy/lang/general/utf8-test.xdy
new file mode 100644
index 00000000000..41d3f5f846c
--- /dev/null
+++ b/Master/texmf/xindy/lang/general/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/general/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("xy-alphabetize" "xy-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("xy-resolve-diacritics" "xy-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("xy-resolve-case" "xy-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("xy-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/lang/general/utf8.xdy b/Master/texmf/xindy/lang/general/utf8.xdy
new file mode 100644
index 00000000000..f2915853839
--- /dev/null
+++ b/Master/texmf/xindy/lang/general/utf8.xdy
@@ -0,0 +1,784 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: A general sorting order for Western European languages
+
+(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 "xy-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)
+ ("Ë" "" :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)
+ ("ŝ" "" :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)
+ ("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 "xy-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)
+ ("ț" "" :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)
+ ("ö" "" :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)
+ ("S" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("D" "" :string)
+ ("w" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("X" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("V" "" :string)
+ ("i" "" :string)
+ ("m" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("q" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("L" "" :string)
+ ("P" "" :string)
+ ("T" "" :string)
+ ("j" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ))
+
+(define-rule-set "xy-resolve-case"
+
+ :rules (("Ý" "8" :string)
+ ("Ő" "8" :string)
+ ("Â" "8" :string)
+ ("Ñ" "8" :string)
+ ("Ž" "8" :string)
+ ("Û" "8" :string)
+ ("Ç" "8" :string)
+ ("Ó" "8" :string)
+ ("Í" "8" :string)
+ ("Ă" "8" :string)
+ ("Ł" "8" :string)
+ ("Ï" "8" :string)
+ ("Ŝ" "8" :string)
+ ("Ĵ" "8" :string)
+ ("Õ" "8" :string)
+ ("Ê" "8" :string)
+ ("Å" "8" :string)
+ ("Ù" "8" :string)
+ ("È" "8" :string)
+ ("Ę" "8" :string)
+ ("Ÿ" "8" :string)
+ ("Ŭ" "8" :string)
+ ("Ů" "8" :string)
+ ("Ş" "8" :string)
+ ("Ű" "8" :string)
+ ("Ø" "8" :string)
+ ("Ĥ" "8" :string)
+ ("Ì" "8" :string)
+ ("Ã" "8" :string)
+ ("Ľ" "8" :string)
+ ("Ż" "8" :string)
+ ("İ" "8" :string)
+ ("Ě" "8" :string)
+ ("Ö" "8" :string)
+ ("Î" "8" :string)
+ ("Á" "8" :string)
+ ("Ț" "8" :string)
+ ("Ô" "8" :string)
+ ("É" "8" :string)
+ ("Ò" "8" :string)
+ ("Ĉ" "8" :string)
+ ("Ú" "8" :string)
+ ("Ř" "8" :string)
+ ("Ň" "8" :string)
+ ("Ä" "8" :string)
+ ("Ü" "8" :string)
+ ("Ŕ" "8" :string)
+ ("Š" "8" :string)
+ ("Ą" "8" :string)
+ ("Ć" "8" :string)
+ ("Ğ" "8" :string)
+ ("Ë" "8" :string)
+ ("Ź" "8" :string)
+ ("Ď" "8" :string)
+ ("À" "8" :string)
+ ("Č" "8" :string)
+ ("Ń" "8" :string)
+ ("Ș" "8" :string)
+ ("Đ" "8" :string)
+ ("Ĝ" "8" :string)
+ ("Ť" "8" :string)
+ ("Ś" "8" :string)
+ ("Æ" "89" :string)
+ ("Œ" "89" :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)
+ ("ć" "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)
+ ("ń" "9" :string)
+ ("ÿ" "9" :string)
+ ("é" "9" :string)
+ ("ň" "9" :string)
+ ("ę" "9" :string)
+ ("œ" "99" :string)
+ ("ß" "99" :string)
+ ("æ" "99" :string)
+ ("S" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("X" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("R" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("L" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("W" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("i" "9" :string)
+ ("m" "9" :string)
+ ("o" "9" :string)
+ ("d" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("j" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("r" "9" :string)
+ ("x" "9" :string)
+ ("h" "9" :string)
+ ("f" "9" :string)
+ ("n" "9" :string)
+ ("l" "9" :string)
+ ("p" "9" :string)
+ ))
+
+(define-rule-set "xy-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("?" "" :string)
+ ("'" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "xy-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)
+ ("ć" "" :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)
+ ("ź" "" :string)
+ ("ű" "" :string)
+ ("ń" "" :string)
+ ("Ș" "" :string)
+ ("ÿ" "" :string)
+ ("é" "" :string)
+ ("Đ" "" :string)
+ ("Ĝ" "" :string)
+ ("Ť" "" :string)
+ ("Ś" "" :string)
+ ("ň" "" :string)
+ ("ę" "" :string)
+ ("œ" "" :string)
+ ("ß" "" :string)
+ ("Æ" "" :string)
+ ("Œ" "" :string)
+ ("æ" "" :string)
+ ("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("D" "" :string)
+ ("w" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("X" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("V" "" :string)
+ ("i" "" :string)
+ ("m" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("q" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("L" "" :string)
+ ("P" "" :string)
+ ("T" "" :string)
+ ("j" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/georgian/utf8-lang.xdy b/Master/texmf/xindy/lang/georgian/utf8-lang.xdy
new file mode 100644
index 00000000000..67df9ecb650
--- /dev/null
+++ b/Master/texmf/xindy/lang/georgian/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/georgian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("ka-alphabetize" "ka-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("ka-resolve-diacritics" "ka-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("ka-resolve-case" "ka-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("ka-resolve-special"))
diff --git a/Master/texmf/xindy/lang/georgian/utf8-test.xdy b/Master/texmf/xindy/lang/georgian/utf8-test.xdy
new file mode 100644
index 00000000000..34eea594b95
--- /dev/null
+++ b/Master/texmf/xindy/lang/georgian/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/georgian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("ka-alphabetize" "ka-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("ka-resolve-diacritics" "ka-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("ka-resolve-case" "ka-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("ka-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/lang/georgian/utf8.xdy b/Master/texmf/xindy/lang/georgian/utf8.xdy
new file mode 100644
index 00000000000..7dbc60012a6
--- /dev/null
+++ b/Master/texmf/xindy/lang/georgian/utf8.xdy
@@ -0,0 +1,230 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Georgian
+
+(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-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 "ka-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 "ka-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 "ka-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)
+ ("უ" "9" :string)
+ ("მ" "9" :string)
+ ("რ" "9" :string)
+ ("ჵ" "9" :string)
+ ("ფ" "9" :string)
+ ("კ" "9" :string)
+ ("წ" "9" :string)
+ ("ჱ" "9" :string)
+ ("ა" "9" :string)
+ ))
+
+(define-rule-set "ka-ignore-special"
+
+ :rules (("·" "" :string)
+ ("\/" "" :string)
+ ("?" "" :string)
+ ("-" "" :string)
+ ("." "" :string)
+ (";" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ))
+
+(define-rule-set "ka-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)
+ ))
+
diff --git a/Master/texmf/xindy/lang/german/braille-utf8-lang.xdy b/Master/texmf/xindy/lang/german/braille-utf8-lang.xdy
new file mode 100644
index 00000000000..71876bd3c19
--- /dev/null
+++ b/Master/texmf/xindy/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/lang/german/braille-utf8-test.xdy b/Master/texmf/xindy/lang/german/braille-utf8-test.xdy
new file mode 100644
index 00000000000..8ab89b02089
--- /dev/null
+++ b/Master/texmf/xindy/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/lang/german/braille-utf8.xdy b/Master/texmf/xindy/lang/german/braille-utf8.xdy
new file mode 100644
index 00000000000..e4686416ebd
--- /dev/null
+++ b/Master/texmf/xindy/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/lang/german/din5007-latin1-lang.xdy b/Master/texmf/xindy/lang/german/din5007-latin1-lang.xdy
new file mode 100644
index 00000000000..36bd2968dc3
--- /dev/null
+++ b/Master/texmf/xindy/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/lang/german/din5007-latin1-test.xdy b/Master/texmf/xindy/lang/german/din5007-latin1-test.xdy
new file mode 100644
index 00000000000..165e2dbe244
--- /dev/null
+++ b/Master/texmf/xindy/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/lang/german/din5007-latin1.xdy b/Master/texmf/xindy/lang/german/din5007-latin1.xdy
new file mode 100644
index 00000000000..691deb29a66
--- /dev/null
+++ b/Master/texmf/xindy/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/lang/german/din5007-utf8-lang.xdy b/Master/texmf/xindy/lang/german/din5007-utf8-lang.xdy
new file mode 100644
index 00000000000..de9bd35bba8
--- /dev/null
+++ b/Master/texmf/xindy/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/lang/german/din5007-utf8-test.xdy b/Master/texmf/xindy/lang/german/din5007-utf8-test.xdy
new file mode 100644
index 00000000000..c90cdc77220
--- /dev/null
+++ b/Master/texmf/xindy/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/lang/german/din5007-utf8.xdy b/Master/texmf/xindy/lang/german/din5007-utf8.xdy
new file mode 100644
index 00000000000..592bea19d33
--- /dev/null
+++ b/Master/texmf/xindy/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/lang/german/din5007.xdy b/Master/texmf/xindy/lang/german/din5007.xdy
new file mode 100644
index 00000000000..74d58ac7b5e
--- /dev/null
+++ b/Master/texmf/xindy/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/lang/german/duden-latin1-lang.xdy b/Master/texmf/xindy/lang/german/duden-latin1-lang.xdy
new file mode 100644
index 00000000000..4fdcbb9769e
--- /dev/null
+++ b/Master/texmf/xindy/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/lang/german/duden-latin1-test.xdy b/Master/texmf/xindy/lang/german/duden-latin1-test.xdy
new file mode 100644
index 00000000000..aa56edbdab6
--- /dev/null
+++ b/Master/texmf/xindy/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/lang/german/duden-latin1.xdy b/Master/texmf/xindy/lang/german/duden-latin1.xdy
new file mode 100644
index 00000000000..8f296aad042
--- /dev/null
+++ b/Master/texmf/xindy/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/lang/german/duden-utf8-lang.xdy b/Master/texmf/xindy/lang/german/duden-utf8-lang.xdy
new file mode 100644
index 00000000000..7f01dd68678
--- /dev/null
+++ b/Master/texmf/xindy/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/lang/german/duden-utf8-test.xdy b/Master/texmf/xindy/lang/german/duden-utf8-test.xdy
new file mode 100644
index 00000000000..fd1dd10c172
--- /dev/null
+++ b/Master/texmf/xindy/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/lang/german/duden-utf8.xdy b/Master/texmf/xindy/lang/german/duden-utf8.xdy
new file mode 100644
index 00000000000..4d3972148c9
--- /dev/null
+++ b/Master/texmf/xindy/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/lang/german/duden.xdy b/Master/texmf/xindy/lang/german/duden.xdy
new file mode 100644
index 00000000000..0ec6e895080
--- /dev/null
+++ b/Master/texmf/xindy/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/lang/german/tex.xdy b/Master/texmf/xindy/lang/german/tex.xdy
new file mode 100644
index 00000000000..59b1332b370
--- /dev/null
+++ b/Master/texmf/xindy/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
diff --git a/Master/texmf/xindy/lang/greek/iso88597-lang.xdy b/Master/texmf/xindy/lang/greek/iso88597-lang.xdy
new file mode 100644
index 00000000000..ca1f1ff07b8
--- /dev/null
+++ b/Master/texmf/xindy/lang/greek/iso88597-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/greek/iso88597.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("el-alphabetize" "el-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("el-resolve-diacritics" "el-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("el-resolve-case" "el-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("el-resolve-special"))
diff --git a/Master/texmf/xindy/lang/greek/iso88597-test.xdy b/Master/texmf/xindy/lang/greek/iso88597-test.xdy
new file mode 100644
index 00000000000..83cff319015
--- /dev/null
+++ b/Master/texmf/xindy/lang/greek/iso88597-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/greek/iso88597.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("el-alphabetize" "el-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("el-resolve-diacritics" "el-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("el-resolve-case" "el-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("el-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/lang/greek/iso88597.xdy b/Master/texmf/xindy/lang/greek/iso88597.xdy
new file mode 100644
index 00000000000..331f84f4724
--- /dev/null
+++ b/Master/texmf/xindy/lang/greek/iso88597.xdy
@@ -0,0 +1,340 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Greek
+
+(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-rule-set "el-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)
+ ("" "" :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 "el-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)
+ ("" "" :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 "el-resolve-case"
+
+ :rules (("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :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)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ))
+
+(define-rule-set "el-ignore-special"
+
+ :rules (("\/" "" :string)
+ ("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("" "" :string)
+ ("." "" :string)
+ (";" "" :string)
+ ))
+
+(define-rule-set "el-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)
+ ("" "" :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/lang/greek/polytonic-utf8-lang.xdy b/Master/texmf/xindy/lang/greek/polytonic-utf8-lang.xdy
new file mode 100644
index 00000000000..da8d41fd417
--- /dev/null
+++ b/Master/texmf/xindy/lang/greek/polytonic-utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/greek/polytonic-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("el-alphabetize" "el-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("el-resolve-diacritics" "el-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("el-resolve-case" "el-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("el-resolve-special"))
diff --git a/Master/texmf/xindy/lang/greek/polytonic-utf8-test.xdy b/Master/texmf/xindy/lang/greek/polytonic-utf8-test.xdy
new file mode 100644
index 00000000000..b05222afeb4
--- /dev/null
+++ b/Master/texmf/xindy/lang/greek/polytonic-utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/greek/polytonic-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("el-alphabetize" "el-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("el-resolve-diacritics" "el-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("el-resolve-case" "el-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("el-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/lang/greek/polytonic-utf8.xdy b/Master/texmf/xindy/lang/greek/polytonic-utf8.xdy
new file mode 100644
index 00000000000..aa53ac8cdfe
--- /dev/null
+++ b/Master/texmf/xindy/lang/greek/polytonic-utf8.xdy
@@ -0,0 +1,646 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Greek
+
+(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 "el-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)
+ ("Ὰ" "" :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)
+ ("η" "" :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)
+ ))
+
+(define-rule-set "el-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)
+ ("ἔ" "" :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)
+ ("β" "" :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)
+ ))
+
+(define-rule-set "el-resolve-case"
+
+ :rules (("Ἒ" "8" :string)
+ ("ᾼ" "8" :string)
+ ("Ἑ" "8" :string)
+ ("Ᾱ" "8" :string)
+ ("Ἣ" "8" :string)
+ ("ᾉ" "8" :string)
+ ("ᾏ" "8" :string)
+ ("Ἄ" "8" :string)
+ ("ᾍ" "8" :string)
+ ("Ὲ" "8" :string)
+ ("ᾋ" "8" :string)
+ ("Ἇ" "8" :string)
+ ("Ἃ" "8" :string)
+ ("Ά" "8" :string)
+ ("Ἀ" "8" :string)
+ ("Ἕ" "8" :string)
+ ("Ὴ" "8" :string)
+ ("Ᾰ" "8" :string)
+ ("Ἠ" "8" :string)
+ ("Ἥ" "8" :string)
+ ("Ή" "8" :string)
+ ("Ἐ" "8" :string)
+ ("Ἆ" "8" :string)
+ ("ᾈ" "8" :string)
+ ("ᾊ" "8" :string)
+ ("Ἅ" "8" :string)
+ ("ᾎ" "8" :string)
+ ("Ἓ" "8" :string)
+ ("Ὰ" "8" :string)
+ ("Ἔ" "8" :string)
+ ("Ἁ" "8" :string)
+ ("ᾌ" "8" :string)
+ ("Ἢ" "8" :string)
+ ("Έ" "8" :string)
+ ("Ἡ" "8" :string)
+ ("Ἤ" "8" :string)
+ ("Ἂ" "8" :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)
+ ("ἃ" "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)
+ ("Τ" "8" :string)
+ ("Π" "8" :string)
+ ("Κ" "8" :string)
+ ("Ι" "8" :string)
+ ("Ύ" "8" :string)
+ ("Ν" "8" :string)
+ ("Ψ" "8" :string)
+ ("Δ" "8" :string)
+ ("Ϝ" "8" :string)
+ ("Η" "8" :string)
+ ("Α" "8" :string)
+ ("Ό" "8" :string)
+ ("Μ" "8" :string)
+ ("Χ" "8" :string)
+ ("Ξ" "8" :string)
+ ("Ϋ" "8" :string)
+ ("Ί" "8" :string)
+ ("Β" "8" :string)
+ ("Ζ" "8" :string)
+ ("Ω" "8" :string)
+ ("Θ" "8" :string)
+ ("Ε" "8" :string)
+ ("Ο" "8" :string)
+ ("Γ" "8" :string)
+ ("Ώ" "8" :string)
+ ("Ϊ" "8" :string)
+ ("Ρ" "8" :string)
+ ("Φ" "8" :string)
+ ("Σ" "8" :string)
+ ("Λ" "8" :string)
+ ("Υ" "8" :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)
+ ("μ" "9" :string)
+ ("φ" "9" :string)
+ ("ϐ" "9" :string)
+ ("π" "9" :string)
+ ("ϊ" "9" :string)
+ ("κ" "9" :string)
+ ("ψ" "9" :string)
+ ("η" "9" :string)
+ ))
+
+(define-rule-set "el-ignore-special"
+
+ :rules (("·" "" :string)
+ ("\/" "" :string)
+ ("-" "" :string)
+ ("!" "" :string)
+ ("?" "" :string)
+ ("'" "" :string)
+ ("." "" :string)
+ (";" "" :string)
+ ))
+
+(define-rule-set "el-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)
+ ("ἀ" "" :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)
+ ("Ζ" "" :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/lang/greek/translit-latin4-lang.xdy b/Master/texmf/xindy/lang/greek/translit-latin4-lang.xdy
new file mode 100644
index 00000000000..b762963ad9f
--- /dev/null
+++ b/Master/texmf/xindy/lang/greek/translit-latin4-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/greek/translit-latin4.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("el-alphabetize" "el-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("el-resolve-diacritics" "el-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("el-resolve-case" "el-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("el-resolve-special"))
diff --git a/Master/texmf/xindy/lang/greek/translit-latin4-test.xdy b/Master/texmf/xindy/lang/greek/translit-latin4-test.xdy
new file mode 100644
index 00000000000..401e123b367
--- /dev/null
+++ b/Master/texmf/xindy/lang/greek/translit-latin4-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/greek/translit-latin4.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("el-alphabetize" "el-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("el-resolve-diacritics" "el-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("el-resolve-case" "el-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("el-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/lang/greek/translit-latin4.xdy b/Master/texmf/xindy/lang/greek/translit-latin4.xdy
new file mode 100644
index 00000000000..674d546747c
--- /dev/null
+++ b/Master/texmf/xindy/lang/greek/translit-latin4.xdy
@@ -0,0 +1,230 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Greek
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "D" :after "B" :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 "K" :after "I" :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 "R" :after "P" :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 "X" :after "U" :prefixes (""))
+(define-letter-group "Z" :after "X" :prefixes (""))
+
+(define-rule-set "el-alphabetize"
+
+ :rules (("a" "" :string)
+ ("A" "" :string)
+ ("B" "" :string)
+ ("b" "" :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)
+ ("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)
+ ("r" "" :string)
+ ("R" "" :string)
+ ("S" "" :string)
+ ("s" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("u" "" :string)
+ ("U" "" :string)
+ ("x" "" :string)
+ ("X" "" :string)
+ ("Z" "" :string)
+ ("z" "" :string)
+ ))
+
+(define-rule-set "el-resolve-diacritics"
+
+ :rules (("S" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("E" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("g" "" :string)
+ ("t" "" :string)
+ ("e" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("z" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("M" "" :string)
+ ("h" "" :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)
+ ))
+
+(define-rule-set "el-resolve-case"
+
+ :rules (("S" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("K" "8" :string)
+ ("E" "8" :string)
+ ("Z" "8" :string)
+ ("B" "8" :string)
+ ("" "8" :string)
+ ("H" "8" :string)
+ ("D" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("M" "8" :string)
+ ("L" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("R" "8" :string)
+ ("" "8" :string)
+ ("a" "9" :string)
+ ("d" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("g" "9" :string)
+ ("t" "9" :string)
+ ("e" "9" :string)
+ ("s" "9" :string)
+ ("" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("r" "9" :string)
+ ("x" "9" :string)
+ ("" "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 "el-ignore-special"
+
+ :rules (("?" "" :string)
+ ("-" "" :string)
+ ("." "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ))
+
+(define-rule-set "el-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("E" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("g" "" :string)
+ ("t" "" :string)
+ ("e" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("z" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("" "" :string)
+ ("M" "" :string)
+ ("h" "" :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)
+ ("" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/greek/translit-utf8-lang.xdy b/Master/texmf/xindy/lang/greek/translit-utf8-lang.xdy
new file mode 100644
index 00000000000..6c3cf9505d4
--- /dev/null
+++ b/Master/texmf/xindy/lang/greek/translit-utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/greek/translit-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("el-alphabetize" "el-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("el-resolve-diacritics" "el-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("el-resolve-case" "el-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("el-resolve-special"))
diff --git a/Master/texmf/xindy/lang/greek/translit-utf8-test.xdy b/Master/texmf/xindy/lang/greek/translit-utf8-test.xdy
new file mode 100644
index 00000000000..b7d6144eb05
--- /dev/null
+++ b/Master/texmf/xindy/lang/greek/translit-utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/greek/translit-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("el-alphabetize" "el-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("el-resolve-diacritics" "el-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("el-resolve-case" "el-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("el-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/lang/greek/translit-utf8.xdy b/Master/texmf/xindy/lang/greek/translit-utf8.xdy
new file mode 100644
index 00000000000..83a13c8f162
--- /dev/null
+++ b/Master/texmf/xindy/lang/greek/translit-utf8.xdy
@@ -0,0 +1,230 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Greek
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "D" :after "B" :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 "K" :after "I" :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 "R" :after "P" :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 "X" :after "U" :prefixes (""))
+(define-letter-group "Z" :after "X" :prefixes (""))
+
+(define-rule-set "el-alphabetize"
+
+ :rules (("ē" "" :string)
+ ("Ē" "" :string)
+ ("Ō" "" :string)
+ ("ō" "" :string)
+ ("a" "" :string)
+ ("A" "" :string)
+ ("B" "" :string)
+ ("b" "" :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)
+ ("K" "" :string)
+ ("k" "" :string)
+ ("L" "" :string)
+ ("l" "" :string)
+ ("M" "" :string)
+ ("m" "" :string)
+ ("N" "" :string)
+ ("n" "" :string)
+ ("O" "" :string)
+ ("o" "" :string)
+ ("P" "" :string)
+ ("p" "" :string)
+ ("r" "" :string)
+ ("R" "" :string)
+ ("S" "" :string)
+ ("s" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("u" "" :string)
+ ("U" "" :string)
+ ("x" "" :string)
+ ("X" "" :string)
+ ("Z" "" :string)
+ ("z" "" :string)
+ ))
+
+(define-rule-set "el-resolve-diacritics"
+
+ :rules (("Ō" "" :string)
+ ("ē" "" :string)
+ ("ō" "" :string)
+ ("Ē" "" :string)
+ ("S" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("E" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("g" "" :string)
+ ("t" "" :string)
+ ("e" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("z" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("M" "" :string)
+ ("h" "" :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 "el-resolve-case"
+
+ :rules (("Ō" "8" :string)
+ ("Ē" "8" :string)
+ ("ē" "9" :string)
+ ("ō" "9" :string)
+ ("S" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("K" "8" :string)
+ ("E" "8" :string)
+ ("Z" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("D" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("M" "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)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("g" "9" :string)
+ ("t" "9" :string)
+ ("e" "9" :string)
+ ("s" "9" :string)
+ ("b" "9" :string)
+ ("z" "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 "el-ignore-special"
+
+ :rules (("?" "" :string)
+ ("-" "" :string)
+ ("." "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ))
+
+(define-rule-set "el-resolve-special"
+
+ :rules (("Ō" "" :string)
+ ("ē" "" :string)
+ ("ō" "" :string)
+ ("Ē" "" :string)
+ ("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("E" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("g" "" :string)
+ ("t" "" :string)
+ ("e" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("z" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("M" "" :string)
+ ("h" "" :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)
+ ))
+
diff --git a/Master/texmf/xindy/lang/greek/utf8-lang.xdy b/Master/texmf/xindy/lang/greek/utf8-lang.xdy
new file mode 100644
index 00000000000..ee5540a3283
--- /dev/null
+++ b/Master/texmf/xindy/lang/greek/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/greek/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("el-alphabetize" "el-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("el-resolve-diacritics" "el-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("el-resolve-case" "el-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("el-resolve-special"))
diff --git a/Master/texmf/xindy/lang/greek/utf8-test.xdy b/Master/texmf/xindy/lang/greek/utf8-test.xdy
new file mode 100644
index 00000000000..d22142233f1
--- /dev/null
+++ b/Master/texmf/xindy/lang/greek/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/greek/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("el-alphabetize" "el-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("el-resolve-diacritics" "el-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("el-resolve-case" "el-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("el-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/lang/greek/utf8.xdy b/Master/texmf/xindy/lang/greek/utf8.xdy
new file mode 100644
index 00000000000..68f073ca7dc
--- /dev/null
+++ b/Master/texmf/xindy/lang/greek/utf8.xdy
@@ -0,0 +1,340 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Greek
+
+(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-rule-set "el-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)
+ ("Ξ" "" :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 "el-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)
+ ("μ" "" :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 "el-resolve-case"
+
+ :rules (("Τ" "8" :string)
+ ("Π" "8" :string)
+ ("Κ" "8" :string)
+ ("Ω" "8" :string)
+ ("Θ" "8" :string)
+ ("Ι" "8" :string)
+ ("Ύ" "8" :string)
+ ("Ν" "8" :string)
+ ("Ε" "8" :string)
+ ("Ψ" "8" :string)
+ ("Ο" "8" :string)
+ ("Γ" "8" :string)
+ ("Ώ" "8" :string)
+ ("Έ" "8" :string)
+ ("Ϊ" "8" :string)
+ ("Ρ" "8" :string)
+ ("Ά" "8" :string)
+ ("Δ" "8" :string)
+ ("Φ" "8" :string)
+ ("Σ" "8" :string)
+ ("Η" "8" :string)
+ ("Α" "8" :string)
+ ("Ό" "8" :string)
+ ("Μ" "8" :string)
+ ("Ή" "8" :string)
+ ("Λ" "8" :string)
+ ("Υ" "8" :string)
+ ("Χ" "8" :string)
+ ("Ξ" "8" :string)
+ ("Ϋ" "8" :string)
+ ("Ί" "8" :string)
+ ("Β" "8" :string)
+ ("Ζ" "8" :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)
+ ("ϊ" "9" :string)
+ ("ά" "9" :string)
+ ("υ" "9" :string)
+ ("χ" "9" :string)
+ ("κ" "9" :string)
+ ("ί" "9" :string)
+ ("ψ" "9" :string)
+ ("η" "9" :string)
+ ))
+
+(define-rule-set "el-ignore-special"
+
+ :rules (("·" "" :string)
+ ("\/" "" :string)
+ ("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ (";" "" :string)
+ ))
+
+(define-rule-set "el-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)
+ ("Ϋ" "" :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/lang/gypsy/northrussian-utf8-lang.xdy b/Master/texmf/xindy/lang/gypsy/northrussian-utf8-lang.xdy
new file mode 100644
index 00000000000..3554b284d16
--- /dev/null
+++ b/Master/texmf/xindy/lang/gypsy/northrussian-utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/gypsy/northrussian-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("g1-alphabetize" "g1-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("g1-resolve-diacritics" "g1-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("g1-resolve-case" "g1-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("g1-resolve-special"))
diff --git a/Master/texmf/xindy/lang/gypsy/northrussian-utf8-test.xdy b/Master/texmf/xindy/lang/gypsy/northrussian-utf8-test.xdy
new file mode 100644
index 00000000000..edf6d3f0a7f
--- /dev/null
+++ b/Master/texmf/xindy/lang/gypsy/northrussian-utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/gypsy/northrussian-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("g1-alphabetize" "g1-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("g1-resolve-diacritics" "g1-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("g1-resolve-case" "g1-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("g1-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/lang/gypsy/northrussian-utf8.xdy b/Master/texmf/xindy/lang/gypsy/northrussian-utf8.xdy
new file mode 100644
index 00000000000..82706b3dc45
--- /dev/null
+++ b/Master/texmf/xindy/lang/gypsy/northrussian-utf8.xdy
@@ -0,0 +1,424 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Gypsy
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "Č" :after "C" :prefixes (""))
+(define-letter-group "D" :after "Č" :prefixes (""))
+(define-letter-group "Dz" :after "D" :prefixes (""))
+(define-letter-group "E" :after "Dz" :prefixes (""))
+(define-letter-group "F" :after "E" :prefixes (""))
+(define-letter-group "G" :after "F" :prefixes (""))
+(define-letter-group "Γ" :after "G" :prefixes (""))
+(define-letter-group "H" :after "Γ" :prefixes (""))
+(define-letter-group "I" :after "H" :prefixes (""))
+(define-letter-group "I̯" :after "I" :prefixes (""))
+(define-letter-group "Ï" :after "I̯" :prefixes (""))
+(define-letter-group "J" :after "Ï" :prefixes (""))
+(define-letter-group "K" :after "J" :prefixes (""))
+(define-letter-group "Kh" :after "K" :prefixes (""))
+(define-letter-group "X" :after "Kh" :prefixes (""))
+(define-letter-group "L" :after "X" :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 "Ph" :after "P" :prefixes (""))
+(define-letter-group "Q" :after "Ph" :prefixes (""))
+(define-letter-group "R" :after "Q" :prefixes (""))
+(define-letter-group "S" :after "R" :prefixes (""))
+(define-letter-group "Š" :after "S" :prefixes (""))
+(define-letter-group "T" :after "Š" :prefixes (""))
+(define-letter-group "Th" :after "T" :prefixes (""))
+(define-letter-group "U" :after "Th" :prefixes (""))
+(define-letter-group "V" :after "U" :prefixes (""))
+(define-letter-group "W" :after "V" :prefixes (""))
+(define-letter-group "Y" :after "W" :prefixes (""))
+(define-letter-group "Z" :after "Y" :prefixes (""))
+(define-letter-group "Ž" :after "Z" :prefixes (""))
+
+(define-rule-set "g1-alphabetize"
+
+ :rules (("i̯" "" :string)
+ ("I̯" "" :string)
+ ("Ḯ" "" :string)
+ ("ḯ" "" :string)
+ ("Á" "" :string)
+ ("á" "" :string)
+ ("č" "" :string)
+ ("Č" "" :string)
+ ("Dz" "" :string)
+ ("DZ" "" :string)
+ ("dz" "" :string)
+ ("É" "" :string)
+ ("é" "" :string)
+ ("Γ" "" :string)
+ ("γ" "" :string)
+ ("Í" "" :string)
+ ("í" "" :string)
+ ("Ï" "" :string)
+ ("ï" "" :string)
+ ("KH" "" :string)
+ ("kh" "" :string)
+ ("Kh" "" :string)
+ ("Ó" "" :string)
+ ("ó" "" :string)
+ ("PH" "" :string)
+ ("ph" "" :string)
+ ("Ph" "" :string)
+ ("Š" "" :string)
+ ("š" "" :string)
+ ("TH" "" :string)
+ ("Th" "" :string)
+ ("th" "" :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)
+ ("X" "" :string)
+ ("x" "" :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)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("z" "" :string)
+ ("Z" "" :string)
+ ))
+
+(define-rule-set "g1-resolve-diacritics"
+
+ :rules (("i̯" "" :string)
+ ("I̯" "" :string)
+ ("Ḯ" "" :string)
+ ("ḯ" "" :string)
+ ("KH" "" :string)
+ ("Dz" "" :string)
+ ("Ž" "" :string)
+ ("kh" "" :string)
+ ("Ï" "" :string)
+ ("č" "" :string)
+ ("ï" "" :string)
+ ("Γ" "" :string)
+ ("TH" "" :string)
+ ("Š" "" :string)
+ ("PH" "" :string)
+ ("š" "" :string)
+ ("ph" "" :string)
+ ("Ph" "" :string)
+ ("Th" "" :string)
+ ("th" "" :string)
+ ("DZ" "" :string)
+ ("γ" "" :string)
+ ("Č" "" :string)
+ ("Kh" "" :string)
+ ("dz" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "g1-resolve-case"
+
+ :rules (("Ḯ" "8" :string)
+ ("I̯" "8" :string)
+ ("i̯" "9" :string)
+ ("ḯ" "9" :string)
+ ("KH" "7" :string)
+ ("TH" "7" :string)
+ ("PH" "7" :string)
+ ("DZ" "7" :string)
+ ("Á" "8" :string)
+ ("Dz" "8" :string)
+ ("Ž" "8" :string)
+ ("Ó" "8" :string)
+ ("É" "8" :string)
+ ("Í" "8" :string)
+ ("Ï" "8" :string)
+ ("Ú" "8" :string)
+ ("Γ" "8" :string)
+ ("Š" "8" :string)
+ ("Ph" "8" :string)
+ ("Th" "8" :string)
+ ("Č" "8" :string)
+ ("Kh" "8" :string)
+ ("kh" "9" :string)
+ ("č" "9" :string)
+ ("ú" "9" :string)
+ ("ï" "9" :string)
+ ("á" "9" :string)
+ ("š" "9" :string)
+ ("ph" "9" :string)
+ ("th" "9" :string)
+ ("í" "9" :string)
+ ("ó" "9" :string)
+ ("γ" "9" :string)
+ ("é" "9" :string)
+ ("dz" "9" :string)
+ ("ž" "9" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "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 "g1-ignore-special"
+
+ :rules (("ˈ" "" :string)
+ ("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "g1-resolve-special"
+
+ :rules (("i̯" "" :string)
+ ("Ḯ" "" :string)
+ ("I̯" "" :string)
+ ("ḯ" "" :string)
+ ("KH" "" :string)
+ ("Á" "" :string)
+ ("Dz" "" :string)
+ ("Ž" "" :string)
+ ("kh" "" :string)
+ ("Ó" "" :string)
+ ("É" "" :string)
+ ("Í" "" :string)
+ ("Ï" "" :string)
+ ("Ú" "" :string)
+ ("č" "" :string)
+ ("ú" "" :string)
+ ("ï" "" :string)
+ ("Γ" "" :string)
+ ("á" "" :string)
+ ("TH" "" :string)
+ ("Š" "" :string)
+ ("PH" "" :string)
+ ("š" "" :string)
+ ("ph" "" :string)
+ ("Ph" "" :string)
+ ("Th" "" :string)
+ ("th" "" :string)
+ ("í" "" :string)
+ ("DZ" "" :string)
+ ("ó" "" :string)
+ ("γ" "" :string)
+ ("Č" "" :string)
+ ("Kh" "" :string)
+ ("é" "" :string)
+ ("dz" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/hausa/utf8-lang.xdy b/Master/texmf/xindy/lang/hausa/utf8-lang.xdy
new file mode 100644
index 00000000000..978a1611a4c
--- /dev/null
+++ b/Master/texmf/xindy/lang/hausa/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/hausa/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("ha-alphabetize" "ha-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("ha-resolve-diacritics" "ha-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("ha-resolve-case" "ha-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("ha-resolve-special"))
diff --git a/Master/texmf/xindy/lang/hausa/utf8-test.xdy b/Master/texmf/xindy/lang/hausa/utf8-test.xdy
new file mode 100644
index 00000000000..33a1c7e418a
--- /dev/null
+++ b/Master/texmf/xindy/lang/hausa/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/hausa/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("ha-alphabetize" "ha-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("ha-resolve-diacritics" "ha-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("ha-resolve-case" "ha-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("ha-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/lang/hausa/utf8.xdy b/Master/texmf/xindy/lang/hausa/utf8.xdy
new file mode 100644
index 00000000000..4cd9ef11f52
--- /dev/null
+++ b/Master/texmf/xindy/lang/hausa/utf8.xdy
@@ -0,0 +1,514 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Hausa
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "Ɓ" :after "B" :prefixes (""))
+(define-letter-group "C" :after "Ɓ" :prefixes (""))
+(define-letter-group "D" :after "C" :prefixes (""))
+(define-letter-group "Ɗ" :after "D" :prefixes (""))
+(define-letter-group "E" :after "Ɗ" :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 "Ƙ" :after "K" :prefixes (""))
+(define-letter-group "L" :after "Ƙ" :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 "ʼY" :after "Y" :prefixes (""))
+(define-letter-group "Z" :after "ʼY" :prefixes (""))
+
+(define-rule-set "ha-alphabetize"
+
+ :rules (("Ā̱" "" :string)
+ ("ā̱" "" :string)
+ ("ā̀" "" :string)
+ ("Ā̀" "" :string)
+ ("Ḕ" "" :string)
+ ("Ē̱" "" :string)
+ ("ḕ" "" :string)
+ ("ē̱" "" :string)
+ ("Ī̱" "" :string)
+ ("ī̀" "" :string)
+ ("Ī̀" "" :string)
+ ("ī̱" "" :string)
+ ("ṑ" "" :string)
+ ("Ṑ" "" :string)
+ ("Ō̱" "" :string)
+ ("ō̱" "" :string)
+ ("ū̱" "" :string)
+ ("Ū̱" "" :string)
+ ("ū̀" "" :string)
+ ("Ū̀" "" :string)
+ ("a̱" "" :string)
+ ("A̱" "" :string)
+ ("E̱" "" :string)
+ ("e̱" "" :string)
+ ("i̱" "" :string)
+ ("I̱" "" :string)
+ ("O̱" "" :string)
+ ("o̱" "" :string)
+ ("U̱" "" :string)
+ ("u̱" "" :string)
+ ("ʼy" "" :string)
+ ("ʼY" "" :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)
+ ("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 "ha-resolve-diacritics"
+
+ :rules (("ū̱" "" :string)
+ ("Ē̱" "" :string)
+ ("Ī̱" "" :string)
+ ("Ā̱" "" :string)
+ ("Ō̱" "" :string)
+ ("ā̱" "" :string)
+ ("Ū̱" "" :string)
+ ("ō̱" "" :string)
+ ("ē̱" "" :string)
+ ("ī̱" "" :string)
+ ("ṑ" "" :string)
+ ("Ḕ" "" :string)
+ ("Ṑ" "" :string)
+ ("ī̀" "" :string)
+ ("ā̀" "" :string)
+ ("ḕ" "" :string)
+ ("Ā̀" "" :string)
+ ("ū̀" "" :string)
+ ("Ī̀" "" :string)
+ ("Ū̀" "" :string)
+ ("ʼy" "" :string)
+ ("ʼY" "" :string)
+ ("O̱" "" :string)
+ ("a̱" "" :string)
+ ("E̱" "" :string)
+ ("i̱" "" :string)
+ ("I̱" "" :string)
+ ("o̱" "" :string)
+ ("U̱" "" :string)
+ ("A̱" "" :string)
+ ("e̱" "" :string)
+ ("u̱" "" :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)
+ ("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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "ha-resolve-case"
+
+ :rules (("Ḕ" "8" :string)
+ ("Ē̱" "8" :string)
+ ("Ī̱" "8" :string)
+ ("Ṑ" "8" :string)
+ ("Ā̱" "8" :string)
+ ("Ō̱" "8" :string)
+ ("Ū̱" "8" :string)
+ ("Ā̀" "8" :string)
+ ("Ī̀" "8" :string)
+ ("Ū̀" "8" :string)
+ ("ū̱" "9" :string)
+ ("ṑ" "9" :string)
+ ("ī̀" "9" :string)
+ ("ā̱" "9" :string)
+ ("ā̀" "9" :string)
+ ("ḕ" "9" :string)
+ ("ō̱" "9" :string)
+ ("ē̱" "9" :string)
+ ("ū̀" "9" :string)
+ ("ī̱" "9" :string)
+ ("O̱" "8" :string)
+ ("ʼY" "8" :string)
+ ("E̱" "8" :string)
+ ("I̱" "8" :string)
+ ("U̱" "8" :string)
+ ("A̱" "8" :string)
+ ("ʼy" "9" :string)
+ ("a̱" "9" :string)
+ ("i̱" "9" :string)
+ ("o̱" "9" :string)
+ ("e̱" "9" :string)
+ ("u̱" "9" :string)
+ ("Ò" "8" :string)
+ ("Ɗ" "8" :string)
+ ("Ē" "8" :string)
+ ("Ù" "8" :string)
+ ("Ā" "8" :string)
+ ("Ū" "8" :string)
+ ("È" "8" :string)
+ ("Ō" "8" :string)
+ ("Ī" "8" :string)
+ ("À" "8" :string)
+ ("Ì" "8" :string)
+ ("Ɓ" "8" :string)
+ ("Ƙ" "8" :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)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "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 "ha-ignore-special"
+
+ :rules (("ʼ" "" :string)
+ ("-" "" :string)
+ ("!" "" :string)
+ ("{" "" :string)
+ ("'" "" :string)
+ ("}" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "ha-resolve-special"
+
+ :rules (("ū̱" "" :string)
+ ("ṑ" "" :string)
+ ("Ḕ" "" :string)
+ ("Ē̱" "" :string)
+ ("Ī̱" "" :string)
+ ("Ṑ" "" :string)
+ ("Ā̱" "" :string)
+ ("ī̀" "" :string)
+ ("Ō̱" "" :string)
+ ("ā̱" "" :string)
+ ("ā̀" "" :string)
+ ("Ū̱" "" :string)
+ ("ḕ" "" :string)
+ ("ō̱" "" :string)
+ ("ē̱" "" :string)
+ ("Ā̀" "" :string)
+ ("ū̀" "" :string)
+ ("Ī̀" "" :string)
+ ("Ū̀" "" :string)
+ ("ī̱" "" :string)
+ ("O̱" "" :string)
+ ("ʼy" "" :string)
+ ("a̱" "" :string)
+ ("ʼY" "" :string)
+ ("E̱" "" :string)
+ ("i̱" "" :string)
+ ("I̱" "" :string)
+ ("o̱" "" :string)
+ ("U̱" "" :string)
+ ("A̱" "" :string)
+ ("e̱" "" :string)
+ ("u̱" "" :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)
+ ("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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ("{" "" :string)
+ ("}" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/hebrew/iso88598-lang.xdy b/Master/texmf/xindy/lang/hebrew/iso88598-lang.xdy
new file mode 100644
index 00000000000..e5e40f727cd
--- /dev/null
+++ b/Master/texmf/xindy/lang/hebrew/iso88598-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/hebrew/iso88598.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("iw-alphabetize" "iw-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("iw-resolve-diacritics" "iw-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("iw-resolve-case" "iw-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("iw-resolve-special"))
diff --git a/Master/texmf/xindy/lang/hebrew/iso88598-test.xdy b/Master/texmf/xindy/lang/hebrew/iso88598-test.xdy
new file mode 100644
index 00000000000..901349a7dff
--- /dev/null
+++ b/Master/texmf/xindy/lang/hebrew/iso88598-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/hebrew/iso88598.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("iw-alphabetize" "iw-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("iw-resolve-diacritics" "iw-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("iw-resolve-case" "iw-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("iw-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/lang/hebrew/iso88598.xdy b/Master/texmf/xindy/lang/hebrew/iso88598.xdy
new file mode 100644
index 00000000000..ca033c93982
--- /dev/null
+++ b/Master/texmf/xindy/lang/hebrew/iso88598.xdy
@@ -0,0 +1,166 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Hebrew
+
+(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-rule-set "iw-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)
+ ))
+
+(define-rule-set "iw-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)
+ ))
+
+(define-rule-set "iw-resolve-case"
+
+ :rules (("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :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)
+ ))
+
+(define-rule-set "iw-ignore-special"
+
+ :rules (("-" "" :string)
+ ("." "" :string)
+ (";" "" :string)
+ ("!" "" :string)
+ ("?" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "iw-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)
+ ))
+
diff --git a/Master/texmf/xindy/lang/hebrew/utf8-lang.xdy b/Master/texmf/xindy/lang/hebrew/utf8-lang.xdy
new file mode 100644
index 00000000000..ffea0a31742
--- /dev/null
+++ b/Master/texmf/xindy/lang/hebrew/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/hebrew/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("iw-alphabetize" "iw-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("iw-resolve-diacritics" "iw-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("iw-resolve-case" "iw-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("iw-resolve-special"))
diff --git a/Master/texmf/xindy/lang/hebrew/utf8-test.xdy b/Master/texmf/xindy/lang/hebrew/utf8-test.xdy
new file mode 100644
index 00000000000..e2a1998696f
--- /dev/null
+++ b/Master/texmf/xindy/lang/hebrew/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/hebrew/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("iw-alphabetize" "iw-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("iw-resolve-diacritics" "iw-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("iw-resolve-case" "iw-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("iw-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/lang/hebrew/utf8.xdy b/Master/texmf/xindy/lang/hebrew/utf8.xdy
new file mode 100644
index 00000000000..a2a3e28ee58
--- /dev/null
+++ b/Master/texmf/xindy/lang/hebrew/utf8.xdy
@@ -0,0 +1,304 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Hebrew
+
+(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-rule-set "iw-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)
+ ("ױ" "" :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 "iw-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)
+ ("כ" "" :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 "iw-resolve-case"
+
+ :rules (("בֵּ" "9" :string)
+ ("אֻ" "9" :string)
+ ("אֶ" "9" :string)
+ ("בָ" "9" :string)
+ ("בַ" "9" :string)
+ ("ךּ" "8" :string)
+ ("ףּ" "8" :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)
+ ("ם" "8" :string)
+ ("ן" "8" :string)
+ ("ץ" "8" :string)
+ ("ף" "8" :string)
+ ("ך" "8" :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)
+ ))
+
+(define-rule-set "iw-ignore-special"
+
+ :rules (("וֹ" "" :string)
+ ("·" "" :string)
+ ("?" "" :string)
+ ("-" "" :string)
+ ("." "" :string)
+ (";" "" :string)
+ ("!" "" :string)
+ ))
+
+(define-rule-set "iw-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)
+ ("י" "" :string)
+ ("ך" "" :string)
+ ("ת" "" :string)
+ ("ט" "" :string)
+ ("װ" "" :string)
+ ("ײ" "" :string)
+ ("ױ" "" :string)
+ ("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ (";" "" :string)
+ ("-" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/hungarian/cp1250-lang.xdy b/Master/texmf/xindy/lang/hungarian/cp1250-lang.xdy
new file mode 100644
index 00000000000..65fda775584
--- /dev/null
+++ b/Master/texmf/xindy/lang/hungarian/cp1250-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/hungarian/cp1250.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("hu-alphabetize" "hu-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("hu-resolve-diacritics" "hu-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("hu-resolve-case" "hu-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("hu-resolve-special"))
diff --git a/Master/texmf/xindy/lang/hungarian/cp1250-test.xdy b/Master/texmf/xindy/lang/hungarian/cp1250-test.xdy
new file mode 100644
index 00000000000..0360b196a25
--- /dev/null
+++ b/Master/texmf/xindy/lang/hungarian/cp1250-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/hungarian/cp1250.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("hu-alphabetize" "hu-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("hu-resolve-diacritics" "hu-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("hu-resolve-case" "hu-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("hu-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/lang/hungarian/cp1250.xdy b/Master/texmf/xindy/lang/hungarian/cp1250.xdy
new file mode 100644
index 00000000000..b65db49a7c5
--- /dev/null
+++ b/Master/texmf/xindy/lang/hungarian/cp1250.xdy
@@ -0,0 +1,458 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Hungarian
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "Cs" :after "C" :prefixes (""))
+(define-letter-group "D" :after "Cs" :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 "Ny" :after "N" :prefixes (""))
+(define-letter-group "O" :after "Ny" :prefixes (""))
+(define-letter-group "" :after "O" :prefixes (""))
+(define-letter-group "P" :after "" :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 "Sz" :after "S" :prefixes (""))
+(define-letter-group "T" :after "Sz" :prefixes ("" ""))
+(define-letter-group "U" :after "T" :prefixes (""))
+(define-letter-group "" :after "U" :prefixes (""))
+(define-letter-group "V" :after "" :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-letter-group "Zs" :after "Z" :prefixes (""))
+
+(define-rule-set "hu-alphabetize"
+
+ :rules (("Dzs" "" :string)
+ ("DZS" "" :string)
+ ("dzs" "" :string)
+ ("DZs" "" :string)
+ ("cs" "" :string)
+ ("Cs" "" :string)
+ ("CS" "" :string)
+ ("Dz" "" :string)
+ ("DZ" "" :string)
+ ("dz" "" :string)
+ ("gy" "" :string)
+ ("Gy" "" :string)
+ ("GY" "" :string)
+ ("Ly" "" :string)
+ ("ly" "" :string)
+ ("LY" "" :string)
+ ("NY" "" :string)
+ ("Ny" "" :string)
+ ("ny" "" :string)
+ ("SZ" "" :string)
+ ("Sz" "" :string)
+ ("sz" "" :string)
+ ("TY" "" :string)
+ ("ty" "" :string)
+ ("Ty" "" :string)
+ ("Zs" "" :string)
+ ("zs" "" :string)
+ ("ZS" "" :string)
+ ("" "" :string)
+ ("a" "" :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)
+ ("" "" :string)
+ ("" "" :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)
+ ("O" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("P" "" :string)
+ ("p" "" :string)
+ ("q" "" :string)
+ ("Q" "" :string)
+ ("r" "" :string)
+ ("R" "" :string)
+ ("S" "" :string)
+ ("s" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("" "" :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 "hu-resolve-diacritics"
+
+ :rules (("Dzs" "" :string)
+ ("DZS" "" :string)
+ ("dzs" "" :string)
+ ("DZs" "" :string)
+ ("NY" "" :string)
+ ("SZ" "" :string)
+ ("Dz" "" :string)
+ ("Sz" "" :string)
+ ("Ly" "" :string)
+ ("cs" "" :string)
+ ("TY" "" :string)
+ ("Zs" "" :string)
+ ("gy" "" :string)
+ ("ly" "" :string)
+ ("ty" "" :string)
+ ("Gy" "" :string)
+ ("zs" "" :string)
+ ("Ty" "" :string)
+ ("Cs" "" :string)
+ ("ZS" "" :string)
+ ("DZ" "" :string)
+ ("sz" "" :string)
+ ("LY" "" :string)
+ ("GY" "" :string)
+ ("dz" "" :string)
+ ("Ny" "" :string)
+ ("CS" "" :string)
+ ("ny" "" :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)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "hu-resolve-case"
+
+ :rules (("DZS" "6" :string)
+ ("DZs" "7" :string)
+ ("Dzs" "8" :string)
+ ("dzs" "9" :string)
+ ("NY" "7" :string)
+ ("SZ" "7" :string)
+ ("TY" "7" :string)
+ ("ZS" "7" :string)
+ ("DZ" "7" :string)
+ ("LY" "7" :string)
+ ("GY" "7" :string)
+ ("CS" "7" :string)
+ ("Dz" "8" :string)
+ ("Sz" "8" :string)
+ ("Ly" "8" :string)
+ ("Zs" "8" :string)
+ ("Gy" "8" :string)
+ ("Ty" "8" :string)
+ ("Cs" "8" :string)
+ ("Ny" "8" :string)
+ ("cs" "9" :string)
+ ("gy" "9" :string)
+ ("ly" "9" :string)
+ ("ty" "9" :string)
+ ("zs" "9" :string)
+ ("sz" "9" :string)
+ ("dz" "9" :string)
+ ("ny" "9" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("R" "8" :string)
+ ("" "9" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("" "9" :string)
+ ("j" "9" :string)
+ ("" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("" "9" :string)
+ ("s" "9" :string)
+ ("" "9" :string)
+ ("c" "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)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("o" "9" :string)
+ ))
+
+(define-rule-set "hu-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "hu-resolve-special"
+
+ :rules (("Dzs" "" :string)
+ ("DZS" "" :string)
+ ("dzs" "" :string)
+ ("DZs" "" :string)
+ ("NY" "" :string)
+ ("SZ" "" :string)
+ ("Dz" "" :string)
+ ("Sz" "" :string)
+ ("Ly" "" :string)
+ ("cs" "" :string)
+ ("TY" "" :string)
+ ("Zs" "" :string)
+ ("gy" "" :string)
+ ("ly" "" :string)
+ ("ty" "" :string)
+ ("Gy" "" :string)
+ ("zs" "" :string)
+ ("Ty" "" :string)
+ ("Cs" "" :string)
+ ("ZS" "" :string)
+ ("DZ" "" :string)
+ ("sz" "" :string)
+ ("LY" "" :string)
+ ("GY" "" :string)
+ ("dz" "" :string)
+ ("Ny" "" :string)
+ ("CS" "" :string)
+ ("ny" "" :string)
+ ("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("" "" :string)
+ ("V" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/hungarian/latin2-lang.xdy b/Master/texmf/xindy/lang/hungarian/latin2-lang.xdy
new file mode 100644
index 00000000000..c8e1872165a
--- /dev/null
+++ b/Master/texmf/xindy/lang/hungarian/latin2-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/hungarian/latin2.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("hu-alphabetize" "hu-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("hu-resolve-diacritics" "hu-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("hu-resolve-case" "hu-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("hu-resolve-special"))
diff --git a/Master/texmf/xindy/lang/hungarian/latin2-test.xdy b/Master/texmf/xindy/lang/hungarian/latin2-test.xdy
new file mode 100644
index 00000000000..6176f57bd17
--- /dev/null
+++ b/Master/texmf/xindy/lang/hungarian/latin2-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/hungarian/latin2.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("hu-alphabetize" "hu-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("hu-resolve-diacritics" "hu-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("hu-resolve-case" "hu-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("hu-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/lang/hungarian/latin2.xdy b/Master/texmf/xindy/lang/hungarian/latin2.xdy
new file mode 100644
index 00000000000..b65db49a7c5
--- /dev/null
+++ b/Master/texmf/xindy/lang/hungarian/latin2.xdy
@@ -0,0 +1,458 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Hungarian
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "Cs" :after "C" :prefixes (""))
+(define-letter-group "D" :after "Cs" :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 "Ny" :after "N" :prefixes (""))
+(define-letter-group "O" :after "Ny" :prefixes (""))
+(define-letter-group "" :after "O" :prefixes (""))
+(define-letter-group "P" :after "" :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 "Sz" :after "S" :prefixes (""))
+(define-letter-group "T" :after "Sz" :prefixes ("" ""))
+(define-letter-group "U" :after "T" :prefixes (""))
+(define-letter-group "" :after "U" :prefixes (""))
+(define-letter-group "V" :after "" :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-letter-group "Zs" :after "Z" :prefixes (""))
+
+(define-rule-set "hu-alphabetize"
+
+ :rules (("Dzs" "" :string)
+ ("DZS" "" :string)
+ ("dzs" "" :string)
+ ("DZs" "" :string)
+ ("cs" "" :string)
+ ("Cs" "" :string)
+ ("CS" "" :string)
+ ("Dz" "" :string)
+ ("DZ" "" :string)
+ ("dz" "" :string)
+ ("gy" "" :string)
+ ("Gy" "" :string)
+ ("GY" "" :string)
+ ("Ly" "" :string)
+ ("ly" "" :string)
+ ("LY" "" :string)
+ ("NY" "" :string)
+ ("Ny" "" :string)
+ ("ny" "" :string)
+ ("SZ" "" :string)
+ ("Sz" "" :string)
+ ("sz" "" :string)
+ ("TY" "" :string)
+ ("ty" "" :string)
+ ("Ty" "" :string)
+ ("Zs" "" :string)
+ ("zs" "" :string)
+ ("ZS" "" :string)
+ ("" "" :string)
+ ("a" "" :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)
+ ("" "" :string)
+ ("" "" :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)
+ ("O" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("P" "" :string)
+ ("p" "" :string)
+ ("q" "" :string)
+ ("Q" "" :string)
+ ("r" "" :string)
+ ("R" "" :string)
+ ("S" "" :string)
+ ("s" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("" "" :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 "hu-resolve-diacritics"
+
+ :rules (("Dzs" "" :string)
+ ("DZS" "" :string)
+ ("dzs" "" :string)
+ ("DZs" "" :string)
+ ("NY" "" :string)
+ ("SZ" "" :string)
+ ("Dz" "" :string)
+ ("Sz" "" :string)
+ ("Ly" "" :string)
+ ("cs" "" :string)
+ ("TY" "" :string)
+ ("Zs" "" :string)
+ ("gy" "" :string)
+ ("ly" "" :string)
+ ("ty" "" :string)
+ ("Gy" "" :string)
+ ("zs" "" :string)
+ ("Ty" "" :string)
+ ("Cs" "" :string)
+ ("ZS" "" :string)
+ ("DZ" "" :string)
+ ("sz" "" :string)
+ ("LY" "" :string)
+ ("GY" "" :string)
+ ("dz" "" :string)
+ ("Ny" "" :string)
+ ("CS" "" :string)
+ ("ny" "" :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)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "hu-resolve-case"
+
+ :rules (("DZS" "6" :string)
+ ("DZs" "7" :string)
+ ("Dzs" "8" :string)
+ ("dzs" "9" :string)
+ ("NY" "7" :string)
+ ("SZ" "7" :string)
+ ("TY" "7" :string)
+ ("ZS" "7" :string)
+ ("DZ" "7" :string)
+ ("LY" "7" :string)
+ ("GY" "7" :string)
+ ("CS" "7" :string)
+ ("Dz" "8" :string)
+ ("Sz" "8" :string)
+ ("Ly" "8" :string)
+ ("Zs" "8" :string)
+ ("Gy" "8" :string)
+ ("Ty" "8" :string)
+ ("Cs" "8" :string)
+ ("Ny" "8" :string)
+ ("cs" "9" :string)
+ ("gy" "9" :string)
+ ("ly" "9" :string)
+ ("ty" "9" :string)
+ ("zs" "9" :string)
+ ("sz" "9" :string)
+ ("dz" "9" :string)
+ ("ny" "9" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("R" "8" :string)
+ ("" "9" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("" "9" :string)
+ ("j" "9" :string)
+ ("" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("" "9" :string)
+ ("s" "9" :string)
+ ("" "9" :string)
+ ("c" "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)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("o" "9" :string)
+ ))
+
+(define-rule-set "hu-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "hu-resolve-special"
+
+ :rules (("Dzs" "" :string)
+ ("DZS" "" :string)
+ ("dzs" "" :string)
+ ("DZs" "" :string)
+ ("NY" "" :string)
+ ("SZ" "" :string)
+ ("Dz" "" :string)
+ ("Sz" "" :string)
+ ("Ly" "" :string)
+ ("cs" "" :string)
+ ("TY" "" :string)
+ ("Zs" "" :string)
+ ("gy" "" :string)
+ ("ly" "" :string)
+ ("ty" "" :string)
+ ("Gy" "" :string)
+ ("zs" "" :string)
+ ("Ty" "" :string)
+ ("Cs" "" :string)
+ ("ZS" "" :string)
+ ("DZ" "" :string)
+ ("sz" "" :string)
+ ("LY" "" :string)
+ ("GY" "" :string)
+ ("dz" "" :string)
+ ("Ny" "" :string)
+ ("CS" "" :string)
+ ("ny" "" :string)
+ ("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("" "" :string)
+ ("V" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/hungarian/utf8-lang.xdy b/Master/texmf/xindy/lang/hungarian/utf8-lang.xdy
new file mode 100644
index 00000000000..6cc10effd06
--- /dev/null
+++ b/Master/texmf/xindy/lang/hungarian/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/hungarian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("hu-alphabetize" "hu-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("hu-resolve-diacritics" "hu-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("hu-resolve-case" "hu-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("hu-resolve-special"))
diff --git a/Master/texmf/xindy/lang/hungarian/utf8-test.xdy b/Master/texmf/xindy/lang/hungarian/utf8-test.xdy
new file mode 100644
index 00000000000..3bcc5f2ecea
--- /dev/null
+++ b/Master/texmf/xindy/lang/hungarian/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/hungarian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("hu-alphabetize" "hu-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("hu-resolve-diacritics" "hu-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("hu-resolve-case" "hu-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("hu-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/lang/hungarian/utf8.xdy b/Master/texmf/xindy/lang/hungarian/utf8.xdy
new file mode 100644
index 00000000000..8d8dc9b3388
--- /dev/null
+++ b/Master/texmf/xindy/lang/hungarian/utf8.xdy
@@ -0,0 +1,466 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Hungarian
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "Cs" :after "C" :prefixes (""))
+(define-letter-group "D" :after "Cs" :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 "Ny" :after "N" :prefixes (""))
+(define-letter-group "O" :after "Ny" :prefixes (""))
+(define-letter-group "Ö" :after "O" :prefixes (""))
+(define-letter-group "P" :after "Ö" :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 "Sz" :after "S" :prefixes (""))
+(define-letter-group "T" :after "Sz" :prefixes ("" ""))
+(define-letter-group "U" :after "T" :prefixes (""))
+(define-letter-group "Ü" :after "U" :prefixes (""))
+(define-letter-group "V" :after "Ü" :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-letter-group "Zs" :after "Z" :prefixes (""))
+
+(define-rule-set "hu-alphabetize"
+
+ :rules (("Dzs" "" :string)
+ ("DZS" "" :string)
+ ("dzs" "" :string)
+ ("DZs" "" :string)
+ ("Á" "" :string)
+ ("á" "" :string)
+ ("à" "" :string)
+ ("À" "" :string)
+ ("cs" "" :string)
+ ("Cs" "" :string)
+ ("CS" "" :string)
+ ("Dz" "" :string)
+ ("DZ" "" :string)
+ ("dz" "" :string)
+ ("É" "" :string)
+ ("é" "" :string)
+ ("gy" "" :string)
+ ("Gy" "" :string)
+ ("GY" "" :string)
+ ("Í" "" :string)
+ ("í" "" :string)
+ ("Ly" "" :string)
+ ("ly" "" :string)
+ ("LY" "" :string)
+ ("NY" "" :string)
+ ("Ny" "" :string)
+ ("ny" "" :string)
+ ("Ó" "" :string)
+ ("ó" "" :string)
+ ("Ö" "" :string)
+ ("Ő" "" :string)
+ ("ö" "" :string)
+ ("ő" "" :string)
+ ("SZ" "" :string)
+ ("Sz" "" :string)
+ ("sz" "" :string)
+ ("TY" "" :string)
+ ("ty" "" :string)
+ ("Ty" "" :string)
+ ("Ú" "" :string)
+ ("ú" "" :string)
+ ("Ü" "" :string)
+ ("Ű" "" :string)
+ ("ű" "" :string)
+ ("ü" "" :string)
+ ("Zs" "" :string)
+ ("zs" "" :string)
+ ("ZS" "" :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 "hu-resolve-diacritics"
+
+ :rules (("Dzs" "" :string)
+ ("DZS" "" :string)
+ ("dzs" "" :string)
+ ("DZs" "" :string)
+ ("Ö" "" :string)
+ ("NY" "" :string)
+ ("SZ" "" :string)
+ ("Dz" "" :string)
+ ("Sz" "" :string)
+ ("Ly" "" :string)
+ ("cs" "" :string)
+ ("TY" "" :string)
+ ("Zs" "" :string)
+ ("Ü" "" :string)
+ ("gy" "" :string)
+ ("ly" "" :string)
+ ("ö" "" :string)
+ ("ty" "" :string)
+ ("Gy" "" :string)
+ ("zs" "" :string)
+ ("Ty" "" :string)
+ ("Cs" "" :string)
+ ("ZS" "" :string)
+ ("DZ" "" :string)
+ ("sz" "" :string)
+ ("LY" "" :string)
+ ("ü" "" :string)
+ ("GY" "" :string)
+ ("dz" "" :string)
+ ("Ny" "" :string)
+ ("CS" "" :string)
+ ("ny" "" :string)
+ ("Ő" "" :string)
+ ("Á" "" :string)
+ ("Ó" "" :string)
+ ("É" "" :string)
+ ("Í" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "hu-resolve-case"
+
+ :rules (("DZS" "6" :string)
+ ("DZs" "7" :string)
+ ("Dzs" "8" :string)
+ ("dzs" "9" :string)
+ ("NY" "7" :string)
+ ("SZ" "7" :string)
+ ("TY" "7" :string)
+ ("ZS" "7" :string)
+ ("DZ" "7" :string)
+ ("LY" "7" :string)
+ ("GY" "7" :string)
+ ("CS" "7" :string)
+ ("Ö" "8" :string)
+ ("Ő" "8" :string)
+ ("Á" "8" :string)
+ ("Dz" "8" :string)
+ ("Sz" "8" :string)
+ ("Ó" "8" :string)
+ ("É" "8" :string)
+ ("Ly" "8" :string)
+ ("Í" "8" :string)
+ ("Ú" "8" :string)
+ ("Zs" "8" :string)
+ ("Ü" "8" :string)
+ ("Gy" "8" :string)
+ ("Ty" "8" :string)
+ ("Cs" "8" :string)
+ ("Ű" "8" :string)
+ ("À" "8" :string)
+ ("Ny" "8" :string)
+ ("cs" "9" :string)
+ ("ú" "9" :string)
+ ("á" "9" :string)
+ ("gy" "9" :string)
+ ("ly" "9" :string)
+ ("ö" "9" :string)
+ ("ty" "9" :string)
+ ("zs" "9" :string)
+ ("à" "9" :string)
+ ("í" "9" :string)
+ ("ó" "9" :string)
+ ("ű" "9" :string)
+ ("sz" "9" :string)
+ ("é" "9" :string)
+ ("ü" "9" :string)
+ ("dz" "9" :string)
+ ("ny" "9" :string)
+ ("ő" "9" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "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 "hu-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "hu-resolve-special"
+
+ :rules (("Dzs" "" :string)
+ ("DZS" "" :string)
+ ("dzs" "" :string)
+ ("DZs" "" :string)
+ ("Ö" "" :string)
+ ("NY" "" :string)
+ ("SZ" "" :string)
+ ("Ő" "" :string)
+ ("Á" "" :string)
+ ("Dz" "" :string)
+ ("Sz" "" :string)
+ ("Ó" "" :string)
+ ("É" "" :string)
+ ("Ly" "" :string)
+ ("Í" "" :string)
+ ("cs" "" :string)
+ ("Ú" "" :string)
+ ("TY" "" :string)
+ ("Zs" "" :string)
+ ("ú" "" :string)
+ ("Ü" "" :string)
+ ("á" "" :string)
+ ("gy" "" :string)
+ ("ly" "" :string)
+ ("ö" "" :string)
+ ("ty" "" :string)
+ ("Gy" "" :string)
+ ("zs" "" :string)
+ ("Ty" "" :string)
+ ("Cs" "" :string)
+ ("à" "" :string)
+ ("Ű" "" :string)
+ ("ZS" "" :string)
+ ("í" "" :string)
+ ("DZ" "" :string)
+ ("ó" "" :string)
+ ("À" "" :string)
+ ("ű" "" :string)
+ ("sz" "" :string)
+ ("LY" "" :string)
+ ("é" "" :string)
+ ("ü" "" :string)
+ ("GY" "" :string)
+ ("dz" "" :string)
+ ("Ny" "" :string)
+ ("CS" "" :string)
+ ("ny" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/icelandic/cp1252-lang.xdy b/Master/texmf/xindy/lang/icelandic/cp1252-lang.xdy
new file mode 100644
index 00000000000..d69a4d588ea
--- /dev/null
+++ b/Master/texmf/xindy/lang/icelandic/cp1252-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/icelandic/cp1252.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("is-alphabetize" "is-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("is-resolve-diacritics" "is-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("is-resolve-case" "is-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("is-resolve-special"))
diff --git a/Master/texmf/xindy/lang/icelandic/cp1252-test.xdy b/Master/texmf/xindy/lang/icelandic/cp1252-test.xdy
new file mode 100644
index 00000000000..a3274f3d627
--- /dev/null
+++ b/Master/texmf/xindy/lang/icelandic/cp1252-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/icelandic/cp1252.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("is-alphabetize" "is-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("is-resolve-diacritics" "is-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("is-resolve-case" "is-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("is-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/lang/icelandic/cp1252.xdy b/Master/texmf/xindy/lang/icelandic/cp1252.xdy
new file mode 100644
index 00000000000..2ce24a8a714
--- /dev/null
+++ b/Master/texmf/xindy/lang/icelandic/cp1252.xdy
@@ -0,0 +1,405 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Icelandic
+
+(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 "" :after "D" :prefixes (""))
+(define-letter-group "E" :after "" :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-letter-group "" :after "Z" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+
+(define-rule-set "is-alphabetize"
+
+ :rules (("" "" :string)
+ ("a" "" :string)
+ ("A" "" :string)
+ ("" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("C" "" :string)
+ ("c" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("" "" :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)
+ ("O" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("w" "" :string)
+ ("W" "" :string)
+ ("X" "" :string)
+ ("x" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "is-resolve-diacritics"
+
+ :rules (("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)
+ ("" "" :string)
+ ("T" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :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 "is-resolve-case"
+
+ :rules (("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("" "8" :string)
+ ("Z" "8" :string)
+ ("" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("" "9" :string)
+ ("j" "9" :string)
+ ("" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("r" "9" :string)
+ ("" "9" :string)
+ ("x" "9" :string)
+ ("" "9" :string)
+ ("h" "9" :string)
+ ("f" "9" :string)
+ ("" "9" :string)
+ ("i" "9" :string)
+ ("n" "9" :string)
+ ("" "9" :string)
+ ("m" "9" :string)
+ ("l" "9" :string)
+ ("p" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("o" "9" :string)
+ ("" "99" :string)
+ ))
+
+(define-rule-set "is-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "is-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/icelandic/latin9-lang.xdy b/Master/texmf/xindy/lang/icelandic/latin9-lang.xdy
new file mode 100644
index 00000000000..cfd2254cff2
--- /dev/null
+++ b/Master/texmf/xindy/lang/icelandic/latin9-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/icelandic/latin9.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("is-alphabetize" "is-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("is-resolve-diacritics" "is-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("is-resolve-case" "is-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("is-resolve-special"))
diff --git a/Master/texmf/xindy/lang/icelandic/latin9-test.xdy b/Master/texmf/xindy/lang/icelandic/latin9-test.xdy
new file mode 100644
index 00000000000..04214cf19a5
--- /dev/null
+++ b/Master/texmf/xindy/lang/icelandic/latin9-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/icelandic/latin9.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("is-alphabetize" "is-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("is-resolve-diacritics" "is-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("is-resolve-case" "is-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("is-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/lang/icelandic/latin9.xdy b/Master/texmf/xindy/lang/icelandic/latin9.xdy
new file mode 100644
index 00000000000..c907c0e46c9
--- /dev/null
+++ b/Master/texmf/xindy/lang/icelandic/latin9.xdy
@@ -0,0 +1,405 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Icelandic
+
+(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 "" :after "D" :prefixes (""))
+(define-letter-group "E" :after "" :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-letter-group "" :after "Z" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+
+(define-rule-set "is-alphabetize"
+
+ :rules (("" "" :string)
+ ("a" "" :string)
+ ("A" "" :string)
+ ("" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("C" "" :string)
+ ("c" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("" "" :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)
+ ("O" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("w" "" :string)
+ ("W" "" :string)
+ ("X" "" :string)
+ ("x" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "is-resolve-diacritics"
+
+ :rules (("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)
+ ("" "" :string)
+ ("T" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :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 "is-resolve-case"
+
+ :rules (("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("" "8" :string)
+ ("Z" "8" :string)
+ ("" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("" "9" :string)
+ ("j" "9" :string)
+ ("" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("r" "9" :string)
+ ("" "9" :string)
+ ("x" "9" :string)
+ ("" "9" :string)
+ ("h" "9" :string)
+ ("f" "9" :string)
+ ("" "9" :string)
+ ("i" "9" :string)
+ ("n" "9" :string)
+ ("" "9" :string)
+ ("m" "9" :string)
+ ("l" "9" :string)
+ ("p" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("o" "9" :string)
+ ("" "99" :string)
+ ))
+
+(define-rule-set "is-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "is-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/icelandic/utf8-lang.xdy b/Master/texmf/xindy/lang/icelandic/utf8-lang.xdy
new file mode 100644
index 00000000000..cfb86d87605
--- /dev/null
+++ b/Master/texmf/xindy/lang/icelandic/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/icelandic/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("is-alphabetize" "is-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("is-resolve-diacritics" "is-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("is-resolve-case" "is-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("is-resolve-special"))
diff --git a/Master/texmf/xindy/lang/icelandic/utf8-test.xdy b/Master/texmf/xindy/lang/icelandic/utf8-test.xdy
new file mode 100644
index 00000000000..67e30287891
--- /dev/null
+++ b/Master/texmf/xindy/lang/icelandic/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/icelandic/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("is-alphabetize" "is-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("is-resolve-diacritics" "is-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("is-resolve-case" "is-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("is-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/lang/icelandic/utf8.xdy b/Master/texmf/xindy/lang/icelandic/utf8.xdy
new file mode 100644
index 00000000000..944bf46a421
--- /dev/null
+++ b/Master/texmf/xindy/lang/icelandic/utf8.xdy
@@ -0,0 +1,453 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Icelandic
+
+(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 "ð" :after "D" :prefixes (""))
+(define-letter-group "E" :after "ð" :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-letter-group "Þ" :after "Z" :prefixes (""))
+(define-letter-group "Æ" :after "Þ" :prefixes (""))
+(define-letter-group "Ö" :after "Æ" :prefixes (""))
+(define-letter-group "Å" :after "Ö" :prefixes (""))
+
+(define-rule-set "is-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)
+ ("ø" "" :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 "is-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)
+ ("é" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "is-resolve-case"
+
+ :rules (("Ę́" "8" :string)
+ ("Ǫ́" "8" :string)
+ ("ǫ́" "9" :string)
+ ("ę́" "9" :string)
+ ("Ý" "8" :string)
+ ("Ö" "8" :string)
+ ("Á" "8" :string)
+ ("Ó" "8" :string)
+ ("É" "8" :string)
+ ("Í" "8" :string)
+ ("Ú" "8" :string)
+ ("Ä" "8" :string)
+ ("Ü" "8" :string)
+ ("Æ" "8" :string)
+ ("Ǫ" "8" :string)
+ ("Å" "8" :string)
+ ("Œ" "8" :string)
+ ("Ę" "8" :string)
+ ("Ë" "8" :string)
+ ("Ø" "8" :string)
+ ("Þ" "8" :string)
+ ("Ǽ" "8" :string)
+ ("Ǿ" "8" :string)
+ ("Ð" "8" :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)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "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 "is-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "is-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)
+ ("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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/italian/latin1-lang.xdy b/Master/texmf/xindy/lang/italian/latin1-lang.xdy
new file mode 100644
index 00000000000..49adebf17b4
--- /dev/null
+++ b/Master/texmf/xindy/lang/italian/latin1-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/italian/latin1.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("it-alphabetize" "it-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("it-resolve-diacritics" "it-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("it-resolve-case" "it-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("it-resolve-special"))
diff --git a/Master/texmf/xindy/lang/italian/latin1-test.xdy b/Master/texmf/xindy/lang/italian/latin1-test.xdy
new file mode 100644
index 00000000000..8b2643dd0ed
--- /dev/null
+++ b/Master/texmf/xindy/lang/italian/latin1-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/italian/latin1.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("it-alphabetize" "it-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("it-resolve-diacritics" "it-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("it-resolve-case" "it-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("it-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/lang/italian/latin1.xdy b/Master/texmf/xindy/lang/italian/latin1.xdy
new file mode 100644
index 00000000000..f5f5628966d
--- /dev/null
+++ b/Master/texmf/xindy/lang/italian/latin1.xdy
@@ -0,0 +1,352 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Italian
+
+(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 "it-alphabetize"
+
+ :rules (("" "" :string)
+ ("a" "" :string)
+ ("A" "" :string)
+ ("" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("C" "" :string)
+ ("c" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("E" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("O" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("" "" :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 "it-resolve-diacritics"
+
+ :rules (("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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :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 "it-resolve-case"
+
+ :rules (("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("v" "9" :string)
+ ("" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("r" "9" :string)
+ ("x" "9" :string)
+ ("" "9" :string)
+ ("h" "9" :string)
+ ("f" "9" :string)
+ ("i" "9" :string)
+ ("n" "9" :string)
+ ("m" "9" :string)
+ ("l" "9" :string)
+ ("p" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("o" "9" :string)
+ ("" "99" :string)
+ ))
+
+(define-rule-set "it-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "it-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/italian/utf8-lang.xdy b/Master/texmf/xindy/lang/italian/utf8-lang.xdy
new file mode 100644
index 00000000000..ec45196c2f1
--- /dev/null
+++ b/Master/texmf/xindy/lang/italian/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/italian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("it-alphabetize" "it-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("it-resolve-diacritics" "it-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("it-resolve-case" "it-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("it-resolve-special"))
diff --git a/Master/texmf/xindy/lang/italian/utf8-test.xdy b/Master/texmf/xindy/lang/italian/utf8-test.xdy
new file mode 100644
index 00000000000..0f80e6da9b3
--- /dev/null
+++ b/Master/texmf/xindy/lang/italian/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/italian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("it-alphabetize" "it-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("it-resolve-diacritics" "it-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("it-resolve-case" "it-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("it-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/lang/italian/utf8.xdy b/Master/texmf/xindy/lang/italian/utf8.xdy
new file mode 100644
index 00000000000..35eeb5ff2ee
--- /dev/null
+++ b/Master/texmf/xindy/lang/italian/utf8.xdy
@@ -0,0 +1,352 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Italian
+
+(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 "it-alphabetize"
+
+ :rules (("à" "" :string)
+ ("À" "" :string)
+ ("É" "" :string)
+ ("È" "" :string)
+ ("è" "" :string)
+ ("é" "" :string)
+ ("Í" "" :string)
+ ("Ï" "" :string)
+ ("ï" "" :string)
+ ("ì" "" :string)
+ ("í" "" :string)
+ ("Ì" "" :string)
+ ("Ó" "" :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 "it-resolve-diacritics"
+
+ :rules (("Í" "" :string)
+ ("Ú" "" :string)
+ ("ú" "" :string)
+ ("í" "" :string)
+ ("ù" "" :string)
+ ("Ó" "" :string)
+ ("É" "" :string)
+ ("Ù" "" :string)
+ ("ì" "" :string)
+ ("ó" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "it-resolve-case"
+
+ :rules (("Ó" "8" :string)
+ ("É" "8" :string)
+ ("Ò" "8" :string)
+ ("Í" "8" :string)
+ ("Ï" "8" :string)
+ ("Ú" "8" :string)
+ ("Ù" "8" :string)
+ ("È" "8" :string)
+ ("À" "8" :string)
+ ("Ì" "8" :string)
+ ("ù" "9" :string)
+ ("ú" "9" :string)
+ ("ï" "9" :string)
+ ("ò" "9" :string)
+ ("ì" "9" :string)
+ ("à" "9" :string)
+ ("í" "9" :string)
+ ("ó" "9" :string)
+ ("è" "9" :string)
+ ("é" "9" :string)
+ ("ß" "99" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "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 "it-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "it-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)
+ ("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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/klingon/utf8-lang.xdy b/Master/texmf/xindy/lang/klingon/utf8-lang.xdy
new file mode 100644
index 00000000000..7ca9f2f7305
--- /dev/null
+++ b/Master/texmf/xindy/lang/klingon/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/klingon/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("k1-alphabetize" "k1-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("k1-resolve-diacritics" "k1-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("k1-resolve-case" "k1-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("k1-resolve-special"))
diff --git a/Master/texmf/xindy/lang/klingon/utf8-test.xdy b/Master/texmf/xindy/lang/klingon/utf8-test.xdy
new file mode 100644
index 00000000000..42b53835298
--- /dev/null
+++ b/Master/texmf/xindy/lang/klingon/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/klingon/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("k1-alphabetize" "k1-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("k1-resolve-diacritics" "k1-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("k1-resolve-case" "k1-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("k1-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/lang/klingon/utf8.xdy b/Master/texmf/xindy/lang/klingon/utf8.xdy
new file mode 100644
index 00000000000..78aa2bbc9e4
--- /dev/null
+++ b/Master/texmf/xindy/lang/klingon/utf8.xdy
@@ -0,0 +1,166 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Klingon
+
+(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 "k1-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)
+ ))
+
+(define-rule-set "k1-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)
+ ))
+
+(define-rule-set "k1-resolve-case"
+
+ :rules (("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ))
+
+(define-rule-set "k1-ignore-special"
+
+ :rules (("-" "" :string)
+ ("." "" :string)
+ ("!" "" :string)
+ ("{" "" :string)
+ ("?" "" :string)
+ ("}" "" :string)
+ ))
+
+(define-rule-set "k1-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)
+ ))
+
diff --git a/Master/texmf/xindy/lang/kurdish/bedirxan-latin5-lang.xdy b/Master/texmf/xindy/lang/kurdish/bedirxan-latin5-lang.xdy
new file mode 100644
index 00000000000..92fa7d15186
--- /dev/null
+++ b/Master/texmf/xindy/lang/kurdish/bedirxan-latin5-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/kurdish/bedirxan-latin5.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("ku-alphabetize" "ku-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("ku-resolve-diacritics" "ku-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("ku-resolve-case" "ku-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("ku-resolve-special"))
diff --git a/Master/texmf/xindy/lang/kurdish/bedirxan-latin5-test.xdy b/Master/texmf/xindy/lang/kurdish/bedirxan-latin5-test.xdy
new file mode 100644
index 00000000000..19c9b07dcc8
--- /dev/null
+++ b/Master/texmf/xindy/lang/kurdish/bedirxan-latin5-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/kurdish/bedirxan-latin5.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("ku-alphabetize" "ku-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("ku-resolve-diacritics" "ku-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("ku-resolve-case" "ku-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("ku-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/lang/kurdish/bedirxan-latin5.xdy b/Master/texmf/xindy/lang/kurdish/bedirxan-latin5.xdy
new file mode 100644
index 00000000000..cae28b5cd2c
--- /dev/null
+++ b/Master/texmf/xindy/lang/kurdish/bedirxan-latin5.xdy
@@ -0,0 +1,304 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Kurdish
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "" :after "C" :prefixes (""))
+(define-letter-group "D" :after "" :prefixes (""))
+(define-letter-group "E" :after "D" :prefixes (""))
+(define-letter-group "" :after "E" :prefixes (""))
+(define-letter-group "F" :after "" :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 "" :after "I" :prefixes (""))
+(define-letter-group "J" :after "" :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 "R" :after "P" :prefixes (""))
+(define-letter-group "S" :after "R" :prefixes (""))
+(define-letter-group "" :after "S" :prefixes (""))
+(define-letter-group "T" :after "" :prefixes (""))
+(define-letter-group "U" :after "T" :prefixes (""))
+(define-letter-group "" :after "U" :prefixes (""))
+(define-letter-group "V" :after "" :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 "ku-alphabetize"
+
+ :rules (("a" "" :string)
+ ("A" "" :string)
+ ("B" "" :string)
+ ("b" "" :string)
+ ("c" "" :string)
+ ("C" "" :string)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :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)
+ ("r" "" :string)
+ ("R" "" :string)
+ ("S" "" :string)
+ ("s" "" :string)
+ ("" "" :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 "ku-resolve-diacritics"
+
+ :rules (("S" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("y" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("t" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("" "" :string)
+ ("c" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("z" "" :string)
+ ("U" "" :string)
+ ("w" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("V" "" :string)
+ ("M" "" :string)
+ ("h" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("X" "" :string)
+ ("" "" :string)
+ ("P" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "ku-resolve-case"
+
+ :rules (("S" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("" "8" :string)
+ ("E" "8" :string)
+ ("Z" "8" :string)
+ ("" "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)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("V" "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)
+ ("a" "9" :string)
+ ("d" "9" :string)
+ ("j" "9" :string)
+ ("y" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("" "9" :string)
+ ("g" "9" :string)
+ ("t" "9" :string)
+ ("e" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("c" "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)
+ ("" "9" :string)
+ ("n" "9" :string)
+ ("" "9" :string)
+ ("m" "9" :string)
+ ("l" "9" :string)
+ ("p" "9" :string)
+ ("o" "9" :string)
+ ))
+
+(define-rule-set "ku-ignore-special"
+
+ :rules (("?" "" :string)
+ ("-" "" :string)
+ ("." "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ))
+
+(define-rule-set "ku-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("y" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("t" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("" "" :string)
+ ("c" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("z" "" :string)
+ ("U" "" :string)
+ ("w" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("V" "" :string)
+ ("M" "" :string)
+ ("h" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("X" "" :string)
+ ("" "" :string)
+ ("P" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/kurdish/bedirxan-utf8-lang.xdy b/Master/texmf/xindy/lang/kurdish/bedirxan-utf8-lang.xdy
new file mode 100644
index 00000000000..25ebe6614d3
--- /dev/null
+++ b/Master/texmf/xindy/lang/kurdish/bedirxan-utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/kurdish/bedirxan-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("ku-alphabetize" "ku-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("ku-resolve-diacritics" "ku-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("ku-resolve-case" "ku-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("ku-resolve-special"))
diff --git a/Master/texmf/xindy/lang/kurdish/bedirxan-utf8-test.xdy b/Master/texmf/xindy/lang/kurdish/bedirxan-utf8-test.xdy
new file mode 100644
index 00000000000..3a0f31f537a
--- /dev/null
+++ b/Master/texmf/xindy/lang/kurdish/bedirxan-utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/kurdish/bedirxan-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("ku-alphabetize" "ku-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("ku-resolve-diacritics" "ku-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("ku-resolve-case" "ku-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("ku-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/lang/kurdish/bedirxan-utf8.xdy b/Master/texmf/xindy/lang/kurdish/bedirxan-utf8.xdy
new file mode 100644
index 00000000000..fa007d79f55
--- /dev/null
+++ b/Master/texmf/xindy/lang/kurdish/bedirxan-utf8.xdy
@@ -0,0 +1,304 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Kurdish
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "Ç" :after "C" :prefixes (""))
+(define-letter-group "D" :after "Ç" :prefixes (""))
+(define-letter-group "E" :after "D" :prefixes (""))
+(define-letter-group "Ê" :after "E" :prefixes (""))
+(define-letter-group "F" :after "Ê" :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 "Î" :after "I" :prefixes (""))
+(define-letter-group "J" :after "Î" :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 "R" :after "P" :prefixes (""))
+(define-letter-group "S" :after "R" :prefixes (""))
+(define-letter-group "Ş" :after "S" :prefixes (""))
+(define-letter-group "T" :after "Ş" :prefixes (""))
+(define-letter-group "U" :after "T" :prefixes (""))
+(define-letter-group "Û" :after "U" :prefixes (""))
+(define-letter-group "V" :after "Û" :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 "ku-alphabetize"
+
+ :rules (("ç" "" :string)
+ ("Ç" "" :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)
+ ("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 "ku-resolve-diacritics"
+
+ :rules (("Î" "" :string)
+ ("ş" "" :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)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("z" "" :string)
+ ("U" "" :string)
+ ("w" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :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 "ku-resolve-case"
+
+ :rules (("Î" "8" :string)
+ ("Û" "8" :string)
+ ("Ç" "8" :string)
+ ("Ş" "8" :string)
+ ("Ê" "8" :string)
+ ("ş" "9" :string)
+ ("ç" "9" :string)
+ ("ê" "9" :string)
+ ("î" "9" :string)
+ ("û" "9" :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)
+ ("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)
+ ("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 "ku-ignore-special"
+
+ :rules (("?" "" :string)
+ ("-" "" :string)
+ ("." "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ))
+
+(define-rule-set "ku-resolve-special"
+
+ :rules (("Î" "" :string)
+ ("ş" "" :string)
+ ("ç" "" :string)
+ ("Û" "" :string)
+ ("Ç" "" :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)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("z" "" :string)
+ ("U" "" :string)
+ ("w" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :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)
+ ))
+
diff --git a/Master/texmf/xindy/lang/kurdish/turkish-i-latin5-lang.xdy b/Master/texmf/xindy/lang/kurdish/turkish-i-latin5-lang.xdy
new file mode 100644
index 00000000000..c6b6132f635
--- /dev/null
+++ b/Master/texmf/xindy/lang/kurdish/turkish-i-latin5-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/kurdish/turkish-i-latin5.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("ku-alphabetize" "ku-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("ku-resolve-diacritics" "ku-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("ku-resolve-case" "ku-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("ku-resolve-special"))
diff --git a/Master/texmf/xindy/lang/kurdish/turkish-i-latin5-test.xdy b/Master/texmf/xindy/lang/kurdish/turkish-i-latin5-test.xdy
new file mode 100644
index 00000000000..3d0b1f2feb2
--- /dev/null
+++ b/Master/texmf/xindy/lang/kurdish/turkish-i-latin5-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/kurdish/turkish-i-latin5.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("ku-alphabetize" "ku-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("ku-resolve-diacritics" "ku-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("ku-resolve-case" "ku-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("ku-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/lang/kurdish/turkish-i-latin5.xdy b/Master/texmf/xindy/lang/kurdish/turkish-i-latin5.xdy
new file mode 100644
index 00000000000..d91103386de
--- /dev/null
+++ b/Master/texmf/xindy/lang/kurdish/turkish-i-latin5.xdy
@@ -0,0 +1,304 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Kurdish
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "" :after "C" :prefixes (""))
+(define-letter-group "D" :after "" :prefixes (""))
+(define-letter-group "E" :after "D" :prefixes (""))
+(define-letter-group "" :after "E" :prefixes (""))
+(define-letter-group "F" :after "" :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 "" :after "I" :prefixes (""))
+(define-letter-group "J" :after "" :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 "R" :after "P" :prefixes (""))
+(define-letter-group "S" :after "R" :prefixes (""))
+(define-letter-group "" :after "S" :prefixes (""))
+(define-letter-group "T" :after "" :prefixes (""))
+(define-letter-group "U" :after "T" :prefixes (""))
+(define-letter-group "" :after "U" :prefixes (""))
+(define-letter-group "V" :after "" :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 "ku-alphabetize"
+
+ :rules (("a" "" :string)
+ ("A" "" :string)
+ ("B" "" :string)
+ ("b" "" :string)
+ ("c" "" :string)
+ ("C" "" :string)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :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)
+ ("r" "" :string)
+ ("R" "" :string)
+ ("S" "" :string)
+ ("s" "" :string)
+ ("" "" :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 "ku-resolve-diacritics"
+
+ :rules (("S" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("y" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("t" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("z" "" :string)
+ ("U" "" :string)
+ ("w" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("V" "" :string)
+ ("M" "" :string)
+ ("h" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("X" "" :string)
+ ("" "" :string)
+ ("P" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "ku-resolve-case"
+
+ :rules (("S" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("" "8" :string)
+ ("E" "8" :string)
+ ("Z" "8" :string)
+ ("J" "8" :string)
+ ("W" "8" :string)
+ ("" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("D" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("V" "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)
+ ("a" "9" :string)
+ ("d" "9" :string)
+ ("j" "9" :string)
+ ("y" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("" "9" :string)
+ ("g" "9" :string)
+ ("t" "9" :string)
+ ("e" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("" "9" :string)
+ ("c" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("r" "9" :string)
+ ("" "9" :string)
+ ("x" "9" :string)
+ ("h" "9" :string)
+ ("f" "9" :string)
+ ("i" "9" :string)
+ ("" "9" :string)
+ ("n" "9" :string)
+ ("" "9" :string)
+ ("m" "9" :string)
+ ("l" "9" :string)
+ ("p" "9" :string)
+ ("o" "9" :string)
+ ))
+
+(define-rule-set "ku-ignore-special"
+
+ :rules (("?" "" :string)
+ ("-" "" :string)
+ ("." "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ))
+
+(define-rule-set "ku-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("y" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("t" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("z" "" :string)
+ ("U" "" :string)
+ ("w" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("V" "" :string)
+ ("M" "" :string)
+ ("h" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("X" "" :string)
+ ("" "" :string)
+ ("P" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/kurdish/turkish-i-utf8-lang.xdy b/Master/texmf/xindy/lang/kurdish/turkish-i-utf8-lang.xdy
new file mode 100644
index 00000000000..397332cae69
--- /dev/null
+++ b/Master/texmf/xindy/lang/kurdish/turkish-i-utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/kurdish/turkish-i-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("ku-alphabetize" "ku-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("ku-resolve-diacritics" "ku-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("ku-resolve-case" "ku-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("ku-resolve-special"))
diff --git a/Master/texmf/xindy/lang/kurdish/turkish-i-utf8-test.xdy b/Master/texmf/xindy/lang/kurdish/turkish-i-utf8-test.xdy
new file mode 100644
index 00000000000..fb0733d41e5
--- /dev/null
+++ b/Master/texmf/xindy/lang/kurdish/turkish-i-utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/kurdish/turkish-i-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("ku-alphabetize" "ku-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("ku-resolve-diacritics" "ku-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("ku-resolve-case" "ku-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("ku-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/lang/kurdish/turkish-i-utf8.xdy b/Master/texmf/xindy/lang/kurdish/turkish-i-utf8.xdy
new file mode 100644
index 00000000000..0e2898eb6ac
--- /dev/null
+++ b/Master/texmf/xindy/lang/kurdish/turkish-i-utf8.xdy
@@ -0,0 +1,304 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Kurdish
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "Ç" :after "C" :prefixes (""))
+(define-letter-group "D" :after "Ç" :prefixes (""))
+(define-letter-group "E" :after "D" :prefixes (""))
+(define-letter-group "Ê" :after "E" :prefixes (""))
+(define-letter-group "F" :after "Ê" :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 "İ" :after "I" :prefixes (""))
+(define-letter-group "J" :after "İ" :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 "R" :after "P" :prefixes (""))
+(define-letter-group "S" :after "R" :prefixes (""))
+(define-letter-group "Ş" :after "S" :prefixes (""))
+(define-letter-group "T" :after "Ş" :prefixes (""))
+(define-letter-group "U" :after "T" :prefixes (""))
+(define-letter-group "Û" :after "U" :prefixes (""))
+(define-letter-group "V" :after "Û" :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 "ku-alphabetize"
+
+ :rules (("ç" "" :string)
+ ("Ç" "" :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)
+ ("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 "ku-resolve-diacritics"
+
+ :rules (("İ" "" :string)
+ ("ş" "" :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)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("z" "" :string)
+ ("U" "" :string)
+ ("w" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :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 "ku-resolve-case"
+
+ :rules (("İ" "8" :string)
+ ("Û" "8" :string)
+ ("Ç" "8" :string)
+ ("Ş" "8" :string)
+ ("Ê" "8" :string)
+ ("ş" "9" :string)
+ ("ı" "9" :string)
+ ("ç" "9" :string)
+ ("ê" "9" :string)
+ ("û" "9" :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)
+ ("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)
+ ("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 "ku-ignore-special"
+
+ :rules (("?" "" :string)
+ ("-" "" :string)
+ ("." "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ))
+
+(define-rule-set "ku-resolve-special"
+
+ :rules (("İ" "" :string)
+ ("ş" "" :string)
+ ("ı" "" :string)
+ ("ç" "" :string)
+ ("Û" "" :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)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("z" "" :string)
+ ("U" "" :string)
+ ("w" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :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)
+ ))
+
diff --git a/Master/texmf/xindy/lang/latin/caseisrt.xdy b/Master/texmf/xindy/lang/latin/caseisrt.xdy
new file mode 100644
index 00000000000..8b17010338e
--- /dev/null
+++ b/Master/texmf/xindy/lang/latin/caseisrt.xdy
@@ -0,0 +1,34 @@
+;; $Id: caseisrt.xdy,v 1.1 1996/07/03 18:44:47 kehr Exp $
+;;
+;; These are the sort-rules for a latin-based alphabet. Usually in an
+;; index lower- and uppercase letters appear intermixed. Therefore, we
+;; map all uppercase-letters to their lowercase counterpart.
+
+(sort-rule "A" "a")
+(sort-rule "B" "b")
+(sort-rule "C" "c")
+(sort-rule "D" "d")
+(sort-rule "E" "e")
+(sort-rule "F" "f")
+(sort-rule "G" "g")
+(sort-rule "H" "h")
+(sort-rule "I" "i")
+(sort-rule "J" "j")
+(sort-rule "K" "k")
+(sort-rule "L" "l")
+(sort-rule "M" "m")
+(sort-rule "N" "n")
+(sort-rule "O" "o")
+(sort-rule "P" "p")
+(sort-rule "Q" "q")
+(sort-rule "R" "r")
+(sort-rule "S" "s")
+(sort-rule "T" "t")
+(sort-rule "U" "u")
+(sort-rule "V" "v")
+(sort-rule "W" "w")
+(sort-rule "X" "x")
+(sort-rule "Y" "y")
+(sort-rule "Z" "z")
+
+;; End
diff --git a/Master/texmf/xindy/lang/latin/letgroup.xdy b/Master/texmf/xindy/lang/latin/letgroup.xdy
new file mode 100644
index 00000000000..f02680bd9e3
--- /dev/null
+++ b/Master/texmf/xindy/lang/latin/letgroup.xdy
@@ -0,0 +1,10 @@
+;; $Id: letgroup.xdy,v 1.3 1996/07/18 16:04:18 kehr Exp $
+;;
+;; This file contains the standard letter groups used in latin-based
+;; languages.
+
+(define-letter-groups
+ ("a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m"
+ "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"))
+
+;; End
diff --git a/Master/texmf/xindy/lang/latin/utf8-lang.xdy b/Master/texmf/xindy/lang/latin/utf8-lang.xdy
new file mode 100644
index 00000000000..f5e47c2cf15
--- /dev/null
+++ b/Master/texmf/xindy/lang/latin/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/latin/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("la-alphabetize" "la-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("la-resolve-diacritics" "la-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("la-resolve-case" "la-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("la-resolve-special"))
diff --git a/Master/texmf/xindy/lang/latin/utf8-test.xdy b/Master/texmf/xindy/lang/latin/utf8-test.xdy
new file mode 100644
index 00000000000..3191aa8f423
--- /dev/null
+++ b/Master/texmf/xindy/lang/latin/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/latin/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("la-alphabetize" "la-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("la-resolve-diacritics" "la-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("la-resolve-case" "la-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("la-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/lang/latin/utf8.xdy b/Master/texmf/xindy/lang/latin/utf8.xdy
new file mode 100644
index 00000000000..0c240a531d5
--- /dev/null
+++ b/Master/texmf/xindy/lang/latin/utf8.xdy
@@ -0,0 +1,352 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Latin
+
+(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 "la-alphabetize"
+
+ :rules (("Ă" "" :string)
+ ("Ā" "" :string)
+ ("ā" "" :string)
+ ("ă" "" :string)
+ ("Ĕ" "" :string)
+ ("Ē" "" :string)
+ ("ē" "" :string)
+ ("ĕ" "" :string)
+ ("Ĭ" "" :string)
+ ("ī" "" :string)
+ ("Ī" "" :string)
+ ("ĭ" "" :string)
+ ("Ō" "" :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 "la-resolve-diacritics"
+
+ :rules (("ū" "" :string)
+ ("Ē" "" :string)
+ ("Ā" "" :string)
+ ("Ū" "" :string)
+ ("Ō" "" :string)
+ ("ī" "" :string)
+ ("ē" "" :string)
+ ("Ī" "" :string)
+ ("ā" "" :string)
+ ("ō" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "la-resolve-case"
+
+ :rules (("Ĕ" "8" :string)
+ ("Ă" "8" :string)
+ ("Ē" "8" :string)
+ ("Ĭ" "8" :string)
+ ("Ā" "8" :string)
+ ("Ū" "8" :string)
+ ("Ŭ" "8" :string)
+ ("Ō" "8" :string)
+ ("Ī" "8" :string)
+ ("Ŏ" "8" :string)
+ ("ū" "9" :string)
+ ("ŭ" "9" :string)
+ ("ī" "9" :string)
+ ("ē" "9" :string)
+ ("ā" "9" :string)
+ ("ŏ" "9" :string)
+ ("ă" "9" :string)
+ ("ō" "9" :string)
+ ("ĕ" "9" :string)
+ ("ĭ" "9" :string)
+ ("ß" "99" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "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 "la-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "la-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)
+ ("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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/latvian/latin4-lang.xdy b/Master/texmf/xindy/lang/latvian/latin4-lang.xdy
new file mode 100644
index 00000000000..0c6aa43c84f
--- /dev/null
+++ b/Master/texmf/xindy/lang/latvian/latin4-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/latvian/latin4.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("lv-alphabetize" "lv-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("lv-resolve-diacritics" "lv-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("lv-resolve-case" "lv-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("lv-resolve-special"))
diff --git a/Master/texmf/xindy/lang/latvian/latin4-test.xdy b/Master/texmf/xindy/lang/latvian/latin4-test.xdy
new file mode 100644
index 00000000000..3891a7b1d5b
--- /dev/null
+++ b/Master/texmf/xindy/lang/latvian/latin4-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/latvian/latin4.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("lv-alphabetize" "lv-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("lv-resolve-diacritics" "lv-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("lv-resolve-case" "lv-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("lv-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/lang/latvian/latin4.xdy b/Master/texmf/xindy/lang/latvian/latin4.xdy
new file mode 100644
index 00000000000..2c321d26e2d
--- /dev/null
+++ b/Master/texmf/xindy/lang/latvian/latin4.xdy
@@ -0,0 +1,383 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Latvian
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "" :after "C" :prefixes (""))
+(define-letter-group "D" :after "" :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 "" :after "G" :prefixes (""))
+(define-letter-group "H" :after "" :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 "" :after "K" :prefixes (""))
+(define-letter-group "L" :after "" :prefixes (""))
+(define-letter-group "" :after "L" :prefixes (""))
+(define-letter-group "M" :after "" :prefixes (""))
+(define-letter-group "N" :after "M" :prefixes (""))
+(define-letter-group "" :after "N" :prefixes (""))
+(define-letter-group "O" :after "" :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 "" :after "R" :prefixes (""))
+(define-letter-group "S" :after "" :prefixes (""))
+(define-letter-group "" :after "S" :prefixes (""))
+(define-letter-group "T" :after "" :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 "Z" :after "X" :prefixes (""))
+(define-letter-group "" :after "Z" :prefixes (""))
+
+(define-rule-set "lv-alphabetize"
+
+ :rules (("" "" :string)
+ ("a" "" :string)
+ ("A" "" :string)
+ ("" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("C" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("E" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("I" "" :string)
+ ("i" "" :string)
+ ("J" "" :string)
+ ("j" "" :string)
+ ("K" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("L" "" :string)
+ ("l" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("M" "" :string)
+ ("m" "" :string)
+ ("N" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("O" "" :string)
+ ("o" "" :string)
+ ("P" "" :string)
+ ("p" "" :string)
+ ("q" "" :string)
+ ("Q" "" :string)
+ ("r" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("S" "" :string)
+ ("s" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("w" "" :string)
+ ("W" "" :string)
+ ("X" "" :string)
+ ("x" "" :string)
+ ("z" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "lv-resolve-diacritics"
+
+ :rules (("S" "" :string)
+ ("" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("E" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "lv-resolve-case"
+
+ :rules (("S" "8" :string)
+ ("" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("" "8" :string)
+ ("Z" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("" "9" :string)
+ ("t" "9" :string)
+ ("" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("" "9" :string)
+ ("r" "9" :string)
+ ("x" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("h" "9" :string)
+ ("" "9" :string)
+ ("f" "9" :string)
+ ("i" "9" :string)
+ ("n" "9" :string)
+ ("" "9" :string)
+ ("m" "9" :string)
+ ("l" "9" :string)
+ ("p" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("o" "9" :string)
+ ("" "99" :string)
+ ))
+
+(define-rule-set "lv-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "lv-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/latvian/utf8-lang.xdy b/Master/texmf/xindy/lang/latvian/utf8-lang.xdy
new file mode 100644
index 00000000000..9d10cae5921
--- /dev/null
+++ b/Master/texmf/xindy/lang/latvian/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/latvian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("lv-alphabetize" "lv-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("lv-resolve-diacritics" "lv-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("lv-resolve-case" "lv-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("lv-resolve-special"))
diff --git a/Master/texmf/xindy/lang/latvian/utf8-test.xdy b/Master/texmf/xindy/lang/latvian/utf8-test.xdy
new file mode 100644
index 00000000000..7e36114e10d
--- /dev/null
+++ b/Master/texmf/xindy/lang/latvian/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/latvian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("lv-alphabetize" "lv-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("lv-resolve-diacritics" "lv-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("lv-resolve-case" "lv-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("lv-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/lang/latvian/utf8.xdy b/Master/texmf/xindy/lang/latvian/utf8.xdy
new file mode 100644
index 00000000000..933adf0c915
--- /dev/null
+++ b/Master/texmf/xindy/lang/latvian/utf8.xdy
@@ -0,0 +1,383 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Latvian
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "Č" :after "C" :prefixes (""))
+(define-letter-group "D" :after "Č" :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 "Ģ" :after "G" :prefixes (""))
+(define-letter-group "H" :after "Ģ" :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 "Ķ" :after "K" :prefixes (""))
+(define-letter-group "L" :after "Ķ" :prefixes (""))
+(define-letter-group "Ļ" :after "L" :prefixes (""))
+(define-letter-group "M" :after "Ļ" :prefixes (""))
+(define-letter-group "N" :after "M" :prefixes (""))
+(define-letter-group "Ņ" :after "N" :prefixes (""))
+(define-letter-group "O" :after "Ņ" :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 "Ŗ" :after "R" :prefixes (""))
+(define-letter-group "S" :after "Ŗ" :prefixes (""))
+(define-letter-group "Š" :after "S" :prefixes (""))
+(define-letter-group "T" :after "Š" :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 "Z" :after "X" :prefixes (""))
+(define-letter-group "Ž" :after "Z" :prefixes (""))
+
+(define-rule-set "lv-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)
+ ("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)
+ ("Y" "" :string)
+ ("y" "" :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)
+ ("z" "" :string)
+ ("Z" "" :string)
+ ))
+
+(define-rule-set "lv-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)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("E" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ))
+
+(define-rule-set "lv-resolve-case"
+
+ :rules (("Ž" "8" :string)
+ ("Ē" "8" :string)
+ ("Ā" "8" :string)
+ ("Ū" "8" :string)
+ ("Š" "8" :string)
+ ("Ō" "8" :string)
+ ("Ņ" "8" :string)
+ ("Ī" "8" :string)
+ ("Č" "8" :string)
+ ("Ŗ" "8" :string)
+ ("Ķ" "8" :string)
+ ("Ļ" "8" :string)
+ ("Ģ" "8" :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)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "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 "lv-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "lv-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)
+ ("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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/lithuanian/latin4-lang.xdy b/Master/texmf/xindy/lang/lithuanian/latin4-lang.xdy
new file mode 100644
index 00000000000..b030976c4f3
--- /dev/null
+++ b/Master/texmf/xindy/lang/lithuanian/latin4-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/lithuanian/latin4.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("lt-alphabetize" "lt-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("lt-resolve-diacritics" "lt-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("lt-resolve-case" "lt-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("lt-resolve-special"))
diff --git a/Master/texmf/xindy/lang/lithuanian/latin4-test.xdy b/Master/texmf/xindy/lang/lithuanian/latin4-test.xdy
new file mode 100644
index 00000000000..bccb9bd1a3b
--- /dev/null
+++ b/Master/texmf/xindy/lang/lithuanian/latin4-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/lithuanian/latin4.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("lt-alphabetize" "lt-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("lt-resolve-diacritics" "lt-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("lt-resolve-case" "lt-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("lt-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/lang/lithuanian/latin4.xdy b/Master/texmf/xindy/lang/lithuanian/latin4.xdy
new file mode 100644
index 00000000000..5acf43cefd9
--- /dev/null
+++ b/Master/texmf/xindy/lang/lithuanian/latin4.xdy
@@ -0,0 +1,354 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Lithuanian
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "" :after "C" :prefixes (""))
+(define-letter-group "D" :after "" :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 "" :after "S" :prefixes (""))
+(define-letter-group "T" :after "" :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 "Z" :after "X" :prefixes (""))
+(define-letter-group "" :after "Z" :prefixes (""))
+
+(define-rule-set "lt-alphabetize"
+
+ :rules (("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("A" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("C" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("E" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("w" "" :string)
+ ("W" "" :string)
+ ("X" "" :string)
+ ("x" "" :string)
+ ("z" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "lt-resolve-diacritics"
+
+ :rules (("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("E" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "lt-resolve-case"
+
+ :rules (("CH" "7" :string)
+ ("Ch" "8" :string)
+ ("ch" "9" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("" "8" :string)
+ ("L" "8" :string)
+ ("" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("" "8" :string)
+ ("Z" "8" :string)
+ ("" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("" "9" :string)
+ ("t" "9" :string)
+ ("" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("r" "9" :string)
+ ("x" "9" :string)
+ ("" "9" :string)
+ ("h" "9" :string)
+ ("" "9" :string)
+ ("f" "9" :string)
+ ("i" "9" :string)
+ ("n" "9" :string)
+ ("" "9" :string)
+ ("m" "9" :string)
+ ("l" "9" :string)
+ ("p" "9" :string)
+ ("o" "9" :string)
+ ))
+
+(define-rule-set "lt-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "lt-resolve-special"
+
+ :rules (("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/lithuanian/utf8-lang.xdy b/Master/texmf/xindy/lang/lithuanian/utf8-lang.xdy
new file mode 100644
index 00000000000..4125ac510d4
--- /dev/null
+++ b/Master/texmf/xindy/lang/lithuanian/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/lithuanian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("lt-alphabetize" "lt-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("lt-resolve-diacritics" "lt-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("lt-resolve-case" "lt-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("lt-resolve-special"))
diff --git a/Master/texmf/xindy/lang/lithuanian/utf8-test.xdy b/Master/texmf/xindy/lang/lithuanian/utf8-test.xdy
new file mode 100644
index 00000000000..32feaafb063
--- /dev/null
+++ b/Master/texmf/xindy/lang/lithuanian/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/lithuanian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("lt-alphabetize" "lt-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("lt-resolve-diacritics" "lt-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("lt-resolve-case" "lt-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("lt-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/lang/lithuanian/utf8.xdy b/Master/texmf/xindy/lang/lithuanian/utf8.xdy
new file mode 100644
index 00000000000..0c42cb70dc9
--- /dev/null
+++ b/Master/texmf/xindy/lang/lithuanian/utf8.xdy
@@ -0,0 +1,354 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Lithuanian
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "Č" :after "C" :prefixes (""))
+(define-letter-group "D" :after "Č" :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 "Š" :after "S" :prefixes (""))
+(define-letter-group "T" :after "Š" :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 "Z" :after "X" :prefixes (""))
+(define-letter-group "Ž" :after "Z" :prefixes (""))
+
+(define-rule-set "lt-alphabetize"
+
+ :rules (("ą" "" :string)
+ ("Ą" "" :string)
+ ("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("č" "" :string)
+ ("Č" "" :string)
+ ("ė" "" :string)
+ ("Ė" "" :string)
+ ("Ę" "" :string)
+ ("ę" "" :string)
+ ("į" "" :string)
+ ("Į" "" :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)
+ ("Y" "" :string)
+ ("y" "" :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)
+ ("z" "" :string)
+ ("Z" "" :string)
+ ))
+
+(define-rule-set "lt-resolve-diacritics"
+
+ :rules (("Ž" "" :string)
+ ("č" "" :string)
+ ("Š" "" :string)
+ ("š" "" :string)
+ ("Č" "" :string)
+ ("ž" "" :string)
+ ("į" "" :string)
+ ("Į" "" :string)
+ ("ą" "" :string)
+ ("Ch" "" :string)
+ ("ch" "" :string)
+ ("Ą" "" :string)
+ ("Ę" "" :string)
+ ("ų" "" :string)
+ ("CH" "" :string)
+ ("Ų" "" :string)
+ ("ę" "" :string)
+ ("ė" "" :string)
+ ("ū" "" :string)
+ ("Ė" "" :string)
+ ("Ū" "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("E" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ))
+
+(define-rule-set "lt-resolve-case"
+
+ :rules (("CH" "7" :string)
+ ("Ž" "8" :string)
+ ("Į" "8" :string)
+ ("Ch" "8" :string)
+ ("Ė" "8" :string)
+ ("Ū" "8" :string)
+ ("Š" "8" :string)
+ ("Ą" "8" :string)
+ ("Ę" "8" :string)
+ ("Ų" "8" :string)
+ ("Č" "8" :string)
+ ("į" "9" :string)
+ ("ė" "9" :string)
+ ("ą" "9" :string)
+ ("ū" "9" :string)
+ ("č" "9" :string)
+ ("ch" "9" :string)
+ ("š" "9" :string)
+ ("ų" "9" :string)
+ ("ž" "9" :string)
+ ("ę" "9" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "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 "lt-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "lt-resolve-special"
+
+ :rules (("į" "" :string)
+ ("Ž" "" :string)
+ ("Į" "" :string)
+ ("ė" "" :string)
+ ("ą" "" :string)
+ ("Ch" "" :string)
+ ("ū" "" :string)
+ ("č" "" :string)
+ ("ch" "" :string)
+ ("Ė" "" :string)
+ ("Ū" "" :string)
+ ("Š" "" :string)
+ ("Ą" "" :string)
+ ("š" "" :string)
+ ("Ę" "" :string)
+ ("ų" "" :string)
+ ("CH" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/lower-sorbian/cp1250-lang.xdy b/Master/texmf/xindy/lang/lower-sorbian/cp1250-lang.xdy
new file mode 100644
index 00000000000..8d29cc8f3a1
--- /dev/null
+++ b/Master/texmf/xindy/lang/lower-sorbian/cp1250-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/lower-sorbian/cp1250.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("s1-alphabetize" "s1-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("s1-resolve-diacritics" "s1-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("s1-resolve-case" "s1-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("s1-resolve-special"))
diff --git a/Master/texmf/xindy/lang/lower-sorbian/cp1250-test.xdy b/Master/texmf/xindy/lang/lower-sorbian/cp1250-test.xdy
new file mode 100644
index 00000000000..c92979a89bd
--- /dev/null
+++ b/Master/texmf/xindy/lang/lower-sorbian/cp1250-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/lower-sorbian/cp1250.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("s1-alphabetize" "s1-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("s1-resolve-diacritics" "s1-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("s1-resolve-case" "s1-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("s1-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/lang/lower-sorbian/cp1250.xdy b/Master/texmf/xindy/lang/lower-sorbian/cp1250.xdy
new file mode 100644
index 00000000000..0c4188d4119
--- /dev/null
+++ b/Master/texmf/xindy/lang/lower-sorbian/cp1250.xdy
@@ -0,0 +1,375 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Lower Sorbian
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "" :after "C" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "D" :after "" :prefixes (""))
+(define-letter-group "E" :after "D" :prefixes (""))
+(define-letter-group "" :after "E" :prefixes (""))
+(define-letter-group "F" :after "" :prefixes (""))
+(define-letter-group "G" :after "F" :prefixes (""))
+(define-letter-group "H" :after "G" :prefixes (""))
+(define-letter-group "Ch" :after "H" :prefixes (""))
+(define-letter-group "I" :after "Ch" :prefixes (""))
+(define-letter-group "J" :after "I" :prefixes (""))
+(define-letter-group "K" :after "J" :prefixes (""))
+(define-letter-group "" :after "K" :prefixes (""))
+(define-letter-group "L" :after "" :prefixes (""))
+(define-letter-group "M" :after "L" :prefixes (""))
+(define-letter-group "N" :after "M" :prefixes (""))
+(define-letter-group "" :after "N" :prefixes (""))
+(define-letter-group "O" :after "" :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 "" :after "R" :prefixes (""))
+(define-letter-group "S" :after "" :prefixes (""))
+(define-letter-group "" :after "S" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "T" :after "" :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-letter-group "" :after "Z" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+
+(define-rule-set "s1-alphabetize"
+
+ :rules (("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("a" "" :string)
+ ("A" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("C" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ("S" "" :string)
+ ("s" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "s1-resolve-diacritics"
+
+ :rules (("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "s1-resolve-case"
+
+ :rules (("CH" "7" :string)
+ ("Ch" "8" :string)
+ ("ch" "9" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("r" "9" :string)
+ ("" "9" :string)
+ ("x" "9" :string)
+ ("" "9" :string)
+ ("h" "9" :string)
+ ("f" "9" :string)
+ ("i" "9" :string)
+ ("n" "9" :string)
+ ("m" "9" :string)
+ ("l" "9" :string)
+ ("p" "9" :string)
+ ("" "9" :string)
+ ("o" "9" :string)
+ ("" "99" :string)
+ ))
+
+(define-rule-set "s1-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "s1-resolve-special"
+
+ :rules (("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/lower-sorbian/latin2-lang.xdy b/Master/texmf/xindy/lang/lower-sorbian/latin2-lang.xdy
new file mode 100644
index 00000000000..50fa742eea6
--- /dev/null
+++ b/Master/texmf/xindy/lang/lower-sorbian/latin2-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/lower-sorbian/latin2.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("s1-alphabetize" "s1-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("s1-resolve-diacritics" "s1-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("s1-resolve-case" "s1-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("s1-resolve-special"))
diff --git a/Master/texmf/xindy/lang/lower-sorbian/latin2-test.xdy b/Master/texmf/xindy/lang/lower-sorbian/latin2-test.xdy
new file mode 100644
index 00000000000..bb8b45820fe
--- /dev/null
+++ b/Master/texmf/xindy/lang/lower-sorbian/latin2-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/lower-sorbian/latin2.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("s1-alphabetize" "s1-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("s1-resolve-diacritics" "s1-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("s1-resolve-case" "s1-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("s1-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/lang/lower-sorbian/latin2.xdy b/Master/texmf/xindy/lang/lower-sorbian/latin2.xdy
new file mode 100644
index 00000000000..c12614753f6
--- /dev/null
+++ b/Master/texmf/xindy/lang/lower-sorbian/latin2.xdy
@@ -0,0 +1,375 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Lower Sorbian
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "" :after "C" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "D" :after "" :prefixes (""))
+(define-letter-group "E" :after "D" :prefixes (""))
+(define-letter-group "" :after "E" :prefixes (""))
+(define-letter-group "F" :after "" :prefixes (""))
+(define-letter-group "G" :after "F" :prefixes (""))
+(define-letter-group "H" :after "G" :prefixes (""))
+(define-letter-group "Ch" :after "H" :prefixes (""))
+(define-letter-group "I" :after "Ch" :prefixes (""))
+(define-letter-group "J" :after "I" :prefixes (""))
+(define-letter-group "K" :after "J" :prefixes (""))
+(define-letter-group "" :after "K" :prefixes (""))
+(define-letter-group "L" :after "" :prefixes (""))
+(define-letter-group "M" :after "L" :prefixes (""))
+(define-letter-group "N" :after "M" :prefixes (""))
+(define-letter-group "" :after "N" :prefixes (""))
+(define-letter-group "O" :after "" :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 "" :after "R" :prefixes (""))
+(define-letter-group "S" :after "" :prefixes (""))
+(define-letter-group "" :after "S" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "T" :after "" :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-letter-group "" :after "Z" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+
+(define-rule-set "s1-alphabetize"
+
+ :rules (("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("a" "" :string)
+ ("A" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("C" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ("S" "" :string)
+ ("s" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "s1-resolve-diacritics"
+
+ :rules (("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("S" "" :string)
+ ("" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "s1-resolve-case"
+
+ :rules (("CH" "7" :string)
+ ("Ch" "8" :string)
+ ("ch" "9" :string)
+ ("S" "8" :string)
+ ("" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("" "9" :string)
+ ("r" "9" :string)
+ ("x" "9" :string)
+ ("" "9" :string)
+ ("h" "9" :string)
+ ("" "9" :string)
+ ("f" "9" :string)
+ ("i" "9" :string)
+ ("n" "9" :string)
+ ("m" "9" :string)
+ ("l" "9" :string)
+ ("p" "9" :string)
+ ("" "9" :string)
+ ("o" "9" :string)
+ ("" "99" :string)
+ ))
+
+(define-rule-set "s1-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "s1-resolve-special"
+
+ :rules (("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/lower-sorbian/utf8-lang.xdy b/Master/texmf/xindy/lang/lower-sorbian/utf8-lang.xdy
new file mode 100644
index 00000000000..bc03542d653
--- /dev/null
+++ b/Master/texmf/xindy/lang/lower-sorbian/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/lower-sorbian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("s1-alphabetize" "s1-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("s1-resolve-diacritics" "s1-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("s1-resolve-case" "s1-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("s1-resolve-special"))
diff --git a/Master/texmf/xindy/lang/lower-sorbian/utf8-test.xdy b/Master/texmf/xindy/lang/lower-sorbian/utf8-test.xdy
new file mode 100644
index 00000000000..3b857082cb0
--- /dev/null
+++ b/Master/texmf/xindy/lang/lower-sorbian/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/lower-sorbian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("s1-alphabetize" "s1-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("s1-resolve-diacritics" "s1-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("s1-resolve-case" "s1-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("s1-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/lang/lower-sorbian/utf8.xdy b/Master/texmf/xindy/lang/lower-sorbian/utf8.xdy
new file mode 100644
index 00000000000..e2967909483
--- /dev/null
+++ b/Master/texmf/xindy/lang/lower-sorbian/utf8.xdy
@@ -0,0 +1,375 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Lower Sorbian
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "Č" :after "C" :prefixes (""))
+(define-letter-group "Ć" :after "Č" :prefixes (""))
+(define-letter-group "D" :after "Ć" :prefixes (""))
+(define-letter-group "E" :after "D" :prefixes (""))
+(define-letter-group "Ě" :after "E" :prefixes (""))
+(define-letter-group "F" :after "Ě" :prefixes (""))
+(define-letter-group "G" :after "F" :prefixes (""))
+(define-letter-group "H" :after "G" :prefixes (""))
+(define-letter-group "Ch" :after "H" :prefixes (""))
+(define-letter-group "I" :after "Ch" :prefixes (""))
+(define-letter-group "J" :after "I" :prefixes (""))
+(define-letter-group "K" :after "J" :prefixes (""))
+(define-letter-group "Ł" :after "K" :prefixes (""))
+(define-letter-group "L" :after "Ł" :prefixes (""))
+(define-letter-group "M" :after "L" :prefixes (""))
+(define-letter-group "N" :after "M" :prefixes (""))
+(define-letter-group "Ń" :after "N" :prefixes (""))
+(define-letter-group "O" :after "Ń" :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 "Ŕ" :after "R" :prefixes (""))
+(define-letter-group "S" :after "Ŕ" :prefixes (""))
+(define-letter-group "Š" :after "S" :prefixes (""))
+(define-letter-group "Ś" :after "Š" :prefixes (""))
+(define-letter-group "T" :after "Ś" :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-letter-group "Ž" :after "Z" :prefixes (""))
+(define-letter-group "Ź" :after "Ž" :prefixes (""))
+
+(define-rule-set "s1-alphabetize"
+
+ :rules (("č" "" :string)
+ ("Č" "" :string)
+ ("Ć" "" :string)
+ ("ć" "" :string)
+ ("Ě" "" :string)
+ ("ě" "" :string)
+ ("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("ł" "" :string)
+ ("Ł" "" :string)
+ ("Ń" "" :string)
+ ("ń" "" :string)
+ ("ŕ" "" :string)
+ ("Ŕ" "" :string)
+ ("ß" "" :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 "s1-resolve-diacritics"
+
+ :rules (("Ě" "" :string)
+ ("Ž" "" :string)
+ ("ŕ" "" :string)
+ ("Ch" "" :string)
+ ("ł" "" :string)
+ ("Ł" "" :string)
+ ("č" "" :string)
+ ("ch" "" :string)
+ ("ě" "" :string)
+ ("Ŕ" "" :string)
+ ("Š" "" :string)
+ ("š" "" :string)
+ ("Ć" "" :string)
+ ("CH" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "s1-resolve-case"
+
+ :rules (("CH" "7" :string)
+ ("Ě" "8" :string)
+ ("Ž" "8" :string)
+ ("Ch" "8" :string)
+ ("Ł" "8" :string)
+ ("Ŕ" "8" :string)
+ ("Š" "8" :string)
+ ("Ć" "8" :string)
+ ("Ź" "8" :string)
+ ("Č" "8" :string)
+ ("Ń" "8" :string)
+ ("Ś" "8" :string)
+ ("ŕ" "9" :string)
+ ("ł" "9" :string)
+ ("č" "9" :string)
+ ("ch" "9" :string)
+ ("ě" "9" :string)
+ ("š" "9" :string)
+ ("ś" "9" :string)
+ ("ź" "9" :string)
+ ("ń" "9" :string)
+ ("ć" "9" :string)
+ ("ž" "9" :string)
+ ("ß" "99" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "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 "s1-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "s1-resolve-special"
+
+ :rules (("Ě" "" :string)
+ ("Ž" "" :string)
+ ("ŕ" "" :string)
+ ("Ch" "" :string)
+ ("ł" "" :string)
+ ("Ł" "" :string)
+ ("č" "" :string)
+ ("ch" "" :string)
+ ("ě" "" :string)
+ ("Ŕ" "" :string)
+ ("Š" "" :string)
+ ("š" "" :string)
+ ("Ć" "" :string)
+ ("CH" "" :string)
+ ("Ź" "" :string)
+ ("Č" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/macedonian/cp1251-lang.xdy b/Master/texmf/xindy/lang/macedonian/cp1251-lang.xdy
new file mode 100644
index 00000000000..9fe7ef7d118
--- /dev/null
+++ b/Master/texmf/xindy/lang/macedonian/cp1251-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/macedonian/cp1251.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("mk-alphabetize" "mk-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("mk-resolve-diacritics" "mk-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("mk-resolve-case" "mk-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("mk-resolve-special"))
diff --git a/Master/texmf/xindy/lang/macedonian/cp1251-test.xdy b/Master/texmf/xindy/lang/macedonian/cp1251-test.xdy
new file mode 100644
index 00000000000..1a93bafa8c7
--- /dev/null
+++ b/Master/texmf/xindy/lang/macedonian/cp1251-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/macedonian/cp1251.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("mk-alphabetize" "mk-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("mk-resolve-diacritics" "mk-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("mk-resolve-case" "mk-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("mk-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/lang/macedonian/cp1251.xdy b/Master/texmf/xindy/lang/macedonian/cp1251.xdy
new file mode 100644
index 00000000000..eea8f857817
--- /dev/null
+++ b/Master/texmf/xindy/lang/macedonian/cp1251.xdy
@@ -0,0 +1,313 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Macedonian
+
+(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-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 "mk-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)
+ ("" "" :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 "mk-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)
+ ("" "" :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 "mk-resolve-case"
+
+ :rules (("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :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)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ))
+
+(define-rule-set "mk-ignore-special"
+
+ :rules (("?" "" :string)
+ ("-" "" :string)
+ ("." "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ))
+
+(define-rule-set "mk-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)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/macedonian/iso88595-lang.xdy b/Master/texmf/xindy/lang/macedonian/iso88595-lang.xdy
new file mode 100644
index 00000000000..a2c1f9794c7
--- /dev/null
+++ b/Master/texmf/xindy/lang/macedonian/iso88595-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/macedonian/iso88595.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("mk-alphabetize" "mk-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("mk-resolve-diacritics" "mk-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("mk-resolve-case" "mk-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("mk-resolve-special"))
diff --git a/Master/texmf/xindy/lang/macedonian/iso88595-test.xdy b/Master/texmf/xindy/lang/macedonian/iso88595-test.xdy
new file mode 100644
index 00000000000..64a917e97e3
--- /dev/null
+++ b/Master/texmf/xindy/lang/macedonian/iso88595-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/macedonian/iso88595.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("mk-alphabetize" "mk-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("mk-resolve-diacritics" "mk-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("mk-resolve-case" "mk-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("mk-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/lang/macedonian/iso88595.xdy b/Master/texmf/xindy/lang/macedonian/iso88595.xdy
new file mode 100644
index 00000000000..45dd2b4660d
--- /dev/null
+++ b/Master/texmf/xindy/lang/macedonian/iso88595.xdy
@@ -0,0 +1,313 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Macedonian
+
+(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-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 "mk-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)
+ ("" "" :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 "mk-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)
+ ("" "" :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 "mk-resolve-case"
+
+ :rules (("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :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)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ))
+
+(define-rule-set "mk-ignore-special"
+
+ :rules (("?" "" :string)
+ ("-" "" :string)
+ ("." "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ))
+
+(define-rule-set "mk-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)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/macedonian/isoir111-lang.xdy b/Master/texmf/xindy/lang/macedonian/isoir111-lang.xdy
new file mode 100644
index 00000000000..d2a40df6436
--- /dev/null
+++ b/Master/texmf/xindy/lang/macedonian/isoir111-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/macedonian/isoir111.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("mk-alphabetize" "mk-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("mk-resolve-diacritics" "mk-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("mk-resolve-case" "mk-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("mk-resolve-special"))
diff --git a/Master/texmf/xindy/lang/macedonian/isoir111-test.xdy b/Master/texmf/xindy/lang/macedonian/isoir111-test.xdy
new file mode 100644
index 00000000000..8b95f772983
--- /dev/null
+++ b/Master/texmf/xindy/lang/macedonian/isoir111-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/macedonian/isoir111.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("mk-alphabetize" "mk-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("mk-resolve-diacritics" "mk-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("mk-resolve-case" "mk-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("mk-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/lang/macedonian/isoir111.xdy b/Master/texmf/xindy/lang/macedonian/isoir111.xdy
new file mode 100644
index 00000000000..e4f3e220272
--- /dev/null
+++ b/Master/texmf/xindy/lang/macedonian/isoir111.xdy
@@ -0,0 +1,313 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Macedonian
+
+(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-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 "mk-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)
+ ("" "" :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 "mk-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)
+ ("" "" :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 "mk-resolve-case"
+
+ :rules (("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :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)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ))
+
+(define-rule-set "mk-ignore-special"
+
+ :rules (("?" "" :string)
+ ("-" "" :string)
+ ("." "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ))
+
+(define-rule-set "mk-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)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/macedonian/utf8-lang.xdy b/Master/texmf/xindy/lang/macedonian/utf8-lang.xdy
new file mode 100644
index 00000000000..219fc301bc1
--- /dev/null
+++ b/Master/texmf/xindy/lang/macedonian/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/macedonian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("mk-alphabetize" "mk-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("mk-resolve-diacritics" "mk-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("mk-resolve-case" "mk-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("mk-resolve-special"))
diff --git a/Master/texmf/xindy/lang/macedonian/utf8-test.xdy b/Master/texmf/xindy/lang/macedonian/utf8-test.xdy
new file mode 100644
index 00000000000..b402825b387
--- /dev/null
+++ b/Master/texmf/xindy/lang/macedonian/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/macedonian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("mk-alphabetize" "mk-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("mk-resolve-diacritics" "mk-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("mk-resolve-case" "mk-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("mk-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/lang/macedonian/utf8.xdy b/Master/texmf/xindy/lang/macedonian/utf8.xdy
new file mode 100644
index 00000000000..d3ebfebddb3
--- /dev/null
+++ b/Master/texmf/xindy/lang/macedonian/utf8.xdy
@@ -0,0 +1,329 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Macedonian
+
+(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-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 "mk-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)
+ ("Њ" "" :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 "mk-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)
+ ("д" "" :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 "mk-resolve-case"
+
+ :rules (("Ѕ" "8" :string)
+ ("Ј" "8" :string)
+ ("И" "8" :string)
+ ("Ѓ" "8" :string)
+ ("Љ" "8" :string)
+ ("П" "8" :string)
+ ("Л" "8" :string)
+ ("Ж" "8" :string)
+ ("Д" "8" :string)
+ ("Н" "8" :string)
+ ("Ш" "8" :string)
+ ("К" "8" :string)
+ ("Б" "8" :string)
+ ("Џ" "8" :string)
+ ("Ч" "8" :string)
+ ("Р" "8" :string)
+ ("Њ" "8" :string)
+ ("М" "8" :string)
+ ("Т" "8" :string)
+ ("З" "8" :string)
+ ("Ц" "8" :string)
+ ("С" "8" :string)
+ ("Ф" "8" :string)
+ ("В" "8" :string)
+ ("О" "8" :string)
+ ("Х" "8" :string)
+ ("Ѝ" "8" :string)
+ ("Ќ" "8" :string)
+ ("У" "8" :string)
+ ("Г" "8" :string)
+ ("А" "8" :string)
+ ("Е" "8" :string)
+ ("Ѐ" "8" :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)
+ ("з" "9" :string)
+ ("ж" "9" :string)
+ ("с" "9" :string)
+ ("ќ" "9" :string)
+ ("ѝ" "9" :string)
+ ))
+
+(define-rule-set "mk-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "mk-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)
+ ("Ѝ" "" :string)
+ ("Ќ" "" :string)
+ ("с" "" :string)
+ ("У" "" :string)
+ ("Г" "" :string)
+ ("ќ" "" :string)
+ ("А" "" :string)
+ ("ѝ" "" :string)
+ ("Е" "" :string)
+ ("Ѐ" "" :string)
+ ("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/mongolian/cyrillic-utf8-lang.xdy b/Master/texmf/xindy/lang/mongolian/cyrillic-utf8-lang.xdy
new file mode 100644
index 00000000000..63a8461ad3f
--- /dev/null
+++ b/Master/texmf/xindy/lang/mongolian/cyrillic-utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/mongolian/cyrillic-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("mn-alphabetize" "mn-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("mn-resolve-diacritics" "mn-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("mn-resolve-case" "mn-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("mn-resolve-special"))
diff --git a/Master/texmf/xindy/lang/mongolian/cyrillic-utf8-test.xdy b/Master/texmf/xindy/lang/mongolian/cyrillic-utf8-test.xdy
new file mode 100644
index 00000000000..b92db716d01
--- /dev/null
+++ b/Master/texmf/xindy/lang/mongolian/cyrillic-utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/mongolian/cyrillic-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("mn-alphabetize" "mn-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("mn-resolve-diacritics" "mn-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("mn-resolve-case" "mn-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("mn-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/lang/mongolian/cyrillic-utf8.xdy b/Master/texmf/xindy/lang/mongolian/cyrillic-utf8.xdy
new file mode 100644
index 00000000000..0933c3c9690
--- /dev/null
+++ b/Master/texmf/xindy/lang/mongolian/cyrillic-utf8.xdy
@@ -0,0 +1,455 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Mongolian
+
+(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-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 "mn-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)
+ ("Ё" "" :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)
+ ("Я" "" :string)
+ ("я" "" :string)
+ ))
+
+(define-rule-set "mn-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)
+ ("ц" "" :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)
+ ("ю" "" :string)
+ ("Ю" "" :string)
+ ))
+
+(define-rule-set "mn-resolve-case"
+
+ :rules (("У́" "8" :string)
+ ("Э́" "8" :string)
+ ("Ө́" "8" :string)
+ ("Ю́" "8" :string)
+ ("Ү́" "8" :string)
+ ("О́" "8" :string)
+ ("А́" "8" :string)
+ ("Е́" "8" :string)
+ ("Я́" "8" :string)
+ ("Й́" "8" :string)
+ ("Ы́" "8" :string)
+ ("И́" "8" :string)
+ ("Ё́" "8" :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)
+ ("Ө" "8" :string)
+ ("И" "8" :string)
+ ("П" "8" :string)
+ ("Л" "8" :string)
+ ("Ж" "8" :string)
+ ("Д" "8" :string)
+ ("Н" "8" :string)
+ ("Ш" "8" :string)
+ ("Щ" "8" :string)
+ ("К" "8" :string)
+ ("Й" "8" :string)
+ ("Б" "8" :string)
+ ("Я" "8" :string)
+ ("Ч" "8" :string)
+ ("Р" "8" :string)
+ ("М" "8" :string)
+ ("Т" "8" :string)
+ ("З" "8" :string)
+ ("Ц" "8" :string)
+ ("Ү" "8" :string)
+ ("С" "8" :string)
+ ("Ф" "8" :string)
+ ("В" "8" :string)
+ ("О" "8" :string)
+ ("Х" "8" :string)
+ ("У" "8" :string)
+ ("Ё" "8" :string)
+ ("Г" "8" :string)
+ ("Ь" "8" :string)
+ ("А" "8" :string)
+ ("Ы" "8" :string)
+ ("Е" "8" :string)
+ ("Э" "8" :string)
+ ("Ъ" "8" :string)
+ ("Ю" "8" :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)
+ ("з" "9" :string)
+ ("ж" "9" :string)
+ ("с" "9" :string)
+ ("я" "9" :string)
+ ("ү" "9" :string)
+ ("ё" "9" :string)
+ ("ю" "9" :string)
+ ))
+
+(define-rule-set "mn-ignore-special"
+
+ :rules (("́" "" :string)
+ ("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "mn-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)
+ ("ы" "" :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/lang/norwegian/latin1-lang.xdy b/Master/texmf/xindy/lang/norwegian/latin1-lang.xdy
new file mode 100644
index 00000000000..d311572e588
--- /dev/null
+++ b/Master/texmf/xindy/lang/norwegian/latin1-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/norwegian/latin1.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("no-alphabetize" "no-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("no-resolve-diacritics" "no-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("no-resolve-case" "no-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("no-resolve-special"))
diff --git a/Master/texmf/xindy/lang/norwegian/latin1-test.xdy b/Master/texmf/xindy/lang/norwegian/latin1-test.xdy
new file mode 100644
index 00000000000..c0d98199f87
--- /dev/null
+++ b/Master/texmf/xindy/lang/norwegian/latin1-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/norwegian/latin1.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("no-alphabetize" "no-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("no-resolve-diacritics" "no-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("no-resolve-case" "no-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("no-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/lang/norwegian/latin1.xdy b/Master/texmf/xindy/lang/norwegian/latin1.xdy
new file mode 100644
index 00000000000..57da189515f
--- /dev/null
+++ b/Master/texmf/xindy/lang/norwegian/latin1.xdy
@@ -0,0 +1,411 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Norwegian
+
+(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-letter-group "" :after "Z" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+
+(define-rule-set "no-alphabetize"
+
+ :rules (("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("A" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("C" "" :string)
+ ("" "" :string)
+ ("c" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("E" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("O" "" :string)
+ ("" "" :string)
+ ("o" "" :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)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("w" "" :string)
+ ("W" "" :string)
+ ("X" "" :string)
+ ("x" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "no-resolve-diacritics"
+
+ :rules (("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)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :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 "no-resolve-case"
+
+ :rules (("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("" "9" :string)
+ ("g" "9" :string)
+ ("" "9" :string)
+ ("e" "9" :string)
+ ("" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("r" "9" :string)
+ ("x" "9" :string)
+ ("" "9" :string)
+ ("" "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)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("o" "9" :string)
+ ("" "99" :string)
+ ))
+
+(define-rule-set "no-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "no-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/norwegian/utf8-lang.xdy b/Master/texmf/xindy/lang/norwegian/utf8-lang.xdy
new file mode 100644
index 00000000000..7615ebcecd4
--- /dev/null
+++ b/Master/texmf/xindy/lang/norwegian/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/norwegian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("no-alphabetize" "no-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("no-resolve-diacritics" "no-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("no-resolve-case" "no-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("no-resolve-special"))
diff --git a/Master/texmf/xindy/lang/norwegian/utf8-test.xdy b/Master/texmf/xindy/lang/norwegian/utf8-test.xdy
new file mode 100644
index 00000000000..44591bf8159
--- /dev/null
+++ b/Master/texmf/xindy/lang/norwegian/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/norwegian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("no-alphabetize" "no-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("no-resolve-diacritics" "no-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("no-resolve-case" "no-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("no-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/lang/norwegian/utf8.xdy b/Master/texmf/xindy/lang/norwegian/utf8.xdy
new file mode 100644
index 00000000000..07dfa186496
--- /dev/null
+++ b/Master/texmf/xindy/lang/norwegian/utf8.xdy
@@ -0,0 +1,411 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Norwegian
+
+(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-letter-group "Æ" :after "Z" :prefixes (""))
+(define-letter-group "Ø" :after "Æ" :prefixes (""))
+(define-letter-group "Å" :after "Ø" :prefixes (""))
+
+(define-rule-set "no-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)
+ ("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 "no-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)
+ ("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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "no-resolve-case"
+
+ :rules (("Ö" "8" :string)
+ ("Á" "8" :string)
+ ("Â" "8" :string)
+ ("Ô" "8" :string)
+ ("Ç" "8" :string)
+ ("Ó" "8" :string)
+ ("É" "8" :string)
+ ("Ò" "8" :string)
+ ("Ä" "8" :string)
+ ("Ü" "8" :string)
+ ("Æ" "8" :string)
+ ("Ê" "8" :string)
+ ("Å" "8" :string)
+ ("È" "8" :string)
+ ("Ë" "8" :string)
+ ("Ø" "8" :string)
+ ("À" "8" :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)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "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 "no-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "no-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)
+ ("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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/polish/cp1250-lang.xdy b/Master/texmf/xindy/lang/polish/cp1250-lang.xdy
new file mode 100644
index 00000000000..3e9ddbb7c1d
--- /dev/null
+++ b/Master/texmf/xindy/lang/polish/cp1250-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/polish/cp1250.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("pl-alphabetize" "pl-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("pl-resolve-diacritics" "pl-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("pl-resolve-case" "pl-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("pl-resolve-special"))
diff --git a/Master/texmf/xindy/lang/polish/cp1250-test.xdy b/Master/texmf/xindy/lang/polish/cp1250-test.xdy
new file mode 100644
index 00000000000..2a4a3dc5f73
--- /dev/null
+++ b/Master/texmf/xindy/lang/polish/cp1250-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/polish/cp1250.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("pl-alphabetize" "pl-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("pl-resolve-diacritics" "pl-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("pl-resolve-case" "pl-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("pl-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/lang/polish/cp1250.xdy b/Master/texmf/xindy/lang/polish/cp1250.xdy
new file mode 100644
index 00000000000..d67b9389444
--- /dev/null
+++ b/Master/texmf/xindy/lang/polish/cp1250.xdy
@@ -0,0 +1,353 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Polish
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "" :after "A" :prefixes (""))
+(define-letter-group "B" :after "" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "" :after "C" :prefixes (""))
+(define-letter-group "D" :after "" :prefixes (""))
+(define-letter-group "E" :after "D" :prefixes (""))
+(define-letter-group "" :after "E" :prefixes (""))
+(define-letter-group "F" :after "" :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 "" :after "L" :prefixes (""))
+(define-letter-group "M" :after "" :prefixes (""))
+(define-letter-group "N" :after "M" :prefixes (""))
+(define-letter-group "" :after "N" :prefixes (""))
+(define-letter-group "O" :after "" :prefixes (""))
+(define-letter-group "" :after "O" :prefixes (""))
+(define-letter-group "P" :after "" :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 "" :after "S" :prefixes (""))
+(define-letter-group "T" :after "" :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-letter-group "" :after "Z" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+
+(define-rule-set "pl-alphabetize"
+
+ :rules (("a" "" :string)
+ ("A" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("C" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ("M" "" :string)
+ ("m" "" :string)
+ ("N" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("O" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("P" "" :string)
+ ("p" "" :string)
+ ("q" "" :string)
+ ("Q" "" :string)
+ ("r" "" :string)
+ ("R" "" :string)
+ ("S" "" :string)
+ ("s" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "pl-resolve-diacritics"
+
+ :rules (("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("J" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "pl-resolve-case"
+
+ :rules (("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("" "8" :string)
+ ("Z" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("" "8" :string)
+ ("U" "8" :string)
+ ("" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("" "9" :string)
+ ("y" "9" :string)
+ ("" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("r" "9" :string)
+ ("" "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)
+ ("" "9" :string)
+ ("o" "9" :string)
+ ("" "99" :string)
+ ))
+
+(define-rule-set "pl-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "pl-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("J" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/polish/latin2-lang.xdy b/Master/texmf/xindy/lang/polish/latin2-lang.xdy
new file mode 100644
index 00000000000..2157cb50233
--- /dev/null
+++ b/Master/texmf/xindy/lang/polish/latin2-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/polish/latin2.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("pl-alphabetize" "pl-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("pl-resolve-diacritics" "pl-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("pl-resolve-case" "pl-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("pl-resolve-special"))
diff --git a/Master/texmf/xindy/lang/polish/latin2-test.xdy b/Master/texmf/xindy/lang/polish/latin2-test.xdy
new file mode 100644
index 00000000000..661f99232ee
--- /dev/null
+++ b/Master/texmf/xindy/lang/polish/latin2-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/polish/latin2.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("pl-alphabetize" "pl-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("pl-resolve-diacritics" "pl-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("pl-resolve-case" "pl-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("pl-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/lang/polish/latin2.xdy b/Master/texmf/xindy/lang/polish/latin2.xdy
new file mode 100644
index 00000000000..857c89591fb
--- /dev/null
+++ b/Master/texmf/xindy/lang/polish/latin2.xdy
@@ -0,0 +1,353 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Polish
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "" :after "A" :prefixes (""))
+(define-letter-group "B" :after "" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "" :after "C" :prefixes (""))
+(define-letter-group "D" :after "" :prefixes (""))
+(define-letter-group "E" :after "D" :prefixes (""))
+(define-letter-group "" :after "E" :prefixes (""))
+(define-letter-group "F" :after "" :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 "" :after "L" :prefixes (""))
+(define-letter-group "M" :after "" :prefixes (""))
+(define-letter-group "N" :after "M" :prefixes (""))
+(define-letter-group "" :after "N" :prefixes (""))
+(define-letter-group "O" :after "" :prefixes (""))
+(define-letter-group "" :after "O" :prefixes (""))
+(define-letter-group "P" :after "" :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 "" :after "S" :prefixes (""))
+(define-letter-group "T" :after "" :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-letter-group "" :after "Z" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+
+(define-rule-set "pl-alphabetize"
+
+ :rules (("a" "" :string)
+ ("A" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("C" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ("M" "" :string)
+ ("m" "" :string)
+ ("N" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("O" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("P" "" :string)
+ ("p" "" :string)
+ ("q" "" :string)
+ ("Q" "" :string)
+ ("r" "" :string)
+ ("R" "" :string)
+ ("S" "" :string)
+ ("s" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "pl-resolve-diacritics"
+
+ :rules (("S" "" :string)
+ ("" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "pl-resolve-case"
+
+ :rules (("S" "8" :string)
+ ("" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("" "8" :string)
+ ("Z" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("" "9" :string)
+ ("r" "9" :string)
+ ("" "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)
+ ("" "9" :string)
+ ("o" "9" :string)
+ ("" "99" :string)
+ ))
+
+(define-rule-set "pl-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "pl-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/polish/utf8-lang.xdy b/Master/texmf/xindy/lang/polish/utf8-lang.xdy
new file mode 100644
index 00000000000..da964921136
--- /dev/null
+++ b/Master/texmf/xindy/lang/polish/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/polish/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("pl-alphabetize" "pl-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("pl-resolve-diacritics" "pl-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("pl-resolve-case" "pl-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("pl-resolve-special"))
diff --git a/Master/texmf/xindy/lang/polish/utf8-test.xdy b/Master/texmf/xindy/lang/polish/utf8-test.xdy
new file mode 100644
index 00000000000..b83e3e3ee5c
--- /dev/null
+++ b/Master/texmf/xindy/lang/polish/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/polish/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("pl-alphabetize" "pl-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("pl-resolve-diacritics" "pl-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("pl-resolve-case" "pl-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("pl-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/lang/polish/utf8.xdy b/Master/texmf/xindy/lang/polish/utf8.xdy
new file mode 100644
index 00000000000..a0625089095
--- /dev/null
+++ b/Master/texmf/xindy/lang/polish/utf8.xdy
@@ -0,0 +1,353 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Polish
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "Ą" :after "A" :prefixes (""))
+(define-letter-group "B" :after "Ą" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "Ć" :after "C" :prefixes (""))
+(define-letter-group "D" :after "Ć" :prefixes (""))
+(define-letter-group "E" :after "D" :prefixes (""))
+(define-letter-group "Ę" :after "E" :prefixes (""))
+(define-letter-group "F" :after "Ę" :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 "Ł" :after "L" :prefixes (""))
+(define-letter-group "M" :after "Ł" :prefixes (""))
+(define-letter-group "N" :after "M" :prefixes (""))
+(define-letter-group "Ń" :after "N" :prefixes (""))
+(define-letter-group "O" :after "Ń" :prefixes (""))
+(define-letter-group "Ó" :after "O" :prefixes (""))
+(define-letter-group "P" :after "Ó" :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 "Ś" :after "S" :prefixes (""))
+(define-letter-group "T" :after "Ś" :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-letter-group "Ź" :after "Z" :prefixes (""))
+(define-letter-group "Ż" :after "Ź" :prefixes (""))
+
+(define-rule-set "pl-alphabetize"
+
+ :rules (("ą" "" :string)
+ ("Ą" "" :string)
+ ("Ć" "" :string)
+ ("ć" "" :string)
+ ("Ę" "" :string)
+ ("ę" "" :string)
+ ("ł" "" :string)
+ ("Ł" "" :string)
+ ("Ń" "" :string)
+ ("ń" "" :string)
+ ("Ó" "" :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 "pl-resolve-diacritics"
+
+ :rules (("Ó" "" :string)
+ ("ą" "" :string)
+ ("ł" "" :string)
+ ("Ł" "" :string)
+ ("Ą" "" :string)
+ ("Ę" "" :string)
+ ("Ć" "" :string)
+ ("Ź" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "pl-resolve-case"
+
+ :rules (("Ó" "8" :string)
+ ("Ł" "8" :string)
+ ("Ą" "8" :string)
+ ("Ę" "8" :string)
+ ("Ć" "8" :string)
+ ("Ź" "8" :string)
+ ("Ń" "8" :string)
+ ("Ś" "8" :string)
+ ("Ż" "8" :string)
+ ("ą" "9" :string)
+ ("ł" "9" :string)
+ ("ó" "9" :string)
+ ("ś" "9" :string)
+ ("ź" "9" :string)
+ ("ń" "9" :string)
+ ("ć" "9" :string)
+ ("ż" "9" :string)
+ ("ę" "9" :string)
+ ("ß" "99" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "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 "pl-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "pl-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)
+ ("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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/portuguese/latin1-lang.xdy b/Master/texmf/xindy/lang/portuguese/latin1-lang.xdy
new file mode 100644
index 00000000000..77b84b09a82
--- /dev/null
+++ b/Master/texmf/xindy/lang/portuguese/latin1-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/portuguese/latin1.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("pt-alphabetize" "pt-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("pt-resolve-diacritics" "pt-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("pt-resolve-case" "pt-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("pt-resolve-special"))
diff --git a/Master/texmf/xindy/lang/portuguese/latin1-test.xdy b/Master/texmf/xindy/lang/portuguese/latin1-test.xdy
new file mode 100644
index 00000000000..0fac48b7bcb
--- /dev/null
+++ b/Master/texmf/xindy/lang/portuguese/latin1-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/portuguese/latin1.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("pt-alphabetize" "pt-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("pt-resolve-diacritics" "pt-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("pt-resolve-case" "pt-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("pt-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/lang/portuguese/latin1.xdy b/Master/texmf/xindy/lang/portuguese/latin1.xdy
new file mode 100644
index 00000000000..1a6bfdf2650
--- /dev/null
+++ b/Master/texmf/xindy/lang/portuguese/latin1.xdy
@@ -0,0 +1,416 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Portuguese
+
+(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 "pt-alphabetize"
+
+ :rules (("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("A" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("C" "" :string)
+ ("" "" :string)
+ ("c" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("E" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("O" "" :string)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("" "" :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 "pt-resolve-diacritics"
+
+ :rules (("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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :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 "pt-resolve-case"
+
+ :rules (("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("R" "8" :string)
+ ("" "89" :string)
+ ("" "9" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("" "9" :string)
+ ("j" "9" :string)
+ ("" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("" "9" :string)
+ ("v" "9" :string)
+ ("" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("r" "9" :string)
+ ("x" "9" :string)
+ ("" "9" :string)
+ ("h" "9" :string)
+ ("f" "9" :string)
+ ("i" "9" :string)
+ ("n" "9" :string)
+ ("m" "9" :string)
+ ("l" "9" :string)
+ ("p" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("o" "9" :string)
+ ("" "99" :string)
+ ("" "99" :string)
+ ))
+
+(define-rule-set "pt-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "pt-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/portuguese/utf8-lang.xdy b/Master/texmf/xindy/lang/portuguese/utf8-lang.xdy
new file mode 100644
index 00000000000..42787a21bb1
--- /dev/null
+++ b/Master/texmf/xindy/lang/portuguese/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/portuguese/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("pt-alphabetize" "pt-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("pt-resolve-diacritics" "pt-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("pt-resolve-case" "pt-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("pt-resolve-special"))
diff --git a/Master/texmf/xindy/lang/portuguese/utf8-test.xdy b/Master/texmf/xindy/lang/portuguese/utf8-test.xdy
new file mode 100644
index 00000000000..d39bf06184f
--- /dev/null
+++ b/Master/texmf/xindy/lang/portuguese/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/portuguese/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("pt-alphabetize" "pt-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("pt-resolve-diacritics" "pt-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("pt-resolve-case" "pt-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("pt-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/lang/portuguese/utf8.xdy b/Master/texmf/xindy/lang/portuguese/utf8.xdy
new file mode 100644
index 00000000000..a263b0e5d4f
--- /dev/null
+++ b/Master/texmf/xindy/lang/portuguese/utf8.xdy
@@ -0,0 +1,416 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Portuguese
+
+(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 "pt-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)
+ ("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 "pt-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)
+ ("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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "pt-resolve-case"
+
+ :rules (("Á" "8" :string)
+ ("Â" "8" :string)
+ ("Ô" "8" :string)
+ ("Ç" "8" :string)
+ ("Ó" "8" :string)
+ ("É" "8" :string)
+ ("Ò" "8" :string)
+ ("Í" "8" :string)
+ ("Ú" "8" :string)
+ ("Ü" "8" :string)
+ ("Õ" "8" :string)
+ ("Ê" "8" :string)
+ ("Ù" "8" :string)
+ ("È" "8" :string)
+ ("À" "8" :string)
+ ("Ì" "8" :string)
+ ("Ã" "8" :string)
+ ("Æ" "89" :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)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "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 "pt-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "pt-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)
+ ("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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/romanian/latin2-lang.xdy b/Master/texmf/xindy/lang/romanian/latin2-lang.xdy
new file mode 100644
index 00000000000..8bff314cfdb
--- /dev/null
+++ b/Master/texmf/xindy/lang/romanian/latin2-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/romanian/latin2.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("ro-alphabetize" "ro-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("ro-resolve-diacritics" "ro-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("ro-resolve-case" "ro-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("ro-resolve-special"))
diff --git a/Master/texmf/xindy/lang/romanian/latin2-test.xdy b/Master/texmf/xindy/lang/romanian/latin2-test.xdy
new file mode 100644
index 00000000000..300a703cf87
--- /dev/null
+++ b/Master/texmf/xindy/lang/romanian/latin2-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/romanian/latin2.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("ro-alphabetize" "ro-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("ro-resolve-diacritics" "ro-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("ro-resolve-case" "ro-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("ro-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/lang/romanian/latin2.xdy b/Master/texmf/xindy/lang/romanian/latin2.xdy
new file mode 100644
index 00000000000..3b6c32a2202
--- /dev/null
+++ b/Master/texmf/xindy/lang/romanian/latin2.xdy
@@ -0,0 +1,313 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Romanian
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "" :after "A" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "B" :after "" :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 "" :after "I" :prefixes (""))
+(define-letter-group "J" :after "" :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 "" :after "S" :prefixes (""))
+(define-letter-group "T" :after "" :prefixes (""))
+(define-letter-group "" :after "T" :prefixes (""))
+(define-letter-group "U" :after "" :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 "ro-alphabetize"
+
+ :rules (("a" "" :string)
+ ("A" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("" "" :string)
+ ("" "" :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 "ro-resolve-diacritics"
+
+ :rules (("S" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("y" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("" "" :string)
+ ("c" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("z" "" :string)
+ ("U" "" :string)
+ ("w" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("h" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("X" "" :string)
+ ("" "" :string)
+ ("P" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "ro-resolve-case"
+
+ :rules (("S" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("" "8" :string)
+ ("E" "8" :string)
+ ("Z" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("" "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)
+ ("" "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)
+ ("" "9" :string)
+ ("c" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("r" "9" :string)
+ ("" "9" :string)
+ ("x" "9" :string)
+ ("" "9" :string)
+ ("h" "9" :string)
+ ("f" "9" :string)
+ ("i" "9" :string)
+ ("n" "9" :string)
+ ("" "9" :string)
+ ("m" "9" :string)
+ ("l" "9" :string)
+ ("p" "9" :string)
+ ("" "9" :string)
+ ("o" "9" :string)
+ ))
+
+(define-rule-set "ro-ignore-special"
+
+ :rules (("?" "" :string)
+ ("-" "" :string)
+ ("." "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ))
+
+(define-rule-set "ro-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("T" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("B" "" :string)
+ ("s" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("" "" :string)
+ ("V" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("n" "" :string)
+ ("O" "" :string)
+ ("" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/romanian/utf8-lang.xdy b/Master/texmf/xindy/lang/romanian/utf8-lang.xdy
new file mode 100644
index 00000000000..b0e50ceb0a7
--- /dev/null
+++ b/Master/texmf/xindy/lang/romanian/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/romanian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("ro-alphabetize" "ro-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("ro-resolve-diacritics" "ro-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("ro-resolve-case" "ro-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("ro-resolve-special"))
diff --git a/Master/texmf/xindy/lang/romanian/utf8-test.xdy b/Master/texmf/xindy/lang/romanian/utf8-test.xdy
new file mode 100644
index 00000000000..2970a262f25
--- /dev/null
+++ b/Master/texmf/xindy/lang/romanian/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/romanian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("ro-alphabetize" "ro-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("ro-resolve-diacritics" "ro-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("ro-resolve-case" "ro-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("ro-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/lang/romanian/utf8.xdy b/Master/texmf/xindy/lang/romanian/utf8.xdy
new file mode 100644
index 00000000000..77afae75665
--- /dev/null
+++ b/Master/texmf/xindy/lang/romanian/utf8.xdy
@@ -0,0 +1,313 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Romanian
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "Ă" :after "A" :prefixes (""))
+(define-letter-group "Â" :after "Ă" :prefixes (""))
+(define-letter-group "B" :after "Â" :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 "Î" :after "I" :prefixes (""))
+(define-letter-group "J" :after "Î" :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 "Ș" :after "S" :prefixes (""))
+(define-letter-group "T" :after "Ș" :prefixes (""))
+(define-letter-group "Ț" :after "T" :prefixes (""))
+(define-letter-group "U" :after "Ț" :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 "ro-alphabetize"
+
+ :rules (("Ă" "" :string)
+ ("ă" "" :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 "ro-resolve-diacritics"
+
+ :rules (("Î" "" :string)
+ ("Â" "" :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 "ro-resolve-case"
+
+ :rules (("Î" "8" :string)
+ ("Â" "8" :string)
+ ("Ț" "8" :string)
+ ("Ă" "8" :string)
+ ("Ș" "8" :string)
+ ("â" "9" :string)
+ ("ă" "9" :string)
+ ("î" "9" :string)
+ ("ș" "9" :string)
+ ("ț" "9" :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 "ro-ignore-special"
+
+ :rules (("?" "" :string)
+ ("-" "" :string)
+ ("." "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ))
+
+(define-rule-set "ro-resolve-special"
+
+ :rules (("Î" "" :string)
+ ("Â" "" :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)
+ ))
+
diff --git a/Master/texmf/xindy/lang/russian/cp1251-lang.xdy b/Master/texmf/xindy/lang/russian/cp1251-lang.xdy
new file mode 100644
index 00000000000..47d6f0721dd
--- /dev/null
+++ b/Master/texmf/xindy/lang/russian/cp1251-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/russian/cp1251.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("ru-alphabetize" "ru-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("ru-resolve-diacritics" "ru-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("ru-resolve-case" "ru-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("ru-resolve-special"))
diff --git a/Master/texmf/xindy/lang/russian/cp1251-test.xdy b/Master/texmf/xindy/lang/russian/cp1251-test.xdy
new file mode 100644
index 00000000000..ff9aa0ade6b
--- /dev/null
+++ b/Master/texmf/xindy/lang/russian/cp1251-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/russian/cp1251.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("ru-alphabetize" "ru-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("ru-resolve-diacritics" "ru-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("ru-resolve-case" "ru-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("ru-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/lang/russian/cp1251.xdy b/Master/texmf/xindy/lang/russian/cp1251.xdy
new file mode 100644
index 00000000000..036da0bebd8
--- /dev/null
+++ b/Master/texmf/xindy/lang/russian/cp1251.xdy
@@ -0,0 +1,330 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Russian
+
+(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-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 "ru-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)
+ ("" "" :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 "ru-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)
+ ("" "" :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 "ru-resolve-case"
+
+ :rules (("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :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)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ))
+
+(define-rule-set "ru-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "ru-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)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/russian/iso88595-lang.xdy b/Master/texmf/xindy/lang/russian/iso88595-lang.xdy
new file mode 100644
index 00000000000..4394ad203fb
--- /dev/null
+++ b/Master/texmf/xindy/lang/russian/iso88595-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/russian/iso88595.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("ru-alphabetize" "ru-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("ru-resolve-diacritics" "ru-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("ru-resolve-case" "ru-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("ru-resolve-special"))
diff --git a/Master/texmf/xindy/lang/russian/iso88595-test.xdy b/Master/texmf/xindy/lang/russian/iso88595-test.xdy
new file mode 100644
index 00000000000..22bfa460ba5
--- /dev/null
+++ b/Master/texmf/xindy/lang/russian/iso88595-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/russian/iso88595.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("ru-alphabetize" "ru-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("ru-resolve-diacritics" "ru-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("ru-resolve-case" "ru-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("ru-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/lang/russian/iso88595.xdy b/Master/texmf/xindy/lang/russian/iso88595.xdy
new file mode 100644
index 00000000000..59d95bad28a
--- /dev/null
+++ b/Master/texmf/xindy/lang/russian/iso88595.xdy
@@ -0,0 +1,330 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Russian
+
+(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-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 "ru-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)
+ ("" "" :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 "ru-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)
+ ("" "" :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 "ru-resolve-case"
+
+ :rules (("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :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)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ))
+
+(define-rule-set "ru-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "ru-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)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/russian/koi8-r-lang.xdy b/Master/texmf/xindy/lang/russian/koi8-r-lang.xdy
new file mode 100644
index 00000000000..530057f8fdc
--- /dev/null
+++ b/Master/texmf/xindy/lang/russian/koi8-r-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/russian/koi8-r.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("ru-alphabetize" "ru-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("ru-resolve-diacritics" "ru-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("ru-resolve-case" "ru-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("ru-resolve-special"))
diff --git a/Master/texmf/xindy/lang/russian/koi8-r-test.xdy b/Master/texmf/xindy/lang/russian/koi8-r-test.xdy
new file mode 100644
index 00000000000..8f4e106b529
--- /dev/null
+++ b/Master/texmf/xindy/lang/russian/koi8-r-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/russian/koi8-r.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("ru-alphabetize" "ru-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("ru-resolve-diacritics" "ru-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("ru-resolve-case" "ru-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("ru-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/lang/russian/koi8-r.xdy b/Master/texmf/xindy/lang/russian/koi8-r.xdy
new file mode 100644
index 00000000000..c456a2e01e4
--- /dev/null
+++ b/Master/texmf/xindy/lang/russian/koi8-r.xdy
@@ -0,0 +1,330 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Russian
+
+(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-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 "ru-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)
+ ("" "" :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 "ru-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)
+ ("" "" :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 "ru-resolve-case"
+
+ :rules (("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :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)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ))
+
+(define-rule-set "ru-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "ru-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)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/russian/translit-iso-utf8-lang.xdy b/Master/texmf/xindy/lang/russian/translit-iso-utf8-lang.xdy
new file mode 100644
index 00000000000..6cc5fc29031
--- /dev/null
+++ b/Master/texmf/xindy/lang/russian/translit-iso-utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/russian/translit-iso-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("ru-alphabetize" "ru-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("ru-resolve-diacritics" "ru-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("ru-resolve-case" "ru-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("ru-resolve-special"))
diff --git a/Master/texmf/xindy/lang/russian/translit-iso-utf8-test.xdy b/Master/texmf/xindy/lang/russian/translit-iso-utf8-test.xdy
new file mode 100644
index 00000000000..d102665dc2a
--- /dev/null
+++ b/Master/texmf/xindy/lang/russian/translit-iso-utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/russian/translit-iso-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("ru-alphabetize" "ru-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("ru-resolve-diacritics" "ru-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("ru-resolve-case" "ru-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("ru-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/lang/russian/translit-iso-utf8.xdy b/Master/texmf/xindy/lang/russian/translit-iso-utf8.xdy
new file mode 100644
index 00000000000..11321d02b28
--- /dev/null
+++ b/Master/texmf/xindy/lang/russian/translit-iso-utf8.xdy
@@ -0,0 +1,307 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Russian
+
+(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 "R" :after "P" :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 "Y" :after "V" :prefixes (""))
+(define-letter-group "Z" :after "Y" :prefixes (""))
+
+(define-rule-set "ru-alphabetize"
+
+ :rules (("Â" "" :string)
+ ("â" "" :string)
+ ("Č" "" :string)
+ ("č" "" :string)
+ ("Ë" "" :string)
+ ("è" "" :string)
+ ("ë" "" :string)
+ ("È" "" :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)
+ ("r" "" :string)
+ ("R" "" :string)
+ ("S" "" :string)
+ ("s" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("u" "" :string)
+ ("U" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("Z" "" :string)
+ ("z" "" :string)
+ ))
+
+(define-rule-set "ru-resolve-diacritics"
+
+ :rules (("š" "" :string)
+ ("Â" "" :string)
+ ("Ž" "" :string)
+ ("â" "" :string)
+ ("Û" "" :string)
+ ("è" "" :string)
+ ("Č" "" :string)
+ ("č" "" :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)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("z" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("V" "" :string)
+ ("M" "" :string)
+ ("h" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("P" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "ru-resolve-case"
+
+ :rules (("Â" "8" :string)
+ ("Ž" "8" :string)
+ ("Û" "8" :string)
+ ("Ë" "8" :string)
+ ("Č" "8" :string)
+ ("Ŝ" "8" :string)
+ ("Š" "8" :string)
+ ("È" "8" :string)
+ ("š" "9" :string)
+ ("â" "9" :string)
+ ("ŝ" "9" :string)
+ ("è" "9" :string)
+ ("ë" "9" :string)
+ ("č" "9" :string)
+ ("û" "9" :string)
+ ("ž" "9" :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)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("D" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("A" "8" :string)
+ ("O" "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)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("r" "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 "ru-ignore-special"
+
+ :rules (("ʺ" "" :string)
+ ("ʹ" "" :string)
+ ("?" "" :string)
+ ("-" "" :string)
+ ("." "" :string)
+ ("!" "" :string)
+ ))
+
+(define-rule-set "ru-resolve-special"
+
+ :rules (("Â" "" :string)
+ ("Ž" "" :string)
+ ("Û" "" :string)
+ ("ŝ" "" :string)
+ ("č" "" :string)
+ ("Ŝ" "" :string)
+ ("û" "" :string)
+ ("Š" "" :string)
+ ("È" "" :string)
+ ("š" "" :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)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("P" "" :string)
+ ("a" "" :string)
+ ("T" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("v" "" :string)
+ ("B" "" :string)
+ ("s" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :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)
+ ))
+
diff --git a/Master/texmf/xindy/lang/russian/utf8-lang.xdy b/Master/texmf/xindy/lang/russian/utf8-lang.xdy
new file mode 100644
index 00000000000..7cfdd57bac8
--- /dev/null
+++ b/Master/texmf/xindy/lang/russian/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/russian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("ru-alphabetize" "ru-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("ru-resolve-diacritics" "ru-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("ru-resolve-case" "ru-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("ru-resolve-special"))
diff --git a/Master/texmf/xindy/lang/russian/utf8-test.xdy b/Master/texmf/xindy/lang/russian/utf8-test.xdy
new file mode 100644
index 00000000000..4462ef3977c
--- /dev/null
+++ b/Master/texmf/xindy/lang/russian/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/russian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("ru-alphabetize" "ru-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("ru-resolve-diacritics" "ru-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("ru-resolve-case" "ru-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("ru-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/lang/russian/utf8.xdy b/Master/texmf/xindy/lang/russian/utf8.xdy
new file mode 100644
index 00000000000..c6c8ea7ca5c
--- /dev/null
+++ b/Master/texmf/xindy/lang/russian/utf8.xdy
@@ -0,0 +1,464 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Russian
+
+(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-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 "ru-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)
+ ("Ж" "" :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)
+ ("ѳ" "" :string)
+ ("Ѳ" "" :string)
+ ("ѵ" "" :string)
+ ("Ѵ" "" :string)
+ ))
+
+(define-rule-set "ru-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)
+ ("ц" "" :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)
+ ("ю" "" :string)
+ ("Ю" "" :string)
+ ("Ё" "" :string)
+ ("ё" "" :string)
+ ))
+
+(define-rule-set "ru-resolve-case"
+
+ :rules (("У́" "8" :string)
+ ("Э́" "8" :string)
+ ("Ю́" "8" :string)
+ ("О́" "8" :string)
+ ("А́" "8" :string)
+ ("Е́" "8" :string)
+ ("Я́" "8" :string)
+ ("Й́" "8" :string)
+ ("І́" "8" :string)
+ ("Ы́" "8" :string)
+ ("И́" "8" :string)
+ ("Ё́" "8" :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)
+ ("Ѣ" "8" :string)
+ ("И" "8" :string)
+ ("П" "8" :string)
+ ("Л" "8" :string)
+ ("Ж" "8" :string)
+ ("Д" "8" :string)
+ ("Н" "8" :string)
+ ("Ш" "8" :string)
+ ("Щ" "8" :string)
+ ("К" "8" :string)
+ ("Й" "8" :string)
+ ("Б" "8" :string)
+ ("Ѵ" "8" :string)
+ ("Я" "8" :string)
+ ("Ч" "8" :string)
+ ("Р" "8" :string)
+ ("М" "8" :string)
+ ("Т" "8" :string)
+ ("З" "8" :string)
+ ("Ц" "8" :string)
+ ("С" "8" :string)
+ ("Ф" "8" :string)
+ ("І" "8" :string)
+ ("В" "8" :string)
+ ("О" "8" :string)
+ ("Х" "8" :string)
+ ("Ѳ" "8" :string)
+ ("У" "8" :string)
+ ("Ё" "8" :string)
+ ("Г" "8" :string)
+ ("Ь" "8" :string)
+ ("А" "8" :string)
+ ("Ы" "8" :string)
+ ("Е" "8" :string)
+ ("Э" "8" :string)
+ ("Ъ" "8" :string)
+ ("Ю" "8" :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)
+ ("н" "9" :string)
+ ("м" "9" :string)
+ ("з" "9" :string)
+ ("ж" "9" :string)
+ ("і" "9" :string)
+ ("с" "9" :string)
+ ("я" "9" :string)
+ ("ё" "9" :string)
+ ("ю" "9" :string)
+ ))
+
+(define-rule-set "ru-ignore-special"
+
+ :rules (("́" "" :string)
+ ("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "ru-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)
+ ("х" "" :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/lang/serbian/cp1251-lang.xdy b/Master/texmf/xindy/lang/serbian/cp1251-lang.xdy
new file mode 100644
index 00000000000..c9a5c06f2bd
--- /dev/null
+++ b/Master/texmf/xindy/lang/serbian/cp1251-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/serbian/cp1251.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sr-alphabetize" "sr-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sr-resolve-diacritics" "sr-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sr-resolve-case" "sr-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sr-resolve-special"))
diff --git a/Master/texmf/xindy/lang/serbian/cp1251-test.xdy b/Master/texmf/xindy/lang/serbian/cp1251-test.xdy
new file mode 100644
index 00000000000..995b7261a56
--- /dev/null
+++ b/Master/texmf/xindy/lang/serbian/cp1251-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/serbian/cp1251.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sr-alphabetize" "sr-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sr-resolve-diacritics" "sr-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sr-resolve-case" "sr-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sr-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/lang/serbian/cp1251.xdy b/Master/texmf/xindy/lang/serbian/cp1251.xdy
new file mode 100644
index 00000000000..987a2aaa665
--- /dev/null
+++ b/Master/texmf/xindy/lang/serbian/cp1251.xdy
@@ -0,0 +1,304 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Serbian
+
+(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-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+
+(define-rule-set "sr-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)
+ ("" "" :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 "sr-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)
+ ("" "" :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 "sr-resolve-case"
+
+ :rules (("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :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)
+ ("" "9" :string)
+ ("" "9" :string)
+ ))
+
+(define-rule-set "sr-ignore-special"
+
+ :rules (("?" "" :string)
+ ("-" "" :string)
+ ("." "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ))
+
+(define-rule-set "sr-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)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/serbian/iso88595-lang.xdy b/Master/texmf/xindy/lang/serbian/iso88595-lang.xdy
new file mode 100644
index 00000000000..72f1fcb66fa
--- /dev/null
+++ b/Master/texmf/xindy/lang/serbian/iso88595-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/serbian/iso88595.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sr-alphabetize" "sr-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sr-resolve-diacritics" "sr-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sr-resolve-case" "sr-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sr-resolve-special"))
diff --git a/Master/texmf/xindy/lang/serbian/iso88595-test.xdy b/Master/texmf/xindy/lang/serbian/iso88595-test.xdy
new file mode 100644
index 00000000000..b79a6154a27
--- /dev/null
+++ b/Master/texmf/xindy/lang/serbian/iso88595-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/serbian/iso88595.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sr-alphabetize" "sr-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sr-resolve-diacritics" "sr-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sr-resolve-case" "sr-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sr-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/lang/serbian/iso88595.xdy b/Master/texmf/xindy/lang/serbian/iso88595.xdy
new file mode 100644
index 00000000000..f2cf2f16597
--- /dev/null
+++ b/Master/texmf/xindy/lang/serbian/iso88595.xdy
@@ -0,0 +1,304 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Serbian
+
+(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-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+
+(define-rule-set "sr-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)
+ ("" "" :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 "sr-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)
+ ("" "" :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 "sr-resolve-case"
+
+ :rules (("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :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)
+ ("" "9" :string)
+ ("" "9" :string)
+ ))
+
+(define-rule-set "sr-ignore-special"
+
+ :rules (("?" "" :string)
+ ("-" "" :string)
+ ("." "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ))
+
+(define-rule-set "sr-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)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/serbian/isoir111-lang.xdy b/Master/texmf/xindy/lang/serbian/isoir111-lang.xdy
new file mode 100644
index 00000000000..c50b2dff004
--- /dev/null
+++ b/Master/texmf/xindy/lang/serbian/isoir111-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/serbian/isoir111.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sr-alphabetize" "sr-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sr-resolve-diacritics" "sr-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sr-resolve-case" "sr-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sr-resolve-special"))
diff --git a/Master/texmf/xindy/lang/serbian/isoir111-test.xdy b/Master/texmf/xindy/lang/serbian/isoir111-test.xdy
new file mode 100644
index 00000000000..bca897af0a6
--- /dev/null
+++ b/Master/texmf/xindy/lang/serbian/isoir111-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/serbian/isoir111.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sr-alphabetize" "sr-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sr-resolve-diacritics" "sr-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sr-resolve-case" "sr-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sr-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/lang/serbian/isoir111.xdy b/Master/texmf/xindy/lang/serbian/isoir111.xdy
new file mode 100644
index 00000000000..35085be16cb
--- /dev/null
+++ b/Master/texmf/xindy/lang/serbian/isoir111.xdy
@@ -0,0 +1,304 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Serbian
+
+(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-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+
+(define-rule-set "sr-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)
+ ("" "" :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 "sr-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)
+ ("" "" :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 "sr-resolve-case"
+
+ :rules (("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :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)
+ ("" "9" :string)
+ ("" "9" :string)
+ ))
+
+(define-rule-set "sr-ignore-special"
+
+ :rules (("?" "" :string)
+ ("-" "" :string)
+ ("." "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ))
+
+(define-rule-set "sr-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)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/serbian/utf8-lang.xdy b/Master/texmf/xindy/lang/serbian/utf8-lang.xdy
new file mode 100644
index 00000000000..61b9b43d353
--- /dev/null
+++ b/Master/texmf/xindy/lang/serbian/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/serbian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sr-alphabetize" "sr-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sr-resolve-diacritics" "sr-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sr-resolve-case" "sr-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sr-resolve-special"))
diff --git a/Master/texmf/xindy/lang/serbian/utf8-test.xdy b/Master/texmf/xindy/lang/serbian/utf8-test.xdy
new file mode 100644
index 00000000000..586375c85f4
--- /dev/null
+++ b/Master/texmf/xindy/lang/serbian/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/serbian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sr-alphabetize" "sr-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sr-resolve-diacritics" "sr-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sr-resolve-case" "sr-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sr-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/lang/serbian/utf8.xdy b/Master/texmf/xindy/lang/serbian/utf8.xdy
new file mode 100644
index 00000000000..3838ca072e6
--- /dev/null
+++ b/Master/texmf/xindy/lang/serbian/utf8.xdy
@@ -0,0 +1,404 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Serbian
+
+(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-letter-group "Ц" :after "Х" :prefixes (""))
+(define-letter-group "Ч" :after "Ц" :prefixes (""))
+(define-letter-group "Џ" :after "Ч" :prefixes (""))
+(define-letter-group "Ш" :after "Џ" :prefixes (""))
+
+(define-rule-set "sr-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)
+ ("Ж" "" :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)
+ ))
+
+(define-rule-set "sr-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)
+ ("П" "" :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)
+ ))
+
+(define-rule-set "sr-resolve-case"
+
+ :rules (("О̑" "8" :string)
+ ("Р̑" "8" :string)
+ ("А̑" "8" :string)
+ ("Е̑" "8" :string)
+ ("Р̏" "8" :string)
+ ("У̏" "8" :string)
+ ("И̑" "8" :string)
+ ("О̏" "8" :string)
+ ("У̑" "8" :string)
+ ("Е̏" "8" :string)
+ ("И̏" "8" :string)
+ ("А̏" "8" :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)
+ ("Ј" "8" :string)
+ ("И" "8" :string)
+ ("Љ" "8" :string)
+ ("П" "8" :string)
+ ("Л" "8" :string)
+ ("Ж" "8" :string)
+ ("Д" "8" :string)
+ ("Н" "8" :string)
+ ("Ш" "8" :string)
+ ("К" "8" :string)
+ ("Б" "8" :string)
+ ("Џ" "8" :string)
+ ("Ч" "8" :string)
+ ("Р" "8" :string)
+ ("Њ" "8" :string)
+ ("Ћ" "8" :string)
+ ("М" "8" :string)
+ ("Т" "8" :string)
+ ("З" "8" :string)
+ ("Ц" "8" :string)
+ ("С" "8" :string)
+ ("Ф" "8" :string)
+ ("В" "8" :string)
+ ("О" "8" :string)
+ ("Х" "8" :string)
+ ("Ђ" "8" :string)
+ ("У" "8" :string)
+ ("Г" "8" :string)
+ ("А" "8" :string)
+ ("Е" "8" :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)
+ ("ж" "9" :string)
+ ("с" "9" :string)
+ ))
+
+(define-rule-set "sr-ignore-special"
+
+ :rules (("̏" "" :string)
+ ("̑" "" :string)
+ ("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "sr-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)
+ ("Ч" "" :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/lang/slovak/large-cp1250-lang.xdy b/Master/texmf/xindy/lang/slovak/large-cp1250-lang.xdy
new file mode 100644
index 00000000000..a62563e6b8c
--- /dev/null
+++ b/Master/texmf/xindy/lang/slovak/large-cp1250-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/slovak/large-cp1250.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sk-alphabetize" "sk-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sk-resolve-diacritics" "sk-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sk-resolve-case" "sk-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sk-resolve-special"))
diff --git a/Master/texmf/xindy/lang/slovak/large-cp1250-test.xdy b/Master/texmf/xindy/lang/slovak/large-cp1250-test.xdy
new file mode 100644
index 00000000000..f6c3df809c9
--- /dev/null
+++ b/Master/texmf/xindy/lang/slovak/large-cp1250-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/slovak/large-cp1250.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sk-alphabetize" "sk-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sk-resolve-diacritics" "sk-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sk-resolve-case" "sk-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sk-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/lang/slovak/large-cp1250.xdy b/Master/texmf/xindy/lang/slovak/large-cp1250.xdy
new file mode 100644
index 00000000000..88bace997ad
--- /dev/null
+++ b/Master/texmf/xindy/lang/slovak/large-cp1250.xdy
@@ -0,0 +1,437 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Slovak
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "" :after "C" :prefixes (""))
+(define-letter-group "D" :after "" :prefixes (""))
+(define-letter-group "" :after "D" :prefixes (""))
+(define-letter-group "E" :after "" :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 "Ch" :after "H" :prefixes (""))
+(define-letter-group "I" :after "Ch" :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 "" :after "L" :prefixes (""))
+(define-letter-group "M" :after "" :prefixes (""))
+(define-letter-group "N" :after "M" :prefixes (""))
+(define-letter-group "" :after "N" :prefixes (""))
+(define-letter-group "O" :after "" :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 "" :after "R" :prefixes (""))
+(define-letter-group "S" :after "" :prefixes (""))
+(define-letter-group "" :after "S" :prefixes (""))
+(define-letter-group "T" :after "" :prefixes (""))
+(define-letter-group "" :after "T" :prefixes (""))
+(define-letter-group "U" :after "" :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-letter-group "" :after "Z" :prefixes (""))
+
+(define-rule-set "sk-alphabetize"
+
+ :rules (("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("" "" :string)
+ ("A" "" :string)
+ ("" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("C" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("I" "" :string)
+ ("i" "" :string)
+ ("J" "" :string)
+ ("j" "" :string)
+ ("K" "" :string)
+ ("k" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("l" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("M" "" :string)
+ ("m" "" :string)
+ ("N" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("O" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("P" "" :string)
+ ("p" "" :string)
+ ("q" "" :string)
+ ("Q" "" :string)
+ ("" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("S" "" :string)
+ ("s" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("U" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("w" "" :string)
+ ("W" "" :string)
+ ("X" "" :string)
+ ("x" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "sk-resolve-diacritics"
+
+ :rules (("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :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 "sk-resolve-case"
+
+ :rules (("CH" "7" :string)
+ ("Ch" "8" :string)
+ ("ch" "9" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("" "8" :string)
+ ("W" "8" :string)
+ ("" "8" :string)
+ ("B" "8" :string)
+ ("" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("" "9" :string)
+ ("t" "9" :string)
+ ("" "9" :string)
+ ("v" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("r" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("x" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("h" "9" :string)
+ ("" "9" :string)
+ ("f" "9" :string)
+ ("i" "9" :string)
+ ("n" "9" :string)
+ ("m" "9" :string)
+ ("l" "9" :string)
+ ("p" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("o" "9" :string)
+ ("" "99" :string)
+ ))
+
+(define-rule-set "sk-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "sk-resolve-special"
+
+ :rules (("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/slovak/large-latin2-lang.xdy b/Master/texmf/xindy/lang/slovak/large-latin2-lang.xdy
new file mode 100644
index 00000000000..2afc7f51c58
--- /dev/null
+++ b/Master/texmf/xindy/lang/slovak/large-latin2-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/slovak/large-latin2.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sk-alphabetize" "sk-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sk-resolve-diacritics" "sk-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sk-resolve-case" "sk-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sk-resolve-special"))
diff --git a/Master/texmf/xindy/lang/slovak/large-latin2-test.xdy b/Master/texmf/xindy/lang/slovak/large-latin2-test.xdy
new file mode 100644
index 00000000000..34678d235c5
--- /dev/null
+++ b/Master/texmf/xindy/lang/slovak/large-latin2-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/slovak/large-latin2.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sk-alphabetize" "sk-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sk-resolve-diacritics" "sk-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sk-resolve-case" "sk-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sk-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/lang/slovak/large-latin2.xdy b/Master/texmf/xindy/lang/slovak/large-latin2.xdy
new file mode 100644
index 00000000000..4f1e1bb26b8
--- /dev/null
+++ b/Master/texmf/xindy/lang/slovak/large-latin2.xdy
@@ -0,0 +1,437 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Slovak
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "" :after "C" :prefixes (""))
+(define-letter-group "D" :after "" :prefixes (""))
+(define-letter-group "" :after "D" :prefixes (""))
+(define-letter-group "E" :after "" :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 "Ch" :after "H" :prefixes (""))
+(define-letter-group "I" :after "Ch" :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 "" :after "L" :prefixes (""))
+(define-letter-group "M" :after "" :prefixes (""))
+(define-letter-group "N" :after "M" :prefixes (""))
+(define-letter-group "" :after "N" :prefixes (""))
+(define-letter-group "O" :after "" :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 "" :after "R" :prefixes (""))
+(define-letter-group "S" :after "" :prefixes (""))
+(define-letter-group "" :after "S" :prefixes (""))
+(define-letter-group "T" :after "" :prefixes (""))
+(define-letter-group "" :after "T" :prefixes (""))
+(define-letter-group "U" :after "" :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-letter-group "" :after "Z" :prefixes (""))
+
+(define-rule-set "sk-alphabetize"
+
+ :rules (("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("" "" :string)
+ ("A" "" :string)
+ ("" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("C" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("I" "" :string)
+ ("i" "" :string)
+ ("J" "" :string)
+ ("j" "" :string)
+ ("K" "" :string)
+ ("k" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("l" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("M" "" :string)
+ ("m" "" :string)
+ ("N" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("O" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("P" "" :string)
+ ("p" "" :string)
+ ("q" "" :string)
+ ("Q" "" :string)
+ ("" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("S" "" :string)
+ ("s" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("U" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("w" "" :string)
+ ("W" "" :string)
+ ("X" "" :string)
+ ("x" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "sk-resolve-diacritics"
+
+ :rules (("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :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 "sk-resolve-case"
+
+ :rules (("CH" "7" :string)
+ ("Ch" "8" :string)
+ ("ch" "9" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("t" "9" :string)
+ ("" "9" :string)
+ ("v" "9" :string)
+ ("" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("r" "9" :string)
+ ("" "9" :string)
+ ("x" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("h" "9" :string)
+ ("" "9" :string)
+ ("f" "9" :string)
+ ("i" "9" :string)
+ ("n" "9" :string)
+ ("m" "9" :string)
+ ("l" "9" :string)
+ ("p" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("o" "9" :string)
+ ("" "99" :string)
+ ))
+
+(define-rule-set "sk-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "sk-resolve-special"
+
+ :rules (("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/slovak/large-utf8-lang.xdy b/Master/texmf/xindy/lang/slovak/large-utf8-lang.xdy
new file mode 100644
index 00000000000..77b1bf8b143
--- /dev/null
+++ b/Master/texmf/xindy/lang/slovak/large-utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/slovak/large-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sk-alphabetize" "sk-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sk-resolve-diacritics" "sk-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sk-resolve-case" "sk-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sk-resolve-special"))
diff --git a/Master/texmf/xindy/lang/slovak/large-utf8-test.xdy b/Master/texmf/xindy/lang/slovak/large-utf8-test.xdy
new file mode 100644
index 00000000000..72a1d679c4e
--- /dev/null
+++ b/Master/texmf/xindy/lang/slovak/large-utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/slovak/large-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sk-alphabetize" "sk-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sk-resolve-diacritics" "sk-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sk-resolve-case" "sk-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sk-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/lang/slovak/large-utf8.xdy b/Master/texmf/xindy/lang/slovak/large-utf8.xdy
new file mode 100644
index 00000000000..22fcb245b5d
--- /dev/null
+++ b/Master/texmf/xindy/lang/slovak/large-utf8.xdy
@@ -0,0 +1,437 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Slovak
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "Č" :after "C" :prefixes (""))
+(define-letter-group "D" :after "Č" :prefixes (""))
+(define-letter-group "Ď" :after "D" :prefixes (""))
+(define-letter-group "E" :after "Ď" :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 "Ch" :after "H" :prefixes (""))
+(define-letter-group "I" :after "Ch" :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 "Ľ" :after "L" :prefixes (""))
+(define-letter-group "M" :after "Ľ" :prefixes (""))
+(define-letter-group "N" :after "M" :prefixes (""))
+(define-letter-group "Ň" :after "N" :prefixes (""))
+(define-letter-group "O" :after "Ň" :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 "Ř" :after "R" :prefixes (""))
+(define-letter-group "S" :after "Ř" :prefixes (""))
+(define-letter-group "Š" :after "S" :prefixes (""))
+(define-letter-group "T" :after "Š" :prefixes (""))
+(define-letter-group "Ť" :after "T" :prefixes (""))
+(define-letter-group "U" :after "Ť" :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-letter-group "Ž" :after "Z" :prefixes (""))
+
+(define-rule-set "sk-alphabetize"
+
+ :rules (("Á" "" :string)
+ ("Ä" "" :string)
+ ("á" "" :string)
+ ("ä" "" :string)
+ ("č" "" :string)
+ ("Č" "" :string)
+ ("ď" "" :string)
+ ("Ď" "" :string)
+ ("É" "" :string)
+ ("é" "" :string)
+ ("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :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)
+ ("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 "sk-resolve-diacritics"
+
+ :rules (("Ž" "" :string)
+ ("ľ" "" :string)
+ ("Ch" "" :string)
+ ("Ř" "" :string)
+ ("Ň" "" :string)
+ ("č" "" :string)
+ ("ch" "" :string)
+ ("ď" "" :string)
+ ("Š" "" :string)
+ ("ř" "" :string)
+ ("š" "" :string)
+ ("CH" "" :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)
+ ("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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "sk-resolve-case"
+
+ :rules (("CH" "7" :string)
+ ("Ý" "8" :string)
+ ("Á" "8" :string)
+ ("Ž" "8" :string)
+ ("Ô" "8" :string)
+ ("Ó" "8" :string)
+ ("É" "8" :string)
+ ("Í" "8" :string)
+ ("Ch" "8" :string)
+ ("Ú" "8" :string)
+ ("Ř" "8" :string)
+ ("Ň" "8" :string)
+ ("Ä" "8" :string)
+ ("Ŕ" "8" :string)
+ ("Š" "8" :string)
+ ("Ď" "8" :string)
+ ("Ĺ" "8" :string)
+ ("Č" "8" :string)
+ ("Ť" "8" :string)
+ ("Ľ" "8" :string)
+ ("ľ" "9" :string)
+ ("ŕ" "9" :string)
+ ("ý" "9" :string)
+ ("ô" "9" :string)
+ ("ĺ" "9" :string)
+ ("č" "9" :string)
+ ("ch" "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)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "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 "sk-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "sk-resolve-special"
+
+ :rules (("Ý" "" :string)
+ ("Á" "" :string)
+ ("Ž" "" :string)
+ ("ľ" "" :string)
+ ("Ô" "" :string)
+ ("ŕ" "" :string)
+ ("Ó" "" :string)
+ ("É" "" :string)
+ ("ý" "" :string)
+ ("Í" "" :string)
+ ("ô" "" :string)
+ ("Ch" "" :string)
+ ("ĺ" "" :string)
+ ("Ú" "" :string)
+ ("Ř" "" :string)
+ ("Ň" "" :string)
+ ("č" "" :string)
+ ("Ä" "" :string)
+ ("ch" "" :string)
+ ("ú" "" :string)
+ ("ď" "" :string)
+ ("á" "" :string)
+ ("Ŕ" "" :string)
+ ("Š" "" :string)
+ ("ř" "" :string)
+ ("ä" "" :string)
+ ("š" "" :string)
+ ("CH" "" :string)
+ ("í" "" :string)
+ ("Ď" "" :string)
+ ("ó" "" :string)
+ ("Ĺ" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/slovak/small-cp1250-lang.xdy b/Master/texmf/xindy/lang/slovak/small-cp1250-lang.xdy
new file mode 100644
index 00000000000..96a36e2c466
--- /dev/null
+++ b/Master/texmf/xindy/lang/slovak/small-cp1250-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/slovak/small-cp1250.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sk-alphabetize" "sk-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sk-resolve-diacritics" "sk-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sk-resolve-case" "sk-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sk-resolve-special"))
diff --git a/Master/texmf/xindy/lang/slovak/small-cp1250-test.xdy b/Master/texmf/xindy/lang/slovak/small-cp1250-test.xdy
new file mode 100644
index 00000000000..34abe1cc5fb
--- /dev/null
+++ b/Master/texmf/xindy/lang/slovak/small-cp1250-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/slovak/small-cp1250.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sk-alphabetize" "sk-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sk-resolve-diacritics" "sk-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sk-resolve-case" "sk-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sk-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/lang/slovak/small-cp1250.xdy b/Master/texmf/xindy/lang/slovak/small-cp1250.xdy
new file mode 100644
index 00000000000..6c8384a67d1
--- /dev/null
+++ b/Master/texmf/xindy/lang/slovak/small-cp1250.xdy
@@ -0,0 +1,429 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Slovak
+
+(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 "Ch" :after "H" :prefixes (""))
+(define-letter-group "I" :after "Ch" :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 "sk-alphabetize"
+
+ :rules (("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("" "" :string)
+ ("A" "" :string)
+ ("" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("C" "" :string)
+ ("" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("d" "" :string)
+ ("" "" :string)
+ ("D" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("I" "" :string)
+ ("i" "" :string)
+ ("J" "" :string)
+ ("j" "" :string)
+ ("K" "" :string)
+ ("k" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("l" "" :string)
+ ("M" "" :string)
+ ("m" "" :string)
+ ("" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("O" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("P" "" :string)
+ ("p" "" :string)
+ ("q" "" :string)
+ ("Q" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("S" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("U" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("w" "" :string)
+ ("W" "" :string)
+ ("X" "" :string)
+ ("x" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "sk-resolve-diacritics"
+
+ :rules (("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :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 "sk-resolve-case"
+
+ :rules (("CH" "7" :string)
+ ("Ch" "8" :string)
+ ("ch" "9" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("" "8" :string)
+ ("W" "8" :string)
+ ("" "8" :string)
+ ("B" "8" :string)
+ ("" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("" "9" :string)
+ ("t" "9" :string)
+ ("" "9" :string)
+ ("v" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("r" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("x" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("h" "9" :string)
+ ("" "9" :string)
+ ("f" "9" :string)
+ ("i" "9" :string)
+ ("n" "9" :string)
+ ("m" "9" :string)
+ ("l" "9" :string)
+ ("p" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("o" "9" :string)
+ ("" "99" :string)
+ ))
+
+(define-rule-set "sk-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "sk-resolve-special"
+
+ :rules (("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/slovak/small-latin2-lang.xdy b/Master/texmf/xindy/lang/slovak/small-latin2-lang.xdy
new file mode 100644
index 00000000000..6ae82bab993
--- /dev/null
+++ b/Master/texmf/xindy/lang/slovak/small-latin2-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/slovak/small-latin2.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sk-alphabetize" "sk-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sk-resolve-diacritics" "sk-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sk-resolve-case" "sk-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sk-resolve-special"))
diff --git a/Master/texmf/xindy/lang/slovak/small-latin2-test.xdy b/Master/texmf/xindy/lang/slovak/small-latin2-test.xdy
new file mode 100644
index 00000000000..c386edc2e26
--- /dev/null
+++ b/Master/texmf/xindy/lang/slovak/small-latin2-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/slovak/small-latin2.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sk-alphabetize" "sk-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sk-resolve-diacritics" "sk-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sk-resolve-case" "sk-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sk-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/lang/slovak/small-latin2.xdy b/Master/texmf/xindy/lang/slovak/small-latin2.xdy
new file mode 100644
index 00000000000..de3b2d6a2fc
--- /dev/null
+++ b/Master/texmf/xindy/lang/slovak/small-latin2.xdy
@@ -0,0 +1,429 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Slovak
+
+(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 "Ch" :after "H" :prefixes (""))
+(define-letter-group "I" :after "Ch" :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 "sk-alphabetize"
+
+ :rules (("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("" "" :string)
+ ("A" "" :string)
+ ("" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("C" "" :string)
+ ("" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("d" "" :string)
+ ("" "" :string)
+ ("D" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("I" "" :string)
+ ("i" "" :string)
+ ("J" "" :string)
+ ("j" "" :string)
+ ("K" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("l" "" :string)
+ ("M" "" :string)
+ ("m" "" :string)
+ ("" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("O" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("P" "" :string)
+ ("p" "" :string)
+ ("q" "" :string)
+ ("Q" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("S" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("U" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("w" "" :string)
+ ("W" "" :string)
+ ("X" "" :string)
+ ("x" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "sk-resolve-diacritics"
+
+ :rules (("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :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 "sk-resolve-case"
+
+ :rules (("CH" "7" :string)
+ ("Ch" "8" :string)
+ ("ch" "9" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("t" "9" :string)
+ ("" "9" :string)
+ ("v" "9" :string)
+ ("" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("r" "9" :string)
+ ("" "9" :string)
+ ("x" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("h" "9" :string)
+ ("" "9" :string)
+ ("f" "9" :string)
+ ("i" "9" :string)
+ ("n" "9" :string)
+ ("m" "9" :string)
+ ("l" "9" :string)
+ ("p" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("o" "9" :string)
+ ("" "99" :string)
+ ))
+
+(define-rule-set "sk-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "sk-resolve-special"
+
+ :rules (("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/slovak/small-utf8-lang.xdy b/Master/texmf/xindy/lang/slovak/small-utf8-lang.xdy
new file mode 100644
index 00000000000..51ffd911ecf
--- /dev/null
+++ b/Master/texmf/xindy/lang/slovak/small-utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/slovak/small-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sk-alphabetize" "sk-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sk-resolve-diacritics" "sk-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sk-resolve-case" "sk-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sk-resolve-special"))
diff --git a/Master/texmf/xindy/lang/slovak/small-utf8-test.xdy b/Master/texmf/xindy/lang/slovak/small-utf8-test.xdy
new file mode 100644
index 00000000000..9f8f361e34e
--- /dev/null
+++ b/Master/texmf/xindy/lang/slovak/small-utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/slovak/small-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sk-alphabetize" "sk-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sk-resolve-diacritics" "sk-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sk-resolve-case" "sk-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sk-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/lang/slovak/small-utf8.xdy b/Master/texmf/xindy/lang/slovak/small-utf8.xdy
new file mode 100644
index 00000000000..48a88ac422a
--- /dev/null
+++ b/Master/texmf/xindy/lang/slovak/small-utf8.xdy
@@ -0,0 +1,429 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Slovak
+
+(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 "Ch" :after "H" :prefixes (""))
+(define-letter-group "I" :after "Ch" :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 "sk-alphabetize"
+
+ :rules (("Á" "" :string)
+ ("Ä" "" :string)
+ ("á" "" :string)
+ ("ä" "" :string)
+ ("č" "" :string)
+ ("Č" "" :string)
+ ("ď" "" :string)
+ ("Ď" "" :string)
+ ("É" "" :string)
+ ("é" "" :string)
+ ("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :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)
+ ("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 "sk-resolve-diacritics"
+
+ :rules (("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :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)
+ ("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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "sk-resolve-case"
+
+ :rules (("CH" "7" :string)
+ ("Ý" "8" :string)
+ ("Á" "8" :string)
+ ("Ž" "8" :string)
+ ("Ô" "8" :string)
+ ("Ó" "8" :string)
+ ("É" "8" :string)
+ ("Í" "8" :string)
+ ("Ch" "8" :string)
+ ("Ú" "8" :string)
+ ("Ř" "8" :string)
+ ("Ň" "8" :string)
+ ("Ä" "8" :string)
+ ("Ŕ" "8" :string)
+ ("Š" "8" :string)
+ ("Ď" "8" :string)
+ ("Ĺ" "8" :string)
+ ("Č" "8" :string)
+ ("Ť" "8" :string)
+ ("Ľ" "8" :string)
+ ("ľ" "9" :string)
+ ("ŕ" "9" :string)
+ ("ý" "9" :string)
+ ("ô" "9" :string)
+ ("ĺ" "9" :string)
+ ("č" "9" :string)
+ ("ch" "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)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "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 "sk-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "sk-resolve-special"
+
+ :rules (("Ý" "" :string)
+ ("Á" "" :string)
+ ("Ž" "" :string)
+ ("ľ" "" :string)
+ ("Ô" "" :string)
+ ("ŕ" "" :string)
+ ("Ó" "" :string)
+ ("É" "" :string)
+ ("ý" "" :string)
+ ("Í" "" :string)
+ ("ô" "" :string)
+ ("Ch" "" :string)
+ ("ĺ" "" :string)
+ ("Ú" "" :string)
+ ("Ř" "" :string)
+ ("Ň" "" :string)
+ ("č" "" :string)
+ ("Ä" "" :string)
+ ("ch" "" :string)
+ ("ú" "" :string)
+ ("ď" "" :string)
+ ("á" "" :string)
+ ("Ŕ" "" :string)
+ ("Š" "" :string)
+ ("ř" "" :string)
+ ("ä" "" :string)
+ ("š" "" :string)
+ ("CH" "" :string)
+ ("í" "" :string)
+ ("Ď" "" :string)
+ ("ó" "" :string)
+ ("Ĺ" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/slovenian/cp1250-lang.xdy b/Master/texmf/xindy/lang/slovenian/cp1250-lang.xdy
new file mode 100644
index 00000000000..c3446600d7a
--- /dev/null
+++ b/Master/texmf/xindy/lang/slovenian/cp1250-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/slovenian/cp1250.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sl-alphabetize" "sl-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sl-resolve-diacritics" "sl-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sl-resolve-case" "sl-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sl-resolve-special"))
diff --git a/Master/texmf/xindy/lang/slovenian/cp1250-test.xdy b/Master/texmf/xindy/lang/slovenian/cp1250-test.xdy
new file mode 100644
index 00000000000..6f3f3eb7870
--- /dev/null
+++ b/Master/texmf/xindy/lang/slovenian/cp1250-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/slovenian/cp1250.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sl-alphabetize" "sl-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sl-resolve-diacritics" "sl-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sl-resolve-case" "sl-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sl-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/lang/slovenian/cp1250.xdy b/Master/texmf/xindy/lang/slovenian/cp1250.xdy
new file mode 100644
index 00000000000..fb434cd17bf
--- /dev/null
+++ b/Master/texmf/xindy/lang/slovenian/cp1250.xdy
@@ -0,0 +1,311 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Slovenian
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "" :after "C" :prefixes (""))
+(define-letter-group "D" :after "" :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 "" :after "S" :prefixes (""))
+(define-letter-group "T" :after "" :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-letter-group "" :after "Z" :prefixes (""))
+
+(define-rule-set "sl-alphabetize"
+
+ :rules (("a" "" :string)
+ ("A" "" :string)
+ ("B" "" :string)
+ ("b" "" :string)
+ ("c" "" :string)
+ ("C" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "sl-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)
+ ("" "" :string)
+ ("t" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("h" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "sl-resolve-case"
+
+ :rules (("S" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("Z" "8" :string)
+ ("" "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)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("R" "8" :string)
+ ("" "9" :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)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("x" "9" :string)
+ ("" "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 "sl-ignore-special"
+
+ :rules (("?" "" :string)
+ ("-" "" :string)
+ ("." "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ))
+
+(define-rule-set "sl-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("" "" :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)
+ ))
+
diff --git a/Master/texmf/xindy/lang/slovenian/latin2-lang.xdy b/Master/texmf/xindy/lang/slovenian/latin2-lang.xdy
new file mode 100644
index 00000000000..8ba49e4a4d1
--- /dev/null
+++ b/Master/texmf/xindy/lang/slovenian/latin2-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/slovenian/latin2.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sl-alphabetize" "sl-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sl-resolve-diacritics" "sl-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sl-resolve-case" "sl-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sl-resolve-special"))
diff --git a/Master/texmf/xindy/lang/slovenian/latin2-test.xdy b/Master/texmf/xindy/lang/slovenian/latin2-test.xdy
new file mode 100644
index 00000000000..3c2aa1ec8ec
--- /dev/null
+++ b/Master/texmf/xindy/lang/slovenian/latin2-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/slovenian/latin2.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sl-alphabetize" "sl-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sl-resolve-diacritics" "sl-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sl-resolve-case" "sl-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sl-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/lang/slovenian/latin2.xdy b/Master/texmf/xindy/lang/slovenian/latin2.xdy
new file mode 100644
index 00000000000..e347aecae2f
--- /dev/null
+++ b/Master/texmf/xindy/lang/slovenian/latin2.xdy
@@ -0,0 +1,311 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Slovenian
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "" :after "C" :prefixes (""))
+(define-letter-group "D" :after "" :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 "" :after "S" :prefixes (""))
+(define-letter-group "T" :after "" :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-letter-group "" :after "Z" :prefixes (""))
+
+(define-rule-set "sl-alphabetize"
+
+ :rules (("a" "" :string)
+ ("A" "" :string)
+ ("B" "" :string)
+ ("b" "" :string)
+ ("c" "" :string)
+ ("C" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "sl-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)
+ ("" "" :string)
+ ("t" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("h" "" :string)
+ ("C" "" :string)
+ ("" "" :string)
+ ("L" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "sl-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)
+ ("" "8" :string)
+ ("H" "8" :string)
+ ("D" "8" :string)
+ ("I" "8" :string)
+ ("" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("" "8" :string)
+ ("V" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("R" "8" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("d" "9" :string)
+ ("j" "9" :string)
+ ("y" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("g" "9" :string)
+ ("" "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)
+ ("" "9" :string)
+ ("x" "9" :string)
+ ("" "9" :string)
+ ("h" "9" :string)
+ ("" "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 "sl-ignore-special"
+
+ :rules (("?" "" :string)
+ ("-" "" :string)
+ ("." "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ))
+
+(define-rule-set "sl-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("B" "" :string)
+ ("s" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("" "" :string)
+ ("V" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("n" "" :string)
+ ("O" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/slovenian/utf8-lang.xdy b/Master/texmf/xindy/lang/slovenian/utf8-lang.xdy
new file mode 100644
index 00000000000..888ea1836aa
--- /dev/null
+++ b/Master/texmf/xindy/lang/slovenian/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/slovenian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sl-alphabetize" "sl-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sl-resolve-diacritics" "sl-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sl-resolve-case" "sl-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sl-resolve-special"))
diff --git a/Master/texmf/xindy/lang/slovenian/utf8-test.xdy b/Master/texmf/xindy/lang/slovenian/utf8-test.xdy
new file mode 100644
index 00000000000..6855c4460a7
--- /dev/null
+++ b/Master/texmf/xindy/lang/slovenian/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/slovenian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sl-alphabetize" "sl-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sl-resolve-diacritics" "sl-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sl-resolve-case" "sl-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sl-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/lang/slovenian/utf8.xdy b/Master/texmf/xindy/lang/slovenian/utf8.xdy
new file mode 100644
index 00000000000..fea64b3fcc1
--- /dev/null
+++ b/Master/texmf/xindy/lang/slovenian/utf8.xdy
@@ -0,0 +1,375 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Slovenian
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "Č" :after "C" :prefixes (""))
+(define-letter-group "D" :after "Č" :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 "Š" :after "S" :prefixes (""))
+(define-letter-group "T" :after "Š" :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-letter-group "Ž" :after "Z" :prefixes (""))
+
+(define-rule-set "sl-alphabetize"
+
+ :rules (("ḱ" "" :string)
+ ("Ḱ" "" :string)
+ ("č" "" :string)
+ ("Ć" "" :string)
+ ("Č" "" :string)
+ ("ć" "" :string)
+ ("đ" "" :string)
+ ("Đ" "" :string)
+ ("dz" "" :string)
+ ("DZ" "" :string)
+ ("Dz" "" :string)
+ ("dž" "" :string)
+ ("DŽ" "" :string)
+ ("Dž" "" :string)
+ ("Ǵ" "" :string)
+ ("ǵ" "" :string)
+ ("lj" "" :string)
+ ("Lj" "" :string)
+ ("LJ" "" :string)
+ ("NJ" "" :string)
+ ("Nj" "" :string)
+ ("nj" "" :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 "sl-resolve-diacritics"
+
+ :rules (("ḱ" "" :string)
+ ("Ḱ" "" :string)
+ ("Ž" "" :string)
+ ("č" "" :string)
+ ("Š" "" :string)
+ ("š" "" :string)
+ ("Č" "" :string)
+ ("ž" "" :string)
+ ("đ" "" :string)
+ ("Ć" "" :string)
+ ("Ǵ" "" :string)
+ ("ǵ" "" :string)
+ ("Đ" "" :string)
+ ("ć" "" :string)
+ ("dž" "" :string)
+ ("DŽ" "" :string)
+ ("Dž" "" :string)
+ ("dz" "" :string)
+ ("NJ" "" :string)
+ ("Nj" "" :string)
+ ("lj" "" :string)
+ ("Lj" "" :string)
+ ("DZ" "" :string)
+ ("Dz" "" :string)
+ ("LJ" "" :string)
+ ("nj" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "sl-resolve-case"
+
+ :rules (("Ḱ" "8" :string)
+ ("ḱ" "9" :string)
+ ("Ž" "8" :string)
+ ("Š" "8" :string)
+ ("Ć" "8" :string)
+ ("Ǵ" "8" :string)
+ ("Č" "8" :string)
+ ("Đ" "8" :string)
+ ("DŽ" "88" :string)
+ ("NJ" "88" :string)
+ ("DZ" "88" :string)
+ ("LJ" "88" :string)
+ ("Dž" "89" :string)
+ ("Nj" "89" :string)
+ ("Lj" "89" :string)
+ ("Dz" "89" :string)
+ ("č" "9" :string)
+ ("đ" "9" :string)
+ ("š" "9" :string)
+ ("ǵ" "9" :string)
+ ("ć" "9" :string)
+ ("ž" "9" :string)
+ ("dž" "99" :string)
+ ("dz" "99" :string)
+ ("lj" "99" :string)
+ ("nj" "99" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "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 "sl-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "sl-resolve-special"
+
+ :rules (("ḱ" "" :string)
+ ("Ḱ" "" :string)
+ ("Ž" "" :string)
+ ("č" "" :string)
+ ("đ" "" :string)
+ ("Š" "" :string)
+ ("š" "" :string)
+ ("Ć" "" :string)
+ ("Ǵ" "" :string)
+ ("ǵ" "" :string)
+ ("Č" "" :string)
+ ("Đ" "" :string)
+ ("ć" "" :string)
+ ("ž" "" :string)
+ ("dž" "" :string)
+ ("DŽ" "" :string)
+ ("Dž" "" :string)
+ ("dz" "" :string)
+ ("NJ" "" :string)
+ ("Nj" "" :string)
+ ("lj" "" :string)
+ ("Lj" "" :string)
+ ("DZ" "" :string)
+ ("Dz" "" :string)
+ ("LJ" "" :string)
+ ("nj" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/spanish/modern-latin1-lang.xdy b/Master/texmf/xindy/lang/spanish/modern-latin1-lang.xdy
new file mode 100644
index 00000000000..cf87f232384
--- /dev/null
+++ b/Master/texmf/xindy/lang/spanish/modern-latin1-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/spanish/modern-latin1.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("es-alphabetize" "es-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("es-resolve-diacritics" "es-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("es-resolve-case" "es-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("es-resolve-special"))
diff --git a/Master/texmf/xindy/lang/spanish/modern-latin1-test.xdy b/Master/texmf/xindy/lang/spanish/modern-latin1-test.xdy
new file mode 100644
index 00000000000..4083128245a
--- /dev/null
+++ b/Master/texmf/xindy/lang/spanish/modern-latin1-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/spanish/modern-latin1.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("es-alphabetize" "es-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("es-resolve-diacritics" "es-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("es-resolve-case" "es-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("es-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/lang/spanish/modern-latin1.xdy b/Master/texmf/xindy/lang/spanish/modern-latin1.xdy
new file mode 100644
index 00000000000..e040c90e6c5
--- /dev/null
+++ b/Master/texmf/xindy/lang/spanish/modern-latin1.xdy
@@ -0,0 +1,333 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Spanish
+
+(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 "" :after "N" :prefixes (""))
+(define-letter-group "O" :after "" :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 "es-alphabetize"
+
+ :rules (("" "" :string)
+ ("a" "" :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)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("O" "" :string)
+ ("" "" :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)
+ ("" "" :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 "es-resolve-diacritics"
+
+ :rules (("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)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "es-resolve-case"
+
+ :rules (("d" "0" :string)
+ ("y" "0" :string)
+ ("g" "0" :string)
+ ("e" "0" :string)
+ ("q" "0" :string)
+ ("b" "0" :string)
+ ("z" "0" :string)
+ ("" "0" :string)
+ ("w" "0" :string)
+ ("" "0" :string)
+ ("a" "0" :string)
+ ("" "0" :string)
+ ("j" "0" :string)
+ ("" "0" :string)
+ ("u" "0" :string)
+ ("k" "0" :string)
+ ("t" "0" :string)
+ ("v" "0" :string)
+ ("" "0" :string)
+ ("s" "0" :string)
+ ("c" "0" :string)
+ ("r" "0" :string)
+ ("x" "0" :string)
+ ("h" "0" :string)
+ ("f" "0" :string)
+ ("i" "0" :string)
+ ("n" "0" :string)
+ ("m" "0" :string)
+ ("l" "0" :string)
+ ("p" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("o" "0" :string)
+ ("" "00" :string)
+ ("S" "1" :string)
+ ("K" "1" :string)
+ ("Y" "1" :string)
+ ("E" "1" :string)
+ ("" "1" :string)
+ ("J" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("D" "1" :string)
+ ("" "1" :string)
+ ("Q" "1" :string)
+ ("M" "1" :string)
+ ("C" "1" :string)
+ ("L" "1" :string)
+ ("X" "1" :string)
+ ("P" "1" :string)
+ ("T" "1" :string)
+ ("N" "1" :string)
+ ("Z" "1" :string)
+ ("" "1" :string)
+ ("W" "1" :string)
+ ("B" "1" :string)
+ ("H" "1" :string)
+ ("I" "1" :string)
+ ("G" "1" :string)
+ ("U" "1" :string)
+ ("" "1" :string)
+ ("F" "1" :string)
+ ("V" "1" :string)
+ ("A" "1" :string)
+ ("O" "1" :string)
+ ("" "1" :string)
+ ("R" "1" :string)
+ ))
+
+(define-rule-set "es-ignore-special"
+
+ :rules (("-" "" :string)
+ ("" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "es-resolve-special"
+
+ :rules (("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("." "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ("" "" :string)
+ ("?" "" :string)
+ ("" "" :string)
+ ("!" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/spanish/modern-utf8-lang.xdy b/Master/texmf/xindy/lang/spanish/modern-utf8-lang.xdy
new file mode 100644
index 00000000000..0a5ac8d476a
--- /dev/null
+++ b/Master/texmf/xindy/lang/spanish/modern-utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/spanish/modern-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("es-alphabetize" "es-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("es-resolve-diacritics" "es-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("es-resolve-case" "es-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("es-resolve-special"))
diff --git a/Master/texmf/xindy/lang/spanish/modern-utf8-test.xdy b/Master/texmf/xindy/lang/spanish/modern-utf8-test.xdy
new file mode 100644
index 00000000000..adce25b2de9
--- /dev/null
+++ b/Master/texmf/xindy/lang/spanish/modern-utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/spanish/modern-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("es-alphabetize" "es-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("es-resolve-diacritics" "es-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("es-resolve-case" "es-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("es-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/lang/spanish/modern-utf8.xdy b/Master/texmf/xindy/lang/spanish/modern-utf8.xdy
new file mode 100644
index 00000000000..cbb4e7e1d6a
--- /dev/null
+++ b/Master/texmf/xindy/lang/spanish/modern-utf8.xdy
@@ -0,0 +1,333 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Spanish
+
+(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 "Ñ" :after "N" :prefixes (""))
+(define-letter-group "O" :after "Ñ" :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 "es-alphabetize"
+
+ :rules (("Á" "" :string)
+ ("á" "" :string)
+ ("É" "" :string)
+ ("é" "" :string)
+ ("Í" "" :string)
+ ("í" "" :string)
+ ("Ñ" "" :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 "es-resolve-diacritics"
+
+ :rules (("Ñ" "" :string)
+ ("ñ" "" :string)
+ ("Á" "" :string)
+ ("Ó" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "es-resolve-case"
+
+ :rules (("ú" "0" :string)
+ ("á" "0" :string)
+ ("ñ" "0" :string)
+ ("í" "0" :string)
+ ("ó" "0" :string)
+ ("é" "0" :string)
+ ("ü" "0" :string)
+ ("ß" "00" :string)
+ ("Á" "1" :string)
+ ("Ñ" "1" :string)
+ ("Ó" "1" :string)
+ ("É" "1" :string)
+ ("Í" "1" :string)
+ ("Ú" "1" :string)
+ ("Ü" "1" :string)
+ ("d" "0" :string)
+ ("y" "0" :string)
+ ("g" "0" :string)
+ ("e" "0" :string)
+ ("q" "0" :string)
+ ("b" "0" :string)
+ ("z" "0" :string)
+ ("w" "0" :string)
+ ("a" "0" :string)
+ ("j" "0" :string)
+ ("u" "0" :string)
+ ("k" "0" :string)
+ ("t" "0" :string)
+ ("v" "0" :string)
+ ("s" "0" :string)
+ ("c" "0" :string)
+ ("r" "0" :string)
+ ("x" "0" :string)
+ ("h" "0" :string)
+ ("f" "0" :string)
+ ("i" "0" :string)
+ ("n" "0" :string)
+ ("m" "0" :string)
+ ("l" "0" :string)
+ ("p" "0" :string)
+ ("o" "0" :string)
+ ("S" "1" :string)
+ ("K" "1" :string)
+ ("Y" "1" :string)
+ ("E" "1" :string)
+ ("J" "1" :string)
+ ("D" "1" :string)
+ ("Q" "1" :string)
+ ("M" "1" :string)
+ ("C" "1" :string)
+ ("L" "1" :string)
+ ("X" "1" :string)
+ ("P" "1" :string)
+ ("T" "1" :string)
+ ("N" "1" :string)
+ ("Z" "1" :string)
+ ("W" "1" :string)
+ ("B" "1" :string)
+ ("H" "1" :string)
+ ("I" "1" :string)
+ ("G" "1" :string)
+ ("U" "1" :string)
+ ("F" "1" :string)
+ ("V" "1" :string)
+ ("A" "1" :string)
+ ("O" "1" :string)
+ ("R" "1" :string)
+ ))
+
+(define-rule-set "es-ignore-special"
+
+ :rules (("¡" "" :string)
+ ("¿" "" :string)
+ ("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "es-resolve-special"
+
+ :rules (("Á" "" :string)
+ ("Ñ" "" :string)
+ ("Ó" "" :string)
+ ("É" "" :string)
+ ("Í" "" :string)
+ ("Ú" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("." "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("!" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/spanish/traditional-latin1-lang.xdy b/Master/texmf/xindy/lang/spanish/traditional-latin1-lang.xdy
new file mode 100644
index 00000000000..6f2f1d466a5
--- /dev/null
+++ b/Master/texmf/xindy/lang/spanish/traditional-latin1-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/spanish/traditional-latin1.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("es-alphabetize" "es-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("es-resolve-diacritics" "es-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("es-resolve-case" "es-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("es-resolve-special"))
diff --git a/Master/texmf/xindy/lang/spanish/traditional-latin1-test.xdy b/Master/texmf/xindy/lang/spanish/traditional-latin1-test.xdy
new file mode 100644
index 00000000000..f030fe785aa
--- /dev/null
+++ b/Master/texmf/xindy/lang/spanish/traditional-latin1-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/spanish/traditional-latin1.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("es-alphabetize" "es-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("es-resolve-diacritics" "es-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("es-resolve-case" "es-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("es-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/lang/spanish/traditional-latin1.xdy b/Master/texmf/xindy/lang/spanish/traditional-latin1.xdy
new file mode 100644
index 00000000000..4d644ab1942
--- /dev/null
+++ b/Master/texmf/xindy/lang/spanish/traditional-latin1.xdy
@@ -0,0 +1,359 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Spanish
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "Ch" :after "C" :prefixes (""))
+(define-letter-group "D" :after "Ch" :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 "Ll" :after "L" :prefixes (""))
+(define-letter-group "M" :after "Ll" :prefixes (""))
+(define-letter-group "N" :after "M" :prefixes (""))
+(define-letter-group "" :after "N" :prefixes (""))
+(define-letter-group "O" :after "" :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 "es-alphabetize"
+
+ :rules (("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("ll" "" :string)
+ ("LL" "" :string)
+ ("Ll" "" :string)
+ ("" "" :string)
+ ("a" "" :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)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("O" "" :string)
+ ("" "" :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)
+ ("" "" :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 "es-resolve-diacritics"
+
+ :rules (("ll" "" :string)
+ ("Ch" "" :string)
+ ("ch" "" :string)
+ ("LL" "" :string)
+ ("CH" "" :string)
+ ("Ll" "" :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)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "es-resolve-case"
+
+ :rules (("ll" "0" :string)
+ ("ch" "0" :string)
+ ("Ch" "1" :string)
+ ("Ll" "1" :string)
+ ("LL" "2" :string)
+ ("CH" "2" :string)
+ ("d" "0" :string)
+ ("y" "0" :string)
+ ("g" "0" :string)
+ ("e" "0" :string)
+ ("q" "0" :string)
+ ("b" "0" :string)
+ ("z" "0" :string)
+ ("" "0" :string)
+ ("w" "0" :string)
+ ("" "0" :string)
+ ("a" "0" :string)
+ ("" "0" :string)
+ ("j" "0" :string)
+ ("" "0" :string)
+ ("u" "0" :string)
+ ("k" "0" :string)
+ ("t" "0" :string)
+ ("v" "0" :string)
+ ("" "0" :string)
+ ("s" "0" :string)
+ ("c" "0" :string)
+ ("r" "0" :string)
+ ("x" "0" :string)
+ ("h" "0" :string)
+ ("f" "0" :string)
+ ("i" "0" :string)
+ ("n" "0" :string)
+ ("m" "0" :string)
+ ("l" "0" :string)
+ ("p" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("o" "0" :string)
+ ("" "00" :string)
+ ("S" "1" :string)
+ ("K" "1" :string)
+ ("Y" "1" :string)
+ ("E" "1" :string)
+ ("" "1" :string)
+ ("J" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("D" "1" :string)
+ ("" "1" :string)
+ ("Q" "1" :string)
+ ("M" "1" :string)
+ ("C" "1" :string)
+ ("L" "1" :string)
+ ("X" "1" :string)
+ ("P" "1" :string)
+ ("T" "1" :string)
+ ("N" "1" :string)
+ ("Z" "1" :string)
+ ("" "1" :string)
+ ("W" "1" :string)
+ ("B" "1" :string)
+ ("H" "1" :string)
+ ("I" "1" :string)
+ ("G" "1" :string)
+ ("U" "1" :string)
+ ("" "1" :string)
+ ("F" "1" :string)
+ ("V" "1" :string)
+ ("A" "1" :string)
+ ("O" "1" :string)
+ ("" "1" :string)
+ ("R" "1" :string)
+ ))
+
+(define-rule-set "es-ignore-special"
+
+ :rules (("-" "" :string)
+ ("" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "es-resolve-special"
+
+ :rules (("ll" "" :string)
+ ("Ch" "" :string)
+ ("ch" "" :string)
+ ("LL" "" :string)
+ ("CH" "" :string)
+ ("Ll" "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("." "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ("" "" :string)
+ ("?" "" :string)
+ ("" "" :string)
+ ("!" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/spanish/traditional-utf8-lang.xdy b/Master/texmf/xindy/lang/spanish/traditional-utf8-lang.xdy
new file mode 100644
index 00000000000..81f350887c1
--- /dev/null
+++ b/Master/texmf/xindy/lang/spanish/traditional-utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/spanish/traditional-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("es-alphabetize" "es-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("es-resolve-diacritics" "es-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("es-resolve-case" "es-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("es-resolve-special"))
diff --git a/Master/texmf/xindy/lang/spanish/traditional-utf8-test.xdy b/Master/texmf/xindy/lang/spanish/traditional-utf8-test.xdy
new file mode 100644
index 00000000000..adc1b23050e
--- /dev/null
+++ b/Master/texmf/xindy/lang/spanish/traditional-utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/spanish/traditional-utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("es-alphabetize" "es-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("es-resolve-diacritics" "es-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("es-resolve-case" "es-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("es-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/lang/spanish/traditional-utf8.xdy b/Master/texmf/xindy/lang/spanish/traditional-utf8.xdy
new file mode 100644
index 00000000000..04be530db9d
--- /dev/null
+++ b/Master/texmf/xindy/lang/spanish/traditional-utf8.xdy
@@ -0,0 +1,359 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Spanish
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "Ch" :after "C" :prefixes (""))
+(define-letter-group "D" :after "Ch" :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 "Ll" :after "L" :prefixes (""))
+(define-letter-group "M" :after "Ll" :prefixes (""))
+(define-letter-group "N" :after "M" :prefixes (""))
+(define-letter-group "Ñ" :after "N" :prefixes (""))
+(define-letter-group "O" :after "Ñ" :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 "es-alphabetize"
+
+ :rules (("Á" "" :string)
+ ("á" "" :string)
+ ("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("É" "" :string)
+ ("é" "" :string)
+ ("Í" "" :string)
+ ("í" "" :string)
+ ("ll" "" :string)
+ ("LL" "" :string)
+ ("Ll" "" :string)
+ ("Ñ" "" :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 "es-resolve-diacritics"
+
+ :rules (("Ñ" "" :string)
+ ("ll" "" :string)
+ ("Ch" "" :string)
+ ("ch" "" :string)
+ ("ñ" "" :string)
+ ("LL" "" :string)
+ ("CH" "" :string)
+ ("Ll" "" :string)
+ ("Á" "" :string)
+ ("Ó" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "es-resolve-case"
+
+ :rules (("ll" "0" :string)
+ ("ch" "0" :string)
+ ("ú" "0" :string)
+ ("á" "0" :string)
+ ("ñ" "0" :string)
+ ("í" "0" :string)
+ ("ó" "0" :string)
+ ("é" "0" :string)
+ ("ü" "0" :string)
+ ("ß" "00" :string)
+ ("Á" "1" :string)
+ ("Ñ" "1" :string)
+ ("Ó" "1" :string)
+ ("É" "1" :string)
+ ("Í" "1" :string)
+ ("Ch" "1" :string)
+ ("Ú" "1" :string)
+ ("Ü" "1" :string)
+ ("Ll" "1" :string)
+ ("LL" "2" :string)
+ ("CH" "2" :string)
+ ("d" "0" :string)
+ ("y" "0" :string)
+ ("g" "0" :string)
+ ("e" "0" :string)
+ ("q" "0" :string)
+ ("b" "0" :string)
+ ("z" "0" :string)
+ ("w" "0" :string)
+ ("a" "0" :string)
+ ("j" "0" :string)
+ ("u" "0" :string)
+ ("k" "0" :string)
+ ("t" "0" :string)
+ ("v" "0" :string)
+ ("s" "0" :string)
+ ("c" "0" :string)
+ ("r" "0" :string)
+ ("x" "0" :string)
+ ("h" "0" :string)
+ ("f" "0" :string)
+ ("i" "0" :string)
+ ("n" "0" :string)
+ ("m" "0" :string)
+ ("l" "0" :string)
+ ("p" "0" :string)
+ ("o" "0" :string)
+ ("S" "1" :string)
+ ("K" "1" :string)
+ ("Y" "1" :string)
+ ("E" "1" :string)
+ ("J" "1" :string)
+ ("D" "1" :string)
+ ("Q" "1" :string)
+ ("M" "1" :string)
+ ("C" "1" :string)
+ ("L" "1" :string)
+ ("X" "1" :string)
+ ("P" "1" :string)
+ ("T" "1" :string)
+ ("N" "1" :string)
+ ("Z" "1" :string)
+ ("W" "1" :string)
+ ("B" "1" :string)
+ ("H" "1" :string)
+ ("I" "1" :string)
+ ("G" "1" :string)
+ ("U" "1" :string)
+ ("F" "1" :string)
+ ("V" "1" :string)
+ ("A" "1" :string)
+ ("O" "1" :string)
+ ("R" "1" :string)
+ ))
+
+(define-rule-set "es-ignore-special"
+
+ :rules (("¡" "" :string)
+ ("¿" "" :string)
+ ("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "es-resolve-special"
+
+ :rules (("Á" "" :string)
+ ("Ñ" "" :string)
+ ("ll" "" :string)
+ ("Ó" "" :string)
+ ("É" "" :string)
+ ("Í" "" :string)
+ ("Ch" "" :string)
+ ("Ú" "" :string)
+ ("ch" "" :string)
+ ("ú" "" :string)
+ ("Ü" "" :string)
+ ("á" "" :string)
+ ("ñ" "" :string)
+ ("LL" "" :string)
+ ("CH" "" :string)
+ ("í" "" :string)
+ ("ó" "" :string)
+ ("é" "" :string)
+ ("ü" "" :string)
+ ("Ll" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("." "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("!" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/swedish/cp1252-lang.xdy b/Master/texmf/xindy/lang/swedish/cp1252-lang.xdy
new file mode 100644
index 00000000000..74426acd236
--- /dev/null
+++ b/Master/texmf/xindy/lang/swedish/cp1252-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/swedish/cp1252.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sv-alphabetize" "sv-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sv-resolve-diacritics" "sv-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sv-resolve-case" "sv-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sv-resolve-special"))
diff --git a/Master/texmf/xindy/lang/swedish/cp1252-test.xdy b/Master/texmf/xindy/lang/swedish/cp1252-test.xdy
new file mode 100644
index 00000000000..27b171d0234
--- /dev/null
+++ b/Master/texmf/xindy/lang/swedish/cp1252-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/swedish/cp1252.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sv-alphabetize" "sv-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sv-resolve-diacritics" "sv-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sv-resolve-case" "sv-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sv-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/lang/swedish/cp1252.xdy b/Master/texmf/xindy/lang/swedish/cp1252.xdy
new file mode 100644
index 00000000000..fd57a53dfe4
--- /dev/null
+++ b/Master/texmf/xindy/lang/swedish/cp1252.xdy
@@ -0,0 +1,498 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Swedish
+
+(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 "X" :after "V" :prefixes (""))
+(define-letter-group "Y" :after "X" :prefixes (""))
+(define-letter-group "Z" :after "Y" :prefixes (""))
+(define-letter-group "" :after "Z" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+
+(define-rule-set "sv-alphabetize"
+
+ :rules (("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("A" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("C" "" :string)
+ ("" "" :string)
+ ("c" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("I" "" :string)
+ ("i" "" :string)
+ ("J" "" :string)
+ ("j" "" :string)
+ ("K" "" :string)
+ ("k" "" :string)
+ ("L" "" :string)
+ ("l" "" :string)
+ ("M" "" :string)
+ ("m" "" :string)
+ ("" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("O" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("P" "" :string)
+ ("p" "" :string)
+ ("q" "" :string)
+ ("Q" "" :string)
+ ("r" "" :string)
+ ("R" "" :string)
+ ("S" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("w" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("X" "" :string)
+ ("x" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "sv-resolve-diacritics"
+
+ :rules (("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)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("W" "" :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 "sv-resolve-case"
+
+ :rules (("d" "0" :string)
+ ("y" "0" :string)
+ ("" "0" :string)
+ ("g" "0" :string)
+ ("" "0" :string)
+ ("e" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("q" "0" :string)
+ ("b" "0" :string)
+ ("z" "0" :string)
+ ("" "0" :string)
+ ("w" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("a" "0" :string)
+ ("" "0" :string)
+ ("j" "0" :string)
+ ("" "0" :string)
+ ("u" "0" :string)
+ ("k" "0" :string)
+ ("" "0" :string)
+ ("t" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("v" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("s" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("c" "0" :string)
+ ("r" "0" :string)
+ ("" "0" :string)
+ ("x" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("h" "0" :string)
+ ("f" "0" :string)
+ ("" "0" :string)
+ ("i" "0" :string)
+ ("n" "0" :string)
+ ("m" "0" :string)
+ ("l" "0" :string)
+ ("p" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("o" "0" :string)
+ ("" "00" :string)
+ ("S" "1" :string)
+ ("K" "1" :string)
+ ("Y" "1" :string)
+ ("" "1" :string)
+ ("E" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("J" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("D" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("Q" "1" :string)
+ ("M" "1" :string)
+ ("C" "1" :string)
+ ("L" "1" :string)
+ ("" "1" :string)
+ ("X" "1" :string)
+ ("P" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("T" "1" :string)
+ ("N" "1" :string)
+ ("Z" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("W" "1" :string)
+ ("B" "1" :string)
+ ("" "1" :string)
+ ("H" "1" :string)
+ ("I" "1" :string)
+ ("" "1" :string)
+ ("G" "1" :string)
+ ("U" "1" :string)
+ ("" "1" :string)
+ ("F" "1" :string)
+ ("" "1" :string)
+ ("V" "1" :string)
+ ("" "1" :string)
+ ("A" "1" :string)
+ ("O" "1" :string)
+ ("" "1" :string)
+ ("R" "1" :string)
+ ))
+
+(define-rule-set "sv-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "sv-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/swedish/latin9-lang.xdy b/Master/texmf/xindy/lang/swedish/latin9-lang.xdy
new file mode 100644
index 00000000000..42c7ab85c5c
--- /dev/null
+++ b/Master/texmf/xindy/lang/swedish/latin9-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/swedish/latin9.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sv-alphabetize" "sv-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sv-resolve-diacritics" "sv-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sv-resolve-case" "sv-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sv-resolve-special"))
diff --git a/Master/texmf/xindy/lang/swedish/latin9-test.xdy b/Master/texmf/xindy/lang/swedish/latin9-test.xdy
new file mode 100644
index 00000000000..4e61246dcd3
--- /dev/null
+++ b/Master/texmf/xindy/lang/swedish/latin9-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/swedish/latin9.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sv-alphabetize" "sv-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sv-resolve-diacritics" "sv-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sv-resolve-case" "sv-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sv-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/lang/swedish/latin9.xdy b/Master/texmf/xindy/lang/swedish/latin9.xdy
new file mode 100644
index 00000000000..36778c76045
--- /dev/null
+++ b/Master/texmf/xindy/lang/swedish/latin9.xdy
@@ -0,0 +1,498 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Swedish
+
+(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 "X" :after "V" :prefixes (""))
+(define-letter-group "Y" :after "X" :prefixes (""))
+(define-letter-group "Z" :after "Y" :prefixes (""))
+(define-letter-group "" :after "Z" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+(define-letter-group "" :after "" :prefixes (""))
+
+(define-rule-set "sv-alphabetize"
+
+ :rules (("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("A" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("C" "" :string)
+ ("" "" :string)
+ ("c" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("I" "" :string)
+ ("i" "" :string)
+ ("J" "" :string)
+ ("j" "" :string)
+ ("K" "" :string)
+ ("k" "" :string)
+ ("L" "" :string)
+ ("l" "" :string)
+ ("M" "" :string)
+ ("m" "" :string)
+ ("" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("O" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("P" "" :string)
+ ("p" "" :string)
+ ("q" "" :string)
+ ("Q" "" :string)
+ ("r" "" :string)
+ ("R" "" :string)
+ ("S" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("w" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("X" "" :string)
+ ("x" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "sv-resolve-diacritics"
+
+ :rules (("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)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("W" "" :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 "sv-resolve-case"
+
+ :rules (("" "0" :string)
+ ("d" "0" :string)
+ ("y" "0" :string)
+ ("" "0" :string)
+ ("g" "0" :string)
+ ("" "0" :string)
+ ("e" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("q" "0" :string)
+ ("b" "0" :string)
+ ("z" "0" :string)
+ ("" "0" :string)
+ ("w" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("a" "0" :string)
+ ("" "0" :string)
+ ("j" "0" :string)
+ ("" "0" :string)
+ ("u" "0" :string)
+ ("k" "0" :string)
+ ("" "0" :string)
+ ("t" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("v" "0" :string)
+ ("" "0" :string)
+ ("s" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("c" "0" :string)
+ ("r" "0" :string)
+ ("" "0" :string)
+ ("x" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("h" "0" :string)
+ ("f" "0" :string)
+ ("" "0" :string)
+ ("i" "0" :string)
+ ("n" "0" :string)
+ ("m" "0" :string)
+ ("l" "0" :string)
+ ("p" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("" "0" :string)
+ ("o" "0" :string)
+ ("" "00" :string)
+ ("S" "1" :string)
+ ("" "1" :string)
+ ("K" "1" :string)
+ ("Y" "1" :string)
+ ("" "1" :string)
+ ("E" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("J" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("D" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("Q" "1" :string)
+ ("M" "1" :string)
+ ("C" "1" :string)
+ ("L" "1" :string)
+ ("" "1" :string)
+ ("X" "1" :string)
+ ("P" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("T" "1" :string)
+ ("N" "1" :string)
+ ("Z" "1" :string)
+ ("" "1" :string)
+ ("" "1" :string)
+ ("W" "1" :string)
+ ("B" "1" :string)
+ ("" "1" :string)
+ ("H" "1" :string)
+ ("I" "1" :string)
+ ("" "1" :string)
+ ("G" "1" :string)
+ ("U" "1" :string)
+ ("" "1" :string)
+ ("F" "1" :string)
+ ("" "1" :string)
+ ("V" "1" :string)
+ ("" "1" :string)
+ ("A" "1" :string)
+ ("O" "1" :string)
+ ("" "1" :string)
+ ("R" "1" :string)
+ ))
+
+(define-rule-set "sv-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "sv-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("" "" :string)
+ ("K" "" :string)
+ ("" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/swedish/utf8-lang.xdy b/Master/texmf/xindy/lang/swedish/utf8-lang.xdy
new file mode 100644
index 00000000000..3b0fac2397b
--- /dev/null
+++ b/Master/texmf/xindy/lang/swedish/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/swedish/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sv-alphabetize" "sv-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sv-resolve-diacritics" "sv-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sv-resolve-case" "sv-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sv-resolve-special"))
diff --git a/Master/texmf/xindy/lang/swedish/utf8-test.xdy b/Master/texmf/xindy/lang/swedish/utf8-test.xdy
new file mode 100644
index 00000000000..08cc1449ef9
--- /dev/null
+++ b/Master/texmf/xindy/lang/swedish/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/swedish/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("sv-alphabetize" "sv-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("sv-resolve-diacritics" "sv-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("sv-resolve-case" "sv-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("sv-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/lang/swedish/utf8.xdy b/Master/texmf/xindy/lang/swedish/utf8.xdy
new file mode 100644
index 00000000000..8b545d0203e
--- /dev/null
+++ b/Master/texmf/xindy/lang/swedish/utf8.xdy
@@ -0,0 +1,546 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Swedish
+
+(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 "X" :after "V" :prefixes (""))
+(define-letter-group "Y" :after "X" :prefixes (""))
+(define-letter-group "Z" :after "Y" :prefixes (""))
+(define-letter-group "Å" :after "Z" :prefixes (""))
+(define-letter-group "Ä" :after "Å" :prefixes (""))
+(define-letter-group "Ö" :after "Ä" :prefixes (""))
+
+(define-rule-set "sv-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)
+ ("Ò" "" :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)
+ ("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)
+ ("w" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("V" "" :string)
+ ("X" "" :string)
+ ("x" "" :string)
+ ("Y" "" :string)
+ ("y" "" :string)
+ ("z" "" :string)
+ ("Z" "" :string)
+ ))
+
+(define-rule-set "sv-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)
+ ("Ù" "" :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)
+ ("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)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("w" "" :string)
+ ("W" "" :string)
+ ))
+
+(define-rule-set "sv-resolve-case"
+
+ :rules (("ù" "0" :string)
+ ("ð" "0" :string)
+ ("ý" "0" :string)
+ ("ô" "0" :string)
+ ("ł" "0" :string)
+ ("ø" "0" :string)
+ ("č" "0" :string)
+ ("ú" "0" :string)
+ ("î" "0" :string)
+ ("ï" "0" :string)
+ ("á" "0" :string)
+ ("ö" "0" :string)
+ ("ñ" "0" :string)
+ ("û" "0" :string)
+ ("ř" "0" :string)
+ ("ä" "0" :string)
+ ("ò" "0" :string)
+ ("š" "0" :string)
+ ("å" "0" :string)
+ ("ç" "0" :string)
+ ("â" "0" :string)
+ ("ì" "0" :string)
+ ("à" "0" :string)
+ ("í" "0" :string)
+ ("æ" "0" :string)
+ ("ó" "0" :string)
+ ("è" "0" :string)
+ ("ë" "0" :string)
+ ("ś" "0" :string)
+ ("ê" "0" :string)
+ ("ń" "0" :string)
+ ("é" "0" :string)
+ ("ü" "0" :string)
+ ("ć" "0" :string)
+ ("ß" "00" :string)
+ ("Ý" "1" :string)
+ ("Ö" "1" :string)
+ ("Î" "1" :string)
+ ("Á" "1" :string)
+ ("Â" "1" :string)
+ ("Ñ" "1" :string)
+ ("Ô" "1" :string)
+ ("Û" "1" :string)
+ ("Ç" "1" :string)
+ ("Ó" "1" :string)
+ ("É" "1" :string)
+ ("Ò" "1" :string)
+ ("Í" "1" :string)
+ ("Ł" "1" :string)
+ ("Ï" "1" :string)
+ ("Ú" "1" :string)
+ ("Ř" "1" :string)
+ ("Ä" "1" :string)
+ ("Ü" "1" :string)
+ ("Æ" "1" :string)
+ ("Ê" "1" :string)
+ ("Å" "1" :string)
+ ("Ù" "1" :string)
+ ("Š" "1" :string)
+ ("È" "1" :string)
+ ("Ć" "1" :string)
+ ("Ë" "1" :string)
+ ("Ø" "1" :string)
+ ("À" "1" :string)
+ ("Č" "1" :string)
+ ("Ń" "1" :string)
+ ("Ì" "1" :string)
+ ("Ś" "1" :string)
+ ("Ð" "1" :string)
+ ("d" "0" :string)
+ ("y" "0" :string)
+ ("g" "0" :string)
+ ("e" "0" :string)
+ ("q" "0" :string)
+ ("b" "0" :string)
+ ("z" "0" :string)
+ ("w" "0" :string)
+ ("a" "0" :string)
+ ("j" "0" :string)
+ ("u" "0" :string)
+ ("k" "0" :string)
+ ("t" "0" :string)
+ ("v" "0" :string)
+ ("s" "0" :string)
+ ("c" "0" :string)
+ ("r" "0" :string)
+ ("x" "0" :string)
+ ("h" "0" :string)
+ ("f" "0" :string)
+ ("i" "0" :string)
+ ("n" "0" :string)
+ ("m" "0" :string)
+ ("l" "0" :string)
+ ("p" "0" :string)
+ ("o" "0" :string)
+ ("S" "1" :string)
+ ("K" "1" :string)
+ ("Y" "1" :string)
+ ("E" "1" :string)
+ ("J" "1" :string)
+ ("D" "1" :string)
+ ("Q" "1" :string)
+ ("M" "1" :string)
+ ("C" "1" :string)
+ ("L" "1" :string)
+ ("X" "1" :string)
+ ("P" "1" :string)
+ ("T" "1" :string)
+ ("N" "1" :string)
+ ("Z" "1" :string)
+ ("W" "1" :string)
+ ("B" "1" :string)
+ ("H" "1" :string)
+ ("I" "1" :string)
+ ("G" "1" :string)
+ ("U" "1" :string)
+ ("F" "1" :string)
+ ("V" "1" :string)
+ ("A" "1" :string)
+ ("O" "1" :string)
+ ("R" "1" :string)
+ ))
+
+(define-rule-set "sv-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "sv-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)
+ ("ë" "" :string)
+ ("Č" "" :string)
+ ("ś" "" :string)
+ ("Ń" "" :string)
+ ("ê" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/turkish/latin3-lang.xdy b/Master/texmf/xindy/lang/turkish/latin3-lang.xdy
new file mode 100644
index 00000000000..9fe59b9e2a4
--- /dev/null
+++ b/Master/texmf/xindy/lang/turkish/latin3-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/turkish/latin3.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("tr-alphabetize" "tr-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("tr-resolve-diacritics" "tr-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("tr-resolve-case" "tr-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("tr-resolve-special"))
diff --git a/Master/texmf/xindy/lang/turkish/latin3-test.xdy b/Master/texmf/xindy/lang/turkish/latin3-test.xdy
new file mode 100644
index 00000000000..56a5b47ebec
--- /dev/null
+++ b/Master/texmf/xindy/lang/turkish/latin3-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/turkish/latin3.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("tr-alphabetize" "tr-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("tr-resolve-diacritics" "tr-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("tr-resolve-case" "tr-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("tr-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/lang/turkish/latin3.xdy b/Master/texmf/xindy/lang/turkish/latin3.xdy
new file mode 100644
index 00000000000..9f9e0da7ac0
--- /dev/null
+++ b/Master/texmf/xindy/lang/turkish/latin3.xdy
@@ -0,0 +1,338 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Turkish
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "" :after "C" :prefixes (""))
+(define-letter-group "D" :after "" :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 "" :after "G" :prefixes (""))
+(define-letter-group "H" :after "" :prefixes (""))
+(define-letter-group "I" :after "H" :prefixes (""))
+(define-letter-group "" :after "I" :prefixes (""))
+(define-letter-group "J" :after "" :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 "" :after "O" :prefixes (""))
+(define-letter-group "P" :after "" :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 "" :after "S" :prefixes (""))
+(define-letter-group "T" :after "" :prefixes (""))
+(define-letter-group "U" :after "T" :prefixes (""))
+(define-letter-group "" :after "U" :prefixes (""))
+(define-letter-group "V" :after "" :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 "tr-alphabetize"
+
+ :rules (("" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("A" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("C" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("E" "" :string)
+ ("e" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("I" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("U" "" :string)
+ ("" "" :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 "tr-resolve-diacritics"
+
+ :rules (("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "tr-resolve-case"
+
+ :rules (("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("" "9" :string)
+ ("c" "9" :string)
+ ("r" "9" :string)
+ ("x" "9" :string)
+ ("" "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)
+ ))
+
+(define-rule-set "tr-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "tr-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/turkish/latin5-lang.xdy b/Master/texmf/xindy/lang/turkish/latin5-lang.xdy
new file mode 100644
index 00000000000..101bb5e32a5
--- /dev/null
+++ b/Master/texmf/xindy/lang/turkish/latin5-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/turkish/latin5.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("tr-alphabetize" "tr-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("tr-resolve-diacritics" "tr-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("tr-resolve-case" "tr-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("tr-resolve-special"))
diff --git a/Master/texmf/xindy/lang/turkish/latin5-test.xdy b/Master/texmf/xindy/lang/turkish/latin5-test.xdy
new file mode 100644
index 00000000000..eb7912a9db9
--- /dev/null
+++ b/Master/texmf/xindy/lang/turkish/latin5-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/turkish/latin5.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("tr-alphabetize" "tr-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("tr-resolve-diacritics" "tr-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("tr-resolve-case" "tr-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("tr-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/lang/turkish/latin5.xdy b/Master/texmf/xindy/lang/turkish/latin5.xdy
new file mode 100644
index 00000000000..0c3524b0966
--- /dev/null
+++ b/Master/texmf/xindy/lang/turkish/latin5.xdy
@@ -0,0 +1,338 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Turkish
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "" :after "C" :prefixes (""))
+(define-letter-group "D" :after "" :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 "" :after "G" :prefixes (""))
+(define-letter-group "H" :after "" :prefixes (""))
+(define-letter-group "I" :after "H" :prefixes (""))
+(define-letter-group "" :after "I" :prefixes (""))
+(define-letter-group "J" :after "" :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 "" :after "O" :prefixes (""))
+(define-letter-group "P" :after "" :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 "" :after "S" :prefixes (""))
+(define-letter-group "T" :after "" :prefixes (""))
+(define-letter-group "U" :after "T" :prefixes (""))
+(define-letter-group "" :after "U" :prefixes (""))
+(define-letter-group "V" :after "" :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 "tr-alphabetize"
+
+ :rules (("" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("A" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("C" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("E" "" :string)
+ ("e" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("I" "" :string)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("U" "" :string)
+ ("" "" :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 "tr-resolve-diacritics"
+
+ :rules (("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("T" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "tr-resolve-case"
+
+ :rules (("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("" "9" :string)
+ ("c" "9" :string)
+ ("r" "9" :string)
+ ("" "9" :string)
+ ("x" "9" :string)
+ ("h" "9" :string)
+ ("f" "9" :string)
+ ("" "9" :string)
+ ("i" "9" :string)
+ ("n" "9" :string)
+ ("" "9" :string)
+ ("m" "9" :string)
+ ("l" "9" :string)
+ ("p" "9" :string)
+ ("o" "9" :string)
+ ))
+
+(define-rule-set "tr-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "tr-resolve-special"
+
+ :rules (("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("" "" :string)
+ ("V" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/turkish/utf8-lang.xdy b/Master/texmf/xindy/lang/turkish/utf8-lang.xdy
new file mode 100644
index 00000000000..a44b6112266
--- /dev/null
+++ b/Master/texmf/xindy/lang/turkish/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/turkish/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("tr-alphabetize" "tr-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("tr-resolve-diacritics" "tr-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("tr-resolve-case" "tr-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("tr-resolve-special"))
diff --git a/Master/texmf/xindy/lang/turkish/utf8-test.xdy b/Master/texmf/xindy/lang/turkish/utf8-test.xdy
new file mode 100644
index 00000000000..f83b02cad96
--- /dev/null
+++ b/Master/texmf/xindy/lang/turkish/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/turkish/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("tr-alphabetize" "tr-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("tr-resolve-diacritics" "tr-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("tr-resolve-case" "tr-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("tr-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/lang/turkish/utf8.xdy b/Master/texmf/xindy/lang/turkish/utf8.xdy
new file mode 100644
index 00000000000..486b490c3fa
--- /dev/null
+++ b/Master/texmf/xindy/lang/turkish/utf8.xdy
@@ -0,0 +1,338 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Turkish
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "Ç" :after "C" :prefixes (""))
+(define-letter-group "D" :after "Ç" :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 "Ğ" :after "G" :prefixes (""))
+(define-letter-group "H" :after "Ğ" :prefixes (""))
+(define-letter-group "I" :after "H" :prefixes (""))
+(define-letter-group "İ" :after "I" :prefixes (""))
+(define-letter-group "J" :after "İ" :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 "Ö" :after "O" :prefixes (""))
+(define-letter-group "P" :after "Ö" :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 "Ş" :after "S" :prefixes (""))
+(define-letter-group "T" :after "Ş" :prefixes (""))
+(define-letter-group "U" :after "T" :prefixes (""))
+(define-letter-group "Ü" :after "U" :prefixes (""))
+(define-letter-group "V" :after "Ü" :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 "tr-alphabetize"
+
+ :rules (("Â" "" :string)
+ ("â" "" :string)
+ ("Ç" "" :string)
+ ("ç" "" :string)
+ ("ğ" "" :string)
+ ("Ğ" "" :string)
+ ("ı" "" :string)
+ ("İ" "" :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 "tr-resolve-diacritics"
+
+ :rules (("İ" "" :string)
+ ("Ö" "" :string)
+ ("Ç" "" :string)
+ ("Ü" "" :string)
+ ("ö" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "tr-resolve-case"
+
+ :rules (("İ" "8" :string)
+ ("Ö" "8" :string)
+ ("Â" "8" :string)
+ ("Û" "8" :string)
+ ("Ç" "8" :string)
+ ("Ü" "8" :string)
+ ("Ğ" "8" :string)
+ ("Ş" "8" :string)
+ ("ö" "9" :string)
+ ("û" "9" :string)
+ ("ğ" "9" :string)
+ ("ş" "9" :string)
+ ("ı" "9" :string)
+ ("ç" "9" :string)
+ ("â" "9" :string)
+ ("ü" "9" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "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 "tr-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "tr-resolve-special"
+
+ :rules (("İ" "" :string)
+ ("Ö" "" :string)
+ ("Â" "" :string)
+ ("Û" "" :string)
+ ("Ç" "" :string)
+ ("Ü" "" :string)
+ ("ö" "" :string)
+ ("û" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/ukrainian/cp1251-lang.xdy b/Master/texmf/xindy/lang/ukrainian/cp1251-lang.xdy
new file mode 100644
index 00000000000..48f4bda82a6
--- /dev/null
+++ b/Master/texmf/xindy/lang/ukrainian/cp1251-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/ukrainian/cp1251.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("uk-alphabetize" "uk-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("uk-resolve-diacritics" "uk-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("uk-resolve-case" "uk-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("uk-resolve-special"))
diff --git a/Master/texmf/xindy/lang/ukrainian/cp1251-test.xdy b/Master/texmf/xindy/lang/ukrainian/cp1251-test.xdy
new file mode 100644
index 00000000000..b84a5105a3a
--- /dev/null
+++ b/Master/texmf/xindy/lang/ukrainian/cp1251-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/ukrainian/cp1251.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("uk-alphabetize" "uk-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("uk-resolve-diacritics" "uk-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("uk-resolve-case" "uk-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("uk-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/lang/ukrainian/cp1251.xdy b/Master/texmf/xindy/lang/ukrainian/cp1251.xdy
new file mode 100644
index 00000000000..2c36aaebfff
--- /dev/null
+++ b/Master/texmf/xindy/lang/ukrainian/cp1251.xdy
@@ -0,0 +1,366 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Ukrainian
+
+(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-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 "uk-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)
+ ("" "" :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 "uk-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)
+ ("" "" :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 "uk-resolve-case"
+
+ :rules (("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :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)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ))
+
+(define-rule-set "uk-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "uk-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)
+ ("" "" :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/lang/ukrainian/koi8-u-lang.xdy b/Master/texmf/xindy/lang/ukrainian/koi8-u-lang.xdy
new file mode 100644
index 00000000000..ddc684f6749
--- /dev/null
+++ b/Master/texmf/xindy/lang/ukrainian/koi8-u-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/ukrainian/koi8-u.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("uk-alphabetize" "uk-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("uk-resolve-diacritics" "uk-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("uk-resolve-case" "uk-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("uk-resolve-special"))
diff --git a/Master/texmf/xindy/lang/ukrainian/koi8-u-test.xdy b/Master/texmf/xindy/lang/ukrainian/koi8-u-test.xdy
new file mode 100644
index 00000000000..61489377a76
--- /dev/null
+++ b/Master/texmf/xindy/lang/ukrainian/koi8-u-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/ukrainian/koi8-u.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("uk-alphabetize" "uk-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("uk-resolve-diacritics" "uk-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("uk-resolve-case" "uk-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("uk-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/lang/ukrainian/koi8-u.xdy b/Master/texmf/xindy/lang/ukrainian/koi8-u.xdy
new file mode 100644
index 00000000000..1c8bedd0f0e
--- /dev/null
+++ b/Master/texmf/xindy/lang/ukrainian/koi8-u.xdy
@@ -0,0 +1,366 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Ukrainian
+
+(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-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 "uk-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)
+ ("" "" :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 "uk-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)
+ ("" "" :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 "uk-resolve-case"
+
+ :rules (("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("" "8" :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)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ))
+
+(define-rule-set "uk-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "uk-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)
+ ("" "" :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/lang/ukrainian/utf8-lang.xdy b/Master/texmf/xindy/lang/ukrainian/utf8-lang.xdy
new file mode 100644
index 00000000000..64c1f8798e5
--- /dev/null
+++ b/Master/texmf/xindy/lang/ukrainian/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/ukrainian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("uk-alphabetize" "uk-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("uk-resolve-diacritics" "uk-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("uk-resolve-case" "uk-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("uk-resolve-special"))
diff --git a/Master/texmf/xindy/lang/ukrainian/utf8-test.xdy b/Master/texmf/xindy/lang/ukrainian/utf8-test.xdy
new file mode 100644
index 00000000000..f948d2f51f1
--- /dev/null
+++ b/Master/texmf/xindy/lang/ukrainian/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/ukrainian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("uk-alphabetize" "uk-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("uk-resolve-diacritics" "uk-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("uk-resolve-case" "uk-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("uk-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/lang/ukrainian/utf8.xdy b/Master/texmf/xindy/lang/ukrainian/utf8.xdy
new file mode 100644
index 00000000000..84bb253994e
--- /dev/null
+++ b/Master/texmf/xindy/lang/ukrainian/utf8.xdy
@@ -0,0 +1,366 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Ukrainian
+
+(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-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 "uk-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)
+ ("о" "" :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 "uk-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)
+ ("є" "" :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 "uk-resolve-case"
+
+ :rules (("Є" "8" :string)
+ ("И" "8" :string)
+ ("П" "8" :string)
+ ("Л" "8" :string)
+ ("Ж" "8" :string)
+ ("Д" "8" :string)
+ ("Н" "8" :string)
+ ("Ш" "8" :string)
+ ("Щ" "8" :string)
+ ("К" "8" :string)
+ ("Й" "8" :string)
+ ("Б" "8" :string)
+ ("Я" "8" :string)
+ ("Ч" "8" :string)
+ ("Р" "8" :string)
+ ("М" "8" :string)
+ ("Т" "8" :string)
+ ("З" "8" :string)
+ ("Ц" "8" :string)
+ ("С" "8" :string)
+ ("Ф" "8" :string)
+ ("Ї" "8" :string)
+ ("І" "8" :string)
+ ("В" "8" :string)
+ ("О" "8" :string)
+ ("Х" "8" :string)
+ ("Ґ" "8" :string)
+ ("У" "8" :string)
+ ("Ё" "8" :string)
+ ("Г" "8" :string)
+ ("Ь" "8" :string)
+ ("А" "8" :string)
+ ("Ы" "8" :string)
+ ("Е" "8" :string)
+ ("Э" "8" :string)
+ ("Ъ" "8" :string)
+ ("Ю" "8" :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)
+ ("н" "9" :string)
+ ("м" "9" :string)
+ ("з" "9" :string)
+ ("ж" "9" :string)
+ ("і" "9" :string)
+ ("с" "9" :string)
+ ("я" "9" :string)
+ ("ё" "9" :string)
+ ("ю" "9" :string)
+ ))
+
+(define-rule-set "uk-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "uk-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)
+ ("з" "" :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/lang/upper-sorbian/cp1250-lang.xdy b/Master/texmf/xindy/lang/upper-sorbian/cp1250-lang.xdy
new file mode 100644
index 00000000000..f1e519c0a4e
--- /dev/null
+++ b/Master/texmf/xindy/lang/upper-sorbian/cp1250-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/upper-sorbian/cp1250.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("s2-alphabetize" "s2-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("s2-resolve-diacritics" "s2-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("s2-resolve-case" "s2-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("s2-resolve-special"))
diff --git a/Master/texmf/xindy/lang/upper-sorbian/cp1250-test.xdy b/Master/texmf/xindy/lang/upper-sorbian/cp1250-test.xdy
new file mode 100644
index 00000000000..55c801f8adf
--- /dev/null
+++ b/Master/texmf/xindy/lang/upper-sorbian/cp1250-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/upper-sorbian/cp1250.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("s2-alphabetize" "s2-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("s2-resolve-diacritics" "s2-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("s2-resolve-case" "s2-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("s2-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/lang/upper-sorbian/cp1250.xdy b/Master/texmf/xindy/lang/upper-sorbian/cp1250.xdy
new file mode 100644
index 00000000000..3f36cd942ec
--- /dev/null
+++ b/Master/texmf/xindy/lang/upper-sorbian/cp1250.xdy
@@ -0,0 +1,379 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Upper Sorbian
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "" :after "C" :prefixes (""))
+(define-letter-group "D" :after "" :prefixes (""))
+(define-letter-group "D" :after "D" :prefixes (""))
+(define-letter-group "E" :after "D" :prefixes (""))
+(define-letter-group "" :after "E" :prefixes (""))
+(define-letter-group "F" :after "" :prefixes (""))
+(define-letter-group "G" :after "F" :prefixes (""))
+(define-letter-group "H" :after "G" :prefixes (""))
+(define-letter-group "Ch" :after "H" :prefixes (""))
+(define-letter-group "I" :after "Ch" :prefixes (""))
+(define-letter-group "J" :after "I" :prefixes (""))
+(define-letter-group "K" :after "J" :prefixes (""))
+(define-letter-group "" :after "K" :prefixes (""))
+(define-letter-group "L" :after "" :prefixes (""))
+(define-letter-group "M" :after "L" :prefixes (""))
+(define-letter-group "N" :after "M" :prefixes (""))
+(define-letter-group "" :after "N" :prefixes (""))
+(define-letter-group "O" :after "" :prefixes (""))
+(define-letter-group "" :after "O" :prefixes (""))
+(define-letter-group "P" :after "" :prefixes (""))
+(define-letter-group "Q" :after "P" :prefixes (""))
+(define-letter-group "R" :after "Q" :prefixes (""))
+(define-letter-group "" :after "R" :prefixes (""))
+(define-letter-group "S" :after "" :prefixes (""))
+(define-letter-group "" :after "S" :prefixes (""))
+(define-letter-group "T" :after "" :prefixes (""))
+(define-letter-group "" :after "T" :prefixes (""))
+(define-letter-group "U" :after "" :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-letter-group "" :after "Z" :prefixes (""))
+
+(define-rule-set "s2-alphabetize"
+
+ :rules (("D" "" :string)
+ ("D" "" :string)
+ ("d" "" :string)
+ ("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("a" "" :string)
+ ("A" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("C" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ("L" "" :string)
+ ("l" "" :string)
+ ("M" "" :string)
+ ("m" "" :string)
+ ("N" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("O" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("P" "" :string)
+ ("p" "" :string)
+ ("q" "" :string)
+ ("Q" "" :string)
+ ("r" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("S" "" :string)
+ ("s" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "s2-resolve-diacritics"
+
+ :rules (("Ch" "" :string)
+ ("D" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("D" "" :string)
+ ("d" "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "s2-resolve-case"
+
+ :rules (("CH" "7" :string)
+ ("D" "7" :string)
+ ("Ch" "8" :string)
+ ("D" "8" :string)
+ ("ch" "9" :string)
+ ("d" "9" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("r" "9" :string)
+ ("" "9" :string)
+ ("x" "9" :string)
+ ("" "9" :string)
+ ("h" "9" :string)
+ ("f" "9" :string)
+ ("i" "9" :string)
+ ("n" "9" :string)
+ ("m" "9" :string)
+ ("l" "9" :string)
+ ("p" "9" :string)
+ ("" "9" :string)
+ ("o" "9" :string)
+ ("" "99" :string)
+ ))
+
+(define-rule-set "s2-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "s2-resolve-special"
+
+ :rules (("Ch" "" :string)
+ ("D" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("D" "" :string)
+ ("d" "" :string)
+ ("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/upper-sorbian/latin2-lang.xdy b/Master/texmf/xindy/lang/upper-sorbian/latin2-lang.xdy
new file mode 100644
index 00000000000..dfb0371e4a9
--- /dev/null
+++ b/Master/texmf/xindy/lang/upper-sorbian/latin2-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/upper-sorbian/latin2.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("s2-alphabetize" "s2-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("s2-resolve-diacritics" "s2-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("s2-resolve-case" "s2-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("s2-resolve-special"))
diff --git a/Master/texmf/xindy/lang/upper-sorbian/latin2-test.xdy b/Master/texmf/xindy/lang/upper-sorbian/latin2-test.xdy
new file mode 100644
index 00000000000..6f82e27f199
--- /dev/null
+++ b/Master/texmf/xindy/lang/upper-sorbian/latin2-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/upper-sorbian/latin2.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("s2-alphabetize" "s2-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("s2-resolve-diacritics" "s2-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("s2-resolve-case" "s2-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("s2-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/lang/upper-sorbian/latin2.xdy b/Master/texmf/xindy/lang/upper-sorbian/latin2.xdy
new file mode 100644
index 00000000000..3f85e70dbc7
--- /dev/null
+++ b/Master/texmf/xindy/lang/upper-sorbian/latin2.xdy
@@ -0,0 +1,379 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Upper Sorbian
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "" :after "C" :prefixes (""))
+(define-letter-group "D" :after "" :prefixes (""))
+(define-letter-group "D" :after "D" :prefixes (""))
+(define-letter-group "E" :after "D" :prefixes (""))
+(define-letter-group "" :after "E" :prefixes (""))
+(define-letter-group "F" :after "" :prefixes (""))
+(define-letter-group "G" :after "F" :prefixes (""))
+(define-letter-group "H" :after "G" :prefixes (""))
+(define-letter-group "Ch" :after "H" :prefixes (""))
+(define-letter-group "I" :after "Ch" :prefixes (""))
+(define-letter-group "J" :after "I" :prefixes (""))
+(define-letter-group "K" :after "J" :prefixes (""))
+(define-letter-group "" :after "K" :prefixes (""))
+(define-letter-group "L" :after "" :prefixes (""))
+(define-letter-group "M" :after "L" :prefixes (""))
+(define-letter-group "N" :after "M" :prefixes (""))
+(define-letter-group "" :after "N" :prefixes (""))
+(define-letter-group "O" :after "" :prefixes (""))
+(define-letter-group "" :after "O" :prefixes (""))
+(define-letter-group "P" :after "" :prefixes (""))
+(define-letter-group "Q" :after "P" :prefixes (""))
+(define-letter-group "R" :after "Q" :prefixes (""))
+(define-letter-group "" :after "R" :prefixes (""))
+(define-letter-group "S" :after "" :prefixes (""))
+(define-letter-group "" :after "S" :prefixes (""))
+(define-letter-group "T" :after "" :prefixes (""))
+(define-letter-group "" :after "T" :prefixes (""))
+(define-letter-group "U" :after "" :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-letter-group "" :after "Z" :prefixes (""))
+
+(define-rule-set "s2-alphabetize"
+
+ :rules (("D" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("a" "" :string)
+ ("A" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("C" "" :string)
+ ("c" "" :string)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ("L" "" :string)
+ ("l" "" :string)
+ ("M" "" :string)
+ ("m" "" :string)
+ ("N" "" :string)
+ ("n" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("O" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("P" "" :string)
+ ("p" "" :string)
+ ("q" "" :string)
+ ("Q" "" :string)
+ ("r" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("S" "" :string)
+ ("s" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("" "" :string)
+ ("" "" :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)
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "s2-resolve-diacritics"
+
+ :rules (("D" "" :string)
+ ("Ch" "" :string)
+ ("d" "" :string)
+ ("ch" "" :string)
+ ("D" "" :string)
+ ("CH" "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ))
+
+(define-rule-set "s2-resolve-case"
+
+ :rules (("D" "7" :string)
+ ("CH" "7" :string)
+ ("Ch" "8" :string)
+ ("D" "8" :string)
+ ("d" "9" :string)
+ ("ch" "9" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("" "8" :string)
+ ("D" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("" "8" :string)
+ ("" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("r" "9" :string)
+ ("x" "9" :string)
+ ("" "9" :string)
+ ("h" "9" :string)
+ ("" "9" :string)
+ ("f" "9" :string)
+ ("i" "9" :string)
+ ("n" "9" :string)
+ ("m" "9" :string)
+ ("l" "9" :string)
+ ("p" "9" :string)
+ ("" "9" :string)
+ ("o" "9" :string)
+ ("" "99" :string)
+ ))
+
+(define-rule-set "s2-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "s2-resolve-special"
+
+ :rules (("D" "" :string)
+ ("Ch" "" :string)
+ ("d" "" :string)
+ ("ch" "" :string)
+ ("D" "" :string)
+ ("CH" "" :string)
+ ("?" "" :string)
+ ("!" "" :string)
+ ("." "" :string)
+ ("S" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("q" "" :string)
+ ("D" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("w" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("Q" "" :string)
+ ("" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("L" "" :string)
+ ("" "" :string)
+ ("X" "" :string)
+ ("P" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("" "" :string)
+ ("k" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("U" "" :string)
+ ("" "" :string)
+ ("F" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("V" "" :string)
+ ("" "" :string)
+ ("" "" :string)
+ ("h" "" :string)
+ ("" "" :string)
+ ("f" "" :string)
+ ("i" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("" "" :string)
+ ("o" "" :string)
+ ("" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/upper-sorbian/utf8-lang.xdy b/Master/texmf/xindy/lang/upper-sorbian/utf8-lang.xdy
new file mode 100644
index 00000000000..e3900bb989e
--- /dev/null
+++ b/Master/texmf/xindy/lang/upper-sorbian/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/upper-sorbian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("s2-alphabetize" "s2-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("s2-resolve-diacritics" "s2-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("s2-resolve-case" "s2-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("s2-resolve-special"))
diff --git a/Master/texmf/xindy/lang/upper-sorbian/utf8-test.xdy b/Master/texmf/xindy/lang/upper-sorbian/utf8-test.xdy
new file mode 100644
index 00000000000..299185d6333
--- /dev/null
+++ b/Master/texmf/xindy/lang/upper-sorbian/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/upper-sorbian/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("s2-alphabetize" "s2-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("s2-resolve-diacritics" "s2-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("s2-resolve-case" "s2-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("s2-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/lang/upper-sorbian/utf8.xdy b/Master/texmf/xindy/lang/upper-sorbian/utf8.xdy
new file mode 100644
index 00000000000..a5cac5d1e83
--- /dev/null
+++ b/Master/texmf/xindy/lang/upper-sorbian/utf8.xdy
@@ -0,0 +1,379 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Upper Sorbian
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "Č" :after "C" :prefixes (""))
+(define-letter-group "D" :after "Č" :prefixes (""))
+(define-letter-group "Dź" :after "D" :prefixes (""))
+(define-letter-group "E" :after "Dź" :prefixes (""))
+(define-letter-group "Ě" :after "E" :prefixes (""))
+(define-letter-group "F" :after "Ě" :prefixes (""))
+(define-letter-group "G" :after "F" :prefixes (""))
+(define-letter-group "H" :after "G" :prefixes (""))
+(define-letter-group "Ch" :after "H" :prefixes (""))
+(define-letter-group "I" :after "Ch" :prefixes (""))
+(define-letter-group "J" :after "I" :prefixes (""))
+(define-letter-group "K" :after "J" :prefixes (""))
+(define-letter-group "Ł" :after "K" :prefixes (""))
+(define-letter-group "L" :after "Ł" :prefixes (""))
+(define-letter-group "M" :after "L" :prefixes (""))
+(define-letter-group "N" :after "M" :prefixes (""))
+(define-letter-group "Ń" :after "N" :prefixes (""))
+(define-letter-group "O" :after "Ń" :prefixes (""))
+(define-letter-group "Ó" :after "O" :prefixes (""))
+(define-letter-group "P" :after "Ó" :prefixes (""))
+(define-letter-group "Q" :after "P" :prefixes (""))
+(define-letter-group "R" :after "Q" :prefixes (""))
+(define-letter-group "Ř" :after "R" :prefixes (""))
+(define-letter-group "S" :after "Ř" :prefixes (""))
+(define-letter-group "Š" :after "S" :prefixes (""))
+(define-letter-group "T" :after "Š" :prefixes (""))
+(define-letter-group "Ć" :after "T" :prefixes (""))
+(define-letter-group "U" :after "Ć" :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-letter-group "Ž" :after "Z" :prefixes (""))
+
+(define-rule-set "s2-alphabetize"
+
+ :rules (("DŹ" "" :string)
+ ("Dź" "" :string)
+ ("dź" "" :string)
+ ("č" "" :string)
+ ("Č" "" :string)
+ ("Ě" "" :string)
+ ("ě" "" :string)
+ ("Ch" "" :string)
+ ("ch" "" :string)
+ ("CH" "" :string)
+ ("ł" "" :string)
+ ("Ł" "" :string)
+ ("Ń" "" :string)
+ ("ń" "" :string)
+ ("Ó" "" :string)
+ ("ó" "" :string)
+ ("Ř" "" :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 "s2-resolve-diacritics"
+
+ :rules (("DŹ" "" :string)
+ ("Dź" "" :string)
+ ("dź" "" :string)
+ ("Ě" "" :string)
+ ("Ž" "" :string)
+ ("Ó" "" :string)
+ ("Ch" "" :string)
+ ("ł" "" :string)
+ ("Ł" "" :string)
+ ("Ř" "" :string)
+ ("č" "" :string)
+ ("ch" "" :string)
+ ("ě" "" :string)
+ ("Š" "" :string)
+ ("ř" "" :string)
+ ("š" "" :string)
+ ("Ć" "" :string)
+ ("CH" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ))
+
+(define-rule-set "s2-resolve-case"
+
+ :rules (("DŹ" "7" :string)
+ ("Dź" "8" :string)
+ ("dź" "9" :string)
+ ("CH" "7" :string)
+ ("Ě" "8" :string)
+ ("Ž" "8" :string)
+ ("Ó" "8" :string)
+ ("Ch" "8" :string)
+ ("Ł" "8" :string)
+ ("Ř" "8" :string)
+ ("Š" "8" :string)
+ ("Ć" "8" :string)
+ ("Č" "8" :string)
+ ("Ń" "8" :string)
+ ("ł" "9" :string)
+ ("č" "9" :string)
+ ("ch" "9" :string)
+ ("ě" "9" :string)
+ ("ř" "9" :string)
+ ("š" "9" :string)
+ ("ó" "9" :string)
+ ("ń" "9" :string)
+ ("ć" "9" :string)
+ ("ž" "9" :string)
+ ("ß" "99" :string)
+ ("S" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("W" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("R" "8" :string)
+ ("d" "9" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("j" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("s" "9" :string)
+ ("c" "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 "s2-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("'" "" :string)
+ ("?" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "s2-resolve-special"
+
+ :rules (("DŹ" "" :string)
+ ("Dź" "" :string)
+ ("dź" "" :string)
+ ("Ě" "" :string)
+ ("Ž" "" :string)
+ ("Ó" "" :string)
+ ("Ch" "" :string)
+ ("ł" "" :string)
+ ("Ł" "" :string)
+ ("Ř" "" :string)
+ ("č" "" :string)
+ ("ch" "" :string)
+ ("ě" "" :string)
+ ("Š" "" :string)
+ ("ř" "" :string)
+ ("š" "" :string)
+ ("Ć" "" :string)
+ ("CH" "" :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)
+ ("T" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("j" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("s" "" :string)
+ ("B" "" :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)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("m" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/lang/vietnamese/utf8-lang.xdy b/Master/texmf/xindy/lang/vietnamese/utf8-lang.xdy
new file mode 100644
index 00000000000..56cfc79ba90
--- /dev/null
+++ b/Master/texmf/xindy/lang/vietnamese/utf8-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/vietnamese/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("vi-alphabetize" "vi-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("vi-resolve-diacritics" "vi-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("vi-resolve-case" "vi-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("vi-resolve-special"))
diff --git a/Master/texmf/xindy/lang/vietnamese/utf8-test.xdy b/Master/texmf/xindy/lang/vietnamese/utf8-test.xdy
new file mode 100644
index 00000000000..1208ccbefd7
--- /dev/null
+++ b/Master/texmf/xindy/lang/vietnamese/utf8-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/vietnamese/utf8.xdy")
+(define-sort-rule-orientations (forward backward forward forward))
+(use-rule-set :run 0
+ :rule-set ("vi-alphabetize" "vi-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("vi-resolve-diacritics" "vi-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("vi-resolve-case" "vi-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("vi-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/lang/vietnamese/utf8.xdy b/Master/texmf/xindy/lang/vietnamese/utf8.xdy
new file mode 100644
index 00000000000..8320a51e653
--- /dev/null
+++ b/Master/texmf/xindy/lang/vietnamese/utf8.xdy
@@ -0,0 +1,811 @@
+;; Rules for xindy; generated by make-rules.pl
+;; language: Vietnamese
+
+(define-letter-group "A" :prefixes (""))
+(define-letter-group "Ă" :after "A" :prefixes (""))
+(define-letter-group "Â" :after "Ă" :prefixes (""))
+(define-letter-group "B" :after "Â" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "D" :after "C" :prefixes (""))
+(define-letter-group "Đ" :after "D" :prefixes (""))
+(define-letter-group "E" :after "Đ" :prefixes (""))
+(define-letter-group "Ê" :after "E" :prefixes (""))
+(define-letter-group "F" :after "Ê" :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 "Ô" :after "O" :prefixes (""))
+(define-letter-group "Ơ" :after "Ô" :prefixes (""))
+(define-letter-group "P" :after "Ơ" :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 "Ư" :after "U" :prefixes (""))
+(define-letter-group "V" :after "Ư" :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 "vi-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)
+ ("Ệ" "" :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)
+ ("à" "" :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)
+ ("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 "vi-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)
+ ("ự" "" :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)
+ ("đ" "" :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)
+ ("S" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("D" "" :string)
+ ("w" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("X" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("V" "" :string)
+ ("i" "" :string)
+ ("m" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("q" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("L" "" :string)
+ ("P" "" :string)
+ ("T" "" :string)
+ ("j" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ))
+
+(define-rule-set "vi-resolve-case"
+
+ :rules (("Ặ" "8" :string)
+ ("Ẩ" "8" :string)
+ ("Ế" "8" :string)
+ ("Ọ" "8" :string)
+ ("Ỷ" "8" :string)
+ ("Ổ" "8" :string)
+ ("Ừ" "8" :string)
+ ("Ề" "8" :string)
+ ("Ộ" "8" :string)
+ ("Ậ" "8" :string)
+ ("Ẻ" "8" :string)
+ ("Ỵ" "8" :string)
+ ("Ể" "8" :string)
+ ("Ủ" "8" :string)
+ ("Ẹ" "8" :string)
+ ("Ụ" "8" :string)
+ ("Ỗ" "8" :string)
+ ("Ầ" "8" :string)
+ ("Ỹ" "8" :string)
+ ("Ỉ" "8" :string)
+ ("Ị" "8" :string)
+ ("Ữ" "8" :string)
+ ("Ố" "8" :string)
+ ("Ẳ" "8" :string)
+ ("Ằ" "8" :string)
+ ("Ấ" "8" :string)
+ ("Ự" "8" :string)
+ ("Ờ" "8" :string)
+ ("Ắ" "8" :string)
+ ("Ợ" "8" :string)
+ ("Ử" "8" :string)
+ ("Ở" "8" :string)
+ ("Ạ" "8" :string)
+ ("Ỡ" "8" :string)
+ ("Ệ" "8" :string)
+ ("Ồ" "8" :string)
+ ("Ễ" "8" :string)
+ ("Ả" "8" :string)
+ ("Ứ" "8" :string)
+ ("Ỳ" "8" :string)
+ ("Ẽ" "8" :string)
+ ("Ỏ" "8" :string)
+ ("Ớ" "8" :string)
+ ("Ẵ" "8" :string)
+ ("Ẫ" "8" :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)
+ ("ể" "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)
+ ("Ý" "8" :string)
+ ("Â" "8" :string)
+ ("Ó" "8" :string)
+ ("Í" "8" :string)
+ ("Ă" "8" :string)
+ ("Õ" "8" :string)
+ ("Ê" "8" :string)
+ ("Ù" "8" :string)
+ ("È" "8" :string)
+ ("Ĩ" "8" :string)
+ ("Ì" "8" :string)
+ ("Ã" "8" :string)
+ ("Á" "8" :string)
+ ("Ô" "8" :string)
+ ("Ơ" "8" :string)
+ ("É" "8" :string)
+ ("Ò" "8" :string)
+ ("Ú" "8" :string)
+ ("Ũ" "8" :string)
+ ("À" "8" :string)
+ ("Ư" "8" :string)
+ ("Đ" "8" :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)
+ ("S" "8" :string)
+ ("J" "8" :string)
+ ("D" "8" :string)
+ ("Q" "8" :string)
+ ("M" "8" :string)
+ ("C" "8" :string)
+ ("X" "8" :string)
+ ("N" "8" :string)
+ ("Z" "8" :string)
+ ("B" "8" :string)
+ ("H" "8" :string)
+ ("U" "8" :string)
+ ("F" "8" :string)
+ ("V" "8" :string)
+ ("R" "8" :string)
+ ("K" "8" :string)
+ ("Y" "8" :string)
+ ("E" "8" :string)
+ ("L" "8" :string)
+ ("P" "8" :string)
+ ("T" "8" :string)
+ ("W" "8" :string)
+ ("I" "8" :string)
+ ("G" "8" :string)
+ ("A" "8" :string)
+ ("O" "8" :string)
+ ("y" "9" :string)
+ ("g" "9" :string)
+ ("e" "9" :string)
+ ("w" "9" :string)
+ ("a" "9" :string)
+ ("u" "9" :string)
+ ("k" "9" :string)
+ ("s" "9" :string)
+ ("c" "9" :string)
+ ("i" "9" :string)
+ ("m" "9" :string)
+ ("o" "9" :string)
+ ("d" "9" :string)
+ ("q" "9" :string)
+ ("b" "9" :string)
+ ("z" "9" :string)
+ ("j" "9" :string)
+ ("t" "9" :string)
+ ("v" "9" :string)
+ ("r" "9" :string)
+ ("x" "9" :string)
+ ("h" "9" :string)
+ ("f" "9" :string)
+ ("n" "9" :string)
+ ("l" "9" :string)
+ ("p" "9" :string)
+ ))
+
+(define-rule-set "vi-ignore-special"
+
+ :rules (("-" "" :string)
+ ("!" "" :string)
+ ("?" "" :string)
+ ("'" "" :string)
+ ("." "" :string)
+ ))
+
+(define-rule-set "vi-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)
+ ("Ự" "" :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)
+ ("Ì" "" :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)
+ ("S" "" :string)
+ ("y" "" :string)
+ ("g" "" :string)
+ ("e" "" :string)
+ ("J" "" :string)
+ ("D" "" :string)
+ ("w" "" :string)
+ ("Q" "" :string)
+ ("M" "" :string)
+ ("C" "" :string)
+ ("X" "" :string)
+ ("a" "" :string)
+ ("N" "" :string)
+ ("Z" "" :string)
+ ("u" "" :string)
+ ("k" "" :string)
+ ("s" "" :string)
+ ("B" "" :string)
+ ("H" "" :string)
+ ("c" "" :string)
+ ("U" "" :string)
+ ("F" "" :string)
+ ("V" "" :string)
+ ("i" "" :string)
+ ("m" "" :string)
+ ("R" "" :string)
+ ("o" "" :string)
+ ("K" "" :string)
+ ("d" "" :string)
+ ("Y" "" :string)
+ ("E" "" :string)
+ ("q" "" :string)
+ ("b" "" :string)
+ ("z" "" :string)
+ ("L" "" :string)
+ ("P" "" :string)
+ ("T" "" :string)
+ ("j" "" :string)
+ ("t" "" :string)
+ ("W" "" :string)
+ ("v" "" :string)
+ ("I" "" :string)
+ ("G" "" :string)
+ ("r" "" :string)
+ ("x" "" :string)
+ ("h" "" :string)
+ ("f" "" :string)
+ ("A" "" :string)
+ ("O" "" :string)
+ ("n" "" :string)
+ ("l" "" :string)
+ ("p" "" :string)
+ ("-" "" :string)
+ ("'" "" :string)
+ ))
+
diff --git a/Master/texmf/xindy/ord/letorder.xdy b/Master/texmf/xindy/ord/letorder.xdy
new file mode 100644
index 00000000000..24d566d52b6
--- /dev/null
+++ b/Master/texmf/xindy/ord/letorder.xdy
@@ -0,0 +1,8 @@
+;; $Id$
+;;
+;; This module defined the letter ordering scheme.
+;;
+
+(sort-rule " " "")
+
+;; End
diff --git a/Master/texmf/xindy/rules/isolatin1-exchange.xdy b/Master/texmf/xindy/rules/isolatin1-exchange.xdy
new file mode 100644
index 00000000000..f85c2b2cb1e
--- /dev/null
+++ b/Master/texmf/xindy/rules/isolatin1-exchange.xdy
@@ -0,0 +1,88 @@
+;; isolatin1-exchange.xdy Roger Kehr 14 Jan 98
+;;----------------------------------------------------------------------
+
+;; This style maps swap uppercase with lowercase letters of the ISO
+;; Latin1 alphabet in the range 160-255. These rules do not :again to
+;; prevent looping.
+
+(define-rule-set "isolatin1-exchange"
+
+ :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)
+ ("" "" :string)
+ ("" "" :string)
+
+ ("" "" :string)
+ ("" "" :string)
+ ))
+
+;; End
diff --git a/Master/texmf/xindy/rules/isolatin1-tolower.xdy b/Master/texmf/xindy/rules/isolatin1-tolower.xdy
new file mode 100644
index 00000000000..e481a86651a
--- /dev/null
+++ b/Master/texmf/xindy/rules/isolatin1-tolower.xdy
@@ -0,0 +1,52 @@
+;; isolatin1-tolower Roger Kehr 14 Jan 98
+;;----------------------------------------------------------------------
+
+;; This style maps all uppercase letters of the ISO Latin1 alphabet
+;; in the range 160-255 to their lowercase counterparts.
+
+(require "rules/latin-tolower.xdy")
+
+(define-rule-set "isolatin1-tolower"
+
+ :inherit-from ("latin-tolower")
+
+ :rules (("" "" :string :again)
+ ("" "" :string :again)
+ ("" "" :string :again)
+ ("" "" :string :again)
+ ("" "" :string :again)
+ ("" "" :string :again)
+ ("" "" :string :again)
+
+ ("" "" :string :again)
+
+ ("" "" :string :again)
+ ("" "" :string :again)
+ ("" "" :string :again)
+ ("" "" :string :again)
+
+ ("" "" :string :again)
+ ("" "" :string :again)
+ ("" "" :string :again)
+ ("" "" :string :again)
+
+ ("" "" :string :again)
+ ("" "" :string :again)
+
+ ("" "" :string :again)
+ ("" "" :string :again)
+ ("" "" :string :again)
+ ("" "" :string :again)
+ ("" "" :string :again)
+ ("" "" :string :again)
+
+ ("" "" :string :again)
+ ("" "" :string :again)
+ ("" "" :string :again)
+ ("" "" :string :again)
+
+ ("" "" :string :again)
+ ("" "" :string :again)
+ ))
+
+;; End
diff --git a/Master/texmf/xindy/rules/latin-exchange.xdy b/Master/texmf/xindy/rules/latin-exchange.xdy
new file mode 100644
index 00000000000..5275f3b85aa
--- /dev/null
+++ b/Master/texmf/xindy/rules/latin-exchange.xdy
@@ -0,0 +1,64 @@
+;; latin-exchange.xdy Roger Kehr 14 Jan 98
+;;----------------------------------------------------------------------
+;;
+;; Exchanges lower and uppercase letters.
+;;
+
+(define-rule-set "latin-exchange"
+
+ :rules (("A" "a" :string)
+ ("B" "b" :string)
+ ("C" "c" :string)
+ ("D" "d" :string)
+ ("E" "e" :string)
+ ("F" "f" :string)
+ ("G" "g" :string)
+ ("H" "h" :string)
+ ("I" "i" :string)
+ ("J" "j" :string)
+ ("K" "k" :string)
+ ("L" "l" :string)
+ ("M" "m" :string)
+ ("N" "n" :string)
+ ("O" "o" :string)
+ ("P" "p" :string)
+ ("Q" "q" :string)
+ ("R" "r" :string)
+ ("S" "s" :string)
+ ("T" "t" :string)
+ ("U" "u" :string)
+ ("V" "v" :string)
+ ("W" "w" :string)
+ ("X" "x" :string)
+ ("Y" "y" :string)
+ ("Z" "z" :string)
+
+ ("a" "A" :string)
+ ("b" "B" :string)
+ ("c" "C" :string)
+ ("d" "D" :string)
+ ("e" "E" :string)
+ ("f" "F" :string)
+ ("g" "G" :string)
+ ("h" "H" :string)
+ ("i" "I" :string)
+ ("j" "J" :string)
+ ("k" "K" :string)
+ ("l" "L" :string)
+ ("m" "M" :string)
+ ("n" "N" :string)
+ ("o" "O" :string)
+ ("p" "P" :string)
+ ("q" "Q" :string)
+ ("r" "R" :string)
+ ("s" "S" :string)
+ ("t" "T" :string)
+ ("u" "U" :string)
+ ("v" "V" :string)
+ ("w" "W" :string)
+ ("x" "X" :string)
+ ("y" "Y" :string)
+ ("z" "Z" :string)
+ ))
+
+;; End
diff --git a/Master/texmf/xindy/rules/latin-tolower.xdy b/Master/texmf/xindy/rules/latin-tolower.xdy
new file mode 100644
index 00000000000..b6559da4336
--- /dev/null
+++ b/Master/texmf/xindy/rules/latin-tolower.xdy
@@ -0,0 +1,37 @@
+;; latin-tolower.xdy Roger Kehr 14 Jan 98
+;;----------------------------------------------------------------------
+;;
+;; Maps all latin letters to their lowercase counterpart
+;;
+
+(define-rule-set "latin-tolower"
+
+ :rules (("A" "a" :string :again)
+ ("B" "b" :string :again)
+ ("C" "c" :string :again)
+ ("D" "d" :string :again)
+ ("E" "e" :string :again)
+ ("F" "f" :string :again)
+ ("G" "g" :string :again)
+ ("H" "h" :string :again)
+ ("I" "i" :string :again)
+ ("J" "j" :string :again)
+ ("K" "k" :string :again)
+ ("L" "l" :string :again)
+ ("M" "m" :string :again)
+ ("N" "n" :string :again)
+ ("O" "o" :string :again)
+ ("P" "p" :string :again)
+ ("Q" "q" :string :again)
+ ("R" "r" :string :again)
+ ("S" "s" :string :again)
+ ("T" "t" :string :again)
+ ("U" "u" :string :again)
+ ("V" "v" :string :again)
+ ("W" "w" :string :again)
+ ("X" "x" :string :again)
+ ("Y" "y" :string :again)
+ ("Z" "z" :string :again)
+ ))
+
+;; End
diff --git a/Master/texmf/xindy/styles/basic.xdy b/Master/texmf/xindy/styles/basic.xdy
new file mode 100644
index 00000000000..08df4bc66dc
--- /dev/null
+++ b/Master/texmf/xindy/styles/basic.xdy
@@ -0,0 +1,36 @@
+;; $Id: basic.xdy,v 1.2 2008/01/09 15:13:54 jschrod Exp $ -*- Lisp -*-
+;; ------------------------------------------------------------
+;; (history at end)
+;; Licensed under GPL, see README and LICENSE.
+
+
+;;;
+;;; Very basic xindy style, to get some TeX-like output at all.
+;;; Useful for testing without the whole texindy framework.
+;;; It assumes the alphabets to be handled elsewhere, by language modules.
+;;;
+
+(define-location-class "page-numbers" ("arabic-numbers"))
+(define-attributes ("default"))
+
+(markup-letter-group :open-head "~n~n \textbf{" :close-head "}~n"
+ :capitalize)
+
+(markup-indexentry :open "~n \item " :depth 0)
+(markup-indexentry :open "~n \subitem " :depth 1)
+(markup-indexentry :open "~n \subsubitem " :depth 2)
+
+(markup-locclass-list :open "\quad ")
+(markup-locref-list :sep ", ")
+(markup-range :sep "--")
+
+
+;======================================================================
+;;
+;; $Log: basic.xdy,v $
+;; Revision 1.2 2008/01/09 15:13:54 jschrod
+;; Add another newline in front of letter groups.
+;;
+;; Revision 1.1 2006/08/05 15:58:11 jschrod
+;; Initial revision.
+;;
diff --git a/Master/texmf/xindy/styles/example.xdy b/Master/texmf/xindy/styles/example.xdy
new file mode 100644
index 00000000000..24d9e0fea89
--- /dev/null
+++ b/Master/texmf/xindy/styles/example.xdy
@@ -0,0 +1,101 @@
+;; read inputenc rules
+(require "tex/inputenc/latin1.xdy")
+
+;; read language-specific (and encoding-specific) rule-sets
+(require "lang/spanish/traditional-latin1.xdy")
+
+;; apply rules left-to-right or right-to-left?
+;; run 0 run 1 run 2 run 3
+(define-sort-rule-orientations (forward backward forward forward))
+
+;; define order of sorting runs
+(use-rule-set :run 0
+ :rule-set ("es-alphabetize" "es-ignore-special"))
+(use-rule-set :run 1
+ :rule-set ("es-resolve-diacritics" "es-ignore-special"))
+(use-rule-set :run 2
+ :rule-set ("es-resolve-case" "es-ignore-special"))
+(use-rule-set :run 3
+ :rule-set ("es-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/styles/makeidx.xdy b/Master/texmf/xindy/styles/makeidx.xdy
new file mode 100644
index 00000000000..3b2492dd871
--- /dev/null
+++ b/Master/texmf/xindy/styles/makeidx.xdy
@@ -0,0 +1,148 @@
+;; $Id: makeidx.xdy,v 1.1 1997/02/07 14:17:31 kehr Exp $
+;;
+;; This file implements the Output Style Specifiers for plain
+;; makeindex (see manpage of makeindex 2.x) in conjuction with
+;; TeX/LaTeX.
+;;
+;; The Input Style Specifiers of makeindex cannot de defined in a
+;; `xindy' style file. Use an appropriate version of the program
+;; `tex2xindy' which should be included with this distribution.
+;;
+;; Since `xindy' uses a different specification language than
+;; makeindex and some of the command-line options of makeindex are now
+;; only available as style-file commands, this file can only serve as
+;; a template that produces the default-markup of makeindex. However,
+;; it may be used as a starting point for further modification and
+;; specialization.
+;;
+;; The following values are taken from the source of the makeindex
+;; distribution (see file scanst.h and the manpage) for further
+;; details.
+;;
+
+;; Define all attributes appearing in your document. Your attributes
+;; are all encapsulators you use in your \index commands following the
+;; vertical bar sign `|'. For example `foo' is the attribute in the
+;; command \index{...|foo}. Here you specify the set of attributes
+;; that appear in your document, the order in which they appear in the
+;; index and which one superdes the other.
+;;
+;; Example: a) (define-attibutes (("default") ("bf") ("it")))
+;; b) (define-attibutes (("bf" "default")))
+;;
+;; The initial command is (change it accordingly):
+
+(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")
+
+;; 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 "--")
+
+;; Here follow all letter-groups. The short-cut notation is used here.
+
+(define-letter-groups
+ ("a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m"
+ "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"))
+
+;;
+;; The sort-rules map all letters to their lowercase counterpart.
+;;
+
+(sort-rule "A" "a")
+(sort-rule "B" "b")
+(sort-rule "C" "c")
+(sort-rule "D" "d")
+(sort-rule "E" "e")
+(sort-rule "F" "f")
+(sort-rule "G" "g")
+(sort-rule "H" "h")
+(sort-rule "I" "i")
+(sort-rule "J" "j")
+(sort-rule "K" "k")
+(sort-rule "L" "l")
+(sort-rule "M" "m")
+(sort-rule "N" "n")
+(sort-rule "O" "o")
+(sort-rule "P" "p")
+(sort-rule "Q" "q")
+(sort-rule "R" "r")
+(sort-rule "S" "s")
+(sort-rule "T" "t")
+(sort-rule "U" "u")
+(sort-rule "V" "v")
+(sort-rule "W" "w")
+(sort-rule "X" "x")
+(sort-rule "Y" "y")
+(sort-rule "Z" "z")
+
+
+;; That's all ;-)
+
+
+;; End
+
+;; Local Variables:
+;; mode: lisp
+;; End:
diff --git a/Master/texmf/xindy/styles/makeindex.xdy b/Master/texmf/xindy/styles/makeindex.xdy
new file mode 100644
index 00000000000..0e625a627f3
--- /dev/null
+++ b/Master/texmf/xindy/styles/makeindex.xdy
@@ -0,0 +1,89 @@
+
+;; This file defines the index style 'makeindex', the default.
+;; Here should ONLY be definitions that determine what a generated
+;; index should look like, NOT the locale or sorting order or
+;; document processor used.
+
+
+;; define other stuff
+(define-attributes ("default" "hyperpage"))
+
+;; 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")
+(markup-locref :open "\hyperpage{" :close "}{}" :attr "hyperpage")
+
+;; 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/styles/vermeer.xdy b/Master/texmf/xindy/styles/vermeer.xdy
new file mode 100644
index 00000000000..cd447ced72d
--- /dev/null
+++ b/Master/texmf/xindy/styles/vermeer.xdy
@@ -0,0 +1,89 @@
+
+;; This file defines the index style 'makeindex', the default.
+;; Here should ONLY be definitions that determine what a generated
+;; index should look like, NOT the locale or sorting order or
+;; document processor used.
+
+
+;; define other stuff
+(define-attributes ("default" "hyperpage"))
+
+;; 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")
+(markup-locref :open "\hyperpage{" :close "}{}" :attr "hyperpage")
+
+;; 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 \textbf{[ " :close-head " ]}")
+
+;; 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/tex/inputenc/cp1250.xdy b/Master/texmf/xindy/tex/inputenc/cp1250.xdy
new file mode 100644
index 00000000000..ba1cf5b6e59
--- /dev/null
+++ b/Master/texmf/xindy/tex/inputenc/cp1250.xdy
@@ -0,0 +1,128 @@
+;; this file was generated by make-inp-rules.pl
+;; these rules map inputenc generated macros (back) to 8-bit characters
+
+(merge-rule "\IeC {\texteuro }" "" :string)
+(merge-rule "\IeC {\quotesinglbase }" "" :string)
+(merge-rule "\IeC {\quotedblbase }" "" :string)
+(merge-rule "\IeC {\dots }" "" :string)
+(merge-rule "\IeC {\dag }" "" :string)
+(merge-rule "\IeC {\ddag }" "" :string)
+(merge-rule "\IeC {\textperthousand }" "" :string)
+(merge-rule "\v S" "" :string)
+(merge-rule "\IeC {\guilsinglleft }" "" :string)
+(merge-rule "\'S" "" :string)
+(merge-rule "\v T" "" :string)
+(merge-rule "\v Z" "" :string)
+(merge-rule "\'Z" "" :string)
+(merge-rule "\IeC {\textquoteleft }" "" :string)
+(merge-rule "\IeC {\textquoteright }" "" :string)
+(merge-rule "\IeC {\textquotedblleft }" "" :string)
+(merge-rule "\IeC {\textquotedblright }" "" :string)
+(merge-rule "\IeC {\textbullet }" "" :string)
+(merge-rule "\IeC {\textendash }" "" :string)
+(merge-rule "\IeC {\textemdash }" "" :string)
+(merge-rule "\IeC {\texttrademark }" "" :string)
+(merge-rule "\v s" "" :string)
+(merge-rule "\IeC {\guilsinglright }" "" :string)
+(merge-rule "\'s" "" :string)
+(merge-rule "\v t" "" :string)
+(merge-rule "\v z" "" :string)
+(merge-rule "\'z" "" :string)
+(merge-rule "\IeC {\nobreakspace }" "" :string)
+(merge-rule "\v {}" "" :string)
+(merge-rule "\u {}" "" :string)
+(merge-rule "\IeC {\L }" "" :string)
+(merge-rule "\IeC {\textcurrency }" "" :string)
+(merge-rule "\k A" "" :string)
+(merge-rule "\IeC {\textbrokenbar }" "" :string)
+(merge-rule "\IeC {\S }" "" :string)
+(merge-rule "\~"{}" "" :string)
+(merge-rule "\IeC {\copyright }" "" :string)
+(merge-rule "\c S" "" :string)
+(merge-rule "\IeC {\guillemotleft }" "" :string)
+(merge-rule "\lnot " "" :string)
+(merge-rule "\discretionary {-}{}{}" "" :string)
+(merge-rule "\IeC {\textregistered }" "" :string)
+(merge-rule "\.Z" "" :string)
+(merge-rule "\IeC {\textdegree }" "" :string)
+(merge-rule "\pm " "" :string)
+(merge-rule "\IeC {\k \ }" "" :string)
+(merge-rule "\IeC {\l }" "" :string)
+(merge-rule "\'{}" "" :string)
+(merge-rule "\mu " "" :string)
+(merge-rule "\IeC {\P }" "" :string)
+(merge-rule "\IeC {\textperiodcentered }" "" :string)
+(merge-rule "\IeC {\c \ }" "" :string)
+(merge-rule "\k a" "" :string)
+(merge-rule "\c s" "" :string)
+(merge-rule "\IeC {\guillemotright }" "" :string)
+(merge-rule "\v L" "" :string)
+(merge-rule "\H {}" "" :string)
+(merge-rule "\v l" "" :string)
+(merge-rule "\.z" "" :string)
+(merge-rule "\'R" "" :string)
+(merge-rule "\'A" "" :string)
+(merge-rule "\^A" "" :string)
+(merge-rule "\u A" "" :string)
+(merge-rule "\~"A" "" :string)
+(merge-rule "\'L" "" :string)
+(merge-rule "\'C" "" :string)
+(merge-rule "\c C" "" :string)
+(merge-rule "\v C" "" :string)
+(merge-rule "\'E" "" :string)
+(merge-rule "\k E" "" :string)
+(merge-rule "\~"E" "" :string)
+(merge-rule "\v E" "" :string)
+(merge-rule "\'I" "" :string)
+(merge-rule "\^I" "" :string)
+(merge-rule "\v D" "" :string)
+(merge-rule "\IeC {\DJ }" "" :string)
+(merge-rule "\'N" "" :string)
+(merge-rule "\v N" "" :string)
+(merge-rule "\'O" "" :string)
+(merge-rule "\^O" "" :string)
+(merge-rule "\H O" "" :string)
+(merge-rule "\~"O" "" :string)
+(merge-rule "\times " "" :string)
+(merge-rule "\v R" "" :string)
+(merge-rule "\r U" "" :string)
+(merge-rule "\'U" "" :string)
+(merge-rule "\H U" "" :string)
+(merge-rule "\~"U" "" :string)
+(merge-rule "\'Y" "" :string)
+(merge-rule "\c T" "" :string)
+(merge-rule "\IeC {\ss }" "" :string)
+(merge-rule "\'r" "" :string)
+(merge-rule "\'a" "" :string)
+(merge-rule "\^a" "" :string)
+(merge-rule "\u a" "" :string)
+(merge-rule "\~"a" "" :string)
+(merge-rule "\'l" "" :string)
+(merge-rule "\'c" "" :string)
+(merge-rule "\c c" "" :string)
+(merge-rule "\v c" "" :string)
+(merge-rule "\'e" "" :string)
+(merge-rule "\k e" "" :string)
+(merge-rule "\~"e" "" :string)
+(merge-rule "\v e" "" :string)
+(merge-rule "\IeC {\'\i }" "" :string)
+(merge-rule "\IeC {\^\i }" "" :string)
+(merge-rule "\v d" "" :string)
+(merge-rule "\IeC {\dj }" "" :string)
+(merge-rule "\'n" "" :string)
+(merge-rule "\v n" "" :string)
+(merge-rule "\'o" "" :string)
+(merge-rule "\^o" "" :string)
+(merge-rule "\H o" "" :string)
+(merge-rule "\~"o" "" :string)
+(merge-rule "\div " "" :string)
+(merge-rule "\v r" "" :string)
+(merge-rule "\r u" "" :string)
+(merge-rule "\'u" "" :string)
+(merge-rule "\H u" "" :string)
+(merge-rule "\~"u" "" :string)
+(merge-rule "\'y" "" :string)
+(merge-rule "\c t" "" :string)
+(merge-rule "\.{}" "" :string)
+
+;; end of style file.
diff --git a/Master/texmf/xindy/tex/inputenc/cp1251.xdy b/Master/texmf/xindy/tex/inputenc/cp1251.xdy
new file mode 100644
index 00000000000..ec68364a3e3
--- /dev/null
+++ b/Master/texmf/xindy/tex/inputenc/cp1251.xdy
@@ -0,0 +1,132 @@
+;; this file was generated by make-inp-rules.pl
+;; these rules map inputenc generated macros (back) to 8-bit characters
+
+(merge-rule "\IeC {\CYRDJE }" "" :string)
+(merge-rule "\IeC {\'\CYRG }" "" :string)
+(merge-rule "\IeC {\quotesinglbase }" "" :string)
+(merge-rule "\IeC {\'\cyrg }" "" :string)
+(merge-rule "\IeC {\quotedblbase }" "" :string)
+(merge-rule "\IeC {\dots }" "" :string)
+(merge-rule "\IeC {\dag }" "" :string)
+(merge-rule "\IeC {\ddag }" "" :string)
+(merge-rule "\IeC {\texteuro }" "" :string)
+(merge-rule "\IeC {\textperthousand }" "" :string)
+(merge-rule "\IeC {\CYRLJE }" "" :string)
+(merge-rule "\IeC {\guilsinglleft }" "" :string)
+(merge-rule "\IeC {\CYRNJE }" "" :string)
+(merge-rule "\IeC {\'\CYRK }" "" :string)
+(merge-rule "\IeC {\CYRTSHE }" "" :string)
+(merge-rule "\IeC {\CYRDZHE }" "" :string)
+(merge-rule "\IeC {\cyrdje }" "" :string)
+(merge-rule "\IeC {\textquoteleft }" "" :string)
+(merge-rule "\IeC {\textquoteright }" "" :string)
+(merge-rule "\IeC {\textquotedblleft }" "" :string)
+(merge-rule "\IeC {\textquotedblright }" "" :string)
+(merge-rule "\IeC {\textbullet }" "" :string)
+(merge-rule "\IeC {\textendash }" "" :string)
+(merge-rule "\IeC {\textemdash }" "" :string)
+(merge-rule "\IeC {\texttrademark }" "" :string)
+(merge-rule "\IeC {\cyrlje }" "" :string)
+(merge-rule "\IeC {\guilsinglright }" "" :string)
+(merge-rule "\IeC {\cyrnje }" "" :string)
+(merge-rule "\IeC {\'\cyrk }" "" :string)
+(merge-rule "\IeC {\cyrtshe }" "" :string)
+(merge-rule "\IeC {\cyrdzhe }" "" :string)
+(merge-rule "\IeC {\nobreakspace }" "" :string)
+(merge-rule "\IeC {\CYRUSHRT }" "" :string)
+(merge-rule "\IeC {\cyrushrt }" "" :string)
+(merge-rule "\IeC {\CYRJE }" "" :string)
+(merge-rule "\IeC {\textcurrency }" "" :string)
+(merge-rule "\IeC {\CYRGUP }" "" :string)
+(merge-rule "\IeC {\textbrokenbar }" "" :string)
+(merge-rule "\IeC {\S }" "" :string)
+(merge-rule "\IeC {\CYRYO }" "" :string)
+(merge-rule "\IeC {\copyright }" "" :string)
+(merge-rule "\IeC {\CYRIE }" "" :string)
+(merge-rule "\IeC {\guillemotleft }" "" :string)
+(merge-rule "\lnot " "" :string)
+(merge-rule "\discretionary {-}{}{}" "" :string)
+(merge-rule "\IeC {\textregistered }" "" :string)
+(merge-rule "\IeC {\CYRYI }" "" :string)
+(merge-rule "\IeC {\textdegree }" "" :string)
+(merge-rule "\pm " "" :string)
+(merge-rule "\IeC {\CYRII }" "" :string)
+(merge-rule "\IeC {\cyrii }" "" :string)
+(merge-rule "\IeC {\cyrgup }" "" :string)
+(merge-rule "\mu " "" :string)
+(merge-rule "\IeC {\P }" "" :string)
+(merge-rule "\IeC {\textperiodcentered }" "" :string)
+(merge-rule "\IeC {\cyryo }" "" :string)
+(merge-rule "\IeC {\textnumero }" "" :string)
+(merge-rule "\IeC {\cyrie }" "" :string)
+(merge-rule "\IeC {\guillemotright }" "" :string)
+(merge-rule "\IeC {\cyrje }" "" :string)
+(merge-rule "\IeC {\CYRDZE }" "" :string)
+(merge-rule "\IeC {\cyrdze }" "" :string)
+(merge-rule "\IeC {\cyryi }" "" :string)
+(merge-rule "\IeC {\CYRA }" "" :string)
+(merge-rule "\IeC {\CYRB }" "" :string)
+(merge-rule "\IeC {\CYRV }" "" :string)
+(merge-rule "\IeC {\CYRG }" "" :string)
+(merge-rule "\IeC {\CYRD }" "" :string)
+(merge-rule "\IeC {\CYRE }" "" :string)
+(merge-rule "\IeC {\CYRZH }" "" :string)
+(merge-rule "\IeC {\CYRZ }" "" :string)
+(merge-rule "\IeC {\CYRI }" "" :string)
+(merge-rule "\IeC {\CYRISHRT }" "" :string)
+(merge-rule "\IeC {\CYRK }" "" :string)
+(merge-rule "\IeC {\CYRL }" "" :string)
+(merge-rule "\IeC {\CYRM }" "" :string)
+(merge-rule "\IeC {\CYRN }" "" :string)
+(merge-rule "\IeC {\CYRO }" "" :string)
+(merge-rule "\IeC {\CYRP }" "" :string)
+(merge-rule "\IeC {\CYRR }" "" :string)
+(merge-rule "\IeC {\CYRS }" "" :string)
+(merge-rule "\IeC {\CYRT }" "" :string)
+(merge-rule "\IeC {\CYRU }" "" :string)
+(merge-rule "\IeC {\CYRF }" "" :string)
+(merge-rule "\IeC {\CYRH }" "" :string)
+(merge-rule "\IeC {\CYRC }" "" :string)
+(merge-rule "\IeC {\CYRCH }" "" :string)
+(merge-rule "\IeC {\CYRSH }" "" :string)
+(merge-rule "\IeC {\CYRSHCH }" "" :string)
+(merge-rule "\IeC {\CYRHRDSN }" "" :string)
+(merge-rule "\IeC {\CYRERY }" "" :string)
+(merge-rule "\IeC {\CYRSFTSN }" "" :string)
+(merge-rule "\IeC {\CYREREV }" "" :string)
+(merge-rule "\IeC {\CYRYU }" "" :string)
+(merge-rule "\IeC {\CYRYA }" "" :string)
+(merge-rule "\IeC {\cyra }" "" :string)
+(merge-rule "\IeC {\cyrb }" "" :string)
+(merge-rule "\IeC {\cyrv }" "" :string)
+(merge-rule "\IeC {\cyrg }" "" :string)
+(merge-rule "\IeC {\cyrd }" "" :string)
+(merge-rule "\IeC {\cyre }" "" :string)
+(merge-rule "\IeC {\cyrzh }" "" :string)
+(merge-rule "\IeC {\cyrz }" "" :string)
+(merge-rule "\IeC {\cyri }" "" :string)
+(merge-rule "\IeC {\cyrishrt }" "" :string)
+(merge-rule "\IeC {\cyrk }" "" :string)
+(merge-rule "\IeC {\cyrl }" "" :string)
+(merge-rule "\IeC {\cyrm }" "" :string)
+(merge-rule "\IeC {\cyrn }" "" :string)
+(merge-rule "\IeC {\cyro }" "" :string)
+(merge-rule "\IeC {\cyrp }" "" :string)
+(merge-rule "\IeC {\cyrr }" "" :string)
+(merge-rule "\IeC {\cyrs }" "" :string)
+(merge-rule "\IeC {\cyrt }" "" :string)
+(merge-rule "\IeC {\cyru }" "" :string)
+(merge-rule "\IeC {\cyrf }" "" :string)
+(merge-rule "\IeC {\cyrh }" "" :string)
+(merge-rule "\IeC {\cyrc }" "" :string)
+(merge-rule "\IeC {\cyrch }" "" :string)
+(merge-rule "\IeC {\cyrsh }" "" :string)
+(merge-rule "\IeC {\cyrshch }" "" :string)
+(merge-rule "\IeC {\cyrhrdsn }" "" :string)
+(merge-rule "\IeC {\cyrery }" "" :string)
+(merge-rule "\IeC {\cyrsftsn }" "" :string)
+(merge-rule "\IeC {\cyrerev }" "" :string)
+(merge-rule "\IeC {\cyryu }" "" :string)
+(merge-rule "\IeC {\cyrya }" "" :string)
+
+;; end of style file.
diff --git a/Master/texmf/xindy/tex/inputenc/cp1252.xdy b/Master/texmf/xindy/tex/inputenc/cp1252.xdy
new file mode 100644
index 00000000000..687b57a414f
--- /dev/null
+++ b/Master/texmf/xindy/tex/inputenc/cp1252.xdy
@@ -0,0 +1,128 @@
+;; this file was generated by make-inp-rules.pl
+;; these rules map inputenc generated macros (back) to 8-bit characters
+
+(merge-rule "\IeC {\texteuro }" "" :string)
+(merge-rule "\IeC {\quotesinglbase }" "" :string)
+(merge-rule "\IeC {\textflorin }" "" :string)
+(merge-rule "\IeC {\quotedblbase }" "" :string)
+(merge-rule "\IeC {\dots }" "" :string)
+(merge-rule "\IeC {\dag }" "" :string)
+(merge-rule "\IeC {\ddag }" "" :string)
+(merge-rule "\^{}" "" :string)
+(merge-rule "\IeC {\textperthousand }" "" :string)
+(merge-rule "\v S" "" :string)
+(merge-rule "\IeC {\guilsinglleft }" "" :string)
+(merge-rule "\IeC {\OE }" "" :string)
+(merge-rule "\v Z" "" :string)
+(merge-rule "\IeC {\textquoteleft }" "" :string)
+(merge-rule "\IeC {\textquoteright }" "" :string)
+(merge-rule "\IeC {\textquotedblleft }" "" :string)
+(merge-rule "\IeC {\textquotedblright }" "" :string)
+(merge-rule "\IeC {\textbullet }" "" :string)
+(merge-rule "\IeC {\textendash }" "" :string)
+(merge-rule "\IeC {\textemdash }" "" :string)
+(merge-rule "\~~{}" "" :string)
+(merge-rule "\IeC {\texttrademark }" "" :string)
+(merge-rule "\v s" "" :string)
+(merge-rule "\IeC {\guilsinglright }" "" :string)
+(merge-rule "\IeC {\oe }" "" :string)
+(merge-rule "\v z" "" :string)
+(merge-rule "\~"Y" "" :string)
+(merge-rule "\IeC {\nobreakspace }" "" :string)
+(merge-rule "\IeC {\textexclamdown }" "" :string)
+(merge-rule "\IeC {\textcent }" "" :string)
+(merge-rule "\IeC {\pounds }" "" :string)
+(merge-rule "\IeC {\textcurrency }" "" :string)
+(merge-rule "\IeC {\textyen }" "" :string)
+(merge-rule "\IeC {\textbrokenbar }" "" :string)
+(merge-rule "\IeC {\S }" "" :string)
+(merge-rule "\~"{}" "" :string)
+(merge-rule "\IeC {\copyright }" "" :string)
+(merge-rule "\IeC {\textordfeminine }" "" :string)
+(merge-rule "\IeC {\guillemotleft }" "" :string)
+(merge-rule "\lnot " "" :string)
+(merge-rule "\discretionary {-}{}{}" "" :string)
+(merge-rule "\IeC {\textregistered }" "" :string)
+(merge-rule "\={}" "" :string)
+(merge-rule "\IeC {\textdegree }" "" :string)
+(merge-rule "\pm " "" :string)
+(merge-rule "{^2}" "" :string)
+(merge-rule "{^3}" "" :string)
+(merge-rule "\'{}" "" :string)
+(merge-rule "\mu " "" :string)
+(merge-rule "\IeC {\P }" "" :string)
+(merge-rule "\IeC {\textperiodcentered }" "" :string)
+(merge-rule "\IeC {\c \ }" "" :string)
+(merge-rule "{^1}" "" :string)
+(merge-rule "\IeC {\textordmasculine }" "" :string)
+(merge-rule "\IeC {\guillemotright }" "" :string)
+(merge-rule "\IeC {\textonequarter }" "" :string)
+(merge-rule "\IeC {\textonehalf }" "" :string)
+(merge-rule "\IeC {\textthreequarters }" "" :string)
+(merge-rule "\IeC {\textquestiondown }" "" :string)
+(merge-rule "\`A" "" :string)
+(merge-rule "\'A" "" :string)
+(merge-rule "\^A" "" :string)
+(merge-rule "\~~A" "" :string)
+(merge-rule "\~"A" "" :string)
+(merge-rule "\r A" "" :string)
+(merge-rule "\IeC {\AE }" "" :string)
+(merge-rule "\c C" "" :string)
+(merge-rule "\`E" "" :string)
+(merge-rule "\'E" "" :string)
+(merge-rule "\^E" "" :string)
+(merge-rule "\~"E" "" :string)
+(merge-rule "\`I" "" :string)
+(merge-rule "\'I" "" :string)
+(merge-rule "\^I" "" :string)
+(merge-rule "\~"I" "" :string)
+(merge-rule "\IeC {\DH }" "" :string)
+(merge-rule "\~~N" "" :string)
+(merge-rule "\`O" "" :string)
+(merge-rule "\'O" "" :string)
+(merge-rule "\^O" "" :string)
+(merge-rule "\~~O" "" :string)
+(merge-rule "\~"O" "" :string)
+(merge-rule "\times " "" :string)
+(merge-rule "\IeC {\O }" "" :string)
+(merge-rule "\`U" "" :string)
+(merge-rule "\'U" "" :string)
+(merge-rule "\^U" "" :string)
+(merge-rule "\~"U" "" :string)
+(merge-rule "\'Y" "" :string)
+(merge-rule "\IeC {\TH }" "" :string)
+(merge-rule "\IeC {\ss }" "" :string)
+(merge-rule "\`a" "" :string)
+(merge-rule "\'a" "" :string)
+(merge-rule "\^a" "" :string)
+(merge-rule "\~~a" "" :string)
+(merge-rule "\~"a" "" :string)
+(merge-rule "\r a" "" :string)
+(merge-rule "\IeC {\ae }" "" :string)
+(merge-rule "\c c" "" :string)
+(merge-rule "\`e" "" :string)
+(merge-rule "\'e" "" :string)
+(merge-rule "\^e" "" :string)
+(merge-rule "\~"e" "" :string)
+(merge-rule "\IeC {\`\i }" "" :string)
+(merge-rule "\IeC {\'\i }" "" :string)
+(merge-rule "\IeC {\^\i }" "" :string)
+(merge-rule "\IeC {\~"\i }" "" :string)
+(merge-rule "\IeC {\dh }" "" :string)
+(merge-rule "\~~n" "" :string)
+(merge-rule "\`o" "" :string)
+(merge-rule "\'o" "" :string)
+(merge-rule "\^o" "" :string)
+(merge-rule "\~~o" "" :string)
+(merge-rule "\~"o" "" :string)
+(merge-rule "\div " "" :string)
+(merge-rule "\IeC {\o }" "" :string)
+(merge-rule "\`u" "" :string)
+(merge-rule "\'u" "" :string)
+(merge-rule "\^u" "" :string)
+(merge-rule "\~"u" "" :string)
+(merge-rule "\'y" "" :string)
+(merge-rule "\IeC {\th }" "" :string)
+(merge-rule "\~"y" "" :string)
+
+;; end of style file.
diff --git a/Master/texmf/xindy/tex/inputenc/cp437.xdy b/Master/texmf/xindy/tex/inputenc/cp437.xdy
new file mode 100644
index 00000000000..826d321555b
--- /dev/null
+++ b/Master/texmf/xindy/tex/inputenc/cp437.xdy
@@ -0,0 +1,82 @@
+;; this file was generated by make-inp-rules.pl
+;; these rules map inputenc generated macros (back) to 8-bit characters
+
+(merge-rule "\c C" "" :string)
+(merge-rule "\~"u" "" :string)
+(merge-rule "\'e" "" :string)
+(merge-rule "\^a" "" :string)
+(merge-rule "\~"a" "" :string)
+(merge-rule "\`a" "" :string)
+(merge-rule "\r a" "" :string)
+(merge-rule "\c c" "" :string)
+(merge-rule "\^e" "" :string)
+(merge-rule "\~"e" "" :string)
+(merge-rule "\`e" "" :string)
+(merge-rule "\IeC {\~"\i }" "" :string)
+(merge-rule "\IeC {\^\i }" "" :string)
+(merge-rule "\IeC {\`\i }" "" :string)
+(merge-rule "\~"A" "" :string)
+(merge-rule "\r A" "" :string)
+(merge-rule "\'E" "" :string)
+(merge-rule "\IeC {\ae }" "" :string)
+(merge-rule "\IeC {\AE }" "" :string)
+(merge-rule "\^o" "" :string)
+(merge-rule "\~"o" "" :string)
+(merge-rule "\`o" "" :string)
+(merge-rule "\^u" "" :string)
+(merge-rule "\`u" "" :string)
+(merge-rule "\~"y" "" :string)
+(merge-rule "\~"O" "" :string)
+(merge-rule "\~"U" "" :string)
+(merge-rule "\IeC {\textcent }" "" :string)
+(merge-rule "\IeC {\pounds }" "" :string)
+(merge-rule "\IeC {\textyen }" "" :string)
+(merge-rule "\IeC {\textpeseta }" "" :string)
+(merge-rule "\IeC {\textflorin }" "" :string)
+(merge-rule "\'a" "" :string)
+(merge-rule "\IeC {\'\i }" "" :string)
+(merge-rule "\'o" "" :string)
+(merge-rule "\'u" "" :string)
+(merge-rule "\~~n" "" :string)
+(merge-rule "\~~N" "" :string)
+(merge-rule "\IeC {\textordfeminine }" "" :string)
+(merge-rule "\IeC {\textordmasculine }" "" :string)
+(merge-rule "\IeC {\textquestiondown }" "" :string)
+(merge-rule "\lnot " "" :string)
+(merge-rule "\IeC {\textonehalf }" "" :string)
+(merge-rule "\IeC {\textonequarter }" "" :string)
+(merge-rule "\IeC {\textexclamdown }" "" :string)
+(merge-rule "\IeC {\guillemotleft }" "" :string)
+(merge-rule "\IeC {\guillemotright }" "" :string)
+(merge-rule "\alpha " "" :string)
+(merge-rule "\beta " "" :string)
+(merge-rule "\Gamma " "" :string)
+(merge-rule "\pi " "" :string)
+(merge-rule "\Sigma " "" :string)
+(merge-rule "\sigma " "" :string)
+(merge-rule "\mu " "" :string)
+(merge-rule "\gamma " "" :string)
+(merge-rule "\Phi " "" :string)
+(merge-rule "\theta " "" :string)
+(merge-rule "\Omega " "" :string)
+(merge-rule "\delta " "" :string)
+(merge-rule "\infty " "" :string)
+(merge-rule "\phi " "" :string)
+(merge-rule "\varepsilon " "" :string)
+(merge-rule "\cap " "" :string)
+(merge-rule "\equiv " "" :string)
+(merge-rule "\pm " "" :string)
+(merge-rule "\geq " "" :string)
+(merge-rule "\leq " "" :string)
+(merge-rule "\div " "" :string)
+(merge-rule "\approx " "" :string)
+(merge-rule "\IeC {\textdegree }" "" :string)
+(merge-rule "\IeC {\textperiodcentered }" "" :string)
+(merge-rule "\IeC {\textbullet }" "" :string)
+(merge-rule "{\mathchar ~"1270}" "" :string)
+(merge-rule "{^n}" "" :string)
+(merge-rule "{^2}" "" :string)
+(merge-rule "\IeC {\textblacksquare }" "" :string)
+(merge-rule "\IeC {\nobreakspace }" "" :string)
+
+;; end of style file.
diff --git a/Master/texmf/xindy/tex/inputenc/cp850.xdy b/Master/texmf/xindy/tex/inputenc/cp850.xdy
new file mode 100644
index 00000000000..48498893e89
--- /dev/null
+++ b/Master/texmf/xindy/tex/inputenc/cp850.xdy
@@ -0,0 +1,104 @@
+;; this file was generated by make-inp-rules.pl
+;; these rules map inputenc generated macros (back) to 8-bit characters
+
+(merge-rule "\c C" "" :string)
+(merge-rule "\~"u" "" :string)
+(merge-rule "\'e" "" :string)
+(merge-rule "\^a" "" :string)
+(merge-rule "\~"a" "" :string)
+(merge-rule "\`a" "" :string)
+(merge-rule "\r a" "" :string)
+(merge-rule "\c c" "" :string)
+(merge-rule "\^e" "" :string)
+(merge-rule "\~"e" "" :string)
+(merge-rule "\`e" "" :string)
+(merge-rule "\IeC {\~"\i }" "" :string)
+(merge-rule "\IeC {\^\i }" "" :string)
+(merge-rule "\IeC {\`\i }" "" :string)
+(merge-rule "\~"A" "" :string)
+(merge-rule "\r A" "" :string)
+(merge-rule "\'E" "" :string)
+(merge-rule "\IeC {\ae }" "" :string)
+(merge-rule "\IeC {\AE }" "" :string)
+(merge-rule "\^o" "" :string)
+(merge-rule "\~"o" "" :string)
+(merge-rule "\`o" "" :string)
+(merge-rule "\^u" "" :string)
+(merge-rule "\`u" "" :string)
+(merge-rule "\~"y" "" :string)
+(merge-rule "\~"O" "" :string)
+(merge-rule "\~"U" "" :string)
+(merge-rule "\IeC {\o }" "" :string)
+(merge-rule "\IeC {\pounds }" "" :string)
+(merge-rule "\IeC {\O }" "" :string)
+(merge-rule "\times " "" :string)
+(merge-rule "\IeC {\textflorin }" "" :string)
+(merge-rule "\'a" "" :string)
+(merge-rule "\IeC {\'\i }" "" :string)
+(merge-rule "\'o" "" :string)
+(merge-rule "\'u" "" :string)
+(merge-rule "\~~n" "" :string)
+(merge-rule "\~~N" "" :string)
+(merge-rule "\IeC {\textordfeminine }" "" :string)
+(merge-rule "\IeC {\textordmasculine }" "" :string)
+(merge-rule "\IeC {\textquestiondown }" "" :string)
+(merge-rule "\IeC {\textregistered }" "" :string)
+(merge-rule "\lnot " "" :string)
+(merge-rule "\IeC {\textonehalf }" "" :string)
+(merge-rule "\IeC {\textonequarter }" "" :string)
+(merge-rule "\IeC {\textexclamdown }" "" :string)
+(merge-rule "\IeC {\guillemotleft }" "" :string)
+(merge-rule "\IeC {\guillemotright }" "" :string)
+(merge-rule "\'A" "" :string)
+(merge-rule "\^A" "" :string)
+(merge-rule "\`A" "" :string)
+(merge-rule "\IeC {\copyright }" "" :string)
+(merge-rule "\IeC {\textcent }" "" :string)
+(merge-rule "\IeC {\textyen }" "" :string)
+(merge-rule "\~~a" "" :string)
+(merge-rule "\~~A" "" :string)
+(merge-rule "\IeC {\textcurrency }" "" :string)
+(merge-rule "\IeC {\dh }" "" :string)
+(merge-rule "\IeC {\DH }" "" :string)
+(merge-rule "\^E" "" :string)
+(merge-rule "\~"E" "" :string)
+(merge-rule "\`E" "" :string)
+(merge-rule "\IeC {\i }" "" :string)
+(merge-rule "\'I" "" :string)
+(merge-rule "\^I" "" :string)
+(merge-rule "\~"I" "" :string)
+(merge-rule "\IeC {\textbrokenbar }" "" :string)
+(merge-rule "\`I" "" :string)
+(merge-rule "\'O" "" :string)
+(merge-rule "\IeC {\ss }" "" :string)
+(merge-rule "\^O" "" :string)
+(merge-rule "\`O" "" :string)
+(merge-rule "\~~o" "" :string)
+(merge-rule "\~~O" "" :string)
+(merge-rule "\mu " "" :string)
+(merge-rule "\IeC {\th }" "" :string)
+(merge-rule "\IeC {\TH }" "" :string)
+(merge-rule "\'U" "" :string)
+(merge-rule "\^U" "" :string)
+(merge-rule "\`U" "" :string)
+(merge-rule "\'y" "" :string)
+(merge-rule "\'Y" "" :string)
+(merge-rule "\={}" "" :string)
+(merge-rule "\'{}" "" :string)
+(merge-rule "\discretionary {-}{}{}" "" :string)
+(merge-rule "\pm " "" :string)
+(merge-rule "\IeC {\textthreequarters }" "" :string)
+(merge-rule "\IeC {\P }" "" :string)
+(merge-rule "\IeC {\S }" "" :string)
+(merge-rule "\div " "" :string)
+(merge-rule "\IeC {\c \ }" "" :string)
+(merge-rule "\IeC {\textdegree }" "" :string)
+(merge-rule "\~"{}" "" :string)
+(merge-rule "\IeC {\textperiodcentered }" "" :string)
+(merge-rule "{^1}" "" :string)
+(merge-rule "{^3}" "" :string)
+(merge-rule "{^2}" "" :string)
+(merge-rule "\IeC {\textblacksquare }" "" :string)
+(merge-rule "\IeC {\nobreakspace }" "" :string)
+
+;; end of style file.
diff --git a/Master/texmf/xindy/tex/inputenc/cp855.xdy b/Master/texmf/xindy/tex/inputenc/cp855.xdy
new file mode 100644
index 00000000000..53133f5eb62
--- /dev/null
+++ b/Master/texmf/xindy/tex/inputenc/cp855.xdy
@@ -0,0 +1,105 @@
+;; this file was generated by make-inp-rules.pl
+;; these rules map inputenc generated macros (back) to 8-bit characters
+
+(merge-rule "\IeC {\cyrdje }" "" :string)
+(merge-rule "\IeC {\CYRDJE }" "" :string)
+(merge-rule "\IeC {\'\cyrg }" "" :string)
+(merge-rule "\IeC {\'\CYRG }" "" :string)
+(merge-rule "\IeC {\cyryo }" "" :string)
+(merge-rule "\IeC {\CYRYO }" "" :string)
+(merge-rule "\IeC {\cyrie }" "" :string)
+(merge-rule "\IeC {\CYRIE }" "" :string)
+(merge-rule "\IeC {\cyrdze }" "" :string)
+(merge-rule "\IeC {\CYRDZE }" "" :string)
+(merge-rule "\IeC {\cyrii }" "" :string)
+(merge-rule "\IeC {\CYRII }" "" :string)
+(merge-rule "\IeC {\cyryi }" "" :string)
+(merge-rule "\IeC {\CYRYI }" "" :string)
+(merge-rule "\IeC {\cyrje }" "" :string)
+(merge-rule "\IeC {\CYRJE }" "" :string)
+(merge-rule "\IeC {\cyrlje }" "" :string)
+(merge-rule "\IeC {\CYRLJE }" "" :string)
+(merge-rule "\IeC {\cyrnje }" "" :string)
+(merge-rule "\IeC {\CYRNJE }" "" :string)
+(merge-rule "\IeC {\cyrtshe }" "" :string)
+(merge-rule "\IeC {\CYRTSHE }" "" :string)
+(merge-rule "\IeC {\'\cyrk }" "" :string)
+(merge-rule "\IeC {\'\CYRK }" "" :string)
+(merge-rule "\IeC {\cyrushrt }" "" :string)
+(merge-rule "\IeC {\CYRUSHRT }" "" :string)
+(merge-rule "\IeC {\cyrdzhe }" "" :string)
+(merge-rule "\IeC {\CYRDZHE }" "" :string)
+(merge-rule "\IeC {\cyryu }" "" :string)
+(merge-rule "\IeC {\CYRYU }" "" :string)
+(merge-rule "\IeC {\cyrhrdsn }" "" :string)
+(merge-rule "\IeC {\CYRHRDSN }" "" :string)
+(merge-rule "\IeC {\cyra }" "" :string)
+(merge-rule "\IeC {\CYRA }" "" :string)
+(merge-rule "\IeC {\cyrb }" "" :string)
+(merge-rule "\IeC {\CYRB }" "" :string)
+(merge-rule "\IeC {\cyrc }" "" :string)
+(merge-rule "\IeC {\CYRC }" "" :string)
+(merge-rule "\IeC {\cyrd }" "" :string)
+(merge-rule "\IeC {\CYRD }" "" :string)
+(merge-rule "\IeC {\cyre }" "" :string)
+(merge-rule "\IeC {\CYRE }" "" :string)
+(merge-rule "\IeC {\cyrf }" "" :string)
+(merge-rule "\IeC {\CYRF }" "" :string)
+(merge-rule "\IeC {\cyrg }" "" :string)
+(merge-rule "\IeC {\CYRG }" "" :string)
+(merge-rule "\IeC {\guillemotleft }" "" :string)
+(merge-rule "\IeC {\guillemotright }" "" :string)
+(merge-rule "\IeC {\cyrh }" "" :string)
+(merge-rule "\IeC {\CYRH }" "" :string)
+(merge-rule "\IeC {\cyri }" "" :string)
+(merge-rule "\IeC {\CYRI }" "" :string)
+(merge-rule "\IeC {\cyrishrt }" "" :string)
+(merge-rule "\IeC {\CYRISHRT }" "" :string)
+(merge-rule "\IeC {\cyrk }" "" :string)
+(merge-rule "\IeC {\CYRK }" "" :string)
+(merge-rule "\IeC {\textcurrency }" "" :string)
+(merge-rule "\IeC {\cyrl }" "" :string)
+(merge-rule "\IeC {\CYRL }" "" :string)
+(merge-rule "\IeC {\cyrm }" "" :string)
+(merge-rule "\IeC {\CYRM }" "" :string)
+(merge-rule "\IeC {\cyrn }" "" :string)
+(merge-rule "\IeC {\CYRN }" "" :string)
+(merge-rule "\IeC {\cyro }" "" :string)
+(merge-rule "\IeC {\CYRO }" "" :string)
+(merge-rule "\IeC {\cyrp }" "" :string)
+(merge-rule "\IeC {\CYRP }" "" :string)
+(merge-rule "\IeC {\cyrya }" "" :string)
+(merge-rule "\IeC {\CYRYA }" "" :string)
+(merge-rule "\IeC {\cyrr }" "" :string)
+(merge-rule "\IeC {\CYRR }" "" :string)
+(merge-rule "\IeC {\cyrs }" "" :string)
+(merge-rule "\IeC {\CYRS }" "" :string)
+(merge-rule "\IeC {\cyrt }" "" :string)
+(merge-rule "\IeC {\CYRT }" "" :string)
+(merge-rule "\IeC {\cyru }" "" :string)
+(merge-rule "\IeC {\CYRU }" "" :string)
+(merge-rule "\IeC {\cyrzh }" "" :string)
+(merge-rule "\IeC {\CYRZH }" "" :string)
+(merge-rule "\IeC {\cyrv }" "" :string)
+(merge-rule "\IeC {\CYRV }" "" :string)
+(merge-rule "\IeC {\cyrsftsn }" "" :string)
+(merge-rule "\IeC {\CYRSFTSN }" "" :string)
+(merge-rule "\IeC {\textnumero }" "" :string)
+(merge-rule "\discretionary {-}{}{}" "" :string)
+(merge-rule "\IeC {\cyrery }" "" :string)
+(merge-rule "\IeC {\CYRERY }" "" :string)
+(merge-rule "\IeC {\cyrz }" "" :string)
+(merge-rule "\IeC {\CYRZ }" "" :string)
+(merge-rule "\IeC {\cyrsh }" "" :string)
+(merge-rule "\IeC {\CYRSH }" "" :string)
+(merge-rule "\IeC {\cyrerev }" "" :string)
+(merge-rule "\IeC {\CYREREV }" "" :string)
+(merge-rule "\IeC {\cyrshch }" "" :string)
+(merge-rule "\IeC {\CYRSHCH }" "" :string)
+(merge-rule "\IeC {\cyrch }" "" :string)
+(merge-rule "\IeC {\CYRCH }" "" :string)
+(merge-rule "\IeC {\S }" "" :string)
+(merge-rule "\IeC {\textblacksquare }" "" :string)
+(merge-rule "\IeC {\nobreakspace }" "" :string)
+
+;; end of style file.
diff --git a/Master/texmf/xindy/tex/inputenc/cp866.xdy b/Master/texmf/xindy/tex/inputenc/cp866.xdy
new file mode 100644
index 00000000000..e75b168c911
--- /dev/null
+++ b/Master/texmf/xindy/tex/inputenc/cp866.xdy
@@ -0,0 +1,85 @@
+;; this file was generated by make-inp-rules.pl
+;; these rules map inputenc generated macros (back) to 8-bit characters
+
+(merge-rule "\IeC {\CYRA }" "" :string)
+(merge-rule "\IeC {\CYRB }" "" :string)
+(merge-rule "\IeC {\CYRV }" "" :string)
+(merge-rule "\IeC {\CYRG }" "" :string)
+(merge-rule "\IeC {\CYRD }" "" :string)
+(merge-rule "\IeC {\CYRE }" "" :string)
+(merge-rule "\IeC {\CYRZH }" "" :string)
+(merge-rule "\IeC {\CYRZ }" "" :string)
+(merge-rule "\IeC {\CYRI }" "" :string)
+(merge-rule "\IeC {\CYRISHRT }" "" :string)
+(merge-rule "\IeC {\CYRK }" "" :string)
+(merge-rule "\IeC {\CYRL }" "" :string)
+(merge-rule "\IeC {\CYRM }" "" :string)
+(merge-rule "\IeC {\CYRN }" "" :string)
+(merge-rule "\IeC {\CYRO }" "" :string)
+(merge-rule "\IeC {\CYRP }" "" :string)
+(merge-rule "\IeC {\CYRR }" "" :string)
+(merge-rule "\IeC {\CYRS }" "" :string)
+(merge-rule "\IeC {\CYRT }" "" :string)
+(merge-rule "\IeC {\CYRU }" "" :string)
+(merge-rule "\IeC {\CYRF }" "" :string)
+(merge-rule "\IeC {\CYRH }" "" :string)
+(merge-rule "\IeC {\CYRC }" "" :string)
+(merge-rule "\IeC {\CYRCH }" "" :string)
+(merge-rule "\IeC {\CYRSH }" "" :string)
+(merge-rule "\IeC {\CYRSHCH }" "" :string)
+(merge-rule "\IeC {\CYRHRDSN }" "" :string)
+(merge-rule "\IeC {\CYRERY }" "" :string)
+(merge-rule "\IeC {\CYRSFTSN }" "" :string)
+(merge-rule "\IeC {\CYREREV }" "" :string)
+(merge-rule "\IeC {\CYRYU }" "" :string)
+(merge-rule "\IeC {\CYRYA }" "" :string)
+(merge-rule "\IeC {\cyra }" "" :string)
+(merge-rule "\IeC {\cyrb }" "" :string)
+(merge-rule "\IeC {\cyrv }" "" :string)
+(merge-rule "\IeC {\cyrg }" "" :string)
+(merge-rule "\IeC {\cyrd }" "" :string)
+(merge-rule "\IeC {\cyre }" "" :string)
+(merge-rule "\IeC {\cyrzh }" "" :string)
+(merge-rule "\IeC {\cyrz }" "" :string)
+(merge-rule "\IeC {\cyri }" "" :string)
+(merge-rule "\IeC {\cyrishrt }" "" :string)
+(merge-rule "\IeC {\cyrk }" "" :string)
+(merge-rule "\IeC {\cyrl }" "" :string)
+(merge-rule "\IeC {\cyrm }" "" :string)
+(merge-rule "\IeC {\cyrn }" "" :string)
+(merge-rule "\IeC {\cyro }" "" :string)
+(merge-rule "\IeC {\cyrp }" "" :string)
+(merge-rule "\IeC {\cyrr }" "" :string)
+(merge-rule "\IeC {\cyrs }" "" :string)
+(merge-rule "\IeC {\cyrt }" "" :string)
+(merge-rule "\IeC {\cyru }" "" :string)
+(merge-rule "\IeC {\cyrf }" "" :string)
+(merge-rule "\IeC {\cyrh }" "" :string)
+(merge-rule "\IeC {\cyrc }" "" :string)
+(merge-rule "\IeC {\cyrch }" "" :string)
+(merge-rule "\IeC {\cyrsh }" "" :string)
+(merge-rule "\IeC {\cyrshch }" "" :string)
+(merge-rule "\IeC {\cyrhrdsn }" "" :string)
+(merge-rule "\IeC {\cyrery }" "" :string)
+(merge-rule "\IeC {\cyrsftsn }" "" :string)
+(merge-rule "\IeC {\cyrerev }" "" :string)
+(merge-rule "\IeC {\cyryu }" "" :string)
+(merge-rule "\IeC {\cyrya }" "" :string)
+(merge-rule "\IeC {\CYRYO }" "" :string)
+(merge-rule "\IeC {\cyryo }" "" :string)
+(merge-rule "\IeC {\CYRIE }" "" :string)
+(merge-rule "\IeC {\cyrie }" "" :string)
+(merge-rule "\IeC {\CYRYI }" "" :string)
+(merge-rule "\IeC {\cyryi }" "" :string)
+(merge-rule "\IeC {\CYRUSHRT }" "" :string)
+(merge-rule "\IeC {\cyrushrt }" "" :string)
+(merge-rule "\IeC {\textdegree }" "" :string)
+(merge-rule "\IeC {\textbullet }" "" :string)
+(merge-rule "\IeC {\textperiodcentered }" "" :string)
+(merge-rule "{\mathchar ~"1270}" "" :string)
+(merge-rule "\IeC {\textnumero }" "" :string)
+(merge-rule "\IeC {\textcurrency }" "" :string)
+(merge-rule "\IeC {\textblacksquare }" "" :string)
+(merge-rule "\IeC {\nobreakspace }" "" :string)
+
+;; end of style file.
diff --git a/Master/texmf/xindy/tex/inputenc/iso88595.xdy b/Master/texmf/xindy/tex/inputenc/iso88595.xdy
new file mode 100644
index 00000000000..68d8009d407
--- /dev/null
+++ b/Master/texmf/xindy/tex/inputenc/iso88595.xdy
@@ -0,0 +1,101 @@
+;; this file was generated by make-inp-rules.pl
+;; these rules map inputenc generated macros (back) to 8-bit characters
+
+(merge-rule "\IeC {\nobreakspace }" "" :string)
+(merge-rule "\IeC {\CYRYO }" "" :string)
+(merge-rule "\IeC {\CYRDJE }" "" :string)
+(merge-rule "\IeC {\'\CYRG }" "" :string)
+(merge-rule "\IeC {\CYRIE }" "" :string)
+(merge-rule "\IeC {\CYRDZE }" "" :string)
+(merge-rule "\IeC {\CYRII }" "" :string)
+(merge-rule "\IeC {\CYRYI }" "" :string)
+(merge-rule "\IeC {\CYRJE }" "" :string)
+(merge-rule "\IeC {\CYRLJE }" "" :string)
+(merge-rule "\IeC {\CYRNJE }" "" :string)
+(merge-rule "\IeC {\CYRTSHE }" "" :string)
+(merge-rule "\IeC {\'\CYRK }" "" :string)
+(merge-rule "\discretionary {-}{}{}" "" :string)
+(merge-rule "\IeC {\CYRUSHRT }" "" :string)
+(merge-rule "\IeC {\CYRDZHE }" "" :string)
+(merge-rule "\IeC {\CYRA }" "" :string)
+(merge-rule "\IeC {\CYRB }" "" :string)
+(merge-rule "\IeC {\CYRV }" "" :string)
+(merge-rule "\IeC {\CYRG }" "" :string)
+(merge-rule "\IeC {\CYRD }" "" :string)
+(merge-rule "\IeC {\CYRE }" "" :string)
+(merge-rule "\IeC {\CYRZH }" "" :string)
+(merge-rule "\IeC {\CYRZ }" "" :string)
+(merge-rule "\IeC {\CYRI }" "" :string)
+(merge-rule "\IeC {\CYRISHRT }" "" :string)
+(merge-rule "\IeC {\CYRK }" "" :string)
+(merge-rule "\IeC {\CYRL }" "" :string)
+(merge-rule "\IeC {\CYRM }" "" :string)
+(merge-rule "\IeC {\CYRN }" "" :string)
+(merge-rule "\IeC {\CYRO }" "" :string)
+(merge-rule "\IeC {\CYRP }" "" :string)
+(merge-rule "\IeC {\CYRR }" "" :string)
+(merge-rule "\IeC {\CYRS }" "" :string)
+(merge-rule "\IeC {\CYRT }" "" :string)
+(merge-rule "\IeC {\CYRU }" "" :string)
+(merge-rule "\IeC {\CYRF }" "" :string)
+(merge-rule "\IeC {\CYRH }" "" :string)
+(merge-rule "\IeC {\CYRC }" "" :string)
+(merge-rule "\IeC {\CYRCH }" "" :string)
+(merge-rule "\IeC {\CYRSH }" "" :string)
+(merge-rule "\IeC {\CYRSHCH }" "" :string)
+(merge-rule "\IeC {\CYRHRDSN }" "" :string)
+(merge-rule "\IeC {\CYRERY }" "" :string)
+(merge-rule "\IeC {\CYRSFTSN }" "" :string)
+(merge-rule "\IeC {\CYREREV }" "" :string)
+(merge-rule "\IeC {\CYRYU }" "" :string)
+(merge-rule "\IeC {\CYRYA }" "" :string)
+(merge-rule "\IeC {\cyra }" "" :string)
+(merge-rule "\IeC {\cyrb }" "" :string)
+(merge-rule "\IeC {\cyrv }" "" :string)
+(merge-rule "\IeC {\cyrg }" "" :string)
+(merge-rule "\IeC {\cyrd }" "" :string)
+(merge-rule "\IeC {\cyre }" "" :string)
+(merge-rule "\IeC {\cyrzh }" "" :string)
+(merge-rule "\IeC {\cyrz }" "" :string)
+(merge-rule "\IeC {\cyri }" "" :string)
+(merge-rule "\IeC {\cyrishrt }" "" :string)
+(merge-rule "\IeC {\cyrk }" "" :string)
+(merge-rule "\IeC {\cyrl }" "" :string)
+(merge-rule "\IeC {\cyrm }" "" :string)
+(merge-rule "\IeC {\cyrn }" "" :string)
+(merge-rule "\IeC {\cyro }" "" :string)
+(merge-rule "\IeC {\cyrp }" "" :string)
+(merge-rule "\IeC {\cyrr }" "" :string)
+(merge-rule "\IeC {\cyrs }" "" :string)
+(merge-rule "\IeC {\cyrt }" "" :string)
+(merge-rule "\IeC {\cyru }" "" :string)
+(merge-rule "\IeC {\cyrf }" "" :string)
+(merge-rule "\IeC {\cyrh }" "" :string)
+(merge-rule "\IeC {\cyrc }" "" :string)
+(merge-rule "\IeC {\cyrch }" "" :string)
+(merge-rule "\IeC {\cyrsh }" "" :string)
+(merge-rule "\IeC {\cyrshch }" "" :string)
+(merge-rule "\IeC {\cyrhrdsn }" "" :string)
+(merge-rule "\IeC {\cyrery }" "" :string)
+(merge-rule "\IeC {\cyrsftsn }" "" :string)
+(merge-rule "\IeC {\cyrerev }" "" :string)
+(merge-rule "\IeC {\cyryu }" "" :string)
+(merge-rule "\IeC {\cyrya }" "" :string)
+(merge-rule "\IeC {\textnumero }" "" :string)
+(merge-rule "\IeC {\cyryo }" "" :string)
+(merge-rule "\IeC {\cyrdje }" "" :string)
+(merge-rule "\IeC {\'\cyrg }" "" :string)
+(merge-rule "\IeC {\cyrie }" "" :string)
+(merge-rule "\IeC {\cyrdze }" "" :string)
+(merge-rule "\IeC {\cyrii }" "" :string)
+(merge-rule "\IeC {\cyryi }" "" :string)
+(merge-rule "\IeC {\cyrje }" "" :string)
+(merge-rule "\IeC {\cyrlje }" "" :string)
+(merge-rule "\IeC {\cyrnje }" "" :string)
+(merge-rule "\IeC {\cyrtshe }" "" :string)
+(merge-rule "\IeC {\'\cyrk }" "" :string)
+(merge-rule "\IeC {\S }" "" :string)
+(merge-rule "\IeC {\cyrushrt }" "" :string)
+(merge-rule "\IeC {\cyrdzhe }" "" :string)
+
+;; end of style file.
diff --git a/Master/texmf/xindy/tex/inputenc/isoir111.xdy b/Master/texmf/xindy/tex/inputenc/isoir111.xdy
new file mode 100644
index 00000000000..5139bb48d9d
--- /dev/null
+++ b/Master/texmf/xindy/tex/inputenc/isoir111.xdy
@@ -0,0 +1,101 @@
+;; this file was generated by make-inp-rules.pl
+;; these rules map inputenc generated macros (back) to 8-bit characters
+
+(merge-rule "\IeC {\nobreakspace }" "" :string)
+(merge-rule "\IeC {\cyrdje }" "" :string)
+(merge-rule "\IeC {\'\cyrg }" "" :string)
+(merge-rule "\IeC {\cyryo }" "" :string)
+(merge-rule "\IeC {\cyrie }" "" :string)
+(merge-rule "\IeC {\cyrdze }" "" :string)
+(merge-rule "\IeC {\cyrii }" "" :string)
+(merge-rule "\IeC {\cyryi }" "" :string)
+(merge-rule "\IeC {\cyrje }" "" :string)
+(merge-rule "\IeC {\cyrlje }" "" :string)
+(merge-rule "\IeC {\cyrnje }" "" :string)
+(merge-rule "\IeC {\cyrtshe }" "" :string)
+(merge-rule "\IeC {\'\cyrk }" "" :string)
+(merge-rule "\discretionary {-}{}{}" "" :string)
+(merge-rule "\IeC {\cyrushrt }" "" :string)
+(merge-rule "\IeC {\cyrdzhe }" "" :string)
+(merge-rule "\IeC {\textnumero }" "" :string)
+(merge-rule "\IeC {\CYRDJE }" "" :string)
+(merge-rule "\IeC {\'\CYRG }" "" :string)
+(merge-rule "\IeC {\CYRYO }" "" :string)
+(merge-rule "\IeC {\CYRIE }" "" :string)
+(merge-rule "\IeC {\CYRDZE }" "" :string)
+(merge-rule "\IeC {\CYRII }" "" :string)
+(merge-rule "\IeC {\CYRYI }" "" :string)
+(merge-rule "\IeC {\CYRJE }" "" :string)
+(merge-rule "\IeC {\CYRLJE }" "" :string)
+(merge-rule "\IeC {\CYRNJE }" "" :string)
+(merge-rule "\IeC {\CYRTSHE }" "" :string)
+(merge-rule "\IeC {\'\CYRK }" "" :string)
+(merge-rule "\IeC {\textcurrency }" "" :string)
+(merge-rule "\IeC {\CYRUSHRT }" "" :string)
+(merge-rule "\IeC {\CYRDZHE }" "" :string)
+(merge-rule "\IeC {\cyryu }" "" :string)
+(merge-rule "\IeC {\cyra }" "" :string)
+(merge-rule "\IeC {\cyrb }" "" :string)
+(merge-rule "\IeC {\cyrc }" "" :string)
+(merge-rule "\IeC {\cyrd }" "" :string)
+(merge-rule "\IeC {\cyre }" "" :string)
+(merge-rule "\IeC {\cyrf }" "" :string)
+(merge-rule "\IeC {\cyrg }" "" :string)
+(merge-rule "\IeC {\cyrh }" "" :string)
+(merge-rule "\IeC {\cyri }" "" :string)
+(merge-rule "\IeC {\cyrishrt }" "" :string)
+(merge-rule "\IeC {\cyrk }" "" :string)
+(merge-rule "\IeC {\cyrl }" "" :string)
+(merge-rule "\IeC {\cyrm }" "" :string)
+(merge-rule "\IeC {\cyrn }" "" :string)
+(merge-rule "\IeC {\cyro }" "" :string)
+(merge-rule "\IeC {\cyrp }" "" :string)
+(merge-rule "\IeC {\cyrya }" "" :string)
+(merge-rule "\IeC {\cyrr }" "" :string)
+(merge-rule "\IeC {\cyrs }" "" :string)
+(merge-rule "\IeC {\cyrt }" "" :string)
+(merge-rule "\IeC {\cyru }" "" :string)
+(merge-rule "\IeC {\cyrzh }" "" :string)
+(merge-rule "\IeC {\cyrv }" "" :string)
+(merge-rule "\IeC {\cyrsftsn }" "" :string)
+(merge-rule "\IeC {\cyrery }" "" :string)
+(merge-rule "\IeC {\cyrz }" "" :string)
+(merge-rule "\IeC {\cyrsh }" "" :string)
+(merge-rule "\IeC {\cyrerev }" "" :string)
+(merge-rule "\IeC {\cyrshch }" "" :string)
+(merge-rule "\IeC {\cyrch }" "" :string)
+(merge-rule "\IeC {\cyrhrdsn }" "" :string)
+(merge-rule "\IeC {\CYRYU }" "" :string)
+(merge-rule "\IeC {\CYRA }" "" :string)
+(merge-rule "\IeC {\CYRB }" "" :string)
+(merge-rule "\IeC {\CYRC }" "" :string)
+(merge-rule "\IeC {\CYRD }" "" :string)
+(merge-rule "\IeC {\CYRE }" "" :string)
+(merge-rule "\IeC {\CYRF }" "" :string)
+(merge-rule "\IeC {\CYRG }" "" :string)
+(merge-rule "\IeC {\CYRH }" "" :string)
+(merge-rule "\IeC {\CYRI }" "" :string)
+(merge-rule "\IeC {\CYRISHRT }" "" :string)
+(merge-rule "\IeC {\CYRK }" "" :string)
+(merge-rule "\IeC {\CYRL }" "" :string)
+(merge-rule "\IeC {\CYRM }" "" :string)
+(merge-rule "\IeC {\CYRN }" "" :string)
+(merge-rule "\IeC {\CYRO }" "" :string)
+(merge-rule "\IeC {\CYRP }" "" :string)
+(merge-rule "\IeC {\CYRYA }" "" :string)
+(merge-rule "\IeC {\CYRR }" "" :string)
+(merge-rule "\IeC {\CYRS }" "" :string)
+(merge-rule "\IeC {\CYRT }" "" :string)
+(merge-rule "\IeC {\CYRU }" "" :string)
+(merge-rule "\IeC {\CYRZH }" "" :string)
+(merge-rule "\IeC {\CYRV }" "" :string)
+(merge-rule "\IeC {\CYRSFTSN }" "" :string)
+(merge-rule "\IeC {\CYRERY }" "" :string)
+(merge-rule "\IeC {\CYRZ }" "" :string)
+(merge-rule "\IeC {\CYRSH }" "" :string)
+(merge-rule "\IeC {\CYREREV }" "" :string)
+(merge-rule "\IeC {\CYRSHCH }" "" :string)
+(merge-rule "\IeC {\CYRCH }" "" :string)
+(merge-rule "\IeC {\CYRHRDSN }" "" :string)
+
+;; end of style file.
diff --git a/Master/texmf/xindy/tex/inputenc/koi8-r.xdy b/Master/texmf/xindy/tex/inputenc/koi8-r.xdy
new file mode 100644
index 00000000000..7663bbcf796
--- /dev/null
+++ b/Master/texmf/xindy/tex/inputenc/koi8-r.xdy
@@ -0,0 +1,83 @@
+;; this file was generated by make-inp-rules.pl
+;; these rules map inputenc generated macros (back) to 8-bit characters
+
+(merge-rule "\IeC {\textblacksquare }" "" :string)
+(merge-rule "\IeC {\textbullet }" "" :string)
+(merge-rule "{\mathchar ~"1270}" "" :string)
+(merge-rule "\sim " "" :string)
+(merge-rule "\leq " "" :string)
+(merge-rule "\geq " "" :string)
+(merge-rule "\IeC {\nobreakspace }" "" :string)
+(merge-rule "\IeC {\textdegree }" "" :string)
+(merge-rule "{^2}" "" :string)
+(merge-rule "\IeC {\textperiodcentered }" "" :string)
+(merge-rule "\div " "" :string)
+(merge-rule "\IeC {\cyryo }" "" :string)
+(merge-rule "\IeC {\CYRYO }" "" :string)
+(merge-rule "\IeC {\copyright }" "" :string)
+(merge-rule "\IeC {\cyryu }" "" :string)
+(merge-rule "\IeC {\cyra }" "" :string)
+(merge-rule "\IeC {\cyrb }" "" :string)
+(merge-rule "\IeC {\cyrc }" "" :string)
+(merge-rule "\IeC {\cyrd }" "" :string)
+(merge-rule "\IeC {\cyre }" "" :string)
+(merge-rule "\IeC {\cyrf }" "" :string)
+(merge-rule "\IeC {\cyrg }" "" :string)
+(merge-rule "\IeC {\cyrh }" "" :string)
+(merge-rule "\IeC {\cyri }" "" :string)
+(merge-rule "\IeC {\cyrishrt }" "" :string)
+(merge-rule "\IeC {\cyrk }" "" :string)
+(merge-rule "\IeC {\cyrl }" "" :string)
+(merge-rule "\IeC {\cyrm }" "" :string)
+(merge-rule "\IeC {\cyrn }" "" :string)
+(merge-rule "\IeC {\cyro }" "" :string)
+(merge-rule "\IeC {\cyrp }" "" :string)
+(merge-rule "\IeC {\cyrya }" "" :string)
+(merge-rule "\IeC {\cyrr }" "" :string)
+(merge-rule "\IeC {\cyrs }" "" :string)
+(merge-rule "\IeC {\cyrt }" "" :string)
+(merge-rule "\IeC {\cyru }" "" :string)
+(merge-rule "\IeC {\cyrzh }" "" :string)
+(merge-rule "\IeC {\cyrv }" "" :string)
+(merge-rule "\IeC {\cyrsftsn }" "" :string)
+(merge-rule "\IeC {\cyrery }" "" :string)
+(merge-rule "\IeC {\cyrz }" "" :string)
+(merge-rule "\IeC {\cyrsh }" "" :string)
+(merge-rule "\IeC {\cyrerev }" "" :string)
+(merge-rule "\IeC {\cyrshch }" "" :string)
+(merge-rule "\IeC {\cyrch }" "" :string)
+(merge-rule "\IeC {\cyrhrdsn }" "" :string)
+(merge-rule "\IeC {\CYRYU }" "" :string)
+(merge-rule "\IeC {\CYRA }" "" :string)
+(merge-rule "\IeC {\CYRB }" "" :string)
+(merge-rule "\IeC {\CYRC }" "" :string)
+(merge-rule "\IeC {\CYRD }" "" :string)
+(merge-rule "\IeC {\CYRE }" "" :string)
+(merge-rule "\IeC {\CYRF }" "" :string)
+(merge-rule "\IeC {\CYRG }" "" :string)
+(merge-rule "\IeC {\CYRH }" "" :string)
+(merge-rule "\IeC {\CYRI }" "" :string)
+(merge-rule "\IeC {\CYRISHRT }" "" :string)
+(merge-rule "\IeC {\CYRK }" "" :string)
+(merge-rule "\IeC {\CYRL }" "" :string)
+(merge-rule "\IeC {\CYRM }" "" :string)
+(merge-rule "\IeC {\CYRN }" "" :string)
+(merge-rule "\IeC {\CYRO }" "" :string)
+(merge-rule "\IeC {\CYRP }" "" :string)
+(merge-rule "\IeC {\CYRYA }" "" :string)
+(merge-rule "\IeC {\CYRR }" "" :string)
+(merge-rule "\IeC {\CYRS }" "" :string)
+(merge-rule "\IeC {\CYRT }" "" :string)
+(merge-rule "\IeC {\CYRU }" "" :string)
+(merge-rule "\IeC {\CYRZH }" "" :string)
+(merge-rule "\IeC {\CYRV }" "" :string)
+(merge-rule "\IeC {\CYRSFTSN }" "" :string)
+(merge-rule "\IeC {\CYRERY }" "" :string)
+(merge-rule "\IeC {\CYRZ }" "" :string)
+(merge-rule "\IeC {\CYRSH }" "" :string)
+(merge-rule "\IeC {\CYREREV }" "" :string)
+(merge-rule "\IeC {\CYRSHCH }" "" :string)
+(merge-rule "\IeC {\CYRCH }" "" :string)
+(merge-rule "\IeC {\CYRHRDSN }" "" :string)
+
+;; end of style file.
diff --git a/Master/texmf/xindy/tex/inputenc/koi8-u.xdy b/Master/texmf/xindy/tex/inputenc/koi8-u.xdy
new file mode 100644
index 00000000000..b14024d0854
--- /dev/null
+++ b/Master/texmf/xindy/tex/inputenc/koi8-u.xdy
@@ -0,0 +1,79 @@
+;; this file was generated by make-inp-rules.pl
+;; these rules map inputenc generated macros (back) to 8-bit characters
+
+(merge-rule "\IeC {\cyryo }" "" :string)
+(merge-rule "\IeC {\cyrie }" "" :string)
+(merge-rule "\IeC {\cyrii }" "" :string)
+(merge-rule "\IeC {\cyryi }" "" :string)
+(merge-rule "\IeC {\cyrgup }" "" :string)
+(merge-rule "\IeC {\CYRYO }" "" :string)
+(merge-rule "\IeC {\CYRIE }" "" :string)
+(merge-rule "\IeC {\CYRII }" "" :string)
+(merge-rule "\IeC {\CYRYI }" "" :string)
+(merge-rule "\IeC {\CYRGUP }" "" :string)
+(merge-rule "\IeC {\cyryu }" "" :string)
+(merge-rule "\IeC {\cyra }" "" :string)
+(merge-rule "\IeC {\cyrb }" "" :string)
+(merge-rule "\IeC {\cyrc }" "" :string)
+(merge-rule "\IeC {\cyrd }" "" :string)
+(merge-rule "\IeC {\cyre }" "" :string)
+(merge-rule "\IeC {\cyrf }" "" :string)
+(merge-rule "\IeC {\cyrg }" "" :string)
+(merge-rule "\IeC {\cyrh }" "" :string)
+(merge-rule "\IeC {\cyri }" "" :string)
+(merge-rule "\IeC {\cyrishrt }" "" :string)
+(merge-rule "\IeC {\cyrk }" "" :string)
+(merge-rule "\IeC {\cyrl }" "" :string)
+(merge-rule "\IeC {\cyrm }" "" :string)
+(merge-rule "\IeC {\cyrn }" "" :string)
+(merge-rule "\IeC {\cyro }" "" :string)
+(merge-rule "\IeC {\cyrp }" "" :string)
+(merge-rule "\IeC {\cyrya }" "" :string)
+(merge-rule "\IeC {\cyrr }" "" :string)
+(merge-rule "\IeC {\cyrs }" "" :string)
+(merge-rule "\IeC {\cyrt }" "" :string)
+(merge-rule "\IeC {\cyru }" "" :string)
+(merge-rule "\IeC {\cyrzh }" "" :string)
+(merge-rule "\IeC {\cyrv }" "" :string)
+(merge-rule "\IeC {\cyrsftsn }" "" :string)
+(merge-rule "\IeC {\cyrery }" "" :string)
+(merge-rule "\IeC {\cyrz }" "" :string)
+(merge-rule "\IeC {\cyrsh }" "" :string)
+(merge-rule "\IeC {\cyrerev }" "" :string)
+(merge-rule "\IeC {\cyrshch }" "" :string)
+(merge-rule "\IeC {\cyrch }" "" :string)
+(merge-rule "\IeC {\cyrhrdsn }" "" :string)
+(merge-rule "\IeC {\CYRYU }" "" :string)
+(merge-rule "\IeC {\CYRA }" "" :string)
+(merge-rule "\IeC {\CYRB }" "" :string)
+(merge-rule "\IeC {\CYRC }" "" :string)
+(merge-rule "\IeC {\CYRD }" "" :string)
+(merge-rule "\IeC {\CYRE }" "" :string)
+(merge-rule "\IeC {\CYRF }" "" :string)
+(merge-rule "\IeC {\CYRG }" "" :string)
+(merge-rule "\IeC {\CYRH }" "" :string)
+(merge-rule "\IeC {\CYRI }" "" :string)
+(merge-rule "\IeC {\CYRISHRT }" "" :string)
+(merge-rule "\IeC {\CYRK }" "" :string)
+(merge-rule "\IeC {\CYRL }" "" :string)
+(merge-rule "\IeC {\CYRM }" "" :string)
+(merge-rule "\IeC {\CYRN }" "" :string)
+(merge-rule "\IeC {\CYRO }" "" :string)
+(merge-rule "\IeC {\CYRP }" "" :string)
+(merge-rule "\IeC {\CYRYA }" "" :string)
+(merge-rule "\IeC {\CYRR }" "" :string)
+(merge-rule "\IeC {\CYRS }" "" :string)
+(merge-rule "\IeC {\CYRT }" "" :string)
+(merge-rule "\IeC {\CYRU }" "" :string)
+(merge-rule "\IeC {\CYRZH }" "" :string)
+(merge-rule "\IeC {\CYRV }" "" :string)
+(merge-rule "\IeC {\CYRSFTSN }" "" :string)
+(merge-rule "\IeC {\CYRERY }" "" :string)
+(merge-rule "\IeC {\CYRZ }" "" :string)
+(merge-rule "\IeC {\CYRSH }" "" :string)
+(merge-rule "\IeC {\CYREREV }" "" :string)
+(merge-rule "\IeC {\CYRSHCH }" "" :string)
+(merge-rule "\IeC {\CYRCH }" "" :string)
+(merge-rule "\IeC {\CYRHRDSN }" "" :string)
+
+;; end of style file.
diff --git a/Master/texmf/xindy/tex/inputenc/latin.xdy b/Master/texmf/xindy/tex/inputenc/latin.xdy
new file mode 100644
index 00000000000..6bca1822254
--- /dev/null
+++ b/Master/texmf/xindy/tex/inputenc/latin.xdy
@@ -0,0 +1,178 @@
+;; this file was generated from latin1.xdy latin2.xdy latin3.xdy
+
+
+(merge-rule "\'A" "" :string)
+(merge-rule "\'C" "" :string)
+(merge-rule "\'E" "" :string)
+(merge-rule "\'I" "" :string)
+(merge-rule "\'L" "" :string)
+(merge-rule "\'N" "" :string)
+(merge-rule "\'O" "" :string)
+(merge-rule "\'R" "" :string)
+(merge-rule "\'S" "" :string)
+(merge-rule "\'U" "" :string)
+(merge-rule "\'Y" "" :string)
+(merge-rule "\'Z" "" :string)
+(merge-rule "\'a" "" :string)
+(merge-rule "\'c" "" :string)
+(merge-rule "\'e" "" :string)
+(merge-rule "\'l" "" :string)
+(merge-rule "\'n" "" :string)
+(merge-rule "\'o" "" :string)
+(merge-rule "\'r" "" :string)
+(merge-rule "\'s" "" :string)
+(merge-rule "\'u" "" :string)
+(merge-rule "\'y" "" :string)
+(merge-rule "\'z" "" :string)
+(merge-rule "\'{}" "" :string)
+(merge-rule "\.C" "" :string)
+(merge-rule "\.G" "" :string)
+(merge-rule "\.I" "" :string)
+(merge-rule "\.Z" "" :string)
+(merge-rule "\.c" "" :string)
+(merge-rule "\.g" "" :string)
+(merge-rule "\.z" "" :string)
+(merge-rule "\.{}" "" :string)
+(merge-rule "\={}" "" :string)
+(merge-rule "\H O" "" :string)
+(merge-rule "\H U" "" :string)
+(merge-rule "\H o" "" :string)
+(merge-rule "\H u" "" :string)
+(merge-rule "\H {}" "" :string)
+(merge-rule "\IeC {\'\i }" "" :string)
+(merge-rule "\IeC {\AE }" "" :string)
+(merge-rule "\IeC {\DH }" "" :string)
+(merge-rule "\IeC {\DJ }" "" :string)
+(merge-rule "\IeC {\L }" "" :string)
+(merge-rule "\IeC {\O }" "" :string)
+(merge-rule "\IeC {\P }" "" :string)
+(merge-rule "\IeC {\S }" "" :string)
+(merge-rule "\IeC {\TH }" "" :string)
+(merge-rule "\IeC {\^\i }" "" :string)
+(merge-rule "\IeC {\^\j }" "" :string)
+(merge-rule "\IeC {\`\i }" "" :string)
+(merge-rule "\IeC {\ae }" "" :string)
+(merge-rule "\IeC {\c \ }" "" :string)
+(merge-rule "\IeC {\copyright }" "" :string)
+(merge-rule "\IeC {\dh }" "" :string)
+(merge-rule "\IeC {\dj }" "" :string)
+(merge-rule "\IeC {\guillemotleft }" "" :string)
+(merge-rule "\IeC {\guillemotright }" "" :string)
+(merge-rule "\IeC {\i }" "" :string)
+(merge-rule "\IeC {\k \ }" "" :string)
+(merge-rule "\IeC {\l }" "" :string)
+(merge-rule "\IeC {\nobreakspace }" "" :string)
+(merge-rule "\IeC {\o }" "" :string)
+(merge-rule "\IeC {\pounds }" "" :string)
+(merge-rule "\IeC {\ss }" "" :string)
+(merge-rule "\IeC {\textbrokenbar }" "" :string)
+(merge-rule "\IeC {\textcent }" "" :string)
+(merge-rule "\IeC {\textcurrency }" "" :string)
+(merge-rule "\IeC {\textdegree }" "" :string)
+(merge-rule "\IeC {\textexclamdown }" "" :string)
+(merge-rule "\IeC {\textmalteseH }" "" :string)
+(merge-rule "\IeC {\textmalteseh }" "" :string)
+(merge-rule "\IeC {\textonehalf }" "" :string)
+(merge-rule "\IeC {\textonequarter }" "" :string)
+(merge-rule "\IeC {\textordfeminine }" "" :string)
+(merge-rule "\IeC {\textordmasculine }" "" :string)
+(merge-rule "\IeC {\textperiodcentered }" "" :string)
+(merge-rule "\IeC {\textquestiondown }" "" :string)
+(merge-rule "\IeC {\textregistered }" "" :string)
+(merge-rule "\IeC {\textthreequarters }" "" :string)
+(merge-rule "\IeC {\textyen }" "" :string)
+(merge-rule "\IeC {\th }" "" :string)
+(merge-rule "\IeC {\~"\i }" "" :string)
+(merge-rule "\^A" "" :string)
+(merge-rule "\^C" "" :string)
+(merge-rule "\^E" "" :string)
+(merge-rule "\^G" "" :string)
+(merge-rule "\^H" "" :string)
+(merge-rule "\^I" "" :string)
+(merge-rule "\^J" "" :string)
+(merge-rule "\^O" "" :string)
+(merge-rule "\^S" "" :string)
+(merge-rule "\^U" "" :string)
+(merge-rule "\^a" "" :string)
+(merge-rule "\^c" "" :string)
+(merge-rule "\^e" "" :string)
+(merge-rule "\^g" "" :string)
+(merge-rule "\^h" "" :string)
+(merge-rule "\^o" "" :string)
+(merge-rule "\^s" "" :string)
+(merge-rule "\^u" "" :string)
+(merge-rule "\`A" "" :string)
+(merge-rule "\`E" "" :string)
+(merge-rule "\`I" "" :string)
+(merge-rule "\`O" "" :string)
+(merge-rule "\`U" "" :string)
+(merge-rule "\`a" "" :string)
+(merge-rule "\`e" "" :string)
+(merge-rule "\`o" "" :string)
+(merge-rule "\`u" "" :string)
+(merge-rule "\c C" "" :string)
+(merge-rule "\c S" "" :string)
+(merge-rule "\c T" "" :string)
+(merge-rule "\c c" "" :string)
+(merge-rule "\c s" "" :string)
+(merge-rule "\c t" "" :string)
+(merge-rule "\discretionary {-}{}{}" "" :string)
+(merge-rule "\div " "" :string)
+(merge-rule "\k A" "" :string)
+(merge-rule "\k E" "" :string)
+(merge-rule "\k a" "" :string)
+(merge-rule "\k e" "" :string)
+(merge-rule "\lnot " "" :string)
+(merge-rule "\mu " "" :string)
+(merge-rule "\pm " "" :string)
+(merge-rule "\r A" "" :string)
+(merge-rule "\r U" "" :string)
+(merge-rule "\r a" "" :string)
+(merge-rule "\r u" "" :string)
+(merge-rule "\times " "" :string)
+(merge-rule "\u A" "" :string)
+(merge-rule "\u G" "" :string)
+(merge-rule "\u U" "" :string)
+(merge-rule "\u a" "" :string)
+(merge-rule "\u g" "" :string)
+(merge-rule "\u u" "" :string)
+(merge-rule "\u {}" "" :string)
+(merge-rule "\v C" "" :string)
+(merge-rule "\v D" "" :string)
+(merge-rule "\v E" "" :string)
+(merge-rule "\v L" "" :string)
+(merge-rule "\v N" "" :string)
+(merge-rule "\v R" "" :string)
+(merge-rule "\v S" "" :string)
+(merge-rule "\v T" "" :string)
+(merge-rule "\v Z" "" :string)
+(merge-rule "\v c" "" :string)
+(merge-rule "\v d" "" :string)
+(merge-rule "\v e" "" :string)
+(merge-rule "\v l" "" :string)
+(merge-rule "\v n" "" :string)
+(merge-rule "\v r" "" :string)
+(merge-rule "\v s" "" :string)
+(merge-rule "\v t" "" :string)
+(merge-rule "\v z" "" :string)
+(merge-rule "\v {}" "" :string)
+(merge-rule "\~"A" "" :string)
+(merge-rule "\~"E" "" :string)
+(merge-rule "\~"I" "" :string)
+(merge-rule "\~"O" "" :string)
+(merge-rule "\~"U" "" :string)
+(merge-rule "\~"a" "" :string)
+(merge-rule "\~"e" "" :string)
+(merge-rule "\~"o" "" :string)
+(merge-rule "\~"u" "" :string)
+(merge-rule "\~"y" "" :string)
+(merge-rule "\~"{}" "" :string)
+(merge-rule "\~~A" "" :string)
+(merge-rule "\~~N" "" :string)
+(merge-rule "\~~O" "" :string)
+(merge-rule "\~~a" "" :string)
+(merge-rule "\~~n" "" :string)
+(merge-rule "\~~o" "" :string)
+(merge-rule "{^1}" "" :string)
+(merge-rule "{^2}" "" :string)
+(merge-rule "{^3}" "" :string)
diff --git a/Master/texmf/xindy/tex/inputenc/latin1.xdy b/Master/texmf/xindy/tex/inputenc/latin1.xdy
new file mode 100644
index 00000000000..231e6af8130
--- /dev/null
+++ b/Master/texmf/xindy/tex/inputenc/latin1.xdy
@@ -0,0 +1,101 @@
+;; this file was generated by make-inp-rules.pl
+;; these rules map inputenc generated macros (back) to 8-bit characters
+
+(merge-rule "\IeC {\nobreakspace }" "" :string)
+(merge-rule "\IeC {\textexclamdown }" "" :string)
+(merge-rule "\IeC {\textcent }" "" :string)
+(merge-rule "\IeC {\pounds }" "" :string)
+(merge-rule "\IeC {\textcurrency }" "" :string)
+(merge-rule "\IeC {\textyen }" "" :string)
+(merge-rule "\IeC {\textbrokenbar }" "" :string)
+(merge-rule "\IeC {\S }" "" :string)
+(merge-rule "\~"{}" "" :string)
+(merge-rule "\IeC {\copyright }" "" :string)
+(merge-rule "\IeC {\textordfeminine }" "" :string)
+(merge-rule "\IeC {\guillemotleft }" "" :string)
+(merge-rule "\lnot " "" :string)
+(merge-rule "\discretionary {-}{}{}" "" :string)
+(merge-rule "\IeC {\textregistered }" "" :string)
+(merge-rule "\={}" "" :string)
+(merge-rule "\IeC {\textdegree }" "" :string)
+(merge-rule "\pm " "" :string)
+(merge-rule "{^2}" "" :string)
+(merge-rule "{^3}" "" :string)
+(merge-rule "\'{}" "" :string)
+(merge-rule "\mu " "" :string)
+(merge-rule "\IeC {\P }" "" :string)
+(merge-rule "\IeC {\textperiodcentered }" "" :string)
+(merge-rule "\IeC {\c \ }" "" :string)
+(merge-rule "{^1}" "" :string)
+(merge-rule "\IeC {\textordmasculine }" "" :string)
+(merge-rule "\IeC {\guillemotright }" "" :string)
+(merge-rule "\IeC {\textonequarter }" "" :string)
+(merge-rule "\IeC {\textonehalf }" "" :string)
+(merge-rule "\IeC {\textthreequarters }" "" :string)
+(merge-rule "\IeC {\textquestiondown }" "" :string)
+(merge-rule "\`A" "" :string)
+(merge-rule "\'A" "" :string)
+(merge-rule "\^A" "" :string)
+(merge-rule "\~~A" "" :string)
+(merge-rule "\~"A" "" :string)
+(merge-rule "\r A" "" :string)
+(merge-rule "\IeC {\AE }" "" :string)
+(merge-rule "\c C" "" :string)
+(merge-rule "\`E" "" :string)
+(merge-rule "\'E" "" :string)
+(merge-rule "\^E" "" :string)
+(merge-rule "\~"E" "" :string)
+(merge-rule "\`I" "" :string)
+(merge-rule "\'I" "" :string)
+(merge-rule "\^I" "" :string)
+(merge-rule "\~"I" "" :string)
+(merge-rule "\IeC {\DH }" "" :string)
+(merge-rule "\~~N" "" :string)
+(merge-rule "\`O" "" :string)
+(merge-rule "\'O" "" :string)
+(merge-rule "\^O" "" :string)
+(merge-rule "\~~O" "" :string)
+(merge-rule "\~"O" "" :string)
+(merge-rule "\times " "" :string)
+(merge-rule "\IeC {\O }" "" :string)
+(merge-rule "\`U" "" :string)
+(merge-rule "\'U" "" :string)
+(merge-rule "\^U" "" :string)
+(merge-rule "\~"U" "" :string)
+(merge-rule "\'Y" "" :string)
+(merge-rule "\IeC {\TH }" "" :string)
+(merge-rule "\IeC {\ss }" "" :string)
+(merge-rule "\`a" "" :string)
+(merge-rule "\'a" "" :string)
+(merge-rule "\^a" "" :string)
+(merge-rule "\~~a" "" :string)
+(merge-rule "\~"a" "" :string)
+(merge-rule "\r a" "" :string)
+(merge-rule "\IeC {\ae }" "" :string)
+(merge-rule "\c c" "" :string)
+(merge-rule "\`e" "" :string)
+(merge-rule "\'e" "" :string)
+(merge-rule "\^e" "" :string)
+(merge-rule "\~"e" "" :string)
+(merge-rule "\IeC {\`\i }" "" :string)
+(merge-rule "\IeC {\'\i }" "" :string)
+(merge-rule "\IeC {\^\i }" "" :string)
+(merge-rule "\IeC {\~"\i }" "" :string)
+(merge-rule "\IeC {\dh }" "" :string)
+(merge-rule "\~~n" "" :string)
+(merge-rule "\`o" "" :string)
+(merge-rule "\'o" "" :string)
+(merge-rule "\^o" "" :string)
+(merge-rule "\~~o" "" :string)
+(merge-rule "\~"o" "" :string)
+(merge-rule "\div " "" :string)
+(merge-rule "\IeC {\o }" "" :string)
+(merge-rule "\`u" "" :string)
+(merge-rule "\'u" "" :string)
+(merge-rule "\^u" "" :string)
+(merge-rule "\~"u" "" :string)
+(merge-rule "\'y" "" :string)
+(merge-rule "\IeC {\th }" "" :string)
+(merge-rule "\~"y" "" :string)
+
+;; end of style file.
diff --git a/Master/texmf/xindy/tex/inputenc/latin2.xdy b/Master/texmf/xindy/tex/inputenc/latin2.xdy
new file mode 100644
index 00000000000..f6f99f02858
--- /dev/null
+++ b/Master/texmf/xindy/tex/inputenc/latin2.xdy
@@ -0,0 +1,101 @@
+;; this file was generated by make-inp-rules.pl
+;; these rules map inputenc generated macros (back) to 8-bit characters
+
+(merge-rule "\IeC {\nobreakspace }" "" :string)
+(merge-rule "\k A" "" :string)
+(merge-rule "\u {}" "" :string)
+(merge-rule "\IeC {\L }" "" :string)
+(merge-rule "\IeC {\textcurrency }" "" :string)
+(merge-rule "\v L" "" :string)
+(merge-rule "\'S" "" :string)
+(merge-rule "\IeC {\S }" "" :string)
+(merge-rule "\~"{}" "" :string)
+(merge-rule "\v S" "" :string)
+(merge-rule "\c S" "" :string)
+(merge-rule "\v T" "" :string)
+(merge-rule "\'Z" "" :string)
+(merge-rule "\discretionary {-}{}{}" "" :string)
+(merge-rule "\v Z" "" :string)
+(merge-rule "\.Z" "" :string)
+(merge-rule "\IeC {\textdegree }" "" :string)
+(merge-rule "\k a" "" :string)
+(merge-rule "\IeC {\k \ }" "" :string)
+(merge-rule "\IeC {\l }" "" :string)
+(merge-rule "\'{}" "" :string)
+(merge-rule "\v l" "" :string)
+(merge-rule "\'s" "" :string)
+(merge-rule "\v {}" "" :string)
+(merge-rule "\IeC {\c \ }" "" :string)
+(merge-rule "\v s" "" :string)
+(merge-rule "\c s" "" :string)
+(merge-rule "\v t" "" :string)
+(merge-rule "\'z" "" :string)
+(merge-rule "\H {}" "" :string)
+(merge-rule "\v z" "" :string)
+(merge-rule "\.z" "" :string)
+(merge-rule "\'R" "" :string)
+(merge-rule "\'A" "" :string)
+(merge-rule "\^A" "" :string)
+(merge-rule "\u A" "" :string)
+(merge-rule "\~"A" "" :string)
+(merge-rule "\'L" "" :string)
+(merge-rule "\'C" "" :string)
+(merge-rule "\c C" "" :string)
+(merge-rule "\v C" "" :string)
+(merge-rule "\'E" "" :string)
+(merge-rule "\k E" "" :string)
+(merge-rule "\~"E" "" :string)
+(merge-rule "\v E" "" :string)
+(merge-rule "\'I" "" :string)
+(merge-rule "\^I" "" :string)
+(merge-rule "\v D" "" :string)
+(merge-rule "\IeC {\DJ }" "" :string)
+(merge-rule "\'N" "" :string)
+(merge-rule "\v N" "" :string)
+(merge-rule "\'O" "" :string)
+(merge-rule "\^O" "" :string)
+(merge-rule "\H O" "" :string)
+(merge-rule "\~"O" "" :string)
+(merge-rule "\times " "" :string)
+(merge-rule "\v R" "" :string)
+(merge-rule "\r U" "" :string)
+(merge-rule "\'U" "" :string)
+(merge-rule "\H U" "" :string)
+(merge-rule "\~"U" "" :string)
+(merge-rule "\'Y" "" :string)
+(merge-rule "\c T" "" :string)
+(merge-rule "\IeC {\ss }" "" :string)
+(merge-rule "\'r" "" :string)
+(merge-rule "\'a" "" :string)
+(merge-rule "\^a" "" :string)
+(merge-rule "\u a" "" :string)
+(merge-rule "\~"a" "" :string)
+(merge-rule "\'l" "" :string)
+(merge-rule "\'c" "" :string)
+(merge-rule "\c c" "" :string)
+(merge-rule "\v c" "" :string)
+(merge-rule "\'e" "" :string)
+(merge-rule "\k e" "" :string)
+(merge-rule "\~"e" "" :string)
+(merge-rule "\v e" "" :string)
+(merge-rule "\IeC {\'\i }" "" :string)
+(merge-rule "\IeC {\^\i }" "" :string)
+(merge-rule "\v d" "" :string)
+(merge-rule "\IeC {\dj }" "" :string)
+(merge-rule "\'n" "" :string)
+(merge-rule "\v n" "" :string)
+(merge-rule "\'o" "" :string)
+(merge-rule "\^o" "" :string)
+(merge-rule "\H o" "" :string)
+(merge-rule "\~"o" "" :string)
+(merge-rule "\div " "" :string)
+(merge-rule "\v r" "" :string)
+(merge-rule "\r u" "" :string)
+(merge-rule "\'u" "" :string)
+(merge-rule "\H u" "" :string)
+(merge-rule "\~"u" "" :string)
+(merge-rule "\'y" "" :string)
+(merge-rule "\c t" "" :string)
+(merge-rule "\.{}" "" :string)
+
+;; end of style file.
diff --git a/Master/texmf/xindy/tex/inputenc/latin3.xdy b/Master/texmf/xindy/tex/inputenc/latin3.xdy
new file mode 100644
index 00000000000..b47e1170eca
--- /dev/null
+++ b/Master/texmf/xindy/tex/inputenc/latin3.xdy
@@ -0,0 +1,94 @@
+;; this file was generated by make-inp-rules.pl
+;; these rules map inputenc generated macros (back) to 8-bit characters
+
+(merge-rule "\IeC {\nobreakspace }" "" :string)
+(merge-rule "\IeC {\textmalteseH }" "" :string)
+(merge-rule "\u {}" "" :string)
+(merge-rule "\IeC {\pounds }" "" :string)
+(merge-rule "\IeC {\textcurrency }" "" :string)
+(merge-rule "\^H" "" :string)
+(merge-rule "\IeC {\S }" "" :string)
+(merge-rule "\~"{}" "" :string)
+(merge-rule "\.I" "" :string)
+(merge-rule "\c S" "" :string)
+(merge-rule "\u G" "" :string)
+(merge-rule "\^J" "" :string)
+(merge-rule "\discretionary {-}{}{}" "" :string)
+(merge-rule "\.Z" "" :string)
+(merge-rule "\IeC {\textdegree }" "" :string)
+(merge-rule "\IeC {\textmalteseh }" "" :string)
+(merge-rule "{^2}" "" :string)
+(merge-rule "{^3}" "" :string)
+(merge-rule "\'{}" "" :string)
+(merge-rule "\mu " "" :string)
+(merge-rule "\^h" "" :string)
+(merge-rule "\IeC {\textperiodcentered }" "" :string)
+(merge-rule "\IeC {\c \ }" "" :string)
+(merge-rule "\IeC {\i }" "" :string)
+(merge-rule "\c s" "" :string)
+(merge-rule "\u g" "" :string)
+(merge-rule "\IeC {\^\j }" "" :string)
+(merge-rule "\IeC {\textonehalf }" "" :string)
+(merge-rule "\.z" "" :string)
+(merge-rule "\`A" "" :string)
+(merge-rule "\'A" "" :string)
+(merge-rule "\^A" "" :string)
+(merge-rule "\~"A" "" :string)
+(merge-rule "\.C" "" :string)
+(merge-rule "\^C" "" :string)
+(merge-rule "\c C" "" :string)
+(merge-rule "\`E" "" :string)
+(merge-rule "\'E" "" :string)
+(merge-rule "\^E" "" :string)
+(merge-rule "\~"E" "" :string)
+(merge-rule "\`I" "" :string)
+(merge-rule "\'I" "" :string)
+(merge-rule "\^I" "" :string)
+(merge-rule "\~"I" "" :string)
+(merge-rule "\~~N" "" :string)
+(merge-rule "\`O" "" :string)
+(merge-rule "\'O" "" :string)
+(merge-rule "\^O" "" :string)
+(merge-rule "\.G" "" :string)
+(merge-rule "\~"O" "" :string)
+(merge-rule "\times " "" :string)
+(merge-rule "\^G" "" :string)
+(merge-rule "\`U" "" :string)
+(merge-rule "\'U" "" :string)
+(merge-rule "\^U" "" :string)
+(merge-rule "\~"U" "" :string)
+(merge-rule "\u U" "" :string)
+(merge-rule "\^S" "" :string)
+(merge-rule "\IeC {\ss }" "" :string)
+(merge-rule "\`a" "" :string)
+(merge-rule "\'a" "" :string)
+(merge-rule "\^a" "" :string)
+(merge-rule "\~"a" "" :string)
+(merge-rule "\.c" "" :string)
+(merge-rule "\^c" "" :string)
+(merge-rule "\c c" "" :string)
+(merge-rule "\`e" "" :string)
+(merge-rule "\'e" "" :string)
+(merge-rule "\^e" "" :string)
+(merge-rule "\~"e" "" :string)
+(merge-rule "\IeC {\`\i }" "" :string)
+(merge-rule "\IeC {\'\i }" "" :string)
+(merge-rule "\IeC {\^\i }" "" :string)
+(merge-rule "\IeC {\~"\i }" "" :string)
+(merge-rule "\~~n" "" :string)
+(merge-rule "\`o" "" :string)
+(merge-rule "\'o" "" :string)
+(merge-rule "\^o" "" :string)
+(merge-rule "\.g" "" :string)
+(merge-rule "\~"o" "" :string)
+(merge-rule "\div " "" :string)
+(merge-rule "\^g" "" :string)
+(merge-rule "\`u" "" :string)
+(merge-rule "\'u" "" :string)
+(merge-rule "\^u" "" :string)
+(merge-rule "\~"u" "" :string)
+(merge-rule "\u u" "" :string)
+(merge-rule "\^s" "" :string)
+(merge-rule "\.{}" "" :string)
+
+;; end of style file.