diff options
author | Karl Berry <karl@freefriends.org> | 2019-04-01 21:10:44 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-04-01 21:10:44 +0000 |
commit | de9dc4bb86a87f4d72b59034b56593313b2e8c8a (patch) | |
tree | afcde74e28915439fef0d65c8a1eefeb9dc9df7a /Master/texmf-dist/tex/generic | |
parent | 98766f71d95e3aa7dcf598359ffb0f9902c73797 (diff) |
babel (1apr19)
git-svn-id: svn://tug.org/texlive/trunk@50699 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic')
16 files changed, 356 insertions, 88 deletions
diff --git a/Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua index 6961dd84221..008d27e0658 100644 --- a/Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua +++ b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua @@ -74,6 +74,7 @@ function Babel.bidi(head, ispar) local new_dir = false local first_dir = false + local inmath = false local last_lr @@ -104,6 +105,7 @@ function Babel.bidi(head, ispar) end end dir = dir or 'l' + if inmath then dir = ('TRT' == tex.mathdir) and 'r' or 'l' end if new_dir then attr_dir = 0 for at in node.traverse(item.attr) do @@ -131,9 +133,11 @@ function Babel.bidi(head, ispar) if dir == 'et' or dir == 'es' then dir = 'on' end -- W6 strong_lr = 'r' -- W3 end - elseif item.id == node.id'dir' then + elseif item.id == node.id'dir' and not inmath then new_dir = true dir = nil + elseif item.id == node.id'math' then + inmath = (item.subtype == 0) else dir = nil -- Not a char end diff --git a/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua index 8fe47ecb80f..be342c12fe5 100644 --- a/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua +++ b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua @@ -91,8 +91,11 @@ local function insert_numeric(head, state) return head, new_state end --- \hbox with an explicit dir can lead to wrong results --- <R \hbox dir TLT{<R>}> and <L \hbox dir TRT{<L>}> +-- TODO - \hbox with an explicit dir can lead to wrong results +-- <R \hbox dir TLT{<R>}> and <L \hbox dir TRT{<L>}>. A small attempt +-- was s made to improve the situation, but the problem is the 3-dir +-- model in babel/Unicode and the 2-dir model in LuaTeX don't fit +-- well. function Babel.bidi(head, ispar, hdir) local d -- d is used mainly for computations in a loop @@ -101,6 +104,7 @@ function Babel.bidi(head, ispar, hdir) local nodes = {} local outer_first = nil + local inmath = false local glue_d = nil local glue_i = nil @@ -119,9 +123,14 @@ function Babel.bidi(head, ispar, hdir) (temp == 2 and 'al') elseif ispar then -- Or error? Shouldn't happen save_outer = ('TRT' == tex.pardir) and 'r' or 'l' - else + else -- Or error? Shouldn't happen save_outer = ('TRT' == hdir) and 'r' or 'l' end + -- when the callback is called, we are just _after_ the box, + -- and the textdir is that of the surrounding text + -- if not ispar and hdir ~= tex.textdir then + -- save_outer = ('TRT' == hdir) and 'r' or 'l' + -- end local outer = save_outer local last = outer -- 'al' is only taken into account in the first, current loop @@ -160,6 +169,7 @@ function Babel.bidi(head, ispar, hdir) end end d = d or 'l' + if inmath then d = ('TRT' == tex.mathdir) and 'r' or 'l' end d_font = d_font or d d_font = (d_font == 'l' and 0) or @@ -208,6 +218,9 @@ function Babel.bidi(head, ispar, hdir) glue_i = item d = nil + elseif item.id == node.id'math' then + inmath = (item.subtype == 0) + else d = nil end @@ -371,7 +384,11 @@ function Babel.bidi(head, ispar, hdir) end else if d == 'an' or d == 'l' then - state.sim = state.sim or item + if nodes[q][3] then -- nil except after an explicit dir + state.sim = item -- so we move sim 'inside' the group + else + state.sim = state.sim or item + end state.eim = item elseif d == 'r' and state.sim then head, state = insert_implicit(head, state, outer) diff --git a/Master/texmf-dist/tex/generic/babel/babel.def b/Master/texmf-dist/tex/generic/babel/babel.def index 5d2db7261f2..accbb739ae7 100644 --- a/Master/texmf-dist/tex/generic/babel/babel.def +++ b/Master/texmf-dist/tex/generic/babel/babel.def @@ -41,7 +41,7 @@ \wlog{File: #1 #4 #3 <#2>}% \let\ProvidesFile\@undefined} \fi -\ProvidesFile{babel.def}[2018/11/13 3.27 Babel common definitions] +\ProvidesFile{babel.def}[2019/04/01 3.28 Babel common definitions] \ifx\AtBeginDocument\@undefined \input plain.def\relax \fi @@ -1334,9 +1334,8 @@ {\bbl@ifblank{#1}% {\bbl@error {If you want to modify `#2' you must tell how in\\% - the optional argument. Currently there are three\\% - options: captions=lang-tag, hyphenrules=lang-list\\% - import=lang-tag}% + the optional argument. See the manual for the\\% + available options.}% {Use this macro as documented}}% {\bbl@provide@renew{#2}}}% % Post tasks @@ -1599,9 +1598,9 @@ \@nameuse{bbl@secpost@\bbl@section}% ends previous section \def\bbl@section{#1}% \@nameuse{bbl@secpre@\bbl@section}% starts current section - \bbl@ifunset{bbl@secline@#1}% + \bbl@ifunset{bbl@inikv@#1}% {\let\bbl@inireader\bbl@iniskip}% - {\bbl@exp{\let\\\bbl@inireader\<bbl@secline@#1>}}} + {\bbl@exp{\let\\\bbl@inireader\<bbl@inikv@#1>}}} \def\bbl@inikv#1=#2\@@{% key=value \bbl@trim@def\bbl@tempa{#1}% \bbl@trim\toks@{#2}% @@ -1614,7 +1613,7 @@ \else \bbl@exp{\global\let\<bbl@#1@\languagename>\<bbl@@kv@#2>}% \fi}} -\let\bbl@secline@identification\bbl@inikv +\let\bbl@inikv@identification\bbl@inikv \def\bbl@secpost@identification{% \bbl@exportkey{lname}{identification.name.english}{}% \bbl@exportkey{lbcp}{identification.tag.bcp47}{}% @@ -1622,9 +1621,9 @@ \bbl@exportkey{sname}{identification.script.name}{}% \bbl@exportkey{sbcp}{identification.script.tag.bcp47}{}% \bbl@exportkey{sotf}{identification.script.tag.opentype}{DFLT}} -\let\bbl@secline@typography\bbl@inikv -\let\bbl@secline@characters\bbl@inikv -\let\bbl@secline@numbers\bbl@inikv +\let\bbl@inikv@typography\bbl@inikv +\let\bbl@inikv@characters\bbl@inikv +\let\bbl@inikv@numbers\bbl@inikv \def\bbl@after@ini{% \bbl@exportkey{lfthm}{typography.lefthyphenmin}{2}% \bbl@exportkey{rgthm}{typography.righthyphenmin}{3}% @@ -1651,17 +1650,11 @@ \bbl@toglobal\bbl@savetoday \bbl@toglobal\bbl@savedate} \ifcase\bbl@engine - \bbl@csarg\def{secline@captions.licr}#1=#2\@@{% + \bbl@csarg\def{inikv@captions.licr}#1=#2\@@{% \bbl@ini@captions@aux{#1}{#2}} - \bbl@csarg\def{secline@date.gregorian}#1=#2\@@{% for defaults - \bbl@ini@dategreg#1...\relax{#2}} - \bbl@csarg\def{secline@date.gregorian.licr}#1=#2\@@{% override - \bbl@ini@dategreg#1...\relax{#2}} \else - \def\bbl@secline@captions#1=#2\@@{% + \def\bbl@inikv@captions#1=#2\@@{% \bbl@ini@captions@aux{#1}{#2}} - \bbl@csarg\def{secline@date.gregorian}#1=#2\@@{% - \bbl@ini@dategreg#1...\relax{#2}} \fi \def\bbl@ini@captions@aux#1#2{% \bbl@trim@def\bbl@tempa{#1}% @@ -1672,17 +1665,31 @@ \bbl@exp{% \\\bbl@add\\\bbl@savestrings{% \\\SetString\<\bbl@tempa name>{\the\toks@}}}} -\bbl@csarg\def{secpre@date.gregorian.licr}{% - \ifcase\bbl@engine\let\bbl@savedate\@empty\fi} -\def\bbl@ini@dategreg#1.#2.#3.#4\relax#5{% TODO - ignore with 'captions' +\bbl@csarg\def{inikv@date.gregorian}#1=#2\@@{% for defaults + \bbl@inidate#1...\relax{#2}{}} +\bbl@csarg\def{inikv@date.islamic}#1=#2\@@{% + \bbl@inidate#1...\relax{#2}{islamic}} +\bbl@csarg\def{inikv@date.hebrew}#1=#2\@@{% + \bbl@inidate#1...\relax{#2}{hebrew}} +\bbl@csarg\def{inikv@date.persian}#1=#2\@@{% + \bbl@inidate#1...\relax{#2}{persian}} +\bbl@csarg\def{inikv@date.indian}#1=#2\@@{% + \bbl@inidate#1...\relax{#2}{indian}} +\ifcase\bbl@engine + \bbl@csarg\def{inikv@date.gregorian.licr}#1=#2\@@{% override + \bbl@inidate#1...\relax{#2}{}} + \bbl@csarg\def{secpre@date.gregorian.licr}{% discard uni + \ifcase\bbl@engine\let\bbl@savedate\@empty\fi} +\fi +\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}% + \bbl@ifsamestring{\bbl@tempa}{months.wide}% to savedate {\bbl@trim@def\bbl@tempa{#3}% \bbl@trim\toks@{#5}% \bbl@exp{% \\\bbl@add\\\bbl@savedate{% - \\\SetString\<month\romannumeral\bbl@tempa name>{\the\toks@}}}}% - {\bbl@ifsamestring{\bbl@tempa}{date.long}% + \\\SetString\<month\romannumeral\bbl@tempa#6name>{\the\toks@}}}}% + {\bbl@ifsamestring{\bbl@tempa}{date.long}% defined now {\bbl@trim@def\bbl@toreplace{#5}% \bbl@TG@@date \global\bbl@csarg\let{date@\languagename}\bbl@toreplace @@ -1696,6 +1703,7 @@ \\\SetString\\\today{% \<\languagename date>{\\\the\year}{\\\the\month}{\\\the\day}}}}}}% {}} +\let\bbl@calendar\@empty \newcommand\BabelDateSpace{\nobreakspace} \newcommand\BabelDateDot{.\@} \newcommand\BabelDated[1]{{\number#1}} @@ -1703,7 +1711,7 @@ \newcommand\BabelDateM[1]{{\number#1}} \newcommand\BabelDateMM[1]{{\ifnum#1<10 0\fi\number#1}} \newcommand\BabelDateMMMM[1]{{% - \csname month\romannumeral#1name\endcsname}}% + \csname month\romannumeral#1\bbl@calendar name\endcsname}}% \newcommand\BabelDatey[1]{{\number#1}}% \newcommand\BabelDateyy[1]{{% \ifnum#1<10 0\number#1 % @@ -2035,6 +2043,7 @@ \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{% \directlua{ @@ -2055,12 +2064,24 @@ \fi} \def\bbl@textdir#1{% \bbl@setluadir{text}\textdir{#1}% TODO - ?\linedir + \chardef\bbl@thetextdir#1\relax \setattribute\bbl@attr@dir{\numexpr\bbl@thepardir*3+#1}} - \def\bbl@pardir#1{\bbl@setluadir{par}\pardir{#1}% + \def\bbl@pardir#1{% + \bbl@setluadir{par}\pardir{#1}% \chardef\bbl@thepardir#1\relax} \def\bbl@bodydir{\bbl@setluadir{body}\bodydir} \def\bbl@pagedir{\bbl@setluadir{page}\pagedir} \def\bbl@dirparastext{\pardir\the\textdir\relax}% %%%% + % Sadly, we have to deal with boxes in math with basic: + \def\bbl@mathboxdir{% + \ifcase\bbl@thetextdir\relax + \everyhbox{\bgroup\aftergroup\egroup\textdir TLT\relax}% + \else + \everyhbox{\bgroup\aftergroup\egroup\textdir TRT\relax}% + \fi} + % TODO - the same trick as bbl@severypar + \everymath{\bbl@mathboxdir} + \everydisplay{\bbl@mathboxdir} \else % pdftex=0, xetex=2 \AddBabelHook{babel-bidi}{afterextras}{\bbl@switchdir} \DisableBabelHook{babel-bidi} @@ -2133,7 +2154,13 @@ \def\bbl@pardir#1{\ifcase#1\relax\setLR\else\setRL\fi}} {}% \fi - \DeclareRobustCommand\babelsublr[1]{\leavevmode{\bbl@textdir\z@#1}} +\DeclareRobustCommand\babelsublr[1]{\leavevmode{\bbl@textdir\z@#1}} +\AtBeginDocument{% + \ifx\pdfstringdefDisableCommands\@undefined\else + \ifx\pdfstringdefDisableCommands\relax\else + \pdfstringdefDisableCommands{\let\babelsublr\@firstofone}% + \fi + \fi} \bbl@trace{Local Language Configuration} \ifx\loadlocalcfg\@undefined \@ifpackagewith{babel}{noconfigs}% diff --git a/Master/texmf-dist/tex/generic/babel/babel.sty b/Master/texmf-dist/tex/generic/babel/babel.sty index c0b470c1ed2..3f616f84bef 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}[2018/11/13 3.27 The Babel package] +\ProvidesPackage{babel}[2019/04/01 3.28 The Babel package] \@ifpackagewith{babel}{debug} {\providecommand\bbl@trace[1]{\message{^^J[ #1 ]}}% \let\bbl@debug\@firstofone} diff --git a/Master/texmf-dist/tex/generic/babel/hyphen.cfg b/Master/texmf-dist/tex/generic/babel/hyphen.cfg index f537754e5de..91fa39860e6 100644 --- a/Master/texmf-dist/tex/generic/babel/hyphen.cfg +++ b/Master/texmf-dist/tex/generic/babel/hyphen.cfg @@ -37,7 +37,7 @@ \wlog{File: #1 #4 #3 <#2>}% \let\ProvidesFile\@undefined} \fi -\ProvidesFile{hyphen.cfg}[2018/11/13 3.27 Babel hyphens] +\ProvidesFile{hyphen.cfg}[2019/04/01 3.28 Babel hyphens] \xdef\bbl@format{\jobname} \ifx\AtBeginDocument\@undefined \def\@empty{} @@ -93,10 +93,12 @@ \expandafter\language\csname l@#1\endcsname \edef\languagename{#1}% \bbl@hook@everylanguage{#1}% + % > luatex \bbl@get@enc#1::\@@@ \begingroup \lefthyphenmin\m@ne \bbl@hook@loadpatterns{#2}% + % > luatex \ifnum\lefthyphenmin=\m@ne \else \expandafter\xdef\csname #1hyphenmins\endcsname{% @@ -106,6 +108,7 @@ \def\bbl@tempa{#3}% \ifx\bbl@tempa\@empty\else \bbl@hook@loadexceptions{#3}% + % > luatex \fi \let\bbl@elt\relax \edef\bbl@languages{% diff --git a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-DZ.ini b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-DZ.ini index 93a70ff73d7..60bad20aa01 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-DZ.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-DZ.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.1 -date = 2018-02-05 +version = 1.2 +date = 2019-01-31 name.local = العربية name.english = Arabic name.babel = arabic-dz @@ -107,6 +107,32 @@ dayPeriods.narrow.pm = م dayPeriods.wide.am = ص dayPeriods.wide.pm = م +[date.islamic] +months.wide.1 = محرم +months.wide.2 = صفر +months.wide.3 = ربيع الأول +months.wide.4 = ربيع الآخر +months.wide.5 = جمادى الأولى +months.wide.6 = جمادى الآخرة +months.wide.7 = رجب +months.wide.8 = شعبان +months.wide.9 = رمضان +months.wide.10 = شوال +months.wide.11 = ذو القعدة +months.wide.12 = ذو الحجة +months.narrow.1 = ١ +months.narrow.2 = ٢ +months.narrow.3 = ٣ +months.narrow.4 = ٤ +months.narrow.5 = ٥ +months.narrow.6 = ٦ +months.narrow.7 = ٧ +months.narrow.8 = ٨ +months.narrow.9 = ٩ +months.narrow.10 = ١٠ +months.narrow.11 = ١١ +months.narrow.12 = ١٢ + [time.gregorian] time.medium = [h]:[mm]:[ss] [a] time.short = [h]:[mm] [a] diff --git a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-MA.ini b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-MA.ini index 86ca9cef1ee..0225a04e7a0 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-MA.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-MA.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.1 -date = 2018-02-05 +version = 1.2 +date = 2019-01-31 name.local = العربية name.english = Arabic name.babel = arabic-ma @@ -107,6 +107,32 @@ dayPeriods.narrow.pm = م dayPeriods.wide.am = ص dayPeriods.wide.pm = م +[date.islamic] +months.wide.1 = محرم +months.wide.2 = صفر +months.wide.3 = ربيع الأول +months.wide.4 = ربيع الآخر +months.wide.5 = جمادى الأولى +months.wide.6 = جمادى الآخرة +months.wide.7 = رجب +months.wide.8 = شعبان +months.wide.9 = رمضان +months.wide.10 = شوال +months.wide.11 = ذو القعدة +months.wide.12 = ذو الحجة +months.narrow.1 = ١ +months.narrow.2 = ٢ +months.narrow.3 = ٣ +months.narrow.4 = ٤ +months.narrow.5 = ٥ +months.narrow.6 = ٦ +months.narrow.7 = ٧ +months.narrow.8 = ٨ +months.narrow.9 = ٩ +months.narrow.10 = ١٠ +months.narrow.11 = ١١ +months.narrow.12 = ١٢ + [time.gregorian] time.medium = [HH]:[mm]:[ss] time.short = [HH]:[mm] diff --git a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-SY.ini b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-SY.ini index 841435340f6..42cc757930b 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-SY.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-SY.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.1 -date = 2018-02-05 +version = 1.2 +date = 2019-01-31 name.local = العربية name.english = Arabic name.babel = arabic-sy @@ -105,6 +105,32 @@ dayPeriods.narrow.pm = م dayPeriods.wide.am = ص dayPeriods.wide.pm = م +[date.islamic] +months.wide.1 = محرم +months.wide.2 = صفر +months.wide.3 = ربيع الأول +months.wide.4 = ربيع الآخر +months.wide.5 = جمادى الأولى +months.wide.6 = جمادى الآخرة +months.wide.7 = رجب +months.wide.8 = شعبان +months.wide.9 = رمضان +months.wide.10 = شوال +months.wide.11 = ذو القعدة +months.wide.12 = ذو الحجة +months.narrow.1 = ١ +months.narrow.2 = ٢ +months.narrow.3 = ٣ +months.narrow.4 = ٤ +months.narrow.5 = ٥ +months.narrow.6 = ٦ +months.narrow.7 = ٧ +months.narrow.8 = ٨ +months.narrow.9 = ٩ +months.narrow.10 = ١٠ +months.narrow.11 = ١١ +months.narrow.12 = ١٢ + [time.gregorian] time.medium = [h]:[mm]:[ss] [a] time.short = [h]:[mm] [a] diff --git a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar.ini b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar.ini index d22aed41034..9e9d18799cf 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.1 -date = 2018-02-05 +version = 1.2 +date = 2019-01-31 name.local = العربية name.english = Arabic name.babel = arabic @@ -103,6 +103,32 @@ dayPeriods.narrow.pm = م dayPeriods.wide.am = ص dayPeriods.wide.pm = م +[date.islamic] +months.wide.1 = محرم +months.wide.2 = صفر +months.wide.3 = ربيع الأول +months.wide.4 = ربيع الآخر +months.wide.5 = جمادى الأولى +months.wide.6 = جمادى الآخرة +months.wide.7 = رجب +months.wide.8 = شعبان +months.wide.9 = رمضان +months.wide.10 = شوال +months.wide.11 = ذو القعدة +months.wide.12 = ذو الحجة +months.narrow.1 = ١ +months.narrow.2 = ٢ +months.narrow.3 = ٣ +months.narrow.4 = ٤ +months.narrow.5 = ٥ +months.narrow.6 = ٦ +months.narrow.7 = ٧ +months.narrow.8 = ٨ +months.narrow.9 = ٩ +months.narrow.10 = ١٠ +months.narrow.11 = ١١ +months.narrow.12 = ١٢ + [time.gregorian] time.medium = [h]:[mm]:[ss] [a] time.short = [h]:[mm] [a] diff --git a/Master/texmf-dist/tex/generic/babel/locale/fa/babel-fa.ini b/Master/texmf-dist/tex/generic/babel/locale/fa/babel-fa.ini index 2a185b0904e..f20094592ed 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/fa/babel-fa.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/fa/babel-fa.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.1 -date = 2018-04-11 +version = 1.2 +date = 2019-01-31 name.local = فارسی name.english = Persian name.babel = persian @@ -103,6 +103,32 @@ dayPeriods.narrow.pm = ب dayPeriods.wide.am = قبلازظهر dayPeriods.wide.pm = بعدازظهر +[date.persian] +months.wide.1 = فروردین +months.wide.2 = اردیبهشت +months.wide.3 = خرداد +months.wide.4 = تیر +months.wide.5 = مرداد +months.wide.6 = شهریور +months.wide.7 = مهر +months.wide.8 = آبان +months.wide.9 = آذر +months.wide.10 = دی +months.wide.11 = بهمن +months.wide.12 = اسفند +months.narrow.1 = ف +months.narrow.2 = ا +months.narrow.3 = خ +months.narrow.4 = ت +months.narrow.5 = م +months.narrow.6 = ش +months.narrow.7 = م +months.narrow.8 = آ +months.narrow.9 = آ +months.narrow.10 = د +months.narrow.11 = ب +months.narrow.12 = ا + [time.gregorian] time.medium = [H]:[mm]:[ss] time.short = [H]:[mm] diff --git a/Master/texmf-dist/tex/generic/babel/locale/he/babel-he.ini b/Master/texmf-dist/tex/generic/babel/locale/he/babel-he.ini index 0367a8fc258..2adc0802040 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/he/babel-he.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/he/babel-he.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.0 -date = 2017-09-01 +version = 1.1 +date = 2019-01-31 name.local = עברית name.english = Hebrew name.babel = hebrew @@ -140,6 +140,34 @@ months.wide.10 = \hebalef\hebvav\hebqof\hebtet\hebvav\hebbet\hebresh months.wide.11 = \hebnun\hebvav\hebbet\hebmem\hebbet\hebresh months.wide.12 = \hebdalet\hebtsadi\hebmem\hebbet\hebresh +[date.hebrew] +months.wide.1 = תשרי +months.wide.2 = חשוון +months.wide.3 = כסלו +months.wide.4 = טבת +months.wide.5 = שבט +months.wide.6 = אדר א׳ +months.wide.7 = אדר +months.wide.8 = ניסן +months.wide.9 = אייר +months.wide.10 = סיוון +months.wide.11 = תמוז +months.wide.12 = אב +months.wide.13 = אלול +months.narrow.1 = תש׳ +months.narrow.2 = חש׳ +months.narrow.3 = כס׳ +months.narrow.4 = טב׳ +months.narrow.5 = שב׳ +months.narrow.6 = א״א +months.narrow.7 = אד׳ +months.narrow.8 = ני׳ +months.narrow.9 = אי׳ +months.narrow.10 = סי׳ +months.narrow.11 = תמ׳ +months.narrow.12 = אב +months.narrow.13 = אל׳ + [time.gregorian] time.medium = [H]:[mm]:[ss] time.short = [H]:[mm] 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 5d31399348f..735e5392ba6 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 = 0.91 -date = 2017-04-10 +version = 1.0 +date = 2019-01-31 name.local = हिन्दी name.english = Hindi name.babel = hindi @@ -127,6 +127,32 @@ dayPeriods.narrow.pm = अ dayPeriods.wide.am = पूर्वाह्न dayPeriods.wide.pm = अपराह्न +[date.indian] +months.wide.1 = चैत्र +months.wide.2 = वैशाख +months.wide.3 = ज्येष्ठ +months.wide.4 = आषाढ़ +months.wide.5 = श्रावण +months.wide.6 = भाद्रपद +months.wide.7 = अश्विन +months.wide.8 = कार्तिक +months.wide.9 = अग्रहायण +months.wide.10 = पौष +months.wide.11 = माघ +months.wide.12 = फाल्गुन +months.narrow.1 = 1 +months.narrow.2 = 2 +months.narrow.3 = 3 +months.narrow.4 = 4 +months.narrow.5 = 5 +months.narrow.6 = 6 +months.narrow.7 = 7 +months.narrow.8 = 8 +months.narrow.9 = 9 +months.narrow.10 = 10 +months.narrow.11 = 11 +months.narrow.12 = 12 + [time.gregorian] time.medium = [h]:[mm]:[ss] [a] time.short = [h]:[mm] [a] @@ -149,7 +175,7 @@ delimiters.quotes = “”‘’ auxiliary = [\u200C\u200D] exemplarCharacters = [\u093C ॐ \u0902 \u0901 ः अ आ इ ई उ ऊ ऋ ऌ ऍ ए ऐ ऑ ओ औ क ख ग घ ङ च छ ज झ ञ ट ठ ड ढ ण त थ द ध न प फ ब भ म य र ल ळ व श ष स ह ऽ ा ि ी \u0941 \u0942 \u0943 \u0944 \u0945 \u0947 \u0948 ॉ ो ौ \u094D] index = [अ आ इ ई उ ऊ ऋ ए ऐ ओ औ क ख ग घ ङ च छ ज झ ञ ट ठ ड ढ ण त थ द ध न प फ ब भ म य र ल व श ष स ह] -punctuation = [। ॥ \\- , ; \\: ! ? . ‘ ’ “ ” ( ) \\[ \\] \\{ \\} ॰] +punctuation = [\\- , ; \\: ! ? . ‘ ’ “ ” ( ) \\[ \\] \\{ \\} ॰] [numbers] defaultNumberingSystem = latn @@ -171,4 +197,3 @@ superscriptingExponent = × alph = Alph = ordinals = - diff --git a/Master/texmf-dist/tex/generic/babel/luababel.def b/Master/texmf-dist/tex/generic/babel/luababel.def index 8d7467cf185..0f08afd5b2a 100644 --- a/Master/texmf-dist/tex/generic/babel/luababel.def +++ b/Master/texmf-dist/tex/generic/babel/luababel.def @@ -475,16 +475,18 @@ \def\bbl@font@set#1#2#3{% eg \bbl@rmdflt@lang \rmdefault \rmfamily \bbl@xin@{<>}{#1}% \ifin@ - \bbl@exp{\\\bbl@fontspec@set\\#1\expandafter\@gobbletwo#1}% + \bbl@exp{\\\bbl@fontspec@set\\#1\expandafter\@gobbletwo#1\\#3}% \fi \bbl@exp{% - \def\\#2{#1}% eg, \rmdefault{\bbl@rmdflt@lang} + \def\\#2{#1}% eg, \rmdefault{\bbl@rmdflt@lang} \\\bbl@ifsamestring{#2}{\f@family}{\\#3\let\\\bbl@tempa\relax}{}}} -\def\bbl@fontspec@set#1#2#3{% eg \bbl@rmdflt@lang fnt-opt fnt-nme +\def\bbl@fontspec@set#1#2#3#4{% eg \bbl@rmdflt@lang fnt-opt fnt-nme \xxfamily \let\bbl@tempe\bbl@mapselect \let\bbl@mapselect\relax - \bbl@exp{% TODO - should be global, but even local does its job - % I'm still not sure -- must investigate + \let\bbl@temp@fam#4% eg, '\rmfamily', to be restored below + \let#4\relax % So that can be used with \newfontfamily + \bbl@exp{% + \let\\\bbl@temp@pfam\<\bbl@stripslash#4\space>% eg, '\rmfamily ' \<keys_if_exist:nnF>{fontspec-opentype}% {Script/\bbl@cs{sname@\languagename}}% {\\\newfontscript{\bbl@cs{sname@\languagename}}% @@ -493,10 +495,15 @@ {Language/\bbl@cs{lname@\languagename}}% {\\\newfontlanguage{\bbl@cs{lname@\languagename}}% {\bbl@cs{lotf@\languagename}}}% - \<fontspec_set_family:Nnn>\\#1% - {\bbl@cs{lsys@\languagename},#2}}{#3}% ie \bbl@exp{..}{#3} - \let\bbl@mapselect\bbl@tempe - \bbl@toglobal#1}% + \\\newfontfamily\\#4% + [\bbl@cs{lsys@\languagename},#2]}{#3}% ie \bbl@exp{..}{#3} + \begingroup + #4% + \xdef#1{\f@family}% eg, \bbl@rmdflt@lang{FreeSerif(0)} + \endgroup + \let#4\bbl@temp@fam + \bbl@exp{\let\<\bbl@stripslash#4\space>}\bbl@temp@pfam + \let\bbl@mapselect\bbl@tempe}% \def\bbl@font@rst#1#2#3#4{% \bbl@csarg\def{famrst@#4}{\bbl@font@set{#1}#2#3}} \def\bbl@font@fams{rm,sf,tt} @@ -549,9 +556,9 @@ \fi \ifx\bbl@opt@layout\@nnil\endinput\fi % if no layout \ifx\bbl@beforeforeign\leavevmode % A poor test for bidi= - \def\bbl@nextfake#1{% - \mathdir\bodydir % non-local, use always inside a group! + \def\bbl@nextfake#1{% non-local changes - always inside a group! \bbl@exp{% + \mathdir\the\bodydir #1% Once entered in math, set boxes to restore values \everyvbox{% \the\everyvbox diff --git a/Master/texmf-dist/tex/generic/babel/nil.ldf b/Master/texmf-dist/tex/generic/babel/nil.ldf index 7ef76efb096..7a2b9fdc525 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}[2018/11/13 3.27 Nil language] +\ProvidesLanguage{nil}[2019/04/01 3.28 Nil language] \LdfInit{nil}{datenil} \ifx\l@nohyphenation\@undefined \@nopatterns{nil} diff --git a/Master/texmf-dist/tex/generic/babel/switch.def b/Master/texmf-dist/tex/generic/babel/switch.def index 486e4da6b14..6495fb6ab65 100644 --- a/Master/texmf-dist/tex/generic/babel/switch.def +++ b/Master/texmf-dist/tex/generic/babel/switch.def @@ -37,7 +37,7 @@ \wlog{File: #1 #4 #3 <#2>}% \let\ProvidesFile\@undefined} \fi -\ProvidesFile{switch.def}[2018/11/13 3.27 Babel switching mechanism] +\ProvidesFile{switch.def}[2019/04/01 3.28 Babel switching mechanism] \ifx\AtBeginDocument\@undefined \input plain.def\relax \fi @@ -58,8 +58,8 @@ \countdef\last@language=19 \def\addlanguage{\alloc@9\language\chardef\@cclvi} \fi -\def\bbl@version{3.27} -\def\bbl@date{2018/11/13} +\def\bbl@version{3.28} +\def\bbl@date{2019/04/01} \def\adddialect#1#2{% \global\chardef#1#2\relax \bbl@usehooks{adddialect}{{#1}{#2}}% @@ -115,19 +115,22 @@ \aftergroup\bbl@pop@language \bbl@set@language{#1}} \def\BabelContentsFiles{toc,lof,lot} -\def\bbl@set@language#1{% +\def\bbl@set@language#1{% from selectlanguage, pop@ \edef\languagename{% \ifnum\escapechar=\expandafter`\string#1\@empty \else\string#1\@empty\fi}% \select@language{\languagename}% + % write to auxs \expandafter\ifx\csname date\languagename\endcsname\relax\else \if@filesw \protected@write\@auxout{}{\string\babel@aux{\languagename}{}}% \bbl@usehooks{write}{}% \fi \fi} -\def\select@language#1{% +\def\select@language#1{% from set@, babel@aux + % set hymap \ifnum\bbl@hymapsel=\@cclv\chardef\bbl@hymapsel4\relax\fi + % set name \edef\languagename{#1}% \bbl@fixname\languagename \bbl@iflanguage\languagename{% @@ -140,6 +143,7 @@ some cases, you may need to remove the aux file}% {You may proceed, but expect wrong results}% \else + % set type \let\bbl@select@type\z@ \expandafter\bbl@switch\expandafter{\languagename}% \fi}} @@ -162,7 +166,8 @@ \select@language{#1}} \let\select@language@x\select@language \newif\ifbbl@usedategroup -\def\bbl@switch#1{% +\def\bbl@switch#1{% from select@, foreign@ + % restore \originalTeX \expandafter\def\expandafter\originalTeX\expandafter{% \csname noextras#1\endcsname @@ -170,6 +175,7 @@ \babel@beginsave}% \bbl@usehooks{afterreset}{}% \languageshorthands{none}% + % switch captions, date \ifcase\bbl@select@type \ifhmode \hskip\z@skip % trick to ignore spaces @@ -180,19 +186,27 @@ \csname captions#1\endcsname\relax \csname date#1\endcsname\relax \fi - \else\ifbbl@usedategroup - \bbl@usedategroupfalse - \ifhmode - \hskip\z@skip % trick to ignore spaces - \csname date#1\endcsname\relax - \loop\ifdim\lastskip>\z@\unskip\repeat\unskip - \else - \csname date#1\endcsname\relax + \else + \ifbbl@usedategroup % if \foreign... within \<lang>date + \bbl@usedategroupfalse + \ifhmode + \hskip\z@skip % trick to ignore spaces + \csname date#1\endcsname\relax + \loop\ifdim\lastskip>\z@\unskip\repeat\unskip + \else + \csname date#1\endcsname\relax + \fi \fi - \fi\fi + \fi + % switch extras \bbl@usehooks{beforeextras}{}% \csname extras#1\endcsname\relax \bbl@usehooks{afterextras}{}% + % > babel-ensure + % > babel-sh-<short> + % > babel-bidi + % > babel-fontspec + % hyphenation - case mapping \ifcase\bbl@opt@hyphenmap\or \def\BabelLower##1##2{\lccode##1=##2\relax}% \ifnum\bbl@hymapsel>4\else @@ -205,7 +219,9 @@ \fi \fi \global\let\bbl@hymapsel\@cclv + % hyphenation - patterns \bbl@patterns{#1}% + % hyphenation - mins \babel@savevariable\lefthyphenmin \babel@savevariable\righthyphenmin \expandafter\ifx\csname #1hyphenmins\endcsname\relax @@ -249,18 +265,21 @@ {\par}% \endgroup} \def\foreign@language#1{% + % set name \edef\languagename{#1}% \bbl@fixname\languagename \bbl@iflanguage\languagename{% \expandafter\ifx\csname date\languagename\endcsname\relax - \bbl@warning + \bbl@warning % TODO - why a warning, not an error? {Unknown language `#1'. Either you have\\% misspelled its name, it has not been installed,\\% or you requested it in a previous run. Fix its name,\\% - install it or just rerun the file, respectively.\\% + install it or just rerun the file, respectively. In\\% + some cases, you may need to remove the aux file.\\% I'll proceed, but expect wrong results.\\% Reported}% \fi + % set type \let\bbl@select@type\@ne \expandafter\bbl@switch\expandafter{\languagename}}} \let\bbl@hyphlist\@empty @@ -277,6 +296,7 @@ \edef\bbl@tempa{#1:\f@encoding}% \fi \@expandtwoargs\bbl@usehooks{patterns}{{#1}{\bbl@tempa}}% + % > luatex \@ifundefined{bbl@hyphenation@}{}{% Can be \relax! \begingroup \bbl@xin@{,\number\language,}{,\bbl@hyphlist}% diff --git a/Master/texmf-dist/tex/generic/babel/xebabel.def b/Master/texmf-dist/tex/generic/babel/xebabel.def index cd47364b3c6..1159998dde1 100644 --- a/Master/texmf-dist/tex/generic/babel/xebabel.def +++ b/Master/texmf-dist/tex/generic/babel/xebabel.def @@ -149,16 +149,18 @@ \def\bbl@font@set#1#2#3{% eg \bbl@rmdflt@lang \rmdefault \rmfamily \bbl@xin@{<>}{#1}% \ifin@ - \bbl@exp{\\\bbl@fontspec@set\\#1\expandafter\@gobbletwo#1}% + \bbl@exp{\\\bbl@fontspec@set\\#1\expandafter\@gobbletwo#1\\#3}% \fi \bbl@exp{% - \def\\#2{#1}% eg, \rmdefault{\bbl@rmdflt@lang} + \def\\#2{#1}% eg, \rmdefault{\bbl@rmdflt@lang} \\\bbl@ifsamestring{#2}{\f@family}{\\#3\let\\\bbl@tempa\relax}{}}} -\def\bbl@fontspec@set#1#2#3{% eg \bbl@rmdflt@lang fnt-opt fnt-nme +\def\bbl@fontspec@set#1#2#3#4{% eg \bbl@rmdflt@lang fnt-opt fnt-nme \xxfamily \let\bbl@tempe\bbl@mapselect \let\bbl@mapselect\relax - \bbl@exp{% TODO - should be global, but even local does its job - % I'm still not sure -- must investigate + \let\bbl@temp@fam#4% eg, '\rmfamily', to be restored below + \let#4\relax % So that can be used with \newfontfamily + \bbl@exp{% + \let\\\bbl@temp@pfam\<\bbl@stripslash#4\space>% eg, '\rmfamily ' \<keys_if_exist:nnF>{fontspec-opentype}% {Script/\bbl@cs{sname@\languagename}}% {\\\newfontscript{\bbl@cs{sname@\languagename}}% @@ -167,10 +169,15 @@ {Language/\bbl@cs{lname@\languagename}}% {\\\newfontlanguage{\bbl@cs{lname@\languagename}}% {\bbl@cs{lotf@\languagename}}}% - \<fontspec_set_family:Nnn>\\#1% - {\bbl@cs{lsys@\languagename},#2}}{#3}% ie \bbl@exp{..}{#3} - \let\bbl@mapselect\bbl@tempe - \bbl@toglobal#1}% + \\\newfontfamily\\#4% + [\bbl@cs{lsys@\languagename},#2]}{#3}% ie \bbl@exp{..}{#3} + \begingroup + #4% + \xdef#1{\f@family}% eg, \bbl@rmdflt@lang{FreeSerif(0)} + \endgroup + \let#4\bbl@temp@fam + \bbl@exp{\let\<\bbl@stripslash#4\space>}\bbl@temp@pfam + \let\bbl@mapselect\bbl@tempe}% \def\bbl@font@rst#1#2#3#4{% \bbl@csarg\def{famrst@#4}{\bbl@font@set{#1}#2#3}} \def\bbl@font@fams{rm,sf,tt} |