summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-09-04 21:47:43 +0000
committerKarl Berry <karl@freefriends.org>2019-09-04 21:47:43 +0000
commit9c2d59c2078da9c770a3e1015d0c10f2bcf9a990 (patch)
tree2d0728f2c9a629068fe8aaf826d11df128e8ed33 /Master/texmf-dist/tex
parentc4cb06bcb40148c656940017dc96601c6bd2f5d8 (diff)
e-french (4sep19)
git-svn-id: svn://tug.org/texlive/trunk@52027 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/generic/e-french/french-msg.tex3
-rw-r--r--Master/texmf-dist/tex/generic/e-french/french.sty171
-rw-r--r--Master/texmf-dist/tex/generic/e-french/french_french-msg.tex3
3 files changed, 126 insertions, 51 deletions
diff --git a/Master/texmf-dist/tex/generic/e-french/french-msg.tex b/Master/texmf-dist/tex/generic/e-french/french-msg.tex
index 7db46b54312..72b1662025b 100644
--- a/Master/texmf-dist/tex/generic/e-french/french-msg.tex
+++ b/Master/texmf-dist/tex/generic/e-french/french-msg.tex
@@ -196,6 +196,9 @@
\msg*{93}{You are using two French options for Babel, %
\MessageBreak %
please choose only one.}{}
+\msg{94}{A modification of ponctuation rules (#1) \MessageBreak%
+ is no more allowed after having used an active punctuation\MessageBreak %
+ (\string! \string? \string; \string: \string<\string< or \string>\string>).}{}
\msgheader{-**-\space}
\msg*{**a}{\frenchpack\space serial number is *\@FrVal*.}{}
\msg*{**b}{\@FrVal\space of \frenchpack.}{}
diff --git a/Master/texmf-dist/tex/generic/e-french/french.sty b/Master/texmf-dist/tex/generic/e-french/french.sty
index ba3fea5a627..40092707f69 100644
--- a/Master/texmf-dist/tex/generic/e-french/french.sty
+++ b/Master/texmf-dist/tex/generic/e-french/french.sty
@@ -10,11 +10,11 @@
\ifx\@unexpandable@protect\undefined\let\protect\empty%
\else\let\protect\@unexpandable@protect%
\fi%
- \xdef\FSfd{31 mai 2019}% eFrench
- \xdef\FSfv{V6,101}%
+ \xdef\FSfd{6 septembre 2019}% eFrench
+ \xdef\FSfv{V6,11}%
\xdef\frenchstyleid{\FSfv\space-- \FSfd\space --}%
}}%
- \edef\FSfd{2019/05/31}%
+ \edef\FSfd{2019/09/06}%
\NeedsTeXFormat{LaTeX2e}[1996/12/01]%
% > utf8 and NoEncode specialities
\newif\ifeF@NoEnc %No encoding (XeTex, LuaLaTex)
@@ -29,6 +29,7 @@
\else
\eF@LuaTeXtrue \eF@NoEnctrue
\fi
+% in order to follow by interchartoks
\newif\ifeFr@Typo\eFr@Typotrue
% In order having no encoding by messages declare this :
\let\kbencoding\@gobble
@@ -115,6 +116,37 @@
}%
\fi%
\fi%
+%
+\newif\ifeFr@DPtfine
+\newif\ifeFr@Guifine
+\newif\ifUSP@GuiFinSpa % for OG
+\newif\ifPonctu@ctived %
+\def\nbsp@ce{\penalty\@M\space}
+\def\fispce@rigide{\,}%
+\def\eFrFinSp@ce{\penalty\@M%
+ \hskip 0.5\fontdimen2\font}%
+\def\MonEspaceFine#1#2#3{\def\eFrFinSp@ce{\penalty\@M%
+ \hskip #1\fontdimen2\font%
+ plus #2\fontdimen3\font%
+ minus #3\fontdimen4\font}
+}%
+\def\eFr@OGsp@cSpl{\ifeFr@Guifine\eFrFinSp@ce
+ \else\nbsp@ce\fi\ignorespaces}
+% for the user: fine, France or Frenchpro
+\def\NobrkSpacesFine{\ifPonctu@ctived
+ \f@issue\@fw{-94-}[NobrkSpacesFine]
+ \else\eFr@DPtfinetrue\eFr@Guifinetrue % espaces fines
+ \fi}
+\def\NobrkSpacesFpro{\ifPonctu@ctived
+ \f@issue\@fw{-94-}[NobrkSpacesFpro]
+ \else\eFr@DPtfinetrue\eFr@Guifinefalse% comme Frenchpro
+ \fi}
+\def\NobrkSpacesINFr{\ifPonctu@ctived
+ \f@issue\@fw{-94-}[NobrkSpacesINFr]
+ \else\eFr@DPtfinefalse\eFr@Guifinefalse %
+% [Imprimerie Nationale de France
+ \fi}
+%that was for adaptations high-punct and guillem
\fontencoding{\encodingdefault}\selectfont%
\def\@temp@{OT1}\ifx\@temp@\f@encoding%
\def\@temp@{\global\ECMfalse}%
@@ -1392,6 +1424,7 @@
\batchmode\@@end%
\fi%
\let\@Ffnt\ErrFrench\let\ErrFrench\undefined%
+ \NobrkSpacesFpro%
\IfFileExists{\frenchname.cfg}{%
\f@issue%
\@fw{-48- %
@@ -2328,19 +2361,20 @@
\def\@WTS{\relax\ifmmode\else\ifhmode%
\ifdim\lastskip>\z@\unskip\fi%
\fi\fi}%
+%
% > for XeLaTex ******
-% de gloss-french
+% inspired from gloss-french
\def\intercharpunct{%
% \lccode\lccode8217=8217
\XeTeXinterchartokenstate=1
\XeTeXcharclass `\! \french@punctthin
\XeTeXcharclass `\? \french@punctthin
\XeTeXcharclass `\; \french@punctthin
- \XeTeXcharclass `\: \french@punctthick
- \XeTeXinterchartoks \z@ \french@punctthin = {\nobreak\thinspace}%
- \XeTeXinterchartoks \z@ \french@punctthick = {\nobreakspace}%
+ \XeTeXcharclass `\: \french@semicolon
+ \XeTeXinterchartoks \z@ \french@punctthin = {\ifUSP\nobreak\thinspace\fi}%
+ \XeTeXinterchartoks \z@ \french@semicolon = {\ifUSP\ifeFr@DPtfine\nobreak\thinspace\else\nobreakspace\fi\fi}%
\XeTeXinterchartoks 4095 \french@punctthin = {\efr@unskip\nobreak\thinspace}%
- \XeTeXinterchartoks 4095 \french@punctthick = {\efr@unskip\nobreakspace}%
+ \XeTeXinterchartoks 4095 \french@semicolon = {\efr@unskip\ifeFr@DPtfine\nobreak\thinspace\else\nobreakspace\fi}%
}
\def\nointercharpunct{%
% \lccode8217=\z@
@@ -2363,7 +2397,7 @@
\fi
\ifeF@xetex@punct
\newXeTeXintercharclass\french@punctthin % ! ? ; et autres
- \newXeTeXintercharclass\french@punctthick % :
+ \newXeTeXintercharclass\french@semicolon % :
%
\def\efr@unskip{\ifhmode\ifdim\lastskip>\z@\unskip\fi\fi}
\def\xpg@nospace#1{#1}
@@ -2384,9 +2418,10 @@
\def\@tempd{\@tempa{\string;}}%
\ifx;\undefined\def\@tempd{}\fi\@tempd\@tempc%
\def\@PV{\relax\ifmmode\string;\else%
- \ifhmode\ifUSP\unskip\space\fi%
- \ifdim\lastskip>\z@\unskip\penalty\@M\,\fi%
- \fi\string;\fi}%
+ \Ponctu@ctivedtrue
+ \ifhmode\ifUSP\unskip\space\fi%
+ \ifdim\lastskip>\z@\unskip\eFrFinSp@ce\fi%
+ \fi\string;\fi}%
\def\@tempc{%
\def:{\ifFTY\protect\@DP%
\else\ifWTS\@WTS\fi\string:\fi}%
@@ -2395,10 +2430,13 @@
\ifx:\undefined\def\@tempd{}\fi\@tempd\@tempc%
\@ifundefined{@beginparpenalty}{\def\@beginparpenalty=#1{\penalty#1}}{}%
\def\@DP{\relax\ifmmode\string:\else%
- \ifhmode\ifUSP\unskip\space\fi%
- \ifdim\lastskip>\z@\unskip\penalty\@M\,\fi%
- \fi%
- \string:%
+\Ponctu@ctivedtrue
+\ifeFr@DPtfine\let\eFresp@dpt=\eFrFinSp@ce
+ \else\let\eFresp@dpt=\nbsp@ce\fi
+ \ifhmode\ifUSP\unskip\space\fi%
+ \ifdim\lastskip>\z@\unskip\eFresp@dpt\fi%
+ \fi%
+ \string:%
\@beginparpenalty=\@M\relax%
\fi}%
\def\@wu#1{\@@wu#1,\void}%
@@ -2418,10 +2456,11 @@
\def\@tempd{\@tempa{\string!}}%
\ifx!\undefined\def\@tempd{}\fi\@tempd\@tempc%
\def\@PE{\ifmmode\string!\else%
- \ifhmode\ifUSP\unskip\space\fi%
- \ifdim\lastskip>\z@\unskip\penalty\@M\,\fi%
- \fi%
- \string!\fi}%
+ \Ponctu@ctivedtrue
+ \ifhmode\ifUSP\unskip\space\fi%
+ \ifdim\lastskip>\z@\unskip\eFrFinSp@ce\fi%
+ \fi%
+ \string!\fi}%
\def\@tempc{%
\def?{\ifFTY\protect\@PI%
\else\ifWTS\@WTS\fi\string?\fi}%
@@ -2429,12 +2468,12 @@
\def\@tempd{\@tempa{\string?}}%
\ifx?\undefined\def\@tempd{}\fi\@tempd\@tempc%
\def\@PI{\relax\ifmmode\string?\else%
- \ifhmode\ifUSP\unskip\space\fi%
- \ifdim\lastskip>\z@\unskip\penalty\@M%
- \hskip +0.09em plus 0.07667em%
- \fi%
- \fi%
- \string?\fi}%
+ \Ponctu@ctivedtrue
+ \ifhmode\ifUSP\unskip\space\fi%
+ \ifdim\lastskip>\z@\unskip\eFrFinSp@ce%
+ \fi%
+ \fi%
+ \string?\fi}%
\ifx\@tempb\next\let\AFPdp\empty\f@issue%
\@fw{-13b- %
\@txt@msg{la double ponctuation est alors d\'esactiv\'ee}}\fi%
@@ -2518,35 +2557,55 @@
\advance\@FrDimen by -\leftmargin\advance\@FrDimen by -\rightmargin%
\advance\@FrDimen by -\listparindent\hsize=\@FrDimen}%
\@qquotes\fi\fi\fi%
+ \sp@inogfalse%
\@oguills%
\ifFLA\ifEPG\bgroup\def\@currenvir{guillemets}%
\let\@CGroup\egroup\fi\fi%
\ifCG\ifFLA\ifEPG%
\xdef\@epORI{{\the\TeXeverypar}}%
\TeXeverypar={\@epORI%
- \ifEPGR\else%
- \@oguills%
+ \ifEPGR\else\@AG% -guide du typographe
+ \sp@inogtrue%
+ \@oguills% begin of paragraph
\@ifundefined{@OuvOpen}{%
- \,%
+ %\,% space in @oguil
}{}%
\fi}%
\fi\fi%
- \else\@SifDOGon\@AG%
+ \else\@SifDOGon\@AG% in a citation
\ifFLA\ifEPG\else\def\@qqguill{\@oguills}\@staring\fi\fi\fi%
\global\let\ifCG\iffalse%
- \ifUSP\kern+0.13em\penalty\@M\ignorespaces%
- \else\kern-0.19em\relax\penalty\@M\fi}%
+ \ifeFr@Guifine\USP@GuiFinSpatrue% OG full space not used
+ \let\eFresp@gui=\eFrFinSp@ce% OG fine unbreakable space
+ \else\USP@GuiFinSpafalse% OG full space possible
+ \let\eFresp@gui=\nbsp@ce% OG full unbreakable space
+ \fi%
+ \Ponctu@ctivedtrue
+ \ifUSP\USP@GuiFinSpatrue\fi% OG full space not used
+ \ifUSP@GuiFinSpa\eFr@OGsp@cSpl%
+ \else\relax\penalty\@M\fi}%
+% \relax\ifeFr@Guifine\/\fi\penalty\@M}% space is following
\def\@AG{\ifAG\let\@LP\@RP\let\@gotl\@gotr%
\fi}%
\def\f@guillemets{<<}%
-\def\@oguills{%
+\newif\ifsp@inog
+\def\@oguills{%
+ \ifeFr@Guifine%
+ \let\eFresp@gui=\eFrFinSp@ce%
+ \else\let\eFresp@gui=\nbsp@ce% no space to be made unbreakable
+ \fi%
+ \Ponctu@ctivedtrue
\bgroup\@ifundefined{@OuvOpen}{\def\@OuvOpen{}%
\@ifundefined{ly}{\@og}%
{\leavevmode\ifECM\hbox{{\ifGIAF\else\@gfnt\fi%
- \ifx\@gotl\undefined\char\rq\@LP%
- \else\@gotl\fi\kern+0.20em}}%
- \else\hbox{{\ly\@LP\kern-0.20em\@LP\kern+0.20em}}\fi%
- \nobreak}}{}\egroup}%
+ \ifx\@gotl\undefined\char\rq\@LP%
+ \else\@gotl\fi%
+ \ifeFr@Guifine%
+ \let\eFresp@gui=\eFrFinSp@ce%
+ \else\let\eFresp@gui=\nbsp@ce\fi%
+ \ifsp@inog\eFresp@gui\fi}}% V6,11 RJ
+ \else\hbox{{\ly\@LP\kern-0.20em\@LP\kern+0.20em}}\fi%
+ \nobreak}}{}\egroup}%
\def\@@RFG{\ifFTY\ifmmode\protect\@RSG\else%
\ifIEB\@SFC\else\@RSG\fi%
\fi%
@@ -2572,17 +2631,20 @@
\else\let\@grORI\grammar\def\grammar{\nofrenchguillemets\@grORI}%
\fi%
+\newif\ifsp@infg
\def\@@FG{\ifCG\f@issue%
\@fw{-14- %
}\fi%
- \ifUSP\unskip\kern+0.13em\else%
- \ifdim\lastskip>\z@\unskip%
- \penalty\@M%
- \space%
- \penalty\@M%
- \fi%
- \kern-0.19em%
- \fi%
+ \Ponctu@ctivedtrue
+ \ifeFr@Guifine%
+ \USP@GuiFinSpatrue%
+ \fi%
+ \ifUSP\USP@GuiFinSpatrue\fi% FG full space not used
+ \ifUSP@GuiFinSpa\unskip\eFrFinSp@ce%
+ \else
+ \ifdim\lastskip>\z@\unskip\nbsp@ce\fi%
+ \fi
+ \sp@infgfalse
\xdef\@tempd{\@currenvir}\def\@tempe{guillemets}%
\ifx\@tempd\@tempe%
\@CGroup\@fguills%
@@ -2612,10 +2674,17 @@
\else\@staring\@stared\egroup\fi\fi%
\global\let\ifCG\iftrue\let\@CGroup\relax}%
\def\@fguills{\@ifundefined{ly}{\@cg}%
- {\nobreak\leavevmode\ifECM\hbox{{\ifGIAF\else\@gfnt\fi\kern+0.20em%
- \ifx\@gotr\undefined\char\rq\@RP%
- \else\@gotr\fi}}%
- \else\hbox{{\ly\kern+0.20em\@RP\kern-0.20em\@RP}}\fi}%
+ {\nobreak\leavevmode\ifECM\hbox{{\ifGIAF\else\@gfnt\fi%
+ \Ponctu@ctivedtrue
+ \ifsp@infg
+ \ifeFr@Guifine\let\eFresp@gui=\eFrFinSp@ce%
+ \else\let\eFresp@gui=\nbsp@ce\fi%
+ \ifUSP\unskip\space\fi
+ \ifdim\lastskip>\z@\unskip\eFresp@gui\fi
+ \fi
+ \ifx\@gotr\undefined\char\rq\@RP%
+ \else\@gotr\fi}}%
+ \else\hbox{{\ly\kern+0.20em\@RP\kern-0.20em\@RP}}\fi}%
\ifGIAF\else\ifdim\fontdimen\@ne\font>\z@\/\fi\fi%
}%
\def\@normalrq{\relax\ifmmode^\prime\else\@frq\fi}%
@@ -3142,8 +3211,8 @@
\ifFMA\@oguills%
\else<<\fi}%
\def\rightguillemets{\@noBDfr%
- \ifFMA\@fguills%
- \else>>\fi}%
+ \ifFMA\sp@infgtrue\@fguills%
+ \else>>\fi}%
\def\fup{\@noBDfr\ifFTY%
\expandafter\@fup\fi}\MakeRobustCommand{fup}%
\def\@fup{\@ifstar{\csname\string\!\endcsname\@@fup}{\@@fup}}%
diff --git a/Master/texmf-dist/tex/generic/e-french/french_french-msg.tex b/Master/texmf-dist/tex/generic/e-french/french_french-msg.tex
index ea3359faabc..da26e471abe 100644
--- a/Master/texmf-dist/tex/generic/e-french/french_french-msg.tex
+++ b/Master/texmf-dist/tex/generic/e-french/french_french-msg.tex
@@ -203,6 +203,9 @@
\msg*{93}{Vous utilisez deux options de francisation avec Babel, %
\MessageBreak %
merci d'en choisir une seule.}{}
+\msg{94}{Le changement de ponctuation (#1) \MessageBreak%
+ n'est plus permis apr\`es une utilisation de ponctuation active\MessageBreak %
+ (\string! \string? \string; \string: \string<\string< \string>\string>).}{}
\msgheader{-**-\space}
\msg*{**a}{Le num\'ero de s\'erie de \frenchpack\space est *\@FrVal*.}{}
\msg*{**b}{\@FrVal\space of \frenchpack.}{}