From c2a396c776bf4dbc6c92e47808ab553ad262ec48 Mon Sep 17 00:00:00 2001 From: jfbu Date: Tue, 17 Jul 2018 23:54:53 +0200 Subject: [PATCH] LaTeX: for Cyrillic and with xindy, get Latin letter groups too Refs: #5134 --- sphinx/texinputs/Makefile_t | 3 ++ sphinx/texinputs/sphinx-basiclatin.xdy | 42 ++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 sphinx/texinputs/sphinx-basiclatin.xdy diff --git a/sphinx/texinputs/Makefile_t b/sphinx/texinputs/Makefile_t index 1ce4b1324..97054def0 100644 --- a/sphinx/texinputs/Makefile_t +++ b/sphinx/texinputs/Makefile_t @@ -27,6 +27,9 @@ export XINDYOPTS = {{ xindy_lang_option }} -M sphinx.xdy {% if latex_engine == 'pdflatex' and xindy_cyrillic -%} XINDYOPTS += -M cyrLICRutf8.xdy {% endif -%} +{% if xindy_cyrillic -%} +XINDYOPTS += -M sphinx-basiclatin.xdy +{% endif -%} {% if latex_engine == 'xelatex' or latex_engine == 'lualatex' -%} XINDYOPTS += -I xelatex {% endif -%} diff --git a/sphinx/texinputs/sphinx-basiclatin.xdy b/sphinx/texinputs/sphinx-basiclatin.xdy new file mode 100644 index 000000000..f611ac5ca --- /dev/null +++ b/sphinx/texinputs/sphinx-basiclatin.xdy @@ -0,0 +1,42 @@ +;; xindy style file to provide indexing of (ascii) Latin names +;; in an otherwise non-Latin (i.e. Cyrillic) context. +;; TODO: should we support also iso-latin-1 ? +;; Contributed by the Sphinx team, July 2018. + +(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")) + +(define-rule-set "latin-toupper" + + :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) + )) + +(use-rule-set + :run 0 + :rule-set ("latin-toupper"))