[latex3-commits] [git/LaTeX3-latex3-babel] master: Bump to 3.36. (1b78239)

Javier jbezos at dante.de
Thu Nov 14 09:38:54 CET 2019


Repository : https://github.com/latex3/babel
On branch  : master
Link       : https://github.com/latex3/babel/commit/1b782395a198baab2b70d3daa6a5f32ae696a5b9

>---------------------------------------------------------------

commit 1b782395a198baab2b70d3daa6a5f32ae696a5b9
Author: Javier <jbezos at localhost>
Date:   Thu Nov 14 09:38:54 2019 +0100

    Bump to 3.36.


>---------------------------------------------------------------

1b782395a198baab2b70d3daa6a5f32ae696a5b9
 README.md                        |  11 +--
 babel.dtx                        | 192 ++++++++++++++++++++++-----------------
 babel.ins                        |   2 +-
 babel.pdf                        | Bin 708024 -> 723535 bytes
 bbcompat.dtx                     |   2 +-
 locale/zh/babel-zh-Hans-HK.ini   |   2 +-
 locale/zh/babel-zh-Hant-HK.ini   |   4 +-
 locale/zh/babel-zh-Hant-MO.ini   |   2 +-
 locale/zh/babel-zh-Hant.ini      |   2 +-
 samples/harf-farsi-malayalam.pdf | Bin 39076 -> 42616 bytes
 samples/harf-farsi-malayalam.tex |  12 ++-
 11 files changed, 128 insertions(+), 101 deletions(-)

diff --git a/README.md b/README.md
index cecd26a..1052b9b 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-## Babel 3.35.1815
+## Babel 3.36
 
 This package manages culturally-determined typographical (and other)
 rules, and hyphenation patterns for a wide range of languages.  Many
@@ -51,12 +51,11 @@ respective authors.
 ### Latest changes
 
 ```
-3.36   2019-??-??
-       - New \babeladjust, with options: bidi.text, bidi.mirroring,
+3.36   2019-11-14
+       - New - \babeladjust, with options: bidi.text, bidi.mirroring,
          bidi.mapdigits, layout.tabular, layout.lists, linebreak.sea,
-         linebreak.cjk. There are still
-         some limitations.
-       - New ini for Ancient Greek, thanks to Claudio Beccari.
+         linebreak.cjk. There are still some limitations.
+       - New - ini for Polytonic Greek, thanks to Claudio Beccari.
        - Fix - Language and script set for Chinese Tradicional and
          Chinese Simplified.
        
diff --git a/babel.dtx b/babel.dtx
index eb040d7..7c64648 100644
--- a/babel.dtx
+++ b/babel.dtx
@@ -31,7 +31,7 @@
 %
 % \iffalse
 %<*filedriver>
-\ProvidesFile{babel.dtx}[2019/11/04 v3.35.1815 The Babel package]
+\ProvidesFile{babel.dtx}[2019/11/14 v3.36 The Babel package]
 \documentclass{ltxdoc}
 \GetFileInfo{babel.dtx}
 \usepackage{fontspec}
@@ -2078,13 +2078,17 @@ existing language, too, as explained in the previous subsection).
 
 \Describe{\babelprovide}{\oarg{options}\marg{language-name}}
 
-If the language |\marg{language-name}| has not been defined and there
-are no options, it creates lan “empty” one in the following way: define
-the internal structure of the language with some defaults: if there is
-an |ini| file, read some basic parameters (language, script,
-hyphenrules...), which you can modify; if not, the hyphen rules, if not
+If the language \m{language-name} has not been loaded as class or
+package option and there are no \m{options}, it creates an “empty” one
+with some defaults in its internal structure: the hyphen rules, if not
 available, are set to the current ones, left and right hyphen mins are
-set to 2 and 3. In either case, captions and date are not defined.
+set to 2 and 3. In either case, caption, date and language system are
+not defined.
+
+If no |ini| file is imported with |import|, \m{language-name} is
+relevant because in such a case the hyphenation rules are based on it
+as provided in the |ini| file corresponding to that name; the same
+applies to OpenType language and script.
 
 Conveniently, some options allow to fill the language, and \babel{}
 warns you about what to do if there is a missing string. Very likely
@@ -2214,8 +2218,8 @@ be added.} So, there should be at most 3 directives of this kind.
 Sets the interword space for the writing system of the language, in em
 units (so, |0 .1 0| is |0em plus .1em|). Like |\spaceskip|, the em unit
 applied is that of the current text (more precisely, the previous 
-glyph). Currently used only in Southeast Asian scrips, like Thai.
-Requires |import|.
+glyph). Currently used only in Southeast Asian scrips, like Thai, and
+CJK. Requires |import|.
 
 \Describe{intrapenalty=}{\meta{penalty}}
 Sets the interword penalty for the writing system of this language.
@@ -3011,15 +3015,16 @@ paragraphs).
 
 \Describe{\babeladjust}{\marg{key-value-list}}
 
-\New{3.36} Sometimes you might need to disable some \textsc{babel}
-features. Currently this macro understands the following keys (and only
-for \textsf{luatex}), with values |on| or |off|: |bidi.text|,
+\New{3.36} Sometimes you might need to disable some \babel{} features.
+Currently this macro understands the following keys (and only for
+\textsf{luatex}), with values |on| or |off|: |bidi.text|,
 |bidi.mirroring|, |bidi.mapdigits|, |layout.lists|, |layout.tabular|,
 |linebreak.sea|, |linebreak.cjk|. For example, you can set
 |\babeladjust{bidi.text=off}| if you are using an alternative algorithm
-or with large sections not requiring it. Use with care, because these
-options do not deactive other related options (like paragraph direction
-with |bidi.text|).
+or with large sections not requiring it. With \textsf{luahbtex} you may
+need |bidi.mirroring=off|. Use with care, because these options do not
+deactivate other related options (like paragraph direction with
+|bidi.text|).
 
 \subsection{Tips, workarounds, known issues and notes}
 
@@ -3166,6 +3171,16 @@ So, for example:
 \babelFSfeatures{turkish}{Language=Turkish}
 \end{verbatim}
 
+\medskip
+\textbf{Modifying values of |ini| files}
+
+\New{3.36} There is a way to modify the values of |ini| files when they
+get loaded with |\babelprovide|. To set, say, |digits.native| in the
+|numbers| section, use something like
+|numbers..digits.native=abcdefghij| (note the double dot between the
+section and the key name). The syntax may change, and currently it only
+redefines existing keys.
+
 \section{Loading languages with \file{language.dat}}
 
 \TeX{} and most engines based on it (pdf\TeX, \xetex, $\epsilon$-\TeX,
@@ -4088,8 +4103,8 @@ help from Bernd Raichle, for which I am grateful.
 % \section{Tools}
 %
 %    \begin{macrocode}
-%<<version=3.35.1815>>
-%<<date=2019/11/04>>
+%<<version=3.36>>
+%<<date=2019/11/14>>
 %    \end{macrocode}
 %
 % \textbf{Do not use the following macros in \texttt{ldf} files. They
@@ -5680,11 +5695,9 @@ help from Bernd Raichle, for which I am grateful.
   \bbl at usehooks{beforestart}{}%
   \global\let\bbl at beforestart\relax}
 \AtBeginDocument{%
-  \bbl at beforestart
+  \@nameuse{bbl at beforestart}%
   \if at filesw
-    \immediate\write\@mainaux{%
-    %  \let\string\bbl at nostdfont\string\@gobble 
-      \string\bbl at beforestart}%
+    \immediate\write\@mainaux{\string\@nameuse{bbl at beforestart}}%
   \fi
   \expandafter\selectlanguage\expandafter{\bbl at main@language}%
   \ifbbl at single  % must go after the line above
@@ -8090,20 +8103,20 @@ help from Bernd Raichle, for which I am grateful.
   \let\bbl at KVP@main\@nil
   \let\bbl at KVP@script\@nil
   \let\bbl at KVP@language\@nil
-  \let\bbl at KVP@dir\@nil
-  \let\bbl at KVP@hyphenrules\@nil
+  \let\bbl at KVP@hyphenrules\@nil  % only for provide at new
   \let\bbl at KVP@mapfont\@nil
   \let\bbl at KVP@maparabic\@nil
   \let\bbl at KVP@mapdigits\@nil
   \let\bbl at KVP@intraspace\@nil
   \let\bbl at KVP@intrapenalty\@nil
   \bbl at forkv{#1}{%  TODO - error handling
-    \in@{/}{##1}%
+    \in@{..}{##1}%
     \ifin@
       \bbl at renewinikey##1\@@{##2}%
     \else
       \bbl at csarg\def{KVP@##1}{##2}%
     \fi}%
+  % == import, captions ==
   \ifx\bbl at KVP@import\@nil\else
     \bbl at exp{\\\bbl at ifblank{\bbl at KVP@import}}%
       {\begingroup
@@ -8137,28 +8150,31 @@ help from Bernd Raichle, for which I am grateful.
   % execute some code depending on them. But what about if nothing was
   % imported? We just load the very basic parameters: ids and a few
   % more. 
-  % THIS ADDITION IN 3.30 IS WRONG!!
-%   \bbl at ifunset{bbl at lname@#2}%
-%     {\def\BabelBeforeIni##1##2{%
-%        \begingroup
-%          \catcode`\[=12 \catcode`\]=12 \catcode`\==12 %
-%          \let\bbl at ini@captions at aux\@gobbletwo
-%          \def\bbl at inidate ####1.####2.####3.####4\relax ####5####6{}%
-%          \bbl at read@ini{##1}%
-%          \bbl at exportkey{chrng}{characters.ranges}{}%
-%          \bbl at exportkey{dgnat}{numbers.digits.native}{}%
-%        \endgroup}%           boxed, to avoid extra spaces:
-%      {\setbox\z@\hbox{\InputIfFileExists{babel-#2.tex}{}{}}}}%
-%     {}%
+  \bbl at ifunset{bbl at lname@#2}%
+    {\def\BabelBeforeIni##1##2{%
+       \begingroup
+         \catcode`\[=12 \catcode`\]=12 \catcode`\==12 %
+         \let\bbl at ini@captions at aux\@gobbletwo
+         \def\bbl at inidate ####1.####2.####3.####4\relax ####5####6{}%
+         \bbl at read@ini{##1}{basic data}%
+         \bbl at exportkey{chrng}{characters.ranges}{}%
+         \bbl at exportkey{dgnat}{numbers.digits.native}{}%
+         % \bbl at exportkey{hyphr}{typography.hyphenrules}{}%
+         % \bbl at exportkey{intsp}{typography.intraspace}{}%
+       \endgroup}%           boxed, to avoid extra spaces:
+     {\setbox\z@\hbox{\InputIfFileExists{babel-#2.tex}{}{}}}}%
+    {}%
   % -
-  % Override script and language names with script= and language=
+  % == script, language ==
+  % Override the values from ini or defines them
   \ifx\bbl at KVP@script\@nil\else
     \bbl at csarg\edef{sname@#2}{\bbl at KVP@script}%
   \fi
   \ifx\bbl at KVP@language\@nil\else
     \bbl at csarg\edef{lname@#2}{\bbl at KVP@language}%
   \fi
-  % For bidi texts, to switch the language based on direction
+  % == mapfont ==
+  % For bidi texts, to switch the font based on direction
   \ifx\bbl at KVP@mapfont\@nil\else
     \bbl at ifsamestring{\bbl at KVP@mapfont}{direction}{}%
       {\bbl at error{Option `\bbl at KVP@mapfont' unknown for\\%
@@ -8183,15 +8199,16 @@ help from Bernd Raichle, for which I am grateful.
     \fi
     \bbl at exp{\\\bbl at add\\\bbl at mapselect{\\\bbl at mapdir{\languagename}}}%
   \fi
-  % For East Asian, Southeast Asian, if interspace in ini - TODO: as hook?
-  \ifx\bbl at KVP@intraspace\@nil\else % We may override the ini
+  % == intraspace, intrapenalty ==
+  % For CJK, East Asian, Southeast Asian, if interspace in ini
+  \ifx\bbl at KVP@intraspace\@nil\else % We can override the ini or set
     \bbl at csarg\edef{intsp@#2}{\bbl at KVP@intraspace}%
   \fi
-  \ifcase\bbl at engine\or
+  \ifcase\bbl at engine\or   % lua
     \bbl at ifunset{bbl at intsp@\languagename}{}%
       {\expandafter\ifx\csname bbl at intsp@\languagename\endcsname\@empty\else
          \bbl at xin@{\bbl at cs{sbcp@\languagename}}{Hant,Hans,Jpan,Kore,Kana}%
-         \ifin@
+         \ifin@           % cjk
            \bbl at cjkintraspace
            \directlua{
                Babel = Babel or {}
@@ -8202,7 +8219,7 @@ help from Bernd Raichle, for which I am grateful.
            \ifx\bbl at KVP@intrapenalty\@nil
              \bbl at intrapenalty0\@@
            \fi 
-         \else
+         \else            % sea
            \bbl at seaintraspace
            \bbl at exp{\\\bbl at intraspace\bbl at cs{intsp@\languagename}\\\@@}%
            \directlua{
@@ -8219,9 +8236,9 @@ help from Bernd Raichle, for which I am grateful.
        \ifx\bbl at KVP@intrapenalty\@nil\else
          \expandafter\bbl at intrapenalty\bbl at KVP@intrapenalty\@@
        \fi}%
-  \or 
+  \or                     % xe
     \bbl at xin@{\bbl at cs{sbcp@\languagename}}{Thai,Laoo,Khmr}%
-    \ifin@
+    \ifin@                % sea (currently ckj not handled)
       \bbl at ifunset{bbl at intsp@\languagename}{}%
         {\expandafter\ifx\csname bbl at intsp@\languagename\endcsname\@empty\else
           \ifx\bbl at KVP@intraspace\@nil
@@ -8246,6 +8263,7 @@ help from Bernd Raichle, for which I am grateful.
         \fi}%
     \fi
   \fi
+  % == maparabic ==
   % Native digits, if provided in ini (TeX level, xe and lua)
   \ifcase\bbl at engine\else
     \bbl at ifunset{bbl at dgnat@\languagename}{}%
@@ -8263,6 +8281,7 @@ help from Bernd Raichle, for which I am grateful.
         \fi
       \fi}%
   \fi
+  % == mapdigits ==
   % Native digits (lua level).
   \ifodd\bbl at engine
     \ifx\bbl at KVP@mapdigits\@nil\else
@@ -8299,6 +8318,7 @@ help from Bernd Raichle, for which I am grateful.
         }}
     \fi
   \fi
+  % == require.babel in ini ==
   % To load or reaload the babel-*.tex, if require.babel in ini
   \bbl at ifunset{bbl at rqtex@\languagename}{}%
     {\expandafter\ifx\csname bbl at rqtex@\languagename\endcsname\@empty\else
@@ -8309,6 +8329,7 @@ help from Bernd Raichle, for which I am grateful.
        \catcode`\@=\atcatcode
        \let\atcatcode\relax
      \fi}%
+  % == main ==
   \ifx\bbl at KVP@main\@nil  % Restore only if not 'main'
     \let\languagename\bbl at savelangname
     \chardef\localeid\bbl at savelocaleid\relax
@@ -8372,7 +8393,7 @@ help from Bernd Raichle, for which I am grateful.
         \fi}%
       \expandafter\bbl at tempb\bbl at captionslist\@empty
     \else
-      \bbl at read@ini{\bbl at KVP@captions}%  Here all letters cat = 11
+      \bbl at read@ini{\bbl at KVP@captions}{data}%  Here all letters cat = 11
       \bbl at after@ini
       \bbl at savestrings
     \fi
@@ -8396,7 +8417,7 @@ help from Bernd Raichle, for which I am grateful.
 \def\bbl at provide@renew#1{%
   \ifx\bbl at KVP@captions\@nil\else
     \StartBabelCommands*{#1}{captions}%
-      \bbl at read@ini{\bbl at KVP@captions}%   Here all letters cat = 11
+      \bbl at read@ini{\bbl at KVP@captions}{data}%   Here all letters cat = 11
       \bbl at after@ini
       \bbl at savestrings
     \EndBabelCommands
@@ -8407,6 +8428,7 @@ help from Bernd Raichle, for which I am grateful.
      \bbl at savedate
    \EndBabelCommands
   \fi
+  % == hyphenrules ==
   \bbl at provide@hyphens{#1}}
 %    \end{macrocode}
 %
@@ -8458,7 +8480,7 @@ help from Bernd Raichle, for which I am grateful.
 % key/value pair. \textit{TODO - Work in progress.}
 %
 %    \begin{macrocode}
-\def\bbl at read@ini#1{%
+\def\bbl at read@ini#1#2{%
   \openin1=babel-#1.ini        % FIXME - number must not be hardcoded
   \ifeof1
     \bbl at error
@@ -8474,11 +8496,12 @@ help from Bernd Raichle, for which I am grateful.
     \def\bbl at inipreread##1=##2\@@{%
       \bbl at trim@def\bbl at tempa{##1}% Redundant below !!
       % Move trims here ??
-      \bbl at ifunset{bbl at KVP@\bbl at section/\bbl at tempa}%
+      \bbl at ifunset{bbl at KVP@\bbl at section..\bbl at tempa}%
         {\expandafter\bbl at inireader\bbl at tempa=##2\@@}%
         {}}%
     \let\bbl at inireader\bbl at iniskip
-    \bbl at info{Importing data from babel-#1.ini for \languagename}%
+    \bbl at info{Importing #2 for \languagename\\%
+             from babel-#1.ini. Reported}%
     \loop
     \if T\ifeof1F\fi T\relax % Trick, because inside \loop
       \endlinechar\m at ne
@@ -8507,12 +8530,14 @@ help from Bernd Raichle, for which I am grateful.
   \@nameuse{bbl at secpost@\bbl at section}%  ends previous section
   \def\bbl at section{#1}%
   \def\bbl at elt##1##2{%
-    \@namedef{bbl at KVP@#1/##1}{}}%
+    \@namedef{bbl at KVP@#1..##1}{}}%
   \@nameuse{bbl at renew@#1}%
   \@nameuse{bbl at secpre@#1}%   starts current section
   \bbl at ifunset{bbl at inikv@#1}%
     {\let\bbl at inireader\bbl at iniskip}%
     {\bbl at exp{\let\\\bbl at inireader\<bbl at inikv@#1>}}}
+\def\bbl at renewinikey#1..#2\@@#3{%
+  \bbl at csarg\bbl at add{renew@#1}{\bbl at elt{#2}{#3}}}
 %    \end{macrocode}
 %
 % Reads a key=val line and stores the trimmed val in
@@ -8543,6 +8568,9 @@ help from Bernd Raichle, for which I am grateful.
 % the |ini| file.  The following macros are the readers for
 % |identification| and |typography|.
 %
+% \changes{babel~3.36}{2019/10/30}{New fields for CJK, because OpenType
+%  and the CLDR follow different models.}
+%
 %    \begin{macrocode}
 \let\bbl at inikv@identification\bbl at inikv
 \def\bbl at secpost@identification{%
@@ -8719,7 +8747,7 @@ help from Bernd Raichle, for which I am grateful.
 %    \begin{macrocode}
 \def\bbl at provide@lsys#1{%
   \bbl at ifunset{bbl at lname@#1}%
-    {\bbl at ini@ids{#1}}%
+    {\bbl at ini@basic{#1}}%
     {}%
   \bbl at csarg\let{lsys@#1}\@empty
   \bbl at ifunset{bbl at sname@#1}{\bbl at csarg\gdef{sname@#1}{Default}}{}%
@@ -8743,19 +8771,19 @@ help from Bernd Raichle, for which I am grateful.
 % \changes{babel~3.34}{2019/08/05}{Added \cs{endinput}.}
 %
 %    \begin{macrocode}
-\def\bbl at ini@ids#1{%
+\def\bbl at ini@basic#1{%
   \def\BabelBeforeIni##1##2{%
     \begingroup
       \bbl at add\bbl at secpost@identification{\closein1 }%
       \catcode`\[=12 \catcode`\]=12 \catcode`\==12 %
-      \bbl at read@ini{##1}%   
-      \endinput
-    \endgroup}%           boxed, to avoid extra spaces:
+      \bbl at read@ini{##1}{font and identification data}%   
+      \endinput          % babel- .tex may contain onlypreamble's
+    \endgroup}%            boxed, to avoid extra spaces:
   {\setbox\z@\hbox{\InputIfFileExists{babel-#1.tex}{}{}}}}
-%    \end{macrocode}
-%
 % \section{Adjusting the Babel bahavior}
 %
+% \changes{babel~3.36}{2019/10/30}{New macro \cs{babeladjust}}
+%
 % A generic high level inteface is provided to adjust some global
 % and general settings.
 %
@@ -9905,13 +9933,25 @@ help from Bernd Raichle, for which I am grateful.
 %    or variant language, for which an already defined hyphenation
 %    table can be used.
 %
+% \changes{babel~3.36}{2019/11/07}{Improved message, now showing the
+%   language name}
+%
 %    \begin{macrocode}
 \def\bbl at version{<@version@>}
 \def\bbl at date{<@date@>}
 \def\adddialect#1#2{%
   \global\chardef#1#2\relax
   \bbl at usehooks{adddialect}{{#1}{#2}}%
-  \wlog{\string#1 = a dialect from \string\language#2}}
+  \begingroup
+    \count@#1\relax
+    \def\bbl at elt##1##2##3##4{%
+      \ifnum\count@=##2\relax
+        \bbl at info{\string#1 = using hyphenrules for ##1\\%
+                  (\string\language\the\count@)}%
+        \def\bbl at elt####1####2####3####4{}%
+      \fi}%
+    \bbl at languages
+  \endgroup}
 %    \end{macrocode}
 %
 %  \end{macro}
@@ -11436,7 +11476,7 @@ help from Bernd Raichle, for which I am grateful.
           \bbl at ifunset{bbl@##1dflt@}%
             {\@nameuse{##1family}%
              \bbl at csarg\gdef{WFF@\f at family}{}% Flag
-             \bbl at exp{\\\bbl at add\\\bbl at tempa{* \<##1family> / \f at family\\\\%
+             \bbl at exp{\\\bbl at add\\\bbl at tempa{* \<##1family>= \f at family\\\\%
                 \space\space\fontname\font\\\\}}%
              \bbl at csarg\xdef{##1dflt@}{\f at family}%
              \expandafter\xdef\csname ##1default\endcsname{\f at family}}%
@@ -12623,7 +12663,7 @@ help from Bernd Raichle, for which I am grateful.
 %   are `on'.}
 %
 % The file \textsf{babel-data-bidi.lua} currently only contains data. It is
-% a large and boring file and it's not shown here (see the generated file),
+% a large and boring file and it is not shown here (see the generated file),
 % but here is a sample:
 %\begin{verbatim}
 % [0x25]={d='et'},
@@ -12662,7 +12702,7 @@ Babel.ranges={
  {0x100000, 0x10FFFD, 'on'} -- PUA
 }
 
-Babel.bidi_props={
+Babel.characters={
  [0x0]={d='bn'},
  [0x1]={d='bn'},
  [0x2]={d='bn'},
@@ -18721,26 +18761,6 @@ Babel.bidi_props={
  [0xE007E]={d='bn'},
  [0xE007F]={d='bn'}
 }
-
-Babel.characters = setmetatable ( Babel.bidi_props, {
-  __index = function(_, k)
-    if (k >= 0x0590   and k <= 0x05FF)   then return {d='r'}  end
-    if (k >= 0x0600   and k <= 0x07BF)   then return {d='al'} end
-    if (k >= 0x07C0   and k <= 0x085F)   then return {d='r'}  end
-    if (k >= 0x0860   and k <= 0x086F)   then return {d='al'} end
-    if (k >= 0x08A0   and k <= 0x08FF)   then return {d='al'} end
-    if (k >= 0xE000   and k <= 0xF8FF)   then return {d='on'} end -- PUA
-    if (k >= 0xFB1D   and k <= 0xFB4F)   then return {d='r'}  end
-    if (k >= 0xFB50   and k <= 0xFDFF)   then return {d='al'} end
-    if (k >= 0xFE70   and k <= 0xFEFF)   then return {d='al'} end
-    if (k >= 0x10800  and k <= 0x10C4F)  then return {d='r'}  end
-    if (k >= 0x1E800  and k <= 0x1E8DF)  then return {d='r'}  end
-    if (k >= 0x1E900  and k <= 0x1E95F)  then return {d='r'}  end
-    if (k >= 0x1F300  and k <= 0x1F9FF)  then return {d='on'} end
-    if (k >= 0xF0000  and k <= 0xFFFFD)  then return {d='on'} end -- PUA
-    if (k >= 0x100000 and k <= 0x10FFFD) then return {d='on'} end -- PUA
-  end })
-  
 %</bididata>
 %    \end{macrocode}
 %\fi
@@ -19448,7 +19468,7 @@ end
 %
 % \section{Data for CJK}
 %
-% It is a boring file and it's not shown here (see the generated file),
+% It is a boring file and it is not shown here (see the generated file),
 % but here is a sample:
 %\begin{verbatim}
 % [0x0021]={c='ex'},
@@ -19745,11 +19765,15 @@ Babel.cjk_breaks = {
 %
 % \changes{babel-3.32}{2019/05/21}{Don't set it to
 %   \cs{l at nohyphenation}, best reserved fo special uses.}
+% \changes{babel~3.36}{2019/10/30}{Add nil to the language list.}
 %
 %    \begin{macrocode}
 \ifx\l at nil\@undefined
   \newlanguage\l at nil
   \@namedef{bbl at hyphendata@\the\l at nil}{{}{}}% Remove warning
+  \let\bbl at elt\relax
+  \edef\bbl at languages{%  Add it to the list of languages
+    \bbl at languages\bbl at elt{nil}{\the\l at nil}{}{}}
 \fi
 %    \end{macrocode}
 %
diff --git a/babel.ins b/babel.ins
index 787498c..e12e3c0 100644
--- a/babel.ins
+++ b/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/11/04}
+\def\filedate{2019/11/14}
 \def\batchfile{babel.ins}
 \input docstrip.tex
 
diff --git a/babel.pdf b/babel.pdf
index 7a85f32..f1eafff 100644
Binary files a/babel.pdf and b/babel.pdf differ
diff --git a/bbcompat.dtx b/bbcompat.dtx
index 82a1c9f..ea75355 100644
--- a/bbcompat.dtx
+++ b/bbcompat.dtx
@@ -30,7 +30,7 @@
 %
 % \iffalse
 %<*dtx>
-\ProvidesFile{bbcompat.dtx}[2019/11/04 v3.35.1815]
+\ProvidesFile{bbcompat.dtx}[2019/11/14 v3.36]
 %</dtx>
 %
 %% File 'bbcompat.dtx'
diff --git a/locale/zh/babel-zh-Hans-HK.ini b/locale/zh/babel-zh-Hans-HK.ini
index 96373a6..2b20813 100644
--- a/locale/zh/babel-zh-Hans-HK.ini
+++ b/locale/zh/babel-zh-Hans-HK.ini
@@ -15,7 +15,7 @@ version = 1.3
 date = 2019-10-30
 name.local = 中文
 name.english = Chinese
-name.opentype = Chinese Hong Kong
+name.opentype = Chinese Simplified
 name.babel = chinese-simplified-hongkongsarchina
 name.babel.A = chinese-hans-hk
 tag.bcp47 = zh
diff --git a/locale/zh/babel-zh-Hant-HK.ini b/locale/zh/babel-zh-Hant-HK.ini
index b8f435f..0f00977 100644
--- a/locale/zh/babel-zh-Hant-HK.ini
+++ b/locale/zh/babel-zh-Hant-HK.ini
@@ -15,11 +15,11 @@ version = 1.3
 date = 2019-10-30
 name.local = 中文
 name.english = Chinese
-name.opentype = Chinese Hong Kong
+name.opentype = Chinese Traditional
 name.babel = chinese-traditional-hongkongsarchina
 name.babel.A = chinese-hant-hk
 tag.bcp47 = zh
-tag.opentype = ZHS
+tag.opentype = ZHT
 region.local = 中國香港特別行政區
 region.english = Hong Kong SAR China
 region.tag.bcp47 = HK
diff --git a/locale/zh/babel-zh-Hant-MO.ini b/locale/zh/babel-zh-Hant-MO.ini
index d3e5ad4..ffdc687 100644
--- a/locale/zh/babel-zh-Hant-MO.ini
+++ b/locale/zh/babel-zh-Hant-MO.ini
@@ -19,7 +19,7 @@ name.opentype = Chinese Traditional
 name.babel = chinese-traditional-macausarchina
 name.babel.A = chinese-hant-mo
 tag.bcp47 = zh
-tag.opentype = ZHS
+tag.opentype = ZHT
 region.local = 中國澳門特別行政區
 region.english = Macau SAR China
 region.tag.bcp47 = MO
diff --git a/locale/zh/babel-zh-Hant.ini b/locale/zh/babel-zh-Hant.ini
index 2347e72..ed0139a 100644
--- a/locale/zh/babel-zh-Hant.ini
+++ b/locale/zh/babel-zh-Hant.ini
@@ -19,7 +19,7 @@ name.opentype = Chinese Traditional
 name.babel = chinese-traditional
 name.babel.A = chinese-hant
 tag.bcp47 = zh
-tag.opentype = ZHS
+tag.opentype = ZHT
 script.name = Traditional
 script.name.opentype = CJK
 script.tag.bcp47 = Hant
diff --git a/samples/harf-farsi-malayalam.pdf b/samples/harf-farsi-malayalam.pdf
index d7a699d..4e3d113 100644
Binary files a/samples/harf-farsi-malayalam.pdf and b/samples/harf-farsi-malayalam.pdf differ
diff --git a/samples/harf-farsi-malayalam.tex b/samples/harf-farsi-malayalam.tex
index 22c6e68..3c04713 100644
--- a/samples/harf-farsi-malayalam.tex
+++ b/samples/harf-farsi-malayalam.tex
@@ -1,14 +1,14 @@
 \documentclass{article}
 
-\usepackage{harfload}
-
 \usepackage[bidi=basic]{babel}
 
 \babelprovide[main, import]{persian}
 \babelprovide[import]{malayalam}
 
-\babelfont{rm}[RawFeature={mode=harf}]{Amiri}
-\babelfont[malayalam]{rm}[RawFeature={mode=harf}]{FreeSerif} %{Kartika}
+\babelfont{rm}[Renderer=Harfbuzz]{Amiri}
+\babelfont[malayalam]{rm}[Renderer=Harfbuzz]{FreeSerif}
+
+\babeladjust{ bidi.mirroring = off } % Harf does mirroring
 
 \begin{document}
 
@@ -35,4 +35,8 @@
 ഉപയോഗിക്കുന്നു എന്നാൽ പഴയ് ഹാർഫ്ബസ് ഓപ്പൺടൈപ്പ് ഫോണ്ടുകൾ മാത്രമേ
 പിൻതുണക്കുകയുള്ളൂ.
 
+\medskip
+
+Typeset with luahblatex. Requires luaotfload 3.11.
+
 \end{document}
\ No newline at end of file





More information about the latex3-commits mailing list