diff options
author | Karl Berry <karl@freefriends.org> | 2022-05-22 20:24:00 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-05-22 20:24:00 +0000 |
commit | 77115f354b353e70a149626be8cf14e22f2d1502 (patch) | |
tree | e25dae193c66b5bbf0600ff9e0721da3b429ce6e /Master/texmf-dist/tex/generic/babel/babel.sty | |
parent | b7435fa062618aa6443677b4d2ea44bde4a46d54 (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.sty | 62 |
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 |