summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-07-19 20:46:48 +0000
committerKarl Berry <karl@freefriends.org>2019-07-19 20:46:48 +0000
commitacc026ddb4026d82773b71771f1c5f6112f02043 (patch)
tree14df3198cb923bd2e03e46ba95a1b6b2b3b4914e /Master
parent0770d0964f61096883b1a75524e16c31da08b9a4 (diff)
babel (19jul19)
git-svn-id: svn://tug.org/texlive/trunk@51681 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/babel/README.md20
-rw-r--r--Master/texmf-dist/doc/latex/babel/babel.pdfbin810696 -> 693345 bytes
-rw-r--r--Master/texmf-dist/source/latex/babel/babel.dtx116
-rw-r--r--Master/texmf-dist/source/latex/babel/babel.ins2
-rw-r--r--Master/texmf-dist/source/latex/babel/bbcompat.dtx2
-rw-r--r--Master/texmf-dist/source/latex/babel/locale.zipbin710320 -> 712101 bytes
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua9
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.def50
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.sty7
-rw-r--r--Master/texmf-dist/tex/generic/babel/hyphen.cfg2
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/as/babel-as.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/bn/babel-bn.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/gu/babel-gu.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/hi/babel-hi.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/kn/babel-kn.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ml/babel-ml.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/mr/babel-mr.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/or/babel-or.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/pa/babel-pa-Guru.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/pa/babel-pa.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ta/babel-ta.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/te/babel-te.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/tr/babel-tr.ini1
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/tr/babel-turkish.tex12
-rw-r--r--Master/texmf-dist/tex/generic/babel/nil.ldf2
-rw-r--r--Master/texmf-dist/tex/generic/babel/switch.def6
26 files changed, 179 insertions, 122 deletions
diff --git a/Master/texmf-dist/doc/latex/babel/README.md b/Master/texmf-dist/doc/latex/babel/README.md
index 79dc3e2e2b8..40ce729ea67 100644
--- a/Master/texmf-dist/doc/latex/babel/README.md
+++ b/Master/texmf-dist/doc/latex/babel/README.md
@@ -1,4 +1,4 @@
-## Babel 3.32
+## Babel 3.33
This package manages culturally-determined typographical (and other)
rules, and hyphenation patterns for a wide range of languages. Many
@@ -51,6 +51,12 @@ respective authors.
### Latest changes
```
+3.33 2019-07-19
+ - \prehyphenchar set to 0 in languages requiring it: kannada,
+ marathi, tamil, etc. (lua).
+ - \AddBabelHook can be set for specific languages.
+ - Fix - !\grq in T1 behaved like the ligature !`.
+ - Minimal preliminary support for the experimental harftex.
3.32 2019-06-03
- CJK line breaking is now disabled in verbatim (lua).
- New - \babelcharproperty, to change the direction, mirroring
@@ -137,18 +143,6 @@ respective authors.
bidi at 'automatic' hyphens.
- Fix for latest latex - babel.ins raised an error.
-3.19 2018-04-25
- - Most changes are for luatex:
- . The main new feature is a bidi method for both implicit L in
- R text, and implicit R in L text, with the possibility of
- switching the font automatically. Still somewhat
- experimental, but it should work in most cases.
- . layout=extras for a couple of miscellaneous readjustments.
- . bidi equation numbers.
- - Also, for all engines, new field in some ini files:
- digits.native (to be used in future releases).
-
```
Javier Bezos
-2019/06/03
diff --git a/Master/texmf-dist/doc/latex/babel/babel.pdf b/Master/texmf-dist/doc/latex/babel/babel.pdf
index 2705ade92ad..1fc17020fd4 100644
--- a/Master/texmf-dist/doc/latex/babel/babel.pdf
+++ b/Master/texmf-dist/doc/latex/babel/babel.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/babel/babel.dtx b/Master/texmf-dist/source/latex/babel/babel.dtx
index 5cb3973a67e..c26a20a7483 100644
--- a/Master/texmf-dist/source/latex/babel/babel.dtx
+++ b/Master/texmf-dist/source/latex/babel/babel.dtx
@@ -31,13 +31,23 @@
%
% \iffalse
%<*filedriver>
-\ProvidesFile{babel.dtx}[2019/06/03 v3.32 The Babel package]
+\ProvidesFile{babel.dtx}[2019/07/19 v3.33 The Babel package]
\documentclass{ltxdoc}
\GetFileInfo{babel.dtx}
\usepackage{fontspec}
-\setmainfont[Scale=.88]{Noto Serif}
-\setsansfont[Scale=.88]{Noto Sans}
-\setmonofont[Scale=.88,FakeStretch=.95]{Noto Mono}
+\setmainfont[
+ Scale=.88,
+ BoldFont = NotoSerif-Bold.ttf,
+ ItalicFont = NotoSerif-Italic.ttf,
+ BoldItalicFont = NotoSerif-BoldItalic.ttf]
+ {NotoSerif-Regular.ttf}
+\setsansfont[
+ Scale=.88,
+ BoldFont = NotoSans-Bold.ttf,
+ ItalicFont = NotoSans-Italic.ttf,
+ BoldItalicFont = NotoSans-BoldItalic.ttf]
+ {NotoSans-Regular.ttf}
+\setmonofont[Scale=.88,FakeStretch=.95]{NotoMono-Regular.ttf}
\raggedright
\addtolength{\textwidth}{25pt}
\addtolength{\textheight}{3.5cm}
@@ -910,8 +920,8 @@ in \textsf{english} the shorthands defined by \textsf{ngerman} with
\begin{verbatim}
\addto\extrasenglish{\languageshorthands{ngerman}}
\end{verbatim}
-(You may also need to activate them with, for example,
-|\useshorthands|.)
+(You may also need to activate them as user shorthands in the preamble
+with, for example, |\useshorthands| or |\useshorthands*|.)
Very often, this is a more convenient way to deactivate shorthands
than |\shorthandoff|, as for example if you want to define a macro
@@ -2787,14 +2797,15 @@ options are also used (eg, |\ProsodicMarksOn| in \textsf{latin}).
events. Some hooks are predefined when \luatex{} and \xetex{} are
used.
-\Describe{\AddBabelHook}{\marg{name}\marg{event}\marg{code}}
+\Describe{\AddBabelHook}{\oarg{lang}\marg{name}\marg{event}\marg{code}}
-The same name can be applied to several events. Hooks may be enabled
-and disabled for all defined events with
-|\EnableBabelHook|\marg{name}, |\DisableBabelHook|\marg{name}. Names
-containing the string |babel| are reserved (they are used, for
-example, by |\useshortands*| to add a hook for the event
-|afterextras|).
+The same name can be applied to several events. Hooks may be enabled
+and disabled for all defined events with |\EnableBabelHook|\marg{name},
+|\DisableBabelHook|\marg{name}. Names containing the string |babel| are
+reserved (they are used, for example, by |\useshortands*| to add a hook
+for the event |afterextras|). \New{3.33} They may be also applied to an
+specific language with the optional argument; language specific
+settings are executed after global ones.
Current events are the following; in some of them you can use one to
three \TeX{} parameters (|#1|, |#2|, |#3|), with the meaning given:
@@ -4035,8 +4046,8 @@ help from Bernd Raichle, for which I am grateful.
% \section{Tools}
%
% \begin{macrocode}
-%<<version=3.32>>
-%<<date=2019/06/03>>
+%<<version=3.33>>
+%<<date=2019/07/19>>
% \end{macrocode}
%
% \textbf{Do not use the following macros in \texttt{ldf} files. They
@@ -4576,7 +4587,10 @@ help from Bernd Raichle, for which I am grateful.
or luatexbase.priority_in_callback('hpack_filter',
'luaotfload.node_processor')
or nil)
- }}
+ }%
+ \@ifpackageloaded{harfload}%
+ {\directlua{ Babel.mirroring_enabled = false }}%
+ {}}
\let\bbl@tempa\relax
\@ifpackagewith{babel}{bidi=basic}%
{\def\bbl@tempa{basic}}%
@@ -5308,27 +5322,29 @@ help from Bernd Raichle, for which I am grateful.
% for developpers, after all. |\bbl@usehooks| is the commands used by
% babel to execute hooks defined for an event.
%
-% \changes{babel~3.9k}{2014/03/23}{Removed a \cs{newcommand},
-% undefined in Plain}
+% \changes{babel~3.33}{2019/07/16}{Optional argument for languages.}
%
% \begin{macrocode}
\bbl@trace{Hooks}
-\def\AddBabelHook#1#2{%
- \bbl@ifunset{bbl@hk@#1}{\EnableBabelHook{#1}}{}%
- \def\bbl@tempa##1,#2=##2,##3\@empty{\def\bbl@tempb{##2}}%
- \expandafter\bbl@tempa\bbl@evargs,#2=,\@empty
- \bbl@ifunset{bbl@ev@#1@#2}%
- {\bbl@csarg\bbl@add{ev@#2}{\bbl@elt{#1}}%
- \bbl@csarg\newcommand}%
- {\bbl@csarg\let{ev@#1@#2}\relax
- \bbl@csarg\newcommand}%
- {ev@#1@#2}[\bbl@tempb]}
-\def\EnableBabelHook#1{\bbl@csarg\let{hk@#1}\@firstofone}
-\def\DisableBabelHook#1{\bbl@csarg\let{hk@#1}\@gobble}
+\newcommand\AddBabelHook[3][]{%
+ \bbl@ifunset{bbl@hk@#2}{\EnableBabelHook{#2}}{}%
+ \def\bbl@tempa##1,#3=##2,##3\@empty{\def\bbl@tempb{##2}}%
+ \expandafter\bbl@tempa\bbl@evargs,#3=,\@empty
+ \bbl@ifunset{bbl@ev@#2@#3@#1}%
+ {\bbl@csarg\bbl@add{ev@#3@#1}{\bbl@elt{#2}}}%
+ {\bbl@csarg\let{ev@#2@#3@#1}\relax}%
+ \bbl@csarg\newcommand{ev@#2@#3@#1}[\bbl@tempb]}
+\newcommand\EnableBabelHook[1]{\bbl@csarg\let{hk@#1}\@firstofone}
+\newcommand\DisableBabelHook[1]{\bbl@csarg\let{hk@#1}\@gobble}
\def\bbl@usehooks#1#2{%
\def\bbl@elt##1{%
- \@nameuse{bbl@hk@##1}{\@nameuse{bbl@ev@##1@#1}#2}}%
- \@nameuse{bbl@ev@#1}}
+ \@nameuse{bbl@hk@##1}{\@nameuse{bbl@ev@##1@#1@}#2}}%
+ \@nameuse{bbl@ev@#1@}%
+ \ifx\languagename\@undefined\else % Test required for Plain (?)
+ \def\bbl@elt##1{%
+ \@nameuse{bbl@hk@##1}{\@nameuse{bbl@ev@##1@#1@\languagename}#2}}%
+ \@nameuse{bbl@ev@#1@\languagename}%
+ \fi}
% \end{macrocode}
%
% To ensure forward compatibility, arguments in hooks are set
@@ -7682,7 +7698,7 @@ help from Bernd Raichle, for which I am grateful.
%
% \begin{macrocode}
\ProvideTextCommand{\grq}{T1}{%
- \textormath{\textquoteleft}{\mbox{\textquoteleft}}}
+ \textormath{\kern\z@\textquoteleft}{\mbox{\textquoteleft}}}
\ProvideTextCommand{\grq}{TU}{%
\textormath{\textquoteleft}{\mbox{\textquoteleft}}}
\ProvideTextCommand{\grq}{OT1}{%
@@ -8298,8 +8314,8 @@ help from Bernd Raichle, for which I am grateful.
{{\bbl@exp{\\\addlanguage\<l@##1>}}}%
{}%
\bbl@ifunset{l@##1}%
- {}%
- {\bbl@exp{\let\bbl@tempa\<l@##1>}}%
+ {}%
+ {\bbl@exp{\let\bbl@tempa\<l@##1>}}%
\fi}%
\fi
\ifx\bbl@tempa\relax % if no opt or no language in opt found
@@ -8314,7 +8330,15 @@ help from Bernd Raichle, for which I am grateful.
{\bbl@ifunset{l@#1}% no hyphenrules found - fallback
{\bbl@exp{\\\adddialect\<l@#1>\language}}%
{}}% so, l@<lang> is ok - nothing to do
- {\bbl@exp{\\\adddialect\<l@#1>\bbl@tempa}}}% found in opt list or ini
+ {\bbl@exp{\\\adddialect\<l@#1>\bbl@tempa}}% found in opt list or ini
+ \bbl@ifunset{bbl@prehc@\languagename}%
+ {}% TODO - XeTeX, based on \babelfont and HyphenChar?
+ {\ifodd\bbl@engine\bbl@exp{%
+ \\\bbl@ifblank{\@nameuse{bbl@prehc@#1}}%
+ {}%
+ {\\\AddBabelHook[\languagename]{babel-prehc-\languagename}{patterns}%
+ {\prehyphenchar=\@nameuse{bbl@prehc@\languagename}\relax}}}%
+ \fi}}
% \end{macrocode}
%
% The reader of |ini| files. There are 3 possible cases: a section name
@@ -8410,6 +8434,7 @@ help from Bernd Raichle, for which I am grateful.
\def\bbl@after@ini{%
\bbl@exportkey{lfthm}{typography.lefthyphenmin}{2}%
\bbl@exportkey{rgthm}{typography.righthyphenmin}{3}%
+ \bbl@exportkey{prehc}{typography.prehyphenchar}{}%
\bbl@exportkey{hyphr}{typography.hyphenrules}{}%
\bbl@exportkey{intsp}{typography.intraspace}{}%
\bbl@exportkey{jstfy}{typography.justify}{w}%
@@ -8823,7 +8848,7 @@ help from Bernd Raichle, for which I am grateful.
% because of a circular definition).
%
% (Recent versions of natbib change dynamically |\@citex|, so PR4087
-% doesn't seem fixable in a simple way. Just load natbib before.)
+% doesn't seem fixable in a simple way. Just load natbib before.)
%
% \begin{macrocode}
\def\@citex[#1][#2]#3{%
@@ -9114,7 +9139,8 @@ help from Bernd Raichle, for which I am grateful.
%
% When the package varioref is in use we need to modify its
% internal command |\@@vpageref| in order to prevent problems when
-% an active character ends up in the argument of |\vref|.
+% an active character ends up in the argument of |\vref|. The same
+% needs to happen for |\vrefpagenum|.
%
% \begin{macrocode}
\AtBeginDocument{%
@@ -9123,11 +9149,6 @@ help from Bernd Raichle, for which I am grateful.
\@safe@activestrue
\org@@@vpageref{#1}[#2]{#3}%
\@safe@activesfalse}%
-% \end{macrocode}
-%
-% The same needs to happen for |\vrefpagenum|.
-%
-% \begin{macrocode}
\bbl@redefine\vrefpagenum#1#2{%
\@safe@activestrue
\org@vrefpagenum{#1}{#2}%
@@ -18748,6 +18769,13 @@ Babel.fontmap[1] = {} -- r
Babel.fontmap[2] = {} -- al/an
Babel.bidi_enabled = true
+Babel.mirroring_enabled = true
+
+-- Temporary:
+
+if harf then
+ Babel.mirroring_enabled = false
+end
require('babel-data-bidi.lua')
@@ -19037,7 +19065,7 @@ function Babel.bidi(head, ispar, hdir)
for r = first_on, q - 1 do
nodes[r][2] = temp
item = nodes[r][1] -- MIRRORING
- if item.id == GLYPH and temp == 'r' then
+ if Babel.mirroring_enabled and item.id == GLYPH and temp == 'r' then
item.char = characters[item.char].m or item.char
end
end
diff --git a/Master/texmf-dist/source/latex/babel/babel.ins b/Master/texmf-dist/source/latex/babel/babel.ins
index bb2a9645459..ea54bbbf077 100644
--- a/Master/texmf-dist/source/latex/babel/babel.ins
+++ b/Master/texmf-dist/source/latex/babel/babel.ins
@@ -26,7 +26,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%%
-\def\filedate{2019/06/03}
+\def\filedate{2019/07/19}
\def\batchfile{babel.ins}
\input docstrip.tex
diff --git a/Master/texmf-dist/source/latex/babel/bbcompat.dtx b/Master/texmf-dist/source/latex/babel/bbcompat.dtx
index dd984f664cb..063767ea930 100644
--- a/Master/texmf-dist/source/latex/babel/bbcompat.dtx
+++ b/Master/texmf-dist/source/latex/babel/bbcompat.dtx
@@ -30,7 +30,7 @@
%
% \iffalse
%<*dtx>
-\ProvidesFile{bbcompat.dtx}[2019/06/03 v3.32]
+\ProvidesFile{bbcompat.dtx}[2019/07/19 v3.33]
%</dtx>
%
%% File 'bbcompat.dtx'
diff --git a/Master/texmf-dist/source/latex/babel/locale.zip b/Master/texmf-dist/source/latex/babel/locale.zip
index d26ab3f1ddc..35eca293a1c 100644
--- a/Master/texmf-dist/source/latex/babel/locale.zip
+++ b/Master/texmf-dist/source/latex/babel/locale.zip
Binary files differ
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 7f3269bbb91..d1fb3c00fce 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua
+++ b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua
@@ -42,6 +42,13 @@ Babel.fontmap[1] = {} -- r
Babel.fontmap[2] = {} -- al/an
Babel.bidi_enabled = true
+Babel.mirroring_enabled = true
+
+-- Temporary:
+
+if harf then
+ Babel.mirroring_enabled = false
+end
require('babel-data-bidi.lua')
@@ -331,7 +338,7 @@ function Babel.bidi(head, ispar, hdir)
for r = first_on, q - 1 do
nodes[r][2] = temp
item = nodes[r][1] -- MIRRORING
- if item.id == GLYPH and temp == 'r' then
+ if Babel.mirroring_enabled and item.id == GLYPH and temp == 'r' then
item.char = characters[item.char].m or item.char
end
end
diff --git a/Master/texmf-dist/tex/generic/babel/babel.def b/Master/texmf-dist/tex/generic/babel/babel.def
index 2500bdb4a0c..02e3a8c8f6d 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}[2019/06/03 3.32 Babel common definitions]
+\ProvidesFile{babel.def}[2019/07/19 3.33 Babel common definitions]
\ifx\AtBeginDocument\@undefined
\input plain.def\relax
\fi
@@ -265,22 +265,25 @@
\@namedef{\bbl@tempa\space}}
\@onlypreamble\bbl@redefinerobust
\bbl@trace{Hooks}
-\def\AddBabelHook#1#2{%
- \bbl@ifunset{bbl@hk@#1}{\EnableBabelHook{#1}}{}%
- \def\bbl@tempa##1,#2=##2,##3\@empty{\def\bbl@tempb{##2}}%
- \expandafter\bbl@tempa\bbl@evargs,#2=,\@empty
- \bbl@ifunset{bbl@ev@#1@#2}%
- {\bbl@csarg\bbl@add{ev@#2}{\bbl@elt{#1}}%
- \bbl@csarg\newcommand}%
- {\bbl@csarg\let{ev@#1@#2}\relax
- \bbl@csarg\newcommand}%
- {ev@#1@#2}[\bbl@tempb]}
-\def\EnableBabelHook#1{\bbl@csarg\let{hk@#1}\@firstofone}
-\def\DisableBabelHook#1{\bbl@csarg\let{hk@#1}\@gobble}
+\newcommand\AddBabelHook[3][]{%
+ \bbl@ifunset{bbl@hk@#2}{\EnableBabelHook{#2}}{}%
+ \def\bbl@tempa##1,#3=##2,##3\@empty{\def\bbl@tempb{##2}}%
+ \expandafter\bbl@tempa\bbl@evargs,#3=,\@empty
+ \bbl@ifunset{bbl@ev@#2@#3@#1}%
+ {\bbl@csarg\bbl@add{ev@#3@#1}{\bbl@elt{#2}}}%
+ {\bbl@csarg\let{ev@#2@#3@#1}\relax}%
+ \bbl@csarg\newcommand{ev@#2@#3@#1}[\bbl@tempb]}
+\newcommand\EnableBabelHook[1]{\bbl@csarg\let{hk@#1}\@firstofone}
+\newcommand\DisableBabelHook[1]{\bbl@csarg\let{hk@#1}\@gobble}
\def\bbl@usehooks#1#2{%
\def\bbl@elt##1{%
- \@nameuse{bbl@hk@##1}{\@nameuse{bbl@ev@##1@#1}#2}}%
- \@nameuse{bbl@ev@#1}}
+ \@nameuse{bbl@hk@##1}{\@nameuse{bbl@ev@##1@#1@}#2}}%
+ \@nameuse{bbl@ev@#1@}%
+ \ifx\languagename\@undefined\else % Test required for Plain (?)
+ \def\bbl@elt##1{%
+ \@nameuse{bbl@hk@##1}{\@nameuse{bbl@ev@##1@#1@\languagename}#2}}%
+ \@nameuse{bbl@ev@#1@\languagename}%
+ \fi}
\def\bbl@evargs{,% <- don't delete this comma
everylanguage=1,loadkernel=1,loadpatterns=1,loadexceptions=1,%
adddialect=2,patterns=2,defaultcommands=0,encodedcommands=2,write=0,%
@@ -1213,7 +1216,7 @@
\ProvideTextCommandDefault{\glq}{%
\textormath{\quotesinglbase}{\mbox{\quotesinglbase}}}
\ProvideTextCommand{\grq}{T1}{%
- \textormath{\textquoteleft}{\mbox{\textquoteleft}}}
+ \textormath{\kern\z@\textquoteleft}{\mbox{\textquoteleft}}}
\ProvideTextCommand{\grq}{TU}{%
\textormath{\textquoteleft}{\mbox{\textquoteleft}}}
\ProvideTextCommand{\grq}{OT1}{%
@@ -1641,8 +1644,8 @@
{{\bbl@exp{\\\addlanguage\<l@##1>}}}%
{}%
\bbl@ifunset{l@##1}%
- {}%
- {\bbl@exp{\let\bbl@tempa\<l@##1>}}%
+ {}%
+ {\bbl@exp{\let\bbl@tempa\<l@##1>}}%
\fi}%
\fi
\ifx\bbl@tempa\relax % if no opt or no language in opt found
@@ -1657,7 +1660,15 @@
{\bbl@ifunset{l@#1}% no hyphenrules found - fallback
{\bbl@exp{\\\adddialect\<l@#1>\language}}%
{}}% so, l@<lang> is ok - nothing to do
- {\bbl@exp{\\\adddialect\<l@#1>\bbl@tempa}}}% found in opt list or ini
+ {\bbl@exp{\\\adddialect\<l@#1>\bbl@tempa}}% found in opt list or ini
+ \bbl@ifunset{bbl@prehc@\languagename}%
+ {}% TODO - XeTeX, based on \babelfont and HyphenChar?
+ {\ifodd\bbl@engine\bbl@exp{%
+ \\\bbl@ifblank{\@nameuse{bbl@prehc@#1}}%
+ {}%
+ {\\\AddBabelHook[\languagename]{babel-prehc-\languagename}{patterns}%
+ {\prehyphenchar=\@nameuse{bbl@prehc@\languagename}\relax}}}%
+ \fi}}
\def\bbl@read@ini#1{%
\openin1=babel-#1.ini % FIXME - number must not be hardcoded
\ifeof1
@@ -1719,6 +1730,7 @@
\def\bbl@after@ini{%
\bbl@exportkey{lfthm}{typography.lefthyphenmin}{2}%
\bbl@exportkey{rgthm}{typography.righthyphenmin}{3}%
+ \bbl@exportkey{prehc}{typography.prehyphenchar}{}%
\bbl@exportkey{hyphr}{typography.hyphenrules}{}%
\bbl@exportkey{intsp}{typography.intraspace}{}%
\bbl@exportkey{jstfy}{typography.justify}{w}%
diff --git a/Master/texmf-dist/tex/generic/babel/babel.sty b/Master/texmf-dist/tex/generic/babel/babel.sty
index b4d8860a7a4..e866fbbdd6a 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}[2019/06/03 3.32 The Babel package]
+\ProvidesPackage{babel}[2019/07/19 3.33 The Babel package]
\@ifpackagewith{babel}{debug}
{\providecommand\bbl@trace[1]{\message{^^J[ #1 ]}}%
\let\bbl@debug\@firstofone}
@@ -250,7 +250,10 @@
or luatexbase.priority_in_callback('hpack_filter',
'luaotfload.node_processor')
or nil)
- }}
+ }%
+ \@ifpackageloaded{harfload}%
+ {\directlua{ Babel.mirroring_enabled = false }}%
+ {}}
\let\bbl@tempa\relax
\@ifpackagewith{babel}{bidi=basic}%
{\def\bbl@tempa{basic}}%
diff --git a/Master/texmf-dist/tex/generic/babel/hyphen.cfg b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
index 60086951039..d658be7135f 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}[2019/06/03 3.32 Babel hyphens]
+\ProvidesFile{hyphen.cfg}[2019/07/19 3.33 Babel hyphens]
\xdef\bbl@format{\jobname}
\ifx\AtBeginDocument\@undefined
\def\@empty{}
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 2a3c80e99db..0ba54fd05d6 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
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.1
-date = 2018-04-11
+version = 1.2
+date = 2019-06-16
name.local = অসমীয়া
name.english = Assamese
name.babel = assamese
@@ -136,7 +136,7 @@ hyphenrules = assaseme
lefthyphenmin =
righthyphenmin =
hyphenchar =
-prehyphenchar =
+prehyphenchar = 0
posthyphenchar =
exhyphenchar =
preexhyphenchar =
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 ebe1bb59b9b..9a5dc3924e3 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.1
-date = 2018-04-11
+version = 1.2
+date = 2019-06-16
name.local = বাংলা
name.english = Bangla
name.babel = bengali
@@ -113,7 +113,7 @@ hyphenrules = bengali
lefthyphenmin = 2
righthyphenmin = 2
hyphenchar =
-prehyphenchar =
+prehyphenchar = 0
posthyphenchar =
exhyphenchar =
preexhyphenchar =
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 c7d3c2a250e..617b4c29353 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.1
-date = 2018-04-11
+version = 1.2
+date = 2019-06-16
name.local = ગુજરાતી
name.english = Gujarati
name.babel = gujarati
@@ -136,7 +136,7 @@ hyphenrules = gujarati
lefthyphenmin =
righthyphenmin =
hyphenchar =
-prehyphenchar =
+prehyphenchar = 0
posthyphenchar =
exhyphenchar =
preexhyphenchar =
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 735e5392ba6..365fd0b5aa0 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.0
-date = 2019-01-31
+version = 1.1
+date = 2019-06-16
name.local = हिन्दी
name.english = Hindi
name.babel = hindi
@@ -163,7 +163,7 @@ hyphenrules = hindi
lefthyphenmin =
righthyphenmin =
hyphenchar =
-prehyphenchar =
+prehyphenchar = 0
posthyphenchar =
exhyphenchar =
preexhyphenchar =
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 9896e92fc5c..eed7f7575da 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.1
-date = 2018-04-11
+version = 1.2
+date = 2019-06-16
name.local = ಕನ್ನಡ
name.english = Kannada
name.babel = kannada
@@ -118,7 +118,7 @@ hyphenrules = kannada
lefthyphenmin = 2
righthyphenmin = 2
hyphenchar =
-prehyphenchar =
+prehyphenchar = 0
posthyphenchar =
exhyphenchar =
preexhyphenchar =
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 9343955b43d..f41fa44e0a8 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.1
-date = 2018-04-11
+version = 1.2
+date = 2019-06-16
name.local = മലയാളം
name.english = Malayalam
name.babel = malayalam
@@ -124,7 +124,7 @@ hyphenrules = malayalam
lefthyphenmin = 2
righthyphenmin = 2
hyphenchar =
-prehyphenchar =
+prehyphenchar = 0
posthyphenchar =
exhyphenchar =
preexhyphenchar =
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 eeba0f7b8a4..6e095b04204 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
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.1
-date = 2018-04-11
+version = 1.2
+date = 2019-06-16
name.local = मराठी
name.english = Marathi
name.babel = marathi
@@ -113,7 +113,7 @@ hyphenrules = marathi
lefthyphenmin = 2
righthyphenmin = 2
hyphenchar =
-prehyphenchar =
+prehyphenchar = 0
posthyphenchar =
exhyphenchar =
preexhyphenchar =
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 71b11dc7ee0..3f09cb33521 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.1
-date = 2018-04-11
+version = 1.2
+date = 2019-06-16
name.local = ଓଡ଼ିଆ
name.english = Odia
name.babel = oriya
@@ -136,7 +136,7 @@ hyphenrules = oriya
lefthyphenmin =
righthyphenmin =
hyphenchar =
-prehyphenchar =
+prehyphenchar = 0
posthyphenchar =
exhyphenchar =
preexhyphenchar =
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 e190a51e010..51336211e73 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.1
-date = 2018-04-11
+version = 1.2
+date = 2019-06-16
name.local = ਪੰਜਾਬੀ
name.english = Punjabi
name.babel = punjabi-gurmukhi
@@ -137,7 +137,7 @@ hyphenrules = punjabi
lefthyphenmin =
righthyphenmin =
hyphenchar =
-prehyphenchar =
+prehyphenchar = 0
posthyphenchar =
exhyphenchar =
preexhyphenchar =
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 79838563841..234405d4e5c 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.1
-date = 2018-04-11
+version = 1.2
+date = 2019-06-16
name.local = ਪੰਜਾਬੀ
name.english = Punjabi
name.babel = punjabi
@@ -136,7 +136,7 @@ hyphenrules = punjabi
lefthyphenmin =
righthyphenmin =
hyphenchar =
-prehyphenchar =
+prehyphenchar = 0
posthyphenchar =
exhyphenchar =
preexhyphenchar =
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 6ebfb1da490..78e11223d4a 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.1
-date = 2018-04-11
+version = 1.2
+date = 2019-06-16
name.local = தமிழ்
name.english = Tamil
name.babel = tamil
@@ -136,7 +136,7 @@ hyphenrules = tamil
lefthyphenmin = 2
righthyphenmin = 2
hyphenchar =
-prehyphenchar =
+prehyphenchar = 0
posthyphenchar =
exhyphenchar =
preexhyphenchar =
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 4880bc0d08c..9f81944fba9 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.1
-date = 2018-04-11
+version = 1.2
+date = 2019-06-16
name.local = తెలుగు
name.english = Telugu
name.babel = telugu
@@ -113,7 +113,7 @@ hyphenrules = telugu
lefthyphenmin = 2
righthyphenmin = 2
hyphenchar =
-prehyphenchar =
+prehyphenchar = 0
posthyphenchar =
exhyphenchar =
preexhyphenchar =
diff --git a/Master/texmf-dist/tex/generic/babel/locale/tr/babel-tr.ini b/Master/texmf-dist/tex/generic/babel/locale/tr/babel-tr.ini
index 58c217b70c9..b765218e3dd 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/tr/babel-tr.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/tr/babel-tr.ini
@@ -24,6 +24,7 @@ script.tag.opentype = latn
level = 1
encodings = T1 OT1 LY1
derivate = no
+require.babel = turkish
[captions]
preface = Önsöz
diff --git a/Master/texmf-dist/tex/generic/babel/locale/tr/babel-turkish.tex b/Master/texmf-dist/tex/generic/babel/locale/tr/babel-turkish.tex
index 0becc4f003f..e7346cf2515 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/tr/babel-turkish.tex
+++ b/Master/texmf-dist/tex/generic/babel/locale/tr/babel-turkish.tex
@@ -9,4 +9,16 @@
\fi
\BabelBeforeIni{tr}{%
}
+
+\StartBabelCommands*{turkish}{}
+ \SetCase
+ {\uccode`i=`İ\relax
+ \uccode`ı=`I\relax}
+ {\lccode`İ=`i\relax
+ \lccode`I=`ı\relax}
+ \SetHyphenMap{%
+ \BabelLower{`İ}{`i}%
+ \BabelLower{`I}{`ı}}
+\EndBabelCommands
+
\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/nil.ldf b/Master/texmf-dist/tex/generic/babel/nil.ldf
index 773a8f4c078..d16b8e4f752 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}[2019/06/03 3.32 Nil language]
+\ProvidesLanguage{nil}[2019/07/19 3.33 Nil language]
\LdfInit{nil}{datenil}
\ifx\l@nil\@undefined
\newlanguage\l@nil
diff --git a/Master/texmf-dist/tex/generic/babel/switch.def b/Master/texmf-dist/tex/generic/babel/switch.def
index 010ac0f13fa..c0a24834630 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}[2019/06/03 3.32 Babel switching mechanism]
+\ProvidesFile{switch.def}[2019/07/19 3.33 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.32}
-\def\bbl@date{2019/06/03}
+\def\bbl@version{3.33}
+\def\bbl@date{2019/07/19}
\def\adddialect#1#2{%
\global\chardef#1#2\relax
\bbl@usehooks{adddialect}{{#1}{#2}}%