summaryrefslogtreecommitdiff
path: root/Master/texmf/xindy
diff options
context:
space:
mode:
authorVladimir Volovich <vvv@vsu.ru>2008-03-29 11:09:22 +0000
committerVladimir Volovich <vvv@vsu.ru>2008-03-29 11:09:22 +0000
commit87a036ae56c8287d86c50a5108b5b6687386591a (patch)
tree0d2cb7645f6ce13b469526228f11d36f8851858e /Master/texmf/xindy
parent5dded03c5c99953459813b3cbc8d03ae87342a4c (diff)
ienabled generation of more make-rule files, from Thomas Henlich
git-svn-id: svn://tug.org/texlive/trunk@7219 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf/xindy')
-rw-r--r--Master/texmf/xindy/lang/greek/translit-tex-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/greek/translit-tex-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/greek/translit-tex.xdy230
-rw-r--r--Master/texmf/xindy/lang/russian/translit-iso-tex-lang.xdy10
-rw-r--r--Master/texmf/xindy/lang/russian/translit-iso-tex-test.xdy92
-rw-r--r--Master/texmf/xindy/lang/russian/translit-iso-tex.xdy307
6 files changed, 741 insertions, 0 deletions
diff --git a/Master/texmf/xindy/lang/greek/translit-tex-lang.xdy b/Master/texmf/xindy/lang/greek/translit-tex-lang.xdy
new file mode 100644
index 00000000000..9d05d2bbb4c
--- /dev/null
+++ b/Master/texmf/xindy/lang/greek/translit-tex-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/greek/translit-tex.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-tex-test.xdy b/Master/texmf/xindy/lang/greek/translit-tex-test.xdy
new file mode 100644
index 00000000000..802e1435607
--- /dev/null
+++ b/Master/texmf/xindy/lang/greek/translit-tex-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/greek/translit-tex.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-tex.xdy b/Master/texmf/xindy/lang/greek/translit-tex.xdy
new file mode 100644
index 00000000000..0f0918532d8
--- /dev/null
+++ b/Master/texmf/xindy/lang/greek/translit-tex.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 (("\=E" "" :string)
+ ("\=e" "" :string)
+ ("\=o" "" :string)
+ ("\=O" "" :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 (("\=E" "" :string)
+ ("\=o" "" :string)
+ ("\=e" "" :string)
+ ("\=O" "" :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 (("\=E" "8" :string)
+ ("\=O" "8" :string)
+ ("\=o" "9" :string)
+ ("\=e" "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 (("\=E" "" :string)
+ ("\=o" "" :string)
+ ("\=e" "" :string)
+ ("\=O" "" :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/russian/translit-iso-tex-lang.xdy b/Master/texmf/xindy/lang/russian/translit-iso-tex-lang.xdy
new file mode 100644
index 00000000000..edae974cb94
--- /dev/null
+++ b/Master/texmf/xindy/lang/russian/translit-iso-tex-lang.xdy
@@ -0,0 +1,10 @@
+(require "lang/russian/translit-iso-tex.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-tex-test.xdy b/Master/texmf/xindy/lang/russian/translit-iso-tex-test.xdy
new file mode 100644
index 00000000000..d2723cbc884
--- /dev/null
+++ b/Master/texmf/xindy/lang/russian/translit-iso-tex-test.xdy
@@ -0,0 +1,92 @@
+(require "lang/russian/translit-iso-tex.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-tex.xdy b/Master/texmf/xindy/lang/russian/translit-iso-tex.xdy
new file mode 100644
index 00000000000..6e164b51d72
--- /dev/null
+++ b/Master/texmf/xindy/lang/russian/translit-iso-tex.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 (("\v c" "" :string)
+ ("\v C" "" :string)
+ ("\v S" "" :string)
+ ("\v s" "" :string)
+ ("\v Z" "" :string)
+ ("\v z" "" :string)
+ ("\^a" "" :string)
+ ("\^A" "" :string)
+ ("\`e" "" :string)
+ ("\~"E" "" :string)
+ ("\`E" "" :string)
+ ("\~"e" "" :string)
+ ("\^s" "" :string)
+ ("\^S" "" :string)
+ ("\^U" "" :string)
+ ("\^u" "" :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 (("\v Z" "" :string)
+ ("\v c" "" :string)
+ ("\v S" "" :string)
+ ("\v z" "" :string)
+ ("\v C" "" :string)
+ ("\v s" "" :string)
+ ("\^U" "" :string)
+ ("\`e" "" :string)
+ ("\^a" "" :string)
+ ("\`E" "" :string)
+ ("\^u" "" :string)
+ ("\^A" "" :string)
+ ("\^s" "" :string)
+ ("\^S" "" :string)
+ ("\~"E" "" :string)
+ ("\~"e" "" :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 (("\v Z" "8" :string)
+ ("\v S" "8" :string)
+ ("\v C" "8" :string)
+ ("\v c" "9" :string)
+ ("\v z" "9" :string)
+ ("\v s" "9" :string)
+ ("\^U" "8" :string)
+ ("\^S" "8" :string)
+ ("\~"E" "8" :string)
+ ("\`E" "8" :string)
+ ("\^A" "8" :string)
+ ("\^s" "9" :string)
+ ("\`e" "9" :string)
+ ("\^a" "9" :string)
+ ("\^u" "9" :string)
+ ("\~"e" "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 (("\v c" "" :string)
+ ("\v S" "" :string)
+ ("\v z" "" :string)
+ ("\v C" "" :string)
+ ("\v Z" "" :string)
+ ("\v s" "" :string)
+ ("\^U" "" :string)
+ ("\`e" "" :string)
+ ("\^S" "" :string)
+ ("\`E" "" :string)
+ ("\^A" "" :string)
+ ("\^s" "" :string)
+ ("\^a" "" :string)
+ ("\~"E" "" :string)
+ ("\^u" "" :string)
+ ("\~"e" "" :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)
+ ))
+