summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-07-17 23:23:18 +0000
committerKarl Berry <karl@freefriends.org>2010-07-17 23:23:18 +0000
commit306b4622046e852e3a6d1a44b180adc65d5b2bdf (patch)
tree5629332acdda731ff35d5d94593e737b0f95cc20
parent59346cd52c590f5aea686f78841e398040656feb (diff)
polyglossia update (17jul10)
git-svn-id: svn://tug.org/texlive/trunk@19504 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/xelatex/polyglossia/README39
-rw-r--r--Master/texmf-dist/doc/xelatex/polyglossia/example-arabic.pdfbin83185 -> 80720 bytes
-rw-r--r--Master/texmf-dist/doc/xelatex/polyglossia/example-arabic.tex13
-rw-r--r--Master/texmf-dist/doc/xelatex/polyglossia/example-thai.pdfbin19253 -> 18978 bytes
-rw-r--r--Master/texmf-dist/doc/xelatex/polyglossia/examples.pdfbin168134 -> 159613 bytes
-rw-r--r--Master/texmf-dist/doc/xelatex/polyglossia/examples.tex3
-rw-r--r--Master/texmf-dist/doc/xelatex/polyglossia/gloss-template.ldf95
-rw-r--r--Master/texmf-dist/doc/xelatex/polyglossia/polyglossia.pdfbin202019 -> 172254 bytes
-rw-r--r--Master/texmf-dist/doc/xelatex/polyglossia/polyglossia.tex169
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/polyglossia/bengalidigits.map16
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/polyglossia/bengalidigits.tecbin0 -> 186 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/polyglossia/devanagaridigits.map16
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/polyglossia/devanagaridigits.tecbin0 -> 185 bytes
-rw-r--r--Master/texmf-dist/source/xelatex/polyglossia/polyglossia.dtx5437
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/devanagaridigits.sty13
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-albanian.ldf22
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-amharic.ldf45
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-arabic.ldf124
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-armenian.ldf53
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-asturian.ldf35
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-bahasai.ldf38
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-bahasam.ldf64
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-basque.ldf16
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-bengali.ldf78
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-brazil.ldf21
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-breton.ldf25
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-bulgarian.ldf55
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-catalan.ldf20
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-coptic.ldf39
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-croatian.ldf18
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-czech.ldf28
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-danish.ldf29
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-divehi.ldf42
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-dutch.ldf25
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-english.ldf158
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-esperanto.ldf20
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-estonian.ldf28
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-farsi.ldf76
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-finnish.ldf32
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-french.ldf21
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-galician.ldf16
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-german.ldf74
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-greek.ldf433
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-hebrew.ldf67
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-hindi.ldf107
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-icelandic.ldf18
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-interlingua.ldf16
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-irish.ldf15
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-italian.ldf25
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-lao.ldf91
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-latin.ldf28
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-latvian.ldf15
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-lithuanian.ldf111
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-lsorbian.ldf22
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-magyar.ldf472
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-malayalam.ldf54
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-marathi.ldf79
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-norsk.ldf29
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-nynorsk.ldf29
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-occitan.ldf58
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-polish.ldf42
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-portuges.ldf76
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-romanian.ldf21
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-russian.ldf180
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-samin.ldf20
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-sanskrit.ldf156
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-scottish.ldf15
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-serbian.ldf92
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-slovak.ldf19
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-slovenian.ldf21
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-spanish.ldf78
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-swedish.ldf77
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-syriac.ldf39
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-tamil.ldf54
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-telugu.ldf57
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-thai.ldf61
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-turkish.ldf35
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-turkmen.ldf43
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-ukrainian.ldf54
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-urdu.ldf165
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-usorbian.ldf29
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-vietnamese.ldf84
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-welsh.ldf74
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/hijrical.sty11
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/polyglossia.sty703
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/test-polyglossia-setup.aux37
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/test-polyglossia-setup.log268
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/test-polyglossia-setup.pdfbin64706 -> 0 bytes
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/test-polyglossia-setup.tex58
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/xgreek-fixes.def308
90 files changed, 5558 insertions, 5991 deletions
diff --git a/Master/texmf-dist/doc/xelatex/polyglossia/README b/Master/texmf-dist/doc/xelatex/polyglossia/README
index e00455f313e..9b88159808c 100644
--- a/Master/texmf-dist/doc/xelatex/polyglossia/README
+++ b/Master/texmf-dist/doc/xelatex/polyglossia/README
@@ -1,14 +1,14 @@
¦----------------------------------------------¦
¦ ¦
- ¦ THE POLYGLOSSIA PACKAGE v1.1.1 ¦
+ ¦ THE POLYGLOSSIA PACKAGE v1.2.0 ¦
¦ ¦
¦ Modern multilingual typesetting with XeLaTeX ¦
¦ ¦
¦----------------------------------------------¦
This package for provides a complete Babel replacement for users of XeLaTeX.
-This version includes support for 57 different languages.
+This version includes support for 68 different languages.
Polyglossia makes it possible to automate the following tasks:
@@ -51,7 +51,38 @@ http://github.com/fc7/polyglossia/issues
CHANGES
-1.1.1
+1.2.0 (15-07-2010)
+ * Adapted for fontspec 2.0 (will not work with earlier versions!)
+ * New implementation of a \PolyglossiaSetup interface
+ that simplifies writing gloss-*.ldf files
+ * Many internal enhancements and refactoring
+ (including a patch by Dirk Ulrich)
+ * Improved automatic font setup when \<lang>font is not defined
+ * New environment otherlanguage* (env. equivalent of \foreignlanguage
+ (Enrico Gregorio)
+ * Bugfix to prevent bogus expansion of \{rm,sf,tt}family even in aux files
+ (Enrico Gregorio)
+ * New gloss files for Armenian, Bengali, Occitan, Bengali, Lao,
+ Malayalam, Marathi, Tamil, Telugu, and Turkmen.
+ * New auxiliary packages 'devanagaridigits' and 'bengalidigits'
+ * hijrical no longer loads bidi and checks for incompatible l3calc
+ * Add Babel shorthands for Russian (based on a patch by Vladimir Lomov)
+ * Fix \fnum@{table,figure} for Lithuanian
+ * Various improvements in gloss-russian (provided by Vladimir Lomov and
+ others)
+ * Corrected captions for Bahasai, Lithuanian, Russian, Croatian
+ * Add option indentfirst=true for Spanish, Croation and other languages
+ (NB: indentfirst was previously named frenchindent)
+ * New option 'script' for German: Setting script=fraktur modifies the
+ captions for typesetting in Fraktur.
+ * New command \aemph for Arabic, Farsi, Urdu, etc. to mark emphasis through
+ overlining.
+ * Package option 'nolocalmarks' is now true by default: to activate it the
+ option 'localmarks' must be passed instead.
+ * Loading languages à la Babel as package options is no longer possible (this
+ feature was deprecated since v1.1.0).
+
+1.1.1 (23-03-2010)
* Bugfix for French: explicit spaces before/after double punctuation
signs ("Par exemple : les grands « espaces » du Canada ! ") are
now replaced by the appropriate non-breaking spaces, as in Babel.
@@ -132,6 +163,6 @@ CHANGES
------------------------------
- François Charette, Dec 2009
+ François Charette, July 2010
<firmicus ατ gmx δοτ net>
------------------------------
diff --git a/Master/texmf-dist/doc/xelatex/polyglossia/example-arabic.pdf b/Master/texmf-dist/doc/xelatex/polyglossia/example-arabic.pdf
index 0098c169c98..0b656e0fdcb 100644
--- a/Master/texmf-dist/doc/xelatex/polyglossia/example-arabic.pdf
+++ b/Master/texmf-dist/doc/xelatex/polyglossia/example-arabic.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/xelatex/polyglossia/example-arabic.tex b/Master/texmf-dist/doc/xelatex/polyglossia/example-arabic.tex
index e4afddb406a..b685956d09f 100644
--- a/Master/texmf-dist/doc/xelatex/polyglossia/example-arabic.tex
+++ b/Master/texmf-dist/doc/xelatex/polyglossia/example-arabic.tex
@@ -6,13 +6,11 @@
\newfontfamily\arabicfont[Script=Arabic,Scale=1.3]{Scheherazade}%
\newfontfamily\arabicfonttt[Script=Arabic,Scale=.75]{DejaVu Sans Mono}
\newfontfamily\farsifont[Script=Arabic,Scale=1.1,WordSpace=2]{IranNastaliq}
-\usepackage[quiet]{polyglossia}
+\usepackage[quiet,nolocalmarks]{polyglossia}
\setdefaultlanguage[calendar=gregorian,hijricorrection=1,locale=mashriq]{arabic}
\setotherlanguage[variant=british]{english}
\setotherlanguage{farsi}
\parindent 0pt
-\makeatletter
-\makeatother
\title{اختبار دعم اللغة العربية}
\author{فرانسوا شاريت}
\begin{document}
@@ -23,7 +21,6 @@
\pagenumbering{arabic}
\section{لغات مختلفة}
-
\textbf{العربية}\footnote{%
من «\LR{\textenglish{\url{http://ar.wikipedia.org/wiki/}}\RL{\ttfamily لغة عربية}}»}
أكبر لغات المجموعة السامية من حيث عدد المتحدثين، وإحدى أكثر اللغات انتشارا في
@@ -66,10 +63,12 @@ and in many international organisations.
\section{أعمال تأريخية \textenglish{(Calendar operations)}}
-
-\textenglish[variant=us]{\today} = \LR{\today} = \today\ = \Hijritoday%\footnote{
+%\textenglish{\today} = \LTR{\today} =
+\setfootnoteLR
+\today\ = \Hijritoday%\footnote{
% محسوب بـ \textenglish{\textsf{hijrical.sty}}}
-\footnote{ What is this?}
+\LTRfootnote{ What is this?}
+\setfootnoteRL
%\newpage
\subsection{فلان}
diff --git a/Master/texmf-dist/doc/xelatex/polyglossia/example-thai.pdf b/Master/texmf-dist/doc/xelatex/polyglossia/example-thai.pdf
index d05bf0117dd..cfa6447f0bd 100644
--- a/Master/texmf-dist/doc/xelatex/polyglossia/example-thai.pdf
+++ b/Master/texmf-dist/doc/xelatex/polyglossia/example-thai.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/xelatex/polyglossia/examples.pdf b/Master/texmf-dist/doc/xelatex/polyglossia/examples.pdf
index 97bc468c848..25b442369cf 100644
--- a/Master/texmf-dist/doc/xelatex/polyglossia/examples.pdf
+++ b/Master/texmf-dist/doc/xelatex/polyglossia/examples.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/xelatex/polyglossia/examples.tex b/Master/texmf-dist/doc/xelatex/polyglossia/examples.tex
index 68402264e74..b423123144a 100644
--- a/Master/texmf-dist/doc/xelatex/polyglossia/examples.tex
+++ b/Master/texmf-dist/doc/xelatex/polyglossia/examples.tex
@@ -2,6 +2,7 @@
\usepackage[no-math]{fontspec}
\usepackage{xltxtra,url}
\usepackage{polyglossia}
+\usepackage{trace}
\setdefaultlanguage{french}
\setotherlanguage[variant=british,ordinalmonthday=false]{english}
\setotherlanguage[variant=poly]{greek}
@@ -18,7 +19,7 @@
\newfontfamily\hebrewfont[Script=Hebrew]{David CLM}
\newfontfamily\sanskritfont[Script=Devanagari]{Sanskrit 2003}
\newfontfamily\thaifont[Script=Thai]{Norasi}%{Arial Unicode MS}
-\newfontfamily\thaanafont[Script=Thaana,WordSpace=2]{TITUS Cyberbit Basic}
+\newfontfamily\thaanafont[Script=Thaana,WordSpace=2]{TITUS Cyberbit Basic}%this font does not have OT script tags, but it still seems to work
\newfontfamily\ethiopicfont[Script=Ethiopic]{Abyssinica SIL}
\parskip 1.33\baselineskip
%\newcommand\showhyphmin{\fbox{\the\lefthyphenmin\ \the\righthyphenmin}}
diff --git a/Master/texmf-dist/doc/xelatex/polyglossia/gloss-template.ldf b/Master/texmf-dist/doc/xelatex/polyglossia/gloss-template.ldf
deleted file mode 100644
index 0923c7f7bda..00000000000
--- a/Master/texmf-dist/doc/xelatex/polyglossia/gloss-template.ldf
+++ /dev/null
@@ -1,95 +0,0 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% IMPORTANT: The format of gloss-*.ldf files will become much simpler in v1.2.
-% If you want to write new support files for polyglossia, you are urged to
-% contact the author. The present template will very soon be deprecated!
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesFile{gloss-<lang>.ldf}[polyglossia: module for <lang>]
-\makeatletter
-
-\ifx\l@<lang>\@undefined%
- \xpg@nopatterns{<Lang>}%
- \adddialect\l@<lang>0%
-\fi
-
-\def\captions<lang>{%
- \def\refname{\text<lang>{<++>}}%
- \def\abstractname{\text<lang>{<++>}}%
- \def\bibname{\text<lang>{<++>}}%
- \def\prefacename{\text<lang>{<++>}}%
- \def\chaptername{\text<lang>{<++>}}%
- \def\appendixname{\text<lang>{<++>}}%
- \def\contentsname{\text<lang>{<++>}}%
- \def\listfigurename{\text<lang>{<++>}}%
- \def\listtablename{\text<lang>{<++>}}%
- \def\indexname{\text<lang>{<++>}}%
- \def\figurename{\text<lang>{<++>}}%
- \def\tablename{\text<lang>{<++>}}%
- \def\thepart{\text<lang>{}}%
- \def\partname{\text<lang>{<++>}}%
- \def\pagename{\text<lang>{<++>}}%
- \def\seename{\text<lang>{<++>}}%
- \def\alsoname{\text<lang>{<++>}}%
- \def\enclname{\text<lang>{<++>}}%
- \def\ccname{\text<lang>{<++>}}%
- \def\headtoname{\text<lang>{<++>}}%
- \def\proofname{\text<lang>{<++>}}%
- \def\glossaryname{\text<lang>{<++>}}%
- }
-\def\date<lang>{%
- \def\today{\text<lang>{<++>}}%
- }
-
-%\def\<lang>@font{\normalfontlatin} % <== if the script is Latin
-% else:
-\def\<lang>@font{%
-\font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
-\@ifundefined{<lang>font}{%
- \@ifundefined{<script>font}{%
- \zf@check@ot@script{<xxxx>}%xxx
- \if@tempswa%
- \addfontfeature{Script=<Script>}%
- \else%
- \PackageError{polyglossia}{^^J
- The current font does not contain the <Script> script!^^J
- Please define \string\<script>font\space or \string\<lang>font\space with \string\newfontfamily}%
- \fi%
- \zf@check@ot@lang{<XXX>}%xxx
- \if@tempswa\addfontfeature{Language=<Lang>}\fi%
- }%
- {\<script>font%
- \zf@check@ot@lang{<XXX>}%xxx
- \if@tempswa\addfontfeature{Language=<Lang>}\fi%
- }}%
- {\<lang>font}%
-}
-% If script and lang are identical (e.g. Greek, Arabic, Syriac, …), then use this:
-%\def\<lang>@font{%
-% \@ifundefined{<lang>font}{%
-% \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
-% \zf@check@ot@script{<xxx>}%
-% \if@tempswa%
-% \addfontfeature{Script=<Lang>}%
-% \else%
-% \PackageError{polyglossia}{The current font does not contain the <Lang> script!^^J
-% Please define \string\<lang>font\space with \string\newfontfamily}%
-% \fi%
-% }%
-% {\<lang>font}}
-
-\def\selectnormalfont<lang>{%
- \let\normalfont=\<lang>@font%
- \def\reset@font{\normalfont}}
-
-\def\<lang>@language{\protect\language=\l@<lang>}
-
-\setlocalhyphenmins{<lang>}{2}{2}%
-
-\def\noextras@<lang>{%
- }
-
-\def\blockextras@<lang>{%
- }
-
-\def\inlineextras@<lang>{%
- }
-
diff --git a/Master/texmf-dist/doc/xelatex/polyglossia/polyglossia.pdf b/Master/texmf-dist/doc/xelatex/polyglossia/polyglossia.pdf
index 2bc3f918d4f..fd964d03b07 100644
--- a/Master/texmf-dist/doc/xelatex/polyglossia/polyglossia.pdf
+++ b/Master/texmf-dist/doc/xelatex/polyglossia/polyglossia.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/xelatex/polyglossia/polyglossia.tex b/Master/texmf-dist/doc/xelatex/polyglossia/polyglossia.tex
index 6ac51291006..432a791680b 100644
--- a/Master/texmf-dist/doc/xelatex/polyglossia/polyglossia.tex
+++ b/Master/texmf-dist/doc/xelatex/polyglossia/polyglossia.tex
@@ -22,7 +22,7 @@
pdfkeywords={xetex, xelatex, multilingual, babel, hyphenation}
]{hyperref}
\usepackage[babelshorthands]{polyglossia}
-\usepackage{farsical}
+%\usepackage{farsical} <<< needs to be disabled otherwise we have too many counters!
\setmainlanguage[variant=uk]{english}
\setotherlanguages{arabic,hebrew,syriac,greek,russian,catalan}
\newcommand*\Cmd[1]{\cmd{#1}\DescribeMacro{#1}\xspace}
@@ -167,14 +167,17 @@ Language-specific options can be set or changed at any time by means of
\subsection{The “Babel way”}
-As with \Babel, \pkg{polyglossia} also allows you to load language definition files
-as package options. In most cases, option \texttt{⟨lang⟩} will load the file
-\file{gloss-⟨lang⟩.ldf}. Note however that the \textit{first} language listed in \\
-\centerline{\cmd{\usepackage[lang1,lang2,…]{polyglossia}}}
-will be the default language for the document, which
-is the opposite convention of \Babel.
-Note also that this method may not work in some cases, and should be
-considered deprecated.
+\new{v1.2.0}
+{\color{red}\bfseries Warning}: \pkg{polyglossia} no longer supports loading
+language definition files as package options!
+%As with \Babel, \pkg{polyglossia} also allows you to load language definition files
+%as package options. In most cases, option \texttt{⟨lang⟩} will load the file
+%\file{gloss-⟨lang⟩.ldf}. Note however that the \textit{first} language listed in \\
+%\centerline{\cmd{\usepackage[lang1,lang2,…]{polyglossia}}}
+%will be the default language for the document, which
+%is the opposite convention of \Babel.
+%Note also that this method may not work in some cases, and should be
+%considered deprecated.
\subsection{Supported languages}
@@ -187,11 +190,13 @@ that are explained in section \ref{specific} below.
%albanian
%amharic
%\TX{arabic}
+%armenian
%asturian
%bahasai
%bahasam
%basque
-%brazil
+%\TX{bengali}
+%brazil[ian]
%breton
%bulgarian
%\TX{catalan}
@@ -211,18 +216,22 @@ that are explained in section \ref{specific} below.
%\TX{german}
%\TX{greek}
%\TX{hebrew}
-%hindi
+%\TX{hindi}
%icelandic
%interlingua
%irish
%italian
+%\TX{lao}
%latin
%latvian
%lithuanian
%\TX{lsorbian}
%\TX{magyar}
+%malayalam
+%marathi
%norsk
%nynorsk
+%occitan
%polish
%portuges
%romanian
@@ -236,27 +245,33 @@ that are explained in section \ref{specific} below.
%spanish
%swedish
%\TX{syriac}
+%tamil
+%telugu
%\TX{thai}
%turkish
+%turkmen
%ukrainian
%urdu
%\TX{usorbian}
+%vietnamese
%welsh
-%%%%% the following table was automatically generated with "maketabular.pl 5 < above_input"
+%%%%% private note: the following table was automatically generated with "maketabular.pl 5 < above_input"
\begin{tabular}{lllll}
\hline
-albanian & croatian & \TX{german} & \TX{magyar} & slovenian \\
-amharic & czech & \TX{greek} & norsk & spanish \\
-\TX{arabic} & danish & \TX{hebrew} & nynorsk & swedish \\
-asturian & divehi & hindi & polish & \TX{syriac} \\
-bahasai & \TX{dutch} & icelandic & portuges & \TX{thai} \\
-bahasam & \TX{english} & interlingua & romanian & turkish \\
-basque & \TX{esperanto} & irish & \TX{russian} & ukrainian \\
-brazil & estonian & italian & samin & urdu \\
-breton & \TX{farsi} & latin & sanskrit & \TX{usorbian} \\
-bulgarian & finnish & latvian & scottish & welsh \\
-\TX{catalan} & french & lithuanian & \TX{serbian} & \\
-coptic & galician & \TX{lsorbian} & slovak & \\
+albanian & croatian & \TX{hebrew} & norsk & swedish \\
+amharic & czech & \TX{hindi} & nynorsk & \TX{syriac} \\
+\TX{arabic} & danish & icelandic & occitan & tamil \\
+armenian & divehi & interlingua & polish & telugu \\
+asturian & \TX{dutch} & irish & portuges & \TX{thai} \\
+bahasai & \TX{english} & italian & romanian & turkish \\
+bahasam & \TX{esperanto} & \TX{lao} & \TX{russian} & turkmen \\
+basque & estonian & latin & samin & ukrainian \\
+\TX{bengali} & \TX{farsi} & latvian & sanskrit & urdu \\
+brazil[ian] & finnish & lithuanian & scottish & \TX{usorbian} \\
+breton & french & \TX{lsorbian} & \TX{serbian} & vietnamese \\
+bulgarian & galician & \TX{magyar} & slovak & welsh \\
+\TX{catalan} & \TX{german} & malayalam & slovenian & \\
+coptic & \TX{greek} & marathi & spanish & \\
\hline
\end{tabular}
\caption{Languages currently supported in \pkg{polyglossia}}
@@ -264,36 +279,25 @@ coptic & galician & \TX{lsorbian} & slovak & \\
\textit{NB:} The support for Amharic\new{v1.0.1} should be considered an experimental attempt to
port the package \pkg{ethiop}.\footnote{ Feedback is welcome.}
-The language definition files for Asturian\footnote{ %
- Provided by Kevin Godby and Xuacu Saturio.}, Lithuanian\footnote{ %
- Provided by Kevin Godby and Paulius Sladkevičius.},
-and Urdu\footnote{ %
- Provided by Kamal Abdali.}
-are new in version 1.1.1\new{v1.1.1}.
+Version 1.1.1\new{v1.1.1} addded support for Asturian, %\footnote{ Provided by Kevin Godby and Xuacu Saturio.},
+Lithuanian, %\footnote{ Provided by Kevin Godby and Paulius Sladkevičius.},
+and Urdu. %\footnote{ Provided by Kamal Abdali.}
+%
+Version 1.2\new{v1.2.0} adds support for Armenian, Occitan, Bengali,
+Lao, Malayalam, Marathi, Tamil, Telugu, and Turkmen.\footnote{ %
+ See acknowledgements at the end for due credit to the various contributors.}
-Some package options are convenient shortcuts for loading languages with
-specific options:
-\begin{itemize}
-\item american = english with option ‘variant=american’
-\item USenglish = english with option ‘variant=american’
-\item UKenglish = english with option ‘variant=british’
-\item british = english with option ‘variant=british’
-\item australian = english with option ‘variant=australian’
-\item newzealand = english with option ‘variant=newzealand’
-\item ogerman = german with option ‘spelling=old’
-\item monogreek = greek with option ‘variant=monotonic’ (or ‘mono’)
-\item polygreek = greek with option ‘variant=polytonic’ (or ‘poly’)
-\item ancientgreek = greek with option ‘variant=ancient’
-\end{itemize}
Polyglossia can also be loaded with the option ‘babelshorthands’\new{v1.1.1}, which
globally activates \Babel shorthands whenever available. Currently shorthands are
only implemented for German and Catalan: see below for details.
-Another option (turned off by default) is ‘nolocalmarks’, which
-prevents the redefinition of the internal \LaTeX\ macros
-\cmd\markboth\ and \cmd\markright.
+Another option (turned off by default) is ‘localmarks’, which
+redefines the internal \LaTeX\ macros \cmd\markboth\ and \cmd\markright.
+\new{v1.2.0}Note that this was formerly turned on by default, but ẃe
+now realize that it causes more problems than otherwise. For backwards-compatibility
+the opposite option ‘nolocalmarks’ is still available.
There is also the option ‘quiet’ which turns off most info messages and some of the warnings
issued by \LaTeX, \pkg{fontspec} and \pkg{polyglossia}.
@@ -389,6 +393,9 @@ For instance, if the default roman font defined by \cmd\setromanfont\
does not support Greek, then one can define the font used to display Greek with:\\
\centerline{ \cmd\newfontfamily\cmd{\greekfont[⟨options⟩]\{⟨font⟩\}}. }
See the \pkg{fontspec} documentation for more information.
+If a specific sans or monospace fonts is needed for a particular script or language,
+it can be specified by means of \new{v1.2.0}
+¦\⟨script⟩fontsf¦\ or ¦\⟨language⟩fontsf¦ and ¦\⟨script⟩fonttt¦\ or ¦\⟨language⟩fonttt¦, respectively.
Whenever a new language is activated, \pkg{polyglossia} will first check whether
a font has been defined for that language or – for languages in non-Latin scripts –
@@ -424,6 +431,15 @@ The default value of each option is given in italic.
\textbf{Commands}:
\begin{itemize}
\item \Cmd\abjad and \Cmd\abjadmaghribi (see section \ref{abjad})
+ \item \Cmd\aemph to emphasize Arabic text with ¦\overline¦:\new{v1.2.0}
+ ¦\textarabic{مثال: \aemph{اب}}¦ yields \textarabic{مثال: \aemph{اب}}.
+ This command is also available for Farsi, Urdu, etc.
+ \end{itemize}
+
+\subsection{bengali}\label{bengali}\new{v1.2.0}
+\textbf{Options}:
+ \begin{itemize}
+ \item \TB{numerals} = Western or \textit{Devanagari}
\end{itemize}
\subsection{catalan}\label{catalan}
@@ -479,16 +495,17 @@ The default value of each option is given in italic.
\textbf{Commands}:
\begin{itemize}
\item \Cmd\abjad (see section \ref{abjad})
+ \item \Cmd\aemph (see section \ref{arabic}).
\end{itemize}
%\subsection{french}\label{french}
%\textbf{Options}:
% \begin{itemize}
-% \item \TB{espacedeuxpoints} = thick or half \new{v1.2}
+% \item \TB{espacedeuxpoints} = thick or half \new{v1.2.x} ???
% \footnote{ %
% Can be customized by redefining \french@colonspace }
% \end{itemize}
-%
+%
\subsection{german}\label{german}
\textbf{Options}:
@@ -522,6 +539,8 @@ The default value of each option is given in italic.
\item ¦"<¦ for French left double quotes («)
\item ¦">¦ for French right double quotes (»).
\end{itemize}
+ \item\TB{script} = \textit{latin} or fraktur.\new{v1.2.0}
+ Setting script=fraktur modifies the captions for typesetting German in Fraktur.
\end{itemize}
\subsection{greek}\label{greek}
@@ -550,8 +569,20 @@ The default value of each option is given in italic.
\textbf{Commands}:
\begin{itemize}
\item \Cmd\hebrewnumeral\ (= \Cmd\hebrewalph) (see section \ref{abjad}).
+ \item \Cmd\aemph (see section \ref{arabic}).
\end{itemize}
+\subsection{hindi}\label{hindi}\new{v1.2.0}
+\textbf{Options}:
+ \begin{itemize}
+ \item \TB{numerals} = Western or \textit{Devanagari}
+ \end{itemize}
+
+\subsection{lao}\label{lao}\new{v1.2.0}
+\textbf{Options}:
+ \begin{itemize}
+ \item \TB{numerals} = lao or \textit{arabic}
+ \end{itemize}
\subsection{lsorbian and usorbian}\label{lsorbian}\label{usorbian}
\textbf{Commands}:
@@ -576,10 +607,11 @@ The default value of each option is given in italic.
\subsection{sanskrit}\label{sanskrit}
\textbf{Options}:
\begin{itemize}
- \item \TB{Script} (default = Devanagari). \new{1.0.2}
+ \item \TB{Script} (default = Devanagari). \new{v1.0.2}
The value is passed to \pkg{fontspec} in cases where ¦\sanskritfont¦ or
¦\devanagarifont¦ are not defined. This can be useful if you typeset
Sanskrit texts in scripts other than Devanagari.
+ %TODO \item Numerals <<<<
\end{itemize}
\subsection{serbian}\label{serbian}
@@ -598,6 +630,7 @@ The default value of each option is given in italic.
\textbf{Commands}:
\begin{itemize}
\item \Cmd\abjadsyriac (see section \ref{abjad})
+ \item \Cmd\aemph (see section \ref{arabic}).
\end{itemize}
\subsection{thai}\label{thai}
@@ -617,7 +650,7 @@ To redefine internal macros, you can use the command ¦\gappto¦ from the packag
with the same effect. For instance, to change the ¦\chaptername¦ for language ¦lingua¦,
you can do this:
\begin{verbatim}
-\gappto\linguacaptions{\renewcommand{\chaptername}{Caput}}
+\gappto\captionslingua{\renewcommand{\chaptername}{Caput}}
\end{verbatim}
\section{Non-Western decimal digits}
@@ -638,7 +671,7 @@ simple \TeX\ macros. This prevents some problems that occur when the value of a
counter has to be written and read from auxiliary files.\footnote{ %
For instance the package \pkg{lastpage} did not work with \pkg{polyglossia} in situations
where the display of counters was redefined to include a font-switching command.}
-These macros (currently \Cmd\arabicdigits, \Cmd\farsidigits\ and \Cmd\thaidigits\ are provided)
+These macros (currently \Cmd\arabicdigits, \Cmd\farsidigits\ and \Cmd\thaidigits\ are provided)
are also available to the users. For instance in an Arabic environment
¦\arabicdigits{9182/738543-X}¦ yields
\textarabic{\arabicdigits{9182/738543-X}}.
@@ -662,9 +695,9 @@ of the \textit{abjad} numerals are obtained with the \Cmd\abjadmaghribi\ command
Example: ¦\abjadmaghribi{1863}¦ yields {\arabicfont\abjadmaghribi{1863}}.
The code for Hebrew numerals, which was incorrect in previous versions, was
-ported from the implementation in \Babel with v1.1.1\new{v1.1.1}, and the
+ported from the implementation in \Babel with v1.1.1\new{v1.1.1}, and the
user interface is identical to the one in \Babel.
-The commands \Cmd\hebrewnumeral, \Cmd\Hebrewnumeral and \Cmd\Hebrewnumeralfinal\ behave exactly
+The commands \Cmd\hebrewnumeral, \Cmd\Hebrewnumeral and \Cmd\Hebrewnumeralfinal\ behave exactly
as they do in \Babel: the second command prints the number with \textit{gereshayim} before
the last letter, and the latter uses in addition the final forms of Hebrew letters.
Examples:
@@ -697,12 +730,12 @@ It provides two macros for the end-user.
The command
\displaycmd{\HijriFromGregorian\{⟨year⟩\}\{⟨month⟩\}\{⟨day⟩\}}{\HijriFromGregorian}
sets the counters ¦Hijriday¦, ¦Hijrimonth¦ and ¦Hijriyear¦.
-\Cmd\Hijritoday\ formats the Hijri date for the current day.
-This command is now locale-aware\new{v1.1.1}: its output will differ depending on the
-currently active language. Presently \pkg{polyglossia}’s language definition files
-for Arabic, Farsi, Urdu, Turkish, Bahasa Indonesia and Bahasa Melayu
+\Cmd\Hijritoday\ formats the Hijri date for the current day.
+This command is now locale-aware\new{v1.1.1}: its output will differ depending on the
+currently active language. Presently \pkg{polyglossia}’s language definition files
+for Arabic, Farsi, Urdu, Turkish, Bahasa Indonesia and Bahasa Melayu
provide a localized version of ¦\Hijritoday¦.
-If the formatting macro for the current language is undefined, the Hijri date will be formatted
+If the formatting macro for the current language is undefined, the Hijri date will be formatted
in Arabic or in roman transliteration, depending of the current writing direction.
You can define a new format or redefine one with the command
\displaycmd{\DefineHijriDateFormat\{<lang>\}\{<code>\}}{\DefineHijriDateFormat}.
@@ -724,7 +757,7 @@ itself a slight modification of ¦ftoday.sty¦ in Farsi\TeX.\footnote{ %
One day I may rewrite \pkg{farsical} from scratch using the algorithm in
Reingold \& Gershowitz (ref.~n.~\ref{reingold}).}
Here we have renamed the command \cmd\ftoday\ to
-\Cmd\Jalalitoday. Example: today is \Jalalitoday.
+\Cmd\Jalalitoday. %Example: today is \Jalalitoday.
%\section{Varia}
@@ -737,18 +770,22 @@ whose splendid work has made my task almost trivial in comparision: Johannes
Braams and the numerous contributors to the \Babel{} package (in particular
Boris Lavva and others for its Hebrew support), Alexej Kryukov (\pkg{antomega}), Will
Robertson (\pkg{fontspec}), Apostolos Syropoulos (\pkg{xgreek}), Youssef Jabri
-(\pkg{arabi}), and Vafa Khalighi (\pkg{xepersian} and \pkg{bidi}). I should also thank other
+(\pkg{arabi}), and Vafa Khalighi (\pkg{xepersian} and \pkg{bidi}).
+The work of Mojca Miklavec and Arthur Reutenauer on hyphenation patterns with their package
+\pkg{hyph-utf8} is of course invaluable. I should also thank other
individuals for their assistance in supporting specific languages: Yves Codet
(Sanskrit), Zdenek Wagner (Hindi), Mikhal Oren (Hebrew), Sergey Astanin (Russian),
Khaled Hosny (Arabic), Sertaç Ö. Yıldız (Turkish), Kamal Abdali (Urdu),
and several other members of the \XeTeX\ user community, notably Enrico Gregorio, who
has sent me many useful suggestions and corrections and contributed the ¦\newXeTeXintercharclass¦
-mechanism in xelatex.ini which is now used by polyglossia.
-More recently, Kevin Godby of the \href{http://ubuntu-manual.org}{Ubuntu Manual} project has
+mechanism in xelatex.ini which is now used by polyglossia.
+More recently, Kevin Godby of the \href{http://ubuntu-manual.org}{Ubuntu Manual} project has
contributed very useful feedback, bug hunting and, with the help of translators,
-new language definition files for Asturian and Lithuanian. It is particularly heartening to
-realize that this package is used to typeset a document in dozens of different languages!
-I also thank Alan Munn for kindly proof-reading the documentation.
+new language definition files for Asturian, Lithuanian, Occitan, Bengali, Malayalam, Marathi, Tamil, and Telugu.
+It is particularly heartening to realize that this package is used to typeset a widely-read
+document in dozens of different languages!
+Support for Lao was also added thanks to Brian Wilson.
+I also thank Alan Munn for kindly proof-reading the penultimate version of this documentation.
And of course my gratitude also goes to Jonathan Kew, the formidable author of \XeTeX!
\end{document}
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/polyglossia/bengalidigits.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/polyglossia/bengalidigits.map
new file mode 100644
index 00000000000..39e49c2d411
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/polyglossia/bengalidigits.map
@@ -0,0 +1,16 @@
+; FC ...
+LHSName "Digits"
+RHSName "BengaliDigits"
+
+pass(Unicode)
+U+0030 <> U+09E6 ;
+U+0031 <> U+09E7 ;
+U+0032 <> U+09E8 ;
+U+0033 <> U+09E9 ;
+U+0034 <> U+09EA ;
+U+0035 <> U+09EB ;
+U+0036 <> U+09EC ;
+U+0037 <> U+09ED ;
+U+0038 <> U+09EE ;
+U+0039 <> U+09EF ;
+
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/polyglossia/bengalidigits.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/polyglossia/bengalidigits.tec
new file mode 100644
index 00000000000..e88e08a3644
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/polyglossia/bengalidigits.tec
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/polyglossia/devanagaridigits.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/polyglossia/devanagaridigits.map
new file mode 100644
index 00000000000..208eadb9ab1
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/polyglossia/devanagaridigits.map
@@ -0,0 +1,16 @@
+; FC ...
+LHSName "Digits"
+RHSName "DevanagariDigits"
+
+pass(Unicode)
+U+0030 <> U+0966 ;
+U+0031 <> U+0967 ;
+U+0032 <> U+0968 ;
+U+0033 <> U+0969 ;
+U+0034 <> U+096A ;
+U+0035 <> U+096B ;
+U+0036 <> U+096C ;
+U+0037 <> U+096D ;
+U+0038 <> U+096E ;
+U+0039 <> U+096F ;
+
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/polyglossia/devanagaridigits.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/polyglossia/devanagaridigits.tec
new file mode 100644
index 00000000000..46a4351220e
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/polyglossia/devanagaridigits.tec
Binary files differ
diff --git a/Master/texmf-dist/source/xelatex/polyglossia/polyglossia.dtx b/Master/texmf-dist/source/xelatex/polyglossia/polyglossia.dtx
index 2f6fa85dc0e..a3e46d92c25 100644
--- a/Master/texmf-dist/source/xelatex/polyglossia/polyglossia.dtx
+++ b/Master/texmf-dist/source/xelatex/polyglossia/polyglossia.dtx
@@ -2,7 +2,7 @@
% polyglossia.dtx generated using mkpolyglossiadtx.pl
% (derived from makedtx.pl version 0.94b (c) Nicola Talbot)
%
-% Created on 2010/3/23 15:48
+% Created on 2010/7/15 22:28
%<*internal>
\iffalse
%</internal>
@@ -10,14 +10,14 @@
¦----------------------------------------------¦
¦ ¦
- ¦ THE POLYGLOSSIA PACKAGE v1.1.1 ¦
+ ¦ THE POLYGLOSSIA PACKAGE v1.2.0 ¦
¦ ¦
¦ Modern multilingual typesetting with XeLaTeX ¦
¦ ¦
¦----------------------------------------------¦
This package for provides a complete Babel replacement for users of XeLaTeX.
-This version includes support for 57 different languages.
+This version includes support for 68 different languages.
Polyglossia makes it possible to automate the following tasks:
@@ -60,7 +60,38 @@ http://github.com/fc7/polyglossia/issues
CHANGES
-1.1.1
+1.2.0 (15-07-2010)
+ * Adapted for fontspec 2.0 (will not work with earlier versions!)
+ * New implementation of a \PolyglossiaSetup interface
+ that simplifies writing gloss-*.ldf files
+ * Many internal enhancements and refactoring
+ (including a patch by Dirk Ulrich)
+ * Improved automatic font setup when \<lang>font is not defined
+ * New environment otherlanguage* (env. equivalent of \foreignlanguage
+ (Enrico Gregorio)
+ * Bugfix to prevent bogus expansion of \{rm,sf,tt}family even in aux files
+ (Enrico Gregorio)
+ * New gloss files for Armenian, Bengali, Occitan, Bengali, Lao,
+ Malayalam, Marathi, Tamil, Telugu, and Turkmen.
+ * New auxiliary packages 'devanagaridigits' and 'bengalidigits'
+ * hijrical no longer loads bidi and checks for incompatible l3calc
+ * Add Babel shorthands for Russian (based on a patch by Vladimir Lomov)
+ * Fix \fnum@{table,figure} for Lithuanian
+ * Various improvements in gloss-russian (provided by Vladimir Lomov and
+ others)
+ * Corrected captions for Bahasai, Lithuanian, Russian, Croatian
+ * Add option indentfirst=true for Spanish, Croation and other languages
+ (NB: indentfirst was previously named frenchindent)
+ * New option 'script' for German: Setting script=fraktur modifies the
+ captions for typesetting in Fraktur.
+ * New command \aemph for Arabic, Farsi, Urdu, etc. to mark emphasis through
+ overlining.
+ * Package option 'nolocalmarks' is now true by default: to activate it the
+ option 'localmarks' must be passed instead.
+ * Loading languages à la Babel as package options is no longer possible (this
+ feature was deprecated since v1.1.0).
+
+1.1.1 (23-03-2010)
* Bugfix for French: explicit spaces before/after double punctuation
signs ("Par exemple : les grands « espaces » du Canada ! ") are
now replaced by the appropriate non-breaking spaces, as in Babel.
@@ -141,7 +172,7 @@ CHANGES
------------------------------
- François Charette, Dec 2009
+ François Charette, July 2010
<firmicus ατ gmx δοτ net>
------------------------------
%</README>
@@ -190,13 +221,16 @@ CHANGES
\generate{\file{babel-hebrewalph.def}{\from{polyglossia.dtx}{babel-hebrewalph.def}}}
\generate{\file{babelsh.def}{\from{polyglossia.dtx}{babelsh.def}}}
\generate{\file{cal-util.def}{\from{polyglossia.dtx}{cal-util.def}}}
+\generate{\file{xgreek-fixes.def}{\from{polyglossia.dtx}{xgreek-fixes.def}}}
\generate{\file{gloss-albanian.ldf}{\from{polyglossia.dtx}{gloss-albanian.ldf}}}
\generate{\file{gloss-amharic.ldf}{\from{polyglossia.dtx}{gloss-amharic.ldf}}}
\generate{\file{gloss-arabic.ldf}{\from{polyglossia.dtx}{gloss-arabic.ldf}}}
+\generate{\file{gloss-armenian.ldf}{\from{polyglossia.dtx}{gloss-armenian.ldf}}}
\generate{\file{gloss-asturian.ldf}{\from{polyglossia.dtx}{gloss-asturian.ldf}}}
\generate{\file{gloss-bahasai.ldf}{\from{polyglossia.dtx}{gloss-bahasai.ldf}}}
\generate{\file{gloss-bahasam.ldf}{\from{polyglossia.dtx}{gloss-bahasam.ldf}}}
\generate{\file{gloss-basque.ldf}{\from{polyglossia.dtx}{gloss-basque.ldf}}}
+\generate{\file{gloss-bengali.ldf}{\from{polyglossia.dtx}{gloss-bengali.ldf}}}
\generate{\file{gloss-brazil.ldf}{\from{polyglossia.dtx}{gloss-brazil.ldf}}}
\generate{\file{gloss-breton.ldf}{\from{polyglossia.dtx}{gloss-breton.ldf}}}
\generate{\file{gloss-bulgarian.ldf}{\from{polyglossia.dtx}{gloss-bulgarian.ldf}}}
@@ -222,13 +256,17 @@ CHANGES
\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-lao.ldf}{\from{polyglossia.dtx}{gloss-lao.ldf}}}
\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-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}}}
+\generate{\file{gloss-marathi.ldf}{\from{polyglossia.dtx}{gloss-marathi.ldf}}}
\generate{\file{gloss-norsk.ldf}{\from{polyglossia.dtx}{gloss-norsk.ldf}}}
\generate{\file{gloss-nynorsk.ldf}{\from{polyglossia.dtx}{gloss-nynorsk.ldf}}}
+\generate{\file{gloss-occitan.ldf}{\from{polyglossia.dtx}{gloss-occitan.ldf}}}
\generate{\file{gloss-polish.ldf}{\from{polyglossia.dtx}{gloss-polish.ldf}}}
\generate{\file{gloss-portuges.ldf}{\from{polyglossia.dtx}{gloss-portuges.ldf}}}
\generate{\file{gloss-romanian.ldf}{\from{polyglossia.dtx}{gloss-romanian.ldf}}}
@@ -242,14 +280,19 @@ CHANGES
\generate{\file{gloss-spanish.ldf}{\from{polyglossia.dtx}{gloss-spanish.ldf}}}
\generate{\file{gloss-swedish.ldf}{\from{polyglossia.dtx}{gloss-swedish.ldf}}}
\generate{\file{gloss-syriac.ldf}{\from{polyglossia.dtx}{gloss-syriac.ldf}}}
+\generate{\file{gloss-tamil.ldf}{\from{polyglossia.dtx}{gloss-tamil.ldf}}}
+\generate{\file{gloss-telugu.ldf}{\from{polyglossia.dtx}{gloss-telugu.ldf}}}
\generate{\file{gloss-thai.ldf}{\from{polyglossia.dtx}{gloss-thai.ldf}}}
\generate{\file{gloss-turkish.ldf}{\from{polyglossia.dtx}{gloss-turkish.ldf}}}
+\generate{\file{gloss-turkmen.ldf}{\from{polyglossia.dtx}{gloss-turkmen.ldf}}}
\generate{\file{gloss-ukrainian.ldf}{\from{polyglossia.dtx}{gloss-ukrainian.ldf}}}
\generate{\file{gloss-urdu.ldf}{\from{polyglossia.dtx}{gloss-urdu.ldf}}}
\generate{\file{gloss-usorbian.ldf}{\from{polyglossia.dtx}{gloss-usorbian.ldf}}}
\generate{\file{gloss-vietnamese.ldf}{\from{polyglossia.dtx}{gloss-vietnamese.ldf}}}
\generate{\file{gloss-welsh.ldf}{\from{polyglossia.dtx}{gloss-welsh.ldf}}}
\generate{\file{arabicdigits.map}{\from{polyglossia.dtx}{arabicdigits.map}}}
+\generate{\file{bengalidigits.map}{\from{polyglossia.dtx}{bengalidigits.map}}}
+\generate{\file{devanagaridigits.map}{\from{polyglossia.dtx}{devanagaridigits.map}}}
\generate{\file{farsidigits.map}{\from{polyglossia.dtx}{farsidigits.map}}}
\generate{\file{thaidigits.map}{\from{polyglossia.dtx}{thaidigits.map}}}
%</batchfile>
@@ -258,7 +301,6 @@ CHANGES
\generate{\file{polyglossia.ins}{\from{polyglossia.dtx}{batchfile}}}
\nopreamble\nopostamble
\generate{\file{README}{\from{polyglossia.dtx}{README}}}
-\generate{\file{gloss-template.ldf}{\from{polyglossia.dtx}{gloss-template.ldf}}}
\generate{\file{examples.tex}{\from{polyglossia.dtx}{examples.tex}}}
\generate{\file{example-arabic.tex}{\from{polyglossia.dtx}{example-arabic.tex}}}
\generate{\file{example-thai.tex}{\from{polyglossia.dtx}{example-thai.tex}}}
@@ -290,7 +332,7 @@ CHANGES
pdfkeywords={xetex, xelatex, multilingual, babel, hyphenation}
]{hyperref}
\usepackage[babelshorthands]{polyglossia}
-\usepackage{farsical}
+%\usepackage{farsical} <<< needs to be disabled otherwise we have too many counters!
\setmainlanguage[variant=uk]{english}
\setotherlanguages{arabic,hebrew,syriac,greek,russian,catalan}
\newcommand*\Cmd[1]{\cmd{#1}\DescribeMacro{#1}\xspace}
@@ -446,14 +488,17 @@ CHANGES
%
%
% \subsection{The “Babel way”}
-% As with \Babel, \pkg{polyglossia} also allows you to load language definition files
-% as package options. In most cases, option \texttt{⟨lang⟩} will load the file
-% \file{gloss-⟨lang⟩.ldf}. Note however that the \textit{first} language listed in \\
-% \centerline{\cmd{\usepackage[lang1,lang2,…]{polyglossia}}}
-% will be the default language for the document, which
-% is the opposite convention of \Babel.
-% Note also that this method may not work in some cases, and should be
-% considered deprecated.
+% \new{v1.2.0}
+% {\color{red}\bfseries Warning}: \pkg{polyglossia} no longer supports loading
+% language definition files as package options!
+% ^^AAs with \Babel, \pkg{polyglossia} also allows you to load language definition files
+% ^^Aas package options. In most cases, option \texttt{⟨lang⟩} will load the file
+% ^^A\file{gloss-⟨lang⟩.ldf}. Note however that the \textit{first} language listed in \\
+% ^^A\centerline{\cmd{\usepackage[lang1,lang2,…]{polyglossia}}}
+% ^^Awill be the default language for the document, which
+% ^^Ais the opposite convention of \Babel.
+% ^^ANote also that this method may not work in some cases, and should be
+% ^^Aconsidered deprecated.
%
% \subsection{Supported languages}
%
@@ -466,11 +511,13 @@ CHANGES
% ^^Aalbanian
% ^^Aamharic
% ^^A\TX{arabic}
+% ^^Aarmenian
% ^^Aasturian
% ^^Abahasai
% ^^Abahasam
% ^^Abasque
-% ^^Abrazil
+% ^^A\TX{bengali}
+% ^^Abrazil[ian]
% ^^Abreton
% ^^Abulgarian
% ^^A\TX{catalan}
@@ -490,18 +537,22 @@ CHANGES
% ^^A\TX{german}
% ^^A\TX{greek}
% ^^A\TX{hebrew}
-% ^^Ahindi
+% ^^A\TX{hindi}
% ^^Aicelandic
% ^^Ainterlingua
% ^^Airish
% ^^Aitalian
+% ^^A\TX{lao}
% ^^Alatin
% ^^Alatvian
% ^^Alithuanian
% ^^A\TX{lsorbian}
% ^^A\TX{magyar}
+% ^^Amalayalam
+% ^^Amarathi
% ^^Anorsk
% ^^Anynorsk
+% ^^Aoccitan
% ^^Apolish
% ^^Aportuges
% ^^Aromanian
@@ -515,27 +566,33 @@ CHANGES
% ^^Aspanish
% ^^Aswedish
% ^^A\TX{syriac}
+% ^^Atamil
+% ^^Atelugu
% ^^A\TX{thai}
% ^^Aturkish
+% ^^Aturkmen
% ^^Aukrainian
% ^^Aurdu
% ^^A\TX{usorbian}
+% ^^Avietnamese
% ^^Awelsh
-% ^^A the following table was automatically generated with "maketabular.pl 5 < above_input"
+% ^^A private note: the following table was automatically generated with "maketabular.pl 5 < above_input"
% \begin{tabular}{lllll}
% \hline
-% albanian & croatian & \TX{german} & \TX{magyar} & slovenian \\
-% amharic & czech & \TX{greek} & norsk & spanish \\
-% \TX{arabic} & danish & \TX{hebrew} & nynorsk & swedish \\
-% asturian & divehi & hindi & polish & \TX{syriac} \\
-% bahasai & \TX{dutch} & icelandic & portuges & \TX{thai} \\
-% bahasam & \TX{english} & interlingua & romanian & turkish \\
-% basque & \TX{esperanto} & irish & \TX{russian} & ukrainian \\
-% brazil & estonian & italian & samin & urdu \\
-% breton & \TX{farsi} & latin & sanskrit & \TX{usorbian} \\
-% bulgarian & finnish & latvian & scottish & welsh \\
-% \TX{catalan} & french & lithuanian & \TX{serbian} & \\
-% coptic & galician & \TX{lsorbian} & slovak & \\
+% albanian & croatian & \TX{hebrew} & norsk & swedish \\
+% amharic & czech & \TX{hindi} & nynorsk & \TX{syriac} \\
+% \TX{arabic} & danish & icelandic & occitan & tamil \\
+% armenian & divehi & interlingua & polish & telugu \\
+% asturian & \TX{dutch} & irish & portuges & \TX{thai} \\
+% bahasai & \TX{english} & italian & romanian & turkish \\
+% bahasam & \TX{esperanto} & \TX{lao} & \TX{russian} & turkmen \\
+% basque & estonian & latin & samin & ukrainian \\
+% \TX{bengali} & \TX{farsi} & latvian & sanskrit & urdu \\
+% brazil[ian] & finnish & lithuanian & scottish & \TX{usorbian} \\
+% breton & french & \TX{lsorbian} & \TX{serbian} & vietnamese \\
+% bulgarian & galician & \TX{magyar} & slovak & welsh \\
+% \TX{catalan} & \TX{german} & malayalam & slovenian & \\
+% coptic & \TX{greek} & marathi & spanish & \\
% \hline
% \end{tabular}
% \caption{Languages currently supported in \pkg{polyglossia}}
@@ -543,36 +600,25 @@ CHANGES
%
% \textit{NB:} The support for Amharic\new{v1.0.1} should be considered an experimental attempt to
% port the package \pkg{ethiop}.\footnote{ Feedback is welcome.}
-% The language definition files for Asturian\footnote{ %
-% Provided by Kevin Godby and Xuacu Saturio.}, Lithuanian\footnote{ %
-% Provided by Kevin Godby and Paulius Sladkevičius.},
-% and Urdu\footnote{ %
-% Provided by Kamal Abdali.}
-% are new in version 1.1.1\new{v1.1.1}.
+% Version 1.1.1\new{v1.1.1} addded support for Asturian, %\footnote{ Provided by Kevin Godby and Xuacu Saturio.},
+% Lithuanian, %\footnote{ Provided by Kevin Godby and Paulius Sladkevičius.},
+% and Urdu. %\footnote{ Provided by Kamal Abdali.}
+% ^^A
+% Version 1.2\new{v1.2.0} adds support for Armenian, Occitan, Bengali,
+% Lao, Malayalam, Marathi, Tamil, Telugu, and Turkmen.\footnote{ %
+% See acknowledgements at the end for due credit to the various contributors.}
%
-% Some package options are convenient shortcuts for loading languages with
-% specific options:
%
-% \begin{itemize}
-% \item american = english with option ‘variant=american’
-% \item USenglish = english with option ‘variant=american’
-% \item UKenglish = english with option ‘variant=british’
-% \item british = english with option ‘variant=british’
-% \item australian = english with option ‘variant=australian’
-% \item newzealand = english with option ‘variant=newzealand’
-% \item ogerman = german with option ‘spelling=old’
-% \item monogreek = greek with option ‘variant=monotonic’ (or ‘mono’)
-% \item polygreek = greek with option ‘variant=polytonic’ (or ‘poly’)
-% \item ancientgreek = greek with option ‘variant=ancient’
-% \end{itemize}
%
% Polyglossia can also be loaded with the option ‘babelshorthands’\new{v1.1.1}, which
% globally activates \Babel shorthands whenever available. Currently shorthands are
% only implemented for German and Catalan: see below for details.
%
-% Another option (turned off by default) is ‘nolocalmarks’, which
-% prevents the redefinition of the internal \LaTeX\ macros
-% \cmd\markboth\ and \cmd\markright.
+% Another option (turned off by default) is ‘localmarks’, which
+% redefines the internal \LaTeX\ macros \cmd\markboth\ and \cmd\markright.
+% \new{v1.2.0}Note that this was formerly turned on by default, but ẃe
+% now realize that it causes more problems than otherwise. For backwards-compatibility
+% the opposite option ‘nolocalmarks’ is still available.
%
% There is also the option ‘quiet’ which turns off most info messages and some of the warnings
% issued by \LaTeX, \pkg{fontspec} and \pkg{polyglossia}.
@@ -668,6 +714,9 @@ CHANGES
% does not support Greek, then one can define the font used to display Greek with:\\
% \centerline{ \cmd\newfontfamily\cmd{\greekfont[⟨options⟩]\{⟨font⟩\}}. }
% See the \pkg{fontspec} documentation for more information.
+% If a specific sans or monospace fonts is needed for a particular script or language,
+% it can be specified by means of \new{v1.2.0}
+% ¦\⟨script⟩fontsf¦\ or ¦\⟨language⟩fontsf¦ and ¦\⟨script⟩fonttt¦\ or ¦\⟨language⟩fonttt¦, respectively.
%
% Whenever a new language is activated, \pkg{polyglossia} will first check whether
% a font has been defined for that language or – for languages in non-Latin scripts –
@@ -703,6 +752,15 @@ CHANGES
% \textbf{Commands}:
% \begin{itemize}
% \item \Cmd\abjad and \Cmd\abjadmaghribi (see section \ref{abjad})
+% \item \Cmd\aemph to emphasize Arabic text with ¦\overline¦:\new{v1.2.0}
+% ¦\textarabic{مثال: \aemph{اب}}¦ yields \textarabic{مثال: \aemph{اب}}.
+% This command is also available for Farsi, Urdu, etc.
+% \end{itemize}
+%
+% \subsection{bengali}\label{bengali}\new{v1.2.0}
+% \textbf{Options}:
+% \begin{itemize}
+% \item \TB{numerals} = Western or \textit{Devanagari}
% \end{itemize}
%
% \subsection{catalan}\label{catalan}
@@ -758,16 +816,17 @@ CHANGES
% \textbf{Commands}:
% \begin{itemize}
% \item \Cmd\abjad (see section \ref{abjad})
+% \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}
+% ^^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
+% ^^A
%
% \subsection{german}\label{german}
% \textbf{Options}:
@@ -801,6 +860,8 @@ CHANGES
% \item ¦"<¦ for French left double quotes («)
% \item ¦">¦ for French right double quotes (»).
% \end{itemize}
+% \item\TB{script} = \textit{latin} or fraktur.\new{v1.2.0}
+% Setting script=fraktur modifies the captions for typesetting German in Fraktur.
% \end{itemize}
%
% \subsection{greek}\label{greek}
@@ -829,8 +890,20 @@ CHANGES
% \textbf{Commands}:
% \begin{itemize}
% \item \Cmd\hebrewnumeral\ (= \Cmd\hebrewalph) (see section \ref{abjad}).
+% \item \Cmd\aemph (see section \ref{arabic}).
% \end{itemize}
%
+% \subsection{hindi}\label{hindi}\new{v1.2.0}
+% \textbf{Options}:
+% \begin{itemize}
+% \item \TB{numerals} = Western or \textit{Devanagari}
+% \end{itemize}
+%
+% \subsection{lao}\label{lao}\new{v1.2.0}
+% \textbf{Options}:
+% \begin{itemize}
+% \item \TB{numerals} = lao or \textit{arabic}
+% \end{itemize}
%
% \subsection{lsorbian and usorbian}\label{lsorbian}\label{usorbian}
% \textbf{Commands}:
@@ -855,10 +928,11 @@ CHANGES
% \subsection{sanskrit}\label{sanskrit}
% \textbf{Options}:
% \begin{itemize}
-% \item \TB{Script} (default = Devanagari). \new{1.0.2}
+% \item \TB{Script} (default = Devanagari). \new{v1.0.2}
% The value is passed to \pkg{fontspec} in cases where ¦\sanskritfont¦ or
% ¦\devanagarifont¦ are not defined. This can be useful if you typeset
% Sanskrit texts in scripts other than Devanagari.
+% ^^ATODO \item Numerals <<<<
% \end{itemize}
%
% \subsection{serbian}\label{serbian}
@@ -877,6 +951,7 @@ CHANGES
% \textbf{Commands}:
% \begin{itemize}
% \item \Cmd\abjadsyriac (see section \ref{abjad})
+% \item \Cmd\aemph (see section \ref{arabic}).
% \end{itemize}
%
% \subsection{thai}\label{thai}
@@ -896,7 +971,7 @@ CHANGES
% with the same effect. For instance, to change the ¦\chaptername¦ for language ¦lingua¦,
% you can do this:
% \begin{verbatim}
-% \gappto\linguacaptions{\renewcommand{\chaptername}{Caput}}
+% \gappto\captionslingua{\renewcommand{\chaptername}{Caput}}
% \end{verbatim}
%
% \section{Non-Western decimal digits}
@@ -917,7 +992,7 @@ CHANGES
% counter has to be written and read from auxiliary files.\footnote{ %
% For instance the package \pkg{lastpage} did not work with \pkg{polyglossia} in situations
% where the display of counters was redefined to include a font-switching command.}
-% These macros (currently \Cmd\arabicdigits, \Cmd\farsidigits\ and \Cmd\thaidigits\ are provided)
+% These macros (currently \Cmd\arabicdigits, \Cmd\farsidigits\ and \Cmd\thaidigits\ are provided)
% are also available to the users. For instance in an Arabic environment
% ¦\arabicdigits{9182/738543-X}¦ yields
% \textarabic{\arabicdigits{9182/738543-X}}.
@@ -941,9 +1016,9 @@ CHANGES
% Example: ¦\abjadmaghribi{1863}¦ yields {\arabicfont\abjadmaghribi{1863}}.
%
% The code for Hebrew numerals, which was incorrect in previous versions, was
-% ported from the implementation in \Babel with v1.1.1\new{v1.1.1}, and the
+% ported from the implementation in \Babel with v1.1.1\new{v1.1.1}, and the
% user interface is identical to the one in \Babel.
-% The commands \Cmd\hebrewnumeral, \Cmd\Hebrewnumeral and \Cmd\Hebrewnumeralfinal\ behave exactly
+% The commands \Cmd\hebrewnumeral, \Cmd\Hebrewnumeral and \Cmd\Hebrewnumeralfinal\ behave exactly
% as they do in \Babel: the second command prints the number with \textit{gereshayim} before
% the last letter, and the latter uses in addition the final forms of Hebrew letters.
% Examples:
@@ -976,12 +1051,12 @@ CHANGES
% The command
% \displaycmd{\HijriFromGregorian\{⟨year⟩\}\{⟨month⟩\}\{⟨day⟩\}}{\HijriFromGregorian}
% sets the counters ¦Hijriday¦, ¦Hijrimonth¦ and ¦Hijriyear¦.
-% \Cmd\Hijritoday\ formats the Hijri date for the current day.
-% This command is now locale-aware\new{v1.1.1}: its output will differ depending on the
-% currently active language. Presently \pkg{polyglossia}’s language definition files
-% for Arabic, Farsi, Urdu, Turkish, Bahasa Indonesia and Bahasa Melayu
+% \Cmd\Hijritoday\ formats the Hijri date for the current day.
+% This command is now locale-aware\new{v1.1.1}: its output will differ depending on the
+% currently active language. Presently \pkg{polyglossia}’s language definition files
+% for Arabic, Farsi, Urdu, Turkish, Bahasa Indonesia and Bahasa Melayu
% provide a localized version of ¦\Hijritoday¦.
-% If the formatting macro for the current language is undefined, the Hijri date will be formatted
+% If the formatting macro for the current language is undefined, the Hijri date will be formatted
% in Arabic or in roman transliteration, depending of the current writing direction.
% You can define a new format or redefine one with the command
% \displaycmd{\DefineHijriDateFormat\{<lang>\}\{<code>\}}{\DefineHijriDateFormat}.
@@ -1003,7 +1078,7 @@ CHANGES
% One day I may rewrite \pkg{farsical} from scratch using the algorithm in
% Reingold \& Gershowitz (ref.~n.~\ref{reingold}).}
% Here we have renamed the command \cmd\ftoday\ to
-% \Cmd\Jalalitoday. Example: today is \Jalalitoday.
+% \Cmd\Jalalitoday. %Example: today is \Jalalitoday.
%
%
% ^^A\section{Varia}
@@ -1016,18 +1091,22 @@ CHANGES
% Braams and the numerous contributors to the \Babel{} package (in particular
% Boris Lavva and others for its Hebrew support), Alexej Kryukov (\pkg{antomega}), Will
% Robertson (\pkg{fontspec}), Apostolos Syropoulos (\pkg{xgreek}), Youssef Jabri
-% (\pkg{arabi}), and Vafa Khalighi (\pkg{xepersian} and \pkg{bidi}). I should also thank other
+% (\pkg{arabi}), and Vafa Khalighi (\pkg{xepersian} and \pkg{bidi}).
+% The work of Mojca Miklavec and Arthur Reutenauer on hyphenation patterns with their package
+% \pkg{hyph-utf8} is of course invaluable. I should also thank other
% individuals for their assistance in supporting specific languages: Yves Codet
% (Sanskrit), Zdenek Wagner (Hindi), Mikhal Oren (Hebrew), Sergey Astanin (Russian),
% Khaled Hosny (Arabic), Sertaç Ö. Yıldız (Turkish), Kamal Abdali (Urdu),
% and several other members of the \XeTeX\ user community, notably Enrico Gregorio, who
% has sent me many useful suggestions and corrections and contributed the ¦\newXeTeXintercharclass¦
-% mechanism in xelatex.ini which is now used by polyglossia.
-% More recently, Kevin Godby of the \href{http://ubuntu-manual.org}{Ubuntu Manual} project has
+% mechanism in xelatex.ini which is now used by polyglossia.
+% More recently, Kevin Godby of the \href{http://ubuntu-manual.org}{Ubuntu Manual} project has
% contributed very useful feedback, bug hunting and, with the help of translators,
-% new language definition files for Asturian and Lithuanian. It is particularly heartening to
-% realize that this package is used to typeset a document in dozens of different languages!
-% I also thank Alan Munn for kindly proof-reading the documentation.
+% new language definition files for Asturian, Lithuanian, Occitan, Bengali, Malayalam, Marathi, Tamil, and Telugu.
+% It is particularly heartening to realize that this package is used to typeset a widely-read
+% document in dozens of different languages!
+% Support for Lao was also added thanks to Brian Wilson.
+% I also thank Alan Munn for kindly proof-reading the penultimate version of this documentation.
% And of course my gratitude also goes to Jonathan Kew, the formidable author of \XeTeX!
%
%
@@ -1042,11 +1121,19 @@ CHANGES
% \subsection{polyglossia.sty}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{polyglossia}[2010/03/23 v1.1.1
+\ProvidesPackage{polyglossia}[2010/07/15 v1.2.0
Babel replacement for XeLaTeX]
\RequirePackage{etoolbox}
\RequirePackage{makecmds}
-\RequirePackage{fontspec} %which itself depends on xkeyval
+\RequirePackage{fontspec}[2010/06/08]% v2.0
+% fontspec now uses LaTeX3 packages such as expl3, so we need this:
+% TODO is is possible to localize this further?
+\ExplSyntaxOn
+
+\ifcsundef{newXeTeXintercharclass}{%
+ \xpg@error{Your~ xelatex~ format~ appears~ to~ be~ outdated!^^J
+~~~~Please~ update~ your~ system~ and~ recreate~ it~ with~ fmtutil.}
+ }{}
%% This is for compatibility with Babel-aware package:
\cslet{ver@babel.sty}{\@empty} % this "fakes" babel
@@ -1054,26 +1141,41 @@ CHANGES
\AtEndPreamble{\let\bbl@set@language\xpg@set@language} %for biblatex
\AtEndPreamble{\let\bbl@main@language\xpg@main@language} %for biblatex
+%% for \docvslist (etoolbox)
+\providecommand*{\do}[1]{}%
+
%% custom message macros
+\providecommand*{\xpg@error}[1]{%
+ \PackageError{polyglossia}{#1}{}%
+}
+
\providecommand*{\xpg@warning}[1]{%
- \PackageWarning{polyglossia}%
- {#1}}
+ \PackageWarning{polyglossia}{#1}%
+}
+
\providecommand*{\xpg@info}[1]{%
\PackageInfo{polyglossia}%
- {#1\@gobble}} %% the \@gobble is to prevent displaying the line nr
-\providecommand*{\xpg@nopatterns}[1]{%
- \xpg@warning{No hyphenation patterns were loaded for `#1'\MessageBreak
- I will use the patterns for \string\language=\string\l@nohyphenation\space instead}}
-\providecommand*{\xpg@nolang}[1]{%
- \xpg@warning{File gloss-#1.ldf does not exist!^^J
- I will nevertheless try to use hyphenation patterns for #1.}}%
- %TODO try at least to load the hyphenation patterns for #1.
+ {#1\@gobble}%
+} %% the \@gobble is to prevent displaying the line nr
+
+%TODO change all instances of \xpg@nopatterns in gloss-*.ldf files
+\providecommand*{\xpg@nopatterns@fallback}[2][nohyphenation]{%
+ \xpg@warning{No~ hyphenation~ patterns~ were~ loaded~ for~ `#2'\MessageBreak
+ I~ will~ use~ \string\language=\string\l@ #1\space instead}%
+ \expandafter\adddialect\csname l@#2\expandafter\endcsname\csname l@#1\endcsname\relax}
+
+ \providecommand*{\xpg@nopatterns}[1]{%
+ \xpg@warning{No~ hyphenation~ patterns~ were~ loaded~ for~ `#1'\MessageBreak
+ I~ will~ use~ \string\language=\string\l@nohyphenation\space instead}%
+ %%TODO? \expandafter\adddialect\csname l@#1\endcsname\l@nohyphenation\relax
+ }
+
\def\xpg@ill@value#1#2{%
- \xpg@warning{Illegal value (#1) for #2}}
+ \xpg@warning{Illegal~ value~ (#1)~ for~ #2}}
%% use macro if defined, else warn that it is not
\def\csuse@warn#1{%
- \ifcsundef{#1}{\xpg@warning{ \expandafter\string\csname #1\endcsname\space is not defined}}%
+ \ifcsundef{#1}{\xpg@warning{ \expandafter\string\csname #1\endcsname\space is~ not~ defined}}%
{\csname #1\endcsname}}
%% ensure directionality if bidi is loaded, else ignore
@@ -1082,44 +1184,377 @@ CHANGES
%% compatibility with babel
\let\addto\gappto% gappto is defined in etoolbox
-%%
+
+%% == Utility macros ==
+%% They are needed because \MakeUppercase and \MakeLowercase are protected,
+%% but we need to change case while defining csnames when setting up fonts for
+%% non-Latin scripts. For instance with "Script=Arabic" we need to lowercase
+%% "Arabic" to create \arabicfont.
+\def\xpg@uppercasefirst#1{\expandafter\xpg@@uppercasefirst #1}
+\def\xpg@@uppercasefirst#1{%
+ \if a#1A\else
+ \if b#1B\else
+ \if c#1C\else
+ \if d#1D\else
+ \if e#1E\else
+ \if f#1F\else
+ \if g#1G\else
+ \if h#1H\else
+ \if i#1I\else
+ \if j#1J\else
+ \if k#1K\else
+ \if l#1L\else
+ \if m#1M\else
+ \if n#1N\else
+ \if o#1O\else
+ \if p#1P\else
+ \if q#1Q\else
+ \if r#1R\else
+ \if s#1S\else
+ \if t#1T\else
+ \if u#1U\else
+ \if v#1V\else
+ \if w#1W\else
+ \if x#1X\else
+ \if y#1Y\else
+ \if z#1Z\else
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+}
+
+\def\xpg@lowercasefirst#1{\expandafter\xpg@@lowercasefirst #1}
+\def\xpg@@lowercasefirst#1{%
+ \if A#1a\else
+ \if B#1b\else
+ \if C#1c\else
+ \if D#1d\else
+ \if E#1e\else
+ \if F#1f\else
+ \if G#1g\else
+ \if H#1h\else
+ \if I#1i\else
+ \if J#1j\else
+ \if K#1k\else
+ \if L#1l\else
+ \if M#1m\else
+ \if N#1n\else
+ \if O#1o\else
+ \if P#1p\else
+ \if Q#1q\else
+ \if R#1r\else
+ \if S#1s\else
+ \if T#1t\else
+ \if U#1u\else
+ \if V#1v\else
+ \if W#1w\else
+ \if X#1x\else
+ \if Y#1y\else
+ \if Z#1z\else
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+}
+
+%% NEW EXPERIMENTAL SETUP INTERFACE FOR GLOSS FILES
+%% options currently available:
+%% language : the name of the language (as understood by fontspec)
+%% hyphennames : the different hyphenation patterns to try (comma separated list)
+%%% TODO: if pattern is prefixed by !, then it should be loaded as a fallback, with \xpg@nopatterns@fallback - i.e. with a warning: e.g. sanskrit for hindi, or catalan for asturian.
+%% script : the name of the script (as understood by fontspec) – default is Latin
+%% direction : the direction of the script: LR or RL
+%% scripttag : the OpenType tag for the script
+%% langtag : the OpenType tag for the language
+%% hyphenmins : the hyphenmins for this language (comma-sep list of two integers)
+%% frenchspacing : boolean
+%% indentfirst : boolean
+%% fontsetup : boolean
+%% TODO: nouppercase : boolean (for scripts like Arabic, Devanagari, etc which have no concept of uppercase/lowercase)
+%% TODO: localalph = {<alph_csname>,<Alph_csname>}
+%% TODO: localnumber = <csname>
+%% or even better localdigits = {0123456789} for fully automatic setup
+
+\newcommand*\PolyglossiaSetup[2]{%
+ %define booleans etoolbox style and set defaults
+ %% TODO ? \providetoggle{#1@setup@done}%
+ \providetoggle{#1@RL}%
+ \providetoggle{#1@latin}\toggletrue{#1@latin}%
+ \providetoggle{#1@scriptlangequal}% whether lang and script names are same: e.g. Hebrew, Arabic
+ \providebool{#1@fontsetup}%
+ \providebool{#1@indentfirst}%
+ \providebool{#1@frenchspacing}%
+ % we initialize these so that we can use \gappto below
+ \csgdef{init@extras@#1}{}%
+ \csgdef{init@noextras@#1}{}% we don't use this yet: remove?
+ \csgdef{xpg@langname@#1}{\xpg@uppercasefirst{#1}}%
+ %needed for docvslist with hyphennames key:
+ \renewcommand*{\do}[1]{%
+ \ifcsdef{l@#1}{}{%
+ \ifstrequal{#1}{##1}{}%
+ {\ifcsdef{l@##1}%
+ {\csletcs{l@#1}{l@##1}\listbreak}%
+ {}%
+ }%
+ }%
+ }%
+ %define all keys:
+ \xpg@define@keys{#1}%
+ \setkeys[xpg@setup]{#1}{#2}%
+ % here we do the fontsetup:
+ \ifbool{#1@fontsetup}%
+ {\xpg@fontsetup@auto{#1}}%
+ {\xpg@info{Skipping~ automatic~ font~ setup~ for~ language~ #1}}%
+ %% TODO? \toggletrue{#1@setup@done}%
+ % reinit \do
+ \renewcommand*{\do}[1]{\setotherlanguage{##1}}%
+}
+
+\def\xpg@first#1,#2{#1}
+\def\xpg@second#1,#2{#2}
+
+\def\xpg@define@keys#1{%
+ \define@key[xpg@setup]{#1}{script}{%
+ \ifstrequal{##1}{Latin}%
+ {\toggletrue{#1@latin}}%
+ {\togglefalse{#1@latin}}%
+ \csgdef{xpg@scriptname@#1}{##1}%
+ \csgdef{xpg@scriptname@#1@lc}{\xpg@lowercasefirst{##1}}}%
+ \define@key[xpg@setup]{#1}{scripttag}{%
+ \csgdef{xpg@scripttag@#1}{##1}}%
+ \define@key[xpg@setup]{#1}{language}{%
+ \csgdef{xpg@langname@#1}{##1}}%
+ \define@key[xpg@setup]{#1}{langtag}{%
+ \csgdef{xpg@langtag@#1}{##1}}%
+ \define@key[xpg@setup]{#1}{hyphennames}[{#1}]{%
+ \docsvlist{##1}%
+ % if l@#1 does not yet exist,
+ % we assign it to nohyphenation
+ % we do this here in case the hyphennames key was omitted
+ \ifcsundef{l@#1}%
+ {\xpg@nopatterns{\csname xpg@langname@#1\endcsname}%
+ \expandafter\adddialect\csname l@#1\endcsname\l@nohyphenation\relax}{}%
+ \csdef{#1@language}{\language=\csname l@#1\endcsname}%
+ }%
+ \define@choicekey+[xpg@setup]{#1}{direction}[\val\nr]{LR,RL}[LR]%
+ {\ifcase\nr\relax
+ \togglefalse{#1@RL}%
+ \or
+ \toggletrue{#1@RL}%
+ \ifcsundef{RTL}{\RequirePackage{bidi}}{}%
+ \fi}%
+ {\xpg@warning{#1: Invalid value \val\space for key "direction"}}%
+ \define@key[xpg@setup]{#1}{hyphenmins}[{2,3}]%
+ {\edef\@tmpfirst{\xpg@first##1}%
+ \edef\@tmpsecond{\xpg@second##1}%
+ \setlocalhyphenmins{#1}{\@tmpfirst}{\@tmpsecond}}%
+ \define@boolkey[xpg@setup]{#1}[#1@]{frenchspacing}[true]{%
+ \ifbool{#1@frenchspacing}%
+ {\csgappto{init@extras@#1}{\frenchspacing}}%
+ {\csgappto{init@extras@#1}{\nonfrenchspacing}}}%
+ \define@boolkey[xpg@setup]{#1}[#1@]{indentfirst}[true]{%
+ \ifbool{#1@indentfirst}%
+ {\csgappto{init@extras@#1}{\french@indent}}%
+ {\csgappto{init@extras@#1}{\nofrench@indent}}}%
+% \define@choicekey*+[xpg@setup]{#1}{fontsetup}[\val\nr]{none,custom,auto}[none]%
+% %{\csgdef{#1@fontsetup}{\val}}%
+% {\xpg@fontsetup{\val}{#1}}%
+% {\xpg@warning{Invalid value \val\space for key "fontsetup" in module "#1"}}%
+ \define@boolkey[xpg@setup]{#1}[#1@]{fontsetup}[true]{}%
+ %TODO assign csnames corr. to localized alph and Alph
+ % \define@key[xpg@setup]{#1}{localalph}[{#1@alph,#1@Alph}]{%
+ % \cslet{xpg@localalph@#1}{\expandafter\csname\xpg@first##1\endcsname}%
+ % \cslet{xpg@localAlph@#1}{\expandafter\csname\xpg@second##1\endcsname}%
+ %}%
+ %TODO same thing with localdigits
+}
+
+%\def\xpg@fontsetup#1{\xpg@csifdef@warn{xpg@fontsetup@#1}}
+%\def\xpg@fontsetup@none#1{\csgdef{#1@font}{\ifcsdef{#1font}{\csname #1font\endcsname}{}}} %<-- simplistic
+%\def\xpg@fontsetup@custom#1{\csuse{#1@font}}
+
+\def\xpg@fontsetup@auto#1{\iftoggle{#1@latin}%
+ {\xpg@fontsetup@latin{#1}}%
+ {\xpg@fontsetup@nonlatin{#1}}%
+}
+
+\def\xpg@addfontfeature@lang#1#2{% #1 is langtag, #2 is langname
+ % Turkish is a special case: tag can be TRK or TUR
+ \edef\tmp@Turkish{Turkish}%
+ \edef\tmp@@langname{#2}%
+ % \ifstrequal{#2}{Turkish}%
+ \ifx\tmp@@langname\tmp@Turkish
+ \fontspec_if_language:nTF {TRK}%
+ {\addfontfeature{Language=Turkish}}%
+ {\fontspec_if_language:nTF {TUR}%
+ {\addfontfeature{Language=Turkish}}%
+ {}}%
+ % else not Turkish
+ \else
+ \edef\tmp@@langparam{Language=#2}%
+ \expandafter\expandafter\expandafter\fontspec_if_language:nTF \expandafter{#1}%
+ {\expandafter\expandafter\expandafter\addfontfeature\expandafter{\tmp@@langparam}}%
+ {}%
+ \fi
+}
+
+\def\xpg@addfontfeature@script#1#2{% #1 is scripttag, #2 is scriptname
+ \edef\tmp@@scriptparam{Script=#2}%
+ \expandafter\expandafter\expandafter\fontspec_if_script:nTF \expandafter{#1}%
+ {\expandafter\expandafter\expandafter\addfontfeature\expandafter{\tmp@@scriptparam}}%
+ {\xpg@error{^^J
+ The~ current~ roman~ font~ does~ not~ contain~ the~ \expandafter\noexpand#2 ~ script!^^J
+ Please~ define~ \expandafter\string\csname \xpg@lowercasefirst{#2}font\endcsname\space with~ \string\newfontfamily}}%
+}
+
+\def\xpg@fontsetup@latin#1{%
+ \begingroup
+ \csgdef{#1@font@rm}{%
+ \ifcsdef{#1font}{\csname #1font\endcsname}%
+ {\edef\tmp@langtag{\csuse{xpg@langtag@#1}}%
+ \edef\tmp@langname{\csuse{xpg@langname@#1}}%
+ \rmfamilylatin%
+ \ifcsvoid{xpg@langtag@#1}{}{%
+ \ifcsvoid{xpg@langname@#1}{}{%
+ \xpg@addfontfeature@lang{\tmp@langtag}{\tmp@langname}}%
+ }}}%
+ \csgdef{#1@font@sf}{%
+ \ifcsdef{#1fontsf}{\csname #1fontsf\endcsname}%
+ {\edef\tmp@langtag{\csuse{xpg@langtag@#1}}%
+ \edef\tmp@langname{\csuse{xpg@langname@#1}}%
+ \sffamilylatin%
+ \ifcsvoid{xpg@langtag@#1}{}{%
+ \ifcsvoid{xpg@langname@#1}{}{%
+ \xpg@addfontfeature@lang{\tmp@langtag}{\tmp@langname}}%
+ }}}%
+ \csgdef{#1@font@tt}{%
+ \ifcsdef{#1fonttt}{\csname #1fonttt\endcsname}%
+ {\edef\tmp@langtag{\csuse{xpg@langtag@#1}}%
+ \edef\tmp@langname{\csuse{xpg@langname@#1}}%
+ \ttfamilylatin%
+ \ifcsvoid{xpg@langtag@#1}{}{%
+ \ifcsvoid{xpg@langname@#1}{}{%
+ \xpg@addfontfeature@lang{\tmp@langtag}{\tmp@langname}}%
+ }}}%
+ \endgroup
+}
+
+\def\xpg@fontsetup@nonlatin#1{%
+ \begingroup
+ \edef\tmp@langname@lc{#1}% eg ukrainian
+ \edef\tmp@scriptname@lc{\csuse{xpg@scriptname@#1@lc}}% eg cyrillic
+ \ifx\tmp@scriptname@lc\tmp@langname@lc
+ \toggletrue{#1@scriptlangequal}%
+ \else
+ \togglefalse{#1@scriptlangequal}%
+ \fi
+ \csgdef{#1@font@rm}{%
+ \ifcsdef{#1font}%
+ {\@nameuse{#1font}}%
+ {\edef\tmp@scripttag{\csuse{xpg@scripttag@#1}}% eg cyrl
+ \edef\tmp@scriptname{\csuse{xpg@scriptname@#1}}% eg Cyrillic
+ \edef\tmp@langtag{\csuse{xpg@langtag@#1}}% eg UKR
+ \edef\tmp@langname{\csuse{xpg@langname@#1}}% eg Ukrainian
+ \providetoggle{#1@use@script@font}%
+ \iftoggle{#1@scriptlangequal}%
+ {\rmfamilylatin}%
+ {\expandafter\ifcsname\csuse{xpg@scriptname@#1@lc} font\endcsname% eg \cyrillicfont
+ \toggletrue{#1@use@script@font}%
+ \expandafter\csname\csuse{xpg@scriptname@#1@lc} font\endcsname
+ \else
+ \rmfamilylatin
+ \fi}
+ \iftoggle{#1@use@script@font}{}{%
+ \ifcsvoid{xpg@scripttag@#1}{}{%
+ \ifcsvoid{xpg@scriptname@#1}{}{%
+ \xpg@addfontfeature@script{\tmp@scripttag}{\tmp@scriptname}}}}%
+ \ifcsvoid{xpg@langtag@#1}{}{%
+ \ifcsvoid{xpg@langname@#1}{}{%
+ \xpg@addfontfeature@lang{\tmp@langtag}{\tmp@langname}}}%
+ }}%
+ \csgdef{#1@font@sf}{%
+ \ifcsdef{#1fontsf}%
+ {\@nameuse{#1fontsf}}%
+ {\edef\tmp@scripttag{\csuse{xpg@scripttag@#1}}% eg cyrl
+ \edef\tmp@scriptname{\csuse{xpg@scriptname@#1}}% eg Cyrillic
+ \edef\tmp@langtag{\csuse{xpg@langtag@#1}}% eg UKR
+ \edef\tmp@langname{\csuse{xpg@langname@#1}}% eg Ukrainian
+ \providetoggle{#1@use@script@fontsf}%
+ \iftoggle{#1@scriptlangequal}%
+ {\sffamilylatin}%
+ {\expandafter\ifcsname\csuse{xpg@scriptname@#1@lc} fontsf\endcsname% eg \cyrillicfontsf
+ \toggletrue{#1@use@script@fontsf}%
+ \expandafter\csname\csuse{xpg@scriptname@#1@lc} fontsf\endcsname
+ \else
+ \sffamilylatin
+ \fi}
+ \iftoggle{#1@use@script@fontsf}{}{%
+ \ifcsvoid{xpg@scripttag@#1}{}{%
+ \ifcsvoid{xpg@scriptname@#1}{}{%
+ \xpg@addfontfeature@script{\tmp@scripttag}{\tmp@scriptname}}}}%
+ \ifcsvoid{xpg@langtag@#1}{}{%
+ \ifcsvoid{xpg@langname@#1}{}{%
+ \xpg@addfontfeature@lang{\tmp@langtag}{\tmp@langname}}}%
+ }}%
+ \csgdef{#1@font@tt}{%
+ \ifcsdef{#1fonttt}%
+ {\@nameuse{#1fonttt}}%
+ {\edef\tmp@scripttag{\csuse{xpg@scripttag@#1}}% eg cyrl
+ \edef\tmp@scriptname{\csuse{xpg@scriptname@#1}}% eg Cyrillic
+ \edef\tmp@langtag{\csuse{xpg@langtag@#1}}% eg UKR
+ \edef\tmp@langname{\csuse{xpg@langname@#1}}% eg Ukrainian
+ \providetoggle{#1@use@script@fonttt}%
+ \iftoggle{#1@scriptlangequal}%
+ {\ttfamilylatin}%
+ {\expandafter\ifcsname\csuse{xpg@scriptname@#1@lc} fonttt\endcsname% eg \cyrillicfonttt
+ \toggletrue{#1@use@script@fonttt}%
+ \expandafter\csname\csuse{xpg@scriptname@#1@lc} fonttt\endcsname
+ \else
+ \ttfamilylatin
+ \fi}
+ \iftoggle{#1@use@script@fonttt}{}{%
+ \ifcsvoid{xpg@scripttag@#1}{}{%
+ \ifcsvoid{xpg@scriptname@#1}{}{%
+ \xpg@addfontfeature@script{\tmp@scripttag}{\tmp@scriptname}}}}%
+ \ifcsvoid{xpg@langtag@#1}{}{%
+ \ifcsvoid{xpg@langname@#1}{}{%
+ \xpg@addfontfeature@lang{\tmp@langtag}{\tmp@langname}}}%
+ }}%
+ \endgroup
+}
+
+%%% END OF PolyglossiaSetup
+
%% ensure localization of \markright and \markboth commands
-\def\opt@enabled{on}
-\def\opt@disabled{off}
-\define@key{polyglossia}{localmarks}[on]{%
- \def\@tmpa{#1}
- \ifx\@tmpa\opt@enabled
+%%% THIS IS NOW DISABLED BY DEFAULT
+\define@boolkey{polyglossia}[xpg@]{localmarks}[false]{%
+ \ifbool{xpg@localmarks}{%
+ \xpg@info{Option:~ localmarks}%
\def\local@marks##1{%
\def\markboth####1####2{%
- \begingroup%
- \let\label\relax \let\index\relax \let\glossary\relax%
- \unrestored@protected@xdef\@themark%
- {{\foreignlanguage{##1}{%
+ \begingroup
+ \let\label\relax \let\index\relax \let\glossary\relax
+ \unrestored@protected@xdef\@themark
+ {{\foreignlanguage{##1}{%
\protect\@@ensure@maindir{####1}}}%
- {\foreignlanguage{##1}{%
+ {\foreignlanguage{##1}{%
\protect\@@ensure@maindir{####2}}}}%
\@temptokena \expandafter{\@themark}%
\mark{\the\@temptokena}%
- \endgroup%
+ \endgroup
\if@nobreak\ifvmode\nobreak\fi\fi}%
\def\markright####1{%
- \begingroup%
- \let\label\relax \let\index\relax \let\glossary\relax%
- \expandafter\@markright\@themark%
+ \begingroup
+ \let\label\relax \let\index\relax \let\glossary\relax
+ \expandafter\@markright\@themark
{\foreignlanguage{##1}{\protect\@@ensure@maindir{####1}}}%
\@temptokena \expandafter{\@themark}%
\mark{\the\@temptokena}%
- \endgroup%
+ \endgroup
\if@nobreak\ifvmode\nobreak\fi\fi}%
\def\@markright####1####2####3{\@temptokena{\protect\@@ensure@maindir{####1}}%
\unrestored@protected@xdef\@themark{{\the\@temptokena}%
- {\protect\@@ensure@maindir{####3}}}}}
- \else
- \def\local@marks##1{}
- \xpg@info{Option: localmarks=off}
- \fi
+ {\protect\@@ensure@maindir{####3}}}}}%
+ }{% else
+ \def\local@marks##1{}%
+ }%
}
-\setkeys{polyglossia}{localmarks=on}
+\setkeys{polyglossia}{localmarks=false}
% to reset the intercharclass of a character to "normal"
\newXeTeXintercharclass\xpg@normalclass %TODO
@@ -1128,80 +1563,89 @@ CHANGES
%% (suggestion by Enrico Gregorio)
\@ifundefined{l@nohyphenation}{\chardef\l@nohyphenation=255 }{}
+%we call this macro when a gloss file is not found for a given language
+\def\xpg@nogloss#1{%
+ \xpg@warning{File~ gloss-#1.ldf~ does~ not~ exist!^^J
+ I~ will~ nevertheless~ try~ to~ use~ hyphenation~ patterns~ for~ #1.}%
+ \PolyglossiaSetup{#1}{hyphenmins,hyphennames={#1},fontsetup=true}%
+ % the above amounts to:
+ %\ifcsundef{l@#1}%
+ % {\expandafter\adddialect\csname l@#1\endcsname\l@nohyphenation\relax}%
+ % {\setlocalhyphenmins{#1}{2}{3}}%
+ %\csdef{#1@language}{\language=\csname l@#1\endcsname}%
+}
+
\newcommand{\setdefaultlanguage}[2][]{%
\IfFileExists{gloss-#2.ldf}%
{\ifcsundef{#2@loaded}%
{\input{gloss-#2.ldf}%
- \xpg@info{Default language is #2.}
+ \xpg@info{Default~ language~ is~ #2.}
\def\languagename{#2}%
% This is needed because \arabic is a built-in LaTeX command:
- % so now we have \begin{Arabic}... instead of \begin{arabic}...
- \edef\@tmpa{arabic}%
- \edef\@tmpb{#2}%
- \ifx\@tmpb\@tmpa%
- \newenvironment{Arabic}[1][]{\begin{otherlanguage}[####1]{arabic}}%
- {\end{otherlanguage}}%
- \else%
- \newenvironment{#2}[1][]{\begin{otherlanguage}[####1]{#2}}%
- {\end{otherlanguage}}%
- \fi
+ % so now we have \begin{Arabic}... instead of \begin{arabic}...
+ \ifstrequal{#2}{arabic}%
+ {\newenvironment{Arabic}[1][]{\begin{otherlanguage}[####1]{arabic}}%
+ {\end{otherlanguage}}}%
+ {\newenvironment{#2}[1][]{\begin{otherlanguage}[####1]{#2}}%
+ {\end{otherlanguage}}}%
\expandafter\newcommand\csname text#2\endcsname[2][]{%
- \ifcsdef{RL}%
- {\ifcsundef{#2@RL}%
- {\@ensure@LTR{\foreignlanguage[####1]{#2}{####2}}}%
- {\@ensure@RTL{\foreignlanguage[####1]{#2}{####2}}}}%
- {\foreignlanguage[####1]{#2}{####2}}%
+ \ifcsdef{RTL}%
+ {\iftoggle{#2@RL}%
+ {\@ensure@RTL{\foreignlanguage[####1]{#2}{####2}}}%
+ {\@ensure@LTR{\foreignlanguage[####1]{#2}{####2}}}%
+ }% else bidi not loaded
+ {\iftoggle{#2@RL}%
+ {\xpg@error{Language~ #2~ is~ right-to-left,~ but~ bidi~ package~ was~ not~ loaded!}}%
+ {\foreignlanguage[####1]{#2}{####2}}%
+ }%
}%
\csletcs{local#2}{text#2}%
\csgdef{#2@loaded}{}%
\gdef\xpg@main@language{#2}%
}%
- {\PackageWarning{polyglossia}{gloss-#2.ldf is already loaded!}}%
- %% The following settings are for the default language and script:
- \ifcsundef{#2@RL}{}{\@RTLmaintrue}% this tells bidi.sty that the document is RTL
- \AtBeginDocument{%
- \selectlanguage[#1]{#2}%
- \selectbackgroundlanguage{#2}}%
+ {\xpg@warning{gloss-#2.ldf~ is~ already~ loaded!}}%:
+ %% The following settings are for the default language and script:
+ \iftoggle{#2@RL}{\@RTLmaintrue}{}% this tells bidi.sty that the document is RTL
+ \AtBeginDocument{%
+ \selectlanguage[#1]{#2}%
+ \selectbackgroundlanguage{#2}}%
}%
%ELSE
- {\xpg@nolang{#2}\hyphenrules{#2}}}%
+ {\xpg@nogloss{#2}}%
+}
\let\setmainlanguage=\setdefaultlanguage
\newcommand{\resetdefaultlanguage}[2][]{%
\ifcsundef{#2@loaded}{%
- \PackageError{polyglossia}{gloss-#2.ldf is not loaded!}}%
+ \xpg@error{gloss-#2.ldf~ is~ not~ loaded!}}%
{\csuse{no\xpg@main@language @globalnumbers}% disable globalnumbers of previously defined default language
\csuse{noextras@\xpg@main@language}%
+ \csuse{init@noextras@\xpg@main@language}%
\def\languagename{#2}%
- \ifcsundef{#2@RL}{}{\@rlmaintrue\@rl@footnotetrue}%
+ \iftoggle{#2@RL}{\@rlmaintrue\@rl@footnotetrue}{}%
\selectlanguage[#1]{#2}%
\selectbackgroundlanguage{#2}}}
\def\familytype{rm}
-\gappto\rmfamily{\def\familytype{rm}}
-\gappto\sffamily{\def\familytype{sf}}
-\gappto\ttfamily{\def\familytype{tt}}
+% This robustifies the redefinitions of \<xx>family (suggestion by Enrico Gregorio)
+% e.g. to prevent expansion of the \familytype redefinition in auxiliary files
+\csgappto{rmfamily }{\def\familytype{rm}}
+\csgappto{sffamily }{\def\familytype{sf}}
+\csgappto{ttfamily }{\def\familytype{tt}}
% This saves the normalfont for the latin script since we may change normalfont in other scripts
\let\normalfontlatin=\normalfont%
\let\rmfamilylatin=\rmfamily%
\let\sffamilylatin=\sffamily%
\let\ttfamilylatin=\ttfamily%
-\def\reset@latin@script{%
+\def\resetfontlatin{%
\let\rmfamily=\rmfamilylatin%
\let\sffamily=\sffamilylatin%
\let\ttfamily=\ttfamilylatin%
- \normalfontlatin}
-
-\def\reset@LR{\csuse{setLR}}
+ \let\normalfont=\normalfontlatin}
-\def\selectnormalfontlatin{%
- \if\normalfont\ttfamily\ttfamilylatin\else
- \if\normalfont\sffamily\sffamilylatin\else
- \normalfontlatin\fi\fi}
-
-\DeclareRobustCommand\selectfontfamilylatin{%
+\def\selectfontfamilylatin{%
\def\tmp@tt{tt}\def\tmp@sf{sf}%
\ifx\familytype\tmp@tt%
\ttfamilylatin%
@@ -1209,6 +1653,22 @@ CHANGES
\sffamilylatin%
\else\rmfamilylatin\fi\fi}
+\def\xpg@select@fontfamily#1{%
+ \def\tmp@tt{tt}\def\tmp@sf{sf}%
+ \ifx\familytype\tmp@tt
+ \csuse@warn{#1@font@tt}%
+ \else\ifx\familytype\tmp@sf
+ \csuse@warn{#1@font@sf}%
+ \else\csuse@warn{#1@font@rm}\fi\fi}
+
+\def\xpg@set@normalfont#1{%
+ \letcs{\rmfamily}{#1@font@rm}%
+ \letcs{\sffamily}{#1@font@sf}%
+ \letcs{\ttfamily}{#1@font@tt}%
+ \gdef\normalfont{\protect\xpg@select@fontfamily{#1}}%
+ \gdef\reset@font{\protect\normalfont}%
+}
+
\let\@@fterindentfalse\@afterindentfalse
\def\french@indent{\let\@afterindentfalse\@afterindenttrue
\@afterindenttrue}
@@ -1216,7 +1676,7 @@ CHANGES
\@afterindentfalse}
\newcommand{\selectbackgroundlanguage}[1]{%
- \csuse{selectnormalfont#1}%
+ \iftoggle{#1@latin}{}{\xpg@set@normalfont{#1}}%
\csuse{#1@globalnumbers}%
}
@@ -1230,35 +1690,35 @@ CHANGES
\ifx\@tmpb\@tmpa%
\newenvironment{Arabic}[1][]{\begin{otherlanguage}[####1]{arabic}}%
{\end{otherlanguage}}%
- \else%
+ \else
\newenvironment{#2}[1][]{\begin{otherlanguage}[####1]{#2}}%
{\end{otherlanguage}}%
\fi
\expandafter\newcommand\csname text#2\endcsname[2][]{%
- \ifcsdef{RL}{%
- \ifcsundef{#2@RL}%
- {\@ensure@LTR{\foreignlanguage[####1]{#2}{####2}}}%
- {\@ensure@RTL{\foreignlanguage[####1]{#2}{####2}}}%
- }{% else
- \foreignlanguage[####1]{#2}{####2}%
- }}%
- \csletcs{local#2}{text#2}%
- \csgdef{#2@loaded}{}%
+ \ifcsdef{RTL}%
+ {\iftoggle{#2@RL}%
+ {\@ensure@RTL{\foreignlanguage[####1]{#2}{####2}}}%
+ {\@ensure@LTR{\foreignlanguage[####1]{#2}{####2}}}%
+ }% else bidi not loaded
+ {\iftoggle{#2@RL}%
+ {\xpg@error{Language~ #2~ is~ right-to-left,~ but~ bidi~ package~ was~ not~ loaded!}}%
+ {\foreignlanguage[####1]{#2}{####2}}%
+ }%
+ }%
+ \csletcs{local#2}{text#2}%
+ \csgdef{#2@loaded}{}%
}%
- {\PackageWarning{polyglossia}{gloss-#2.ldf is already loaded!}}%
+ {\xpg@warning{gloss-#2.ldf~ is~ already~ loaded!}}%
}%
- %ELSE
- {\xpg@nolang{#2}\hyphenrules{#2}}%
- %TODO ? \expandafter\ifx\csname l@#2\endcsname\@undefined
- %\xpg@nopatterns{#2}\expandafter\adddialect\csname l@#2\endcsname 0%
- %\else\expandafter\expandafter\protect\language=\csname l@#2\endcsname\fi
+ %ELSE
+ {\xpg@nogloss{#2}}%
}
\newcommand\setotherlanguages[1]{%
- \def\do##1{\setotherlanguage{##1}}%
+ \renewcommand*{\do}[1]{\setotherlanguage{##1}}%
\docsvlist{#1}}%
-\def\common@language{%
+\def\common@language{% FIXME is this really needed???
\language=\z@
\lefthyphenmin=\tw@
\righthyphenmin=\thr@@}
@@ -1274,34 +1734,47 @@ CHANGES
\providecommand{\foreignlanguage}{}
\renewcommand{\foreignlanguage}[3][]{%
- \ifcsundef{#2@loaded}{\xpg@nolang{#2}\hyphenrules{#2}}{%
- {\def\languagename{#2}%
+ \ifcsundef{#2@loaded}%
+ {\xpg@nogloss{#2}}%
+ {{\select@@language{#2}%
\setkeys{#2}{#1}%
- \csuse@warn{#2@font}%
- \csuse@warn{#2@language}%
- \csuse{date#2}%
- \csuse{#2@numbers}%
\use@localhyphenmins{#2}%
+ \ifbool{#2@frenchspacing}{\frenchspacing}{\nonfrenchspacing}%
\csuse{inlineextras@#2}%
#3}%
- }%
+ }%
}
+% otherlanguage* is the environment equivalent of \foreignlanguage
+\expandafter\providecommand\csname otherlanguage*\endcsname{}
+\renewenvironment{otherlanguage*}[2][]{%
+ \ifcsundef{#2@loaded}%
+ {\bgroup\xpg@nogloss{#2}}%
+ {\bgroup\select@@language{#2}%
+ \setkeys{#2}{#1}%
+ \use@localhyphenmins{#2}%
+ \ifbool{#2@frenchspacing}{\frenchspacing}{\nonfrenchspacing}%
+ \csuse{inlineextras@#2}%
+ }%
+}{\egroup}
+
%Hook that other package authors can use
%(for instance biblatex):
\newcommand*{\xpg@hook@setlanguage}{}
\providecommand{\selectlanguage}{}
\renewcommand{\selectlanguage}[2][]{%
- \ifcsundef{#2@loaded}{\xpg@nolang{#2}\hyphenrules{#2}}{%
- \def\xpg@pop@language{%
+ \ifcsundef{#2@loaded}%
+ {\xpg@nogloss{#2}}%
+ {\def\xpg@pop@language{%
\xpg@set@language{\languagename}%
\xpg@hook@setlanguage%
\let\emp@langname\@undefined}%
\aftergroup\xpg@pop@language%
\setkeys{#2}{#1}%
\xpg@set@language{#2}%
-}}
+ }%
+}
\newcommand{\xpg@set@language}[1]{%
\select@language{#1}%
@@ -1315,19 +1788,26 @@ CHANGES
\def\select@language#1{%
\xpg@initial@setup%
- \edef\languagename{#1}%
- \ifcsundef{RL}{}%
- {\ifcsundef{#1@RL}{\setLR}{\setRL}}%
- \csuse@warn{#1@font}%
- \csuse@warn{#1@language}%
- \use@localhyphenmins{#1}%
+ \select@@language{#1}%
+ \ifcsundef{setRL}{}%
+ {\iftoggle{#1@RL}{\setRL}{\setLR}}%
\csuse{captions#1}%
- \csuse{date#1}%
- \csuse{#1@numbers}%
\local@marks{#1}%
+ \csuse{init@extras@#1}%
\csuse{blockextras@#1}%
}
+% Common code for `\select@language' and `\foreignlanguage'.
+\newcommand{\select@@language}[1]{%
+ \edef\languagename{#1}%
+ \xpg@select@fontfamily{#1}%
+ \csuse@warn{#1@language}%
+ \csuse{date#1}%
+ \csuse{#1@numbers}%
+ \use@localhyphenmins{#1}%
+}
+
+
\let\xpg@pop@language\relax
\provideenvironment{otherlanguage}{}{}
@@ -1338,10 +1818,10 @@ CHANGES
\newcommand{\setlocalhyphenmins}[3]{%
\expandafter\ifx\csname l@#1\endcsname\relax%
- \xpg@warning{\string\setlocalhyphenmin useless for unknown language #1}%
+ \xpg@warning{\string\setlocalhyphenmin\space~ useless~ for~ unknown~ language~ #1}%
\else
\expandafter\ifx\csname l@#1\endcsname\l@nohyphenation%
- \xpg@warning{\string\setlocalhyphenmin useless for unhyphenated language #1}%
+ \xpg@warning{\string\setlocalhyphenmin\space~ useless~ for~ unhyphenated~ language~ #1}%
\else
\providehyphenmins{#1}{#2#3}%
\fi
@@ -1351,40 +1831,13 @@ CHANGES
\ifcsundef{#1hyphenmins}{}%
{\expandafter\expandafter\expandafter\set@hyphenmins\csname #1hyphenmins\endcsname\relax}}
-% FIXME: remove this eventually, say in 2012 :)
-% taken from xelatex.ini, in case the xelatex format is too old
-\ifcsundef{newXeTeXintercharclass}{%
- \xpg@warning{Your xelatex format appears to be outdated!^^J
- Please update your system and recreate it with fmtutil.}
- \newcount\xe@alloc@intercharclass % allocates intercharclass
- \xe@alloc@intercharclass=\thr@@ % from 4 (1,2 and 3 are used by CJK, AFAIK)
- \def\xe@alloc@#1#2#3#4#5{\global\advance#1\@ne
- \xe@ch@ck#1#4#2% make sure there's still room
- \allocationnumber#1%
- \global#3#5\allocationnumber
- \wlog{\string#5=\string#2\the\allocationnumber}}
- \def\xe@ch@ck#1#2#3{%
- \ifnum#1<#2\else
- \errmessage{No room for a new #3}%
- \fi}
- \def\newXeTeXintercharclass{%
- \xe@alloc@\xe@alloc@intercharclass\XeTeXintercharclass\chardef\@cclv} %at most 254
- }
- {}
-
-%% patch lastpage to avoid problem with \thepage when \@arabic is redefined for non-Latin numbers
-%\@ifpackageloaded{lastpage}{%
-%\xpg@info{Redefining lastpage command \string\lastpage@putlabel}%
-%\def\lastpage@putlabel{\addtocounter{page}{-1}%
-% \immediate\write\@auxout{\string
-% \newlabel{LastPage}{{}{\number\c@page}}}%
-% \addtocounter{page}{1}}}%
-% {}
-%
\define@boolkey{polyglossia}[system@]{babelshorthands}[false]{}
+\AtEndPreamble{\@ifpackageloaded{bidi}{\newcommand*{\aemph}[1]{$\overline{\hboxR{#1}}$}}{}}
+
%% Package Options %%
-\DeclareOption{nolocalmarks}{\setkeys{polyglossia}{localmarks=off}}
+\DeclareOption{nolocalmarks}{\setkeys{polyglossia}{localmarks=false}}
+\DeclareOption{localmarks}{\setkeys{polyglossia}{localmarks=true}}
\DeclareOption{babelshorthands}{\setkeys{polyglossia}{babelshorthands=true}}
\DeclareOption{quiet}{%
\gdef\@latex@info#1{\relax}% no latex info
@@ -1392,28 +1845,31 @@ CHANGES
\gdef\@font@warning#1{\relax}% no latex font warnings
\gdef\zf@PackageInfo#1{\relax}% no fontspec info
\gdef\xpg@info#1{\relax}}% no polyglossia info
+%
+% FIXME these should also be loaded \AtEndOfPackage !!!
\def\xpg@option#1#2{%
\ifcsundef{xpg@main@language}{\setdefaultlanguage}{\setotherlanguage}%
[#1]{#2}}
-\DeclareOption{USenglish}{\xpg@option{variant=american}{english}}
-\DeclareOption{american}{\xpg@option{variant=american}{english}}
-\DeclareOption{UKenglish}{\xpg@option{variant=british}{english}}
-\DeclareOption{british}{\xpg@option{variant=british}{english}}
-\DeclareOption{australian}{\xpg@option{variant=australian}{english}}
-\DeclareOption{newzealand}{\xpg@option{variant=newzealand}{english}}
-\DeclareOption{ngerman}{\xpg@option{spelling=new}{german}}
-\DeclareOption{polygreek}{\xpg@option{variant=poly}{greek}}
-\DeclareOption{monogreek}{\xpg@option{variant=mono}{greek}}
-\DeclareOption{ancientgreek}{\xpg@option{variant=ancient}{greek}}
-\DeclareOption*{%
- \edef\@temp{%
- \noexpand\ifcsundef{xpg@main@language}%
- \noexpand\setdefaultlanguage
- \noexpand\setotherlanguage
- {\CurrentOption}%
- }%
- \expandafter\AtEndOfPackage\expandafter{\@temp}%
-}
+%\DeclareOption{USenglish}{\xpg@option{variant=american}{english}}
+%\DeclareOption{american}{\xpg@option{variant=american}{english}}
+%\DeclareOption{UKenglish}{\xpg@option{variant=british}{english}}
+%\DeclareOption{british}{\xpg@option{variant=british}{english}}
+%\DeclareOption{australian}{\xpg@option{variant=australian}{english}}
+%\DeclareOption{newzealand}{\xpg@option{variant=newzealand}{english}}
+%\DeclareOption{ngerman}{\xpg@option{spelling=new}{german}}
+%\DeclareOption{polygreek}{\xpg@option{variant=poly}{greek}}
+%\DeclareOption{monogreek}{\xpg@option{variant=mono}{greek}}
+%\DeclareOption{ancientgreek}{\xpg@option{variant=ancient}{greek}}
+%%% TODO add warning message that this approach is deprecated <<<<<<<<<<<<<<
+%\DeclareOption*{%
+% \edef\@temp{%
+% \noexpand\ifcsundef{xpg@main@language}%
+% \noexpand\setdefaultlanguage
+% \noexpand\setotherlanguage
+% {\CurrentOption}%
+% }%
+% \expandafter\AtEndOfPackage\expandafter{\@temp}%
+%}
\ProcessOptions*
% \end{macrocode}
% \iffalse
@@ -1974,10 +2430,17 @@ CHANGES
% \subsection{hijrical.sty}
% \begin{macrocode}
\ProvidesPackage{hijrical}
- [2007/12/27 v0.1 %
+ [2010/07/12 v0.2 %
Islamic calendar]
-\RequirePackage{bidi}
+\RequirePackage{calc}
\RequirePackage{arabicnumbers}
+\@ifpackageloaded{bidi}{}{\newif\if@RTL\@RTLfalse}
+\@ifpackageloaded{l3calc}{\PackageError{hijrical}{\MessageBreak
+Package l3calc is loaded, which replaces the functionality of
+calc. Computation of Hijri dates will not work properly with
+l3calc! The latest version of expl3 on CTAN no longer loads
+l3calc. Please update expl3!
+}{}}{}
\@ifundefined{@Remainder}{\input{cal-util.def}}{}
@@ -2537,6 +3000,322 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \end{macrocode}
% \iffalse
%</cal-util.def>
+%<*xgreek-fixes.def>
+% \fi
+% \clearpage
+%
+% \subsection{xgreek-fixes.def}
+% \begin{macrocode}
+% the following fixes are taken verbatim from xgreek.sty:
+\global\lccode"0386="03AC \global\uccode"0386="0391
+\global\lccode"0388="03AD \global\uccode"0388="0395
+\global\lccode"0389="03AC \global\uccode"0389="0397
+\global\lccode"038A="03AF \global\uccode"038A="0399
+\global\lccode"038C="03CC \global\uccode"038C="039F
+\global\lccode"038E="03CD \global\uccode"038E="03A5
+\global\lccode"038F="03CE \global\uccode"038F="03A9
+\global\lccode"0390="0390 \global\uccode"0390="03AA
+\global\lccode"0391="03B1 \global\uccode"0391="0391
+\global\lccode"0392="03B2 \global\uccode"0392="0392
+\global\lccode"0393="03B3 \global\uccode"0393="0393
+\global\lccode"0394="03B4 \global\uccode"0394="0394
+\global\lccode"0395="03B5 \global\uccode"0395="0395
+\global\lccode"0396="03B6 \global\uccode"0396="0396
+\global\lccode"0397="03B7 \global\uccode"0397="0397
+\global\lccode"0398="03B8 \global\uccode"0398="0398
+\global\lccode"0399="03B9 \global\uccode"0399="0399
+\global\lccode"039A="03BA \global\uccode"039A="039A
+\global\lccode"039B="03BB \global\uccode"039B="039B
+\global\lccode"039C="03BC \global\uccode"039C="039C
+\global\lccode"039D="03BD \global\uccode"039D="039D
+\global\lccode"039E="03BE \global\uccode"039E="039E
+\global\lccode"039F="03BF \global\uccode"039F="039F
+\global\lccode"03A0="03C0 \global\uccode"03A0="03A0
+\global\lccode"03A1="03C1 \global\uccode"03A1="03A1
+\global\lccode"03A3="03C3 \global\uccode"03A3="03A3
+\global\lccode"03A4="03C4 \global\uccode"03A4="03A4
+\global\lccode"03A5="03C5 \global\uccode"03A5="03A5
+\global\lccode"03A6="03C6 \global\uccode"03A6="03A6
+\global\lccode"03A7="03C7 \global\uccode"03A7="03A7
+\global\lccode"03A8="03C8 \global\uccode"03A8="03A8
+\global\lccode"03A9="03C9 \global\uccode"03A9="03A9
+\global\lccode"03AA="03CA \global\uccode"03AA="03AA
+\global\lccode"03AB="03CB \global\uccode"03AB="03AB
+\global\lccode"03AC="03AC \global\uccode"03AC="0391
+\global\lccode"03AD="03AD \global\uccode"03AD="0395
+\global\lccode"03AE="03AE \global\uccode"03AE="0397
+\global\lccode"03AF="03AF \global\uccode"03AF="0399
+\global\lccode"03B0="03B0 \global\uccode"03B0="03AB
+\global\lccode"03B1="03B1 \global\uccode"03B1="0391
+\global\lccode"03B2="03B2 \global\uccode"03B2="0392
+\global\lccode"03B3="03B3 \global\uccode"03B3="0393
+\global\lccode"03B4="03B4 \global\uccode"03B4="0394
+\global\lccode"03B5="03B5 \global\uccode"03B5="0395
+\global\lccode"03B6="03B6 \global\uccode"03B6="0396
+\global\lccode"03B7="03B7 \global\uccode"03B7="0397
+\global\lccode"03B8="03B8 \global\uccode"03B8="0398
+\global\lccode"03B9="03B9 \global\uccode"03B9="0399
+\global\lccode"03BA="03BA \global\uccode"03BA="039A
+\global\lccode"03BB="03BB \global\uccode"03BB="039B
+\global\lccode"03BC="03BC \global\uccode"03BC="039C
+\global\lccode"03BD="03BD \global\uccode"03BD="039D
+\global\lccode"03BE="03BE \global\uccode"03BE="039E
+\global\lccode"03BF="03BF \global\uccode"03BF="039F
+\global\lccode"03C0="03C0 \global\uccode"03C0="03A0
+\global\lccode"03C1="03C1 \global\uccode"03C1="03A1
+\global\lccode"03C2="03C2 \global\uccode"03C2="03A3
+\global\lccode"03C3="03C3 \global\uccode"03C3="03A3
+\global\lccode"03C4="03C4 \global\uccode"03C4="03A4
+\global\lccode"03C5="03C5 \global\uccode"03C5="03A5
+\global\lccode"03C6="03C6 \global\uccode"03C6="03A6
+\global\lccode"03C7="03C7 \global\uccode"03C7="03A7
+\global\lccode"03C8="03C8 \global\uccode"03C8="03A8
+\global\lccode"03C9="03C9 \global\uccode"03C9="03A9
+\global\lccode"03CA="03CA \global\uccode"03CA="03AA
+\global\lccode"03CB="03CB \global\uccode"03CB="03AB
+\global\lccode"03CC="03CC \global\uccode"03CC="039F
+\global\lccode"03CD="03CD \global\uccode"03CD="03A5
+\global\lccode"03CE="03CE \global\uccode"03CE="03A9
+\global\lccode"03D0="03D0 \global\uccode"03D0="0392
+\global\lccode"03D1="03D1 \global\uccode"03D1="0398
+\global\lccode"03D2="03C5 \global\uccode"03D2="03A5
+\global\lccode"03D3="03CD \global\uccode"03D3="03A5
+\global\lccode"03D4="03CB \global\uccode"03D4="03AB
+\global\lccode"03D5="03C6 \global\uccode"03D5="03A6
+\global\lccode"03D6="03C0 \global\uccode"03D6="03A0
+\global\lccode"03DA="03DB \global\uccode"03DA="03DA
+\global\lccode"03DB="03DB \global\uccode"03DB="03DA
+\global\lccode"03DC="03DD \global\uccode"03DC="03DC
+\global\lccode"03DD="03DD \global\uccode"03DD="03DC
+\global\lccode"03DE="03DF \global\uccode"03DE="03DE
+\global\lccode"03DF="03DF \global\uccode"03DF="03DE
+\global\lccode"03E0="03E1 \global\uccode"03E0="039A
+\global\lccode"03E0="03E1 \global\uccode"03E1="03A1
+\global\lccode"03F0="03BA \global\uccode"03F0="039A
+\global\lccode"03F1="03C1 \global\uccode"03F1="03A1
+\global\lccode"03F2="03F2 \global\uccode"03F2="03F9
+\global\lccode"03F9="03F2 \global\uccode"03F9="03F9
+\global\lccode"1F00="1F00 \global\uccode"1F00="0391
+\global\lccode"1F01="1F01 \global\uccode"1F01="0391
+\global\lccode"1F02="1F02 \global\uccode"1F02="0391
+\global\lccode"1F03="1F03 \global\uccode"1F03="0391
+\global\lccode"1F04="1F04 \global\uccode"1F04="0391
+\global\lccode"1F05="1F05 \global\uccode"1F05="0391
+\global\lccode"1F06="1F06 \global\uccode"1F06="0391
+\global\lccode"1F07="1F07 \global\uccode"1F07="0391
+\global\lccode"1F08="1F00 \global\uccode"1F08="0391
+\global\lccode"1F09="1F01 \global\uccode"1F09="0391
+\global\lccode"1F0A="1F02 \global\uccode"1F0A="0391
+\global\lccode"1F0B="1F03 \global\uccode"1F0B="0391
+\global\lccode"1F0C="1F04 \global\uccode"1F0C="0391
+\global\lccode"1F0D="1F05 \global\uccode"1F0D="0391
+\global\lccode"1F0E="1F06 \global\uccode"1F0E="0391
+\global\lccode"1F0F="1F07 \global\uccode"1F0F="0391
+\global\lccode"1F10="1F10 \global\uccode"1F10="0395
+\global\lccode"1F11="1F11 \global\uccode"1F11="0395
+\global\lccode"1F12="1F12 \global\uccode"1F12="0395
+\global\lccode"1F13="1F13 \global\uccode"1F13="0395
+\global\lccode"1F14="1F14 \global\uccode"1F14="0395
+\global\lccode"1F15="1F15 \global\uccode"1F15="0395
+\global\lccode"1F18="1F10 \global\uccode"1F18="0395
+\global\lccode"1F19="1F11 \global\uccode"1F19="0395
+\global\lccode"1F1A="1F12 \global\uccode"1F1A="0395
+\global\lccode"1F1B="1F13 \global\uccode"1F1B="0395
+\global\lccode"1F1C="1F14 \global\uccode"1F1C="0395
+\global\lccode"1F1D="1F15 \global\uccode"1F1D="0395
+\global\lccode"1F20="1F20 \global\uccode"1F20="0397
+\global\lccode"1F21="1F21 \global\uccode"1F21="0397
+\global\lccode"1F22="1F22 \global\uccode"1F22="0397
+\global\lccode"1F23="1F23 \global\uccode"1F23="0397
+\global\lccode"1F24="1F24 \global\uccode"1F24="0397
+\global\lccode"1F25="1F25 \global\uccode"1F25="0397
+\global\lccode"1F26="1F26 \global\uccode"1F26="0397
+\global\lccode"1F27="1F27 \global\uccode"1F27="0397
+\global\lccode"1F28="1F20 \global\uccode"1F28="0397
+\global\lccode"1F29="1F21 \global\uccode"1F29="0397
+\global\lccode"1F2A="1F22 \global\uccode"1F2A="0397
+\global\lccode"1F2B="1F23 \global\uccode"1F2B="0397
+\global\lccode"1F2C="1F24 \global\uccode"1F2C="0397
+\global\lccode"1F2D="1F25 \global\uccode"1F2D="0397
+\global\lccode"1F2E="1F26 \global\uccode"1F2E="0397
+\global\lccode"1F2F="1F27 \global\uccode"1F2F="0397
+\global\lccode"1F30="1F30 \global\uccode"1F30="0399
+\global\lccode"1F31="1F31 \global\uccode"1F31="0399
+\global\lccode"1F32="1F32 \global\uccode"1F32="0399
+\global\lccode"1F33="1F33 \global\uccode"1F33="0399
+\global\lccode"1F34="1F34 \global\uccode"1F34="0399
+\global\lccode"1F35="1F35 \global\uccode"1F35="0399
+\global\lccode"1F36="1F36 \global\uccode"1F36="0399
+\global\lccode"1F37="1F37 \global\uccode"1F37="0399
+\global\lccode"1F38="1F30 \global\uccode"1F38="0399
+\global\lccode"1F39="1F31 \global\uccode"1F39="0399
+\global\lccode"1F3A="1F32 \global\uccode"1F3A="0399
+\global\lccode"1F3B="1F33 \global\uccode"1F3B="0399
+\global\lccode"1F3C="1F34 \global\uccode"1F3C="0399
+\global\lccode"1F3D="1F35 \global\uccode"1F3D="0399
+\global\lccode"1F3E="1F36 \global\uccode"1F3E="0399
+\global\lccode"1F3F="1F37 \global\uccode"1F3F="0399
+\global\lccode"1F40="1F40 \global\uccode"1F40="039F
+\global\lccode"1F41="1F41 \global\uccode"1F41="039F
+\global\lccode"1F42="1F42 \global\uccode"1F42="039F
+\global\lccode"1F43="1F43 \global\uccode"1F43="039F
+\global\lccode"1F44="1F44 \global\uccode"1F44="039F
+\global\lccode"1F45="1F45 \global\uccode"1F45="039F
+\global\lccode"1F48="1F40 \global\uccode"1F48="039F
+\global\lccode"1F49="1F41 \global\uccode"1F49="039F
+\global\lccode"1F4A="1F42 \global\uccode"1F4A="039F
+\global\lccode"1F4B="1F43 \global\uccode"1F4B="039F
+\global\lccode"1F4C="1F44 \global\uccode"1F4C="039F
+\global\lccode"1F4D="1F45 \global\uccode"1F4D="039F
+\global\lccode"1F50="1F50 \global\uccode"1F50="03A5
+\global\lccode"1F51="1F51 \global\uccode"1F51="03A5
+\global\lccode"1F52="1F52 \global\uccode"1F52="03A5
+\global\lccode"1F53="1F53 \global\uccode"1F53="03A5
+\global\lccode"1F54="1F54 \global\uccode"1F54="03A5
+\global\lccode"1F55="1F55 \global\uccode"1F55="03A5
+\global\lccode"1F56="1F56 \global\uccode"1F56="03A5
+\global\lccode"1F57="1F57 \global\uccode"1F57="03A5
+\global\lccode"1F59="1F51 \global\uccode"1F59="03A5
+\global\lccode"1F5B="1F53 \global\uccode"1F5B="03A5
+\global\lccode"1F5D="1F55 \global\uccode"1F5D="03A5
+\global\lccode"1F5F="1F57 \global\uccode"1F5F="03A5
+\global\lccode"1F60="1F60 \global\uccode"1F60="03A9
+\global\lccode"1F61="1F61 \global\uccode"1F61="03A9
+\global\lccode"1F62="1F62 \global\uccode"1F62="03A9
+\global\lccode"1F63="1F63 \global\uccode"1F63="03A9
+\global\lccode"1F64="1F64 \global\uccode"1F64="03A9
+\global\lccode"1F65="1F65 \global\uccode"1F65="03A9
+\global\lccode"1F66="1F66 \global\uccode"1F66="03A9
+\global\lccode"1F67="1F67 \global\uccode"1F67="03A9
+\global\lccode"1F68="1F60 \global\uccode"1F68="03A9
+\global\lccode"1F69="1F61 \global\uccode"1F69="03A9
+\global\lccode"1F6A="1F62 \global\uccode"1F6A="03A9
+\global\lccode"1F6B="1F63 \global\uccode"1F6B="03A9
+\global\lccode"1F6C="1F64 \global\uccode"1F6C="03A9
+\global\lccode"1F6D="1F65 \global\uccode"1F6D="03A9
+\global\lccode"1F6E="1F66 \global\uccode"1F6E="03A9
+\global\lccode"1F6F="1F67 \global\uccode"1F6F="03A9
+\global\lccode"1F70="1F70 \global\uccode"1F70="0391
+\global\lccode"1F71="1F71 \global\uccode"1F71="0391
+\global\lccode"1F72="1F72 \global\uccode"1F72="0395
+\global\lccode"1F73="1F73 \global\uccode"1F73="0395
+\global\lccode"1F74="1F74 \global\uccode"1F74="0397
+\global\lccode"1F75="1F75 \global\uccode"1F75="0397
+\global\lccode"1F76="1F76 \global\uccode"1F76="0399
+\global\lccode"1F77="1F77 \global\uccode"1F77="0399
+\global\lccode"1F78="1F78 \global\uccode"1F78="039F
+\global\lccode"1F79="1F79 \global\uccode"1F79="039F
+\global\lccode"1F7A="1F7A \global\uccode"1F7A="03A5
+\global\lccode"1F7B="1F7B \global\uccode"1F7B="03A5
+\global\lccode"1F7C="1F7C \global\uccode"1F7C="03A9
+\global\lccode"1F7D="1F7D \global\uccode"1F7D="03A9
+\global\lccode"1F80="1F80 \global\uccode"1F80="1FBC
+\global\lccode"1F81="1F81 \global\uccode"1F81="1FBC
+\global\lccode"1F82="1F82 \global\uccode"1F82="1FBC
+\global\lccode"1F83="1F83 \global\uccode"1F83="1FBC
+\global\lccode"1F84="1F84 \global\uccode"1F84="1FBC
+\global\lccode"1F85="1F85 \global\uccode"1F85="1FBC
+\global\lccode"1F86="1F86 \global\uccode"1F86="1FBC
+\global\lccode"1F87="1F87 \global\uccode"1F87="1FBC
+\global\lccode"1F88="1F80 \global\uccode"1F88="1FBC
+\global\lccode"1F89="1F81 \global\uccode"1F89="1FBC
+\global\lccode"1F8A="1F82 \global\uccode"1F8A="1FBC
+\global\lccode"1F8B="1F83 \global\uccode"1F8B="1FBC
+\global\lccode"1F8C="1F84 \global\uccode"1F8C="1FBC
+\global\lccode"1F8D="1F85 \global\uccode"1F8D="1FBC
+\global\lccode"1F8E="1F86 \global\uccode"1F8E="1FBC
+\global\lccode"1F8F="1F87 \global\uccode"1F8F="1FBC
+\global\lccode"1F90="1F90 \global\uccode"1F90="1FCC
+\global\lccode"1F91="1F91 \global\uccode"1F91="1FCC
+\global\lccode"1F92="1F92 \global\uccode"1F92="1FCC
+\global\lccode"1F93="1F93 \global\uccode"1F93="1FCC
+\global\lccode"1F94="1F94 \global\uccode"1F94="1FCC
+\global\lccode"1F95="1F95 \global\uccode"1F95="1FCC
+\global\lccode"1F96="1F96 \global\uccode"1F96="1FCC
+\global\lccode"1F97="1F97 \global\uccode"1F97="1FCC
+\global\lccode"1F98="1F90 \global\uccode"1F98="1FCC
+\global\lccode"1F99="1F91 \global\uccode"1F99="1FCC
+\global\lccode"1F9A="1F92 \global\uccode"1F9A="1FCC
+\global\lccode"1F9B="1F93 \global\uccode"1F9B="1FCC
+\global\lccode"1F9C="1F94 \global\uccode"1F9C="1FCC
+\global\lccode"1F9D="1F95 \global\uccode"1F9D="1FCC
+\global\lccode"1F9E="1F96 \global\uccode"1F9E="1FCC
+\global\lccode"1F9F="1F97 \global\uccode"1F9F="1FCC
+\global\lccode"1FA0="1FA0 \global\uccode"1FA0="1FFC
+\global\lccode"1FA1="1FA1 \global\uccode"1FA1="1FFC
+\global\lccode"1FA2="1FA2 \global\uccode"1FA2="1FFC
+\global\lccode"1FA3="1FA3 \global\uccode"1FA3="1FFC
+\global\lccode"1FA4="1FA4 \global\uccode"1FA4="1FFC
+\global\lccode"1FA5="1FA5 \global\uccode"1FA5="1FFC
+\global\lccode"1FA6="1FA6 \global\uccode"1FA6="1FFC
+\global\lccode"1FA7="1FA7 \global\uccode"1FA7="1FFC
+\global\lccode"1FA8="1FA0 \global\uccode"1FA8="1FFC
+\global\lccode"1FA9="1FA1 \global\uccode"1FA9="1FFC
+\global\lccode"1FAA="1FA2 \global\uccode"1FAA="1FFC
+\global\lccode"1FAB="1FA3 \global\uccode"1FAB="1FFC
+\global\lccode"1FAC="1FA4 \global\uccode"1FAC="1FFC
+\global\lccode"1FAD="1FA5 \global\uccode"1FAD="1FFC
+\global\lccode"1FAE="1FA6 \global\uccode"1FAE="1FFC
+\global\lccode"1FAF="1FA7 \global\uccode"1FAF="1FFC
+\global\lccode"1FB0="1FB0 \global\uccode"1FB0="1FB8
+\global\lccode"1FB1="1FB1 \global\uccode"1FB1="1FB9
+\global\lccode"1FB2="1FB2 \global\uccode"1FB2="1FBC
+\global\lccode"1FB3="1FB3 \global\uccode"1FB3="1FBC
+\global\lccode"1FB4="1FB4 \global\uccode"1FB4="1FBC
+\global\lccode"1FB6="1FB6 \global\uccode"1FB6="0391
+\global\lccode"1FB7="1FB7 \global\uccode"1FB7="1FBC
+\global\lccode"1FB8="1FB0 \global\uccode"1FB8="1FB8
+\global\lccode"1FB9="1FB1 \global\uccode"1FB9="1FB9
+\global\lccode"1FBA="1F70 \global\uccode"1FBA="0391
+\global\lccode"1FBB="1F71 \global\uccode"1FBB="0391
+\global\lccode"1FBC="1FB3 \global\uccode"1FBC="1FBC
+\global\lccode"1FBD="1FBD \global\uccode"1FBD="1FBD
+\global\lccode"1FC2="1FC2 \global\uccode"1FC2="1FCC
+\global\lccode"1FC3="1FC3 \global\uccode"1FC3="1FCC
+\global\lccode"1FC4="1FC4 \global\uccode"1FC4="1FCC
+\global\lccode"1FC6="1FC6 \global\uccode"1FC6="0397
+\global\lccode"1FC7="1FC7 \global\uccode"1FC7="1FCC
+\global\lccode"1FC8="1F72 \global\uccode"1FC8="0395
+\global\lccode"1FC9="1F73 \global\uccode"1FC9="0395
+\global\lccode"1FCA="1F74 \global\uccode"1FCA="0397
+\global\lccode"1FCB="1F75 \global\uccode"1FCB="0397
+\global\lccode"1FCC="1FC3 \global\uccode"1FCC="1FCC
+\global\lccode"1FD0="1FD0 \global\uccode"1FD0="1FD8
+\global\lccode"1FD1="1FD1 \global\uccode"1FD1="1FD9
+\global\lccode"1FD2="1FD2 \global\uccode"1FD2="03AA
+\global\lccode"1FD3="1FD3 \global\uccode"1FD3="03AA
+\global\lccode"1FD6="1FD6 \global\uccode"1FD6="0399
+\global\lccode"1FD7="1FD7 \global\uccode"1FD7="03AA
+\global\lccode"1FD8="1FD0 \global\uccode"1FD8="1FD8
+\global\lccode"1FD9="1FD1 \global\uccode"1FD9="1FD9
+\global\lccode"1FDA="1F76 \global\uccode"1FDA="0399
+\global\lccode"1FDB="1F77 \global\uccode"1FDB="0399
+\global\lccode"1FE0="1FE0 \global\uccode"1FE0="1FE8
+\global\lccode"1FE1="1FE1 \global\uccode"1FE1="1FE9
+\global\lccode"1FE2="1FE2 \global\uccode"1FE2="03AB
+\global\lccode"1FE3="1FE3 \global\uccode"1FE3="03AB
+\global\lccode"1FE4="1FE4 \global\uccode"1FE4="03A1
+\global\lccode"1FE5="1FE5 \global\uccode"1FE5="1FEC
+\global\lccode"1FE6="1FE6 \global\uccode"1FE6="03A5
+\global\lccode"1FE7="1FE7 \global\uccode"1FE7="03AB
+\global\lccode"1FE8="1FE0 \global\uccode"1FE8="1FE8
+\global\lccode"1FE9="1FE1 \global\uccode"1FE9="1FE9
+\global\lccode"1FEA="1F7A \global\uccode"1FEA="03A5
+\global\lccode"1FEB="1F7B \global\uccode"1FEB="03A5
+\global\lccode"1FEC="1FE5 \global\uccode"1FEC="1FEC
+\global\lccode"1FF2="1FF2 \global\uccode"1FF2="1FFC
+\global\lccode"1FF3="1FF3 \global\uccode"1FF3="1FFC
+\global\lccode"1FF4="1FF4 \global\uccode"1FF4="1FFC
+\global\lccode"1FF6="1FF6 \global\uccode"1FF6="03A9
+\global\lccode"1FF7="1FF7 \global\uccode"1FF7="1FFC
+\global\lccode"1FF8="1F78 \global\uccode"1FF8="039F
+\global\lccode"1FF9="1F79 \global\uccode"1FF9="039F
+\global\lccode"1FFA="1F7C \global\uccode"1FFA="03A9
+\global\lccode"1FFB="1F7D \global\uccode"1FFB="03A9
+\global\lccode"1FFC="1FF3 \global\uccode"1FFC="1FFC
+% \end{macrocode}
+% \iffalse
+%</xgreek-fixes.def>
%<*gloss-albanian.ldf>
% \fi
% \clearpage
@@ -2545,11 +3324,13 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-albanian.ldf}[polyglossia: module for albanian]
\makeatletter
-\def\albanian@font{\selectfontfamilylatin}
-\ifx\l@albanian\@undefined
- \xpg@nopatterns{Albanian}
- \adddialect\l@albanian\l@nohyphenation\fi
+\PolyglossiaSetup{albanian}{
+ hyphennames={albanian},
+ hyphenmins={2,2},
+ indentfirst=true,
+ fontsetup=true,
+}
\def\captionsalbanian{%
\def\refname{Referencat}%
@@ -2581,18 +3362,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
Qershor\or Korrik\or Gusht\or Shtator\or Tetor\or Nëntor\or
Dhjetor\fi \space \number\year}}}
-\def\albanian@language{\language=\l@albanian}
-
-\setlocalhyphenmins{albanian}{2}{2}
-
-\def\noextras@albanian{%
- \nofrench@indent%
- }
-
-\def\blockextras@albanian{%
- \french@indent%
- }
-
% \end{macrocode}
% \iffalse
%</gloss-albanian.ldf>
@@ -2602,14 +3371,17 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
%
% \subsection{gloss-amharic.ldf}
% \begin{macrocode}
-%% RENAME TO gloss-amharic.ldf
\ProvidesFile{gloss-amharic.ldf}[polyglossia: module for amharic]
\makeatletter
-
-\ifx\l@amharic\@undefined%
- %\xpg@nopatterns{Amharic}%
- \adddialect\l@amharic\l@nohyphenation%
-\fi
+\PolyglossiaSetup{amharic}{
+ script=Ethiopic,
+ scripttag=ethi,
+ langtag=AMH,
+ hyphennames={amharic,nohyphenation},
+ %hyphenmins={2,2},
+ fontsetup=true,
+ %TODO localalph=ethnum
+}
\def\captionsamharic{%
\def\refname{የነሥ ጹሁፍ ምንጭ}%
@@ -2803,36 +3575,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\ethnum@five%
}
-\def\amharic@font{%
- \@ifundefined{amharicfont}{%
- \normalfontlatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \@ifundefined{ethiopicfont}{%
- \zf@check@ot@script{ethi}%
- \if@tempswa
- \addfontfeature{Script=Ethiopic}%
- \else
- \PackageError{polyglossia}{^^J
- The current font does not contain the Ethiopic script!^^J
- Please define \string\ethiopicfont\space or \string\amharicfont\space with \string\newfontfamily}%
- \fi
- \zf@check@ot@lang{AMH}%
- \if@tempswa\addfontfeature{Language=Amharic}\fi
- }%
- {\ethiopicfont%
- \zf@check@ot@lang{AMH}%
- \if@tempswa\addfontfeature{Language=Amharic}\fi
- }}%
- {\amharicfont}%
-}
-
-\def\selectnormalfontamharic{%
- \let\normalfont=\amharic@font%
- \def\reset@font{\normalfont}}
-
-\def\amharic@language{\language=\l@amharic}
-
-
% \end{macrocode}
% \iffalse
%</gloss-amharic.ldf>
@@ -2848,12 +3590,16 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\RequirePackage{hijrical}
\makeatletter
-\ifx\l@arabic\@undefined
- %\xpg@nopatterns{arabic}%
- \adddialect\l@arabic\l@nohyphenation
-\fi
-
-\def\arabic@RL{\relax}
+\PolyglossiaSetup{arabic}{
+ script=Arabic,
+ direction=RL,
+ langtag=ARA,
+ scripttag=arab,
+ hyphennames={nohyphenation},
+ fontsetup=true
+ %TODO localalph={abjad,abjad}
+ %TODO localnumber=arabicnumber
+}
\newif\ifeastern@numerals
\def\tmp@mashriq{mashriq}
@@ -2929,32 +3675,32 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\arabicgregmonth@default}}
%\Hijritoday is now locale-aware and will format the date with this macro:
-\DefineFormatHijriDate{arabic}{\@ensure@RTL{%
-\arabicnumber{\value{Hijriday}}\space\HijriMonthArabic{\value{Hijrimonth}}\space\arabicnumber{\value{Hijriyear}}}}
+\DefineFormatHijriDate{arabic}{\@ensure@RTL{\arabicnumber{\value{Hijriday}}%
+ \space\HijriMonthArabic{\value{Hijrimonth}}\space\arabicnumber{\value{Hijriyear}}}}
\def\captionsarabic{%
-\def\prefacename{\@ensure@RTL{مدخل}}%
-\def\refname{\@ensure@RTL{المراجع}}
-\def\abstractname{\@ensure@RTL{ملخص}}%
-\def\bibname{\@ensure@RTL{المصادر}}%
-\def\chaptername{\@ensure@RTL{باب}}%
-\def\appendixname{\@ensure@RTL{الملاحق}}%
-\def\contentsname{\@ensure@RTL{المحتويات}}
-%\def\contentsname{\@ensure@RTL{الفهرس}}%
-\def\listfigurename{\@ensure@RTL{قائمة الأشكال}}%
-\def\listtablename{\@ensure@RTL{قائمة الجداول}}%
-\def\indexname{\@ensure@RTL{الفهرس}}%
-\def\figurename{\@ensure@RTL{شكل}}%
-\def\tablename{\@ensure@RTL{جدول}}%
-\def\partname{\@ensure@RTL{القسم}}%
-\def\enclname{\@ensure@RTL{المرفقات}}%<-- Needs translation
-\def\ccname{\@ensure@RTL{نسخة ل‬}}% <<
-\def\headtoname{\@ensure@RTL{إلى}}%<-- Needs translation
-\def\pagename{\@ensure@RTL{صفحة}}%
-\def\seename{\@ensure@RTL{راجع}}%\alefhamza\nun\za\ra
-\def\alsoname{\@ensure@RTL{راجع أيضًا}}%<<\alefhamza\nun\za\ra
-\def\proofname{\@ensure@RTL{برهان}}%
-\def\glossaryname{\@ensure@RTL{قاموس}}%<<
+ \def\prefacename{\@ensure@RTL{مدخل}}%
+ \def\refname{\@ensure@RTL{المراجع}}
+ \def\abstractname{\@ensure@RTL{ملخص}}%
+ \def\bibname{\@ensure@RTL{المصادر}}%
+ \def\chaptername{\@ensure@RTL{باب}}%
+ \def\appendixname{\@ensure@RTL{الملاحق}}%
+ \def\contentsname{\@ensure@RTL{المحتويات}}
+ %\def\contentsname{\@ensure@RTL{الفهرس}}%
+ \def\listfigurename{\@ensure@RTL{قائمة الأشكال}}%
+ \def\listtablename{\@ensure@RTL{قائمة الجداول}}%
+ \def\indexname{\@ensure@RTL{الفهرس}}%
+ \def\figurename{\@ensure@RTL{شكل}}%
+ \def\tablename{\@ensure@RTL{جدول}}%
+ \def\partname{\@ensure@RTL{القسم}}%
+ \def\enclname{\@ensure@RTL{المرفقات}}%<-- Needs translation
+ \def\ccname{\@ensure@RTL{نسخة ل‬}}% <<
+ \def\headtoname{\@ensure@RTL{إلى}}%<-- Needs translation
+ \def\pagename{\@ensure@RTL{صفحة}}%
+ \def\seename{\@ensure@RTL{راجع}}%\alefhamza\nun\za\ra
+ \def\alsoname{\@ensure@RTL{راجع أيضًا}}%<<\alefhamza\nun\za\ra
+ \def\proofname{\@ensure@RTL{برهان}}%
+ \def\glossaryname{\@ensure@RTL{قاموس}}%<<
}
\def\datearabic{%
\def\today{%
@@ -2964,7 +3710,7 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\if@RTL%
\arabicnumber\day\space\@@arabic@month{\month}%
\space\arabicnumber\year%
- \else% in LR environment we format the gregorian date within \textenglish
+ \else% in LR environment we format the gregorian date within \textenglish
\ifcsdef{english@loaded}{\textenglish{\today}}%else US format
{\normalfontlatin\ifcase\month\or January\or February\or March\or April\or May\or June\or%
July\or August\or September\or October\or November\or December\fi%
@@ -2972,7 +3718,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\fi%
\fi}}
-
\def\arabicnumber#1{%
\ifeastern@numerals
\arabicdigits{\number#1}%
@@ -3007,7 +3752,7 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
%maghribi س -> ص ص -> ض ش -> س ض -> ظ ظ -> غ غ -> ش
\def\abj@maghribi@num@ii#1{%
\ifcase#1\or ي\or ك\or ل\or م\or ن%
- \or ص\or ع\or ف\or ض\fi
+ \or ص\or ع\or ف\or ض\fi
\ifnum#1=\z@\abjad@zero\fi\abj@num@i}
\def\abj@maghribi@num@iii#1{%
\ifcase#1\or ق\or ر\or س\or ت\or ث%
@@ -3039,61 +3784,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\renewcommand\thefootnote{\protect\number{\c@footnote}}%
}
-\def\arabic@language{\language=\l@arabic}
-
-\def\arabic@font{%
- \@ifundefined{arabicfont}{%
- \rmfamilylatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@script{arab}%
- \if@tempswa
- \addfontfeature{Script=Arabic}%
- \else
- \PackageError{polyglossia}{^^J
- The current font does not contain the Arabic script!^^J
- Please define \string\arabicfont\space with \string\newfontfamily}%
- \fi}%
- {\arabicfont}%
-}
-\def\arabic@font@sf{%
- \@ifundefined{arabicfontsf}{%
-% \sffamilylatin%
-% \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
-% \zf@check@ot@script{arab}%
-% \if@tempswa%
-% \addfontfeature{Script=Arabic}%
-% \else%
- \arabic@font%
-% \fi%
- }%
- {\arabicfontsf}%
-}
-\def\arabic@font@tt{%
- \@ifundefined{arabicfonttt}{%
-% \ttfamilylatin%
-% \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
-% \zf@check@ot@script{arab}%
-% \if@tempswa%
-% \addfontfeature{Script=Arabic}%
-% \else%
- \arabic@font%
-% \fi%
- }%
- {\arabicfonttt}%
-}
-
-\def\selectnormalfontarabic{%
- %\edef\@tempa{\if\normalfont\sffamily\noexpand\arabic@font@sf\else
- % \if\normalfont\ttfamily\noexpand\arabic@font@tt\else
- % \noexpand\arabic@font\fi\fi}%
- \let\normalfont=\arabic@font%
- \let\rmfamily=\arabic@font%
- \let\sffamily=\arabic@font@sf%
- \let\ttfamily=\arabic@font@tt%
- \def\reset@font{\normalfont}%
- %\expand\@tempa%
- }
-
\def\blockextras@arabic{%
\let\orig@MakeUppercase\MakeUppercase%
\def\MakeUppercase##1{##1}%
@@ -3106,6 +3796,67 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \end{macrocode}
% \iffalse
%</gloss-arabic.ldf>
+%<*gloss-armenian.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-armenian.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-armenian.ldf}[polyglossia: module for armenian]
+\makeatletter
+
+\PolyglossiaSetup{armenian}{
+ script=Armenian,
+ scripttag=armn,
+ langtag=HYE,
+ hyphennames={armenian},
+ hyphenmins={2,2},
+ fontsetup=true
+}
+
+%\def\captionsarmenian{%
+% \def\refname{}%
+% \def\abstractname{}%
+% \def\bibname{}%
+% \def\prefacename{}%
+% \def\chaptername{}%
+% \def\appendixname{}%
+% \def\contentsname{}%
+% \def\listfigurename{}%
+% \def\listtablename{}%
+% \def\indexname{}%
+% \def\authorname{}%
+% \def\figurename{}%
+% \def\tablename{}%
+% %\def\thepart{}%
+% \def\partname{}%
+% \def\pagename{}%
+% \def\seename{}%
+% \def\alsoname{}%
+% \def\enclname{}%
+% \def\ccname{}%
+% \def\headtoname{}%
+% \def\proofname{}%
+% \def\glossaryname{}%
+%}
+\def\datearmenian{%
+ \def\today{\ifcase\month\or
+ Յունուար\or
+ Փետրուար\or
+ Մարտ\or
+ Ապրիլ\or
+ Մայիս\or
+ Յունիս\or
+ Յուլիս\or
+ Օգոստոս\or
+ Սեպտեմբեր\or
+ Հոկտեմբեր\or
+ Նոյեմբեր\or
+ Դեկտեմբեր\fi
+ \number\day,\space\number\year}}
+% \end{macrocode}
+% \iffalse
+%</gloss-armenian.ldf>
%<*gloss-asturian.ldf>
% \fi
% \clearpage
@@ -3117,18 +3868,13 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
%
\ProvidesFile{gloss-asturian.ldf}[polyglossia: module for asturian]
\makeatletter
-\def\asturian@font{\selectfontfamilylatin}
-
-\ifx\l@asturian\@undefined
- \ifx\l@catalan\@undefined%
- \xpg@nopatterns{asturian}
- \adddialect\l@asturian\l@nohyphenation
- \else
- \xpg@warning{No hyphenation patterns were loaded for `asturian'\MessageBreak
- I will use \string\language=\string\l@catalan\space instead}
- \adddialect\l@asturian\l@catalan
- \fi
-\fi
+\PolyglossiaSetup{asturian}{
+ hyphennames={asturian,catalan},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ indentfirst=true,
+ fontsetup=true,
+}
\def\captionsasturian{%
\def\prefacename{Entamu}%
@@ -3160,22 +3906,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
d'avientu\fi\space de~\number\year}%
}
-\def\asturian@language{\language=\l@asturian}
-
-\setlocalhyphenmins{asturian}{2}{2}%
-
-\def\noextras@asturian{%
- \nonfrenchspacing%
-}
-
-\def\blockextras@asturian{%
- \frenchspacing%
-}
-
-\def\inlineextras@asturian{%
- \frenchspacing%
-}
-
% \end{macrocode}
% \iffalse
%</gloss-asturian.ldf>
@@ -3188,36 +3918,12 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\ProvidesFile{gloss-bahasai.ldf}[polyglossia: module for bahasa indonesia]
\RequirePackage{hijrical}
\makeatletter
-\def\bahasai@font{\selectfontfamilylatin}
-
-\ifx\l@bahasai\@undefined
- \ifx\l@bahasa\@undefined
- \ifx\l@indon\@undefined
- \ifx\l@indonesian\@undefined
- \ifx\l@bahasam\@undefined
- \ifx\l@malay\@undefined
- \ifx\l@meyalu\@undefined
- \xpg@nopatterns{Bahasa Indonesia}
- \adddialect\l@bahasai\l@nohyphenation\relax
- \else
- \let\l@bahasai\l@meyalu
- \fi
- \else
- \let\l@bahasai\l@malay
- \fi
- \else
- \let\l@bahasai\l@bahasam
- \fi
- \else
- \let\l@bahasai\l@indonesian
- \fi
- \else
- \let\l@bahasai\l@indon
- \fi
- \else
- \let\l@bahasai\l@bahasa
- \fi
-\fi
+
+\PolyglossiaSetup{bahasai}{%
+ language=Bahasa Indonesia,
+ hyphennames={indonesian,indon,bahasai,bahasa,bahasam,malay,melayu},
+ hyphenmins={2,2},
+ fontsetup=true}
\def\captionsbahasai{%
\def\refname{Pustaka}%
@@ -3255,10 +3961,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\DefineFormatHijriDate{bahasai}{%
\number\value{Hijriday}\space\hijrimonthbahasai{\value{Hijrimonth}}\space\number\value{Hijriyear}}
-\def\bahasai@language{\language=\l@bahasai}
-
-\setlocalhyphenmins{bahasai}{2}{2}
-
% \end{macrocode}
% \iffalse
%</gloss-bahasai.ldf>
@@ -3271,49 +3973,24 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\ProvidesFile{gloss-bahasam.ldf}[polyglossia: module for bahasa melayu]
\RequirePackage{hijrical}
\makeatletter
-\def\bahasam@font{\selectfontfamilylatin}
-
-\ifx\l@malay\@undefined
- \ifx\l@meyalu\@undefined
- \ifx\l@bahasam\@undefined
- \ifx\l@bahasa\@undefined
- \ifx\l@bahasai\@undefined
- \ifx\l@indon\@undefined
- \ifx\l@indonesian\@undefined
- \xpg@nopatterns{Bahasa Melayu}%
- \adddialect\l@malay\l@nohyphenation\relax
- \else
- \let\l@malay\l@indonesian
- \fi
- \else
- \let\l@malay\l@indon
- \fi
- \else
- \let\l@malay\l@bahasai
- \fi
- \else
- \let\l@malay\l@bahasa
- \fi
- \else
- \let\l@malay\l@bahasam
- \fi
- \else
- \let\l@malay\l@meyalu
- \fi
-\fi
+\PolyglossiaSetup{bahasam}{%
+ language=Bahasa Melayu,
+ hyphennames={malay,melayu,bahasam,bahasa,bahasai,indonesian,indon},
+ hyphenmins={2,2},
+ fontsetup=true}
\def\captionsbahasam{%
- \def\refname{Pustaka}%
- \def\abstractname{Ringkasan}%
+ \def\refname{Rujukan}%
+ \def\abstractname{Abstrak}%
\def\bibname{Bibliografi}%
\def\prefacename{Pendahuluan}%
\def\chaptername{Bab}%
\def\appendixname{Lampiran}%
\def\contentsname{Kandungan}%
- \def\listfigurename{Senarai Gambar}%
+ \def\listfigurename{Senarai Rajah}%
\def\listtablename{Senarai Jadual}%
\def\indexname{Indeks}%
- \def\figurename{Gambar}%
+ \def\figurename{Rajah}%
\def\tablename{Jadual}%
\def\thepart{}%
\def\partname{Bahagian}%
@@ -3321,14 +3998,23 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\def\seename{lihat}%
\def\alsoname{lihat juga}%
\def\enclname{Lampiran}%
- \def\ccname{cc}%
+ \def\ccname{salinan kpd}%
\def\headtoname{Kepada}%
\def\proofname{Bukti}%
- \def\glossaryname{Istilah}%
+ \def\glossaryname{Senarai Istilah}%
}
\def\datebahasam{%
- \def\today{\number\day~\ifcase\month\or
- Januari\or Pebruari\or Mac\or April\or Mei\or Jun\or
+ \def\bahasam@day{%
+ \ifcase\day\or%
+ 1hb\or 2hb\or 3hb\or 4hb\or 5hb\or%
+ 6hb\or 7hb\or 8hb\or 9hb\or 10hb\or%
+ 11hb\or 12hb\or 13hb\or 14hb\or 15hb\or%
+ 16hb\or 17hb\or 18hb\or 19hb\or 20hb\or%
+ 21hb\or 22hb\or 23hb\or 24hb\or 25hb\or%
+ 26hb\or 27hb\or 28hb\or 29hb\or 30hb\or%
+ 31hb\fi}%
+ \def\today{\bahasam@day~\ifcase\month\or
+ Januari\or Februari\or Mac\or April\or Mei\or Jun\or
Julai\or Ogos\or September\or Oktober\or November\or Disember\fi
\space \number\year}}
@@ -3338,10 +4024,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\DefineFormatHijriDate{bahasam}{%
\number\value{Hijriday}\space\hijrimonthbahasam{\value{Hijrimonth}}\space\number\value{Hijriyear}}
-\def\bahasam@language{\language=\l@malay}
-
-\setlocalhyphenmins{bahasam}{2}{2}
-
% \end{macrocode}
% \iffalse
%</gloss-bahasam.ldf>
@@ -3353,12 +4035,12 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-basque.ldf}[polyglossia: module for basque]
\makeatletter
-\def\basque@font{\selectfontfamilylatin}
-
-\ifx\l@basque\@undefined%
- \xpg@nopatterns{Basque}%
- \adddialect\l@basque\l@nohyphenation%
-\fi
+\PolyglossiaSetup{basque}{
+ hyphennames={basque},
+ hyphenmins={2,2},
+ indentfirst=true,
+ fontsetup=true,
+}
\def\captionsbasque{%
\def\refname{Erreferentziak}%
@@ -3391,13 +4073,95 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
irailaren\or urriaren\or azaroaren\or
abenduaren\fi~\number\day}}
-\def\basque@language{\language=\l@basque}
+% \end{macrocode}
+% \iffalse
+%</gloss-basque.ldf>
+%<*gloss-bengali.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-bengali.ldf}
+% \begin{macrocode}
+% Translations provided by সাজেদুর রহিম জোয়ারদার <toshazed@gmail.com>
+% TODO implement Bengali calendar
+
+\ProvidesFile{gloss-bengali.ldf}[polyglossia: module for bengali]
+\RequirePackage{devanagaridigits}
+\makeatletter
+
+\PolyglossiaSetup{bengali}{
+ script=Bengali,
+ scripttag=beng,
+ langtag=BEN,
+ hyphennames={bengali},
+ hyphenmins={2,2},%CHECK
+ fontsetup=true,
+ %TODO nouppercase=true,
+ %TODO localnumber=bengalinumber
+}
+
+\def\tmp@western{Western}
+\newif\ifbengali@devanagari@numerals
+\bengali@devanagari@numeralstrue
-\setlocalhyphenmins{basque}{2}{2}
+\define@key{bengali}{numerals}[Devanagari]{%
+ \def\@tmpa{#1}%
+ \ifx\@tmpa\tmp@western
+ \bengali@devanagari@numeralsfalse
+ \fi}
+
+\def\captionsbengali{%
+ \def\refname{তথ্যসুত্রসমূহ}%
+ \def\abstractname{সারসংক্ষেপ}%
+ \def\bibname{তথ্যবিবরণ}%
+ \def\prefacename{পূর্বকথা}%
+ \def\chaptername{অধ্যায়}%
+ \def\appendixname{পরিশিষ্ট}%
+ \def\contentsname{সূচীপত্র}%
+ \def\listfigurename{ছবি/নকশা সমূহের তালিকা}%
+ \def\listtablename{তালিকাসারণী}%
+ \def\indexname{সূচক/নির্দেশক}%
+ \def\figurename{ছবি/নকশা}%
+ \def\tablename{সারনী}%
+ %\def\thepart{}% TODO
+ \def\partname{খন্ড}%
+ \def\pagename{পৃষ্ঠা}%
+ \def\seename{দেখুন}%
+ \def\alsoname{আরও দেখুন}%
+ \def\enclname{সংযুক্তি}%
+ \def\ccname{অনুলিপি}%
+ \def\headtoname{প্রতি}%
+ \def\proofname{প্রমাণ}%
+ \def\glossaryname{পরিভাষার শব্দসম্ভার}%
+}
+\def\datebengali{%
+ \def\bengalimonth{%
+ \ifcase\month\or
+ জানুয়ারী\or
+ ফেব্রুয়ারী\or
+ মার্চ\or
+ এপ্রিল\or
+ মে\or
+ জুন\or
+ জুলাই\or
+ আগষ্ট\or
+ সেপ্টেম্বর\or
+ অক্টোবর\or
+ নভেম্বর\or
+ ডিসেম্বর\fi}%
+ \def\today{\bengalinumber\day\space\bengalimonth\space\bengalinumber\year}%
+}
+
+\def\bengalinumber#1{%
+ \ifbengali@devanagari@numerals
+ \devanagaridigits{\number#1}%
+ \else
+ \number#1%
+ \fi}
% \end{macrocode}
% \iffalse
-%</gloss-basque.ldf>
+%</gloss-bengali.ldf>
%<*gloss-brazil.ldf>
% \fi
% \clearpage
@@ -3406,17 +4170,12 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-brazil.ldf}[polyglossia: module for portuguese]
\makeatletter
-\def\brazil@font{\selectfontfamilylatin}
-
-%FIXME check this:
-\ifx\l@brazil\@undefined
- \ifx\l@portuguese\@undefined
- \xpg@nopatterns{Brazilian Portuguese}
- \adddialect\l@brazil\l@nohyphenation
- \else
- \let\l@brazil\l@portuguese
- \fi
-\fi
+\PolyglossiaSetup{brazil}{
+ language=Brazilian Portuguese,
+ hyphennames={brazil,portuguese,portuges},
+ hyphenmins={2,3},
+ fontsetup=true,
+}
\def\captionsbrazil{%
\def\refname{Referências}%
@@ -3449,10 +4208,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\fi\space de\space\number\year}%
}
-\def\brazil@language{\language=\l@brazil}
-
-\setlocalhyphenmins{brazil}{2}{3}
-
% \end{macrocode}
% \iffalse
%</gloss-brazil.ldf>
@@ -3464,12 +4219,13 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-breton.ldf}[polyglossia: module for breton]
\makeatletter
-\def\breton@font{\selectfontfamilylatin}
-
-\ifx\l@breton\@undefined%
- \xpg@nopatterns{Breton}%
- \adddialect\l@breton\l@nohyphenation%
-\fi
+\PolyglossiaSetup{breton}{
+ hyphennames={breton},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ indentfirst=true,
+ fontsetup=true,
+}
\newXeTeXintercharclass\breton@punctthin % ! ? ;
\newXeTeXintercharclass\breton@punctthick % :
@@ -3478,7 +4234,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\def\breton@punctthickspace{{\unskip\nobreakspace}}
\def\breton@punctuation{%
- \frenchspacing%
\XeTeXinterchartokenstate=1%
\XeTeXcharclass `\! \breton@punctthin
\XeTeXcharclass `\? \breton@punctthin
@@ -3486,10 +4241,13 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\XeTeXcharclass `\: \breton@punctthick
\XeTeXinterchartoks \z@ \breton@punctthin = \breton@punctthinspace
\XeTeXinterchartoks \z@ \breton@punctthick = \breton@punctthickspace
- }
+}
\def\nobreton@punctuation{%
- \nonfrenchspacing%
+ \XeTeXcharclass `\! \z@
+ \XeTeXcharclass `\? \z@
+ \XeTeXcharclass `\; \z@
+ \XeTeXcharclass `\: \z@
\XeTeXinterchartokenstate=0%
}
@@ -3525,10 +4283,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
Gouere\or Eost\or Gwengolo\or Here\or Du\or Kerzu\fi
\space\number\year}}
-\def\breton@language{\language=\l@breton}
-
-\setlocalhyphenmins{breton}{2}{2}
-
\def\noextras@breton{%
\nobreton@punctuation%
}
@@ -3552,11 +4306,16 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-bulgarian.ldf}[polyglossia: module for bulgarian]
\makeatletter
-
-\ifx\l@bulgarian\@undefined%
- \xpg@nopatterns{Bulgarian}%
- \adddialect\l@bulgarian\l@nohyphenation%
-\fi
+\PolyglossiaSetup{bulgarian}{
+ script=Cyrillic,
+ scripttag=cyrl,
+ langtag=BGR,
+ hyphennames={bulgarian},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ fontsetup
+ %TODO localalph=bulgarian@alph
+}
\def\bulgarian@Alph#1{%
\ifcase#1\or
@@ -3631,46 +4390,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\def\todayRoman{\number\day.\,\month@Roman.\,\number\year~г.}%
}
-\def\bulgarian@language{\language=\l@bulgarian}
-
-\def\bulgarian@font{%
- \@ifundefined{bulgarianfont}{%
- \@ifundefined{cyrillicfont}{%
- \normalfontlatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@script{cyrl}%
- \if@tempswa
- \addfontfeature{Script=Cyrillic}%
- \else
- \PackageError{polyglossia}{^^J
- The current font does not contain the Cyrillic script!^^J
- Please define \string\cyrillicfont\space or \string\bulgarianfont\space with \string\newfontfamily}%
- \fi
- \zf@check@ot@lang{BGR}%
- \if@tempswa\addfontfeature{Language=Bulgarian}\fi
- }%
- {\cyrillicfont%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@lang{BGR}%
- \if@tempswa\addfontfeature{Language=Bulgarian}\fi
- }}%
- {\bulgarianfont}%
-}
-
-\setlocalhyphenmins{bulgarian}{2}{2}%
-
-\def\noextras@bulgarian{%
- \nonfrenchspacing%
- }
-
-\def\blockextras@bulgarian{%
- \frenchspacing%
- }
-
-\def\inlineextras@bulgarian{%
- \frenchspacing%
- }
-
% \end{macrocode}
% \iffalse
%</gloss-bulgarian.ldf>
@@ -3682,12 +4401,13 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-catalan.ldf}[polyglossia: module for catalan]
\makeatletter
-\def\catalan@font{\selectfontfamilylatin}
-
-\ifx\l@catalan\@undefined%
- \xpg@nopatterns{Catalan}%
- \adddialect\l@catalan\l@nohyphenation%
-\fi
+\PolyglossiaSetup{catalan}{
+ hyphennames={catalan},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ indentfirst=true,
+ fontsetup=true,
+}
\define@boolkey{catalan}[catalan@]{babelshorthands}[true]{}
\ifsystem@babelshorthands
@@ -3796,22 +4516,15 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
de novembre\or de desembre\fi
\space de~\number\year}}
-\def\catalan@language{\language=\l@catalan}
-
-\setlocalhyphenmins{catalan}{2}{2}
-
\def\noextras@catalan{%
- \nonfrenchspacing%
\nocatalan@shorthands%
}
\def\blockextras@catalan{%
- \frenchspacing%
\ifcatalan@babelshorthands\catalan@shorthands\fi%
}
\def\inlineextras@catalan{%
- \frenchspacing%
\ifcatalan@babelshorthands\catalan@shorthands\fi%
}
% \end{macrocode}
@@ -3825,11 +4538,15 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-coptic.ldf}[polyglossia: module for coptic]
\makeatletter
-
-\ifx\l@coptic\@undefined%
- \xpg@nopatterns{Coptic}%
- \adddialect\l@coptic\l@nohyphenation%
-\fi
+\PolyglossiaSetup{coptic}{
+ script=Coptic,
+ direction=RL,
+ scripttag=copt,
+ langtag=COP,
+ hyphennames={coptic},
+ hyphenmins={2,2},
+ fontsetup=true
+}
%\def\captionscoptic{%
% \def\refname{<++>}%
@@ -3859,31 +4576,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \def\today{<++>}%
% }
-\def\coptic@language{\language=\l@coptic}
-
-\def\coptic@font{%
- \@ifundefined{copticfont}{%
- \normalfontlatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@script{copt}%
- \if@tempswa
- \addfontfeature{Script=Coptic}%
- \zf@check@ot@lang{COP}%
- \if@tempswa\addfontfeature{Language=Coptic}\fi
- \else
- \PackageError{polyglossia}{^^J
- The current font does not contain the Coptic script!^^J
- Please define \string\copticfont\space with \string\newfontfamily}%
- \fi}%
- {\copticfont}%
-}
-
-\def\selectnormalfontcoptic{%
- \let\normalfont=\coptic@font%
- \def\reset@font{\normalfont}}
-
-\setlocalhyphenmins{coptic}{2}{2}
-
% \end{macrocode}
% \iffalse
%</gloss-coptic.ldf>
@@ -3895,12 +4587,12 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-croatian.ldf}[polyglossia: module for croatian]
\makeatletter
-\def\croatian@font{\selectfontfamilylatin}
-
-\ifx\l@croatian\@undefined%
- \xpg@nopatterns{Croatian}%
- \adddialect\l@croatian\l@nohyphenation%
-\fi
+\PolyglossiaSetup{croatian}{
+ hyphennames={croatian},
+ hyphenmins={2,2},
+ indentfirst=true,
+ fontsetup=true,
+}
\def\captionscroatian{%
\def\refname{Literatura}%
@@ -3915,7 +4607,7 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\def\indexname{Indeks}%
\def\figurename{Slika}%
\def\tablename{Tablica}%
- \def\partname{Deo}% <<< CHECK (taken from Serbian)
+ \def\partname{Dio}%
\def\pagename{Stranica}%
\def\seename{Vidjeti}%
\def\alsoname{Vidjeti i}%
@@ -3931,10 +4623,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
lipnja\or srpnja\or kolovoza\or rujna\or listopada\or studenog\or
prosinca\fi \space \number\year.}}
-\def\croatian@language{\language=\l@croatian}
-
-\setlocalhyphenmins{croatian}{2}{2}
-
% \end{macrocode}
% \iffalse
%</gloss-croatian.ldf>
@@ -3946,12 +4634,12 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-czech.ldf}[polyglossia: module for czech]
\makeatletter
-\def\czech@font{\selectfontfamilylatin}
-
-\ifx\l@czech\@undefined%
- \xpg@nopatterns{Czech}%
- \adddialect\l@czech\l@nohyphenation%
-\fi
+\PolyglossiaSetup{czech}{
+ hyphennames={czech},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ fontsetup=true,
+}
\def\captionsczech{%
\def\refname{Reference}%
@@ -3984,22 +4672,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
října\or listopadu\or prosince\fi
\space \number\year}}
-\def\czech@language{\language=\l@czech}
-
-\setlocalhyphenmins{czech}{2}{2}%
-
-\def\noextras@czech{%
- \nonfrenchspacing%
- }
-
-\def\blockextras@czech{%
- \frenchspacing%
- }
-
-\def\inlineextras@czech{%
- \frenchspacing%
- }
-
% \end{macrocode}
% \iffalse
%</gloss-czech.ldf>
@@ -4011,12 +4683,12 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-danish.ldf}[polyglossia: module for danish]
\makeatletter
-\def\danish@font{\selectfontfamilylatin}
-
-\ifx\l@danish\@undefined
- \xpg@nopatterns{Danish}
- \adddialect\l@danish\l@nohyphenation
-\fi
+\PolyglossiaSetup{danish}{
+ hyphennames={danish},
+ hyphenmins={2,3},
+ frenchspacing=true,
+ fontsetup=true,
+}
\def\captionsdanish{%
\def\prefacename{Forord}%
@@ -4045,23 +4717,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
juli\or august\or september\or oktober\or november\or december\fi
\space\number\year}
-\def\danish@language{%
- \language=\l@danish}
-
-\setlocalhyphenmins{danish}{2}{3}%
-
-\def\noextras@danish{%
- \nonfrenchspacing%
- }
-
-\def\blockextras@danish{%
- \frenchspacing%
- }
-
-\def\inlineextras@danish{%
- \frenchspacing%
- }
-
% \end{macrocode}
% \iffalse
%</gloss-danish.ldf>
@@ -4074,13 +4729,13 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\ProvidesFile{gloss-divehi.ldf}[polyglossia: module for divehi]
\RequirePackage{bidi}
\makeatletter
-
-\ifx\l@divehi\@undefined%
- %\xpg@nopatterns{Divehi}%
- \adddialect\l@divehi\l@nohyphenation%
-\fi
-
-\def\divehi@RL{\relax}
+\PolyglossiaSetup{divehi}{
+ script=Thaana,
+ scripttag=thaa,
+ direction=RL,
+ hyphennames={nohyphenation},
+ fontsetup=true
+}
%\def\captionsdivehi{%
% \def\refname{<++>}%
@@ -4108,34 +4763,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% }
%\def\datedivehi{\def\today{<++>}}
-\def\divehi@language{\language=\l@divehi}
-
-\def\divehi@font{%
- \@ifundefined{divehifont}{%
- \@ifundefined{thaanafont}{%
- \normalfontlatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@script{thaa}%
- \if@tempswa
- \addfontfeature{Script=Thaana}%
- \else
- \PackageError{polyglossia}{^^J
- The current font does not contain the Thaana script!^^J
- Please define \string\thaanafont\space or \string\divehifont\space with \string\newfontfamily}%
- \fi
- }%
- {\thaanafont}}%
- {\divehifont}%
-}
-
-\def\selectnormalfontdivehi{%
- \let\normalfont=\divehi@font%
- \let\rmfamily=\divehi@font%
- % TODO add setup to define Sans and Mono fonts if desired
- \let\sffamily=\divehi@font%
- \let\ttfamily=\divehi@font%
- \def\reset@font{\normalfont}}
-
\def\blockextras@divehi{%
\let\@@MakeUppercase\MakeUppercase%
\def\MakeUppercase##1{##1}%
@@ -4155,19 +4782,11 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-dutch.ldf}[polyglossia: module for dutch]
\makeatletter
-\def\dutch@font{\selectfontfamilylatin}
-
-\ifx\l@dutch\@undefined
- \xpg@nopatterns{Dutch}
- \adddialect\l@dutch\l@nohyphenation
-\fi
-
-\def\dutch@punctuation{%
- \frenchspacing%
-}
-
-\def\nodutch@punctuation{%
- \nonfrenchspacing%
+\PolyglossiaSetup{dutch}{
+ hyphennames={dutch},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ fontsetup=true,
}
\define@boolkey{dutch}[dutch@]{babelshorthands}[true]{}
@@ -4229,22 +4848,15 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
december\fi
\space \number\year}}
-\def\dutch@language{\language=\l@dutch}
-
-\setlocalhyphenmins{dutch}{2}{2}%
-
\def\noextras@dutch{%
- \nodutch@punctuation%
\nodutch@shorthands%
}
\def\blockextras@dutch{%
- \dutch@punctuation%
\ifdutch@babelshorthands\dutch@shorthands\fi%
}
\def\inlineextras@dutch{%
- \dutch@punctuation%
\ifdutch@babelshorthands\dutch@shorthands\fi%
}
@@ -4259,66 +4871,66 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-english.ldf}[polyglossia: module for english]
\makeatletter
-%TODO change to \selectnormalfontlatin in all ldfs
-\def\english@font{\selectfontfamilylatin}
-
-\ifx\l@english\@undefined%
- \ifx\l@USenglish\@undefined%
- \ifx\l@american\@undefined%
- \xpg@nopatterns{English}%
- \adddialect\l@english\l@nohyphenation%
- \else%
- \let\l@english\l@american%
- \fi%
- \else%
- \let\l@english\l@USenglish%
- \fi%
-\fi
-\ifx\l@american\@undefined%
- \let\l@american\l@english%
-\fi
-\ifx\l@british\@undefined%
- \ifx\l@UKenglish\@undefined%
- \adddialect\l@british\l@english%
- \else%
- \let\l@british\l@UKenglish%
- \fi%
-\fi
-
-\def\tmp@us{us}
-\def\tmp@usmax{usmax}
-\def\tmp@uk{uk}
-\def\tmp@british{british}
-\def\tmp@american{american}
-\def\tmp@australian{australian}
-\def\tmp@newzealand{newzealand}
-\def\en@variant{english}
-\def\english@language{\expandafter\protect\expandafter\language=\csname l@\en@variant\endcsname}
-
-\newif\if@ordinalmonthday
-
-\define@key{english}{variant}[american]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@uk\def\en@variant{british}\@ordinalmonthdaytrue%
- \xpg@info{Option: english variant=british}%
- \else\ifx\@tmpa\tmp@british\def\en@variant{british}\@ordinalmonthdaytrue%
- \xpg@info{Option: english variant=british}%
- \else\ifx\@tmpa\tmp@us\def\en@variant{american}\@ordinalmonthdayfalse%
- \xpg@info{Option: english variant=american}%
- \else\ifx\@tmpa\tmp@usmax\def\en@variant{usenglishmax}\@ordinalmonthdayfalse%
- \xpg@info{Option: english variant=american (with additional patterns)}%
- \else\ifx\@tmpa\tmp@australian\def\en@variant{british}\@ordinalmonthdayfalse%
- \xpg@info{Option: english variant=australian}%
- \else\ifx\@tmpa\tmp@newzealand\def\en@variant{british}\@ordinalmonthdayfalse%
- \xpg@info{Option: english variant=newzealand}%
- \fi\fi\fi\fi\fi\fi}
-
-\def\tmp@true{true}
-\define@key{english}{ordinalmonthday}[false]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@true\@ordinalmonthdaytrue%
- \else\@ordinalmonthdayfalse%
- \fi}
+\PolyglossiaSetup{english}{
+ hyphennames={english,american,usenglish,USenglish},
+ hyphenmins={2,3},
+ fontsetup=true,
+}
+
+\newif\if@british@locale
+\@british@localefalse
+\providebool{@british@hyphen}
+\providebool{english@ordinalmonthday}
+
+\define@boolkey{english}[english@]{ordinalmonthday}[true]{}
+
+%% English is a special case in that \l@english is reserved for US English, so
+%% we need to handle it differently
+\define@key{english}{variant}{%
+ %needs to be reset for loop over hyphennames below:
+ \renewcommand*{\do}[1]{%
+ \ifcsdef{l@#1}%
+ {\csletcs{l@english}{l@#1}\listbreak}%
+ {}%
+ }%
+ \ifstrequal{#1}{uk}%
+ {\@british@localetrue
+ \xpg@info{Option: english variant=british}}%
+ {\ifstrequal{#1}{british}%
+ {\@british@localetrue
+ \xpg@info{Option: english variant=british}}%
+ {\ifstrequal{#1}{us}% these patterns are the default so we don't need to reset them
+ {\@british@hyphenfalse\english@ordinalmonthdayfalse
+ \xpg@info{Option: english variant=american}}%
+ {\ifstrequal{#1}{usmax}%
+ {\@british@hyphenfalse\english@ordinalmonthdayfalse
+ \setkeys[xpg@setup]{english}{hyphennames={usenglishmax}}%
+ \xpg@info{Option: english variant=american (with additional patterns)}}%
+ \ifcsundef{l@usenglishmax}%
+ {\xpg@warning{No hyphenation patterns were loaded for "US English Max"\MessageBreak
+ I will use the standard patterns for US English instead}%
+ \adddialect\l@usenglishmax\l@english\relax}{}%
+ \gdef\english@language{\language=\l@usenglishmax}}%
+ {\ifstrequal{#1}{australian}%
+ {\@british@hyphentrue\english@ordinalmonthdayfalse
+ \xpg@info{Option: english variant=australian}}%
+ {\ifstrequal{#1}{newzealand}%
+ {\@british@hyphentrue\english@ordinalmonthdayfalse
+ \xpg@info{Option: english variant=newzealand}}%
+ {\xpg@warning{Unknown English variant `#1'}}%
+ }}}}%
+ \if@british@locale\@british@hyphentrue\english@ordinalmonthdaytrue\fi
+ \if@british@hyphen
+ \setkeys[xpg@setup]{english}{hyphennames={ukenglish,british,UKenglish}}%
+ \ifcsundef{l@ukenglish}%
+ {\xpg@warning{No hyphenation patterns were loaded for British English\MessageBreak
+ I will use the patterns for US English instead}%
+ \adddialect\l@ukenglish\l@english\relax}{}%
+ \gdef\english@language{\language=\l@ukenglish}%
+ \fi
+ % and we reset \do to its previous definition here:
+ \renewcommand*{\do}[1]{\setotherlanguage{#1}}%
+}
\def\captionsenglish{%
\def\prefacename{Preface}%
@@ -4341,35 +4953,29 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\def\seename{see}%
\def\alsoname{see also}%
\def\proofname{Proof}%
- }
+}
\def\dateenglish{%
\def\english@day{%
- \if@ordinalmonthday%
- \ifcase\day\or%
- 1st\or 2nd\or 3rd\or 4th\or 5th\or%
- 6th\or 7th\or 8th\or 9th\or 10th\or%
- 11th\or 12th\or 13th\or 14th\or 15th\or%
- 16th\or 17th\or 18th\or 19th\or 20th\or%
- 21st\or 22nd\or 23rd\or 24th\or 25th\or%
- 26th\or 27th\or 28th\or 29th\or 30th\or%
- 31st\fi%
+ \ifenglish@ordinalmonthday
+ \ifcase\day\or
+ 1st\or 2nd\or 3rd\or 4th\or 5th\or
+ 6th\or 7th\or 8th\or 9th\or 10th\or
+ 11th\or 12th\or 13th\or 14th\or 15th\or
+ 16th\or 17th\or 18th\or 19th\or 20th\or
+ 21st\or 22nd\or 23rd\or 24th\or 25th\or
+ 26th\or 27th\or 28th\or 29th\or 30th\or
+ 31st\fi
\else\number\day\fi}%
+ \def\english@month{\ifcase\month\or
+ January\or February\or March\or April\or May\or June\or
+ July\or August\or September\or October\or November\or December\fi}%
\def\today{%
- \ifx\en@variant\tmp@british%
- \english@day\space%
- \ifcase\month\or%
- January\or February\or March\or April\or May\or June\or%
- July\or August\or September\or October\or November\or December\fi%
- \space\number\year%
- \else%
- \ifcase\month\or%
- January\or February\or March\or April\or May\or June\or%
- July\or August\or September\or October\or November\or December\fi%
- \space\english@day, \number\year%
- \fi}%
- }
-
-%\setlocalhyphenmins{english}{2}{3}% this is the default in babel
+ \if@british@locale
+ \english@day\space\english@month\space\number\year
+ \else
+ \english@month\space\english@day, \number\year
+ \fi}
+}
% \end{macrocode}
% \iffalse
@@ -4382,12 +4988,12 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-esperanto.ldf}[polyglossia: module for esperanto]
\makeatletter
-\def\esperanto@font{\selectfontfamilylatin}
-
-\ifx\l@esperanto\@undefined%
- \xpg@nopatterns{Esperanto}%
- \adddialect\l@esperanto\l@nohyphenation%
-\fi
+\PolyglossiaSetup{esperanto}{
+ hyphennames={esperanto},
+ hyphenmins={2,2},
+ fontsetup=true,
+ %TODO localalph={esperanto@alph,esperanto@Alph}
+}
\def\captionsesperanto{%
\def\refname{Citaĵoj}%
@@ -4434,8 +5040,8 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
P\or R\or S\or Ŝ\or T\or U\or Ŭ\or V\or Z\else\xpg@ill@value{#1}{esperanto@Alph}\fi}%
\def\esperanto@numbers{%
- \let\latin@Alph\@Alph%
- \let\latin@alph\@alph%
+ \let\latin@Alph\@Alph%
+ \let\latin@alph\@alph%
\let\@Alph\esperanto@Alph%
\let\@alph\esperanto@alph%
}
@@ -4445,10 +5051,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\let\@alph\latin@alph%
}
-\def\esperanto@language{\language=\l@esperanto}
-
-\setlocalhyphenmins{esperanto}{2}{2}%
-
% \end{macrocode}
% \iffalse
%</gloss-esperanto.ldf>
@@ -4460,12 +5062,12 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-estonian.ldf}[polyglossia: module for estonian]
\makeatletter
-\def\estonian@font{\selectfontfamilylatin}
-
-\ifx\l@estonian\@undefined%
- \xpg@nopatterns{Estonian}%
- \adddialect\l@estonian\l@nohyphenation%
-\fi
+\PolyglossiaSetup{estonian}{
+ hyphennames={estonian},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ fontsetup=true,
+}
\def\captionsestonian{%
\def\refname{Viited}%
@@ -4497,22 +5099,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
juuli\or august\or september\or oktoober\or november\or
detsember\fi\space\number\year.\space a.}}
-\def\estonian@language{\language=\l@estonian}
-
-\setlocalhyphenmins{estonian}{2}{2}%
-
-\def\noextras@estonian{%
- \nonfrenchspacing%
- }
-
-\def\blockextras@estonian{%
- \frenchspacing%
- }
-
-\def\inlineextras@estonian{%
- \frenchspacing%
- }
-
% \end{macrocode}
% \iffalse
%</gloss-estonian.ldf>
@@ -4528,13 +5114,14 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\RequirePackage{farsical}
\RequirePackage{hijrical}
\makeatletter
-
-\ifx\l@farsi\@undefined
- %\xpg@nopatterns{Farsi}%
- \adddialect\l@farsi\l@nohyphenation
-\fi
-
-\def\farsi@RL{\relax}
+\PolyglossiaSetup{farsi}{
+ script=Arabic,
+ direction=RL,
+ scripttag=arab,
+ langtag=FAR,
+ hyphennames={nohyphenation},
+ fontsetup=true
+}
\newif\if@western@numerals
\def\tmp@western{western}
@@ -4639,66 +5226,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\renewcommand\thefootnote{\protect\number{\c@footnote}}%
}
-\def\farsi@language{\language=\l@farsi}
-
-\def\farsi@font{%
- \@ifundefined{farsifont}{%
- \@ifundefined{arabicfont}{%
- \normalfontlatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@script{arab}%
- \if@tempswa
- \addfontfeature{Script=Arabic}%
- \else
- \PackageError{polyglossia}{^^J
- The current font does not contain the Arabic script!^^J
- Please define \string\arabicfont\space or \string\farsifont\space with \newfontfamily}%
- \fi
- \zf@check@ot@lang{FAR}%
- \if@tempswa\addfontfeature{Language=Farsi}\fi}%
- {\arabicfont%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@lang{FAR}%
- \if@tempswa\addfontfeature{Language=Farsi}\fi}%
- }%
- {\farsifont}%
-}
-
-% TODO add setup to define Sans and Mono Arabic fonts if desired
-\def\farsi@font@sf{%
- \@ifundefined{farsifontsf}{%
-% \sffamily% FIXME
-% \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
-% \zf@check@ot@script{arab}%
-% \if@tempswa
-% \addfontfeature{Script=Arabic}%
-% \else
- \farsi@font%
-% \fi
- }%
- {\farsifontsf}%
-}
-\def\farsi@font@tt{%
- \@ifundefined{farsifonttt}{%
-% \ttfamily% FIXME
-% \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
-% \zf@check@ot@script{arab}%
-% \if@tempswa
-% \addfontfeature{Script=Arabic}%
-% \else
- \farsi@font%
-% \fi
- }%
- {\farsifonttt}%
-}
-
-\def\selectnormalfontfarsi{%
- \let\normalfont=\farsi@font%
- \let\rmfamily=\farsi@font%
- \let\sffamily=\farsi@font@sf%
- \let\ttfamily=\farsi@font@tt%
- \def\reset@font{\normalfont}}
-
\def\blockextras@farsi{%
\let\@@MakeUppercase\MakeUppercase%
\def\MakeUppercase##1{##1}%
@@ -4717,12 +5244,12 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-finnish.ldf}[polyglossia: module for finnish]
\makeatletter
-\def\finnish@font{\selectfontfamilylatin}
-
-\ifx\l@finnish\@undefined%
- \xpg@nopatterns{Finnish}%
- \adddialect\l@finnish\l@nohyphenation%
-\fi
+\PolyglossiaSetup{finnish}{
+ hyphennames={finnish},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ fontsetup=true,
+}
\def\captionsfinnish{%
\def\refname{Viitteet}%
@@ -4755,22 +5282,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
syyskuuta\or lokakuuta\or marraskuuta\or joulukuuta\fi
\space\number\year}}
-\def\finnish@language{\language=\l@finnish}
-
-\setlocalhyphenmins{finnish}{2}{2}%
-
-\def\noextras@finnish{%
- \nonfrenchspacing%
- }
-
-\def\blockextras@finnish{%
- \frenchspacing%
- }
-
-\def\inlineextras@finnish{%
- \frenchspacing%
- }
-
% \end{macrocode}
% \iffalse
%</gloss-finnish.ldf>
@@ -4782,12 +5293,15 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-french.ldf}[polyglossia: module for french]
\makeatletter
-\def\french@font{\selectfontfamilylatin}
-\ifx\l@french\@undefined%
- \xpg@nopatterns{French}%
- \adddialect\l@french\l@nohyphenation%
-\fi
+\PolyglossiaSetup{french}{%
+ language=French,
+ script=Latin,
+ hyphennames={french,francais},
+ frenchspacing=true,
+ indentfirst=true,
+ hyphenmins={2,2},
+ fontsetup=true}
\newXeTeXintercharclass\french@punctthin % ! ? ; et autres
\newXeTeXintercharclass\french@punctthick % :
@@ -4798,7 +5312,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\def\xpg@nospace#1{#1}
\def\french@punctuation{%
- \frenchspacing
\lccode"2019="2019
\XeTeXinterchartokenstate=1
\XeTeXcharclass `\! \french@punctthin
@@ -4829,7 +5342,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
}
\def\nofrench@punctuation{%
- \nonfrenchspacing
\lccode"2019=\z@
\XeTeXcharclass `\! \z@
\XeTeXcharclass `\? \z@
@@ -4885,18 +5397,12 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
décembre\fi
\space \number\year}}
-\def\french@language{\language=\l@french}
-
-\setlocalhyphenmins{french}{2}{2}%
-
\def\noextras@french{%
\nofrench@punctuation%
- \nofrench@indent%
}
\def\blockextras@french{%
\french@punctuation%
- \french@indent%
}
\def\inlineextras@french{%
@@ -4914,12 +5420,12 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-galician.ldf}[polyglossia: module for galician]
\makeatletter
-\def\galician@font{\selectfontfamilylatin}
-
-\ifx\l@galician\@undefined%
- \xpg@nopatterns{Galician}%
- \adddialect\l@galician\l@nohyphenation%
-\fi
+\PolyglossiaSetup{galician}{
+ hyphennames={galician},
+ hyphenmins={2,2},
+ indentfirst=true,
+ fontsetup=true,
+}
\def\captionsgalician{%
\def\refname{Referencias}%
@@ -4951,10 +5457,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
xullo\or agosto\or setembro\or outubro\or novembro\or decembro\fi
\space de~\number\year}}
-\def\galician@language{\language=\l@galician}
-
-\setlocalhyphenmins{galician}{2}{2}%
-
% \end{macrocode}
% \iffalse
%</gloss-galician.ldf>
@@ -4966,48 +5468,45 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-german.ldf}[polyglossia: module for german]
\makeatletter
-\def\german@font{\selectfontfamilylatin}
+\PolyglossiaSetup{german}{
+ hyphenmins={2,2},
+ frenchspacing=true,
+ fontsetup=true,
+}
\def\tmp@old{old}
\def\tmp@oldyr{1901}
\newif\if@german@oldspelling
\@german@oldspellingfalse
\define@key{german}{spelling}[new]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@old%
- \ifx\l@german\@undefined%
- \xpg@nopatterns{german}%
- \adddialect\l@german\l@nohyphenation%
- \fi%
- \@german@oldspellingtrue%
- \else%
- \ifx\@tmpa\tmp@oldyr%
- \ifx\l@german\@undefined%
- \xpg@nopatterns{german}%
- \adddialect\l@german\l@nohyphenation%
- \fi%
- \@german@oldspellingtrue%
- \else%
- \ifx\l@ngerman\@undefined%
- \ifx\l@german\@undefined%
- \xpg@nopatterns{ngerman}%
- \adddialect\l@ngerman\l@nohyphenation%
- \else%
- \xpg@warning{You asked for `ngerman' but only `german' hyphenation is available!}%
- \@german@oldspellingtrue%
- \fi%
- \else%
- \@german@oldspellingfalse
- \fi%
- \fi%
- \fi%
+ \def\@tmpa{#1}%
+ \ifx\@tmpa\tmp@oldyr\def\@tmpa{old}\fi
+ \ifx\@tmpa\tmp@old
+ \ifx\l@german\@undefined
+ \xpg@nopatterns{german}%
+ \adddialect\l@german\l@nohyphenation
+ \fi
+ \@german@oldspellingtrue
+ \else %try ngerman
+ \ifx\l@ngerman\@undefined
+ \ifx\l@german\@undefined
+ \xpg@nopatterns{ngerman}%
+ \adddialect\l@ngerman\l@nohyphenation
+ \else
+ \xpg@warning{You asked for `ngerman' but only `german' hyphenation is available!}%
+ \@german@oldspellingtrue
+ \fi
+ \else %we use ngerman
+ \@german@oldspellingfalse
+ \fi
+ \fi
}
\newif\if@german@fraktur
\def\tmp@fraktur{fraktur}
\define@key{german}{script}[latin]{%
\def\@tmpa{#1}%
- \ifx\@tmpa\tmp@fraktur\@german@frakturtrue\else%
+ \ifx\@tmpa\tmp@fraktur\@german@frakturtrue\else
\@german@frakturfalse%
\fi}
@@ -5098,7 +5597,7 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\space \ifcase\month%TODO add option for Austrian forms (Jänner etc)
\or Januar\or Februar\or März\or April\or Mai\or Juni\or%
Juli\or August\or September\or Oktober\or November\or%
- Dezember\fi%
+ Dezember\fi
\space \number\year}%
}
@@ -5116,36 +5615,31 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\space \ifcase\month%TODO add option for Austrian forms (Jänner etc)
\or Januar\or Februar\or März\or April\or Mai\or Juni\or%
Juli\or Auguſt\or September\or Oktober\or November\or%
- Dezember\fi%
+ Dezember\fi
\space \number\year}%
}
\def\captionsgerman{%
- \if@german@fraktur\captions@german@fraktur\else\captions@german\fi%
+ \if@german@fraktur\captions@german@fraktur\else\captions@german\fi
}
\def\dategerman{%
- \if@german@fraktur\date@german@fraktur\else\date@german\fi%
+ \if@german@fraktur\date@german@fraktur\else\date@german\fi
}
\def\german@language{\language=%
\csname l@\if@german@oldspelling\else n\fi german\ifgerman@latesthyphen -x-latest\fi\endcsname}
-\setlocalhyphenmins{german}{2}{2}%
-
\def\noextras@german{%
- \nonfrenchspacing%
\nogerman@shorthands%
}
\def\blockextras@german{%
- \frenchspacing%
- \ifgerman@babelshorthands\german@shorthands\fi%
+ \ifgerman@babelshorthands\german@shorthands\fi
}
\def\inlineextras@german{%
- \frenchspacing%
- \ifgerman@babelshorthands\german@shorthands\fi%
+ \ifgerman@babelshorthands\german@shorthands\fi
}
% \end{macrocode}
@@ -5159,336 +5653,41 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-greek.ldf}[polyglossia: module for greek]
\makeatletter
+\PolyglossiaSetup{greek}{
+ script=Greek,
+ scripttag=grek,
+ frenchspacing=true,
+ indentfirst=true,
+ fontsetup=true,
+ %TODO localalph={greek@alph,greek@Alph}
+}
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% The code in this file was initially adapted from the antomega
%% module for greek. Currently large parts of it derive from the
%% package xgreek.sty (c) Apostolos Syropoulos
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% the following fixes are taken verbatim from xgreek.sty:
-\global\lccode"0386="03AC \global\uccode"0386="0391
-\global\lccode"0388="03AD \global\uccode"0388="0395
-\global\lccode"0389="03AC \global\uccode"0389="0397
-\global\lccode"038A="03AF \global\uccode"038A="0399
-\global\lccode"038C="03CC \global\uccode"038C="039F
-\global\lccode"038E="03CD \global\uccode"038E="03A5
-\global\lccode"038F="03CE \global\uccode"038F="03A9
-\global\lccode"0390="0390 \global\uccode"0390="03AA
-\global\lccode"0391="03B1 \global\uccode"0391="0391
-\global\lccode"0392="03B2 \global\uccode"0392="0392
-\global\lccode"0393="03B3 \global\uccode"0393="0393
-\global\lccode"0394="03B4 \global\uccode"0394="0394
-\global\lccode"0395="03B5 \global\uccode"0395="0395
-\global\lccode"0396="03B6 \global\uccode"0396="0396
-\global\lccode"0397="03B7 \global\uccode"0397="0397
-\global\lccode"0398="03B8 \global\uccode"0398="0398
-\global\lccode"0399="03B9 \global\uccode"0399="0399
-\global\lccode"039A="03BA \global\uccode"039A="039A
-\global\lccode"039B="03BB \global\uccode"039B="039B
-\global\lccode"039C="03BC \global\uccode"039C="039C
-\global\lccode"039D="03BD \global\uccode"039D="039D
-\global\lccode"039E="03BE \global\uccode"039E="039E
-\global\lccode"039F="03BF \global\uccode"039F="039F
-\global\lccode"03A0="03C0 \global\uccode"03A0="03A0
-\global\lccode"03A1="03C1 \global\uccode"03A1="03A1
-\global\lccode"03A3="03C3 \global\uccode"03A3="03A3
-\global\lccode"03A4="03C4 \global\uccode"03A4="03A4
-\global\lccode"03A5="03C5 \global\uccode"03A5="03A5
-\global\lccode"03A6="03C6 \global\uccode"03A6="03A6
-\global\lccode"03A7="03C7 \global\uccode"03A7="03A7
-\global\lccode"03A8="03C8 \global\uccode"03A8="03A8
-\global\lccode"03A9="03C9 \global\uccode"03A9="03A9
-\global\lccode"03AA="03CA \global\uccode"03AA="03AA
-\global\lccode"03AB="03CB \global\uccode"03AB="03AB
-\global\lccode"03AC="03AC \global\uccode"03AC="0391
-\global\lccode"03AD="03AD \global\uccode"03AD="0395
-\global\lccode"03AE="03AE \global\uccode"03AE="0397
-\global\lccode"03AF="03AF \global\uccode"03AF="0399
-\global\lccode"03B0="03B0 \global\uccode"03B0="03AB
-\global\lccode"03B1="03B1 \global\uccode"03B1="0391
-\global\lccode"03B2="03B2 \global\uccode"03B2="0392
-\global\lccode"03B3="03B3 \global\uccode"03B3="0393
-\global\lccode"03B4="03B4 \global\uccode"03B4="0394
-\global\lccode"03B5="03B5 \global\uccode"03B5="0395
-\global\lccode"03B6="03B6 \global\uccode"03B6="0396
-\global\lccode"03B7="03B7 \global\uccode"03B7="0397
-\global\lccode"03B8="03B8 \global\uccode"03B8="0398
-\global\lccode"03B9="03B9 \global\uccode"03B9="0399
-\global\lccode"03BA="03BA \global\uccode"03BA="039A
-\global\lccode"03BB="03BB \global\uccode"03BB="039B
-\global\lccode"03BC="03BC \global\uccode"03BC="039C
-\global\lccode"03BD="03BD \global\uccode"03BD="039D
-\global\lccode"03BE="03BE \global\uccode"03BE="039E
-\global\lccode"03BF="03BF \global\uccode"03BF="039F
-\global\lccode"03C0="03C0 \global\uccode"03C0="03A0
-\global\lccode"03C1="03C1 \global\uccode"03C1="03A1
-\global\lccode"03C2="03C2 \global\uccode"03C2="03A3
-\global\lccode"03C3="03C3 \global\uccode"03C3="03A3
-\global\lccode"03C4="03C4 \global\uccode"03C4="03A4
-\global\lccode"03C5="03C5 \global\uccode"03C5="03A5
-\global\lccode"03C6="03C6 \global\uccode"03C6="03A6
-\global\lccode"03C7="03C7 \global\uccode"03C7="03A7
-\global\lccode"03C8="03C8 \global\uccode"03C8="03A8
-\global\lccode"03C9="03C9 \global\uccode"03C9="03A9
-\global\lccode"03CA="03CA \global\uccode"03CA="03AA
-\global\lccode"03CB="03CB \global\uccode"03CB="03AB
-\global\lccode"03CC="03CC \global\uccode"03CC="039F
-\global\lccode"03CD="03CD \global\uccode"03CD="03A5
-\global\lccode"03CE="03CE \global\uccode"03CE="03A9
-\global\lccode"03D0="03D0 \global\uccode"03D0="0392
-\global\lccode"03D1="03D1 \global\uccode"03D1="0398
-\global\lccode"03D2="03C5 \global\uccode"03D2="03A5
-\global\lccode"03D3="03CD \global\uccode"03D3="03A5
-\global\lccode"03D4="03CB \global\uccode"03D4="03AB
-\global\lccode"03D5="03C6 \global\uccode"03D5="03A6
-\global\lccode"03D6="03C0 \global\uccode"03D6="03A0
-\global\lccode"03DA="03DB \global\uccode"03DA="03DA
-\global\lccode"03DB="03DB \global\uccode"03DB="03DA
-\global\lccode"03DC="03DD \global\uccode"03DC="03DC
-\global\lccode"03DD="03DD \global\uccode"03DD="03DC
-\global\lccode"03DE="03DF \global\uccode"03DE="03DE
-\global\lccode"03DF="03DF \global\uccode"03DF="03DE
-\global\lccode"03E0="03E1 \global\uccode"03E0="039A
-\global\lccode"03E0="03E1 \global\uccode"03E1="03A1
-\global\lccode"03F0="03BA \global\uccode"03F0="039A
-\global\lccode"03F1="03C1 \global\uccode"03F1="03A1
-\global\lccode"03F2="03F2 \global\uccode"03F2="03F9
-\global\lccode"03F9="03F2 \global\uccode"03F9="03F9
-\global\lccode"1F00="1F00 \global\uccode"1F00="0391
-\global\lccode"1F01="1F01 \global\uccode"1F01="0391
-\global\lccode"1F02="1F02 \global\uccode"1F02="0391
-\global\lccode"1F03="1F03 \global\uccode"1F03="0391
-\global\lccode"1F04="1F04 \global\uccode"1F04="0391
-\global\lccode"1F05="1F05 \global\uccode"1F05="0391
-\global\lccode"1F06="1F06 \global\uccode"1F06="0391
-\global\lccode"1F07="1F07 \global\uccode"1F07="0391
-\global\lccode"1F08="1F00 \global\uccode"1F08="0391
-\global\lccode"1F09="1F01 \global\uccode"1F09="0391
-\global\lccode"1F0A="1F02 \global\uccode"1F0A="0391
-\global\lccode"1F0B="1F03 \global\uccode"1F0B="0391
-\global\lccode"1F0C="1F04 \global\uccode"1F0C="0391
-\global\lccode"1F0D="1F05 \global\uccode"1F0D="0391
-\global\lccode"1F0E="1F06 \global\uccode"1F0E="0391
-\global\lccode"1F0F="1F07 \global\uccode"1F0F="0391
-\global\lccode"1F10="1F10 \global\uccode"1F10="0395
-\global\lccode"1F11="1F11 \global\uccode"1F11="0395
-\global\lccode"1F12="1F12 \global\uccode"1F12="0395
-\global\lccode"1F13="1F13 \global\uccode"1F13="0395
-\global\lccode"1F14="1F14 \global\uccode"1F14="0395
-\global\lccode"1F15="1F15 \global\uccode"1F15="0395
-\global\lccode"1F18="1F10 \global\uccode"1F18="0395
-\global\lccode"1F19="1F11 \global\uccode"1F19="0395
-\global\lccode"1F1A="1F12 \global\uccode"1F1A="0395
-\global\lccode"1F1B="1F13 \global\uccode"1F1B="0395
-\global\lccode"1F1C="1F14 \global\uccode"1F1C="0395
-\global\lccode"1F1D="1F15 \global\uccode"1F1D="0395
-\global\lccode"1F20="1F20 \global\uccode"1F20="0397
-\global\lccode"1F21="1F21 \global\uccode"1F21="0397
-\global\lccode"1F22="1F22 \global\uccode"1F22="0397
-\global\lccode"1F23="1F23 \global\uccode"1F23="0397
-\global\lccode"1F24="1F24 \global\uccode"1F24="0397
-\global\lccode"1F25="1F25 \global\uccode"1F25="0397
-\global\lccode"1F26="1F26 \global\uccode"1F26="0397
-\global\lccode"1F27="1F27 \global\uccode"1F27="0397
-\global\lccode"1F28="1F20 \global\uccode"1F28="0397
-\global\lccode"1F29="1F21 \global\uccode"1F29="0397
-\global\lccode"1F2A="1F22 \global\uccode"1F2A="0397
-\global\lccode"1F2B="1F23 \global\uccode"1F2B="0397
-\global\lccode"1F2C="1F24 \global\uccode"1F2C="0397
-\global\lccode"1F2D="1F25 \global\uccode"1F2D="0397
-\global\lccode"1F2E="1F26 \global\uccode"1F2E="0397
-\global\lccode"1F2F="1F27 \global\uccode"1F2F="0397
-\global\lccode"1F30="1F30 \global\uccode"1F30="0399
-\global\lccode"1F31="1F31 \global\uccode"1F31="0399
-\global\lccode"1F32="1F32 \global\uccode"1F32="0399
-\global\lccode"1F33="1F33 \global\uccode"1F33="0399
-\global\lccode"1F34="1F34 \global\uccode"1F34="0399
-\global\lccode"1F35="1F35 \global\uccode"1F35="0399
-\global\lccode"1F36="1F36 \global\uccode"1F36="0399
-\global\lccode"1F37="1F37 \global\uccode"1F37="0399
-\global\lccode"1F38="1F30 \global\uccode"1F38="0399
-\global\lccode"1F39="1F31 \global\uccode"1F39="0399
-\global\lccode"1F3A="1F32 \global\uccode"1F3A="0399
-\global\lccode"1F3B="1F33 \global\uccode"1F3B="0399
-\global\lccode"1F3C="1F34 \global\uccode"1F3C="0399
-\global\lccode"1F3D="1F35 \global\uccode"1F3D="0399
-\global\lccode"1F3E="1F36 \global\uccode"1F3E="0399
-\global\lccode"1F3F="1F37 \global\uccode"1F3F="0399
-\global\lccode"1F40="1F40 \global\uccode"1F40="039F
-\global\lccode"1F41="1F41 \global\uccode"1F41="039F
-\global\lccode"1F42="1F42 \global\uccode"1F42="039F
-\global\lccode"1F43="1F43 \global\uccode"1F43="039F
-\global\lccode"1F44="1F44 \global\uccode"1F44="039F
-\global\lccode"1F45="1F45 \global\uccode"1F45="039F
-\global\lccode"1F48="1F40 \global\uccode"1F48="039F
-\global\lccode"1F49="1F41 \global\uccode"1F49="039F
-\global\lccode"1F4A="1F42 \global\uccode"1F4A="039F
-\global\lccode"1F4B="1F43 \global\uccode"1F4B="039F
-\global\lccode"1F4C="1F44 \global\uccode"1F4C="039F
-\global\lccode"1F4D="1F45 \global\uccode"1F4D="039F
-\global\lccode"1F50="1F50 \global\uccode"1F50="03A5
-\global\lccode"1F51="1F51 \global\uccode"1F51="03A5
-\global\lccode"1F52="1F52 \global\uccode"1F52="03A5
-\global\lccode"1F53="1F53 \global\uccode"1F53="03A5
-\global\lccode"1F54="1F54 \global\uccode"1F54="03A5
-\global\lccode"1F55="1F55 \global\uccode"1F55="03A5
-\global\lccode"1F56="1F56 \global\uccode"1F56="03A5
-\global\lccode"1F57="1F57 \global\uccode"1F57="03A5
-\global\lccode"1F59="1F51 \global\uccode"1F59="03A5
-\global\lccode"1F5B="1F53 \global\uccode"1F5B="03A5
-\global\lccode"1F5D="1F55 \global\uccode"1F5D="03A5
-\global\lccode"1F5F="1F57 \global\uccode"1F5F="03A5
-\global\lccode"1F60="1F60 \global\uccode"1F60="03A9
-\global\lccode"1F61="1F61 \global\uccode"1F61="03A9
-\global\lccode"1F62="1F62 \global\uccode"1F62="03A9
-\global\lccode"1F63="1F63 \global\uccode"1F63="03A9
-\global\lccode"1F64="1F64 \global\uccode"1F64="03A9
-\global\lccode"1F65="1F65 \global\uccode"1F65="03A9
-\global\lccode"1F66="1F66 \global\uccode"1F66="03A9
-\global\lccode"1F67="1F67 \global\uccode"1F67="03A9
-\global\lccode"1F68="1F60 \global\uccode"1F68="03A9
-\global\lccode"1F69="1F61 \global\uccode"1F69="03A9
-\global\lccode"1F6A="1F62 \global\uccode"1F6A="03A9
-\global\lccode"1F6B="1F63 \global\uccode"1F6B="03A9
-\global\lccode"1F6C="1F64 \global\uccode"1F6C="03A9
-\global\lccode"1F6D="1F65 \global\uccode"1F6D="03A9
-\global\lccode"1F6E="1F66 \global\uccode"1F6E="03A9
-\global\lccode"1F6F="1F67 \global\uccode"1F6F="03A9
-\global\lccode"1F70="1F70 \global\uccode"1F70="0391
-\global\lccode"1F71="1F71 \global\uccode"1F71="0391
-\global\lccode"1F72="1F72 \global\uccode"1F72="0395
-\global\lccode"1F73="1F73 \global\uccode"1F73="0395
-\global\lccode"1F74="1F74 \global\uccode"1F74="0397
-\global\lccode"1F75="1F75 \global\uccode"1F75="0397
-\global\lccode"1F76="1F76 \global\uccode"1F76="0399
-\global\lccode"1F77="1F77 \global\uccode"1F77="0399
-\global\lccode"1F78="1F78 \global\uccode"1F78="039F
-\global\lccode"1F79="1F79 \global\uccode"1F79="039F
-\global\lccode"1F7A="1F7A \global\uccode"1F7A="03A5
-\global\lccode"1F7B="1F7B \global\uccode"1F7B="03A5
-\global\lccode"1F7C="1F7C \global\uccode"1F7C="03A9
-\global\lccode"1F7D="1F7D \global\uccode"1F7D="03A9
-\global\lccode"1F80="1F80 \global\uccode"1F80="1FBC
-\global\lccode"1F81="1F81 \global\uccode"1F81="1FBC
-\global\lccode"1F82="1F82 \global\uccode"1F82="1FBC
-\global\lccode"1F83="1F83 \global\uccode"1F83="1FBC
-\global\lccode"1F84="1F84 \global\uccode"1F84="1FBC
-\global\lccode"1F85="1F85 \global\uccode"1F85="1FBC
-\global\lccode"1F86="1F86 \global\uccode"1F86="1FBC
-\global\lccode"1F87="1F87 \global\uccode"1F87="1FBC
-\global\lccode"1F88="1F80 \global\uccode"1F88="1FBC
-\global\lccode"1F89="1F81 \global\uccode"1F89="1FBC
-\global\lccode"1F8A="1F82 \global\uccode"1F8A="1FBC
-\global\lccode"1F8B="1F83 \global\uccode"1F8B="1FBC
-\global\lccode"1F8C="1F84 \global\uccode"1F8C="1FBC
-\global\lccode"1F8D="1F85 \global\uccode"1F8D="1FBC
-\global\lccode"1F8E="1F86 \global\uccode"1F8E="1FBC
-\global\lccode"1F8F="1F87 \global\uccode"1F8F="1FBC
-\global\lccode"1F90="1F90 \global\uccode"1F90="1FCC
-\global\lccode"1F91="1F91 \global\uccode"1F91="1FCC
-\global\lccode"1F92="1F92 \global\uccode"1F92="1FCC
-\global\lccode"1F93="1F93 \global\uccode"1F93="1FCC
-\global\lccode"1F94="1F94 \global\uccode"1F94="1FCC
-\global\lccode"1F95="1F95 \global\uccode"1F95="1FCC
-\global\lccode"1F96="1F96 \global\uccode"1F96="1FCC
-\global\lccode"1F97="1F97 \global\uccode"1F97="1FCC
-\global\lccode"1F98="1F90 \global\uccode"1F98="1FCC
-\global\lccode"1F99="1F91 \global\uccode"1F99="1FCC
-\global\lccode"1F9A="1F92 \global\uccode"1F9A="1FCC
-\global\lccode"1F9B="1F93 \global\uccode"1F9B="1FCC
-\global\lccode"1F9C="1F94 \global\uccode"1F9C="1FCC
-\global\lccode"1F9D="1F95 \global\uccode"1F9D="1FCC
-\global\lccode"1F9E="1F96 \global\uccode"1F9E="1FCC
-\global\lccode"1F9F="1F97 \global\uccode"1F9F="1FCC
-\global\lccode"1FA0="1FA0 \global\uccode"1FA0="1FFC
-\global\lccode"1FA1="1FA1 \global\uccode"1FA1="1FFC
-\global\lccode"1FA2="1FA2 \global\uccode"1FA2="1FFC
-\global\lccode"1FA3="1FA3 \global\uccode"1FA3="1FFC
-\global\lccode"1FA4="1FA4 \global\uccode"1FA4="1FFC
-\global\lccode"1FA5="1FA5 \global\uccode"1FA5="1FFC
-\global\lccode"1FA6="1FA6 \global\uccode"1FA6="1FFC
-\global\lccode"1FA7="1FA7 \global\uccode"1FA7="1FFC
-\global\lccode"1FA8="1FA0 \global\uccode"1FA8="1FFC
-\global\lccode"1FA9="1FA1 \global\uccode"1FA9="1FFC
-\global\lccode"1FAA="1FA2 \global\uccode"1FAA="1FFC
-\global\lccode"1FAB="1FA3 \global\uccode"1FAB="1FFC
-\global\lccode"1FAC="1FA4 \global\uccode"1FAC="1FFC
-\global\lccode"1FAD="1FA5 \global\uccode"1FAD="1FFC
-\global\lccode"1FAE="1FA6 \global\uccode"1FAE="1FFC
-\global\lccode"1FAF="1FA7 \global\uccode"1FAF="1FFC
-\global\lccode"1FB0="1FB0 \global\uccode"1FB0="1FB8
-\global\lccode"1FB1="1FB1 \global\uccode"1FB1="1FB9
-\global\lccode"1FB2="1FB2 \global\uccode"1FB2="1FBC
-\global\lccode"1FB3="1FB3 \global\uccode"1FB3="1FBC
-\global\lccode"1FB4="1FB4 \global\uccode"1FB4="1FBC
-\global\lccode"1FB6="1FB6 \global\uccode"1FB6="0391
-\global\lccode"1FB7="1FB7 \global\uccode"1FB7="1FBC
-\global\lccode"1FB8="1FB0 \global\uccode"1FB8="1FB8
-\global\lccode"1FB9="1FB1 \global\uccode"1FB9="1FB9
-\global\lccode"1FBA="1F70 \global\uccode"1FBA="0391
-\global\lccode"1FBB="1F71 \global\uccode"1FBB="0391
-\global\lccode"1FBC="1FB3 \global\uccode"1FBC="1FBC
-\global\lccode"1FBD="1FBD \global\uccode"1FBD="1FBD
-\global\lccode"1FC2="1FC2 \global\uccode"1FC2="1FCC
-\global\lccode"1FC3="1FC3 \global\uccode"1FC3="1FCC
-\global\lccode"1FC4="1FC4 \global\uccode"1FC4="1FCC
-\global\lccode"1FC6="1FC6 \global\uccode"1FC6="0397
-\global\lccode"1FC7="1FC7 \global\uccode"1FC7="1FCC
-\global\lccode"1FC8="1F72 \global\uccode"1FC8="0395
-\global\lccode"1FC9="1F73 \global\uccode"1FC9="0395
-\global\lccode"1FCA="1F74 \global\uccode"1FCA="0397
-\global\lccode"1FCB="1F75 \global\uccode"1FCB="0397
-\global\lccode"1FCC="1FC3 \global\uccode"1FCC="1FCC
-\global\lccode"1FD0="1FD0 \global\uccode"1FD0="1FD8
-\global\lccode"1FD1="1FD1 \global\uccode"1FD1="1FD9
-\global\lccode"1FD2="1FD2 \global\uccode"1FD2="03AA
-\global\lccode"1FD3="1FD3 \global\uccode"1FD3="03AA
-\global\lccode"1FD6="1FD6 \global\uccode"1FD6="0399
-\global\lccode"1FD7="1FD7 \global\uccode"1FD7="03AA
-\global\lccode"1FD8="1FD0 \global\uccode"1FD8="1FD8
-\global\lccode"1FD9="1FD1 \global\uccode"1FD9="1FD9
-\global\lccode"1FDA="1F76 \global\uccode"1FDA="0399
-\global\lccode"1FDB="1F77 \global\uccode"1FDB="0399
-\global\lccode"1FE0="1FE0 \global\uccode"1FE0="1FE8
-\global\lccode"1FE1="1FE1 \global\uccode"1FE1="1FE9
-\global\lccode"1FE2="1FE2 \global\uccode"1FE2="03AB
-\global\lccode"1FE3="1FE3 \global\uccode"1FE3="03AB
-\global\lccode"1FE4="1FE4 \global\uccode"1FE4="03A1
-\global\lccode"1FE5="1FE5 \global\uccode"1FE5="1FEC
-\global\lccode"1FE6="1FE6 \global\uccode"1FE6="03A5
-\global\lccode"1FE7="1FE7 \global\uccode"1FE7="03AB
-\global\lccode"1FE8="1FE0 \global\uccode"1FE8="1FE8
-\global\lccode"1FE9="1FE1 \global\uccode"1FE9="1FE9
-\global\lccode"1FEA="1F7A \global\uccode"1FEA="03A5
-\global\lccode"1FEB="1F7B \global\uccode"1FEB="03A5
-\global\lccode"1FEC="1FE5 \global\uccode"1FEC="1FEC
-\global\lccode"1FF2="1FF2 \global\uccode"1FF2="1FFC
-\global\lccode"1FF3="1FF3 \global\uccode"1FF3="1FFC
-\global\lccode"1FF4="1FF4 \global\uccode"1FF4="1FFC
-\global\lccode"1FF6="1FF6 \global\uccode"1FF6="03A9
-\global\lccode"1FF7="1FF7 \global\uccode"1FF7="1FFC
-\global\lccode"1FF8="1F78 \global\uccode"1FF8="039F
-\global\lccode"1FF9="1F79 \global\uccode"1FF9="039F
-\global\lccode"1FFA="1F7C \global\uccode"1FFA="03A9
-\global\lccode"1FFB="1F7D \global\uccode"1FFB="03A9
-\global\lccode"1FFC="1FF3 \global\uccode"1FFC="1FFC
+% this file imported from xgreek fixes the \lccode and \uccode of Greek letters:
+\input{xgreek-fixes.def}
+%TODO: set these in \define@key instead:
\ifx\l@greek\@undefined
- \ifx\l@polygreek\@undefined
- \xpg@nopatterns{Greek}
- \adddialect\l@greek\l@nohyphenation
- \else
- \let\l@greek\l@polygreek
- \fi
+ \ifx\l@polygreek\@undefined
+ \xpg@nopatterns{Greek}%
+ \adddialect\l@greek\l@nohyphenation
+ \else
+ \let\l@greek\l@polygreek
+ \fi
\fi
\ifx\l@monogreek\@undefined
- \xpg@warning{No hyphenation patterns were loaded for Monotonic Greek\MessageBreak
+ \xpg@warning{No hyphenation patterns were loaded for Monotonic Greek\MessageBreak
I will use the patterns loaded for \string\l@greek instead}
- \adddialect\l@monogreek\l@greek
+ \adddialect\l@monogreek\l@greek
\fi
\ifx\l@ancientgreek\@undefined
- \xpg@warning{No hyphenation patterns were loaded for Ancient Greek\MessageBreak
+ \xpg@warning{No hyphenation patterns were loaded for Ancient Greek\MessageBreak
I will use the patterns loaded for \string\l@greek instead}
- \adddialect\l@ancientgreek\l@greek
+ \adddialect\l@ancientgreek\l@greek
\fi
%set monotonic as default
@@ -5504,40 +5703,29 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\def\tmp@ancientgreek{ancientgreek}
\define@key{greek}{variant}[monotonic]{%
-\def\@tmpa{#1}%
-\def\captionsgreek{\polygreekcaptions}%
-\ifx\@tmpa\tmp@polytonic%
- \def\greek@variant{\l@polygreek}%
- \def\captionsgreek{\polygreekcaptions}%
- \def\dategreek{\datepolygreek}%
- \xpg@info{Option: Polytonic Greek}%
-\else%
- \ifx\@tmpa\tmp@poly%
- \def\greek@variant{\l@polygreek}%
- \def\captionsgreek{\polygreekcaptions}%
- \def\dategreek{\datepolygreek}%
- \xpg@info{Option: Polytonic Greek}%
- \else%
- \ifx\@tmpa\tmp@ancient%
- \def\greek@variant{\l@ancientgreek}%
- \def\captionsgreek{\ancientgreekcaptions}%
- \def\dategreek{\dateancientgreek}%
- \xpg@info{Option: Ancient Greek}%
- \else%
- \ifx\@tmpa\tmp@ancientgreek%
- \def\greek@variant{\l@ancientgreek}%
- \def\captionsgreek{\ancientgreekcaptions}%
- \def\dategreek{\dateancientgreek}%
- \xpg@info{Option: Ancient Greek}%
- \else%
- \def\greek@variant{\l@monogreek}% monotonic
- \def\captionsgreek{\monogreekcaptions}%
- \def\dategreek{\datemonogreek}%
- \xpg@info{Option: Monotonic Greek}%
- \fi%
- \fi%
- \fi%
-\fi}
+ \def\@tmpa{#1}%
+ \ifx\@tmpa\tmp@poly\def\@tmpa{polytonic}\fi
+ \ifx\@tmpa\tmp@ancientgreek\def\@tmpa{ancient}\fi
+ \ifx\@tmpa\tmp@polytonic%
+ \def\greek@variant{\l@polygreek}%
+ \def\captionsgreek{\polygreekcaptions}%
+ \def\dategreek{\datepolygreek}%
+ \xpg@info{Option: Polytonic Greek}%
+ \else
+ \ifx\@tmpa\tmp@ancient
+ \def\greek@variant{\l@ancientgreek}%
+ \def\captionsgreek{\ancientgreekcaptions}%
+ \def\dategreek{\dateancientgreek}%
+ \xpg@info{Option: Ancient Greek}%
+ \else %monotonic
+ \def\greek@variant{\l@monogreek}% monotonic
+ \def\captionsgreek{\monogreekcaptions}%
+ \def\dategreek{\datemonogreek}%
+ \xpg@info{Option: Monotonic Greek}%
+ \fi
+ \fi}
+
+\def\greek@language{\language=\greek@variant}
\def\tmp@arabic{arabic}
\newif\if@greek@numerals
@@ -5576,6 +5764,7 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\def\headtoname{Προς}%
\def\proofname{Απόδειξη}%
\def\glossaryname{Γλωσσάρι}}%
+
\def\datemonogreek{%
\def\today{\number\day\space%
\greek@month%
@@ -5599,6 +5788,7 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
Οκτωβρίου\or
Νοεμβρίου\or
Δεκεμβρίου\fi}}%
+
\def\polygreekcaptions{%
\def\refname{Ἀναφορές}%
\def\abstractname{Περίληψη}%
@@ -5620,6 +5810,7 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\def\ccname{Κοινοποίηση}%
\def\headtoname{Πρὸς}%
\def\proofname{Ἀπόδειξη}}%
+
\def\datepolygreek{%
\def\today{\number\day\space%
\greek@month%
@@ -5643,6 +5834,7 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
Ὀκτωβρίου\or
Νοεμβρίου\or
Δεκεμβρίου\fi}}%
+
% this is copied verbatim from xgreek.sty:
\def\ancientgreekcaptions{%
\def\prefacename{Προοίμιον}%
@@ -5670,6 +5862,7 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\def\indexname{Εὑρετήριο}%
\def\figurename{Σχῆμα}%
\def\headtoname{Πρὸς}}%
+
\def\dateancientgreek{%
\def\today{\number\day\space%
\greek@month%
@@ -5812,38 +6005,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\let\greek@Alph\@undefined%
}
-\def\greek@language{\language=\greek@variant}
-
-\def\greek@font{%
- \@ifundefined{greekfont}{%
- \normalfontlatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@script{grek}%
- \if@tempswa%
- \addfontfeature{Script=Greek}%
- \else%
- \PackageError{polyglossia}{^^J
- The current font does not contain the Greek script!^^J
- Please define \string\greekfont\space with \string\newfontfamily}%
- \fi%
- }%
- {\greekfont}}
-
-\def\selectnormalfontgreek{%
- \let\normalfont=\greek@font%
- \def\reset@font{\normalfont}}
-
-\setlocalhyphenmins{greek}{2}{2}%
-
-\def\noextras@greek{%
- \nofrench@indent%
- }
-
-\def\blockextras@greek{%
- \frenchspacing%
- \french@indent%
- }
-
% \end{macrocode}
% \iffalse
%</gloss-greek.ldf>
@@ -5858,12 +6019,15 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\RequirePackage{hebrewcal}
\makeatletter
-\ifx\l@hebrew\@undefined
- %\xpg@nopatterns{Hebrew}%
- \adddialect\l@hebrew\l@nohyphenation
-\fi
-
-\def\hebrew@RL{\relax}
+\PolyglossiaSetup{hebrew}{
+ script=Hebrew,
+ direction=RL,
+ scripttag=hebr,
+ hyphennames={nohyphenation},
+ fontsetup=true,
+ %TODO localalph={hebrewnumeral,Hebrewnumeral}
+ %digits = hebrewnumber
+}
\newif\if@calendar@hebrew
\def\tmp@hebrew{hebrew}
@@ -5937,7 +6101,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\if@hebrew@numerals
\protect\hebrewnumeral{#1}%
\else
- %%\RL{\protect\reset@font\protect\number#1}%
\number#1%
\fi
}
@@ -5963,57 +6126,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\renewcommand\thefootnote{\protect\number{\c@footnote}}%
}
-\def\hebrew@language{\language=\l@hebrew}
-
-\def\hebrew@font{%
- \@ifundefined{hebrewfont}{%
- \normalfontlatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@script{hebr}%
- \if@tempswa
- \addfontfeature{Script=Hebrew}%
- \else
- \PackageError{polyglossia}{^^J
- The current font does not contain the Hebrew script!^^J
- Please define \string\hebrewfont\space with \string\newfontfamily}%
- \fi}%
- {\hebrewfont}%
-}
-
-% TODO add setup to define Sans and Mono Hebrew fonts if desired
-\def\hebrew@font@sf{%
- \@ifundefined{hebrewfontsf}{%
-% \sffamilylatin% FIXME
-% \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
-% \zf@check@ot@script{arab}%
-% \if@tempswa%
-% \addfontfeature{Script=Hebrew}%
-% \else%
- \hebrew@font%
-% \fi%
- }%
- {\hebrewfontsf}%
-}
-\def\hebrew@font@tt{%
- \@ifundefined{hebrewfonttt}{%
-% \ttfamilylatin% FIXME
-% \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
-% \zf@check@ot@script{arab}%
-% \if@tempswa%
-% \addfontfeature{Script=Hebrew}%
-% \else%
- \hebrew@font%
-% \fi%
- }%
- {\hebrewfonttt}%
-}
-\def\selectnormalfonthebrew{%
- \let\normalfont=\hebrew@font%
- \let\rmfamily=\hebrew@font%
- \let\sffamily=\hebrew@font@sf%
- \let\ttfamily=\hebrew@font@tt%
- \def\reset@font{\normalfont}}
-
\def\blockextras@hebrew{%
\let\@@MakeUppercase\MakeUppercase%
\def\MakeUppercase##1{##1}%
@@ -6030,21 +6142,53 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
%
% \subsection{gloss-hindi.ldf}
% \begin{macrocode}
-\ProvidesFile{gloss-hindi.ldf}[polyglossia: module for hindi]
% UTF-8 strings kindly provided by Zdenek Wagner, 10-03-2008
% TODO: add option for velthuis transliteration with link to
% Velthuis Devanagari project: http://devnag.sarovar.org.
+
+\ProvidesFile{gloss-hindi.ldf}[polyglossia: module for hindi]
+\RequirePackage{devanagaridigits}
\makeatletter
+\PolyglossiaSetup{hindi}{
+ script=Devanagari,
+ scripttag=deva,
+ langtag=HIN,
+%% hyphennames={hindi,!sanskrit}, TODO: implement fallback patterns (with ! prefix)
+ fontsetup=true
+ %TODO nouppercase=true,
+ %TODO localnumber=hindinumber
+}
\ifx\l@hindi\@undefined%
\ifx\l@sanskrit\@undefined%
\xpg@nopatterns{Hindi}%
\adddialect\l@hindi\l@nohyphenation%
\else
- \let\l@hindi\l@sanskrit%
+ \xpg@warning{No hyphenation patterns were loaded for Hindi\MessageBreak
+ I will use the patterns for Sanskrit instead}
+ \adddialect\l@hindi\l@sanskrit%
\fi
\fi
+\def\hindi@language{\language=\l@hindi}
+
+\def\tmp@western{Western}
+\newif\ifhindi@devanagari@numerals
+\hindi@devanagari@numeralstrue
+
+\define@key{hindi}{numerals}[Devanagari]{%
+ \def\@tmpa{#1}%
+ \ifx\@tmpa\tmp@western
+ \hindi@devanagari@numeralsfalse
+ \fi}
+
+\def\hindinumber#1{%
+ \ifhindi@devanagari@numerals
+ \devanagaridigits{\number#1}%
+ \else
+ \number#1%
+ \fi}
+
\def\captionshindi{%
\def\abstractname{सारांश}%
\def\appendixname{परिशिष्ट}%
@@ -6072,62 +6216,29 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\def\alsoseename{और देखिए}%
}
\def\datehindi{%
- \def\today{\number\day\space\ifcase\month\or
- जनवरी\or
- फ़रवरी\or
- मार्च\or
- अपरैल\or
- मई\or
- जून\or
- जलाई\or
- अगस्त\or
- सितम्बर\or
- अक्तूबर\or
- नवम्बर\or
- दिसम्बर\fi
- \space\number\year}%
+ \def\today{\hindinumber\day\space\ifcase\month\or
+ जनवरी\or
+ फ़रवरी\or
+ मार्च\or
+ अपरैल\or
+ मई\or
+ जून\or
+ जलाई\or
+ अगस्त\or
+ सितम्बर\or
+ अक्तूबर\or
+ नवम्बर\or
+ दिसम्बर\fi
+ \space\hindinumber\year}%
}
-\def\hindi@language{\language=\l@hindi}
-
-\def\hindi@font{%
- \@ifundefined{hindifont}{%
- \normalfontlatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \@ifundefined{devanagarifont}{%
- \zf@check@ot@script{deva}%
- \if@tempswa%
- \addfontfeature{Script=Devanagari}%
- \else%
- \PackageError{polyglossia}{^^J
- The current font does not contain the Devanagari script!^^J
- Please define \string\devanagarifont\space or \string\hindifont\space with \string\newfontfamily}%
- \fi%
- \zf@check@ot@lang{HIN}%
- \if@tempswa\addfontfeature{Language=Hindi}\fi%
- }%
- {\devanagarifont%
- \zf@check@ot@lang{HIN}%
- \if@tempswa\addfontfeature{Language=Hindi}\fi%
- }}%
- {\hindifont}%
-}
-
-\def\selectnormalfonthindi{%
- \let\normalfont=\hindi@font%
- \let\rmfamily=\hindi@font%
- % TODO add setup to define Sans and Mono fonts if desired
- \let\sffamily=\hindi@font%
- \let\ttfamily=\hindi@font%
- \def\reset@font{\normalfont}}
-
\def\blockextras@hindi{%
- \let\@@MakeUppercase\MakeUppercase%
- \def\MakeUppercase##1{##1}%
- }
+ \let\@@MakeUppercase\MakeUppercase%
+ \def\MakeUppercase##1{##1}%
+}
\def\noextras@hindi{%
- \let\MakeUppercase\@@MakeUppercase%
- }
+ \let\MakeUppercase\@@MakeUppercase%
+}
% \end{macrocode}
% \iffalse
@@ -6140,12 +6251,11 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-icelandic.ldf}[polyglossia: module for icelandic]
\makeatletter
-\def\icelandic@font{\selectfontfamilylatin}
-
-\ifx\l@icelandic\@undefined%
- \xpg@nopatterns{Icelandic}%
- \adddialect\l@icelandic\l@nohyphenation%
-\fi
+\PolyglossiaSetup{icelandic}{
+ hyphennames={icelandic},
+ hyphenmins={2,2},
+ fontsetup=true,
+}
\def\captionsicelandic{%
\def\refname{Heimildir}%
@@ -6171,6 +6281,7 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\def\proofname{Sönnun}%
\def\glossaryname{Orðalisti}%
}
+
\def\dateicelandic{%
\def\today{\number\day.~\ifcase\month\or
janúar\or febrúar\or mars\or apríl\or maí\or
@@ -6179,10 +6290,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\space\number\year}%
}
-\def\icelandic@language{\language=\l@icelandic}
-
-\setlocalhyphenmins{icelandic}{2}{2}%
-
% \end{macrocode}
% \iffalse
%</gloss-icelandic.ldf>
@@ -6194,11 +6301,13 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-interlingua.ldf}[polyglossia: module for interlingua]
\makeatletter
-
-\ifx\l@interlingua\@undefined%
- \xpg@nopatterns{Interlingua}%
- \adddialect\l@interlingua\l@nohyphenation%
-\fi
+\PolyglossiaSetup{interlingua}{
+ hyphennames={interlingua},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ indentfirst=true,
+ fontsetup=true,
+}
\def\captionsinterlingua{%
\def\refname{Referentias}%
@@ -6231,10 +6340,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
decembre\fi
\space \number\year}}
-\def\interlingua@language{\language=\l@interlingua}
-
-\setlocalhyphenmins{interlingua}{2}{2}%
-
% \end{macrocode}
% \iffalse
%</gloss-interlingua.ldf>
@@ -6246,12 +6351,11 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-irish.ldf}[polyglossia: module for irish]
\makeatletter
-\def\irish@font{\selectfontfamilylatin}
-
-\ifx\l@irish\@undefined%
- \xpg@nopatterns{Irish}%
- \adddialect\l@irish\l@nohyphenation%
-\fi
+\PolyglossiaSetup{irish}{
+ hyphennames={irish},
+ hyphenmins={2,2},
+ fontsetup=true,
+}
\def\captionsirish{%
\def\refname{Tagairtí}%
@@ -6287,10 +6391,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
Mí na Samhna\or Mí na Nollag\fi
\space \number\year}}
-\def\irish@language{\language=\l@irish}
-
-\setlocalhyphenmins{irish}{2}{2}%
-
% \end{macrocode}
% \iffalse
%</gloss-irish.ldf>
@@ -6302,12 +6402,13 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-italian.ldf}[polyglossia: module for italian]
\makeatletter
-\def\italian@font{\selectfontfamilylatin}
-
-\ifx\l@italian\@undefined
- \xpg@nopatterns{Italian}
- \adddialect\l@italian\l@nohyphenation
-\fi
+\PolyglossiaSetup{italian}{
+ hyphennames={italian},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ indentfirst=true,
+ fontsetup=true,
+}
\def\captionsitalian{%
\def\prefacename{Prefazione}%
@@ -6336,21 +6437,15 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\def\today{\number\day~\ifcase\month\or
gennaio\or febbraio\or marzo\or aprile\or maggio\or giugno\or
luglio\or agosto\or settembre\or ottobre\or novembre\or
- dicembre\fi\space \number\year}
-}
-
-\def\italian@language{\language=\l@italian}
-
-\setlocalhyphenmins{italian}{2}{2}%
+ dicembre\fi\space \number\year}}
\def\noextras@italian{%
- \lccode"2019=0%
- \nofrench@indent}
+ \lccode"2019=\z@
+ }
\def\blockextras@italian{%
\lccode"2019="2019
%TODO ? \clubpenalty3000\widowpenalty3000\finalhyphendemerits50000000 << in Babel
- \french@indent%
}
\def\inlineextras@italian{%
@@ -6360,6 +6455,105 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \end{macrocode}
% \iffalse
%</gloss-italian.ldf>
+%<*gloss-lao.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-lao.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-lao.ldf}[polyglossia: module for Lao]
+\makeatletter
+\PolyglossiaSetup{lao}{
+ script=Lao,
+ scripttag=lao,
+ hyphennames={lao},
+ hyphenmins={1,1},
+ fontsetup=true,
+ %TODO localalph={xxx@alph,xxx@Alph}
+ %TODO localdigits=laonumber
+}
+
+\newif\if@lao@numerals
+\def\tmp@lao{lao}
+\define@key{lao}{numerals}[arabic]{%
+ \def\@tmpa{#1}%
+ \ifx\@tmpa\tmp@lao\@lao@numeralstrue\else
+ \@lao@numeralsfalse\fi
+}
+
+\setkeys{lao}{numerals}
+
+% Translations provided by Brian Wilson <bountonw at gmail.com>
+\def\captionslao{%
+ \def\prefacename{ຄໍານໍາ}%
+ \def\refname{ໜັງສືອ້າງອີງ}%
+ \def\abstractname{ບົດຫຍໍ້ຄວາມ}%
+ \def\bibname{ເອກະສານອ້າງອີງ}%
+ \def\chaptername{ບົດທີ}%
+ \def\appendixname{ພາກຄັດຕິດ}%
+ \def\contentsname{ສາລະບານ}%
+ \def\listfigurename{ສາລະບານຮູບ}%
+ \def\listtablename{ສາລະບານຕາຕະລາງ}%
+ \def\indexname{ດັດຊະນີ}%
+ \def\figurename{ຮູບທີ}%
+ \def\tablename{ຕາຕະລາງທີ}%
+ \def\partname{ພາກ}%
+ \def\pagename{ໜ້າ}%
+ \def\seename{ອ່ານ}%
+ \def\alsoname{ອ່ານເພີ່ມ}%
+ \def\enclname{ເອກະສານປະກອບ}%
+ \def\ccname{ສໍາເນົາເຖິງ}%
+ \def\headtoname{ຮຽນ}%
+ \def\proofname{ຂໍ້ພິສູດ}%
+ \def\glossaryname{ປະມວນສັບ}%
+}
+\def\datelao{%
+ \def\lao@month{%
+ \ifcase\month\or
+ ມັງກອນ\or
+ ກຸມພາ\or
+ ມີນາ\or
+ ເມສາ\or
+ ພຶດສະພາ\or
+ ມິຖຸນາ\or
+ ກໍລະກົດ\or
+ ສິງຫາ\or
+ ກັນຍາ\or
+ ຕຸລາ\or
+ ພະຈິກ\or
+ ທັນວາ\fi}%
+ \def\today{\laonumber\day \space \lao@month \space \laonumber\year}%
+}
+
+\def\laodigits#1{\expandafter\@lao@digits #1@}
+\def\@lao@digits#1{%
+ \ifx @#1% then terminate
+ \else
+ \ifx0#1໐\else\ifx1#1໑\else\ifx2#1໒\else\ifx3#1໓\else\ifx4#1໔\else\ifx5#1໕\else\ifx6#1໖\else\ifx7#1໗\else\ifx8#1໘\else\ifx9#1໙\else#1\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ \expandafter\@lao@digits
+ \fi
+}
+
+\def\laonumber#1{%
+ \if@lao@numerals
+ \laodigits{\number#1}%
+ \else
+ \number#1%
+ \fi}
+
+\def\lao@globalnumbers{%
+ \let\orig@arabic\@arabic%
+ \let\@arabic\laonumber%
+ \renewcommand{\thefootnote}{\protect\laonumber{\c@footnote}}%
+}
+\def\nolao@globalnumbers{%
+ \let\@arabic\orig@arabic%
+ \renewcommand\thefootnote{\protect\number{\c@footnote}}%
+}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-lao.ldf>
%<*gloss-latin.ldf>
% \fi
% \clearpage
@@ -6368,12 +6562,12 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-latin.ldf}[polyglossia: module for latin]
\makeatletter
-\def\latin@font{\selectfontfamilylatin}
-
-\ifx\l@latin\@undefined
- \xpg@nopatterns{latin}
- \adddialect\l@latin\l@nohyphenation
-\fi
+\PolyglossiaSetup{latin}{
+ hyphennames={latin},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ fontsetup=true,
+}
\def\captionslatin{%
\def\prefacename{Praefatio}%
@@ -6406,22 +6600,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
Decembris\fi%
\space \uppercase\expandafter{\romannumeral\year}}}
-\def\latin@language{\language=\l@latin}
-
-\setlocalhyphenmins{latin}{2}{2}%
-
-\def\noextras@latin{%
- \nonfrenchspacing%
-}
-
-\def\blockextras@latin{%
- \frenchspacing%
-}
-
-\def\inlineextras@latin{%
- \frenchspacing%
-}
-
% \end{macrocode}
% \iffalse
%</gloss-latin.ldf>
@@ -6433,12 +6611,11 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-latvian.ldf}[polyglossia: module for latvian]
\makeatletter
-\def\latvian@font{\selectfontfamilylatin}
-
-\ifx\l@latvian\@undefined
- \xpg@nopatterns{Latvian}
- \adddialect\l@latvian\l@nohyphenation\relax
-\fi
+\PolyglossiaSetup{latvian}{
+ hyphennames={latvian},
+ hyphenmins={2,2},
+ fontsetup=true,
+}
\def\captionslatvian{%
\def\prefacename{Priekšvārds}%
@@ -6472,10 +6649,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
jūlijā\or augustā\or septembrī\or%
oktobrī\or novembrī\or decembrī\fi}}
-\def\latvian@language{\language=\l@latvian}
-
-\setlocalhyphenmins{latvian}{2}{2}%
-
% \end{macrocode}
% \iffalse
%</gloss-latvian.ldf>
@@ -6486,71 +6659,67 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \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]
-\makeatletter
-
-\ifx\l@lithuanian\@undefined%
- \xpg@nopatterns{Lithuanian}%
- \adddialect\l@lithuanian\l@nohyphenation\relax
-\fi
+\PolyglossiaSetup{lithuanian}{
+ hyphennames={lithuanian},
+ hyphenmins={2,2},
+ fontsetup=true,
+}
\def\captionslithuanian{%
- \def\refname{\textlithuanian{Literatūra}}%
- \def\abstractname{\textlithuanian{Santrauka}}%
- \def\bibname{\textlithuanian{Literatūra}}%
- \def\prefacename{\textlithuanian{Pratarmė}}%
- \def\chaptername{\textlithuanian{Skyrius}}%
- \def\appendixname{\textlithuanian{Priedas}}%
- \def\contentsname{\textlithuanian{Turinys}}%
- \def\listfigurename{\textlithuanian{Iliustracijų sąrašas}}%
- \def\listtablename{\textlithuanian{Lentelių sąrašas}}%
- \def\indexname{\textlithuanian{Rodyklė}}%
- \def\figurename{\textlithuanian{Pav.}}%
- \def\tablename{\textlithuanian{Lentelė}}%
- %\def\thepart{\textlithuanian{}}% Roman numerals are fine
- \def\partname{\textlithuanian{Dalis}}%
- \def\pagename{\textlithuanian{Puslapis}}%
- \def\seename{\textlithuanian{žiūrėk}}%
- \def\alsoname{\textlithuanian{tai pat}}%
- \def\enclname{\textlithuanian{Įdėta}}%
- \def\ccname{\textlithuanian{Kopijos}}%
- \def\headtoname{\textlithuanian{Kam}}%
- \def\proofname{\textlithuanian{Įrodymas}}%
- \def\glossaryname{\textlithuanian{Terminų žodynas}}%
- }
+ \def\refname{Literatūra}%
+ \def\abstractname{Santrauka}%
+ \def\bibname{Literatūra}%
+ \def\prefacename{Pratarmė}%
+ \def\chaptername{skyrius}%
+ \def\appendixname{Priedas}%
+ \def\contentsname{Turinys}%
+ \def\listfigurename{Iliustracijų sąrašas}%
+ \def\listtablename{Lentelių sąrašas}%
+ \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}%
+ \def\alsoname{taip pat}%
+ \def\enclname{Įdėta}%
+ \def\ccname{Kopijos}%
+ \def\headtoname{Kam}%
+ \def\proofname{Įrodymas}%
+ \def\glossaryname{Terminų žodynas}%
+}
\def\datelithuanian{%
- \def\lithuanianmonth{\ifcase\month\or%
- sausio\or% Jan
- vasario\or% Feb
- kovo\or% Mar
- balandžio\or% Apr
- gegužės\or% May
- birželio\or% Jun
- liepos\or% Jul
- rugpjūčio\or% Aug
- rugsėjo\or% Sep
- spalio\or% Oct
- lapkričio\or% Nov
- gruodžio% Dec
- \fi}
- \def\today{\textlithuanian{\number\year~m.~\lithuanianmonth~\number\day~d.}}%
- }
-
-\def\lithuanian@font{\selectfontfamilylatin} % <== if the script is Latin
-
-\def\lithuanian@language{\protect\language=\l@lithuanian}
-
-\setlocalhyphenmins{lithuanian}{2}{2}%
-
-\def\noextras@lithuanian{%
- }
+ \def\lithuanianmonth{\ifcase\month\or
+ sausio\or
+ vasario\or
+ kovo\or
+ balandžio\or
+ gegužės\or
+ birželio\or
+ liepos\or
+ rugpjūčio\or
+ rugsėjo\or
+ spalio\or
+ lapkričio\or
+ 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}%
+ \def\fnum@table{\thetable\nobreakspace\tablename}%
+}
-\def\inlineextras@lithuanian{%
- }
+\def\noblockextras@lithuanian{%
+ \let\fnum@figure\fnum@figure@orig
+ \let\fnum@table\fnum@table@orig
+}
% \end{macrocode}
% \iffalse
@@ -6563,19 +6732,11 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-lsorbian.ldf}[polyglossia: module for lower sorbian]
\makeatletter
-\def\lsorbian@font{\selectfontfamilylatin}
-
-\ifx\l@lowersorbian\@undefined
- \ifx\l@lsorbian\@undefined
- \xpg@nopatterns{Lsorbian}
- \adddialect\l@lsorbian\z@
- \let\l@lowersorbian\l@lsorbian
- \else
- \let\l@lowersorbian\l@lsorbian
- \fi
-\else
- \let\l@lsorbian\l@lowersorbian
-\fi
+\PolyglossiaSetup{lsorbian}{
+ hyphennames={lsorbian,lowersorbian,Lsorbian},
+ hyphenmins={2,2},
+ fontsetup=true,
+}
\def\captionslsorbian{%
\def\refname{Referency}%
@@ -6614,10 +6775,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
godownika\fi\space \number\year}}%
}
-\def\lsorbian@language{\language=\l@lsorbian}
-
-\setlocalhyphenmins{lsorbian}{2}{2}%
-
% \end{macrocode}
% \iffalse
%</gloss-lsorbian.ldf>
@@ -6629,19 +6786,11 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-magyar.ldf}[polyglossia: module for magyar]
\makeatletter
-\def\magyar@font{\selectfontfamilylatin}
-
-\ifx\l@magyar\@undefined
- \ifx\l@hungarian\@undefined
- \xpg@nopatterns{Magyar}
- \adddialect\l@magyar\l@nohyphenation
- \else
- \let\l@magyar\l@hungarian
- \fi
-\fi
-\ifx\l@hungarian\@undefined
- \let\l@hungarian\l@magyar
-\fi
+\PolyglossiaSetup{magyar}{
+ hyphennames={magyar,hungarian},
+ hyphenmins={2,2},
+ fontsetup=true,
+}
\def\captionsmagyar{%
\def\refname{Hivatkozások}%
@@ -6675,7 +6824,7 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
július\or augusztus\or szeptember\or
október\or november\or december\fi
\space\number\day.}%
- \def\ondatemagyar{\textmagyar{%
+ \def\ondatemagyar{%
\number\year.\nobreakspace\ifcase\month\or
január\or február\or március\or
április\or május\or június\or
@@ -6688,20 +6837,165 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
16-án\or 17-én\or 18-án\or 19-én\or 20-án\or
21-én\or 22-én\or 23-án\or 24-én\or 25-én\or
26-án\or 27-én\or 28-án\or 29-én\or 30-án\or
- 31-én\fi}}%
+ 31-én\fi}%
\let\ontoday\ondatemagyar}
-\def\magyar@language{\language=\l@magyar}
-
\def\noextras@magyar{%
\let\ontoday\@undefined
- }
-
-\setlocalhyphenmins{magyar}{2}{2}%
+}
% \end{macrocode}
% \iffalse
%</gloss-magyar.ldf>
+%<*gloss-malayalam.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-malayalam.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-malayalam.ldf}[polyglossia: module for malayalam]
+% Translations provided by Kevin & Siji, 01-11-2009
+\makeatletter
+
+\PolyglossiaSetup{malayalam}{
+ script=Malayalam,
+ scripttag=mlym,
+ langtag=MAL, %FIXME there is also MLR for "Malayalam Reformed"
+ hyphennames={malayalam},
+ hyphenmins={2,2}, %FIXME
+ fontsetup=true,
+}
+
+\def\captionsmalayalam{%
+ \def\abstractname{സാരാംശം}%
+ \def\appendixname{ശിഷ്ടം}%
+ \def\bibname{}% (?)
+ \def\ccname{}%
+ \def\chaptername{അദ്ധ്യായം}%
+ \def\contentsname{ഉള്ളടക്കം}%
+ \def\enclname{}%
+ \def\figurename{ചിത്രം}% रेखाचित्र
+ \def\headpagename{}%
+ \def\headtoname{}%
+ \def\indexname{സൂചിക}%
+ \def\listfigurename{ചിത്രസൂചിക}%
+ \def\listtablename{പട്ടികകളുടെ സൂചിക}%
+ \def\pagename{}%
+ \def\partname{ഭാഗം}%
+ \def\prefacename{}%
+ \def\refname{}%
+ \def\tablename{പട്ടിക}%
+ \def\seename{കാണുക}%
+ \def\alsoname{ഇതും കാണുക}%
+ \def\alsoseename{ഇതും കാണുക}%
+}
+\def\datemalayalam{%
+ \def\today{\number\year\space\ifcase\month\or
+ ജനുവരി\or
+ ഫിബ്രുവരി\or
+ മാർച്ച്\or
+ ഏപ്രിൽ\or
+ മെയ്\or
+ ജൂൺ\or
+ ജൂലായ്\or
+ ആഗസ്ത്\or
+ സെപ്തംബർ\or
+ ഒക്ടോബർ\or
+ നവംബർ\or
+ ഡിസംബർ\fi
+ \space\number\day}%
+}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-malayalam.ldf>
+%<*gloss-marathi.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-marathi.ldf}
+% \begin{macrocode}
+% Translations provided by Abhijit Navale <abhi_navale@live.in>
+% TODO implement Hindu calendar (not used in day-to-day practice)
+
+\ProvidesFile{gloss-marathi.ldf}[polyglossia: module for marathi]
+\RequirePackage{devanagaridigits}
+\makeatletter
+
+\PolyglossiaSetup{marathi}{
+ script=Devaganari,
+ scripttag=deva,
+ langtag=MAR,
+ hyphennames={marathi},
+ hyphenmins={2,2},%CHECK
+ fontsetup=true,
+ %TODO nouppercase=true,
+ %TODO localnumber=marathinumber
+}
+
+\def\tmp@western{Western}
+\newif\ifmarathi@devanagari@numerals
+\marathi@devanagari@numeralstrue
+
+\define@key{marathi}{numerals}[Devanagari]{%
+ \def\@tmpa{#1}%
+ \ifx\@tmpa\tmp@western
+ \marathi@devanagari@numeralsfalse
+ \fi}
+
+\def\marathinumber#1{%
+ \ifmarathi@devanagari@numerals
+ \devanagaridigits{\number#1}%
+ \else
+ \number#1%
+ \fi}
+
+\def\captionsmarathi{%
+ \def\refname{संदर्भ}%
+ \def\abstractname{सारांश}%
+ \def\bibname{संदर्भ ग्रंथांची यादी}%
+ \def\prefacename{प्रस्तावना}%
+ \def\chaptername{प्रकरण}%
+ \def\appendixname{परिशिष्ट}%
+ \def\contentsname{अनुक्रमणिका}%
+ \def\listfigurename{आक्रुत्यांची यादी}%
+ \def\listtablename{कॊष्टकांची यादी}%
+ \def\indexname{सुची}%
+ \def\figurename{आक्रुती}%
+ \def\tablename{कोष्टक}%
+ %\def\thepart{}% TODO
+ \def\partname{भाग}%
+ \def\pagename{पान}%
+ \def\seename{पहा}%
+ \def\alsoname{हे सुध्दा पहा}%
+ \def\enclname{समाविष्ट}%
+ \def\ccname{सि.सि.}%
+ \def\headtoname{प्रति}%
+ \def\proofname{कसोटी}%
+ \def\glossaryname{स्पष्टीकरणकोश}%
+}
+\def\datemarathi{%
+ \def\marathimonth{%
+ \ifcase\month\or
+ जानेवारी\or
+ फेब्रुवारी\or
+ मार्च\or
+ एप्रिल\or
+ मे\or
+ जुन\or
+ जुलॆ\or
+ ओगस्ट\or
+ सप्टेंबर\or
+ ओक्टोबर\or
+ नोव्हेंबर\or
+ डिसेंबर\fi
+ }%
+ \def\today{\marathinumber\day\space\marathimonth\space\marathinumber\year}%
+}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-marathi.ldf>
%<*gloss-norsk.ldf>
% \fi
% \clearpage
@@ -6710,12 +7004,12 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-norsk.ldf}[polyglossia: module for norwegian]
\makeatletter
-\def\norsk@font{\selectfontfamilylatin}
-
-\ifx\l@norsk\@undefined%
- \xpg@nopatterns{Norsk}%
- \adddialect\l@norsk\l@nohyphenation%
-\fi
+\PolyglossiaSetup{norsk}{
+ hyphennames={norsk},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ fontsetup=true,
+}
\def\captionsnorsk{%
\def\refname{Referanser}%
@@ -6741,6 +7035,7 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\def\proofname{Bevis}%
\def\glossaryname{Ordliste}%
}
+
\def\datenorsk{%
\def\today{\number\day.~\ifcase\month\or
januar\or februar\or mars\or april\or mai\or juni\or
@@ -6748,22 +7043,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\fi\space\number\year}%
}
-\def\norsk@language{\language=\l@norsk}
-
-\setlocalhyphenmins{norsk}{2}{2}%
-
-\def\noextras@norsk{%
- \nonfrenchspacing%
- }
-
-\def\blockextras@norsk{%
- \frenchspacing%
- }
-
-\def\inlineextras@norsk{%
- \frenchspacing%
- }
-
% \end{macrocode}
% \iffalse
%</gloss-norsk.ldf>
@@ -6775,12 +7054,12 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-nynorsk.ldf}[polyglossia: module for norwegian (Nynorsk)]
\makeatletter
-\def\nynorsk@font{\selectfontfamilylatin}
-
-\ifx\l@nynorsk\@undefined%
- \xpg@nopatterns{Nynorsk}%
- \adddialect\l@nynorsk\l@nohyphenation%
-\fi
+\PolyglossiaSetup{nynorsk}{
+ hyphennames={nynorsk},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ fontsetup=true,
+}
\def\captionsnynorsk{%
\def\refname{Referansar}%
@@ -6806,6 +7085,7 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\def\proofname{Bevis}%
\def\glossaryname{Ordliste}%
}
+
\def\datenynorsk{%
\def\today{\number\day.~\ifcase\month\or
januar\or februar\or mars\or april\or mai\or juni\or
@@ -6813,25 +7093,75 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\fi\space\number\year}%
}
-\def\norsk@language{\language=\l@nynorsk}
-
-\setlocalhyphenmins{nynorsk}{2}{2}%
-
-\def\noextras@nynorsk{%
- \nonfrenchspacing%
- }
+% \end{macrocode}
+% \iffalse
+%</gloss-nynorsk.ldf>
+%<*gloss-occitan.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-occitan.ldf}
+% \begin{macrocode}
+% Translated by Cédric Valmary <cvalmary@yahoo.fr> of Tot en òc <http://www.totenoc.org/>
+\ProvidesFile{gloss-occitan.ldf}[polyglossia: module for occitan]
-\def\blockextras@nynorsk{%
- \frenchspacing%
- }
+\PolyglossiaSetup{occitan}{
+ hyphennames={occitan},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ indentfirst=true,
+ fontsetup=true,
+}
-\def\inlineextras@nynorsk{%
- \frenchspacing%
- }
+\def\captionsoccitan{%
+ \def\refname{Referéncias}%
+ \def\abstractname{Resumit}%
+ \def\bibname{Bibliografia}%
+ \def\prefacename{Prefàcia}%
+ \def\chaptername{Capítol}%
+ \def\appendixname{Annèx}%
+ \def\contentsname{Ensenhador}%
+ \def\listfigurename{Taula de las figuras}%
+ \def\listtablename{Taula dels tablèus}%
+ \def\indexname{Indèx}%
+ \def\figurename{Figura}%
+ \def\tablename{Tablèu}%
+ %\def\thepart{\textoccitan{}}%
+ \def\partname{Partida}%
+ \def\pagename{Pagina}%
+ \def\seename{vejatz}%
+ \def\alsoname{vejatz tanben}%
+ \def\enclname{Pèça junta}%
+ \def\ccname{còpia a}%
+ \def\headtoname{A}%
+ \def\proofname{Demostracion}%
+ \def\glossaryname{Glossari}%
+}
+\def\dateoccitan{%
+ \def\occitanmonth{\ifcase\month\or
+ de~genièr\or
+ de~febrièr\or
+ de~març\or
+ d'abril\or
+ de~mai\or
+ de~junh\or
+ de~julhet\or
+ d'agost\or
+ de~setembre\or
+ d'octobre\or
+ de~novembre\or
+ de~decembre\fi
+ }%
+ \def\occitanday{\ifcase\day\or
+ 1èr\else% primièr
+ \number\day\fi% all other numbers
+ }%
+ \def\today{\occitanday \occitanmonth\space de~\number\year}%
+}
% \end{macrocode}
% \iffalse
-%</gloss-nynorsk.ldf>
+%</gloss-occitan.ldf>
%<*gloss-polish.ldf>
% \fi
% \clearpage
@@ -6840,12 +7170,12 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-polish.ldf}[polyglossia: module for polish]
\makeatletter
-\def\polish@font{\selectfontfamilylatin}
-
-\ifx\l@polish\@undefined
- \xpg@nopatterns{polish}
- \adddialect\l@polish\l@nohyphenation
-\fi
+\PolyglossiaSetup{polish}{
+ hyphennames={polish},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ fontsetup=true,
+}
\def\captionspolish{%
\def\prefacename{Przedmowa}%
@@ -6869,29 +7199,15 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\def\alsoname{Porównaj także}%
\def\proofname{Dowód}%
\def\glossaryname{Glossary}% <-- Needs translation
- }
-\def\datepolish{%
- \def\today{\ifcase\month\or%
- stycznia\or lutego\or marca\or kwietnia\or maja\or czerwca\or%
- lipca\or sierpnia\or września\or października\or%
- listopada\or grudnia\fi%
- \space\number\day, \number\year}}
-
-\def\polish@language{\language=\l@polish}
-
-\setlocalhyphenmins{polish}{2}{2}%
-
-\def\noextras@polish{%
- \nonfrenchspacing%
-}
-
-\def\blockextras@polish{%
- \frenchspacing%
-}
+ }
-\def\inlineextras@polish{%
- \frenchspacing%
-}
+\def\datepolish{%
+ \def\today{\ifcase\month\or
+ stycznia\or lutego\or marca\or kwietnia\or maja\or czerwca\or
+ lipca\or sierpnia\or września\or października\or
+ listopada\or grudnia\fi
+ \space\number\day, \number\year}%
+ }
% \end{macrocode}
% \iffalse
@@ -6904,52 +7220,44 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-portuges.ldf}[polyglossia: module for portuguese]
\makeatletter
-\def\portuges@font{\selectfontfamilylatin}
-
-\ifx\l@portuges\@undefined
- \ifx\l@portuguese\@undefined
- \xpg@nopatterns{Portuguese}
- \adddialect\l@portuges\l@nohyphenation
- \else
- \let\l@portuges\l@portuguese
- \fi
-\fi
+\PolyglossiaSetup{portuges}{
+ hyphennames={portuges,portuguese},
+ hyphenmins={2,3},
+ fontsetup=true,
+}
\def\captionsportuges{%
- \def\refname{Referências}%
- \def\abstractname{Resumo}%
- \def\bibname{Bibliografia}%
- \def\prefacename{Prefácio}%
- \def\chaptername{Capítulo}%
- \def\appendixname{Apêndice}%
- \def\contentsname{Conteúdo}%
- \def\listfigurename{Lista de Figuras}%
- \def\listtablename{Lista de Tabelas}%
- \def\indexname{Índice}%
- \def\figurename{Figura}%
- \def\tablename{Tabela}%
- %\def\thepart{}%
- \def\partname{Parte}%
- \def\pagename{Página}%
- \def\seename{ver}%
- \def\alsoname{ver também}%
- \def\enclname{Anexo}%
- \def\ccname{Com cópia a}%
- \def\headtoname{Para}%
- \def\proofname{Demonstração}%
- \def\glossaryname{Glossário}%
- }
+ \def\refname{Referências}%
+ \def\abstractname{Resumo}%
+ \def\bibname{Bibliografia}%
+ \def\prefacename{Prefácio}%
+ \def\chaptername{Capítulo}%
+ \def\appendixname{Apêndice}%
+ \def\contentsname{Conteúdo}%
+ \def\listfigurename{Lista de Figuras}%
+ \def\listtablename{Lista de Tabelas}%
+ \def\indexname{Índice}%
+ \def\figurename{Figura}%
+ \def\tablename{Tabela}%
+ %\def\thepart{}%
+ \def\partname{Parte}%
+ \def\pagename{Página}%
+ \def\seename{ver}%
+ \def\alsoname{ver também}%
+ \def\enclname{Anexo}%
+ \def\ccname{Com cópia a}%
+ \def\headtoname{Para}%
+ \def\proofname{Demonstração}%
+ \def\glossaryname{Glossário}%
+ }
+
\def\dateportuges{%
- \def\today{\number\day\space de\space\ifcase\month\or
- Janeiro\or Fevereiro\or Março\or Abril\or Maio\or Junho\or
- Julho\or Agosto\or Setembro\or Outubro\or Novembro\or Dezembro%
- \fi\space de\space\number\year}%
- }
+ \def\today{\number\day\space de\space\ifcase\month\or
+ Janeiro\or Fevereiro\or Março\or Abril\or Maio\or Junho\or
+ Julho\or Agosto\or Setembro\or Outubro\or Novembro\or Dezembro\fi
+ \space de\space\number\year}%
+ }
-\def\portuges@language{\language=\l@portuges}
-
-%\setlocalhyphenmins{portuges}{2}{3}% this is the default
-
% \end{macrocode}
% \iffalse
%</gloss-portuges.ldf>
@@ -6961,12 +7269,12 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-romanian.ldf}[polyglossia: module for romanian]
\makeatletter
-\def\romanian@font{\selectfontfamilylatin}%TODO\addfontfeature{Language=Romanian}
-\ifx\l@romanian\@undefined%
- \xpg@nopatterns{Romanian}%
- \adddialect\l@romanian\l@nohyphenation%
-\fi
+\PolyglossiaSetup{romanian}{
+ hyphennames={romanian},
+ hyphenmins={2,2},
+ fontsetup=true,
+}
\def\captionsromanian{%
\def\refname{Bibliografie}%
@@ -6992,17 +7300,14 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\def\proofname{Demonstrație}%
\def\glossaryname{Glosar}%
}
-\def\dateromanian{%
- \def\today{\number\day~\ifcase\month\or
+
+\def\dateromanian{%
+ \def\today{\number\day~\ifcase\month\or
ianuarie\or februarie\or martie\or aprilie\or mai\or
iunie\or iulie\or august\or septembrie\or octombrie\or
noiembrie\or decembrie\fi
\space \number\year}%
- }
-
-\def\romanian@language{\language=\l@romanian}
-
-\setlocalhyphenmins{romanian}{2}{2}%
+ }
% \end{macrocode}
% \iffalse
@@ -7015,60 +7320,89 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-russian.ldf}[polyglossia: module for russian]
\makeatletter
+\PolyglossiaSetup{russian}{
+ script=Cyrillic,
+ scripttag=cyrl,
+ langtag=RUS,
+ hyphennames={russian},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ fontsetup
+ %TODO localalph={russian@alph,russian@Alph}
+}
+
+\define@key{russian}{spelling}[modern]{%
+ \ifstrequal{#1}{old}%
+ {\def\captionsrussian{\captionsrussian@old}%
+ \def\daterussian{\daterussian@old}}%
+ {\def\captionsrussian{\captionsrussian@modern}%
+ \def\daterussian{\daterussian@modern}}%
+}
+
+\newif\ifcyrillic@numerals
+\define@key{russian}{numerals}[latin]{%
+ \ifstrequal{#1}{cyrillic}%
+ {\cyrillic@numeralstrue}
+ {\cyrillic@numeralsfalse}
+}
+
+\define@boolkey{russian}[russian@]{babelshorthands}[false]{}
+
+\setkeys{russian}{spelling,numerals}
-\ifx\l@russian\@undefined
- \xpg@nopatterns{Russian}
- \adddialect\l@russian\l@nohyphenation
+\ifsystem@babelshorthands
+ \setkeys{russian}{babelshorthands=true}
+\else
+ \setkeys{russian}{babelshorthands=false}
\fi
-\def\russian@font{%
- \@ifundefined{russianfont}{%
- \@ifundefined{cyrillicfont}{%
- \normalfontlatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@script{cyrl}%
- \if@tempswa
- \addfontfeature{Script=Cyrillic}%
- \else
- \PackageError{polyglossia}{^^J
- The current font does not contain the Cyrillic script!^^J
- Please define \string\cyrillicfont\space or \string\russianfont\space with \string\newfontfamily}%
- \fi
- \zf@check@ot@lang{RUS}%
- \if@tempswa\addfontfeature{Language=Russian}\fi
+\ifcsundef{initiate@active@char}{%
+ \input{babelsh.def}%
+ \initiate@active@char{"}%
+}{}
+
+\def\russian@shorthands{%
+ \bbl@activate{"}%
+ \def\language@group{russian}%
+% \declare@shorthand{russian}{"`}{„}%
+% \declare@shorthand{russian}{"'}{“}%
+% \declare@shorthand{russian}{"<}{«}%
+% \declare@shorthand{russian}{">}{»}%
+ \declare@shorthand{russian}{""}{\hskip\z@skip}%
+ \declare@shorthand{russian}{"~}{\textormath{\leavevmode\hbox{-}}{-}}%
+ \declare@shorthand{russian}{"=}{\nobreak\-\hskip\z@skip}%
+ \declare@shorthand{russian}{"|}{\textormath{\nobreak\discretionary{-}{}{\kern.03em}\allowhyphens}{}}%
+ \declare@shorthand{russian}{"-}{%
+ \def\russian@sh@tmp{%
+ \if\russian@sh@next-\expandafter\russian@sh@emdash
+ \else\expandafter\russian@sh@hyphen\fi
}%
- {\cyrillicfont%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@lang{RUS}%
- \if@tempswa\addfontfeature{Language=Russian}\fi}%
- }%
- {\russianfont}%
+ \futurelet\russian@sh@next\russian@sh@tmp}%
+ \def\russian@sh@hyphen{%
+ \nobreak\-\bbl@allowhyphens}%
+ \def\russian@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{russian}{",}{\nobreak\hskip.2em\ignorespaces}%
}
-\def\tmp@old{old}
-\define@key{russian}{spelling}[modern]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@old
- \def\captionsrussian{\captionsrussian@old}
- \def\daterussian{\daterussian@old}%
- \else%
- \def\captionsrussian{\captionsrussian@modern}
- \def\daterussian{\daterussian@modern}%
- \fi}
-
-%TODO: enable key to switch between latin and cyrillic \alph
-\def\tmp@latin{latin}
-\newif\iflatin@numerals
-\define@key{russian}{numerals}[russian]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@latin
- \latin@numeralstrue
- \else
- \latin@numeralsfalse
- \fi
+\def\norussian@shorthands{%
+ \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
}
-\setkeys{russian}{spelling,numerals}
\def\captionsrussian@modern{%
\def\prefacename{Предисловие}%
@@ -7137,7 +7471,7 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\def\alsoname{см.~также}%
\def\proofname{Доказательство}%
}
-\def\daterussian@old{
+\def\daterussian@old{%
\def\today{\number\day%
\space\ifcase\month\or%
января\or
@@ -7173,48 +7507,68 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\def\preparagraph{}%
\def\presubparagraph{}}
+\def\Asbuk#1{\expandafter\russian@Alph\csname c@#1\endcsname}
\def\russian@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 Я\else\xpg@ill@value{#1}{russian@Alph}\fi}
-\def\russian@alph#1{\ifcase#1\or
+\def\asbuk#1{\expandafter\russian@alph\csname c@#1\endcsname}
+\def\russian@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 я\else\xpg@ill@value{#1}{russian@alph}\fi}
\def\russian@numbers{%
- \let\latin@Alph\@Alph%
- \let\latin@alph\@alph%
- \let\@Alph\russian@Alph%
- \let\@alph\russian@alph%
+ \let\latin@alph\@alph%
+ \let\latin@Alph\@Alph%
+ \ifcyrillic@numerals
+ \let\@alph\russian@alph%
+ \let\@Alph\russian@Alph%
+ \fi
}
\def\norussian@numbers{%
- \let\@Alph\latin@Alph%
\let\@alph\latin@alph%
+ \let\@Alph\latin@Alph%
}
-\def\russian@language{\language=\l@russian}
-
-\setlocalhyphenmins{russian}{2}{2}%
-
\def\noextras@russian{%
- \nonfrenchspacing%
\def\@seccntformat##1{\csname the##1\endcsname\quad}% = LaTeX kernel
- \iflatin@numerals\else\norussian@numbers\fi
- }
+ \ifcyrillic@numerals\norussian@numbers\fi
+ \norussian@shorthands%
+}
\def\blockextras@russian{%
- \frenchspacing%
\russian@capsformat%
- \iflatin@numerals\else\russian@numbers\fi
- }
+ \ifcyrillic@numerals\russian@numbers\fi
+ \ifrussian@babelshorthands\russian@shorthands\fi
+}
\def\inlineextras@russian{%
- \frenchspacing%
- }
+ \ifrussian@babelshorthands\russian@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
@@ -7227,12 +7581,12 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-samin.ldf}[polyglossia: module for samin]
\makeatletter
-\def\samin@font{\selectfontfamilylatin}
-\ifx\l@samin\@undefined%
- \xpg@nopatterns{Samin}%
- \adddialect\l@samin\l@nohyphenation%
-\fi
+\PolyglossiaSetup{samin}{
+ hyphennames={samin},
+ hyphenmins={2,2},
+ fontsetup=true,
+}
\def\captionssamin{%
\def\refname{Čujuhusat}%
@@ -7258,8 +7612,8 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\def\proofname{Duođaštus}%
\def\glossaryname{Sátnelistu}%
}
-\def\datesamin{%
- \def\today{\ifcase\month\or
+\def\datesamin{%
+ \def\today{\ifcase\month\or
ođđajagemánu\or
guovvamánu\or
njukčamánu\or
@@ -7273,11 +7627,7 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
skábmamánu\or
juovlamánu\fi
\space\number\day.~b.\space\number\year}%
- }
-
-\def\samin@language{\language=\l@samin}
-
-\setlocalhyphenmins{samin}{2}{2}%
+ }
% \end{macrocode}
% \iffalse
@@ -7289,114 +7639,90 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \subsection{gloss-sanskrit.ldf}
% \begin{macrocode}
\ProvidesFile{gloss-sanskrit.ldf}[polyglossia: module for sanskrit]
+\RequirePackage{devanagaridigits}
\makeatletter
-\ifx\l@sanskrit\@undefined%
- \ifx\l@prakrit\@undefined%
- \xpg@nopatterns{Sanskrit}%
- \adddialect\l@sanskrit\l@nohyphenation%
- \else%
- \let\l@sanskrit=\l@prakrit%
- \fi%
-\fi
+\PolyglossiaSetup{sanskrit}{
+ langtag=SAN,
+ hyphennames={sanskrit,prakrit},
+ hyphenmins={1,3},
+ frenchspacing=true,
+ fontsetup=false, % will be done below
+ %TODO localnumber=sanskritnumber
+}
-\def\tmp@deva{Devanagari}
\define@key{sanskrit}{Script}[Devanagari]{%
- \gdef\sanskrit@script{#1}}
+ \setkeys[xpg@setup]{sanskrit}{script=#1}%
+ \ifcsdef{fontsetup@sanskrit@#1}%
+ {\csname fontsetup@sanskrit@#1\endcsname}%
+ {\xpg@error{`#1' is not a valid script for Sanskrit}%
+ }%
+}
-\setkeys{sanskrit}{Script}
+\def\fontsetup@sanskrit@Devanagari{%
+ \def\xpg@scripttag@sanskrit{deva}%
+ \xpg@fontsetup@nonlatin{sanskrit}}
+\def\fontsetup@sanskrit@Gujarati{%
+ \def\xpg@scripttag@sanskrit{gujr}%
+ \xpg@fontsetup@nonlatin{sanskrit}}
+\def\fontsetup@sanskrit@Malayalam{%
+ \def\xpg@scripttag@sanskrit{mlym}%
+ \xpg@fontsetup@nonlatin{sanskrit}}
+\def\fontsetup@sanskrit@Bengali{%
+ \def\xpg@scripttag@sanskrit{beng}%
+ \xpg@fontsetup@nonlatin{sanskrit}}
+\def\fontsetup@sanskrit@Kannada{%
+ \def\xpg@scripttag@sanskrit{knda}%
+ \xpg@fontsetup@nonlatin{sanskrit}}
+\def\fontsetup@sanskrit@Telugu{%
+ \def\xpg@scripttag@sanskrit{telu}%
+ \xpg@fontsetup@nonlatin{sanskrit}}
+
+\setkeys{sanskrit}{Script} %sets the default for Devanagari
+
+%% TODO option for numerals (Devanagari or Western)
+%\def\tmp@western{Western}
+%\newif\ifsanskrit@devanagari@numerals
+%\sanskrit@devanagari@numeralstrue
+%
+%\define@key{sanskrit}{numerals}[Devanagari]{%
+% \def\@tmpa{#1}%
+% \ifx\@tmpa\tmp@western
+% \sanskrit@devanagari@numeralsfalse
+% \fi}
\newXeTeXintercharclass\sanskrit@punctthin % ! ? ; : danda double_danda
+
\def\sanskrit@punctthinspace{{\unskip\thinspace}}
\def\sanskrit@punctuation{%
- \frenchspacing%
- \XeTeXinterchartokenstate=1%
- \XeTeXcharclass `\! \sanskrit@punctthin
- \XeTeXcharclass `\? \sanskrit@punctthin
- \XeTeXcharclass `\; \sanskrit@punctthin
- \XeTeXcharclass `\: \sanskrit@punctthin
- \XeTeXcharclass `\। \sanskrit@punctthin
- \XeTeXcharclass `\॥ \sanskrit@punctthin
- \XeTeXinterchartoks \z@ \sanskrit@punctthin = \sanskrit@punctthinspace
+ \XeTeXinterchartokenstate=1%
+ \XeTeXcharclass `\! \sanskrit@punctthin
+ \XeTeXcharclass `\? \sanskrit@punctthin
+ \XeTeXcharclass `\; \sanskrit@punctthin
+ \XeTeXcharclass `\: \sanskrit@punctthin
+ \XeTeXcharclass `\। \sanskrit@punctthin
+ \XeTeXcharclass `\॥ \sanskrit@punctthin
+ \XeTeXinterchartoks \z@ \sanskrit@punctthin = \sanskrit@punctthinspace
}
\def\nosanskrit@punctuation{%
- \nonfrenchspacing%
- \XeTeXinterchartokenstate=0%
-}
-
-%\def\captionssanskrit{%
-% \def\refname{<++>}%
-% \def\abstractname{<++>}%
-% \def\bibname{<++>}%
-% \def\prefacename{<++>}%
-% \def\chaptername{<++>}%
-% \def\appendixname{<++>}%
-% \def\contentsname{<++>}%
-% \def\listfigurename{<++>}%
-% \def\listtablename{<++>}%
-% \def\indexname{<++>}%
-% \def\figurename{<++>}%
-% \def\tablename{<++>}%
-% \def\thepart{}%
-% \def\partname{<++>}%
-% \def\pagename{<++>}%
-% \def\seename{<++>}%
-% \def\alsoname{<++>}%
-% \def\enclname{<++>}%
-% \def\ccname{<++>}%
-% \def\headtoname{<++>}%
-% \def\proofname{<++>}%
-% \def\glossaryname{<++>}%
-% \def\today{<++>}}
-
-\def\sanskrit@font{%
-\@ifundefined{sanskritfont}{%
- \@ifundefined{devanagarifont}{%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@script{deva}%
- \ifx\sanskrit@script\tmp@deva%
- \if@tempswa%
- \addfontfeature{Script=Devanagari}%
- \else%
- \PackageError{polyglossia}{^^J
- The current font does not contain the devanagari script!^^J
- Please define \string\devanagarifont\space or \string\sanskritfont\space with \string\newfontfamily}%
- \fi%
- \else%
- \addfontfeature{Script=\sanskrit@script}%
- \fi%
- \zf@check@ot@lang{SAN}%
- \if@tempswa\addfontfeature{Language=Sanskrit}\fi%
- }%
- {\devanagarifont%
- \zf@check@ot@lang{SAN}%
- \if@tempswa\addfontfeature{Language=Sanskrit}\fi%
- }%
- }%
- {\sanskritfont}%
+ \XeTeXcharclass `\! \z@
+ \XeTeXcharclass `\? \z@
+ \XeTeXcharclass `\; \z@
+ \XeTeXcharclass `\: \z@
+ \XeTeXcharclass `\। \z@
+ \XeTeXcharclass `\॥ \z@
+ \XeTeXinterchartokenstate=0%
}
-\def\selectnormalfontsanskrit{%
- \let\normalfont=\sanskrit@font%
- \let\rmfamily=\sanskrit@font%
- % TODO add setup to define Sans and Mono Sanskrit fonts if desired
- \let\sffamily=\sanskrit@font%
- \let\ttfamily=\sanskrit@font%
- \def\reset@font{\normalfont}}
-
-\def\sanskrit@language{\language=\l@sanskrit}
-
-\setlocalhyphenmins{sanskrit}{1}{3}%
-
\def\noextras@sanskrit{%
- \nosanskrit@punctuation%
- }
+ \nosanskrit@punctuation%
+}
\def\blockextras@sanskrit{%
- \sanskrit@punctuation%
- }
+ \sanskrit@punctuation%
+}
% \end{macrocode}
% \iffalse
@@ -7409,12 +7735,12 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-scottish.ldf}[polyglossia: module for scottish]
\makeatletter
-\def\scottish@font{\selectfontfamilylatin}
-\ifx\l@scottish\@undefined%
- \xpg@nopatterns{Scottish}%
- \adddialect\l@scottish\l@nohyphenation%
-\fi
+\PolyglossiaSetup{scottish}{
+ hyphennames={scottish},
+ hyphenmins={2,2},
+ fontsetup=true,
+}
\def\captionsscottish{%
\def\refname{Iomraidh}%
@@ -7440,6 +7766,7 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\def\proofname{Proof}% <-- needs translation
\def\glossaryname{Glossary}% <-- needs translation
}
+
\def\datescottish{%
\def\today{%
\number\day\space \ifcase\month\or
@@ -7450,10 +7777,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\space \number\year}%
}
-\def\scottish@language{\language=\l@scottish}
-
-\setlocalhyphenmins{scottish}{2}{2}%
-
% \end{macrocode}
% \iffalse
%</gloss-scottish.ldf>
@@ -7465,22 +7788,41 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-serbian.ldf}[polyglossia: module for serbian]
\makeatletter
+%TODO split into gloss-serbiancyr.ldf and gloss-serbianlat.ldf
+%% load these automatically from polyglossia.sty according to the script option ??
+%% same thing for all languages that have a "script" key !
+%% BETTER APPROACH: see gloss-sanskrit!
-%TODO eventually there will be patterns for Serbian-Latin as well as Serbian-Cyrillic
-\ifx\l@serbian\@undefined%
- \xpg@nopatterns{Serbian}%
- \adddialect\l@serbian\l@nohyphenation%
-\fi
+\PolyglossiaSetup{serbian}{
+ langtag=SRB,
+ hyphennames={serbian},
+ hyphenmins={2,2},
+ indentfirst=true,
+ fontsetup=false
+ %TODO localalph
+}
\newif\if@serbian@cyr
-\def\tmp@cyrillic{cyrillic}
-\define@key{serbian}{script}[cyrillic]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@cyrillic\@serbian@cyrtrue\else%
- \@serbian@cyrfalse
- \fi}
-\setkeys{serbian}{script}
+\define@key{serbian}{Script}[Cyrillic]{% TODO FIXDOC: keyname is CHANGED: script -> Script !!!
+ \ifstrequal{#1}{Cyrillic}%
+ {\@serbian@cyrtrue
+ \setkeys[xpg@setup]{serbian}{script=Cyrillic}%
+ \def\xpg@scripttag@serbian{cyrl}%
+ \xpg@fontsetup@nonlatin{serbian}%
+ }%
+ {\ifstrequal{#1}{Latin}%
+ {\@serbian@cyrfalse
+ \xpg@fontsetup@latin{serbian}%
+ %TODO \def\serbian@language{\language=\l@serbianlat}%
+ % or should we use Croatian patterns as a fallback for the time being???
+ }%
+ {\xpg@error{Unknown script `#1' for Serbian language\MessageBreak
+ Valid values are "Cyrillic" and "Latin"}}%
+ }
+}
+
+\setkeys{serbian}{Script}
\def\captionsserbian{%
\if@serbian@cyr\captionsserbian@cyr\else\captionsserbian@lat\fi%
@@ -7552,53 +7894,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
децембар\fi \space \number\year}%
}
-\def\serbian@font@cyr{%
- \@ifundefined{serbianfont}{%
- \@ifundefined{cyrillicfont}{%
- \normalfontlatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@script{cyrl}%
- \if@tempswa
- \addfontfeature{Script=Cyrillic}%
- \else
- \PackageError{polyglossia}{^^J
- The current font does not contain the Cyrillic script!^^J
- Please define \string\cyrillicfont\space or \string\serbianfont\space with \string\newfontfamily}%
- \fi%
- \zf@check@ot@lang{SRB}%
- \if@tempswa\addfontfeature{Language=Serbian}\fi}%
- {\cyrillicfont%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@lang{SRB}%
- \if@tempswa\addfontfeature{Language=Serbian}\fi}%
- }%
- {\serbianfont}%
-}
-
-\def\serbian@font@lat{%
- \@ifundefined{serbianfontlatin}{%
- \normalfontlatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@lang{SRB}%
- \if@tempswa\addfontfeature{Language=Serbian}\fi}%
- {\serbianfontlatin}%
-}
-
-\def\serbian@font{%
- \if@serbian@cyr\serbian@font@cyr\else\serbian@font@lat\fi}
-
-%TODO when available load latin hyphenation patterns as well!
-\def\serbian@language{\language=\l@serbian}
-
-\setlocalhyphenmins{serbian}{2}{2}%
-
-\def\noextras@serbian{%
- \nofrench@indent%
- }
-
-\def\blockextras@serbian{%
- \french@indent%
- }
% \end{macrocode}
% \iffalse
%</gloss-serbian.ldf>
@@ -7610,12 +7905,12 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-slovak.ldf}[polyglossia: module for slovak]
\makeatletter
-\def\slovak@font{\selectfontfamilylatin}
-\ifx\l@slovak\@undefined%
- \xpg@nopatterns{Slovak}%
- \adddialect\l@slovak\l@nohyphenation%
-\fi
+\PolyglossiaSetup{slovak}{
+ hyphennames={slovak},
+ hyphenmins={2,2},
+ fontsetup=true,
+}
\def\captionsslovak{%
\def\refname{Referencie}%
@@ -7641,17 +7936,14 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\def\proofname{Dôkaz}%
\def\glossaryname{Slovník}%
}
+
\def\dateslovak{%
- \def\today{\number\day.~\ifcase\month\or
+ \def\today{\number\day.~\ifcase\month\or
januára\or februára\or marca\or apríla\or mája\or
júna\or júla\or augusta\or septembra\or októbra\or
novembra\or decembra\fi
\space \number\year}%
- }
-
-\def\slovak@language{\language=\l@slovak}
-
-\setlocalhyphenmins{slovak}{2}{2}%
+ }
% \end{macrocode}
% \iffalse
@@ -7663,14 +7955,12 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \subsection{gloss-slovenian.ldf}
% \begin{macrocode}
\ProvidesFile{gloss-slovenian.ldf}[polyglossia: module for slovenian]
-\makeatletter
-\def\slovenian@font{\selectfontfamilylatin}
-\ifx\l@slovenian\@undefined%
- \ifx\l@slovene\@undefined%
- \xpg@nopatterns{Slovenian}%
- \adddialect\l@slovenian\l@nohyphenation%
-\fi\fi
+\PolyglossiaSetup{slovenian}{
+ hyphennames={slovenian,slovene},
+ hyphenmins={2,2},
+ fontsetup=true,
+}
\def\captionsslovenian{%
\def\refname{Literatura}%
@@ -7696,16 +7986,13 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\def\proofname{Dokaz}%
\def\glossaryname{Glosar}% <-- CHECK!
}
+
\def\dateslovenian{%
- \def\today{\number\day.~\ifcase\month\or
+ \def\today{\number\day.~\ifcase\month\or
januar\or februar\or marec\or april\or maj\or junij\or
julij\or avgust\or september\or oktober\or november\or december\fi
\space \number\year}%
- }
-
-\def\slovenian@language{\language=\l@slovenian}
-
-\setlocalhyphenmins{slovenian}{2}{2}%
+ }
% \end{macrocode}
% \iffalse
@@ -7718,58 +8005,44 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-spanish.ldf}[polyglossia: module for spanish]
\makeatletter
-\def\spanish@font{\selectfontfamilylatin}
-
-\ifx\l@spanish\@undefined
- \xpg@nopatterns{spanish}
- \adddialect\l@spanish\l@nohyphenation
-\fi
+\PolyglossiaSetup{spanish}{
+ hyphennames={spanish},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ indentfirst=true,
+ fontsetup=true,
+}
\def\captionsspanish{%
- \def\prefacename{Prefacio}%
- \def\refname{Referencias}%
- \def\abstractname{Resumen}%
- \def\bibname{Bibliografía}%
- \def\chaptername{Capítulo}%
- \def\appendixname{Apéndice}%
- \def\contentsname{Índice general}%
- \def\listfigurename{Índice de figuras}%
- \def\listtablename{Índice de cuadros}%
- \def\indexname{Índice alfabético}%
- \def\figurename{Figura}%
- \def\tablename{Cuadro}%
- \def\partname{Parte}%
- \def\enclname{Adjunto(s)}%
- \def\ccname{Copia a}%
- \def\headtoname{A}%
- \def\pagename{Página}%
- \def\seename{véase}%
- \def\alsoname{véase también}%
- \def\proofname{Prueba}%
- \def\glossaryname{Glosario}%
- }
+ \def\prefacename{Prefacio}%
+ \def\refname{Referencias}%
+ \def\abstractname{Resumen}%
+ \def\bibname{Bibliografía}%
+ \def\chaptername{Capítulo}%
+ \def\appendixname{Apéndice}%
+ \def\contentsname{Índice general}%
+ \def\listfigurename{Índice de figuras}%
+ \def\listtablename{Índice de cuadros}%
+ \def\indexname{Índice alfabético}%
+ \def\figurename{Figura}%
+ \def\tablename{Cuadro}%
+ \def\partname{Parte}%
+ \def\enclname{Adjunto(s)}%
+ \def\ccname{Copia a}%
+ \def\headtoname{A}%
+ \def\pagename{Página}%
+ \def\seename{véase}%
+ \def\alsoname{véase también}%
+ \def\proofname{Prueba}%
+ \def\glossaryname{Glosario}%
+ }
+
\def\datespanish{%
- \def\today{\number\day~de~\ifcase\month\or
+ \def\today{\number\day~de~\ifcase\month\or
enero\or febrero\or marzo\or abril\or mayo\or junio\or
julio\or agosto\or septiembre\or octubre\or noviembre\or
diciembre\fi\space \number\year}%
-}
-
-\def\spanish@language{\language=\l@spanish}
-
-\setlocalhyphenmins{spanish}{2}{2}%
-
-\def\noextras@spanish{%
- \nonfrenchspacing%
-}
-
-\def\blockextras@spanish{%
- \frenchspacing%
-}
-
-\def\inlineextras@spanish{%
- \frenchspacing%
-}
+ }
% \end{macrocode}
% \iffalse
@@ -7781,40 +8054,41 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \subsection{gloss-swedish.ldf}
% \begin{macrocode}
\ProvidesFile{gloss-swedish.ldf}[polyglossia: module for swedish]
-\makeatletter
-\def\swedish@font{\selectfontfamilylatin}
-\ifx\l@swedish\@undefined%
- \xpg@nopatterns{Swedish}%
- \adddialect\l@swedish\l@nohyphenation%
-\fi
+\PolyglossiaSetup{swedish}{
+ hyphennames={swedish},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ fontsetup=true,
+}
\def\captionsswedish{%
- \def\refname{Referenser}%
- \def\abstractname{Sammanfattning}%
- \def\bibname{Litteraturförteckning}%
- \def\prefacename{Förord}%
- \def\chaptername{Kapitel}%
- \def\appendixname{Bilaga}%
- \def\contentsname{Innehåll}%
- \def\listfigurename{Figurer}%
- \def\listtablename{Tabeller}%
- \def\indexname{Sakregister}%
- \def\figurename{Figur}%
- \def\tablename{Tabell}%
- %\def\thepart{}%
- \def\partname{Del}%
- \def\pagename{Sida}%
- \def\seename{se}%
- \def\alsoname{se även}%
- \def\enclname{Bil.}%
- \def\ccname{Kopia för kännedom}%
- \def\headtoname{Till}%
- \def\proofname{Bevis}%
- \def\glossaryname{Ordlista}%
- }
+ \def\refname{Referenser}%
+ \def\abstractname{Sammanfattning}%
+ \def\bibname{Litteraturförteckning}%
+ \def\prefacename{Förord}%
+ \def\chaptername{Kapitel}%
+ \def\appendixname{Bilaga}%
+ \def\contentsname{Innehåll}%
+ \def\listfigurename{Figurer}%
+ \def\listtablename{Tabeller}%
+ \def\indexname{Sakregister}%
+ \def\figurename{Figur}%
+ \def\tablename{Tabell}%
+ %\def\thepart{}%
+ \def\partname{Del}%
+ \def\pagename{Sida}%
+ \def\seename{se}%
+ \def\alsoname{se även}%
+ \def\enclname{Bil.}%
+ \def\ccname{Kopia för kännedom}%
+ \def\headtoname{Till}%
+ \def\proofname{Bevis}%
+ \def\glossaryname{Ordlista}%
+ }
+
\def\dateswedish{%
- \def\today{%
+ \def\today{%
\number\day~\ifcase\month\or
januari\or februari\or mars\or april\or maj\or juni\or
juli\or augusti\or september\or oktober\or november\or
@@ -7826,22 +8100,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\def\today{\number\day/\number\month\space\number\year}}%
}
-\def\swedish@language{\language=\l@swedish}
-
-\setlocalhyphenmins{swedish}{2}{2}%
-
-\def\noextras@swedish{%
- \nonfrenchspacing%
- }
-
-\def\blockextras@swedish{%
- \frenchspacing%
- }
-
-\def\inlineextras@swedish{%
- \frenchspacing%
- }
-
% \end{macrocode}
% \iffalse
%</gloss-swedish.ldf>
@@ -7856,12 +8114,14 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\RequirePackage{arabicnumbers}
\makeatletter
-\ifx\l@syriac\@undefined
- %\xpg@nopatterns{Syriac}%
- \adddialect\l@syriac\l@nohyphenation
-\fi
-
-\def\syriac@RL{\relax}
+\PolyglossiaSetup{syriac}{
+ script=Syriac,
+ scripttag=syrc,
+ direction=RL,
+ hyphennames={syriac,nohyphenation},
+ fontsetup=true,
+ %TODO localalph
+}
\def\syriacnumber#1{\@syriacnumber{#1}}%
@@ -7882,29 +8142,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\setkeys{syriac}{numerals}
-\def\syriac@font{%
- \@ifundefined{syriacfont}{%
- \normalfontlatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@script{syrc}%
- \if@tempswa
- \addfontfeature{Script=Syriac}%
- \else
- \PackageError{polyglossia}{^^J
- The current font does not contain the Syriac script!^^J
- Please define \string\syriacfont\space with \string\newfontfamily}%
- \fi}%
- {\syriacfont}%
-}
-
-\def\selectnormalfontsyriac{%
- \let\normalfont=\syriac@font%
- \let\rmfamily=\syriac@font%
- % TODO add setup to define Sans and Mono Syriac fonts if desired
- \let\sffamily=\syriac@font%
- \let\ttfamily=\syriac@font%
- \def\reset@font{\normalfont}}
-
%\define@key{polyglossia}{syriaclocale}[default]{%
% \def\@syriac@locale{#1}}
%
@@ -8022,8 +8259,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\renewcommand\thefootnote{\protect\number{\c@footnote}}%
}
-\def\syriac@language{\language=\l@syriac}
-
\def\blockextras@syriac{%
\let\@@MakeUppercase\MakeUppercase%
\def\MakeUppercase##1{##1}%
@@ -8035,6 +8270,133 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \end{macrocode}
% \iffalse
%</gloss-syriac.ldf>
+%<*gloss-tamil.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-tamil.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-tamil.ldf}[polyglossia: module for tamil]
+% Translations provided by Kevin & Siji, 01-11-2009
+\makeatletter
+
+\PolyglossiaSetup{tamil}{
+ script=Tamil,
+ scripttag=taml,
+ langtag=TAM,
+ hyphennames={tamil},
+ hyphenmins={2,2}, %FIXME?
+ fontsetup=true,
+}
+
+\def\captionstamil{%
+ \def\abstractname{சாராம்சம்}%
+ \def\appendixname{பிற்சேர்க்கை}%பின்னிணைப்பு
+ %\def\bibname{}%
+ %\def\ccname{}%
+ \def\chaptername{அத்தியாயம்}%
+ \def\contentsname{உள்ளே}%
+ %\def\enclname{}%
+ \def\figurename{படம்}%
+ %\def\headpagename{}%
+ %\def\headtoname{}%
+ \def\indexname{சுட்டி}%பொருளடக்க அட்டவணை
+ \def\listfigurename{படங்களின் பட்டியல்}%
+ \def\listtablename{அட்டவணை பட்டியல்}%
+ %\def\pagename{}%
+ \def\partname{பகுதி}%
+ %\def\prefacename{}%
+ %\def\refname{}%
+ \def\tablename{அட்டவணை}%
+ \def\seename{பார்க்க}%
+ %\def\alsoname{}%
+ %\def\alsoseename{}%
+}
+\def\datetamil{%
+ \def\today{\number\year\space\ifcase\month\or
+ ஜனவரி\or
+ பிப்ரவரி\or
+ மார்ச்\or
+ ஏப்ரல்\or
+ மே\or
+ ஜூன்\or
+ ஜூலை\or
+ ஆகஸ்ட்\or
+ செப்டம்பர்\or
+ அக்டோபர்\or
+ நவம்பர்\or
+ டிசம்பர்\fi
+ \space\number\day}%
+}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-tamil.ldf>
+%<*gloss-telugu.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-telugu.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-telugu.ldf}[polyglossia: module for telugu]
+% Translations provided by Anmol Sharma <unmole.in@gmail.com>
+\makeatletter
+
+\PolyglossiaSetup{telugu}{
+ script=Telugu,
+ scripttag=telu,
+ langtag=TEL,
+ hyphennames={telugu},
+ hyphenmins={2,2}, %FIXME
+ fontsetup=true,
+}
+
+\def\captionstelugu{%
+ \def\refname{ఆధారాలు}%
+ \def\abstractname{సారాంశం}%
+ \def\bibname{గ్రంథాల జాబితా}%
+ \def\prefacename{ముందుమాట}%
+ \def\chaptername{అధ్యాయము}%
+ \def\appendixname{అదనంగా}%
+ \def\contentsname{విషయాలు}%
+ \def\listfigurename{ఆకృతుల జాబితా}%
+ \def\listtablename{పట్టికల జాబితా}%
+ \def\indexname{విషయ సూచిక}%
+ \def\figurename{ఆకృతి}%
+ \def\tablename{పట్టిక}%
+ %\def\thepart{}%
+ \def\partname{భాగం}%
+ \def\pagename{పేజి}%
+ \def\seename{చూడండి}%
+ \def\alsoname{కూడా చూడండి}%
+ \def\enclname{ఎంక్లోజర్*}%
+ \def\ccname{సిసి}%
+ \def\headtoname{కి}%
+ \def\proofname{రుజువు}%
+ \def\glossaryname{నిఘంటువు}%
+}
+
+\def\datetelugu{%
+ \def\telugu@month{%
+ \ifcase\month\or
+ జనవరి\or
+ ఫిబ్రవరి\or
+ మార్చ్\or
+ ఏప్రిల్\or
+ మే\or
+ జూన్\or
+ జూలై\or
+ ఆగస్ట్\or
+ సెప్టెంబర్\or
+ అక్తోబెర్\or
+ నవంబర్\or
+ డిసంబర్\fi}%
+ \def\today{\telugu@month\space\number\day,\space\number\year}%
+}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-telugu.ldf>
%<*gloss-thai.ldf>
% \fi
% \clearpage
@@ -8052,14 +8414,22 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
%%%% Thai Linux Working Group
%%%% http://linux.thai.net/
%%%%
+\PolyglossiaSetup{thai}{
+ script=Thai,
+ scripttag=thai,
+ hyphennames={nohyphenation},
+ fontsetup=true
+ %TODO localalph={xxx@alph,xxx@Alph}
+ %TODO localdigits=thainumber
+}
\newif\if@thai@numerals
\def\tmp@thai{thai}
\define@key{thai}{numerals}[arabic]{%
\def\@tmpa{#1}%
- \ifx\@tmpa\tmp@thai\@thai@numeralstrue\else%
- \@thai@numeralsfalse\fi%
- }
+ \ifx\@tmpa\tmp@thai\@thai@numeralstrue\else
+ \@thai@numeralsfalse\fi
+}
\setkeys{thai}{numerals}
@@ -8086,7 +8456,7 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\def\headtoname{เรียน}%
\def\proofname{พิสูจน์}%
%\def\glossaryname{}%
- }
+}
\def\datethai{%
\def\thai@month{%
\ifcase\month\or
@@ -8097,7 +8467,7 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\thai@year=\year%
\advance\thai@year by 543%
\def\today{\thainumber\day \space \thai@month\space พ.ศ.~\thainumber\thai@year}%
- }
+}
%NB: thai-latex had "plus 0.6pt", but .4em appears to give better results
% FIXME to avoid name clashes, rename \wbr to \wordbreak or \thaiworkbreak ?
@@ -8115,10 +8485,10 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
}
\def\thainumber#1{%
- \if@thai@numerals%
+ \if@thai@numerals
\thaidigits{\number#1}%
%%{\protect\addfontfeature{Mapping=thaidigits}\protect\number#1}
- \else%
+ \else
\number#1%
%%{\protect\reset@font\number#1}
\fi}
@@ -8138,57 +8508,36 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\def\thai@numbers{%
\let\@latinalph\@alph%
\let\@latinAlph\@Alph%
- \if@thai@numerals%
+ \if@thai@numerals
\let\@alph\@thaialph%
\let\@Alph\@thaiAlph%
\fi
- }
+}
\def\nothai@numbers{%
\let\@alph\@latinalph%
\let\@Alph\@latinAlph%
- }
+}
\def\thai@globalnumbers{%
\let\orig@arabic\@arabic%
\let\@arabic\thainumber%
\renewcommand{\thefootnote}{\protect\thainumber{\c@footnote}}%
- }
+}
\def\nothai@globalnumbers{%
\let\@arabic\orig@arabic%
\renewcommand\thefootnote{\protect\number{\c@footnote}}%
- }
-
-\def\thai@font{%
- \@ifundefined{thaifont}{%
- \normalfontlatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@script{thai}%
- \if@tempswa
- \addfontfeature{Script=Thai}%
- \else
- \PackageError{polyglossia}{^^J
- The current font does not contain the Thai script!^^J
- Please define \string\thaifont\space with \string\newfontfamily}%
- \fi}%
- {\thaifont}%
}
-\def\selectnormalfontthai{%
- \let\normalfont=\thai@font%
- \let\rmfamily=\thai@font%
- \let\sffamily=\thai@font%
- \let\ttfamily=\thai@font%
- \def\reset@font{\normalfont}}
-
-\def\thai@language{\language=\l@nohyphenation}
-
\def\blockextras@thai{%
+%%TODO \XeTeXlinebreaklocales "th"% uses ICU to find line breaks on the basis of a dictionary lookup-- make this optional? (in case a user might prefer a preprocessor
\let\orig@baselinestrech\baselinestretch%
\renewcommand{\baselinestretch}{1.2}%
- }
+}
\def\noblockextras@thai{%
+%%TODO \XeTeXlinebreaklocales "en"%
\let\baselinestrech\orig@baselinestretch%
- }
+}
+
% \end{macrocode}
% \iffalse
%</gloss-thai.ldf>
@@ -8201,25 +8550,13 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\ProvidesFile{gloss-turkish.ldf}[polyglossia: module for turkish]
\RequirePackage{hijrical}
\makeatletter
-
-\def\turkish@font{%
-\font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
-\@ifundefined{turkishfont}{%
- \zf@check@ot@lang{TUR}%
- \if@tempswa
- \addfontfeature{Language=Turkish}%
- \else
- \zf@check@ot@lang{TRK}%
- \if@tempswa
- \addfontfeature{Language=Turkish}\fi%
- \fi}
- {\turkishfont}%
-}%
-
-\ifx\l@turkish\@undefined
- \xpg@nopatterns{turkish}
- \adddialect\l@turkish\l@nohyphenation
-\fi
+\PolyglossiaSetup{turkish}{
+ hyphennames={turkish},
+ hyphenmins={2,2},
+ langtag=TRK,
+ frenchspacing=true,
+ fontsetup=true
+ }
\newXeTeXintercharclass\turkish@punctthin % ! :
\newXeTeXintercharclass\turkish@punctthick % =
@@ -8228,7 +8565,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\def\turkish@punctthickspace{{\unskip\nobreakspace}}
\def\turkish@punctuation{%
- \frenchspacing%
\XeTeXinterchartokenstate=1%
\XeTeXcharclass `\! \turkish@punctthin
\XeTeXcharclass `\: \turkish@punctthin
@@ -8238,7 +8574,9 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
}
\def\noturkish@punctuation{%
- \nonfrenchspacing%
+ \XeTeXcharclass `\! \z@
+ \XeTeXcharclass `\: \z@
+ \XeTeXcharclass `\= \z@
\XeTeXinterchartokenstate=0%
}
@@ -8279,10 +8617,6 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\DefineFormatHijriDate{turkish}{%
\number\value{Hijriday}\space\hijrimonthturkish{\value{Hijrimonth}}\space\number\value{Hijriyear}}
-\def\turkish@language{\language=\l@turkish}
-
-\setlocalhyphenmins{turkish}{2}{2}%
-
\def\noextras@turkish{%
\noturkish@punctuation%
}
@@ -8298,6 +8632,57 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \end{macrocode}
% \iffalse
%</gloss-turkish.ldf>
+%<*gloss-turkmen.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-turkmen.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-turkmen.ldf}[polyglossia: module for turkmen]
+%% Translations provided by Nazar Annagurban <nazartm at gmail dot com>
+\makeatletter
+\PolyglossiaSetup{turkmen}{
+ hyphennames={turkmen},
+ hyphenmins={2,2},
+ langtag=TKM,
+ frenchspacing=false,
+ fontsetup=true
+}
+
+\def\captionsturkmen{%
+ \def\prefacename{Sözbaşy}%
+ \def\refname{Çeşmeler}%
+ \def\abstractname{Gysgaça manysy}%
+ \def\bibname{Çeşmeler}%
+ \def\chaptername{Bap}%
+ \def\appendixname{Goşmaça}%
+ \def\contentsname{Mazmuny}%
+ \def\listfigurename{Suratlaryň sanawy}%
+ \def\listtablename{Tablisalaryň sanawy}%
+ \def\indexname{Indeks}%
+ \def\figurename{Surat}%
+ \def\tablename{Tablisa}%
+ \def\partname{Bölüm}%
+ \def\enclname{Goşmaça}%
+ \def\ccname{Iberilenler}%
+ \def\headtoname{Kime}%
+ \def\pagename{Sahypa}%
+ \def\subjectname{Tema}%
+ \def\seename{ser.}%
+ \def\alsoname{şuňa-da ser.}%
+ \def\proofname{Delil}%
+ \def\glossaryname{Sözlük}%
+}
+\def\dateturkmen{%
+ \def\today{\number\day~\ifcase\month\or
+ Ýanwar\or Fewral\or Mart\or Aprel\or Maý\or Iýun\or
+ Iýul\or Awgust\or Sentýabr\or Oktýabr\or Noýabr\or
+ Dekabr\fi
+ \space\number\year}%
+}
+% \end{macrocode}
+% \iffalse
+%</gloss-turkmen.ldf>
%<*gloss-ukrainian.ldf>
% \fi
% \clearpage
@@ -8307,35 +8692,17 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\ProvidesFile{gloss-ukrainian.ldf}[polyglossia: module for ukrainian]
% Strings taken from Babel
% and revised by Roman Kyrylych
-%
\makeatletter
-\ifx\l@ukrainian\@undefined%
- \xpg@nopatterns{Ukrainian}%
- \adddialect\l@ukrainian\l@nohyphenation%
-\fi
-
-\def\ukrainian@font{%
- \@ifundefined{ukrainianfont}{%
- \@ifundefined{cyrillicfont}{%
- \normalfontlatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@script{cyrl}%
- \if@tempswa
- \addfontfeature{Script=Cyrillic}%
- \else
- \PackageError{polyglossia}{^^J
- The current font does not contain the Cyrillic script!^^J
- Please define \string\cyrillicfont\space or \string\ukrainianfont\space with \newfontfamily}%
- \fi
- \zf@check@ot@lang{UKR}%
- \if@tempswa\addfontfeature{Language=Ukrainian}\fi
- }%
- {\cyrillicfont%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@lang{UKR}%
- \if@tempswa\addfontfeature{Language=Ukrainian}\fi}}%
- {\ukrainianfont}%
+\PolyglossiaSetup{ukrainian}{
+ script=Cyrillic,
+ scripttag=cyrl,
+ langtag=UKR,
+ hyphennames={ukrainian},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ fontsetup=true
+ %TODO localalph
}
\def\captionsukrainian{%
@@ -8395,29 +8762,13 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\let\latin@alph\@alph%
\let\@Alph\ukrainian@Alph%
\let\@alph\ukrainian@alph%
- }
+}
\def\noukrainian@numbers{%
\let\@Alph\latin@Alph%
\let\@alph\latin@alph%
}
-\def\ukrainian@language{\language=\l@ukrainian}
-
-\setlocalhyphenmins{ukrainian}{2}{2}%
-
-\def\noextras@ukrainian{%
- \nonfrenchspacing%
- }
-
-\def\blockextras@ukrainian{%
- \frenchspacing%
- }
-
-\def\inlineextras@ukrainian{%
- \frenchspacing%
- }
-
% \end{macrocode}
% \iffalse
%</gloss-ukrainian.ldf>
@@ -8434,12 +8785,16 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\RequirePackage{hijrical}
\makeatletter
-\ifx\l@urdu\@undefined
- %\xpg@nopatterns{urdu}%
- \adddialect\l@urdu\l@nohyphenation
-\fi
-
-\def\urdu@RL{\relax}
+\PolyglossiaSetup{urdu}{
+ script=Arabic,
+ direction=RL,
+ scripttag=arab,
+ langtag=URD,
+ hyphennames={urdu,nohyphenation},
+ fontsetup=true
+ %TODO localalph={abjad,abjad}
+ %TODO localnumber=urdunumber
+}
\newif\if@western@numerals
\def\tmp@western{western}
@@ -8449,6 +8804,7 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\else\@western@numeralsfalse%
\fi}
+%% TODO USE boolkey instead !!!
%this is needed for \abjad in arabicnumbers.sty
\def\tmp@true{true}
\define@key{urdu}{abjadjimnotail}[true]{%
@@ -8480,32 +8836,32 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
%\Hijritoday is now locale-aware and will format the date with this macro:
\DefineFormatHijriDate{urdu}{\@ensure@RTL{%
-\urdunumber{\value{Hijriday}}؍\space\urduhijrimonth{\value{Hijrimonth}}\space\urdunumber{\value{Hijriyear}}}}
+ \urdunumber{\value{Hijriday}}؍\space\urduhijrimonth{\value{Hijrimonth}}\space\urdunumber{\value{Hijriyear}}}}
\def\captionsurdu{%
-\def\refname{\@ensure@RTL{حوالہ جات}}%
-\def\abstractname{\@ensure@RTL{ملخّص}}%
-\def\bibname{\@ensure@RTL{کتابیات}}%
-\def\prefacename{\@ensure@RTL{دیباچہ}}%
-\def\chaptername{\@ensure@RTL{باب}}%
-\def\appendixname{\@ensure@RTL{ضمیمہ}}%
-\def\contentsname{\@ensure@RTL{فہرست عنوانات}}%
-\def\listfigurename{\@ensure@RTL{فہرست اشکال}}%
-\def\listtablename{\@ensure@RTL{فہرست جداول}}%
-\def\indexname{\@ensure@RTL{اشاریہ}}%
-\def\figurename{\@ensure@RTL{شكل}}%
-\def\tablename{\@ensure@RTL{جدول}}%
-%\def\thepart{\text<lang>{}}%
-\def\partname{\@ensure@RTL{حصّہ}}%
-\def\pagename{\@ensure@RTL{صفحہ}}%
-\def\seename{\@ensure@RTL{ملاحظہ ہو}}%
-\def\alsoname{\@ensure@RTL{ایضاً}}%
-\def\enclname{\@ensure@RTL{منسلک}}%
-\def\ccname{\@ensure@RTL{نقل}}%
-\def\headtoname{\@ensure@RTL{بملاحظہ}}%
-\def\proofname{\@ensure@RTL{ثبوت}}%
-\def\glossaryname{\@ensure@RTL{لغت}}%
-\def\sectionname{\@ensure@RTL{فصل}}%
+ \def\refname{\@ensure@RTL{حوالہ جات}}%
+ \def\abstractname{\@ensure@RTL{ملخّص}}%
+ \def\bibname{\@ensure@RTL{کتابیات}}%
+ \def\prefacename{\@ensure@RTL{دیباچہ}}%
+ \def\chaptername{\@ensure@RTL{باب}}%
+ \def\appendixname{\@ensure@RTL{ضمیمہ}}%
+ \def\contentsname{\@ensure@RTL{فہرست عنوانات}}%
+ \def\listfigurename{\@ensure@RTL{فہرست اشکال}}%
+ \def\listtablename{\@ensure@RTL{فہرست جداول}}%
+ \def\indexname{\@ensure@RTL{اشاریہ}}%
+ \def\figurename{\@ensure@RTL{شكل}}%
+ \def\tablename{\@ensure@RTL{جدول}}%
+ %\def\thepart{\text<lang>{}}%
+ \def\partname{\@ensure@RTL{حصّہ}}%
+ \def\pagename{\@ensure@RTL{صفحہ}}%
+ \def\seename{\@ensure@RTL{ملاحظہ ہو}}%
+ \def\alsoname{\@ensure@RTL{ایضاً}}%
+ \def\enclname{\@ensure@RTL{منسلک}}%
+ \def\ccname{\@ensure@RTL{نقل}}%
+ \def\headtoname{\@ensure@RTL{بملاحظہ}}%
+ \def\proofname{\@ensure@RTL{ثبوت}}%
+ \def\glossaryname{\@ensure@RTL{لغت}}%
+ \def\sectionname{\@ensure@RTL{فصل}}%
}
\def\dateurdu{%
@@ -8524,97 +8880,41 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\else
%%FIXME use farsidigits instead???
\protect\arabicdigits{\number#1}%
- %%{\protect\addfontfeature{Mapping=arabicdigits}\number#1}%
\fi}
\def\urdu@numbers{%
- \let\@latinalph\@alph%
- \let\@latinAlph\@Alph%
- \let\@alph\abjad%
- \let\@Alph\abjad%
+ \let\@latinalph\@alph%
+ \let\@latinAlph\@Alph%
+ \let\@alph\abjad%
+ \let\@Alph\abjad%
}
+
\def\nourdu@numbers{%
\let\@alph\@latinalph%
\let\@Alph\@latinAlph%
}
-\def\urdu@globalnumbers{%
- \let\orig@arabic\@arabic%
- \let\@arabic\urdunumber%
- % For some reason \thefootnote needs to be set separately:
- \renewcommand\thefootnote{\protect\urdunumber{\c@footnote}}%
- }
-\def\nourdu@globalnumbers{
- \let\@arabic\orig@arabic%
- \renewcommand\thefootnote{\protect\number{\c@footnote}}%
- }
-
-\def\urdu@language{\language=\l@urdu}
-\def\urdu@font{%
- \@ifundefined{urdufont}{%
- \@ifundefined{arabicfont}{%
- \normalfontlatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@script{arab}%
- \if@tempswa
- \addfontfeature{Script=Arabic}%
- \else
- \PackageError{polyglossia}{^^J
- The current font does not contain the Arabic script!^^J
- Please define \string\arabicfont\space or \string\urdufont\space with \newfontfamily}%
- \fi
- \zf@check@ot@lang{URD}%
- \if@tempswa\addfontfeature{Language=urdu}\fi}%
- {\arabicfont%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@lang{URD}%
- \if@tempswa\addfontfeature{Language=urdu}\fi}%
- }%
- {\urdufont}%
-}
-
-% TODO add setup to define Sans and Mono Arabic fonts if desired
-\def\urdu@font@sf{%
- \@ifundefined{urdufontsf}{%
-% \sffamily% FIXME
-% \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
-% \zf@check@ot@script{arab}%
-% \if@tempswa%
-% \addfontfeature{Script=Arabic}%
-% \else%
- \urdu@font%
-% \fi%
- }%
- {\urdufontsf}%
-}
-\def\urdu@font@tt{%
- \@ifundefined{urdufonttt}{%
-% \ttfamily% FIXME
-% \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
-% \zf@check@ot@script{arab}%
-% \if@tempswa%
-% \addfontfeature{Script=Arabic}%
-% \else%
- \urdu@font%
-% \fi%
- }%
- {\urdufonttt}%
-}
+\def\urdu@globalnumbers{%
+ \let\orig@arabic\@arabic%
+ \let\@arabic\urdunumber%
+ % For some reason \thefootnote needs to be set separately:
+ \renewcommand\thefootnote{\protect\urdunumber{\c@footnote}}%
+ }
-\def\selectnormalfonturdu{%
- \let\normalfont=\urdu@font%
- \let\rmfamily=\urdu@font%
- \let\sffamily=\urdu@font@sf%
- \let\ttfamily=\urdu@font@tt%
- \def\reset@font{\normalfont}}
+\def\nourdu@globalnumbers{
+ \let\@arabic\orig@arabic%
+ \renewcommand\thefootnote{\protect\number{\c@footnote}}%
+ }
\def\blockextras@urdu{%
- \let\@@MakeUppercase\MakeUppercase%
- \def\MakeUppercase##1{##1}%
- }
+ \let\@@MakeUppercase\MakeUppercase%
+ \def\MakeUppercase##1{##1}%
+ }
+
\def\noextras@urdu{%
- \let\MakeUppercase\@@MakeUppercase%
- }
+ \let\MakeUppercase\@@MakeUppercase%
+ }
+
% \end{macrocode}
% \iffalse
%</gloss-urdu.ldf>
@@ -8625,20 +8925,12 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \subsection{gloss-usorbian.ldf}
% \begin{macrocode}
\ProvidesFile{gloss-usorbian.ldf}[polyglossia: module for upper sorbian]
-\makeatletter
-\def\usorbian@font{\selectfontfamilylatin}
-\ifx\l@uppersorbian\@undefined
- \ifx\l@usorbian\@undefined
- \xpg@nopatterns{Upper Sorbian}
- \adddialect\l@usorbian\l@nohyphenation
- \let\l@uppersorbian\l@usorbian
- \else
- \let\l@uppersorbian\l@usorbian
- \fi
-\else
- \let\l@usorbian\l@uppersorbian
-\fi
+\PolyglossiaSetup{usorbian}{
+ hyphennames={usorbian,uppersorbian},
+ hyphenmins={2,2},
+ fontsetup=true,
+}
\def\captionsusorbian{%
\def\refname{Referency}%
@@ -8664,23 +8956,20 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
\def\proofname{Proof}% <-- needs translation
\def\glossaryname{Glossary}% <-- needs translation
}%
+
\def\dateusorbian{%
- \def\today{\number\day.~\ifcase\month\or
+ \def\today{\number\day.~\ifcase\month\or
januara\or februara\or měrca\or apryla\or meje\or junija\or
julija\or awgusta\or septembra\or oktobra\or
nowembra\or decembra\fi
\space \number\year}%
-%TODO implement option olddate:
+ %TODO implement option olddate:
\def\oldtoday{\number\day.~\ifcase\month\or
wulkeho róžka\or małeho róžka\or nalětnika\or
jutrownika\or róžownika\or smažnika\or pražnika\or
žnjenca\or požnjenca\or winowca\or nazymnika\or
hodownika\fi \space \number\year}%
- }
-
-\def\usorbian@language{\language=\l@usorbian}
-
-\setlocalhyphenmins{usorbian}{2}{2}%
+ }
% \end{macrocode}
% \iffalse
@@ -8693,66 +8982,46 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
\ProvidesFile{gloss-vietnamese.ldf}[polyglossia: module for vietnamese]
%% Strings contributed by Daniel Owens < dhowens . pmbx . net >
-\makeatletter
-\def\vietnamese@font{%
-\font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
-\@ifundefined{vietnamesefont}{%
- \zf@check@ot@lang{VIT}%
- \if@tempswa\addfontfeature{Language=Vietnamese}\fi}
- {\vietnamesefont}%
-}%
-
-\ifx\l@vietnamese\@undefined%
- \xpg@nopatterns{Vietnamese}%
- \adddialect\l@vietnamese\l@nohyphenation%
-\fi
+\PolyglossiaSetup{vietnamese}{
+ hyphennames={vietnamese},
+ hyphenmins={2,2},
+ langtag=VIT,
+ frenchspacing=true,
+ fontsetup=true,
+}
\def\captionsvietnamese{%
- \def\refname{Tài liệu}%
- \def\abstractname{Tóm tắt nội dung}%
- \def\bibname{Tài liệu tham khảo}%
- \def\prefacename{Lời nói đầu}%
- \def\chaptername{Chương}%
- \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\indexname{Chỉ mục}%
- \def\figurename{Hình}%
- \def\tablename{Bẳng}%
- \def\partname{Phần}%
- \def\pagename{Trang}%
- \def\seename{Xem}%
- \def\alsoname{Xem thêm}%
- \def\enclname{Kèm theo}%
- \def\ccname{Cùng gửi}%
- \def\headtoname{Gửi}%
- \def\proofname{Chứng minh}%
- \def\glossaryname{Từ điển chú giải}%
- }
+ \def\refname{Tài liệu}%
+ \def\abstractname{Tóm tắt nội dung}%
+ \def\bibname{Tài liệu tham khảo}%
+ \def\prefacename{Lời nói đầu}%
+ \def\chaptername{Chương}%
+ \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\indexname{Chỉ mục}%
+ \def\figurename{Hình}%
+ \def\tablename{Bẳng}%
+ \def\partname{Phần}%
+ \def\pagename{Trang}%
+ \def\seename{Xem}%
+ \def\alsoname{Xem thêm}%
+ \def\enclname{Kèm theo}%
+ \def\ccname{Cùng gửi}%
+ \def\headtoname{Gửi}%
+ \def\proofname{Chứng minh}%
+ \def\glossaryname{Từ điển chú giải}%
+ }
+
\def\datevietnamese{%
- \def\today{%
+ \def\today{%
Ngày \number\day\space
tháng \number\month\space
năm \number\year}%
- }
-
-\def\vietnamese@language{\language=\l@vietnamese}
-
-\setlocalhyphenmins{vietnamese}{2}{2}%
-
-\def\noextras@vietnamese{%
- \nonfrenchspacing%
-}
-
-\def\blockextras@vietnamese{%
- \frenchspacing%
-}
+ }
-\def\inlineextras@vietnamese{%
- \frenchspacing%
-}
% \end{macrocode}
% \iffalse
%</gloss-vietnamese.ldf>
@@ -8763,50 +9032,46 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \subsection{gloss-welsh.ldf}
% \begin{macrocode}
\ProvidesFile{gloss-welsh.ldf}[polyglossia: module for welsh]
-\makeatletter
-\def\welsh@font{\selectfontfamilylatin}
-\ifx\l@welsh\@undefined%
- \xpg@nopatterns{Welsh}%
- \adddialect\l@welsh\l@nohyphenation%
-\fi
+\PolyglossiaSetup{welsh}{
+ hyphennames={welsh},
+ hyphenmins={2,3},
+ fontsetup=true,
+}
\def\captionswelsh{%
- \def\refname{Cyfeiriadau}%
- \def\abstractname{Crynodeb}%
- \def\bibname{Llyfryddiaeth}%
- \def\prefacename{Rhagair}%
- \def\chaptername{Pennod}%
- \def\appendixname{Atodiad}%
- \def\contentsname{Cynnwys}%
- \def\listfigurename{Rhestr Ddarluniau}%
- \def\listtablename{Rhestr Dablau}%
- \def\indexname{Mynegai}%
- \def\figurename{Darlun}%
- \def\tablename{Taflen}%
- %\def\thepart{}%
- \def\partname{Rhan}%
- \def\pagename{tudalen}%
- \def\seename{gweler}%
- \def\alsoname{gweler hefyd}%
- \def\enclname{amgaeëdig}%
- \def\ccname{copïau}%
- \def\headtoname{At}%
- \def\proofname{Prawf}%
- \def\glossaryname{Rhestr termau}%
- }
+ \def\refname{Cyfeiriadau}%
+ \def\abstractname{Crynodeb}%
+ \def\bibname{Llyfryddiaeth}%
+ \def\prefacename{Rhagair}%
+ \def\chaptername{Pennod}%
+ \def\appendixname{Atodiad}%
+ \def\contentsname{Cynnwys}%
+ \def\listfigurename{Rhestr Ddarluniau}%
+ \def\listtablename{Rhestr Dablau}%
+ \def\indexname{Mynegai}%
+ \def\figurename{Darlun}%
+ \def\tablename{Taflen}%
+ %\def\thepart{}%
+ \def\partname{Rhan}%
+ \def\pagename{tudalen}%
+ \def\seename{gweler}%
+ \def\alsoname{gweler hefyd}%
+ \def\enclname{amgaeëdig}%
+ \def\ccname{copïau}%
+ \def\headtoname{At}%
+ \def\proofname{Prawf}%
+ \def\glossaryname{Rhestr termau}%
+ }
+
\def\datewelsh{%
- \def\today{\ifnum\day=1\relax 1\/\textsuperscript{añ}\else%
+ \def\today{\ifnum\day=1\relax 1\/\textsuperscript{añ}\else
\number\day\fi\space\ifcase\month\or
- Ionawr\or Chwefror\or Mawrth\or Ebrill\or
- Mai\or Mehefin\or Gorffennaf\or Awst\or
- Medi\or Hydref\or Tachwedd\or Rhagfyr\fi%
- \space\number\year}%
- }
-
-\def\welsh@language{\language=\l@welsh}
-
-\setlocalhyphenmins{welsh}{2}{3}%
+ Ionawr\or Chwefror\or Mawrth\or Ebrill\or
+ Mai\or Mehefin\or Gorffennaf\or Awst\or
+ Medi\or Hydref\or Tachwedd\or Rhagfyr\fi%
+ \space\number\year}%
+ }
% \end{macrocode}
% \iffalse
@@ -8836,6 +9101,56 @@ U+0039 <> U+0669 ;
% \end{macrocode}
% \iffalse
%</arabicdigits.map>
+%<*bengalidigits.map>
+% \fi
+% \clearpage
+%
+% \subsection{bengalidigits.map}
+% \begin{macrocode}
+; FC ...
+LHSName "Digits"
+RHSName "BengaliDigits"
+
+pass(Unicode)
+U+0030 <> U+09E6 ;
+U+0031 <> U+09E7 ;
+U+0032 <> U+09E8 ;
+U+0033 <> U+09E9 ;
+U+0034 <> U+09EA ;
+U+0035 <> U+09EB ;
+U+0036 <> U+09EC ;
+U+0037 <> U+09ED ;
+U+0038 <> U+09EE ;
+U+0039 <> U+09EF ;
+
+% \end{macrocode}
+% \iffalse
+%</bengalidigits.map>
+%<*devanagaridigits.map>
+% \fi
+% \clearpage
+%
+% \subsection{devanagaridigits.map}
+% \begin{macrocode}
+; FC ...
+LHSName "Digits"
+RHSName "DevanagariDigits"
+
+pass(Unicode)
+U+0030 <> U+0966 ;
+U+0031 <> U+0967 ;
+U+0032 <> U+0968 ;
+U+0033 <> U+0969 ;
+U+0034 <> U+096A ;
+U+0035 <> U+096B ;
+U+0036 <> U+096C ;
+U+0037 <> U+096D ;
+U+0038 <> U+096E ;
+U+0039 <> U+096F ;
+
+% \end{macrocode}
+% \iffalse
+%</devanagaridigits.map>
%<*farsidigits.map>
% \fi
% \clearpage
@@ -8896,14 +9211,14 @@ U+0039 <> U+0E59 ;
¦----------------------------------------------¦
¦ ¦
- ¦ THE POLYGLOSSIA PACKAGE v1.1.1 ¦
+ ¦ THE POLYGLOSSIA PACKAGE v1.2.0 ¦
¦ ¦
¦ Modern multilingual typesetting with XeLaTeX ¦
¦ ¦
¦----------------------------------------------¦
This package for provides a complete Babel replacement for users of XeLaTeX.
-This version includes support for 57 different languages.
+This version includes support for 68 different languages.
Polyglossia makes it possible to automate the following tasks:
@@ -8946,7 +9261,38 @@ http://github.com/fc7/polyglossia/issues
CHANGES
-1.1.1
+1.2.0 (15-07-2010)
+ * Adapted for fontspec 2.0 (will not work with earlier versions!)
+ * New implementation of a \PolyglossiaSetup interface
+ that simplifies writing gloss-*.ldf files
+ * Many internal enhancements and refactoring
+ (including a patch by Dirk Ulrich)
+ * Improved automatic font setup when \<lang>font is not defined
+ * New environment otherlanguage* (env. equivalent of \foreignlanguage
+ (Enrico Gregorio)
+ * Bugfix to prevent bogus expansion of \{rm,sf,tt}family even in aux files
+ (Enrico Gregorio)
+ * New gloss files for Armenian, Bengali, Occitan, Bengali, Lao,
+ Malayalam, Marathi, Tamil, Telugu, and Turkmen.
+ * New auxiliary packages 'devanagaridigits' and 'bengalidigits'
+ * hijrical no longer loads bidi and checks for incompatible l3calc
+ * Add Babel shorthands for Russian (based on a patch by Vladimir Lomov)
+ * Fix \fnum@{table,figure} for Lithuanian
+ * Various improvements in gloss-russian (provided by Vladimir Lomov and
+ others)
+ * Corrected captions for Bahasai, Lithuanian, Russian, Croatian
+ * Add option indentfirst=true for Spanish, Croation and other languages
+ (NB: indentfirst was previously named frenchindent)
+ * New option 'script' for German: Setting script=fraktur modifies the
+ captions for typesetting in Fraktur.
+ * New command \aemph for Arabic, Farsi, Urdu, etc. to mark emphasis through
+ overlining.
+ * Package option 'nolocalmarks' is now true by default: to activate it the
+ option 'localmarks' must be passed instead.
+ * Loading languages à la Babel as package options is no longer possible (this
+ feature was deprecated since v1.1.0).
+
+1.1.1 (23-03-2010)
* Bugfix for French: explicit spaces before/after double punctuation
signs ("Par exemple : les grands « espaces » du Canada ! ") are
now replaced by the appropriate non-breaking spaces, as in Babel.
@@ -9027,112 +9373,16 @@ CHANGES
------------------------------
- François Charette, Dec 2009
+ François Charette, July 2010
<firmicus ατ gmx δοτ net>
------------------------------
%</README>
-%<*gloss-template.ldf>
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% IMPORTANT: The format of gloss-*.ldf files will become much simpler in v1.2.
-% If you want to write new support files for polyglossia, you are urged to
-% contact the author. The present template will very soon be deprecated!
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesFile{gloss-<lang>.ldf}[polyglossia: module for <lang>]
-\makeatletter
-
-\ifx\l@<lang>\@undefined%
- \xpg@nopatterns{<Lang>}%
- \adddialect\l@<lang>0%
-\fi
-
-\def\captions<lang>{%
- \def\refname{\text<lang>{<++>}}%
- \def\abstractname{\text<lang>{<++>}}%
- \def\bibname{\text<lang>{<++>}}%
- \def\prefacename{\text<lang>{<++>}}%
- \def\chaptername{\text<lang>{<++>}}%
- \def\appendixname{\text<lang>{<++>}}%
- \def\contentsname{\text<lang>{<++>}}%
- \def\listfigurename{\text<lang>{<++>}}%
- \def\listtablename{\text<lang>{<++>}}%
- \def\indexname{\text<lang>{<++>}}%
- \def\figurename{\text<lang>{<++>}}%
- \def\tablename{\text<lang>{<++>}}%
- \def\thepart{\text<lang>{}}%
- \def\partname{\text<lang>{<++>}}%
- \def\pagename{\text<lang>{<++>}}%
- \def\seename{\text<lang>{<++>}}%
- \def\alsoname{\text<lang>{<++>}}%
- \def\enclname{\text<lang>{<++>}}%
- \def\ccname{\text<lang>{<++>}}%
- \def\headtoname{\text<lang>{<++>}}%
- \def\proofname{\text<lang>{<++>}}%
- \def\glossaryname{\text<lang>{<++>}}%
- }
-\def\date<lang>{%
- \def\today{\text<lang>{<++>}}%
- }
-
-%\def\<lang>@font{\normalfontlatin} % <== if the script is Latin
-% else:
-\def\<lang>@font{%
-\font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
-\@ifundefined{<lang>font}{%
- \@ifundefined{<script>font}{%
- \zf@check@ot@script{<xxxx>}%xxx
- \if@tempswa%
- \addfontfeature{Script=<Script>}%
- \else%
- \PackageError{polyglossia}{^^J
- The current font does not contain the <Script> script!^^J
- Please define \string\<script>font\space or \string\<lang>font\space with \string\newfontfamily}%
- \fi%
- \zf@check@ot@lang{<XXX>}%xxx
- \if@tempswa\addfontfeature{Language=<Lang>}\fi%
- }%
- {\<script>font%
- \zf@check@ot@lang{<XXX>}%xxx
- \if@tempswa\addfontfeature{Language=<Lang>}\fi%
- }}%
- {\<lang>font}%
-}
-% If script and lang are identical (e.g. Greek, Arabic, Syriac, …), then use this:
-%\def\<lang>@font{%
-% \@ifundefined{<lang>font}{%
-% \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
-% \zf@check@ot@script{<xxx>}%
-% \if@tempswa%
-% \addfontfeature{Script=<Lang>}%
-% \else%
-% \PackageError{polyglossia}{The current font does not contain the <Lang> script!^^J
-% Please define \string\<lang>font\space with \string\newfontfamily}%
-% \fi%
-% }%
-% {\<lang>font}}
-
-\def\selectnormalfont<lang>{%
- \let\normalfont=\<lang>@font%
- \def\reset@font{\normalfont}}
-
-\def\<lang>@language{\protect\language=\l@<lang>}
-
-\setlocalhyphenmins{<lang>}{2}{2}%
-
-\def\noextras@<lang>{%
- }
-
-\def\blockextras@<lang>{%
- }
-
-\def\inlineextras@<lang>{%
- }
-
-%</gloss-template.ldf>
%<*examples.tex>
\documentclass[a4paper]{article}
\usepackage[no-math]{fontspec}
\usepackage{xltxtra,url}
\usepackage{polyglossia}
+\usepackage{trace}
\setdefaultlanguage{french}
\setotherlanguage[variant=british,ordinalmonthday=false]{english}
\setotherlanguage[variant=poly]{greek}
@@ -9149,7 +9399,7 @@ CHANGES
\newfontfamily\hebrewfont[Script=Hebrew]{David CLM}
\newfontfamily\sanskritfont[Script=Devanagari]{Sanskrit 2003}
\newfontfamily\thaifont[Script=Thai]{Norasi}%{Arial Unicode MS}
-\newfontfamily\thaanafont[Script=Thaana,WordSpace=2]{TITUS Cyberbit Basic}
+\newfontfamily\thaanafont[Script=Thaana,WordSpace=2]{TITUS Cyberbit Basic}%this font does not have OT script tags, but it still seems to work
\newfontfamily\ethiopicfont[Script=Ethiopic]{Abyssinica SIL}
\parskip 1.33\baselineskip
%\newcommand\showhyphmin{\fbox{\the\lefthyphenmin\ \the\righthyphenmin}}
@@ -9275,13 +9525,11 @@ Quamquam sermone nativo fungi desinit, cumque nostris diebus perpauci Latine loq
\newfontfamily\arabicfont[Script=Arabic,Scale=1.3]{Scheherazade}%
\newfontfamily\arabicfonttt[Script=Arabic,Scale=.75]{DejaVu Sans Mono}
\newfontfamily\farsifont[Script=Arabic,Scale=1.1,WordSpace=2]{IranNastaliq}
-\usepackage[quiet]{polyglossia}
+\usepackage[quiet,nolocalmarks]{polyglossia}
\setdefaultlanguage[calendar=gregorian,hijricorrection=1,locale=mashriq]{arabic}
\setotherlanguage[variant=british]{english}
\setotherlanguage{farsi}
\parindent 0pt
-\makeatletter
-\makeatother
\title{اختبار دعم اللغة العربية}
\author{فرانسوا شاريت}
\begin{document}
@@ -9292,7 +9540,6 @@ Quamquam sermone nativo fungi desinit, cumque nostris diebus perpauci Latine loq
\pagenumbering{arabic}
\section{لغات مختلفة}
-
\textbf{العربية}\footnote{%
من «\LR{\textenglish{\url{http://ar.wikipedia.org/wiki/}}\RL{\ttfamily لغة عربية}}»}
أكبر لغات المجموعة السامية من حيث عدد المتحدثين، وإحدى أكثر اللغات انتشارا في
@@ -9335,10 +9582,12 @@ and in many international organisations.
\section{أعمال تأريخية \textenglish{(Calendar operations)}}
-
-\textenglish[variant=us]{\today} = \LR{\today} = \today\ = \Hijritoday%\footnote{
+%\textenglish{\today} = \LTR{\today} =
+\setfootnoteLR
+\today\ = \Hijritoday%\footnote{
% محسوب بـ \textenglish{\textsf{hijrical.sty}}}
-\footnote{ What is this?}
+\LTRfootnote{ What is this?}
+\setfootnoteRL
%\newpage
\subsection{فلان}
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/devanagaridigits.sty b/Master/texmf-dist/tex/xelatex/polyglossia/devanagaridigits.sty
new file mode 100644
index 00000000000..bbd83f2314c
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/devanagaridigits.sty
@@ -0,0 +1,13 @@
+\ProvidesPackage{devanagaridigits}
+ [2010/04/01 v0.1 %
+ Formatting of Devanagari digits]
+
+\def\devanagaridigits#1{\expandafter\@devanagari@digits #1@}
+\def\@devanagari@digits#1{%
+ \ifx @#1% then terminate
+ \else
+ \ifx0#1०\else\ifx1#1१\else\ifx2#1२\else\ifx3#1३\else\ifx4#1४\else\ifx5#1५\else\ifx6#1६\else\ifx7#1७\else\ifx8#1८\else\ifx9#1९\else#1\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ \expandafter\@devanagari@digits
+ \fi
+}
+\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-albanian.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-albanian.ldf
index f77b5ee0417..6185764c00c 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-albanian.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-albanian.ldf
@@ -1,10 +1,12 @@
\ProvidesFile{gloss-albanian.ldf}[polyglossia: module for albanian]
\makeatletter
-\def\albanian@font{\selectfontfamilylatin}
-\ifx\l@albanian\@undefined
- \xpg@nopatterns{Albanian}
- \adddialect\l@albanian\l@nohyphenation\fi
+\PolyglossiaSetup{albanian}{
+ hyphennames={albanian},
+ hyphenmins={2,2},
+ indentfirst=true,
+ fontsetup=true,
+}
\def\captionsalbanian{%
\def\refname{Referencat}%
@@ -36,18 +38,6 @@
Qershor\or Korrik\or Gusht\or Shtator\or Tetor\or Nëntor\or
Dhjetor\fi \space \number\year}}}
-\def\albanian@language{\language=\l@albanian}
-
-\setlocalhyphenmins{albanian}{2}{2}
-
-\def\noextras@albanian{%
- \nofrench@indent%
- }
-
-\def\blockextras@albanian{%
- \french@indent%
- }
-
\endinput
%\def\sh{\mathop{\operator@font sh}\nolimits} % same as \sinh
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-amharic.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-amharic.ldf
index a3939892f1d..7dbc124d9bb 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-amharic.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-amharic.ldf
@@ -1,11 +1,14 @@
-%% RENAME TO gloss-amharic.ldf
\ProvidesFile{gloss-amharic.ldf}[polyglossia: module for amharic]
\makeatletter
-
-\ifx\l@amharic\@undefined%
- %\xpg@nopatterns{Amharic}%
- \adddialect\l@amharic\l@nohyphenation%
-\fi
+\PolyglossiaSetup{amharic}{
+ script=Ethiopic,
+ scripttag=ethi,
+ langtag=AMH,
+ hyphennames={amharic,nohyphenation},
+ %hyphenmins={2,2},
+ fontsetup=true,
+ %TODO localalph=ethnum
+}
\def\captionsamharic{%
\def\refname{የነሥ ጹሁፍ ምንጭ}%
@@ -199,33 +202,3 @@
\ethnum@five%
}
-\def\amharic@font{%
- \@ifundefined{amharicfont}{%
- \normalfontlatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \@ifundefined{ethiopicfont}{%
- \zf@check@ot@script{ethi}%
- \if@tempswa
- \addfontfeature{Script=Ethiopic}%
- \else
- \PackageError{polyglossia}{^^J
- The current font does not contain the Ethiopic script!^^J
- Please define \string\ethiopicfont\space or \string\amharicfont\space with \string\newfontfamily}%
- \fi
- \zf@check@ot@lang{AMH}%
- \if@tempswa\addfontfeature{Language=Amharic}\fi
- }%
- {\ethiopicfont%
- \zf@check@ot@lang{AMH}%
- \if@tempswa\addfontfeature{Language=Amharic}\fi
- }}%
- {\amharicfont}%
-}
-
-\def\selectnormalfontamharic{%
- \let\normalfont=\amharic@font%
- \def\reset@font{\normalfont}}
-
-\def\amharic@language{\language=\l@amharic}
-
-
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-arabic.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-arabic.ldf
index 71342bb9512..33d849c8e71 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-arabic.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-arabic.ldf
@@ -4,12 +4,16 @@
\RequirePackage{hijrical}
\makeatletter
-\ifx\l@arabic\@undefined
- %\xpg@nopatterns{arabic}%
- \adddialect\l@arabic\l@nohyphenation
-\fi
-
-\def\arabic@RL{\relax}
+\PolyglossiaSetup{arabic}{
+ script=Arabic,
+ direction=RL,
+ langtag=ARA,
+ scripttag=arab,
+ hyphennames={nohyphenation},
+ fontsetup=true
+ %TODO localalph={abjad,abjad}
+ %TODO localnumber=arabicnumber
+}
\newif\ifeastern@numerals
\def\tmp@mashriq{mashriq}
@@ -85,32 +89,32 @@
\arabicgregmonth@default}}
%\Hijritoday is now locale-aware and will format the date with this macro:
-\DefineFormatHijriDate{arabic}{\@ensure@RTL{%
-\arabicnumber{\value{Hijriday}}\space\HijriMonthArabic{\value{Hijrimonth}}\space\arabicnumber{\value{Hijriyear}}}}
+\DefineFormatHijriDate{arabic}{\@ensure@RTL{\arabicnumber{\value{Hijriday}}%
+ \space\HijriMonthArabic{\value{Hijrimonth}}\space\arabicnumber{\value{Hijriyear}}}}
\def\captionsarabic{%
-\def\prefacename{\@ensure@RTL{مدخل}}%
-\def\refname{\@ensure@RTL{المراجع}}
-\def\abstractname{\@ensure@RTL{ملخص}}%
-\def\bibname{\@ensure@RTL{المصادر}}%
-\def\chaptername{\@ensure@RTL{باب}}%
-\def\appendixname{\@ensure@RTL{الملاحق}}%
-\def\contentsname{\@ensure@RTL{المحتويات}}
-%\def\contentsname{\@ensure@RTL{الفهرس}}%
-\def\listfigurename{\@ensure@RTL{قائمة الأشكال}}%
-\def\listtablename{\@ensure@RTL{قائمة الجداول}}%
-\def\indexname{\@ensure@RTL{الفهرس}}%
-\def\figurename{\@ensure@RTL{شكل}}%
-\def\tablename{\@ensure@RTL{جدول}}%
-\def\partname{\@ensure@RTL{القسم}}%
-\def\enclname{\@ensure@RTL{المرفقات}}%<-- Needs translation
-\def\ccname{\@ensure@RTL{نسخة ل‬}}% <<
-\def\headtoname{\@ensure@RTL{إلى}}%<-- Needs translation
-\def\pagename{\@ensure@RTL{صفحة}}%
-\def\seename{\@ensure@RTL{راجع}}%\alefhamza\nun\za\ra
-\def\alsoname{\@ensure@RTL{راجع أيضًا}}%<<\alefhamza\nun\za\ra
-\def\proofname{\@ensure@RTL{برهان}}%
-\def\glossaryname{\@ensure@RTL{قاموس}}%<<
+ \def\prefacename{\@ensure@RTL{مدخل}}%
+ \def\refname{\@ensure@RTL{المراجع}}
+ \def\abstractname{\@ensure@RTL{ملخص}}%
+ \def\bibname{\@ensure@RTL{المصادر}}%
+ \def\chaptername{\@ensure@RTL{باب}}%
+ \def\appendixname{\@ensure@RTL{الملاحق}}%
+ \def\contentsname{\@ensure@RTL{المحتويات}}
+ %\def\contentsname{\@ensure@RTL{الفهرس}}%
+ \def\listfigurename{\@ensure@RTL{قائمة الأشكال}}%
+ \def\listtablename{\@ensure@RTL{قائمة الجداول}}%
+ \def\indexname{\@ensure@RTL{الفهرس}}%
+ \def\figurename{\@ensure@RTL{شكل}}%
+ \def\tablename{\@ensure@RTL{جدول}}%
+ \def\partname{\@ensure@RTL{القسم}}%
+ \def\enclname{\@ensure@RTL{المرفقات}}%<-- Needs translation
+ \def\ccname{\@ensure@RTL{نسخة ل‬}}% <<
+ \def\headtoname{\@ensure@RTL{إلى}}%<-- Needs translation
+ \def\pagename{\@ensure@RTL{صفحة}}%
+ \def\seename{\@ensure@RTL{راجع}}%\alefhamza\nun\za\ra
+ \def\alsoname{\@ensure@RTL{راجع أيضًا}}%<<\alefhamza\nun\za\ra
+ \def\proofname{\@ensure@RTL{برهان}}%
+ \def\glossaryname{\@ensure@RTL{قاموس}}%<<
}
\def\datearabic{%
\def\today{%
@@ -120,7 +124,7 @@
\if@RTL%
\arabicnumber\day\space\@@arabic@month{\month}%
\space\arabicnumber\year%
- \else% in LR environment we format the gregorian date within \textenglish
+ \else% in LR environment we format the gregorian date within \textenglish
\ifcsdef{english@loaded}{\textenglish{\today}}%else US format
{\normalfontlatin\ifcase\month\or January\or February\or March\or April\or May\or June\or%
July\or August\or September\or October\or November\or December\fi%
@@ -128,7 +132,6 @@
\fi%
\fi}}
-
\def\arabicnumber#1{%
\ifeastern@numerals
\arabicdigits{\number#1}%
@@ -163,7 +166,7 @@
%maghribi س -> ص ص -> ض ش -> س ض -> ظ ظ -> غ غ -> ش
\def\abj@maghribi@num@ii#1{%
\ifcase#1\or ي\or ك\or ل\or م\or ن%
- \or ص\or ع\or ف\or ض\fi
+ \or ص\or ع\or ف\or ض\fi
\ifnum#1=\z@\abjad@zero\fi\abj@num@i}
\def\abj@maghribi@num@iii#1{%
\ifcase#1\or ق\or ر\or س\or ت\or ث%
@@ -195,61 +198,6 @@
\renewcommand\thefootnote{\protect\number{\c@footnote}}%
}
-\def\arabic@language{\language=\l@arabic}
-
-\def\arabic@font{%
- \@ifundefined{arabicfont}{%
- \rmfamilylatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@script{arab}%
- \if@tempswa
- \addfontfeature{Script=Arabic}%
- \else
- \PackageError{polyglossia}{^^J
- The current font does not contain the Arabic script!^^J
- Please define \string\arabicfont\space with \string\newfontfamily}%
- \fi}%
- {\arabicfont}%
-}
-\def\arabic@font@sf{%
- \@ifundefined{arabicfontsf}{%
-% \sffamilylatin%
-% \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
-% \zf@check@ot@script{arab}%
-% \if@tempswa%
-% \addfontfeature{Script=Arabic}%
-% \else%
- \arabic@font%
-% \fi%
- }%
- {\arabicfontsf}%
-}
-\def\arabic@font@tt{%
- \@ifundefined{arabicfonttt}{%
-% \ttfamilylatin%
-% \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
-% \zf@check@ot@script{arab}%
-% \if@tempswa%
-% \addfontfeature{Script=Arabic}%
-% \else%
- \arabic@font%
-% \fi%
- }%
- {\arabicfonttt}%
-}
-
-\def\selectnormalfontarabic{%
- %\edef\@tempa{\if\normalfont\sffamily\noexpand\arabic@font@sf\else
- % \if\normalfont\ttfamily\noexpand\arabic@font@tt\else
- % \noexpand\arabic@font\fi\fi}%
- \let\normalfont=\arabic@font%
- \let\rmfamily=\arabic@font%
- \let\sffamily=\arabic@font@sf%
- \let\ttfamily=\arabic@font@tt%
- \def\reset@font{\normalfont}%
- %\expand\@tempa%
- }
-
\def\blockextras@arabic{%
\let\orig@MakeUppercase\MakeUppercase%
\def\MakeUppercase##1{##1}%
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-armenian.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-armenian.ldf
new file mode 100644
index 00000000000..cde838bcbc6
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-armenian.ldf
@@ -0,0 +1,53 @@
+\ProvidesFile{gloss-armenian.ldf}[polyglossia: module for armenian]
+\makeatletter
+
+\PolyglossiaSetup{armenian}{
+ script=Armenian,
+ scripttag=armn,
+ langtag=HYE,
+ hyphennames={armenian},
+ hyphenmins={2,2},
+ fontsetup=true
+}
+
+%\def\captionsarmenian{%
+% \def\refname{}%
+% \def\abstractname{}%
+% \def\bibname{}%
+% \def\prefacename{}%
+% \def\chaptername{}%
+% \def\appendixname{}%
+% \def\contentsname{}%
+% \def\listfigurename{}%
+% \def\listtablename{}%
+% \def\indexname{}%
+% \def\authorname{}%
+% \def\figurename{}%
+% \def\tablename{}%
+% %\def\thepart{}%
+% \def\partname{}%
+% \def\pagename{}%
+% \def\seename{}%
+% \def\alsoname{}%
+% \def\enclname{}%
+% \def\ccname{}%
+% \def\headtoname{}%
+% \def\proofname{}%
+% \def\glossaryname{}%
+%}
+\def\datearmenian{%
+ \def\today{\ifcase\month\or
+ Յունուար\or
+ Փետրուար\or
+ Մարտ\or
+ Ապրիլ\or
+ Մայիս\or
+ Յունիս\or
+ Յուլիս\or
+ Օգոստոս\or
+ Սեպտեմբեր\or
+ Հոկտեմբեր\or
+ Նոյեմբեր\or
+ Դեկտեմբեր\fi
+ \number\day,\space\number\year}}
+\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-asturian.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-asturian.ldf
index 64e80a042e3..66f543482f8 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-asturian.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-asturian.ldf
@@ -3,18 +3,13 @@
%
\ProvidesFile{gloss-asturian.ldf}[polyglossia: module for asturian]
\makeatletter
-\def\asturian@font{\selectfontfamilylatin}
-
-\ifx\l@asturian\@undefined
- \ifx\l@catalan\@undefined%
- \xpg@nopatterns{asturian}
- \adddialect\l@asturian\l@nohyphenation
- \else
- \xpg@warning{No hyphenation patterns were loaded for `asturian'\MessageBreak
- I will use \string\language=\string\l@catalan\space instead}
- \adddialect\l@asturian\l@catalan
- \fi
-\fi
+\PolyglossiaSetup{asturian}{
+ hyphennames={asturian,catalan},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ indentfirst=true,
+ fontsetup=true,
+}
\def\captionsasturian{%
\def\prefacename{Entamu}%
@@ -46,20 +41,4 @@
d'avientu\fi\space de~\number\year}%
}
-\def\asturian@language{\language=\l@asturian}
-
-\setlocalhyphenmins{asturian}{2}{2}%
-
-\def\noextras@asturian{%
- \nonfrenchspacing%
-}
-
-\def\blockextras@asturian{%
- \frenchspacing%
-}
-
-\def\inlineextras@asturian{%
- \frenchspacing%
-}
-
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-bahasai.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-bahasai.ldf
index da185458156..c49a5a838cc 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-bahasai.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-bahasai.ldf
@@ -1,36 +1,12 @@
\ProvidesFile{gloss-bahasai.ldf}[polyglossia: module for bahasa indonesia]
\RequirePackage{hijrical}
\makeatletter
-\def\bahasai@font{\selectfontfamilylatin}
-\ifx\l@bahasai\@undefined
- \ifx\l@bahasa\@undefined
- \ifx\l@indon\@undefined
- \ifx\l@indonesian\@undefined
- \ifx\l@bahasam\@undefined
- \ifx\l@malay\@undefined
- \ifx\l@meyalu\@undefined
- \xpg@nopatterns{Bahasa Indonesia}
- \adddialect\l@bahasai\l@nohyphenation\relax
- \else
- \let\l@bahasai\l@meyalu
- \fi
- \else
- \let\l@bahasai\l@malay
- \fi
- \else
- \let\l@bahasai\l@bahasam
- \fi
- \else
- \let\l@bahasai\l@indonesian
- \fi
- \else
- \let\l@bahasai\l@indon
- \fi
- \else
- \let\l@bahasai\l@bahasa
- \fi
-\fi
+\PolyglossiaSetup{bahasai}{%
+ language=Bahasa Indonesia,
+ hyphennames={indonesian,indon,bahasai,bahasa,bahasam,malay,melayu},
+ hyphenmins={2,2},
+ fontsetup=true}
\def\captionsbahasai{%
\def\refname{Pustaka}%
@@ -68,8 +44,4 @@
\DefineFormatHijriDate{bahasai}{%
\number\value{Hijriday}\space\hijrimonthbahasai{\value{Hijrimonth}}\space\number\value{Hijriyear}}
-\def\bahasai@language{\language=\l@bahasai}
-
-\setlocalhyphenmins{bahasai}{2}{2}
-
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-bahasam.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-bahasam.ldf
index 678907a74ca..cd816eb24cd 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-bahasam.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-bahasam.ldf
@@ -1,49 +1,24 @@
\ProvidesFile{gloss-bahasam.ldf}[polyglossia: module for bahasa melayu]
\RequirePackage{hijrical}
\makeatletter
-\def\bahasam@font{\selectfontfamilylatin}
-
-\ifx\l@malay\@undefined
- \ifx\l@meyalu\@undefined
- \ifx\l@bahasam\@undefined
- \ifx\l@bahasa\@undefined
- \ifx\l@bahasai\@undefined
- \ifx\l@indon\@undefined
- \ifx\l@indonesian\@undefined
- \xpg@nopatterns{Bahasa Melayu}%
- \adddialect\l@malay\l@nohyphenation\relax
- \else
- \let\l@malay\l@indonesian
- \fi
- \else
- \let\l@malay\l@indon
- \fi
- \else
- \let\l@malay\l@bahasai
- \fi
- \else
- \let\l@malay\l@bahasa
- \fi
- \else
- \let\l@malay\l@bahasam
- \fi
- \else
- \let\l@malay\l@meyalu
- \fi
-\fi
+\PolyglossiaSetup{bahasam}{%
+ language=Bahasa Melayu,
+ hyphennames={malay,melayu,bahasam,bahasa,bahasai,indonesian,indon},
+ hyphenmins={2,2},
+ fontsetup=true}
\def\captionsbahasam{%
- \def\refname{Pustaka}%
- \def\abstractname{Ringkasan}%
+ \def\refname{Rujukan}%
+ \def\abstractname{Abstrak}%
\def\bibname{Bibliografi}%
\def\prefacename{Pendahuluan}%
\def\chaptername{Bab}%
\def\appendixname{Lampiran}%
\def\contentsname{Kandungan}%
- \def\listfigurename{Senarai Gambar}%
+ \def\listfigurename{Senarai Rajah}%
\def\listtablename{Senarai Jadual}%
\def\indexname{Indeks}%
- \def\figurename{Gambar}%
+ \def\figurename{Rajah}%
\def\tablename{Jadual}%
\def\thepart{}%
\def\partname{Bahagian}%
@@ -51,14 +26,23 @@
\def\seename{lihat}%
\def\alsoname{lihat juga}%
\def\enclname{Lampiran}%
- \def\ccname{cc}%
+ \def\ccname{salinan kpd}%
\def\headtoname{Kepada}%
\def\proofname{Bukti}%
- \def\glossaryname{Istilah}%
+ \def\glossaryname{Senarai Istilah}%
}
\def\datebahasam{%
- \def\today{\number\day~\ifcase\month\or
- Januari\or Pebruari\or Mac\or April\or Mei\or Jun\or
+ \def\bahasam@day{%
+ \ifcase\day\or%
+ 1hb\or 2hb\or 3hb\or 4hb\or 5hb\or%
+ 6hb\or 7hb\or 8hb\or 9hb\or 10hb\or%
+ 11hb\or 12hb\or 13hb\or 14hb\or 15hb\or%
+ 16hb\or 17hb\or 18hb\or 19hb\or 20hb\or%
+ 21hb\or 22hb\or 23hb\or 24hb\or 25hb\or%
+ 26hb\or 27hb\or 28hb\or 29hb\or 30hb\or%
+ 31hb\fi}%
+ \def\today{\bahasam@day~\ifcase\month\or
+ Januari\or Februari\or Mac\or April\or Mei\or Jun\or
Julai\or Ogos\or September\or Oktober\or November\or Disember\fi
\space \number\year}}
@@ -68,8 +52,4 @@
\DefineFormatHijriDate{bahasam}{%
\number\value{Hijriday}\space\hijrimonthbahasam{\value{Hijrimonth}}\space\number\value{Hijriyear}}
-\def\bahasam@language{\language=\l@malay}
-
-\setlocalhyphenmins{bahasam}{2}{2}
-
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-basque.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-basque.ldf
index 79bd0a0d6d6..67376b9e588 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-basque.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-basque.ldf
@@ -1,11 +1,11 @@
\ProvidesFile{gloss-basque.ldf}[polyglossia: module for basque]
\makeatletter
-\def\basque@font{\selectfontfamilylatin}
-
-\ifx\l@basque\@undefined%
- \xpg@nopatterns{Basque}%
- \adddialect\l@basque\l@nohyphenation%
-\fi
+\PolyglossiaSetup{basque}{
+ hyphennames={basque},
+ hyphenmins={2,2},
+ indentfirst=true,
+ fontsetup=true,
+}
\def\captionsbasque{%
\def\refname{Erreferentziak}%
@@ -38,8 +38,4 @@
irailaren\or urriaren\or azaroaren\or
abenduaren\fi~\number\day}}
-\def\basque@language{\language=\l@basque}
-
-\setlocalhyphenmins{basque}{2}{2}
-
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-bengali.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-bengali.ldf
new file mode 100644
index 00000000000..6257c56c005
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-bengali.ldf
@@ -0,0 +1,78 @@
+% Translations provided by সাজেদুর রহিম জোয়ারদার <toshazed@gmail.com>
+% TODO implement Bengali calendar
+
+\ProvidesFile{gloss-bengali.ldf}[polyglossia: module for bengali]
+\RequirePackage{devanagaridigits}
+\makeatletter
+
+\PolyglossiaSetup{bengali}{
+ script=Bengali,
+ scripttag=beng,
+ langtag=BEN,
+ hyphennames={bengali},
+ hyphenmins={2,2},%CHECK
+ fontsetup=true,
+ %TODO nouppercase=true,
+ %TODO localnumber=bengalinumber
+}
+
+\def\tmp@western{Western}
+\newif\ifbengali@devanagari@numerals
+\bengali@devanagari@numeralstrue
+
+\define@key{bengali}{numerals}[Devanagari]{%
+ \def\@tmpa{#1}%
+ \ifx\@tmpa\tmp@western
+ \bengali@devanagari@numeralsfalse
+ \fi}
+
+\def\captionsbengali{%
+ \def\refname{তথ্যসুত্রসমূহ}%
+ \def\abstractname{সারসংক্ষেপ}%
+ \def\bibname{তথ্যবিবরণ}%
+ \def\prefacename{পূর্বকথা}%
+ \def\chaptername{অধ্যায়}%
+ \def\appendixname{পরিশিষ্ট}%
+ \def\contentsname{সূচীপত্র}%
+ \def\listfigurename{ছবি/নকশা সমূহের তালিকা}%
+ \def\listtablename{তালিকাসারণী}%
+ \def\indexname{সূচক/নির্দেশক}%
+ \def\figurename{ছবি/নকশা}%
+ \def\tablename{সারনী}%
+ %\def\thepart{}% TODO
+ \def\partname{খন্ড}%
+ \def\pagename{পৃষ্ঠা}%
+ \def\seename{দেখুন}%
+ \def\alsoname{আরও দেখুন}%
+ \def\enclname{সংযুক্তি}%
+ \def\ccname{অনুলিপি}%
+ \def\headtoname{প্রতি}%
+ \def\proofname{প্রমাণ}%
+ \def\glossaryname{পরিভাষার শব্দসম্ভার}%
+}
+\def\datebengali{%
+ \def\bengalimonth{%
+ \ifcase\month\or
+ জানুয়ারী\or
+ ফেব্রুয়ারী\or
+ মার্চ\or
+ এপ্রিল\or
+ মে\or
+ জুন\or
+ জুলাই\or
+ আগষ্ট\or
+ সেপ্টেম্বর\or
+ অক্টোবর\or
+ নভেম্বর\or
+ ডিসেম্বর\fi}%
+ \def\today{\bengalinumber\day\space\bengalimonth\space\bengalinumber\year}%
+}
+
+\def\bengalinumber#1{%
+ \ifbengali@devanagari@numerals
+ \devanagaridigits{\number#1}%
+ \else
+ \number#1%
+ \fi}
+
+\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-brazil.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-brazil.ldf
index db169da6bbc..7d83a441d7c 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-brazil.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-brazil.ldf
@@ -1,16 +1,11 @@
\ProvidesFile{gloss-brazil.ldf}[polyglossia: module for portuguese]
\makeatletter
-\def\brazil@font{\selectfontfamilylatin}
-
-%FIXME check this:
-\ifx\l@brazil\@undefined
- \ifx\l@portuguese\@undefined
- \xpg@nopatterns{Brazilian Portuguese}
- \adddialect\l@brazil\l@nohyphenation
- \else
- \let\l@brazil\l@portuguese
- \fi
-\fi
+\PolyglossiaSetup{brazil}{
+ language=Brazilian Portuguese,
+ hyphennames={brazil,portuguese,portuges},
+ hyphenmins={2,3},
+ fontsetup=true,
+}
\def\captionsbrazil{%
\def\refname{Referências}%
@@ -43,8 +38,4 @@
\fi\space de\space\number\year}%
}
-\def\brazil@language{\language=\l@brazil}
-
-\setlocalhyphenmins{brazil}{2}{3}
-
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-breton.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-breton.ldf
index 9a7c507ce60..de8c7b4822d 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-breton.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-breton.ldf
@@ -1,11 +1,12 @@
\ProvidesFile{gloss-breton.ldf}[polyglossia: module for breton]
\makeatletter
-\def\breton@font{\selectfontfamilylatin}
-
-\ifx\l@breton\@undefined%
- \xpg@nopatterns{Breton}%
- \adddialect\l@breton\l@nohyphenation%
-\fi
+\PolyglossiaSetup{breton}{
+ hyphennames={breton},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ indentfirst=true,
+ fontsetup=true,
+}
\newXeTeXintercharclass\breton@punctthin % ! ? ;
\newXeTeXintercharclass\breton@punctthick % :
@@ -14,7 +15,6 @@
\def\breton@punctthickspace{{\unskip\nobreakspace}}
\def\breton@punctuation{%
- \frenchspacing%
\XeTeXinterchartokenstate=1%
\XeTeXcharclass `\! \breton@punctthin
\XeTeXcharclass `\? \breton@punctthin
@@ -22,10 +22,13 @@
\XeTeXcharclass `\: \breton@punctthick
\XeTeXinterchartoks \z@ \breton@punctthin = \breton@punctthinspace
\XeTeXinterchartoks \z@ \breton@punctthick = \breton@punctthickspace
- }
+}
\def\nobreton@punctuation{%
- \nonfrenchspacing%
+ \XeTeXcharclass `\! \z@
+ \XeTeXcharclass `\? \z@
+ \XeTeXcharclass `\; \z@
+ \XeTeXcharclass `\: \z@
\XeTeXinterchartokenstate=0%
}
@@ -61,10 +64,6 @@
Gouere\or Eost\or Gwengolo\or Here\or Du\or Kerzu\fi
\space\number\year}}
-\def\breton@language{\language=\l@breton}
-
-\setlocalhyphenmins{breton}{2}{2}
-
\def\noextras@breton{%
\nobreton@punctuation%
}
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-bulgarian.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-bulgarian.ldf
index 5d7a8d9fc2d..af105ba28c8 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-bulgarian.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-bulgarian.ldf
@@ -1,10 +1,15 @@
\ProvidesFile{gloss-bulgarian.ldf}[polyglossia: module for bulgarian]
\makeatletter
-
-\ifx\l@bulgarian\@undefined%
- \xpg@nopatterns{Bulgarian}%
- \adddialect\l@bulgarian\l@nohyphenation%
-\fi
+\PolyglossiaSetup{bulgarian}{
+ script=Cyrillic,
+ scripttag=cyrl,
+ langtag=BGR,
+ hyphennames={bulgarian},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ fontsetup
+ %TODO localalph=bulgarian@alph
+}
\def\bulgarian@Alph#1{%
\ifcase#1\or
@@ -79,46 +84,6 @@
\def\todayRoman{\number\day.\,\month@Roman.\,\number\year~г.}%
}
-\def\bulgarian@language{\language=\l@bulgarian}
-
-\def\bulgarian@font{%
- \@ifundefined{bulgarianfont}{%
- \@ifundefined{cyrillicfont}{%
- \normalfontlatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@script{cyrl}%
- \if@tempswa
- \addfontfeature{Script=Cyrillic}%
- \else
- \PackageError{polyglossia}{^^J
- The current font does not contain the Cyrillic script!^^J
- Please define \string\cyrillicfont\space or \string\bulgarianfont\space with \string\newfontfamily}%
- \fi
- \zf@check@ot@lang{BGR}%
- \if@tempswa\addfontfeature{Language=Bulgarian}\fi
- }%
- {\cyrillicfont%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@lang{BGR}%
- \if@tempswa\addfontfeature{Language=Bulgarian}\fi
- }}%
- {\bulgarianfont}%
-}
-
-\setlocalhyphenmins{bulgarian}{2}{2}%
-
-\def\noextras@bulgarian{%
- \nonfrenchspacing%
- }
-
-\def\blockextras@bulgarian{%
- \frenchspacing%
- }
-
-\def\inlineextras@bulgarian{%
- \frenchspacing%
- }
-
\endinput
%% TODO?
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-catalan.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-catalan.ldf
index acc0c27e759..12403863d84 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-catalan.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-catalan.ldf
@@ -1,11 +1,12 @@
\ProvidesFile{gloss-catalan.ldf}[polyglossia: module for catalan]
\makeatletter
-\def\catalan@font{\selectfontfamilylatin}
-
-\ifx\l@catalan\@undefined%
- \xpg@nopatterns{Catalan}%
- \adddialect\l@catalan\l@nohyphenation%
-\fi
+\PolyglossiaSetup{catalan}{
+ hyphennames={catalan},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ indentfirst=true,
+ fontsetup=true,
+}
\define@boolkey{catalan}[catalan@]{babelshorthands}[true]{}
\ifsystem@babelshorthands
@@ -114,22 +115,15 @@
de novembre\or de desembre\fi
\space de~\number\year}}
-\def\catalan@language{\language=\l@catalan}
-
-\setlocalhyphenmins{catalan}{2}{2}
-
\def\noextras@catalan{%
- \nonfrenchspacing%
\nocatalan@shorthands%
}
\def\blockextras@catalan{%
- \frenchspacing%
\ifcatalan@babelshorthands\catalan@shorthands\fi%
}
\def\inlineextras@catalan{%
- \frenchspacing%
\ifcatalan@babelshorthands\catalan@shorthands\fi%
}
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-coptic.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-coptic.ldf
index b7432608fe3..5b548011860 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-coptic.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-coptic.ldf
@@ -1,10 +1,14 @@
\ProvidesFile{gloss-coptic.ldf}[polyglossia: module for coptic]
\makeatletter
-
-\ifx\l@coptic\@undefined%
- \xpg@nopatterns{Coptic}%
- \adddialect\l@coptic\l@nohyphenation%
-\fi
+\PolyglossiaSetup{coptic}{
+ script=Coptic,
+ direction=RL,
+ scripttag=copt,
+ langtag=COP,
+ hyphennames={coptic},
+ hyphenmins={2,2},
+ fontsetup=true
+}
%\def\captionscoptic{%
% \def\refname{<++>}%
@@ -34,29 +38,4 @@
% \def\today{<++>}%
% }
-\def\coptic@language{\language=\l@coptic}
-
-\def\coptic@font{%
- \@ifundefined{copticfont}{%
- \normalfontlatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@script{copt}%
- \if@tempswa
- \addfontfeature{Script=Coptic}%
- \zf@check@ot@lang{COP}%
- \if@tempswa\addfontfeature{Language=Coptic}\fi
- \else
- \PackageError{polyglossia}{^^J
- The current font does not contain the Coptic script!^^J
- Please define \string\copticfont\space with \string\newfontfamily}%
- \fi}%
- {\copticfont}%
-}
-
-\def\selectnormalfontcoptic{%
- \let\normalfont=\coptic@font%
- \def\reset@font{\normalfont}}
-
-\setlocalhyphenmins{coptic}{2}{2}
-
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-croatian.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-croatian.ldf
index 7aa548ee6e6..f875f7475dd 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-croatian.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-croatian.ldf
@@ -1,11 +1,11 @@
\ProvidesFile{gloss-croatian.ldf}[polyglossia: module for croatian]
\makeatletter
-\def\croatian@font{\selectfontfamilylatin}
-
-\ifx\l@croatian\@undefined%
- \xpg@nopatterns{Croatian}%
- \adddialect\l@croatian\l@nohyphenation%
-\fi
+\PolyglossiaSetup{croatian}{
+ hyphennames={croatian},
+ hyphenmins={2,2},
+ indentfirst=true,
+ fontsetup=true,
+}
\def\captionscroatian{%
\def\refname{Literatura}%
@@ -20,7 +20,7 @@
\def\indexname{Indeks}%
\def\figurename{Slika}%
\def\tablename{Tablica}%
- \def\partname{Deo}% <<< CHECK (taken from Serbian)
+ \def\partname{Dio}%
\def\pagename{Stranica}%
\def\seename{Vidjeti}%
\def\alsoname{Vidjeti i}%
@@ -36,8 +36,4 @@
lipnja\or srpnja\or kolovoza\or rujna\or listopada\or studenog\or
prosinca\fi \space \number\year.}}
-\def\croatian@language{\language=\l@croatian}
-
-\setlocalhyphenmins{croatian}{2}{2}
-
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-czech.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-czech.ldf
index a0556a180b5..d7921eee35a 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-czech.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-czech.ldf
@@ -1,11 +1,11 @@
\ProvidesFile{gloss-czech.ldf}[polyglossia: module for czech]
\makeatletter
-\def\czech@font{\selectfontfamilylatin}
-
-\ifx\l@czech\@undefined%
- \xpg@nopatterns{Czech}%
- \adddialect\l@czech\l@nohyphenation%
-\fi
+\PolyglossiaSetup{czech}{
+ hyphennames={czech},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ fontsetup=true,
+}
\def\captionsczech{%
\def\refname{Reference}%
@@ -38,20 +38,4 @@
října\or listopadu\or prosince\fi
\space \number\year}}
-\def\czech@language{\language=\l@czech}
-
-\setlocalhyphenmins{czech}{2}{2}%
-
-\def\noextras@czech{%
- \nonfrenchspacing%
- }
-
-\def\blockextras@czech{%
- \frenchspacing%
- }
-
-\def\inlineextras@czech{%
- \frenchspacing%
- }
-
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-danish.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-danish.ldf
index 9808698580d..e730b4e1566 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-danish.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-danish.ldf
@@ -1,11 +1,11 @@
\ProvidesFile{gloss-danish.ldf}[polyglossia: module for danish]
\makeatletter
-\def\danish@font{\selectfontfamilylatin}
-
-\ifx\l@danish\@undefined
- \xpg@nopatterns{Danish}
- \adddialect\l@danish\l@nohyphenation
-\fi
+\PolyglossiaSetup{danish}{
+ hyphennames={danish},
+ hyphenmins={2,3},
+ frenchspacing=true,
+ fontsetup=true,
+}
\def\captionsdanish{%
\def\prefacename{Forord}%
@@ -34,21 +34,4 @@
juli\or august\or september\or oktober\or november\or december\fi
\space\number\year}
-\def\danish@language{%
- \language=\l@danish}
-
-\setlocalhyphenmins{danish}{2}{3}%
-
-\def\noextras@danish{%
- \nonfrenchspacing%
- }
-
-\def\blockextras@danish{%
- \frenchspacing%
- }
-
-\def\inlineextras@danish{%
- \frenchspacing%
- }
-
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-divehi.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-divehi.ldf
index e9baf9ca961..c8441b30f9b 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-divehi.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-divehi.ldf
@@ -1,13 +1,13 @@
\ProvidesFile{gloss-divehi.ldf}[polyglossia: module for divehi]
\RequirePackage{bidi}
\makeatletter
-
-\ifx\l@divehi\@undefined%
- %\xpg@nopatterns{Divehi}%
- \adddialect\l@divehi\l@nohyphenation%
-\fi
-
-\def\divehi@RL{\relax}
+\PolyglossiaSetup{divehi}{
+ script=Thaana,
+ scripttag=thaa,
+ direction=RL,
+ hyphennames={nohyphenation},
+ fontsetup=true
+}
%\def\captionsdivehi{%
% \def\refname{<++>}%
@@ -35,34 +35,6 @@
% }
%\def\datedivehi{\def\today{<++>}}
-\def\divehi@language{\language=\l@divehi}
-
-\def\divehi@font{%
- \@ifundefined{divehifont}{%
- \@ifundefined{thaanafont}{%
- \normalfontlatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@script{thaa}%
- \if@tempswa
- \addfontfeature{Script=Thaana}%
- \else
- \PackageError{polyglossia}{^^J
- The current font does not contain the Thaana script!^^J
- Please define \string\thaanafont\space or \string\divehifont\space with \string\newfontfamily}%
- \fi
- }%
- {\thaanafont}}%
- {\divehifont}%
-}
-
-\def\selectnormalfontdivehi{%
- \let\normalfont=\divehi@font%
- \let\rmfamily=\divehi@font%
- % TODO add setup to define Sans and Mono fonts if desired
- \let\sffamily=\divehi@font%
- \let\ttfamily=\divehi@font%
- \def\reset@font{\normalfont}}
-
\def\blockextras@divehi{%
\let\@@MakeUppercase\MakeUppercase%
\def\MakeUppercase##1{##1}%
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-dutch.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-dutch.ldf
index b7f6e37650b..64a29f2b0a8 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-dutch.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-dutch.ldf
@@ -1,18 +1,10 @@
\ProvidesFile{gloss-dutch.ldf}[polyglossia: module for dutch]
\makeatletter
-\def\dutch@font{\selectfontfamilylatin}
-
-\ifx\l@dutch\@undefined
- \xpg@nopatterns{Dutch}
- \adddialect\l@dutch\l@nohyphenation
-\fi
-
-\def\dutch@punctuation{%
- \frenchspacing%
-}
-
-\def\nodutch@punctuation{%
- \nonfrenchspacing%
+\PolyglossiaSetup{dutch}{
+ hyphennames={dutch},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ fontsetup=true,
}
\define@boolkey{dutch}[dutch@]{babelshorthands}[true]{}
@@ -74,22 +66,15 @@
december\fi
\space \number\year}}
-\def\dutch@language{\language=\l@dutch}
-
-\setlocalhyphenmins{dutch}{2}{2}%
-
\def\noextras@dutch{%
- \nodutch@punctuation%
\nodutch@shorthands%
}
\def\blockextras@dutch{%
- \dutch@punctuation%
\ifdutch@babelshorthands\dutch@shorthands\fi%
}
\def\inlineextras@dutch{%
- \dutch@punctuation%
\ifdutch@babelshorthands\dutch@shorthands\fi%
}
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-english.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-english.ldf
index e541aa9e4a9..3aee5b7f359 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-english.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-english.ldf
@@ -1,65 +1,65 @@
\ProvidesFile{gloss-english.ldf}[polyglossia: module for english]
\makeatletter
-%TODO change to \selectnormalfontlatin in all ldfs
-\def\english@font{\selectfontfamilylatin}
+\PolyglossiaSetup{english}{
+ hyphennames={english,american,usenglish,USenglish},
+ hyphenmins={2,3},
+ fontsetup=true,
+}
-\ifx\l@english\@undefined%
- \ifx\l@USenglish\@undefined%
- \ifx\l@american\@undefined%
- \xpg@nopatterns{English}%
- \adddialect\l@english\l@nohyphenation%
- \else%
- \let\l@english\l@american%
- \fi%
- \else%
- \let\l@english\l@USenglish%
- \fi%
-\fi
-\ifx\l@american\@undefined%
- \let\l@american\l@english%
-\fi
-\ifx\l@british\@undefined%
- \ifx\l@UKenglish\@undefined%
- \adddialect\l@british\l@english%
- \else%
- \let\l@british\l@UKenglish%
- \fi%
-\fi
+\newif\if@british@locale
+\@british@localefalse
+\providebool{@british@hyphen}
+\providebool{english@ordinalmonthday}
-\def\tmp@us{us}
-\def\tmp@usmax{usmax}
-\def\tmp@uk{uk}
-\def\tmp@british{british}
-\def\tmp@american{american}
-\def\tmp@australian{australian}
-\def\tmp@newzealand{newzealand}
-\def\en@variant{english}
-\def\english@language{\expandafter\protect\expandafter\language=\csname l@\en@variant\endcsname}
+\define@boolkey{english}[english@]{ordinalmonthday}[true]{}
-\newif\if@ordinalmonthday
-
-\define@key{english}{variant}[american]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@uk\def\en@variant{british}\@ordinalmonthdaytrue%
- \xpg@info{Option: english variant=british}%
- \else\ifx\@tmpa\tmp@british\def\en@variant{british}\@ordinalmonthdaytrue%
- \xpg@info{Option: english variant=british}%
- \else\ifx\@tmpa\tmp@us\def\en@variant{american}\@ordinalmonthdayfalse%
- \xpg@info{Option: english variant=american}%
- \else\ifx\@tmpa\tmp@usmax\def\en@variant{usenglishmax}\@ordinalmonthdayfalse%
- \xpg@info{Option: english variant=american (with additional patterns)}%
- \else\ifx\@tmpa\tmp@australian\def\en@variant{british}\@ordinalmonthdayfalse%
- \xpg@info{Option: english variant=australian}%
- \else\ifx\@tmpa\tmp@newzealand\def\en@variant{british}\@ordinalmonthdayfalse%
- \xpg@info{Option: english variant=newzealand}%
- \fi\fi\fi\fi\fi\fi}
-
-\def\tmp@true{true}
-\define@key{english}{ordinalmonthday}[false]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@true\@ordinalmonthdaytrue%
- \else\@ordinalmonthdayfalse%
- \fi}
+%% English is a special case in that \l@english is reserved for US English, so
+%% we need to handle it differently
+\define@key{english}{variant}{%
+ %needs to be reset for loop over hyphennames below:
+ \renewcommand*{\do}[1]{%
+ \ifcsdef{l@#1}%
+ {\csletcs{l@english}{l@#1}\listbreak}%
+ {}%
+ }%
+ \ifstrequal{#1}{uk}%
+ {\@british@localetrue
+ \xpg@info{Option: english variant=british}}%
+ {\ifstrequal{#1}{british}%
+ {\@british@localetrue
+ \xpg@info{Option: english variant=british}}%
+ {\ifstrequal{#1}{us}% these patterns are the default so we don't need to reset them
+ {\@british@hyphenfalse\english@ordinalmonthdayfalse
+ \xpg@info{Option: english variant=american}}%
+ {\ifstrequal{#1}{usmax}%
+ {\@british@hyphenfalse\english@ordinalmonthdayfalse
+ \setkeys[xpg@setup]{english}{hyphennames={usenglishmax}}%
+ \xpg@info{Option: english variant=american (with additional patterns)}}%
+ \ifcsundef{l@usenglishmax}%
+ {\xpg@warning{No hyphenation patterns were loaded for "US English Max"\MessageBreak
+ I will use the standard patterns for US English instead}%
+ \adddialect\l@usenglishmax\l@english\relax}{}%
+ \gdef\english@language{\language=\l@usenglishmax}}%
+ {\ifstrequal{#1}{australian}%
+ {\@british@hyphentrue\english@ordinalmonthdayfalse
+ \xpg@info{Option: english variant=australian}}%
+ {\ifstrequal{#1}{newzealand}%
+ {\@british@hyphentrue\english@ordinalmonthdayfalse
+ \xpg@info{Option: english variant=newzealand}}%
+ {\xpg@warning{Unknown English variant `#1'}}%
+ }}}}%
+ \if@british@locale\@british@hyphentrue\english@ordinalmonthdaytrue\fi
+ \if@british@hyphen
+ \setkeys[xpg@setup]{english}{hyphennames={ukenglish,british,UKenglish}}%
+ \ifcsundef{l@ukenglish}%
+ {\xpg@warning{No hyphenation patterns were loaded for British English\MessageBreak
+ I will use the patterns for US English instead}%
+ \adddialect\l@ukenglish\l@english\relax}{}%
+ \gdef\english@language{\language=\l@ukenglish}%
+ \fi
+ % and we reset \do to its previous definition here:
+ \renewcommand*{\do}[1]{\setotherlanguage{#1}}%
+}
\def\captionsenglish{%
\def\prefacename{Preface}%
@@ -82,34 +82,28 @@
\def\seename{see}%
\def\alsoname{see also}%
\def\proofname{Proof}%
- }
+}
\def\dateenglish{%
\def\english@day{%
- \if@ordinalmonthday%
- \ifcase\day\or%
- 1st\or 2nd\or 3rd\or 4th\or 5th\or%
- 6th\or 7th\or 8th\or 9th\or 10th\or%
- 11th\or 12th\or 13th\or 14th\or 15th\or%
- 16th\or 17th\or 18th\or 19th\or 20th\or%
- 21st\or 22nd\or 23rd\or 24th\or 25th\or%
- 26th\or 27th\or 28th\or 29th\or 30th\or%
- 31st\fi%
+ \ifenglish@ordinalmonthday
+ \ifcase\day\or
+ 1st\or 2nd\or 3rd\or 4th\or 5th\or
+ 6th\or 7th\or 8th\or 9th\or 10th\or
+ 11th\or 12th\or 13th\or 14th\or 15th\or
+ 16th\or 17th\or 18th\or 19th\or 20th\or
+ 21st\or 22nd\or 23rd\or 24th\or 25th\or
+ 26th\or 27th\or 28th\or 29th\or 30th\or
+ 31st\fi
\else\number\day\fi}%
+ \def\english@month{\ifcase\month\or
+ January\or February\or March\or April\or May\or June\or
+ July\or August\or September\or October\or November\or December\fi}%
\def\today{%
- \ifx\en@variant\tmp@british%
- \english@day\space%
- \ifcase\month\or%
- January\or February\or March\or April\or May\or June\or%
- July\or August\or September\or October\or November\or December\fi%
- \space\number\year%
- \else%
- \ifcase\month\or%
- January\or February\or March\or April\or May\or June\or%
- July\or August\or September\or October\or November\or December\fi%
- \space\english@day, \number\year%
- \fi}%
- }
-
-%\setlocalhyphenmins{english}{2}{3}% this is the default in babel
+ \if@british@locale
+ \english@day\space\english@month\space\number\year
+ \else
+ \english@month\space\english@day, \number\year
+ \fi}
+}
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-esperanto.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-esperanto.ldf
index c95f6029e49..5f4bac7ee32 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-esperanto.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-esperanto.ldf
@@ -1,11 +1,11 @@
\ProvidesFile{gloss-esperanto.ldf}[polyglossia: module for esperanto]
\makeatletter
-\def\esperanto@font{\selectfontfamilylatin}
-
-\ifx\l@esperanto\@undefined%
- \xpg@nopatterns{Esperanto}%
- \adddialect\l@esperanto\l@nohyphenation%
-\fi
+\PolyglossiaSetup{esperanto}{
+ hyphennames={esperanto},
+ hyphenmins={2,2},
+ fontsetup=true,
+ %TODO localalph={esperanto@alph,esperanto@Alph}
+}
\def\captionsesperanto{%
\def\refname{Citaĵoj}%
@@ -52,8 +52,8 @@
P\or R\or S\or Ŝ\or T\or U\or Ŭ\or V\or Z\else\xpg@ill@value{#1}{esperanto@Alph}\fi}%
\def\esperanto@numbers{%
- \let\latin@Alph\@Alph%
- \let\latin@alph\@alph%
+ \let\latin@Alph\@Alph%
+ \let\latin@alph\@alph%
\let\@Alph\esperanto@Alph%
\let\@alph\esperanto@alph%
}
@@ -63,8 +63,4 @@
\let\@alph\latin@alph%
}
-\def\esperanto@language{\language=\l@esperanto}
-
-\setlocalhyphenmins{esperanto}{2}{2}%
-
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-estonian.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-estonian.ldf
index daf6acf9f5f..eb053d13eb7 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-estonian.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-estonian.ldf
@@ -1,11 +1,11 @@
\ProvidesFile{gloss-estonian.ldf}[polyglossia: module for estonian]
\makeatletter
-\def\estonian@font{\selectfontfamilylatin}
-
-\ifx\l@estonian\@undefined%
- \xpg@nopatterns{Estonian}%
- \adddialect\l@estonian\l@nohyphenation%
-\fi
+\PolyglossiaSetup{estonian}{
+ hyphennames={estonian},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ fontsetup=true,
+}
\def\captionsestonian{%
\def\refname{Viited}%
@@ -37,20 +37,4 @@
juuli\or august\or september\or oktoober\or november\or
detsember\fi\space\number\year.\space a.}}
-\def\estonian@language{\language=\l@estonian}
-
-\setlocalhyphenmins{estonian}{2}{2}%
-
-\def\noextras@estonian{%
- \nonfrenchspacing%
- }
-
-\def\blockextras@estonian{%
- \frenchspacing%
- }
-
-\def\inlineextras@estonian{%
- \frenchspacing%
- }
-
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-farsi.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-farsi.ldf
index 6ef01edb1df..d8c69f947fe 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-farsi.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-farsi.ldf
@@ -4,13 +4,14 @@
\RequirePackage{farsical}
\RequirePackage{hijrical}
\makeatletter
-
-\ifx\l@farsi\@undefined
- %\xpg@nopatterns{Farsi}%
- \adddialect\l@farsi\l@nohyphenation
-\fi
-
-\def\farsi@RL{\relax}
+\PolyglossiaSetup{farsi}{
+ script=Arabic,
+ direction=RL,
+ scripttag=arab,
+ langtag=FAR,
+ hyphennames={nohyphenation},
+ fontsetup=true
+}
\newif\if@western@numerals
\def\tmp@western{western}
@@ -115,66 +116,6 @@
\renewcommand\thefootnote{\protect\number{\c@footnote}}%
}
-\def\farsi@language{\language=\l@farsi}
-
-\def\farsi@font{%
- \@ifundefined{farsifont}{%
- \@ifundefined{arabicfont}{%
- \normalfontlatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@script{arab}%
- \if@tempswa
- \addfontfeature{Script=Arabic}%
- \else
- \PackageError{polyglossia}{^^J
- The current font does not contain the Arabic script!^^J
- Please define \string\arabicfont\space or \string\farsifont\space with \newfontfamily}%
- \fi
- \zf@check@ot@lang{FAR}%
- \if@tempswa\addfontfeature{Language=Farsi}\fi}%
- {\arabicfont%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@lang{FAR}%
- \if@tempswa\addfontfeature{Language=Farsi}\fi}%
- }%
- {\farsifont}%
-}
-
-% TODO add setup to define Sans and Mono Arabic fonts if desired
-\def\farsi@font@sf{%
- \@ifundefined{farsifontsf}{%
-% \sffamily% FIXME
-% \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
-% \zf@check@ot@script{arab}%
-% \if@tempswa
-% \addfontfeature{Script=Arabic}%
-% \else
- \farsi@font%
-% \fi
- }%
- {\farsifontsf}%
-}
-\def\farsi@font@tt{%
- \@ifundefined{farsifonttt}{%
-% \ttfamily% FIXME
-% \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
-% \zf@check@ot@script{arab}%
-% \if@tempswa
-% \addfontfeature{Script=Arabic}%
-% \else
- \farsi@font%
-% \fi
- }%
- {\farsifonttt}%
-}
-
-\def\selectnormalfontfarsi{%
- \let\normalfont=\farsi@font%
- \let\rmfamily=\farsi@font%
- \let\sffamily=\farsi@font@sf%
- \let\ttfamily=\farsi@font@tt%
- \def\reset@font{\normalfont}}
-
\def\blockextras@farsi{%
\let\@@MakeUppercase\MakeUppercase%
\def\MakeUppercase##1{##1}%
@@ -183,4 +124,3 @@
\let\MakeUppercase\@@MakeUppercase%
}
\endinput
-
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-finnish.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-finnish.ldf
index 5da03045ae7..b2f0ec57f0f 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-finnish.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-finnish.ldf
@@ -1,11 +1,11 @@
\ProvidesFile{gloss-finnish.ldf}[polyglossia: module for finnish]
\makeatletter
-\def\finnish@font{\selectfontfamilylatin}
-
-\ifx\l@finnish\@undefined%
- \xpg@nopatterns{Finnish}%
- \adddialect\l@finnish\l@nohyphenation%
-\fi
+\PolyglossiaSetup{finnish}{
+ hyphennames={finnish},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ fontsetup=true,
+}
\def\captionsfinnish{%
\def\refname{Viitteet}%
@@ -38,26 +38,10 @@
syyskuuta\or lokakuuta\or marraskuuta\or joulukuuta\fi
\space\number\year}}
-\def\finnish@language{\language=\l@finnish}
-
-\setlocalhyphenmins{finnish}{2}{2}%
-
-\def\noextras@finnish{%
- \nonfrenchspacing%
- }
-
-\def\blockextras@finnish{%
- \frenchspacing%
- }
-
-\def\inlineextras@finnish{%
- \frenchspacing%
- }
-
\endinput
-% TODO ?
-\addto\extrasfinnish{%
+% TODO ? this is set in babel:
+\gappto\blockextrasfinnish{%
\babel@savevariable\hyphenpenalty\hyphenpenalty=30%
\babel@savevariable\exhyphenpenalty\exhyphenpenalty=30%
\babel@savevariable\doublehyphendemerits\doublehyphendemerits=5000%
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-french.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-french.ldf
index 9f5aef3c8a7..c734a066ca8 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-french.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-french.ldf
@@ -1,11 +1,14 @@
\ProvidesFile{gloss-french.ldf}[polyglossia: module for french]
\makeatletter
-\def\french@font{\selectfontfamilylatin}
-\ifx\l@french\@undefined%
- \xpg@nopatterns{French}%
- \adddialect\l@french\l@nohyphenation%
-\fi
+\PolyglossiaSetup{french}{%
+ language=French,
+ script=Latin,
+ hyphennames={french,francais},
+ frenchspacing=true,
+ indentfirst=true,
+ hyphenmins={2,2},
+ fontsetup=true}
\newXeTeXintercharclass\french@punctthin % ! ? ; et autres
\newXeTeXintercharclass\french@punctthick % :
@@ -16,7 +19,6 @@
\def\xpg@nospace#1{#1}
\def\french@punctuation{%
- \frenchspacing
\lccode"2019="2019
\XeTeXinterchartokenstate=1
\XeTeXcharclass `\! \french@punctthin
@@ -47,7 +49,6 @@
}
\def\nofrench@punctuation{%
- \nonfrenchspacing
\lccode"2019=\z@
\XeTeXcharclass `\! \z@
\XeTeXcharclass `\? \z@
@@ -103,18 +104,12 @@
décembre\fi
\space \number\year}}
-\def\french@language{\language=\l@french}
-
-\setlocalhyphenmins{french}{2}{2}%
-
\def\noextras@french{%
\nofrench@punctuation%
- \nofrench@indent%
}
\def\blockextras@french{%
\french@punctuation%
- \french@indent%
}
\def\inlineextras@french{%
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-galician.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-galician.ldf
index 38c921c1a4f..3a26e926672 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-galician.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-galician.ldf
@@ -1,11 +1,11 @@
\ProvidesFile{gloss-galician.ldf}[polyglossia: module for galician]
\makeatletter
-\def\galician@font{\selectfontfamilylatin}
-
-\ifx\l@galician\@undefined%
- \xpg@nopatterns{Galician}%
- \adddialect\l@galician\l@nohyphenation%
-\fi
+\PolyglossiaSetup{galician}{
+ hyphennames={galician},
+ hyphenmins={2,2},
+ indentfirst=true,
+ fontsetup=true,
+}
\def\captionsgalician{%
\def\refname{Referencias}%
@@ -37,8 +37,4 @@
xullo\or agosto\or setembro\or outubro\or novembro\or decembro\fi
\space de~\number\year}}
-\def\galician@language{\language=\l@galician}
-
-\setlocalhyphenmins{galician}{2}{2}%
-
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-german.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-german.ldf
index 49c7abc4e7c..2cf2d673791 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-german.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-german.ldf
@@ -1,47 +1,44 @@
\ProvidesFile{gloss-german.ldf}[polyglossia: module for german]
\makeatletter
-\def\german@font{\selectfontfamilylatin}
+\PolyglossiaSetup{german}{
+ hyphenmins={2,2},
+ frenchspacing=true,
+ fontsetup=true,
+}
\def\tmp@old{old}
\def\tmp@oldyr{1901}
\newif\if@german@oldspelling
\@german@oldspellingfalse
\define@key{german}{spelling}[new]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@old%
- \ifx\l@german\@undefined%
- \xpg@nopatterns{german}%
- \adddialect\l@german\l@nohyphenation%
- \fi%
- \@german@oldspellingtrue%
- \else%
- \ifx\@tmpa\tmp@oldyr%
- \ifx\l@german\@undefined%
- \xpg@nopatterns{german}%
- \adddialect\l@german\l@nohyphenation%
- \fi%
- \@german@oldspellingtrue%
- \else%
- \ifx\l@ngerman\@undefined%
- \ifx\l@german\@undefined%
- \xpg@nopatterns{ngerman}%
- \adddialect\l@ngerman\l@nohyphenation%
- \else%
- \xpg@warning{You asked for `ngerman' but only `german' hyphenation is available!}%
- \@german@oldspellingtrue%
- \fi%
- \else%
- \@german@oldspellingfalse
- \fi%
- \fi%
- \fi%
+ \def\@tmpa{#1}%
+ \ifx\@tmpa\tmp@oldyr\def\@tmpa{old}\fi
+ \ifx\@tmpa\tmp@old
+ \ifx\l@german\@undefined
+ \xpg@nopatterns{german}%
+ \adddialect\l@german\l@nohyphenation
+ \fi
+ \@german@oldspellingtrue
+ \else %try ngerman
+ \ifx\l@ngerman\@undefined
+ \ifx\l@german\@undefined
+ \xpg@nopatterns{ngerman}%
+ \adddialect\l@ngerman\l@nohyphenation
+ \else
+ \xpg@warning{You asked for `ngerman' but only `german' hyphenation is available!}%
+ \@german@oldspellingtrue
+ \fi
+ \else %we use ngerman
+ \@german@oldspellingfalse
+ \fi
+ \fi
}
\newif\if@german@fraktur
\def\tmp@fraktur{fraktur}
\define@key{german}{script}[latin]{%
\def\@tmpa{#1}%
- \ifx\@tmpa\tmp@fraktur\@german@frakturtrue\else%
+ \ifx\@tmpa\tmp@fraktur\@german@frakturtrue\else
\@german@frakturfalse%
\fi}
@@ -132,7 +129,7 @@
\space \ifcase\month%TODO add option for Austrian forms (Jänner etc)
\or Januar\or Februar\or März\or April\or Mai\or Juni\or%
Juli\or August\or September\or Oktober\or November\or%
- Dezember\fi%
+ Dezember\fi
\space \number\year}%
}
@@ -150,36 +147,31 @@
\space \ifcase\month%TODO add option for Austrian forms (Jänner etc)
\or Januar\or Februar\or März\or April\or Mai\or Juni\or%
Juli\or Auguſt\or September\or Oktober\or November\or%
- Dezember\fi%
+ Dezember\fi
\space \number\year}%
}
\def\captionsgerman{%
- \if@german@fraktur\captions@german@fraktur\else\captions@german\fi%
+ \if@german@fraktur\captions@german@fraktur\else\captions@german\fi
}
\def\dategerman{%
- \if@german@fraktur\date@german@fraktur\else\date@german\fi%
+ \if@german@fraktur\date@german@fraktur\else\date@german\fi
}
\def\german@language{\language=%
\csname l@\if@german@oldspelling\else n\fi german\ifgerman@latesthyphen -x-latest\fi\endcsname}
-\setlocalhyphenmins{german}{2}{2}%
-
\def\noextras@german{%
- \nonfrenchspacing%
\nogerman@shorthands%
}
\def\blockextras@german{%
- \frenchspacing%
- \ifgerman@babelshorthands\german@shorthands\fi%
+ \ifgerman@babelshorthands\german@shorthands\fi
}
\def\inlineextras@german{%
- \frenchspacing%
- \ifgerman@babelshorthands\german@shorthands\fi%
+ \ifgerman@babelshorthands\german@shorthands\fi
}
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-greek.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-greek.ldf
index a305e0fc21a..96c4803530e 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-greek.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-greek.ldf
@@ -1,335 +1,40 @@
\ProvidesFile{gloss-greek.ldf}[polyglossia: module for greek]
\makeatletter
+\PolyglossiaSetup{greek}{
+ script=Greek,
+ scripttag=grek,
+ frenchspacing=true,
+ indentfirst=true,
+ fontsetup=true,
+ %TODO localalph={greek@alph,greek@Alph}
+}
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% The code in this file was initially adapted from the antomega
%% module for greek. Currently large parts of it derive from the
%% package xgreek.sty (c) Apostolos Syropoulos
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% the following fixes are taken verbatim from xgreek.sty:
-\global\lccode"0386="03AC \global\uccode"0386="0391
-\global\lccode"0388="03AD \global\uccode"0388="0395
-\global\lccode"0389="03AC \global\uccode"0389="0397
-\global\lccode"038A="03AF \global\uccode"038A="0399
-\global\lccode"038C="03CC \global\uccode"038C="039F
-\global\lccode"038E="03CD \global\uccode"038E="03A5
-\global\lccode"038F="03CE \global\uccode"038F="03A9
-\global\lccode"0390="0390 \global\uccode"0390="03AA
-\global\lccode"0391="03B1 \global\uccode"0391="0391
-\global\lccode"0392="03B2 \global\uccode"0392="0392
-\global\lccode"0393="03B3 \global\uccode"0393="0393
-\global\lccode"0394="03B4 \global\uccode"0394="0394
-\global\lccode"0395="03B5 \global\uccode"0395="0395
-\global\lccode"0396="03B6 \global\uccode"0396="0396
-\global\lccode"0397="03B7 \global\uccode"0397="0397
-\global\lccode"0398="03B8 \global\uccode"0398="0398
-\global\lccode"0399="03B9 \global\uccode"0399="0399
-\global\lccode"039A="03BA \global\uccode"039A="039A
-\global\lccode"039B="03BB \global\uccode"039B="039B
-\global\lccode"039C="03BC \global\uccode"039C="039C
-\global\lccode"039D="03BD \global\uccode"039D="039D
-\global\lccode"039E="03BE \global\uccode"039E="039E
-\global\lccode"039F="03BF \global\uccode"039F="039F
-\global\lccode"03A0="03C0 \global\uccode"03A0="03A0
-\global\lccode"03A1="03C1 \global\uccode"03A1="03A1
-\global\lccode"03A3="03C3 \global\uccode"03A3="03A3
-\global\lccode"03A4="03C4 \global\uccode"03A4="03A4
-\global\lccode"03A5="03C5 \global\uccode"03A5="03A5
-\global\lccode"03A6="03C6 \global\uccode"03A6="03A6
-\global\lccode"03A7="03C7 \global\uccode"03A7="03A7
-\global\lccode"03A8="03C8 \global\uccode"03A8="03A8
-\global\lccode"03A9="03C9 \global\uccode"03A9="03A9
-\global\lccode"03AA="03CA \global\uccode"03AA="03AA
-\global\lccode"03AB="03CB \global\uccode"03AB="03AB
-\global\lccode"03AC="03AC \global\uccode"03AC="0391
-\global\lccode"03AD="03AD \global\uccode"03AD="0395
-\global\lccode"03AE="03AE \global\uccode"03AE="0397
-\global\lccode"03AF="03AF \global\uccode"03AF="0399
-\global\lccode"03B0="03B0 \global\uccode"03B0="03AB
-\global\lccode"03B1="03B1 \global\uccode"03B1="0391
-\global\lccode"03B2="03B2 \global\uccode"03B2="0392
-\global\lccode"03B3="03B3 \global\uccode"03B3="0393
-\global\lccode"03B4="03B4 \global\uccode"03B4="0394
-\global\lccode"03B5="03B5 \global\uccode"03B5="0395
-\global\lccode"03B6="03B6 \global\uccode"03B6="0396
-\global\lccode"03B7="03B7 \global\uccode"03B7="0397
-\global\lccode"03B8="03B8 \global\uccode"03B8="0398
-\global\lccode"03B9="03B9 \global\uccode"03B9="0399
-\global\lccode"03BA="03BA \global\uccode"03BA="039A
-\global\lccode"03BB="03BB \global\uccode"03BB="039B
-\global\lccode"03BC="03BC \global\uccode"03BC="039C
-\global\lccode"03BD="03BD \global\uccode"03BD="039D
-\global\lccode"03BE="03BE \global\uccode"03BE="039E
-\global\lccode"03BF="03BF \global\uccode"03BF="039F
-\global\lccode"03C0="03C0 \global\uccode"03C0="03A0
-\global\lccode"03C1="03C1 \global\uccode"03C1="03A1
-\global\lccode"03C2="03C2 \global\uccode"03C2="03A3
-\global\lccode"03C3="03C3 \global\uccode"03C3="03A3
-\global\lccode"03C4="03C4 \global\uccode"03C4="03A4
-\global\lccode"03C5="03C5 \global\uccode"03C5="03A5
-\global\lccode"03C6="03C6 \global\uccode"03C6="03A6
-\global\lccode"03C7="03C7 \global\uccode"03C7="03A7
-\global\lccode"03C8="03C8 \global\uccode"03C8="03A8
-\global\lccode"03C9="03C9 \global\uccode"03C9="03A9
-\global\lccode"03CA="03CA \global\uccode"03CA="03AA
-\global\lccode"03CB="03CB \global\uccode"03CB="03AB
-\global\lccode"03CC="03CC \global\uccode"03CC="039F
-\global\lccode"03CD="03CD \global\uccode"03CD="03A5
-\global\lccode"03CE="03CE \global\uccode"03CE="03A9
-\global\lccode"03D0="03D0 \global\uccode"03D0="0392
-\global\lccode"03D1="03D1 \global\uccode"03D1="0398
-\global\lccode"03D2="03C5 \global\uccode"03D2="03A5
-\global\lccode"03D3="03CD \global\uccode"03D3="03A5
-\global\lccode"03D4="03CB \global\uccode"03D4="03AB
-\global\lccode"03D5="03C6 \global\uccode"03D5="03A6
-\global\lccode"03D6="03C0 \global\uccode"03D6="03A0
-\global\lccode"03DA="03DB \global\uccode"03DA="03DA
-\global\lccode"03DB="03DB \global\uccode"03DB="03DA
-\global\lccode"03DC="03DD \global\uccode"03DC="03DC
-\global\lccode"03DD="03DD \global\uccode"03DD="03DC
-\global\lccode"03DE="03DF \global\uccode"03DE="03DE
-\global\lccode"03DF="03DF \global\uccode"03DF="03DE
-\global\lccode"03E0="03E1 \global\uccode"03E0="039A
-\global\lccode"03E0="03E1 \global\uccode"03E1="03A1
-\global\lccode"03F0="03BA \global\uccode"03F0="039A
-\global\lccode"03F1="03C1 \global\uccode"03F1="03A1
-\global\lccode"03F2="03F2 \global\uccode"03F2="03F9
-\global\lccode"03F9="03F2 \global\uccode"03F9="03F9
-\global\lccode"1F00="1F00 \global\uccode"1F00="0391
-\global\lccode"1F01="1F01 \global\uccode"1F01="0391
-\global\lccode"1F02="1F02 \global\uccode"1F02="0391
-\global\lccode"1F03="1F03 \global\uccode"1F03="0391
-\global\lccode"1F04="1F04 \global\uccode"1F04="0391
-\global\lccode"1F05="1F05 \global\uccode"1F05="0391
-\global\lccode"1F06="1F06 \global\uccode"1F06="0391
-\global\lccode"1F07="1F07 \global\uccode"1F07="0391
-\global\lccode"1F08="1F00 \global\uccode"1F08="0391
-\global\lccode"1F09="1F01 \global\uccode"1F09="0391
-\global\lccode"1F0A="1F02 \global\uccode"1F0A="0391
-\global\lccode"1F0B="1F03 \global\uccode"1F0B="0391
-\global\lccode"1F0C="1F04 \global\uccode"1F0C="0391
-\global\lccode"1F0D="1F05 \global\uccode"1F0D="0391
-\global\lccode"1F0E="1F06 \global\uccode"1F0E="0391
-\global\lccode"1F0F="1F07 \global\uccode"1F0F="0391
-\global\lccode"1F10="1F10 \global\uccode"1F10="0395
-\global\lccode"1F11="1F11 \global\uccode"1F11="0395
-\global\lccode"1F12="1F12 \global\uccode"1F12="0395
-\global\lccode"1F13="1F13 \global\uccode"1F13="0395
-\global\lccode"1F14="1F14 \global\uccode"1F14="0395
-\global\lccode"1F15="1F15 \global\uccode"1F15="0395
-\global\lccode"1F18="1F10 \global\uccode"1F18="0395
-\global\lccode"1F19="1F11 \global\uccode"1F19="0395
-\global\lccode"1F1A="1F12 \global\uccode"1F1A="0395
-\global\lccode"1F1B="1F13 \global\uccode"1F1B="0395
-\global\lccode"1F1C="1F14 \global\uccode"1F1C="0395
-\global\lccode"1F1D="1F15 \global\uccode"1F1D="0395
-\global\lccode"1F20="1F20 \global\uccode"1F20="0397
-\global\lccode"1F21="1F21 \global\uccode"1F21="0397
-\global\lccode"1F22="1F22 \global\uccode"1F22="0397
-\global\lccode"1F23="1F23 \global\uccode"1F23="0397
-\global\lccode"1F24="1F24 \global\uccode"1F24="0397
-\global\lccode"1F25="1F25 \global\uccode"1F25="0397
-\global\lccode"1F26="1F26 \global\uccode"1F26="0397
-\global\lccode"1F27="1F27 \global\uccode"1F27="0397
-\global\lccode"1F28="1F20 \global\uccode"1F28="0397
-\global\lccode"1F29="1F21 \global\uccode"1F29="0397
-\global\lccode"1F2A="1F22 \global\uccode"1F2A="0397
-\global\lccode"1F2B="1F23 \global\uccode"1F2B="0397
-\global\lccode"1F2C="1F24 \global\uccode"1F2C="0397
-\global\lccode"1F2D="1F25 \global\uccode"1F2D="0397
-\global\lccode"1F2E="1F26 \global\uccode"1F2E="0397
-\global\lccode"1F2F="1F27 \global\uccode"1F2F="0397
-\global\lccode"1F30="1F30 \global\uccode"1F30="0399
-\global\lccode"1F31="1F31 \global\uccode"1F31="0399
-\global\lccode"1F32="1F32 \global\uccode"1F32="0399
-\global\lccode"1F33="1F33 \global\uccode"1F33="0399
-\global\lccode"1F34="1F34 \global\uccode"1F34="0399
-\global\lccode"1F35="1F35 \global\uccode"1F35="0399
-\global\lccode"1F36="1F36 \global\uccode"1F36="0399
-\global\lccode"1F37="1F37 \global\uccode"1F37="0399
-\global\lccode"1F38="1F30 \global\uccode"1F38="0399
-\global\lccode"1F39="1F31 \global\uccode"1F39="0399
-\global\lccode"1F3A="1F32 \global\uccode"1F3A="0399
-\global\lccode"1F3B="1F33 \global\uccode"1F3B="0399
-\global\lccode"1F3C="1F34 \global\uccode"1F3C="0399
-\global\lccode"1F3D="1F35 \global\uccode"1F3D="0399
-\global\lccode"1F3E="1F36 \global\uccode"1F3E="0399
-\global\lccode"1F3F="1F37 \global\uccode"1F3F="0399
-\global\lccode"1F40="1F40 \global\uccode"1F40="039F
-\global\lccode"1F41="1F41 \global\uccode"1F41="039F
-\global\lccode"1F42="1F42 \global\uccode"1F42="039F
-\global\lccode"1F43="1F43 \global\uccode"1F43="039F
-\global\lccode"1F44="1F44 \global\uccode"1F44="039F
-\global\lccode"1F45="1F45 \global\uccode"1F45="039F
-\global\lccode"1F48="1F40 \global\uccode"1F48="039F
-\global\lccode"1F49="1F41 \global\uccode"1F49="039F
-\global\lccode"1F4A="1F42 \global\uccode"1F4A="039F
-\global\lccode"1F4B="1F43 \global\uccode"1F4B="039F
-\global\lccode"1F4C="1F44 \global\uccode"1F4C="039F
-\global\lccode"1F4D="1F45 \global\uccode"1F4D="039F
-\global\lccode"1F50="1F50 \global\uccode"1F50="03A5
-\global\lccode"1F51="1F51 \global\uccode"1F51="03A5
-\global\lccode"1F52="1F52 \global\uccode"1F52="03A5
-\global\lccode"1F53="1F53 \global\uccode"1F53="03A5
-\global\lccode"1F54="1F54 \global\uccode"1F54="03A5
-\global\lccode"1F55="1F55 \global\uccode"1F55="03A5
-\global\lccode"1F56="1F56 \global\uccode"1F56="03A5
-\global\lccode"1F57="1F57 \global\uccode"1F57="03A5
-\global\lccode"1F59="1F51 \global\uccode"1F59="03A5
-\global\lccode"1F5B="1F53 \global\uccode"1F5B="03A5
-\global\lccode"1F5D="1F55 \global\uccode"1F5D="03A5
-\global\lccode"1F5F="1F57 \global\uccode"1F5F="03A5
-\global\lccode"1F60="1F60 \global\uccode"1F60="03A9
-\global\lccode"1F61="1F61 \global\uccode"1F61="03A9
-\global\lccode"1F62="1F62 \global\uccode"1F62="03A9
-\global\lccode"1F63="1F63 \global\uccode"1F63="03A9
-\global\lccode"1F64="1F64 \global\uccode"1F64="03A9
-\global\lccode"1F65="1F65 \global\uccode"1F65="03A9
-\global\lccode"1F66="1F66 \global\uccode"1F66="03A9
-\global\lccode"1F67="1F67 \global\uccode"1F67="03A9
-\global\lccode"1F68="1F60 \global\uccode"1F68="03A9
-\global\lccode"1F69="1F61 \global\uccode"1F69="03A9
-\global\lccode"1F6A="1F62 \global\uccode"1F6A="03A9
-\global\lccode"1F6B="1F63 \global\uccode"1F6B="03A9
-\global\lccode"1F6C="1F64 \global\uccode"1F6C="03A9
-\global\lccode"1F6D="1F65 \global\uccode"1F6D="03A9
-\global\lccode"1F6E="1F66 \global\uccode"1F6E="03A9
-\global\lccode"1F6F="1F67 \global\uccode"1F6F="03A9
-\global\lccode"1F70="1F70 \global\uccode"1F70="0391
-\global\lccode"1F71="1F71 \global\uccode"1F71="0391
-\global\lccode"1F72="1F72 \global\uccode"1F72="0395
-\global\lccode"1F73="1F73 \global\uccode"1F73="0395
-\global\lccode"1F74="1F74 \global\uccode"1F74="0397
-\global\lccode"1F75="1F75 \global\uccode"1F75="0397
-\global\lccode"1F76="1F76 \global\uccode"1F76="0399
-\global\lccode"1F77="1F77 \global\uccode"1F77="0399
-\global\lccode"1F78="1F78 \global\uccode"1F78="039F
-\global\lccode"1F79="1F79 \global\uccode"1F79="039F
-\global\lccode"1F7A="1F7A \global\uccode"1F7A="03A5
-\global\lccode"1F7B="1F7B \global\uccode"1F7B="03A5
-\global\lccode"1F7C="1F7C \global\uccode"1F7C="03A9
-\global\lccode"1F7D="1F7D \global\uccode"1F7D="03A9
-\global\lccode"1F80="1F80 \global\uccode"1F80="1FBC
-\global\lccode"1F81="1F81 \global\uccode"1F81="1FBC
-\global\lccode"1F82="1F82 \global\uccode"1F82="1FBC
-\global\lccode"1F83="1F83 \global\uccode"1F83="1FBC
-\global\lccode"1F84="1F84 \global\uccode"1F84="1FBC
-\global\lccode"1F85="1F85 \global\uccode"1F85="1FBC
-\global\lccode"1F86="1F86 \global\uccode"1F86="1FBC
-\global\lccode"1F87="1F87 \global\uccode"1F87="1FBC
-\global\lccode"1F88="1F80 \global\uccode"1F88="1FBC
-\global\lccode"1F89="1F81 \global\uccode"1F89="1FBC
-\global\lccode"1F8A="1F82 \global\uccode"1F8A="1FBC
-\global\lccode"1F8B="1F83 \global\uccode"1F8B="1FBC
-\global\lccode"1F8C="1F84 \global\uccode"1F8C="1FBC
-\global\lccode"1F8D="1F85 \global\uccode"1F8D="1FBC
-\global\lccode"1F8E="1F86 \global\uccode"1F8E="1FBC
-\global\lccode"1F8F="1F87 \global\uccode"1F8F="1FBC
-\global\lccode"1F90="1F90 \global\uccode"1F90="1FCC
-\global\lccode"1F91="1F91 \global\uccode"1F91="1FCC
-\global\lccode"1F92="1F92 \global\uccode"1F92="1FCC
-\global\lccode"1F93="1F93 \global\uccode"1F93="1FCC
-\global\lccode"1F94="1F94 \global\uccode"1F94="1FCC
-\global\lccode"1F95="1F95 \global\uccode"1F95="1FCC
-\global\lccode"1F96="1F96 \global\uccode"1F96="1FCC
-\global\lccode"1F97="1F97 \global\uccode"1F97="1FCC
-\global\lccode"1F98="1F90 \global\uccode"1F98="1FCC
-\global\lccode"1F99="1F91 \global\uccode"1F99="1FCC
-\global\lccode"1F9A="1F92 \global\uccode"1F9A="1FCC
-\global\lccode"1F9B="1F93 \global\uccode"1F9B="1FCC
-\global\lccode"1F9C="1F94 \global\uccode"1F9C="1FCC
-\global\lccode"1F9D="1F95 \global\uccode"1F9D="1FCC
-\global\lccode"1F9E="1F96 \global\uccode"1F9E="1FCC
-\global\lccode"1F9F="1F97 \global\uccode"1F9F="1FCC
-\global\lccode"1FA0="1FA0 \global\uccode"1FA0="1FFC
-\global\lccode"1FA1="1FA1 \global\uccode"1FA1="1FFC
-\global\lccode"1FA2="1FA2 \global\uccode"1FA2="1FFC
-\global\lccode"1FA3="1FA3 \global\uccode"1FA3="1FFC
-\global\lccode"1FA4="1FA4 \global\uccode"1FA4="1FFC
-\global\lccode"1FA5="1FA5 \global\uccode"1FA5="1FFC
-\global\lccode"1FA6="1FA6 \global\uccode"1FA6="1FFC
-\global\lccode"1FA7="1FA7 \global\uccode"1FA7="1FFC
-\global\lccode"1FA8="1FA0 \global\uccode"1FA8="1FFC
-\global\lccode"1FA9="1FA1 \global\uccode"1FA9="1FFC
-\global\lccode"1FAA="1FA2 \global\uccode"1FAA="1FFC
-\global\lccode"1FAB="1FA3 \global\uccode"1FAB="1FFC
-\global\lccode"1FAC="1FA4 \global\uccode"1FAC="1FFC
-\global\lccode"1FAD="1FA5 \global\uccode"1FAD="1FFC
-\global\lccode"1FAE="1FA6 \global\uccode"1FAE="1FFC
-\global\lccode"1FAF="1FA7 \global\uccode"1FAF="1FFC
-\global\lccode"1FB0="1FB0 \global\uccode"1FB0="1FB8
-\global\lccode"1FB1="1FB1 \global\uccode"1FB1="1FB9
-\global\lccode"1FB2="1FB2 \global\uccode"1FB2="1FBC
-\global\lccode"1FB3="1FB3 \global\uccode"1FB3="1FBC
-\global\lccode"1FB4="1FB4 \global\uccode"1FB4="1FBC
-\global\lccode"1FB6="1FB6 \global\uccode"1FB6="0391
-\global\lccode"1FB7="1FB7 \global\uccode"1FB7="1FBC
-\global\lccode"1FB8="1FB0 \global\uccode"1FB8="1FB8
-\global\lccode"1FB9="1FB1 \global\uccode"1FB9="1FB9
-\global\lccode"1FBA="1F70 \global\uccode"1FBA="0391
-\global\lccode"1FBB="1F71 \global\uccode"1FBB="0391
-\global\lccode"1FBC="1FB3 \global\uccode"1FBC="1FBC
-\global\lccode"1FBD="1FBD \global\uccode"1FBD="1FBD
-\global\lccode"1FC2="1FC2 \global\uccode"1FC2="1FCC
-\global\lccode"1FC3="1FC3 \global\uccode"1FC3="1FCC
-\global\lccode"1FC4="1FC4 \global\uccode"1FC4="1FCC
-\global\lccode"1FC6="1FC6 \global\uccode"1FC6="0397
-\global\lccode"1FC7="1FC7 \global\uccode"1FC7="1FCC
-\global\lccode"1FC8="1F72 \global\uccode"1FC8="0395
-\global\lccode"1FC9="1F73 \global\uccode"1FC9="0395
-\global\lccode"1FCA="1F74 \global\uccode"1FCA="0397
-\global\lccode"1FCB="1F75 \global\uccode"1FCB="0397
-\global\lccode"1FCC="1FC3 \global\uccode"1FCC="1FCC
-\global\lccode"1FD0="1FD0 \global\uccode"1FD0="1FD8
-\global\lccode"1FD1="1FD1 \global\uccode"1FD1="1FD9
-\global\lccode"1FD2="1FD2 \global\uccode"1FD2="03AA
-\global\lccode"1FD3="1FD3 \global\uccode"1FD3="03AA
-\global\lccode"1FD6="1FD6 \global\uccode"1FD6="0399
-\global\lccode"1FD7="1FD7 \global\uccode"1FD7="03AA
-\global\lccode"1FD8="1FD0 \global\uccode"1FD8="1FD8
-\global\lccode"1FD9="1FD1 \global\uccode"1FD9="1FD9
-\global\lccode"1FDA="1F76 \global\uccode"1FDA="0399
-\global\lccode"1FDB="1F77 \global\uccode"1FDB="0399
-\global\lccode"1FE0="1FE0 \global\uccode"1FE0="1FE8
-\global\lccode"1FE1="1FE1 \global\uccode"1FE1="1FE9
-\global\lccode"1FE2="1FE2 \global\uccode"1FE2="03AB
-\global\lccode"1FE3="1FE3 \global\uccode"1FE3="03AB
-\global\lccode"1FE4="1FE4 \global\uccode"1FE4="03A1
-\global\lccode"1FE5="1FE5 \global\uccode"1FE5="1FEC
-\global\lccode"1FE6="1FE6 \global\uccode"1FE6="03A5
-\global\lccode"1FE7="1FE7 \global\uccode"1FE7="03AB
-\global\lccode"1FE8="1FE0 \global\uccode"1FE8="1FE8
-\global\lccode"1FE9="1FE1 \global\uccode"1FE9="1FE9
-\global\lccode"1FEA="1F7A \global\uccode"1FEA="03A5
-\global\lccode"1FEB="1F7B \global\uccode"1FEB="03A5
-\global\lccode"1FEC="1FE5 \global\uccode"1FEC="1FEC
-\global\lccode"1FF2="1FF2 \global\uccode"1FF2="1FFC
-\global\lccode"1FF3="1FF3 \global\uccode"1FF3="1FFC
-\global\lccode"1FF4="1FF4 \global\uccode"1FF4="1FFC
-\global\lccode"1FF6="1FF6 \global\uccode"1FF6="03A9
-\global\lccode"1FF7="1FF7 \global\uccode"1FF7="1FFC
-\global\lccode"1FF8="1F78 \global\uccode"1FF8="039F
-\global\lccode"1FF9="1F79 \global\uccode"1FF9="039F
-\global\lccode"1FFA="1F7C \global\uccode"1FFA="03A9
-\global\lccode"1FFB="1F7D \global\uccode"1FFB="03A9
-\global\lccode"1FFC="1FF3 \global\uccode"1FFC="1FFC
+% this file imported from xgreek fixes the \lccode and \uccode of Greek letters:
+\input{xgreek-fixes.def}
+%TODO: set these in \define@key instead:
\ifx\l@greek\@undefined
- \ifx\l@polygreek\@undefined
- \xpg@nopatterns{Greek}
- \adddialect\l@greek\l@nohyphenation
- \else
- \let\l@greek\l@polygreek
- \fi
+ \ifx\l@polygreek\@undefined
+ \xpg@nopatterns{Greek}%
+ \adddialect\l@greek\l@nohyphenation
+ \else
+ \let\l@greek\l@polygreek
+ \fi
\fi
\ifx\l@monogreek\@undefined
- \xpg@warning{No hyphenation patterns were loaded for Monotonic Greek\MessageBreak
+ \xpg@warning{No hyphenation patterns were loaded for Monotonic Greek\MessageBreak
I will use the patterns loaded for \string\l@greek instead}
- \adddialect\l@monogreek\l@greek
+ \adddialect\l@monogreek\l@greek
\fi
\ifx\l@ancientgreek\@undefined
- \xpg@warning{No hyphenation patterns were loaded for Ancient Greek\MessageBreak
+ \xpg@warning{No hyphenation patterns were loaded for Ancient Greek\MessageBreak
I will use the patterns loaded for \string\l@greek instead}
- \adddialect\l@ancientgreek\l@greek
+ \adddialect\l@ancientgreek\l@greek
\fi
%set monotonic as default
@@ -345,40 +50,29 @@
\def\tmp@ancientgreek{ancientgreek}
\define@key{greek}{variant}[monotonic]{%
-\def\@tmpa{#1}%
-\def\captionsgreek{\polygreekcaptions}%
-\ifx\@tmpa\tmp@polytonic%
- \def\greek@variant{\l@polygreek}%
- \def\captionsgreek{\polygreekcaptions}%
- \def\dategreek{\datepolygreek}%
- \xpg@info{Option: Polytonic Greek}%
-\else%
- \ifx\@tmpa\tmp@poly%
- \def\greek@variant{\l@polygreek}%
- \def\captionsgreek{\polygreekcaptions}%
- \def\dategreek{\datepolygreek}%
- \xpg@info{Option: Polytonic Greek}%
- \else%
- \ifx\@tmpa\tmp@ancient%
- \def\greek@variant{\l@ancientgreek}%
- \def\captionsgreek{\ancientgreekcaptions}%
- \def\dategreek{\dateancientgreek}%
- \xpg@info{Option: Ancient Greek}%
- \else%
- \ifx\@tmpa\tmp@ancientgreek%
- \def\greek@variant{\l@ancientgreek}%
- \def\captionsgreek{\ancientgreekcaptions}%
- \def\dategreek{\dateancientgreek}%
- \xpg@info{Option: Ancient Greek}%
- \else%
- \def\greek@variant{\l@monogreek}% monotonic
- \def\captionsgreek{\monogreekcaptions}%
- \def\dategreek{\datemonogreek}%
- \xpg@info{Option: Monotonic Greek}%
- \fi%
- \fi%
- \fi%
-\fi}
+ \def\@tmpa{#1}%
+ \ifx\@tmpa\tmp@poly\def\@tmpa{polytonic}\fi
+ \ifx\@tmpa\tmp@ancientgreek\def\@tmpa{ancient}\fi
+ \ifx\@tmpa\tmp@polytonic%
+ \def\greek@variant{\l@polygreek}%
+ \def\captionsgreek{\polygreekcaptions}%
+ \def\dategreek{\datepolygreek}%
+ \xpg@info{Option: Polytonic Greek}%
+ \else
+ \ifx\@tmpa\tmp@ancient
+ \def\greek@variant{\l@ancientgreek}%
+ \def\captionsgreek{\ancientgreekcaptions}%
+ \def\dategreek{\dateancientgreek}%
+ \xpg@info{Option: Ancient Greek}%
+ \else %monotonic
+ \def\greek@variant{\l@monogreek}% monotonic
+ \def\captionsgreek{\monogreekcaptions}%
+ \def\dategreek{\datemonogreek}%
+ \xpg@info{Option: Monotonic Greek}%
+ \fi
+ \fi}
+
+\def\greek@language{\language=\greek@variant}
\def\tmp@arabic{arabic}
\newif\if@greek@numerals
@@ -417,6 +111,7 @@
\def\headtoname{Προς}%
\def\proofname{Απόδειξη}%
\def\glossaryname{Γλωσσάρι}}%
+
\def\datemonogreek{%
\def\today{\number\day\space%
\greek@month%
@@ -440,6 +135,7 @@
Οκτωβρίου\or
Νοεμβρίου\or
Δεκεμβρίου\fi}}%
+
\def\polygreekcaptions{%
\def\refname{Ἀναφορές}%
\def\abstractname{Περίληψη}%
@@ -461,6 +157,7 @@
\def\ccname{Κοινοποίηση}%
\def\headtoname{Πρὸς}%
\def\proofname{Ἀπόδειξη}}%
+
\def\datepolygreek{%
\def\today{\number\day\space%
\greek@month%
@@ -484,6 +181,7 @@
Ὀκτωβρίου\or
Νοεμβρίου\or
Δεκεμβρίου\fi}}%
+
% this is copied verbatim from xgreek.sty:
\def\ancientgreekcaptions{%
\def\prefacename{Προοίμιον}%
@@ -511,6 +209,7 @@
\def\indexname{Εὑρετήριο}%
\def\figurename{Σχῆμα}%
\def\headtoname{Πρὸς}}%
+
\def\dateancientgreek{%
\def\today{\number\day\space%
\greek@month%
@@ -653,37 +352,5 @@
\let\greek@Alph\@undefined%
}
-\def\greek@language{\language=\greek@variant}
-
-\def\greek@font{%
- \@ifundefined{greekfont}{%
- \normalfontlatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@script{grek}%
- \if@tempswa%
- \addfontfeature{Script=Greek}%
- \else%
- \PackageError{polyglossia}{^^J
- The current font does not contain the Greek script!^^J
- Please define \string\greekfont\space with \string\newfontfamily}%
- \fi%
- }%
- {\greekfont}}
-
-\def\selectnormalfontgreek{%
- \let\normalfont=\greek@font%
- \def\reset@font{\normalfont}}
-
-\setlocalhyphenmins{greek}{2}{2}%
-
-\def\noextras@greek{%
- \nofrench@indent%
- }
-
-\def\blockextras@greek{%
- \frenchspacing%
- \french@indent%
- }
-
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-hebrew.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-hebrew.ldf
index bcf860ad2ee..b5766d59060 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-hebrew.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-hebrew.ldf
@@ -3,12 +3,15 @@
\RequirePackage{hebrewcal}
\makeatletter
-\ifx\l@hebrew\@undefined
- %\xpg@nopatterns{Hebrew}%
- \adddialect\l@hebrew\l@nohyphenation
-\fi
-
-\def\hebrew@RL{\relax}
+\PolyglossiaSetup{hebrew}{
+ script=Hebrew,
+ direction=RL,
+ scripttag=hebr,
+ hyphennames={nohyphenation},
+ fontsetup=true,
+ %TODO localalph={hebrewnumeral,Hebrewnumeral}
+ %digits = hebrewnumber
+}
\newif\if@calendar@hebrew
\def\tmp@hebrew{hebrew}
@@ -82,7 +85,6 @@
\if@hebrew@numerals
\protect\hebrewnumeral{#1}%
\else
- %%\RL{\protect\reset@font\protect\number#1}%
\number#1%
\fi
}
@@ -108,57 +110,6 @@
\renewcommand\thefootnote{\protect\number{\c@footnote}}%
}
-\def\hebrew@language{\language=\l@hebrew}
-
-\def\hebrew@font{%
- \@ifundefined{hebrewfont}{%
- \normalfontlatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@script{hebr}%
- \if@tempswa
- \addfontfeature{Script=Hebrew}%
- \else
- \PackageError{polyglossia}{^^J
- The current font does not contain the Hebrew script!^^J
- Please define \string\hebrewfont\space with \string\newfontfamily}%
- \fi}%
- {\hebrewfont}%
-}
-
-% TODO add setup to define Sans and Mono Hebrew fonts if desired
-\def\hebrew@font@sf{%
- \@ifundefined{hebrewfontsf}{%
-% \sffamilylatin% FIXME
-% \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
-% \zf@check@ot@script{arab}%
-% \if@tempswa%
-% \addfontfeature{Script=Hebrew}%
-% \else%
- \hebrew@font%
-% \fi%
- }%
- {\hebrewfontsf}%
-}
-\def\hebrew@font@tt{%
- \@ifundefined{hebrewfonttt}{%
-% \ttfamilylatin% FIXME
-% \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
-% \zf@check@ot@script{arab}%
-% \if@tempswa%
-% \addfontfeature{Script=Hebrew}%
-% \else%
- \hebrew@font%
-% \fi%
- }%
- {\hebrewfonttt}%
-}
-\def\selectnormalfonthebrew{%
- \let\normalfont=\hebrew@font%
- \let\rmfamily=\hebrew@font%
- \let\sffamily=\hebrew@font@sf%
- \let\ttfamily=\hebrew@font@tt%
- \def\reset@font{\normalfont}}
-
\def\blockextras@hebrew{%
\let\@@MakeUppercase\MakeUppercase%
\def\MakeUppercase##1{##1}%
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-hindi.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-hindi.ldf
index 8f3772591a1..2ad5716ba0c 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-hindi.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-hindi.ldf
@@ -1,18 +1,50 @@
-\ProvidesFile{gloss-hindi.ldf}[polyglossia: module for hindi]
% UTF-8 strings kindly provided by Zdenek Wagner, 10-03-2008
% TODO: add option for velthuis transliteration with link to
% Velthuis Devanagari project: http://devnag.sarovar.org.
+
+\ProvidesFile{gloss-hindi.ldf}[polyglossia: module for hindi]
+\RequirePackage{devanagaridigits}
\makeatletter
+\PolyglossiaSetup{hindi}{
+ script=Devanagari,
+ scripttag=deva,
+ langtag=HIN,
+%% hyphennames={hindi,!sanskrit}, TODO: implement fallback patterns (with ! prefix)
+ fontsetup=true
+ %TODO nouppercase=true,
+ %TODO localnumber=hindinumber
+}
\ifx\l@hindi\@undefined%
\ifx\l@sanskrit\@undefined%
\xpg@nopatterns{Hindi}%
\adddialect\l@hindi\l@nohyphenation%
\else
- \let\l@hindi\l@sanskrit%
+ \xpg@warning{No hyphenation patterns were loaded for Hindi\MessageBreak
+ I will use the patterns for Sanskrit instead}
+ \adddialect\l@hindi\l@sanskrit%
\fi
\fi
+\def\hindi@language{\language=\l@hindi}
+
+\def\tmp@western{Western}
+\newif\ifhindi@devanagari@numerals
+\hindi@devanagari@numeralstrue
+
+\define@key{hindi}{numerals}[Devanagari]{%
+ \def\@tmpa{#1}%
+ \ifx\@tmpa\tmp@western
+ \hindi@devanagari@numeralsfalse
+ \fi}
+
+\def\hindinumber#1{%
+ \ifhindi@devanagari@numerals
+ \devanagaridigits{\number#1}%
+ \else
+ \number#1%
+ \fi}
+
\def\captionshindi{%
\def\abstractname{सारांश}%
\def\appendixname{परिशिष्ट}%
@@ -40,61 +72,28 @@
\def\alsoseename{और देखिए}%
}
\def\datehindi{%
- \def\today{\number\day\space\ifcase\month\or
- जनवरी\or
- फ़रवरी\or
- मार्च\or
- अपरैल\or
- मई\or
- जून\or
- जलाई\or
- अगस्त\or
- सितम्बर\or
- अक्तूबर\or
- नवम्बर\or
- दिसम्बर\fi
- \space\number\year}%
-}
-
-\def\hindi@language{\language=\l@hindi}
-
-\def\hindi@font{%
- \@ifundefined{hindifont}{%
- \normalfontlatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \@ifundefined{devanagarifont}{%
- \zf@check@ot@script{deva}%
- \if@tempswa%
- \addfontfeature{Script=Devanagari}%
- \else%
- \PackageError{polyglossia}{^^J
- The current font does not contain the Devanagari script!^^J
- Please define \string\devanagarifont\space or \string\hindifont\space with \string\newfontfamily}%
- \fi%
- \zf@check@ot@lang{HIN}%
- \if@tempswa\addfontfeature{Language=Hindi}\fi%
- }%
- {\devanagarifont%
- \zf@check@ot@lang{HIN}%
- \if@tempswa\addfontfeature{Language=Hindi}\fi%
- }}%
- {\hindifont}%
+ \def\today{\hindinumber\day\space\ifcase\month\or
+ जनवरी\or
+ फ़रवरी\or
+ मार्च\or
+ अपरैल\or
+ मई\or
+ जून\or
+ जलाई\or
+ अगस्त\or
+ सितम्बर\or
+ अक्तूबर\or
+ नवम्बर\or
+ दिसम्बर\fi
+ \space\hindinumber\year}%
}
-\def\selectnormalfonthindi{%
- \let\normalfont=\hindi@font%
- \let\rmfamily=\hindi@font%
- % TODO add setup to define Sans and Mono fonts if desired
- \let\sffamily=\hindi@font%
- \let\ttfamily=\hindi@font%
- \def\reset@font{\normalfont}}
-
\def\blockextras@hindi{%
- \let\@@MakeUppercase\MakeUppercase%
- \def\MakeUppercase##1{##1}%
- }
+ \let\@@MakeUppercase\MakeUppercase%
+ \def\MakeUppercase##1{##1}%
+}
\def\noextras@hindi{%
- \let\MakeUppercase\@@MakeUppercase%
- }
+ \let\MakeUppercase\@@MakeUppercase%
+}
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-icelandic.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-icelandic.ldf
index 09b8f31d586..488ee06dd13 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-icelandic.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-icelandic.ldf
@@ -1,11 +1,10 @@
\ProvidesFile{gloss-icelandic.ldf}[polyglossia: module for icelandic]
\makeatletter
-\def\icelandic@font{\selectfontfamilylatin}
-
-\ifx\l@icelandic\@undefined%
- \xpg@nopatterns{Icelandic}%
- \adddialect\l@icelandic\l@nohyphenation%
-\fi
+\PolyglossiaSetup{icelandic}{
+ hyphennames={icelandic},
+ hyphenmins={2,2},
+ fontsetup=true,
+}
\def\captionsicelandic{%
\def\refname{Heimildir}%
@@ -31,6 +30,7 @@
\def\proofname{Sönnun}%
\def\glossaryname{Orðalisti}%
}
+
\def\dateicelandic{%
\def\today{\number\day.~\ifcase\month\or
janúar\or febrúar\or mars\or apríl\or maí\or
@@ -39,14 +39,10 @@
\space\number\year}%
}
-\def\icelandic@language{\language=\l@icelandic}
-
-\setlocalhyphenmins{icelandic}{2}{2}%
-
\endinput
-%% implement this as a separate module ?
+%%TODO: implement this as a separate module ?
%\mathchardef\m@comma="013B
%\def\@comma@{\ifmmode\m@comma\else,\fi}
%\def\f@thousandsep{\ifmmode\mskip5.5mu\else\penalty\@M\kern.3em\fi}
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-interlingua.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-interlingua.ldf
index 4a209593adc..082d4ae3304 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-interlingua.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-interlingua.ldf
@@ -1,10 +1,12 @@
\ProvidesFile{gloss-interlingua.ldf}[polyglossia: module for interlingua]
\makeatletter
-
-\ifx\l@interlingua\@undefined%
- \xpg@nopatterns{Interlingua}%
- \adddialect\l@interlingua\l@nohyphenation%
-\fi
+\PolyglossiaSetup{interlingua}{
+ hyphennames={interlingua},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ indentfirst=true,
+ fontsetup=true,
+}
\def\captionsinterlingua{%
\def\refname{Referentias}%
@@ -37,8 +39,4 @@
decembre\fi
\space \number\year}}
-\def\interlingua@language{\language=\l@interlingua}
-
-\setlocalhyphenmins{interlingua}{2}{2}%
-
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-irish.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-irish.ldf
index cbe5ec9e851..16c52abe34e 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-irish.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-irish.ldf
@@ -1,11 +1,10 @@
\ProvidesFile{gloss-irish.ldf}[polyglossia: module for irish]
\makeatletter
-\def\irish@font{\selectfontfamilylatin}
-
-\ifx\l@irish\@undefined%
- \xpg@nopatterns{Irish}%
- \adddialect\l@irish\l@nohyphenation%
-\fi
+\PolyglossiaSetup{irish}{
+ hyphennames={irish},
+ hyphenmins={2,2},
+ fontsetup=true,
+}
\def\captionsirish{%
\def\refname{Tagairtí}%
@@ -41,8 +40,4 @@
Mí na Samhna\or Mí na Nollag\fi
\space \number\year}}
-\def\irish@language{\language=\l@irish}
-
-\setlocalhyphenmins{irish}{2}{2}%
-
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-italian.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-italian.ldf
index f8620e655d1..8063478b452 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-italian.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-italian.ldf
@@ -1,11 +1,12 @@
\ProvidesFile{gloss-italian.ldf}[polyglossia: module for italian]
\makeatletter
-\def\italian@font{\selectfontfamilylatin}
-
-\ifx\l@italian\@undefined
- \xpg@nopatterns{Italian}
- \adddialect\l@italian\l@nohyphenation
-\fi
+\PolyglossiaSetup{italian}{
+ hyphennames={italian},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ indentfirst=true,
+ fontsetup=true,
+}
\def\captionsitalian{%
\def\prefacename{Prefazione}%
@@ -34,21 +35,15 @@
\def\today{\number\day~\ifcase\month\or
gennaio\or febbraio\or marzo\or aprile\or maggio\or giugno\or
luglio\or agosto\or settembre\or ottobre\or novembre\or
- dicembre\fi\space \number\year}
-}
-
-\def\italian@language{\language=\l@italian}
-
-\setlocalhyphenmins{italian}{2}{2}%
+ dicembre\fi\space \number\year}}
\def\noextras@italian{%
- \lccode"2019=0%
- \nofrench@indent}
+ \lccode"2019=\z@
+ }
\def\blockextras@italian{%
\lccode"2019="2019
%TODO ? \clubpenalty3000\widowpenalty3000\finalhyphendemerits50000000 << in Babel
- \french@indent%
}
\def\inlineextras@italian{%
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-lao.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-lao.ldf
new file mode 100644
index 00000000000..fb1baf4b9e5
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-lao.ldf
@@ -0,0 +1,91 @@
+\ProvidesFile{gloss-lao.ldf}[polyglossia: module for Lao]
+\makeatletter
+\PolyglossiaSetup{lao}{
+ script=Lao,
+ scripttag=lao,
+ hyphennames={lao},
+ hyphenmins={1,1},
+ fontsetup=true,
+ %TODO localalph={xxx@alph,xxx@Alph}
+ %TODO localdigits=laonumber
+}
+
+\newif\if@lao@numerals
+\def\tmp@lao{lao}
+\define@key{lao}{numerals}[arabic]{%
+ \def\@tmpa{#1}%
+ \ifx\@tmpa\tmp@lao\@lao@numeralstrue\else
+ \@lao@numeralsfalse\fi
+}
+
+\setkeys{lao}{numerals}
+
+% Translations provided by Brian Wilson <bountonw at gmail.com>
+\def\captionslao{%
+ \def\prefacename{ຄໍານໍາ}%
+ \def\refname{ໜັງສືອ້າງອີງ}%
+ \def\abstractname{ບົດຫຍໍ້ຄວາມ}%
+ \def\bibname{ເອກະສານອ້າງອີງ}%
+ \def\chaptername{ບົດທີ}%
+ \def\appendixname{ພາກຄັດຕິດ}%
+ \def\contentsname{ສາລະບານ}%
+ \def\listfigurename{ສາລະບານຮູບ}%
+ \def\listtablename{ສາລະບານຕາຕະລາງ}%
+ \def\indexname{ດັດຊະນີ}%
+ \def\figurename{ຮູບທີ}%
+ \def\tablename{ຕາຕະລາງທີ}%
+ \def\partname{ພາກ}%
+ \def\pagename{ໜ້າ}%
+ \def\seename{ອ່ານ}%
+ \def\alsoname{ອ່ານເພີ່ມ}%
+ \def\enclname{ເອກະສານປະກອບ}%
+ \def\ccname{ສໍາເນົາເຖິງ}%
+ \def\headtoname{ຮຽນ}%
+ \def\proofname{ຂໍ້ພິສູດ}%
+ \def\glossaryname{ປະມວນສັບ}%
+}
+\def\datelao{%
+ \def\lao@month{%
+ \ifcase\month\or
+ ມັງກອນ\or
+ ກຸມພາ\or
+ ມີນາ\or
+ ເມສາ\or
+ ພຶດສະພາ\or
+ ມິຖຸນາ\or
+ ກໍລະກົດ\or
+ ສິງຫາ\or
+ ກັນຍາ\or
+ ຕຸລາ\or
+ ພະຈິກ\or
+ ທັນວາ\fi}%
+ \def\today{\laonumber\day \space \lao@month \space \laonumber\year}%
+}
+
+\def\laodigits#1{\expandafter\@lao@digits #1@}
+\def\@lao@digits#1{%
+ \ifx @#1% then terminate
+ \else
+ \ifx0#1໐\else\ifx1#1໑\else\ifx2#1໒\else\ifx3#1໓\else\ifx4#1໔\else\ifx5#1໕\else\ifx6#1໖\else\ifx7#1໗\else\ifx8#1໘\else\ifx9#1໙\else#1\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ \expandafter\@lao@digits
+ \fi
+}
+
+\def\laonumber#1{%
+ \if@lao@numerals
+ \laodigits{\number#1}%
+ \else
+ \number#1%
+ \fi}
+
+\def\lao@globalnumbers{%
+ \let\orig@arabic\@arabic%
+ \let\@arabic\laonumber%
+ \renewcommand{\thefootnote}{\protect\laonumber{\c@footnote}}%
+}
+\def\nolao@globalnumbers{%
+ \let\@arabic\orig@arabic%
+ \renewcommand\thefootnote{\protect\number{\c@footnote}}%
+}
+
+\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-latin.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-latin.ldf
index 871af43e1c7..d2f8dfaad41 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-latin.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-latin.ldf
@@ -1,11 +1,11 @@
\ProvidesFile{gloss-latin.ldf}[polyglossia: module for latin]
\makeatletter
-\def\latin@font{\selectfontfamilylatin}
-
-\ifx\l@latin\@undefined
- \xpg@nopatterns{latin}
- \adddialect\l@latin\l@nohyphenation
-\fi
+\PolyglossiaSetup{latin}{
+ hyphennames={latin},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ fontsetup=true,
+}
\def\captionslatin{%
\def\prefacename{Praefatio}%
@@ -38,20 +38,4 @@
Decembris\fi%
\space \uppercase\expandafter{\romannumeral\year}}}
-\def\latin@language{\language=\l@latin}
-
-\setlocalhyphenmins{latin}{2}{2}%
-
-\def\noextras@latin{%
- \nonfrenchspacing%
-}
-
-\def\blockextras@latin{%
- \frenchspacing%
-}
-
-\def\inlineextras@latin{%
- \frenchspacing%
-}
-
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-latvian.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-latvian.ldf
index beeba264ca5..6f0bd0f345f 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-latvian.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-latvian.ldf
@@ -1,11 +1,10 @@
\ProvidesFile{gloss-latvian.ldf}[polyglossia: module for latvian]
\makeatletter
-\def\latvian@font{\selectfontfamilylatin}
-
-\ifx\l@latvian\@undefined
- \xpg@nopatterns{Latvian}
- \adddialect\l@latvian\l@nohyphenation\relax
-\fi
+\PolyglossiaSetup{latvian}{
+ hyphennames={latvian},
+ hyphenmins={2,2},
+ fontsetup=true,
+}
\def\captionslatvian{%
\def\prefacename{Priekšvārds}%
@@ -39,8 +38,4 @@
jūlijā\or augustā\or septembrī\or%
oktobrī\or novembrī\or decembrī\fi}}
-\def\latvian@language{\language=\l@latvian}
-
-\setlocalhyphenmins{latvian}{2}{2}%
-
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-lithuanian.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-lithuanian.ldf
index ecfb61d68b3..f1bc9344610 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-lithuanian.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-lithuanian.ldf
@@ -1,67 +1,64 @@
% 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]
-\makeatletter
-
-\ifx\l@lithuanian\@undefined%
- \xpg@nopatterns{Lithuanian}%
- \adddialect\l@lithuanian\l@nohyphenation\relax
-\fi
+\PolyglossiaSetup{lithuanian}{
+ hyphennames={lithuanian},
+ hyphenmins={2,2},
+ fontsetup=true,
+}
\def\captionslithuanian{%
- \def\refname{\textlithuanian{Literatūra}}%
- \def\abstractname{\textlithuanian{Santrauka}}%
- \def\bibname{\textlithuanian{Literatūra}}%
- \def\prefacename{\textlithuanian{Pratarmė}}%
- \def\chaptername{\textlithuanian{Skyrius}}%
- \def\appendixname{\textlithuanian{Priedas}}%
- \def\contentsname{\textlithuanian{Turinys}}%
- \def\listfigurename{\textlithuanian{Iliustracijų sąrašas}}%
- \def\listtablename{\textlithuanian{Lentelių sąrašas}}%
- \def\indexname{\textlithuanian{Rodyklė}}%
- \def\figurename{\textlithuanian{Pav.}}%
- \def\tablename{\textlithuanian{Lentelė}}%
- %\def\thepart{\textlithuanian{}}% Roman numerals are fine
- \def\partname{\textlithuanian{Dalis}}%
- \def\pagename{\textlithuanian{Puslapis}}%
- \def\seename{\textlithuanian{žiūrėk}}%
- \def\alsoname{\textlithuanian{tai pat}}%
- \def\enclname{\textlithuanian{Įdėta}}%
- \def\ccname{\textlithuanian{Kopijos}}%
- \def\headtoname{\textlithuanian{Kam}}%
- \def\proofname{\textlithuanian{Įrodymas}}%
- \def\glossaryname{\textlithuanian{Terminų žodynas}}%
- }
+ \def\refname{Literatūra}%
+ \def\abstractname{Santrauka}%
+ \def\bibname{Literatūra}%
+ \def\prefacename{Pratarmė}%
+ \def\chaptername{skyrius}%
+ \def\appendixname{Priedas}%
+ \def\contentsname{Turinys}%
+ \def\listfigurename{Iliustracijų sąrašas}%
+ \def\listtablename{Lentelių sąrašas}%
+ \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}%
+ \def\alsoname{taip pat}%
+ \def\enclname{Įdėta}%
+ \def\ccname{Kopijos}%
+ \def\headtoname{Kam}%
+ \def\proofname{Įrodymas}%
+ \def\glossaryname{Terminų žodynas}%
+}
\def\datelithuanian{%
- \def\lithuanianmonth{\ifcase\month\or%
- sausio\or% Jan
- vasario\or% Feb
- kovo\or% Mar
- balandžio\or% Apr
- gegužės\or% May
- birželio\or% Jun
- liepos\or% Jul
- rugpjūčio\or% Aug
- rugsėjo\or% Sep
- spalio\or% Oct
- lapkričio\or% Nov
- gruodžio% Dec
- \fi}
- \def\today{\textlithuanian{\number\year~m.~\lithuanianmonth~\number\day~d.}}%
- }
-
-\def\lithuanian@font{\selectfontfamilylatin} % <== if the script is Latin
-
-\def\lithuanian@language{\protect\language=\l@lithuanian}
-
-\setlocalhyphenmins{lithuanian}{2}{2}%
-
-\def\noextras@lithuanian{%
- }
+ \def\lithuanianmonth{\ifcase\month\or
+ sausio\or
+ vasario\or
+ kovo\or
+ balandžio\or
+ gegužės\or
+ birželio\or
+ liepos\or
+ rugpjūčio\or
+ rugsėjo\or
+ spalio\or
+ lapkričio\or
+ 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}%
+ \def\fnum@table{\thetable\nobreakspace\tablename}%
+}
-\def\inlineextras@lithuanian{%
- }
+\def\noblockextras@lithuanian{%
+ \let\fnum@figure\fnum@figure@orig
+ \let\fnum@table\fnum@table@orig
+}
+\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-lsorbian.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-lsorbian.ldf
index 8b530ae855c..b0796a26020 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-lsorbian.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-lsorbian.ldf
@@ -1,18 +1,10 @@
\ProvidesFile{gloss-lsorbian.ldf}[polyglossia: module for lower sorbian]
\makeatletter
-\def\lsorbian@font{\selectfontfamilylatin}
-
-\ifx\l@lowersorbian\@undefined
- \ifx\l@lsorbian\@undefined
- \xpg@nopatterns{Lsorbian}
- \adddialect\l@lsorbian\z@
- \let\l@lowersorbian\l@lsorbian
- \else
- \let\l@lowersorbian\l@lsorbian
- \fi
-\else
- \let\l@lsorbian\l@lowersorbian
-\fi
+\PolyglossiaSetup{lsorbian}{
+ hyphennames={lsorbian,lowersorbian,Lsorbian},
+ hyphenmins={2,2},
+ fontsetup=true,
+}
\def\captionslsorbian{%
\def\refname{Referency}%
@@ -51,8 +43,4 @@
godownika\fi\space \number\year}}%
}
-\def\lsorbian@language{\language=\l@lsorbian}
-
-\setlocalhyphenmins{lsorbian}{2}{2}%
-
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-magyar.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-magyar.ldf
index d74b545e439..22fdc5fae8e 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-magyar.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-magyar.ldf
@@ -1,18 +1,10 @@
\ProvidesFile{gloss-magyar.ldf}[polyglossia: module for magyar]
\makeatletter
-\def\magyar@font{\selectfontfamilylatin}
-
-\ifx\l@magyar\@undefined
- \ifx\l@hungarian\@undefined
- \xpg@nopatterns{Magyar}
- \adddialect\l@magyar\l@nohyphenation
- \else
- \let\l@magyar\l@hungarian
- \fi
-\fi
-\ifx\l@hungarian\@undefined
- \let\l@hungarian\l@magyar
-\fi
+\PolyglossiaSetup{magyar}{
+ hyphennames={magyar,hungarian},
+ hyphenmins={2,2},
+ fontsetup=true,
+}
\def\captionsmagyar{%
\def\refname{Hivatkozások}%
@@ -46,7 +38,7 @@
július\or augusztus\or szeptember\or
október\or november\or december\fi
\space\number\day.}%
- \def\ondatemagyar{\textmagyar{%
+ \def\ondatemagyar{%
\number\year.\nobreakspace\ifcase\month\or
január\or február\or március\or
április\or május\or június\or
@@ -59,459 +51,11 @@
16-án\or 17-én\or 18-án\or 19-én\or 20-án\or
21-én\or 22-én\or 23-án\or 24-én\or 25-én\or
26-án\or 27-én\or 28-án\or 29-én\or 30-án\or
- 31-én\fi}}%
+ 31-én\fi}%
\let\ontoday\ondatemagyar}
-\def\magyar@language{\language=\l@magyar}
-
\def\noextras@magyar{%
\let\ontoday\@undefined
- }
-
-\setlocalhyphenmins{magyar}{2}{2}%
+}
\endinput
-
-%IN BABEL these are also redefined
-%
-%\def\fnum@figure{\thefigure.\nobreakspace\figurename}
-%\def\fnum@table{\thetable.\nobreakspace\tablename}
-%\def\@makecaption#1#2{%
-% \vskip\abovecaptionskip
-% \sbox\@tempboxa{#1. #2}%
-% \ifdim \wd\@tempboxa >\hsize
-% {#1. #2\csname par\endcsname}
-% \else
-% \global \@minipagefalse
-% \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
-% \fi
-% \vskip\belowcaptionskip}
-%\long\def\@caption#1[#2]#3{%
-% \csname par\endcsname
-% \addcontentsline{\csname ext@#1\endcsname}{#1}%
-% {\protect\numberline{\csname the#1\endcsname.}{\ignorespaces #2}}%
-% \begingroup
-% \@parboxrestore
-% \if@minipage
-% \@setminipage
-% \fi
-% \normalsize
-% \@makecaption{\csname fnum@#1\endcsname}%
-% {\ignorespaces #3}\csname par\endcsname
-% \endgroup}
-%\def\@seccntformat#1{\csname the#1\endcsname.\quad}
-%\def\@sect#1#2#3#4#5#6[#7]#8{%
-% \ifnum #2>\c@secnumdepth
-% \let\@svsec\@empty
-% \else
-% \refstepcounter{#1}%
-% \protected@edef\@svsec{\@seccntformat{#1}\relax}%
-% \fi
-% \@tempskipa #5\relax
-% \ifdim \@tempskipa>\z@
-% \begingroup
-% #6{%
-% \@hangfrom{\hskip #3\relax\@svsec}%
-% \interlinepenalty \@M #8\@@par}%
-% \endgroup
-% \csname #1mark\endcsname{#7}%
-% \addcontentsline{toc}{#1}{%
-% \ifnum #2>\c@secnumdepth \else
-% \protect\numberline{\csname the#1\endcsname.}%
-% \fi
-% #7}%
-% \else
-% \def\@svsechd{%
-% #6{\hskip #3\relax
-% \@svsec #8.}%
-% \csname #1mark\endcsname{#7}%
-% \addcontentsline{toc}{#1}{%
-% \ifnum #2>\c@secnumdepth \else
-% \protect\numberline{\csname the#1\endcsname.}%
-% \fi
-% #7}}%
-% \fi
-% \@xsect{#5}}
-%\def\@ssect#1#2#3#4#5{%
-% \@tempskipa #3\relax
-% \ifdim \@tempskipa>\z@
-% \begingroup
-% #4{%
-% \@hangfrom{\hskip #1}%
-% \interlinepenalty \@M #5\@@par}%
-% \endgroup
-% \else
-% \def\@svsechd{#4{\hskip #1\relax #5.}}%
-% \fi
-% \@xsect{#3}}
-%\def\@begintheorem#1#2{\trivlist
-% \item[\hskip \labelsep{\bfseries #2.\ #1.}]\itshape}%
-%\def\@opargbegintheorem#1#2#3{\trivlist
-% \item[\hskip \labelsep{\bfseries #2.\ #1\ (#3).}]\itshape}
-%\@ifclassloaded{book}{%
-% \if@twoside
-% \def\ps@headings{%
-% \let\@oddfoot\@empty\let\@evenfoot\@empty
-% \def\@evenhead{\thepage\hfil\slshape\leftmark}%
-% \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
-% \let\@mkboth\markboth
-% \def\chaptermark##1{%
-% \markboth {\MakeUppercase{%
-% \ifnum \c@secnumdepth >\m@ne
-% \if@mainmatter
-% \thechapter. \@chapapp. \ %
-% \fi
-% \fi
-% ##1}}{}}%
-% \def\sectionmark##1{%
-% \markright {\MakeUppercase{%
-% \ifnum \c@secnumdepth >\z@
-% \thesection. \ %
-% \fi
-% ##1}}}}%
-% \else
-% \def\ps@headings{%
-% \let\@oddfoot\@empty
-% \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
-% \let\@mkboth\markboth
-% \def\chaptermark##1{%
-% \markright {\MakeUppercase{%
-% \ifnum \c@secnumdepth >\m@ne
-% \if@mainmatter
-% \thechapter. \@chapapp. \ %
-% \fi
-% \fi
-% ##1}}}}%
-% \fi
-% \def\@part[#1]#2{%
-% \ifnum \c@secnumdepth >-2\relax
-% \refstepcounter{part}%
-% \addcontentsline{toc}{part}{\thepart.\hspace{1em}#1}%
-% \else
-% \addcontentsline{toc}{part}{#1}%
-% \fi
-% \markboth{}{}%
-% {\centering
-% \interlinepenalty \@M
-% \normalfont
-% \ifnum \c@secnumdepth >-2\relax
-% \huge\bfseries \thepart.\nobreakspace\partname
-% \csname par\endcsname
-% \vskip 20\p@
-% \fi
-% \Huge \bfseries #2\csname par\endcsname}%
-% \@endpart}
-% \def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
-% \if@mainmatter
-% \refstepcounter{chapter}%
-% \typeout{\thechapter.\space\@chapapp.}%
-% \addcontentsline{toc}{chapter}%
-% {\protect\numberline{\thechapter.}#1}%
-% \else
-% \addcontentsline{toc}{chapter}{#1}%
-% \fi
-% \else
-% \addcontentsline{toc}{chapter}{#1}%
-% \fi
-% \chaptermark{#1}%
-% \addtocontents{lof}{\protect\addvspace{10\p@}}%
-% \addtocontents{lot}{\protect\addvspace{10\p@}}%
-% \if@twocolumn
-% \@topnewpage[\@makechapterhead{#2}]%
-% \else
-% \@makechapterhead{#2}%
-% \@afterheading
-% \fi}
-% \def\@makechapterhead#1{%
-% \vspace*{50\p@}%
-% {\parindent \z@ \raggedright \normalfont
-% \ifnum \c@secnumdepth >\m@ne
-% \if@mainmatter
-% \huge\bfseries \thechapter.\nobreakspace\@chapapp{}
-% \csname par\endcsname\nobreak
-% \vskip 20\p@
-% \fi
-% \fi
-% \interlinepenalty\@M
-% \Huge \bfseries #1\csname par\endcsname\nobreak
-% \vskip 40\p@
-% }}%
-%}{}
-%\@ifclassloaded{report}{%
-% \if@twoside
-% \def\ps@headings{%
-% \let\@oddfoot\@empty\let\@evenfoot\@empty
-% \def\@evenhead{\thepage\hfil\slshape\leftmark}%
-% \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
-% \let\@mkboth\markboth
-% \def\chaptermark##1{%
-% \markboth {\MakeUppercase{%
-% \ifnum \c@secnumdepth >\m@ne
-% \thechapter. \@chapapp. \ %
-% \fi
-% ##1}}{}}%
-% \def\sectionmark##1{%
-% \markright {\MakeUppercase{%
-% \ifnum \c@secnumdepth >\z@
-% \thesection. \ %
-% \fi
-% ##1}}}}%
-% \else
-% \def\ps@headings{%
-% \let\@oddfoot\@empty
-% \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
-% \let\@mkboth\markboth
-% \def\chaptermark##1{%
-% \markright {\MakeUppercase{%
-% \ifnum \c@secnumdepth >\m@ne
-% \thechapter. \@chapapp. \ %
-% \fi
-% ##1}}}}%
-% \fi
-% \def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
-% \refstepcounter{chapter}%
-% \typeout{\thechapter.\space\@chapapp.}%
-% \addcontentsline{toc}{chapter}%
-% {\protect\numberline{\thechapter.}#1}%
-% \else
-% \addcontentsline{toc}{chapter}{#1}%
-% \fi
-% \chaptermark{#1}%
-% \addtocontents{lof}{\protect\addvspace{10\p@}}%
-% \addtocontents{lot}{\protect\addvspace{10\p@}}%
-% \if@twocolumn
-% \@topnewpage[\@makechapterhead{#2}]%
-% \else
-% \@makechapterhead{#2}%
-% \@afterheading
-% \fi}
-% \def\@makechapterhead#1{%
-% \vspace*{50\p@}%
-% {\parindent \z@ \raggedright \normalfont
-% \ifnum \c@secnumdepth >\m@ne
-% \huge\bfseries \thechapter.\nobreakspace\@chapapp{}
-% \csname par\endcsname\nobreak
-% \vskip 20\p@
-% \fi
-% \interlinepenalty\@M
-% \Huge \bfseries #1\csname par\endcsname\nobreak
-% \vskip 40\p@
-% }}%
-%}{}
-%\@ifclassloaded{article}{%
-% \if@twoside
-% \def\ps@headings{%
-% \let\@oddfoot\@empty\let\@evenfoot\@empty
-% \def\@evenhead{\thepage\hfil\slshape\leftmark}%
-% \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
-% \let\@mkboth\markboth
-% \def\sectionmark##1{%
-% \markboth {\MakeUppercase{%
-% \ifnum \c@secnumdepth >\z@
-% \thesection.\quad
-% \fi
-% ##1}}{}}%
-% \def\subsectionmark##1{%
-% \markright {%
-% \ifnum \c@secnumdepth >\@ne
-% \thesubsection.\quad
-% \fi
-% ##1}}}%
-% \else
-% \def\ps@headings{%
-% \let\@oddfoot\@empty
-% \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
-% \let\@mkboth\markboth
-% \def\sectionmark##1{%
-% \markright {\MakeUppercase{%
-% \ifnum \c@secnumdepth >\m@ne
-% \thesection.\quad
-% \fi
-% ##1}}}}%
-% \fi%
-%}{}
-%\@ifclassloaded{letter}{%
-% \if@twoside
-% \def\ps@headings{%
-% \let\@oddfoot\@empty\let\@evenfoot\@empty
-% \def\@oddhead{\slshape\headtoname{:} \ignorespaces\toname
-% \hfil \@date
-% \hfil \thepage.\nobreakspace\pagename}%
-% \let\@evenhead\@oddhead}
-% \else
-% \def\ps@headings{%
-% \let\@oddfoot\@empty
-% \def\@oddhead{\slshape\headtoname{:} \ignorespaces\toname
-% \hfil \@date
-% \hfil \thepage.\nobreakspace\pagename}}
-% \fi%
-%}{}
-%\def\az{a\@ifstar{\@az}{\az@}}
-%\def\Az{A\@ifstar{\@az}{\az@}}
-%\def\az@#1{\@az{#1}\nobreakspace#1}
-%\def\@az#1{%
-% \hun@tempadef{relax}{relax}{#1}%
-% \edef\@tempb{\noexpand\@@az\@tempa\hbox!}%
-% \@tempb}
-%\def\hun@tempadef#1#2#3{%
-% \begingroup
-%% \def\@safe@activesfalse{}%
-%% \def\setbox ##1{}% to get rid of accents and special letters
-%% \def\hbox ##1{}%
-%% \def\accent ##1 ##2{##2}%
-%% \def\add@accent ##1##2{##2}%
-%% \def\@text@composite@x ##1##2{##2}%
-%% \def\i{i}\def\j{j}%
-%% \def\ae{a}\def\AE{A}\def\oe{o}\def\OE{O}%
-%% \def\ss{s}\def\L{L}%
-%% \def\d{}\def\b{}\def¸\def\t{}%
-% \expandafter\ifx\csname #1\endcsname\relax
-% \expandafter\ifx\csname #2\endcsname\relax
-% \xdef\@tempa{#3}%
-% \else
-% \xdef\@tempa{\csname #2\endcsname}%
-% \fi
-% \else
-% \xdef\@tempa{\csname #1\endcsname}%
-% \fi
-% \endgroup}
-%\def\aref{\azr}
-%\def\Aref{\Azr}
-%\def\azr{a\@ifstar{\@azr}{\azr@}}
-%\def\Azr{A\@ifstar{\@azr}{\azr@}}
-%\def\azr@{\@ifnextchar ({\azr@@@}{\azr@@}}
-%\def\azr@@#1{\@azr{#1}\nobreakspace\ref{#1}}
-%\def\azr@@@(#1{\@azr{#1}\nobreakspace(\ref{#1}}
-%\def\@azr#1{%
-% \hun@tempadef{hun@r@#1}{r@#1}{}%
-% \ifx\@tempa\empty
-% \else
-% \edef\@tempb{\noexpand\@@az\expandafter\@firstoftwo\@tempa\hbox!}%
-% \@tempb
-% \fi
-%}
-%\def\apageref{\azp}
-%\def\Apageref{\Azp}
-%\def\azp{a\@ifstar{\@azp}{\azp@}}
-%\def\Azp{A\@ifstar{\@azp}{\azp@}}
-%\def\azp@#1{\@azp{#1}\nobreakspace\pageref{#1}}
-%\def\@azp#1{%
-% \hun@tempadef{hun@r@#1}{r@#1}{}%
-% \ifx\@tempa\empty
-% \else
-% \edef\@tempb{\noexpand\@@az\expandafter\@secondoftwo\@tempa\hbox!}%
-% \@tempb
-% \fi
-%}
-%\def\acite{\azc}
-%\def\Acite{\Azc}
-%\def\azc{a\@ifstar{\@azc}{\azc@}}
-%\def\Azc{A\@ifstar{\@azc}{\azc@}}
-%\def\azc@{\@ifnextchar [{\azc@@}{\azc@@[]}}
-%\def\azc@@[#1]#2{%
-% \@azc{#2}\nobreakspace\def\@tempa{#1}%
-% \ifx\@tempa\@empty\cite{#2}\else\cite[#1]{#2}\fi}
-%\def\@azc#1{\@@azc#1,\hbox!}
-%\def\@@azc#1,#2\hbox#3!{%
-% \hun@tempadef{hun@b@#1}{b@#1}{}%
-% \ifx\@tempa\empty
-% \else
-% \edef\@tempb{\noexpand\@@az\@tempa\hbox!}%
-% \@tempb
-% \fi}
-%\def\hun@number@lehgth#1#2\hbox#3!{%
-% \ifcat\noexpand#11%
-% \ifnum\expandafter`\csname#1\endcsname>47
-% \ifnum\expandafter`\csname#1\endcsname<58
-% \advance\count@ by \@ne
-% \hun@number@lehgth#2\hbox\hbox!\fi\fi\fi}
-%\def\hun@alph@lehgth#1#2\hbox#3!{%
-% \ifcat\noexpand#1A%
-% \advance\count@ by \@ne
-% \hun@alph@lehgth#2\hbox\hbox!\fi}
-%\def\@@az@string#1#2{%
-% \ifx#1A%
-% \let\@tempa\@tempb
-% \else\ifx#1E%
-% \let\@tempa\@tempb
-% \else\ifx#1I%
-% \let\@tempa\@tempb
-% \else\ifx#1O%
-% \let\@tempa\@tempb
-% \else\ifx#1U%
-% \let\@tempa\@tempb
-% \fi\fi\fi\fi\fi
-% \ifx\@tempa\@tempb
-% \else
-% \count@\z@
-% \hun@alph@lehgth#1#2\hbox\hbox!%
-% \ifnum\count@=\@ne
-% \ifx#1F%
-% \let\@tempa\@tempb
-% \else\ifx#1L%
-% \let\@tempa\@tempb
-% \else\ifx#1M%
-% \let\@tempa\@tempb
-% \else\ifx#1N%
-% \let\@tempa\@tempb
-% \else\ifx#1R%
-% \let\@tempa\@tempb
-% \else\ifx#1S%
-% \let\@tempa\@tempb
-% \else\ifx#1X%
-% \let\@tempa\@tempb
-% \else\ifx#1Y%
-% \let\@tempa\@tempb
-% \fi\fi\fi\fi\fi\fi\fi\fi
-% \fi
-% \fi}
-%\def\@@az#1#2\hbox#3!{%
-% \let\@tempa\@empty
-% \def\@tempb{z}%
-% \uppercase{%
-% \ifx5#1%
-% \let\@tempa\@tempb
-% \else\ifx1#1%
-% \count@\@ne
-% \hun@number@lehgth#2\hbox\hbox!%
-% \loop
-% \ifnum\count@>\thr@@
-% \advance\count@-\thr@@
-% \repeat
-% \ifnum\count@=\@ne
-% \let\@tempa\@tempb
-% \fi
-% \else
-% \@@az@string{#1}{#2}%
-% \fi\fi
-% }%
-% \@tempa}
-%\def\refstepcounter#1{\stepcounter{#1}%
-% \def\@currentlabel{\csname p@#1\endcsname\csname the#1\endcsname}}%
-%\let\old@label\label
-%\def\label#1{\@bsphack
-% \old@label{#1}%
-% \begingroup
-% \let\romannumeral\number
-% \def\@roman##1{\number ##1}%
-% \def\@Roman##1{\number ##1}%
-% {\toks0={\noexpand\noexpand\noexpand\number}%
-% \def\number##1{\the\toks0 ##1}\xdef\tempb@{\thepage}}%
-% \edef\@tempa##1{\noexpand\protected@write\@auxout{}%
-% {\noexpand\string\noexpand\hunnewlabel
-% {##1}{{\@currentlabel}{\tempb@}}}}%
-% \@tempa{#1}%
-% \endgroup
-% \@esphack}%
-%
-%%% noextras :
-%%% \let\label\old@label
-%
-%\def\hunnewlabel#1#2{%
-% \def\@tempa{#2}%
-% \expandafter\ifx\csname r@#1\endcsname\@tempa
-% \relax% \message{No need for def: #1}%
-% \else
-% \global\expandafter\let\csname hun@r@#1\endcsname\@tempa%
-% \fi
-%}
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-malayalam.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-malayalam.ldf
new file mode 100644
index 00000000000..38b3d10d458
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-malayalam.ldf
@@ -0,0 +1,54 @@
+\ProvidesFile{gloss-malayalam.ldf}[polyglossia: module for malayalam]
+% Translations provided by Kevin & Siji, 01-11-2009
+\makeatletter
+
+\PolyglossiaSetup{malayalam}{
+ script=Malayalam,
+ scripttag=mlym,
+ langtag=MAL, %FIXME there is also MLR for "Malayalam Reformed"
+ hyphennames={malayalam},
+ hyphenmins={2,2}, %FIXME
+ fontsetup=true,
+}
+
+\def\captionsmalayalam{%
+ \def\abstractname{സാരാംശം}%
+ \def\appendixname{ശിഷ്ടം}%
+ \def\bibname{}% (?)
+ \def\ccname{}%
+ \def\chaptername{അദ്ധ്യായം}%
+ \def\contentsname{ഉള്ളടക്കം}%
+ \def\enclname{}%
+ \def\figurename{ചിത്രം}% रेखाचित्र
+ \def\headpagename{}%
+ \def\headtoname{}%
+ \def\indexname{സൂചിക}%
+ \def\listfigurename{ചിത്രസൂചിക}%
+ \def\listtablename{പട്ടികകളുടെ സൂചിക}%
+ \def\pagename{}%
+ \def\partname{ഭാഗം}%
+ \def\prefacename{}%
+ \def\refname{}%
+ \def\tablename{പട്ടിക}%
+ \def\seename{കാണുക}%
+ \def\alsoname{ഇതും കാണുക}%
+ \def\alsoseename{ഇതും കാണുക}%
+}
+\def\datemalayalam{%
+ \def\today{\number\year\space\ifcase\month\or
+ ജനുവരി\or
+ ഫിബ്രുവരി\or
+ മാർച്ച്\or
+ ഏപ്രിൽ\or
+ മെയ്\or
+ ജൂൺ\or
+ ജൂലായ്\or
+ ആഗസ്ത്\or
+ സെപ്തംബർ\or
+ ഒക്ടോബർ\or
+ നവംബർ\or
+ ഡിസംബർ\fi
+ \space\number\day}%
+}
+
+\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-marathi.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-marathi.ldf
new file mode 100644
index 00000000000..5556dd10a2e
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-marathi.ldf
@@ -0,0 +1,79 @@
+% Translations provided by Abhijit Navale <abhi_navale@live.in>
+% TODO implement Hindu calendar (not used in day-to-day practice)
+
+\ProvidesFile{gloss-marathi.ldf}[polyglossia: module for marathi]
+\RequirePackage{devanagaridigits}
+\makeatletter
+
+\PolyglossiaSetup{marathi}{
+ script=Devaganari,
+ scripttag=deva,
+ langtag=MAR,
+ hyphennames={marathi},
+ hyphenmins={2,2},%CHECK
+ fontsetup=true,
+ %TODO nouppercase=true,
+ %TODO localnumber=marathinumber
+}
+
+\def\tmp@western{Western}
+\newif\ifmarathi@devanagari@numerals
+\marathi@devanagari@numeralstrue
+
+\define@key{marathi}{numerals}[Devanagari]{%
+ \def\@tmpa{#1}%
+ \ifx\@tmpa\tmp@western
+ \marathi@devanagari@numeralsfalse
+ \fi}
+
+\def\marathinumber#1{%
+ \ifmarathi@devanagari@numerals
+ \devanagaridigits{\number#1}%
+ \else
+ \number#1%
+ \fi}
+
+\def\captionsmarathi{%
+ \def\refname{संदर्भ}%
+ \def\abstractname{सारांश}%
+ \def\bibname{संदर्भ ग्रंथांची यादी}%
+ \def\prefacename{प्रस्तावना}%
+ \def\chaptername{प्रकरण}%
+ \def\appendixname{परिशिष्ट}%
+ \def\contentsname{अनुक्रमणिका}%
+ \def\listfigurename{आक्रुत्यांची यादी}%
+ \def\listtablename{कॊष्टकांची यादी}%
+ \def\indexname{सुची}%
+ \def\figurename{आक्रुती}%
+ \def\tablename{कोष्टक}%
+ %\def\thepart{}% TODO
+ \def\partname{भाग}%
+ \def\pagename{पान}%
+ \def\seename{पहा}%
+ \def\alsoname{हे सुध्दा पहा}%
+ \def\enclname{समाविष्ट}%
+ \def\ccname{सि.सि.}%
+ \def\headtoname{प्रति}%
+ \def\proofname{कसोटी}%
+ \def\glossaryname{स्पष्टीकरणकोश}%
+}
+\def\datemarathi{%
+ \def\marathimonth{%
+ \ifcase\month\or
+ जानेवारी\or
+ फेब्रुवारी\or
+ मार्च\or
+ एप्रिल\or
+ मे\or
+ जुन\or
+ जुलॆ\or
+ ओगस्ट\or
+ सप्टेंबर\or
+ ओक्टोबर\or
+ नोव्हेंबर\or
+ डिसेंबर\fi
+ }%
+ \def\today{\marathinumber\day\space\marathimonth\space\marathinumber\year}%
+}
+
+\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-norsk.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-norsk.ldf
index 46f81bf143c..46a7c36bece 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-norsk.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-norsk.ldf
@@ -1,11 +1,11 @@
\ProvidesFile{gloss-norsk.ldf}[polyglossia: module for norwegian]
\makeatletter
-\def\norsk@font{\selectfontfamilylatin}
-
-\ifx\l@norsk\@undefined%
- \xpg@nopatterns{Norsk}%
- \adddialect\l@norsk\l@nohyphenation%
-\fi
+\PolyglossiaSetup{norsk}{
+ hyphennames={norsk},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ fontsetup=true,
+}
\def\captionsnorsk{%
\def\refname{Referanser}%
@@ -31,6 +31,7 @@
\def\proofname{Bevis}%
\def\glossaryname{Ordliste}%
}
+
\def\datenorsk{%
\def\today{\number\day.~\ifcase\month\or
januar\or februar\or mars\or april\or mai\or juni\or
@@ -38,21 +39,5 @@
\fi\space\number\year}%
}
-\def\norsk@language{\language=\l@norsk}
-
-\setlocalhyphenmins{norsk}{2}{2}%
-
-\def\noextras@norsk{%
- \nonfrenchspacing%
- }
-
-\def\blockextras@norsk{%
- \frenchspacing%
- }
-
-\def\inlineextras@norsk{%
- \frenchspacing%
- }
-
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-nynorsk.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-nynorsk.ldf
index 276a1410116..cd66aea3998 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-nynorsk.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-nynorsk.ldf
@@ -1,11 +1,11 @@
\ProvidesFile{gloss-nynorsk.ldf}[polyglossia: module for norwegian (Nynorsk)]
\makeatletter
-\def\nynorsk@font{\selectfontfamilylatin}
-
-\ifx\l@nynorsk\@undefined%
- \xpg@nopatterns{Nynorsk}%
- \adddialect\l@nynorsk\l@nohyphenation%
-\fi
+\PolyglossiaSetup{nynorsk}{
+ hyphennames={nynorsk},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ fontsetup=true,
+}
\def\captionsnynorsk{%
\def\refname{Referansar}%
@@ -31,6 +31,7 @@
\def\proofname{Bevis}%
\def\glossaryname{Ordliste}%
}
+
\def\datenynorsk{%
\def\today{\number\day.~\ifcase\month\or
januar\or februar\or mars\or april\or mai\or juni\or
@@ -38,21 +39,5 @@
\fi\space\number\year}%
}
-\def\norsk@language{\language=\l@nynorsk}
-
-\setlocalhyphenmins{nynorsk}{2}{2}%
-
-\def\noextras@nynorsk{%
- \nonfrenchspacing%
- }
-
-\def\blockextras@nynorsk{%
- \frenchspacing%
- }
-
-\def\inlineextras@nynorsk{%
- \frenchspacing%
- }
-
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-occitan.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-occitan.ldf
new file mode 100644
index 00000000000..40669d18275
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-occitan.ldf
@@ -0,0 +1,58 @@
+% Translated by Cédric Valmary <cvalmary@yahoo.fr> of Tot en òc <http://www.totenoc.org/>
+\ProvidesFile{gloss-occitan.ldf}[polyglossia: module for occitan]
+
+\PolyglossiaSetup{occitan}{
+ hyphennames={occitan},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ indentfirst=true,
+ fontsetup=true,
+}
+
+\def\captionsoccitan{%
+ \def\refname{Referéncias}%
+ \def\abstractname{Resumit}%
+ \def\bibname{Bibliografia}%
+ \def\prefacename{Prefàcia}%
+ \def\chaptername{Capítol}%
+ \def\appendixname{Annèx}%
+ \def\contentsname{Ensenhador}%
+ \def\listfigurename{Taula de las figuras}%
+ \def\listtablename{Taula dels tablèus}%
+ \def\indexname{Indèx}%
+ \def\figurename{Figura}%
+ \def\tablename{Tablèu}%
+ %\def\thepart{\textoccitan{}}%
+ \def\partname{Partida}%
+ \def\pagename{Pagina}%
+ \def\seename{vejatz}%
+ \def\alsoname{vejatz tanben}%
+ \def\enclname{Pèça junta}%
+ \def\ccname{còpia a}%
+ \def\headtoname{A}%
+ \def\proofname{Demostracion}%
+ \def\glossaryname{Glossari}%
+}
+\def\dateoccitan{%
+ \def\occitanmonth{\ifcase\month\or
+ de~genièr\or
+ de~febrièr\or
+ de~març\or
+ d'abril\or
+ de~mai\or
+ de~junh\or
+ de~julhet\or
+ d'agost\or
+ de~setembre\or
+ d'octobre\or
+ de~novembre\or
+ de~decembre\fi
+ }%
+ \def\occitanday{\ifcase\day\or
+ 1èr\else% primièr
+ \number\day\fi% all other numbers
+ }%
+ \def\today{\occitanday \occitanmonth\space de~\number\year}%
+}
+
+\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-polish.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-polish.ldf
index d3519b9562d..f49b881c83c 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-polish.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-polish.ldf
@@ -1,11 +1,11 @@
\ProvidesFile{gloss-polish.ldf}[polyglossia: module for polish]
\makeatletter
-\def\polish@font{\selectfontfamilylatin}
-
-\ifx\l@polish\@undefined
- \xpg@nopatterns{polish}
- \adddialect\l@polish\l@nohyphenation
-\fi
+\PolyglossiaSetup{polish}{
+ hyphennames={polish},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ fontsetup=true,
+}
\def\captionspolish{%
\def\prefacename{Przedmowa}%
@@ -29,28 +29,14 @@
\def\alsoname{Porównaj także}%
\def\proofname{Dowód}%
\def\glossaryname{Glossary}% <-- Needs translation
- }
-\def\datepolish{%
- \def\today{\ifcase\month\or%
- stycznia\or lutego\or marca\or kwietnia\or maja\or czerwca\or%
- lipca\or sierpnia\or września\or października\or%
- listopada\or grudnia\fi%
- \space\number\day, \number\year}}
+ }
-\def\polish@language{\language=\l@polish}
-
-\setlocalhyphenmins{polish}{2}{2}%
-
-\def\noextras@polish{%
- \nonfrenchspacing%
-}
-
-\def\blockextras@polish{%
- \frenchspacing%
-}
-
-\def\inlineextras@polish{%
- \frenchspacing%
-}
+\def\datepolish{%
+ \def\today{\ifcase\month\or
+ stycznia\or lutego\or marca\or kwietnia\or maja\or czerwca\or
+ lipca\or sierpnia\or września\or października\or
+ listopada\or grudnia\fi
+ \space\number\day, \number\year}%
+ }
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-portuges.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-portuges.ldf
index dbc6f9922d4..6b25313974b 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-portuges.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-portuges.ldf
@@ -1,49 +1,41 @@
\ProvidesFile{gloss-portuges.ldf}[polyglossia: module for portuguese]
\makeatletter
-\def\portuges@font{\selectfontfamilylatin}
-
-\ifx\l@portuges\@undefined
- \ifx\l@portuguese\@undefined
- \xpg@nopatterns{Portuguese}
- \adddialect\l@portuges\l@nohyphenation
- \else
- \let\l@portuges\l@portuguese
- \fi
-\fi
+\PolyglossiaSetup{portuges}{
+ hyphennames={portuges,portuguese},
+ hyphenmins={2,3},
+ fontsetup=true,
+}
\def\captionsportuges{%
- \def\refname{Referências}%
- \def\abstractname{Resumo}%
- \def\bibname{Bibliografia}%
- \def\prefacename{Prefácio}%
- \def\chaptername{Capítulo}%
- \def\appendixname{Apêndice}%
- \def\contentsname{Conteúdo}%
- \def\listfigurename{Lista de Figuras}%
- \def\listtablename{Lista de Tabelas}%
- \def\indexname{Índice}%
- \def\figurename{Figura}%
- \def\tablename{Tabela}%
- %\def\thepart{}%
- \def\partname{Parte}%
- \def\pagename{Página}%
- \def\seename{ver}%
- \def\alsoname{ver também}%
- \def\enclname{Anexo}%
- \def\ccname{Com cópia a}%
- \def\headtoname{Para}%
- \def\proofname{Demonstração}%
- \def\glossaryname{Glossário}%
- }
+ \def\refname{Referências}%
+ \def\abstractname{Resumo}%
+ \def\bibname{Bibliografia}%
+ \def\prefacename{Prefácio}%
+ \def\chaptername{Capítulo}%
+ \def\appendixname{Apêndice}%
+ \def\contentsname{Conteúdo}%
+ \def\listfigurename{Lista de Figuras}%
+ \def\listtablename{Lista de Tabelas}%
+ \def\indexname{Índice}%
+ \def\figurename{Figura}%
+ \def\tablename{Tabela}%
+ %\def\thepart{}%
+ \def\partname{Parte}%
+ \def\pagename{Página}%
+ \def\seename{ver}%
+ \def\alsoname{ver também}%
+ \def\enclname{Anexo}%
+ \def\ccname{Com cópia a}%
+ \def\headtoname{Para}%
+ \def\proofname{Demonstração}%
+ \def\glossaryname{Glossário}%
+ }
+
\def\dateportuges{%
- \def\today{\number\day\space de\space\ifcase\month\or
- Janeiro\or Fevereiro\or Março\or Abril\or Maio\or Junho\or
- Julho\or Agosto\or Setembro\or Outubro\or Novembro\or Dezembro%
- \fi\space de\space\number\year}%
- }
+ \def\today{\number\day\space de\space\ifcase\month\or
+ Janeiro\or Fevereiro\or Março\or Abril\or Maio\or Junho\or
+ Julho\or Agosto\or Setembro\or Outubro\or Novembro\or Dezembro\fi
+ \space de\space\number\year}%
+ }
-\def\portuges@language{\language=\l@portuges}
-
-%\setlocalhyphenmins{portuges}{2}{3}% this is the default
-
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-romanian.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-romanian.ldf
index 0be15d42dde..efe1b9d672b 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-romanian.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-romanian.ldf
@@ -1,11 +1,11 @@
\ProvidesFile{gloss-romanian.ldf}[polyglossia: module for romanian]
\makeatletter
-\def\romanian@font{\selectfontfamilylatin}%TODO\addfontfeature{Language=Romanian}
-\ifx\l@romanian\@undefined%
- \xpg@nopatterns{Romanian}%
- \adddialect\l@romanian\l@nohyphenation%
-\fi
+\PolyglossiaSetup{romanian}{
+ hyphennames={romanian},
+ hyphenmins={2,2},
+ fontsetup=true,
+}
\def\captionsromanian{%
\def\refname{Bibliografie}%
@@ -31,16 +31,13 @@
\def\proofname{Demonstrație}%
\def\glossaryname{Glosar}%
}
-\def\dateromanian{%
- \def\today{\number\day~\ifcase\month\or
+
+\def\dateromanian{%
+ \def\today{\number\day~\ifcase\month\or
ianuarie\or februarie\or martie\or aprilie\or mai\or
iunie\or iulie\or august\or septembrie\or octombrie\or
noiembrie\or decembrie\fi
\space \number\year}%
- }
-
-\def\romanian@language{\language=\l@romanian}
-
-\setlocalhyphenmins{romanian}{2}{2}%
+ }
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-russian.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-russian.ldf
index 4e7684f3d50..194b40d5892 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-russian.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-russian.ldf
@@ -1,59 +1,88 @@
\ProvidesFile{gloss-russian.ldf}[polyglossia: module for russian]
\makeatletter
+\PolyglossiaSetup{russian}{
+ script=Cyrillic,
+ scripttag=cyrl,
+ langtag=RUS,
+ hyphennames={russian},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ fontsetup
+ %TODO localalph={russian@alph,russian@Alph}
+}
+
+\define@key{russian}{spelling}[modern]{%
+ \ifstrequal{#1}{old}%
+ {\def\captionsrussian{\captionsrussian@old}%
+ \def\daterussian{\daterussian@old}}%
+ {\def\captionsrussian{\captionsrussian@modern}%
+ \def\daterussian{\daterussian@modern}}%
+}
+
+\newif\ifcyrillic@numerals
+\define@key{russian}{numerals}[latin]{%
+ \ifstrequal{#1}{cyrillic}%
+ {\cyrillic@numeralstrue}
+ {\cyrillic@numeralsfalse}
+}
+
+\define@boolkey{russian}[russian@]{babelshorthands}[false]{}
-\ifx\l@russian\@undefined
- \xpg@nopatterns{Russian}
- \adddialect\l@russian\l@nohyphenation
+\setkeys{russian}{spelling,numerals}
+
+\ifsystem@babelshorthands
+ \setkeys{russian}{babelshorthands=true}
+\else
+ \setkeys{russian}{babelshorthands=false}
\fi
-\def\russian@font{%
- \@ifundefined{russianfont}{%
- \@ifundefined{cyrillicfont}{%
- \normalfontlatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@script{cyrl}%
- \if@tempswa
- \addfontfeature{Script=Cyrillic}%
- \else
- \PackageError{polyglossia}{^^J
- The current font does not contain the Cyrillic script!^^J
- Please define \string\cyrillicfont\space or \string\russianfont\space with \string\newfontfamily}%
- \fi
- \zf@check@ot@lang{RUS}%
- \if@tempswa\addfontfeature{Language=Russian}\fi
+\ifcsundef{initiate@active@char}{%
+ \input{babelsh.def}%
+ \initiate@active@char{"}%
+}{}
+
+\def\russian@shorthands{%
+ \bbl@activate{"}%
+ \def\language@group{russian}%
+% \declare@shorthand{russian}{"`}{„}%
+% \declare@shorthand{russian}{"'}{“}%
+% \declare@shorthand{russian}{"<}{«}%
+% \declare@shorthand{russian}{">}{»}%
+ \declare@shorthand{russian}{""}{\hskip\z@skip}%
+ \declare@shorthand{russian}{"~}{\textormath{\leavevmode\hbox{-}}{-}}%
+ \declare@shorthand{russian}{"=}{\nobreak\-\hskip\z@skip}%
+ \declare@shorthand{russian}{"|}{\textormath{\nobreak\discretionary{-}{}{\kern.03em}\allowhyphens}{}}%
+ \declare@shorthand{russian}{"-}{%
+ \def\russian@sh@tmp{%
+ \if\russian@sh@next-\expandafter\russian@sh@emdash
+ \else\expandafter\russian@sh@hyphen\fi
}%
- {\cyrillicfont%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@lang{RUS}%
- \if@tempswa\addfontfeature{Language=Russian}\fi}%
- }%
- {\russianfont}%
+ \futurelet\russian@sh@next\russian@sh@tmp}%
+ \def\russian@sh@hyphen{%
+ \nobreak\-\bbl@allowhyphens}%
+ \def\russian@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{russian}{",}{\nobreak\hskip.2em\ignorespaces}%
}
-\def\tmp@old{old}
-\define@key{russian}{spelling}[modern]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@old
- \def\captionsrussian{\captionsrussian@old}
- \def\daterussian{\daterussian@old}%
- \else%
- \def\captionsrussian{\captionsrussian@modern}
- \def\daterussian{\daterussian@modern}%
- \fi}
-
-%TODO: enable key to switch between latin and cyrillic \alph
-\def\tmp@latin{latin}
-\newif\iflatin@numerals
-\define@key{russian}{numerals}[russian]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@latin
- \latin@numeralstrue
- \else
- \latin@numeralsfalse
- \fi
+\def\norussian@shorthands{%
+ \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
}
-\setkeys{russian}{spelling,numerals}
\def\captionsrussian@modern{%
\def\prefacename{Предисловие}%
@@ -122,7 +151,7 @@
\def\alsoname{см.~также}%
\def\proofname{Доказательство}%
}
-\def\daterussian@old{
+\def\daterussian@old{%
\def\today{\number\day%
\space\ifcase\month\or%
января\or
@@ -158,47 +187,68 @@
\def\preparagraph{}%
\def\presubparagraph{}}
+\def\Asbuk#1{\expandafter\russian@Alph\csname c@#1\endcsname}
\def\russian@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 Я\else\xpg@ill@value{#1}{russian@Alph}\fi}
-\def\russian@alph#1{\ifcase#1\or
+\def\asbuk#1{\expandafter\russian@alph\csname c@#1\endcsname}
+\def\russian@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 я\else\xpg@ill@value{#1}{russian@alph}\fi}
\def\russian@numbers{%
- \let\latin@Alph\@Alph%
- \let\latin@alph\@alph%
- \let\@Alph\russian@Alph%
- \let\@alph\russian@alph%
+ \let\latin@alph\@alph%
+ \let\latin@Alph\@Alph%
+ \ifcyrillic@numerals
+ \let\@alph\russian@alph%
+ \let\@Alph\russian@Alph%
+ \fi
}
\def\norussian@numbers{%
- \let\@Alph\latin@Alph%
\let\@alph\latin@alph%
+ \let\@Alph\latin@Alph%
}
-\def\russian@language{\language=\l@russian}
-
-\setlocalhyphenmins{russian}{2}{2}%
-
\def\noextras@russian{%
- \nonfrenchspacing%
\def\@seccntformat##1{\csname the##1\endcsname\quad}% = LaTeX kernel
- \iflatin@numerals\else\norussian@numbers\fi
- }
+ \ifcyrillic@numerals\norussian@numbers\fi
+ \norussian@shorthands%
+}
\def\blockextras@russian{%
- \frenchspacing%
\russian@capsformat%
- \iflatin@numerals\else\russian@numbers\fi
- }
+ \ifcyrillic@numerals\russian@numbers\fi
+ \ifrussian@babelshorthands\russian@shorthands\fi
+}
\def\inlineextras@russian{%
- \frenchspacing%
- }
+ \ifrussian@babelshorthands\russian@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}{№}
\endinput
+
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-samin.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-samin.ldf
index 3d21b6ea6e7..0baa2b38607 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-samin.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-samin.ldf
@@ -1,11 +1,11 @@
\ProvidesFile{gloss-samin.ldf}[polyglossia: module for samin]
\makeatletter
-\def\samin@font{\selectfontfamilylatin}
-\ifx\l@samin\@undefined%
- \xpg@nopatterns{Samin}%
- \adddialect\l@samin\l@nohyphenation%
-\fi
+\PolyglossiaSetup{samin}{
+ hyphennames={samin},
+ hyphenmins={2,2},
+ fontsetup=true,
+}
\def\captionssamin{%
\def\refname{Čujuhusat}%
@@ -31,8 +31,8 @@
\def\proofname{Duođaštus}%
\def\glossaryname{Sátnelistu}%
}
-\def\datesamin{%
- \def\today{\ifcase\month\or
+\def\datesamin{%
+ \def\today{\ifcase\month\or
ođđajagemánu\or
guovvamánu\or
njukčamánu\or
@@ -46,10 +46,6 @@
skábmamánu\or
juovlamánu\fi
\space\number\day.~b.\space\number\year}%
- }
-
-\def\samin@language{\language=\l@samin}
-
-\setlocalhyphenmins{samin}{2}{2}%
+ }
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-sanskrit.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-sanskrit.ldf
index d548d8a5570..03547800adf 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-sanskrit.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-sanskrit.ldf
@@ -1,111 +1,87 @@
\ProvidesFile{gloss-sanskrit.ldf}[polyglossia: module for sanskrit]
+\RequirePackage{devanagaridigits}
\makeatletter
-\ifx\l@sanskrit\@undefined%
- \ifx\l@prakrit\@undefined%
- \xpg@nopatterns{Sanskrit}%
- \adddialect\l@sanskrit\l@nohyphenation%
- \else%
- \let\l@sanskrit=\l@prakrit%
- \fi%
-\fi
+\PolyglossiaSetup{sanskrit}{
+ langtag=SAN,
+ hyphennames={sanskrit,prakrit},
+ hyphenmins={1,3},
+ frenchspacing=true,
+ fontsetup=false, % will be done below
+ %TODO localnumber=sanskritnumber
+}
-\def\tmp@deva{Devanagari}
\define@key{sanskrit}{Script}[Devanagari]{%
- \gdef\sanskrit@script{#1}}
+ \setkeys[xpg@setup]{sanskrit}{script=#1}%
+ \ifcsdef{fontsetup@sanskrit@#1}%
+ {\csname fontsetup@sanskrit@#1\endcsname}%
+ {\xpg@error{`#1' is not a valid script for Sanskrit}%
+ }%
+}
+
+\def\fontsetup@sanskrit@Devanagari{%
+ \def\xpg@scripttag@sanskrit{deva}%
+ \xpg@fontsetup@nonlatin{sanskrit}}
+\def\fontsetup@sanskrit@Gujarati{%
+ \def\xpg@scripttag@sanskrit{gujr}%
+ \xpg@fontsetup@nonlatin{sanskrit}}
+\def\fontsetup@sanskrit@Malayalam{%
+ \def\xpg@scripttag@sanskrit{mlym}%
+ \xpg@fontsetup@nonlatin{sanskrit}}
+\def\fontsetup@sanskrit@Bengali{%
+ \def\xpg@scripttag@sanskrit{beng}%
+ \xpg@fontsetup@nonlatin{sanskrit}}
+\def\fontsetup@sanskrit@Kannada{%
+ \def\xpg@scripttag@sanskrit{knda}%
+ \xpg@fontsetup@nonlatin{sanskrit}}
+\def\fontsetup@sanskrit@Telugu{%
+ \def\xpg@scripttag@sanskrit{telu}%
+ \xpg@fontsetup@nonlatin{sanskrit}}
+
+\setkeys{sanskrit}{Script} %sets the default for Devanagari
-\setkeys{sanskrit}{Script}
+%% TODO option for numerals (Devanagari or Western)
+%\def\tmp@western{Western}
+%\newif\ifsanskrit@devanagari@numerals
+%\sanskrit@devanagari@numeralstrue
+%
+%\define@key{sanskrit}{numerals}[Devanagari]{%
+% \def\@tmpa{#1}%
+% \ifx\@tmpa\tmp@western
+% \sanskrit@devanagari@numeralsfalse
+% \fi}
\newXeTeXintercharclass\sanskrit@punctthin % ! ? ; : danda double_danda
+
\def\sanskrit@punctthinspace{{\unskip\thinspace}}
\def\sanskrit@punctuation{%
- \frenchspacing%
- \XeTeXinterchartokenstate=1%
- \XeTeXcharclass `\! \sanskrit@punctthin
- \XeTeXcharclass `\? \sanskrit@punctthin
- \XeTeXcharclass `\; \sanskrit@punctthin
- \XeTeXcharclass `\: \sanskrit@punctthin
- \XeTeXcharclass `\। \sanskrit@punctthin
- \XeTeXcharclass `\॥ \sanskrit@punctthin
- \XeTeXinterchartoks \z@ \sanskrit@punctthin = \sanskrit@punctthinspace
+ \XeTeXinterchartokenstate=1%
+ \XeTeXcharclass `\! \sanskrit@punctthin
+ \XeTeXcharclass `\? \sanskrit@punctthin
+ \XeTeXcharclass `\; \sanskrit@punctthin
+ \XeTeXcharclass `\: \sanskrit@punctthin
+ \XeTeXcharclass `\। \sanskrit@punctthin
+ \XeTeXcharclass `\॥ \sanskrit@punctthin
+ \XeTeXinterchartoks \z@ \sanskrit@punctthin = \sanskrit@punctthinspace
}
\def\nosanskrit@punctuation{%
- \nonfrenchspacing%
- \XeTeXinterchartokenstate=0%
+ \XeTeXcharclass `\! \z@
+ \XeTeXcharclass `\? \z@
+ \XeTeXcharclass `\; \z@
+ \XeTeXcharclass `\: \z@
+ \XeTeXcharclass `\। \z@
+ \XeTeXcharclass `\॥ \z@
+ \XeTeXinterchartokenstate=0%
}
-%\def\captionssanskrit{%
-% \def\refname{<++>}%
-% \def\abstractname{<++>}%
-% \def\bibname{<++>}%
-% \def\prefacename{<++>}%
-% \def\chaptername{<++>}%
-% \def\appendixname{<++>}%
-% \def\contentsname{<++>}%
-% \def\listfigurename{<++>}%
-% \def\listtablename{<++>}%
-% \def\indexname{<++>}%
-% \def\figurename{<++>}%
-% \def\tablename{<++>}%
-% \def\thepart{}%
-% \def\partname{<++>}%
-% \def\pagename{<++>}%
-% \def\seename{<++>}%
-% \def\alsoname{<++>}%
-% \def\enclname{<++>}%
-% \def\ccname{<++>}%
-% \def\headtoname{<++>}%
-% \def\proofname{<++>}%
-% \def\glossaryname{<++>}%
-% \def\today{<++>}}
-
-\def\sanskrit@font{%
-\@ifundefined{sanskritfont}{%
- \@ifundefined{devanagarifont}{%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@script{deva}%
- \ifx\sanskrit@script\tmp@deva%
- \if@tempswa%
- \addfontfeature{Script=Devanagari}%
- \else%
- \PackageError{polyglossia}{^^J
- The current font does not contain the devanagari script!^^J
- Please define \string\devanagarifont\space or \string\sanskritfont\space with \string\newfontfamily}%
- \fi%
- \else%
- \addfontfeature{Script=\sanskrit@script}%
- \fi%
- \zf@check@ot@lang{SAN}%
- \if@tempswa\addfontfeature{Language=Sanskrit}\fi%
- }%
- {\devanagarifont%
- \zf@check@ot@lang{SAN}%
- \if@tempswa\addfontfeature{Language=Sanskrit}\fi%
- }%
- }%
- {\sanskritfont}%
-}
-
-\def\selectnormalfontsanskrit{%
- \let\normalfont=\sanskrit@font%
- \let\rmfamily=\sanskrit@font%
- % TODO add setup to define Sans and Mono Sanskrit fonts if desired
- \let\sffamily=\sanskrit@font%
- \let\ttfamily=\sanskrit@font%
- \def\reset@font{\normalfont}}
-
-\def\sanskrit@language{\language=\l@sanskrit}
-
-\setlocalhyphenmins{sanskrit}{1}{3}%
-
\def\noextras@sanskrit{%
- \nosanskrit@punctuation%
- }
+ \nosanskrit@punctuation%
+}
\def\blockextras@sanskrit{%
- \sanskrit@punctuation%
- }
+ \sanskrit@punctuation%
+}
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-scottish.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-scottish.ldf
index c9a7ef45924..29f8948c4ad 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-scottish.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-scottish.ldf
@@ -1,11 +1,11 @@
\ProvidesFile{gloss-scottish.ldf}[polyglossia: module for scottish]
\makeatletter
-\def\scottish@font{\selectfontfamilylatin}
-\ifx\l@scottish\@undefined%
- \xpg@nopatterns{Scottish}%
- \adddialect\l@scottish\l@nohyphenation%
-\fi
+\PolyglossiaSetup{scottish}{
+ hyphennames={scottish},
+ hyphenmins={2,2},
+ fontsetup=true,
+}
\def\captionsscottish{%
\def\refname{Iomraidh}%
@@ -31,6 +31,7 @@
\def\proofname{Proof}% <-- needs translation
\def\glossaryname{Glossary}% <-- needs translation
}
+
\def\datescottish{%
\def\today{%
\number\day\space \ifcase\month\or
@@ -41,8 +42,4 @@
\space \number\year}%
}
-\def\scottish@language{\language=\l@scottish}
-
-\setlocalhyphenmins{scottish}{2}{2}%
-
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-serbian.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-serbian.ldf
index d98e8c39e3d..df704094e42 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-serbian.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-serbian.ldf
@@ -1,21 +1,40 @@
\ProvidesFile{gloss-serbian.ldf}[polyglossia: module for serbian]
\makeatletter
-
-%TODO eventually there will be patterns for Serbian-Latin as well as Serbian-Cyrillic
-\ifx\l@serbian\@undefined%
- \xpg@nopatterns{Serbian}%
- \adddialect\l@serbian\l@nohyphenation%
-\fi
+%TODO split into gloss-serbiancyr.ldf and gloss-serbianlat.ldf
+%% load these automatically from polyglossia.sty according to the script option ??
+%% same thing for all languages that have a "script" key !
+%% BETTER APPROACH: see gloss-sanskrit!
+
+\PolyglossiaSetup{serbian}{
+ langtag=SRB,
+ hyphennames={serbian},
+ hyphenmins={2,2},
+ indentfirst=true,
+ fontsetup=false
+ %TODO localalph
+}
\newif\if@serbian@cyr
-\def\tmp@cyrillic{cyrillic}
-\define@key{serbian}{script}[cyrillic]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@cyrillic\@serbian@cyrtrue\else%
- \@serbian@cyrfalse
- \fi}
-\setkeys{serbian}{script}
+\define@key{serbian}{Script}[Cyrillic]{% TODO FIXDOC: keyname is CHANGED: script -> Script !!!
+ \ifstrequal{#1}{Cyrillic}%
+ {\@serbian@cyrtrue
+ \setkeys[xpg@setup]{serbian}{script=Cyrillic}%
+ \def\xpg@scripttag@serbian{cyrl}%
+ \xpg@fontsetup@nonlatin{serbian}%
+ }%
+ {\ifstrequal{#1}{Latin}%
+ {\@serbian@cyrfalse
+ \xpg@fontsetup@latin{serbian}%
+ %TODO \def\serbian@language{\language=\l@serbianlat}%
+ % or should we use Croatian patterns as a fallback for the time being???
+ }%
+ {\xpg@error{Unknown script `#1' for Serbian language\MessageBreak
+ Valid values are "Cyrillic" and "Latin"}}%
+ }
+}
+
+\setkeys{serbian}{Script}
\def\captionsserbian{%
\if@serbian@cyr\captionsserbian@cyr\else\captionsserbian@lat\fi%
@@ -87,53 +106,6 @@
децембар\fi \space \number\year}%
}
-\def\serbian@font@cyr{%
- \@ifundefined{serbianfont}{%
- \@ifundefined{cyrillicfont}{%
- \normalfontlatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@script{cyrl}%
- \if@tempswa
- \addfontfeature{Script=Cyrillic}%
- \else
- \PackageError{polyglossia}{^^J
- The current font does not contain the Cyrillic script!^^J
- Please define \string\cyrillicfont\space or \string\serbianfont\space with \string\newfontfamily}%
- \fi%
- \zf@check@ot@lang{SRB}%
- \if@tempswa\addfontfeature{Language=Serbian}\fi}%
- {\cyrillicfont%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@lang{SRB}%
- \if@tempswa\addfontfeature{Language=Serbian}\fi}%
- }%
- {\serbianfont}%
-}
-
-\def\serbian@font@lat{%
- \@ifundefined{serbianfontlatin}{%
- \normalfontlatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@lang{SRB}%
- \if@tempswa\addfontfeature{Language=Serbian}\fi}%
- {\serbianfontlatin}%
-}
-
-\def\serbian@font{%
- \if@serbian@cyr\serbian@font@cyr\else\serbian@font@lat\fi}
-
-%TODO when available load latin hyphenation patterns as well!
-\def\serbian@language{\language=\l@serbian}
-
-\setlocalhyphenmins{serbian}{2}{2}%
-
-\def\noextras@serbian{%
- \nofrench@indent%
- }
-
-\def\blockextras@serbian{%
- \french@indent%
- }
\endinput
% TODO ? stuff from babel
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-slovak.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-slovak.ldf
index 0b13231f3b7..260912f26ab 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-slovak.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-slovak.ldf
@@ -1,11 +1,11 @@
\ProvidesFile{gloss-slovak.ldf}[polyglossia: module for slovak]
\makeatletter
-\def\slovak@font{\selectfontfamilylatin}
-\ifx\l@slovak\@undefined%
- \xpg@nopatterns{Slovak}%
- \adddialect\l@slovak\l@nohyphenation%
-\fi
+\PolyglossiaSetup{slovak}{
+ hyphennames={slovak},
+ hyphenmins={2,2},
+ fontsetup=true,
+}
\def\captionsslovak{%
\def\refname{Referencie}%
@@ -31,16 +31,13 @@
\def\proofname{Dôkaz}%
\def\glossaryname{Slovník}%
}
+
\def\dateslovak{%
- \def\today{\number\day.~\ifcase\month\or
+ \def\today{\number\day.~\ifcase\month\or
januára\or februára\or marca\or apríla\or mája\or
júna\or júla\or augusta\or septembra\or októbra\or
novembra\or decembra\fi
\space \number\year}%
- }
-
-\def\slovak@language{\language=\l@slovak}
-
-\setlocalhyphenmins{slovak}{2}{2}%
+ }
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-slovenian.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-slovenian.ldf
index d60fa5b1e5f..7ef4203ce0a 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-slovenian.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-slovenian.ldf
@@ -1,12 +1,10 @@
\ProvidesFile{gloss-slovenian.ldf}[polyglossia: module for slovenian]
-\makeatletter
-\def\slovenian@font{\selectfontfamilylatin}
-\ifx\l@slovenian\@undefined%
- \ifx\l@slovene\@undefined%
- \xpg@nopatterns{Slovenian}%
- \adddialect\l@slovenian\l@nohyphenation%
-\fi\fi
+\PolyglossiaSetup{slovenian}{
+ hyphennames={slovenian,slovene},
+ hyphenmins={2,2},
+ fontsetup=true,
+}
\def\captionsslovenian{%
\def\refname{Literatura}%
@@ -32,15 +30,12 @@
\def\proofname{Dokaz}%
\def\glossaryname{Glosar}% <-- CHECK!
}
+
\def\dateslovenian{%
- \def\today{\number\day.~\ifcase\month\or
+ \def\today{\number\day.~\ifcase\month\or
januar\or februar\or marec\or april\or maj\or junij\or
julij\or avgust\or september\or oktober\or november\or december\fi
\space \number\year}%
- }
-
-\def\slovenian@language{\language=\l@slovenian}
-
-\setlocalhyphenmins{slovenian}{2}{2}%
+ }
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-spanish.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-spanish.ldf
index 05ed105e8c2..e46bde96987 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-spanish.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-spanish.ldf
@@ -1,56 +1,42 @@
\ProvidesFile{gloss-spanish.ldf}[polyglossia: module for spanish]
\makeatletter
-\def\spanish@font{\selectfontfamilylatin}
-
-\ifx\l@spanish\@undefined
- \xpg@nopatterns{spanish}
- \adddialect\l@spanish\l@nohyphenation
-\fi
+\PolyglossiaSetup{spanish}{
+ hyphennames={spanish},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ indentfirst=true,
+ fontsetup=true,
+}
\def\captionsspanish{%
- \def\prefacename{Prefacio}%
- \def\refname{Referencias}%
- \def\abstractname{Resumen}%
- \def\bibname{Bibliografía}%
- \def\chaptername{Capítulo}%
- \def\appendixname{Apéndice}%
- \def\contentsname{Índice general}%
- \def\listfigurename{Índice de figuras}%
- \def\listtablename{Índice de cuadros}%
- \def\indexname{Índice alfabético}%
- \def\figurename{Figura}%
- \def\tablename{Cuadro}%
- \def\partname{Parte}%
- \def\enclname{Adjunto(s)}%
- \def\ccname{Copia a}%
- \def\headtoname{A}%
- \def\pagename{Página}%
- \def\seename{véase}%
- \def\alsoname{véase también}%
- \def\proofname{Prueba}%
- \def\glossaryname{Glosario}%
- }
+ \def\prefacename{Prefacio}%
+ \def\refname{Referencias}%
+ \def\abstractname{Resumen}%
+ \def\bibname{Bibliografía}%
+ \def\chaptername{Capítulo}%
+ \def\appendixname{Apéndice}%
+ \def\contentsname{Índice general}%
+ \def\listfigurename{Índice de figuras}%
+ \def\listtablename{Índice de cuadros}%
+ \def\indexname{Índice alfabético}%
+ \def\figurename{Figura}%
+ \def\tablename{Cuadro}%
+ \def\partname{Parte}%
+ \def\enclname{Adjunto(s)}%
+ \def\ccname{Copia a}%
+ \def\headtoname{A}%
+ \def\pagename{Página}%
+ \def\seename{véase}%
+ \def\alsoname{véase también}%
+ \def\proofname{Prueba}%
+ \def\glossaryname{Glosario}%
+ }
+
\def\datespanish{%
- \def\today{\number\day~de~\ifcase\month\or
+ \def\today{\number\day~de~\ifcase\month\or
enero\or febrero\or marzo\or abril\or mayo\or junio\or
julio\or agosto\or septiembre\or octubre\or noviembre\or
diciembre\fi\space \number\year}%
-}
-
-\def\spanish@language{\language=\l@spanish}
-
-\setlocalhyphenmins{spanish}{2}{2}%
-
-\def\noextras@spanish{%
- \nonfrenchspacing%
-}
-
-\def\blockextras@spanish{%
- \frenchspacing%
-}
-
-\def\inlineextras@spanish{%
- \frenchspacing%
-}
+ }
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-swedish.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-swedish.ldf
index 5efa82e1ec1..748353488bf 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-swedish.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-swedish.ldf
@@ -1,38 +1,39 @@
\ProvidesFile{gloss-swedish.ldf}[polyglossia: module for swedish]
-\makeatletter
-\def\swedish@font{\selectfontfamilylatin}
-\ifx\l@swedish\@undefined%
- \xpg@nopatterns{Swedish}%
- \adddialect\l@swedish\l@nohyphenation%
-\fi
+\PolyglossiaSetup{swedish}{
+ hyphennames={swedish},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ fontsetup=true,
+}
\def\captionsswedish{%
- \def\refname{Referenser}%
- \def\abstractname{Sammanfattning}%
- \def\bibname{Litteraturförteckning}%
- \def\prefacename{Förord}%
- \def\chaptername{Kapitel}%
- \def\appendixname{Bilaga}%
- \def\contentsname{Innehåll}%
- \def\listfigurename{Figurer}%
- \def\listtablename{Tabeller}%
- \def\indexname{Sakregister}%
- \def\figurename{Figur}%
- \def\tablename{Tabell}%
- %\def\thepart{}%
- \def\partname{Del}%
- \def\pagename{Sida}%
- \def\seename{se}%
- \def\alsoname{se även}%
- \def\enclname{Bil.}%
- \def\ccname{Kopia för kännedom}%
- \def\headtoname{Till}%
- \def\proofname{Bevis}%
- \def\glossaryname{Ordlista}%
- }
+ \def\refname{Referenser}%
+ \def\abstractname{Sammanfattning}%
+ \def\bibname{Litteraturförteckning}%
+ \def\prefacename{Förord}%
+ \def\chaptername{Kapitel}%
+ \def\appendixname{Bilaga}%
+ \def\contentsname{Innehåll}%
+ \def\listfigurename{Figurer}%
+ \def\listtablename{Tabeller}%
+ \def\indexname{Sakregister}%
+ \def\figurename{Figur}%
+ \def\tablename{Tabell}%
+ %\def\thepart{}%
+ \def\partname{Del}%
+ \def\pagename{Sida}%
+ \def\seename{se}%
+ \def\alsoname{se även}%
+ \def\enclname{Bil.}%
+ \def\ccname{Kopia för kännedom}%
+ \def\headtoname{Till}%
+ \def\proofname{Bevis}%
+ \def\glossaryname{Ordlista}%
+ }
+
\def\dateswedish{%
- \def\today{%
+ \def\today{%
\number\day~\ifcase\month\or
januari\or februari\or mars\or april\or maj\or juni\or
juli\or augusti\or september\or oktober\or november\or
@@ -44,20 +45,4 @@
\def\today{\number\day/\number\month\space\number\year}}%
}
-\def\swedish@language{\language=\l@swedish}
-
-\setlocalhyphenmins{swedish}{2}{2}%
-
-\def\noextras@swedish{%
- \nonfrenchspacing%
- }
-
-\def\blockextras@swedish{%
- \frenchspacing%
- }
-
-\def\inlineextras@swedish{%
- \frenchspacing%
- }
-
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-syriac.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-syriac.ldf
index e4bc22a8404..1140b5adaca 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-syriac.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-syriac.ldf
@@ -3,12 +3,14 @@
\RequirePackage{arabicnumbers}
\makeatletter
-\ifx\l@syriac\@undefined
- %\xpg@nopatterns{Syriac}%
- \adddialect\l@syriac\l@nohyphenation
-\fi
-
-\def\syriac@RL{\relax}
+\PolyglossiaSetup{syriac}{
+ script=Syriac,
+ scripttag=syrc,
+ direction=RL,
+ hyphennames={syriac,nohyphenation},
+ fontsetup=true,
+ %TODO localalph
+}
\def\syriacnumber#1{\@syriacnumber{#1}}%
@@ -29,29 +31,6 @@
\setkeys{syriac}{numerals}
-\def\syriac@font{%
- \@ifundefined{syriacfont}{%
- \normalfontlatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@script{syrc}%
- \if@tempswa
- \addfontfeature{Script=Syriac}%
- \else
- \PackageError{polyglossia}{^^J
- The current font does not contain the Syriac script!^^J
- Please define \string\syriacfont\space with \string\newfontfamily}%
- \fi}%
- {\syriacfont}%
-}
-
-\def\selectnormalfontsyriac{%
- \let\normalfont=\syriac@font%
- \let\rmfamily=\syriac@font%
- % TODO add setup to define Sans and Mono Syriac fonts if desired
- \let\sffamily=\syriac@font%
- \let\ttfamily=\syriac@font%
- \def\reset@font{\normalfont}}
-
%\define@key{polyglossia}{syriaclocale}[default]{%
% \def\@syriac@locale{#1}}
%
@@ -169,8 +148,6 @@
\renewcommand\thefootnote{\protect\number{\c@footnote}}%
}
-\def\syriac@language{\language=\l@syriac}
-
\def\blockextras@syriac{%
\let\@@MakeUppercase\MakeUppercase%
\def\MakeUppercase##1{##1}%
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-tamil.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-tamil.ldf
new file mode 100644
index 00000000000..ea738e306a8
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-tamil.ldf
@@ -0,0 +1,54 @@
+\ProvidesFile{gloss-tamil.ldf}[polyglossia: module for tamil]
+% Translations provided by Kevin & Siji, 01-11-2009
+\makeatletter
+
+\PolyglossiaSetup{tamil}{
+ script=Tamil,
+ scripttag=taml,
+ langtag=TAM,
+ hyphennames={tamil},
+ hyphenmins={2,2}, %FIXME?
+ fontsetup=true,
+}
+
+\def\captionstamil{%
+ \def\abstractname{சாராம்சம்}%
+ \def\appendixname{பிற்சேர்க்கை}%பின்னிணைப்பு
+ %\def\bibname{}%
+ %\def\ccname{}%
+ \def\chaptername{அத்தியாயம்}%
+ \def\contentsname{உள்ளே}%
+ %\def\enclname{}%
+ \def\figurename{படம்}%
+ %\def\headpagename{}%
+ %\def\headtoname{}%
+ \def\indexname{சுட்டி}%பொருளடக்க அட்டவணை
+ \def\listfigurename{படங்களின் பட்டியல்}%
+ \def\listtablename{அட்டவணை பட்டியல்}%
+ %\def\pagename{}%
+ \def\partname{பகுதி}%
+ %\def\prefacename{}%
+ %\def\refname{}%
+ \def\tablename{அட்டவணை}%
+ \def\seename{பார்க்க}%
+ %\def\alsoname{}%
+ %\def\alsoseename{}%
+}
+\def\datetamil{%
+ \def\today{\number\year\space\ifcase\month\or
+ ஜனவரி\or
+ பிப்ரவரி\or
+ மார்ச்\or
+ ஏப்ரல்\or
+ மே\or
+ ஜூன்\or
+ ஜூலை\or
+ ஆகஸ்ட்\or
+ செப்டம்பர்\or
+ அக்டோபர்\or
+ நவம்பர்\or
+ டிசம்பர்\fi
+ \space\number\day}%
+}
+
+\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-telugu.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-telugu.ldf
new file mode 100644
index 00000000000..b71aaa5544b
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-telugu.ldf
@@ -0,0 +1,57 @@
+\ProvidesFile{gloss-telugu.ldf}[polyglossia: module for telugu]
+% Translations provided by Anmol Sharma <unmole.in@gmail.com>
+\makeatletter
+
+\PolyglossiaSetup{telugu}{
+ script=Telugu,
+ scripttag=telu,
+ langtag=TEL,
+ hyphennames={telugu},
+ hyphenmins={2,2}, %FIXME
+ fontsetup=true,
+}
+
+\def\captionstelugu{%
+ \def\refname{ఆధారాలు}%
+ \def\abstractname{సారాంశం}%
+ \def\bibname{గ్రంథాల జాబితా}%
+ \def\prefacename{ముందుమాట}%
+ \def\chaptername{అధ్యాయము}%
+ \def\appendixname{అదనంగా}%
+ \def\contentsname{విషయాలు}%
+ \def\listfigurename{ఆకృతుల జాబితా}%
+ \def\listtablename{పట్టికల జాబితా}%
+ \def\indexname{విషయ సూచిక}%
+ \def\figurename{ఆకృతి}%
+ \def\tablename{పట్టిక}%
+ %\def\thepart{}%
+ \def\partname{భాగం}%
+ \def\pagename{పేజి}%
+ \def\seename{చూడండి}%
+ \def\alsoname{కూడా చూడండి}%
+ \def\enclname{ఎంక్లోజర్*}%
+ \def\ccname{సిసి}%
+ \def\headtoname{కి}%
+ \def\proofname{రుజువు}%
+ \def\glossaryname{నిఘంటువు}%
+}
+
+\def\datetelugu{%
+ \def\telugu@month{%
+ \ifcase\month\or
+ జనవరి\or
+ ఫిబ్రవరి\or
+ మార్చ్\or
+ ఏప్రిల్\or
+ మే\or
+ జూన్\or
+ జూలై\or
+ ఆగస్ట్\or
+ సెప్టెంబర్\or
+ అక్తోబెర్\or
+ నవంబర్\or
+ డిసంబర్\fi}%
+ \def\today{\telugu@month\space\number\day,\space\number\year}%
+}
+
+\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-thai.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-thai.ldf
index 7a51a04c82e..e974fc45489 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-thai.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-thai.ldf
@@ -9,14 +9,22 @@
%%%% Thai Linux Working Group
%%%% http://linux.thai.net/
%%%%
+\PolyglossiaSetup{thai}{
+ script=Thai,
+ scripttag=thai,
+ hyphennames={nohyphenation},
+ fontsetup=true
+ %TODO localalph={xxx@alph,xxx@Alph}
+ %TODO localdigits=thainumber
+}
\newif\if@thai@numerals
\def\tmp@thai{thai}
\define@key{thai}{numerals}[arabic]{%
\def\@tmpa{#1}%
- \ifx\@tmpa\tmp@thai\@thai@numeralstrue\else%
- \@thai@numeralsfalse\fi%
- }
+ \ifx\@tmpa\tmp@thai\@thai@numeralstrue\else
+ \@thai@numeralsfalse\fi
+}
\setkeys{thai}{numerals}
@@ -43,7 +51,7 @@
\def\headtoname{เรียน}%
\def\proofname{พิสูจน์}%
%\def\glossaryname{}%
- }
+}
\def\datethai{%
\def\thai@month{%
\ifcase\month\or
@@ -54,7 +62,7 @@
\thai@year=\year%
\advance\thai@year by 543%
\def\today{\thainumber\day \space \thai@month\space พ.ศ.~\thainumber\thai@year}%
- }
+}
%NB: thai-latex had "plus 0.6pt", but .4em appears to give better results
% FIXME to avoid name clashes, rename \wbr to \wordbreak or \thaiworkbreak ?
@@ -72,10 +80,10 @@
}
\def\thainumber#1{%
- \if@thai@numerals%
+ \if@thai@numerals
\thaidigits{\number#1}%
%%{\protect\addfontfeature{Mapping=thaidigits}\protect\number#1}
- \else%
+ \else
\number#1%
%%{\protect\reset@font\number#1}
\fi}
@@ -95,57 +103,36 @@
\def\thai@numbers{%
\let\@latinalph\@alph%
\let\@latinAlph\@Alph%
- \if@thai@numerals%
+ \if@thai@numerals
\let\@alph\@thaialph%
\let\@Alph\@thaiAlph%
\fi
- }
+}
\def\nothai@numbers{%
\let\@alph\@latinalph%
\let\@Alph\@latinAlph%
- }
+}
\def\thai@globalnumbers{%
\let\orig@arabic\@arabic%
\let\@arabic\thainumber%
\renewcommand{\thefootnote}{\protect\thainumber{\c@footnote}}%
- }
+}
\def\nothai@globalnumbers{%
\let\@arabic\orig@arabic%
\renewcommand\thefootnote{\protect\number{\c@footnote}}%
- }
-
-\def\thai@font{%
- \@ifundefined{thaifont}{%
- \normalfontlatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@script{thai}%
- \if@tempswa
- \addfontfeature{Script=Thai}%
- \else
- \PackageError{polyglossia}{^^J
- The current font does not contain the Thai script!^^J
- Please define \string\thaifont\space with \string\newfontfamily}%
- \fi}%
- {\thaifont}%
}
-\def\selectnormalfontthai{%
- \let\normalfont=\thai@font%
- \let\rmfamily=\thai@font%
- \let\sffamily=\thai@font%
- \let\ttfamily=\thai@font%
- \def\reset@font{\normalfont}}
-
-\def\thai@language{\language=\l@nohyphenation}
-
\def\blockextras@thai{%
+%%TODO \XeTeXlinebreaklocales "th"% uses ICU to find line breaks on the basis of a dictionary lookup-- make this optional? (in case a user might prefer a preprocessor
\let\orig@baselinestrech\baselinestretch%
\renewcommand{\baselinestretch}{1.2}%
- }
+}
\def\noblockextras@thai{%
+%%TODO \XeTeXlinebreaklocales "en"%
\let\baselinestrech\orig@baselinestretch%
- }
+}
+
\endinput
%TODO ?
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-turkish.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-turkish.ldf
index 68665f6f6ca..b604c6ccacb 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-turkish.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-turkish.ldf
@@ -1,25 +1,13 @@
\ProvidesFile{gloss-turkish.ldf}[polyglossia: module for turkish]
\RequirePackage{hijrical}
\makeatletter
-
-\def\turkish@font{%
-\font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
-\@ifundefined{turkishfont}{%
- \zf@check@ot@lang{TUR}%
- \if@tempswa
- \addfontfeature{Language=Turkish}%
- \else
- \zf@check@ot@lang{TRK}%
- \if@tempswa
- \addfontfeature{Language=Turkish}\fi%
- \fi}
- {\turkishfont}%
-}%
-
-\ifx\l@turkish\@undefined
- \xpg@nopatterns{turkish}
- \adddialect\l@turkish\l@nohyphenation
-\fi
+\PolyglossiaSetup{turkish}{
+ hyphennames={turkish},
+ hyphenmins={2,2},
+ langtag=TRK,
+ frenchspacing=true,
+ fontsetup=true
+ }
\newXeTeXintercharclass\turkish@punctthin % ! :
\newXeTeXintercharclass\turkish@punctthick % =
@@ -28,7 +16,6 @@
\def\turkish@punctthickspace{{\unskip\nobreakspace}}
\def\turkish@punctuation{%
- \frenchspacing%
\XeTeXinterchartokenstate=1%
\XeTeXcharclass `\! \turkish@punctthin
\XeTeXcharclass `\: \turkish@punctthin
@@ -38,7 +25,9 @@
}
\def\noturkish@punctuation{%
- \nonfrenchspacing%
+ \XeTeXcharclass `\! \z@
+ \XeTeXcharclass `\: \z@
+ \XeTeXcharclass `\= \z@
\XeTeXinterchartokenstate=0%
}
@@ -79,10 +68,6 @@
\DefineFormatHijriDate{turkish}{%
\number\value{Hijriday}\space\hijrimonthturkish{\value{Hijrimonth}}\space\number\value{Hijriyear}}
-\def\turkish@language{\language=\l@turkish}
-
-\setlocalhyphenmins{turkish}{2}{2}%
-
\def\noextras@turkish{%
\noturkish@punctuation%
}
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-turkmen.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-turkmen.ldf
new file mode 100644
index 00000000000..07180c208fd
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-turkmen.ldf
@@ -0,0 +1,43 @@
+\ProvidesFile{gloss-turkmen.ldf}[polyglossia: module for turkmen]
+%% Translations provided by Nazar Annagurban <nazartm at gmail dot com>
+\makeatletter
+\PolyglossiaSetup{turkmen}{
+ hyphennames={turkmen},
+ hyphenmins={2,2},
+ langtag=TKM,
+ frenchspacing=false,
+ fontsetup=true
+}
+
+\def\captionsturkmen{%
+ \def\prefacename{Sözbaşy}%
+ \def\refname{Çeşmeler}%
+ \def\abstractname{Gysgaça manysy}%
+ \def\bibname{Çeşmeler}%
+ \def\chaptername{Bap}%
+ \def\appendixname{Goşmaça}%
+ \def\contentsname{Mazmuny}%
+ \def\listfigurename{Suratlaryň sanawy}%
+ \def\listtablename{Tablisalaryň sanawy}%
+ \def\indexname{Indeks}%
+ \def\figurename{Surat}%
+ \def\tablename{Tablisa}%
+ \def\partname{Bölüm}%
+ \def\enclname{Goşmaça}%
+ \def\ccname{Iberilenler}%
+ \def\headtoname{Kime}%
+ \def\pagename{Sahypa}%
+ \def\subjectname{Tema}%
+ \def\seename{ser.}%
+ \def\alsoname{şuňa-da ser.}%
+ \def\proofname{Delil}%
+ \def\glossaryname{Sözlük}%
+}
+\def\dateturkmen{%
+ \def\today{\number\day~\ifcase\month\or
+ Ýanwar\or Fewral\or Mart\or Aprel\or Maý\or Iýun\or
+ Iýul\or Awgust\or Sentýabr\or Oktýabr\or Noýabr\or
+ Dekabr\fi
+ \space\number\year}%
+}
+\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-ukrainian.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-ukrainian.ldf
index a96a838d825..e49232faf15 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-ukrainian.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-ukrainian.ldf
@@ -1,35 +1,17 @@
\ProvidesFile{gloss-ukrainian.ldf}[polyglossia: module for ukrainian]
% Strings taken from Babel
% and revised by Roman Kyrylych
-%
\makeatletter
-\ifx\l@ukrainian\@undefined%
- \xpg@nopatterns{Ukrainian}%
- \adddialect\l@ukrainian\l@nohyphenation%
-\fi
-
-\def\ukrainian@font{%
- \@ifundefined{ukrainianfont}{%
- \@ifundefined{cyrillicfont}{%
- \normalfontlatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@script{cyrl}%
- \if@tempswa
- \addfontfeature{Script=Cyrillic}%
- \else
- \PackageError{polyglossia}{^^J
- The current font does not contain the Cyrillic script!^^J
- Please define \string\cyrillicfont\space or \string\ukrainianfont\space with \newfontfamily}%
- \fi
- \zf@check@ot@lang{UKR}%
- \if@tempswa\addfontfeature{Language=Ukrainian}\fi
- }%
- {\cyrillicfont%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@lang{UKR}%
- \if@tempswa\addfontfeature{Language=Ukrainian}\fi}}%
- {\ukrainianfont}%
+\PolyglossiaSetup{ukrainian}{
+ script=Cyrillic,
+ scripttag=cyrl,
+ langtag=UKR,
+ hyphennames={ukrainian},
+ hyphenmins={2,2},
+ frenchspacing=true,
+ fontsetup=true
+ %TODO localalph
}
\def\captionsukrainian{%
@@ -89,29 +71,13 @@
\let\latin@alph\@alph%
\let\@Alph\ukrainian@Alph%
\let\@alph\ukrainian@alph%
- }
+}
\def\noukrainian@numbers{%
\let\@Alph\latin@Alph%
\let\@alph\latin@alph%
}
-\def\ukrainian@language{\language=\l@ukrainian}
-
-\setlocalhyphenmins{ukrainian}{2}{2}%
-
-\def\noextras@ukrainian{%
- \nonfrenchspacing%
- }
-
-\def\blockextras@ukrainian{%
- \frenchspacing%
- }
-
-\def\inlineextras@ukrainian{%
- \frenchspacing%
- }
-
\endinput
%TODO? stuff from Babel
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-urdu.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-urdu.ldf
index a1759c19ed5..b205431bf54 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-urdu.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-urdu.ldf
@@ -5,12 +5,16 @@
\RequirePackage{hijrical}
\makeatletter
-\ifx\l@urdu\@undefined
- %\xpg@nopatterns{urdu}%
- \adddialect\l@urdu\l@nohyphenation
-\fi
-
-\def\urdu@RL{\relax}
+\PolyglossiaSetup{urdu}{
+ script=Arabic,
+ direction=RL,
+ scripttag=arab,
+ langtag=URD,
+ hyphennames={urdu,nohyphenation},
+ fontsetup=true
+ %TODO localalph={abjad,abjad}
+ %TODO localnumber=urdunumber
+}
\newif\if@western@numerals
\def\tmp@western{western}
@@ -20,6 +24,7 @@
\else\@western@numeralsfalse%
\fi}
+%% TODO USE boolkey instead !!!
%this is needed for \abjad in arabicnumbers.sty
\def\tmp@true{true}
\define@key{urdu}{abjadjimnotail}[true]{%
@@ -51,32 +56,32 @@
%\Hijritoday is now locale-aware and will format the date with this macro:
\DefineFormatHijriDate{urdu}{\@ensure@RTL{%
-\urdunumber{\value{Hijriday}}؍\space\urduhijrimonth{\value{Hijrimonth}}\space\urdunumber{\value{Hijriyear}}}}
+ \urdunumber{\value{Hijriday}}؍\space\urduhijrimonth{\value{Hijrimonth}}\space\urdunumber{\value{Hijriyear}}}}
\def\captionsurdu{%
-\def\refname{\@ensure@RTL{حوالہ جات}}%
-\def\abstractname{\@ensure@RTL{ملخّص}}%
-\def\bibname{\@ensure@RTL{کتابیات}}%
-\def\prefacename{\@ensure@RTL{دیباچہ}}%
-\def\chaptername{\@ensure@RTL{باب}}%
-\def\appendixname{\@ensure@RTL{ضمیمہ}}%
-\def\contentsname{\@ensure@RTL{فہرست عنوانات}}%
-\def\listfigurename{\@ensure@RTL{فہرست اشکال}}%
-\def\listtablename{\@ensure@RTL{فہرست جداول}}%
-\def\indexname{\@ensure@RTL{اشاریہ}}%
-\def\figurename{\@ensure@RTL{شكل}}%
-\def\tablename{\@ensure@RTL{جدول}}%
-%\def\thepart{\text<lang>{}}%
-\def\partname{\@ensure@RTL{حصّہ}}%
-\def\pagename{\@ensure@RTL{صفحہ}}%
-\def\seename{\@ensure@RTL{ملاحظہ ہو}}%
-\def\alsoname{\@ensure@RTL{ایضاً}}%
-\def\enclname{\@ensure@RTL{منسلک}}%
-\def\ccname{\@ensure@RTL{نقل}}%
-\def\headtoname{\@ensure@RTL{بملاحظہ}}%
-\def\proofname{\@ensure@RTL{ثبوت}}%
-\def\glossaryname{\@ensure@RTL{لغت}}%
-\def\sectionname{\@ensure@RTL{فصل}}%
+ \def\refname{\@ensure@RTL{حوالہ جات}}%
+ \def\abstractname{\@ensure@RTL{ملخّص}}%
+ \def\bibname{\@ensure@RTL{کتابیات}}%
+ \def\prefacename{\@ensure@RTL{دیباچہ}}%
+ \def\chaptername{\@ensure@RTL{باب}}%
+ \def\appendixname{\@ensure@RTL{ضمیمہ}}%
+ \def\contentsname{\@ensure@RTL{فہرست عنوانات}}%
+ \def\listfigurename{\@ensure@RTL{فہرست اشکال}}%
+ \def\listtablename{\@ensure@RTL{فہرست جداول}}%
+ \def\indexname{\@ensure@RTL{اشاریہ}}%
+ \def\figurename{\@ensure@RTL{شكل}}%
+ \def\tablename{\@ensure@RTL{جدول}}%
+ %\def\thepart{\text<lang>{}}%
+ \def\partname{\@ensure@RTL{حصّہ}}%
+ \def\pagename{\@ensure@RTL{صفحہ}}%
+ \def\seename{\@ensure@RTL{ملاحظہ ہو}}%
+ \def\alsoname{\@ensure@RTL{ایضاً}}%
+ \def\enclname{\@ensure@RTL{منسلک}}%
+ \def\ccname{\@ensure@RTL{نقل}}%
+ \def\headtoname{\@ensure@RTL{بملاحظہ}}%
+ \def\proofname{\@ensure@RTL{ثبوت}}%
+ \def\glossaryname{\@ensure@RTL{لغت}}%
+ \def\sectionname{\@ensure@RTL{فصل}}%
}
\def\dateurdu{%
@@ -95,96 +100,40 @@
\else
%%FIXME use farsidigits instead???
\protect\arabicdigits{\number#1}%
- %%{\protect\addfontfeature{Mapping=arabicdigits}\number#1}%
\fi}
\def\urdu@numbers{%
- \let\@latinalph\@alph%
- \let\@latinAlph\@Alph%
- \let\@alph\abjad%
- \let\@Alph\abjad%
+ \let\@latinalph\@alph%
+ \let\@latinAlph\@Alph%
+ \let\@alph\abjad%
+ \let\@Alph\abjad%
}
+
\def\nourdu@numbers{%
\let\@alph\@latinalph%
\let\@Alph\@latinAlph%
}
-\def\urdu@globalnumbers{%
- \let\orig@arabic\@arabic%
- \let\@arabic\urdunumber%
- % For some reason \thefootnote needs to be set separately:
- \renewcommand\thefootnote{\protect\urdunumber{\c@footnote}}%
- }
-\def\nourdu@globalnumbers{
- \let\@arabic\orig@arabic%
- \renewcommand\thefootnote{\protect\number{\c@footnote}}%
- }
-
-\def\urdu@language{\language=\l@urdu}
-
-\def\urdu@font{%
- \@ifundefined{urdufont}{%
- \@ifundefined{arabicfont}{%
- \normalfontlatin%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@script{arab}%
- \if@tempswa
- \addfontfeature{Script=Arabic}%
- \else
- \PackageError{polyglossia}{^^J
- The current font does not contain the Arabic script!^^J
- Please define \string\arabicfont\space or \string\urdufont\space with \newfontfamily}%
- \fi
- \zf@check@ot@lang{URD}%
- \if@tempswa\addfontfeature{Language=urdu}\fi}%
- {\arabicfont%
- \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
- \zf@check@ot@lang{URD}%
- \if@tempswa\addfontfeature{Language=urdu}\fi}%
- }%
- {\urdufont}%
-}
-% TODO add setup to define Sans and Mono Arabic fonts if desired
-\def\urdu@font@sf{%
- \@ifundefined{urdufontsf}{%
-% \sffamily% FIXME
-% \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
-% \zf@check@ot@script{arab}%
-% \if@tempswa%
-% \addfontfeature{Script=Arabic}%
-% \else%
- \urdu@font%
-% \fi%
- }%
- {\urdufontsf}%
-}
-\def\urdu@font@tt{%
- \@ifundefined{urdufonttt}{%
-% \ttfamily% FIXME
-% \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
-% \zf@check@ot@script{arab}%
-% \if@tempswa%
-% \addfontfeature{Script=Arabic}%
-% \else%
- \urdu@font%
-% \fi%
- }%
- {\urdufonttt}%
-}
+\def\urdu@globalnumbers{%
+ \let\orig@arabic\@arabic%
+ \let\@arabic\urdunumber%
+ % For some reason \thefootnote needs to be set separately:
+ \renewcommand\thefootnote{\protect\urdunumber{\c@footnote}}%
+ }
-\def\selectnormalfonturdu{%
- \let\normalfont=\urdu@font%
- \let\rmfamily=\urdu@font%
- \let\sffamily=\urdu@font@sf%
- \let\ttfamily=\urdu@font@tt%
- \def\reset@font{\normalfont}}
+\def\nourdu@globalnumbers{
+ \let\@arabic\orig@arabic%
+ \renewcommand\thefootnote{\protect\number{\c@footnote}}%
+ }
\def\blockextras@urdu{%
- \let\@@MakeUppercase\MakeUppercase%
- \def\MakeUppercase##1{##1}%
- }
+ \let\@@MakeUppercase\MakeUppercase%
+ \def\MakeUppercase##1{##1}%
+ }
+
\def\noextras@urdu{%
- \let\MakeUppercase\@@MakeUppercase%
- }
+ \let\MakeUppercase\@@MakeUppercase%
+ }
+
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-usorbian.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-usorbian.ldf
index 267e99a5f10..810354ce1d4 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-usorbian.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-usorbian.ldf
@@ -1,18 +1,10 @@
\ProvidesFile{gloss-usorbian.ldf}[polyglossia: module for upper sorbian]
-\makeatletter
-\def\usorbian@font{\selectfontfamilylatin}
-\ifx\l@uppersorbian\@undefined
- \ifx\l@usorbian\@undefined
- \xpg@nopatterns{Upper Sorbian}
- \adddialect\l@usorbian\l@nohyphenation
- \let\l@uppersorbian\l@usorbian
- \else
- \let\l@uppersorbian\l@usorbian
- \fi
-\else
- \let\l@usorbian\l@uppersorbian
-\fi
+\PolyglossiaSetup{usorbian}{
+ hyphennames={usorbian,uppersorbian},
+ hyphenmins={2,2},
+ fontsetup=true,
+}
\def\captionsusorbian{%
\def\refname{Referency}%
@@ -38,22 +30,19 @@
\def\proofname{Proof}% <-- needs translation
\def\glossaryname{Glossary}% <-- needs translation
}%
+
\def\dateusorbian{%
- \def\today{\number\day.~\ifcase\month\or
+ \def\today{\number\day.~\ifcase\month\or
januara\or februara\or měrca\or apryla\or meje\or junija\or
julija\or awgusta\or septembra\or oktobra\or
nowembra\or decembra\fi
\space \number\year}%
-%TODO implement option olddate:
+ %TODO implement option olddate:
\def\oldtoday{\number\day.~\ifcase\month\or
wulkeho róžka\or małeho róžka\or nalětnika\or
jutrownika\or róžownika\or smažnika\or pražnika\or
žnjenca\or požnjenca\or winowca\or nazymnika\or
hodownika\fi \space \number\year}%
- }
-
-\def\usorbian@language{\language=\l@usorbian}
-
-\setlocalhyphenmins{usorbian}{2}{2}%
+ }
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-vietnamese.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-vietnamese.ldf
index 26c7728a9d0..ac6bcc0f9a2 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-vietnamese.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-vietnamese.ldf
@@ -1,63 +1,43 @@
\ProvidesFile{gloss-vietnamese.ldf}[polyglossia: module for vietnamese]
%% Strings contributed by Daniel Owens < dhowens . pmbx . net >
-\makeatletter
-\def\vietnamese@font{%
-\font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
-\@ifundefined{vietnamesefont}{%
- \zf@check@ot@lang{VIT}%
- \if@tempswa\addfontfeature{Language=Vietnamese}\fi}
- {\vietnamesefont}%
-}%
-
-\ifx\l@vietnamese\@undefined%
- \xpg@nopatterns{Vietnamese}%
- \adddialect\l@vietnamese\l@nohyphenation%
-\fi
+\PolyglossiaSetup{vietnamese}{
+ hyphennames={vietnamese},
+ hyphenmins={2,2},
+ langtag=VIT,
+ frenchspacing=true,
+ fontsetup=true,
+}
\def\captionsvietnamese{%
- \def\refname{Tài liệu}%
- \def\abstractname{Tóm tắt nội dung}%
- \def\bibname{Tài liệu tham khảo}%
- \def\prefacename{Lời nói đầu}%
- \def\chaptername{Chương}%
- \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\indexname{Chỉ mục}%
- \def\figurename{Hình}%
- \def\tablename{Bẳng}%
- \def\partname{Phần}%
- \def\pagename{Trang}%
- \def\seename{Xem}%
- \def\alsoname{Xem thêm}%
- \def\enclname{Kèm theo}%
- \def\ccname{Cùng gửi}%
- \def\headtoname{Gửi}%
- \def\proofname{Chứng minh}%
- \def\glossaryname{Từ điển chú giải}%
- }
+ \def\refname{Tài liệu}%
+ \def\abstractname{Tóm tắt nội dung}%
+ \def\bibname{Tài liệu tham khảo}%
+ \def\prefacename{Lời nói đầu}%
+ \def\chaptername{Chương}%
+ \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\indexname{Chỉ mục}%
+ \def\figurename{Hình}%
+ \def\tablename{Bẳng}%
+ \def\partname{Phần}%
+ \def\pagename{Trang}%
+ \def\seename{Xem}%
+ \def\alsoname{Xem thêm}%
+ \def\enclname{Kèm theo}%
+ \def\ccname{Cùng gửi}%
+ \def\headtoname{Gửi}%
+ \def\proofname{Chứng minh}%
+ \def\glossaryname{Từ điển chú giải}%
+ }
+
\def\datevietnamese{%
- \def\today{%
+ \def\today{%
Ngày \number\day\space
tháng \number\month\space
năm \number\year}%
- }
-
-\def\vietnamese@language{\language=\l@vietnamese}
-
-\setlocalhyphenmins{vietnamese}{2}{2}%
+ }
-\def\noextras@vietnamese{%
- \nonfrenchspacing%
-}
-
-\def\blockextras@vietnamese{%
- \frenchspacing%
-}
-
-\def\inlineextras@vietnamese{%
- \frenchspacing%
-}
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-welsh.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-welsh.ldf
index da110307c61..d861308b2c7 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-welsh.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-welsh.ldf
@@ -1,47 +1,43 @@
\ProvidesFile{gloss-welsh.ldf}[polyglossia: module for welsh]
-\makeatletter
-\def\welsh@font{\selectfontfamilylatin}
-\ifx\l@welsh\@undefined%
- \xpg@nopatterns{Welsh}%
- \adddialect\l@welsh\l@nohyphenation%
-\fi
+\PolyglossiaSetup{welsh}{
+ hyphennames={welsh},
+ hyphenmins={2,3},
+ fontsetup=true,
+}
\def\captionswelsh{%
- \def\refname{Cyfeiriadau}%
- \def\abstractname{Crynodeb}%
- \def\bibname{Llyfryddiaeth}%
- \def\prefacename{Rhagair}%
- \def\chaptername{Pennod}%
- \def\appendixname{Atodiad}%
- \def\contentsname{Cynnwys}%
- \def\listfigurename{Rhestr Ddarluniau}%
- \def\listtablename{Rhestr Dablau}%
- \def\indexname{Mynegai}%
- \def\figurename{Darlun}%
- \def\tablename{Taflen}%
- %\def\thepart{}%
- \def\partname{Rhan}%
- \def\pagename{tudalen}%
- \def\seename{gweler}%
- \def\alsoname{gweler hefyd}%
- \def\enclname{amgaeëdig}%
- \def\ccname{copïau}%
- \def\headtoname{At}%
- \def\proofname{Prawf}%
- \def\glossaryname{Rhestr termau}%
- }
+ \def\refname{Cyfeiriadau}%
+ \def\abstractname{Crynodeb}%
+ \def\bibname{Llyfryddiaeth}%
+ \def\prefacename{Rhagair}%
+ \def\chaptername{Pennod}%
+ \def\appendixname{Atodiad}%
+ \def\contentsname{Cynnwys}%
+ \def\listfigurename{Rhestr Ddarluniau}%
+ \def\listtablename{Rhestr Dablau}%
+ \def\indexname{Mynegai}%
+ \def\figurename{Darlun}%
+ \def\tablename{Taflen}%
+ %\def\thepart{}%
+ \def\partname{Rhan}%
+ \def\pagename{tudalen}%
+ \def\seename{gweler}%
+ \def\alsoname{gweler hefyd}%
+ \def\enclname{amgaeëdig}%
+ \def\ccname{copïau}%
+ \def\headtoname{At}%
+ \def\proofname{Prawf}%
+ \def\glossaryname{Rhestr termau}%
+ }
+
\def\datewelsh{%
- \def\today{\ifnum\day=1\relax 1\/\textsuperscript{añ}\else%
+ \def\today{\ifnum\day=1\relax 1\/\textsuperscript{añ}\else
\number\day\fi\space\ifcase\month\or
- Ionawr\or Chwefror\or Mawrth\or Ebrill\or
- Mai\or Mehefin\or Gorffennaf\or Awst\or
- Medi\or Hydref\or Tachwedd\or Rhagfyr\fi%
- \space\number\year}%
- }
-
-\def\welsh@language{\language=\l@welsh}
-
-\setlocalhyphenmins{welsh}{2}{3}%
+ Ionawr\or Chwefror\or Mawrth\or Ebrill\or
+ Mai\or Mehefin\or Gorffennaf\or Awst\or
+ Medi\or Hydref\or Tachwedd\or Rhagfyr\fi%
+ \space\number\year}%
+ }
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/hijrical.sty b/Master/texmf-dist/tex/xelatex/polyglossia/hijrical.sty
index 0492baa6275..d4f3fe91d07 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/hijrical.sty
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/hijrical.sty
@@ -1,8 +1,15 @@
\ProvidesPackage{hijrical}
- [2007/12/27 v0.1 %
+ [2010/07/12 v0.2 %
Islamic calendar]
-\RequirePackage{bidi}
+\RequirePackage{calc}
\RequirePackage{arabicnumbers}
+\@ifpackageloaded{bidi}{}{\newif\if@RTL\@RTLfalse}
+\@ifpackageloaded{l3calc}{\PackageError{hijrical}{\MessageBreak
+Package l3calc is loaded, which replaces the functionality of
+calc. Computation of Hijri dates will not work properly with
+l3calc! The latest version of expl3 on CTAN no longer loads
+l3calc. Please update expl3!
+}{}}{}
\@ifundefined{@Remainder}{\input{cal-util.def}}{}
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/polyglossia.sty b/Master/texmf-dist/tex/xelatex/polyglossia/polyglossia.sty
index 02889374b43..f990db9fd3b 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/polyglossia.sty
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/polyglossia.sty
@@ -1,9 +1,17 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{polyglossia}[2010/03/23 v1.1.1
+\ProvidesPackage{polyglossia}[2010/07/15 v1.2.0
Babel replacement for XeLaTeX]
\RequirePackage{etoolbox}
\RequirePackage{makecmds}
-\RequirePackage{fontspec} %which itself depends on xkeyval
+\RequirePackage{fontspec}[2010/06/08]% v2.0
+% fontspec now uses LaTeX3 packages such as expl3, so we need this:
+% TODO is is possible to localize this further?
+\ExplSyntaxOn
+
+\ifcsundef{newXeTeXintercharclass}{%
+ \xpg@error{Your~ xelatex~ format~ appears~ to~ be~ outdated!^^J
+~~~~Please~ update~ your~ system~ and~ recreate~ it~ with~ fmtutil.}
+ }{}
%% This is for compatibility with Babel-aware package:
\cslet{ver@babel.sty}{\@empty} % this "fakes" babel
@@ -11,26 +19,41 @@
\AtEndPreamble{\let\bbl@set@language\xpg@set@language} %for biblatex
\AtEndPreamble{\let\bbl@main@language\xpg@main@language} %for biblatex
+%% for \docvslist (etoolbox)
+\providecommand*{\do}[1]{}%
+
%% custom message macros
+\providecommand*{\xpg@error}[1]{%
+ \PackageError{polyglossia}{#1}{}%
+}
+
\providecommand*{\xpg@warning}[1]{%
- \PackageWarning{polyglossia}%
- {#1}}
+ \PackageWarning{polyglossia}{#1}%
+}
+
\providecommand*{\xpg@info}[1]{%
\PackageInfo{polyglossia}%
- {#1\@gobble}} %% the \@gobble is to prevent displaying the line nr
-\providecommand*{\xpg@nopatterns}[1]{%
- \xpg@warning{No hyphenation patterns were loaded for `#1'\MessageBreak
- I will use the patterns for \string\language=\string\l@nohyphenation\space instead}}
-\providecommand*{\xpg@nolang}[1]{%
- \xpg@warning{File gloss-#1.ldf does not exist!^^J
- I will nevertheless try to use hyphenation patterns for #1.}}%
- %TODO try at least to load the hyphenation patterns for #1.
+ {#1\@gobble}%
+} %% the \@gobble is to prevent displaying the line nr
+
+%TODO change all instances of \xpg@nopatterns in gloss-*.ldf files
+\providecommand*{\xpg@nopatterns@fallback}[2][nohyphenation]{%
+ \xpg@warning{No~ hyphenation~ patterns~ were~ loaded~ for~ `#2'\MessageBreak
+ I~ will~ use~ \string\language=\string\l@ #1\space instead}%
+ \expandafter\adddialect\csname l@#2\expandafter\endcsname\csname l@#1\endcsname\relax}
+
+ \providecommand*{\xpg@nopatterns}[1]{%
+ \xpg@warning{No~ hyphenation~ patterns~ were~ loaded~ for~ `#1'\MessageBreak
+ I~ will~ use~ \string\language=\string\l@nohyphenation\space instead}%
+ %%TODO? \expandafter\adddialect\csname l@#1\endcsname\l@nohyphenation\relax
+ }
+
\def\xpg@ill@value#1#2{%
- \xpg@warning{Illegal value (#1) for #2}}
+ \xpg@warning{Illegal~ value~ (#1)~ for~ #2}}
%% use macro if defined, else warn that it is not
\def\csuse@warn#1{%
- \ifcsundef{#1}{\xpg@warning{ \expandafter\string\csname #1\endcsname\space is not defined}}%
+ \ifcsundef{#1}{\xpg@warning{ \expandafter\string\csname #1\endcsname\space is~ not~ defined}}%
{\csname #1\endcsname}}
%% ensure directionality if bidi is loaded, else ignore
@@ -39,44 +62,377 @@
%% compatibility with babel
\let\addto\gappto% gappto is defined in etoolbox
-%%
+
+%% == Utility macros ==
+%% They are needed because \MakeUppercase and \MakeLowercase are protected,
+%% but we need to change case while defining csnames when setting up fonts for
+%% non-Latin scripts. For instance with "Script=Arabic" we need to lowercase
+%% "Arabic" to create \arabicfont.
+\def\xpg@uppercasefirst#1{\expandafter\xpg@@uppercasefirst #1}
+\def\xpg@@uppercasefirst#1{%
+ \if a#1A\else
+ \if b#1B\else
+ \if c#1C\else
+ \if d#1D\else
+ \if e#1E\else
+ \if f#1F\else
+ \if g#1G\else
+ \if h#1H\else
+ \if i#1I\else
+ \if j#1J\else
+ \if k#1K\else
+ \if l#1L\else
+ \if m#1M\else
+ \if n#1N\else
+ \if o#1O\else
+ \if p#1P\else
+ \if q#1Q\else
+ \if r#1R\else
+ \if s#1S\else
+ \if t#1T\else
+ \if u#1U\else
+ \if v#1V\else
+ \if w#1W\else
+ \if x#1X\else
+ \if y#1Y\else
+ \if z#1Z\else
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+}
+
+\def\xpg@lowercasefirst#1{\expandafter\xpg@@lowercasefirst #1}
+\def\xpg@@lowercasefirst#1{%
+ \if A#1a\else
+ \if B#1b\else
+ \if C#1c\else
+ \if D#1d\else
+ \if E#1e\else
+ \if F#1f\else
+ \if G#1g\else
+ \if H#1h\else
+ \if I#1i\else
+ \if J#1j\else
+ \if K#1k\else
+ \if L#1l\else
+ \if M#1m\else
+ \if N#1n\else
+ \if O#1o\else
+ \if P#1p\else
+ \if Q#1q\else
+ \if R#1r\else
+ \if S#1s\else
+ \if T#1t\else
+ \if U#1u\else
+ \if V#1v\else
+ \if W#1w\else
+ \if X#1x\else
+ \if Y#1y\else
+ \if Z#1z\else
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+}
+
+%% NEW EXPERIMENTAL SETUP INTERFACE FOR GLOSS FILES
+%% options currently available:
+%% language : the name of the language (as understood by fontspec)
+%% hyphennames : the different hyphenation patterns to try (comma separated list)
+%%% TODO: if pattern is prefixed by !, then it should be loaded as a fallback, with \xpg@nopatterns@fallback - i.e. with a warning: e.g. sanskrit for hindi, or catalan for asturian.
+%% script : the name of the script (as understood by fontspec) – default is Latin
+%% direction : the direction of the script: LR or RL
+%% scripttag : the OpenType tag for the script
+%% langtag : the OpenType tag for the language
+%% hyphenmins : the hyphenmins for this language (comma-sep list of two integers)
+%% frenchspacing : boolean
+%% indentfirst : boolean
+%% fontsetup : boolean
+%% TODO: nouppercase : boolean (for scripts like Arabic, Devanagari, etc which have no concept of uppercase/lowercase)
+%% TODO: localalph = {<alph_csname>,<Alph_csname>}
+%% TODO: localnumber = <csname>
+%% or even better localdigits = {0123456789} for fully automatic setup
+
+\newcommand*\PolyglossiaSetup[2]{%
+ %define booleans etoolbox style and set defaults
+ %% TODO ? \providetoggle{#1@setup@done}%
+ \providetoggle{#1@RL}%
+ \providetoggle{#1@latin}\toggletrue{#1@latin}%
+ \providetoggle{#1@scriptlangequal}% whether lang and script names are same: e.g. Hebrew, Arabic
+ \providebool{#1@fontsetup}%
+ \providebool{#1@indentfirst}%
+ \providebool{#1@frenchspacing}%
+ % we initialize these so that we can use \gappto below
+ \csgdef{init@extras@#1}{}%
+ \csgdef{init@noextras@#1}{}% we don't use this yet: remove?
+ \csgdef{xpg@langname@#1}{\xpg@uppercasefirst{#1}}%
+ %needed for docvslist with hyphennames key:
+ \renewcommand*{\do}[1]{%
+ \ifcsdef{l@#1}{}{%
+ \ifstrequal{#1}{##1}{}%
+ {\ifcsdef{l@##1}%
+ {\csletcs{l@#1}{l@##1}\listbreak}%
+ {}%
+ }%
+ }%
+ }%
+ %define all keys:
+ \xpg@define@keys{#1}%
+ \setkeys[xpg@setup]{#1}{#2}%
+ % here we do the fontsetup:
+ \ifbool{#1@fontsetup}%
+ {\xpg@fontsetup@auto{#1}}%
+ {\xpg@info{Skipping~ automatic~ font~ setup~ for~ language~ #1}}%
+ %% TODO? \toggletrue{#1@setup@done}%
+ % reinit \do
+ \renewcommand*{\do}[1]{\setotherlanguage{##1}}%
+}
+
+\def\xpg@first#1,#2{#1}
+\def\xpg@second#1,#2{#2}
+
+\def\xpg@define@keys#1{%
+ \define@key[xpg@setup]{#1}{script}{%
+ \ifstrequal{##1}{Latin}%
+ {\toggletrue{#1@latin}}%
+ {\togglefalse{#1@latin}}%
+ \csgdef{xpg@scriptname@#1}{##1}%
+ \csgdef{xpg@scriptname@#1@lc}{\xpg@lowercasefirst{##1}}}%
+ \define@key[xpg@setup]{#1}{scripttag}{%
+ \csgdef{xpg@scripttag@#1}{##1}}%
+ \define@key[xpg@setup]{#1}{language}{%
+ \csgdef{xpg@langname@#1}{##1}}%
+ \define@key[xpg@setup]{#1}{langtag}{%
+ \csgdef{xpg@langtag@#1}{##1}}%
+ \define@key[xpg@setup]{#1}{hyphennames}[{#1}]{%
+ \docsvlist{##1}%
+ % if l@#1 does not yet exist,
+ % we assign it to nohyphenation
+ % we do this here in case the hyphennames key was omitted
+ \ifcsundef{l@#1}%
+ {\xpg@nopatterns{\csname xpg@langname@#1\endcsname}%
+ \expandafter\adddialect\csname l@#1\endcsname\l@nohyphenation\relax}{}%
+ \csdef{#1@language}{\language=\csname l@#1\endcsname}%
+ }%
+ \define@choicekey+[xpg@setup]{#1}{direction}[\val\nr]{LR,RL}[LR]%
+ {\ifcase\nr\relax
+ \togglefalse{#1@RL}%
+ \or
+ \toggletrue{#1@RL}%
+ \ifcsundef{RTL}{\RequirePackage{bidi}}{}%
+ \fi}%
+ {\xpg@warning{#1: Invalid value \val\space for key "direction"}}%
+ \define@key[xpg@setup]{#1}{hyphenmins}[{2,3}]%
+ {\edef\@tmpfirst{\xpg@first##1}%
+ \edef\@tmpsecond{\xpg@second##1}%
+ \setlocalhyphenmins{#1}{\@tmpfirst}{\@tmpsecond}}%
+ \define@boolkey[xpg@setup]{#1}[#1@]{frenchspacing}[true]{%
+ \ifbool{#1@frenchspacing}%
+ {\csgappto{init@extras@#1}{\frenchspacing}}%
+ {\csgappto{init@extras@#1}{\nonfrenchspacing}}}%
+ \define@boolkey[xpg@setup]{#1}[#1@]{indentfirst}[true]{%
+ \ifbool{#1@indentfirst}%
+ {\csgappto{init@extras@#1}{\french@indent}}%
+ {\csgappto{init@extras@#1}{\nofrench@indent}}}%
+% \define@choicekey*+[xpg@setup]{#1}{fontsetup}[\val\nr]{none,custom,auto}[none]%
+% %{\csgdef{#1@fontsetup}{\val}}%
+% {\xpg@fontsetup{\val}{#1}}%
+% {\xpg@warning{Invalid value \val\space for key "fontsetup" in module "#1"}}%
+ \define@boolkey[xpg@setup]{#1}[#1@]{fontsetup}[true]{}%
+ %TODO assign csnames corr. to localized alph and Alph
+ % \define@key[xpg@setup]{#1}{localalph}[{#1@alph,#1@Alph}]{%
+ % \cslet{xpg@localalph@#1}{\expandafter\csname\xpg@first##1\endcsname}%
+ % \cslet{xpg@localAlph@#1}{\expandafter\csname\xpg@second##1\endcsname}%
+ %}%
+ %TODO same thing with localdigits
+}
+
+%\def\xpg@fontsetup#1{\xpg@csifdef@warn{xpg@fontsetup@#1}}
+%\def\xpg@fontsetup@none#1{\csgdef{#1@font}{\ifcsdef{#1font}{\csname #1font\endcsname}{}}} %<-- simplistic
+%\def\xpg@fontsetup@custom#1{\csuse{#1@font}}
+
+\def\xpg@fontsetup@auto#1{\iftoggle{#1@latin}%
+ {\xpg@fontsetup@latin{#1}}%
+ {\xpg@fontsetup@nonlatin{#1}}%
+}
+
+\def\xpg@addfontfeature@lang#1#2{% #1 is langtag, #2 is langname
+ % Turkish is a special case: tag can be TRK or TUR
+ \edef\tmp@Turkish{Turkish}%
+ \edef\tmp@@langname{#2}%
+ % \ifstrequal{#2}{Turkish}%
+ \ifx\tmp@@langname\tmp@Turkish
+ \fontspec_if_language:nTF {TRK}%
+ {\addfontfeature{Language=Turkish}}%
+ {\fontspec_if_language:nTF {TUR}%
+ {\addfontfeature{Language=Turkish}}%
+ {}}%
+ % else not Turkish
+ \else
+ \edef\tmp@@langparam{Language=#2}%
+ \expandafter\expandafter\expandafter\fontspec_if_language:nTF \expandafter{#1}%
+ {\expandafter\expandafter\expandafter\addfontfeature\expandafter{\tmp@@langparam}}%
+ {}%
+ \fi
+}
+
+\def\xpg@addfontfeature@script#1#2{% #1 is scripttag, #2 is scriptname
+ \edef\tmp@@scriptparam{Script=#2}%
+ \expandafter\expandafter\expandafter\fontspec_if_script:nTF \expandafter{#1}%
+ {\expandafter\expandafter\expandafter\addfontfeature\expandafter{\tmp@@scriptparam}}%
+ {\xpg@error{^^J
+ The~ current~ roman~ font~ does~ not~ contain~ the~ \expandafter\noexpand#2 ~ script!^^J
+ Please~ define~ \expandafter\string\csname \xpg@lowercasefirst{#2}font\endcsname\space with~ \string\newfontfamily}}%
+}
+
+\def\xpg@fontsetup@latin#1{%
+ \begingroup
+ \csgdef{#1@font@rm}{%
+ \ifcsdef{#1font}{\csname #1font\endcsname}%
+ {\edef\tmp@langtag{\csuse{xpg@langtag@#1}}%
+ \edef\tmp@langname{\csuse{xpg@langname@#1}}%
+ \rmfamilylatin%
+ \ifcsvoid{xpg@langtag@#1}{}{%
+ \ifcsvoid{xpg@langname@#1}{}{%
+ \xpg@addfontfeature@lang{\tmp@langtag}{\tmp@langname}}%
+ }}}%
+ \csgdef{#1@font@sf}{%
+ \ifcsdef{#1fontsf}{\csname #1fontsf\endcsname}%
+ {\edef\tmp@langtag{\csuse{xpg@langtag@#1}}%
+ \edef\tmp@langname{\csuse{xpg@langname@#1}}%
+ \sffamilylatin%
+ \ifcsvoid{xpg@langtag@#1}{}{%
+ \ifcsvoid{xpg@langname@#1}{}{%
+ \xpg@addfontfeature@lang{\tmp@langtag}{\tmp@langname}}%
+ }}}%
+ \csgdef{#1@font@tt}{%
+ \ifcsdef{#1fonttt}{\csname #1fonttt\endcsname}%
+ {\edef\tmp@langtag{\csuse{xpg@langtag@#1}}%
+ \edef\tmp@langname{\csuse{xpg@langname@#1}}%
+ \ttfamilylatin%
+ \ifcsvoid{xpg@langtag@#1}{}{%
+ \ifcsvoid{xpg@langname@#1}{}{%
+ \xpg@addfontfeature@lang{\tmp@langtag}{\tmp@langname}}%
+ }}}%
+ \endgroup
+}
+
+\def\xpg@fontsetup@nonlatin#1{%
+ \begingroup
+ \edef\tmp@langname@lc{#1}% eg ukrainian
+ \edef\tmp@scriptname@lc{\csuse{xpg@scriptname@#1@lc}}% eg cyrillic
+ \ifx\tmp@scriptname@lc\tmp@langname@lc
+ \toggletrue{#1@scriptlangequal}%
+ \else
+ \togglefalse{#1@scriptlangequal}%
+ \fi
+ \csgdef{#1@font@rm}{%
+ \ifcsdef{#1font}%
+ {\@nameuse{#1font}}%
+ {\edef\tmp@scripttag{\csuse{xpg@scripttag@#1}}% eg cyrl
+ \edef\tmp@scriptname{\csuse{xpg@scriptname@#1}}% eg Cyrillic
+ \edef\tmp@langtag{\csuse{xpg@langtag@#1}}% eg UKR
+ \edef\tmp@langname{\csuse{xpg@langname@#1}}% eg Ukrainian
+ \providetoggle{#1@use@script@font}%
+ \iftoggle{#1@scriptlangequal}%
+ {\rmfamilylatin}%
+ {\expandafter\ifcsname\csuse{xpg@scriptname@#1@lc} font\endcsname% eg \cyrillicfont
+ \toggletrue{#1@use@script@font}%
+ \expandafter\csname\csuse{xpg@scriptname@#1@lc} font\endcsname
+ \else
+ \rmfamilylatin
+ \fi}
+ \iftoggle{#1@use@script@font}{}{%
+ \ifcsvoid{xpg@scripttag@#1}{}{%
+ \ifcsvoid{xpg@scriptname@#1}{}{%
+ \xpg@addfontfeature@script{\tmp@scripttag}{\tmp@scriptname}}}}%
+ \ifcsvoid{xpg@langtag@#1}{}{%
+ \ifcsvoid{xpg@langname@#1}{}{%
+ \xpg@addfontfeature@lang{\tmp@langtag}{\tmp@langname}}}%
+ }}%
+ \csgdef{#1@font@sf}{%
+ \ifcsdef{#1fontsf}%
+ {\@nameuse{#1fontsf}}%
+ {\edef\tmp@scripttag{\csuse{xpg@scripttag@#1}}% eg cyrl
+ \edef\tmp@scriptname{\csuse{xpg@scriptname@#1}}% eg Cyrillic
+ \edef\tmp@langtag{\csuse{xpg@langtag@#1}}% eg UKR
+ \edef\tmp@langname{\csuse{xpg@langname@#1}}% eg Ukrainian
+ \providetoggle{#1@use@script@fontsf}%
+ \iftoggle{#1@scriptlangequal}%
+ {\sffamilylatin}%
+ {\expandafter\ifcsname\csuse{xpg@scriptname@#1@lc} fontsf\endcsname% eg \cyrillicfontsf
+ \toggletrue{#1@use@script@fontsf}%
+ \expandafter\csname\csuse{xpg@scriptname@#1@lc} fontsf\endcsname
+ \else
+ \sffamilylatin
+ \fi}
+ \iftoggle{#1@use@script@fontsf}{}{%
+ \ifcsvoid{xpg@scripttag@#1}{}{%
+ \ifcsvoid{xpg@scriptname@#1}{}{%
+ \xpg@addfontfeature@script{\tmp@scripttag}{\tmp@scriptname}}}}%
+ \ifcsvoid{xpg@langtag@#1}{}{%
+ \ifcsvoid{xpg@langname@#1}{}{%
+ \xpg@addfontfeature@lang{\tmp@langtag}{\tmp@langname}}}%
+ }}%
+ \csgdef{#1@font@tt}{%
+ \ifcsdef{#1fonttt}%
+ {\@nameuse{#1fonttt}}%
+ {\edef\tmp@scripttag{\csuse{xpg@scripttag@#1}}% eg cyrl
+ \edef\tmp@scriptname{\csuse{xpg@scriptname@#1}}% eg Cyrillic
+ \edef\tmp@langtag{\csuse{xpg@langtag@#1}}% eg UKR
+ \edef\tmp@langname{\csuse{xpg@langname@#1}}% eg Ukrainian
+ \providetoggle{#1@use@script@fonttt}%
+ \iftoggle{#1@scriptlangequal}%
+ {\ttfamilylatin}%
+ {\expandafter\ifcsname\csuse{xpg@scriptname@#1@lc} fonttt\endcsname% eg \cyrillicfonttt
+ \toggletrue{#1@use@script@fonttt}%
+ \expandafter\csname\csuse{xpg@scriptname@#1@lc} fonttt\endcsname
+ \else
+ \ttfamilylatin
+ \fi}
+ \iftoggle{#1@use@script@fonttt}{}{%
+ \ifcsvoid{xpg@scripttag@#1}{}{%
+ \ifcsvoid{xpg@scriptname@#1}{}{%
+ \xpg@addfontfeature@script{\tmp@scripttag}{\tmp@scriptname}}}}%
+ \ifcsvoid{xpg@langtag@#1}{}{%
+ \ifcsvoid{xpg@langname@#1}{}{%
+ \xpg@addfontfeature@lang{\tmp@langtag}{\tmp@langname}}}%
+ }}%
+ \endgroup
+}
+
+%%% END OF PolyglossiaSetup
+
%% ensure localization of \markright and \markboth commands
-\def\opt@enabled{on}
-\def\opt@disabled{off}
-\define@key{polyglossia}{localmarks}[on]{%
- \def\@tmpa{#1}
- \ifx\@tmpa\opt@enabled
+%%% THIS IS NOW DISABLED BY DEFAULT
+\define@boolkey{polyglossia}[xpg@]{localmarks}[false]{%
+ \ifbool{xpg@localmarks}{%
+ \xpg@info{Option:~ localmarks}%
\def\local@marks##1{%
\def\markboth####1####2{%
- \begingroup%
- \let\label\relax \let\index\relax \let\glossary\relax%
- \unrestored@protected@xdef\@themark%
- {{\foreignlanguage{##1}{%
+ \begingroup
+ \let\label\relax \let\index\relax \let\glossary\relax
+ \unrestored@protected@xdef\@themark
+ {{\foreignlanguage{##1}{%
\protect\@@ensure@maindir{####1}}}%
- {\foreignlanguage{##1}{%
+ {\foreignlanguage{##1}{%
\protect\@@ensure@maindir{####2}}}}%
\@temptokena \expandafter{\@themark}%
\mark{\the\@temptokena}%
- \endgroup%
+ \endgroup
\if@nobreak\ifvmode\nobreak\fi\fi}%
\def\markright####1{%
- \begingroup%
- \let\label\relax \let\index\relax \let\glossary\relax%
- \expandafter\@markright\@themark%
+ \begingroup
+ \let\label\relax \let\index\relax \let\glossary\relax
+ \expandafter\@markright\@themark
{\foreignlanguage{##1}{\protect\@@ensure@maindir{####1}}}%
\@temptokena \expandafter{\@themark}%
\mark{\the\@temptokena}%
- \endgroup%
+ \endgroup
\if@nobreak\ifvmode\nobreak\fi\fi}%
\def\@markright####1####2####3{\@temptokena{\protect\@@ensure@maindir{####1}}%
\unrestored@protected@xdef\@themark{{\the\@temptokena}%
- {\protect\@@ensure@maindir{####3}}}}}
- \else
- \def\local@marks##1{}
- \xpg@info{Option: localmarks=off}
- \fi
+ {\protect\@@ensure@maindir{####3}}}}}%
+ }{% else
+ \def\local@marks##1{}%
+ }%
}
-\setkeys{polyglossia}{localmarks=on}
+\setkeys{polyglossia}{localmarks=false}
% to reset the intercharclass of a character to "normal"
\newXeTeXintercharclass\xpg@normalclass %TODO
@@ -85,80 +441,89 @@
%% (suggestion by Enrico Gregorio)
\@ifundefined{l@nohyphenation}{\chardef\l@nohyphenation=255 }{}
+%we call this macro when a gloss file is not found for a given language
+\def\xpg@nogloss#1{%
+ \xpg@warning{File~ gloss-#1.ldf~ does~ not~ exist!^^J
+ I~ will~ nevertheless~ try~ to~ use~ hyphenation~ patterns~ for~ #1.}%
+ \PolyglossiaSetup{#1}{hyphenmins,hyphennames={#1},fontsetup=true}%
+ % the above amounts to:
+ %\ifcsundef{l@#1}%
+ % {\expandafter\adddialect\csname l@#1\endcsname\l@nohyphenation\relax}%
+ % {\setlocalhyphenmins{#1}{2}{3}}%
+ %\csdef{#1@language}{\language=\csname l@#1\endcsname}%
+}
+
\newcommand{\setdefaultlanguage}[2][]{%
\IfFileExists{gloss-#2.ldf}%
{\ifcsundef{#2@loaded}%
{\input{gloss-#2.ldf}%
- \xpg@info{Default language is #2.}
+ \xpg@info{Default~ language~ is~ #2.}
\def\languagename{#2}%
% This is needed because \arabic is a built-in LaTeX command:
- % so now we have \begin{Arabic}... instead of \begin{arabic}...
- \edef\@tmpa{arabic}%
- \edef\@tmpb{#2}%
- \ifx\@tmpb\@tmpa%
- \newenvironment{Arabic}[1][]{\begin{otherlanguage}[####1]{arabic}}%
- {\end{otherlanguage}}%
- \else%
- \newenvironment{#2}[1][]{\begin{otherlanguage}[####1]{#2}}%
- {\end{otherlanguage}}%
- \fi
+ % so now we have \begin{Arabic}... instead of \begin{arabic}...
+ \ifstrequal{#2}{arabic}%
+ {\newenvironment{Arabic}[1][]{\begin{otherlanguage}[####1]{arabic}}%
+ {\end{otherlanguage}}}%
+ {\newenvironment{#2}[1][]{\begin{otherlanguage}[####1]{#2}}%
+ {\end{otherlanguage}}}%
\expandafter\newcommand\csname text#2\endcsname[2][]{%
- \ifcsdef{RL}%
- {\ifcsundef{#2@RL}%
- {\@ensure@LTR{\foreignlanguage[####1]{#2}{####2}}}%
- {\@ensure@RTL{\foreignlanguage[####1]{#2}{####2}}}}%
- {\foreignlanguage[####1]{#2}{####2}}%
+ \ifcsdef{RTL}%
+ {\iftoggle{#2@RL}%
+ {\@ensure@RTL{\foreignlanguage[####1]{#2}{####2}}}%
+ {\@ensure@LTR{\foreignlanguage[####1]{#2}{####2}}}%
+ }% else bidi not loaded
+ {\iftoggle{#2@RL}%
+ {\xpg@error{Language~ #2~ is~ right-to-left,~ but~ bidi~ package~ was~ not~ loaded!}}%
+ {\foreignlanguage[####1]{#2}{####2}}%
+ }%
}%
\csletcs{local#2}{text#2}%
\csgdef{#2@loaded}{}%
\gdef\xpg@main@language{#2}%
}%
- {\PackageWarning{polyglossia}{gloss-#2.ldf is already loaded!}}%
- %% The following settings are for the default language and script:
- \ifcsundef{#2@RL}{}{\@RTLmaintrue}% this tells bidi.sty that the document is RTL
- \AtBeginDocument{%
- \selectlanguage[#1]{#2}%
- \selectbackgroundlanguage{#2}}%
+ {\xpg@warning{gloss-#2.ldf~ is~ already~ loaded!}}%:
+ %% The following settings are for the default language and script:
+ \iftoggle{#2@RL}{\@RTLmaintrue}{}% this tells bidi.sty that the document is RTL
+ \AtBeginDocument{%
+ \selectlanguage[#1]{#2}%
+ \selectbackgroundlanguage{#2}}%
}%
%ELSE
- {\xpg@nolang{#2}\hyphenrules{#2}}}%
+ {\xpg@nogloss{#2}}%
+}
\let\setmainlanguage=\setdefaultlanguage
\newcommand{\resetdefaultlanguage}[2][]{%
\ifcsundef{#2@loaded}{%
- \PackageError{polyglossia}{gloss-#2.ldf is not loaded!}}%
+ \xpg@error{gloss-#2.ldf~ is~ not~ loaded!}}%
{\csuse{no\xpg@main@language @globalnumbers}% disable globalnumbers of previously defined default language
\csuse{noextras@\xpg@main@language}%
+ \csuse{init@noextras@\xpg@main@language}%
\def\languagename{#2}%
- \ifcsundef{#2@RL}{}{\@rlmaintrue\@rl@footnotetrue}%
+ \iftoggle{#2@RL}{\@rlmaintrue\@rl@footnotetrue}{}%
\selectlanguage[#1]{#2}%
\selectbackgroundlanguage{#2}}}
\def\familytype{rm}
-\gappto\rmfamily{\def\familytype{rm}}
-\gappto\sffamily{\def\familytype{sf}}
-\gappto\ttfamily{\def\familytype{tt}}
+% This robustifies the redefinitions of \<xx>family (suggestion by Enrico Gregorio)
+% e.g. to prevent expansion of the \familytype redefinition in auxiliary files
+\csgappto{rmfamily }{\def\familytype{rm}}
+\csgappto{sffamily }{\def\familytype{sf}}
+\csgappto{ttfamily }{\def\familytype{tt}}
% This saves the normalfont for the latin script since we may change normalfont in other scripts
\let\normalfontlatin=\normalfont%
\let\rmfamilylatin=\rmfamily%
\let\sffamilylatin=\sffamily%
\let\ttfamilylatin=\ttfamily%
-\def\reset@latin@script{%
+\def\resetfontlatin{%
\let\rmfamily=\rmfamilylatin%
\let\sffamily=\sffamilylatin%
\let\ttfamily=\ttfamilylatin%
- \normalfontlatin}
-
-\def\reset@LR{\csuse{setLR}}
-
-\def\selectnormalfontlatin{%
- \if\normalfont\ttfamily\ttfamilylatin\else
- \if\normalfont\sffamily\sffamilylatin\else
- \normalfontlatin\fi\fi}
+ \let\normalfont=\normalfontlatin}
-\DeclareRobustCommand\selectfontfamilylatin{%
+\def\selectfontfamilylatin{%
\def\tmp@tt{tt}\def\tmp@sf{sf}%
\ifx\familytype\tmp@tt%
\ttfamilylatin%
@@ -166,6 +531,22 @@
\sffamilylatin%
\else\rmfamilylatin\fi\fi}
+\def\xpg@select@fontfamily#1{%
+ \def\tmp@tt{tt}\def\tmp@sf{sf}%
+ \ifx\familytype\tmp@tt
+ \csuse@warn{#1@font@tt}%
+ \else\ifx\familytype\tmp@sf
+ \csuse@warn{#1@font@sf}%
+ \else\csuse@warn{#1@font@rm}\fi\fi}
+
+\def\xpg@set@normalfont#1{%
+ \letcs{\rmfamily}{#1@font@rm}%
+ \letcs{\sffamily}{#1@font@sf}%
+ \letcs{\ttfamily}{#1@font@tt}%
+ \gdef\normalfont{\protect\xpg@select@fontfamily{#1}}%
+ \gdef\reset@font{\protect\normalfont}%
+}
+
\let\@@fterindentfalse\@afterindentfalse
\def\french@indent{\let\@afterindentfalse\@afterindenttrue
\@afterindenttrue}
@@ -173,7 +554,7 @@
\@afterindentfalse}
\newcommand{\selectbackgroundlanguage}[1]{%
- \csuse{selectnormalfont#1}%
+ \iftoggle{#1@latin}{}{\xpg@set@normalfont{#1}}%
\csuse{#1@globalnumbers}%
}
@@ -187,35 +568,35 @@
\ifx\@tmpb\@tmpa%
\newenvironment{Arabic}[1][]{\begin{otherlanguage}[####1]{arabic}}%
{\end{otherlanguage}}%
- \else%
+ \else
\newenvironment{#2}[1][]{\begin{otherlanguage}[####1]{#2}}%
{\end{otherlanguage}}%
\fi
\expandafter\newcommand\csname text#2\endcsname[2][]{%
- \ifcsdef{RL}{%
- \ifcsundef{#2@RL}%
- {\@ensure@LTR{\foreignlanguage[####1]{#2}{####2}}}%
- {\@ensure@RTL{\foreignlanguage[####1]{#2}{####2}}}%
- }{% else
- \foreignlanguage[####1]{#2}{####2}%
- }}%
- \csletcs{local#2}{text#2}%
- \csgdef{#2@loaded}{}%
+ \ifcsdef{RTL}%
+ {\iftoggle{#2@RL}%
+ {\@ensure@RTL{\foreignlanguage[####1]{#2}{####2}}}%
+ {\@ensure@LTR{\foreignlanguage[####1]{#2}{####2}}}%
+ }% else bidi not loaded
+ {\iftoggle{#2@RL}%
+ {\xpg@error{Language~ #2~ is~ right-to-left,~ but~ bidi~ package~ was~ not~ loaded!}}%
+ {\foreignlanguage[####1]{#2}{####2}}%
+ }%
+ }%
+ \csletcs{local#2}{text#2}%
+ \csgdef{#2@loaded}{}%
}%
- {\PackageWarning{polyglossia}{gloss-#2.ldf is already loaded!}}%
+ {\xpg@warning{gloss-#2.ldf~ is~ already~ loaded!}}%
}%
- %ELSE
- {\xpg@nolang{#2}\hyphenrules{#2}}%
- %TODO ? \expandafter\ifx\csname l@#2\endcsname\@undefined
- %\xpg@nopatterns{#2}\expandafter\adddialect\csname l@#2\endcsname 0%
- %\else\expandafter\expandafter\protect\language=\csname l@#2\endcsname\fi
+ %ELSE
+ {\xpg@nogloss{#2}}%
}
\newcommand\setotherlanguages[1]{%
- \def\do##1{\setotherlanguage{##1}}%
+ \renewcommand*{\do}[1]{\setotherlanguage{##1}}%
\docsvlist{#1}}%
-\def\common@language{%
+\def\common@language{% FIXME is this really needed???
\language=\z@
\lefthyphenmin=\tw@
\righthyphenmin=\thr@@}
@@ -231,34 +612,47 @@
\providecommand{\foreignlanguage}{}
\renewcommand{\foreignlanguage}[3][]{%
- \ifcsundef{#2@loaded}{\xpg@nolang{#2}\hyphenrules{#2}}{%
- {\def\languagename{#2}%
+ \ifcsundef{#2@loaded}%
+ {\xpg@nogloss{#2}}%
+ {{\select@@language{#2}%
\setkeys{#2}{#1}%
- \csuse@warn{#2@font}%
- \csuse@warn{#2@language}%
- \csuse{date#2}%
- \csuse{#2@numbers}%
\use@localhyphenmins{#2}%
+ \ifbool{#2@frenchspacing}{\frenchspacing}{\nonfrenchspacing}%
\csuse{inlineextras@#2}%
#3}%
- }%
+ }%
}
+% otherlanguage* is the environment equivalent of \foreignlanguage
+\expandafter\providecommand\csname otherlanguage*\endcsname{}
+\renewenvironment{otherlanguage*}[2][]{%
+ \ifcsundef{#2@loaded}%
+ {\bgroup\xpg@nogloss{#2}}%
+ {\bgroup\select@@language{#2}%
+ \setkeys{#2}{#1}%
+ \use@localhyphenmins{#2}%
+ \ifbool{#2@frenchspacing}{\frenchspacing}{\nonfrenchspacing}%
+ \csuse{inlineextras@#2}%
+ }%
+}{\egroup}
+
%Hook that other package authors can use
%(for instance biblatex):
\newcommand*{\xpg@hook@setlanguage}{}
\providecommand{\selectlanguage}{}
\renewcommand{\selectlanguage}[2][]{%
- \ifcsundef{#2@loaded}{\xpg@nolang{#2}\hyphenrules{#2}}{%
- \def\xpg@pop@language{%
+ \ifcsundef{#2@loaded}%
+ {\xpg@nogloss{#2}}%
+ {\def\xpg@pop@language{%
\xpg@set@language{\languagename}%
\xpg@hook@setlanguage%
\let\emp@langname\@undefined}%
\aftergroup\xpg@pop@language%
\setkeys{#2}{#1}%
\xpg@set@language{#2}%
-}}
+ }%
+}
\newcommand{\xpg@set@language}[1]{%
\select@language{#1}%
@@ -272,19 +666,26 @@
\def\select@language#1{%
\xpg@initial@setup%
- \edef\languagename{#1}%
- \ifcsundef{RL}{}%
- {\ifcsundef{#1@RL}{\setLR}{\setRL}}%
- \csuse@warn{#1@font}%
- \csuse@warn{#1@language}%
- \use@localhyphenmins{#1}%
+ \select@@language{#1}%
+ \ifcsundef{setRL}{}%
+ {\iftoggle{#1@RL}{\setRL}{\setLR}}%
\csuse{captions#1}%
- \csuse{date#1}%
- \csuse{#1@numbers}%
\local@marks{#1}%
+ \csuse{init@extras@#1}%
\csuse{blockextras@#1}%
}
+% Common code for `\select@language' and `\foreignlanguage'.
+\newcommand{\select@@language}[1]{%
+ \edef\languagename{#1}%
+ \xpg@select@fontfamily{#1}%
+ \csuse@warn{#1@language}%
+ \csuse{date#1}%
+ \csuse{#1@numbers}%
+ \use@localhyphenmins{#1}%
+}
+
+
\let\xpg@pop@language\relax
\provideenvironment{otherlanguage}{}{}
@@ -295,10 +696,10 @@
\newcommand{\setlocalhyphenmins}[3]{%
\expandafter\ifx\csname l@#1\endcsname\relax%
- \xpg@warning{\string\setlocalhyphenmin useless for unknown language #1}%
+ \xpg@warning{\string\setlocalhyphenmin\space~ useless~ for~ unknown~ language~ #1}%
\else
\expandafter\ifx\csname l@#1\endcsname\l@nohyphenation%
- \xpg@warning{\string\setlocalhyphenmin useless for unhyphenated language #1}%
+ \xpg@warning{\string\setlocalhyphenmin\space~ useless~ for~ unhyphenated~ language~ #1}%
\else
\providehyphenmins{#1}{#2#3}%
\fi
@@ -308,40 +709,13 @@
\ifcsundef{#1hyphenmins}{}%
{\expandafter\expandafter\expandafter\set@hyphenmins\csname #1hyphenmins\endcsname\relax}}
-% FIXME: remove this eventually, say in 2012 :)
-% taken from xelatex.ini, in case the xelatex format is too old
-\ifcsundef{newXeTeXintercharclass}{%
- \xpg@warning{Your xelatex format appears to be outdated!^^J
- Please update your system and recreate it with fmtutil.}
- \newcount\xe@alloc@intercharclass % allocates intercharclass
- \xe@alloc@intercharclass=\thr@@ % from 4 (1,2 and 3 are used by CJK, AFAIK)
- \def\xe@alloc@#1#2#3#4#5{\global\advance#1\@ne
- \xe@ch@ck#1#4#2% make sure there's still room
- \allocationnumber#1%
- \global#3#5\allocationnumber
- \wlog{\string#5=\string#2\the\allocationnumber}}
- \def\xe@ch@ck#1#2#3{%
- \ifnum#1<#2\else
- \errmessage{No room for a new #3}%
- \fi}
- \def\newXeTeXintercharclass{%
- \xe@alloc@\xe@alloc@intercharclass\XeTeXintercharclass\chardef\@cclv} %at most 254
- }
- {}
-
-%% patch lastpage to avoid problem with \thepage when \@arabic is redefined for non-Latin numbers
-%\@ifpackageloaded{lastpage}{%
-%\xpg@info{Redefining lastpage command \string\lastpage@putlabel}%
-%\def\lastpage@putlabel{\addtocounter{page}{-1}%
-% \immediate\write\@auxout{\string
-% \newlabel{LastPage}{{}{\number\c@page}}}%
-% \addtocounter{page}{1}}}%
-% {}
-%
\define@boolkey{polyglossia}[system@]{babelshorthands}[false]{}
+\AtEndPreamble{\@ifpackageloaded{bidi}{\newcommand*{\aemph}[1]{$\overline{\hboxR{#1}}$}}{}}
+
%% Package Options %%
-\DeclareOption{nolocalmarks}{\setkeys{polyglossia}{localmarks=off}}
+\DeclareOption{nolocalmarks}{\setkeys{polyglossia}{localmarks=false}}
+\DeclareOption{localmarks}{\setkeys{polyglossia}{localmarks=true}}
\DeclareOption{babelshorthands}{\setkeys{polyglossia}{babelshorthands=true}}
\DeclareOption{quiet}{%
\gdef\@latex@info#1{\relax}% no latex info
@@ -349,27 +723,30 @@
\gdef\@font@warning#1{\relax}% no latex font warnings
\gdef\zf@PackageInfo#1{\relax}% no fontspec info
\gdef\xpg@info#1{\relax}}% no polyglossia info
+%
+% FIXME these should also be loaded \AtEndOfPackage !!!
\def\xpg@option#1#2{%
\ifcsundef{xpg@main@language}{\setdefaultlanguage}{\setotherlanguage}%
[#1]{#2}}
-\DeclareOption{USenglish}{\xpg@option{variant=american}{english}}
-\DeclareOption{american}{\xpg@option{variant=american}{english}}
-\DeclareOption{UKenglish}{\xpg@option{variant=british}{english}}
-\DeclareOption{british}{\xpg@option{variant=british}{english}}
-\DeclareOption{australian}{\xpg@option{variant=australian}{english}}
-\DeclareOption{newzealand}{\xpg@option{variant=newzealand}{english}}
-\DeclareOption{ngerman}{\xpg@option{spelling=new}{german}}
-\DeclareOption{polygreek}{\xpg@option{variant=poly}{greek}}
-\DeclareOption{monogreek}{\xpg@option{variant=mono}{greek}}
-\DeclareOption{ancientgreek}{\xpg@option{variant=ancient}{greek}}
-\DeclareOption*{%
- \edef\@temp{%
- \noexpand\ifcsundef{xpg@main@language}%
- \noexpand\setdefaultlanguage
- \noexpand\setotherlanguage
- {\CurrentOption}%
- }%
- \expandafter\AtEndOfPackage\expandafter{\@temp}%
-}
+%\DeclareOption{USenglish}{\xpg@option{variant=american}{english}}
+%\DeclareOption{american}{\xpg@option{variant=american}{english}}
+%\DeclareOption{UKenglish}{\xpg@option{variant=british}{english}}
+%\DeclareOption{british}{\xpg@option{variant=british}{english}}
+%\DeclareOption{australian}{\xpg@option{variant=australian}{english}}
+%\DeclareOption{newzealand}{\xpg@option{variant=newzealand}{english}}
+%\DeclareOption{ngerman}{\xpg@option{spelling=new}{german}}
+%\DeclareOption{polygreek}{\xpg@option{variant=poly}{greek}}
+%\DeclareOption{monogreek}{\xpg@option{variant=mono}{greek}}
+%\DeclareOption{ancientgreek}{\xpg@option{variant=ancient}{greek}}
+%%% TODO add warning message that this approach is deprecated <<<<<<<<<<<<<<
+%\DeclareOption*{%
+% \edef\@temp{%
+% \noexpand\ifcsundef{xpg@main@language}%
+% \noexpand\setdefaultlanguage
+% \noexpand\setotherlanguage
+% {\CurrentOption}%
+% }%
+% \expandafter\AtEndOfPackage\expandafter{\@temp}%
+%}
\ProcessOptions*
\endinput
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/test-polyglossia-setup.aux b/Master/texmf-dist/tex/xelatex/polyglossia/test-polyglossia-setup.aux
deleted file mode 100644
index ae46bde5e5d..00000000000
--- a/Master/texmf-dist/tex/xelatex/polyglossia/test-polyglossia-setup.aux
+++ /dev/null
@@ -1,37 +0,0 @@
-\relax
-\select@language {french}
-\@writefile{toc}{\select@language {french}}
-\@writefile{lof}{\select@language {french}}
-\@writefile{lot}{\select@language {french}}
-\select@language {turkish}
-\@writefile{toc}{\select@language {turkish}}
-\@writefile{lof}{\select@language {turkish}}
-\@writefile{lot}{\select@language {turkish}}
-\select@language {french}
-\@writefile{toc}{\select@language {french}}
-\@writefile{lof}{\select@language {french}}
-\@writefile{lot}{\select@language {french}}
-\select@language {turkish}
-\@writefile{toc}{\select@language {turkish}}
-\@writefile{lof}{\select@language {turkish}}
-\@writefile{lot}{\select@language {turkish}}
-\select@language {french}
-\@writefile{toc}{\select@language {french}}
-\@writefile{lof}{\select@language {french}}
-\@writefile{lot}{\select@language {french}}
-\select@language {arabic}
-\@writefile{toc}{\select@language {arabic}}
-\@writefile{lof}{\select@language {arabic}}
-\@writefile{lot}{\select@language {arabic}}
-\@writefile{lot}{\select@language {french}}
-\@writefile{lof}{\select@language {french}}
-\@writefile{toc}{\select@language {french}}
-\select@language {french}
-\select@language {arabic}
-\@writefile{toc}{\select@language {arabic}}
-\@writefile{lof}{\select@language {arabic}}
-\@writefile{lot}{\select@language {arabic}}
-\@writefile{lot}{\select@language {french}}
-\@writefile{lof}{\select@language {french}}
-\@writefile{toc}{\select@language {french}}
-\select@language {french}
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/test-polyglossia-setup.log b/Master/texmf-dist/tex/xelatex/polyglossia/test-polyglossia-setup.log
deleted file mode 100644
index 9b16ca61ced..00000000000
--- a/Master/texmf-dist/tex/xelatex/polyglossia/test-polyglossia-setup.log
+++ /dev/null
@@ -1,268 +0,0 @@
-This is XeTeX, Version 3.1415926-2.2-0.9995.2 (TeX Live 2009/Arch Linux) (format=xelatex 2010.1.19) 18 MAR 2010 15:35
-entering extended mode
- restricted \write18 enabled.
- %&-line parsing enabled.
-**test-polyglossia-setup.tex
-(./test-polyglossia-setup.tex
-LaTeX2e <2009/09/24>
-Babel <v3.8l> and hyphenation patterns for english, usenglishmax, dumylang, noh
-yphenation, german-x-2009-06-19, ngerman-x-2009-06-19, ancientgreek, ibycus, ar
-abic, basque, bulgarian, catalan, pinyin, coptic, croatian, czech, danish, dutc
-h, esperanto, estonian, farsi, finnish, french, galician, german, ngerman, mono
-greek, greek, hungarian, icelandic, indonesian, interlingua, irish, italian, ku
-rmanji, latin, latvian, lithuanian, mongolian, mongolian2a, bokmal, nynorsk, po
-lish, portuguese, romanian, russian, sanskrit, serbian, slovak, slovenian, span
-ish, swedish, turkish, ukenglish, ukrainian, uppersorbian, welsh, loaded.
-(/usr/share/texmf-dist/tex/latex/base/article.cls
-Document Class: article 2007/10/19 v1.4h Standard LaTeX document class
-(/usr/share/texmf-dist/tex/latex/base/size12.clo
-File: size12.clo 2007/10/19 v1.4h Standard LaTeX file (size option)
-)
-\c@part=\count80
-\c@section=\count81
-\c@subsection=\count82
-\c@subsubsection=\count83
-\c@paragraph=\count84
-\c@subparagraph=\count85
-\c@figure=\count86
-\c@table=\count87
-\abovecaptionskip=\skip41
-\belowcaptionskip=\skip42
-\bibindent=\dimen102
-)
-(/usr/share/texmf-dist/tex/xelatex/fontspec/fontspec.sty
-Package: fontspec 2008/08/09 v1.18 Advanced font selection for XeLaTeX
-
-(/usr/share/texmf-dist/tex/generic/ifxetex/ifxetex.sty
-Package: ifxetex 2009/01/23 v0.5 Provides ifxetex conditional
-)
-\c@zf@newff=\count88
-\c@zf@index=\count89
-\c@zf@script=\count90
-\c@zf@language=\count91
-
-(/usr/share/texmf-dist/tex/latex/tools/calc.sty
-Package: calc 2007/08/22 v4.3 Infix arithmetic (KKT,FJ)
-\calc@Acount=\count92
-\calc@Bcount=\count93
-\calc@Adimen=\dimen103
-\calc@Bdimen=\dimen104
-\calc@Askip=\skip43
-\calc@Bskip=\skip44
-LaTeX Info: Redefining \setlength on input line 76.
-LaTeX Info: Redefining \addtolength on input line 77.
-\calc@Ccount=\count94
-\calc@Cskip=\skip45
-)
-(/usr/share/texmf-dist/tex/latex/xkeyval/xkeyval.sty
-Package: xkeyval 2008/08/13 v2.6a package option processing (HA)
-
-(/usr/share/texmf-dist/tex/generic/xkeyval/xkeyval.tex
-\XKV@toks=\toks14
-\XKV@tempa@toks=\toks15
-\XKV@depth=\count95
-File: xkeyval.tex 2008/08/13 v2.6a key=value parser (HA)
-
-(/usr/share/texmf-dist/tex/generic/xkeyval/keyval.tex)))
-(/usr/share/texmf-dist/tex/latex/base/fontenc.sty
-Package: fontenc 2005/09/27 v1.99g Standard LaTeX package
-
-(/usr/share/texmf-dist/tex/xelatex/euenc/eu1enc.def
-File: eu1enc.def 2008/03/08 v0.1d Experimental unicode font encoding
-)
-LaTeX Font Info: Try loading font information for EU1+lmr on input line 100.
-
-
-(/usr/share/texmf-dist/tex/xelatex/euenc/eu1lmr.fd
-File: eu1lmr.fd 2007/01/14 v1.3 Font defs for Latin Modern
-))
-LaTeX Info: Redefining \itshape on input line 1163.
-LaTeX Info: Redefining \slshape on input line 1166.
-LaTeX Info: Redefining \scshape on input line 1169.
-LaTeX Info: Redefining \upshape on input line 1172.
-
-fontspec.cfg loaded.
-(/usr/share/texmf-dist/tex/xelatex/fontspec/fontspec.cfg))
-Package fontspec Info: Linux Libertine scale = 0.99965 on input line 4.
-\c@zf@famc@Linux Libertine=\count96
-Package fontspec Info: Defining font family for 'Linux Libertine' with options
-[Scale=MatchLowercase,] on input line 4.
-Package fontspec Info: Linux Libertine scale = 0.99965 on input line 4.
-Package fontspec Info: Linux Libertine scale = 0.99965 on input line 4.
-Package fontspec Info: Linux Libertine/B scale = 0.98845 on input line 4.
-Package fontspec Info: Linux Libertine/B scale = 0.98845 on input line 4.
-Package fontspec Info: Linux Libertine/I scale = 0.98186 on input line 4.
-Package fontspec Info: Linux Libertine/I scale = 0.98186 on input line 4.
-Package fontspec Info: Linux Libertine/BI scale = 0.96892 on input line 4.
-LaTeX Font Info: Font shape `EU1/LinuxLibertine(0)/m/n' will be
-(Font) scaled to size 9.99649pt on input line 4.
-Package fontspec Info: DejaVu Sans scale = 0.78812 on input line 5.
-\c@zf@famc@DejaVu Sans=\count97
-Package fontspec Info: Defining font family for 'DejaVu Sans' with options [Sca
-le=MatchLowercase,] on input line 5.
-Package fontspec Info: DejaVu Sans scale = 0.78812 on input line 5.
-Package fontspec Info: DejaVu Sans/B scale = 0.78812 on input line 5.
-Package fontspec Info: DejaVu Sans/I scale = 0.78812 on input line 5.
-Package fontspec Info: DejaVu Sans/BI scale = 0.78812 on input line 5.
-Package fontspec Info: DejaVu Sans Mono scale = 0.78812 on input line 6.
-\c@zf@famc@DejaVu Sans Mono=\count98
-Package fontspec Info: Defining font family for 'DejaVu Sans Mono' with options
- [Scale=MatchLowercase,] on input line 6.
-Package fontspec Info: DejaVu Sans Mono scale = 0.78812 on input line 6.
-Package fontspec Info: DejaVu Sans Mono/B scale = 0.78812 on input line 6.
-Package fontspec Info: DejaVu Sans Mono/I scale = 0.78812 on input line 6.
-Package fontspec Info: DejaVu Sans Mono/BI scale = 0.78812 on input line 6.
-Package fontspec Info: Scheherazade scale = 1.27927 on input line 7.
-\c@zf@famc@Scheherazade=\count99
-Package fontspec Info: Defining font family for 'Scheherazade' with options [Sc
-ale=MatchLowercase,Script=Arabic] on input line 7.
-Package fontspec Info: Scheherazade scale = 1.27927 on input line 7.
-Package fontspec Info: Could not resolve font Scheherazade/B (it might not exis
-t) on input line 7.
-Package fontspec Info: Could not resolve font Scheherazade/I (it might not exis
-t) on input line 7.
-Package fontspec Info: Could not resolve font Scheherazade/BI (it might not exi
-st) on input line 7.
-Package fontspec Info: DejaVu Sans scale = 0.78812 on input line 8.
-Package fontspec Info: Defining font family for 'DejaVu Sans' with options [Sca
-le=MatchLowercase,Script=Arabic] on input line 8.
-Package fontspec Info: DejaVu Sans scale = 0.78812 on input line 8.
-Package fontspec Info: DejaVu Sans/B scale = 0.78812 on input line 8.
-Package fontspec Info: DejaVu Sans/I scale = 0.78812 on input line 8.
-Package fontspec Info: DejaVu Sans/BI scale = 0.78812 on input line 8.
-Package fontspec Info: DejaVu Sans Mono scale = 0.78812 on input line 9.
-Package fontspec Info: Defining font family for 'DejaVu Sans Mono' with options
- [Scale=MatchLowercase,Script=Arabic] on input line 9.
-Package fontspec Info: DejaVu Sans Mono scale = 0.78812 on input line 9.
-Package fontspec Info: DejaVu Sans Mono/B scale = 0.78812 on input line 9.
-Package fontspec Info: DejaVu Sans Mono/I scale = 0.78812 on input line 9.
-Package fontspec Info: DejaVu Sans Mono/BI scale = 0.78812 on input line 9.
- (./polyglossia.sty
-Package: polyglossia 2010/03/12 v1.2.0 Babel replacement for XeLaTeX
-
-(/usr/share/texmf-dist/tex/latex/etoolbox/etoolbox.sty
-Package: etoolbox 2009/08/06 v1.8 e-TeX tools for LaTeX
-
-(/usr/share/texmf-dist/tex/latex/etex-pkg/etex.sty
-Package: etex 1998/03/26 v2.0 eTeX basic definition package (PEB)
-\et@xins=\count100
-))
-(/usr/share/texmf-dist/tex/latex/makecmds/makecmds.sty
-Package: makecmds 2009/09/03 v1.0a extra command making commands
-)
-\xpg@normalclass=\XeTeXintercharclass4
-) (./gloss-french.ldf
-File: gloss-french.ldf polyglossia: module for french
-\french@punctthin=\XeTeXintercharclass5
-\french@punctthick=\XeTeXintercharclass6
-\french@punctguill=\XeTeXintercharclass7
-)
-Package polyglossia Info: Default language is french..
-
-(./gloss-bahasai.ldf
-File: gloss-bahasai.ldf polyglossia: module for bahasa indonesia
- (./hijrical.sty
-Package: hijrical 2007/12/27 v0.1 Islamic calendar
-
-(/home/francois/texmf/tex/xelatex/bidi/bidi.sty
-Package: bidi 2010/03/01 v1.0.4 <revision 127> Bidirectional typesetting in XeL
-aTeX
-\n@everypar=\toks16
-
-(/home/francois/texmf/tex/xelatex/bidi/footnote-bidi.def)
-(/home/francois/texmf/tex/xelatex/bidi/article-bidi.def)) (./arabicnumbers.sty
-Package: arabicnumbers 2010/03/18 v0.2 Formatting of Arabic and Farsi digits an
-d of Arabic abjad numerals
-) (./cal-util.def
-\c@tmpA=\count101
-\c@tmpB=\count102
-\c@tmpC=\count103
-\c@tmpD=\count104
-\c@tmpE=\count105
-\c@tmpF=\count106
-)
-\c@Hijriday=\count107
-\c@Hijrimonth=\count108
-\c@Hijriyear=\count109
-)) (./gloss-turkish.ldf
-File: gloss-turkish.ldf polyglossia: module for turkish
-\turkish@punctthin=\XeTeXintercharclass8
-\turkish@punctthick=\XeTeXintercharclass9
-) (./gloss-ukrainian.ldf
-File: gloss-ukrainian.ldf polyglossia: module for ukrainian
-)
-(./gloss-arabic.ldf
-File: gloss-arabic.ldf polyglossia: module for arabic
-) (./test-polyglossia-setup.aux)
-\openout1 = `test-polyglossia-setup.aux'.
-
-LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 18.
-LaTeX Font Info: ... okay on input line 18.
-LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 18.
-LaTeX Font Info: ... okay on input line 18.
-LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 18.
-LaTeX Font Info: ... okay on input line 18.
-LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 18.
-LaTeX Font Info: ... okay on input line 18.
-LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 18.
-LaTeX Font Info: ... okay on input line 18.
-LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 18.
-LaTeX Font Info: ... okay on input line 18.
-LaTeX Font Info: Checking defaults for EU1/lmr/m/n on input line 18.
-LaTeX Font Info: ... okay on input line 18.
-LaTeX Font Info: Font shape `EU1/LinuxLibertine(0)/m/n' will be
-(Font) scaled to size 11.99579pt on input line 18.
-LaTeX Font Info: Font shape `EU1/LinuxLibertine(0)/m/n' will be
-(Font) scaled to size 10.94615pt on input line 18.
- [1
-
-]
-LaTeX Font Info: Font shape `EU1/LinuxLibertine(0)/m/it' will be
-(Font) scaled to size 11.78229pt on input line 32.
-LaTeX Font Info: Font shape `EU1/LinuxLibertine(0)/m/si' will be
-(Font) scaled to size 11.78229pt on input line 33.
-
-
-LaTeX Font Warning: Font shape `EU1/DejaVuSansMono(0)/m/si' undefined
-(Font) using `EU1/DejaVuSansMono(0)/m/n' instead on input line 35.
-
-
-LaTeX Font Info: Font shape `EU1/DejaVuSansMono(0)/m/n' will be
-(Font) scaled to size 9.4574pt on input line 35.
-LaTeX Font Info: Font shape `EU1/DejaVuSansMono(0)/m/si' will be
-(Font) scaled to size 8.62987pt on input line 35.
-LaTeX Font Info: Font shape `EU1/LinuxLibertine(0)/m/si' will be
-(Font) scaled to size 10.75133pt on input line 37.
-LaTeX Font Info: Font shape `EU1/Scheherazade(0)/m/n' will be
-(Font) scaled to size 15.3512pt on input line 44.
-\c@adj@day=\count110
-\c@RDdate=\count111
-\c@tmpx=\count112
-\c@tmpy=\count113
-LaTeX Font Info: Font shape `EU1/DejaVuSans(0)/m/n' will be
-(Font) scaled to size 9.4574pt on input line 47.
-LaTeX Font Info: Font shape `EU1/DejaVuSans(0)/m/n' will be
-(Font) scaled to size 8.62987pt on input line 47.
-LaTeX Font Info: Font shape `EU1/DejaVuSans(0)/bx/n' will be
-(Font) scaled to size 9.4574pt on input line 49.
-LaTeX Font Info: Font shape `EU1/DejaVuSans(1)/bx/n' will be
-(Font) scaled to size 9.4574pt on input line 49.
-LaTeX Font Info: Font shape `EU1/DejaVuSans(1)/bx/n' will be
-(Font) scaled to size 8.62987pt on input line 49.
-LaTeX Font Info: Font shape `EU1/DejaVuSans(1)/m/n' will be
-(Font) scaled to size 9.4574pt on input line 49.
-[2] (./test-polyglossia-setup.aux)
-
-LaTeX Font Warning: Some font shapes were not available, defaults substituted.
-
- )
-Here is how much of TeX's memory you used:
- 3445 strings out of 494664
- 65348 string characters out of 3167327
- 151452 words of memory out of 3000000
- 6620 multiletter control sequences out of 15000+200000
- 4194 words of font info for 47 fonts, out of 3000000 for 9000
- 669 hyphenation exceptions out of 8191
- 30i,5n,59p,836b,235s stack positions out of 5000i,500n,10000p,200000b,50000s
-
-Output written on test-polyglossia-setup.pdf (2 pages).
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/test-polyglossia-setup.pdf b/Master/texmf-dist/tex/xelatex/polyglossia/test-polyglossia-setup.pdf
deleted file mode 100644
index 166aa5bdbf2..00000000000
--- a/Master/texmf-dist/tex/xelatex/polyglossia/test-polyglossia-setup.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/test-polyglossia-setup.tex b/Master/texmf-dist/tex/xelatex/polyglossia/test-polyglossia-setup.tex
deleted file mode 100644
index 27691075c6e..00000000000
--- a/Master/texmf-dist/tex/xelatex/polyglossia/test-polyglossia-setup.tex
+++ /dev/null
@@ -1,58 +0,0 @@
-\documentclass[12pt]{article}
-\usepackage[no-math]{fontspec}
-\defaultfontfeatures{Scale=MatchLowercase}
-\setromanfont{Linux Libertine}
-\setsansfont{DejaVu Sans}
-\setmonofont{DejaVu Sans Mono}
-\newfontfamily\arabicfont[Script=Arabic]{Scheherazade}
-\newfontfamily\arabicfontsf[Script=Arabic]{DejaVu Sans}
-\newfontfamily\arabicfonttt[Script=Arabic]{DejaVu Sans Mono}
-\usepackage{polyglossia}
-%\tracingall
-\setdefaultlanguage{french}
-\setotherlanguage{bahasai}
-\setotherlanguage{turkish}
-\setotherlanguage{ukrainian}
-\setotherlanguage{arabic}
-\def\showfamily{\fbox{\small\familytype}}
-\begin{document}\showfamily
-
-Bonjour!
-
-\textukrainian{\today}
-
-\textbahasai{\today}
-
-\textturkish{\today}
-
-
-\newpage
-%
-Some normal text. \showfamily
-\itshape Some italic text.
-\scshape Some upshape text.
-
-\ttfamily some code… \showfamily
-
-\rmfamily Some normal text. \showfamily
-\normalfont normal \showfamily
-
-texte «normal». \textit{\textturkish{türkçe metin}}. \textturkish{\textit{türkçe metin}}.
-
-texte «normal». \textit{\begin{turkish} türkçe metin.\end{turkish}} \begin{turkish}\textit{türkçe metin.}\end{turkish}
-
-\textarabic{متن عربي / \today = \Hijritoday}
-
-
-\sffamily\showfamily
-
-texte «normal». \textbf{\textarabic{\showfamily متن عربي}} \textarabic{\textbf{متن عربي}}
-
-\bfseries
-texte «normal».
-
-\begin{Arabic}\mdseries متن عربي\end{Arabic}
-
-\begin{Arabic}\textmd{متن عربي}\end{Arabic}
-
-\end{document}
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/xgreek-fixes.def b/Master/texmf-dist/tex/xelatex/polyglossia/xgreek-fixes.def
new file mode 100644
index 00000000000..853bd0831c1
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/xgreek-fixes.def
@@ -0,0 +1,308 @@
+% the following fixes are taken verbatim from xgreek.sty:
+\global\lccode"0386="03AC \global\uccode"0386="0391
+\global\lccode"0388="03AD \global\uccode"0388="0395
+\global\lccode"0389="03AC \global\uccode"0389="0397
+\global\lccode"038A="03AF \global\uccode"038A="0399
+\global\lccode"038C="03CC \global\uccode"038C="039F
+\global\lccode"038E="03CD \global\uccode"038E="03A5
+\global\lccode"038F="03CE \global\uccode"038F="03A9
+\global\lccode"0390="0390 \global\uccode"0390="03AA
+\global\lccode"0391="03B1 \global\uccode"0391="0391
+\global\lccode"0392="03B2 \global\uccode"0392="0392
+\global\lccode"0393="03B3 \global\uccode"0393="0393
+\global\lccode"0394="03B4 \global\uccode"0394="0394
+\global\lccode"0395="03B5 \global\uccode"0395="0395
+\global\lccode"0396="03B6 \global\uccode"0396="0396
+\global\lccode"0397="03B7 \global\uccode"0397="0397
+\global\lccode"0398="03B8 \global\uccode"0398="0398
+\global\lccode"0399="03B9 \global\uccode"0399="0399
+\global\lccode"039A="03BA \global\uccode"039A="039A
+\global\lccode"039B="03BB \global\uccode"039B="039B
+\global\lccode"039C="03BC \global\uccode"039C="039C
+\global\lccode"039D="03BD \global\uccode"039D="039D
+\global\lccode"039E="03BE \global\uccode"039E="039E
+\global\lccode"039F="03BF \global\uccode"039F="039F
+\global\lccode"03A0="03C0 \global\uccode"03A0="03A0
+\global\lccode"03A1="03C1 \global\uccode"03A1="03A1
+\global\lccode"03A3="03C3 \global\uccode"03A3="03A3
+\global\lccode"03A4="03C4 \global\uccode"03A4="03A4
+\global\lccode"03A5="03C5 \global\uccode"03A5="03A5
+\global\lccode"03A6="03C6 \global\uccode"03A6="03A6
+\global\lccode"03A7="03C7 \global\uccode"03A7="03A7
+\global\lccode"03A8="03C8 \global\uccode"03A8="03A8
+\global\lccode"03A9="03C9 \global\uccode"03A9="03A9
+\global\lccode"03AA="03CA \global\uccode"03AA="03AA
+\global\lccode"03AB="03CB \global\uccode"03AB="03AB
+\global\lccode"03AC="03AC \global\uccode"03AC="0391
+\global\lccode"03AD="03AD \global\uccode"03AD="0395
+\global\lccode"03AE="03AE \global\uccode"03AE="0397
+\global\lccode"03AF="03AF \global\uccode"03AF="0399
+\global\lccode"03B0="03B0 \global\uccode"03B0="03AB
+\global\lccode"03B1="03B1 \global\uccode"03B1="0391
+\global\lccode"03B2="03B2 \global\uccode"03B2="0392
+\global\lccode"03B3="03B3 \global\uccode"03B3="0393
+\global\lccode"03B4="03B4 \global\uccode"03B4="0394
+\global\lccode"03B5="03B5 \global\uccode"03B5="0395
+\global\lccode"03B6="03B6 \global\uccode"03B6="0396
+\global\lccode"03B7="03B7 \global\uccode"03B7="0397
+\global\lccode"03B8="03B8 \global\uccode"03B8="0398
+\global\lccode"03B9="03B9 \global\uccode"03B9="0399
+\global\lccode"03BA="03BA \global\uccode"03BA="039A
+\global\lccode"03BB="03BB \global\uccode"03BB="039B
+\global\lccode"03BC="03BC \global\uccode"03BC="039C
+\global\lccode"03BD="03BD \global\uccode"03BD="039D
+\global\lccode"03BE="03BE \global\uccode"03BE="039E
+\global\lccode"03BF="03BF \global\uccode"03BF="039F
+\global\lccode"03C0="03C0 \global\uccode"03C0="03A0
+\global\lccode"03C1="03C1 \global\uccode"03C1="03A1
+\global\lccode"03C2="03C2 \global\uccode"03C2="03A3
+\global\lccode"03C3="03C3 \global\uccode"03C3="03A3
+\global\lccode"03C4="03C4 \global\uccode"03C4="03A4
+\global\lccode"03C5="03C5 \global\uccode"03C5="03A5
+\global\lccode"03C6="03C6 \global\uccode"03C6="03A6
+\global\lccode"03C7="03C7 \global\uccode"03C7="03A7
+\global\lccode"03C8="03C8 \global\uccode"03C8="03A8
+\global\lccode"03C9="03C9 \global\uccode"03C9="03A9
+\global\lccode"03CA="03CA \global\uccode"03CA="03AA
+\global\lccode"03CB="03CB \global\uccode"03CB="03AB
+\global\lccode"03CC="03CC \global\uccode"03CC="039F
+\global\lccode"03CD="03CD \global\uccode"03CD="03A5
+\global\lccode"03CE="03CE \global\uccode"03CE="03A9
+\global\lccode"03D0="03D0 \global\uccode"03D0="0392
+\global\lccode"03D1="03D1 \global\uccode"03D1="0398
+\global\lccode"03D2="03C5 \global\uccode"03D2="03A5
+\global\lccode"03D3="03CD \global\uccode"03D3="03A5
+\global\lccode"03D4="03CB \global\uccode"03D4="03AB
+\global\lccode"03D5="03C6 \global\uccode"03D5="03A6
+\global\lccode"03D6="03C0 \global\uccode"03D6="03A0
+\global\lccode"03DA="03DB \global\uccode"03DA="03DA
+\global\lccode"03DB="03DB \global\uccode"03DB="03DA
+\global\lccode"03DC="03DD \global\uccode"03DC="03DC
+\global\lccode"03DD="03DD \global\uccode"03DD="03DC
+\global\lccode"03DE="03DF \global\uccode"03DE="03DE
+\global\lccode"03DF="03DF \global\uccode"03DF="03DE
+\global\lccode"03E0="03E1 \global\uccode"03E0="039A
+\global\lccode"03E0="03E1 \global\uccode"03E1="03A1
+\global\lccode"03F0="03BA \global\uccode"03F0="039A
+\global\lccode"03F1="03C1 \global\uccode"03F1="03A1
+\global\lccode"03F2="03F2 \global\uccode"03F2="03F9
+\global\lccode"03F9="03F2 \global\uccode"03F9="03F9
+\global\lccode"1F00="1F00 \global\uccode"1F00="0391
+\global\lccode"1F01="1F01 \global\uccode"1F01="0391
+\global\lccode"1F02="1F02 \global\uccode"1F02="0391
+\global\lccode"1F03="1F03 \global\uccode"1F03="0391
+\global\lccode"1F04="1F04 \global\uccode"1F04="0391
+\global\lccode"1F05="1F05 \global\uccode"1F05="0391
+\global\lccode"1F06="1F06 \global\uccode"1F06="0391
+\global\lccode"1F07="1F07 \global\uccode"1F07="0391
+\global\lccode"1F08="1F00 \global\uccode"1F08="0391
+\global\lccode"1F09="1F01 \global\uccode"1F09="0391
+\global\lccode"1F0A="1F02 \global\uccode"1F0A="0391
+\global\lccode"1F0B="1F03 \global\uccode"1F0B="0391
+\global\lccode"1F0C="1F04 \global\uccode"1F0C="0391
+\global\lccode"1F0D="1F05 \global\uccode"1F0D="0391
+\global\lccode"1F0E="1F06 \global\uccode"1F0E="0391
+\global\lccode"1F0F="1F07 \global\uccode"1F0F="0391
+\global\lccode"1F10="1F10 \global\uccode"1F10="0395
+\global\lccode"1F11="1F11 \global\uccode"1F11="0395
+\global\lccode"1F12="1F12 \global\uccode"1F12="0395
+\global\lccode"1F13="1F13 \global\uccode"1F13="0395
+\global\lccode"1F14="1F14 \global\uccode"1F14="0395
+\global\lccode"1F15="1F15 \global\uccode"1F15="0395
+\global\lccode"1F18="1F10 \global\uccode"1F18="0395
+\global\lccode"1F19="1F11 \global\uccode"1F19="0395
+\global\lccode"1F1A="1F12 \global\uccode"1F1A="0395
+\global\lccode"1F1B="1F13 \global\uccode"1F1B="0395
+\global\lccode"1F1C="1F14 \global\uccode"1F1C="0395
+\global\lccode"1F1D="1F15 \global\uccode"1F1D="0395
+\global\lccode"1F20="1F20 \global\uccode"1F20="0397
+\global\lccode"1F21="1F21 \global\uccode"1F21="0397
+\global\lccode"1F22="1F22 \global\uccode"1F22="0397
+\global\lccode"1F23="1F23 \global\uccode"1F23="0397
+\global\lccode"1F24="1F24 \global\uccode"1F24="0397
+\global\lccode"1F25="1F25 \global\uccode"1F25="0397
+\global\lccode"1F26="1F26 \global\uccode"1F26="0397
+\global\lccode"1F27="1F27 \global\uccode"1F27="0397
+\global\lccode"1F28="1F20 \global\uccode"1F28="0397
+\global\lccode"1F29="1F21 \global\uccode"1F29="0397
+\global\lccode"1F2A="1F22 \global\uccode"1F2A="0397
+\global\lccode"1F2B="1F23 \global\uccode"1F2B="0397
+\global\lccode"1F2C="1F24 \global\uccode"1F2C="0397
+\global\lccode"1F2D="1F25 \global\uccode"1F2D="0397
+\global\lccode"1F2E="1F26 \global\uccode"1F2E="0397
+\global\lccode"1F2F="1F27 \global\uccode"1F2F="0397
+\global\lccode"1F30="1F30 \global\uccode"1F30="0399
+\global\lccode"1F31="1F31 \global\uccode"1F31="0399
+\global\lccode"1F32="1F32 \global\uccode"1F32="0399
+\global\lccode"1F33="1F33 \global\uccode"1F33="0399
+\global\lccode"1F34="1F34 \global\uccode"1F34="0399
+\global\lccode"1F35="1F35 \global\uccode"1F35="0399
+\global\lccode"1F36="1F36 \global\uccode"1F36="0399
+\global\lccode"1F37="1F37 \global\uccode"1F37="0399
+\global\lccode"1F38="1F30 \global\uccode"1F38="0399
+\global\lccode"1F39="1F31 \global\uccode"1F39="0399
+\global\lccode"1F3A="1F32 \global\uccode"1F3A="0399
+\global\lccode"1F3B="1F33 \global\uccode"1F3B="0399
+\global\lccode"1F3C="1F34 \global\uccode"1F3C="0399
+\global\lccode"1F3D="1F35 \global\uccode"1F3D="0399
+\global\lccode"1F3E="1F36 \global\uccode"1F3E="0399
+\global\lccode"1F3F="1F37 \global\uccode"1F3F="0399
+\global\lccode"1F40="1F40 \global\uccode"1F40="039F
+\global\lccode"1F41="1F41 \global\uccode"1F41="039F
+\global\lccode"1F42="1F42 \global\uccode"1F42="039F
+\global\lccode"1F43="1F43 \global\uccode"1F43="039F
+\global\lccode"1F44="1F44 \global\uccode"1F44="039F
+\global\lccode"1F45="1F45 \global\uccode"1F45="039F
+\global\lccode"1F48="1F40 \global\uccode"1F48="039F
+\global\lccode"1F49="1F41 \global\uccode"1F49="039F
+\global\lccode"1F4A="1F42 \global\uccode"1F4A="039F
+\global\lccode"1F4B="1F43 \global\uccode"1F4B="039F
+\global\lccode"1F4C="1F44 \global\uccode"1F4C="039F
+\global\lccode"1F4D="1F45 \global\uccode"1F4D="039F
+\global\lccode"1F50="1F50 \global\uccode"1F50="03A5
+\global\lccode"1F51="1F51 \global\uccode"1F51="03A5
+\global\lccode"1F52="1F52 \global\uccode"1F52="03A5
+\global\lccode"1F53="1F53 \global\uccode"1F53="03A5
+\global\lccode"1F54="1F54 \global\uccode"1F54="03A5
+\global\lccode"1F55="1F55 \global\uccode"1F55="03A5
+\global\lccode"1F56="1F56 \global\uccode"1F56="03A5
+\global\lccode"1F57="1F57 \global\uccode"1F57="03A5
+\global\lccode"1F59="1F51 \global\uccode"1F59="03A5
+\global\lccode"1F5B="1F53 \global\uccode"1F5B="03A5
+\global\lccode"1F5D="1F55 \global\uccode"1F5D="03A5
+\global\lccode"1F5F="1F57 \global\uccode"1F5F="03A5
+\global\lccode"1F60="1F60 \global\uccode"1F60="03A9
+\global\lccode"1F61="1F61 \global\uccode"1F61="03A9
+\global\lccode"1F62="1F62 \global\uccode"1F62="03A9
+\global\lccode"1F63="1F63 \global\uccode"1F63="03A9
+\global\lccode"1F64="1F64 \global\uccode"1F64="03A9
+\global\lccode"1F65="1F65 \global\uccode"1F65="03A9
+\global\lccode"1F66="1F66 \global\uccode"1F66="03A9
+\global\lccode"1F67="1F67 \global\uccode"1F67="03A9
+\global\lccode"1F68="1F60 \global\uccode"1F68="03A9
+\global\lccode"1F69="1F61 \global\uccode"1F69="03A9
+\global\lccode"1F6A="1F62 \global\uccode"1F6A="03A9
+\global\lccode"1F6B="1F63 \global\uccode"1F6B="03A9
+\global\lccode"1F6C="1F64 \global\uccode"1F6C="03A9
+\global\lccode"1F6D="1F65 \global\uccode"1F6D="03A9
+\global\lccode"1F6E="1F66 \global\uccode"1F6E="03A9
+\global\lccode"1F6F="1F67 \global\uccode"1F6F="03A9
+\global\lccode"1F70="1F70 \global\uccode"1F70="0391
+\global\lccode"1F71="1F71 \global\uccode"1F71="0391
+\global\lccode"1F72="1F72 \global\uccode"1F72="0395
+\global\lccode"1F73="1F73 \global\uccode"1F73="0395
+\global\lccode"1F74="1F74 \global\uccode"1F74="0397
+\global\lccode"1F75="1F75 \global\uccode"1F75="0397
+\global\lccode"1F76="1F76 \global\uccode"1F76="0399
+\global\lccode"1F77="1F77 \global\uccode"1F77="0399
+\global\lccode"1F78="1F78 \global\uccode"1F78="039F
+\global\lccode"1F79="1F79 \global\uccode"1F79="039F
+\global\lccode"1F7A="1F7A \global\uccode"1F7A="03A5
+\global\lccode"1F7B="1F7B \global\uccode"1F7B="03A5
+\global\lccode"1F7C="1F7C \global\uccode"1F7C="03A9
+\global\lccode"1F7D="1F7D \global\uccode"1F7D="03A9
+\global\lccode"1F80="1F80 \global\uccode"1F80="1FBC
+\global\lccode"1F81="1F81 \global\uccode"1F81="1FBC
+\global\lccode"1F82="1F82 \global\uccode"1F82="1FBC
+\global\lccode"1F83="1F83 \global\uccode"1F83="1FBC
+\global\lccode"1F84="1F84 \global\uccode"1F84="1FBC
+\global\lccode"1F85="1F85 \global\uccode"1F85="1FBC
+\global\lccode"1F86="1F86 \global\uccode"1F86="1FBC
+\global\lccode"1F87="1F87 \global\uccode"1F87="1FBC
+\global\lccode"1F88="1F80 \global\uccode"1F88="1FBC
+\global\lccode"1F89="1F81 \global\uccode"1F89="1FBC
+\global\lccode"1F8A="1F82 \global\uccode"1F8A="1FBC
+\global\lccode"1F8B="1F83 \global\uccode"1F8B="1FBC
+\global\lccode"1F8C="1F84 \global\uccode"1F8C="1FBC
+\global\lccode"1F8D="1F85 \global\uccode"1F8D="1FBC
+\global\lccode"1F8E="1F86 \global\uccode"1F8E="1FBC
+\global\lccode"1F8F="1F87 \global\uccode"1F8F="1FBC
+\global\lccode"1F90="1F90 \global\uccode"1F90="1FCC
+\global\lccode"1F91="1F91 \global\uccode"1F91="1FCC
+\global\lccode"1F92="1F92 \global\uccode"1F92="1FCC
+\global\lccode"1F93="1F93 \global\uccode"1F93="1FCC
+\global\lccode"1F94="1F94 \global\uccode"1F94="1FCC
+\global\lccode"1F95="1F95 \global\uccode"1F95="1FCC
+\global\lccode"1F96="1F96 \global\uccode"1F96="1FCC
+\global\lccode"1F97="1F97 \global\uccode"1F97="1FCC
+\global\lccode"1F98="1F90 \global\uccode"1F98="1FCC
+\global\lccode"1F99="1F91 \global\uccode"1F99="1FCC
+\global\lccode"1F9A="1F92 \global\uccode"1F9A="1FCC
+\global\lccode"1F9B="1F93 \global\uccode"1F9B="1FCC
+\global\lccode"1F9C="1F94 \global\uccode"1F9C="1FCC
+\global\lccode"1F9D="1F95 \global\uccode"1F9D="1FCC
+\global\lccode"1F9E="1F96 \global\uccode"1F9E="1FCC
+\global\lccode"1F9F="1F97 \global\uccode"1F9F="1FCC
+\global\lccode"1FA0="1FA0 \global\uccode"1FA0="1FFC
+\global\lccode"1FA1="1FA1 \global\uccode"1FA1="1FFC
+\global\lccode"1FA2="1FA2 \global\uccode"1FA2="1FFC
+\global\lccode"1FA3="1FA3 \global\uccode"1FA3="1FFC
+\global\lccode"1FA4="1FA4 \global\uccode"1FA4="1FFC
+\global\lccode"1FA5="1FA5 \global\uccode"1FA5="1FFC
+\global\lccode"1FA6="1FA6 \global\uccode"1FA6="1FFC
+\global\lccode"1FA7="1FA7 \global\uccode"1FA7="1FFC
+\global\lccode"1FA8="1FA0 \global\uccode"1FA8="1FFC
+\global\lccode"1FA9="1FA1 \global\uccode"1FA9="1FFC
+\global\lccode"1FAA="1FA2 \global\uccode"1FAA="1FFC
+\global\lccode"1FAB="1FA3 \global\uccode"1FAB="1FFC
+\global\lccode"1FAC="1FA4 \global\uccode"1FAC="1FFC
+\global\lccode"1FAD="1FA5 \global\uccode"1FAD="1FFC
+\global\lccode"1FAE="1FA6 \global\uccode"1FAE="1FFC
+\global\lccode"1FAF="1FA7 \global\uccode"1FAF="1FFC
+\global\lccode"1FB0="1FB0 \global\uccode"1FB0="1FB8
+\global\lccode"1FB1="1FB1 \global\uccode"1FB1="1FB9
+\global\lccode"1FB2="1FB2 \global\uccode"1FB2="1FBC
+\global\lccode"1FB3="1FB3 \global\uccode"1FB3="1FBC
+\global\lccode"1FB4="1FB4 \global\uccode"1FB4="1FBC
+\global\lccode"1FB6="1FB6 \global\uccode"1FB6="0391
+\global\lccode"1FB7="1FB7 \global\uccode"1FB7="1FBC
+\global\lccode"1FB8="1FB0 \global\uccode"1FB8="1FB8
+\global\lccode"1FB9="1FB1 \global\uccode"1FB9="1FB9
+\global\lccode"1FBA="1F70 \global\uccode"1FBA="0391
+\global\lccode"1FBB="1F71 \global\uccode"1FBB="0391
+\global\lccode"1FBC="1FB3 \global\uccode"1FBC="1FBC
+\global\lccode"1FBD="1FBD \global\uccode"1FBD="1FBD
+\global\lccode"1FC2="1FC2 \global\uccode"1FC2="1FCC
+\global\lccode"1FC3="1FC3 \global\uccode"1FC3="1FCC
+\global\lccode"1FC4="1FC4 \global\uccode"1FC4="1FCC
+\global\lccode"1FC6="1FC6 \global\uccode"1FC6="0397
+\global\lccode"1FC7="1FC7 \global\uccode"1FC7="1FCC
+\global\lccode"1FC8="1F72 \global\uccode"1FC8="0395
+\global\lccode"1FC9="1F73 \global\uccode"1FC9="0395
+\global\lccode"1FCA="1F74 \global\uccode"1FCA="0397
+\global\lccode"1FCB="1F75 \global\uccode"1FCB="0397
+\global\lccode"1FCC="1FC3 \global\uccode"1FCC="1FCC
+\global\lccode"1FD0="1FD0 \global\uccode"1FD0="1FD8
+\global\lccode"1FD1="1FD1 \global\uccode"1FD1="1FD9
+\global\lccode"1FD2="1FD2 \global\uccode"1FD2="03AA
+\global\lccode"1FD3="1FD3 \global\uccode"1FD3="03AA
+\global\lccode"1FD6="1FD6 \global\uccode"1FD6="0399
+\global\lccode"1FD7="1FD7 \global\uccode"1FD7="03AA
+\global\lccode"1FD8="1FD0 \global\uccode"1FD8="1FD8
+\global\lccode"1FD9="1FD1 \global\uccode"1FD9="1FD9
+\global\lccode"1FDA="1F76 \global\uccode"1FDA="0399
+\global\lccode"1FDB="1F77 \global\uccode"1FDB="0399
+\global\lccode"1FE0="1FE0 \global\uccode"1FE0="1FE8
+\global\lccode"1FE1="1FE1 \global\uccode"1FE1="1FE9
+\global\lccode"1FE2="1FE2 \global\uccode"1FE2="03AB
+\global\lccode"1FE3="1FE3 \global\uccode"1FE3="03AB
+\global\lccode"1FE4="1FE4 \global\uccode"1FE4="03A1
+\global\lccode"1FE5="1FE5 \global\uccode"1FE5="1FEC
+\global\lccode"1FE6="1FE6 \global\uccode"1FE6="03A5
+\global\lccode"1FE7="1FE7 \global\uccode"1FE7="03AB
+\global\lccode"1FE8="1FE0 \global\uccode"1FE8="1FE8
+\global\lccode"1FE9="1FE1 \global\uccode"1FE9="1FE9
+\global\lccode"1FEA="1F7A \global\uccode"1FEA="03A5
+\global\lccode"1FEB="1F7B \global\uccode"1FEB="03A5
+\global\lccode"1FEC="1FE5 \global\uccode"1FEC="1FEC
+\global\lccode"1FF2="1FF2 \global\uccode"1FF2="1FFC
+\global\lccode"1FF3="1FF3 \global\uccode"1FF3="1FFC
+\global\lccode"1FF4="1FF4 \global\uccode"1FF4="1FFC
+\global\lccode"1FF6="1FF6 \global\uccode"1FF6="03A9
+\global\lccode"1FF7="1FF7 \global\uccode"1FF7="1FFC
+\global\lccode"1FF8="1F78 \global\uccode"1FF8="039F
+\global\lccode"1FF9="1F79 \global\uccode"1FF9="039F
+\global\lccode"1FFA="1F7C \global\uccode"1FFA="03A9
+\global\lccode"1FFB="1F7D \global\uccode"1FFB="03A9
+\global\lccode"1FFC="1FF3 \global\uccode"1FFC="1FFC
+\endinput