summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/babel/babel.def
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-05-14 21:24:22 +0000
committerKarl Berry <karl@freefriends.org>2020-05-14 21:24:22 +0000
commit0ceebb71618356e1ae06cdfd3cff81e322f2307b (patch)
treefb643d2536a1177f17c7c90410226f1accef7c31 /Master/texmf-dist/tex/generic/babel/babel.def
parentbb587f3190ec7933ee6a18e994099e566c6e8009 (diff)
babel (13may20)
git-svn-id: svn://tug.org/texlive/trunk@55143 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/babel/babel.def')
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.def104
1 files changed, 76 insertions, 28 deletions
diff --git a/Master/texmf-dist/tex/generic/babel/babel.def b/Master/texmf-dist/tex/generic/babel/babel.def
index 3db01a667c0..7db59afba5b 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.def
+++ b/Master/texmf-dist/tex/generic/babel/babel.def
@@ -39,7 +39,7 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{babel.def}[2020/04/28 3.43 Babel common definitions]
+\ProvidesFile{babel.def}[2020/05/13 3.44 Babel common definitions]
\ifx\AtBeginDocument\@undefined % TODO. change test.
% == Code for plain ==
\def\@empty{}
@@ -390,6 +390,7 @@
\ifx\@uclclist\@undefined\let\@uclclist\@empty\fi
\ifx\bbl@trace\@undefined\def\bbl@trace#1{}\fi
\expandafter\newif\csname ifbbl@single\endcsname
+ \chardef\bbl@bidimode\z@
\fi
\ifx\bbl@trace\@undefined
\let\LdfInit\endinput
@@ -412,8 +413,8 @@
\countdef\last@language=19
\def\addlanguage{\alloc@9\language\chardef\@cclvi}
\fi
-\def\bbl@version{3.43}
-\def\bbl@date{2020/04/28}
+\def\bbl@version{3.44}
+\def\bbl@date{2020/05/13}
\def\adddialect#1#2{%
\global\chardef#1#2\relax
\bbl@usehooks{adddialect}{{#1}{#2}}%
@@ -660,13 +661,24 @@
\csname date#1\endcsname\relax
\fi
\else
- \ifbbl@usedategroup % if \foreign... within \<lang>date
- \bbl@usedategroupfalse
- \ifhmode
- \hskip\z@skip % trick to ignore spaces
+ \ifhmode
+ \hskip\z@skip % trick to ignore spaces
+ \bbl@xin@{,captions,}{,\bbl@select@opts,}%
+ \ifin@
+ \csname captions#1\endcsname\relax
+ \fi
+ \bbl@xin@{,date,}{,\bbl@select@opts,}%
+ \ifin@ % if \foreign... within \<lang>date
\csname date#1\endcsname\relax
- \loop\ifdim\lastskip>\z@\unskip\repeat\unskip
- \else
+ \fi
+ \loop\ifdim\lastskip>\z@\unskip\repeat\unskip
+ \else
+ \bbl@xin@{,captions,}{,\bbl@select@opts,}%
+ \ifin@
+ \csname captions#1\endcsname\relax
+ \fi
+ \bbl@xin@{,date,}{,\bbl@select@opts,}%
+ \ifin@
\csname date#1\endcsname\relax
\fi
\fi
@@ -709,9 +721,12 @@
\ignorespaces}
\long\def\endotherlanguage{%
\global\@ignoretrue\ignorespaces}
-\expandafter\def\csname otherlanguage*\endcsname#1{%
+\expandafter\def\csname otherlanguage*\endcsname{%
+ \@ifnextchar[\bbl@otherlanguage@s{\bbl@otherlanguage@s[]}}
+\def\bbl@otherlanguage@s[#1]#2{%
\ifnum\bbl@hymapsel=\@cclv\chardef\bbl@hymapsel4\relax\fi
- \foreign@language{#1}}
+ \def\bbl@select@opts{#1}%
+ \foreign@language{#2}}
\expandafter\let\csname endotherlanguage*\endcsname\relax
\providecommand\bbl@beforeforeign{}
\edef\foreignlanguage{%
@@ -719,13 +734,14 @@
\expandafter\noexpand\csname foreignlanguage \endcsname}
\expandafter\def\csname foreignlanguage \endcsname{%
\@ifstar\bbl@foreign@s\bbl@foreign@x}
-\def\bbl@foreign@x#1#2{%
+\newcommand\bbl@foreign@x[3][]{%
\begingroup
+ \def\bbl@select@opts{#1}%
\let\BabelText\@firstofone
\bbl@beforeforeign
- \foreign@language{#1}%
+ \foreign@language{#2}%
\bbl@usehooks{foreign}{}%
- \BabelText{#2}% Now in horizontal mode!
+ \BabelText{#3}% Now in horizontal mode!
\endgroup}
\def\bbl@foreign@s#1#2{% TODO - \shapemode, \@setpar, ?\@@par
\begingroup
@@ -740,6 +756,10 @@
\def\foreign@language#1{%
% set name
\edef\languagename{#1}%
+ \ifbbl@usedategroup
+ \bbl@add\bbl@select@opts{,date,}%
+ \bbl@usedategroupfalse
+ \fi
\bbl@fixname\languagename
% TODO. name@map here?
\bbl@provide@locale
@@ -2161,11 +2181,13 @@
\DeclareTextCompositeCommand{\"}{OT1}{E}{\bbl@umlaute{E}}%
\DeclareTextCompositeCommand{\"}{OT1}{I}{\bbl@umlaute{I}}%
\DeclareTextCompositeCommand{\"}{OT1}{O}{\bbl@umlauta{O}}%
- \DeclareTextCompositeCommand{\"}{OT1}{U}{\bbl@umlauta{U}}%
-}
+ \DeclareTextCompositeCommand{\"}{OT1}{U}{\bbl@umlauta{U}}}
\ifx\l@english\@undefined
\chardef\l@english\z@
\fi
+\ifx\l@babelnohyhens\@undefined
+ \newlanguage\l@babelnohyphens
+\fi
\bbl@trace{Bidi layout}
\providecommand\IfBabelLayout[3]{#3}%
\newcommand\BabelPatchSection[1]{%
@@ -2283,7 +2305,8 @@
\bbl@ifunset{bbl@lname@#2}% TODO. Duplicated
{\def\BabelBeforeIni##1##2{%
\begingroup
- \catcode`\[=12 \catcode`\]=12 \catcode`\==12 \catcode`\;=12 %
+ \catcode`\[=12 \catcode`\]=12 \catcode`\==12
+ \catcode`\;=12 \catcode`\|=12 %
\let\bbl@ini@captions@aux\@gobbletwo
\def\bbl@inidate ####1.####2.####3.####4\relax ####5####6{}%
\bbl@read@ini{##1}{basic data}%
@@ -2294,7 +2317,8 @@
\bbl@exportkey{lfthm}{typography.lefthyphenmin}{2}%
\bbl@exportkey{rgthm}{typography.righthyphenmin}{3}%
\bbl@exportkey{hyphr}{typography.hyphenrules}{}%
- \bbl@exportkey{hyoth}{typography.hyphenate.other}{}%
+ \bbl@exportkey{hyotl}{typography.hyphenate.other.locale}{}%
+ \bbl@exportkey{hyots}{typography.hyphenate.other.script}{}%
\bbl@exportkey{intsp}{typography.intraspace}{}%
\ifx\bbl@initoload\relax\endinput\fi
\endgroup}%
@@ -2401,11 +2425,11 @@
\bbl@csarg\edef{intsp@#2}{\bbl@KVP@intraspace}%
\fi
\bbl@provide@intraspace
- % == hyphenate.other ==
- \bbl@ifunset{bbl@hyoth@\languagename}{}%
- {\bbl@csarg\bbl@replace{hyoth@\languagename}{ }{,}%
+ % == hyphenate.other.locale ==
+ \bbl@ifunset{bbl@hyotl@\languagename}{}%
+ {\bbl@csarg\bbl@replace{hyotl@\languagename}{ }{,}%
\bbl@startcommands*{\languagename}{}%
- \bbl@csarg\bbl@foreach{hyoth@\languagename}{%
+ \bbl@csarg\bbl@foreach{hyotl@\languagename}{%
\ifcase\bbl@engine
\ifnum##1<257
\SetHyphenMap{\BabelLower{##1}{##1}}%
@@ -2414,6 +2438,17 @@
\SetHyphenMap{\BabelLower{##1}{##1}}%
\fi}%
\bbl@endcommands}%
+ % == hyphenate.other.script ==
+ \bbl@ifunset{bbl@hyots@\languagename}{}%
+ {\bbl@csarg\bbl@replace{hyots@\languagename}{ }{,}%
+ \bbl@csarg\bbl@foreach{hyots@\languagename}{%
+ \ifcase\bbl@engine
+ \ifnum##1<257
+ \global\lccode##1=##1\relax
+ \fi
+ \else
+ \global\lccode##1=##1\relax
+ \fi}}%
% == maparabic ==
% Native digits, if provided in ini (TeX level, xe and lua)
\ifcase\bbl@engine\else
@@ -2576,7 +2611,8 @@
\bbl@ifunset{bbl@lname@#1}% TODO. Duplicated
{\def\BabelBeforeIni##1##2{%
\begingroup
- \catcode`\[=12 \catcode`\]=12 \catcode`\==12 \catcode`\;=12 %
+ \catcode`\[=12 \catcode`\]=12 \catcode`\==12
+ \catcode`\;=12 \catcode`\|=12 %
\let\bbl@ini@captions@aux\@gobbletwo
\def\bbl@inidate ####1.####2.####3.####4\relax ####5####6{}%
\bbl@read@ini{##1}{basic data}%
@@ -2584,8 +2620,8 @@
\bbl@exportkey{lnbrk}{typography.linebreaking}{h}%
\bbl@exportkey{lfthm}{typography.lefthyphenmin}{2}%
\bbl@exportkey{rgthm}{typography.righthyphenmin}{3}%
- \bbl@exportkey{hyphr}{typography.hyphenrules}{}%
- \bbl@exportkey{hyoth}{typography.hyphenate.other}{}%
+ \bbl@exportkey{hyotl}{typography.hyphenate.other.locale}{}%
+ \bbl@exportkey{hyots}{typography.hyphenate.other.script}{}%
\bbl@exportkey{intsp}{typography.intraspace}{}%
\bbl@exportkey{chrng}{characters.ranges}{}%
\bbl@exportkey{dgnat}{numbers.digits.native}{}%
@@ -2781,6 +2817,11 @@
\let\bbl@inikv@characters\bbl@inikv
\let\bbl@inikv@numbers\bbl@inikv
\def\bbl@inikv@counters#1=#2\@@{%
+ \bbl@ifsamestring{#1}{digits}%
+ {\bbl@error{The counter name 'digits' is reserved for mapping\\%
+ decimal digits}%
+ {Use another name.}}%
+ {}%
\def\bbl@tempc{#1}%
\bbl@trim@def{\bbl@tempb*}{#2}%
\in@{.1$}{#1$}%
@@ -2804,7 +2845,8 @@
\bbl@exportkey{prehc}{typography.prehyphenchar}{}%
\bbl@exportkey{lnbrk}{typography.linebreaking}{h}%
\bbl@exportkey{hyphr}{typography.hyphenrules}{}%
- \bbl@exportkey{hyoth}{typography.hyphenate.other}{}%
+ \bbl@exportkey{hyotl}{typography.hyphenate.other.locale}{}%
+ \bbl@exportkey{hyots}{typography.hyphenate.other.script}{}%
\bbl@exportkey{intsp}{typography.intraspace}{}%
\bbl@exportkey{jstfy}{typography.justify}{w}%
\bbl@exportkey{chrng}{characters.ranges}{}%
@@ -2844,6 +2886,7 @@
\bbl@csarg\def{secpre@date.gregorian.licr}{% discard uni
\ifcase\bbl@engine\let\bbl@savedate\@empty\fi}
\fi
+\newcommand\localedate{\@nameuse{bbl@date@\languagename}}
\def\bbl@inidate#1.#2.#3.#4\relax#5#6{% TODO - ignore with 'captions'
\bbl@trim@def\bbl@tempa{#1.#2}%
\bbl@ifsamestring{\bbl@tempa}{months.wide}% to savedate
@@ -2901,7 +2944,11 @@
\bbl@replace\bbl@toreplace{[y]}{\BabelDatey{####1}}%
\bbl@replace\bbl@toreplace{[yy]}{\BabelDateyy{####1}}%
\bbl@replace\bbl@toreplace{[yyyy]}{\BabelDateyyyy{####1}}%
+ \bbl@replace\bbl@toreplace{[y|}{\bbl@datecntr[####1|}%
+ \bbl@replace\bbl@toreplace{[m|}{\bbl@datecntr[####2|}%
+ \bbl@replace\bbl@toreplace{[d|}{\bbl@datecntr[####3|}%
\bbl@replace@finish@iii\bbl@toreplace}
+\def\bbl@datecntr[#1|#2]{\localenumeral{#2}{#1}}
\def\bbl@provide@lsys#1{%
\bbl@ifunset{bbl@lname@#1}%
{\bbl@ini@basic{#1}}%
@@ -2923,7 +2970,8 @@
\def\BabelBeforeIni##1##2{%
\begingroup
\bbl@add\bbl@secpost@identification{\closein\bbl@readstream }%
- \catcode`\[=12 \catcode`\]=12 \catcode`\==12 \catcode`\;=12 %
+ \catcode`\[=12 \catcode`\]=12 \catcode`\==12
+ \catcode`\;=12 \catcode`\|=12 %
\bbl@read@ini{##1}{font and identification data}%
\endinput % babel- .tex may contain onlypreamble's
\endgroup}% boxed, to avoid extra spaces:
@@ -2957,7 +3005,7 @@
\bbl@cs{cntr@#1.3@\languagename}#6%
\bbl@cs{cntr@#1.2@\languagename}#7%
\bbl@cs{cntr@#1.1@\languagename}#8%
- \ifnum#6#7#8>\z@ % An ad hod rule for Greek. Ugly. To be fixed.
+ \ifnum#6#7#8>\z@ % TODO. An ad hoc rule for Greek. Ugly.
\bbl@ifunset{bbl@cntr@#1.S.321@\languagename}{}%
{\bbl@cs{cntr@#1.S.321@\languagename}}%
\fi}%