summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-05-18 21:58:47 +0000
committerKarl Berry <karl@freefriends.org>2016-05-18 21:58:47 +0000
commitfd4db2fd78326629cdaa61f2bbca86682fa2819e (patch)
tree8ce47b799786f854d1f4a66efa0661f244671e9c /Master/texmf-dist/tex
parent17ee5a848b1f535a07aad806695a5c41841bd3dd (diff)
babel-french (18may16)
git-svn-id: svn://tug.org/texlive/trunk@41244 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/generic/babel-french/frenchb.ldf151
-rw-r--r--Master/texmf-dist/tex/generic/babel-french/frenchb.lua15
2 files changed, 94 insertions, 72 deletions
diff --git a/Master/texmf-dist/tex/generic/babel-french/frenchb.ldf b/Master/texmf-dist/tex/generic/babel-french/frenchb.ldf
index eb0939c313f..0e068808aad 100644
--- a/Master/texmf-dist/tex/generic/babel-french/frenchb.ldf
+++ b/Master/texmf-dist/tex/generic/babel-french/frenchb.ldf
@@ -33,7 +33,7 @@
%% extension .ins) which are part of the distribution.
%%
\ProvidesLanguage{frenchb}
- [2016/04/18 v3.2b French support from the babel system]
+ [2016/05/14 v3.2c French support from the babel system]
%%
%% File `frenchb.ldf'
%% Babel package for LaTeX version 2e
@@ -168,13 +168,10 @@
\expandafter\addto\csname #1\FB@CurOpt\endcsname{#2}}
\FB@addto{extras}{\bbl@frenchspacing}
\FB@addto{noextras}{\bbl@nonfrenchspacing}
-\newif\ifFBAutoSpaceGuill \FBAutoSpaceGuilltrue
-\newif\ifFB@active@punct \FB@active@puncttrue
+\newif\ifFB@active@punct \FB@active@puncttrue
\newif\ifFB@luatex@punct
\ifFBLuaTeX
- \ifnum\luatexversion>94
- \FB@luatex@puncttrue\FB@active@punctfalse
- \else
+ \ifnum\luatexversion<95
\ifx\PackageWarning\@undefined
\fb@warning{Please upgrade LuaTeX to version 0.95 or above!\\%
frenchb will make high punctuation characters (;:!?) active\\%
@@ -185,6 +182,8 @@
frenchb will make high punctuation characters\MessageBreak
(;:!?) active with LuaTeX < 0.95;\MessageBreak reported}%
\fi
+ \else
+ \FB@luatex@puncttrue\FB@active@punctfalse
\fi
\fi
\newcount\FB@nonchar
@@ -193,24 +192,38 @@
\expandafter\ifx\csname XeTeXinterchartokenstate\endcsname\relax
\else
\FB@xetex@puncttrue\FB@active@punctfalse
- \ifdim\the\XeTeXversion\XeTeXrevision pt<0.99996pt
+ \ifdim\the\XeTeXversion\XeTeXrevision pt<0.99994pt
\FB@nonchar=255 \relax
\else
\FB@nonchar=4095 \relax
\fi
\fi
\newcommand*{\FBcolonspace}{\space}
-\newcommand*{\FBthinspace}{\hskip .16667em \relax}
+\newcommand*{\FBthinspace}{\hskip.5\fontdimen2\font \relax}
\newskip\FBcolonskip
\FBcolonskip=3.33pt plus 1.665pt minus 1.11pt \relax
\newskip\FBthinskip
\FBthinskip=1.66672pt \relax
+\newif\ifFB@spacing \FB@spacingtrue
+\newcommand*{\FB@spacing@on}{%
+ \ifFB@luatex@punct
+ \FB@spacing=1 \relax
+ \else
+ \FB@spacingtrue
+ \fi}
+\newcommand*{\FB@spacing@off}{%
+ \ifFB@luatex@punct
+ \FB@spacing=0 \relax
+ \else
+ \FB@spacingfalse
+ \fi}
\ifFB@luatex@punct
\directlua{tex.enableprimitives("", tex.extraprimitives("omega"))}
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname newluafunction\endcsname\relax
\input ltluatex.tex
\fi
+ \newattribute\FB@spacing \FB@spacing=1 \relax
\newattribute\FB@addDPspace \FB@addDPspace=1 \relax
\newattribute\FB@addGUILspace \FB@addGUILspace=0 \relax
\ifLaTeXe
@@ -299,42 +312,46 @@
\XeTeXinterchartokenstate=1
\XeTeXcharclass `\: = \FB@punctthick
\XeTeXinterchartoks \z@ \FB@punctthick = {%
- \ifhmode\FDP@colonspace\fi}%
+ \ifFB@spacing\ifhmode\FDP@colonspace\fi\fi}%
\XeTeXinterchartoks \FB@guilf \FB@punctthick = {%
- \FDP@colonspace}%
+ \ifFB@spacing\FDP@colonspace\fi}%
\XeTeXinterchartoks \FB@nonchar \FB@punctthick = {%
- \ifhmode
- \ifdim\lastskip>1sp
- \unskip\penalty\@M\FBcolonspace
- \else
- \FDP@colonspace
- \fi
- \fi}%
+ \ifFB@spacing
+ \ifhmode
+ \ifdim\lastskip>1sp
+ \unskip\penalty\@M\FBcolonspace
+ \else
+ \FDP@colonspace
+ \fi
+ \fi
+ \fi}%
\bbl@for\FB@char
{`\;,`\!,`\?}%
{\XeTeXcharclass\FB@char=\FB@punctthin}%
\XeTeXinterchartoks \z@ \FB@punctthin = {%
- \ifhmode\FDP@thinspace\fi}%
+ \ifFB@spacing\ifhmode\FDP@thinspace\fi\fi}%
\XeTeXinterchartoks \FB@guilf \FB@punctthin = {%
- \FDP@thinspace}%
+ \ifFB@spacing\FDP@thinspace\fi}%
\XeTeXinterchartoks \FB@nonchar \FB@punctthin = {%
- \ifhmode
- \ifdim\lastskip>1sp
- \unskip\penalty\@M\FBthinspace
- \else
- \FDP@thinspace
- \fi
- \fi}%
+ \ifFB@spacing
+ \ifhmode
+ \ifdim\lastskip>1sp
+ \unskip\penalty\@M\FBthinspace
+ \else
+ \FDP@thinspace
+ \fi
+ \fi
+ \fi}%
\XeTeXinterchartoks \FB@guilo \z@ = {%
- \ifFBAutoSpaceGuill\FBguillspace\fi}%
+ \ifFB@spacing\FBguillspace\fi}%
\XeTeXinterchartoks \FB@guilo \FB@nonchar = {%
- \ifFBAutoSpaceGuill\FBguillspace\ignorespaces\fi}%
+ \ifFB@spacing\FBguillspace\ignorespaces\fi}%
\XeTeXinterchartoks \z@ \FB@guilf = {%
- \ifFBAutoSpaceGuill\FBguillspace\fi}%
+ \ifFB@spacing\FBguillspace\fi}%
\XeTeXinterchartoks \FB@punctthin \FB@guilf = {%
- \ifFBAutoSpaceGuill\FBguillspace\fi}%
+ \ifFB@spacing\FBguillspace\fi}%
\XeTeXinterchartoks \FB@nonchar \FB@guilf = {%
- \ifFBAutoSpaceGuill\unskip\FBguillspace\fi}%
+ \ifFB@spacing\unskip\FBguillspace\fi}%
\bbl@for\FB@char
{`\[,`\(,"A0,"202F}%
{\XeTeXcharclass\FB@char=\FB@punctnul}%
@@ -350,6 +367,7 @@
\initiate@active@char{!}%
\initiate@active@char{?}%
\declare@shorthand{french}{;}{%
+ \ifFB@spacing
\ifhmode
\ifdim\lastskip>1sp
\unskip\penalty\@M\FBthinspace
@@ -357,8 +375,10 @@
\FDP@thinspace
\fi
\fi
- \string;}
+ \fi
+ \string;}
\declare@shorthand{french}{!}{%
+ \ifFB@spacing
\ifhmode
\ifdim\lastskip>1sp
\unskip\penalty\@M\FBthinspace
@@ -366,8 +386,10 @@
\FDP@thinspace
\fi
\fi
- \string!}
+ \fi
+ \string!}
\declare@shorthand{french}{?}{%
+ \ifFB@spacing
\ifhmode
\ifdim\lastskip>1sp
\unskip\penalty\@M\FBthinspace
@@ -375,8 +397,10 @@
\FDP@thinspace
\fi
\fi
- \string?}
+ \fi
+ \string?}
\declare@shorthand{french}{:}{%
+ \ifFB@spacing
\ifhmode
\ifdim\lastskip>1sp
\unskip\penalty\@M\FBcolonspace
@@ -384,7 +408,8 @@
\FDP@colonspace
\fi
\fi
- \string:}
+ \fi
+ \string:}
\declare@shorthand{system}{:}{\string:}
\declare@shorthand{system}{!}{\string!}
\declare@shorthand{system}{?}{\string?}
@@ -419,33 +444,13 @@
\AutoSpaceBeforeFDP
\fi
\ifLaTeXe
- \DeclareRobustCommand\ttfamilyFB{%
- \FBAutoSpaceGuillfalse
- \ifFB@luatex@punct\FB@addGUILspace=0 \fi
- \noautospace@beforeFDP\ttfamilyORI}%
- \DeclareRobustCommand\rmfamilyFB{%
- \FBAutoSpaceGuilltrue
- \ifFB@luatex@punct\FB@addGUILspace=1 \fi
- \ifFBAutoSpacePunctuation
- \autospace@beforeFDP
- \else
- \noautospace@beforeFDP
- \fi
- \rmfamilyORI}%
- \DeclareRobustCommand\sffamilyFB{%
- \FBAutoSpaceGuilltrue
- \ifFB@luatex@punct\FB@addGUILspace=1 \fi
- \ifFBAutoSpacePunctuation
- \autospace@beforeFDP
- \else
- \noautospace@beforeFDP
- \fi
- \sffamilyORI}%
+ \DeclareRobustCommand\ttfamilyFB{\FB@spacing@off \ttfamilyORI}
+ \DeclareRobustCommand\rmfamilyFB{\FB@spacing@on \rmfamilyORI}
+ \DeclareRobustCommand\sffamilyFB{\FB@spacing@on \sffamilyORI}
\fi
-\DeclareRobustCommand*{\NoAutoSpacing}{\FBAutoSpaceGuillfalse
- \ifFB@active@punct\noautospace@beforeFDP\shorthandoff{;:!?}\fi
- \ifFB@xetex@punct\XeTeXinterchartokenstate=0 \fi
- \ifFB@luatex@punct\FB@addDPspace=0 \FB@addGUILspace=0 \fi
+\DeclareRobustCommand*{\NoAutoSpacing}{%
+ \FB@spacing@off
+ \ifFB@active@punct\shorthandoff{;:!?}\fi
}
\ifLaTeXe
\else
@@ -471,17 +476,19 @@
minus.8\fontdimen4\font}
\ifFB@luatex@punct
\DeclareRobustCommand*{\FB@og}{\leavevmode
- \bgroup\FB@addGUILspace=1 \guillemotleft\egroup}
+ \bgroup\FB@spacing=0 \guillemotleft\egroup
+ \FBguillspace}
\DeclareRobustCommand*{\FB@fg}{\ifdim\lastskip>\z@\unskip\fi
- \bgroup\FB@addGUILspace=1 \guillemotright\egroup}
+ \FBguillspace
+ \bgroup\FB@spacing=0 \guillemotright\egroup}
\fi
\ifFB@xetex@punct
\DeclareRobustCommand*{\FB@og}{\leavevmode
- \bgroup\FBAutoSpaceGuillfalse\guillemotleft\egroup
+ \bgroup\FB@spacingfalse\guillemotleft\egroup
\FBguillspace}
\DeclareRobustCommand*{\FB@fg}{\ifdim\lastskip>\z@\unskip\fi
\FBguillspace
- \bgroup\FBAutoSpaceGuillfalse\guillemotright\egroup}
+ \bgroup\FB@spacingfalse\guillemotright\egroup}
\fi
\ifFB@active@punct
\DeclareRobustCommand*{\FB@og}{\leavevmode
@@ -1169,10 +1176,15 @@
\XeTeXcharclass"A0 = \FB@guilnul
\XeTeXcharclass"202F = \FB@guilnul
\fi
+ \ifFB@active@punct
+ \FBWarning{frenchb.ldf}%
+ {Option og=« not supported with this version
+ of\MessageBreak LuaTeX/XeTeX; reported}%
+ \fi
\else
\newcommand*{\FB@@og}{%
\iflanguage{french}%
- {\ifFBAutoSpaceGuill\FB@og\ignorespaces
+ {\ifFB@spacing\FB@og\ignorespaces
\else\guillemotleft
\fi}%
{\guillemotleft}}%
@@ -1210,10 +1222,15 @@
\XeTeXcharclass"A0 = \FB@guilnul
\XeTeXcharclass"202F = \FB@guilnul
\fi
+ \ifFB@active@punct
+ \FBWarning{frenchb.ldf}%
+ {Option fg=» not supported with this version
+ of\MessageBreak LuaTeX/XeTeX; reported}%
+ \fi
\else
\newcommand*{\FB@@fg}{%
\iflanguage{french}%
- {\ifFBAutoSpaceGuill\FB@fg
+ {\ifFB@spacing\FB@fg
\else\guillemotright
\fi}%
{\guillemotright}}%
diff --git a/Master/texmf-dist/tex/generic/babel-french/frenchb.lua b/Master/texmf-dist/tex/generic/babel-french/frenchb.lua
index cbc79319e72..f759ef2e499 100644
--- a/Master/texmf-dist/tex/generic/babel-french/frenchb.lua
+++ b/Master/texmf-dist/tex/generic/babel-french/frenchb.lua
@@ -1,5 +1,5 @@
--
--- File `frenchb.lua' generated from frenchb.dtx [2016/04/18 v3.2b]
+-- File `frenchb.lua' generated from frenchb.dtx [2016/05/14 v3.2c]
--
-- Copyright © 2014-2016 Daniel Flipo
-- <daniel (dot) flipo (at) free (dot) fr>
@@ -81,6 +81,7 @@ local function new_glue_scaled (fid,width,stretch,shrink)
return nil
end
end
+local FBspacing = luatexbase.attributes['FB@spacing']
local addDPspace = luatexbase.attributes['FB@addDPspace']
local addGUILspace = luatexbase.attributes['FB@addGUILspace']
local has_attribute = node.has_attribute
@@ -89,8 +90,12 @@ local function french_punctuation (head)
local lang = item.lang
local char = item.char
local fid = item.font
+ local FRspacing = has_attribute(item, FBspacing)
+ FRspacing = FRspacing and FRspacing > 0
local SIG = has_attribute(item, addGUILspace)
- if lang == FR and FB_punct_left[char] and fid > 0 then
+ SIG = SIG and SIG >0
+ if lang == FR and FRspacing and
+ FB_punct_left[char] and fid > 0 then
local prev = item.prev
local prev_id, prev_subtype, prev_char
if prev then
@@ -130,7 +135,7 @@ local function french_punctuation (head)
insert_node_before(head, item, copy_node(nobreak))
insert_node_before(head, item, copy_node(fbglue))
end
- elseif SIG and SIG > 0 then
+ elseif SIG then
local addgl = (prev_char and not FB_guil_null[prev_char]) or
(not prev_char and
prev_id ~= TEMP and
@@ -149,8 +154,8 @@ local function french_punctuation (head)
end
end
end
- if lang == FR and FB_punct_right[char] and fid > 0
- and SIG and SIG > 0 then
+ if lang == FR and FRspacing and FB_punct_right[char]
+ and fid > 0 and SIG then
local next = item.next
local next_id, next_subtype, next_char, nextnext, kern_wd
if next then