diff options
author | Karl Berry <karl@freefriends.org> | 2020-05-14 21:24:22 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-05-14 21:24:22 +0000 |
commit | 0ceebb71618356e1ae06cdfd3cff81e322f2307b (patch) | |
tree | fb643d2536a1177f17c7c90410226f1accef7c31 /Master/texmf-dist/tex/generic | |
parent | bb587f3190ec7933ee6a18e994099e566c6e8009 (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')
47 files changed, 602 insertions, 332 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}% diff --git a/Master/texmf-dist/tex/generic/babel/babel.sty b/Master/texmf-dist/tex/generic/babel/babel.sty index bfa5ab18295..b78bdcf26d3 100644 --- a/Master/texmf-dist/tex/generic/babel/babel.sty +++ b/Master/texmf-dist/tex/generic/babel/babel.sty @@ -33,7 +33,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2005/12/01] -\ProvidesPackage{babel}[2020/04/28 3.43 The Babel package] +\ProvidesPackage{babel}[2020/05/13 3.44 The Babel package] \@ifpackagewith{babel}{debug} {\providecommand\bbl@trace[1]{\message{^^J[ #1 ]}}% \let\bbl@debug\@firstofone} @@ -285,61 +285,6 @@ \global\let\@ifl@ter@@\@ifl@ter \def\@ifl@ter#1#2#3#4#5{\global\let\@ifl@ter\@ifl@ter@@}% \endinput}{}% -\ifodd\bbl@engine - \def\bbl@activate@preotf{% - \let\bbl@activate@preotf\relax % only once - \directlua{ - Babel = Babel or {} - % - function Babel.pre_otfload_v(head) - if Babel.numbers and Babel.digits_mapped then - head = Babel.numbers(head) - end - if Babel.bidi_enabled then - head = Babel.bidi(head, false, dir) - end - return head - end - % - function Babel.pre_otfload_h(head, gc, sz, pt, dir) - if Babel.numbers and Babel.digits_mapped then - head = Babel.numbers(head) - end - if Babel.bidi_enabled then - head = Babel.bidi(head, false, dir) - end - return head - end - % - luatexbase.add_to_callback('pre_linebreak_filter', - Babel.pre_otfload_v, - 'Babel.pre_otfload_v', - luatexbase.priority_in_callback('pre_linebreak_filter', - 'luaotfload.node_processor') or nil) - % - luatexbase.add_to_callback('hpack_filter', - Babel.pre_otfload_h, - 'Babel.pre_otfload_h', - luatexbase.priority_in_callback('hpack_filter', - 'luaotfload.node_processor') or nil) - }} - \let\bbl@tempa\relax - \@ifpackagewith{babel}{bidi=basic}% - {\def\bbl@tempa{basic}}% - {\@ifpackagewith{babel}{bidi=basic-r}% - {\def\bbl@tempa{basic-r}}% - {}} - \ifx\bbl@tempa\relax\else - \let\bbl@beforeforeign\leavevmode - \AtEndOfPackage{\EnableBabelHook{babel-bidi}}% - \RequirePackage{luatexbase}% - \directlua{ - require('babel-data-bidi.lua') - require('babel-bidi-\bbl@tempa.lua') - } - \bbl@activate@preotf - \fi -\fi \bbl@trace{key=value and another general options} \bbl@csarg\let{tempa\expandafter}\csname opt@babel.sty\endcsname \def\bbl@tempb#1.#2{% @@ -384,63 +329,13 @@ \DeclareOption{hyphenmap=select}{\chardef\bbl@opt@hyphenmap\tw@} \DeclareOption{hyphenmap=other}{\chardef\bbl@opt@hyphenmap\thr@@} \DeclareOption{hyphenmap=other*}{\chardef\bbl@opt@hyphenmap4\relax} -\ifodd\bbl@engine - \DeclareOption{bidi=basic-r}% - {\ExecuteOptions{bidi=basic}} - \DeclareOption{bidi=basic}% - {\let\bbl@beforeforeign\leavevmode - % TODO - to locale_props, not as separate attribute - \newattribute\bbl@attr@dir - % I don't like it, hackish: - \frozen@everymath\expandafter{% - \expandafter\bbl@mathboxdir\the\frozen@everymath}% - \frozen@everydisplay\expandafter{% - \expandafter\bbl@mathboxdir\the\frozen@everydisplay}% - \bbl@exp{\output{\bodydir\pagedir\the\output}}% - \AtEndOfPackage{\EnableBabelHook{babel-bidi}}} -\else - \DeclareOption{bidi=basic-r}% - {\ExecuteOptions{bidi=basic}} - \DeclareOption{bidi=basic}% - {\bbl@error - {The bidi method `basic' is available only in\\% - luatex. I'll continue with `bidi=default', so\\% - expect wrong results}% - {See the manual for further details.}% - \let\bbl@beforeforeign\leavevmode - \AtEndOfPackage{% - \EnableBabelHook{babel-bidi}% - \bbl@xebidipar}} - \def\bbl@loadxebidi#1{% - \ifx\RTLfootnotetext\@undefined - \AtEndOfPackage{% - \EnableBabelHook{babel-bidi}% - \ifx\fontspec\@undefined - \usepackage{fontspec}% bidi needs fontspec - \fi - \usepackage#1{bidi}}% - \fi} - \DeclareOption{bidi=bidi}% - {\bbl@tentative{bidi=bidi}% - \bbl@loadxebidi{}} - \DeclareOption{bidi=bidi-r}% - {\bbl@tentative{bidi=bidi-r}% - \bbl@loadxebidi{[rldocument]}} - \DeclareOption{bidi=bidi-l}% - {\bbl@tentative{bidi=bidi-l}% - \bbl@loadxebidi{}} -\fi -\DeclareOption{bidi=default}% - {\let\bbl@beforeforeign\leavevmode - \ifodd\bbl@engine - \newattribute\bbl@attr@dir - \bbl@exp{\output{\bodydir\pagedir\the\output}}% - \fi - \AtEndOfPackage{% - \EnableBabelHook{babel-bidi}% - \ifodd\bbl@engine\else - \bbl@xebidipar - \fi}} +\chardef\bbl@bidimode\z@ +\DeclareOption{bidi=default}{\chardef\bbl@bidimode=\@ne} +\DeclareOption{bidi=basic}{\chardef\bbl@bidimode=101 } +\DeclareOption{bidi=basic-r}{\chardef\bbl@bidimode=102 } +\DeclareOption{bidi=bidi}{\chardef\bbl@bidimode=201 } +\DeclareOption{bidi=bidi-r}{\chardef\bbl@bidimode=202 } +\DeclareOption{bidi=bidi-l}{\chardef\bbl@bidimode=203 } \let\bbl@opt@shorthands\@nnil \let\bbl@opt@config\@nnil \let\bbl@opt@main\@nnil @@ -778,9 +673,114 @@ \else \DeclareTextFontCommand{\textlatin}{\latintext} \fi -\bbl@trace{Basic (internal) bidi support} +\ifodd\bbl@engine + \def\bbl@activate@preotf{% + \let\bbl@activate@preotf\relax % only once + \directlua{ + Babel = Babel or {} + % + function Babel.pre_otfload_v(head) + if Babel.numbers and Babel.digits_mapped then + head = Babel.numbers(head) + end + if Babel.bidi_enabled then + head = Babel.bidi(head, false, dir) + end + return head + end + % + function Babel.pre_otfload_h(head, gc, sz, pt, dir) + if Babel.numbers and Babel.digits_mapped then + head = Babel.numbers(head) + end + if Babel.bidi_enabled then + head = Babel.bidi(head, false, dir) + end + return head + end + % + luatexbase.add_to_callback('pre_linebreak_filter', + Babel.pre_otfload_v, + 'Babel.pre_otfload_v', + luatexbase.priority_in_callback('pre_linebreak_filter', + 'luaotfload.node_processor') or nil) + % + luatexbase.add_to_callback('hpack_filter', + Babel.pre_otfload_h, + 'Babel.pre_otfload_h', + luatexbase.priority_in_callback('hpack_filter', + 'luaotfload.node_processor') or nil) + }} +\fi +\bbl@trace{Loading basic (internal) bidi support} +\ifodd\bbl@engine + \ifnum\bbl@bidimode>100 \ifnum\bbl@bidimode<200 + \let\bbl@beforeforeign\leavevmode + \AtEndOfPackage{\EnableBabelHook{babel-bidi}} + \RequirePackage{luatexbase} + \bbl@activate@preotf + \directlua{ + require('babel-data-bidi.lua') + \ifcase\expandafter\@gobbletwo\the\bbl@bidimode\or + require('babel-bidi-basic.lua') + \or + require('babel-bidi-basic-r.lua') + \fi} + % TODO - to locale_props, not as separate attribute + \newattribute\bbl@attr@dir + % TODO. I don't like it, hackish: + \bbl@exp{\output{\bodydir\pagedir\the\output}} + \AtEndOfPackage{\EnableBabelHook{babel-bidi}} + \fi\fi +\else + \ifnum\bbl@bidimode>100 \ifnum\bbl@bidimode<200 + \bbl@error + {The bidi method `basic' is available only in\\% + luatex. I'll continue with `bidi=default', so\\% + expect wrong results}% + {See the manual for further details.}% + \let\bbl@beforeforeign\leavevmode + \AtEndOfPackage{% + \EnableBabelHook{babel-bidi}% + \bbl@xebidipar} + \fi\fi + \def\bbl@loadxebidi#1{% + \ifx\RTLfootnotetext\@undefined + \AtEndOfPackage{% + \EnableBabelHook{babel-bidi}% + \ifx\fontspec\@undefined + \usepackage{fontspec}% bidi needs fontspec + \fi + \usepackage#1{bidi}}% + \fi} + \ifnum\bbl@bidimode>200 + \ifcase\expandafter\@gobbletwo\the\bbl@bidimode\or + \bbl@tentative{bidi=bidi} + \bbl@loadxebidi{} + \or + \bbl@tentative{bidi=bidi-r} + \bbl@loadxebidi{[rldocument]} + \or + \bbl@tentative{bidi=bidi-l} + \bbl@loadxebidi{} + \fi + \fi +\fi +\ifnum\bbl@bidimode=\@ne + \let\bbl@beforeforeign\leavevmode + \ifodd\bbl@engine + \newattribute\bbl@attr@dir + \bbl@exp{\output{\bodydir\pagedir\the\output}}% + \fi + \AtEndOfPackage{% + \EnableBabelHook{babel-bidi}% + \ifodd\bbl@engine\else + \bbl@xebidipar + \fi} +\fi +\bbl@trace{Macros to switch the text direction} \def\bbl@alscripts{,Arabic,Syriac,Thaana,} -\def\bbl@rscripts{% +\def\bbl@rscripts{% TODO. Base on codes ?? ,Imperial Aramaic,Avestan,Cypriot,Hatran,Hebrew,% Old Hungarian,Old Hungarian,Lydian,Mandaean,Manichaean,% Manichaean,Meroitic Cursive,Meroitic,Old North Arabian,% @@ -817,9 +817,9 @@ \bbl@pardir{#1}% \fi \bbl@textdir{#1}} +\AddBabelHook{babel-bidi}{afterextras}{\bbl@switchdir} +\DisableBabelHook{babel-bidi} \ifodd\bbl@engine % luatex=1 - \AddBabelHook{babel-bidi}{afterextras}{\bbl@switchdir} - \DisableBabelHook{babel-bidi} \chardef\bbl@thetextdir\z@ \chardef\bbl@thepardir\z@ \def\bbl@getluadir#1{% @@ -857,9 +857,11 @@ \else \everyhbox{\textdir TRT\relax}% \fi} + \frozen@everymath\expandafter{% + \expandafter\bbl@mathboxdir\the\frozen@everymath} + \frozen@everydisplay\expandafter{% + \expandafter\bbl@mathboxdir\the\frozen@everydisplay} \else % pdftex=0, xetex=2 - \AddBabelHook{babel-bidi}{afterextras}{\bbl@switchdir} - \DisableBabelHook{babel-bidi} \newcount\bbl@dirlevel \chardef\bbl@thetextdir\z@ \chardef\bbl@thepardir\z@ @@ -916,20 +918,18 @@ \newtoks\everypar \everypar=\bbl@severypar \bbl@severypar{\bbl@xeeverypar\the\everypar}} - \def\bbl@tempb{% + \ifnum\bbl@bidimode>200 \let\bbl@textdir@i\@gobbletwo \let\bbl@xebidipar\@empty \AddBabelHook{bidi}{foreign}{% - \def\bbl@tempa{\def\BabelText########1}% + \def\bbl@tempa{\def\BabelText####1}% \ifcase\bbl@thetextdir - \expandafter\bbl@tempa\expandafter{\BabelText{\LR{####1}}}% + \expandafter\bbl@tempa\expandafter{\BabelText{\LR{##1}}}% \else - \expandafter\bbl@tempa\expandafter{\BabelText{\RL{####1}}}% + \expandafter\bbl@tempa\expandafter{\BabelText{\RL{##1}}}% \fi} - \def\bbl@pardir##1{\ifcase##1\relax\setLR\else\setRL\fi}} - \@ifpackagewith{babel}{bidi=bidi}{\bbl@tempb}{}% - \@ifpackagewith{babel}{bidi=bidi-l}{\bbl@tempb}{}% - \@ifpackagewith{babel}{bidi=bidi-r}{\bbl@tempb}{}% + \def\bbl@pardir#1{\ifcase#1\relax\setLR\else\setRL\fi} + \fi \fi \DeclareRobustCommand\babelsublr[1]{\leavevmode{\bbl@textdir\z@#1}} \AtBeginDocument{% @@ -984,8 +984,6 @@ {\bbl@load@language{\CurrentOption}}% {#1\bbl@load@language{#2}#3}} \DeclareOption{afrikaans}{\bbl@try@load@lang{}{dutch}{}} -\DeclareOption{brazil}{\bbl@try@load@lang{}{portuges}{}} -\DeclareOption{brazilian}{\bbl@try@load@lang{}{portuges}{}} \DeclareOption{hebrew}{% \input{rlbabel.def}% \bbl@load@language{hebrew}} @@ -994,7 +992,6 @@ \DeclareOption{nynorsk}{\bbl@try@load@lang{}{norsk}{}} \DeclareOption{polutonikogreek}{% \bbl@try@load@lang{}{greek}{\languageattribute{greek}{polutoniko}}} -\DeclareOption{portuguese}{\bbl@try@load@lang{}{portuges}{}} \DeclareOption{russian}{\bbl@try@load@lang{}{russianb}{}} \DeclareOption{ukrainian}{\bbl@try@load@lang{}{ukraineb}{}} \DeclareOption{uppersorbian}{\bbl@try@load@lang{}{usorbian}{}} diff --git a/Master/texmf-dist/tex/generic/babel/hyphen.cfg b/Master/texmf-dist/tex/generic/babel/hyphen.cfg index a66ac1fbcda..ea15f47a235 100644 --- a/Master/texmf-dist/tex/generic/babel/hyphen.cfg +++ b/Master/texmf-dist/tex/generic/babel/hyphen.cfg @@ -37,10 +37,10 @@ \wlog{File: #1 #4 #3 <#2>}% \let\ProvidesFile\@undefined} \fi -\ProvidesFile{hyphen.cfg}[2020/04/28 3.43 Babel hyphens] +\ProvidesFile{hyphen.cfg}[2020/05/13 3.44 Babel hyphens] \xdef\bbl@format{\jobname} -\def\bbl@version{3.43} -\def\bbl@date{2020/04/28} +\def\bbl@version{3.44} +\def\bbl@date{2020/05/13} \ifx\AtBeginDocument\@undefined \def\@empty{} \let\orig@dump\dump diff --git a/Master/texmf-dist/tex/generic/babel/locale/af/babel-af.ini b/Master/texmf-dist/tex/generic/babel/locale/af/babel-af.ini index cc6a4598186..b4fd908668f 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/af/babel-af.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/af/babel-af.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.2 -date = 2020-03-22 +version = 1.3 +date = 2020-05-05 name.local = Afrikaans name.english = Afrikaans name.babel = afrikaans @@ -157,7 +157,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "27 "2D +hyphenate.other.locale = "27 "2D [characters] delimiters.quotes = “”‘’ diff --git a/Master/texmf-dist/tex/generic/babel/locale/am/babel-am.ini b/Master/texmf-dist/tex/generic/babel/locale/am/babel-am.ini index 99063c5eda2..019a4d487b7 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/am/babel-am.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/am/babel-am.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.1 -date = 2020-03-22 +version = 1.2 +date = 2020-05-05 name.local = አማርኛ name.english = Amharic name.babel = amharic @@ -148,9 +148,10 @@ time.short = [h]:[mm] [a] [typography] frenchspacing = -hyphenrules = -lefthyphenmin = 2 -righthyphenmin = 2 +; Modern practice. Use 'amharic' for the traditional one: +hyphenrules = babelnohyphens +lefthyphenmin = 1 +righthyphenmin = 1 hyphenchar = prehyphenchar = posthyphenchar = @@ -158,8 +159,13 @@ exhyphenchar = preexhyphenchar = postexhyphenchar = hyphenationmin = +linebreaking = s +intraspace = 0 .1 0 +; The syntax is liable to change in 'other' values +hyphenate.other.script = "1361 "1362 "1363 "1364 "1365 "1366 "1367 "1368 [characters] +ranges = 1200..139F 2D80..2DDF AB00..AB2F delimiters.quotes = «»‹› auxiliary = [] exemplarCharacters = [ሀ ሁ ሂ ሃ ሄ ህ ሆ ለ ሉ ሊ ላ ሌ ል ሎ ሏ ሐ ሑ ሒ ሓ ሔ ሕ ሖ ሗ መ ሙ ሚ ማ ሜ ም ሞ ሟ ሠ ሡ ሢ ሣ ሤ ሥ ሦ ሧ ረ ሩ ሪ ራ ሬ ር ሮ ሯ ሰ ሱ ሲ ሳ ሴ ስ ሶ ሷ ሸ ሹ ሺ ሻ ሼ ሽ ሾ ሿ ቀ ቁ ቂ ቃ ቄ ቅ ቆ ቈ ቊ ቋ ቌ ቍ በ ቡ ቢ ባ ቤ ብ ቦ ቧ ቨ ቩ ቪ ቫ ቬ ቭ ቮ ቯ ተ ቱ ቲ ታ ቴ ት ቶ ቷ ቸ ቹ ቺ ቻ ቼ ች ቾ ቿ ኀ ኁ ኂ ኃ ኄ ኅ ኆ ኈ ኊ ኋ ኌ ኍ ነ ኑ ኒ ና ኔ ን ኖ ኗ ኘ ኙ ኚ ኛ ኜ ኝ ኞ ኟ አ ኡ ኢ ኣ ኤ እ ኦ ኧ ከ ኩ ኪ ካ ኬ ክ ኮ ኰ ኲ ኳ ኴ ኵ ኸ ኹ ኺ ኻ ኼ ኽ ኾ ወ ዉ ዊ ዋ ዌ ው ዎ ዐ ዑ ዒ ዓ ዔ ዕ ዖ ዘ ዙ ዚ ዛ ዜ ዝ ዞ ዟ ዠ ዡ ዢ ዣ ዤ ዥ ዦ ዧ የ ዩ ዪ ያ ዬ ይ ዮ ደ ዱ ዲ ዳ ዴ ድ ዶ ዷ ጀ ጁ ጂ ጃ ጄ ጅ ጆ ጇ ገ ጉ ጊ ጋ ጌ ግ ጎ ጐ ጒ ጓ ጔ ጕ ጠ ጡ ጢ ጣ ጤ ጥ ጦ ጧ ጨ ጩ ጪ ጫ ጬ ጭ ጮ ጯ ጰ ጱ ጲ ጳ ጴ ጵ ጶ ጷ ጸ ጹ ጺ ጻ ጼ ጽ ጾ ጿ ፀ ፁ ፂ ፃ ፄ ፅ ፆ ፈ ፉ ፊ ፋ ፌ ፍ ፎ ፏ ፐ ፑ ፒ ፓ ፔ ፕ ፖ ፗ] @@ -181,3 +187,28 @@ plusSign = + superscriptingExponent = × [counters] +; suffix is ፦ +; These counters actually belong to different Ethiopic languages +; They have been taken directly from CSS +afar = ሀ ለ ሐ መ ረ ሰ በ ተ ነ አ ከ ወ ዐ የ ደ ዸ ገ ጸ ፈ +agaw = ሀ ለ ሐ መ ረ ሰ ሸ ቀ ቐ በ ቨ ተ ቸ ነ ኘ ጀ ገ ጘ ጠ ጨ ጰ ጸ ፈ ፐ +ari = ሀ ለ መ ረ ሰ ሸ በ ቨ ተ ቸ ነ ጀ ገ ጨ ፀ ፐ +blin = ሀ ለ ሐ መ ሰ ሸ ረ ቀ ቐ በ ተ ነ ጀ ገ ጘ ጠ ጨ ፈ ቸ ኘ ጸ ጰ ፐ +dizi = ሀ ለ መ ረ ሰ ሸ ቀ በ ተ ቸ ነ ኘ ጀ ገ ጠ ጨ ጸ ፀ ፈ +gedeo = ሀ ለ መ ረ ሰ ሸ ቀ በ ተ ቸ ነ ጀ ገ ጠ ጨ ጰ ጸ ፈ ፐ +gumuz = ሀ ሐ ለ ሐ መ ረ ሰ ሸ ቀ በ ቨ ተ ቸ ነ ኘ ገ ጨ ጰ ፀ ፐ +hadiyya = ሀ ለ መ ረ ሰ ሸ ቀ በ ተ ቸ ነ ጀ ገ ጠ ጨ ጰ ፈ ፐ +harari = ሐ ለ መ ረ ሰ ሸ ቀ በ ተ ቸ ነ ኘ ጀ ገ ጠ ጨ ፈ +kaffa = ሀ ለ ሐ መ ሠ ረ ሰ ሸ ቀ በ ተ ቸ ኀ ነ ጀ ገ ጠ ጨ ጰ ፈ ፐ +kebena = ሀ ለ መ ረ ሰ ሸ ቀ በ ተ ቸ ነ ጀ ገ ጠ ጨ ጰ ፈ ፐ +kembata = ሀ ለ መ ረ ሰ ሸ ቀ በ ቨ ተ ቸ ነ ጀ ገ ጠ ጨ ጰ ፈ +konso = ሀ ለ መ ረ ሰ ሸ ቀ በ ተ ቸ ነ ኘ ጀ ፈ ፐ +kunama = ሀ ለ መ ረ ሰ ሸ በ ተ ቸ ነ ኘ ጀ ገ +meen = ሀ ለ መ ረ ሰ ሸ ቀ በ ተ ቸ ኀ ነ ኘ ጀ ገ ጠ ጨ ጰ ፐ ፀ +oromo = ሀ ለ መ ረ ሰ ሸ ቀ በ ተ ቸ ነ ኘ አ ከ ወ የ ደ ዸ ጀ ገ ጠ ጨ ጰ ጸ ፈ +saho = ሀ ለ ሐ መ ረ ሰ ቀ በ ተ ነ ገ ጠ ጨ ጰ ጸ ፈ +sidama = ሀ ለ መ ረ ሰ ሸ ቀ በ ተ ቸ ነ ኘ አ ከ ወ የ ደ ዸ ጀ ገ ጠ ጨ ጰ ጸ ፈ +silti = ሀ ለ መ ረ ሰ ሸ ቀ በ ተ ቸ ነ ኘ ጀ ገ ጠ ጨ ጰ ፈ +tigre = ሀ ለ ሐ መ ረ ሰ ሸ ቀ በ ተ ቸ ነ አ ከ ወ ዐ ዘ የ ደ ጀ ገ ጠ ጨ ጰ ጸ ፈ ፐ +wolaita = ሀ ለ መ ረ ሰ ሸ ቀ በ ተ ቸ ነ ኘ ሰ ገ ጠ ጨ ጰ ጸ ፀ ፈ ፐ +yemsa = ሀ ለ መ ረ ሰ ሸ ቀ በ ቨ ተ ቸ ነ ኘ ጀ ገ ጘ ጠ ጨ ጰ ፈ ፐ
\ No newline at end of file diff --git a/Master/texmf-dist/tex/generic/babel/locale/as/babel-as.ini b/Master/texmf-dist/tex/generic/babel/locale/as/babel-as.ini index 19f4e7458de..541e28b05e4 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/as/babel-as.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/as/babel-as.ini @@ -12,8 +12,8 @@ [identification] charset = utf8 -version = 1.5 -date = 2020-04-07 +version = 1.6 +date = 2020-05-05 name.local = অসমীয়া name.english = Assamese name.babel = assamese @@ -122,7 +122,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "200C "200D +hyphenate.other.locale = "200C "200D [characters] delimiters.quotes = “”‘’ diff --git a/Master/texmf-dist/tex/generic/babel/locale/be/babel-be.ini b/Master/texmf-dist/tex/generic/babel/locale/be/babel-be.ini index ab7c2d83e1d..aa0b05d5cfa 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/be/babel-be.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/be/babel-be.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.3 -date = 2020-03-22 +version = 1.4 +date = 2020-05-05 name.local = беларуская name.english = Belarusian name.babel = belarusian @@ -159,7 +159,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "27 "2D +hyphenate.other.locale = "27 "2D [characters] delimiters.quotes = «»„“ diff --git a/Master/texmf-dist/tex/generic/babel/locale/bn/babel-bn.ini b/Master/texmf-dist/tex/generic/babel/locale/bn/babel-bn.ini index 9025457047f..397cbfe2da4 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/bn/babel-bn.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/bn/babel-bn.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.5 -date = 2020-04-22 +version = 1.6 +date = 2020-05-05 name.local = বাংলা name.english = Bangla name.babel = bengali @@ -122,7 +122,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "200C "200D +hyphenate.other.locale = "200C "200D [characters] delimiters.quotes = “”‘’ diff --git a/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu-Cyrs.ini b/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu-Cyrs.ini index c03b87f3b77..77d01bc6a8a 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu-Cyrs.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu-Cyrs.ini @@ -9,8 +9,8 @@ [identification] charset = utf8 -version = 1.1 -date = 2020-03-22 +version = 1.2 +date = 2020-05-05 name.local = словѣ́ньскъ ѩꙁꙑ́къ name.english = Church Slavic name.babel = churchslavic-oldcyrillic @@ -81,7 +81,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "2D +hyphenate.other.locale = "2D [characters] delimiters.quotes.0 = “”‘’ diff --git a/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu.ini b/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu.ini index 628d207d766..d06af3d69fe 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu.ini @@ -9,8 +9,8 @@ [identification] charset = utf8 -version = 1.1 -date = 2020-03-22 +version = 1.2 +date = 2020-05-05 name.local = црькъвьнословѣньскъ ѩзыкъ name.english = Church Slavic name.babel = churchslavic churchslavonic @@ -81,7 +81,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "2D +hyphenate.other.locale = "2D [characters] delimiters.quotes.0 = “”‘’ diff --git a/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini b/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini index d79d284c0ee..494a2fa36ab 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini @@ -4,8 +4,8 @@ [identification] charset = utf8 -version = 0.4 -date = 2020-03-22 +version = 0.5 +date = 2020-05-05 name.local = Ἐλληνικά ; Name from https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry name.english = Polytonic Greek @@ -154,7 +154,8 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "0027 "2019 "02BC "1FBD "1FBF +hyphenate.other.locale = "0027 "2019 "02BC +hyphenate.other.script = "1FBD "1FBF [characters] delimiters.quotes = «»“” diff --git a/Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini b/Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini index 48b7b1f4321..8db2d599f5d 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.3 -date = 2020-03-22 +version = 1.4 +date = 2020-05-05 name.local = Ελληνικά name.english = Greek name.babel = greek @@ -160,7 +160,8 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "0027 "2019 "02BC "1FBD "1FBF +hyphenate.other.locale = "0027 "2019 "02BC +hyphenate.other.script = "1FBD "1FBF [characters] delimiters.quotes = «»“” diff --git a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-BE.ini b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-BE.ini index e7d628a48a7..283458bea7f 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-BE.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-BE.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 0.96 -date = 2020-03-22 +version = 0.97 +date = 2020-05-05 name.local = français name.english = French name.babel = french-belgium french-be @@ -27,7 +27,6 @@ script.tag.opentype = latn level = 1 encodings = T1 OT1 LY1 derivate = no -warning = The `french' date format may not be suitable\\for proper typesetting, and therefore very likely\\it will change in a future release. [captions] preface = Préface @@ -76,7 +75,7 @@ proof = D\'emonstration glossary = Glossaire [date.gregorian] -date.long = [d] [MMMM] [y] +date.long = [d|date.day] [MMMM] [y] date.short = [d]/[MM]/[yy] months.wide.1 = janvier months.wide.2 = février @@ -161,7 +160,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "27 +hyphenate.other.locale = "27 [characters] delimiters.quotes = «»«» @@ -186,3 +185,4 @@ plusSign = + superscriptingExponent = × [counters] +date.day = 1\textsuperscript{er} 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
\ No newline at end of file diff --git a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CA.ini b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CA.ini index 9b514576a4f..2b9b7516c08 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CA.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CA.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 0.96 -date = 2020-03-22 +version = 0.97 +date = 2020-05-05 name.local = français name.english = French name.babel = french-canada @@ -28,7 +28,6 @@ script.tag.opentype = latn level = 1 encodings = T1 OT1 LY1 derivate = no -warning = The `french' date format may not be suitable\\for proper typesetting, and therefore very likely\\it will change in a future release. [captions] preface = Préface @@ -77,7 +76,7 @@ proof = D\'emonstration glossary = Glossaire [date.gregorian] -date.long = [d] [MMMM] [y] +date.long = [d|date.day] [MMMM] [y] date.short = [yy]-[MM]-[dd] months.wide.1 = janvier months.wide.2 = février @@ -162,7 +161,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "27 +hyphenate.other.locale = "27 [characters] delimiters.quotes = «»”“ @@ -187,3 +186,4 @@ plusSign = + superscriptingExponent = × [counters] +date.day = 1\textsuperscript{er} 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
\ No newline at end of file diff --git a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CH.ini b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CH.ini index 93864e95bfe..b94a88c34de 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CH.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CH.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 0.96 -date = 2020-03-22 +version = 0.97 +date = 2020-05-05 name.local = français name.english = French name.babel = french-switzerland @@ -28,7 +28,6 @@ script.tag.opentype = latn level = 1 encodings = T1 OT1 LY1 derivate = no -warning = The `french' date format may not be suitable\\for proper typesetting, and therefore very likely\\it will change in a future release. [captions] preface = Préface @@ -77,7 +76,7 @@ proof = D\'emonstration glossary = Glossaire [date.gregorian] -date.long = [d] [MMMM] [y] +date.long = [d|date.day] [MMMM] [y] date.short = [dd].[MM].[yy] months.wide.1 = janvier months.wide.2 = février @@ -162,7 +161,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "27 +hyphenate.other.locale = "27 [characters] delimiters.quotes = «»‹› @@ -187,3 +186,4 @@ plusSign = + superscriptingExponent = × [counters] +date.day = 1\textsuperscript{er} 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
\ No newline at end of file diff --git a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-LU.ini b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-LU.ini index f070696d745..7e1c84457c1 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-LU.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-LU.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 0.96 -date = 2020-03-22 +version = 0.97 +date = 2020-05-05 name.local = français name.english = French name.babel = french-luxembourg @@ -28,7 +28,6 @@ script.tag.opentype = latn level = 1 encodings = T1 OT1 LY1 derivate = no -warning = The `french' date format may not be suitable\\for proper typesetting, and therefore very likely\\it will change in a future release. [captions] preface = Préface @@ -77,7 +76,7 @@ proof = D\'emonstration glossary = Glossaire [date.gregorian] -date.long = [d] [MMMM] [y] +date.long = [d|date.day] [MMMM] [y] date.short = [dd]/[MM]/[y] months.wide.1 = janvier months.wide.2 = février @@ -162,7 +161,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "27 +hyphenate.other.locale = "27 [characters] delimiters.quotes = «»«» @@ -187,3 +186,4 @@ plusSign = + superscriptingExponent = × [counters] +date.day = 1\textsuperscript{er} 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
\ No newline at end of file diff --git a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr.ini b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr.ini index b80f066e95e..8567be44378 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 0.96 -date = 2020-03-22 +version = 0.97 +date = 2020-05-05 name.local = français name.english = French name.babel = french @@ -26,7 +26,6 @@ script.tag.opentype = latn level = 1 encodings = T1 OT1 LY1 derivate = no -warning = The `french' date format may not be suitable\\for proper typesetting, and therefore very likely\\it will change in a future release. [captions] preface = Préface @@ -75,7 +74,7 @@ proof = D\'emonstration glossary = Glossaire [date.gregorian] -date.long = [d] [MMMM] [y] +date.long = [d|date.day] [MMMM] [y] date.short = [dd]/[MM]/[y] months.wide.1 = janvier months.wide.2 = février @@ -160,7 +159,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "27 +hyphenate.other.locale = "27 [characters] delimiters.quotes = «»«» @@ -185,3 +184,4 @@ plusSign = + superscriptingExponent = × [counters] +date.day = 1\textsuperscript{er} 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
\ No newline at end of file diff --git a/Master/texmf-dist/tex/generic/babel/locale/fur/babel-fur.ini b/Master/texmf-dist/tex/generic/babel/locale/fur/babel-fur.ini index 3b149f5ef95..1aaa01d3e17 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/fur/babel-fur.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/fur/babel-fur.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.2 -date = 2020-03-22 +version = 1.3 +date = 2020-05-05 name.local = furlan name.english = Friulian name.babel = friulian @@ -159,7 +159,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "27 +hyphenate.other.locale = "27 [characters] delimiters.quotes = ‘’“” diff --git a/Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini b/Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini index 41a29fd0fd2..d199a530956 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.2 -date = 2020-03-22 +version = 1.3 +date = 2020-05-05 name.local = Αρχαία ελληνικά name.english = Ancient Greek name.babel = greek @@ -147,7 +147,8 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "0027 "2019 "02BC "1FBD "1FBF +hyphenate.other.locale = "0027 "2019 "02BC +hyphenate.other.script = "1FBD "1FBF [characters] delimiters.quotes = «»“” diff --git a/Master/texmf-dist/tex/generic/babel/locale/gu/babel-gu.ini b/Master/texmf-dist/tex/generic/babel/locale/gu/babel-gu.ini index 8b14a7cd3db..20088b03bc5 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/gu/babel-gu.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/gu/babel-gu.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.4 -date = 2020-03-22 +version = 1.5 +date = 2020-05-05 name.local = ગુજરાતી name.english = Gujarati name.babel = gujarati @@ -144,7 +144,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "200C "200D +hyphenate.other.locale = "200C "200D [characters] delimiters.quotes = “”‘’ diff --git a/Master/texmf-dist/tex/generic/babel/locale/hi/babel-hi.ini b/Master/texmf-dist/tex/generic/babel/locale/hi/babel-hi.ini index c13cb8773eb..7c6f98aa1ca 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/hi/babel-hi.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/hi/babel-hi.ini @@ -12,8 +12,8 @@ [identification] charset = utf8 -version = 1.4 -date = 2020-03-22 +version = 1.5 +date = 2020-05-05 name.local = हिन्दी name.english = Hindi name.babel = hindi @@ -172,7 +172,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "200C "200D +hyphenate.other.locale = "200C "200D [characters] delimiters.quotes = “”‘’ diff --git a/Master/texmf-dist/tex/generic/babel/locale/hy/babel-hy.ini b/Master/texmf-dist/tex/generic/babel/locale/hy/babel-hy.ini index 5bedc981d83..0b5161c49f4 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/hy/babel-hy.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/hy/babel-hy.ini @@ -13,8 +13,8 @@ [identification] charset = utf8 -version = 1.4 -date = 2020-04-20 +version = 1.5 +date = 2020-05-05 name.local = հայերեն name.english = Armenian name.babel = armenian @@ -147,7 +147,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "200C "200D +hyphenate.other.locale = "200C "200D [characters] delimiters.quotes = «»«» diff --git a/Master/texmf-dist/tex/generic/babel/locale/it/babel-it.ini b/Master/texmf-dist/tex/generic/babel/locale/it/babel-it.ini index e26f479615f..72d8c766567 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/it/babel-it.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/it/babel-it.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.2 -date = 2020-03-22 +version = 1.3 +date = 2020-05-05 name.local = italiano name.english = Italian name.babel = italian @@ -159,7 +159,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "27 +hyphenate.other.locale = "27 [characters] delimiters.quotes = «»“” diff --git a/Master/texmf-dist/tex/generic/babel/locale/kn/babel-kn.ini b/Master/texmf-dist/tex/generic/babel/locale/kn/babel-kn.ini index be87bfd8425..646fcfc2361 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/kn/babel-kn.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/kn/babel-kn.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.4 -date = 2020-03-22 +version = 1.5 +date = 2020-05-05 name.local = ಕನ್ನಡ name.english = Kannada name.babel = kannada @@ -127,7 +127,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "200C "200D +hyphenate.other.locale = "200C "200D [characters] delimiters.quotes = “”‘’ diff --git a/Master/texmf-dist/tex/generic/babel/locale/ml/babel-ml.ini b/Master/texmf-dist/tex/generic/babel/locale/ml/babel-ml.ini index 2079a4ee682..06194a8316b 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/ml/babel-ml.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/ml/babel-ml.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.4 -date = 2020-03-22 +version = 1.5 +date = 2020-05-05 name.local = മലയാളം name.english = Malayalam name.babel = malayalam @@ -133,7 +133,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "200C "200D +hyphenate.other.locale = "200C "200D [characters] delimiters.quotes = “”‘’ diff --git a/Master/texmf-dist/tex/generic/babel/locale/mr/babel-mr.ini b/Master/texmf-dist/tex/generic/babel/locale/mr/babel-mr.ini index 2456c009893..387f7963551 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/mr/babel-mr.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/mr/babel-mr.ini @@ -12,8 +12,8 @@ [identification] charset = utf8 -version = 1.5 -date = 2020-04-23 +version = 1.6 +date = 2020-05-05 name.local = मराठी name.english = Marathi name.babel = marathi @@ -123,7 +123,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "200C "200D +hyphenate.other.locale = "200C "200D [characters] delimiters.quotes = “”‘’ diff --git a/Master/texmf-dist/tex/generic/babel/locale/oc/babel-oc.ini b/Master/texmf-dist/tex/generic/babel/locale/oc/babel-oc.ini index 0bfd5f06040..6ccc24734ff 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/oc/babel-oc.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/oc/babel-oc.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 0.96 -date = 2020-03-22 +version = 0.97 +date = 2020-05-05 name.english = Occitan name.babel = occitan name.polyglossia = occitan @@ -115,7 +115,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "27 +hyphenate.other.locale = "27 [characters] delimiters.quotes = diff --git a/Master/texmf-dist/tex/generic/babel/locale/or/babel-or.ini b/Master/texmf-dist/tex/generic/babel/locale/or/babel-or.ini index 9aa13230571..9ea3419e88c 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/or/babel-or.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/or/babel-or.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.4 -date = 2020-03-22 +version = 1.5 +date = 2020-05-05 name.local = ଓଡ଼ିଆ name.english = Odia name.babel = oriya @@ -144,7 +144,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "200C "200D +hyphenate.other.locale = "200C "200D [characters] delimiters.quotes = “”‘’ diff --git a/Master/texmf-dist/tex/generic/babel/locale/pa/babel-pa-Guru.ini b/Master/texmf-dist/tex/generic/babel/locale/pa/babel-pa-Guru.ini index 2baefa78c5c..ab495cfb419 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/pa/babel-pa-Guru.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/pa/babel-pa-Guru.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.4 -date = 2020-03-22 +version = 1.5 +date = 2020-05-05 name.local = ਪੰਜਾਬੀ name.english = Punjabi name.babel = punjabi-gurmukhi punjabi-guru @@ -143,7 +143,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "200C "200D +hyphenate.other.locale = "200C "200D [characters] delimiters.quotes = “”‘’ diff --git a/Master/texmf-dist/tex/generic/babel/locale/pa/babel-pa.ini b/Master/texmf-dist/tex/generic/babel/locale/pa/babel-pa.ini index 3b261a25050..c68682d52a1 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/pa/babel-pa.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/pa/babel-pa.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.4 -date = 2020-03-22 +version = 1.5 +date = 2020-05-05 name.local = ਪੰਜਾਬੀ name.english = Punjabi name.babel = punjabi @@ -144,7 +144,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "200C "200D +hyphenate.other.locale = "200C "200D [characters] delimiters.quotes = “”‘’ diff --git a/Master/texmf-dist/tex/generic/babel/locale/pms/babel-pms.ini b/Master/texmf-dist/tex/generic/babel/locale/pms/babel-pms.ini index 08b72239c71..dcc4cfd365a 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/pms/babel-pms.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/pms/babel-pms.ini @@ -12,7 +12,7 @@ [identification] charset = utf8 version = 1.2 -date = 2020-03-22 +date = 2020-05-05 name.english = Piedmontese name.babel = piedmontese name.polyglossia = piedmontese @@ -114,7 +114,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "27 +hyphenate.other.locale = "27 [characters] delimiters.quotes = diff --git a/Master/texmf-dist/tex/generic/babel/locale/pt/babel-pt-BR.ini b/Master/texmf-dist/tex/generic/babel/locale/pt/babel-pt-BR.ini index a50ff40ed5e..17eaaa92b1b 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/pt/babel-pt-BR.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/pt/babel-pt-BR.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.2 -date = 2020-03-22 +version = 1.3 +date = 2020-05-05 name.local = português name.english = Portuguese name.babel = brazilian portuguese-brazil portuguese-br @@ -162,7 +162,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "2D +hyphenate.other.locale = "2D [characters] delimiters.quotes = “”‘’ diff --git a/Master/texmf-dist/tex/generic/babel/locale/pt/babel-pt-PT.ini b/Master/texmf-dist/tex/generic/babel/locale/pt/babel-pt-PT.ini index 3bfc225614e..52dba7ef296 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/pt/babel-pt-PT.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/pt/babel-pt-PT.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.2 -date = 2020-03-22 +version = 1.3 +date = 2020-05-04 name.local = português name.english = Portuguese name.babel = portuguese portuguese-portugal portuguese-pt @@ -79,18 +79,18 @@ glossary = Gloss\'ario [date.gregorian] date.long = [d] de [MMMM] de [y] date.short = [dd]/[MM]/[y] -months.wide.1 = Janeiro -months.wide.2 = Fevereiro -months.wide.3 = Março -months.wide.4 = Abril -months.wide.5 = Maio -months.wide.6 = Junho -months.wide.7 = Julho -months.wide.8 = Agosto -months.wide.9 = Setembro -months.wide.10 = Outubro -months.wide.11 = Novembro -months.wide.12 = Dezembro +months.wide.1 = janeiro +months.wide.2 = fevereiro +months.wide.3 = março +months.wide.4 = abril +months.wide.5 = maio +months.wide.6 = junho +months.wide.7 = julho +months.wide.8 = agosto +months.wide.9 = setembro +months.wide.10 = outubro +months.wide.11 = novembro +months.wide.12 = dezembro months.narrow.1 = J months.narrow.2 = F months.narrow.3 = M @@ -132,18 +132,18 @@ dayPeriods.wide.am = AM dayPeriods.wide.pm = PM [date.gregorian.licr] -months.wide.1 = Janeiro -months.wide.2 = Fevereiro -months.wide.3 = Mar\c co -months.wide.4 = Abril -months.wide.5 = Maio -months.wide.6 = Junho -months.wide.7 = Julho -months.wide.8 = Agosto -months.wide.9 = Setembro -months.wide.10 = Outubro -months.wide.11 = Novembro -months.wide.12 = Dezembro +months.wide.1 = janeiro +months.wide.2 = fevereiro +months.wide.3 = mar\c co +months.wide.4 = abril +months.wide.5 = maio +months.wide.6 = junho +months.wide.7 = julho +months.wide.8 = agosto +months.wide.9 = setembro +months.wide.10 = outubro +months.wide.11 = novembro +months.wide.12 = dezembro [time.gregorian] time.medium = [HH]:[mm]:[ss] @@ -162,7 +162,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "2D +hyphenate.other.locale = "2D [characters] delimiters.quotes = “”‘’ diff --git a/Master/texmf-dist/tex/generic/babel/locale/pt/babel-pt.ini b/Master/texmf-dist/tex/generic/babel/locale/pt/babel-pt.ini index de45a791849..e91242ced8f 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/pt/babel-pt.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/pt/babel-pt.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.2 -date = 2020-03-22 +version = 1.3 +date = 2020-05-05 name.local = português name.english = Portuguese name.babel = portuguese @@ -159,7 +159,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "2D +hyphenate.other.locale = "2D [characters] delimiters.quotes = “”‘’ diff --git a/Master/texmf-dist/tex/generic/babel/locale/rm/babel-rm.ini b/Master/texmf-dist/tex/generic/babel/locale/rm/babel-rm.ini index 087f51409c0..99d38fa11a0 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/rm/babel-rm.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/rm/babel-rm.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.2 -date = 2020-03-22 +version = 1.3 +date = 2020-05-05 name.local = rumantsch name.english = Romansh name.babel = romansh @@ -159,7 +159,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "27 +hyphenate.other.locale = "27 [characters] delimiters.quotes = «»‹› diff --git a/Master/texmf-dist/tex/generic/babel/locale/ru/babel-ru.ini b/Master/texmf-dist/tex/generic/babel/locale/ru/babel-ru.ini index bb1e2e978e7..95bd75ef648 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/ru/babel-ru.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/ru/babel-ru.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.3 -date = 2020-03-22 +version = 1.4 +date = 2020-05-05 name.local = русский name.english = Russian name.babel = russian @@ -159,7 +159,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "2D +hyphenate.other.locale = "2D [characters] delimiters.quotes = «»„“ diff --git a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Beng.ini b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Beng.ini index eb51cb8843b..baddf3e7b63 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Beng.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Beng.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 0.8 -date = 2020-03-22 +version = 0.9 +date = 2020-05-05 name.english = Sanskrit name.babel = sanskrit tag.bcp47 = sa @@ -85,7 +85,8 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "200C "200D "0CF1 "0CF2 +hyphenate.other.locale = "200C "200D +hyphenate.other.script = "0CF1 "0CF2 [characters] delimiters.quotes.0 = diff --git a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Deva.ini b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Deva.ini index f947a895075..df9179b6bd7 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Deva.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Deva.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 0.8 -date = 2020-03-22 +version = 0.9 +date = 2020-05-05 name.local = संस्कृत name.english = Sanskrit name.babel = sanskrit @@ -86,7 +86,8 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "200C "200D "0CF1 "0CF2 +hyphenate.other.locale = "200C "200D +hyphenate.other.script = "0CF1 "0CF2 [characters] delimiters.quotes = diff --git a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Gujr.ini b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Gujr.ini index 3bb610d7760..d5e3eab4f6c 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Gujr.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Gujr.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 0.8 -date = 2020-03-22 +version = 0.9 +date = 2020-05-05 name.english = Sanskrit name.babel = sanskrit tag.bcp47 = sa @@ -85,7 +85,8 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "200C "200D "0CF1 "0CF2 +hyphenate.other.locale = "200C "200D +hyphenate.other.script = "0CF1 "0CF2 [characters] delimiters.quotes.0 = diff --git a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa.ini b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa.ini index a3ea6a76a6c..35a2cb511c2 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 0.8 -date = 2020-03-22 +version = 0.9 +date = 2020-05-05 name.english = Sanskrit name.babel = sanskrit name.polyglossia = sanskrit @@ -87,7 +87,8 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "200C "200D "0CF1 "0CF2 +hyphenate.other.locale = "200C "200D +hyphenate.other.script = "0CF1 "0CF2 [characters] delimiters.quotes.0 = diff --git a/Master/texmf-dist/tex/generic/babel/locale/ta/babel-ta.ini b/Master/texmf-dist/tex/generic/babel/locale/ta/babel-ta.ini index 85d394f0fba..5899b140a3e 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/ta/babel-ta.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/ta/babel-ta.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.5 -date = 2020-03-22 +version = 1.6 +date = 2020-05-05 name.local = தமிழ் name.english = Tamil name.babel = tamil @@ -145,7 +145,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "200C "200D +hyphenate.other.locale = "200C "200D [characters] delimiters.quotes = “”‘’ diff --git a/Master/texmf-dist/tex/generic/babel/locale/te/babel-te.ini b/Master/texmf-dist/tex/generic/babel/locale/te/babel-te.ini index 996f62eb676..33839db2455 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/te/babel-te.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/te/babel-te.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.4 -date = 2020-03-22 +version = 1.5 +date = 2020-05-05 name.local = తెలుగు name.english = Telugu name.babel = telugu @@ -122,7 +122,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "200C "200D +hyphenate.other.locale = "200C "200D [characters] delimiters.quotes = “”‘’ diff --git a/Master/texmf-dist/tex/generic/babel/locale/tk/babel-tk.ini b/Master/texmf-dist/tex/generic/babel/locale/tk/babel-tk.ini index 4d20ad47143..e51dfa31381 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/tk/babel-tk.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/tk/babel-tk.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.2 -date = 2020-03-22 +version = 1.3 +date = 2020-05-05 name.local = tk name.english = Turkmen name.babel = turkmen @@ -120,7 +120,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "2D +hyphenate.other.locale = "2D [characters] delimiters.quotes = “”“” diff --git a/Master/texmf-dist/tex/generic/babel/locale/uk/babel-uk.ini b/Master/texmf-dist/tex/generic/babel/locale/uk/babel-uk.ini index 6c427d52aa9..6dc66b4ba54 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/uk/babel-uk.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/uk/babel-uk.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.3 -date = 2020-03-22 +version = 1.4 +date = 2020-05-05 name.local = українська name.english = Ukrainian name.babel = ukrainian @@ -159,7 +159,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = ; The syntax is liable to change in 'other' values -hyphenate.other = "27 "2D +hyphenate.other.locale = "27 "2D [characters] delimiters.quotes = «»„“ diff --git a/Master/texmf-dist/tex/generic/babel/luababel.def b/Master/texmf-dist/tex/generic/babel/luababel.def index 1767810fa08..6420f102887 100644 --- a/Master/texmf-dist/tex/generic/babel/luababel.def +++ b/Master/texmf-dist/tex/generic/babel/luababel.def @@ -251,6 +251,7 @@ \endgroup \ifx\newattribute\@undefined\else \newattribute\bbl@attr@locale + \directlua{ Babel.attr_locale = luatexbase.registernumber'bbl@attr@locale'} \AddBabelHook{luatex}{beforeextras}{% \setattribute\bbl@attr@locale\localeid} \fi @@ -859,8 +860,8 @@ end \let\bbl@chprop@bmg\bbl@chprop@mirror \def\bbl@chprop@linebreak#1{% \directlua{ - Babel.Babel.cjk_characters[\the\count@] = Babel.Babel.cjk_characters[\the\count@] or {} - Babel.Babel.cjk_characters[\the\count@]['c'] = '#1' + Babel.cjk_characters[\the\count@] = Babel.cjk_characters[\the\count@] or {} + Babel.cjk_characters[\the\count@]['c'] = '#1' }} \let\bbl@chprop@lb\bbl@chprop@linebreak \def\bbl@chprop@locale#1{% @@ -874,7 +875,8 @@ end \catcode`\%=12 \catcode`\&=14 \directlua{ - Babel.linebreaking.replacements = {} + Babel.linebreaking.post_replacements = {} + Babel.linebreaking.pre_replacements = {} function Babel.str_to_nodes(fn, matches, base) local n, head, last @@ -900,25 +902,30 @@ end local word_nodes = {} local lang local item = head + local inmath = false while item do if item.id == 29 and not(item.char == 124) &% ie, not | and not(item.char == 61) &% ie, not = + and not inmath and (item.lang == lang or lang == nil) then lang = lang or item.lang word_string = word_string .. unicode.utf8.char(item.char) word_nodes[#word_nodes+1] = item - elseif item.id == 7 and item.subtype == 2 then + elseif item.id == 7 and item.subtype == 2 and not inmath then word_string = word_string .. '=' word_nodes[#word_nodes+1] = item - elseif item.id == 7 and item.subtype == 3 then + elseif item.id == 7 and item.subtype == 3 and not inmath then word_string = word_string .. '|' word_nodes[#word_nodes+1] = item + elseif item.id == node.id'math' then + inmath = (item.subtype == 0) + elseif word_string == '' then &% pass @@ -932,7 +939,7 @@ end function Babel.post_hyphenate_replace(head) local u = unicode.utf8 - local lbkr = Babel.linebreaking.replacements + local lbkr = Babel.linebreaking.post_replacements local word_head = head while true do @@ -1038,6 +1045,152 @@ end return head end + &%%% + &% Preliminary code for \babelprehyphenation + &% TODO. Copypaste pattern. Merge with fetch_word + function Babel.fetch_subtext(head, funct) + local word_string = '' + local word_nodes = {} + local lang + local item = head + local inmath = false + + while item do + + if item.id == 29 then + local locale = node.get_attribute(item, Babel.attr_locale) + + if not(item.char == 124) &% ie, not | = space + and not inmath + and (locale == lang or lang == nil) then + lang = lang or locale + word_string = word_string .. unicode.utf8.char(item.char) + word_nodes[#word_nodes+1] = item + end + + if item == node.tail(head) then + item = nil + return word_string, word_nodes, item, lang + end + + elseif item.id == 12 and item.subtype == 13 and not inmath then + word_string = word_string .. '|' + word_nodes[#word_nodes+1] = item + + if item == node.tail(head) then + item = nil + return word_string, word_nodes, item, lang + end + + elseif item.id == node.id'math' then + inmath = (item.subtype == 0) + + elseif word_string == '' then + &% pass + + else + return word_string, word_nodes, item, lang + end + + item = item.next + end + end + + &% TODO. Copypaste pattern. Merge with pre_hyphenate_replace + function Babel.pre_hyphenate_replace(head) + local u = unicode.utf8 + local lbkr = Babel.linebreaking.pre_replacements + local word_head = head + + while true do + local w, wn, nw, lang = Babel.fetch_subtext(word_head) + if not lang then return head end + + if not lbkr[lang] then + break + end + + for k=1, #lbkr[lang] do + local p = lbkr[lang][k].pattern + local r = lbkr[lang][k].replace + + while true do + local matches = { u.match(w, p) } + if #matches < 2 then break end + + local first = table.remove(matches, 1) + local last = table.remove(matches, #matches) + + &% Fix offsets, from bytes to unicode. + first = u.len(w:sub(1, first-1)) + 1 + last = u.len(w:sub(1, last-1)) + + local new &% used when inserting and removing nodes + local changed = 0 + + &% This loop traverses the replace list and takes the + &% corresponding actions + for q = first, last do + local crep = r[q-first+1] + local char_node = wn[q] + local char_base = char_node + + if crep and crep.data then + char_base = wn[crep.data+first-1] + end + + if crep == {} then + break + elseif crep == nil then + changed = changed + 1 + node.remove(head, char_node) + elseif crep and crep.string then + changed = changed + 1 + local str = crep.string(matches) + if str == '' then + if q == 1 then + word_head = char_node.next + end + head, new = node.remove(head, char_node) + elseif char_node.id == 29 and u.len(str) == 1 then + char_node.char = string.utfvalue(str) + else + local n + for s in string.utfvalues(str) do + if char_node.id == 7 then + log('Automatic hyphens cannot be replaced, just removed.') + else + n = node.copy(char_base) + end + n.char = s + if q == 1 then + head, new = node.insert_before(head, char_node, n) + word_head = new + else + node.insert_before(head, char_node, n) + end + end + + node.remove(head, char_node) + end &% string length + end &% if char and char.string + end &% for char in match + if changed > 20 then + texio.write('Too many changes. Ignoring the rest.') + elseif changed > 0 then + &% For one-to-one can we modifiy directly the + &% values without re-fetching? Very likely. + w, wn, nw = Babel.fetch_subtext(word_head) + end + + end &% for match + end &% for patterns + word_head = nw + end &% for words + return head + end + &%%% end of preliminary code for \babelprehyphenation + &% The following functions belong to the next macro &% This table stores capture maps, numbered consecutively @@ -1071,7 +1224,6 @@ end return "]]..Babel.capt_map(m[" .. capno .. "]," .. (mlen) .. ").." .. "[[" end - } \catcode`\#=6 \gdef\babelposthyphenation#1#2#3{&% @@ -1091,10 +1243,10 @@ end tex.print([[\string\babeltempa{{]] .. rep .. [[}}]]) }}}&% \directlua{ - local lbkr = Babel.linebreaking.replacements + local lbkr = Babel.linebreaking.post_replacements local u = unicode.utf8 &% Convert pattern: - local patt = string.gsub([[#2]], '%s', '') + local patt = string.gsub([==[#2]==], '%s', '') if not u.find(patt, '()', nil, true) then patt = '()' .. patt .. '()' end @@ -1107,12 +1259,47 @@ end { pattern = patt, replace = { \babeltempb } }) }&% \endgroup} +\gdef\babelprehyphenation#1#2#3{&% + \bbl@activateprehyphen + \begingroup + \def\babeltempa{\bbl@add@list\babeltempb}&% + \let\babeltempb\@empty + \bbl@foreach{#3}{&% + \bbl@ifsamestring{##1}{remove}&% + {\bbl@add@list\babeltempb{nil}}&% + {\directlua{ + local rep = [[##1]] + rep = rep:gsub('(string)%s*=%s*([^%s,]*)', Babel.capture_func) + tex.print([[\string\babeltempa{{]] .. rep .. [[}}]]) + }}}&% + \directlua{ + local lbkr = Babel.linebreaking.pre_replacements + local u = unicode.utf8 + &% Convert pattern: + local patt = string.gsub([==[#2]==], '%s', '') + if not u.find(patt, '()', nil, true) then + patt = '()' .. patt .. '()' + end + patt = u.gsub(patt, '{(.)}', + function (n) + return '%' .. (tonumber(n) and (tonumber(n)+1) or n) + end) + lbkr[\the\csname bbl@id@@#1\endcsname] = lbkr[\the\csname bbl@id@@#1\endcsname] or {} + table.insert(lbkr[\the\csname bbl@id@@#1\endcsname], + { pattern = patt, replace = { \babeltempb } }) + }&% + \endgroup} \endgroup \def\bbl@activateposthyphen{% \let\bbl@activateposthyphen\relax \directlua{ Babel.linebreaking.add_after(Babel.post_hyphenate_replace) }} +\def\bbl@activateprehyphen{% + \let\bbl@activateprehyphen\relax + \directlua{ + Babel.linebreaking.add_before(Babel.pre_hyphenate_replace) + }} \bbl@trace{Redefinitions for bidi layout} \ifx\@eqnnum\@undefined\else \ifx\bbl@attr@dir\@undefined\else @@ -1122,7 +1309,7 @@ end \fi \fi \ifx\bbl@opt@layout\@nnil\endinput\fi % if no layout -\ifx\bbl@beforeforeign\leavevmode % A poor test for bidi= +\ifnum\bbl@bidimode>\z@ \def\bbl@nextfake#1{% non-local changes, use always inside a group! \bbl@exp{% \mathdir\the\bodydir @@ -1211,7 +1398,7 @@ end \let\bbl@OL@p@enumiii\p@enumiii \def\p@enumiii{\p@enumii)\theenumii(}}{}}{} \bbl@trace{Bidi footnotes} -\ifx\bbl@beforeforeign\leavevmode +\ifnum\bbl@bidimode>\z@ \def\bbl@footnote#1#2#3{% \@ifnextchar[% {\bbl@footnote@o{#1}{#2}{#3}}% diff --git a/Master/texmf-dist/tex/generic/babel/nil.ldf b/Master/texmf-dist/tex/generic/babel/nil.ldf index bb6319588c7..478fa9f819b 100644 --- a/Master/texmf-dist/tex/generic/babel/nil.ldf +++ b/Master/texmf-dist/tex/generic/babel/nil.ldf @@ -32,7 +32,7 @@ %% extension |.ins|) which are part of the distribution. %% -\ProvidesLanguage{nil}[2020/04/28 3.43 Nil language] +\ProvidesLanguage{nil}[2020/05/13 3.44 Nil language] \LdfInit{nil}{datenil} \ifx\l@nil\@undefined \newlanguage\l@nil diff --git a/Master/texmf-dist/tex/generic/babel/txtbabel.def b/Master/texmf-dist/tex/generic/babel/txtbabel.def index bf6f6a3285c..9d37e273020 100644 --- a/Master/texmf-dist/tex/generic/babel/txtbabel.def +++ b/Master/texmf-dist/tex/generic/babel/txtbabel.def @@ -94,7 +94,7 @@ \hskip\columnwidth}}}% {} \bbl@trace{Bidi footnotes} -\ifx\bbl@beforeforeign\leavevmode +\ifnum\bbl@bidimode>\z@ \def\bbl@footnote#1#2#3{% \@ifnextchar[% {\bbl@footnote@o{#1}{#2}{#3}}% |