summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/polyglossia
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-04-07 20:58:18 +0000
committerKarl Berry <karl@freefriends.org>2018-04-07 20:58:18 +0000
commit9e5940c56dfe63fab26f34250ac55e37ece2c560 (patch)
tree7d958a87f96e76f7e99de545fa4c13828224127b /Master/texmf-dist/source/latex/polyglossia
parent861b4de389db24dd94535880edb8de1ea4386cf6 (diff)
polyglossia (7apr18)
git-svn-id: svn://tug.org/texlive/trunk@47358 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/polyglossia')
-rw-r--r--Master/texmf-dist/source/latex/polyglossia/polyglossia.dtx1729
1 files changed, 1456 insertions, 273 deletions
diff --git a/Master/texmf-dist/source/latex/polyglossia/polyglossia.dtx b/Master/texmf-dist/source/latex/polyglossia/polyglossia.dtx
index 2ef100d1e1f..1c7e718e89e 100644
--- a/Master/texmf-dist/source/latex/polyglossia/polyglossia.dtx
+++ b/Master/texmf-dist/source/latex/polyglossia/polyglossia.dtx
@@ -11,7 +11,7 @@
¦----------------------------------------------¦
¦ ¦
- ¦ THE POLYGLOSSIA PACKAGE v1.42.4 ¦
+ ¦ THE POLYGLOSSIA PACKAGE v1.43 ¦
¦ ¦
¦ Modern multilingual typesetting ¦
¦ with XeLaTeX and LuaLaTeX ¦
@@ -20,7 +20,7 @@
This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX
(with a few languages incompletely supported for the latter). This version
-includes support for 76 different languages.
+includes support for 77 different languages.
Polyglossia makes it possible to automate the following tasks:
@@ -42,7 +42,7 @@ Polyglossia makes it possible to automate the following tasks:
LICENSE
-Copyright (c) 2008-2010 François Charette, 2013 Élie Roux, 2011-2016 Arthur Reutenauer
+Copyright (c) 2008-2010 François Charette, 2013 Élie Roux, 2011-2018 Arthur Reutenauer
Polyglossia is placed under the terms of the LaTeX Project Public Licence
(LPPL), either version 1.3, or, at your option, any later version. See
@@ -53,10 +53,12 @@ This work has the LPPL maintenance status ‘maintained’. The current maintai
BUGS
-Polyglossia has no bug, of course.
-
-Hum, sorry, wishful thinking. Please report any bugs, problems or requests on:
+Polyglossia is full of bugs. If you run into one, or suspect you do, or you
+have a request or comment, please use the GitHub issue tracker:
http://github.com/reutenauer/polyglossia/issues
+
+This is more efficient than contacting me by email as it allows me to track the
+issues and follow progress.
%</README>
%<*internal>
\fi
@@ -74,7 +76,7 @@ http://github.com/reutenauer/polyglossia/issues
The polyglossia package
(C) 2008–2010 François Charette
- (C) 2011-2016 Arthur Reutenauer
+ (C) 2011-2018 Arthur Reutenauer
(C) 2013 Elie Roux
License information appended
@@ -82,7 +84,7 @@ http://github.com/reutenauer/polyglossia/issues
\endpreamble
\postamble
- Copyright (C) 2016 by Arthur Reutenauer <arthur 'dot' reutenauer 'at' normalesup 'dot' org>
+ Copyright (C) 2018 by Arthur Reutenauer <arthur 'dot' reutenauer 'at' normalesup 'dot' org>
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
@@ -113,6 +115,8 @@ http://github.com/reutenauer/polyglossia/issues
\generate{\file{gloss-breton.ldf}{\from{polyglossia.dtx}{gloss-breton.ldf}}}
\generate{\file{gloss-bulgarian.ldf}{\from{polyglossia.dtx}{gloss-bulgarian.ldf}}}
\generate{\file{gloss-catalan.ldf}{\from{polyglossia.dtx}{gloss-catalan.ldf}}}
+\generate{\file{gloss-churchslavonic.ldf}{\from{polyglossia.dtx}{gloss-churchslavonic.ldf}}}
+\generate{\file{gloss-classiclatin.ldf}{\from{polyglossia.dtx}{gloss-classiclatin.ldf}}}
\generate{\file{gloss-coptic.ldf}{\from{polyglossia.dtx}{gloss-coptic.ldf}}}
\generate{\file{gloss-croatian.ldf}{\from{polyglossia.dtx}{gloss-croatian.ldf}}}
\generate{\file{gloss-czech.ldf}{\from{polyglossia.dtx}{gloss-czech.ldf}}}
@@ -135,6 +139,7 @@ http://github.com/reutenauer/polyglossia/issues
\generate{\file{gloss-interlingua.ldf}{\from{polyglossia.dtx}{gloss-interlingua.ldf}}}
\generate{\file{gloss-irish.ldf}{\from{polyglossia.dtx}{gloss-irish.ldf}}}
\generate{\file{gloss-italian.ldf}{\from{polyglossia.dtx}{gloss-italian.ldf}}}
+\generate{\file{gloss-japanese.ldf}{\from{polyglossia.dtx}{gloss-japanese.ldf}}}
\generate{\file{gloss-kannada.ldf}{\from{polyglossia.dtx}{gloss-kannada.ldf}}}
\generate{\file{gloss-khmer.ldf}{\from{polyglossia.dtx}{gloss-khmer.ldf}}}
\generate{\file{gloss-korean.ldf}{\from{polyglossia.dtx}{gloss-korean.ldf}}}
@@ -142,6 +147,7 @@ http://github.com/reutenauer/polyglossia/issues
\generate{\file{gloss-latin.ldf}{\from{polyglossia.dtx}{gloss-latin.ldf}}}
\generate{\file{gloss-latvian.ldf}{\from{polyglossia.dtx}{gloss-latvian.ldf}}}
\generate{\file{gloss-lithuanian.ldf}{\from{polyglossia.dtx}{gloss-lithuanian.ldf}}}
+\generate{\file{gloss-liturgicallatin.ldf}{\from{polyglossia.dtx}{gloss-liturgicallatin.ldf}}}
\generate{\file{gloss-lsorbian.ldf}{\from{polyglossia.dtx}{gloss-lsorbian.ldf}}}
\generate{\file{gloss-magyar.ldf}{\from{polyglossia.dtx}{gloss-magyar.ldf}}}
\generate{\file{gloss-malayalam.ldf}{\from{polyglossia.dtx}{gloss-malayalam.ldf}}}
@@ -219,11 +225,13 @@ http://github.com/reutenauer/polyglossia/issues
pdfauthor={F Charette, A Reutenauer},
pdfkeywords={xetex, xelatex, luatex, lualatex, multilingual, babel, hyphenation}
]{hyperref}
+\usepackage{metalogo}
+\let\XeTeX\undefined
+\let\XeLaTeX\undefined
\usepackage[babelshorthands]{polyglossia}
\usepackage{farsical}
\setmainlanguage[variant=british,ordinalmonthday=false]{english}
\setotherlanguages{arabic,hebrew,syriac,greek,russian,catalan}
-\usepackage{metalogo}
\usepackage[protrusion]{microtype}
\newcommand*\Cmd[1]{\cmd{#1}\DescribeMacro{#1}\xspace}
\newcommand*\pkg[1]{\textsf{\color{myblue}#1}}
@@ -621,14 +629,12 @@ http://github.com/reutenauer/polyglossia/issues
% \item \Cmd\aemph (see section \ref{arabic}).
% \end{itemize}
%
-% ^^A\subsection{french}\label{french}
-% ^^A\textbf{Options}:
-% ^^A \begin{itemize}
-% ^^A \item \TB{espacedeuxpoints} = thick or half \new{v1.2.x} ???
-% ^^A \footnote{ %
-% ^^A Can be customized by redefining \french@colonspace }
-% ^^A \end{itemize}
-% ^^A
+% \subsection{french}\label{french}\new{v1.5.0}
+% \textbf{Options}:
+% \begin{itemize}
+% \item \TB{automaticspacesaroundguillemets} = true or \textit{false} (default value = true. Adds space after the opening guillemets and before the closing guillemets. Such space is usually not typed in source code, and you should let polyglossia add it. However, if your source code contains such space, you can set this option to false.)
+% \item \TB{frenchfootnote} = true or \textit{false} (default value = true. Determines whether the footnote mark starting the footnote is normal script followed by a dot (default) or superscript without a dot.)
+% \end{itemize}
%
% \subsection{german}\label{german}
% \textbf{Options}:
@@ -657,6 +663,7 @@ http://github.com/reutenauer/polyglossia/issues
% \item ¦"~¦ for a compound word mark without a breakpoint
% \item ¦"=¦ for a compound word mark with a breakpoint,
% allowing hyphenation in the composing words.
+% \item ¦"/¦ a slash that allows for a line break and maintains hyphenation points.
% \end{itemize}
%
% There are also four shorthands for quotation signs:
@@ -773,7 +780,11 @@ http://github.com/reutenauer/polyglossia/issues
% Sanskrit texts in scripts other than Devanagari.
% ^^ATODO \item Numerals <<<<
% \end{itemize}
-%
+% \pkg{polyglossia} currently supports the typesetting of Sanskrit in the
+% following writing systems: Devanagari, Gujarati, Malayalam, Bengali, Kannada,
+% Telugu, and Latin. Use the ¦Script=¦ option to select the writing system
+% you want, and enter your input in that script.
+%
% \subsection{serbian}\label{serbian}
% \textbf{Options}:
% \begin{itemize}
@@ -2284,6 +2295,424 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-catalan.ldf>
+%<*gloss-churchslavonic.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-churchslavonic.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-churchslavonic.ldf}[polyglossia: module for Church Slavonic]
+\PolyglossiaSetup{churchslavonic}{
+ script=Cyrillic,
+ scripttag=cyrl,
+ langtag=CHU,
+ hyphennames={churchslavonic},
+ hyphenmins={1,2},
+ frenchspacing=true,
+ fontsetup=true
+}
+
+% if spelling is set to modern, Russian date and caption
+% as well as ASCII digits are used.
+\define@key{churchslavonic}{spelling}[modern]{%
+ \ifstrequal{#1}{traditional}%
+ {\def\captionschurchslavonic{\captionschurchslavonic@traditional}%
+ \def\datechurchslavonic{\datechurchslavonic@traditional}}%
+ {\def\captionschurchslavonic{\captionschurchslavonic@modern}%
+ \def\datechurchslavonic{\datechurchslavonic@modern}}%
+}
+
+\newif\ifcyrillic@numerals
+\define@key{churchslavonic}{numerals}[latin]{%
+ \ifstrequal{#1}{cyrillic}%
+ {\cyrillic@numeralstrue}
+ {\cyrillic@numeralsfalse}%
+}
+
+\define@boolkey{churchslavonic}[churchslavonic@]{babelshorthands}[false]{}
+
+\setkeys{churchslavonic}{spelling,numerals}
+
+\ifsystem@babelshorthands
+ \setkeys{churchslavonic}{babelshorthands=true}
+\else
+ \setkeys{churchslavonic}{babelshorthands=false}
+\fi
+
+\ifcsundef{initiate@active@char}{%
+ \input{babelsh.def}%
+ \initiate@active@char{"}%
+}{}
+
+\def\churchslavonic@shorthands{%
+ \bbl@activate{"}%
+ \def\language@group{churchslavonic}%
+% \declare@shorthand{russian}{"`}{„}%
+% \declare@shorthand{russian}{"'}{“}%
+% \declare@shorthand{russian}{"<}{«}%
+% \declare@shorthand{russian}{">}{»}%
+ \declare@shorthand{churchslavonic}{""}{\hskip\z@skip}%
+ \declare@shorthand{churchslavonic}{"~}{\textormath{\leavevmode\hbox{-}}{-}}%
+ \declare@shorthand{churchslavonic}{"=}{\nobreak-\hskip\z@skip}%
+ \declare@shorthand{churchslavonic}{"|}{\textormath{\nobreak\discretionary{-}{}{\kern.03em}\allowhyphens}{}}%
+ \declare@shorthand{churchslavonic}{"-}{%
+ \def\churchslavonic@sh@tmp{%
+ \if\churchslavonic@sh@next-\expandafter\churchslavonic@sh@emdash
+ \else\expandafter\churchslavonic@sh@hyphen\fi
+ }%
+ \futurelet\churchslavonic@sh@next\churchslavonic@sh@tmp}%
+ \def\churchslavonic@sh@hyphen{%
+ \nobreak\-\bbl@allowhyphens}%
+ \def\churchslavonic@sh@emdash##1##2{\cdash-##1##2}%
+ \def\cdash##1##2##3{\def\tempx@{##3}%
+ \def\tempa@{-}\def\tempb@{~}\def\tempc@{*}%
+ \ifx\tempx@\tempa@\@Acdash\else
+ \ifx\tempx@\tempb@\@Bcdash\else
+ \ifx\tempx@\tempc@\@Ccdash\else
+ \errmessage{Wrong usage of cdash}\fi\fi\fi}%
+ \def\@Acdash{\ifdim\lastskip>\z@\unskip\nobreak\hskip.2em\fi
+ \cyrdash\hskip.2em\ignorespaces}%
+ \def\@Bcdash{\leavevmode\ifdim\lastskip>\z@\unskip\fi
+ \nobreak\cyrdash\penalty\exhyphenpenalty\hskip\z@skip\ignorespaces}%
+ \def\@Ccdash{\leavevmode
+ \nobreak\cyrdash\nobreak\hskip.35em\ignorespaces}%
+ \ifx\cyrdash\undefined
+ \def\cyrdash{\hbox to.8em{--\hss--}}
+ \fi
+ \declare@shorthand{churchslavonic}{",}{\nobreak\hskip.2em\ignorespaces}%
+}
+
+\def\nochurchslavonic@shorthands{%
+ \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
+}
+
+
+\def\captionschurchslavonic@modern{%
+ \def\prefacename{Предисловие}%
+ \def\refname{Список литературы}%
+ \def\abstractname{Аннотация}%
+ \def\bibname{Литература}%
+\def\chaptername{Глава}%
+ \def\appendixname{Приложение}%
+ \ifcsundef{thechapter}%
+ {\def\contentsname{Содержание}}%
+ {\def\contentsname{Оглавление}}%
+ \def\listfigurename{Список иллюстраций}%
+ \def\listtablename{Список таблиц}%
+ \def\indexname{Предметный указатель}%
+ \def\authorname{Именной указатель}%
+ \def\figurename{Рис.}%
+ \def\tablename{Таблица}%
+ \def\partname{Часть}%
+ \def\enclname{вкл.}%
+ \def\ccname{исх.}%
+ \def\headtoname{вх.}%
+ \def\pagename{с.}%
+ \def\seename{см.}%
+ \def\alsoname{см.~также}%
+ \def\proofname{Доказательство}%
+}
+\def\datechurchslavonic@modern{%
+ \def\today{\number\day%
+ \space\ifcase\month\or%
+ января\or
+ февраля\or
+ марта\or
+ апреля\or
+ мая\or
+ июня\or
+ июля\or
+ августа\or
+ сентября\or
+ октября\or
+ ноября\or
+ декабря\fi%
+ \space \number\year\space г.}}
+
+\def\captionschurchslavonic@traditional{%
+ \def\prefacename{Предисло́вїе}%
+ \def\refname{Примѣча̑нїѧ}%
+ \def\abstractname{А҆ннота́цїѧ}%
+ \def\bibname{Вивлїогра́фїѧ}%
+ \def\chaptername{Глава̀}%
+ \def\appendixname{Приложе́нїе}%
+ \ifcsundef{thechapter}%
+ {\def\contentsname{Содержа́нїе}}%
+ {\def\contentsname{Ѡ҆главле́нїе}}%
+ \def\listfigurename{Надписа́нїе и҆з̾ѡбраже́нїй}%
+ \def\listtablename{Надписа́нїе табли́цъ}%
+ \def\indexname{Предмѣ́тный ᲂу҆каза́тель}%
+ \def\authorname{И҆менно́й ᲂу҆каза́тель}%
+ \def\figurename{И҆з̾ѡбраже́нїе}%
+ \def\tablename{Табли́ца}%
+ \def\partname{Ча́сть}%
+ \def\enclname{вкл.}%
+ \def\ccname{исх.}%
+ \def\headtoname{вх.}%
+ \def\pagename{с.}%
+ \def\seename{зрѝ}%
+ \def\alsoname{зрѝ~та́кожде}%
+ \def\proofname{Доказа́тельство}%
+}
+\def\datechurchslavonic@traditional{%
+ \def\today{\number\day%
+ \space\ifcase\month\or%
+ і҆аннꙋа́рїа\or
+ феврꙋа́рїа\or
+ ма́рта\or
+ а҆прі́ллїа\or
+ ма́їа\or
+ і҆ꙋ́нїа\or
+ і҆ꙋ́лїа\or
+ а҆́ѵгꙋста\or
+ септе́мврїа\or
+ ѻ҆ктѡ́врїа\or
+ ное́мврїа\or
+ деке́мврїа\fi%
+ \space л.\space\number\year\space}}
+
+% The following is based on some ideas from ruscor.sty
+\def\churchslavonic@capsformat{%
+ \def\@seccntformat##1{\csname pre##1\endcsname%
+ \csname the##1\endcsname%
+ \csname post##1\endcsname}%
+ \def\@aftersepkern{\hspace{0.5em}}%
+ \def\postchapter{.\@aftersepkern}%
+ \def\postsection{.\@aftersepkern}%
+ \def\postsubsection{.\@aftersepkern}%
+ \def\postsubsubsection{.\@aftersepkern}%
+ \def\postparagraph{.\@aftersepkern}%
+ \def\postsubparagraph{.\@aftersepkern}%
+ \def\prechapter{}%
+ \def\presection{}%
+ \def\presubsection{}%
+ \def\presubsubsection{}%
+ \def\preparagraph{}%
+ \def\presubparagraph{}}
+
+\def\Azbuk#1{\expandafter\churchslavonic@Alph\csname c@#1\endcsname}
+\def\churchslavonic@Alph#1{\ifcase#1\or
+ А\or Б\or В\or Г\or Д\or Є\or Ж\or Ѕ\or
+ З\or И\or І\or К\or Л\or М\or Н\or О\or
+ П\or Р\or С\or Т\or Ꙋ\or Ф\or Х\or Ѿ\or
+ Ц\or Ч\or Ш\or Щ\or Ъ\or Ы\or Ь\or Ѣ\or
+ Ю\or Ѫ\or Ѧ\or Ѯ\or Ѱ\or Ѳ\or Ѵ\else\xpg@ill@value{#1}{churchslavonic@Alph}\fi}
+
+\def\azbuk#1{\expandafter\churchslavonic@alph\csname c@#1\endcsname}
+\def\churchslavonic@alph#1{\ifcase#1\or
+ а\or б\or в\or г\or д\or е\or ж\or ѕ\or
+ з\or и\or ї\or к\or л\or м\or н\or о\or
+ п\or р\or с\or т\or ꙋ\or ф\or х\or ѿ\or
+ ц\or ч\or ш\or щ\or ъ\or ы\or ь\or ѣ\or
+ ю\or ѫ\or ѧ\or ѯ\or ѱ\or ѳ\or ѵ\else\xpg@ill@value{#1}{churchslavonic@alph}\fi}
+
+%% Deleting stuff for Cyrillic numerals
+%% TODO: link with cu-num package
+\def\noextras@churchslavonic{%
+ \def\@seccntformat##1{\csname the##1\endcsname\quad}% = LaTeX kernel
+ \ifcyrillic@numerals\nochurchslavonic@numbers\fi
+ \nochurchslavonic@shorthands%
+}
+
+\def\blockextras@churchslavonic{%
+ \churchslavonic@capsformat%
+ \ifcyrillic@numerals\churchslavonic@numbers\fi
+ \ifchurchslavonic@babelshorthands\churchslavonic@shorthands\fi
+}
+
+\def\inlineextras@churchslavonic{%
+ \ifchurchslavonic@babelshorthands\churchslavonic@shorthands\fi%
+}
+
+%%% These lines taken from russianb.ldf, part of babel package.
+% make it optional?
+\def\sh {\mathop{\operator@font sh}\nolimits}
+\def\ch {\mathop{\operator@font ch}\nolimits}
+\def\tg {\mathop{\operator@font tg}\nolimits}
+\def\arctg {\mathop{\operator@font arctg}\nolimits}
+\def\arcctg{\mathop{\operator@font arcctg}\nolimits}
+\def\th {\mathop{\operator@font th}\nolimits}
+\def\ctg {\mathop{\operator@font ctg}\nolimits}
+\def\cth {\mathop{\operator@font cth}\nolimits}
+\def\cosec {\mathop{\operator@font cosec}\nolimits}
+\def\Prob {\mathop{\kern\z@\mathsf{P}}\nolimits}
+\def\Variance{\mathop{\kern\z@\mathsf{D}}\nolimits}
+\def\nod {\mathop{\mathrm{н.о.д.}}\nolimits}
+\def\nok {\mathop{\mathrm{н.о.к.}}\nolimits}
+\def\NOD {\mathop{\mathrm{НОД}}\nolimits}
+\def\NOK {\mathop{\mathrm{НОК}}\nolimits}
+\def\Proj {\mathop{\mathrm{Пр}}\nolimits}
+%\DeclareRobustCommand{\No}{№}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-churchslavonic.ldf>
+%<*gloss-classiclatin.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-classiclatin.ldf}
+% \begin{macrocode}
+%%
+%% This is file `gloss-classiclatin.ldf',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% gloss-latin.dtx (with options: `laclassic')
+%% ------------------------------------------------------------------
+%% Latin module for polyglossia
+%% Copyright (C) Claudio Beccari 2013-2016
+%% Copyright (C) Élie Roux 2016
+%% This work is distributed under the MIT License.
+%%
+%% See the postamble.
+%% ------------------------------------------------------------------
+\ProvidesFile{gloss-classiclatin.ldf}
+ [2016/09/10 v.1.03 Latin support from polyglossia]
+%%
+
+
+\PolyglossiaSetup{classiclatin}{%
+ hyphennames={classiclatin},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ fontsetup=true,
+}
+\def\classicuclccodes{\lccode`\V=`\u \uccode`\u=`\V}
+\def\noclassicuclccodes{\lccode`\V=`\v \uccode`\u=`\U}
+\def\classiclatincaptions{%
+ \def\prefacename{Praefatio}%
+ \def\refname{Conspectus librorum}%
+ \def\abstractname{Summarium}%
+ \def\bibname{Conspectus librorum}%
+ \def\chaptername{Caput}%
+ \def\appendixname{Additamentum}%
+ \def\contentsname{Index}%
+ \def\listfigurename{Conspectus descriptionum}%
+ \def\listtablename{Conspectus tabularum}%
+ \def\indexname{Index rerum notabilium}%
+ \def\figurename{Descriptio}%
+ \def\tablename{Tabula}%
+ \def\partname{Pars}%
+ \def\enclname{Additur}%
+ \def\ccname{Exemplar}%
+ \def\headtoname{\ignorespaces}%
+ \def\pagename{charta}%
+ \def\seename{cfr.}%
+ \def\alsoname{cfr.}%
+ \def\proofname{Demonstratio}%
+ \def\glossaryname{Glossarium}%
+ }
+
+\def\classiclatindate{%
+ \def\today{\uppercase\expandafter{\romannumeral\day}%
+ \space \ifcase\month
+ \or Januarii\or Februarii\or Martii\or Aprilis\or Maii\or Junii\or
+ Julii\or Augusti\or Septembris\or Octobris\or Nouembris\or
+ Decembris\fi
+ \space \uppercase\expandafter{\romannumeral\year}}}
+
+\define@boolkey{classiclatin}[classiclatin@]{babelshorthands}[true]{}
+
+\ifsystem@babelshorthands
+ \setkeys{classiclatin}{babelshorthands=true}
+\else
+ \setkeys{classiclatin}{babelshorthands=false}
+\fi
+
+\ifcsundef{initiate@active@char}{%
+ \input{babelsh.def}\initiate@active@char{"}}{}
+
+\def\classiclatin@shorthands{%
+ \def\language@group{classiclatin}%
+ \bbl@activate{"}%
+ \declare@shorthand{classiclatin}{"}{\relax
+ \ifmmode
+ \def\xpgcla@next{''}%
+ \else
+ \def\xpgcla@nextdq{\futurelet\xpgla@temp\xpgla@cwm}%
+ \fi
+ \xpgcla@nextdq}%
+}
+
+\def\xpgcla@allowhyphens{\bbl@allowhyphens\discretionary{-}{}{}\bbl@allowhyphens}
+\newcommand*{\xpgcla@cwm}{\let\xpgcla@@nextdq\relax
+ \ifcat\noexpand\xpgcla@temp a%
+ \let\xpgcla@@nextdq\xpgcla@allowhyphens
+ \else
+ \ifx\xpgcla@temp\ae
+ \let\xpgcla@@nextdq\xpgcla@allowhyphens
+ \else
+ \ifx\xpgcla@temp\oe
+ \let\xpgcla@@nextdq\xpgcla@allowhyphens
+ \else
+ \if\noexpand\xpgla@temp\string|%
+ \def\xpgcla@@nextdq{\xpgcla@allowhyphens\@gobble}%
+ \fi
+ \fi
+ \fi
+ \fi
+ \xpgla@@nextdq}%
+\def\noclassiclatin@shorthands{%
+ \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
+}
+
+\let\xpgcla@savedvalues\empty
+\AtEndPreamble{%
+ \edef\xpgcla@savedvalues{%
+ \clubpenalty=\the\clubpenalty\space
+ \@clubpenalty=\the\@clubpenalty\space
+ \widowpenalty=\the\widowpenalty\space
+ \finalhyphendemerits=\the\finalhyphendemerits}%
+}
+
+\def\noextras@classiclatin{%
+ \lccode\string"2019=\z@
+ \noclassiclatin@shorthands
+ \noclassicuclccodes
+ \xpgcla@savedvalues
+}
+
+\def\blockextras@classiclatin{%
+ \lccode\string"2019=\string"2019
+ \clubpenalty=3000 \@clubpenalty=3000 \widowpenalty=3000
+ \finalhyphendemerits=50000000
+ \classicuclccodes
+ \ifclassiclatin@babelshorthands\classiclatin@shorthands\fi
+}
+
+\def\inlineextras@classiclatin{%
+ \lccode\string"2019=\string"2019
+ \classicuclccodes
+ \ifclassiclatin@babelshorthands\classiclatin@shorthands\fi
+}
+%% Copyright (C) Claudio Beccari 2013-2016
+%% Copyright (C) Élie Roux 2016
+%%
+%% Permission is hereby granted, free of charge, to any person obtaining
+%% a copy of this software and associated documentation files
+%% (the "Software"), to deal in the Software without restriction, including
+%% without limitation the rights to use, copy, modify, merge, publish,
+%% distribute, sublicense, and/or sell copies of the Software, and to permit
+%% persons to whom the Software is furnished to do so, subject to the following
+%% conditions:
+%%
+%% The above copyright notice and this permission notice shall be included in
+%% all copies or substantial portions of the Software.
+%%
+%% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+%% THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+%% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+%% IN THE SOFTWARE.
+%%
+%% End of file `gloss-classiclatin.ldf'.
+% \end{macrocode}
+% \iffalse
+%</gloss-classiclatin.ldf>
%<*gloss-coptic.ldf>
% \fi
% \clearpage
@@ -2340,36 +2769,36 @@ and may look very wrong.}
\ProvidesFile{gloss-croatian.ldf}[polyglossia: module for croatian]
\PolyglossiaSetup{croatian}{
hyphennames={croatian},
- hyphenmins={2,2},
- indentfirst=true,
- fontsetup=true,
+ hyphenmins={2,2}, % aligned with https://ctan.org/pkg/hrhyph patterns and http://lebesgue.math.hr/~nenad/Diplomski/Maja_Ribaric_2011.pdf
+ indentfirst=false, % recommendation from Damir Bralić
+ fontsetup=true
}
\def\captionscroatian{%
- \def\refname{Literatura}%
- \def\abstractname{Sažetak}%
- \def\bibname{Bibliografija}%
- \def\prefacename{Predgovor}%
- \def\chaptername{Poglavlje}%
- \def\appendixname{Dodatak}%
- \def\contentsname{Sadržaj}%
- \def\listfigurename{Popis slika}%
- \def\listtablename{Popis tablica}%
- \def\indexname{Kazalo}%
- \def\figurename{Slika}%
- \def\tablename{Tablica}%
- \def\partname{Dio}%
- \def\pagename{Stranica}%
- \def\seename{Vidjeti}%
- \def\alsoname{Također vidjeti}%
- \def\enclname{Prilozi}%
- \def\ccname{Kopija}%
- \def\headtoname{Prima}%
- \def\proofname{Dokaz}%
- \def\glossaryname{Pojmovnik}%
- }
+ \def\prefacename{Predgovor}%
+ \def\refname{Literatura}%
+ \def\abstractname{Sažetak}%
+ \def\bibname{Bibliografija}%
+ \def\chaptername{Poglavlje}%
+ \def\appendixname{Dodatak}%
+ \def\contentsname{Sadržaj}%
+ \def\listfigurename{Popis slika}%
+ \def\listtablename{Popis tablica}%
+ \def\indexname{Kazalo}%
+ \def\figurename{Slika}%
+ \def\tablename{Tablica}%
+ \def\partname{Dio}%
+ \def\enclname{Prilozi}%
+ \def\ccname{Kopija}%
+ \def\headtoname{Prima}%
+ \def\pagename{Stranica}%
+ \def\seename{Vidjeti}%
+ \def\alsoname{Također vidjeti}%
+ \def\proofname{Dokaz}%
+ \def\glossaryname{Pojmovnik}%
+}
\def\datecroatian{%
- \def\today{\number\day.~\ifcase\month\or
+ \def\today{\number\day.~\ifcase\month\or
siječnja\or veljače\or ožujka\or travnja\or svibnja\or
lipnja\or srpnja\or kolovoza\or rujna\or listopada\or studenoga\or
prosinca\fi \space \number\year.}}
@@ -2728,7 +3157,7 @@ and may look very wrong.}
\if@british@locale
\english@day\space\english@month\space\number\year
\else
- \english@month\space\english@day, \number\year
+ \english@month\space\english@day,\space\number\year
\fi}%
}
@@ -3063,6 +3492,8 @@ and may look very wrong.}
\newluatexattribute\xpg@frpt %
\directlua{polyglossia.load_frpt()}%
\else
+ \newXeTeXintercharclass\french@openbrackets % ( ] {
+ \newXeTeXintercharclass\french@closebrackets % ( ] {
\newXeTeXintercharclass\french@punctthin % ! ? ; et autres
\newXeTeXintercharclass\french@punctthick % :
\newXeTeXintercharclass\french@punctguillstart % « ‹
@@ -3072,6 +3503,30 @@ and may look very wrong.}
\def\xpg@unskip{\ifhmode\ifdim\lastskip>\z@\unskip\fi\fi}
\def\xpg@nospace#1{#1}
+\ifx\@makefntext\undefined\else
+ \let\nofrench@makefntext\@makefntext
+ \long\def\french@makefntext#1{\parindent1em \noindent\quad\ifx\@thefnmark\empty\else\@thefnmark.\space\fi #1}
+ \let\@makefntext\french@makefntext
+ \define@boolkey{french}[french@]{frenchfootnote}[true]{%
+ \def\@tmpa{#1}
+ \def\@tmptrue{true}
+ \ifx\@tmpa\@tmptrue
+ \let\@makefntext\french@makefntext
+ \else
+ \let\@makefntext\nofrench@makefntext
+ \fi
+ }
+\fi
+
+
+\newif\iffrench@automaticspacesaroundguillemets
+\define@boolkey{french}[french@]{automaticspacesaroundguillemets}[true]{%
+ %\def\tmp@true{true}%
+ %\def\@tmpa{#1}%
+ %\ifx\@tmpa\tmp@true
+}
+\french@automaticspacesaroundguillemetstrue
+
\def\french@punctuation{%
\lccode"2019="2019
\ifluatex
@@ -3091,19 +3546,31 @@ and may look very wrong.}
\XeTeXcharclass `\» \french@punctguillend
\XeTeXcharclass `\‹ \french@punctguillstart
\XeTeXcharclass `\› \french@punctguillend
+ \XeTeXcharclass `\( \french@openbrackets
+ \XeTeXcharclass `\) \french@closebrackets
+ \XeTeXcharclass `\] \french@openbrackets
+ \XeTeXcharclass `\[ \french@closebrackets
+ \XeTeXcharclass `\{ \french@openbrackets
+ \XeTeXcharclass `\} \french@closebrackets
\XeTeXinterchartoks \z@ \french@punctthin = {\nobreak\thinspace}%
\XeTeXinterchartoks \z@ \french@punctthick = {\nobreakspace}%
- \XeTeXinterchartoks 255 \french@punctthin = {\xpg@unskip\nobreak\thinspace}%
- \XeTeXinterchartoks 255 \french@punctthick = {\xpg@unskip\nobreakspace}%
+ \XeTeXinterchartoks \xpg@boundaryclass \french@punctthin = {\xpg@unskip\nobreak\thinspace}%
+ \XeTeXinterchartoks \xpg@boundaryclass \french@punctthick = {\xpg@unskip\nobreakspace}%
\XeTeXinterchartoks \french@punctguillstart \z@ = {\nobreakspace}% "«a" -> "« a"
% \XeTeXinterchartoks \z@ \french@punctguillstart = {\nobreakspace}% "a«" unchanged?
% \XeTeXinterchartoks \french@punctguillend \z@ = {\nobreakspace}% "»a" unchanged?
\XeTeXinterchartoks \z@ \french@punctguillend = {\nobreakspace}% "a»" -> "a »"
- % \XeTeXinterchartoks \french@punctguillstart 255 = {\nobreakspace\xpg@nospace}% "« " -> "«~"
- % \XeTeXinterchartoks 255 \french@punctguillend = {\xpg@unskip\nobreakspace}% " »" -> "~»"
+ \iffrench@automaticspacesaroundguillemets
+ \XeTeXinterchartoks \french@punctguillstart \xpg@boundaryclass = {\nobreakspace\xpg@nospace\relax}% "« " -> "«~"
+ \XeTeXinterchartoks \xpg@boundaryclass \french@punctguillend = {\xpg@unskip\nobreakspace}% " »" -> "~»"
+ \fi
\XeTeXinterchartoks \french@punctguillend \french@punctthin = {\nobreak\thinspace}% "»;" -> "» ;"
\XeTeXinterchartoks \french@punctguillend \french@punctthick = {\nobreakspace}% "»:" -> "» :"
\XeTeXinterchartoks \french@punctthin \french@punctguillend = {\nobreakspace}% "?»" -> "? »"
+ \XeTeXinterchartoks \french@openbrackets \french@punctthin = {\xpg@unskip}% "(?" -> "(?" and not "( ?"
+ \XeTeXinterchartoks \french@punctthin \french@closebrackets = {\xpg@unskip}% "?)" -> "?)" (code not need, just for symetry with previous one)
+ \XeTeXinterchartoks \french@closebrackets \french@punctthin = {\nobreak\thinspace}% ")?" -> ") ?"
+ \XeTeXinterchartoks \french@closebrackets \french@punctthick = {\nobreakspace}% "):" -> ") :"
\fi
}
@@ -3154,8 +3621,8 @@ and may look very wrong.}
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{}%
- \def\partname{\protect\@Fpt partie}%
+ \def\thepart{\@Fpt partie}%
+ \def\partname{}%
\def\pagename{page}%
\def\seename{\emph{voir}}%
\def\alsoname{\emph{voir aussi}}%
@@ -3204,10 +3671,6 @@ and may look very wrong.}
\def\mr{M.\space}
\def\mrs{MM.\space}
-\ifx\@makefntext\undefined\else
-\renewcommand\@makefntext[1]{\quad\ifx\@thefnmark\empty\else\@thefnmark.\space\fi #1}
-\fi
-
% \end{macrocode}
% \iffalse
%</gloss-french.ldf>
@@ -3452,6 +3915,8 @@ and may look very wrong.}
\declare@shorthand{german}{""}{\hskip\z@skip}%
\declare@shorthand{german}{"~}{\textormath{\leavevmode\hbox{-}}{-}}%
\declare@shorthand{german}{"=}{\penalty\@M-\hskip\z@skip}%
+ \declare@shorthand{german}{"/}{\textormath
+ {\bbl@allowhyphens\discretionary{/}{}{/}\bbl@allowhyphens}{}}%
\def\ck{\allowhyphens\discretionary{k-}{k}{ck}\allowhyphens}%
}
@@ -4481,6 +4946,231 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-italian.ldf>
+%<*gloss-japanese.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-japanese.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-japanese.ldf}[polyglossia: module for japanese]
+\PolyglossiaSetup{japanese}{
+ script=CJK,
+ language=Japanese,
+ langtag=JAN,
+ hyphennames={nohyphenation},
+ frenchspacing=false,
+ fontsetup=true
+}
+
+\def\japanese@capsformat{%
+ \def\@seccntformat##1{%
+ \csname pre##1\endcsname%
+ \csname the##1\endcsname%
+ \csname post##1\endcsname%
+ }
+ \def\postsection{節\space}%
+ \def\postsubsection{節\space}%
+ \def\postsubsubsection{節\space}%
+ \def\presection{第}%
+ \def\presubsection{第}%
+ \def\presubsubsection{第}%
+}
+
+\def\captionsjapanese{%
+ \def\refname{参考文献}%
+ \def\abstractname{概要}%
+ \def\bibname{文献目録}%
+ \def\prefacename{端書き}%
+ \def\chaptername##1##2{第##1##2 章}%
+ \def\appendixname{付録}%
+ \def\contentsname{目次}%
+ \def\listfigurename{図目次}%
+ \def\listtablename{表目次}%
+ \def\indexname{索引}%
+ \def\figurename{図}%
+ \def\tablename{表}%
+ \def\partname##1##2{第##1##2 部}%
+ \def\pagename##1##2{第##1##2 頁}%
+ \def\seename{参照}%
+ \def\alsoname{参照}%
+ \def\enclname{添付}%
+ \def\ccname{同報}%
+ \def\headtoname{宛先}%
+ \def\proofname{証明}%
+ \def\glossaryname{用語集}%
+ }
+
+\newif\if@WameiReki \@WameiRekifalse%
+\newif\if@WameiTosi \@WameiTosifalse%
+\newif\if@WameiTuki \@WameiTukifalse%
+\newif\if@WameiHi \@WameiHifalse%
+\newif\if@IzumoTuki \@IzumoTukifalse%
+\newcount\c@TempJNum%
+
+\def\@JapaneseDigit#1{
+ \ifcase#1\or 一\or 二\or 三\or 四\or 五\or
+ 六\or 七\or 八\or 九\or 十\or
+ 十一\or 十二\or 十三\or 十四\or 十五\or
+ 十六\or 十七\or 十八\or 十九\or 廿\or
+ 廿一\or 廿二\or 廿三\or 廿四\or 廿五\or
+ 廿六\or 廿七\or 廿八\or 廿九\or 丗\or
+ 丗一\or 丗二\or 丗三\or 丗四\or 丗五\or
+ 丗六\or 丗七\or 丗八\or 丗九\or 四十\or
+ 四十一\or 四十二\or 四十三\or 四十四\or 四十五\or
+ 四十六\or 四十七\or 四十八\or 四十九\or 五十\or
+ 五十一\or 五十二\or 五十三\or 五十四\or 五十五\or
+ 五十六\or 五十七\or 五十八\or 五十九\or 六十\or
+ 六十一\or 六十二\or 六十三\or 六十四\or 六十五\or
+ 六十六\or 六十七\or 六十八\or 六十九\or 七十\or
+ 七十一\or 七十二\or 七十三\or 七十四\or 七十五\or
+ 七十六\or 七十七\or 七十八\or 七十九\or 八十\or
+ 八十一\or 八十二\or 八十三\or 八十四\or 八十五\or
+ 八十六\or 八十七\or 八十八\or 八十九\or 九十\or
+ 九十一\or 九十二\or 九十三\or 九十四\or 九十五\or
+ 九十六\or 九十七\or 九十八\or 九十九
+ \else
+ \@ctrerr
+ \fi\relax
+}
+
+\def\@JapaneseNum#1{
+ \c@TempJNum=#1\divide\c@TempJNum by 1000\relax%
+ \ifnum\c@TempJNum=\z@\c@TempJNum=#1%
+ \divide\c@TempJNum by 100\relax%
+ \ifnum\c@TempJNum=\z@\@JapaneseDigit{#1}\relax%
+ \else
+ \ifcase\c@TempJNum\or 百\or 二百\or 三百\or 四百\or 五百\or
+ 六百\or 七百\or 八百\or 九百%
+ \fi
+ \c@TempJNum=#1\divide\c@TempJNum by 100\multiply\c@TempJNum by -100\advance\c@TempJNum#1\@JapaneseDigit\c@TempJNum\relax%
+ \fi
+ \else
+ \ifcase\c@TempJNum\or 千\or 二千\or 三千\or 四千\or 五千\or
+ 六千\or 七千\or 八千\or 九千%
+ \fi
+ \c@TempJNum=#1\divide\c@TempJNum by 1000\multiply\c@TempJNum by -1000\advance\c@TempJNum#1\divide\c@TempJNum by 100\relax%
+ \ifnum\c@TempJNum=\z@\c@TempJNum=#1%
+ \divide\c@TempJNum by 100\multiply\c@TempJNum by -100\advance\c@TempJNum#1\@JapaneseDigit\c@TempJNum\relax%
+ \else
+ \ifcase\c@TempJNum\or 百\or 二百\or 三百\or 四百\or 五百\or
+ 六百\or 七百\or 八百\or 九百%
+ \fi
+ \c@TempJNum=#1\divide\c@TempJNum by 100\multiply\c@TempJNum by -100\advance\c@TempJNum#1\@JapaneseDigit\c@TempJNum\relax%
+ \fi
+ \fi
+}
+
+\def\@japanesenumber#1{
+ \@tempcnta=#1%
+ \ifnum\@tempcnta=\z@{〇}%
+ \else
+ \ifnum\@tempcnta<\z@{負}%
+ \multiply\@tempcnta by -1%
+ \fi
+ \@tempcntb=\@tempcnta\divide\@tempcntb by 10000\relax%
+ \ifnum\@tempcntb=\z@\@JapaneseNum%
+ \@tempcnta%
+ \else
+ \@tempcntb=\@tempcnta\divide\@tempcntb by 100000000\relax%
+ \ifnum\@tempcntb=\z@\@tempcntb=\@tempcnta%
+ \divide\@tempcntb by 10000%
+ \@JapaneseNum\@tempcntb{万}\@tempcntb=\@tempcnta%
+ \divide\@tempcntb by 10000\multiply\@tempcntb by -10000%
+ \advance\@tempcntb\@tempcnta\relax\@JapaneseNum\@tempcntb%
+ \else
+ \@JapaneseNum\@tempcntb{億}\@tempcntb=\@tempcnta%
+ \divide\@tempcntb by 100000000\multiply\@tempcntb by -100000000%
+ \advance\@tempcntb\@tempcnta\divide\@tempcntb by 10000\relax%
+ \ifnum\@tempcntb=\z@%
+ \else
+ \@JapaneseNum\@tempcntb{万}%
+ \fi
+ \@tempcntb=\@tempcnta\divide\@tempcntb by 10000%
+ \multiply\@tempcntb by -10000\advance\@tempcntb\@tempcnta%
+ \@JapaneseNum\@tempcntb%
+ \fi
+ \fi
+ \fi
+}
+
+\def\japanesenumber#1{
+ \expandafter\@japanesenumber\csname c@#1\endcsname%
+}
+
+\def\datejapanese{
+ {
+ \ifnum\year<1868%
+ \xdef\the@WarekiCur{}%
+ \else
+ \ifnum\year<1912%
+ \xdef\the@WarekiCur{明治}\advance\year-1867\relax%
+ \else
+ \ifnum\year<1926%
+ \xdef\the@WarekiCur{大正}\advance\year-1911\relax%
+ \else
+ \ifnum\year<1989%
+ \xdef\the@WarekiCur{昭和}\advance\year-1925\relax%
+ \else
+ \xdef\the@WarekiCur{平成}\advance\year-1988\relax%
+ \fi
+ \fi
+ \fi
+ \fi
+ \xdef\the@WameiTosi{\the\year}%
+ }
+ \def\西暦{\@WameiRekifalse \@WameiTukifalse \@WameiHifalse}%
+ \def\和暦{\@WameiRekitrue \@WameiTosifalse \@WameiTukifalse \@WameiHifalse}%
+ \def\和名暦{\@WameiTositrue \@WameiTukitrue \@WameiHitrue}%
+ \def\数字暦{\@WameiTosifalse \@WameiTukifalse \@WameiHifalse}%
+ \def\出雲月{\@IzumoTukitrue}%
+ \def\大和月{\@IzumoTukifalse}%
+ \def\today{
+ \if@WameiReki%
+ \the@WarekiCur%
+ \if@WameiTosi%
+ \@JapaneseNum\the@WameiTosi%
+ \else
+ \,\the@WameiTosi%
+ \fi
+ \else
+ \number\year\,%
+ \fi
+ {年}%
+ \if@WameiTuki%
+ \ifcase\month\or 睦月\or 如月\or 弥生\or 卯月\or 皐月\or
+ 水無月\or 文月\or 葉月\or 長月\or
+ \if@IzumoTuki 神在月\else 神無月\fi
+ \or 霜月\or 師走%
+ \fi
+ \else
+ \,\number\month\,%
+ {月}%
+ \fi
+ \if@WameiHi%
+ \@JapaneseNum\day%
+ \else
+ \,\number\day\,%
+ \fi
+ {日}
+ }
+}
+
+\def\noextras@japanese{%
+ \japanese@capsformat%
+}
+
+\def\blockextras@japanese{%
+ \japanese@capsformat%
+}
+
+\def\inlineextras@japanese{%
+ \japanese@capsformat%
+}
+% Based on contributions of Toru Inagaki, Norio Iwase, François Charette
+
+% \end{macrocode}
+% \iffalse
+%</gloss-japanese.ldf>
%<*gloss-kannada.ldf>
% \fi
% \clearpage
@@ -4894,7 +5584,7 @@ and may look very wrong.}
\XeTeXinterchartokenstate\@ne
\XeTeXlinebreakpenalty 50
\fi
- \XeTeXlinebreakskip 0pt plus.1em minus .01em
+ \XeTeXlinebreakskip 0pt plus.05em minus .01em
\XeTeXlinebreaklocale "ko"
}
\def\noextras@korean{%
@@ -4957,9 +5647,16 @@ and may look very wrong.}
\protected\def\으{\xpg@make@josa \empty 으}
\protected\def\로{\으 로}
\protected\def\라{\xpg@make@josa 라{이라}}
+\def\xpg@make@josa@II{\xpg@make@josa\relax 이}
\def\xpg@make@josa@I{%
- \ifx\@let@token 라%
- \expandafter\xpg@make@josa\expandafter\relax\expandafter 이%
+ \ifcat\@let@token\xpg@catcode@letter
+ \expandafter\expandafter\expandafter\count@\expandafter
+ \xpg@letter@to@num\meaning\@let@token\relax
+ \ifnum 0\ifnum\count@>"ABFF \ifnum\count@<"D7A4 1\fi\fi>\z@
+ \expandafter\expandafter\expandafter\xpg@make@josa@II
+ \else
+ \expandafter\expandafter\expandafter\가
+ \fi
\else
\expandafter\가
\fi
@@ -5048,8 +5745,13 @@ and may look very wrong.}
% user macro to force zero skip
\let\inhibitglue\relax
% initialize interchartoks and classes
-\let\XeTeXcharclassIgnore \@cclvi
-\let\XeTeXcharclassBoundary\@cclv
+\ifdim\the\XeTeXversion\XeTeXrevision pt<0.99994pt
+ \let\XeTeXcharclassIgnore \@cclvi
+ \let\XeTeXcharclassBoundary\@cclv
+\else
+ \chardef\XeTeXcharclassIgnore =4096
+ \chardef\XeTeXcharclassBoundary=4095
+\fi
\ifdefined\XeTeXcharclassID\else
\ifdefined\xtxHanGlue
\let\XeTeXcharclassID\@ne
@@ -5059,6 +5761,7 @@ and may look very wrong.}
\newXeTeXintercharclass\XeTeXcharclassID
\newXeTeXintercharclass\XeTeXcharclassOP
\newXeTeXintercharclass\XeTeXcharclassCL
+ \global\let\XeTeXcharclassCJ\XeTeXcharclassID
\global\let\XeTeXcharclassEX\XeTeXcharclassCL
\global\let\XeTeXcharclassIS\XeTeXcharclassCL
\global\let\XeTeXcharclassNS\XeTeXcharclassCL
@@ -5135,10 +5838,10 @@ and may look very wrong.}
\advance\count@\@ne
\repeat
%
- \XeTeXinterchartoks\XPGKOcharclassAA\XeTeXcharclassID{\XPGKOstartID}%
- \XeTeXinterchartoks\XPGKOcharclassAA\XeTeXcharclassOP{\XPGKOstopAA\XPGKOstartOP}%
+ \XeTeXinterchartoks\XPGKOcharclassAA\XeTeXcharclassID{\XPGKOstopAA\XPGKOlatincjk\XPGKOstartID}%
+ \XeTeXinterchartoks\XPGKOcharclassAA\XeTeXcharclassOP{\XPGKOstopAA\XPGKOhalfhalf\XPGKOstartOP}%
\XeTeXinterchartoks\XPGKOcharclassAA\XeTeXcharclassCL{\XPGKOstopAA\XPGKOstartCL}%
- \XeTeXinterchartoks\XPGKOcharclassAA\XPGKOcharclassMD{\XPGKOstopAA\XPGKOstartMD}%
+ \XeTeXinterchartoks\XPGKOcharclassAA\XPGKOcharclassMD{\XPGKOstopAA\XPGKOnobreak\XPGKOquarterquarter\XPGKOstartMD}%
\XeTeXinterchartoks\XPGKOcharclassAA\XPGKOcharclassFS{\XPGKOstopAA\XPGKOstartFS}%
\XeTeXinterchartoks\XPGKOcharclassAA\XPGKOcharclassAA{\XPGKOstartAA}%
%
@@ -5148,7 +5851,7 @@ and may look very wrong.}
\XeTeXinterchartoks\XeTeXcharclassID\XPGKOcharclassMD{\XPGKOstopID\XPGKOnobreak\XPGKOquarterquarter\XPGKOstartMD}%
\XeTeXinterchartoks\XeTeXcharclassID\XPGKOcharclassFS{\XPGKOstopID\XPGKOstartFS}%
\XeTeXinterchartoks\XeTeXcharclassID\XPGKOcharclassAO{\XPGKOstopID\XPGKOlatincjk}%
- \XeTeXinterchartoks\XeTeXcharclassID\XPGKOcharclassAA{\XPGKOstartAA}%
+ \XeTeXinterchartoks\XeTeXcharclassID\XPGKOcharclassAA{\XPGKOstopID\XPGKOlatincjk\XPGKOstartAA}%
%
\XeTeXinterchartoks\XeTeXcharclassOP\XeTeXcharclassID{\XPGKOstopOP\XPGKOstartID}%
\XeTeXinterchartoks\XeTeXcharclassOP\XeTeXcharclassOP{\XPGKOstopOP\XPGKOstartOP}%
@@ -5166,7 +5869,7 @@ and may look very wrong.}
\XeTeXinterchartoks\XeTeXcharclassCL\XPGKOcharclassEX{\XPGKOstopCL\XPGKOnobreak\XPGKOhalfhalf}%
\XeTeXinterchartoks\XeTeXcharclassCL\XPGKOcharclassAO{\XPGKOstopCL\XPGKOhalfhalf}%
\XeTeXinterchartoks\XeTeXcharclassCL\XPGKOcharclassAC{\XPGKOstopCL\XPGKOnobreak\XPGKOhalfhalf}%
- \XeTeXinterchartoks\XeTeXcharclassCL\XPGKOcharclassAA{\XPGKOstopCL\XPGKOstartAA}%
+ \XeTeXinterchartoks\XeTeXcharclassCL\XPGKOcharclassAA{\XPGKOstopCL\XPGKOhalfhalf\XPGKOstartAA}%
%
\XeTeXinterchartoks\XPGKOcharclassMD\XeTeXcharclassID{\XPGKOstopMD\XPGKOquarterquarter\XPGKOstartID}%
\XeTeXinterchartoks\XPGKOcharclassMD\XeTeXcharclassOP{\XPGKOstopMD\XPGKOquarterquarter\XPGKOstartOP}%
@@ -5177,7 +5880,7 @@ and may look very wrong.}
\XeTeXinterchartoks\XPGKOcharclassMD\XPGKOcharclassEX{\XPGKOstopMD\XPGKOnobreak\XPGKOquarterquarter}%
\XeTeXinterchartoks\XPGKOcharclassMD\XPGKOcharclassAO{\XPGKOstopMD\XPGKOquarterquarter}%
\XeTeXinterchartoks\XPGKOcharclassMD\XPGKOcharclassAC{\XPGKOstopMD\XPGKOnobreak\XPGKOquarterquarter}%
- \XeTeXinterchartoks\XPGKOcharclassMD\XPGKOcharclassAA{\XPGKOstopMD\XPGKOstartAA}%
+ \XeTeXinterchartoks\XPGKOcharclassMD\XPGKOcharclassAA{\XPGKOstopMD\XPGKOquarterquarter\XPGKOstartAA}%
%
\XeTeXinterchartoks\XPGKOcharclassFS\XeTeXcharclassID{\XPGKOstopFS\XPGKOhalfzero\XPGKOstartID}%
\XeTeXinterchartoks\XPGKOcharclassFS\XeTeXcharclassOP{\XPGKOstopFS\XPGKOhalfzero\XPGKOstartOP}%
@@ -5188,7 +5891,7 @@ and may look very wrong.}
\XeTeXinterchartoks\XPGKOcharclassFS\XPGKOcharclassEX{\XPGKOstopFS\XPGKOnobreak\XPGKOhalfzero}%
\XeTeXinterchartoks\XPGKOcharclassFS\XPGKOcharclassAO{\XPGKOstopFS\XPGKOhalfzero}%
\XeTeXinterchartoks\XPGKOcharclassFS\XPGKOcharclassAC{\XPGKOstopFS\XPGKOnobreak\XPGKOhalfzero}%
- \XeTeXinterchartoks\XPGKOcharclassFS\XPGKOcharclassAA{\XPGKOstopFS\XPGKOstartAA}%
+ \XeTeXinterchartoks\XPGKOcharclassFS\XPGKOcharclassAA{\XPGKOstopFS\XPGKOhalfzero\XPGKOstartAA}%
%
\XeTeXinterchartoks\XPGKOcharclassLD\XeTeXcharclassOP{\XPGKOhalfhalf\XPGKOstartOP}%
\XeTeXinterchartoks\XPGKOcharclassLD\XPGKOcharclassMD{\XPGKOnobreak\XPGKOquarterquarter\XPGKOstartMD}%
@@ -5198,6 +5901,7 @@ and may look very wrong.}
\XeTeXinterchartoks\XPGKOcharclassEX\XPGKOcharclassMD{\XPGKOnobreak\XPGKOquarterquarter\XPGKOstartMD}%
\XeTeXinterchartoks\XPGKOcharclassEX\XPGKOcharclassAO{\XPGKOhalfhalf}%
\XeTeXinterchartoks\XPGKOcharclassEX\XPGKOcharclassAC{\XPGKOnobreak\XPGKOhalfhalf}%
+ \XeTeXinterchartoks\XPGKOcharclassEX\XPGKOcharclassAA{\XPGKOhalfhalf\XPGKOstartAA}%
%
\XeTeXinterchartoks\XPGKOcharclassAO\XeTeXcharclassOP{\XPGKOnobreak\XPGKOhalfhalf\XPGKOstartOP}%
\XeTeXinterchartoks\XPGKOcharclassAO\XPGKOcharclassMD{\XPGKOnobreak\XPGKOquarterquarter\XPGKOstartMD}%
@@ -5251,63 +5955,66 @@ and may look very wrong.}
\@tmpa "FE13=\XeTeXcharclassID % ︓ PRESENTATION FORM FOR VERTICAL COLON
\@tmpa "FE14=\XeTeXcharclassID % ︔ PRESENTATION FORM FOR VERTICAL SEMICOLON
% CJ
-\@tmpa "3041=\XeTeXcharclassID
-\@tmpa "3043=\XeTeXcharclassID
-\@tmpa "3045=\XeTeXcharclassID
-\@tmpa "3047=\XeTeXcharclassID
-\@tmpa "3049=\XeTeXcharclassID
-\@tmpa "3063=\XeTeXcharclassID
-\@tmpa "3083=\XeTeXcharclassID
-\@tmpa "3085=\XeTeXcharclassID
-\@tmpa "3087=\XeTeXcharclassID
-\@tmpa "308E=\XeTeXcharclassID
-\@tmpa "3095=\XeTeXcharclassID
-\@tmpa "3096=\XeTeXcharclassID
-\@tmpa "30A1=\XeTeXcharclassID
-\@tmpa "30A3=\XeTeXcharclassID
-\@tmpa "30A5=\XeTeXcharclassID
-\@tmpa "30A7=\XeTeXcharclassID
-\@tmpa "30A9=\XeTeXcharclassID
-\@tmpa "30C3=\XeTeXcharclassID
-\@tmpa "30E3=\XeTeXcharclassID
-\@tmpa "30E5=\XeTeXcharclassID
-\@tmpa "30E7=\XeTeXcharclassID
-\@tmpa "30EE=\XeTeXcharclassID
-\@tmpa "30F5=\XeTeXcharclassID
-\@tmpa "30F6=\XeTeXcharclassID
-\@tmpa "30FC=\XeTeXcharclassID
-\count@"31F0 \loop
- \expandafter\@tmpa\the\count@=\XeTeXcharclassID
- \ifnum\count@<"31FF
- \advance\count@\@ne
- \repeat
-\count@"FF67 \loop
- \expandafter\@tmpa\the\count@=\XeTeXcharclassID
- \ifnum\count@<"FF70
- \advance\count@\@ne
- \repeat
+\ifnum\the\XeTeXcharclass"3041=\XeTeXcharclassID \else
+ \@tmpa "3041=\XeTeXcharclassID % ぁ HIRAGANA LETTER SMALL A
+ \@tmpa "3043=\XeTeXcharclassID % ぃ HIRAGANA LETTER SMALL I
+ \@tmpa "3045=\XeTeXcharclassID % ぅ HIRAGANA LETTER SMALL U
+ \@tmpa "3047=\XeTeXcharclassID % ぇ HIRAGANA LETTER SMALL E
+ \@tmpa "3049=\XeTeXcharclassID % ぉ HIRAGANA LETTER SMALL O
+ \@tmpa "3063=\XeTeXcharclassID % っ HIRAGANA LETTER SMALL TU
+ \@tmpa "3083=\XeTeXcharclassID % ゃ HIRAGANA LETTER SMALL YA
+ \@tmpa "3085=\XeTeXcharclassID % ゅ HIRAGANA LETTER SMALL YU
+ \@tmpa "3087=\XeTeXcharclassID % ょ HIRAGANA LETTER SMALL YO
+ \@tmpa "308E=\XeTeXcharclassID % ゎ HIRAGANA LETTER SMALL WA
+ \@tmpa "3095=\XeTeXcharclassID % ゕ HIRAGANA LETTER SMALL KA
+ \@tmpa "3096=\XeTeXcharclassID % ゖ HIRAGANA LETTER SMALL KE
+ \@tmpa "30A1=\XeTeXcharclassID % ァ KATAKANA LETTER SMALL A
+ \@tmpa "30A3=\XeTeXcharclassID % ィ KATAKANA LETTER SMALL I
+ \@tmpa "30A5=\XeTeXcharclassID % ゥ KATAKANA LETTER SMALL U
+ \@tmpa "30A7=\XeTeXcharclassID % ェ KATAKANA LETTER SMALL E
+ \@tmpa "30A9=\XeTeXcharclassID % ォ KATAKANA LETTER SMALL O
+ \@tmpa "30C3=\XeTeXcharclassID % ッ KATAKANA LETTER SMALL TU
+ \@tmpa "30E3=\XeTeXcharclassID % ャ KATAKANA LETTER SMALL YA
+ \@tmpa "30E5=\XeTeXcharclassID % ュ KATAKANA LETTER SMALL YU
+ \@tmpa "30E7=\XeTeXcharclassID % ョ KATAKANA LETTER SMALL YO
+ \@tmpa "30EE=\XeTeXcharclassID % ヮ KATAKANA LETTER SMALL WA
+ \@tmpa "30F5=\XeTeXcharclassID % ヵ KATAKANA LETTER SMALL KA
+ \@tmpa "30F6=\XeTeXcharclassID % ヶ KATAKANA LETTER SMALL KE
+ \@tmpa "30FC=\XeTeXcharclassID % ー KATAKANA-HIRAGANA PROLONGED SOUND MARK
+ \count@"31F0 \loop
+ \expandafter\@tmpa\the\count@=\XeTeXcharclassID
+ \ifnum\count@<"31FF
+ \advance\count@\@ne
+ \repeat
+ \count@"FF67 \loop
+ \expandafter\@tmpa\the\count@=\XeTeXcharclassID
+ \ifnum\count@<"FF70
+ \advance\count@\@ne
+ \repeat
+\fi
%
-\@tmpa "28=\XPGKOcharclassAO % (
-\@tmpa "5B=\XPGKOcharclassAO % [
-\@tmpa "60=\XPGKOcharclassAO % `
-\@tmpa "7B=\XPGKOcharclassAO % {
+\@tmpa "28=\XPGKOcharclassAO % ( LEFT PARENTHESIS
+\@tmpa "5B=\XPGKOcharclassAO % [ LEFT SQUARE BRACKET
+\@tmpa "60=\XPGKOcharclassAO % ` GRAVE ACCENT
+\@tmpa "7B=\XPGKOcharclassAO % { LEFT CURLY BRACKET
+\@tmpa "AB=\XPGKOcharclassAO % « LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
%
-\@tmpa "21=\XPGKOcharclassAC % !
-\@tmpa "27=\XPGKOcharclassAC % '
-\@tmpa "29=\XPGKOcharclassAC % )
-\@tmpa "2C=\XPGKOcharclassAC % ,
-\@tmpa "2E=\XPGKOcharclassAC % .
-\@tmpa "3B=\XPGKOcharclassAC % ;
-\@tmpa "3F=\XPGKOcharclassAC % ?
-\@tmpa "5D=\XPGKOcharclassAC % ]
-\@tmpa "7D=\XPGKOcharclassAC % }
+\@tmpa "21=\XPGKOcharclassAC % ! EXCLAMATION MARK
+\@tmpa "27=\XPGKOcharclassAC % ' APOSTROPHE
+\@tmpa "29=\XPGKOcharclassAC % ) RIGHT PARENTHESIS
+\@tmpa "2C=\XPGKOcharclassAC % , COMMA
+\@tmpa "2E=\XPGKOcharclassAC % . FULL STOP
+\@tmpa "3B=\XPGKOcharclassAC % ; SEMICOLON
+\@tmpa "3F=\XPGKOcharclassAC % ? QUESTION MARK
+\@tmpa "5D=\XPGKOcharclassAC % ] RIGHT SQUARE BRACKET
+\@tmpa "7D=\XPGKOcharclassAC % } RIGHT CURLY BRACKET
+\@tmpa "BB=\XPGKOcharclassAC % » RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
%
\@tmpa "2018=\XeTeXcharclassOP % ‘ LEFT SINGLE QUOTATION MARK
\@tmpa "201C=\XeTeXcharclassOP % “ LEFT DOUBLE QUOTATION MARK
%
\@tmpa "2019=\XeTeXcharclassCL % ’ RIGHT SINGLE QUOTATION MARK
\@tmpa "201D=\XeTeXcharclassCL % ” RIGHT DOUBLE QUOTATION MARK
-\@tmpa "FE10=\XeTeXcharclassCL % ︐ PRESENTATION FORM FOR VERTICAL COMMA
% NS
\@tmpa "00B7=\XPGKOcharclassMD % · MIDDLE DOT
\@tmpa "30FB=\XPGKOcharclassMD % ・ KATAKANA MIDDLE DOT
@@ -5448,141 +6155,153 @@ and may look very wrong.}
%
% \subsection{gloss-latin.ldf}
% \begin{macrocode}
-% !TEX encoding = UTF-8 Unicode
-\ProvidesFile{gloss-latin.ldf}[polyglossia: module for latin]
-\PolyglossiaSetup{latin}{
-hyphennames={latin},
-% hyphenmins={2,2},
- frenchspacing=true,
- fontsetup=true,
-}
-
-
-\define@boolkey{latin}[latin@]{babelshorthands}[true]{}
-
-
-\ifsystem@babelshorthands
- \setkeys{latin}{babelshorthands=true}
-\else
- \setkeys{latin}{babelshorthands=false}
-\fi
-
-
-\ifcsundef{initiate@active@char}{%
-\input{babelsh.def}%
-}{}\initiate@active@char{"}%
-
+%%
+%% This is file `gloss-latin.ldf',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% gloss-latin.dtx (with options: `lamodern')
+%% ------------------------------------------------------------------
+%% Latin module for polyglossia
+%% Copyright (C) Claudio Beccari 2013-2016
+%% Copyright (C) Élie Roux 2016
+%% This work is distributed under the MIT License.
+%%
+%% See the postamble.
+%% ------------------------------------------------------------------
+\ProvidesFile{gloss-latin.ldf}
+ [2016/09/10 v.1.03 Latin support from polyglossia]
+%%
-\def\latin@shorthands{%
- \bbl@activate{"}%
- \def\language@group{latin}%
- \declare@shorthand{latin}{"}{%
- \relax\ifmmode
- \def\xpgla@next{''}%
- \else
- \def\xpgla@next{\futurelet\xpgla@temp\xpgla@cwm}%
- \fi
- \xpgla@next}%
+\PolyglossiaSetup{latin}{%
+ hyphennames={latin},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ fontsetup=true,
}
-
-
-\def\xpgla@allowhyphens{\bbl@allowhyphens\discretionary{-}{}{}\bbl@allowhyphens}
-\newcommand*{\xpgla@cwm}{\let\xpgla@@next\relax
- \ifcat\noexpand\xpgla@temp a%
- \let\xpgla@@next\xpgla@allowhyphens
- \else
- \ifx\xpgla@temp\ae
- \let\xpgla@@next\xpgla@allowhyphens
- \else
- \ifx\xpgla@temp\oe
- \let\xpgla@@next\xpgla@allowhyphens
- \else
- \if\noexpand\xpgla@temp\string|%
- \def\xpgla@@next{\xpgla@allowhyphens\@gobble}%
- \fi
- \fi
- \fi
- \fi
- \xpgla@@next}%
-
-\def\nolatin@shorthands{%
- \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
-}
-
-
-% set modern as default
-\def\latin@variant{\l@latin}%
-\ifluatex\xpg@set@language@luatex@iv{latin}\fi
-\def\captionslatin{\modernlatincaptions}%
-\def\datelatin{\modernlatindate}%
\def\classicuclccodes{\lccode`\V=`\u \uccode`\u=`\V}
-
+\def\noclassicuclccodes{\lccode`\V=`\v \uccode`\u=`\U}
\def\tmp@modern{modern}
\def\tmp@medieval{medieval}
-\def\tmp@classic{classic}
+\unless\ifluatex
+ \def\tmp@classic{classic}
+ \def\tmp@liturgical{liturgical}
+\fi
+\newif\ifmedieval\medievalfalse
+\newif\ifclassic\classicfalse
+\define@boolkey{latin}[latin@]{ecclesiastic}[true]{}
+\let\latin@variant\l@latin
+\ifluatex
+ \ifcsname l@latin\endcsname\xpg@set@language@luatex@ii{latin}\fi
+\fi
+\def\captionslatin{\latincaptions}%
+\def\datelatin{\latindate}%
\define@key{latin}{variant}[modern]{%
\def\@tempa{#1}%
\ifx\@tempa\tmp@medieval
- \def\latin@variant{\l@latin}%
- \xpg@set@language@luatex@iv{latin}
- \def\captionslatin{\medievallatincaptions}%
- \def\datelatin{\classiclatindate}%
+ \ifluatex
+ \ifcsname l@latin\endcsname\xpg@set@language@luatex@ii{latin}\fi
+ \fi
+ \let\latin@variant\l@latin
+ \xpg@set@language@luatex@ii{latin}
+ \medievaltrue \classictrue
\classicuclccodes
\xpg@info{Option: Medieval Latin}%
\else
\ifx\@tempa\tmp@classic
- \xpg@ifdefined{classiclatin}{%
- \def\latin@variant{\l@classiclatin}%
- \xpg@set@language@luatex@iv{classiclatin}%
- }{%
- \xpg@nopatterns{Classic Latin}%
- \adddialect\l@classiclatin\l@latin
- \def\latin@variant{\l@latin}%
- }%
- \def\captionslatin{\modernlatincaptions}%
- \def\datelatin{\classiclatindate}%
- \classicuclccodes
+ \unless\ifluatex
+ \unless\ifcsname l@classiclatin\endcsname
+ \xpg@nopatterns{Classic Latin}%
+ \adddialect\l@classiclatin\l@latin
+ \let\latin@variant\l@latin
+ \else
+ \let\latin@variant\l@classiclatin
+ \fi
+ \fi
+ \medievalfalse\classictrue\classicuclccodes
\xpg@info{Option: Classic Latin}%
\else
- \def\latin@variant{\l@latin}%
- \xpg@set@language@luatex@iv{latin}
- \def\captionslatin{\modernlatincaptions}%
- \def\datelatin{\modernlatindate}%
- \xpg@info{Option: Modern Latin}%
+ \ifx\@tempa\tmp@liturgical\unless\ifluatex
+ \unless\ifcsname l@liturgicallatin\endcsname
+ \xpg@nopatterns{Liturgical Latin}%
+ \adddialect\l@liturgicallatin\l@latin
+ \def\latin@variant{\l@latin}%
+ \else
+ \let\latin@variant\l@liturgicallatin
+ \fi
+ \medievaltrue\classicfalse
+ \xpg@info{Option: Liturgical Latin}\fi
+ \else
+ \ifx\@tempa\tmp@modern
+ \let\latin@variant\l@latin
+ \ifluatex\xpg@set@language@luatex@ii{latin}\fi
+ \xpg@info{Option: Modern Latin}%
+ \else
+ \def\latin@variant{\l@nohyphenation}%
+ \PackageWarning{polyglossia}{%
+ *******************\MessageBreak
+ No hyphenation set for \@tempa
+ *******************\MessageBreak
+ }{}%
+ \fi
+ \fi
\fi
\fi
}
\def\latin@language{\language=\latin@variant}%
+\ifluatex
+ \PackageWarning{polyglossia}{\MessageBreak\MessageBreak
+ *****************\MessageBreak
+ The ecclesiastic option is not active\MessageBreak
+ when typesetting with LuaLaTeX\MessageBreak
+ *****************\MessageBreak
+ \MessageBreak}{}
+ \else
+ \def\ecclesiasticlatin@punctuation{%
+ \def\xpg@unskip{\ifhmode\ifdim\lastskip>\z@\unskip\fi\fi}
+ \lccode\string"2019=\string"2019
+ \newXeTeXintercharclass\ecclesiasticlatin@punctthin
+ \newXeTeXintercharclass\ecclesiasticlatin@punctguillstart
+ \newXeTeXintercharclass\ecclesiasticlatin@punctguillend
+ \XeTeXinterchartokenstate=1
+ \XeTeXcharclass `\! \ecclesiasticlatin@punctthin
+ \XeTeXcharclass `\? \ecclesiasticlatin@punctthin
+ \XeTeXcharclass `\; \ecclesiasticlatin@punctthin
+ \XeTeXcharclass `\: \ecclesiasticlatin@punctthin
+ \XeTeXcharclass `\« \ecclesiasticlatin@punctguillstart
+ \XeTeXcharclass `\» \ecclesiasticlatin@punctguillend
+ \XeTeXinterchartoks \z@ \ecclesiasticlatin@punctthin = {\penalty\@M
+ \hskip.2\fontdimen2\font \@plus\z@\@minus\z@}%
+ \XeTeXinterchartoks 255 \ecclesiasticlatin@punctthin = {\xpg@unskip}
+ \XeTeXinterchartoks \ecclesiasticlatin@punctguillstart \z@ = {\penalty\@M
+ \hskip.2\fontdimen2\font \@plus\z@\@minus\z@\ignorespaces}
+ \XeTeXinterchartoks \z@ \ecclesiasticlatin@punctguillend = {\xpg@unskip
+ \penalty\@M\hskip.2\fontdimen2\font \@plus\z@\@minus\z@}
+ }
-\def\modernlatincaptions{%
- \def\prefacename{Praefatio}%
- \def\refname{Conspectus librorum}%
- \def\abstractname{Summarium}%
- \def\bibname{Conspectus librorum}%
- \def\chaptername{Caput}%
- \def\appendixname{Additamentum}%
- \def\contentsname{Index}%
- \def\listfigurename{Conspectus descriptionum}%
- \def\listtablename{Conspectus tabularum}%
- \def\indexname{Index rerum notabilium}%
- \def\figurename{Descriptio}%
- \def\tablename{Tabula}%
- \def\partname{Pars}%
- \def\enclname{Additur}%
- \def\ccname{Exemplar}%
- \def\headtoname{\ignorespaces}%
- \def\pagename{charta}%
- \def\seename{cfr.}%
- \def\alsoname{cfr.}%
- \def\proofname{Demonstratio}%
- \def\glossaryname{Glossarium}%
- }
-
-\def\medievallatincaptions{%
- \def\prefacename{Præfatio}%
+ \def\noecclesiasticlatin@punctuation{%
+ \lccode\string"2019=\z@
+ \XeTeXcharclass `\! \z@
+ \XeTeXcharclass `\? \z@
+ \XeTeXcharclass `\; \z@
+ \XeTeXcharclass `\: \z@
+ \XeTeXcharclass `\« \z@
+ \XeTeXcharclass `\» \z@
+ \XeTeXinterchartokenstate=0
+ }
+ \let\latin@original@makefntext\@makefntext
+ \newcommand\latin@ecclesiastic@makefntext[1]{%
+ \parindent 1em \noindent
+ \latin@Makefnmark{\enspace #1}}
+ \newcommand\latin@Makefnmark{\hbox{\normalfont\@thefnmark.}}
+\fi
+\setkeys{latin}{variant,ecclesiastic=false}
+\def\latincaptions{%
+ \def\prefacename{\ifmedieval Præfatio\else Praefatio\fi}%
\def\refname{Conspectus librorum}%
\def\abstractname{Summarium}%
\def\bibname{Conspectus librorum}%
@@ -5605,36 +6324,107 @@ hyphennames={latin},
\def\glossaryname{Glossarium}%
}
-\def\modernlatindate{%
+\def\latindate{%
\def\today{\uppercase\expandafter{\romannumeral\day}%
\space \ifcase\month%
- \or Januarii\or Februarii\or Martii\or Aprilis\or Maji\or Junii\or%
- Julii\or Augusti\or Septembris\or Octobris\or Novembris\or%
- Decembris\fi%
+ \or Januarii\or Februarii\or Martii\or Aprilis\or Maji\or
+ Junii\or Julii\or Augusti\or Septembris\or Octobris\or
+ \ifclassic Nouembris\else Novembris\fi
+ \or Decembris\fi%
\space \uppercase\expandafter{\romannumeral\year}}}
+%%%%%%%%% Latin shorthands
+
+\define@boolkey{latin}[latin@]{babelshorthands}[true]{}
+
+\ifsystem@babelshorthands
+ \setkeys{latin}{babelshorthands=true}
+\else
+ \setkeys{latin}{babelshorthands=false}
+\fi
+\ifcsundef{initiate@active@char}{%
+\input{babelsh.def}%
+\initiate@active@char{"}%
+\initiate@active@char{'}%
+}{}
+\def\latin@shorthands{%
+ \def\language@group{latin}%
+ \bbl@activate{"}%
+ \declare@shorthand{latin}{"}{\relax
+ \ifmmode
+ \def\xpgla@nextdq{''}%
+ \else
+ \def\xpgla@nextdq{\futurelet\xpgla@temp\xpgla@cwm}%
+ \fi
+ \xpgla@nextdq}%
+ \bbl@activate{'}%
+ \declare@shorthand{latin}{'}{\relax
+ \ifmmode
+ \def\xpgla@nextsq{'}%
+ \else
+ \def\xpgla@nextsq{\futurelet\xpgla@temp@A\xpgla@putacute}%
+ \fi
+ \xpgla@nextsq}%
+}
+\def\xpgla@allowhyphens{\bbl@allowhyphens
+ \discretionary{-}{}{}\bbl@allowhyphens}
+\newcommand*{\xpgla@cwm}{\let\xpgla@@nextdq\relax
+ \ifcat\noexpand\xpgla@temp a%
+ \let\xpgla@@nextdq\xpgla@allowhyphens
+ \else
+ \ifx\xpgla@temp\ae
+ \let\xpgla@@nextdq\xpgla@allowhyphens
+ \else
+ \ifx\xpgla@temp\oe
+ \let\xpgla@@nextdq\xpgla@allowhyphens
+ \else
+ \if\noexpand\xpgla@temp\string|%
+ \def\xpgla@@nextdq{\xpgla@allowhyphens\@gobble}%
+ \fi
+ \fi
+ \fi
+ \fi
+ \xpgla@@nextdq}%
+\def\xpgla@putacute#1{\let\xpgla@nextsq\relax%
+\if a\xpgla@temp@A
+ æ\kern-0.175em^^^^0301\kern0.175em\xpgla@allowhyphens
+\else
+\if o\xpgla@temp@A
+ œ\kern-0.175em^^^^0301\kern0.175em\xpgla@allowhyphens
+\else
+ \if æ\xpgla@temp@A
+ æ^^^^0301%
+ \else
+ \if œ\xpgla@temp@A
+ œ^^^^0301%
+ \else
+ \string'%
+ \fi
+ \fi
+\fi
+\fi}%
+
+\def\nolatin@shorthands{%
+ \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
+ \@ifundefined{initiate@active@char}{}{\bbl@deactivate{'}}%
+}
-\def\classiclatindate{%
- \def\today{\uppercase\expandafter{\romannumeral\day}%
- \space \ifcase\month
- \or Januarii\or Februarii\or Martii\or Aprilis\or Maii\or Junii\or
- Julii\or Augusti\or Septembris\or Octobris\or Nouembris\or
- Decembris\fi
- \space \uppercase\expandafter{\romannumeral\year}}}
-
\let\xpgla@savedvalues\empty
-\AtEndPreamble{% the user or the class might define different values
+\AtEndPreamble{%
\edef\xpgla@savedvalues{%
\clubpenalty=\the\clubpenalty\space
\@clubpenalty=\the\@clubpenalty\space
\widowpenalty=\the\widowpenalty\space
\finalhyphendemerits=\the\finalhyphendemerits}
}
-
-
\def\noextras@latin{%
\lccode\string"2019=\z@
\nolatin@shorthands
\xpgla@savedvalues
+ \noclassicuclccodes
+ \iflatin@ecclesiastic
+ \unless\ifluatex\noecclesiasticlatin@punctuation
+ \let\@makefntext\latin@original@makefntext\fi
+ \fi
}
\def\blockextras@latin{%
@@ -5642,13 +6432,42 @@ hyphennames={latin},
\clubpenalty=3000 \@clubpenalty=3000 \widowpenalty=3000
\finalhyphendemerits=50000000
\iflatin@babelshorthands\latin@shorthands\fi
+ \iflatin@ecclesiastic\unless\ifluatex\ecclesiasticlatin@punctuation
+ \let\@makefntext\latin@ecclesiastic@makefntext\fi
+ \fi
}
\def\inlineextras@latin{%
\lccode\string"2019=\string"2019
\iflatin@babelshorthands\latin@shorthands\fi
+ \iflatin@ecclesiastic
+ \unless\ifluatex\ecclesiasticlatin@punctuation
+ \let\@makefntext\latin@ecclesiastic@makefntext\fi
+ \fi
}
-
+%% Copyright (C) Claudio Beccari 2013-2016
+%% Copyright (C) Élie Roux 2016
+%%
+%% Permission is hereby granted, free of charge, to any person obtaining
+%% a copy of this software and associated documentation files
+%% (the "Software"), to deal in the Software without restriction, including
+%% without limitation the rights to use, copy, modify, merge, publish,
+%% distribute, sublicense, and/or sell copies of the Software, and to permit
+%% persons to whom the Software is furnished to do so, subject to the following
+%% conditions:
+%%
+%% The above copyright notice and this permission notice shall be included in
+%% all copies or substantial portions of the Software.
+%%
+%% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+%% THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+%% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+%% IN THE SOFTWARE.
+%%
+%% End of file `gloss-latin.ldf'.
% \end{macrocode}
% \iffalse
%</gloss-latin.ldf>
@@ -5707,13 +6526,12 @@ hyphennames={latin},
% \subsection{gloss-lithuanian.ldf}
% \begin{macrocode}
% Translated by Paulius Sladkevičius <komsas@gmail.com>
-% See also http://github.com/fc7/polyglossia/issues#issue/6
\ProvidesFile{gloss-lithuanian.ldf}[polyglossia: module for lithuanian]
\PolyglossiaSetup{lithuanian}{
hyphennames={lithuanian},
hyphenmins={2,2},
- fontsetup=true,
+ fontsetup=true
}
\def\captionslithuanian{%
@@ -5729,7 +6547,6 @@ hyphennames={latin},
\def\indexname{Rodyklė}%
\def\figurename{pav.}%
\def\tablename{lentelė}%
- %\def\thepart{}% Roman numerals are fine
\def\partname{Dalis}%
\def\pagename{puslapis}%
\def\seename{žiūrėk}%
@@ -5740,6 +6557,7 @@ hyphennames={latin},
\def\proofname{Įrodymas}%
\def\glossaryname{Terminų žodynas}%
}
+
\def\datelithuanian{%
\def\lithuanianmonth{\ifcase\month\or
sausio\or
@@ -5753,18 +6571,18 @@ hyphennames={latin},
rugsėjo\or
spalio\or
lapkričio\or
- gruodžio\fi}
+ gruodžio\fi}%
\def\today{\number\year~m.~\lithuanianmonth~\number\day~d.}%
}
\def\blockextras@lithuanian{%
\let\fnum@figure@orig\fnum@figure
- \let\fnum@table@orig\fnum@table
\def\fnum@figure{\thefigure\nobreakspace\figurename}%
+ \let\fnum@table@orig\fnum@table
\def\fnum@table{\thetable\nobreakspace\tablename}%
}
-\def\noblockextras@lithuanian{%
+\def\noextras@lithuanian{%
\let\fnum@figure\fnum@figure@orig
\let\fnum@table\fnum@table@orig
}
@@ -5772,6 +6590,200 @@ hyphennames={latin},
% \end{macrocode}
% \iffalse
%</gloss-lithuanian.ldf>
+%<*gloss-liturgicallatin.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-liturgicallatin.ldf}
+% \begin{macrocode}
+%%
+%% This is file `gloss-liturgicallatin.ldf',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% gloss-latin.dtx (with options: `laliturgic')
+%% ------------------------------------------------------------------
+%% Latin module for polyglossia
+%% Copyright (C) Claudio Beccari 2013-2016
+%% Copyright (C) Élie Roux 2016
+%% This work is distributed under the MIT License.
+%%
+%% See the postamble.
+%% ------------------------------------------------------------------
+\ProvidesFile{gloss-liturgiclatin.ldf}
+ [2016/09/10 v.1.03 Latin support from polyglossia]
+%%
+
+
+\PolyglossiaSetup{liturgicallatin}{%
+ hyphennames={liturgicallatin},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ fontsetup=true,
+}
+\def\liturgicallatincaptions{%
+ \def\prefacename{Præfatio}%
+ \def\refname{Conspectus librorum}%
+ \def\abstractname{Summarium}%
+ \def\bibname{Conspectus librorum}%
+ \def\chaptername{Caput}%
+ \def\appendixname{Additamentum}%
+ \def\contentsname{Index}%
+ \def\listfigurename{Conspectus descriptionum}%
+ \def\listtablename{Conspectus tabularum}%
+ \def\indexname{Index rerum notabilium}%
+ \def\figurename{Descriptio}%
+ \def\tablename{Tabula}%
+ \def\partname{Pars}%
+ \def\enclname{Additur}%
+ \def\ccname{Exemplar}%
+ \def\headtoname{\ignorespaces}%
+ \def\pagename{charta}%
+ \def\seename{cfr.}%
+ \def\alsoname{cfr.}%
+ \def\proofname{Demonstratio}%
+ \def\glossaryname{Glossarium}%
+ }
+
+\def\liturgicallatindate{%
+ \def\today{\uppercase\expandafter{\romannumeral\day}%
+ \space \ifcase\month%
+ \or Januarii\or Februarii\or Martii\or Aprilis\or Maji\or Junii\or%
+ Julii\or Augusti\or Septembris\or Octobris\or Novembris\or%
+ Decembris\fi%
+ \space \uppercase\expandafter{\romannumeral\year}}}
+
+\define@boolkey{liturgicallatin}[liturgicallatin@]{babelshorthands}[true]{}
+
+\ifsystem@babelshorthands
+ \setkeys{liturgicallatin}{babelshorthands=true}
+\else
+ \setkeys{liturgicallatin}{babelshorthands=false}
+\fi
+
+\ifcsundef{initiate@active@char}{%
+ \input{babelsh.def}%
+ \initiate@active@char{"}%
+ \initiate@active@char{'}%
+}{}
+
+\def\liturgicallatin@shorthands{%
+ \def\language@group{liturgicallatin}%
+ \bbl@activate{"}%
+ \declare@shorthand{liturgicallatin}{"}{\relax
+ \ifmmode
+ \def\xpglla@next{''}%
+ \else
+ \def\xpglla@nextdq{\futurelet\xpglla@temp\xpglla@cwm}%
+ \fi
+ \xpglla@nextdq}%
+ \bbl@activate{'}%
+ \declare@shorthand{liturgicallatin}{'}{\relax
+ \ifmmode
+ \def\xpglla@nextsq{'}%
+ \else
+ \def\xpglla@nextsq{\futurelet\temp@A\xpglla@putacute}%
+ \fi
+ \xpgla@nextsq}%
+}
+
+\def\xpglla@allowhyphens{\bbl@allowhyphens
+ \discretionary{-}{}{}\bbl@allowhyphens}
+
+\newcommand*{\xpglla@cwm}{\let\xpglla@@nextdq\relax
+ \ifcat\noexpand\xpglla@temp a%
+ \let\xpglla@@nextdq\xpglla@allowhyphens
+ \else
+ \ifx\xpglla@temp\ae
+ \let\xpglla@@nextdq\xpglla@allowhyphens
+ \else
+ \ifx\xpglla@temp\oe
+ \let\xpglla@@nextdq\xpglla@allowhyphens
+ \else
+ \if\noexpand\xpglla@temp\string|%
+ \def\xpglla@@nextdq{\xpglla@allowhyphens\@gobble}%
+ \fi
+ \fi
+ \fi
+ \fi
+ \xpglla@@nextdq}%
+
+\def\xpglla@putacute#1{\let\xpglla@nextsq\relax%
+\if a\xpglla@temp@A
+ æ\kern-0.175em^^^^0301\kern0.175em\xpglla@allowhyphens
+\else
+\if o\xpglla@temp@A
+ œ\kern-0.175em^^^^0301\kern0.175em\xpglla@allowhyphens
+\else
+ \if æ\xpglla@temp@A
+ æ^^^^0301%
+ \else
+ \if œ\xpglla@temp@A
+ œ^^^^0301%
+ \else
+ \string'%
+ \fi
+ \fi
+\fi
+\fi}%
+\def\noliturgicallatin@shorthands{%
+ \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
+ \@ifundefined{initiate@active@char}{}{\bbl@deactivate{'}}%
+}
+
+\let\xpglla@savedvalues\empty
+\AtEndPreamble{%
+ \edef\xpglla@savedvalues{%
+ \clubpenalty=\the\clubpenalty\space
+ \@clubpenalty=\the\@clubpenalty\space
+ \widowpenalty=\the\widowpenalty\space
+ \finalhyphendemerits=\the\finalhyphendemerits}%
+}
+
+\def\noextras@liturgicallatin{%
+ \lccode\string"2019=\z@
+ \noliturgicallatin@shorthands
+ \xpglla@savedvalues
+}
+
+\def\blockextras@liturgicallatin{%
+ \lccode\string"2019=\string"2019
+ \clubpenalty=3000 \@clubpenalty=3000 \widowpenalty=3000
+ \finalhyphendemerits=50000000
+ \ifliturgicallatin@babelshorthands\liturgicallatin@shorthands\fi
+}
+
+\def\inlineextras@liturgicallatin{%
+ \lccode\string"2019=\string"2019
+ \ifliturgicallatin@babelshorthands\liturgicallatin@shorthands\fi
+}
+%% Copyright (C) Claudio Beccari 2013-2016
+%% Copyright (C) Élie Roux 2016
+%%
+%% Permission is hereby granted, free of charge, to any person obtaining
+%% a copy of this software and associated documentation files
+%% (the "Software"), to deal in the Software without restriction, including
+%% without limitation the rights to use, copy, modify, merge, publish,
+%% distribute, sublicense, and/or sell copies of the Software, and to permit
+%% persons to whom the Software is furnished to do so, subject to the following
+%% conditions:
+%%
+%% The above copyright notice and this permission notice shall be included in
+%% all copies or substantial portions of the Software.
+%%
+%% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+%% THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+%% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+%% IN THE SOFTWARE.
+%%
+%% End of file `gloss-liturgicallatin.ldf'.
+% \end{macrocode}
+% \iffalse
+%</gloss-liturgicallatin.ldf>
%<*gloss-lsorbian.ldf>
% \fi
% \clearpage
@@ -5838,6 +6850,16 @@ hyphennames={latin},
fontsetup=true,
}
+\frenchspacing
+
+% change 'táblázat x.x' to 'x.x. táblázat'
+\newcommand{\@magyar@fnum@table}{\thetable.~\tablename}
+\let\fnum@table\@magyar@fnum@table
+
+% change 'ábra x.x' to 'x.x. ábra'
+\newcommand{\@magyar@fnum@figure}{\thefigure.~\figurename}
+\let\fnum@figure\@magyar@fnum@figure
+
\def\captionsmagyar{%
\def\refname{Hivatkozások}%
\def\abstractname{Kivonat}%
@@ -5979,7 +7001,7 @@ and may look very wrong.}
\RequirePackage{devanagaridigits}
\PolyglossiaSetup{marathi}{
- script=Devaganari,
+ script=Devanagari,
scripttag=deva,
langtag=MAR,
hyphennames={marathi},
@@ -6900,9 +7922,18 @@ and may look very wrong.}
% The following is based on some ideas from ruscor.sty
\def\russian@capsformat{%
- \def\@seccntformat##1{\csname pre##1\endcsname%
- \csname the##1\endcsname%
- \csname post##1\endcsname}%
+ \ifdef{\KOMAScript}{%
+ \renewcommand{\chapterformat}{\prechapter\thechapter\postchapter}%
+ \renewcommand{\sectionformat}{\presection\thesection\postsection}%
+ \renewcommand{\subsectionformat}{\presubsection\thesubsection\postsubsection}%
+ \renewcommand{\subsubsectionformat}{\presubsubsection\thesubsubsection\postsubsubsection}%
+ \renewcommand{\paragraphformat}{\preparagraph\theparagraph\postparagraph}%
+ \renewcommand{\subparagraphformat}{\presubparagraph\thesubparagraph\postsubparagraph}%
+ }{%
+ \def\@seccntformat##1{\csname pre##1\endcsname%
+ \csname the##1\endcsname%
+ \csname post##1\endcsname}%
+ }%
\def\@aftersepkern{\hspace{0.5em}}%
\def\postchapter{.\@aftersepkern}%
\def\postsection{.\@aftersepkern}%
@@ -6945,7 +7976,16 @@ and may look very wrong.}
}
\def\noextras@russian{%
- \def\@seccntformat##1{\csname the##1\endcsname\quad}% = LaTeX kernel
+ \ifdef{\KOMAScript}{%
+ \renewcommand{\chapterformat}{\thechapter\autodot\enskip}%
+ \renewcommand{\sectionformat}{\thesection\autodot\enskip}%
+ \renewcommand{\subsectionformat}{\thesubsection\autodot\enskip}%
+ \renewcommand{\subsubsectionformat}{\thesubsubsection\autodot\enskip}%
+ \renewcommand{\paragraphformat}{\theparagraph\autodot\enskip}%
+ \renewcommand{\subparagraphformat}{\thesubparagraph\autodot\enskip}%
+ }{%
+ \def\@seccntformat##1{\csname the##1\endcsname\quad}% = LaTeX kernel
+ }%
\ifcyrillic@numerals\norussian@numbers\fi
\norussian@shorthands%
}
@@ -7085,6 +8125,11 @@ and may look very wrong.}
\def\fontsetup@sanskrit@Telugu{%
\def\xpg@scripttag@sanskrit{telu}%
\xpg@fontsetup@nonlatin{sanskrit}}
+%% DW
+\def\fontsetup@sanskrit@Latin{%
+ \def\xpg@scripttag@sanskrit{latn}%
+ \xpg@fontsetup@latin{sanskrit}}
+%% DW
\setkeys{sanskrit}{Script} %sets the default for Devanagari
@@ -8361,6 +9406,70 @@ and may look very wrong.}
%TODO localalph
}
+\newif\ifcyrillic@numerals
+\define@key{ukrainian}{numerals}[latin]{%
+\ifstrequal{#1}{cyrillic}%
+{\cyrillic@numeralstrue}
+{\cyrillic@numeralsfalse}%
+}
+
+\define@boolkey{ukrainian}[ukrainian@]{babelshorthands}[false]{}
+
+\setkeys{ukrainian}{numerals}
+
+\ifsystem@babelshorthands
+\setkeys{ukrainian}{babelshorthands=true}
+\else
+\setkeys{ukrainian}{babelshorthands=false}
+\fi
+
+\ifcsundef{initiate@active@char}{%
+\input{babelsh.def}%
+\initiate@active@char{"}%
+}{}
+
+\def\ukrainian@shorthands{%
+\bbl@activate{"}%
+\def\language@group{ukrainian}%
+% \declare@shorthand{ukrainian}{"`}{„}%
+% \declare@shorthand{ukrainian}{"'}{“}%
+% \declare@shorthand{ukrainian}{"<}{«}%
+% \declare@shorthand{ukrainian}{">}{»}%
+\declare@shorthand{ukrainian}{""}{\hskip\z@skip}%
+\declare@shorthand{ukrainian}{"~}{\textormath{\leavevmode\hbox{-}}{-}}%
+\declare@shorthand{ukrainian}{"=}{\nobreak-\hskip\z@skip}%
+\declare@shorthand{ukrainian}{"|}{\textormath{\nobreak\discretionary{-}{}{\kern.03em}\allowhyphens}{}}%
+\declare@shorthand{ukrainian}{"-}{%
+\def\ukrainian@sh@tmp{%
+\if\ukrainian@sh@next-\expandafter\ukrainian@sh@emdash
+\else\expandafter\ukrainian@sh@hyphen\fi
+}%
+\futurelet\ukrainian@sh@next\ukrainian@sh@tmp}%
+\def\ukrainian@sh@hyphen{%
+\nobreak\-\bbl@allowhyphens}%
+\def\ukrainian@sh@emdash##1##2{\cdash-##1##2}%
+\def\cdash##1##2##3{\def\tempx@{##3}%
+\def\tempa@{-}\def\tempb@{~}\def\tempc@{*}%
+\ifx\tempx@\tempa@\@Acdash\else
+\ifx\tempx@\tempb@\@Bcdash\else
+\ifx\tempx@\tempc@\@Ccdash\else
+\errmessage{Wrong usage of cdash}\fi\fi\fi}%
+\def\@Acdash{\ifdim\lastskip>\z@\unskip\nobreak\hskip.2em\fi
+\cyrdash\hskip.2em\ignorespaces}%
+\def\@Bcdash{\leavevmode\ifdim\lastskip>\z@\unskip\fi
+\nobreak\cyrdash\penalty\exhyphenpenalty\hskip\z@skip\ignorespaces}%
+\def\@Ccdash{\leavevmode
+\nobreak\cyrdash\nobreak\hskip.35em\ignorespaces}%
+\ifx\cyrdash\undefined
+\def\cyrdash{\hbox to.8em{--\hss--}}
+\fi
+\declare@shorthand{ukrainian}{",}{\nobreak\hskip.2em\ignorespaces}%
+}
+
+\def\noukrainian@shorthands{%
+\@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
+}
+
\def\captionsukrainian{%
\def\refname{Література}%
\def\abstractname{Анотація}%
@@ -8402,6 +9511,25 @@ and may look very wrong.}
грудня\fi%
\space\number\year~р.}}
+% The following is based on some ideas from ruscor.sty
+\def\ukrainian@capsformat{%
+\def\@seccntformat##1{\csname pre##1\endcsname%
+\csname the##1\endcsname%
+\csname post##1\endcsname}%
+\def\@aftersepkern{\hspace{0.5em}}%
+\def\postchapter{.\@aftersepkern}%
+\def\postsection{.\@aftersepkern}%
+\def\postsubsection{.\@aftersepkern}%
+\def\postsubsubsection{.\@aftersepkern}%
+\def\postparagraph{.\@aftersepkern}%
+\def\postsubparagraph{.\@aftersepkern}%
+\def\prechapter{}%
+\def\presection{}%
+\def\presubsection{}%
+\def\presubsubsection{}%
+\def\preparagraph{}%
+\def\presubparagraph{}}
+
\def\Asbuk#1{\expandafter\ukrainian@Alph\csname c@#1\endcsname}
\def\ukrainian@Alph#1{\ifcase#1\or
А\or Б\or В\or Г\or Д\or Е\or Є\or Ж\or
@@ -8427,6 +9555,44 @@ and may look very wrong.}
\let\@alph\latin@alph%
}
+\def\noextras@ukrainian{%
+\def\@seccntformat##1{\csname the##1\endcsname\quad}% = LaTeX kernel
+\ifcyrillic@numerals\noukrainian@numbers\fi
+\noukrainian@shorthands%
+}
+
+\def\blockextras@ukrainian{%
+\ukrainian@capsformat%
+\ifcyrillic@numerals\ukrainian@numbers\fi
+\ifukrainian@babelshorthands\ukrainian@shorthands\fi
+}
+
+\def\inlineextras@ukrainian{%
+\ifukrainian@babelshorthands\ukrainian@shorthands\fi%
+}
+
+%%% stuff from Babel
+% make it optional?
+\def\sh{\mathop{\operator@font sh}\nolimits}
+\def\ch{\mathop{\operator@font ch}\nolimits}
+\def\tg{\mathop{\operator@font tg}\nolimits}
+\def\arctg{\mathop{\operator@font arctg}\nolimits}
+\def\arcctg{\mathop{\operator@font arcctg}\nolimits}
+\def\ctg{\mathop{\operator@font ctg}\nolimits}
+\def\cth{\mathop{\operator@font cth}\nolimits}
+\def\cosec{\mathop{\operator@font cosec}\nolimits}
+\def\Prob{\mathop{\kern\z@\mathsf{P}}\nolimits}
+\def\Variance{\mathop{\kern\z@\mathsf{D}}\nolimits}
+\def\nsd{\mathop{\mathrm{н.с.д.}}\nolimits}
+\def\nsk{\mathop{\mathrm{н.с.к.}}\nolimits}
+\def\NSD{\mathop{\mathrm{НСД}}\nolimits}
+\def\NSK{\mathop{\mathrm{НСК}}\nolimits}
+\def\nod{\mathop{\mathrm{н.о.д.}}\nolimits}
+\def\nok{\mathop{\mathrm{н.о.к.}}\nolimits}
+\def\NOD{\mathop{\mathrm{НОД}}\nolimits}
+\def\NOK{\mathop{\mathrm{НОК}}\nolimits}
+\def\Proj{\mathop{\mathrm{пр}}\nolimits}
+
% \end{macrocode}
% \iffalse
%</gloss-ukrainian.ldf>
@@ -8663,10 +9829,10 @@ and may look very wrong.}
\def\appendixname{Phụ lục}%
\def\contentsname{Mục lục}%
\def\listfigurename{Danh sách hình vẽ}%
- \def\listtablename{Danh sách bẳng}%
+ \def\listtablename{Danh sách bảng}%
\def\indexname{Chỉ mục}%
\def\figurename{Hình}%
- \def\tablename{Bẳng}%
+ \def\tablename{Bảng}%
\def\partname{Phần}%
\def\pagename{Trang}%
\def\seename{Xem}%
@@ -9238,8 +10404,9 @@ require('luatex-hyphen')
local luatexhyphen = luatexhyphen
local byte = unicode.utf8.byte
+local module_name = "polyglossia"
local polyglossia_module = {
- name = "polyglossia",
+ name = module_name,
version = 1.3,
date = "2013/05/11",
description = "Polyglossia",
@@ -9248,8 +10415,14 @@ local polyglossia_module = {
license = "CC0"
}
-local error, warning, info, log =
- luatexbase.provides_module(polyglossia_module)
+luatexbase.provides_module(polyglossia_module)
+
+local log_info = function(message)
+ luatexbase.module_info(module_name, message)
+end
+local log_warning = function(message)
+ luatexbase.module_warning(module_name, message)
+end
polyglossia = polyglossia or {}
local polyglossia = polyglossia
@@ -9338,7 +10511,7 @@ end
local function newloader(langentry)
loaded_language = polyglossia.newloader_loaded_languages[langentry]
if loaded_language then
- texio.write_nl('term and log', 'Language ' .. langentry .. ' already loaded; id is ' .. lang.id(loaded_language))
+ log_info('Language ' .. langentry .. ' already loaded; id is ' .. lang.id(loaded_language))
-- texio.write_nl('term and log', 'Language ' .. langentry .. ' already loaded with patterns ' .. tostring(loaded_language) .. '; id is ' .. lang.id(loaded_language))
-- texio.write_nl('term and log', 'Language ' .. langentry .. ' already loaded with patterns ' .. loaded_language['patterns'] .. '; id is ' .. lang.id(loaded_language))
return lang.id(loaded_language)
@@ -9347,15 +10520,16 @@ local function newloader(langentry)
if langdata and langdata['special'] == 'language0' then return 0 end
if langdata then
- print("Language data for " .. langentry)
+ local s = "Language data for " .. langentry
for k, v in pairs(langdata) do
- print(k, tostring(v))
+ s = s .. "\n" .. k .. "\t" .. tostring(v)
end
polyglossia.newloader_max_langid = polyglossia.newloader_max_langid + 1
-- langobject = lang.new(newloader_max_langid)
lang.new(); lang.new(); lang.new()
langobject = lang.new()
- texio.write_nl('term and log', langdata.patterns)
+ s = s .. "\npatterns: " .. langdata.patterns
+ log_info(s)
if langdata.patterns and langdata.patterns ~= '' then
pattfilepath = kpse.find_file(langdata.patterns)
if pattfilepath then
@@ -9374,10 +10548,10 @@ local function newloader(langentry)
end
polyglossia.newloader_loaded_languages[langentry] = langobject
- texio.write_nl('term and log', 'Language ' .. langentry .. ' was not yet loaded; created with id ' .. lang.id(langobject))
+ log_info('Language ' .. langentry .. ' was not yet loaded; created with id ' .. lang.id(langobject))
return lang.id(langobject)
else
- texio.write_nl('term and log', 'Language ' .. langentry .. ' not found in language.dat.lua')
+ log_warning('Language ' .. langentry .. ' not found in language.dat.lua')
return 255
end
end
@@ -9407,7 +10581,7 @@ polyglossia.newloader = newloader
¦----------------------------------------------¦
¦ ¦
- ¦ THE POLYGLOSSIA PACKAGE v1.42.4 ¦
+ ¦ THE POLYGLOSSIA PACKAGE v1.43 ¦
¦ ¦
¦ Modern multilingual typesetting ¦
¦ with XeLaTeX and LuaLaTeX ¦
@@ -9416,7 +10590,7 @@ polyglossia.newloader = newloader
This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX
(with a few languages incompletely supported for the latter). This version
-includes support for 76 different languages.
+includes support for 77 different languages.
Polyglossia makes it possible to automate the following tasks:
@@ -9438,7 +10612,7 @@ Polyglossia makes it possible to automate the following tasks:
LICENSE
-Copyright (c) 2008-2010 François Charette, 2013 Élie Roux, 2011-2016 Arthur Reutenauer
+Copyright (c) 2008-2010 François Charette, 2013 Élie Roux, 2011-2018 Arthur Reutenauer
Polyglossia is placed under the terms of the LaTeX Project Public Licence
(LPPL), either version 1.3, or, at your option, any later version. See
@@ -9449,12 +10623,17 @@ This work has the LPPL maintenance status ‘maintained’. The current maintai
BUGS
-Polyglossia has no bug, of course.
-
-Hum, sorry, wishful thinking. Please report any bugs, problems or requests on:
+Polyglossia is full of bugs. If you run into one, or suspect you do, or you
+have a request or comment, please use the GitHub issue tracker:
http://github.com/reutenauer/polyglossia/issues
+
+This is more efficient than contacting me by email as it allows me to track the
+issues and follow progress.
%</../README>
%<*Changelog>
+1.42.5 (13-04-2017)
+ * Many changes to the French language file, by Maïeul Rouquette
+
1.42.4 (February, March 2016)
* Remedial actions for the Babel changes
@@ -9738,6 +10917,8 @@ http://github.com/reutenauer/polyglossia/issues
\documentclass[a4paper]{article}
\usepackage[no-math]{fontspec}
\usepackage{xltxtra,url}
+\let\XeTeX\undefined
+\let\XeLaTeX\undefined
\usepackage{polyglossia}
\usepackage{trace}
\setdefaultlanguage{french}
@@ -9889,6 +11070,8 @@ Quamquam sermone nativo fungi desinit, cumque nostris diebus perpauci Latine loq
\newfontfamily\arabicfont[Script=Arabic]{Amiri}%
\newfontfamily\arabicfonttt[Script=Arabic,Scale=.75]{DejaVu Sans Mono}
\newfontfamily\farsifont[Script=Arabic,Scale=1.1,WordSpace=2]{IranNastaliq}
+\let\XeTeX\undefined
+\let\XeLaTeX\undefined
\usepackage[quiet,nolocalmarks]{polyglossia}
\setdefaultlanguage[calendar=gregorian,hijricorrection=1,locale=mashriq]{arabic}
\setotherlanguage[variant=british]{english}