summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/babel/babel.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-05-22 20:24:00 +0000
committerKarl Berry <karl@freefriends.org>2022-05-22 20:24:00 +0000
commit77115f354b353e70a149626be8cf14e22f2d1502 (patch)
treee25dae193c66b5bbf0600ff9e0721da3b429ce6e /Master/texmf-dist/tex/generic/babel/babel.sty
parentb7435fa062618aa6443677b4d2ea44bde4a46d54 (diff)
babel (22may22)
git-svn-id: svn://tug.org/texlive/trunk@63369 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/babel/babel.sty')
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.sty62
1 files changed, 48 insertions, 14 deletions
diff --git a/Master/texmf-dist/tex/generic/babel/babel.sty b/Master/texmf-dist/tex/generic/babel/babel.sty
index 2c97c5384a5..1cb4eca5736 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.sty
+++ b/Master/texmf-dist/tex/generic/babel/babel.sty
@@ -34,7 +34,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
-\ProvidesPackage{babel}[2022/04/30 3.74 The Babel package]
+\ProvidesPackage{babel}[2022/05/22 3.75 The Babel package]
\@ifpackagewith{babel}{debug}
{\providecommand\bbl@trace[1]{\message{^^J[ #1 ]}}%
\let\bbl@debug\@firstofone
@@ -357,6 +357,7 @@
\DeclareOption{hyphenmap=select}{\chardef\bbl@opt@hyphenmap\tw@}
\DeclareOption{hyphenmap=other}{\chardef\bbl@opt@hyphenmap\thr@@}
\DeclareOption{hyphenmap=other*}{\chardef\bbl@opt@hyphenmap4\relax}
+\DeclareOption{ensureinfo=off}{}
\DeclareOption{safe=none}{\let\bbl@opt@safe\@empty}
\DeclareOption{safe=bib}{\def\bbl@opt@safe{B}}
\DeclareOption{safe=ref}{\def\bbl@opt@safe{R}}
@@ -458,8 +459,8 @@
\expandafter\@secondoftwo
\fi}
\fi
-\def\bbl@version{3.74}
-\def\bbl@date{2022/04/30}
+\def\bbl@version{3.75}
+\def\bbl@date{2022/05/22}
\ifx\language\@undefined
\csname newcount\endcsname\language
\fi
@@ -2573,6 +2574,11 @@
\ifx\bbl@KVP@language\@nil\else
\bbl@csarg\edef{lname@#2}{\bbl@KVP@language}%
\fi
+ \ifcase\bbl@engine\or
+ \bbl@ifunset{bbl@chrng@\languagename}{}%
+ {\directlua{
+ Babel.set_chranges_b('\bbl@cl{sbcp}', '\bbl@cl{chrng}') }}%
+ \fi
% == onchar ==
\ifx\bbl@KVP@onchar\@nil\else
\bbl@luahyphenate
@@ -3028,6 +3034,10 @@
\ifin@
\bbl@ini@calendar{##1}%
\fi
+ \in@{=identification/extension.}{=##1/##2}%
+ \ifin@
+ \bbl@ini@extension{##2}%
+ \fi
\bbl@ifunset{bbl@inikv@##1}{}%
{\csname bbl@inikv@##1\endcsname{##2}{##3}}}%
\bbl@inidata}
@@ -3099,6 +3109,17 @@
\bbl@cs{@kv@identification.warning#1}\\%
Reported }}}
\let\bbl@release@transforms\@empty
+\def\bbl@ini@extension#1{%
+ \def\bbl@tempa{#1}%
+ \bbl@replace\bbl@tempa{extension.}{}%
+ \bbl@replace\bbl@tempa{.tag.bcp47}{}%
+ \bbl@ifunset{bbl@info@#1}%
+ {\bbl@csarg\xdef{info@#1}{ext/\bbl@tempa}%
+ \bbl@exp{%
+ \\\g@addto@macro\\\bbl@moreinfo{%
+ \\\bbl@exportkey{ext/\bbl@tempa}{identification.#1}{}}}}%
+ {}}
+\let\bbl@moreinfo\@empty
\def\bbl@ini@exports#1{%
% Identification always exported
\bbl@iniwarning{}%
@@ -3121,6 +3142,9 @@
{\csname bbl@esname@\languagename\endcsname}}%
\bbl@exportkey{sbcp}{identification.script.tag.bcp47}{}%
\bbl@exportkey{sotf}{identification.script.tag.opentype}{DFLT}%
+ \bbl@exportkey{rbcp}{identification.region.tag.bcp47}{}%
+ \bbl@exportkey{vbcp}{identification.variant.tag.bcp47}{}%
+ \bbl@moreinfo
% Also maps bcp47 -> languagename
\ifbbl@bcptoname
\bbl@csarg\xdef{bcp@map@\bbl@cl{tbcp}}{\languagename}%
@@ -3570,13 +3594,21 @@
\def\bbl@alphnum@invalid#1{%
\bbl@error{Alphabetic numeral too large (#1)}%
{Currently this is the limit.}}
+\def\bbl@localeinfo#1#2{%
+ \bbl@ifunset{bbl@info@#2}{#1}%
+ {\bbl@ifunset{bbl@\csname bbl@info@#2\endcsname @\languagename}{#1}%
+ {\bbl@cs{\csname bbl@info@#2\endcsname @\languagename}}}}
\newcommand\localeinfo[1]{%
- \bbl@ifunset{bbl@\csname bbl@info@#1\endcsname @\languagename}%
- {\bbl@error{I've found no info for the current locale.\\%
- The corresponding ini file has not been loaded\\%
- Perhaps it doesn't exist}%
- {See the manual for details.}}%
- {\bbl@cs{\csname bbl@info@#1\endcsname @\languagename}}}
+ \ifx*#1\@empty % TODO. A bit hackish to make it expandable.
+ \bbl@afterelse\bbl@localeinfo{}%
+ \else
+ \bbl@localeinfo
+ {\bbl@error{I've found no info for the current locale.\\%
+ The corresponding ini file has not been loaded\\%
+ Perhaps it doesn't exist}%
+ {See the manual for details.}}%
+ {#1}%
+ \fi}
\@namedef{bbl@info@tag.ini}{lini}
\@namedef{bbl@info@name.english}{elname}
\@namedef{bbl@info@name.opentype}{lname}
@@ -3587,6 +3619,9 @@
\@namedef{bbl@info@script.name.opentype}{sname}
\@namedef{bbl@info@script.tag.bcp47}{sbcp}
\@namedef{bbl@info@script.tag.opentype}{sotf}
+\@namedef{bbl@info@region.tag.bcp47}{rbcp}
+\@namedef{bbl@info@variant.tag.bcp47}{vbcp}
+\providecommand\BCPdata[1]{\localeinfo*{#1.tag.bcp47}}
\let\bbl@ensureinfo\@gobble
\newcommand\BabelEnsureInfo{%
\ifx\InputIfFileExists\@undefined\else
@@ -3596,6 +3631,9 @@
\bbl@foreach\bbl@loaded{{%
\def\languagename{##1}%
\bbl@ensureinfo{##1}}}}
+\@ifpackagewith{babel}{ensureinfo=off}{}%
+ {\AtEndOfPackage{% Test for plain.
+ \ifx\@undefined\bbl@loaded\else\BabelEnsureInfo\fi}}
\newcommand\getlocaleproperty{%
\@ifstar\bbl@getproperty@s\bbl@getproperty@x}
\def\bbl@getproperty@s#1#2#3{%
@@ -3989,11 +4027,7 @@
\else
\DeclareTextFontCommand{\textlatin}{\latintext}
\fi
-\bbl@ifformatlater{2021-06-01}%
- {\def\bbl@patchfont#1{\AddToHook{selectfont}{#1}}}
- {\def\bbl@patchfont#1{%
- \expandafter\bbl@add\csname selectfont \endcsname{#1}%
- \expandafter\bbl@toglobal\csname selectfont \endcsname}}
+\def\bbl@patchfont#1{\AddToHook{selectfont}{#1}}
\bbl@trace{Loading basic (internal) bidi support}
\ifodd\bbl@engine
\else % TODO. Move to txtbabel