texlive[57098] Master/texmf-dist: polyglossia (7dec20)
commits+karl at tug.org
commits+karl at tug.org
Tue Dec 8 23:04:49 CET 2020
Revision: 57098
http://tug.org/svn/texlive?view=revision&revision=57098
Author: karl
Date: 2020-12-08 23:04:48 +0100 (Tue, 08 Dec 2020)
Log Message:
-----------
polyglossia (7dec20)
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/gloss-albanian.ldf
trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf
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/polyglossia.sty
Modified: trunk/Master/texmf-dist/doc/latex/polyglossia/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/polyglossia/README.md 2020-12-08 22:04:13 UTC (rev 57097)
+++ trunk/Master/texmf-dist/doc/latex/polyglossia/README.md 2020-12-08 22:04:48 UTC (rev 57098)
@@ -1,4 +1,4 @@
-# THE POLYGLOSSIA PACKAGE v1.50a
+# THE POLYGLOSSIA PACKAGE v1.51
## 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 2020-12-08 22:04:13 UTC (rev 57097)
+++ trunk/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex 2020-12-08 22:04:48 UTC (rev 57098)
@@ -968,6 +968,13 @@
\charifavailable{01C6}{dž}) will be replaced by single characters. This can
be useful if the ligatures on your font are broken (if the font does not
have them, they are automatically replaced).
+ \item \xpgboolkeytrue[1.51]{splithyphens}
+ According to Croatian typesetting conventions, if a word with a hard hyphen (such as \emph{je-li})
+ is hyphenated at this hyphen, a second hyphenation character is to be inserted at the beginning
+ of the line that follows the hyphenation (\emph{je-/-li}).
+ By default, this is done automatically (if you are using \LuaTeX, the \pkg{luavlna} package is
+ loaded to achieve this).
+ Set this option to ¦false¦ to disable the feature.
\end{itemize}
\subsection{czech}\label{czech}
@@ -1085,7 +1092,7 @@
enabled, spacing in typewriter context is the same as with roman and sans
serif font, depending on the \xpgvalue{autospacing} and
\xpgvalue{autospaceguillemets} settings (note that this was the default up
- to v.~1.44).
+ to v.~1.44).
\item \xpgboolkeyfalse{frenchfootnote}
If \xpgvalue{true}, footnotes start with a non-superscripted number
followed by a dot, as common in French typography. Note that this might
@@ -1097,6 +1104,14 @@
in French typography. Note that this option is only functional (by
design) if French is the main language. Also, it might interfere with
list packages such as \pkg{enumitem}.
+ \item \xpgboolkeytrue[1.51]{frenchpart}
+ By default, \pkg{polyglossia} modifies part headings to match French conventions
+ (\emph{Première partie} rather than \emph{Partie I}). Next to the standard classes,
+ specifics of \pkg{KOMA-script}, \pkg{memoir} and the \pkg{titlesec} package are
+ taken into account. With other classes or packages, redefinition might fail if these
+ have particular part settings.
+ In such case, or if you don't want the redefinition, you can switch off the feature
+ by passing \textit{false} to this option.
\item \xpgcodekey[1.46]{itemlabels}¦\textemdash¦
If \emph{frenchitemlabels} is true, you can customize here the used item
label of all levels.
Modified: trunk/Master/texmf-dist/source/latex/polyglossia/polyglossia.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/polyglossia/polyglossia.dtx 2020-12-08 22:04:13 UTC (rev 57097)
+++ trunk/Master/texmf-dist/source/latex/polyglossia/polyglossia.dtx 2020-12-08 22:04:48 UTC (rev 57098)
@@ -8,7 +8,7 @@
\iffalse
%</internal>
%<*README>
-# THE POLYGLOSSIA PACKAGE v1.50a
+# THE POLYGLOSSIA PACKAGE v1.51
## Multilingual typesetting with XeLaTeX and LuaLaTeX
This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX.
@@ -1350,6 +1350,13 @@
% \charifavailable{01C6}{dž}) will be replaced by single characters. This can
% be useful if the ligatures on your font are broken (if the font does not
% have them, they are automatically replaced).
+% \item \xpgboolkeytrue[1.51]{splithyphens}
+% According to Croatian typesetting conventions, if a word with a hard hyphen (such as \emph{je-li})
+% is hyphenated at this hyphen, a second hyphenation character is to be inserted at the beginning
+% of the line that follows the hyphenation (\emph{je-/-li}).
+% By default, this is done automatically (if you are using \LuaTeX, the \pkg{luavlna} package is
+% loaded to achieve this).
+% Set this option to ¦false¦ to disable the feature.
% \end{itemize}
%
% \subsection{czech}\label{czech}
@@ -1467,7 +1474,7 @@
% enabled, spacing in typewriter context is the same as with roman and sans
% serif font, depending on the \xpgvalue{autospacing} and
% \xpgvalue{autospaceguillemets} settings (note that this was the default up
-% to v.~1.44).
+% to v.~1.44).
% \item \xpgboolkeyfalse{frenchfootnote}
% If \xpgvalue{true}, footnotes start with a non-superscripted number
% followed by a dot, as common in French typography. Note that this might
@@ -1479,6 +1486,14 @@
% in French typography. Note that this option is only functional (by
% design) if French is the main language. Also, it might interfere with
% list packages such as \pkg{enumitem}.
+% \item \xpgboolkeytrue[1.51]{frenchpart}
+% By default, \pkg{polyglossia} modifies part headings to match French conventions
+% (\emph{Première partie} rather than \emph{Partie I}). Next to the standard classes,
+% specifics of \pkg{KOMA-script}, \pkg{memoir} and the \pkg{titlesec} package are
+% taken into account. With other classes or packages, redefinition might fail if these
+% have particular part settings.
+% In such case, or if you don't want the redefinition, you can switch off the feature
+% by passing \textit{false} to this option.
% \item \xpgcodekey[1.46]{itemlabels}¦\textemdash¦
% If \emph{frenchitemlabels} is true, you can customize here the used item
% label of all levels.
@@ -2686,7 +2701,7 @@
% \subsection{polyglossia.sty}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{polyglossia}[2020/10/15 v1.50a
+\ProvidesPackage{polyglossia}[2020/12/08 v1.51
Modern multilingual typesetting with XeLaTeX and LuaLaTeX]
\RequirePackage{etoolbox}
\RequirePackage{makecmds}
@@ -2697,19 +2712,23 @@
\RequirePackage{expl3}
\RequirePackage{l3keys2e}
\RequirePackage{xparse}
-\RequirePackage{filehook}
+% fontspec now uses LaTeX3 packages such as expl3, so we need this:
+\ExplSyntaxOn
+
+% Execute code #3 if package #1 has been loaded already, else
+% add to package hook #2
+\newcommand\xpg at at@package[3]{%
+ \@ifpackageloaded{#1}{#3}{\AddToHook{#2}{#3}}%
+}
+
% correct a bug in tracklang
-\AtBeginOfPackageFile*{tracklang}{
+\xpg at at@package{tracklang}{file/after/tracklang.sty}{%
\@ifpackagelater{tracklang}{2019/08/30}{}{\global\def\AddTrackedLangage{\AddTrackedLanguage}}
}
-% fontspec now uses LaTeX3 packages such as expl3, so we need this:
-\ExplSyntaxOn
-
%% This is for compatibility with Babel-aware package:
-\cslet{ver at babel.sty}{\@empty} % this "fakes" babel
\def\languageshorthands#1{\relax} %this is for scrlttr2 class
\def\bbl at cs#1{\csname bbl@#1\endcsname}%
\AtEndPreamble{\let\bbl at set@language\xpg at set@language at aux} %for biblatex
@@ -2855,7 +2874,7 @@
{}%
{\xpg at error{Unknown~ language~ direction~ #1 ~(base~ wrapper)}}%
}
-\AtEndOfPackageFile*{bidi}{%
+\xpg at at@package{bidi}{package/after/bidi}{%
\ExplSyntaxOn%
\cs_gset_nopar:Nn{\polyglossia at setpardirection:n}{%
\str_case_e:nnTF{#1}{%
@@ -2875,7 +2894,7 @@
}%
\ExplSyntaxOff%
}
-\AtEndOfPackageFile*{luabidi}{%
+\xpg at at@package{luabidi}{package/after/luabidi}{%
\ExplSyntaxOn%
\cs_gset_nopar:Nn{\polyglossia at setpardirection:n}{%
\str_case_e:nnTF{#1}{%
@@ -3840,6 +3859,16 @@
\newcommand{\setdefaultlanguage}[2][]{%
+ % latex is an internal language, so do not record
+ \ifstrequal{#2}{latex}{}{%
+ % register polyglossia language name
+ \ifcsundef{#2 at registered}{%
+ \global\edef\xpg at loaded{%
+ \ifx\xpg at loaded\@empty\else\xpg at loaded,\fi #2%
+ }%
+ }{}%
+ \csgdef{#2 at registered}{}%
+ }%
\ifcsundef{#2 at loaded}%
{
\polyglossia_load_lang_definition:nn{#1}{#2}
@@ -8408,7 +8437,7 @@
\def\prefacename{Parathenia}%
\def\chaptername{Kapitulli}%
\def\appendixname{Shtesa}%
- \def\contentsname{Përmbajta}%
+ \def\contentsname{Përmbajtja}%
\def\listfigurename{Figurat}%
\def\listtablename{Tabelat}%
\def\indexname{Indeksi}%
@@ -10720,12 +10749,18 @@
% BCP-47 compliant aliases
\setlanguagealias*{croatian}{hr}
+\ifluatex
+ \RequirePackage{luavlna}
+\fi
+
\define at boolkey{croatian}[croatian@]{babelshorthands}[true]{}
\define at boolkey{croatian}[croatian@]{disableligatures}[true]{}
+\define at boolkey{croatian}[croatian@]{splithyphens}[true]{}
+
% Register default options
-\xpg at initialize@gloss at options{croatian}{babelshorthands=false,disableligatures=false}
+\xpg at initialize@gloss at options{croatian}{babelshorthands=false,disableligatures=false,splithyphens=true}
\ifsystem at babelshorthands
\setkeys{croatian}{babelshorthands=true}
@@ -10739,6 +10774,19 @@
\shorthandoff{"}%
}{}
+\def\croatian@@splhyphen#1{%
+ \ifnum\hyphenchar \font>0%
+ \kern\z@\discretionary{-}{\char\hyphenchar\the\font}{#1}%
+ \nobreak\hskip\z@%
+ \else%
+ #1%
+ \fi%
+}
+
+\def\croatian at splhyphen{%
+ \croatian@@splhyphen{-}%
+}
+
\def\croatian at shorthands{%
\bbl at activate{"}%
\def\language at group{croatian}%
@@ -10768,6 +10816,32 @@
\@ifundefined{initiate at active@char}{}{\bbl at deactivate{"}}%
}
+\ifxetex
+ % splithyphens
+ \newXeTeXintercharclass\croatian at hyphen % -
+ \newXeTeXintercharclass\croatian at nonsyllabicpreposition%
+\fi
+
+\def\croatian at hyphens{%
+ \ifluatex
+ \AfterPreamble{\enablesplithyphens{croatian}}%
+ \else
+ \XeTeXinterchartokenstate=1
+ \XeTeXcharclass `\- \croatian at hyphen
+ \XeTeXinterchartoks \z@ \croatian at hyphen = {\croatian@@splhyphen}% "-" -> "\croatian@@splhyphen-"
+ % necessary if used together with vlna:
+ \XeTeXinterchartoks \croatian at nonsyllabicpreposition \croatian at hyphen = {\croatian@@splhyphen}% "-" -> "\croatian@@splhyphen-"
+ \fi%
+}
+
+\def\nocroatian at hyphens{%
+ \ifluatex
+ \AfterPreamble{\disablesplithyphens{croatian}}%
+ \else
+ \XeTeXcharclass `\- \z@
+ \fi%
+}
+
\newcommand*\hr at charifavailable[2]{%
\ifcroatian at disableligatures
\bgroup#2\egroup%
@@ -10872,14 +10946,17 @@
\def\noextras at croatian{%
\ifcroatian at babelshorthands\nocroatian at shorthands\fi%
+ \nocroatian at hyphens%
}
\def\blockextras at croatian{%
\ifcroatian at babelshorthands\croatian at shorthands\fi%
+ \ifcroatian at splithyphens\croatian at hyphens\else\nocroatian at hyphens\fi%
}
\def\inlineextras at croatian{%
\ifcroatian at babelshorthands\croatian at shorthands\fi%
+ \ifcroatian at splithyphens\croatian at hyphens\else\nocroatian at hyphens\fi%
}
% \end{macrocode}
@@ -12595,6 +12672,9 @@
\define at boolkey{french}[french@]{autospacing}[true]{}
\french at autospacingtrue
+\define at boolkey{french}[french@]{frenchpart}[true]{}
+\french at frenchparttrue
+
\newif\iffrench at autospaceguillemets
\define at boolkey{french}[french@]{autospaceguillemets}[true]{}
\french at autospaceguillemetstrue
@@ -12694,7 +12774,7 @@
\let\ttfamily\french at ttfamilyORI
}
-\def\xpg at french@thinsp{\kern 0.5\fontdimen2\font}
+\def\xpg at french@thinsp{\kern 0.5\fontdimen2\font\nobreak\hskip\z at skip}
\def\french at punctuation{%
\lccode"2019="2019
@@ -12817,14 +12897,11 @@
\def\indexname{Index}%
\def\figurename{\textsc{Fig.}}%
\def\tablename{\textsc{Tab.}}%
- \def\@Fpt{\ifcase\value{part}\or Première\or Deuxième\or
- Troisième\or Quatrième\or Cinquième\or Sixième\or
- Septième\or Huitième\or Neuvième\or Dixième\or Onzième\or
- Douzième\or Treizième\or Quatorzième\or Quinzième\or
- Seizième\or Dix-septième\or Dix-huitième\or Dix-neuvième\or
- Vingtième\fi\space}%
- \def\thepart{\@Fpt partie}%
- \def\partname{}%
+ \iffrench at frenchpart
+ \def\partname{partie}%
+ \else
+ \def\partname{Partie}%
+ \fi%
\def\pagename{page}%
\def\seename{\emph{voir}}%
\def\alsoname{\emph{voir aussi}}%
@@ -12844,9 +12921,83 @@
décembre\fi
\space \number\year}}
+\def\xpg at french@part{\ifcase\value{part}\or Première\or Deuxième\or%
+ Troisième\or Quatrième\or Cinquième\or Sixième\or%
+ Septième\or Huitième\or Neuvième\or Dixième\or Onzième\or%
+ Douzième\or Treizième\or Quatorzième\or Quinzième\or%
+ Seizième\or Dix-septième\or Dix-huitième\or Dix-neuvième\or%
+ Vingtième\fi}%
+
+\def\french at capsformat{%
+ % Change part heading
+ % With titlesec
+ \ifcsdef{titleformat}{%
+ \ifcsdef{@part}{%
+ \let\xpg at save@part at format\@part%
+ \patchcmd{\@part}%
+ {\partname\nobreakspace\thepart}%
+ {\xpg at french@part\nobreakspace\partname}%
+ {}%
+ {\xpg at warning{Failed to patch part for French}}%
+ }{}%
+ }{% (not \ifdefined\titleformat)
+ % With KOMA
+ \ifcsdef{sectionformat}{%
+ \ifcsdef{partformat}{%
+ \let\xpg at save@part at format\partformat%
+ \renewcommand{\partformat}{\xpg at french@part~\partname}%
+ }{}%
+ }{% (not \ifdefined\sectionformat)
+ % With memoir
+ \ifcsdef{@memptsize}{%
+ \ifcsdef{@part}{%
+ \let\xpg at save@part at format\@part%
+ \patchcmd{\@part}{\printpartname \partnamenum \printpartnum}%
+ {\partnamefont\xpg at french@part\partnamenum\printpartname}%
+ {}%
+ {\xpg at warning{Failed to patch part for French}}%
+ }{}%
+ }{% (not \ifdefined\@memptsize)
+ % With standard classes
+ \ifcsdef{@part}{%
+ \let\xpg at save@part at format\@part%
+ \patchcmd{\@part}%
+ {\partname\nobreakspace\thepart}%
+ {\xpg at french@part\nobreakspace\partname}%
+ {}%
+ {\xpg at warning{Failed to patch part for French}}%
+ }{}% (end \ifdefined\@part)
+ }% (end \ifdefined\@memptsize)
+ }% (end \ifdefined\sectionformat)
+ }% (end \ifdefined\titleformat)
+}
+
+\def\nofrench at capsformat{%
+ % Reset chapter and part heading
+ \ifcsdef{titleformat}{%
+ % With titlesec
+ \ifcsdef{xpg at save@part at format}{%
+ \let\@part\xpg at save@part at format
+ }{}%
+ }{% (not \ifdefined\titleformat)
+ \ifcsdef{sectionformat}{%
+ % With KOMA
+ \ifcsdef{xpg at save@part at format}{%
+ \let\partformat\xpg at save@part at format
+ }{}%
+ }{%
+ % With memoir and standard classes
+ \ifcsdef{xpg at save@part at format}{%
+ \let\@part\xpg at save@part at format
+ }{}%
+ }% (end \ifdefined\sectionformat)
+ }% (end \ifdefined\titleformat)
+}
+
\def\noextras at french{%
\nofrench at punctuation%
\nofrench at fontsetup%
+ \nofrench at capsformat%
}
\def\blockextras at french{%
@@ -12854,6 +13005,9 @@
\french at punctuation%
\fi
\french at fontsetup%
+ \iffrench at frenchpart
+ \french at capsformat%
+ \fi%
}
\def\inlineextras at french{%
@@ -14383,7 +14537,7 @@
% Bidi inserts an RTL mark (0x200f) between number and number separator (- .),
% forcing numbers to RTL. This is wrong for Hebrew.
% So we defunc the respective command.
- \renewcommand*{\DigitsDotDashInterCharToks}{}
+ \renewcommand*{\DigitsDotDashInterCharToks}{}%
\fi%
}
@@ -24997,6 +25151,25 @@
%
% \iffalse
%<*Changelog>
+1.51 (08-12-2020)
+
+New features:
+ * New option "frenchpart" for French (#458).
+ * New option "splithyphens" for Croatian (#454).
+
+Bug fixes:
+
+ * Use new LaTeX core hooks rather than filehook package. This fixes
+ a recent breakage of filehook with other external packages (#453).
+ * Remove very old code that pretends polyglossia is babel (#455).
+ * Fix spelling of Albanian contentsname (#456).
+ * Fix part heading modification in French (#458).
+ * Fix extra space in Hebrew (#459).
+ * Register main polyglossia language earlier (#461).
+ * Allow for hyphenations in words following opening guillemet in French
+ with XeTeX (#462).
+
+
1.50a (15-10-2020)
Bug fixes:
Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-albanian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-albanian.ldf 2020-12-08 22:04:13 UTC (rev 57097)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-albanian.ldf 2020-12-08 22:04:48 UTC (rev 57098)
@@ -19,7 +19,7 @@
\def\prefacename{Parathenia}%
\def\chaptername{Kapitulli}%
\def\appendixname{Shtesa}%
- \def\contentsname{Përmbajta}%
+ \def\contentsname{Përmbajtja}%
\def\listfigurename{Figurat}%
\def\listtablename{Tabelat}%
\def\indexname{Indeksi}%
Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf 2020-12-08 22:04:13 UTC (rev 57097)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf 2020-12-08 22:04:48 UTC (rev 57098)
@@ -12,12 +12,18 @@
% BCP-47 compliant aliases
\setlanguagealias*{croatian}{hr}
+\ifluatex
+ \RequirePackage{luavlna}
+\fi
+
\define at boolkey{croatian}[croatian@]{babelshorthands}[true]{}
\define at boolkey{croatian}[croatian@]{disableligatures}[true]{}
+\define at boolkey{croatian}[croatian@]{splithyphens}[true]{}
+
% Register default options
-\xpg at initialize@gloss at options{croatian}{babelshorthands=false,disableligatures=false}
+\xpg at initialize@gloss at options{croatian}{babelshorthands=false,disableligatures=false,splithyphens=true}
\ifsystem at babelshorthands
\setkeys{croatian}{babelshorthands=true}
@@ -31,6 +37,19 @@
\shorthandoff{"}%
}{}
+\def\croatian@@splhyphen#1{%
+ \ifnum\hyphenchar \font>0%
+ \kern\z@\discretionary{-}{\char\hyphenchar\the\font}{#1}%
+ \nobreak\hskip\z@%
+ \else%
+ #1%
+ \fi%
+}
+
+\def\croatian at splhyphen{%
+ \croatian@@splhyphen{-}%
+}
+
\def\croatian at shorthands{%
\bbl at activate{"}%
\def\language at group{croatian}%
@@ -60,6 +79,32 @@
\@ifundefined{initiate at active@char}{}{\bbl at deactivate{"}}%
}
+\ifxetex
+ % splithyphens
+ \newXeTeXintercharclass\croatian at hyphen % -
+ \newXeTeXintercharclass\croatian at nonsyllabicpreposition%
+\fi
+
+\def\croatian at hyphens{%
+ \ifluatex
+ \AfterPreamble{\enablesplithyphens{croatian}}%
+ \else
+ \XeTeXinterchartokenstate=1
+ \XeTeXcharclass `\- \croatian at hyphen
+ \XeTeXinterchartoks \z@ \croatian at hyphen = {\croatian@@splhyphen}% "-" -> "\croatian@@splhyphen-"
+ % necessary if used together with vlna:
+ \XeTeXinterchartoks \croatian at nonsyllabicpreposition \croatian at hyphen = {\croatian@@splhyphen}% "-" -> "\croatian@@splhyphen-"
+ \fi%
+}
+
+\def\nocroatian at hyphens{%
+ \ifluatex
+ \AfterPreamble{\disablesplithyphens{croatian}}%
+ \else
+ \XeTeXcharclass `\- \z@
+ \fi%
+}
+
\newcommand*\hr at charifavailable[2]{%
\ifcroatian at disableligatures
\bgroup#2\egroup%
@@ -164,14 +209,17 @@
\def\noextras at croatian{%
\ifcroatian at babelshorthands\nocroatian at shorthands\fi%
+ \nocroatian at hyphens%
}
\def\blockextras at croatian{%
\ifcroatian at babelshorthands\croatian at shorthands\fi%
+ \ifcroatian at splithyphens\croatian at hyphens\else\nocroatian at hyphens\fi%
}
\def\inlineextras at croatian{%
\ifcroatian at babelshorthands\croatian at shorthands\fi%
+ \ifcroatian at splithyphens\croatian at hyphens\else\nocroatian at hyphens\fi%
}
\endinput
Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf 2020-12-08 22:04:13 UTC (rev 57097)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf 2020-12-08 22:04:48 UTC (rev 57098)
@@ -104,6 +104,9 @@
\define at boolkey{french}[french@]{autospacing}[true]{}
\french at autospacingtrue
+\define at boolkey{french}[french@]{frenchpart}[true]{}
+\french at frenchparttrue
+
\newif\iffrench at autospaceguillemets
\define at boolkey{french}[french@]{autospaceguillemets}[true]{}
\french at autospaceguillemetstrue
@@ -203,7 +206,7 @@
\let\ttfamily\french at ttfamilyORI
}
-\def\xpg at french@thinsp{\kern 0.5\fontdimen2\font}
+\def\xpg at french@thinsp{\kern 0.5\fontdimen2\font\nobreak\hskip\z at skip}
\def\french at punctuation{%
\lccode"2019="2019
@@ -326,14 +329,11 @@
\def\indexname{Index}%
\def\figurename{\textsc{Fig.}}%
\def\tablename{\textsc{Tab.}}%
- \def\@Fpt{\ifcase\value{part}\or Première\or Deuxième\or
- Troisième\or Quatrième\or Cinquième\or Sixième\or
- Septième\or Huitième\or Neuvième\or Dixième\or Onzième\or
- Douzième\or Treizième\or Quatorzième\or Quinzième\or
- Seizième\or Dix-septième\or Dix-huitième\or Dix-neuvième\or
- Vingtième\fi\space}%
- \def\thepart{\@Fpt partie}%
- \def\partname{}%
+ \iffrench at frenchpart
+ \def\partname{partie}%
+ \else
+ \def\partname{Partie}%
+ \fi%
\def\pagename{page}%
\def\seename{\emph{voir}}%
\def\alsoname{\emph{voir aussi}}%
@@ -353,9 +353,83 @@
décembre\fi
\space \number\year}}
+\def\xpg at french@part{\ifcase\value{part}\or Première\or Deuxième\or%
+ Troisième\or Quatrième\or Cinquième\or Sixième\or%
+ Septième\or Huitième\or Neuvième\or Dixième\or Onzième\or%
+ Douzième\or Treizième\or Quatorzième\or Quinzième\or%
+ Seizième\or Dix-septième\or Dix-huitième\or Dix-neuvième\or%
+ Vingtième\fi}%
+
+\def\french at capsformat{%
+ % Change part heading
+ % With titlesec
+ \ifcsdef{titleformat}{%
+ \ifcsdef{@part}{%
+ \let\xpg at save@part at format\@part%
+ \patchcmd{\@part}%
+ {\partname\nobreakspace\thepart}%
+ {\xpg at french@part\nobreakspace\partname}%
+ {}%
+ {\xpg at warning{Failed to patch part for French}}%
+ }{}%
+ }{% (not \ifdefined\titleformat)
+ % With KOMA
+ \ifcsdef{sectionformat}{%
+ \ifcsdef{partformat}{%
+ \let\xpg at save@part at format\partformat%
+ \renewcommand{\partformat}{\xpg at french@part~\partname}%
+ }{}%
+ }{% (not \ifdefined\sectionformat)
+ % With memoir
+ \ifcsdef{@memptsize}{%
+ \ifcsdef{@part}{%
+ \let\xpg at save@part at format\@part%
+ \patchcmd{\@part}{\printpartname \partnamenum \printpartnum}%
+ {\partnamefont\xpg at french@part\partnamenum\printpartname}%
+ {}%
+ {\xpg at warning{Failed to patch part for French}}%
+ }{}%
+ }{% (not \ifdefined\@memptsize)
+ % With standard classes
+ \ifcsdef{@part}{%
+ \let\xpg at save@part at format\@part%
+ \patchcmd{\@part}%
+ {\partname\nobreakspace\thepart}%
+ {\xpg at french@part\nobreakspace\partname}%
+ {}%
+ {\xpg at warning{Failed to patch part for French}}%
+ }{}% (end \ifdefined\@part)
+ }% (end \ifdefined\@memptsize)
+ }% (end \ifdefined\sectionformat)
+ }% (end \ifdefined\titleformat)
+}
+
+\def\nofrench at capsformat{%
+ % Reset chapter and part heading
+ \ifcsdef{titleformat}{%
+ % With titlesec
+ \ifcsdef{xpg at save@part at format}{%
+ \let\@part\xpg at save@part at format
+ }{}%
+ }{% (not \ifdefined\titleformat)
+ \ifcsdef{sectionformat}{%
+ % With KOMA
+ \ifcsdef{xpg at save@part at format}{%
+ \let\partformat\xpg at save@part at format
+ }{}%
+ }{%
+ % With memoir and standard classes
+ \ifcsdef{xpg at save@part at format}{%
+ \let\@part\xpg at save@part at format
+ }{}%
+ }% (end \ifdefined\sectionformat)
+ }% (end \ifdefined\titleformat)
+}
+
\def\noextras at french{%
\nofrench at punctuation%
\nofrench at fontsetup%
+ \nofrench at capsformat%
}
\def\blockextras at french{%
@@ -363,6 +437,9 @@
\french at punctuation%
\fi
\french at fontsetup%
+ \iffrench at frenchpart
+ \french at capsformat%
+ \fi%
}
\def\inlineextras at french{%
Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf 2020-12-08 22:04:13 UTC (rev 57097)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf 2020-12-08 22:04:48 UTC (rev 57098)
@@ -115,7 +115,7 @@
% Bidi inserts an RTL mark (0x200f) between number and number separator (- .),
% forcing numbers to RTL. This is wrong for Hebrew.
% So we defunc the respective command.
- \renewcommand*{\DigitsDotDashInterCharToks}{}
+ \renewcommand*{\DigitsDotDashInterCharToks}{}%
\fi%
}
Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty 2020-12-08 22:04:13 UTC (rev 57097)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty 2020-12-08 22:04:48 UTC (rev 57098)
@@ -1,5 +1,5 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{polyglossia}[2020/10/15 v1.50a
+\ProvidesPackage{polyglossia}[2020/12/08 v1.51
Modern multilingual typesetting with XeLaTeX and LuaLaTeX]
\RequirePackage{etoolbox}
\RequirePackage{makecmds}
@@ -10,19 +10,23 @@
\RequirePackage{expl3}
\RequirePackage{l3keys2e}
\RequirePackage{xparse}
-\RequirePackage{filehook}
+% fontspec now uses LaTeX3 packages such as expl3, so we need this:
+\ExplSyntaxOn
+
+% Execute code #3 if package #1 has been loaded already, else
+% add to package hook #2
+\newcommand\xpg at at@package[3]{%
+ \@ifpackageloaded{#1}{#3}{\AddToHook{#2}{#3}}%
+}
+
% correct a bug in tracklang
-\AtBeginOfPackageFile*{tracklang}{
+\xpg at at@package{tracklang}{file/after/tracklang.sty}{%
\@ifpackagelater{tracklang}{2019/08/30}{}{\global\def\AddTrackedLangage{\AddTrackedLanguage}}
}
-% fontspec now uses LaTeX3 packages such as expl3, so we need this:
-\ExplSyntaxOn
-
%% This is for compatibility with Babel-aware package:
-\cslet{ver at babel.sty}{\@empty} % this "fakes" babel
\def\languageshorthands#1{\relax} %this is for scrlttr2 class
\def\bbl at cs#1{\csname bbl@#1\endcsname}%
\AtEndPreamble{\let\bbl at set@language\xpg at set@language at aux} %for biblatex
@@ -168,7 +172,7 @@
{}%
{\xpg at error{Unknown~ language~ direction~ #1 ~(base~ wrapper)}}%
}
-\AtEndOfPackageFile*{bidi}{%
+\xpg at at@package{bidi}{package/after/bidi}{%
\ExplSyntaxOn%
\cs_gset_nopar:Nn{\polyglossia at setpardirection:n}{%
\str_case_e:nnTF{#1}{%
@@ -188,7 +192,7 @@
}%
\ExplSyntaxOff%
}
-\AtEndOfPackageFile*{luabidi}{%
+\xpg at at@package{luabidi}{package/after/luabidi}{%
\ExplSyntaxOn%
\cs_gset_nopar:Nn{\polyglossia at setpardirection:n}{%
\str_case_e:nnTF{#1}{%
@@ -1153,6 +1157,16 @@
\newcommand{\setdefaultlanguage}[2][]{%
+ % latex is an internal language, so do not record
+ \ifstrequal{#2}{latex}{}{%
+ % register polyglossia language name
+ \ifcsundef{#2 at registered}{%
+ \global\edef\xpg at loaded{%
+ \ifx\xpg at loaded\@empty\else\xpg at loaded,\fi #2%
+ }%
+ }{}%
+ \csgdef{#2 at registered}{}%
+ }%
\ifcsundef{#2 at loaded}%
{
\polyglossia_load_lang_definition:nn{#1}{#2}
More information about the tex-live-commits
mailing list.