[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