texlive[45007] Master/texmf-dist: babel-russian (10aug17)

commits+karl at tug.org commits+karl at tug.org
Thu Aug 10 23:20:48 CEST 2017


Revision: 45007
          http://tug.org/svn/texlive?view=revision&revision=45007
Author:   karl
Date:     2017-08-10 23:20:48 +0200 (Thu, 10 Aug 2017)
Log Message:
-----------
babel-russian (10aug17)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/generic/babel-russian/README
    trunk/Master/texmf-dist/doc/generic/babel-russian/russianb.pdf
    trunk/Master/texmf-dist/source/generic/babel-russian/russianb.dtx
    trunk/Master/texmf-dist/source/generic/babel-russian/russianb.ins
    trunk/Master/texmf-dist/tex/generic/babel-russian/russianb.ldf

Modified: trunk/Master/texmf-dist/doc/generic/babel-russian/README
===================================================================
--- trunk/Master/texmf-dist/doc/generic/babel-russian/README	2017-08-10 21:20:29 UTC (rev 45006)
+++ trunk/Master/texmf-dist/doc/generic/babel-russian/README	2017-08-10 21:20:48 UTC (rev 45007)
@@ -1,6 +1,6 @@
 ----------------------------------------------------------------
 
-Russian language module for Babel, v1.3i
+Russian language module for Babel, v1.3j
 
 Released under the LaTeX Project Public License v1.3c or later.
 See http://www.latex-project.org/lppl.txt
@@ -107,6 +107,12 @@
 
 5. CHANGES
 
+2017-08-08 version 1.3j
+
+    * TU encoding is set as default for X∃TeX and LuaTeX.
+
+    * \cyrdash now always prints dash 20% shorter than emdash.
+
 2017-01-12 version 1.3i
 
     * Bug fixed in \NOD, \NOK and similar log-functions (thanks to V. Vlasov).
@@ -174,3 +180,90 @@
     2008/03/21 v1.1r Russian support from the babel system.
 
 ----------------------------------------------------------------
+
+%%
+%% \CharacterTable
+%%  {Upper-case    \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
+%%   Lower-case    \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
+%%   Digits        \0\1\2\3\4\5\6\7\8\9
+%%   Exclamation   \!     Double quote \"    Hash (number) \#
+%%   Dollar        \$     Percent      \%    Ampersand     \&
+%%   Acute accent  \'     Left paren   \(    Right paren   \)
+%%   Asterisk      \*     Plus         \+    Comma         \,
+%%   Minus         \-     Point        \.    Solidus       \/
+%%   Colon         \:     Semicolon    \;    Less than     \<
+%%   Equals        \=     Greater than \>    Question mark \?
+%%   Commercial at \@     Left bracket \[    Backslash     \\
+%%   Right bracket \]     Circumflex   \^    Underscore    \_
+%%   Grave accent  \`     Left brace   \{    Vertical bar  \|
+%%   Right brace   \}     Tilde        \~}
+%%
+
+%% Nonunicode Cyrillic Letters
+%% \CYRA=А
+%% \CYRB=Б
+%% \CYRV=В
+%% \CYRG=Г
+%% \CYRGUP=Ґ
+%% \CYRD=Д
+%% \CYRE=Е
+%% \CYRIE=Є
+%% \CYRZH=Ж
+%% \CYRZ=З
+%% \CYRI=И
+%% \CYRII=I
+%% \CYRYI=Ї
+%% \CYRISHRT=Й
+%% \CYRK=К
+%% \CYRL=Л
+%% \CYRM=М
+%% \CYRN=Н
+%% \CYRO=О
+%% \CYRP=П
+%% \CYRR=Р
+%% \CYRS=С
+%% \CYRT=Т
+%% \CYRU=У
+%% \CYRF=Ф
+%% \CYRH=Х
+%% \CYRC=Ц
+%% \CYRCH=Ч
+%% \CYRSH=Ш
+%% \CYRSHCH=Щ
+%% \CYRYU=Ю
+%% \CYRYA=Я
+%% \CYRSFTSN=Ь
+%%
+%% \cyra=а
+%% \cyrb=б
+%% \cyrv=в
+%% \cyrg=г
+%% \cyrgup=ґ
+%% \cyrd=д
+%% \cyre=е
+%% \cyrie=є
+%% \cyrzh=ж
+%% \cyrz=з
+%% \cyri=и
+%% \cyrii=i
+%% \cyryi=ї
+%% \cyrishrt=й
+%% \cyrk=к
+%% \cyrl=л
+%% \cyrm=м
+%% \cyrn=н
+%% \cyro=о
+%% \cyrp=п
+%% \cyrr=р
+%% \cyrs=с
+%% \cyrt=т
+%% \cyru=у
+%% \cyrf=ф
+%% \cyrh=х
+%% \cyrc=ц
+%% \cyrch=ч
+%% \cyrsh=ш
+%% \cyrshch=щ
+%% \cyryu=ю
+%% \cyrya=я
+%% \cyrsftsn=ь

Modified: trunk/Master/texmf-dist/doc/generic/babel-russian/russianb.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/generic/babel-russian/russianb.dtx
===================================================================
--- trunk/Master/texmf-dist/source/generic/babel-russian/russianb.dtx	2017-08-10 21:20:29 UTC (rev 45006)
+++ trunk/Master/texmf-dist/source/generic/babel-russian/russianb.dtx	2017-08-10 21:20:48 UTC (rev 45007)
@@ -7,7 +7,7 @@
 %<*readme>
 ----------------------------------------------------------------
 
-Russian language module for Babel, v1.3i
+Russian language module for Babel, v1.3j
 
 Released under the LaTeX Project Public License v1.3c or later.
 See http://www.latex-project.org/lppl.txt
@@ -119,6 +119,13 @@
 
 5. CHANGES
 
+2017-08-08 version 1.3j
+
+    * TU encoding is set as default for X∃TeX and LuaTeX.
+
+    * \cyrdash now always prints dash 20% shorter than emdash.
+
+
 2017-01-12 version 1.3i
 
     * Bug fixed in \NOD, \NOK and similar log-functions (thanks to V. Vlasov).
@@ -255,8 +262,7 @@
 %</internal>
 %<*code>
 \NeedsTeXFormat{LaTeX2e}
-%\ProvidesFile{russianb.ldf}[2017/01/12 1.3i Russian support for the Babel system]
-\ProvidesLanguage{russianb}[2017/01/12 1.3i Russian support for the Babel system]
+%\ProvidesFile{russianb.ldf}[2017/08/08 1.3j Russian support for the Babel system]
 %</code>
 %<*driver>
 \documentclass[a4paper]{ltxdoc}
@@ -347,6 +353,7 @@
      ,\cyr,\cyrillictext,\textcyrillic,\cyrillicencoding
      ,\addto,\captionsrussian,\daterussian,\noextrasrussian,\extrasrussian
      ,\languageattribute
+     ,\glqq,\grqq,\guillemotleft,\guillemotright
      ,\Asbuk,\asbuk,\ch,\sh,\tg,\ctg,\arctg,\arcctg\,\th,\cth,\cosec
      ,\nod3,\nok,\prog,\NOF\,\NOK,\Prog
      ,\dq,\Proj,\nod,\NOD,\nok,\NOK,\Prob,\Variance
@@ -402,17 +409,21 @@
 %</driver>
 % \fi
 %
+% \DoNotIndex{\cyra,\cyrb,\cyrv,\cyrg,\cyrd,\cyre}
+% \DoNotIndex{\CYRP,\cyrii,\cyrr,\cyre,\cyro,\CYRU,\cyrk,\cyrl,\CYRS,\cyrs|}
+% \DoNotIndex{\cyrt,\cyri,\cyrz,\CYRT,\cyrm}
+% \DoNotIndex{\cyr,\cyrc,\CYRD,\cyrery,\cyrh,\CYRK,\CYRM,\CYRN,\cyrn}
+% \DoNotIndex{\cyrp,\cyrs,\cyrshch,\cyru,\CYRV,\cyrya}
+% \DoNotIndex{\CYRA,\CYRB,\cyrch,\CYRE,\CYREREV,\CYRF,\cyrf,\CYRI,\cyrishrt}
+% \DoNotIndex{\CYRO,\CYRR,\cyrsftsn,\CYRYA,\cyryu,\cyrzh}
+% \DoNotIndex{\CYRCH, \CYRG, \CYRL, \CYRZH}
+% \DoNotIndex{\z at skip,\z@}
+% \DoNotIndex{\|,\~,\ ,\,}
+%
+
 %\GetFileInfo{russianb.dtx}
 %\GetFileInfo{russianb.ldf}
 %
-%\title{^^A
-%  \textsf{Russian} --- description text\thanks{^^A
-%    This file describes version \fileversion, last revised \filedate.^^A
-%  }^^A
-%}
-%\author{^^A
-%  You\thanks{E-mail: you at your.domain}^^A
-%}
 % \title{The Russian Language\\
 %  in the \babel\ system\\[0.5em]
 %  \large Version \fileversion}
@@ -461,11 +472,11 @@
 % (\file{.tex}) file. Output encoding is also known as the font encoding. It is
 % implemented within the font files.
 %
-% Generally, the user may choose between different available Cyrillic
+% Generally, the user may choose between different Cyrillic
 % encodings. The current support for Cyrillic uses LH family of MetaFont fonts
 % and theirs Postscript versions such as CM-super. Lua\LaTeX\ and Xe\LaTeX,
 % being the Unicode-based succeeders of \LaTeX, allow also for any Open Type
-% (OTF) and True Type (TTF) fonts which has Cyrillic script, e.g. Computer
+% (OTF) and True Type (TTF) fonts which have Cyrillic script, e.g. Computer
 % Modern Unicode, Linux Libertine, and many other system fonts that came with
 % Linux, Mac and Windows operating systems.
 %
@@ -505,7 +516,7 @@
 % Output encodings (also known as font encodings) are declared as options to
 % the \pkg{fontenc} package. Known Cyrillic encodings are \texttt{T2A},
 % \texttt{T2B}, \texttt{T2C}, \texttt{LCY},  and \texttt{X2};
-% \texttt{LWN} is excluded from Russian support stating version 1.2 of
+% \texttt{LWN} is excluded from Russian support starting version 1.2 of
 % \file{\filename} since \texttt{LWN} is excluded from the \pkg{cyrillic}
 % bundle of related files.
 %
@@ -524,17 +535,17 @@
 %\usepackage[english,russian]{babel}
 %\end{verbatim}
 % The order of the packages is crucial for Lua\LaTeX\ in 8-bit mode. Since both
-% \pkg{luainputenc} and \pkg{babel} should know what is a selected font encoding,
-% the \pkg{fontenc} package should be loaded first. Input encoding management for
-% Lua\TeX\ is needed only for compatibility with old documents. For new
-% documents, using UTF-8 encoding and Unicode fonts is strongly recommended.
-% \emph{You've been warned!} See
+% \pkg{luainputenc} and \pkg{babel} should know what font encoding is selected,
+% the \pkg{fontenc} package should be loaded first. Legacy input encoding
+% management for Lua\TeX\ is needed only for compatibility with old documents.
+% For new documents, using UTF-8 encoding and Unicode fonts is strongly
+% recommended. \emph{You've been warned!} See
 % \href{http://tex.stackexchange.com/questions/31709/can-one-instruct-lualatex-to-use-t2a-encoded-fonts}%
 % {tex.stackexchange.com/questions/31709/can-one-instruct-lualatex-to-use-t2a-encoded-fonts}.
 %
 %
 % To invoke Unicode mode, one needs to load the \pkg{fontspec} package instead
-% of \pkg{luainputenc} and \pkg{fontspec} and explicitly indicate which True Type
+% of \pkg{luainputenc} and \pkg{fontenc} and explicitly indicate which True Type
 % or Open Type fonts should be used for romanic, sans-serif and monospaced types.
 % The following example shows how to load Computer Modern Unicode (CMU) fonts,
 % which is a part of all modern \LaTeX\ distributions:
@@ -557,8 +568,7 @@
 %    \setmonofont{CMU Typewriter Text}
 % \usepackage[english,russian]{babel}
 %\end{verbatim}
-% Here |Renderer=Basic,Ligatures={TeX}| activates ligatures which are existed
-% in \LaTeX.
+% Here |Renderer=Basic,Ligatures={TeX}| activates ligatures available in \LaTeX.
 %
 % Recall that the language enlisted last in the list of options of the \pkg{babel}
 % package is assumed to be the main language of the document, which is also active
@@ -576,7 +586,7 @@
 %
 % In Xe\LaTeX, there is also a special mode for 8-bit compatibility.
 % One can use |\XeTeXinputencoding| to change the input encoding
-% temporarily, and the \texttt{"bytes"} encoding makes Xe\LaTeX\ works
+% temporarily, and the \texttt{"bytes"} encoding makes Xe\LaTeX\ to work
 % like a 8-bit \LaTeX\ engine:
 % \begin{verbatim}
 % \XeTeXinputencoding "bytes"
@@ -587,7 +597,7 @@
 % \unskip
 % Xe\TeX\ can use a different input encoding but it always uses the Unicode
 % internally, so that |\XeTeXinputencoding| performs a conversion of the input
-% into Unicode;
+% stream into Unicode;
 % see \href{http://tex.stackexchange.com/questions/36188/do-xetex-and-luatex-always-use-unicode}
 % {tex.stackexchange.com/questions/36188/do-xetex-and-luatex-always-use-unicode}.
 %
@@ -652,8 +662,7 @@
 % \begin{enumerate}
 % \item Russian hyphenation patterns are made active;
 % \item |\today| prints the date in Russian;
-% \item the caption names are translated into Russian
-%      (\LaTeX{} only);
+% \item the caption names are translated into Russian;
 % \item emdash typed by the ligature |---| might be 20\% shorter when Russian
 % is the current language; the result depends on the current encoding; |---|
 % always produce long emdash in Lua\TeX\ and Xe\TeX\ since these engines
@@ -761,13 +770,12 @@
 %
 % The French quotes are also available as ligatures `|<<|' and `|>>|' in
 % 8-bit Cyrillic font encodings (\texttt{LCY}, \texttt{X2}, \texttt{T2*})
-% and in Unicode encodings (\texttt{EU1} and \texttt{EU2})
-% and as `|<|' and `|>|' characters in 7-bit Cyrillic font encodings
-% (\texttt{OT2} and \texttt{LWN}).
+% and in Unicode encoding (\texttt{TU}) as `|<|' and `|>|' characters in 7-bit
+% Cyrillic font encodings (\texttt{OT2} and \texttt{LWN}).
 %
-% In Unicode encodings \texttt{EU1} and \texttt{EU2} cyrdashes and quotes
-% can be typed as single character if text editor makes it possible to
-% insert characters which absent of standard keyboard. This method works
+% In Unicode encoding \texttt{TU} cyrdashes and quotes
+% can be typed as single character if your text editor allows
+% inserting characters which absent of standard keyboard. This method works
 % as well for 8-bit fonts encoded according to \texttt{T2A} if source file
 % is encoded with \texttt{cp1251} or {utf8}.
 %
@@ -841,7 +849,7 @@
 %\end{verbatim}
 %
 %    None of Cyrillic font encoding has `iotated E' (Ѥ, ѥ). When running legacy
-%    engines you are advices to substitute it with |\CYRIE|, |\cyrie| (Є, є):
+%    engines you are advised to substitute it with |\CYRIE|, |\cyrie| (Є, є):
 %
 %\begin{verbatim}
 %\DeclareUnicodeCharacter{0464}{\CYRIE}
@@ -848,135 +856,29 @@
 %\DeclareUnicodeCharacter{0465}{\cyrie}
 %\end{verbatim}
 %
-%    \cs{cyrdash} might produce dashes of different width in same document after
-%    switching to/from Russian language if the document is compiled with legacy
-%    engines.
+%    The dash might change its length after switching the current language
+%    with |\selectlanguage|. Legacy engines (\texttt{latex.exe},
+%    \texttt{pdflatex.exe}) take the dash symbol (---) from same code
+%    point 22 of a font file but from different fonts for Cyrillic and Latin
+%    languages. Cyrillic fonts take care that Cyrillic dash is 20\% shorter than
+%    Latin one. Unicode engines (\texttt{xelatex.exe}, \texttt{lualatex.exe})
+%    take the dash from the code point x2022, but may substitute the font dash
+%    with fake symbol which is shorter. See discussion at
+%    \href{https://tex.stackexchange.com/questions/294178/what-about-cyrdash-in-eu1-and-eu2-encodings}
+%    {https://tex.stackexchange.com/questions/294178/what-about-cyrdash-in-eu1-and-eu2-encodings}.
 %
-% \section{History}
 %
-% \subsection*{Changes in version 1.3i}
-% \begin{itemize}
-% \item
-% Bug fixed in |\NOD|, |\NOK| and similar log-functions (thanks to Vladimir Vlasov).
-% \end{itemize}
+% \StopEventually{
+%   \IndexPrologue{\section{Index}
+%       Numbers written in dark blue refer to the page where the corresponding
+%       entry is described; numbers in black roman refer to the code lines where
+%       the entry is used.
+%   }
+%   \GlossaryPrologue{\section{Change History}}
+%   \PrintChanges
+%   \PrintIndex
+% }
 %
-% \subsection*{Changes in version 1.3h}
-% \begin{itemize}
-% \item
-% \cs{cyrdash} is now faked via \cs{ProvideTextCommandDefault} rather than
-% \cs{def}.
-% \item
-% Bugs fixed in captions for \cls{revtex4.cls} and \cls{revtex4-1.cls}.
-% \end{itemize}
-%
-% \subsection*{Changes in version 1.3g}
-% \begin{itemize}
-% \item
-% Added support for \cls{revtex4} and \cls{revtex4-1} classes.
-% \end{itemize}
-%
-% \subsection*{Changes in version 1.3f}
-% \begin{itemize}
-% \item
-%  A documentation file russianb.pdf can now be generated by
-%  running \file{pdflatex.exe} over \file{russianb.dtx} although
-%  \file{xelatex.exe} is still recommended.
-% \item
-% \file{russianb.ins} was missed in version 1.3e.
-% \end{itemize}
-%
-% \subsection*{Changes in version 1.3e}
-% \begin{itemize}
-% \item
-%  All stuff is now generated from single \file{dtx} file.
-% \end{itemize}
-%
-% \subsection*{Changes in version 1.3d}
-% \begin{itemize}
-% \item
-%  Bug fix in |\Proj|.
-% \end{itemize}
-%
-% \subsection*{Changes in version 1.3c}
-% \begin{itemize}
-% \item
-%  Bug fix in |\daterussian|.
-% \end{itemize}
-%
-% \subsection*{Changes in version 1.3b}
-% \begin{itemize}
-% \item
-%  Added support for the packages \pkg{listing}, \pkg{nomencl}, and
-%  \pkg{nomentbl}.
-% \end{itemize}
-%
-% \subsection*{Changes in version 1.3a}
-% \begin{itemize}
-% \item
-%  ^^AAdded the Russian language attributes \Lopt{modern} (default) and
-%  ^^A\Lopt{ancient} (for typesetting ancient slavonic books).
-%  Added the Russian language attribute \Lopt{ancient} for typesetting
-%  ancient slavonic books.
-%\end{itemize}
-%
-% \subsection*{Changes in version 1.3}
-% \begin{itemize}
-% \item
-%  Updated for babel 3.9.
-% \item
-%  The |\alph| and |\Alph| commands are not redefined any more by the
-%  \file{russianb.ldf}.
-% \end{itemize}
-%
-% \subsection*{Changes in version 1.2a}
-% \begin{itemize}
-% \item
-%  Indentation of the first paragraph after sectioning command has been removed.
-%  Use \pkg{indentfirst} to make first paragraph indented.
-% \end{itemize}
-%
-% \subsection*{Changes in version 1.2}
-%
-% \begin{itemize}
-% \item
-%  Font encoding \texttt{LWN} is not supported any more.
-% \item
-%  Macros |\Rus|, |\English|, |\Eng| have been removed.
-%  |\Russian| is now alias of |\selectlanguage{russian}|.
-%  Former definition of |\Russian| is preserved in the macros
-%  |\cyrillictext| and |\cyr| which should not be used at user
-%  level.
-% \item
-%  Lua\LaTeX\ and Xe\LaTeX\ are now supported;
-%  |\cyr...| commands are bypassed if Lua\LaTeX\ or Xe\LaTeX\ run.
-%^^A\item
-%^^A  First paragraph after section command is indented over the entire
-%^^A  document if \Lopt{russian} is the last option of \pkg{babel} and,
-%^^A  hence, Russian is the main language.
-% \item
-%  The shorthands |"<| and |">| are redefined; now they match
-%  |\guillemotleft| and |\guillemotright|, respectively, rather than
-%  |\flqq| and |\frqq|.
-% \item
-%  Definitions of |\latinencoding| and  |\latintext| are removed
-%  since these macros are defined in \file{babel.def}.
-% \item
-%  |\cyrmathbf|, |\cyrmathsf|, |\cyrmathit|, and |\cyrmathtt| commands
-%  are removed; they do work in math mode; instead of them it is advised to use corresponding
-%  |\text..| command.
-% \item
-%  The macro |\No| is removed since the Cyrillic number sign is available
-%  on keyboard and can also be typed using the |\textnumero| macro.
-% \item
-%  Added translation for Glossary.
-% \end{itemize}
-%
-%\StopEventually{^^A
-%  \setlength{\postmulticols}{100pt} % 20pt by default
-%  \PrintChanges
-%  \PrintIndex
-%}
-%
 %\iffalse
 %<*code>
 %\fi
@@ -1019,6 +921,8 @@
 % \changes{1.1e}{1996/12/29}{Added closing brace to second
 %    argument of \cs{LdfInit}}
 %    \begin{macrocode}
+\ProvidesLanguage{russian}
+    [2017/08/12 1.3j Russian support for the Babel system]
 \LdfInit{russian}{captionsrussian}
 %    \end{macrocode}
 %
@@ -1070,8 +974,8 @@
 %    \pkg{babel}. In the latter case or if these packages are not loaded at all,
 %    \file{russianb.ldf} ignores their effect and tries to provide some
 %    reasonable settings. In particular, \texttt{T2A} will be selected for
-%    Russian language if \LaTeX\ is running but \texttt{EU1} in case of
-%    Xe\LaTeX\ and \texttt{EU2} in case of Lua\LaTeX.
+%    Russian language if \LaTeX\ is running but \texttt{TU} in case of
+%    Xe\LaTeX\ or Lua\LaTeX.
 %
 %  \begin{macro}{\latinencoding}
 % \changes{1.2}{2011/10/20}{Removed \cs{latinencoding}}
@@ -1100,13 +1004,12 @@
 %    |\latinencoding| will be \texttt{OT1}.
 %
 %    In Unicode mode, the package \pkg{fontspec} should be loaded instead of
-%    \pkg{fontenc} to make font preparation; \pkg{fontspec} loads the package
-%    \pkg{xunicode} which sets current encoding (kept in |\cf at encoding|) to
-%    \texttt{EU1} for Xe\LaTeX\ and \texttt{EU2} for Lua\LaTeX, and the \pkg{babel}
-%    package sets the macro |\latinencoding| to |\cf at encoding|. Since \pkg{babel} scan
-%    for value |\cf at encoding| within |\AtBeginDocument|, |\latinencoding| will
-%    be set to either \texttt{EU1} for Xe\LaTeX\ or \texttt{EU2} for Lua\LaTeX\
-%    no matter which of the packages, \pkg{babel} or \pkg{fontspec} is loaded first.
+%    \pkg{fontenc} to make font preparation; \pkg{fontspec} sets current encoding
+%    (kept in |\cf at encoding|) to \texttt{TU}, and the \pkg{babel} package sets the
+%    macro |\latinencoding| to |\cf at encoding|. Since \pkg{babel} scan for value
+%    |\cf at encoding| within |\AtBeginDocument|, |\latinencoding| will
+%    be set to \texttt{TU} for Xe\LaTeX\ or Lua\LaTeX\ no matter which of the
+%    packages, \pkg{babel} or \pkg{fontspec} is loaded first.
 %
 %  \end{macro}
 %
@@ -1120,8 +1023,9 @@
 %    \texttt{T2A} (default for 8-bit compilers), \texttt{T2B}, \texttt{T2C},
 %    \texttt{LCY} and \texttt{X2}.
 %    Correct utf8 encodings are
-%    \texttt{EU1} (default for Xe\LaTeX),
-%    \texttt{EU2} (default for Lua\LaTeX).
+%    \texttt{TU}  (default for Xe\LaTeX\ and Lua\LaTeX),
+%    \texttt{EU1} (obsolete, formerly used for Xe\LaTeX),
+%    \texttt{EU2} (obsolete, formerly used for Lua\LaTeX).
 %
 %    In 8-bit (\LaTeX) mode, user may choose between different non-unicode Cyrillic
 %    encodings---e.g., \texttt{X2} or \texttt{LCY}.\@ If user wants
@@ -1134,17 +1038,18 @@
 %    every time they want to typeset a Latin word inside a Russian phrase
 %    or vice versa.
 %
-%
 %    We parse the |\cdp at list| containing encodings known to \LaTeX\
-%    in the order they were loaded by the time when \pkg{babel} is loaded.
+%    in the order they have been loaded by the time \pkg{babel} is called.
 %    We set the |\cyrillicencoding| to the \emph{last} loaded encoding in the
 %    list of supported Cyrillic encodings: \texttt{OT2}, \texttt{LCY},
-%    \texttt{X2}, \texttt{T2C}, \texttt{T2B}, \texttt{T2A}. In Unicode mode
-%    we also try the Unicode encodings \texttt{EU1} and \texttt{EU2}; 8-bit
-%    encodings are kept for Unicode compilers (Lua\LaTeX\ and Xe\LaTeX) since
-%    they can run in compatibility (8-bit) mode.
+%    \texttt{X2}, \texttt{T2C}, \texttt{T2B}, \texttt{T2A}. In Unicode mode,
+%    |\cyrillicencoding| is set to \texttt{TU} by \pkg{fontspec}. Nevertheless
+%    here we provide similar definitions; 8-bit encodings are kept for Unicode
+%    compilers (Lua\LaTeX\ and Xe\LaTeX) since they can run in compatibility
+%    (8-bit) mode.
 %
 % \changes{1.2}{2011/10/20}{EU1 and EU2  encodings added}
+% \changes{1.3j}{2017/08/07}{TU encoding added}
 %    \begin{macrocode}
 \def\@setcyrillicencoding{%
   \def\sce at a##1##2{%
@@ -1161,12 +1066,15 @@
     \sce at a{##1}{T2B}%
     \sce at a{##1}{T2A}%
     \if at uni@ode
-      \sce at a{##1}{EU1}%
-      \sce at a{##1}{EU2}%
+      %\sce at a{##1}{EU1}%
+      %\sce at a{##1}{EU2}%
+      \sce at a{##1}{TU}%
     \fi}%
   \cdp at list
 }
-\@setcyrillicencoding
+\ifx\cyrillicencoding\undefined
+  \@setcyrillicencoding
+\fi
 \@onlypreamble\@setcyrillicencoding
 \@onlypreamble\sce at a
 \@onlypreamble\sce at b
@@ -1184,14 +1092,14 @@
 % \changes{1.2}{2011/10/20}{Removed test for present of
 %    encoding files}
 %    \begin{macrocode}
-\ifdefined\cyrillicencoding
-\else
+\ifx\cyrillicencoding\undefined
   \if at uni@ode
-    \ifdefined\XeTeXrevision
-      \edef\cyrillicencoding{EU1}
-    \else\ifdefined\luatexversion
-      \edef\cyrillicencoding{EU2}
-    \fi\fi
+    %\ifdefined\XeTeXrevision
+    %  \edef\cyrillicencoding{EU1}
+    %\else\ifdefined\luatexversion
+    %  \edef\cyrillicencoding{EU2}
+    %\fi\fi
+    \edef\cyrillicencoding{TU}
   \else
     \edef\cyrillicencoding{T2A}
   \fi
@@ -1202,7 +1110,7 @@
     }%
   \lowercase\expandafter{\expandafter\input\cyrillicencoding enc.def\relax}%
 %    \end{macrocode}
-%    As final wisdom, we repeat |\@setcyrillicencoding| at |\begin{document}|
+%    As a final wisdom, we repeat |\@setcyrillicencoding| at |\begin{document}|
 %    time. We could not avoid previous call to |\@setcyrillicencoding| since
 %    compiler scan \file{.aux} file before it executes delayed code, and
 %    \file{.aux} may contain |\set at langauge{russian}|; the latter rises an
@@ -1213,15 +1121,19 @@
 %    \end{macrocode}
 %
 %  \Describe\Russian{}
-%  \DescribeOther\cyr{}
-%  \DescribeOther\cyrillictext{}
 %    For the sake of backward compatibility we keep the macro |\Russian|
 %    but redefine its meaning; now  |\Russian| is simply an alias for
 %    |\selectlanguage{russian}|.
+%    \begin{macrocode}
+\DeclareRobustCommand{\Russian}{\selectlanguage{\russian}}
+%    \end{macrocode}
 %
+%  \Describe\cyrillictext{}
+%  \DescribeOther\cyr{}
 %    We define |\cyrillictext| and its alias |\cyr| but remove another alias
 %    |\Rus|; these macros are intended for use within \texttt{babel} macros and
 %    do not perform complete switch of the language.
+%
 %    In particular, they to do no switch captions and the name of current
 %    language stored in the macro |\languagename|. This inconsistency might
 %    break some assumptions embedded into \pkg{babel}'s.
@@ -1244,7 +1156,6 @@
 %    switch caption names, dates and shorthands.
 %
 %    \begin{macrocode}
-\DeclareRobustCommand{\Russian}{\selectlanguage{\russian}}
 \DeclareRobustCommand{\cyrillictext}{%
   \fontencoding\cyrillicencoding\selectfont
   \let\encodingdefault\cyrillicencoding
@@ -1253,14 +1164,12 @@
 \let\cyr\cyrillictext
 %    \end{macrocode}
 %
-%    Starting from version v.1.2 we remove the |\English| macro and its
-%    aliases. We believe that reasonable place for defining these macros
-%    would be \file{englishb.ldf}.
-%    Note also that the macro |\English| and its  alias |\Eng| are absent
-%    in \file{russianb.ldf}'s counterpart in the package \pkg{polyglossia},
-%    analog of \pkg{babel} for Xe\LaTeX.
+%    Since version v.1.2, the |\English| macro and its alias |\Eng| were removed
+%    as a reasonable place for defining these macros would be \file{englishb.ldf}.
+%    Note also that these macros are absent from \file{russianb.ldf}'s counterpart
+%    of the package \pkg{polyglossia}, analog of \pkg{babel} for Xe\LaTeX.
 %
-% \changes{1.2}{2011/10/20}{Removed \cs{English} macro}
+% \changes{1.2}{2011/10/20}{Removed \cs{English} and \cs{Eng} macros}
 %    \begin{macrocode}
 %%\DeclareRobustCommand{\English}{%
 %%  \fontencoding\latinencoding\selectfont
@@ -1269,32 +1178,10 @@
 %%  \language\l at english}%
 %%\let\Eng\English
 %    \end{macrocode}
-%
-%    \textsc{Next part of code should be moved to \texttt{X2enc.def},
-%    \texttt{X2enc.dfu}, if needed.}
-%    Since the \texttt{X2} encoding does not contain Latin letters, we
-%    should make some redefinitions of \LaTeX\ macros which implicitly
-%    produce Latin letters.
-%
-%    Unfortunately, the commands |\AA| and |\aa| are not encoding dependent
-%    in \LaTeX\ (unlike e.g., |\oe| or |\DH|). They are defined as |\r{A}| and
-%    |\r{a}|. This leads to unpredictable results when the font encoding
-%    does not contain the Latin letters `A' and `a' (like \texttt{X2}).
-%
-%    \begin{macrocode}
-\expandafter\ifx\csname T at X2\endcsname\relax\else
-  \DeclareTextSymbolDefault{\AA}{OT1}
-  \DeclareTextSymbolDefault{\aa}{OT1}
-  \DeclareTextCommand{\aa}{OT1}{\r a}
-  \DeclareTextCommand{\AA}{OT1}{\r A}
-\fi
-%    \end{macrocode}
-%
-%
 %   The macro |\cyrillictext| switches current (e.g., Latin) font encoding
 %   to a Cyrillic font encoding stored in |\cyrillicencoding|. The macro
-%   |\latintext| switches back. This method assumes that an font
-%   encoding is a Latin one. But in fact the latter assumption does not matter
+%   |\latintext| switches back. This method assumes that main font
+%   encoding is a Latin one. But, in fact, the latter assumption does not matter
 %   if any other language is switched on using same method, i.e.
 %   if corresponding \file{.ldf} file defines required macros to switch that
 %   language on from same standard (Latin) state.
@@ -1305,20 +1192,15 @@
 %    defined by the core of babel}
 % \changes{1.2}{2011/10/20}{\cs{lat} removed}
 %    \begin{macrocode}
-%\DeclareRobustCommand{\latintext}{%
-%  \fontencoding{\latinencoding}\selectfont
-%  \def\encodingdefault{\latinencoding}}
-%\let\lat\latintext
+%%\DeclareRobustCommand{\latintext}{%
+%%  \fontencoding{\latinencoding}\selectfont
+%%  \def\encodingdefault{\latinencoding}}
+%%\let\lat\latintext
 %    \end{macrocode}
 %
 %  \Describe\textcyrillic{\marg{text}}
-%    The macros |\cyrillictext|  and |\latintext| are declarations.
-%    For shorter chunks of text the commands |\textcyrillic| and |\textlatin|
-%    can be used.
-%
 %    The macro |\textcyrillic| takes an argument which is then typeset using the
-%    requested font encoding. It is thus an equivalent or
-%    |\foreignlangauge{russian}|.
+%    |\cyrillictext| declaration.
 % \changes{1.1o}{2003/10/12}{\cs{textlatin} already defined
 %    by the core of babel}
 %    \begin{macrocode}
@@ -1326,42 +1208,64 @@
 %    \end{macrocode}
 %
 %
+%    \textsc{Next chunk of code should be moved to \texttt{X2enc.def},
+%    \texttt{X2enc.dfu}, if needed.}
+%
+%    Since the \texttt{X2} encoding does not contain Latin letters, we
+%    should make some redefinitions of \LaTeX\ macros which implicitly
+%    produce Latin letters.  Unfortunately, the commands |\AA| and |\aa| are not
+%    encoding dependent in \LaTeX\ (unlike e.g., |\oe| or |\DH|). They are defined
+%    as |\r{A}| and |\r{a}|. This leads to unpredictable results when the font
+%    encoding does not contain the Latin letters `A' and `a' (like \texttt{X2}).
+%    \begin{macrocode}
+%%\expandafter\ifx\csname T at X2\endcsname\relax\else
+%%  \DeclareTextSymbolDefault{\AA}{OT1}
+%%  \DeclareTextSymbolDefault{\aa}{OT1}
+%%  \DeclareTextCommand{\aa}{OT1}{\r a}
+%%  \DeclareTextCommand{\AA}{OT1}{\r A}
+%%\fi
+%    \end{macrocode}
+%
+%
 %    \subsection{Input encoding}
 %
-%    User should use the \pkg{inputenc} package when any 8-bit Cyrillic
-%    font encoding is used, selecting one of the Cyrillic input encodings.
-%    We do not assume any default input encoding, so
-%    the \pkg{inputenc} package should be  explicitly called by
-%    |\usepackage{inputenc}| \emph{before} \pkg{babel}.
-%    Note however that default font encoding \texttt{T2A} fits
-%    well enough to Russian version of Windows ANSI encoding which is almost
-%    equivalent to \texttt{cp1251}.
+%    We do not assume any default input encoding of the source file,
+%    so the \pkg{inputenc} package should be explicitly loaded by
+%    |\usepackage[...]{inputenc}| \emph{before} \pkg{babel}.
+%    Note that default font encoding \texttt{T2A} for legacy 8-bit latex
+%    engines fits well enough to Russian version of Windows ANSI encoding which
+%    is almost equivalent to \texttt{cp1251} input encoding.
 %
-%    \textsc{Should we wrap this chunk into At Begin document?}
+%    \textsc{Should we wrap this chunk into AtBeginDocument? Note also that
+%    \pkg{inputenc} has its own check whether it is correctly called. Also,
+%    it is difficult to imagine that TU encoding is not declared in case of
+%    unicode engines. Hence, we remove this check in babel starting since
+%    version 1.3j.}
 %
 % \changes{1.1l}{1999/08/27}{Made not using inputenc a
 %    warning instead of an error}
 % \changes{1.2}{2011/10/11}{Added EU1 and EU2 encodings}
 % \changes{1.2}{2011/10/11}{Removed LWN encoding}
+% \changes{1.3j}{2017/08/08}{Removed check if inputenc is loaded}
 %    \begin{macrocode}
-\@ifpackageloaded{inputenc}{%
- \if at uni@ode
-   \PackageWarning{babel}{inputenc should not be used with LuaTeX or XeTeX}
- \fi
-}{%
-  %\def\reserved at a{LWN}%
-  %\ifx\reserved at a\cyrillicencoding\else
-    \def\reserved at a{OT2}%
-    \ifx\reserved at a\cyrillicencoding\else
-       \def\reserved at a{EU1}%
-       \ifx\reserved at a\cyrillicencoding\else
-          \def\reserved at a{EU2}%
-          \ifx\reserved at a\cyrillicencoding\else
-             \PackageWarning{babel}%
-                {No input encoding specified for Russian language}
-    \fi\fi\fi
-  %\fi
-}
+%%\@ifpackageloaded{inputenc}{%
+%%% \if at uni@ode
+%%%   \PackageWarning{babel}{inputenc should not be used with LuaTeX or XeTeX}
+%%% \fi
+%% \ifdefined\luatexversion
+%%   \PackageWarning{babel}{inputenc should not be used with LuaTeX}
+%% \fi}{%
+%%  %\def\reserved at a{LWN}%
+%%  %\ifx\reserved at a\cyrillicencoding\else
+%%    \def\reserved at a{OT2}%
+%%    \ifx\reserved at a\cyrillicencoding\else
+%%       \def\reserved at a{TU}%
+%%       \ifx\reserved at a\cyrillicencoding\else
+%%         \PackageWarning{babel}%
+%%           {No input encoding specified for Russian language}
+%%    \fi\fi
+%%  %\fi
+%%}
 %    \end{macrocode}
 %
 %
@@ -1386,10 +1290,10 @@
 %    Obsolete: Active double quote can be both activated and deactivated at any time
 %    using the macros |\mdqon| and  |\mdqoff|.
 %    \begin{macrocode}
-%\def\mdqon{\bbl at activate{"}}
-%\def\mdqoff{\bbl at deactivate{"}}
+%%\def\mdqon{\bbl at activate{"}}
+%%\def\mdqoff{\bbl at deactivate{"}}
 %    \end{macrocode}
-%    Initial activation state will set to on later in section \ref{sss:extra}.
+%    Initial activation state is set in section \ref{sss:extra}.
 %  \end{macro}
 %  \end{macro}
 %
@@ -1411,18 +1315,18 @@
 %
 %    We set |"`| and |"'| as shorthands for |\quotedblbase| and
 %    |\textquotedblleft|, respectively. Prior to ver.1.2, these shorthands
-%    were defined through german quotes |\glqq| and |\grqq|, which in their turn
+%    were defined through German quotes |\glqq| and |\grqq|, which in their turn
 %    are defined in \pkg{babel.def} via |\quotedblbase| and |\textquotedblleft|,
 %    respectively. It occurred, that old definition caused errors in Unicode
 %    mode if \pkg{fontspec} is loaded.
 %
-%    Prior to version 1.2, the shorthands |"<| and |">| were
+%    Prior to version 1.2, the shorthands |"<| and |">| had been
 %    declared to be equivalents for the French quotes |\flqq| and |\frqq|,
 %    respectively. They are defined in \pkg{babel.def} via |\guillemotleft| and
-%    |\guillemotrigh|. However, |\flqq| and |\guillemotleft| (and their right
+%    |\guillemotright|. However, |\flqq| and |\guillemotleft| (and their right
 %    counterparts) are typeset differently if current encoding is not
 %    \texttt{T1}. Therefore, since v.1.2, we define |"<| and |">|  directly
-%    through |\guillemotleft| and |\guillemotrigh|.
+%    through |\guillemotleft| and |\guillemotright|.
 %
 %    \begin{macrocode}
 \declare at shorthand{russian}{"`}{\quotedblbase}
@@ -1445,12 +1349,11 @@
 %
 %    \subsubsection{Emdash, endash and hyphenation sign}
 %
-%    To distinguish between |"-| and |"---| we must check whether the next
-%    after |-| token is a hyphen character.
+%    To distinguish between |"-| and |"---| we must check whether the next token
+%    after |-| is a hyphen character.
 %    If it is, we output an emdash, otherwise a hyphen sign. Therefor
 %    \TeX\ looks for the next token after the first `|-|', writes
 %    its meaning to |\russian at sh@next| and finally call for |\russian at sh@tmp|.
-%
 %    \begin{macrocode}
 \declare at shorthand{russian}{"-}{%
   \def\russian at sh@tmp{%
@@ -1506,28 +1409,6 @@
  \nobreak\cyrdash\nobreak\hskip.35em\ignorespaces}%
 %    \end{macrocode}
 %
-%  \Describe\cyrdash{}
-%   The |\cyrdash| can be defined in a fontenc file as it is done for
-%   the \texttt{T2*} encodings. We provide fake definition of |\cyrdash| only if
-%   it is not defined there.
-%
-%   Cyrillic \texttt{T2*} fonts contains shorter (Cyrillic) emdash. It can be
-%   typeset also via the ligature |---|. So, if |\laticencoding| differs from
-%   \texttt{T2*} switching of languages also changes the emdash length typed as
-%   ligature in the source file.
-%
-% \changes{1.2}{2011/10/20}{Warning is added if \cs{cyrdash} defined}
-% \changes{1.3h}{2016/02/18}{\cs{cyrdash} is redefined}
-% |\textthreequartersemdash|=!\textthreequartersemdash!
-%    \begin{macrocode}
-%\ifx\cyrdash\undefined
-%  \def\cyrdash{\hbox to.8em{--\hss--}}
-%  \PackageInfo{babel}{\string\cyrdash\space is defined}
-%\fi
-\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}%
-    {\hbox to.8em{--\hss--}}{\textemdash}}
-%    \end{macrocode}
-%
 % \changes{1.1f}{1998/06/26}{%
 %    Add macro for thin space between initials}
 %
@@ -1540,8 +1421,36 @@
 %    \end{macrocode}
 %
 %
-%   \subsection{Switching to and from Russian}
+%  \Describe\cyrdash{}
+%    The |\cyrdash| macro is defined in Cyrillic font encodings (LCY, T2*, OT2,
+%    and |X2|) by means of |\DeclareTextSymbol|. In T2* encodings |\cyrdash|
+%    refers to same code point 22 as |\textemdash| does so that these two macros
+%    are equivalent. However the dash at the code point 22 have different length
+%    in different fonts. The dash in Cyrillic fonts LH is 20\% shorter as
+%    compared to Latin fonts such as CM (Computer Modern).  As a result, the dash
+%    typed by the ligature |---| or its variations mentioned in Table
+%    \ref{tab:russian-quote} might change its length after |\selectlanguage|.
 %
+%    The |\cyrdash| macro is not available in Latin encodings such as T1. Therefor
+%    an explicit or implicit call for |\cyrdash| when current language is English
+%    causes an error. For such a case, we provide a fake default. A standard check
+%    such as |\ifx\cyrdash\undefined ...\fi| fails to detect absent definitions
+%    for Latin  encodings since the |\cyrdash| macro is in fact defined. Therefor
+%    we use the |\ProvideTextCommandDefault| method:
+% \changes{1.3j}{2017/08/08}{Default for \cs{cyrdash} is provided}
+%    \begin{macrocode}
+\PackageInfo{babel}{Default for \string\cyrdash\space is provided}
+%%\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}%
+%%  {\hbox to.8em{--\hss--}}{\textemdash}}
+\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}
+%    \end{macrocode}%
+%
+%    The |\cyrdash| macro is not defined in the Unicode encoding TU. The fake
+%    definition given above cope with this case.
+%
+%
+%   \subsection{Switching to/from Russian}
+%
 %   Now we define additional macros used to reset current language to
 %   Russian and back
 %   to some original state. The package \pkg{babel} based on the assumption
@@ -2210,11 +2119,11 @@
 %  \def\NOD{\mathop{\cyrmathrm{\CYRN\CYRO\CYRD}}\nolimits}
 %  \def\NOK{\mathop{\cyrmathrm{\CYRN\CYRO\CYRK}}\nolimits}
 %  \def\Proj{\mathop{\cyrmathrm{\CYRP\cyrr}}\nolimits}
-  \def\nod{\mathop{\textrm{\textup{\cyrn.\cyro.\cyrd.}}}\nolimits}
-  \def\nok{\mathop{\textrm{\textup{\cyrn.\cyro.\cyrk.}}}\nolimits}
-  \def\NOD{\mathop{\textrm{\textup{\CYRN\CYRO\CYRD}}}\nolimits}
-  \def\NOK{\mathop{\textrm{\textup{\CYRN\CYRO\CYRK}}}\nolimits}
-  \def\Proj{\mathop{\textrm{\textup{\CYRP\cyrr}}}\nolimits}
+  \def\nod{\mathop{\textnormal{\cyrn.\cyro.\cyrd.}}\nolimits}
+  \def\nok{\mathop{\textnormal{\cyrn.\cyro.\cyrk.}}\nolimits}
+  \def\NOD{\mathop{\textnormal{\CYRN\CYRO\CYRD}}\nolimits}
+  \def\NOK{\mathop{\textnormal{\CYRN\CYRO\CYRK}}\nolimits}
+  \def\Proj{\mathop{\textnormal{\CYRP\cyrr}}\nolimits}
 \fi
 %    \end{macrocode}
 %
@@ -2231,11 +2140,96 @@
 %    \begin{macrocode}
 \ldf at finish{russian}
 %    \end{macrocode}
-%
-%    \begin{macrocode}
-%    \end{macrocode}
 %\iffalse
 %</code>
 %\fi
-% \CheckSum{2331}
+%\CheckSum{2327}
 %\Finale
+%
+%%
+%% \CharacterTable
+%%  {Upper-case    \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
+%%   Lower-case    \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
+%%   Digits        \0\1\2\3\4\5\6\7\8\9
+%%   Exclamation   \!     Double quote \"    Hash (number) \#
+%%   Dollar        \$     Percent      \%    Ampersand     \&
+%%   Acute accent  \'     Left paren   \(    Right paren   \)
+%%   Asterisk      \*     Plus         \+    Comma         \,
+%%   Minus         \-     Point        \.    Solidus       \/
+%%   Colon         \:     Semicolon    \;    Less than     \<
+%%   Equals        \=     Greater than \>    Question mark \?
+%%   Commercial at \@     Left bracket \[    Backslash     \\
+%%   Right bracket \]     Circumflex   \^    Underscore    \_
+%%   Grave accent  \`     Left brace   \{    Vertical bar  \|
+%%   Right brace   \}     Tilde        \~}
+%%
+%\endinput
+
+%% Nonunicode Cyrillic Letters
+%% \CYRA=А
+%% \CYRB=Б
+%% \CYRV=В
+%% \CYRG=Г
+%% \CYRGUP=Ґ
+%% \CYRD=Д
+%% \CYRE=Е
+%% \CYRIE=Є
+%% \CYRZH=Ж
+%% \CYRZ=З
+%% \CYRI=И
+%% \CYRII=I
+%% \CYRYI=Ї
+%% \CYRISHRT=Й
+%% \CYRK=К
+%% \CYRL=Л
+%% \CYRM=М
+%% \CYRN=Н
+%% \CYRO=О
+%% \CYRP=П
+%% \CYRR=Р
+%% \CYRS=С
+%% \CYRT=Т
+%% \CYRU=У
+%% \CYRF=Ф
+%% \CYRH=Х
+%% \CYRC=Ц
+%% \CYRCH=Ч
+%% \CYRSH=Ш
+%% \CYRSHCH=Щ
+%% \CYRYU=Ю
+%% \CYRYA=Я
+%% \CYRSFTSN=Ь
+%%
+%% \cyra=а
+%% \cyrb=б
+%% \cyrv=в
+%% \cyrg=г
+%% \cyrgup=ґ
+%% \cyrd=д
+%% \cyre=е
+%% \cyrie=є
+%% \cyrzh=ж
+%% \cyrz=з
+%% \cyri=и
+%% \cyrii=i
+%% \cyryi=ї
+%% \cyrishrt=й
+%% \cyrk=к
+%% \cyrl=л
+%% \cyrm=м
+%% \cyrn=н
+%% \cyro=о
+%% \cyrp=п
+%% \cyrr=р
+%% \cyrs=с
+%% \cyrt=т
+%% \cyru=у
+%% \cyrf=ф
+%% \cyrh=х
+%% \cyrc=ц
+%% \cyrch=ч
+%% \cyrsh=ш
+%% \cyrshch=щ
+%% \cyryu=ю
+%% \cyrya=я
+%% \cyrsftsn=ь

Modified: trunk/Master/texmf-dist/source/generic/babel-russian/russianb.ins
===================================================================
--- trunk/Master/texmf-dist/source/generic/babel-russian/russianb.ins	2017-08-10 21:20:29 UTC (rev 45006)
+++ trunk/Master/texmf-dist/source/generic/babel-russian/russianb.ins	2017-08-10 21:20:48 UTC (rev 45007)
@@ -52,6 +52,93 @@
   \file{\jobname.ldf}{\from{\jobname.dtx}{code}}
 }
 \endbatchfile
+
+%%
+%% \CharacterTable
+%%  {Upper-case    \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
+%%   Lower-case    \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
+%%   Digits        \0\1\2\3\4\5\6\7\8\9
+%%   Exclamation   \!     Double quote \"    Hash (number) \#
+%%   Dollar        \$     Percent      \%    Ampersand     \&
+%%   Acute accent  \'     Left paren   \(    Right paren   \)
+%%   Asterisk      \*     Plus         \+    Comma         \,
+%%   Minus         \-     Point        \.    Solidus       \/
+%%   Colon         \:     Semicolon    \;    Less than     \<
+%%   Equals        \=     Greater than \>    Question mark \?
+%%   Commercial at \@     Left bracket \[    Backslash     \\
+%%   Right bracket \]     Circumflex   \^    Underscore    \_
+%%   Grave accent  \`     Left brace   \{    Vertical bar  \|
+%%   Right brace   \}     Tilde        \~}
+%%
+
+%% Nonunicode Cyrillic Letters
+%% \CYRA=А
+%% \CYRB=Б
+%% \CYRV=В
+%% \CYRG=Г
+%% \CYRGUP=Ґ
+%% \CYRD=Д
+%% \CYRE=Е
+%% \CYRIE=Є
+%% \CYRZH=Ж
+%% \CYRZ=З
+%% \CYRI=И
+%% \CYRII=I
+%% \CYRYI=Ї
+%% \CYRISHRT=Й
+%% \CYRK=К
+%% \CYRL=Л
+%% \CYRM=М
+%% \CYRN=Н
+%% \CYRO=О
+%% \CYRP=П
+%% \CYRR=Р
+%% \CYRS=С
+%% \CYRT=Т
+%% \CYRU=У
+%% \CYRF=Ф
+%% \CYRH=Х
+%% \CYRC=Ц
+%% \CYRCH=Ч
+%% \CYRSH=Ш
+%% \CYRSHCH=Щ
+%% \CYRYU=Ю
+%% \CYRYA=Я
+%% \CYRSFTSN=Ь
+%%
+%% \cyra=а
+%% \cyrb=б
+%% \cyrv=в
+%% \cyrg=г
+%% \cyrgup=ґ
+%% \cyrd=д
+%% \cyre=е
+%% \cyrie=є
+%% \cyrzh=ж
+%% \cyrz=з
+%% \cyri=и
+%% \cyrii=i
+%% \cyryi=ї
+%% \cyrishrt=й
+%% \cyrk=к
+%% \cyrl=л
+%% \cyrm=м
+%% \cyrn=н
+%% \cyro=о
+%% \cyrp=п
+%% \cyrr=р
+%% \cyrs=с
+%% \cyrt=т
+%% \cyru=у
+%% \cyrf=ф
+%% \cyrh=х
+%% \cyrc=ц
+%% \cyrch=ч
+%% \cyrsh=ш
+%% \cyrshch=щ
+%% \cyryu=ю
+%% \cyrya=я
+%% \cyrsftsn=ь
 %% ----------------------------------------------------------------
 %% Copyright 2011-2017 Igor A. Kotelnikov.
 %% Copyright 1995-2008 Olga Lapko.

Modified: trunk/Master/texmf-dist/tex/generic/babel-russian/russianb.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel-russian/russianb.ldf	2017-08-10 21:20:29 UTC (rev 45006)
+++ trunk/Master/texmf-dist/tex/generic/babel-russian/russianb.ldf	2017-08-10 21:20:48 UTC (rev 45007)
@@ -12,7 +12,9 @@
 %% See http://www.latex-project.org/lppl.txt
 %% ----------------------------------------------------------------
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesLanguage{russianb}[2017/01/12 1.3i Russian support for the Babel system]
+
+\ProvidesLanguage{russian}
+    [2017/08/12 1.3j Russian support for the Babel system]
 \LdfInit{russian}{captionsrussian}
 \ifdefined\if at uni@ode
   \PackageError{babel}{if at uni@ode already defined.\MessageBreak
@@ -41,24 +43,27 @@
     \sce at a{##1}{T2B}%
     \sce at a{##1}{T2A}%
     \if at uni@ode
-      \sce at a{##1}{EU1}%
-      \sce at a{##1}{EU2}%
+      %\sce at a{##1}{EU1}%
+      %\sce at a{##1}{EU2}%
+      \sce at a{##1}{TU}%
     \fi}%
   \cdp at list
 }
-\@setcyrillicencoding
+\ifx\cyrillicencoding\undefined
+  \@setcyrillicencoding
+\fi
 \@onlypreamble\@setcyrillicencoding
 \@onlypreamble\sce at a
 \@onlypreamble\sce at b
 \@onlypreamble\sce at c
-\ifdefined\cyrillicencoding
-\else
+\ifx\cyrillicencoding\undefined
   \if at uni@ode
-    \ifdefined\XeTeXrevision
-      \edef\cyrillicencoding{EU1}
-    \else\ifdefined\luatexversion
-      \edef\cyrillicencoding{EU2}
-    \fi\fi
+    %\ifdefined\XeTeXrevision
+    %  \edef\cyrillicencoding{EU1}
+    %\else\ifdefined\luatexversion
+    %  \edef\cyrillicencoding{EU2}
+    %\fi\fi
+    \edef\cyrillicencoding{TU}
   \else
     \edef\cyrillicencoding{T2A}
   \fi
@@ -83,32 +88,38 @@
 %%  \expandafter\set at hyphenmins\englishhyphenmins
 %%  \language\l at english}%
 %%\let\Eng\English
-\expandafter\ifx\csname T at X2\endcsname\relax\else
-  \DeclareTextSymbolDefault{\AA}{OT1}
-  \DeclareTextSymbolDefault{\aa}{OT1}
-  \DeclareTextCommand{\aa}{OT1}{\r a}
-  \DeclareTextCommand{\AA}{OT1}{\r A}
-\fi
+%%\DeclareRobustCommand{\latintext}{%
+%%  \fontencoding{\latinencoding}\selectfont
+%%  \def\encodingdefault{\latinencoding}}
+%%\let\lat\latintext
 \DeclareTextFontCommand{\textcyrillic}{\cyrillictext}
-\@ifpackageloaded{inputenc}{%
- \if at uni@ode
-   \PackageWarning{babel}{inputenc should not be used with LuaTeX or XeTeX}
- \fi
-}{%
-  %\def\reserved at a{LWN}%
-  %\ifx\reserved at a\cyrillicencoding\else
-    \def\reserved at a{OT2}%
-    \ifx\reserved at a\cyrillicencoding\else
-       \def\reserved at a{EU1}%
-       \ifx\reserved at a\cyrillicencoding\else
-          \def\reserved at a{EU2}%
-          \ifx\reserved at a\cyrillicencoding\else
-             \PackageWarning{babel}%
-                {No input encoding specified for Russian language}
-    \fi\fi\fi
-  %\fi
-}
+%%\expandafter\ifx\csname T at X2\endcsname\relax\else
+%%  \DeclareTextSymbolDefault{\AA}{OT1}
+%%  \DeclareTextSymbolDefault{\aa}{OT1}
+%%  \DeclareTextCommand{\aa}{OT1}{\r a}
+%%  \DeclareTextCommand{\AA}{OT1}{\r A}
+%%\fi
+%%\@ifpackageloaded{inputenc}{%
+%%% \if at uni@ode
+%%%   \PackageWarning{babel}{inputenc should not be used with LuaTeX or XeTeX}
+%%% \fi
+%% \ifdefined\luatexversion
+%%   \PackageWarning{babel}{inputenc should not be used with LuaTeX}
+%% \fi}{%
+%%  %\def\reserved at a{LWN}%
+%%  %\ifx\reserved at a\cyrillicencoding\else
+%%    \def\reserved at a{OT2}%
+%%    \ifx\reserved at a\cyrillicencoding\else
+%%       \def\reserved at a{TU}%
+%%       \ifx\reserved at a\cyrillicencoding\else
+%%         \PackageWarning{babel}%
+%%           {No input encoding specified for Russian language}
+%%    \fi\fi
+%%  %\fi
+%%}
 \initiate at active@char{"}
+%%\def\mdqon{\bbl at activate{"}}
+%%\def\mdqoff{\bbl at deactivate{"}}
 \begingroup \catcode`\"12
 \def\reserved at a{\endgroup
   \def\@SS{\mathchar"7019 }
@@ -142,9 +153,11 @@
  \nobreak\cyrdash\penalty\exhyphenpenalty\hskip\z at skip\ignorespaces}%
 \def\@Ccdash{\leavevmode
  \nobreak\cyrdash\nobreak\hskip.35em\ignorespaces}%
-\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}%
-    {\hbox to.8em{--\hss--}}{\textemdash}}
 \declare at shorthand{russian}{",}{\nobreak\hskip.2em\ignorespaces}
+\PackageInfo{babel}{Default for \string\cyrdash\space is provided}
+%%\ProvideTextCommandDefault{\cyrdash}{\iflanguage{russian}%
+%%  {\hbox to.8em{--\hss--}}{\textemdash}}
+\ProvideTextCommandDefault{\cyrdash}{\hbox to.8em{--\hss--}}
 \if at uni@ode
   %\captionsrussian at modern
   \addto\captionsrussian{%
@@ -551,13 +564,99 @@
   \def\NOK{\mathop{\mathrm{НОК}}\nolimits}
   \def\Proj{\mathop{\mathrm{Пр}}\nolimits}
 \else
-  \def\nod{\mathop{\textrm{\textup{\cyrn.\cyro.\cyrd.}}}\nolimits}
-  \def\nok{\mathop{\textrm{\textup{\cyrn.\cyro.\cyrk.}}}\nolimits}
-  \def\NOD{\mathop{\textrm{\textup{\CYRN\CYRO\CYRD}}}\nolimits}
-  \def\NOK{\mathop{\textrm{\textup{\CYRN\CYRO\CYRK}}}\nolimits}
-  \def\Proj{\mathop{\textrm{\textup{\CYRP\cyrr}}}\nolimits}
+  \def\nod{\mathop{\textnormal{\cyrn.\cyro.\cyrd.}}\nolimits}
+  \def\nok{\mathop{\textnormal{\cyrn.\cyro.\cyrk.}}\nolimits}
+  \def\NOD{\mathop{\textnormal{\CYRN\CYRO\CYRD}}\nolimits}
+  \def\NOK{\mathop{\textnormal{\CYRN\CYRO\CYRK}}\nolimits}
+  \def\Proj{\mathop{\textnormal{\CYRP\cyrr}}\nolimits}
 \fi
 \ldf at finish{russian}
+%%
+%% \CharacterTable
+%%  {Upper-case    \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
+%%   Lower-case    \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
+%%   Digits        \0\1\2\3\4\5\6\7\8\9
+%%   Exclamation   \!     Double quote \"    Hash (number) \#
+%%   Dollar        \$     Percent      \%    Ampersand     \&
+%%   Acute accent  \'     Left paren   \(    Right paren   \)
+%%   Asterisk      \*     Plus         \+    Comma         \,
+%%   Minus         \-     Point        \.    Solidus       \/
+%%   Colon         \:     Semicolon    \;    Less than     \<
+%%   Equals        \=     Greater than \>    Question mark \?
+%%   Commercial at \@     Left bracket \[    Backslash     \\
+%%   Right bracket \]     Circumflex   \^    Underscore    \_
+%%   Grave accent  \`     Left brace   \{    Vertical bar  \|
+%%   Right brace   \}     Tilde        \~}
+%%
+
+%% Nonunicode Cyrillic Letters
+%% \CYRA=А
+%% \CYRB=Б
+%% \CYRV=В
+%% \CYRG=Г
+%% \CYRGUP=Ґ
+%% \CYRD=Д
+%% \CYRE=Е
+%% \CYRIE=Є
+%% \CYRZH=Ж
+%% \CYRZ=З
+%% \CYRI=И
+%% \CYRII=I
+%% \CYRYI=Ї
+%% \CYRISHRT=Й
+%% \CYRK=К
+%% \CYRL=Л
+%% \CYRM=М
+%% \CYRN=Н
+%% \CYRO=О
+%% \CYRP=П
+%% \CYRR=Р
+%% \CYRS=С
+%% \CYRT=Т
+%% \CYRU=У
+%% \CYRF=Ф
+%% \CYRH=Х
+%% \CYRC=Ц
+%% \CYRCH=Ч
+%% \CYRSH=Ш
+%% \CYRSHCH=Щ
+%% \CYRYU=Ю
+%% \CYRYA=Я
+%% \CYRSFTSN=Ь
+%%
+%% \cyra=а
+%% \cyrb=б
+%% \cyrv=в
+%% \cyrg=г
+%% \cyrgup=ґ
+%% \cyrd=д
+%% \cyre=е
+%% \cyrie=є
+%% \cyrzh=ж
+%% \cyrz=з
+%% \cyri=и
+%% \cyrii=i
+%% \cyryi=ї
+%% \cyrishrt=й
+%% \cyrk=к
+%% \cyrl=л
+%% \cyrm=м
+%% \cyrn=н
+%% \cyro=о
+%% \cyrp=п
+%% \cyrr=р
+%% \cyrs=с
+%% \cyrt=т
+%% \cyru=у
+%% \cyrf=ф
+%% \cyrh=х
+%% \cyrc=ц
+%% \cyrch=ч
+%% \cyrsh=ш
+%% \cyrshch=щ
+%% \cyryu=ю
+%% \cyrya=я
+%% \cyrsftsn=ь
 %% ----------------------------------------------------------------
 %% Copyright 2011-2017 Igor A. Kotelnikov.
 %% Copyright 1995-2008 Olga Lapko.



More information about the tex-live-commits mailing list