summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-04-21 22:17:31 +0000
committerKarl Berry <karl@freefriends.org>2014-04-21 22:17:31 +0000
commit55b6d1e036cbf4eb905dd1438723d091232649cf (patch)
tree6d2fe9b1ec97b2e62e0bacd941f9b908004580b0 /Master/texmf-dist/tex/generic
parentb9cdcfa7770322ac6a61dfb79bc747704cb9170c (diff)
babel-french (21apr14)
git-svn-id: svn://tug.org/texlive/trunk@33601 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic')
-rw-r--r--Master/texmf-dist/tex/generic/babel-french/frenchb.ldf141
-rw-r--r--Master/texmf-dist/tex/generic/babel-french/frenchb.lua18
2 files changed, 94 insertions, 65 deletions
diff --git a/Master/texmf-dist/tex/generic/babel-french/frenchb.ldf b/Master/texmf-dist/tex/generic/babel-french/frenchb.ldf
index 2862ce94b67..c5002a314d8 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}
- [2014/03/14 v3.0b French support from the babel system]
+ [2014/04/18 v3.0c French support from the babel system]
%%
%% File `frenchb.ldf'
%% Babel package for LaTeX version 2e
@@ -42,26 +42,6 @@
%%
\chardef\atcatcode=\catcode`\@
\catcode`\@=11\relax
-\def\FB@nopatterns{%
- \ifx\l@nohyphenation\@undefined
- \edef\bbl@nulllanguage{\string\language=0}%
- \adddialect\l@french0
- \else
- \adddialect\l@french\l@nohyphenation
- \edef\bbl@nulllanguage{\string\language=nohyphenation}%
- \fi
- \@nopatterns{French}}
-\ifx\l@french\@undefined
- \ifx\lang@french\@undefined
- \FB@nopatterns
- \else
- \ifnum\lang@french>0
- \let\l@french\lang@french
- \else
- \FB@nopatterns{French}
- \fi
- \fi
-\fi
\def\bbl@tempa{francais}
\ifx\CurrentOption\bbl@tempa
\let\l@francais\l@french
@@ -82,15 +62,18 @@
\fi
\catcode`\@=\atcatcode \let\atcatcode\relax
\LdfInit\CurrentOption\captionsfrench
-\let\bbl@tempa\relax
-\ifx\StartBabelCommands\@undefined
- \let\bbl@tempa\endinput
- \PackageError{frenchb.ldf}
- {frenchb requires babel v.3.9.\MessageBreak
- Aborting here}
- {Please upgrade Babel!}
+\def\FB@nopatterns{%
+ \ifx\l@nohyphenation\@undefined
+ \edef\bbl@nulllanguage{\string\language=0}%
+ \adddialect\l@french0
+ \else
+ \adddialect\l@french\l@nohyphenation
+ \edef\bbl@nulllanguage{\string\language=nohyphenation}%
+ \fi
+ \@nopatterns{French}}
+\ifx\l@french\@undefined
+ \FB@nopatterns
\fi
-\bbl@tempa
\newif\ifLaTeXe
\let\bbl@tempa\relax
\ifx\magnification\@undefined
@@ -105,6 +88,39 @@
\fi
\fi
\bbl@tempa
+\def\fb@error#1#2{%
+ \begingroup
+ \newlinechar=`\^^J
+ \def\\{^^J(frenchb.ldf) }%
+ \errhelp{#2}\errmessage{\\#1}%
+ \endgroup}
+\def\fb@warning#1{%
+ \begingroup
+ \newlinechar=`\^^J
+ \def\\{^^J(frenchb.ldf) }%
+ \message{\\#1}%
+ \endgroup}
+\def\fb@info#1{%
+ \begingroup
+ \newlinechar=`\^^J
+ \def\\{^^J}%
+ \wlog{#1}%
+ \endgroup}
+\let\bbl@tempa\relax
+\ifx\babeltags\@undefined
+ \let\bbl@tempa\endinput
+ \ifLaTeXe
+ \PackageError{frenchb.ldf}
+ {frenchb requires babel v.3.9i.\MessageBreak
+ Aborting here}
+ {Please upgrade Babel!}
+ \else
+ \fb@error{frenchb requires babel v.3.9i.\\
+ Aborting here}
+ {Please upgrade Babel!}
+ \fi
+\fi
+\bbl@tempa
\ifx\l@acadian\@undefined
\ifx\l@canadien\@undefined
\adddialect\l@acadian\l@french
@@ -123,18 +139,6 @@
\def\noextrascanadien{\extrasacadian}
\def\CurrentOption{acadian}
\fi
-\def\fb@warning#1{%
- \begingroup
- \newlinechar=`\^^J
- \def\\{^^J(frenchb.ldf) }%
- \message{\\#1}%
- \endgroup}
-\def\fb@info#1{%
- \begingroup
- \newlinechar=`\^^J
- \def\\{^^J}%
- \wlog{#1}%
- \endgroup}
\expandafter\providehyphenmins\expandafter{\CurrentOption}{\tw@\thr@@}
\newif\ifFBunicode
\newif\ifFBLuaTeX
@@ -197,7 +201,7 @@
\else
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname newluatexattribute\endcsname\relax
- \input luaotfload.sty
+ \input luatexbase.sty
\newluatexattribute\FB@addDPspace \FB@addDPspace=1 \relax
\newluatexattribute\FB@addGUILspace \FB@addGUILspace=0 \relax
\fb@info{No need for active punctuation characters\\
@@ -320,15 +324,15 @@
\XeTeXinterchartoks 255 \FB@punctthin = {%
\ifhmode\unskip\penalty\@M\FBthinspace\fi}%
\XeTeXinterchartoks \FB@guilo \z@ = {%
- \ifFBAutoSpaceGuill\FBguill@spacing\fi}%
+ \ifFBAutoSpaceGuill\FBguillspace\fi}%
\XeTeXinterchartoks \FB@guilo 255 = {%
- \ifFBAutoSpaceGuill\FBguill@spacing\ignorespaces\fi}%
+ \ifFBAutoSpaceGuill\FBguillspace\ignorespaces\fi}%
\XeTeXinterchartoks \z@ \FB@guilf = {%
- \ifFBAutoSpaceGuill\FBguill@spacing\fi}%
+ \ifFBAutoSpaceGuill\FBguillspace\fi}%
\XeTeXinterchartoks \FB@punctthin \FB@guilf = {%
- \ifFBAutoSpaceGuill\FBguill@spacing\fi}%
+ \ifFBAutoSpaceGuill\FBguillspace\fi}%
\XeTeXinterchartoks 255 \FB@guilf = {%
- \ifFBAutoSpaceGuill\unskip\FBguill@spacing\fi}%
+ \ifFBAutoSpaceGuill\unskip\FBguillspace\fi}%
\@for\FB@char:={`\[,`\(,"A0,"202F}\do
{\XeTeXcharclass\FB@char=\FB@punctnul}%
\@for\FB@char:={`\{,`\,,`\.,`\-,`\),`\],`\},`\%,%
@@ -438,9 +442,6 @@
\AutoSpaceBeforeFDP
\fi
\ifLaTeXe
- %\let\ttfamilyORI\ttfamily
- %\let\rmfamilyORI\rmfamily
- %\let\sffamilyORI\sffamily
\DeclareRobustCommand\ttfamilyFB{%
\FBAutoSpaceGuillfalse
\ifFB@luatex@punct\FB@addGUILspace=0 \fi
@@ -490,9 +491,9 @@
\fi
\newskip\FBguillskip
\FBguillskip=2.664pt plus 0.500pt minus 0.888pt \relax
-\newcommand*{\FBguill@spacing}{\penalty\@M\hskip.8\fontdimen2\font
- plus.3\fontdimen3\font
- minus.8\fontdimen4\font}
+\newcommand*{\FBguillspace}{\penalty\@M\hskip.8\fontdimen2\font
+ plus.3\fontdimen3\font
+ minus.8\fontdimen4\font}
\ifFB@luatex@punct
\DeclareRobustCommand*{\FB@og}{\leavevmode
\bgroup\FB@addGUILspace=1 \guillemotleft\egroup}
@@ -502,17 +503,17 @@
\ifFB@xetex@punct
\DeclareRobustCommand*{\FB@og}{\leavevmode
\bgroup\FBAutoSpaceGuillfalse\guillemotleft\egroup
- \FBguill@spacing}
+ \FBguillspace}
\DeclareRobustCommand*{\FB@fg}{\ifdim\lastskip>\z@\unskip\fi
- \FBguill@spacing
+ \FBguillspace
\bgroup\FBAutoSpaceGuillfalse\guillemotright\egroup\xspace}
\fi
\ifFB@active@punct
\DeclareRobustCommand*{\FB@og}{\leavevmode
\guillemotleft
- \FBguill@spacing}
+ \FBguillspace}
\DeclareRobustCommand*{\FB@fg}{\ifdim\lastskip>\z@\unskip\fi
- \FBguill@spacing
+ \FBguillspace
\guillemotright\xspace}
\fi
\ifLaTeXe
@@ -889,6 +890,7 @@
\newif\ifFBAutoSpaceFootnotes \FBAutoSpaceFootnotesfalse
\newif\ifFBOriginalTypewriter \FBOriginalTypewriterfalse
\newif\ifFBThinColonSpace \FBThinColonSpacefalse
+\newif\ifFBINGuillSpace \FBINGuillSpacefalse
\newif\ifFBThinSpaceInFrenchNumbers \FBThinSpaceInFrenchNumbersfalse
\newif\ifFBFrenchSuperscripts \FBFrenchSuperscriptstrue
\newif\ifFBLowercaseSuperscripts \FBLowercaseSuperscriptstrue
@@ -901,10 +903,14 @@
\AtEndOfPackage{%
\ifx\bbl@main@language\FB@french
\FBGlobalLayoutFrenchtrue
- \FBReduceListSpacingtrue
- \FBStandardItemizeEnvfalse
- \FBStandardEnumerateEnvfalse
- \FBStandardItemLabelsfalse
+ \@ifclassloaded{beamer}%
+ {\PackageInfo{frenchb.ldf}{%
+ No list customisation for the beamer class,%
+ \MessageBreak reported}}%
+ {\FBReduceListSpacingtrue
+ \FBStandardItemizeEnvfalse
+ \FBStandardEnumerateEnvfalse
+ \FBStandardItemLabelsfalse}%
\FBIndentFirsttrue
\FBFrenchFootnotestrue
\FBAutoSpaceFootnotestrue
@@ -1004,6 +1010,8 @@
{\csname FBOriginalTypewriter#1\endcsname}%
\define@key{FB}{ThinColonSpace}[true]%
{\csname FBThinColonSpace#1\endcsname}%
+ \define@key{FB}{INGuillSpace}[true]%
+ {\csname FBINGuillSpace#1\endcsname}%
\define@key{FB}{ThinSpaceInFrenchNumbers}[true]%
{\csname FBThinSpaceInFrenchNumbers#1\endcsname}%
\define@key{FB}{FrenchSuperscripts}[true]%
@@ -1196,7 +1204,14 @@
\ifFB@luatex@punct
\FBcolonskip=\FBthinskip\relax
\else
- \renewcommand*{\FBcolonspace}{\FBthinspace}%
+ \renewcommand*{\FBcolonspace}{\FBthinspace}%
+ \fi
+ \fi
+ \ifFBINGuillSpace
+ \ifFB@luatex@punct
+ \FBguillskip=3.33pt plus 1.665pt minus 1.11pt \relax
+ \else
+ \renewcommand*{\FBguillspace}{\space}%
\fi
\fi
\@ifpackageloaded{numprint}%
@@ -1276,12 +1291,14 @@
AutoSpacePunctuation=false [true]\MessageBreak
OriginalTypewriter=true [false]\MessageBreak
ThinColonSpace=true [false]\MessageBreak
+ INGuillSpace=true [false]\MessageBreak
ThinSpaceInFrenchNumbers=true [false]\MessageBreak
FrenchSuperscripts=false [true]\MessageBreak
LowercaseSuperscripts=false [true]\MessageBreak
PartNameFull=false [true]\MessageBreak
SuppressWarning=true [false]\MessageBreak
CustomiseFigTabCaptions=false [true]\MessageBreak
+ OldFigTabCaptions=true [false]\MessageBreak
og= <left quote character>, fg= <right quote character>%
\MessageBreak
*********************************************%
diff --git a/Master/texmf-dist/tex/generic/babel-french/frenchb.lua b/Master/texmf-dist/tex/generic/babel-french/frenchb.lua
index 7d0ffb50de4..253cbdfaac7 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 [2014/03/14 v3.0b]
+-- File `frenchb.lua' generated from frenchb.dtx [2014/04/18 v3.0c]
--
-- Copyright (C) 2014 Daniel Flipo <daniel.flipo at free.fr>
-- License LPPL: see frenchb.dtx.
@@ -87,6 +87,12 @@ local function french_punctuation (head)
end
end
local glue = prev_id == GLUE and prev_subtype == 0
+ local glue_wd
+ if glue then
+ glue_spec = prev.spec
+ glue_wd = glue_spec.width
+ end
+ glue = glue and glue_wd > 0
if FB_punct_thin[char] or FB_punct_thick[char] then
local SBDP = has_attribute(item, addDPspace)
local fbglue
@@ -97,8 +103,9 @@ local function french_punctuation (head)
end
local auto =
SBDP and SBDP > 0 and
- (prev_char and not FB_punct_null[prev_char]) or
- (not prev_char and (prev_id ~= 0 or prev_subtype ~= 3))
+ ((prev_char and not FB_punct_null[prev_char]) or
+ (not prev_char and (prev_id ~= 0 or prev_subtype ~= 3))
+ )
if glue or auto then
if glue then
head = remove_node(head,prev,true)
@@ -128,6 +135,11 @@ local function french_punctuation (head)
end
end
local glue = next_id == GLUE and next_subtype == 0
+ if glue then
+ glue_spec = next.spec
+ glue_wd = glue_spec.width
+ end
+ glue = glue and glue_wd > 0
if glue or (next_char and not FB_guil_null[next_char]) then
if glue then
head = remove_node(head,next,true)