summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/polyglossia
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-05-22 22:00:35 +0000
committerKarl Berry <karl@freefriends.org>2014-05-22 22:00:35 +0000
commit6ea3ea065d72f1dd1229cd1ab37be377019501ad (patch)
tree03d1972fc5cc0d75a1c379819257b6644dd4f482 /Master/texmf-dist/tex/latex/polyglossia
parenta8821950ae08fd013ee64b64531ab848daf3a52d (diff)
polyglossia (22may14)
git-svn-id: svn://tug.org/texlive/trunk@34205 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/polyglossia')
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-breton.ldf8
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf10
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf30
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-lithuanian.ldf2
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf8
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf4
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-turkish.ldf8
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/polyglossia-brpt.lua224
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty27
9 files changed, 65 insertions, 256 deletions
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-breton.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-breton.ldf
index 3b299b36c77..5c49542c128 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-breton.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-breton.ldf
@@ -8,8 +8,7 @@
}
\ifluatex
- \newluatexattribute\xpg@frpt
- \directlua{polyglossia.load_frpt()}
+ % TODO
\else
\newXeTeXintercharclass\breton@punctthin % ! ? ;
\newXeTeXintercharclass\breton@punctthick % :
@@ -20,8 +19,7 @@
\def\breton@punctuation{%
\ifluatex
- \global\xpg@frpt=1\relax
- \directlua{polyglossia.activate_frpt()}%
+ % TODO
\else
\XeTeXinterchartokenstate=1%
\XeTeXcharclass `\! \breton@punctthin
@@ -35,7 +33,7 @@
\def\nobreton@punctuation{%
\ifluatex
- \global\xpg@frpt=0\relax
+ % TODO
\else
\XeTeXcharclass `\! \z@
\XeTeXcharclass `\? \z@
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf
index c43775077a4..c76ae47160c 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf
@@ -16,23 +16,23 @@
\def\contentsname{Sadržaj}%
\def\listfigurename{Popis slika}%
\def\listtablename{Popis tablica}%
- \def\indexname{Indeks}%
+ \def\indexname{Kazalo}%
\def\figurename{Slika}%
\def\tablename{Tablica}%
\def\partname{Dio}%
\def\pagename{Stranica}%
\def\seename{Vidjeti}%
- \def\alsoname{Vidjeti i}%
+ \def\alsoname{Također vidjeti}%
\def\enclname{Prilozi}%
- \def\ccname{Kopije}%
+ \def\ccname{Kopija}%
\def\headtoname{Prima}%
\def\proofname{Dokaz}%
- \def\glossaryname{Kazalo}%
+ \def\glossaryname{Pojmovnik}%
}
\def\datecroatian{%
\def\today{\number\day.~\ifcase\month\or
siječnja\or veljače\or ožujka\or travnja\or svibnja\or
- lipnja\or srpnja\or kolovoza\or rujna\or listopada\or studenog\or
+ lipnja\or srpnja\or kolovoza\or rujna\or listopada\or studenoga\or
prosinca\fi \space \number\year.}}
\endinput
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf
index dc29c14f254..e3e343c48eb 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf
@@ -33,6 +33,15 @@
\fi
}
+\newif\if@austrian@locale
+\@austrian@localefalse
+\def\tmp@austrian{austrian}
+\define@key{german}{variant}[german]{%
+ \def\@tmpa{#1}%
+ \ifx\@tmpa\tmp@austrian\@austrian@localetrue\else
+ \@austrian@localefalse%
+ \fi}
+
\newif\if@german@fraktur
\def\tmp@fraktur{fraktur}
\define@key{german}{script}[latin]{%
@@ -125,13 +134,17 @@
}
\def\date@german{%
\def\today{\number\day.%
- \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
+ \space \ifcase\month%
+ \or\if@austrian@locale Jänner\else Januar\fi\or Februar\or März\or%
+ April\or Mai\or Juni\or Juli\or August\or September\or Oktober\or%
+ November\or Dezember\fi
\space \number\year}%
}
+\def\captions@german@austrian{%
+ \def\enclname{Beilage(n)}%
+}
+
%%Strings for Fraktur contributed by Gerrit <z0idberg . gmx . de>
\def\captions@german@fraktur{%
\captions@german%
@@ -143,15 +156,16 @@
\def\date@german@fraktur{%
\def\today{\number\day.%
- \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
+ \space \ifcase\month%
+ \or\if@austrian@locale Jänner\else Januar\fi\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
\space \number\year}%
}
\def\captionsgerman{%
\if@german@fraktur\captions@german@fraktur\else\captions@german\fi
+ \if@austrian@locale\captions@german@austrian\fi
}
\def\dategerman{%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-lithuanian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-lithuanian.ldf
index f1bc9344610..d7f37afdf86 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-lithuanian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-lithuanian.ldf
@@ -13,7 +13,7 @@
\def\abstractname{Santrauka}%
\def\bibname{Literatūra}%
\def\prefacename{Pratarmė}%
- \def\chaptername{skyrius}%
+ \def\chaptername{Skyrius}%
\def\appendixname{Priedas}%
\def\contentsname{Turinys}%
\def\listfigurename{Iliustracijų sąrašas}%
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf
index 40359e022aa..05b1a9141b6 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf
@@ -15,17 +15,17 @@
\def\appendixname{Dodatek}%
\def\contentsname{Spis treści}%
\def\listfigurename{Spis rysunków}%
- \def\listtablename{Spis tablic}%
+ \def\listtablename{Spis tabel}%
\def\indexname{Indeks}%
\def\figurename{Rysunek}%
- \def\tablename{Tablica}%
+ \def\tablename{Tabela}%
\def\partname{Część}%
\def\enclname{Załącznik}%
\def\ccname{Kopie:}%
\def\headtoname{Do}%
\def\pagename{Strona}%
- \def\seename{Porównaj}%
- \def\alsoname{Porównaj także}%
+ \def\seename{Zobacz}%
+ \def\alsoname{Zobacz też}%
\def\proofname{Dowód}%
\def\glossaryname{Glossary}% <-- Needs translation
}
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf
index 78c984afc89..45563f50fc8 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf
@@ -22,7 +22,7 @@
\define@key{russian}{numerals}[latin]{%
\ifstrequal{#1}{cyrillic}%
{\cyrillic@numeralstrue}
- {\cyrillic@numeralsfalse}
+ {\cyrillic@numeralsfalse}%
}
\define@boolkey{russian}[russian@]{babelshorthands}[false]{}
@@ -65,7 +65,7 @@
\ifx\tempx@\tempa@\@Acdash\else
\ifx\tempx@\tempb@\@Bcdash\else
\ifx\tempx@\tempc@\@Ccdash\else
- \errmessage{Wrong usage of cdash}\fi\fi\fi}
+ \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
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-turkish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-turkish.ldf
index b9d130f2ba9..7df181f50cb 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-turkish.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-turkish.ldf
@@ -8,30 +8,36 @@
fontsetup=true
}
+% TODO Add \ifluatex branch everywhere
+\ifxetex
\newXeTeXintercharclass\turkish@punctthin % ! :
\newXeTeXintercharclass\turkish@punctthick % =
+\fi
\def\turkish@punctthinspace{{\ifdim\lastskip>\z@\unskip\penalty\@M\thinspace\fi}}
\def\turkish@punctthickspace{{\unskip\nobreakspace}}
\def\turkish@punctuation{%
+ \ifxetex
\XeTeXinterchartokenstate=1%
\XeTeXcharclass `\! \turkish@punctthin
\XeTeXcharclass `\: \turkish@punctthin
\XeTeXcharclass `\= \turkish@punctthick
\XeTeXinterchartoks \z@ \turkish@punctthin = \turkish@punctthinspace
\XeTeXinterchartoks \z@ \turkish@punctthick = \turkish@punctthickspace
+ \fi
}
\def\noturkish@punctuation{%
+ \ifxetex
\XeTeXcharclass `\! \z@
\XeTeXcharclass `\: \z@
\XeTeXcharclass `\= \z@
\XeTeXinterchartokenstate=0%
+ \fi
}
\def\turkish@casing{%
- \message{\string\turkish@casing\space called.}
\lccode`\I=`\ı
\uccode`\i=`\İ
}
diff --git a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-brpt.lua b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-brpt.lua
deleted file mode 100644
index 56af011152a..00000000000
--- a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-brpt.lua
+++ /dev/null
@@ -1,224 +0,0 @@
-require('polyglossia') -- just in case...
-
-local add_to_callback = luatexbase.add_to_callback
-local remove_from_callback = luatexbase.remove_from_callback
-local priority_in_callback = luatexbase.priority_in_callback
-
-local get_quad = luaotfload.aux.get_quad -- needs luaotfload > 20130516
-
-local next, type = next, type
-
-local nodes, fonts, node = nodes, fonts, node
-
-local nodecodes = nodes.nodecodes
-
-local insert_node_before = node.insert_before
-local insert_node_after = node.insert_after
-local remove_node = nodes.remove
-local has_attribute = node.has_attribute
-local node_copy = node.copy
-local new_node = node.new
-
-local end_of_math = node.end_of_math
-if not end_of_math then -- luatex < .76
- local traverse_nodes = node.traverse_id
- local math_code = nodecodes.math
- local end_of_math = function (n)
- for n in traverse_nodes(math_code, n.next) do
- return n
- end
- end
-end
-
--- node types according to node.types()
-local glue_code = nodecodes.glue
-local glue_spec_code = nodecodes.glue_spec
-local glyph_code = nodecodes.glyph
-local penalty_code = nodecodes.penalty
-local kern_code = nodecodes.kern
-
--- we make a new node, so that we can copy it later on
-local penalty_node = new_node(penalty_code)
-penalty_node.penalty = 10000
-
-local function get_penalty_node()
- return node_copy(penalty_node)
-end
-
--- same for glue node
-local kern_node = new_node(kern_code)
-
-local function get_kern_node(dim)
- local n = node_copy(kern_node)
- n.kern = dim
- return n
-end
-
--- we have here all possible space characters, referenced by their
--- unicode slot number, taken from char-def.lua
-local space_chars = {[32]=1, [160]=1, [5760]=1, [6158]=1, [8192]=1, [8193]=1, [8194]=1, [8195]=1,
- [8196]=1, [8197]=1, [8198]=1, [8199]=1, [8200]=1, [8201]=1, [8202]=1, [8239]=1, [8287]=1, [12288]=1}
-
--- from nodes-tst.lua, adapted
-local function somespace(n,all)
- if n then
- local id = n.id
- if id == glue_code then
- return (all or (n.spec.width ~= 0)) and glue_code
- elseif id == kern_code then
- return (all or (n.kern ~= 0)) and kern_code
- elseif id == glyph_code then
- if space_chars[n.char] then
- return true
- else
- return false
- end
- end
- end
- return false
-end
-
--- idem
-local function somepenalty(n,value)
- if n then
- local id = n.id
- if id == penalty_code then
- if value then
- return n.penalty == value
- else
- return true
- end
- end
- end
- return false
-end
-
-local xpgfrptattr = luatexbase.attributes['xpg@frpt']
-
-local left=1
-local right=2
-local byte = unicode.utf8.byte
-
--- Now there is a good question: how do we now, in lua, what a \thinspace is?
--- In the LaTeX source (ltspace.dtx) it is defined as:
--- \def\thinspace{\kern .16667em }. I see no way of seeing if it has been
--- overriden or not... So we stick to this value.
-local thinspace = 0.16667
--- thickspace is defined in amsmath.sty as:
--- \renewcommand{\;}{\mspace+\thickmuskip{.2777em}}. Same problem as above, we
--- stick to this fixed value.
-local thickspace = 0.2777 -- 5/18
-
-local mappings = {
- [byte(':')] = {left, thickspace}, --really?
- [byte('!')] = {left, thinspace},
- [byte('?')] = {left, thinspace},
- [byte(';')] = {left, thinspace},
- [byte('‼')] = {left, thinspace},
- [byte('⁇')] = {left, thinspace},
- [byte('⁈')] = {left, thinspace},
- [byte('⁉')] = {left, thinspace},
- [byte('»')] = {left, thinspace},
- [byte('>')] = {left, thinspace},
- [byte('«')] = {right, thinspace},
- [byte('‹')] = {right, thinspace},
- }
-
-local function set_spacings(thinsp, thicksp)
- for _, m in pairs(mappings) do
- if m[2] == thinspace then
- m[2] = thinsp
- elseif m[2] == thickspace then
- m[2] = thicksp
- end
- end
- thickspace = thicksp
- thinspace = thinsp
-end
-
--- from typo-spa.lua
-local function process(head)
- local done = false
- local start = head
- -- head is always begin of par (whatsit), so we have at least two prev nodes
- -- penalty followed by glue
- while start do
- local id = start.id
- if id == glyph_code then
- local attr = has_attribute(start, xpgfrptattr)
- if attr and attr > 0 then
- local char = start.char
- local map = mappings[char]
- --node.unset_attribute(start, xpgfrptattr) -- needed?
- if map then
- local quad = get_quad(start.font) -- might be optimized
- local prev = start.prev
- if map[1] == left and prev then
- local prevprev = prev.prev
- local somespace = somespace(prev,true)
- -- TODO: there is a question here: do we override a preceding space or not?...
- if somespace then
- local somepenalty = somepenalty(prevprev,10000)
- if somepenalty then
- head = remove_node(head,prev,true)
- head = remove_node(head,prevprev,true)
- else
- head = remove_node(head,prev,true)
- end
- end
- insert_node_before(head,start,get_penalty_node())
- insert_node_before(head,start,get_kern_node(map[2]*quad))
- done = true
- end
- local next = start.next
- if map[1] == right and next then
- local nextnext = next.next
- local somepenalty = somepenalty(next,10000)
- if somepenalty then
- local somespace = somespace(nextnext,true)
- if somespace then
- head = remove_node(head,next,true)
- head = remove_node(head,nextnext,true)
- end
- else
- local somespace = somespace(next,true)
- if somespace then
- head = remove_node(head,next,true)
- end
- end
- insert_node_after(head,start,get_kern_node(map[2]*quad))
- insert_node_after(head,start,get_penalty_node())
- done = true
- end
- end
- end
- elseif id == math_code then
- -- warning: this is a feature of luatex > 0.76
- start = end_of_math(start) -- weird, can return nil .. no math end?
- end
- if start then
- start = start.next
- end
- end
- return head, done
-end
-
-local callback_name = "pre_linebreak_filter"
-
-local function activate()
- if not priority_in_callback (callback_name, "polyglossia-frpt.process") then
- add_to_callback(callback_name, process, "polyglossia-frpt.process", 1)
- end
-end
-
-local function desactivate()
- if priority_in_callback (callback_name, "polyglossia-frpt.process") then
- remove_from_callback(callback_name, "polyglossia-frpt.process")
- end
-end
-
-polyglossia.activate_frpt = activate
-polyglossia.desactivate_frpt = desactivate
-polyglossia.set_spacings = set_spacings
-polyglossia.thinspace = thinspace
-polyglossia.thickspace = thickpace
diff --git a/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty b/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty
index 7e5c3251f61..e56d5a9e70a 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty
+++ b/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty
@@ -1,5 +1,5 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{polyglossia}[2013/06/27 v1.33.4
+\ProvidesPackage{polyglossia}[2014/05/21 v1.33.5
Babel replacement for XeLaTeX and LuaTeX]
\RequirePackage{etoolbox}
\RequirePackage{makecmds}
@@ -10,6 +10,8 @@
% LuaTeX, but it's not if we run XeTeX, and we need it to know which of
% the two engines it is! Hence we include it here.
\RequirePackage{ifluatex}
+% For symmetry with ifluatex
+\RequirePackage{ifxetex}
% fontspec now uses LaTeX3 packages such as expl3, so we need this:
\ExplSyntaxOn
@@ -211,8 +213,17 @@
\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\ifluatex\directlua{polyglossia.select_language('\luatexluaescapestring{\string#1}', \the\csname l@#1\endcsname)}\fi}%
+ \csdef{#1@language}{%
+ \ifbool{xpg@hyphenation@disabled}{%
+ \xdef\xpg@lastlanguage{\the\csname l@#1\endcsname}%
+ }{%
+ \ifluatex%
+ \xpg@set@language@luatex@ii{#1}%
+ \fi%
+ \language=\csname l@#1\endcsname%
+ }%
}%
+ }%
\define@choicekey+[xpg@setup]{#1}{direction}[\val\nr]{LR,RL}[LR]%
{\ifcase\nr\relax
\togglefalse{#1@RL}%
@@ -646,9 +657,13 @@
\docsvlist{#1}}%
\def\common@language{% FIXME is this really needed???
- \language=\z@
- \lefthyphenmin=\tw@
- \righthyphenmin=\thr@@}
+ \ifbool{xpg@hyphenation@disabled}{%
+ \xdef\xpg@lastlanguage{\z@}%
+ }{%
+ \language=\z@
+ }%
+ \lefthyphenmin=\tw@
+ \righthyphenmin=\thr@@}
\def\noextrascurrent#1{\csuse{noextras@#1}}
@@ -729,7 +744,7 @@
\global\@namedef{lu@texhyphen@loaded@\the\language}{}%
\directlua{polyglossia.select_language('\luatexluaescapestring{\string#1}', \the\csname l@#1\endcsname)}%
\fi %
- \fi %
+ \fi %
\xpg@initial@setup%
\select@@language{#1}%
\ifcsundef{setRL}{}%