summaryrefslogtreecommitdiff
path: root/Master/texmf/xindy/lang/russian
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf/xindy/lang/russian')
-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
15 files changed, 2271 insertions, 0 deletions
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)
+ ))
+