[latex3-commits] [git/LaTeX3-latex3-babel] master: Bump to 3.32. Start with harftex. (b41ada9)

Javier jbezos at dante.de
Mon Jun 3 16:50:39 CEST 2019


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

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

commit b41ada920214cc96b2ddb89e0d0cc06862fb5b86
Author: Javier <jbezos at localhost>
Date:   Mon Jun 3 16:50:39 2019 +0200

    Bump to 3.32. Start with harftex.


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

b41ada920214cc96b2ddb89e0d0cc06862fb5b86
 README.md              |   13 +++++-----
 babel.dtx              |   66 +++++++++++++++++++++++++++++++++++-------------
 babel.ins              |    2 +-
 babel.pdf              |  Bin 708388 -> 810696 bytes
 bbcompat.dtx           |    2 +-
 samples/bidi-misc.tex  |    3 ---
 samples/harf-fa-ml.pdf |  Bin 0 -> 42215 bytes
 samples/harf-fa-ml.tex |   40 +++++++++++++++++++++++++++++
 8 files changed, 98 insertions(+), 28 deletions(-)

diff --git a/README.md b/README.md
index 52d8f32..79dc3e2 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-## Babel 3.31.1649
+## Babel 3.32
 
 This package manages culturally-determined typographical (and other)
 rules, and hyphenation patterns for a wide range of languages.  Many
@@ -41,7 +41,7 @@ for further details, or if you need to obtain the `latexbug` package.
 If the bug turns out to be with third-party software then please
 contact the developer, and not us!
 
-You may also report them to the author more informally on:
+You may also report them to the current maintainer more informally on:
 
    http://www.texnia.com/contact.html
 
@@ -51,12 +51,13 @@ respective authors.
 ### Latest changes
 
 ```
-3.32   0000-00-00
+3.32   2019-06-03
        - CJK line breaking is now disabled in verbatim (lua).
        - New - \babelcharproperty, to change the direction, mirroring
          glyph and line break properties (lua).
-       - Support for the picture environment (with pict2e) and pgf (lua,
-         somewhat experimental).
+       - Basic support for the picture environment (with pict2e) and pgf
+         (lua, somewhat experimental).
+       - Start support for harftex (just try - it may work).
 
 3.31   2019-05-04
        - Basic support for line breaking with CJK scripts (lua)
@@ -150,4 +151,4 @@ respective authors.
 ```
 
 Javier Bezos
-2019/05/22
+2019/06/03
diff --git a/babel.dtx b/babel.dtx
index 5d991e5..5cb3973 100644
--- a/babel.dtx
+++ b/babel.dtx
@@ -31,7 +31,7 @@
 %
 % \iffalse
 %<*filedriver>
-\ProvidesFile{babel.dtx}[2019/05/22 v3.31.1649 The Babel package]
+\ProvidesFile{babel.dtx}[2019/06/03 v3.32 The Babel package]
 \documentclass{ltxdoc}
 \GetFileInfo{babel.dtx}
 \usepackage{fontspec}
@@ -233,14 +233,14 @@ Javier Bezos
 
 \item  Changes and new features with relation to version 3.8 are
   highlighted with \New{X.XX}\hspace{-.5em}. The most recent features
-  could be still unstable. Please, report any issues you find on      
+  could be still unstable. Please, report any issues you find in      
   \texttt{https://github.com/latex3/babel/issues}, which is better 
   than just complaining on an e-mail list or a web forum.
 
 \item If you are interested in the \TeX{} multilingual support, please
   join the \textsf{kadingira} list on
   \texttt{http://tug.org/mailman/listinfo/kadingira}. You can follow
-  the development of \babel{} on
+  the development of \babel{} in
   \texttt{https://github.com/latex3/babel} (which provides some sample
   files, too).
 
@@ -2376,7 +2376,7 @@ font encodings are the same, like in Unicode based engines.
 
 \New{3.31} (Only \luatex.) With |\babelprovide| and |import|ed CJK
 languages, a simple generic line breaking algorithm (push-out-first) is
-applied, based on a selection of the Unicode rules (\New{3.31} it is
+applied, based on a selection of the Unicode rules (\New{3.32} it is
 disabled in verbatim mode, or more precisely when the hyphenrules
 are set to |nohyphenation|). It can be activated alternatively by
 setting explicitly the |intraspace|.
@@ -2450,10 +2450,11 @@ differ in the way `weak' numeric characters are ordered (eg, Arabic
   could be improvements in the future, because setting bidi text has
   many subtleties (see for example <https://www.w3.org/TR/html-bidi/>).
   A basic stable version for other engines must wait. This applies to
-  text, but \textbf{graphical} elements, including the |picture|
-  environment and PDF or PS based graphics, are not yet correctly
-  handled (far from trivial). Also, indexes and the like are under
-  study, as well as math (there are progresses in the latter).
+  text; there is a basic support for \textbf{graphical} elements,
+  including the |picture| environment (with \textsf{pict2e}) and
+  \textsf{pfg/tikz}. Also, indexes and the like are under study, as
+  well as math (there are progresses in the latter, too, but for
+  example |cases| may fail).
 
   An effort is being made to avoid incompatibilities in the future
   (this one of the reason currently bidi must be explicitly requested
@@ -2484,6 +2485,12 @@ consider the intrinsic direction of scripts and weak directionality.)
 tentative, but it mostly works. For RL documents use the former, and
 for LR ones use the latter.
 
+\New{3.32} There is some experimental support for \textsf{harftex}.
+Since it is based on \luatex, the option |basic| mostly works. You may
+need to deactivate the |rtlm| or the |rtla| font features (besides
+loading \textsf{harfload} before \babel and activating |mode=harf|;
+there is a sample in the GitHub repository).
+
 There are samples on GitHub, under \texttt{/required/babel/samples}.
 See particularly |lua-bidibasic.tex| and |lua-secenum.tex|.
 
@@ -2585,6 +2592,7 @@ Arabic as @1فصحى العصر@0 \textit{fuṣḥā l-ʻaṣr} (MSA) and
                    \texttt{footnotes}  $\string|$
                    \texttt{captions}  $\string|$
                    \texttt{columns} $\string|$                
+                   \texttt{graphics} $\string|$
                    \texttt{extras}}
 
 \New{3.16} \textit{To be expanded}. Selects which layout elements are
@@ -2657,6 +2665,12 @@ bidirectional (with both R and L paragraphs) documents in \luatex{}.
   it might be ignored by some packages and classes (or even raise an
   error). \New{3.18}.
 
+\item[graphics] modifies the |picture| environment so that the whole
+  figure is L but the text is R. It \textit{does not} work with the
+  standard |picture|, and \textit{pict2e} is required if you want
+  sloped lines. It attempts to do the same for \textsf{pgf/tikz}.
+  Somewhat experimental. \New{3.32}.
+
 \item[extras] is used for miscellaneous readjustments which do not fit into
   the previous groups. Currently redefines in \luatex{} |\underline| and
   |\LaTeX2e| \New{3.19}.
@@ -2930,7 +2944,7 @@ Then you preprocess it with |devnag| \m{file}, which creates
 
 \subsection{Unicode character properties in \luatex}
 
-Part of the \babel{} job is to apply Unicode rules to some
+\New{3.32} Part of the \babel{} job is to apply Unicode rules to some
 script-specific features based on some properties. Currently, they are
 3, namely, direction (ie, bidi class), mirroring glyphs, and line
 breaking for CJK scripts. These properties are stored in \textsf{lua}
@@ -4021,8 +4035,8 @@ help from Bernd Raichle, for which I am grateful.
 % \section{Tools}
 %
 %    \begin{macrocode}
-%<<version=3.31.1649>>
-%<<date=2019/05/22>>
+%<<version=3.32>>
+%<<date=2019/06/03>>
 %    \end{macrocode}
 %
 % \textbf{Do not use the following macros in \texttt{ldf} files. They
@@ -4248,7 +4262,9 @@ help from Bernd Raichle, for which I am grateful.
     \bbl at exp{\\\bbl at replace\\\bbl at tempb{\bbl at tempc}{\bbl at tempd}}%
     \bbl at exp{%
   \endgroup
-  \\\scantokens{\def\\#1\bbl at tempa{\bbl at tempb}}}}
+  \\\makeatletter % "internal" macros with @ are assumed
+  \\\scantokens{\def\\#1\bbl at tempa{\bbl at tempb}}%
+  \catcode64=\the\catcode64\relax}} % Restore @
 %    \end{macrocode}
 % \end{macro}
 %
@@ -4491,6 +4507,7 @@ help from Bernd Raichle, for which I am grateful.
 %
 % \changes{babel~3.30}{2019/04/22}{Callbacks aren't specific to
 %   bidi any more, so they are moved.}
+% \changes{babel~3.32}{2019/05/30}{Consider Harf.}
 %
 %    \begin{macrocode}
 \ifx\bbl at languages\@undefined\else
@@ -4512,6 +4529,8 @@ help from Bernd Raichle, for which I am grateful.
   \bbl at languages
 \fi
 \ifodd\bbl at engine
+  % Harftex is evolving, so the callback is not harcoded, just in case
+  \def\bbl at harfpreline{Harf pre_linebreak_filter callback}%
   \def\bbl at activate@preotf{%
     \let\bbl at activate@preotf\relax  % only once
     \directlua{
@@ -4544,13 +4563,19 @@ help from Bernd Raichle, for which I am grateful.
         Babel.pre_otfload_v,
         'Babel.pre_otfload_v',
         luatexbase.priority_in_callback('pre_linebreak_filter',
-          'luaotfload.node_processor') or nil)
+           '\bbl at harfpreline') 
+        or 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)
+           '\bbl at harfpreline') 
+        or luatexbase.priority_in_callback('hpack_filter',
+           'luaotfload.node_processor')
+        or nil)
     }}
   \let\bbl at tempa\relax
   \@ifpackagewith{babel}{bidi=basic}%
@@ -5377,7 +5402,7 @@ help from Bernd Raichle, for which I am grateful.
   \def\<bbl at e@#2>{\the\toks@{\bbl at ens@fontenc}}}}
 \def\bbl at ensure#1#2#3{% 1: include 2: exclude 3: fontenc
   \def\bbl at tempb##1{% elt for (excluding) \bbl at captionslist list
-    \ifx##1\@undefined
+    \ifx##1\@undefined % 3.32 - Don't assume the macros exists
       \edef##1{\noexpand\bbl at nocaption
         {\bbl at stripslash##1}{\languagename\bbl at stripslash##1}}%
     \fi
@@ -7929,6 +7954,8 @@ help from Bernd Raichle, for which I am grateful.
 % \changes{3.30}{2019/04/22}{Native digits (lua level).}
 % \changes{3.30}{2019/04/22}{New attribute in luatex for `locale'. Also
 %   \cs{localeid}}
+% \changes{3.32}{2019/05/30}{Activate CJK line breaking  with an explicit
+%   intraspace.}
 %
 %    \begin{macrocode}
 \bbl at trace{Creating languages and reading ini files}
@@ -11889,6 +11916,7 @@ help from Bernd Raichle, for which I am grateful.
 %
 % \changes{babel~3.24}{2018/09/24}{Lua code for interword spacing
 %   in Southeast Asian scripts.}
+% \changes{babel~3.32}{2019/05/25}{Don't break with CJK if nohyphenation.}
 %
 % \textit{In progress.} Replace regular (ie, implicit) discretionaries
 % by spaceskips, based on the previous glyph (which I think makes
@@ -12104,6 +12132,8 @@ help from Bernd Raichle, for which I am grateful.
 \AtBeginDocument{\bbl at luafixboxdir}
 %    \end{macrocode}
 %
+% \changes{3.32}{2019/05/23}{New - \cs{babelcharproperty}.}
+%
 % The code for |\babelcharproperty| is straightforward. Just note the
 % modified lua table can be different.
 %
@@ -12236,7 +12266,8 @@ help from Bernd Raichle, for which I am grateful.
      \fi}}
   {}
 \IfBabelLayout{graphics}
-  {\def\bbl at pictsetdir{%
+  {\let\bbl at pictresetdir\relax
+   \def\bbl at pictsetdir{%
      \ifcase\bbl at thetextdir
        \let\bbl at pictresetdir\relax
      \else
@@ -12251,6 +12282,7 @@ help from Bernd Raichle, for which I am grateful.
    \AtBeginDocument
      {\ifx\tikz at atbegin@node\@undefined\else
         \bbl at sreplace\pgfpicture{\pgfpicturetrue}{\bbl at pictsetdir\pgfpicturetrue}%
+        \bbl at add\pgfsys at beginpicture{\bbl at pictsetdir}%
         \bbl at add\tikz at atbegin@node{\bbl at pictresetdir}%
       \fi}}
   {}
@@ -19367,7 +19399,7 @@ Babel.cjk_breaks = {
 %    command, \texttt{nil} could be an `unknown' language in which
 %    case we have to make it known.
 %
-% \changes{babel-3.32}{2012/12/21}{Don't set it to
+% \changes{babel-3.32}{2019/05/21}{Don't set it to
 %   \cs{l at nohyphenation}, best reserved fo special uses.}
 %
 %    \begin{macrocode}
diff --git a/babel.ins b/babel.ins
index bac18e8..bb2a964 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/05/22}
+\def\filedate{2019/06/03}
 \def\batchfile{babel.ins}
 \input docstrip.tex
 
diff --git a/babel.pdf b/babel.pdf
index 7eb12c4..2705ade 100644
Binary files a/babel.pdf and b/babel.pdf differ
diff --git a/bbcompat.dtx b/bbcompat.dtx
index 063ad53..dd984f6 100644
--- a/bbcompat.dtx
+++ b/bbcompat.dtx
@@ -30,7 +30,7 @@
 %
 % \iffalse
 %<*dtx>
-\ProvidesFile{bbcompat.dtx}[2019/05/22 v3.31.1649]
+\ProvidesFile{bbcompat.dtx}[2019/06/03 v3.32]
 %</dtx>
 %
 %% File 'bbcompat.dtx'
diff --git a/samples/bidi-misc.tex b/samples/bidi-misc.tex
index 236ba38..2633dca 100644
--- a/samples/bidi-misc.tex
+++ b/samples/bidi-misc.tex
@@ -168,7 +168,6 @@ twelfth thirteenthfourteenth fifteenth.\par}
 \bigskip
 
 \section{Lorem ipsum dolor sit amet}
-\tracingnone
 \label{bla}
 
 \subsection{Praesent risus leo, dictum in vehicula sit amet, feugiat
@@ -311,8 +310,6 @@ diam, quis viverra dolor tortor ac lorem.}
 \caption{Phasellus ac lacus vel risus faucibus.}
 \end{figure}
 
-\tracingmacros2
-
 \twocolumn[%
   \section{Ut suscipit, velit at mattis tempor, arcu justo
                     malesuada sem}%
diff --git a/samples/harf-fa-ml.pdf b/samples/harf-fa-ml.pdf
new file mode 100644
index 0000000..ca63a65
Binary files /dev/null and b/samples/harf-fa-ml.pdf differ
diff --git a/samples/harf-fa-ml.tex b/samples/harf-fa-ml.tex
new file mode 100644
index 0000000..2a16245
--- /dev/null
+++ b/samples/harf-fa-ml.tex
@@ -0,0 +1,40 @@
+\documentclass{article}
+
+\usepackage{harfload}
+
+\usepackage[bidi=basic]{babel}
+
+\babelprovide[main, import]{persian}
+\babelprovide[import]{malayalam}
+
+\babelfont{rm}[RawFeature={mode=harf};-rtlm]{Amiri}
+\babelfont[malayalam]{rm}[RawFeature={mode=harf}]{FreeSerif} %{Kartika}
+
+\begin{document}
+
+حرف‌باز (به انگلیسی: HarfBuzz) یک کتاب‌خانه توسعه نرم‌افزار برای
+شکل‌دهی به متون یونیکد است. حرف‌باز دو نسخه دارد که به حرف‌باز قدیم و
+حرف‌باز جدید معروف است. حرف‌باز قدیم دیگر توسعه داده نمی‌شود. نسخه قدیم
+تنها از فونت‌های نوع اوپن‌فونتز پشتیبانی می‌کرد، در حالی که نسخه جدید
+از انواع مختلف تکنولوژی‌های مرتبط با فونت‌ها پشتیبانی می‌کند.
+
+\medskip
+\small
+
+مشارکت‌کنندگان ویکی‌پدیا. «HarfBuzz». \textit{در دانشنامهٔ ویکی‌پدیای انگلیسی،}
+بازبینی‌شده در ۲ شهریور ۱۳۹۲.
+
+\normalsize
+\medskip
+\selectlanguage{malayalam}
+
+\prehyphenchar=0       % It must be set by Babel!
+
+അക്ഷരങ്ങൾ രൂപപ്പെടുത്താനുപയോഗിക്കുന്ന ഒരു സോഫ്റ്റ്‍വെയർ ലൈബ്രറിയാണ്
+ഹാർഫ്ബസ്. യുണികോഡ് അക്ഷരങ്ങളെ ഗ്ലിഫുകളായി രൂപപ്പെടുത്തുന്നതിനും അവയുടെ
+സ്ഥാനം നിർണ്ണയിക്കുന്നതിനുമാണ് ഹാർഫ്ബസ് ഉപയോഗിക്കുന്നത്. വിവിധ
+സാങ്കേതിവിദ്യയിലുള്ള ഫോണ്ടുകൾ പ്രദർശിപ്പിക്കാൻ പുതിയ ഹാർഫ്ബസ്
+ഉപയോഗിക്കുന്നു എന്നാൽ പഴയ് ഹാർഫ്ബസ് ഓപ്പൺടൈപ്പ് ഫോണ്ടുകൾ മാത്രമേ
+പിൻതുണക്കുകയുള്ളൂ.
+
+\end{document}
\ No newline at end of file





More information about the latex3-commits mailing list