texlive[63931] Master/texmf-dist: polyglossia (18jul22)
commits+karl at tug.org
commits+karl at tug.org
Mon Jul 18 22:13:44 CEST 2022
Revision: 63931
http://tug.org/svn/texlive?view=revision&revision=63931
Author: karl
Date: 2022-07-18 22:13:44 +0200 (Mon, 18 Jul 2022)
Log Message:
-----------
polyglossia (18jul22)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/polyglossia/README.md
trunk/Master/texmf-dist/doc/latex/polyglossia/example-arabic.pdf
trunk/Master/texmf-dist/doc/latex/polyglossia/example-korean.pdf
trunk/Master/texmf-dist/doc/latex/polyglossia/example-thai.pdf
trunk/Master/texmf-dist/doc/latex/polyglossia/examples.pdf
trunk/Master/texmf-dist/doc/latex/polyglossia/polyglossia.pdf
trunk/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex
trunk/Master/texmf-dist/source/latex/polyglossia/polyglossia.dtx
trunk/Master/texmf-dist/tex/latex/polyglossia/babelsh.def
trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf
trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf
trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latin.ldf
trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf
trunk/Master/texmf-dist/tex/latex/polyglossia/hebrewcal.sty
trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty
Modified: trunk/Master/texmf-dist/doc/latex/polyglossia/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/polyglossia/README.md 2022-07-18 20:12:59 UTC (rev 63930)
+++ trunk/Master/texmf-dist/doc/latex/polyglossia/README.md 2022-07-18 20:13:44 UTC (rev 63931)
@@ -1,4 +1,4 @@
-# THE POLYGLOSSIA PACKAGE v1.56
+# THE POLYGLOSSIA PACKAGE v1.57
## Multilingual typesetting with XeLaTeX and LuaLaTeX
This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX.
Modified: trunk/Master/texmf-dist/doc/latex/polyglossia/example-arabic.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/polyglossia/example-korean.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/polyglossia/example-thai.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/polyglossia/examples.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/polyglossia/polyglossia.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex 2022-07-18 20:12:59 UTC (rev 63930)
+++ trunk/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex 2022-07-18 20:13:44 UTC (rev 63931)
@@ -1,6 +1,6 @@
% !TeX spellcheck = en_US
% !TeX TS-program = xelatex
-\documentclass[11pt]{ltxdoc}
+\documentclass[11pt,nohyperref]{ltxdoc}
\usepackage{xcolor}
\usepackage{xspace,fancyvrb,longtable,booktabs}
\usepackage[neverdecrease]{paralist}
@@ -1257,6 +1257,8 @@
\subsection{hebrew}\label{hebrew}
\paragraph*{Options:}
\begin{itemize}
+ \item \xpgboolkeyfalse[1.57]{fullyear} causes years from the current millenium to be printed with the thousands digit
+ (he-tav-shin-samekh-gimel). Without this option, thousands are not printed for the current millenium.
\item \xpgchoicekey{numerals}{\xpgvalue{hebrew} or \xpgpresetvalue{arabic}}
\item \xpgchoicekey{calendar}{\xpgvalue{hebrew} or \xpgpresetvalue{gregorian}}
\item \xpgboolkeyfalse{marcheshvan}
@@ -1263,6 +1265,9 @@
If \xpgvalue{true}, the second month of the civil year will be output as
\texthebrew{מרחשון} (Marcheshvan) rather than \texthebrew{חשון} (Heshvan),
which is the default.
+ \item \xpgchoicekey[1.57]{transliteration}{\xpgvalue{academy} or \xpgpresetvalue{alt}} With value \xpgvalue{academy}, transliteration
+ follows the recommendations of the Hebrew Language Academy. The default (\xpgvalue{alt}) uses the received settings of
+ \pkg{babel} (\pkg{hebcal}) and \pkg{polyglossia} (\pkg{hebrewcal}).
\end{itemize}
\paragraph*{Commands:}
\begin{itemize}
@@ -2424,6 +2429,23 @@
\section{Revision history}
\bgroup\footnotesize
+\subsection*{1.57 (18-07-2022)}
+
+\subsubsection*{Bug fixes}
+\begin{itemize}
+ \item Fix passing of macros to \cmd\setmainlanguage\ and \cmd\setotherlanguage\ (\TXI{543}).
+ \item Fix ¦otherlanguage*¦ environment with bidi text (\TXP{544}).
+ \item Re-fix patching of French part headings with hyperref (\TXI{546}).
+ \item Fix Latin prosodic shorthand issues (\TXI{547}, \href{https://github.com/latex3/babel/issues/126}{Babel/\#126},
+ \href{https://github.com/latex3/babel/issues/129}{Babel/\#129}).
+\end{itemize}
+
+\subsubsection*{New features}
+\begin{itemize}
+ \item New option \xpgoption{transliteration} to Hebrew and hebrewcal (\TXI{540}).
+ \item New option \xpgoption{fullyear} to Hebrew.
+\end{itemize}
+
\subsection*{1.56 (20-04-2022)}
\subsubsection*{Bug fixes}
@@ -3290,9 +3312,9 @@
\TA{Zgarbul Andrey}, \TA{Oleg Domanov}, user \TA{fakhriaunur}, \TA{Philipp Gesang}, \TA{Kevin Godby}, \TA{Enrico Gregorio},
\TA{Khaled Hosny}, \TA{Najib Idrissi}, user \TA{julroy67}, \TA{Dohyun Kim}, \TA{Phil Kime}, \TA{Mike Kroutikov},
\TA{Ivan Kokan}, \TA{Caleb Maclennan}, \TA{José Mancera}, \TA{Miquel Ortega}, \TA{Yevgen Pogribnyi}, \TA{Will Robertson},
-\TA{Maïeul Rouquette}, \TA{Elie Roux}, \TA{Hugo Roy}, \TA{Guy Rutenberg}, \TA{Philipp Stephani}, \TA{Niranjan Tambe},
-\TA{Osman Tursun}, \TA{Keno Wehr}, \TA{Dominik Wujastyk}, \TA{Sertaç Ö. Yıldız}, \TA{Maksim Zholudev}, \TA{Yan Zhou},
-and \TA{Stefan Zlatinov}.
+\TA{Maïeul Rouquette}, \TA{Elie Roux}, \TA{Hugo Roy}, \TA{Guy Rutenberg}, \TA{Marcin Serwin}, \TA{Philipp Stephani},
+\TA{Niranjan Tambe}, \TA{Osman Tursun}, \TA{Keno Wehr}, \TA{Dominik Wujastyk}, \TA{Sertaç Ö. Yıldız}, \TA{Maksim Zholudev},
+\TA{Yan Zhou}, and \TA{Stefan Zlatinov}.
Their respective contributions can be identified from the contributor statistics on
\href{https://github.com/reutenauer/polyglossia/graphs/contributors}{GitHub}.
Modified: trunk/Master/texmf-dist/source/latex/polyglossia/polyglossia.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/polyglossia/polyglossia.dtx 2022-07-18 20:12:59 UTC (rev 63930)
+++ trunk/Master/texmf-dist/source/latex/polyglossia/polyglossia.dtx 2022-07-18 20:13:44 UTC (rev 63931)
@@ -8,7 +8,7 @@
\iffalse
%</internal>
%<*README>
-# THE POLYGLOSSIA PACKAGE v1.56
+# THE POLYGLOSSIA PACKAGE v1.57
## Multilingual typesetting with XeLaTeX and LuaLaTeX
This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX.
@@ -372,7 +372,7 @@
%<*driver>
% !TeX spellcheck = en_US
% !TeX TS-program = xelatex
-\documentclass[11pt]{ltxdoc}
+\documentclass[11pt,nohyperref]{ltxdoc}
\usepackage{xcolor}
\usepackage{xspace,fancyvrb,longtable,booktabs}
\usepackage[neverdecrease]{paralist}
@@ -1640,6 +1640,8 @@
% \subsection{hebrew}\label{hebrew}
% \paragraph*{Options:}
% \begin{itemize}
+% \item \xpgboolkeyfalse[1.57]{fullyear} causes years from the current millenium to be printed with the thousands digit
+% (he-tav-shin-samekh-gimel). Without this option, thousands are not printed for the current millenium.
% \item \xpgchoicekey{numerals}{\xpgvalue{hebrew} or \xpgpresetvalue{arabic}}
% \item \xpgchoicekey{calendar}{\xpgvalue{hebrew} or \xpgpresetvalue{gregorian}}
% \item \xpgboolkeyfalse{marcheshvan}
@@ -1646,6 +1648,9 @@
% If \xpgvalue{true}, the second month of the civil year will be output as
% \texthebrew{מרחשון} (Marcheshvan) rather than \texthebrew{חשון} (Heshvan),
% which is the default.
+% \item \xpgchoicekey[1.57]{transliteration}{\xpgvalue{academy} or \xpgpresetvalue{alt}} With value \xpgvalue{academy}, transliteration
+% follows the recommendations of the Hebrew Language Academy. The default (\xpgvalue{alt}) uses the received settings of
+% \pkg{babel} (\pkg{hebcal}) and \pkg{polyglossia} (\pkg{hebrewcal}).
% \end{itemize}
% \paragraph*{Commands:}
% \begin{itemize}
@@ -2807,6 +2812,23 @@
% \section{Revision history}
%
% \bgroup\footnotesize
+% \subsection*{1.57 (18-07-2022)}
+%
+% \subsubsection*{Bug fixes}
+% \begin{itemize}
+% \item Fix passing of macros to \cmd\setmainlanguage\ and \cmd\setotherlanguage\ (\TXI{543}).
+% \item Fix ¦otherlanguage*¦ environment with bidi text (\TXP{544}).
+% \item Re-fix patching of French part headings with hyperref (\TXI{546}).
+% \item Fix Latin prosodic shorthand issues (\TXI{547}, \href{https://github.com/latex3/babel/issues/126}{Babel/\#126},
+% \href{https://github.com/latex3/babel/issues/129}{Babel/\#129}).
+% \end{itemize}
+%
+% \subsubsection*{New features}
+% \begin{itemize}
+% \item New option \xpgoption{transliteration} to Hebrew and hebrewcal (\TXI{540}).
+% \item New option \xpgoption{fullyear} to Hebrew.
+% \end{itemize}
+%
% \subsection*{1.56 (20-04-2022)}
%
% \subsubsection*{Bug fixes}
@@ -3673,9 +3695,9 @@
% \TA{Zgarbul Andrey}, \TA{Oleg Domanov}, user \TA{fakhriaunur}, \TA{Philipp Gesang}, \TA{Kevin Godby}, \TA{Enrico Gregorio},
% \TA{Khaled Hosny}, \TA{Najib Idrissi}, user \TA{julroy67}, \TA{Dohyun Kim}, \TA{Phil Kime}, \TA{Mike Kroutikov},
% \TA{Ivan Kokan}, \TA{Caleb Maclennan}, \TA{José Mancera}, \TA{Miquel Ortega}, \TA{Yevgen Pogribnyi}, \TA{Will Robertson},
-% \TA{Maïeul Rouquette}, \TA{Elie Roux}, \TA{Hugo Roy}, \TA{Guy Rutenberg}, \TA{Philipp Stephani}, \TA{Niranjan Tambe},
-% \TA{Osman Tursun}, \TA{Keno Wehr}, \TA{Dominik Wujastyk}, \TA{Sertaç Ö. Yıldız}, \TA{Maksim Zholudev}, \TA{Yan Zhou},
-% and \TA{Stefan Zlatinov}.
+% \TA{Maïeul Rouquette}, \TA{Elie Roux}, \TA{Hugo Roy}, \TA{Guy Rutenberg}, \TA{Marcin Serwin}, \TA{Philipp Stephani},
+% \TA{Niranjan Tambe}, \TA{Osman Tursun}, \TA{Keno Wehr}, \TA{Dominik Wujastyk}, \TA{Sertaç Ö. Yıldız}, \TA{Maksim Zholudev},
+% \TA{Yan Zhou}, and \TA{Stefan Zlatinov}.
% Their respective contributions can be identified from the contributor statistics on
% \href{https://github.com/reutenauer/polyglossia/graphs/contributors}{GitHub}.
%
@@ -3701,7 +3723,7 @@
% \subsection{polyglossia.sty}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{polyglossia}[2022/04/20 v1.56
+\ProvidesPackage{polyglossia}[2022/07/18 v1.57
Modern multilingual typesetting with XeLaTeX and LuaLaTeX]
\RequirePackage{etoolbox}
\RequirePackage{makecmds}
@@ -5105,7 +5127,8 @@
}
}
-\newcommand{\setdefaultlanguage}[2][]{%
+\DeclareDocumentCommand \setdefaultlanguage { O{} m }
+{
% latex is an internal language, so do not record
\str_if_eq:eeF{#2}{latex}
{
@@ -5118,11 +5141,11 @@
\polyglossia_load_lang_definition:nn{#1}{#2}
% define environment and command if not alias
\str_if_eq:eeT {\prop_item:Ne \__xpg_alias {#2/target}} {#2} {
- \use:c{\prop_item:Nn{\polyglossia at langsetup}
+ \use:c{\prop_item:Ne{\polyglossia at langsetup}
{#2/DefineCommandsCmd}}
{#2}
}
- \seq_gput_right:Nn \__xpg_langs_loaded {#2}
+ \exp_args:Nnx \seq_gput_right:Nn \__xpg_langs_loaded {#2}
}
\polyglossia at set@default at language:ee {\xpg_alias_add_to_option_i:nn{#2}{#1}}
{\xpg_alias_base_lang:n{#2}}%
@@ -5418,13 +5441,13 @@
\polyglossia_load_lang_definition:ee {#1} {#2}%
% define environment and command if not alias
\str_if_eq:eeT {\prop_item:Ne \__xpg_alias {#2/target}} {#2} {
- \use:c{\prop_item:Nn{\polyglossia at langsetup}
+ \use:c{\prop_item:Ne{\polyglossia at langsetup}
{#2/DefineCommandsCmd}}
{#2}
}
\polyglossia at set@other at language:ee {\xpg_alias_add_to_option_i:nn{#2}{#1}}
{\xpg_alias_base_lang:n{#2}}%
- \seq_gput_right:Nn \__xpg_langs_loaded {#2}
+ \exp_args:Nnx \seq_gput_right:Nn \__xpg_langs_loaded {#2}
}
}
@@ -5568,7 +5591,7 @@
{%
\__xpg_otherlanguage:eee {#1} {#2} {\xpg_alias_base_lang:n{#2}}
}
-{\group_end:}
+{\egroup}
% internal wrapper
% #1 option
@@ -5581,7 +5604,8 @@
\msg_show:nnn { polyglossia } { languagenotloaded } {#2}
}
\xpg at otherlanguage[\xpg_alias_add_to_option_i:nn{#2}{#1}]{#3}%
- \polyglossia at lang@settextdirection:nn{#3}\group_begin:%
+ \polyglossia at lang@settextdirection:nn{#3}%
+ \bgroup
}
\cs_generate_variant:Nn \__xpg_otherlanguage:nnn {
eee
@@ -6510,30 +6534,53 @@
% \subsection{hebrewcal.sty}
% \begin{macrocode}
\ProvidesPackage{hebrewcal}
- [2019/12/03 v2.7 %
+ [2022/07/18 v2.8 %
Hebrew calendar for polyglossia (adapted from hebcal.sty in Babel)]
-\RequirePackage{xkeyval}
-\ifluatex\RequirePackage{luabidi}\else\RequirePackage{bidi}\fi
-\newif\if at xpg@hebrewcal at marcheshvan
-\@xpg at hebrewcal@marcheshvanfalse
+\RequirePackage{iftex}
+\ifluatex
+ \RequirePackage{luabidi}
+\else
+ \RequirePackage{bidi}
+\fi
-\DeclareOption{marcheshvan}{\@xpg at hebrewcal@marcheshvantrue}
-
-\@ifundefined{if at xpg@hebrew at marcheshvan}{}{%
- \if at xpg@hebrew at marcheshvan
- \@xpg at hebrewcal@marcheshvantrue
- \fi
-}
-
%% TODO rewrite this on the basis of Reingold & Dershowitz
%% on the model of hijrical (using calc)
\@ifundefined{@Remainder}{\input{cal-util.def}}{}
-\define at boolkey{hebrew}[@hebrew@]{fullyear}[true]{}
-\setkeys{hebrew}{fullyear=false}
+%
+% OPTIONS
+%
+\RequirePackage{xkeyval}
+% marcheshvan=true|false
+\define at boolkey{hebrewcal}[@xpg at hebrew@]{marcheshvan}[true]{}
+
+% fullyear=true|false
+\define at boolkey{hebrewcal}[@xpg at hebrew@]{fullyear}[true]{}
+
+% transliteration=academy|alt
+\newif\if at hebrewcal@academytrans
+\@hebrewcal at academytransfalse
+\define at choicekey*+{hebrewcal}{transliteration}[\hcal at val\hcal at nr]{academy,alt}[alt]{%
+ \ifcase\hcal at nr\relax
+ % academy:
+ \@hebrewcal at academytranstrue
+ \or
+ % alt:
+ \@hebrewcal at academytransfalse
+ \fi
+ \PackageInfo{hebrewcal}{Setting transliteration=\hcal at val}%
+}{%
+ \PackageWarning{hebrewcal}{Unknown transliteration option `#1'}%
+}
+
+% Process
+\ProcessOptionsX*<hebrewcal>
+%%
+%% END OPTIONS
+
\newcount\hebrewday \newcount\hebrewmonth \newcount\hebrewyear
\def\hebrewdate#1#2#3{%
\HebrewFromGregorian{#1}{#2}{#3}%
@@ -6563,7 +6610,7 @@
\else
\ifnum#1<6000 % current millenium, print without thousands
\@tempcnta=#1\relax
- \if at hebrew@fullyear\else\advance\@tempcnta by -5000\fi
+ \if at xpg@hebrew at fullyear\else\advance\@tempcnta by -5000\fi
\Hebrewnumeral{\@tempcnta}%
\else % #1>6000
\Hebrewnumeral{#1}%
@@ -6581,7 +6628,7 @@
\ifcase#1%
% nothing for 0
\or תשרי%
- \or\if at xpg@hebrewcal at marcheshvan מרחשון\else חשון\fi%
+ \or\if at xpg@hebrew at marcheshvan מרחשון\else חשון\fi%
\or כסלו%
\or טבת%
\or שבט%
@@ -6605,18 +6652,23 @@
\else%
\ifcase #1%
% nothing for 0
- \or Tishrei%
- \or\if at xpg@hebrewcal at marcheshvan Marcheshvan\else Heshvan\fi%
+ \or \if at hebrewcal@academytrans Tishri \else Tishrei \fi%
+ \or%
+ \if at hebrewcal@academytrans%
+ \if at xpg@hebrew at marcheshvan Marẖeshvan\else Heshvan\fi%
+ \else%
+ \if at xpg@hebrew at marcheshvan Marcheshvan\else Heshvan\fi%
+ \fi%
\or Kislev%
- \or Tebeth%
- \or Shebat%
+ \or \if at hebrewcal@academytrans Tevet \else Tebeth \fi%
+ \or \if at hebrewcal@academytrans Shvat \else Shebat \fi%
\or Adar I%
\or Adar II%
\or Nisan%
- \or Iyar%
+ \or \if at hebrewcal@academytrans Iyyar \else Iyar \fi%
\or Sivan%
\or Tammuz%
- \or Av%
+ \or \if at hebrewcal@academytrans Av \else Ab \fi%
\or Elul%
\fi
\fi}
@@ -6727,12 +6779,12 @@
0 \or% % Tishri
30 \or% % Heshvan
59 \or% % Kislev
- 89 \or% % Tebeth
- 118 \or% % Shebat
+ 89 \or% % Tevet
+ 118 \or% % Shvat
148 \or% % Adar I
148 \or% % Adar II
177 \or% % Nisan
- 207 \or% % Iyar
+ 207 \or% % Iyyar
236 \or% % Sivan
266 \or% % Tammuz
295 \or% % Av
@@ -6854,8 +6906,10 @@
\tmpy = \tmpx%
\repeat%
\global\advance #5 by -1%
- \global\advance #4 by -\tmpy}}
-\ProcessOptions*
+ \global\advance #4 by -\tmpy%
+ }%
+}
+
% \end{macrocode}
% \iffalse
%</hebrewcal.sty>
@@ -8495,9 +8549,9 @@
\bbl at afterfi\endinput
\fi
\ProvidesFile{babelsh.def}
- [2019/09/30 %
+ [2022/06/21 %
Babel common definitions for shorthands^^J
- Taken verbatim from babel files (2019/09/27 v3.34)]
+ Taken verbatim from babel files (2022/06/06 v3.76)]
%
% ------------------------------------------------------------------------------
%
@@ -8505,15 +8559,40 @@
%
% ------------------------------------------------------------------------------
%
+\def\bbl at error#1#2{%
+ \begingroup
+ \def\\{\MessageBreak}%
+ \PackageError{babel}{#1}{#2}%
+ \endgroup}
+%
+% ------------------------------------------------------------------------------
+%
+% lines 69 to 73 from babel.sty
+%
+% ------------------------------------------------------------------------------
+%
+\def\bbl at info#1{%
+ \begingroup
+ \def\\{\MessageBreak}%
+ \PackageInfo{babel}{#1}%
+ \endgroup}
+%
+% ------------------------------------------------------------------------------
+%
+% lines 75 to 80 from babel.sty
+%
+% ------------------------------------------------------------------------------
+%
\def\bbl at stripslash{\expandafter\@gobble\string}
\def\bbl at add#1#2{%
\bbl at ifunset{\bbl at stripslash#1}%
{\def#1{#2}}%
{\expandafter\def\expandafter#1\expandafter{#1#2}}}
+\def\bbl at xin@{\@expandtwoargs\in@}
%
% ------------------------------------------------------------------------------
%
-% line 73 to 74 from babel.sty
+% line 97 to 98 from babel.sty
%
% ------------------------------------------------------------------------------
%
@@ -8522,7 +8601,7 @@
%
% ------------------------------------------------------------------------------
%
-% line 399 from babel.sty
+% line 376 from babel.sty
%
% ------------------------------------------------------------------------------
%
@@ -8530,10 +8609,18 @@
%
% ------------------------------------------------------------------------------
%
-% lines 432 to 445 from babel.sty
+% lines 414 to 435 from babel.sty
%
% ------------------------------------------------------------------------------
%
+\def\bbl at sh@string#1{%
+ \ifx#1\@empty\else
+ \ifx#1t\string~%
+ \else\ifx#1c\string,%
+ \else\string#1%
+ \fi\fi
+ \expandafter\bbl at sh@string
+ \fi}
\ifx\bbl at opt@shorthands\@nnil
\def\bbl at ifshorthand#1#2#3{#2}%
\else\ifx\bbl at opt@shorthands\@empty
@@ -8551,7 +8638,7 @@
%
% ------------------------------------------------------------------------------
%
-% line 450 from babel.sty
+% line 440 from babel.sty
%
% ------------------------------------------------------------------------------
%
@@ -8559,91 +8646,45 @@
%
% ------------------------------------------------------------------------------
%
-% lines 389 to 424 from switch.def
+% lines 387 to 406 from babel.def
%
% ------------------------------------------------------------------------------
%
-\ifx\PackageError\@undefined
- \def\bbl at error#1#2{%
- \begingroup
- \newlinechar=`\^^J
- \def\\{^^J(babel) }%
- \errhelp{#2}\errmessage{\\#1}%
- \endgroup}
- \def\bbl at warning#1{%
- \begingroup
- \newlinechar=`\^^J
- \def\\{^^J(polyglossia) }%
- \message{\\#1}%
- \endgroup}
- \def\bbl at info#1{%
- \begingroup
- \newlinechar=`\^^J
- \def\\{^^J}%
- \wlog{#1}%
- \endgroup}
+\let\bbl at opt@shorthands\@nnil
+\def\bbl at ifshorthand#1#2#3{#2}%
+\let\bbl at language@opts\@empty
+\ifx\babeloptionstrings\@undefined
+ \let\bbl at opt@strings\@nnil
\else
- \def\bbl at error#1#2{%
- \begingroup
- \def\\{\MessageBreak}%
- \PackageError{polyglossia}{#1}{#2}%
- \endgroup}
- \def\bbl at warning#1{%
- \begingroup
- \def\\{\MessageBreak}%
- \PackageWarning{polyglossia}{#1}%
- \endgroup}
- \def\bbl at info#1{%
- \begingroup
- \def\\{\MessageBreak}%
- \PackageInfo{polyglossia}{#1}%
- \endgroup}
+ \let\bbl at opt@strings\babeloptionstrings
\fi
-%
-% ------------------------------------------------------------------------------
-%
-% lines 48 to 69 from babel.def
-%
-% ------------------------------------------------------------------------------
-%
-\ifx\bbl at ifshorthand\@undefined
- \let\bbl at opt@shorthands\@nnil
- \def\bbl at ifshorthand#1#2#3{#2}%
- \let\bbl at language@opts\@empty
- \ifx\babeloptionstrings\@undefined
- \let\bbl at opt@strings\@nnil
- \else
- \let\bbl at opt@strings\babeloptionstrings
- \fi
- \def\BabelStringsDefault{generic}
- \def\bbl at tempa{normal}
- \ifx\babeloptionmath\bbl at tempa
- \def\bbl at mathnormal{\noexpand\textormath}
- \fi
- \def\AfterBabelLanguage#1#2{}
- \ifx\BabelModifiers\@undefined\let\BabelModifiers\relax\fi
- \let\bbl at afterlang\relax
- \def\bbl at opt@safe{BR}
- \ifx\@uclclist\@undefined\let\@uclclist\@empty\fi
- \ifx\bbl at trace\@undefined\def\bbl at trace#1{}\fi
- \expandafter\newif\csname ifbbl at single\endcsname
+\def\BabelStringsDefault{generic}
+\def\bbl at tempa{normal}
+\ifx\babeloptionmath\bbl at tempa
+ \def\bbl at mathnormal{\noexpand\textormath}
\fi
+\def\AfterBabelLanguage#1#2{}
+\ifx\BabelModifiers\@undefined\let\BabelModifiers\relax\fi
+\let\bbl at afterlang\relax
+\def\bbl at opt@safe{BR}
+\ifx\@uclclist\@undefined\let\@uclclist\@empty\fi
+\ifx\bbl at trace\@undefined\def\bbl at trace#1{}\fi
+\expandafter\newif\csname ifbbl at single\endcsname
%
% ------------------------------------------------------------------------------
%
-% line 108 from babel.def
+% line 938 from babel.def
%
% ------------------------------------------------------------------------------
%
\def\bbl at csarg#1#2{\expandafter#1\csname bbl@#2\endcsname}%
-
+%
% ------------------------------------------------------------------------------
%
-% lines 110 to 116 from babel.def
+% lines 941 to 947 from babel.def
%
% ------------------------------------------------------------------------------
%
-
\def\bbl at loop#1#2#3{\bbl@@loop#1{#3}#2,\@nnil,}
\def\bbl at loopx#1#2{\expandafter\bbl at loop\expandafter#1\expandafter{#2}}
\def\bbl@@loop#1#2#3,{%
@@ -8651,10 +8692,10 @@
\def#1{#3}#2\bbl at afterfi\bbl@@loop#1{#2}%
\fi}
\def\bbl at for#1#2#3{\bbl at loopx#1{#2}{\ifx#1\@empty\else#3\fi}}
-
+%
% ------------------------------------------------------------------------------
%
-% lines 125 to 130 from babel.def
+% lines 956 to 965 from babel.def
%
% ------------------------------------------------------------------------------
%
@@ -8661,26 +8702,44 @@
\def\bbl at exp#1{%
\begingroup
\let\\\noexpand
- \def\<##1>{\expandafter\noexpand\csname##1\endcsname}%
+ \let\<\bbl at exp@en
+ \let\[\bbl at exp@ue
\edef\bbl at exp@aux{\endgroup#1}%
\bbl at exp@aux}
+\def\bbl at exp@en#1>{\expandafter\noexpand\csname#1\endcsname}%
+\def\bbl at exp@ue#1]{%
+ \unexpanded\expandafter\expandafter\expandafter{\csname#1\endcsname}}%
%
% ------------------------------------------------------------------------------
%
-% lines 144 to 149 from babel.def
+% lines 979 to 998 from babel.def
%
% ------------------------------------------------------------------------------
%
-\def\bbl at ifunset#1{%
- \expandafter\ifx\csname#1\endcsname\relax
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo
- \fi}
+\begingroup
+ \gdef\bbl at ifunset#1{%
+ \expandafter\ifx\csname#1\endcsname\relax
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi}
+ \bbl at ifunset{ifcsname}% TODO. A better test?
+ {}%
+ {\gdef\bbl at ifunset#1{%
+ \ifcsname#1\endcsname
+ \expandafter\ifx\csname#1\endcsname\relax
+ \bbl at afterelse\expandafter\@firstoftwo
+ \else
+ \bbl at afterfi\expandafter\@secondoftwo
+ \fi
+ \else
+ \expandafter\@firstoftwo
+ \fi}}
+\endgroup
%
% ------------------------------------------------------------------------------
%
-% lines 234 to 243 from babel.def
+% lines 1075 to 1084 from babel.def
%
% ------------------------------------------------------------------------------
%
@@ -8697,7 +8756,7 @@
%
% ------------------------------------------------------------------------------
%
-% lines 255 to 258 from babel.def
+% lines 1152 to 1155 from babel.def
%
% ------------------------------------------------------------------------------
%
@@ -8708,7 +8767,7 @@
%
% ------------------------------------------------------------------------------
%
-% lines 293 to 301 from babel.def
+% line 1185 from babel.def
%
% NOTE: In order to avoid importing more unneeded definitions, this macro
% does nothing for us.
@@ -8719,7 +8778,7 @@
%
% ------------------------------------------------------------------------------
%
-% lines 443 to 558 from babel.def
+% lines 1348 to 1463 from babel.def
%
% ------------------------------------------------------------------------------
%
@@ -8770,7 +8829,7 @@
\def\@initiate at active@char#1#2#3{%
\bbl at csarg\edef{oricat@#2}{\catcode`#2=\the\catcode`#2\relax}%
\ifx#1\@undefined
- \bbl at csarg\edef{oridef@#2}{\let\noexpand#1\noexpand\@undefined}%
+ \bbl at csarg\def{oridef@#2}{\def#1{\active at prefix#1\@undefined}}%
\else
\bbl at csarg\let{oridef@@#2}#1%
\bbl at csarg\edef{oridef@#2}{%
@@ -8842,7 +8901,7 @@
%
% ------------------------------------------------------------------------------
%
-% lines 561 to 755 from babel.def
+% lines 1466 to 1516 from babel.def
%
% ------------------------------------------------------------------------------
%
@@ -8855,27 +8914,55 @@
\else
\bbl at afterfi\csname#1 at sh@#2 at sel\endcsname
\fi}
-\def\active at prefix#1{%
- \ifx\protect\@typeset at protect
- \else
- \ifx\protect\@unexpandable at protect
- \noexpand#1%
- \else
- \protect#1%
- \fi
- \expandafter\@gobble
- \fi}
+\begingroup
+\bbl at ifunset{ifincsname}% TODO. Ugly. Correct? Only Plain?
+ {\gdef\active at prefix#1{%
+ \ifx\protect\@typeset at protect
+ \else
+ \ifx\protect\@unexpandable at protect
+ \noexpand#1%
+ \else
+ \protect#1%
+ \fi
+ \expandafter\@gobble
+ \fi}}
+ {\gdef\active at prefix#1{%
+ \ifincsname
+ \string#1%
+ \expandafter\@gobble
+ \else
+ \ifx\protect\@typeset at protect
+ \else
+ \ifx\protect\@unexpandable at protect
+ \noexpand#1%
+ \else
+ \protect#1%
+ \fi
+ \expandafter\expandafter\expandafter\@gobble
+ \fi
+ \fi}}
+\endgroup
\newif\if at safe@actives
\@safe at activesfalse
\def\bbl at restore@actives{\if at safe@actives\@safe at activesfalse\fi}
+\chardef\bbl at activated\z@
\def\bbl at activate#1{%
+ \chardef\bbl at activated\@ne
\bbl at withactive{\expandafter\let\expandafter}#1%
\csname bbl at active@\string#1\endcsname}
\def\bbl at deactivate#1{%
+ \chardef\bbl at activated\tw@
\bbl at withactive{\expandafter\let\expandafter}#1%
\csname bbl at normal@\string#1\endcsname}
\def\bbl at firstcs#1#2{\csname#1\endcsname}
\def\bbl at scndcs#1#2{\csname#2\endcsname}
+%
+% ------------------------------------------------------------------------------
+%
+% lines 1525 to 1702 from babel.def
+%
+% ------------------------------------------------------------------------------
+%
\def\declare at shorthand#1#2{\@decl at short{#1}#2\@nil}
\def\@decl at short#1#2#3\@nil#4{%
\def\bbl at tempa{#3}%
@@ -8909,7 +8996,7 @@
\expandafter\@firstoftwo
\fi}
\def\user at group{user}
-\def\language at group{english}
+\def\language at group{english} % TODO. I don't like defaults
\def\system at group{system}
\def\useshorthands{%
\@ifstar\bbl at usesh@s{\bbl at usesh@x{}}}
@@ -8924,8 +9011,8 @@
#1%
\bbl at activate{#2}}%
{\bbl at error
- {Cannot declare a shorthand turned off (\string#2)}
- {Sorry, but you cannot use shorthands which have been\\%
+ {I can't declare a shorthand turned off (\string#2)}
+ {Sorry, but you can't use shorthands which have been\\%
turned off in the package options}}}
\def\user at language@group{user@\language at group}
\def\bbl at set@user at generic#1#2{%
@@ -8967,7 +9054,7 @@
turned off in the package options}}}
\def\@notshorthand#1{%
\bbl at error{%
- The character `\string #1' should be made a shorthand character;\\%
+ The character '\string #1' should be made a shorthand character;\\%
add the command \string\useshorthands\string{#1\string} to
the preamble.\\%
I will ignore your instruction}%
@@ -8980,14 +9067,27 @@
\ifx#2\@nnil\else
\bbl at ifunset{bbl at active@\string#2}%
{\bbl at error
- {I cannot switch `\string#2' on or off--not a shorthand}%
+ {I can't switch '\string#2' on or off--not a shorthand}%
{This character is not a shorthand. Maybe you made\\%
- a typing mistake? I will ignore your instruction}}%
- {\ifcase#1%
+ a typing mistake? I will ignore your instruction.}}%
+ {\ifcase#1% off, on, off*
\catcode`#212\relax
\or
\catcode`#2\active
+ \bbl at ifunset{bbl at shdef@\string#2}%
+ {}%
+ {\bbl at withactive{\expandafter\let\expandafter}#2%
+ \csname bbl at shdef@\string#2\endcsname
+ \bbl at csarg\let{shdef@\string#2}\relax}%
+ \ifcase\bbl at activated\or
+ \bbl at activate{#2}%
+ \else
+ \bbl at deactivate{#2}%
+ \fi
\or
+ \bbl at ifunset{bbl at shdef@\string#2}%
+ {\bbl at withactive{\bbl at csarg\let{shdef@\string#2}}#2}%
+ {}%
\csname bbl at oricat@\string#2\endcsname
\csname bbl at oridef@\string#2\endcsname
\fi}%
@@ -8999,7 +9099,7 @@
{\bbl at putsh@i#1\@empty\@nnil}%
{\csname bbl at active@\string#1\endcsname}}
\def\bbl at putsh@i#1#2\@nnil{%
- \csname\languagename @sh@\string#1@%
+ \csname\language at group @sh@\string#1@%
\ifx\@empty#2\else\string#2@\fi\endcsname}
\ifx\bbl at opt@shorthands\@nnil\else
\let\bbl at s@initiate at active@char\initiate at active@char
@@ -9044,7 +9144,7 @@
%
% ------------------------------------------------------------------------------
%
-% lines 890 to 927 from babel.def
+% lines 1863 to 1900 from babel.def
%
% ------------------------------------------------------------------------------
%
@@ -14301,9 +14401,9 @@
% Change part heading
% With titlesec
\ifcsdef{titleformat}{%
- \ifcsdef{H at old@part}{% Hyperref
- \let\xpg at save@part at format\H at old@part%
- \patchcmd{\H at old@part}%
+ \ifcsdef{NR at part}{% Hyperref (nameref)
+ \let\xpg at save@part at format\NR at part%
+ \patchcmd{\NR at part}%
{\partname\nobreakspace\thepart}%
{\xpg at french@part\nobreakspace\partname}%
{}%
@@ -14328,9 +14428,9 @@
}{% (not \ifdefined\sectionformat)
% With memoir
\ifcsdef{@memptsize}{%
- \ifcsdef{H at old@part}{% Hyperref
- \let\xpg at save@part at format\H at old@part%
- \patchcmd{\H at old@part}{\printpartname \partnamenum \printpartnum}%
+ \ifcsdef{NR at part}{% Hyperref (nameref)
+ \let\xpg at save@part at format\NR at part%
+ \patchcmd{\NR at part}{\printpartname \partnamenum \printpartnum}%
{\partnamefont\xpg at french@part\partnamenum\printpartname}%
{}%
{\xpg at warning{Failed to patch part for French}}%
@@ -14345,9 +14445,9 @@
}%
}{% (not \ifdefined\@memptsize)
% With standard classes
- \ifcsdef{H at old@part}{% Hyperref
- \let\xpg at save@part at format\H at old@part%
- \patchcmd{\H at old@part}%
+ \ifcsdef{NR at part}{% Hyperref
+ \let\xpg at save@part at format\NR at part%
+ \patchcmd{\NR at part}%
{\partname\nobreakspace\thepart}%
{\xpg at french@part\nobreakspace\partname}%
{}%
@@ -14360,7 +14460,7 @@
{\xpg at french@part\nobreakspace\partname}%
{}%
{\ifcsdef{part}{\xpg at warning{Failed to patch part for French}}{}}%
- }{}% (end \ifdefined \H at old@part)
+ }{}% (end \ifdefined \NR at part)
}% (end \ifdefined\@part)
}% (end \ifdefined\@memptsize)
}% (end \ifdefined\sectionformat)
@@ -14372,8 +14472,8 @@
\ifcsdef{titleformat}{%
% With titlesec
\ifcsdef{xpg at save@part at format}{%
- \ifcsdef{H at old@part}{%
- \let\H at old@part\xpg at save@part at format%
+ \ifcsdef{NR at part}{%
+ \let\NR at part\xpg at save@part at format%
}{%
\let\@part\xpg at save@part at format%
}%
@@ -14387,8 +14487,8 @@
}{%
% With memoir and standard classes
\ifcsdef{xpg at save@part at format}{%
- \ifcsdef{H at old@part}{%
- \let\H at old@part\xpg at save@part at format%
+ \ifcsdef{NR at part}{%
+ \let\NR at part\xpg at save@part at format%
}{%
\let\@part\xpg at save@part at format%
}%
@@ -15846,6 +15946,11 @@
% BCP-47 compliant aliases
\setlanguagealias*{hebrew}{he}
+% hebrewcal options
+\define at key{hebrew}{marcheshvan}[true]{\setkeys{hebrewcal}{marcheshvan=#1}}
+\define at key{hebrew}{transliteration}[alt]{\setkeys{hebrewcal}{transliteration=#1}}
+\define at key{hebrew}{fullyear}[true]{\setkeys{hebrewcal}{fullyear=#1}}
+
\newif\if at calendar@hebrew
\def\tmp at hebrew{hebrew}
\define at key{hebrew}{calendar}[gregorian]{%
@@ -15857,13 +15962,6 @@
\@calendar at hebrewfalse%
\fi}
-\newif\if at xpg@hebrew at marcheshvan
-\@xpg at hebrew@marcheshvanfalse
-
-\define at boolkey{hebrew}[@xpg at hebrew@]{marcheshvan}[true]{}
-
-% hebrewcal.sty also defines the boolean key fullyear (default=false)
-
\newif\if at hebrew@numerals
\def\tmp at hebrew{hebrew}
\define at key{hebrew}{numerals}[arabic]{%
@@ -15877,7 +15975,7 @@
\setkeys{hebrew}{numerals}
% Register default options
-\xpg at initialize@gloss at options{hebrew}{numerals=arabic,calendar=gregorian,marcheshvan=false}
+\xpg at initialize@gloss at options{hebrew}{numerals=arabic,calendar=gregorian,marcheshvan=false,fullyear=false}
\def\captionshebrew{%
\def\prefacename{מבוא}%
@@ -18620,7 +18718,7 @@
%
% \subsection{gloss-latin.ldf}
% \begin{macrocode}
-\ProvidesFile{gloss-latin.ldf}[polyglossia: module for Latin v.2.4 2021-10-25]
+\ProvidesFile{gloss-latin.ldf}[polyglossia: module for Latin v.2.5 2022-06-21]
\ExplSyntaxOn
@@ -19245,6 +19343,9 @@
% The active = character may cause problems with key=value interfaces.
% We have to make sure here that no problems can occur outside a Latin
% prosodic shorthand environment.
+% The active ^ character may cause problems with TeX's ^^xx convention
+% for hexadecimal input. We have to make sure here that no problems can
+% occur outside a Latin prosodic shorthand environment.
% The active ' character may cause problems with the unicode-math package
% (in case Latin is used as a secondary language, see #394). We have to
% turn it off if Latin is not the main language.
@@ -19258,6 +19359,7 @@
\iflatin at prosodicshorthands
\else
\shorthandoff {=}
+ \shorthandoff* {^}
\fi
}
{
@@ -19266,6 +19368,10 @@
% Latin defining such a shorthand in polyglossia.
\shorthandoff {=}
% The following command should not be called if the main language
+ % defines a ^ shorthand. However, there are no languages besides
+ % Latin defining such a shorthand in polyglossia.
+ \shorthandoff* {^}
+ % The following command should not be called if the main language
% defines a ' shorthand. However, there are no languages besides
% Latin defining such a shorthand in polyglossia.
\shorthandoff {'}
@@ -19308,8 +19414,9 @@
\cs_new:Npn \polyglossia_latin_prosodic_shorthands:
{
\def \language at group {latin}
- % The '=' shorthand is normally turned off to avoid problems with key=value
- % interfaces. We turn it on here to enable prosodic shorthands.
+ % The '=' and '^' shorthands are normally turned off to avoid problems with
+ % key=value interfaces and TeX's ^^xx convention for hexadecimal input. We
+ % turn them on here to enable prosodic shorthands.
\shorthandon {=}
\bbl at activate {=}
\declare at shorthand {latin} {=}
@@ -19322,6 +19429,7 @@
\polyglossia_latin_put_macron:N
}
}
+ \shorthandon {^}
\bbl at activate {^}
\declare at shorthand {latin} {^}
{
@@ -19547,7 +19655,7 @@
\peek_meaning:NTF #2
{
#1
- \iffontchar \font "35E \relax % U+35E: combining double macron
+ \iffontchar \font "35E \relax % U+035E: combining double macron
\char "35E \relax
\else
\msg_warning:nn {polyglossia} {latin / no-double-macron-font}
@@ -19593,6 +19701,10 @@
{
\bbl at deactivate {"}
\bbl at deactivate {'}
+ }
+
+\cs_new:Npn \polyglossia_latin_no_prosodic_shorthands:
+ {
\bbl at deactivate {=}
\bbl at deactivate {^}
% The active '=' character may cause problems with key=value interfaces.
@@ -19599,6 +19711,10 @@
% We have to make sure here that no problems can occur outside a Latin
% prosodic shorthand environment.
\shorthandoff {=}
+ % The active '^' character may cause problems with TeX's ^^xx convention
+ % for hexadecimal input. We have to make sure here that no problems can
+ % occur outside a Latin prosodic shorthand environment.
+ \shorthandoff* {^}
}
@@ -19622,6 +19738,9 @@
\iflatin at babelshorthands
\polyglossia_latin_no_shorthands:
\fi
+ \iflatin at prosodicshorthands
+ \polyglossia_latin_no_prosodic_shorthands:
+ \fi
\xpgla at savedvalues
\polyglossia_latin_no_punctuation_spacing:
\polyglossia_latin_modern_character_codes:
@@ -19639,9 +19758,13 @@
}
\iflatin at babelshorthands
\polyglossia_latin_shorthands:
+ \else
+ \polyglossia_latin_no_shorthands:
\fi
\iflatin at prosodicshorthands
\polyglossia_latin_prosodic_shorthands:
+ \else
+ \polyglossia_latin_no_prosodic_shorthands:
\fi
}
@@ -19670,7 +19793,7 @@
%% Copyright (C) Claudio Beccari 2013-2016
%% Copyright (C) Élie Roux 2016-2019
-%% Copyright (C) Keno Wehr 2019-2020
+%% Copyright (C) Keno Wehr 2019-2022
%%
%% Permission is hereby granted, free of charge, to any person obtaining
%% a copy of this software and associated documentation files
@@ -21680,7 +21803,7 @@
\def\polish at vlna{%
\ifluatex
- \singlechars{polish}{AaIiOoUuWwZz}
+ \singlechars{polish}{AaIiOoUuWwZz}%
\preventsingleon
\else
% Code taken and adapted from xevlna.sty
Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/babelsh.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/babelsh.def 2022-07-18 20:12:59 UTC (rev 63930)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/babelsh.def 2022-07-18 20:13:44 UTC (rev 63931)
@@ -3,9 +3,9 @@
\bbl at afterfi\endinput
\fi
\ProvidesFile{babelsh.def}
- [2019/09/30 %
+ [2022/06/21 %
Babel common definitions for shorthands^^J
- Taken verbatim from babel files (2019/09/27 v3.34)]
+ Taken verbatim from babel files (2022/06/06 v3.76)]
%
% ------------------------------------------------------------------------------
%
@@ -13,15 +13,40 @@
%
% ------------------------------------------------------------------------------
%
+\def\bbl at error#1#2{%
+ \begingroup
+ \def\\{\MessageBreak}%
+ \PackageError{babel}{#1}{#2}%
+ \endgroup}
+%
+% ------------------------------------------------------------------------------
+%
+% lines 69 to 73 from babel.sty
+%
+% ------------------------------------------------------------------------------
+%
+\def\bbl at info#1{%
+ \begingroup
+ \def\\{\MessageBreak}%
+ \PackageInfo{babel}{#1}%
+ \endgroup}
+%
+% ------------------------------------------------------------------------------
+%
+% lines 75 to 80 from babel.sty
+%
+% ------------------------------------------------------------------------------
+%
\def\bbl at stripslash{\expandafter\@gobble\string}
\def\bbl at add#1#2{%
\bbl at ifunset{\bbl at stripslash#1}%
{\def#1{#2}}%
{\expandafter\def\expandafter#1\expandafter{#1#2}}}
+\def\bbl at xin@{\@expandtwoargs\in@}
%
% ------------------------------------------------------------------------------
%
-% line 73 to 74 from babel.sty
+% line 97 to 98 from babel.sty
%
% ------------------------------------------------------------------------------
%
@@ -30,7 +55,7 @@
%
% ------------------------------------------------------------------------------
%
-% line 399 from babel.sty
+% line 376 from babel.sty
%
% ------------------------------------------------------------------------------
%
@@ -38,10 +63,18 @@
%
% ------------------------------------------------------------------------------
%
-% lines 432 to 445 from babel.sty
+% lines 414 to 435 from babel.sty
%
% ------------------------------------------------------------------------------
%
+\def\bbl at sh@string#1{%
+ \ifx#1\@empty\else
+ \ifx#1t\string~%
+ \else\ifx#1c\string,%
+ \else\string#1%
+ \fi\fi
+ \expandafter\bbl at sh@string
+ \fi}
\ifx\bbl at opt@shorthands\@nnil
\def\bbl at ifshorthand#1#2#3{#2}%
\else\ifx\bbl at opt@shorthands\@empty
@@ -59,7 +92,7 @@
%
% ------------------------------------------------------------------------------
%
-% line 450 from babel.sty
+% line 440 from babel.sty
%
% ------------------------------------------------------------------------------
%
@@ -67,91 +100,45 @@
%
% ------------------------------------------------------------------------------
%
-% lines 389 to 424 from switch.def
+% lines 387 to 406 from babel.def
%
% ------------------------------------------------------------------------------
%
-\ifx\PackageError\@undefined
- \def\bbl at error#1#2{%
- \begingroup
- \newlinechar=`\^^J
- \def\\{^^J(babel) }%
- \errhelp{#2}\errmessage{\\#1}%
- \endgroup}
- \def\bbl at warning#1{%
- \begingroup
- \newlinechar=`\^^J
- \def\\{^^J(polyglossia) }%
- \message{\\#1}%
- \endgroup}
- \def\bbl at info#1{%
- \begingroup
- \newlinechar=`\^^J
- \def\\{^^J}%
- \wlog{#1}%
- \endgroup}
+\let\bbl at opt@shorthands\@nnil
+\def\bbl at ifshorthand#1#2#3{#2}%
+\let\bbl at language@opts\@empty
+\ifx\babeloptionstrings\@undefined
+ \let\bbl at opt@strings\@nnil
\else
- \def\bbl at error#1#2{%
- \begingroup
- \def\\{\MessageBreak}%
- \PackageError{polyglossia}{#1}{#2}%
- \endgroup}
- \def\bbl at warning#1{%
- \begingroup
- \def\\{\MessageBreak}%
- \PackageWarning{polyglossia}{#1}%
- \endgroup}
- \def\bbl at info#1{%
- \begingroup
- \def\\{\MessageBreak}%
- \PackageInfo{polyglossia}{#1}%
- \endgroup}
+ \let\bbl at opt@strings\babeloptionstrings
\fi
-%
-% ------------------------------------------------------------------------------
-%
-% lines 48 to 69 from babel.def
-%
-% ------------------------------------------------------------------------------
-%
-\ifx\bbl at ifshorthand\@undefined
- \let\bbl at opt@shorthands\@nnil
- \def\bbl at ifshorthand#1#2#3{#2}%
- \let\bbl at language@opts\@empty
- \ifx\babeloptionstrings\@undefined
- \let\bbl at opt@strings\@nnil
- \else
- \let\bbl at opt@strings\babeloptionstrings
- \fi
- \def\BabelStringsDefault{generic}
- \def\bbl at tempa{normal}
- \ifx\babeloptionmath\bbl at tempa
- \def\bbl at mathnormal{\noexpand\textormath}
- \fi
- \def\AfterBabelLanguage#1#2{}
- \ifx\BabelModifiers\@undefined\let\BabelModifiers\relax\fi
- \let\bbl at afterlang\relax
- \def\bbl at opt@safe{BR}
- \ifx\@uclclist\@undefined\let\@uclclist\@empty\fi
- \ifx\bbl at trace\@undefined\def\bbl at trace#1{}\fi
- \expandafter\newif\csname ifbbl at single\endcsname
+\def\BabelStringsDefault{generic}
+\def\bbl at tempa{normal}
+\ifx\babeloptionmath\bbl at tempa
+ \def\bbl at mathnormal{\noexpand\textormath}
\fi
+\def\AfterBabelLanguage#1#2{}
+\ifx\BabelModifiers\@undefined\let\BabelModifiers\relax\fi
+\let\bbl at afterlang\relax
+\def\bbl at opt@safe{BR}
+\ifx\@uclclist\@undefined\let\@uclclist\@empty\fi
+\ifx\bbl at trace\@undefined\def\bbl at trace#1{}\fi
+\expandafter\newif\csname ifbbl at single\endcsname
%
% ------------------------------------------------------------------------------
%
-% line 108 from babel.def
+% line 938 from babel.def
%
% ------------------------------------------------------------------------------
%
\def\bbl at csarg#1#2{\expandafter#1\csname bbl@#2\endcsname}%
-
+%
% ------------------------------------------------------------------------------
%
-% lines 110 to 116 from babel.def
+% lines 941 to 947 from babel.def
%
% ------------------------------------------------------------------------------
%
-
\def\bbl at loop#1#2#3{\bbl@@loop#1{#3}#2,\@nnil,}
\def\bbl at loopx#1#2{\expandafter\bbl at loop\expandafter#1\expandafter{#2}}
\def\bbl@@loop#1#2#3,{%
@@ -159,10 +146,10 @@
\def#1{#3}#2\bbl at afterfi\bbl@@loop#1{#2}%
\fi}
\def\bbl at for#1#2#3{\bbl at loopx#1{#2}{\ifx#1\@empty\else#3\fi}}
-
+%
% ------------------------------------------------------------------------------
%
-% lines 125 to 130 from babel.def
+% lines 956 to 965 from babel.def
%
% ------------------------------------------------------------------------------
%
@@ -169,26 +156,44 @@
\def\bbl at exp#1{%
\begingroup
\let\\\noexpand
- \def\<##1>{\expandafter\noexpand\csname##1\endcsname}%
+ \let\<\bbl at exp@en
+ \let\[\bbl at exp@ue
\edef\bbl at exp@aux{\endgroup#1}%
\bbl at exp@aux}
+\def\bbl at exp@en#1>{\expandafter\noexpand\csname#1\endcsname}%
+\def\bbl at exp@ue#1]{%
+ \unexpanded\expandafter\expandafter\expandafter{\csname#1\endcsname}}%
%
% ------------------------------------------------------------------------------
%
-% lines 144 to 149 from babel.def
+% lines 979 to 998 from babel.def
%
% ------------------------------------------------------------------------------
%
-\def\bbl at ifunset#1{%
- \expandafter\ifx\csname#1\endcsname\relax
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo
- \fi}
+\begingroup
+ \gdef\bbl at ifunset#1{%
+ \expandafter\ifx\csname#1\endcsname\relax
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi}
+ \bbl at ifunset{ifcsname}% TODO. A better test?
+ {}%
+ {\gdef\bbl at ifunset#1{%
+ \ifcsname#1\endcsname
+ \expandafter\ifx\csname#1\endcsname\relax
+ \bbl at afterelse\expandafter\@firstoftwo
+ \else
+ \bbl at afterfi\expandafter\@secondoftwo
+ \fi
+ \else
+ \expandafter\@firstoftwo
+ \fi}}
+\endgroup
%
% ------------------------------------------------------------------------------
%
-% lines 234 to 243 from babel.def
+% lines 1075 to 1084 from babel.def
%
% ------------------------------------------------------------------------------
%
@@ -205,7 +210,7 @@
%
% ------------------------------------------------------------------------------
%
-% lines 255 to 258 from babel.def
+% lines 1152 to 1155 from babel.def
%
% ------------------------------------------------------------------------------
%
@@ -216,7 +221,7 @@
%
% ------------------------------------------------------------------------------
%
-% lines 293 to 301 from babel.def
+% line 1185 from babel.def
%
% NOTE: In order to avoid importing more unneeded definitions, this macro
% does nothing for us.
@@ -227,7 +232,7 @@
%
% ------------------------------------------------------------------------------
%
-% lines 443 to 558 from babel.def
+% lines 1348 to 1463 from babel.def
%
% ------------------------------------------------------------------------------
%
@@ -278,7 +283,7 @@
\def\@initiate at active@char#1#2#3{%
\bbl at csarg\edef{oricat@#2}{\catcode`#2=\the\catcode`#2\relax}%
\ifx#1\@undefined
- \bbl at csarg\edef{oridef@#2}{\let\noexpand#1\noexpand\@undefined}%
+ \bbl at csarg\def{oridef@#2}{\def#1{\active at prefix#1\@undefined}}%
\else
\bbl at csarg\let{oridef@@#2}#1%
\bbl at csarg\edef{oridef@#2}{%
@@ -350,7 +355,7 @@
%
% ------------------------------------------------------------------------------
%
-% lines 561 to 755 from babel.def
+% lines 1466 to 1516 from babel.def
%
% ------------------------------------------------------------------------------
%
@@ -363,27 +368,55 @@
\else
\bbl at afterfi\csname#1 at sh@#2 at sel\endcsname
\fi}
-\def\active at prefix#1{%
- \ifx\protect\@typeset at protect
- \else
- \ifx\protect\@unexpandable at protect
- \noexpand#1%
- \else
- \protect#1%
- \fi
- \expandafter\@gobble
- \fi}
+\begingroup
+\bbl at ifunset{ifincsname}% TODO. Ugly. Correct? Only Plain?
+ {\gdef\active at prefix#1{%
+ \ifx\protect\@typeset at protect
+ \else
+ \ifx\protect\@unexpandable at protect
+ \noexpand#1%
+ \else
+ \protect#1%
+ \fi
+ \expandafter\@gobble
+ \fi}}
+ {\gdef\active at prefix#1{%
+ \ifincsname
+ \string#1%
+ \expandafter\@gobble
+ \else
+ \ifx\protect\@typeset at protect
+ \else
+ \ifx\protect\@unexpandable at protect
+ \noexpand#1%
+ \else
+ \protect#1%
+ \fi
+ \expandafter\expandafter\expandafter\@gobble
+ \fi
+ \fi}}
+\endgroup
\newif\if at safe@actives
\@safe at activesfalse
\def\bbl at restore@actives{\if at safe@actives\@safe at activesfalse\fi}
+\chardef\bbl at activated\z@
\def\bbl at activate#1{%
+ \chardef\bbl at activated\@ne
\bbl at withactive{\expandafter\let\expandafter}#1%
\csname bbl at active@\string#1\endcsname}
\def\bbl at deactivate#1{%
+ \chardef\bbl at activated\tw@
\bbl at withactive{\expandafter\let\expandafter}#1%
\csname bbl at normal@\string#1\endcsname}
\def\bbl at firstcs#1#2{\csname#1\endcsname}
\def\bbl at scndcs#1#2{\csname#2\endcsname}
+%
+% ------------------------------------------------------------------------------
+%
+% lines 1525 to 1702 from babel.def
+%
+% ------------------------------------------------------------------------------
+%
\def\declare at shorthand#1#2{\@decl at short{#1}#2\@nil}
\def\@decl at short#1#2#3\@nil#4{%
\def\bbl at tempa{#3}%
@@ -417,7 +450,7 @@
\expandafter\@firstoftwo
\fi}
\def\user at group{user}
-\def\language at group{english}
+\def\language at group{english} % TODO. I don't like defaults
\def\system at group{system}
\def\useshorthands{%
\@ifstar\bbl at usesh@s{\bbl at usesh@x{}}}
@@ -432,8 +465,8 @@
#1%
\bbl at activate{#2}}%
{\bbl at error
- {Cannot declare a shorthand turned off (\string#2)}
- {Sorry, but you cannot use shorthands which have been\\%
+ {I can't declare a shorthand turned off (\string#2)}
+ {Sorry, but you can't use shorthands which have been\\%
turned off in the package options}}}
\def\user at language@group{user@\language at group}
\def\bbl at set@user at generic#1#2{%
@@ -475,7 +508,7 @@
turned off in the package options}}}
\def\@notshorthand#1{%
\bbl at error{%
- The character `\string #1' should be made a shorthand character;\\%
+ The character '\string #1' should be made a shorthand character;\\%
add the command \string\useshorthands\string{#1\string} to
the preamble.\\%
I will ignore your instruction}%
@@ -488,14 +521,27 @@
\ifx#2\@nnil\else
\bbl at ifunset{bbl at active@\string#2}%
{\bbl at error
- {I cannot switch `\string#2' on or off--not a shorthand}%
+ {I can't switch '\string#2' on or off--not a shorthand}%
{This character is not a shorthand. Maybe you made\\%
- a typing mistake? I will ignore your instruction}}%
- {\ifcase#1%
+ a typing mistake? I will ignore your instruction.}}%
+ {\ifcase#1% off, on, off*
\catcode`#212\relax
\or
\catcode`#2\active
+ \bbl at ifunset{bbl at shdef@\string#2}%
+ {}%
+ {\bbl at withactive{\expandafter\let\expandafter}#2%
+ \csname bbl at shdef@\string#2\endcsname
+ \bbl at csarg\let{shdef@\string#2}\relax}%
+ \ifcase\bbl at activated\or
+ \bbl at activate{#2}%
+ \else
+ \bbl at deactivate{#2}%
+ \fi
\or
+ \bbl at ifunset{bbl at shdef@\string#2}%
+ {\bbl at withactive{\bbl at csarg\let{shdef@\string#2}}#2}%
+ {}%
\csname bbl at oricat@\string#2\endcsname
\csname bbl at oridef@\string#2\endcsname
\fi}%
@@ -507,7 +553,7 @@
{\bbl at putsh@i#1\@empty\@nnil}%
{\csname bbl at active@\string#1\endcsname}}
\def\bbl at putsh@i#1#2\@nnil{%
- \csname\languagename @sh@\string#1@%
+ \csname\language at group @sh@\string#1@%
\ifx\@empty#2\else\string#2@\fi\endcsname}
\ifx\bbl at opt@shorthands\@nnil\else
\let\bbl at s@initiate at active@char\initiate at active@char
@@ -552,7 +598,7 @@
%
% ------------------------------------------------------------------------------
%
-% lines 890 to 927 from babel.def
+% lines 1863 to 1900 from babel.def
%
% ------------------------------------------------------------------------------
%
Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf 2022-07-18 20:12:59 UTC (rev 63930)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf 2022-07-18 20:13:44 UTC (rev 63931)
@@ -364,9 +364,9 @@
% Change part heading
% With titlesec
\ifcsdef{titleformat}{%
- \ifcsdef{H at old@part}{% Hyperref
- \let\xpg at save@part at format\H at old@part%
- \patchcmd{\H at old@part}%
+ \ifcsdef{NR at part}{% Hyperref (nameref)
+ \let\xpg at save@part at format\NR at part%
+ \patchcmd{\NR at part}%
{\partname\nobreakspace\thepart}%
{\xpg at french@part\nobreakspace\partname}%
{}%
@@ -391,9 +391,9 @@
}{% (not \ifdefined\sectionformat)
% With memoir
\ifcsdef{@memptsize}{%
- \ifcsdef{H at old@part}{% Hyperref
- \let\xpg at save@part at format\H at old@part%
- \patchcmd{\H at old@part}{\printpartname \partnamenum \printpartnum}%
+ \ifcsdef{NR at part}{% Hyperref (nameref)
+ \let\xpg at save@part at format\NR at part%
+ \patchcmd{\NR at part}{\printpartname \partnamenum \printpartnum}%
{\partnamefont\xpg at french@part\partnamenum\printpartname}%
{}%
{\xpg at warning{Failed to patch part for French}}%
@@ -408,9 +408,9 @@
}%
}{% (not \ifdefined\@memptsize)
% With standard classes
- \ifcsdef{H at old@part}{% Hyperref
- \let\xpg at save@part at format\H at old@part%
- \patchcmd{\H at old@part}%
+ \ifcsdef{NR at part}{% Hyperref
+ \let\xpg at save@part at format\NR at part%
+ \patchcmd{\NR at part}%
{\partname\nobreakspace\thepart}%
{\xpg at french@part\nobreakspace\partname}%
{}%
@@ -423,7 +423,7 @@
{\xpg at french@part\nobreakspace\partname}%
{}%
{\ifcsdef{part}{\xpg at warning{Failed to patch part for French}}{}}%
- }{}% (end \ifdefined \H at old@part)
+ }{}% (end \ifdefined \NR at part)
}% (end \ifdefined\@part)
}% (end \ifdefined\@memptsize)
}% (end \ifdefined\sectionformat)
@@ -435,8 +435,8 @@
\ifcsdef{titleformat}{%
% With titlesec
\ifcsdef{xpg at save@part at format}{%
- \ifcsdef{H at old@part}{%
- \let\H at old@part\xpg at save@part at format%
+ \ifcsdef{NR at part}{%
+ \let\NR at part\xpg at save@part at format%
}{%
\let\@part\xpg at save@part at format%
}%
@@ -450,8 +450,8 @@
}{%
% With memoir and standard classes
\ifcsdef{xpg at save@part at format}{%
- \ifcsdef{H at old@part}{%
- \let\H at old@part\xpg at save@part at format%
+ \ifcsdef{NR at part}{%
+ \let\NR at part\xpg at save@part at format%
}{%
\let\@part\xpg at save@part at format%
}%
Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf 2022-07-18 20:12:59 UTC (rev 63930)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf 2022-07-18 20:13:44 UTC (rev 63931)
@@ -19,6 +19,11 @@
% BCP-47 compliant aliases
\setlanguagealias*{hebrew}{he}
+% hebrewcal options
+\define at key{hebrew}{marcheshvan}[true]{\setkeys{hebrewcal}{marcheshvan=#1}}
+\define at key{hebrew}{transliteration}[alt]{\setkeys{hebrewcal}{transliteration=#1}}
+\define at key{hebrew}{fullyear}[true]{\setkeys{hebrewcal}{fullyear=#1}}
+
\newif\if at calendar@hebrew
\def\tmp at hebrew{hebrew}
\define at key{hebrew}{calendar}[gregorian]{%
@@ -30,13 +35,6 @@
\@calendar at hebrewfalse%
\fi}
-\newif\if at xpg@hebrew at marcheshvan
-\@xpg at hebrew@marcheshvanfalse
-
-\define at boolkey{hebrew}[@xpg at hebrew@]{marcheshvan}[true]{}
-
-% hebrewcal.sty also defines the boolean key fullyear (default=false)
-
\newif\if at hebrew@numerals
\def\tmp at hebrew{hebrew}
\define at key{hebrew}{numerals}[arabic]{%
@@ -50,7 +48,7 @@
\setkeys{hebrew}{numerals}
% Register default options
-\xpg at initialize@gloss at options{hebrew}{numerals=arabic,calendar=gregorian,marcheshvan=false}
+\xpg at initialize@gloss at options{hebrew}{numerals=arabic,calendar=gregorian,marcheshvan=false,fullyear=false}
\def\captionshebrew{%
\def\prefacename{מבוא}%
Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latin.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latin.ldf 2022-07-18 20:12:59 UTC (rev 63930)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latin.ldf 2022-07-18 20:13:44 UTC (rev 63931)
@@ -1,4 +1,4 @@
-\ProvidesFile{gloss-latin.ldf}[polyglossia: module for Latin v.2.4 2021-10-25]
+\ProvidesFile{gloss-latin.ldf}[polyglossia: module for Latin v.2.5 2022-06-21]
\ExplSyntaxOn
@@ -623,6 +623,9 @@
% The active = character may cause problems with key=value interfaces.
% We have to make sure here that no problems can occur outside a Latin
% prosodic shorthand environment.
+% The active ^ character may cause problems with TeX's ^^xx convention
+% for hexadecimal input. We have to make sure here that no problems can
+% occur outside a Latin prosodic shorthand environment.
% The active ' character may cause problems with the unicode-math package
% (in case Latin is used as a secondary language, see #394). We have to
% turn it off if Latin is not the main language.
@@ -636,6 +639,7 @@
\iflatin at prosodicshorthands
\else
\shorthandoff {=}
+ \shorthandoff* {^}
\fi
}
{
@@ -644,6 +648,10 @@
% Latin defining such a shorthand in polyglossia.
\shorthandoff {=}
% The following command should not be called if the main language
+ % defines a ^ shorthand. However, there are no languages besides
+ % Latin defining such a shorthand in polyglossia.
+ \shorthandoff* {^}
+ % The following command should not be called if the main language
% defines a ' shorthand. However, there are no languages besides
% Latin defining such a shorthand in polyglossia.
\shorthandoff {'}
@@ -686,8 +694,9 @@
\cs_new:Npn \polyglossia_latin_prosodic_shorthands:
{
\def \language at group {latin}
- % The '=' shorthand is normally turned off to avoid problems with key=value
- % interfaces. We turn it on here to enable prosodic shorthands.
+ % The '=' and '^' shorthands are normally turned off to avoid problems with
+ % key=value interfaces and TeX's ^^xx convention for hexadecimal input. We
+ % turn them on here to enable prosodic shorthands.
\shorthandon {=}
\bbl at activate {=}
\declare at shorthand {latin} {=}
@@ -700,6 +709,7 @@
\polyglossia_latin_put_macron:N
}
}
+ \shorthandon {^}
\bbl at activate {^}
\declare at shorthand {latin} {^}
{
@@ -925,7 +935,7 @@
\peek_meaning:NTF #2
{
#1
- \iffontchar \font "35E \relax % U+35E: combining double macron
+ \iffontchar \font "35E \relax % U+035E: combining double macron
\char "35E \relax
\else
\msg_warning:nn {polyglossia} {latin / no-double-macron-font}
@@ -971,6 +981,10 @@
{
\bbl at deactivate {"}
\bbl at deactivate {'}
+ }
+
+\cs_new:Npn \polyglossia_latin_no_prosodic_shorthands:
+ {
\bbl at deactivate {=}
\bbl at deactivate {^}
% The active '=' character may cause problems with key=value interfaces.
@@ -977,6 +991,10 @@
% We have to make sure here that no problems can occur outside a Latin
% prosodic shorthand environment.
\shorthandoff {=}
+ % The active '^' character may cause problems with TeX's ^^xx convention
+ % for hexadecimal input. We have to make sure here that no problems can
+ % occur outside a Latin prosodic shorthand environment.
+ \shorthandoff* {^}
}
@@ -1000,6 +1018,9 @@
\iflatin at babelshorthands
\polyglossia_latin_no_shorthands:
\fi
+ \iflatin at prosodicshorthands
+ \polyglossia_latin_no_prosodic_shorthands:
+ \fi
\xpgla at savedvalues
\polyglossia_latin_no_punctuation_spacing:
\polyglossia_latin_modern_character_codes:
@@ -1017,9 +1038,13 @@
}
\iflatin at babelshorthands
\polyglossia_latin_shorthands:
+ \else
+ \polyglossia_latin_no_shorthands:
\fi
\iflatin at prosodicshorthands
\polyglossia_latin_prosodic_shorthands:
+ \else
+ \polyglossia_latin_no_prosodic_shorthands:
\fi
}
@@ -1048,7 +1073,7 @@
%% Copyright (C) Claudio Beccari 2013-2016
%% Copyright (C) Élie Roux 2016-2019
-%% Copyright (C) Keno Wehr 2019-2020
+%% Copyright (C) Keno Wehr 2019-2022
%%
%% Permission is hereby granted, free of charge, to any person obtaining
%% a copy of this software and associated documentation files
Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf 2022-07-18 20:12:59 UTC (rev 63930)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf 2022-07-18 20:13:44 UTC (rev 63931)
@@ -143,7 +143,7 @@
\def\polish at vlna{%
\ifluatex
- \singlechars{polish}{AaIiOoUuWwZz}
+ \singlechars{polish}{AaIiOoUuWwZz}%
\preventsingleon
\else
% Code taken and adapted from xevlna.sty
Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/hebrewcal.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/hebrewcal.sty 2022-07-18 20:12:59 UTC (rev 63930)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/hebrewcal.sty 2022-07-18 20:13:44 UTC (rev 63931)
@@ -1,28 +1,51 @@
\ProvidesPackage{hebrewcal}
- [2019/12/03 v2.7 %
+ [2022/07/18 v2.8 %
Hebrew calendar for polyglossia (adapted from hebcal.sty in Babel)]
-\RequirePackage{xkeyval}
-\ifluatex\RequirePackage{luabidi}\else\RequirePackage{bidi}\fi
-\newif\if at xpg@hebrewcal at marcheshvan
-\@xpg at hebrewcal@marcheshvanfalse
+\RequirePackage{iftex}
+\ifluatex
+ \RequirePackage{luabidi}
+\else
+ \RequirePackage{bidi}
+\fi
-\DeclareOption{marcheshvan}{\@xpg at hebrewcal@marcheshvantrue}
-
-\@ifundefined{if at xpg@hebrew at marcheshvan}{}{%
- \if at xpg@hebrew at marcheshvan
- \@xpg at hebrewcal@marcheshvantrue
- \fi
-}
-
%% TODO rewrite this on the basis of Reingold & Dershowitz
%% on the model of hijrical (using calc)
\@ifundefined{@Remainder}{\input{cal-util.def}}{}
-\define at boolkey{hebrew}[@hebrew@]{fullyear}[true]{}
-\setkeys{hebrew}{fullyear=false}
+%
+% OPTIONS
+%
+\RequirePackage{xkeyval}
+% marcheshvan=true|false
+\define at boolkey{hebrewcal}[@xpg at hebrew@]{marcheshvan}[true]{}
+
+% fullyear=true|false
+\define at boolkey{hebrewcal}[@xpg at hebrew@]{fullyear}[true]{}
+
+% transliteration=academy|alt
+\newif\if at hebrewcal@academytrans
+\@hebrewcal at academytransfalse
+\define at choicekey*+{hebrewcal}{transliteration}[\hcal at val\hcal at nr]{academy,alt}[alt]{%
+ \ifcase\hcal at nr\relax
+ % academy:
+ \@hebrewcal at academytranstrue
+ \or
+ % alt:
+ \@hebrewcal at academytransfalse
+ \fi
+ \PackageInfo{hebrewcal}{Setting transliteration=\hcal at val}%
+}{%
+ \PackageWarning{hebrewcal}{Unknown transliteration option `#1'}%
+}
+
+% Process
+\ProcessOptionsX*<hebrewcal>
+%%
+%% END OPTIONS
+
\newcount\hebrewday \newcount\hebrewmonth \newcount\hebrewyear
\def\hebrewdate#1#2#3{%
\HebrewFromGregorian{#1}{#2}{#3}%
@@ -52,7 +75,7 @@
\else
\ifnum#1<6000 % current millenium, print without thousands
\@tempcnta=#1\relax
- \if at hebrew@fullyear\else\advance\@tempcnta by -5000\fi
+ \if at xpg@hebrew at fullyear\else\advance\@tempcnta by -5000\fi
\Hebrewnumeral{\@tempcnta}%
\else % #1>6000
\Hebrewnumeral{#1}%
@@ -70,7 +93,7 @@
\ifcase#1%
% nothing for 0
\or תשרי%
- \or\if at xpg@hebrewcal at marcheshvan מרחשון\else חשון\fi%
+ \or\if at xpg@hebrew at marcheshvan מרחשון\else חשון\fi%
\or כסלו%
\or טבת%
\or שבט%
@@ -94,18 +117,23 @@
\else%
\ifcase #1%
% nothing for 0
- \or Tishrei%
- \or\if at xpg@hebrewcal at marcheshvan Marcheshvan\else Heshvan\fi%
+ \or \if at hebrewcal@academytrans Tishri \else Tishrei \fi%
+ \or%
+ \if at hebrewcal@academytrans%
+ \if at xpg@hebrew at marcheshvan Marẖeshvan\else Heshvan\fi%
+ \else%
+ \if at xpg@hebrew at marcheshvan Marcheshvan\else Heshvan\fi%
+ \fi%
\or Kislev%
- \or Tebeth%
- \or Shebat%
+ \or \if at hebrewcal@academytrans Tevet \else Tebeth \fi%
+ \or \if at hebrewcal@academytrans Shvat \else Shebat \fi%
\or Adar I%
\or Adar II%
\or Nisan%
- \or Iyar%
+ \or \if at hebrewcal@academytrans Iyyar \else Iyar \fi%
\or Sivan%
\or Tammuz%
- \or Av%
+ \or \if at hebrewcal@academytrans Av \else Ab \fi%
\or Elul%
\fi
\fi}
@@ -216,12 +244,12 @@
0 \or% % Tishri
30 \or% % Heshvan
59 \or% % Kislev
- 89 \or% % Tebeth
- 118 \or% % Shebat
+ 89 \or% % Tevet
+ 118 \or% % Shvat
148 \or% % Adar I
148 \or% % Adar II
177 \or% % Nisan
- 207 \or% % Iyar
+ 207 \or% % Iyyar
236 \or% % Sivan
266 \or% % Tammuz
295 \or% % Av
@@ -343,6 +371,8 @@
\tmpy = \tmpx%
\repeat%
\global\advance #5 by -1%
- \global\advance #4 by -\tmpy}}
-\ProcessOptions*
+ \global\advance #4 by -\tmpy%
+ }%
+}
+
\endinput
Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty 2022-07-18 20:12:59 UTC (rev 63930)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty 2022-07-18 20:13:44 UTC (rev 63931)
@@ -1,5 +1,5 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{polyglossia}[2022/04/20 v1.56
+\ProvidesPackage{polyglossia}[2022/07/18 v1.57
Modern multilingual typesetting with XeLaTeX and LuaLaTeX]
\RequirePackage{etoolbox}
\RequirePackage{makecmds}
@@ -1403,7 +1403,8 @@
}
}
-\newcommand{\setdefaultlanguage}[2][]{%
+\DeclareDocumentCommand \setdefaultlanguage { O{} m }
+{
% latex is an internal language, so do not record
\str_if_eq:eeF{#2}{latex}
{
@@ -1416,11 +1417,11 @@
\polyglossia_load_lang_definition:nn{#1}{#2}
% define environment and command if not alias
\str_if_eq:eeT {\prop_item:Ne \__xpg_alias {#2/target}} {#2} {
- \use:c{\prop_item:Nn{\polyglossia at langsetup}
+ \use:c{\prop_item:Ne{\polyglossia at langsetup}
{#2/DefineCommandsCmd}}
{#2}
}
- \seq_gput_right:Nn \__xpg_langs_loaded {#2}
+ \exp_args:Nnx \seq_gput_right:Nn \__xpg_langs_loaded {#2}
}
\polyglossia at set@default at language:ee {\xpg_alias_add_to_option_i:nn{#2}{#1}}
{\xpg_alias_base_lang:n{#2}}%
@@ -1716,13 +1717,13 @@
\polyglossia_load_lang_definition:ee {#1} {#2}%
% define environment and command if not alias
\str_if_eq:eeT {\prop_item:Ne \__xpg_alias {#2/target}} {#2} {
- \use:c{\prop_item:Nn{\polyglossia at langsetup}
+ \use:c{\prop_item:Ne{\polyglossia at langsetup}
{#2/DefineCommandsCmd}}
{#2}
}
\polyglossia at set@other at language:ee {\xpg_alias_add_to_option_i:nn{#2}{#1}}
{\xpg_alias_base_lang:n{#2}}%
- \seq_gput_right:Nn \__xpg_langs_loaded {#2}
+ \exp_args:Nnx \seq_gput_right:Nn \__xpg_langs_loaded {#2}
}
}
@@ -1866,7 +1867,7 @@
{%
\__xpg_otherlanguage:eee {#1} {#2} {\xpg_alias_base_lang:n{#2}}
}
-{\group_end:}
+{\egroup}
% internal wrapper
% #1 option
@@ -1879,7 +1880,8 @@
\msg_show:nnn { polyglossia } { languagenotloaded } {#2}
}
\xpg at otherlanguage[\xpg_alias_add_to_option_i:nn{#2}{#1}]{#3}%
- \polyglossia at lang@settextdirection:nn{#3}\group_begin:%
+ \polyglossia at lang@settextdirection:nn{#3}%
+ \bgroup
}
\cs_generate_variant:Nn \__xpg_otherlanguage:nnn {
eee
More information about the tex-live-commits
mailing list.